Upload Tizen:Base source
authorKim Kibum <kb0929.kim@samsung.com>
Mon, 21 May 2012 08:50:39 +0000 (17:50 +0900)
committerKim Kibum <kb0929.kim@samsung.com>
Mon, 21 May 2012 08:50:39 +0000 (17:50 +0900)
749 files changed:
ABOUT-NLS [new file with mode: 0644]
AUTHORS [new file with mode: 0644]
COPYING [new file with mode: 0644]
DEPRECATED [new file with mode: 0644]
INSTALL [new file with mode: 0644]
Makefile.am [new file with mode: 0644]
Makefile.in [new file with mode: 0644]
NEWS [new file with mode: 0644]
README [new file with mode: 0644]
README.devel [new file with mode: 0644]
README.licensing [new file with mode: 0644]
TODO [new file with mode: 0644]
aclocal.m4 [new file with mode: 0644]
autogen.sh [new file with mode: 0755]
config.h.in [new file with mode: 0644]
config/config.guess [new file with mode: 0755]
config/config.rpath [new file with mode: 0755]
config/config.sub [new file with mode: 0755]
config/depcomp [new file with mode: 0755]
config/include-Makefile.am [new file with mode: 0644]
config/install-sh [new file with mode: 0755]
config/ltmain.sh [new file with mode: 0755]
config/missing [new file with mode: 0755]
config/mkinstalldirs [new file with mode: 0755]
config/texinfo.tex [new file with mode: 0644]
configure [new file with mode: 0755]
configure.ac [new file with mode: 0644]
disk-utils/Makefile.am [new file with mode: 0644]
disk-utils/Makefile.in [new file with mode: 0644]
disk-utils/blockdev.8 [new file with mode: 0644]
disk-utils/blockdev.c [new file with mode: 0644]
disk-utils/cramfs.h [new file with mode: 0644]
disk-utils/cramfs_common.c [new file with mode: 0644]
disk-utils/cramfs_common.h [new file with mode: 0644]
disk-utils/elvtune.8 [new file with mode: 0644]
disk-utils/elvtune.c [new file with mode: 0644]
disk-utils/fdformat.8 [new file with mode: 0644]
disk-utils/fdformat.c [new file with mode: 0644]
disk-utils/fsck.cramfs.c [new file with mode: 0644]
disk-utils/fsck.minix.8 [new file with mode: 0644]
disk-utils/fsck.minix.c [new file with mode: 0644]
disk-utils/isosize.8 [new file with mode: 0644]
disk-utils/isosize.c [new file with mode: 0644]
disk-utils/minix.h [new file with mode: 0644]
disk-utils/mkfs.8 [new file with mode: 0644]
disk-utils/mkfs.bfs.8 [new file with mode: 0644]
disk-utils/mkfs.bfs.c [new file with mode: 0644]
disk-utils/mkfs.c [new file with mode: 0644]
disk-utils/mkfs.cramfs.c [new file with mode: 0644]
disk-utils/mkfs.minix.8 [new file with mode: 0644]
disk-utils/mkfs.minix.c [new file with mode: 0644]
disk-utils/mkswap.8 [new file with mode: 0644]
disk-utils/mkswap.c [new file with mode: 0644]
disk-utils/raw.8 [new file with mode: 0644]
disk-utils/raw.c [new file with mode: 0644]
docs/v2.13-ReleaseNotes [new file with mode: 0644]
docs/v2.14-ReleaseNotes [new file with mode: 0644]
docs/v2.15-ReleaseNotes [new file with mode: 0644]
docs/v2.16-ReleaseNotes [new file with mode: 0644]
docs/v2.16.1-ReleaseNotes [new file with mode: 0644]
docs/v2.16.2-ReleaseNotes [new file with mode: 0644]
example.files/filesystems [new file with mode: 0644]
example.files/fstab [new file with mode: 0644]
example.files/inittab [new file with mode: 0644]
example.files/issue [new file with mode: 0644]
example.files/issue0 [new file with mode: 0644]
example.files/motd [new file with mode: 0644]
example.files/securetty [new file with mode: 0644]
example.files/shells [new file with mode: 0644]
example.files/udev-raw.rules [new file with mode: 0644]
fdisk/Makefile.am [new file with mode: 0644]
fdisk/Makefile.in [new file with mode: 0644]
fdisk/README.cfdisk [new file with mode: 0644]
fdisk/README.fdisk [new file with mode: 0644]
fdisk/cfdisk.8 [new file with mode: 0644]
fdisk/cfdisk.c [new file with mode: 0644]
fdisk/common.h [new file with mode: 0644]
fdisk/fdisk.8 [new file with mode: 0644]
fdisk/fdisk.c [new file with mode: 0644]
fdisk/fdisk.h [new file with mode: 0644]
fdisk/fdiskaixlabel.c [new file with mode: 0644]
fdisk/fdiskaixlabel.h [new file with mode: 0644]
fdisk/fdiskbsdlabel.c [new file with mode: 0644]
fdisk/fdiskbsdlabel.h [new file with mode: 0644]
fdisk/fdiskmaclabel.c [new file with mode: 0644]
fdisk/fdiskmaclabel.h [new file with mode: 0644]
fdisk/fdisksgilabel.c [new file with mode: 0644]
fdisk/fdisksgilabel.h [new file with mode: 0644]
fdisk/fdisksunlabel.c [new file with mode: 0644]
fdisk/fdisksunlabel.h [new file with mode: 0644]
fdisk/gpt.c [new file with mode: 0644]
fdisk/gpt.h [new file with mode: 0644]
fdisk/i386_sys_types.c [new file with mode: 0644]
fdisk/partitiontype.c [new file with mode: 0644]
fdisk/partname.c [new file with mode: 0644]
fdisk/sfdisk.8 [new file with mode: 0644]
fdisk/sfdisk.c [new file with mode: 0644]
fdisk/sfdisk.examples [new file with mode: 0644]
fsck/Makefile.am [new file with mode: 0644]
fsck/Makefile.in [new file with mode: 0644]
fsck/base_device.c [new file with mode: 0644]
fsck/fsck.8 [new file with mode: 0644]
fsck/fsck.c [new file with mode: 0644]
fsck/fsck.h [new file with mode: 0644]
getopt/COPYING [new file with mode: 0644]
getopt/Changelog [new file with mode: 0644]
getopt/Makefile.am [new file with mode: 0644]
getopt/Makefile.in [new file with mode: 0644]
getopt/README [new file with mode: 0644]
getopt/getopt-parse.bash [new file with mode: 0755]
getopt/getopt-parse.tcsh [new file with mode: 0755]
getopt/getopt-test.bash [new file with mode: 0755]
getopt/getopt-test.tcsh [new file with mode: 0755]
getopt/getopt.1 [new file with mode: 0644]
getopt/getopt.c [new file with mode: 0644]
hwclock/Makefile.am [new file with mode: 0644]
hwclock/Makefile.in [new file with mode: 0644]
hwclock/README.hwclock [new file with mode: 0644]
hwclock/clock-ppc.c [new file with mode: 0644]
hwclock/clock.h [new file with mode: 0644]
hwclock/cmos.c [new file with mode: 0644]
hwclock/hwclock.8 [new file with mode: 0644]
hwclock/hwclock.c [new file with mode: 0644]
hwclock/kd.c [new file with mode: 0644]
hwclock/rtc.c [new file with mode: 0644]
include/Makefile.am [new file with mode: 0644]
include/Makefile.in [new file with mode: 0644]
include/bitops.h [new file with mode: 0644]
include/blkdev.h [new file with mode: 0644]
include/canonicalize.h [new file with mode: 0644]
include/carefulputc.h [new file with mode: 0644]
include/env.h [new file with mode: 0644]
include/fsprobe.h [new file with mode: 0644]
include/ismounted.h [new file with mode: 0644]
include/linux_reboot.h [new file with mode: 0644]
include/linux_version.h [new file with mode: 0644]
include/md5.h [new file with mode: 0644]
include/nls.h [new file with mode: 0644]
include/pathnames.h [new file with mode: 0644]
include/pttype.h [new file with mode: 0644]
include/setproctitle.h [new file with mode: 0644]
include/swapheader.h [new file with mode: 0644]
include/wholedisk.h [new file with mode: 0644]
include/widechar.h [new file with mode: 0644]
include/xstrncpy.h [new file with mode: 0644]
lib/Makefile.am [new file with mode: 0644]
lib/Makefile.in [new file with mode: 0644]
lib/blkdev.c [new file with mode: 0644]
lib/canonicalize.c [new file with mode: 0644]
lib/env.c [new file with mode: 0644]
lib/fsprobe.c [new file with mode: 0644]
lib/ismounted.c [new file with mode: 0644]
lib/linux_version.c [new file with mode: 0644]
lib/md5.c [new file with mode: 0644]
lib/pttype.c [new file with mode: 0644]
lib/setproctitle.c [new file with mode: 0644]
lib/wholedisk.c [new file with mode: 0644]
licenses/COPYING.GPL [new file with mode: 0644]
licenses/COPYING.UCB [new file with mode: 0644]
login-utils/Makefile.am [new file with mode: 0644]
login-utils/Makefile.in [new file with mode: 0644]
login-utils/README.getty [new file with mode: 0644]
login-utils/README.modems-with-agetty [new file with mode: 0644]
login-utils/README.poeigl [new file with mode: 0644]
login-utils/agetty.8 [new file with mode: 0644]
login-utils/agetty.c [new file with mode: 0644]
login-utils/checktty.c [new file with mode: 0644]
login-utils/chfn.1 [new file with mode: 0644]
login-utils/chfn.c [new file with mode: 0644]
login-utils/chsh.1 [new file with mode: 0644]
login-utils/chsh.c [new file with mode: 0644]
login-utils/fastboot.8 [new file with mode: 0644]
login-utils/fasthalt.8 [new file with mode: 0644]
login-utils/halt.8 [new file with mode: 0644]
login-utils/initctl.8 [new file with mode: 0644]
login-utils/initctl.c [new file with mode: 0644]
login-utils/islocal.c [new file with mode: 0644]
login-utils/islocal.h [new file with mode: 0644]
login-utils/last.1 [new file with mode: 0644]
login-utils/last.c [new file with mode: 0644]
login-utils/login.1 [new file with mode: 0644]
login-utils/login.c [new file with mode: 0644]
login-utils/login.h [new file with mode: 0644]
login-utils/mesg.1 [new file with mode: 0644]
login-utils/mesg.c [new file with mode: 0644]
login-utils/my_crypt.h [new file with mode: 0644]
login-utils/newgrp.1 [new file with mode: 0644]
login-utils/newgrp.c [new file with mode: 0644]
login-utils/reboot.8 [new file with mode: 0644]
login-utils/selinux_utils.c [new file with mode: 0644]
login-utils/selinux_utils.h [new file with mode: 0644]
login-utils/setpwnam.c [new file with mode: 0644]
login-utils/setpwnam.h [new file with mode: 0644]
login-utils/shutdown.8 [new file with mode: 0644]
login-utils/shutdown.c [new file with mode: 0644]
login-utils/simpleinit.8 [new file with mode: 0644]
login-utils/simpleinit.c [new file with mode: 0644]
login-utils/simpleinit.h [new file with mode: 0644]
login-utils/ttymsg.c [new file with mode: 0644]
login-utils/ttymsg.h [new file with mode: 0644]
login-utils/vigr.8 [new file with mode: 0644]
login-utils/vipw.8 [new file with mode: 0644]
login-utils/vipw.c [new file with mode: 0644]
login-utils/wall.1 [new file with mode: 0644]
login-utils/wall.c [new file with mode: 0644]
m4/gettext.m4 [new file with mode: 0644]
m4/iconv.m4 [new file with mode: 0644]
m4/lib-ld.m4 [new file with mode: 0644]
m4/lib-link.m4 [new file with mode: 0644]
m4/lib-prefix.m4 [new file with mode: 0644]
m4/libtool.m4 [new file with mode: 0644]
m4/ltoptions.m4 [new file with mode: 0644]
m4/ltsugar.m4 [new file with mode: 0644]
m4/ltversion.m4 [new file with mode: 0644]
m4/lt~obsolete.m4 [new file with mode: 0644]
m4/nls.m4 [new file with mode: 0644]
m4/po.m4 [new file with mode: 0644]
m4/progtest.m4 [new file with mode: 0644]
m4/tls.m4 [new file with mode: 0644]
misc-utils/Makefile.am [new file with mode: 0644]
misc-utils/Makefile.in [new file with mode: 0644]
misc-utils/README.cal [new file with mode: 0644]
misc-utils/README.ddate [new file with mode: 0644]
misc-utils/README.flushb [new file with mode: 0644]
misc-utils/README.namei [new file with mode: 0644]
misc-utils/README.namei2 [new file with mode: 0644]
misc-utils/README.reset [new file with mode: 0644]
misc-utils/blkid.8 [new file with mode: 0644]
misc-utils/blkid.c [new file with mode: 0644]
misc-utils/cal.1 [new file with mode: 0644]
misc-utils/cal.c [new file with mode: 0644]
misc-utils/chkdupexe.1 [new file with mode: 0644]
misc-utils/chkdupexe.pl [new file with mode: 0755]
misc-utils/ddate.1 [new file with mode: 0644]
misc-utils/ddate.c [new file with mode: 0644]
misc-utils/findfs.8 [new file with mode: 0644]
misc-utils/findfs.c [new file with mode: 0644]
misc-utils/kill.1 [new file with mode: 0644]
misc-utils/kill.c [new file with mode: 0644]
misc-utils/kill.h [new file with mode: 0644]
misc-utils/logger.1 [new file with mode: 0644]
misc-utils/logger.c [new file with mode: 0644]
misc-utils/look.1 [new file with mode: 0644]
misc-utils/look.c [new file with mode: 0644]
misc-utils/mcookie.1 [new file with mode: 0644]
misc-utils/mcookie.c [new file with mode: 0644]
misc-utils/namei.1 [new file with mode: 0644]
misc-utils/namei.c [new file with mode: 0644]
misc-utils/procs.c [new file with mode: 0644]
misc-utils/rename.1 [new file with mode: 0644]
misc-utils/rename.c [new file with mode: 0644]
misc-utils/reset [new file with mode: 0644]
misc-utils/reset.033c [new file with mode: 0755]
misc-utils/reset.1 [new file with mode: 0644]
misc-utils/script.1 [new file with mode: 0644]
misc-utils/script.c [new file with mode: 0644]
misc-utils/scriptreplay.1 [new file with mode: 0644]
misc-utils/scriptreplay.c [new file with mode: 0644]
misc-utils/setterm.1 [new file with mode: 0644]
misc-utils/setterm.c [new file with mode: 0644]
misc-utils/uuidd.8 [new file with mode: 0644]
misc-utils/uuidd.c [new file with mode: 0644]
misc-utils/uuidd.rc [new file with mode: 0644]
misc-utils/uuidgen.1 [new file with mode: 0644]
misc-utils/uuidgen.c [new file with mode: 0644]
misc-utils/whereis.1 [new file with mode: 0644]
misc-utils/whereis.c [new file with mode: 0644]
misc-utils/write.1 [new file with mode: 0644]
misc-utils/write.c [new file with mode: 0644]
mount/Makefile.am [new file with mode: 0644]
mount/Makefile.in [new file with mode: 0644]
mount/README.mount [new file with mode: 0644]
mount/devname.c [new file with mode: 0644]
mount/devname.h [new file with mode: 0644]
mount/fstab.5 [new file with mode: 0644]
mount/fstab.c [new file with mode: 0644]
mount/fstab.h [new file with mode: 0644]
mount/getusername.c [new file with mode: 0644]
mount/getusername.h [new file with mode: 0644]
mount/lomount.c [new file with mode: 0644]
mount/lomount.h [new file with mode: 0644]
mount/loop.h [new file with mode: 0644]
mount/losetup.8 [new file with mode: 0644]
mount/mount.8 [new file with mode: 0644]
mount/mount.c [new file with mode: 0644]
mount/mount_constants.h [new file with mode: 0644]
mount/mount_mntent.c [new file with mode: 0644]
mount/mount_mntent.h [new file with mode: 0644]
mount/sundries.c [new file with mode: 0644]
mount/sundries.h [new file with mode: 0644]
mount/swap_constants.h [new file with mode: 0644]
mount/swapoff.8 [new file with mode: 0644]
mount/swapon.8 [new file with mode: 0644]
mount/swapon.c [new file with mode: 0644]
mount/umount.8 [new file with mode: 0644]
mount/umount.c [new file with mode: 0644]
mount/xmalloc.c [new file with mode: 0644]
mount/xmalloc.h [new file with mode: 0644]
packaging/util-linux-ng.changes [new file with mode: 0644]
packaging/util-linux-ng.spec [new file with mode: 0644]
partx/Makefile.am [new file with mode: 0644]
partx/Makefile.in [new file with mode: 0644]
partx/addpart.8 [new file with mode: 0644]
partx/addpart.c [new file with mode: 0644]
partx/bsd.c [new file with mode: 0644]
partx/crc32.c [new file with mode: 0644]
partx/crc32.h [new file with mode: 0644]
partx/delpart.8 [new file with mode: 0644]
partx/delpart.c [new file with mode: 0644]
partx/dos.c [new file with mode: 0644]
partx/dos.h [new file with mode: 0644]
partx/efi.h [new file with mode: 0644]
partx/gpt.c [new file with mode: 0644]
partx/gpt.h [new file with mode: 0644]
partx/partx.8 [new file with mode: 0644]
partx/partx.c [new file with mode: 0644]
partx/partx.h [new file with mode: 0644]
partx/solaris.c [new file with mode: 0644]
partx/unixware.c [new file with mode: 0644]
po/Makefile.in.in [new file with mode: 0644]
po/Makevars [new file with mode: 0644]
po/POTFILES.in [new file with mode: 0644]
po/Rules-quot [new file with mode: 0644]
po/boldquot.sed [new file with mode: 0644]
po/ca.gmo [new file with mode: 0644]
po/ca.po [new file with mode: 0644]
po/cs.gmo [new file with mode: 0644]
po/cs.po [new file with mode: 0644]
po/da.gmo [new file with mode: 0644]
po/da.po [new file with mode: 0644]
po/de.gmo [new file with mode: 0644]
po/de.po [new file with mode: 0644]
po/en@boldquot.header [new file with mode: 0644]
po/en@quot.header [new file with mode: 0644]
po/es.gmo [new file with mode: 0644]
po/es.po [new file with mode: 0644]
po/et.gmo [new file with mode: 0644]
po/et.po [new file with mode: 0644]
po/eu.gmo [new file with mode: 0644]
po/eu.po [new file with mode: 0644]
po/fi.gmo [new file with mode: 0644]
po/fi.po [new file with mode: 0644]
po/fr.gmo [new file with mode: 0644]
po/fr.po [new file with mode: 0644]
po/hu.gmo [new file with mode: 0644]
po/hu.po [new file with mode: 0644]
po/id.gmo [new file with mode: 0644]
po/id.po [new file with mode: 0644]
po/insert-header.sin [new file with mode: 0644]
po/it.gmo [new file with mode: 0644]
po/it.po [new file with mode: 0644]
po/ja.gmo [new file with mode: 0644]
po/ja.po [new file with mode: 0644]
po/nl.gmo [new file with mode: 0644]
po/nl.po [new file with mode: 0644]
po/pl.gmo [new file with mode: 0644]
po/pl.po [new file with mode: 0644]
po/pt_BR.gmo [new file with mode: 0644]
po/pt_BR.po [new file with mode: 0644]
po/quot.sed [new file with mode: 0644]
po/remove-potcdate.sin [new file with mode: 0644]
po/ru.gmo [new file with mode: 0644]
po/ru.po [new file with mode: 0644]
po/sl.gmo [new file with mode: 0644]
po/sl.po [new file with mode: 0644]
po/stamp-po [new file with mode: 0644]
po/sv.gmo [new file with mode: 0644]
po/sv.po [new file with mode: 0644]
po/tr.gmo [new file with mode: 0644]
po/tr.po [new file with mode: 0644]
po/uk.gmo [new file with mode: 0644]
po/uk.po [new file with mode: 0644]
po/update-potfiles [new file with mode: 0755]
po/util-linux-ng.pot [new file with mode: 0644]
po/vi.gmo [new file with mode: 0644]
po/vi.po [new file with mode: 0644]
po/zh_CN.gmo [new file with mode: 0644]
po/zh_CN.po [new file with mode: 0644]
schedutils/Makefile.am [new file with mode: 0644]
schedutils/Makefile.in [new file with mode: 0644]
schedutils/chrt.1 [new file with mode: 0644]
schedutils/chrt.c [new file with mode: 0644]
schedutils/ionice.1 [new file with mode: 0644]
schedutils/ionice.c [new file with mode: 0644]
schedutils/taskset.1 [new file with mode: 0644]
schedutils/taskset.c [new file with mode: 0644]
shlibs/Makefile.am [new file with mode: 0644]
shlibs/Makefile.in [new file with mode: 0644]
shlibs/blkid/Makefile.am [new file with mode: 0644]
shlibs/blkid/Makefile.in [new file with mode: 0644]
shlibs/blkid/README.blkid [new file with mode: 0644]
shlibs/blkid/blkid.pc.in [new file with mode: 0644]
shlibs/blkid/libblkid.3 [new file with mode: 0644]
shlibs/blkid/src/Makefile.am [new file with mode: 0644]
shlibs/blkid/src/Makefile.in [new file with mode: 0644]
shlibs/blkid/src/blkid.h [new file with mode: 0644]
shlibs/blkid/src/blkid.sym [new file with mode: 0644]
shlibs/blkid/src/blkidP.h [new file with mode: 0644]
shlibs/blkid/src/cache.c [new file with mode: 0644]
shlibs/blkid/src/config.c [new file with mode: 0644]
shlibs/blkid/src/dev.c [new file with mode: 0644]
shlibs/blkid/src/devname.c [new file with mode: 0644]
shlibs/blkid/src/devno.c [new file with mode: 0644]
shlibs/blkid/src/encode.c [new file with mode: 0644]
shlibs/blkid/src/evaluate.c [new file with mode: 0644]
shlibs/blkid/src/getsize.c [new file with mode: 0644]
shlibs/blkid/src/list.h [new file with mode: 0644]
shlibs/blkid/src/llseek.c [new file with mode: 0644]
shlibs/blkid/src/probe.c [new file with mode: 0644]
shlibs/blkid/src/probers/Makefile.am [new file with mode: 0644]
shlibs/blkid/src/probers/Makefile.in [new file with mode: 0644]
shlibs/blkid/src/probers/adaptec_raid.c [new file with mode: 0644]
shlibs/blkid/src/probers/btrfs.c [new file with mode: 0644]
shlibs/blkid/src/probers/cramfs.c [new file with mode: 0644]
shlibs/blkid/src/probers/ddf_raid.c [new file with mode: 0644]
shlibs/blkid/src/probers/ext.c [new file with mode: 0644]
shlibs/blkid/src/probers/gfs.c [new file with mode: 0644]
shlibs/blkid/src/probers/hfs.c [new file with mode: 0644]
shlibs/blkid/src/probers/highpoint_raid.c [new file with mode: 0644]
shlibs/blkid/src/probers/hpfs.c [new file with mode: 0644]
shlibs/blkid/src/probers/iso9660.c [new file with mode: 0644]
shlibs/blkid/src/probers/isw_raid.c [new file with mode: 0644]
shlibs/blkid/src/probers/jfs.c [new file with mode: 0644]
shlibs/blkid/src/probers/jmicron_raid.c [new file with mode: 0644]
shlibs/blkid/src/probers/linux_raid.c [new file with mode: 0644]
shlibs/blkid/src/probers/lsi_raid.c [new file with mode: 0644]
shlibs/blkid/src/probers/luks.c [new file with mode: 0644]
shlibs/blkid/src/probers/lvm.c [new file with mode: 0644]
shlibs/blkid/src/probers/minix.c [new file with mode: 0644]
shlibs/blkid/src/probers/netware.c [new file with mode: 0644]
shlibs/blkid/src/probers/ntfs.c [new file with mode: 0644]
shlibs/blkid/src/probers/nvidia_raid.c [new file with mode: 0644]
shlibs/blkid/src/probers/ocfs.c [new file with mode: 0644]
shlibs/blkid/src/probers/probers.h [new file with mode: 0644]
shlibs/blkid/src/probers/promise_raid.c [new file with mode: 0644]
shlibs/blkid/src/probers/reiserfs.c [new file with mode: 0644]
shlibs/blkid/src/probers/romfs.c [new file with mode: 0644]
shlibs/blkid/src/probers/silicon_raid.c [new file with mode: 0644]
shlibs/blkid/src/probers/squashfs.c [new file with mode: 0644]
shlibs/blkid/src/probers/swap.c [new file with mode: 0644]
shlibs/blkid/src/probers/sysv.c [new file with mode: 0644]
shlibs/blkid/src/probers/udf.c [new file with mode: 0644]
shlibs/blkid/src/probers/ufs.c [new file with mode: 0644]
shlibs/blkid/src/probers/vfat.c [new file with mode: 0644]
shlibs/blkid/src/probers/via_raid.c [new file with mode: 0644]
shlibs/blkid/src/probers/vxfs.c [new file with mode: 0644]
shlibs/blkid/src/probers/xfs.c [new file with mode: 0644]
shlibs/blkid/src/probers/zfs.c [new file with mode: 0644]
shlibs/blkid/src/read.c [new file with mode: 0644]
shlibs/blkid/src/resolve.c [new file with mode: 0644]
shlibs/blkid/src/save.c [new file with mode: 0644]
shlibs/blkid/src/tag.c [new file with mode: 0644]
shlibs/blkid/src/tst_types.c [new file with mode: 0644]
shlibs/blkid/src/verify.c [new file with mode: 0644]
shlibs/blkid/src/version.c [new file with mode: 0644]
shlibs/uuid/Makefile.am [new file with mode: 0644]
shlibs/uuid/Makefile.in [new file with mode: 0644]
shlibs/uuid/man/Makefile.am [new file with mode: 0644]
shlibs/uuid/man/Makefile.in [new file with mode: 0644]
shlibs/uuid/man/uuid.3 [new file with mode: 0644]
shlibs/uuid/man/uuid_clear.3 [new file with mode: 0644]
shlibs/uuid/man/uuid_compare.3 [new file with mode: 0644]
shlibs/uuid/man/uuid_copy.3 [new file with mode: 0644]
shlibs/uuid/man/uuid_generate.3 [new file with mode: 0644]
shlibs/uuid/man/uuid_is_null.3 [new file with mode: 0644]
shlibs/uuid/man/uuid_parse.3 [new file with mode: 0644]
shlibs/uuid/man/uuid_time.3 [new file with mode: 0644]
shlibs/uuid/man/uuid_unparse.3 [new file with mode: 0644]
shlibs/uuid/src/Makefile.am [new file with mode: 0644]
shlibs/uuid/src/Makefile.in [new file with mode: 0644]
shlibs/uuid/src/clear.c [new file with mode: 0644]
shlibs/uuid/src/compare.c [new file with mode: 0644]
shlibs/uuid/src/copy.c [new file with mode: 0644]
shlibs/uuid/src/gen_uuid.c [new file with mode: 0644]
shlibs/uuid/src/gen_uuid_nt.c [new file with mode: 0644]
shlibs/uuid/src/isnull.c [new file with mode: 0644]
shlibs/uuid/src/pack.c [new file with mode: 0644]
shlibs/uuid/src/parse.c [new file with mode: 0644]
shlibs/uuid/src/tst_uuid.c [new file with mode: 0644]
shlibs/uuid/src/unpack.c [new file with mode: 0644]
shlibs/uuid/src/unparse.c [new file with mode: 0644]
shlibs/uuid/src/uuid.h [new file with mode: 0644]
shlibs/uuid/src/uuid.sym [new file with mode: 0644]
shlibs/uuid/src/uuidP.h [new file with mode: 0644]
shlibs/uuid/src/uuid_time.c [new file with mode: 0644]
shlibs/uuid/src/uuidd.h [new file with mode: 0644]
shlibs/uuid/uuid.pc.in [new file with mode: 0644]
sys-utils/Makefile.am [new file with mode: 0644]
sys-utils/Makefile.in [new file with mode: 0644]
sys-utils/arch.1 [new file with mode: 0644]
sys-utils/arch.c [new file with mode: 0644]
sys-utils/ctrlaltdel.8 [new file with mode: 0644]
sys-utils/ctrlaltdel.c [new file with mode: 0644]
sys-utils/cyclades.h [new file with mode: 0644]
sys-utils/cytune.8 [new file with mode: 0644]
sys-utils/cytune.c [new file with mode: 0644]
sys-utils/dmesg.1 [new file with mode: 0644]
sys-utils/dmesg.c [new file with mode: 0644]
sys-utils/flock.1 [new file with mode: 0644]
sys-utils/flock.c [new file with mode: 0644]
sys-utils/ipc.info [new file with mode: 0644]
sys-utils/ipc.texi [new file with mode: 0644]
sys-utils/ipcmk.1 [new file with mode: 0644]
sys-utils/ipcmk.c [new file with mode: 0644]
sys-utils/ipcrm.1 [new file with mode: 0644]
sys-utils/ipcrm.c [new file with mode: 0644]
sys-utils/ipcs.1 [new file with mode: 0644]
sys-utils/ipcs.c [new file with mode: 0644]
sys-utils/ldattach.8 [new file with mode: 0644]
sys-utils/ldattach.c [new file with mode: 0644]
sys-utils/lp.h [new file with mode: 0644]
sys-utils/lscpu.1 [new file with mode: 0644]
sys-utils/lscpu.c [new file with mode: 0644]
sys-utils/pivot_root.8 [new file with mode: 0644]
sys-utils/pivot_root.c [new file with mode: 0644]
sys-utils/rdev.8 [new file with mode: 0644]
sys-utils/rdev.c [new file with mode: 0644]
sys-utils/readprofile.1 [new file with mode: 0644]
sys-utils/readprofile.c [new file with mode: 0644]
sys-utils/renice.1 [new file with mode: 0644]
sys-utils/renice.c [new file with mode: 0644]
sys-utils/rtcwake.8 [new file with mode: 0644]
sys-utils/rtcwake.c [new file with mode: 0644]
sys-utils/setarch.8 [new file with mode: 0644]
sys-utils/setarch.c [new file with mode: 0644]
sys-utils/setsid.1 [new file with mode: 0644]
sys-utils/setsid.c [new file with mode: 0644]
sys-utils/switch_root.8 [new file with mode: 0644]
sys-utils/switch_root.c [new file with mode: 0644]
sys-utils/tunelp.8 [new file with mode: 0644]
sys-utils/tunelp.c [new file with mode: 0644]
tests/Makefile.am [new file with mode: 0644]
tests/Makefile.in [new file with mode: 0644]
tests/README [new file with mode: 0644]
tests/commands.sh.in [new file with mode: 0644]
tests/expected/bitops/swapbytes [new file with mode: 0644]
tests/expected/blkid/low-probe-cramfs [new file with mode: 0644]
tests/expected/blkid/low-probe-ddf-raid [new file with mode: 0644]
tests/expected/blkid/low-probe-ext2 [new file with mode: 0644]
tests/expected/blkid/low-probe-ext3 [new file with mode: 0644]
tests/expected/blkid/low-probe-fat [new file with mode: 0644]
tests/expected/blkid/low-probe-fat32_label_64MB [new file with mode: 0644]
tests/expected/blkid/low-probe-gfs2 [new file with mode: 0644]
tests/expected/blkid/low-probe-hfs [new file with mode: 0644]
tests/expected/blkid/low-probe-hfsplus [new file with mode: 0644]
tests/expected/blkid/low-probe-hpfs [new file with mode: 0644]
tests/expected/blkid/low-probe-jbd [new file with mode: 0644]
tests/expected/blkid/low-probe-jfs [new file with mode: 0644]
tests/expected/blkid/low-probe-lvm2 [new file with mode: 0644]
tests/expected/blkid/low-probe-mdraid [new file with mode: 0644]
tests/expected/blkid/low-probe-minix [new file with mode: 0644]
tests/expected/blkid/low-probe-netware [new file with mode: 0644]
tests/expected/blkid/low-probe-ocfs2 [new file with mode: 0644]
tests/expected/blkid/low-probe-reiser3 [new file with mode: 0644]
tests/expected/blkid/low-probe-reiser4 [new file with mode: 0644]
tests/expected/blkid/low-probe-romfs [new file with mode: 0644]
tests/expected/blkid/low-probe-small-fat32 [new file with mode: 0644]
tests/expected/blkid/low-probe-swap0 [new file with mode: 0644]
tests/expected/blkid/low-probe-swap1 [new file with mode: 0644]
tests/expected/blkid/low-probe-udf [new file with mode: 0644]
tests/expected/blkid/low-probe-xfs [new file with mode: 0644]
tests/expected/blkid/low-probe-zfs [new file with mode: 0644]
tests/expected/cal/1m [new file with mode: 0644]
tests/expected/cal/3m [new file with mode: 0644]
tests/expected/cal/year [new file with mode: 0644]
tests/expected/col/multibyte [new file with mode: 0644]
tests/expected/cramfs/fsck-endianness [new file with mode: 0644]
tests/expected/cramfs/mkfs [new file with mode: 0644]
tests/expected/cramfs/mkfs-endianness [new file with mode: 0644]
tests/expected/fdisk/doslabel [new file with mode: 0644]
tests/expected/fsck/ismounted [new file with mode: 0644]
tests/expected/ipcs/headers [new file with mode: 0644]
tests/expected/ipcs/limits [new file with mode: 0644]
tests/expected/ipcs/limits2 [new file with mode: 0644]
tests/expected/login/checktty [new file with mode: 0644]
tests/expected/login/islocal [new file with mode: 0644]
tests/expected/look/separator [new file with mode: 0644]
tests/expected/lscpu/lscpu-i386-amdshanghai [new file with mode: 0644]
tests/expected/lscpu/lscpu-i386-dellpe700 [new file with mode: 0644]
tests/expected/lscpu/lscpu-i386-intels5000phb [new file with mode: 0644]
tests/expected/lscpu/lscpu-i386-xenpara [new file with mode: 0644]
tests/expected/lscpu/lscpu-ia64-hpmatterhorn [new file with mode: 0644]
tests/expected/lscpu/lscpu-ia64-hprx1620 [new file with mode: 0644]
tests/expected/lscpu/lscpu-ia64-pg0 [new file with mode: 0644]
tests/expected/lscpu/lscpu-x86_64-hpdl585 [new file with mode: 0644]
tests/expected/lscpu/lscpu-x86_64-ibme326m [new file with mode: 0644]
tests/expected/lscpu/lscpu-x86_64-necem14 [new file with mode: 0644]
tests/expected/lscpu/lscpu-x86_64-xenfull [new file with mode: 0644]
tests/expected/md5/md5 [new file with mode: 0644]
tests/expected/minix/fsck [new file with mode: 0644]
tests/expected/minix/mkfs [new file with mode: 0644]
tests/expected/mount/devname [new file with mode: 0644]
tests/expected/mount/fstab-devname [new file with mode: 0644]
tests/expected/mount/fstab-devname2label [new file with mode: 0644]
tests/expected/mount/fstab-devname2uuid [new file with mode: 0644]
tests/expected/mount/fstab-label [new file with mode: 0644]
tests/expected/mount/fstab-label2devname [new file with mode: 0644]
tests/expected/mount/fstab-label2uuid [new file with mode: 0644]
tests/expected/mount/fstab-symlink [new file with mode: 0644]
tests/expected/mount/fstab-uuid [new file with mode: 0644]
tests/expected/mount/fstab-uuid2devname [new file with mode: 0644]
tests/expected/mount/fstab-uuid2label [new file with mode: 0644]
tests/expected/mount/label [new file with mode: 0644]
tests/expected/mount/move [new file with mode: 0644]
tests/expected/mount/mtablock [new file with mode: 0644]
tests/expected/mount/noncanonical [new file with mode: 0644]
tests/expected/mount/paths [new file with mode: 0644]
tests/expected/mount/remount [new file with mode: 0644]
tests/expected/mount/special [new file with mode: 0644]
tests/expected/mount/uuid [new file with mode: 0644]
tests/expected/namei/logic [new file with mode: 0644]
tests/expected/paths/built-in [new file with mode: 0644]
tests/expected/script/race [new file with mode: 0644]
tests/expected/swapon/devname [new file with mode: 0644]
tests/expected/swapon/label [new file with mode: 0644]
tests/expected/swapon/uuid [new file with mode: 0644]
tests/functions.sh [new file with mode: 0644]
tests/helpers/Makefile.am [new file with mode: 0644]
tests/helpers/Makefile.in [new file with mode: 0644]
tests/helpers/test_byteswap.c [new file with mode: 0644]
tests/helpers/test_md5.c [new file with mode: 0644]
tests/helpers/test_pathnames.c [new file with mode: 0644]
tests/helpers/test_sysinfo.c [new file with mode: 0644]
tests/run.sh [new file with mode: 0755]
tests/ts/bitops/swapbytes [new file with mode: 0755]
tests/ts/blkid/images/cramfs.img.bz2 [new file with mode: 0644]
tests/ts/blkid/images/ddf-raid.img.bz2 [new file with mode: 0644]
tests/ts/blkid/images/ext2.img.bz2 [new file with mode: 0644]
tests/ts/blkid/images/ext3.img.bz2 [new file with mode: 0644]
tests/ts/blkid/images/fat.img.bz2 [new file with mode: 0644]
tests/ts/blkid/images/fat32_label_64MB.img.bz2 [new file with mode: 0644]
tests/ts/blkid/images/gfs2.img.bz2 [new file with mode: 0644]
tests/ts/blkid/images/hfs.img.bz2 [new file with mode: 0644]
tests/ts/blkid/images/hfsplus.img.bz2 [new file with mode: 0644]
tests/ts/blkid/images/hpfs.img.bz2 [new file with mode: 0644]
tests/ts/blkid/images/jbd.img.bz2 [new file with mode: 0644]
tests/ts/blkid/images/jfs.img.bz2 [new file with mode: 0644]
tests/ts/blkid/images/lvm2.img.bz2 [new file with mode: 0644]
tests/ts/blkid/images/mdraid.img.bz2 [new file with mode: 0644]
tests/ts/blkid/images/minix.img.bz2 [new file with mode: 0644]
tests/ts/blkid/images/netware.img.bz2 [new file with mode: 0644]
tests/ts/blkid/images/ocfs2.img.bz2 [new file with mode: 0644]
tests/ts/blkid/images/reiser3.img.bz2 [new file with mode: 0644]
tests/ts/blkid/images/reiser4.img.bz2 [new file with mode: 0644]
tests/ts/blkid/images/romfs.img.bz2 [new file with mode: 0644]
tests/ts/blkid/images/small-fat32.img.bz2 [new file with mode: 0644]
tests/ts/blkid/images/swap0.img.bz2 [new file with mode: 0644]
tests/ts/blkid/images/swap1.img.bz2 [new file with mode: 0644]
tests/ts/blkid/images/udf.img.bz2 [new file with mode: 0644]
tests/ts/blkid/images/xfs.img.bz2 [new file with mode: 0644]
tests/ts/blkid/images/zfs.img.bz2 [new file with mode: 0644]
tests/ts/blkid/low-probe [new file with mode: 0755]
tests/ts/cal/1m [new file with mode: 0755]
tests/ts/cal/3m [new file with mode: 0755]
tests/ts/cal/year [new file with mode: 0755]
tests/ts/col/multibyte [new file with mode: 0755]
tests/ts/col/multibyte.data [new file with mode: 0644]
tests/ts/cramfs/cramfs-big.img [new file with mode: 0644]
tests/ts/cramfs/cramfs-little.img [new file with mode: 0644]
tests/ts/cramfs/fsck-endianness [new file with mode: 0755]
tests/ts/cramfs/mkfs [new file with mode: 0755]
tests/ts/cramfs/mkfs-endianness [new file with mode: 0755]
tests/ts/fdisk/doslabel [new file with mode: 0755]
tests/ts/fsck/ismounted [new file with mode: 0755]
tests/ts/hwclock/systohc [new file with mode: 0755]
tests/ts/ipcs/functions.sh [new file with mode: 0644]
tests/ts/ipcs/headers [new file with mode: 0755]
tests/ts/ipcs/limits [new file with mode: 0755]
tests/ts/ipcs/limits2 [new file with mode: 0755]
tests/ts/login/checktty [new file with mode: 0755]
tests/ts/login/islocal [new file with mode: 0755]
tests/ts/login/islocal.data [new file with mode: 0644]
tests/ts/look/separator [new file with mode: 0755]
tests/ts/lscpu/dumps/i386-amdshanghai.tar.gz [new file with mode: 0644]
tests/ts/lscpu/dumps/i386-dellpe700.tar.gz [new file with mode: 0644]
tests/ts/lscpu/dumps/i386-intels5000phb.tar.gz [new file with mode: 0644]
tests/ts/lscpu/dumps/ia64-hpmatterhorn.tar.gz [new file with mode: 0644]
tests/ts/lscpu/dumps/ia64-hprx1620.tar.gz [new file with mode: 0644]
tests/ts/lscpu/dumps/ia64-pg0.tar.gz [new file with mode: 0644]
tests/ts/lscpu/dumps/x86_64-hpdl585.tar.gz [new file with mode: 0644]
tests/ts/lscpu/dumps/x86_64-ibme326m.tar.gz [new file with mode: 0644]
tests/ts/lscpu/dumps/x86_64-necem14.tar.gz [new file with mode: 0644]
tests/ts/lscpu/lscpu [new file with mode: 0755]
tests/ts/lscpu/mk-input.sh [new file with mode: 0644]
tests/ts/md5/data [new file with mode: 0644]
tests/ts/md5/md5 [new file with mode: 0755]
tests/ts/minix/fsck [new file with mode: 0755]
tests/ts/minix/mkfs [new file with mode: 0755]
tests/ts/mount/devname [new file with mode: 0755]
tests/ts/mount/fstab-devname [new file with mode: 0755]
tests/ts/mount/fstab-devname2label [new file with mode: 0755]
tests/ts/mount/fstab-devname2uuid [new file with mode: 0755]
tests/ts/mount/fstab-label [new file with mode: 0755]
tests/ts/mount/fstab-label2devname [new file with mode: 0755]
tests/ts/mount/fstab-label2uuid [new file with mode: 0755]
tests/ts/mount/fstab-symlink [new file with mode: 0755]
tests/ts/mount/fstab-uuid [new file with mode: 0755]
tests/ts/mount/fstab-uuid2devname [new file with mode: 0755]
tests/ts/mount/fstab-uuid2label [new file with mode: 0755]
tests/ts/mount/label [new file with mode: 0755]
tests/ts/mount/move [new file with mode: 0755]
tests/ts/mount/mtablock [new file with mode: 0755]
tests/ts/mount/noncanonical [new file with mode: 0755]
tests/ts/mount/paths [new file with mode: 0755]
tests/ts/mount/remount [new file with mode: 0755]
tests/ts/mount/special [new file with mode: 0755]
tests/ts/mount/uuid [new file with mode: 0755]
tests/ts/namei/logic [new file with mode: 0755]
tests/ts/paths/built-in [new file with mode: 0755]
tests/ts/script/race [new file with mode: 0755]
tests/ts/swapon/devname [new file with mode: 0755]
tests/ts/swapon/label [new file with mode: 0755]
tests/ts/swapon/uuid [new file with mode: 0755]
text-utils/LICENSE.pg [new file with mode: 0644]
text-utils/Makefile.am [new file with mode: 0644]
text-utils/Makefile.in [new file with mode: 0644]
text-utils/README.clear [new file with mode: 0644]
text-utils/README.col [new file with mode: 0644]
text-utils/README.pg [new file with mode: 0644]
text-utils/col.1 [new file with mode: 0644]
text-utils/col.c [new file with mode: 0644]
text-utils/colcrt.1 [new file with mode: 0644]
text-utils/colcrt.c [new file with mode: 0644]
text-utils/colrm.1 [new file with mode: 0644]
text-utils/colrm.c [new file with mode: 0644]
text-utils/column.1 [new file with mode: 0644]
text-utils/column.c [new file with mode: 0644]
text-utils/conv.c [new file with mode: 0644]
text-utils/display.c [new file with mode: 0644]
text-utils/hexdump.1 [new file with mode: 0644]
text-utils/hexdump.c [new file with mode: 0644]
text-utils/hexdump.h [new file with mode: 0644]
text-utils/hexsyntax.c [new file with mode: 0644]
text-utils/line.1 [new file with mode: 0644]
text-utils/line.c [new file with mode: 0644]
text-utils/more.1 [new file with mode: 0644]
text-utils/more.c [new file with mode: 0644]
text-utils/odsyntax.c [new file with mode: 0644]
text-utils/parse.c [new file with mode: 0644]
text-utils/pg.1 [new file with mode: 0644]
text-utils/pg.c [new file with mode: 0644]
text-utils/rev.1 [new file with mode: 0644]
text-utils/rev.c [new file with mode: 0644]
text-utils/tailf.1 [new file with mode: 0644]
text-utils/tailf.c [new file with mode: 0644]
text-utils/ul.1 [new file with mode: 0644]
text-utils/ul.c [new file with mode: 0644]
tools/checkconfig.sh [new file with mode: 0755]
tools/checkincludes.pl [new file with mode: 0755]

diff --git a/ABOUT-NLS b/ABOUT-NLS
new file mode 100644 (file)
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 (file)
index 0000000..fb65ab6
--- /dev/null
+++ b/AUTHORS
@@ -0,0 +1,174 @@
+
+                            utils-linux-ng
+           (fork of util-linux, based on version 2.13-pre7)
+
+MAINTAINER:
+
+      Karel Zak <kzak@redhat.com>
+
+
+PAST MAINTAINERS:
+
+      Adrian Bunk <bunk@stusta.de>
+      Andries E. Brouwer <aeb@cwi.nl>
+
+
+AUTHORS (merged projects & commands):
+
+      flock:           H. Peter Anvin <hpa@zytor.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>
+      libuuid:         Theodore Ts'o <tytso@mit.edu>
+      lscpu:           Cai Qian <qcai@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>
+
+
+CONTRIBUTORS:
+
+      A. Costa <agcosta@gis.net>
+      Adam Jackson <ajax@redhat.com>
+      Alain Guibert <alguibert+ulng@free.fr>
+      Alan Curry <pacman@TheWorld.com>
+      Alexey Gladkov <legion@altlinux.ru>
+      Alon Bar-Lev <alon.barlev@gmail.com>
+      Américo Wang <xiyou.wangcong@gmail.com>
+      Andreas Dilger <adilger@sun.com>
+      Andrew McGill <list2008@lunch.za.net>
+      Andrzej Krzysztofowicz <ankry@mif.pg.gda.pl>
+      Arif E. Nugroho <arif_endro@yahoo.com>
+      Arkadiusz Miskiewicz <arekm@maven.pl>
+      Attila Áfra <attila.afra@gmail.com>
+      Aurelien Jarno <aurelien@aurel32.net>
+      Balint Cristian <cbalint@redhat.com>
+      Benno Schulenberg <bensberg@justemail.net>
+      Bernardo Innocenti <bernie@codewiz.org>
+      Bernhard Walle <bwalle@suse.de>
+      Cai Qian <qcai@redhat.com>
+      Christophe Blaess <Christophe@Blaess.fr>
+      Chris Webb <chris@arachsys.com>
+      Claus Hindsgaul <claus_h@image.dk>
+      Cliff Wickman <cpw@sgi.com>
+      Clytie Siddall <clytie@riverland.net.au>
+      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>
+      David Brownell <david-b@pacbell.net>
+      David Miller <davem@davemloft.net>
+      David Woodhouse <dwmw2@infradead.org>
+      Denis ChengRq <crquan@gmail.com>
+      Dennis Gilmore <dennis@ausil.us>
+      Dmitry V. Levin <ldv@altlinux.org>
+      Eric Sandeen <sandeen@redhat.com>
+      Flávio Leitner <fleitner@redhat.com>
+      Florian Zumbiehl <florz@florz.de>
+      Frédéric Bothamy <frederic.bothamy@free.fr>
+      Gabor Kelemen <kelemeng@gnome.hu>
+      Gabriel Barazer <gabriel@oxeva.fr>
+      Gabriel Burt <gburt@novell.com>
+      Guan Xin <guanx.bac@gmail.com>
+      Hamish Coleman <hamish@zot.org>
+      Hayden James <hayden.james@gmail.com>
+      Hendrik Lönngren <wikibugs@googlemail.com>
+      H. Peter Anvin <hpa@zytor.com>
+      Hugh Dickins <hugh@veritas.com>
+      Imre Kaloz <kaloz@openwrt.org>
+      Jakob Unterwurzacher <jakobunt@gmail.com>
+      Jakub Bogusz <qboosh@pld-linux.org>
+      James Youngman <jay@gnu.org>
+      Jason Vas Dias <jvdias@redhat.com>
+      Jeff Mahoney <jeffm@suse.com>
+      Jim Meyering <meyering@redhat.com>
+      John Keeping <john.keeping@lineone.net>
+      Josep Puigdemont <josep.puigdemont@gmail.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>
+      kevin.granade@gmail.com <kevin.granade@gmail.com>
+      Kunihiko IMAI <kimai@iodata.jp>
+      LaMont Jones <lamont@debian.org>
+      LaMont Jones <lamont@mmjgroup.com>
+      Lauri Nurmi <lanurmi@iki.fi>
+      Lawrence Rust <lawrence@softsystem.co.uk>
+      Li Zefan <lizf@cn.fujitsu.com>
+      Lubomir Kundrak <lkundrak@redhat.com>
+      Luciano Chavez <lnx1138@us.ibm.com>
+      Ludwig Nussel <ludwig.nussel@suse.de>
+      Makoto Kato <makoto.kt@gmail.com>
+      Marco Colombo <m.colombo@ed.ac.uk>
+      Marco d'Itri <md@Linux.IT>
+      Mark McLoughlin <markmc@redhat.com>
+      Martin Schlemmer <azarah@gentoo.org>
+      Martin Schulze <joey@infodrom.org>
+      Martin Steigerwald <ms@teamix.de>
+      Masatake YAMATO <jet@gyve.org>
+      Matthew Garrett <mjg59@srcf.ucam.org>
+      Matthias Koenig <mkoenig@suse.de>
+      maximilian attems <max@stro.at>
+      Maxim V. Dziumanenko <mvd@mylinux.com.ua>
+      Meelis Roos <mroos@linux.ee>
+      Michael Piefel <piefel@informatik.hu-berlin.de>
+      Michel Robitaille <robitail@IRO.UMontreal.CA>
+      Mike Frysinger <vapier@gentoo.org>
+      Mikel Olasagasti <hey_neken@mundurat.net>
+      Miklos Szeredi <mszeredi@suse.cz>
+      Milan Broz <mbroz@redhat.com>
+      Moritz Muehlenhoff <jmm@inutil.org>
+      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>
+      Pádraig Brady <P@draigBrady.com>
+      Pascal Terjan <pterjan@cmoi.fasmz.org>
+      Paulius Zaleckas <paulius.zaleckas@teltonika.lt>
+      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 Volkov <pva@gentoo.org>
+      Petr Pisar <petr.pisar@atlas.cz>
+      Phan Vinh Thinh <teppi82@gmail.com>
+      Rajeev V. Pillai <rajeevvp@gmail.com>
+      Ram Pai <linuxram@us.ibm.com>
+      Randy Dunlap <randy.dunlap@oracle.com>
+      Ray Wang <wanglei1123@gmail.com>
+      Robert Förster <Dessa@gmake.de>
+      Robert Millan <rmh@aybabtu.com>
+      Rodrigo Stulzer Lopes <rodrigo@conectiva.com.br>
+      Roy Peled <the.roy.peled@gmail.com>
+      Samuel Thibault <samuel.thibault@ens-lyon.org>
+      Sam Varshavchik <mrsam@courier-mta.com>
+      Santiago Vila Doncel <sanvila@unex.es>
+      Sascha Sommer <ssommer@suse.de>
+      Scott James Remnant <scott@ubuntu.com>
+      Shachar Shemesh <shachar@debian.org>
+      Simon Mihevc <simonmihevc@email.si>
+      Stefan Krah <stefan@bytereef.org>
+      Stepan Kasal <skasal@redhat.com>
+      Stephan Maka <stephan@spaceboyz.net>
+      Steve Grubb <sgrubb@redhat.com>
+      Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
+      Sven Jost <sven.jost@googlemail.com>
+      Theodore Ts'o <tytso@mit.edu>
+      Tilman Schmidt <tilman@imap.cc>
+      Tom Prince <tom.prince@ualberta.net>
+      Valerie Aurora <vaurora@redhat.com>
+      Vincent Deffontaines <vincent@gryzor.com>
+      Volker Schatz <oss@volkerschatz.com>
+      Yu Zhiguo <yuzg@cn.fujitsu.com>
+      Zdenek Behan <rain@matfyz.cz>
diff --git a/COPYING b/COPYING
new file mode 100644 (file)
index 0000000..623b625
--- /dev/null
+++ b/COPYING
@@ -0,0 +1,340 @@
+                   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 Library 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.
+\f
+                   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.)
+\f
+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.
+\f
+  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.
+\f
+  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
+\f
+           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 Library General
+Public License instead of this License.
diff --git a/DEPRECATED b/DEPRECATED
new file mode 100644 (file)
index 0000000..a423601
--- /dev/null
@@ -0,0 +1,60 @@
+The following is a list of commands or features that are deprecated.  All
+deprecated utils are in maintenace mode and we keep them in source tree for
+backward compatibilty only.
+
+What:  losetup -s
+When:  2.15
+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
+When:  undefined yet
+Why:   depreciated in favor of dm-crypt.
+
+---------------------------
+
+What:  elvtune
+When:  undefined yet
+Why:   useless for kernel >= 2.6.9
+
+---------------------------
+
+What:  arch(1) command
+When:  2.14
+Why:   deprecated in favor of uname(1) or arch(1) from coreutils
+
+       The arch(1) has been added (during 2.13 development cycle) to coreutuls
+       where it will be maintained as an alias for uname(1) command.
+
+----------------------------
+
+What:  kill(1) command
+Why:   deprecated in favor of kill from procps or bash build-in kill 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
+
+----------------------------
+
+What:  shutdown(1)
+Why:   nobody uses this implementation
+
+----------------------------
+
+What:  rdev(8), ramsize(8), vidmode(8) and  rootflags(8)
+Why:   i386 specific and probably useless
+
diff --git a/INSTALL b/INSTALL
new file mode 100644 (file)
index 0000000..23e5f25
--- /dev/null
+++ b/INSTALL
@@ -0,0 +1,236 @@
+Installation Instructions
+*************************
+
+Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free
+Software Foundation, Inc.
+
+This file is free documentation; the Free Software Foundation gives
+unlimited permission to copy, distribute and modify it.
+
+Basic Installation
+==================
+
+These are generic installation instructions.
+
+   The `configure' shell script attempts to guess correct values for
+various system-dependent variables used during compilation.  It uses
+those values to create a `Makefile' in each directory of the package.
+It may also create one or more `.h' files containing system-dependent
+definitions.  Finally, it creates a shell script `config.status' that
+you can run in the future to recreate the current configuration, and a
+file `config.log' containing compiler output (useful mainly for
+debugging `configure').
+
+   It can also use an optional file (typically called `config.cache'
+and enabled with `--cache-file=config.cache' or simply `-C') that saves
+the results of its tests to speed up reconfiguring.  (Caching is
+disabled by default to prevent problems with accidental use of stale
+cache files.)
+
+   If you need to do unusual things to compile the package, please try
+to figure out how `configure' could check whether to do them, and mail
+diffs or instructions to the address given in the `README' so they can
+be considered for the next release.  If you are using the cache, and at
+some point `config.cache' contains results you don't want to keep, you
+may remove or edit it.
+
+   The file `configure.ac' (or `configure.in') is used to create
+`configure' by a program called `autoconf'.  You only need
+`configure.ac' if you want to change it or regenerate `configure' using
+a newer version of `autoconf'.
+
+The simplest way to compile this package is:
+
+  1. `cd' to the directory containing the package's source code and type
+     `./configure' to configure the package for your system.  If you're
+     using `csh' on an old version of System V, you might need to type
+     `sh ./configure' instead to prevent `csh' from trying to execute
+     `configure' itself.
+
+     Running `configure' takes awhile.  While running, it prints some
+     messages telling which features it is checking for.
+
+  2. Type `make' to compile the package.
+
+  3. Optionally, type `make check' to run any self-tests that come with
+     the package.
+
+  4. Type `make install' to install the programs and any data files and
+     documentation.
+
+  5. You can remove the program binaries and object files from the
+     source code directory by typing `make clean'.  To also remove the
+     files that `configure' created (so you can compile the package for
+     a different kind of computer), type `make distclean'.  There is
+     also a `make maintainer-clean' target, but that is intended mainly
+     for the package's developers.  If you use it, you may have to get
+     all sorts of other programs in order to regenerate files that came
+     with the distribution.
+
+Compilers and Options
+=====================
+
+Some systems require unusual options for compilation or linking that the
+`configure' script does not know about.  Run `./configure --help' for
+details on some of the pertinent environment variables.
+
+   You can give `configure' initial values for configuration parameters
+by setting variables in the command line or in the environment.  Here
+is an example:
+
+     ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
+
+   *Note Defining Variables::, for more details.
+
+Compiling For Multiple Architectures
+====================================
+
+You can compile the package for more than one kind of computer at the
+same time, by placing the object files for each architecture in their
+own directory.  To do this, you must use a version of `make' that
+supports the `VPATH' variable, such as GNU `make'.  `cd' to the
+directory where you want the object files and executables to go and run
+the `configure' script.  `configure' automatically checks for the
+source code in the directory that `configure' is in and in `..'.
+
+   If you have to use a `make' that does not support the `VPATH'
+variable, you have to compile the package for one architecture at a
+time in the source code directory.  After you have installed the
+package for one architecture, use `make distclean' before reconfiguring
+for another architecture.
+
+Installation Names
+==================
+
+By default, `make install' installs the package's commands under
+`/usr/local/bin', include files under `/usr/local/include', etc.  You
+can specify an installation prefix other than `/usr/local' by giving
+`configure' the option `--prefix=PREFIX'.
+
+   You can specify separate installation prefixes for
+architecture-specific files and architecture-independent files.  If you
+pass the option `--exec-prefix=PREFIX' to `configure', the package uses
+PREFIX as the prefix for installing programs and libraries.
+Documentation and other data files still use the regular prefix.
+
+   In addition, if you use an unusual directory layout you can give
+options like `--bindir=DIR' to specify different values for particular
+kinds of files.  Run `configure --help' for a list of the directories
+you can set and what kinds of files go in them.
+
+   If the package supports it, you can cause programs to be installed
+with an extra prefix or suffix on their names by giving `configure' the
+option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
+
+Optional Features
+=================
+
+Some packages pay attention to `--enable-FEATURE' options to
+`configure', where FEATURE indicates an optional part of the package.
+They may also pay attention to `--with-PACKAGE' options, where PACKAGE
+is something like `gnu-as' or `x' (for the X Window System).  The
+`README' should mention any `--enable-' and `--with-' options that the
+package recognizes.
+
+   For packages that use the X Window System, `configure' can usually
+find the X include and library files automatically, but if it doesn't,
+you can use the `configure' options `--x-includes=DIR' and
+`--x-libraries=DIR' to specify their locations.
+
+Specifying the System Type
+==========================
+
+There may be some features `configure' cannot figure out automatically,
+but needs to determine by the type of machine the package will run on.
+Usually, assuming the package is built to be run on the _same_
+architectures, `configure' can figure that out, but if it prints a
+message saying it cannot guess the machine type, give it the
+`--build=TYPE' option.  TYPE can either be a short name for the system
+type, such as `sun4', or a canonical name which has the form:
+
+     CPU-COMPANY-SYSTEM
+
+where SYSTEM can have one of these forms:
+
+     OS KERNEL-OS
+
+   See the file `config.sub' for the possible values of each field.  If
+`config.sub' isn't included in this package, then this package doesn't
+need to know the machine type.
+
+   If you are _building_ compiler tools for cross-compiling, you should
+use the option `--target=TYPE' to select the type of system they will
+produce code for.
+
+   If you want to _use_ a cross compiler, that generates code for a
+platform different from the build platform, you should specify the
+"host" platform (i.e., that on which the generated programs will
+eventually be run) with `--host=TYPE'.
+
+Sharing Defaults
+================
+
+If you want to set default values for `configure' scripts to share, you
+can create a site shell script called `config.site' that gives default
+values for variables like `CC', `cache_file', and `prefix'.
+`configure' looks for `PREFIX/share/config.site' if it exists, then
+`PREFIX/etc/config.site' if it exists.  Or, you can set the
+`CONFIG_SITE' environment variable to the location of the site script.
+A warning: not all `configure' scripts look for a site script.
+
+Defining Variables
+==================
+
+Variables not defined in a site shell script can be set in the
+environment passed to `configure'.  However, some packages may run
+configure again during the build, and the customized values of these
+variables may be lost.  In order to avoid this problem, you should set
+them in the `configure' command line, using `VAR=value'.  For example:
+
+     ./configure CC=/usr/local2/bin/gcc
+
+causes the specified `gcc' to be used as the C compiler (unless it is
+overridden in the site shell script).  Here is a another example:
+
+     /bin/bash ./configure CONFIG_SHELL=/bin/bash
+
+Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent
+configuration-related scripts to be executed by `/bin/bash'.
+
+`configure' Invocation
+======================
+
+`configure' recognizes the following options to control how it operates.
+
+`--help'
+`-h'
+     Print a summary of the options to `configure', and exit.
+
+`--version'
+`-V'
+     Print the version of Autoconf used to generate the `configure'
+     script, and exit.
+
+`--cache-file=FILE'
+     Enable the cache: use and save the results of the tests in FILE,
+     traditionally `config.cache'.  FILE defaults to `/dev/null' to
+     disable caching.
+
+`--config-cache'
+`-C'
+     Alias for `--cache-file=config.cache'.
+
+`--quiet'
+`--silent'
+`-q'
+     Do not print messages saying which checks are being made.  To
+     suppress all normal output, redirect it to `/dev/null' (any error
+     messages will still be shown).
+
+`--srcdir=DIR'
+     Look for the package's source code in directory DIR.  Usually
+     `configure' can determine that directory automatically.
+
+`configure' also accepts some other, not widely useful, options.  Run
+`configure --help' for more details.
+
diff --git a/Makefile.am b/Makefile.am
new file mode 100644 (file)
index 0000000..0c8fb69
--- /dev/null
@@ -0,0 +1,70 @@
+include $(top_srcdir)/config/include-Makefile.am
+
+SUBDIRS = \
+       include \
+       disk-utils \
+       fdisk \
+       getopt \
+       lib \
+       shlibs \
+       login-utils \
+       misc-utils \
+       po \
+       schedutils \
+       sys-utils \
+       text-utils \
+       tests
+
+
+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
+
+if LINUX
+SUBDIRS += \
+       hwclock \
+       partx
+endif
+
+if BUILD_MOUNT
+SUBDIRS += mount
+endif
+
+if BUILD_FSCK
+SUBDIRS += fsck
+endif
+
+ACLOCAL_AMFLAGS = -I m4
+
+EXTRA_DIST = \
+               autogen.sh \
+               README.devel \
+               README.licensing \
+               DEPRECATED \
+               licenses \
+               example.files \
+               po/update-potfiles \
+               tools \
+               docs
+
+
+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)
+
+
+ENABLE_ALL = --enable-static-programs --with-fsprobe=builtin \
+ --enable-elvtune --enable-init --enable-kill --enable-last \
+ --enable-mesg --enable-partx --enable-raw --enable-rdev --enable-reset \
+ --enable-login-utils --enable-write --enable-arch --enable-mount
+DISTCHECK_CONFIGURE_FLAGS = --disable-use-tty-group $(ENABLE_ALL)
diff --git a/Makefile.in b/Makefile.in
new file mode 100644 (file)
index 0000000..046a3a2
--- /dev/null
@@ -0,0 +1,838 @@
+# Makefile.in generated by automake 1.11 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@
+DIST_COMMON = README $(am__configure_deps) $(dist_noinst_DATA) \
+       $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+       $(srcdir)/config.h.in $(top_srcdir)/config/include-Makefile.am \
+       $(top_srcdir)/configure ABOUT-NLS AUTHORS COPYING INSTALL NEWS \
+       TODO config/config.guess config/config.rpath config/config.sub \
+       config/depcomp config/install-sh config/ltmain.sh \
+       config/missing config/mkinstalldirs config/texinfo.tex
+@LINUX_TRUE@am__append_1 = \
+@LINUX_TRUE@   hwclock \
+@LINUX_TRUE@   partx
+
+@BUILD_MOUNT_TRUE@am__append_2 = mount
+@BUILD_FSCK_TRUE@am__append_3 = fsck
+subdir = .
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.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)/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 =
+CONFIG_CLEAN_VPATH_FILES =
+SOURCES =
+DIST_SOURCES =
+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
+DATA = $(dist_noinst_DATA)
+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
+DIST_SUBDIRS = include disk-utils fdisk getopt lib shlibs login-utils \
+       misc-utils po schedutils sys-utils text-utils tests hwclock \
+       partx mount fsck
+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"
+DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2
+GZIP_ENV = --best
+distuninstallcheck_listfiles = find . -type f -print
+distcleancheck_listfiles = find . -type f -print
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BLKID = @BLKID@
+BLKID_CFLAGS = @BLKID_CFLAGS@
+BLKID_LIBS = @BLKID_LIBS@
+BLKID_LIBS_STATIC = @BLKID_LIBS_STATIC@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+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@
+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_VERSION = @LIBBLKID_VERSION@
+LIBBLKID_VERSION_INFO = @LIBBLKID_VERSION_INFO@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+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@
+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_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+POSUB = @POSUB@
+RANLIB = @RANLIB@
+SED = @SED@
+SELINUX_LIBS = @SELINUX_LIBS@
+SELINUX_LIBS_STATIC = @SELINUX_LIBS_STATIC@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SUID_CFLAGS = @SUID_CFLAGS@
+SUID_LDFLAGS = @SUID_LDFLAGS@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
+VERSION = @VERSION@
+VOLID = @VOLID@
+XGETTEXT = @XGETTEXT@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+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@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+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 $(top_builddir)/config.h -I$(top_srcdir)/include \
+       -DLOCALEDIR=\"$(localedir)\"
+
+AM_CFLAGS = -fsigned-char
+AM_LDFLAGS = 
+
+# 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)
+#
+# blkid
+ul_libblkid_srcdir = $(top_srcdir)/shlibs/blkid/src
+ul_libblkid_builddir = $(top_builddir)/shlibs/blkid/src
+ul_libblkid_la = $(top_builddir)/shlibs/blkid/src/libblkid.la
+
+# uuid
+ul_libuuid_srcdir = $(top_srcdir)/shlibs/uuid/src
+ul_libuuid_builddir = $(top_builddir)/shlibs/uuid/src
+ul_libuuid_la = $(top_builddir)/shlibs/uuid/src/libuuid.la
+SUBDIRS = include disk-utils fdisk getopt lib shlibs login-utils \
+       misc-utils po schedutils sys-utils text-utils tests \
+       $(am__append_1) $(am__append_2) $(am__append_3)
+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 = \
+               autogen.sh \
+               README.devel \
+               README.licensing \
+               DEPRECATED \
+               licenses \
+               example.files \
+               po/update-potfiles \
+               tools \
+               docs
+
+ENABLE_ALL = --enable-static-programs --with-fsprobe=builtin \
+ --enable-elvtune --enable-init --enable-kill --enable-last \
+ --enable-mesg --enable-partx --enable-raw --enable-rdev --enable-reset \
+ --enable-login-utils --enable-write --enable-arch --enable-mount
+
+DISTCHECK_CONFIGURE_FLAGS = --disable-use-tty-group $(ENABLE_ALL)
+all: config.h
+       $(MAKE) $(AM_MAKEFLAGS) all-recursive
+
+.SUFFIXES:
+am--refresh:
+       @:
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/config/include-Makefile.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
+
+mostlyclean-libtool:
+       -rm -f *.lo
+
+clean-libtool:
+       -rm -rf .libs _libs
+
+distclean-libtool:
+       -rm -f libtool config.lt
+
+# 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):
+       @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):
+       @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
+
+distdir: $(DISTFILES)
+       @case `sed 15q $(srcdir)/NEWS` in \
+       *"$(VERSION)"*) : ;; \
+       *) \
+         echo "NEWS not updated; not releasing" 1>&2; \
+         exit 1;; \
+       esac
+       $(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
+       -test -n "$(am__skip_mode_fix)" \
+       || find "$(distdir)" -type d ! -perm -777 -exec chmod a+rwx {} \; -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) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+       tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+       $(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) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
+       *.tar.bz2*) \
+         bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+       *.tar.lzma*) \
+         unlzma -c $(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) gunzip -c $(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
+check: check-recursive
+all-am: Makefile $(DATA) config.h
+installdirs: installdirs-recursive
+installdirs-am:
+install: 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:
+
+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)
+
+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-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+       -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+       -rm -f Makefile
+distclean-am: clean-am 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-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+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 -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
+       ctags-recursive install-am install-strip tags-recursive
+
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+       all all-am am--refresh check check-am clean clean-generic \
+       clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \
+       dist-gzip dist-lzma dist-shar dist-tarZ dist-xz dist-zip \
+       distcheck distclean 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-data \
+       install-data-am 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 installdirs-am maintainer-clean \
+       maintainer-clean-generic mostlyclean mostlyclean-generic \
+       mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
+       uninstall uninstall-am
+
+
+$(ul_libblkid_la):
+       $(MAKE) -C $(ul_libblkid_builddir)
+
+$(ul_libuuid_la):
+       $(MAKE) -C $(ul_libuuid_builddir)
+
+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)
+
+# 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 (file)
index 0000000..8670a99
--- /dev/null
+++ b/NEWS
@@ -0,0 +1,1619 @@
+util-linux-ng 2.16.2: Nov 30 2009
+* see docs/v2.16.2-ReleaseNotes or complete changelog at
+  ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/v2.16/v2.16.2-ChangeLog
+
+util-linux-ng 2.16.1: Sep 7 2009
+* see docs/v2.16.1-ReleaseNotes or complete changelog at
+  ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/v2.16/v2.16.1-ChangeLog
+
+util-linux-ng 2.16: Jul  2009
+* see docs/v2.16-ReleaseNotes or complete changelog at
+  ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/v2.16/v2.16-ChangeLog
+
+util-linux-ng 2.16-rc2: Jul 2 2009
+* see docs/v2.16-ReleaseNotes or complete changelog at
+  ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/v2.16/v2.16-rc2-ChangeLog
+
+util-linux-ng 2.16-rc1: Jun 28 2009
+* see docs/v2.16-ReleaseNotes or complete changelog at
+  ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/v2.16/v2.16-rc1-ChangeLog
+
+util-linux-ng 2.15: May 5 2009
+* see docs/v2.15-ReleaseNotes or complete changelog at
+  ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/v2.15/v2.15-ChangeLog
+
+util-linux-ng 2.15-rc2: Apr 17 2009
+* see docs/v2.15-ReleaseNotes or complete changelog at
+  ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/v2.15/v2.15-rc2-ChangeLog
+
+util-linux-ng 2.15-rc1: Mar 18 2009
+* see docs/v2.15-ReleaseNotes or complete changelog at
+  ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/v2.15/v2.15-rc1-ChangeLog
+
+util-linux-ng 2.14: Jun 9 2008
+* see docs/v2.14-ReleaseNotes or complete changelog at
+  ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/v2.14/v2.14-ChangeLog
+
+util-linux-ng 2.14-rc3
+* see docs/v2.14-ReleaseNotes or complete changelog at
+  ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/v2.14/v2.14-rc3-ChangeLog
+
+util-linux-ng 2.14-rc2
+* see docs/v2.14-ReleaseNotes or complete changelog at
+  ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/v2.14/v2.14-rc2-ChangeLog
+
+util-linux-ng 2.14-rc1
+* see docs/v2.14-ReleaseNotes or complete changelog at
+  ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/v2.14/v2.14-rc1-ChangeLog
+
+util-linux-ng 2.13
+
+* see docs/v2.13-ReleaseNotes or complete changelog at
+  ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/v2.13/v2.13-ChangeLog
+
+util-linux-ng 2.13-rc3
+
+* see docs/v2.13-ReleaseNotes or complete changelog at
+  ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/v2.13/v2.13-rc3-ChangeLog
+
+util-linux-ng 2.13-rc2
+
+* see docs/v2.13-ReleaseNotes or complete changelog at
+  ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/v2.13/v2.13-rc2-ChangeLog
+
+util-linux-ng 2.13-rc1
+
+* see docs/v2.13-ReleaseNotes or complete changelog at
+  ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/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 doesnt 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 necesarily 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 prefered.  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 (file)
index 0000000..3a14216
--- /dev/null
+++ b/README
@@ -0,0 +1,98 @@
+
+                          utils-linux-ng
+           (fork of util-linux, based on version 2.13-pre7)
+
+         util-linux is a random collection of Linux utilities
+
+WEB PAGE:
+
+     http://kernel.org/~kzak/util-linux-ng/
+
+
+MAILING LIST:
+
+      E-MAIL: util-linux-ng@vger.kernel.org
+      URL:    http://vger.kernel.org/vger-lists.html#util-linux-ng
+
+
+DOWNLOAD:
+
+      ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/
+
+
+SOURCE CODE:
+
+      Web interface:
+          http://git.kernel.org/?p=utils/util-linux-ng/util-linux-ng.git
+      Checkout:
+          git clone git://git.kernel.org/pub/scm/utils/util-linux-ng/util-linux-ng.git util-linux-ng
+
+NLS (PO TRANSLATIONS):
+
+      PO files are maintained by:
+          http://translationproject.org/domain/util-linux-ng.html
+
+NEUTRALITY:
+
+      The stuff in util-linux-ng should be rather distribution-neutral.
+      No RPMs/DEBs/... are provided - get yours from your distributor.
+
+
+VERSION SCHEMA:
+
+      Standard releases:
+
+          <major>.<minor>[.<maint>[.<bugfix>]]
+
+             major = fatal and deep changes
+             minor = typical release with new fetures
+             maint = maintenance releases; bug fixes only
+             bugfix = unplanned releases for critical/security bugs
+
+      Development releases:
+
+         <major>.<minor><suffix>
+
+             suffix = "devel" or "-rc<N>"
+
+
+COMPILATION:
+
+      See the INSTALL file for more details.
+
+      Notes:
+            * 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"
+
+              This feature is currently supported for chfn, chsh, newgrp,
+              write, mount, and umount.
+
+
+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 be work in environment where is not installed the
+      NSS modules.
+
+      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/README.devel b/README.devel
new file mode 100644 (file)
index 0000000..d813574
--- /dev/null
@@ -0,0 +1,117 @@
+
+ Notes for util-linux-ng developers
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+AUTOTOOLS:
+
+     * "./autogen.sh" generates all necessary files (run it after checkout from
+       git)
+
+     * "make distclean" removes all unnecessary files, but code is still possible
+       recompile by "./configure; make"
+
+     * "make dist-gzip" (or -bzip2) creates tarball which is possible use without
+      autogen.sh
+
+
+PATCHES:
+
+     * send your patches to the mailing list or to upstream maintainer
+       (see the AUTHORS file)
+
+     * diff -u
+
+     * don't include generated (autotools) stuff to your patches
+       (hint: use git-clean [-X])
+
+     * 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.
+
+     * 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
+
+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
+
+
+SCM (source code management):
+
+     git clone git://git.kernel.org/pub/scm/utils/util-linux-ng/util-linux-ng.git util-linux-ng
+
+
+    * 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/README.licensing b/README.licensing
new file mode 100644 (file)
index 0000000..d9af192
--- /dev/null
@@ -0,0 +1,20 @@
+
+The project utils-linux-ng doesn't use same license for all code. There are
+code with:
+
+   * 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)
+
+   * BSD with advertising
+
+   * Public Domain
+
+Please, check 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/TODO b/TODO
new file mode 100644 (file)
index 0000000..44fb2f8
--- /dev/null
+++ b/TODO
@@ -0,0 +1,146 @@
+libblkid
+--------
+
+ - add command line interface for blkid_probe_filter_types():
+
+       # blkid -p -o udev --filter-type nofat
+
+ - (?) we need to ignore cache and config files when the files are writable
+   for non-root users and the library is linked with suid programs
+
+ - add -<BE|LE> suffix to test images for native-endian filesystems (e.g. swap)
+   and add support for such functionality to tests/ts/blkid/low-probe
+
+ - do we really need to depend on libuuid? Maybe the default should be
+   use in-tree code rather and link against libuuid -- especially when we
+   need it for uuid_unparse() only.
+
+ - consolidate "getsize" stuff (see getsize.c and lib/blkdev.c)
+
+ - cleanup __attribute__ usage
+
+ - add stripe size / alignment retrival support to libbkid for use
+   with mkfs.  This would allow to deprecate libdisk from xfsprogs (1)
+   in favour of a common libblkid.
+
+   [ -- Christoph Hellwig, 16 Feb 2009 ]
+   (1) http://git.kernel.org/?p=fs/xfs/xfsprogs-dev.git;a=tree;f=libdisk;
+
+ - use fstatat() in blkid__scan_dir()
+
+ - add values:
+
+       FSSIZE   -- filesystem size (klibc requirement)
+
+       SBOFFSET -- superblock offset; offset where SB was detected 
+                    (swapon requirement to check details from swap header)
+
+        MAGIC    -- magic string
+       MAGICLEN -- length of magic string
+
+fdisk(s)
+--------
+
+ * use off_t instead "long long"
+
+ * fdisk/* refactoring
+
+ * add GPT support
+
+misc
+----
+
+ * add a new command (unshare, clone, or so...) with all kinds of
+   clone(2) options.
+   http://thread.gmane.org/gmane.linux.utilities.util-linux-ng/2178
+
+ * add to lib/blkdev.c code for /proc/partitions parsing -- unfortunate we
+   duplicate this code in many places. The parser has to support unlimited
+   size (or 4096 bytes) of partition name.
+
+ * partx: copy sun.c, mac.c and dash.c from kpartx
+   git://git.kernel.org/pub/scm/linux/storage/multipath-tools/.git
+
+ * mkswap: use /proc/sys/kernel/random/uuid as a fallback solution for builds 
+   without libuuid
+
+ * swapon -s  -- LABELs support
+
+   Although mkswap has recently been -L option to create a label nothing appears to
+   have been change to swapon to display said labels. (rh#430386)
+
+ * use TZ=UTC for tests
+
+ * add NLS and err.h stuff to schedutils (chrt.c, taskset.c)
+
+ * add mllockall() and SCHED_FIFO to hwclock,
+   see http://lkml.org/lkml/2008/10/12/132
+ * use rpmatch() for all Y/N questions
+
+ * 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)
+
+ * agetty: use nl_langinfo() for days and months rather than hardcoded
+   English names.
+
+ * rewrite ipcs to use /proc/sys/kernel rather than unreliable syscalls
+   (there are problems with 32bit userspace on 64bit kernel)
+
+ * minix v3
+
+       From: Matthias Koenig <mkoenig@suse.de>
+       Date:   Tue, 25 Sep 2007 12:00:01 +0200
+
+       It seems that the kernel has support for minix fs v3
+       (though I have not tried it, just inspected some code when
+       trying to find a mkfs.minix issue).
+       It might be worth a thought implementing v3 support
+       (though I am not really sure how much people us minix fs ;-)
+       This might require some major code cleanup in mkfs.minix.
+
+ * rtcwake does not support wake from S5/off
+   http://bugzilla.redhat.com/show_bug.cgi?id=449115
+
+ * 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/aclocal.m4 b/aclocal.m4
new file mode 100644 (file)
index 0000000..1fc6081
--- /dev/null
@@ -0,0 +1,1121 @@
+# generated automatically by aclocal 1.11 -*- 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.63],,
+[m4_warning([this file was generated for autoconf 2.63.
+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 -*-
+# 
+# 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])dnl
+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.
+#
+#
+# Similar to PKG_CHECK_MODULES, make sure that the first instance of
+# this or PKG_CHECK_MODULES is called, or make sure 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_ifval([$2], [$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
+        _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
+
+       ifelse([$4], , [AC_MSG_ERROR(dnl
+[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
+])],
+               [AC_MSG_RESULT([no])
+                $4])
+elif test $pkg_failed = untried; then
+       ifelse([$4], , [AC_MSG_FAILURE(dnl
+[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/>.])],
+               [$4])
+else
+       $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
+       $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
+        AC_MSG_RESULT([yes])
+       ifelse([$3], , :, [$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], [],
+      [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])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
+])
+
+# 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])])
+
+# 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) 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/gettext.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])
diff --git a/autogen.sh b/autogen.sh
new file mode 100755 (executable)
index 0000000..61b7bd9
--- /dev/null
@@ -0,0 +1,95 @@
+#!/bin/sh
+
+#
+# Helps generate autoconf/automake stuff, when code is checked out from SCM.
+#
+# Copyright (C) 2006-2009 - Karel Zak <kzak@redhat.com>
+#
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+THEDIR=`pwd`
+cd $srcdir
+DIE=0
+
+(autopoint --version) < /dev/null > /dev/null 2>&1 || {
+        echo
+        echo "You must have autopoint installed to generate util-linux-ng build system.."
+        echo "Download the appropriate package for your distribution,"
+        echo "or see http://www.gnu.org/software/gettext"
+        DIE=1
+}
+(autoconf --version) < /dev/null > /dev/null 2>&1 || {
+       echo
+       echo "You must have autoconf installed to generate util-linux-ng build system."
+       echo
+       echo "Download the appropriate package for your distribution,"
+       echo "or see http://www.gnu.org/software/autoconf"
+       DIE=1
+}
+
+#(libtool --version) < /dev/null > /dev/null 2>&1 || {
+#      echo
+#      echo "You must have libtool-2 installed to generate util-linux-ng build system."
+#      echo "Download the appropriate package for your distribution,"
+#      echo "or see http://www.gnu.org/software/libtool"
+#      DIE=1
+#}
+
+(automake --version) < /dev/null > /dev/null 2>&1 || {
+       echo
+       echo "You must have automake installed to generate util-linux-ng build system."
+       echo 
+       echo "Download the appropriate package for your distribution,"
+       echo "or see http://www.gnu.org/software/automake"
+       DIE=1
+}
+(autoheader --version) < /dev/null > /dev/null 2>&1 || {
+       echo
+       echo "You must have autoheader installed to generate util-linux-ng build system."
+       echo 
+       echo "Download the appropriate package for your distribution,"
+       echo "or see http://www.gnu.org/software/autoheader"
+       DIE=1
+}
+if test "$DIE" -eq 1; then
+       exit 1
+fi
+
+test -f mount/mount.c || {
+       echo "You must run this script in the top-level util-linux-ng directory"
+       exit 1
+}
+
+#ltver=$(libtoolize --version | awk '/^libtoolize/ { print $4 }')
+#test ${ltver##2.} == "$ltver" && {
+#      echo "You must have libtool version >= 2.x.x, but you have $ltver."
+#      exit 1
+#}
+
+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)"
+echo
+
+set -e
+autopoint --force $AP_OPTS
+#libtoolize --force --copy $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 (file)
index 0000000..95685f2
--- /dev/null
@@ -0,0 +1,469 @@
+/* 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
+
+/* Define to 1 if you have the <blkid/blkid.h> header file. */
+#undef HAVE_BLKID_BLKID_H
+
+/* Define to 1 if you have the blkid_evaluate_tag(). */
+#undef HAVE_BLKID_EVALUATE_TAG
+
+/* Define to 1 if you have the <blkid.h> header file. */
+#undef HAVE_BLKID_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 `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 `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 <dlfcn.h> header file. */
+#undef HAVE_DLFCN_H
+
+/* Define to 1 if you have the <errno.h> header file. */
+#undef HAVE_ERRNO_H
+
+/* Define to 1 if you have the <err.h> header file. */
+#undef HAVE_ERR_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 `getdomainname' function. */
+#undef HAVE_GETDOMAINNAME
+
+/* Define to 1 if you have the `getdtablesize' function. */
+#undef HAVE_GETDTABLESIZE
+
+/* 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 to 1 if you have the `get_current_dir_name' function. */
+#undef HAVE_GET_CURRENT_DIR_NAME
+
+/* Define if you have the iconv() function. */
+#undef HAVE_ICONV
+
+/* Define to 1 if you have the `inet_aton' function. */
+#undef HAVE_INET_ATON
+
+/* 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 `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
+
+/* 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 `util' library (-lutil). */
+#undef HAVE_LIBUTIL
+
+/* Define to 1 if you have the -luuid. */
+#undef HAVE_LIBUUID
+
+/* Define to 1 if you have the `z' library (-lz). */
+#undef HAVE_LIBZ
+
+/* 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/compiler.h> header file. */
+#undef HAVE_LINUX_COMPILER_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 `llseek' function. */
+#undef HAVE_LLSEEK
+
+/* Define to 1 if you have the <locale.h> header file. */
+#undef HAVE_LOCALE_H
+
+/* Define to 1 if you have the `lseek64' function. */
+#undef HAVE_LSEEK64
+
+/* 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 <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 `personality' function. */
+#undef HAVE_PERSONALITY
+
+/* Define to 1 if you have the `prctl' function. */
+#undef HAVE_PRCTL
+
+/* Define to 1 if you have the <pty.h> header file. */
+#undef HAVE_PTY_H
+
+/* Define to 1 if you have the <rpcsvc/nfs_prot.h> header file. */
+#undef HAVE_RPCSVC_NFS_PROT_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 <scsi/scsi.h> header file. */
+#undef HAVE_SCSI_SCSI_H
+
+/* 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 <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 <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 `strtoull' function. */
+#undef HAVE_STRTOULL
+
+/* Define to 1 if `c_line' is 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/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/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/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 you have the <sys/user.h> header file. */
+#undef HAVE_SYS_USER_H
+
+/* Does struct tm have a field tm_gmtoff? */
+#undef HAVE_TM_GMTOFF
+
+/* 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 `updwtmp' function. */
+#undef HAVE_UPDWTMP
+
+/* Define to 1 if you want to use uuid daemon. */
+#undef HAVE_UUIDD
+
+/* Define to 1 if you have the <uuid.h> header file. */
+#undef HAVE_UUID_H
+
+/* Define to 1 if you have the <uuid/uuid.h> header file. */
+#undef HAVE_UUID_UUID_H
+
+/* Do we have wide character support? */
+#undef HAVE_WIDECHAR
+
+/* Do we have __progname? */
+#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
+
+/* 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
+
+/* Do we need -lcrypt? */
+#undef NEED_LIBCRYPT
+
+/* 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 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 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 sched_getaffinity */
+#undef SYS_sched_getaffinity
+
+/* If the compiler supports a TLS storage class define it to that here */
+#undef TLS
+
+/* 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
diff --git a/config/config.guess b/config/config.guess
new file mode 100755 (executable)
index 0000000..da83314
--- /dev/null
@@ -0,0 +1,1561 @@
+#! /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
+#   Free Software Foundation, Inc.
+
+timestamp='2009-04-27'
+
+# 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 <per@bothner.com>.
+# Please send patches to <config-patches@gnu.org>.  Submit a context
+# diff and a properly formatted 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.
+#
+# The plan is that this can be called by configure scripts if you
+# don't specify an explicit build system type.
+
+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 __ELF__ >/dev/null
+               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: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 __LP64__ >/dev/null
+           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*:[3456]*)
+       case ${UNAME_MACHINE} in
+           x86)
+               echo i586-pc-interix${UNAME_RELEASE}
+               exit ;;
+           EM64T | authenticamd | genuineintel)
+               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 ;;
+    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 ;;
+    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 ;;
+    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:*:*)
+       eval $set_cc_for_build
+       sed 's/^        //' << EOF >$dummy.c
+       #undef CPU
+       #undef mips
+       #undef mipsel
+       #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+       CPU=mipsel
+       #else
+       #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+       CPU=mips
+       #else
+       CPU=
+       #endif
+       #endif
+EOF
+       eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
+           /^CPU/{
+               s: ::g
+               p
+           }'`"
+       test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+       ;;
+    mips64:Linux:*:*)
+       eval $set_cc_for_build
+       sed 's/^        //' << EOF >$dummy.c
+       #undef CPU
+       #undef mips64
+       #undef mips64el
+       #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+       CPU=mips64el
+       #else
+       #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+       CPU=mips64
+       #else
+       CPU=
+       #endif
+       #endif
+EOF
+       eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
+           /^CPU/{
+               s: ::g
+               p
+           }'`"
+       test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+       ;;
+    or32:Linux:*:*)
+       echo or32-unknown-linux-gnu
+       exit ;;
+    ppc:Linux:*:*)
+       echo powerpc-unknown-linux-gnu
+       exit ;;
+    ppc64:Linux:*:*)
+       echo powerpc64-unknown-linux-gnu
+       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 ld.so.1 >/dev/null
+       if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
+       echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+       exit ;;
+    padre:Linux:*:*)
+       echo sparc-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 ;;
+    parisc64:Linux:*:* | hppa64:Linux:*:*)
+       echo hppa64-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:Linux:*:*)
+       # The BFD linker knows what the default object file format is, so
+       # first see if it will tell us. cd to the root directory to prevent
+       # problems with other programs or directories called `ld' in the path.
+       # Set LC_ALL=C to ensure ld outputs messages in English.
+       ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
+                        | sed -ne '/supported targets:/!d
+                                   s/[         ][      ]*/ /g
+                                   s/.*supported targets: *//
+                                   s/ .*//
+                                   p'`
+        case "$ld_supported_targets" in
+         elf32-i386)
+               TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
+               ;;
+         a.out-i386-linux)
+               echo "${UNAME_MACHINE}-pc-linux-gnuaout"
+               exit ;;
+         "")
+               # Either a pre-BFD a.out linker (linux-gnuoldld) or
+               # one that does not give us useful --help.
+               echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
+               exit ;;
+       esac
+       # Determine whether the default compiler is a.out or elf
+       eval $set_cc_for_build
+       sed 's/^        //' << EOF >$dummy.c
+       #include <features.h>
+       #ifdef __ELF__
+       # ifdef __GLIBC__
+       #  if __GLIBC__ >= 2
+       LIBC=gnu
+       #  else
+       LIBC=gnulibc1
+       #  endif
+       # else
+       LIBC=gnulibc1
+       # endif
+       #else
+       #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
+       LIBC=gnu
+       #else
+       LIBC=gnuaout
+       #endif
+       #endif
+       #ifdef __dietlibc__
+       LIBC=dietlibc
+       #endif
+EOF
+       eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
+           /^LIBC/{
+               s: ::g
+               p
+           }'`"
+       test x"${LIBC}" != x && {
+               echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+               exit
+       }
+       test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; 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.0*:*)
+       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.0*:*)
+       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
+           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 (executable)
index 0000000..4db13e5
--- /dev/null
@@ -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 (executable)
index 0000000..a39437d
--- /dev/null
@@ -0,0 +1,1686 @@
+#! /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
+#   Free Software Foundation, Inc.
+
+timestamp='2009-04-17'
+
+# 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 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.
+
+# 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)
+               os=
+               basic_machine=$1
+               ;;
+       -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 \
+       | 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 \
+       | v850 | v850e \
+       | we32k \
+       | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
+       | z8k | z80)
+               basic_machine=$basic_machine-unknown
+               ;;
+       m6811 | m68hc11 | m6812 | m68hc12)
+               # 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-* \
+       | 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-* \
+       | 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-* \
+       | 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
+               ;;
+       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
+               ;;
+       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.
+       -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* | -sunos | -sunos[34]*\
+             | -hpux* | -unos* | -osf* | -luna* | -dgux* | -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*)
+       # 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
+                               ;;
+                       -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 (executable)
index 0000000..df8eea7
--- /dev/null
@@ -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/include-Makefile.am b/config/include-Makefile.am
new file mode 100644 (file)
index 0000000..f007769
--- /dev/null
@@ -0,0 +1,29 @@
+AM_CPPFLAGS = -include $(top_builddir)/config.h -I$(top_srcdir)/include \
+       -DLOCALEDIR=\"$(localedir)\"
+AM_CFLAGS = -fsigned-char
+AM_LDFLAGS =
+
+# 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)
+#
+# blkid
+ul_libblkid_srcdir = $(top_srcdir)/shlibs/blkid/src
+ul_libblkid_builddir = $(top_builddir)/shlibs/blkid/src
+ul_libblkid_la = $(top_builddir)/shlibs/blkid/src/libblkid.la
+
+$(ul_libblkid_la):
+       $(MAKE) -C $(ul_libblkid_builddir)
+
+# uuid
+ul_libuuid_srcdir = $(top_srcdir)/shlibs/uuid/src
+ul_libuuid_builddir = $(top_builddir)/shlibs/uuid/src
+ul_libuuid_la = $(top_builddir)/shlibs/uuid/src/libuuid.la
+
+$(ul_libuuid_la):
+       $(MAKE) -C $(ul_libuuid_builddir)
+
diff --git a/config/install-sh b/config/install-sh
new file mode 100755 (executable)
index 0000000..6781b98
--- /dev/null
@@ -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 (executable)
index 0000000..6939dcc
--- /dev/null
@@ -0,0 +1,8406 @@
+# Generated from ltmain.m4sh.
+
+# ltmain.sh (GNU libtool) 2.2.6
+# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 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.
+
+# 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
+#     --tag=TAG            use configuration variables from tag TAG
+# -v, --verbose            print informational messages (default)
+#     --version            print version information
+# -h, --help               print short or long 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.
+# 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.2.6
+#       automake:              $automake_version
+#       autoconf:              $autoconf_version
+#
+# Report bugs to <bug-libtool@gnu.org>.
+
+PROGRAM=ltmain.sh
+PACKAGE=libtool
+VERSION=2.2.6
+TIMESTAMP=""
+package_revision=1.3012
+
+# 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
+
+# NLS nuisances: We save the old values to restore during execute mode.
+# Only set LANG and LC_ALL to C if already set.
+# These must not be set unconditionally because not all systems understand
+# e.g. LANG=C (notably SCO).
+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
+
+$lt_unset CDPATH
+
+
+
+
+
+: ${CP="cp -f"}
+: ${ECHO="echo"}
+: ${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_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 "X${1}" | $Xsed -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 "X${1}" | $Xsed -e "$basename"`
+}
+
+# Generated shell functions inserted here.
+
+# 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"
+
+# The name of this program:
+# In the unlikely event $progname began with a '-', it would play havoc with
+# func_echo (imagine progname=-n), so we prepend ./ in that case:
+func_dirname_and_basename "$progpath"
+progname=$func_basename_result
+case $progname in
+  -*) progname=./$progname ;;
+esac
+
+# 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'
+
+# 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${mode+: }$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_error arg...
+# Echo program name prefixed message to standard error.
+func_error ()
+{
+    $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2
+}
+
+# func_warning arg...
+# Echo program name prefixed warning message to standard error.
+func_warning ()
+{
+    $opt_warning && $ECHO "$progname${mode+: }$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 "X$my_directory_path" | $Xsed -e "$dirname"`
+      done
+      my_dir_list=`$ECHO "X$my_dir_list" | $Xsed -e '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 "X$my_tmpdir" | $Xsed
+}
+
+
+# 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 "X$1" | $Xsed -e "$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 "X$1" | $Xsed \
+           -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_version
+# Echo version message to standard output and exit.
+func_version ()
+{
+    $SED -n '/^# '$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 ()
+{
+    $SED -n '/^# Usage:/,/# -h/ {
+        s/^# //
+       s/^# *$//
+       s/\$progname/'$progname'/
+       p
+    }' < "$progpath"
+    $ECHO
+    $ECHO "run \`$progname --help | more' for full usage"
+    exit $?
+}
+
+# func_help
+# Echo long help message to standard output and exit.
+func_help ()
+{
+    $SED -n '/^# Usage:/,/# Report bugs to/ {
+        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
+     }' < "$progpath"
+    exit $?
+}
+
+# func_missing_arg argname
+# Echo program name prefixed message to standard error and set global
+# exit_cmd.
+func_missing_arg ()
+{
+    func_error "missing argument for $1"
+    exit_cmd=exit
+}
+
+exit_cmd=:
+
+
+
+
+
+# Check that we have a working $ECHO.
+if test "X$1" = X--no-reexec; then
+  # Discard the --no-reexec flag, and continue.
+  shift
+elif test "X$1" = X--fallback-echo; then
+  # Avoid inline document here, it may be left over
+  :
+elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then
+  # Yippee, $ECHO works!
+  :
+else
+  # Restart under the correct shell, and then maybe $ECHO will work.
+  exec $SHELL "$progpath" --no-reexec ${1+"$@"}
+fi
+
+if test "X$1" = X--fallback-echo; then
+  # used as fallback echo
+  shift
+  cat <<EOF
+$*
+EOF
+  exit $EXIT_SUCCESS
+fi
+
+magic="%%%MAGIC variable%%%"
+magic_exe="%%%MAGIC EXE variable%%%"
+
+# Global variables.
+# $mode is unset
+nonopt=
+execute_dlfiles=
+preserve_args=
+lo2o="s/\\.lo\$/.${objext}/"
+o2lo="s/\\.${objext}\$/.lo/"
+extracted_archives=
+extracted_serial=0
+
+opt_dry_run=false
+opt_duplicate_deps=false
+opt_silent=false
+opt_debug=:
+
+# 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_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
+}
+
+# Parse options once, thoroughly.  This comes as soon as possible in
+# the script to make things like `libtool --version' happen quickly.
+{
+
+  # 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
+
+  # Parse non-mode specific arguments:
+  while test "$#" -gt 0; do
+    opt="$1"
+    shift
+
+    case $opt in
+      --config)                func_config                                     ;;
+
+      --debug)         preserve_args="$preserve_args $opt"
+                       func_echo "enabling shell trace mode"
+                       opt_debug='set -x'
+                       $opt_debug
+                       ;;
+
+      -dlopen)         test "$#" -eq 0 && func_missing_arg "$opt" && break
+                       execute_dlfiles="$execute_dlfiles $1"
+                       shift
+                       ;;
+
+      --dry-run | -n)  opt_dry_run=:                                   ;;
+      --features)       func_features                                  ;;
+      --finish)                mode="finish"                                   ;;
+
+      --mode)          test "$#" -eq 0 && func_missing_arg "$opt" && break
+                       case $1 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
+
+                       mode="$1"
+                       shift
+                       ;;
+
+      --preserve-dup-deps)
+                       opt_duplicate_deps=:                            ;;
+
+      --quiet|--silent)        preserve_args="$preserve_args $opt"
+                       opt_silent=:
+                       ;;
+
+      --verbose| -v)   preserve_args="$preserve_args $opt"
+                       opt_silent=false
+                       ;;
+
+      --tag)           test "$#" -eq 0 && func_missing_arg "$opt" && break
+                       preserve_args="$preserve_args $opt $1"
+                       func_enable_tag "$1"    # tagname is set here
+                       shift
+                       ;;
+
+      # Separate optargs to long options:
+      -dlopen=*|--mode=*|--tag=*)
+                       func_opt_split "$opt"
+                       set dummy "$func_opt_split_opt" "$func_opt_split_arg" ${1+"$@"}
+                       shift
+                       ;;
+
+      -\?|-h)          func_usage                                      ;;
+      --help)          opt_help=:                                      ;;
+      --version)       func_version                                    ;;
+
+      -*)              func_fatal_help "unrecognized option \`$opt'"   ;;
+
+      *)               nonopt="$opt"
+                       break
+                       ;;
+    esac
+  done
+
+
+  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_duplicate_deps
+      ;;
+  esac
+
+  # Having warned about all mis-specified options, bail out if
+  # anything was wrong.
+  $exit_cmd $EXIT_FAILURE
+}
+
+# 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
+}
+
+
+## ----------- ##
+##    Main.    ##
+## ----------- ##
+
+$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
+
+  test -z "$mode" && func_fatal_error "error: you must specify a MODE."
+
+
+  # Darwin sucks
+  eval std_shrext=\"$shrext_cmds\"
+
+
+  # Only execute mode is allowed to have -dlopen flags.
+  if test -n "$execute_dlfiles" && test "$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=$mode' for more information."
+}
+
+
+# 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_ltwrapper_scriptname_result=""
+    if func_ltwrapper_executable_p "$1"; then
+       func_dirname_and_basename "$1" "" "."
+       func_stripname '' '.exe' "$func_basename_result"
+       func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
+    fi
+}
+
+# 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_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_quote_for_eval "$arg"
+       CC_quoted="$CC_quoted $func_quote_for_eval_result"
+      done
+      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 "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) ;;
+      # 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_quote_for_eval "$arg"
+             CC_quoted="$CC_quoted $func_quote_for_eval_result"
+           done
+           case "$@ " in
+             " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*)
+             # 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}"
+    }
+}
+
+# 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)
+          pie_flag="$pie_flag $arg"
+         continue
+         ;;
+
+       -shared | -static | -prefer-pic | -prefer-non-pic)
+         later="$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_quote_for_eval "$arg"
+           lastarg="$lastarg $func_quote_for_eval_result"
+         done
+         IFS="$save_ifs"
+         func_stripname ' ' '' "$lastarg"
+         lastarg=$func_stripname_result
+
+         # Add the arguments to base_compile.
+         base_compile="$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_quote_for_eval "$lastarg"
+      base_compile="$base_compile $func_quote_for_eval_result"
+    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)
+      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 "X$srcfile" | $Xsed -e 's%^.*/%%' -e '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
+      removelist="$removelist $output_obj"
+      $ECHO "$srcfile" > "$lockfile"
+    fi
+
+    $opt_dry_run || $RM $removelist
+    removelist="$removelist $lockfile"
+    trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
+
+    if test -n "$fix_srcfile_path"; then
+      eval srcfile=\"$fix_srcfile_path\"
+    fi
+    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
+       command="$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
+       command="$command -o $obj"
+      fi
+
+      # Suppress compiler output if we already did a PIC compilation.
+      command="$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 "$mode" = compile && func_mode_compile ${1+"$@"}
+}
+
+func_mode_help ()
+{
+    # We need to display help for each of the modes.
+    case $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 building PIC objects only
+  -prefer-non-pic   try to building 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
+
+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 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
+  -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
+
+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 \`$mode'"
+        ;;
+    esac
+
+    $ECHO
+    $ECHO "Try \`$progname --help' for more information about other modes."
+
+    exit $?
+}
+
+  # Now that we've collected a possible --mode arg, show help if necessary
+  $opt_help && func_mode_help
+
+
+# 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 $execute_dlfiles; do
+      test -f "$file" \
+       || func_fatal_help "\`$file' is not a file"
+
+      dir=
+      case $file in
+      *.la)
+       # 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
+         dir="$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
+      -*) ;;
+      *)
+       # 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_quote_for_eval "$file"
+      args="$args $func_quote_for_eval_result"
+    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 "$mode" = execute && func_mode_execute ${1+"$@"}
+
+
+# func_mode_finish arg...
+func_mode_finish ()
+{
+    $opt_debug
+    libdirs="$nonopt"
+    admincmds=
+
+    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+      for dir
+      do
+       libdirs="$libdirs $dir"
+      done
+
+      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" || admincmds="$admincmds
+       $cmds"
+       fi
+      done
+    fi
+
+    # Exit here if they wanted silent mode.
+    $opt_silent && exit $EXIT_SUCCESS
+
+    $ECHO "X----------------------------------------------------------------------" | $Xsed
+    $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 "X----------------------------------------------------------------------" | $Xsed
+    exit $EXIT_SUCCESS
+}
+
+test "$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.
+       $ECHO "X$nonopt" | $GREP shtool >/dev/null; 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"
+    install_prog="$install_prog$func_quote_for_eval_result"
+
+    # We need to accept at least all the BSD install flags.
+    dest=
+    files=
+    opts=
+    prev=
+    install_type=
+    isdir=no
+    stripme=
+    for arg
+    do
+      if test -n "$dest"; then
+       files="$files $dest"
+       dest=$arg
+       continue
+      fi
+
+      case $arg in
+      -d) isdir=yes ;;
+      -f)
+       case " $install_prog " in
+       *[\\\ /]cp\ *) ;;
+       *) prev=$arg ;;
+       esac
+       ;;
+      -g | -m | -o)
+       prev=$arg
+       ;;
+      -s)
+       stripme=" -s"
+       continue
+       ;;
+      -*)
+       ;;
+      *)
+       # If the previous option needed an argument, then skip it.
+       if test -n "$prev"; then
+         prev=
+       else
+         dest=$arg
+         continue
+       fi
+       ;;
+      esac
+
+      # Aesthetically quote the argument.
+      func_quote_for_eval "$arg"
+      install_prog="$install_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 -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.
+       staticlibs="$staticlibs $file"
+       ;;
+
+      *.la)
+       # 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 "*) ;;
+         *) current_libdirs="$current_libdirs $libdir" ;;
+         esac
+       else
+         # Note the libdir as a future libdir.
+         case "$future_libdirs " in
+         *" $libdir "*) ;;
+         *) future_libdirs="$future_libdirs $libdir" ;;
+         esac
+       fi
+
+       func_dirname "$file" "/" ""
+       dir="$func_dirname_result"
+       dir="$dir$objdir"
+
+       if test -n "$relink_command"; then
+         # Determine the prefix the user has applied to our future dir.
+         inst_prefix_dir=`$ECHO "X$destdir" | $Xsed -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 "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
+         else
+           relink_command=`$ECHO "X$relink_command" | $Xsed -e "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_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" && staticlibs="$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 "X$lib" | $Xsed -e '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 "X$relink_command" | $Xsed -e '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 "X$file$stripped_ext" | $Xsed -e "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 "$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
+
+/* 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 "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+         for progfile in $progfiles; do
+           func_verbose "extracting global C symbols from \`$progfile'"
+           $opt_dry_run || eval "$NM $progfile | $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"
+         $opt_dry_run || {
+           eval '$ECHO ": $name " >> "$nlist"'
+           eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlist'"
+         }
+       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;
+"
+         case $host in
+         *cygwin* | *mingw* | *cegcc* )
+           $ECHO >> "$output_objdir/$my_dlsyms" "\
+/* DATA imports from DLLs on WIN32 con't be const, because
+   runtime relocations are performed -- see ld's documentation
+   on pseudo-relocs.  */"
+           lt_dlsym_const= ;;
+         *osf5*)
+           echo >> "$output_objdir/$my_dlsyms" "\
+/* This system does not cope well with relocations in const data */"
+           lt_dlsym_const= ;;
+         *)
+           lt_dlsym_const=const ;;
+         esac
+
+         $ECHO >> "$output_objdir/$my_dlsyms" "\
+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) ;;
+         *) symtab_cflags="$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 "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
+           finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
+         else
+           compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
+           finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
+         fi
+         ;;
+       *)
+         compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
+         finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "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 "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
+      finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "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.
+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
+    if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
+       $EGREP 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
+      win32_nmres=`eval $NM -f posix -A $1 |
+       $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_extract_an_archive dir oldlib
+func_extract_an_archive ()
+{
+    $opt_debug
+    f_ex_an_ar_dir="$1"; shift
+    f_ex_an_ar_oldlib="$1"
+    func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" 'exit $?'
+    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 | $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 | $NL2SP`
+    done
+
+    func_extract_archives_result="$my_oldobjs"
+}
+
+
+
+# func_emit_wrapper_part1 [arg=no]
+#
+# Emit the first part of a libtool wrapper script on stdout.
+# For more information, see the description associated with
+# func_emit_wrapper(), below.
+func_emit_wrapper_part1 ()
+{
+       func_emit_wrapper_part1_arg1=no
+       if test -n "$1" ; then
+         func_emit_wrapper_part1_arg1=$1
+       fi
+
+       $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.
+Xsed='${SED} -e 1s/^X//'
+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
+    ECHO=\"$qecho\"
+    file=\"\$0\"
+    # Make sure echo works.
+    if test \"X\$1\" = X--no-reexec; then
+      # Discard the --no-reexec flag, and continue.
+      shift
+    elif test \"X\`{ \$ECHO '\t'; } 2>/dev/null\`\" = 'X\t'; then
+      # Yippee, \$ECHO works!
+      :
+    else
+      # Restart under the correct shell, and then maybe \$ECHO will work.
+      exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
+    fi
+  fi\
+"
+       $ECHO "\
+
+  # Find the directory that this script lives in.
+  thisdir=\`\$ECHO \"X\$file\" | \$Xsed -e '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 \"X\$file\" | \$Xsed -e '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 \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
+    file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
+  done
+"
+}
+# end: func_emit_wrapper_part1
+
+# func_emit_wrapper_part2 [arg=no]
+#
+# Emit the second part of a libtool wrapper script on stdout.
+# For more information, see the description associated with
+# func_emit_wrapper(), below.
+func_emit_wrapper_part2 ()
+{
+       func_emit_wrapper_part2_arg1=no
+       if test -n "$1" ; then
+         func_emit_wrapper_part2_arg1=$1
+       fi
+
+       $ECHO "\
+
+  # Usually 'no', except on cygwin/mingw when embedded into
+  # the cwrapper.
+  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_part2_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 \"X\$thisdir\" | \$Xsed -e '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"
+
+       # 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 \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
+
+    export $shlibpath_var
+"
+       fi
+
+       # fixup the dll searchpath if we need to.
+       if test -n "$dllsearchpath"; then
+         $ECHO "\
+    # Add the dll search path components to the executable PATH
+    PATH=$dllsearchpath:\$PATH
+"
+       fi
+
+       $ECHO "\
+    if test \"\$libtool_execute_magic\" != \"$magic\"; then
+      # Run the actual program with our arguments.
+"
+       case $host in
+       # Backslashes separate directories on plain windows
+       *-*-mingw | *-*-os2* | *-cegcc*)
+         $ECHO "\
+      exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
+"
+         ;;
+
+       *)
+         $ECHO "\
+      exec \"\$progdir/\$program\" \${1+\"\$@\"}
+"
+         ;;
+       esac
+       $ECHO "\
+      \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
+      exit 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\
+"
+}
+# end: func_emit_wrapper_part2
+
+
+# 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=no
+       if test -n "$1" ; then
+         func_emit_wrapper_arg1=$1
+       fi
+
+       # split this up so that func_emit_cwrapperexe_src
+       # can call each part independently.
+       func_emit_wrapper_part1 "${func_emit_wrapper_arg1}"
+       func_emit_wrapper_part2 "${func_emit_wrapper_arg1}"
+}
+
+
+# func_to_host_path arg
+#
+# Convert paths to host format when used with build tools.
+# Intended for use with "native" mingw (where libtool itself
+# is running under the msys shell), or in the following cross-
+# build environments:
+#    $build          $host
+#    mingw (msys)    mingw  [e.g. native]
+#    cygwin          mingw
+#    *nix + wine     mingw
+# where wine is equipped with the `winepath' executable.
+# In the native mingw case, the (msys) shell automatically
+# converts paths for any non-msys applications it launches,
+# but that facility isn't available from inside the cwrapper.
+# Similar accommodations are necessary for $host mingw and
+# $build cygwin.  Calling this function does no harm for other
+# $host/$build combinations not listed above.
+#
+# ARG is the path (on $build) that should be converted to
+# the proper representation for $host. The result is stored
+# in $func_to_host_path_result.
+func_to_host_path ()
+{
+  func_to_host_path_result="$1"
+  if test -n "$1" ; then
+    case $host in
+      *mingw* )
+        lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
+        case $build in
+          *mingw* ) # actually, msys
+            # awkward: cmd appends spaces to result
+            lt_sed_strip_trailing_spaces="s/[ ]*\$//"
+            func_to_host_path_tmp1=`( cmd //c echo "$1" |\
+              $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
+            func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
+              $SED -e "$lt_sed_naive_backslashify"`
+            ;;
+          *cygwin* )
+            func_to_host_path_tmp1=`cygpath -w "$1"`
+            func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
+              $SED -e "$lt_sed_naive_backslashify"`
+            ;;
+          * )
+            # 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_to_host_path_tmp1=`winepath -w "$1" 2>/dev/null`
+            if test "$?" -eq 0 && test -n "${func_to_host_path_tmp1}"; then
+              func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
+                $SED -e "$lt_sed_naive_backslashify"`
+            else
+              # Allow warning below.
+              func_to_host_path_result=""
+            fi
+            ;;
+        esac
+        if test -z "$func_to_host_path_result" ; then
+          func_error "Could not determine host path corresponding to"
+          func_error "  '$1'"
+          func_error "Continuing, but uninstalled executables may not work."
+          # Fallback:
+          func_to_host_path_result="$1"
+        fi
+        ;;
+    esac
+  fi
+}
+# end: func_to_host_path
+
+# func_to_host_pathlist arg
+#
+# Convert pathlists to host format when used with build tools.
+# See func_to_host_path(), above. This function supports the
+# following $build/$host combinations (but does no harm for
+# combinations not listed here):
+#    $build          $host
+#    mingw (msys)    mingw  [e.g. native]
+#    cygwin          mingw
+#    *nix + wine     mingw
+#
+# 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.
+#
+# ARG is a pathlist (on $build) that should be converted to
+# the proper representation on $host. The result is stored
+# in $func_to_host_pathlist_result.
+func_to_host_pathlist ()
+{
+  func_to_host_pathlist_result="$1"
+  if test -n "$1" ; then
+    case $host in
+      *mingw* )
+        lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
+        # 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_to_host_pathlist_tmp2="$1"
+        # Once set for this call, this variable should not be
+        # reassigned. It is used in tha fallback case.
+        func_to_host_pathlist_tmp1=`echo "$func_to_host_pathlist_tmp2" |\
+          $SED -e 's|^:*||' -e 's|:*$||'`
+        case $build in
+          *mingw* ) # Actually, msys.
+            # Awkward: cmd appends spaces to result.
+            lt_sed_strip_trailing_spaces="s/[ ]*\$//"
+            func_to_host_pathlist_tmp2=`( cmd //c echo "$func_to_host_pathlist_tmp1" |\
+              $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
+            func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
+              $SED -e "$lt_sed_naive_backslashify"`
+            ;;
+          *cygwin* )
+            func_to_host_pathlist_tmp2=`cygpath -w -p "$func_to_host_pathlist_tmp1"`
+            func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
+              $SED -e "$lt_sed_naive_backslashify"`
+            ;;
+          * )
+            # unfortunately, winepath doesn't convert pathlists
+            func_to_host_pathlist_result=""
+            func_to_host_pathlist_oldIFS=$IFS
+            IFS=:
+            for func_to_host_pathlist_f in $func_to_host_pathlist_tmp1 ; do
+              IFS=$func_to_host_pathlist_oldIFS
+              if test -n "$func_to_host_pathlist_f" ; then
+                func_to_host_path "$func_to_host_pathlist_f"
+                if test -n "$func_to_host_path_result" ; then
+                  if test -z "$func_to_host_pathlist_result" ; then
+                    func_to_host_pathlist_result="$func_to_host_path_result"
+                  else
+                    func_to_host_pathlist_result="$func_to_host_pathlist_result;$func_to_host_path_result"
+                  fi
+                fi
+              fi
+              IFS=:
+            done
+            IFS=$func_to_host_pathlist_oldIFS
+            ;;
+        esac
+        if test -z "$func_to_host_pathlist_result" ; then
+          func_error "Could not determine the host path(s) corresponding to"
+          func_error "  '$1'"
+          func_error "Continuing, but uninstalled executables may not work."
+          # Fallback. This may break if $1 contains DOS-style drive
+          # specifications. The fix is not to complicate the expression
+          # below, but for the user to provide a working wine installation
+          # with winepath so that path translation in the cross-to-mingw
+          # case works properly.
+          lt_replace_pathsep_nix_to_dos="s|:|;|g"
+          func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp1" |\
+            $SED -e "$lt_replace_pathsep_nix_to_dos"`
+        fi
+        # Now, add the leading and trailing path separators back
+        case "$1" in
+          :* ) func_to_host_pathlist_result=";$func_to_host_pathlist_result"
+            ;;
+        esac
+        case "$1" in
+          *: ) func_to_host_pathlist_result="$func_to_host_pathlist_result;"
+            ;;
+        esac
+        ;;
+    esac
+  fi
+}
+# end: func_to_host_pathlist
+
+# 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.
+
+   Currently, it simply execs the wrapper *script* "$SHELL $output",
+   but could eventually absorb all of the scripts functionality and
+   exec $objdir/$outputname directly.
+*/
+EOF
+           cat <<"EOF"
+#include <stdio.h>
+#include <stdlib.h>
+#ifdef _MSC_VER
+# include <direct.h>
+# include <process.h>
+# include <io.h>
+# define setmode _setmode
+#else
+# include <unistd.h>
+# include <stdint.h>
+# ifdef __CYGWIN__
+#  include <io.h>
+#  define HAVE_SETENV
+#  ifdef __STRICT_ANSI__
+char *realpath (const char *, char *);
+int putenv (char *);
+int setenv (const char *, const char *, int);
+#  endif
+# 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>
+
+#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
+
+#ifdef _MSC_VER
+# define S_IXUSR _S_IEXEC
+# define stat _stat
+# ifndef _INTPTR_T_DEFINED
+#  define intptr_t int
+# endif
+#endif
+
+#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 */
+
+#ifdef __CYGWIN__
+# define FOPEN_WB "wb"
+#endif
+
+#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)
+
+#undef LTWRAPPER_DEBUGPRINTF
+#if defined DEBUGWRAPPER
+# define LTWRAPPER_DEBUGPRINTF(args) ltwrapper_debugprintf args
+static void
+ltwrapper_debugprintf (const char *fmt, ...)
+{
+    va_list args;
+    va_start (args, fmt);
+    (void) vfprintf (stderr, fmt, args);
+    va_end (args);
+}
+#else
+# define LTWRAPPER_DEBUGPRINTF(args)
+#endif
+
+const char *program_name = NULL;
+
+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_fatal (const char *message, ...);
+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_opt_process_env_set (const char *arg);
+void lt_opt_process_env_prepend (const char *arg);
+void lt_opt_process_env_append (const char *arg);
+int lt_split_name_value (const char *arg, char** name, char** value);
+void lt_update_exe_path (const char *name, const char *value);
+void lt_update_lib_path (const char *name, const char *value);
+
+static const char *script_text_part1 =
+EOF
+
+           func_emit_wrapper_part1 yes |
+               $SED -e 's/\([\\"]\)/\\\1/g' \
+                    -e 's/^/  "/' -e 's/$/\\n"/'
+           echo ";"
+           cat <<EOF
+
+static const char *script_text_part2 =
+EOF
+           func_emit_wrapper_part2 yes |
+               $SED -e 's/\([\\"]\)/\\\1/g' \
+                    -e 's/^/  "/' -e 's/$/\\n"/'
+           echo ";"
+
+           cat <<EOF
+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_pathlist "$temp_rpath"
+             cat <<EOF
+const char * LIB_PATH_VALUE   = "$func_to_host_pathlist_result";
+EOF
+           else
+             cat <<"EOF"
+const char * LIB_PATH_VALUE   = "";
+EOF
+           fi
+
+           if test -n "$dllsearchpath"; then
+              func_to_host_pathlist "$dllsearchpath:"
+             cat <<EOF
+const char * EXE_PATH_VARNAME = "PATH";
+const char * EXE_PATH_VALUE   = "$func_to_host_pathlist_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-"
+#define LTWRAPPER_OPTION_PREFIX_LENGTH  5
+
+static const size_t opt_prefix_len         = LTWRAPPER_OPTION_PREFIX_LENGTH;
+static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
+
+static const char *dumpscript_opt       = LTWRAPPER_OPTION_PREFIX "dump-script";
+
+static const size_t env_set_opt_len     = LTWRAPPER_OPTION_PREFIX_LENGTH + 7;
+static const char *env_set_opt          = LTWRAPPER_OPTION_PREFIX "env-set";
+  /* argument is putenv-style "foo=bar", value of foo is set to bar */
+
+static const size_t env_prepend_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 11;
+static const char *env_prepend_opt      = LTWRAPPER_OPTION_PREFIX "env-prepend";
+  /* argument is putenv-style "foo=bar", new value of foo is bar${foo} */
+
+static const size_t env_append_opt_len  = LTWRAPPER_OPTION_PREFIX_LENGTH + 10;
+static const char *env_append_opt       = LTWRAPPER_OPTION_PREFIX "env-append";
+  /* argument is putenv-style "foo=bar", new value of foo is ${foo}bar */
+
+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]));
+  LTWRAPPER_DEBUGPRINTF (("(main) argv[0]      : %s\n", argv[0]));
+  LTWRAPPER_DEBUGPRINTF (("(main) program_name : %s\n", program_name));
+
+  /* very simple arg parsing; don't want to rely on getopt */
+  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"
+         printf ("%s", script_text_part1);
+         printf ("%s", script_text_part2);
+         return 0;
+       }
+    }
+
+  newargz = XMALLOC (char *, argc + 1);
+  tmp_pathspec = find_executable (argv[0]);
+  if (tmp_pathspec == NULL)
+    lt_fatal ("Couldn't find %s", argv[0]);
+  LTWRAPPER_DEBUGPRINTF (("(main) found exe (before symlink chase) at : %s\n",
+                         tmp_pathspec));
+
+  actual_cwrapper_path = chase_symlinks (tmp_pathspec);
+  LTWRAPPER_DEBUGPRINTF (("(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;
+
+  LTWRAPPER_DEBUGPRINTF (("(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 */
+  lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
+  lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
+
+  newargc=0;
+  for (i = 1; i < argc; i++)
+    {
+      if (strncmp (argv[i], env_set_opt, env_set_opt_len) == 0)
+        {
+          if (argv[i][env_set_opt_len] == '=')
+            {
+              const char *p = argv[i] + env_set_opt_len + 1;
+              lt_opt_process_env_set (p);
+            }
+          else if (argv[i][env_set_opt_len] == '\0' && i + 1 < argc)
+            {
+              lt_opt_process_env_set (argv[++i]); /* don't copy */
+            }
+          else
+            lt_fatal ("%s missing required argument", env_set_opt);
+          continue;
+        }
+      if (strncmp (argv[i], env_prepend_opt, env_prepend_opt_len) == 0)
+        {
+          if (argv[i][env_prepend_opt_len] == '=')
+            {
+              const char *p = argv[i] + env_prepend_opt_len + 1;
+              lt_opt_process_env_prepend (p);
+            }
+          else if (argv[i][env_prepend_opt_len] == '\0' && i + 1 < argc)
+            {
+              lt_opt_process_env_prepend (argv[++i]); /* don't copy */
+            }
+          else
+            lt_fatal ("%s missing required argument", env_prepend_opt);
+          continue;
+        }
+      if (strncmp (argv[i], env_append_opt, env_append_opt_len) == 0)
+        {
+          if (argv[i][env_append_opt_len] == '=')
+            {
+              const char *p = argv[i] + env_append_opt_len + 1;
+              lt_opt_process_env_append (p);
+            }
+          else if (argv[i][env_append_opt_len] == '\0' && i + 1 < argc)
+            {
+              lt_opt_process_env_append (argv[++i]); /* don't copy */
+            }
+          else
+            lt_fatal ("%s missing required argument", env_append_opt);
+          continue;
+        }
+      if (strncmp (argv[i], ltwrapper_option_prefix, opt_prefix_len) == 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 ("Unrecognized option in %s namespace: '%s'",
+                    ltwrapper_option_prefix, argv[i]);
+        }
+      /* otherwise ... */
+      newargz[++newargc] = xstrdup (argv[i]);
+    }
+  newargz[++newargc] = NULL;
+
+  LTWRAPPER_DEBUGPRINTF     (("(main) lt_argv_zero : %s\n", (lt_argv_zero ? lt_argv_zero : "<NULL>")));
+  for (i = 0; i < newargc; i++)
+    {
+      LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d]   : %s\n", i, (newargz[i] ? newargz[i] : "<NULL>")));
+    }
+
+EOF
+
+           case $host_os in
+             mingw*)
+               cat <<"EOF"
+  /* execv doesn't actually work on mingw as expected on unix */
+  rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
+  if (rval == -1)
+    {
+      /* failed to start process */
+      LTWRAPPER_DEBUGPRINTF (("(main) failed to launch target \"%s\": errno = %d\n", lt_argv_zero, 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 ("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;
+
+  LTWRAPPER_DEBUGPRINTF (("(check_executable)  : %s\n",
+                         path ? (*path ? path : "EMPTY!") : "NULL!"));
+  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;
+
+  LTWRAPPER_DEBUGPRINTF (("(make_executable)   : %s\n",
+                         path ? (*path ? path : "EMPTY!") : "NULL!"));
+  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;
+
+  LTWRAPPER_DEBUGPRINTF (("(find_executable)   : %s\n",
+                         wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"));
+
+  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 ("getcwd failed");
+                 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 ("getcwd failed");
+  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)
+    {
+      LTWRAPPER_DEBUGPRINTF (("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
+       {
+         char *errstr = strerror (errno);
+         lt_fatal ("Error accessing file %s (%s)", tmp_pathspec, errstr);
+       }
+    }
+  XFREE (tmp_pathspec);
+
+  if (!has_symlinks)
+    {
+      return xstrdup (pathspec);
+    }
+
+  tmp_pathspec = realpath (pathspec, buf);
+  if (tmp_pathspec == 0)
+    {
+      lt_fatal ("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;
+}
+
+static void
+lt_error_core (int exit_status, const char *mode,
+              const char *message, va_list ap)
+{
+  fprintf (stderr, "%s: %s: ", program_name, mode);
+  vfprintf (stderr, message, ap);
+  fprintf (stderr, ".\n");
+
+  if (exit_status >= 0)
+    exit (exit_status);
+}
+
+void
+lt_fatal (const char *message, ...)
+{
+  va_list ap;
+  va_start (ap, message);
+  lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
+  va_end (ap);
+}
+
+void
+lt_setenv (const char *name, const char *value)
+{
+  LTWRAPPER_DEBUGPRINTF (("(lt_setenv) setting '%s' to '%s'\n",
+                          (name ? name : "<NULL>"),
+                          (value ? value : "<NULL>")));
+  {
+#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;
+}
+
+int
+lt_split_name_value (const char *arg, char** name, char** value)
+{
+  const char *p;
+  int len;
+  if (!arg || !*arg)
+    return 1;
+
+  p = strchr (arg, (int)'=');
+
+  if (!p)
+    return 1;
+
+  *value = xstrdup (++p);
+
+  len = strlen (arg) - strlen (*value);
+  *name = XMALLOC (char, len);
+  strncpy (*name, arg, len-1);
+  (*name)[len - 1] = '\0';
+
+  return 0;
+}
+
+void
+lt_opt_process_env_set (const char *arg)
+{
+  char *name = NULL;
+  char *value = NULL;
+
+  if (lt_split_name_value (arg, &name, &value) != 0)
+    {
+      XFREE (name);
+      XFREE (value);
+      lt_fatal ("bad argument for %s: '%s'", env_set_opt, arg);
+    }
+
+  lt_setenv (name, value);
+  XFREE (name);
+  XFREE (value);
+}
+
+void
+lt_opt_process_env_prepend (const char *arg)
+{
+  char *name = NULL;
+  char *value = NULL;
+  char *new_value = NULL;
+
+  if (lt_split_name_value (arg, &name, &value) != 0)
+    {
+      XFREE (name);
+      XFREE (value);
+      lt_fatal ("bad argument for %s: '%s'", env_prepend_opt, arg);
+    }
+
+  new_value = lt_extend_str (getenv (name), value, 0);
+  lt_setenv (name, new_value);
+  XFREE (new_value);
+  XFREE (name);
+  XFREE (value);
+}
+
+void
+lt_opt_process_env_append (const char *arg)
+{
+  char *name = NULL;
+  char *value = NULL;
+  char *new_value = NULL;
+
+  if (lt_split_name_value (arg, &name, &value) != 0)
+    {
+      XFREE (name);
+      XFREE (value);
+      lt_fatal ("bad argument for %s: '%s'", env_append_opt, arg);
+    }
+
+  new_value = lt_extend_str (getenv (name), value, 1);
+  lt_setenv (name, new_value);
+  XFREE (new_value);
+  XFREE (name);
+  XFREE (value);
+}
+
+void
+lt_update_exe_path (const char *name, const char *value)
+{
+  LTWRAPPER_DEBUGPRINTF (("(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
+                          (name ? name : "<NULL>"),
+                          (value ? value : "<NULL>")));
+
+  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)
+{
+  LTWRAPPER_DEBUGPRINTF (("(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
+                          (name ? name : "<NULL>"),
+                          (value ? value : "<NULL>")));
+
+  if (name && *name && value && *value)
+    {
+      char *new_value = lt_extend_str (getenv (name), value, 0);
+      lt_setenv (name, new_value);
+      XFREE (new_value);
+    }
+}
+
+
+EOF
+}
+# end: func_emit_cwrapperexe_src
+
+# 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
+    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
+       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
+             dlfiles="$dlfiles $arg"
+           else
+             dlprefiles="$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 "*) ;;
+               *) deplibs="$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
+#            moreargs="$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
+                     dlfiles="$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.
+                   dlprefiles="$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 "*) ;;
+           *) rpath="$rpath $arg" ;;
+           esac
+         else
+           case "$xrpath " in
+           *" $arg "*) ;;
+           *) xrpath="$xrpath $arg" ;;
+           esac
+         fi
+         prev=
+         continue
+         ;;
+       shrext)
+         shrext_cmds="$arg"
+         prev=
+         continue
+         ;;
+       weak)
+         weak_libs="$weak_libs $arg"
+         prev=
+         continue
+         ;;
+       xcclinker)
+         linker_flags="$linker_flags $qarg"
+         compiler_flags="$compiler_flags $qarg"
+         prev=
+         func_append compile_command " $qarg"
+         func_append finalize_command " $qarg"
+         continue
+         ;;
+       xcompiler)
+         compiler_flags="$compiler_flags $qarg"
+         prev=
+         func_append compile_command " $qarg"
+         func_append finalize_command " $qarg"
+         continue
+         ;;
+       xlinker)
+         linker_flags="$linker_flags $qarg"
+         compiler_flags="$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
+       ;;
+
+      -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"
+       dir=$func_stripname_result
+       if test -z "$dir"; 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
+       # 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 "*) ;;
+       *)
+         deplibs="$deplibs -L$dir"
+         lib_search_path="$lib_search_path $dir"
+         ;;
+       esac
+       case $host in
+       *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+         testbindir=`$ECHO "X$dir" | $Xsed -e 's*/lib$*/bin*'`
+         case :$dllsearchpath: in
+         *":$dir:"*) ;;
+         ::) dllsearchpath=$dir;;
+         *) dllsearchpath="$dllsearchpath:$dir";;
+         esac
+         case :$dllsearchpath: in
+         *":$testbindir:"*) ;;
+         ::) dllsearchpath=$testbindir;;
+         *) dllsearchpath="$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*)
+           # 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
+           deplibs="$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
+       deplibs="$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)
+       compiler_flags="$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)
+       compiler_flags="$compiler_flags $arg"
+       func_append compile_command " $arg"
+       func_append finalize_command " $arg"
+       case "$new_inherited_linker_flags " in
+           *" $arg "*) ;;
+           * ) new_inherited_linker_flags="$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_fatal_error "only absolute run-paths are allowed"
+         ;;
+       esac
+       case "$xrpath " in
+       *" $dir "*) ;;
+       *) xrpath="$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"
+         arg="$arg $wl$func_quote_for_eval_result"
+         compiler_flags="$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"
+         arg="$arg $wl$func_quote_for_eval_result"
+         compiler_flags="$compiler_flags $wl$func_quote_for_eval_result"
+         linker_flags="$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"
+       ;;
+
+      # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
+      # -r[0-9][0-9]* specifies the processor on the SGI compiler
+      # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
+      # +DA*, +DD* enable 64-bit mode on the HP compiler
+      # -q* pass through compiler args for the IBM compiler
+      # -m*, -t[45]*, -txscale* pass through architecture-specific
+      # compiler args for GCC
+      # -F/path gives path to uninstalled frameworks, gcc on darwin
+      # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
+      # @file GCC response files
+      -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
+      -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
+        func_quote_for_eval "$arg"
+       arg="$func_quote_for_eval_result"
+        func_append compile_command " $arg"
+        func_append finalize_command " $arg"
+        compiler_flags="$compiler_flags $arg"
+        continue
+        ;;
+
+      # Some other compiler flag.
+      -* | +*)
+        func_quote_for_eval "$arg"
+       arg="$func_quote_for_eval_result"
+       ;;
+
+      *.$objext)
+       # A standard object.
+       objs="$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
+               dlfiles="$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.
+             dlprefiles="$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.
+       deplibs="$deplibs $arg"
+       old_deplibs="$old_deplibs $arg"
+       continue
+       ;;
+
+      *.la)
+       # A libtool-controlled library.
+
+       if test "$prev" = dlfiles; then
+         # This library was specified with -dlopen.
+         dlfiles="$dlfiles $arg"
+         prev=
+       elif test "$prev" = dlprefiles; then
+         # The library was specified with -dlpreopen.
+         dlprefiles="$dlprefiles $arg"
+         prev=
+       else
+         deplibs="$deplibs $arg"
+       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 \"X\${$shlibpath_var}\" \| \$Xsed -e \'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"
+    # 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_duplicate_deps ; then
+       case "$libs " in
+       *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+       esac
+      fi
+      libs="$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 "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
+         esac
+         pre_post_deps="$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=
+         case $lib in
+         *.la) func_source "$lib" ;;
+         esac
+
+         # Collect preopened libtool deplibs, except any this library
+         # has declared as weak libs
+         for deplib in $dependency_libs; do
+            deplib_base=`$ECHO "X$deplib" | $Xsed -e "$basename"`
+           case " $weak_libs " in
+           *" $deplib_base "*) ;;
+           *) deplibs="$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
+           compiler_flags="$compiler_flags $deplib"
+           if test "$linkmode" = lib ; then
+               case "$new_inherited_linker_flags " in
+                   *" $deplib "*) ;;
+                   * ) new_inherited_linker_flags="$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 "*) ;;
+                   * ) new_inherited_linker_flags="$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"
+           newlib_search_path="$newlib_search_path $func_stripname_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"
+           newlib_search_path="$newlib_search_path $func_stripname_result"
+           ;;
+         *)
+           func_warning "\`-L' is ignored for archives/objects"
+           ;;
+         esac # linkmode
+         continue
+         ;; # -L
+       -R*)
+         if test "$pass" = link; then
+           func_stripname '-R' '' "$deplib"
+           dir=$func_stripname_result
+           # Make sure the xrpath contains only unique directories.
+           case "$xrpath " in
+           *" $dir "*) ;;
+           *) xrpath="$xrpath $dir" ;;
+           esac
+         fi
+         deplibs="$deplib $deplibs"
+         continue
+         ;;
+       *.la) lib="$deplib" ;;
+       *.$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 \"X$deplib\"" 2>/dev/null | $Xsed -e 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.
+             newdlprefiles="$newdlprefiles $deplib"
+             compile_deplibs="$deplib $compile_deplibs"
+             finalize_deplibs="$deplib $finalize_deplibs"
+           else
+             newdlfiles="$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 "X$inherited_linker_flags" | $Xsed -e '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 "*) ;;
+             *) new_inherited_linker_flags="$new_inherited_linker_flags $tmp_inherited_linker_flag";;
+           esac
+         done
+       fi
+       dependency_libs=`$ECHO "X $dependency_libs" | $Xsed -e '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" && dlfiles="$dlfiles $dlopen"
+         test -n "$dlpreopen" && dlprefiles="$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.
+           convenience="$convenience $ladir/$objdir/$old_library"
+           old_convenience="$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_duplicate_deps ; then
+             case "$tmp_libs " in
+             *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+             esac
+           fi
+           tmp_libs="$tmp_libs $deplib"
+         done
+         continue
+       fi # $pass = conv
+
+
+       # Get the name of the library we link against.
+       linklib=
+       for l in $old_library $library_names; do
+         linklib="$l"
+       done
+       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.
+           dlprefiles="$dlprefiles $lib $dependency_libs"
+         else
+           newdlfiles="$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 "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+           func_warning "library \`$lib' was moved."
+           dir="$ladir"
+           absdir="$abs_ladir"
+           libdir="$abs_ladir"
+         else
+           dir="$libdir"
+           absdir="$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
+           notinst_path="$notinst_path $abs_ladir"
+         else
+           dir="$ladir/$objdir"
+           absdir="$abs_ladir/$objdir"
+           # Remove this search path later
+           notinst_path="$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
+         # Prefer using a static library (so that no silly _DYNAMIC symbols
+         # are required to link).
+         if test -n "$old_library"; then
+           newdlprefiles="$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" && \
+               dlpreconveniencelibs="$dlpreconveniencelibs $dir/$old_library"
+         # Otherwise, use the dlname, so that lt_dlopen finds it.
+         elif test -n "$dlname"; then
+           newdlprefiles="$newdlprefiles $dir/$dlname"
+         else
+           newdlprefiles="$newdlprefiles $dir/$linklib"
+         fi
+       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
+         newlib_search_path="$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"
+                newlib_search_path="$newlib_search_path $func_stripname_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_duplicate_deps ; then
+             case "$tmp_libs " in
+             *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+             esac
+           fi
+           tmp_libs="$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:"*) ;;
+             *) temp_rpath="$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 "*) ;;
+             *) compile_rpath="$compile_rpath $absdir"
+             esac
+             ;;
+           esac
+           case " $sys_lib_dlsearch_path " in
+           *" $libdir "*) ;;
+           *)
+             case "$finalize_rpath " in
+             *" $libdir "*) ;;
+             *) finalize_rpath="$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
+             notinst_deplibs="$notinst_deplibs $lib"
+             need_relink=no
+           ;;
+         *)
+           if test "$installed" = no; then
+             notinst_deplibs="$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 "*) ;;
+             *) compile_rpath="$compile_rpath $absdir"
+             esac
+             ;;
+           esac
+           case " $sys_lib_dlsearch_path " in
+           *" $libdir "*) ;;
+           *)
+             case "$finalize_rpath " in
+             *" $libdir "*) ;;
+             *) finalize_rpath="$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 "$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
+                   [\\/]*)
+                     add_dir="$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:"*) ;;
+             *) compile_shlibpath="$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:"*) ;;
+               *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
+               esac
+             fi
+           fi
+         fi
+
+         if test "$linkmode" = prog || test "$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:"*) ;;
+             *) finalize_shlibpath="$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
+                 [\\/]*)
+                   add_dir="$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 "*) ;;
+                  *) xrpath="$xrpath $temp_xrpath";;
+                  esac;;
+             *) temp_deplibs="$temp_deplibs $libdir";;
+             esac
+           done
+           dependency_libs="$temp_deplibs"
+         fi
+
+         newlib_search_path="$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"
+           if $opt_duplicate_deps ; then
+             case "$tmp_libs " in
+             *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+             esac
+           fi
+           tmp_libs="$tmp_libs $deplib"
+         done
+
+         if test "$link_all_deplibs" != no; then
+           # Add the search paths of all dependency libraries
+           for deplib in $dependency_libs; do
+             case $deplib in
+             -L*) path="$deplib" ;;
+             *.la)
+               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
+                     compiler_flags="$compiler_flags ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
+                     linker_flags="$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 "X $new_inherited_linker_flags" | $Xsed -e '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 "*) ;;
+           *) lib_search_path="$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 "*) ;;
+             *) tmp_libs="$tmp_libs $deplib" ;;
+             esac
+             ;;
+           *) tmp_libs="$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
+         tmp_libs="$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"
+      objs="$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!"
+         libobjs="$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|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.
+         verstring="$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"
+      libobjs="$libobjs $symfileobj"
+      test "X$libobjs" = "X " && libobjs=
+
+      if test "$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
+              removelist="$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
+       oldlibs="$oldlibs $output_objdir/$libname.$libext"
+
+       # Transform .lo files to .o files.
+       oldobjs="$objs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
+      fi
+
+      # Eliminate all temporary directories.
+      #for path in $notinst_path; do
+      #        lib_search_path=`$ECHO "X$lib_search_path " | $Xsed -e "s% $path % %g"`
+      #        deplibs=`$ECHO "X$deplibs " | $Xsed -e "s% -L$path % %g"`
+      #        dependency_libs=`$ECHO "X$dependency_libs " | $Xsed -e "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
+         temp_xrpath="$temp_xrpath -R$libdir"
+         case "$finalize_rpath " in
+         *" $libdir "*) ;;
+         *) finalize_rpath="$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 "*) ;;
+       *) dlfiles="$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 "*) ;;
+       *) dlprefiles="$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*)
+           # these systems don't actually have a c library (as such)!
+           ;;
+         *-*-rhapsody* | *-*-darwin1.[012])
+           # Rhapsody C library is in the System framework
+           deplibs="$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
+             deplibs="$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 "*)
+                   newdeplibs="$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
+                   newdeplibs="$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
+               ;;
+             *)
+               newdeplibs="$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 "*)
+                     newdeplibs="$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
+                     newdeplibs="$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
+               ;;
+             *)
+               newdeplibs="$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 "*)
+                 newdeplibs="$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
+                     # 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 "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
+                       esac
+                     done
+                     if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
+                        $SED -e 10q |
+                        $EGREP "$file_magic_regex" > /dev/null; then
+                       newdeplibs="$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.
+             newdeplibs="$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 "*)
+                 newdeplibs="$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 \"X$potent_lib\"" 2>/dev/null | $Xsed -e 10q | \
+                      $EGREP "$match_pattern_regex" > /dev/null; then
+                     newdeplibs="$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.
+             newdeplibs="$newdeplibs $a_deplib"
+             ;;
+           esac
+         done # Gone through all deplibs.
+         ;;
+       none | unknown | *)
+         newdeplibs=""
+         tmp_deplibs=`$ECHO "X $deplibs" | $Xsed \
+             -e 's/ -lc$//' -e '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 "X $tmp_deplibs" | $Xsed -e "s,$i,,"`
+           done
+         fi
+         if $ECHO "X $tmp_deplibs" | $Xsed -e 's/[      ]//g' |
+            $GREP . >/dev/null; then
+           $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
+         fi
+         ;;
+       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 "X $newdeplibs" | $Xsed -e '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 "X $newdeplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+         new_inherited_linker_flags=`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+         deplibs=`$ECHO "X $deplibs" | $Xsed -e '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 "*)
+           new_libs="$new_libs -L$path/$objdir" ;;
+         esac
+         ;;
+       esac
+      done
+      for deplib in $deplibs; do
+       case $deplib in
+       -L*)
+         case " $new_libs " in
+         *" $deplib "*) ;;
+         *) new_libs="$new_libs $deplib" ;;
+         esac
+         ;;
+       *) new_libs="$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 "$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
+               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"*)
+                   ;;
+                 *)
+                   hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+                   ;;
+                 esac
+               fi
+             else
+               eval flag=\"$hardcode_libdir_flag_spec\"
+               dep_rpath="$dep_rpath $flag"
+             fi
+           elif test -n "$runpath_var"; then
+             case "$perm_rpath " in
+             *" $libdir "*) ;;
+             *) perm_rpath="$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
+             rpath="$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 "$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
+         linknames="$linknames $link"
+       done
+
+       # Use standard objects if they are pic
+       test -z "$pic_flag" && libobjs=`$ECHO "X$libobjs" | $SP2NL | $Xsed -e "$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"
+         delfiles="$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 cmd in $cmds; do
+             IFS="$save_ifs"
+             eval cmd=\"$cmd\"
+             func_len " $cmd"
+             len=$func_len_result
+             if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+               func_show_eval "$cmd" 'exit $?'
+               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 "X$include_expsyms" | $Xsed | $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
+         delfiles="$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 "*) ;;
+         *)
+           tmp_deplibs="$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"
+           generated="$generated $gentop"
+
+           func_extract_archives $gentop $convenience
+           libobjs="$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\"
+         linker_flags="$linker_flags $flag"
+       fi
+
+       # Make a backup of the uninstalled library when relinking
+       if test "$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
+         output_la=`$ECHO "X$output" | $Xsed -e "$basename"`
+
+         # 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
+             $ECHO "$obj" >> $output
+           done
+           $ECHO ')' >> $output
+           delfiles="$delfiles $output"
+         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
+             $ECHO "$obj" >> $output
+           done
+           delfiles="$delfiles $output"
+           output=$firstobj\"$file_list_spec$output\"
+         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.
+                   eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
+                 else
+                   # All subsequent reloadable object files will link in
+                   # the last one created.
+                   eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj~\$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~
+             eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
+             if test -n "$last_robj"; then
+               eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
+             fi
+             delfiles="$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 "$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 "X$include_expsyms" | $Xsed | $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
+             delfiles="$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"
+         generated="$generated $gentop"
+
+         func_extract_archives $gentop $dlprefiles
+         libobjs="$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 "$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 "$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 "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'`
+       else
+         gentop="$output_objdir/${obj}x"
+         generated="$generated $gentop"
+
+         func_extract_archives $gentop $convenience
+         reload_conv_objs="$reload_objs $func_extract_archives_result"
+       fi
+      fi
+
+      # Create the old-style object.
+      reload_objs="$objs$old_deplibs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$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 "X $compile_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
+       finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e '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])
+             compile_command="$compile_command ${wl}-bind_at_load"
+             finalize_command="$finalize_command ${wl}-bind_at_load"
+           ;;
+         esac
+       fi
+       # Time to change all our "foo.ltframework" stuff back to "-framework foo"
+       compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+       finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e '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 "*)
+           new_libs="$new_libs -L$path/$objdir" ;;
+         esac
+         ;;
+       esac
+      done
+      for deplib in $compile_deplibs; do
+       case $deplib in
+       -L*)
+         case " $new_libs " in
+         *" $deplib "*) ;;
+         *) new_libs="$new_libs $deplib" ;;
+         esac
+         ;;
+       *) new_libs="$new_libs $deplib" ;;
+       esac
+      done
+      compile_deplibs="$new_libs"
+
+
+      compile_command="$compile_command $compile_deplibs"
+      finalize_command="$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 "*) ;;
+         *) finalize_rpath="$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"*)
+               ;;
+             *)
+               hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+               ;;
+             esac
+           fi
+         else
+           eval flag=\"$hardcode_libdir_flag_spec\"
+           rpath="$rpath $flag"
+         fi
+       elif test -n "$runpath_var"; then
+         case "$perm_rpath " in
+         *" $libdir "*) ;;
+         *) perm_rpath="$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;;
+         *) dllsearchpath="$dllsearchpath:$libdir";;
+         esac
+         case :$dllsearchpath: in
+         *":$testbindir:"*) ;;
+         ::) dllsearchpath=$testbindir;;
+         *) dllsearchpath="$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"*)
+               ;;
+             *)
+               hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+               ;;
+             esac
+           fi
+         else
+           eval flag=\"$hardcode_libdir_flag_spec\"
+           rpath="$rpath $flag"
+         fi
+       elif test -n "$runpath_var"; then
+         case "$finalize_perm_rpath " in
+         *" $libdir "*) ;;
+         *) finalize_perm_rpath="$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 "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+       finalize_command=`$ECHO "X$finalize_command" | $SP2NL | $Xsed -e "$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
+      *cygwin* | *mingw* )
+        if test "$build_libtool_libs" != yes; then
+          wrappers_required=no
+        fi
+        ;;
+      *cegcc)
+        # Disable wrappers for cegcc, we are cross compiling anyway.
+        wrappers_required=no
+        ;;
+      *)
+        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 "X$compile_command" | $Xsed -e '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=$?'
+
+       # 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
+           rpath="$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
+           rpath="$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 "X$link_command" | $Xsed -e '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 $?'
+       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 "X$compile_var$compile_command$compile_rpath" | $Xsed -e '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 "X$link_command" | $Xsed -e '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 $?'
+
+      # 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 "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+      fi
+
+      # Quote $ECHO for shipping.
+      if test "X$ECHO" = "X$SHELL $progpath --fallback-echo"; then
+       case $progpath in
+       [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
+       *) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
+       esac
+       qecho=`$ECHO "X$qecho" | $Xsed -e "$sed_quote_subst"`
+      else
+       qecho=`$ECHO "X$ECHO" | $Xsed -e "$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
+           oldobjs="$oldobjs $symfileobj"
+         fi
+       fi
+       addlibs="$old_convenience"
+      fi
+
+      if test -n "$addlibs"; then
+       gentop="$output_objdir/${outputname}x"
+       generated="$generated $gentop"
+
+       func_extract_archives $gentop $addlibs
+       oldobjs="$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"
+         generated="$generated $gentop"
+
+         func_extract_archives $gentop $dlprefiles
+         oldobjs="$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"
+         generated="$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"
+             oldobjs="$oldobjs $gentop/$newobj"
+             ;;
+           *) oldobjs="$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
+       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 "X$relink_command" | $Xsed -e "$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"
+               newdependency_libs="$newdependency_libs $libdir/$name"
+               ;;
+             *) newdependency_libs="$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"
+               newdlfiles="$newdlfiles $libdir/$name"
+               ;;
+             *) newdlfiles="$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"
+               newdlprefiles="$newdlprefiles $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
+             newdlfiles="$newdlfiles $abs"
+           done
+           dlfiles="$newdlfiles"
+           newdlprefiles=
+           for lib in $dlprefiles; do
+             case $lib in
+               [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+               *) abs=`pwd`"/$lib" ;;
+             esac
+             newdlprefiles="$newdlprefiles $abs"
+           done
+           dlprefiles="$newdlprefiles"
+         fi
+         $RM $output
+         # place dlname in correct position for cygwin
+         tdlname=$dlname
+         case $host,$output,$installed,$module,$dlname in
+           *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
+         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 "$mode" = link || test "$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) RM="$RM $arg"; rmforce=yes ;;
+      -*) RM="$RM $arg" ;;
+      *) files="$files $arg" ;;
+      esac
+    done
+
+    test -z "$RM" && \
+      func_fatal_help "you must specify an RM program"
+
+    rmdirs=
+
+    origobjdir="$objdir"
+    for file in $files; do
+      func_dirname "$file" "" "."
+      dir="$func_dirname_result"
+      if test "X$dir" = X.; then
+       objdir="$origobjdir"
+      else
+       objdir="$dir/$origobjdir"
+      fi
+      func_basename "$file"
+      name="$func_basename_result"
+      test "$mode" = uninstall && objdir="$dir"
+
+      # Remember objdir for removal later, being careful to avoid duplicates
+      if test "$mode" = clean; then
+       case " $rmdirs " in
+         *" $objdir "*) ;;
+         *) rmdirs="$rmdirs $objdir" ;;
+       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
+           rmfiles="$rmfiles $objdir/$n"
+         done
+         test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
+
+         case "$mode" in
+         clean)
+           case "  $library_names " in
+           # "  " in the beginning catches empty $dlname
+           *" $dlname "*) ;;
+           *) rmfiles="$rmfiles $objdir/$dlname" ;;
+           esac
+           test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${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
+           rmfiles="$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
+           rmfiles="$rmfiles $dir/$non_pic_object"
+         fi
+       fi
+       ;;
+
+      *)
+       if test "$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
+           rmfiles="$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
+             rmfiles="$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
+           rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
+           if test "$fast_install" = yes && test -n "$relink_command"; then
+             rmfiles="$rmfiles $objdir/lt-$name"
+           fi
+           if test "X$noexename" != "X$name" ; then
+             rmfiles="$rmfiles $objdir/lt-${noexename}.c"
+           fi
+         fi
+       fi
+       ;;
+      esac
+      func_show_eval "$RM $rmfiles" 'exit_status=1'
+    done
+    objdir="$origobjdir"
+
+    # 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 "$mode" = uninstall || test "$mode" = clean; } &&
+    func_mode_uninstall ${1+"$@"}
+
+test -z "$mode" && {
+  help="$generic_help"
+  func_fatal_help "you must specify a MODE"
+}
+
+test -z "$exec_cmd" && \
+  func_fatal_help "invalid operation mode \`$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 (executable)
index 0000000..28055d2
--- /dev/null
@@ -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 (executable)
index 0000000..d2d5f21
--- /dev/null
@@ -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/config/texinfo.tex b/config/texinfo.tex
new file mode 100644 (file)
index 0000000..ff2c406
--- /dev/null
@@ -0,0 +1,7210 @@
+% texinfo.tex -- TeX macros to handle Texinfo files.
+%
+% Load plain if necessary, i.e., if running under initex.
+\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
+%
+\def\texinfoversion{2005-07-05.19}
+%
+% Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
+% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software
+% Foundation, Inc.
+%
+% This texinfo.tex 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, or (at
+% your option) any later version.
+%
+% This texinfo.tex 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 texinfo.tex file; see the file COPYING.  If not, write
+% to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+% Boston, MA 02110-1301, USA.
+%
+% As a special exception, when this file is read by TeX when processing
+% a Texinfo source document, you may use the result without
+% restriction.  (This has been our intent since Texinfo was invented.)
+%
+% Please try the latest version of texinfo.tex before submitting bug
+% reports; you can get the latest version from:
+%   http://www.gnu.org/software/texinfo/ (the Texinfo home page), or
+%   ftp://tug.org/tex/texinfo.tex
+%     (and all CTAN mirrors, see http://www.ctan.org).
+% The texinfo.tex in any given distribution could well be out
+% of date, so if that's what you're using, please check.
+%
+% Send bug reports to bug-texinfo@gnu.org.  Please include including a
+% complete document in each bug report with which we can reproduce the
+% problem.  Patches are, of course, greatly appreciated.
+%
+% To process a Texinfo manual with TeX, it's most reliable to use the
+% texi2dvi shell script that comes with the distribution.  For a simple
+% manual foo.texi, however, you can get away with this:
+%   tex foo.texi
+%   texindex foo.??
+%   tex foo.texi
+%   tex foo.texi
+%   dvips foo.dvi -o  # or whatever; this makes foo.ps.
+% The extra TeX runs get the cross-reference information correct.
+% Sometimes one run after texindex suffices, and sometimes you need more
+% than two; texi2dvi does it as many times as necessary.
+%
+% It is possible to adapt texinfo.tex for other languages, to some
+% extent.  You can get the existing language-specific files from the
+% full Texinfo distribution.
+%
+% The GNU Texinfo home page is http://www.gnu.org/software/texinfo.
+
+
+\message{Loading texinfo [version \texinfoversion]:}
+
+% If in a .fmt file, print the version number
+% and turn on active characters that we couldn't do earlier because
+% they might have appeared in the input file name.
+\everyjob{\message{[Texinfo version \texinfoversion]}%
+  \catcode`+=\active \catcode`\_=\active}
+
+\message{Basics,}
+\chardef\other=12
+
+% We never want plain's \outer definition of \+ in Texinfo.
+% For @tex, we can use \tabalign.
+\let\+ = \relax
+
+% Save some plain tex macros whose names we will redefine.
+\let\ptexb=\b
+\let\ptexbullet=\bullet
+\let\ptexc=\c
+\let\ptexcomma=\,
+\let\ptexdot=\.
+\let\ptexdots=\dots
+\let\ptexend=\end
+\let\ptexequiv=\equiv
+\let\ptexexclam=\!
+\let\ptexfootnote=\footnote
+\let\ptexgtr=>
+\let\ptexhat=^
+\let\ptexi=\i
+\let\ptexindent=\indent
+\let\ptexinsert=\insert
+\let\ptexlbrace=\{
+\let\ptexless=<
+\let\ptexnewwrite\newwrite
+\let\ptexnoindent=\noindent
+\let\ptexplus=+
+\let\ptexrbrace=\}
+\let\ptexslash=\/
+\let\ptexstar=\*
+\let\ptext=\t
+
+% If this character appears in an error message or help string, it
+% starts a new line in the output.
+\newlinechar = `^^J
+
+% Use TeX 3.0's \inputlineno to get the line number, for better error
+% messages, but if we're using an old version of TeX, don't do anything.
+%
+\ifx\inputlineno\thisisundefined
+  \let\linenumber = \empty % Pre-3.0.
+\else
+  \def\linenumber{l.\the\inputlineno:\space}
+\fi
+
+% Set up fixed words for English if not already set.
+\ifx\putwordAppendix\undefined  \gdef\putwordAppendix{Appendix}\fi
+\ifx\putwordChapter\undefined   \gdef\putwordChapter{Chapter}\fi
+\ifx\putwordfile\undefined      \gdef\putwordfile{file}\fi
+\ifx\putwordin\undefined        \gdef\putwordin{in}\fi
+\ifx\putwordIndexIsEmpty\undefined     \gdef\putwordIndexIsEmpty{(Index is empty)}\fi
+\ifx\putwordIndexNonexistent\undefined \gdef\putwordIndexNonexistent{(Index is nonexistent)}\fi
+\ifx\putwordInfo\undefined      \gdef\putwordInfo{Info}\fi
+\ifx\putwordInstanceVariableof\undefined \gdef\putwordInstanceVariableof{Instance Variable of}\fi
+\ifx\putwordMethodon\undefined  \gdef\putwordMethodon{Method on}\fi
+\ifx\putwordNoTitle\undefined   \gdef\putwordNoTitle{No Title}\fi
+\ifx\putwordof\undefined        \gdef\putwordof{of}\fi
+\ifx\putwordon\undefined        \gdef\putwordon{on}\fi
+\ifx\putwordpage\undefined      \gdef\putwordpage{page}\fi
+\ifx\putwordsection\undefined   \gdef\putwordsection{section}\fi
+\ifx\putwordSection\undefined   \gdef\putwordSection{Section}\fi
+\ifx\putwordsee\undefined       \gdef\putwordsee{see}\fi
+\ifx\putwordSee\undefined       \gdef\putwordSee{See}\fi
+\ifx\putwordShortTOC\undefined  \gdef\putwordShortTOC{Short Contents}\fi
+\ifx\putwordTOC\undefined       \gdef\putwordTOC{Table of Contents}\fi
+%
+\ifx\putwordMJan\undefined \gdef\putwordMJan{January}\fi
+\ifx\putwordMFeb\undefined \gdef\putwordMFeb{February}\fi
+\ifx\putwordMMar\undefined \gdef\putwordMMar{March}\fi
+\ifx\putwordMApr\undefined \gdef\putwordMApr{April}\fi
+\ifx\putwordMMay\undefined \gdef\putwordMMay{May}\fi
+\ifx\putwordMJun\undefined \gdef\putwordMJun{June}\fi
+\ifx\putwordMJul\undefined \gdef\putwordMJul{July}\fi
+\ifx\putwordMAug\undefined \gdef\putwordMAug{August}\fi
+\ifx\putwordMSep\undefined \gdef\putwordMSep{September}\fi
+\ifx\putwordMOct\undefined \gdef\putwordMOct{October}\fi
+\ifx\putwordMNov\undefined \gdef\putwordMNov{November}\fi
+\ifx\putwordMDec\undefined \gdef\putwordMDec{December}\fi
+%
+\ifx\putwordDefmac\undefined    \gdef\putwordDefmac{Macro}\fi
+\ifx\putwordDefspec\undefined   \gdef\putwordDefspec{Special Form}\fi
+\ifx\putwordDefvar\undefined    \gdef\putwordDefvar{Variable}\fi
+\ifx\putwordDefopt\undefined    \gdef\putwordDefopt{User Option}\fi
+\ifx\putwordDeffunc\undefined   \gdef\putwordDeffunc{Function}\fi
+
+% In some macros, we cannot use the `\? notation---the left quote is
+% in some cases the escape char.
+\chardef\backChar  = `\\
+\chardef\colonChar = `\:
+\chardef\commaChar = `\,
+\chardef\dotChar   = `\.
+\chardef\exclamChar= `\!
+\chardef\plusChar  = `\+
+\chardef\questChar = `\?
+\chardef\semiChar  = `\;
+\chardef\underChar = `\_
+
+\chardef\spaceChar = `\ %
+\chardef\spacecat = 10
+\def\spaceisspace{\catcode\spaceChar=\spacecat}
+
+{% for help with debugging.
+ % example usage: \expandafter\show\activebackslash
+ \catcode`\! = 0 \catcode`\\ = \active
+ !global!def!activebackslash{\}
+}
+
+% Ignore a token.
+%
+\def\gobble#1{}
+
+% The following is used inside several \edef's.
+\def\makecsname#1{\expandafter\noexpand\csname#1\endcsname}
+
+% Hyphenation fixes.
+\hyphenation{
+  Flor-i-da Ghost-script Ghost-view Mac-OS Post-Script
+  ap-pen-dix bit-map bit-maps
+  data-base data-bases eshell fall-ing half-way long-est man-u-script
+  man-u-scripts mini-buf-fer mini-buf-fers over-view par-a-digm
+  par-a-digms rath-er rec-tan-gu-lar ro-bot-ics se-vere-ly set-up spa-ces
+  spell-ing spell-ings
+  stand-alone strong-est time-stamp time-stamps which-ever white-space
+  wide-spread wrap-around
+}
+
+% Margin to add to right of even pages, to left of odd pages.
+\newdimen\bindingoffset
+\newdimen\normaloffset
+\newdimen\pagewidth \newdimen\pageheight
+
+% For a final copy, take out the rectangles
+% that mark overfull boxes (in case you have decided
+% that the text looks ok even though it passes the margin).
+%
+\def\finalout{\overfullrule=0pt}
+
+% @| inserts a changebar to the left of the current line.  It should
+% surround any changed text.  This approach does *not* work if the
+% change spans more than two lines of output.  To handle that, we would
+% have adopt a much more difficult approach (putting marks into the main
+% vertical list for the beginning and end of each change).
+%
+\def\|{%
+  % \vadjust can only be used in horizontal mode.
+  \leavevmode
+  %
+  % Append this vertical mode material after the current line in the output.
+  \vadjust{%
+    % We want to insert a rule with the height and depth of the current
+    % leading; that is exactly what \strutbox is supposed to record.
+    \vskip-\baselineskip
+    %
+    % \vadjust-items are inserted at the left edge of the type.  So
+    % the \llap here moves out into the left-hand margin.
+    \llap{%
+      %
+      % For a thicker or thinner bar, change the `1pt'.
+      \vrule height\baselineskip width1pt
+      %
+      % This is the space between the bar and the text.
+      \hskip 12pt
+    }%
+  }%
+}
+
+% Sometimes it is convenient to have everything in the transcript file
+% and nothing on the terminal.  We don't just call \tracingall here,
+% since that produces some useless output on the terminal.  We also make
+% some effort to order the tracing commands to reduce output in the log
+% file; cf. trace.sty in LaTeX.
+%
+\def\gloggingall{\begingroup \globaldefs = 1 \loggingall \endgroup}%
+\def\loggingall{%
+  \tracingstats2
+  \tracingpages1
+  \tracinglostchars2  % 2 gives us more in etex
+  \tracingparagraphs1
+  \tracingoutput1
+  \tracingmacros2
+  \tracingrestores1
+  \showboxbreadth\maxdimen \showboxdepth\maxdimen
+  \ifx\eTeXversion\undefined\else % etex gives us more logging
+    \tracingscantokens1
+    \tracingifs1
+    \tracinggroups1
+    \tracingnesting2
+    \tracingassigns1
+  \fi
+  \tracingcommands3  % 3 gives us more in etex
+  \errorcontextlines16
+}%
+
+% add check for \lastpenalty to plain's definitions.  If the last thing
+% we did was a \nobreak, we don't want to insert more space.
+%
+\def\smallbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\smallskipamount
+  \removelastskip\penalty-50\smallskip\fi\fi}
+\def\medbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\medskipamount
+  \removelastskip\penalty-100\medskip\fi\fi}
+\def\bigbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\bigskipamount
+  \removelastskip\penalty-200\bigskip\fi\fi}
+
+% For @cropmarks command.
+% Do @cropmarks to get crop marks.
+%
+\newif\ifcropmarks
+\let\cropmarks = \cropmarkstrue
+%
+% Dimensions to add cropmarks at corners.
+% Added by P. A. MacKay, 12 Nov. 1986
+%
+\newdimen\outerhsize \newdimen\outervsize % set by the paper size routines
+\newdimen\cornerlong  \cornerlong=1pc
+\newdimen\cornerthick \cornerthick=.3pt
+\newdimen\topandbottommargin \topandbottommargin=.75in
+
+% Main output routine.
+\chardef\PAGE = 255
+\output = {\onepageout{\pagecontents\PAGE}}
+
+\newbox\headlinebox
+\newbox\footlinebox
+
+% \onepageout takes a vbox as an argument.  Note that \pagecontents
+% does insertions, but you have to call it yourself.
+\def\onepageout#1{%
+  \ifcropmarks \hoffset=0pt \else \hoffset=\normaloffset \fi
+  %
+  \ifodd\pageno  \advance\hoffset by \bindingoffset
+  \else \advance\hoffset by -\bindingoffset\fi
+  %
+  % Do this outside of the \shipout so @code etc. will be expanded in
+  % the headline as they should be, not taken literally (outputting ''code).
+  \setbox\headlinebox = \vbox{\let\hsize=\pagewidth \makeheadline}%
+  \setbox\footlinebox = \vbox{\let\hsize=\pagewidth \makefootline}%
+  %
+  {%
+    % Have to do this stuff outside the \shipout because we want it to
+    % take effect in \write's, yet the group defined by the \vbox ends
+    % before the \shipout runs.
+    %
+    \indexdummies         % don't expand commands in the output.
+    \shipout\vbox{%
+      % Do this early so pdf references go to the beginning of the page.
+      \ifpdfmakepagedest \pdfdest name{\the\pageno} xyz\fi
+      %
+      \ifcropmarks \vbox to \outervsize\bgroup
+        \hsize = \outerhsize
+        \vskip-\topandbottommargin
+        \vtop to0pt{%
+          \line{\ewtop\hfil\ewtop}%
+          \nointerlineskip
+          \line{%
+            \vbox{\moveleft\cornerthick\nstop}%
+            \hfill
+            \vbox{\moveright\cornerthick\nstop}%
+          }%
+          \vss}%
+        \vskip\topandbottommargin
+        \line\bgroup
+          \hfil % center the page within the outer (page) hsize.
+          \ifodd\pageno\hskip\bindingoffset\fi
+          \vbox\bgroup
+      \fi
+      %
+      \unvbox\headlinebox
+      \pagebody{#1}%
+      \ifdim\ht\footlinebox > 0pt
+        % Only leave this space if the footline is nonempty.
+        % (We lessened \vsize for it in \oddfootingxxx.)
+        % The \baselineskip=24pt in plain's \makefootline has no effect.
+        \vskip 2\baselineskip
+        \unvbox\footlinebox
+      \fi
+      %
+      \ifcropmarks
+          \egroup % end of \vbox\bgroup
+        \hfil\egroup % end of (centering) \line\bgroup
+        \vskip\topandbottommargin plus1fill minus1fill
+        \boxmaxdepth = \cornerthick
+        \vbox to0pt{\vss
+          \line{%
+            \vbox{\moveleft\cornerthick\nsbot}%
+            \hfill
+            \vbox{\moveright\cornerthick\nsbot}%
+          }%
+          \nointerlineskip
+          \line{\ewbot\hfil\ewbot}%
+        }%
+      \egroup % \vbox from first cropmarks clause
+      \fi
+    }% end of \shipout\vbox
+  }% end of group with \indexdummies
+  \advancepageno
+  \ifnum\outputpenalty>-20000 \else\dosupereject\fi
+}
+
+\newinsert\margin \dimen\margin=\maxdimen
+
+\def\pagebody#1{\vbox to\pageheight{\boxmaxdepth=\maxdepth #1}}
+{\catcode`\@ =11
+\gdef\pagecontents#1{\ifvoid\topins\else\unvbox\topins\fi
+% marginal hacks, juha@viisa.uucp (Juha Takala)
+\ifvoid\margin\else % marginal info is present
+  \rlap{\kern\hsize\vbox to\z@{\kern1pt\box\margin \vss}}\fi
+\dimen@=\dp#1 \unvbox#1
+\ifvoid\footins\else\vskip\skip\footins\footnoterule \unvbox\footins\fi
+\ifr@ggedbottom \kern-\dimen@ \vfil \fi}
+}
+
+% Here are the rules for the cropmarks.  Note that they are
+% offset so that the space between them is truly \outerhsize or \outervsize
+% (P. A. MacKay, 12 November, 1986)
+%
+\def\ewtop{\vrule height\cornerthick depth0pt width\cornerlong}
+\def\nstop{\vbox
+  {\hrule height\cornerthick depth\cornerlong width\cornerthick}}
+\def\ewbot{\vrule height0pt depth\cornerthick width\cornerlong}
+\def\nsbot{\vbox
+  {\hrule height\cornerlong depth\cornerthick width\cornerthick}}
+
+% Parse an argument, then pass it to #1.  The argument is the rest of
+% the input line (except we remove a trailing comment).  #1 should be a
+% macro which expects an ordinary undelimited TeX argument.
+%
+\def\parsearg{\parseargusing{}}
+\def\parseargusing#1#2{%
+  \def\next{#2}%
+  \begingroup
+    \obeylines
+    \spaceisspace
+    #1%
+    \parseargline\empty% Insert the \empty token, see \finishparsearg below.
+}
+
+{\obeylines %
+  \gdef\parseargline#1^^M{%
+    \endgroup % End of the group started in \parsearg.
+    \argremovecomment #1\comment\ArgTerm%
+  }%
+}
+
+% First remove any @comment, then any @c comment.
+\def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm}
+\def\argremovec#1\c#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm}
+
+% Each occurence of `\^^M' or `<space>\^^M' is replaced by a single space.
+%
+% \argremovec might leave us with trailing space, e.g.,
+%    @end itemize  @c foo
+% This space token undergoes the same procedure and is eventually removed
+% by \finishparsearg.
+%
+\def\argcheckspaces#1\^^M{\argcheckspacesX#1\^^M \^^M}
+\def\argcheckspacesX#1 \^^M{\argcheckspacesY#1\^^M}
+\def\argcheckspacesY#1\^^M#2\^^M#3\ArgTerm{%
+  \def\temp{#3}%
+  \ifx\temp\empty
+    % We cannot use \next here, as it holds the macro to run;
+    % thus we reuse \temp.
+    \let\temp\finishparsearg
+  \else
+    \let\temp\argcheckspaces
+  \fi
+  % Put the space token in:
+  \temp#1 #3\ArgTerm
+}
+
+% If a _delimited_ argument is enclosed in braces, they get stripped; so
+% to get _exactly_ the rest of the line, we had to prevent such situation.
+% We prepended an \empty token at the very beginning and we expand it now,
+% just before passing the control to \next.
+% (Similarily, we have to think about #3 of \argcheckspacesY above: it is
+% either the null string, or it ends with \^^M---thus there is no danger
+% that a pair of braces would be stripped.
+%
+% But first, we have to remove the trailing space token.
+%
+\def\finishparsearg#1 \ArgTerm{\expandafter\next\expandafter{#1}}
+
+% \parseargdef\foo{...}
+%      is roughly equivalent to
+% \def\foo{\parsearg\Xfoo}
+% \def\Xfoo#1{...}
+%
+% Actually, I use \csname\string\foo\endcsname, ie. \\foo, as it is my
+% favourite TeX trick.  --kasal, 16nov03
+
+\def\parseargdef#1{%
+  \expandafter \doparseargdef \csname\string#1\endcsname #1%
+}
+\def\doparseargdef#1#2{%
+  \def#2{\parsearg#1}%
+  \def#1##1%
+}
+
+% Several utility definitions with active space:
+{
+  \obeyspaces
+  \gdef\obeyedspace{ }
+
+  % Make each space character in the input produce a normal interword
+  % space in the output.  Don't allow a line break at this space, as this
+  % is used only in environments like @example, where each line of input
+  % should produce a line of output anyway.
+  %
+  \gdef\sepspaces{\obeyspaces\let =\tie}
+
+  % If an index command is used in an @example environment, any spaces
+  % therein should become regular spaces in the raw index file, not the
+  % expansion of \tie (\leavevmode \penalty \@M \ ).
+  \gdef\unsepspaces{\let =\space}
+}
+
+
+\def\flushcr{\ifx\par\lisppar \def\next##1{}\else \let\next=\relax \fi \next}
+
+% Define the framework for environments in texinfo.tex.  It's used like this:
+%
+%   \envdef\foo{...}
+%   \def\Efoo{...}
+%
+% It's the responsibility of \envdef to insert \begingroup before the
+% actual body; @end closes the group after calling \Efoo.  \envdef also
+% defines \thisenv, so the current environment is known; @end checks
+% whether the environment name matches.  The \checkenv macro can also be
+% used to check whether the current environment is the one expected.
+%
+% Non-false conditionals (@iftex, @ifset) don't fit into this, so they
+% are not treated as enviroments; they don't open a group.  (The
+% implementation of @end takes care not to call \endgroup in this
+% special case.)
+
+
+% At runtime, environments start with this:
+\def\startenvironment#1{\begingroup\def\thisenv{#1}}
+% initialize
+\let\thisenv\empty
+
+% ... but they get defined via ``\envdef\foo{...}'':
+\long\def\envdef#1#2{\def#1{\startenvironment#1#2}}
+\def\envparseargdef#1#2{\parseargdef#1{\startenvironment#1#2}}
+
+% Check whether we're in the right environment:
+\def\checkenv#1{%
+  \def\temp{#1}%
+  \ifx\thisenv\temp
+  \else
+    \badenverr
+  \fi
+}
+
+% Evironment mismatch, #1 expected:
+\def\badenverr{%
+  \errhelp = \EMsimple
+  \errmessage{This command can appear only \inenvironment\temp,
+    not \inenvironment\thisenv}%
+}
+\def\inenvironment#1{%
+  \ifx#1\empty
+    out of any environment%
+  \else
+    in environment \expandafter\string#1%
+  \fi
+}
+
+% @end foo executes the definition of \Efoo.
+% But first, it executes a specialized version of \checkenv
+%
+\parseargdef\end{%
+  \if 1\csname iscond.#1\endcsname
+  \else
+    % The general wording of \badenverr may not be ideal, but... --kasal, 06nov03
+    \expandafter\checkenv\csname#1\endcsname
+    \csname E#1\endcsname
+    \endgroup
+  \fi
+}
+
+\newhelp\EMsimple{Press RETURN to continue.}
+
+
+%% Simple single-character @ commands
+
+% @@ prints an @
+% Kludge this until the fonts are right (grr).
+\def\@{{\tt\char64}}
+
+% This is turned off because it was never documented
+% and you can use @w{...} around a quote to suppress ligatures.
+%% Define @` and @' to be the same as ` and '
+%% but suppressing ligatures.
+%\def\`{{`}}
+%\def\'{{'}}
+
+% Used to generate quoted braces.
+\def\mylbrace {{\tt\char123}}
+\def\myrbrace {{\tt\char125}}
+\let\{=\mylbrace
+\let\}=\myrbrace
+\begingroup
+  % Definitions to produce \{ and \} commands for indices,
+  % and @{ and @} for the aux/toc files.
+  \catcode`\{ = \other \catcode`\} = \other
+  \catcode`\[ = 1 \catcode`\] = 2
+  \catcode`\! = 0 \catcode`\\ = \other
+  !gdef!lbracecmd[\{]%
+  !gdef!rbracecmd[\}]%
+  !gdef!lbraceatcmd[@{]%
+  !gdef!rbraceatcmd[@}]%
+!endgroup
+
+% @comma{} to avoid , parsing problems.
+\let\comma = ,
+
+% Accents: @, @dotaccent @ringaccent @ubaraccent @udotaccent
+% Others are defined by plain TeX: @` @' @" @^ @~ @= @u @v @H.
+\let\, = \c
+\let\dotaccent = \.
+\def\ringaccent#1{{\accent23 #1}}
+\let\tieaccent = \t
+\let\ubaraccent = \b
+\let\udotaccent = \d
+
+% Other special characters: @questiondown @exclamdown @ordf @ordm
+% Plain TeX defines: @AA @AE @O @OE @L (plus lowercase versions) @ss.
+\def\questiondown{?`}
+\def\exclamdown{!`}
+\def\ordf{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{a}}}
+\def\ordm{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{o}}}
+
+% Dotless i and dotless j, used for accents.
+\def\imacro{i}
+\def\jmacro{j}
+\def\dotless#1{%
+  \def\temp{#1}%
+  \ifx\temp\imacro \ptexi
+  \else\ifx\temp\jmacro \j
+  \else \errmessage{@dotless can be used only with i or j}%
+  \fi\fi
+}
+
+% The \TeX{} logo, as in plain, but resetting the spacing so that a
+% period following counts as ending a sentence.  (Idea found in latex.)
+%
+\edef\TeX{\TeX \spacefactor=1000 }
+
+% @LaTeX{} logo.  Not quite the same results as the definition in
+% latex.ltx, since we use a different font for the raised A; it's most
+% convenient for us to use an explicitly smaller font, rather than using
+% the \scriptstyle font (since we don't reset \scriptstyle and
+% \scriptscriptstyle).
+%
+\def\LaTeX{%
+  L\kern-.36em
+  {\setbox0=\hbox{T}%
+   \vbox to \ht0{\hbox{\selectfonts\lllsize A}\vss}}%
+  \kern-.15em
+  \TeX
+}
+
+% Be sure we're in horizontal mode when doing a tie, since we make space
+% equivalent to this in @example-like environments. Otherwise, a space
+% at the beginning of a line will start with \penalty -- and
+% since \penalty is valid in vertical mode, we'd end up putting the
+% penalty on the vertical list instead of in the new paragraph.
+{\catcode`@ = 11
+ % Avoid using \@M directly, because that causes trouble
+ % if the definition is written into an index file.
+ \global\let\tiepenalty = \@M
+ \gdef\tie{\leavevmode\penalty\tiepenalty\ }
+}
+
+% @: forces normal size whitespace following.
+\def\:{\spacefactor=1000 }
+
+% @* forces a line break.
+\def\*{\hfil\break\hbox{}\ignorespaces}
+
+% @/ allows a line break.
+\let\/=\allowbreak
+
+% @. is an end-of-sentence period.
+\def\.{.\spacefactor=\endofsentencespacefactor\space}
+
+% @! is an end-of-sentence bang.
+\def\!{!\spacefactor=\endofsentencespacefactor\space}
+
+% @? is an end-of-sentence query.
+\def\?{?\spacefactor=\endofsentencespacefactor\space}
+
+% @frenchspacing on|off  says whether to put extra space after punctuation.
+% 
+\def\onword{on}
+\def\offword{off}
+%
+\parseargdef\frenchspacing{%
+  \def\temp{#1}%
+  \ifx\temp\onword \plainfrenchspacing
+  \else\ifx\temp\offword \plainnonfrenchspacing
+  \else
+    \errhelp = \EMsimple
+    \errmessage{Unknown @frenchspacing option `\temp', must be on/off}%
+  \fi\fi
+}
+
+% @w prevents a word break.  Without the \leavevmode, @w at the
+% beginning of a paragraph, when TeX is still in vertical mode, would
+% produce a whole line of output instead of starting the paragraph.
+\def\w#1{\leavevmode\hbox{#1}}
+
+% @group ... @end group forces ... to be all on one page, by enclosing
+% it in a TeX vbox.  We use \vtop instead of \vbox to construct the box
+% to keep its height that of a normal line.  According to the rules for
+% \topskip (p.114 of the TeXbook), the glue inserted is
+% max (\topskip - \ht (first item), 0).  If that height is large,
+% therefore, no glue is inserted, and the space between the headline and
+% the text is small, which looks bad.
+%
+% Another complication is that the group might be very large.  This can
+% cause the glue on the previous page to be unduly stretched, because it
+% does not have much material.  In this case, it's better to add an
+% explicit \vfill so that the extra space is at the bottom.  The
+% threshold for doing this is if the group is more than \vfilllimit
+% percent of a page (\vfilllimit can be changed inside of @tex).
+%
+\newbox\groupbox
+\def\vfilllimit{0.7}
+%
+\envdef\group{%
+  \ifnum\catcode`\^^M=\active \else
+    \errhelp = \groupinvalidhelp
+    \errmessage{@group invalid in context where filling is enabled}%
+  \fi
+  \startsavinginserts
+  %
+  \setbox\groupbox = \vtop\bgroup
+    % Do @comment since we are called inside an environment such as
+    % @example, where each end-of-line in the input causes an
+    % end-of-line in the output.  We don't want the end-of-line after
+    % the `@group' to put extra space in the output.  Since @group
+    % should appear on a line by itself (according to the Texinfo
+    % manual), we don't worry about eating any user text.
+    \comment
+}
+%
+% The \vtop produces a box with normal height and large depth; thus, TeX puts
+% \baselineskip glue before it, and (when the next line of text is done)
+% \lineskip glue after it.  Thus, space below is not quite equal to space
+% above.  But it's pretty close.
+\def\Egroup{%
+    % To get correct interline space between the last line of the group
+    % and the first line afterwards, we have to propagate \prevdepth.
+    \endgraf % Not \par, as it may have been set to \lisppar.
+    \global\dimen1 = \prevdepth
+  \egroup           % End the \vtop.
+  % \dimen0 is the vertical size of the group's box.
+  \dimen0 = \ht\groupbox  \advance\dimen0 by \dp\groupbox
+  % \dimen2 is how much space is left on the page (more or less).
+  \dimen2 = \pageheight   \advance\dimen2 by -\pagetotal
+  % if the group doesn't fit on the current page, and it's a big big
+  % group, force a page break.
+  \ifdim \dimen0 > \dimen2
+    \ifdim \pagetotal < \vfilllimit\pageheight
+      \page
+    \fi
+  \fi
+  \box\groupbox
+  \prevdepth = \dimen1
+  \checkinserts
+}
+%
+% TeX puts in an \escapechar (i.e., `@') at the beginning of the help
+% message, so this ends up printing `@group can only ...'.
+%
+\newhelp\groupinvalidhelp{%
+group can only be used in environments such as @example,^^J%
+where each line of input produces a line of output.}
+
+% @need space-in-mils
+% forces a page break if there is not space-in-mils remaining.
+
+\newdimen\mil  \mil=0.001in
+
+% Old definition--didn't work.
+%\parseargdef\need{\par %
+%% This method tries to make TeX break the page naturally
+%% if the depth of the box does not fit.
+%{\baselineskip=0pt%
+%\vtop to #1\mil{\vfil}\kern -#1\mil\nobreak
+%\prevdepth=-1000pt
+%}}
+
+\parseargdef\need{%
+  % Ensure vertical mode, so we don't make a big box in the middle of a
+  % paragraph.
+  \par
+  %
+  % If the @need value is less than one line space, it's useless.
+  \dimen0 = #1\mil
+  \dimen2 = \ht\strutbox
+  \advance\dimen2 by \dp\strutbox
+  \ifdim\dimen0 > \dimen2
+    %
+    % Do a \strut just to make the height of this box be normal, so the
+    % normal leading is inserted relative to the preceding line.
+    % And a page break here is fine.
+    \vtop to #1\mil{\strut\vfil}%
+    %
+    % TeX does not even consider page breaks if a penalty added to the
+    % main vertical list is 10000 or more.  But in order to see if the
+    % empty box we just added fits on the page, we must make it consider
+    % page breaks.  On the other hand, we don't want to actually break the
+    % page after the empty box.  So we use a penalty of 9999.
+    %
+    % There is an extremely small chance that TeX will actually break the
+    % page at this \penalty, if there are no other feasible breakpoints in
+    % sight.  (If the user is using lots of big @group commands, which
+    % almost-but-not-quite fill up a page, TeX will have a hard time doing
+    % good page breaking, for example.)  However, I could not construct an
+    % example where a page broke at this \penalty; if it happens in a real
+    % document, then we can reconsider our strategy.
+    \penalty9999
+    %
+    % Back up by the size of the box, whether we did a page break or not.
+    \kern -#1\mil
+    %
+    % Do not allow a page break right after this kern.
+    \nobreak
+  \fi
+}
+
+% @br   forces paragraph break (and is undocumented).
+
+\let\br = \par
+
+% @page forces the start of a new page.
+%
+\def\page{\par\vfill\supereject}
+
+% @exdent text....
+% outputs text on separate line in roman font, starting at standard page margin
+
+% This records the amount of indent in the innermost environment.
+% That's how much \exdent should take out.
+\newskip\exdentamount
+
+% This defn is used inside fill environments such as @defun.
+\parseargdef\exdent{\hfil\break\hbox{\kern -\exdentamount{\rm#1}}\hfil\break}
+
+% This defn is used inside nofill environments such as @example.
+\parseargdef\nofillexdent{{\advance \leftskip by -\exdentamount
+  \leftline{\hskip\leftskip{\rm#1}}}}
+
+% @inmargin{WHICH}{TEXT} puts TEXT in the WHICH margin next to the current
+% paragraph.  For more general purposes, use the \margin insertion
+% class.  WHICH is `l' or `r'.
+%
+\newskip\inmarginspacing \inmarginspacing=1cm
+\def\strutdepth{\dp\strutbox}
+%
+\def\doinmargin#1#2{\strut\vadjust{%
+  \nobreak
+  \kern-\strutdepth
+  \vtop to \strutdepth{%
+    \baselineskip=\strutdepth
+    \vss
+    % if you have multiple lines of stuff to put here, you'll need to
+    % make the vbox yourself of the appropriate size.
+    \ifx#1l%
+      \llap{\ignorespaces #2\hskip\inmarginspacing}%
+    \else
+      \rlap{\hskip\hsize \hskip\inmarginspacing \ignorespaces #2}%
+    \fi
+    \null
+  }%
+}}
+\def\inleftmargin{\doinmargin l}
+\def\inrightmargin{\doinmargin r}
+%
+% @inmargin{TEXT [, RIGHT-TEXT]}
+% (if RIGHT-TEXT is given, use TEXT for left page, RIGHT-TEXT for right;
+% else use TEXT for both).
+%
+\def\inmargin#1{\parseinmargin #1,,\finish}
+\def\parseinmargin#1,#2,#3\finish{% not perfect, but better than nothing.
+  \setbox0 = \hbox{\ignorespaces #2}%
+  \ifdim\wd0 > 0pt
+    \def\lefttext{#1}%  have both texts
+    \def\righttext{#2}%
+  \else
+    \def\lefttext{#1}%  have only one text
+    \def\righttext{#1}%
+  \fi
+  %
+  \ifodd\pageno
+    \def\temp{\inrightmargin\righttext}% odd page -> outside is right margin
+  \else
+    \def\temp{\inleftmargin\lefttext}%
+  \fi
+  \temp
+}
+
+% @include file    insert text of that file as input.
+%
+\def\include{\parseargusing\filenamecatcodes\includezzz}
+\def\includezzz#1{%
+  \pushthisfilestack
+  \def\thisfile{#1}%
+  {%
+    \makevalueexpandable
+    \def\temp{\input #1 }%
+    \expandafter
+  }\temp
+  \popthisfilestack
+}
+\def\filenamecatcodes{%
+  \catcode`\\=\other
+  \catcode`~=\other
+  \catcode`^=\other
+  \catcode`_=\other
+  \catcode`|=\other
+  \catcode`<=\other
+  \catcode`>=\other
+  \catcode`+=\other
+  \catcode`-=\other
+}
+
+\def\pushthisfilestack{%
+  \expandafter\pushthisfilestackX\popthisfilestack\StackTerm
+}
+\def\pushthisfilestackX{%
+  \expandafter\pushthisfilestackY\thisfile\StackTerm
+}
+\def\pushthisfilestackY #1\StackTerm #2\StackTerm {%
+  \gdef\popthisfilestack{\gdef\thisfile{#1}\gdef\popthisfilestack{#2}}%
+}
+
+\def\popthisfilestack{\errthisfilestackempty}
+\def\errthisfilestackempty{\errmessage{Internal error:
+  the stack of filenames is empty.}}
+
+\def\thisfile{}
+
+% @center line
+% outputs that line, centered.
+%
+\parseargdef\center{%
+  \ifhmode
+    \let\next\centerH
+  \else
+    \let\next\centerV
+  \fi
+  \next{\hfil \ignorespaces#1\unskip \hfil}%
+}
+\def\centerH#1{%
+  {%
+    \hfil\break
+    \advance\hsize by -\leftskip
+    \advance\hsize by -\rightskip
+    \line{#1}%
+    \break
+  }%
+}
+\def\centerV#1{\line{\kern\leftskip #1\kern\rightskip}}
+
+% @sp n   outputs n lines of vertical space
+
+\parseargdef\sp{\vskip #1\baselineskip}
+
+% @comment ...line which is ignored...
+% @c is the same as @comment
+% @ignore ... @end ignore  is another way to write a comment
+
+\def\comment{\begingroup \catcode`\^^M=\other%
+\catcode`\@=\other \catcode`\{=\other \catcode`\}=\other%
+\commentxxx}
+{\catcode`\^^M=\other \gdef\commentxxx#1^^M{\endgroup}}
+
+\let\c=\comment
+
+% @paragraphindent NCHARS
+% We'll use ems for NCHARS, close enough.
+% NCHARS can also be the word `asis' or `none'.
+% We cannot feasibly implement @paragraphindent asis, though.
+%
+\def\asisword{asis} % no translation, these are keywords
+\def\noneword{none}
+%
+\parseargdef\paragraphindent{%
+  \def\temp{#1}%
+  \ifx\temp\asisword
+  \else
+    \ifx\temp\noneword
+      \defaultparindent = 0pt
+    \else
+      \defaultparindent = #1em
+    \fi
+  \fi
+  \parindent = \defaultparindent
+}
+
+% @exampleindent NCHARS
+% We'll use ems for NCHARS like @paragraphindent.
+% It seems @exampleindent asis isn't necessary, but
+% I preserve it to make it similar to @paragraphindent.
+\parseargdef\exampleindent{%
+  \def\temp{#1}%
+  \ifx\temp\asisword
+  \else
+    \ifx\temp\noneword
+      \lispnarrowing = 0pt
+    \else
+      \lispnarrowing = #1em
+    \fi
+  \fi
+}
+
+% @firstparagraphindent WORD
+% If WORD is `none', then suppress indentation of the first paragraph
+% after a section heading.  If WORD is `insert', then do indent at such
+% paragraphs.
+%
+% The paragraph indentation is suppressed or not by calling
+% \suppressfirstparagraphindent, which the sectioning commands do.
+% We switch the definition of this back and forth according to WORD.
+% By default, we suppress indentation.
+%
+\def\suppressfirstparagraphindent{\dosuppressfirstparagraphindent}
+\def\insertword{insert}
+%
+\parseargdef\firstparagraphindent{%
+  \def\temp{#1}%
+  \ifx\temp\noneword
+    \let\suppressfirstparagraphindent = \dosuppressfirstparagraphindent
+  \else\ifx\temp\insertword
+    \let\suppressfirstparagraphindent = \relax
+  \else
+    \errhelp = \EMsimple
+    \errmessage{Unknown @firstparagraphindent option `\temp'}%
+  \fi\fi
+}
+
+% Here is how we actually suppress indentation.  Redefine \everypar to
+% \kern backwards by \parindent, and then reset itself to empty.
+%
+% We also make \indent itself not actually do anything until the next
+% paragraph.
+%
+\gdef\dosuppressfirstparagraphindent{%
+  \gdef\indent{%
+    \restorefirstparagraphindent
+    \indent
+  }%
+  \gdef\noindent{%
+    \restorefirstparagraphindent
+    \noindent
+  }%
+  \global\everypar = {%
+    \kern -\parindent
+    \restorefirstparagraphindent
+  }%
+}
+
+\gdef\restorefirstparagraphindent{%
+  \global \let \indent = \ptexindent
+  \global \let \noindent = \ptexnoindent
+  \global \everypar = {}%
+}
+
+
+% @asis just yields its argument.  Used with @table, for example.
+%
+\def\asis#1{#1}
+
+% @math outputs its argument in math mode.
+%
+% One complication: _ usually means subscripts, but it could also mean
+% an actual _ character, as in @math{@var{some_variable} + 1}.  So make
+% _ active, and distinguish by seeing if the current family is \slfam,
+% which is what @var uses.
+{
+  \catcode\underChar = \active
+  \gdef\mathunderscore{%
+    \catcode\underChar=\active
+    \def_{\ifnum\fam=\slfam \_\else\sb\fi}%
+  }
+}
+% Another complication: we want \\ (and @\) to output a \ character.
+% FYI, plain.tex uses \\ as a temporary control sequence (why?), but
+% this is not advertised and we don't care.  Texinfo does not
+% otherwise define @\.
+%
+% The \mathchar is class=0=ordinary, family=7=ttfam, position=5C=\.
+\def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi}
+%
+\def\math{%
+  \tex
+  \mathunderscore
+  \let\\ = \mathbackslash
+  \mathactive
+  $\finishmath
+}
+\def\finishmath#1{#1$\endgroup}  % Close the group opened by \tex.
+
+% Some active characters (such as <) are spaced differently in math.
+% We have to reset their definitions in case the @math was an argument
+% to a command which sets the catcodes (such as @item or @section).
+%
+{
+  \catcode`^ = \active
+  \catcode`< = \active
+  \catcode`> = \active
+  \catcode`+ = \active
+  \gdef\mathactive{%
+    \let^ = \ptexhat
+    \let< = \ptexless
+    \let> = \ptexgtr
+    \let+ = \ptexplus
+  }
+}
+
+% @bullet and @minus need the same treatment as @math, just above.
+\def\bullet{$\ptexbullet$}
+\def\minus{$-$}
+
+% @dots{} outputs an ellipsis using the current font.
+% We do .5em per period so that it has the same spacing in a typewriter
+% font as three actual period characters.
+%
+\def\dots{%
+  \leavevmode
+  \hbox to 1.5em{%
+    \hskip 0pt plus 0.25fil
+    .\hfil.\hfil.%
+    \hskip 0pt plus 0.5fil
+  }%
+}
+
+% @enddots{} is an end-of-sentence ellipsis.
+%
+\def\enddots{%
+  \dots
+  \spacefactor=\endofsentencespacefactor
+}
+
+% @comma{} is so commas can be inserted into text without messing up
+% Texinfo's parsing.
+%
+\let\comma = ,
+
+% @refill is a no-op.
+\let\refill=\relax
+
+% If working on a large document in chapters, it is convenient to
+% be able to disable indexing, cross-referencing, and contents, for test runs.
+% This is done with @novalidate (before @setfilename).
+%
+\newif\iflinks \linkstrue % by default we want the aux files.
+\let\novalidate = \linksfalse
+
+% @setfilename is done at the beginning of every texinfo file.
+% So open here the files we need to have open while reading the input.
+% This makes it possible to make a .fmt file for texinfo.
+\def\setfilename{%
+   \fixbackslash  % Turn off hack to swallow `\input texinfo'.
+   \iflinks
+     \tryauxfile
+     % Open the new aux file.  TeX will close it automatically at exit.
+     \immediate\openout\auxfile=\jobname.aux
+   \fi % \openindices needs to do some work in any case.
+   \openindices
+   \let\setfilename=\comment % Ignore extra @setfilename cmds.
+   %
+   % If texinfo.cnf is present on the system, read it.
+   % Useful for site-wide @afourpaper, etc.
+   \openin 1 texinfo.cnf
+   \ifeof 1 \else \input texinfo.cnf \fi
+   \closein 1
+   %
+   \comment % Ignore the actual filename.
+}
+
+% Called from \setfilename.
+%
+\def\openindices{%
+  \newindex{cp}%
+  \newcodeindex{fn}%
+  \newcodeindex{vr}%
+  \newcodeindex{tp}%
+  \newcodeindex{ky}%
+  \newcodeindex{pg}%
+}
+
+% @bye.
+\outer\def\bye{\pagealignmacro\tracingstats=1\ptexend}
+
+
+\message{pdf,}
+% adobe `portable' document format
+\newcount\tempnum
+\newcount\lnkcount
+\newtoks\filename
+\newcount\filenamelength
+\newcount\pgn
+\newtoks\toksA
+\newtoks\toksB
+\newtoks\toksC
+\newtoks\toksD
+\newbox\boxA
+\newcount\countA
+\newif\ifpdf
+\newif\ifpdfmakepagedest
+
+% when pdftex is run in dvi mode, \pdfoutput is defined (so \pdfoutput=1
+% can be set).  So we test for \relax and 0 as well as \undefined,
+% borrowed from ifpdf.sty.
+\ifx\pdfoutput\undefined
+\else
+  \ifx\pdfoutput\relax
+  \else
+    \ifcase\pdfoutput
+    \else
+      \pdftrue
+    \fi
+  \fi
+\fi
+
+% PDF uses PostScript string constants for the names of xref targets, to
+% for display in the outlines, and in other places.  Thus, we have to
+% double any backslashes.  Otherwise, a name like "\node" will be
+% interpreted as a newline (\n), followed by o, d, e.  Not good.
+% http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html
+% (and related messages, the final outcome is that it is up to the TeX
+% user to double the backslashes and otherwise make the string valid, so
+% that's we do).
+
+% double active backslashes.
+% 
+{\catcode`\@=0 \catcode`\\=\active
+ @gdef@activebackslash{@catcode`@\=@active @otherbackslash}
+ @gdef@activebackslashdouble{%
+   @catcode@backChar=@active
+   @let\=@doublebackslash}
+}
+
+% To handle parens, we must adopt a different approach, since parens are
+% not active characters.  hyperref.dtx (which has the same problem as
+% us) handles it with this amazing macro to replace tokens.  I've
+% tinkered with it a little for texinfo, but it's definitely from there.
+% 
+% #1 is the tokens to replace.
+% #2 is the replacement.
+% #3 is the control sequence with the string.
+% 
+\def\HyPsdSubst#1#2#3{%
+  \def\HyPsdReplace##1#1##2\END{%
+    ##1%
+    \ifx\\##2\\%
+    \else
+      #2%
+      \HyReturnAfterFi{%
+        \HyPsdReplace##2\END
+      }%
+    \fi
+  }%
+  \xdef#3{\expandafter\HyPsdReplace#3#1\END}%
+}
+\long\def\HyReturnAfterFi#1\fi{\fi#1}
+
+% #1 is a control sequence in which to do the replacements.
+\def\backslashparens#1{%
+  \xdef#1{#1}% redefine it as its expansion; the definition is simply
+             % \lastnode when called from \setref -> \pdfmkdest.
+  \HyPsdSubst{(}{\backslashlparen}{#1}%
+  \HyPsdSubst{)}{\backslashrparen}{#1}%
+}
+
+{\catcode\exclamChar = 0 \catcode\backChar = \other
+ !gdef!backslashlparen{\(}%
+ !gdef!backslashrparen{\)}%
+}
+
+\ifpdf
+  \input pdfcolor
+  \pdfcatalog{/PageMode /UseOutlines}%
+  \def\dopdfimage#1#2#3{%
+    \def\imagewidth{#2}%
+    \def\imageheight{#3}%
+    % without \immediate, pdftex seg faults when the same image is
+    % included twice.  (Version 3.14159-pre-1.0-unofficial-20010704.)
+    \ifnum\pdftexversion < 14
+      \immediate\pdfimage
+    \else
+      \immediate\pdfximage
+    \fi
+      \ifx\empty\imagewidth\else width \imagewidth \fi
+      \ifx\empty\imageheight\else height \imageheight \fi
+      \ifnum\pdftexversion<13
+         #1.pdf%
+       \else
+         {#1.pdf}%
+       \fi
+    \ifnum\pdftexversion < 14 \else
+      \pdfrefximage \pdflastximage
+    \fi}
+  \def\pdfmkdest#1{{%
+    % We have to set dummies so commands such as @code, and characters
+    % such as \, aren't expanded when present in a section title.
+    \atdummies
+    \activebackslashdouble
+    \def\pdfdestname{#1}%
+    \backslashparens\pdfdestname
+    \pdfdest name{\pdfdestname} xyz%
+  }}%
+  %
+  % used to mark target names; must be expandable.
+  \def\pdfmkpgn#1{#1}%
+  %
+  \let\linkcolor = \Blue  % was Cyan, but that seems light?
+  \def\endlink{\Black\pdfendlink}
+  % Adding outlines to PDF; macros for calculating structure of outlines
+  % come from Petr Olsak
+  \def\expnumber#1{\expandafter\ifx\csname#1\endcsname\relax 0%
+    \else \csname#1\endcsname \fi}
+  \def\advancenumber#1{\tempnum=\expnumber{#1}\relax
+    \advance\tempnum by 1
+    \expandafter\xdef\csname#1\endcsname{\the\tempnum}}
+  %
+  % #1 is the section text, which is what will be displayed in the
+  % outline by the pdf viewer.  #2 is the pdf expression for the number
+  % of subentries (or empty, for subsubsections).  #3 is the node text,
+  % which might be empty if this toc entry had no corresponding node.
+  % #4 is the page number
+  %
+  \def\dopdfoutline#1#2#3#4{%
+    % Generate a link to the node text if that exists; else, use the
+    % page number.  We could generate a destination for the section
+    % text in the case where a section has no node, but it doesn't
+    % seem worth the trouble, since most documents are normally structured.
+    \def\pdfoutlinedest{#3}%
+    \ifx\pdfoutlinedest\empty
+      \def\pdfoutlinedest{#4}%
+    \else
+      % Doubled backslashes in the name.
+      {\activebackslashdouble \xdef\pdfoutlinedest{#3}%
+       \backslashparens\pdfoutlinedest}%
+    \fi
+    %
+    % Also double the backslashes in the display string.
+    {\activebackslashdouble \xdef\pdfoutlinetext{#1}%
+     \backslashparens\pdfoutlinetext}%
+    %
+    \pdfoutline goto name{\pdfmkpgn{\pdfoutlinedest}}#2{\pdfoutlinetext}%
+  }
+  %
+  \def\pdfmakeoutlines{%
+    \begingroup
+      % Thanh's hack / proper braces in bookmarks
+      \edef\mylbrace{\iftrue \string{\else}\fi}\let\{=\mylbrace
+      \edef\myrbrace{\iffalse{\else\string}\fi}\let\}=\myrbrace
+      %
+      % Read toc silently, to get counts of subentries for \pdfoutline.
+      \def\numchapentry##1##2##3##4{%
+       \def\thischapnum{##2}%
+       \def\thissecnum{0}%
+       \def\thissubsecnum{0}%
+      }%
+      \def\numsecentry##1##2##3##4{%
+       \advancenumber{chap\thischapnum}%
+       \def\thissecnum{##2}%
+       \def\thissubsecnum{0}%
+      }%
+      \def\numsubsecentry##1##2##3##4{%
+       \advancenumber{sec\thissecnum}%
+       \def\thissubsecnum{##2}%
+      }%
+      \def\numsubsubsecentry##1##2##3##4{%
+       \advancenumber{subsec\thissubsecnum}%
+      }%
+      \def\thischapnum{0}%
+      \def\thissecnum{0}%
+      \def\thissubsecnum{0}%
+      %
+      % use \def rather than \let here because we redefine \chapentry et
+      % al. a second time, below.
+      \def\appentry{\numchapentry}%
+      \def\appsecentry{\numsecentry}%
+      \def\appsubsecentry{\numsubsecentry}%
+      \def\appsubsubsecentry{\numsubsubsecentry}%
+      \def\unnchapentry{\numchapentry}%
+      \def\unnsecentry{\numsecentry}%
+      \def\unnsubsecentry{\numsubsecentry}%
+      \def\unnsubsubsecentry{\numsubsubsecentry}%
+      \readdatafile{toc}%
+      %
+      % Read toc second time, this time actually producing the outlines.
+      % The `-' means take the \expnumber as the absolute number of
+      % subentries, which we calculated on our first read of the .toc above.
+      %
+      % We use the node names as the destinations.
+      \def\numchapentry##1##2##3##4{%
+        \dopdfoutline{##1}{count-\expnumber{chap##2}}{##3}{##4}}%
+      \def\numsecentry##1##2##3##4{%
+        \dopdfoutline{##1}{count-\expnumber{sec##2}}{##3}{##4}}%
+      \def\numsubsecentry##1##2##3##4{%
+        \dopdfoutline{##1}{count-\expnumber{subsec##2}}{##3}{##4}}%
+      \def\numsubsubsecentry##1##2##3##4{% count is always zero
+        \dopdfoutline{##1}{}{##3}{##4}}%
+      %
+      % PDF outlines are displayed using system fonts, instead of
+      % document fonts.  Therefore we cannot use special characters,
+      % since the encoding is unknown.  For example, the eogonek from
+      % Latin 2 (0xea) gets translated to a | character.  Info from
+      % Staszek Wawrykiewicz, 19 Jan 2004 04:09:24 +0100.
+      %
+      % xx to do this right, we have to translate 8-bit characters to
+      % their "best" equivalent, based on the @documentencoding.  Right
+      % now, I guess we'll just let the pdf reader have its way.
+      \indexnofonts
+      \setupdatafile
+      \activebackslash
+      \input \jobname.toc
+    \endgroup
+  }
+  %
+  \def\skipspaces#1{\def\PP{#1}\def\D{|}%
+    \ifx\PP\D\let\nextsp\relax
+    \else\let\nextsp\skipspaces
+      \ifx\p\space\else\addtokens{\filename}{\PP}%
+        \advance\filenamelength by 1
+      \fi
+    \fi
+    \nextsp}
+  \def\getfilename#1{\filenamelength=0\expandafter\skipspaces#1|\relax}
+  \ifnum\pdftexversion < 14
+    \let \startlink \pdfannotlink
+  \else
+    \let \startlink \pdfstartlink
+  \fi
+  \def\pdfurl#1{%
+    \begingroup
+      \normalturnoffactive\def\@{@}%
+      \makevalueexpandable
+      \leavevmode\Red
+      \startlink attr{/Border [0 0 0]}%
+        user{/Subtype /Link /A << /S /URI /URI (#1) >>}%
+    \endgroup}
+  \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}}
+  \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks}
+  \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks}
+  \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}}
+  \def\maketoks{%
+    \expandafter\poptoks\the\toksA|ENDTOKS|\relax
+    \ifx\first0\adn0
+    \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3
+    \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6
+    \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9
+    \else
+      \ifnum0=\countA\else\makelink\fi
+      \ifx\first.\let\next=\done\else
+        \let\next=\maketoks
+        \addtokens{\toksB}{\the\toksD}
+        \ifx\first,\addtokens{\toksB}{\space}\fi
+      \fi
+    \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+    \next}
+  \def\makelink{\addtokens{\toksB}%
+    {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0}
+  \def\pdflink#1{%
+    \startlink attr{/Border [0 0 0]} goto name{\pdfmkpgn{#1}}
+    \linkcolor #1\endlink}
+  \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st}
+\else
+  \let\pdfmkdest = \gobble
+  \let\pdfurl = \gobble
+  \let\endlink = \relax
+  \let\linkcolor = \relax
+  \let\pdfmakeoutlines = \relax
+\fi  % \ifx\pdfoutput
+
+
+\message{fonts,}
+
+% Change the current font style to #1, remembering it in \curfontstyle.
+% For now, we do not accumulate font styles: @b{@i{foo}} prints foo in
+% italics, not bold italics.
+%
+\def\setfontstyle#1{%
+  \def\curfontstyle{#1}% not as a control sequence, because we are \edef'd.
+  \csname ten#1\endcsname  % change the current font
+}
+
+% Select #1 fonts with the current style.
+%
+\def\selectfonts#1{\csname #1fonts\endcsname \csname\curfontstyle\endcsname}
+
+\def\rm{\fam=0 \setfontstyle{rm}}
+\def\it{\fam=\itfam \setfontstyle{it}}
+\def\sl{\fam=\slfam \setfontstyle{sl}}
+\def\bf{\fam=\bffam \setfontstyle{bf}}\def\bfstylename{bf}
+\def\tt{\fam=\ttfam \setfontstyle{tt}}
+
+% Texinfo sort of supports the sans serif font style, which plain TeX does not.
+% So we set up a \sf.
+\newfam\sffam
+\def\sf{\fam=\sffam \setfontstyle{sf}}
+\let\li = \sf % Sometimes we call it \li, not \sf.
+
+% We don't need math for this font style.
+\def\ttsl{\setfontstyle{ttsl}}
+
+% Default leading.
+\newdimen\textleading  \textleading = 13.2pt
+
+% Set the baselineskip to #1, and the lineskip and strut size
+% correspondingly.  There is no deep meaning behind these magic numbers
+% used as factors; they just match (closely enough) what Knuth defined.
+%
+\def\lineskipfactor{.08333}
+\def\strutheightpercent{.70833}
+\def\strutdepthpercent {.29167}
+%
+\def\setleading#1{%
+  \normalbaselineskip = #1\relax
+  \normallineskip = \lineskipfactor\normalbaselineskip
+  \normalbaselines
+  \setbox\strutbox =\hbox{%
+    \vrule width0pt height\strutheightpercent\baselineskip
+                    depth \strutdepthpercent \baselineskip
+  }%
+}
+
+% Set the font macro #1 to the font named #2, adding on the
+% specified font prefix (normally `cm').
+% #3 is the font's design size, #4 is a scale factor
+\def\setfont#1#2#3#4{\font#1=\fontprefix#2#3 scaled #4}
+
+% Use cm as the default font prefix.
+% To specify the font prefix, you must define \fontprefix
+% before you read in texinfo.tex.
+\ifx\fontprefix\undefined
+\def\fontprefix{cm}
+\fi
+% Support font families that don't use the same naming scheme as CM.
+\def\rmshape{r}
+\def\rmbshape{bx}               %where the normal face is bold
+\def\bfshape{b}
+\def\bxshape{bx}
+\def\ttshape{tt}
+\def\ttbshape{tt}
+\def\ttslshape{sltt}
+\def\itshape{ti}
+\def\itbshape{bxti}
+\def\slshape{sl}
+\def\slbshape{bxsl}
+\def\sfshape{ss}
+\def\sfbshape{ss}
+\def\scshape{csc}
+\def\scbshape{csc}
+
+% Text fonts (11.2pt, magstep1).
+\def\textnominalsize{11pt}
+\edef\mainmagstep{\magstephalf}
+\setfont\textrm\rmshape{10}{\mainmagstep}
+\setfont\texttt\ttshape{10}{\mainmagstep}
+\setfont\textbf\bfshape{10}{\mainmagstep}
+\setfont\textit\itshape{10}{\mainmagstep}
+\setfont\textsl\slshape{10}{\mainmagstep}
+\setfont\textsf\sfshape{10}{\mainmagstep}
+\setfont\textsc\scshape{10}{\mainmagstep}
+\setfont\textttsl\ttslshape{10}{\mainmagstep}
+\font\texti=cmmi10 scaled \mainmagstep
+\font\textsy=cmsy10 scaled \mainmagstep
+
+% A few fonts for @defun names and args.
+\setfont\defbf\bfshape{10}{\magstep1}
+\setfont\deftt\ttshape{10}{\magstep1}
+\setfont\defttsl\ttslshape{10}{\magstep1}
+\def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf}
+
+% Fonts for indices, footnotes, small examples (9pt).
+\def\smallnominalsize{9pt}
+\setfont\smallrm\rmshape{9}{1000}
+\setfont\smalltt\ttshape{9}{1000}
+\setfont\smallbf\bfshape{10}{900}
+\setfont\smallit\itshape{9}{1000}
+\setfont\smallsl\slshape{9}{1000}
+\setfont\smallsf\sfshape{9}{1000}
+\setfont\smallsc\scshape{10}{900}
+\setfont\smallttsl\ttslshape{10}{900}
+\font\smalli=cmmi9
+\font\smallsy=cmsy9
+
+% Fonts for small examples (8pt).
+\def\smallernominalsize{8pt}
+\setfont\smallerrm\rmshape{8}{1000}
+\setfont\smallertt\ttshape{8}{1000}
+\setfont\smallerbf\bfshape{10}{800}
+\setfont\smallerit\itshape{8}{1000}
+\setfont\smallersl\slshape{8}{1000}
+\setfont\smallersf\sfshape{8}{1000}
+\setfont\smallersc\scshape{10}{800}
+\setfont\smallerttsl\ttslshape{10}{800}
+\font\smalleri=cmmi8
+\font\smallersy=cmsy8
+
+% Fonts for title page (20.4pt):
+\def\titlenominalsize{20pt}
+\setfont\titlerm\rmbshape{12}{\magstep3}
+\setfont\titleit\itbshape{10}{\magstep4}
+\setfont\titlesl\slbshape{10}{\magstep4}
+\setfont\titlett\ttbshape{12}{\magstep3}
+\setfont\titlettsl\ttslshape{10}{\magstep4}
+\setfont\titlesf\sfbshape{17}{\magstep1}
+\let\titlebf=\titlerm
+\setfont\titlesc\scbshape{10}{\magstep4}
+\font\titlei=cmmi12 scaled \magstep3
+\font\titlesy=cmsy10 scaled \magstep4
+\def\authorrm{\secrm}
+\def\authortt{\sectt}
+
+% Chapter (and unnumbered) fonts (17.28pt).
+\def\chapnominalsize{17pt}
+\setfont\chaprm\rmbshape{12}{\magstep2}
+\setfont\chapit\itbshape{10}{\magstep3}
+\setfont\chapsl\slbshape{10}{\magstep3}
+\setfont\chaptt\ttbshape{12}{\magstep2}
+\setfont\chapttsl\ttslshape{10}{\magstep3}
+\setfont\chapsf\sfbshape{17}{1000}
+\let\chapbf=\chaprm
+\setfont\chapsc\scbshape{10}{\magstep3}
+\font\chapi=cmmi12 scaled \magstep2
+\font\chapsy=cmsy10 scaled \magstep3
+
+% Section fonts (14.4pt).
+\def\secnominalsize{14pt}
+\setfont\secrm\rmbshape{12}{\magstep1}
+\setfont\secit\itbshape{10}{\magstep2}
+\setfont\secsl\slbshape{10}{\magstep2}
+\setfont\sectt\ttbshape{12}{\magstep1}
+\setfont\secttsl\ttslshape{10}{\magstep2}
+\setfont\secsf\sfbshape{12}{\magstep1}
+\let\secbf\secrm
+\setfont\secsc\scbshape{10}{\magstep2}
+\font\seci=cmmi12 scaled \magstep1
+\font\secsy=cmsy10 scaled \magstep2
+
+% Subsection fonts (13.15pt).
+\def\ssecnominalsize{13pt}
+\setfont\ssecrm\rmbshape{12}{\magstephalf}
+\setfont\ssecit\itbshape{10}{1315}
+\setfont\ssecsl\slbshape{10}{1315}
+\setfont\ssectt\ttbshape{12}{\magstephalf}
+\setfont\ssecttsl\ttslshape{10}{1315}
+\setfont\ssecsf\sfbshape{12}{\magstephalf}
+\let\ssecbf\ssecrm
+\setfont\ssecsc\scbshape{10}{1315}
+\font\sseci=cmmi12 scaled \magstephalf
+\font\ssecsy=cmsy10 scaled 1315
+
+% Reduced fonts for @acro in text (10pt).
+\def\reducednominalsize{10pt}
+\setfont\reducedrm\rmshape{10}{1000}
+\setfont\reducedtt\ttshape{10}{1000}
+\setfont\reducedbf\bfshape{10}{1000}
+\setfont\reducedit\itshape{10}{1000}
+\setfont\reducedsl\slshape{10}{1000}
+\setfont\reducedsf\sfshape{10}{1000}
+\setfont\reducedsc\scshape{10}{1000}
+\setfont\reducedttsl\ttslshape{10}{1000}
+\font\reducedi=cmmi10
+\font\reducedsy=cmsy10
+
+% In order for the font changes to affect most math symbols and letters,
+% we have to define the \textfont of the standard families.  Since
+% texinfo doesn't allow for producing subscripts and superscripts except
+% in the main text, we don't bother to reset \scriptfont and
+% \scriptscriptfont (which would also require loading a lot more fonts).
+%
+\def\resetmathfonts{%
+  \textfont0=\tenrm \textfont1=\teni \textfont2=\tensy
+  \textfont\itfam=\tenit \textfont\slfam=\tensl \textfont\bffam=\tenbf
+  \textfont\ttfam=\tentt \textfont\sffam=\tensf
+}
+
+% The font-changing commands redefine the meanings of \tenSTYLE, instead
+% of just \STYLE.  We do this because \STYLE needs to also set the
+% current \fam for math mode.  Our \STYLE (e.g., \rm) commands hardwire
+% \tenSTYLE to set the current font.
+%
+% Each font-changing command also sets the names \lsize (one size lower)
+% and \lllsize (three sizes lower).  These relative commands are used in
+% the LaTeX logo and acronyms.
+%
+% This all needs generalizing, badly.
+%
+\def\textfonts{%
+  \let\tenrm=\textrm \let\tenit=\textit \let\tensl=\textsl
+  \let\tenbf=\textbf \let\tentt=\texttt \let\smallcaps=\textsc
+  \let\tensf=\textsf \let\teni=\texti \let\tensy=\textsy
+  \let\tenttsl=\textttsl
+  \def\curfontsize{text}%
+  \def\lsize{reduced}\def\lllsize{smaller}%
+  \resetmathfonts \setleading{\textleading}}
+\def\titlefonts{%
+  \let\tenrm=\titlerm \let\tenit=\titleit \let\tensl=\titlesl
+  \let\tenbf=\titlebf \let\tentt=\titlett \let\smallcaps=\titlesc
+  \let\tensf=\titlesf \let\teni=\titlei \let\tensy=\titlesy
+  \let\tenttsl=\titlettsl
+  \def\curfontsize{title}%
+  \def\lsize{chap}\def\lllsize{subsec}%
+  \resetmathfonts \setleading{25pt}}
+\def\titlefont#1{{\titlefonts\rm #1}}
+\def\chapfonts{%
+  \let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl
+  \let\tenbf=\chapbf \let\tentt=\chaptt \let\smallcaps=\chapsc
+  \let\tensf=\chapsf \let\teni=\chapi \let\tensy=\chapsy
+  \let\tenttsl=\chapttsl
+  \def\curfontsize{chap}%
+  \def\lsize{sec}\def\lllsize{text}%
+  \resetmathfonts \setleading{19pt}}
+\def\secfonts{%
+  \let\tenrm=\secrm \let\tenit=\secit \let\tensl=\secsl
+  \let\tenbf=\secbf \let\tentt=\sectt \let\smallcaps=\secsc
+  \let\tensf=\secsf \let\teni=\seci \let\tensy=\secsy
+  \let\tenttsl=\secttsl
+  \def\curfontsize{sec}%
+  \def\lsize{subsec}\def\lllsize{reduced}%
+  \resetmathfonts \setleading{16pt}}
+\def\subsecfonts{%
+  \let\tenrm=\ssecrm \let\tenit=\ssecit \let\tensl=\ssecsl
+  \let\tenbf=\ssecbf \let\tentt=\ssectt \let\smallcaps=\ssecsc
+  \let\tensf=\ssecsf \let\teni=\sseci \let\tensy=\ssecsy
+  \let\tenttsl=\ssecttsl
+  \def\curfontsize{ssec}%
+  \def\lsize{text}\def\lllsize{small}%
+  \resetmathfonts \setleading{15pt}}
+\let\subsubsecfonts = \subsecfonts
+\def\reducedfonts{%
+  \let\tenrm=\reducedrm \let\tenit=\reducedit \let\tensl=\reducedsl
+  \let\tenbf=\reducedbf \let\tentt=\reducedtt \let\reducedcaps=\reducedsc
+  \let\tensf=\reducedsf \let\teni=\reducedi \let\tensy=\reducedsy
+  \let\tenttsl=\reducedttsl
+  \def\curfontsize{reduced}%
+  \def\lsize{small}\def\lllsize{smaller}%
+  \resetmathfonts \setleading{10.5pt}}
+\def\smallfonts{%
+  \let\tenrm=\smallrm \let\tenit=\smallit \let\tensl=\smallsl
+  \let\tenbf=\smallbf \let\tentt=\smalltt \let\smallcaps=\smallsc
+  \let\tensf=\smallsf \let\teni=\smalli \let\tensy=\smallsy
+  \let\tenttsl=\smallttsl
+  \def\curfontsize{small}%
+  \def\lsize{smaller}\def\lllsize{smaller}%
+  \resetmathfonts \setleading{10.5pt}}
+\def\smallerfonts{%
+  \let\tenrm=\smallerrm \let\tenit=\smallerit \let\tensl=\smallersl
+  \let\tenbf=\smallerbf \let\tentt=\smallertt \let\smallcaps=\smallersc
+  \let\tensf=\smallersf \let\teni=\smalleri \let\tensy=\smallersy
+  \let\tenttsl=\smallerttsl
+  \def\curfontsize{smaller}%
+  \def\lsize{smaller}\def\lllsize{smaller}%
+  \resetmathfonts \setleading{9.5pt}}
+
+% Set the fonts to use with the @small... environments.
+\let\smallexamplefonts = \smallfonts
+
+% About \smallexamplefonts.  If we use \smallfonts (9pt), @smallexample
+% can fit this many characters:
+%   8.5x11=86   smallbook=72  a4=90  a5=69
+% If we use \scriptfonts (8pt), then we can fit this many characters:
+%   8.5x11=90+  smallbook=80  a4=90+  a5=77
+% For me, subjectively, the few extra characters that fit aren't worth
+% the additional smallness of 8pt.  So I'm making the default 9pt.
+%
+% By the way, for comparison, here's what fits with @example (10pt):
+%   8.5x11=71  smallbook=60  a4=75  a5=58
+%
+% I wish the USA used A4 paper.
+% --karl, 24jan03.
+
+
+% Set up the default fonts, so we can use them for creating boxes.
+%
+\textfonts \rm
+
+% Define these so they can be easily changed for other fonts.
+\def\angleleft{$\langle$}
+\def\angleright{$\rangle$}
+
+% Count depth in font-changes, for error checks
+\newcount\fontdepth \fontdepth=0
+
+% Fonts for short table of contents.
+\setfont\shortcontrm\rmshape{12}{1000}
+\setfont\shortcontbf\bfshape{10}{\magstep1}  % no cmb12
+\setfont\shortcontsl\slshape{12}{1000}
+\setfont\shortconttt\ttshape{12}{1000}
+
+%% Add scribe-like font environments, plus @l for inline lisp (usually sans
+%% serif) and @ii for TeX italic
+
+% \smartitalic{ARG} outputs arg in italics, followed by an italic correction
+% unless the following character is such as not to need one.
+\def\smartitalicx{\ifx\next,\else\ifx\next-\else\ifx\next.\else
+                    \ptexslash\fi\fi\fi}
+\def\smartslanted#1{{\ifusingtt\ttsl\sl #1}\futurelet\next\smartitalicx}
+\def\smartitalic#1{{\ifusingtt\ttsl\it #1}\futurelet\next\smartitalicx}
+
+% like \smartslanted except unconditionally uses \ttsl.
+% @var is set to this for defun arguments.
+\def\ttslanted#1{{\ttsl #1}\futurelet\next\smartitalicx}
+
+% like \smartslanted except unconditionally use \sl.  We never want
+% ttsl for book titles, do we?
+\def\cite#1{{\sl #1}\futurelet\next\smartitalicx}
+
+\let\i=\smartitalic
+\let\slanted=\smartslanted
+\let\var=\smartslanted
+\let\dfn=\smartslanted
+\let\emph=\smartitalic
+
+% @b, explicit bold.
+\def\b#1{{\bf #1}}
+\let\strong=\b
+
+% @sansserif, explicit sans.
+\def\sansserif#1{{\sf #1}}
+
+% We can't just use \exhyphenpenalty, because that only has effect at
+% the end of a paragraph.  Restore normal hyphenation at the end of the
+% group within which \nohyphenation is presumably called.
+%
+\def\nohyphenation{\hyphenchar\font = -1  \aftergroup\restorehyphenation}
+\def\restorehyphenation{\hyphenchar\font = `- }
+
+% Set sfcode to normal for the chars that usually have another value.
+% Can't use plain's \frenchspacing because it uses the `\x notation, and
+% sometimes \x has an active definition that messes things up.
+%
+\catcode`@=11
+  \def\plainfrenchspacing{%
+    \sfcode\dotChar  =\@m \sfcode\questChar=\@m \sfcode\exclamChar=\@m
+    \sfcode\colonChar=\@m \sfcode\semiChar =\@m \sfcode\commaChar =\@m
+    \def\endofsentencespacefactor{1000}% for @. and friends
+  }
+  \def\plainnonfrenchspacing{%
+    \sfcode`\.3000\sfcode`\?3000\sfcode`\!3000
+    \sfcode`\:2000\sfcode`\;1500\sfcode`\,1250
+    \def\endofsentencespacefactor{3000}% for @. and friends
+  }
+\catcode`@=\other
+\def\endofsentencespacefactor{3000}% default
+
+\def\t#1{%
+  {\tt \rawbackslash \plainfrenchspacing #1}%
+  \null
+}
+\def\samp#1{`\tclose{#1}'\null}
+\setfont\keyrm\rmshape{8}{1000}
+\font\keysy=cmsy9
+\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{%
+  \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{%
+    \vbox{\hrule\kern-0.4pt
+     \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}%
+    \kern-0.4pt\hrule}%
+  \kern-.06em\raise0.4pt\hbox{\angleright}}}}
+% The old definition, with no lozenge:
+%\def\key #1{{\ttsl \nohyphenation \uppercase{#1}}\null}
+\def\ctrl #1{{\tt \rawbackslash \hat}#1}
+
+% @file, @option are the same as @samp.
+\let\file=\samp
+\let\option=\samp
+
+% @code is a modification of @t,
+% which makes spaces the same size as normal in the surrounding text.
+\def\tclose#1{%
+  {%
+    % Change normal interword space to be same as for the current font.
+    \spaceskip = \fontdimen2\font
+    %
+    % Switch to typewriter.
+    \tt
+    %
+    % But `\ ' produces the large typewriter interword space.
+    \def\ {{\spaceskip = 0pt{} }}%
+    %
+    % Turn off hyphenation.
+    \nohyphenation
+    %
+    \rawbackslash
+    \plainfrenchspacing
+    #1%
+  }%
+  \null
+}
+
+% We *must* turn on hyphenation at `-' and `_' in @code.
+% Otherwise, it is too hard to avoid overfull hboxes
+% in the Emacs manual, the Library manual, etc.
+
+% Unfortunately, TeX uses one parameter (\hyphenchar) to control
+% both hyphenation at - and hyphenation within words.
+% We must therefore turn them both off (\tclose does that)
+% and arrange explicitly to hyphenate at a dash.
+%  -- rms.
+{
+  \catcode`\-=\active
+  \catcode`\_=\active
+  %
+  \global\def\code{\begingroup
+    \catcode`\-=\active  \catcode`\_=\active
+    \ifallowcodebreaks
+     \let-\codedash
+     \let_\codeunder
+    \else
+     \let-\realdash
+     \let_\realunder
+    \fi
+    \codex
+  }
+}
+
+\def\realdash{-}
+\def\codedash{-\discretionary{}{}{}}
+\def\codeunder{%
+  % this is all so @math{@code{var_name}+1} can work.  In math mode, _
+  % is "active" (mathcode"8000) and \normalunderscore (or \char95, etc.)
+  % will therefore expand the active definition of _, which is us
+  % (inside @code that is), therefore an endless loop.
+  \ifusingtt{\ifmmode
+               \mathchar"075F % class 0=ordinary, family 7=ttfam, pos 0x5F=_.
+             \else\normalunderscore \fi
+             \discretionary{}{}{}}%
+            {\_}%
+}
+\def\codex #1{\tclose{#1}\endgroup}
+
+% An additional complication: the above will allow breaks after, e.g.,
+% each of the four underscores in __typeof__.  This is undesirable in
+% some manuals, especially if they don't have long identifiers in
+% general.  @allowcodebreaks provides a way to control this.
+% 
+\newif\ifallowcodebreaks  \allowcodebreakstrue
+
+\def\keywordtrue{true}
+\def\keywordfalse{false}
+
+\parseargdef\allowcodebreaks{%
+  \def\txiarg{#1}%
+  \ifx\txiarg\keywordtrue
+    \allowcodebreakstrue
+  \else\ifx\txiarg\keywordfalse
+    \allowcodebreaksfalse
+  \else
+    \errhelp = \EMsimple
+    \errmessage{Unknown @allowcodebreaks option `\txiarg'}%
+  \fi\fi
+}
+
+% @kbd is like @code, except that if the argument is just one @key command,
+% then @kbd has no effect.
+
+% @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always),
+%   `example' (@kbd uses ttsl only inside of @example and friends),
+%   or `code' (@kbd uses normal tty font always).
+\parseargdef\kbdinputstyle{%
+  \def\txiarg{#1}%
+  \ifx\txiarg\worddistinct
+    \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\ttsl}%
+  \else\ifx\txiarg\wordexample
+    \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\tt}%
+  \else\ifx\txiarg\wordcode
+    \gdef\kbdexamplefont{\tt}\gdef\kbdfont{\tt}%
+  \else
+    \errhelp = \EMsimple
+    \errmessage{Unknown @kbdinputstyle option `\txiarg'}%
+  \fi\fi\fi
+}
+\def\worddistinct{distinct}
+\def\wordexample{example}
+\def\wordcode{code}
+
+% Default is `distinct.'
+\kbdinputstyle distinct
+
+\def\xkey{\key}
+\def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}%
+\ifx\one\xkey\ifx\threex\three \key{#2}%
+\else{\tclose{\kbdfont\look}}\fi
+\else{\tclose{\kbdfont\look}}\fi}
+
+% For @indicateurl, @env, @command quotes seem unnecessary, so use \code.
+\let\indicateurl=\code
+\let\env=\code
+\let\command=\code
+
+% @uref (abbreviation for `urlref') takes an optional (comma-separated)
+% second argument specifying the text to display and an optional third
+% arg as text to display instead of (rather than in addition to) the url
+% itself.  First (mandatory) arg is the url.  Perhaps eventually put in
+% a hypertex \special here.
+%
+\def\uref#1{\douref #1,,,\finish}
+\def\douref#1,#2,#3,#4\finish{\begingroup
+  \unsepspaces
+  \pdfurl{#1}%
+  \setbox0 = \hbox{\ignorespaces #3}%
+  \ifdim\wd0 > 0pt
+    \unhbox0 % third arg given, show only that
+  \else
+    \setbox0 = \hbox{\ignorespaces #2}%
+    \ifdim\wd0 > 0pt
+      \ifpdf
+        \unhbox0             % PDF: 2nd arg given, show only it
+      \else
+        \unhbox0\ (\code{#1})% DVI: 2nd arg given, show both it and url
+      \fi
+    \else
+      \code{#1}% only url given, so show it
+    \fi
+  \fi
+  \endlink
+\endgroup}
+
+% @url synonym for @uref, since that's how everyone uses it.
+%
+\let\url=\uref
+
+% rms does not like angle brackets --karl, 17may97.
+% So now @email is just like @uref, unless we are pdf.
+%
+%\def\email#1{\angleleft{\tt #1}\angleright}
+\ifpdf
+  \def\email#1{\doemail#1,,\finish}
+  \def\doemail#1,#2,#3\finish{\begingroup
+    \unsepspaces
+    \pdfurl{mailto:#1}%
+    \setbox0 = \hbox{\ignorespaces #2}%
+    \ifdim\wd0>0pt\unhbox0\else\code{#1}\fi
+    \endlink
+  \endgroup}
+\else
+  \let\email=\uref
+\fi
+
+% Check if we are currently using a typewriter font.  Since all the
+% Computer Modern typewriter fonts have zero interword stretch (and
+% shrink), and it is reasonable to expect all typewriter fonts to have
+% this property, we can check that font parameter.
+%
+\def\ifmonospace{\ifdim\fontdimen3\font=0pt }
+
+% Typeset a dimension, e.g., `in' or `pt'.  The only reason for the
+% argument is to make the input look right: @dmn{pt} instead of @dmn{}pt.
+%
+\def\dmn#1{\thinspace #1}
+
+\def\kbd#1{\def\look{#1}\expandafter\kbdfoo\look??\par}
+
+% @l was never documented to mean ``switch to the Lisp font'',
+% and it is not used as such in any manual I can find.  We need it for
+% Polish suppressed-l.  --karl, 22sep96.
+%\def\l#1{{\li #1}\null}
+
+% Explicit font changes: @r, @sc, undocumented @ii.
+\def\r#1{{\rm #1}}              % roman font
+\def\sc#1{{\smallcaps#1}}       % smallcaps font
+\def\ii#1{{\it #1}}             % italic font
+
+% @acronym for "FBI", "NATO", and the like.
+% We print this one point size smaller, since it's intended for
+% all-uppercase.
+% 
+\def\acronym#1{\doacronym #1,,\finish}
+\def\doacronym#1,#2,#3\finish{%
+  {\selectfonts\lsize #1}%
+  \def\temp{#2}%
+  \ifx\temp\empty \else
+    \space ({\unsepspaces \ignorespaces \temp \unskip})%
+  \fi
+}
+
+% @abbr for "Comput. J." and the like.
+% No font change, but don't do end-of-sentence spacing.
+% 
+\def\abbr#1{\doabbr #1,,\finish}
+\def\doabbr#1,#2,#3\finish{%
+  {\plainfrenchspacing #1}%
+  \def\temp{#2}%
+  \ifx\temp\empty \else
+    \space ({\unsepspaces \ignorespaces \temp \unskip})%
+  \fi
+}
+
+% @pounds{} is a sterling sign, which Knuth put in the CM italic font.
+%
+\def\pounds{{\it\$}}
+
+% @euro{} comes from a separate font, depending on the current style.
+% We use the free feym* fonts from the eurosym package by Henrik
+% Theiling, which support regular, slanted, bold and bold slanted (and
+% "outlined" (blackboard board, sort of) versions, which we don't need).
+% It is available from http://www.ctan.org/tex-archive/fonts/eurosym.
+% 
+% Although only regular is the truly official Euro symbol, we ignore
+% that.  The Euro is designed to be slightly taller than the regular
+% font height.
+% 
+% feymr - regular
+% feymo - slanted
+% feybr - bold
+% feybo - bold slanted
+% 
+% There is no good (free) typewriter version, to my knowledge.
+% A feymr10 euro is ~7.3pt wide, while a normal cmtt10 char is ~5.25pt wide.
+% Hmm.
+% 
+% Also doesn't work in math.  Do we need to do math with euro symbols?
+% Hope not.
+% 
+% 
+\def\euro{{\eurofont e}}
+\def\eurofont{%
+  % We set the font at each command, rather than predefining it in
+  % \textfonts and the other font-switching commands, so that
+  % installations which never need the symbol don't have to have the
+  % font installed.
+  % 
+  % There is only one designed size (nominal 10pt), so we always scale
+  % that to the current nominal size.
+  % 
+  % By the way, simply using "at 1em" works for cmr10 and the like, but
+  % does not work for cmbx10 and other extended/shrunken fonts.
+  % 
+  \def\eurosize{\csname\curfontsize nominalsize\endcsname}%
+  %
+  \ifx\curfontstyle\bfstylename 
+    % bold:
+    \font\thiseurofont = \ifusingit{feybo10}{feybr10} at \eurosize
+  \else 
+    % regular:
+    \font\thiseurofont = \ifusingit{feymo10}{feymr10} at \eurosize
+  \fi
+  \thiseurofont
+}
+
+% @registeredsymbol - R in a circle.  The font for the R should really
+% be smaller yet, but lllsize is the best we can do for now.
+% Adapted from the plain.tex definition of \copyright.
+%
+\def\registeredsymbol{%
+  $^{{\ooalign{\hfil\raise.07ex\hbox{\selectfonts\lllsize R}%
+               \hfil\crcr\Orb}}%
+    }$%
+}
+
+% Laurent Siebenmann reports \Orb undefined with:
+%  Textures 1.7.7 (preloaded format=plain 93.10.14)  (68K)  16 APR 2004 02:38
+% so we'll define it if necessary.
+% 
+\ifx\Orb\undefined
+\def\Orb{\mathhexbox20D}
+\fi
+
+
+\message{page headings,}
+
+\newskip\titlepagetopglue \titlepagetopglue = 1.5in
+\newskip\titlepagebottomglue \titlepagebottomglue = 2pc
+
+% First the title page.  Must do @settitle before @titlepage.
+\newif\ifseenauthor
+\newif\iffinishedtitlepage
+
+% Do an implicit @contents or @shortcontents after @end titlepage if the
+% user says @setcontentsaftertitlepage or @setshortcontentsaftertitlepage.
+%
+\newif\ifsetcontentsaftertitlepage
+ \let\setcontentsaftertitlepage = \setcontentsaftertitlepagetrue
+\newif\ifsetshortcontentsaftertitlepage
+ \let\setshortcontentsaftertitlepage = \setshortcontentsaftertitlepagetrue
+
+\parseargdef\shorttitlepage{\begingroup\hbox{}\vskip 1.5in \chaprm \centerline{#1}%
+        \endgroup\page\hbox{}\page}
+
+\envdef\titlepage{%
+  % Open one extra group, as we want to close it in the middle of \Etitlepage.
+  \begingroup
+    \parindent=0pt \textfonts
+    % Leave some space at the very top of the page.
+    \vglue\titlepagetopglue
+    % No rule at page bottom unless we print one at the top with @title.
+    \finishedtitlepagetrue
+    %
+    % Most title ``pages'' are actually two pages long, with space
+    % at the top of the second.  We don't want the ragged left on the second.
+    \let\oldpage = \page
+    \def\page{%
+      \iffinishedtitlepage\else
+        \finishtitlepage
+      \fi
+      \let\page = \oldpage
+      \page
+      \null
+    }%
+}
+
+\def\Etitlepage{%
+    \iffinishedtitlepage\else
+       \finishtitlepage
+    \fi
+    % It is important to do the page break before ending the group,
+    % because the headline and footline are only empty inside the group.
+    % If we use the new definition of \page, we always get a blank page
+    % after the title page, which we certainly don't want.
+    \oldpage
+  \endgroup
+  %
+  % Need this before the \...aftertitlepage checks so that if they are
+  % in effect the toc pages will come out with page numbers.
+  \HEADINGSon
+  %
+  % If they want short, they certainly want long too.
+  \ifsetshortcontentsaftertitlepage
+    \shortcontents
+    \contents
+    \global\let\shortcontents = \relax
+    \global\let\contents = \relax
+  \fi
+  %
+  \ifsetcontentsaftertitlepage
+    \contents
+    \global\let\contents = \relax
+    \global\let\shortcontents = \relax
+  \fi
+}
+
+\def\finishtitlepage{%
+  \vskip4pt \hrule height 2pt width \hsize
+  \vskip\titlepagebottomglue
+  \finishedtitlepagetrue
+}
+
+%%% Macros to be used within @titlepage:
+
+\let\subtitlerm=\tenrm
+\def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines}
+
+\def\authorfont{\authorrm \normalbaselineskip = 16pt \normalbaselines
+               \let\tt=\authortt}
+
+\parseargdef\title{%
+  \checkenv\titlepage
+  \leftline{\titlefonts\rm #1}
+  % print a rule at the page bottom also.
+  \finishedtitlepagefalse
+  \vskip4pt \hrule height 4pt width \hsize \vskip4pt
+}
+
+\parseargdef\subtitle{%
+  \checkenv\titlepage
+  {\subtitlefont \rightline{#1}}%
+}
+
+% @author should come last, but may come many times.
+% It can also be used inside @quotation.
+%
+\parseargdef\author{%
+  \def\temp{\quotation}%
+  \ifx\thisenv\temp
+    \def\quotationauthor{#1}% printed in \Equotation.
+  \else
+    \checkenv\titlepage
+    \ifseenauthor\else \vskip 0pt plus 1filll \seenauthortrue \fi
+    {\authorfont \leftline{#1}}%
+  \fi
+}
+
+
+%%% Set up page headings and footings.
+
+\let\thispage=\folio
+
+\newtoks\evenheadline    % headline on even pages
+\newtoks\oddheadline     % headline on odd pages
+\newtoks\evenfootline    % footline on even pages
+\newtoks\oddfootline     % footline on odd pages
+
+% Now make TeX use those variables
+\headline={{\textfonts\rm \ifodd\pageno \the\oddheadline
+                            \else \the\evenheadline \fi}}
+\footline={{\textfonts\rm \ifodd\pageno \the\oddfootline
+                            \else \the\evenfootline \fi}\HEADINGShook}
+\let\HEADINGShook=\relax
+
+% Commands to set those variables.
+% For example, this is what  @headings on  does
+% @evenheading @thistitle|@thispage|@thischapter
+% @oddheading @thischapter|@thispage|@thistitle
+% @evenfooting @thisfile||
+% @oddfooting ||@thisfile
+
+
+\def\evenheading{\parsearg\evenheadingxxx}
+\def\evenheadingxxx #1{\evenheadingyyy #1\|\|\|\|\finish}
+\def\evenheadingyyy #1\|#2\|#3\|#4\finish{%
+\global\evenheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
+
+\def\oddheading{\parsearg\oddheadingxxx}
+\def\oddheadingxxx #1{\oddheadingyyy #1\|\|\|\|\finish}
+\def\oddheadingyyy #1\|#2\|#3\|#4\finish{%
+\global\oddheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
+
+\parseargdef\everyheading{\oddheadingxxx{#1}\evenheadingxxx{#1}}%
+
+\def\evenfooting{\parsearg\evenfootingxxx}
+\def\evenfootingxxx #1{\evenfootingyyy #1\|\|\|\|\finish}
+\def\evenfootingyyy #1\|#2\|#3\|#4\finish{%
+\global\evenfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
+
+\def\oddfooting{\parsearg\oddfootingxxx}
+\def\oddfootingxxx #1{\oddfootingyyy #1\|\|\|\|\finish}
+\def\oddfootingyyy #1\|#2\|#3\|#4\finish{%
+  \global\oddfootline = {\rlap{\centerline{#2}}\line{#1\hfil#3}}%
+  %
+  % Leave some space for the footline.  Hopefully ok to assume
+  % @evenfooting will not be used by itself.
+  \global\advance\pageheight by -\baselineskip
+  \global\advance\vsize by -\baselineskip
+}
+
+\parseargdef\everyfooting{\oddfootingxxx{#1}\evenfootingxxx{#1}}
+
+
+% @headings double      turns headings on for double-sided printing.
+% @headings single      turns headings on for single-sided printing.
+% @headings off         turns them off.
+% @headings on          same as @headings double, retained for compatibility.
+% @headings after       turns on double-sided headings after this page.
+% @headings doubleafter turns on double-sided headings after this page.
+% @headings singleafter turns on single-sided headings after this page.
+% By default, they are off at the start of a document,
+% and turned `on' after @end titlepage.
+
+\def\headings #1 {\csname HEADINGS#1\endcsname}
+
+\def\HEADINGSoff{%
+\global\evenheadline={\hfil} \global\evenfootline={\hfil}
+\global\oddheadline={\hfil} \global\oddfootline={\hfil}}
+\HEADINGSoff
+% When we turn headings on, set the page number to 1.
+% For double-sided printing, put current file name in lower left corner,
+% chapter name on inside top of right hand pages, document
+% title on inside top of left hand pages, and page numbers on outside top
+% edge of all pages.
+\def\HEADINGSdouble{%
+\global\pageno=1
+\global\evenfootline={\hfil}
+\global\oddfootline={\hfil}
+\global\evenheadline={\line{\folio\hfil\thistitle}}
+\global\oddheadline={\line{\thischapter\hfil\folio}}
+\global\let\contentsalignmacro = \chapoddpage
+}
+\let\contentsalignmacro = \chappager
+
+% For single-sided printing, chapter title goes across top left of page,
+% page number on top right.
+\def\HEADINGSsingle{%
+\global\pageno=1
+\global\evenfootline={\hfil}
+\global\oddfootline={\hfil}
+\global\evenheadline={\line{\thischapter\hfil\folio}}
+\global\oddheadline={\line{\thischapter\hfil\folio}}
+\global\let\contentsalignmacro = \chappager
+}
+\def\HEADINGSon{\HEADINGSdouble}
+
+\def\HEADINGSafter{\let\HEADINGShook=\HEADINGSdoublex}
+\let\HEADINGSdoubleafter=\HEADINGSafter
+\def\HEADINGSdoublex{%
+\global\evenfootline={\hfil}
+\global\oddfootline={\hfil}
+\global\evenheadline={\line{\folio\hfil\thistitle}}
+\global\oddheadline={\line{\thischapter\hfil\folio}}
+\global\let\contentsalignmacro = \chapoddpage
+}
+
+\def\HEADINGSsingleafter{\let\HEADINGShook=\HEADINGSsinglex}
+\def\HEADINGSsinglex{%
+\global\evenfootline={\hfil}
+\global\oddfootline={\hfil}
+\global\evenheadline={\line{\thischapter\hfil\folio}}
+\global\oddheadline={\line{\thischapter\hfil\folio}}
+\global\let\contentsalignmacro = \chappager
+}
+
+% Subroutines used in generating headings
+% This produces Day Month Year style of output.
+% Only define if not already defined, in case a txi-??.tex file has set
+% up a different format (e.g., txi-cs.tex does this).
+\ifx\today\undefined
+\def\today{%
+  \number\day\space
+  \ifcase\month
+  \or\putwordMJan\or\putwordMFeb\or\putwordMMar\or\putwordMApr
+  \or\putwordMMay\or\putwordMJun\or\putwordMJul\or\putwordMAug
+  \or\putwordMSep\or\putwordMOct\or\putwordMNov\or\putwordMDec
+  \fi
+  \space\number\year}
+\fi
+
+% @settitle line...  specifies the title of the document, for headings.
+% It generates no output of its own.
+\def\thistitle{\putwordNoTitle}
+\def\settitle{\parsearg{\gdef\thistitle}}
+
+
+\message{tables,}
+% Tables -- @table, @ftable, @vtable, @item(x).
+
+% default indentation of table text
+\newdimen\tableindent \tableindent=.8in
+% default indentation of @itemize and @enumerate text
+\newdimen\itemindent  \itemindent=.3in
+% margin between end of table item and start of table text.
+\newdimen\itemmargin  \itemmargin=.1in
+
+% used internally for \itemindent minus \itemmargin
+\newdimen\itemmax
+
+% Note @table, @ftable, and @vtable define @item, @itemx, etc., with
+% these defs.
+% They also define \itemindex
+% to index the item name in whatever manner is desired (perhaps none).
+
+\newif\ifitemxneedsnegativevskip
+
+\def\itemxpar{\par\ifitemxneedsnegativevskip\nobreak\vskip-\parskip\nobreak\fi}
+
+\def\internalBitem{\smallbreak \parsearg\itemzzz}
+\def\internalBitemx{\itemxpar \parsearg\itemzzz}
+
+\def\itemzzz #1{\begingroup %
+  \advance\hsize by -\rightskip
+  \advance\hsize by -\tableindent
+  \setbox0=\hbox{\itemindicate{#1}}%
+  \itemindex{#1}%
+  \nobreak % This prevents a break before @itemx.
+  %
+  % If the item text does not fit in the space we have, put it on a line
+  % by itself, and do not allow a page break either before or after that
+  % line.  We do not start a paragraph here because then if the next
+  % command is, e.g., @kindex, the whatsit would get put into the
+  % horizontal list on a line by itself, resulting in extra blank space.
+  \ifdim \wd0>\itemmax
+    %
+    % Make this a paragraph so we get the \parskip glue and wrapping,
+    % but leave it ragged-right.
+    \begingroup
+      \advance\leftskip by-\tableindent
+      \advance\hsize by\tableindent
+      \advance\rightskip by0pt plus1fil
+      \leavevmode\unhbox0\par
+    \endgroup
+    %
+    % We're going to be starting a paragraph, but we don't want the
+    % \parskip glue -- logically it's part of the @item we just started.
+    \nobreak \vskip-\parskip
+    %
+    % Stop a page break at the \parskip glue coming up.  However, if
+    % what follows is an environment such as @example, there will be no
+    % \parskip glue; then the negative vskip we just inserted would
+    % cause the example and the item to crash together.  So we use this
+    % bizarre value of 10001 as a signal to \aboveenvbreak to insert
+    % \parskip glue after all.  Section titles are handled this way also.
+    % 
+    \penalty 10001
+    \endgroup
+    \itemxneedsnegativevskipfalse
+  \else
+    % The item text fits into the space.  Start a paragraph, so that the
+    % following text (if any) will end up on the same line.
+    \noindent
+    % Do this with kerns and \unhbox so that if there is a footnote in
+    % the item text, it can migrate to the main vertical list and
+    % eventually be printed.
+    \nobreak\kern-\tableindent
+    \dimen0 = \itemmax  \advance\dimen0 by \itemmargin \advance\dimen0 by -\wd0
+    \unhbox0
+    \nobreak\kern\dimen0
+    \endgroup
+    \itemxneedsnegativevskiptrue
+  \fi
+}
+
+\def\item{\errmessage{@item while not in a list environment}}
+\def\itemx{\errmessage{@itemx while not in a list environment}}
+
+% @table, @ftable, @vtable.
+\envdef\table{%
+  \let\itemindex\gobble
+  \tablecheck{table}%
+}
+\envdef\ftable{%
+  \def\itemindex ##1{\doind {fn}{\code{##1}}}%
+  \tablecheck{ftable}%
+}
+\envdef\vtable{%
+  \def\itemindex ##1{\doind {vr}{\code{##1}}}%
+  \tablecheck{vtable}%
+}
+\def\tablecheck#1{%
+  \ifnum \the\catcode`\^^M=\active
+    \endgroup
+    \errmessage{This command won't work in this context; perhaps the problem is
+      that we are \inenvironment\thisenv}%
+    \def\next{\doignore{#1}}%
+  \else
+    \let\next\tablex
+  \fi
+  \next
+}
+\def\tablex#1{%
+  \def\itemindicate{#1}%
+  \parsearg\tabley
+}
+\def\tabley#1{%
+  {%
+    \makevalueexpandable
+    \edef\temp{\noexpand\tablez #1\space\space\space}%
+    \expandafter
+  }\temp \endtablez
+}
+\def\tablez #1 #2 #3 #4\endtablez{%
+  \aboveenvbreak
+  \ifnum 0#1>0 \advance \leftskip by #1\mil \fi
+  \ifnum 0#2>0 \tableindent=#2\mil \fi
+  \ifnum 0#3>0 \advance \rightskip by #3\mil \fi
+  \itemmax=\tableindent
+  \advance \itemmax by -\itemmargin
+  \advance \leftskip by \tableindent
+  \exdentamount=\tableindent
+  \parindent = 0pt
+  \parskip = \smallskipamount
+  \ifdim \parskip=0pt \parskip=2pt \fi
+  \let\item = \internalBitem
+  \let\itemx = \internalBitemx
+}
+\def\Etable{\endgraf\afterenvbreak}
+\let\Eftable\Etable
+\let\Evtable\Etable
+\let\Eitemize\Etable
+\let\Eenumerate\Etable
+
+% This is the counter used by @enumerate, which is really @itemize
+
+\newcount \itemno
+
+\envdef\itemize{\parsearg\doitemize}
+
+\def\doitemize#1{%
+  \aboveenvbreak
+  \itemmax=\itemindent
+  \advance\itemmax by -\itemmargin
+  \advance\leftskip by \itemindent
+  \exdentamount=\itemindent
+  \parindent=0pt
+  \parskip=\smallskipamount
+  \ifdim\parskip=0pt \parskip=2pt \fi
+  \def\itemcontents{#1}%
+  % @itemize with no arg is equivalent to @itemize @bullet.
+  \ifx\itemcontents\empty\def\itemcontents{\bullet}\fi
+  \let\item=\itemizeitem
+}
+
+% Definition of @item while inside @itemize and @enumerate.
+%
+\def\itemizeitem{%
+  \advance\itemno by 1  % for enumerations
+  {\let\par=\endgraf \smallbreak}% reasonable place to break
+  {%
+   % If the document has an @itemize directly after a section title, a
+   % \nobreak will be last on the list, and \sectionheading will have
+   % done a \vskip-\parskip.  In that case, we don't want to zero
+   % parskip, or the item text will crash with the heading.  On the
+   % other hand, when there is normal text preceding the item (as there
+   % usually is), we do want to zero parskip, or there would be too much
+   % space.  In that case, we won't have a \nobreak before.  At least
+   % that's the theory.
+   \ifnum\lastpenalty<10000 \parskip=0in \fi
+   \noindent
+   \hbox to 0pt{\hss \itemcontents \kern\itemmargin}%
+   \vadjust{\penalty 1200}}% not good to break after first line of item.
+  \flushcr
+}
+
+% \splitoff TOKENS\endmark defines \first to be the first token in
+% TOKENS, and \rest to be the remainder.
+%
+\def\splitoff#1#2\endmark{\def\first{#1}\def\rest{#2}}%
+
+% Allow an optional argument of an uppercase letter, lowercase letter,
+% or number, to specify the first label in the enumerated list.  No
+% argument is the same as `1'.
+%
+\envparseargdef\enumerate{\enumeratey #1  \endenumeratey}
+\def\enumeratey #1 #2\endenumeratey{%
+  % If we were given no argument, pretend we were given `1'.
+  \def\thearg{#1}%
+  \ifx\thearg\empty \def\thearg{1}\fi
+  %
+  % Detect if the argument is a single token.  If so, it might be a
+  % letter.  Otherwise, the only valid thing it can be is a number.
+  % (We will always have one token, because of the test we just made.
+  % This is a good thing, since \splitoff doesn't work given nothing at
+  % all -- the first parameter is undelimited.)
+  \expandafter\splitoff\thearg\endmark
+  \ifx\rest\empty
+    % Only one token in the argument.  It could still be anything.
+    % A ``lowercase letter'' is one whose \lccode is nonzero.
+    % An ``uppercase letter'' is one whose \lccode is both nonzero, and
+    %   not equal to itself.
+    % Otherwise, we assume it's a number.
+    %
+    % We need the \relax at the end of the \ifnum lines to stop TeX from
+    % continuing to look for a <number>.
+    %
+    \ifnum\lccode\expandafter`\thearg=0\relax
+      \numericenumerate % a number (we hope)
+    \else
+      % It's a letter.
+      \ifnum\lccode\expandafter`\thearg=\expandafter`\thearg\relax
+        \lowercaseenumerate % lowercase letter
+      \else
+        \uppercaseenumerate % uppercase letter
+      \fi
+    \fi
+  \else
+    % Multiple tokens in the argument.  We hope it's a number.
+    \numericenumerate
+  \fi
+}
+
+% An @enumerate whose labels are integers.  The starting integer is
+% given in \thearg.
+%
+\def\numericenumerate{%
+  \itemno = \thearg
+  \startenumeration{\the\itemno}%
+}
+
+% The starting (lowercase) letter is in \thearg.
+\def\lowercaseenumerate{%
+  \itemno = \expandafter`\thearg
+  \startenumeration{%
+    % Be sure we're not beyond the end of the alphabet.
+    \ifnum\itemno=0
+      \errmessage{No more lowercase letters in @enumerate; get a bigger
+                  alphabet}%
+    \fi
+    \char\lccode\itemno
+  }%
+}
+
+% The starting (uppercase) letter is in \thearg.
+\def\uppercaseenumerate{%
+  \itemno = \expandafter`\thearg
+  \startenumeration{%
+    % Be sure we're not beyond the end of the alphabet.
+    \ifnum\itemno=0
+      \errmessage{No more uppercase letters in @enumerate; get a bigger
+                  alphabet}
+    \fi
+    \char\uccode\itemno
+  }%
+}
+
+% Call \doitemize, adding a period to the first argument and supplying the
+% common last two arguments.  Also subtract one from the initial value in
+% \itemno, since @item increments \itemno.
+%
+\def\startenumeration#1{%
+  \advance\itemno by -1
+  \doitemize{#1.}\flushcr
+}
+
+% @alphaenumerate and @capsenumerate are abbreviations for giving an arg
+% to @enumerate.
+%
+\def\alphaenumerate{\enumerate{a}}
+\def\capsenumerate{\enumerate{A}}
+\def\Ealphaenumerate{\Eenumerate}
+\def\Ecapsenumerate{\Eenumerate}
+
+
+% @multitable macros
+% Amy Hendrickson, 8/18/94, 3/6/96
+%
+% @multitable ... @end multitable will make as many columns as desired.
+% Contents of each column will wrap at width given in preamble.  Width
+% can be specified either with sample text given in a template line,
+% or in percent of \hsize, the current width of text on page.
+
+% Table can continue over pages but will only break between lines.
+
+% To make preamble:
+%
+% Either define widths of columns in terms of percent of \hsize:
+%   @multitable @columnfractions .25 .3 .45
+%   @item ...
+%
+%   Numbers following @columnfractions are the percent of the total
+%   current hsize to be used for each column. You may use as many
+%   columns as desired.
+
+
+% Or use a template:
+%   @multitable {Column 1 template} {Column 2 template} {Column 3 template}
+%   @item ...
+%   using the widest term desired in each column.
+
+% Each new table line starts with @item, each subsequent new column
+% starts with @tab. Empty columns may be produced by supplying @tab's
+% with nothing between them for as many times as empty columns are needed,
+% ie, @tab@tab@tab will produce two empty columns.
+
+% @item, @tab do not need to be on their own lines, but it will not hurt
+% if they are.
+
+% Sample multitable:
+
+%   @multitable {Column 1 template} {Column 2 template} {Column 3 template}
+%   @item first col stuff @tab second col stuff @tab third col
+%   @item
+%   first col stuff
+%   @tab
+%   second col stuff
+%   @tab
+%   third col
+%   @item first col stuff @tab second col stuff
+%   @tab Many paragraphs of text may be used in any column.
+%
+%         They will wrap at the width determined by the template.
+%   @item@tab@tab This will be in third column.
+%   @end multitable
+
+% Default dimensions may be reset by user.
+% @multitableparskip is vertical space between paragraphs in table.
+% @multitableparindent is paragraph indent in table.
+% @multitablecolmargin is horizontal space to be left between columns.
+% @multitablelinespace is space to leave between table items, baseline
+%                                                            to baseline.
+%   0pt means it depends on current normal line spacing.
+%
+\newskip\multitableparskip
+\newskip\multitableparindent
+\newdimen\multitablecolspace
+\newskip\multitablelinespace
+\multitableparskip=0pt
+\multitableparindent=6pt
+\multitablecolspace=12pt
+\multitablelinespace=0pt
+
+% Macros used to set up halign preamble:
+%
+\let\endsetuptable\relax
+\def\xendsetuptable{\endsetuptable}
+\let\columnfractions\relax
+\def\xcolumnfractions{\columnfractions}
+\newif\ifsetpercent
+
+% #1 is the @columnfraction, usually a decimal number like .5, but might
+% be just 1.  We just use it, whatever it is.
+%
+\def\pickupwholefraction#1 {%
+  \global\advance\colcount by 1
+  \expandafter\xdef\csname col\the\colcount\endcsname{#1\hsize}%
+  \setuptable
+}
+
+\newcount\colcount
+\def\setuptable#1{%
+  \def\firstarg{#1}%
+  \ifx\firstarg\xendsetuptable
+    \let\go = \relax
+  \else
+    \ifx\firstarg\xcolumnfractions
+      \global\setpercenttrue
+    \else
+      \ifsetpercent
+         \let\go\pickupwholefraction
+      \else
+         \global\advance\colcount by 1
+         \setbox0=\hbox{#1\unskip\space}% Add a normal word space as a
+                   % separator; typically that is always in the input, anyway.
+         \expandafter\xdef\csname col\the\colcount\endcsname{\the\wd0}%
+      \fi
+    \fi
+    \ifx\go\pickupwholefraction
+      % Put the argument back for the \pickupwholefraction call, so
+      % we'll always have a period there to be parsed.
+      \def\go{\pickupwholefraction#1}%
+    \else
+      \let\go = \setuptable
+    \fi%
+  \fi
+  \go
+}
+
+% multitable-only commands.
+%
+% @headitem starts a heading row, which we typeset in bold.
+% Assignments have to be global since we are inside the implicit group
+% of an alignment entry.  Note that \everycr resets \everytab.
+\def\headitem{\checkenv\multitable \crcr \global\everytab={\bf}\the\everytab}%
+%
+% A \tab used to include \hskip1sp.  But then the space in a template
+% line is not enough.  That is bad.  So let's go back to just `&' until
+% we encounter the problem it was intended to solve again.
+%                                      --karl, nathan@acm.org, 20apr99.
+\def\tab{\checkenv\multitable &\the\everytab}%
+
+% @multitable ... @end multitable definitions:
+%
+\newtoks\everytab  % insert after every tab.
+%
+\envdef\multitable{%
+  \vskip\parskip
+  \startsavinginserts
+  %
+  % @item within a multitable starts a normal row.
+  % We use \def instead of \let so that if one of the multitable entries
+  % contains an @itemize, we don't choke on the \item (seen as \crcr aka
+  % \endtemplate) expanding \doitemize.
+  \def\item{\crcr}%
+  %
+  \tolerance=9500
+  \hbadness=9500
+  \setmultitablespacing
+  \parskip=\multitableparskip
+  \parindent=\multitableparindent
+  \overfullrule=0pt
+  \global\colcount=0
+  %
+  \everycr = {%
+    \noalign{%
+      \global\everytab={}%
+      \global\colcount=0 % Reset the column counter.
+      % Check for saved footnotes, etc.
+      \checkinserts
+      % Keeps underfull box messages off when table breaks over pages.
+      %\filbreak
+       % Maybe so, but it also creates really weird page breaks when the
+       % table breaks over pages. Wouldn't \vfil be better?  Wait until the
+       % problem manifests itself, so it can be fixed for real --karl.
+    }%
+  }%
+  %
+  \parsearg\domultitable
+}
+\def\domultitable#1{%
+  % To parse everything between @multitable and @item:
+  \setuptable#1 \endsetuptable
+  %
+  % This preamble sets up a generic column definition, which will
+  % be used as many times as user calls for columns.
+  % \vtop will set a single line and will also let text wrap and
+  % continue for many paragraphs if desired.
+  \halign\bgroup &%
+    \global\advance\colcount by 1
+    \multistrut
+    \vtop{%
+      % Use the current \colcount to find the correct column width:
+      \hsize=\expandafter\csname col\the\colcount\endcsname
+      %
+      % In order to keep entries from bumping into each other
+      % we will add a \leftskip of \multitablecolspace to all columns after
+      % the first one.
+      %
+      % If a template has been used, we will add \multitablecolspace
+      % to the width of each template entry.
+      %
+      % If the user has set preamble in terms of percent of \hsize we will
+      % use that dimension as the width of the column, and the \leftskip
+      % will keep entries from bumping into each other.  Table will start at
+      % left margin and final column will justify at right margin.
+      %
+      % Make sure we don't inherit \rightskip from the outer environment.
+      \rightskip=0pt
+      \ifnum\colcount=1
+       % The first column will be indented with the surrounding text.
+       \advance\hsize by\leftskip
+      \else
+       \ifsetpercent \else
+         % If user has not set preamble in terms of percent of \hsize
+         % we will advance \hsize by \multitablecolspace.
+         \advance\hsize by \multitablecolspace
+       \fi
+       % In either case we will make \leftskip=\multitablecolspace:
+      \leftskip=\multitablecolspace
+      \fi
+      % Ignoring space at the beginning and end avoids an occasional spurious
+      % blank line, when TeX decides to break the line at the space before the
+      % box from the multistrut, so the strut ends up on a line by itself.
+      % For example:
+      % @multitable @columnfractions .11 .89
+      % @item @code{#}
+      % @tab Legal holiday which is valid in major parts of the whole country.
+      % Is automatically provided with highlighting sequences respectively
+      % marking characters.
+      \noindent\ignorespaces##\unskip\multistrut
+    }\cr
+}
+\def\Emultitable{%
+  \crcr
+  \egroup % end the \halign
+  \global\setpercentfalse
+}
+
+\def\setmultitablespacing{%
+  \def\multistrut{\strut}% just use the standard line spacing
+  %
+  % Compute \multitablelinespace (if not defined by user) for use in
+  % \multitableparskip calculation.  We used define \multistrut based on
+  % this, but (ironically) that caused the spacing to be off.
+  % See bug-texinfo report from Werner Lemberg, 31 Oct 2004 12:52:20 +0100.
+\ifdim\multitablelinespace=0pt
+\setbox0=\vbox{X}\global\multitablelinespace=\the\baselineskip
+\global\advance\multitablelinespace by-\ht0
+\fi
+%% Test to see if parskip is larger than space between lines of
+%% table. If not, do nothing.
+%%        If so, set to same dimension as multitablelinespace.
+\ifdim\multitableparskip>\multitablelinespace
+\global\multitableparskip=\multitablelinespace
+\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller
+                                      %% than skip between lines in the table.
+\fi%
+\ifdim\multitableparskip=0pt
+\global\multitableparskip=\multitablelinespace
+\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller
+                                      %% than skip between lines in the table.
+\fi}
+
+
+\message{conditionals,}
+
+% @iftex, @ifnotdocbook, @ifnothtml, @ifnotinfo, @ifnotplaintext,
+% @ifnotxml always succeed.  They currently do nothing; we don't
+% attempt to check whether the conditionals are properly nested.  But we
+% have to remember that they are conditionals, so that @end doesn't
+% attempt to close an environment group.
+%
+\def\makecond#1{%
+  \expandafter\let\csname #1\endcsname = \relax
+  \expandafter\let\csname iscond.#1\endcsname = 1
+}
+\makecond{iftex}
+\makecond{ifnotdocbook}
+\makecond{ifnothtml}
+\makecond{ifnotinfo}
+\makecond{ifnotplaintext}
+\makecond{ifnotxml}
+
+% Ignore @ignore, @ifhtml, @ifinfo, and the like.
+%
+\def\direntry{\doignore{direntry}}
+\def\documentdescription{\doignore{documentdescription}}
+\def\docbook{\doignore{docbook}}
+\def\html{\doignore{html}}
+\def\ifdocbook{\doignore{ifdocbook}}
+\def\ifhtml{\doignore{ifhtml}}
+\def\ifinfo{\doignore{ifinfo}}
+\def\ifnottex{\doignore{ifnottex}}
+\def\ifplaintext{\doignore{ifplaintext}}
+\def\ifxml{\doignore{ifxml}}
+\def\ignore{\doignore{ignore}}
+\def\menu{\doignore{menu}}
+\def\xml{\doignore{xml}}
+
+% Ignore text until a line `@end #1', keeping track of nested conditionals.
+%
+% A count to remember the depth of nesting.
+\newcount\doignorecount
+
+\def\doignore#1{\begingroup
+  % Scan in ``verbatim'' mode:
+  \catcode`\@ = \other
+  \catcode`\{ = \other
+  \catcode`\} = \other
+  %
+  % Make sure that spaces turn into tokens that match what \doignoretext wants.
+  \spaceisspace
+  %
+  % Count number of #1's that we've seen.
+  \doignorecount = 0
+  %
+  % Swallow text until we reach the matching `@end #1'.
+  \dodoignore{#1}%
+}
+
+{ \catcode`_=11 % We want to use \_STOP_ which cannot appear in texinfo source.
+  \obeylines %
+  %
+  \gdef\dodoignore#1{%
+    % #1 contains the command name as a string, e.g., `ifinfo'.
+    %
+    % Define a command to find the next `@end #1', which must be on a line
+    % by itself.
+    \long\def\doignoretext##1^^M@end #1{\doignoretextyyy##1^^M@#1\_STOP_}%
+    % And this command to find another #1 command, at the beginning of a
+    % line.  (Otherwise, we would consider a line `@c @ifset', for
+    % example, to count as an @ifset for nesting.)
+    \long\def\doignoretextyyy##1^^M@#1##2\_STOP_{\doignoreyyy{##2}\_STOP_}%
+    %
+    % And now expand that command.
+    \obeylines %
+    \doignoretext ^^M%
+  }%
+}
+
+\def\doignoreyyy#1{%
+  \def\temp{#1}%
+  \ifx\temp\empty                      % Nothing found.
+    \let\next\doignoretextzzz
+  \else                                        % Found a nested condition, ...
+    \advance\doignorecount by 1
+    \let\next\doignoretextyyy          % ..., look for another.
+    % If we're here, #1 ends with ^^M\ifinfo (for example).
+  \fi
+  \next #1% the token \_STOP_ is present just after this macro.
+}
+
+% We have to swallow the remaining "\_STOP_".
+%
+\def\doignoretextzzz#1{%
+  \ifnum\doignorecount = 0     % We have just found the outermost @end.
+    \let\next\enddoignore
+  \else                                % Still inside a nested condition.
+    \advance\doignorecount by -1
+    \let\next\doignoretext      % Look for the next @end.
+  \fi
+  \next
+}
+
+% Finish off ignored text.
+\def\enddoignore{\endgroup\ignorespaces}
+
+
+% @set VAR sets the variable VAR to an empty value.
+% @set VAR REST-OF-LINE sets VAR to the value REST-OF-LINE.
+%
+% Since we want to separate VAR from REST-OF-LINE (which might be
+% empty), we can't just use \parsearg; we have to insert a space of our
+% own to delimit the rest of the line, and then take it out again if we
+% didn't need it.
+% We rely on the fact that \parsearg sets \catcode`\ =10.
+%
+\parseargdef\set{\setyyy#1 \endsetyyy}
+\def\setyyy#1 #2\endsetyyy{%
+  {%
+    \makevalueexpandable
+    \def\temp{#2}%
+    \edef\next{\gdef\makecsname{SET#1}}%
+    \ifx\temp\empty
+      \next{}%
+    \else
+      \setzzz#2\endsetzzz
+    \fi
+  }%
+}
+% Remove the trailing space \setxxx inserted.
+\def\setzzz#1 \endsetzzz{\next{#1}}
+
+% @clear VAR clears (i.e., unsets) the variable VAR.
+%
+\parseargdef\clear{%
+  {%
+    \makevalueexpandable
+    \global\expandafter\let\csname SET#1\endcsname=\relax
+  }%
+}
+
+% @value{foo} gets the text saved in variable foo.
+\def\value{\begingroup\makevalueexpandable\valuexxx}
+\def\valuexxx#1{\expandablevalue{#1}\endgroup}
+{
+  \catcode`\- = \active \catcode`\_ = \active
+  %
+  \gdef\makevalueexpandable{%
+    \let\value = \expandablevalue
+    % We don't want these characters active, ...
+    \catcode`\-=\other \catcode`\_=\other
+    % ..., but we might end up with active ones in the argument if
+    % we're called from @code, as @code{@value{foo-bar_}}, though.
+    % So \let them to their normal equivalents.
+    \let-\realdash \let_\normalunderscore
+  }
+}
+
+% We have this subroutine so that we can handle at least some @value's
+% properly in indexes (we call \makevalueexpandable in \indexdummies).
+% The command has to be fully expandable (if the variable is set), since
+% the result winds up in the index file.  This means that if the
+% variable's value contains other Texinfo commands, it's almost certain
+% it will fail (although perhaps we could fix that with sufficient work
+% to do a one-level expansion on the result, instead of complete).
+%
+\def\expandablevalue#1{%
+  \expandafter\ifx\csname SET#1\endcsname\relax
+    {[No value for ``#1'']}%
+    \message{Variable `#1', used in @value, is not set.}%
+  \else
+    \csname SET#1\endcsname
+  \fi
+}
+
+% @ifset VAR ... @end ifset reads the `...' iff VAR has been defined
+% with @set.
+%
+% To get special treatment of `@end ifset,' call \makeond and the redefine.
+%
+\makecond{ifset}
+\def\ifset{\parsearg{\doifset{\let\next=\ifsetfail}}}
+\def\doifset#1#2{%
+  {%
+    \makevalueexpandable
+    \let\next=\empty
+    \expandafter\ifx\csname SET#2\endcsname\relax
+      #1% If not set, redefine \next.
+    \fi
+    \expandafter
+  }\next
+}
+\def\ifsetfail{\doignore{ifset}}
+
+% @ifclear VAR ... @end ifclear reads the `...' iff VAR has never been
+% defined with @set, or has been undefined with @clear.
+%
+% The `\else' inside the `\doifset' parameter is a trick to reuse the
+% above code: if the variable is not set, do nothing, if it is set,
+% then redefine \next to \ifclearfail.
+%
+\makecond{ifclear}
+\def\ifclear{\parsearg{\doifset{\else \let\next=\ifclearfail}}}
+\def\ifclearfail{\doignore{ifclear}}
+
+% @dircategory CATEGORY  -- specify a category of the dir file
+% which this file should belong to.  Ignore this in TeX.
+\let\dircategory=\comment
+
+% @defininfoenclose.
+\let\definfoenclose=\comment
+
+
+\message{indexing,}
+% Index generation facilities
+
+% Define \newwrite to be identical to plain tex's \newwrite
+% except not \outer, so it can be used within macros and \if's.
+\edef\newwrite{\makecsname{ptexnewwrite}}
+
+% \newindex {foo} defines an index named foo.
+% It automatically defines \fooindex such that
+% \fooindex ...rest of line... puts an entry in the index foo.
+% It also defines \fooindfile to be the number of the output channel for
+% the file that accumulates this index.  The file's extension is foo.
+% The name of an index should be no more than 2 characters long
+% for the sake of vms.
+%
+\def\newindex#1{%
+  \iflinks
+    \expandafter\newwrite \csname#1indfile\endcsname
+    \openout \csname#1indfile\endcsname \jobname.#1 % Open the file
+  \fi
+  \expandafter\xdef\csname#1index\endcsname{%     % Define @#1index
+    \noexpand\doindex{#1}}
+}
+
+% @defindex foo  ==  \newindex{foo}
+%
+\def\defindex{\parsearg\newindex}
+
+% Define @defcodeindex, like @defindex except put all entries in @code.
+%
+\def\defcodeindex{\parsearg\newcodeindex}
+%
+\def\newcodeindex#1{%
+  \iflinks
+    \expandafter\newwrite \csname#1indfile\endcsname
+    \openout \csname#1indfile\endcsname \jobname.#1
+  \fi
+  \expandafter\xdef\csname#1index\endcsname{%
+    \noexpand\docodeindex{#1}}%
+}
+
+
+% @synindex foo bar    makes index foo feed into index bar.
+% Do this instead of @defindex foo if you don't want it as a separate index.
+%
+% @syncodeindex foo bar   similar, but put all entries made for index foo
+% inside @code.
+%
+\def\synindex#1 #2 {\dosynindex\doindex{#1}{#2}}
+\def\syncodeindex#1 #2 {\dosynindex\docodeindex{#1}{#2}}
+
+% #1 is \doindex or \docodeindex, #2 the index getting redefined (foo),
+% #3 the target index (bar).
+\def\dosynindex#1#2#3{%
+  % Only do \closeout if we haven't already done it, else we'll end up
+  % closing the target index.
+  \expandafter \ifx\csname donesynindex#2\endcsname \undefined
+    % The \closeout helps reduce unnecessary open files; the limit on the
+    % Acorn RISC OS is a mere 16 files.
+    \expandafter\closeout\csname#2indfile\endcsname
+    \expandafter\let\csname\donesynindex#2\endcsname = 1
+  \fi
+  % redefine \fooindfile:
+  \expandafter\let\expandafter\temp\expandafter=\csname#3indfile\endcsname
+  \expandafter\let\csname#2indfile\endcsname=\temp
+  % redefine \fooindex:
+  \expandafter\xdef\csname#2index\endcsname{\noexpand#1{#3}}%
+}
+
+% Define \doindex, the driver for all \fooindex macros.
+% Argument #1 is generated by the calling \fooindex macro,
+%  and it is "foo", the name of the index.
+
+% \doindex just uses \parsearg; it calls \doind for the actual work.
+% This is because \doind is more useful to call from other macros.
+
+% There is also \dosubind {index}{topic}{subtopic}
+% which makes an entry in a two-level index such as the operation index.
+
+\def\doindex#1{\edef\indexname{#1}\parsearg\singleindexer}
+\def\singleindexer #1{\doind{\indexname}{#1}}
+
+% like the previous two, but they put @code around the argument.
+\def\docodeindex#1{\edef\indexname{#1}\parsearg\singlecodeindexer}
+\def\singlecodeindexer #1{\doind{\indexname}{\code{#1}}}
+
+% Take care of Texinfo commands that can appear in an index entry.
+% Since there are some commands we want to expand, and others we don't,
+% we have to laboriously prevent expansion for those that we don't.
+%
+\def\indexdummies{%
+  \escapechar = `\\     % use backslash in output files.
+  \def\@{@}% change to @@ when we switch to @ as escape char in index files.
+  \def\ {\realbackslash\space }%
+  % Need these in case \tex is in effect and \{ is a \delimiter again.
+  % But can't use \lbracecmd and \rbracecmd because texindex assumes
+  % braces and backslashes are used only as delimiters.
+  \let\{ = \mylbrace
+  \let\} = \myrbrace
+  %
+  % Do the redefinitions.
+  \commondummies
+}
+
+% For the aux and toc files, @ is the escape character.  So we want to
+% redefine everything using @ as the escape character (instead of
+% \realbackslash, still used for index files).  When everything uses @,
+% this will be simpler.
+%
+\def\atdummies{%
+  \def\@{@@}%
+  \def\ {@ }%
+  \let\{ = \lbraceatcmd
+  \let\} = \rbraceatcmd
+  %
+  % Do the redefinitions.
+  \commondummies
+}
+
+% Called from \indexdummies and \atdummies.
+%
+\def\commondummies{%
+  %
+  % \definedummyword defines \#1 as \string\#1\space, thus effectively
+  % preventing its expansion.  This is used only for control% words,
+  % not control letters, because the \space would be incorrect for
+  % control characters, but is needed to separate the control word
+  % from whatever follows.
+  %
+  % For control letters, we have \definedummyletter, which omits the
+  % space.
+  %
+  % These can be used both for control words that take an argument and
+  % those that do not.  If it is followed by {arg} in the input, then
+  % that will dutifully get written to the index (or wherever).
+  %
+  \def\definedummyword  ##1{\def##1{\string##1\space}}%
+  \def\definedummyletter##1{\def##1{\string##1}}%
+  \let\definedummyaccent\definedummyletter
+  %
+  \commondummiesnofonts
+  %
+  \definedummyletter\_%
+  %
+  % Non-English letters.
+  \definedummyword\AA
+  \definedummyword\AE
+  \definedummyword\L
+  \definedummyword\OE
+  \definedummyword\O
+  \definedummyword\aa
+  \definedummyword\ae
+  \definedummyword\l
+  \definedummyword\oe
+  \definedummyword\o
+  \definedummyword\ss
+  \definedummyword\exclamdown
+  \definedummyword\questiondown
+  \definedummyword\ordf
+  \definedummyword\ordm
+  %
+  % Although these internal commands shouldn't show up, sometimes they do.
+  \definedummyword\bf
+  \definedummyword\gtr
+  \definedummyword\hat
+  \definedummyword\less
+  \definedummyword\sf
+  \definedummyword\sl
+  \definedummyword\tclose
+  \definedummyword\tt
+  %
+  \definedummyword\LaTeX
+  \definedummyword\TeX
+  %
+  % Assorted special characters.
+  \definedummyword\bullet
+  \definedummyword\comma
+  \definedummyword\copyright
+  \definedummyword\registeredsymbol
+  \definedummyword\dots
+  \definedummyword\enddots
+  \definedummyword\equiv
+  \definedummyword\error
+  \definedummyword\euro
+  \definedummyword\expansion
+  \definedummyword\minus
+  \definedummyword\pounds
+  \definedummyword\point
+  \definedummyword\print
+  \definedummyword\result
+  %
+  % We want to disable all macros so that they are not expanded by \write.
+  \macrolist
+  %
+  \normalturnoffactive
+  %
+  % Handle some cases of @value -- where it does not contain any
+  % (non-fully-expandable) commands.
+  \makevalueexpandable
+}
+
+% \commondummiesnofonts: common to \commondummies and \indexnofonts.
+%
+% Better have this without active chars.
+{
+  \catcode`\~=\other
+  \gdef\commondummiesnofonts{%
+    % Control letters and accents.
+    \definedummyletter\!%
+    \definedummyaccent\"%
+    \definedummyaccent\'%
+    \definedummyletter\*%
+    \definedummyaccent\,%
+    \definedummyletter\.%
+    \definedummyletter\/%
+    \definedummyletter\:%
+    \definedummyaccent\=%
+    \definedummyletter\?%
+    \definedummyaccent\^%
+    \definedummyaccent\`%
+    \definedummyaccent\~%
+    \definedummyword\u
+    \definedummyword\v
+    \definedummyword\H
+    \definedummyword\dotaccent
+    \definedummyword\ringaccent
+    \definedummyword\tieaccent
+    \definedummyword\ubaraccent
+    \definedummyword\udotaccent
+    \definedummyword\dotless
+    %
+    % Texinfo font commands.
+    \definedummyword\b
+    \definedummyword\i
+    \definedummyword\r
+    \definedummyword\sc
+    \definedummyword\t
+    %
+    % Commands that take arguments.
+    \definedummyword\acronym
+    \definedummyword\cite
+    \definedummyword\code
+    \definedummyword\command
+    \definedummyword\dfn
+    \definedummyword\emph
+    \definedummyword\env
+    \definedummyword\file
+    \definedummyword\kbd
+    \definedummyword\key
+    \definedummyword\math
+    \definedummyword\option
+    \definedummyword\samp
+    \definedummyword\strong
+    \definedummyword\tie
+    \definedummyword\uref
+    \definedummyword\url
+    \definedummyword\var
+    \definedummyword\verb
+    \definedummyword\w
+  }
+}
+
+% \indexnofonts is used when outputting the strings to sort the index
+% by, and when constructing control sequence names.  It eliminates all
+% control sequences and just writes whatever the best ASCII sort string
+% would be for a given command (usually its argument).
+%
+\def\indexnofonts{%
+  % Accent commands should become @asis.
+  \def\definedummyaccent##1{\let##1\asis}%
+  % We can just ignore other control letters.
+  \def\definedummyletter##1{\let##1\empty}%
+  % Hopefully, all control words can become @asis.
+  \let\definedummyword\definedummyaccent
+  %
+  \commondummiesnofonts
+  %
+  % Don't no-op \tt, since it isn't a user-level command
+  % and is used in the definitions of the active chars like <, >, |, etc.
+  % Likewise with the other plain tex font commands.
+  %\let\tt=\asis
+  %
+  \def\ { }%
+  \def\@{@}%
+  % how to handle braces?
+  \def\_{\normalunderscore}%
+  %
+  % Non-English letters.
+  \def\AA{AA}%
+  \def\AE{AE}%
+  \def\L{L}%
+  \def\OE{OE}%
+  \def\O{O}%
+  \def\aa{aa}%
+  \def\ae{ae}%
+  \def\l{l}%
+  \def\oe{oe}%
+  \def\o{o}%
+  \def\ss{ss}%
+  \def\exclamdown{!}%
+  \def\questiondown{?}%
+  \def\ordf{a}%
+  \def\ordm{o}%
+  %
+  \def\LaTeX{LaTeX}%
+  \def\TeX{TeX}%
+  %
+  % Assorted special characters.
+  % (The following {} will end up in the sort string, but that's ok.)
+  \def\bullet{bullet}%
+  \def\comma{,}%
+  \def\copyright{copyright}%
+  \def\registeredsymbol{R}%
+  \def\dots{...}%
+  \def\enddots{...}%
+  \def\equiv{==}%
+  \def\error{error}%
+  \def\euro{euro}%
+  \def\expansion{==>}%
+  \def\minus{-}%
+  \def\pounds{pounds}%
+  \def\point{.}%
+  \def\print{-|}%
+  \def\result{=>}%
+  %
+  % We need to get rid of all macros, leaving only the arguments (if present).
+  % Of course this is not nearly correct, but it is the best we can do for now.
+  % makeinfo does not expand macros in the argument to @deffn, which ends up
+  % writing an index entry, and texindex isn't prepared for an index sort entry
+  % that starts with \.
+  % 
+  % Since macro invocations are followed by braces, we can just redefine them
+  % to take a single TeX argument.  The case of a macro invocation that
+  % goes to end-of-line is not handled.
+  % 
+  \macrolist
+}
+
+\let\indexbackslash=0  %overridden during \printindex.
+\let\SETmarginindex=\relax % put index entries in margin (undocumented)?
+
+% Most index entries go through here, but \dosubind is the general case.
+% #1 is the index name, #2 is the entry text.
+\def\doind#1#2{\dosubind{#1}{#2}{}}
+
+% Workhorse for all \fooindexes.
+% #1 is name of index, #2 is stuff to put there, #3 is subentry --
+% empty if called from \doind, as we usually are (the main exception
+% is with most defuns, which call us directly).
+%
+\def\dosubind#1#2#3{%
+  \iflinks
+  {%
+    % Store the main index entry text (including the third arg).
+    \toks0 = {#2}%
+    % If third arg is present, precede it with a space.
+    \def\thirdarg{#3}%
+    \ifx\thirdarg\empty \else
+      \toks0 = \expandafter{\the\toks0 \space #3}%
+    \fi
+    %
+    \edef\writeto{\csname#1indfile\endcsname}%
+    %
+    \ifvmode
+      \dosubindsanitize
+    \else
+      \dosubindwrite
+    \fi
+  }%
+  \fi
+}
+
+% Write the entry in \toks0 to the index file:
+%
+\def\dosubindwrite{%
+  % Put the index entry in the margin if desired.
+  \ifx\SETmarginindex\relax\else
+    \insert\margin{\hbox{\vrule height8pt depth3pt width0pt \the\toks0}}%
+  \fi
+  %
+  % Remember, we are within a group.
+  \indexdummies % Must do this here, since \bf, etc expand at this stage
+  \def\backslashcurfont{\indexbackslash}% \indexbackslash isn't defined now
+      % so it will be output as is; and it will print as backslash.
+  %
+  % Process the index entry with all font commands turned off, to
+  % get the string to sort by.
+  {\indexnofonts
+   \edef\temp{\the\toks0}% need full expansion
+   \xdef\indexsorttmp{\temp}%
+  }%
+  %
+  % Set up the complete index entry, with both the sort key and
+  % the original text, including any font commands.  We write
+  % three arguments to \entry to the .?? file (four in the
+  % subentry case), texindex reduces to two when writing the .??s
+  % sorted result.
+  \edef\temp{%
+    \write\writeto{%
+      \string\entry{\indexsorttmp}{\noexpand\folio}{\the\toks0}}%
+  }%
+  \temp
+}
+
+% Take care of unwanted page breaks:
+%
+% If a skip is the last thing on the list now, preserve it
+% by backing up by \lastskip, doing the \write, then inserting
+% the skip again.  Otherwise, the whatsit generated by the
+% \write will make \lastskip zero.  The result is that sequences
+% like this:
+% @end defun
+% @tindex whatever
+% @defun ...
+% will have extra space inserted, because the \medbreak in the
+% start of the @defun won't see the skip inserted by the @end of
+% the previous defun.
+%
+% But don't do any of this if we're not in vertical mode.  We
+% don't want to do a \vskip and prematurely end a paragraph.
+%
+% Avoid page breaks due to these extra skips, too.
+%
+% But wait, there is a catch there:
+% We'll have to check whether \lastskip is zero skip.  \ifdim is not
+% sufficient for this purpose, as it ignores stretch and shrink parts
+% of the skip.  The only way seems to be to check the textual
+% representation of the skip.
+%
+% The following is almost like \def\zeroskipmacro{0.0pt} except that
+% the ``p'' and ``t'' characters have catcode \other, not 11 (letter).
+%
+\edef\zeroskipmacro{\expandafter\the\csname z@skip\endcsname}
+%
+% ..., ready, GO:
+%
+\def\dosubindsanitize{%
+  % \lastskip and \lastpenalty cannot both be nonzero simultaneously.
+  \skip0 = \lastskip
+  \edef\lastskipmacro{\the\lastskip}%
+  \count255 = \lastpenalty
+  %
+  % If \lastskip is nonzero, that means the last item was a
+  % skip.  And since a skip is discardable, that means this
+  % -\skip0 glue we're inserting is preceded by a
+  % non-discardable item, therefore it is not a potential
+  % breakpoint, therefore no \nobreak needed.
+  \ifx\lastskipmacro\zeroskipmacro
+  \else
+    \vskip-\skip0
+  \fi
+  %
+  \dosubindwrite
+  %
+  \ifx\lastskipmacro\zeroskipmacro
+    % If \lastskip was zero, perhaps the last item was a penalty, and
+    % perhaps it was >=10000, e.g., a \nobreak.  In that case, we want
+    % to re-insert the same penalty (values >10000 are used for various
+    % signals); since we just inserted a non-discardable item, any
+    % following glue (such as a \parskip) would be a breakpoint.  For example:
+    % 
+    %   @deffn deffn-whatever
+    %   @vindex index-whatever
+    %   Description.
+    % would allow a break between the index-whatever whatsit
+    % and the "Description." paragraph.
+    \ifnum\count255>9999 \penalty\count255 \fi
+  \else
+    % On the other hand, if we had a nonzero \lastskip,
+    % this make-up glue would be preceded by a non-discardable item
+    % (the whatsit from the \write), so we must insert a \nobreak.
+    \nobreak\vskip\skip0
+  \fi
+}
+
+% The index entry written in the file actually looks like
+%  \entry {sortstring}{page}{topic}
+% or
+%  \entry {sortstring}{page}{topic}{subtopic}
+% The texindex program reads in these files and writes files
+% containing these kinds of lines:
+%  \initial {c}
+%     before the first topic whose initial is c
+%  \entry {topic}{pagelist}
+%     for a topic that is used without subtopics
+%  \primary {topic}
+%     for the beginning of a topic that is used with subtopics
+%  \secondary {subtopic}{pagelist}
+%     for each subtopic.
+
+% Define the user-accessible indexing commands
+% @findex, @vindex, @kindex, @cindex.
+
+\def\findex {\fnindex}
+\def\kindex {\kyindex}
+\def\cindex {\cpindex}
+\def\vindex {\vrindex}
+\def\tindex {\tpindex}
+\def\pindex {\pgindex}
+
+\def\cindexsub {\begingroup\obeylines\cindexsub}
+{\obeylines %
+\gdef\cindexsub "#1" #2^^M{\endgroup %
+\dosubind{cp}{#2}{#1}}}
+
+% Define the macros used in formatting output of the sorted index material.
+
+% @printindex causes a particular index (the ??s file) to get printed.
+% It does not print any chapter heading (usually an @unnumbered).
+%
+\parseargdef\printindex{\begingroup
+  \dobreak \chapheadingskip{10000}%
+  %
+  \smallfonts \rm
+  \tolerance = 9500
+  \everypar = {}% don't want the \kern\-parindent from indentation suppression.
+  %
+  % See if the index file exists and is nonempty.
+  % Change catcode of @ here so that if the index file contains
+  % \initial {@}
+  % as its first line, TeX doesn't complain about mismatched braces
+  % (because it thinks @} is a control sequence).
+  \catcode`\@ = 11
+  \openin 1 \jobname.#1s
+  \ifeof 1
+    % \enddoublecolumns gets confused if there is no text in the index,
+    % and it loses the chapter title and the aux file entries for the
+    % index.  The easiest way to prevent this problem is to make sure
+    % there is some text.
+    \putwordIndexNonexistent
+  \else
+    %
+    % If the index file exists but is empty, then \openin leaves \ifeof
+    % false.  We have to make TeX try to read something from the file, so
+    % it can discover if there is anything in it.
+    \read 1 to \temp
+    \ifeof 1
+      \putwordIndexIsEmpty
+    \else
+      % Index files are almost Texinfo source, but we use \ as the escape
+      % character.  It would be better to use @, but that's too big a change
+      % to make right now.
+      \def\indexbackslash{\backslashcurfont}%
+      \catcode`\\ = 0
+      \escapechar = `\\
+      \begindoublecolumns
+      \input \jobname.#1s
+      \enddoublecolumns
+    \fi
+  \fi
+  \closein 1
+\endgroup}
+
+% These macros are used by the sorted index file itself.
+% Change them to control the appearance of the index.
+
+\def\initial#1{{%
+  % Some minor font changes for the special characters.
+  \let\tentt=\sectt \let\tt=\sectt \let\sf=\sectt
+  %
+  % Remove any glue we may have, we'll be inserting our own.
+  \removelastskip
+  %
+  % We like breaks before the index initials, so insert a bonus.
+  \nobreak
+  \vskip 0pt plus 3\baselineskip
+  \penalty 0
+  \vskip 0pt plus -3\baselineskip
+  %
+  % Typeset the initial.  Making this add up to a whole number of
+  % baselineskips increases the chance of the dots lining up from column
+  % to column.  It still won't often be perfect, because of the stretch
+  % we need before each entry, but it's better.
+  %
+  % No shrink because it confuses \balancecolumns.
+  \vskip 1.67\baselineskip plus .5\baselineskip
+  \leftline{\secbf #1}%
+  % Do our best not to break after the initial.
+  \nobreak
+  \vskip .33\baselineskip plus .1\baselineskip
+}}
+
+% \entry typesets a paragraph consisting of the text (#1), dot leaders, and
+% then page number (#2) flushed to the right margin.  It is used for index
+% and table of contents entries.  The paragraph is indented by \leftskip.
+%
+% A straightforward implementation would start like this:
+%      \def\entry#1#2{...
+% But this frozes the catcodes in the argument, and can cause problems to
+% @code, which sets - active.  This problem was fixed by a kludge---
+% ``-'' was active throughout whole index, but this isn't really right.
+%
+% The right solution is to prevent \entry from swallowing the whole text.
+%                                 --kasal, 21nov03
+\def\entry{%
+  \begingroup
+    %
+    % Start a new paragraph if necessary, so our assignments below can't
+    % affect previous text.
+    \par
+    %
+    % Do not fill out the last line with white space.
+    \parfillskip = 0in
+    %
+    % No extra space above this paragraph.
+    \parskip = 0in
+    %
+    % Do not prefer a separate line ending with a hyphen to fewer lines.
+    \finalhyphendemerits = 0
+    %
+    % \hangindent is only relevant when the entry text and page number
+    % don't both fit on one line.  In that case, bob suggests starting the
+    % dots pretty far over on the line.  Unfortunately, a large
+    % indentation looks wrong when the entry text itself is broken across
+    % lines.  So we use a small indentation and put up with long leaders.
+    %
+    % \hangafter is reset to 1 (which is the value we want) at the start
+    % of each paragraph, so we need not do anything with that.
+    \hangindent = 2em
+    %
+    % When the entry text needs to be broken, just fill out the first line
+    % with blank space.
+    \rightskip = 0pt plus1fil
+    %
+    % A bit of stretch before each entry for the benefit of balancing
+    % columns.
+    \vskip 0pt plus1pt
+    %
+    % Swallow the left brace of the text (first parameter):
+    \afterassignment\doentry
+    \let\temp =
+}
+\def\doentry{%
+    \bgroup % Instead of the swallowed brace.
+      \noindent
+      \aftergroup\finishentry
+      % And now comes the text of the entry.
+}
+\def\finishentry#1{%
+    % #1 is the page number.
+    %
+    % The following is kludged to not output a line of dots in the index if
+    % there are no page numbers.  The next person who breaks this will be
+    % cursed by a Unix daemon.
+    \def\tempa{{\rm }}%
+    \def\tempb{#1}%
+    \edef\tempc{\tempa}%
+    \edef\tempd{\tempb}%
+    \ifx\tempc\tempd
+      \ %
+    \else
+      %
+      % If we must, put the page number on a line of its own, and fill out
+      % this line with blank space.  (The \hfil is overwhelmed with the
+      % fill leaders glue in \indexdotfill if the page number does fit.)
+      \hfil\penalty50
+      \null\nobreak\indexdotfill % Have leaders before the page number.
+      %
+      % The `\ ' here is removed by the implicit \unskip that TeX does as
+      % part of (the primitive) \par.  Without it, a spurious underfull
+      % \hbox ensues.
+      \ifpdf
+       \pdfgettoks#1.%
+       \ \the\toksA
+      \else
+       \ #1%
+      \fi
+    \fi
+    \par
+  \endgroup
+}
+
+% Like \dotfill except takes at least 1 em.
+\def\indexdotfill{\cleaders
+  \hbox{$\mathsurround=0pt \mkern1.5mu ${\it .}$ \mkern1.5mu$}\hskip 1em plus 1fill}
+
+\def\primary #1{\line{#1\hfil}}
+
+\newskip\secondaryindent \secondaryindent=0.5cm
+\def\secondary#1#2{{%
+  \parfillskip=0in
+  \parskip=0in
+  \hangindent=1in
+  \hangafter=1
+  \noindent\hskip\secondaryindent\hbox{#1}\indexdotfill
+  \ifpdf
+    \pdfgettoks#2.\ \the\toksA % The page number ends the paragraph.
+  \else
+    #2
+  \fi
+  \par
+}}
+
+% Define two-column mode, which we use to typeset indexes.
+% Adapted from the TeXbook, page 416, which is to say,
+% the manmac.tex format used to print the TeXbook itself.
+\catcode`\@=11
+
+\newbox\partialpage
+\newdimen\doublecolumnhsize
+
+\def\begindoublecolumns{\begingroup % ended by \enddoublecolumns
+  % Grab any single-column material above us.
+  \output = {%
+    %
+    % Here is a possibility not foreseen in manmac: if we accumulate a
+    % whole lot of material, we might end up calling this \output
+    % routine twice in a row (see the doublecol-lose test, which is
+    % essentially a couple of indexes with @setchapternewpage off).  In
+    % that case we just ship out what is in \partialpage with the normal
+    % output routine.  Generally, \partialpage will be empty when this
+    % runs and this will be a no-op.  See the indexspread.tex test case.
+    \ifvoid\partialpage \else
+      \onepageout{\pagecontents\partialpage}%
+    \fi
+    %
+    \global\setbox\partialpage = \vbox{%
+      % Unvbox the main output page.
+      \unvbox\PAGE
+      \kern-\topskip \kern\baselineskip
+    }%
+  }%
+  \eject % run that output routine to set \partialpage
+  %
+  % Use the double-column output routine for subsequent pages.
+  \output = {\doublecolumnout}%
+  %
+  % Change the page size parameters.  We could do this once outside this
+  % routine, in each of @smallbook, @afourpaper, and the default 8.5x11
+  % format, but then we repeat the same computation.  Repeating a couple
+  % of assignments once per index is clearly meaningless for the
+  % execution time, so we may as well do it in one place.
+  %
+  % First we halve the line length, less a little for the gutter between
+  % the columns.  We compute the gutter based on the line length, so it
+  % changes automatically with the paper format.  The magic constant
+  % below is chosen so that the gutter has the same value (well, +-<1pt)
+  % as it did when we hard-coded it.
+  %
+  % We put the result in a separate register, \doublecolumhsize, so we
+  % can restore it in \pagesofar, after \hsize itself has (potentially)
+  % been clobbered.
+  %
+  \doublecolumnhsize = \hsize
+    \advance\doublecolumnhsize by -.04154\hsize
+    \divide\doublecolumnhsize by 2
+  \hsize = \doublecolumnhsize
+  %
+  % Double the \vsize as well.  (We don't need a separate register here,
+  % since nobody clobbers \vsize.)
+  \vsize = 2\vsize
+}
+
+% The double-column output routine for all double-column pages except
+% the last.
+%
+\def\doublecolumnout{%
+  \splittopskip=\topskip \splitmaxdepth=\maxdepth
+  % Get the available space for the double columns -- the normal
+  % (undoubled) page height minus any material left over from the
+  % previous page.
+  \dimen@ = \vsize
+  \divide\dimen@ by 2
+  \advance\dimen@ by -\ht\partialpage
+  %
+  % box0 will be the left-hand column, box2 the right.
+  \setbox0=\vsplit255 to\dimen@ \setbox2=\vsplit255 to\dimen@
+  \onepageout\pagesofar
+  \unvbox255
+  \penalty\outputpenalty
+}
+%
+% Re-output the contents of the output page -- any previous material,
+% followed by the two boxes we just split, in box0 and box2.
+\def\pagesofar{%
+  \unvbox\partialpage
+  %
+  \hsize = \doublecolumnhsize
+  \wd0=\hsize \wd2=\hsize
+  \hbox to\pagewidth{\box0\hfil\box2}%
+}
+%
+% All done with double columns.
+\def\enddoublecolumns{%
+  \output = {%
+    % Split the last of the double-column material.  Leave it on the
+    % current page, no automatic page break.
+    \balancecolumns
+    %
+    % If we end up splitting too much material for the current page,
+    % though, there will be another page break right after this \output
+    % invocation ends.  Having called \balancecolumns once, we do not
+    % want to call it again.  Therefore, reset \output to its normal
+    % definition right away.  (We hope \balancecolumns will never be
+    % called on to balance too much material, but if it is, this makes
+    % the output somewhat more palatable.)
+    \global\output = {\onepageout{\pagecontents\PAGE}}%
+  }%
+  \eject
+  \endgroup % started in \begindoublecolumns
+  %
+  % \pagegoal was set to the doubled \vsize above, since we restarted
+  % the current page.  We're now back to normal single-column
+  % typesetting, so reset \pagegoal to the normal \vsize (after the
+  % \endgroup where \vsize got restored).
+  \pagegoal = \vsize
+}
+%
+% Called at the end of the double column material.
+\def\balancecolumns{%
+  \setbox0 = \vbox{\unvbox255}% like \box255 but more efficient, see p.120.
+  \dimen@ = \ht0
+  \advance\dimen@ by \topskip
+  \advance\dimen@ by-\baselineskip
+  \divide\dimen@ by 2 % target to split to
+  %debug\message{final 2-column material height=\the\ht0, target=\the\dimen@.}%
+  \splittopskip = \topskip
+  % Loop until we get a decent breakpoint.
+  {%
+    \vbadness = 10000
+    \loop
+      \global\setbox3 = \copy0
+      \global\setbox1 = \vsplit3 to \dimen@
+    \ifdim\ht3>\dimen@
+      \global\advance\dimen@ by 1pt
+    \repeat
+  }%
+  %debug\message{split to \the\dimen@, column heights: \the\ht1, \the\ht3.}%
+  \setbox0=\vbox to\dimen@{\unvbox1}%
+  \setbox2=\vbox to\dimen@{\unvbox3}%
+  %
+  \pagesofar
+}
+\catcode`\@ = \other
+
+
+\message{sectioning,}
+% Chapters, sections, etc.
+
+% \unnumberedno is an oxymoron, of course.  But we count the unnumbered
+% sections so that we can refer to them unambiguously in the pdf
+% outlines by their "section number".  We avoid collisions with chapter
+% numbers by starting them at 10000.  (If a document ever has 10000
+% chapters, we're in trouble anyway, I'm sure.)
+\newcount\unnumberedno \unnumberedno = 10000
+\newcount\chapno
+\newcount\secno        \secno=0
+\newcount\subsecno     \subsecno=0
+\newcount\subsubsecno  \subsubsecno=0
+
+% This counter is funny since it counts through charcodes of letters A, B, ...
+\newcount\appendixno  \appendixno = `\@
+%
+% \def\appendixletter{\char\the\appendixno}
+% We do the following ugly conditional instead of the above simple
+% construct for the sake of pdftex, which needs the actual
+% letter in the expansion, not just typeset.
+%
+\def\appendixletter{%
+  \ifnum\appendixno=`A A%
+  \else\ifnum\appendixno=`B B%
+  \else\ifnum\appendixno=`C C%
+  \else\ifnum\appendixno=`D D%
+  \else\ifnum\appendixno=`E E%
+  \else\ifnum\appendixno=`F F%
+  \else\ifnum\appendixno=`G G%
+  \else\ifnum\appendixno=`H H%
+  \else\ifnum\appendixno=`I I%
+  \else\ifnum\appendixno=`J J%
+  \else\ifnum\appendixno=`K K%
+  \else\ifnum\appendixno=`L L%
+  \else\ifnum\appendixno=`M M%
+  \else\ifnum\appendixno=`N N%
+  \else\ifnum\appendixno=`O O%
+  \else\ifnum\appendixno=`P P%
+  \else\ifnum\appendixno=`Q Q%
+  \else\ifnum\appendixno=`R R%
+  \else\ifnum\appendixno=`S S%
+  \else\ifnum\appendixno=`T T%
+  \else\ifnum\appendixno=`U U%
+  \else\ifnum\appendixno=`V V%
+  \else\ifnum\appendixno=`W W%
+  \else\ifnum\appendixno=`X X%
+  \else\ifnum\appendixno=`Y Y%
+  \else\ifnum\appendixno=`Z Z%
+  % The \the is necessary, despite appearances, because \appendixletter is
+  % expanded while writing the .toc file.  \char\appendixno is not
+  % expandable, thus it is written literally, thus all appendixes come out
+  % with the same letter (or @) in the toc without it.
+  \else\char\the\appendixno
+  \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+  \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}
+
+% Each @chapter defines this as the name of the chapter.
+% page headings and footings can use it.  @section does likewise.
+% However, they are not reliable, because we don't use marks.
+\def\thischapter{}
+\def\thissection{}
+
+\newcount\absseclevel % used to calculate proper heading level
+\newcount\secbase\secbase=0 % @raisesections/@lowersections modify this count
+
+% @raisesections: treat @section as chapter, @subsection as section, etc.
+\def\raisesections{\global\advance\secbase by -1}
+\let\up=\raisesections % original BFox name
+
+% @lowersections: treat @chapter as section, @section as subsection, etc.
+\def\lowersections{\global\advance\secbase by 1}
+\let\down=\lowersections % original BFox name
+
+% we only have subsub.
+\chardef\maxseclevel = 3
+%
+% A numbered section within an unnumbered changes to unnumbered too.
+% To achive this, remember the "biggest" unnum. sec. we are currently in:
+\chardef\unmlevel = \maxseclevel
+%
+% Trace whether the current chapter is an appendix or not:
+% \chapheadtype is "N" or "A", unnumbered chapters are ignored.
+\def\chapheadtype{N}
+
+% Choose a heading macro
+% #1 is heading type
+% #2 is heading level
+% #3 is text for heading
+\def\genhead#1#2#3{%
+  % Compute the abs. sec. level:
+  \absseclevel=#2
+  \advance\absseclevel by \secbase
+  % Make sure \absseclevel doesn't fall outside the range:
+  \ifnum \absseclevel < 0
+    \absseclevel = 0
+  \else
+    \ifnum \absseclevel > 3
+      \absseclevel = 3
+    \fi
+  \fi
+  % The heading type:
+  \def\headtype{#1}%
+  \if \headtype U%
+    \ifnum \absseclevel < \unmlevel
+      \chardef\unmlevel = \absseclevel
+    \fi
+  \else
+    % Check for appendix sections:
+    \ifnum \absseclevel = 0
+      \edef\chapheadtype{\headtype}%
+    \else
+      \if \headtype A\if \chapheadtype N%
+       \errmessage{@appendix... within a non-appendix chapter}%
+      \fi\fi
+    \fi
+    % Check for numbered within unnumbered:
+    \ifnum \absseclevel > \unmlevel
+      \def\headtype{U}%
+    \else
+      \chardef\unmlevel = 3
+    \fi
+  \fi
+  % Now print the heading:
+  \if \headtype U%
+    \ifcase\absseclevel
+       \unnumberedzzz{#3}%
+    \or \unnumberedseczzz{#3}%
+    \or \unnumberedsubseczzz{#3}%
+    \or \unnumberedsubsubseczzz{#3}%
+    \fi
+  \else
+    \if \headtype A%
+      \ifcase\absseclevel
+         \appendixzzz{#3}%
+      \or \appendixsectionzzz{#3}%
+      \or \appendixsubseczzz{#3}%
+      \or \appendixsubsubseczzz{#3}%
+      \fi
+    \else
+      \ifcase\absseclevel
+         \chapterzzz{#3}%
+      \or \seczzz{#3}%
+      \or \numberedsubseczzz{#3}%
+      \or \numberedsubsubseczzz{#3}%
+      \fi
+    \fi
+  \fi
+  \suppressfirstparagraphindent
+}
+
+% an interface:
+\def\numhead{\genhead N}
+\def\apphead{\genhead A}
+\def\unnmhead{\genhead U}
+
+% @chapter, @appendix, @unnumbered.  Increment top-level counter, reset
+% all lower-level sectioning counters to zero.
+%
+% Also set \chaplevelprefix, which we prepend to @float sequence numbers
+% (e.g., figures), q.v.  By default (before any chapter), that is empty.
+\let\chaplevelprefix = \empty
+%
+\outer\parseargdef\chapter{\numhead0{#1}} % normally numhead0 calls chapterzzz
+\def\chapterzzz#1{%
+  % section resetting is \global in case the chapter is in a group, such
+  % as an @include file.
+  \global\secno=0 \global\subsecno=0 \global\subsubsecno=0
+    \global\advance\chapno by 1
+  %
+  % Used for \float.
+  \gdef\chaplevelprefix{\the\chapno.}%
+  \resetallfloatnos
+  %
+  \message{\putwordChapter\space \the\chapno}%
+  %
+  % Write the actual heading.
+  \chapmacro{#1}{Ynumbered}{\the\chapno}%
+  %
+  % So @section and the like are numbered underneath this chapter.
+  \global\let\section = \numberedsec
+  \global\let\subsection = \numberedsubsec
+  \global\let\subsubsection = \numberedsubsubsec
+}
+
+\outer\parseargdef\appendix{\apphead0{#1}} % normally apphead0 calls appendixzzz
+\def\appendixzzz#1{%
+  \global\secno=0 \global\subsecno=0 \global\subsubsecno=0
+    \global\advance\appendixno by 1
+  \gdef\chaplevelprefix{\appendixletter.}%
+  \resetallfloatnos
+  %
+  \def\appendixnum{\putwordAppendix\space \appendixletter}%
+  \message{\appendixnum}%
+  %
+  \chapmacro{#1}{Yappendix}{\appendixletter}%
+  %
+  \global\let\section = \appendixsec
+  \global\let\subsection = \appendixsubsec
+  \global\let\subsubsection = \appendixsubsubsec
+}
+
+\outer\parseargdef\unnumbered{\unnmhead0{#1}} % normally unnmhead0 calls unnumberedzzz
+\def\unnumberedzzz#1{%
+  \global\secno=0 \global\subsecno=0 \global\subsubsecno=0
+    \global\advance\unnumberedno by 1
+  %
+  % Since an unnumbered has no number, no prefix for figures.
+  \global\let\chaplevelprefix = \empty
+  \resetallfloatnos
+  %
+  % This used to be simply \message{#1}, but TeX fully expands the
+  % argument to \message.  Therefore, if #1 contained @-commands, TeX
+  % expanded them.  For example, in `@unnumbered The @cite{Book}', TeX
+  % expanded @cite (which turns out to cause errors because \cite is meant
+  % to be executed, not expanded).
+  %
+  % Anyway, we don't want the fully-expanded definition of @cite to appear
+  % as a result of the \message, we just want `@cite' itself.  We use
+  % \the<toks register> to achieve this: TeX expands \the<toks> only once,
+  % simply yielding the contents of <toks register>.  (We also do this for
+  % the toc entries.)
+  \toks0 = {#1}%
+  \message{(\the\toks0)}%
+  %
+  \chapmacro{#1}{Ynothing}{\the\unnumberedno}%
+  %
+  \global\let\section = \unnumberedsec
+  \global\let\subsection = \unnumberedsubsec
+  \global\let\subsubsection = \unnumberedsubsubsec
+}
+
+% @centerchap is like @unnumbered, but the heading is centered.
+\outer\parseargdef\centerchap{%
+  % Well, we could do the following in a group, but that would break
+  % an assumption that \chapmacro is called at the outermost level.
+  % Thus we are safer this way:                --kasal, 24feb04
+  \let\centerparametersmaybe = \centerparameters
+  \unnmhead0{#1}%
+  \let\centerparametersmaybe = \relax
+}
+
+% @top is like @unnumbered.
+\let\top\unnumbered
+
+% Sections.
+\outer\parseargdef\numberedsec{\numhead1{#1}} % normally calls seczzz
+\def\seczzz#1{%
+  \global\subsecno=0 \global\subsubsecno=0  \global\advance\secno by 1
+  \sectionheading{#1}{sec}{Ynumbered}{\the\chapno.\the\secno}%
+}
+
+\outer\parseargdef\appendixsection{\apphead1{#1}} % normally calls appendixsectionzzz
+\def\appendixsectionzzz#1{%
+  \global\subsecno=0 \global\subsubsecno=0  \global\advance\secno by 1
+  \sectionheading{#1}{sec}{Yappendix}{\appendixletter.\the\secno}%
+}
+\let\appendixsec\appendixsection
+
+\outer\parseargdef\unnumberedsec{\unnmhead1{#1}} % normally calls unnumberedseczzz
+\def\unnumberedseczzz#1{%
+  \global\subsecno=0 \global\subsubsecno=0  \global\advance\secno by 1
+  \sectionheading{#1}{sec}{Ynothing}{\the\unnumberedno.\the\secno}%
+}
+
+% Subsections.
+\outer\parseargdef\numberedsubsec{\numhead2{#1}} % normally calls numberedsubseczzz
+\def\numberedsubseczzz#1{%
+  \global\subsubsecno=0  \global\advance\subsecno by 1
+  \sectionheading{#1}{subsec}{Ynumbered}{\the\chapno.\the\secno.\the\subsecno}%
+}
+
+\outer\parseargdef\appendixsubsec{\apphead2{#1}} % normally calls appendixsubseczzz
+\def\appendixsubseczzz#1{%
+  \global\subsubsecno=0  \global\advance\subsecno by 1
+  \sectionheading{#1}{subsec}{Yappendix}%
+                 {\appendixletter.\the\secno.\the\subsecno}%
+}
+
+\outer\parseargdef\unnumberedsubsec{\unnmhead2{#1}} %normally calls unnumberedsubseczzz
+\def\unnumberedsubseczzz#1{%
+  \global\subsubsecno=0  \global\advance\subsecno by 1
+  \sectionheading{#1}{subsec}{Ynothing}%
+                 {\the\unnumberedno.\the\secno.\the\subsecno}%
+}
+
+% Subsubsections.
+\outer\parseargdef\numberedsubsubsec{\numhead3{#1}} % normally numberedsubsubseczzz
+\def\numberedsubsubseczzz#1{%
+  \global\advance\subsubsecno by 1
+  \sectionheading{#1}{subsubsec}{Ynumbered}%
+                 {\the\chapno.\the\secno.\the\subsecno.\the\subsubsecno}%
+}
+
+\outer\parseargdef\appendixsubsubsec{\apphead3{#1}} % normally appendixsubsubseczzz
+\def\appendixsubsubseczzz#1{%
+  \global\advance\subsubsecno by 1
+  \sectionheading{#1}{subsubsec}{Yappendix}%
+                 {\appendixletter.\the\secno.\the\subsecno.\the\subsubsecno}%
+}
+
+\outer\parseargdef\unnumberedsubsubsec{\unnmhead3{#1}} %normally unnumberedsubsubseczzz
+\def\unnumberedsubsubseczzz#1{%
+  \global\advance\subsubsecno by 1
+  \sectionheading{#1}{subsubsec}{Ynothing}%
+                 {\the\unnumberedno.\the\secno.\the\subsecno.\the\subsubsecno}%
+}
+
+% These macros control what the section commands do, according
+% to what kind of chapter we are in (ordinary, appendix, or unnumbered).
+% Define them by default for a numbered chapter.
+\let\section = \numberedsec
+\let\subsection = \numberedsubsec
+\let\subsubsection = \numberedsubsubsec
+
+% Define @majorheading, @heading and @subheading
+
+% NOTE on use of \vbox for chapter headings, section headings, and such:
+%       1) We use \vbox rather than the earlier \line to permit
+%          overlong headings to fold.
+%       2) \hyphenpenalty is set to 10000 because hyphenation in a
+%          heading is obnoxious; this forbids it.
+%       3) Likewise, headings look best if no \parindent is used, and
+%          if justification is not attempted.  Hence \raggedright.
+
+
+\def\majorheading{%
+  {\advance\chapheadingskip by 10pt \chapbreak }%
+  \parsearg\chapheadingzzz
+}
+
+\def\chapheading{\chapbreak \parsearg\chapheadingzzz}
+\def\chapheadingzzz#1{%
+  {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
+                    \parindent=0pt\raggedright
+                    \rm #1\hfill}}%
+  \bigskip \par\penalty 200\relax
+  \suppressfirstparagraphindent
+}
+
+% @heading, @subheading, @subsubheading.
+\parseargdef\heading{\sectionheading{#1}{sec}{Yomitfromtoc}{}
+  \suppressfirstparagraphindent}
+\parseargdef\subheading{\sectionheading{#1}{subsec}{Yomitfromtoc}{}
+  \suppressfirstparagraphindent}
+\parseargdef\subsubheading{\sectionheading{#1}{subsubsec}{Yomitfromtoc}{}
+  \suppressfirstparagraphindent}
+
+% These macros generate a chapter, section, etc. heading only
+% (including whitespace, linebreaking, etc. around it),
+% given all the information in convenient, parsed form.
+
+%%% Args are the skip and penalty (usually negative)
+\def\dobreak#1#2{\par\ifdim\lastskip<#1\removelastskip\penalty#2\vskip#1\fi}
+
+%%% Define plain chapter starts, and page on/off switching for it
+% Parameter controlling skip before chapter headings (if needed)
+
+\newskip\chapheadingskip
+
+\def\chapbreak{\dobreak \chapheadingskip {-4000}}
+\def\chappager{\par\vfill\supereject}
+\def\chapoddpage{\chappager \ifodd\pageno \else \hbox to 0pt{} \chappager\fi}
+
+\def\setchapternewpage #1 {\csname CHAPPAG#1\endcsname}
+
+\def\CHAPPAGoff{%
+\global\let\contentsalignmacro = \chappager
+\global\let\pchapsepmacro=\chapbreak
+\global\let\pagealignmacro=\chappager}
+
+\def\CHAPPAGon{%
+\global\let\contentsalignmacro = \chappager
+\global\let\pchapsepmacro=\chappager
+\global\let\pagealignmacro=\chappager
+\global\def\HEADINGSon{\HEADINGSsingle}}
+
+\def\CHAPPAGodd{%
+\global\let\contentsalignmacro = \chapoddpage
+\global\let\pchapsepmacro=\chapoddpage
+\global\let\pagealignmacro=\chapoddpage
+\global\def\HEADINGSon{\HEADINGSdouble}}
+
+\CHAPPAGon
+
+% Chapter opening.
+%
+% #1 is the text, #2 is the section type (Ynumbered, Ynothing,
+% Yappendix, Yomitfromtoc), #3 the chapter number.
+%
+% To test against our argument.
+\def\Ynothingkeyword{Ynothing}
+\def\Yomitfromtockeyword{Yomitfromtoc}
+\def\Yappendixkeyword{Yappendix}
+%
+\def\chapmacro#1#2#3{%
+  \pchapsepmacro
+  {%
+    \chapfonts \rm
+    %
+    % Have to define \thissection before calling \donoderef, because the
+    % xref code eventually uses it.  On the other hand, it has to be called
+    % after \pchapsepmacro, or the headline will change too soon.
+    \gdef\thissection{#1}%
+    \gdef\thischaptername{#1}%
+    %
+    % Only insert the separating space if we have a chapter/appendix
+    % number, and don't print the unnumbered ``number''.
+    \def\temptype{#2}%
+    \ifx\temptype\Ynothingkeyword
+      \setbox0 = \hbox{}%
+      \def\toctype{unnchap}%
+      \gdef\thischapter{#1}%
+    \else\ifx\temptype\Yomitfromtockeyword
+      \setbox0 = \hbox{}% contents like unnumbered, but no toc entry
+      \def\toctype{omit}%
+      \gdef\thischapter{}%
+    \else\ifx\temptype\Yappendixkeyword
+      \setbox0 = \hbox{\putwordAppendix{} #3\enspace}%
+      \def\toctype{app}%
+      % We don't substitute the actual chapter name into \thischapter
+      % because we don't want its macros evaluated now.  And we don't
+      % use \thissection because that changes with each section.
+      %
+      \xdef\thischapter{\putwordAppendix{} \appendixletter:
+                        \noexpand\thischaptername}%
+    \else
+      \setbox0 = \hbox{#3\enspace}%
+      \def\toctype{numchap}%
+      \xdef\thischapter{\putwordChapter{} \the\chapno:
+                        \noexpand\thischaptername}%
+    \fi\fi\fi
+    %
+    % Write the toc entry for this chapter.  Must come before the
+    % \donoderef, because we include the current node name in the toc
+    % entry, and \donoderef resets it to empty.
+    \writetocentry{\toctype}{#1}{#3}%
+    %
+    % For pdftex, we have to write out the node definition (aka, make
+    % the pdfdest) after any page break, but before the actual text has
+    % been typeset.  If the destination for the pdf outline is after the
+    % text, then jumping from the outline may wind up with the text not
+    % being visible, for instance under high magnification.
+    \donoderef{#2}%
+    %
+    % Typeset the actual heading.
+    \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright
+          \hangindent=\wd0 \centerparametersmaybe
+          \unhbox0 #1\par}%
+  }%
+  \nobreak\bigskip % no page break after a chapter title
+  \nobreak
+}
+
+% @centerchap -- centered and unnumbered.
+\let\centerparametersmaybe = \relax
+\def\centerparameters{%
+  \advance\rightskip by 3\rightskip
+  \leftskip = \rightskip
+  \parfillskip = 0pt
+}
+
+
+% I don't think this chapter style is supported any more, so I'm not
+% updating it with the new noderef stuff.  We'll see.  --karl, 11aug03.
+%
+\def\setchapterstyle #1 {\csname CHAPF#1\endcsname}
+%
+\def\unnchfopen #1{%
+\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
+                       \parindent=0pt\raggedright
+                       \rm #1\hfill}}\bigskip \par\nobreak
+}
+\def\chfopen #1#2{\chapoddpage {\chapfonts
+\vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}%
+\par\penalty 5000 %
+}
+\def\centerchfopen #1{%
+\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
+                       \parindent=0pt
+                       \hfill {\rm #1}\hfill}}\bigskip \par\nobreak
+}
+\def\CHAPFopen{%
+  \global\let\chapmacro=\chfopen
+  \global\let\centerchapmacro=\centerchfopen}
+
+
+% Section titles.  These macros combine the section number parts and
+% call the generic \sectionheading to do the printing.
+%
+\newskip\secheadingskip
+\def\secheadingbreak{\dobreak \secheadingskip{-1000}}
+
+% Subsection titles.
+\newskip\subsecheadingskip
+\def\subsecheadingbreak{\dobreak \subsecheadingskip{-500}}
+
+% Subsubsection titles.
+\def\subsubsecheadingskip{\subsecheadingskip}
+\def\subsubsecheadingbreak{\subsecheadingbreak}
+
+
+% Print any size, any type, section title.
+%
+% #1 is the text, #2 is the section level (sec/subsec/subsubsec), #3 is
+% the section type for xrefs (Ynumbered, Ynothing, Yappendix), #4 is the
+% section number.
+%
+\def\sectionheading#1#2#3#4{%
+  {%
+    % Switch to the right set of fonts.
+    \csname #2fonts\endcsname \rm
+    %
+    % Insert space above the heading.
+    \csname #2headingbreak\endcsname
+    %
+    % Only insert the space after the number if we have a section number.
+    \def\sectionlevel{#2}%
+    \def\temptype{#3}%
+    %
+    \ifx\temptype\Ynothingkeyword
+      \setbox0 = \hbox{}%
+      \def\toctype{unn}%
+      \gdef\thissection{#1}%
+    \else\ifx\temptype\Yomitfromtockeyword
+      % for @headings -- no section number, don't include in toc,
+      % and don't redefine \thissection.
+      \setbox0 = \hbox{}%
+      \def\toctype{omit}%
+      \let\sectionlevel=\empty
+    \else\ifx\temptype\Yappendixkeyword
+      \setbox0 = \hbox{#4\enspace}%
+      \def\toctype{app}%
+      \gdef\thissection{#1}%
+    \else
+      \setbox0 = \hbox{#4\enspace}%
+      \def\toctype{num}%
+      \gdef\thissection{#1}%
+    \fi\fi\fi
+    %
+    % Write the toc entry (before \donoderef).  See comments in \chfplain.
+    \writetocentry{\toctype\sectionlevel}{#1}{#4}%
+    %
+    % Write the node reference (= pdf destination for pdftex).
+    % Again, see comments in \chfplain.
+    \donoderef{#3}%
+    %
+    % Output the actual section heading.
+    \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright
+          \hangindent=\wd0  % zero if no section number
+          \unhbox0 #1}%
+  }%
+  % Add extra space after the heading -- half of whatever came above it.
+  % Don't allow stretch, though.
+  \kern .5 \csname #2headingskip\endcsname
+  %
+  % Do not let the kern be a potential breakpoint, as it would be if it
+  % was followed by glue.
+  \nobreak
+  %
+  % We'll almost certainly start a paragraph next, so don't let that
+  % glue accumulate.  (Not a breakpoint because it's preceded by a
+  % discardable item.)
+  \vskip-\parskip
+  % 
+  % This is purely so the last item on the list is a known \penalty >
+  % 10000.  This is so \startdefun can avoid allowing breakpoints after
+  % section headings.  Otherwise, it would insert a valid breakpoint between:
+  % 
+  %   @section sec-whatever
+  %   @deffn def-whatever
+  \penalty 10001
+}
+
+
+\message{toc,}
+% Table of contents.
+\newwrite\tocfile
+
+% Write an entry to the toc file, opening it if necessary.
+% Called from @chapter, etc.
+%
+% Example usage: \writetocentry{sec}{Section Name}{\the\chapno.\the\secno}
+% We append the current node name (if any) and page number as additional
+% arguments for the \{chap,sec,...}entry macros which will eventually
+% read this.  The node name is used in the pdf outlines as the
+% destination to jump to.
+%
+% We open the .toc file for writing here instead of at @setfilename (or
+% any other fixed time) so that @contents can be anywhere in the document.
+% But if #1 is `omit', then we don't do anything.  This is used for the
+% table of contents chapter openings themselves.
+%
+\newif\iftocfileopened
+\def\omitkeyword{omit}%
+%
+\def\writetocentry#1#2#3{%
+  \edef\writetoctype{#1}%
+  \ifx\writetoctype\omitkeyword \else
+    \iftocfileopened\else
+      \immediate\openout\tocfile = \jobname.toc
+      \global\tocfileopenedtrue
+    \fi
+    %
+    \iflinks
+      {\atdummies
+       \edef\temp{%
+         \write\tocfile{@#1entry{#2}{#3}{\lastnode}{\noexpand\folio}}}%
+       \temp
+      }
+    \fi
+  \fi
+  %
+  % Tell \shipout to create a pdf destination on each page, if we're
+  % writing pdf.  These are used in the table of contents.  We can't
+  % just write one on every page because the title pages are numbered
+  % 1 and 2 (the page numbers aren't printed), and so are the first
+  % two pages of the document.  Thus, we'd have two destinations named
+  % `1', and two named `2'.
+  \ifpdf \global\pdfmakepagedesttrue \fi
+}
+
+
+% These characters do not print properly in the Computer Modern roman
+% fonts, so we must take special care.  This is more or less redundant
+% with the Texinfo input format setup at the end of this file.
+% 
+\def\activecatcodes{%
+  \catcode`\"=\active
+  \catcode`\$=\active
+  \catcode`\<=\active
+  \catcode`\>=\active
+  \catcode`\\=\active
+  \catcode`\^=\active
+  \catcode`\_=\active
+  \catcode`\|=\active
+  \catcode`\~=\active
+}
+
+
+% Read the toc file, which is essentially Texinfo input.
+\def\readtocfile{%
+  \setupdatafile
+  \activecatcodes
+  \input \jobname.toc
+}
+
+\newskip\contentsrightmargin \contentsrightmargin=1in
+\newcount\savepageno
+\newcount\lastnegativepageno \lastnegativepageno = -1
+
+% Prepare to read what we've written to \tocfile.
+%
+\def\startcontents#1{%
+  % If @setchapternewpage on, and @headings double, the contents should
+  % start on an odd page, unlike chapters.  Thus, we maintain
+  % \contentsalignmacro in parallel with \pagealignmacro.
+  % From: Torbjorn Granlund <tege@matematik.su.se>
+  \contentsalignmacro
+  \immediate\closeout\tocfile
+  %
+  % Don't need to put `Contents' or `Short Contents' in the headline.
+  % It is abundantly clear what they are.
+  \def\thischapter{}%
+  \chapmacro{#1}{Yomitfromtoc}{}%
+  %
+  \savepageno = \pageno
+  \begingroup                  % Set up to handle contents files properly.
+    \raggedbottom              % Worry more about breakpoints than the bottom.
+    \advance\hsize by -\contentsrightmargin % Don't use the full line length.
+    %
+    % Roman numerals for page numbers.
+    \ifnum \pageno>0 \global\pageno = \lastnegativepageno \fi
+}
+
+
+% Normal (long) toc.
+\def\contents{%
+  \startcontents{\putwordTOC}%
+    \openin 1 \jobname.toc
+    \ifeof 1 \else
+      \readtocfile
+    \fi
+    \vfill \eject
+    \contentsalignmacro % in case @setchapternewpage odd is in effect
+    \ifeof 1 \else
+      \pdfmakeoutlines
+    \fi
+    \closein 1
+  \endgroup
+  \lastnegativepageno = \pageno
+  \global\pageno = \savepageno
+}
+
+% And just the chapters.
+\def\summarycontents{%
+  \startcontents{\putwordShortTOC}%
+    %
+    \let\numchapentry = \shortchapentry
+    \let\appentry = \shortchapentry
+    \let\unnchapentry = \shortunnchapentry
+    % We want a true roman here for the page numbers.
+    \secfonts
+    \let\rm=\shortcontrm \let\bf=\shortcontbf
+    \let\sl=\shortcontsl \let\tt=\shortconttt
+    \rm
+    \hyphenpenalty = 10000
+    \advance\baselineskip by 1pt % Open it up a little.
+    \def\numsecentry##1##2##3##4{}
+    \let\appsecentry = \numsecentry
+    \let\unnsecentry = \numsecentry
+    \let\numsubsecentry = \numsecentry
+    \let\appsubsecentry = \numsecentry
+    \let\unnsubsecentry = \numsecentry
+    \let\numsubsubsecentry = \numsecentry
+    \let\appsubsubsecentry = \numsecentry
+    \let\unnsubsubsecentry = \numsecentry
+    \openin 1 \jobname.toc
+    \ifeof 1 \else
+      \readtocfile
+    \fi
+    \closein 1
+    \vfill \eject
+    \contentsalignmacro % in case @setchapternewpage odd is in effect
+  \endgroup
+  \lastnegativepageno = \pageno
+  \global\pageno = \savepageno
+}
+\let\shortcontents = \summarycontents
+
+% Typeset the label for a chapter or appendix for the short contents.
+% The arg is, e.g., `A' for an appendix, or `3' for a chapter.
+%
+\def\shortchaplabel#1{%
+  % This space should be enough, since a single number is .5em, and the
+  % widest letter (M) is 1em, at least in the Computer Modern fonts.
+  % But use \hss just in case.
+  % (This space doesn't include the extra space that gets added after
+  % the label; that gets put in by \shortchapentry above.)
+  %
+  % We'd like to right-justify chapter numbers, but that looks strange
+  % with appendix letters.  And right-justifying numbers and
+  % left-justifying letters looks strange when there is less than 10
+  % chapters.  Have to read the whole toc once to know how many chapters
+  % there are before deciding ...
+  \hbox to 1em{#1\hss}%
+}
+
+% These macros generate individual entries in the table of contents.
+% The first argument is the chapter or section name.
+% The last argument is the page number.
+% The arguments in between are the chapter number, section number, ...
+
+% Chapters, in the main contents.
+\def\numchapentry#1#2#3#4{\dochapentry{#2\labelspace#1}{#4}}
+%
+% Chapters, in the short toc.
+% See comments in \dochapentry re vbox and related settings.
+\def\shortchapentry#1#2#3#4{%
+  \tocentry{\shortchaplabel{#2}\labelspace #1}{\doshortpageno\bgroup#4\egroup}%
+}
+
+% Appendices, in the main contents.
+% Need the word Appendix, and a fixed-size box.
+%
+\def\appendixbox#1{%
+  % We use M since it's probably the widest letter.
+  \setbox0 = \hbox{\putwordAppendix{} M}%
+  \hbox to \wd0{\putwordAppendix{} #1\hss}}
+%
+\def\appentry#1#2#3#4{\dochapentry{\appendixbox{#2}\labelspace#1}{#4}}
+
+% Unnumbered chapters.
+\def\unnchapentry#1#2#3#4{\dochapentry{#1}{#4}}
+\def\shortunnchapentry#1#2#3#4{\tocentry{#1}{\doshortpageno\bgroup#4\egroup}}
+
+% Sections.
+\def\numsecentry#1#2#3#4{\dosecentry{#2\labelspace#1}{#4}}
+\let\appsecentry=\numsecentry
+\def\unnsecentry#1#2#3#4{\dosecentry{#1}{#4}}
+
+% Subsections.
+\def\numsubsecentry#1#2#3#4{\dosubsecentry{#2\labelspace#1}{#4}}
+\let\appsubsecentry=\numsubsecentry
+\def\unnsubsecentry#1#2#3#4{\dosubsecentry{#1}{#4}}
+
+% And subsubsections.
+\def\numsubsubsecentry#1#2#3#4{\dosubsubsecentry{#2\labelspace#1}{#4}}
+\let\appsubsubsecentry=\numsubsubsecentry
+\def\unnsubsubsecentry#1#2#3#4{\dosubsubsecentry{#1}{#4}}
+
+% This parameter controls the indentation of the various levels.
+% Same as \defaultparindent.
+\newdimen\tocindent \tocindent = 15pt
+
+% Now for the actual typesetting. In all these, #1 is the text and #2 is the
+% page number.
+%
+% If the toc has to be broken over pages, we want it to be at chapters
+% if at all possible; hence the \penalty.
+\def\dochapentry#1#2{%
+   \penalty-300 \vskip1\baselineskip plus.33\baselineskip minus.25\baselineskip
+   \begingroup
+     \chapentryfonts
+     \tocentry{#1}{\dopageno\bgroup#2\egroup}%
+   \endgroup
+   \nobreak\vskip .25\baselineskip plus.1\baselineskip
+}
+
+\def\dosecentry#1#2{\begingroup
+  \secentryfonts \leftskip=\tocindent
+  \tocentry{#1}{\dopageno\bgroup#2\egroup}%
+\endgroup}
+
+\def\dosubsecentry#1#2{\begingroup
+  \subsecentryfonts \leftskip=2\tocindent
+  \tocentry{#1}{\dopageno\bgroup#2\egroup}%
+\endgroup}
+
+\def\dosubsubsecentry#1#2{\begingroup
+  \subsubsecentryfonts \leftskip=3\tocindent
+  \tocentry{#1}{\dopageno\bgroup#2\egroup}%
+\endgroup}
+
+% We use the same \entry macro as for the index entries.
+\let\tocentry = \entry
+
+% Space between chapter (or whatever) number and the title.
+\def\labelspace{\hskip1em \relax}
+
+\def\dopageno#1{{\rm #1}}
+\def\doshortpageno#1{{\rm #1}}
+
+\def\chapentryfonts{\secfonts \rm}
+\def\secentryfonts{\textfonts}
+\def\subsecentryfonts{\textfonts}
+\def\subsubsecentryfonts{\textfonts}
+
+
+\message{environments,}
+% @foo ... @end foo.
+
+% @point{}, @result{}, @expansion{}, @print{}, @equiv{}.
+%
+% Since these characters are used in examples, it should be an even number of
+% \tt widths. Each \tt character is 1en, so two makes it 1em.
+%
+\def\point{$\star$}
+\def\result{\leavevmode\raise.15ex\hbox to 1em{\hfil$\Rightarrow$\hfil}}
+\def\expansion{\leavevmode\raise.1ex\hbox to 1em{\hfil$\mapsto$\hfil}}
+\def\print{\leavevmode\lower.1ex\hbox to 1em{\hfil$\dashv$\hfil}}
+\def\equiv{\leavevmode\lower.1ex\hbox to 1em{\hfil$\ptexequiv$\hfil}}
+
+% The @error{} command.
+% Adapted from the TeXbook's \boxit.
+%
+\newbox\errorbox
+%
+{\tentt \global\dimen0 = 3em}% Width of the box.
+\dimen2 = .55pt % Thickness of rules
+% The text. (`r' is open on the right, `e' somewhat less so on the left.)
+\setbox0 = \hbox{\kern-.75pt \tensf error\kern-1.5pt}
+%
+\setbox\errorbox=\hbox to \dimen0{\hfil
+   \hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right.
+   \advance\hsize by -2\dimen2 % Rules.
+   \vbox{%
+      \hrule height\dimen2
+      \hbox{\vrule width\dimen2 \kern3pt          % Space to left of text.
+         \vtop{\kern2.4pt \box0 \kern2.4pt}% Space above/below.
+         \kern3pt\vrule width\dimen2}% Space to right.
+      \hrule height\dimen2}
+    \hfil}
+%
+\def\error{\leavevmode\lower.7ex\copy\errorbox}
+
+% @tex ... @end tex    escapes into raw Tex temporarily.
+% One exception: @ is still an escape character, so that @end tex works.
+% But \@ or @@ will get a plain tex @ character.
+
+\envdef\tex{%
+  \catcode `\\=0 \catcode `\{=1 \catcode `\}=2
+  \catcode `\$=3 \catcode `\&=4 \catcode `\#=6
+  \catcode `\^=7 \catcode `\_=8 \catcode `\~=\active \let~=\tie
+  \catcode `\%=14
+  \catcode `\+=\other
+  \catcode `\"=\other
+  \catcode `\|=\other
+  \catcode `\<=\other
+  \catcode `\>=\other
+  \escapechar=`\\
+  %
+  \let\b=\ptexb
+  \let\bullet=\ptexbullet
+  \let\c=\ptexc
+  \let\,=\ptexcomma
+  \let\.=\ptexdot
+  \let\dots=\ptexdots
+  \let\equiv=\ptexequiv
+  \let\!=\ptexexclam
+  \let\i=\ptexi
+  \let\indent=\ptexindent
+  \let\noindent=\ptexnoindent
+  \let\{=\ptexlbrace
+  \let\+=\tabalign
+  \let\}=\ptexrbrace
+  \let\/=\ptexslash
+  \let\*=\ptexstar
+  \let\t=\ptext
+  \let\frenchspacing=\plainfrenchspacing
+  %
+  \def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}%
+  \def\enddots{\relax\ifmmode\endldots\else$\mathsurround=0pt \endldots\,$\fi}%
+  \def\@{@}%
+}
+% There is no need to define \Etex.
+
+% Define @lisp ... @end lisp.
+% @lisp environment forms a group so it can rebind things,
+% including the definition of @end lisp (which normally is erroneous).
+
+% Amount to narrow the margins by for @lisp.
+\newskip\lispnarrowing \lispnarrowing=0.4in
+
+% This is the definition that ^^M gets inside @lisp, @example, and other
+% such environments.  \null is better than a space, since it doesn't
+% have any width.
+\def\lisppar{\null\endgraf}
+
+% This space is always present above and below environments.
+\newskip\envskipamount \envskipamount = 0pt
+
+% Make spacing and below environment symmetrical.  We use \parskip here
+% to help in doing that, since in @example-like environments \parskip
+% is reset to zero; thus the \afterenvbreak inserts no space -- but the
+% start of the next paragraph will insert \parskip.
+%
+\def\aboveenvbreak{{%
+  % =10000 instead of <10000 because of a special case in \itemzzz and
+  % \sectionheading, q.v.
+  \ifnum \lastpenalty=10000 \else
+    \advance\envskipamount by \parskip
+    \endgraf
+    \ifdim\lastskip<\envskipamount
+      \removelastskip
+      % it's not a good place to break if the last penalty was \nobreak
+      % or better ...
+      \ifnum\lastpenalty<10000 \penalty-50 \fi
+      \vskip\envskipamount
+    \fi
+  \fi
+}}
+
+\let\afterenvbreak = \aboveenvbreak
+
+% \nonarrowing is a flag.  If "set", @lisp etc don't narrow margins; it will
+% also clear it, so that its embedded environments do the narrowing again.
+\let\nonarrowing=\relax
+
+% @cartouche ... @end cartouche: draw rectangle w/rounded corners around
+% environment contents.
+\font\circle=lcircle10
+\newdimen\circthick
+\newdimen\cartouter\newdimen\cartinner
+\newskip\normbskip\newskip\normpskip\newskip\normlskip
+\circthick=\fontdimen8\circle
+%
+\def\ctl{{\circle\char'013\hskip -6pt}}% 6pt from pl file: 1/2charwidth
+\def\ctr{{\hskip 6pt\circle\char'010}}
+\def\cbl{{\circle\char'012\hskip -6pt}}
+\def\cbr{{\hskip 6pt\circle\char'011}}
+\def\carttop{\hbox to \cartouter{\hskip\lskip
+        \ctl\leaders\hrule height\circthick\hfil\ctr
+        \hskip\rskip}}
+\def\cartbot{\hbox to \cartouter{\hskip\lskip
+        \cbl\leaders\hrule height\circthick\hfil\cbr
+        \hskip\rskip}}
+%
+\newskip\lskip\newskip\rskip
+
+\envdef\cartouche{%
+  \ifhmode\par\fi  % can't be in the midst of a paragraph.
+  \startsavinginserts
+  \lskip=\leftskip \rskip=\rightskip
+  \leftskip=0pt\rightskip=0pt % we want these *outside*.
+  \cartinner=\hsize \advance\cartinner by-\lskip
+  \advance\cartinner by-\rskip
+  \cartouter=\hsize
+  \advance\cartouter by 18.4pt % allow for 3pt kerns on either
+                               % side, and for 6pt waste from
+                               % each corner char, and rule thickness
+  \normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip
+  % Flag to tell @lisp, etc., not to narrow margin.
+  \let\nonarrowing = t%
+  \vbox\bgroup
+      \baselineskip=0pt\parskip=0pt\lineskip=0pt
+      \carttop
+      \hbox\bgroup
+         \hskip\lskip
+         \vrule\kern3pt
+         \vbox\bgroup
+             \kern3pt
+             \hsize=\cartinner
+             \baselineskip=\normbskip
+             \lineskip=\normlskip
+             \parskip=\normpskip
+             \vskip -\parskip
+             \comment % For explanation, see the end of \def\group.
+}
+\def\Ecartouche{%
+              \ifhmode\par\fi
+             \kern3pt
+         \egroup
+         \kern3pt\vrule
+         \hskip\rskip
+      \egroup
+      \cartbot
+  \egroup
+  \checkinserts
+}
+
+
+% This macro is called at the beginning of all the @example variants,
+% inside a group.
+\def\nonfillstart{%
+  \aboveenvbreak
+  \hfuzz = 12pt % Don't be fussy
+  \sepspaces % Make spaces be word-separators rather than space tokens.
+  \let\par = \lisppar % don't ignore blank lines
+  \obeylines % each line of input is a line of output
+  \parskip = 0pt
+  \parindent = 0pt
+  \emergencystretch = 0pt % don't try to avoid overfull boxes
+  \ifx\nonarrowing\relax
+    \advance \leftskip by \lispnarrowing
+    \exdentamount=\lispnarrowing
+  \else
+    \let\nonarrowing = \relax
+  \fi
+  \let\exdent=\nofillexdent
+}
+
+% If you want all examples etc. small: @set dispenvsize small.
+% If you want even small examples the full size: @set dispenvsize nosmall.
+% This affects the following displayed environments:
+%    @example, @display, @format, @lisp
+%
+\def\smallword{small}
+\def\nosmallword{nosmall}
+\let\SETdispenvsize\relax
+\def\setnormaldispenv{%
+  \ifx\SETdispenvsize\smallword
+    \smallexamplefonts \rm
+  \fi
+}
+\def\setsmalldispenv{%
+  \ifx\SETdispenvsize\nosmallword
+  \else
+    \smallexamplefonts \rm
+  \fi
+}
+
+% We often define two environments, @foo and @smallfoo.
+% Let's do it by one command:
+\def\makedispenv #1#2{
+  \expandafter\envdef\csname#1\endcsname {\setnormaldispenv #2}
+  \expandafter\envdef\csname small#1\endcsname {\setsmalldispenv #2}
+  \expandafter\let\csname E#1\endcsname \afterenvbreak
+  \expandafter\let\csname Esmall#1\endcsname \afterenvbreak
+}
+
+% Define two synonyms:
+\def\maketwodispenvs #1#2#3{
+  \makedispenv{#1}{#3}
+  \makedispenv{#2}{#3}
+}
+
+% @lisp: indented, narrowed, typewriter font; @example: same as @lisp.
+%
+% @smallexample and @smalllisp: use smaller fonts.
+% Originally contributed by Pavel@xerox.
+%
+\maketwodispenvs {lisp}{example}{%
+  \nonfillstart
+  \tt
+  \let\kbdfont = \kbdexamplefont % Allow @kbd to do something special.
+  \gobble       % eat return
+}
+
+% @display/@smalldisplay: same as @lisp except keep current font.
+%
+\makedispenv {display}{%
+  \nonfillstart
+  \gobble
+}
+
+% @format/@smallformat: same as @display except don't narrow margins.
+%
+\makedispenv{format}{%
+  \let\nonarrowing = t%
+  \nonfillstart
+  \gobble
+}
+
+% @flushleft: same as @format, but doesn't obey \SETdispenvsize.
+\envdef\flushleft{%
+  \let\nonarrowing = t%
+  \nonfillstart
+  \gobble
+}
+\let\Eflushleft = \afterenvbreak
+
+% @flushright.
+%
+\envdef\flushright{%
+  \let\nonarrowing = t%
+  \nonfillstart
+  \advance\leftskip by 0pt plus 1fill
+  \gobble
+}
+\let\Eflushright = \afterenvbreak
+
+
+% @quotation does normal linebreaking (hence we can't use \nonfillstart)
+% and narrows the margins.  We keep \parskip nonzero in general, since
+% we're doing normal filling.  So, when using \aboveenvbreak and
+% \afterenvbreak, temporarily make \parskip 0.
+%
+\envdef\quotation{%
+  {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip
+  \parindent=0pt
+  %
+  % @cartouche defines \nonarrowing to inhibit narrowing at next level down.
+  \ifx\nonarrowing\relax
+    \advance\leftskip by \lispnarrowing
+    \advance\rightskip by \lispnarrowing
+    \exdentamount = \lispnarrowing
+  \else
+    \let\nonarrowing = \relax
+  \fi
+  \parsearg\quotationlabel
+}
+
+% We have retained a nonzero parskip for the environment, since we're
+% doing normal filling.
+%
+\def\Equotation{%
+  \par
+  \ifx\quotationauthor\undefined\else
+    % indent a bit.
+    \leftline{\kern 2\leftskip \sl ---\quotationauthor}%
+  \fi
+  {\parskip=0pt \afterenvbreak}%
+}
+
+% If we're given an argument, typeset it in bold with a colon after.
+\def\quotationlabel#1{%
+  \def\temp{#1}%
+  \ifx\temp\empty \else
+    {\bf #1: }%
+  \fi
+}
+
+
+% LaTeX-like @verbatim...@end verbatim and @verb{<char>...<char>}
+% If we want to allow any <char> as delimiter,
+% we need the curly braces so that makeinfo sees the @verb command, eg:
+% `@verbx...x' would look like the '@verbx' command.  --janneke@gnu.org
+%
+% [Knuth]: Donald Ervin Knuth, 1996.  The TeXbook.
+%
+% [Knuth] p.344; only we need to do the other characters Texinfo sets
+% active too.  Otherwise, they get lost as the first character on a
+% verbatim line.
+\def\dospecials{%
+  \do\ \do\\\do\{\do\}\do\$\do\&%
+  \do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~%
+  \do\<\do\>\do\|\do\@\do+\do\"%
+}
+%
+% [Knuth] p. 380
+\def\uncatcodespecials{%
+  \def\do##1{\catcode`##1=\other}\dospecials}
+%
+% [Knuth] pp. 380,381,391
+% Disable Spanish ligatures ?` and !` of \tt font
+\begingroup
+  \catcode`\`=\active\gdef`{\relax\lq}
+\endgroup
+%
+% Setup for the @verb command.
+%
+% Eight spaces for a tab
+\begingroup
+  \catcode`\^^I=\active
+  \gdef\tabeightspaces{\catcode`\^^I=\active\def^^I{\ \ \ \ \ \ \ \ }}
+\endgroup
+%
+\def\setupverb{%
+  \tt  % easiest (and conventionally used) font for verbatim
+  \def\par{\leavevmode\endgraf}%
+  \catcode`\`=\active
+  \tabeightspaces
+  % Respect line breaks,
+  % print special symbols as themselves, and
+  % make each space count
+  % must do in this order:
+  \obeylines \uncatcodespecials \sepspaces
+}
+
+% Setup for the @verbatim environment
+%
+% Real tab expansion
+\newdimen\tabw \setbox0=\hbox{\tt\space} \tabw=8\wd0 % tab amount
+%
+\def\starttabbox{\setbox0=\hbox\bgroup}
+\begingroup
+  \catcode`\^^I=\active
+  \gdef\tabexpand{%
+    \catcode`\^^I=\active
+    \def^^I{\leavevmode\egroup
+      \dimen0=\wd0 % the width so far, or since the previous tab
+      \divide\dimen0 by\tabw
+      \multiply\dimen0 by\tabw % compute previous multiple of \tabw
+      \advance\dimen0 by\tabw  % advance to next multiple of \tabw
+      \wd0=\dimen0 \box0 \starttabbox
+    }%
+  }
+\endgroup
+\def\setupverbatim{%
+  \let\nonarrowing = t%
+  \nonfillstart
+  % Easiest (and conventionally used) font for verbatim
+  \tt
+  \def\par{\leavevmode\egroup\box0\endgraf}%
+  \catcode`\`=\active
+  \tabexpand
+  % Respect line breaks,
+  % print special symbols as themselves, and
+  % make each space count
+  % must do in this order:
+  \obeylines \uncatcodespecials \sepspaces
+  \everypar{\starttabbox}%
+}
+
+% Do the @verb magic: verbatim text is quoted by unique
+% delimiter characters.  Before first delimiter expect a
+% right brace, after last delimiter expect closing brace:
+%
+%    \def\doverb'{'<char>#1<char>'}'{#1}
+%
+% [Knuth] p. 382; only eat outer {}
+\begingroup
+  \catcode`[=1\catcode`]=2\catcode`\{=\other\catcode`\}=\other
+  \gdef\doverb{#1[\def\next##1#1}[##1\endgroup]\next]
+\endgroup
+%
+\def\verb{\begingroup\setupverb\doverb}
+%
+%
+% Do the @verbatim magic: define the macro \doverbatim so that
+% the (first) argument ends when '@end verbatim' is reached, ie:
+%
+%     \def\doverbatim#1@end verbatim{#1}
+%
+% For Texinfo it's a lot easier than for LaTeX,
+% because texinfo's \verbatim doesn't stop at '\end{verbatim}':
+% we need not redefine '\', '{' and '}'.
+%
+% Inspired by LaTeX's verbatim command set [latex.ltx]
+%
+\begingroup
+  \catcode`\ =\active
+  \obeylines %
+  % ignore everything up to the first ^^M, that's the newline at the end
+  % of the @verbatim input line itself.  Otherwise we get an extra blank
+  % line in the output.
+  \xdef\doverbatim#1^^M#2@end verbatim{#2\noexpand\end\gobble verbatim}%
+  % We really want {...\end verbatim} in the body of the macro, but
+  % without the active space; thus we have to use \xdef and \gobble.
+\endgroup
+%
+\envdef\verbatim{%
+    \setupverbatim\doverbatim
+}
+\let\Everbatim = \afterenvbreak
+
+
+% @verbatiminclude FILE - insert text of file in verbatim environment.
+%
+\def\verbatiminclude{\parseargusing\filenamecatcodes\doverbatiminclude}
+%
+\def\doverbatiminclude#1{%
+  {%
+    \makevalueexpandable
+    \setupverbatim
+    \input #1
+    \afterenvbreak
+  }%
+}
+
+% @copying ... @end copying.
+% Save the text away for @insertcopying later.
+%
+% We save the uninterpreted tokens, rather than creating a box.
+% Saving the text in a box would be much easier, but then all the
+% typesetting commands (@smallbook, font changes, etc.) have to be done
+% beforehand -- and a) we want @copying to be done first in the source
+% file; b) letting users define the frontmatter in as flexible order as
+% possible is very desirable.
+%
+\def\copying{\checkenv{}\begingroup\scanargctxt\docopying}
+\def\docopying#1@end copying{\endgroup\def\copyingtext{#1}}
+%
+\def\insertcopying{%
+  \begingroup
+    \parindent = 0pt  % paragraph indentation looks wrong on title page
+    \scanexp\copyingtext
+  \endgroup
+}
+
+\message{defuns,}
+% @defun etc.
+
+\newskip\defbodyindent \defbodyindent=.4in
+\newskip\defargsindent \defargsindent=50pt
+\newskip\deflastargmargin \deflastargmargin=18pt
+
+% Start the processing of @deffn:
+\def\startdefun{%
+  \ifnum\lastpenalty<10000
+    \medbreak
+  \else
+    % If there are two @def commands in a row, we'll have a \nobreak,
+    % which is there to keep the function description together with its
+    % header.  But if there's nothing but headers, we need to allow a
+    % break somewhere.  Check specifically for penalty 10002, inserted
+    % by \defargscommonending, instead of 10000, since the sectioning
+    % commands also insert a nobreak penalty, and we don't want to allow
+    % a break between a section heading and a defun.
+    % 
+    \ifnum\lastpenalty=10002 \penalty2000 \fi
+    %
+    % Similarly, after a section heading, do not allow a break.
+    % But do insert the glue.
+    \medskip  % preceded by discardable penalty, so not a breakpoint
+  \fi
+  %
+  \parindent=0in
+  \advance\leftskip by \defbodyindent
+  \exdentamount=\defbodyindent
+}
+
+\def\dodefunx#1{%
+  % First, check whether we are in the right environment:
+  \checkenv#1%
+  %
+  % As above, allow line break if we have multiple x headers in a row.
+  % It's not a great place, though.
+  \ifnum\lastpenalty=10002 \penalty3000 \fi
+  %
+  % And now, it's time to reuse the body of the original defun:
+  \expandafter\gobbledefun#1%
+}
+\def\gobbledefun#1\startdefun{}
+
+% \printdefunline \deffnheader{text}
+%
+\def\printdefunline#1#2{%
+  \begingroup
+    % call \deffnheader:
+    #1#2 \endheader
+    % common ending:
+    \interlinepenalty = 10000
+    \advance\rightskip by 0pt plus 1fil
+    \endgraf
+    \nobreak\vskip -\parskip
+    \penalty 10002  % signal to \startdefun and \dodefunx
+    % Some of the @defun-type tags do not enable magic parentheses,
+    % rendering the following check redundant.  But we don't optimize.
+    \checkparencounts
+  \endgroup
+}
+
+\def\Edefun{\endgraf\medbreak}
+
+% \makedefun{deffn} creates \deffn, \deffnx and \Edeffn;
+% the only thing remainnig is to define \deffnheader.
+%
+\def\makedefun#1{%
+  \expandafter\let\csname E#1\endcsname = \Edefun
+  \edef\temp{\noexpand\domakedefun
+    \makecsname{#1}\makecsname{#1x}\makecsname{#1header}}%
+  \temp
+}
+
+% \domakedefun \deffn \deffnx \deffnheader
+%
+% Define \deffn and \deffnx, without parameters.
+% \deffnheader has to be defined explicitly.
+%
+\def\domakedefun#1#2#3{%
+  \envdef#1{%
+    \startdefun
+    \parseargusing\activeparens{\printdefunline#3}%
+  }%
+  \def#2{\dodefunx#1}%
+  \def#3%
+}
+
+%%% Untyped functions:
+
+% @deffn category name args
+\makedefun{deffn}{\deffngeneral{}}
+
+% @deffn category class name args
+\makedefun{defop}#1 {\defopon{#1\ \putwordon}}
+
+% \defopon {category on}class name args
+\def\defopon#1#2 {\deffngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} }
+
+% \deffngeneral {subind}category name args
+%
+\def\deffngeneral#1#2 #3 #4\endheader{%
+  % Remember that \dosubind{fn}{foo}{} is equivalent to \doind{fn}{foo}.
+  \dosubind{fn}{\code{#3}}{#1}%
+  \defname{#2}{}{#3}\magicamp\defunargs{#4\unskip}%
+}
+
+%%% Typed functions:
+
+% @deftypefn category type name args
+\makedefun{deftypefn}{\deftypefngeneral{}}
+
+% @deftypeop category class type name args
+\makedefun{deftypeop}#1 {\deftypeopon{#1\ \putwordon}}
+
+% \deftypeopon {category on}class type name args
+\def\deftypeopon#1#2 {\deftypefngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} }
+
+% \deftypefngeneral {subind}category type name args
+%
+\def\deftypefngeneral#1#2 #3 #4 #5\endheader{%
+  \dosubind{fn}{\code{#4}}{#1}%
+  \defname{#2}{#3}{#4}\defunargs{#5\unskip}%
+}
+
+%%% Typed variables:
+
+% @deftypevr category type var args
+\makedefun{deftypevr}{\deftypecvgeneral{}}
+
+% @deftypecv category class type var args
+\makedefun{deftypecv}#1 {\deftypecvof{#1\ \putwordof}}
+
+% \deftypecvof {category of}class type var args
+\def\deftypecvof#1#2 {\deftypecvgeneral{\putwordof\ \code{#2}}{#1\ \code{#2}} }
+
+% \deftypecvgeneral {subind}category type var args
+%
+\def\deftypecvgeneral#1#2 #3 #4 #5\endheader{%
+  \dosubind{vr}{\code{#4}}{#1}%
+  \defname{#2}{#3}{#4}\defunargs{#5\unskip}%
+}
+
+%%% Untyped variables:
+
+% @defvr category var args
+\makedefun{defvr}#1 {\deftypevrheader{#1} {} }
+
+% @defcv category class var args
+\makedefun{defcv}#1 {\defcvof{#1\ \putwordof}}
+
+% \defcvof {category of}class var args
+\def\defcvof#1#2 {\deftypecvof{#1}#2 {} }
+
+%%% Type:
+% @deftp category name args
+\makedefun{deftp}#1 #2 #3\endheader{%
+  \doind{tp}{\code{#2}}%
+  \defname{#1}{}{#2}\defunargs{#3\unskip}%
+}
+
+% Remaining @defun-like shortcuts:
+\makedefun{defun}{\deffnheader{\putwordDeffunc} }
+\makedefun{defmac}{\deffnheader{\putwordDefmac} }
+\makedefun{defspec}{\deffnheader{\putwordDefspec} }
+\makedefun{deftypefun}{\deftypefnheader{\putwordDeffunc} }
+\makedefun{defvar}{\defvrheader{\putwordDefvar} }
+\makedefun{defopt}{\defvrheader{\putwordDefopt} }
+\makedefun{deftypevar}{\deftypevrheader{\putwordDefvar} }
+\makedefun{defmethod}{\defopon\putwordMethodon}
+\makedefun{deftypemethod}{\deftypeopon\putwordMethodon}
+\makedefun{defivar}{\defcvof\putwordInstanceVariableof}
+\makedefun{deftypeivar}{\deftypecvof\putwordInstanceVariableof}
+
+% \defname, which formats the name of the @def (not the args).
+% #1 is the category, such as "Function".
+% #2 is the return type, if any.
+% #3 is the function name.
+%
+% We are followed by (but not passed) the arguments, if any.
+%
+\def\defname#1#2#3{%
+  % Get the values of \leftskip and \rightskip as they were outside the @def...
+  \advance\leftskip by -\defbodyindent
+  %
+  % How we'll format the type name.  Putting it in brackets helps
+  % distinguish it from the body text that may end up on the next line
+  % just below it.
+  \def\temp{#1}%
+  \setbox0=\hbox{\kern\deflastargmargin \ifx\temp\empty\else [\rm\temp]\fi}
+  %
+  % Figure out line sizes for the paragraph shape.
+  % The first line needs space for \box0; but if \rightskip is nonzero,
+  % we need only space for the part of \box0 which exceeds it:
+  \dimen0=\hsize  \advance\dimen0 by -\wd0  \advance\dimen0 by \rightskip
+  % The continuations:
+  \dimen2=\hsize  \advance\dimen2 by -\defargsindent
+  % (plain.tex says that \dimen1 should be used only as global.)
+  \parshape 2 0in \dimen0 \defargsindent \dimen2
+  %
+  % Put the type name to the right margin.
+  \noindent
+  \hbox to 0pt{%
+    \hfil\box0 \kern-\hsize
+    % \hsize has to be shortened this way:
+    \kern\leftskip
+    % Intentionally do not respect \rightskip, since we need the space.
+  }%
+  %
+  % Allow all lines to be underfull without complaint:
+  \tolerance=10000 \hbadness=10000
+  \exdentamount=\defbodyindent
+  {%
+    % defun fonts. We use typewriter by default (used to be bold) because:
+    % . we're printing identifiers, they should be in tt in principle.
+    % . in languages with many accents, such as Czech or French, it's
+    %   common to leave accents off identifiers.  The result looks ok in
+    %   tt, but exceedingly strange in rm.
+    % . we don't want -- and --- to be treated as ligatures.
+    % . this still does not fix the ?` and !` ligatures, but so far no
+    %   one has made identifiers using them :).
+    \df \tt
+    \def\temp{#2}% return value type
+    \ifx\temp\empty\else \tclose{\temp} \fi
+    #3% output function name
+  }%
+  {\rm\enskip}% hskip 0.5 em of \tenrm
+  %
+  \boldbrax
+  % arguments will be output next, if any.
+}
+
+% Print arguments in slanted roman (not ttsl), inconsistently with using
+% tt for the name.  This is because literal text is sometimes needed in
+% the argument list (groff manual), and ttsl and tt are not very
+% distinguishable.  Prevent hyphenation at `-' chars.
+%
+\def\defunargs#1{%
+  % use sl by default (not ttsl),
+  % tt for the names.
+  \df \sl \hyphenchar\font=0
+  %
+  % On the other hand, if an argument has two dashes (for instance), we
+  % want a way to get ttsl.  Let's try @var for that.
+  \let\var=\ttslanted
+  #1%
+  \sl\hyphenchar\font=45
+}
+
+% We want ()&[] to print specially on the defun line.
+%
+\def\activeparens{%
+  \catcode`\(=\active \catcode`\)=\active
+  \catcode`\[=\active \catcode`\]=\active
+  \catcode`\&=\active
+}
+
+% Make control sequences which act like normal parenthesis chars.
+\let\lparen = ( \let\rparen = )
+
+% Be sure that we always have a definition for `(', etc.  For example,
+% if the fn name has parens in it, \boldbrax will not be in effect yet,
+% so TeX would otherwise complain about undefined control sequence.
+{
+  \activeparens
+  \global\let(=\lparen \global\let)=\rparen
+  \global\let[=\lbrack \global\let]=\rbrack
+  \global\let& = \&
+
+  \gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb}
+  \gdef\magicamp{\let&=\amprm}
+}
+
+\newcount\parencount
+
+% If we encounter &foo, then turn on ()-hacking afterwards
+\newif\ifampseen
+\def\amprm#1 {\ampseentrue{\bf\&#1 }}
+
+\def\parenfont{%
+  \ifampseen
+    % At the first level, print parens in roman,
+    % otherwise use the default font.
+    \ifnum \parencount=1 \rm \fi
+  \else
+    % The \sf parens (in \boldbrax) actually are a little bolder than
+    % the contained text.  This is especially needed for [ and ] .
+    \sf
+  \fi
+}
+\def\infirstlevel#1{%
+  \ifampseen
+    \ifnum\parencount=1
+      #1%
+    \fi
+  \fi
+}
+\def\bfafterword#1 {#1 \bf}
+
+\def\opnr{%
+  \global\advance\parencount by 1
+  {\parenfont(}%
+  \infirstlevel \bfafterword
+}
+\def\clnr{%
+  {\parenfont)}%
+  \infirstlevel \sl
+  \global\advance\parencount by -1
+}
+
+\newcount\brackcount
+\def\lbrb{%
+  \global\advance\brackcount by 1
+  {\bf[}%
+}
+\def\rbrb{%
+  {\bf]}%
+  \global\advance\brackcount by -1
+}
+
+\def\checkparencounts{%
+  \ifnum\parencount=0 \else \badparencount \fi
+  \ifnum\brackcount=0 \else \badbrackcount \fi
+}
+\def\badparencount{%
+  \errmessage{Unbalanced parentheses in @def}%
+  \global\parencount=0
+}
+\def\badbrackcount{%
+  \errmessage{Unbalanced square braces in @def}%
+  \global\brackcount=0
+}
+
+
+\message{macros,}
+% @macro.
+
+% To do this right we need a feature of e-TeX, \scantokens,
+% which we arrange to emulate with a temporary file in ordinary TeX.
+\ifx\eTeXversion\undefined
+  \newwrite\macscribble
+  \def\scantokens#1{%
+    \toks0={#1}%
+    \immediate\openout\macscribble=\jobname.tmp
+    \immediate\write\macscribble{\the\toks0}%
+    \immediate\closeout\macscribble
+    \input \jobname.tmp
+  }
+\fi
+
+\def\scanmacro#1{%
+  \begingroup
+    \newlinechar`\^^M
+    \let\xeatspaces\eatspaces
+    % Undo catcode changes of \startcontents and \doprintindex
+    % When called from @insertcopying or (short)caption, we need active
+    % backslash to get it printed correctly.  Previously, we had
+    % \catcode`\\=\other instead.  We'll see whether a problem appears
+    % with macro expansion.                            --kasal, 19aug04
+    \catcode`\@=0 \catcode`\\=\active \escapechar=`\@
+    % ... and \example
+    \spaceisspace
+    %
+    % Append \endinput to make sure that TeX does not see the ending newline.
+    %
+    % I've verified that it is necessary both for e-TeX and for ordinary TeX
+    %                                                  --kasal, 29nov03
+    \scantokens{#1\endinput}%
+  \endgroup
+}
+
+\def\scanexp#1{%
+  \edef\temp{\noexpand\scanmacro{#1}}%
+  \temp
+}
+
+\newcount\paramno   % Count of parameters
+\newtoks\macname    % Macro name
+\newif\ifrecursive  % Is it recursive?
+
+% List of all defined macros in the form
+%    \definedummyword\macro1\definedummyword\macro2...
+% Currently is also contains all @aliases; the list can be split
+% if there is a need.
+\def\macrolist{}
+
+% Add the macro to \macrolist
+\def\addtomacrolist#1{\expandafter \addtomacrolistxxx \csname#1\endcsname}
+\def\addtomacrolistxxx#1{%
+     \toks0 = \expandafter{\macrolist\definedummyword#1}%
+     \xdef\macrolist{\the\toks0}%
+}
+
+% Utility routines.
+% This does \let #1 = #2, with \csnames; that is,
+%   \let \csname#1\endcsname = \csname#2\endcsname
+% (except of course we have to play expansion games).
+% 
+\def\cslet#1#2{%
+  \expandafter\let
+  \csname#1\expandafter\endcsname
+  \csname#2\endcsname
+}
+
+% Trim leading and trailing spaces off a string.
+% Concepts from aro-bend problem 15 (see CTAN).
+{\catcode`\@=11
+\gdef\eatspaces #1{\expandafter\trim@\expandafter{#1 }}
+\gdef\trim@ #1{\trim@@ @#1 @ #1 @ @@}
+\gdef\trim@@ #1@ #2@ #3@@{\trim@@@\empty #2 @}
+\def\unbrace#1{#1}
+\unbrace{\gdef\trim@@@ #1 } #2@{#1}
+}
+
+% Trim a single trailing ^^M off a string.
+{\catcode`\^^M=\other \catcode`\Q=3%
+\gdef\eatcr #1{\eatcra #1Q^^MQ}%
+\gdef\eatcra#1^^MQ{\eatcrb#1Q}%
+\gdef\eatcrb#1Q#2Q{#1}%
+}
+
+% Macro bodies are absorbed as an argument in a context where
+% all characters are catcode 10, 11 or 12, except \ which is active
+% (as in normal texinfo). It is necessary to change the definition of \.
+
+% It's necessary to have hard CRs when the macro is executed. This is
+% done by  making ^^M (\endlinechar) catcode 12 when reading the macro
+% body, and then making it the \newlinechar in \scanmacro.
+
+\def\scanctxt{%
+  \catcode`\"=\other
+  \catcode`\+=\other
+  \catcode`\<=\other
+  \catcode`\>=\other
+  \catcode`\@=\other
+  \catcode`\^=\other
+  \catcode`\_=\other
+  \catcode`\|=\other
+  \catcode`\~=\other
+}
+
+\def\scanargctxt{%
+  \scanctxt
+  \catcode`\\=\other
+  \catcode`\^^M=\other
+}
+
+\def\macrobodyctxt{%
+  \scanctxt
+  \catcode`\{=\other
+  \catcode`\}=\other
+  \catcode`\^^M=\other
+  \usembodybackslash
+}
+
+\def\macroargctxt{%
+  \scanctxt
+  \catcode`\\=\other
+}
+
+% \mbodybackslash is the definition of \ in @macro bodies.
+% It maps \foo\ => \csname macarg.foo\endcsname => #N
+% where N is the macro parameter number.
+% We define \csname macarg.\endcsname to be \realbackslash, so
+% \\ in macro replacement text gets you a backslash.
+
+{\catcode`@=0 @catcode`@\=@active
+ @gdef@usembodybackslash{@let\=@mbodybackslash}
+ @gdef@mbodybackslash#1\{@csname macarg.#1@endcsname}
+}
+\expandafter\def\csname macarg.\endcsname{\realbackslash}
+
+\def\macro{\recursivefalse\parsearg\macroxxx}
+\def\rmacro{\recursivetrue\parsearg\macroxxx}
+
+\def\macroxxx#1{%
+  \getargs{#1}%           now \macname is the macname and \argl the arglist
+  \ifx\argl\empty       % no arguments
+     \paramno=0%
+  \else
+     \expandafter\parsemargdef \argl;%
+  \fi
+  \if1\csname ismacro.\the\macname\endcsname
+     \message{Warning: redefining \the\macname}%
+  \else
+     \expandafter\ifx\csname \the\macname\endcsname \relax
+     \else \errmessage{Macro name \the\macname\space already defined}\fi
+     \global\cslet{macsave.\the\macname}{\the\macname}%
+     \global\expandafter\let\csname ismacro.\the\macname\endcsname=1%
+     \addtomacrolist{\the\macname}%
+  \fi
+  \begingroup \macrobodyctxt
+  \ifrecursive \expandafter\parsermacbody
+  \else \expandafter\parsemacbody
+  \fi}
+
+\parseargdef\unmacro{%
+  \if1\csname ismacro.#1\endcsname
+    \global\cslet{#1}{macsave.#1}%
+    \global\expandafter\let \csname ismacro.#1\endcsname=0%
+    % Remove the macro name from \macrolist:
+    \begingroup
+      \expandafter\let\csname#1\endcsname \relax
+      \let\definedummyword\unmacrodo
+      \xdef\macrolist{\macrolist}%
+    \endgroup
+  \else
+    \errmessage{Macro #1 not defined}%
+  \fi
+}
+
+% Called by \do from \dounmacro on each macro.  The idea is to omit any
+% macro definitions that have been changed to \relax.
+%
+\def\unmacrodo#1{%
+  \ifx #1\relax
+    % remove this
+  \else
+    \noexpand\definedummyword \noexpand#1%
+  \fi
+}
+
+% This makes use of the obscure feature that if the last token of a
+% <parameter list> is #, then the preceding argument is delimited by
+% an opening brace, and that opening brace is not consumed.
+\def\getargs#1{\getargsxxx#1{}}
+\def\getargsxxx#1#{\getmacname #1 \relax\getmacargs}
+\def\getmacname #1 #2\relax{\macname={#1}}
+\def\getmacargs#1{\def\argl{#1}}
+
+% Parse the optional {params} list.  Set up \paramno and \paramlist
+% so \defmacro knows what to do.  Define \macarg.blah for each blah
+% in the params list, to be ##N where N is the position in that list.
+% That gets used by \mbodybackslash (above).
+
+% We need to get `macro parameter char #' into several definitions.
+% The technique used is stolen from LaTeX:  let \hash be something
+% unexpandable, insert that wherever you need a #, and then redefine
+% it to # just before using the token list produced.
+%
+% The same technique is used to protect \eatspaces till just before
+% the macro is used.
+
+\def\parsemargdef#1;{\paramno=0\def\paramlist{}%
+        \let\hash\relax\let\xeatspaces\relax\parsemargdefxxx#1,;,}
+\def\parsemargdefxxx#1,{%
+  \if#1;\let\next=\relax
+  \else \let\next=\parsemargdefxxx
+    \advance\paramno by 1%
+    \expandafter\edef\csname macarg.\eatspaces{#1}\endcsname
+        {\xeatspaces{\hash\the\paramno}}%
+    \edef\paramlist{\paramlist\hash\the\paramno,}%
+  \fi\next}
+
+% These two commands read recursive and nonrecursive macro bodies.
+% (They're different since rec and nonrec macros end differently.)
+
+\long\def\parsemacbody#1@end macro%
+{\xdef\temp{\eatcr{#1}}\endgroup\defmacro}%
+\long\def\parsermacbody#1@end rmacro%
+{\xdef\temp{\eatcr{#1}}\endgroup\defmacro}%
+
+% This defines the macro itself. There are six cases: recursive and
+% nonrecursive macros of zero, one, and many arguments.
+% Much magic with \expandafter here.
+% \xdef is used so that macro definitions will survive the file
+% they're defined in; @include reads the file inside a group.
+\def\defmacro{%
+  \let\hash=##% convert placeholders to macro parameter chars
+  \ifrecursive
+    \ifcase\paramno
+    % 0
+      \expandafter\xdef\csname\the\macname\endcsname{%
+        \noexpand\scanmacro{\temp}}%
+    \or % 1
+      \expandafter\xdef\csname\the\macname\endcsname{%
+         \bgroup\noexpand\macroargctxt
+         \noexpand\braceorline
+         \expandafter\noexpand\csname\the\macname xxx\endcsname}%
+      \expandafter\xdef\csname\the\macname xxx\endcsname##1{%
+         \egroup\noexpand\scanmacro{\temp}}%
+    \else % many
+      \expandafter\xdef\csname\the\macname\endcsname{%
+         \bgroup\noexpand\macroargctxt
+         \noexpand\csname\the\macname xx\endcsname}%
+      \expandafter\xdef\csname\the\macname xx\endcsname##1{%
+          \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
+      \expandafter\expandafter
+      \expandafter\xdef
+      \expandafter\expandafter
+        \csname\the\macname xxx\endcsname
+          \paramlist{\egroup\noexpand\scanmacro{\temp}}%
+    \fi
+  \else
+    \ifcase\paramno
+    % 0
+      \expandafter\xdef\csname\the\macname\endcsname{%
+        \noexpand\norecurse{\the\macname}%
+        \noexpand\scanmacro{\temp}\egroup}%
+    \or % 1
+      \expandafter\xdef\csname\the\macname\endcsname{%
+         \bgroup\noexpand\macroargctxt
+         \noexpand\braceorline
+         \expandafter\noexpand\csname\the\macname xxx\endcsname}%
+      \expandafter\xdef\csname\the\macname xxx\endcsname##1{%
+        \egroup
+        \noexpand\norecurse{\the\macname}%
+        \noexpand\scanmacro{\temp}\egroup}%
+    \else % many
+      \expandafter\xdef\csname\the\macname\endcsname{%
+         \bgroup\noexpand\macroargctxt
+         \expandafter\noexpand\csname\the\macname xx\endcsname}%
+      \expandafter\xdef\csname\the\macname xx\endcsname##1{%
+          \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
+      \expandafter\expandafter
+      \expandafter\xdef
+      \expandafter\expandafter
+      \csname\the\macname xxx\endcsname
+      \paramlist{%
+          \egroup
+          \noexpand\norecurse{\the\macname}%
+          \noexpand\scanmacro{\temp}\egroup}%
+    \fi
+  \fi}
+
+\def\norecurse#1{\bgroup\cslet{#1}{macsave.#1}}
+
+% \braceorline decides whether the next nonwhitespace character is a
+% {.  If so it reads up to the closing }, if not, it reads the whole
+% line.  Whatever was read is then fed to the next control sequence
+% as an argument (by \parsebrace or \parsearg)
+\def\braceorline#1{\let\next=#1\futurelet\nchar\braceorlinexxx}
+\def\braceorlinexxx{%
+  \ifx\nchar\bgroup\else
+    \expandafter\parsearg
+  \fi \next}
+
+
+% @alias.
+% We need some trickery to remove the optional spaces around the equal
+% sign.  Just make them active and then expand them all to nothing.
+\def\alias{\parseargusing\obeyspaces\aliasxxx}
+\def\aliasxxx #1{\aliasyyy#1\relax}
+\def\aliasyyy #1=#2\relax{%
+  {%
+    \expandafter\let\obeyedspace=\empty
+    \addtomacrolist{#1}%
+    \xdef\next{\global\let\makecsname{#1}=\makecsname{#2}}%
+  }%
+  \next
+}
+
+
+\message{cross references,}
+
+\newwrite\auxfile
+
+\newif\ifhavexrefs    % True if xref values are known.
+\newif\ifwarnedxrefs  % True if we warned once that they aren't known.
+
+% @inforef is relatively simple.
+\def\inforef #1{\inforefzzz #1,,,,**}
+\def\inforefzzz #1,#2,#3,#4**{\putwordSee{} \putwordInfo{} \putwordfile{} \file{\ignorespaces #3{}},
+  node \samp{\ignorespaces#1{}}}
+
+% @node's only job in TeX is to define \lastnode, which is used in
+% cross-references.  The @node line might or might not have commas, and
+% might or might not have spaces before the first comma, like:
+% @node foo , bar , ...
+% We don't want such trailing spaces in the node name.
+%
+\parseargdef\node{\checkenv{}\donode #1 ,\finishnodeparse}
+%
+% also remove a trailing comma, in case of something like this:
+% @node Help-Cross,  ,  , Cross-refs
+\def\donode#1 ,#2\finishnodeparse{\dodonode #1,\finishnodeparse}
+\def\dodonode#1,#2\finishnodeparse{\gdef\lastnode{#1}}
+
+\let\nwnode=\node
+\let\lastnode=\empty
+
+% Write a cross-reference definition for the current node.  #1 is the
+% type (Ynumbered, Yappendix, Ynothing).
+%
+\def\donoderef#1{%
+  \ifx\lastnode\empty\else
+    \setref{\lastnode}{#1}%
+    \global\let\lastnode=\empty
+  \fi
+}
+
+% @anchor{NAME} -- define xref target at arbitrary point.
+%
+\newcount\savesfregister
+%
+\def\savesf{\relax \ifhmode \savesfregister=\spacefactor \fi}
+\def\restoresf{\relax \ifhmode \spacefactor=\savesfregister \fi}
+\def\anchor#1{\savesf \setref{#1}{Ynothing}\restoresf \ignorespaces}
+
+% \setref{NAME}{SNT} defines a cross-reference point NAME (a node or an
+% anchor), which consists of three parts:
+% 1) NAME-title - the current sectioning name taken from \thissection,
+%                 or the anchor name.
+% 2) NAME-snt   - section number and type, passed as the SNT arg, or
+%                 empty for anchors.
+% 3) NAME-pg    - the page number.
+%
+% This is called from \donoderef, \anchor, and \dofloat.  In the case of
+% floats, there is an additional part, which is not written here:
+% 4) NAME-lof   - the text as it should appear in a @listoffloats.
+%
+\def\setref#1#2{%
+  \pdfmkdest{#1}%
+  \iflinks
+    {%
+      \atdummies  % preserve commands, but don't expand them
+      \edef\writexrdef##1##2{%
+       \write\auxfile{@xrdef{#1-% #1 of \setref, expanded by the \edef
+         ##1}{##2}}% these are parameters of \writexrdef
+      }%
+      \toks0 = \expandafter{\thissection}%
+      \immediate \writexrdef{title}{\the\toks0 }%
+      \immediate \writexrdef{snt}{\csname #2\endcsname}% \Ynumbered etc.
+      \writexrdef{pg}{\folio}% will be written later, during \shipout
+    }%
+  \fi
+}
+
+% @xref, @pxref, and @ref generate cross-references.  For \xrefX, #1 is
+% the node name, #2 the name of the Info cross-reference, #3 the printed
+% node name, #4 the name of the Info file, #5 the name of the printed
+% manual.  All but the node name can be omitted.
+%
+\def\pxref#1{\putwordsee{} \xrefX[#1,,,,,,,]}
+\def\xref#1{\putwordSee{} \xrefX[#1,,,,,,,]}
+\def\ref#1{\xrefX[#1,,,,,,,]}
+\def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup
+  \unsepspaces
+  \def\printedmanual{\ignorespaces #5}%
+  \def\printedrefname{\ignorespaces #3}%
+  \setbox1=\hbox{\printedmanual\unskip}%
+  \setbox0=\hbox{\printedrefname\unskip}%
+  \ifdim \wd0 = 0pt
+    % No printed node name was explicitly given.
+    \expandafter\ifx\csname SETxref-automatic-section-title\endcsname\relax
+      % Use the node name inside the square brackets.
+      \def\printedrefname{\ignorespaces #1}%
+    \else
+      % Use the actual chapter/section title appear inside
+      % the square brackets.  Use the real section title if we have it.
+      \ifdim \wd1 > 0pt
+        % It is in another manual, so we don't have it.
+        \def\printedrefname{\ignorespaces #1}%
+      \else
+        \ifhavexrefs
+          % We know the real title if we have the xref values.
+          \def\printedrefname{\refx{#1-title}{}}%
+        \else
+          % Otherwise just copy the Info node name.
+          \def\printedrefname{\ignorespaces #1}%
+        \fi%
+      \fi
+    \fi
+  \fi
+  %
+  % Make link in pdf output.
+  \ifpdf
+    \leavevmode
+    \getfilename{#4}%
+    {\turnoffactive
+     % See comments at \activebackslashdouble.
+     {\activebackslashdouble \xdef\pdfxrefdest{#1}%
+      \backslashparens\pdfxrefdest}%
+     %
+     \ifnum\filenamelength>0
+       \startlink attr{/Border [0 0 0]}%
+         goto file{\the\filename.pdf} name{\pdfxrefdest}%
+     \else
+       \startlink attr{/Border [0 0 0]}%
+         goto name{\pdfmkpgn{\pdfxrefdest}}%
+     \fi
+    }%
+    \linkcolor
+  \fi
+  %
+  % Float references are printed completely differently: "Figure 1.2"
+  % instead of "[somenode], p.3".  We distinguish them by the
+  % LABEL-title being set to a magic string.
+  {%
+    % Have to otherify everything special to allow the \csname to
+    % include an _ in the xref name, etc.
+    \indexnofonts
+    \turnoffactive
+    \expandafter\global\expandafter\let\expandafter\Xthisreftitle
+      \csname XR#1-title\endcsname
+  }%
+  \iffloat\Xthisreftitle
+    % If the user specified the print name (third arg) to the ref,
+    % print it instead of our usual "Figure 1.2".
+    \ifdim\wd0 = 0pt
+      \refx{#1-snt}%
+    \else
+      \printedrefname
+    \fi
+    %
+    % if the user also gave the printed manual name (fifth arg), append
+    % "in MANUALNAME".
+    \ifdim \wd1 > 0pt
+      \space \putwordin{} \cite{\printedmanual}%
+    \fi
+  \else
+    % node/anchor (non-float) references.
+    %
+    % If we use \unhbox0 and \unhbox1 to print the node names, TeX does not
+    % insert empty discretionaries after hyphens, which means that it will
+    % not find a line break at a hyphen in a node names.  Since some manuals
+    % are best written with fairly long node names, containing hyphens, this
+    % is a loss.  Therefore, we give the text of the node name again, so it
+    % is as if TeX is seeing it for the first time.
+    \ifdim \wd1 > 0pt
+      \putwordsection{} ``\printedrefname'' \putwordin{} \cite{\printedmanual}%
+    \else
+      % _ (for example) has to be the character _ for the purposes of the
+      % control sequence corresponding to the node, but it has to expand
+      % into the usual \leavevmode...\vrule stuff for purposes of
+      % printing. So we \turnoffactive for the \refx-snt, back on for the
+      % printing, back off for the \refx-pg.
+      {\turnoffactive
+       % Only output a following space if the -snt ref is nonempty; for
+       % @unnumbered and @anchor, it won't be.
+       \setbox2 = \hbox{\ignorespaces \refx{#1-snt}{}}%
+       \ifdim \wd2 > 0pt \refx{#1-snt}\space\fi
+      }%
+      % output the `[mynode]' via a macro so it can be overridden.
+      \xrefprintnodename\printedrefname
+      %
+      % But we always want a comma and a space:
+      ,\space
+      %
+      % output the `page 3'.
+      \turnoffactive \putwordpage\tie\refx{#1-pg}{}%
+    \fi
+  \fi
+  \endlink
+\endgroup}
+
+% This macro is called from \xrefX for the `[nodename]' part of xref
+% output.  It's a separate macro only so it can be changed more easily,
+% since square brackets don't work well in some documents.  Particularly
+% one that Bob is working on :).
+%
+\def\xrefprintnodename#1{[#1]}
+
+% Things referred to by \setref.
+%
+\def\Ynothing{}
+\def\Yomitfromtoc{}
+\def\Ynumbered{%
+  \ifnum\secno=0
+    \putwordChapter@tie \the\chapno
+  \else \ifnum\subsecno=0
+    \putwordSection@tie \the\chapno.\the\secno
+  \else \ifnum\subsubsecno=0
+    \putwordSection@tie \the\chapno.\the\secno.\the\subsecno
+  \else
+    \putwordSection@tie \the\chapno.\the\secno.\the\subsecno.\the\subsubsecno
+  \fi\fi\fi
+}
+\def\Yappendix{%
+  \ifnum\secno=0
+     \putwordAppendix@tie @char\the\appendixno{}%
+  \else \ifnum\subsecno=0
+     \putwordSection@tie @char\the\appendixno.\the\secno
+  \else \ifnum\subsubsecno=0
+    \putwordSection@tie @char\the\appendixno.\the\secno.\the\subsecno
+  \else
+    \putwordSection@tie
+      @char\the\appendixno.\the\secno.\the\subsecno.\the\subsubsecno
+  \fi\fi\fi
+}
+
+% Define \refx{NAME}{SUFFIX} to reference a cross-reference string named NAME.
+% If its value is nonempty, SUFFIX is output afterward.
+%
+\def\refx#1#2{%
+  {%
+    \indexnofonts
+    \otherbackslash
+    \expandafter\global\expandafter\let\expandafter\thisrefX
+      \csname XR#1\endcsname
+  }%
+  \ifx\thisrefX\relax
+    % If not defined, say something at least.
+    \angleleft un\-de\-fined\angleright
+    \iflinks
+      \ifhavexrefs
+        \message{\linenumber Undefined cross reference `#1'.}%
+      \else
+        \ifwarnedxrefs\else
+          \global\warnedxrefstrue
+          \message{Cross reference values unknown; you must run TeX again.}%
+        \fi
+      \fi
+    \fi
+  \else
+    % It's defined, so just use it.
+    \thisrefX
+  \fi
+  #2% Output the suffix in any case.
+}
+
+% This is the macro invoked by entries in the aux file.  Usually it's
+% just a \def (we prepend XR to the control sequence name to avoid
+% collisions).  But if this is a float type, we have more work to do.
+%
+\def\xrdef#1#2{%
+  \expandafter\gdef\csname XR#1\endcsname{#2}% remember this xref value.
+  %
+  % Was that xref control sequence that we just defined for a float?
+  \expandafter\iffloat\csname XR#1\endcsname
+    % it was a float, and we have the (safe) float type in \iffloattype.
+    \expandafter\let\expandafter\floatlist
+      \csname floatlist\iffloattype\endcsname
+    %
+    % Is this the first time we've seen this float type?
+    \expandafter\ifx\floatlist\relax
+      \toks0 = {\do}% yes, so just \do
+    \else
+      % had it before, so preserve previous elements in list.
+      \toks0 = \expandafter{\floatlist\do}%
+    \fi
+    %
+    % Remember this xref in the control sequence \floatlistFLOATTYPE,
+    % for later use in \listoffloats.
+    \expandafter\xdef\csname floatlist\iffloattype\endcsname{\the\toks0{#1}}%
+  \fi
+}
+
+% Read the last existing aux file, if any.  No error if none exists.
+%
+\def\tryauxfile{%
+  \openin 1 \jobname.aux
+  \ifeof 1 \else
+    \readdatafile{aux}%
+    \global\havexrefstrue
+  \fi
+  \closein 1
+}
+
+\def\setupdatafile{%
+  \catcode`\^^@=\other
+  \catcode`\^^A=\other
+  \catcode`\^^B=\other
+  \catcode`\^^C=\other
+  \catcode`\^^D=\other
+  \catcode`\^^E=\other
+  \catcode`\^^F=\other
+  \catcode`\^^G=\other
+  \catcode`\^^H=\other
+  \catcode`\^^K=\other
+  \catcode`\^^L=\other
+  \catcode`\^^N=\other
+  \catcode`\^^P=\other
+  \catcode`\^^Q=\other
+  \catcode`\^^R=\other
+  \catcode`\^^S=\other
+  \catcode`\^^T=\other
+  \catcode`\^^U=\other
+  \catcode`\^^V=\other
+  \catcode`\^^W=\other
+  \catcode`\^^X=\other
+  \catcode`\^^Z=\other
+  \catcode`\^^[=\other
+  \catcode`\^^\=\other
+  \catcode`\^^]=\other
+  \catcode`\^^^=\other
+  \catcode`\^^_=\other
+  % It was suggested to set the catcode of ^ to 7, which would allow ^^e4 etc.
+  % in xref tags, i.e., node names.  But since ^^e4 notation isn't
+  % supported in the main text, it doesn't seem desirable.  Furthermore,
+  % that is not enough: for node names that actually contain a ^
+  % character, we would end up writing a line like this: 'xrdef {'hat
+  % b-title}{'hat b} and \xrdef does a \csname...\endcsname on the first
+  % argument, and \hat is not an expandable control sequence.  It could
+  % all be worked out, but why?  Either we support ^^ or we don't.
+  %
+  % The other change necessary for this was to define \auxhat:
+  % \def\auxhat{\def^{'hat }}% extra space so ok if followed by letter
+  % and then to call \auxhat in \setq.
+  %
+  \catcode`\^=\other
+  %
+  % Special characters.  Should be turned off anyway, but...
+  \catcode`\~=\other
+  \catcode`\[=\other
+  \catcode`\]=\other
+  \catcode`\"=\other
+  \catcode`\_=\other
+  \catcode`\|=\other
+  \catcode`\<=\other
+  \catcode`\>=\other
+  \catcode`\$=\other
+  \catcode`\#=\other
+  \catcode`\&=\other
+  \catcode`\%=\other
+  \catcode`+=\other % avoid \+ for paranoia even though we've turned it off
+  %
+  % This is to support \ in node names and titles, since the \
+  % characters end up in a \csname.  It's easier than
+  % leaving it active and making its active definition an actual \
+  % character.  What I don't understand is why it works in the *value*
+  % of the xrdef.  Seems like it should be a catcode12 \, and that
+  % should not typeset properly.  But it works, so I'm moving on for
+  % now.  --karl, 15jan04.
+  \catcode`\\=\other
+  %
+  % Make the characters 128-255 be printing characters.
+  {%
+    \count1=128
+    \def\loop{%
+      \catcode\count1=\other
+      \advance\count1 by 1
+      \ifnum \count1<256 \loop \fi
+    }%
+  }%
+  %
+  % @ is our escape character in .aux files, and we need braces.
+  \catcode`\{=1
+  \catcode`\}=2
+  \catcode`\@=0
+}
+
+\def\readdatafile#1{%
+\begingroup
+  \setupdatafile
+  \input\jobname.#1
+\endgroup}
+
+\message{insertions,}
+% including footnotes.
+
+\newcount \footnoteno
+
+% The trailing space in the following definition for supereject is
+% vital for proper filling; pages come out unaligned when you do a
+% pagealignmacro call if that space before the closing brace is
+% removed. (Generally, numeric constants should always be followed by a
+% space to prevent strange expansion errors.)
+\def\supereject{\par\penalty -20000\footnoteno =0 }
+
+% @footnotestyle is meaningful for info output only.
+\let\footnotestyle=\comment
+
+{\catcode `\@=11
+%
+% Auto-number footnotes.  Otherwise like plain.
+\gdef\footnote{%
+  \let\indent=\ptexindent
+  \let\noindent=\ptexnoindent
+  \global\advance\footnoteno by \@ne
+  \edef\thisfootno{$^{\the\footnoteno}$}%
+  %
+  % In case the footnote comes at the end of a sentence, preserve the
+  % extra spacing after we do the footnote number.
+  \let\@sf\empty
+  \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\ptexslash\fi
+  %
+  % Remove inadvertent blank space before typesetting the footnote number.
+  \unskip
+  \thisfootno\@sf
+  \dofootnote
+}%
+
+% Don't bother with the trickery in plain.tex to not require the
+% footnote text as a parameter.  Our footnotes don't need to be so general.
+%
+% Oh yes, they do; otherwise, @ifset (and anything else that uses
+% \parseargline) fails inside footnotes because the tokens are fixed when
+% the footnote is read.  --karl, 16nov96.
+%
+\gdef\dofootnote{%
+  \insert\footins\bgroup
+  % We want to typeset this text as a normal paragraph, even if the
+  % footnote reference occurs in (for example) a display environment.
+  % So reset some parameters.
+  \hsize=\pagewidth
+  \interlinepenalty\interfootnotelinepenalty
+  \splittopskip\ht\strutbox % top baseline for broken footnotes
+  \splitmaxdepth\dp\strutbox
+  \floatingpenalty\@MM
+  \leftskip\z@skip
+  \rightskip\z@skip
+  \spaceskip\z@skip
+  \xspaceskip\z@skip
+  \parindent\defaultparindent
+  %
+  \smallfonts \rm
+  %
+  % Because we use hanging indentation in footnotes, a @noindent appears
+  % to exdent this text, so make it be a no-op.  makeinfo does not use
+  % hanging indentation so @noindent can still be needed within footnote
+  % text after an @example or the like (not that this is good style).
+  \let\noindent = \relax
+  %
+  % Hang the footnote text off the number.  Use \everypar in case the
+  % footnote extends for more than one paragraph.
+  \everypar = {\hang}%
+  \textindent{\thisfootno}%
+  %
+  % Don't crash into the line above the footnote text.  Since this
+  % expands into a box, it must come within the paragraph, lest it
+  % provide a place where TeX can split the footnote.
+  \footstrut
+  \futurelet\next\fo@t
+}
+}%end \catcode `\@=11
+
+% In case a @footnote appears in a vbox, save the footnote text and create
+% the real \insert just after the vbox finished.  Otherwise, the insertion
+% would be lost.
+% Similarily, if a @footnote appears inside an alignment, save the footnote
+% text to a box and make the \insert when a row of the table is finished.
+% And the same can be done for other insert classes.  --kasal, 16nov03.
+
+% Replace the \insert primitive by a cheating macro.
+% Deeper inside, just make sure that the saved insertions are not spilled
+% out prematurely.
+%
+\def\startsavinginserts{%
+  \ifx \insert\ptexinsert
+    \let\insert\saveinsert
+  \else
+    \let\checkinserts\relax
+  \fi
+}
+
+% This \insert replacement works for both \insert\footins{foo} and
+% \insert\footins\bgroup foo\egroup, but it doesn't work for \insert27{foo}.
+%
+\def\saveinsert#1{%
+  \edef\next{\noexpand\savetobox \makeSAVEname#1}%
+  \afterassignment\next
+  % swallow the left brace
+  \let\temp =
+}
+\def\makeSAVEname#1{\makecsname{SAVE\expandafter\gobble\string#1}}
+\def\savetobox#1{\global\setbox#1 = \vbox\bgroup \unvbox#1}
+
+\def\checksaveins#1{\ifvoid#1\else \placesaveins#1\fi}
+
+\def\placesaveins#1{%
+  \ptexinsert \csname\expandafter\gobblesave\string#1\endcsname
+    {\box#1}%
+}
+
+% eat @SAVE -- beware, all of them have catcode \other:
+{
+  \def\dospecials{\do S\do A\do V\do E} \uncatcodespecials  %  ;-)
+  \gdef\gobblesave @SAVE{}
+}
+
+% initialization:
+\def\newsaveins #1{%
+  \edef\next{\noexpand\newsaveinsX \makeSAVEname#1}%
+  \next
+}
+\def\newsaveinsX #1{%
+  \csname newbox\endcsname #1%
+  \expandafter\def\expandafter\checkinserts\expandafter{\checkinserts
+    \checksaveins #1}%
+}
+
+% initialize:
+\let\checkinserts\empty
+\newsaveins\footins
+\newsaveins\margin
+
+
+% @image.  We use the macros from epsf.tex to support this.
+% If epsf.tex is not installed and @image is used, we complain.
+%
+% Check for and read epsf.tex up front.  If we read it only at @image
+% time, we might be inside a group, and then its definitions would get
+% undone and the next image would fail.
+\openin 1 = epsf.tex
+\ifeof 1 \else
+  % Do not bother showing banner with epsf.tex v2.7k (available in
+  % doc/epsf.tex and on ctan).
+  \def\epsfannounce{\toks0 = }%
+  \input epsf.tex
+\fi
+\closein 1
+%
+% We will only complain once about lack of epsf.tex.
+\newif\ifwarnednoepsf
+\newhelp\noepsfhelp{epsf.tex must be installed for images to
+  work.  It is also included in the Texinfo distribution, or you can get
+  it from ftp://tug.org/tex/epsf.tex.}
+%
+\def\image#1{%
+  \ifx\epsfbox\undefined
+    \ifwarnednoepsf \else
+      \errhelp = \noepsfhelp
+      \errmessage{epsf.tex not found, images will be ignored}%
+      \global\warnednoepsftrue
+    \fi
+  \else
+    \imagexxx #1,,,,,\finish
+  \fi
+}
+%
+% Arguments to @image:
+% #1 is (mandatory) image filename; we tack on .eps extension.
+% #2 is (optional) width, #3 is (optional) height.
+% #4 is (ignored optional) html alt text.
+% #5 is (ignored optional) extension.
+% #6 is just the usual extra ignored arg for parsing this stuff.
+\newif\ifimagevmode
+\def\imagexxx#1,#2,#3,#4,#5,#6\finish{\begingroup
+  \catcode`\^^M = 5     % in case we're inside an example
+  \normalturnoffactive  % allow _ et al. in names
+  % If the image is by itself, center it.
+  \ifvmode
+    \imagevmodetrue
+    \nobreak\bigskip
+    % Usually we'll have text after the image which will insert
+    % \parskip glue, so insert it here too to equalize the space
+    % above and below.
+    \nobreak\vskip\parskip
+    \nobreak
+    \line\bgroup\hss
+  \fi
+  %
+  % Output the image.
+  \ifpdf
+    \dopdfimage{#1}{#2}{#3}%
+  \else
+    % \epsfbox itself resets \epsf?size at each figure.
+    \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \epsfxsize=#2\relax \fi
+    \setbox0 = \hbox{\ignorespaces #3}\ifdim\wd0 > 0pt \epsfysize=#3\relax \fi
+    \epsfbox{#1.eps}%
+  \fi
+  %
+  \ifimagevmode \hss \egroup \bigbreak \fi  % space after the image
+\endgroup}
+
+
+% @float FLOATTYPE,LABEL,LOC ... @end float for displayed figures, tables,
+% etc.  We don't actually implement floating yet, we always include the
+% float "here".  But it seemed the best name for the future.
+%
+\envparseargdef\float{\eatcommaspace\eatcommaspace\dofloat#1, , ,\finish}
+
+% There may be a space before second and/or third parameter; delete it.
+\def\eatcommaspace#1, {#1,}
+
+% #1 is the optional FLOATTYPE, the text label for this float, typically
+% "Figure", "Table", "Example", etc.  Can't contain commas.  If omitted,
+% this float will not be numbered and cannot be referred to.
+%
+% #2 is the optional xref label.  Also must be present for the float to
+% be referable.
+%
+% #3 is the optional positioning argument; for now, it is ignored.  It
+% will somehow specify the positions allowed to float to (here, top, bottom).
+%
+% We keep a separate counter for each FLOATTYPE, which we reset at each
+% chapter-level command.
+\let\resetallfloatnos=\empty
+%
+\def\dofloat#1,#2,#3,#4\finish{%
+  \let\thiscaption=\empty
+  \let\thisshortcaption=\empty
+  %
+  % don't lose footnotes inside @float.
+  %
+  % BEWARE: when the floats start float, we have to issue warning whenever an
+  % insert appears inside a float which could possibly float. --kasal, 26may04
+  %
+  \startsavinginserts
+  %
+  % We can't be used inside a paragraph.
+  \par
+  %
+  \vtop\bgroup
+    \def\floattype{#1}%
+    \def\floatlabel{#2}%
+    \def\floatloc{#3}% we do nothing with this yet.
+    %
+    \ifx\floattype\empty
+      \let\safefloattype=\empty
+    \else
+      {%
+        % the floattype might have accents or other special characters,
+        % but we need to use it in a control sequence name.
+        \indexnofonts
+        \turnoffactive
+        \xdef\safefloattype{\floattype}%
+      }%
+    \fi
+    %
+    % If label is given but no type, we handle that as the empty type.
+    \ifx\floatlabel\empty \else
+      % We want each FLOATTYPE to be numbered separately (Figure 1,
+      % Table 1, Figure 2, ...).  (And if no label, no number.)
+      %
+      \expandafter\getfloatno\csname\safefloattype floatno\endcsname
+      \global\advance\floatno by 1
+      %
+      {%
+        % This magic value for \thissection is output by \setref as the
+        % XREFLABEL-title value.  \xrefX uses it to distinguish float
+        % labels (which have a completely different output format) from
+        % node and anchor labels.  And \xrdef uses it to construct the
+        % lists of floats.
+        %
+        \edef\thissection{\floatmagic=\safefloattype}%
+        \setref{\floatlabel}{Yfloat}%
+      }%
+    \fi
+    %
+    % start with \parskip glue, I guess.
+    \vskip\parskip
+    %
+    % Don't suppress indentation if a float happens to start a section.
+    \restorefirstparagraphindent
+}
+
+% we have these possibilities:
+% @float Foo,lbl & @caption{Cap}: Foo 1.1: Cap
+% @float Foo,lbl & no caption:    Foo 1.1
+% @float Foo & @caption{Cap}:     Foo: Cap
+% @float Foo & no caption:        Foo
+% @float ,lbl & Caption{Cap}:     1.1: Cap
+% @float ,lbl & no caption:       1.1
+% @float & @caption{Cap}:         Cap
+% @float & no caption:
+%
+\def\Efloat{%
+    \let\floatident = \empty
+    %
+    % In all cases, if we have a float type, it comes first.
+    \ifx\floattype\empty \else \def\floatident{\floattype}\fi
+    %
+    % If we have an xref label, the number comes next.
+    \ifx\floatlabel\empty \else
+      \ifx\floattype\empty \else % if also had float type, need tie first.
+        \appendtomacro\floatident{\tie}%
+      \fi
+      % the number.
+      \appendtomacro\floatident{\chaplevelprefix\the\floatno}%
+    \fi
+    %
+    % Start the printed caption with what we've constructed in
+    % \floatident, but keep it separate; we need \floatident again.
+    \let\captionline = \floatident
+    %
+    \ifx\thiscaption\empty \else
+      \ifx\floatident\empty \else
+       \appendtomacro\captionline{: }% had ident, so need a colon between
+      \fi
+      %
+      % caption text.
+      \appendtomacro\captionline{\scanexp\thiscaption}%
+    \fi
+    %
+    % If we have anything to print, print it, with space before.
+    % Eventually this needs to become an \insert.
+    \ifx\captionline\empty \else
+      \vskip.5\parskip
+      \captionline
+      %
+      % Space below caption.
+      \vskip\parskip
+    \fi
+    %
+    % If have an xref label, write the list of floats info.  Do this
+    % after the caption, to avoid chance of it being a breakpoint.
+    \ifx\floatlabel\empty \else
+      % Write the text that goes in the lof to the aux file as
+      % \floatlabel-lof.  Besides \floatident, we include the short
+      % caption if specified, else the full caption if specified, else nothing.
+      {%
+        \atdummies
+        % since we read the caption text in the macro world, where ^^M
+        % is turned into a normal character, we have to scan it back, so
+        % we don't write the literal three characters "^^M" into the aux file.
+       \scanexp{%
+         \xdef\noexpand\gtemp{%
+           \ifx\thisshortcaption\empty
+             \thiscaption
+           \else
+             \thisshortcaption
+           \fi
+         }%
+       }%
+        \immediate\write\auxfile{@xrdef{\floatlabel-lof}{\floatident
+         \ifx\gtemp\empty \else : \gtemp \fi}}%
+      }%
+    \fi
+  \egroup  % end of \vtop
+  %
+  % place the captured inserts
+  %
+  % BEWARE: when the floats start float, we have to issue warning whenever an
+  % insert appears inside a float which could possibly float. --kasal, 26may04
+  %
+  \checkinserts
+}
+
+% Append the tokens #2 to the definition of macro #1, not expanding either.
+%
+\def\appendtomacro#1#2{%
+  \expandafter\def\expandafter#1\expandafter{#1#2}%
+}
+
+% @caption, @shortcaption
+%
+\def\caption{\docaption\thiscaption}
+\def\shortcaption{\docaption\thisshortcaption}
+\def\docaption{\checkenv\float \bgroup\scanargctxt\defcaption}
+\def\defcaption#1#2{\egroup \def#1{#2}}
+
+% The parameter is the control sequence identifying the counter we are
+% going to use.  Create it if it doesn't exist and assign it to \floatno.
+\def\getfloatno#1{%
+  \ifx#1\relax
+      % Haven't seen this figure type before.
+      \csname newcount\endcsname #1%
+      %
+      % Remember to reset this floatno at the next chap.
+      \expandafter\gdef\expandafter\resetallfloatnos
+        \expandafter{\resetallfloatnos #1=0 }%
+  \fi
+  \let\floatno#1%
+}
+
+% \setref calls this to get the XREFLABEL-snt value.  We want an @xref
+% to the FLOATLABEL to expand to "Figure 3.1".  We call \setref when we
+% first read the @float command.
+%
+\def\Yfloat{\floattype@tie \chaplevelprefix\the\floatno}%
+
+% Magic string used for the XREFLABEL-title value, so \xrefX can
+% distinguish floats from other xref types.
+\def\floatmagic{!!float!!}
+
+% #1 is the control sequence we are passed; we expand into a conditional
+% which is true if #1 represents a float ref.  That is, the magic
+% \thissection value which we \setref above.
+%
+\def\iffloat#1{\expandafter\doiffloat#1==\finish}
+%
+% #1 is (maybe) the \floatmagic string.  If so, #2 will be the
+% (safe) float type for this float.  We set \iffloattype to #2.
+%
+\def\doiffloat#1=#2=#3\finish{%
+  \def\temp{#1}%
+  \def\iffloattype{#2}%
+  \ifx\temp\floatmagic
+}
+
+% @listoffloats FLOATTYPE - print a list of floats like a table of contents.
+%
+\parseargdef\listoffloats{%
+  \def\floattype{#1}% floattype
+  {%
+    % the floattype might have accents or other special characters,
+    % but we need to use it in a control sequence name.
+    \indexnofonts
+    \turnoffactive
+    \xdef\safefloattype{\floattype}%
+  }%
+  %
+  % \xrdef saves the floats as a \do-list in \floatlistSAFEFLOATTYPE.
+  \expandafter\ifx\csname floatlist\safefloattype\endcsname \relax
+    \ifhavexrefs
+      % if the user said @listoffloats foo but never @float foo.
+      \message{\linenumber No `\safefloattype' floats to list.}%
+    \fi
+  \else
+    \begingroup
+      \leftskip=\tocindent  % indent these entries like a toc
+      \let\do=\listoffloatsdo
+      \csname floatlist\safefloattype\endcsname
+    \endgroup
+  \fi
+}
+
+% This is called on each entry in a list of floats.  We're passed the
+% xref label, in the form LABEL-title, which is how we save it in the
+% aux file.  We strip off the -title and look up \XRLABEL-lof, which
+% has the text we're supposed to typeset here.
+%
+% Figures without xref labels will not be included in the list (since
+% they won't appear in the aux file).
+%
+\def\listoffloatsdo#1{\listoffloatsdoentry#1\finish}
+\def\listoffloatsdoentry#1-title\finish{{%
+  % Can't fully expand XR#1-lof because it can contain anything.  Just
+  % pass the control sequence.  On the other hand, XR#1-pg is just the
+  % page number, and we want to fully expand that so we can get a link
+  % in pdf output.
+  \toksA = \expandafter{\csname XR#1-lof\endcsname}%
+  %
+  % use the same \entry macro we use to generate the TOC and index.
+  \edef\writeentry{\noexpand\entry{\the\toksA}{\csname XR#1-pg\endcsname}}%
+  \writeentry
+}}
+
+\message{localization,}
+% and i18n.
+
+% @documentlanguage is usually given very early, just after
+% @setfilename.  If done too late, it may not override everything
+% properly.  Single argument is the language abbreviation.
+% It would be nice if we could set up a hyphenation file here.
+%
+\parseargdef\documentlanguage{%
+  \tex % read txi-??.tex file in plain TeX.
+    % Read the file if it exists.
+    \openin 1 txi-#1.tex
+    \ifeof 1
+      \errhelp = \nolanghelp
+      \errmessage{Cannot read language file txi-#1.tex}%
+    \else
+      \input txi-#1.tex
+    \fi
+    \closein 1
+  \endgroup
+}
+\newhelp\nolanghelp{The given language definition file cannot be found or
+is empty.  Maybe you need to install it?  In the current directory
+should work if nowhere else does.}
+
+
+% @documentencoding should change something in TeX eventually, most
+% likely, but for now just recognize it.
+\let\documentencoding = \comment
+
+
+% Page size parameters.
+%
+\newdimen\defaultparindent \defaultparindent = 15pt
+
+\chapheadingskip = 15pt plus 4pt minus 2pt
+\secheadingskip = 12pt plus 3pt minus 2pt
+\subsecheadingskip = 9pt plus 2pt minus 2pt
+
+% Prevent underfull vbox error messages.
+\vbadness = 10000
+
+% Don't be so finicky about underfull hboxes, either.
+\hbadness = 2000
+
+% Following George Bush, just get rid of widows and orphans.
+\widowpenalty=10000
+\clubpenalty=10000
+
+% Use TeX 3.0's \emergencystretch to help line breaking, but if we're
+% using an old version of TeX, don't do anything.  We want the amount of
+% stretch added to depend on the line length, hence the dependence on
+% \hsize.  We call this whenever the paper size is set.
+%
+\def\setemergencystretch{%
+  \ifx\emergencystretch\thisisundefined
+    % Allow us to assign to \emergencystretch anyway.
+    \def\emergencystretch{\dimen0}%
+  \else
+    \emergencystretch = .15\hsize
+  \fi
+}
+
+% Parameters in order: 1) textheight; 2) textwidth;
+% 3) voffset; 4) hoffset; 5) binding offset; 6) topskip;
+% 7) physical page height; 8) physical page width.
+%
+% We also call \setleading{\textleading}, so the caller should define
+% \textleading.  The caller should also set \parskip.
+%
+\def\internalpagesizes#1#2#3#4#5#6#7#8{%
+  \voffset = #3\relax
+  \topskip = #6\relax
+  \splittopskip = \topskip
+  %
+  \vsize = #1\relax
+  \advance\vsize by \topskip
+  \outervsize = \vsize
+  \advance\outervsize by 2\topandbottommargin
+  \pageheight = \vsize
+  %
+  \hsize = #2\relax
+  \outerhsize = \hsize
+  \advance\outerhsize by 0.5in
+  \pagewidth = \hsize
+  %
+  \normaloffset = #4\relax
+  \bindingoffset = #5\relax
+  %
+  \ifpdf
+    \pdfpageheight #7\relax
+    \pdfpagewidth #8\relax
+  \fi
+  %
+  \setleading{\textleading}
+  %
+  \parindent = \defaultparindent
+  \setemergencystretch
+}
+
+% @letterpaper (the default).
+\def\letterpaper{{\globaldefs = 1
+  \parskip = 3pt plus 2pt minus 1pt
+  \textleading = 13.2pt
+  %
+  % If page is nothing but text, make it come out even.
+  \internalpagesizes{46\baselineskip}{6in}%
+                    {\voffset}{.25in}%
+                    {\bindingoffset}{36pt}%
+                    {11in}{8.5in}%
+}}
+
+% Use @smallbook to reset parameters for 7x9.25 trim size.
+\def\smallbook{{\globaldefs = 1
+  \parskip = 2pt plus 1pt
+  \textleading = 12pt
+  %
+  \internalpagesizes{7.5in}{5in}%
+                    {\voffset}{.25in}%
+                    {\bindingoffset}{16pt}%
+                    {9.25in}{7in}%
+  %
+  \lispnarrowing = 0.3in
+  \tolerance = 700
+  \hfuzz = 1pt
+  \contentsrightmargin = 0pt
+  \defbodyindent = .5cm
+}}
+
+% Use @smallerbook to reset parameters for 6x9 trim size.
+% (Just testing, parameters still in flux.)
+\def\smallerbook{{\globaldefs = 1
+  \parskip = 1.5pt plus 1pt
+  \textleading = 12pt
+  %
+  \internalpagesizes{7.4in}{4.8in}%
+                    {-.2in}{-.4in}%
+                    {0pt}{14pt}%
+                    {9in}{6in}%
+  %
+  \lispnarrowing = 0.25in
+  \tolerance = 700
+  \hfuzz = 1pt
+  \contentsrightmargin = 0pt
+  \defbodyindent = .4cm
+}}
+
+% Use @afourpaper to print on European A4 paper.
+\def\afourpaper{{\globaldefs = 1
+  \parskip = 3pt plus 2pt minus 1pt
+  \textleading = 13.2pt
+  %
+  % Double-side printing via postscript on Laserjet 4050
+  % prints double-sided nicely when \bindingoffset=10mm and \hoffset=-6mm.
+  % To change the settings for a different printer or situation, adjust
+  % \normaloffset until the front-side and back-side texts align.  Then
+  % do the same for \bindingoffset.  You can set these for testing in
+  % your texinfo source file like this:
+  % @tex
+  % \global\normaloffset = -6mm
+  % \global\bindingoffset = 10mm
+  % @end tex
+  \internalpagesizes{51\baselineskip}{160mm}
+                    {\voffset}{\hoffset}%
+                    {\bindingoffset}{44pt}%
+                    {297mm}{210mm}%
+  %
+  \tolerance = 700
+  \hfuzz = 1pt
+  \contentsrightmargin = 0pt
+  \defbodyindent = 5mm
+}}
+
+% Use @afivepaper to print on European A5 paper.
+% From romildo@urano.iceb.ufop.br, 2 July 2000.
+% He also recommends making @example and @lisp be small.
+\def\afivepaper{{\globaldefs = 1
+  \parskip = 2pt plus 1pt minus 0.1pt
+  \textleading = 12.5pt
+  %
+  \internalpagesizes{160mm}{120mm}%
+                    {\voffset}{\hoffset}%
+                    {\bindingoffset}{8pt}%
+                    {210mm}{148mm}%
+  %
+  \lispnarrowing = 0.2in
+  \tolerance = 800
+  \hfuzz = 1.2pt
+  \contentsrightmargin = 0pt
+  \defbodyindent = 2mm
+  \tableindent = 12mm
+}}
+
+% A specific text layout, 24x15cm overall, intended for A4 paper.
+\def\afourlatex{{\globaldefs = 1
+  \afourpaper
+  \internalpagesizes{237mm}{150mm}%
+                    {\voffset}{4.6mm}%
+                    {\bindingoffset}{7mm}%
+                    {297mm}{210mm}%
+  %
+  % Must explicitly reset to 0 because we call \afourpaper.
+  \globaldefs = 0
+}}
+
+% Use @afourwide to print on A4 paper in landscape format.
+\def\afourwide{{\globaldefs = 1
+  \afourpaper
+  \internalpagesizes{241mm}{165mm}%
+                    {\voffset}{-2.95mm}%
+                    {\bindingoffset}{7mm}%
+                    {297mm}{210mm}%
+  \globaldefs = 0
+}}
+
+% @pagesizes TEXTHEIGHT[,TEXTWIDTH]
+% Perhaps we should allow setting the margins, \topskip, \parskip,
+% and/or leading, also. Or perhaps we should compute them somehow.
+%
+\parseargdef\pagesizes{\pagesizesyyy #1,,\finish}
+\def\pagesizesyyy#1,#2,#3\finish{{%
+  \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \hsize=#2\relax \fi
+  \globaldefs = 1
+  %
+  \parskip = 3pt plus 2pt minus 1pt
+  \setleading{\textleading}%
+  %
+  \dimen0 = #1
+  \advance\dimen0 by \voffset
+  %
+  \dimen2 = \hsize
+  \advance\dimen2 by \normaloffset
+  %
+  \internalpagesizes{#1}{\hsize}%
+                    {\voffset}{\normaloffset}%
+                    {\bindingoffset}{44pt}%
+                    {\dimen0}{\dimen2}%
+}}
+
+% Set default to letter.
+%
+\letterpaper
+
+
+\message{and turning on texinfo input format.}
+
+% Define macros to output various characters with catcode for normal text.
+\catcode`\"=\other
+\catcode`\~=\other
+\catcode`\^=\other
+\catcode`\_=\other
+\catcode`\|=\other
+\catcode`\<=\other
+\catcode`\>=\other
+\catcode`\+=\other
+\catcode`\$=\other
+\def\normaldoublequote{"}
+\def\normaltilde{~}
+\def\normalcaret{^}
+\def\normalunderscore{_}
+\def\normalverticalbar{|}
+\def\normalless{<}
+\def\normalgreater{>}
+\def\normalplus{+}
+\def\normaldollar{$}%$ font-lock fix
+
+% This macro is used to make a character print one way in \tt
+% (where it can probably be output as-is), and another way in other fonts,
+% where something hairier probably needs to be done.
+%
+% #1 is what to print if we are indeed using \tt; #2 is what to print
+% otherwise.  Since all the Computer Modern typewriter fonts have zero
+% interword stretch (and shrink), and it is reasonable to expect all
+% typewriter fonts to have this, we can check that font parameter.
+%
+\def\ifusingtt#1#2{\ifdim \fontdimen3\font=0pt #1\else #2\fi}
+
+% Same as above, but check for italic font.  Actually this also catches
+% non-italic slanted fonts since it is impossible to distinguish them from
+% italic fonts.  But since this is only used by $ and it uses \sl anyway
+% this is not a problem.
+\def\ifusingit#1#2{\ifdim \fontdimen1\font>0pt #1\else #2\fi}
+
+% Turn off all special characters except @
+% (and those which the user can use as if they were ordinary).
+% Most of these we simply print from the \tt font, but for some, we can
+% use math or other variants that look better in normal text.
+
+\catcode`\"=\active
+\def\activedoublequote{{\tt\char34}}
+\let"=\activedoublequote
+\catcode`\~=\active
+\def~{{\tt\char126}}
+\chardef\hat=`\^
+\catcode`\^=\active
+\def^{{\tt \hat}}
+
+\catcode`\_=\active
+\def_{\ifusingtt\normalunderscore\_}
+\let\realunder=_
+% Subroutine for the previous macro.
+\def\_{\leavevmode \kern.07em \vbox{\hrule width.3em height.1ex}\kern .07em }
+
+\catcode`\|=\active
+\def|{{\tt\char124}}
+\chardef \less=`\<
+\catcode`\<=\active
+\def<{{\tt \less}}
+\chardef \gtr=`\>
+\catcode`\>=\active
+\def>{{\tt \gtr}}
+\catcode`\+=\active
+\def+{{\tt \char 43}}
+\catcode`\$=\active
+\def${\ifusingit{{\sl\$}}\normaldollar}%$ font-lock fix
+
+% If a .fmt file is being used, characters that might appear in a file
+% name cannot be active until we have parsed the command line.
+% So turn them off again, and have \everyjob (or @setfilename) turn them on.
+% \otherifyactive is called near the end of this file.
+\def\otherifyactive{\catcode`+=\other \catcode`\_=\other}
+
+\catcode`\@=0
+
+% \backslashcurfont outputs one backslash character in current font,
+% as in \char`\\.
+\global\chardef\backslashcurfont=`\\
+\global\let\rawbackslashxx=\backslashcurfont  % let existing .??s files work
+
+% \rawbackslash defines an active \ to do \backslashcurfont.
+% \otherbackslash defines an active \ to be a literal `\' character with
+% catcode other.
+{\catcode`\\=\active
+ @gdef@rawbackslash{@let\=@backslashcurfont}
+ @gdef@otherbackslash{@let\=@realbackslash}
+}
+
+% \realbackslash is an actual character `\' with catcode other, and
+% \doublebackslash is two of them (for the pdf outlines).
+{\catcode`\\=\other @gdef@realbackslash{\} @gdef@doublebackslash{\\}}
+
+% \normalbackslash outputs one backslash in fixed width font.
+\def\normalbackslash{{\tt\backslashcurfont}}
+
+\catcode`\\=\active
+
+% Used sometimes to turn off (effectively) the active characters
+% even after parsing them.
+@def@turnoffactive{%
+  @let"=@normaldoublequote
+  @let\=@realbackslash
+  @let~=@normaltilde
+  @let^=@normalcaret
+  @let_=@normalunderscore
+  @let|=@normalverticalbar
+  @let<=@normalless
+  @let>=@normalgreater
+  @let+=@normalplus
+  @let$=@normaldollar %$ font-lock fix
+  @unsepspaces
+}
+
+% Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of
+% the literal character `\'.  (Thus, \ is not expandable when this is in
+% effect.)
+%
+@def@normalturnoffactive{@turnoffactive @let\=@normalbackslash}
+
+% Make _ and + \other characters, temporarily.
+% This is canceled by @fixbackslash.
+@otherifyactive
+
+% If a .fmt file is being used, we don't want the `\input texinfo' to show up.
+% That is what \eatinput is for; after that, the `\' should revert to printing
+% a backslash.
+%
+@gdef@eatinput input texinfo{@fixbackslash}
+@global@let\ = @eatinput
+
+% On the other hand, perhaps the file did not have a `\input texinfo'. Then
+% the first `\{ in the file would cause an error. This macro tries to fix
+% that, assuming it is called before the first `\' could plausibly occur.
+% Also turn back on active characters that might appear in the input
+% file name, in case not using a pre-dumped format.
+%
+@gdef@fixbackslash{%
+  @ifx\@eatinput @let\ = @normalbackslash @fi
+  @catcode`+=@active
+  @catcode`@_=@active
+}
+
+% Say @foo, not \foo, in error messages.
+@escapechar = `@@
+
+% These look ok in all fonts, so just make them not special.
+@catcode`@& = @other
+@catcode`@# = @other
+@catcode`@% = @other
+
+
+@c Local variables:
+@c eval: (add-hook 'write-file-hooks 'time-stamp)
+@c page-delimiter: "^\\\\message"
+@c time-stamp-start: "def\\\\texinfoversion{"
+@c time-stamp-format: "%:y-%02m-%02d.%02H"
+@c time-stamp-end: "}"
+@c End:
+
+@c vim:sw=2:
+
+@ignore
+   arch-tag: e1b36e32-c96e-4135-a41a-0b2efa2ea115
+@end ignore
diff --git a/configure b/configure
new file mode 100755 (executable)
index 0000000..92169a7
--- /dev/null
+++ b/configure
@@ -0,0 +1,23524 @@
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.63 for util-linux-ng 2.16.2.
+#
+# Report bugs to <kzak@redhat.com>.
+#
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+# 2002, 2003, 2004, 2005, 2006, 2007, 2008 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
+
+
+
+
+# PATH needs CR
+# 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_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
+if (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
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+  as_unset=unset
+else
+  as_unset=false
+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.
+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); exit 1; }
+fi
+
+# Work around bugs in pre-3.0 UWIN ksh.
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# Required to use basename.
+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
+
+
+# Name of the executable.
+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'`
+
+# CDPATH.
+$as_unset CDPATH
+
+
+if test "x$CONFIG_SHELL" = x; then
+  if (eval ":") 2>/dev/null; then
+  as_have_required=yes
+else
+  as_have_required=no
+fi
+
+  if test $as_have_required = yes &&    (eval ":
+(as_func_return () {
+  (exit \$1)
+}
+as_func_success () {
+  as_func_return 0
+}
+as_func_failure () {
+  as_func_return 1
+}
+as_func_ret_success () {
+  return 0
+}
+as_func_ret_failure () {
+  return 1
+}
+
+exitcode=0
+if as_func_success; then
+  :
+else
+  exitcode=1
+  echo as_func_success failed.
+fi
+
+if as_func_failure; then
+  exitcode=1
+  echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+  :
+else
+  exitcode=1
+  echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+  exitcode=1
+  echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+  :
+else
+  exitcode=1
+  echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0) || { (exit 1); exit 1; }
+
+(
+  as_lineno_1=\$LINENO
+  as_lineno_2=\$LINENO
+  test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
+  test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
+") 2> /dev/null; then
+  :
+else
+  as_candidate_shells=
+    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  case $as_dir in
+        /*)
+          for as_base in sh bash ksh sh5; do
+            as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
+          done;;
+       esac
+done
+IFS=$as_save_IFS
+
+
+      for as_shell in $as_candidate_shells $SHELL; do
+        # Try only shells that exist, to save several forks.
+        if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+               { ("$as_shell") 2> /dev/null <<\_ASEOF
+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
+
+
+:
+_ASEOF
+}; then
+  CONFIG_SHELL=$as_shell
+              as_have_required=yes
+              if { "$as_shell" 2> /dev/null <<\_ASEOF
+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_func_return () {
+  (exit $1)
+}
+as_func_success () {
+  as_func_return 0
+}
+as_func_failure () {
+  as_func_return 1
+}
+as_func_ret_success () {
+  return 0
+}
+as_func_ret_failure () {
+  return 1
+}
+
+exitcode=0
+if as_func_success; then
+  :
+else
+  exitcode=1
+  echo as_func_success failed.
+fi
+
+if as_func_failure; then
+  exitcode=1
+  echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+  :
+else
+  exitcode=1
+  echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+  exitcode=1
+  echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = "$1" ); then
+  :
+else
+  exitcode=1
+  echo positional parameters were not saved.
+fi
+
+test $exitcode = 0) || { (exit 1); exit 1; }
+
+(
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
+
+_ASEOF
+}; then
+  break
+fi
+
+fi
+
+      done
+
+      if test "x$CONFIG_SHELL" != x; then
+  for as_var in BASH_ENV ENV
+       do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+       done
+       export CONFIG_SHELL
+       exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+fi
+
+
+    if test $as_have_required = no; then
+  echo This script requires a shell more modern than all the
+      echo shells that I found on your system.  Please install a
+      echo modern shell, or manually run the script under such a
+      echo shell if you do have one.
+      { (exit 1); exit 1; }
+fi
+
+
+fi
+
+fi
+
+
+
+(eval "as_func_return () {
+  (exit \$1)
+}
+as_func_success () {
+  as_func_return 0
+}
+as_func_failure () {
+  as_func_return 1
+}
+as_func_ret_success () {
+  return 0
+}
+as_func_ret_failure () {
+  return 1
+}
+
+exitcode=0
+if as_func_success; then
+  :
+else
+  exitcode=1
+  echo as_func_success failed.
+fi
+
+if as_func_failure; then
+  exitcode=1
+  echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+  :
+else
+  exitcode=1
+  echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+  exitcode=1
+  echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+  :
+else
+  exitcode=1
+  echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0") || {
+  echo No shell found that supports shell functions.
+  echo Please tell bug-autoconf@gnu.org about your system,
+  echo including any error possibly output before this message.
+  echo This can help us improve future autoconf versions.
+  echo Configuration will now proceed without shell functions.
+}
+
+
+
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
+
+  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+  # uniformly replaced by the line number.  The first 'sed' inserts a
+  # line-number line after each line using $LINENO; the second 'sed'
+  # does the real work.  The second script uses 'N' to pair each
+  # line-number line with the line containing $LINENO, and appends
+  # trailing '-' during substitution so that $LINENO is not a special
+  # case at line end.
+  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+  # scripts with optimization help from Paolo Bonzini.  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
+   { (exit 1); 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
+}
+
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+  case `echo 'x\c'` in
+  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
+  *)   ECHO_C='\c';;
+  esac;;
+*)
+  ECHO_N='-n';;
+esac
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+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=:
+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'"
+
+
+
+
+# Check that we are running under the correct shell.
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+case X$lt_ECHO in
+X*--fallback-echo)
+  # Remove one level of quotation (which was required for Make).
+  ECHO=`echo "$lt_ECHO" | sed 's,\\\\\$\\$0,'$0','`
+  ;;
+esac
+
+ECHO=${lt_ECHO-echo}
+if test "X$1" = X--no-reexec; then
+  # Discard the --no-reexec flag, and continue.
+  shift
+elif test "X$1" = X--fallback-echo; then
+  # Avoid inline document here, it may be left over
+  :
+elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
+  # Yippee, $ECHO works!
+  :
+else
+  # Restart under the correct shell.
+  exec $SHELL "$0" --no-reexec ${1+"$@"}
+fi
+
+if test "X$1" = X--fallback-echo; then
+  # used as fallback echo
+  shift
+  cat <<_LT_EOF
+$*
+_LT_EOF
+  exit 0
+fi
+
+# 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
+
+if test -z "$lt_ECHO"; then
+  if test "X${echo_test_string+set}" != Xset; then
+    # find a string as large as possible, as long as the shell can cope with it
+    for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
+      # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
+      if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
+        { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
+      then
+        break
+      fi
+    done
+  fi
+
+  if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
+     echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
+     test "X$echo_testing_string" = "X$echo_test_string"; then
+    :
+  else
+    # The Solaris, AIX, and Digital Unix default echo programs unquote
+    # backslashes.  This makes it impossible to quote backslashes using
+    #   echo "$something" | sed 's/\\/\\\\/g'
+    #
+    # So, first we look for a working echo in the user's PATH.
+
+    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+    for dir in $PATH /usr/ucb; do
+      IFS="$lt_save_ifs"
+      if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
+         test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
+         echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
+         test "X$echo_testing_string" = "X$echo_test_string"; then
+        ECHO="$dir/echo"
+        break
+      fi
+    done
+    IFS="$lt_save_ifs"
+
+    if test "X$ECHO" = Xecho; then
+      # We didn't find a better echo, so look for alternatives.
+      if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
+         echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
+         test "X$echo_testing_string" = "X$echo_test_string"; then
+        # This shell has a builtin print -r that does the trick.
+        ECHO='print -r'
+      elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
+          test "X$CONFIG_SHELL" != X/bin/ksh; then
+        # If we have ksh, try running configure again with it.
+        ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+        export ORIGINAL_CONFIG_SHELL
+        CONFIG_SHELL=/bin/ksh
+        export CONFIG_SHELL
+        exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"}
+      else
+        # Try using printf.
+        ECHO='printf %s\n'
+        if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
+          echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
+          test "X$echo_testing_string" = "X$echo_test_string"; then
+         # Cool, printf works
+         :
+        elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
+            test "X$echo_testing_string" = 'X\t' &&
+            echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+            test "X$echo_testing_string" = "X$echo_test_string"; then
+         CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
+         export CONFIG_SHELL
+         SHELL="$CONFIG_SHELL"
+         export SHELL
+         ECHO="$CONFIG_SHELL $0 --fallback-echo"
+        elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
+            test "X$echo_testing_string" = 'X\t' &&
+            echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+            test "X$echo_testing_string" = "X$echo_test_string"; then
+         ECHO="$CONFIG_SHELL $0 --fallback-echo"
+        else
+         # maybe with a smaller string...
+         prev=:
+
+         for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
+           if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
+           then
+             break
+           fi
+           prev="$cmd"
+         done
+
+         if test "$prev" != 'sed 50q "$0"'; then
+           echo_test_string=`eval $prev`
+           export echo_test_string
+           exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"}
+         else
+           # Oops.  We lost completely, so just stick with echo.
+           ECHO=echo
+         fi
+        fi
+      fi
+    fi
+  fi
+fi
+
+# Copy echo and quote the copy suitably for passing to libtool from
+# the Makefile, instead of quoting the original, which is used later.
+lt_ECHO=$ECHO
+if test "X$lt_ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then
+   lt_ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo"
+fi
+
+
+
+
+exec 7<&0 </dev/null 6>&1
+
+# Name of the host.
+# hostname on some systems (SVR3.2, 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=
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+# Identity of this package.
+PACKAGE_NAME='util-linux-ng'
+PACKAGE_TARNAME='util-linux-ng'
+PACKAGE_VERSION='2.16.2'
+PACKAGE_STRING='util-linux-ng 2.16.2'
+PACKAGE_BUGREPORT='kzak@redhat.com'
+
+ac_unique_file="mount/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_CHOWN_FALSE
+MAKEINSTALL_DO_CHOWN_TRUE
+USE_TTY_GROUP_FALSE
+USE_TTY_GROUP_TRUE
+BUILD_WRITE_FALSE
+BUILD_WRITE_TRUE
+BUILD_WALL_FALSE
+BUILD_WALL_TRUE
+BUILD_SCHEDUTILS_FALSE
+BUILD_SCHEDUTILS_TRUE
+HAVE_AUDIT_FALSE
+HAVE_AUDIT_TRUE
+SELINUX_LIBS_STATIC
+SELINUX_LIBS
+HAVE_SELINUX_FALSE
+HAVE_SELINUX_TRUE
+HAVE_PAM_FALSE
+HAVE_PAM_TRUE
+BUILD_LOGIN_UTILS_FALSE
+BUILD_LOGIN_UTILS_TRUE
+BUILD_RESET_FALSE
+BUILD_RESET_TRUE
+BUILD_RENAME_FALSE
+BUILD_RENAME_TRUE
+BUILD_RDEV_FALSE
+BUILD_RDEV_TRUE
+BUILD_RAW_FALSE
+BUILD_RAW_TRUE
+BUILD_PARTX_FALSE
+BUILD_PARTX_TRUE
+BUILD_MESG_FALSE
+BUILD_MESG_TRUE
+BUILD_LAST_FALSE
+BUILD_LAST_TRUE
+BUILD_KILL_FALSE
+BUILD_KILL_TRUE
+BUILD_INIT_FALSE
+BUILD_INIT_TRUE
+BUILD_ELVTUNE_FALSE
+BUILD_ELVTUNE_TRUE
+BUILD_SWITCH_ROOT_FALSE
+BUILD_SWITCH_ROOT_TRUE
+BUILD_CRAMFS_FALSE
+BUILD_CRAMFS_TRUE
+BUILD_AGETTY_FALSE
+BUILD_AGETTY_TRUE
+BUILD_ARCH_FALSE
+BUILD_ARCH_TRUE
+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
+HAVE_IOPRIO_GET_FALSE
+HAVE_IOPRIO_GET_TRUE
+HAVE_IOPRIO_SET_FALSE
+HAVE_IOPRIO_SET_TRUE
+HAVE_SCHED_GETAFFINITY_FALSE
+HAVE_SCHED_GETAFFINITY_TRUE
+HAVE_PIVOT_ROOT_FALSE
+HAVE_PIVOT_ROOT_TRUE
+NEED_LIBCRYPT_FALSE
+NEED_LIBCRYPT_TRUE
+USE_SLANG_FALSE
+USE_SLANG_TRUE
+HAVE_TINFO_FALSE
+HAVE_TINFO_TRUE
+NCURSES_LIBS
+HAVE_NCURSES_FALSE
+HAVE_NCURSES_TRUE
+POSUB
+LTLIBINTL
+LIBINTL
+INTLLIBS
+LTLIBICONV
+LIBICONV
+MSGMERGE
+XGETTEXT
+GMSGFMT
+MSGFMT
+USE_NLS
+MKINSTALLDIRS
+HAVE_TERMCAP_FALSE
+HAVE_TERMCAP_TRUE
+HAVE_UTIL_FALSE
+HAVE_UTIL_TRUE
+BLKID_LIBS_STATIC
+HAVE_BLKID_FALSE
+HAVE_BLKID_TRUE
+BLKID_LIBS
+BLKID_CFLAGS
+BUILD_LIBBLKID_FALSE
+BUILD_LIBBLKID_TRUE
+LIBBLKID_VERSION_INFO
+LIBBLKID_VERSION
+BUILD_UUIDD_FALSE
+BUILD_UUIDD_TRUE
+HAVE_UUID_FALSE
+HAVE_UUID_TRUE
+UUID_LIBS
+UUID_CFLAGS
+BUILD_LIBUUID_FALSE
+BUILD_LIBUUID_TRUE
+LIBUUID_VERSION_INFO
+LIBUUID_VERSION
+BUILD_FSCK_FALSE
+BUILD_FSCK_TRUE
+BUILD_MOUNT_FALSE
+BUILD_MOUNT_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
+HAVE_RAW_FALSE
+HAVE_RAW_TRUE
+VOLID
+BLKID
+PERL
+LINUX_FALSE
+LINUX_TRUE
+PKG_CONFIG
+OTOOL64
+OTOOL
+LIPO
+NMEDIT
+DSYMUTIL
+lt_ECHO
+RANLIB
+AR
+OBJDUMP
+LN_S
+NM
+ac_ct_DUMPBIN
+DUMPBIN
+LD
+FGREP
+SED
+LIBTOOL
+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__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_BUGREPORT
+PACKAGE_STRING
+PACKAGE_VERSION
+PACKAGE_TARNAME
+PACKAGE_NAME
+PATH_SEPARATOR
+SHELL'
+ac_subst_files=''
+ac_user_opts='
+enable_option_checking
+enable_dependency_tracking
+enable_shared
+enable_static
+with_pic
+enable_fast_install
+with_gnu_ld
+enable_libtool_lock
+enable_largefile
+enable_static_programs
+enable_tls
+enable_mount
+enable_fsck
+enable_libuuid
+enable_uuidd
+enable_libblkid
+enable_nls
+enable_rpath
+with_libiconv_prefix
+with_libintl_prefix
+with_ncurses
+with_slang
+enable_arch
+enable_agetty
+enable_cramfs
+enable_switch_root
+enable_elvtune
+enable_init
+enable_kill
+enable_last
+enable_mesg
+enable_partx
+enable_raw
+enable_rdev
+enable_rename
+enable_reset
+enable_login_utils
+with_pam
+with_selinux
+with_audit
+enable_schedutils
+enable_wall
+enable_write
+enable_chsh_only_listed
+enable_login_chown_vcs
+enable_login_stat_mail
+enable_pg_bell
+enable_require_password
+enable_use_tty_group
+enable_makeinstall_chown
+'
+      ac_precious_vars='build_alias
+host_alias
+target_alias
+CC
+CFLAGS
+LDFLAGS
+LIBS
+CPPFLAGS
+CPP
+PKG_CONFIG
+UUID_CFLAGS
+UUID_LIBS
+BLKID_CFLAGS
+BLKID_LIBS
+BLKID_LIBS_STATIC
+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=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_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
+   { (exit 1); exit 1; }; }
+    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_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
+   { (exit 1); exit 1; }; }
+    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_echo "$as_me: error: invalid package name: $ac_useropt" >&2
+   { (exit 1); exit 1; }; }
+    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_echo "$as_me: error: invalid package name: $ac_useropt" >&2
+   { (exit 1); exit 1; }; }
+    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_echo "$as_me: error: unrecognized option: $ac_option
+Try \`$0 --help' for more information." >&2
+   { (exit 1); exit 1; }; }
+    ;;
+
+  *=*)
+    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
+      { $as_echo "$as_me: error: invalid variable name: $ac_envvar" >&2
+   { (exit 1); exit 1; }; }
+    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_echo "$as_me: error: missing argument to $ac_option" >&2
+   { (exit 1); exit 1; }; }
+fi
+
+if test -n "$ac_unrecognized_opts"; then
+  case $enable_option_checking in
+    no) ;;
+    fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2
+   { (exit 1); exit 1; }; } ;;
+    *)     $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_echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+   { (exit 1); exit 1; }; }
+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_echo "$as_me: error: working directory cannot be determined" >&2
+   { (exit 1); exit 1; }; }
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+  { $as_echo "$as_me: error: pwd does not report name of working directory" >&2
+   { (exit 1); exit 1; }; }
+
+
+# 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_echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+   { (exit 1); exit 1; }; }
+fi
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+       cd "$srcdir" && test -r "./$ac_unique_file" || { $as_echo "$as_me: error: $ac_msg" >&2
+   { (exit 1); exit 1; }; }
+       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-ng 2.16.2 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-ng]
+  --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-ng 2.16.2:";;
+   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]
+  --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)
+  --disable-largefile     omit support for large files
+  --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
+  --disable-mount         do not build mount utilities
+  --disable-fsck          do not build fsck
+  --disable-libuuid       do not build libuuid and uuid utilities
+  --disable-uuidd         do not build the uuid daemon
+  --disable-libblkid      do not build libblkid and blkid utilities
+  --disable-nls           do not use Native Language Support
+  --disable-rpath         do not hardcode runtime library paths
+  --enable-arch           do build arch
+  --disable-agetty        do not build agetty
+  --disable-cramfs        do not build fsck.cramfs, mkfs.cramfs
+  --disable-switch_root   do not build switch_root
+  --enable-elvtune        build elvtune (only works with 2.2 and 2.4 kernels)
+  --enable-init           build simpleinit, shutdown, initctl
+  --enable-kill           build kill
+  --enable-last           build last
+  --enable-mesg           build mesg
+  --enable-partx          build addpart, delpart, partx
+  --enable-raw            build raw
+  --enable-rdev           build rdev on i386
+  --disable-rename        do not build rename
+  --enable-reset          build reset
+  --enable-login-utils    build chfn, chsh, login, newgrp, vipw
+  --disable-schedutils    do not build chrt, ionice, teskset
+  --disable-wall          do not build wall
+  --enable-write          build write
+  --disable-chsh-only-listed
+                          chsh: allow shells not in /etc/shells
+  --enable-login-chown-vcs
+                          let login chown /dev/vcsN
+  --enable-login-stat-mail
+                          let login stat() the mailbox
+  --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
+  --disable-use-tty-group do not install wall and write setgid tty
+  --disable-makeinstall-chown
+                          do not do chown-like 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-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-ncurses          build with non-wide ncurses, default is wide version
+                          (--without-ncurses disables all ncurses(w) support)
+  --with-slang            compile cfdisk with slang
+  --without-pam           compile login-utils without PAM support
+  --with-selinux          compile with SELinux support
+  --with-audit            compile with audit support
+
+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    C/C++/Objective 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
+  UUID_CFLAGS C compiler flags for UUID, overriding pkg-config
+  UUID_LIBS   linker flags for UUID, overriding pkg-config
+  BLKID_CFLAGS
+              C compiler flags for BLKID, overriding pkg-config
+  BLKID_LIBS  linker flags for BLKID, overriding pkg-config
+  BLKID_LIBS_STATIC
+              -l options for linking statically with blkid
+  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-ng configure 2.16.2
+generated by GNU Autoconf 2.63
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 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
+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-ng $as_me 2.16.2, which was
+generated by GNU Autoconf 2.63.  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) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
+    2)
+      ac_configure_args1="$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
+      ac_configure_args="$ac_configure_args '$ac_arg'"
+      ;;
+    esac
+  done
+done
+$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
+$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export 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
+
+    cat <<\_ASBOX
+## ---------------- ##
+## Cache variables. ##
+## ---------------- ##
+_ASBOX
+    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:$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= ;; #(
+      *) $as_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
+
+    cat <<\_ASBOX
+## ----------------- ##
+## Output variables. ##
+## ----------------- ##
+_ASBOX
+    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
+      cat <<\_ASBOX
+## ------------------- ##
+## File substitutions. ##
+## ------------------- ##
+_ASBOX
+      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
+      cat <<\_ASBOX
+## ----------- ##
+## confdefs.h. ##
+## ----------- ##
+_ASBOX
+      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'; { (exit 1); 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
+
+# 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
+
+
+# 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
+  ac_site_file1=$CONFIG_SITE
+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 -r "$ac_site_file"; then
+    { $as_echo "$as_me:$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"
+  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.
+  if test -f "$cache_file"; then
+    { $as_echo "$as_me:$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:$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:$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:$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:$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:$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:$LINENO:   former value:  \`$ac_old_val'" >&5
+$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
+       { $as_echo "$as_me:$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.
+      *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+    esac
+  fi
+done
+if $ac_cache_corrupted; then
+  { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+  { $as_echo "$as_me:$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_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+$as_echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+   { (exit 1); exit 1; }; }
+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
+
+
+
+
+
+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_echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in config \"$srcdir\"/config" >&5
+$as_echo "$as_me: error: cannot find install-sh or install.sh in config \"$srcdir\"/config" >&2;}
+   { (exit 1); exit 1; }; }
+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:$LINENO: checking for a BSD-compatible install" >&5
+$as_echo_n "checking for a BSD-compatible install... " >&6; }
+if test -z "$INSTALL"; then
+if test "${ac_cv_path_install+set}" = set; 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:$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:$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_echo "$as_me:$LINENO: error: unsafe absolute working directory name" >&5
+$as_echo "$as_me: error: unsafe absolute working directory name" >&2;}
+   { (exit 1); exit 1; }; };;
+esac
+case $srcdir in
+  *[\\\"\#\$\&\'\`$am_lf\ \    ]*)
+    { { $as_echo "$as_me:$LINENO: error: unsafe srcdir value: \`$srcdir'" >&5
+$as_echo "$as_me: error: unsafe srcdir value: \`$srcdir'" >&2;}
+   { (exit 1); exit 1; }; };;
+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_echo "$as_me:$LINENO: error: ls -t appears to fail.  Make sure there is not a broken
+alias in your environment" >&5
+$as_echo "$as_me: error: ls -t appears to fail.  Make sure there is not a broken
+alias in your environment" >&2;}
+   { (exit 1); exit 1; }; }
+   fi
+
+   test "$2" = conftest.file
+   )
+then
+   # Ok.
+   :
+else
+   { { $as_echo "$as_me:$LINENO: error: newly created file is older than distributed files!
+Check your system clock" >&5
+$as_echo "$as_me: error: newly created file is older than distributed files!
+Check your system clock" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+{ $as_echo "$as_me:$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:$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:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_STRIP+set}" = set; 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:$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:$LINENO: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
+else
+  { $as_echo "$as_me:$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:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; 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:$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:$LINENO: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
+else
+  { $as_echo "$as_me:$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:$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:$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 test "${ac_cv_path_mkdir+set}" = set; 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
+
+  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.
+    test -d ./--version && rmdir ./--version
+    MKDIR_P="$ac_install_sh -d"
+  fi
+fi
+{ $as_echo "$as_me:$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:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_AWK+set}" = set; 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:$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:$LINENO: result: $AWK" >&5
+$as_echo "$AWK" >&6; }
+else
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$AWK" && break
+done
+
+{ $as_echo "$as_me:$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 { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; 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:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+  SET_MAKE=
+else
+  { $as_echo "$as_me:$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_echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
+$as_echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
+   { (exit 1); exit 1; }; }
+  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-ng'
+ VERSION='2.16.2'
+
+
+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"}
+
+am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
+
+
+
+
+
+
+
+
+
+
+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="10-Feb-2009"
+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
+
+# Check whether exec_prefix=/usr:
+case $exec_prefix:$prefix in
+NONE:NONE | NONE:/usr | /usr:*)
+  { $as_echo "$as_me:$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:$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:$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:$LINENO:   --libdir defaults to /lib" >&5
+$as_echo "$as_me:   --libdir defaults to /lib" >&6;} ;;
+  esac ;;
+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:$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:$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:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; 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:$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:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:$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:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; 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:$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:$LINENO: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+  { $as_echo "$as_me:$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:$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:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; 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:$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:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:$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:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; 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:$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:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:$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:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; 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:$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:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:$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:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; 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:$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:$LINENO: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+  { $as_echo "$as_me:$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:$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:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: no acceptable C compiler found in \$PATH
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }; }
+
+# Provide some information about the compiler.
+$as_echo "$as_me:$LINENO: checking for C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compiler --version >&5") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compiler -v >&5") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compiler -V >&5") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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:$LINENO: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link_default") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; 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
+
+{ $as_echo "$as_me:$LINENO: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
+if test -z "$ac_file"; then
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: C compiler cannot create executables
+See \`config.log' for more details." >&2;}
+   { (exit 77); exit 77; }; }; }
+fi
+
+ac_exeext=$ac_cv_exeext
+
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:$LINENO: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
+# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
+# If not cross compiling, check that we can run a simple program.
+if test "$cross_compiling" != yes; then
+  if { ac_try='./$ac_file'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+       cross_compiling=yes
+    else
+       { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }; }
+    fi
+  fi
+fi
+{ $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
+ac_clean_files=$ac_clean_files_save
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+{ $as_echo "$as_me:$LINENO: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+{ $as_echo "$as_me:$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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; 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:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }; }
+fi
+
+rm -f conftest$ac_cv_exeext
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
+$as_echo "$ac_cv_exeext" >&6; }
+
+rm -f conftest.$ac_ext
+EXEEXT=$ac_cv_exeext
+ac_exeext=$EXEEXT
+{ $as_echo "$as_me:$LINENO: checking for suffix of object files" >&5
+$as_echo_n "checking for suffix of object files... " >&6; }
+if test "${ac_cv_objext+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; 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:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }; }
+fi
+
+rm -f conftest.$ac_cv_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
+$as_echo "$ac_cv_objext" >&6; }
+OBJEXT=$ac_cv_objext
+ac_objext=$OBJEXT
+{ $as_echo "$as_me:$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 test "${ac_cv_c_compiler_gnu+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+#ifndef __GNUC__
+       choke me
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_compiler_gnu=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       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:$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:$LINENO: checking whether $CC accepts -g" >&5
+$as_echo_n "checking whether $CC accepts -g... " >&6; }
+if test "${ac_cv_prog_cc_g+set}" = set; 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 >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_prog_cc_g=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       CFLAGS=""
+      cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  :
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_c_werror_flag=$ac_save_c_werror_flag
+        CFLAGS="-g"
+        cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_prog_cc_g=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+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:$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:$LINENO: checking for $CC option to accept ISO C89" >&5
+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
+if test "${ac_cv_prog_cc_c89+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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"
+  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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_prog_cc_c89=$ac_arg
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+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:$LINENO: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
+  xno)
+    { $as_echo "$as_me:$LINENO: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
+  *)
+    CC="$CC $ac_cv_prog_cc_c89"
+    { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
+$as_echo "$ac_cv_prog_cc_c89" >&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
+
+depcc="$CC"   am_compiler_list=
+
+{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if test "${am_cv_CC_dependencies_compiler_type+set}" = set; 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:$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
+
+
+   case $ac_cv_prog_cc_stdc in
+  no) ac_cv_prog_cc_c99=no; ac_cv_prog_cc_c89=no ;;
+  *) { $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C99" >&5
+$as_echo_n "checking for $CC option to accept ISO C99... " >&6; }
+if test "${ac_cv_prog_cc_c99+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  ac_cv_prog_cc_c99=no
+ac_save_CC=$CC
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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"
+  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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_prog_cc_c99=$ac_arg
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+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:$LINENO: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
+  xno)
+    { $as_echo "$as_me:$LINENO: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
+  *)
+    CC="$CC $ac_cv_prog_cc_c99"
+    { $as_echo "$as_me:$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:$LINENO: checking for $CC option to accept ISO C89" >&5
+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
+if test "${ac_cv_prog_cc_c89+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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"
+  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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_prog_cc_c89=$ac_arg
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+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:$LINENO: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
+  xno)
+    { $as_echo "$as_me:$LINENO: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
+  *)
+    CC="$CC $ac_cv_prog_cc_c89"
+    { $as_echo "$as_me:$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:$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 test "${ac_cv_prog_cc_stdc+set}" = set; then
+  $as_echo_n "(cached) " >&6
+fi
+
+  case $ac_cv_prog_cc_stdc in
+  no) { $as_echo "$as_me:$LINENO: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
+  '') { $as_echo "$as_me:$LINENO: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
+  *) { $as_echo "$as_me:$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:$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 test "${ac_cv_prog_CPP+set}" = set; 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 >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+                    Syntax error
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
+  :
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Broken: fails on valid input.
+continue
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
+  # Broken: success on invalid input.
+continue
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f 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:$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 >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+                    Syntax error
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
+  :
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Broken: fails on valid input.
+continue
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
+  # Broken: success on invalid input.
+continue
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+  :
+else
+  { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }; }
+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:$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 test "${ac_cv_path_GREP+set}" = set; 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
+    ac_count=`expr $ac_count + 1`
+    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_echo "$as_me:$LINENO: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+$as_echo "$as_me: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+   { (exit 1); exit 1; }; }
+  fi
+else
+  ac_cv_path_GREP=$GREP
+fi
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
+$as_echo "$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
+
+{ $as_echo "$as_me:$LINENO: checking for egrep" >&5
+$as_echo_n "checking for egrep... " >&6; }
+if test "${ac_cv_path_EGREP+set}" = set; 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
+    ac_count=`expr $ac_count + 1`
+    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_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+$as_echo "$as_me: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+   { (exit 1); exit 1; }; }
+  fi
+else
+  ac_cv_path_EGREP=$EGREP
+fi
+
+   fi
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
+$as_echo "$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
+
+
+{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
+if test "${ac_cv_header_stdc+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_header_stdc=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       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 >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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 >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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 >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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
+rm -f 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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && { 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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  :
+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
+
+( exit $ac_status )
+ac_cv_header_stdc=no
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+fi
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STDC_HEADERS 1
+_ACEOF
+
+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`
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+
+#include <$ac_header>
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  eval "$as_ac_Header=yes"
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       eval "$as_ac_Header=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'`
+              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'`
+   if test "x$as_val" = x""yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+  if test "${ac_cv_header_minix_config_h+set}" = set; then
+  { $as_echo "$as_me:$LINENO: checking for minix/config.h" >&5
+$as_echo_n "checking for minix/config.h... " >&6; }
+if test "${ac_cv_header_minix_config_h+set}" = set; then
+  $as_echo_n "(cached) " >&6
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_minix_config_h" >&5
+$as_echo "$ac_cv_header_minix_config_h" >&6; }
+else
+  # Is the header compilable?
+{ $as_echo "$as_me:$LINENO: checking minix/config.h usability" >&5
+$as_echo_n "checking minix/config.h usability... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <minix/config.h>
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_header_compiler=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:$LINENO: checking minix/config.h presence" >&5
+$as_echo_n "checking minix/config.h presence... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <minix/config.h>
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
+  ac_header_preproc=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ $as_echo "$as_me:$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:$LINENO: WARNING: minix/config.h: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: minix/config.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: minix/config.h: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: minix/config.h: present but cannot be compiled" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: minix/config.h:     check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: minix/config.h:     check for missing prerequisite headers?" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: minix/config.h: see the Autoconf documentation" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: minix/config.h:     section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: minix/config.h:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: minix/config.h: proceeding with the preprocessor's result" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: minix/config.h: in the future, the compiler will take precedence" >&2;}
+    ( cat <<\_ASBOX
+## ------------------------------ ##
+## Report this to kzak@redhat.com ##
+## ------------------------------ ##
+_ASBOX
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+{ $as_echo "$as_me:$LINENO: checking for minix/config.h" >&5
+$as_echo_n "checking for minix/config.h... " >&6; }
+if test "${ac_cv_header_minix_config_h+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  ac_cv_header_minix_config_h=$ac_header_preproc
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_minix_config_h" >&5
+$as_echo "$ac_cv_header_minix_config_h" >&6; }
+
+fi
+if test "x$ac_cv_header_minix_config_h" = x""yes; then
+  MINIX=yes
+else
+  MINIX=
+fi
+
+
+  if test "$MINIX" = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define _POSIX_SOURCE 1
+_ACEOF
+
+
+cat >>confdefs.h <<\_ACEOF
+#define _POSIX_1_SOURCE 2
+_ACEOF
+
+
+cat >>confdefs.h <<\_ACEOF
+#define _MINIX 1
+_ACEOF
+
+  fi
+
+
+
+  { $as_echo "$as_me:$LINENO: checking whether it is safe to define __EXTENSIONS__" >&5
+$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
+if test "${ac_cv_safe_to_define___extensions__+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#        define __EXTENSIONS__ 1
+         $ac_includes_default
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_safe_to_define___extensions__=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_safe_to_define___extensions__=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$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 &&
+    cat >>confdefs.h <<\_ACEOF
+#define __EXTENSIONS__ 1
+_ACEOF
+
+  cat >>confdefs.h <<\_ACEOF
+#define _ALL_SOURCE 1
+_ACEOF
+
+  cat >>confdefs.h <<\_ACEOF
+#define _GNU_SOURCE 1
+_ACEOF
+
+  cat >>confdefs.h <<\_ACEOF
+#define _POSIX_PTHREAD_SEMANTICS 1
+_ACEOF
+
+  cat >>confdefs.h <<\_ACEOF
+#define _TANDEM_SOURCE 1
+_ACEOF
+
+
+# Make sure we can run config.sub.
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+  { { $as_echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
+$as_echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
+   { (exit 1); exit 1; }; }
+
+{ $as_echo "$as_me:$LINENO: checking build system type" >&5
+$as_echo_n "checking build system type... " >&6; }
+if test "${ac_cv_build+set}" = set; 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_echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
+$as_echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
+   { (exit 1); exit 1; }; }
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+  { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
+$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
+   { (exit 1); exit 1; }; }
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_build" >&5
+$as_echo "$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
+$as_echo "$as_me: error: invalid value of canonical build" >&2;}
+   { (exit 1); exit 1; }; };;
+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:$LINENO: checking host system type" >&5
+$as_echo_n "checking host system type... " >&6; }
+if test "${ac_cv_host+set}" = set; 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_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
+$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_host" >&5
+$as_echo "$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
+$as_echo "$as_me: error: invalid value of canonical host" >&2;}
+   { (exit 1); exit 1; }; };;
+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:$LINENO: checking whether byte ordering is bigendian" >&5
+$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
+if test "${ac_cv_c_bigendian+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  ac_cv_c_bigendian=unknown
+    # See if we're dealing with a universal compiler.
+    cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#ifndef __APPLE_CC__
+              not a universal capable compiler
+            #endif
+            typedef int dummy;
+
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+
+       # Check for potential -arch flags.  It is not universal unless
+       # there are some -arch flags.  Note that *ppc* also matches
+       # ppc64.  This check is also rather less than ideal.
+       case "${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}" in  #(
+         *-arch*ppc*|*-arch*i386*|*-arch*x86_64*) ac_cv_c_bigendian=universal;;
+       esac
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+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 >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  # It does; now see whether it defined to BIG_ENDIAN or not.
+        cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_c_bigendian=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_c_bigendian=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+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 >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <limits.h>
+
+int
+main ()
+{
+#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
+             bogus endian macros
+            #endif
+
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  # It does; now see whether it defined to _BIG_ENDIAN or not.
+        cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <limits.h>
+
+int
+main ()
+{
+#ifndef _BIG_ENDIAN
+                not big endian
+               #endif
+
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_c_bigendian=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_c_bigendian=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+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 >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; 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
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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
+rm -f 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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && { 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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_c_bigendian=no
+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
+
+( exit $ac_status )
+ac_cv_c_bigendian=yes
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+    fi
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5
+$as_echo "$ac_cv_c_bigendian" >&6; }
+ case $ac_cv_c_bigendian in #(
+   yes)
+     cat >>confdefs.h <<\_ACEOF
+#define WORDS_BIGENDIAN 1
+_ACEOF
+;; #(
+   no)
+      ;; #(
+   universal)
+
+cat >>confdefs.h <<\_ACEOF
+#define AC_APPLE_UNIVERSAL_BUILD 1
+_ACEOF
+
+     ;; #(
+   *)
+     { { $as_echo "$as_me:$LINENO: error: unknown endianness
+ presetting ac_cv_c_bigendian=no (or yes) will help" >&5
+$as_echo "$as_me: error: unknown endianness
+ presetting ac_cv_c_bigendian=no (or yes) will help" >&2;}
+   { (exit 1); exit 1; }; } ;;
+ esac
+
+
+case `pwd` in
+  *\ * | *\    *)
+    { $as_echo "$as_me:$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.2.6'
+macro_revision='1.3012'
+
+
+
+
+
+
+
+
+
+
+
+
+
+ltmain="$ac_aux_dir/ltmain.sh"
+
+{ $as_echo "$as_me:$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 test "${ac_cv_path_SED+set}" = set; 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
+     $as_unset ac_script || 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
+    ac_count=`expr $ac_count + 1`
+    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_echo "$as_me:$LINENO: error: no acceptable sed could be found in \$PATH" >&5
+$as_echo "$as_me: error: no acceptable sed could be found in \$PATH" >&2;}
+   { (exit 1); exit 1; }; }
+  fi
+else
+  ac_cv_path_SED=$SED
+fi
+
+fi
+{ $as_echo "$as_me:$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:$LINENO: checking for fgrep" >&5
+$as_echo_n "checking for fgrep... " >&6; }
+if test "${ac_cv_path_FGREP+set}" = set; 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
+    ac_count=`expr $ac_count + 1`
+    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_echo "$as_me:$LINENO: error: no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+$as_echo "$as_me: error: no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+   { (exit 1); exit 1; }; }
+  fi
+else
+  ac_cv_path_FGREP=$FGREP
+fi
+
+   fi
+fi
+{ $as_echo "$as_me:$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:$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:$LINENO: checking for GNU ld" >&5
+$as_echo_n "checking for GNU ld... " >&6; }
+else
+  { $as_echo "$as_me:$LINENO: checking for non-GNU ld" >&5
+$as_echo_n "checking for non-GNU ld... " >&6; }
+fi
+if test "${lt_cv_path_LD+set}" = set; 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:$LINENO: result: $LD" >&5
+$as_echo "$LD" >&6; }
+else
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
+$as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
+   { (exit 1); exit 1; }; }
+{ $as_echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
+$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
+if test "${lt_cv_prog_gnu_ld+set}" = set; 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:$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:$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 test "${lt_cv_path_NM+set}" = set; 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:$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 "$ac_tool_prefix"; then
+  for ac_prog in "dumpbin -symbols" "link -dump -symbols"
+  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:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_DUMPBIN+set}" = set; 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:$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:$LINENO: result: $DUMPBIN" >&5
+$as_echo "$DUMPBIN" >&6; }
+else
+  { $as_echo "$as_me:$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 -symbols" "link -dump -symbols"
+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:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; 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:$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:$LINENO: result: $ac_ct_DUMPBIN" >&5
+$as_echo "$ac_ct_DUMPBIN" >&6; }
+else
+  { $as_echo "$as_me:$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:$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
+
+
+  if test "$DUMPBIN" != ":"; then
+    NM="$DUMPBIN"
+  fi
+fi
+test -z "$NM" && NM=nm
+
+
+
+
+
+
+{ $as_echo "$as_me:$LINENO: checking the name lister ($NM) interface" >&5
+$as_echo_n "checking the name lister ($NM) interface... " >&6; }
+if test "${lt_cv_nm_interface+set}" = set; 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:6170: $ac_compile\"" >&5)
+  (eval "$ac_compile" 2>conftest.err)
+  cat conftest.err >&5
+  (eval echo "\"\$as_me:6173: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+  cat conftest.err >&5
+  (eval echo "\"\$as_me:6176: 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:$LINENO: result: $lt_cv_nm_interface" >&5
+$as_echo "$lt_cv_nm_interface" >&6; }
+
+{ $as_echo "$as_me:$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:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+  { $as_echo "$as_me:$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:$LINENO: checking the maximum length of command line arguments" >&5
+$as_echo_n "checking the maximum length of command line arguments... " >&6; }
+if test "${lt_cv_sys_max_cmd_len+set}" = set; 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;
+    ;;
+
+  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"`$SHELL $0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
+                = "XX$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:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
+$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
+else
+  { $as_echo "$as_me:$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:$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"}, \
+      = c,a/b,, \
+    && eval 'test $(( 1 + 1 )) -eq 2 \
+    && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
+  && xsi_shell=yes
+{ $as_echo "$as_me:$LINENO: result: $xsi_shell" >&5
+$as_echo "$xsi_shell" >&6; }
+
+
+{ $as_echo "$as_me:$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:$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:$LINENO: checking for $LD option to reload object files" >&5
+$as_echo_n "checking for $LD option to reload object files... " >&6; }
+if test "${lt_cv_ld_reload_flag+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_ld_reload_flag='-r'
+fi
+{ $as_echo "$as_me:$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
+  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:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_OBJDUMP+set}" = set; 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:$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:$LINENO: result: $OBJDUMP" >&5
+$as_echo "$OBJDUMP" >&6; }
+else
+  { $as_echo "$as_me:$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:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; 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:$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:$LINENO: result: $ac_ct_OBJDUMP" >&5
+$as_echo "$ac_ct_OBJDUMP" >&6; }
+else
+  { $as_echo "$as_me:$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:$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:$LINENO: checking how to recognize dependent libraries" >&5
+$as_echo_n "checking how to recognize dependent libraries... " >&6; }
+if test "${lt_cv_deplibs_check_method+set}" = set; 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.
+  if ( 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
+    lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+    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
+  ;;
+
+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]) 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)
+  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:$LINENO: result: $lt_cv_deplibs_check_method" >&5
+$as_echo "$lt_cv_deplibs_check_method" >&6; }
+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}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_AR+set}" = set; 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}ar"
+    $as_echo "$as_me:$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:$LINENO: result: $AR" >&5
+$as_echo "$AR" >&6; }
+else
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_AR"; then
+  ac_ct_AR=$AR
+  # Extract the first word of "ar", so it can be a program name with args.
+set dummy ar; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_AR+set}" = set; 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="ar"
+    $as_echo "$as_me:$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:$LINENO: result: $ac_ct_AR" >&5
+$as_echo "$ac_ct_AR" >&6; }
+else
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_AR" = x; then
+    AR="false"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$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
+else
+  AR="$ac_cv_prog_AR"
+fi
+
+test -z "$AR" && AR=ar
+test -z "$AR_FLAGS" && AR_FLAGS=cru
+
+
+
+
+
+
+
+
+
+
+
+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:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_STRIP+set}" = set; 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:$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:$LINENO: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
+else
+  { $as_echo "$as_me:$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:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; 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:$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:$LINENO: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
+else
+  { $as_echo "$as_me:$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:$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:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_RANLIB+set}" = set; 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:$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:$LINENO: result: $RANLIB" >&5
+$as_echo "$RANLIB" >&6; }
+else
+  { $as_echo "$as_me:$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:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; 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:$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:$LINENO: result: $ac_ct_RANLIB" >&5
+$as_echo "$ac_ct_RANLIB" >&6; }
+else
+  { $as_echo "$as_me:$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:$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
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# 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:$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 test "${lt_cv_sys_global_symbol_pipe+set}" = set; 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
+
+  # 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:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+    # Now try to grab the symbols.
+    nlist=conftest.nm
+    if { (eval echo "$as_me:$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:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && 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
+#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.  */
+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_save_LIBS="$LIBS"
+         lt_save_CFLAGS="$CFLAGS"
+         LIBS="conftstm.$ac_objext"
+         CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
+         if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && test -s conftest${ac_exeext}; then
+           pipe_works=yes
+         fi
+         LIBS="$lt_save_LIBS"
+         CFLAGS="$lt_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:$LINENO: result: failed" >&5
+$as_echo "failed" >&6; }
+else
+  { $as_echo "$as_me:$LINENO: result: ok" >&5
+$as_echo "ok" >&6; }
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# 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:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; 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 7381 "configure"' > conftest.$ac_ext
+  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; 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:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; 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:$LINENO: checking whether the C compiler needs -belf" >&5
+$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
+if test "${lt_cv_cc_needs_belf+set}" = set; 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 >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        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
+  lt_cv_cc_needs_belf=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       lt_cv_cc_needs_belf=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      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:$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:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; 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"
+
+
+  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:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_DSYMUTIL+set}" = set; 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:$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:$LINENO: result: $DSYMUTIL" >&5
+$as_echo "$DSYMUTIL" >&6; }
+else
+  { $as_echo "$as_me:$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:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; 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:$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:$LINENO: result: $ac_ct_DSYMUTIL" >&5
+$as_echo "$ac_ct_DSYMUTIL" >&6; }
+else
+  { $as_echo "$as_me:$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:$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:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_NMEDIT+set}" = set; 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:$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:$LINENO: result: $NMEDIT" >&5
+$as_echo "$NMEDIT" >&6; }
+else
+  { $as_echo "$as_me:$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:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; 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:$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:$LINENO: result: $ac_ct_NMEDIT" >&5
+$as_echo "$ac_ct_NMEDIT" >&6; }
+else
+  { $as_echo "$as_me:$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:$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:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_LIPO+set}" = set; 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:$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:$LINENO: result: $LIPO" >&5
+$as_echo "$LIPO" >&6; }
+else
+  { $as_echo "$as_me:$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:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; 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:$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:$LINENO: result: $ac_ct_LIPO" >&5
+$as_echo "$ac_ct_LIPO" >&6; }
+else
+  { $as_echo "$as_me:$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:$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:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_OTOOL+set}" = set; 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:$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:$LINENO: result: $OTOOL" >&5
+$as_echo "$OTOOL" >&6; }
+else
+  { $as_echo "$as_me:$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:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; 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:$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:$LINENO: result: $ac_ct_OTOOL" >&5
+$as_echo "$ac_ct_OTOOL" >&6; }
+else
+  { $as_echo "$as_me:$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:$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:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_OTOOL64+set}" = set; 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:$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:$LINENO: result: $OTOOL64" >&5
+$as_echo "$OTOOL64" >&6; }
+else
+  { $as_echo "$as_me:$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:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; 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:$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:$LINENO: result: $ac_ct_OTOOL64" >&5
+$as_echo "$ac_ct_OTOOL64" >&6; }
+else
+  { $as_echo "$as_me:$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:$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:$LINENO: checking for -single_module linker flag" >&5
+$as_echo_n "checking for -single_module linker flag... " >&6; }
+if test "${lt_cv_apple_cc_single_mod+set}" = set; 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:$LINENO: result: $lt_cv_apple_cc_single_mod" >&5
+$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
+    { $as_echo "$as_me:$LINENO: checking for -exported_symbols_list linker flag" >&5
+$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
+if test "${lt_cv_ld_exported_symbols_list+set}" = set; 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 >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        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
+  lt_cv_ld_exported_symbols_list=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       lt_cv_ld_exported_symbols_list=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+       LDFLAGS="$save_LDFLAGS"
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_ld_exported_symbols_list" >&5
+$as_echo "$lt_cv_ld_exported_symbols_list" >&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" != ":"; then
+      _lt_dsymutil='~$DSYMUTIL $lib || :'
+    else
+      _lt_dsymutil=
+    fi
+    ;;
+  esac
+
+
+for ac_header in dlfcn.h
+do
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+
+#include <$ac_header>
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  eval "$as_ac_Header=yes"
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       eval "$as_ac_Header=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'`
+              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'`
+   if test "x$as_val" = x""yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 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:$LINENO: checking for objdir" >&5
+$as_echo_n "checking for objdir... " >&6; }
+if test "${lt_cv_objdir+set}" = set; 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:$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
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# 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'
+
+# 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 "X$cc_temp" | $Xsed -e 's%.*/%%' -e "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:$LINENO: checking for ${ac_tool_prefix}file" >&5
+$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
+if test "${lt_cv_path_MAGIC_CMD+set}" = set; 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:$LINENO: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
+else
+  { $as_echo "$as_me:$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:$LINENO: checking for file" >&5
+$as_echo_n "checking for file... " >&6; }
+if test "${lt_cv_path_MAGIC_CMD+set}" = set; 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:$LINENO: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
+else
+  { $as_echo "$as_me:$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
+  lt_prog_compiler_no_builtin_flag=' -fno-builtin'
+
+  { $as_echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
+if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; 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:8750: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&5
+   echo "$as_me:8754: \$? = $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 "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/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:$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=
+
+{ $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+
+  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'
+      ;;
+
+    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
+  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)
+      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'
+       ;;
+      pgcc* | pgf77* | pgf90* | pgf95*)
+        # 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*)
+       # IBM XL C 8.0/Fortran 10.1 on PPC
+       lt_prog_compiler_wl='-Wl,'
+       lt_prog_compiler_pic='-qpic'
+       lt_prog_compiler_static='-qstaticlink'
+       ;;
+      *)
+       case `$CC -V 2>&1 | sed 5q` in
+       *Sun\ C*)
+         # Sun C 5.9
+         lt_prog_compiler_pic='-KPIC'
+         lt_prog_compiler_static='-Bstatic'
+         lt_prog_compiler_wl='-Wl,'
+         ;;
+       *Sun\ F*)
+         # 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=''
+         ;;
+       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*)
+       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:$LINENO: result: $lt_prog_compiler_pic" >&5
+$as_echo "$lt_prog_compiler_pic" >&6; }
+
+
+
+
+
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$lt_prog_compiler_pic"; then
+  { $as_echo "$as_me:$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 test "${lt_cv_prog_compiler_pic_works+set}" = set; 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:9089: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&5
+   echo "$as_me:9093: \$? = $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 "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/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:$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:$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 test "${lt_cv_prog_compiler_static_works+set}" = set; 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 "X$_lt_linker_boilerplate" | $Xsed -e '/^$/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:$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:$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 test "${lt_cv_prog_compiler_c_o+set}" = set; 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:9194: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>out/conftest.err)
+   ac_status=$?
+   cat out/conftest.err >&5
+   echo "$as_me:9198: \$? = $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 "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/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:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
+$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
+
+
+
+
+
+
+  { $as_echo "$as_me:$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 test "${lt_cv_prog_compiler_c_o+set}" = set; 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:9249: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>out/conftest.err)
+   ac_status=$?
+   cat out/conftest.err >&5
+   echo "$as_me:9253: \$? = $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 "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/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:$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:$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:$LINENO: result: $hard_links" >&5
+$as_echo "$hard_links" >&6; }
+  if test "$hard_links" = no; then
+    { $as_echo "$as_me:$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:$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
+  if test "$with_gnu_ld" = 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
+      *\ [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.9.1, 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 modify your PATH
+*** so that a non-GNU linker is found, and then restart.
+
+_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'
+      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/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
+
+      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
+      ;;
+
+    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)
+      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=
+       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; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+         tmp_addflag=' $pic_flag'
+         ;;
+       pgf77* | pgf90* | pgf95*)       # 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; $ECHO \"$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]*)                        # IBM XL C 8.0 on PPC (deal with xlf below)
+         tmp_sharedflag='-qmkshrobj'
+         tmp_addflag= ;;
+       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; $ECHO \"$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*)
+         # 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 $compiler_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 $compiler_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 $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'
+      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 $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
+      ;;
+
+    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 $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
+
+    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
+       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")) && (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.
+        cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        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
+
+lt_aix_libpath_sed='
+    /Import File Strings/,/^$/ {
+       /^0/ {
+           s/^0  *\(.*\)$/\1/
+           p
+       }
+    }'
+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 "$aix_libpath"; then
+  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; 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 $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; 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.
+        cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        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
+
+lt_aix_libpath_sed='
+    /Import File Strings/,/^$/ {
+       /^0/ {
+           s/^0  *\(.*\)$/\1/
+           p
+       }
+    }'
+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 "$aix_libpath"; then
+  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; 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'
+         # Exported symbols can be pulled into shared objects from archives
+         whole_archive_flag_spec='$convenience'
+         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.
+      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 `$ECHO "X$deplibs" | $Xsed -e '\''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'
+      fix_srcfile_path='`cygpath -w "$srcfile"`'
+      enable_shared_with_static_runtimes=yes
+      ;;
+
+    darwin* | rhapsody*)
+
+
+  archive_cmds_need_lc=no
+  hardcode_direct=no
+  hardcode_automatic=yes
+  hardcode_shlibpath_var=unsupported
+  whole_archive_flag_spec=''
+  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=echo
+    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 -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 -fPIC ${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 -a "$with_gnu_ld" = no; then
+       archive_cmds='$CC -shared -fPIC ${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 -a "$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 -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+         ;;
+       *)
+         archive_cmds='$CC -shared -fPIC ${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'
+         ;;
+       *)
+         archive_cmds='$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
+       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 $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${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.
+        save_LDFLAGS="$LDFLAGS"
+        LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+        cat >conftest.$ac_ext <<_ACEOF
+int foo(void) {}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        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
+  archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+        LDFLAGS="$save_LDFLAGS"
+      else
+       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+       archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -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" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${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" && $ECHO "X-set_version $verstring" | $Xsed` -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} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${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" && $ECHO "X-set_version $verstring" | $Xsed` -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 "X-set_version $verstring" | $Xsed` -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 ${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 ${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:$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:$LINENO: checking whether -lc should be explicitly linked in" >&5
+$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
+      $RM conftest*
+      echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+      if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } 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:$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:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+        then
+         archive_cmds_need_lc=no
+        else
+         archive_cmds_need_lc=yes
+        fi
+        allow_undefined_flag=$lt_save_allow_undefined_flag
+      else
+        cat conftest.err 1>&5
+      fi
+      $RM conftest*
+      { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5
+$as_echo "$archive_cmds_need_lc" >&6; }
+      ;;
+    esac
+  fi
+  ;;
+esac
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+  { $as_echo "$as_me:$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
+  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+  if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
+    # 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 -e 's/;/ /g'`
+  else
+    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+  fi
+  # 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; }
+}'`
+  sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
+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=`$ECHO "X$lib" | $Xsed -e '\''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,$host_os in
+  yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
+    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="/usr/lib /lib/w32api /lib /usr/local/lib"
+      ;;
+    mingw* | cegcc*)
+      # MinGW DLLs use traditional 'lib' prefix
+      soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+      if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
+        # It is most probably a Windows format PATH printed by
+        # mingw gcc, but we are running on Cygwin. Gcc prints its search
+        # path with ; separators, and with drive letters. We can handle the
+        # drive letters (cygwin fileutils understands them), so leave them,
+        # especially as we might pass files found there to a mingw objdump,
+        # which wouldn't understand a cygwinified path. Ahh.
+        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
+      ;;
+    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
+    ;;
+
+  *)
+    library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+    ;;
+  esac
+  dynamic_linker='Win32 ld.exe'
+  # 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
+  ;;
+
+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'
+  ;;
+
+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)
+  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
+  save_LDFLAGS=$LDFLAGS
+  save_libdir=$libdir
+  eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
+       LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        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
+  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then
+  shlibpath_overrides_runpath=yes
+fi
+
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+  LDFLAGS=$save_LDFLAGS
+  libdir=$save_libdir
+
+  # 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;/^$/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:$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:$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:$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:$LINENO: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
+if test "${ac_cv_lib_dl_dlopen+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        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_cv_lib_dl_dlopen=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_lib_dl_dlopen=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = x""yes; 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
+
+    ;;
+
+  *)
+    { $as_echo "$as_me:$LINENO: checking for shl_load" >&5
+$as_echo_n "checking for shl_load... " >&6; }
+if test "${ac_cv_func_shl_load+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+/* Define shl_load to an innocuous variant, in case <limits.h> declares shl_load.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define shl_load innocuous_shl_load
+
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char shl_load (); 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 shl_load
+
+/* 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 ();
+/* 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_shl_load || defined __stub___shl_load
+choke me
+#endif
+
+int
+main ()
+{
+return shl_load ();
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        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_cv_func_shl_load=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_func_shl_load=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
+$as_echo "$ac_cv_func_shl_load" >&6; }
+if test "x$ac_cv_func_shl_load" = x""yes; then
+  lt_cv_dlopen="shl_load"
+else
+  { $as_echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
+$as_echo_n "checking for shl_load in -ldld... " >&6; }
+if test "${ac_cv_lib_dld_shl_load+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        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_cv_lib_dld_shl_load=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_lib_dld_shl_load=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$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" = x""yes; then
+  lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
+else
+  { $as_echo "$as_me:$LINENO: checking for dlopen" >&5
+$as_echo_n "checking for dlopen... " >&6; }
+if test "${ac_cv_func_dlopen+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+/* Define dlopen to an innocuous variant, in case <limits.h> declares dlopen.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define dlopen innocuous_dlopen
+
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char dlopen (); 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 dlopen
+
+/* 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 ();
+/* 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_dlopen || defined __stub___dlopen
+choke me
+#endif
+
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        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_cv_func_dlopen=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_func_dlopen=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
+$as_echo "$ac_cv_func_dlopen" >&6; }
+if test "x$ac_cv_func_dlopen" = x""yes; then
+  lt_cv_dlopen="dlopen"
+else
+  { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
+if test "${ac_cv_lib_dl_dlopen+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        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_cv_lib_dl_dlopen=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_lib_dl_dlopen=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = x""yes; then
+  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+else
+  { $as_echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
+$as_echo_n "checking for dlopen in -lsvld... " >&6; }
+if test "${ac_cv_lib_svld_dlopen+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lsvld  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        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_cv_lib_svld_dlopen=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_lib_svld_dlopen=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
+$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
+if test "x$ac_cv_lib_svld_dlopen" = x""yes; then
+  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
+else
+  { $as_echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
+$as_echo_n "checking for dld_link in -ldld... " >&6; }
+if test "${ac_cv_lib_dld_dld_link+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        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_cv_lib_dld_dld_link=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_lib_dld_dld_link=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$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" = x""yes; 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:$LINENO: checking whether a program can dlopen itself" >&5
+$as_echo_n "checking whether a program can dlopen itself... " >&6; }
+if test "${lt_cv_dlopen_self+set}" = set; 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 12052 "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
+
+void fnord() { int i=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;
+      /* dlclose (self); */
+    }
+  else
+    puts (dlerror ());
+
+  return status;
+}
+_LT_EOF
+  if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && 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:$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:$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 test "${lt_cv_dlopen_self_static+set}" = set; 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 12148 "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
+
+void fnord() { int i=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;
+      /* dlclose (self); */
+    }
+  else
+    puts (dlerror ());
+
+  return status;
+}
+_LT_EOF
+  if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && 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:$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:$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:$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:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+    else
+      { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+    fi
+    ;;
+  *)
+    { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+    ;;
+  esac
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+  # Report which library types will actually be built
+  { $as_echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
+$as_echo_n "checking if libtool supports shared libraries... " >&6; }
+  { $as_echo "$as_me:$LINENO: result: $can_build_shared" >&5
+$as_echo "$can_build_shared" >&6; }
+
+  { $as_echo "$as_me:$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:$LINENO: result: $enable_shared" >&5
+$as_echo "$enable_shared" >&6; }
+
+  { $as_echo "$as_me:$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:$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:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_PKG_CONFIG+set}" = set; 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:$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:$LINENO: result: $PKG_CONFIG" >&5
+$as_echo "$PKG_CONFIG" >&6; }
+else
+  { $as_echo "$as_me:$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:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; 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:$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:$LINENO: result: $ac_pt_PKG_CONFIG" >&5
+$as_echo "$ac_pt_PKG_CONFIG" >&6; }
+else
+  { $as_echo "$as_me:$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:$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:$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:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+       else
+               { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+               PKG_CONFIG=""
+       fi
+
+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
+
+
+# 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:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_PERL+set}" = set; 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:$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:$LINENO: result: $PERL" >&5
+$as_echo "$PERL" >&6; }
+else
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+# Extract the first word of "blkid", so it can be a program name with args.
+set dummy blkid; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_BLKID+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  case $BLKID in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_BLKID="$BLKID" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_dummy="$PATH:/sbin"
+for as_dir in $as_dummy
+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_BLKID="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+BLKID=$ac_cv_path_BLKID
+if test -n "$BLKID"; then
+  { $as_echo "$as_me:$LINENO: result: $BLKID" >&5
+$as_echo "$BLKID" >&6; }
+else
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+# Extract the first word of "vol_id", so it can be a program name with args.
+set dummy vol_id; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_VOLID+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  case $VOLID in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_VOLID="$VOLID" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_dummy="$PATH:/lib/udev"
+for as_dir in $as_dummy
+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_VOLID="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+VOLID=$ac_cv_path_VOLID
+if test -n "$VOLID"; then
+  { $as_echo "$as_me:$LINENO: result: $VOLID" >&5
+$as_echo "$VOLID" >&6; }
+else
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+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:$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 test "${ac_cv_sys_largefile_CC+set}" = set; 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 >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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
+        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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  break
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext
+        CC="$CC -n32"
+        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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_sys_largefile_CC=' -n32'; break
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+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:$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:$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 test "${ac_cv_sys_file_offset_bits+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  while :; do
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_sys_file_offset_bits=no; break
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_sys_file_offset_bits=64; break
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+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:$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:$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 test "${ac_cv_sys_large_files+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  while :; do
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_sys_large_files=no; break
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_sys_large_files=1; break
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+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:$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
+
+
+
+
+
+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`
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#ifdef HAVE_LINUX_COMPILER_H
+#include <linux/compiler.h>
+#endif
+
+
+#include <$ac_header>
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  eval "$as_ac_Header=yes"
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       eval "$as_ac_Header=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'`
+              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'`
+   if test "x$as_val" = x""yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+for ac_header in err.h \
+       errno.h \
+       getopt.h \
+       langinfo.h \
+       linux/fd.h \
+       linux/tiocl.h \
+       linux/version.h \
+       locale.h \
+       stdint.h \
+       inttypes.h \
+       pty.h \
+       mntent.h \
+        net/if.h \
+       net/if_dl.h \
+        netinet/in.h \
+       rpcsvc/nfs_prot.h \
+       scsi/scsi.h \
+       stdlib.h \
+       sys/disk.h \
+       sys/disklabel.h \
+       sys/ioctl.h \
+       sys/io.h \
+       sys/time.h \
+       sys/mkdev.h \
+       sys/prctl.h \
+       sys/queue.h \
+       sys/sockio.h \
+       sys/file.h \
+       sys/ioctl.h \
+       sys/stat.h \
+       sys/types.h \
+       sys/un.h \
+       sys/user.h \
+       sys/resource.h \
+       unistd.h
+do
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  $as_echo_n "(cached) " >&6
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'`
+              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+  # Is the header compilable?
+{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
+$as_echo_n "checking $ac_header usability... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_header_compiler=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
+$as_echo_n "checking $ac_header presence... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <$ac_header>
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
+  ac_header_preproc=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ $as_echo "$as_me:$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:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+    ( cat <<\_ASBOX
+## ------------------------------ ##
+## Report this to kzak@redhat.com ##
+## ------------------------------ ##
+_ASBOX
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  $as_echo_n "(cached) " >&6
+else
+  eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'`
+              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+
+fi
+as_val=`eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'`
+   if test "x$as_val" = x""yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+for ac_header in linux/raw.h
+do
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  $as_echo_n "(cached) " >&6
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'`
+              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+  # Is the header compilable?
+{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
+$as_echo_n "checking $ac_header usability... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_header_compiler=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
+$as_echo_n "checking $ac_header presence... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <$ac_header>
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
+  ac_header_preproc=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ $as_echo "$as_me:$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:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+    ( cat <<\_ASBOX
+## ------------------------------ ##
+## Report this to kzak@redhat.com ##
+## ------------------------------ ##
+_ASBOX
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  $as_echo_n "(cached) " >&6
+else
+  eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'`
+              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+
+fi
+as_val=`eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'`
+   if test "x$as_val" = x""yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+  if true; then
+  HAVE_RAW_TRUE=
+  HAVE_RAW_FALSE='#'
+else
+  HAVE_RAW_TRUE='#'
+  HAVE_RAW_FALSE=
+fi
+
+else
+   if false; then
+  HAVE_RAW_TRUE=
+  HAVE_RAW_FALSE='#'
+else
+  HAVE_RAW_TRUE='#'
+  HAVE_RAW_FALSE=
+fi
+
+fi
+
+done
+
+
+{ $as_echo "$as_me:$LINENO: checking whether _NL_TIME_WEEK_1STDAY is declared" >&5
+$as_echo_n "checking whether _NL_TIME_WEEK_1STDAY is declared... " >&6; }
+if test "${ac_cv_have_decl__NL_TIME_WEEK_1STDAY+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <langinfo.h>
+
+int
+main ()
+{
+#ifndef _NL_TIME_WEEK_1STDAY
+  (void) _NL_TIME_WEEK_1STDAY;
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_have_decl__NL_TIME_WEEK_1STDAY=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_have_decl__NL_TIME_WEEK_1STDAY=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl__NL_TIME_WEEK_1STDAY" >&5
+$as_echo "$ac_cv_have_decl__NL_TIME_WEEK_1STDAY" >&6; }
+if test "x$ac_cv_have_decl__NL_TIME_WEEK_1STDAY" = x""yes; then
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL__NL_TIME_WEEK_1STDAY 1
+_ACEOF
+
+
+else
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL__NL_TIME_WEEK_1STDAY 0
+_ACEOF
+
+
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+for ac_func in inet_aton \
+       fsync \
+       getdomainname \
+       get_current_dir_name \
+       nanosleep \
+       personality \
+       updwtmp \
+       jrand48 \
+       lchown \
+       llseek \
+       lseek64 \
+       strtoull \
+       sysconf \
+       getdtablesize \
+       getrlimit \
+       srandom \
+       setresgid \
+       setresuid \
+       inotify_init \
+       prctl \
+       __secure_getenv \
+       rpmatch
+do
+as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
+$as_echo_n "checking for $ac_func... " >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $ac_func (); 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 $ac_func
+
+/* 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 $ac_func ();
+/* 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_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        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
+  eval "$as_ac_var=yes"
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       eval "$as_ac_var=no"
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'`
+              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'`
+   if test "x$as_val" = x""yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+{ $as_echo "$as_me:$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 test "${ac_cv_sys_largefile_source+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  while :; do
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        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_cv_sys_largefile_source=no; break
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        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_cv_sys_largefile_source=1; break
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+  ac_cv_sys_largefile_source=unknown
+  break
+done
+fi
+{ $as_echo "$as_me:$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
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_FSEEKO 1
+_ACEOF
+
+fi
+
+
+
+
+
+for ac_func in openat fstatat unlinkat
+do
+as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
+$as_echo_n "checking for $ac_func... " >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $ac_func (); 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 $ac_func
+
+/* 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 $ac_func ();
+/* 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_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        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
+  eval "$as_ac_var=yes"
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       eval "$as_ac_var=no"
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'`
+              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'`
+   if test "x$as_val" = 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
+
+
+{ $as_echo "$as_me:$LINENO: checking for struct sockaddr.sa_len" >&5
+$as_echo_n "checking for struct sockaddr.sa_len... " >&6; }
+if test "${ac_cv_member_struct_sockaddr_sa_len+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <sys/types.h>
+        #include <sys/socket.h>
+
+int
+main ()
+{
+static struct sockaddr ac_aggr;
+if (ac_aggr.sa_len)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_member_struct_sockaddr_sa_len=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <sys/types.h>
+        #include <sys/socket.h>
+
+int
+main ()
+{
+static struct sockaddr ac_aggr;
+if (sizeof ac_aggr.sa_len)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_member_struct_sockaddr_sa_len=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_member_struct_sockaddr_sa_len=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
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_sockaddr_sa_len" >&5
+$as_echo "$ac_cv_member_struct_sockaddr_sa_len" >&6; }
+if test "x$ac_cv_member_struct_sockaddr_sa_len" = x""yes; then
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_SA_LEN 1
+_ACEOF
+
+fi
+
+
+
+
+# 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
+
+if test "x$enable_tls" = xyes; then
+
+  { $as_echo "$as_me:$LINENO: checking for thread local storage (TLS) class" >&5
+$as_echo_n "checking for thread local storage (TLS) class... " >&6; }
+  if test "${ac_cv_tls+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+
+    ax_tls_keywords="__thread __declspec(thread) none"
+    for ax_tls_keyword in $ax_tls_keywords; do
+       case $ax_tls_keyword in
+          none) ac_cv_tls=none ; break ;;
+          *)
+             cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <stdlib.h>
+                 static void
+                 foo(void) {
+                 static  $ax_tls_keyword  int bar;
+                 exit(1);
+                 }
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_tls=$ax_tls_keyword ; break
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_tls=none
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+          esac
+    done
+
+fi
+
+
+  if test "$ac_cv_tls" != "none"; then
+
+cat >>confdefs.h <<_ACEOF
+#define TLS $ac_cv_tls
+_ACEOF
+
+  fi
+  { $as_echo "$as_me:$LINENO: result: $ac_cv_tls" >&5
+$as_echo "$ac_cv_tls" >&6; }
+
+fi
+
+
+# Check whether --enable-mount was given.
+if test "${enable_mount+set}" = set; then
+  enableval=$enable_mount;
+else
+  enable_mount=check
+
+fi
+
+build_mount=yes
+if test "x$enable_mount" = xcheck; then
+  if test "x$linux_os" = xno; then
+    { $as_echo "$as_me:$LINENO: WARNING: non-linux system; do not build mount utilities" >&5
+$as_echo "$as_me: WARNING: non-linux system; do not build mount utilities" >&2;}
+    build_mount=no
+  fi
+elif test "x$enable_mount" = xno; then
+    build_mount=no
+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-fsck was given.
+if test "${enable_fsck+set}" = set; then
+  enableval=$enable_fsck;
+else
+  enable_fsck=yes
+
+fi
+
+ if test "x$enable_fsck" = xyes; then
+  BUILD_FSCK_TRUE=
+  BUILD_FSCK_FALSE='#'
+else
+  BUILD_FSCK_TRUE='#'
+  BUILD_FSCK_FALSE=
+fi
+
+
+
+# Check whether --enable-libuuid was given.
+if test "${enable_libuuid+set}" = set; then
+  enableval=$enable_libuuid;
+else
+  enable_libuuid=yes
+
+fi
+
+
+
+ if test "x$enable_libuuid" = xyes; then
+  BUILD_LIBUUID_TRUE=
+  BUILD_LIBUUID_FALSE='#'
+else
+  BUILD_LIBUUID_TRUE='#'
+  BUILD_LIBUUID_FALSE=
+fi
+
+have_uuid=yes
+
+if test "x$enable_libuuid" = xno; then
+  # Check for external (e2fsprogs) libuuid
+
+pkg_failed=no
+{ $as_echo "$as_me:$LINENO: checking for UUID" >&5
+$as_echo_n "checking for UUID... " >&6; }
+
+if test -n "$UUID_CFLAGS"; then
+    pkg_cv_UUID_CFLAGS="$UUID_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"uuid\"") >&5
+  ($PKG_CONFIG --exists --print-errors "uuid") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  pkg_cv_UUID_CFLAGS=`$PKG_CONFIG --cflags "uuid" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+if test -n "$UUID_LIBS"; then
+    pkg_cv_UUID_LIBS="$UUID_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"uuid\"") >&5
+  ($PKG_CONFIG --exists --print-errors "uuid") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  pkg_cv_UUID_LIBS=`$PKG_CONFIG --libs "uuid" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+               UUID_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "uuid" 2>&1`
+        else
+               UUID_PKG_ERRORS=`$PKG_CONFIG --print-errors "uuid" 2>&1`
+        fi
+       # Put the nasty error message in config.log where it belongs
+       echo "$UUID_PKG_ERRORS" >&5
+
+       { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+                have_uuid=no
+elif test $pkg_failed = untried; then
+       have_uuid=no
+else
+       UUID_CFLAGS=$pkg_cv_UUID_CFLAGS
+       UUID_LIBS=$pkg_cv_UUID_LIBS
+        { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+       have_uuid=yes
+fi
+  if test "x$have_uuid" = xno; then
+    # system without pkg-config or so, try classic check
+    { $as_echo "$as_me:$LINENO: checking for uuid_is_null in -luuid" >&5
+$as_echo_n "checking for uuid_is_null in -luuid... " >&6; }
+if test "${ac_cv_lib_uuid_uuid_is_null+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-luuid  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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 uuid_is_null ();
+int
+main ()
+{
+return uuid_is_null ();
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        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_cv_lib_uuid_uuid_is_null=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_lib_uuid_uuid_is_null=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_uuid_uuid_is_null" >&5
+$as_echo "$ac_cv_lib_uuid_uuid_is_null" >&6; }
+if test "x$ac_cv_lib_uuid_uuid_is_null" = x""yes; then
+  have_uuid=yes
+else
+  have_uuid=no
+fi
+
+  fi
+  if test "x$have_uuid" = xyes; then
+
+  old_CFLAGS="$CFLAGS"
+  old_CPPFLAGS="$CPPFLAGS"
+  old_LDFLAGS="$LDFLAGS"
+  CFLAGS="$CFLAGS $UUID_CFLAGS"
+  CPPFLAGS="$CPPFLAGS $UUID_CFLAGS"
+  LDFLAGS="$LDFLAGS $UUID_LIBS"
+
+
+
+for ac_header in uuid.h uuid/uuid.h
+do
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  $as_echo_n "(cached) " >&6
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'`
+              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+  # Is the header compilable?
+{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
+$as_echo_n "checking $ac_header usability... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_header_compiler=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
+$as_echo_n "checking $ac_header presence... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <$ac_header>
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
+  ac_header_preproc=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ $as_echo "$as_me:$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:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+    ( cat <<\_ASBOX
+## ------------------------------ ##
+## Report this to kzak@redhat.com ##
+## ------------------------------ ##
+_ASBOX
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  $as_echo_n "(cached) " >&6
+else
+  eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'`
+              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+
+fi
+as_val=`eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'`
+   if test "x$as_val" = x""yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+ break
+fi
+
+done
+
+
+  CFLAGS="$old_CFLAGS"
+  CPPFLAGS="$old_CPPFLAGS"
+  LDFLAGS="$old_LDFLAGS"
+
+  fi
+else
+  # internal library
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_UUID_H 1
+_ACEOF
+
+fi
+
+if test "x$have_uuid" = xyes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_LIBUUID 1
+_ACEOF
+
+else
+  { $as_echo "$as_me:$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
+ if test "x$have_uuid" = xyes; then
+  HAVE_UUID_TRUE=
+  HAVE_UUID_FALSE='#'
+else
+  HAVE_UUID_TRUE='#'
+  HAVE_UUID_FALSE=
+fi
+
+# default
+: ${UUID_LIBS='-luuid'}
+
+
+# Check whether --enable-uuidd was given.
+if test "${enable_uuidd+set}" = set; then
+  enableval=$enable_uuidd;
+else
+  enable_uuidd=auto
+
+fi
+
+
+case "$enable_uuidd:$have_uuid" in
+yes:no)
+  { { $as_echo "$as_me:$LINENO: error: cannot enable uuidd when libuuid is disabled" >&5
+$as_echo "$as_me: error: cannot enable uuidd when libuuid is disabled" >&2;}
+   { (exit 1); exit 1; }; } ;;
+auto:*)
+  enable_uuidd=$have_uuid ;;
+esac
+if test "x$enable_uuidd" = xyes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_UUIDD 1
+_ACEOF
+
+fi
+ if test "x$enable_uuidd" = xyes; then
+  BUILD_UUIDD_TRUE=
+  BUILD_UUIDD_FALSE='#'
+else
+  BUILD_UUIDD_TRUE='#'
+  BUILD_UUIDD_FALSE=
+fi
+
+
+
+# Check whether --enable-libblkid was given.
+if test "${enable_libblkid+set}" = set; then
+  enableval=$enable_libblkid;
+else
+  enable_libblkid=yes
+
+fi
+
+
+
+ if test "x$enable_libblkid" = xyes; then
+  BUILD_LIBBLKID_TRUE=
+  BUILD_LIBBLKID_FALSE='#'
+else
+  BUILD_LIBBLKID_TRUE='#'
+  BUILD_LIBBLKID_FALSE=
+fi
+
+
+cat >>confdefs.h <<_ACEOF
+#define LIBBLKID_VERSION "$LIBBLKID_VERSION"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define LIBBLKID_DATE "$LIBBLKID_DATE"
+_ACEOF
+
+have_blkid=yes
+
+if test "x$enable_libblkid" = xno; then
+  if test "x$build_mount" = xyes || test "x$enable_fsck" = xyes; then
+    # Check for external (e2fsprogs) libblkid
+
+pkg_failed=no
+{ $as_echo "$as_me:$LINENO: checking for BLKID" >&5
+$as_echo_n "checking for BLKID... " >&6; }
+
+if test -n "$BLKID_CFLAGS"; then
+    pkg_cv_BLKID_CFLAGS="$BLKID_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"blkid\"") >&5
+  ($PKG_CONFIG --exists --print-errors "blkid") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  pkg_cv_BLKID_CFLAGS=`$PKG_CONFIG --cflags "blkid" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+if test -n "$BLKID_LIBS"; then
+    pkg_cv_BLKID_LIBS="$BLKID_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"blkid\"") >&5
+  ($PKG_CONFIG --exists --print-errors "blkid") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  pkg_cv_BLKID_LIBS=`$PKG_CONFIG --libs "blkid" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+               BLKID_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "blkid" 2>&1`
+        else
+               BLKID_PKG_ERRORS=`$PKG_CONFIG --print-errors "blkid" 2>&1`
+        fi
+       # Put the nasty error message in config.log where it belongs
+       echo "$BLKID_PKG_ERRORS" >&5
+
+       { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+                have_blkid=no
+elif test $pkg_failed = untried; then
+       have_blkid=no
+else
+       BLKID_CFLAGS=$pkg_cv_BLKID_CFLAGS
+       BLKID_LIBS=$pkg_cv_BLKID_LIBS
+        { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+       have_blkid=yes
+fi
+    if test "x$have_blkid" = xno; then
+      # system without pkg-config or so, try classic check
+      { $as_echo "$as_me:$LINENO: checking for blkid_get_cache in -lblkid" >&5
+$as_echo_n "checking for blkid_get_cache in -lblkid... " >&6; }
+if test "${ac_cv_lib_blkid_blkid_get_cache+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lblkid  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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 blkid_get_cache ();
+int
+main ()
+{
+return blkid_get_cache ();
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        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_cv_lib_blkid_blkid_get_cache=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_lib_blkid_blkid_get_cache=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_blkid_blkid_get_cache" >&5
+$as_echo "$ac_cv_lib_blkid_blkid_get_cache" >&6; }
+if test "x$ac_cv_lib_blkid_blkid_get_cache" = x""yes; then
+  have_blkid=yes
+else
+  have_blkid=no
+fi
+
+    fi
+    if test "x$have_blkid" = xyes; then
+
+  old_CFLAGS="$CFLAGS"
+  old_CPPFLAGS="$CPPFLAGS"
+  old_LDFLAGS="$LDFLAGS"
+  CFLAGS="$CFLAGS $BLKID_CFLAGS"
+  CPPFLAGS="$CPPFLAGS $BLKID_CFLAGS"
+  LDFLAGS="$LDFLAGS $BLKID_LIBS"
+
+
+
+for ac_header in blkid.h blkid/blkid.h
+do
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  $as_echo_n "(cached) " >&6
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'`
+              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+  # Is the header compilable?
+{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
+$as_echo_n "checking $ac_header usability... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_header_compiler=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
+$as_echo_n "checking $ac_header presence... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <$ac_header>
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
+  ac_header_preproc=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ $as_echo "$as_me:$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:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+    ( cat <<\_ASBOX
+## ------------------------------ ##
+## Report this to kzak@redhat.com ##
+## ------------------------------ ##
+_ASBOX
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  $as_echo_n "(cached) " >&6
+else
+  eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'`
+              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+
+fi
+as_val=`eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'`
+   if test "x$as_val" = x""yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+ break
+fi
+
+done
+
+
+  CFLAGS="$old_CFLAGS"
+  CPPFLAGS="$old_CPPFLAGS"
+  LDFLAGS="$old_LDFLAGS"
+
+    fi
+    if test -n "$enable_static_programs"; then
+      # TODO check only when mount of fsck are requested
+
+  if { ($as_echo "$as_me:$LINENO: pkg-config --exists --print-errors \"blkid\"") >&5
+  (pkg-config --exists --print-errors "blkid") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+    BLKID_LIBS_STATIC=`pkg-config --libs --static "blkid"`
+  else
+    { { $as_echo "$as_me:$LINENO: error: pkg-config description of blkid, needed for static build, is not available" >&5
+$as_echo "$as_me: error: pkg-config description of blkid, needed for static build, is not available" >&2;}
+   { (exit 1); exit 1; }; }
+  fi
+
+    fi
+  fi
+else
+  # internal library
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_BLKID_H 1
+_ACEOF
+
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_BLKID_EVALUATE_TAG 1
+_ACEOF
+
+fi
+
+if test "x$have_blkid" = xyes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_LIBBLKID 1
+_ACEOF
+
+else
+  if test "x$build_mount" = xyes; then
+    { { $as_echo "$as_me:$LINENO: error: libblkid is needed to build util-linux-ng mount" >&5
+$as_echo "$as_me: error: libblkid is needed to build util-linux-ng mount" >&2;}
+   { (exit 1); exit 1; }; }
+  fi
+  if test "x$enable_fsck" = xyes; then
+    { { $as_echo "$as_me:$LINENO: error: libblkid is needed to build util-linux-ng fsck" >&5
+$as_echo "$as_me: error: libblkid is needed to build util-linux-ng fsck" >&2;}
+   { (exit 1); exit 1; }; }
+  fi
+fi
+ if test "x$have_blkid" = xyes; then
+  HAVE_BLKID_TRUE=
+  HAVE_BLKID_FALSE='#'
+else
+  HAVE_BLKID_TRUE='#'
+  HAVE_BLKID_FALSE=
+fi
+
+# default
+: ${BLKID_LIBS='-lblkid -luuid'}
+
+
+
+
+
+
+  have_util=yes
+
+{ $as_echo "$as_me:$LINENO: checking for openpty in -lutil" >&5
+$as_echo_n "checking for openpty in -lutil... " >&6; }
+if test "${ac_cv_lib_util_openpty+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lutil  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        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_cv_lib_util_openpty=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_lib_util_openpty=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_util_openpty" >&5
+$as_echo "$ac_cv_lib_util_openpty" >&6; }
+if test "x$ac_cv_lib_util_openpty" = x""yes; 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:$LINENO: checking for tgetnum in -ltermcap" >&5
+$as_echo_n "checking for tgetnum in -ltermcap... " >&6; }
+if test "${ac_cv_lib_termcap_tgetnum+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ltermcap  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        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_cv_lib_termcap_tgetnum=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_lib_termcap_tgetnum=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_termcap_tgetnum" >&5
+$as_echo "$ac_cv_lib_termcap_tgetnum" >&6; }
+if test "x$ac_cv_lib_termcap_tgetnum" = x""yes; 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
+
+
+
+
+
+        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:$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:$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:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_MSGFMT+set}" = set; 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:$LINENO: result: $MSGFMT" >&5
+$as_echo "$MSGFMT" >&6; }
+else
+  { $as_echo "$as_me:$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:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_GMSGFMT+set}" = set; 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:$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:$LINENO: result: $GMSGFMT" >&5
+$as_echo "$GMSGFMT" >&6; }
+else
+  { $as_echo "$as_me:$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:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_XGETTEXT+set}" = set; 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:$LINENO: result: $XGETTEXT" >&5
+$as_echo "$XGETTEXT" >&6; }
+else
+  { $as_echo "$as_me:$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:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_MSGMERGE+set}" = set; 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:$LINENO: result: $MSGMERGE" >&5
+$as_echo "$MSGMERGE" >&6; }
+else
+  { $as_echo "$as_me:$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:$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:$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:$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:$LINENO: checking for GNU ld" >&5
+$as_echo_n "checking for GNU ld... " >&6; }
+else
+  { $as_echo "$as_me:$LINENO: checking for non-GNU ld" >&5
+$as_echo_n "checking for non-GNU ld... " >&6; }
+fi
+if test "${acl_cv_path_LD+set}" = set; 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:$LINENO: result: $LD" >&5
+$as_echo "$LD" >&6; }
+else
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
+$as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
+   { (exit 1); exit 1; }; }
+{ $as_echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
+$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
+if test "${acl_cv_prog_gnu_ld+set}" = set; 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:$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:$LINENO: checking for shared library run path origin" >&5
+$as_echo_n "checking for shared library run path origin... " >&6; }
+if test "${acl_cv_rpath+set}" = set; 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:$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:$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:$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:$LINENO: checking for GNU gettext in libc" >&5
+$as_echo_n "checking for GNU gettext in libc... " >&6; }
+if test "${gt_cv_func_gnugettext1_libc+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        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
+  gt_cv_func_gnugettext1_libc=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       gt_cv_func_gnugettext1_libc=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$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:$LINENO: checking for iconv" >&5
+$as_echo_n "checking for iconv... " >&6; }
+if test "${am_cv_func_iconv+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+
+    am_cv_func_iconv="no, consider installing GNU libiconv"
+    am_cv_lib_iconv=no
+    cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        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
+  am_cv_func_iconv=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+    if test "$am_cv_func_iconv" != yes; then
+      am_save_LIBS="$LIBS"
+      LIBS="$LIBS $LIBICONV"
+      cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        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
+  am_cv_lib_iconv=yes
+        am_cv_func_iconv=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+      LIBS="$am_save_LIBS"
+    fi
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $am_cv_func_iconv" >&5
+$as_echo "$am_cv_func_iconv" >&6; }
+  if test "$am_cv_func_iconv" = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_ICONV 1
+_ACEOF
+
+  fi
+  if test "$am_cv_lib_iconv" = yes; then
+    { $as_echo "$as_me:$LINENO: checking how to link with libiconv" >&5
+$as_echo_n "checking how to link with libiconv... " >&6; }
+    { $as_echo "$as_me:$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:$LINENO: checking for GNU gettext in libintl" >&5
+$as_echo_n "checking for GNU gettext in libintl... " >&6; }
+if test "${gt_cv_func_gnugettext1_libintl+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  gt_save_CPPFLAGS="$CPPFLAGS"
+            CPPFLAGS="$CPPFLAGS $INCINTL"
+            gt_save_LIBS="$LIBS"
+            LIBS="$LIBS $LIBINTL"
+                        cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        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
+  gt_cv_func_gnugettext1_libintl=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       gt_cv_func_gnugettext1_libintl=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+                        if test "$gt_cv_func_gnugettext1_libintl" != yes && test -n "$LIBICONV"; then
+              LIBS="$LIBS $LIBICONV"
+              cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        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
+  LIBINTL="$LIBINTL $LIBICONV"
+                LTLIBINTL="$LTLIBINTL $LTLIBICONV"
+                gt_cv_func_gnugettext1_libintl=yes
+
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+            fi
+            CPPFLAGS="$gt_save_CPPFLAGS"
+            LIBS="$gt_save_LIBS"
+fi
+{ $as_echo "$as_me:$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
+
+cat >>confdefs.h <<\_ACEOF
+#define ENABLE_NLS 1
+_ACEOF
+
+    else
+      USE_NLS=no
+    fi
+  fi
+
+  { $as_echo "$as_me:$LINENO: checking whether to use NLS" >&5
+$as_echo_n "checking whether to use NLS... " >&6; }
+  { $as_echo "$as_me:$LINENO: result: $USE_NLS" >&5
+$as_echo "$USE_NLS" >&6; }
+  if test "$USE_NLS" = "yes"; then
+    { $as_echo "$as_me:$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:$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:$LINENO: checking how to link with libintl" >&5
+$as_echo_n "checking how to link with libintl... " >&6; }
+        { $as_echo "$as_me:$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
+
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_GETTEXT 1
+_ACEOF
+
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_DCGETTEXT 1
+_ACEOF
+
+    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
+
+
+# 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`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  $as_echo_n "(cached) " >&6
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'`
+              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+  # Is the header compilable?
+{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
+$as_echo_n "checking $ac_header usability... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_header_compiler=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
+$as_echo_n "checking $ac_header presence... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <$ac_header>
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
+  ac_header_preproc=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ $as_echo "$as_me:$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:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+    ( cat <<\_ASBOX
+## ------------------------------ ##
+## Report this to kzak@redhat.com ##
+## ------------------------------ ##
+_ASBOX
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  $as_echo_n "(cached) " >&6
+else
+  eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'`
+              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+
+fi
+as_val=`eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'`
+   if test "x$as_val" = 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:$LINENO: checking for initscr in -lncursesw" >&5
+$as_echo_n "checking for initscr in -lncursesw... " >&6; }
+if test "${ac_cv_lib_ncursesw_initscr+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lncursesw  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        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_cv_lib_ncursesw_initscr=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_lib_ncursesw_initscr=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_ncursesw_initscr" >&5
+$as_echo "$ac_cv_lib_ncursesw_initscr" >&6; }
+if test "x$ac_cv_lib_ncursesw_initscr" = x""yes; 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
+        NCURSES_LIBS="-lncursesw"
+      fi
+    fi
+    if test "x$have_ncurses" = xno; then
+
+
+  have_ncurses=yes
+
+{ $as_echo "$as_me:$LINENO: checking for initscr in -lncurses" >&5
+$as_echo_n "checking for initscr in -lncurses... " >&6; }
+if test "${ac_cv_lib_ncurses_initscr+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lncurses  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        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_cv_lib_ncurses_initscr=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_lib_ncurses_initscr=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_ncurses_initscr" >&5
+$as_echo "$ac_cv_lib_ncurses_initscr" >&6; }
+if test "x$ac_cv_lib_ncurses_initscr" = x""yes; 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_echo "$as_me:$LINENO: error: ncurses or ncursesw selected, but library not found (--without-ncurses to disable)" >&5
+$as_echo "$as_me: error: ncurses or ncursesw selected, but library not found (--without-ncurses to disable)" >&2;}
+   { (exit 1); exit 1; }; }
+  fi
+fi
+
+
+
+
+# Check whether --with-slang was given.
+if test "${with_slang+set}" = set; then
+  withval=$with_slang;
+else
+  with_slang=no
+
+fi
+
+
+have_tinfo=no
+{ $as_echo "$as_me:$LINENO: checking for tgetent in -ltinfo" >&5
+$as_echo_n "checking for tgetent in -ltinfo... " >&6; }
+if test "${ac_cv_lib_tinfo_tgetent+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ltinfo  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        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_cv_lib_tinfo_tgetent=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_lib_tinfo_tgetent=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_tinfo_tgetent" >&5
+$as_echo "$ac_cv_lib_tinfo_tgetent" >&6; }
+if test "x$ac_cv_lib_tinfo_tgetent" = x""yes; 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
+
+
+use_slang=no
+if test "x$with_slang" = xyes; then
+
+
+for ac_header in slcurses.h slang/slcurses.h
+do
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  $as_echo_n "(cached) " >&6
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'`
+              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+  # Is the header compilable?
+{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
+$as_echo_n "checking $ac_header usability... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_header_compiler=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
+$as_echo_n "checking $ac_header presence... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <$ac_header>
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
+  ac_header_preproc=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ $as_echo "$as_me:$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:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+    ( cat <<\_ASBOX
+## ------------------------------ ##
+## Report this to kzak@redhat.com ##
+## ------------------------------ ##
+_ASBOX
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  $as_echo_n "(cached) " >&6
+else
+  eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'`
+              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+
+fi
+as_val=`eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'`
+   if test "x$as_val" = x""yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+ use_slang=yes
+fi
+
+done
+
+  if test "x$use_slang" = xno; then
+    { { $as_echo "$as_me:$LINENO: error: slang selected but slcurses.h not found" >&5
+$as_echo "$as_me: error: slang selected but slcurses.h not found" >&2;}
+   { (exit 1); exit 1; }; }
+  fi
+fi
+ if test "x$use_slang" = xyes; then
+  USE_SLANG_TRUE=
+  USE_SLANG_FALSE='#'
+else
+  USE_SLANG_TRUE='#'
+  USE_SLANG_FALSE=
+fi
+
+
+
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#define _XOPEN_SOURCE
+#include <unistd.h>
+
+int
+main ()
+{
+
+char *c = crypt("abc","pw");
+
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        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
+  :
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+  LIBS="$LIBS -lcrypt"
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+  #define _XOPEN_SOURCE
+  #include <unistd.h>
+
+int
+main ()
+{
+
+  char *c = crypt("abc","pw");
+
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+
+
+cat >>confdefs.h <<\_ACEOF
+#define NEED_LIBCRYPT 1
+_ACEOF
+
+  need_libcrypt=yes
+
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+  { { $as_echo "$as_me:$LINENO: error: crypt() is not available" >&5
+$as_echo "$as_me: error: crypt() is not available" >&2;}
+   { (exit 1); exit 1; }; }
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+
+ if test "x$need_libcrypt" = xyes; then
+  NEED_LIBCRYPT_TRUE=
+  NEED_LIBCRYPT_FALSE='#'
+else
+  NEED_LIBCRYPT_TRUE='#'
+  NEED_LIBCRYPT_FALSE=
+fi
+
+
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#include <stdio.h>
+
+int
+main ()
+{
+
+printf(__progname);
+
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE___PROGNAME 1
+_ACEOF
+
+
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_WIDECHAR 1
+_ACEOF
+
+
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+
+
+
+
+
+
+
+
+
+
+  { $as_echo "$as_me:$LINENO: checking for syscall pivot_root" >&5
+$as_echo_n "checking for syscall pivot_root... " >&6; }
+if test "${util_cv_syscall_pivot_root+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#include <sys/syscall.h>
+#include <unistd.h>
+
+int
+main ()
+{
+int test = SYS_pivot_root;
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  syscall=SYS_pivot_root
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+                   cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#include <sys/syscall.h>
+#include <unistd.h>
+
+int
+main ()
+{
+int test = _NR_pivot_root;
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  syscall=_NR_pivot_root
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+         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
+
+    util_cv_syscall_pivot_root=$syscall
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $util_cv_syscall_pivot_root" >&5
+$as_echo "$util_cv_syscall_pivot_root" >&6; }
+   if test "x$util_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 $util_cv_syscall_pivot_root in #(
+  no) { $as_echo "$as_me:$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 $util_cv_syscall_pivot_root
+_ACEOF
+ ;;
+  esac
+
+
+
+  { $as_echo "$as_me:$LINENO: checking for syscall sched_getaffinity" >&5
+$as_echo_n "checking for syscall sched_getaffinity... " >&6; }
+if test "${util_cv_syscall_sched_getaffinity+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#include <sys/syscall.h>
+#include <unistd.h>
+
+int
+main ()
+{
+int test = SYS_sched_getaffinity;
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  syscall=SYS_sched_getaffinity
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+                   cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#include <sys/syscall.h>
+#include <unistd.h>
+
+int
+main ()
+{
+int test = _NR_sched_getaffinity;
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  syscall=_NR_sched_getaffinity
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+         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
+
+    util_cv_syscall_sched_getaffinity=$syscall
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $util_cv_syscall_sched_getaffinity" >&5
+$as_echo "$util_cv_syscall_sched_getaffinity" >&6; }
+   if test "x$util_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 $util_cv_syscall_sched_getaffinity in #(
+  no) { $as_echo "$as_me:$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 $util_cv_syscall_sched_getaffinity
+_ACEOF
+ ;;
+  esac
+
+
+
+  { $as_echo "$as_me:$LINENO: checking for syscall ioprio_set" >&5
+$as_echo_n "checking for syscall ioprio_set... " >&6; }
+if test "${util_cv_syscall_ioprio_set+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#include <sys/syscall.h>
+#include <unistd.h>
+
+int
+main ()
+{
+int test = SYS_ioprio_set;
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  syscall=SYS_ioprio_set
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+                   cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#include <sys/syscall.h>
+#include <unistd.h>
+
+int
+main ()
+{
+int test = _NR_ioprio_set;
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  syscall=_NR_ioprio_set
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+         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
+
+    util_cv_syscall_ioprio_set=$syscall
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $util_cv_syscall_ioprio_set" >&5
+$as_echo "$util_cv_syscall_ioprio_set" >&6; }
+   if test "x$util_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 $util_cv_syscall_ioprio_set in #(
+  no) { $as_echo "$as_me:$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 $util_cv_syscall_ioprio_set
+_ACEOF
+ ;;
+  esac
+
+
+
+  { $as_echo "$as_me:$LINENO: checking for syscall ioprio_get" >&5
+$as_echo_n "checking for syscall ioprio_get... " >&6; }
+if test "${util_cv_syscall_ioprio_get+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#include <sys/syscall.h>
+#include <unistd.h>
+
+int
+main ()
+{
+int test = SYS_ioprio_get;
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  syscall=SYS_ioprio_get
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+                   cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#include <sys/syscall.h>
+#include <unistd.h>
+
+int
+main ()
+{
+int test = _NR_ioprio_get;
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  syscall=_NR_ioprio_get
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+         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
+
+    util_cv_syscall_ioprio_get=$syscall
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $util_cv_syscall_ioprio_get" >&5
+$as_echo "$util_cv_syscall_ioprio_get" >&6; }
+   if test "x$util_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 $util_cv_syscall_ioprio_get in #(
+  no) { $as_echo "$as_me:$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 $util_cv_syscall_ioprio_get
+_ACEOF
+ ;;
+  esac
+
+
+
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_TM_GMTOFF 1
+_ACEOF
+
+
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+{ $as_echo "$as_me:$LINENO: checking for struct termios.c_line" >&5
+$as_echo_n "checking for struct termios.c_line... " >&6; }
+if test "${ac_cv_member_struct_termios_c_line+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <termios.h>
+
+int
+main ()
+{
+static struct termios ac_aggr;
+if (ac_aggr.c_line)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_member_struct_termios_c_line=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <termios.h>
+
+int
+main ()
+{
+static struct termios ac_aggr;
+if (sizeof ac_aggr.c_line)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_member_struct_termios_c_line=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_member_struct_termios_c_line=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
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_termios_c_line" >&5
+$as_echo "$ac_cv_member_struct_termios_c_line" >&6; }
+if test "x$ac_cv_member_struct_termios_c_line" = x""yes; then
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_TERMIOS_C_LINE 1
+_ACEOF
+
+
+fi
+
+
+{ $as_echo "$as_me:$LINENO: checking whether ADDR_NO_RANDOMIZE is declared" >&5
+$as_echo_n "checking whether ADDR_NO_RANDOMIZE is declared... " >&6; }
+if test "${ac_cv_have_decl_ADDR_NO_RANDOMIZE+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <linux/personality.h>
+
+int
+main ()
+{
+#ifndef ADDR_NO_RANDOMIZE
+  (void) ADDR_NO_RANDOMIZE;
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_have_decl_ADDR_NO_RANDOMIZE=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_have_decl_ADDR_NO_RANDOMIZE=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_ADDR_NO_RANDOMIZE" >&5
+$as_echo "$ac_cv_have_decl_ADDR_NO_RANDOMIZE" >&6; }
+if test "x$ac_cv_have_decl_ADDR_NO_RANDOMIZE" = x""yes; then
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_ADDR_NO_RANDOMIZE 1
+_ACEOF
+
+
+else
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_ADDR_NO_RANDOMIZE 0
+_ACEOF
+
+
+fi
+{ $as_echo "$as_me:$LINENO: checking whether FDPIC_FUNCPTRS is declared" >&5
+$as_echo_n "checking whether FDPIC_FUNCPTRS is declared... " >&6; }
+if test "${ac_cv_have_decl_FDPIC_FUNCPTRS+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <linux/personality.h>
+
+int
+main ()
+{
+#ifndef FDPIC_FUNCPTRS
+  (void) FDPIC_FUNCPTRS;
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_have_decl_FDPIC_FUNCPTRS=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_have_decl_FDPIC_FUNCPTRS=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_FDPIC_FUNCPTRS" >&5
+$as_echo "$ac_cv_have_decl_FDPIC_FUNCPTRS" >&6; }
+if test "x$ac_cv_have_decl_FDPIC_FUNCPTRS" = x""yes; then
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_FDPIC_FUNCPTRS 1
+_ACEOF
+
+
+else
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_FDPIC_FUNCPTRS 0
+_ACEOF
+
+
+fi
+{ $as_echo "$as_me:$LINENO: checking whether MMAP_PAGE_ZERO is declared" >&5
+$as_echo_n "checking whether MMAP_PAGE_ZERO is declared... " >&6; }
+if test "${ac_cv_have_decl_MMAP_PAGE_ZERO+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <linux/personality.h>
+
+int
+main ()
+{
+#ifndef MMAP_PAGE_ZERO
+  (void) MMAP_PAGE_ZERO;
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_have_decl_MMAP_PAGE_ZERO=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_have_decl_MMAP_PAGE_ZERO=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_MMAP_PAGE_ZERO" >&5
+$as_echo "$ac_cv_have_decl_MMAP_PAGE_ZERO" >&6; }
+if test "x$ac_cv_have_decl_MMAP_PAGE_ZERO" = x""yes; then
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_MMAP_PAGE_ZERO 1
+_ACEOF
+
+
+else
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_MMAP_PAGE_ZERO 0
+_ACEOF
+
+
+fi
+{ $as_echo "$as_me:$LINENO: checking whether ADDR_COMPAT_LAYOUT is declared" >&5
+$as_echo_n "checking whether ADDR_COMPAT_LAYOUT is declared... " >&6; }
+if test "${ac_cv_have_decl_ADDR_COMPAT_LAYOUT+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <linux/personality.h>
+
+int
+main ()
+{
+#ifndef ADDR_COMPAT_LAYOUT
+  (void) ADDR_COMPAT_LAYOUT;
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_have_decl_ADDR_COMPAT_LAYOUT=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_have_decl_ADDR_COMPAT_LAYOUT=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_ADDR_COMPAT_LAYOUT" >&5
+$as_echo "$ac_cv_have_decl_ADDR_COMPAT_LAYOUT" >&6; }
+if test "x$ac_cv_have_decl_ADDR_COMPAT_LAYOUT" = x""yes; then
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_ADDR_COMPAT_LAYOUT 1
+_ACEOF
+
+
+else
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_ADDR_COMPAT_LAYOUT 0
+_ACEOF
+
+
+fi
+{ $as_echo "$as_me:$LINENO: checking whether READ_IMPLIES_EXEC is declared" >&5
+$as_echo_n "checking whether READ_IMPLIES_EXEC is declared... " >&6; }
+if test "${ac_cv_have_decl_READ_IMPLIES_EXEC+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <linux/personality.h>
+
+int
+main ()
+{
+#ifndef READ_IMPLIES_EXEC
+  (void) READ_IMPLIES_EXEC;
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_have_decl_READ_IMPLIES_EXEC=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_have_decl_READ_IMPLIES_EXEC=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_READ_IMPLIES_EXEC" >&5
+$as_echo "$ac_cv_have_decl_READ_IMPLIES_EXEC" >&6; }
+if test "x$ac_cv_have_decl_READ_IMPLIES_EXEC" = x""yes; then
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_READ_IMPLIES_EXEC 1
+_ACEOF
+
+
+else
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_READ_IMPLIES_EXEC 0
+_ACEOF
+
+
+fi
+{ $as_echo "$as_me:$LINENO: checking whether ADDR_LIMIT_32BIT is declared" >&5
+$as_echo_n "checking whether ADDR_LIMIT_32BIT is declared... " >&6; }
+if test "${ac_cv_have_decl_ADDR_LIMIT_32BIT+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <linux/personality.h>
+
+int
+main ()
+{
+#ifndef ADDR_LIMIT_32BIT
+  (void) ADDR_LIMIT_32BIT;
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_have_decl_ADDR_LIMIT_32BIT=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_have_decl_ADDR_LIMIT_32BIT=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_ADDR_LIMIT_32BIT" >&5
+$as_echo "$ac_cv_have_decl_ADDR_LIMIT_32BIT" >&6; }
+if test "x$ac_cv_have_decl_ADDR_LIMIT_32BIT" = x""yes; then
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_ADDR_LIMIT_32BIT 1
+_ACEOF
+
+
+else
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_ADDR_LIMIT_32BIT 0
+_ACEOF
+
+
+fi
+{ $as_echo "$as_me:$LINENO: checking whether WHOLE_SECONDS is declared" >&5
+$as_echo_n "checking whether WHOLE_SECONDS is declared... " >&6; }
+if test "${ac_cv_have_decl_WHOLE_SECONDS+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <linux/personality.h>
+
+int
+main ()
+{
+#ifndef WHOLE_SECONDS
+  (void) WHOLE_SECONDS;
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_have_decl_WHOLE_SECONDS=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_have_decl_WHOLE_SECONDS=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_WHOLE_SECONDS" >&5
+$as_echo "$ac_cv_have_decl_WHOLE_SECONDS" >&6; }
+if test "x$ac_cv_have_decl_WHOLE_SECONDS" = x""yes; then
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_WHOLE_SECONDS 1
+_ACEOF
+
+
+else
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_WHOLE_SECONDS 0
+_ACEOF
+
+
+fi
+{ $as_echo "$as_me:$LINENO: checking whether STICKY_TIMEOUTS is declared" >&5
+$as_echo_n "checking whether STICKY_TIMEOUTS is declared... " >&6; }
+if test "${ac_cv_have_decl_STICKY_TIMEOUTS+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <linux/personality.h>
+
+int
+main ()
+{
+#ifndef STICKY_TIMEOUTS
+  (void) STICKY_TIMEOUTS;
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_have_decl_STICKY_TIMEOUTS=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_have_decl_STICKY_TIMEOUTS=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_STICKY_TIMEOUTS" >&5
+$as_echo "$ac_cv_have_decl_STICKY_TIMEOUTS" >&6; }
+if test "x$ac_cv_have_decl_STICKY_TIMEOUTS" = x""yes; then
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_STICKY_TIMEOUTS 1
+_ACEOF
+
+
+else
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_STICKY_TIMEOUTS 0
+_ACEOF
+
+
+fi
+{ $as_echo "$as_me:$LINENO: checking whether ADDR_LIMIT_3GB is declared" >&5
+$as_echo_n "checking whether ADDR_LIMIT_3GB is declared... " >&6; }
+if test "${ac_cv_have_decl_ADDR_LIMIT_3GB+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <linux/personality.h>
+
+int
+main ()
+{
+#ifndef ADDR_LIMIT_3GB
+  (void) ADDR_LIMIT_3GB;
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_have_decl_ADDR_LIMIT_3GB=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_have_decl_ADDR_LIMIT_3GB=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_ADDR_LIMIT_3GB" >&5
+$as_echo "$ac_cv_have_decl_ADDR_LIMIT_3GB" >&6; }
+if test "x$ac_cv_have_decl_ADDR_LIMIT_3GB" = x""yes; then
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_ADDR_LIMIT_3GB 1
+_ACEOF
+
+
+else
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_ADDR_LIMIT_3GB 0
+_ACEOF
+
+
+fi
+
+
+
+
+for ac_header in sys/swap.h
+do
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  $as_echo_n "(cached) " >&6
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'`
+              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+  # Is the header compilable?
+{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
+$as_echo_n "checking $ac_header usability... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_header_compiler=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
+$as_echo_n "checking $ac_header presence... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <$ac_header>
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
+  ac_header_preproc=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ $as_echo "$as_me:$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:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+    ( cat <<\_ASBOX
+## ------------------------------ ##
+## Report this to kzak@redhat.com ##
+## ------------------------------ ##
+_ASBOX
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  $as_echo_n "(cached) " >&6
+else
+  eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'`
+              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+
+fi
+as_val=`eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'`
+   if test "x$as_val" = x""yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+
+cat >>confdefs.h <<\_ACEOF
+#define SWAPON_HAS_TWO_ARGS 1
+_ACEOF
+
+
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       { $as_echo "$as_me:$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
+
+
+
+
+
+  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-arch was given.
+if test "${enable_arch+set}" = set; then
+  enableval=$enable_arch;
+else
+  enable_arch=no
+
+fi
+
+ if test "x$enable_arch" = xyes; then
+  BUILD_ARCH_TRUE=
+  BUILD_ARCH_FALSE='#'
+else
+  BUILD_ARCH_TRUE='#'
+  BUILD_ARCH_FALSE=
+fi
+
+
+# Check whether --enable-agetty was given.
+if test "${enable_agetty+set}" = set; then
+  enableval=$enable_agetty;
+else
+  enable_agetty=yes
+
+fi
+
+ if test "x$enable_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
+
+
+if test "x$enable_cramfs" = xno; then
+  build_cramfs=no
+else
+  build_cramfs=yes
+
+{ $as_echo "$as_me:$LINENO: checking for crc32 in -lz" >&5
+$as_echo_n "checking for crc32 in -lz... " >&6; }
+if test "${ac_cv_lib_z_crc32+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lz  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        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_cv_lib_z_crc32=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_lib_z_crc32=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_z_crc32" >&5
+$as_echo "$ac_cv_lib_z_crc32" >&6; }
+if test "x$ac_cv_lib_z_crc32" = x""yes; then
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBZ 1
+_ACEOF
+
+  LIBS="-lz $LIBS"
+
+else
+  build_cramfs=no
+fi
+
+  case $enable_cramfs:$build_cramfs in
+  yes:no) { { $as_echo "$as_me:$LINENO: error: cramfs selected but libz not found" >&5
+$as_echo "$as_me: error: cramfs selected but libz not found" >&2;}
+   { (exit 1); exit 1; }; };;
+  esac
+fi
+ if test "x$build_cramfs" = xyes; then
+  BUILD_CRAMFS_TRUE=
+  BUILD_CRAMFS_FALSE='#'
+else
+  BUILD_CRAMFS_TRUE='#'
+  BUILD_CRAMFS_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
+
+
+if test "x$enable_switch_root" = xno; then
+  build_switch_root=no
+else
+  build_switch_root=yes
+  case $enable_switch_root:$linux_os in
+  yes:no) { { $as_echo "$as_me:$LINENO: error: switch_root selected for non-linux system" >&5
+$as_echo "$as_me: error: switch_root selected for non-linux system" >&2;}
+   { (exit 1); exit 1; }; };;
+  check:no) { $as_echo "$as_me:$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
+  if test "x$build_switch_root" = xyes; then
+    case $enable_switch_root:$have_openat in
+    yes:no) { { $as_echo "$as_me:$LINENO: error: switch_root selected but openat() function not found" >&5
+$as_echo "$as_me: error: switch_root selected but openat() function not found" >&2;}
+   { (exit 1); exit 1; }; };;
+    check:no) { $as_echo "$as_me:$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
+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-elvtune was given.
+if test "${enable_elvtune+set}" = set; then
+  enableval=$enable_elvtune;
+else
+  enable_elvtune=no
+
+fi
+
+ if test "x$enable_elvtune" = xyes; then
+  BUILD_ELVTUNE_TRUE=
+  BUILD_ELVTUNE_FALSE='#'
+else
+  BUILD_ELVTUNE_TRUE='#'
+  BUILD_ELVTUNE_FALSE=
+fi
+
+
+
+# Check whether --enable-init was given.
+if test "${enable_init+set}" = set; then
+  enableval=$enable_init;
+else
+  enable_init=no
+
+fi
+
+ if test "x$enable_init" = xyes; then
+  BUILD_INIT_TRUE=
+  BUILD_INIT_FALSE='#'
+else
+  BUILD_INIT_TRUE='#'
+  BUILD_INIT_FALSE=
+fi
+
+
+
+# Check whether --enable-kill was given.
+if test "${enable_kill+set}" = set; then
+  enableval=$enable_kill;
+else
+  enable_kill=no
+
+fi
+
+ if test "x$enable_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
+
+ if test "x$enable_last" = xyes; then
+  BUILD_LAST_TRUE=
+  BUILD_LAST_FALSE='#'
+else
+  BUILD_LAST_TRUE='#'
+  BUILD_LAST_FALSE=
+fi
+
+
+
+# Check whether --enable-mesg was given.
+if test "${enable_mesg+set}" = set; then
+  enableval=$enable_mesg;
+else
+  enable_mesg=no
+
+fi
+
+ if test "x$enable_mesg" = xyes; then
+  BUILD_MESG_TRUE=
+  BUILD_MESG_FALSE='#'
+else
+  BUILD_MESG_TRUE='#'
+  BUILD_MESG_FALSE=
+fi
+
+
+
+# Check whether --enable-partx was given.
+if test "${enable_partx+set}" = set; then
+  enableval=$enable_partx;
+else
+  enable_partx=no
+
+fi
+
+ if test "x$enable_partx" = xyes; then
+  BUILD_PARTX_TRUE=
+  BUILD_PARTX_FALSE='#'
+else
+  BUILD_PARTX_TRUE='#'
+  BUILD_PARTX_FALSE=
+fi
+
+
+
+# Check whether --enable-raw was given.
+if test "${enable_raw+set}" = set; then
+  enableval=$enable_raw;
+else
+  enable_raw=no
+
+fi
+
+ if test "x$enable_raw" = xyes; then
+  BUILD_RAW_TRUE=
+  BUILD_RAW_FALSE='#'
+else
+  BUILD_RAW_TRUE='#'
+  BUILD_RAW_FALSE=
+fi
+
+
+
+# Check whether --enable-rdev was given.
+if test "${enable_rdev+set}" = set; then
+  enableval=$enable_rdev;
+else
+  enable_rdev=no
+
+fi
+
+ if test "x$enable_rdev" = xyes; then
+  BUILD_RDEV_TRUE=
+  BUILD_RDEV_FALSE='#'
+else
+  BUILD_RDEV_TRUE='#'
+  BUILD_RDEV_FALSE=
+fi
+
+
+
+# Check whether --enable-rename was given.
+if test "${enable_rename+set}" = set; then
+  enableval=$enable_rename;
+else
+  enable_rename=yes
+
+fi
+
+ if test "x$enable_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
+
+ if test "x$enable_reset" = xyes; then
+  BUILD_RESET_TRUE=
+  BUILD_RESET_FALSE='#'
+else
+  BUILD_RESET_TRUE='#'
+  BUILD_RESET_FALSE=
+fi
+
+
+
+# Check whether --enable-login-utils was given.
+if test "${enable_login_utils+set}" = set; then
+  enableval=$enable_login_utils;
+else
+  enable_login_utils=no
+
+fi
+
+ if test "x$enable_login_utils" = xyes; then
+  BUILD_LOGIN_UTILS_TRUE=
+  BUILD_LOGIN_UTILS_FALSE='#'
+else
+  BUILD_LOGIN_UTILS_TRUE='#'
+  BUILD_LOGIN_UTILS_FALSE=
+fi
+
+
+
+# Check whether --with-pam was given.
+if test "${with_pam+set}" = set; then
+  withval=$with_pam;
+fi
+
+
+ if false; then
+  HAVE_PAM_TRUE=
+  HAVE_PAM_FALSE='#'
+else
+  HAVE_PAM_TRUE='#'
+  HAVE_PAM_FALSE=
+fi
+
+if test "x$enable_login_utils" = xyes && test "x$with_pam" != xno; then
+
+for ac_header in security/pam_misc.h
+do
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  $as_echo_n "(cached) " >&6
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'`
+              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+  # Is the header compilable?
+{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
+$as_echo_n "checking $ac_header usability... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_header_compiler=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
+$as_echo_n "checking $ac_header presence... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <$ac_header>
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
+  ac_header_preproc=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ $as_echo "$as_me:$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:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+    ( cat <<\_ASBOX
+## ------------------------------ ##
+## Report this to kzak@redhat.com ##
+## ------------------------------ ##
+_ASBOX
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  $as_echo_n "(cached) " >&6
+else
+  eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'`
+              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+
+fi
+as_val=`eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'`
+   if test "x$as_val" = x""yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+  if true; then
+  HAVE_PAM_TRUE=
+  HAVE_PAM_FALSE='#'
+else
+  HAVE_PAM_TRUE='#'
+  HAVE_PAM_FALSE=
+fi
+
+else
+  if test "x$with_pam" = xyes; then
+       { { $as_echo "$as_me:$LINENO: error: PAM selected but security/pam_misc.h not found" >&5
+$as_echo "$as_me: error: PAM selected but security/pam_misc.h not found" >&2;}
+   { (exit 1); exit 1; }; }
+     fi
+
+fi
+
+done
+
+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:$LINENO: checking for getprevcon in -lselinux" >&5
+$as_echo_n "checking for getprevcon in -lselinux... " >&6; }
+if test "${ac_cv_lib_selinux_getprevcon+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lselinux  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        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_cv_lib_selinux_getprevcon=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_lib_selinux_getprevcon=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_selinux_getprevcon" >&5
+$as_echo "$ac_cv_lib_selinux_getprevcon" >&6; }
+if test "x$ac_cv_lib_selinux_getprevcon" = x""yes; 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_echo "$as_me:$LINENO: error: SELinux selected but libselinux not found" >&5
+$as_echo "$as_me: error: SELinux selected but libselinux not found" >&2;}
+   { (exit 1); exit 1; }; };;
+  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
+as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
+$as_echo_n "checking for $ac_func... " >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $ac_func (); 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 $ac_func
+
+/* 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 $ac_func ();
+/* 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_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        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
+  eval "$as_ac_var=yes"
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       eval "$as_ac_var=no"
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'`
+              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'`
+   if test "x$as_val" = x""yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 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:$LINENO: checking for audit_log_user_message in -laudit" >&5
+$as_echo_n "checking for audit_log_user_message in -laudit... " >&6; }
+if test "${ac_cv_lib_audit_audit_log_user_message+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-laudit  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        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_cv_lib_audit_audit_log_user_message=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_lib_audit_audit_log_user_message=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$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" = x""yes; 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_echo "$as_me:$LINENO: error: Audit selected but libaudit not found (or doesn't support audit_log_user_message())" >&5
+$as_echo "$as_me: error: Audit selected but libaudit not found (or doesn't support audit_log_user_message())" >&2;}
+   { (exit 1); exit 1; }; }
+   ;;
+  esac
+fi
+
+# Check whether --enable-schedutils was given.
+if test "${enable_schedutils+set}" = set; then
+  enableval=$enable_schedutils;
+else
+  enable_schedutils=yes
+
+fi
+
+ if test "x$enable_schedutils" = xyes; then
+  BUILD_SCHEDUTILS_TRUE=
+  BUILD_SCHEDUTILS_FALSE='#'
+else
+  BUILD_SCHEDUTILS_TRUE='#'
+  BUILD_SCHEDUTILS_FALSE=
+fi
+
+
+
+# Check whether --enable-wall was given.
+if test "${enable_wall+set}" = set; then
+  enableval=$enable_wall;
+else
+  enable_wall=yes
+
+fi
+
+ if test "x$enable_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
+
+ if test "x$enable_write" = xyes; then
+  BUILD_WRITE_TRUE=
+  BUILD_WRITE_FALSE='#'
+else
+  BUILD_WRITE_TRUE='#'
+  BUILD_WRITE_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
+
+cat >>confdefs.h <<\_ACEOF
+#define ONLY_LISTED_SHELLS 1
+_ACEOF
+
+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
+
+cat >>confdefs.h <<\_ACEOF
+#define LOGIN_CHOWN_VCS 1
+_ACEOF
+
+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
+
+cat >>confdefs.h <<\_ACEOF
+#define LOGIN_STAT_MAIL 1
+_ACEOF
+
+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
+
+cat >>confdefs.h <<\_ACEOF
+#define PG_BELL 1
+_ACEOF
+
+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
+
+cat >>confdefs.h <<\_ACEOF
+#define REQUIRE_PASSWORD 1
+_ACEOF
+
+fi
+
+
+# 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
+
+cat >>confdefs.h <<\_ACEOF
+#define USE_TTY_GROUP 1
+_ACEOF
+
+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
+
+
+
+
+
+
+LIBS=""
+
+
+ac_config_headers="$ac_config_headers config.h"
+
+
+ac_config_files="$ac_config_files disk-utils/Makefile fdisk/Makefile fsck/Makefile getopt/Makefile hwclock/Makefile include/Makefile lib/Makefile login-utils/Makefile Makefile misc-utils/chkdupexe:misc-utils/chkdupexe.pl misc-utils/Makefile mount/Makefile partx/Makefile po/Makefile.in schedutils/Makefile shlibs/blkid/blkid.pc shlibs/blkid/Makefile shlibs/blkid/src/Makefile shlibs/blkid/src/probers/Makefile shlibs/uuid/uuid.pc shlibs/uuid/Makefile shlibs/uuid/man/Makefile shlibs/uuid/src/Makefile shlibs/Makefile sys-utils/Makefile tests/commands.sh tests/helpers/Makefile tests/Makefile text-utils/Makefile"
+
+
+
+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:$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= ;; #(
+      *) $as_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
+    test "x$cache_file" != "x/dev/null" &&
+      { $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5
+$as_echo "$as_me: updating cache $cache_file" >&6;}
+    cat confcache >$cache_file
+  else
+    { $as_echo "$as_me:$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=
+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.
+  ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+  ac_ltlibobjs="$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_echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+if test -z "${LINUX_TRUE}" && test -z "${LINUX_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"LINUX\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"LINUX\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${HAVE_RAW_TRUE}" && test -z "${HAVE_RAW_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_RAW\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"HAVE_RAW\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${HAVE_RAW_TRUE}" && test -z "${HAVE_RAW_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_RAW\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"HAVE_RAW\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${HAVE_STATIC_LOSETUP_TRUE}" && test -z "${HAVE_STATIC_LOSETUP_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_STATIC_LOSETUP\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"HAVE_STATIC_LOSETUP\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${HAVE_STATIC_MOUNT_TRUE}" && test -z "${HAVE_STATIC_MOUNT_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_STATIC_MOUNT\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"HAVE_STATIC_MOUNT\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${HAVE_STATIC_UMOUNT_TRUE}" && test -z "${HAVE_STATIC_UMOUNT_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_STATIC_UMOUNT\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"HAVE_STATIC_UMOUNT\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${HAVE_STATIC_FDISK_TRUE}" && test -z "${HAVE_STATIC_FDISK_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_STATIC_FDISK\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"HAVE_STATIC_FDISK\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${HAVE_STATIC_SFDISK_TRUE}" && test -z "${HAVE_STATIC_SFDISK_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_STATIC_SFDISK\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"HAVE_STATIC_SFDISK\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${HAVE_STATIC_BLKID_TRUE}" && test -z "${HAVE_STATIC_BLKID_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_STATIC_BLKID\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"HAVE_STATIC_BLKID\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${BUILD_MOUNT_TRUE}" && test -z "${BUILD_MOUNT_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"BUILD_MOUNT\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"BUILD_MOUNT\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${BUILD_FSCK_TRUE}" && test -z "${BUILD_FSCK_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"BUILD_FSCK\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"BUILD_FSCK\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${BUILD_LIBUUID_TRUE}" && test -z "${BUILD_LIBUUID_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"BUILD_LIBUUID\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"BUILD_LIBUUID\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${HAVE_UUID_TRUE}" && test -z "${HAVE_UUID_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_UUID\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"HAVE_UUID\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${BUILD_UUIDD_TRUE}" && test -z "${BUILD_UUIDD_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"BUILD_UUIDD\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"BUILD_UUIDD\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${BUILD_LIBBLKID_TRUE}" && test -z "${BUILD_LIBBLKID_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"BUILD_LIBBLKID\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"BUILD_LIBBLKID\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${HAVE_BLKID_TRUE}" && test -z "${HAVE_BLKID_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_BLKID\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"HAVE_BLKID\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${HAVE_UTIL_TRUE}" && test -z "${HAVE_UTIL_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_UTIL\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"HAVE_UTIL\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${HAVE_TERMCAP_TRUE}" && test -z "${HAVE_TERMCAP_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_TERMCAP\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"HAVE_TERMCAP\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${HAVE_NCURSES_TRUE}" && test -z "${HAVE_NCURSES_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_NCURSES\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"HAVE_NCURSES\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${HAVE_NCURSES_TRUE}" && test -z "${HAVE_NCURSES_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_NCURSES\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"HAVE_NCURSES\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${HAVE_NCURSES_TRUE}" && test -z "${HAVE_NCURSES_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_NCURSES\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"HAVE_NCURSES\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${HAVE_TINFO_TRUE}" && test -z "${HAVE_TINFO_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_TINFO\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"HAVE_TINFO\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${USE_SLANG_TRUE}" && test -z "${USE_SLANG_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"USE_SLANG\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"USE_SLANG\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${NEED_LIBCRYPT_TRUE}" && test -z "${NEED_LIBCRYPT_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"NEED_LIBCRYPT\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"NEED_LIBCRYPT\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${HAVE_PIVOT_ROOT_TRUE}" && test -z "${HAVE_PIVOT_ROOT_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_PIVOT_ROOT\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"HAVE_PIVOT_ROOT\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${HAVE_SCHED_GETAFFINITY_TRUE}" && test -z "${HAVE_SCHED_GETAFFINITY_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_SCHED_GETAFFINITY\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"HAVE_SCHED_GETAFFINITY\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${HAVE_IOPRIO_SET_TRUE}" && test -z "${HAVE_IOPRIO_SET_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_IOPRIO_SET\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"HAVE_IOPRIO_SET\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${HAVE_IOPRIO_GET_TRUE}" && test -z "${HAVE_IOPRIO_GET_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_IOPRIO_GET\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"HAVE_IOPRIO_GET\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${ARCH_I86_TRUE}" && test -z "${ARCH_I86_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"ARCH_I86\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"ARCH_I86\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${ARCH_86_64_TRUE}" && test -z "${ARCH_86_64_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"ARCH_86_64\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"ARCH_86_64\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${ARCH_IA64_TRUE}" && test -z "${ARCH_IA64_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"ARCH_IA64\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"ARCH_IA64\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${ARCH_S390_TRUE}" && test -z "${ARCH_S390_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"ARCH_S390\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"ARCH_S390\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${ARCH_SPARC_TRUE}" && test -z "${ARCH_SPARC_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"ARCH_SPARC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"ARCH_SPARC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${ARCH_PPC_TRUE}" && test -z "${ARCH_PPC_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"ARCH_PPC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"ARCH_PPC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${ARCH_M68K_TRUE}" && test -z "${ARCH_M68K_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"ARCH_M68K\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"ARCH_M68K\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${ARCH_MIPS_TRUE}" && test -z "${ARCH_MIPS_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"ARCH_MIPS\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"ARCH_MIPS\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${ARCH_HPPA_TRUE}" && test -z "${ARCH_HPPA_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"ARCH_HPPA\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"ARCH_HPPA\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${BUILD_ARCH_TRUE}" && test -z "${BUILD_ARCH_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"BUILD_ARCH\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"BUILD_ARCH\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${BUILD_AGETTY_TRUE}" && test -z "${BUILD_AGETTY_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"BUILD_AGETTY\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"BUILD_AGETTY\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${BUILD_CRAMFS_TRUE}" && test -z "${BUILD_CRAMFS_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"BUILD_CRAMFS\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"BUILD_CRAMFS\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${BUILD_SWITCH_ROOT_TRUE}" && test -z "${BUILD_SWITCH_ROOT_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"BUILD_SWITCH_ROOT\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"BUILD_SWITCH_ROOT\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${BUILD_ELVTUNE_TRUE}" && test -z "${BUILD_ELVTUNE_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"BUILD_ELVTUNE\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"BUILD_ELVTUNE\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${BUILD_INIT_TRUE}" && test -z "${BUILD_INIT_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"BUILD_INIT\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"BUILD_INIT\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${BUILD_KILL_TRUE}" && test -z "${BUILD_KILL_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"BUILD_KILL\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"BUILD_KILL\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${BUILD_LAST_TRUE}" && test -z "${BUILD_LAST_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"BUILD_LAST\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"BUILD_LAST\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${BUILD_MESG_TRUE}" && test -z "${BUILD_MESG_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"BUILD_MESG\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"BUILD_MESG\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${BUILD_PARTX_TRUE}" && test -z "${BUILD_PARTX_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"BUILD_PARTX\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"BUILD_PARTX\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${BUILD_RAW_TRUE}" && test -z "${BUILD_RAW_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"BUILD_RAW\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"BUILD_RAW\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${BUILD_RDEV_TRUE}" && test -z "${BUILD_RDEV_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"BUILD_RDEV\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"BUILD_RDEV\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${BUILD_RENAME_TRUE}" && test -z "${BUILD_RENAME_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"BUILD_RENAME\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"BUILD_RENAME\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${BUILD_RESET_TRUE}" && test -z "${BUILD_RESET_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"BUILD_RESET\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"BUILD_RESET\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${BUILD_LOGIN_UTILS_TRUE}" && test -z "${BUILD_LOGIN_UTILS_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"BUILD_LOGIN_UTILS\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"BUILD_LOGIN_UTILS\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${HAVE_PAM_TRUE}" && test -z "${HAVE_PAM_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_PAM\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"HAVE_PAM\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${HAVE_PAM_TRUE}" && test -z "${HAVE_PAM_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_PAM\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"HAVE_PAM\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${HAVE_SELINUX_TRUE}" && test -z "${HAVE_SELINUX_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_SELINUX\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"HAVE_SELINUX\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${HAVE_SELINUX_TRUE}" && test -z "${HAVE_SELINUX_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_SELINUX\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"HAVE_SELINUX\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${HAVE_AUDIT_TRUE}" && test -z "${HAVE_AUDIT_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_AUDIT\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"HAVE_AUDIT\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${HAVE_AUDIT_TRUE}" && test -z "${HAVE_AUDIT_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_AUDIT\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"HAVE_AUDIT\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${BUILD_SCHEDUTILS_TRUE}" && test -z "${BUILD_SCHEDUTILS_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"BUILD_SCHEDUTILS\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"BUILD_SCHEDUTILS\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${BUILD_WALL_TRUE}" && test -z "${BUILD_WALL_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"BUILD_WALL\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"BUILD_WALL\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${BUILD_WRITE_TRUE}" && test -z "${BUILD_WRITE_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"BUILD_WRITE\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"BUILD_WRITE\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${USE_TTY_GROUP_TRUE}" && test -z "${USE_TTY_GROUP_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"USE_TTY_GROUP\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"USE_TTY_GROUP\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${MAKEINSTALL_DO_CHOWN_TRUE}" && test -z "${MAKEINSTALL_DO_CHOWN_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"MAKEINSTALL_DO_CHOWN\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"MAKEINSTALL_DO_CHOWN\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+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:$LINENO: creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF || ac_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}
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_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
+
+
+
+
+# PATH needs CR
+# 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_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
+if (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
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+  as_unset=unset
+else
+  as_unset=false
+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.
+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); exit 1; }
+fi
+
+# Work around bugs in pre-3.0 UWIN ksh.
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# Required to use basename.
+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
+
+
+# Name of the executable.
+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'`
+
+# CDPATH.
+$as_unset CDPATH
+
+
+
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
+
+  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+  # uniformly replaced by the line number.  The first 'sed' inserts a
+  # line-number line after each line using $LINENO; the second 'sed'
+  # does the real work.  The second script uses 'N' to pair each
+  # line-number line with the line containing $LINENO, and appends
+  # trailing '-' during substitution so that $LINENO is not a special
+  # case at line end.
+  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+  # scripts with optimization help from Paolo Bonzini.  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
+   { (exit 1); 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
+}
+
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+  case `echo 'x\c'` in
+  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
+  *)   ECHO_C='\c';;
+  esac;;
+*)
+  ECHO_N='-n';;
+esac
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+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=:
+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
+
+# 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-ng $as_me 2.16.2, which was
+generated by GNU Autoconf 2.63.  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 from templates according to the
+current configuration.
+
+Usage: $0 [OPTION]... [FILE]...
+
+  -h, --help       print this help, then exit
+  -V, --version    print version number and configuration settings, 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 <bug-autoconf@gnu.org>."
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_version="\\
+util-linux-ng config.status 2.16.2
+configured by $0, generated by GNU Autoconf 2.63,
+  with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+
+Copyright (C) 2008 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=$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 ;;
+  --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"` ;;
+    esac
+    CONFIG_FILES="$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
+    CONFIG_HEADERS="$CONFIG_HEADERS '$ac_optarg'"
+    ac_need_defaults=false;;
+  --he | --h)
+    # Conflict between --help and --header
+    { $as_echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2
+   { (exit 1); exit 1; }; };;
+  --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_echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2
+   { (exit 1); exit 1; }; } ;;
+
+  *) ac_config_targets="$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 "X$macro_version" | $Xsed -e "$delay_single_quote_subst"`'
+macro_revision='`$ECHO "X$macro_revision" | $Xsed -e "$delay_single_quote_subst"`'
+enable_shared='`$ECHO "X$enable_shared" | $Xsed -e "$delay_single_quote_subst"`'
+enable_static='`$ECHO "X$enable_static" | $Xsed -e "$delay_single_quote_subst"`'
+pic_mode='`$ECHO "X$pic_mode" | $Xsed -e "$delay_single_quote_subst"`'
+enable_fast_install='`$ECHO "X$enable_fast_install" | $Xsed -e "$delay_single_quote_subst"`'
+host_alias='`$ECHO "X$host_alias" | $Xsed -e "$delay_single_quote_subst"`'
+host='`$ECHO "X$host" | $Xsed -e "$delay_single_quote_subst"`'
+host_os='`$ECHO "X$host_os" | $Xsed -e "$delay_single_quote_subst"`'
+build_alias='`$ECHO "X$build_alias" | $Xsed -e "$delay_single_quote_subst"`'
+build='`$ECHO "X$build" | $Xsed -e "$delay_single_quote_subst"`'
+build_os='`$ECHO "X$build_os" | $Xsed -e "$delay_single_quote_subst"`'
+SED='`$ECHO "X$SED" | $Xsed -e "$delay_single_quote_subst"`'
+Xsed='`$ECHO "X$Xsed" | $Xsed -e "$delay_single_quote_subst"`'
+GREP='`$ECHO "X$GREP" | $Xsed -e "$delay_single_quote_subst"`'
+EGREP='`$ECHO "X$EGREP" | $Xsed -e "$delay_single_quote_subst"`'
+FGREP='`$ECHO "X$FGREP" | $Xsed -e "$delay_single_quote_subst"`'
+LD='`$ECHO "X$LD" | $Xsed -e "$delay_single_quote_subst"`'
+NM='`$ECHO "X$NM" | $Xsed -e "$delay_single_quote_subst"`'
+LN_S='`$ECHO "X$LN_S" | $Xsed -e "$delay_single_quote_subst"`'
+max_cmd_len='`$ECHO "X$max_cmd_len" | $Xsed -e "$delay_single_quote_subst"`'
+ac_objext='`$ECHO "X$ac_objext" | $Xsed -e "$delay_single_quote_subst"`'
+exeext='`$ECHO "X$exeext" | $Xsed -e "$delay_single_quote_subst"`'
+lt_unset='`$ECHO "X$lt_unset" | $Xsed -e "$delay_single_quote_subst"`'
+lt_SP2NL='`$ECHO "X$lt_SP2NL" | $Xsed -e "$delay_single_quote_subst"`'
+lt_NL2SP='`$ECHO "X$lt_NL2SP" | $Xsed -e "$delay_single_quote_subst"`'
+reload_flag='`$ECHO "X$reload_flag" | $Xsed -e "$delay_single_quote_subst"`'
+reload_cmds='`$ECHO "X$reload_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+OBJDUMP='`$ECHO "X$OBJDUMP" | $Xsed -e "$delay_single_quote_subst"`'
+deplibs_check_method='`$ECHO "X$deplibs_check_method" | $Xsed -e "$delay_single_quote_subst"`'
+file_magic_cmd='`$ECHO "X$file_magic_cmd" | $Xsed -e "$delay_single_quote_subst"`'
+AR='`$ECHO "X$AR" | $Xsed -e "$delay_single_quote_subst"`'
+AR_FLAGS='`$ECHO "X$AR_FLAGS" | $Xsed -e "$delay_single_quote_subst"`'
+STRIP='`$ECHO "X$STRIP" | $Xsed -e "$delay_single_quote_subst"`'
+RANLIB='`$ECHO "X$RANLIB" | $Xsed -e "$delay_single_quote_subst"`'
+old_postinstall_cmds='`$ECHO "X$old_postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+old_postuninstall_cmds='`$ECHO "X$old_postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+old_archive_cmds='`$ECHO "X$old_archive_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+CC='`$ECHO "X$CC" | $Xsed -e "$delay_single_quote_subst"`'
+CFLAGS='`$ECHO "X$CFLAGS" | $Xsed -e "$delay_single_quote_subst"`'
+compiler='`$ECHO "X$compiler" | $Xsed -e "$delay_single_quote_subst"`'
+GCC='`$ECHO "X$GCC" | $Xsed -e "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_pipe='`$ECHO "X$lt_cv_sys_global_symbol_pipe" | $Xsed -e "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_cdecl='`$ECHO "X$lt_cv_sys_global_symbol_to_cdecl" | $Xsed -e "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address" | $Xsed -e "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`'
+objdir='`$ECHO "X$objdir" | $Xsed -e "$delay_single_quote_subst"`'
+SHELL='`$ECHO "X$SHELL" | $Xsed -e "$delay_single_quote_subst"`'
+ECHO='`$ECHO "X$ECHO" | $Xsed -e "$delay_single_quote_subst"`'
+MAGIC_CMD='`$ECHO "X$MAGIC_CMD" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_no_builtin_flag='`$ECHO "X$lt_prog_compiler_no_builtin_flag" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_wl='`$ECHO "X$lt_prog_compiler_wl" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_pic='`$ECHO "X$lt_prog_compiler_pic" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_static='`$ECHO "X$lt_prog_compiler_static" | $Xsed -e "$delay_single_quote_subst"`'
+lt_cv_prog_compiler_c_o='`$ECHO "X$lt_cv_prog_compiler_c_o" | $Xsed -e "$delay_single_quote_subst"`'
+need_locks='`$ECHO "X$need_locks" | $Xsed -e "$delay_single_quote_subst"`'
+DSYMUTIL='`$ECHO "X$DSYMUTIL" | $Xsed -e "$delay_single_quote_subst"`'
+NMEDIT='`$ECHO "X$NMEDIT" | $Xsed -e "$delay_single_quote_subst"`'
+LIPO='`$ECHO "X$LIPO" | $Xsed -e "$delay_single_quote_subst"`'
+OTOOL='`$ECHO "X$OTOOL" | $Xsed -e "$delay_single_quote_subst"`'
+OTOOL64='`$ECHO "X$OTOOL64" | $Xsed -e "$delay_single_quote_subst"`'
+libext='`$ECHO "X$libext" | $Xsed -e "$delay_single_quote_subst"`'
+shrext_cmds='`$ECHO "X$shrext_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+extract_expsyms_cmds='`$ECHO "X$extract_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+archive_cmds_need_lc='`$ECHO "X$archive_cmds_need_lc" | $Xsed -e "$delay_single_quote_subst"`'
+enable_shared_with_static_runtimes='`$ECHO "X$enable_shared_with_static_runtimes" | $Xsed -e "$delay_single_quote_subst"`'
+export_dynamic_flag_spec='`$ECHO "X$export_dynamic_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
+whole_archive_flag_spec='`$ECHO "X$whole_archive_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
+compiler_needs_object='`$ECHO "X$compiler_needs_object" | $Xsed -e "$delay_single_quote_subst"`'
+old_archive_from_new_cmds='`$ECHO "X$old_archive_from_new_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+old_archive_from_expsyms_cmds='`$ECHO "X$old_archive_from_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+archive_cmds='`$ECHO "X$archive_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+archive_expsym_cmds='`$ECHO "X$archive_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+module_cmds='`$ECHO "X$module_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+module_expsym_cmds='`$ECHO "X$module_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+with_gnu_ld='`$ECHO "X$with_gnu_ld" | $Xsed -e "$delay_single_quote_subst"`'
+allow_undefined_flag='`$ECHO "X$allow_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`'
+no_undefined_flag='`$ECHO "X$no_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec='`$ECHO "X$hardcode_libdir_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec_ld='`$ECHO "X$hardcode_libdir_flag_spec_ld" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_libdir_separator='`$ECHO "X$hardcode_libdir_separator" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_direct='`$ECHO "X$hardcode_direct" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_direct_absolute='`$ECHO "X$hardcode_direct_absolute" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_minus_L='`$ECHO "X$hardcode_minus_L" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_shlibpath_var='`$ECHO "X$hardcode_shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_automatic='`$ECHO "X$hardcode_automatic" | $Xsed -e "$delay_single_quote_subst"`'
+inherit_rpath='`$ECHO "X$inherit_rpath" | $Xsed -e "$delay_single_quote_subst"`'
+link_all_deplibs='`$ECHO "X$link_all_deplibs" | $Xsed -e "$delay_single_quote_subst"`'
+fix_srcfile_path='`$ECHO "X$fix_srcfile_path" | $Xsed -e "$delay_single_quote_subst"`'
+always_export_symbols='`$ECHO "X$always_export_symbols" | $Xsed -e "$delay_single_quote_subst"`'
+export_symbols_cmds='`$ECHO "X$export_symbols_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+exclude_expsyms='`$ECHO "X$exclude_expsyms" | $Xsed -e "$delay_single_quote_subst"`'
+include_expsyms='`$ECHO "X$include_expsyms" | $Xsed -e "$delay_single_quote_subst"`'
+prelink_cmds='`$ECHO "X$prelink_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+file_list_spec='`$ECHO "X$file_list_spec" | $Xsed -e "$delay_single_quote_subst"`'
+variables_saved_for_relink='`$ECHO "X$variables_saved_for_relink" | $Xsed -e "$delay_single_quote_subst"`'
+need_lib_prefix='`$ECHO "X$need_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`'
+need_version='`$ECHO "X$need_version" | $Xsed -e "$delay_single_quote_subst"`'
+version_type='`$ECHO "X$version_type" | $Xsed -e "$delay_single_quote_subst"`'
+runpath_var='`$ECHO "X$runpath_var" | $Xsed -e "$delay_single_quote_subst"`'
+shlibpath_var='`$ECHO "X$shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`'
+shlibpath_overrides_runpath='`$ECHO "X$shlibpath_overrides_runpath" | $Xsed -e "$delay_single_quote_subst"`'
+libname_spec='`$ECHO "X$libname_spec" | $Xsed -e "$delay_single_quote_subst"`'
+library_names_spec='`$ECHO "X$library_names_spec" | $Xsed -e "$delay_single_quote_subst"`'
+soname_spec='`$ECHO "X$soname_spec" | $Xsed -e "$delay_single_quote_subst"`'
+postinstall_cmds='`$ECHO "X$postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+postuninstall_cmds='`$ECHO "X$postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+finish_cmds='`$ECHO "X$finish_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+finish_eval='`$ECHO "X$finish_eval" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_into_libs='`$ECHO "X$hardcode_into_libs" | $Xsed -e "$delay_single_quote_subst"`'
+sys_lib_search_path_spec='`$ECHO "X$sys_lib_search_path_spec" | $Xsed -e "$delay_single_quote_subst"`'
+sys_lib_dlsearch_path_spec='`$ECHO "X$sys_lib_dlsearch_path_spec" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_action='`$ECHO "X$hardcode_action" | $Xsed -e "$delay_single_quote_subst"`'
+enable_dlopen='`$ECHO "X$enable_dlopen" | $Xsed -e "$delay_single_quote_subst"`'
+enable_dlopen_self='`$ECHO "X$enable_dlopen_self" | $Xsed -e "$delay_single_quote_subst"`'
+enable_dlopen_self_static='`$ECHO "X$enable_dlopen_self_static" | $Xsed -e "$delay_single_quote_subst"`'
+old_striplib='`$ECHO "X$old_striplib" | $Xsed -e "$delay_single_quote_subst"`'
+striplib='`$ECHO "X$striplib" | $Xsed -e "$delay_single_quote_subst"`'
+
+LTCC='$LTCC'
+LTCFLAGS='$LTCFLAGS'
+compiler='$compiler_DEFAULT'
+
+# Quote evaled strings.
+for var in SED \
+GREP \
+EGREP \
+FGREP \
+LD \
+NM \
+LN_S \
+lt_SP2NL \
+lt_NL2SP \
+reload_flag \
+OBJDUMP \
+deplibs_check_method \
+file_magic_cmd \
+AR \
+AR_FLAGS \
+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 \
+SHELL \
+ECHO \
+lt_prog_compiler_no_builtin_flag \
+lt_prog_compiler_wl \
+lt_prog_compiler_pic \
+lt_prog_compiler_static \
+lt_cv_prog_compiler_c_o \
+need_locks \
+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 \
+fix_srcfile_path \
+exclude_expsyms \
+include_expsyms \
+file_list_spec \
+variables_saved_for_relink \
+libname_spec \
+library_names_spec \
+soname_spec \
+finish_eval \
+old_striplib \
+striplib; do
+    case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+    *[\\\\\\\`\\"\\\$]*)
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$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 \
+postinstall_cmds \
+postuninstall_cmds \
+finish_cmds \
+sys_lib_search_path_spec \
+sys_lib_dlsearch_path_spec; do
+    case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+    *[\\\\\\\`\\"\\\$]*)
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+      ;;
+    *)
+      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+      ;;
+    esac
+done
+
+# Fix-up fallback echo if it was mangled by the above quoting rules.
+case \$lt_ECHO in
+*'\\\$0 --fallback-echo"')  lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\$0 --fallback-echo"\$/\$0 --fallback-echo"/'\`
+  ;;
+esac
+
+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" ;;
+    "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+    "disk-utils/Makefile") CONFIG_FILES="$CONFIG_FILES disk-utils/Makefile" ;;
+    "fdisk/Makefile") CONFIG_FILES="$CONFIG_FILES fdisk/Makefile" ;;
+    "fsck/Makefile") CONFIG_FILES="$CONFIG_FILES fsck/Makefile" ;;
+    "getopt/Makefile") CONFIG_FILES="$CONFIG_FILES getopt/Makefile" ;;
+    "hwclock/Makefile") CONFIG_FILES="$CONFIG_FILES hwclock/Makefile" ;;
+    "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
+    "lib/Makefile") CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;;
+    "login-utils/Makefile") CONFIG_FILES="$CONFIG_FILES login-utils/Makefile" ;;
+    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+    "misc-utils/chkdupexe") CONFIG_FILES="$CONFIG_FILES misc-utils/chkdupexe:misc-utils/chkdupexe.pl" ;;
+    "misc-utils/Makefile") CONFIG_FILES="$CONFIG_FILES misc-utils/Makefile" ;;
+    "mount/Makefile") CONFIG_FILES="$CONFIG_FILES mount/Makefile" ;;
+    "partx/Makefile") CONFIG_FILES="$CONFIG_FILES partx/Makefile" ;;
+    "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;;
+    "schedutils/Makefile") CONFIG_FILES="$CONFIG_FILES schedutils/Makefile" ;;
+    "shlibs/blkid/blkid.pc") CONFIG_FILES="$CONFIG_FILES shlibs/blkid/blkid.pc" ;;
+    "shlibs/blkid/Makefile") CONFIG_FILES="$CONFIG_FILES shlibs/blkid/Makefile" ;;
+    "shlibs/blkid/src/Makefile") CONFIG_FILES="$CONFIG_FILES shlibs/blkid/src/Makefile" ;;
+    "shlibs/blkid/src/probers/Makefile") CONFIG_FILES="$CONFIG_FILES shlibs/blkid/src/probers/Makefile" ;;
+    "shlibs/uuid/uuid.pc") CONFIG_FILES="$CONFIG_FILES shlibs/uuid/uuid.pc" ;;
+    "shlibs/uuid/Makefile") CONFIG_FILES="$CONFIG_FILES shlibs/uuid/Makefile" ;;
+    "shlibs/uuid/man/Makefile") CONFIG_FILES="$CONFIG_FILES shlibs/uuid/man/Makefile" ;;
+    "shlibs/uuid/src/Makefile") CONFIG_FILES="$CONFIG_FILES shlibs/uuid/src/Makefile" ;;
+    "shlibs/Makefile") CONFIG_FILES="$CONFIG_FILES shlibs/Makefile" ;;
+    "sys-utils/Makefile") CONFIG_FILES="$CONFIG_FILES sys-utils/Makefile" ;;
+    "tests/commands.sh") CONFIG_FILES="$CONFIG_FILES tests/commands.sh" ;;
+    "tests/helpers/Makefile") CONFIG_FILES="$CONFIG_FILES tests/helpers/Makefile" ;;
+    "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;;
+    "text-utils/Makefile") CONFIG_FILES="$CONFIG_FILES text-utils/Makefile" ;;
+
+  *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+   { (exit 1); exit 1; }; };;
+  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=
+  trap 'exit_status=$?
+  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+' 0
+  trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+# Create a (secure) tmp directory for tmp files.
+
+{
+  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
+  test -n "$tmp" && test -d "$tmp"
+}  ||
+{
+  tmp=./conf$$-$RANDOM
+  (umask 077 && mkdir "$tmp")
+} ||
+{
+   $as_echo "$as_me: cannot create a temporary directory in ." >&2
+   { (exit 1); exit 1; }
+}
+
+# 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='\r'
+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 {' >"$tmp/subs1.awk" &&
+_ACEOF
+
+
+{
+  echo "cat >conf$$subs.awk <<_ACEOF" &&
+  echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
+  echo "_ACEOF"
+} >conf$$subs.sh ||
+  { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+   { (exit 1); exit 1; }; }
+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_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+   { (exit 1); exit 1; }; }
+
+  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_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+   { (exit 1); exit 1; }; }
+  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 >>"\$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 >>"\$tmp/subs1.awk" <<_ACAWK &&
+  for (key in S) S_is_set[key] = 1
+  FS = "\a"
+
+}
+{
+  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 < "$tmp/subs1.awk" > "$tmp/subs.awk" \
+  || { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5
+$as_echo "$as_me: error: could not setup config files machinery" >&2;}
+   { (exit 1); exit 1; }; }
+_ACEOF
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ 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[        ]*=/{
+s/:*\$(srcdir):*/:/
+s/:*\${srcdir}:*/:/
+s/:*@srcdir@:*/:/
+s/^\([^=]*=[    ]*\):*/\1/
+s/:*$//
+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 >"$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_t=`sed -n "/$ac_delim/p" confdefs.h`
+  if test -z "$ac_t"; then
+    break
+  elif $ac_last_try; then
+    { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_HEADERS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_HEADERS" >&2;}
+   { (exit 1); exit 1; }; }
+  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 = "\a"
+}
+/^[\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_echo "$as_me:$LINENO: error: could not setup config headers machinery" >&5
+$as_echo "$as_me: error: could not setup config headers machinery" >&2;}
+   { (exit 1); exit 1; }; }
+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_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5
+$as_echo "$as_me: error: invalid tag $ac_tag" >&2;}
+   { (exit 1); exit 1; }; };;
+  :[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="$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_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
+$as_echo "$as_me: error: cannot find input file: $ac_f" >&2;}
+   { (exit 1); exit 1; }; };;
+      esac
+      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+      ac_file_inputs="$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:$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 >"$tmp/stdin" \
+      || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+   { (exit 1); exit 1; }; } ;;
+    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"
+  case $as_dir in #(
+  -*) as_dir=./$as_dir;;
+  esac
+  test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
+    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_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
+   { (exit 1); exit 1; }; }; }
+  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:$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 "$tmp/subs.awk" >$tmp/out \
+  || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+   { (exit 1); exit 1; }; }
+
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[         ]*datarootdir[  ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { $as_echo "$as_me:$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 "$tmp/stdin"
+  case $ac_file in
+  -) cat "$tmp/out" && rm -f "$tmp/out";;
+  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+  esac \
+  || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+   { (exit 1); exit 1; }; }
+ ;;
+  :H)
+  #
+  # CONFIG_HEADER
+  #
+  if test x"$ac_file" != x-; then
+    {
+      $as_echo "/* $configure_input  */" \
+      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
+    } >"$tmp/config.h" \
+      || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+   { (exit 1); exit 1; }; }
+    if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+      { $as_echo "$as_me:$LINENO: $ac_file is unchanged" >&5
+$as_echo "$as_me: $ac_file is unchanged" >&6;}
+    else
+      rm -f "$ac_file"
+      mv "$tmp/config.h" "$ac_file" \
+       || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+   { (exit 1); exit 1; }; }
+    fi
+  else
+    $as_echo "/* $configure_input  */" \
+      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
+      || { { $as_echo "$as_me:$LINENO: error: could not create -" >&5
+$as_echo "$as_me: error: could not create -" >&2;}
+   { (exit 1); exit 1; }; }
+  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:$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
+  case $as_dir in #(
+  -*) as_dir=./$as_dir;;
+  esac
+  test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
+    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_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
+   { (exit 1); exit 1; }; }; }
+      # 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 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
+
+# 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 audit (normally "o").
+objext=$ac_objext
+
+# Executable file audit (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
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# 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
+
+# The archiver.
+AR=$lt_AR
+AR_FLAGS=$lt_AR_FLAGS
+
+# 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
+
+# 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
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# An echo program that does not interpret backslashes.
+ECHO=$lt_ECHO
+
+# 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
+
+# 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 audit (normally "a").
+libext=$libext
+
+# Shared library audit (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
+
+# 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
+
+# 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
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic
+
+# 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
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path=$lt_fix_srcfile_path
+
+# 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
+
+# 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 '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
+    || (rm -f "$cfgfile"; exit 1)
+
+  case $xsi_shell in
+  yes)
+    cat << \_LT_EOF >> "$cfgfile"
+
+# 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 ()
+{
+  case ${1} in
+    */*) func_dirname_result="${1%/*}${2}" ;;
+    *  ) func_dirname_result="${3}" ;;
+  esac
+}
+
+# func_basename file
+func_basename ()
+{
+  func_basename_result="${1##*/}"
+}
+
+# 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 ()
+{
+  case ${1} in
+    */*) func_dirname_result="${1%/*}${2}" ;;
+    *  ) func_dirname_result="${3}" ;;
+  esac
+  func_basename_result="${1##*/}"
+}
+
+# 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_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}"}
+}
+
+# func_opt_split
+func_opt_split ()
+{
+  func_opt_split_opt=${1%%=*}
+  func_opt_split_arg=${1#*=}
+}
+
+# func_lo2o object
+func_lo2o ()
+{
+  case ${1} in
+    *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
+    *)    func_lo2o_result=${1} ;;
+  esac
+}
+
+# func_xform libobj-or-source
+func_xform ()
+{
+  func_xform_result=${1%.*}.lo
+}
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+  func_arith_result=$(( $* ))
+}
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+  func_len_result=${#1}
+}
+
+_LT_EOF
+    ;;
+  *) # Bourne compatible functions.
+    cat << \_LT_EOF >> "$cfgfile"
+
+# 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 ()
+{
+  # Extract subdirectory from the argument.
+  func_dirname_result=`$ECHO "X${1}" | $Xsed -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 file
+func_basename ()
+{
+  func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
+}
+
+
+# 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 "X${3}" \
+           | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
+    *)  func_stripname_result=`$ECHO "X${3}" \
+           | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
+  esac
+}
+
+# sed scripts:
+my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q'
+my_sed_long_arg='1s/^-[^=]*=//'
+
+# func_opt_split
+func_opt_split ()
+{
+  func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
+  func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
+}
+
+# func_lo2o object
+func_lo2o ()
+{
+  func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
+}
+
+# func_xform libobj-or-source
+func_xform ()
+{
+  func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[^.]*$/.lo/'`
+}
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+  func_arith_result=`expr "$@"`
+}
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+  func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
+}
+
+_LT_EOF
+esac
+
+case $lt_shell_append in
+  yes)
+    cat << \_LT_EOF >> "$cfgfile"
+
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+  eval "$1+=\$2"
+}
+_LT_EOF
+    ;;
+  *)
+    cat << \_LT_EOF >> "$cfgfile"
+
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+  eval "$1=\$$1\$2"
+}
+
+_LT_EOF
+    ;;
+  esac
+
+
+  sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
+    || (rm -f "$cfgfile"; exit 1)
+
+  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
+
+
+{ (exit 0); exit 0; }
+_ACEOF
+chmod +x $CONFIG_STATUS
+ac_clean_files=$ac_clean_files_save
+
+test $ac_write_fail = 0 ||
+  { { $as_echo "$as_me:$LINENO: error: write failure creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: write failure creating $CONFIG_STATUS" >&2;}
+   { (exit 1); exit 1; }; }
+
+
+# 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 || { (exit 1); exit 1; }
+fi
+if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+  { $as_echo "$as_me:$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 (file)
index 0000000..c0e1a29
--- /dev/null
@@ -0,0 +1,937 @@
+AC_INIT(util-linux-ng, 2.16.2, kzak@redhat.com)
+
+AC_PREREQ(2.60)
+
+AC_CONFIG_AUX_DIR(config)
+AC_CONFIG_MACRO_DIR([m4])
+
+AM_INIT_AUTOMAKE([check-news -Wall foreign 1.9 dist-bzip2])
+
+AC_CONFIG_SRCDIR(mount/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="10-Feb-2009"
+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
+
+# 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
+
+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])
+
+
+AC_PROG_CC_STDC
+AC_GNU_SOURCE
+AC_CANONICAL_HOST
+AC_C_BIGENDIAN
+
+dnl libtool-2
+LT_INIT
+
+PKG_PROG_PKG_CONFIG
+
+linux_os=no
+case ${host_os} in
+  *linux*)
+    linux_os=yes
+    ;;
+esac
+AM_CONDITIONAL([LINUX], test "x$linux_os" = xyes)
+
+AC_PATH_PROG(PERL, perl)
+AC_PATH_PROG(BLKID, blkid, [], [$PATH:/sbin])
+AC_PATH_PROG(VOLID, vol_id, [], [$PATH:/lib/udev])
+
+AC_SYS_LARGEFILE
+
+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(
+       [err.h \
+       errno.h \
+       getopt.h \
+       langinfo.h \
+       linux/fd.h \
+       linux/tiocl.h \
+       linux/version.h \
+       locale.h \
+       stdint.h \
+       inttypes.h \
+       pty.h \
+       mntent.h \
+        net/if.h \
+       net/if_dl.h \
+        netinet/in.h \
+       rpcsvc/nfs_prot.h \
+       scsi/scsi.h \
+       stdlib.h \
+       sys/disk.h \
+       sys/disklabel.h \
+       sys/ioctl.h \
+       sys/io.h \
+       sys/time.h \
+       sys/mkdev.h \
+       sys/prctl.h \
+       sys/queue.h \
+       sys/sockio.h \
+       sys/file.h \
+       sys/ioctl.h \
+       sys/stat.h \
+       sys/types.h \
+       sys/un.h \
+       sys/user.h \
+       sys/resource.h \
+       unistd.h ])
+AC_CHECK_HEADERS([linux/raw.h],
+                [AM_CONDITIONAL([HAVE_RAW], [true])],
+                [AM_CONDITIONAL([HAVE_RAW], [false])])
+
+AC_CHECK_DECLS([_NL_TIME_WEEK_1STDAY],[],[],[[#include <langinfo.h>]])
+
+AC_CHECK_FUNCS(
+       [inet_aton \
+       fsync \
+       getdomainname \
+       get_current_dir_name \
+       nanosleep \
+       personality \
+       updwtmp \
+       jrand48 \
+       lchown \
+       llseek \
+       lseek64 \
+       strtoull \
+       sysconf \
+       getdtablesize \
+       getrlimit \
+       srandom \
+       setresgid \
+       setresuid \
+       inotify_init \
+       prctl \
+       __secure_getenv \
+       rpmatch])
+AC_FUNC_FSEEKO
+
+AC_CHECK_FUNCS([openat fstatat unlinkat], [have_openat=yes], [have_openat=no])
+
+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>])
+
+dnl Static compilation
+m4_define([UTIL_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([UTIL_STATIC_PROGRAMS])[)])])
+
+case $enable_static_programs in
+yes) enable_static_programs=m4_quote(UTIL_STATIC_PROGRAMS) ;;
+no) enable_static_programs= ;;
+esac
+
+dnl Set all the individual AM_CONDITIONALs
+m4_foreach([UTIL_PRG], m4_defn([UTIL_STATIC_PROGRAMS]), [
+  case ,$enable_static_programs, in
+   *,UTIL_PRG,*) static_[]UTIL_PRG=yes ;;
+  esac
+  AM_CONDITIONAL([HAVE_STATIC_]m4_toupper(UTIL_PRG),
+    [test "x$static_[]UTIL_PRG" = xyes])
+])
+
+dnl UTIL_PKG_STATIC(VARIABLE, MODULES)
+dnl ----------------------------------
+AC_DEFUN([UTIL_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 UTIL_CHECK_LIB(LIBRARY, FUNCTION, [VARSUFFIX = $1]))
+dnl The VARSUFFIX is optional and overrides the default behaviour. For example:
+dnl     UTIL_CHECK_LIB(yyy, func, xxx) generates have_xxx and HAVE_LIBXXX
+dnl     UTIL_CHECK_LIB(yyy, func)      generates have_yyy and HAVE_LIBYYY
+dnl ---------------------------------
+AC_DEFUN([UTIL_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 UTIL_SET_FLAGS(CFLAGS, CPPFLAGS, LDFLAGS)
+AC_DEFUN([UTIL_SET_FLAGS], [
+  old_CFLAGS="$CFLAGS"
+  old_CPPFLAGS="$CPPFLAGS"
+  old_LDFLAGS="$LDFLAGS"
+  CFLAGS="$CFLAGS $1"
+  CPPFLAGS="$CPPFLAGS $2"
+  LDFLAGS="$LDFLAGS $3"
+])
+
+dnl UTIL_RESTORE_FLAGS()
+AC_DEFUN([UTIL_RESTORE_FLAGS], [
+  CFLAGS="$old_CFLAGS"
+  CPPFLAGS="$old_CPPFLAGS"
+  LDFLAGS="$old_LDFLAGS"
+])
+
+
+AC_ARG_ENABLE([tls],
+  AS_HELP_STRING([--disable-tls], [disable use of thread local support]),
+  [], enable_tls=yes
+)
+if test "x$enable_tls" = xyes; then
+  AX_TLS
+fi
+
+
+AC_ARG_ENABLE([mount],
+  AS_HELP_STRING([--disable-mount], [do not build mount utilities]),
+  [], enable_mount=check
+)
+build_mount=yes
+if test "x$enable_mount" = xcheck; then
+  if test "x$linux_os" = xno; then
+    AC_MSG_WARN([non-linux system; do not build mount utilities])
+    build_mount=no
+  fi
+elif test "x$enable_mount" = xno; then
+    build_mount=no
+fi
+AM_CONDITIONAL(BUILD_MOUNT, test "x$build_mount" = xyes)
+
+
+AC_ARG_ENABLE([fsck],
+  AS_HELP_STRING([--disable-fsck], [do not build fsck]),
+  [], enable_fsck=yes
+)
+AM_CONDITIONAL(BUILD_FSCK, test "x$enable_fsck" = xyes)
+
+
+AC_ARG_ENABLE([libuuid],
+  AS_HELP_STRING([--disable-libuuid], [do not build libuuid and uuid utilities]),
+  [], enable_libuuid=yes
+)
+AC_SUBST([LIBUUID_VERSION])
+AC_SUBST([LIBUUID_VERSION_INFO])
+AM_CONDITIONAL(BUILD_LIBUUID, test "x$enable_libuuid" = xyes)
+have_uuid=yes
+
+if test "x$enable_libuuid" = xno; then
+  # Check for external (e2fsprogs) libuuid
+  PKG_CHECK_MODULES(UUID, uuid, [have_uuid=yes], [have_uuid=no])
+  if test "x$have_uuid" = xno; then
+    # system without pkg-config or so, try classic check
+    AC_CHECK_LIB(uuid, uuid_is_null, [have_uuid=yes], [have_uuid=no])
+  fi
+  if test "x$have_uuid" = xyes; then
+    UTIL_SET_FLAGS($UUID_CFLAGS, $UUID_CFLAGS, $UUID_LIBS)
+    AC_CHECK_HEADERS([uuid.h uuid/uuid.h], [break], [])
+    UTIL_RESTORE_FLAGS
+  fi
+else
+  # internal library
+  AC_DEFINE(HAVE_UUID_H, 1, [Define to 1 if you have the <uuid.h> header file.])
+fi
+
+if test "x$have_uuid" = 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
+AM_CONDITIONAL(HAVE_UUID, test "x$have_uuid" = xyes)
+# default
+: ${UUID_LIBS='-luuid'}
+
+
+AC_ARG_ENABLE([uuidd],
+  AS_HELP_STRING([--disable-uuidd], [do not build the uuid daemon]),
+  [], enable_uuidd=auto
+)
+
+case "$enable_uuidd:$have_uuid" in
+yes:no)
+  AC_MSG_ERROR([cannot enable uuidd when libuuid is disabled]) ;;
+auto:*)
+  enable_uuidd=$have_uuid ;;
+esac
+if test "x$enable_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$enable_uuidd" = xyes)
+
+
+AC_ARG_ENABLE([libblkid],
+  AS_HELP_STRING([--disable-libblkid], [do not build libblkid and blkid utilities]),
+  [], enable_libblkid=yes
+)
+AC_SUBST([LIBBLKID_VERSION])
+AC_SUBST([LIBBLKID_VERSION_INFO])
+AM_CONDITIONAL(BUILD_LIBBLKID, test "x$enable_libblkid" = xyes)
+AC_DEFINE_UNQUOTED(LIBBLKID_VERSION, "$LIBBLKID_VERSION", [libblkid version string])
+AC_DEFINE_UNQUOTED(LIBBLKID_DATE, "$LIBBLKID_DATE", [libblkid date string])
+have_blkid=yes
+
+if test "x$enable_libblkid" = xno; then
+  if test "x$build_mount" = xyes || test "x$enable_fsck" = xyes; then
+    # Check for external (e2fsprogs) libblkid
+    PKG_CHECK_MODULES(BLKID, blkid, [have_blkid=yes], [have_blkid=no])
+    if test "x$have_blkid" = xno; then
+      # system without pkg-config or so, try classic check
+      AC_CHECK_LIB(blkid, blkid_get_cache, [have_blkid=yes], [have_blkid=no])
+    fi
+    if test "x$have_blkid" = xyes; then
+      UTIL_SET_FLAGS($BLKID_CFLAGS, $BLKID_CFLAGS, $BLKID_LIBS)
+      AC_CHECK_HEADERS([blkid.h blkid/blkid.h], [break], [])
+      UTIL_RESTORE_FLAGS
+    fi
+    if test -n "$enable_static_programs"; then
+      # TODO check only when mount of fsck are requested
+      UTIL_PKG_STATIC([BLKID_LIBS_STATIC], [blkid])
+    fi
+  fi
+else
+  # internal library
+  AC_DEFINE(HAVE_BLKID_H, 1, [Define to 1 if you have the <blkid.h> header file.])
+  AC_DEFINE(HAVE_BLKID_EVALUATE_TAG, 1, [Define to 1 if you have the blkid_evaluate_tag().])
+fi
+
+if test "x$have_blkid" = xyes; then
+  AC_DEFINE(HAVE_LIBBLKID, 1, [Define to 1 if you have the -lblkid.])
+else
+  if test "x$build_mount" = xyes; then
+    AC_MSG_ERROR([libblkid is needed to build util-linux-ng mount])
+  fi
+  if test "x$enable_fsck" = xyes; then
+    AC_MSG_ERROR([libblkid is needed to build util-linux-ng fsck])
+  fi
+fi
+AM_CONDITIONAL(HAVE_BLKID, test "x$have_blkid" = xyes)
+# default
+: ${BLKID_LIBS='-lblkid -luuid'}
+
+AC_ARG_VAR([BLKID_LIBS_STATIC], [-l options for linking statically with blkid])
+
+
+UTIL_CHECK_LIB(util, openpty)
+UTIL_CHECK_LIB(termcap, tgetnum)
+
+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_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
+      UTIL_CHECK_LIB(ncursesw, initscr, ncurses)
+      if test "x$have_ncurses" = xyes; then
+        NCURSES_LIBS="-lncursesw"
+      fi
+    fi
+    if test "x$have_ncurses" = xno; then
+      UTIL_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_tinfo=no
+AC_CHECK_LIB(tinfo, tgetent, [have_tinfo=yes])
+AM_CONDITIONAL(HAVE_TINFO, test "x$have_tinfo" = xyes)
+
+use_slang=no
+if test "x$with_slang" = xyes; then
+  AC_CHECK_HEADERS([slcurses.h slang/slcurses.h], [use_slang=yes])
+  if test "x$use_slang" = xno; then
+    AC_MSG_ERROR([slang selected but slcurses.h not found])
+  fi
+fi
+AM_CONDITIONAL(USE_SLANG, test "x$use_slang" = xyes)
+
+
+AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+#define _XOPEN_SOURCE
+#include <unistd.h>
+]], [[
+char *c = crypt("abc","pw");
+]])],[],[
+  LIBS="$LIBS -lcrypt"
+  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+  #define _XOPEN_SOURCE
+  #include <unistd.h>
+  ]], [[
+  char *c = crypt("abc","pw");
+  ]])],[
+  AC_DEFINE(NEED_LIBCRYPT, 1, [Do we need -lcrypt?])
+  need_libcrypt=yes
+  ],[
+  AC_MSG_ERROR([crypt() is not available])
+  ])
+])
+
+AM_CONDITIONAL(NEED_LIBCRYPT, test "x$need_libcrypt" = xyes)
+
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+#include <stdio.h>
+]], [[
+printf(__progname);
+]])],
+[AC_DEFINE(HAVE___PROGNAME, 1, Do we have __progname?)
+])
+
+
+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?)
+])
+
+
+dnl UTIL_CHECK_SYSCALL(SYSCALL, FALLBACK, ...)
+dnl Only specify FALLBACK if the SYSCALL
+dnl you're checking for is a "newish" one
+dnl -------------------------------------
+AC_DEFUN([UTIL_CHECK_SYSCALL], [
+  dnl This macro uses host_cpu.
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  AC_CACHE_CHECK([for syscall $1],
+    [util_cv_syscall_$1],
+    [_UTIL_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 ...
+      _UTIL_SYSCALL_CHECK_DECL([_NR_$1],
+       [syscall=_NR_$1],
+       [
+         syscall=no
+         if test "x$linux_os" = xyes; then
+           case $host_cpu in
+             _UTIL_CHECK_SYSCALL_FALLBACK(m4_shift($@))
+           esac
+         fi
+        ])
+      ])
+    util_cv_syscall_$1=$syscall
+    ])
+  AM_CONDITIONAL([HAVE_]m4_toupper($1), [test "x$util_cv_syscall_$1" != xno])
+  case $util_cv_syscall_$1 in #(
+  no) AC_MSG_WARN([Unable to detect syscall $1.]) ;;
+  SYS_*) ;;
+  *) AC_DEFINE_UNQUOTED([SYS_$1], [$util_cv_syscall_$1],
+       [Fallback syscall number for $1]) ;;
+  esac
+])
+
+dnl _UTIL_SYSCALL_CHECK_DECL(SYMBOL, ACTION-IF-FOUND, ACTION-IF-NOT-FOUND)
+dnl Check if SYMBOL is declared, using the headers needed for syscall checks.
+dnl -------------------------------------
+m4_define([_UTIL_SYSCALL_CHECK_DECL],
+[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+#include <sys/syscall.h>
+#include <unistd.h>
+]], [[int test = $1;]])],
+[$2], [$3])
+])
+
+dnl _UTIL_CHECK_SYSCALL_FALLBACK(PATTERN, VALUE, ...)
+dnl Helper macro to create the body for the above `case'.
+dnl -------------------------------------
+m4_define([_UTIL_CHECK_SYSCALL_FALLBACK],
+[m4_ifval([$1],
+  [#(
+  $1) syscall="$2" ;;dnl
+  _UTIL_CHECK_SYSCALL_FALLBACK(m4_shiftn(2, $@))])dnl
+])
+
+
+UTIL_CHECK_SYSCALL([pivot_root])
+UTIL_CHECK_SYSCALL([sched_getaffinity])
+UTIL_CHECK_SYSCALL([ioprio_set],
+  [alpha],    [442],
+  [i*86],     [289],
+  [ia64*],    [1274],
+  [powerpc*], [273],
+  [s390*],    [282],
+  [sparc*],   [196],
+  [sh*],      [288],
+  [x86_64*],  [251])
+UTIL_CHECK_SYSCALL([ioprio_get],
+  [alpha],    [443],
+  [i*86],     [290],
+  [ia64*],    [1275],
+  [powerpc*], [274],
+  [s390*],    [283],
+  [sparc*],   [218],
+  [sh*],      [289],
+  [x86_64*],  [252])
+
+
+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_DECLS([
+ 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_CHECK_HEADERS([sys/swap.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.])
+])
+
+
+dnl UTIL_SET_ARCH(ARCHNAME, PATTERN)
+dnl ---------------------------------
+AC_DEFUN([UTIL_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])
+])
+
+UTIL_SET_ARCH(I86, i?86-*)
+UTIL_SET_ARCH(86_64, x86_64*)
+UTIL_SET_ARCH(IA64, ia64*)
+UTIL_SET_ARCH(S390, s390*)
+UTIL_SET_ARCH(SPARC, sparc*)
+UTIL_SET_ARCH(PPC, ppc*|powerpc*)
+UTIL_SET_ARCH(M68K, m68*)
+UTIL_SET_ARCH(MIPS, mips*)
+UTIL_SET_ARCH(HPPA, hppa*)
+
+AC_ARG_ENABLE([arch],
+  AS_HELP_STRING([--enable-arch], [do build arch]),
+  [], enable_arch=no
+)
+AM_CONDITIONAL(BUILD_ARCH, test "x$enable_arch" = xyes)
+
+AC_ARG_ENABLE([agetty],
+  AS_HELP_STRING([--disable-agetty], [do not build agetty]),
+  [], enable_agetty=yes
+)
+AM_CONDITIONAL(BUILD_AGETTY, test "x$enable_agetty" = xyes)
+
+AC_ARG_ENABLE([cramfs],
+  AS_HELP_STRING([--disable-cramfs], [do not build fsck.cramfs, mkfs.cramfs]),
+  [], enable_cramfs=check
+)
+
+if test "x$enable_cramfs" = xno; then
+  build_cramfs=no
+else
+  build_cramfs=yes
+  dnl Trick: leave the third parameter empty to get the default action.
+  AC_CHECK_LIB(z, crc32, [], build_cramfs=no)
+  case $enable_cramfs:$build_cramfs in
+  yes:no) AC_MSG_ERROR([cramfs selected but libz not found]);;
+  esac
+fi
+AM_CONDITIONAL(BUILD_CRAMFS, test "x$build_cramfs" = xyes)
+
+
+AC_ARG_ENABLE([switch_root],
+  AS_HELP_STRING([--disable-switch_root], [do not build switch_root]),
+  [], enable_switch_root=check
+)
+
+if test "x$enable_switch_root" = xno; then
+  build_switch_root=no
+else
+  build_switch_root=yes
+  case $enable_switch_root:$linux_os in
+  yes:no) AC_MSG_ERROR([switch_root selected for non-linux system]);;
+  check:no) AC_MSG_WARN([non-linux system; do not build switch_root])
+            build_switch_root=no;;
+  esac
+  if test "x$build_switch_root" = xyes; then
+    case $enable_switch_root:$have_openat in
+    yes:no) AC_MSG_ERROR([switch_root selected but openat() function not found]);;
+    check:no) AC_MSG_WARN([openat() function not found; do not build switch_root])
+              build_switch_root=no;;
+    esac
+  fi
+fi
+AM_CONDITIONAL(BUILD_SWITCH_ROOT, test "x$build_switch_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
+)
+AM_CONDITIONAL(BUILD_ELVTUNE, test "x$enable_elvtune" = xyes)
+
+
+AC_ARG_ENABLE([init],
+  AS_HELP_STRING([--enable-init], [build simpleinit, shutdown, initctl]),
+  [], enable_init=no
+)
+AM_CONDITIONAL(BUILD_INIT, test "x$enable_init" = xyes)
+
+
+AC_ARG_ENABLE([kill],
+  AS_HELP_STRING([--enable-kill], [build kill]),
+  [], enable_kill=no
+)
+AM_CONDITIONAL(BUILD_KILL, test "x$enable_kill" = xyes)
+
+
+AC_ARG_ENABLE([last],
+  AS_HELP_STRING([--enable-last], [build last]),
+  [], enable_last=no
+)
+AM_CONDITIONAL(BUILD_LAST, test "x$enable_last" = xyes)
+
+
+AC_ARG_ENABLE([mesg],
+  AS_HELP_STRING([--enable-mesg], [build mesg]),
+  [], enable_mesg=no
+)
+AM_CONDITIONAL(BUILD_MESG, test "x$enable_mesg" = xyes)
+
+
+AC_ARG_ENABLE([partx],
+  AS_HELP_STRING([--enable-partx], [build addpart, delpart, partx]),
+  [], enable_partx=no
+)
+AM_CONDITIONAL(BUILD_PARTX, test "x$enable_partx" = xyes)
+
+
+AC_ARG_ENABLE([raw],
+  AS_HELP_STRING([--enable-raw], [build raw]),
+  [], enable_raw=no
+)
+AM_CONDITIONAL(BUILD_RAW, test "x$enable_raw" = xyes)
+
+
+AC_ARG_ENABLE([rdev],
+  AS_HELP_STRING([--enable-rdev], [build rdev on i386]),
+  [], enable_rdev=no
+)
+AM_CONDITIONAL(BUILD_RDEV, test "x$enable_rdev" = xyes)
+
+
+AC_ARG_ENABLE([rename],
+  AS_HELP_STRING([--disable-rename], [do not build rename]),
+  [], enable_rename=yes
+)
+AM_CONDITIONAL(BUILD_RENAME, test "x$enable_rename" = xyes)
+
+
+AC_ARG_ENABLE([reset],
+  AS_HELP_STRING([--enable-reset], [build reset]),
+  [], enable_reset=no
+)
+AM_CONDITIONAL(BUILD_RESET, test "x$enable_reset" = xyes)
+
+
+AC_ARG_ENABLE([login-utils],
+  AS_HELP_STRING([--enable-login-utils], [build chfn, chsh, login, newgrp, vipw]),
+  [], enable_login_utils=no
+)
+AM_CONDITIONAL(BUILD_LOGIN_UTILS, test "x$enable_login_utils" = xyes)
+
+AC_ARG_WITH([pam],
+  [AS_HELP_STRING([--without-pam], [compile login-utils without PAM support])])
+
+AM_CONDITIONAL(HAVE_PAM, false)
+if test "x$enable_login_utils" = xyes && test "x$with_pam" != xno; then
+  AC_CHECK_HEADERS([security/pam_misc.h],
+    [AM_CONDITIONAL(HAVE_PAM, true)],
+    [if test "x$with_pam" = xyes; then
+       AC_MSG_ERROR([PAM selected but security/pam_misc.h not found])
+     fi
+    ])
+fi
+
+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
+  UTIL_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
+  UTIL_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 doesn't support audit_log_user_message())])
+   ;;
+  esac
+fi
+
+AC_ARG_ENABLE([schedutils],
+  AS_HELP_STRING([--disable-schedutils], [do not build chrt, ionice, teskset]),
+  [], enable_schedutils=yes
+)
+AM_CONDITIONAL(BUILD_SCHEDUTILS, test "x$enable_schedutils" = xyes)
+
+
+AC_ARG_ENABLE([wall],
+  AS_HELP_STRING([--disable-wall], [do not build wall]),
+  [], enable_wall=yes
+)
+AM_CONDITIONAL(BUILD_WALL, test "x$enable_wall" = xyes)
+
+
+AC_ARG_ENABLE([write],
+  AS_HELP_STRING([--enable-write], [build write]),
+  [], enable_write=no
+)
+AM_CONDITIONAL(BUILD_WRITE, test "x$enable_write" = 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-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([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_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_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)
+
+AC_CONFIG_FILES([
+disk-utils/Makefile
+fdisk/Makefile
+fsck/Makefile
+getopt/Makefile
+hwclock/Makefile
+include/Makefile
+lib/Makefile
+login-utils/Makefile
+Makefile
+misc-utils/chkdupexe:misc-utils/chkdupexe.pl
+misc-utils/Makefile
+mount/Makefile
+partx/Makefile
+po/Makefile.in
+schedutils/Makefile
+shlibs/blkid/blkid.pc
+shlibs/blkid/Makefile
+shlibs/blkid/src/Makefile
+shlibs/blkid/src/probers/Makefile
+shlibs/uuid/uuid.pc
+shlibs/uuid/Makefile
+shlibs/uuid/man/Makefile
+shlibs/uuid/src/Makefile
+shlibs/Makefile
+sys-utils/Makefile
+tests/commands.sh
+tests/helpers/Makefile
+tests/Makefile
+text-utils/Makefile
+])
+
+
+AC_OUTPUT
diff --git a/disk-utils/Makefile.am b/disk-utils/Makefile.am
new file mode 100644 (file)
index 0000000..6bd22bc
--- /dev/null
@@ -0,0 +1,65 @@
+include $(top_srcdir)/config/include-Makefile.am
+
+utils_common = ../lib/blkdev.c
+if LINUX
+utils_common += ../lib/linux_version.c
+endif
+
+dist_man_MANS = isosize.8 mkfs.8 mkswap.8 \
+           fsck.minix.8 mkfs.minix.8 mkfs.bfs.8
+
+sbin_PROGRAMS = mkfs mkswap fsck.minix mkfs.minix mkfs.bfs
+fsck_minix_SOURCES = fsck.minix.c minix.h
+mkfs_minix_SOURCES = mkfs.minix.c minix.h $(utils_common)
+mkfs_bfs_SOURCES = mkfs.bfs.c $(utils_common)
+
+mkswap_SOURCES = mkswap.c $(utils_common) ../lib/wholedisk.c ../lib/pttype.c
+mkswap_LDADD =
+mkswap_CFLAGS =
+
+usrbin_exec_PROGRAMS = isosize
+usrsbin_exec_PROGRAMS =
+
+if LINUX
+dist_man_MANS += fdformat.8 blockdev.8
+sbin_PROGRAMS += blockdev
+usrsbin_exec_PROGRAMS += fdformat
+blockdev_SOURCES = blockdev.c $(utils_common)
+endif
+
+if BUILD_ELVTUNE
+sbin_PROGRAMS += elvtune
+dist_man_MANS += elvtune.8
+elvtune_SOURCES = elvtune.c ../lib/linux_version.c
+endif
+
+if HAVE_RAW
+if BUILD_RAW
+sbin_PROGRAMS += raw
+dist_man_MANS += raw.8
+endif
+endif
+
+if BUILD_CRAMFS
+cramfs_common = $(utils_common) cramfs.h cramfs_common.c cramfs_common.h
+sbin_PROGRAMS += fsck.cramfs mkfs.cramfs
+fsck_cramfs_SOURCES = fsck.cramfs.c $(cramfs_common)
+mkfs_cramfs_SOURCES = mkfs.cramfs.c $(cramfs_common) ../lib/md5.c
+fsck_cramfs_LDADD = -lz
+mkfs_cramfs_LDADD = -lz
+endif
+
+if HAVE_UUID
+if BUILD_LIBUUID
+mkswap_LDADD += $(ul_libuuid_la)
+mkswap_CFLAGS += -I$(ul_libuuid_srcdir)
+else
+mkswap_LDADD += $(UUID_LIBS)
+mkswap_CFLAGS += $(UUID_CFLAGS)
+endif
+endif
+
+if HAVE_SELINUX
+mkswap_LDADD += -lselinux
+endif
+
diff --git a/disk-utils/Makefile.in b/disk-utils/Makefile.in
new file mode 100644 (file)
index 0000000..0ea9122
--- /dev/null
@@ -0,0 +1,1026 @@
+# Makefile.in generated by automake 1.11 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@
+DIST_COMMON = $(am__dist_noinst_DATA_DIST) $(dist_man_MANS) \
+       $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+       $(top_srcdir)/config/include-Makefile.am
+@LINUX_TRUE@am__append_1 = ../lib/linux_version.c
+sbin_PROGRAMS = mkfs$(EXEEXT) mkswap$(EXEEXT) fsck.minix$(EXEEXT) \
+       mkfs.minix$(EXEEXT) mkfs.bfs$(EXEEXT) $(am__EXEEXT_1) \
+       $(am__EXEEXT_2) $(am__EXEEXT_3) $(am__EXEEXT_4)
+usrbin_exec_PROGRAMS = isosize$(EXEEXT)
+usrsbin_exec_PROGRAMS = $(am__EXEEXT_5)
+@LINUX_TRUE@am__append_2 = fdformat.8 blockdev.8
+@LINUX_TRUE@am__append_3 = blockdev
+@LINUX_TRUE@am__append_4 = fdformat
+@BUILD_ELVTUNE_TRUE@am__append_5 = elvtune
+@BUILD_ELVTUNE_TRUE@am__append_6 = elvtune.8
+@BUILD_RAW_TRUE@@HAVE_RAW_TRUE@am__append_7 = raw
+@BUILD_RAW_TRUE@@HAVE_RAW_TRUE@am__append_8 = raw.8
+@BUILD_CRAMFS_TRUE@am__append_9 = fsck.cramfs mkfs.cramfs
+@BUILD_LIBUUID_TRUE@@HAVE_UUID_TRUE@am__append_10 = $(ul_libuuid_la)
+@BUILD_LIBUUID_TRUE@@HAVE_UUID_TRUE@am__append_11 = -I$(ul_libuuid_srcdir)
+@BUILD_LIBUUID_FALSE@@HAVE_UUID_TRUE@am__append_12 = $(UUID_LIBS)
+@BUILD_LIBUUID_FALSE@@HAVE_UUID_TRUE@am__append_13 = $(UUID_CFLAGS)
+@HAVE_SELINUX_TRUE@am__append_14 = -lselinux
+subdir = disk-utils
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.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)/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 =
+CONFIG_CLEAN_VPATH_FILES =
+@LINUX_TRUE@am__EXEEXT_1 = blockdev$(EXEEXT)
+@BUILD_ELVTUNE_TRUE@am__EXEEXT_2 = elvtune$(EXEEXT)
+@BUILD_RAW_TRUE@@HAVE_RAW_TRUE@am__EXEEXT_3 = raw$(EXEEXT)
+@BUILD_CRAMFS_TRUE@am__EXEEXT_4 = fsck.cramfs$(EXEEXT) \
+@BUILD_CRAMFS_TRUE@    mkfs.cramfs$(EXEEXT)
+am__installdirs = "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(usrbin_execdir)" \
+       "$(DESTDIR)$(usrsbin_execdir)" "$(DESTDIR)$(man8dir)"
+@LINUX_TRUE@am__EXEEXT_5 = fdformat$(EXEEXT)
+PROGRAMS = $(sbin_PROGRAMS) $(usrbin_exec_PROGRAMS) \
+       $(usrsbin_exec_PROGRAMS)
+am__blockdev_SOURCES_DIST = blockdev.c ../lib/blkdev.c \
+       ../lib/linux_version.c
+@LINUX_TRUE@am__objects_1 = linux_version.$(OBJEXT)
+am__objects_2 = blkdev.$(OBJEXT) $(am__objects_1)
+@LINUX_TRUE@am_blockdev_OBJECTS = blockdev.$(OBJEXT) $(am__objects_2)
+blockdev_OBJECTS = $(am_blockdev_OBJECTS)
+blockdev_LDADD = $(LDADD)
+am__elvtune_SOURCES_DIST = elvtune.c ../lib/linux_version.c
+@BUILD_ELVTUNE_TRUE@am_elvtune_OBJECTS = elvtune.$(OBJEXT) \
+@BUILD_ELVTUNE_TRUE@   linux_version.$(OBJEXT)
+elvtune_OBJECTS = $(am_elvtune_OBJECTS)
+elvtune_LDADD = $(LDADD)
+fdformat_SOURCES = fdformat.c
+fdformat_OBJECTS = fdformat.$(OBJEXT)
+fdformat_LDADD = $(LDADD)
+am__fsck_cramfs_SOURCES_DIST = fsck.cramfs.c ../lib/blkdev.c \
+       ../lib/linux_version.c cramfs.h cramfs_common.c \
+       cramfs_common.h
+@BUILD_CRAMFS_TRUE@am__objects_3 = $(am__objects_2) \
+@BUILD_CRAMFS_TRUE@    cramfs_common.$(OBJEXT)
+@BUILD_CRAMFS_TRUE@am_fsck_cramfs_OBJECTS = fsck.cramfs.$(OBJEXT) \
+@BUILD_CRAMFS_TRUE@    $(am__objects_3)
+fsck_cramfs_OBJECTS = $(am_fsck_cramfs_OBJECTS)
+fsck_cramfs_DEPENDENCIES =
+am_fsck_minix_OBJECTS = fsck.minix.$(OBJEXT)
+fsck_minix_OBJECTS = $(am_fsck_minix_OBJECTS)
+fsck_minix_LDADD = $(LDADD)
+isosize_SOURCES = isosize.c
+isosize_OBJECTS = isosize.$(OBJEXT)
+isosize_LDADD = $(LDADD)
+mkfs_SOURCES = mkfs.c
+mkfs_OBJECTS = mkfs.$(OBJEXT)
+mkfs_LDADD = $(LDADD)
+am__mkfs_bfs_SOURCES_DIST = mkfs.bfs.c ../lib/blkdev.c \
+       ../lib/linux_version.c
+am_mkfs_bfs_OBJECTS = mkfs.bfs.$(OBJEXT) $(am__objects_2)
+mkfs_bfs_OBJECTS = $(am_mkfs_bfs_OBJECTS)
+mkfs_bfs_LDADD = $(LDADD)
+am__mkfs_cramfs_SOURCES_DIST = mkfs.cramfs.c ../lib/blkdev.c \
+       ../lib/linux_version.c cramfs.h cramfs_common.c \
+       cramfs_common.h ../lib/md5.c
+@BUILD_CRAMFS_TRUE@am_mkfs_cramfs_OBJECTS = mkfs.cramfs.$(OBJEXT) \
+@BUILD_CRAMFS_TRUE@    $(am__objects_3) md5.$(OBJEXT)
+mkfs_cramfs_OBJECTS = $(am_mkfs_cramfs_OBJECTS)
+mkfs_cramfs_DEPENDENCIES =
+am__mkfs_minix_SOURCES_DIST = mkfs.minix.c minix.h ../lib/blkdev.c \
+       ../lib/linux_version.c
+am_mkfs_minix_OBJECTS = mkfs.minix.$(OBJEXT) $(am__objects_2)
+mkfs_minix_OBJECTS = $(am_mkfs_minix_OBJECTS)
+mkfs_minix_LDADD = $(LDADD)
+am__mkswap_SOURCES_DIST = mkswap.c ../lib/blkdev.c \
+       ../lib/linux_version.c ../lib/wholedisk.c ../lib/pttype.c
+@LINUX_TRUE@am__objects_4 = mkswap-linux_version.$(OBJEXT)
+am__objects_5 = mkswap-blkdev.$(OBJEXT) $(am__objects_4)
+am_mkswap_OBJECTS = mkswap-mkswap.$(OBJEXT) $(am__objects_5) \
+       mkswap-wholedisk.$(OBJEXT) mkswap-pttype.$(OBJEXT)
+mkswap_OBJECTS = $(am_mkswap_OBJECTS)
+am__DEPENDENCIES_1 =
+@BUILD_LIBUUID_FALSE@@HAVE_UUID_TRUE@am__DEPENDENCIES_2 =  \
+@BUILD_LIBUUID_FALSE@@HAVE_UUID_TRUE@  $(am__DEPENDENCIES_1)
+mkswap_DEPENDENCIES = $(am__append_10) $(am__DEPENDENCIES_2) \
+       $(am__DEPENDENCIES_1)
+mkswap_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+       --mode=link $(CCLD) $(mkswap_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+       $(LDFLAGS) -o $@
+raw_SOURCES = raw.c
+raw_OBJECTS = raw.$(OBJEXT)
+raw_LDADD = $(LDADD)
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+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) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+       --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+       --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+       $(LDFLAGS) -o $@
+SOURCES = $(blockdev_SOURCES) $(elvtune_SOURCES) fdformat.c \
+       $(fsck_cramfs_SOURCES) $(fsck_minix_SOURCES) isosize.c mkfs.c \
+       $(mkfs_bfs_SOURCES) $(mkfs_cramfs_SOURCES) \
+       $(mkfs_minix_SOURCES) $(mkswap_SOURCES) raw.c
+DIST_SOURCES = $(am__blockdev_SOURCES_DIST) \
+       $(am__elvtune_SOURCES_DIST) fdformat.c \
+       $(am__fsck_cramfs_SOURCES_DIST) $(fsck_minix_SOURCES) \
+       isosize.c mkfs.c $(am__mkfs_bfs_SOURCES_DIST) \
+       $(am__mkfs_cramfs_SOURCES_DIST) $(am__mkfs_minix_SOURCES_DIST) \
+       $(am__mkswap_SOURCES_DIST) raw.c
+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'
+man8dir = $(mandir)/man8
+NROFF = nroff
+MANS = $(dist_man_MANS)
+am__dist_noinst_DATA_DIST = isosize.8 mkfs.8 mkswap.8 fsck.minix.8 \
+       mkfs.minix.8 mkfs.bfs.8 fdformat.8 blockdev.8 elvtune.8 raw.8
+DATA = $(dist_noinst_DATA)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BLKID = @BLKID@
+BLKID_CFLAGS = @BLKID_CFLAGS@
+BLKID_LIBS = @BLKID_LIBS@
+BLKID_LIBS_STATIC = @BLKID_LIBS_STATIC@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+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@
+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_VERSION = @LIBBLKID_VERSION@
+LIBBLKID_VERSION_INFO = @LIBBLKID_VERSION_INFO@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+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@
+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_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+POSUB = @POSUB@
+RANLIB = @RANLIB@
+SED = @SED@
+SELINUX_LIBS = @SELINUX_LIBS@
+SELINUX_LIBS_STATIC = @SELINUX_LIBS_STATIC@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SUID_CFLAGS = @SUID_CFLAGS@
+SUID_LDFLAGS = @SUID_LDFLAGS@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
+VERSION = @VERSION@
+VOLID = @VOLID@
+XGETTEXT = @XGETTEXT@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+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@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+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 $(top_builddir)/config.h -I$(top_srcdir)/include \
+       -DLOCALEDIR=\"$(localedir)\"
+
+AM_CFLAGS = -fsigned-char
+AM_LDFLAGS = 
+
+# 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)
+#
+# blkid
+ul_libblkid_srcdir = $(top_srcdir)/shlibs/blkid/src
+ul_libblkid_builddir = $(top_builddir)/shlibs/blkid/src
+ul_libblkid_la = $(top_builddir)/shlibs/blkid/src/libblkid.la
+
+# uuid
+ul_libuuid_srcdir = $(top_srcdir)/shlibs/uuid/src
+ul_libuuid_builddir = $(top_builddir)/shlibs/uuid/src
+ul_libuuid_la = $(top_builddir)/shlibs/uuid/src/libuuid.la
+utils_common = ../lib/blkdev.c $(am__append_1)
+dist_man_MANS = isosize.8 mkfs.8 mkswap.8 fsck.minix.8 mkfs.minix.8 \
+       mkfs.bfs.8 $(am__append_2) $(am__append_6) $(am__append_8)
+fsck_minix_SOURCES = fsck.minix.c minix.h
+mkfs_minix_SOURCES = mkfs.minix.c minix.h $(utils_common)
+mkfs_bfs_SOURCES = mkfs.bfs.c $(utils_common)
+mkswap_SOURCES = mkswap.c $(utils_common) ../lib/wholedisk.c ../lib/pttype.c
+mkswap_LDADD = $(am__append_10) $(am__append_12) $(am__append_14)
+mkswap_CFLAGS = $(am__append_11) $(am__append_13)
+@LINUX_TRUE@blockdev_SOURCES = blockdev.c $(utils_common)
+@BUILD_ELVTUNE_TRUE@elvtune_SOURCES = elvtune.c ../lib/linux_version.c
+@BUILD_CRAMFS_TRUE@cramfs_common = $(utils_common) cramfs.h cramfs_common.c cramfs_common.h
+@BUILD_CRAMFS_TRUE@fsck_cramfs_SOURCES = fsck.cramfs.c $(cramfs_common)
+@BUILD_CRAMFS_TRUE@mkfs_cramfs_SOURCES = mkfs.cramfs.c $(cramfs_common) ../lib/md5.c
+@BUILD_CRAMFS_TRUE@fsck_cramfs_LDADD = -lz
+@BUILD_CRAMFS_TRUE@mkfs_cramfs_LDADD = -lz
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/config/include-Makefile.am $(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 disk-utils/Makefile'; \
+       $(am__cd) $(top_srcdir) && \
+         $(AUTOMAKE) --foreign disk-utils/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):
+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
+blockdev$(EXEEXT): $(blockdev_OBJECTS) $(blockdev_DEPENDENCIES) 
+       @rm -f blockdev$(EXEEXT)
+       $(LINK) $(blockdev_OBJECTS) $(blockdev_LDADD) $(LIBS)
+elvtune$(EXEEXT): $(elvtune_OBJECTS) $(elvtune_DEPENDENCIES) 
+       @rm -f elvtune$(EXEEXT)
+       $(LINK) $(elvtune_OBJECTS) $(elvtune_LDADD) $(LIBS)
+fdformat$(EXEEXT): $(fdformat_OBJECTS) $(fdformat_DEPENDENCIES) 
+       @rm -f fdformat$(EXEEXT)
+       $(LINK) $(fdformat_OBJECTS) $(fdformat_LDADD) $(LIBS)
+fsck.cramfs$(EXEEXT): $(fsck_cramfs_OBJECTS) $(fsck_cramfs_DEPENDENCIES) 
+       @rm -f fsck.cramfs$(EXEEXT)
+       $(LINK) $(fsck_cramfs_OBJECTS) $(fsck_cramfs_LDADD) $(LIBS)
+fsck.minix$(EXEEXT): $(fsck_minix_OBJECTS) $(fsck_minix_DEPENDENCIES) 
+       @rm -f fsck.minix$(EXEEXT)
+       $(LINK) $(fsck_minix_OBJECTS) $(fsck_minix_LDADD) $(LIBS)
+isosize$(EXEEXT): $(isosize_OBJECTS) $(isosize_DEPENDENCIES) 
+       @rm -f isosize$(EXEEXT)
+       $(LINK) $(isosize_OBJECTS) $(isosize_LDADD) $(LIBS)
+mkfs$(EXEEXT): $(mkfs_OBJECTS) $(mkfs_DEPENDENCIES) 
+       @rm -f mkfs$(EXEEXT)
+       $(LINK) $(mkfs_OBJECTS) $(mkfs_LDADD) $(LIBS)
+mkfs.bfs$(EXEEXT): $(mkfs_bfs_OBJECTS) $(mkfs_bfs_DEPENDENCIES) 
+       @rm -f mkfs.bfs$(EXEEXT)
+       $(LINK) $(mkfs_bfs_OBJECTS) $(mkfs_bfs_LDADD) $(LIBS)
+mkfs.cramfs$(EXEEXT): $(mkfs_cramfs_OBJECTS) $(mkfs_cramfs_DEPENDENCIES) 
+       @rm -f mkfs.cramfs$(EXEEXT)
+       $(LINK) $(mkfs_cramfs_OBJECTS) $(mkfs_cramfs_LDADD) $(LIBS)
+mkfs.minix$(EXEEXT): $(mkfs_minix_OBJECTS) $(mkfs_minix_DEPENDENCIES) 
+       @rm -f mkfs.minix$(EXEEXT)
+       $(LINK) $(mkfs_minix_OBJECTS) $(mkfs_minix_LDADD) $(LIBS)
+mkswap$(EXEEXT): $(mkswap_OBJECTS) $(mkswap_DEPENDENCIES) 
+       @rm -f mkswap$(EXEEXT)
+       $(mkswap_LINK) $(mkswap_OBJECTS) $(mkswap_LDADD) $(LIBS)
+raw$(EXEEXT): $(raw_OBJECTS) $(raw_DEPENDENCIES) 
+       @rm -f raw$(EXEEXT)
+       $(LINK) $(raw_OBJECTS) $(raw_LDADD) $(LIBS)
+
+mostlyclean-compile:
+       -rm -f *.$(OBJEXT)
+
+distclean-compile:
+       -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/blkdev.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/blockdev.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cramfs_common.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elvtune.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fdformat.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fsck.cramfs.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fsck.minix.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isosize.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linux_version.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/md5.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mkfs.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mkfs.bfs.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mkfs.cramfs.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mkfs.minix.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mkswap-blkdev.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mkswap-linux_version.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mkswap-mkswap.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mkswap-pttype.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mkswap-wholedisk.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/raw.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@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 $<
+
+.c.obj:
+@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@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 `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@   $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@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 $@ $<
+
+blkdev.o: ../lib/blkdev.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT blkdev.o -MD -MP -MF $(DEPDIR)/blkdev.Tpo -c -o blkdev.o `test -f '../lib/blkdev.c' || echo '$(srcdir)/'`../lib/blkdev.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/blkdev.Tpo $(DEPDIR)/blkdev.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/blkdev.c' object='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) $(AM_CFLAGS) $(CFLAGS) -c -o blkdev.o `test -f '../lib/blkdev.c' || echo '$(srcdir)/'`../lib/blkdev.c
+
+blkdev.obj: ../lib/blkdev.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT blkdev.obj -MD -MP -MF $(DEPDIR)/blkdev.Tpo -c -o 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__mv) $(DEPDIR)/blkdev.Tpo $(DEPDIR)/blkdev.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/blkdev.c' object='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) $(AM_CFLAGS) $(CFLAGS) -c -o blkdev.obj `if test -f '../lib/blkdev.c'; then $(CYGPATH_W) '../lib/blkdev.c'; else $(CYGPATH_W) '$(srcdir)/../lib/blkdev.c'; fi`
+
+linux_version.o: ../lib/linux_version.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT linux_version.o -MD -MP -MF $(DEPDIR)/linux_version.Tpo -c -o linux_version.o `test -f '../lib/linux_version.c' || echo '$(srcdir)/'`../lib/linux_version.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/linux_version.Tpo $(DEPDIR)/linux_version.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/linux_version.c' object='linux_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) $(AM_CFLAGS) $(CFLAGS) -c -o linux_version.o `test -f '../lib/linux_version.c' || echo '$(srcdir)/'`../lib/linux_version.c
+
+linux_version.obj: ../lib/linux_version.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT linux_version.obj -MD -MP -MF $(DEPDIR)/linux_version.Tpo -c -o linux_version.obj `if test -f '../lib/linux_version.c'; then $(CYGPATH_W) '../lib/linux_version.c'; else $(CYGPATH_W) '$(srcdir)/../lib/linux_version.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/linux_version.Tpo $(DEPDIR)/linux_version.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/linux_version.c' object='linux_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) $(AM_CFLAGS) $(CFLAGS) -c -o linux_version.obj `if test -f '../lib/linux_version.c'; then $(CYGPATH_W) '../lib/linux_version.c'; else $(CYGPATH_W) '$(srcdir)/../lib/linux_version.c'; fi`
+
+md5.o: ../lib/md5.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT md5.o -MD -MP -MF $(DEPDIR)/md5.Tpo -c -o md5.o `test -f '../lib/md5.c' || echo '$(srcdir)/'`../lib/md5.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/md5.Tpo $(DEPDIR)/md5.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/md5.c' object='md5.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) $(AM_CFLAGS) $(CFLAGS) -c -o md5.o `test -f '../lib/md5.c' || echo '$(srcdir)/'`../lib/md5.c
+
+md5.obj: ../lib/md5.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT md5.obj -MD -MP -MF $(DEPDIR)/md5.Tpo -c -o md5.obj `if test -f '../lib/md5.c'; then $(CYGPATH_W) '../lib/md5.c'; else $(CYGPATH_W) '$(srcdir)/../lib/md5.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/md5.Tpo $(DEPDIR)/md5.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/md5.c' object='md5.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) $(AM_CFLAGS) $(CFLAGS) -c -o md5.obj `if test -f '../lib/md5.c'; then $(CYGPATH_W) '../lib/md5.c'; else $(CYGPATH_W) '$(srcdir)/../lib/md5.c'; fi`
+
+mkswap-mkswap.o: mkswap.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mkswap_CFLAGS) $(CFLAGS) -MT mkswap-mkswap.o -MD -MP -MF $(DEPDIR)/mkswap-mkswap.Tpo -c -o mkswap-mkswap.o `test -f 'mkswap.c' || echo '$(srcdir)/'`mkswap.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mkswap-mkswap.Tpo $(DEPDIR)/mkswap-mkswap.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='mkswap.c' object='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 mkswap-mkswap.o `test -f 'mkswap.c' || echo '$(srcdir)/'`mkswap.c
+
+mkswap-mkswap.obj: mkswap.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mkswap_CFLAGS) $(CFLAGS) -MT mkswap-mkswap.obj -MD -MP -MF $(DEPDIR)/mkswap-mkswap.Tpo -c -o mkswap-mkswap.obj `if test -f 'mkswap.c'; then $(CYGPATH_W) 'mkswap.c'; else $(CYGPATH_W) '$(srcdir)/mkswap.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mkswap-mkswap.Tpo $(DEPDIR)/mkswap-mkswap.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='mkswap.c' object='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 mkswap-mkswap.obj `if test -f 'mkswap.c'; then $(CYGPATH_W) 'mkswap.c'; else $(CYGPATH_W) '$(srcdir)/mkswap.c'; fi`
+
+mkswap-blkdev.o: ../lib/blkdev.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mkswap_CFLAGS) $(CFLAGS) -MT mkswap-blkdev.o -MD -MP -MF $(DEPDIR)/mkswap-blkdev.Tpo -c -o mkswap-blkdev.o `test -f '../lib/blkdev.c' || echo '$(srcdir)/'`../lib/blkdev.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mkswap-blkdev.Tpo $(DEPDIR)/mkswap-blkdev.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/blkdev.c' object='mkswap-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) $(mkswap_CFLAGS) $(CFLAGS) -c -o mkswap-blkdev.o `test -f '../lib/blkdev.c' || echo '$(srcdir)/'`../lib/blkdev.c
+
+mkswap-blkdev.obj: ../lib/blkdev.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mkswap_CFLAGS) $(CFLAGS) -MT mkswap-blkdev.obj -MD -MP -MF $(DEPDIR)/mkswap-blkdev.Tpo -c -o mkswap-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__mv) $(DEPDIR)/mkswap-blkdev.Tpo $(DEPDIR)/mkswap-blkdev.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/blkdev.c' object='mkswap-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) $(mkswap_CFLAGS) $(CFLAGS) -c -o mkswap-blkdev.obj `if test -f '../lib/blkdev.c'; then $(CYGPATH_W) '../lib/blkdev.c'; else $(CYGPATH_W) '$(srcdir)/../lib/blkdev.c'; fi`
+
+mkswap-linux_version.o: ../lib/linux_version.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mkswap_CFLAGS) $(CFLAGS) -MT mkswap-linux_version.o -MD -MP -MF $(DEPDIR)/mkswap-linux_version.Tpo -c -o mkswap-linux_version.o `test -f '../lib/linux_version.c' || echo '$(srcdir)/'`../lib/linux_version.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mkswap-linux_version.Tpo $(DEPDIR)/mkswap-linux_version.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/linux_version.c' object='mkswap-linux_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) $(mkswap_CFLAGS) $(CFLAGS) -c -o mkswap-linux_version.o `test -f '../lib/linux_version.c' || echo '$(srcdir)/'`../lib/linux_version.c
+
+mkswap-linux_version.obj: ../lib/linux_version.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mkswap_CFLAGS) $(CFLAGS) -MT mkswap-linux_version.obj -MD -MP -MF $(DEPDIR)/mkswap-linux_version.Tpo -c -o mkswap-linux_version.obj `if test -f '../lib/linux_version.c'; then $(CYGPATH_W) '../lib/linux_version.c'; else $(CYGPATH_W) '$(srcdir)/../lib/linux_version.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mkswap-linux_version.Tpo $(DEPDIR)/mkswap-linux_version.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/linux_version.c' object='mkswap-linux_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) $(mkswap_CFLAGS) $(CFLAGS) -c -o mkswap-linux_version.obj `if test -f '../lib/linux_version.c'; then $(CYGPATH_W) '../lib/linux_version.c'; else $(CYGPATH_W) '$(srcdir)/../lib/linux_version.c'; fi`
+
+mkswap-wholedisk.o: ../lib/wholedisk.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mkswap_CFLAGS) $(CFLAGS) -MT mkswap-wholedisk.o -MD -MP -MF $(DEPDIR)/mkswap-wholedisk.Tpo -c -o mkswap-wholedisk.o `test -f '../lib/wholedisk.c' || echo '$(srcdir)/'`../lib/wholedisk.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mkswap-wholedisk.Tpo $(DEPDIR)/mkswap-wholedisk.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/wholedisk.c' object='mkswap-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) $(mkswap_CFLAGS) $(CFLAGS) -c -o mkswap-wholedisk.o `test -f '../lib/wholedisk.c' || echo '$(srcdir)/'`../lib/wholedisk.c
+
+mkswap-wholedisk.obj: ../lib/wholedisk.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mkswap_CFLAGS) $(CFLAGS) -MT mkswap-wholedisk.obj -MD -MP -MF $(DEPDIR)/mkswap-wholedisk.Tpo -c -o mkswap-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__mv) $(DEPDIR)/mkswap-wholedisk.Tpo $(DEPDIR)/mkswap-wholedisk.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/wholedisk.c' object='mkswap-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) $(mkswap_CFLAGS) $(CFLAGS) -c -o mkswap-wholedisk.obj `if test -f '../lib/wholedisk.c'; then $(CYGPATH_W) '../lib/wholedisk.c'; else $(CYGPATH_W) '$(srcdir)/../lib/wholedisk.c'; fi`
+
+mkswap-pttype.o: ../lib/pttype.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mkswap_CFLAGS) $(CFLAGS) -MT mkswap-pttype.o -MD -MP -MF $(DEPDIR)/mkswap-pttype.Tpo -c -o mkswap-pttype.o `test -f '../lib/pttype.c' || echo '$(srcdir)/'`../lib/pttype.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mkswap-pttype.Tpo $(DEPDIR)/mkswap-pttype.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/pttype.c' object='mkswap-pttype.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 mkswap-pttype.o `test -f '../lib/pttype.c' || echo '$(srcdir)/'`../lib/pttype.c
+
+mkswap-pttype.obj: ../lib/pttype.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mkswap_CFLAGS) $(CFLAGS) -MT mkswap-pttype.obj -MD -MP -MF $(DEPDIR)/mkswap-pttype.Tpo -c -o mkswap-pttype.obj `if test -f '../lib/pttype.c'; then $(CYGPATH_W) '../lib/pttype.c'; else $(CYGPATH_W) '$(srcdir)/../lib/pttype.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mkswap-pttype.Tpo $(DEPDIR)/mkswap-pttype.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/pttype.c' object='mkswap-pttype.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 mkswap-pttype.obj `if test -f '../lib/pttype.c'; then $(CYGPATH_W) '../lib/pttype.c'; else $(CYGPATH_W) '$(srcdir)/../lib/pttype.c'; fi`
+
+mostlyclean-libtool:
+       -rm -f *.lo
+
+clean-libtool:
+       -rm -rf .libs _libs
+install-man8: $(dist_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)'; 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)'; 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; }
+
+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:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       set x; \
+       here=`pwd`; \
+       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; }; }'`; \
+       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:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       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; }; }'`; \
+       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
+
+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
+       @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 $(PROGRAMS) $(MANS) $(DATA)
+installdirs:
+       for dir in "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(usrbin_execdir)" "$(DESTDIR)$(usrsbin_execdir)" "$(DESTDIR)$(man8dir)"; do \
+         test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+       done
+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:
+
+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)
+
+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-sbinPROGRAMS \
+       clean-usrbin_execPROGRAMS clean-usrsbin_execPROGRAMS \
+       mostlyclean-am
+
+distclean: distclean-am
+       -rm -rf ./$(DEPDIR)
+       -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+       distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-man
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-sbinPROGRAMS install-usrbin_execPROGRAMS \
+       install-usrsbin_execPROGRAMS
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man: install-man8
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+       -rm -rf ./$(DEPDIR)
+       -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+       mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-man uninstall-sbinPROGRAMS \
+       uninstall-usrbin_execPROGRAMS uninstall-usrsbin_execPROGRAMS
+
+uninstall-man: uninstall-man8
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+       clean-libtool clean-sbinPROGRAMS clean-usrbin_execPROGRAMS \
+       clean-usrsbin_execPROGRAMS ctags distclean distclean-compile \
+       distclean-generic distclean-libtool distclean-tags distdir dvi \
+       dvi-am html html-am info info-am install install-am \
+       install-data install-data-am install-dvi install-dvi-am \
+       install-exec install-exec-am install-html install-html-am \
+       install-info install-info-am install-man install-man8 \
+       install-pdf install-pdf-am install-ps install-ps-am \
+       install-sbinPROGRAMS install-strip install-usrbin_execPROGRAMS \
+       install-usrsbin_execPROGRAMS installcheck installcheck-am \
+       installdirs maintainer-clean maintainer-clean-generic \
+       mostlyclean mostlyclean-compile mostlyclean-generic \
+       mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
+       uninstall-am uninstall-man uninstall-man8 \
+       uninstall-sbinPROGRAMS uninstall-usrbin_execPROGRAMS \
+       uninstall-usrsbin_execPROGRAMS
+
+
+$(ul_libblkid_la):
+       $(MAKE) -C $(ul_libblkid_builddir)
+
+$(ul_libuuid_la):
+       $(MAKE) -C $(ul_libuuid_builddir)
+
+# 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/disk-utils/blockdev.8 b/disk-utils/blockdev.8
new file mode 100644 (file)
index 0000000..fa01da5
--- /dev/null
@@ -0,0 +1,93 @@
+.\" -*- 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 "Jun 2007" ""
+.SH NAME
+blockdev \- call block device ioctls from the command line
+.SH SYNOPSIS
+.B blockdev
+.RI [ options ]
+.I commands devices
+.br
+.B blockdev
+.B \-\-report
+.RI [ devices ]
+.SH DESCRIPTION
+The utility
+.B blockdev
+allows one to call block device ioctls from the command line.
+.SH OPTIONS
+.TP
+.B \-V
+Print version and exit.
+.TP
+.B \-q
+Be quiet.
+.TP
+.B \-v
+Be verbose.
+.TP
+.B \-\-report
+Print a report for
+.IR devices .
+Note that the partition StartSec is in 512-byte sectors.
+.SH COMMANDS
+.TP
+.B \--setro
+Set read-only.
+.TP
+.B \--setrw
+Set read-write.
+.TP
+.B \--getro
+Get read-only. Print 1 if the device is read-only, 0 otherwise.
+.TP
+.B \--getss
+Print sectorsize in bytes - usually 512.
+.TP
+.B \--getbsz
+Print blocksize in bytes.
+.TP
+.BI \--setbsz " N"
+Set blocksize to
+.I N
+bytes.
+.TP
+.B \--getsize
+Print device size in sectors (BLKGETSIZE). Deprecated in favor of the
+.B \--getsz
+option.
+.TP
+.B \--getsize64
+Print device size in bytes (BLKGETSIZE64)
+.TP
+.B \--getsz
+Get size in 512-byte sectors (BLKGETSIZE64 / 512).
+.TP
+.BI \--setra " N"
+Set readahead to
+.I N
+512-byte sectors.
+.TP
+.B \--getra
+Print readahead (in 512-byte sectors).
+.TP
+.BI \--setfra " N"
+Set filesystem readahead (same like --setra on 2.6 kernels).
+.TP
+.B \--getfra
+Get filesystem readahead.
+.TP
+.B \--flushbufs
+Flush buffers.
+.TP
+.B \--rereadpt
+Reread partition table.
+.SH AUTHOR
+blockdev was written by Andries E. Brouwer.
+.SH AVAILABILITY
+The blockdev command is part of the util-linux-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
+
diff --git a/disk-utils/blockdev.c b/disk-utils/blockdev.c
new file mode 100644 (file)
index 0000000..7d1f808
--- /dev/null
@@ -0,0 +1,365 @@
+/*
+ * 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 "nls.h"
+#include "blkdev.h"
+
+const char *progname;
+
+struct bdc {
+       char *name;
+       char *iocname;
+       long ioc;
+       int argtype;
+#define ARGNONE        0
+#define ARGINTA        1
+#define ARGINTAP 2
+#define        ARGINTP 3
+#define ARGINTG        4
+#define ARGLINTG 5
+#define ARGLLINTG 6
+#define ARGLU 7
+#define ARGLLU 8
+       long argval;
+       char *argname;
+       char *help;
+} bdcms[] = {
+       { "--setro", "BLKROSET", BLKROSET, ARGINTP, 1, NULL, N_("set read-only") },
+       { "--setrw", "BLKROSET", BLKROSET, ARGINTP, 0, NULL, N_("set read-write") },
+       { "--getro", "BLKROGET", BLKROGET, ARGINTG, -1, NULL, N_("get read-only") },
+       { "--getss", "BLKSSZGET", BLKSSZGET, ARGINTG, -1, NULL, N_("get sectorsize") },
+       { "--getbsz", "BLKBSZGET", BLKBSZGET, ARGINTG, -1, NULL, N_("get blocksize") },
+       { "--setbsz", "BLKBSZSET", BLKBSZSET, ARGINTAP, 0, "BLOCKSIZE", N_("set blocksize") },
+       { "--getsize", "BLKGETSIZE", BLKGETSIZE, ARGLU, -1, NULL, N_("get 32-bit sector count") },
+       { "--getsize64", "BLKGETSIZE64", BLKGETSIZE64, ARGLLU, -1, NULL, N_("get size in bytes") },
+       { "--setra", "BLKRASET", BLKRASET, ARGINTA, 0, "READAHEAD", N_("set readahead") },
+       { "--getra", "BLKRAGET", BLKRAGET, ARGLINTG, -1, NULL, N_("get readahead") },
+       { "--setfra", "BLKFRASET", BLKFRASET, ARGINTA, 0, "FSREADAHEAD", N_("set filesystem readahead") },
+       { "--getfra", "BLKFRAGET", BLKFRAGET, ARGLINTG, -1, NULL, N_("get filesystem readahead") },
+       { "--flushbufs", "BLKFLSBUF", BLKFLSBUF, ARGNONE, 0, NULL, N_("flush buffers") },
+       { "--rereadpt", "BLKRRPART", BLKRRPART, ARGNONE, 0, NULL,
+         N_("reread partition table") },
+};
+
+#define SIZE(a)        (sizeof(a)/sizeof((a)[0]))
+
+static void
+usage(void) {
+       int i;
+       fputc('\n', stderr);
+       fprintf(stderr, _("Usage:\n"));
+       fprintf(stderr, "  %s -V\n", progname);
+       fprintf(stderr, _("  %s --report [devices]\n"), progname);
+       fprintf(stderr, _("  %s [-v|-q] commands devices\n"), progname);
+       fputc('\n', stderr);
+
+       fprintf(stderr, _("Available commands:\n"));
+       fprintf(stderr, "\t%-30s %s\n", "--getsz",
+                       _("get size in 512-byte sectors"));
+       for (i = 0; i < SIZE(bdcms); i++) {
+               if (bdcms[i].argname)
+                       fprintf(stderr, "\t%s %-*s %s\n", bdcms[i].name,
+                                       (int) (29 - strlen(bdcms[i].name)),
+                                       bdcms[i].argname, _(bdcms[i].help));
+               else
+                       fprintf(stderr, "\t%-30s %s\n", bdcms[i].name,
+                                       _(bdcms[i].help));
+       }
+       fputc('\n', stderr);
+       exit(1);
+}
+
+static int
+find_cmd(char *s) {
+       int j;
+
+       for (j = 0; j < SIZE(bdcms); j++)
+               if (!strcmp(s, bdcms[j].name))
+                       return j;
+       return -1;
+}
+
+void do_commands(int fd, char **argv, int d);
+void report_header(void);
+void report_device(char *device, int quiet);
+void report_all_devices(void);
+
+int
+main(int argc, char **argv) {
+       int fd, d, j, k;
+       char *p;
+
+       /* egcs-2.91.66 is buggy and says:
+          blockdev.c:93: warning: `d' might be used uninitialized */
+       d = 0;
+
+       progname = argv[0];
+       if ((p = strrchr(progname, '/')) != NULL)
+               progname = p+1;
+
+       setlocale(LC_ALL, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+
+       if (argc < 2)
+               usage();
+
+       /* -V not together with commands */
+       if (!strcmp(argv[1], "-V") || !strcmp(argv[1], "--version")) {
+               printf("%s (%s)\n", progname, PACKAGE_STRING);
+               exit(0);
+       }
+
+       /* --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();
+               }
+               exit(0);
+       }
+
+       /* 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].argtype == ARGINTA ||
+                           bdcms[j].argtype == ARGINTAP)
+                               d++;
+                       continue;
+               }
+               if (!strcmp(argv[d], "--getsz"))
+                       continue;
+               if (!strcmp(argv[d], "--")) {
+                       d++;
+                       break;
+               }
+               if (argv[d][0] != '-')
+                       break;
+       }
+
+       if (d >= argc)
+               usage();
+
+       for (k = d; k < argc; k++) {
+               fd = open(argv[k], O_RDONLY, 0);
+               if (fd < 0) {
+                       perror(argv[k]);
+                       exit(1);
+               }
+               do_commands(fd, argv, d);
+               close(fd);
+       }
+       return 0;
+}
+
+void
+do_commands(int fd, char **argv, int d) {
+       int res, i, j;
+       int iarg;
+       long larg;
+       long long llarg;
+       unsigned long lu;
+       unsigned long long llu;
+       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
+                               exit(1);
+                       continue;
+               }
+
+               j = find_cmd(argv[i]);
+               if (j == -1) {
+                       fprintf(stderr, _("%s: Unknown command: %s\n"),
+                               progname, argv[i]);
+                       usage();
+               }
+
+               switch(bdcms[j].argtype) {
+               default:
+               case ARGNONE:
+                       res = ioctl(fd, bdcms[j].ioc, 0);
+                       break;
+               case ARGINTA:
+                       if (i == d-1) {
+                               fprintf(stderr, _("%s requires an argument\n"),
+                                       bdcms[j].name);
+                               usage();
+                       }
+                       iarg = atoi(argv[++i]);
+                       res = ioctl(fd, bdcms[j].ioc, iarg);
+                       break;
+               case ARGINTAP:
+                       if (i == d-1) {
+                               fprintf(stderr, _("%s requires an argument\n"),
+                                       bdcms[j].name);
+                               usage();
+                       }
+                       iarg = atoi(argv[++i]);
+                       res = ioctl(fd, bdcms[j].ioc, &iarg);
+                       break;
+               case ARGINTP:
+               case ARGINTG:
+                       iarg = bdcms[j].argval;
+                       res = ioctl(fd, bdcms[j].ioc, &iarg);
+                       break;
+               case ARGLINTG:
+                       larg = bdcms[j].argval;
+                       res = ioctl(fd, bdcms[j].ioc, &larg);
+                       break;
+               case ARGLLINTG:
+                       llarg = bdcms[j].argval;
+                       res = ioctl(fd, bdcms[j].ioc, &llarg);
+                       break;
+               case ARGLU:
+                       lu = bdcms[j].argval;
+                       res = ioctl(fd, bdcms[j].ioc, &lu);
+                       break;
+               case ARGLLU:
+                       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(1);
+               }
+               switch(bdcms[j].argtype) {
+               case ARGINTG:
+                       if (verbose)
+                               printf("%s: %d\n", _(bdcms[j].help), iarg);
+                       else
+                               printf("%d\n", iarg);
+                       break;
+               case ARGLINTG:
+                       if (verbose)
+                               printf("%s: %ld\n", _(bdcms[j].help), larg);
+                       else
+                               printf("%ld\n", larg);
+                       break;
+               case ARGLLINTG:
+                       if (verbose)
+                               printf("%s: %lld\n", _(bdcms[j].help), llarg);
+                       else
+                               printf("%lld\n", llarg);
+                       break;
+               case ARGLU:
+                       if (verbose)
+                               printf("%s: %lu\n", _(bdcms[j].help), lu);
+                       else
+                               printf("%lu\n", lu);
+                       break;
+               case ARGLLU:
+                       if (verbose)
+                               printf("%s: %llu\n", _(bdcms[j].help), llu);
+                       else
+                               printf("%llu\n", llu);
+                       break;
+
+               default:
+                       if (verbose)
+                               printf(_("%s succeeded.\n"), _(bdcms[j].help));
+                       break;
+               }
+       }
+}
+
+#define PROC_PARTITIONS "/proc/partitions"
+
+void
+report_all_devices(void) {
+       FILE *procpt;
+       char line[200];
+       char ptname[200];
+       char device[210];
+       int ma, mi, sz;
+
+       procpt = fopen(PROC_PARTITIONS, "r");
+       if (!procpt) {
+               fprintf(stderr, _("%s: cannot open %s\n"),
+                       progname, PROC_PARTITIONS);
+               exit(1);
+       }
+
+       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);
+}
+
+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)
+                       fprintf(stderr, _("%s: cannot open %s\n"),
+                               progname, 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)
+                       fprintf(stderr, _("%s: ioctl error on %s\n"),
+                               progname, device);
+       }
+
+       close(fd);
+}
+
+void
+report_header() {
+       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 (file)
index 0000000..34b32ca
--- /dev/null
@@ -0,0 +1,81 @@
+#ifndef __CRAMFS_H
+#define __CRAMFS_H
+
+typedef unsigned char u8;
+typedef unsigned short u16;
+typedef unsigned int u32;
+
+#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
+
+
+/*
+ * Reasonably terse representation of the inode data.
+ */
+struct cramfs_inode {
+       u32 mode:16, uid:16;
+       /* SIZE for device files is i_rdev */
+       u32 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. */
+       u32 namelen:6, offset:26;
+};
+
+struct cramfs_info {
+        u32 crc;
+        u32 edition;
+        u32 blocks;
+        u32 files;
+};
+
+/*
+ * Superblock information at the beginning of the FS.
+ */
+struct cramfs_super {
+       u32 magic;              /* 0x28cd3d45 - random number */
+       u32 size;               /* Not used.  mkcramfs currently
+                                   writes a constant 1<<16 here. */
+       u32 flags;              /* 0 */
+       u32 future;             /* 0 */
+       u8 signature[16];       /* "Compressed ROMFS" */
+       struct cramfs_info fsid;/* unique filesystem info */
+       u8 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);
+
+#endif
diff --git a/disk-utils/cramfs_common.c b/disk-utils/cramfs_common.c
new file mode 100644 (file)
index 0000000..ffdad9b
--- /dev/null
@@ -0,0 +1,105 @@
+/*
+ * 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_common.h"
+#include "../include/bitops.h"
+
+u32 u32_toggle_endianness(int big_endian, u32 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);  
+       }
+}
+
+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/cramfs_common.h b/disk-utils/cramfs_common.h
new file mode 100644 (file)
index 0000000..6311bce
--- /dev/null
@@ -0,0 +1,37 @@
+/*
+ * 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_COMMON_H
+#define __CRAMFS_COMMON_H
+
+#include "cramfs.h"
+
+#ifndef HOST_IS_BIG_ENDIAN
+#ifdef WORDS_BIGENDIAN
+#define HOST_IS_BIG_ENDIAN 1
+#else
+#define HOST_IS_BIG_ENDIAN 0
+#endif
+#endif
+
+u32 u32_toggle_endianness(int big_endian, u32 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/elvtune.8 b/disk-utils/elvtune.8
new file mode 100644 (file)
index 0000000..91cbae8
--- /dev/null
@@ -0,0 +1,65 @@
+.\" -*- nroff -*-
+.TH ELVTUNE 8 "14 March 2000" "Version 1.0"
+.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 basis. The
+tuning can be safely done at runtime. Tuning the elevator means
+being able to change disk performance and interactiveness. In the
+output of elvtune the address of the queue tuned will be shown
+and it can be considered as a queue ID.
+For example multiple partitions in 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 max latency that the I/O scheduler will provide on
+each read.
+.TP
+.BI -w \ w_lat
+set the max latency that the I/O scheduler will provide on
+each write.
+.TP
+.BI -b \ b_max
+max coalescing factor allowed on writes when there are reads
+pending in the queue.
+.TP
+.BI -h
+help.
+.TP
+.BI -v
+version.
+.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-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/disk-utils/elvtune.c b/disk-utils/elvtune.c
new file mode 100644 (file)
index 0000000..b5bb378
--- /dev/null
@@ -0,0 +1,168 @@
+/*
+ *  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., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *  This file may be redistributed under the terms of the GNU General
+ *  Public License, version 2.
+ */
+
+#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 "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);
+
+       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);
+
+               case '?':
+               default:
+               case ':':
+                       fprintf(stderr, _("parse error\n"));
+                       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 (file)
index 0000000..cbfc00c
--- /dev/null
@@ -0,0 +1,62 @@
+.\" Copyright 1992, 1993 Rickard E. Faith (faith@cs.unc.edu)
+.\" May be distributed under the GNU General Public License
+.TH FDFORMAT 8 "1 February 1993" "Linux 0.99" "Linux Programmer's Manual"
+.SH NAME
+fdformat \- Low-level formats a floppy disk
+.SH SYNOPSIS
+.B fdformat
+.RB [ \-n ]
+.I 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)
+
+/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
+
+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
+.B \-n
+No verify.  This option will disable the verification that is performed
+after the format.
+.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-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/disk-utils/fdformat.c b/disk-utils/fdformat.c
new file mode 100644 (file)
index 0000000..4bbb574
--- /dev/null
@@ -0,0 +1,152 @@
+/* fdformat.c  -  Low-level formats a floppy disk - Werner Almesberger */
+
+/* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+ * - added Native Language Support
+ * 1999-03-20 Arnaldo Carvalho de Melo <acme@conectiva.com.br>
+ & - more i18n/nls translatable strings marked
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include <fcntl.h>
+#include <errno.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <sys/stat.h>
+#include <sys/ioctl.h>
+#include <linux/fd.h>
+
+#include "nls.h"
+
+struct floppy_struct param;
+
+#define SECTOR_SIZE 512
+#define PERROR(msg) { perror(msg); exit(1); }
+
+static void format_disk(int ctrl, char *name)
+{
+    struct format_descr descr;
+    int track;
+
+    printf(_("Formatting ... "));
+    fflush(stdout);
+    if (ioctl(ctrl,FDFMTBEG,NULL) < 0) PERROR("\nioctl(FDFMTBEG)");
+    for (track = 0; track < param.track; track++) {
+       descr.track = track;
+       descr.head = 0;
+       if (ioctl(ctrl,FDFMTTRK,(long) &descr) < 0)
+         PERROR("\nioctl(FDFMTTRK)");
+
+       printf("%3d\b\b\b",track);
+       fflush(stdout);
+       if (param.head == 2) {
+           descr.head = 1;
+           if (ioctl(ctrl,FDFMTTRK,(long) &descr) < 0)
+             PERROR("\nioctl(FDFMTTRK)");
+       }
+    }
+    if (ioctl(ctrl,FDFMTEND,NULL) < 0) PERROR("\nioctl(FDFMTEND)");
+    printf(_("done\n"));
+}
+
+
+static void verify_disk(char *name)
+{
+    unsigned char *data;
+    int fd,cyl_size,cyl,count;
+
+    cyl_size = param.sect*param.head*512;
+    if ((data = (unsigned char *) malloc(cyl_size)) == NULL) PERROR("malloc");
+    printf(_("Verifying ... "));
+    fflush(stdout);
+    if ((fd = open(name,O_RDONLY)) < 0) PERROR(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(1);
+       }
+       for (count = 0; count < cyl_size; count++)
+           if (data[count] != FD_FILL_BYTE) {
+               printf(_("bad data in cyl %d\nContinuing ... "),cyl);
+               fflush(stdout);
+               break;
+           }
+    }
+    free(data);
+    printf(_("done\n"));
+    if (close(fd) < 0) PERROR("close");
+}
+
+
+static void usage(char *name)
+{
+    char *this;
+
+    if ((this = strrchr(name,'/')) != NULL) name = this+1;
+    fprintf(stderr,_("usage: %s [ -n ] device\n"),name);
+    exit(1);
+}
+
+
+int main(int argc,char **argv)
+{
+    int ctrl;
+    int verify;
+    struct stat st;
+    char *progname, *p;
+
+    progname = argv[0];
+    if ((p = strrchr(progname, '/')) != NULL)
+           progname = p+1;
+
+    setlocale(LC_ALL, "");
+    bindtextdomain(PACKAGE, LOCALEDIR);
+    textdomain(PACKAGE);
+
+    if (argc == 2 &&
+       (!strcmp(argv[1], "-V") || !strcmp(argv[1], "--version"))) {
+           printf(_("%s (%s)\n"), progname, PACKAGE_STRING);
+           exit(0);
+    }
+
+    verify = 1;
+    if (argc > 1 && argv[1][0] == '-') {
+       if (argv[1][1] != 'n') usage(progname);
+       verify = 0;
+       argc--;
+       argv++;
+    }
+    if (argc != 2) usage(progname);
+    if (stat(argv[1],&st) < 0) PERROR(argv[1]);
+    if (!S_ISBLK(st.st_mode)) {
+       fprintf(stderr,_("%s: not a block device\n"),argv[1]);
+       exit(1);
+       /* do not test major - perhaps this was an USB floppy */
+    }
+    if (access(argv[1],W_OK) < 0) PERROR(argv[1]);
+
+    ctrl = open(argv[1],O_WRONLY);
+    if (ctrl < 0)
+           PERROR(argv[1]);
+    if (ioctl(ctrl,FDGETPRM,(long) &param) < 0) 
+           PERROR(_("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, argv[1]);
+    close(ctrl);
+
+    if (verify)
+           verify_disk(argv[1]);
+    return 0;
+}
diff --git a/disk-utils/fsck.cramfs.c b/disk-utils/fsck.cramfs.c
new file mode 100644 (file)
index 0000000..649aef0
--- /dev/null
@@ -0,0 +1,751 @@
+/*
+ * 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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  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 <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/ioctl.h>
+#include <sys/sysmacros.h>     /* for major, minor */
+
+#include "cramfs.h"
+#include "cramfs_common.h"
+#include "nls.h"
+#include "blkdev.h"
+
+static const char *progname = "cramfsck";
+
+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) */
+
+/* Exit codes used by fsck-type programs */
+#define FSCK_OK          0     /* No errors */
+#define FSCK_NONDESTRUCT 1     /* File system errors corrected */
+#define FSCK_REBOOT      2     /* System should be rebooted */
+#define FSCK_UNCORRECTED 4     /* File system errors left uncorrected */
+#define FSCK_ERROR       8     /* Operational error */
+#define FSCK_USAGE       16    /* Usage or syntax error */
+#define FSCK_LIBRARY     128   /* Shared library error */
+
+#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 usage(int status)
+{
+       FILE *stream = status ? stderr : stdout;
+
+       fprintf(stream, _("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"), progname);
+
+       exit(status);
+}
+
+static void die(int status, int syserr, const char *fmt, ...)
+{
+       va_list arg_ptr;
+       int save = errno;
+
+       fflush(0);
+       va_start(arg_ptr, fmt);
+       fprintf(stderr, "%s: ", progname);
+       vfprintf(stderr, fmt, arg_ptr);
+       if (syserr) {
+               fprintf(stderr, ": %s", strerror(save));
+       }
+       fprintf(stderr, "\n");
+       va_end(arg_ptr);
+       exit(status);
+}
+
+int get_superblock_endianness(u32 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) {
+               die(FSCK_ERROR, 1, _("stat failed: %s"), filename);
+       }
+       fd = open(filename, O_RDONLY);
+       if (fd < 0) {
+               die(FSCK_ERROR, 1, _("open failed: %s"), filename);
+       }
+       if (S_ISBLK(st.st_mode)) {
+               unsigned long long bytes;
+               if (blkdev_get_size(fd, &bytes)) {
+                       die(FSCK_ERROR, 1, _("ioctl failed: unable to determine device size: %s"), filename);
+               }
+               *length = bytes;
+       }
+       else if (S_ISREG(st.st_mode)) {
+               *length = st.st_size;
+       }
+       else {
+               die(FSCK_ERROR, 0, _("not a block device or file: %s"), filename);
+       }
+
+       if (*length < sizeof(struct cramfs_super)) {
+               die(FSCK_UNCORRECTED, 0, _("file length too short"));
+       }
+
+       /* find superblock */
+       if (read(fd, &super, sizeof(super)) != sizeof(super)) {
+               die(FSCK_ERROR, 1, _("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)) {
+                       die(FSCK_ERROR, 1, _("read failed: %s"), filename);
+               }
+               if (get_superblock_endianness(super.magic) != -1) {
+                       *start = PAD_SIZE;
+               }
+               else {
+                       die(FSCK_UNCORRECTED, 0, "superblock magic not found");
+               }
+       }
+       else {
+               die(FSCK_UNCORRECTED, 0, _("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) {
+               die(FSCK_ERROR, 0, _("unsupported filesystem features"));
+       }
+       if (super.size < page_size) {
+               die(FSCK_UNCORRECTED, 0, _("superblock size (%d) too small"), super.size);
+       }
+       if (super.flags & CRAMFS_FLAG_FSID_VERSION_2) {
+               if (super.fsid.files == 0) {
+                       die(FSCK_UNCORRECTED, 0, _("zero file count"));
+               }
+               if (*length < super.size) {
+                       die(FSCK_UNCORRECTED, 0, _("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;
+       u32 crc;
+
+       if (!(super.flags & CRAMFS_FLAG_FSID_VERSION_2)) {
+#ifdef INCLUDE_FS_TESTS
+               return;
+#else /* not INCLUDE_FS_TESTS */
+               die(FSCK_USAGE, 0, _("unable to test CRC: old cramfs format"));
+#endif /* not INCLUDE_FS_TESTS */
+       }
+
+       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)
+                               die(FSCK_ERROR, 1, _("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 = malloc(4096);
+               if (!buf) {
+                       die(FSCK_ERROR, 1, _("malloc failed"));
+               }
+               lseek(fd, start, SEEK_SET);
+               for (;;) {
+                       retval = read(fd, buf, 4096);
+                       if (retval < 0) {
+                               die(FSCK_ERROR, 1, _("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) {
+               die(FSCK_UNCORRECTED, 0, _("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 = malloc(sizeof(struct cramfs_inode));
+
+       if (!inode) {
+               die(FSCK_ERROR, 1, _("malloc failed"));
+       }
+       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))
+               die(FSCK_UNCORRECTED, 0, _("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))))
+       {
+               die(FSCK_UNCORRECTED, 0, _("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) {
+               die(FSCK_UNCORRECTED, 0, _("data block too large"));
+       }
+       err = inflate(&stream, Z_FINISH);
+       if (err != Z_STREAM_END) {
+               die(FSCK_UNCORRECTED, 0, _("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, *(u32 *) 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) {
+                               die(FSCK_UNCORRECTED, 0, _("non-block (%ld) bytes"), out);
+                       }
+               } else {
+                       if (out != size) {
+                               die(FSCK_UNCORRECTED, 0, _("non-size (%ld vs %ld) bytes"), out, size);
+                       }
+               }
+               size -= out;
+               if (opt_extract) {
+                       if (write(fd, outbuffer, out) < 0) {
+                               die(FSCK_ERROR, 1, _("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) {
+                       die(FSCK_ERROR, 1, _("lchown failed: %s"), path);
+               }
+               if (S_ISLNK(i->mode))
+                       return;
+               if ((S_ISUID | S_ISGID) & i->mode) {
+                       if (chmod(path, i->mode) < 0) {
+                               die(FSCK_ERROR, 1, _("chown failed: %s"), path);
+                       }
+               }
+       }
+       if (S_ISLNK(i->mode))
+               return;
+       if (utime(path, &epoch) < 0) {
+               die(FSCK_ERROR, 1, _("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 = malloc(pathlen + 256);
+
+       if (!newpath) {
+               die(FSCK_ERROR, 1, _("malloc failed"));
+       }
+       if (offset == 0 && count != 0) {
+               die(FSCK_UNCORRECTED, 0, _("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) {
+                       die(FSCK_ERROR, 1, _("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) {
+                       die(FSCK_UNCORRECTED, 0, _("filename length is zero"));
+               }
+               if ((pathlen + newlen) - strlen(newpath) > 3) {
+                       die(FSCK_UNCORRECTED, 0, _("bad filename length"));
+               }
+               expand_fs(newpath, child);
+
+               offset += newlen;
+
+               if (offset <= start_dir) {
+                       die(FSCK_UNCORRECTED, 0, _("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) {
+               die(FSCK_UNCORRECTED, 0, _("file inode has zero offset and non-zero size"));
+       }
+       if (i->size == 0 && offset != 0) {
+               die(FSCK_UNCORRECTED, 0, _("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) {
+                       die(FSCK_ERROR, 1, _("open failed: %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, *(u32 *) romfs_read(offset));
+       unsigned long size;
+
+       if (offset == 0) {
+               die(FSCK_UNCORRECTED, 0, _("symbolic link has zero offset"));
+       }
+       if (i->size == 0) {
+               die(FSCK_UNCORRECTED, 0, _("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) {
+               die(FSCK_UNCORRECTED, 0, _("size error in symlink: %s"), path);
+       }
+       outbuffer[size] = 0;
+       if (opt_verbose) {
+               char *str;
+
+               asprintf(&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) {
+                       die(FSCK_ERROR, 1, _("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 */
+               die(FSCK_UNCORRECTED, 0, _("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) {
+                       die(FSCK_UNCORRECTED, 0, _("fifo has non-zero size: %s"), path);
+               }
+               type = 'p';
+       }
+       else if (S_ISSOCK(i->mode)) {
+               if (i->size != 0) {
+                       die(FSCK_UNCORRECTED, 0, _("socket has non-zero size: %s"), path);
+               }
+               type = 's';
+       }
+       else {
+               die(FSCK_UNCORRECTED, 0, _("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) {
+                       die(FSCK_ERROR, 1, _("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)) {
+                       die(FSCK_UNCORRECTED, 0, _("directory data start (%ld) < sizeof(struct cramfs_super) + start (%ld)"), start_data, sizeof(struct cramfs_super) + start);
+               }
+               if (end_dir != start_data) {
+                       die(FSCK_UNCORRECTED, 0, _("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) {
+                       die(FSCK_UNCORRECTED, 0, _("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;
+
+       setlocale(LC_MESSAGES, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+
+       page_size = getpagesize();
+
+       if (argc)
+               progname = argv[0];
+
+       outbuffer = malloc(page_size * 2);
+       if (!outbuffer)
+               die(FSCK_ERROR, 1, _("failed to allocate outbuffer"));
+
+       /* command line options */
+       while ((c = getopt(argc, argv, "hx:v")) != EOF) {
+               switch (c) {
+               case 'h':
+                       usage(FSCK_OK);
+               case 'x':
+#ifdef INCLUDE_FS_TESTS
+                       opt_extract = 1;
+                       extract_dir = optarg;
+                       break;
+#else /* not INCLUDE_FS_TESTS */
+                       die(FSCK_USAGE, 0, _("compiled without -x support"));
+#endif /* not INCLUDE_FS_TESTS */
+               case 'v':
+                       opt_verbose++;
+                       break;
+               }
+       }
+
+       if ((argc - optind) != 1)
+               usage(FSCK_USAGE);
+       filename = argv[optind];
+
+       test_super(&start, &length);
+       test_crc(start);
+#ifdef INCLUDE_FS_TESTS
+       test_fs(start);
+#endif /* INCLUDE_FS_TESTS */
+
+       if (opt_verbose) {
+               printf("%s: OK\n", filename);
+       }
+
+       exit(FSCK_OK);
+}
diff --git a/disk-utils/fsck.minix.8 b/disk-utils/fsck.minix.8
new file mode 100644 (file)
index 0000000..5aeab5c
--- /dev/null
@@ -0,0 +1,136 @@
+.\" Copyright 1992, 1993, 1994 Rickard E. Faith (faith@cs.unc.edu)
+.\" May be freely distributed.
+.\" " for hilit19
+.TH FSCK 8 "2 July 1996" "Util-Linux 2.6" "Linux Programmer's Manual"
+.SH NAME
+fsck.minix \- a file system consistency checker for Linux
+.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 file system 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 device 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 file system 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
+Lists all filenames
+.TP
+.B \-r
+Performs interactive repairs
+.TP
+.B \-a
+Performs automatic repairs (this option implies
+.BR \-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 file system
+damage.
+.TP
+.B \-v
+Verbose
+.TP
+.B \-s
+Outputs super-block information
+.TP
+.B \-m
+Activates MINIX-like "mode not cleared" warnings
+.TP
+.B \-f
+Force file system check even if the file system was marked as valid (this
+marking is done by the kernel when the file system 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 file system,
+.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
+File system errors corrected, system should be rebooted if file system was
+mounted
+.IP 4
+File system 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 file system 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-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/disk-utils/fsck.minix.c b/disk-utils/fsck.minix.c
new file mode 100644 (file)
index 0000000..74d1793
--- /dev/null
@@ -0,0 +1,1410 @@
+/*
+ * 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 "minix.h"
+#include "nls.h"
+#include "pathnames.h"
+#include "bitops.h"
+
+#ifndef __linux__
+#define volatile
+#endif
+
+#define ROOT_INO 1
+
+#define UPPER(size,n) ((size+((n)-1))/(n))
+#define INODE_SIZE (sizeof(struct minix_inode))
+#define INODE_SIZE2 (sizeof(struct minix2_inode))
+#define INODE_BLOCKS UPPER(INODES, (version2 ? MINIX2_INODES_PER_BLOCK \
+                                   : MINIX_INODES_PER_BLOCK))
+#define INODE_BUFFER_SIZE (INODE_BLOCKS * BLOCK_SIZE)
+
+#define BITS_PER_BLOCK (BLOCK_SIZE<<3)
+
+static char * program_name = "fsck.minix";
+static char * device_name = NULL;
+static int IN;
+static int repair=0, automatic=0, verbose=0, list=0, show=0, warn_mode=0, 
+       force=0;
+static int directory=0, regular=0, blockdev=0, chardev=0, links=0,
+               symlinks=0, total=0;
+
+static int changed = 0; /* flags if the filesystem has been changed */
+static int errors_uncorrected = 0; /* flag if some error was not corrected */
+static int dirsize = 16;
+static int namelen = 14;
+static int version2 = 0;
+static struct termios termios;
+static volatile sig_atomic_t termios_set = 0;
+
+/* File-name data */
+#define MAX_DEPTH 50
+static int name_depth = 0;
+static char name_list[MAX_DEPTH][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*(NAME_MAX+1)+1];
+
+static char * inode_buffer = NULL;
+#define Inode (((struct minix_inode *) inode_buffer)-1)
+#define Inode2 (((struct minix2_inode *) inode_buffer)-1)
+static char super_block_buffer[BLOCK_SIZE];
+#define Super (*(struct minix_super_block *)super_block_buffer)
+#define INODES ((unsigned long)Super.s_ninodes)
+#define ZONES ((unsigned long)(version2 ? Super.s_zones : Super.s_nzones))
+#define IMAPS ((unsigned long)Super.s_imap_blocks)
+#define ZMAPS ((unsigned long)Super.s_zmap_blocks)
+#define FIRSTZONE ((unsigned long)Super.s_firstdatazone)
+#define ZONESIZE ((unsigned long)Super.s_log_zone_size)
+#define MAXSIZE ((unsigned long)Super.s_max_size)
+#define MAGIC (Super.s_magic)
+#define NORM_FIRSTZONE (2+IMAPS+ZMAPS+INODE_BLOCKS)
+
+static char *inode_map;
+static char *zone_map;
+
+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);
+
+#define inode_in_use(x) (isset(inode_map,(x)) != 0)
+#define zone_in_use(x) (isset(zone_map,(x)-FIRSTZONE+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)-FIRSTZONE+1),changed=1)
+#define unmark_zone(x) (clrbit(zone_map,(x)-FIRSTZONE+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) {
+       fprintf(stderr,
+               _("Usage: %s [-larvsmf] /dev/name\n"),
+               program_name);
+       leave(16);
+}
+
+static void die(const char *fmt, ...)
+       __attribute__ ((__format__ (__printf__, 1, 2)));
+
+static void
+die(const char *fmt, ...) {
+       va_list ap;
+
+       fprintf(stderr, "%s: ", program_name);
+       va_start(ap, fmt);
+       vfprintf(stderr, fmt, ap);
+       va_end (ap);
+       fputc('\n', stderr);
+       leave(8);
+}
+
+/*
+ * 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 c;
+
+       if (!repair) {
+               printf("\n");
+               errors_uncorrected = 1;
+               return 0;
+       }
+       if (automatic) {
+               printf("\n");
+               if (!def)
+                     errors_uncorrected = 1;
+               return def;
+       }
+       printf(def?"%s (y/n)? ":"%s (n/y)? ",string);
+       for (;;) {
+               fflush(stdout);
+               if ((c=getchar())==EOF) {
+                       if (!def)
+                             errors_uncorrected = 1;
+                       return def;
+               }
+               c=toupper(c);
+               if (c == 'Y') {
+                       def = 1;
+                       break;
+               } else if (c == 'N') {
+                       def = 0;
+                       break;
+               } else if (c == ' ' || c == '\n')
+                       break;
+       }
+       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) {
+       FILE * f;
+       struct mntent * mnt;
+       int cont;
+       int fd;
+
+       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;
+
+       /*
+        * If the root is mounted read-only, then /etc/mtab is
+        * probably not correct; so we won't issue a warning based on
+        * it.
+        */
+       fd = open(_PATH_MOUNTED, O_RDWR);
+       if (fd < 0 && errno == EROFS)
+               return;
+       else
+               close(fd);
+       
+       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 (0);
+       }
+       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 < FIRSTZONE) {
+               get_current_name();
+               printf(_("Zone nr < FIRSTZONE in file `%s'."),
+                      current_name);
+       } else if (*nr >= ZONES) {
+               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 < FIRSTZONE) {
+               get_current_name();
+               printf (_("Zone nr < FIRSTZONE in file `%s'."),
+                       current_name);
+       } else if (*nr >= ZONES) {
+               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,BLOCK_SIZE);
+               return;
+       }
+       if (BLOCK_SIZE*nr != lseek(IN, 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,BLOCK_SIZE);
+               errors_uncorrected = 1;
+       } else if (BLOCK_SIZE != read(IN, addr, BLOCK_SIZE)) {
+               get_current_name();
+               printf(_("Read error: bad block in file '%s'\n"),
+                      current_name);
+               memset(addr,0,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 < FIRSTZONE || nr >= ZONES) {
+               printf(_("Internal error: trying to write bad block\n"
+               "Write request ignored\n"));
+               errors_uncorrected = 1;
+               return;
+       }
+       if (BLOCK_SIZE*nr != lseek(IN, BLOCK_SIZE*nr, SEEK_SET))
+               die(_("seek failed in write_block"));
+       if (BLOCK_SIZE != write(IN, addr, 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[BLOCK_SIZE>>1];
+       unsigned short dind[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[BLOCK_SIZE >> 2];
+       unsigned int dind[BLOCK_SIZE >> 2];
+       unsigned int tind[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 (BLOCK_SIZE != lseek(IN, BLOCK_SIZE, SEEK_SET))
+               die(_("seek failed in write_super_block"));
+       if (BLOCK_SIZE != write(IN, super_block_buffer, BLOCK_SIZE))
+               die(_("unable to write super-block"));
+
+       return;
+}
+
+static void
+write_tables(void) {
+       write_super_block();
+
+       if (IMAPS*BLOCK_SIZE != write(IN,inode_map,IMAPS*BLOCK_SIZE))
+               die(_("Unable to write inode map"));
+       if (ZMAPS*BLOCK_SIZE != write(IN,zone_map,ZMAPS*BLOCK_SIZE))
+               die(_("Unable to write zone map"));
+       if (INODE_BUFFER_SIZE != write(IN,inode_buffer,INODE_BUFFER_SIZE))
+               die(_("Unable to write inodes"));
+}
+
+static void
+get_dirsize (void) {
+       int block;
+       char blk[BLOCK_SIZE];
+       int size;
+
+       if (version2)
+               block = Inode2[ROOT_INO].i_zone[0];
+       else
+               block = Inode[ROOT_INO].i_zone[0];
+       read_block (block, blk);
+       for (size = 16; size < BLOCK_SIZE; size <<= 1) {
+               if (strcmp (blk + size + 2, "..") == 0) {
+                       dirsize = size;
+                       namelen = size - 2;
+                       return;
+               }
+       }
+       /* use defaults */
+}
+
+static void
+read_superblock(void) {
+       if (BLOCK_SIZE != lseek(IN, BLOCK_SIZE, SEEK_SET))
+               die(_("seek failed"));
+       if (BLOCK_SIZE != read(IN, super_block_buffer, BLOCK_SIZE))
+               die(_("unable to read super block"));
+       if (MAGIC == MINIX_SUPER_MAGIC) {
+               namelen = 14;
+               dirsize = 16;
+               version2 = 0;
+       } else if (MAGIC == MINIX_SUPER_MAGIC2) {
+               namelen = 30;
+               dirsize = 32;
+               version2 = 0;
+       } else if (MAGIC == MINIX2_SUPER_MAGIC) {
+               namelen = 14;
+               dirsize = 16;
+               version2 = 1;
+       } else if (MAGIC == MINIX2_SUPER_MAGIC2) {
+               namelen = 30;
+               dirsize = 32;
+               version2 = 1;
+       } else
+               die(_("bad magic number in super-block"));
+       if (ZONESIZE != 0 || BLOCK_SIZE != 1024)
+               die(_("Only 1k blocks/zones supported"));
+       if (IMAPS * BLOCK_SIZE * 8 < INODES + 1)
+               die(_("bad s_imap_blocks field in super-block"));
+       if (ZMAPS * BLOCK_SIZE * 8 < ZONES - FIRSTZONE + 1)
+               die(_("bad s_zmap_blocks field in super-block"));
+}
+
+static void
+read_tables(void) {
+       inode_map = malloc(IMAPS * BLOCK_SIZE);
+       if (!inode_map)
+               die(_("Unable to allocate buffer for inode map"));
+       zone_map = malloc(ZMAPS * BLOCK_SIZE);
+       if (!inode_map)
+               die(_("Unable to allocate buffer for zone map"));
+       memset(inode_map,0,sizeof(inode_map));
+       memset(zone_map,0,sizeof(zone_map));
+       inode_buffer = malloc(INODE_BUFFER_SIZE);
+       if (!inode_buffer)
+               die(_("Unable to allocate buffer for inodes"));
+       inode_count = malloc(INODES + 1);
+       if (!inode_count)
+               die(_("Unable to allocate buffer for inode count"));
+       zone_count = malloc(ZONES);
+       if (!zone_count)
+               die(_("Unable to allocate buffer for zone count"));
+       if (IMAPS*BLOCK_SIZE != read(IN,inode_map,IMAPS*BLOCK_SIZE))
+               die(_("Unable to read inode map"));
+       if (ZMAPS*BLOCK_SIZE != read(IN,zone_map,ZMAPS*BLOCK_SIZE))
+               die(_("Unable to read zone map"));
+       if (INODE_BUFFER_SIZE != read(IN,inode_buffer,INODE_BUFFER_SIZE))
+               die(_("Unable to read inodes"));
+       if (NORM_FIRSTZONE != FIRSTZONE) {
+               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"),FIRSTZONE,NORM_FIRSTZONE);
+               printf(_("Zonesize=%d\n"),BLOCK_SIZE<<ZONESIZE);
+               printf(_("Maxsize=%ld\n"),MAXSIZE);
+               printf(_("Filesystem state=%d\n"), Super.s_state);
+               printf(_("namelen=%d\n\n"),namelen);
+       }
+}
+
+static struct minix_inode *
+get_inode(unsigned int nr) {
+       struct minix_inode * inode;
+
+       if (!nr || nr > INODES)
+               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 > INODES)
+               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 result;
+       int block;
+
+       result = 0;
+       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 result;
+       int block;
+
+       result = 0;
+       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[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 < (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[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 < 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[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 < (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[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 < 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[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 < 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 > INODES)
+               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 > INODES)
+               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[BLOCK_SIZE];
+       struct minix_inode * inode;
+       int ino;
+       char * name;
+       int block;
+
+       block = map_block(dir,offset/BLOCK_SIZE);
+       read_block(block, blk);
+       name = blk + (offset % BLOCK_SIZE) + 2;
+       ino = * (unsigned short *) (name-2);
+       if (ino > INODES) {
+               get_current_name();
+               printf(_("The directory '%s' contains a bad inode number "
+                        "for file '%.*s'."),
+                      current_name, 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[BLOCK_SIZE];
+       struct minix2_inode *inode;
+       int ino;
+       char *name;
+       int block;
+
+       block = map_block2 (dir, offset / BLOCK_SIZE);
+       read_block (block, blk);
+       name = blk + (offset % BLOCK_SIZE) + 2;
+       ino = *(unsigned short *) (name - 2);
+       if (ino > INODES) {
+               get_current_name();
+               printf(_("The directory '%s' contains a bad inode number "
+                        "for file '%.*s'."),
+                         current_name, 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 ("%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_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 (BLOCK_SIZE*i != lseek(IN, BLOCK_SIZE*i, SEEK_SET))
+               die(_("seek failed in bad_zone"));
+       return (BLOCK_SIZE != read(IN, buffer, BLOCK_SIZE));
+}
+
+static void
+check_counts(void) {
+       int i;
+
+       for (i=1 ; i <= INODES ; i++) {
+               if (!inode_in_use(i) && Inode[i].i_mode && warn_mode) {
+                       printf(_("Inode %d 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 %d not used, marked used in the bitmap."),i);
+                       if (ask(_("Clear"),1))
+                               unmark_inode(i);
+                       continue;
+               }
+               if (!inode_in_use(i)) {
+                       printf(_("Inode %d used, marked unused in the bitmap."),
+                               i);
+                       if (ask(_("Set"),1))
+                               mark_inode(i);
+               }
+               if (Inode[i].i_nlinks != inode_count[i]) {
+                       printf(_("Inode %d (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=FIRSTZONE ; i < ZONES ; i++) {
+               if (zone_in_use(i) == zone_count[i])
+                       continue;
+               if (!zone_count[i]) {
+                       if (bad_zone(i))
+                               continue;
+                       printf(_("Zone %d: marked in use, no file uses it."),i);
+                       if (ask(_("Unmark"),1))
+                               unmark_zone(i);
+                       continue;
+               }
+               if (zone_in_use(i))
+                       printf(_("Zone %d: in use, counted=%d\n"),
+                              i, zone_count[i]);
+               else
+                       printf(_("Zone %d: not in use, counted=%d\n"),
+                              i, zone_count[i]);
+       }
+}
+
+static void
+check_counts2 (void) {
+       int i;
+
+       for (i = 1; i <= INODES; i++) {
+               if (!inode_in_use (i) && Inode2[i].i_mode && warn_mode) {
+                       printf (_("Inode %d 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 %d not used, marked used in the bitmap."), i);
+                       if (ask (_("Clear"), 1))
+                               unmark_inode (i);
+                       continue;
+               }
+               if (!inode_in_use (i)) {
+                       printf (_("Inode %d used, marked unused in the bitmap."), i);
+                       if (ask (_("Set"), 1))
+                               mark_inode (i);
+               }
+               if (Inode2[i].i_nlinks != inode_count[i]) {
+                       printf (_("Inode %d (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 = FIRSTZONE; i < ZONES; i++) {
+               if (zone_in_use (i) == zone_count[i])
+                       continue;
+               if (!zone_count[i]) {
+                       if (bad_zone (i))
+                               continue;
+                       printf (_("Zone %d: marked in use, no file uses it."),
+                               i);
+                       if (ask (_("Unmark"), 1))
+                               unmark_zone (i);
+                       continue;
+               }
+               if (zone_in_use (i))
+                       printf (_("Zone %d: in use, counted=%d\n"),
+                               i, zone_count[i]);
+               else
+                       printf (_("Zone %d: not in use, counted=%d\n"),
+                               i, zone_count[i]);
+       }
+}
+
+static void
+check(void) {
+       memset(inode_count,0,(INODES + 1) * sizeof(*inode_count));
+       memset(zone_count,0,ZONES*sizeof(*zone_count));
+       check_zones(ROOT_INO);
+       recursive_check(ROOT_INO);
+       check_counts();
+}
+
+static void
+check2 (void) {
+       memset (inode_count, 0, (INODES + 1) * sizeof (*inode_count));
+       memset (zone_count, 0, ZONES * 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;
+       char *p;
+
+       program_name = (argc && *argv) ? argv[0] : "fsck.minix";
+       if ((p = strrchr(program_name, '/')) != NULL)
+               program_name = p+1;
+
+       setlocale(LC_ALL, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+
+       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 != BLOCK_SIZE)
+               die(_("bad inode size"));
+       if (INODE_SIZE2 * MINIX2_INODES_PER_BLOCK != 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(_("unable to 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 (version2) {
+               check_root2 ();
+               check2 ();
+       } else {
+               check_root();
+               check();
+       }
+       if (verbose) {
+               int i, free;
+
+               for (i=1,free=0 ; i <= INODES ; i++)
+                       if (!inode_in_use(i))
+                               free++;
+               printf(_("\n%6ld inodes used (%ld%%)\n"),(INODES-free),
+                       100*(INODES-free)/INODES);
+               for (i=FIRSTZONE,free=0 ; i < ZONES ; i++)
+                       if (!zone_in_use(i))
+                               free++;
+               printf(_("%6ld zones used (%ld%%)\n"),(ZONES-free),
+                       100*(ZONES-free)/ZONES);
+               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 (file)
index 0000000..ea878cf
--- /dev/null
@@ -0,0 +1,37 @@
+.TH ISOSIZE "8" "December 2000" "sg3_utils-0.91" SG_UTILS
+.SH NAME
+isosize \- outputs the length of an iso9660 file system
+.SH SYNOPSIS
+.B isosize
+.RB [ \-x ]
+.RB [ \-d
+.IR <num> ]
+.IR <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 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 (or errors) it will output the size of the iso9660
+file system in bytes. This can now be a large number (>> 4 GB).
+.TP
+.B \-x
+output in humanly readable form the block count and the block
+size. Output uses the term "sectors" for "blocks".
+.TP
+.BI \-d\  <num>
+only has affect when
+.B \-x
+is not given. The number output (if no errors)
+is the iso9660 file size in bytes divided by
+.IR <num> .
+So if
+.I <num>
+is the block size then the output number will be the block count.
+.PP
+The size of the file (or block device) holding a iso9660 file
+system can be marginally larger than the actual size of the
+iso9660 file system. One reason for this is that cd writers
+are allowed to add "run out" sectors at the end of a iso9660
+image.
diff --git a/disk-utils/isosize.c b/disk-utils/isosize.c
new file mode 100644 (file)
index 0000000..3f22ab8
--- /dev/null
@@ -0,0 +1,220 @@
+/*
+ * 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 <string.h>
+
+#include "nls.h"
+
+#define ISODCL(from, to) (to - from + 1)
+
+int xflag;
+
+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 le = isonum_721 (p);
+        int be = isonum_722 (p+2);
+        if (xflag && le != be)
+               /* translation is useless */
+                fprintf(stderr, "723error: le=%d be=%d\n", 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 le = isonum_731 (p);
+    int be = isonum_732 (p+4);
+    if (xflag && le != be)
+           /* translation is useless */
+            fprintf(stderr, "733error: le=%d be=%d\n", 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)];
+};
+
+const char *progname;
+int divisor = 0;
+
+static void
+isosize(char *filenamep) {
+       int fd, nsecs, ssize;
+       struct iso_primary_descriptor ipd;
+
+       if ((fd = open(filenamep, O_RDONLY)) < 0) {
+               perror(filenamep);
+               fprintf(stderr, _("%s: failed to open: %s\n"),
+                       progname, filenamep);
+               exit(1);
+       }
+       if (lseek(fd, 16 << 11, 0) == (off_t)-1) {
+               perror("lseek");
+               fprintf(stderr, _("%s: seek error on %s\n"),
+                       progname, filenamep);
+               exit(1);
+       }
+       if (read(fd, &ipd, sizeof(ipd)) < 0) {
+               perror("read");
+               fprintf(stderr, _("%s: read error on %s\n"),
+                       progname, filenamep);
+               exit(1);
+       }
+
+       nsecs = isonum_733(ipd.volume_space_size);
+       ssize = isonum_723(ipd.logical_block_size); /* nowadays always 2048 */
+
+       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);
+}
+
+int
+main(int argc, char * argv[]) {
+       int j, ct;
+       char *p;
+
+       progname = argv[0];
+       if ((p = strrchr(progname, '/')) != NULL)
+               progname = p+1;
+
+       setlocale(LC_ALL, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+
+       if (argc >= 2 &&
+           (!strcmp(argv[1], "-V") || !strcmp(argv[1], "--version"))) {
+               printf(_("%s (%s)\n"), progname, PACKAGE_STRING);
+               exit(0);
+       }
+
+       for (;;) {
+               int opt;
+
+               opt = getopt(argc, argv, "xd:");
+               if (opt == -1)
+                       break;
+               switch (opt) {
+               case 'd':
+                       divisor = atoi(optarg);
+                       break;
+               case 'x':
+                       xflag = 1;
+                       break;
+               default:
+                       fprintf(stderr,
+                               _("%s: option parse error\n"), progname);
+                       exit(1);
+               }
+       }
+
+       ct = argc - optind;
+
+       if (ct <= 0) {
+               fprintf(stderr, _("Usage: %s [-x] [-d <num>] iso9660-image\n"),
+                       progname);
+               exit(1);
+       }
+
+       for (j = optind; j < argc; j++) {
+               if (ct > 1)
+                       printf("%s: ", argv[j]);
+               isosize(argv[j]);
+       }
+
+       return 0;
+}
diff --git a/disk-utils/minix.h b/disk-utils/minix.h
new file mode 100644 (file)
index 0000000..638565e
--- /dev/null
@@ -0,0 +1,63 @@
+#ifdef KERNEL_INCLUDES_ARE_CLEAN
+
+#include <linux/fs.h>
+#include <linux/minix_fs.h>
+
+#else
+
+typedef unsigned char u8;
+typedef unsigned short u16;
+typedef unsigned int u32;
+
+struct minix_inode {
+        u16 i_mode;
+        u16 i_uid;
+        u32 i_size;
+        u32 i_time;
+        u8  i_gid;
+        u8  i_nlinks;
+        u16 i_zone[9];
+};
+
+struct minix2_inode {
+        u16 i_mode;
+        u16 i_nlinks;
+        u16 i_uid;
+        u16 i_gid;
+        u32 i_size;
+        u32 i_atime;
+        u32 i_mtime;
+        u32 i_ctime;
+        u32 i_zone[10];
+};
+
+struct minix_super_block {
+        u16 s_ninodes;
+        u16 s_nzones;
+        u16 s_imap_blocks;
+        u16 s_zmap_blocks;
+        u16 s_firstdatazone;
+        u16 s_log_zone_size;
+        u32 s_max_size;
+        u16 s_magic;
+        u16 s_state;
+        u32 s_zones;
+};
+
+#define BLOCK_SIZE_BITS 10
+#define BLOCK_SIZE (1<<BLOCK_SIZE_BITS)
+
+#define NAME_MAX         255   /* # chars in a file name */
+
+#define MINIX_INODES_PER_BLOCK ((BLOCK_SIZE)/(sizeof (struct minix_inode)))
+#define MINIX2_INODES_PER_BLOCK ((BLOCK_SIZE)/(sizeof (struct minix2_inode)))
+
+#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 */
+
+#endif /* KERNEL_INCLUDES_ARE_CLEAN */
diff --git a/disk-utils/mkfs.8 b/disk-utils/mkfs.8
new file mode 100644 (file)
index 0000000..80bfcb9
--- /dev/null
@@ -0,0 +1,114 @@
+.\" -*- nroff -*-
+.TH MKFS 8 "Jun 1995" "Version 1.9"
+.SH NAME
+mkfs \- build a Linux file system
+.SH SYNOPSIS
+.B mkfs
+.RB [ \-V ]
+.RB [ \-t
+.IR fstype ]
+.RI [ fs-options ]
+.I filesys
+.RI [ blocks ]
+.SH DESCRIPTION
+.B mkfs
+is used to build a Linux file system on a device, usually
+a hard disk partition.
+.I filesys
+is either the device name (e.g.
+.IR /dev/hda1 ,
+.IR /dev/sdb2 ),
+or a regular file that shall contain the file system.
+.I blocks
+is the number of blocks to be used for the file system.
+.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 file system builders
+(\fBmkfs.\fIfstype\fR)
+available under Linux.
+The file system-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 file system-specific builder manual pages for
+further details.
+.SH OPTIONS
+.TP
+.B -V
+Produce verbose output, including all file system-specific commands
+that are executed.
+Specifying this option more than once inhibits execution of any
+file system-specific commands.
+This is really only useful for testing.
+.TP
+.BI -t \ fstype
+Specifies the type of file system to be built.
+If not specified, the default file system type
+(currently ext2) is used.
+.TP
+.I fs-options
+File system-specific options to be passed to the real file
+system builder.
+Although not guaranteed, the following options are supported
+by most file system builders.
+.TP
+.B -c
+Check the device for bad blocks before building the file system.
+.TP
+.BI -l \ filename
+Read the bad blocks list from
+.I filename
+.TP
+.B -v
+Produce verbose output.
+.SH BUGS
+All generic options must precede and not be combined with
+file system-specific options.
+Some file system-specific programs do not support the
+.I -v
+(verbose) option, nor return meaningful exit codes.
+Also, some file system-specific programs do not automatically
+detect the device size and require the
+.I blocks
+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 file system.
+.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.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-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/disk-utils/mkfs.bfs.8 b/disk-utils/mkfs.bfs.8
new file mode 100644 (file)
index 0000000..d120506
--- /dev/null
@@ -0,0 +1,48 @@
+.\" Copyright 1999 Andries E. Brouwer (aeb@cwi.nl)
+.\" May be freely distributed.
+.TH MKFS.BFS 8 "12 Sept 1999" "Util-linux 2.9x" "Linux System Administrator's Manual"
+.SH NAME
+mkfs.bfs \- make an SCO bfs filesystem
+.SH SYNOPSIS
+.B mkfs.bfs
+.RB [ \-N
+.IR nr-of-inodes ]
+.RB [ \-V
+.IR volume-name ]
+.RB [ \-F
+.IR fsname ]
+.I device
+.RI [ size-in-blocks ]
+.SH DESCRIPTION
+.B mkfs.bfs
+creates an SCO bfs file-system on a block device
+(usually a disk partition or a file accessed via the loop device).
+
+The
+.I size-in-blocks
+parameter is the desired size of the file system, in blocks.
+If nothing is specified, the entire partition will be used.
+.SH OPTIONS
+.TP
+.B \-N
+Specify the desired number 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
+.BI \-V " volume-label"
+Specify the volume label. I have no idea if/where this is used.
+.TP
+.BI \-F " fsname"
+Specify the fsname. I have no idea if/where this is used.
+.TP
+.B \-v
+Be verbose.
+.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-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/disk-utils/mkfs.bfs.c b/disk-utils/mkfs.bfs.c
new file mode 100644 (file)
index 0000000..33f37c4
--- /dev/null
@@ -0,0 +1,286 @@
+/*
+ *  mkfs.bfs - Create SCO BFS filesystem - aeb, 1999-09-07
+ *
+ *  Usage: mkfs.bfs [-N nr-of-inodes] [-V volume-name] [-F fsname] device
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <stdarg.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/ioctl.h>
+#include <fcntl.h>
+#include <errno.h>
+#include <string.h>
+#include <time.h>
+#include "nls.h"
+#include "blkdev.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 char *progname;
+
+static void
+fatal(char *s, ...) {
+    va_list p;
+
+    va_start(p, s);
+    fflush(stdout);
+    fprintf(stderr, "\n%s: ", progname);
+    vfprintf(stderr, s, p);
+    va_end(p);
+    fprintf(stderr, "\n");
+    exit(1);
+}
+
+static void
+usage(void) {
+       fprintf(stderr, _(
+               "Usage: %s [-v] [-N nr-of-inodes] [-V volume-name]\n"
+               "       [-F fsname] device [block-count]\n"),
+               progname);
+       exit(1);
+}
+
+int
+main(int argc, char *argv[]) {
+       char *device, *volume, *fsname;
+       int 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;
+       char *p;
+
+       progname = argv[0];
+       if ((p = strrchr(progname, '/')) != NULL)
+               progname = p+1;
+
+       if (argc < 2)
+               usage();
+
+       if (argc == 2 &&
+           (!strcmp(argv[1], "-V") || !strcmp(argv[1], "--version"))) {
+               printf(_("%s (%s)\n"), progname, PACKAGE_STRING);
+               exit(0);
+       }
+
+       volume = fsname = "      ";     /* is there a default? */
+       inodes = 0;
+
+       while ((c = getopt(argc, argv, "vF:N:V:cl:")) != -1) {
+               switch (c) {
+               case 'N':
+                       inodes = atol(optarg);
+                       break;
+
+               case 'V':
+                       len = strlen(optarg);
+                       if (len <= 0 || len > 6)
+                               fatal(_("volume name too long"));
+                       volume = strdup(optarg);
+                       break;
+
+               case 'F':
+                       len = strlen(optarg);
+                       if (len <= 0 || len > 6)
+                               fatal(_("fsname name too long"));
+                       fsname = strdup(optarg);
+                       break;
+
+               case 'v':
+                       verbose = 1;
+                       break;
+
+                       /* when called via mkfs we may get options c,l,v */
+               case 'c':
+               case 'l':
+                       break;
+
+               default:
+                       usage();
+               }
+       }
+
+       if (optind == argc)
+               usage();
+
+       device = argv[optind++];
+
+       if (stat(device, &statbuf) == -1) {
+               perror(device);
+               fatal(_("cannot stat device %s"), device);
+       }
+
+       if (!S_ISBLK(statbuf.st_mode))
+               fatal(_("%s is not a block special device"), device);
+
+       fd = open(device, O_RDWR | O_EXCL);
+       if (fd == -1) {
+               perror(device);
+               fatal(_("cannot open %s"), device);
+       }
+
+       if (optind == argc-1)
+               user_specified_total_blocks = atoll(argv[optind]);
+       else if (optind != argc)
+               usage();
+
+       if (blkdev_get_sectors(fd, &total_blocks) == -1) {
+               if (!user_specified_total_blocks) {
+                       perror("blkdev_get_sectors");
+                       fatal(_("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)
+                       fatal(_("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 (inodes > 512)
+                       inodes = 512;
+       } else {
+               /* believe the user */
+               if (inodes > 512)
+                       fatal(_("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)
+               fatal(_("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: %d (in 1 block)\n"),
+                               inodes);
+               else
+                       fprintf(stderr, _("Inodes: %d (in %lld 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))
+               fatal(_("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))
+               fatal(_("error writing root inode"));
+
+       memset(&ri, 0, sizeof(ri));
+       for (i=1; i<inodes; i++)
+               if (write(fd, &ri, sizeof(ri)) != sizeof(ri))
+                       fatal(_("error writing inode"));
+
+       if (lseek(fd, (1 + ino_blocks)*BFS_BLOCKSIZE, SEEK_SET) == -1)
+               fatal(_("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))
+               fatal(_("error writing . entry"));
+
+       memcpy(de.d_name, "..", 2);
+       if (write(fd, &de, sizeof(de)) != sizeof(de))
+               fatal(_("error writing .. entry"));
+
+       if (close(fd) == -1) {
+               perror(device);
+               fatal(_("error closing %s"), device);
+       }
+
+       return 0;
+}
diff --git a/disk-utils/mkfs.c b/disk-utils/mkfs.c
new file mode 100644 (file)
index 0000000..120da06
--- /dev/null
@@ -0,0 +1,116 @@
+/*
+ * mkfs                A simple generic frontend for the for the mkfs program
+ *             under Linux.  See the manual page for details.
+ *
+ * Usage:      mkfs [-V] [-t fstype] [fs-options] device [size]
+ *
+ * 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 <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <getopt.h>
+#include <nls.h>
+
+#ifndef DEFAULT_FSTYPE
+# define DEFAULT_FSTYPE                "ext2"
+#endif
+
+#define SEARCH_PATH    "PATH=/sbin:/sbin/fs:/sbin/fs.d:/etc/fs:/etc"
+#define PROGNAME       "mkfs.%s"
+
+
+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;
+  char *program_name, *p;
+
+  program_name = argv[0];
+  if ((p = strrchr(program_name, '/')) != NULL)
+         program_name = p+1;
+
+  setlocale(LC_ALL, "");
+  bindtextdomain(PACKAGE, LOCALEDIR);
+  textdomain(PACKAGE);
+
+  if (argc == 2 &&
+      (!strcmp(argv[1], "-V") || !strcmp(argv[1], "--version"))) {
+         printf(_("%s (%s)\n"), program_name, PACKAGE_STRING);
+         exit(0);
+  }
+
+  /* Check commandline options. */
+  opterr = 0;
+  while ((more == 0) && ((i = getopt(argc, argv, "Vt:")) != -1))
+    switch (i) {
+    case 'V':
+      verbose++;
+      break;
+    case 't':
+      fstype = optarg;
+      break;
+    default:
+      optind--;
+      more = 1;
+      break;           /* start of specific arguments */
+    }
+  if (optind == argc) {
+    fprintf(stderr,
+      _("Usage: mkfs [-V] [-t fstype] [fs-options] device [size]\n"));
+    return -1;
+  }
+  
+  /* 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 = (char *) malloc(strlen(oldpath) + sizeof(SEARCH_PATH) + 3);
+  if (!newpath) {
+    fprintf(stderr, _("%s: Out of memory!\n"), "mkfs");
+    exit(1);
+  }
+  sprintf(newpath, "%s:%s\n", SEARCH_PATH, oldpath);
+  putenv(newpath);
+
+  progname = (char *) malloc(sizeof(PROGNAME) + strlen(fstype) + 1);
+  if (!progname) {
+    fprintf(stderr, _("%s: Out of memory!\n"), "mkfs");
+    exit(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 0;
+  }
+
+  /* Execute the program */
+  execvp(progname, argv+optind);
+  perror(progname);
+  return 1;
+}
diff --git a/disk-utils/mkfs.cramfs.c b/disk-utils/mkfs.cramfs.c
new file mode 100644 (file)
index 0000000..fbb4327
--- /dev/null
@@ -0,0 +1,976 @@
+/*
+ * 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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  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 <stdlib.h>
+#include <errno.h>
+#include <string.h>
+#include <getopt.h>
+#include <stdarg.h>
+#include <zlib.h>
+
+#include "cramfs.h"
+#include "cramfs_common.h"
+#include "md5.h"
+#include "nls.h"
+
+/* Exit codes used by mkfs-type programs */
+#define MKFS_OK          0     /* No errors */
+#define MKFS_ERROR       8     /* Operational error */
+#define MKFS_USAGE       16    /* Usage or syntax error */
+
+/* The kernel only supports PAD_SIZE of 0 and 512. */
+#define PAD_SIZE 512
+
+static const char *progname = "mkcramfs";
+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 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;
+
+#ifndef MIN
+# define MIN(_a,_b) ((_a) < (_b) ? (_a) : (_b))
+#endif
+
+/* 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[16];
+       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"),
+               progname, PAD_SIZE);
+
+       exit(status);
+}
+
+/* malloc or die */
+static void *
+xmalloc (size_t size) {
+       void *t = malloc(size);
+       if (t == NULL) {
+               perror(NULL);
+               exit(8);        /* out of memory */
+       }
+       return t;
+}
+
+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) {
+               perror("mmap");
+               exit(8);
+       }
+       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, 16) &&
+                   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 void *a, const void *b)
+{
+       return strcmp ((*(const struct dirent **) a)->d_name,
+                      (*(const struct dirent **) 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) {
+               perror(name);
+               exit(8);
+       }
+
+       /* 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) {
+                       fprintf(stderr,
+                               _("Very long (%zu bytes) filename `%s' found.\n"
+                                 " Please increase MAX_INPUT_NAMELEN in "
+                                 "mkcramfs.c and recompile.  Exiting.\n"),
+                               namelen, dirent->d_name);
+                       exit(8);
+               }
+               memcpy(endpath, dirent->d_name, namelen + 1);
+
+               if (lstat(path, &st) < 0) {
+                       perror(endpath);
+                       warn_skip = 1;
+                       continue;
+               }
+               entry = calloc(1, sizeof(struct entry));
+               if (!entry) {
+                       perror(NULL);
+                       exit(8);
+               }
+               entry->name = (unsigned char *)strdup(dirent->d_name);
+               if (!entry->name) {
+                       perror(NULL);
+                       exit(8);
+               }
+               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 = strdup(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 = strdup(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))) {
+               fprintf(stderr, _("filesystem too big.  Exiting.\n"));
+               exit(8);
+       }
+       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 = realloc(entry_stack, stack_size * sizeof(struct entry *));
+                                       if (!entry_stack) {
+                                               perror(NULL);
+                                               exit(8);        /* out of memory */
+                                       }
+                               }
+                               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(8);
+               }
+
+               *(u32 *) (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) {
+               perror(file);
+               exit(8);
+       }
+       buf = mmap(NULL, image_length, PROT_READ, MAP_PRIVATE, fd, 0);
+       memcpy(base + offset, buf, image_length);
+       munmap(buf, image_length);
+       close (fd);
+       /* 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;
+       u32 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;
+
+       if (argc) {
+               char *p;
+               progname = argv[0];
+               if ((p = strrchr(progname, '/')) != NULL)
+                       progname = p+1;
+       }
+
+       setlocale(LC_ALL, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+
+       /* command line options */
+       while ((c = getopt(argc, argv, "hb:Ee:i:n:N:psVvz")) != EOF) {
+               switch (c) {
+               case 'h':
+                       usage(0);
+               case 'b':
+                       blksize = atoi(optarg);
+                       if (blksize <= 0)
+                               usage(1);
+                       break;
+               case 'E':
+                       opt_errors = 1;
+                       break;
+               case 'e':
+                       opt_edition = atoi(optarg);
+                       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    {
+                               perror("invalid endianness given. Must be 'big', 'little', or 'host'");
+                               exit(16);
+                       }
+
+                       break;
+               case 'i':
+                       opt_image = optarg;
+                       if (lstat(opt_image, &st) < 0) {
+                               perror(opt_image);
+                               exit(16);
+                       }
+                       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 (%s)\n"),
+                              progname, PACKAGE_STRING);
+                       exit(0);
+               case 'v':
+                       verbose = 1;
+                       break;
+               case 'z':
+                       opt_holes = 1;
+                       break;
+               }
+       }
+
+       if ((argc - optind) != 2)
+               usage(16);
+       dirname = argv[optind];
+       outfile = argv[optind + 1];
+
+       if (stat(dirname, &st) < 0) {
+               perror(dirname);
+               exit(16);
+       }
+       fd = open(outfile, O_WRONLY | O_CREAT | O_TRUNC, 0666);
+
+       root_entry = calloc(1, sizeof(struct entry));
+       if (!root_entry) {
+               perror(NULL);
+               exit(8);
+       }
+       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);
+
+       /* 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) {
+               fprintf(stderr,
+                       _("warning: guestimate of required size (upper bound) "
+                         "is %lldMB, but maximum image size is %uMB.  "
+                         "We might die prematurely.\n"),
+                       (long long)fslen_ub >> 20,
+                       fslen_max >> 20);
+               fslen_ub = fslen_max;
+       }
+
+        /* find duplicate files */
+        eliminate_doubles(root_entry,root_entry, &fslen_ub);
+
+       /* 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) {
+               perror(_("ROM image map"));
+               exit(8);
+       }
+
+       /* 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) {
+               fprintf(stderr,
+                       _("not enough space allocated for ROM image "
+                         "(%lld allocated, %zu used)\n"),
+                       (long long) fslen_ub, offset);
+               exit(8);
+       }
+
+       written = write(fd, rom_image, offset);
+       if (written < 0) {
+               perror(_("ROM image"));
+               exit(8);
+       }
+       if (offset != written) {
+               fprintf(stderr, _("ROM image write failed (%zd %zd)\n"),
+                       written, offset);
+               exit(8);
+       }
+
+       /* (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) */
+               fprintf(stderr, /* bytes, not chars: think UTF8. */
+                       _("warning: filenames truncated to 255 bytes.\n"));
+       if (warn_skip)
+               fprintf(stderr,
+                       _("warning: files were skipped due to errors.\n"));
+       if (warn_size)
+               fprintf(stderr,
+                       _("warning: file sizes truncated to %luMB "
+                         "(minus 1 byte).\n"),
+                       1L << (CRAMFS_SIZE_WIDTH - 20));
+       if (warn_uid) /* (not possible with current Linux versions) */
+               fprintf(stderr,
+                       _("warning: uids truncated to %u bits.  "
+                         "(This may be a security concern.)\n"),
+                       CRAMFS_UID_WIDTH);
+       if (warn_gid)
+               fprintf(stderr,
+                       _("warning: gids truncated to %u bits.  "
+                         "(This may be a security concern.)\n"),
+                       CRAMFS_GID_WIDTH);
+       if (warn_dev)
+               fprintf(stderr,
+                       _("WARNING: device numbers truncated to %u bits.  "
+                         "This almost certainly means\n"
+                         "that some device files will be wrong.\n"),
+                       CRAMFS_OFFSET_WIDTH);
+       if (opt_errors &&
+           (warn_namelen|warn_skip|warn_size|warn_uid|warn_gid|warn_dev))
+               exit(8);
+       return 0;
+}
diff --git a/disk-utils/mkfs.minix.8 b/disk-utils/mkfs.minix.8
new file mode 100644 (file)
index 0000000..0261037
--- /dev/null
@@ -0,0 +1,80 @@
+.\" Copyright 1992, 1993, 1994 Rickard E. Faith (faith@cs.unc.edu)
+.\" May be freely distributed.
+.TH MKFS.MINIX 8 "2 July 1996" "Util-linux 2.6" "Linux System Administrator's Manual"
+.SH NAME
+mkfs.minix \- make a Linux 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 file-system 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 file system.  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 bad blocks list from
+.IR filename .
+The file has one bad block number per line.  The count of bad blocks read
+is printed.
+.TP
+.B \-v
+Make a Minix version 2 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-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/disk-utils/mkfs.minix.c b/disk-utils/mkfs.minix.c
new file mode 100644 (file)
index 0000000..5f50d66
--- /dev/null
@@ -0,0 +1,688 @@
+/*
+ * 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)
+ *
+ * Usage:  mkfs [-c | -l filename ] [-v] [-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
+ *     -v for v2 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 <sys/ioctl.h>
+#include <sys/param.h>
+#include <mntent.h>
+#include <getopt.h>
+
+#include "blkdev.h"
+#include "minix.h"
+#include "nls.h"
+#include "pathnames.h"
+#include "bitops.h"
+
+#define MINIX_ROOT_INO 1
+#define MINIX_BAD_INO 2
+
+#define TEST_BUFFER_BLOCKS 16
+#define MAX_GOOD_BLOCKS 512
+
+#define UPPER(size,n) ((size+((n)-1))/(n))
+#define INODE_SIZE (sizeof(struct minix_inode))
+
+#define INODE_SIZE2 (sizeof(struct minix2_inode))
+#define INODE_BLOCKS UPPER(INODES, (version2 ? MINIX2_INODES_PER_BLOCK \
+                                   : MINIX_INODES_PER_BLOCK))
+#define INODE_BUFFER_SIZE (INODE_BLOCKS * BLOCK_SIZE)
+
+#define BITS_PER_BLOCK (BLOCK_SIZE<<3)
+
+static char * program_name = "mkfs";
+static char * device_name = NULL;
+static int DEV = -1;
+static unsigned long long BLOCKS = 0;
+static int check = 0;
+static int badblocks = 0;
+static int namelen = 30;       /* default (changed to 30, per Linus's
+                                  suggestion, Sun Nov 21 08:05:07 1993) */
+static int dirsize = 32;
+static int magic = MINIX_SUPER_MAGIC2;
+static int version2 = 0;
+
+static char root_block[BLOCK_SIZE] = "\0";
+
+static char * inode_buffer = NULL;
+#define Inode (((struct minix_inode *) inode_buffer)-1)
+#define Inode2 (((struct minix2_inode *) inode_buffer)-1)
+
+static char super_block_buffer[BLOCK_SIZE];
+static char boot_block_buffer[512];
+#define Super (*(struct minix_super_block *)super_block_buffer)
+#define INODES ((unsigned long)Super.s_ninodes)
+#define ZONES ((unsigned long)(version2 ? Super.s_zones : Super.s_nzones))
+#define IMAPS ((unsigned long)Super.s_imap_blocks)
+#define ZMAPS ((unsigned long)Super.s_zmap_blocks)
+#define FIRSTZONE ((unsigned long)Super.s_firstdatazone)
+#define ZONESIZE ((unsigned long)Super.s_log_zone_size)
+#define MAXSIZE ((unsigned long)Super.s_max_size)
+#define MAGIC (Super.s_magic)
+#define NORM_FIRSTZONE (2+IMAPS+ZMAPS+INODE_BLOCKS)
+
+static char *inode_map;
+static char *zone_map;
+
+static unsigned short good_blocks_table[MAX_GOOD_BLOCKS];
+static int used_good_blocks = 0;
+static unsigned long req_nr_inodes = 0;
+
+#define zone_in_use(x) (isset(zone_map,(x)-FIRSTZONE+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)-FIRSTZONE+1))
+#define unmark_zone(x) (clrbit(zone_map,(x)-FIRSTZONE+1))
+
+static void
+die(char *str) {
+       fprintf(stderr, "%s: ", program_name);
+       fprintf(stderr, str, device_name);
+       fprintf(stderr, "\n");
+       exit(8);
+}
+
+static void
+usage(void) {
+       fprintf(stderr, "%s (%s)\n", program_name, PACKAGE_STRING);
+       fprintf(stderr,
+               _("Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]\n"),
+                 program_name);
+       exit(16);
+}
+
+/*
+ * 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;
+
+       die(_("%s is mounted; will not make a filesystem here!"));
+}
+
+static void
+write_tables(void) {
+       /* Mark the super block valid. */
+       Super.s_state |= MINIX_VALID_FS;
+       Super.s_state &= ~MINIX_ERROR_FS;
+
+       if (lseek(DEV, 0, SEEK_SET))
+               die(_("seek to boot block failed in write_tables"));
+       if (512 != write(DEV, boot_block_buffer, 512))
+               die(_("unable to clear boot sector"));
+       if (BLOCK_SIZE != lseek(DEV, BLOCK_SIZE, SEEK_SET))
+               die(_("seek failed in write_tables"));
+       if (BLOCK_SIZE != write(DEV, super_block_buffer, BLOCK_SIZE))
+               die(_("unable to write super-block"));
+       if (IMAPS*BLOCK_SIZE != write(DEV,inode_map,IMAPS*BLOCK_SIZE))
+               die(_("unable to write inode map"));
+       if (ZMAPS*BLOCK_SIZE != write(DEV,zone_map,ZMAPS*BLOCK_SIZE))
+               die(_("unable to write zone map"));
+       if (INODE_BUFFER_SIZE != write(DEV,inode_buffer,INODE_BUFFER_SIZE))
+               die(_("unable to write inodes"));
+       
+}
+
+static void
+write_block(int blk, char * buffer) {
+       if (blk*BLOCK_SIZE != lseek(DEV, blk*BLOCK_SIZE, SEEK_SET))
+               die(_("seek failed in write_block"));
+       if (BLOCK_SIZE != write(DEV, buffer, BLOCK_SIZE))
+               die(_("write failed in write_block"));
+}
+
+static int
+get_free_block(void) {
+       int blk;
+
+       if (used_good_blocks+1 >= MAX_GOOD_BLOCKS)
+               die(_("too many bad blocks"));
+       if (used_good_blocks)
+               blk = good_blocks_table[used_good_blocks-1]+1;
+       else
+               blk = FIRSTZONE;
+       while (blk < ZONES && zone_in_use(blk))
+               blk++;
+       if (blk >= ZONES)
+               die(_("not enough good blocks"));
+       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(int zone) {
+       if (!zone)
+               zone = FIRSTZONE-1;
+       while (++zone < ZONES)
+               if (zone_in_use(zone))
+                       return zone;
+       return 0;
+}
+
+static void
+make_bad_inode(void) {
+       struct minix_inode * inode = &Inode[MINIX_BAD_INO];
+       int i,j,zone;
+       int ind=0,dind=0;
+       unsigned short ind_block[BLOCK_SIZE>>1];
+       unsigned short dind_block[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*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,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,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,BLOCK_SIZE);
+               for (j=0 ; j<512 ; j++) {
+                       ind_block[j] = zone;
+                       if (!NEXT_BAD)
+                               goto end_bad;
+               }
+       }
+       die(_("too many bad blocks"));
+end_bad:
+       if (ind)
+               write_block(ind, (char *) ind_block);
+       if (dind)
+               write_block(dind, (char *) dind_block);
+}
+
+static void
+make_bad_inode2 (void) {
+       struct minix2_inode *inode = &Inode2[MINIX_BAD_INO];
+       int i, j, zone;
+       int ind = 0, dind = 0;
+       unsigned long ind_block[BLOCK_SIZE >> 2];
+       unsigned long dind_block[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 * 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, 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, 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, BLOCK_SIZE);
+               for (j = 0; j < 256; j++) {
+                       ind_block[j] = zone;
+                       if (!NEXT_BAD)
+                               goto end_bad;
+               }
+       }
+       /* Could make triple indirect block here */
+       die (_("too many bad blocks"));
+ end_bad:
+       if (ind)
+               write_block (ind, (char *) ind_block);
+       if (dind)
+               write_block (dind, (char *) dind_block);
+}
+
+static void
+make_root_inode(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_inode2 (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';
+               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
+setup_tables(void) {
+       int i;
+       unsigned long inodes;
+
+       memset(super_block_buffer,0,BLOCK_SIZE);
+       memset(boot_block_buffer,0,512);
+       Super.s_magic = magic;
+       Super.s_log_zone_size = 0;
+       Super.s_max_size = version2 ? 0x7fffffff : (7+512+512*512)*1024;
+       if (version2)
+               Super.s_zones = BLOCKS;
+       else
+               Super.s_nzones = BLOCKS;
+
+/* 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 (version2)
+               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 (inodes > 65535)
+               inodes = 65535;
+       Super.s_ninodes = inodes;
+
+       /* The old code here
+        * ZMAPS = 0;
+        * while (ZMAPS != UPPER(BLOCKS - NORM_FIRSTZONE + 1,BITS_PER_BLOCK))
+        *        ZMAPS = UPPER(BLOCKS - NORM_FIRSTZONE + 1,BITS_PER_BLOCK);
+        * was no good, since it may loop. - aeb
+        */
+       Super.s_imap_blocks = UPPER(INODES + 1, BITS_PER_BLOCK);
+       Super.s_zmap_blocks = UPPER(BLOCKS - (1+IMAPS+INODE_BLOCKS),
+                                   BITS_PER_BLOCK+1);
+       Super.s_firstdatazone = NORM_FIRSTZONE;
+
+       inode_map = malloc(IMAPS * BLOCK_SIZE);
+       zone_map = malloc(ZMAPS * BLOCK_SIZE);
+       if (!inode_map || !zone_map)
+               die(_("unable to allocate buffers for maps"));
+       memset(inode_map,0xff,IMAPS * BLOCK_SIZE);
+       memset(zone_map,0xff,ZMAPS * BLOCK_SIZE);
+       for (i = FIRSTZONE ; i<ZONES ; i++)
+               unmark_zone(i);
+       for (i = MINIX_ROOT_INO ; i<=INODES ; i++)
+               unmark_inode(i);
+       inode_buffer = malloc(INODE_BUFFER_SIZE);
+       if (!inode_buffer)
+               die(_("unable to allocate buffer for inodes"));
+       memset(inode_buffer,0,INODE_BUFFER_SIZE);
+       printf(_("%ld inodes\n"),INODES);
+       printf(_("%ld blocks\n"),ZONES);
+       printf(_("Firstdatazone=%ld (%ld)\n"),FIRSTZONE,NORM_FIRSTZONE);
+       printf(_("Zonesize=%d\n"),BLOCK_SIZE<<ZONESIZE);
+       printf(_("Maxsize=%ld\n\n"),MAXSIZE);
+}
+
+/*
+ * 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 * BLOCK_SIZE, SEEK_SET) !=
+                      current_block * BLOCK_SIZE ) {
+                die(_("seek failed during testing of blocks"));
+       }
+
+
+       /* Try the read */
+       got = read(DEV, buffer, try * BLOCK_SIZE);
+       if (got < 0) got = 0;   
+       if (got & (BLOCK_SIZE - 1 )) {
+               printf(_("Weird values in do_check: probably bugs\n"));
+       }
+       got /= BLOCK_SIZE;
+       return got;
+}
+
+static unsigned int currently_testing = 0;
+
+static void
+alarm_intr(int alnum) {
+       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[BLOCK_SIZE * TEST_BUFFER_BLOCKS];
+
+       currently_testing=0;
+       signal(SIGALRM,alarm_intr);
+       alarm(5);
+       while (currently_testing < ZONES) {
+               if (lseek(DEV,currently_testing*BLOCK_SIZE,SEEK_SET) !=
+               currently_testing*BLOCK_SIZE)
+                       die(_("seek failed in check_blocks"));
+               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 < FIRSTZONE)
+                       die(_("bad blocks before data-area: cannot make fs"));
+               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)
+               die(_("can't open file of bad blocks"));
+
+       while (!feof(listfile)) {
+               if (fscanf(listfile,"%ld\n", &blockno) != 1) {
+                       printf(_("badblock number input error on line %d\n"), badblocks + 1);
+                       die(_("cannot read badblocks file"));
+               }
+               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);
+
+  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 != BLOCK_SIZE)
+    die(_("bad inode size"));
+  if (INODE_SIZE2 * MINIX2_INODES_PER_BLOCK != BLOCK_SIZE)
+    die(_("bad inode size"));
+
+  opterr = 0;
+  while ((i = getopt(argc, argv, "ci:l:n:v")) != -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 'v':
+       version2 = 1;
+       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;
+  *(short *)tmp = 1;
+  strcpy(tmp+2,".");
+  tmp += dirsize;
+  *(short *)tmp = 1;
+  strcpy(tmp+2,"..");
+  tmp += dirsize;
+  *(short *)tmp = 2;
+  strcpy(tmp+2,".badblocks");
+  if (stat(device_name, &statbuf) < 0)
+    die(_("unable to stat %s"));
+  if (S_ISBLK(statbuf.st_mode))
+    DEV = open(device_name,O_RDWR | O_EXCL);
+  else
+    DEV = open(device_name,O_RDWR);
+  if (DEV<0)
+    die(_("unable to open %s"));
+  if (S_ISBLK(statbuf.st_mode)) {
+    int sectorsize;
+
+    if (blkdev_get_sector_size(DEV, &sectorsize) == -1)
+           die(_("cannot determine sector size for %s"));
+    if (BLOCK_SIZE < sectorsize)
+           die(_("block size smaller than physical sector size of %s"));
+    if (!BLOCKS) {
+           if (blkdev_get_size(DEV, &BLOCKS) == -1)
+               die(_("cannot determine size of %s"));
+           BLOCKS /= BLOCK_SIZE;
+    }
+  } else if (!S_ISBLK(statbuf.st_mode)) {
+    if (!BLOCKS)
+           BLOCKS = statbuf.st_size / BLOCK_SIZE;
+    check=0;
+  } else if (statbuf.st_rdev == 0x0300 || statbuf.st_rdev == 0x0340)
+    die(_("will not try to make filesystem on '%s'"));
+  if (BLOCKS < 10)
+         die(_("number of blocks too small"));
+  if (version2) {
+    if (namelen == 14)
+      magic = MINIX2_SUPER_MAGIC;
+    else
+      magic = MINIX2_SUPER_MAGIC2;
+  } else
+    if (BLOCKS > 65535)
+      BLOCKS = 65535;
+  setup_tables();
+  if (check)
+    check_blocks();
+  else if (listfile)
+    get_list_blocks(listfile);
+  if (version2) {
+    make_root_inode2 ();
+    make_bad_inode2 ();
+  } else {
+      make_root_inode();
+      make_bad_inode();
+  }
+  mark_good_blocks();
+  write_tables();
+  return 0;
+}
diff --git a/disk-utils/mkswap.8 b/disk-utils/mkswap.8
new file mode 100644 (file)
index 0000000..cdb2a44
--- /dev/null
@@ -0,0 +1,155 @@
+.\" 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 "13 March 2009" "Linux" "Linux Programmer's Manual"
+.SH NAME
+mkswap \- set up a Linux swap area
+.SH SYNOPSIS
+.B mkswap
+.RB [ \-c ]
+.RB [ \-f ]
+.RB [ \-p
+.IR PSZ ]
+.RB [ \-L
+.IR label ]
+.RB [ \-U
+.IR uuid ]
+.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 Id's, 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.)
+
+The
+.I PSZ
+parameter specifies the page size to use. It is almost always
+unnecessary (even unwise) to specify it, but certain old libc
+versions lie about the page size, so it is possible that
+.B mkswap
+gets it wrong. The symptom is that a subsequent
+.B swapon
+fails because no swap signature is found. Typical values for
+.I PSZ
+are 4096 or 8192.
+
+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 recommended setup. The recommended setup is to
+use a separate partition for a Linux swap area.
+
+.B mkswap like many others mkfs-like utils erases the first block to remove
+.B old on-disk filesystems.
+
+.B mkswap
+refuses to erase the first block on a device with a disk
+label (SUN, BSD, ...) or on whole disk (e.g. /dev/sda).
+
+.SH OPTIONS
+.TP
+.B \-c
+Check the device (if it is a block device) for bad blocks
+before creating the swap area.
+If any are found, the count is printed.
+.TP
+.B \-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.
+
+Without this option
+.B mkswap
+will refuse to erase the first block on a device with a partition table or on
+whole disk (e.g. /dec/sda).
+.TP
+.BI \-p \ PSZ
+Specify the page size to use.
+.TP
+.BI \-L \ label
+Specify a label, to allow swapon by label.
+(Only for new style swap areas.)
+.TP
+.BR \-v0 , \ \-v1
+Specify the swap space version. This option is deprecated and \-v1 is
+supported only.
+
+The kernel has not supported v0 swap space format since 2.5.22. The new version
+v1 is supported since 2.1.117.
+
+.TP
+.BI \-U \ uuid
+Specify the uuid to use. The default is to generate UUIDs.
+
+.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, ARM, 1GiB on sparc, 512MiB on mips,
+128GiB on alpha and 3TiB on sparc64. For kernels after 2.3.3 there is no
+such limitation.
+
+Note that before 2.1.117 the kernel allocated one byte for each page,
+while it now allocates two bytes, so that taking a swap area of 2 GiB
+in use might require 2 MiB of kernel memory.
+
+Presently, Linux allows 32 swap areas (this was 8 before Linux 2.4.10).
+The areas in use can be seen in the file
+.I /proc/swaps
+(since 2.1.25).
+
+.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 setup 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-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/disk-utils/mkswap.c b/disk-utils/mkswap.c
new file mode 100644 (file)
index 0000000..9feb211
--- /dev/null
@@ -0,0 +1,687 @@
+/*
+ * 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/ioctl.h>         /* for _IO */
+#include <sys/utsname.h>
+#include <sys/stat.h>
+#include <errno.h>
+#ifdef HAVE_LIBSELINUX
+#include <selinux/selinux.h>
+#include <selinux/context.h>
+#endif
+
+#include "linux_version.h"
+#include "swapheader.h"
+#include "xstrncpy.h"
+#include "nls.h"
+#include "blkdev.h"
+#include "pathnames.h"
+#include "pttype.h"
+#include "wholedisk.h"
+
+#ifdef HAVE_LIBUUID
+# ifdef HAVE_UUID_UUID_H
+#  include <uuid/uuid.h>
+#else
+# include <uuid.h>
+# endif
+#endif
+
+static char * program_name = "mkswap";
+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 int user_pagesize;
+static int pagesize;
+static unsigned long *signature_page = NULL;
+struct swap_header_v1 *p;
+
+static void
+init_signature_page(void) {
+
+       int kernel_pagesize = pagesize = getpagesize();
+
+       if (user_pagesize) {
+               if ((user_pagesize & (user_pagesize-1)) ||
+                   user_pagesize < 1024) {
+                       fprintf(stderr, _("Bad user-specified page size %d\n"),
+                               user_pagesize);
+                       exit(1);
+               }
+               pagesize = user_pagesize;
+       }
+
+       if (user_pagesize && user_pagesize != kernel_pagesize)
+               fprintf(stderr, _("Using user-specified page size %d, "
+                                 "instead of the system value %d\n"),
+                               pagesize, kernel_pagesize);
+
+       signature_page = (unsigned long *) malloc(pagesize);
+       memset(signature_page, 0, pagesize);
+       p = (struct swap_header_v1 *) signature_page;
+}
+
+static void
+deinit_signature_page(void) {
+       free(signature_page);
+}
+
+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)) {
+               fprintf(stderr,
+                       _("Bad swap header size, no label written.\n"));
+               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))
+                       fprintf(stderr, _("Label was truncated.\n"));
+       }
+       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
+usage(void) {
+       fprintf(stderr,
+               _("Usage: %s [-c] [-pPAGESZ] [-L label] [-U UUID] /dev/name [blocks]\n"),
+               program_name);
+       exit(1);
+}
+
+static void
+die(const char *str) {
+       fprintf(stderr, "%s: %s\n", program_name, str);
+       exit(1);
+}
+
+static void
+page_bad(int page) {
+       if (badpages == MAX_BADPAGES)
+               die(_("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 = malloc(pagesize);
+       if (!buffer)
+               die(_("Out of memory"));
+       current_page = 0;
+       while (current_page < PAGES) {
+               if (do_seek && lseek(DEV,current_page*pagesize,SEEK_SET) !=
+                   current_page*pagesize)
+                       die(_("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(1);
+       }
+       if (blkdev_get_size(fd, &size) == 0)
+               size /= pagesize;
+       else
+               size = blkdev_find_size(fd) / pagesize;
+
+       close(fd);
+       return size;
+}
+
+static int
+isnzdigit(char c) {
+       return (c >= '1' && c <= '9');
+}
+
+
+/*
+ * 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.
+ * (C) 2006 Karel Zak -- port to mkswap
+ */
+static int
+check_mount(void) {
+       FILE * f;
+       struct mntent * mnt;
+
+       if ((f = setmntent (_PATH_MOUNTED, "r")) == NULL)
+               return 0;
+       while ((mnt = getmntent (f)) != NULL)
+               if (strcmp (device_name, mnt->mnt_fsname) == 0)
+                       break;
+       endmntent (f);
+       if (!mnt)
+               return 0;
+       return 1;
+}
+
+
+static 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 += tmp;
+               } else if (errno != EINTR && errno != EAGAIN)
+                       return -1;
+       }
+       return 0;
+}
+
+static void
+zap_bootbits(int fd, const char *devname, int force)
+{
+       const char *type = NULL;
+       int zap = 1;
+
+       if (!force) {
+               if (lseek(fd, 0, SEEK_SET) != 0)
+                       die(_("unable to rewind swap-device"));
+
+               if (is_whole_disk_fd(fd, devname))
+                       /* don't zap bootbits on whole disk -- we know nothing
+                        * about bootloaders on the device */
+                       zap = 0;
+
+               else if ((type = get_pt_type_fd(fd)))
+                       /* don't zap partition table */
+                       zap = 0;
+       }
+
+       if (zap) {
+               char buf[1024];
+
+               if (lseek(fd, 0, SEEK_SET) != 0)
+                       die(_("unable to rewind swap-device"));
+
+               memset(buf, 0, sizeof(buf));
+               if (write_all(fd, buf, sizeof(buf)))
+                       die(_("unable to erase bootbits sectors"));
+               return;
+       }
+
+       fprintf(stderr, _("%s: %s: warning: don't erase bootbits sectors\n"),
+               program_name, devname);
+       if (type)
+               fprintf(stderr, _("        (%s partition table detected). "), type);
+       else
+               fprintf(stderr, _("        on whole disk. "));
+       fprintf(stderr, "Use -f to force.\n");
+}
+
+int
+main(int argc, char ** argv) {
+       struct stat statbuf;
+       int i;
+       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 *pp;
+       char *opt_label = NULL;
+       unsigned char *uuid = NULL;
+#ifdef HAVE_LIBUUID
+       const char *opt_uuid = NULL;
+       uuid_t uuid_dat;
+#endif
+
+       program_name = (argc && *argv) ? argv[0] : "mkswap";
+       if ((pp = strrchr(program_name, '/')) != NULL)
+               program_name = pp+1;
+
+       setlocale(LC_ALL, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+
+       if (argc == 2 &&
+           (!strcmp(argv[1], "-V") || !strcmp(argv[1], "--version"))) {
+               printf(_("%s (%s)\n"), program_name, PACKAGE_STRING);
+               exit(0);
+       }
+
+       for (i=1; i<argc; i++) {
+               if (argv[i][0] == '-') {
+                       switch (argv[i][1]) {
+                               case 'c':
+                                       check=1;
+                                       break;
+                               case 'f':
+                                       force=1;
+                                       break;
+                               case 'p':
+                                       pp = argv[i]+2;
+                                       if (!*pp && i+1 < argc)
+                                               pp = argv[++i];
+                                       if (isnzdigit(*pp))
+                                               user_pagesize = atoi(pp);
+                                       else
+                                               usage();
+                                       break;
+                               case 'L':
+                                       pp = argv[i]+2;
+                                       if (!*pp && i+1 < argc)
+                                               pp = argv[++i];
+                                       opt_label = pp;
+                                       break;
+                               case 'v':
+                                       version = atoi(argv[i]+2);
+                                       break;
+                               case 'U':
+#ifdef HAVE_LIBUUID
+                                       opt_uuid = argv[i]+2;
+                                       if (!*opt_uuid && i+1 < argc)
+                                               opt_uuid = argv[++i];
+#else
+                                       fprintf(stderr, _("%1$s: warning: ignore -U (UUIDs are unsupported by %1$s)\n"),
+                                               program_name);
+#endif
+                                       break;
+                               default:
+                                       usage();
+                       }
+               } else if (!device_name) {
+                       device_name = argv[i];
+               } else if (!block_count) {
+                       block_count = argv[i];
+               } else
+                       usage();
+       }
+
+       if (version != 1) {
+               fprintf(stderr, _("%s: does not support swapspace version %d.\n"),
+                       program_name, version);
+               exit(EXIT_FAILURE);
+       }
+
+#ifdef HAVE_LIBUUID
+       if(opt_uuid) {
+               if (uuid_parse(opt_uuid, uuid_dat) != 0)
+                       die(_("error: UUID parsing failed"));
+       } else
+               uuid_generate(uuid_dat);
+       uuid = uuid_dat;
+#endif
+
+       init_signature_page();  /* get pagesize */
+       atexit(deinit_signature_page);
+
+       if (!device_name) {
+               fprintf(stderr,
+                       _("%s: error: Nowhere to set up swap on?\n"),
+                       program_name);
+               usage();
+       }
+       if (block_count) {
+               /* this silly user specified the number of blocks
+                  explicitly */
+               char *tmp;
+               int blocks_per_page = pagesize/1024;
+               PAGES = strtoull(block_count,&tmp,0)/blocks_per_page;
+               if (*tmp)
+                       usage();
+       }
+       sz = get_size(device_name);
+       if (!PAGES) {
+               PAGES = sz;
+       } else if (PAGES > sz && !force) {
+               fprintf(stderr,
+                       _("%s: error: "
+                         "size %llu KiB is larger than device size %llu KiB\n"),
+                       program_name,
+                       PAGES*(pagesize/1024), sz*(pagesize/1024));
+               exit(1);
+       }
+
+       if (PAGES < MIN_GOODPAGES) {
+               fprintf(stderr,
+                       _("%s: error: swap area needs to be at least %ld KiB\n"),
+                       program_name, (long)(MIN_GOODPAGES * pagesize/1024));
+               usage();
+       }
+
+#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;
+               fprintf(stderr,
+                       _("%s: warning: truncating swap area to %llu KiB\n"),
+                       program_name, PAGES * pagesize / 1024);
+       }
+
+       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(1);
+       }
+
+       /* Want a block device. Probably not /dev/hda or /dev/hdb. */
+       if (!S_ISBLK(statbuf.st_mode))
+               check=0;
+       else if (statbuf.st_rdev == 0x0300 || statbuf.st_rdev == 0x0340) {
+               fprintf(stderr,
+                       _("%s: error: "
+                         "will not try to make swapdevice on '%s'\n"),
+                       program_name, device_name);
+               exit(1);
+       } else if (check_mount()) {
+               fprintf(stderr,
+                       _("%s: error: "
+                         "%s is mounted; will not make swapspace.\n"),
+                       program_name, device_name);
+               exit(1);
+       }
+
+       if (check)
+               check_blocks();
+
+       zap_bootbits(DEV, device_name, force);
+
+       p->version = 1;
+       p->last_page = PAGES-1;
+       p->nr_badpages = badpages;
+
+       if (badpages > PAGES - MIN_GOODPAGES)
+               die(_("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)
+               die(_("unable to rewind swap-device"));
+       if (write_all(DEV, (char *) signature_page + offset,
+                                   pagesize - offset) == -1) {
+               fprintf(stderr, _("%s: %s: unable to write signature page: %s"),
+                       program_name, device_name, strerror(errno));
+               exit(1);
+       }
+
+       /*
+        * A subsequent swapon() will fail if the signature
+        * is not actually on disk. (This is a kernel bug.)
+        */
+#ifdef HAVE_FSYNC
+       if (fsync(DEV))
+                die(_("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) {
+                               fprintf(stderr, _("%s: %s: unable to obtain selinux file label: %s\n"),
+                                               program_name, device_name,
+                                               strerror(errno));
+                               exit(1);
+                       }
+                       if (matchpathcon(device_name, statbuf.st_mode, &oldcontext))
+                               die(_("unable to matchpathcon()"));
+               }
+               if (!(newcontext = context_new(oldcontext)))
+                       die(_("unable to create new selinux context"));
+               if (context_type_set(newcontext, SELINUX_SWAPFILE_TYPE))
+                       die(_("couldn't compute selinux context"));
+
+               context_string = context_str(newcontext);
+
+               if (strcmp(context_string, oldcontext)!=0) {
+                       if (fsetfilecon(DEV, context_string)) {
+                               fprintf(stderr, _("%s: unable to relabel %s to %s: %s\n"),
+                                               program_name, device_name,
+                                               context_string,
+                                               strerror(errno));
+                               exit(1);
+                       }
+               }
+               context_free(newcontext);
+               freecon(oldcontext);
+       }
+#endif
+       return 0;
+}
diff --git a/disk-utils/raw.8 b/disk-utils/raw.8
new file mode 100644 (file)
index 0000000..72bb17c
--- /dev/null
@@ -0,0 +1,94 @@
+.\" -*- nroff -*-
+.TH RAW 8 "Aug 1999" "Version 0.1"
+.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
+.B \-q
+.I /dev/raw/raw<N>
+.PP
+.B raw
+.B \-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, with 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
+, specifies that all bound raw devices should be queried.
+.TP
+.B -h
+provides a usage summary.
+.SH BUGS
+The Linux
+.B dd
+(1) command should be used without bs= 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-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/disk-utils/raw.c b/disk-utils/raw.c
new file mode 100644 (file)
index 0000000..f634b60
--- /dev/null
@@ -0,0 +1,265 @@
+/*
+ * 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 <stdlib.h>
+#include <stdio.h>
+#include <unistd.h>
+#include <errno.h>
+#include <string.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+#include <sys/ioctl.h>
+#include <sys/sysmacros.h>
+#include <linux/raw.h>
+#include <linux/major.h>
+#include "nls.h"
+
+
+#define RAWDEVDIR "/dev/raw/"
+#define RAWDEVCTL RAWDEVDIR "rawctl"
+/* deprecated */
+#define RAWDEVCTL_OLD "/dev/rawctl"
+
+
+#define RAW_NR_MINORS 8192
+
+char * progname;
+int    do_query = 0;
+int    do_query_all = 0;
+
+int    master_fd;
+int    raw_minor;
+
+void open_raw_ctl(void);
+int  query(int minor, const char *raw_name, int quiet);
+int  bind (int minor, int block_major, int block_minor);
+
+
+static void usage(int err)
+{
+       fprintf(stderr,
+               _("Usage:\n"
+               "  %s " RAWDEVDIR "rawN <major> <minor>\n"
+               "  %s " RAWDEVDIR "rawN /dev/<blockdev>\n"
+               "  %s -q " RAWDEVDIR "rawN\n"
+               "  %s -qa\n"),
+               progname, progname, progname, progname);
+       exit(err);
+}
+
+
+int main(int argc, char *argv[])
+{
+       int  c;
+       char * raw_name;
+       char * block_name;
+       int  err;
+       int  block_major, block_minor;
+       int  i, rc;
+
+       struct stat statbuf;
+
+       setlocale(LC_MESSAGES, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+
+       progname = argv[0];
+
+       while ((c = getopt(argc, argv, "ahq")) != -1) {
+               switch (c) {
+               case 'a':
+                       do_query_all = 1;
+                       break;
+               case 'h':
+                       usage(0);
+               case 'q':
+                       do_query = 1;
+                       break;
+               default:
+                       usage(1);
+               }
+       }
+
+       /*
+        * Check for, and open, the master raw device, /dev/raw
+        */
+
+       open_raw_ctl();
+
+       if (do_query_all) {
+               if (optind < argc)
+                       usage(1);
+               for (i = 1; i < RAW_NR_MINORS; i++)
+                       query(i, NULL, 1);
+               exit(0);
+       }
+
+       /*
+        * It's a bind or a single query.  Either way we need a raw device.
+        */
+
+       if (optind >= argc)
+               usage(1);
+       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, RAWDEVDIR "raw%d", &raw_minor);
+       if (rc != 1)
+               usage(1);
+
+       if (raw_minor == 0) {
+               fprintf (stderr,
+                       _("Device '%s' is control raw dev "
+                       "(use raw<N> where <N> is greater than zero)\n"),
+                       raw_name);
+               exit(2);
+       }
+
+       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];
+               err = stat(block_name, &statbuf);
+               if (err) {
+                       fprintf (stderr,
+                                _("Cannot locate block device '%s' (%s)\n"),
+                                block_name, strerror(errno));
+                       exit(2);
+               }
+
+               if (!S_ISBLK(statbuf.st_mode)) {
+                       fprintf (stderr, _("Device '%s' is not a block dev\n"),
+                                block_name);
+                       exit(2);
+               }
+
+               block_major = major(statbuf.st_rdev);
+               block_minor = minor(statbuf.st_rdev);
+               break;
+
+       case 2:
+               block_major = strtol(argv[optind], 0, 0);
+               block_minor = strtol(argv[optind+1], 0, 0);
+               break;
+
+       default:
+               block_major = block_minor = 0; /* just to keep gcc happy */
+               usage(1);
+       }
+
+       return bind(raw_minor, block_major, block_minor);
+       return 0;
+
+}
+
+
+void open_raw_ctl(void)
+{
+       int errsv;
+
+       master_fd = open(RAWDEVCTL, O_RDWR, 0);
+       if (master_fd < 0) {
+               errsv = errno;
+               master_fd = open(RAWDEVCTL_OLD, O_RDWR, 0);
+               if (master_fd < 0) {
+                       fprintf (stderr,
+                                _("Cannot open master raw device '"
+                                RAWDEVCTL
+                                "' (%s)\n"), strerror(errsv));
+                       exit(2);
+               }
+       }
+}
+
+int query(int minor, const char *raw_name, int quiet)
+{
+       struct raw_config_request rq;
+       static int has_worked = 0;
+       int err;
+
+       if (raw_name) {
+               struct stat statbuf;
+
+               err = stat(raw_name, &statbuf);
+               if (err) {
+                       fprintf (stderr, _("Cannot locate raw device '%s' (%s)\n"),
+                                raw_name, strerror(errno));
+                       exit(2);
+               }
+
+               if (!S_ISCHR(statbuf.st_mode)) {
+                       fprintf (stderr, _("Raw device '%s' is not a character dev\n"),
+                                raw_name);
+                       exit(2);
+               }
+               if (major(statbuf.st_rdev) != RAW_MAJOR) {
+                       fprintf (stderr, _("Device '%s' is not a raw dev\n"),
+                                raw_name);
+                       exit(2);
+               }
+               minor = minor(statbuf.st_rdev);
+       }
+
+       rq.raw_minor = minor;
+       err = ioctl(master_fd, RAW_GETBIND, &rq);
+       if (err < 0) {
+               if (quiet && errno == ENODEV)
+                       return 3;
+               if (has_worked && errno == EINVAL)
+                       return 0;
+               fprintf (stderr,
+                        _("Error querying raw device (%s)\n"),
+                        strerror(errno));
+               exit(3);
+       }
+       /* 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 (_(RAWDEVDIR "raw%d:     bound to major %d, minor %d\n"),
+               minor, (int) rq.block_major, (int) rq.block_minor);
+       return 0;
+}
+
+int bind(int minor, int block_major, int block_minor)
+{
+       struct raw_config_request rq;
+       int err;
+
+       rq.raw_minor   = minor;
+       rq.block_major = block_major;
+       rq.block_minor = block_minor;
+       err = ioctl(master_fd, RAW_SETBIND, &rq);
+       if (err < 0) {
+               fprintf (stderr,
+                        _("Error setting raw device (%s)\n"),
+                        strerror(errno));
+               exit(3);
+       }
+       printf (_(RAWDEVDIR "raw%d:     bound to major %d, minor %d\n"),
+               raw_minor, (int) rq.block_major, (int) rq.block_minor);
+       return 0;
+}
+
diff --git a/docs/v2.13-ReleaseNotes b/docs/v2.13-ReleaseNotes
new file mode 100644 (file)
index 0000000..efd5d68
--- /dev/null
@@ -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-ng/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 lenght  [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/docs/v2.14-ReleaseNotes b/docs/v2.14-ReleaseNotes
new file mode 100644 (file)
index 0000000..1c92a82
--- /dev/null
@@ -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-ng/v2.13/v2.13.1.1-ReleaseNotes
+   ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/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-ng/v2.13/v2.13.1-ReleaseNotes
+   ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/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-ng/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/docs/v2.15-ReleaseNotes b/docs/v2.15-ReleaseNotes
new file mode 100644 (file)
index 0000000..56b10b6
--- /dev/null
@@ -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-ng/v2.14/v2.14.1-ReleaseNotes
+   ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/v2.14/v2.14.1-ChangeLog
+
+util-linux-ng 2.14.2 [09-Feb-2009]
+
+ * ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/v2.14/v2.14.2-ReleaseNotes
+   ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/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-ng/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 \a 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/docs/v2.16-ReleaseNotes b/docs/v2.16-ReleaseNotes
new file mode 100644 (file)
index 0000000..b204c64
--- /dev/null
@@ -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-ng/v2.15/v2.15.1-ReleaseNotes
+   ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/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-ng/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/docs/v2.16.1-ReleaseNotes b/docs/v2.16.1-ReleaseNotes
new file mode 100644 (file)
index 0000000..c61c3dd
--- /dev/null
@@ -0,0 +1,57 @@
+Util-linux-ng 2.16.1 Release Notes
+==================================
+
+Changes since v2.16
+-------------------
+
+ For more details see ChangeLog files at:
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/v2.16/
+
+build-sys:
+   - don't distribute generated *.pc files  [Karel Zak]
+cal:
+   - fix (harmless) typo  [Peter Breitenlohner]
+   - fix broken computation for Sep 1752  [Peter Breitenlohner]
+dmesg:
+   - add -r to help output  [Karel Zak]
+docs:
+   - update "The Perfect Patch" URL  [Karel Zak]
+   - update AUTHORS file  [Karel Zak]
+libblkid:
+   - add *.ko.gz support to modules.dep parser  [Karel Zak]
+   - allow linking with uClibc  [Daniel Mierswa]
+   - fix FALSE definition  [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]
+mkswap:
+   - fix memory leaks, cleanup check_blocks()  [Karel Zak]
+   - unbreak -c ("check") option.  [Peter De Wachter]
+mount:
+   - add info about ext{3,4} barriers to mount.8  [Karel Zak]
+   - clean up mount.8  [Karel Zak]
+   - mention mtab for single mount point mount in mount.8  [Peter Volkov]
+pg:
+   - compiler warning with NLS disabled  [Peter Breitenlohner]
+po:
+   - fix grammar glitch in german translation  [Hendrik Lönngren]
+   - merge changes  [Karel Zak]
+   - update ja.po (from translationproject.org)  [Makoto Kato]
+scriptreplay:
+   - fix typo in error message  [Karel Zak]
+tailf:
+   - report inotify_add_watch() problems  [Karel Zak]
+
+
+cal.1 cfdisk.8 chfn.1 chsh.1 ctrlaltdel.8 cytune.8 ddate.1 delpart.8 dmesg.1
+elvtune.8 fdformat.8 fdisk.8 fsck.8 fsck.minix.8 fstab.5 getopt.1 hexdump.1
+hwclock.8 initctl.8 ionice.1 ipcmk.1 ipcrm.1 ipcs.1 isosize.8 kill.1 last.1
+ldattach.8: losetup.8: lscpu.1: mcookie.1: mesg.1: mkfs.8: mkfs.bfs.8:
+mkfs.minix.8: mkswap.8: more.1: addpart.8: blockdev.8: mount.8: namei.1:
+newgrp.1: partx.8: pg.1: pivot_root.8: rdev.8: readprofile.1: rename.1:
+renice.1: reset.1: rtcwake.8: scriptreplay.1: setarch.8: setsid.1: setterm.1:
+sfdisk.8: shutdown.8: simpleinit.8: swapon.8: switch_root.8: tunelp.8: ul.1:
+umount.8: uuidd.8: uuidgen.1: vipw.8: whereis.1: write.1:
+
+   - formatting  [Peter Breitenlohner]
+
diff --git a/docs/v2.16.2-ReleaseNotes b/docs/v2.16.2-ReleaseNotes
new file mode 100644 (file)
index 0000000..8084d84
--- /dev/null
@@ -0,0 +1,49 @@
+Util-linux-ng 2.16.2 Release Notes
+==================================
+
+Changes since v2.16.1
+---------------------
+
+ For more details see ChangeLog files at:
+ ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/v2.16/
+
+docs:
+   - update AUTHORS file  [Karel Zak]
+fdformat:
+   - fix memory leak in verify_disk()  [Cristian Rodríguez]
+fsck.minix:
+   - fix broken zone checking  [Karel Zak]
+hwclock:
+   - do not access hardware clock when using --systz  [Scott James Remnant]
+   - set kernel timezone with --systz --utc  [Scott James Remnant]
+lib:
+   - fix file descriptor leak in is_mounted()  [Theodore Ts'o]
+libblkid:
+   - add missing packed attributes, add new UFS magic strings  [Karel Zak]
+   - fix FAT super block definition  [Lawrence Rust]
+   - fix blkid_probe_set_utf8label() call for Joliet  [Karel Zak]
+   - fix the default cache file path  [Karel Zak]
+   - fix typo (swsupend -> swsuspend)  [Karel Zak]
+   - prefer ISO9660 PVD Label to Joliet Label  [Karel Zak]
+   - trim tailing whitespace from unicode LABELs  [Karel Zak]
+libuuid:
+   - remove .UE macro from libuuid man pages.  [Milan Broz]
+mkswap:
+   - restore device argument in mkswap.8 synopsis  [Peter Breitenlohner]
+mount:
+   - document changed semantics of tmpfs size option in mount.8  [kevin.granade@gmail.com]
+   - more explicitly explain 'strictatime' in mount.8  [Karel Zak]
+   - update list of pseudo filesystems  [Karel Zak]
+po:
+   - merge changes  [Karel Zak]
+   - update id.po (from translationproject.org)  [Arif E. Nugroho]
+   - update pl.po (from translationproject.org)  [Jakub Bogusz]
+   - update vi.po (from translationproject.org)  [Clytie Siddall]
+sfdisk:
+   - dump has to be $LANG insensitive  [Karel Zak]
+swapon:
+   - handle <=linux-2.6.19 bug in /proc/swaps  [Mike Frysinger]
+switch_root:
+   - remove TIOCSCTTY and setsid()  [Karel Zak]
+tailf:
+   - fix printf format  [Mike Frysinger]
diff --git a/example.files/filesystems b/example.files/filesystems
new file mode 100644 (file)
index 0000000..74e1b51
--- /dev/null
@@ -0,0 +1,19 @@
+       ext2
+       vfat
+       umsdos
+       msdos
+       iso9660
+       minix
+       ntfs
+       hpfs
+       ufs
+       sysv
+       romfs
+       reiserfs
+nodev  autofs
+nodev  proc
+nodev  smbfs
+nodev  nfs
+nodev  coda
+nodev  devpts
+nodev  devfs
diff --git a/example.files/fstab b/example.files/fstab
new file mode 100644 (file)
index 0000000..eeb72f1
--- /dev/null
@@ -0,0 +1,21 @@
+# /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
+/dev/sda2      /               ext2    defaults        1    1
+none           /proc           proc    defaults        0    0
+/dev/sdb1      none            swap    defaults        0    0
+/dev/sdb2      /var            ext2    defaults        1    1
+/dev/sdc1      /usr            ext2    defaults        1    1
+/dev/sdc3      /usr/src        ext2    defaults        1    1
+/dev/sdc2      /home           ext2    defaults        1    1
+/dev/sdc4      /playpen        ext2    defaults        1    1
+
+/dev/sda1       /dos            msdos   noexec,conv=binary,gid=20,umask=007 0 0
+/dev/sdb3       /dos/usr        msdos   noexec,conv=binary,gid=20,umask=007 0 0
diff --git a/example.files/inittab b/example.files/inittab
new file mode 100644 (file)
index 0000000..2095190
--- /dev/null
@@ -0,0 +1,10 @@
+# inittab
+# Format:
+# ttyline:termcap-entry:getty-command
+tty1:linux:/sbin/getty 9600 tty1
+tty2:linux:/sbin/getty 9600 tty2
+tty3:linux:/sbin/getty 9600 tty3
+tty4:linux:/sbin/getty 9600 tty4
+tty5:linux:/sbin/getty 9600 tty5
+tty6:linux:/sbin/getty 9600 tty6
+ttyS1:vt100:/sbin/getty -Lh 19200 ttyS1
diff --git a/example.files/issue b/example.files/issue
new file mode 100644 (file)
index 0000000..4ad1ec5
--- /dev/null
@@ -0,0 +1,3 @@
+
+Welcome to winter, an i486 running BOGUS Release 1.0.1 Linux 1.1.90
+
diff --git a/example.files/issue0 b/example.files/issue0
new file mode 100644 (file)
index 0000000..285f71a
--- /dev/null
@@ -0,0 +1 @@
+This is \n (\s \m \r) \d
diff --git a/example.files/motd b/example.files/motd
new file mode 100644 (file)
index 0000000..842a6f3
--- /dev/null
@@ -0,0 +1,10 @@
+
+       |^^^^^^|
+       |      |        _____________________ 
+       |      |       /                     \
+       | (o)(o)      |                       |
+      @      _)      |     BOGUS man!!       |
+       | ,___|     ,,|                       |
+       |   /   ..''  |                       |
+      /____\          \_____________________/
+
diff --git a/example.files/securetty b/example.files/securetty
new file mode 100644 (file)
index 0000000..d874765
--- /dev/null
@@ -0,0 +1,5 @@
+tty1
+tty2
+tty3
+tty4
+ttyS1
diff --git a/example.files/shells b/example.files/shells
new file mode 100644 (file)
index 0000000..14b99f1
--- /dev/null
@@ -0,0 +1,4 @@
+/bin/sh
+/bin/bash
+/bin/csh
+/bin/tcsh
diff --git a/example.files/udev-raw.rules b/example.files/udev-raw.rules
new file mode 100644 (file)
index 0000000..2279c91
--- /dev/null
@@ -0,0 +1,11 @@
+# This file and interface are deprecated.
+# Applications needing raw device access should open regular
+# block devices with O_DIRECT.
+#
+# 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/fdisk/Makefile.am b/fdisk/Makefile.am
new file mode 100644 (file)
index 0000000..20906b5
--- /dev/null
@@ -0,0 +1,55 @@
+include $(top_srcdir)/config/include-Makefile.am
+
+EXTRA_DIST = README.fdisk README.cfdisk sfdisk.examples partitiontype.c
+
+fdisk_common = i386_sys_types.c common.h gpt.c gpt.h \
+       ../lib/blkdev.c ../lib/wholedisk.c
+
+if LINUX
+fdisk_common += ../lib/linux_version.c
+endif
+
+if !ARCH_M68K
+
+sbin_PROGRAMS = fdisk
+dist_man_MANS = fdisk.8
+fdisk_SOURCES = fdisk.c fdiskbsdlabel.c fdisksgilabel.c \
+       fdisksunlabel.c fdiskaixlabel.c fdiskmaclabel.c partname.c \
+       fdisk.h fdisksunlabel.h fdisksgilabel.h fdiskaixlabel.h \
+       fdiskbsdlabel.h fdiskmaclabel.h $(fdisk_common)
+
+if HAVE_STATIC_FDISK
+sbin_PROGRAMS += fdisk.static
+fdisk_static_SOURCES = $(fdisk_SOURCES)
+fdisk_static_LDFLAGS = $(LDFLAGS_STATIC)
+endif
+
+if !ARCH_SPARC
+
+sbin_PROGRAMS += sfdisk
+dist_man_MANS += sfdisk.8
+sfdisk_SOURCES = sfdisk.c partname.c $(fdisk_common)
+
+if HAVE_STATIC_SFDISK
+sbin_PROGRAMS += sfdisk.static
+sfdisk_static_SOURCES = $(sfdisk_SOURCES)
+sfdisk_static_LDFLAGS = $(LDFLAGS_STATIC)
+endif
+
+if USE_SLANG
+sbin_PROGRAMS += cfdisk
+dist_man_MANS += cfdisk.8
+cfdisk_SOURCES = cfdisk.c $(fdisk_common)
+cfdisk_LDADD = -lslang
+else
+if HAVE_NCURSES
+sbin_PROGRAMS += cfdisk
+dist_man_MANS += cfdisk.8
+cfdisk_SOURCES = cfdisk.c $(fdisk_common)
+cfdisk_LDADD = @NCURSES_LIBS@
+endif
+endif
+
+endif # !ARCH_SPARC
+endif # !ARCH_M68K
+
diff --git a/fdisk/Makefile.in b/fdisk/Makefile.in
new file mode 100644 (file)
index 0000000..8bfe89a
--- /dev/null
@@ -0,0 +1,824 @@
+# Makefile.in generated by automake 1.11 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@
+DIST_COMMON = $(am__dist_noinst_DATA_DIST) $(dist_man_MANS) \
+       $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+       $(top_srcdir)/config/include-Makefile.am
+@LINUX_TRUE@am__append_1 = ../lib/linux_version.c
+@ARCH_M68K_FALSE@sbin_PROGRAMS = fdisk$(EXEEXT) $(am__EXEEXT_1) \
+@ARCH_M68K_FALSE@      $(am__EXEEXT_2) $(am__EXEEXT_3) \
+@ARCH_M68K_FALSE@      $(am__EXEEXT_4) $(am__EXEEXT_5)
+@ARCH_M68K_FALSE@@HAVE_STATIC_FDISK_TRUE@am__append_2 = fdisk.static
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@am__append_3 = sfdisk
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@am__append_4 = sfdisk.8
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@@HAVE_STATIC_SFDISK_TRUE@am__append_5 = sfdisk.static
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@@USE_SLANG_TRUE@am__append_6 = cfdisk
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@@USE_SLANG_TRUE@am__append_7 = cfdisk.8
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@@HAVE_NCURSES_TRUE@@USE_SLANG_FALSE@am__append_8 = cfdisk
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@@HAVE_NCURSES_TRUE@@USE_SLANG_FALSE@am__append_9 = cfdisk.8
+subdir = fdisk
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.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)/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 =
+CONFIG_CLEAN_VPATH_FILES =
+@ARCH_M68K_FALSE@@HAVE_STATIC_FDISK_TRUE@am__EXEEXT_1 = fdisk.static$(EXEEXT)
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@am__EXEEXT_2 = sfdisk$(EXEEXT)
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@@HAVE_STATIC_SFDISK_TRUE@am__EXEEXT_3 = sfdisk.static$(EXEEXT)
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@@USE_SLANG_TRUE@am__EXEEXT_4 = cfdisk$(EXEEXT)
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@@HAVE_NCURSES_TRUE@@USE_SLANG_FALSE@am__EXEEXT_5 = cfdisk$(EXEEXT)
+am__installdirs = "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(man8dir)"
+PROGRAMS = $(sbin_PROGRAMS)
+am__cfdisk_SOURCES_DIST = cfdisk.c i386_sys_types.c common.h gpt.c \
+       gpt.h ../lib/blkdev.c ../lib/wholedisk.c \
+       ../lib/linux_version.c
+@LINUX_TRUE@am__objects_1 = linux_version.$(OBJEXT)
+am__objects_2 = i386_sys_types.$(OBJEXT) gpt.$(OBJEXT) \
+       blkdev.$(OBJEXT) wholedisk.$(OBJEXT) $(am__objects_1)
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@@HAVE_NCURSES_TRUE@@USE_SLANG_FALSE@am_cfdisk_OBJECTS = cfdisk.$(OBJEXT) \
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@@HAVE_NCURSES_TRUE@@USE_SLANG_FALSE@        $(am__objects_2)
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@@USE_SLANG_TRUE@am_cfdisk_OBJECTS = cfdisk.$(OBJEXT) \
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@@USE_SLANG_TRUE@    $(am__objects_2)
+cfdisk_OBJECTS = $(am_cfdisk_OBJECTS)
+cfdisk_DEPENDENCIES =
+am__fdisk_SOURCES_DIST = fdisk.c fdiskbsdlabel.c fdisksgilabel.c \
+       fdisksunlabel.c fdiskaixlabel.c fdiskmaclabel.c partname.c \
+       fdisk.h fdisksunlabel.h fdisksgilabel.h fdiskaixlabel.h \
+       fdiskbsdlabel.h fdiskmaclabel.h i386_sys_types.c common.h \
+       gpt.c gpt.h ../lib/blkdev.c ../lib/wholedisk.c \
+       ../lib/linux_version.c
+@ARCH_M68K_FALSE@am_fdisk_OBJECTS = fdisk.$(OBJEXT) \
+@ARCH_M68K_FALSE@      fdiskbsdlabel.$(OBJEXT) \
+@ARCH_M68K_FALSE@      fdisksgilabel.$(OBJEXT) \
+@ARCH_M68K_FALSE@      fdisksunlabel.$(OBJEXT) \
+@ARCH_M68K_FALSE@      fdiskaixlabel.$(OBJEXT) \
+@ARCH_M68K_FALSE@      fdiskmaclabel.$(OBJEXT) partname.$(OBJEXT) \
+@ARCH_M68K_FALSE@      $(am__objects_2)
+fdisk_OBJECTS = $(am_fdisk_OBJECTS)
+fdisk_LDADD = $(LDADD)
+am__fdisk_static_SOURCES_DIST = fdisk.c fdiskbsdlabel.c \
+       fdisksgilabel.c fdisksunlabel.c fdiskaixlabel.c \
+       fdiskmaclabel.c partname.c fdisk.h fdisksunlabel.h \
+       fdisksgilabel.h fdiskaixlabel.h fdiskbsdlabel.h \
+       fdiskmaclabel.h i386_sys_types.c common.h gpt.c gpt.h \
+       ../lib/blkdev.c ../lib/wholedisk.c ../lib/linux_version.c
+@ARCH_M68K_FALSE@am__objects_3 = fdisk.$(OBJEXT) \
+@ARCH_M68K_FALSE@      fdiskbsdlabel.$(OBJEXT) \
+@ARCH_M68K_FALSE@      fdisksgilabel.$(OBJEXT) \
+@ARCH_M68K_FALSE@      fdisksunlabel.$(OBJEXT) \
+@ARCH_M68K_FALSE@      fdiskaixlabel.$(OBJEXT) \
+@ARCH_M68K_FALSE@      fdiskmaclabel.$(OBJEXT) partname.$(OBJEXT) \
+@ARCH_M68K_FALSE@      $(am__objects_2)
+@ARCH_M68K_FALSE@@HAVE_STATIC_FDISK_TRUE@am_fdisk_static_OBJECTS =  \
+@ARCH_M68K_FALSE@@HAVE_STATIC_FDISK_TRUE@      $(am__objects_3)
+fdisk_static_OBJECTS = $(am_fdisk_static_OBJECTS)
+fdisk_static_LDADD = $(LDADD)
+fdisk_static_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+       $(fdisk_static_LDFLAGS) $(LDFLAGS) -o $@
+am__sfdisk_SOURCES_DIST = sfdisk.c partname.c i386_sys_types.c \
+       common.h gpt.c gpt.h ../lib/blkdev.c ../lib/wholedisk.c \
+       ../lib/linux_version.c
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@am_sfdisk_OBJECTS =  \
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@    sfdisk.$(OBJEXT) \
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@    partname.$(OBJEXT) \
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@    $(am__objects_2)
+sfdisk_OBJECTS = $(am_sfdisk_OBJECTS)
+sfdisk_LDADD = $(LDADD)
+am__sfdisk_static_SOURCES_DIST = sfdisk.c partname.c i386_sys_types.c \
+       common.h gpt.c gpt.h ../lib/blkdev.c ../lib/wholedisk.c \
+       ../lib/linux_version.c
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@am__objects_4 = sfdisk.$(OBJEXT) \
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@    partname.$(OBJEXT) \
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@    $(am__objects_2)
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@@HAVE_STATIC_SFDISK_TRUE@am_sfdisk_static_OBJECTS = $(am__objects_4)
+sfdisk_static_OBJECTS = $(am_sfdisk_static_OBJECTS)
+sfdisk_static_LDADD = $(LDADD)
+sfdisk_static_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+       $(sfdisk_static_LDFLAGS) $(LDFLAGS) -o $@
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+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) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+       --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+       --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+       $(LDFLAGS) -o $@
+SOURCES = $(cfdisk_SOURCES) $(fdisk_SOURCES) $(fdisk_static_SOURCES) \
+       $(sfdisk_SOURCES) $(sfdisk_static_SOURCES)
+DIST_SOURCES = $(am__cfdisk_SOURCES_DIST) $(am__fdisk_SOURCES_DIST) \
+       $(am__fdisk_static_SOURCES_DIST) $(am__sfdisk_SOURCES_DIST) \
+       $(am__sfdisk_static_SOURCES_DIST)
+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'
+man8dir = $(mandir)/man8
+NROFF = nroff
+MANS = $(dist_man_MANS)
+am__dist_noinst_DATA_DIST = fdisk.8 sfdisk.8 cfdisk.8
+DATA = $(dist_noinst_DATA)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BLKID = @BLKID@
+BLKID_CFLAGS = @BLKID_CFLAGS@
+BLKID_LIBS = @BLKID_LIBS@
+BLKID_LIBS_STATIC = @BLKID_LIBS_STATIC@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+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@
+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_VERSION = @LIBBLKID_VERSION@
+LIBBLKID_VERSION_INFO = @LIBBLKID_VERSION_INFO@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+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@
+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_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+POSUB = @POSUB@
+RANLIB = @RANLIB@
+SED = @SED@
+SELINUX_LIBS = @SELINUX_LIBS@
+SELINUX_LIBS_STATIC = @SELINUX_LIBS_STATIC@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SUID_CFLAGS = @SUID_CFLAGS@
+SUID_LDFLAGS = @SUID_LDFLAGS@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
+VERSION = @VERSION@
+VOLID = @VOLID@
+XGETTEXT = @XGETTEXT@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+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@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+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 $(top_builddir)/config.h -I$(top_srcdir)/include \
+       -DLOCALEDIR=\"$(localedir)\"
+
+AM_CFLAGS = -fsigned-char
+AM_LDFLAGS = 
+
+# 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)
+#
+# blkid
+ul_libblkid_srcdir = $(top_srcdir)/shlibs/blkid/src
+ul_libblkid_builddir = $(top_builddir)/shlibs/blkid/src
+ul_libblkid_la = $(top_builddir)/shlibs/blkid/src/libblkid.la
+
+# uuid
+ul_libuuid_srcdir = $(top_srcdir)/shlibs/uuid/src
+ul_libuuid_builddir = $(top_builddir)/shlibs/uuid/src
+ul_libuuid_la = $(top_builddir)/shlibs/uuid/src/libuuid.la
+EXTRA_DIST = README.fdisk README.cfdisk sfdisk.examples partitiontype.c
+fdisk_common = i386_sys_types.c common.h gpt.c gpt.h ../lib/blkdev.c \
+       ../lib/wholedisk.c $(am__append_1)
+@ARCH_M68K_FALSE@dist_man_MANS = fdisk.8 $(am__append_4) \
+@ARCH_M68K_FALSE@      $(am__append_7) $(am__append_9)
+@ARCH_M68K_FALSE@fdisk_SOURCES = fdisk.c fdiskbsdlabel.c fdisksgilabel.c \
+@ARCH_M68K_FALSE@      fdisksunlabel.c fdiskaixlabel.c fdiskmaclabel.c partname.c \
+@ARCH_M68K_FALSE@      fdisk.h fdisksunlabel.h fdisksgilabel.h fdiskaixlabel.h \
+@ARCH_M68K_FALSE@      fdiskbsdlabel.h fdiskmaclabel.h $(fdisk_common)
+
+@ARCH_M68K_FALSE@@HAVE_STATIC_FDISK_TRUE@fdisk_static_SOURCES = $(fdisk_SOURCES)
+@ARCH_M68K_FALSE@@HAVE_STATIC_FDISK_TRUE@fdisk_static_LDFLAGS = $(LDFLAGS_STATIC)
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@sfdisk_SOURCES = sfdisk.c partname.c $(fdisk_common)
+@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 = $(LDFLAGS_STATIC)
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@@HAVE_NCURSES_TRUE@@USE_SLANG_FALSE@cfdisk_SOURCES = cfdisk.c $(fdisk_common)
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@@USE_SLANG_TRUE@cfdisk_SOURCES = cfdisk.c $(fdisk_common)
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@@HAVE_NCURSES_TRUE@@USE_SLANG_FALSE@cfdisk_LDADD = @NCURSES_LIBS@
+@ARCH_M68K_FALSE@@ARCH_SPARC_FALSE@@USE_SLANG_TRUE@cfdisk_LDADD = -lslang
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/config/include-Makefile.am $(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 fdisk/Makefile'; \
+       $(am__cd) $(top_srcdir) && \
+         $(AUTOMAKE) --foreign fdisk/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):
+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
+cfdisk$(EXEEXT): $(cfdisk_OBJECTS) $(cfdisk_DEPENDENCIES) 
+       @rm -f cfdisk$(EXEEXT)
+       $(LINK) $(cfdisk_OBJECTS) $(cfdisk_LDADD) $(LIBS)
+fdisk$(EXEEXT): $(fdisk_OBJECTS) $(fdisk_DEPENDENCIES) 
+       @rm -f fdisk$(EXEEXT)
+       $(LINK) $(fdisk_OBJECTS) $(fdisk_LDADD) $(LIBS)
+fdisk.static$(EXEEXT): $(fdisk_static_OBJECTS) $(fdisk_static_DEPENDENCIES) 
+       @rm -f fdisk.static$(EXEEXT)
+       $(fdisk_static_LINK) $(fdisk_static_OBJECTS) $(fdisk_static_LDADD) $(LIBS)
+sfdisk$(EXEEXT): $(sfdisk_OBJECTS) $(sfdisk_DEPENDENCIES) 
+       @rm -f sfdisk$(EXEEXT)
+       $(LINK) $(sfdisk_OBJECTS) $(sfdisk_LDADD) $(LIBS)
+sfdisk.static$(EXEEXT): $(sfdisk_static_OBJECTS) $(sfdisk_static_DEPENDENCIES) 
+       @rm -f sfdisk.static$(EXEEXT)
+       $(sfdisk_static_LINK) $(sfdisk_static_OBJECTS) $(sfdisk_static_LDADD) $(LIBS)
+
+mostlyclean-compile:
+       -rm -f *.$(OBJEXT)
+
+distclean-compile:
+       -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/blkdev.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cfdisk.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fdisk.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fdiskaixlabel.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fdiskbsdlabel.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fdiskmaclabel.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fdisksgilabel.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fdisksunlabel.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gpt.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i386_sys_types.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linux_version.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/partname.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sfdisk.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wholedisk.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@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 $<
+
+.c.obj:
+@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@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 `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@   $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@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 $@ $<
+
+blkdev.o: ../lib/blkdev.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT blkdev.o -MD -MP -MF $(DEPDIR)/blkdev.Tpo -c -o blkdev.o `test -f '../lib/blkdev.c' || echo '$(srcdir)/'`../lib/blkdev.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/blkdev.Tpo $(DEPDIR)/blkdev.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/blkdev.c' object='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) $(AM_CFLAGS) $(CFLAGS) -c -o blkdev.o `test -f '../lib/blkdev.c' || echo '$(srcdir)/'`../lib/blkdev.c
+
+blkdev.obj: ../lib/blkdev.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT blkdev.obj -MD -MP -MF $(DEPDIR)/blkdev.Tpo -c -o 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__mv) $(DEPDIR)/blkdev.Tpo $(DEPDIR)/blkdev.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/blkdev.c' object='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) $(AM_CFLAGS) $(CFLAGS) -c -o blkdev.obj `if test -f '../lib/blkdev.c'; then $(CYGPATH_W) '../lib/blkdev.c'; else $(CYGPATH_W) '$(srcdir)/../lib/blkdev.c'; fi`
+
+wholedisk.o: ../lib/wholedisk.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT wholedisk.o -MD -MP -MF $(DEPDIR)/wholedisk.Tpo -c -o wholedisk.o `test -f '../lib/wholedisk.c' || echo '$(srcdir)/'`../lib/wholedisk.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/wholedisk.Tpo $(DEPDIR)/wholedisk.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/wholedisk.c' object='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) $(AM_CFLAGS) $(CFLAGS) -c -o wholedisk.o `test -f '../lib/wholedisk.c' || echo '$(srcdir)/'`../lib/wholedisk.c
+
+wholedisk.obj: ../lib/wholedisk.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT wholedisk.obj -MD -MP -MF $(DEPDIR)/wholedisk.Tpo -c -o 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__mv) $(DEPDIR)/wholedisk.Tpo $(DEPDIR)/wholedisk.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/wholedisk.c' object='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) $(AM_CFLAGS) $(CFLAGS) -c -o wholedisk.obj `if test -f '../lib/wholedisk.c'; then $(CYGPATH_W) '../lib/wholedisk.c'; else $(CYGPATH_W) '$(srcdir)/../lib/wholedisk.c'; fi`
+
+linux_version.o: ../lib/linux_version.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT linux_version.o -MD -MP -MF $(DEPDIR)/linux_version.Tpo -c -o linux_version.o `test -f '../lib/linux_version.c' || echo '$(srcdir)/'`../lib/linux_version.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/linux_version.Tpo $(DEPDIR)/linux_version.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/linux_version.c' object='linux_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) $(AM_CFLAGS) $(CFLAGS) -c -o linux_version.o `test -f '../lib/linux_version.c' || echo '$(srcdir)/'`../lib/linux_version.c
+
+linux_version.obj: ../lib/linux_version.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT linux_version.obj -MD -MP -MF $(DEPDIR)/linux_version.Tpo -c -o linux_version.obj `if test -f '../lib/linux_version.c'; then $(CYGPATH_W) '../lib/linux_version.c'; else $(CYGPATH_W) '$(srcdir)/../lib/linux_version.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/linux_version.Tpo $(DEPDIR)/linux_version.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/linux_version.c' object='linux_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) $(AM_CFLAGS) $(CFLAGS) -c -o linux_version.obj `if test -f '../lib/linux_version.c'; then $(CYGPATH_W) '../lib/linux_version.c'; else $(CYGPATH_W) '$(srcdir)/../lib/linux_version.c'; fi`
+
+mostlyclean-libtool:
+       -rm -f *.lo
+
+clean-libtool:
+       -rm -rf .libs _libs
+install-man8: $(dist_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)'; 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)'; 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; }
+
+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:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       set x; \
+       here=`pwd`; \
+       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; }; }'`; \
+       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:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       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; }; }'`; \
+       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
+
+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
+       @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 $(PROGRAMS) $(MANS) $(DATA)
+installdirs:
+       for dir in "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(man8dir)"; do \
+         test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+       done
+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:
+
+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)
+
+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-sbinPROGRAMS \
+       mostlyclean-am
+
+distclean: distclean-am
+       -rm -rf ./$(DEPDIR)
+       -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+       distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-man
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-sbinPROGRAMS
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man: install-man8
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+       -rm -rf ./$(DEPDIR)
+       -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+       mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-man uninstall-sbinPROGRAMS
+
+uninstall-man: uninstall-man8
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+       clean-libtool clean-sbinPROGRAMS ctags distclean \
+       distclean-compile distclean-generic distclean-libtool \
+       distclean-tags distdir dvi dvi-am html html-am info info-am \
+       install install-am install-data install-data-am install-dvi \
+       install-dvi-am install-exec install-exec-am install-html \
+       install-html-am install-info install-info-am install-man \
+       install-man8 install-pdf install-pdf-am install-ps \
+       install-ps-am install-sbinPROGRAMS install-strip installcheck \
+       installcheck-am installdirs maintainer-clean \
+       maintainer-clean-generic mostlyclean mostlyclean-compile \
+       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+       tags uninstall uninstall-am uninstall-man uninstall-man8 \
+       uninstall-sbinPROGRAMS
+
+
+$(ul_libblkid_la):
+       $(MAKE) -C $(ul_libblkid_builddir)
+
+$(ul_libuuid_la):
+       $(MAKE) -C $(ul_libuuid_builddir)
+
+# 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/fdisk/README.cfdisk b/fdisk/README.cfdisk
new file mode 100644 (file)
index 0000000..5241ad1
--- /dev/null
@@ -0,0 +1,45 @@
+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.
+
+
+You can FTP cfdisk from ftp.cs.unc.edu in the /pub/martin/linux
+directory.
+
+I would also like comments (good and bad) on the user interface, logic
+and ease of use.  If you have any suggestions for improvements, I
+would be happy to hear them.
+
+My e-mail address is martin@cs.unc.edu.
+
+-------------------------------------------------------------------
+
+    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 cfdisk; if not, write to the Free Software Foundation,
+Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+___
+Kevin E. Martin               University of North Carolina at Chapel Hill
+martin@cs.unc.edu                          Department of Computer Science
diff --git a/fdisk/README.fdisk b/fdisk/README.fdisk
new file mode 100644 (file)
index 0000000..69cfff6
--- /dev/null
@@ -0,0 +1,583 @@
+`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 centre 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 initialise
+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 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.
+
+The disk space you need for Linux is discussed in README.prepare.
+
+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 cyliners, 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/fdisk/cfdisk.8 b/fdisk/cfdisk.8
new file mode 100644 (file)
index 0000000..703ee19
--- /dev/null
@@ -0,0 +1,446 @@
+.\" 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 "3 June 1995" "The BOGUS Linux Release" "Linux Programmer's Manual"
+.SH NAME
+cfdisk \- Curses based disk partition table manipulator for Linux
+.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
+
+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-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/fdisk/cfdisk.c b/fdisk/cfdisk.c
new file mode 100644 (file)
index 0000000..1846e11
--- /dev/null
@@ -0,0 +1,3026 @@
+/****************************************************************************
+ *
+ *     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 cfdisk; if not, write to the Free Software Foundation,
+ * Inc., 675 Mass Ave, Cambridge, MA 02139, 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_SLCURSES_H
+#include <slcurses.h>
+#elif defined(HAVE_SLANG_SLCURSES_H)
+#include <slang/slcurses.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>
+
+#include "nls.h"
+#include "blkdev.h"
+#include "xstrncpy.h"
+#include "common.h"
+#include "gpt.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 CR '\015'
+#define ESC '\033'
+#define DEL '\177'
+#define BELL '\007'
+#define TAB '\011'
+#define REDRAWKEY '\014'       /* ^L */
+#define UPKEY '\020'           /* ^P */
+#define DOWNKEY '\016'         /* ^N */
+
+/* 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 total_size = 0;      /* actual_size rounded down */
+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)
+
+#define is_dos_partition(x) ((x) == 1 || (x) == 4 || (x) == 6)
+#define may_have_dos_label(x) (is_dos_partition(x) \
+   || (x) == 7 || (x) == 0xb || (x) == 0xc || (x) == 0xe \
+   || (x) == 0x11 || (x) == 0x14 || (x) == 0x16 || (x) == 0x17)
+
+/* 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 8
+    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].id == LINUX) {
+        if (!strcmp(p_info[i].fstype, "ext2"))
+             return _("Linux ext2");
+        else if (!strcmp(p_info[i].fstype, "ext3"))
+             return _("Linux ext3");
+        else if (!strcmp(p_info[i].fstype, "xfs"))
+             return _("Linux XFS");
+        else if (!strcmp(p_info[i].fstype, "jfs"))
+             return _("Linux JFS");
+        else if (!strcmp(p_info[i].fstype, "reiserfs"))
+             return _("Linux ReiserFS");
+        else
+             return _("Linux");
+    } else if (p_info[i].id == OS2_OR_NTFS) {
+        if (!strncmp(p_info[i].fstype, "HPFS", 4))
+             return _("OS/2 HPFS");
+        else if (!strncmp(p_info[i].ostype, "OS2", 3))
+             return _("OS/2 IFS");
+        else if (!p_info[i].ostype)
+             return p_info[i].ostype;
+        else
+             return _("NTFS");
+    } else
+        return _(partition_type_name(p_info[i].id));
+}
+
+static void
+fdexit(int ret) {
+    if (opened)
+       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);
+}
+
+static int
+get_string(char *str, int len, char *def) {
+    unsigned char c;
+    int i = 0;
+    int x, y;
+    int use_def = FALSE;
+
+    getyx(stdscr, y, x);
+    clrtoeol();
+
+    str[i] = 0;
+
+    if (def != NULL) {
+       mvaddstr(y, x, def);
+       move(y, x);
+       use_def = TRUE;
+    }
+
+    refresh();
+    while ((c = getch()) != '\n' && c != CR) {
+       switch (c) {
+       case ESC:
+           move(y, x);
+           clrtoeol();
+           refresh();
+           return GS_ESCAPE;
+       case DEL:
+       case '\b':
+           if (i > 0) {
+               str[--i] = 0;
+               mvaddch(y, x+i, ' ');
+               move(y, x+i);
+           } else if (use_def) {
+               clrtoeol();
+               use_def = FALSE;
+           } else
+               putchar(BELL);
+           break;
+       default:
+           if (i < len && isprint(c)) {
+               mvaddch(y, x+i, c);
+               if (use_def) {
+                   clrtoeol();
+                   use_def = FALSE;
+               }
+               str[i++] = c;
+               str[i] = 0;
+           } 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) > COLS)
+            str[COLS] = 0;
+        mvaddstr(WARNING_START, (COLS-strlen(str))/2, str);
+        sprintf(str, "%s", err2);
+        if (strlen(str) > 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) {
+    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);
+}
+
+static void
+dos_copy_to_info(char *to, int tosz, char *from, int fromsz) {
+     int i;
+
+     for(i=0; i<tosz && i<fromsz && isascii(from[i]); i++)
+         to[i] = from[i];
+     to[i] = 0;
+}
+
+static void
+get_dos_label(int i) {
+       char sector[128];
+#define DOS_OSTYPE_OFFSET 3
+#define DOS_LABEL_OFFSET 43
+#define DOS_FSTYPE_OFFSET 54
+#define DOS_OSTYPE_SZ 8
+#define DOS_LABEL_SZ 11
+#define DOS_FSTYPE_SZ 8
+       long long offset;
+
+       offset = (p_info[i].first_sector + p_info[i].offset) * SECTOR_SIZE;
+       if (lseek(fd, offset, SEEK_SET) == offset
+           && read(fd, &sector, sizeof(sector)) == sizeof(sector)) {
+               dos_copy_to_info(p_info[i].ostype, OSTYPESZ,
+                                sector+DOS_OSTYPE_OFFSET, DOS_OSTYPE_SZ);
+               dos_copy_to_info(p_info[i].volume_label, LABELSZ,
+                                sector+DOS_LABEL_OFFSET, DOS_LABEL_SZ);
+               dos_copy_to_info(p_info[i].fstype, FSTYPESZ,
+                                sector+DOS_FSTYPE_OFFSET, DOS_FSTYPE_SZ);
+       }
+}
+
+#define REISERFS_SUPER_MAGIC_STRING "ReIsErFs"
+#define REISER2FS_SUPER_MAGIC_STRING "ReIsEr2Fs"
+struct reiserfs_super_block {
+       char s_dummy0[52];
+       char s_magic [10];
+       char s_dummy1[38];
+       u_char s_label[16];
+};
+#define REISERFSLABELSZ sizeof(reiserfsb.s_label)
+
+static int
+has_reiserfs_magic_string(const struct reiserfs_super_block *rs, int *is_3_6) {
+       if (!strncmp(rs->s_magic, REISERFS_SUPER_MAGIC_STRING,
+                    strlen(REISERFS_SUPER_MAGIC_STRING))) {
+               *is_3_6 = 0;
+               return 1;
+       }
+       if (!strncmp(rs->s_magic, REISER2FS_SUPER_MAGIC_STRING,
+                    strlen(REISER2FS_SUPER_MAGIC_STRING))) {
+               *is_3_6 = 1;
+               return 1;
+       }
+       return 0;
+}
+
+static void
+get_linux_label(int i) {
+
+#define EXT2LABELSZ 16
+#define EXT2_SUPER_MAGIC 0xEF53
+#define EXT3_FEATURE_COMPAT_HAS_JOURNAL 0x0004
+       struct ext2_super_block {
+               char  s_dummy0[56];
+               unsigned char  s_magic[2];
+               char  s_dummy1[34];
+               unsigned char  s_feature_compat[4];
+               char  s_dummy2[24];
+               char  s_volume_name[EXT2LABELSZ];
+               char  s_last_mounted[64];
+               char  s_dummy3[824];
+       } e2fsb;
+
+#define REISERFS_DISK_OFFSET_IN_BYTES (64 * 1024)
+       struct reiserfs_super_block reiserfsb;
+       int reiserfs_is_3_6;
+
+#define JFS_SUPER1_OFF 0x8000
+#define JFS_MAGIC      "JFS1"
+#define JFSLABELSZ     16
+       struct jfs_super_block {
+               char    s_magic[4];
+               u_char  s_version[4];
+               u_char  s_dummy1[93];
+               char    s_fpack[11];
+               u_char  s_dummy2[24];
+               u_char  s_uuid[16];
+               char    s_label[JFSLABELSZ];
+       } jfsb;
+
+#define XFS_SUPER_MAGIC "XFSB"
+#define XFSLABELSZ 12
+       struct xfs_super_block {
+               unsigned char   s_magic[4];
+               unsigned char   s_dummy0[104];
+               unsigned char   s_fname[XFSLABELSZ];
+               unsigned char   s_dummy1[904];
+       } xfsb;
+
+       char *label;
+       long long offset;
+       int j;
+
+       offset = (p_info[i].first_sector + p_info[i].offset) * SECTOR_SIZE
+               + 1024;
+       if (lseek(fd, offset, SEEK_SET) == offset
+           && read(fd, &e2fsb, sizeof(e2fsb)) == sizeof(e2fsb)
+           && e2fsb.s_magic[0] + (e2fsb.s_magic[1]<<8) == EXT2_SUPER_MAGIC) {
+               label = e2fsb.s_volume_name;
+               for(j=0; j<EXT2LABELSZ && j<LABELSZ && isprint(label[j]); j++)
+                       p_info[i].volume_label[j] = label[j];
+               p_info[i].volume_label[j] = 0;
+               /* ext2 or ext3? */
+               if (e2fsb.s_feature_compat[0]&EXT3_FEATURE_COMPAT_HAS_JOURNAL)
+                       strncpy(p_info[i].fstype, "ext3", FSTYPESZ);
+               else
+                       strncpy(p_info[i].fstype, "ext2", FSTYPESZ);
+               return;
+       }
+
+       offset = (p_info[i].first_sector + p_info[i].offset) * SECTOR_SIZE + 0;
+       if (lseek(fd, offset, SEEK_SET) == offset
+           && read(fd, &xfsb, sizeof(xfsb)) == sizeof(xfsb)
+           && !strncmp((char *) xfsb.s_magic, XFS_SUPER_MAGIC, 4)) {
+               label = (char *) xfsb.s_fname;
+               for(j=0; j<XFSLABELSZ && j<LABELSZ && isprint(label[j]); j++)
+                       p_info[i].volume_label[j] = label[j];
+               p_info[i].volume_label[j] = 0;
+               strncpy(p_info[i].fstype, "xfs", FSTYPESZ);
+               return;
+       }
+
+       /* jfs? */
+       offset = (p_info[i].first_sector + p_info[i].offset) * SECTOR_SIZE
+               + JFS_SUPER1_OFF;
+       if (lseek(fd, offset, SEEK_SET) == offset
+           && read(fd, &jfsb, sizeof(jfsb)) == sizeof(jfsb)
+           && !strncmp(jfsb.s_magic, JFS_MAGIC, strlen(JFS_MAGIC))) {
+               label = jfsb.s_label;
+               for(j=0; j<JFSLABELSZ && j<LABELSZ && isprint(label[j]); j++)
+                       p_info[i].volume_label[j] = label[j];
+               p_info[i].volume_label[j] = 0;
+               strncpy(p_info[i].fstype, "jfs", FSTYPESZ);
+               return;
+       }
+
+       /* reiserfs? */
+       offset = (p_info[i].first_sector + p_info[i].offset) * SECTOR_SIZE
+               + REISERFS_DISK_OFFSET_IN_BYTES;
+       if (lseek(fd, offset, SEEK_SET) == offset
+           && read(fd, &reiserfsb, sizeof(reiserfsb)) == sizeof(reiserfsb)
+           && has_reiserfs_magic_string(&reiserfsb, &reiserfs_is_3_6)) {
+               if (reiserfs_is_3_6) {
+                       /* label only on version 3.6 onward */
+                       label = (char *) reiserfsb.s_label;
+                       for(j=0; j<REISERFSLABELSZ && j<LABELSZ &&
+                                   isprint(label[j]); j++)
+                               p_info[i].volume_label[j] = label[j];
+                       p_info[i].volume_label[j] = 0;
+               }
+               strncpy(p_info[i].fstype, "reiserfs", FSTYPESZ);
+               return;
+       }
+}
+
+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 = total_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 >= total_size) {
+       *errmsg = _("Partition begins after end-of-disk");
+       return -1;
+    }
+
+    if (last >= actual_size) {
+       *errmsg = _("Partition ends after end-of-disk");
+       return -1;
+    }
+
+    if (last >= total_size) {
+       *errmsg = _("Partition ends in the final partial cylinder");
+       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;
+    if (want_label) {
+        if (may_have_dos_label(id))
+             get_dos_label(i);
+        else if (id == LINUX)
+             get_linux_label(i);
+    }
+
+    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_HORIZ 1
+#define MENU_VERT 2
+#define MENU_ACCEPT_OTHERS 4
+#define MENU_BUTTON 8
+/* Miscellenous constants */
+#define MENU_SPACING 2
+#define MENU_MAX_ITEMS 256 /* for simpleMenu function */
+#define MENU_UP 1
+#define MENU_DOWN 2
+#define MENU_RIGHT 3
+#define MENU_LEFT 4
+
+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, ymargin = y;
+    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 (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 */
+        if( menuType & MENU_VERT )
+        {
+            y += 1;
+            if( y >= WARNING_START )
+            {
+                y = ymargin;
+                x += itemLength + MENU_SPACING;
+                if( menuType & MENU_BUTTON ) x += 2;
+            }
+        }
+        else
+        {
+            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;
+
+    if( !( menuType & ( MENU_HORIZ | MENU_VERT ) ) ) {
+        print_warning(_("Menu without direction. Defaulting to horizontal."));
+        menuType |= MENU_HORIZ;
+    }
+
+    /* Make sure that the current is one of the available items */
+    while( !strchr(available, menuItems[current].key) ) {
+        current ++ ;
+        if( !menuItems[current].key ) current = 0;
+    }
+
+    /* 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();
+
+        /* Clear out all prompts and such */
+        clear_warning();
+        for (i = y; i < ylast; i++) {
+            move(i, x);
+            clrtoeol();
+        }
+        move( WARNING_START + 1, 0 );
+        clrtoeol();
+
+        /* Cursor keys - possibly split by slow connection */
+        if( key == ESC ) {
+            /* Check whether this is a real ESC or one of extended keys */
+            /*nodelay(stdscr, TRUE);*/
+            key = getch();
+            /*nodelay(stdscr, FALSE);*/
+
+            if( key == /*ERR*/ ESC ) {
+                /* This is a real ESC */
+                key = ESC;
+            }
+            if(key == '[' || key == 'O') {
+                /* This is one extended keys */
+               key = getch();
+
+                switch(key) {
+                    case 'A': /* Up arrow */
+                       key = MENU_UP;
+                        break;
+                    case 'B': /* Down arrow */
+                        key = MENU_DOWN;
+                        break;
+                    case 'C': /* Right arrow */
+                        key = MENU_RIGHT;
+                        break;
+                    case 'D': /* Left arrow */
+                        key = MENU_LEFT;
+                        break;
+                   default:
+                       key = 0;
+                }
+            }
+        }
+
+        /* Enter equals the keyboard shortcut of current menu item */
+        if (key == CR)
+            key = menuItems[current].key;
+
+       /* Give alternatives for arrow keys in case the window manager
+          swallows these */
+       if (key == TAB)
+           key = MENU_RIGHT;
+        if (key == UPKEY)      /* ^P */
+           key = MENU_UP;
+       if (key == DOWNKEY)     /* ^N */
+           key = MENU_DOWN;
+
+       if (key == MENU_UP) {
+           if( menuType & MENU_VERT ) {
+                do {
+                    current -- ;
+                    if( current < 0 )
+                       while( menuItems[current+1].key )
+                           current ++ ;
+                } while( !strchr( available, menuItems[current].key ));
+                key = 0;
+            }
+       }
+
+       if (key == MENU_DOWN) {
+            if( menuType & MENU_VERT ) {
+                do {
+                    current ++ ;
+                   if( !menuItems[current].key ) current = 0 ;
+               } while( !strchr( available, menuItems[current].key ));
+               key = 0;
+           }
+       }
+
+       if (key == MENU_RIGHT) {
+           if( menuType & MENU_HORIZ ) {
+               do {
+                   current ++ ;
+                   if( !menuItems[current].key )
+                       current = 0 ;
+               } while( !strchr( available, menuItems[current].key ));
+               key = 0;
+           }
+       }
+
+       if (key == MENU_LEFT) {
+            if( menuType & MENU_HORIZ ) {
+                do {
+                    current -- ;
+                    if( current < 0 ) {
+                        while( menuItems[current + 1].key )
+                             current ++ ;
+                    }
+                } while( !strchr( available, menuItems[current].key ));
+                key = 0;
+            }
+       }
+
+        /* 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"));
+        }
+    }
+
+    /* 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_HORIZ | 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_HORIZ | 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) {
+#ifdef HAVE_RPMATCH
+       char reply[2];
+       int yn;
+
+       reply[0] = answer;
+       reply[1] = 0;
+       yn = rpmatch(reply);    /* 1: yes, 0: no, -1: ? */
+       if (yn >= 0)
+               return yn;
+#endif
+       return (answer == 'y' || answer == 'Y');
+}
+
+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;
+
+    total_size = cylinder_size*cylinders;
+    if (total_size > 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 = total_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 = { 0, 0, 0, 0, FREE_SPACE, 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, 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();
+        sleep(2);
+        if (!ioctl(fd,BLKRRPART))
+             changed = TRUE;
+#endif
+        sync();
+        sleep(4);
+
+        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;
+
+    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 file '%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 file '%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 file '%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 = total_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, 2, 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 int
+draw_cursor(int move) {
+    if (move != 0 && (cur_part + move < 0 || cur_part + move >= num_parts))
+       return -1;
+
+    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();
+    }
+
+    return 0;
+}
+
+static void
+do_curses_fdisk(void) {
+    int done = FALSE;
+    char command;
+
+    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;
+
+       (void)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_HORIZ | MENU_BUTTON | MENU_ACCEPT_OTHERS, 0);
+       } 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_HORIZ | MENU_BUTTON | MENU_ACCEPT_OTHERS, 0);
+       } else {
+           s = ((opentype == O_RDWR) ? "hpquW" : "hpqu");
+           command = menuSelect(COMMAND_LINE_Y, COMMAND_LINE_X, menuMain, 10,
+               s, MENU_HORIZ | MENU_BUTTON | MENU_ACCEPT_OTHERS, 0);
+       }
+       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 MENU_UP : /* Up arrow */
+           if (!draw_cursor(-1))
+               command = 0;
+           else
+               print_warning(_("No more partitions"));
+           break;
+       case MENU_DOWN : /* Down arrow */
+           if (!draw_cursor(1))
+               command = 0;
+           else
+               print_warning(_("No more partitions"));
+           break;
+       case REDRAWKEY:
+           clear();
+           draw_screen();
+           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);
+
+    while ((c = getopt(argc, argv, "ac:gh:s:vzP:")) != -1)
+       switch (c) {
+       case 'a':
+           arrow_cursor = TRUE;
+           break;
+       case 'c':
+           user_cylinders = cylinders = atoll(optarg);
+           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 = atoi(optarg);
+           if (heads <= 0 || heads > MAX_HEADS) {
+               fprintf(stderr, "%s: %s\n", argv[0], _("Illegal heads value"));
+               exit(1);
+           }
+           break;
+       case 's':
+           user_sectors = sectors = atoi(optarg);
+           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/fdisk/common.h b/fdisk/common.h
new file mode 100644 (file)
index 0000000..352b9a5
--- /dev/null
@@ -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/fdisk/fdisk.8 b/fdisk/fdisk.8
new file mode 100644 (file)
index 0000000..c04972f
--- /dev/null
@@ -0,0 +1,265 @@
+.\" Copyright 1992, 1993 Rickard E. Faith (faith@cs.unc.edu)
+.\" Copyright 1998 Andries E. Brouwer (aeb@cwi.nl)
+.\" May be distributed under the GNU General Public License
+.TH FDISK 8 "11 June 1998" "Linux 2.0" "Linux Programmer's Manual"
+.SH NAME
+fdisk \- Partition table manipulator for Linux
+.SH SYNOPSIS
+.B fdisk
+.RB [ \-u ]
+.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
+.SH DESCRIPTION
+Hard disks can be divided into one or more logical disks called
+.IR partitions .
+This division is described in the
+.I "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.
+
+.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
+doesn't understand GUID Partition Table (GPT) and
+it is not designed for large partitions. In particular case use more advanced GNU
+.BR parted (8).
+
+The
+.I device
+is usually /dev/sda, /dev/sdb or so. A device name refers to the entire disk.
+The 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 a case the device name will be /dev/hd* (IDE) or /dev/sd*
+(SCSI).
+
+The
+.I partition
+is a
+.I device
+name followed by a partition number.  For example,
+.B /dev/sda1
+is the first partition on the first hard disk in the system.
+See also Linux kernel documentation (the Documentation/devices.txt file).
+
+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 and make some file system 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 different
+problems. First of all, these C/H/S fields can be filled only
+when the number of heads and the number of sectors per track
+are known. Secondly, 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 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 the 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 a BLKRRPART ioctl() (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.)
+.TP
+.BI "\-C " cyls
+Specify the number of cylinders of the disk.
+I have no idea why anybody would want to do so.
+.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.
+.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.
+.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
+.B \-u
+When listing partition tables, give sizes in sectors instead
+of cylinders.
+.TP
+.BI "\-s " partition
+The
+.I size
+of the partition (in blocks) is printed on the standard output.
+.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
+These days there also is
+.BR parted .
+The cfdisk interface is nicer, but parted does much more: it not only
+resizes partitions, but also the filesystems that live in them.
+.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 "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-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/fdisk/fdisk.c b/fdisk/fdisk.c
new file mode 100644 (file)
index 0000000..aaa01a8
--- /dev/null
@@ -0,0 +1,2831 @@
+/* fdisk.c -- Partition table manipulator for Linux.
+ *
+ * Copyright (C) 1992  A. V. Le Blanc (LeBlanc@mcc.ac.uk)
+ *
+ * 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 <setjmp.h>
+#include <errno.h>
+#include <getopt.h>
+#include <sys/stat.h>
+#include <sys/time.h>
+#include <time.h>
+#include <limits.h>
+
+#include "nls.h"
+#include "blkdev.h"
+#include "common.h"
+#include "fdisk.h"
+#include "wholedisk.h"
+
+#include "fdisksunlabel.h"
+#include "fdisksgilabel.h"
+#include "fdiskaixlabel.h"
+#include "fdiskmaclabel.h"
+
+#ifdef HAVE_LINUX_COMPILER_H
+#include <linux/compiler.h>
+#endif
+#ifdef HAVE_LINUX_BLKPG_H
+#include <linux/blkpg.h>
+#endif
+
+#include "gpt.h"
+
+static void delete_partition(int i);
+
+#define hex_val(c)     ({ \
+                               char _c = (c); \
+                               isdigit(_c) ? _c - '0' : \
+                               tolower(_c) + 10 - 'a'; \
+                       })
+
+
+#define LINE_LENGTH    800
+#define pt_offset(b, n)        ((struct partition *)((b) + 0x1be + \
+                               (n) * sizeof(struct partition)))
+#define sector(s)      ((s) & 0x3f)
+#define cylinder(s, c) ((c) | (((s) & 0xc0) << 2))
+
+#define hsc2sector(h,s,c) (sector(s) - 1 + sectors * \
+                               ((h) + heads * cylinder(s,c)))
+#define set_hsc(h,s,c,sector) { \
+                               s = sector % sectors + 1;       \
+                               sector /= sectors;      \
+                               h = sector % heads;     \
+                               sector /= heads;        \
+                               c = sector & 0xff;      \
+                               s |= (sector >> 2) & 0xc0;      \
+                       }
+
+/* A valid partition table sector ends in 0x55 0xaa */
+static unsigned int
+part_table_flag(unsigned char *b) {
+       return ((unsigned int) b[510]) + (((unsigned int) b[511]) << 8);
+}
+
+int
+valid_part_table_flag(unsigned char *b) {
+       return (b[510] == 0x55 && b[511] == 0xaa);
+}
+
+static void
+write_part_table_flag(unsigned char *b) {
+       b[510] = 0x55;
+       b[511] = 0xaa;
+}
+
+/* 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(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 void
+set_start_sect(struct partition *p, unsigned int start_sect) {
+       store4_little_endian(p->start4, start_sect);
+}
+
+unsigned long long
+get_start_sect(struct partition *p) {
+       return read4_little_endian(p->start4);
+}
+
+static void
+set_nr_sects(struct partition *p, unsigned long long nr_sects) {
+       store4_little_endian(p->size4, nr_sects);
+}
+
+unsigned long long
+get_nr_sects(struct partition *p) {
+       return read4_little_endian(p->size4);
+}
+
+static ssize_t
+xread(int fd, void *buf, size_t count) {
+        char *p = buf;
+        ssize_t out = 0;
+        ssize_t rv;
+
+        while (count) {
+                rv = read(fd, p, count);
+                if (rv == -1) {
+                        if (errno == EINTR || errno == EAGAIN)
+                                continue;
+                        return out ? out : -1; /* Error */
+                } else if (rv == 0) {
+                        return out; /* EOF */
+                }
+
+                p += rv;
+                out += rv;
+                count -= rv;
+        }
+
+        return out;
+}
+
+static unsigned int
+get_random_id(void) {
+       int fd;
+       unsigned int v;
+       ssize_t rv = -1;
+       struct timeval tv;
+
+       fd = open("/dev/urandom", O_RDONLY);
+       if (fd >= 0) {
+               rv = xread(fd, &v, sizeof v);
+               close(fd);
+       }
+
+       if (rv == sizeof v)
+               return v;
+
+       /* Fallback: sucks, but better than nothing */
+       gettimeofday(&tv, NULL);
+       return (unsigned int)(tv.tv_sec + (tv.tv_usec << 12) + getpid());
+}
+
+/* normally O_RDWR, -l option gives O_RDONLY */
+static int type_open = O_RDWR;
+
+/*
+ * Raw disk label. For DOS-type partition tables the MBR,
+ * with descriptions of the primary partitions.
+ */
+unsigned char MBRbuffer[MAX_SECTOR_SIZE];
+
+/*
+ * 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 */
+       unsigned long long offset;      /* disk sector number */
+       unsigned char *sectorbuffer;    /* disk sector contents */
+} ptes[MAXIMUM_PARTS];
+
+char   *disk_device,                   /* must be specified */
+       *line_ptr,                      /* interactive input */
+       line_buffer[LINE_LENGTH];
+
+int    fd,                             /* the disk */
+       ext_index,                      /* the prime extended partition */
+       listing = 0,                    /* no aborts for fdisk -l */
+       nowarn = 0,                     /* no warnings for fdisk -l/-s */
+       dos_compatible_flag = ~0,
+       dos_changed = 0,
+       partitions = 4;                 /* maximum partition + 1 */
+
+unsigned int   user_cylinders, user_heads, user_sectors;
+unsigned int   pt_heads, pt_sectors;
+unsigned int   kern_heads, kern_sectors;
+
+unsigned long long sector_offset = 1, extended_offset = 0, sectors;
+
+unsigned int   heads,
+       cylinders,
+       sector_size = DEFAULT_SECTOR_SIZE,
+       sector_factor = 1,
+       user_set_sector_size = 0,
+       units_per_sector = 1,
+       display_in_cyl_units = 1;
+
+unsigned long long total_number_of_sectors;    /* (!) 512-byte sectors */
+
+#define dos_label (!sun_label && !sgi_label && !aix_label && !mac_label && !osf_label)
+int    sun_label = 0;                  /* looking at sun disklabel */
+int    sgi_label = 0;                  /* looking at sgi disklabel */
+int    aix_label = 0;                  /* looking at aix disklabel */
+int    osf_label = 0;                  /* looking at OSF/1 disklabel */
+int    mac_label = 0;                  /* looking at mac disklabel */
+int    possibly_osf_label = 0;
+
+jmp_buf listingbuf;
+
+void fatal(enum failure why) {
+       char    error[LINE_LENGTH],
+               *message = error;
+
+       if (listing) {
+               close(fd);
+               longjmp(listingbuf, 1);
+       }
+
+       switch (why) {
+               case usage: message = _(
+"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");
+                       break;
+               case usage2:
+                 /* msg in cases where fdisk used to probe */
+                       message = _(
+"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");
+                       break;
+               case unable_to_open:
+                       snprintf(error, sizeof(error),
+                                _("Unable to open %s\n"), disk_device);
+                       break;
+               case unable_to_read:
+                       snprintf(error, sizeof(error),
+                                _("Unable to read %s\n"), disk_device);
+                       break;
+               case unable_to_seek:
+                       snprintf(error, sizeof(error),
+                               _("Unable to seek on %s\n"),disk_device);
+                       break;
+               case unable_to_write:
+                       snprintf(error, sizeof(error),
+                               _("Unable to write %s\n"), disk_device);
+                       break;
+               case ioctl_error:
+                       snprintf(error, sizeof(error),
+                                _("BLKGETSIZE ioctl failed on %s\n"),
+                               disk_device);
+                       break;
+               case out_of_memory:
+                       message = _("Unable to allocate any more memory\n");
+                       break;
+               default:
+                       message = _("Fatal error\n");
+       }
+
+       fputc('\n', stderr);
+       fputs(message, stderr);
+       exit(1);
+}
+
+static void
+seek_sector(int fd, unsigned long long secno) {
+       off_t offset = (off_t) secno * sector_size;
+       if (lseek(fd, offset, SEEK_SET) == (off_t) -1)
+               fatal(unable_to_seek);
+}
+
+static void
+read_sector(int fd, unsigned long long secno, unsigned char *buf) {
+       seek_sector(fd, secno);
+       if (read(fd, buf, sector_size) != sector_size)
+               fatal(unable_to_read);
+}
+
+static void
+write_sector(int fd, unsigned long long secno, unsigned char *buf) {
+       seek_sector(fd, secno);
+       if (write(fd, buf, sector_size) != sector_size)
+               fatal(unable_to_write);
+}
+
+/* Allocate a buffer and read a partition table sector */
+static void
+read_pte(int fd, int pno, unsigned long long offset) {
+       struct pte *pe = &ptes[pno];
+
+       pe->offset = offset;
+       pe->sectorbuffer = malloc(sector_size);
+       if (!pe->sectorbuffer)
+               fatal(out_of_memory);
+       read_sector(fd, offset, pe->sectorbuffer);
+       pe->changed = 0;
+       pe->part_table = pe->ext_pointer = NULL;
+}
+
+static unsigned long long
+get_partition_start(struct pte *pe) {
+       return pe->offset + get_start_sect(pe->part_table);
+}
+
+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;
+}
+
+/*
+ * 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".
+ */
+static 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
+menu(void) {
+       if (sun_label) {
+          puts(_("Command action"));
+          puts(_("   a   toggle a read only flag"));           /* sun */
+          puts(_("   b   edit bsd disklabel"));
+          puts(_("   c   toggle the mountable flag"));         /* sun */
+          puts(_("   d   delete a partition"));
+          puts(_("   l   list known partition types"));
+          puts(_("   m   print this menu"));
+          puts(_("   n   add a new partition"));
+          puts(_("   o   create a new empty DOS partition table"));
+          puts(_("   p   print the partition table"));
+          puts(_("   q   quit without saving changes"));
+          puts(_("   s   create a new empty Sun disklabel"));  /* sun */
+          puts(_("   t   change a partition's system id"));
+          puts(_("   u   change display/entry units"));
+          puts(_("   v   verify the partition table"));
+          puts(_("   w   write table to disk and exit"));
+          puts(_("   x   extra functionality (experts only)"));
+       }
+       else if (sgi_label) {
+          puts(_("Command action"));
+          puts(_("   a   select bootable partition"));    /* sgi flavour */
+          puts(_("   b   edit bootfile entry"));          /* sgi */
+          puts(_("   c   select sgi swap partition"));    /* sgi flavour */
+          puts(_("   d   delete a partition"));
+          puts(_("   l   list known partition types"));
+          puts(_("   m   print this menu"));
+          puts(_("   n   add a new partition"));
+          puts(_("   o   create a new empty DOS partition table"));
+          puts(_("   p   print the partition table"));
+          puts(_("   q   quit without saving changes"));
+          puts(_("   s   create a new empty Sun disklabel"));  /* sun */
+          puts(_("   t   change a partition's system id"));
+          puts(_("   u   change display/entry units"));
+          puts(_("   v   verify the partition table"));
+          puts(_("   w   write table to disk and exit"));
+       }
+       else if (aix_label || mac_label) {
+          puts(_("Command action"));
+          puts(_("   m   print this menu"));
+          puts(_("   o   create a new empty DOS partition table"));
+          puts(_("   q   quit without saving changes"));
+          puts(_("   s   create a new empty Sun disklabel"));  /* sun */
+       }
+       else {
+          puts(_("Command action"));
+          puts(_("   a   toggle a bootable flag"));
+          puts(_("   b   edit bsd disklabel"));
+          puts(_("   c   toggle the dos compatibility flag"));
+          puts(_("   d   delete a partition"));
+          puts(_("   l   list known partition types"));
+          puts(_("   m   print this menu"));
+          puts(_("   n   add a new partition"));
+          puts(_("   o   create a new empty DOS partition table"));
+          puts(_("   p   print the partition table"));
+          puts(_("   q   quit without saving changes"));
+          puts(_("   s   create a new empty Sun disklabel"));  /* sun */
+          puts(_("   t   change a partition's system id"));
+          puts(_("   u   change display/entry units"));
+          puts(_("   v   verify the partition table"));
+          puts(_("   w   write table to disk and exit"));
+          puts(_("   x   extra functionality (experts only)"));
+       }
+}
+
+static void
+xmenu(void) {
+       if (sun_label) {
+          puts(_("Command action"));
+          puts(_("   a   change number of alternate cylinders"));      /*sun*/
+          puts(_("   c   change number of cylinders"));
+          puts(_("   d   print the raw data in the partition table"));
+          puts(_("   e   change number of extra sectors per cylinder"));/*sun*/
+          puts(_("   h   change number of heads"));
+          puts(_("   i   change interleave factor"));                  /*sun*/
+          puts(_("   o   change rotation speed (rpm)"));               /*sun*/
+          puts(_("   m   print this menu"));
+          puts(_("   p   print the partition table"));
+          puts(_("   q   quit without saving changes"));
+          puts(_("   r   return to main menu"));
+          puts(_("   s   change number of sectors/track"));
+          puts(_("   v   verify the partition table"));
+          puts(_("   w   write table to disk and exit"));
+          puts(_("   y   change number of physical cylinders"));       /*sun*/
+       }
+       else if (sgi_label) {
+          puts(_("Command action"));
+          puts(_("   b   move beginning of data in a partition")); /* !sun */
+          puts(_("   c   change number of cylinders"));
+          puts(_("   d   print the raw data in the partition table"));
+          puts(_("   e   list extended partitions"));          /* !sun */
+          puts(_("   g   create an IRIX (SGI) partition table"));/* sgi */
+          puts(_("   h   change number of heads"));
+          puts(_("   m   print this menu"));
+          puts(_("   p   print the partition table"));
+          puts(_("   q   quit without saving changes"));
+          puts(_("   r   return to main menu"));
+          puts(_("   s   change number of sectors/track"));
+          puts(_("   v   verify the partition table"));
+          puts(_("   w   write table to disk and exit"));
+       }
+       else if (aix_label || mac_label) {
+          puts(_("Command action"));
+          puts(_("   b   move beginning of data in a partition")); /* !sun */
+          puts(_("   c   change number of cylinders"));
+          puts(_("   d   print the raw data in the partition table"));
+          puts(_("   e   list extended partitions"));          /* !sun */
+          puts(_("   g   create an IRIX (SGI) partition table"));/* sgi */
+          puts(_("   h   change number of heads"));
+          puts(_("   m   print this menu"));
+          puts(_("   p   print the partition table"));
+          puts(_("   q   quit without saving changes"));
+          puts(_("   r   return to main menu"));
+          puts(_("   s   change number of sectors/track"));
+          puts(_("   v   verify the partition table"));
+          puts(_("   w   write table to disk and exit"));
+       }
+       else {
+          puts(_("Command action"));
+          puts(_("   b   move beginning of data in a partition")); /* !sun */
+          puts(_("   c   change number of cylinders"));
+          puts(_("   d   print the raw data in the partition table"));
+          puts(_("   e   list extended partitions"));          /* !sun */
+          puts(_("   f   fix partition order"));               /* !sun, !aix, !sgi */
+          puts(_("   g   create an IRIX (SGI) partition table"));/* sgi */
+          puts(_("   h   change number of heads"));
+          puts(_("   i   change the disk identifier")); /* dos only */
+          puts(_("   m   print this menu"));
+          puts(_("   p   print the partition table"));
+          puts(_("   q   quit without saving changes"));
+          puts(_("   r   return to main menu"));
+          puts(_("   s   change number of sectors/track"));
+          puts(_("   v   verify the partition table"));
+          puts(_("   w   write table to disk and exit"));
+       }
+}
+
+static int
+get_sysid(int i) {
+       return (
+               sun_label ? sun_get_sysid(i) :
+               sgi_label ? sgi_get_sysid(i) :
+               ptes[i].part_table->sys_ind);
+}
+
+static struct systypes *
+get_sys_types(void) {
+       return (
+               sun_label ? sun_sys_types :
+               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 {
+               printf("%c%2x  %-15.15s", i ? ' ' : '\n',
+                       sys[next].type, _(sys[next].name));
+               next = last[i++] + done;
+               if (i > 3 || next >= last[i]) {
+                       i = 0;
+                       next = ++done;
+               }
+       } while (done < last[0]);
+       putchar('\n');
+}
+
+static 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));
+}
+
+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);
+}
+
+static void
+set_partition(int i, int doext, unsigned long long start,
+             unsigned long long stop, int sysid) {
+       struct partition *p;
+       unsigned long long 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 (dos_compatible_flag && (start/(sectors*heads) > 1023))
+               start = heads*sectors*1024 - 1;
+       set_hsc(p->head, p->sector, p->cyl, start);
+       if (dos_compatible_flag && (stop/(sectors*heads) > 1023))
+               stop = heads*sectors*1024 - 1;
+       set_hsc(p->end_head, p->end_sector, p->end_cyl, stop);
+       ptes[i].changed = 1;
+}
+
+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
+warn_geometry(void) {
+       char *m = NULL;
+       int prev = 0;
+
+       if (sgi_label)  /* cannot set cylinders etc anyway */
+               return 0;
+       if (!heads)
+               prev = test_c(&m, _("heads"));
+       if (!sectors)
+               prev = test_c(&m, _("sectors"));
+       if (!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(void)
+{
+       int cyl_units = heads * sectors;
+
+       if (display_in_cyl_units && cyl_units)
+               units_per_sector = cyl_units;
+       else
+               units_per_sector = 1;   /* in sectors */
+}
+
+static void
+warn_cylinders(void) {
+       if (dos_label && cylinders > 1024 && !nowarn)
+               fprintf(stderr, _("\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"),
+                       cylinders);
+
+       if (total_number_of_sectors > UINT_MAX) {
+               int giga = (total_number_of_sectors << 9) / 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 %d-byte sectors. Use parted(1) and GUID \n"
+"partition table format (GPT).\n\n"),
+                       hectogiga / 10, hectogiga % 10,
+                       total_number_of_sectors << 9,
+                       (unsigned long long ) UINT_MAX * sector_size,
+                       sector_size);
+       }
+}
+
+static void
+read_extended(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(fd, 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);
+                       delete_partition(i);
+                       goto remove;    /* numbering changed */
+               }
+       }
+}
+
+static void
+dos_write_mbr_id(unsigned char *b, unsigned int id) {
+       store4_little_endian(&b[440], id);
+}
+
+static unsigned int
+dos_read_mbr_id(const unsigned char *b) {
+       return read4_little_endian(&b[440]);
+}
+
+static void
+dos_print_mbr_id(void) {
+       printf(_("Disk identifier: 0x%08x\n"), dos_read_mbr_id(MBRbuffer));
+}
+
+static void
+dos_set_mbr_id(void) {
+       unsigned long new_id;
+       char *ep;
+       char ps[64];
+
+       snprintf(ps, sizeof ps, _("New disk identifier (current 0x%08x): "),
+                dos_read_mbr_id(MBRbuffer));
+
+       if (read_chars(ps) == '\n')
+               return;
+
+       new_id = strtoul(line_ptr, &ep, 0);
+       if (*ep != '\n')
+               return;
+
+       dos_write_mbr_id(MBRbuffer, new_id);
+       dos_print_mbr_id();
+}
+
+static void
+create_doslabel(void) {
+       unsigned int id = get_random_id();
+
+       fprintf(stderr,
+       _("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"),
+               id);
+       sun_nolabel();  /* otherwise always recognised as sun */
+       sgi_nolabel();  /* otherwise always recognised as sgi */
+       mac_label = aix_label = osf_label = possibly_osf_label = 0;
+       partitions = 4;
+
+       /* Zero out the MBR buffer */
+       extended_offset = 0;
+       set_all_unchanged();
+       set_changed(0);
+       get_boot(create_empty_dos);
+
+       /* Generate an MBR ID for this disk */
+       dos_write_mbr_id(MBRbuffer, id);
+
+       /* Mark it bootable (unfortunately required) */
+       write_part_table_flag(MBRbuffer);
+}
+
+static void
+get_sectorsize(int fd) {
+       int arg;
+
+       if (user_set_sector_size)
+               return;
+
+       if (blkdev_get_sector_size(fd, &arg) == 0)
+               sector_size = arg;
+       if (sector_size != DEFAULT_SECTOR_SIZE)
+               printf(_("Note: sector size is %d (not %d)\n"),
+                      sector_size, DEFAULT_SECTOR_SIZE);
+}
+
+static void
+get_kernel_geometry(int fd) {
+#ifdef HDIO_GETGEO
+       struct hd_geometry geometry;
+
+       if (!ioctl(fd, HDIO_GETGEO, &geometry)) {
+               kern_heads = geometry.heads;
+               kern_sectors = geometry.sectors;
+               /* never use geometry.cylinders - it is truncated */
+       }
+#endif
+}
+
+static void
+get_partition_table_geometry(void) {
+       unsigned char *bufp = MBRbuffer;
+       struct partition *p;
+       int i, h, s, hh, ss;
+       int first = 1;
+       int bad = 0;
+
+       if (!(valid_part_table_flag(bufp)))
+               return;
+
+       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) {
+               pt_heads = hh;
+               pt_sectors = ss;
+       }
+}
+
+void
+get_geometry(int fd, struct geom *g) {
+       unsigned long long llcyls;
+
+       get_sectorsize(fd);
+       sector_factor = sector_size / 512;
+       guess_device_type(fd);
+       heads = cylinders = sectors = 0;
+       kern_heads = kern_sectors = 0;
+       pt_heads = pt_sectors = 0;
+
+       get_kernel_geometry(fd);
+       get_partition_table_geometry();
+
+       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;
+
+       if (blkdev_get_sectors(fd, &total_number_of_sectors) == -1)
+               total_number_of_sectors = 0;
+
+       sector_offset = 1;
+       if (dos_compatible_flag)
+               sector_offset = sectors;
+
+       llcyls = total_number_of_sectors / (heads * sectors * sector_factor);
+       cylinders = llcyls;
+       if (cylinders != llcyls)        /* truncated? */
+               cylinders = ~0;
+       if (!cylinders)
+               cylinders = user_cylinders;
+
+       if (g) {
+               g->heads = heads;
+               g->sectors = sectors;
+               g->cylinders = cylinders;
+       }
+}
+
+/*
+ * Read MBR.  Returns:
+ *   -1: no 0xaa55 flag present (possibly entire disk BSD)
+ *    0: found or created label
+ *    1: I/O error
+ */
+int
+get_boot(enum action what) {
+       int i;
+
+       partitions = 4;
+       ext_index = 0;
+       extended_offset = 0;
+
+       for (i = 0; i < 4; i++) {
+               struct pte *pe = &ptes[i];
+
+               pe->part_table = pt_offset(MBRbuffer, i);
+               pe->ext_pointer = NULL;
+               pe->offset = 0;
+               pe->sectorbuffer = MBRbuffer;
+               pe->changed = (what == create_empty_dos);
+       }
+
+       if (what == create_empty_sun && check_sun_label())
+               return 0;
+
+       memset(MBRbuffer, 0, 512);
+
+       if (what == create_empty_dos)
+               goto got_dos_table;             /* skip reading disk */
+
+       if ((fd = open(disk_device, type_open)) < 0) {
+           if ((fd = open(disk_device, O_RDONLY)) < 0) {
+               if (what == try_only)
+                   return 1;
+               fatal(unable_to_open);
+           } else
+               printf(_("You will not be able to write "
+                        "the partition table.\n"));
+       }
+
+       if (512 != read(fd, MBRbuffer, 512)) {
+               if (what == try_only)
+                       return 1;
+               fatal(unable_to_read);
+       }
+
+       get_geometry(fd, NULL);
+
+       update_units();
+
+       if (check_sun_label())
+               return 0;
+
+       if (check_sgi_label())
+               return 0;
+
+       if (check_aix_label())
+               return 0;
+
+       if (check_mac_label())
+               return 0;
+
+       if (check_osf_label()) {
+               possibly_osf_label = 1;
+               if (!valid_part_table_flag(MBRbuffer)) {
+                       osf_label = 1;
+                       return 0;
+               }
+               printf(_("This disk has both DOS and BSD magic.\n"
+                        "Give the 'b' command to go to BSD mode.\n"));
+       }
+
+got_dos_table:
+
+       if (!valid_part_table_flag(MBRbuffer)) {
+               switch(what) {
+               case fdisk:
+                       fprintf(stderr,
+                               _("Device contains neither a valid DOS "
+                                 "partition table, nor Sun, SGI or OSF "
+                                 "disklabel\n"));
+#ifdef __sparc__
+                       create_sunlabel();
+#else
+                       create_doslabel();
+#endif
+                       return 0;
+               case require:
+                       return -1;
+               case try_only:
+                       return -1;
+               case create_empty_dos:
+               case create_empty_sun:
+                       break;
+               default:
+                       fprintf(stderr, _("Internal error\n"));
+                       exit(1);
+               }
+       }
+
+       warn_cylinders();
+       warn_geometry();
+
+       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(i);
+               }
+       }
+
+       for (i = 3; i < partitions; i++) {
+               struct pte *pe = &ptes[i];
+
+               if (!valid_part_table_flag(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 0;
+}
+
+/* read line; return 0 or first char */
+int
+read_line(void)
+{
+       static int got_eof = 0;
+
+       line_ptr = line_buffer;
+       if (!fgets(line_buffer, LINE_LENGTH, stdin)) {
+               if (feof(stdin))
+                       got_eof++;      /* user typed ^D ? */
+               if (got_eof >= 3) {
+                       fflush(stdout);
+                       fprintf(stderr, _("\ngot EOF thrice - exiting..\n"));
+                       exit(1);
+               }
+               return 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());
+       return *line_ptr;
+}
+
+char
+read_chars(char *mesg)
+{
+        fputs(mesg, stdout);
+       fflush (stdout);        /* niles@scyld.com */
+        if (!read_line()) {
+               *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;
+          }
+        }
+}
+
+/*
+ * 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(unsigned int low, unsigned int dflt, unsigned int high,
+        unsigned int base, char *mesg)
+{
+       unsigned int i;
+       int default_ok = 1;
+       static char *ms = NULL;
+       static int mslen = 0;
+
+       if (!ms || strlen(mesg)+100 > mslen) {
+               mslen = strlen(mesg)+200;
+               if (!(ms = realloc(ms,mslen)))
+                       fatal(out_of_memory);
+       }
+
+       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 absolute = 0;
+                       int suflen;
+
+                       i = atoi(line_ptr+1);
+
+                       while (isdigit(*++line_ptr))
+                               use_default = 0;
+
+                       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)
+                                       i *= heads * 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 && i) {
+                               unsigned long long bytes;
+                               unsigned long unit;
+
+                               bytes = (unsigned long long) i * absolute;
+                               unit = sector_size * units_per_sector;
+                               bytes += unit/2;        /* round */
+                               bytes /= unit;
+                               i = bytes;
+                       }
+                       if (minus)
+                               i = -i;
+                       i += base;
+               } else {
+                       i = atoi(line_ptr);
+                       while (isdigit(*line_ptr)) {
+                               line_ptr++;
+                               use_default = 0;
+                       }
+               }
+               if (use_default)
+                       printf(_("Using default value %u\n"), i = dflt);
+               if (i >= low && i <= high)
+                       break;
+               else
+                       printf(_("Value out of range.\n"));
+       }
+       return i;
+}
+
+int
+get_partition(int warn, int max) {
+       struct pte *pe;
+       int i;
+
+       i = read_int(1, 0, max, 0, _("Partition number")) - 1;
+       pe = &ptes[i];
+
+       if (warn) {
+               if ((!sun_label && !sgi_label && !pe->part_table->sys_ind)
+                   || (sun_label &&
+                       (!sunlabel->partitions[i].num_sectors ||
+                        !sunlabel->part_tags[i].tag))
+                   || (sgi_label && (!sgi_get_num_sectors(i)))
+                  )
+                       fprintf(stderr,
+                               _("Warning: partition %d has empty type\n"),
+                               i+1);
+       }
+       return i;
+}
+
+static int
+get_existing_partition(int warn, int max) {
+       int pno = -1;
+       int i;
+
+       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_unique:
+       return get_partition(warn, max);
+}
+
+static int
+get_nonexisting_partition(int warn, int max) {
+       int pno = -1;
+       int i;
+
+       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(_("All primary partitions have been defined already!\n"));
+       return -1;
+
+ not_unique:
+       return get_partition(warn, max);
+}
+
+const char *
+str_units(int n) {     /* n==1: use singular */
+       if (n == 1)
+               return display_in_cyl_units ? _("cylinder") : _("sector");
+       else
+               return display_in_cyl_units ? _("cylinders") : _("sectors");
+}
+
+void change_units(void)
+{
+       display_in_cyl_units = !display_in_cyl_units;
+       update_units();
+       printf(_("Changing display/entry units to %s\n"),
+               str_units(PLURAL));
+}
+
+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(void) {
+       dos_compatible_flag = ~dos_compatible_flag;
+       if (dos_compatible_flag) {
+               sector_offset = sectors;
+               printf(_("DOS Compatibility flag is set\n"));
+       }
+       else {
+               sector_offset = 1;
+               printf(_("DOS Compatibility flag is not set\n"));
+       }
+}
+
+static void
+delete_partition(int i) {
+       struct pte *pe = &ptes[i];
+       struct partition *p = pe->part_table;
+       struct partition *q = pe->ext_pointer;
+
+/* Note that for the fifth partition (i == 4) we don't actually
+ * decrement partitions.
+ */
+
+       if (warn_geometry())
+               return;         /* C/H/S not set */
+       pe->changed = 1;
+
+       if (sun_label) {
+               sun_delete_partition(i);
+               return;
+       }
+
+       if (sgi_label) {
+               sgi_delete_partition(i);
+               return;
+       }
+
+       if (i < 4) {
+               if (IS_EXTENDED (p->sys_ind) && i == ext_index) {
+                       partitions = 4;
+                       ptes[ext_index].ext_pointer = NULL;
+                       extended_offset = 0;
+               }
+               clear_partition(p);
+               return;
+       }
+
+       if (!q->sys_ind && i > 4) {
+               /* the last one in the chain - just delete */
+               --partitions;
+               --i;
+               clear_partition(ptes[i].ext_pointer);
+               ptes[i].changed = 1;
+       } else {
+               /* not the last one - further ones will be moved down */
+               if (i > 4) {
+                       /* delete this link in the chain */
+                       p = ptes[i-1].ext_pointer;
+                       *p = *q;
+                       set_start_sect(p, get_start_sect(q));
+                       set_nr_sects(p, get_nr_sects(q));
+                       ptes[i-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 (i < partitions) {
+                               ptes[i] = ptes[i+1];
+                               i++;
+                       }
+               } else
+                       /* the only logical: clear only */
+                       clear_partition(ptes[i].part_table);
+       }
+}
+
+static void
+change_sysid(void) {
+       char *temp;
+       int i, sys, origsys;
+       struct partition *p;
+
+       /* If sgi_label then don't use get_existing_partition,
+          let the user select a partition, since get_existing_partition()
+          only works for Linux like partition tables. */
+       if (!sgi_label) {
+               i = get_existing_partition(0, partitions);
+       } else {
+               i = get_partition(0, partitions);
+       }
+
+       if (i == -1)
+               return;
+       p = ptes[i].part_table;
+       origsys = sys = get_sysid(i);
+
+       /* if changing types T to 0 is allowed, then
+          the reverse change must be allowed, too */
+       if (!sys && !sgi_label && !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 && !sgi_label && !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 (!sun_label && !sgi_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 (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 (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 (sun_label) {
+                               ptes[i].changed = sun_change_sysid(i, sys);
+                       } else
+                       if (sgi_label) {
+                               ptes[i].changed = sgi_change_sysid(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(ulong ls, unsigned int *c, unsigned int *h, unsigned int *s) {
+       int spc = heads * sectors;
+
+       *c = ls / spc;
+       ls = ls % spc;
+       *h = ls / sectors;
+       *s = ls % sectors + 1;  /* sectors count from 1 */
+}
+
+static void check_consistency(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 (!heads || !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(get_start_sect(p), &lbc, &lbh, &lbs);
+
+/* compute logical ending (c, h, s) */
+       long2chs(get_start_sect(p) + get_nr_sects(p) - 1, &lec, &leh, &les);
+
+/* Same physical / logical beginning? */
+       if (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 (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);
+       }
+
+#if 0
+/* Beginning on cylinder boundary? */
+       if (pbh != !pbc || pbs != 1) {
+               printf(_("Partition %i does not start on cylinder "
+                       "boundary:\n"), partition + 1);
+               printf(_("     phys=(%d, %d, %d) "), pbc, pbh, pbs);
+               printf(_("should be (%d, %d, 1)\n"), pbc, !pbc);
+       }
+#endif
+
+/* Ending on cylinder boundary? */
+       if (peh != (heads - 1) || pes != sectors) {
+               printf(_("Partition %i does not end on cylinder boundary.\n"),
+                       partition + 1);
+#if 0
+               printf(_("     phys=(%d, %d, %d) "), pec, peh, pes);
+               printf(_("should be (%d, %d, %d)\n"),
+               pec, heads - 1, sectors);
+#endif
+       }
+}
+
+static void
+list_disk_geometry(void) {
+       long long bytes = (total_number_of_sectors << 9);
+       long megabytes = bytes/1000000;
+
+       if (megabytes < 10000)
+               printf(_("\nDisk %s: %ld MB, %lld bytes\n"),
+                      disk_device, megabytes, bytes);
+       else {
+               long hectomega = (megabytes + 50) / 100;
+               printf(_("\nDisk %s: %ld.%ld GB, %lld bytes\n"),
+                      disk_device, hectomega / 10, hectomega % 10, bytes);
+       }
+       printf(_("%d heads, %llu sectors/track, %d cylinders"),
+              heads, sectors, cylinders);
+       if (units_per_sector == 1)
+               printf(_(", total %llu sectors"),
+                      total_number_of_sectors / sector_factor);
+       printf("\n");
+       printf(_("Units = %s of %d * %d = %d bytes\n"),
+              str_units(PLURAL),
+              units_per_sector, sector_size, units_per_sector * sector_size);
+       if (dos_label)
+               dos_print_mbr_id();
+       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 doesnt 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(int xtra) {
+       struct partition *p;
+       char *type;
+       int i, w;
+
+       if (sun_label) {
+               sun_list_table(xtra);
+               return;
+       }
+
+       if (sgi_label) {
+               sgi_list_table(xtra);
+               return;
+       }
+
+       list_disk_geometry();
+
+       if (osf_label) {
+               xbsd_print_disklabel(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(disk_device);
+       if (w && isdigit(disk_device[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 (sector_size < 1024) {
+                               pblocks /= (1024 / sector_size);
+                               podd = psects % (1024 / sector_size);
+                       }
+                       if (sector_size > 1024)
+                               pblocks *= (sector_size / 1024);
+                        printf(
+                           "%s  %c %11lu %11lu %11lu%c  %2x  %s\n",
+                       partname(disk_device, 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(p, 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 (dos_label && wrong_p_order(NULL)) {
+               printf(_("\nPartition table entries are not in disk order\n"));
+       }
+}
+
+static void
+x_list_table(int extend) {
+       struct pte *pe;
+       struct partition *p;
+       int i;
+
+       printf(_("\nDisk %s: %d heads, %llu sectors, %d cylinders\n\n"),
+               disk_device, heads, sectors, 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(p, i);
+               }
+       }
+}
+
+static void
+fill_bounds(unsigned long long *first, unsigned long long *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;
+               }
+       }
+}
+
+static void
+check(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 * sectors + real_s) * heads + h;
+       if (!total)
+               fprintf(stderr, _("Warning: partition %d contains sector 0\n"), n);
+       if (h >= heads)
+               fprintf(stderr,
+                       _("Partition %d: head %d greater than maximum %d\n"),
+                       n, h + 1, heads);
+       if (real_s >= sectors)
+               fprintf(stderr, _("Partition %d: sector %d greater than "
+                       "maximum %llu\n"), n, s, sectors);
+       if (real_c >= cylinders)
+               fprintf(stderr, _("Partitions %d: cylinder %d greater than "
+                       "maximum %d\n"), n, real_c + 1, cylinders);
+       if (cylinders <= 1024 && start != total)
+               fprintf(stderr,
+                       _("Partition %d: previous sectors %d disagrees with "
+                       "total %d\n"), n, start, total);
+}
+
+static void
+verify(void) {
+       int i, j;
+       unsigned long long total = 1;
+       unsigned long long n_sectors = (total_number_of_sectors / sector_factor);
+       unsigned long long first[partitions], last[partitions];
+       struct partition *p;
+
+       if (warn_geometry())
+               return;
+
+       if (sun_label) {
+               verify_sun();
+               return;
+       }
+
+       if (sgi_label) {
+               verify_sgi(1);
+               return;
+       }
+
+       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(p, i);
+                       if (get_partition_start(pe) < first[i])
+                               printf(_("Warning: bad start-of-data in "
+                                       "partition %d\n"), i + 1);
+                       check(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];
+               unsigned long long 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(_("%lld unallocated %d-byte sectors\n"),
+                      n_sectors - total, sector_size);
+}
+
+static void
+add_partition(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;
+       long long llimit;
+       unsigned long long 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 || !total_number_of_sectors)
+                       llimit = heads * sectors * cylinders - 1;
+               else
+                       llimit = (total_number_of_sectors / sector_factor) - 1;
+               limit = llimit;
+               if (limit != llimit)
+                       limit = 0x7fffffff;
+               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 {
+               temp = start;
+               for (i = 0; i < partitions; i++) {
+                       unsigned long long lastplusoff;
+
+                       if (start == ptes[i].offset)
+                               start += sector_offset;
+                       lastplusoff = last[i] + ((n<4) ? 0 : sector_offset);
+                       if (start >= first[i] && start <= lastplusoff)
+                               start = lastplusoff + 1;
+               }
+               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) {
+                       unsigned long long i = start;
+
+                       start = read_int(cround(i), cround(i), 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 {
+               snprintf(mesg, sizeof(mesg),
+                       _("Last %1$s, +%2$s or +size{K,M,G}"),
+                        str_units(SINGULAR), str_units(PLURAL));
+
+               stop = read_int(cround(start), cround(limit), cround(limit),
+                               cround(start), mesg);
+               if (display_in_cyl_units) {
+                       stop = stop * units_per_sector - 1;
+                       if (stop >limit)
+                               stop = limit;
+               }
+       }
+
+       set_partition(n, 0, start, stop, sys);
+       if (n > 4)
+               set_partition(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;
+               if (!(pe4->sectorbuffer = calloc(1, sector_size)))
+                       fatal(out_of_memory);
+               pe4->part_table = pt_offset(pe4->sectorbuffer, 0);
+               pe4->ext_pointer = pe4->part_table + 1;
+               pe4->changed = 1;
+               partitions = 5;
+       }
+}
+
+static void
+add_logical(void) {
+       if (partitions > 5 || ptes[4].part_table->sys_ind) {
+               struct pte *pe = &ptes[partitions];
+
+               if (!(pe->sectorbuffer = calloc(1, sector_size)))
+                       fatal(out_of_memory);
+               pe->part_table = pt_offset(pe->sectorbuffer, 0);
+               pe->ext_pointer = pe->part_table + 1;
+               pe->offset = 0;
+               pe->changed = 1;
+               partitions++;
+       }
+       add_partition(partitions - 1, LINUX_NATIVE);
+}
+
+static void
+new_partition(void) {
+       int i, free_primary = 0;
+
+       if (warn_geometry())
+               return;
+
+       if (sun_label) {
+               add_sun_partition(get_partition(0, partitions), LINUX_NATIVE);
+               return;
+       }
+
+       if (sgi_label) {
+               sgi_add_partition(get_partition(0, partitions), LINUX_NATIVE);
+               return;
+       }
+
+       if (aix_label) {
+               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"));
+               return;
+       }
+
+       if (mac_label) {
+               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"));
+                return;
+       }
+
+       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)
+                       add_logical();
+               else
+                       printf(_("You must delete some partition and add "
+                                "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(get_partition(0, 4), LINUX_NATIVE);
+       } else {
+               char c, line[LINE_LENGTH];
+               snprintf(line, sizeof(line),
+                        _("Command action\n   %s\n   p   primary "
+                          "partition (1-4)\n"), extended_offset ?
+                        _("l   logical (5 or over)") : _("e   extended"));
+               while (1) {
+                       if ((c = tolower(read_char(line))) == 'p') {
+                               int i = get_nonexisting_partition(0, 4);
+                               if (i >= 0)
+                                       add_partition(i, LINUX_NATIVE);
+                               return;
+                       }
+                       else if (c == 'l' && extended_offset) {
+                               add_logical();
+                               return;
+                       }
+                       else if (c == 'e' && !extended_offset) {
+                               int i = get_nonexisting_partition(0, 4);
+                               if (i >= 0)
+                                       add_partition(i, EXTENDED);
+                               return;
+                       }
+                       else
+                               printf(_("Invalid partition number "
+                                        "for type `%c'\n"), c);
+               }
+       }
+}
+
+static void
+write_table(void) {
+       int i;
+
+       if (dos_label) {
+               for (i=0; i<3; i++)
+                       if (ptes[i].changed)
+                               ptes[3].changed = 1;
+               for (i = 3; i < partitions; i++) {
+                       struct pte *pe = &ptes[i];
+
+                       if (pe->changed) {
+                               write_part_table_flag(pe->sectorbuffer);
+                               write_sector(fd, pe->offset, pe->sectorbuffer);
+                       }
+               }
+       }
+       else if (sgi_label) {
+               /* no test on change? the printf below might be mistaken */
+               sgi_write_table();
+       } else if (sun_label) {
+               int needw = 0;
+
+               for (i=0; i<8; i++)
+                       if (ptes[i].changed)
+                               needw = 1;
+               if (needw)
+                       sun_write_table();
+       }
+
+       printf(_("The partition table has been altered!\n\n"));
+       reread_partition_table(1);
+}
+
+void
+reread_partition_table(int leave) {
+       int i;
+       struct stat statbuf;
+
+       i = fstat(fd, &statbuf);
+       if (i == 0 && S_ISBLK(statbuf.st_mode)) {
+               sync();
+               sleep(2);
+#ifdef BLKRRPART
+               printf(_("Calling ioctl() to re-read partition table.\n"));
+               i = ioctl(fd, BLKRRPART);
+#else
+               errno = ENOSYS;
+               i = 1;
+#endif
+        }
+
+       if (i) {
+               printf(_("\nWARNING: Re-reading the partition table failed with error %d: %s.\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, strerror(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(fd) || close(fd)) {
+                       fprintf(stderr, _("\nError closing file\n"));
+                       exit(1);
+               }
+
+               printf(_("Syncing disks.\n"));
+               sync();
+               sleep(4);               /* for sync() */
+               exit(!!i);
+       }
+}
+
+#define MAX_PER_LINE   16
+static void
+print_buffer(unsigned char pbuffer[]) {
+       int     i,
+               l;
+
+       for (i = 0, l = 0; i < 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(void) {
+       int i;
+
+       printf(_("Device: %s\n"), disk_device);
+       if (sun_label || sgi_label)
+               print_buffer(MBRbuffer);
+       else for (i = 3; i < partitions; i++)
+               print_buffer(ptes[i].sectorbuffer);
+}
+
+static void
+move_begin(int i) {
+       struct pte *pe = &ptes[i];
+       struct partition *p = pe->part_table;
+       unsigned int new, first;
+
+       if (warn_geometry())
+               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;
+       }
+       first = get_partition_start(pe);
+       new = read_int(first, first, first + get_nr_sects(p) - 1, first,
+                      _("New beginning of data")) - pe->offset;
+
+       if (new != get_nr_sects(p)) {
+               first = get_nr_sects(p) + get_start_sect(p) - new;
+               set_nr_sects(p, first);
+               set_start_sect(p, new);
+               pe->changed = 1;
+       }
+}
+
+static void
+xselect(void) {
+       char c;
+
+       while(1) {
+               putchar('\n');
+               c = tolower(read_char(_("Expert command (m for help): ")));
+               switch (c) {
+               case 'a':
+                       if (sun_label)
+                               sun_set_alt_cyl();
+                       break;
+               case 'b':
+                       if (dos_label)
+                               move_begin(get_partition(0, partitions));
+                       break;
+               case 'c':
+                       user_cylinders = cylinders =
+                               read_int(1, cylinders, 1048576, 0,
+                                        _("Number of cylinders"));
+                       if (sun_label)
+                               sun_set_ncyl(cylinders);
+                       if (dos_label)
+                               warn_cylinders();
+                       break;
+               case 'd':
+                       print_raw();
+                       break;
+               case 'e':
+                       if (sgi_label)
+                               sgi_set_xcyl();
+                       else if (sun_label)
+                               sun_set_xcyl();
+                       else
+                       if (dos_label)
+                               x_list_table(1);
+                       break;
+               case 'f':
+                       if (dos_label)
+                               fix_partition_table_order();
+                       break;
+               case 'g':
+                       create_sgilabel();
+                       break;
+               case 'h':
+                       user_heads = heads = read_int(1, heads, 256, 0,
+                                        _("Number of heads"));
+                       update_units();
+                       break;
+               case 'i':
+                       if (sun_label)
+                               sun_set_ilfact();
+                       if (dos_label)
+                               dos_set_mbr_id();
+                       break;
+               case 'o':
+                       if (sun_label)
+                               sun_set_rspeed();
+                       break;
+               case 'p':
+                       if (sun_label)
+                               list_table(1);
+                       else
+                               x_list_table(0);
+                       break;
+               case 'q':
+                       close(fd);
+                       printf("\n");
+                       exit(0);
+               case 'r':
+                       return;
+               case 's':
+                       user_sectors = sectors = read_int(1, sectors, 63, 0,
+                                          _("Number of sectors"));
+                       if (dos_compatible_flag) {
+                               sector_offset = sectors;
+                               fprintf(stderr, _("Warning: setting "
+                                       "sector offset for DOS "
+                                       "compatiblity\n"));
+                       }
+                       update_units();
+                       break;
+               case 'v':
+                       verify();
+                       break;
+               case 'w':
+                       write_table();  /* does not return */
+                       break;
+               case 'y':
+                       if (sun_label)
+                               sun_set_pcylcount();
+                       break;
+               default:
+                       xmenu();
+               }
+       }
+}
+
+static int
+is_ide_cdrom_or_tape(char *device) {
+       FILE *procf;
+       char buf[100];
+       struct stat statbuf;
+       int is_ide = 0;
+
+       /* No device was given explicitly, and we are trying some
+          likely things.  But opening /dev/hdc may produce errors like
+           "hdc: tray open or drive not ready"
+          if it happens to be a CD-ROM drive. It even happens that
+          the process hangs on the attempt to read a music CD.
+          So try to be careful. This only works since 2.1.73. */
+
+       if (strncmp("/dev/hd", device, 7))
+               return 0;
+
+       snprintf(buf, sizeof(buf), "/proc/ide/%s/media", device+5);
+       procf = fopen(buf, "r");
+       if (procf != NULL && fgets(buf, sizeof(buf), procf))
+               is_ide = (!strncmp(buf, "cdrom", 5) ||
+                         !strncmp(buf, "tape", 4));
+       else
+               /* Now when this proc file does not exist, skip the
+                  device when it is read-only. */
+               if (stat(device, &statbuf) == 0)
+                       is_ide = ((statbuf.st_mode & 0222) == 0);
+
+       if (procf)
+               fclose(procf);
+       return is_ide;
+}
+
+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);
+}
+
+static void
+try(char *device, int user_specified) {
+       int gb;
+
+       disk_device = device;
+       if (setjmp(listingbuf))
+               return;
+       if (!user_specified)
+               if (is_ide_cdrom_or_tape(device))
+                       return;
+       gpt_warning(device);
+       if ((fd = open(disk_device, type_open)) >= 0) {
+               gb = get_boot(try_only);
+               if (gb > 0) { /* I/O error */
+               } else if (gb < 0) { /* no DOS signature */
+                       list_disk_geometry();
+                       if (!aix_label && !mac_label && btrydev(device) < 0)
+                               fprintf(stderr,
+                                       _("Disk %s doesn't contain a valid "
+                                         "partition table\n"), device);
+               } else {
+                       list_table(0);
+               }
+               close(fd);
+       } else {
+               /* Ignore other errors, since we try IDE
+                  and SCSI hard disks which may not be
+                  installed on the system. */
+               if (errno == EACCES) {
+                       fprintf(stderr, _("Cannot open %s\n"), device);
+                       return;
+               }
+       }
+}
+
+/*
+ * for fdisk -l:
+ * try all things in /proc/partitions that look like a full disk
+ */
+static void
+tryprocpt(void) {
+       FILE *procpt;
+       char line[128], ptname[128], devname[256];
+       int ma, mi;
+       unsigned long long sz;
+
+       procpt = fopen(PROC_PARTITIONS, "r");
+       if (procpt == NULL) {
+               fprintf(stderr, _("cannot open %s\n"), 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))
+                       try(devname, 0);
+       }
+       fclose(procpt);
+}
+
+static void
+dummy(int *kk) {}
+
+static void
+unknown_command(int c) {
+       printf(_("%c: unknown command\n"), c);
+}
+
+
+
+int
+main(int argc, char **argv) {
+       int j, c;
+       int optl = 0, opts = 0;
+
+       setlocale(LC_ALL, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+
+       /*
+        * Calls:
+        *  fdisk -v
+        *  fdisk -l [-b sectorsize] [-u] device ...
+        *  fdisk -s [partition] ...
+        *  fdisk [-b sectorsize] [-u] device
+        *
+        * Options -C, -H, -S set the geometry.
+        *
+        */
+       while ((c = getopt(argc, argv, "b:C:H:lsS:uvV")) != -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 = atoi(optarg);
+                       if (sector_size != 512 && sector_size != 1024 &&
+                           sector_size != 2048 && sector_size != 4096)
+                               fatal(usage);
+                       sector_offset = 2;
+                       user_set_sector_size = 1;
+                       break;
+               case 'C':
+                       user_cylinders = atoi(optarg);
+                       break;
+               case 'H':
+                       user_heads = atoi(optarg);
+                       if (user_heads <= 0 || user_heads > 256)
+                               user_heads = 0;
+                       break;
+               case 'S':
+                       user_sectors = atoi(optarg);
+                       if (user_sectors <= 0 || user_sectors >= 64)
+                               user_sectors = 0;
+                       break;
+               case 'l':
+                       optl = 1;
+                       break;
+               case 's':
+                       opts = 1;
+                       break;
+               case 'u':
+                       display_in_cyl_units = 0;
+                       break;
+               case 'V':
+               case 'v':
+                       printf("fdisk (%s)\n", PACKAGE_STRING);
+                       exit(0);
+               default:
+                       fatal(usage);
+               }
+       }
+
+#if 0
+       printf(_("This kernel finds the sector size itself - "
+                "-b option ignored\n"));
+#else
+       if (user_set_sector_size && argc-optind != 1)
+               printf(_("Warning: the -b (set sector size) option should"
+                        " be used with one specified device\n"));
+#endif
+
+       if (optl) {
+               nowarn = 1;
+               type_open = O_RDONLY;
+               if (argc > optind) {
+                       int k;
+                       /* avoid gcc warning:
+                          variable `k' might be clobbered by `longjmp' */
+                       dummy(&k);
+                       listing = 1;
+                       for (k = optind; k < argc; k++)
+                               try(argv[k], 1);
+               } else {
+                       /* we no longer have default device names */
+                       /* but we can use /proc/partitions instead */
+                       tryprocpt();
+               }
+               exit(0);
+       }
+
+       if (opts) {
+               unsigned long long size;
+
+               nowarn = 1;
+               type_open = O_RDONLY;
+
+               opts = argc - optind;
+               if (opts <= 0)
+                       fatal(usage);
+
+               for (j = optind; j < argc; j++) {
+                       disk_device = argv[j];
+                       if ((fd = open(disk_device, type_open)) < 0)
+                               fatal(unable_to_open);
+                       if (blkdev_get_sectors(fd, &size) == -1)
+                               fatal(ioctl_error);
+                       close(fd);
+                       if (opts == 1)
+                               printf("%llu\n", size/2);
+                       else
+                               printf("%s: %llu\n", argv[j], size/2);
+               }
+               exit(0);
+       }
+
+       if (argc-optind == 1)
+               disk_device = argv[optind];
+       else if (argc-optind != 0)
+               fatal(usage);
+       else
+               fatal(usage2);
+
+       gpt_warning(disk_device);
+       get_boot(fdisk);
+
+       if (osf_label) {
+               /* OSF label, and no DOS label */
+               printf(_("Detected an OSF/1 disklabel on %s, entering "
+                        "disklabel mode.\n"),
+                      disk_device);
+               bselect();
+               osf_label = 0;
+               /* If we return we may want to make an empty DOS label? */
+       }
+
+       while (1) {
+               putchar('\n');
+               c = tolower(read_char(_("Command (m for help): ")));
+               switch (c) {
+               case 'a':
+                       if (dos_label)
+                               toggle_active(get_partition(1, partitions));
+                       else if (sun_label)
+                               toggle_sunflags(get_partition(1, partitions),
+                                               SUN_FLAG_UNMNT);
+                       else if (sgi_label)
+                               sgi_set_bootpartition(
+                                       get_partition(1, partitions));
+                       else
+                               unknown_command(c);
+                       break;
+               case 'b':
+                       if (sgi_label) {
+                               printf(_("\nThe current boot file is: %s\n"),
+                                      sgi_get_bootfile());
+                               if (read_chars(_("Please enter the name of the "
+                                              "new boot file: ")) == '\n')
+                                       printf(_("Boot file unchanged\n"));
+                               else
+                                       sgi_set_bootfile(line_ptr);
+                       } else
+                               bselect();
+                       break;
+               case 'c':
+                       if (dos_label)
+                               toggle_dos_compatibility_flag();
+                       else if (sun_label)
+                               toggle_sunflags(get_partition(1, partitions),
+                                               SUN_FLAG_RONLY);
+                       else if (sgi_label)
+                               sgi_set_swappartition(
+                                               get_partition(1, partitions));
+                       else
+                               unknown_command(c);
+                       break;
+               case 'd':
+                       /* If sgi_label then don't use get_existing_partition,
+                          let the user select a partition, since
+                          get_existing_partition() only works for Linux-like
+                          partition tables */
+                       if (!sgi_label) {
+                               j = get_existing_partition(1, partitions);
+                       } else {
+                               j = get_partition(1, partitions);
+                       }
+                       if (j >= 0)
+                               delete_partition(j);
+                       break;
+               case 'i':
+                       if (sgi_label)
+                               create_sgiinfo();
+                       else
+                               unknown_command(c);
+               case 'l':
+                       list_types(get_sys_types());
+                       break;
+               case 'm':
+                       menu();
+                       break;
+               case 'n':
+                       new_partition();
+                       break;
+               case 'o':
+                       create_doslabel();
+                       break;
+               case 'p':
+                       list_table(0);
+                       break;
+               case 'q':
+                       close(fd);
+                       printf("\n");
+                       exit(0);
+               case 's':
+                       create_sunlabel();
+                       break;
+               case 't':
+                       change_sysid();
+                       break;
+               case 'u':
+                       change_units();
+                       break;
+               case 'v':
+                       verify();
+                       break;
+               case 'w':
+                       write_table();          /* does not return */
+                       break;
+               case 'x':
+                       if (sgi_label) {
+                               fprintf(stderr,
+                                       _("\n\tSorry, no experts menu for SGI "
+                                       "partition tables available.\n\n"));
+                       } else
+                               xselect();
+                       break;
+               default:
+                       unknown_command(c);
+                       menu();
+               }
+       }
+       return 0;
+}
diff --git a/fdisk/fdisk.h b/fdisk/fdisk.h
new file mode 100644 (file)
index 0000000..75dd88e
--- /dev/null
@@ -0,0 +1,110 @@
+/*
+   fdisk.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 IS_EXTENDED(i) \
+       ((i) == EXTENDED || (i) == WIN98_EXTENDED || (i) == LINUX_EXTENDED)
+
+#define SIZE(a)        (sizeof(a)/sizeof((a)[0]))
+
+#define cround(n)      (display_in_cyl_units ? ((n)/units_per_sector)+1 : (n))
+#define scround(x)     (((x)+units_per_sector-1)/units_per_sector)
+
+#if defined(__GNUC__) && (defined(__arm__) || defined(__alpha__))
+# define PACKED __attribute__ ((packed))
+#else
+# define PACKED
+#endif
+
+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 */
+} PACKED;
+
+enum failure {usage, usage2, ioctl_error,
+       unable_to_open, unable_to_read, unable_to_seek,
+       unable_to_write, out_of_memory};
+
+enum action {fdisk, require, try_only, create_empty_dos, create_empty_sun};
+
+struct geom {
+       unsigned int heads;
+       unsigned int sectors;
+       unsigned int cylinders;
+};
+
+/* prototypes for fdisk.c */
+extern char *disk_device, *line_ptr;
+extern int fd, partitions;
+extern unsigned int display_in_cyl_units, units_per_sector;
+extern void change_units(void);
+extern void fatal(enum failure why);
+extern void get_geometry(int fd, struct geom *);
+extern int get_boot(enum action what);
+extern int  get_partition(int warn, int max);
+extern void list_types(struct systypes *sys);
+extern int read_line (void);
+extern char read_char(char *mesg);
+extern int read_hex(struct systypes *sys);
+extern void reread_partition_table(int leave);
+extern struct partition *get_part_table(int);
+extern int valid_part_table_flag(unsigned char *b);
+extern unsigned int read_int(unsigned int low, unsigned int dflt,
+                            unsigned int high, unsigned int base, char *mesg);
+
+extern unsigned char MBRbuffer[MAX_SECTOR_SIZE];
+extern unsigned int heads, cylinders, sector_size;
+extern unsigned long long sectors;
+extern char *partition_type(unsigned char type);
+extern void update_units(void);
+extern char read_chars(char *mesg);
+extern void set_changed(int);
+extern void set_all_unchanged(void);
+
+#define PLURAL 0
+#define SINGULAR 1
+extern const char * str_units(int);
+
+extern unsigned long long get_start_sect(struct partition *p);
+extern unsigned long long get_nr_sects(struct partition *p);
+
+extern int osf_label;
+extern int sun_label;
+extern int sgi_label;
+extern int aix_label;
+extern int mac_label;
+
+/* prototypes for fdiskbsdlabel.c */
+extern void bselect(void);
+extern int check_osf_label(void);
+extern int btrydev(char * dev);
+extern void xbsd_print_disklabel(int);
+
+/* prototypes for fdisksgilabel.c */
+extern int valid_part_table_flag(unsigned char *b);
+
+#define PROC_PARTITIONS "/proc/partitions"
diff --git a/fdisk/fdiskaixlabel.c b/fdisk/fdiskaixlabel.c
new file mode 100644 (file)
index 0000000..4f6167f
--- /dev/null
@@ -0,0 +1,69 @@
+/*
+  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).")
+    );
+}
+
+void
+aix_nolabel( void )
+{
+    aixlabel->magic = 0;
+    aix_label = 0;
+    partitions = 4;
+    memset( MBRbuffer, 0, sizeof(MBRbuffer) ); /* avoid fdisk cores */
+    return;
+}
+
+int
+check_aix_label( void )
+{
+    if (aixlabel->magic != AIX_LABEL_MAGIC &&
+       aixlabel->magic != AIX_LABEL_MAGIC_SWAPPED) {
+       aix_label = 0;
+       other_endian = 0;
+       return 0;
+    }
+    other_endian = (aixlabel->magic == AIX_LABEL_MAGIC_SWAPPED);
+    update_units();
+    aix_label = 1;
+    partitions= 1016;
+    volumes = 15;
+    aix_info();
+    aix_nolabel();             /* %% */
+    aix_label = 1;             /* %% */
+    return 1;
+}
diff --git a/fdisk/fdiskaixlabel.h b/fdisk/fdiskaixlabel.h
new file mode 100644 (file)
index 0000000..324b9ae
--- /dev/null
@@ -0,0 +1,31 @@
+#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.
+ */
+
+typedef struct {
+       unsigned int   magic;        /* expect AIX_LABEL_MAGIC */
+       unsigned int   fillbytes1[124];
+       unsigned int   physical_volume_id;
+       unsigned int   fillbytes2[124];
+} aix_partition;
+
+#define        AIX_LABEL_MAGIC         0xc9c2d4c1
+#define        AIX_LABEL_MAGIC_SWAPPED 0xc1d4c2c9
+#define        AIX_INFO_MAGIC          0x00072959
+#define        AIX_INFO_MAGIC_SWAPPED  0x59290700
+
+/* fdisk.c */
+#define aixlabel ((aix_partition *)MBRbuffer)
+
+/* fdiskaixlabel.c */
+extern struct  systypes aix_sys_types[];
+extern void    aix_nolabel( void );
+extern int     check_aix_label( void );
+
+#endif /* FDISK_AIX_LABEL_H */
diff --git a/fdisk/fdiskbsdlabel.c b/fdisk/fdiskbsdlabel.c
new file mode 100644 (file)
index 0000000..d5243b9
--- /dev/null
@@ -0,0 +1,867 @@
+/*
+   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/ioctl.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 (void);
+static void xbsd_new_part (void);
+static void xbsd_write_disklabel (void);
+static int xbsd_create_disklabel (void);
+static void xbsd_edit_disklabel (void);
+static void xbsd_write_bootstrap (void);
+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 u_short xbsd_dkcksum (struct xbsd_disklabel *lp);
+static int xbsd_initlabel  (struct partition *p, struct xbsd_disklabel *d,
+                           int pindex);
+static int xbsd_readlabel  (struct partition *p, struct xbsd_disklabel *d);
+static int xbsd_writelabel (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 (void);
+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.
+ */
+int
+check_osf_label(void) {
+       if (xbsd_readlabel (NULL, &xbsd_dlabel) == 0)
+               return 0;
+       return 1;
+}
+
+int
+btrydev (char * dev) {
+       if (xbsd_readlabel (NULL, &xbsd_dlabel) == 0)
+               return -1;
+       printf(_("\nBSD label for device: %s\n"), dev);
+       xbsd_print_disklabel (0);
+       return 0;
+}
+
+static void
+bmenu (void) {
+  puts (_("Command action"));
+  puts (_("   d   delete a BSD partition"));
+  puts (_("   e   edit drive data"));
+  puts (_("   i   install bootstrap"));
+  puts (_("   l   list known filesystem types"));
+  puts (_("   m   print this menu"));
+  puts (_("   n   add a new BSD partition"));
+  puts (_("   p   print BSD partition table"));
+  puts (_("   q   quit without saving changes"));
+  puts (_("   r   return to main menu"));
+  puts (_("   s   show complete disklabel"));
+  puts (_("   t   change a partition's filesystem id"));
+  puts (_("   u   change units (cylinders/sectors)"));
+  puts (_("   w   write disklabel to disk"));
+#if !defined (__alpha__)
+  puts (_("   x   link BSD partition to non-BSD partition"));
+#endif
+}
+
+#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
+
+void
+bselect (void) {
+#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(disk_device, t+1, 0));
+       return;
+      }
+      printf (_("Reading disklabel of %s at sector %d.\n"),
+             partname(disk_device, t+1, 0), ss + BSD_LABELSECTOR);
+      if (xbsd_readlabel (xbsd_part, &xbsd_dlabel) == 0)
+       if (xbsd_create_disklabel () == 0)
+         return;
+      break;
+    }
+  }
+
+  if (t == 4) {
+    printf (_("There is no *BSD partition on %s.\n"), disk_device);
+    return;
+  }
+
+#elif defined (__alpha__)
+
+  if (xbsd_readlabel (NULL, &xbsd_dlabel) == 0)
+    if (xbsd_create_disklabel () == 0)
+      exit ( EXIT_SUCCESS );
+
+#endif
+
+  while (1) {
+    putchar ('\n');
+    switch (tolower (read_char (_("BSD disklabel command (m for help): ")))) {
+      case 'd':
+       xbsd_delete_part ();
+       break;
+      case 'e':
+       xbsd_edit_disklabel ();
+       break;
+      case 'i':
+       xbsd_write_bootstrap ();
+       break;
+      case 'l':
+       xbsd_list_types ();
+       break;
+      case 'n':
+       xbsd_new_part ();
+       break;
+      case 'p':
+       xbsd_print_disklabel (0);
+       break;
+      case 'q':
+       close (fd);
+       exit ( EXIT_SUCCESS );
+      case 'r':
+       return;
+      case 's':
+       xbsd_print_disklabel (1);
+       break;
+      case 't':
+       xbsd_change_fstype ();
+       break;
+      case 'u':
+       change_units();
+       break;
+      case 'w':
+       xbsd_write_disklabel ();
+       break;
+#if !defined (__alpha__)
+      case 'x':
+       xbsd_link_part ();
+       break;
+#endif
+      default:
+       bmenu ();
+       break;
+    }
+  }
+}
+
+static void
+xbsd_delete_part (void)
+{
+  int i;
+
+  i = xbsd_get_part_index (xbsd_dlabel.d_npartitions);
+  xbsd_dlabel.d_partitions[i].p_size   = 0;
+  xbsd_dlabel.d_partitions[i].p_offset = 0;
+  xbsd_dlabel.d_partitions[i].p_fstype = BSD_FS_UNUSED;
+  if (xbsd_dlabel.d_npartitions == i + 1)
+    while (xbsd_dlabel.d_partitions[xbsd_dlabel.d_npartitions-1].p_size == 0)
+      xbsd_dlabel.d_npartitions--;
+}
+
+static void
+xbsd_new_part (void)
+{
+  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 (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 (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;
+}
+
+void
+xbsd_print_disklabel (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", disk_device);
+#else
+    fprintf(f, "# %s:\n", partname(disk_device, 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 void
+xbsd_write_disklabel (void) {
+#if defined (__alpha__)
+       printf (_("Writing disklabel to %s.\n"), disk_device);
+       xbsd_writelabel (NULL, &xbsd_dlabel);
+#else
+       printf (_("Writing disklabel to %s.\n"),
+               partname(disk_device, xbsd_part_index+1, 0));
+       xbsd_writelabel (xbsd_part, &xbsd_dlabel);
+#endif
+       reread_partition_table(0);      /* no exit yet */
+}
+
+static int
+xbsd_create_disklabel (void) {
+       char c;
+
+#if defined (__alpha__)
+       fprintf (stderr, _("%s contains no disklabel.\n"), disk_device);
+#else
+       fprintf (stderr, _("%s contains no disklabel.\n"),
+                partname(disk_device, 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 (
+#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 (1);
+                               return 1;
+                       } else
+                               return 0;
+               } else if (c == 'n')
+                       return 0;
+       }
+}
+
+static int
+edit_int (int def, char *mesg)
+{
+  do {
+    fputs (mesg, stdout);
+    printf (" (%d): ", def);
+    if (!read_line ())
+      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    = (u_long) edit_int ((u_long) d -> d_secsize     ,_("bytes/sector"));
+  d -> d_nsectors   = (u_long) edit_int ((u_long) d -> d_nsectors    ,_("sectors/track"));
+  d -> d_ntracks    = (u_long) edit_int ((u_long) d -> d_ntracks     ,_("tracks/cylinder"));
+  d -> d_ncylinders = (u_long) edit_int ((u_long) d -> d_ncylinders  ,_("cylinders"));
+#endif
+
+  /* d -> d_secpercyl can be != d -> d_nsectors * d -> d_ntracks */
+  while (1)
+  {
+    d -> d_secpercyl = (u_long) edit_int ((u_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        = (u_short) edit_int ((u_short) d -> d_rpm       ,_("rpm"));
+  d -> d_interleave = (u_short) edit_int ((u_short) d -> d_interleave,_("interleave"));
+  d -> d_trackskew  = (u_short) edit_int ((u_short) d -> d_trackskew ,_("trackskew"));
+  d -> d_cylskew    = (u_short) edit_int ((u_short) d -> d_cylskew   ,_("cylinderskew"));
+  d -> d_headswitch = (u_long) edit_int ((u_long) d -> d_headswitch  ,_("headswitch"));
+  d -> d_trkseek    = (u_long) edit_int ((u_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 (void)
+{
+  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 ()) {
+    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 */
+  bzero (d, 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 (fd, (off_t) sector * SECTOR_SIZE, SEEK_SET) == -1)
+    fatal (unable_to_seek);
+  if (BSD_BBSIZE != write (fd, disklabelbuffer, BSD_BBSIZE))
+    fatal (unable_to_write);
+
+#if defined (__alpha__)
+  printf (_("Bootstrap installed on %s.\n"), disk_device);
+#else
+  printf (_("Bootstrap installed on %s.\n"),
+    partname (disk_device, 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 u_short
+xbsd_dkcksum (struct xbsd_disklabel *lp) {
+       u_short *start, *end;
+       u_short sum = 0;
+  
+       start = (u_short *) lp;
+       end = (u_short *) &lp->d_partitions[lp->d_npartitions];
+       while (start < end)
+               sum ^= *start++;
+       return sum;
+}
+
+static int
+xbsd_initlabel (struct partition *p, struct xbsd_disklabel *d, int pindex) {
+       struct xbsd_partition *pp;
+       struct geom g;
+
+       get_geometry (fd, &g);
+       bzero (d, sizeof (struct xbsd_disklabel));
+
+       d -> d_magic = BSD_DISKMAGIC;
+
+       if (strncmp (disk_device, "/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 = g.sectors;            /* sectors/track */
+       d -> d_ntracks = g.heads;               /* tracks/cylinder (heads) */
+       d -> d_ncylinders = g.cylinders;
+       d -> d_secpercyl  = g.sectors * g.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 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 (fd, (off_t) sector * SECTOR_SIZE, SEEK_SET) == -1)
+               fatal (unable_to_seek);
+       if (BSD_BBSIZE != read (fd, disklabelbuffer, BSD_BBSIZE))
+               fatal (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 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 (fd, (off_t) 0, SEEK_SET) == -1)
+    fatal (unable_to_seek);
+  if (BSD_BBSIZE != write (fd, disklabelbuffer, BSD_BBSIZE))
+    fatal (unable_to_write);
+#else
+  if (lseek (fd, (off_t) sector * SECTOR_SIZE + BSD_LABELOFFSET,
+                  SEEK_SET) == -1)
+    fatal (unable_to_seek);
+  if (sizeof (struct xbsd_disklabel) != write (fd, d, sizeof (struct xbsd_disklabel)))
+    fatal (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 (void)
+{
+  int k, i;
+  struct partition *p;
+
+  k = get_partition (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__ */
diff --git a/fdisk/fdiskbsdlabel.h b/fdisk/fdiskbsdlabel.h
new file mode 100644 (file)
index 0000000..461c2ac
--- /dev/null
@@ -0,0 +1,241 @@
+#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 (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 */
+
+#endif /* FDISK_BSD_LABEL_H */
diff --git a/fdisk/fdiskmaclabel.c b/fdisk/fdiskmaclabel.c
new file mode 100644 (file)
index 0000000..06d4a6e
--- /dev/null
@@ -0,0 +1,86 @@
+/*
+  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( void )
+{
+    maclabel->magic = 0;
+    mac_label = 0;
+    partitions = 4;
+    memset( MBRbuffer, 0, sizeof(MBRbuffer) ); /* avoid fdisk cores */
+    return;
+}
+
+int
+check_mac_label( void )
+{
+       /*
+       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:
+                       mac_label = 0;
+                       other_endian = 0;
+                       return 0;
+
+
+       }
+
+IS_MAC:
+    other_endian = (maclabel->magic == MAC_LABEL_MAGIC_SWAPPED); // =?
+    update_units();
+    mac_label = 1;
+    partitions= 1016; // =?
+    volumes = 15;      // =?
+    mac_info();
+    mac_nolabel();             /* %% */
+    mac_label = 1;             /* %% */
+    return 1;
+}
+
diff --git a/fdisk/fdiskmaclabel.h b/fdisk/fdiskmaclabel.h
new file mode 100644 (file)
index 0000000..e664a15
--- /dev/null
@@ -0,0 +1,39 @@
+#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.
+ */
+
+typedef struct {
+       unsigned int  magic;        /* expect MAC_LABEL_MAGIC */
+       unsigned int  fillbytes1[124];
+       unsigned int  physical_volume_id;
+       unsigned int  fillbytes2[124];
+} mac_partition;
+
+/* 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
+
+/* fdisk.c */
+#define maclabel ((mac_partition *)MBRbuffer)
+
+/* fdiskmaclabel.c */
+extern struct  systypes mac_sys_types[];
+extern void    mac_nolabel( void );
+extern int     check_mac_label( void );
+
+#endif /* FDISK_MAC_LABEL_H */
+
diff --git a/fdisk/fdisksgilabel.c b/fdisk/fdisksgilabel.c
new file mode 100644 (file)
index 0000000..9f87751
--- /dev/null
@@ -0,0 +1,849 @@
+/*
+ *
+ * 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
+ */
+#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 "blkdev.h"
+
+#include "common.h"
+#include "fdisk.h"
+#include "fdisksgilabel.h"
+
+static int     other_endian = 0;
+static int     debug = 0;
+static  short volumes=1;
+
+/*
+ * 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) {
+       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 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 (((x & 0xFF) << 24) |
+               ((x & 0xFF00) << 8) |
+               ((x & 0xFF0000) >> 8) |
+               ((x & 0xFF000000) >> 24));
+}
+
+static int
+sgi_get_nsect(void) {
+       return SSWAP16(sgilabel->devparam.nsect);
+}
+
+static int
+sgi_get_ntrks(void) {
+       return SSWAP16(sgilabel->devparam.ntrks);
+}
+
+#if 0
+static int
+sgi_get_head_vol0(void) {
+       return SSWAP16(sgilabel->devparam.head_vol0);
+}
+
+static int
+sgi_get_bytes(void) {
+       return SSWAP16(sgilabel->devparam.bytes);
+}
+
+static int
+sgi_get_pcylcount(void) {
+       return SSWAP16(sgilabel->devparam.pcylcount);
+}
+#endif
+
+void
+sgi_nolabel() {
+       sgilabel->magic = 0;
+       sgi_label = 0;
+       partitions = 4;
+}
+
+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;
+}
+
+int
+check_sgi_label() {
+       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) {
+               sgi_label = 0;
+               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"));
+       }
+       update_units();
+       sgi_label = 1;
+       partitions= 16;
+       volumes = 15;
+       return 1;
+}
+
+void
+sgi_list_table(int xtra) {
+       int i, w;
+       int kpi = 0;            /* kernel partition ID */
+       char *type;
+
+       w = strlen(disk_device);
+
+       if (xtra) {
+               printf(_("\nDisk %s (SGI disk label): %d heads, %llu sectors\n"
+                        "%d cylinders, %d physical cylinders\n"
+                        "%d extra sects/cyl, interleave %d:1\n"
+                        "%s\n"
+                        "Units = %s of %d * %d bytes\n\n"),
+                      disk_device, heads, sectors, cylinders,
+                      SSWAP16(sgiparam.pcylcount),
+                      SSWAP16(sgiparam.sparecyl),
+                      SSWAP16(sgiparam.ilfact),
+                      (char *)sgilabel,
+                      str_units(PLURAL), units_per_sector,
+                       sector_size);
+       } else {
+               printf(_("\nDisk %s (SGI disk label): "
+                        "%d heads, %llu sectors, %d cylinders\n"
+                        "Units = %s of %d * %d bytes\n\n"),
+                      disk_device, heads, sectors, cylinders,
+                      str_units(PLURAL), units_per_sector,
+                       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(i) || debug) {
+                       uint32_t start = sgi_get_start_sector(i);
+                       uint32_t len = sgi_get_num_sectors(i);
+                       kpi++;          /* only count nonempty partitions */
+                       printf(
+                               "%2d: %s %4s %9ld %9ld %9ld  %2x  %s\n",
+/* fdisk part number */   i+1,
+/* device */              partname(disk_device, kpi, w+2),
+/* flags */               (sgi_get_swappartition() == i) ? "swap" :
+/* flags */               (sgi_get_bootpartition() == i) ? "boot" : "    ", 
+/* start */               (long) scround(start),
+/* end */                 (long) scround(start+len)-1,
+/* no odd flag on end */  (long) len, 
+/* type id */             sgi_get_sysid(i),
+/* type name */           (type = partition_type(sgi_get_sysid(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(int i) {
+       return SSWAP32(sgilabel->partitions[i].start_sector);
+}
+
+unsigned int
+sgi_get_num_sectors(int i) {
+       return SSWAP32(sgilabel->partitions[i].num_sectors);
+}
+
+int
+sgi_get_sysid(int i)
+{
+       return SSWAP32(sgilabel->partitions[i].id);
+}
+
+int
+sgi_get_bootpartition(void)
+{
+       return SSWAP16(sgilabel->boot_part);
+}
+
+int
+sgi_get_swappartition(void)
+{
+       return SSWAP16(sgilabel->swap_part);
+}
+
+void
+sgi_set_bootpartition(int i)
+{
+       sgilabel->boot_part = SSWAP16(((short)i));
+}
+
+static unsigned int
+sgi_get_lastblock(void) {
+       return heads * sectors * cylinders;
+}
+
+void
+sgi_set_swappartition(int i) {
+       sgilabel->swap_part = SSWAP16(((short)i));
+}
+
+static int
+sgi_check_bootfile(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 */
+}
+
+const char *
+sgi_get_bootfile(void) {
+       return (char *) sgilabel->boot_file;
+}
+
+void
+sgi_set_bootfile(const char* aFile) {
+       int i = 0;
+
+       if (sgi_check_bootfile(aFile)) {
+               while (i < 16) {
+                       if ((aFile[i] != '\n')  /* in principle caught again by next line */
+                           &&  (strlen(aFile) > i))
+                               sgilabel->boot_file[i] = aFile[i];
+                       else
+                               sgilabel->boot_file[i] = 0;
+                       i++;
+               }
+               printf(_("\n\tBootfile is changed to \"%s\".\n"),
+                      sgilabel->boot_file);
+       }
+}
+
+void
+create_sgiinfo(void) {
+       /* 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);
+}
+
+sgiinfo *fill_sgiinfo(void);
+
+void
+sgi_write_table(void) {
+       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(fd, 0, SEEK_SET) < 0)
+               fatal(unable_to_seek);
+       if (write(fd, sgilabel, SECTOR_SIZE) != SECTOR_SIZE)
+               fatal(unable_to_write);
+       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).
+                */
+               sgiinfo *info = fill_sgiinfo();
+               int infostartblock = SSWAP32(sgilabel->directory[0].vol_file_start);
+               if (lseek(fd, (off_t) infostartblock*
+                               SECTOR_SIZE, SEEK_SET) < 0)
+                       fatal(unable_to_seek);
+               if (write(fd, info, SECTOR_SIZE) != SECTOR_SIZE)
+                       fatal(unable_to_write);
+               free(info);
+       }
+}
+
+static int
+compare_start(int *x, int *y) {
+       /*
+        * sort according to start sectors
+        * and prefers largest partition:
+        * entry zero is entire disk entry
+        */
+       unsigned int i = *x;
+       unsigned int j = *y;
+       unsigned int a = sgi_get_start_sector(i);
+       unsigned int b = sgi_get_start_sector(j);
+       unsigned int c = sgi_get_num_sectors(i);
+       unsigned int d = sgi_get_num_sectors(j);
+
+       if (a == b)
+               return (d > c) ? 1 : (d == c) ? 0 : -1;
+       return (a > b) ? 1 : -1;
+}
+
+static int
+sgi_gaps(void) {
+       /*
+        * returned value is:
+        *  = 0 : disk is properly filled to the rim
+        *  < 0 : there is an overlap
+        *  > 0 : there is still some vacant space
+        */
+       return verify_sgi(0);
+}
+
+int
+verify_sgi(int verbose)
+{
+       int Index[16];          /* list of valid partitions */
+       int sortcount = 0;      /* number of used partitions, i.e. non-zero lengths */
+       int entire = 0, i = 0;
+       unsigned int start = 0;
+       long long gap = 0;      /* count unused blocks */
+       unsigned int lastblock = sgi_get_lastblock();
+
+       clearfreelist();
+       for (i=0; i<16; i++) {
+               if (sgi_get_num_sectors(i) != 0) {
+                       Index[sortcount++]=i;
+                       if (sgi_get_sysid(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;
+       }
+       qsort(Index, sortcount, sizeof(Index[0]), (void*)compare_start);
+       if (sgi_get_sysid(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(Index[0]) != 0) && verbose)
+                       printf(_("The entire disk partition should start "
+                                "at block 0,\n"
+                                "not at diskblock %d.\n"),
+                              sgi_get_start_sector(Index[0]));
+               if (debug)      /* I do not understand how some disks fulfil it */
+                       if ((sgi_get_num_sectors(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(Index[0]), lastblock);
+               lastblock = sgi_get_num_sectors(Index[0]);
+       } else {
+               if (verbose)
+                       printf(_("One Partition (#11) should cover the entire disk.\n"));
+               if (debug>2)
+                       printf("sysid=%d\tpartition=%d\n",
+                              sgi_get_sysid(Index[0]), Index[0]+1);
+       }
+       for (i=1, start=0; i<sortcount; i++) {
+               int cylsize = sgi_get_nsect() * sgi_get_ntrks();
+               if ((sgi_get_start_sector(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(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(Index[i]) == ENTIRE_DISK) continue;
+               if (start > sgi_get_start_sector(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(Index[i]));
+                       if (gap >  0) gap = -gap;
+                       if (gap == 0) gap = -1;
+               }
+               if (start < sgi_get_start_sector(Index[i])) {
+                       if (verbose)
+                               printf(_("Unused gap of %8u sectors - sectors %8u-%u\n"),
+                                      sgi_get_start_sector(Index[i]) - start,
+                                      start, sgi_get_start_sector(Index[i])-1);
+                       gap += sgi_get_start_sector(Index[i]) - start;
+                       add2freelist(start, sgi_get_start_sector(Index[i]));
+               }
+               start = sgi_get_start_sector(Index[i])
+                       + sgi_get_num_sectors(Index[i]);
+               if (debug > 1) {
+                       if (verbose)
+                               printf("%2d:%12d\t%12d\t%12d\n", Index[i],
+                                      sgi_get_start_sector(Index[i]),
+                                      sgi_get_num_sectors(Index[i]),
+                                      sgi_get_sysid(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_num_sectors(sgi_get_bootpartition())) {
+                       printf(_("\nThe boot partition does not exist.\n"));
+               }
+               if (!sgi_get_num_sectors(sgi_get_swappartition())) {
+                       printf(_("\nThe swap partition does not exist.\n"));
+               } else {
+                       if ((sgi_get_sysid(sgi_get_swappartition()) != SGI_SWAP)
+                           &&  (sgi_get_sysid(sgi_get_swappartition()) != LINUX_SWAP))
+                               printf(_("\nThe swap partition has no swap type.\n"));
+               }
+               if (sgi_check_bootfile("/unix"))
+                       printf(_("\tYou have chosen an unusual boot file name.\n"));
+       }
+       return (gap > 0) ? 1 : (gap == 0) ? 0 : -1;
+}
+
+int
+sgi_change_sysid(int i, int sys)
+{
+       if (sgi_get_num_sectors(i) == 0) /* caught already before, ... */ {
+               printf(_("Sorry You may change the Tag of non-empty partitions.\n"));
+               return 0;
+       }
+       if (((sys != ENTIRE_DISK) && (sys != SGI_VOLHDR))
+           && (sgi_get_start_sector(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(void) {
+       int i;
+
+       for (i=0; i<16; i++)
+               if (sgi_get_sysid(i) == SGI_VOLUME)
+                       return i;
+       return -1;
+}
+
+static void
+sgi_set_partition(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() < 0)     /* rebuild freelist */
+               printf(_("Do You know, You got a partition overlap on the disk?\n"));
+}
+
+static void
+sgi_set_entire(void) {
+       int n;
+
+       for (n=10; n<partitions; n++) {
+               if (!sgi_get_num_sectors(n)) {
+                       sgi_set_partition(n, 0, sgi_get_lastblock(), SGI_VOLUME);
+                       break;
+               }
+       }
+}
+
+static
+void
+sgi_set_volhdr(void)
+{
+       int n;
+
+       for (n=8; n<partitions; n++) {
+               if (!sgi_get_num_sectors(n)) {
+                       /*
+                        * Choose same default volume header size
+                        * as IRIX fx uses.
+                        */
+                       if (4096 < sgi_get_lastblock())
+                               sgi_set_partition(n, 0, 4096, SGI_VOLHDR);
+                       break;
+               }
+       }
+}
+
+void
+sgi_delete_partition(int i)
+{
+       sgi_set_partition(i, 0, 0, 0);
+}
+
+void
+sgi_add_partition(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(n)) {
+               printf(_("Partition %d is already defined.  Delete "
+                        "it before re-adding it.\n"), n + 1);
+               return;
+       }
+       if ((sgi_entire() == -1)
+           &&  (sys != SGI_VOLUME)) {
+               printf(_("Attempting to generate entire disk entry automatically.\n"));
+               sgi_set_entire();
+               sgi_set_volhdr();
+       }
+       if ((sgi_gaps() == 0) &&  (sys != SGI_VOLUME)) {
+               printf(_("The entire disk is already covered with partitions.\n"));
+               return;
+       }
+       if (sgi_gaps() < 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();
+                       first = read_int(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(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(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()))
+               printf(_("It is highly recommended that eleventh partition\n"
+                        "covers the entire disk and is of type `SGI volume'\n"));
+       sgi_set_partition(n, first, last-first, sys);
+}
+
+void
+create_sgilabel(void)
+{
+       struct hd_geometry geometry;
+       struct {
+               unsigned int start;
+               unsigned int nsect;
+               int sysid;
+       } old[4];
+       int i=0;
+       unsigned long long llsectors;
+       int res;                /* the result from the ioctl */
+       int sec_fac;            /* the sector factor */
+
+       sec_fac = sector_size / 512;    /* determine the sector factor */
+
+       fprintf(stderr,
+               _("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"));
+
+       other_endian = (BYTE_ORDER == LITTLE_ENDIAN);
+
+       res = blkdev_get_sectors(fd, &llsectors);
+
+#ifdef HDIO_GETGEO
+       if (!ioctl(fd, HDIO_GETGEO, &geometry)) {
+               heads = geometry.heads;
+               sectors = geometry.sectors;
+               if (res == 0) {
+                       /* the get device size ioctl was successful */
+                       unsigned long long llcyls;
+                       llcyls = llsectors / (heads * sectors * sec_fac);
+                       cylinders = llcyls;
+                       if (cylinders != llcyls)        /* truncated? */
+                               cylinders = ~0;
+               } else {
+                       /* otherwise print error and use truncated version */
+                       cylinders = geometry.cylinders;
+                       fprintf(stderr,
+                               _("Warning:  BLKGETSIZE ioctl failed on %s.  "
+                                 "Using geometry cylinder value of %d.\n"
+                                 "This value may be truncated for devices"
+                                 " > 33.8 GB.\n"), disk_device, cylinders);
+               }
+       }
+#endif
+       for (i = 0; i < 4; i++) {
+               old[i].sysid = 0;
+               if (valid_part_table_flag(MBRbuffer)) {
+                       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));
+                               printf(_("Trying to keep parameters of partition %d.\n"), i);
+                               if (debug)
+                                       printf(_("ID=%02x\tSTART=%d\tLENGTH=%d\n"),
+                                              old[i].sysid, old[i].start, old[i].nsect);
+                       }
+               }
+       }
+
+       memset(MBRbuffer, 0, sizeof(MBRbuffer));
+       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(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);
+       sgi_label  =  1;
+       partitions = 16;
+       volumes    = 15;
+       sgi_set_entire();
+       sgi_set_volhdr();
+       for (i = 0; i < 4; i++) {
+               if (old[i].sysid) {
+                       sgi_set_partition(i, old[i].start, old[i].nsect, old[i].sysid);
+               }
+       }
+}
+
+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 */
+}
+
+/* _____________________________________________________________
+ */
+
+sgiinfo *
+fill_sgiinfo(void)
+{
+       sgiinfo*info=calloc(1, sizeof(sgiinfo));
+       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;
+}
diff --git a/fdisk/fdisksgilabel.h b/fdisk/fdisksgilabel.h
new file mode 100644 (file)
index 0000000..a4704e4
--- /dev/null
@@ -0,0 +1,137 @@
+#ifndef FDISK_SGI_LABEL_H
+#define FDISK_SGI_LABEL_H
+
+#include <stdint.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 */
+       unsigned short boot_part;        /* active boot partition */
+       unsigned 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 ? __swap16(x) \
+                                 : (uint16_t)(x))
+#define SSWAP32(x) (other_endian ? __swap32(x) \
+                                 : (uint32_t)(x))
+
+/* fdisk.c */
+#define sgilabel ((sgi_partition *)MBRbuffer)
+#define sgiparam (sgilabel->devparam)
+
+/* fdisksgilabel.c */
+extern struct  systypes sgi_sys_types[];
+extern void    sgi_nolabel( void );
+extern int     check_sgi_label( void );
+extern void    sgi_list_table( int xtra );
+extern int  sgi_change_sysid( int i, int sys );
+extern unsigned int    sgi_get_start_sector( int i );
+extern unsigned int    sgi_get_num_sectors( int i );
+extern int     sgi_get_sysid( int i );
+extern void    sgi_delete_partition( int i );
+extern void    sgi_add_partition( int n, int sys );
+extern void    create_sgilabel( void );
+extern void    create_sgiinfo( void );
+extern int     verify_sgi( int verbose );
+extern void    sgi_write_table( void );
+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( int i );
+extern void    sgi_set_swappartition( int i );
+extern int     sgi_get_bootpartition( void );
+extern int     sgi_get_swappartition( void );
+extern void    sgi_set_bootfile( const char* aFile );
+extern const char *sgi_get_bootfile( void );
+
+#endif /* FDISK_SGI_LABEL_H */
diff --git a/fdisk/fdisksunlabel.c b/fdisk/fdisksunlabel.c
new file mode 100644 (file)
index 0000000..935c92a
--- /dev/null
@@ -0,0 +1,683 @@
+/*
+ * 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 <sys/stat.h>          /* stat */
+#include <sys/sysmacros.h>     /* major */
+
+#include "nls.h"
+#include "blkdev.h"
+
+#include <endian.h>
+#ifdef HAVE_SCSI_SCSI_H
+#define u_char unsigned char
+#include <scsi/scsi.h>         /* SCSI_IOCTL_GET_IDLUN */
+#undef u_char
+#endif
+#ifdef HAVE_LINUX_MAJOR_H
+#include <linux/major.h>       /* FLOPPY_MAJOR */
+#endif
+
+#include "common.h"
+#include "fdisk.h"
+#include "fdisksunlabel.h"
+
+static int     other_endian = 0;
+static int     scsi_disk = 0;
+static int     floppy = 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))
+
+#ifndef FLOPPY_MAJOR
+#define FLOPPY_MAJOR 2
+#endif
+#ifndef IDE0_MAJOR
+#define IDE0_MAJOR 3
+#endif
+#ifndef IDE1_MAJOR
+#define IDE1_MAJOR 22
+#endif
+void guess_device_type(int fd)
+{
+       struct stat bootstat;
+
+       if (fstat (fd, &bootstat) < 0) {
+                scsi_disk = 0;
+                floppy = 0;
+       } else if (S_ISBLK(bootstat.st_mode)
+                  && (major(bootstat.st_rdev) == IDE0_MAJOR ||
+                      major(bootstat.st_rdev) == IDE1_MAJOR)) {
+                scsi_disk = 0;
+                floppy = 0;
+       } else if (S_ISBLK(bootstat.st_mode)
+                  && major(bootstat.st_rdev) == FLOPPY_MAJOR) {
+                scsi_disk = 0;
+                floppy = 1;
+       } else {
+                scsi_disk = 1;
+                floppy = 0;
+       }
+}
+
+static void set_sun_partition(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 / (heads * sectors));
+       sunlabel->partitions[i].num_sectors =
+               SSWAP32(stop - start);
+       set_changed(i);
+}
+
+void sun_nolabel(void)
+{
+       sun_label = 0;
+       sunlabel->magic = 0;
+       partitions = 4;
+}
+
+int check_sun_label(void)
+{
+       unsigned short *ush;
+       int csum;
+
+       if (sunlabel->magic != SUN_LABEL_MAGIC &&
+           sunlabel->magic != SUN_LABEL_MAGIC_SWAPPED) {
+               sun_label = 0;
+               other_endian = 0;
+               return 0;
+       }
+       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;
+
+               heads = SSWAP16(sunlabel->nhead);
+               cylinders = SSWAP16(sunlabel->ncyl);
+               sectors = SSWAP16(sunlabel->nsect);
+
+               if (sunlabel->version != SSWAP32(SUN_LABEL_VERSION)) {
+                       fprintf(stderr,_("Detected sun disklabel with wrong version [0x%08x].\n"),
+                               sunlabel->version);
+                       need_fixing = 1;
+               }
+               if (sunlabel->sanity != SSWAP32(SUN_LABEL_SANE)) {
+                       fprintf(stderr,_("Detected sun disklabel with wrong sanity [0x%08x].\n"),
+                               sunlabel->sanity);
+                       need_fixing = 1;
+               }
+               if (sunlabel->num_partitions != SSWAP16(SUN_NUM_PARTITIONS)) {
+                       fprintf(stderr,_("Detected sun disklabel with wrong num_partitions [%u].\n"),
+                               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();
+       sun_label = 1;
+       partitions = SUN_NUM_PARTITIONS;
+       return 1;
+}
+
+void create_sunlabel(void)
+{
+       struct hd_geometry geometry;
+       unsigned long long llsectors, llcyls;
+       unsigned int ndiv;
+       int res, sec_fac;
+
+       fprintf(stderr,
+       _("Building a new sun disklabel. Changes will remain in memory only,\n"
+               "until you decide to write them. After that, of course, the previous\n"
+       "content won't be recoverable.\n\n"));
+#if BYTE_ORDER == LITTLE_ENDIAN
+       other_endian = 1;
+#else
+       other_endian = 0;
+#endif
+       memset(MBRbuffer, 0, sizeof(MBRbuffer));
+       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(fd, &llsectors);
+       sec_fac = sector_size / 512;
+
+#ifdef HDIO_GETGEO
+       if (!ioctl(fd, HDIO_GETGEO, &geometry)) {
+               heads = geometry.heads;
+               sectors = geometry.sectors;
+               if (res == 0) {
+                       llcyls = llsectors / (heads * sectors * sec_fac);
+                       cylinders = llcyls;
+                       if (cylinders != llcyls)
+                               cylinders = ~0;
+               } else {
+                       cylinders = geometry.cylinders;
+                       fprintf(stderr,
+                               _("Warning:  BLKGETSIZE ioctl failed on %s.  "
+                                 "Using geometry cylinder value of %d.\n"
+                                 "This value may be truncated for devices"
+                                 " > 33.8 GB.\n"), disk_device, cylinders);
+               }
+       } else
+#endif
+       {
+               heads = read_int(1,1,1024,0,_("Heads"));
+               sectors = read_int(1,1,1024,0,_("Sectors/track"));
+               cylinders = read_int(1,1,65535,0,_("Cylinders"));
+       }
+
+       sunlabel->acyl   = SSWAP16(2);
+       sunlabel->pcyl   = SSWAP16(cylinders);
+       sunlabel->ncyl   = SSWAP16(cylinders - 2);
+       sunlabel->rpm    = SSWAP16(5400);
+       sunlabel->intrlv = SSWAP16(1);
+       sunlabel->apc    = SSWAP16(0);
+
+       sunlabel->nhead = SSWAP16(heads);
+       sunlabel->nsect = SSWAP16(sectors);
+       sunlabel->ncyl = SSWAP16(cylinders);
+
+       snprintf(sunlabel->label_id, sizeof(sunlabel->label_id),
+                "Linux cyl %d alt %d hd %d sec %llu",
+                cylinders, SSWAP16(sunlabel->acyl), heads, sectors);
+
+       if (cylinders * heads * sectors >= 150 * 2048) {
+               ndiv = cylinders - (50 * 2048 / (heads * sectors)); /* 50M swap */
+       } else
+               ndiv = cylinders * 2 / 3;
+
+       set_sun_partition(0, 0, ndiv * heads * sectors,
+                         SUN_TAG_LINUX_NATIVE);
+       set_sun_partition(1, ndiv * heads * sectors,
+                         cylinders * heads * sectors,
+                         SUN_TAG_LINUX_SWAP);
+       sunlabel->part_tags[1].flag |= SSWAP16(SUN_FLAG_UNMNT);
+
+       set_sun_partition(2, 0, cylinders * heads * 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();
+       get_boot(create_empty_sun);
+       set_changed(0);
+}
+
+void toggle_sunflags(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(uint32_t *starts, uint32_t *lens, uint32_t *start, uint32_t *stop)
+{
+       int i, continuous = 1;
+
+       *start = 0;
+       *stop = cylinders * heads * 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) *
+                                    heads * 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;
+}
+
+void verify_sun(void)
+{
+    uint32_t starts[SUN_NUM_PARTITIONS], lens[SUN_NUM_PARTITIONS], start, stop;
+    int i,j,k,starto,endo;
+    int array[SUN_NUM_PARTITIONS];
+
+    verify_sun_starts = starts;
+
+    fetch_sun(starts, lens, &start, &stop);
+
+    for (k = 0; k < 7; k++) {
+       for (i = 0; i < SUN_NUM_PARTITIONS; i++) {
+           if (k && (lens[i] % (heads * 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,SIZE(array),sizeof(array[0]),
+         (int (*)(const void *,const void *)) verify_sun_cmp);
+    if (array[0] == -1) {
+       printf(_("No partitions defined\n"));
+       return;
+    }
+    stop = cylinders * heads * 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);
+}
+
+void add_sun_partition(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, 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(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(0, 0, 0, 0, mesg);
+               else
+                       first = read_int(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 = heads * 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 = cylinders * heads * 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(scround(stop2), scround(stop2), scround(stop2),
+                               0, mesg);
+       else if (n == 2 && !first)
+               last = read_int(scround(first), scround(stop2), scround(stop2),
+                               scround(first), mesg);
+       else
+               last = read_int(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(n, first, last, sys);
+}
+
+void sun_delete_partition(int i)
+{
+       struct sun_partition *part = &sunlabel->partitions[i];
+       struct sun_tag_flag *tag = &sunlabel->part_tags[i];
+       unsigned int nsec;
+
+       if (i == 2 &&
+           tag->tag == SSWAP16(SUN_TAG_BACKUP) &&
+           !part->start_cylinder &&
+           (nsec = SSWAP32(part->num_sectors))
+             == heads * sectors * 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(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(int xtra)
+{
+       int i, w;
+       char *type;
+
+       w = strlen(disk_device);
+       if (xtra)
+               printf(
+               _("\nDisk %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"
+               "Units = %s of %d * 512 bytes\n\n"),
+                      disk_device, heads, sectors, SSWAP16(sunlabel->rpm),
+                      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): %d heads, %llu sectors, %d cylinders\n"
+       "Units = %s of %d * 512 bytes\n\n"),
+                      disk_device, heads, sectors, 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) * heads * sectors;
+                       uint32_t len = SSWAP32(part->num_sectors);
+                       printf(
+                           "%s %c%c %9ld %9ld %9ld%c  %2x  %s\n",
+/* device */             partname(disk_device, i+1, w),
+/* flags */              (tag->flag & SSWAP16(SUN_FLAG_UNMNT)) ? 'u' : ' ',
+                         (tag->flag & SSWAP16(SUN_FLAG_RONLY)) ? 'r' : ' ',
+/* start */              (long) scround(start),
+/* end */                (long) scround(start+len),
+/* odd flag on end */    (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(void)
+{
+       sunlabel->acyl =
+               SSWAP16(read_int(0,SSWAP16(sunlabel->acyl), 65535, 0,
+                                _("Number of alternate cylinders")));
+}
+
+void sun_set_ncyl(int cyl)
+{
+       sunlabel->ncyl = SSWAP16(cyl);
+}
+
+void sun_set_xcyl(void)
+{
+       sunlabel->apc =
+               SSWAP16(read_int(0, SSWAP16(sunlabel->apc), sectors, 0,
+                                _("Extra sectors per cylinder")));
+}
+
+void sun_set_ilfact(void)
+{
+       sunlabel->intrlv =
+               SSWAP16(read_int(1, SSWAP16(sunlabel->intrlv), 32, 0,
+                                _("Interleave factor")));
+}
+
+void sun_set_rspeed(void)
+{
+       sunlabel->rpm =
+               SSWAP16(read_int(1, SSWAP16(sunlabel->rpm), 100000, 0,
+                                _("Rotation speed (rpm)")));
+}
+
+void sun_set_pcylcount(void)
+{
+       sunlabel->pcyl =
+               SSWAP16(read_int(0, SSWAP16(sunlabel->pcyl), 65535, 0,
+                                _("Number of physical cylinders")));
+}
+
+void sun_write_table(void)
+{
+       unsigned short *ush = (unsigned short *)sunlabel;
+       unsigned short csum = 0;
+
+       while(ush < (unsigned short *)(&sunlabel->cksum))
+               csum ^= *ush++;
+       sunlabel->cksum = csum;
+       if (lseek(fd, 0, SEEK_SET) < 0)
+               fatal(unable_to_seek);
+       if (write(fd, sunlabel, SECTOR_SIZE) != SECTOR_SIZE)
+               fatal(unable_to_write);
+}
+
+int sun_get_sysid(int i)
+{
+       return SSWAP16(sunlabel->part_tags[i].tag);
+}
diff --git a/fdisk/fdisksunlabel.h b/fdisk/fdisksunlabel.h
new file mode 100644 (file)
index 0000000..b7419cb
--- /dev/null
@@ -0,0 +1,99 @@
+#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 *)MBRbuffer)
+
+/* fdisksunlabel.c */
+extern struct systypes sun_sys_types[];
+extern void guess_device_type(int fd);
+extern int check_sun_label(void);
+extern void sun_nolabel(void);
+extern void create_sunlabel(void);
+extern void sun_delete_partition(int i);
+extern int sun_change_sysid(int i, uint16_t sys);
+extern void sun_list_table(int xtra);
+extern void verify_sun(void);
+extern void add_sun_partition(int n, int sys);
+extern void sun_write_table(void);
+extern void sun_set_alt_cyl(void);
+extern void sun_set_ncyl(int cyl);
+extern void sun_set_xcyl(void);
+extern void sun_set_ilfact(void);
+extern void sun_set_rspeed(void);
+extern void sun_set_pcylcount(void);
+extern void toggle_sunflags(int i, uint16_t mask);
+extern int sun_get_sysid(int i);
+
+#endif /* FDISK_SUN_LABEL_H */
diff --git a/fdisk/gpt.c b/fdisk/gpt.c
new file mode 100644 (file)
index 0000000..f7752c0
--- /dev/null
@@ -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/ioctl.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"
+
+#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: %s\n",
+                       strerror(errno));
+               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)
+{
+       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/fdisk/gpt.h b/fdisk/gpt.h
new file mode 100644 (file)
index 0000000..e57c24a
--- /dev/null
@@ -0,0 +1,8 @@
+#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/fdisk/i386_sys_types.c b/fdisk/i386_sys_types.c
new file mode 100644 (file)
index 0000000..e37ec51
--- /dev/null
@@ -0,0 +1,109 @@
+/* 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")},        /* OS/2 IFS, eg, HPFS or NTFS or QNX */
+       {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")},
+       {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/fdisk/partitiontype.c b/fdisk/partitiontype.c
new file mode 100644 (file)
index 0000000..0ee44a0
--- /dev/null
@@ -0,0 +1,130 @@
+/*
+ * partitiontype.c, aeb, 2001-09-10
+ *
+ * call: partitiontype device
+ *
+ * either exit(1), or exit(0) with a single line of output
+ * DOS: sector 0 has a DOS signature.
+ */
+#include <stdio.h>
+#include <fcntl.h>
+#include <stdlib.h>
+
+struct aix_label {
+       unsigned int   magic;
+       /* more ... */
+};
+
+#define        AIX_LABEL_MAGIC         0xc9c2d4c1
+#define        AIX_LABEL_MAGIC_SWAPPED 0xc1d4c2c9
+
+struct bsd_label {
+       unsigned int   magic;
+       unsigned char  stuff[128];
+       unsigned int   magic2;
+       /* more ... */
+};
+
+#define BSD_LABEL_MAGIC         0x82564557
+
+struct sgi_label {
+       unsigned int   magic;
+       /* more ... */
+};
+
+#define        SGI_LABEL_MAGIC         0x0be5a941
+#define        SGI_LABEL_MAGIC_SWAPPED 0x41a9e50b
+
+struct sun_label {
+       unsigned char stuff[508];
+       unsigned short magic;      /* Magic number */
+       unsigned short csum;       /* Label xor'd checksum */
+};
+
+#define SUN_LABEL_MAGIC          0xDABE
+#define SUN_LABEL_MAGIC_SWAPPED  0xBEDA
+
+int
+main(int argc, char **argv) {
+       int fd, n;
+       unsigned char buf[1024];
+       struct aix_label *paix;
+       struct bsd_label *pbsd;
+       struct sgi_label *psgi;
+       struct sun_label *psun;
+
+       if (argc != 2) {
+               fprintf(stderr, "call: %s device\n", argv[0]);
+               exit(1);
+       }
+       fd = open(argv[1], O_RDONLY);
+       if (fd == -1) {
+               perror(argv[1]);
+               fprintf(stderr, "%s: cannot open device %s\n",
+                       argv[0], argv[1]);
+               exit(1);
+       }
+       n = read(fd, buf, sizeof(buf));
+       if (n != sizeof(buf)) {
+               if (n == -1)
+                       perror(argv[1]);
+               fprintf(stderr, "%s: cannot read device %s\n",
+                       argv[0], argv[1]);
+               exit(1);
+       }
+
+       psun = (struct sun_label *)(&buf);
+       if (psun->magic == SUN_LABEL_MAGIC ||
+           psun->magic == SUN_LABEL_MAGIC_SWAPPED) {
+               unsigned short csum = 0, *p;
+               int i;
+
+               for (p = (unsigned short *)(&buf);
+                    p < (unsigned short *)(&buf[512]); p++)
+                       csum ^= *p;
+
+               if (csum == 0) {
+                       printf("SUN\n");
+                       exit(0);
+               }
+       }
+
+       pbsd = (struct bsd_label *)(&buf[512]);
+       if (pbsd->magic == BSD_LABEL_MAGIC &&
+           pbsd->magic2 == BSD_LABEL_MAGIC) {
+               printf("BSD\n");
+               exit(0);
+       }
+
+       pbsd = (struct bsd_label *)(&buf[64]);
+       if (pbsd->magic == BSD_LABEL_MAGIC &&
+           pbsd->magic2 == BSD_LABEL_MAGIC) {
+               printf("BSD\n");
+               exit(0);
+       }
+
+       paix = (struct aix_label *)(&buf);
+       if (paix->magic == AIX_LABEL_MAGIC ||
+           paix->magic == AIX_LABEL_MAGIC_SWAPPED) {
+               printf("AIX\n");
+               exit(0);
+       }
+
+       psgi = (struct sgi_label *)(&buf);
+       if (psgi->magic == SGI_LABEL_MAGIC ||
+           psgi->magic == SGI_LABEL_MAGIC_SWAPPED) {
+               printf("SGI\n");
+               exit(0);
+       }
+
+       if (buf[510] == 0x55 && buf[511] == 0xaa) {
+               printf("DOS\n");
+               exit(0);
+       }
+#if 0
+       fprintf(stderr, "%s: do not recognize any label on %s\n",
+               argv[0], argv[1]);
+#endif
+       exit(1);                /* unknown */
+}
+
diff --git a/fdisk/partname.c b/fdisk/partname.c
new file mode 100644 (file)
index 0000000..1fe3087
--- /dev/null
@@ -0,0 +1,48 @@
+#include <ctype.h>
+#include <stdio.h>
+#include <string.h>
+
+#include "blkdev.h"
+#include "pathnames.h"
+#include "common.h"
+
+/*
+ * return partition name - uses static storage unless buf is supplied
+ */
+char *
+partname(char *dev, int pno, int lth) {
+       static char bufp[80];
+       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/fdisk/sfdisk.8 b/fdisk/sfdisk.8
new file mode 100644 (file)
index 0000000..a198247
--- /dev/null
@@ -0,0 +1,563 @@
+.\" 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 "1 September 1995" "Linux" "Linux Programmer's Manual"
+.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 GUID Partition Table (GPT) and
+it is not designed for large partitions. In particular case use more advanced GNU
+.BR parted (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)
+or so. 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 .
+.br
+.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:
+.br
+.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:
+.B sfdisk \-l
+.RB [ options ]
+.I device
+will list the partitions on this device.
+If the device argument is omitted, the partitions on all hard disks
+are listed.
+.br
+.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
+The trailing \- and + signs indicate that rounding has taken place,
+and that the actual value is slightly less (more).
+To see the exact values, ask for a listing with sectors as unit.
+
+.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 \-V option can be used together
+with \-l. 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 its 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 \-d 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 \-O option saves is not a binary
+version of the output of \-d.)
+
+There are many options.
+
+.SH OPTIONS
+.TP
+.BR \-v " or " \-\-version
+Print version number of
+.B sfdisk
+and exit immediately.
+.TP
+.BR \-? " or " \-\-help
+Print a usage message and exit immediately.
+.TP
+.BR \-T " or " \-\-list\-types
+Print the recognized types (system Id's).
+.TP
+.BR \-s " or " \-\-show\-size
+List the size of a partition.
+.TP
+.BR \-g " or " \-\-show\-geometry
+List the kernel's idea of the geometry of the indicated disk(s).
+.TP
+.BR \-G " or " \-\-show\-pt\-geometry
+List the geometry of the indicated disks guessed by looking at
+the partition table.
+.TP
+.BR \-l " or " \-\-list
+List the partitions of a device.
+.TP
+.BR \-d
+Dump the partitions of a device in a format useful as input
+to sfdisk. 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 " or " \-\-verify
+Test whether partitions seem correct. (See above.)
+.TP
+.BR \-i " or " \-\-increment
+Number cylinders etc. starting from 1 instead of 0.
+.TP
+.BI \-N " number"
+Change only the single partition indicated. For example:
+.br
+.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
+.BI \-A " number"
+Make the indicated partition(s) active, and all others inactive.
+.TP
+.BI \-c "\fR or " \-\-id " number [Id]"
+If no Id argument given: print the partition Id of the indicated
+partition. If an Id argument is present: change the type (Id) of
+the indicated partition to the given value.
+This option has the two very long forms \-\-print\-id and \-\-change\-id.
+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 \-uS " or " \-uB " or " \-uC " or " \-uM
+Accept or report in units of sectors (blocks, cylinders, megabytes,
+respectively). The default is cylinders, at least when the geometry
+is known.
+.TP
+.BR \-x " or " \-\-show\-extended
+Also list non-primary extended partitions on output,
+and expect descriptors for them on input.
+.TP
+.BI \-C " cylinders"
+Specify the number of cylinders, possibly overriding what the kernel thinks.
+.TP
+.BI \-H " heads"
+Specify the number of heads, possibly overriding what the kernel thinks.
+.TP
+.BI \-S " sectors"
+Specify the number of sectors, possibly overriding what the kernel thinks.
+.TP
+.BR \-f " or " \-\-force
+Do what I say, even if it is stupid.
+.TP
+.BR \-q " or " \-\-quiet
+Suppress warning messages.
+.TP
+.BR \-L " or " \-\-Linux
+Do not complain about things irrelevant for Linux.
+.TP
+.BR \-D " or " \-\-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 " or " \-\-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 to the 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 " or " \-\-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
+.B \-R
+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, sfdisk 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 \-f
+option would force sfdisk to continue even when this test fails.)
+.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 \-O 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.
+
+.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 "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-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/fdisk/sfdisk.c b/fdisk/sfdisk.c
new file mode 100644 (file)
index 0000000..427cb40
--- /dev/null
@@ -0,0 +1,3122 @@
+/*
+ * 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
+ *
+ * Changes:
+ * 19990319 - Arnaldo Carvalho de Melo <acme@conectiva.com.br> - i18n
+ * 20040428 - Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com> - added PACKED
+ * 20040824 - David A. Wheeler <dwheeler@dwheeler.com> - warnings to stderr
+ */
+
+#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 "nls.h"
+#include "blkdev.h"
+#include "linux_version.h"
+#include "common.h"
+#include "wholedisk.h"
+#include "gpt.h"
+
+#define SIZE(a)        (sizeof(a)/sizeof(a[0]))
+
+/*
+ * 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
+do_warn(char *s, ...) {
+    va_list p;
+
+    va_start(p, s);
+    fflush(stdout);
+    vfprintf(stderr, s, p);
+    fflush(stderr);
+    va_end(p);
+}
+
+static void
+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);
+}
+
+static void
+fatal(char *s, ...) {
+    va_list p;
+
+    va_start(p, s);
+    fflush(stdout);
+    fprintf(stderr, "\n" PROGNAME ": ");
+    vfprintf(stderr, s, p);
+    fflush(stderr);
+    va_end(p);
+    exit(1);
+}
+
+/*
+ * GCC nonsense - needed for GCC 3.4.x with -O2
+ *
+ * Maybe just test with #if (__GNUC__ >= 3) && (__GNUC_MINOR__ >= 4) ?
+ */
+#ifndef __GNUC_PREREQ
+#define __GNUC_PREREQ(x,y)     0
+#endif
+#if __GNUC_PREREQ(3,4)
+#define __attribute__used __attribute__ ((used))
+#else
+#define __attribute__used
+#endif
+
+/*
+ * arm needs PACKED - use it everywhere?
+ */
+#if defined(__GNUC__) && (defined(__arm__) || defined(__alpha__))
+# define PACKED __attribute__ ((packed))
+#else
+# define PACKED
+#endif
+
+
+/*
+ *  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, unsigned int fd, unsigned long s) {
+    off_t in, out;
+    in = ((off_t) s << 9);
+    out = 1;
+
+    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 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 sno) {
+    struct sector *s;
+
+    for(s = sectorhead; s; s = s->next)
+       if (s->sectornumber == sno)
+           return s;
+
+    if (!sseek(dev, fd, sno))
+       return 0;
+
+    if (!(s = (struct sector *) malloc(sizeof(struct sector))))
+       fatal(_("out of memory - giving up\n"));
+
+    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;
+    error(_("ERROR: sector %lu does not have an msdos signature\n"),
+         s->sectornumber);
+    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 void 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, *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;
+    }
+    if (!(ss = (char *) malloc(statbuf.st_size))) {
+       error(_("out of memory?\n"));
+       goto err;
+    }
+    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;
+    }
+
+    ss0 = ss;
+    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);
+
+    reread_disk_partition(dev, fdout);
+    close(fdin);
+
+    return 1;
+
+err:
+    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)
+           do_warn(_("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)
+           do_warn(_("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) {
+       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)
+       warn(_("Warning: HDIO_GETGEO says that there are %lu heads\n"),
+            R.heads);
+    if (R.sectors && B.sectors != R.sectors)
+       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)
+       warn(_("Warning: BLKGETSIZE/HDIO_GETGEO says that there are %lu cylinders\n"),
+            R.cylinders);
+#endif
+
+    if (B.sectors > 63)
+      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; } 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) {
+       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)) {
+       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) {
+       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 */
+} 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 start;
+    unsigned long size;
+    unsigned 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("BLKRRPART");
+
+       /* 2.6.8 returns EIO for a zero table */
+       if (errno == EBUSY)
+               return -1;
+    }
+    return 0;
+}
+
+static int
+is_blockdev(int fd) {
+    struct stat statbuf;
+
+    return(fstat(fd, &statbuf) == 0 && S_ISBLK(statbuf.st_mode));
+}
+
+/* reread after writing */
+static void
+reread_disk_partition(char *dev, int fd) {
+    printf(_("Re-reading the partition table ...\n"));
+    fflush(stdout);
+    sync();
+    sleep(3);                  /* superfluous since 1.3.20 */
+
+    if (reread_ioctl(fd) && is_blockdev(fd))
+      do_warn(_("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"));
+
+    if (close(fd)) {
+       perror(dev);
+       do_warn(_("Error closing %s\n"), dev);
+    }
+    printf("\n");
+}
+
+/* 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))
+      fatal(_("%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:
+       do_warn(_("unrecognized format - using sectors\n"));
+      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
+get_disksize(int format) {
+    unsigned long cs = B.cylinders;
+    if (cs && leave_last)
+      cs--;
+    return (cs * B.cylindersize) / 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:
+       do_warn(_("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 = mebibytes of 1048576 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 n, unsigned long unit, int inc) {
+    printf("%*lu", width, inc + n/unit);
+    if (unit != 1)
+      putchar((n % unit) ? '+' : ' ');
+    putchar(' ');
+}
+
+static void
+out_roundup(int width, unsigned long n, unsigned long unit, int inc) {
+    if (n == (unsigned long)(-1))
+      printf("%*s", width, "-");
+    else
+      printf("%*lu", width, inc + n/unit);
+    if (unit != 1)
+      putchar(((n+1) % unit) ? '-' : ' ');
+    putchar(' ');
+}
+
+static void
+out_roundup_size(int width, unsigned long n, unsigned long unit) {
+    printf("%*lu", 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 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=%9lu", start);
+       printf(", size=%9lu", 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))
+         do_warn(_("\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))
+         do_warn(_("\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)
+         do_warn(_("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)
+       do_warn(_("No partitions found\n"));
+    else {
+       if (get_fdisk_geometry(z) && !dump) {
+           do_warn(
+          _("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(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)
+             fatal(_("no partition table present.\n"));
+        else
+             fatal(_("strange, only %d partitions defined.\n"), 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)
+           warn(_("Warning: partition %s has size 0 but is not marked Empty\n"),
+                PNO(p));
+         else if (p->p.bootable != 0)
+           warn(_("Warning: partition %s has size 0 and is bootable\n"),
+                PNO(p));
+         else if (p->p.start_sect != 0)
+           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) {
+             warn(_("Warning: partition %s "), PNO(p));
+             warn(_("is not contained in partition %s\n"), 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))) {
+               warn(_("Warning: partitions %s "), PNO(p));
+               warn(_("and %s overlap\n"), 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) {
+               warn(_("Warning: partition %s contains part of "
+                      "the partition table (sector %lu),\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 ds = get_disksize(F_SECTOR);
+    for (p = partitions; p < partitions+partno; p++)
+      if (p->size) {
+         if (p->start == 0) {
+             warn(_("Warning: partition %s starts at sector 0\n"), PNO(p));
+             return 0;
+         }
+         if (p->size && p->start + p->size > ds) {
+             warn(_("Warning: partition %s extends past end of disk\n"),
+                  PNO(p));
+             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) {
+         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) {
+       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)) {
+                 warn(_("Warning: partition %s does not start "
+                      "at a cylinder boundary\n"), PNO(p));
+                 if (!Linux)
+                   return 0;
+             }
+             if ((p->start + p->size) % B.cylindersize) {
+                 warn(_("Warning: partition %s does not end "
+                      "at a cylinder boundary\n"), PNO(p));
+                 if (!Linux)
+                   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) {
+             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) {
+             warn(_("Warning: usually one can boot from primary partitions "
+                  "only\nLILO disregards the `bootable' flag.\n"));
+             break;
+         }
+      }
+      if (pno == -1 || pno >= 4)
+       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 (!chs_ok(b, PNO(p), _("start")))
+         return 0;
+       if (a.s && !is_equal_chs(a, b))
+         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 (!chs_ok(b, PNO(p), _("end")))
+         return 0;
+       if (a.s && !is_equal_chs(a, b))
+         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)
+         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 start, here, next;
+    int i, moretodo = 1;
+    struct partition p;
+    struct part_desc *partitions = &(z->partitions[0]);
+    int pno = z->partno;
+
+    here = start = ep->start;
+
+    if (B.cylindersize && start % B.cylindersize) {
+       /* This is BAD */
+       if (DOS_extended) {
+           here = start -= (start % B.cylindersize);
+           do_warn(_("Warning: shifted start of the extd partition "
+                    "from %ld to %ld\n"
+                    "(For listing purposes only. "
+                    "Do not change its contents.)\n"),
+                  ep->start, start);
+       } else {
+           do_warn(_("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))
+           break;
+
+       cp = s->data + 0x1be;
+
+       if (pno+4 >= SIZE(z->partitions)) {
+           do_warn(_("too many partitions - ignoring those past nr (%d)\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)
+                 do_warn(_("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 start = ep->start;
+       struct sector *s;
+       struct part_desc *partitions = &(z->partitions[0]);
+       int 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 >= SIZE(z->partitions)) {
+                       do_warn(_("too many partitions - ignoring those "
+                              "past nr (%d)\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) {
+       do_warn(_("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))) {
+         do_warn(_("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) {
+               do_warn(_("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) {
+               do_warn(_("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) {
+                   do_warn(_("strange..., a BSD partition of size 0?\n"));
+                   continue;
+               }
+               bsd_partition(dev, fd, &partitions[i], z);
+           }
+       }
+    }
+
+    return 1;
+}
+
+static int
+osf_partition(char *dev, int fd, unsigned long start, struct disk_desc *z) {
+       return 0;
+}
+
+static int
+sun_partition(char *dev, int fd, unsigned long start, struct disk_desc *z) {
+       return 0;
+}
+
+static int
+amiga_partition(char *dev, int fd, unsigned long start, struct disk_desc *z) {
+       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)) {
+       do_warn(_(" %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) {
+       do_warn(_("-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] = 0xaa;
+       }
+    }
+    if (save_sector_file) {
+       if (!save_sectors(dev, fd)) {
+           fatal(_("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;
+    }
+    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')))
+      fatal(_("long or incomplete input line - quitting\n"));
+    *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; d-dumpflds < 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
+                     fatal(_("input error: `=' expected after %s field\n"),
+                           d->fldname);
+                   if (fno <= d->fldno)
+                     fno = d->fldno + 1;
+                   if (*ip == 0)
+                     return fno;
+                   if (*ip != ',' && *ip != ';')
+                     fatal(_("input error: unexpected character %c after %s field\n"),
+                           *ip, d->fldname);
+                   *ip = 0;
+                   goto nxtfld;
+               }
+           }
+           fatal(_("unrecognized input: %s\n"), 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) {
+           do_warn(_("number too big\n"));
+           return -1;
+       }
+       if (*nu) {
+           do_warn(_("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
+first_free(int pno, int is_extended, struct part_desc *ep, int format,
+          unsigned long mid, struct disk_desc *z) {
+    unsigned 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
+max_length(int pno, int is_extended, struct part_desc *ep, int format,
+          unsigned long start, struct disk_desc *z) {
+    unsigned 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 base;
+    int inc = (DOS && B.sectors) ? B.sectors : 1;
+    int 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 old_size = p->size;
+       p->start -= delta;
+       p->size += delta;
+       if (is_extended(p->p.sys_type) && boxes == ONESECTOR)
+         p->size = inc;
+       else if (old_size <= -delta) {
+           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) {
+           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 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))
+         warn("\n");
+       warn("%s:", partname(dev, lpno, 10));
+    }
+
+    /* read input line - skip blank lines when reading from a file */
+    do {
+       fno = read_stdin(fields, line, SIZE(fields), SIZE(line));
+    } while(fno == RD_CMD || (fno == 0 && !interactive));
+    if (fno == RD_EOF) {
+       return -1;
+    } else if (fno > 10 && *(fields[10]) != 0) {
+       do_warn(_("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)
+      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 */
+           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_ul(fields[2], &ul, LINUX_NATIVE, 16))
+      return 0;
+    if (ul > 255) {
+       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_ul(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 (get_ul(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) {
+       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]))) {
+       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) {
+       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 {
+       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) {
+         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) {
+         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))) {
+       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)
+       fatal(_("bad input\n"));
+    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, base;
+
+    eob = 0;
+    while (1) {
+       base = z->partno;
+       if (base+4 > SIZE(z->partitions)) {
+           do_warn(_("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) {
+    int i;
+    struct part_desc *partitions = &(z->partitions[0]), *ep;
+
+    for (i=0; i < SIZE(z->partitions); i++)
+      partitions[i] = zero_part_desc;
+    z->partno = 0;
+
+    if (interactive)
+      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 version(void) {
+    printf("sfdisk (%s)\n", PACKAGE_STRING);
+}
+
+static void
+usage(void) {
+    version();
+    printf(_("Usage: %s [options] device ...\n"), PROGNAME);
+    puts (_("device: something like /dev/hda or /dev/sda"));
+    puts (_("useful options:"));
+    puts (_("    -s [or --show-size]: list size of a partition"));
+    puts (_("    -c [or --id]:        print or change partition Id"));
+    puts (_("    -l [or --list]:      list partitions of each device"));
+    puts (_("    -d [or --dump]:      idem, but in a format suitable for later input"));
+    puts (_("    -i [or --increment]: number cylinders etc. from 1 instead of from 0"));
+    puts (_("    -uS, -uB, -uC, -uM:  accept/report in units of sectors/blocks/cylinders/MB"));
+    puts (_("    -T [or --list-types]:list the known partition types"));
+    puts (_("    -D [or --DOS]:       for DOS-compatibility: waste a little space"));
+    puts (_("    -R [or --re-read]:   make kernel reread partition table"));
+    puts (_("    -N# :                change only the partition with number #"));
+    puts (_("    -n :                 do not actually write to disk"));
+    puts (_("    -O file :            save the sectors that will be overwritten to file"));
+    puts (_("    -I file :            restore these sectors again"));
+    puts (_("    -v [or --version]:   print version"));
+    puts (_("    -? [or --help]:      print this message"));
+    puts (_("dangerous options:"));
+    puts (_("    -g [or --show-geometry]: print the kernel's idea of the geometry"));
+    puts (_("    -G [or --show-pt-geometry]: print geometry guessed from the partition table"));
+    puts (_("    -x [or --show-extended]: also list extended partitions on output\n"
+          "                             or expect descriptors for them on input"));
+    puts (_("    -L  [or --Linux]:      do not complain about things irrelevant for Linux"));
+    puts (_("    -q  [or --quiet]:      suppress warning messages"));
+    puts (_("    You can override the detected geometry using:"));
+    puts (_("    -C# [or --cylinders #]:set the number of cylinders to use"));
+    puts (_("    -H# [or --heads #]:    set the number of heads to use"));
+    puts (_("    -S# [or --sectors #]:  set the number of sectors to use"));
+    puts (_("You can disable all consistency checking with:"));
+    puts (_("    -f  [or --force]:      do what I say, even if it is stupid"));
+    exit(1);
+}
+
+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) {
+    exit(1);
+}
+
+static char short_opts[] = "cdfgilnqsu:vx?1A::C:DGH:I:LN:O:RS:TU::V";
+
+#define PRINT_ID 0400
+#define CHANGE_ID 01000
+
+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' },
+    { "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' },
+    { "help",            no_argument, NULL, '?' },
+    { "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, 160 },
+    { "IBM",              no_argument, NULL, 161 },
+    { "leave-last",       no_argument, NULL, 161 },
+/* undocumented flags - not all completely implemented */
+    { "in-order",         no_argument, NULL, 128 },
+    { "not-in-order",     no_argument, NULL, 129 },
+    { "inside-outer",     no_argument, NULL, 130 },
+    { "not-inside-outer", no_argument, NULL, 131 },
+    { "nested",           no_argument, NULL, 132 },
+    { "chained",          no_argument, NULL, 133 },
+    { "onesector",        no_argument, NULL, 134 },
+    { NULL, 0, NULL, 0 }
+};
+
+static int
+is_ide_cdrom_or_tape(char *device) {
+       FILE *procf;
+       char buf[100];
+       struct stat statbuf;
+       int is_ide = 0;
+
+       /* No device was given explicitly, and we are trying some
+          likely things.  But opening /dev/hdc may produce errors like
+           "hdc: tray open or drive not ready"
+          if it happens to be a CD-ROM drive. It even happens that
+          the process hangs on the attempt to read a music CD.
+          So try to be careful. This only works since 2.1.73. */
+
+       if (strncmp("/dev/hd", device, 7))
+               return 0;
+
+       snprintf(buf, sizeof(buf), "/proc/ide/%s/media", device+5);
+       procf = fopen(buf, "r");
+       if (procf != NULL && fgets(buf, sizeof(buf), procf))
+               is_ide = (!strncmp(buf, "cdrom", 5) ||
+                         !strncmp(buf, "tape", 4));
+       else
+               /* Now when this proc file does not exist, skip the
+                  device when it is read-only. */
+               if (stat(device, &statbuf) == 0)
+                       is_ide = ((statbuf.st_mode & 0222) == 0);
+
+       if (procf)
+               fclose(procf);
+       return is_ide;
+}
+
+#define PROC_PARTITIONS        "/proc/partitions"
+
+static char *
+nextproc(FILE *procf) {
+       static char devname[256];
+       char line[1024], ptname[128];
+       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 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);
+
+    if (argc < 1)
+      fatal(_("no command?\n"));
+    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':
+           version();
+           exit(0);
+         case 'x':
+           show_extended = 1; break;
+         case 'A':
+           activatearg = optarg;
+           activate = 1; break;
+         case 'C':
+           U.cylinders = atoi(optarg); break;
+         case 'D':
+           DOS = 1; break;
+         case 'E':
+           DOS_extended = 1; break;
+         case 'H':
+           U.heads = atoi(optarg); break;
+         case 'L':
+           Linux = 1; break;
+         case 'N':
+           one_only = atoi(optarg); 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 = atoi(optarg); break;
+         case 'T':
+           list_types();
+           exit(0);
+         case 'U':
+           unhidearg = optarg;
+           unhide = 1; break;
+         case 'V':
+           verify = 1; break;
+         case '?':
+         default:
+           usage(); break;
+
+         /* undocumented flags */
+         case 128:
+           partitions_in_order = 1; break;
+         case 129:
+           partitions_in_order = 0; break;
+         case 130:
+           all_logicals_inside_outermost_extended = 1; break;
+         case 131:
+           all_logicals_inside_outermost_extended = 0; break;
+         case 132:
+           boxes = NESTED; break;
+         case 133:
+           boxes = CHAINED; break;
+         case 134:
+           boxes = ONESECTOR; break;
+
+         /* more flags */
+         case 160:
+           no_reread = 1; break;
+         case 161:
+           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(PROC_PARTITIONS, "r");
+       if (!procf)
+           fprintf(stderr, _("cannot open %s\n"), PROC_PARTITIONS);
+       else {
+           while ((dev = nextproc(procf)) != NULL) {
+               if (is_ide_cdrom_or_tape(dev))
+                  continue;
+               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);
+           }
+           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();
+    }
+
+    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)
+         fatal(_("usage: sfdisk --print-id device partition-number\n"));
+       else if ((do_id & CHANGE_ID) != 0 && optind != argc-3)
+         fatal(_("usage: sfdisk --change-id device partition-number Id\n"));
+       else if (optind != argc-3 && optind != argc-2)
+         fatal(_("usage: sfdisk --id device partition-number [Id]\n"));
+       do_change_id(argv[optind], argv[optind+1],
+                    (optind == argc-2) ? 0 : argv[optind+2]);
+       exit(exit_status);
+    }
+
+    if (optind != argc-1)
+      fatal(_("can specify only one device (except with -l or -s)\n"));
+    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)
+               fatal(_("cannot open %s read-write\n"), dev);
+       else
+               fatal(_("cannot open %s for reading\n"), 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(z))
+         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);
+           fatal(_("Cannot get size of %s\n"), dev);
+       }
+       return;
+    }
+
+    size /= 2;                 /* convert sectors to blocks */
+
+    /* a CDROM drive without mounted CD yields MAXINT */
+    if (silent && size == ((1<<30)-1))
+      return;
+
+    if (silent)
+      printf("%s: %9llu\n", dev, size);
+    else
+      printf("%llu\n", size);
+
+    total_size += size;
+
+    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)
+                 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))
+         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)
+      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
+      fatal(_("partition %s has id %x and is not hidden\n"), 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))
+      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);
+      return;
+    }
+    i = strtoul(id, NULL, 16);
+    if (i > 255)
+      fatal(_("Bad Id %lx\n"), i);
+    z->partitions[pno].p.sys_type = i;
+
+    if (write_partitions(dev, fd, z))
+      warn(_("Done\n\n"));
+    else
+      exit_status = 1;
+
+    close(fd);
+}
+
+static void
+do_reread(char *dev) {
+    int fd;
+
+    fd = my_open(dev, 0, 0);
+    if (reread_ioctl(fd))
+      do_warn(_("This disk is currently in use.\n"));
+
+    close(fd);
+}
+
+/*
+ *  I. Writing the new situation
+ */
+
+static void
+do_fdisk(char *dev){
+    int fd;
+    int c, answer;
+    struct stat statbuf;
+    int interactive = isatty(0);
+    struct disk_desc *z;
+
+    if (stat(dev, &statbuf) < 0) {
+       perror(dev);
+       fatal(_("Fatal error: cannot find %s\n"), dev);
+    }
+    if (!S_ISBLK(statbuf.st_mode)) {
+       do_warn(_("Warning: %s is not a block device\n"), dev);
+       no_reread = 1;
+    }
+    fd = my_open(dev, !no_write, 0);
+
+    if (!no_write && !no_reread) {
+       warn(_("Checking that no-one is using this disk right now ...\n"));
+       if (reread_ioctl(fd)) {
+           do_warn(_("\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) {
+               do_warn(_("Use the --force flag to overrule all checks.\n"));
+               exit(1);
+           }
+       } else
+         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)
+      fatal(_("Partition %d does not exist, cannot change it\n"), one_only);
+
+    z = &newp;
+
+    while(1) {
+
+       read_input(dev, interactive, z);
+
+       printf(_("New situation:\n"));
+       out_partitions(dev, z);
+
+       if (!partitions_ok(z) && !force) {
+           if (!interactive)
+             fatal(_("I don't like these partitions - nothing changed.\n"
+                     "(If you really want this, use the --force option.)\n"));
+           else
+             do_warn(_("I don't like this - probably you should answer No\n"));
+       }
+      ask:
+       if (interactive) {
+           if (no_write)
+             printf(_("Are you satisfied with this? [ynq] "));
+           else
+             printf(_("Do you want to write this to disk? [ynq] "));
+           answer = c = getchar();
+           while (c != '\n' && c != EOF)
+             c = getchar();
+           if (c == EOF)
+               printf(_("\nsfdisk: premature end of input\n"));
+           if (c == EOF || answer == 'q' || answer == 'Q') {
+               fatal(_("Quitting - nothing changed\n"));
+           } else if (answer == 'n' || answer == 'N') {
+               continue;
+           } else if (answer == 'y' || answer == 'Y') {
+               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;
+
+    reread_disk_partition(dev, fd);
+
+    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 */
+    sleep(3);
+    exit(exit_status);
+}
diff --git a/fdisk/sfdisk.examples b/fdisk/sfdisk.examples
new file mode 100644 (file)
index 0000000..13e671d
--- /dev/null
@@ -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/fsck/Makefile.am b/fsck/Makefile.am
new file mode 100644 (file)
index 0000000..567fee8
--- /dev/null
@@ -0,0 +1,17 @@
+include $(top_srcdir)/config/include-Makefile.am
+
+sbin_PROGRAMS = fsck
+dist_man_MANS = fsck.8
+
+fsck_SOURCES = base_device.c fsck.c fsck.h ../lib/ismounted.c \
+              ../lib/fsprobe.c ../lib/canonicalize.c
+fsck_LDADD =
+fsck_CFLAGS =
+
+if BUILD_LIBBLKID
+fsck_LDADD += $(ul_libblkid_la)
+fsck_CFLAGS += -I$(ul_libblkid_srcdir)
+else
+fsck_LDADD += $(BLKID_LIBS)
+fsck_CFLAGS += $(BLKID_CFLAGS)
+endif
diff --git a/fsck/Makefile.in b/fsck/Makefile.in
new file mode 100644 (file)
index 0000000..ce225fe
--- /dev/null
@@ -0,0 +1,744 @@
+# Makefile.in generated by automake 1.11 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@
+DIST_COMMON = $(dist_man_MANS) $(dist_noinst_DATA) \
+       $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+       $(top_srcdir)/config/include-Makefile.am
+sbin_PROGRAMS = fsck$(EXEEXT)
+@BUILD_LIBBLKID_TRUE@am__append_1 = $(ul_libblkid_la)
+@BUILD_LIBBLKID_TRUE@am__append_2 = -I$(ul_libblkid_srcdir)
+@BUILD_LIBBLKID_FALSE@am__append_3 = $(BLKID_LIBS)
+@BUILD_LIBBLKID_FALSE@am__append_4 = $(BLKID_CFLAGS)
+subdir = fsck
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.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)/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 =
+CONFIG_CLEAN_VPATH_FILES =
+am__installdirs = "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(man8dir)"
+PROGRAMS = $(sbin_PROGRAMS)
+am_fsck_OBJECTS = fsck-base_device.$(OBJEXT) fsck-fsck.$(OBJEXT) \
+       fsck-ismounted.$(OBJEXT) fsck-fsprobe.$(OBJEXT) \
+       fsck-canonicalize.$(OBJEXT)
+fsck_OBJECTS = $(am_fsck_OBJECTS)
+am__DEPENDENCIES_1 =
+@BUILD_LIBBLKID_FALSE@am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1)
+fsck_DEPENDENCIES = $(am__append_1) $(am__DEPENDENCIES_2)
+fsck_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+       --mode=link $(CCLD) $(fsck_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+       $(LDFLAGS) -o $@
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+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) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+       --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+       --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+       $(LDFLAGS) -o $@
+SOURCES = $(fsck_SOURCES)
+DIST_SOURCES = $(fsck_SOURCES)
+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'
+man8dir = $(mandir)/man8
+NROFF = nroff
+MANS = $(dist_man_MANS)
+DATA = $(dist_noinst_DATA)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BLKID = @BLKID@
+BLKID_CFLAGS = @BLKID_CFLAGS@
+BLKID_LIBS = @BLKID_LIBS@
+BLKID_LIBS_STATIC = @BLKID_LIBS_STATIC@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+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@
+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_VERSION = @LIBBLKID_VERSION@
+LIBBLKID_VERSION_INFO = @LIBBLKID_VERSION_INFO@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+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@
+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_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+POSUB = @POSUB@
+RANLIB = @RANLIB@
+SED = @SED@
+SELINUX_LIBS = @SELINUX_LIBS@
+SELINUX_LIBS_STATIC = @SELINUX_LIBS_STATIC@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SUID_CFLAGS = @SUID_CFLAGS@
+SUID_LDFLAGS = @SUID_LDFLAGS@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
+VERSION = @VERSION@
+VOLID = @VOLID@
+XGETTEXT = @XGETTEXT@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+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@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+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 $(top_builddir)/config.h -I$(top_srcdir)/include \
+       -DLOCALEDIR=\"$(localedir)\"
+
+AM_CFLAGS = -fsigned-char
+AM_LDFLAGS = 
+
+# 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)
+#
+# blkid
+ul_libblkid_srcdir = $(top_srcdir)/shlibs/blkid/src
+ul_libblkid_builddir = $(top_builddir)/shlibs/blkid/src
+ul_libblkid_la = $(top_builddir)/shlibs/blkid/src/libblkid.la
+
+# uuid
+ul_libuuid_srcdir = $(top_srcdir)/shlibs/uuid/src
+ul_libuuid_builddir = $(top_builddir)/shlibs/uuid/src
+ul_libuuid_la = $(top_builddir)/shlibs/uuid/src/libuuid.la
+dist_man_MANS = fsck.8
+fsck_SOURCES = base_device.c fsck.c fsck.h ../lib/ismounted.c \
+              ../lib/fsprobe.c ../lib/canonicalize.c
+
+fsck_LDADD = $(am__append_1) $(am__append_3)
+fsck_CFLAGS = $(am__append_2) $(am__append_4)
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/config/include-Makefile.am $(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 fsck/Makefile'; \
+       $(am__cd) $(top_srcdir) && \
+         $(AUTOMAKE) --foreign fsck/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):
+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
+fsck$(EXEEXT): $(fsck_OBJECTS) $(fsck_DEPENDENCIES) 
+       @rm -f fsck$(EXEEXT)
+       $(fsck_LINK) $(fsck_OBJECTS) $(fsck_LDADD) $(LIBS)
+
+mostlyclean-compile:
+       -rm -f *.$(OBJEXT)
+
+distclean-compile:
+       -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fsck-base_device.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fsck-canonicalize.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fsck-fsck.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fsck-fsprobe.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fsck-ismounted.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@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 $<
+
+.c.obj:
+@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@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 `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@   $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@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 $@ $<
+
+fsck-base_device.o: base_device.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fsck_CFLAGS) $(CFLAGS) -MT fsck-base_device.o -MD -MP -MF $(DEPDIR)/fsck-base_device.Tpo -c -o fsck-base_device.o `test -f 'base_device.c' || echo '$(srcdir)/'`base_device.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/fsck-base_device.Tpo $(DEPDIR)/fsck-base_device.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='base_device.c' object='fsck-base_device.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 fsck-base_device.o `test -f 'base_device.c' || echo '$(srcdir)/'`base_device.c
+
+fsck-base_device.obj: base_device.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fsck_CFLAGS) $(CFLAGS) -MT fsck-base_device.obj -MD -MP -MF $(DEPDIR)/fsck-base_device.Tpo -c -o fsck-base_device.obj `if test -f 'base_device.c'; then $(CYGPATH_W) 'base_device.c'; else $(CYGPATH_W) '$(srcdir)/base_device.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/fsck-base_device.Tpo $(DEPDIR)/fsck-base_device.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='base_device.c' object='fsck-base_device.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 fsck-base_device.obj `if test -f 'base_device.c'; then $(CYGPATH_W) 'base_device.c'; else $(CYGPATH_W) '$(srcdir)/base_device.c'; fi`
+
+fsck-fsck.o: fsck.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fsck_CFLAGS) $(CFLAGS) -MT fsck-fsck.o -MD -MP -MF $(DEPDIR)/fsck-fsck.Tpo -c -o fsck-fsck.o `test -f 'fsck.c' || echo '$(srcdir)/'`fsck.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/fsck-fsck.Tpo $(DEPDIR)/fsck-fsck.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='fsck.c' object='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 fsck-fsck.o `test -f 'fsck.c' || echo '$(srcdir)/'`fsck.c
+
+fsck-fsck.obj: fsck.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fsck_CFLAGS) $(CFLAGS) -MT fsck-fsck.obj -MD -MP -MF $(DEPDIR)/fsck-fsck.Tpo -c -o fsck-fsck.obj `if test -f 'fsck.c'; then $(CYGPATH_W) 'fsck.c'; else $(CYGPATH_W) '$(srcdir)/fsck.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/fsck-fsck.Tpo $(DEPDIR)/fsck-fsck.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='fsck.c' object='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 fsck-fsck.obj `if test -f 'fsck.c'; then $(CYGPATH_W) 'fsck.c'; else $(CYGPATH_W) '$(srcdir)/fsck.c'; fi`
+
+fsck-ismounted.o: ../lib/ismounted.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fsck_CFLAGS) $(CFLAGS) -MT fsck-ismounted.o -MD -MP -MF $(DEPDIR)/fsck-ismounted.Tpo -c -o fsck-ismounted.o `test -f '../lib/ismounted.c' || echo '$(srcdir)/'`../lib/ismounted.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/fsck-ismounted.Tpo $(DEPDIR)/fsck-ismounted.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/ismounted.c' object='fsck-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) $(fsck_CFLAGS) $(CFLAGS) -c -o fsck-ismounted.o `test -f '../lib/ismounted.c' || echo '$(srcdir)/'`../lib/ismounted.c
+
+fsck-ismounted.obj: ../lib/ismounted.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fsck_CFLAGS) $(CFLAGS) -MT fsck-ismounted.obj -MD -MP -MF $(DEPDIR)/fsck-ismounted.Tpo -c -o fsck-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__mv) $(DEPDIR)/fsck-ismounted.Tpo $(DEPDIR)/fsck-ismounted.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/ismounted.c' object='fsck-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) $(fsck_CFLAGS) $(CFLAGS) -c -o fsck-ismounted.obj `if test -f '../lib/ismounted.c'; then $(CYGPATH_W) '../lib/ismounted.c'; else $(CYGPATH_W) '$(srcdir)/../lib/ismounted.c'; fi`
+
+fsck-fsprobe.o: ../lib/fsprobe.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fsck_CFLAGS) $(CFLAGS) -MT fsck-fsprobe.o -MD -MP -MF $(DEPDIR)/fsck-fsprobe.Tpo -c -o fsck-fsprobe.o `test -f '../lib/fsprobe.c' || echo '$(srcdir)/'`../lib/fsprobe.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/fsck-fsprobe.Tpo $(DEPDIR)/fsck-fsprobe.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/fsprobe.c' object='fsck-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) $(fsck_CFLAGS) $(CFLAGS) -c -o fsck-fsprobe.o `test -f '../lib/fsprobe.c' || echo '$(srcdir)/'`../lib/fsprobe.c
+
+fsck-fsprobe.obj: ../lib/fsprobe.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fsck_CFLAGS) $(CFLAGS) -MT fsck-fsprobe.obj -MD -MP -MF $(DEPDIR)/fsck-fsprobe.Tpo -c -o fsck-fsprobe.obj `if test -f '../lib/fsprobe.c'; then $(CYGPATH_W) '../lib/fsprobe.c'; else $(CYGPATH_W) '$(srcdir)/../lib/fsprobe.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/fsck-fsprobe.Tpo $(DEPDIR)/fsck-fsprobe.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/fsprobe.c' object='fsck-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) $(fsck_CFLAGS) $(CFLAGS) -c -o fsck-fsprobe.obj `if test -f '../lib/fsprobe.c'; then $(CYGPATH_W) '../lib/fsprobe.c'; else $(CYGPATH_W) '$(srcdir)/../lib/fsprobe.c'; fi`
+
+fsck-canonicalize.o: ../lib/canonicalize.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fsck_CFLAGS) $(CFLAGS) -MT fsck-canonicalize.o -MD -MP -MF $(DEPDIR)/fsck-canonicalize.Tpo -c -o fsck-canonicalize.o `test -f '../lib/canonicalize.c' || echo '$(srcdir)/'`../lib/canonicalize.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/fsck-canonicalize.Tpo $(DEPDIR)/fsck-canonicalize.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/canonicalize.c' object='fsck-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) $(fsck_CFLAGS) $(CFLAGS) -c -o fsck-canonicalize.o `test -f '../lib/canonicalize.c' || echo '$(srcdir)/'`../lib/canonicalize.c
+
+fsck-canonicalize.obj: ../lib/canonicalize.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fsck_CFLAGS) $(CFLAGS) -MT fsck-canonicalize.obj -MD -MP -MF $(DEPDIR)/fsck-canonicalize.Tpo -c -o fsck-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__mv) $(DEPDIR)/fsck-canonicalize.Tpo $(DEPDIR)/fsck-canonicalize.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/canonicalize.c' object='fsck-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) $(fsck_CFLAGS) $(CFLAGS) -c -o fsck-canonicalize.obj `if test -f '../lib/canonicalize.c'; then $(CYGPATH_W) '../lib/canonicalize.c'; else $(CYGPATH_W) '$(srcdir)/../lib/canonicalize.c'; fi`
+
+mostlyclean-libtool:
+       -rm -f *.lo
+
+clean-libtool:
+       -rm -rf .libs _libs
+install-man8: $(dist_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)'; 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)'; 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; }
+
+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:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       set x; \
+       here=`pwd`; \
+       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; }; }'`; \
+       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:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       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; }; }'`; \
+       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
+
+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
+       @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 $(PROGRAMS) $(MANS) $(DATA)
+installdirs:
+       for dir in "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(man8dir)"; do \
+         test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+       done
+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:
+
+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)
+
+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-sbinPROGRAMS \
+       mostlyclean-am
+
+distclean: distclean-am
+       -rm -rf ./$(DEPDIR)
+       -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+       distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-man
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-sbinPROGRAMS
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man: install-man8
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+       -rm -rf ./$(DEPDIR)
+       -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+       mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-man uninstall-sbinPROGRAMS
+
+uninstall-man: uninstall-man8
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+       clean-libtool clean-sbinPROGRAMS ctags distclean \
+       distclean-compile distclean-generic distclean-libtool \
+       distclean-tags distdir dvi dvi-am html html-am info info-am \
+       install install-am install-data install-data-am install-dvi \
+       install-dvi-am install-exec install-exec-am install-html \
+       install-html-am install-info install-info-am install-man \
+       install-man8 install-pdf install-pdf-am install-ps \
+       install-ps-am install-sbinPROGRAMS install-strip installcheck \
+       installcheck-am installdirs maintainer-clean \
+       maintainer-clean-generic mostlyclean mostlyclean-compile \
+       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+       tags uninstall uninstall-am uninstall-man uninstall-man8 \
+       uninstall-sbinPROGRAMS
+
+
+$(ul_libblkid_la):
+       $(MAKE) -C $(ul_libblkid_builddir)
+
+$(ul_libuuid_la):
+       $(MAKE) -C $(ul_libuuid_builddir)
+
+# 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/fsck/base_device.c b/fsck/base_device.c
new file mode 100644 (file)
index 0000000..aad2ba0
--- /dev/null
@@ -0,0 +1,169 @@
+/*
+ * base_device.c
+ *
+ * Return the "base device" given a particular device; this is used to
+ * assure that we only fsck one partition on a particular drive at any
+ * one time.  Otherwise, the disk heads will be seeking all over the
+ * place.  If the base device can not be determined, return NULL.
+ *
+ * The base_device() function returns an allocated string which must
+ * be freed.
+ *
+ * Written by Theodore Ts'o, <tytso@mit.edu>
+ *
+ * Copyright (C) 2000 Theodore Ts'o.
+ *
+ * %Begin-Header%
+ * This file may be redistributed under the terms of the GNU Public
+ * License.
+ * %End-Header%
+ */
+#include <stdio.h>
+#if HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#if HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+#include <ctype.h>
+#include <string.h>
+
+#include "fsck.h"
+
+/*
+ * Required for the uber-silly devfs /dev/ide/host1/bus2/target3/lun3
+ * pathames.
+ */
+static const char *devfs_hier[] = {
+       "host", "bus", "target", "lun", 0
+};
+
+char *base_device(const char *device)
+{
+       char *str, *cp;
+       const char **hier, *disk;
+       int len;
+
+       str = malloc(strlen(device)+1);
+       if (!str)
+               return NULL;
+       strcpy(str, device);
+       cp = str;
+
+       /* Skip over /dev/; if it's not present, give up. */
+       if (strncmp(cp, "/dev/", 5) != 0)
+               goto errout;
+       cp += 5;
+
+       /* Skip over /dev/dsk/... */
+       if (strncmp(cp, "dsk/", 4) == 0)
+               cp += 4;
+
+       /*
+        * For md devices, we treat them all as if they were all
+        * on one disk, since we don't know how to parallelize them.
+        */
+       if (cp[0] == 'm' && cp[1] == 'd') {
+               *(cp+2) = 0;
+               return str;
+       }
+
+       /* Handle DAC 960 devices */
+       if (strncmp(cp, "rd/", 3) == 0) {
+               cp += 3;
+               if (cp[0] != 'c' || cp[2] != 'd' ||
+                   !isdigit(cp[1]) || !isdigit(cp[3]))
+                       goto errout;
+               *(cp+4) = 0;
+               return str;
+       }
+
+       /* Now let's handle /dev/hd* and /dev/sd* devices.... */
+       if ((cp[0] == 'h' || cp[0] == 's') && (cp[1] == 'd')) {
+               cp += 2;
+               /* If there's a single number after /dev/hd, skip it */
+               if (isdigit(*cp))
+                       cp++;
+               /* What follows must be an alpha char, or give up */
+               if (!isalpha(*cp))
+                       goto errout;
+               *(cp + 1) = 0;
+               return str;
+       }
+
+       /* Now let's handle devfs (ugh) names */
+       len = 0;
+       if (strncmp(cp, "ide/", 4) == 0)
+               len = 4;
+       if (strncmp(cp, "scsi/", 5) == 0)
+               len = 5;
+       if (len) {
+               cp += len;
+               /*
+                * Now we proceed down the expected devfs hierarchy.
+                * i.e., .../host1/bus2/target3/lun4/...
+                * If we don't find the expected token, followed by
+                * some number of digits at each level, abort.
+                */
+               for (hier = devfs_hier; *hier; hier++) {
+                       len = strlen(*hier);
+                       if (strncmp(cp, *hier, len) != 0)
+                               goto errout;
+                       cp += len;
+                       while (*cp != '/' && *cp != 0) {
+                               if (!isdigit(*cp))
+                                       goto errout;
+                               cp++;
+                       }
+                       cp++;
+               }
+               *(cp - 1) = 0;
+               return str;
+       }
+
+       /* Now handle devfs /dev/disc or /dev/disk names */
+       disk = 0;
+       if (strncmp(cp, "discs/", 6) == 0)
+               disk = "disc";
+       else if (strncmp(cp, "disks/", 6) == 0)
+               disk = "disk";
+       if (disk) {
+               cp += 6;
+               if (strncmp(cp, disk, 4) != 0)
+                       goto errout;
+               cp += 4;
+               while (*cp != '/' && *cp != 0) {
+                       if (!isdigit(*cp))
+                               goto errout;
+                       cp++;
+               }
+               *cp = 0;
+               return str;
+       }
+
+errout:
+       free(str);
+       return NULL;
+}
+
+#ifdef DEBUG
+int main(int argc, char** argv)
+{
+       const char *base;
+       char  buf[256], *cp;
+
+       while (1) {
+               if (fgets(buf, sizeof(buf), stdin) == NULL)
+                       break;
+               cp = strchr(buf, '\n');
+               if (cp)
+                       *cp = 0;
+               cp = strchr(buf, '\t');
+               if (cp)
+                       *cp = 0;
+               base = base_device(buf);
+               printf("%s\t%s\n", buf, base ? base : "NONE");
+       }
+       exit(0);
+}
+#endif
diff --git a/fsck/fsck.8 b/fsck/fsck.8
new file mode 100644 (file)
index 0000000..ea0321c
--- /dev/null
@@ -0,0 +1,408 @@
+.\" -*- 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" "Linux" "MAINTENANCE COMMANDS"
+.SH NAME
+fsck \- check and repair a Linux file system
+.SH SYNOPSIS
+.B fsck
+.RB [ \-sAVRTMNP ]
+.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 file systems.
+.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 the
+filesystems.
+.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:
+.br
+\      0\      \-\ No errors
+.br
+\      1\      \-\ File system errors corrected
+.br
+\      2\      \-\ System should be rebooted
+.br
+\      4\      \-\ File system errors left uncorrected
+.br
+\      8\      \-\ Operational error
+.br
+\      16\     \-\ Usage or syntax error
+.br
+\      32\     \-\ Fsck canceled by user request
+.br
+\      128\    \-\ Shared library error
+.br
+The exit code returned when multiple file systems are checked
+is the bit-wise OR of the exit codes for each
+file system that is checked.
+.PP
+In actuality,
+.B fsck
+is simply a front-end for the various file system checkers
+(\fBfsck\fR.\fIfstype\fR) available under Linux.  The file
+system-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 file system-specific checker manual pages for
+further details.
+.SH OPTIONS
+.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 file system 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 all of the filesystems in
+.I fslist
+are not prefixed by a negation operator, then only those filesystems
+listed
+in
+.I fslist
+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 file system type (currently ext2) is used.
+.TP
+.B \-A
+Walk through the
+.I /etc/fstab
+file and try to check all file systems in one run.  This option is
+typically used from the
+.I /etc/rc
+system initialization file, instead of multiple commands for checking
+a single file system.
+.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
+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.
+.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 file systems with the
+.B \-A
+flag, skip the root file system (in case it's already mounted read-write).
+.TP
+.B \-T
+Don't show the title on startup.
+.TP
+.B \-V
+Produce verbose output, including all file system-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 arguments take options and which
+don't.
+.IP
+Options and arguments which follow the
+.B \-\-
+are treated as file system-specific options to be passed to the
+file system-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 option 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 file system checkers:
+.TP
+.B \-a
+Automatically repair the file system without any questions (use
+this option with caution).  Note that
+.BR e2fsck (8)
+supports
+.B \-a
+for backwards 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 file system 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 backwards 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)
+does not support the
+.B -y
+option as of this writing.
+.SH AUTHOR
+Theodore Ts'o (tytso@mit.edu)
+.SH AVAILABILITY
+The blkid command is part of the util-linux-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
+.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 run 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.)
+.TP
+.B FSCK_MAX_INST
+This environment variable will limit the maximum number of file system
+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 file system 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 file system 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 file system 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/fsck/fsck.c b/fsck/fsck.c
new file mode 100644 (file)
index 0000000..e11bbe9
--- /dev/null
@@ -0,0 +1,1322 @@
+/*
+ * pfsck --- 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 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/signal.h>
+#include <sys/stat.h>
+#include <limits.h>
+#include <stdio.h>
+#include <ctype.h>
+#include <string.h>
+#include <time.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <paths.h>
+#include <unistd.h>
+#include <errno.h>
+#include <malloc.h>
+#include <signal.h>
+
+#include "fsprobe.h"
+
+#include "nls.h"
+#include "pathnames.h"
+#include "ismounted.h"
+
+#include "fsck.h"
+
+static const char *ignored_types[] = {
+       "ignore",
+       "iso9660",
+       "nfs",
+       "proc",
+       "sw",
+       "swap",
+       "tmpfs",
+       "devpts",
+       NULL
+};
+
+static const char *really_wanted[] = {
+       "minix",
+       "ext2",
+       "ext3",
+       "ext4",
+       "ext4dev",
+       "jfs",
+       "reiserfs",
+       "xiafs",
+       "xfs",
+       NULL
+};
+
+#define BASE_MD "/dev/md"
+
+/*
+ * Global variables for options
+ */
+char *devices[MAX_DEVICES];
+char *args[MAX_ARGS];
+int num_devices, num_args;
+
+int verbose = 0;
+int doall = 0;
+int noexecute = 0;
+int serialize = 0;
+int skip_root = 0;
+int ignore_mounted = 0;
+int notitle = 0;
+int parallel_root = 0;
+int progress = 0;
+int progress_fd = 0;
+int force_all_parallel = 0;
+int num_running = 0;
+int max_running = 0;
+volatile int cancel_requested = 0;
+int kill_sent = 0;
+char *progname;
+char *fstype = NULL;
+struct fs_info *filesys_info = NULL, *filesys_last = NULL;
+struct fsck_instance *instance_list;
+const char *fsck_prefix_path = "/sbin:/sbin/fs.d:/sbin/fs:/etc/fs:/etc";
+char *fsck_path = 0;
+
+static char *string_copy(const char *s)
+{
+       char    *ret;
+
+       if (!s)
+               return 0;
+       ret = malloc(strlen(s)+1);
+       if (ret)
+               strcpy(ret, s);
+       return ret;
+}
+
+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 ignore(struct fs_info *);
+
+static char *skip_over_blank(char *cp)
+{
+       while (*cp && isspace(*cp))
+               cp++;
+       return cp;
+}
+
+static char *skip_over_word(char *cp)
+{
+       while (*cp && !isspace(*cp))
+               cp++;
+       return cp;
+}
+
+static void strip_line(char *line)
+{
+       char    *p;
+
+       while (*line) {
+               p = line + strlen(line) - 1;
+               if ((*p == '\n') || (*p == '\r'))
+                       *p = 0;
+               else
+                       break;
+       }
+}
+
+static char *parse_word(char **buf)
+{
+       char *word, *next;
+
+       word = *buf;
+       if (*word == 0)
+               return 0;
+
+       word = skip_over_blank(word);
+       next = skip_over_word(word);
+       if (*next)
+               *next++ = 0;
+       *buf = next;
+       return word;
+}
+
+static void parse_escape(char *word)
+{
+       char    *p, *q;
+       int     ac, i;
+
+       if (!word)
+               return;
+
+       for (p = word, q = word; *p; p++, q++) {
+               *q = *p;
+               if (*p != '\\')
+                       continue;
+               if (*++p == 0)
+                       break;
+               if (*p == 't') {
+                       *q = '\t';
+                       continue;
+               }
+               if (*p == 'n') {
+                       *q = '\n';
+                       continue;
+               }
+               if (!isdigit(*p)) {
+                       *q = *p;
+                       continue;
+               }
+               ac = 0;
+               for (i = 0; i < 3; i++, p++) {
+                       if (!isdigit(*p))
+                               break;
+                       ac = (ac * 8) + (*p - '0');
+               }
+               *q = ac;
+               p--;
+       }
+       *q = 0;
+}
+
+static void free_instance(struct fsck_instance *i)
+{
+       free(i->prog);
+       free(i->device);
+       free(i->base_device);
+       free(i);
+       return;
+}
+
+static struct fs_info *create_fs_device(const char *device, const char *mntpnt,
+                                       const char *type, const char *opts,
+                                       int freq, int passno)
+{
+       struct fs_info *fs;
+
+       if (!(fs = malloc(sizeof(struct fs_info))))
+               return NULL;
+
+       fs->device = string_copy(device);
+       fs->mountpt = string_copy(mntpnt);
+       fs->type = string_copy(type);
+       fs->opts = string_copy(opts ? opts : "");
+       fs->freq = freq;
+       fs->passno = passno;
+       fs->flags = 0;
+       fs->next = NULL;
+
+       if (!filesys_info)
+               filesys_info = fs;
+       else
+               filesys_last->next = fs;
+       filesys_last = fs;
+
+       return fs;
+}
+
+
+
+static int parse_fstab_line(char *line, struct fs_info **ret_fs)
+{
+       char    *dev, *device, *mntpnt, *type, *opts, *freq, *passno, *cp;
+       struct fs_info *fs;
+
+       *ret_fs = 0;
+       strip_line(line);
+       cp = line;
+
+       device = parse_word(&cp);
+       if (!device || *device == '#')
+               return 0;       /* Ignore blank lines and comments */
+       mntpnt = parse_word(&cp);
+       type = parse_word(&cp);
+       opts = parse_word(&cp);
+       freq = parse_word(&cp);
+       passno = parse_word(&cp);
+
+       if (!mntpnt || !type)
+               return -1;
+
+       parse_escape(device);
+       parse_escape(mntpnt);
+       parse_escape(type);
+       parse_escape(opts);
+       parse_escape(freq);
+       parse_escape(passno);
+
+       dev = fsprobe_get_devname_by_spec(device);
+       if (dev)
+               device = dev;
+
+       if (strchr(type, ','))
+               type = 0;
+
+       fs = create_fs_device(device, mntpnt, type ? type : "auto", opts,
+                             freq ? atoi(freq) : -1,
+                             passno ? atoi(passno) : -1);
+       free(dev);
+
+       if (!fs)
+               return -1;
+       *ret_fs = fs;
+       return 0;
+}
+
+static void interpret_type(struct fs_info *fs)
+{
+       char    *t;
+
+       if (strcmp(fs->type, "auto") != 0)
+               return;
+       t = fsprobe_get_fstype_by_devname(fs->device);
+       if (t) {
+               free(fs->type);
+               fs->type = t;
+       }
+}
+
+/*
+ * Load the filesystem database from /etc/fstab
+ */
+static void load_fs_info(const char *filename)
+{
+       FILE    *f;
+       char    buf[1024];
+       int     lineno = 0;
+       int     old_fstab = 1;
+       struct fs_info *fs;
+
+       if ((f = fopen(filename, "r")) == NULL) {
+               fprintf(stderr, _("WARNING: couldn't open %s: %s\n"),
+                       filename, strerror(errno));
+               return;
+       }
+       while (!feof(f)) {
+               lineno++;
+               if (!fgets(buf, sizeof(buf), f))
+                       break;
+               buf[sizeof(buf)-1] = 0;
+               if (parse_fstab_line(buf, &fs) < 0) {
+                       fprintf(stderr, _("WARNING: bad format "
+                               "on line %d of %s\n"), lineno, filename);
+                       continue;
+               }
+               if (!fs)
+                       continue;
+               if (fs->passno < 0)
+                       fs->passno = 0;
+               else
+                       old_fstab = 0;
+       }
+
+       fclose(f);
+
+       if (old_fstab && filesys_info) {
+               fputs(_(
+               "WARNING: Your /etc/fstab does not contain the fsck passno\n"
+               "       field.  I will kludge around things for you, but you\n"
+               "       should fix your /etc/fstab file as soon as you can.\n\n"), stderr);
+
+               for (fs = filesys_info; fs; fs = fs->next) {
+                       fs->passno = 1;
+               }
+       }
+}
+
+/* Lookup filesys in /etc/fstab and return the corresponding entry. */
+static struct fs_info *lookup(char *filesys)
+{
+       struct fs_info *fs;
+
+       /* No filesys name given. */
+       if (filesys == NULL)
+               return NULL;
+
+       for (fs = filesys_info; fs; fs = fs->next) {
+               if (!strcmp(filesys, fs->device) ||
+                   (fs->mountpt && !strcmp(filesys, fs->mountpt)))
+                       break;
+       }
+
+       return fs;
+}
+
+/* Find fsck program for a given fs type. */
+static char *find_fsck(char *type)
+{
+  char *s;
+  const char *tpl;
+  static char prog[256];
+  char *p = string_copy(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(NOARGS)
+{
+       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;
+}
+
+/*
+ * Execute a particular fsck program, and link it into the list of
+ * child processes we are waiting for.
+ */
+static int execute(const char *type, const char *device, const char *mntpt,
+                  int interactive)
+{
+       char *s, *argv[80], prog[80];
+       int  argc, i;
+       struct fsck_instance *inst, *p;
+       pid_t   pid;
+
+       inst = malloc(sizeof(struct fsck_instance));
+       if (!inst)
+               return ENOMEM;
+       memset(inst, 0, sizeof(struct fsck_instance));
+
+       sprintf(prog, "fsck.%s", type);
+       argv[0] = string_copy(prog);
+       argc = 1;
+
+       for (i=0; i <num_args; i++)
+               argv[argc++] = string_copy(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++] = string_copy(tmp);
+               }
+       }
+
+       argv[argc++] = string_copy(device);
+       argv[argc] = 0;
+
+       s = find_fsck(prog);
+       if (s == NULL) {
+               fprintf(stderr, _("fsck: %s: not found\n"), prog);
+               free(inst);
+               return ENOENT;
+       }
+
+       if (verbose || noexecute) {
+               printf("[%s (%d) -- %s] ", s, num_running,
+                      mntpt ? mntpt : device);
+               for (i=0; i < argc; i++)
+                       printf("%s ", argv[i]);
+               printf("\n");
+       }
+
+       /* Fork and execute the correct program. */
+       if (noexecute)
+               pid = -1;
+       else if ((pid = fork()) < 0) {
+               perror("fork");
+               free(inst);
+               return errno;
+       } else if (pid == 0) {
+               if (!interactive)
+                       close(0);
+               (void) execv(s, argv);
+               perror(argv[0]);
+               free(inst);
+               exit(EXIT_ERROR);
+       }
+
+       for (i=0; i < argc; i++)
+               free(argv[i]);
+
+       inst->pid = pid;
+       inst->prog = string_copy(prog);
+       inst->type = string_copy(type);
+       inst->device = string_copy(device);
+       inst->base_device = base_device(device);
+       inst->start_time = time(0);
+       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;
+
+       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 = waitpid(-1, &status, flags);
+               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) {
+                               fprintf(stderr,
+                                       _("%s: wait: No more child process?!?\n"),
+                                       progname);
+                               return NULL;
+                       }
+                       perror("wait");
+                       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 = EXIT_UNCORRECTED;
+               } else {
+                       printf(_("Warning... %s for device %s exited "
+                              "with signal %d.\n"),
+                              inst->prog, inst->device, sig);
+                       status = EXIT_ERROR;
+               }
+       } else {
+               printf(_("%s %s: status is %x, should never happen.\n"),
+                      inst->prog, inst->device, status);
+               status = EXIT_ERROR;
+       }
+       inst->exit_status = status;
+       inst->flags |= FLAG_DONE;
+       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 < time(0)+2) {
+                               if (fork() == 0) {
+                                       sleep(1);
+                                       kill(inst2->pid, SIGUSR1);
+                                       exit(0);
+                               }
+                       } else
+                               kill(inst2->pid, SIGUSR1);
+                       inst2->flags |= FLAG_PROGRESS;
+                       break;
+               }
+       }
+ret_inst:
+       if (prev)
+               prev->next = inst->next;
+       else
+               instance_list = inst->next;
+       if (verbose > 1)
+               printf(_("Finished with %s (exit status %d)\n"),
+                      inst->device, 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 void fsck_device(struct fs_info *fs, int interactive)
+{
+       const char *type;
+       int retval;
+
+       interpret_type(fs);
+
+       if (strcmp(fs->type, "auto") != 0)
+               type = fs->type;
+       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->device, fs->mountpt, interactive);
+       if (retval) {
+               fprintf(stderr, _("%s: Error %d while executing fsck.%s "
+                       "for %s\n"), progname, retval, type, fs->device);
+               num_running--;
+       }
+}
+
+
+/*
+ * 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 const char *fs_type_syntax_error =
+N_("Either all or none of the filesystem types passed to -t must be prefixed\n"
+   "with 'no' or '!'.\n");
+
+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 = malloc(num * sizeof(char *));
+       cmp->type = malloc(num * sizeof(int));
+       if (!cmp->list || !cmp->type) {
+               fputs(_("Couldn't allocate memory for filesystem types\n"),
+                     stderr);
+               exit(EXIT_ERROR);
+       }
+       memset(cmp->list, 0, num * sizeof(char *));
+       memset(cmp->type, 0, num * sizeof(int));
+       cmp->negate = 0;
+
+       if (!fs_type)
+               return;
+
+       list = string_copy(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)) {
+                               fputs(_(fs_type_syntax_error), stderr);
+                               exit(EXIT_USAGE);
+                       }
+               }
+#if 0
+               printf("Adding %s to list (type %d).\n", s, cmp->type[num]);
+#endif
+               cmp->list[num++] = string_copy(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, char *optlist)
+{
+       char    *list, *s;
+
+       if (!optlist)
+               return 0;
+       list = string_copy(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 fs_info *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:
+                       checked_type++;
+                       if (strcmp(cp, fs->type) == 0) {
+                               ret = 1;
+                       }
+                       break;
+               case FS_TYPE_NEGOPT:
+                       if (opt_in_list(cp, fs->opts))
+                               return 0;
+                       break;
+               case FS_TYPE_OPT:
+                       if (!opt_in_list(cp, fs->opts))
+                               return 0;
+                       break;
+               }
+       }
+       if (checked_type == 0)
+               return 1;
+       return (cmp->negate ? !ret : ret);
+}
+
+/* Check if we should ignore this filesystem. */
+static int ignore(struct fs_info *fs)
+{
+       const char **ip;
+       int wanted = 0;
+
+       /*
+        * If the pass number is 0, ignore it.
+        */
+       if (fs->passno == 0)
+               return 1;
+
+       /*
+        * If this is a bind mount, ignore it.
+        */
+       if (opt_in_list("bind", fs->opts)) {
+               fprintf(stderr,
+                       _("%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass number\n"),
+                       fs->mountpt);
+               return 1;
+       }
+
+       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;
+
+       /* Are we ignoring this type? */
+       for(ip = ignored_types; *ip; ip++)
+               if (strcmp(fs->type, *ip) == 0) return 1;
+
+       /* Do we really really want to check this fs? */
+       for(ip = really_wanted; *ip; ip++)
+               if (strcmp(fs->type, *ip) == 0) {
+                       wanted = 1;
+                       break;
+               }
+
+       /* See if the <fsck.fs> program is available. */
+       if (find_fsck(fs->type) == NULL) {
+               if (wanted)
+                       fprintf(stderr, _("fsck: cannot check %s: fsck.%s not found\n"),
+                               fs->device, fs->type);
+               return 1;
+       }
+
+       /* We can and want to check this file system type. */
+       return 0;
+}
+
+/*
+ * Returns TRUE if a partition on the same disk is already being
+ * checked.
+ */
+static int device_already_active(char *device)
+{
+       struct fsck_instance *inst;
+       char *base;
+
+       if (force_all_parallel)
+               return 0;
+
+#ifdef BASE_MD
+       /* Don't check a soft raid disk with any other disk */
+       if (instance_list &&
+           (!strncmp(instance_list->device, BASE_MD, sizeof(BASE_MD)-1) ||
+            !strncmp(device, BASE_MD, sizeof(BASE_MD)-1)))
+               return 1;
+#endif
+
+       base = base_device(device);
+       /*
+        * If we don't know the base device, assume that the device is
+        * already active if there are any fsck instances running.
+        */
+       if (!base)
+               return (instance_list != 0);
+       for (inst = instance_list; inst; inst = inst->next) {
+               if (!inst->base_device || !strcmp(base, inst->base_device)) {
+                       free(base);
+                       return 1;
+               }
+       }
+       free(base);
+       return 0;
+}
+
+/* Check all file systems, using the /etc/fstab table. */
+static int check_all(NOARGS)
+{
+       struct fs_info *fs = NULL;
+       int status = EXIT_OK;
+       int not_done_yet = 1;
+       int passno = 1;
+       int pass_done;
+
+       if (verbose)
+               fputs(_("Checking all file systems.\n"), stdout);
+
+       /*
+        * 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()).
+        */
+       for (fs = filesys_info; fs; fs = fs->next) {
+               if (ignore(fs))
+                       fs->flags |= FLAG_DONE;
+       }
+
+       /*
+        * Find and check the root filesystem.
+        */
+       if (!parallel_root) {
+               for (fs = filesys_info; fs; fs = fs->next) {
+                       if (!strcmp(fs->mountpt, "/"))
+                               break;
+               }
+               if (fs) {
+                       if (!skip_root && !ignore(fs) &&
+                           !(ignore_mounted && is_mounted(fs->device))) {
+                               fsck_device(fs, 1);
+                               status |= wait_many(FLAG_WAIT_ALL);
+                               if (status > EXIT_NONDESTRUCT)
+                                       return status;
+                       }
+                       fs->flags |= FLAG_DONE;
+               }
+       }
+       /*
+        * This is for the bone-headed user who enters the root
+        * filesystem twice.  Skip root will skep all root entries.
+        */
+       if (skip_root)
+               for (fs = filesys_info; fs; fs = fs->next)
+                       if (!strcmp(fs->mountpt, "/"))
+                               fs->flags |= FLAG_DONE;
+
+       while (not_done_yet) {
+               not_done_yet = 0;
+               pass_done = 1;
+
+               for (fs = filesys_info; fs; fs = fs->next) {
+                       if (cancel_requested)
+                               break;
+                       if (fs->flags & FLAG_DONE)
+                               continue;
+                       /*
+                        * If the filesystem's pass number is higher
+                        * than the current pass number, then we don't
+                        * do it yet.
+                        */
+                       if (fs->passno > passno) {
+                               not_done_yet++;
+                               continue;
+                       }
+                       if (ignore_mounted && is_mounted(fs->device)) {
+                               fs->flags |= FLAG_DONE;
+                               continue;
+                       }
+                       /*
+                        * If a filesystem on a particular device has
+                        * already been spawned, then we need to defer
+                        * this to another pass.
+                        */
+                       if (device_already_active(fs->device)) {
+                               pass_done = 0;
+                               continue;
+                       }
+                       /*
+                        * Spawn off the fsck process
+                        */
+                       fsck_device(fs, serialize);
+                       fs->flags |= FLAG_DONE;
+
+                       /*
+                        * 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);
+       return status;
+}
+
+static void usage(NOARGS)
+{
+       fputs(_("Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]\n"), stderr);
+       exit(EXIT_USAGE);
+}
+
+static void signal_cancel(int sig FSCK_ATTR((unused)))
+{
+       cancel_requested++;
+}
+
+static void PRS(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;
+
+       progname = argv[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) {
+                               fprintf(stderr, _("%s: too many devices\n"),
+                                       progname);
+                               exit(EXIT_ERROR);
+                       }
+                       dev = fsprobe_get_devname_by_spec(arg);
+                       if (!dev && strchr(arg, '=')) {
+                               /*
+                                * Check to see if we failed because
+                                * /proc/partitions isn't found.
+                                */
+                               if (access(_PATH_PROC_PARTITIONS, R_OK) < 0) {
+                                       fprintf(stderr, _("Couldn't open %s: %s\n"),
+                                               _PATH_PROC_PARTITIONS, strerror(errno));
+                                       fprintf(stderr, _("Is /proc mounted?\n"));
+                                       exit(EXIT_ERROR);
+                               }
+                               /*
+                                * Check to see if this is because
+                                * we're not running as root
+                                */
+                               if (geteuid())
+                                       fprintf(stderr,
+               _("Must be root to scan for matching filesystems: %s\n"), arg);
+                               else
+                                       fprintf(stderr,
+               _("Couldn't find matching filesystem: %s\n"), arg);
+                               exit(EXIT_ERROR);
+                       }
+                       devices[num_devices++] = dev ? dev : string_copy(arg);
+                       continue;
+               }
+               if (arg[0] != '-' || opts_for_fsck) {
+                       if (num_args >= MAX_ARGS) {
+                               fprintf(stderr, _("%s: too many arguments\n"),
+                                       progname);
+                               exit(EXIT_ERROR);
+                       }
+                       args[num_args++] = string_copy(arg);
+                       continue;
+               }
+               for (j=1; arg[j]; j++) {
+                       if (opts_for_fsck) {
+                               options[++opt] = arg[j];
+                               continue;
+                       }
+                       switch (arg[j]) {
+                       case 'A':
+                               doall++;
+                               break;
+                       case 'C':
+                               progress++;
+                               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 {
+                                               goto next_arg;
+                                               i++;
+                                       }
+                               }
+                               break;
+                       case 'V':
+                               verbose++;
+                               break;
+                       case 'N':
+                               noexecute++;
+                               break;
+                       case 'R':
+                               skip_root++;
+                               break;
+                       case 'T':
+                               notitle++;
+                               break;
+                       case 'M':
+                               ignore_mounted++;
+                               break;
+                       case 'P':
+                               parallel_root++;
+                               break;
+                       case 's':
+                               serialize++;
+                               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 = string_copy(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) {
+                               fprintf(stderr,
+                                       _("%s: too many arguments\n"),
+                                       progname);
+                               exit(EXIT_ERROR);
+                       }
+                       args[num_args++] = string_copy(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");
+       const char *fstab;
+       struct fs_info *fs;
+
+       setvbuf(stdout, NULL, _IONBF, BUFSIZ);
+       setvbuf(stderr, NULL, _IONBF, BUFSIZ);
+
+       setlocale(LC_MESSAGES, "");
+       setlocale(LC_CTYPE, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+
+       fsprobe_init();
+       PRS(argc, argv);
+
+       if (!notitle)
+               printf(_("fsck from %s\n"), PACKAGE_STRING);
+
+       fstab = getenv("FSTAB_FILE");
+       if (!fstab)
+               fstab = _PATH_MNTTAB;
+       load_fs_info(fstab);
+
+       /* Update our search path to include uncommon directories. */
+       if (oldpath) {
+               fsck_path = malloc (strlen (fsck_prefix_path) + 1 +
+                                   strlen (oldpath) + 1);
+               if (!fsck_path) {
+                       fprintf(stderr, _("%s: Unable to allocate memory for fsck_path\n"), progname);
+                       exit(EXIT_ERROR);
+               }
+               strcpy (fsck_path, fsck_prefix_path);
+               strcat (fsck_path, ":");
+               strcat (fsck_path, oldpath);
+       } else {
+               fsck_path = string_copy(fsck_prefix_path);
+       }
+
+       if ((num_devices == 1) || (serialize))
+               interactive = 1;
+
+       /* 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 = create_fs_device(devices[i], 0, "auto",
+                                             0, -1, -1);
+                       if (!fs)
+                               continue;
+               }
+               if (ignore_mounted && is_mounted(fs->device))
+                       continue;
+               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);
+       fsprobe_exit();
+       return status;
+}
+
diff --git a/fsck/fsck.h b/fsck/fsck.h
new file mode 100644 (file)
index 0000000..8a0f70e
--- /dev/null
@@ -0,0 +1,73 @@
+/*
+ * fsck.h
+ */
+
+#include <time.h>
+
+#ifdef __STDC__
+#define NOARGS void
+#else
+#define NOARGS
+#define const
+#endif
+
+#ifdef __GNUC__
+#define FSCK_ATTR(x) __attribute__(x)
+#else
+#define FSCK_ATTR(x)
+#endif
+
+
+#ifndef DEFAULT_FSTYPE
+#define DEFAULT_FSTYPE "ext2"
+#endif
+
+#define MAX_DEVICES 32
+#define MAX_ARGS 32
+
+#define EXIT_OK          0
+#define EXIT_NONDESTRUCT 1
+#define EXIT_DESTRUCT    2
+#define EXIT_UNCORRECTED 4
+#define EXIT_ERROR       8
+#define EXIT_USAGE       16
+#define EXIT_LIBRARY     128
+
+/*
+ * Internal structure for mount tabel entries.
+ */
+
+struct fs_info {
+       char  *device;
+       char  *mountpt;
+       char  *type;
+       char  *opts;
+       int   freq;
+       int   passno;
+       int   flags;
+       struct fs_info *next;
+};
+
+#define FLAG_DONE 1
+#define FLAG_PROGRESS 2
+
+/*
+ * Structure to allow exit codes to be stored
+ */
+struct fsck_instance {
+       int     pid;
+       int     flags;
+       int     exit_status;
+       time_t  start_time;
+       char *  prog;
+       char *  type;
+       char *  device;
+       char *  base_device;
+       struct fsck_instance *next;
+};
+
+extern char *base_device(const char *device);
+extern const char *identify_fs(const char *fs_name, const char *fs_types);
+
+/* ismounted.h */
+extern int is_mounted(const char *file);
diff --git a/getopt/COPYING b/getopt/COPYING
new file mode 100644 (file)
index 0000000..a43ea21
--- /dev/null
@@ -0,0 +1,339 @@
+                   GNU GENERAL PUBLIC LICENSE
+                      Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+                          675 Mass Ave, Cambridge, MA 02139, 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 Library 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.
+\f
+                   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.)
+\f
+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.
+\f
+  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.
+\f
+  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
+\f
+       Appendix: 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) 19yy  <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., 675 Mass Ave, Cambridge, MA 02139, 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) 19yy 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 Library General
+Public License instead of this License.
diff --git a/getopt/Changelog b/getopt/Changelog
new file mode 100644 (file)
index 0000000..ee27965
--- /dev/null
@@ -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/getopt/Makefile.am b/getopt/Makefile.am
new file mode 100644 (file)
index 0000000..bd3e794
--- /dev/null
@@ -0,0 +1,11 @@
+include $(top_srcdir)/config/include-Makefile.am
+
+usrbin_exec_PROGRAMS = getopt
+dist_man_MANS = getopt.1
+
+exampledir = $(datadir)/getopt/
+dist_example_SCRIPTS = getopt-parse.bash getopt-parse.tcsh \
+       getopt-test.bash getopt-test.tcsh
+
+EXTRA_DIST = README Changelog COPYING
+
diff --git a/getopt/Makefile.in b/getopt/Makefile.in
new file mode 100644 (file)
index 0000000..370e4e5
--- /dev/null
@@ -0,0 +1,699 @@
+# Makefile.in generated by automake 1.11 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@
+DIST_COMMON = README $(dist_example_SCRIPTS) $(dist_man_MANS) \
+       $(dist_noinst_DATA) $(srcdir)/Makefile.am \
+       $(srcdir)/Makefile.in $(top_srcdir)/config/include-Makefile.am \
+       COPYING
+usrbin_exec_PROGRAMS = getopt$(EXEEXT)
+subdir = getopt
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.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)/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 =
+CONFIG_CLEAN_VPATH_FILES =
+am__installdirs = "$(DESTDIR)$(usrbin_execdir)" \
+       "$(DESTDIR)$(exampledir)" "$(DESTDIR)$(man1dir)"
+PROGRAMS = $(usrbin_exec_PROGRAMS)
+getopt_SOURCES = getopt.c
+getopt_OBJECTS = getopt.$(OBJEXT)
+getopt_LDADD = $(LDADD)
+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'
+SCRIPTS = $(dist_example_SCRIPTS)
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+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) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+       --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+       --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+       $(LDFLAGS) -o $@
+SOURCES = getopt.c
+DIST_SOURCES = getopt.c
+man1dir = $(mandir)/man1
+NROFF = nroff
+MANS = $(dist_man_MANS)
+DATA = $(dist_noinst_DATA)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BLKID = @BLKID@
+BLKID_CFLAGS = @BLKID_CFLAGS@
+BLKID_LIBS = @BLKID_LIBS@
+BLKID_LIBS_STATIC = @BLKID_LIBS_STATIC@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+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@
+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_VERSION = @LIBBLKID_VERSION@
+LIBBLKID_VERSION_INFO = @LIBBLKID_VERSION_INFO@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+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@
+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_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+POSUB = @POSUB@
+RANLIB = @RANLIB@
+SED = @SED@
+SELINUX_LIBS = @SELINUX_LIBS@
+SELINUX_LIBS_STATIC = @SELINUX_LIBS_STATIC@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SUID_CFLAGS = @SUID_CFLAGS@
+SUID_LDFLAGS = @SUID_LDFLAGS@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
+VERSION = @VERSION@
+VOLID = @VOLID@
+XGETTEXT = @XGETTEXT@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+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@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+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 $(top_builddir)/config.h -I$(top_srcdir)/include \
+       -DLOCALEDIR=\"$(localedir)\"
+
+AM_CFLAGS = -fsigned-char
+AM_LDFLAGS = 
+
+# 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)
+#
+# blkid
+ul_libblkid_srcdir = $(top_srcdir)/shlibs/blkid/src
+ul_libblkid_builddir = $(top_builddir)/shlibs/blkid/src
+ul_libblkid_la = $(top_builddir)/shlibs/blkid/src/libblkid.la
+
+# uuid
+ul_libuuid_srcdir = $(top_srcdir)/shlibs/uuid/src
+ul_libuuid_builddir = $(top_builddir)/shlibs/uuid/src
+ul_libuuid_la = $(top_builddir)/shlibs/uuid/src/libuuid.la
+dist_man_MANS = getopt.1
+exampledir = $(datadir)/getopt/
+dist_example_SCRIPTS = getopt-parse.bash getopt-parse.tcsh \
+       getopt-test.bash getopt-test.tcsh
+
+EXTRA_DIST = README Changelog COPYING
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/config/include-Makefile.am $(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 getopt/Makefile'; \
+       $(am__cd) $(top_srcdir) && \
+         $(AUTOMAKE) --foreign getopt/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):
+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
+getopt$(EXEEXT): $(getopt_OBJECTS) $(getopt_DEPENDENCIES) 
+       @rm -f getopt$(EXEEXT)
+       $(LINK) $(getopt_OBJECTS) $(getopt_LDADD) $(LIBS)
+install-dist_exampleSCRIPTS: $(dist_example_SCRIPTS)
+       @$(NORMAL_INSTALL)
+       test -z "$(exampledir)" || $(MKDIR_P) "$(DESTDIR)$(exampledir)"
+       @list='$(dist_example_SCRIPTS)'; test -n "$(exampledir)" || 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)$(exampledir)$$dir'"; \
+              $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(exampledir)$$dir" || exit $$?; \
+            } \
+       ; done
+
+uninstall-dist_exampleSCRIPTS:
+       @$(NORMAL_UNINSTALL)
+       @list='$(dist_example_SCRIPTS)'; test -n "$(exampledir)" || exit 0; \
+       files=`for p in $$list; do echo "$$p"; done | \
+              sed -e 's,.*/,,;$(transform)'`; \
+       test -n "$$list" || exit 0; \
+       echo " ( cd '$(DESTDIR)$(exampledir)' && rm -f" $$files ")"; \
+       cd "$(DESTDIR)$(exampledir)" && rm -f $$files
+
+mostlyclean-compile:
+       -rm -f *.$(OBJEXT)
+
+distclean-compile:
+       -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@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 $<
+
+.c.obj:
+@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@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 `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@   $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@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 $@ $<
+
+mostlyclean-libtool:
+       -rm -f *.lo
+
+clean-libtool:
+       -rm -rf .libs _libs
+install-man1: $(dist_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)'; 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)'; 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; }
+
+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:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       set x; \
+       here=`pwd`; \
+       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; }; }'`; \
+       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:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       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; }; }'`; \
+       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
+
+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
+       @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 $(PROGRAMS) $(SCRIPTS) $(MANS) $(DATA)
+installdirs:
+       for dir in "$(DESTDIR)$(usrbin_execdir)" "$(DESTDIR)$(exampledir)" "$(DESTDIR)$(man1dir)"; do \
+         test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+       done
+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:
+
+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)
+
+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-usrbin_execPROGRAMS \
+       mostlyclean-am
+
+distclean: distclean-am
+       -rm -rf ./$(DEPDIR)
+       -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+       distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-dist_exampleSCRIPTS install-man
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-usrbin_execPROGRAMS
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man: install-man1
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+       -rm -rf ./$(DEPDIR)
+       -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+       mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-dist_exampleSCRIPTS uninstall-man \
+       uninstall-usrbin_execPROGRAMS
+
+uninstall-man: uninstall-man1
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+       clean-libtool clean-usrbin_execPROGRAMS ctags distclean \
+       distclean-compile distclean-generic distclean-libtool \
+       distclean-tags distdir dvi dvi-am html html-am info info-am \
+       install install-am install-data install-data-am \
+       install-dist_exampleSCRIPTS install-dvi install-dvi-am \
+       install-exec install-exec-am install-html install-html-am \
+       install-info install-info-am install-man install-man1 \
+       install-pdf install-pdf-am install-ps install-ps-am \
+       install-strip install-usrbin_execPROGRAMS installcheck \
+       installcheck-am installdirs maintainer-clean \
+       maintainer-clean-generic mostlyclean mostlyclean-compile \
+       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+       tags uninstall uninstall-am uninstall-dist_exampleSCRIPTS \
+       uninstall-man uninstall-man1 uninstall-usrbin_execPROGRAMS
+
+
+$(ul_libblkid_la):
+       $(MAKE) -C $(ul_libblkid_builddir)
+
+$(ul_libuuid_la):
+       $(MAKE) -C $(ul_libuuid_builddir)
+
+# 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/getopt/README b/getopt/README
new file mode 100644 (file)
index 0000000..dbf7bb0
--- /dev/null
@@ -0,0 +1,81 @@
+This package contains a reimplementation of getopt(1).
+
+PREFACE
+
+Getopt(1) is a program to help shell scripts parse command-line parameters.
+It is for example included in the util-linux distribution (upto version
+2.7.1). But, there are some problems with that getopt(1) implementation, 
+as listed in the 'BUGS' section of its man-page:
+
+>BUGS
+>     Whatever getopt(3) has.
+>
+>     Arguments containing white space or imbedded shell metacharacters gener-
+>     ally will not survive intact;  this looks easy to fix but isn't.
+>
+>     The error message for an invalid option is identified as coming from
+>     getopt rather than from the shell procedure containing the invocation of
+>     getopt; this again is hard to fix.
+>
+>     The precise best way to use the set command to set the arguments without
+>     disrupting the value(s) of shell options varies from one shell version to
+>     another.
+
+This implementation of getopt(1) is written to solve some of these problems,
+while still staying (for all practical purposes) completely compatible with
+other getopt(1) implementations.
+
+
+INSTALLATION
+
+Installation should be very easy. Just type 'make' to compile the sources.
+It should compile cleanly, without any warnings, but even if it does not
+you probably don't have to worry. You must use GNU Make and gcc, or you
+will have to edit the Makefile. 
+
+Type 'make install' to install the binary and the manual page. It installs 
+by default in /usr/local/bin and /usr/local/man/man1, to install in /usr/bin 
+and /usr/man/man1 try 'make install prefix=/usr'.
+
+The example files can be installed in /usr/local/lib/getopt by calling
+'make install_doc'.
+
+If you do not trust the getopt(3) in your libc, or if you do not use a libc
+with the GNU getopt(3) routines, you can use the gnu sources as provided 
+in the gnu directory. Try 'make LIBCGETOPT=0'. Ignore any compile warnings.
+
+You can check whether the new implementation of getopt is found first
+in your path by calling 'bash test.bash'.
+
+
+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 licence 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.
+
+
+DOWNLOADING
+
+You can find the latest version of this program at:
+  http://software.frodo.looijaard.name/getopt/
diff --git a/getopt/getopt-parse.bash b/getopt/getopt-parse.bash
new file mode 100755 (executable)
index 0000000..864fc0a
--- /dev/null
@@ -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/getopt/getopt-parse.tcsh b/getopt/getopt-parse.tcsh
new file mode 100755 (executable)
index 0000000..2266d0e
--- /dev/null
@@ -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/getopt/getopt-test.bash b/getopt/getopt-test.bash
new file mode 100755 (executable)
index 0000000..149e1f9
--- /dev/null
@@ -0,0 +1,6 @@
+#!/bin/bash
+if `getopt -T >/dev/null 2>&1` ; [ $? = 4 ] ; then
+  echo "Enhanced getopt(1)"
+else
+  echo "Old getopt(1)"
+fi
diff --git a/getopt/getopt-test.tcsh b/getopt/getopt-test.tcsh
new file mode 100755 (executable)
index 0000000..d661e76
--- /dev/null
@@ -0,0 +1,7 @@
+#!/bin/tcsh
+getopt -T >&/dev/null
+if ( $status == 4) then
+  echo "Enhanced getopt(1)"
+else
+  echo "Old getopt(1)"
+endif
diff --git a/getopt/getopt.1 b/getopt/getopt.1
new file mode 100644 (file)
index 0000000..755dc97
--- /dev/null
@@ -0,0 +1,464 @@
+.TH GETOPT 1 "May 31, 1997" Linux ""
+.SH NAME
+getopt \- parse command options (enhanced)
+.SH SYNOPSIS
+.B getopt
+.I optstring parameters
+.br
+.B getopt
+.RI [ options ]
+.RB [ \-\- ]
+.I optstring parameters
+.br
+.B getopt
+.RI [ options ]
+.BR \-o | \-\-options
+.I optstring
+.RI [ options ]
+.RB [ \-\- ]
+.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.
+
+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.
+
+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).
+
+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.
+
+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.
+
+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.
+
+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.
+
+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 (ie. 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.
+
+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.
+
+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.
+
+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.
+
+If several short options were specified after a single
+.RB ` \- ',
+each will be present in the output as a separate parameter.
+
+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.
+
+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.
+
+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.
+
+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.
+
+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.
+
+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.
+
+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.
+
+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.
+
+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.
+
+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
+Frodo Looijaard <frodo@frodo.looijaard.name>
+.SH "SEE ALSO"
+.BR getopt (3),
+.BR bash (1),
+.BR tcsh (1).
+.SH AVAILABILITY
+The getopt command is part of the util-linux-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/getopt/getopt.c b/getopt/getopt.c
new file mode 100644 (file)
index 0000000..fbcfb05
--- /dev/null
@@ -0,0 +1,459 @@
+/*
+    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., 675 Mass Ave, Cambridge, MA 02139, 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
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <ctype.h>
+#include <getopt.h>
+
+#include "nls.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. */
+shell_t shell=BASH; /* The shell we generate output for. */
+int quiet_errors=0; /* 0 is not quiet. */
+int quiet_output=0; /* 0 is not quiet. */
+int quote=1; /* 1 is do quote. */
+int alternative=0; /* 0 is getopt_long, 1 is getopt_long_only */
+
+/* Function prototypes */
+void *our_malloc(size_t size);
+void *our_realloc(void *ptr, size_t size);
+const char *normalize(const char *arg);
+int generate_output(char * argv[],int argc,const char *optstr,
+                    const struct option *longopts);
+int main(int argc, char *argv[]);
+void parse_error(const char *message);
+void add_long_options(char *options);
+void add_longopt(const char *name,int has_arg);
+void print_help(void);
+void set_shell(const char *new_shell);
+void set_initial_shell(void);
+
+void *our_malloc(size_t size)
+{
+       void *ret=malloc(size);
+       if (! ret) {
+               fprintf(stderr,_("%s: Out of memory!\n"),"getopt");
+               exit(3);
+       }
+       return(ret);
+}
+
+void *our_realloc(void *ptr, size_t size)
+{
+       void *ret=realloc(ptr,size);
+       if (! ret && size) {
+               fprintf(stderr,_("%s: Out of memory!\n"),"getopt");
+               exit(3);
+       }
+       return(ret);
+}
+
+/*
+ * 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.
+ */
+const char *normalize(const char *arg)
+{
+       static char *BUFFER=NULL;
+       const char *argptr=arg;
+       char *bufptr;
+
+       free(BUFFER);
+
+       if (!quote) { /* Just copy arg */
+               BUFFER=our_malloc(strlen(arg)+1);
+                       
+               strcpy(BUFFER,arg);
+               return BUFFER;
+       }
+
+       /* Each character in arg may take upto 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=our_malloc(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.
+ */
+int generate_output(char * argv[],int argc,const char *optstr,
+                    const struct option *longopts)
+{
+       int exit_code = 0; /* We assume everything will be OK */
+       int opt;
+       int longindex;
+       const char *charptr;
+
+       if (quiet_errors) /* No error reporting from getopt(3) */
+               opterr=0;
+       optind=0; /* Reset getopt(3) */
+
+       while ((opt = (alternative?
+                     getopt_long_only(argc,argv,optstr,longopts,&longindex):
+                     getopt_long(argc,argv,optstr,longopts,&longindex))) 
+               != EOF) 
+               if (opt == '?' || opt == ':' )
+                       exit_code = 1;
+               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.
+ */
+void parse_error(const char *message)
+{
+       if (message)
+               fprintf(stderr,"getopt: %s\n",message);
+       fputs(_("Try `getopt --help' for more information.\n"),stderr);
+       exit(2);
+}
+
+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. */
+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=our_realloc(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 = our_malloc(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! 
+ */
+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");
+       }
+}
+
+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"));
+}
+
+void print_help(void)
+{
+       fputs(_("Usage: getopt optstring parameters\n"),stderr);
+       fputs(_("       getopt [options] [--] optstring parameters\n"),stderr);
+       fputs(_("       getopt [options] -o|--options optstring [options] [--]\n"),stderr);
+       fputs(_("              parameters\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, --unqote                 Do not quote the output\n"),stderr);
+       fputs(_("  -V, --version                Output version information\n"),stderr);
+       exit(2);
+}
+       
+/* Exit codes:
+ *   0) No errors, succesful 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
+ */
+
+static 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}
+                                };
+
+/* Stop scanning as soon as a non-option argument is found! */
+static const char *shortopts="+ao:l:n:qQs:TuhV";
+
+int main(int argc, char *argv[])
+{
+       char *optstr=NULL;
+       char *name=NULL;
+       int opt;
+       int compatible=0;
+
+       setlocale(LC_ALL,"");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+
+       init_longopt();
+
+       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");
+                       exit(0);
+               }
+               else
+                       parse_error(_("missing optstring argument"));
+       }
+       
+       if (argv[1][0] != '-' || compatible) {
+               quote=0;
+               optstr=our_malloc(strlen(argv[1])+1);
+               strcpy(optstr,argv[1]+strspn(argv[1],"-+"));
+               argv[1]=argv[0];
+               exit(generate_output(argv+1,argc-1,optstr,long_options));
+       }
+       
+       while ((opt=getopt_long(argc,argv,shortopts,longopts,NULL)) != EOF) 
+               switch (opt) {
+               case 'a':
+                       alternative=1;
+                       break;
+               case 'h':
+                       print_help();
+                       exit(0);
+               case 'o':
+                       free(optstr);
+                       optstr=our_malloc(strlen(optarg)+1);
+                       strcpy(optstr,optarg);
+                       break;
+               case 'l':
+                       add_long_options(optarg);
+                       break;
+               case 'n':
+                       free(name);
+                       name=our_malloc(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':
+                       exit(4);
+               case 'u':
+                       quote=0;
+                       break;
+               case 'V':
+                       printf(_("getopt (enhanced) 1.1.4\n"));
+                       exit(0);
+               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=our_malloc(strlen(argv[optind])+1);
+                       strcpy(optstr,argv[optind]);
+                       optind++;
+               }
+       }
+       if (name)
+               argv[optind-1]=name;
+       else
+               argv[optind-1]=argv[0];
+       exit(generate_output(argv+optind-1,argc-optind+1,optstr,long_options));
+}
diff --git a/hwclock/Makefile.am b/hwclock/Makefile.am
new file mode 100644 (file)
index 0000000..542521c
--- /dev/null
@@ -0,0 +1,14 @@
+include $(top_srcdir)/config/include-Makefile.am
+
+dist_man_MANS = hwclock.8
+
+sbin_PROGRAMS = hwclock
+
+hwclock_SOURCES = hwclock.c cmos.c rtc.c kd.c clock.h
+hwclock_LDADD =
+
+if HAVE_AUDIT
+hwclock_LDADD += -laudit
+endif
+
+EXTRA_DIST = README.hwclock clock-ppc.c
diff --git a/hwclock/Makefile.in b/hwclock/Makefile.in
new file mode 100644 (file)
index 0000000..014112a
--- /dev/null
@@ -0,0 +1,663 @@
+# Makefile.in generated by automake 1.11 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@
+DIST_COMMON = $(dist_man_MANS) $(dist_noinst_DATA) \
+       $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+       $(top_srcdir)/config/include-Makefile.am
+sbin_PROGRAMS = hwclock$(EXEEXT)
+@HAVE_AUDIT_TRUE@am__append_1 = -laudit
+subdir = hwclock
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.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)/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 =
+CONFIG_CLEAN_VPATH_FILES =
+am__installdirs = "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(man8dir)"
+PROGRAMS = $(sbin_PROGRAMS)
+am_hwclock_OBJECTS = hwclock.$(OBJEXT) cmos.$(OBJEXT) rtc.$(OBJEXT) \
+       kd.$(OBJEXT)
+hwclock_OBJECTS = $(am_hwclock_OBJECTS)
+am__DEPENDENCIES_1 =
+hwclock_DEPENDENCIES = $(am__DEPENDENCIES_1)
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+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) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+       --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+       --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+       $(LDFLAGS) -o $@
+SOURCES = $(hwclock_SOURCES)
+DIST_SOURCES = $(hwclock_SOURCES)
+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'
+man8dir = $(mandir)/man8
+NROFF = nroff
+MANS = $(dist_man_MANS)
+DATA = $(dist_noinst_DATA)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BLKID = @BLKID@
+BLKID_CFLAGS = @BLKID_CFLAGS@
+BLKID_LIBS = @BLKID_LIBS@
+BLKID_LIBS_STATIC = @BLKID_LIBS_STATIC@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+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@
+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_VERSION = @LIBBLKID_VERSION@
+LIBBLKID_VERSION_INFO = @LIBBLKID_VERSION_INFO@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+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@
+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_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+POSUB = @POSUB@
+RANLIB = @RANLIB@
+SED = @SED@
+SELINUX_LIBS = @SELINUX_LIBS@
+SELINUX_LIBS_STATIC = @SELINUX_LIBS_STATIC@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SUID_CFLAGS = @SUID_CFLAGS@
+SUID_LDFLAGS = @SUID_LDFLAGS@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
+VERSION = @VERSION@
+VOLID = @VOLID@
+XGETTEXT = @XGETTEXT@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+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@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+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 $(top_builddir)/config.h -I$(top_srcdir)/include \
+       -DLOCALEDIR=\"$(localedir)\"
+
+AM_CFLAGS = -fsigned-char
+AM_LDFLAGS = 
+
+# 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)
+#
+# blkid
+ul_libblkid_srcdir = $(top_srcdir)/shlibs/blkid/src
+ul_libblkid_builddir = $(top_builddir)/shlibs/blkid/src
+ul_libblkid_la = $(top_builddir)/shlibs/blkid/src/libblkid.la
+
+# uuid
+ul_libuuid_srcdir = $(top_srcdir)/shlibs/uuid/src
+ul_libuuid_builddir = $(top_builddir)/shlibs/uuid/src
+ul_libuuid_la = $(top_builddir)/shlibs/uuid/src/libuuid.la
+dist_man_MANS = hwclock.8
+hwclock_SOURCES = hwclock.c cmos.c rtc.c kd.c clock.h
+hwclock_LDADD = $(am__append_1)
+EXTRA_DIST = README.hwclock clock-ppc.c
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/config/include-Makefile.am $(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 hwclock/Makefile'; \
+       $(am__cd) $(top_srcdir) && \
+         $(AUTOMAKE) --foreign hwclock/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):
+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
+hwclock$(EXEEXT): $(hwclock_OBJECTS) $(hwclock_DEPENDENCIES) 
+       @rm -f hwclock$(EXEEXT)
+       $(LINK) $(hwclock_OBJECTS) $(hwclock_LDADD) $(LIBS)
+
+mostlyclean-compile:
+       -rm -f *.$(OBJEXT)
+
+distclean-compile:
+       -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cmos.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hwclock.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kd.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rtc.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@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 $<
+
+.c.obj:
+@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@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 `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@   $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@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 $@ $<
+
+mostlyclean-libtool:
+       -rm -f *.lo
+
+clean-libtool:
+       -rm -rf .libs _libs
+install-man8: $(dist_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)'; 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)'; 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; }
+
+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:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       set x; \
+       here=`pwd`; \
+       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; }; }'`; \
+       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:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       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; }; }'`; \
+       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
+
+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
+       @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 $(PROGRAMS) $(MANS) $(DATA)
+installdirs:
+       for dir in "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(man8dir)"; do \
+         test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+       done
+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:
+
+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)
+
+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-sbinPROGRAMS \
+       mostlyclean-am
+
+distclean: distclean-am
+       -rm -rf ./$(DEPDIR)
+       -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+       distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-man
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-sbinPROGRAMS
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man: install-man8
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+       -rm -rf ./$(DEPDIR)
+       -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+       mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-man uninstall-sbinPROGRAMS
+
+uninstall-man: uninstall-man8
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+       clean-libtool clean-sbinPROGRAMS ctags distclean \
+       distclean-compile distclean-generic distclean-libtool \
+       distclean-tags distdir dvi dvi-am html html-am info info-am \
+       install install-am install-data install-data-am install-dvi \
+       install-dvi-am install-exec install-exec-am install-html \
+       install-html-am install-info install-info-am install-man \
+       install-man8 install-pdf install-pdf-am install-ps \
+       install-ps-am install-sbinPROGRAMS install-strip installcheck \
+       installcheck-am installdirs maintainer-clean \
+       maintainer-clean-generic mostlyclean mostlyclean-compile \
+       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+       tags uninstall uninstall-am uninstall-man uninstall-man8 \
+       uninstall-sbinPROGRAMS
+
+
+$(ul_libblkid_la):
+       $(MAKE) -C $(ul_libblkid_builddir)
+
+$(ul_libuuid_la):
+       $(MAKE) -C $(ul_libuuid_builddir)
+
+# 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/hwclock/README.hwclock b/hwclock/README.hwclock
new file mode 100644 (file)
index 0000000..ba8bc44
--- /dev/null
@@ -0,0 +1,27 @@
+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.
+
+Sometimes, you need to install 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.
+
+To install setuid root, do something like this:
+
+  chmod a=rx,u=s /sbin/hwclock
+
+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).
+
+You may want to preformat and/or compress the man page before installing.
+
+If you want to build hwclock, just cd to the source directory and invoke
+make with no parameters.
+
+hwclock calls option processing routines in the libsshopt library,
+which is part of Sverre H. Huseby's "shhopt" package. You
+can find a more authoritative copy of this package on metalab
+(ftp://metalab.unc.edu/pub/Linux/libs/shhopt-X.Y).
diff --git a/hwclock/clock-ppc.c b/hwclock/clock-ppc.c
new file mode 100644 (file)
index 0000000..b73d0ad
--- /dev/null
@@ -0,0 +1,459 @@
+/*
+From t-matsuu@protein.osaka-u.ac.jp Sat Jan 22 13:43:20 2000
+Date: Sat, 22 Jan 2000 21:42:54 +0900 (JST)
+To: Andries.Brouwer@cwi.nl
+Subject: Please merge the source for PPC
+From: MATSUURA Takanori <t-matsuu@protein.osaka-u.ac.jp>
+
+Even now, it is used clock-1.1 based source on Linux for PowerPC
+architecture, attached on this mail.
+
+Please merge this source in main util-linux source.
+
+But I'm not an author of this source, but Paul Mackerras.
+http://linuxcare.com.au/paulus/
+shows details of him.
+
+MATSUURA Takanori @ Division of Protein Chemistry, 
+                     Institute for Protein Research, Osaka University, Japan
+E-Mail: t-matsuu@protein.osaka-u.ac.jp
+Web Page: http://www.protein.osaka-u.ac.jp/chemistry/matsuura/
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <errno.h>
+#include <unistd.h>
+
+#include <time.h>
+#include <fcntl.h>
+#include <getopt.h>
+#include <sys/time.h>
+
+#include <asm/cuda.h>
+
+/*
+ * Adapted for Power Macintosh by Paul Mackerras.
+ */
+
+/* V1.0
+ * CMOS clock manipulation - Charles Hedrick, hedrick@cs.rutgers.edu, Apr 1992
+ * 
+ * clock [-u] -r  - read cmos clock
+ * clock [-u] -w  - write cmos clock from system time
+ * clock [-u] -s  - set system time from cmos clock
+ * clock [-u] -a  - set system time from cmos clock, adjust the time to
+ *                  correct for systematic error, and put it back to the cmos.
+ *  -u indicates cmos clock is kept in universal time
+ *
+ * The program is designed to run setuid, since we need to be able to
+ * write to the CUDA.
+ *
+ *********************
+ * V1.1
+ * Modified for clock adjustments - Rob Hooft, hooft@chem.ruu.nl, Nov 1992
+ * Also moved error messages to stderr. The program now uses getopt.
+ * Changed some exit codes. Made 'gcc 2.3 -Wall' happy.
+ *
+ * I think a small explanation of the adjustment routine should be given
+ * here. 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'
+ *
+ * If the adjustment doesn't work for you, try contacting me by E-mail.
+ *
+ ******
+ * V1.2
+ *
+ * Applied patches by Harald Koenig (koenig@nova.tat.physik.uni-tuebingen.de)
+ * Patched and indented by Rob Hooft (hooft@EMBL-Heidelberg.DE)
+ * 
+ * A free quote from a MAIL-message (with spelling corrections):
+ *
+ * "I found the explanation and solution for the CMOS reading 0xff problem
+ *  in the 0.99pl13c (ALPHA) kernel: the RTC goes offline for a small amount
+ *  of time for updating. Solution is included in the kernel source 
+ *  (linux/kernel/time.c)."
+ *
+ * "I modified clock.c to fix this problem and added an option (now default,
+ *  look for USE_INLINE_ASM_IO) that I/O instructions are used as inline
+ *  code and not via /dev/port (still possible via #undef ...)."
+ *
+ * With the new code, which is partially taken from the kernel sources, 
+ * the CMOS clock handling looks much more "official".
+ * Thanks Harald (and Torsten for the kernel code)!
+ *
+ ******
+ * V1.3
+ * Canges from alan@spri.levels.unisa.edu.au (Alan Modra):
+ * a) Fix a few typos in comments and remove reference to making
+ *    clock -u a cron job.  The kernel adjusts cmos time every 11
+ *    minutes - see kernel/sched.c and kernel/time.c set_rtc_mmss().
+ *    This means we should really have a cron job updating
+ *    /etc/adjtime every 11 mins (set last_time to the current time
+ *    and not_adjusted to ???).
+ * b) Swapped arguments of outb() to agree with asm/io.h macro of the
+ *    same name.  Use outb() from asm/io.h as it's slightly better.
+ * c) Changed CMOS_READ and CMOS_WRITE to inline functions.  Inserted
+ *    cli()..sti() pairs in appropriate places to prevent possible
+ *    errors, and changed ioperm() call to iopl() to allow cli.
+ * d) Moved some variables around to localise them a bit.
+ * e) Fixed bug with clock -ua or clock -us that cleared environment
+ *    variable TZ.  This fix also cured the annoying display of bogus
+ *    day of week on a number of machines. (Use mktime(), ctime()
+ *    rather than asctime() )
+ * f) Use settimeofday() rather than stime().  This one is important
+ *    as it sets the kernel's timezone offset, which is returned by
+ *    gettimeofday(), and used for display of MSDOS and OS2 file
+ *    times.
+ * g) faith@cs.unc.edu added -D flag for debugging
+ *
+ * V1.4: alan@SPRI.Levels.UniSA.Edu.Au (Alan Modra)
+ *       Wed Feb  8 12:29:08 1995, fix for years > 2000.
+ *       faith@cs.unc.edu added -v option to print version.
+ *
+ * August 1996 Tom Dyas (tdyas@eden.rutgers.edu)
+ *       Converted to be compatible with the SPARC /dev/rtc driver.
+ *
+ */
+
+#define VERSION "1.4"
+
+/* Here the information for time adjustments is kept. */
+#define ADJPATH "/etc/adjtime"
+
+/* Apparently the RTC on PowerMacs stores seconds since 1 Jan 1904 */
+#define RTC_OFFSET     2082844800
+
+/* used for debugging the code. */
+/*#define KEEP_OFF */
+
+/* Globals */
+int readit = 0;
+int adjustit = 0;
+int writeit = 0;
+int setit = 0;
+int universal = 0;
+int debug = 0;
+
+time_t mkgmtime(struct tm *);
+
+volatile void 
+usage ( void )
+{
+  (void) fprintf (stderr, 
+    "clock [-u] -r|w|s|a|v\n"
+    "  r: read and print CMOS clock\n"
+    "  w: write CMOS clock from system time\n"
+    "  s: set system time from CMOS clock\n"
+    "  a: get system time and adjust CMOS clock\n"
+    "  u: CMOS clock is in universal time\n"
+    "  v: print version (" VERSION ") and exit\n"
+  );
+  exit(EXIT_FAILURE);
+}
+
+int adb_fd;
+
+void
+adb_init ( void )
+{
+  adb_fd = open ("/dev/adb", 2);
+  if (adb_fd < 0)
+    {
+      perror ("unable to open /dev/adb read/write : ");
+      exit(EXIT_FAILURE);
+    }
+}
+
+unsigned char get_packet[2] = { (unsigned char) CUDA_PACKET, 
+                               (unsigned char) CUDA_GET_TIME };
+unsigned char set_packet[6] = { (unsigned char) CUDA_PACKET, 
+                               (unsigned char) CUDA_SET_TIME };
+
+int 
+main (int argc, char **argv )
+{
+  struct tm tm, *tmp;
+  time_t systime;
+  time_t last_time;
+  time_t clock_time;
+  int i, arg;
+  double factor;
+  double not_adjusted;
+  int adjustment = 0;
+  /*   unsigned char save_control, save_freq_select; */
+  unsigned char reply[16];
+
+  while ((arg = getopt (argc, argv, "rwsuaDv")) != -1)
+    {
+      switch (arg)
+       {
+       case 'r':
+         readit = 1;
+         break;
+       case 'w':
+         writeit = 1;
+         break;
+       case 's':
+         setit = 1;
+         break;
+       case 'u':
+         universal = 1;
+         break;
+       case 'a':
+         adjustit = 1;
+         break;
+        case 'D':
+         debug = 1;
+         break;
+       case 'v':
+         (void) fprintf( stderr, "clock " VERSION "\n" );
+         exit(EXIT_SUCCESS);
+       default:
+         usage ();
+       }
+    }
+
+    /* If we are in MkLinux do not even bother trying to set the clock */
+    if(!access("/proc/osfmach3/version", R_OK))
+    {           /* We're running MkLinux */
+     if ( readit | writeit | setit | adjustit )
+       printf("You must change the clock setting in MacOS.\n");
+     exit(0);
+    }
+
+  if (readit + writeit + setit + adjustit > 1)
+    usage ();                  /* only allow one of these */
+
+  if (!(readit | writeit | setit | adjustit))  /* default to read */
+    readit = 1;
+
+  adb_init ();
+
+  if (adjustit)
+    {                          /* Read adjustment parameters first */
+      FILE *adj;
+      if ((adj = fopen (ADJPATH, "r")) == NULL)
+       {
+         perror (ADJPATH);
+         exit(EXIT_FAILURE);
+       }
+      if (fscanf (adj, "%lf %d %lf", &factor, (int *) (&last_time), 
+                 &not_adjusted) < 0)
+       {
+         perror (ADJPATH);
+         exit(EXIT_FAILURE);
+       }
+      (void) fclose (adj);
+      if (debug) (void) printf(
+                       "Last adjustment done at %d seconds after 1/1/1970\n",
+                       (int) last_time);
+    }
+
+  if (readit || setit || adjustit)
+    {
+      int ii;
+
+      if (write(adb_fd, get_packet, sizeof(get_packet)) < 0) {
+       perror("write adb");
+       exit(EXIT_FAILURE);
+      }
+      ii = (int) read(adb_fd, reply, sizeof(reply));
+      if (ii < 0) {
+       perror("read adb");
+       exit(EXIT_FAILURE);
+      }
+      if (ii != 7)
+       (void) fprintf(stderr, 
+                      "Warning: bad reply length from CUDA (%d)\n", ii);
+      clock_time = (time_t) ((reply[3] << 24) + (reply[4] << 16)
+                            + (reply[5] << 8)) + (time_t) reply[6];
+      clock_time -= RTC_OFFSET;
+
+      if (universal) {
+       systime = clock_time;
+      } else {
+       tm = *gmtime(&clock_time);
+       (void) printf("time in rtc is %s", asctime(&tm));
+       tm.tm_isdst = -1;               /* don't know whether it's DST */
+       systime = mktime(&tm);
+      }
+    }
+
+  if (readit)
+    {
+      (void) printf ("%s", ctime (&systime ));
+    }
+
+  if (setit || adjustit)
+    {
+      struct timeval tv;
+      struct timezone tz;
+
+/* program is designed to run setuid, be secure! */
+
+      if (getuid () != 0)
+       {                       
+         (void) fprintf (stderr, 
+                         "Sorry, must be root to set or adjust time\n");
+         exit(EXIT_FAILURE);
+       }
+
+      if (adjustit)
+       {                       /* the actual adjustment */
+         double exact_adjustment;
+
+         exact_adjustment = ((double) (systime - last_time))
+           * factor / (24 * 60 * 60)
+           + not_adjusted;
+         if (exact_adjustment > 0.)
+           adjustment = (int) (exact_adjustment + 0.5);
+         else
+           adjustment = (int) (exact_adjustment - 0.5);
+         not_adjusted = exact_adjustment - (double) adjustment;
+         systime += adjustment;
+         if (debug) {
+            (void) printf ("Time since last adjustment is %d seconds\n",
+                    (int) (systime - last_time));
+            (void) printf ("Adjusting time by %d seconds\n",
+                    adjustment);
+            (void) printf ("remaining adjustment is %.3f seconds\n",
+                    not_adjusted);
+         }
+       }
+#ifndef KEEP_OFF
+      tv.tv_sec = systime;
+      tv.tv_usec = 0;
+      tz.tz_minuteswest = timezone / 60;
+      tz.tz_dsttime = daylight;
+
+      if (settimeofday (&tv, &tz) != 0)
+        {
+         (void) fprintf (stderr,
+                  "Unable to set time -- probably you are not root\n");
+         exit(EXIT_FAILURE);
+       }
+      
+      if (debug) {
+        (void) printf( "Called settimeofday:\n" );
+        (void) printf( "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n",
+                tv.tv_sec, tv.tv_usec );
+        (void) printf( "\ttz.tz_minuteswest = %d, tz.tz_dsttime = %d\n",
+                tz.tz_minuteswest, tz.tz_dsttime );
+      }
+#endif
+    }
+  
+  if (writeit || (adjustit && adjustment != 0))
+    {
+      systime = time (NULL);
+
+      if (universal) {
+       clock_time = systime;
+
+      } else {
+       tmp = localtime(&systime);
+       clock_time = mkgmtime(tmp);
+      }
+
+      clock_time += RTC_OFFSET;
+      set_packet[2] = clock_time >> 24;
+      set_packet[3] = clock_time >> 16;
+      set_packet[4] = clock_time >> 8;
+      set_packet[5] = (unsigned char) clock_time;
+
+      if (write(adb_fd, set_packet, sizeof(set_packet)) < 0) {
+       perror("write adb (set)");
+       exit(EXIT_FAILURE);
+      }
+      i = (int) read(adb_fd, reply, sizeof(reply));
+      if (debug) {
+       int j;
+       (void) printf("set reply %d bytes:", i);
+       for (j = 0; j < i; ++j) 
+           (void) printf(" %.2x", (unsigned int) reply[j]);
+       (void) printf("\n");
+      }
+      if (i != 3 || reply[1] != (unsigned char) 0)
+       (void) fprintf(stderr, "Warning: error %d setting RTC\n", 
+                      (int) reply[1]);
+
+      if (debug) {
+       clock_time -= RTC_OFFSET;
+       (void) printf("set RTC to %s", asctime(gmtime(&clock_time)));
+      }
+    }
+  else
+    if (debug) (void) printf ("CMOS clock unchanged.\n");
+  /* Save data for next 'adjustit' call */
+  if (adjustit)
+    {
+      FILE *adj;
+      if ((adj = fopen (ADJPATH, "w")) == NULL)
+       {
+         perror (ADJPATH);
+         exit(EXIT_FAILURE);
+       }
+      (void) fprintf (adj, "%f %d %f\n", factor, (int) systime, not_adjusted);
+      (void) fclose (adj);
+    }
+  exit(EXIT_SUCCESS);
+}
+
+/* Stolen from linux/arch/i386/kernel/time.c. */
+/* Converts Gregorian date to seconds since 1970-01-01 00:00:00.
+ * Assumes input in normal date format, i.e. 1980-12-31 23:59:59
+ * => year=1980, mon=12, day=31, hour=23, min=59, sec=59.
+ *
+ * [For the Julian calendar (which was used in Russia before 1917,
+ * Britain & colonies before 1752, anywhere else before 1582,
+ * and is still in use by some communities) leave out the
+ * -year/100+year/400 terms, and add 10.]
+ *
+ * This algorithm was first published by Gauss (I think).
+ *
+ * WARNING: this function will overflow on 2106-02-07 06:28:16 on
+ * machines were long is 32-bit! (However, as time_t is signed, we
+ * will already get problems at other places on 2038-01-19 03:14:08)
+ */
+time_t mkgmtime(struct tm *tm)
+{
+  int mon = tm->tm_mon + 1;
+  int year = tm->tm_year + 1900;
+
+  if (0 >= (int) (mon -= 2)) { /* 1..12 -> 11,12,1..10 */
+    mon += 12; /* Puts Feb last since it has leap day */
+    year -= 1;
+  }
+  return (((
+           (unsigned long)(year/4 - year/100 + year/400 + 367*mon/12) +
+             tm->tm_mday + year*365 - 719499
+           )*24 + tm->tm_hour /* now have hours */
+          )*60 + tm->tm_min /* now have minutes */
+         )*60 + tm->tm_sec; /* finally seconds */
+}
diff --git a/hwclock/clock.h b/hwclock/clock.h
new file mode 100644 (file)
index 0000000..cbdf999
--- /dev/null
@@ -0,0 +1,53 @@
+#ifndef HWCLOCK_CLOCK_H
+#define HWCLOCK_CLOCK_H
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <errno.h>             /* for errno, EPERM, EINVAL, ENOENT */
+#include <time.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;
+#define TRUE 1
+#define FALSE 0
+
+/* hwclock.c */
+extern char *progname;
+extern int debug;
+extern int epoch_option;
+extern void outsyserr(char *msg, ...)
+#ifdef __GNUC__
+        __attribute__ ((format (printf, 1, 2)));
+#else
+        ;
+#endif
+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/hwclock/cmos.c b/hwclock/cmos.c
new file mode 100644 (file)
index 0000000..8b3495b
--- /dev/null
@@ -0,0 +1,614 @@
+/*
+ * 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 <unistd.h>            /* for geteuid() */
+#include <fcntl.h>             /* for O_RDWR */
+#include <errno.h>
+#include "nls.h"
+
+#if defined(__i386__)
+#ifdef HAVE_SYS_IO_H
+#include <sys/io.h>
+#else
+#include <asm/io.h>            /* for inb, outb */
+#endif
+#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
+void outb(int a, int b){}
+int inb(int c){ return 0; }
+#endif
+
+#include "clock.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 beween "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;
+
+
+  /* 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;
+  }
+
+  /* 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.
+     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
+
+
+#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;
+    }
+  }
+  fprintf(stderr, _("%s: atomic %s failed for 1000 iterations!"), progname, name);
+  exit(1);
+}
+#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, 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: %s\n"), clock_ctl_addr, strerror(errno));
+    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: %s\n"), clock_data_addr, strerror(errno));
+    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 doesnt 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: %s\n"), clock_ctl_addr, strerror(errno));
+    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: %s\n"), clock_data_addr, strerror(errno));
+  } 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;
+}
+
+
+
+static int
+read_hardware_clock_cmos(struct tm *tm) {
+/*----------------------------------------------------------------------------
+  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.
+
+-----------------------------------------------------------------------------*/
+  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;
+}
+
+static int
+i386_iopl(const int level) {
+#if defined(__i386__) || defined(__alpha__)
+  extern int iopl(const int lvl);
+  return iopl(level);
+#else
+  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) {
+      int errsv = errno;
+      fprintf(stderr, _("Cannot open /dev/port: %s"), strerror(errsv));
+      rc = 1;
+    } else
+      rc = 0;
+  } else {
+    rc = i386_iopl(3);
+    if (rc == -2) {
+      fprintf(stderr, _("I failed to get permission because I didn't try.\n"));
+    } else if (rc != 0) {
+      rc = errno;
+      fprintf(stderr, _("%s is unable to get I/O port access:  "
+              "the iopl(3) call failed.\n"), progname);
+      if(rc == EPERM && geteuid())
+        fprintf(stderr, _("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/hwclock/hwclock.8 b/hwclock/hwclock.8
new file mode 100644 (file)
index 0000000..55663fe
--- /dev/null
@@ -0,0 +1,628 @@
+.TH HWCLOCK 8 "06 August 2008"
+.SH NAME
+hwclock \- query and set the hardware clock (RTC)
+.SH SYNOPSIS
+.B hwclock
+.RI [ functions ]
+.RI [ options ]
+
+.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 to the System Time, and set the System Time from the
+Hardware Clock.
+.PP
+You can also run
+.B hwclock
+periodically to insert or remove time from the Hardware Clock to
+compensate for systematic drift (where the clock consistently gains or
+loses time at a certain rate if 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.
+
+.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 Counter epoch value
+must be 1952.
+
+This epoch value is used whenever 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
+.BR \-v , \ \-\-version
+Print the version of
+.B hwclock
+on Standard Output.
+.TP
+.BI \-\-date= date_string
+You need this option if you specify the
+.B \-\-set
+option.  Otherwise, it is ignored.
+This specifies the time to which to set the Hardware Clock.
+The value of this option is an argument to the
+.BR date (1)
+program.
+For example,
+.sp
+.I hwclock --set --date="9/22/96 16:45:05"
+.sp
+The argument is 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.  I.e. 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 \-\-setepoch 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
+.I hwclock --setepoch --epoch=1952
+
+
+.SH OPTIONS
+.PP
+The following options apply to most functions.
+.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
+.B \-\-localtime
+, the default is whichever was specified the last time
+.B hwclock
+was used to set the clock (i.e. 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 local 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
+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 read), it will
+use the explicit I/O instructions anyway.
+
+The rtc device driver was new in Linux Release 2.
+.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
+.I hwclock \-\-set
+or
+.I 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.)
+
+.B \-\-jensen
+means you are running on a Jensen model.
+
+.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 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-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/hwclock/hwclock.c b/hwclock/hwclock.c
new file mode 100644 (file)
index 0000000..ac50b7e
--- /dev/null
@@ -0,0 +1,1819 @@
+/*
+ * 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
+ */
+
+/*
+ * clock [-u] -r  - read hardware clock
+ * clock [-u] -w  - write hardware clock from system time
+ * clock [-u] -s  - set system time from hardware clock
+ * clock [-u] -a  - set system time from hardware clock, adjust the time
+ *                  to correct for systematic error, and write it back to
+ *                  the hardware clock
+ * -u indicates cmos clock is kept in universal time
+ * -A indicates cmos clock is kept in Alpha ARC console time (0 == 1980)
+ * -J indicates we're dealing with a Jensen (early DEC Alpha PC)
+ */
+
+/*
+ * 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 <string.h>
+#include <stdio.h>
+#include <fcntl.h>
+#include <sys/ioctl.h>
+#include <errno.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <time.h>
+#include <sys/time.h>
+#include <sys/stat.h>
+#include <stdarg.h>
+#include <getopt.h>
+#include <sysexits.h>
+
+#include "clock.h"
+#include "nls.h"
+
+#ifdef HAVE_LIBAUDIT
+#include <libaudit.h>
+static int hwaudit_fd = -1;
+static int hwaudit_on;
+#endif
+
+#define MYNAME "hwclock"
+
+char *progname = MYNAME;
+
+/* The struct that holds our hardware access routines */
+struct clock_ops *ur;
+
+#define FLOOR(arg) ((arg >= 0 ? (int) arg : ((int) arg) - 1));
+
+/* Here the information for time adjustments is kept. */
+#define ADJPATH "/etc/adjtime"
+
+const char *adj_file_name = NULL;
+
+/* Store the date here when "badyear" flag is set. */
+#define LASTDATE "/var/lib/lastdate"
+
+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. */
+};
+
+bool debug;
+  /* We are running in debug mode, wherein we put a lot of information about
+     what we're doing to standard output. */
+
+bool badyear;
+  /* Workaround for Award 4.50g BIOS bug: keep the year in a file. */
+
+int epoch_option = -1;
+  /* User-specified epoch, used when rtc fails to return epoch. */
+
+/*
+ * 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(LASTDATE,"w"))) {
+    fprintf(fp,"%02d.%02d.%04d\n", tm->tm_mday, tm->tm_mon+1,
+           tm->tm_year+1900);
+    fclose(fp);
+  } else
+    perror(LASTDATE);
+}
+
+static void
+read_date_from_file (struct tm *tm) {
+  int last_mday, last_mon, last_year;
+  FILE *fp;
+
+  if ((fp = fopen(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);
+}
+
+double
+time_diff(struct timeval subtrahend, struct timeval subtractor) {
+/*---------------------------------------------------------------------------
+  The difference in seconds between two times in "timeval" format.
+----------------------------------------------------------------------------*/
+  return (subtrahend.tv_sec - subtractor.tv_sec)
+           + (subtrahend.tv_usec - subtractor.tv_usec) / 1E6;
+}
+
+
+static struct timeval
+time_inc(struct timeval addend, double increment) {
+/*----------------------------------------------------------------------------
+  The time, in "timeval" format, which is <increment> seconds after
+  the time <addend>.  Of course, <increment> may be negative.
+-----------------------------------------------------------------------------*/
+  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 local */
+               ret = (adjtime.local_utc == UTC);
+       if (debug)
+               printf(_("Assuming hardware clock is kept in %s time.\n"),
+                      ret ? _("UTC") : _("local"));
+       return ret;
+}
+
+
+
+static int
+read_adjtime(struct adjtime *adjtime_p) {
+/*----------------------------------------------------------------------------
+  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.
+
+-----------------------------------------------------------------------------*/
+  FILE *adjfile;
+  int rc;  /* local return code */
+  struct stat statbuf;  /* We don't even use the contents of this. */
+
+    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) {
+      outsyserr("cannot open file %s", adj_file_name);
+      return EX_OSFILE;
+    }
+
+    {
+      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;
+
+      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]) {
+         fprintf(stderr,
+                 _("%s: Warning: unrecognized third line in adjtime file\n"),
+                 MYNAME);
+         fprintf(stderr, _("(Expected: `UTC' or `LOCAL' or nothing.)\n"));
+       }
+      }
+    }
+    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;
+}
+
+
+static int
+synchronize_to_clock_tick(void) {
+/*-----------------------------------------------------------------------------
+  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.
+-----------------------------------------------------------------------------*/
+       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;
+}
+
+
+
+static void
+mktime_tz(struct tm tm, const bool universal,
+          bool *valid_p, time_t *systime_p) {
+/*-----------------------------------------------------------------------------
+  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.
+
+-----------------------------------------------------------------------------*/
+  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();
+}
+
+
+static int
+read_hardware_clock(const bool universal, bool *valid_p, time_t *systime_p){
+/*----------------------------------------------------------------------------
+  Read the hardware clock and return the current time via <tm> argument.
+
+  Use the method indicated by <method> argument to access the hardware clock.
+-----------------------------------------------------------------------------*/
+  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;
+}
+
+
+static void
+set_hardware_clock(const time_t newtime,
+                   const bool universal,
+                   const bool testing) {
+/*----------------------------------------------------------------------------
+  Set the Hardware Clock to the time <newtime>, in local time zone or UTC,
+  according to <universal>.
+----------------------------------------------------------------------------*/
+  int err;
+  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);
+    }
+    err = ur->set_hardware_clock(&new_broken_time);
+  }
+}
+
+
+
+static void
+set_hardware_clock_exact(const time_t sethwtime,
+                         const struct timeval refsystime,
+                         const bool universal,
+                         const bool testing) {
+/*----------------------------------------------------------------------------
+  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.
+-----------------------------------------------------------------------------*/
+
+  time_t newhwtime;
+  struct timeval beginsystime, nowsystime;
+  double tdiff;
+
+ 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);
+
+  /*
+   * 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 {
+         gettimeofday(&nowsystime, NULL);
+         tdiff = time_diff(nowsystime, beginsystime);
+         if (tdiff < 0)
+                 goto time_resync;     /* probably backward time reset */
+         if (tdiff > 0.1)
+                 goto time_resync;     /* probably forward time reset */
+         beginsystime = nowsystime;
+         tdiff = time_diff(nowsystime, refsystime);
+  } while (newhwtime == sethwtime + (int) (tdiff + 0.5));
+
+  set_hardware_clock(newhwtime, universal, testing);
+}
+
+
+
+static void
+display_time(const bool hclock_valid, const time_t systime,
+             const double sync_duration) {
+/*----------------------------------------------------------------------------
+  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".
+-----------------------------------------------------------------------------*/
+  if (!hclock_valid)
+    fprintf(stderr, _("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).\n"));
+  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));
+  }
+}
+
+
+
+static int
+interpret_date_string(const char *date_opt, time_t * const time_p) {
+/*----------------------------------------------------------------------------
+  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.
+----------------------------------------------------------------------------*/
+       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) {
+               fprintf(stderr, _("No --date option specified.\n"));
+               return 14;
+       }
+
+       /* prevent overflow - a security risk */
+       if (strlen(date_opt) > sizeof(date_command) - 50) {
+               fprintf(stderr, _("--date argument too long\n"));
+               return 13;
+       }
+
+       /* Quotes in date_opt would ruin the date command we construct. */
+       if (strchr(date_opt, '"') != NULL) {
+               fprintf(stderr,
+                       _("The value of the --date option is not a valid date.\n"
+                         "In particular, it contains quotation marks.\n"));
+               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) {
+               outsyserr(_("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) {
+               fprintf(stderr, _("The date command issued by %s returned "
+                                 "unexpected results.\n"
+                                 "The command was:\n  %s\n"
+                                 "The response was:\n  %s\n"),
+                       MYNAME, 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) {
+                       fprintf(stderr,
+                               _("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"),
+                               MYNAME, 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;
+}
+
+
+
+static int
+set_system_clock(const bool hclock_valid, const time_t newtime,
+                 const bool testing) {
+/*----------------------------------------------------------------------------
+   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.
+-----------------------------------------------------------------------------*/
+  int retcode;
+
+  if (!hclock_valid) {
+    fprintf(stderr, _("The Hardware Clock does not contain a valid time, so "
+            "we cannot set the System Time from it.\n"));
+    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) {
+                     fprintf(stderr,
+                             _("Must be superuser to set system clock.\n"));
+                     retcode = EX_NOPERM;
+             } else {
+                     outsyserr(_("settimeofday() failed"));
+                     retcode = 1;
+             }
+      } else retcode = 0;
+    }
+  }
+  return retcode;
+}
+
+
+static int
+set_system_clock_timezone(const bool universal, const bool testing) {
+/*----------------------------------------------------------------------------
+   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.
+-----------------------------------------------------------------------------*/
+  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
+
+  gettimeofday(&tv, NULL);
+  if (!universal)
+    tv.tv_sec += minuteswest * 60;
+
+  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(_("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 };
+
+    rc = settimeofday(&tv, &tz);
+    if (rc) {
+           if (errno == EPERM) {
+                   fprintf(stderr,
+                           _("Must be superuser to set system clock.\n"));
+                   retcode = EX_NOPERM;
+           } else {
+                   outsyserr(_("settimeofday() failed"));
+                   retcode = 1;
+           }
+    } else retcode = 0;
+  }
+  return retcode;
+}
+
+
+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) {
+/*------------------------------------------------------------------------
+  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.
+  ------------------------------------------------------------------------*/
+       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;
+}
+
+
+
+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) {
+/*----------------------------------------------------------------------------
+  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.
+----------------------------------------------------------------------------*/
+  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);
+  }
+}
+
+
+
+static void
+save_adjtime(const struct adjtime adjtime, const bool testing) {
+/*-----------------------------------------------------------------------------
+  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.
+-----------------------------------------------------------------------------*/
+  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) {
+        outsyserr(_("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) {
+         outsyserr(_("Could not update file with the clock adjustment "
+                   "parameters (%s) in it"), adj_file_name);
+         err = 1;
+        }
+        if (fclose(adjfile) < 0) {
+          outsyserr(_("Could not update file with the clock adjustment "
+                   "parameters (%s) in it"), adj_file_name);
+         err = 1;
+        }
+      }
+      if (err)
+       fprintf(stderr, _("Drift adjustment parameters not updated.\n"));
+    }
+  }
+}
+
+
+
+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) {
+/*---------------------------------------------------------------------------
+  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.
+
+----------------------------------------------------------------------------*/
+  if (!hclock_valid) {
+    fprintf(stderr, _("The Hardware Clock does not contain a valid time, "
+            "so we cannot adjust it.\n"));
+    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();
+
+  if (!ur)
+         ur = probe_for_rtc_clock();
+
+  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"));
+  }
+}
+
+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) {
+/*---------------------------------------------------------------------------
+  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.
+----------------------------------------------------------------------------*/
+    struct adjtime adjtime;
+      /* Contents of the adjtime file, or what they should be. */
+    int rc;  /* local return code */
+    bool no_auth;  /* User lacks necessary authorization to access the clock */
+
+    if (!systz) {
+      no_auth = ur->get_permissions();
+      if (no_auth)
+              return EX_NOPERM;
+    }
+
+    if (!noadjfile && (adjust || set || systohc || (!utc && !local_opt))) {
+      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;
+      rc = 0;
+    }
+
+    {
+      const bool 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;
+      }
+
+      {
+        struct timeval read_time;
+          /* The time at which we read the Hardware Clock */
+
+        bool hclock_valid = FALSE;
+          /* The Hardware Clock gives us a valid time, or at least something
+             close enough to fool mktime().
+             */
+
+        time_t hclocktime = 0;
+          /* 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.
+             */
+
+       if (show || adjust || hctosys || (!noadjfile && !systz)) {
+          /* data from HW-clock are required */
+          rc = synchronize_to_clock_tick();
+          if (rc && rc != 2)           /* 2= synchronization timeout */
+            return EX_IOERR;
+          gettimeofday(&read_time, NULL);
+          rc = read_hardware_clock(universal, &hclock_valid, &hclocktime);
+          if (rc)
+             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;
+         }
+        }
+        if (!noadjfile)
+         save_adjtime(adjtime, testing);
+      }
+    }
+    return 0;
+}
+
+
+static void
+manipulate_epoch(const bool getepoch, const bool setepoch,
+                 const int epoch_opt, const bool testing) {
+/*----------------------------------------------------------------------------
+   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.
+
+-----------------------------------------------------------------------------*/
+  /*
+   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__
+    fprintf(stderr, _("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.\n"));
+#else
+    if (getepoch) {
+      unsigned long epoch;
+
+      if (get_epoch_rtc(&epoch, 0))
+        fprintf(stderr, _("Unable to get the epoch value from the kernel.\n"));
+      else
+        printf(_("Kernel is assuming an epoch value of %lu\n"), epoch);
+    } else if (setepoch) {
+      if (epoch_opt == -1)
+        fprintf(stderr, _("To set the epoch value, you must use the 'epoch' "
+                "option to tell to what value to set it.\n"));
+      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
+}
+
+#ifdef __ia64__
+#define RTC_DEV "/dev/efirtc"
+#else
+#define RTC_DEV "/dev/rtc"
+#endif
+
+static void
+out_version(void) {
+       printf(_("%s from %s\n"), MYNAME, 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;
+
+  fprintf( usageto, _(
+    "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"
+       "  -v | --version      print out the version of hwclock to stdout\n"
+       "\nOptions: \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"
+    ),RTC_DEV);
+#ifdef __alpha__
+  fprintf(usageto, _(
+       "  -J|--jensen, -A|--arc, -S|--srm, -F|--funky-toy\n"
+       "       tell hwclock the type of alpha you have (see hwclock(8))\n"
+       "\n"
+    ) );
+#endif
+
+  fflush(stdout);
+  if (fmt) {
+    usageto = stderr;
+    va_start(ap, fmt);
+    vfprintf(stderr, fmt, ap);
+    va_end(ap);
+  }
+
+  hwclock_exit(fmt ? EX_USAGE : 0);
+}
+
+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, 128 },
+       { "getepoch", 0, 0, 129 },
+       { "setepoch", 0, 0, 130 },
+       { "noadjfile", 0, 0, 131 },
+       { "localtime", 0, 0, 132 },
+       { "badyear", 0, 0, 133 },
+       { "directisa", 0, 0, 134 },
+       { "test", 0, 0, 135 },
+       { "date", 1, 0, 136 },
+       { "epoch", 1, 0, 137 },
+       { "rtc", 1, 0, 'f' },
+       { "adjfile", 1, 0, 138 },
+       { "systz", 0, 0, 139 },
+       { NULL, 0, 0, 0 }
+};
+
+/*
+ * 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;
+       bool utc, testing, local_opt, noadjfile, directisa;
+       bool ARCconsole, Jensen, SRM, funky_toy;
+       char *date_opt;
+
+       /* 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. */
+               fprintf(stderr, _("%s: Unable to connect to audit system\n"),
+                               MYNAME);
+               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);
+
+       /* Set option defaults */
+       show = set = systohc = hctosys = systz = adjust = noadjfile = FALSE;
+       getepoch = setepoch = utc = local_opt = testing = debug = FALSE;
+       ARCconsole = Jensen = SRM = funky_toy = directisa = badyear = FALSE;
+       date_opt = NULL;
+
+       while ((c = getopt_long (argc, argv, "?hvVDarsuwAJSFf:", longopts, NULL))
+              != -1) {
+               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 128:
+                       set = TRUE;
+                       break;
+               case 129:
+                       getepoch = TRUE;
+                       break;
+               case 130:
+                       setepoch = TRUE;
+                       break;
+               case 131:
+                       noadjfile = TRUE;
+                       break;
+               case 132:
+                       local_opt = TRUE;               /* --localtime */
+                       break;
+               case 133:
+                       badyear = TRUE;
+                       break;
+               case 134:
+                       directisa = TRUE;
+                       break;
+               case 135:
+                       testing = TRUE;                 /* --test */
+                       break;
+               case 136:
+                       date_opt = optarg;              /* --date */
+                       break;
+               case 137:
+                       epoch_option = atoi(optarg);    /* --epoch */
+                       break;
+               case 138:
+                       adj_file_name = optarg;         /* --adjfile */
+                       break;
+               case 139:
+                       systz = TRUE;                   /* --systz */
+                       break;
+               case 'f':
+                       rtc_dev_name = optarg;          /* --rtc */
+                       break;
+               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"),
+                     MYNAME, argc);
+       }
+
+       if (show + set + systohc + hctosys + systz + adjust + getepoch
+           + setepoch > 1){
+               fprintf(stderr, _("You have specified multiple functions.\n"
+                                 "You can only perform one function "
+                                 "at a time.\n"));
+               hwclock_exit(EX_USAGE);
+       }
+
+       if (utc && local_opt) {
+               fprintf(stderr, _("%s: The --utc and --localtime options "
+                                 "are mutually exclusive.  You specified "
+                                 "both.\n"), MYNAME);
+               hwclock_exit(EX_USAGE);
+       }
+
+       if (adjust && noadjfile) {
+               fprintf(stderr, _("%s: The --adjust and --noadjfile options "
+                                 "are mutually exclusive.  You specified "
+                                 "both.\n"), MYNAME);
+               hwclock_exit(EX_USAGE);
+       }
+
+       if (adj_file_name && noadjfile) {
+               fprintf(stderr, _("%s: The --adjfile and --noadjfile options "
+                                 "are mutually exclusive.  You specified "
+                                 "both.\n"), MYNAME);
+               hwclock_exit(EX_USAGE);
+       }
+       if (!adj_file_name)
+               adj_file_name = ADJPATH;
+
+       if (noadjfile && !(utc || local_opt)) {
+               fprintf(stderr, _("%s: With --noadjfile, you must specify "
+                                 "either --utc or --localtime\n"), MYNAME);
+               hwclock_exit(EX_USAGE);
+       }
+
+#ifdef __alpha__
+       set_cmos_epoch(ARCconsole, SRM);
+       set_cmos_access(Jensen, funky_toy);
+#endif
+
+       if (set) {
+               rc = interpret_date_string(date_opt, &set_time);
+               /* (time-consuming) */
+               if (rc != 0) {
+                       fprintf(stderr, _("No usable set-to time.  "
+                                         "Cannot set clock.\n"));
+                       hwclock_exit(EX_USAGE);
+               }
+       }
+
+       if (!(show | set | systohc | hctosys | systz | adjust | getepoch
+             | setepoch))
+               show = 1; /* default to show */
+
+
+       if (getuid() == 0)
+               permitted = TRUE;
+       else {
+               /* program is designed to run setuid (in some situations) */
+               if (set || systohc || adjust) {
+                       fprintf(stderr,
+                               _("Sorry, only the superuser can change "
+                                 "the Hardware Clock.\n"));
+                       permitted = FALSE;
+               } else if (systz || hctosys) {
+                       fprintf(stderr,
+                               _("Sorry, only the superuser can change "
+                                 "the System Clock.\n"));
+                       permitted = FALSE;
+               } else if (setepoch) {
+                       fprintf(stderr,
+                               _("Sorry, only the superuser can change the "
+                                 "Hardware Clock epoch in the kernel.\n"));
+                       permitted = FALSE;
+               } else
+                       permitted = TRUE;
+       }
+
+       if (!permitted)
+               hwclock_exit(EX_NOPERM);
+
+       if (getepoch || setepoch) {
+               manipulate_epoch(getepoch, setepoch, epoch_option, testing);
+               hwclock_exit(0);
+       }
+
+       if (debug)
+               out_version();
+       if (!systz) {
+               determine_clock_access_method(directisa);
+               if (!ur) {
+                       fprintf(stderr,
+                               _("Cannot access the Hardware Clock via "
+                                 "any known method.\n"));
+                       if (!debug)
+                               fprintf(stderr,
+                                       _("Use the --debug option to see the "
+                                         "details of our search for an access "
+                                         "method.\n"));
+                       hwclock_exit(1);
+               }
+       }
+
+       rc = manipulate_clock(show, adjust, noadjfile, set, set_time,
+                               hctosys, systohc, systz, startup_time, utc,
+                               local_opt, testing);
+       hwclock_exit(rc);
+       return rc;      /* Not reached */
+}
+
+/* A single routine for greater uniformity */
+void
+outsyserr(char *msg, ...) {
+       va_list args;
+       int errsv = errno;
+
+       fprintf(stderr, "%s: ", progname);
+       va_start(args, msg);
+       vfprintf(stderr, msg, args);
+       va_end(args);
+       fprintf(stderr, ", errno=%d: %s.\n",
+               errsv, strerror(errsv));
+}
+
+
+#ifdef HAVE_LIBAUDIT
+void
+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 absense 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.
+
+
+  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/hwclock/kd.c b/hwclock/kd.c
new file mode 100644 (file)
index 0000000..3b5708a
--- /dev/null
@@ -0,0 +1,185 @@
+/* kd.c - KDGHWCLK stuff, possibly m68k only - deprecated */
+
+#include "clock.h"
+
+#ifndef __m68k__
+
+struct clock_ops *
+probe_for_kd_clock() {
+       return NULL;
+}
+
+#else /* __m68k__ */
+
+#include <unistd.h>            /* for close() */
+#include <fcntl.h>             /* for O_RDONLY */
+#include <sysexits.h>
+#include <sys/ioctl.h>
+
+#include "nls.h"
+
+static int con_fd = -1;                /* opened by probe_for_kd_clock() */
+                               /* never closed */
+static char *con_fd_filename;  /* usually "/dev/tty1" */
+
+/* Get defines for KDGHWCLK and KDSHWCLK (m68k) */
+#include <linux/kd.h>
+#ifndef KDGHWCLK
+#define KDGHWCLK        0x4B50     /* get hardware clock */
+#define KDSHWCLK        0x4B51     /* set hardware clock */
+struct hwclk_time {
+        unsigned        sec;    /* 0..59 */
+        unsigned        min;    /* 0..59 */
+        unsigned        hour;   /* 0..23 */
+        unsigned        day;    /* 1..31 */
+        unsigned        mon;    /* 0..11 */
+        unsigned        year;   /* 70... */
+        int             wday;   /* 0..6, 0 is Sunday, -1 means unknown/don't set */
+};
+#endif
+
+static int
+synchronize_to_clock_tick_kd(void) {
+/*----------------------------------------------------------------------------
+   Wait for the top of a clock tick by calling KDGHWCLK in a busy loop until
+   we see it.
+-----------------------------------------------------------------------------*/
+  int i;
+
+  /* The time when we were called (and started waiting) */
+  struct hwclk_time start_time, nowtime;
+
+  if (debug)
+    printf(_("Waiting in loop for time from KDGHWCLK to change\n"));
+
+  if (ioctl(con_fd, KDGHWCLK, &start_time) == -1) {
+    outsyserr(_("KDGHWCLK ioctl to read time failed"));
+    return 3;
+  }
+
+  i = 0;
+  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 nanosleep helps." */
+    /* Christian T. Steigies: 1 instead of 1000000 is still sufficient
+       to keep the machine from freezing. */
+
+#ifdef HAVE_NANOSLEEP
+    struct timespec xsleep = { 0, 1 };
+    nanosleep( &xsleep, NULL );
+#else
+    usleep(1);
+#endif
+
+    if (i++ >= 1000000) {
+      fprintf(stderr, _("Timed out waiting for time change.\n"));
+      return 2;
+    }
+    if (ioctl(con_fd, KDGHWCLK, &nowtime) == -1) {
+      outsyserr(_("KDGHWCLK ioctl to read time failed in loop"));
+      return 3;
+    }
+  } while (start_time.sec == nowtime.sec);
+
+  return 0;
+}
+
+
+static int
+read_hardware_clock_kd(struct tm *tm) {
+/*----------------------------------------------------------------------------
+  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.
+-----------------------------------------------------------------------------*/
+  struct hwclk_time t;
+
+  if (ioctl(con_fd, KDGHWCLK, &t) == -1) {
+    outsyserr(_("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;
+}
+
+
+static int
+set_hardware_clock_kd(const struct tm *new_broken_time) {
+/*----------------------------------------------------------------------------
+  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.
+----------------------------------------------------------------------------*/
+  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) {
+    outsyserr(_("ioctl KDSHWCLK failed"));
+    hwclock_exit(1);
+  }
+  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 */
+               outsyserr(_("Can't open /dev/tty1 or /dev/vc/1"));
+       } else {
+               if (ioctl(con_fd, KDGHWCLK, &t) == -1) {
+                       if (errno != EINVAL)
+                               outsyserr(_("KDGHWCLK ioctl failed"));
+               } else
+                       ret = &kd;
+       }
+       return ret;
+}
+#endif /* __m68k__ */
diff --git a/hwclock/rtc.c b/hwclock/rtc.c
new file mode 100644 (file)
index 0000000..2e05385
--- /dev/null
@@ -0,0 +1,477 @@
+/* rtc.c - Use /dev/rtc for clock access */
+#include <unistd.h>            /* for close() */
+#include <fcntl.h>             /* for O_RDONLY */
+#include <errno.h>
+#include <sysexits.h>
+#include <sys/ioctl.h>
+#include <sys/time.h>          /* for struct timeval */
+
+#include "clock.h"
+#include "nls.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) {
+               outsyserr(_("open() of %s failed"), 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) {
+               perror(ioctlname);
+               fprintf(stderr, _("ioctl() to %s to read the time failed.\n"),
+                       rtc_dev_name);
+               return -1;
+       }
+
+       tm->tm_isdst = -1;          /* don't know whether it's dst */
+       return 0;
+}
+
+static int
+busywait_for_rtc_clock_tick(const int rtc_fd) {
+/*----------------------------------------------------------------------------
+   Wait for the top of a clock tick by reading /dev/rtc in a busy loop until
+   we see it.
+-----------------------------------------------------------------------------*/
+  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) {
+      fprintf(stderr, _("Timed out waiting for time change.\n"));
+      return 2;
+    }
+  } while(1);
+
+  if (rc)
+    return 3;
+  return 0;
+}
+
+static int
+synchronize_to_clock_tick_rtc(void) {
+/*----------------------------------------------------------------------------
+  Same as synchronize_to_clock_tick(), but just for /dev/rtc.
+-----------------------------------------------------------------------------*/
+int rtc_fd;  /* File descriptor of /dev/rtc */
+int ret;
+
+  rtc_fd = open_rtc();
+  if (rtc_fd == -1) {
+    outsyserr(_("open() of %s failed"), 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)
+        outsyserr(_("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)
+        outsyserr(_("select() to %s to wait for clock tick failed"),
+                 rtc_dev_name);
+      else if (rc == 0)
+       fprintf(stderr, _("select() to %s to wait for clock tick timed out\n"),
+                         rtc_dev_name);
+      else
+        ret = 0;
+#endif
+
+      /* Turn off update interrupts */
+      rc = ioctl(rtc_fd, RTC_UIE_OFF, 0);
+      if (rc == -1)
+        outsyserr(_("ioctl() to %s to turn off update interrupts failed"),
+                 rtc_dev_name);
+    } else {
+      outsyserr(_("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;
+}
+
+
+static int
+set_hardware_clock_rtc(const struct tm *new_broken_time) {
+/*-------------------------------------------------------------------------
+  Set the Hardware Clock to the broken down time <new_broken_time>.
+  Use ioctls to "rtc" device /dev/rtc.
+  -------------------------------------------------------------------------*/
+       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) {
+               perror(ioctlname);
+               fprintf(stderr, _("ioctl() to %s to set the time failed.\n"),
+                       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(){
+       int rtc_fd = open_rtc();
+       if (rtc_fd >= 0)
+               return &rtc;
+       if (debug)
+               outsyserr(_("Open of %s failed"), rtc_dev_name);
+       return NULL;
+}
+
+
+
+int
+get_epoch_rtc(unsigned long *epoch_p, int silent) {
+/*----------------------------------------------------------------------------
+  Get the Hardware Clock epoch setting from the kernel.
+----------------------------------------------------------------------------*/
+  int rtc_fd;
+
+  rtc_fd = open_rtc();
+  if (rtc_fd < 0) {
+    if (!silent) {
+      if (errno == ENOENT)
+        fprintf(stderr, _(
+               "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.\n"),
+               rtc_dev_name);
+      else
+        outsyserr(_("Unable to open %s"), rtc_dev_name);
+    }
+    return 1;
+  }
+
+  if (ioctl(rtc_fd, RTC_EPOCH_READ, epoch_p) == -1) {
+    if (!silent)
+      outsyserr(_("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;
+}
+
+
+
+int
+set_epoch_rtc(unsigned long epoch) {
+/*----------------------------------------------------------------------------
+  Set the Hardware Clock epoch in the kernel.
+----------------------------------------------------------------------------*/
+  int rtc_fd;
+
+  if (epoch < 1900) {
+    /* kernel would not accept this epoch value */
+    /* Hmm - bad habit, deciding not to do what the user asks
+       just because one believes that the kernel might not like it. */
+    fprintf(stderr, _("The epoch value may not be less than 1900.  "
+            "You requested %ld\n"), epoch);
+    return 1;
+  }
+
+  rtc_fd = open_rtc();
+  if (rtc_fd < 0) {
+    if (errno == ENOENT)
+      fprintf(stderr, _("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.\n"),
+             rtc_dev_name);
+    else
+      outsyserr(_("Unable to 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)
+      fprintf(stderr, _("The kernel device driver for %s "
+             "does not have the RTC_EPOCH_SET ioctl.\n"), rtc_dev_name);
+    else
+      outsyserr(_("ioctl(RTC_EPOCH_SET) to %s failed"), rtc_dev_name);
+    return 1;
+  }
+
+  return 0;
+}
diff --git a/include/Makefile.am b/include/Makefile.am
new file mode 100644 (file)
index 0000000..f959659
--- /dev/null
@@ -0,0 +1,21 @@
+include $(top_srcdir)/config/include-Makefile.am
+
+dist_noinst_HEADERS = \
+       bitops.h \
+       blkdev.h \
+       canonicalize.h \
+       carefulputc.h \
+       env.h \
+       fsprobe.h \
+       ismounted.h \
+       linux_reboot.h \
+       linux_version.h \
+       md5.h \
+       nls.h \
+       pathnames.h \
+       pttype.h \
+       setproctitle.h \
+       swapheader.h \
+       wholedisk.h \
+       widechar.h \
+       xstrncpy.h
diff --git a/include/Makefile.in b/include/Makefile.in
new file mode 100644 (file)
index 0000000..6911d0f
--- /dev/null
@@ -0,0 +1,492 @@
+# Makefile.in generated by automake 1.11 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@
+DIST_COMMON = $(dist_noinst_DATA) $(dist_noinst_HEADERS) \
+       $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+       $(top_srcdir)/config/include-Makefile.am
+subdir = include
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.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)/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 =
+CONFIG_CLEAN_VPATH_FILES =
+SOURCES =
+DIST_SOURCES =
+DATA = $(dist_noinst_DATA)
+HEADERS = $(dist_noinst_HEADERS)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BLKID = @BLKID@
+BLKID_CFLAGS = @BLKID_CFLAGS@
+BLKID_LIBS = @BLKID_LIBS@
+BLKID_LIBS_STATIC = @BLKID_LIBS_STATIC@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+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@
+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_VERSION = @LIBBLKID_VERSION@
+LIBBLKID_VERSION_INFO = @LIBBLKID_VERSION_INFO@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+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@
+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_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+POSUB = @POSUB@
+RANLIB = @RANLIB@
+SED = @SED@
+SELINUX_LIBS = @SELINUX_LIBS@
+SELINUX_LIBS_STATIC = @SELINUX_LIBS_STATIC@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SUID_CFLAGS = @SUID_CFLAGS@
+SUID_LDFLAGS = @SUID_LDFLAGS@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
+VERSION = @VERSION@
+VOLID = @VOLID@
+XGETTEXT = @XGETTEXT@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+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@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+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 $(top_builddir)/config.h -I$(top_srcdir)/include \
+       -DLOCALEDIR=\"$(localedir)\"
+
+AM_CFLAGS = -fsigned-char
+AM_LDFLAGS = 
+
+# 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)
+#
+# blkid
+ul_libblkid_srcdir = $(top_srcdir)/shlibs/blkid/src
+ul_libblkid_builddir = $(top_builddir)/shlibs/blkid/src
+ul_libblkid_la = $(top_builddir)/shlibs/blkid/src/libblkid.la
+
+# uuid
+ul_libuuid_srcdir = $(top_srcdir)/shlibs/uuid/src
+ul_libuuid_builddir = $(top_builddir)/shlibs/uuid/src
+ul_libuuid_la = $(top_builddir)/shlibs/uuid/src/libuuid.la
+dist_noinst_HEADERS = \
+       bitops.h \
+       blkdev.h \
+       canonicalize.h \
+       carefulputc.h \
+       env.h \
+       fsprobe.h \
+       ismounted.h \
+       linux_reboot.h \
+       linux_version.h \
+       md5.h \
+       nls.h \
+       pathnames.h \
+       pttype.h \
+       setproctitle.h \
+       swapheader.h \
+       wholedisk.h \
+       widechar.h \
+       xstrncpy.h
+
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/config/include-Makefile.am $(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 include/Makefile'; \
+       $(am__cd) $(top_srcdir) && \
+         $(AUTOMAKE) --foreign include/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):
+
+mostlyclean-libtool:
+       -rm -f *.lo
+
+clean-libtool:
+       -rm -rf .libs _libs
+
+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:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       set x; \
+       here=`pwd`; \
+       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; }; }'`; \
+       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:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       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; }; }'`; \
+       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
+
+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 $(DATA) $(HEADERS)
+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:
+
+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)
+
+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 mostlyclean-am
+
+distclean: distclean-am
+       -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+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:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+       clean-libtool ctags distclean distclean-generic \
+       distclean-libtool distclean-tags distdir dvi dvi-am html \
+       html-am info info-am install install-am install-data \
+       install-data-am 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 tags uninstall \
+       uninstall-am
+
+
+$(ul_libblkid_la):
+       $(MAKE) -C $(ul_libblkid_builddir)
+
+$(ul_libuuid_la):
+       $(MAKE) -C $(ul_libuuid_builddir)
+
+# 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/include/bitops.h b/include/bitops.h
new file mode 100644 (file)
index 0000000..e283b83
--- /dev/null
@@ -0,0 +1,89 @@
+#ifndef BITOPS_H
+#define BITOPS_H
+
+#include <stdint.h>
+#include <endian.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
+
+#if !defined __BYTE_ORDER || !(__BYTE_ORDER == __LITTLE_ENDIAN) && !(__BYTE_ORDER == __BIG_ENDIAN)
+#error missing __BYTE_ORDER
+#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) ))
+
+
+#if (__BYTE_ORDER == __BIG_ENDIAN)
+
+#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) (x)
+#define cpu_to_be32(x) (x)
+#define cpu_to_be64(x) (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) (x)
+#define be32_to_cpu(x) (x)
+#define be64_to_cpu(x) (x)
+
+#else /* __BYTE_ORDER != __BIG_ENDIAN */
+
+#define cpu_to_le16(x) (x)
+#define cpu_to_le32(x) (x)
+#define cpu_to_le64(x) (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) (x)
+#define le32_to_cpu(x) (x)
+#define le64_to_cpu(x) (x)
+#define be16_to_cpu(x) swab16(x)
+#define be32_to_cpu(x) swab32(x)
+#define be64_to_cpu(x) swab64(x)
+
+#endif /* __BYTE_ORDER */
+
+#endif /* BITOPS_H */
+
diff --git a/include/blkdev.h b/include/blkdev.h
new file mode 100644 (file)
index 0000000..9d9453b
--- /dev/null
@@ -0,0 +1,63 @@
+#ifndef BLKDEV_H
+#define BLKDEV_H
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#include <fcntl.h>
+#include <unistd.h>
+
+#define DEFAULT_SECTOR_SIZE       512
+
+/* open() retries when errno is ENOMEDIUM */
+#define CRDOM_NOMEDIUM_RETRIES    5
+
+#if !defined(BLKROSET) && defined(__linux__)
+
+#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)
+#define BLKGETSIZE64 _IOR(0x12,114,size_t) /* return device size in bytes (u64 *arg) */
+
+#endif /* BLKROSET */
+
+#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
+
+/* 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);
+
+#endif /* BLKDEV_H */
diff --git a/include/canonicalize.h b/include/canonicalize.h
new file mode 100644 (file)
index 0000000..b8906d4
--- /dev/null
@@ -0,0 +1,11 @@
+#ifndef CANONICALIZE_H
+#define CANONICALIZE_H
+
+#include <limits.h>
+#ifndef PATH_MAX
+# define PATH_MAX 4096
+#endif
+
+extern char *canonicalize_path(const char *path);
+
+#endif /* CANONICALIZE_H */
diff --git a/include/carefulputc.h b/include/carefulputc.h
new file mode 100644 (file)
index 0000000..2d857eb
--- /dev/null
@@ -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/env.h b/include/env.h
new file mode 100644 (file)
index 0000000..d69b4f2
--- /dev/null
@@ -0,0 +1,2 @@
+extern void sanitize_env (void);
+
diff --git a/include/fsprobe.h b/include/fsprobe.h
new file mode 100644 (file)
index 0000000..307eb64
--- /dev/null
@@ -0,0 +1,24 @@
+#ifndef FSPROBE_H
+#define FSPROBE_H
+/*
+ * 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 int fsprobe_known_fstype(const char *fstype);
+
+#endif /* FSPROBE_H */
diff --git a/include/ismounted.h b/include/ismounted.h
new file mode 100644 (file)
index 0000000..2b7cca0
--- /dev/null
@@ -0,0 +1,6 @@
+#ifndef IS_MOUNTED_H
+#define IS_MOUNTED_H
+
+extern int is_mounted(const char *file);
+
+#endif /* IS_MOUNTED_H */
diff --git a/include/linux_reboot.h b/include/linux_reboot.h
new file mode 100644 (file)
index 0000000..9cebc67
--- /dev/null
@@ -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 (file)
index 0000000..a6a1e99
--- /dev/null
@@ -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/md5.h b/include/md5.h
new file mode 100644 (file)
index 0000000..d598e81
--- /dev/null
@@ -0,0 +1,27 @@
+#ifndef MD5_H
+#define MD5_H
+
+#if HAVE_STDINT_H
+#include <stdint.h>
+#else
+typedef unsigned int uint32_t;
+#endif
+
+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[16], 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/nls.h b/include/nls.h
new file mode 100644 (file)
index 0000000..dd0440c
--- /dev/null
@@ -0,0 +1,34 @@
+#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 */
+#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
+#else
+# undef bindtextdomain
+# define bindtextdomain(Domain, Directory) /* empty */
+# undef textdomain
+# define textdomain(Domain) /* empty */
+# define _(Text) (Text)
+# define N_(Text) (Text)
+#endif
+
+#endif /* UTIL_LINUX_NLS_H */
diff --git a/include/pathnames.h b/include/pathnames.h
new file mode 100644 (file)
index 0000000..ead448e
--- /dev/null
@@ -0,0 +1,110 @@
+/*
+ * Vaguely based on
+ *     @(#)pathnames.h 5.3 (Berkeley) 5/9/89
+ * This code is in the public domain.
+ */
+#ifndef PATHNAMES_H
+#define PATHNAMES_H
+
+#include <paths.h>
+
+#ifndef __STDC__
+# error "we need an ANSI compiler"
+#endif
+
+/* 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"
+
+#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_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 */
+#define _PATH_GSHADOW          "/etc/gshadow"
+
+/* used in login-utils/setpwnam.h */
+#define _PATH_PTMP              "/etc/ptmp"
+#define _PATH_PTMPTMP           "/etc/ptmptmp"
+#define _PATH_GROUP             "/etc/group"
+#define _PATH_GTMP              "/etc/gtmp"
+#define _PATH_GTMPTMP           "/etc/gtmptmp"
+#define _PATH_SHADOW_PASSWD     "/etc/shadow"
+#define _PATH_SHADOW_PTMP       "/etc/sptmp"
+#define _PATH_SHADOW_PTMPTMP    "/etc/sptmptmp"
+#define _PATH_SHADOW_GROUP      "/etc/gshadow"
+#define _PATH_SHADOW_GTMP       "/etc/sgtmp"
+#define _PATH_SHADOW_GTMPTMP    "/etc/sgtmptmp"
+
+/* 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"
+
+#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_MOUNTED_LOCK     _PATH_MOUNTED "~"
+#define _PATH_MOUNTED_TMP      _PATH_MOUNTED ".tmp"
+
+#ifndef _PATH_DEV
+# define _PATH_DEV             "/dev/"
+#endif
+
+#define _PATH_DEV_LOOP         "/dev/loop"
+#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"
+
+#endif /* PATHNAMES_H */
+
diff --git a/include/pttype.h b/include/pttype.h
new file mode 100644 (file)
index 0000000..ec524a0
--- /dev/null
@@ -0,0 +1,11 @@
+#ifndef PTTYPE_H
+#define PTTYPE_H
+
+/*
+ * Note that this is a temporary solution. The final solution will be to move
+ * libdisk from xfsprogs to util-linux-ng.
+ */
+extern const char *get_pt_type(const char *device);
+extern const char *get_pt_type_fd(int fd);
+
+#endif
diff --git a/include/setproctitle.h b/include/setproctitle.h
new file mode 100644 (file)
index 0000000..d57abda
--- /dev/null
@@ -0,0 +1,7 @@
+
+void initproctitle (int argc, char **argv);
+#if 0
+void setproctitle (const char *fmt, ...);
+#else
+void setproctitle (const char *prog, const char *txt);
+#endif
diff --git a/include/swapheader.h b/include/swapheader.h
new file mode 100644 (file)
index 0000000..6ff5390
--- /dev/null
@@ -0,0 +1,24 @@
+#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];
+};
+
+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[16];
+       char          volume_name[16];
+       unsigned int  padding[117];
+       unsigned int  badpages[1];
+};
+
+#endif /* _SWAPHEADER_H */
diff --git a/include/wholedisk.h b/include/wholedisk.h
new file mode 100644 (file)
index 0000000..251479e
--- /dev/null
@@ -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 (file)
index 0000000..b023b5f
--- /dev/null
@@ -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/xstrncpy.h b/include/xstrncpy.h
new file mode 100644 (file)
index 0000000..7ed4109
--- /dev/null
@@ -0,0 +1,8 @@
+/* NUL-terminated version of strncpy() */
+#include <string.h>
+
+/* 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;
+}
diff --git a/lib/Makefile.am b/lib/Makefile.am
new file mode 100644 (file)
index 0000000..0b64806
--- /dev/null
@@ -0,0 +1,15 @@
+include $(top_srcdir)/config/include-Makefile.am
+
+AM_CPPFLAGS += -DTEST_PROGRAM
+
+noinst_PROGRAMS = test_blkdev test_ismounted test_pttype test_wholedisk
+
+test_blkdev_SOURCES = blkdev.c
+test_ismounted_SOURCES = ismounted.c
+test_pttype_SOURCES = pttype.c
+test_wholedisk_SOURCES = wholedisk.c
+
+if LINUX
+test_blkdev_SOURCES += linux_version.c
+endif
+
diff --git a/lib/Makefile.in b/lib/Makefile.in
new file mode 100644 (file)
index 0000000..af56e4a
--- /dev/null
@@ -0,0 +1,568 @@
+# Makefile.in generated by automake 1.11 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@
+DIST_COMMON = $(dist_noinst_DATA) $(srcdir)/Makefile.am \
+       $(srcdir)/Makefile.in $(top_srcdir)/config/include-Makefile.am
+noinst_PROGRAMS = test_blkdev$(EXEEXT) test_ismounted$(EXEEXT) \
+       test_pttype$(EXEEXT) test_wholedisk$(EXEEXT)
+@LINUX_TRUE@am__append_1 = linux_version.c
+subdir = lib
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.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)/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 =
+CONFIG_CLEAN_VPATH_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am__test_blkdev_SOURCES_DIST = blkdev.c linux_version.c
+@LINUX_TRUE@am__objects_1 = linux_version.$(OBJEXT)
+am_test_blkdev_OBJECTS = blkdev.$(OBJEXT) $(am__objects_1)
+test_blkdev_OBJECTS = $(am_test_blkdev_OBJECTS)
+test_blkdev_LDADD = $(LDADD)
+am_test_ismounted_OBJECTS = ismounted.$(OBJEXT)
+test_ismounted_OBJECTS = $(am_test_ismounted_OBJECTS)
+test_ismounted_LDADD = $(LDADD)
+am_test_pttype_OBJECTS = pttype.$(OBJEXT)
+test_pttype_OBJECTS = $(am_test_pttype_OBJECTS)
+test_pttype_LDADD = $(LDADD)
+am_test_wholedisk_OBJECTS = wholedisk.$(OBJEXT)
+test_wholedisk_OBJECTS = $(am_test_wholedisk_OBJECTS)
+test_wholedisk_LDADD = $(LDADD)
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+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) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+       --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+       --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+       $(LDFLAGS) -o $@
+SOURCES = $(test_blkdev_SOURCES) $(test_ismounted_SOURCES) \
+       $(test_pttype_SOURCES) $(test_wholedisk_SOURCES)
+DIST_SOURCES = $(am__test_blkdev_SOURCES_DIST) \
+       $(test_ismounted_SOURCES) $(test_pttype_SOURCES) \
+       $(test_wholedisk_SOURCES)
+DATA = $(dist_noinst_DATA)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BLKID = @BLKID@
+BLKID_CFLAGS = @BLKID_CFLAGS@
+BLKID_LIBS = @BLKID_LIBS@
+BLKID_LIBS_STATIC = @BLKID_LIBS_STATIC@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+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@
+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_VERSION = @LIBBLKID_VERSION@
+LIBBLKID_VERSION_INFO = @LIBBLKID_VERSION_INFO@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+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@
+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_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+POSUB = @POSUB@
+RANLIB = @RANLIB@
+SED = @SED@
+SELINUX_LIBS = @SELINUX_LIBS@
+SELINUX_LIBS_STATIC = @SELINUX_LIBS_STATIC@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SUID_CFLAGS = @SUID_CFLAGS@
+SUID_LDFLAGS = @SUID_LDFLAGS@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
+VERSION = @VERSION@
+VOLID = @VOLID@
+XGETTEXT = @XGETTEXT@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+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@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+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 $(top_builddir)/config.h \
+       -I$(top_srcdir)/include -DLOCALEDIR=\"$(localedir)\" \
+       -DTEST_PROGRAM
+AM_CFLAGS = -fsigned-char
+AM_LDFLAGS = 
+
+# 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)
+#
+# blkid
+ul_libblkid_srcdir = $(top_srcdir)/shlibs/blkid/src
+ul_libblkid_builddir = $(top_builddir)/shlibs/blkid/src
+ul_libblkid_la = $(top_builddir)/shlibs/blkid/src/libblkid.la
+
+# uuid
+ul_libuuid_srcdir = $(top_srcdir)/shlibs/uuid/src
+ul_libuuid_builddir = $(top_builddir)/shlibs/uuid/src
+ul_libuuid_la = $(top_builddir)/shlibs/uuid/src/libuuid.la
+test_blkdev_SOURCES = blkdev.c $(am__append_1)
+test_ismounted_SOURCES = ismounted.c
+test_pttype_SOURCES = pttype.c
+test_wholedisk_SOURCES = wholedisk.c
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/config/include-Makefile.am $(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 lib/Makefile'; \
+       $(am__cd) $(top_srcdir) && \
+         $(AUTOMAKE) --foreign lib/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):
+
+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
+test_blkdev$(EXEEXT): $(test_blkdev_OBJECTS) $(test_blkdev_DEPENDENCIES) 
+       @rm -f test_blkdev$(EXEEXT)
+       $(LINK) $(test_blkdev_OBJECTS) $(test_blkdev_LDADD) $(LIBS)
+test_ismounted$(EXEEXT): $(test_ismounted_OBJECTS) $(test_ismounted_DEPENDENCIES) 
+       @rm -f test_ismounted$(EXEEXT)
+       $(LINK) $(test_ismounted_OBJECTS) $(test_ismounted_LDADD) $(LIBS)
+test_pttype$(EXEEXT): $(test_pttype_OBJECTS) $(test_pttype_DEPENDENCIES) 
+       @rm -f test_pttype$(EXEEXT)
+       $(LINK) $(test_pttype_OBJECTS) $(test_pttype_LDADD) $(LIBS)
+test_wholedisk$(EXEEXT): $(test_wholedisk_OBJECTS) $(test_wholedisk_DEPENDENCIES) 
+       @rm -f test_wholedisk$(EXEEXT)
+       $(LINK) $(test_wholedisk_OBJECTS) $(test_wholedisk_LDADD) $(LIBS)
+
+mostlyclean-compile:
+       -rm -f *.$(OBJEXT)
+
+distclean-compile:
+       -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/blkdev.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ismounted.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linux_version.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pttype.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wholedisk.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@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 $<
+
+.c.obj:
+@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@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 `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@   $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@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 $@ $<
+
+mostlyclean-libtool:
+       -rm -f *.lo
+
+clean-libtool:
+       -rm -rf .libs _libs
+
+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:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       set x; \
+       here=`pwd`; \
+       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; }; }'`; \
+       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:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       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; }; }'`; \
+       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
+
+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 $(PROGRAMS) $(DATA)
+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:
+
+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)
+
+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-noinstPROGRAMS \
+       mostlyclean-am
+
+distclean: distclean-am
+       -rm -rf ./$(DEPDIR)
+       -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+       distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+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 -rf ./$(DEPDIR)
+       -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+       mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+       clean-libtool clean-noinstPROGRAMS ctags distclean \
+       distclean-compile distclean-generic distclean-libtool \
+       distclean-tags distdir dvi dvi-am html html-am info info-am \
+       install install-am install-data install-data-am 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-compile mostlyclean-generic mostlyclean-libtool \
+       pdf pdf-am ps ps-am tags uninstall uninstall-am
+
+
+$(ul_libblkid_la):
+       $(MAKE) -C $(ul_libblkid_builddir)
+
+$(ul_libuuid_la):
+       $(MAKE) -C $(ul_libuuid_builddir)
+
+# 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/lib/blkdev.c b/lib/blkdev.c
new file mode 100644 (file)
index 0000000..7c6c7ba
--- /dev/null
@@ -0,0 +1,144 @@
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#include <unistd.h>
+
+#include "blkdev.h"
+#include "linux_version.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;
+}
+
+off_t
+blkdev_find_size (int fd) {
+       off_t high, low;
+
+       low = 0;
+       for (high = 1; high > 0 && blkdev_valid_offset (fd, high); high *= 2)
+               low = high;
+       while (low < high - 1)
+       {
+               const off_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)
+{
+       /* TODO: use stat as well */
+
+#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;
+               }
+       }
+
+       return -1;
+#endif /* BLKGETSIZE */
+
+       *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 hardware sector size */
+int
+blkdev_get_sector_size(int fd, int *sector_size)
+{
+#ifdef BLKSSZGET
+#ifdef __linux__
+       if (get_linux_version() < KERNEL_VERSION(2,3,3)) {
+               *sector_size = DEFAULT_SECTOR_SIZE;
+               return 0;
+       }
+#endif
+       if (ioctl(fd, BLKSSZGET, sector_size) >= 0)
+               return 0;
+
+       return -1;
+#else
+       *sector_size = DEFAULT_SECTOR_SIZE;
+       return 0;
+#endif
+}
+
+
+#ifdef TEST_PROGRAM
+#include <stdio.h>
+#include <stdlib.h>
+#include <fcntl.h>
+#include <err.h>
+int
+main(int argc, char **argv)
+{
+       unsigned long long bytes;
+       unsigned long long sectors;
+       int 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");
+
+       printf("bytes %llu\n", bytes);
+       printf("sectors %llu\n", sectors);
+       printf("sectorsize %d\n", sector_size);
+
+       return EXIT_SUCCESS;
+}
+#endif /* TEST_PROGRAM */
diff --git a/lib/canonicalize.c b/lib/canonicalize.c
new file mode 100644 (file)
index 0000000..b888fbb
--- /dev/null
@@ -0,0 +1,152 @@
+/*
+ * 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 <unistd.h>
+#include <string.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;
+}
+
+char *
+canonicalize_path(const char *path) {
+       char canonical[PATH_MAX+2];
+
+       if (path == NULL)
+               return NULL;
+
+       if (myrealpath (path, canonical, PATH_MAX+1))
+               return strdup(canonical);
+
+       return strdup(path);
+}
+
+
diff --git a/lib/env.c b/lib/env.c
new file mode 100644 (file)
index 0000000..82fadf5
--- /dev/null
+++ b/lib/env.c
@@ -0,0 +1,73 @@
+/*
+ * 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>
+#include "env.h"
+
+extern char **environ;
+
+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;
+                }
+        }
+}
+
diff --git a/lib/fsprobe.c b/lib/fsprobe.c
new file mode 100644 (file)
index 0000000..b47de0e
--- /dev/null
@@ -0,0 +1,249 @@
+#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>
+
+#ifdef HAVE_BLKID_BLKID_H
+#include <blkid/blkid.h>
+#else
+#include <blkid.h>
+#endif
+
+#include "blkdev.h"
+#include "canonicalize.h"
+#include "pathnames.h"
+#include "fsprobe.h"
+
+static blkid_cache blcache;
+
+#ifdef HAVE_BLKID_EVALUATE_TAG
+/* ask kernel developers why we need such ugly open() method... */
+static int
+open_device(const char *devname)
+{
+       int retries = 0;
+
+       do {
+               int fd = open(devname, O_RDONLY);
+               if (fd >= 0)
+                       return fd;
+               if (errno != ENOMEDIUM)
+                       break;
+               if (retries >= CRDOM_NOMEDIUM_RETRIES)
+                       break;
+               ++retries;
+               sleep(3);
+       } while(1);
+
+       return -1;
+}
+#endif
+
+/*
+ * 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)
+{
+       char *name, *value;
+
+       if (!spec)
+               return NULL;
+       if (fsprobe_parse_spec(spec, &name, &value) != 0)
+               return NULL;                            /* parse error */
+       if (name) {
+               char *nspec = NULL;
+
+               if (!strcmp(name,"LABEL"))
+                       nspec = fsprobe_get_devname_by_label(value);
+               else if (!strcmp(name,"UUID"))
+                       nspec = fsprobe_get_devname_by_uuid(value);
+
+               free(name);
+               free(value);
+               return nspec;
+       }
+
+       return canonicalize_path(spec);
+}
+
+void
+fsprobe_init(void)
+{
+       blcache = NULL;
+}
+
+int
+fsprobe_known_fstype(const char *fstype)
+{
+       return blkid_known_fstype(fstype);
+}
+
+#ifdef HAVE_BLKID_EVALUATE_TAG
+/*
+ * libblkid from util-linux-ng
+ * -- recommended
+ */
+static blkid_probe blprobe;
+
+void
+fsprobe_exit(void)
+{
+       if (blprobe)
+               blkid_free_probe(blprobe);
+       if (blcache)
+               blkid_put_cache(blcache);
+}
+
+/* returns device LABEL, UUID, FSTYPE, ... by low-level
+ * probing interface
+ */
+static char *
+fsprobe_get_value(const char *name, const char *devname)
+{
+       int fd;
+       const char *data = NULL;
+
+       if (!devname || !name)
+               return NULL;
+       fd = open_device(devname);
+       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;
+       if (blkid_probe_set_request(blprobe, BLKID_PROBREQ_LABEL |
+                        BLKID_PROBREQ_UUID | BLKID_PROBREQ_TYPE ))
+               goto done;
+       if (blkid_do_safeprobe(blprobe))
+               goto done;
+       if (blkid_probe_lookup_value(blprobe, name, &data, NULL))
+               goto done;
+done:
+       close(fd);
+       return data ? strdup((char *) data) : NULL;
+}
+
+char *
+fsprobe_get_label_by_devname(const char *devname)
+{
+       return fsprobe_get_value("LABEL", devname);
+}
+
+char *
+fsprobe_get_uuid_by_devname(const char *devname)
+{
+       return fsprobe_get_value("UUID", devname);
+}
+
+char *
+fsprobe_get_fstype_by_devname(const char *devname)
+{
+       return fsprobe_get_value("TYPE", devname);
+}
+
+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);
+}
+
+#else /* !HAVE_BLKID_EVALUATE_TAG */
+
+/*
+ * Classic libblkid (from e2fsprogs) without blkid_evaluate_tag()
+ * -- deprecated
+ */
+#define BLKID_EMPTY_CACHE      "/dev/null"
+
+void
+fsprobe_exit(void)
+{
+       if (blcache)
+               blkid_put_cache(blcache);
+}
+
+char *
+fsprobe_get_devname_by_uuid(const char *uuid)
+{
+       if (!blcache)
+               blkid_get_cache(&blcache, NULL);
+
+       return blkid_get_devname(blcache, "UUID", uuid);
+}
+
+char *
+fsprobe_get_devname_by_label(const char *label)
+{
+       if (!blcache)
+               blkid_get_cache(&blcache, NULL);
+
+       return blkid_get_devname(blcache, "LABEL", label);
+}
+
+char *
+fsprobe_get_fstype_by_devname(const char *devname)
+{
+       blkid_cache c;
+       char *tp;
+
+       if (blcache)
+               return blkid_get_tag_value(blcache, "TYPE", devname);
+
+       /* The cache is not initialized yet. Use empty cache rather than waste
+        * time with /etc/blkid.tab. It seems that probe FS is faster than
+        * parse the cache file.  -- kzak (17-May-2007)
+        */
+       blkid_get_cache(&c, BLKID_EMPTY_CACHE);
+       tp = blkid_get_tag_value(c, "TYPE", devname);
+       blkid_put_cache(c);
+
+       return tp;
+}
+
+char *
+fsprobe_get_label_by_devname(const char *devname)
+{
+       if (!blcache)
+               blkid_get_cache(&blcache, NULL);
+
+       return blkid_get_tag_value(blcache, "LABEL", devname);
+}
+
+char *
+fsprobe_get_uuid_by_devname(const char *devname)
+{
+       if (!blcache)
+               blkid_get_cache(&blcache, NULL);
+
+       return blkid_get_tag_value(blcache, "UUID", devname);
+}
+
+#endif /* !HAVE_BLKID_EVALUATE_TAG */
diff --git a/lib/ismounted.c b/lib/ismounted.c
new file mode 100644 (file)
index 0000000..fbe91f9
--- /dev/null
@@ -0,0 +1,199 @@
+/*
+ * 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>
+#include <mntent.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <ctype.h>
+
+#include "pathnames.h"
+#include "ismounted.h"
+
+/*
+ * ext2fs_check_if_mounted flags
+ */
+#define MF_MOUNTED             1
+
+static char *skip_over_blank(char *cp)
+{
+       while (*cp && isspace(*cp))
+               cp++;
+       return cp;
+}
+
+static char *skip_over_word(char *cp)
+{
+       while (*cp && !isspace(*cp))
+               cp++;
+       return cp;
+}
+
+static char *parse_word(char **buf)
+{
+       char *word, *next;
+
+       word = *buf;
+       if (*word == 0)
+               return 0;
+
+       word = skip_over_blank(word);
+       next = skip_over_word(word);
+       if (*next)
+               *next++ = 0;
+       *buf = next;
+       return word;
+}
+
+/*
+ * 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)
+{
+       struct stat     st_buf;
+       int             retval = 0;
+       dev_t           file_dev=0, file_rdev=0;
+       ino_t           file_ino=0;
+       FILE            *f;
+       char            buf[1024], *device = 0, *mnt_dir = 0, *cp;
+
+       *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 (1) {
+               if (!fgets(buf, sizeof(buf), f)) {
+                       device = mnt_dir = 0;
+                       break;
+               }
+               buf[sizeof(buf)-1] = 0;
+
+               cp = buf;
+               device = parse_word(&cp);
+               if (!device || *device == '#')
+                       return 0;       /* Ignore blank lines and comments */
+               mnt_dir = parse_word(&cp);
+
+               if (device[0] != '/')
+                       continue;
+
+               if (strcmp(file, device) == 0)
+                       break;
+               if (stat(device, &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_dir == 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;
+#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_dir, &st_buf) < 0) {
+               retval = errno;
+               if (retval == ENOENT) {
+#ifdef DEBUG
+                       printf("Bogus entry in %s!  (%s does not exist)\n",
+                              mtab_file, 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_dir);
+#endif /* DEBUG */
+               goto errout;
+       }
+#endif /* __GNU__ */
+       *mount_flags = MF_MOUNTED;
+
+       retval = 0;
+errout:
+       endmntent (f);
+       return retval;
+}
+
+int is_mounted(const char *file)
+{
+       int     retval;
+       int     mount_flags = 0;
+
+#ifdef __linux__
+       retval = check_mntent_file(_PATH_PROC_MOUNTS, file, &mount_flags);
+       if (retval)
+               return 0;
+       if (mount_flags)
+               return 1;
+#endif /* __linux__ */
+       retval = check_mntent_file(_PATH_MOUNTED, file, &mount_flags);
+       if (retval)
+               return 0;
+       return mount_flags;
+}
+
+#ifdef TEST_PROGRAM
+int main(int argc, char **argv)
+{
+       if (argc < 2) {
+               fprintf(stderr, "Usage: %s device\n", argv[0]);
+               return EXIT_FAILURE;
+       }
+
+       if (is_mounted(argv[1])) {
+               printf("mounted\n");
+               return EXIT_SUCCESS;
+       }
+       printf("not mounted\n");
+       return EXIT_FAILURE;
+}
+#endif /* DEBUG */
diff --git a/lib/linux_version.c b/lib/linux_version.c
new file mode 100644 (file)
index 0000000..f9fbd8d
--- /dev/null
@@ -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;
+       int minor;
+       int teeny;
+
+       if (kver != -1)
+               return kver;
+       if (uname (&uts))
+               kver = 0;
+       else if (sscanf (uts.release, "%d.%d.%d", &major, &minor, &teeny) != 3)
+               kver = 0;
+       else
+               kver = KERNEL_VERSION (major, minor, teeny);
+
+       return kver;
+}
diff --git a/lib/md5.c b/lib/md5.c
new file mode 100644 (file)
index 0000000..3069845
--- /dev/null
+++ b/lib/md5.c
@@ -0,0 +1,259 @@
+/*
+ * 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 <endian.h>
+#include <string.h>            /* for memcpy() */
+
+#include "md5.h"
+
+#if !defined __BYTE_ORDER || !(__BYTE_ORDER == __LITTLE_ENDIAN) && !(__BYTE_ORDER == __BIG_ENDIAN)
+#error missing __BYTE_ORDER
+#endif
+
+#if (__BYTE_ORDER == __LITTLE_ENDIAN)
+#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[16], 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, 16);
+    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/pttype.c b/lib/pttype.c
new file mode 100644 (file)
index 0000000..c2294f1
--- /dev/null
@@ -0,0 +1,292 @@
+/*
+ * Based on libdisk from xfsprogs and Linux fdisk.
+ *
+ * Copyright (c) 2000-2001 Silicon Graphics, Inc.
+ * Copyright (C) 2009 Karel Zak <kzak@redhat.com>
+ */
+#include <stdio.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <stdlib.h>
+
+#include "blkdev.h"
+
+/* we need to read two sectors, beacuse BSD label offset is 512 */
+#define PTTYPE_BUFSIZ  (2 * DEFAULT_SECTOR_SIZE)       /* 1024 */
+
+/*
+ * SGI
+ */
+struct sgi_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
+
+struct sgi_volume_header {
+       unsigned int   magic;            /* expect SGI_LABEL_MAGIC */
+       unsigned short boot_part;        /* active boot partition */
+       unsigned short swap_part;        /* active swap partition */
+       unsigned char  boot_file[16];    /* name of the bootfile */
+       struct sgi_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;
+};
+
+#define        SGI_LABEL_MAGIC         0x0be5a941
+
+static uint32_t
+twos_complement_32bit_sum(u_int32_t *base, int size)
+{
+       int i;
+       u_int32_t sum = 0;
+
+       size = size / sizeof(u_int32_t);
+       for (i = 0; i < size; i++)
+               sum = sum - ntohl(base[i]);
+       return sum;
+}
+
+static int
+sgi_parttable(unsigned char *base)
+{
+       u_int32_t csum;
+       struct sgi_volume_header *vh = (struct sgi_volume_header *) base;
+
+       if (ntohl(vh->magic) != SGI_LABEL_MAGIC)
+               return 0;
+       csum = twos_complement_32bit_sum((uint32_t *)vh,
+                               sizeof(struct sgi_volume_header));
+       return !csum;
+}
+
+/*
+ * DOS
+ */
+static int
+dos_parttable(unsigned char *base)
+{
+       return (base[510] == 0x55 && base[511] == 0xaa);
+}
+
+/*
+ * AIX
+ */
+typedef struct {
+       unsigned int   magic;        /* expect AIX_LABEL_MAGIC */
+       /* ... */
+} aix_partition;
+
+#define        AIX_LABEL_MAGIC         0xc9c2d4c1
+#define        AIX_LABEL_MAGIC_SWAPPED 0xc1d4c2c9
+#define aixlabel(x) ((aix_partition *)x)
+
+static int
+aix_parttable(unsigned char *base)
+{
+       return (aixlabel(base)->magic == AIX_LABEL_MAGIC ||
+               aixlabel(base)->magic == AIX_LABEL_MAGIC_SWAPPED);
+}
+
+/*
+ * SUN
+ */
+typedef struct {
+       unsigned char info[128];   /* Informative text string */
+       unsigned char spare0[14];
+       struct sun_info {
+               unsigned char spare1;
+               unsigned char id;
+               unsigned char spare2;
+               unsigned char flags;
+       } infos[8];
+       unsigned char spare1[246]; /* Boot information etc. */
+       unsigned short rspeed;     /* Disk rotational speed */
+       unsigned short pcylcount;  /* Physical cylinder count */
+       unsigned short sparecyl;   /* extra sects per cylinder */
+       unsigned char spare2[4];   /* More magic... */
+       unsigned short ilfact;     /* Interleave factor */
+       unsigned short ncyl;       /* Data cylinder count */
+       unsigned short nacyl;      /* Alt. cylinder count */
+       unsigned short ntrks;      /* Tracks per cylinder */
+       unsigned short nsect;      /* Sectors per track */
+       unsigned char spare3[4];   /* Even more magic... */
+       struct sun_partition {
+               u_int32_t start_cylinder;
+               u_int32_t num_sectors;
+       } partitions[8];
+       unsigned short magic;      /* Magic number */
+       unsigned short csum;       /* Label xor'd checksum */
+} sun_partition;
+
+#define SUN_LABEL_MAGIC          0xDABE
+#define SUN_LABEL_MAGIC_SWAPPED  0xBEDA
+#define sunlabel(x) ((sun_partition *)x)
+
+static int
+sun_parttable(unsigned char *base)
+{
+       unsigned short *ush;
+       int csum = 0;
+
+       if (sunlabel(base)->magic != SUN_LABEL_MAGIC &&
+           sunlabel(base)->magic != SUN_LABEL_MAGIC_SWAPPED)
+               return csum;
+       ush = ((unsigned short *) (sunlabel(base) + 1)) - 1;
+       while (ush >= (unsigned short *)sunlabel(base))
+               csum ^= *ush--;
+       return !csum;
+}
+
+/*
+ * MAC
+ */
+typedef struct {
+       unsigned short magic;
+       /* ... */
+} mac_partition;
+
+#define MAC_LABEL_MAGIC                0x4552
+#define MAC_PARTITION_MAGIC    0x504d
+#define MAC_OLD_PARTITION_MAGIC        0x5453
+#define maclabel(x) ((mac_partition *)x)
+
+static int
+mac_parttable(unsigned char *base)
+{
+       return (ntohs(maclabel(base)->magic) == MAC_LABEL_MAGIC ||
+               ntohs(maclabel(base)->magic) == MAC_PARTITION_MAGIC ||
+               ntohs(maclabel(base)->magic) == MAC_OLD_PARTITION_MAGIC);
+}
+
+/*
+ * BSD subpartitions listed in a disklabel, under a dos-like partition.
+ */
+#define BSD_DISKMAGIC          0x82564557UL            /* The disk magic number */
+#define BSD_DISKMAGIC_SWAPED   0x57455682UL
+struct bsd_disklabel {
+       uint32_t        magic;          /* the magic number */
+       /* ... */
+};
+
+static int
+bsd_parttable(unsigned char *base)
+{
+       struct bsd_disklabel *l = (struct bsd_disklabel *)
+                                       (base + (DEFAULT_SECTOR_SIZE * 1));
+
+       return (l->magic == BSD_DISKMAGIC || l->magic == BSD_DISKMAGIC_SWAPED);
+}
+
+const char *
+get_pt_type_fd(int fd)
+{
+       char    *type = NULL;
+       unsigned char   buf[PTTYPE_BUFSIZ];
+
+       if (read(fd, buf, PTTYPE_BUFSIZ) != PTTYPE_BUFSIZ)
+               ;
+       else {
+               if (sgi_parttable(buf))
+                       type = "SGI";
+               else if (sun_parttable(buf))
+                       type = "Sun";
+               else if (aix_parttable(buf))
+                       type = "AIX";
+               else if (dos_parttable(buf))
+                       type = "DOS";
+               else if (mac_parttable(buf))
+                       type = "Mac";
+               else if (bsd_parttable(buf))
+                       type = "BSD";
+       }
+       return type;
+}
+
+const char *
+get_pt_type(const char *device)
+{
+       int fd;
+       const char *type;
+
+       fd = open(device, O_RDONLY);
+       if (fd == -1)
+               return NULL;
+       type = get_pt_type_fd(fd);
+       close(fd);
+       return type;
+}
+
+#ifdef TEST_PROGRAM
+int
+main(int argc, char **argv)
+{
+       const char *type;
+
+       if (argc < 2) {
+               fprintf(stderr, "usage: %s <device>\n", argv[0]);
+               exit(EXIT_FAILURE);
+       }
+
+       type = get_pt_type(argv[1]);
+       if (type)
+               printf("Partition type: %s\n", type);
+       exit(EXIT_SUCCESS);
+}
+#endif
diff --git a/lib/setproctitle.c b/lib/setproctitle.c
new file mode 100644 (file)
index 0000000..319bc6a
--- /dev/null
@@ -0,0 +1,109 @@
+/* proctitle code - we know this to work only on linux... */
+
+/*
+**  SETPROCTITLE -- set process title for ps (from sendmail)
+**
+**      Parameters:
+**              fmt -- a printf style format string.
+**
+**      Returns:
+**              none.
+**
+**      Side Effects:
+**              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];
+}      
+
+#if 0
+/* Nice code, but many places do not know about vsnprintf ... */
+void
+setproctitle (const char *fmt,...) {
+       int        i;
+       char       buf[SPT_BUFSIZE];
+       va_list    ap;
+
+       if (!argv0)
+               return;
+
+       va_start(ap, fmt);
+       (void) vsnprintf(buf, SPT_BUFSIZE, fmt, ap);
+       va_end(ap);
+
+       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 */
+       (void) strcpy (argv0[0], buf);
+
+       argv0[1] = NULL;
+}
+#else
+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;
+
+        (void) 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 */
+        (void) strcpy (argv0[0], buf);
+
+        argv0[1] = NULL;
+}
+#endif
diff --git a/lib/wholedisk.c b/lib/wholedisk.c
new file mode 100644 (file)
index 0000000..35f143d
--- /dev/null
@@ -0,0 +1,58 @@
+
+#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
+       struct hd_geometry geometry;
+       int i = 0;
+
+       if (fd != -1)
+               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/licenses/COPYING.GPL b/licenses/COPYING.GPL
new file mode 100644 (file)
index 0000000..a43ea21
--- /dev/null
@@ -0,0 +1,339 @@
+                   GNU GENERAL PUBLIC LICENSE
+                      Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+                          675 Mass Ave, Cambridge, MA 02139, 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 Library 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.
+\f
+                   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.)
+\f
+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.
+\f
+  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.
+\f
+  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
+\f
+       Appendix: 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) 19yy  <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., 675 Mass Ave, Cambridge, MA 02139, 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) 19yy 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 Library General
+Public License instead of this License.
diff --git a/licenses/COPYING.UCB b/licenses/COPYING.UCB
new file mode 100644 (file)
index 0000000..9abbf24
--- /dev/null
@@ -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/login-utils/Makefile.am b/login-utils/Makefile.am
new file mode 100644 (file)
index 0000000..177c0b6
--- /dev/null
@@ -0,0 +1,140 @@
+include $(top_srcdir)/config/include-Makefile.am
+
+bin_PROGRAMS =
+usrbin_exec_PROGRAMS =
+sbin_PROGRAMS =
+usrsbin_exec_PROGRAMS =
+dist_man_MANS =
+
+EXTRA_DIST = README.getty  README.modems-with-agetty  README.poeigl
+
+if BUILD_AGETTY
+sbin_PROGRAMS += agetty
+dist_man_MANS += agetty.8
+endif
+
+if BUILD_INIT
+
+sbin_PROGRAMS += simpleinit shutdown initctl
+dist_man_MANS += fastboot.8 fasthalt.8 halt.8 reboot.8 simpleinit.8 shutdown.8 \
+       initctl.8
+
+simpleinit_SOURCES = simpleinit.c my_crypt.h simpleinit.h
+initctl_SOURCES = initctl.c simpleinit.h
+
+if NEED_LIBCRYPT
+simpleinit_LDADD = -lcrypt
+endif
+
+endif
+
+if BUILD_LAST
+usrbin_exec_PROGRAMS += last
+dist_man_MANS += last.1
+endif
+
+if BUILD_LOGIN_UTILS
+
+bin_PROGRAMS += login
+usrbin_exec_PROGRAMS += chfn chsh newgrp
+usrsbin_exec_PROGRAMS += vipw
+dist_man_MANS += chfn.1 chsh.1 login.1 newgrp.1 vipw.8 vigr.8
+
+chfn_SOURCES = chfn.c $(chfn_chsh_common)
+chsh_SOURCES = chsh.c $(chfn_chsh_common)
+chfn_chsh_common = islocal.c setpwnam.c islocal.h my_crypt.h setpwnam.h \
+       ../lib/env.c
+login_SOURCES = login.c login.h my_crypt.h ../lib/setproctitle.c
+newgrp_SOURCES = newgrp.c my_crypt.h
+vipw_SOURCES = vipw.c setpwnam.h
+
+chfn_LDADD =
+chsh_LDADD =
+login_LDADD =
+newgrp_LDADD =
+vipw_LDADD =
+
+chfn_CFLAGS = $(SUID_CFLAGS) $(AM_CFLAGS)
+chsh_CFLAGS = $(SUID_CFLAGS) $(AM_CFLAGS)
+newgrp_CFLAGS = $(SUID_CFLAGS) $(AM_CFLAGS)
+
+chfn_LDFLAGS = $(SUID_LDFLAGS) $(AM_LDFLAGS)
+chsh_LDFLAGS = $(SUID_LDFLAGS) $(AM_LDFLAGS)
+newgrp_LDFLAGS = $(SUID_LDFLAGS) $(AM_LDFLAGS)
+
+if NEED_LIBCRYPT
+chfn_LDADD += -lcrypt
+chsh_LDADD += -lcrypt
+login_LDADD += -lcrypt
+newgrp_LDADD += -lcrypt
+endif
+
+if HAVE_PAM
+chfn_LDADD += -lpam -lpam_misc
+chsh_LDADD += -lpam -lpam_misc
+login_LDADD += -lpam -lpam_misc
+else
+login_SOURCES += checktty.c
+endif
+
+if HAVE_AUDIT
+login_LDADD += -laudit
+endif
+
+if HAVE_SELINUX
+chfn_SOURCES += selinux_utils.c selinux_utils.h
+chfn_LDADD += -lselinux
+chsh_SOURCES += selinux_utils.c selinux_utils.h
+chsh_LDADD += -lselinux
+vipw_LDADD += -lselinux
+endif
+
+
+install-exec-hook::
+       cd $(DESTDIR)$(usrsbin_execdir) && ln -sf vipw vigr
+
+endif
+
+if BUILD_MESG
+usrbin_exec_PROGRAMS += mesg
+dist_man_MANS += mesg.1
+endif
+
+if BUILD_WALL
+usrbin_exec_PROGRAMS += wall
+wall_SOURCES = wall.c ttymsg.c ttymsg.h
+dist_man_MANS += wall.1
+
+if USE_TTY_GROUP
+if MAKEINSTALL_DO_CHOWN
+install-exec-hook::
+       chgrp tty $(DESTDIR)$(usrbin_execdir)/wall
+       chmod g+s $(DESTDIR)$(usrbin_execdir)/wall
+endif
+endif
+endif
+
+if BUILD_INIT
+
+install-exec-hook::
+       cd $(DESTDIR)$(sbindir) && ln -sf shutdown reboot
+       cd $(DESTDIR)$(sbindir) && ln -sf shutdown fastboot
+       cd $(DESTDIR)$(sbindir) && ln -sf shutdown halt
+       cd $(DESTDIR)$(sbindir) && ln -sf shutdown fasthalt
+       cd $(DESTDIR)$(sbindir) && ln -sf initctl need
+       cd $(DESTDIR)$(sbindir) && ln -sf initctl display-services
+       cd $(DESTDIR)$(sbindir) && ln -sf initctl provide
+
+install-data-hook:
+       cd $(DESTDIR)$(mandir)/man8 && ln -sf initctl.8 need.8
+       cd $(DESTDIR)$(mandir)/man8 && ln -sf initctl.8 display-services.8
+       cd $(DESTDIR)$(mandir)/man8 && ln -sf initctl.8 provide.8
+
+endif
+
+noinst_PROGRAMS = checktty_test islocal_test
+checktty_test_SOURCES = checktty.c login.h
+checktty_test_CPPFLAGS = -DMAIN_TEST_CHECKTTY $(AM_CPPFLAGS)
+islocal_test_SOURCES = islocal.c
+islocal_test_CPPFLAGS = -DMAIN_TEST_ISLOCAL $(AM_CPPFLAGS)
+
diff --git a/login-utils/Makefile.in b/login-utils/Makefile.in
new file mode 100644 (file)
index 0000000..38de37f
--- /dev/null
@@ -0,0 +1,1304 @@
+# Makefile.in generated by automake 1.11 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@
+DIST_COMMON = $(am__dist_noinst_DATA_DIST) $(dist_man_MANS) \
+       $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+       $(top_srcdir)/config/include-Makefile.am
+bin_PROGRAMS = $(am__EXEEXT_1)
+usrbin_exec_PROGRAMS = $(am__EXEEXT_4) $(am__EXEEXT_5) $(am__EXEEXT_6) \
+       $(am__EXEEXT_7)
+sbin_PROGRAMS = $(am__EXEEXT_2) $(am__EXEEXT_3)
+usrsbin_exec_PROGRAMS = $(am__EXEEXT_8)
+@BUILD_AGETTY_TRUE@am__append_1 = agetty
+@BUILD_AGETTY_TRUE@am__append_2 = agetty.8
+@BUILD_INIT_TRUE@am__append_3 = simpleinit shutdown initctl
+@BUILD_INIT_TRUE@am__append_4 = fastboot.8 fasthalt.8 halt.8 reboot.8 simpleinit.8 shutdown.8 \
+@BUILD_INIT_TRUE@      initctl.8
+
+@BUILD_LAST_TRUE@am__append_5 = last
+@BUILD_LAST_TRUE@am__append_6 = last.1
+@BUILD_LOGIN_UTILS_TRUE@am__append_7 = login
+@BUILD_LOGIN_UTILS_TRUE@am__append_8 = chfn chsh newgrp
+@BUILD_LOGIN_UTILS_TRUE@am__append_9 = vipw
+@BUILD_LOGIN_UTILS_TRUE@am__append_10 = chfn.1 chsh.1 login.1 newgrp.1 vipw.8 vigr.8
+@BUILD_LOGIN_UTILS_TRUE@@NEED_LIBCRYPT_TRUE@am__append_11 = -lcrypt
+@BUILD_LOGIN_UTILS_TRUE@@NEED_LIBCRYPT_TRUE@am__append_12 = -lcrypt
+@BUILD_LOGIN_UTILS_TRUE@@NEED_LIBCRYPT_TRUE@am__append_13 = -lcrypt
+@BUILD_LOGIN_UTILS_TRUE@@NEED_LIBCRYPT_TRUE@am__append_14 = -lcrypt
+@BUILD_LOGIN_UTILS_TRUE@@HAVE_PAM_TRUE@am__append_15 = -lpam -lpam_misc
+@BUILD_LOGIN_UTILS_TRUE@@HAVE_PAM_TRUE@am__append_16 = -lpam -lpam_misc
+@BUILD_LOGIN_UTILS_TRUE@@HAVE_PAM_TRUE@am__append_17 = -lpam -lpam_misc
+@BUILD_LOGIN_UTILS_TRUE@@HAVE_PAM_FALSE@am__append_18 = checktty.c
+@BUILD_LOGIN_UTILS_TRUE@@HAVE_AUDIT_TRUE@am__append_19 = -laudit
+@BUILD_LOGIN_UTILS_TRUE@@HAVE_SELINUX_TRUE@am__append_20 = selinux_utils.c selinux_utils.h
+@BUILD_LOGIN_UTILS_TRUE@@HAVE_SELINUX_TRUE@am__append_21 = -lselinux
+@BUILD_LOGIN_UTILS_TRUE@@HAVE_SELINUX_TRUE@am__append_22 = selinux_utils.c selinux_utils.h
+@BUILD_LOGIN_UTILS_TRUE@@HAVE_SELINUX_TRUE@am__append_23 = -lselinux
+@BUILD_LOGIN_UTILS_TRUE@@HAVE_SELINUX_TRUE@am__append_24 = -lselinux
+@BUILD_MESG_TRUE@am__append_25 = mesg
+@BUILD_MESG_TRUE@am__append_26 = mesg.1
+@BUILD_WALL_TRUE@am__append_27 = wall
+@BUILD_WALL_TRUE@am__append_28 = wall.1
+noinst_PROGRAMS = checktty_test$(EXEEXT) islocal_test$(EXEEXT)
+subdir = login-utils
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.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)/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 =
+CONFIG_CLEAN_VPATH_FILES =
+@BUILD_LOGIN_UTILS_TRUE@am__EXEEXT_1 = login$(EXEEXT)
+am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)" \
+       "$(DESTDIR)$(usrbin_execdir)" "$(DESTDIR)$(usrsbin_execdir)" \
+       "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man8dir)"
+@BUILD_AGETTY_TRUE@am__EXEEXT_2 = agetty$(EXEEXT)
+@BUILD_INIT_TRUE@am__EXEEXT_3 = simpleinit$(EXEEXT) shutdown$(EXEEXT) \
+@BUILD_INIT_TRUE@      initctl$(EXEEXT)
+@BUILD_LAST_TRUE@am__EXEEXT_4 = last$(EXEEXT)
+@BUILD_LOGIN_UTILS_TRUE@am__EXEEXT_5 = chfn$(EXEEXT) chsh$(EXEEXT) \
+@BUILD_LOGIN_UTILS_TRUE@       newgrp$(EXEEXT)
+@BUILD_MESG_TRUE@am__EXEEXT_6 = mesg$(EXEEXT)
+@BUILD_WALL_TRUE@am__EXEEXT_7 = wall$(EXEEXT)
+@BUILD_LOGIN_UTILS_TRUE@am__EXEEXT_8 = vipw$(EXEEXT)
+PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) $(sbin_PROGRAMS) \
+       $(usrbin_exec_PROGRAMS) $(usrsbin_exec_PROGRAMS)
+agetty_SOURCES = agetty.c
+agetty_OBJECTS = agetty.$(OBJEXT)
+agetty_LDADD = $(LDADD)
+am_checktty_test_OBJECTS = checktty_test-checktty.$(OBJEXT)
+checktty_test_OBJECTS = $(am_checktty_test_OBJECTS)
+checktty_test_LDADD = $(LDADD)
+am__chfn_SOURCES_DIST = chfn.c islocal.c setpwnam.c islocal.h \
+       my_crypt.h setpwnam.h ../lib/env.c selinux_utils.c \
+       selinux_utils.h
+@BUILD_LOGIN_UTILS_TRUE@am__objects_1 = chfn-islocal.$(OBJEXT) \
+@BUILD_LOGIN_UTILS_TRUE@       chfn-setpwnam.$(OBJEXT) \
+@BUILD_LOGIN_UTILS_TRUE@       chfn-env.$(OBJEXT)
+@BUILD_LOGIN_UTILS_TRUE@@HAVE_SELINUX_TRUE@am__objects_2 = chfn-selinux_utils.$(OBJEXT)
+@BUILD_LOGIN_UTILS_TRUE@am_chfn_OBJECTS = chfn-chfn.$(OBJEXT) \
+@BUILD_LOGIN_UTILS_TRUE@       $(am__objects_1) $(am__objects_2)
+chfn_OBJECTS = $(am_chfn_OBJECTS)
+am__DEPENDENCIES_1 =
+@BUILD_LOGIN_UTILS_TRUE@chfn_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+@BUILD_LOGIN_UTILS_TRUE@       $(am__DEPENDENCIES_1) \
+@BUILD_LOGIN_UTILS_TRUE@       $(am__DEPENDENCIES_1)
+chfn_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+       --mode=link $(CCLD) $(chfn_CFLAGS) $(CFLAGS) $(chfn_LDFLAGS) \
+       $(LDFLAGS) -o $@
+am__chsh_SOURCES_DIST = chsh.c islocal.c setpwnam.c islocal.h \
+       my_crypt.h setpwnam.h ../lib/env.c selinux_utils.c \
+       selinux_utils.h
+@BUILD_LOGIN_UTILS_TRUE@am__objects_3 = chsh-islocal.$(OBJEXT) \
+@BUILD_LOGIN_UTILS_TRUE@       chsh-setpwnam.$(OBJEXT) \
+@BUILD_LOGIN_UTILS_TRUE@       chsh-env.$(OBJEXT)
+@BUILD_LOGIN_UTILS_TRUE@@HAVE_SELINUX_TRUE@am__objects_4 = chsh-selinux_utils.$(OBJEXT)
+@BUILD_LOGIN_UTILS_TRUE@am_chsh_OBJECTS = chsh-chsh.$(OBJEXT) \
+@BUILD_LOGIN_UTILS_TRUE@       $(am__objects_3) $(am__objects_4)
+chsh_OBJECTS = $(am_chsh_OBJECTS)
+@BUILD_LOGIN_UTILS_TRUE@chsh_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+@BUILD_LOGIN_UTILS_TRUE@       $(am__DEPENDENCIES_1) \
+@BUILD_LOGIN_UTILS_TRUE@       $(am__DEPENDENCIES_1)
+chsh_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+       --mode=link $(CCLD) $(chsh_CFLAGS) $(CFLAGS) $(chsh_LDFLAGS) \
+       $(LDFLAGS) -o $@
+am__initctl_SOURCES_DIST = initctl.c simpleinit.h
+@BUILD_INIT_TRUE@am_initctl_OBJECTS = initctl.$(OBJEXT)
+initctl_OBJECTS = $(am_initctl_OBJECTS)
+initctl_LDADD = $(LDADD)
+am_islocal_test_OBJECTS = islocal_test-islocal.$(OBJEXT)
+islocal_test_OBJECTS = $(am_islocal_test_OBJECTS)
+islocal_test_LDADD = $(LDADD)
+last_SOURCES = last.c
+last_OBJECTS = last.$(OBJEXT)
+last_LDADD = $(LDADD)
+am__login_SOURCES_DIST = login.c login.h my_crypt.h \
+       ../lib/setproctitle.c checktty.c
+@BUILD_LOGIN_UTILS_TRUE@@HAVE_PAM_FALSE@am__objects_5 =  \
+@BUILD_LOGIN_UTILS_TRUE@@HAVE_PAM_FALSE@       checktty.$(OBJEXT)
+@BUILD_LOGIN_UTILS_TRUE@am_login_OBJECTS = login.$(OBJEXT) \
+@BUILD_LOGIN_UTILS_TRUE@       setproctitle.$(OBJEXT) \
+@BUILD_LOGIN_UTILS_TRUE@       $(am__objects_5)
+login_OBJECTS = $(am_login_OBJECTS)
+@BUILD_LOGIN_UTILS_TRUE@login_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+@BUILD_LOGIN_UTILS_TRUE@       $(am__DEPENDENCIES_1) \
+@BUILD_LOGIN_UTILS_TRUE@       $(am__DEPENDENCIES_1)
+mesg_SOURCES = mesg.c
+mesg_OBJECTS = mesg.$(OBJEXT)
+mesg_LDADD = $(LDADD)
+am__newgrp_SOURCES_DIST = newgrp.c my_crypt.h
+@BUILD_LOGIN_UTILS_TRUE@am_newgrp_OBJECTS = newgrp-newgrp.$(OBJEXT)
+newgrp_OBJECTS = $(am_newgrp_OBJECTS)
+@BUILD_LOGIN_UTILS_TRUE@newgrp_DEPENDENCIES = $(am__DEPENDENCIES_1)
+newgrp_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+       --mode=link $(CCLD) $(newgrp_CFLAGS) $(CFLAGS) \
+       $(newgrp_LDFLAGS) $(LDFLAGS) -o $@
+shutdown_SOURCES = shutdown.c
+shutdown_OBJECTS = shutdown.$(OBJEXT)
+shutdown_LDADD = $(LDADD)
+am__simpleinit_SOURCES_DIST = simpleinit.c my_crypt.h simpleinit.h
+@BUILD_INIT_TRUE@am_simpleinit_OBJECTS = simpleinit.$(OBJEXT)
+simpleinit_OBJECTS = $(am_simpleinit_OBJECTS)
+simpleinit_DEPENDENCIES =
+am__vipw_SOURCES_DIST = vipw.c setpwnam.h
+@BUILD_LOGIN_UTILS_TRUE@am_vipw_OBJECTS = vipw.$(OBJEXT)
+vipw_OBJECTS = $(am_vipw_OBJECTS)
+@BUILD_LOGIN_UTILS_TRUE@vipw_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am__wall_SOURCES_DIST = wall.c ttymsg.c ttymsg.h
+@BUILD_WALL_TRUE@am_wall_OBJECTS = wall.$(OBJEXT) ttymsg.$(OBJEXT)
+wall_OBJECTS = $(am_wall_OBJECTS)
+wall_LDADD = $(LDADD)
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+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) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+       --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+       --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+       $(LDFLAGS) -o $@
+SOURCES = agetty.c $(checktty_test_SOURCES) $(chfn_SOURCES) \
+       $(chsh_SOURCES) $(initctl_SOURCES) $(islocal_test_SOURCES) \
+       last.c $(login_SOURCES) mesg.c $(newgrp_SOURCES) shutdown.c \
+       $(simpleinit_SOURCES) $(vipw_SOURCES) $(wall_SOURCES)
+DIST_SOURCES = agetty.c $(checktty_test_SOURCES) \
+       $(am__chfn_SOURCES_DIST) $(am__chsh_SOURCES_DIST) \
+       $(am__initctl_SOURCES_DIST) $(islocal_test_SOURCES) last.c \
+       $(am__login_SOURCES_DIST) mesg.c $(am__newgrp_SOURCES_DIST) \
+       shutdown.c $(am__simpleinit_SOURCES_DIST) \
+       $(am__vipw_SOURCES_DIST) $(am__wall_SOURCES_DIST)
+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'
+man1dir = $(mandir)/man1
+man8dir = $(mandir)/man8
+NROFF = nroff
+MANS = $(dist_man_MANS)
+am__dist_noinst_DATA_DIST = agetty.8 fastboot.8 fasthalt.8 halt.8 \
+       reboot.8 simpleinit.8 shutdown.8 initctl.8 last.1 chfn.1 \
+       chsh.1 login.1 newgrp.1 vipw.8 vigr.8 mesg.1 wall.1
+DATA = $(dist_noinst_DATA)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BLKID = @BLKID@
+BLKID_CFLAGS = @BLKID_CFLAGS@
+BLKID_LIBS = @BLKID_LIBS@
+BLKID_LIBS_STATIC = @BLKID_LIBS_STATIC@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+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@
+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_VERSION = @LIBBLKID_VERSION@
+LIBBLKID_VERSION_INFO = @LIBBLKID_VERSION_INFO@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+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@
+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_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+POSUB = @POSUB@
+RANLIB = @RANLIB@
+SED = @SED@
+SELINUX_LIBS = @SELINUX_LIBS@
+SELINUX_LIBS_STATIC = @SELINUX_LIBS_STATIC@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SUID_CFLAGS = @SUID_CFLAGS@
+SUID_LDFLAGS = @SUID_LDFLAGS@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
+VERSION = @VERSION@
+VOLID = @VOLID@
+XGETTEXT = @XGETTEXT@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+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@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+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 $(top_builddir)/config.h -I$(top_srcdir)/include \
+       -DLOCALEDIR=\"$(localedir)\"
+
+AM_CFLAGS = -fsigned-char
+AM_LDFLAGS = 
+
+# 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)
+#
+# blkid
+ul_libblkid_srcdir = $(top_srcdir)/shlibs/blkid/src
+ul_libblkid_builddir = $(top_builddir)/shlibs/blkid/src
+ul_libblkid_la = $(top_builddir)/shlibs/blkid/src/libblkid.la
+
+# uuid
+ul_libuuid_srcdir = $(top_srcdir)/shlibs/uuid/src
+ul_libuuid_builddir = $(top_builddir)/shlibs/uuid/src
+ul_libuuid_la = $(top_builddir)/shlibs/uuid/src/libuuid.la
+dist_man_MANS = $(am__append_2) $(am__append_4) $(am__append_6) \
+       $(am__append_10) $(am__append_26) $(am__append_28)
+EXTRA_DIST = README.getty  README.modems-with-agetty  README.poeigl
+@BUILD_INIT_TRUE@simpleinit_SOURCES = simpleinit.c my_crypt.h simpleinit.h
+@BUILD_INIT_TRUE@initctl_SOURCES = initctl.c simpleinit.h
+@BUILD_INIT_TRUE@@NEED_LIBCRYPT_TRUE@simpleinit_LDADD = -lcrypt
+@BUILD_LOGIN_UTILS_TRUE@chfn_SOURCES = chfn.c $(chfn_chsh_common) \
+@BUILD_LOGIN_UTILS_TRUE@       $(am__append_20)
+@BUILD_LOGIN_UTILS_TRUE@chsh_SOURCES = chsh.c $(chfn_chsh_common) \
+@BUILD_LOGIN_UTILS_TRUE@       $(am__append_22)
+@BUILD_LOGIN_UTILS_TRUE@chfn_chsh_common = islocal.c setpwnam.c islocal.h my_crypt.h setpwnam.h \
+@BUILD_LOGIN_UTILS_TRUE@       ../lib/env.c
+
+@BUILD_LOGIN_UTILS_TRUE@login_SOURCES = login.c login.h my_crypt.h \
+@BUILD_LOGIN_UTILS_TRUE@       ../lib/setproctitle.c $(am__append_18)
+@BUILD_LOGIN_UTILS_TRUE@newgrp_SOURCES = newgrp.c my_crypt.h
+@BUILD_LOGIN_UTILS_TRUE@vipw_SOURCES = vipw.c setpwnam.h
+@BUILD_LOGIN_UTILS_TRUE@chfn_LDADD = $(am__append_11) $(am__append_15) \
+@BUILD_LOGIN_UTILS_TRUE@       $(am__append_21)
+@BUILD_LOGIN_UTILS_TRUE@chsh_LDADD = $(am__append_12) $(am__append_16) \
+@BUILD_LOGIN_UTILS_TRUE@       $(am__append_23)
+@BUILD_LOGIN_UTILS_TRUE@login_LDADD = $(am__append_13) \
+@BUILD_LOGIN_UTILS_TRUE@       $(am__append_17) $(am__append_19)
+@BUILD_LOGIN_UTILS_TRUE@newgrp_LDADD = $(am__append_14)
+@BUILD_LOGIN_UTILS_TRUE@vipw_LDADD = $(am__append_24)
+@BUILD_LOGIN_UTILS_TRUE@chfn_CFLAGS = $(SUID_CFLAGS) $(AM_CFLAGS)
+@BUILD_LOGIN_UTILS_TRUE@chsh_CFLAGS = $(SUID_CFLAGS) $(AM_CFLAGS)
+@BUILD_LOGIN_UTILS_TRUE@newgrp_CFLAGS = $(SUID_CFLAGS) $(AM_CFLAGS)
+@BUILD_LOGIN_UTILS_TRUE@chfn_LDFLAGS = $(SUID_LDFLAGS) $(AM_LDFLAGS)
+@BUILD_LOGIN_UTILS_TRUE@chsh_LDFLAGS = $(SUID_LDFLAGS) $(AM_LDFLAGS)
+@BUILD_LOGIN_UTILS_TRUE@newgrp_LDFLAGS = $(SUID_LDFLAGS) $(AM_LDFLAGS)
+@BUILD_WALL_TRUE@wall_SOURCES = wall.c ttymsg.c ttymsg.h
+checktty_test_SOURCES = checktty.c login.h
+checktty_test_CPPFLAGS = -DMAIN_TEST_CHECKTTY $(AM_CPPFLAGS)
+islocal_test_SOURCES = islocal.c
+islocal_test_CPPFLAGS = -DMAIN_TEST_ISLOCAL $(AM_CPPFLAGS)
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/config/include-Makefile.am $(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 login-utils/Makefile'; \
+       $(am__cd) $(top_srcdir) && \
+         $(AUTOMAKE) --foreign login-utils/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):
+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-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
+agetty$(EXEEXT): $(agetty_OBJECTS) $(agetty_DEPENDENCIES) 
+       @rm -f agetty$(EXEEXT)
+       $(LINK) $(agetty_OBJECTS) $(agetty_LDADD) $(LIBS)
+checktty_test$(EXEEXT): $(checktty_test_OBJECTS) $(checktty_test_DEPENDENCIES) 
+       @rm -f checktty_test$(EXEEXT)
+       $(LINK) $(checktty_test_OBJECTS) $(checktty_test_LDADD) $(LIBS)
+chfn$(EXEEXT): $(chfn_OBJECTS) $(chfn_DEPENDENCIES) 
+       @rm -f chfn$(EXEEXT)
+       $(chfn_LINK) $(chfn_OBJECTS) $(chfn_LDADD) $(LIBS)
+chsh$(EXEEXT): $(chsh_OBJECTS) $(chsh_DEPENDENCIES) 
+       @rm -f chsh$(EXEEXT)
+       $(chsh_LINK) $(chsh_OBJECTS) $(chsh_LDADD) $(LIBS)
+initctl$(EXEEXT): $(initctl_OBJECTS) $(initctl_DEPENDENCIES) 
+       @rm -f initctl$(EXEEXT)
+       $(LINK) $(initctl_OBJECTS) $(initctl_LDADD) $(LIBS)
+islocal_test$(EXEEXT): $(islocal_test_OBJECTS) $(islocal_test_DEPENDENCIES) 
+       @rm -f islocal_test$(EXEEXT)
+       $(LINK) $(islocal_test_OBJECTS) $(islocal_test_LDADD) $(LIBS)
+last$(EXEEXT): $(last_OBJECTS) $(last_DEPENDENCIES) 
+       @rm -f last$(EXEEXT)
+       $(LINK) $(last_OBJECTS) $(last_LDADD) $(LIBS)
+login$(EXEEXT): $(login_OBJECTS) $(login_DEPENDENCIES) 
+       @rm -f login$(EXEEXT)
+       $(LINK) $(login_OBJECTS) $(login_LDADD) $(LIBS)
+mesg$(EXEEXT): $(mesg_OBJECTS) $(mesg_DEPENDENCIES) 
+       @rm -f mesg$(EXEEXT)
+       $(LINK) $(mesg_OBJECTS) $(mesg_LDADD) $(LIBS)
+newgrp$(EXEEXT): $(newgrp_OBJECTS) $(newgrp_DEPENDENCIES) 
+       @rm -f newgrp$(EXEEXT)
+       $(newgrp_LINK) $(newgrp_OBJECTS) $(newgrp_LDADD) $(LIBS)
+shutdown$(EXEEXT): $(shutdown_OBJECTS) $(shutdown_DEPENDENCIES) 
+       @rm -f shutdown$(EXEEXT)
+       $(LINK) $(shutdown_OBJECTS) $(shutdown_LDADD) $(LIBS)
+simpleinit$(EXEEXT): $(simpleinit_OBJECTS) $(simpleinit_DEPENDENCIES) 
+       @rm -f simpleinit$(EXEEXT)
+       $(LINK) $(simpleinit_OBJECTS) $(simpleinit_LDADD) $(LIBS)
+vipw$(EXEEXT): $(vipw_OBJECTS) $(vipw_DEPENDENCIES) 
+       @rm -f vipw$(EXEEXT)
+       $(LINK) $(vipw_OBJECTS) $(vipw_LDADD) $(LIBS)
+wall$(EXEEXT): $(wall_OBJECTS) $(wall_DEPENDENCIES) 
+       @rm -f wall$(EXEEXT)
+       $(LINK) $(wall_OBJECTS) $(wall_LDADD) $(LIBS)
+
+mostlyclean-compile:
+       -rm -f *.$(OBJEXT)
+
+distclean-compile:
+       -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/agetty.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/checktty.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/checktty_test-checktty.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chfn-chfn.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chfn-env.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chfn-islocal.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chfn-selinux_utils.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chfn-setpwnam.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chsh-chsh.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chsh-env.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chsh-islocal.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chsh-selinux_utils.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chsh-setpwnam.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/initctl.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/islocal_test-islocal.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/last.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/login.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mesg.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/newgrp-newgrp.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setproctitle.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shutdown.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/simpleinit.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ttymsg.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vipw.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wall.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@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 $<
+
+.c.obj:
+@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@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 `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@   $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@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 $@ $<
+
+checktty_test-checktty.o: checktty.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(checktty_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT checktty_test-checktty.o -MD -MP -MF $(DEPDIR)/checktty_test-checktty.Tpo -c -o checktty_test-checktty.o `test -f 'checktty.c' || echo '$(srcdir)/'`checktty.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/checktty_test-checktty.Tpo $(DEPDIR)/checktty_test-checktty.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='checktty.c' object='checktty_test-checktty.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(checktty_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o checktty_test-checktty.o `test -f 'checktty.c' || echo '$(srcdir)/'`checktty.c
+
+checktty_test-checktty.obj: checktty.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(checktty_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT checktty_test-checktty.obj -MD -MP -MF $(DEPDIR)/checktty_test-checktty.Tpo -c -o checktty_test-checktty.obj `if test -f 'checktty.c'; then $(CYGPATH_W) 'checktty.c'; else $(CYGPATH_W) '$(srcdir)/checktty.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/checktty_test-checktty.Tpo $(DEPDIR)/checktty_test-checktty.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='checktty.c' object='checktty_test-checktty.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(checktty_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o checktty_test-checktty.obj `if test -f 'checktty.c'; then $(CYGPATH_W) 'checktty.c'; else $(CYGPATH_W) '$(srcdir)/checktty.c'; fi`
+
+chfn-chfn.o: chfn.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chfn_CFLAGS) $(CFLAGS) -MT chfn-chfn.o -MD -MP -MF $(DEPDIR)/chfn-chfn.Tpo -c -o chfn-chfn.o `test -f 'chfn.c' || echo '$(srcdir)/'`chfn.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/chfn-chfn.Tpo $(DEPDIR)/chfn-chfn.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='chfn.c' object='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 chfn-chfn.o `test -f 'chfn.c' || echo '$(srcdir)/'`chfn.c
+
+chfn-chfn.obj: chfn.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chfn_CFLAGS) $(CFLAGS) -MT chfn-chfn.obj -MD -MP -MF $(DEPDIR)/chfn-chfn.Tpo -c -o chfn-chfn.obj `if test -f 'chfn.c'; then $(CYGPATH_W) 'chfn.c'; else $(CYGPATH_W) '$(srcdir)/chfn.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/chfn-chfn.Tpo $(DEPDIR)/chfn-chfn.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='chfn.c' object='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 chfn-chfn.obj `if test -f 'chfn.c'; then $(CYGPATH_W) 'chfn.c'; else $(CYGPATH_W) '$(srcdir)/chfn.c'; fi`
+
+chfn-islocal.o: islocal.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chfn_CFLAGS) $(CFLAGS) -MT chfn-islocal.o -MD -MP -MF $(DEPDIR)/chfn-islocal.Tpo -c -o chfn-islocal.o `test -f 'islocal.c' || echo '$(srcdir)/'`islocal.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/chfn-islocal.Tpo $(DEPDIR)/chfn-islocal.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='islocal.c' object='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 chfn-islocal.o `test -f 'islocal.c' || echo '$(srcdir)/'`islocal.c
+
+chfn-islocal.obj: islocal.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chfn_CFLAGS) $(CFLAGS) -MT chfn-islocal.obj -MD -MP -MF $(DEPDIR)/chfn-islocal.Tpo -c -o chfn-islocal.obj `if test -f 'islocal.c'; then $(CYGPATH_W) 'islocal.c'; else $(CYGPATH_W) '$(srcdir)/islocal.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/chfn-islocal.Tpo $(DEPDIR)/chfn-islocal.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='islocal.c' object='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 chfn-islocal.obj `if test -f 'islocal.c'; then $(CYGPATH_W) 'islocal.c'; else $(CYGPATH_W) '$(srcdir)/islocal.c'; fi`
+
+chfn-setpwnam.o: setpwnam.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chfn_CFLAGS) $(CFLAGS) -MT chfn-setpwnam.o -MD -MP -MF $(DEPDIR)/chfn-setpwnam.Tpo -c -o chfn-setpwnam.o `test -f 'setpwnam.c' || echo '$(srcdir)/'`setpwnam.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/chfn-setpwnam.Tpo $(DEPDIR)/chfn-setpwnam.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='setpwnam.c' object='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 chfn-setpwnam.o `test -f 'setpwnam.c' || echo '$(srcdir)/'`setpwnam.c
+
+chfn-setpwnam.obj: setpwnam.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chfn_CFLAGS) $(CFLAGS) -MT chfn-setpwnam.obj -MD -MP -MF $(DEPDIR)/chfn-setpwnam.Tpo -c -o chfn-setpwnam.obj `if test -f 'setpwnam.c'; then $(CYGPATH_W) 'setpwnam.c'; else $(CYGPATH_W) '$(srcdir)/setpwnam.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/chfn-setpwnam.Tpo $(DEPDIR)/chfn-setpwnam.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='setpwnam.c' object='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 chfn-setpwnam.obj `if test -f 'setpwnam.c'; then $(CYGPATH_W) 'setpwnam.c'; else $(CYGPATH_W) '$(srcdir)/setpwnam.c'; fi`
+
+chfn-env.o: ../lib/env.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chfn_CFLAGS) $(CFLAGS) -MT chfn-env.o -MD -MP -MF $(DEPDIR)/chfn-env.Tpo -c -o chfn-env.o `test -f '../lib/env.c' || echo '$(srcdir)/'`../lib/env.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/chfn-env.Tpo $(DEPDIR)/chfn-env.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/env.c' object='chfn-env.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 chfn-env.o `test -f '../lib/env.c' || echo '$(srcdir)/'`../lib/env.c
+
+chfn-env.obj: ../lib/env.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chfn_CFLAGS) $(CFLAGS) -MT chfn-env.obj -MD -MP -MF $(DEPDIR)/chfn-env.Tpo -c -o chfn-env.obj `if test -f '../lib/env.c'; then $(CYGPATH_W) '../lib/env.c'; else $(CYGPATH_W) '$(srcdir)/../lib/env.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/chfn-env.Tpo $(DEPDIR)/chfn-env.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/env.c' object='chfn-env.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 chfn-env.obj `if test -f '../lib/env.c'; then $(CYGPATH_W) '../lib/env.c'; else $(CYGPATH_W) '$(srcdir)/../lib/env.c'; fi`
+
+chfn-selinux_utils.o: selinux_utils.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chfn_CFLAGS) $(CFLAGS) -MT chfn-selinux_utils.o -MD -MP -MF $(DEPDIR)/chfn-selinux_utils.Tpo -c -o chfn-selinux_utils.o `test -f 'selinux_utils.c' || echo '$(srcdir)/'`selinux_utils.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/chfn-selinux_utils.Tpo $(DEPDIR)/chfn-selinux_utils.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='selinux_utils.c' object='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 chfn-selinux_utils.o `test -f 'selinux_utils.c' || echo '$(srcdir)/'`selinux_utils.c
+
+chfn-selinux_utils.obj: selinux_utils.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chfn_CFLAGS) $(CFLAGS) -MT chfn-selinux_utils.obj -MD -MP -MF $(DEPDIR)/chfn-selinux_utils.Tpo -c -o chfn-selinux_utils.obj `if test -f 'selinux_utils.c'; then $(CYGPATH_W) 'selinux_utils.c'; else $(CYGPATH_W) '$(srcdir)/selinux_utils.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/chfn-selinux_utils.Tpo $(DEPDIR)/chfn-selinux_utils.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='selinux_utils.c' object='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 chfn-selinux_utils.obj `if test -f 'selinux_utils.c'; then $(CYGPATH_W) 'selinux_utils.c'; else $(CYGPATH_W) '$(srcdir)/selinux_utils.c'; fi`
+
+chsh-chsh.o: chsh.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chsh_CFLAGS) $(CFLAGS) -MT chsh-chsh.o -MD -MP -MF $(DEPDIR)/chsh-chsh.Tpo -c -o chsh-chsh.o `test -f 'chsh.c' || echo '$(srcdir)/'`chsh.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/chsh-chsh.Tpo $(DEPDIR)/chsh-chsh.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='chsh.c' object='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 chsh-chsh.o `test -f 'chsh.c' || echo '$(srcdir)/'`chsh.c
+
+chsh-chsh.obj: chsh.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chsh_CFLAGS) $(CFLAGS) -MT chsh-chsh.obj -MD -MP -MF $(DEPDIR)/chsh-chsh.Tpo -c -o chsh-chsh.obj `if test -f 'chsh.c'; then $(CYGPATH_W) 'chsh.c'; else $(CYGPATH_W) '$(srcdir)/chsh.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/chsh-chsh.Tpo $(DEPDIR)/chsh-chsh.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='chsh.c' object='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 chsh-chsh.obj `if test -f 'chsh.c'; then $(CYGPATH_W) 'chsh.c'; else $(CYGPATH_W) '$(srcdir)/chsh.c'; fi`
+
+chsh-islocal.o: islocal.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chsh_CFLAGS) $(CFLAGS) -MT chsh-islocal.o -MD -MP -MF $(DEPDIR)/chsh-islocal.Tpo -c -o chsh-islocal.o `test -f 'islocal.c' || echo '$(srcdir)/'`islocal.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/chsh-islocal.Tpo $(DEPDIR)/chsh-islocal.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='islocal.c' object='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 chsh-islocal.o `test -f 'islocal.c' || echo '$(srcdir)/'`islocal.c
+
+chsh-islocal.obj: islocal.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chsh_CFLAGS) $(CFLAGS) -MT chsh-islocal.obj -MD -MP -MF $(DEPDIR)/chsh-islocal.Tpo -c -o chsh-islocal.obj `if test -f 'islocal.c'; then $(CYGPATH_W) 'islocal.c'; else $(CYGPATH_W) '$(srcdir)/islocal.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/chsh-islocal.Tpo $(DEPDIR)/chsh-islocal.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='islocal.c' object='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 chsh-islocal.obj `if test -f 'islocal.c'; then $(CYGPATH_W) 'islocal.c'; else $(CYGPATH_W) '$(srcdir)/islocal.c'; fi`
+
+chsh-setpwnam.o: setpwnam.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chsh_CFLAGS) $(CFLAGS) -MT chsh-setpwnam.o -MD -MP -MF $(DEPDIR)/chsh-setpwnam.Tpo -c -o chsh-setpwnam.o `test -f 'setpwnam.c' || echo '$(srcdir)/'`setpwnam.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/chsh-setpwnam.Tpo $(DEPDIR)/chsh-setpwnam.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='setpwnam.c' object='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 chsh-setpwnam.o `test -f 'setpwnam.c' || echo '$(srcdir)/'`setpwnam.c
+
+chsh-setpwnam.obj: setpwnam.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chsh_CFLAGS) $(CFLAGS) -MT chsh-setpwnam.obj -MD -MP -MF $(DEPDIR)/chsh-setpwnam.Tpo -c -o chsh-setpwnam.obj `if test -f 'setpwnam.c'; then $(CYGPATH_W) 'setpwnam.c'; else $(CYGPATH_W) '$(srcdir)/setpwnam.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/chsh-setpwnam.Tpo $(DEPDIR)/chsh-setpwnam.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='setpwnam.c' object='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 chsh-setpwnam.obj `if test -f 'setpwnam.c'; then $(CYGPATH_W) 'setpwnam.c'; else $(CYGPATH_W) '$(srcdir)/setpwnam.c'; fi`
+
+chsh-env.o: ../lib/env.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chsh_CFLAGS) $(CFLAGS) -MT chsh-env.o -MD -MP -MF $(DEPDIR)/chsh-env.Tpo -c -o chsh-env.o `test -f '../lib/env.c' || echo '$(srcdir)/'`../lib/env.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/chsh-env.Tpo $(DEPDIR)/chsh-env.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/env.c' object='chsh-env.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 chsh-env.o `test -f '../lib/env.c' || echo '$(srcdir)/'`../lib/env.c
+
+chsh-env.obj: ../lib/env.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chsh_CFLAGS) $(CFLAGS) -MT chsh-env.obj -MD -MP -MF $(DEPDIR)/chsh-env.Tpo -c -o chsh-env.obj `if test -f '../lib/env.c'; then $(CYGPATH_W) '../lib/env.c'; else $(CYGPATH_W) '$(srcdir)/../lib/env.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/chsh-env.Tpo $(DEPDIR)/chsh-env.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/env.c' object='chsh-env.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 chsh-env.obj `if test -f '../lib/env.c'; then $(CYGPATH_W) '../lib/env.c'; else $(CYGPATH_W) '$(srcdir)/../lib/env.c'; fi`
+
+chsh-selinux_utils.o: selinux_utils.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chsh_CFLAGS) $(CFLAGS) -MT chsh-selinux_utils.o -MD -MP -MF $(DEPDIR)/chsh-selinux_utils.Tpo -c -o chsh-selinux_utils.o `test -f 'selinux_utils.c' || echo '$(srcdir)/'`selinux_utils.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/chsh-selinux_utils.Tpo $(DEPDIR)/chsh-selinux_utils.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='selinux_utils.c' object='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 chsh-selinux_utils.o `test -f 'selinux_utils.c' || echo '$(srcdir)/'`selinux_utils.c
+
+chsh-selinux_utils.obj: selinux_utils.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chsh_CFLAGS) $(CFLAGS) -MT chsh-selinux_utils.obj -MD -MP -MF $(DEPDIR)/chsh-selinux_utils.Tpo -c -o chsh-selinux_utils.obj `if test -f 'selinux_utils.c'; then $(CYGPATH_W) 'selinux_utils.c'; else $(CYGPATH_W) '$(srcdir)/selinux_utils.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/chsh-selinux_utils.Tpo $(DEPDIR)/chsh-selinux_utils.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='selinux_utils.c' object='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 chsh-selinux_utils.obj `if test -f 'selinux_utils.c'; then $(CYGPATH_W) 'selinux_utils.c'; else $(CYGPATH_W) '$(srcdir)/selinux_utils.c'; fi`
+
+islocal_test-islocal.o: islocal.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(islocal_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT islocal_test-islocal.o -MD -MP -MF $(DEPDIR)/islocal_test-islocal.Tpo -c -o islocal_test-islocal.o `test -f 'islocal.c' || echo '$(srcdir)/'`islocal.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/islocal_test-islocal.Tpo $(DEPDIR)/islocal_test-islocal.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='islocal.c' object='islocal_test-islocal.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(islocal_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o islocal_test-islocal.o `test -f 'islocal.c' || echo '$(srcdir)/'`islocal.c
+
+islocal_test-islocal.obj: islocal.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(islocal_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT islocal_test-islocal.obj -MD -MP -MF $(DEPDIR)/islocal_test-islocal.Tpo -c -o islocal_test-islocal.obj `if test -f 'islocal.c'; then $(CYGPATH_W) 'islocal.c'; else $(CYGPATH_W) '$(srcdir)/islocal.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/islocal_test-islocal.Tpo $(DEPDIR)/islocal_test-islocal.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='islocal.c' object='islocal_test-islocal.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(islocal_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o islocal_test-islocal.obj `if test -f 'islocal.c'; then $(CYGPATH_W) 'islocal.c'; else $(CYGPATH_W) '$(srcdir)/islocal.c'; fi`
+
+setproctitle.o: ../lib/setproctitle.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT setproctitle.o -MD -MP -MF $(DEPDIR)/setproctitle.Tpo -c -o setproctitle.o `test -f '../lib/setproctitle.c' || echo '$(srcdir)/'`../lib/setproctitle.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/setproctitle.Tpo $(DEPDIR)/setproctitle.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/setproctitle.c' object='setproctitle.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) $(AM_CFLAGS) $(CFLAGS) -c -o setproctitle.o `test -f '../lib/setproctitle.c' || echo '$(srcdir)/'`../lib/setproctitle.c
+
+setproctitle.obj: ../lib/setproctitle.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT setproctitle.obj -MD -MP -MF $(DEPDIR)/setproctitle.Tpo -c -o setproctitle.obj `if test -f '../lib/setproctitle.c'; then $(CYGPATH_W) '../lib/setproctitle.c'; else $(CYGPATH_W) '$(srcdir)/../lib/setproctitle.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/setproctitle.Tpo $(DEPDIR)/setproctitle.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/setproctitle.c' object='setproctitle.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) $(AM_CFLAGS) $(CFLAGS) -c -o setproctitle.obj `if test -f '../lib/setproctitle.c'; then $(CYGPATH_W) '../lib/setproctitle.c'; else $(CYGPATH_W) '$(srcdir)/../lib/setproctitle.c'; fi`
+
+newgrp-newgrp.o: newgrp.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(newgrp_CFLAGS) $(CFLAGS) -MT newgrp-newgrp.o -MD -MP -MF $(DEPDIR)/newgrp-newgrp.Tpo -c -o newgrp-newgrp.o `test -f 'newgrp.c' || echo '$(srcdir)/'`newgrp.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/newgrp-newgrp.Tpo $(DEPDIR)/newgrp-newgrp.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='newgrp.c' object='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 newgrp-newgrp.o `test -f 'newgrp.c' || echo '$(srcdir)/'`newgrp.c
+
+newgrp-newgrp.obj: newgrp.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(newgrp_CFLAGS) $(CFLAGS) -MT newgrp-newgrp.obj -MD -MP -MF $(DEPDIR)/newgrp-newgrp.Tpo -c -o newgrp-newgrp.obj `if test -f 'newgrp.c'; then $(CYGPATH_W) 'newgrp.c'; else $(CYGPATH_W) '$(srcdir)/newgrp.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/newgrp-newgrp.Tpo $(DEPDIR)/newgrp-newgrp.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='newgrp.c' object='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 newgrp-newgrp.obj `if test -f 'newgrp.c'; then $(CYGPATH_W) 'newgrp.c'; else $(CYGPATH_W) '$(srcdir)/newgrp.c'; fi`
+
+mostlyclean-libtool:
+       -rm -f *.lo
+
+clean-libtool:
+       -rm -rf .libs _libs
+install-man1: $(dist_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)'; 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)'; 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-man8: $(dist_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)'; 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)'; 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; }
+
+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:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       set x; \
+       here=`pwd`; \
+       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; }; }'`; \
+       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:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       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; }; }'`; \
+       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
+
+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
+       @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 $(PROGRAMS) $(MANS) $(DATA)
+installdirs:
+       for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(usrbin_execdir)" "$(DESTDIR)$(usrsbin_execdir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man8dir)"; do \
+         test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+       done
+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:
+
+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)
+
+maintainer-clean-generic:
+       @echo "This command is intended for maintainers to use"
+       @echo "it deletes files that may require special tools to rebuild."
+@BUILD_INIT_FALSE@@BUILD_LOGIN_UTILS_FALSE@@BUILD_WALL_FALSE@install-exec-hook:
+@BUILD_INIT_FALSE@@BUILD_LOGIN_UTILS_FALSE@@MAKEINSTALL_DO_CHOWN_FALSE@install-exec-hook:
+@BUILD_INIT_FALSE@@BUILD_LOGIN_UTILS_FALSE@@USE_TTY_GROUP_FALSE@install-exec-hook:
+@BUILD_INIT_FALSE@install-data-hook:
+clean: clean-am
+
+clean-am: clean-binPROGRAMS clean-generic clean-libtool \
+       clean-noinstPROGRAMS clean-sbinPROGRAMS \
+       clean-usrbin_execPROGRAMS clean-usrsbin_execPROGRAMS \
+       mostlyclean-am
+
+distclean: distclean-am
+       -rm -rf ./$(DEPDIR)
+       -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+       distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-man
+       @$(NORMAL_INSTALL)
+       $(MAKE) $(AM_MAKEFLAGS) install-data-hook
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-binPROGRAMS install-sbinPROGRAMS \
+       install-usrbin_execPROGRAMS install-usrsbin_execPROGRAMS
+       @$(NORMAL_INSTALL)
+       $(MAKE) $(AM_MAKEFLAGS) install-exec-hook
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man: install-man1 install-man8
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+       -rm -rf ./$(DEPDIR)
+       -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+       mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS uninstall-man \
+       uninstall-sbinPROGRAMS uninstall-usrbin_execPROGRAMS \
+       uninstall-usrsbin_execPROGRAMS
+
+uninstall-man: uninstall-man1 uninstall-man8
+
+.MAKE: install-am install-data-am install-exec-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
+       clean-generic clean-libtool clean-noinstPROGRAMS \
+       clean-sbinPROGRAMS clean-usrbin_execPROGRAMS \
+       clean-usrsbin_execPROGRAMS ctags distclean distclean-compile \
+       distclean-generic distclean-libtool distclean-tags distdir dvi \
+       dvi-am html html-am info info-am install install-am \
+       install-binPROGRAMS install-data install-data-am \
+       install-data-hook 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-man8 install-pdf install-pdf-am install-ps \
+       install-ps-am install-sbinPROGRAMS install-strip \
+       install-usrbin_execPROGRAMS install-usrsbin_execPROGRAMS \
+       installcheck installcheck-am installdirs maintainer-clean \
+       maintainer-clean-generic mostlyclean mostlyclean-compile \
+       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+       tags uninstall uninstall-am uninstall-binPROGRAMS \
+       uninstall-man uninstall-man1 uninstall-man8 \
+       uninstall-sbinPROGRAMS uninstall-usrbin_execPROGRAMS \
+       uninstall-usrsbin_execPROGRAMS
+
+
+$(ul_libblkid_la):
+       $(MAKE) -C $(ul_libblkid_builddir)
+
+$(ul_libuuid_la):
+       $(MAKE) -C $(ul_libuuid_builddir)
+
+@BUILD_LOGIN_UTILS_TRUE@install-exec-hook::
+@BUILD_LOGIN_UTILS_TRUE@       cd $(DESTDIR)$(usrsbin_execdir) && ln -sf vipw vigr
+
+@BUILD_WALL_TRUE@@MAKEINSTALL_DO_CHOWN_TRUE@@USE_TTY_GROUP_TRUE@install-exec-hook::
+@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_INIT_TRUE@install-exec-hook::
+@BUILD_INIT_TRUE@      cd $(DESTDIR)$(sbindir) && ln -sf shutdown reboot
+@BUILD_INIT_TRUE@      cd $(DESTDIR)$(sbindir) && ln -sf shutdown fastboot
+@BUILD_INIT_TRUE@      cd $(DESTDIR)$(sbindir) && ln -sf shutdown halt
+@BUILD_INIT_TRUE@      cd $(DESTDIR)$(sbindir) && ln -sf shutdown fasthalt
+@BUILD_INIT_TRUE@      cd $(DESTDIR)$(sbindir) && ln -sf initctl need
+@BUILD_INIT_TRUE@      cd $(DESTDIR)$(sbindir) && ln -sf initctl display-services
+@BUILD_INIT_TRUE@      cd $(DESTDIR)$(sbindir) && ln -sf initctl provide
+
+@BUILD_INIT_TRUE@install-data-hook:
+@BUILD_INIT_TRUE@      cd $(DESTDIR)$(mandir)/man8 && ln -sf initctl.8 need.8
+@BUILD_INIT_TRUE@      cd $(DESTDIR)$(mandir)/man8 && ln -sf initctl.8 display-services.8
+@BUILD_INIT_TRUE@      cd $(DESTDIR)$(mandir)/man8 && ln -sf initctl.8 provide.8
+
+# 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/login-utils/README.getty b/login-utils/README.getty
new file mode 100644 (file)
index 0000000..4e32faa
--- /dev/null
@@ -0,0 +1,26 @@
+@(#) README 1.8 9/1/91 23:32:37
+
+This is a SYSV/SunOS4 getty program with useful features for hardwired
+and dial-in tty lines.
+
+- The program adapts the tty modes to parity bits and to erase, kill
+end-of-line and upper-case characters when it reads a login name.
+
+- The baud rate can be established by BREAK character processing and by
+parsing the CONNECT status messages from Hayes-compatible modems.
+
+Other features: RTS/CTS flow control (SunOS4, suggested by John Harkin,
+<jh@moon.nbn.com>), alternate login program, does not use /etc/gettytab
+or /etc/gettydefs.
+
+The program works without modification under System V release 2 and
+SunOS 4.1/4.1.1. It probably also works with later System V releases.
+
+In the Makefile you will have to specify whether diagnostics should be
+reported through the syslog daemon; the alternative is that all error
+reports go directly to /dev/console.
+
+The command-line interface was cleaned up a bit; it is slightly
+incompatible with earlier agetty versions.
+
+               Wietse Venema (wietse@wzv.win.tue.nl)
diff --git a/login-utils/README.modems-with-agetty b/login-utils/README.modems-with-agetty
new file mode 100644 (file)
index 0000000..44a611e
--- /dev/null
@@ -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/login-utils/README.poeigl b/login-utils/README.poeigl
new file mode 100644 (file)
index 0000000..5d30ec5
--- /dev/null
@@ -0,0 +1,583 @@
+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.
+
+About installation: See the bottom of this file. Check the Makefile!
+Be sure you know what you are doing! You may well be able to lock
+yourself out from your machine. Especially: The init provided here
+(simpleinit) is NOT a SYSV compatible init and the inittab format
+is different.
+
+If you are uncertain whether you got the latest version, check out
+
+       ftp://ftp.daimi.aau.dk/pub/linux/poe/
+
+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 publically 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.
+
+who.c          A simple who(1) util. to list utmp. Done by me.
+               You may prefer the GNU who util. with more options
+               and features.
+
+hostname.c     A hostname(1) command to get and set the hostname. I did
+               this too.
+
+domainname.c   Like hostname, only reads out or sets the domainname.
+
+agetty.c       The getty program. From comp.sources.misc, by W.Z. Venema.
+               Hacked a bit by me.
+
+simpleinit.c   A simple init program, written by me. Uses /etc/inittab
+
+               A "kill -HUP" to init makes it re-read /etc/inittab.
+               A "kill -TSTP" to init makes it stop spawning gettys on the
+               ttys. A second "kill -TSTP" starts it again.
+               A kill -INT to init makes it attempt a reboot of the machine.
+               this works in connection with kernel support for softboot
+               when Ctrl-Alt-Del is pressed.
+
+               Init will start up in singleuser mode if /etc/singleboot
+               exists at boottime, or if it is given an argument of "single"
+               via eg. LILO. If /etc/securesingle exists it will ask for the
+               root password before starting single user.
+
+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.
+
+users          Another script that uses awk(1) and tr(1) to process the
+               output from who(1) into a one-liner.
+               If you don't have awk, but have Perl, this does the same:
+
+               who | perl -ane 'print "$F[0] "'; echo ""
+
+pathnames.h:
+               Header.
+
+param.h
+               Header, extended with getdtablesize() macro, should go
+               in /usr/include/sys
+
+Building.
+---------
+A "make all" should do. At least it does for me.
+
+Installation:
+-------------
+
+login          should go in /bin, if you don't like this change
+               pathnames.h and recompile at least agetty.
+
+getty, init    Put them in SBINDIR
+
+who, hostname, write, wall, mesg, users:
+               /usr/bin
+
+securetty      login needs this in /etc, defines which ttys that root
+               can login on. This should *never* include ttys{1,2}
+
+inittab                the simpleinit code needs this in /etc. Note that the syntax
+               of /etc/inittab has little to do with the syntax of a real
+               SysV inittab. Edit this one for your local setup.
+
+shells         The chsh program will use this if it's placed in /etc. It
+               defines the valid shell-programs. Have one abs. path on
+               each line.
+
+You can also do a "make install" as root, but don't just do it because I
+say so, check the Makefile first.
+
+"Make install" will install only the new binaries, and not motd, inittab,
+securetty and issue. To install these configuration files, do a 
+"make Install".
+
+Getty requires a /dev/console to write errors to. I just made it a symlink
+to /dev/tty1. Because of a bug in the tty driver this errorlogging may
+cause the shell on tty1 to logout.
+
+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/login-utils/agetty.8 b/login-utils/agetty.8
new file mode 100644 (file)
index 0000000..8761374
--- /dev/null
@@ -0,0 +1,309 @@
+.TH AGETTY 8 
+.SH NAME
+agetty \- alternative Linux getty
+
+.SH SYNOPSIS
+.BR "agetty " [\-8ihLmnUw]
+.RI "[-f " issue_file ]
+.RI "[-l " login_program ]
+.RI "[-I " init ]
+.RI "[-t " timeout ]
+.RI "[-H " login_host ]
+.I port
+.I baud_rate,...
+.RI [ term ]
+.br
+.BR "agetty " [\-8ihLmnw]
+.RI "[-f " issue_file ]
+.RI "[-l " login_program ]
+.RI "[-I " init ]
+.RI "[-t " timeout ]
+.RI "[-H " login_host ]
+.I baud_rate,...
+.I port
+.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
+Assume that the tty is 8-bit clean, hence disable parity detection.
+.TP
+\-h
+Enable hardware (RTS/CTS) flow control. It is left up to the
+application to disable software (XON/XOFF) flow protocol where
+appropriate.
+.TP
+\-i
+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
+\-f \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
+\-I \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 \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
+\-H \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
+\-m
+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 
+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
+\-t \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
+\-L
+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
+\-U
+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 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.
+.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 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.
+.TP
+l
+Insert the name of the current tty line.
+.TP
+m
+Insert the architecture identifier of the machine, eg. i486
+.TP
+n
+Insert the nodename of the machine, also known as the hostname.
+.TP
+o
+Insert the NIS domainname of the machine.
+.TP
+O
+Insert the DNS domainname of the machine.
+.TP
+r
+Insert the release number of the OS, eg. 1.1.9.
+.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-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/login-utils/agetty.c b/login-utils/agetty.c
new file mode 100644 (file)
index 0000000..90a64b3
--- /dev/null
@@ -0,0 +1,1283 @@
+/* agetty.c - another getty program for Linux. By W. Z. Venema 1989
+   Ported to Linux by Peter Orbaek <poe@daimi.aau.dk>
+   This program is freely distributable. The entire man-page used to
+   be here. Now read the real man-page agetty.8 instead.
+
+   -f option added by Eric Rasmussen <ear@usfirst.org> - 12/28/95
+   
+   1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+   - added Native Language Support
+
+   1999-05-05 Thorsten Kranzkowski <dl8bcu@gmx.net>
+   - enable hardware flow control before displaying /etc/issue
+   
+*/
+
+#include <stdio.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/ioctl.h>
+#include <termios.h>
+#include <signal.h>
+#include <errno.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 "xstrncpy.h"
+#include "nls.h"
+#include "pathnames.h"
+
+#ifdef __linux__
+#include <sys/param.h>
+#define USE_SYSLOG
+#endif
+
+ /* If USE_SYSLOG is undefined all diagnostics go directly 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.
+  */
+
+#ifdef LOGIN_PROCESS                   /* defined in System V utmp.h */
+#define        SYSV_STYLE                      /* select System V style getty */
+#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.
+  */
+
+#ifdef SYSV_STYLE
+#define        ISSUE "/etc/issue"              /* displayed before the login prompt */
+#include <sys/utsname.h>
+#endif
+
+#define LOGIN " login: "               /* login prompt */
+
+/* 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 this. */
+
+#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 */
+
+#ifndef MAXHOSTNAMELEN
+# ifdef HOST_NAME_MAX
+#  define MAXHOSTNAMELEN HOST_NAME_MAX
+# else
+#  define MAXHOSTNAMELEN 64
+# endif
+#endif
+
+ /*
+  * 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   *login;                     /* login program */
+    char   *tty;                       /* name of tty */
+    char   *initstring;                        /* modem init string */
+    char   *issue;                     /* alternative issue file */
+    int     numspeed;                  /* number of baud rates to try */
+    int     speeds[MAX_SPEED];         /* baud rates to be tried */
+    int     eightbits;                 /* assume 8bit-clean tty */
+};
+
+#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)          /* don't ask for login name! */
+#define F_LCUC         (1<<8)          /* Support for *LCUC stty modes */
+
+/* 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. */
+
+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;
+    int     code;
+};
+
+static 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 },
+};
+
+#define P_(s) s
+int main P_((int argc, char **argv));
+void parse_args P_((int argc, char **argv, struct options *op));
+void parse_speeds P_((struct options *op, char *arg));
+void update_utmp P_((char *line));
+void open_tty P_((char *tty, struct termios *tp, int local));
+void termio_init P_((struct termios *tp, int speed, struct options *op));
+void auto_baud P_((struct termios *tp));
+void do_prompt P_((struct options *op, struct termios *tp));
+void next_speed P_((struct termios *tp, struct options *op));
+char *get_logname P_((struct options *op, struct chardata *cp, struct termios *tp));
+void termio_final P_((struct options *op, struct termios *tp, struct chardata *cp));
+int caps_lock P_((char *s));
+int bcode P_((char *s));
+void usage P_((void));
+void error P_((const char *, ...));
+#undef P_
+
+/* The following is used for understandable diagnostics. */
+
+char *progname;
+
+/* Fake hostname for ut_host specified on command line. */
+char *fakehost = NULL;
+
+/* ... */
+#ifdef DEBUGGING
+#define debug(s) fprintf(dbf,s); fflush(dbf)
+FILE *dbf;
+#else
+#define debug(s) /* nothing */
+#endif
+
+int
+main(argc, argv)
+     int     argc;
+     char  **argv;
+{
+    char   *logname = NULL;            /* login name, given to /bin/login */
+    struct chardata chardata;          /* set by get_logname() */
+    struct termios termios;            /* terminal mode bits */
+    static struct options options = {
+       F_ISSUE,                        /* show /etc/issue (SYSV_STYLE) */
+       0,                              /* no timeout */
+       _PATH_LOGIN,                    /* default login program */
+       "tty1",                         /* default tty line */
+       "",                             /* modem init string */
+       ISSUE,                          /* default issue file */
+       0,                              /* no baud rates known yet */
+    };
+
+       setlocale(LC_ALL, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+    
+    /* The BSD-style init command passes us a useless process name. */
+
+#ifdef SYSV_STYLE
+       {
+              char *ptr;
+              progname = argv[0];
+              if ((ptr = strrchr(argv[0], '/')))
+                      progname = ++ptr;
+       }
+#else
+       progname = "agetty";
+#endif
+
+#ifdef DEBUGGING
+       dbf = fopen("/dev/ttyp0", "w");
+
+       {       int i;
+       
+               for(i = 1; i < argc; i++) {
+                       debug(argv[i]);
+               }
+       }
+#endif
+
+    /* Parse command-line arguments. */
+
+    parse_args(argc, argv, &options);
+
+#ifdef __linux__
+       setsid();
+#endif
+       
+    /* Update the utmp file. */
+
+#ifdef SYSV_STYLE
+    update_utmp(options.tty);
+#endif
+
+    debug("calling open_tty\n");
+    /* Open the tty as standard { input, output, error }. */
+    open_tty(options.tty, &termios, options.flags & F_LOCAL);
+
+    tcsetpgrp(0, getpid());
+    /* Initialize the termios settings (raw mode, eight-bit, blocking i/o). */
+    debug("calling termio_init\n");
+    termio_init(&termios, options.speeds[FIRST_SPEED], &options);
+
+    /* write the modem init string and DON'T flush the buffers */
+    if (options.flags & F_INITSTRING) {
+       debug("writing init string\n");
+       write(1, options.initstring, strlen(options.initstring));
+    }
+
+    if (!(options.flags & F_LOCAL)) {
+       /* go to blocking write mode unless -L is specified */
+       fcntl(1, F_SETFL, fcntl(1, F_GETFL, 0) & ~O_NONBLOCK);
+    }
+
+    /* Optionally detect the baud rate from the modem status message. */
+    debug("before autobaud\n");
+    if (options.flags & F_PARSE)
+       auto_baud(&termios);
+
+    /* Set the optional timer. */
+    if (options.timeout)
+       (void) alarm((unsigned) options.timeout);
+
+    /* optionally wait for CR or LF before writing /etc/issue */
+    if (options.flags & F_WAITCRLF) {
+       char ch;
+
+       debug("waiting for cr-lf\n");
+       while(read(0, &ch, 1) == 1) {
+           ch &= 0x7f;   /* strip "parity bit" */
+#ifdef DEBUGGING
+           fprintf(dbf, "read %c\n", ch);
+#endif
+           if (ch == '\n' || ch == '\r') break;
+       }
+    }
+
+    chardata = init_chardata;
+    if (!(options.flags & F_NOPROMPT)) {
+       /* Read the login name. */
+       debug("reading login name\n");
+       while ((logname = get_logname(&options, &chardata, &termios)) == 0)
+         next_speed(&termios, &options);
+    }
+
+    /* Disable timer. */
+
+    if (options.timeout)
+       (void) alarm(0);
+
+    /* Finalize the termios settings. */
+
+    termio_final(&options, &termios, &chardata);
+
+    /* Now the newline character should be properly written. */
+
+    (void) write(1, "\n", 1);
+
+    /* Let the login program take care of password validation. */
+
+    (void) execl(options.login, options.login, "--", logname, NULL);
+    error(_("%s: can't exec %s: %m"), options.tty, options.login);
+    exit(0);  /* quiet GCC */
+}
+
+/* parse-args - parse command-line arguments */
+
+void
+parse_args(argc, argv, op)
+     int     argc;
+     char  **argv;
+     struct options *op;
+{
+    extern char *optarg;               /* getopt */
+    extern int optind;                 /* getopt */
+    int     c;
+
+    while (isascii(c = getopt(argc, argv, "8I:LH:f:hil:mt:wUn"))) {
+       switch (c) {
+       case '8':
+           op->eightbits = 1;
+           break;
+       case 'I':
+           if (!(op->initstring = malloc(strlen(optarg)+1))) {
+               error(_("can't malloc initstring"));
+               break;
+           }
+           {
+               char ch, *p, *q;
+               int i;
+
+               /* copy optarg into op->initstring decoding \ddd
+                  octal codes into chars */
+               q = op->initstring;
+               p = optarg;
+               while (*p) {
+                   if (*p == '\\') {           /* know \\ means \ */
+                       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';
+           }
+           op->flags |= F_INITSTRING;
+           break;
+
+       case 'L':                               /* force local */
+           op->flags |= F_LOCAL;
+           break;
+       case 'H':                               /* fake login host */
+           fakehost = optarg;
+           break;
+       case 'f':                               /* custom issue file */
+           op->flags |= F_CUSTISSUE;
+           op->issue = optarg;
+           break;
+       case 'h':                               /* enable h/w flow control */
+           op->flags |= F_RTSCTS;
+           break;
+       case 'i':                               /* do not show /etc/issue */
+           op->flags &= ~F_ISSUE;
+           break;
+       case 'l':
+           op->login = optarg;                 /* non-default login program */
+           break;
+       case 'm':                               /* parse modem status message */
+           op->flags |= F_PARSE;
+           break;
+       case 'n':
+           op->flags |= F_NOPROMPT;
+           break;
+       case 't':                               /* time out */
+           if ((op->timeout = atoi(optarg)) <= 0)
+               error(_("bad timeout value: %s"), optarg);
+           break;
+       case 'w':
+           op->flags |= F_WAITCRLF;
+           break;
+       case 'U':
+           op->flags |= F_LCUC;
+           break;
+       default:
+           usage();
+       }
+    }
+       debug("after getopt loop\n");
+    if (argc < optind + 2)                     /* check parameter count */
+       usage();
+
+    /* we loosen up a bit and accept both "baudrate tty" and "tty baudrate" */
+    if('0' <= argv[optind][0] && argv[optind][0] <= '9') {
+       /* a number first, assume it's a speed (BSD style) */
+       parse_speeds(op, argv[optind++]);       /* baud rate(s) */
+       op->tty = argv[optind];                 /* tty name */
+    } else {
+       op->tty = argv[optind++];               /* tty name */
+       parse_speeds(op, argv[optind]);         /* baud rate(s) */
+    }
+
+    optind++;
+    if (argc > optind && argv[optind])
+       setenv ("TERM", argv[optind], 1);
+
+#ifdef DO_DEVFS_FIDDLING
+    /*
+     * some devfs junk, following Goswin Brederlow:
+     *   turn ttyS<n> into tts/<n>
+     *   turn tty<n> into vc/<n>
+     */
+    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);
+                   }
+           } 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);
+                   }
+           }
+    }
+#endif
+
+    debug("exiting parseargs\n");
+}
+
+/* parse_speeds - parse alternate baud rates */
+
+void
+parse_speeds(op, arg)
+     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)
+           error(_("bad speed: %s"), cp);
+       if (op->numspeed >= MAX_SPEED)
+           error(_("too many alternate speeds"));
+    }
+    debug("exiting parsespeeds\n");
+}
+
+#ifdef SYSV_STYLE
+
+/* update_utmp - update our utmp entry */
+void
+update_utmp(line)
+     char   *line;
+{
+    struct  utmp ut;
+    time_t  t;
+    int     mypid = getpid();
+    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 mypid in utmp. Earlier code here tested only
+       utp->ut_type != INIT_PROCESS, so maybe the >= here should be >.
+       The present code is taken from login.c, so if this is changed,
+       maybe login has to be changed as well. */
+    while ((utp = getutent()))
+           if (utp->ut_pid == mypid
+               && utp->ut_type >= INIT_PROCESS
+               && utp->ut_type <= DEAD_PROCESS)
+                   break;
+
+    if (utp) {
+       memcpy(&ut, utp, sizeof(ut));
+    } else {
+       /* some inits don't initialize utmp... */
+       memset(&ut, 0, sizeof(ut));
+       strncpy(ut.ut_id, line + 3, 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 = mypid;
+
+    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(ut_fd, &ut, sizeof(ut));
+               close(ut_fd);
+           }
+           flock(lf, LOCK_UN);
+           close(lf);
+       }
+#endif
+    }
+}
+
+#endif
+
+/* open_tty - set up tty as standard { input, output, error } */
+void
+open_tty(tty, tp, local)
+     char   *tty;
+     struct termios *tp;
+     int    local;
+{
+    /* Get rid of the present standard { output, error} if any. */
+
+    (void) close(1);
+    (void) close(2);
+    errno = 0;                                 /* ignore above errors */
+
+    /* Set up new standard input, unless we are given an already opened port. */
+
+    if (strcmp(tty, "-")) {
+       struct stat st;
+
+       /* Sanity checks... */
+
+       if (chdir("/dev"))
+           error(_("/dev: chdir() failed: %m"));
+       if (stat(tty, &st) < 0)
+           error("/dev/%s: %m", tty);
+       if ((st.st_mode & S_IFMT) != S_IFCHR)
+           error(_("/dev/%s: not a character device"), tty);
+
+       /* Open the tty as standard input. */
+
+       (void) close(0);
+       errno = 0;                              /* ignore close(2) errors */
+
+       debug("open(2)\n");
+       if (open(tty, O_RDWR|O_NONBLOCK, 0) != 0)
+           error(_("/dev/%s: cannot open as standard input: %m"), tty);
+
+    } else {
+
+       /*
+        * Standard input should already be connected to an open port. Make
+        * sure it is open for read/write.
+        */
+
+       if ((fcntl(0, F_GETFL, 0) & O_RDWR) != O_RDWR)
+           error(_("%s: not open for read/write"), tty);
+    }
+
+    /* Set up standard output and standard error file descriptors. */
+    debug("duping\n");
+    if (dup(0) != 1 || dup(0) != 2)            /* set up stdout and stderr */
+       error(_("%s: dup problem: %m"), tty);   /* we have a problem */
+
+    /*
+     * 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.
+     */
+
+    if (tcgetattr(0, tp) < 0)
+       error("%s: tcgetattr: %m", tty);
+
+    /*
+     * It seems to be a terminal. Set proper protections and ownership. Mode
+     * 0622 is suitable for SYSV <4 because /bin/login does not change
+     * protections. SunOS 4 login will change the protections to 0620 (write
+     * access for group tty) after the login has succeeded.
+     */
+
+    /*
+     * Let us use 0600 for Linux for the period between getty and login
+     */
+
+    (void) chown(tty, 0, 0);                   /* root, sys */
+    (void) chmod(tty, 0600);                   /* 0622: crw--w--w- */
+    errno = 0;                                 /* ignore above errors */
+}
+
+/* termio_init - initialize termios settings */
+
+char gbuf[1024];
+char area[1024];
+
+void
+termio_init(tp, speed, op)
+     struct termios *tp;
+     int     speed;
+     struct options *op;
+{
+
+    /*
+     * 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
+     * lateron.
+     */
+    /* flush input and output queues, important for modems! */
+    (void) tcflush(0, TCIOFLUSH);
+
+    tp->c_cflag = CS8 | HUPCL | CREAD;
+    cfsetispeed(tp, speed);
+    cfsetospeed(tp, speed);
+    if (op->flags & F_LOCAL) {
+       tp->c_cflag |= CLOCAL;
+    }
+
+    tp->c_iflag = tp->c_lflag = tp->c_oflag = 0;
+#ifdef HAVE_STRUCT_TERMIOS_C_LINE
+    tp->c_line = 0;
+#endif
+    tp->c_cc[VMIN] = 1;
+    tp->c_cc[VTIME] = 0;
+
+    /* Optionally enable hardware flow control */
+
+#ifdef CRTSCTS
+    if (op->flags & F_RTSCTS)
+       tp->c_cflag |= CRTSCTS;
+#endif
+
+    (void) tcsetattr(0, TCSANOW, tp);
+
+    /* go to blocking input even in local mode */
+    fcntl(0, F_SETFL, fcntl(0, F_GETFL, 0) & ~O_NONBLOCK);
+
+    debug("term_io 2\n");
+}
+
+/* auto_baud - extract baud rate from modem status message */
+void
+auto_baud(tp)
+     struct termios *tp;
+{
+    int     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 lateron.
+     */
+
+    iflag = tp->c_iflag;
+    tp->c_iflag |= ISTRIP;                     /* enable 8th-bit stripping */
+    vmin = tp->c_cc[VMIN];
+    tp->c_cc[VMIN] = 0;                                /* don't block if queue empty */
+    tcsetattr(0, 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.
+     */
+
+    (void) sleep(1);
+    if ((nread = read(0, 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 lateron. */
+
+    tp->c_iflag = iflag;
+    tp->c_cc[VMIN] = vmin;
+    (void) tcsetattr(0, TCSANOW, tp);
+}
+
+/* do_prompt - show login prompt, optionally preceded by /etc/issue contents */
+void
+do_prompt(op, tp)
+     struct options *op;
+     struct termios *tp;
+{
+#ifdef ISSUE
+    FILE    *fd;
+    int     oflag;
+    int     c;
+    struct utsname uts;
+
+    (void) uname(&uts);
+#endif
+
+    (void) write(1, "\r\n", 2);                        /* start a new line */
+#ifdef ISSUE                                   /* optional: show /etc/issue */
+    if ((op->flags & F_ISSUE) && (fd = fopen(op->issue, "r"))) {
+       oflag = tp->c_oflag;                    /* save current setting */
+       tp->c_oflag |= (ONLCR | OPOST);         /* map NL in output to CR-NL */
+       (void) tcsetattr(0, TCSADRAIN, tp);
+
+
+       while ((c = getc(fd)) != EOF)
+       {
+           if (c == '\\')
+             {
+               c = getc(fd);
+               
+               switch (c)
+                 {
+                 case 's':
+                   (void) printf ("%s", uts.sysname);
+                   break;
+                   
+                 case 'n':
+                   (void) printf ("%s", uts.nodename);
+                   break;
+                   
+                 case 'r':
+                   (void) printf ("%s", uts.release);
+                   break;
+                   
+                 case 'v':
+                   (void) printf ("%s", uts.version);
+                   break;
+                   
+                 case 'm':
+                   (void) 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':
+                   {
+                     /* TODO: use nl_langinfo() */
+                     char *weekday[] = { "Sun", "Mon", "Tue", "Wed", "Thu",
+                                         "Fri", "Sat" };
+                     char *month[] = { "Jan", "Feb", "Mar", "Apr", "May",
+                                       "Jun", "Jul", "Aug", "Sep", "Oct",
+                                       "Nov", "Dec" };
+                     time_t now;
+                     struct tm *tm;
+
+                     (void) time (&now);
+                     tm = localtime(&now);
+
+                     if (c == 'd')
+                       (void) printf ("%s %s %d  %d",
+                               weekday[tm->tm_wday], month[tm->tm_mon],
+                               tm->tm_mday, 
+                               tm->tm_year < 70 ? tm->tm_year + 2000 :
+                               tm->tm_year + 1900);
+                     else
+                       (void) printf ("%02d:%02d:%02d",
+                               tm->tm_hour, tm->tm_min, tm->tm_sec);
+                     
+                     break;
+                   }
+
+                 case 'l':
+                     (void) printf ("%s", op->tty);
+                     break;
+
+                 case 'b':
+                   {
+                       int i;
+
+                       for (i = 0; speedtab[i].speed; i++) {
+                           if (speedtab[i].code == cfgetispeed(tp)) {
+                               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:
+                   (void) putchar(c);
+                 }
+             }
+           else
+             (void) putchar(c);
+       }
+       fflush(stdout);
+
+       tp->c_oflag = oflag;                    /* restore settings */
+       (void) tcsetattr(0, TCSADRAIN, tp);     /* wait till output is gone */
+       (void) fclose(fd);
+    }
+#endif
+    {
+       char hn[MAXHOSTNAMELEN+1];
+       if (gethostname(hn, sizeof(hn)) == 0)
+           write(1, hn, strlen(hn));
+    }
+    (void) write(1, LOGIN, sizeof(LOGIN) - 1); /* always show login prompt */
+}
+
+/* next_speed - select next baud rate */
+void
+next_speed(tp, op)
+     struct termios *tp;
+     struct options *op;
+{
+    static int baud_index = FIRST_SPEED;/* current speed index */
+
+    baud_index = (baud_index + 1) % op->numspeed;
+    cfsetispeed(tp, op->speeds[baud_index]);
+    cfsetospeed(tp, op->speeds[baud_index]);
+    (void) tcsetattr(0, TCSANOW, tp);
+}
+
+/* get_logname - get user name, establish parity, speed, erase, kill, eol */
+
+char   *get_logname(op, cp, tp)
+     struct options *op;
+     struct chardata *cp;
+     struct termios *tp;
+{
+    static char logname[BUFSIZ];
+    char   *bp;
+    char    c;                         /* input character, full eight bits */
+    char    ascval;                    /* low 7 bits of input character */
+    int     bits;                      /* # of "1" bits per character */
+    int     mask;                      /* mask with 1 bit up */
+    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 (esp. after parsing or switching the baud rate). */
+
+    (void) sleep(1);
+    (void) tcflush(0, TCIFLUSH);
+
+    /* Prompt for and read a login name. */
+
+    for (*logname = 0; *logname == 0; /* void */ ) {
+
+       /* Write issue file and prompt, with "parity" bit == 0. */
+
+       do_prompt(op, tp);
+
+       /* Read name, watch for break, parity, erase, kill, end-of-line. */
+
+       for (bp = logname, cp->eol = 0; cp->eol == 0; /* void */ ) {
+
+           /* Do not report trivial EINTR/EIO errors. */
+
+           if (read(0, &c, 1) < 1) {
+               if (errno == EINTR || errno == EIO)
+                   exit(0);
+               error(_("%s: read: %m"), op->tty);
+           }
+           /* Do BREAK handling elsewhere. */
+
+           if ((c == 0) && op->numspeed > 1)
+               return (0);
+           /* Do parity bit handling. */
+
+           if (op->eightbits) {
+               ascval = c;
+           } else if (c != (ascval = (c & 0177))) {    /* "parity" bit on */
+               for (bits = 1, mask = 1; mask & 0177; mask <<= 1)
+                   if (mask & ascval)
+                       bits++;                 /* count "1" bits */
+               cp->parity |= ((bits & 1) ? 1 : 2);
+           }
+           /* Do erase, kill and end-of-line processing. */
+
+           switch (ascval) {
+           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) {
+                   (void) write(1, erase[cp->parity], 3);
+                   bp--;
+               }
+               break;
+           case CTL('U'):
+           case '@':
+               cp->kill = ascval;              /* set kill character */
+               while (bp > logname) {
+                   (void) write(1, erase[cp->parity], 3);
+                   bp--;
+               }
+               break;
+           case CTL('D'):
+               exit(0);
+           default:
+               if (!isascii(ascval) || !isprint(ascval)) {
+                    /* ignore garbage characters */ ;
+               } else if (bp - logname >= sizeof(logname) - 1) {
+                   error(_("%s: input overrun"), op->tty);
+               } else {
+                   (void) write(1, &c, 1);     /* echo the character */
+                   *bp++ = ascval;             /* and store it */
+               }
+               break;
+           }
+       }
+    }
+    /* Handle names with upper case and no lower case. */
+    if ((op->flags & F_LCUC) && (cp->capslock = caps_lock(logname))) {
+       for (bp = logname; *bp; bp++)
+           if (isupper(*bp))
+               *bp = tolower(*bp);             /* map name to lower case */
+    }
+    return (logname);
+}
+
+/* termio_final - set the final tty mode bits */
+void
+termio_final(op, tp, cp)
+     struct options *op;
+     struct termios *tp;
+     struct chardata *cp;
+{
+    /* General terminal-independent stuff. */
+
+    tp->c_iflag |= IXON | IXOFF;               /* 2-way flow control */
+    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;                        /* default interrupt */
+    tp->c_cc[VQUIT] = DEF_QUIT;                        /* default quit */
+    tp->c_cc[VEOF] = DEF_EOF;                  /* default EOF character */
+    tp->c_cc[VEOL] = DEF_EOL;
+#ifdef __linux__
+    tp->c_cc[VSWTC] = DEF_SWITCH;              /* default switch character */
+#elif defined(VSWTCH)
+    tp->c_cc[VSWTCH] = DEF_SWITCH;             /* default switch character */
+#endif
+
+    /* Account for special characters seen in input. */
+
+    if (cp->eol == CR) {
+       tp->c_iflag |= ICRNL;                   /* map CR in input to NL */
+       tp->c_oflag |= ONLCR;                   /* map NL in output to CR-NL */
+    }
+    tp->c_cc[VERASE] = cp->erase;              /* set erase character */
+    tp->c_cc[VKILL] = cp->kill;                        /* set kill character */
+
+    /* 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;
+       /* FALLTHROUGH */
+    case 2:                                    /* even parity */
+       tp->c_cflag |= PARENB;
+       tp->c_iflag |= INPCK | ISTRIP;
+       /* FALLTHROUGH */
+    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(0, TCSANOW, tp) < 0)
+       error("%s: tcsetattr: TCSANOW: %m", op->tty);
+}
+
+/* caps_lock - string contains upper case without lower case */
+int
+caps_lock(s)
+     char   *s;
+{
+    int     capslock;
+
+    for (capslock = 0; *s; s++) {
+       if (islower(*s))
+           return (0);
+       if (capslock == 0)
+           capslock = isupper(*s);
+    }
+    return (capslock);
+}
+
+/* bcode - convert speed string to speed code; return 0 on failure */
+int
+bcode(s)
+     char   *s;
+{
+    struct Speedtab *sp;
+    long    speed = atol(s);
+
+    for (sp = speedtab; sp->speed; sp++)
+       if (sp->speed == speed)
+           return (sp->code);
+    return (0);
+}
+
+/* usage - explain */
+
+void
+usage()
+{
+    fprintf(stderr, _("Usage: %s [-8hiLmUw] [-l login_program] [-t timeout] [-I initstring] [-H login_host] baud_rate,... line [termtype]\nor\t[-hiLmw] [-l login_program] [-t timeout] [-I initstring] [-H login_host] line baud_rate,... [termtype]\n"), progname);
+    exit(1);
+}
+
+/* error - report errors to console or syslog; only understands %s and %m */
+
+#define        str2cpy(b,s1,s2)        strcat(strcpy(b,s1),s2)
+
+void
+error(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
+    (void) str2cpy(buf, progname, ": ");
+    bp = buf + strlen(buf);
+#endif
+
+    /*
+     * %s expansion is done by hand. On a System V Release 2 system without
+     * shared libraries and without syslog(3), linking with the the stdio
+     * library would make the program three times as big...
+     *
+     * %m expansion is done here as well. Too bad syslog(3) does not have a
+     * vsprintf() like interface.
+     */
+
+    va_start(ap, fmt);
+    while (*fmt && bp < &buf[BUFSIZ-1]) {
+       if (strncmp(fmt, "%s", 2) == 0) {
+           xstrncpy(bp, va_arg(ap, char *), &buf[BUFSIZ-1] - bp);
+           bp += strlen(bp);
+           fmt += 2;
+       } else if (strncmp(fmt, "%m", 2) == 0) {
+           xstrncpy(bp, strerror(errno), &buf[BUFSIZ-1] - bp);
+           bp += strlen(bp);
+           fmt += 2;
+       } else {
+           *bp++ = *fmt++;
+       }
+    }
+    *bp = 0;
+    va_end(ap);
+
+    /*
+     * Write the diagnostic directly to /dev/console if we do not use the
+     * syslog(3) facility.
+     */
+
+#ifdef USE_SYSLOG
+    (void) openlog(progname, LOG_PID, LOG_AUTHPRIV);
+    (void) syslog(LOG_ERR, "%s", buf);
+    closelog();
+#else
+    /* Terminate with CR-LF since the console mode is unknown. */
+    (void) strcat(bp, "\r\n");
+    if ((fd = open("/dev/console", 1)) >= 0) {
+       (void) write(fd, buf, strlen(buf));
+       (void) close(fd);
+    }
+#endif
+    (void) sleep((unsigned) 10);               /* be kind to init(8) */
+    exit(1);
+}
diff --git a/login-utils/checktty.c b/login-utils/checktty.c
new file mode 100644 (file)
index 0000000..c28ee83
--- /dev/null
@@ -0,0 +1,573 @@
+/* checktty.c - linked into login, checks user against /etc/usertty
+   Created 25-Aug-95 by Peter Orbaek <poe@daimi.aau.dk>
+   Fixed by JDS June 1996 to clear lists and close files
+
+   1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+   - added Native Language Support
+
+*/
+
+#include <sys/types.h>
+#include <sys/param.h>
+
+#include <pwd.h>
+#include <grp.h>
+#include <string.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <time.h>
+#include <sys/stat.h>
+#include <malloc.h>
+#include <netdb.h>
+#include <sys/syslog.h>
+#include <ctype.h>
+#include "nls.h"
+
+#include <sys/sysmacros.h>
+#ifdef HAVE_LINUX_MAJOR_H
+#include <linux/major.h>
+#endif
+
+#include "pathnames.h"
+#include "login.h"
+#include "xstrncpy.h"
+
+#ifndef TTY_MAJOR
+#define TTY_MAJOR 4
+#endif
+
+static gid_t mygroups[NGROUPS];
+static int   num_groups;
+
+#define NAMELEN 128
+
+/* linked list of names */
+struct grplist {
+    struct grplist *next;
+    char name[NAMELEN];
+};
+        
+enum State { StateUsers, StateGroups, StateClasses };
+
+#define CLASSNAMELEN 32
+
+struct ttyclass {
+    struct grplist *first;
+    struct ttyclass *next;
+    char classname[CLASSNAMELEN];
+};
+
+struct ttyclass *ttyclasses = NULL;
+
+static int
+am_in_group(char *group)
+{
+       struct group *g;
+       gid_t *ge;
+       
+       g = getgrnam(group);
+       if (g) {
+               for (ge = mygroups; ge < mygroups + num_groups; ge++) {
+                       if (g->gr_gid== *ge) return 1;
+               }
+       }
+       return 0;
+}
+
+static void
+find_groups(gid_t defgrp, const char *user)
+{
+       num_groups = getgroups(NGROUPS, mygroups);
+}
+
+static struct ttyclass *
+new_class(char *class)
+{
+    struct ttyclass *tc;
+
+    tc = (struct ttyclass *)malloc(sizeof(struct ttyclass));
+    if (tc == NULL) {
+       printf(_("login: memory low, login may fail\n"));
+       syslog(LOG_WARNING, _("can't malloc for ttyclass"));
+       return NULL;
+    }
+
+    tc->next = ttyclasses;
+    tc->first = NULL;
+    xstrncpy(tc->classname, class, CLASSNAMELEN);
+    ttyclasses = tc;
+    return tc;
+}
+
+static void
+add_to_class(struct ttyclass *tc, char *tty)
+{
+    struct grplist *ge;
+
+    if (tc == NULL) return;
+
+    ge = (struct grplist *)malloc(sizeof(struct grplist));
+    if (ge == NULL) {
+       printf(_("login: memory low, login may fail\n"));
+       syslog(LOG_WARNING, _("can't malloc for grplist"));
+       return;
+    }
+
+    ge->next = tc->first;
+    xstrncpy(ge->name, tty, NAMELEN);
+    tc->first = ge;
+}
+
+
+/* return true if tty is a pty. Very linux dependent */
+static int
+isapty(const char *tty)
+{
+#ifdef __linux__
+    char devname[100];
+    struct stat stb;
+
+    /* avoid snprintf - old systems do not have it */
+    if (strlen(tty) + 6 > sizeof(devname))
+           return 0;
+    sprintf(devname, "/dev/%s", tty);
+
+    if((stat(devname, &stb) >= 0) && S_ISCHR(stb.st_mode)) {
+           int majordev = major(stb.st_rdev);
+
+           /* this is for linux versions before 1.3: use major 4 */
+           if(majordev == TTY_MAJOR && minor(stb.st_rdev) >= 192)
+                   return 1;
+
+#if defined(PTY_SLAVE_MAJOR)
+           /* this is for linux 1.3 and newer: use major 3 */
+           if(majordev == PTY_SLAVE_MAJOR)
+                   return 1;
+#endif
+
+#if defined(UNIX98_PTY_SLAVE_MAJOR) && defined(UNIX98_PTY_MAJOR_COUNT)
+           /* this is for linux 2.1.116 and newer: use majors 136-143 */
+           if(majordev >= UNIX98_PTY_SLAVE_MAJOR &&
+              majordev < UNIX98_PTY_SLAVE_MAJOR + UNIX98_PTY_MAJOR_COUNT)
+                   return 1;
+#endif
+
+    }
+#endif /* __linux__ */
+    return 0;
+}
+
+
+/* IPv4 -- pattern is x.x.x.x/y.y.y.y (net/mask)*/
+static int
+hnmatch_ip4(const char *pat)
+{
+       int x1, x2, x3, x4, y1, y2, y3, y4;
+       unsigned long p, mask, a;
+       unsigned char *ha;
+
+       /* pattern is an IP QUAD address and a mask x.x.x.x/y.y.y.y */
+       if (sscanf(pat, "%d.%d.%d.%d/%d.%d.%d.%d",
+                       &x1, &x2, &x3, &x4, &y1, &y2, &y3, &y4) < 8)
+               return 0;
+
+       p = (((unsigned long)x1<<24)+((unsigned long)x2<<16)
+            +((unsigned long)x3<<8)+((unsigned long)x4));
+       mask = (((unsigned long)y1<<24)+((unsigned long)y2<<16)
+               +((unsigned long)y3<<8)+((unsigned long)y4));
+
+       if (hostaddress[0] == 0)
+               return 0;
+
+       ha = (unsigned char *)hostaddress;
+       a = (((unsigned long)ha[0]<<24)+((unsigned long)ha[1]<<16)
+            +((unsigned long)ha[2]<<8)+((unsigned long)ha[3]));
+       return ((p & mask) == (a & mask));
+}
+
+/* IPv6 -- pattern is [hex:hex:....]/number ([net]/mask) */
+static int
+hnmatch_ip6(const char *pat)
+{
+       char *patnet;
+       char *patmask;
+       struct in6_addr addr;
+       struct addrinfo hints, *res;
+       struct sockaddr_in6 net;
+       int mask_len, i = 0;
+       char *p;
+
+       if (pat == NULL || *pat != '[')
+               return 0;
+
+       memcpy(&addr, hostaddress, sizeof(addr));
+
+       memset(&hints, 0, sizeof(hints));
+       hints.ai_family = AF_INET6;
+       hints.ai_socktype = SOCK_STREAM;
+       hints.ai_flags = AI_PASSIVE | AI_NUMERICHOST;
+
+       patnet = strdup(pat);
+
+       /* match IPv6 address against [netnumber]/prefixlen */
+       if (!(p = strchr(patnet, ']')))
+               goto mismatch;
+
+       *p++ = '\0';
+
+       if (! (*p == '/' && isdigit((unsigned char) *(p + 1))))
+               goto mismatch;
+
+       patmask = p + 1;
+
+       /* prepare net address */
+       if (getaddrinfo(patnet + 1, NULL, &hints, &res) != 0)
+               goto mismatch;
+
+       memcpy(&net, res->ai_addr, sizeof(net));
+       freeaddrinfo(res);
+
+       /* convert mask to number */
+       if ((mask_len = atoi(patmask)) < 0 || mask_len > 128)
+               goto mismatch;
+
+       /* compare */
+       while (mask_len > 0) {
+               if (mask_len < 32) {
+                       u_int32_t mask = htonl(~(0xffffffff >> mask_len));
+
+                       if ((*(u_int32_t *)&addr.s6_addr[i] & mask) !=
+                           (*(u_int32_t *)&net.sin6_addr.s6_addr[i] & mask))
+                               goto mismatch;
+                       break;
+               }
+               if (*(u_int32_t *)&addr.s6_addr[i] !=
+                   *(u_int32_t *)&net.sin6_addr.s6_addr[i])
+                       goto mismatch;
+               i += 4;
+               mask_len -= 32;
+       }
+
+       free(patnet);
+       return 1;
+
+mismatch:
+       free(patnet);
+       return 0;
+}
+
+/* match the hostname hn against the pattern pat */
+static int
+hnmatch(const char *hn, const char *pat)
+{
+
+       if ((hn == NULL) && (strcmp(pat, "localhost") == 0))
+               return 1;
+       if ((hn == NULL) || *hn == '\0')
+               return 0;
+
+       if (*pat >= '0' && *pat <= '9')
+               return hostfamily == AF_INET ? hnmatch_ip4(pat) : 0;
+       else if (*pat == '[')
+               return hostfamily == AF_INET6 ? hnmatch_ip6(pat) : 0;
+       else {
+               /* pattern is a suffix of a FQDN */
+               int     n = strlen(pat),
+                       m = strlen(hn);
+
+               if (n > m)
+                       return 0;
+               return (strcasecmp(pat, hn + m - n) == 0);
+       }
+}
+
+#ifdef MAIN_TEST_CHECKTTY
+
+char   hostaddress[16];
+sa_family_t hostfamily;
+char   *hostname;
+void   sleepexit(int eval) {}          /* dummy for this test */
+void   badlogin(const char *s) {}      /* dummy for this test */
+
+int
+main(int argc, char **argv)
+{
+       struct addrinfo hints, *info = NULL;
+       struct addrexp {
+               const char *range;
+               const char *ip;
+       } alist[] = {
+               { "130.225.16.0/255.255.254.0", "130.225.16.1" },
+               { "130.225.16.0/255.255.254.0", "10.20.30.1" },
+               { "130.225.0.0/255.254.0.0",    "130.225.16.1" },
+               { "130.225.0.0/255.254.0.0",    "130.225.17.1" },
+               { "130.225.0.0/255.254.0.0",    "150.160.170.180" },
+               { "[3ffe:505:2:1::]/64",        "3ffe:505:2:1::" },
+               { "[3ffe:505:2:1::]/64",        "3ffe:505:2:2::" },
+               { "[3ffe:505:2:1::]/64",        "3ffe:505:2:1:ffff:ffff::" },
+               { NULL, NULL }
+       }, *item;
+
+       memset(&hints, 0, sizeof(hints));
+       hints.ai_family = AF_UNSPEC;
+       hints.ai_flags = AI_NUMERICHOST |  AI_PASSIVE | AI_ADDRCONFIG;
+       hints.ai_socktype = SOCK_STREAM;
+
+       for (item = alist; item->range; item++) {
+
+               printf("hnmatch() on %-30s <-- %-15s: ", item->range, item->ip);
+
+               if (getaddrinfo(item->ip, NULL, &hints, &info)==0 && info) {
+                       if (info->ai_family == AF_INET) {
+                           struct sockaddr_in *sa =
+                                       (struct sockaddr_in *) info->ai_addr;
+                           memcpy(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(hostaddress, &(sa->sin6_addr),
+                                       sizeof(sa->sin6_addr));
+                       }
+                       hostfamily = info->ai_family;
+                       freeaddrinfo(info);
+                       printf("%s\n", hnmatch("dummy", item->range) ?
+                                               "match" : "mismatch");
+               }
+               else
+                       printf("getaddrinfo() failed\n");
+
+       }
+       return 0;
+}
+#endif /* MAIN_TEST_CHECKTTY */
+
+static char *wdays[] = { "sun", "mon", "tue", "wed", "thu", "fri", "sat" };
+
+/* example timespecs:
+
+   mon:tue:wed:8-17
+
+   meaning monday, tuesday or wednesday between 8:00 and 17:59
+
+   4:5:13:fri
+
+   meaning fridays from 4:00 to 5:59 and from 13:00 to 13:59
+*/
+static int
+timeok(struct tm *t, char *spec)
+{
+    char *p, *q;
+    int dayok = 0;
+    int hourok = 0;
+    int h, h2;
+    char *sp;
+
+    sp = spec;
+    while ((p = strsep(&sp, ":"))) {
+       if (*p >= '0' && *p <= '9') {
+           h = atoi(p);
+           if (h == t->tm_hour) hourok = 1;
+           if ((q = strchr(p, '-')) && (q[1] >= '0' && q[1] <= '9')) {
+               h2 = atoi(q+1);
+               if (h <= t->tm_hour && t->tm_hour <= h2) hourok = 1;
+           }
+       } else if (strcasecmp(wdays[t->tm_wday], p) == 0) {
+           dayok = 1;
+       }
+    }
+
+    return (dayok && hourok);
+}
+
+/* return true if tty equals class or is in the class defined by class.
+   Also return true if hostname matches the hostname pattern, class
+   or a pattern in the class named by class. */
+static int
+in_class(const char *tty, char *class)
+{
+    struct ttyclass *tc;
+    struct grplist *ge;
+    time_t t;
+    char *p;
+    char timespec[256];
+    struct tm *tm;
+    char *n;
+
+    time(&t);
+    tm = localtime(&t);
+
+    if (class[0] == '[') {
+       if ((p = strchr(class, ']'))) {
+           *p = 0;
+           xstrncpy(timespec, class+1, sizeof(timespec));
+           *p = ']';
+           if(!timeok(tm, timespec)) return 0;
+           class = p+1;
+       }
+       /* really ought to warn about syntax error */
+    }
+
+    if (strcmp(tty, class) == 0) return 1;
+
+    if ((class[0] == '@') && isapty(tty)
+       && hnmatch(hostname, class+1)) return 1;
+
+    for (tc = ttyclasses; tc; tc = tc->next) {
+       if (strcmp(tc->classname, class) == 0) {
+           for (ge = tc->first; ge; ge = ge->next) {
+
+               n = ge->name;
+               if (n[0] == '[') {
+                   if ((p = strchr(n, ']'))) {
+                       *p = 0;
+                       xstrncpy(timespec, n+1, sizeof(timespec));
+                       *p = ']';
+                       if(!timeok(tm, timespec)) continue;
+                       n = p+1;
+                   }
+                   /* really ought to warn about syntax error */
+               }
+
+               if (strcmp(n, tty) == 0) return 1;
+
+               if ((n[0] == '@') && isapty(tty)
+                   && hnmatch(hostname, n+1)) return 1;
+           }
+           return 0;
+       }
+    }
+    return 0;
+}
+
+/* start JDS - SBA */
+static void 
+free_group(struct grplist *ge)
+{
+    if (ge) {
+       memset(ge->name, 0, NAMELEN);
+       free_group(ge->next);
+       free(ge->next);
+       ge->next = NULL;
+    }
+}
+
+static void 
+free_class(struct ttyclass *tc)
+{
+    if (tc) {
+       memset(tc->classname, 0, CLASSNAMELEN);
+       free_group(tc->first);
+       tc->first = NULL;
+       free_class(tc->next);
+       free(tc->next);
+       tc->next = NULL;
+    }
+}
+
+static void 
+free_all(void)
+{
+    free_class(ttyclasses);
+    ttyclasses = NULL;
+}
+/* end JDS - SBA */
+
+void
+checktty(const char *user, const char *tty, struct passwd *pwd)
+{
+    FILE *f;
+    char buf[256], defaultbuf[256];
+    char *ptr;
+    enum State state = StateUsers;
+    int found_match = 0;
+
+    /* no /etc/usertty, default to allow access */
+    if (!(f = fopen(_PATH_USERTTY, "r"))) return;
+
+    if (pwd == NULL) {
+       fclose(f);
+       return;  /* misspelled username handled elsewhere */
+    }
+
+    find_groups(pwd->pw_gid, user);
+
+    defaultbuf[0] = 0;
+    while(fgets(buf, 255, f)) {
+
+       /* strip comments */
+       for(ptr = buf; ptr < buf + 256; ptr++) 
+         if(*ptr == '#') *ptr = 0;
+
+       if (buf[0] == '*') {
+           xstrncpy(defaultbuf, buf, 256);
+           continue;
+       }
+
+       if (strncmp("GROUPS", buf, 6) == 0) {
+           state = StateGroups;
+           continue;
+       } else if (strncmp("USERS", buf, 5) == 0) {
+           state = StateUsers;
+           continue;
+       } else if (strncmp("CLASSES", buf, 7) == 0) {
+           state = StateClasses;
+           continue;
+       }
+
+       strtok(buf, " \t");
+       if((state == StateUsers && (strncmp(user, buf, 8) == 0))
+          || (state == StateGroups && am_in_group(buf))) {
+           found_match = 1;  /* we found a line matching the user */
+           while((ptr = strtok(NULL, "\t\n "))) {
+               if (in_class(tty, ptr)) {
+                   fclose(f);
+                   free_all(); /* JDS */
+                   return;
+               }
+           }
+       } else if (state == StateClasses) {
+           /* define a new tty/host class */
+           struct ttyclass *tc = new_class(buf);
+
+           while ((ptr = strtok(NULL, "\t\n "))) {
+               add_to_class(tc, ptr);
+           }
+       }
+    }
+    fclose(f);
+
+    /* user is not explicitly mentioned in /etc/usertty, if there was
+       a default rule, use that */
+    if (defaultbuf[0]) {
+       strtok(defaultbuf, " \t");
+       while((ptr = strtok(NULL, "\t\n "))) {
+           if (in_class(tty, ptr)) {
+               free_all(); /* JDS */
+               return;
+           }
+       }
+
+       /* there was a default rule, but user didn't match, reject! */
+       printf(_("Login on %s from %s denied by default.\n"), tty, hostname);
+       badlogin(user);
+       sleepexit(1);
+    }
+
+    if (found_match) {
+       /* if we get here, /etc/usertty exists, there's a line
+          matching our username, but it doesn't contain the
+          name of the tty where the user is trying to log in.
+          So deny access! */
+
+       printf(_("Login on %s from %s denied.\n"), tty, hostname);
+       badlogin(user);
+       sleepexit(1);
+    }
+
+    /* users not matched in /etc/usertty are by default allowed access
+       on all tty's */
+    free_all(); /* JDS */
+}
diff --git a/login-utils/chfn.1 b/login-utils/chfn.1
new file mode 100644 (file)
index 0000000..9328cc8
--- /dev/null
@@ -0,0 +1,78 @@
+.\"
+.\"  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 "October 13 1994" "chfn" "Linux Reference Manual"
+.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.
+.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-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/login-utils/chfn.c b/login-utils/chfn.c
new file mode 100644 (file)
index 0000000..df8cbea
--- /dev/null
@@ -0,0 +1,533 @@
+/*
+ *   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
+ *    
+ *
+ */
+
+#define _BSD_SOURCE           /* for strcasecmp() */
+
+#include <sys/types.h>
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <pwd.h>
+#include <errno.h>
+#include <ctype.h>
+#include <getopt.h>
+#include "my_crypt.h"
+#include "islocal.h"
+#include "setpwnam.h"
+#include "xstrncpy.h"
+#include "nls.h"
+#include "env.h"
+
+#ifdef HAVE_LIBSELINUX
+#include <selinux/selinux.h>
+#include <selinux/av_permissions.h>
+#include "selinux_utils.h"
+#endif
+
+#if defined(REQUIRE_PASSWORD) && defined(HAVE_SECURITY_PAM_MISC_H)
+#include <security/pam_appl.h>
+#include <security/pam_misc.h>
+
+#define PAM_FAIL_CHECK(_ph, _rc) \
+    do { \
+       if ((_rc) != PAM_SUCCESS) { \
+           fprintf(stderr, "\n%s\n", pam_strerror((_ph), (_rc))); \
+           pam_end((_ph), (_rc)); \
+           exit(1); \
+       } \
+    } while(0)
+
+#endif
+
+typedef unsigned char boolean;
+#define false 0
+#define true 1
+
+static char *whoami;
+
+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 boolean parse_argv (int argc, char *argv[], struct finfo *pinfo);
+static void usage (FILE *fp);
+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 boolean set_changed_data (struct finfo *oldfp, struct finfo *newfp);
+static int save_new_data (struct finfo *pinfo);
+static void *xmalloc (int bytes);
+
+#define memzero(ptr, size) memset((char *) ptr, 0, size)
+
+/* we do not accept gecos field sizes longer than MAX_FIELD_SIZE */
+#define MAX_FIELD_SIZE         256
+
+int main (int argc, char **argv) {
+    char *cp;
+    uid_t uid;
+    struct finfo oldf, newf;
+    boolean interactive;
+    int status;
+
+    sanitize_env();
+    setlocale(LC_ALL, "");     /* both for messages and for iscntrl() below */
+    bindtextdomain(PACKAGE, LOCALEDIR);
+    textdomain(PACKAGE);
+
+    /* whoami is the program name for error messages */
+    whoami = argv[0];
+    if (! whoami) whoami = "chfn";
+    for (cp = whoami; *cp; cp++)
+       if (*cp == '/') whoami = cp + 1;
+
+    /*
+     * "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 ();
+    memzero (&oldf, sizeof (oldf));
+    memzero (&newf, sizeof (newf));
+
+    interactive = parse_argv (argc, argv, &newf);
+    if (! newf.username) {
+       parse_passwd (getpwuid (uid), &oldf);
+       if (! oldf.username) {
+           fprintf (stderr, _("%s: you (user %d) don't exist.\n"), whoami, uid);
+           return (-1); }
+    }
+    else {
+       parse_passwd (getpwnam (newf.username), &oldf);
+       if (! oldf.username) {
+           cp = newf.username;
+           fprintf (stderr, _("%s: user \"%s\" does not exist.\n"), whoami, cp);
+           return (-1); }
+    }
+
+    if (!(is_local(oldf.username))) {
+       fprintf (stderr, _("%s: can only change local entries; use yp%s instead.\n"),
+           whoami, whoami);
+       exit(1);
+    }
+
+#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=(security_context_t) strdup(_("Unknown user context"));
+         fprintf(stderr, _("%s: %s is not authorized to change the finger info of %s\n"),
+                 whoami, user_context, oldf.username);
+         freecon(user_context);
+         exit(1);
+       }
+      }
+      if (setupDefaultContext("/etc/passwd") != 0) {
+       fprintf(stderr,_("%s: Can't set default context for /etc/passwd"),
+               whoami);
+       exit(1);
+      }
+    }
+#endif
+
+    /* Reality check */
+    if (uid != 0 && uid != oldf.pw->pw_uid) {
+       errno = EACCES;
+       perror (whoami);
+       return (-1);
+    }
+
+    printf (_("Changing finger information for %s.\n"), oldf.username);
+
+#ifdef REQUIRE_PASSWORD
+#ifdef HAVE_SECURITY_PAM_MISC_H
+    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(retcode != PAM_SUCCESS) {
+           fprintf(stderr, _("%s: PAM failure, aborting: %s\n"),
+                   whoami, pam_strerror(pamh, retcode));
+           exit(1);
+       }
+
+       retcode = pam_authenticate(pamh, 0);
+       PAM_FAIL_CHECK(pamh, retcode);
+
+       retcode = pam_acct_mgmt(pamh, 0);
+       if (retcode == PAM_NEW_AUTHTOK_REQD)
+           retcode = pam_chauthtok(pamh, PAM_CHANGE_EXPIRED_AUTHTOK);
+       PAM_FAIL_CHECK(pamh, retcode);
+
+       retcode = pam_setcred(pamh, 0);
+       PAM_FAIL_CHECK(pamh, retcode);
+
+       pam_end(pamh, 0);
+       /* no need to establish a session; this isn't a session-oriented
+        * activity... */
+    }
+# else /* HAVE_SECURITY_PAM_MISC_H */
+    /* require password, unless root */
+    if(uid != 0 && oldf.pw->pw_passwd && oldf.pw->pw_passwd[0]) {
+       char *pwdstr = getpass(_("Password: "));
+       if(strncmp(oldf.pw->pw_passwd,
+                  crypt(pwdstr, oldf.pw->pw_passwd), 13)) {
+           puts(_("Incorrect password."));
+           exit(1);
+       }
+    }
+# endif /* HAVE_SECURITY_PAM_MISC_H */
+#endif /* REQUIRE_PASSWORD */
+
+
+    if (interactive) ask_info (&oldf, &newf);
+
+    if (! set_changed_data (&oldf, &newf)) {
+       printf (_("Finger information not changed.\n"));
+       return 0;
+    }
+    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 boolean parse_argv (argc, argv, pinfo)
+    int argc;
+    char *argv[];
+    struct finfo *pinfo;
+{
+    int index, c, status;
+    boolean 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 ("%s\n", PACKAGE_STRING);
+           exit (0);
+       }
+       if (c == 'u') {
+           usage (stdout);
+           exit (0);
+       }
+       /* all other options must have an argument. */
+       if (! optarg) {
+           usage (stderr);
+           exit (-1);
+       }
+       /* ok, we were given an argument */
+       info_given = true;
+       status = 0;
+
+       xstrncpy (buf, whoami, sizeof(buf)-128); 
+       strcat (buf, ": ");
+
+       /* now store the argument */
+       switch (c) {
+       case 'f':
+           pinfo->full_name = optarg;
+           strcat (buf, "full name");
+           status = check_gecos_string (buf, optarg);
+           break;
+       case 'o':
+           pinfo->office = optarg;
+           strcat (buf, "office");
+           status = check_gecos_string (buf, optarg);
+           break;
+       case 'p':
+           pinfo->office_phone = optarg;
+           strcat (buf, "office phone");
+           status = check_gecos_string (buf, optarg);
+           break;
+       case 'h':
+           pinfo->home_phone = optarg;
+           strcat (buf, "home phone");
+           status = check_gecos_string (buf, optarg);
+           break;
+       default:
+           usage (stderr);
+           status = (-1);
+       }
+       if (status < 0) exit (status);
+    }
+    /* done parsing arguments. check for a username. */
+    if (optind < argc) {
+       if (optind + 1 < argc) {
+           usage (stderr);
+           exit (-1);
+       }
+       pinfo->username = argv[optind];
+    }
+    return (! info_given);
+}
+
+/*
+ *  usage () --
+ *     print out a usage message.
+ */
+static void usage (fp)
+    FILE *fp;
+{
+    fprintf (fp, _("Usage: %s [ -f full-name ] [ -o office ] "), whoami);
+    fprintf (fp, _("[ -p office-phone ]\n      [ -h home-phone ] "));
+    fprintf (fp, _("[ --help ] [ --version ]\n"));
+}
+
+/*
+ *  parse_passwd () --
+ *     take a struct password and fill in the fields of the
+ *     struct finfo.
+ */
+static void parse_passwd (pw, pinfo)
+    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 = strdup(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 (oldfp, newfp)
+    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 (question, def_val)
+    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) {
+           printf (_("\nAborted.\n"));
+           exit (-1);
+       }
+       /* 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 (msg, gecos)
+    char *msg;
+    char *gecos;
+{
+    int i, c;
+
+    if (strlen(gecos) > MAX_FIELD_SIZE) {
+       if (msg != NULL)
+           printf("%s: ", msg);
+       printf(_("field is too long.\n"));
+       return -1;
+    }
+
+    for (i = 0; i < strlen (gecos); i++) {
+       c = gecos[i];
+       if (c == ',' || c == ':' || c == '=' || c == '"' || c == '\n') {
+           if (msg) printf ("%s: ", msg);
+           printf (_("'%c' is not allowed.\n"), c);
+           return (-1);
+       }
+       if (iscntrl (c)) {
+           if (msg) printf ("%s: ", msg);
+           printf (_("Control characters are not allowed.\n"));
+           return (-1);
+       }
+    }
+    return (0);
+}
+
+/*
+ *  set_changed_data () --
+ *     incorporate the new data into the old finger info.
+ */
+static boolean set_changed_data (oldfp, newfp)
+    struct finfo *oldfp;
+    struct finfo *newfp;
+{
+    boolean 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 (pinfo)
+     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) {
+       perror ("setpwnam");
+       printf( _("Finger information *NOT* changed.  Try again later.\n" ));
+       return (-1);
+    }
+    printf (_("Finger information changed.\n"));
+    return 0;
+}
+
+/*
+ *  xmalloc () -- malloc that never fails.
+ */
+static void *xmalloc (bytes)
+    int bytes;
+{
+    void *vp;
+
+    vp = malloc (bytes);
+    if (! vp && bytes > 0) {
+       perror (_("malloc failed"));
+       exit (-1);
+    }
+    return vp;
+}
diff --git a/login-utils/chsh.1 b/login-utils/chsh.1
new file mode 100644 (file)
index 0000000..6e00df3
--- /dev/null
@@ -0,0 +1,61 @@
+.\"
+.\"  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 "7 October 1998" "chsh" "Linux Reference Manual"
+.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.
+.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-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/login-utils/chsh.c b/login-utils/chsh.c
new file mode 100644 (file)
index 0000000..08b1e0d
--- /dev/null
@@ -0,0 +1,443 @@
+/*
+ *   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
+ *
+ *
+ */
+
+#if 0
+#define _POSIX_SOURCE 1
+#endif
+
+#include <sys/types.h>
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <pwd.h>
+#include <errno.h>
+#include <ctype.h>
+#include <getopt.h>
+#include "my_crypt.h"
+#include "islocal.h"
+#include "setpwnam.h"
+#include "nls.h"
+#include "env.h"
+#include "pathnames.h"
+
+#if defined(REQUIRE_PASSWORD) && defined(HAVE_SECURITY_PAM_MISC_H)
+#include <security/pam_appl.h>
+#include <security/pam_misc.h>
+
+#define PAM_FAIL_CHECK(_ph, _rc) \
+    do { \
+       if ((_rc) != PAM_SUCCESS) { \
+           fprintf(stderr, "\n%s\n", pam_strerror((_ph), (_rc))); \
+           pam_end((_ph), (_rc)); \
+           exit(1); \
+       } \
+    } while(0)
+
+#endif /* PAM */
+
+#ifdef HAVE_LIBSELINUX
+#include <selinux/selinux.h>
+#include <selinux/av_permissions.h>
+#include "selinux_utils.h"
+#endif
+
+typedef unsigned char boolean;
+#define false 0
+#define true 1
+
+/* Only root is allowed to assign a luser a non-listed shell, by default */
+#define ONLY_LISTED_SHELLS 1
+
+
+static char *whoami;
+
+static char buf[FILENAME_MAX];
+
+struct sinfo {
+    char *username;
+    char *shell;
+};
+
+static void parse_argv (int argc, char *argv[], struct sinfo *pinfo);
+static void usage (FILE *fp);
+static char *prompt (char *question, char *def_val);
+static int check_shell (char *shell);
+static boolean get_shell_list (char *shell);
+static void *xmalloc (int bytes);
+
+#define memzero(ptr, size) memset((char *) ptr, 0, size)
+
+int
+main (int argc, char *argv[]) {
+    char *cp, *shell, *oldshell;
+    uid_t uid;
+    struct sinfo info;
+    struct passwd *pw;
+
+    sanitize_env();
+    setlocale(LC_ALL, "");
+    bindtextdomain(PACKAGE, LOCALEDIR);
+    textdomain(PACKAGE);
+
+    /* whoami is the program name for error messages */
+    whoami = argv[0];
+    if (! whoami) whoami = "chsh";
+    for (cp = whoami; *cp; cp++)
+       if (*cp == '/') whoami = cp + 1;
+
+    uid = getuid ();
+    memzero (&info, sizeof (info));
+
+    parse_argv (argc, argv, &info);
+    pw = NULL;
+    if (! info.username) {
+       pw = getpwuid (uid);
+       if (! pw) {
+           fprintf (stderr, _("%s: you (user %d) don't exist.\n"), whoami, uid);
+           return (-1); }
+    }
+    else {
+       pw = getpwnam (info.username);
+       if (! pw) {
+           cp = info.username;
+           fprintf (stderr, _("%s: user \"%s\" does not exist.\n"), whoami, cp);
+           return (-1); }
+    }
+
+    if (!(is_local(pw->pw_name))) {
+       fprintf (stderr, _("%s: can only change local entries; use yp%s instead.\n"),
+           whoami, whoami);
+       exit(1);
+    }
+
+#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) strdup(_("Unknown user context"));
+         fprintf(stderr, _("%s: %s is not authorized to change the shell of %s\n"),
+                 whoami, user_context, pw->pw_name);
+         freecon(user_context);
+         exit(1);
+       }
+      }
+      if (setupDefaultContext("/etc/passwd") != 0) {
+       fprintf(stderr,_("%s: Can't set default context for /etc/passwd"),
+               whoami);
+       exit(1);
+      }
+    }
+#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;
+       fprintf(stderr,_("%s: Running UID doesn't match UID of user we're "
+                        "altering, shell change denied\n"), whoami);
+       return (-1);
+    }
+    if (uid != 0 && !get_shell_list(oldshell)) {
+       errno = EACCES;
+       fprintf(stderr,_("%s: Your shell is not in /etc/shells, shell change"
+               " denied\n"),whoami);
+       return (-1);
+    }
+
+    shell = info.shell;
+
+    printf( _("Changing shell for %s.\n"), pw->pw_name );
+
+#ifdef REQUIRE_PASSWORD
+#ifdef HAVE_SECURITY_PAM_MISC_H
+    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(retcode != PAM_SUCCESS) {
+           fprintf(stderr, _("%s: PAM failure, aborting: %s\n"),
+                   whoami, pam_strerror(pamh, retcode));
+           exit(1);
+       }
+
+       retcode = pam_authenticate(pamh, 0);
+       PAM_FAIL_CHECK(pamh, retcode);
+
+       retcode = pam_acct_mgmt(pamh, 0);
+       if (retcode == PAM_NEW_AUTHTOK_REQD)
+           retcode = pam_chauthtok(pamh, PAM_CHANGE_EXPIRED_AUTHTOK);
+       PAM_FAIL_CHECK(pamh, retcode);
+
+       retcode = pam_setcred(pamh, 0);
+       PAM_FAIL_CHECK(pamh, retcode);
+
+       pam_end(pamh, 0);
+       /* no need to establish a session; this isn't a session-oriented
+        * activity... */
+    }
+#else /* HAVE_SECURITY_PAM_MISC_H */
+    /* require password, unless root */
+    if(uid != 0 && pw->pw_passwd && pw->pw_passwd[0]) {
+       char *pwdstr = getpass(_("Password: "));
+       if(strncmp(pw->pw_passwd,
+                  crypt(pwdstr, pw->pw_passwd), 13)) {
+           puts(_("Incorrect password."));
+           exit(1);
+       }
+    }
+#endif /* HAVE_SECURITY_PAM_MISC_H */
+#endif /* REQUIRE_PASSWORD */
+
+    if (! shell) {
+       shell = prompt (_("New shell"), oldshell);
+       if (! shell) return 0;
+    }
+
+    if (check_shell (shell) < 0) return (-1);
+
+    if (! strcmp (pw->pw_shell, shell)) {
+       printf (_("Shell not changed.\n"));
+       return 0;
+    }
+    pw->pw_shell = shell;
+    if (setpwnam (pw) < 0) {
+       perror ("setpwnam");
+       printf( _("Shell *NOT* changed.  Try again later.\n") );
+       return (-1);
+    }
+    printf (_("Shell changed.\n"));
+    return 0;
+}
+
+/*
+ *  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 ("%s\n", PACKAGE_STRING);
+           exit (0);
+       case 'u':
+           usage (stdout);
+           exit (0);
+       case 'l':
+           get_shell_list (NULL);
+           exit (0);
+       case 's':
+           if (! optarg) {
+               usage (stderr);
+               exit (-1);
+           }
+           pinfo->shell = optarg;
+           break;
+       default:
+           usage (stderr);
+           exit (-1);
+       }
+    }
+    /* done parsing arguments. check for a username. */
+    if (optind < argc) {
+       if (optind + 1 < argc) {
+           usage (stderr);
+           exit (-1);
+       }
+       pinfo->username = argv[optind];
+    }
+}
+
+/*
+ *  usage () --
+ *     print out a usage message.
+ */
+static void
+usage (FILE *fp) {
+    fprintf (fp,
+            _("Usage: %s [ -s shell ] [ --list-shells ] "
+              "[ --help ] [ --version ]\n"
+              "       [ username ]\n"), whoami);
+}
+
+/*
+ *  prompt () --
+ *     ask the user for a given field and return it.
+ */
+static char *
+prompt (char *question, char *def_val) {
+    int len;
+    char *ans, *cp;
+
+    if (! def_val) def_val = "";
+    printf("%s [%s]: ", question, def_val);
+    *buf = 0;
+    if (fgets (buf, sizeof (buf), stdin) == NULL) {
+       printf (_("\nAborted.\n"));
+       exit (-1);
+    }
+    /* 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) {
+    int i, c;
+
+    if (!shell)
+       return (-1);
+
+    if (*shell != '/') {
+       printf (_("%s: shell must be a full path name.\n"), whoami);
+       return (-1);
+    }
+    if (access (shell, F_OK) < 0) {
+       printf (_("%s: \"%s\" does not exist.\n"), whoami, shell);
+       return (-1);
+    }
+    if (access (shell, X_OK) < 0) {
+       printf (_("%s: \"%s\" is not executable.\n"), whoami, shell);
+       return (-1);
+    }
+    /* keep /etc/passwd clean. */
+    for (i = 0; i < strlen (shell); i++) {
+       c = shell[i];
+       if (c == ',' || c == ':' || c == '=' || c == '"' || c == '\n') {
+           printf (_("%s: '%c' is not allowed.\n"), whoami, c);
+           return (-1);
+       }
+       if (iscntrl (c)) {
+           printf (_("%s: Control characters are not allowed.\n"), whoami);
+           return (-1);
+       }
+    }
+#ifdef ONLY_LISTED_SHELLS
+    if (! get_shell_list (shell)) {
+       if (!getuid())
+         printf (_("Warning: \"%s\" is not listed in /etc/shells.\n"), shell);
+       else {
+         printf (_("%s: \"%s\" is not listed in /etc/shells.\n"),
+                 whoami, shell);
+         printf( _("%s: Use -l option to see list.\n"), whoami );
+         exit(1);
+       }
+    }
+#else
+    if (! get_shell_list (shell)) {
+       printf (_("Warning: \"%s\" is not listed in /etc/shells.\n"), shell);
+       printf( _("Use %s -l to see list.\n"), whoami );
+    }
+#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 boolean
+get_shell_list (char *shell_name) {
+    FILE *fp;
+    boolean found;
+    int len;
+
+    found = false;
+    fp = fopen ("/etc/shells", "r");
+    if (! fp) {
+       if (! shell_name) printf (_("No known shells.\n"));
+       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;
+}
+
+/*
+ *  xmalloc () -- malloc that never fails.
+ */
+static void *
+xmalloc (int bytes) {
+    void *vp;
+
+    vp = malloc (bytes);
+    if (! vp && bytes > 0) {
+       perror (_("malloc failed"));
+       exit (-1);
+    }
+    return vp;
+}
diff --git a/login-utils/fastboot.8 b/login-utils/fastboot.8
new file mode 100644 (file)
index 0000000..386d971
--- /dev/null
@@ -0,0 +1 @@
+.so man8/shutdown.8
diff --git a/login-utils/fasthalt.8 b/login-utils/fasthalt.8
new file mode 100644 (file)
index 0000000..386d971
--- /dev/null
@@ -0,0 +1 @@
+.so man8/shutdown.8
diff --git a/login-utils/halt.8 b/login-utils/halt.8
new file mode 100644 (file)
index 0000000..386d971
--- /dev/null
@@ -0,0 +1 @@
+.so man8/shutdown.8
diff --git a/login-utils/initctl.8 b/login-utils/initctl.8
new file mode 100644 (file)
index 0000000..3dd26e3
--- /dev/null
@@ -0,0 +1,110 @@
+.\" Copyright (C) 2000-2001  Richard Gooch
+.\"
+.\" 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., 675 Mass Ave, Cambridge, MA 02139, USA.
+.\"
+.\" Richard Gooch may be reached by email at  rgooch@atnf.csiro.au
+.\" The postal address is:
+.\"   Richard Gooch, c/o ATNF, P. O. Box 76, Epping, N.S.W., 2121, Australia.
+.\"
+.\"    initctl.8               Richard Gooch   21-FEB-2001
+.\"
+.TH INITCTL 8 "21 Feb 2001" "Util-Linux Package"
+.SH NAME
+initctl \- utility to control simpleinit(8)
+.SH SYNOPSIS
+.B need
+.RB [ \-r ]
+.I service
+.br
+.B display-services
+.br
+.B provide
+.I service
+.SH OVERVIEW
+The \fBinitctl\fP programme is designed to help improve the
+robustness, scalability and readability of system boot scripts. It is
+now possible to write a modularised set of boot scripts without the
+complex and fragile numbered symlink scheme used in SysV-style boot
+scripts. Each script can simply declare, using \fBneed\fP(8), what
+must run before them.
+.SH DESCRIPTION for need
+The \fBneed\fP programme is a utility that tells \fBsimpleinit\fP(8)
+to start a \fIservice\fP (usually a script in \fI/sbin/init.d\fP) and
+will wait for the service to become available. If the service is
+already available, it will not be started again.
+
+The \fB-r\fP option is used to tell \fBsimpleinit\fP(8) to "roll back"
+(stop) services up to (but not including) \fIservice\fP. If
+\fIservice\fP is not specified, all services are stopped. The \fB-r\fP
+option thus allows the system to be partially or wholly shut down in
+an orderly fashion. The \fBshutdown\fP(8) programme still needs to be
+run.
+
+.SH DESCRIPTION for display-services
+When invoked as \fBdisplay-services\fP it will write the list of
+currently available services and the list of failed services to the
+standard output.
+
+.SH DESCRIPTION for provide
+When invoked as \fBprovide\fP it tells \fBsimpleinit\fP(8) that the
+parent (calling) process will be providing a service with name
+\fIservice\fP. If the calling process exits successfully (status 0)
+the service is deemed to be available. Only one instance of
+\fIservice\fP may be started, so alternate providers will block and
+may fail.
+
+Using \fBprovide\fP it is possible to have multiple potential
+providers for the same (generic) service (e.g. \fBsendmail\fP and
+\fBqmail\fP both provide a \fBmta\fP service), where only one actually
+provides the service. This may be used by service startup scripts
+which check for configuration files.
+.SH EXIT CODE
+The exit code from \fBneed\fP is 0 if the service was successfully
+started, 1 if the service failed badly, and 2 if the service is
+unavailable (i.e. disabled in configuration files). These exit codes
+reflect the exit codes from the service startup scripts.
+
+The exit code from \fBneed -r\fP is 0 if the service was successfully
+stopped, 1 if the service could not be stopped, and 2 if the service
+was not available to start with. The service shutdown scripts may only
+return 0 (for success) or 1 (for failure).
+
+The exit code from \fBprovide\fP is 0 if the service may be provided,
+1 if it may not, and 2 if the parent process is not a child of
+init. It may block waiting for another provider which is initialising
+the service.
+.SH SIGNALS
+\fBinitctl\fP(8) uses \fBSIGUSR1\fP, \fBSIGUSR2\fP and \fBSIGPOLL\fP
+for communication with \fBsimpleinit\fP(8). Don't send these signals
+to it.
+.SH FILES
+.PD 0
+.TP 20
+.BI /dev/initctl
+This is the control FIFO, created by \fBsimpleinit\fP(8), which
+\fBinitctl\fP(8) writes commands to.
+.SH SEE ALSO
+.BR simpleinit (8),
+.BR init (8)
+.PP
+A more complete discussion of the new boot script system, based on
+\fBneed\fP(8), is available from:
+http://www.atnf.csiro.au/~rgooch/linux/boot-scripts/
+.SH AUTHOR
+Richard Gooch (rgooch@atnf.csiro.au)
+
+.SH AVAILABILITY
+The initctl command is part of the util-linux-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/login-utils/initctl.c b/login-utils/initctl.c
new file mode 100644 (file)
index 0000000..6fb8d09
--- /dev/null
@@ -0,0 +1,210 @@
+/*  initctl.c
+
+    Source file for  initctl  (init(8) control tool).
+
+    Copyright (C) 2000  Richard Gooch
+
+    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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+    Richard Gooch may be reached by email at  rgooch@atnf.csiro.au
+    The postal address is:
+      Richard Gooch, c/o ATNF, P. O. Box 76, Epping, N.S.W., 2121, Australia.
+*/
+
+/*
+    This tool will send control messages to init(8). For example, it may
+    request init(8) to start a service and will wait for that service to be
+    available. If the service is already available, init(8) will not start it
+    again.
+    This tool may also be used to inspect the list of currently available
+    services.
+
+
+    Written by      Richard Gooch   28-FEB-2000
+
+    Updated by      Richard Gooch   11-OCT-2000: Added provide support.
+
+    Last updated by Richard Gooch   6-NOV-2000: Renamed to initctl.c
+
+
+*/
+#include <unistd.h>
+#include <stdio.h>
+#include <limits.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <signal.h>
+#include <stdlib.h>
+#include <string.h>
+#include "simpleinit.h"
+
+
+static void signal_handler (int sig);
+
+
+static int caught_signal = 0;
+
+
+int main (int argc, char **argv)
+{
+    int fd, nbytes;
+    struct sigaction sa;
+    sigset_t ss;
+    char *ptr;
+    long buffer[COMMAND_SIZE / sizeof (long) + 1];
+    struct command_struct *command = (struct command_struct *) buffer;
+
+    sigemptyset (&ss);
+    sigaddset (&ss, SIG_PRESENT);
+    sigaddset (&ss, SIG_NOT_PRESENT);
+    sigaddset (&ss, SIG_FAILED);
+    sigprocmask (SIG_BLOCK, &ss, NULL);
+    sigemptyset (&sa.sa_mask);
+    sa.sa_flags = 0;
+    sa.sa_handler = signal_handler;
+    sigaction (SIG_PRESENT, &sa, NULL);
+    sigaction (SIG_NOT_PRESENT, &sa, NULL);
+    sigaction (SIG_FAILED, &sa, NULL);
+    command->pid = getpid ();
+    command->ppid = getppid ();
+    if ( ( ptr = strrchr (argv[0], '/') ) == NULL ) ptr = argv[0];
+    else ++ptr;
+    /*  First generate command number by looking at invocation name  */
+    if (strcmp (ptr, "display-services") == 0)
+       command->command = COMMAND_DUMP_LIST;
+    else if (strcmp (ptr, "need") == 0) command->command = COMMAND_NEED;
+    else if (strcmp (ptr, "provide") == 0) command->command = COMMAND_PROVIDE;
+    else command->command = COMMAND_TEST;
+    /*  Now check for switches  */
+    if ( (argc > 1) && (argv[1][0] == '-') )
+    {
+       switch (argv[1][1])
+       {
+         case 'n':
+           command->command = COMMAND_NEED;
+           break;
+         case 'r':
+           command->command = COMMAND_ROLLBACK;
+           break;
+         case 'd':
+           command->command = COMMAND_DUMP_LIST;
+           break;
+         case 'p':
+           command->command = COMMAND_PROVIDE;
+           break;
+         default:
+           fprintf (stderr, "Illegal switch: \"%s\"\n", argv[1]);
+           exit (1);
+           /*break;*/
+       }
+       --argc;
+       ++argv;
+    }
+    switch (command->command)
+    {
+      case COMMAND_NEED:
+      case COMMAND_PROVIDE:
+       if (argc < 2)
+       {
+           fprintf (stderr, "Usage:\tneed|provide programme\n");
+           exit (1);
+       }
+       /*  Fall through  */
+      case COMMAND_ROLLBACK:
+       if (argc > 1) strcpy (command->name, argv[1]);
+       else command->name[0] = '\0';
+       break;
+      case COMMAND_DUMP_LIST:
+       if (tmpnam (command->name) == NULL)
+       {
+           fprintf (stderr, "Unable to create a unique filename\t%s\n",
+                    ERRSTRING);
+           exit (1);
+       }
+       if (mkfifo (command->name, S_IRUSR) != 0)
+       {
+           fprintf (stderr, "Unable to create FIFO: \"%s\"\t%s\n",
+                    command->name, ERRSTRING);
+           exit (1);
+       }
+       break;
+    }
+    if ( ( fd = open ("/dev/initctl", O_WRONLY, 0) ) < 0 )
+    {
+       fprintf (stderr, "Error opening\t%s\n", ERRSTRING);
+       exit (1);
+    }
+    if (write (fd, buffer, COMMAND_SIZE) < COMMAND_SIZE)
+    {
+       fprintf (stderr, "Error writing\t%s\n", ERRSTRING);
+       exit (1);
+    }
+    close (fd);
+    if (command->command != COMMAND_DUMP_LIST)
+    {
+       sigemptyset (&ss);
+       while (caught_signal == 0) sigsuspend (&ss);
+       switch (command->command)
+       {
+         case COMMAND_PROVIDE:
+           switch (caught_signal)
+           {
+             case SIG_PRESENT:
+               return 1;
+             case SIG_NOT_PRESENT:
+               return 0;
+             case SIG_NOT_CHILD:
+               fprintf (stderr, "Error\n");
+               return 2;
+             default:
+               return 3;
+           }
+           break;
+         default:
+           switch (caught_signal)
+           {
+             case SIG_PRESENT:
+               return 0;
+             case SIG_NOT_PRESENT:
+               return 2;
+             case SIG_FAILED:
+               return 1;
+             default:
+               return 3;
+           }
+           break;
+       }
+       return 3;
+    }
+    /*  Read back the data and display it  */
+    if ( ( fd = open (command->name, O_RDONLY, 0) ) < 0 )
+    {
+       fprintf (stderr, "Error opening:\"%s\"\t%s\n",
+                command->name, ERRSTRING);
+       exit (1);
+    }
+    unlink (command->name);
+    fflush (stdout);
+    while ( ( nbytes = read (fd, buffer, COMMAND_SIZE) ) > 0 )
+       write (1, buffer, nbytes);
+    close (fd);
+    return (0);
+}   /*  End Function main  */
+
+static void signal_handler (int sig)
+{
+    caught_signal = sig;
+}   /*  End Function signal_handler  */
diff --git a/login-utils/islocal.c b/login-utils/islocal.c
new file mode 100644 (file)
index 0000000..762a4e9
--- /dev/null
@@ -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 <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "nls.h"
+#include "pathnames.h"
+#include "islocal.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]) {
+                                       local = 1; /* Success. */
+                                       /* 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, _("Failed to open %s for reading, exiting."),
+                       _PATH_PASSWD);
+               exit(1);
+       } else {
+               return rv;
+       }
+}
+
+#if MAIN_TEST_ISLOCAL
+int
+main (int argc, char *argv[])
+{
+       if (argc < 2) {
+               fprintf(stderr, "No test passwd file was specified.\n");
+               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 (file)
index 0000000..2c58799
--- /dev/null
@@ -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 (file)
index 0000000..314e5d9
--- /dev/null
@@ -0,0 +1,62 @@
+.TH LAST 1 "20 March 1992"
+.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-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/login-utils/last.c b/login-utils/last.c
new file mode 100644 (file)
index 0000000..13a3b24
--- /dev/null
@@ -0,0 +1,460 @@
+/*
+ * 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
+  */
+
+/*
+ * 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 "pathnames.h"
+#include "nls.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 */
+
+#ifndef MIN
+#define MIN(a,b)       (((a) < (b)) ? (a) : (b))
+#endif
+
+/* maximum sizes used for printing */
+/* probably we want a two-pass version that computes the right length */
+int hmax = MIN(HMAX, 16);
+int lmax = MIN(LMAX, 8);
+int 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) {
+       extern int      optind;
+       extern char     *optarg;
+       int     ch;
+
+       setlocale(LC_ALL, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+
+       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(1);
+               }
+       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();
+       exit(0);
+}
+
+/*
+ * 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 = ctime(&bp->ut_time);
+    printf("%-*.*s  %-*.*s ", nmax, nmax, bp->ut_name, 
+          lmax, lmax, bp->ut_line);
+
+    if (dolong) {
+       if (bp->ut_addr) {
+           struct in_addr foo;
+           foo.s_addr = bp->ut_addr;
+           printf("%-*.*s ", hmax, hmax, inet_ntoa(foo));
+       } else {
+           printf("%-*.*s ", hmax, hmax, "");
+       }
+    } else {
+       printf("%-*.*s ", hmax, 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);
+
+       (void)time(&utmpbuf.ut_time);
+       (void)signal(SIGINT, onintr);
+       (void)signal(SIGQUIT, onintr);
+
+       if ((fd = open(file,O_RDONLY)) < 0)
+               exit(1);
+       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)
+               exit(1);
+       listnr = utl_len/sizeof(struct utmp);
+
+       if(listnr) 
+               ct = ctime(&utl[0].ut_time);
+
+       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 = ctime(&bp->ut_time);
+                       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 (bp->ut_addr == inet_addr(step->name))
+                         return(YES);
+                       break;
+       }
+       return(NO);
+}
+
+/*
+ * addarg --
+ *     add an entry to a linked list of arguments
+ */
+static void
+addarg(int type, char *arg) {
+       register ARG    *cur;
+
+       if (!(cur = (ARG *)malloc((unsigned int)sizeof(ARG)))) {
+               fputs(_("last: malloc failure.\n"), stderr);
+               exit(1);
+       }
+       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;
+
+       if (!(cur = (TTY *)malloc((unsigned int)sizeof(TTY)))) {
+               fputs(_("last: malloc failure.\n"), stderr);
+               exit(1);
+       }
+       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))) {
+                       perror(_("last: gethostname"));
+                       exit(1);
+               }
+               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" */
+               if (!(mval = malloc((unsigned int)8))) {
+                       fputs(_("last: malloc failure.\n"), stderr);
+                       exit(1);
+               }
+               if (!strcmp(arg, "co"))
+                       (void)strcpy(mval, "console");
+               else {
+                       (void)strcpy(mval, "tty");
+                       (void)strcpy(mval + 3, arg);
+               }
+               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 = ctime(&utmpbuf.ut_time);
+       printf(_("\ninterrupted %10.10s %5.5s \n"), ct, ct + 11);
+       if (signo == SIGINT)
+               exit(1);
+       (void)fflush(stdout);                   /* fix required for rsh */
+}
diff --git a/login-utils/login.1 b/login-utils/login.1
new file mode 100644 (file)
index 0000000..1227381
--- /dev/null
@@ -0,0 +1,344 @@
+.\" Copyright 1993 Rickard E. Faith (faith@cs.unc.edu)
+.\" May be distributed under the GNU General Public License
+.TH LOGIN 1 "4 November 1996" "Util-linux 1.6" "Linux Programmer's Manual"
+.SH NAME
+login \- sign on
+.SH SYNOPSIS
+.BR "login [ " name " ]"
+.br
+.B "login \-p"
+.br
+.BR "login \-h " hostname
+.br
+.BR "login \-f " name
+.SH DESCRIPTION
+.B login
+is used when signing onto a system.
+
+If an argument is not given,
+.B login
+prompts for the username.
+
+If the user is
+.I not
+root, and if
+.I /etc/nologin
+exists, the contents of this file are printed to the screen, and the
+login is terminated.  This is typically used to prevent logins when the
+system is being taken down.
+
+If special access restrictions are specified for the user in
+.IR /etc/usertty ,
+these must be met, or the log in attempt will be denied and a 
+.B syslog
+message will be generated. See the section on "Special Access Restrictions".
+
+If the user is root, then the login must be occurring on a tty listed in
+.IR /etc/securetty .
+Failures will be logged with the
+.B syslog
+facility.
+
+After these conditions have been checked, the password will be requested and
+checked (if a password is required for this username).  Ten attempts
+are allowed before
+.B login
+dies, but after the first three, the response starts to get very slow.
+Login failures are reported via the
+.B syslog
+facility.  This facility is also used to report any successful root logins.
+
+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).
+
+Random administrative things, such as setting the UID and GID of the
+tty are performed.  The TERM environment variable is preserved, if it
+exists (other environment variables are preserved if the
+.B \-p
+option is used).  Then the HOME, PATH, SHELL, TERM, MAIL, and LOGNAME
+environment variables are set.  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.  Last, if this is not a "quiet" login, the message of the
+day is printed and the file with the user's name in
+.I /var/spool/mail
+will be checked, and a message printed if it has non-zero length.
+
+The user's shell is then 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 above).
+.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.
+
+Note that the \fB-h\fP option has impact on the \fBPAM service name\fP. The standard
+service name is "login", with the \fB-h\fP option the name is "remote". It's
+necessary to create a proper PAM config files (e.g.
+.I /etc/pam.d/login
+and 
+.I /etc/pam.d/remote
+).
+
+.SH "SPECIAL ACCESS RESTRICTIONS"
+The file
+.I /etc/securetty
+lists the names of the ttys where root is allowed to log in. One name
+of a tty device without the /dev/ prefix must be specified on each
+line.  If the file does not exist, root is allowed to log in on any
+tty.
+.PP
+On most modern Linux systems PAM (Pluggable Authentication Modules)
+is used. On systems that do not use PAM, the file
+.I /etc/usertty
+specifies additional access restrictions for specific users.
+If this file does not exist, no additional access restrictions are
+imposed. The file consists of a sequence of sections. There are three
+possible section types: CLASSES, GROUPS and USERS. A CLASSES section
+defines classes of ttys and hostname patterns, A GROUPS section
+defines allowed ttys and hosts on a per group basis, and a USERS
+section defines allowed ttys and hosts on a per user basis.
+.PP
+Each line in this file in may be no longer than 255
+characters. Comments start with # character and extend to the end of
+the line.
+.PP
+.SS "The CLASSES Section"
+A CLASSES section begins with the word CLASSES at the start of a line
+in all upper case. Each following line until the start of a new
+section or the end of the file consists of a sequence of words
+separated by tabs or spaces. Each line defines a class of ttys and
+host patterns.
+.PP
+The word at the beginning of a line becomes defined as a collective
+name for the ttys and host patterns specified at the rest of the
+line. This collective name can be used in any subsequent GROUPS or
+USERS section. No such class name must occur as part of the definition
+of a class in order to avoid problems with recursive classes.
+.PP
+An example CLASSES section:
+.PP
+.nf
+.in +.5
+CLASSES
+myclass1               tty1 tty2
+myclass2               tty3 @.foo.com
+.in -.5
+.fi
+.PP
+This defines the classes 
+.I myclass1
+and
+.I myclass2
+as the corresponding right hand sides.
+.PP
+
+.SS "The GROUPS Section"
+A GROUPS section defines allowed ttys and hosts on a per Unix group basis. If
+a user is a member of a Unix group according to 
+.I /etc/passwd
+and
+.I /etc/group
+and such a group is mentioned in a GROUPS section in 
+.I /etc/usertty
+then the user is granted access if the group is.
+.PP
+A GROUPS section starts with the word GROUPS in all upper case at the start of
+a line, and each following line is a sequence of words separated by spaces
+or tabs. The first word on a line is the name of the group and the rest
+of the words on the line specifies the ttys and hosts where members of that
+group are allowed access. These specifications may involve the use of
+classes defined in previous CLASSES sections.
+.PP
+An example GROUPS section.
+.PP
+.nf
+.in +0.5
+GROUPS
+sys            tty1 @.bar.edu
+stud           myclass1 tty4
+.in -0.5
+.fi
+.PP
+This example specifies that members of group 
+.I sys
+may log in on tty1 and from hosts in the bar.edu domain. Users in
+group
+.I stud
+may log in from hosts/ttys specified in the class myclass1 or from
+tty4.
+.PP
+
+.SS "The USERS Section"
+A USERS section starts with the word USERS in all upper case at the
+start of a line, and each following line is a sequence of words
+separated by spaces or tabs. The first word on a line is a username
+and that user is allowed to log in on the ttys and from the hosts
+mentioned on the rest of the line. These specifications may involve
+classes defined in previous CLASSES sections.  If no section header is
+specified at the top of the file, the first section defaults to be a
+USERS section.
+.PP
+An example USERS section:
+.PP
+.nf
+.in +0.5
+USERS
+zacho          tty1 @130.225.16.0/255.255.255.0
+blue           tty3 myclass2
+.in -0.5
+.fi
+.PP
+This lets the user zacho login only on tty1 and from hosts with IP
+addreses in the range 130.225.16.0 \- 130.225.16.255, and user blue is
+allowed to log in from tty3 and whatever is specified in the class
+myclass2.
+.PP
+There may be a line in a USERS section starting with a username of
+*. This is a default rule and it will be applied to any user not
+matching any other line.
+.PP
+If both a USERS line and GROUPS line match a user then the user is
+allowed access from the union of all the ttys/hosts mentioned in these
+specifications.
+
+.SS Origins
+The tty and host pattern specifications used in the specification of
+classes, group and user access are called origins. An origin string
+may have one of these formats:
+.IP o 
+The name of a tty device without the /dev/ prefix, for example tty1 or
+ttyS0.
+.PP
+.IP o
+The string @localhost, meaning that the user is allowed to
+telnet/rlogin from the local host to the same host. This also allows
+the user to for example run the command: xterm -e /bin/login.
+.PP
+.IP o
+A domain name suffix such as @.some.dom, meaning that the user may
+rlogin/telnet from any host whose domain name has the suffix
+\&.some.dom.
+.PP
+.IP o
+A range of IPv4 addresses, written @x.x.x.x/y.y.y.y where x.x.x.x is
+the IP address in the usual dotted quad decimal notation, and y.y.y.y
+is a bitmask in the same notation specifying which bits in the address
+to compare with the IP address of the remote host. For example
+@130.225.16.0/255.255.254.0 means that the user may rlogin/telnet from
+any host whose IP address is in the range 130.225.16.0 \-
+130.225.17.255.
+.PP
+.IP o
+An range of IPv6 addresses, written @[n:n:n:n:n:n:n:n]/m is interpreted as a
+[net]/prefixlen pair. An IPv6 host address is matched if prefixlen bits of
+net is equal to the prefixlen bits of the address.  For  example, the
+[net]/prefixlen pattern [3ffe:505:2:1::]/64 matches every address in the
+range 3ffe:505:2:1:: through 3ffe:505:2:1:ffff:ffff:ffff:ffff.
+.PP
+Any of the above origins may be prefixed by a time specification
+according to the syntax:
+.PP
+.nf
+timespec    ::= '[' <day-or-hour> [':' <day-or-hour>]* ']'
+day         ::= 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat' | 'sun'
+hour        ::= '0' | '1' | ... | '23'
+hourspec    ::= <hour> | <hour> '\-' <hour>
+day-or-hour ::= <day> | <hourspec>
+.fi
+.PP
+For example, the origin [mon:tue:wed:thu:fri:8\-17]tty3 means that log
+in is allowed on mondays through fridays between 8:00 and 17:59 (5:59
+pm) on tty3.  This also shows that an hour range a\-b includes all
+moments between a:00 and b:59. A single hour specification (such as
+10) means the time span between 10:00 and 10:59.
+.PP
+Not specifying any time prefix for a tty or host means log in from
+that origin is allowed any time. If you give a time prefix be sure to
+specify both a set of days and one or more hours or hour ranges. A
+time specification may not include any white space.
+.PP
+If no default rule is given then users not matching any line
+.I /etc/usertty
+are allowed to log in from anywhere as is standard behavior.
+.PP
+.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/usertty
+.I /etc/pam.d/login
+.I /etc/pam.d/remote
+.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.
+
+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 "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 "exec login" in a top-level shell or xterm.
+.SH AUTHOR
+Derived from BSD login 5.40 (5/9/89) by Michael Glad (glad@daimi.dk)
+for HP-UX
+.br
+Ported to Linux 0.12: Peter Orbaek (poe@daimi.aau.dk)
+.SH AVAILABILITY
+The login command is part of the util-linux-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/login-utils/login.c b/login-utils/login.c
new file mode 100644 (file)
index 0000000..486b30b
--- /dev/null
@@ -0,0 +1,1490 @@
+/* This program is derived from 4.3 BSD software and is
+   subject to the copyright notice below.
+
+   The port to HP-UX has been motivated by the incapability
+   of 'rlogin'/'rlogind' as per HP-UX 6.5 (and 7.0) to transfer window sizes.
+
+   Changes:
+
+   - General HP-UX portation. Use of facilities not available
+     in HP-UX (e.g. setpriority) has been eliminated.
+     Utmp/wtmp handling has been ported.
+
+   - The program uses BSD command line options to be used
+     in connection with e.g. 'rlogind' i.e. 'new login'.
+
+   - HP features left out:         password expiry
+                                   '*' as login shell, add it if you need it
+
+   - BSD features left out:         quota checks
+                                   password expiry
+                                   analysis of terminal type (tset feature)
+
+   - BSD features thrown in:        Security logging to syslogd.
+                                    This requires you to have a (ported) syslog
+                                   system -- 7.0 comes with syslog
+
+                                   'Lastlog' feature.
+
+   - A lot of nitty gritty details have been adjusted in favour of
+     HP-UX, e.g. /etc/securetty, default paths and the environment
+     variables assigned by 'login'.
+
+   - We do *nothing* to setup/alter tty state, under HP-UX this is
+     to be done by getty/rlogind/telnetd/some one else.
+
+   Michael Glad (glad@daimi.dk)
+   Computer Science Department
+   Aarhus University
+   Denmark
+
+   1990-07-04
+
+   1991-09-24 glad@daimi.aau.dk: HP-UX 8.0 port:
+   - now explictly sets non-blocking mode on descriptors
+   - strcasecmp is now part of HP-UX
+
+   1992-02-05 poe@daimi.aau.dk: Ported the stuff to Linux 0.12
+   From 1992 till now (1997) this code for Linux has been maintained at
+   ftp.daimi.aau.dk:/pub/linux/poe/
+
+   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
+ */
+
+/*
+ * 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.
+ */
+
+/*
+ * login [ name ]
+ * login -h hostname   (for telnetd, etc.)
+ * login -f name       (for pre-authenticated login: datakit, xterm, etc.)
+ */
+
+#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>
+#define index strchr
+#define rindex strrchr
+#include <sys/ioctl.h>
+#include <sys/wait.h>
+#include <signal.h>
+#include <errno.h>
+#include <grp.h>
+#include <pwd.h>
+#include <utmp.h>
+#include <setjmp.h>
+#include <stdlib.h>
+#include <sys/syslog.h>
+#include <sys/sysmacros.h>
+#include <linux/major.h>
+#include <netdb.h>
+#ifdef HAVE_LIBAUDIT
+# include <libaudit.h>
+#endif
+
+#include "pathnames.h"
+#include "my_crypt.h"
+#include "login.h"
+#include "xstrncpy.h"
+#include "nls.h"
+
+
+#ifdef HAVE_SECURITY_PAM_MISC_H
+#  include <security/pam_appl.h>
+#  include <security/pam_misc.h>
+#  define PAM_MAX_LOGIN_TRIES  3
+#  define PAM_FAIL_CHECK if (retcode != PAM_SUCCESS) { \
+       fprintf(stderr,"\n%s\n",pam_strerror(pamh, retcode)); \
+       syslog(LOG_ERR,"%s",pam_strerror(pamh, retcode)); \
+       pam_end(pamh, retcode); exit(1); \
+   }
+#  define PAM_END { \
+       pam_setcred(pamh, PAM_DELETE_CRED); \
+       retcode = pam_close_session(pamh,0); \
+       pam_end(pamh,retcode); \
+}
+#endif
+
+#include <lastlog.h>
+
+#define SLEEP_EXIT_TIMEOUT 5
+
+#include "setproctitle.h"
+
+#ifndef HAVE_SECURITY_PAM_MISC_H
+static void getloginname (void);
+static void checknologin (void);
+static int rootterm (char *ttyn);
+#endif
+static void timedout (int);
+static void sigint (int);
+static void motd (void);
+static void dolastlog (int quiet);
+
+#ifdef USE_TTY_GROUP
+#  define TTY_MODE 0620
+#else
+#  define TTY_MODE 0600
+#endif
+
+#define        TTYGRPNAME      "tty"           /* name of group to own ttys */
+
+#ifndef MAXPATHLEN
+#  define MAXPATHLEN 1024
+#endif
+
+/*
+ * This bounds the time given to login.  Not a define so it can
+ * be patched on machines where it's too small.
+ */
+int     timeout = 60;
+
+struct passwd *pwd;
+
+#ifdef HAVE_SECURITY_PAM_MISC_H
+static struct passwd pwdcopy;
+#endif
+char    hostaddress[16];       /* used in checktty.c */
+sa_family_t hostfamily;                /* used in checktty.c */
+char   *hostname;              /* idem */
+static char    *username, *tty_name, *tty_number;
+static char    thishost[100];
+static int     failures = 1;
+static pid_t   pid;
+
+/* 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
+opentty(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: %s"),
+                      strerror(errno));
+               sleep(1);
+               exit(1);
+       }
+
+       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);
+}
+
+/* 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 isnt. */
+static void
+check_ttyname(char *ttyn) {
+       struct stat statbuf;
+
+       if (lstat(ttyn, &statbuf)
+           || !S_ISCHR(statbuf.st_mode)
+           || (statbuf.st_nlink > 1 && strncmp(ttyn, "/dev/", 5))
+           || (access(ttyn, R_OK | W_OK) != 0)) {
+               syslog(LOG_ERR, _("FATAL: bad tty"));
+               sleep(1);
+               exit(1);
+       }
+}
+
+#ifdef LOGIN_CHOWN_VCS
+/* true if the filedescriptor fd is a console tty, very Linux specific */
+static int
+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
+
+#ifdef HAVE_SECURITY_PAM_MISC_H
+/*
+ * 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.
+ */
+#define        _PATH_BTMP      "/var/log/btmp"
+static void
+logbtmp(const char *line, const char *username, const char *hostname) {
+       struct utmp ut;
+       struct timeval tv;
+
+       memset(&ut, 0, sizeof(ut));
+
+       strncpy(ut.ut_user, username ? username : "(unknown)",
+               sizeof(ut.ut_user));
+
+       strncpy(ut.ut_id, line + 3, sizeof(ut.ut_id));
+       xstrncpy(ut.ut_line, line, 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 = pid;
+       if (hostname) {
+               xstrncpy(ut.ut_host, hostname, sizeof(ut.ut_host));
+               if (hostaddress[0])
+                       memcpy(&ut.ut_addr_v6, hostaddress, sizeof(ut.ut_addr_v6));
+       }
+#if HAVE_UPDWTMP               /* bad luck for ancient systems */
+       updwtmp(_PATH_BTMP, &ut);
+#endif
+}
+
+
+static int child_pid = 0;
+static volatile int got_sig = 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 */
+}
+
+#endif /* HAVE_SECURITY_PAM_MISC_H */
+
+#ifdef HAVE_LIBAUDIT
+static void
+logaudit(const char *tty, const char *username, const char *hostname,
+                                       struct passwd *pwd, int status)
+{
+       int audit_fd;
+
+       audit_fd = audit_open();
+       if (audit_fd == -1)
+               return;
+       if (!pwd && username)
+               pwd = getpwnam(username);
+
+       audit_log_acct_message(audit_fd, AUDIT_USER_LOGIN,
+               NULL, "login", username ? username : "(unknown)",
+               pwd ? pwd->pw_uid : -1, hostname, NULL, tty, status);
+
+       close(audit_fd);
+}
+#else /* ! HAVE_LIBAUDIT */
+# define logaudit(tty, username, hostname, pwd, status)
+#endif /* HAVE_LIBAUDIT */
+
+#ifdef HAVE_SECURITY_PAM_MISC_H
+/* encapsulate stupid "void **" pam_get_item() API */
+int
+get_pam_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;
+}
+#endif
+
+/*
+ * 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)
+ */
+int
+effective_access(const char *path, int mode)
+{
+       int fd = open(path, mode);
+       if (fd != -1)
+               close(fd);
+       return fd == -1 ? -1 : 0;
+}
+
+int
+main(int argc, char **argv)
+{
+    extern int optind;
+    extern char *optarg, **environ;
+    struct group *gr;
+    register int ch;
+    register char *p;
+    int ask, fflag, hflag, pflag, cnt, errsv;
+    int quietlog, passwd_req;
+    char *domain, *ttyn;
+    char tbuf[MAXPATHLEN + 2], tname[sizeof(_PATH_DEV_TTY) + 10];
+    char *termenv;
+    char *childArgv[10];
+    char *buff;
+    int childArgc = 0;
+#ifdef HAVE_SECURITY_PAM_MISC_H
+    int retcode;
+    pam_handle_t *pamh = NULL;
+    struct pam_conv conv = { misc_conv, NULL };
+    struct sigaction sa, oldsa_hup, oldsa_term;
+#else
+    char *salt, *pp;
+#endif
+#ifdef LOGIN_CHOWN_VCS
+    char vcsn[20], vcsan[20];
+#endif
+
+    pid = getpid();
+
+    signal(SIGALRM, timedout);
+    siginterrupt(SIGALRM,1);           /* we have to interrupt syscalls like ioclt() */
+    alarm((unsigned int)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
+     */
+    gethostname(tbuf, sizeof(tbuf));
+    xstrncpy(thishost, tbuf, sizeof(thishost));
+    domain = strchr(tbuf, '.');
+
+    username = tty_name = hostname = NULL;
+    fflag = hflag = pflag = 0;
+    passwd_req = 1;
+
+    while ((ch = getopt(argc, argv, "fh:p")) != -1)
+      switch (ch) {
+       case 'f':
+         fflag = 1;
+         break;
+
+       case 'h':
+         if (getuid()) {
+             fprintf(stderr,
+                     _("login: -h for super-user only.\n"));
+             exit(1);
+         }
+         hflag = 1;
+         if (domain && (p = strchr(optarg, '.')) &&
+             strcasecmp(p, domain) == 0)
+           *p = 0;
+
+         hostname = strdup(optarg);    /* strdup: Ambrose C. Li */
+         {
+               struct addrinfo hints, *info = NULL;
+
+               memset(&hints, 0, sizeof(hints));
+               hints.ai_flags = AI_ADDRCONFIG;
+
+               hostaddress[0] = 0;
+
+               if (getaddrinfo(hostname, NULL, &hints, &info)==0 && info) {
+                       if (info->ai_family == AF_INET) {
+                           struct sockaddr_in *sa =
+                                       (struct sockaddr_in *) info->ai_addr;
+                           memcpy(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(hostaddress, &(sa->sin6_addr),
+                                       sizeof(sa->sin6_addr));
+                       }
+                       hostfamily = info->ai_family;
+                       freeaddrinfo(info);
+               }
+         }
+         break;
+
+       case 'p':
+         pflag = 1;
+         break;
+
+       case '?':
+       default:
+         fprintf(stderr,
+                 _("usage: login [-fp] [username]\n"));
+         exit(1);
+      }
+    argc -= optind;
+    argv += optind;
+    if (*argv) {
+       char *p = *argv;
+       username = strdup(p);
+       ask = 0;
+       /* wipe name - some people mistype their password here */
+       /* (of course we are too late, but perhaps this helps a little ..) */
+       while(*p)
+           *p++ = ' ';
+    } else
+        ask = 1;
+
+    for (cnt = getdtablesize(); cnt > 2; cnt--)
+      close(cnt);
+
+    ttyn = ttyname(0);
+
+    if (ttyn == NULL || *ttyn == '\0') {
+       /* no snprintf required - see definition of tname */
+       snprintf(tname, sizeof(tname), "%s??", _PATH_DEV_TTY);
+       ttyn = tname;
+    }
+
+    check_ttyname(ttyn);
+
+    if (strncmp(ttyn, "/dev/", 5) == 0)
+       tty_name = ttyn+5;
+    else
+       tty_name = ttyn;
+
+    if (strncmp(ttyn, "/dev/tty", 8) == 0)
+       tty_number = ttyn+8;
+    else {
+       char *p = ttyn;
+       while (*p && !isdigit(*p)) p++;
+       tty_number = p;
+    }
+
+#ifdef LOGIN_CHOWN_VCS
+    /* find names of Virtual Console devices, for later mode change */
+    snprintf(vcsn, sizeof(vcsn), "/dev/vcs%s", tty_number);
+    snprintf(vcsan, sizeof(vcsan), "/dev/vcsa%s", tty_number);
+#endif
+
+    /* set pgid to pid */
+    setpgrp();
+    /* this means that setsid() will fail */
+
+    {
+       struct termios tt, ttt;
+
+       tcgetattr(0, &tt);
+       ttt = tt;
+       ttt.c_cflag &= ~HUPCL;
+
+       /* These can fail, e.g. with ttyn on a read-only filesystem */
+       chown(ttyn, 0, 0);
+       chmod(ttyn, TTY_MODE);
+
+       /* Kill processes left on this tty */
+       tcsetattr(0,TCSAFLUSH,&ttt);
+       signal(SIGHUP, SIG_IGN); /* so vhangup() wont kill us */
+       vhangup();
+       signal(SIGHUP, SIG_DFL);
+
+       /* open stdin,stdout,stderr to the tty */
+       opentty(ttyn);
+
+       /* restore tty modes */
+       tcsetattr(0,TCSAFLUSH,&tt);
+    }
+
+    openlog("login", LOG_ODELAY, LOG_AUTHPRIV);
+
+#if 0
+    /* other than iso-8859-1 */
+    printf("\033(K");
+    fprintf(stderr,"\033(K");
+#endif
+
+#ifdef HAVE_SECURITY_PAM_MISC_H
+    /*
+     * username is initialized to NULL
+     * and if specified on the command line it is set.
+     * Therefore, we are safe not setting it to anything
+     */
+
+    retcode = pam_start(hflag?"remote":"login",username, &conv, &pamh);
+    if(retcode != PAM_SUCCESS) {
+       fprintf(stderr, _("%s: PAM failure, aborting: %s\n"),
+               "login", pam_strerror(pamh, retcode));
+       syslog(LOG_ERR, _("Couldn't initialize PAM: %s"),
+              pam_strerror(pamh, retcode));
+       exit(99);
+    }
+    /* hostname & tty are either set to NULL or their correct values,
+       depending on how much we know */
+    retcode = pam_set_item(pamh, PAM_RHOST, hostname);
+    PAM_FAIL_CHECK;
+    retcode = pam_set_item(pamh, PAM_TTY, tty_name);
+    PAM_FAIL_CHECK;
+
+    /*
+     * 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).
+     */
+    retcode = pam_set_item(pamh, PAM_USER_PROMPT, _("login: "));
+    PAM_FAIL_CHECK;
+
+#if 0
+    /*
+     * other than iso-8859-1
+     * one more time due to reset tty by PAM
+     */
+    printf("\033(K");
+    fprintf(stderr,"\033(K");
+#endif
+
+    if (username) {
+       /* we need't the original username. We have to follow PAM. */
+       free(username);
+       username = NULL;
+    }
+
+    /* if fflag == 1, then the user has already been authenticated */
+    if (fflag && (getuid() == 0))
+       passwd_req = 0;
+    else
+       passwd_req = 1;
+
+    if(passwd_req == 1) {
+       int failcount=0;
+
+       /* if we didn't get a user on the command line, set it to NULL */
+       get_pam_username(pamh, &username);
+
+       /* 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 MAX_LOGIN_TRIES? */
+
+       retcode = pam_authenticate(pamh, 0);
+       while((failcount++ < PAM_MAX_LOGIN_TRIES) &&
+             ((retcode == PAM_AUTH_ERR) ||
+              (retcode == PAM_USER_UNKNOWN) ||
+              (retcode == PAM_CRED_INSUFFICIENT) ||
+              (retcode == PAM_AUTHINFO_UNAVAIL))) {
+           get_pam_username(pamh, &username);
+
+           syslog(LOG_NOTICE,_("FAILED LOGIN %d FROM %s FOR %s, %s"),
+                  failcount, hostname, username, pam_strerror(pamh, retcode));
+           logbtmp(tty_name, username, hostname);
+           logaudit(tty_name, username, hostname, NULL, 0);
+
+           fprintf(stderr,_("Login incorrect\n\n"));
+           pam_set_item(pamh,PAM_USER,NULL);
+           retcode = pam_authenticate(pamh, 0);
+       }
+
+       if (retcode != PAM_SUCCESS) {
+           get_pam_username(pamh, &username);
+
+           if (retcode == PAM_MAXTRIES)
+               syslog(LOG_NOTICE,_("TOO MANY LOGIN TRIES (%d) FROM %s FOR "
+                       "%s, %s"), failcount, hostname, username,
+                        pam_strerror(pamh, retcode));
+           else
+               syslog(LOG_NOTICE,_("FAILED LOGIN SESSION FROM %s FOR %s, %s"),
+                       hostname, username, pam_strerror(pamh, retcode));
+           logbtmp(tty_name, username, hostname);
+           logaudit(tty_name, username, hostname, NULL, 0);
+
+           fprintf(stderr,_("\nLogin incorrect\n"));
+           pam_end(pamh, retcode);
+           exit(0);
+       }
+    }
+
+    /*
+     * 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 (althought kerberos ticket is valid).
+     * -- kzak@redhat.com (22-Feb-2006)
+     */
+    retcode = pam_acct_mgmt(pamh, 0);
+
+    if(retcode == PAM_NEW_AUTHTOK_REQD) {
+        retcode = pam_chauthtok(pamh, PAM_CHANGE_EXPIRED_AUTHTOK);
+    }
+
+    PAM_FAIL_CHECK;
+
+    /*
+     * Grab the user information out of the password file for future usage
+     * First get the username that we are actually using, though.
+     */
+    retcode = get_pam_username(pamh, &username);
+    PAM_FAIL_CHECK;
+
+    if (!username || !*username) {
+           fprintf(stderr, _("\nSession setup problem, abort.\n"));
+           syslog(LOG_ERR, _("NULL user name in %s:%d. Abort."),
+                  __FUNCTION__, __LINE__);
+           pam_end(pamh, PAM_SYSTEM_ERR);
+           exit(1);
+    }
+    if (!(pwd = getpwnam(username))) {
+           fprintf(stderr, _("\nSession setup problem, abort.\n"));
+           syslog(LOG_ERR, _("Invalid user name \"%s\" in %s:%d. Abort."),
+                  username, __FUNCTION__, __LINE__);
+           pam_end(pamh, PAM_SYSTEM_ERR);
+           exit(1);
+    }
+
+    /*
+     * Create a copy of the pwd struct - otherwise it may get
+     * clobbered by PAM
+     */
+    memcpy(&pwdcopy, pwd, sizeof(*pwd));
+    pwd = &pwdcopy;
+    pwd->pw_name   = strdup(pwd->pw_name);
+    pwd->pw_passwd = strdup(pwd->pw_passwd);
+    pwd->pw_gecos  = strdup(pwd->pw_gecos);
+    pwd->pw_dir    = strdup(pwd->pw_dir);
+    pwd->pw_shell  = strdup(pwd->pw_shell);
+    if (!pwd->pw_name || !pwd->pw_passwd || !pwd->pw_gecos ||
+       !pwd->pw_dir || !pwd->pw_shell) {
+           fprintf(stderr, _("login: Out of memory\n"));
+           syslog(LOG_ERR, "Out of memory");
+           pam_end(pamh, PAM_SYSTEM_ERR);
+           exit(1);
+    }
+    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.
+     */
+    if (initgroups(username, pwd->pw_gid) < 0) {
+           syslog(LOG_ERR, "initgroups: %m");
+           fprintf(stderr, _("\nSession setup problem, abort.\n"));
+           pam_end(pamh, PAM_SYSTEM_ERR);
+           exit(1);
+    }
+
+    retcode = pam_open_session(pamh, 0);
+    PAM_FAIL_CHECK;
+
+    retcode = pam_setcred(pamh, PAM_ESTABLISH_CRED);
+    if (retcode != PAM_SUCCESS)
+           pam_close_session(pamh, 0);
+    PAM_FAIL_CHECK;
+
+#else /* ! HAVE_SECURITY_PAM_MISC_H */
+
+    for (cnt = 0;; ask = 1) {
+
+       if (ask) {
+           fflag = 0;
+           getloginname();
+       }
+
+       /* Dirty patch to fix a gigantic security hole when using
+          yellow pages. This problem should be solved by the
+          libraries, and not by programs, but this must be fixed
+          urgently! If the first char of the username is '+', we
+          avoid login success.
+          Feb 95 <alvaro@etsit.upm.es> */
+
+       if (username[0] == '+') {
+           puts(_("Illegal username"));
+           badlogin(username);
+           sleepexit(1);
+       }
+
+       /* (void)strcpy(tbuf, username); why was this here? */
+       if ((pwd = getpwnam(username))) {
+#  ifdef SHADOW_PWD
+           struct spwd *sp;
+
+           if ((sp = getspnam(username)))
+             pwd->pw_passwd = sp->sp_pwdp;
+#  endif
+           salt = pwd->pw_passwd;
+       } else
+         salt = "xx";
+
+       if (pwd) {
+           initgroups(username, pwd->pw_gid);
+           checktty(username, tty_name, pwd); /* in checktty.c */
+       }
+
+       /* if user not super-user, check for disabled logins */
+       if (pwd == NULL || pwd->pw_uid)
+         checknologin();
+
+       /*
+        * Disallow automatic login to root; if not invoked by
+        * root, disallow if the uid's differ.
+        */
+       if (fflag && pwd) {
+           int uid = getuid();
+
+           passwd_req = pwd->pw_uid == 0 ||
+             (uid && uid != pwd->pw_uid);
+       }
+
+       /*
+        * If trying to log in as root, but with insecure terminal,
+        * refuse the login attempt.
+        */
+       if (pwd && pwd->pw_uid == 0 && !rootterm(tty_name)) {
+           fprintf(stderr,
+                   _("%s login refused on this terminal.\n"),
+                   pwd->pw_name);
+
+           if (hostname)
+             syslog(LOG_NOTICE,
+                    _("LOGIN %s REFUSED FROM %s ON TTY %s"),
+                    pwd->pw_name, hostname, tty_name);
+           else
+             syslog(LOG_NOTICE,
+                    _("LOGIN %s REFUSED ON TTY %s"),
+                    pwd->pw_name, tty_name);
+           logaudit(tty_name, pwd->pw_name, hostname, pwd, 0);
+           continue;
+       }
+
+       /*
+        * If no pre-authentication and a password exists
+        * for this user, prompt for one and verify it.
+        */
+       if (!passwd_req || (pwd && !*pwd->pw_passwd))
+         break;
+
+       setpriority(PRIO_PROCESS, 0, -4);
+       pp = getpass(_("Password: "));
+
+#  ifdef CRYPTOCARD
+       if (strncmp(pp, "CRYPTO", 6) == 0) {
+           if (pwd && cryptocard()) break;
+       }
+#  endif /* CRYPTOCARD */
+
+       p = crypt(pp, salt);
+       setpriority(PRIO_PROCESS, 0, 0);
+
+#  ifdef KERBEROS
+       /*
+        * If not present in pw file, act as we normally would.
+        * If we aren't Kerberos-authenticated, try the normal
+        * pw file for a password.  If that's ok, log the user
+        * in without issueing any tickets.
+        */
+
+       if (pwd && !krb_get_lrealm(realm,1)) {
+           /*
+            * get TGT for local realm; be careful about uid's
+            * here for ticket file ownership
+            */
+           setreuid(geteuid(),pwd->pw_uid);
+           kerror = krb_get_pw_in_tkt(pwd->pw_name, "", realm,
+                                      "krbtgt", realm, DEFAULT_TKT_LIFE, pp);
+           setuid(0);
+           if (kerror == INTK_OK) {
+               memset(pp, 0, strlen(pp));
+               notickets = 0;  /* user got ticket */
+               break;
+           }
+       }
+#  endif /* KERBEROS */
+       memset(pp, 0, strlen(pp));
+
+       if (pwd && !strcmp(p, pwd->pw_passwd))
+         break;
+
+       printf(_("Login incorrect\n"));
+       badlogin(username); /* log ALL bad logins */
+       failures++;
+
+       /* we allow 10 tries, but after 3 we start backing off */
+       if (++cnt > 3) {
+           if (cnt >= 10) {
+               sleepexit(1);
+           }
+           sleep((unsigned int)((cnt - 3) * 5));
+       }
+    }
+#endif /* !HAVE_SECURITY_PAM_MISC_H */
+
+    /* committed to login -- turn off timeout */
+    alarm((unsigned int)0);
+
+    endpwent();
+
+    /* This 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() */
+
+    {
+       char tmpstr[MAXPATHLEN];
+       uid_t ruid = getuid();
+       gid_t egid = getegid();
+
+       /* avoid snprintf - old systems do not have it, or worse,
+          have a libc in which snprintf is the same as sprintf */
+       if (strlen(pwd->pw_dir) + sizeof(_PATH_HUSHLOGIN) + 2 > MAXPATHLEN)
+               quietlog = 0;
+       else {
+               sprintf(tmpstr, "%s/%s", pwd->pw_dir, _PATH_HUSHLOGIN);
+               setregid(-1, pwd->pw_gid);
+               setreuid(0, pwd->pw_uid);
+               quietlog = (effective_access(tmpstr, O_RDONLY) == 0);
+               setuid(0); /* setreuid doesn't do it alone! */
+               setreuid(ruid, 0);
+               setregid(-1, egid);
+       }
+    }
+
+    /* for linux, write entries in utmp and wtmp */
+    {
+       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 == 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. (anonymous) */
+       if (utp == NULL) {
+            setutent();
+            ut.ut_type = LOGIN_PROCESS;
+            strncpy(ut.ut_line, 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 (ut.ut_id[0] == 0)
+         strncpy(ut.ut_id, tty_number, sizeof(ut.ut_id));
+
+       strncpy(ut.ut_user, username, sizeof(ut.ut_user));
+       xstrncpy(ut.ut_line, 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 = pid;
+       if (hostname) {
+               xstrncpy(ut.ut_host, hostname, sizeof(ut.ut_host));
+               if (hostaddress[0])
+                       memcpy(&ut.ut_addr_v6, hostaddress, sizeof(ut.ut_addr_v6));
+       }
+
+       pututline(&ut);
+       endutent();
+
+#if HAVE_UPDWTMP
+       updwtmp(_PATH_WTMP, &ut);
+#else
+#if 0
+       /* The O_APPEND open() flag should be enough to guarantee
+          atomic writes at end of file. */
+       {
+           int wtmp;
+
+           if((wtmp = open(_PATH_WTMP, O_APPEND|O_WRONLY)) >= 0) {
+               write(wtmp, (char *)&ut, sizeof(ut));
+               close(wtmp);
+           }
+       }
+#else
+       /* Probably all this locking below is just nonsense,
+          and the short version is OK as well. */
+       {
+           int lf, wtmp;
+           if ((lf = open(_PATH_WTMPLOCK, O_CREAT|O_WRONLY, 0660)) >= 0) {
+               flock(lf, LOCK_EX);
+               if ((wtmp = open(_PATH_WTMP, O_APPEND|O_WRONLY)) >= 0) {
+                   write(wtmp, (char *)&ut, sizeof(ut));
+                   close(wtmp);
+               }
+               flock(lf, LOCK_UN);
+               close(lf);
+           }
+       }
+#endif
+#endif
+    }
+
+    logaudit(tty_name, username, hostname, pwd, 1);
+    dolastlog(quietlog);
+
+    chown(ttyn, pwd->pw_uid,
+         (gr = getgrnam(TTYGRPNAME)) ? gr->gr_gid : pwd->pw_gid);
+    chmod(ttyn, TTY_MODE);
+
+#ifdef LOGIN_CHOWN_VCS
+    /* if tty is one of the VC's then change owner and mode of the
+       special /dev/vcs devices as well */
+    if (consoletty(0)) {
+       chown(vcsn, pwd->pw_uid, (gr ? gr->gr_gid : pwd->pw_gid));
+       chown(vcsan, pwd->pw_uid, (gr ? gr->gr_gid : pwd->pw_gid));
+       chmod(vcsn, TTY_MODE);
+       chmod(vcsan, TTY_MODE);
+    }
+#endif
+
+    setgid(pwd->pw_gid);
+
+    if (*pwd->pw_shell == '\0')
+      pwd->pw_shell = _PATH_BSHELL;
+
+    /* preserve TERM even without -p flag */
+    {
+       char *ep;
+
+       if(!((ep = getenv("TERM")) && (termenv = strdup(ep))))
+         termenv = "dumb";
+    }
+
+    /* destroy environment unless user has requested preservation */
+    if (!pflag)
+      {
+          environ = (char**)malloc(sizeof(char*));
+         memset(environ, 0, sizeof(char*));
+      }
+
+    setenv("HOME", pwd->pw_dir, 0);      /* legal to override */
+    if(pwd->pw_uid)
+      setenv("PATH", _PATH_DEFPATH, 1);
+    else
+      setenv("PATH", _PATH_DEFPATH_ROOT, 1);
+
+    setenv("SHELL", pwd->pw_shell, 1);
+    setenv("TERM", termenv, 1);
+
+    /* mailx will give a funny error msg if you forget this one */
+    {
+      char tmp[MAXPATHLEN];
+      /* avoid snprintf */
+      if (sizeof(_PATH_MAILDIR) + strlen(pwd->pw_name) + 1 < MAXPATHLEN) {
+             sprintf(tmp, "%s/%s", _PATH_MAILDIR, pwd->pw_name);
+             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);
+
+#ifdef HAVE_SECURITY_PAM_MISC_H
+    {
+       int i;
+       char ** env = pam_getenvlist(pamh);
+
+       if (env != NULL) {
+           for (i=0; env[i]; i++) {
+               putenv(env[i]);
+               /* D(("env[%d] = %s", i,env[i])); */
+           }
+       }
+    }
+#endif
+
+    setproctitle("login", username);
+
+    if (!strncmp(tty_name, "ttyS", 4))
+      syslog(LOG_INFO, _("DIALUP AT %s BY %s"), tty_name, pwd->pw_name);
+
+    /* allow tracking of good logins.
+       -steve philp (sphilp@mail.alliance.net) */
+
+    if (pwd->pw_uid == 0) {
+       if (hostname)
+         syslog(LOG_NOTICE, _("ROOT LOGIN ON %s FROM %s"),
+                tty_name, hostname);
+       else
+         syslog(LOG_NOTICE, _("ROOT LOGIN ON %s"), tty_name);
+    } else {
+       if (hostname)
+         syslog(LOG_INFO, _("LOGIN ON %s BY %s FROM %s"), tty_name,
+                pwd->pw_name, hostname);
+       else
+         syslog(LOG_INFO, _("LOGIN ON %s BY %s"), tty_name,
+                pwd->pw_name);
+    }
+
+    if (!quietlog) {
+       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
+    }
+
+    signal(SIGALRM, SIG_DFL);
+    signal(SIGQUIT, SIG_DFL);
+    signal(SIGTSTP, SIG_IGN);
+
+#ifdef HAVE_SECURITY_PAM_MISC_H
+
+    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) {
+       int errsv = errno;
+       /* error in fork() */
+       fprintf(stderr, _("login: failure forking: %s"), strerror(errsv));
+       PAM_END;
+       exit(0);
+    }
+
+    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_END;
+       exit(0);
+    }
+
+    /* child */
+
+    /* restore to old state */
+    sigaction(SIGHUP, &oldsa_hup, NULL);
+    sigaction(SIGTERM, &oldsa_term, NULL);
+    if(got_sig)
+           exit(1);
+
+    /*
+     * Problem: if the user's shell is a shell like ash that doesnt 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 */
+    opentty(ttyn);
+    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"));
+#endif
+    signal(SIGINT, SIG_DFL);
+
+    /* 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(1);
+    }
+
+    /* wait until here to change directory! */
+    if (chdir(pwd->pw_dir) < 0) {
+       printf(_("No directory %s!\n"), pwd->pw_dir);
+       if (chdir("/"))
+         exit(0);
+       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 = malloc(strlen(pwd->pw_shell) + 6);
+
+       if (!buff) {
+           fprintf(stderr, _("login: no memory for shell script.\n"));
+           exit(0);
+       }
+
+       strcpy(buff, "exec ");
+       strcat(buff, pwd->pw_shell);
+       childArgv[childArgc++] = "/bin/sh";
+       childArgv[childArgc++] = "-sh";
+       childArgv[childArgc++] = "-c";
+       childArgv[childArgc++] = buff;
+    } else {
+       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++] = tbuf;
+    }
+
+    childArgv[childArgc++] = NULL;
+
+    execvp(childArgv[0], childArgv + 1);
+
+    errsv = errno;
+
+    if (!strcmp(childArgv[0], "/bin/sh"))
+       fprintf(stderr, _("login: couldn't exec shell script: %s.\n"),
+               strerror(errsv));
+    else
+       fprintf(stderr, _("login: no shell: %s.\n"), strerror(errsv));
+
+    exit(0);
+}
+
+#ifndef HAVE_SECURITY_PAM_MISC_H
+static void
+getloginname(void) {
+    int ch, cnt, cnt2;
+    char *p;
+    static char nbuf[UT_NAMESIZE + 1];
+
+    cnt2 = 0;
+    for (;;) {
+       cnt = 0;
+       printf(_("\n%s login: "), thishost); fflush(stdout);
+       for (p = nbuf; (ch = getchar()) != '\n'; ) {
+           if (ch == EOF) {
+               badlogin("EOF");
+               exit(0);
+           }
+           if (p < nbuf + UT_NAMESIZE)
+             *p++ = ch;
+
+           cnt++;
+           if (cnt > UT_NAMESIZE + 20) {
+               fprintf(stderr, _("login name much too long.\n"));
+               badlogin(_("NAME too long"));
+               exit(0);
+           }
+       }
+       if (p > nbuf) {
+         if (nbuf[0] == '-')
+           fprintf(stderr,
+                   _("login names may not start with '-'.\n"));
+         else {
+             *p = '\0';
+             username = nbuf;
+             break;
+         }
+       }
+
+       cnt2++;
+       if (cnt2 > 50) {
+           fprintf(stderr, _("too many bare linefeeds.\n"));
+           badlogin(_("EXCESSIVE linefeeds"));
+           exit(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
+timedout2(int sig) {
+       struct termios ti;
+
+       /* reset echo */
+       tcgetattr(0, &ti);
+       ti.c_lflag |= ECHO;
+       tcsetattr(0, TCSANOW, &ti);
+       exit(0);                        /* %% */
+}
+
+static void
+timedout(int sig) {
+       signal(SIGALRM, timedout2);
+       alarm(10);
+       fprintf(stderr, _("Login timed out after %d seconds\n"), timeout);
+       signal(SIGALRM, SIG_IGN);
+       alarm(0);
+       timedout2(0);
+}
+
+#ifndef HAVE_SECURITY_PAM_MISC_H
+int
+rootterm(char * ttyn)
+{
+    int fd;
+    char buf[100],*p;
+    int cnt, more = 0;
+
+    fd = open(_PATH_SECURETTY, O_RDONLY);
+    if(fd < 0) return 1;
+
+    /* read each line in /etc/securetty, if a line matches our ttyline
+       then root is allowed to login on this tty, and we should return
+       true. */
+    for(;;) {
+       p = buf; cnt = 100;
+       while(--cnt >= 0 && (more = read(fd, p, 1)) == 1 && *p != '\n') p++;
+       if(more && *p == '\n') {
+           *p = '\0';
+           if(!strcmp(buf, ttyn)) {
+               close(fd);
+               return 1;
+           } else
+             continue;
+       } else {
+           close(fd);
+           return 0;
+       }
+    }
+}
+#endif /* !HAVE_SECURITY_PAM_MISC_H */
+
+jmp_buf motdinterrupt;
+
+void
+motd(void) {
+    int fd, nchars;
+    void (*oldint)(int);
+    char tbuf[8192];
+
+    if ((fd = open(_PATH_MOTDFILE, O_RDONLY, 0)) < 0)
+      return;
+    oldint = signal(SIGINT, sigint);
+    if (setjmp(motdinterrupt) == 0)
+      while ((nchars = read(fd, tbuf, sizeof(tbuf))) > 0)
+       write(fileno(stdout), tbuf, nchars);
+    signal(SIGINT, oldint);
+    close(fd);
+}
+
+void
+sigint(int sig) {
+    longjmp(motdinterrupt, 1);
+}
+
+#ifndef HAVE_SECURITY_PAM_MISC_H                       /* PAM takes care of this */
+void
+checknologin(void) {
+    int fd, nchars;
+    char tbuf[8192];
+
+    if ((fd = open(_PATH_NOLOGIN, O_RDONLY, 0)) >= 0) {
+       while ((nchars = read(fd, tbuf, sizeof(tbuf))) > 0)
+         write(fileno(stdout), tbuf, nchars);
+       close(fd);
+       sleepexit(0);
+    }
+}
+#endif
+
+void
+dolastlog(int quiet) {
+    struct lastlog ll;
+    int fd;
+
+    if ((fd = open(_PATH_LASTLOG, O_RDWR, 0)) >= 0) {
+       lseek(fd, (off_t)pwd->pw_uid * sizeof(ll), SEEK_SET);
+       if (!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)pwd->pw_uid * sizeof(ll), SEEK_SET);
+       }
+       memset((char *)&ll, 0, sizeof(ll));
+
+       {
+               time_t t;
+               time(&t);
+               ll.ll_time = t; /* ll_time is always 32bit */
+       }
+
+       xstrncpy(ll.ll_line, tty_name, sizeof(ll.ll_line));
+       if (hostname)
+           xstrncpy(ll.ll_host, hostname, sizeof(ll.ll_host));
+
+       write(fd, (char *)&ll, sizeof(ll));
+       close(fd);
+    }
+}
+
+void
+badlogin(const char *name) {
+    if (failures == 1) {
+       if (hostname)
+         syslog(LOG_NOTICE, _("LOGIN FAILURE FROM %s, %s"),
+                hostname, name);
+       else
+         syslog(LOG_NOTICE, _("LOGIN FAILURE ON %s, %s"),
+                tty_name, name);
+    } else {
+       if (hostname)
+         syslog(LOG_NOTICE, _("%d LOGIN FAILURES FROM %s, %s"),
+                failures, hostname, name);
+       else
+         syslog(LOG_NOTICE, _("%d LOGIN FAILURES ON %s, %s"),
+                failures, tty_name, name);
+    }
+}
+
+/* Should not be called from PAM code... */
+void
+sleepexit(int eval) {
+    sleep(SLEEP_EXIT_TIMEOUT);
+    exit(eval);
+}
diff --git a/login-utils/login.h b/login-utils/login.h
new file mode 100644 (file)
index 0000000..92b94b9
--- /dev/null
@@ -0,0 +1,9 @@
+/* defined in login.c */
+extern void badlogin(const char *s);
+extern void sleepexit(int);
+extern char hostaddress[16];
+extern char *hostname;
+extern sa_family_t hostfamily;
+
+/* defined in checktty.c */
+extern void checktty(const char *user, const char *tty, struct passwd *pwd);
diff --git a/login-utils/mesg.1 b/login-utils/mesg.1
new file mode 100644 (file)
index 0000000..38b5738
--- /dev/null
@@ -0,0 +1,103 @@
+.\" 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 "10 March 1995" "Linux 1.2" "Linux Programmer's Manual"
+.SH NAME
+mesg \- display (do not display) messages from other users
+.SH SYNOPSIS
+.B mesg
+.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.
+.PP
+Options available:
+.TP
+.B n
+Disallows messages.
+.TP
+.B y
+Permits messages to be displayed.
+.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 biff (1),
+.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-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/login-utils/mesg.c b/login-utils/mesg.c
new file mode 100644 (file)
index 0000000..e0015bd
--- /dev/null
@@ -0,0 +1,114 @@
+/*
+ * 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
+ *
+ * 
+ */
+
+#include <sys/types.h>
+#include <sys/stat.h>
+
+#include <errno.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <err.h>
+#include "nls.h"
+
+int
+main(argc, argv)
+       int argc;
+       char *argv[];
+{
+       struct stat sb;
+       char *tty;
+       int ch;
+
+       setlocale(LC_ALL, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+
+
+       while ((ch = getopt(argc, argv, "")) != -1)
+               switch (ch) {
+               case '?':
+               default:
+                       goto usage;
+               }
+       argc -= optind;
+       argv += optind;
+
+       if ((tty = ttyname(STDERR_FILENO)) == NULL)
+               err(1, "ttyname");
+       if (stat(tty, &sb) < 0)
+               err(1, "%s", tty);
+
+       if (*argv == NULL) {
+               if (sb.st_mode & (S_IWGRP | S_IWOTH)) {
+                       (void)fprintf(stdout, _("is y\n"));
+                       exit(0);
+               }
+               (void)fprintf(stdout, _("is n\n"));
+               exit(1);
+       }
+
+       switch (*argv[0]) {
+       case 'y':
+#ifdef USE_TTY_GROUP
+               if (chmod(tty, sb.st_mode | S_IWGRP) < 0)
+                       err(1, "%s", tty);
+#else
+               if (chmod(tty, sb.st_mode | S_IWGRP | S_IWOTH) < 0)
+                       err(1, "%s", tty);
+#endif
+               exit(0);
+       case 'n':
+               if (chmod(tty, sb.st_mode & ~(S_IWGRP|S_IWOTH)) < 0)
+                       err(1, "%s", tty);
+               exit(1);
+       }
+
+usage: (void)fprintf(stderr, _("usage: mesg [y | n]\n"));
+       exit(2);
+}
diff --git a/login-utils/my_crypt.h b/login-utils/my_crypt.h
new file mode 100644 (file)
index 0000000..efb1a66
--- /dev/null
@@ -0,0 +1,3 @@
+#if defined (__GNU_LIBRARY__) && __GNU_LIBRARY__ > 1
+#include <crypt.h>
+#endif
diff --git a/login-utils/newgrp.1 b/login-utils/newgrp.1
new file mode 100644 (file)
index 0000000..fade125
--- /dev/null
@@ -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 "9 October 1993" "Linux 1.2" "Linux Programmer's Manual"
+.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-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/login-utils/newgrp.c b/login-utils/newgrp.c
new file mode 100644 (file)
index 0000000..189a382
--- /dev/null
@@ -0,0 +1,147 @@
+/* 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 */
+/* Currently maintained at ftp://ftp.daimi.aau.dk/pub/linux/poe/ */
+
+/* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+ * - added Native Language Support
+ */
+
+#include <unistd.h>
+#include <pwd.h>
+#include <grp.h>
+#include <string.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <errno.h>
+#include "pathnames.h"
+#include "my_crypt.h"
+#include "nls.h"
+
+#ifndef TRUE
+# define TRUE 1
+#endif
+
+#ifndef FALSE
+# define FALSE 0
+#endif
+
+/* try to read password from gshadow */
+static char *
+get_gshadow_pwd(char *groupname)
+{
+       char buf[BUFSIZ];
+       char *pwd = NULL;
+       FILE *f = fopen(_PATH_GSHADOW, "r");
+
+       if (groupname == NULL || *groupname == '\0' || f == NULL)
+               return NULL;
+
+       while(fgets(buf, sizeof buf, f))
+       {
+               char *cp = strchr (buf, ':');
+               if (!cp)
+                       continue;                               /* any junk in gshadow? */
+               *cp = '\0';
+               if (strcmp(buf, groupname) == 0)
+               {
+                       if (cp-buf >= BUFSIZ)
+                               break;                          /* only group name on line */
+                       pwd = cp+1;
+                       if ((cp = strchr(pwd, ':')) && pwd == cp+1 )
+                               pwd = NULL;                     /* empty password */
+                       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) return TRUE;    /* root may do anything */
+    if (ge->gr_gid == pe->pw_gid) return TRUE; /* You can switch back to your default group */
+
+    look = ge->gr_mem;
+    while (*look && (notfound = strcmp(*look++,pe->pw_name)));
+
+    if(!notfound) return TRUE;         /* member of group => OK */
+
+    /* 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)
+          return TRUE;         /* password accepted */
+     }
+
+    return FALSE;                      /* default to denial */
+}
+
+int 
+main(int argc, char *argv[])
+{
+    struct passwd *pw_entry;
+    struct group *gr_entry;
+    char *shell;
+
+    setlocale(LC_ALL, "");
+    bindtextdomain(PACKAGE, LOCALEDIR);
+    textdomain(PACKAGE);
+    
+    if (!(pw_entry = getpwuid(getuid()))) {
+       perror(_("newgrp: Who are you?"));
+       exit(1);
+    }
+    
+    shell = (pw_entry->pw_shell[0] ? pw_entry->pw_shell : _PATH_BSHELL);
+    
+    if (argc < 2) {
+       if(setgid(pw_entry->pw_gid) < 0) {
+           perror(_("newgrp: setgid"));
+           exit(1);
+       }
+    } else {
+       errno = 0;
+       if (!(gr_entry = getgrnam(argv[1]))) {
+           if (errno)
+                   perror(_("newgrp: No such group."));                        /* error */
+           else
+                   fprintf(stderr, "%s\n", _("newgrp: No such group."));       /* no group */
+           exit(1);
+       } else {
+           if(allow_setgid(pw_entry, gr_entry)) {
+               if(setgid(gr_entry->gr_gid) < 0) {
+                   perror(_("newgrp: setgid"));
+                   exit(1);
+               }
+           } else {
+               puts(_("newgrp: Permission denied"));
+               exit(1);
+           }
+       }
+    }
+
+    if(setuid(getuid()) < 0) {
+       perror(_("newgrp: setuid"));
+       exit(1);
+    }
+
+    fflush(stdout); fflush(stderr);
+    execl(shell,shell,(char*)0);
+    perror(_("No shell"));
+    fflush(stderr);
+    exit(1);
+}
diff --git a/login-utils/reboot.8 b/login-utils/reboot.8
new file mode 100644 (file)
index 0000000..386d971
--- /dev/null
@@ -0,0 +1 @@
+.so man8/shutdown.8
diff --git a/login-utils/selinux_utils.c b/login-utils/selinux_utils.c
new file mode 100644 (file)
index 0000000..2db5dd3
--- /dev/null
@@ -0,0 +1,54 @@
+#include <sys/types.h>
+#include <stdio.h>
+#include <string.h>
+#include <selinux/selinux.h>
+#include <selinux/flask.h>
+#include <selinux/av_permissions.h>
+#include <selinux/context.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) == 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 (file)
index 0000000..5bf393c
--- /dev/null
@@ -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 (file)
index 0000000..2aa7dd5
--- /dev/null
@@ -0,0 +1,227 @@
+/*
+ *  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
+
+/*  because I use getpwent(), putpwent(), etc... */
+#define _SVID_SOURCE
+
+#include <sys/types.h>
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <pwd.h>
+#include <errno.h>
+#include <signal.h>
+#include <sys/resource.h>
+#include <sys/stat.h>
+#include <paths.h>
+
+#include "setpwnam.h"
+
+#define false 0
+#define true 1
+
+typedef int boolean;
+
+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 x, save_errno, fd, ret;
+    boolean found;
+    int oldumask;
+    int namelen;
+    int buflen = 256;
+    int contlen;
+    char *linebuf = malloc(buflen);
+
+    if (!linebuf) return -1;
+
+    oldumask = umask(0);   /* Create with exact permissions */
+
+    pw_init();
+
+    /* sanity check */
+    for (x = 0; x < 3; x++) {
+       if (x > 0) sleep(1);
+       fd = open(PTMPTMP_FILE, O_WRONLY|O_CREAT|O_EXCL, 0644);
+       if (fd == -1) {
+           umask(oldumask);
+           return -1;
+       }
+       ret = link(PTMPTMP_FILE, PTMP_FILE);
+       unlink(PTMPTMP_FILE);
+       if (ret == -1)
+           close(fd);
+       else
+           break;
+    }
+    umask(oldumask);
+    if (ret == -1) return -1;
+
+    /* ptmp should be owned by root.root or root.wheel */
+    if (chown(PTMP_FILE, (uid_t) 0, (gid_t) 0) < 0) return -1;
+
+    /* open ptmp for writing and passwd for reading */
+    fp = fdopen(fd, "w");
+    if (!fp) goto fail;
+
+    pwf = fopen(PASSWD_FILE, "r");
+    if (!pwf) goto fail;
+
+    namelen = strlen(pwd->pw_name);
+
+    /* 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)) {
+           /* Extend input buffer if it failed getting the whole line */
+
+           /* So now we double the buffer size */
+           buflen *= 2;
+
+           linebuf = realloc(linebuf, buflen);
+           if (linebuf == NULL) goto fail;
+
+           /* 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);
+    }
+
+    if (fclose(fp) < 0) goto fail;
+    fp = NULL;
+    close (fd);
+    fd = -1;
+    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 */
+    link(PASSWD_FILE, PASSWD_FILE".OLD");
+    /* we DO care if we can't rename to the passwd file */
+    if(rename(PTMP_FILE, PASSWD_FILE) < 0)
+       goto fail;
+    /* finally:  success */
+    return 0;
+
+fail:
+    save_errno = errno;
+    if (fp != NULL) fclose (fp);
+    if (pwf != NULL) fclose(pwf);
+    if (fd >= 0) close (fd);
+    free(linebuf);
+    unlink(PTMP_FILE);
+    errno = save_errno;
+    return -1;
+}
+
+/* Set up the limits so that we're not foiled */
+
+static void 
+pw_init()
+{
+    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 (file)
index 0000000..e7f44a9
--- /dev/null
@@ -0,0 +1,52 @@
+/*
+ *  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 PTMP_FILE      _PATH_PTMP
+#define PTMPTMP_FILE   _PATH_PTMPTMP
+
+#define GROUP_FILE     _PATH_GROUP
+#define GTMP_FILE      _PATH_GTMP
+#define GTMPTMP_FILE   _PATH_GTMPTMP
+
+#define SHADOW_FILE    _PATH_SHADOW_PASSWD
+#define SPTMP_FILE     _PATH_SHADOW_PTMP
+#define SPTMPTMP_FILE  _PATH_SHADOW_PTMPTMP
+
+#define SGROUP_FILE    _PATH_SHADOW_GROUP
+#define SGTMP_FILE     _PATH_SHADOW_GTMP
+#define SGTMPTMP_FILE  _PATH_SHADOW_GTMPTMP
+
+#else
+#define PASSWD_FILE    "/tmp/passwd"
+#define PTMP_FILE      "/tmp/ptmp"
+#define PTMPTMP_FILE   "/tmp/ptmptmp"
+
+#define GROUP_FILE     "/tmp/group"
+#define GTMP_FILE      "/tmp/gtmp"
+#define GTMPTMP_FILE   "/tmp/gtmptmp"
+
+#define SHADOW_FILE    "/tmp/shadow"
+#define SPTMP_FILE     "/tmp/sptmp"
+#define SPTMPTMP_FILE  "/tmp/sptmptmp"
+
+#define SGROUP_FILE    "/tmp/gshadow"
+#define SGTMP_FILE     "/tmp/sgtmp"
+#define SGTMPTMP_FILE  "/tmp/sgtmptmp"
+#endif
+
+extern int setpwnam (struct passwd *pwd);
diff --git a/login-utils/shutdown.8 b/login-utils/shutdown.8
new file mode 100644 (file)
index 0000000..371310b
--- /dev/null
@@ -0,0 +1,169 @@
+.\" Copyright 1992 Rickard E. Faith (faith@cs.unc.edu)
+.\" May be distributed under the GNU General Public License
+.\"
+.\"
+.TH SHUTDOWN 8 "2 March 2000" "Linux 2.0" "Linux Programmer's Manual"
+.SH NAME
+shutdown \- close down the system
+.SH SYNOPSIS
+.B shutdown
+.RB [ \-h | \-r ]
+.RB [ \-fqs ]
+.RB [ now | \fIhh\fP:\fIss\fP | +\fImins\fP ]
+.RI [ message ]
+.br
+.B reboot
+.RB [ \-h | \-r ]
+.RB [ \-fqs ]
+.RB [ now | \fIhh\fP:\fIss\fP | +\fImins\fP ]
+.RI [ message ]
+.br
+.B fastboot
+.RB [ \-h | \-r ]
+.RB [ \-fqs ]
+.RB [ now | \fIhh\fP:\fIss\fP | +\fImins\fP ]
+.RI [ message ]
+.br
+.B halt
+.RB [ \-h | \-r ]
+.RB [ \-fqs ]
+.RB [ now | \fIhh\fP:\fIss\fP | +\fImins\fP ]
+.RI [ message ]
+.br
+.B fasthalt
+.RB [ \-h | \-r ]
+.RB [ \-fqs ]
+.RB [ now | \fIhh\fP:\fIss\fP | +\fImins\fP ]
+.RI [ message ]
+.SH DESCRIPTION
+.\" " for emacs hilit19
+In general,
+.B shutdown
+prepares the system for a power down or reboot.  A absolute or delta time
+can be given, and periodic messages will be sent to all users warning of
+the shutdown. If no message is specified on the command line,
+.B shutdown
+will ask for a message to be sent, unless the
+.B \-q
+option is set.
+
+.B halt
+is the same as
+.B "shutdown -h -q now"
+
+.B fasthalt
+is the same as
+.B "shutdown -h -q -f now"
+
+.B reboot
+is the same as
+.B "shutdown -r -q now"
+
+.B fastboot
+is the same as
+.B "shutdown -r -q -f now"
+
+The default delta time, if none is specified, is 2 minutes.
+
+Five minutes before shutdown (or immediately, if shutdown is less than five
+minutes away), the
+.I /etc/nologin
+file is created with a message stating that the system is going down and
+that logins are no longer permitted.  The
+.BR login (1)
+program will not allow non-superusers to login during this period.  A
+message will be sent to all users at this time.
+
+When the shutdown time arrives,
+.B shutdown
+notifies all users, tells
+.BR init (8)
+not to spawn more
+.BR getty (8)'s,
+writes the shutdown time into the
+.I /var/log/wtmp
+file, kills all other processes on the system,
+.BR sync (2)'s,
+unmounts all the disks,
+.BR sync (2)'s
+again, waits for a second, and then either terminates or reboots the
+system.
+
+Prior to unmounting all discs, the \fBSIGQUIT\fP signal is sent to the
+\fBinit\fP process, which will in turn exec \fBshutdown\fP(8). This
+allows for clean unmounting, even if the old inode for the \fBinit\fP
+process was unlinked. If the current process ID (PID) equals 1, then
+\fBshutdown\fP(8) will pause forever.
+.SH OPTIONS
+.TP
+.B \-h
+Halt the system.  Do not reboot.  This option is used when powering down
+the system.
+.TP
+.B \-r
+Reboot the system.
+.TP
+.B \-f
+Fast.  When the system is rebooted, the file systems will not be checked.
+This is arranged by creating
+.IR /fastboot ,
+which
+.I /etc/rc
+must detect (and delete).
+.TP
+.B \-q
+Quiet.  This uses a default broadcast message, and does not prompt the user
+for one.
+.TP
+.B \-s
+Reboot in single user mode.  This is arranged by creating
+.IR /etc/singleboot ,
+which
+.BR simpleinit (8)
+detects (and deletes).
+.SH FILES
+.nf
+.I /etc/rc
+.I /fastboot
+.I /etc/singleboot
+.I /etc/nologin
+.I /var/log/wtmp
+.I /etc/shutdown.conf
+.fi
+.SH CONFIG
+The configuration file \fI/etc/shutdown.conf\fP is used to determine
+the action to take when halting the machine. The currently supported
+file format is extremely primitive. The first line must contain two
+strings separated by whitespace. The first string must be
+\fBHALT_ACTION\fP and the second specifies the action you wish to take
+on halt. The options allowed are:
+.TP
+.B halt
+This will simply halt the system. This is the default behaviour.
+Note also that this is the fallback if another option fails.
+.TP
+.B power_off
+This will use the kernel power shutdown facility. This is usually only
+available on machines with Advanced Power Management (APM).
+.TP
+.I programname
+This specifies a command to run to shut down the power. The first
+character must be a "/". Bear in mind that this command will be run
+with only the root filesystem mounted (and it will be read-only), and
+no daemons running.
+.SH "SEE ALSO"
+.BR umount (8),
+.BR login (1),
+.BR reboot (2),
+.BR simpleinit (8),
+.BR init (8)
+.SH BUGS
+Unlike the BSD
+.BR shutdown ,
+users are notified of shutdown only once or twice, instead of many times,
+and at shorter and shorter intervals as "apocalypse approaches."
+Some would construe this as a feature.
+.SH AUTHOR
+This page documents the version of
+.B shutdown
+originally written by Peter Orbaek (poe@daimi.aau.dk).
diff --git a/login-utils/shutdown.c b/login-utils/shutdown.c
new file mode 100644 (file)
index 0000000..58600b9
--- /dev/null
@@ -0,0 +1,753 @@
+/* shutdown.c - shutdown a Linux system
+ * Initially written by poe@daimi.aau.dk 
+ * Currently maintained at ftp://ftp.daimi.aau.dk/pub/Software/Linux/
+ */
+
+/*
+ * Modified by jrs@world.std.com to try to exec "umount -a" and if
+ * that doesn't work, then umount filesystems ourselves in reverse
+ * order.  The old-way was in forward order.  Also if the device
+ * field of the mtab does not start with a "/" then give umount
+ * the mount point instead.  This is needed for the nfs and proc
+ * filesystems and yet is compatible with older systems.
+ *
+ * We also use the mntent library interface to read the mtab file
+ * instead of trying to parse it directly and no longer give a
+ * warning about not being able to umount the root.
+ *
+ * The reason "umount -a" should be tried first is because it may do
+ * special processing for some filesystems (such as informing an
+ * nfs server about nfs umounts) that we don't want to cope with here.
+ */
+
+/*
+ * Various changes and additions to resemble SunOS 4 shutdown/reboot/halt(8)
+ * more closely by Scott Telford (s.telford@ed.ac.uk) 93/05/18.
+ * (I butchered Scotts patches somewhat. - poe)
+ *
+ * Changes by Richard Gooch <rgooch@atnf.csiro.au> (butchered by aeb)
+ * introducing shutdown.conf.
+ *
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+ * - added Native Language Support
+ *
+ * 2000-03-02 Richard Gooch <rgooch@atnf.csiro.au>
+ * - pause forever if (pid == 1) and send SIGQUIT to pid = 1
+ *
+ * 2000-11-04 Richard Gooch <rgooch@atnf.csiro.au>
+ * - continue reaping if (pid == 1)
+ *
+ * 2000-11-06 Richard Gooch <rgooch@atnf.csiro.au>
+ * - shut down "finalprog" from /etc/inittab
+ * - kill normal user (non-root and non-daemon) processes first with SIGTERM
+ *
+ * 2000-11-08 Richard Gooch <rgooch@atnf.csiro.au>
+ * - rollback services
+ * - do not unmount devfs (otherwise get harmless but annoying messages)
+ * - created syncwait() for faster shutting down
+ * - kill getty processes
+ * 2001-05-12 Richard Gooch <rgooch@atnf.csiro.au>
+ * - unblock all signals (sigmask from simpleinit(8) stopped sleep(3))
+ * - close all files
+ */
+
+#include <stdio.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <utmp.h>
+#include <time.h>
+#include <string.h>
+#include <ctype.h>
+#include <signal.h>
+#include <errno.h>
+#include <sys/param.h>
+#include <termios.h>
+#include <mntent.h>
+#include <sys/mount.h>
+#include <sys/wait.h>
+#include <syslog.h>
+#include <sys/resource.h>
+#include <sys/types.h>
+#include <dirent.h>
+#include <sys/stat.h>
+#include <sys/utsname.h>
+#include "linux_reboot.h"
+#include "pathnames.h"
+#include "xstrncpy.h"
+#include "nls.h"
+
+static void usage(void), int_handler(int), write_user(struct utmp *);
+static void wall(void), write_wtmp(void), unmount_disks(void);
+static void unmount_disks_ourselves(void);
+static void swap_off(void), do_halt(char *);
+static void kill_mortals (int sig);
+static void stop_finalprog (void);
+static void syncwait (int timeval);
+
+
+char   *prog;          /* name of the program */
+int    opt_reboot;     /* true if -r option or reboot command */
+int    timeout;        /* number of seconds to shutdown */
+int    opt_quiet;      /* true if no message is wanted */
+int    opt_fast;       /* true if fast boot */
+char   message[90];    /* reason for shutdown if any... */
+int    opt_single = 0; /* true is we want to boot singleuser */
+char   *whom;          /* who is shutting the system down */
+int    opt_msgset = 0; /* message set on command line */
+                       /* change 1 to 0 if no file is to be used by default */
+int    opt_use_config_file = 1;        /* read _PATH_SHUTDOWN_CONF */
+char   halt_action[256];               /* to find out what to do upon halt */
+
+/* #define DEBUGGING */
+
+#define WR(s) write(fd, s, strlen(s))
+#define WRCRLF write(fd, "\r\n", 2)
+#define ERRSTRING strerror(errno)
+
+#define UMOUNT_ARGS            "umount", "-a", "-t", "nodevfs"
+#define SWAPOFF_ARGS            "swapoff", "-a"
+
+void
+usage(void)
+{
+       fprintf(stderr,
+               _("Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"));
+       exit(1);
+}
+
+static void
+my_puts(char *s)
+{
+       /* Use a fresh stdout after forking */
+       freopen(_PATH_CONSOLE, "w", stdout);
+       puts(s);
+       fflush(stdout);
+}
+
+void 
+int_handler(int sig)
+{
+       unlink(_PATH_NOLOGIN);
+       signal(SIGINT, SIG_DFL);
+       my_puts(_("Shutdown process aborted"));
+       exit(1);
+}
+
+static int
+iswhitespace(int a) {
+       return (a == ' ' || a == '\t');
+}
+
+int
+main(int argc, char *argv[])
+{
+       int c, i, fd;
+       char *ptr;
+
+       i = getdtablesize ();
+       for (fd = 3; fd < i; fd++) close (fd);
+       if (getpid () == 1)
+       {
+           for (fd = 0; fd < 3; fd++) close (fd);
+           while (1) wait (NULL);  /*  Grim reaper never stops  */
+       }
+       sigsetmask (0); /*  simpleinit(8) blocks all signals: undo for ALRM  */
+       for (i = 1; i < NSIG; i++) signal (i, SIG_DFL);
+
+        setlocale(LC_ALL, "");
+        bindtextdomain(PACKAGE, LOCALEDIR);
+        textdomain(PACKAGE);
+
+#ifndef DEBUGGING
+       if(setreuid (0, 0)) {
+               fprintf(stderr, _("%s: Only root can shut a system down.\n"),
+                       argv[0]);
+               exit(1);
+       }
+#endif
+
+       if(*argv[0] == '-') argv[0]++;  /* allow shutdown as login shell */
+       prog = argv[0];
+       if((ptr = strrchr(argv[0], '/'))) prog = ++ptr;
+
+       /* All names (halt, reboot, fasthalt, fastboot, shutdown)
+          refer to the same program with the same options,
+          only the defaults differ. */
+       if(!strcmp("halt", prog)) {
+               opt_reboot = 0;
+               opt_quiet = 1;
+               opt_fast = 0;
+               timeout = 0;
+       } else if(!strcmp("fasthalt", prog)) {
+               opt_reboot = 0;
+               opt_quiet = 1;
+               opt_fast = 1;
+               timeout = 0;
+       } else if(!strcmp("reboot", prog)) {
+               opt_reboot = 1;
+               opt_quiet = 1;
+               opt_fast = 0;
+               timeout = 0;
+       } else if(!strcmp("fastboot", prog)) {
+               opt_reboot = 1;
+               opt_quiet = 1;
+               opt_fast = 1;
+               timeout = 0;
+       } else {
+               /* defaults */
+               opt_reboot = 0;
+               opt_quiet = 0;
+               opt_fast = 0;
+               timeout = 2*60;
+       }
+               
+       c = 0;
+       while(++c < argc) {
+               if(argv[c][0] == '-') {
+                       for(i = 1; argv[c][i]; i++) {
+                               switch(argv[c][i]) {
+                               case 'C':
+                                       opt_use_config_file = 1;
+                                       break;
+                               case 'h': 
+                                       opt_reboot = 0;
+                                       break;
+                               case 'r':
+                                       opt_reboot = 1;
+                                       break;
+                               case 'f':
+                                       opt_fast = 1;
+                                       break;
+                               case 'q':
+                                       opt_quiet = 1;
+                                       break;
+                               case 's':
+                                       opt_single = 1;
+                                       break;
+                                   
+                               default:
+                                       usage();
+                               }
+                       }
+               } else if(!strcmp("now", argv[c])) {
+                       timeout = 0;
+               } else if(argv[c][0] == '+') {
+                       timeout = 60 * atoi(&argv[c][1]);
+               } else if (isdigit(argv[c][0])) {
+                       char *colon;
+                       int hour = 0;
+                       int minute = 0;
+                       time_t tics;
+                       struct tm *tt;
+                       int now, then;
+                               
+                       if((colon = strchr(argv[c], ':'))) {
+                               *colon = '\0';
+                               hour = atoi(argv[c]);
+                               minute = atoi(++colon);
+                       } else usage();
+                               
+                       (void) time(&tics);
+                       tt = localtime(&tics);
+                               
+                       now = 3600 * tt->tm_hour + 60 * tt->tm_min;
+                       then = 3600 * hour + 60 * minute;
+                       timeout = then - now;
+                       if(timeout < 0) {
+                               fprintf(stderr, _("That must be tomorrow, "
+                                                 "can't you wait till then?\n"));
+                               exit(1);
+                       }
+               } else {
+                       xstrncpy(message, argv[c], sizeof(message));
+                       opt_msgset = 1;
+               }
+       }
+
+       halt_action[0] = 0;
+
+       /* No doubt we shall want to extend this some day
+          and register a series of commands to be executed
+          at various points during the shutdown sequence,
+          and to define the number of milliseconds to sleep, etc. */
+       if (opt_use_config_file) {
+               char line[256], *p;
+               FILE *fp;
+
+               /*  Read and parse the config file */
+               halt_action[0] = '\0';
+               if ((fp = fopen (_PATH_SHUTDOWN_CONF, "r")) != NULL) {
+                       if (fgets (line, sizeof(line), fp) != NULL &&
+                           strncasecmp (line, "HALT_ACTION", 11) == 0 &&
+                           iswhitespace(line[11])) {
+                               p = strchr(line, '\n');
+                               if (p)
+                                       *p = 0;         /* strip final '\n' */
+                               p = line+11;
+                               while(iswhitespace(*p))
+                                       p++;
+                               strcpy(halt_action, p);
+                       }
+                       fclose (fp);
+               }
+       }
+
+       if(!opt_quiet && !opt_msgset) {
+               /* now ask for message, gets() is insecure */
+               int cnt = sizeof(message)-1;
+               char *ptr;
+               
+               printf("Why? "); fflush(stdout);
+               
+               ptr = message;
+               while(--cnt >= 0 && (*ptr = getchar()) && *ptr != '\n') { 
+                       ptr++;
+               }
+               *ptr = '\0';
+       } else if (!opt_msgset) {
+               strcpy(message, _("for maintenance; bounce, bounce"));
+       }
+
+#ifdef DEBUGGING
+       printf("timeout = %d, quiet = %d, reboot = %d\n",
+               timeout, opt_quiet, opt_reboot);
+#endif
+       
+       /* so much for option-processing, now begin termination... */
+       if(!(whom = getlogin()) || !*whom) whom = "ghost";
+       if(strlen(whom) > 40) whom[40] = 0; /* see write_user() */
+
+       setpriority(PRIO_PROCESS, 0, PRIO_MIN);
+       signal(SIGINT,  int_handler);
+       signal(SIGHUP,  int_handler);
+       signal(SIGQUIT, int_handler);
+       signal(SIGTERM, int_handler);
+
+       chdir("/");
+
+       if(timeout > 5*60) {
+               sleep(timeout - 5*60);
+               timeout = 5*60;
+       }
+
+       
+       if((fd = open(_PATH_NOLOGIN, O_WRONLY|O_CREAT, 0644)) >= 0) {
+               /* keep xgettext happy and leave \r\n outside strings */
+               WRCRLF;
+               WR(_("The system is being shut down within 5 minutes"));
+               WRCRLF;
+               write(fd, message, strlen(message));
+               WRCRLF;
+               WR(_("Login is therefore prohibited."));
+               WRCRLF;
+               close(fd);
+       }
+       
+       signal(SIGPIPE, SIG_IGN);
+
+       if(timeout > 0) {
+               wall();
+               sleep(timeout);
+       }
+
+       timeout = 0;
+       wall();
+       sleep(3);
+
+       /* now there's no turning back... */
+       signal(SIGINT,  SIG_IGN);
+
+       /* do syslog message... */
+       openlog(prog, LOG_CONS, LOG_AUTH);
+       if (opt_reboot)
+               syslog(LOG_NOTICE, _("rebooted by %s: %s"), 
+                      whom, message);
+       else
+               syslog(LOG_NOTICE, _("halted by %s: %s"), 
+                      whom, message);
+       closelog();
+
+       if(opt_fast)
+               if((fd = open("/fastboot", O_WRONLY|O_CREAT, 0644)) >= 0)
+                       close(fd);
+
+       kill(1, SIGTSTP);       /* tell init not to spawn more getty's */
+       write_wtmp();
+       if(opt_single)
+               if((fd = open(_PATH_SINGLE, O_CREAT|O_WRONLY, 0644)) >= 0)
+                       close(fd);
+               
+       sync();
+
+       signal(SIGTERM, SIG_IGN);
+       if(fork() > 0) sleep(1000); /* the parent will die soon... */
+       setpgrp();              /* so the shell wont kill us in the fall */
+
+#ifndef DEBUGGING
+       /* a gentle kill of all other processes except init */
+       kill_mortals (SIGTERM);
+       for (fd = 0; fd < 3; fd++) close (fd);
+       stop_finalprog ();
+       sleep (1);                    /*  Time for saves to start           */
+       kill (1, SIGTERM);            /*  Tell init to kill spawned gettys  */
+       usleep (100000);              /*  Wait for gettys to die            */
+       my_puts ("");                 /*  Get past the login prompt         */
+       system ("/sbin/initctl -r");  /*  Roll back services                */
+       syncwait (1);
+       my_puts ("Sending SIGTERM to all remaining processes...");
+       kill (-1, SIGTERM);
+       sleep (2);                    /*  Default 2, some people need 5     */
+
+       kill (-1, SIGKILL);           /*  Now use brute force...            */
+
+       /* turn off accounting */
+       acct(NULL);
+#endif
+       /* RedHat and SuSE like to remove /etc/nologin.
+          Perhaps the usual sequence is
+             touch nologin; shutdown -h; fiddle with hardware;
+             boot; fiddle with software; rm nologin
+          and removing it here will be counterproductive.
+          Let us see whether people complain. */
+       unlink(_PATH_NOLOGIN);
+
+       /*  Tell init(8) to exec so that the old inode may be freed cleanly if
+           required. Need to sleep before remounting root read-only  */
+       kill (1, SIGQUIT);
+
+       sleep (1);      /* Time for processes to die and close files */
+       syncwait (2);
+
+       /* remove swap files and partitions using swapoff */
+       swap_off();
+
+       /* unmount disks... */
+       unmount_disks();
+       syncwait (1);
+
+       if(opt_reboot) {
+               my_reboot(LINUX_REBOOT_CMD_RESTART); /* RB_AUTOBOOT */
+               my_puts(_("\nWhy am I still alive after reboot?"));
+       } else {
+               my_puts(_("\nNow you can turn off the power..."));
+
+               /* allow C-A-D now, faith@cs.unc.edu, re-fixed 8-Jul-96 */
+               my_reboot(LINUX_REBOOT_CMD_CAD_ON); /* RB_ENABLE_CAD */
+               sleep (1);  /*  Wait for devices to finish writing to media  */
+               do_halt(halt_action);
+       }
+       /* NOTREACHED */
+       exit(0); /* to quiet gcc */
+}
+
+/*** end of main() ***/
+
+void
+do_halt(char *action) {
+       if (strcasecmp (action, "power_off") == 0) {
+               printf(_("Calling kernel power-off facility...\n"));
+               fflush(stdout);
+               my_reboot(LINUX_REBOOT_CMD_POWER_OFF);
+               printf(_("Error powering off\t%s\n"), ERRSTRING);
+               fflush(stdout);
+               sleep (2);
+       } else
+
+       /* This should be improved; e.g. Mike Jagdis wants "/sbin/mdstop -a" */
+       /* Maybe we should also fork and wait */
+       if (action[0] == '/') {
+               printf(_("Executing the program \"%s\" ...\n"), action);
+               fflush(stdout);
+               execl(action, action, NULL);
+               printf(_("Error executing\t%s\n"), ERRSTRING);
+               fflush(stdout);
+               sleep (2);
+       }
+
+       my_reboot(LINUX_REBOOT_CMD_HALT); /* RB_HALT_SYSTEM */
+}
+
+void
+write_user(struct utmp *ut)
+{
+       int fd;
+       int minutes, hours;
+       char term[40] = {'/','d','e','v','/',0};
+       char msg[100];
+
+       minutes = timeout / 60;
+       hours = minutes / 60;
+       minutes %= 60;
+
+       (void) strncat(term, ut->ut_line, sizeof(ut->ut_line));
+
+       /* try not to get stuck on a mangled ut_line entry... */
+       if((fd = open(term, O_WRONLY|O_NONBLOCK)) < 0)
+               return;
+
+       msg[0] = '\007';        /* gettext crashes on \a */
+       sprintf(msg+1, _("URGENT: broadcast message from %s:"), whom);
+       WRCRLF;
+       WR(msg);
+       WRCRLF;
+
+       if (hours > 1)
+               sprintf(msg, _("System going down in %d hours %d minutes"),
+                       hours, minutes);
+       else if (hours == 1)
+               sprintf(msg, _("System going down in 1 hour %d minutes"),
+                       minutes);
+       else if (minutes > 1)
+               sprintf(msg, _("System going down in %d minutes\n"),
+                       minutes);
+       else if (minutes == 1)
+               sprintf(msg, _("System going down in 1 minute\n"));
+       else
+               sprintf(msg, _("System going down IMMEDIATELY!\n"));
+
+       WR(msg);
+       WRCRLF;
+
+       sprintf(msg, _("\t... %s ...\n"), message);
+       WR(msg);
+       WRCRLF;
+
+       close(fd);
+}
+
+void
+wall(void)
+{
+       /* write to all users, that the system is going down. */
+       struct utmp *ut;
+               
+       utmpname(_PATH_UTMP);
+       setutent();
+       
+       while((ut = getutent())) {
+               if(ut->ut_type == USER_PROCESS)
+                       write_user(ut);
+       }
+       endutent();
+}
+
+void
+write_wtmp(void)
+{
+       /* write in wtmp that we are dying */
+       int fd;
+       struct utmp ut;
+       
+       memset((char *)&ut, 0, sizeof(ut));
+       strcpy(ut.ut_line, "~");
+       memcpy(ut.ut_name, "shutdown", sizeof(ut.ut_name));
+
+       time(&ut.ut_time);
+       ut.ut_type = BOOT_TIME;
+       
+       if((fd = open(_PATH_WTMP, O_WRONLY|O_APPEND, 0644)) >= 0) {
+               write(fd, (char *)&ut, sizeof(ut));
+               close(fd);
+       }
+}
+
+void
+swap_off(void)
+{
+       /* swapoff esp. swap FILES so the underlying partition can be
+          unmounted. It you don't have swapoff(1) or use mount to
+          add swapspace, this may not be necessary, but I guess it
+          won't hurt */
+
+       int pid;
+       int result;
+       int status;
+
+       sync();
+       if ((pid = fork()) < 0) {
+               my_puts(_("Cannot fork for swapoff. Shrug!"));
+               return;
+       }
+       if (!pid) {
+               execl("/sbin/swapoff", SWAPOFF_ARGS, NULL);
+               execl("/etc/swapoff", SWAPOFF_ARGS, NULL);
+               execl("/bin/swapoff", SWAPOFF_ARGS, NULL);
+               execlp("swapoff", SWAPOFF_ARGS, NULL);
+               my_puts(_("Cannot exec swapoff, "
+                         "hoping umount will do the trick."));
+               exit(0);
+       }
+       while ((result = wait(&status)) != -1 && result != pid)
+               ;
+}
+
+void
+unmount_disks(void)
+{
+       /* better to use umount directly because it may be smarter than us */
+
+       int pid;
+       int result;
+       int status;
+
+       sync();
+       if ((pid = fork()) < 0) {
+               my_puts(_("Cannot fork for umount, trying manually."));
+               unmount_disks_ourselves();
+               return;
+       }
+       if (!pid) {
+               execl(_PATH_UMOUNT, UMOUNT_ARGS, NULL);
+
+               /* need my_printf instead of my_puts here */
+               freopen(_PATH_CONSOLE, "w", stdout);
+               printf(_("Cannot exec %s, trying umount.\n"), _PATH_UMOUNT);
+               fflush(stdout);
+
+               execlp("umount", UMOUNT_ARGS, NULL);
+               my_puts(_("Cannot exec umount, giving up on umount."));
+               exit(0);
+       }
+       while ((result = wait(&status)) != -1 && result != pid)
+               ;
+       my_puts(_("Unmounting any remaining filesystems..."));
+       unmount_disks_ourselves();
+}
+
+void
+unmount_disks_ourselves(void)
+{
+       /* unmount all disks */
+
+       FILE *mtab;
+       struct mntent *mnt;
+       char *mntlist[128];
+       int i;
+       int n;
+       char *filesys;
+       
+       sync();
+       if (!(mtab = setmntent(_PATH_MOUNTED, "r"))) {
+               my_puts("shutdown: Cannot open " _PATH_MOUNTED ".");
+               return;
+       }
+       n = 0;
+       while (n < 100 && (mnt = getmntent(mtab))) {
+               /*
+                * Neil Phillips: trying to unmount temporary / kernel
+                * filesystems is pointless and may cause error messages;
+                * /dev can be a ramfs managed by udev.
+                */
+               if (strcmp(mnt->mnt_type, "devfs") == 0 ||
+                   strcmp(mnt->mnt_type, "proc") == 0 ||
+                   strcmp(mnt->mnt_type, "sysfs") == 0 ||
+                   strcmp(mnt->mnt_type, "ramfs") == 0 ||
+                   strcmp(mnt->mnt_type, "tmpfs") == 0 ||
+                   strcmp(mnt->mnt_type, "devpts") == 0)
+                       continue;
+               mntlist[n++] = strdup(mnt->mnt_dir);
+       }
+       endmntent(mtab);
+
+       /* we are careful to do this in reverse order of the mtab file */
+
+       for (i = n - 1; i >= 0; i--) {
+               filesys = mntlist[i];
+#ifdef DEBUGGING
+               printf("umount %s\n", filesys);
+#else
+               if (umount(mntlist[i]) < 0)
+                       printf(_("shutdown: Couldn't umount %s: %s\n"),
+                              filesys, ERRSTRING);
+#endif
+       }
+}
+
+static void kill_mortals (int sig)
+{
+    int npids = 0;
+    int index = 0;
+    int pid;
+    struct stat statbuf;
+    DIR *dp;
+    struct dirent *de;
+    pid_t *pids = NULL;
+    char path[256];
+
+    if ( ( dp = opendir ("/proc") ) == NULL ) return;
+    while ( ( de = readdir (dp) ) != NULL )
+    {
+       if ( !isdigit (de->d_name[0]) ) continue;
+       pid = atoi (de->d_name);
+       sprintf (path, "/proc/%d", pid);
+       if (stat (path, &statbuf) != 0) continue;
+       if (statbuf.st_uid < 100) continue;
+       if (index <= npids)
+       {
+           pids = realloc (pids, npids + 16384);
+           if (pids == NULL) return;
+           npids += 16384;
+       }
+       pids[index++] = pid;
+    }
+    fputs ("Sending SIGTERM to mortals...", stderr);
+    for (--index; index >= 0; --index) kill (pids[index], sig);
+    free (pids);
+    closedir (dp);
+}   /*  End Function kill_mortals  */
+
+static void stop_finalprog (void)
+{
+    char *p1, *p2;
+    FILE *fp;
+    char line[256];
+
+    if ( ( fp = fopen (_PATH_INITTAB, "r") ) == NULL ) return;
+    while (fgets (line, 256, fp) != NULL)
+    {
+       pid_t pid;
+
+       line[strlen (line) - 1] = '\0';
+       p1 = line;
+       while ( isspace (*p1) ) ++p1;
+       if (strncmp (p1, "finalprog", 9) != 0) continue;
+       if ( ( p1 = strchr (p1 + 9, '=') ) == NULL ) continue;
+       for (++p1; isspace (*p1); ++p1);
+       if (*p1 == '\0') continue;
+       for (p2 = p1; !isspace (*p2); ++p2);
+       *p2 = '\0';
+       switch ( pid = fork () )
+       {
+         case 0:   /*  Child   */
+           execl (p1, p1, "stop", NULL);
+           break;
+         case -1:  /*  Error   */
+           break;
+         default:  /*  Parent  */
+           waitpid (pid, NULL, 0);
+           break;
+       }
+       fclose (fp);
+       return;
+    }
+    fclose (fp);
+}   /*  End Function stop_finalprog  */
+
+static void syncwait (int timeval)
+{
+    static int do_wait = 0;
+    static int first_time = 1;
+
+    sync ();
+    /*  Kernel version 1.3.20 and after are supposed to wait automatically  */
+    if (first_time)
+    {
+       struct utsname uts;
+
+       first_time = 0;
+       uname (&uts);
+       if (uts.release[0] < '2') do_wait = 1;
+    }
+    if (do_wait) sleep (timeval);
+}   /*  End Function syncwait  */
diff --git a/login-utils/simpleinit.8 b/login-utils/simpleinit.8
new file mode 100644 (file)
index 0000000..cbaf093
--- /dev/null
@@ -0,0 +1,180 @@
+.\" Copyright 1992, 1993 Rickard E. Faith (faith@cs.unc.edu)
+.\" May be distributed under the GNU General Public License
+.\" " for emacs's hilit19 mode :-)
+.TH SIMPLEINIT 8 "25 February 2001" "Linux 0.99" "Linux Programmer's Manual"
+.SH NAME
+simpleinit \- process control initialization
+.SH SYNOPSIS
+.B init
+.RB [ single ]
+.RI [ script ]
+.SH DESCRIPTION
+.B init
+is invoked as the last step in the Linux boot sequence.  If the
+.B single
+option is used, or if the file
+.I /etc/singleboot
+exists, then single user mode will be entered, by starting
+.IR /bin/sh .
+If the file
+.I /etc/securesingle
+exists, then the root password will be required to start single user mode.
+If the root password does not exist, or if
+.I /etc/passwd
+does not exist, the checking of the password will be skipped.
+
+If the file
+.I /etc/TZ
+exists, then the contents of that file will be read, and used to set the TZ
+environment variable for each process started by
+.BR simpleinit .
+This "feature" is only available if it's configured at compile-time. It's
+not normally needed.
+
+After single user mode is terminated, the
+.I /etc/rc
+file is executed, and the information in
+.I /etc/inittab
+will be used to start processes. Alternatively, the \fI/etc/inittab\fP
+file may be configured to run a different boot script. See below for
+details.
+
+.SH "THE INITTAB FILE"
+Because of the number of init programs which are appearing in the Linux
+community, the documentation for the
+.I /etc/inittab
+file, which is usually found with the
+.BR inittab (5)
+man page, is presented here:
+
+The format is
+
+.RS
+.B bootprog=file
+
+.B fileprefix=string
+
+.B PATH=search path
+
+.B INIT_PATH=search path
+
+.B "ttyline:termcap-entry:getty-command"
+
+.B finalprog=path
+.RE
+
+An example is as follows:
+
+.nf
+.RS
+bootprog     =
+fileprefix   =  /sbin/init.d/
+PATH         =  /usr/sbin:/usr/bin:/sbin:/bin
+INIT_PATH    =  /sbin/init.d
+
+tty1:linux:/sbin/getty 9600 tty1
+tty2:linux:/sbin/getty 9600 tty2
+tty3:linux:/sbin/getty 9600 tty3
+tty4:linux:/sbin/getty 9600 tty4
+# tty5:linux:/sbin/getty 9600 tty5
+# ttyS1:dumb:/sbin/getty 9600 ttyS1
+# ttyS2:dumb:/sbin/getty -m -t60 2400 ttyS2
+
+finalprog   = /sbin/rc.xdm
+.RE
+.fi
+
+Lines beginning with the
+.B #
+character are treated as comments.  Please see documentation for the
+.BR getty (8)
+command that you are using, since there are several of these in the Linux
+community at this time.
+
+The \fBbootprog\fP value is appended to the \fBfileprefix\fP value,
+and the result specifies the boot programme (script) to run. If
+unspecified, the default is \fI/etc/rc\fP. If the boot programme is a
+directory, then all scripts in that directory tree are executed, in
+parallel. See the \fBneed\fP(8) programme for details on how to
+elegantly control order of execution and manage dependencies.
+
+The \fBPATH\fP value is assigned to the PATH environment variable of
+child processes (boot scripts).
+
+The \fBINIT_PATH\fP value is used by simpleinit(8) itself to find the
+location of scripts to run (if an absolute path is not given). If
+unset and the boot programme is a directory, that directory is used.
+Finally, if the script cannot be found in this path, the standard
+\fBPATH\fP is used. This separation allows boot scripts to invoke
+programmes of the same name without conflict and without needing to
+specify absolute paths.
+
+The \fBfinalprog\fP value specifies the path of the programme to run
+after all \fBgetty\fP(8) instances are spawned. At bootup, it is
+passed a single argument: "start". At shutdown, it is called again,
+this time with the argument: "stop".
+.SH SIGNALS
+\fBsimpleinit\fP(8) responds to signals in a variety of ways:
+.TP
+.B SIGHUP
+The \fI/etc/inittab\fP configuration file will be read again.
+.TP
+.B SIGTSTP
+This flips a toggle, which controls whether more processes will be
+spawned.
+.TP
+.B SIGINT
+\fBsimpleinit\fP(8) will sync a few times, and try to start
+\fBreboot\fP(8). Failing this, it will execute the system
+\fBreboot\fP(2) call. Under Linux, it is possible to configure the
+Ctrl-Alt-Del sequence to send a signal to the \fBinit\fP process
+instead of rebooting the system (\fBsimpleinit\fP(8) does this by
+default).
+.TP
+.B SIGQUIT
+The \fBreboot\fP(8) programme is executed in place of the
+\fBsimpleinit\fP(8) programme. This allows \fBreboot\fP(8) to cleanly
+remount (read-only) the root filesystem, even if the old inode for the
+\fBinit\fP process was unlinked.
+.SH FILES
+.I /etc/inittab
+.br
+.I /etc/singleboot
+.br
+.I /etc/securesingle
+.br
+.I /etc/TZ
+.br
+.I /etc/passwd
+.br
+.I /etc/rc
+.SH "SEE ALSO"
+.BR inittab (5),
+.BR ctrlaltdel (8)
+.BR reboot (8),
+.BR termcap (5),
+.BR getty (8),
+.BR agetty (8),
+.BR shutdown (8),
+.BR initctl (8)
+.SH BUGS
+This program is called
+.B simpleinit
+to distinguish it from the System V compatible versions of init which are
+starting to appear in the Linux community.
+.B simpleinit
+should be linked to, or made identical with,
+.I init
+for correct functionality.
+.SH AUTHOR
+Peter Orbaek (poe@daimi.aau.dk)
+.br
+Version 1.20, with patches for singleuser mode by Werner Almesberger
+.br
+Richard Gooch <rgooch@atnf.csiro.au>
+.br
+Dependency support
+
+.SH AVAILABILITY
+The simpleinit command is part of the util-linux-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/login-utils/simpleinit.c b/login-utils/simpleinit.c
new file mode 100644 (file)
index 0000000..cc844c9
--- /dev/null
@@ -0,0 +1,1246 @@
+/* simpleinit.c - poe@daimi.aau.dk */
+/* Version 2.0.2 */
+
+/* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+ * - added Native Language Support
+ * 2001-01-25 Richard Gooch <rgooch@atnf.csiro.au>
+ * - fixed bug with failed services so they may be later "reclaimed"
+ * 2001-02-02 Richard Gooch <rgooch@atnf.csiro.au>
+ * - fixed race when reading from pipe and reaping children
+ * 2001-02-18 sam@quux.dropbear.id.au
+ * - fixed bug in <get_path>: multiple INIT_PATH components did not work
+ * 2001-02-21 Richard Gooch <rgooch@atnf.csiro.au>
+ * - block signals in handlers, so that longjmp() doesn't kill context
+ * 2001-02-25 Richard Gooch <rgooch@atnf.csiro.au>
+ * - make default INIT_PATH the boot_prog (if it is a directory) - YECCH
+ * 2002-11-20 patch from SuSE
+ * - refuse initctl_fd if setting FD_CLOEXEC fails
+ */
+
+#include <sys/types.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <stdio.h>
+#include <ctype.h>
+#include <fcntl.h>
+#include <string.h>
+#include <signal.h>
+#include <errno.h>
+#include <time.h>
+#include <pwd.h>
+#include <sys/file.h>
+#include <sys/wait.h>
+#include <sys/stat.h>
+#include <sys/sysmacros.h>
+#include <sys/time.h>
+#include <sys/ioctl.h>
+#include <dirent.h>
+#include <termios.h>
+#include <utmp.h>
+#include <setjmp.h>
+#include <sched.h>
+#ifdef SHADOW_PWD
+#  include <shadow.h>
+#endif
+#include "my_crypt.h"
+#include "pathnames.h"
+#include "linux_reboot.h"
+#include "xstrncpy.h"
+#include "nls.h"
+#include "simpleinit.h"
+
+#define CMDSIZ     150 /* max size of a line in inittab */
+#define NUMCMD     30  /* max number of lines in inittab */
+#define NUMTOK     20  /* max number of tokens in inittab command */
+#define PATH_SIZE  (CMDSIZ+CMDSIZ+1)
+
+#define MAX_RESPAWN_RATE  5  /*  number of respawns per 100 seconds  */
+
+#define TZFILE "/etc/TZ"
+char tzone[CMDSIZ];
+/* #define DEBUGGING */
+
+/* Define this if you want init to ignore the termcap field in inittab for
+   console ttys. */
+/* #define SPECIAL_CONSOLE_TERM */
+
+#define ever (;;)
+
+struct initline {
+       pid_t           pid;
+       char            tty[10];
+       char            termcap[30];
+       char            *toks[NUMTOK];
+       char            line[CMDSIZ];
+       struct timeval  last_start;
+       signed long     rate;
+};
+
+struct initline inittab[NUMCMD];
+int numcmd;
+int stopped = 0;       /* are we stopped */
+static char boot_prog[PATH_SIZE] = _PATH_RC;
+static char script_prefix[PATH_SIZE] = "\0";
+static char final_prog[PATH_SIZE] = "\0";
+static char init_path[PATH_SIZE] = "\0";
+static int caught_sigint = 0;
+static int no_reboot = 0;
+static pid_t rc_child = -1;
+static const char *initctl_name = "/dev/initctl";
+static int initctl_fd = -1;
+static volatile int do_longjmp = 0;
+static sigjmp_buf jmp_env;
+
+
+static void do_single (void);
+static int do_rc_tty (const char *path);
+static int process_path (const char *path, int (*func) (const char *path),
+                        int ignore_dangling_symlink);
+static int preload_file (const char *path);
+static int run_file (const char *path);
+static void spawn (int i), read_inittab (void);
+static void sighup_handler (int sig);
+static void sigtstp_handler (int sig);
+static void sigint_handler (int sig);
+static void sigchild_handler (int sig);
+static void sigquit_handler (int sig);
+static void sigterm_handler (int sig);
+#ifdef SET_TZ
+static void set_tz (void);
+#endif
+static void write_wtmp (void);
+static pid_t mywait (int *status);
+static int run_command (const char *file, const char *name, pid_t pid);
+
+
+static void err (char *s)
+{
+       int fd;
+       
+       if((fd = open("/dev/console", O_WRONLY)) < 0) return;
+
+       write(fd, "init: ", 6); 
+       write(fd, s, strlen(s));
+       close(fd);
+}
+
+static void enter_single (void)
+{
+    pid_t pid;
+    int i;
+
+    err(_("Booting to single user mode.\n"));
+    if((pid = fork()) == 0) {
+       /* the child */
+       execl(_PATH_BSHELL, _PATH_BSHELL, NULL);
+       err(_("exec of single user shell failed\n"));
+    } else if(pid > 0) {
+       while (waitpid (pid, &i, 0) != pid)  /*  Nothing  */;
+    } else if(pid < 0) {
+       err(_("fork of single user shell failed\n"));
+    }
+    unlink(_PATH_SINGLE);
+}
+
+int main(int argc, char *argv[])
+{
+       int                     vec, i;
+       int                     want_single = 0;
+       pid_t                   pid;
+       struct sigaction        sa;
+
+
+#ifdef SET_TZ
+       set_tz();
+#endif
+       sigfillset (&sa.sa_mask);  /*  longjmp and nested signals don't mix  */
+       sa.sa_flags = SA_ONESHOT;
+       sa.sa_handler = sigint_handler;
+       sigaction (SIGINT, &sa, NULL);
+       sa.sa_flags = 0;
+       sa.sa_handler = sigtstp_handler;
+       sigaction (SIGTSTP, &sa, NULL);
+       sa.sa_handler = sigterm_handler;
+       sigaction (SIGTERM, &sa, NULL);
+       sa.sa_handler = sigchild_handler;
+       sigaction (SIGCHLD, &sa, NULL);
+       sa.sa_handler = sigquit_handler;
+       sigaction (SIGQUIT, &sa, NULL);
+
+       setlocale(LC_ALL, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+
+       my_reboot (LINUX_REBOOT_CMD_CAD_OFF);
+       /*  Find script to run. Command-line overrides config file overrides
+           built-in default  */
+       for (i = 0; i < NUMCMD; i++) inittab[i].pid = -1;
+       read_inittab ();
+       for (i = 1; i < argc; i++) {
+               if (strcmp (argv[i], "single") == 0)
+                       want_single = 1;
+               else if (strcmp (argv[i], "-noreboot") == 0)
+                       no_reboot = 1;
+               else if (strlen(script_prefix) + strlen(argv[i]) < PATH_SIZE) {
+                       char path[PATH_SIZE];
+
+                       strcpy (path, script_prefix);
+                       strcat (path, argv[i]);
+                       if (access (path, R_OK | X_OK) == 0)
+                               strcpy (boot_prog, path);
+               }
+       }
+       if (init_path[0] == '\0')
+       {
+           struct stat statbuf;
+
+           if ( (stat (boot_prog, &statbuf) == 0) && S_ISDIR (statbuf.st_mode) )
+           {
+               strcpy (init_path, boot_prog);
+               i = strlen (init_path);
+               if (init_path[i - 1] == '/') init_path[i - 1] = '\0';
+           }
+       }
+
+       if ( ( initctl_fd = open (initctl_name, O_RDWR, 0) ) < 0 ) {
+               mkfifo (initctl_name, S_IRUSR | S_IWUSR);
+               if ( ( initctl_fd = open (initctl_name, O_RDWR, 0) ) < 0 )
+                       err ( _("error opening fifo\n") );
+       }
+
+       if (initctl_fd >= 0 && fcntl(initctl_fd, F_SETFD, FD_CLOEXEC) != 0) {
+               err ( _("error setting close-on-exec on /dev/initctl") );
+
+               /* Can the fcntl ever fail?  If it does, and we leave
+                  the descriptor open in child processes, then any
+                  process on the system will be able to write to
+                  /dev/initctl and have us execute arbitrary commands
+                  as root. So let's refuse to use the fifo in this case. */
+
+               close(initctl_fd);
+               initctl_fd = -1;
+       }
+
+       if ( want_single || (access (_PATH_SINGLE, R_OK) == 0) ) do_single ();
+
+       /*If we get a SIGTSTP before multi-user mode, do nothing*/
+       while (stopped)
+               pause();
+
+       if ( do_rc_tty (boot_prog) ) do_single ();
+
+       while (stopped)  /*  Also if /etc/rc fails & we get SIGTSTP  */
+               pause();
+
+       write_wtmp();   /* write boottime record */
+#ifdef DEBUGGING
+       for(i = 0; i < numcmd; i++) {
+               char **p;
+               p = inittab[i].toks;
+               printf("toks= %s %s %s %s\n",p[0], p[1], p[2], p[3]);
+               printf("tty= %s\n", inittab[i].tty);
+               printf("termcap= %s\n", inittab[i].termcap);
+       }
+       exit(0);
+#endif
+       signal (SIGHUP, sighup_handler);  /* Better semantics with signal(2) */
+
+       for (i = 0; i < getdtablesize (); i++)
+               if (i != initctl_fd) close (i);
+
+       for(i = 0; i < numcmd; i++)
+               spawn(i);
+
+       if (final_prog[0] != '\0') {
+               switch ( fork () )
+               {
+                 case 0:   /*  Child   */
+                   execl (final_prog, final_prog, "start", NULL);
+                   err ( _("error running finalprog\n") );
+                   _exit (1);
+                   break;
+                 case -1:  /*  Error   */
+                   err ( _("error forking finalprog\n") );
+                   break;
+                 default:  /*  Parent  */
+                   break;
+               }
+       }
+
+       for ever {
+               pid = mywait (&vec);
+               if (pid < 1) continue;
+
+               /* clear utmp entry, and append to wtmp if possible */
+               {
+                   struct utmp *ut;
+                   int ut_fd, lf;
+
+                   utmpname(_PATH_UTMP);
+                   setutent();
+                   while((ut = getutent())) {
+                       if(ut->ut_pid == pid) {
+                           time(&ut->ut_time);
+                           memset(&ut->ut_user, 0, UT_NAMESIZE);
+                           memset(&ut->ut_host, 0, sizeof(ut->ut_host));
+                           ut->ut_type = DEAD_PROCESS;
+                           ut->ut_pid = 0;
+                           ut->ut_addr = 0;
+                           /*endutent();*/
+                           pututline(ut);
+
+                           if ((lf = open(_PATH_WTMPLOCK, O_CREAT|O_WRONLY, 0660)) >= 0) {
+                               flock(lf, LOCK_EX|LOCK_NB);
+                               if((ut_fd = open(_PATH_WTMP, O_APPEND|O_WRONLY)) >= 0) {
+                                   write(ut_fd, ut, sizeof(struct utmp));
+                                   close(ut_fd);
+                               }
+                               flock(lf, LOCK_UN|LOCK_NB);
+                               close(lf);
+                           }
+                           break;
+                       }
+                   }
+                   endutent();
+               }
+
+               for(i = 0; i < numcmd; i++) {
+                       if(pid == inittab[i].pid || inittab[i].pid < 0) {
+                               if (stopped)
+                                       inittab[i].pid = -1;
+                               else
+                                       spawn(i);
+                               if (pid == inittab[i].pid)
+                                       break;
+                       }
+               }
+       }
+}      
+
+#define MAXTRIES 3 /* number of tries allowed when giving the password */
+
+/*
+ * return true if singleuser mode is allowed.
+ * If /etc/securesingle exists ask for root password, otherwise always OK.
+ */
+static int check_single_ok (void)
+{
+    char *pass, *rootpass = NULL;
+    struct passwd *pwd;
+    int i;
+
+    if (access (_PATH_SECURE, R_OK) != 0) return 1;
+    if ( ( pwd = getpwnam ("root") ) || ( pwd = getpwuid (0) ) )
+       rootpass = pwd->pw_passwd;
+    else
+       return 1; /* a bad /etc/passwd should not lock out */
+
+    for (i = 0; i < MAXTRIES; i++)
+    {
+       pass = getpass (_("Password: "));
+       if (pass == NULL) continue;
+
+       if ( !strcmp (crypt (pass, rootpass), rootpass) ) return 1;
+
+       puts (_("\nWrong password.\n"));
+    }
+    return 0;
+}
+
+static void do_single (void)
+{
+    char path[PATH_SIZE];
+
+    if (caught_sigint) return;
+    strcpy (path, script_prefix);
+    strcat (path, "single");
+    if (access (path, R_OK | X_OK) == 0)
+       if (do_rc_tty (path) == 0) return;
+    if ( check_single_ok () ) enter_single ();
+}   /*  End Function do_single  */
+
+/*
+ * run boot script(s). The environment is passed to the script(s), so the RC
+ * environment variable can be used to decide what to do.
+ * RC may be set from LILO.
+ * [RETURNS] 0 on success (exit status convention), otherwise error.
+ */
+static int do_rc_tty (const char *path)
+{
+    int status;
+    pid_t pid;
+    sigset_t ss;
+
+    if (caught_sigint) return 0;
+    process_path (path, preload_file, 0);
+    /*  Launch off a subprocess to start a new session (required for frobbing
+       the TTY) and capture control-C  */
+    switch ( rc_child = fork () )
+    {
+      case 0:   /*  Child  */
+       for (status = 1; status < NSIG; status++) signal (status, SIG_DFL);
+       sigfillset (&ss);
+       sigprocmask (SIG_UNBLOCK, &ss, NULL);
+       sigdelset (&ss, SIGINT);
+       sigdelset (&ss, SIGQUIT);
+       setsid ();
+       ioctl (0, TIOCSCTTY, 0);  /*  I want my control-C  */
+       sigsuspend (&ss);  /*  Should never return, should just be killed  */
+       break;             /*  No-one else is controlled by this TTY now   */
+      case -1:  /*  Error  */
+       return (1);
+       /*break;*/
+      default:  /*  Parent  */
+       break;
+    }
+    /*  Parent  */
+    process_path (path, run_file, 0);
+    while (1)
+    {
+       if ( ( pid = mywait (&status) ) == rc_child )
+           return (WTERMSIG (status) == SIGINT) ? 0 : 1;
+       if (pid < 0) break;
+    }
+    kill (rc_child, SIGKILL);
+    while (waitpid (rc_child, NULL, 0) != rc_child)  /*  Nothing  */;
+    return 0;
+}   /*  End Function do_rc_tty  */
+
+static int process_path (const char *path, int (*func) (const char *path),
+                        int ignore_dangling_symlink)
+{
+    struct stat statbuf;
+    DIR *dp;
+    struct dirent *de;
+
+    if (lstat (path, &statbuf) != 0)
+    {
+       err (_("lstat of path failed\n") );
+       return 1;
+    }
+    if ( S_ISLNK (statbuf.st_mode) )
+    {
+       if (stat (path, &statbuf) != 0)
+       {
+           if ( (errno == ENOENT) && ignore_dangling_symlink ) return 0;
+           err (_("stat of path failed\n") );
+           return 1;
+       }
+    }
+    if ( !( statbuf.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH) ) ) return 0;
+    if ( !S_ISDIR (statbuf.st_mode) ) return (*func) (path);
+    if ( ( dp = opendir (path) ) == NULL )
+    {
+       err (_("open of directory failed\n") );
+       return 1;
+    }
+    while ( ( de = readdir (dp) ) != NULL )
+    {
+       int retval;
+       char newpath[PATH_SIZE];
+
+       if (de->d_name[0] == '.') continue;
+       retval = snprintf (newpath, sizeof(newpath), "%s/%s", path, de->d_name);
+       if (newpath[retval - 1] == '~') continue;  /*  Common mistake  */
+       if ( ( retval = process_path (newpath, func, 1) ) ) return retval;
+    }
+    closedir (dp);
+    return 0;
+}   /*  End Function process_path  */
+
+static int preload_file (const char *path)
+{
+    int fd;
+    char ch;
+
+    if ( ( fd = open (path, O_RDONLY, 0) ) < 0) return 0;
+    while (read (fd, &ch, 1) == 1) lseek (fd, 1024, SEEK_CUR);
+    close (fd);
+    return 0;
+}   /*  End Function preload_file  */
+
+static int run_file (const char *path)
+{
+    const char *ptr;
+
+    if ( ( ptr = strrchr ( (char *) path, '/' ) ) == NULL ) ptr = path;
+    else ++ptr;
+    return (run_command (path, ptr, 0) == SIG_FAILED) ? 1 : 0;
+}   /*  End Function run_file  */
+
+static void spawn (int i)
+{
+       pid_t pid;
+       int j;
+       signed long ds_taken;
+       struct timeval ct;
+
+       if (inittab[i].toks[0] == NULL) return;
+
+       /*  Check if respawning too fast  */
+       gettimeofday (&ct, NULL);
+       ds_taken = ct.tv_sec - inittab[i].last_start.tv_sec;
+
+       /* On the first iteration last_start==0 and ds_taken
+          may be very large. Avoid overflow. -- Denis Vlasenko */
+       if (ds_taken > 10000)
+               ds_taken = 10000;
+
+       ds_taken *= 10;
+       ds_taken += (ct.tv_usec - inittab[i].last_start.tv_usec) / 100000;
+       if (ds_taken < 1)
+               ds_taken = 1;
+       inittab[i].rate = (9 * inittab[i].rate + 1000 / ds_taken) / 10;
+       if (inittab[i].rate > MAX_RESPAWN_RATE) {
+               char txt[256];
+
+               inittab[i].toks[0] = NULL;
+               inittab[i].pid = -1;
+               inittab[i].rate = 0;
+               snprintf (txt, sizeof(txt),
+                       _("respawning: \"%s\" too fast: quenching entry\n"),
+                        inittab[i].tty);
+               err (txt);
+               return;
+       }
+
+       if((pid = fork()) < 0) {
+               inittab[i].pid = -1;
+               err(_("fork failed\n"));
+               return;
+       }
+       if(pid) {
+               /* this is the parent */
+               inittab[i].pid = pid;
+               inittab[i].last_start = ct;
+               sched_yield ();
+               return;
+       } else {
+               /* this is the child */
+               char term[40];
+#ifdef SET_TZ
+               char tz[CMDSIZ];
+#endif
+               char *env[3];
+               
+               setsid();
+               for(j = 0; j < getdtablesize(); j++)
+                       (void) close(j);
+
+               snprintf(term, sizeof(term), "TERM=%s", inittab[i].termcap);
+               env[0] = term;
+               env[1] = (char *)0;
+#ifdef SET_TZ
+               snprintf(tz, sizeof(tz), "TZ=%s", tzone);
+               env[1] = tz;
+#endif
+               env[2] = (char *)0;
+
+               execve(inittab[i].toks[0], inittab[i].toks, env);
+               err(_("exec failed\n"));
+               sleep(5);
+               _exit(1);
+       }
+}
+
+static void read_inittab (void)
+{
+       FILE *f;
+       char buf[CMDSIZ];
+       int i,j,k;
+       int has_prog = 0;
+       char *ptr, *getty;
+       char prog[PATH_SIZE];
+#ifdef SPECIAL_CONSOLE_TERM
+       char tty[50];
+       struct stat stb;
+#endif
+       char *termenv;
+       
+       termenv = getenv("TERM");       /* set by kernel */
+       /* termenv = "vt100"; */
+                       
+       if(!(f = fopen(_PATH_INITTAB, "r"))) {
+               err(_("cannot open inittab\n"));
+               return;
+       }
+
+       prog[0] = '\0';
+       i = 0;
+       while(!feof(f) && i < NUMCMD - 2) {
+               if(fgets(buf, CMDSIZ - 1, f) == 0) break;
+               buf[CMDSIZ-1] = 0;
+
+               for(k = 0; k < CMDSIZ && buf[k]; k++) {
+                       if ((buf[k] == '#') || (buf[k] == '\n')) { 
+                               buf[k] = 0; break; 
+                       }
+               }
+
+               if(buf[0] == 0 || buf[0] == '\n') continue;
+               ptr = strchr (buf, '=');
+               if (ptr) {
+                       ptr++;
+                       if ( !strncmp (buf, "bootprog", 8) ) {
+                               while ( isspace (*ptr) ) ++ptr;
+                               strcpy (prog, ptr);
+                               has_prog = 1;
+                               continue;
+                       }
+                       if ( !strncmp (buf, "fileprefix", 10) ) {
+                               while ( isspace (*ptr) ) ++ptr;
+                               strcpy (script_prefix, ptr);
+                               continue;
+                       }
+                       if ( !strncmp (buf, "PATH", 4) ) {
+                               while ( isspace (*ptr) ) ++ptr;
+                               setenv ("PATH", ptr, 1);
+                               continue;
+                       }
+                       if ( !strncmp (buf, "INIT_PATH", 9) ) {
+                               while ( isspace (*ptr) ) ++ptr;
+                               strcpy (init_path, ptr);
+                               continue;
+                       }
+                       if ( !strncmp (buf, "finalprog", 8) ) {
+                               while ( isspace (*ptr) ) ++ptr;
+                               strcpy (final_prog, ptr);
+                               continue;
+                       }
+               }
+                       
+
+               (void) strcpy(inittab[i].line, buf);
+
+               (void) strtok(inittab[i].line, ":");
+               xstrncpy(inittab[i].tty, inittab[i].line, 10);
+               xstrncpy(inittab[i].termcap, strtok((char *)0, ":"), 30);
+
+               getty = strtok((char *)0, ":");
+               (void) strtok(getty, " \t\n");
+               inittab[i].toks[0] = getty;
+               j = 1;
+               while((ptr = strtok((char *)0, " \t\n")))
+                       inittab[i].toks[j++] = ptr;
+               inittab[i].toks[j] = (char *)0;
+
+#ifdef SPECIAL_CONSOLE_TERM
+               /* special-case termcap for the console ttys */
+               snprintf(tty, sizeof(tty), "/dev/%s", inittab[i].tty);
+               if(!termenv || stat(tty, &stb) < 0) {
+                       err(_("no TERM or cannot stat tty\n"));
+               } else {
+                       /* is it a console tty? */
+                       if(major(stb.st_rdev) == 4 && minor(stb.st_rdev) < 64)
+                               xstrncpy(inittab[i].termcap, termenv, 30);
+               }
+#endif
+
+               i++;
+       }
+       fclose(f);
+       numcmd = i;
+       if (has_prog) {
+               int len;
+               char path[PATH_SIZE];
+
+               strcpy (path, script_prefix);
+               strcat (path, prog);
+               len = strlen (path);
+               if (path[len - 1] == '/') path[len - 1] = '\0';
+               if (access (path, R_OK | X_OK) == 0)
+                       strcpy (boot_prog, path);
+       }
+}   /*  End Function read_inittab  */
+
+static void sighup_handler (int sig)
+{
+       int i,j;
+       int oldnum;
+       struct initline savetab[NUMCMD];
+       int had_already;
+
+       signal (SIGHUP, SIG_IGN);
+       memcpy(savetab, inittab, NUMCMD * sizeof(struct initline));
+       oldnum = numcmd;                
+       read_inittab ();
+       
+       for(i = 0; i < numcmd; i++) {
+               had_already = 0;
+               for(j = 0; j < oldnum; j++) {
+                       if(!strcmp(savetab[j].tty, inittab[i].tty)) {
+                               had_already = 1;
+                               if((inittab[i].pid = savetab[j].pid) < 0)
+                                       spawn(i);
+                       }
+               }
+               if (!had_already) spawn (i);
+       }
+       signal (SIGHUP, sighup_handler);
+}   /*  End Function sighup_handler  */
+
+static void sigtstp_handler (int sig)
+{
+    stopped = ~stopped;
+    if (!stopped) sighup_handler (sig);
+}   /*  End Function sigtstp_handler  */
+
+static void sigterm_handler (int sig)
+{
+    int i;
+
+    for (i = 0; i < numcmd; i++)
+       if (inittab[i].pid > 0) kill (inittab[i].pid, SIGTERM);
+}   /*  End Function sigterm_handler  */
+
+static void sigint_handler (int sig)
+{
+    pid_t pid;
+
+    caught_sigint = 1;
+    kill (rc_child, SIGKILL);
+    if (no_reboot) _exit (1) /*kill (0, SIGKILL)*/;
+    sync ();
+    sync ();
+    pid = fork ();
+    if (pid > 0) return;  /*  Parent                     */
+    if (pid == 0)        /*  Child: reboot properly...  */
+       execl (_PATH_REBOOT, _PATH_REBOOT, (char *) 0);
+
+    /* fork or exec failed, try the hard way... */
+    my_reboot (LINUX_REBOOT_CMD_RESTART);
+}   /*  End Function sigint_handler  */
+
+static void sigchild_handler (int sig)
+{
+    if (!do_longjmp) return;
+    siglongjmp (jmp_env, 1);
+}
+
+static void sigquit_handler (int sig)
+{
+    execl (_PATH_REBOOT, _PATH_REBOOT, NULL); /*  It knows pid=1 must sleep  */
+}
+
+#ifdef SET_TZ
+static void set_tz (void)
+{
+       FILE *f;
+       int len;
+
+       if((f=fopen(TZFILE, "r")) == (FILE *)NULL) return;
+       fgets(tzone, CMDSIZ-2, f);
+       fclose(f);
+       if((len=strlen(tzone)) < 2) return;
+       tzone[len-1] = 0; /* get rid of the '\n' */
+       setenv("TZ", tzone, 0);
+}
+#endif
+
+static void write_wtmp (void)
+{
+    int fd, lf;
+    struct utmp ut;
+    
+    memset((char *)&ut, 0, sizeof(ut));
+    strcpy(ut.ut_line, "~");
+    memset(ut.ut_name, 0, sizeof(ut.ut_name));
+    time(&ut.ut_time);
+    ut.ut_type = BOOT_TIME;
+
+    if ((lf = open(_PATH_WTMPLOCK, O_CREAT|O_WRONLY, 0660)) >= 0) {
+       flock(lf, LOCK_EX|LOCK_NB); /* make sure init won't hang */
+       if((fd = open(_PATH_WTMP, O_WRONLY|O_APPEND)) >= 0) {
+           write(fd, (char *)&ut, sizeof(ut));
+           close(fd);
+       }
+       flock(lf, LOCK_UN|LOCK_NB);
+       close(lf);
+    }
+}   /*  End Function write_wtmp  */
+
+
+struct needer_struct
+{
+    struct needer_struct *next;
+    pid_t pid;
+};
+
+struct service_struct
+{
+    struct service_struct *prev, *next;    /*  Script services chain         */
+    struct needer_struct *needers;         /*  Needers waiting for service   */
+    struct script_struct *attempting_providers;
+    int failed;                /*  TRUE if attempting provider failed badly  */
+    char name[1];
+};
+
+struct script_struct
+{
+    pid_t pid;
+    struct script_struct *prev, *next;              /*  For the list         */
+    struct service_struct *first_service, *last_service; /*First is true name*/
+    struct script_struct *next_attempting_provider; /*  Provider chain       */
+};
+
+struct list_head
+{
+    struct script_struct *first, *last;
+    unsigned int num_entries;
+};
+
+
+static struct list_head available_list = {NULL, NULL, 0};
+static struct list_head starting_list = {NULL, NULL, 0};
+static struct service_struct *unavailable_services = NULL;  /*  For needers  */
+static int num_needers = 0;
+
+
+static int process_pidstat (pid_t pid, int status);
+static void process_command (const struct command_struct *command);
+static struct service_struct *find_service_in_list (const char *name,
+                                                   struct service_struct *sv);
+static struct script_struct *find_script_byname
+    (const char *name,struct list_head *head, struct service_struct **service);
+static struct script_struct *find_script_bypid (pid_t pid,
+                                               struct list_head *head);
+static void insert_entry (struct list_head *head, struct script_struct *entry);
+static void remove_entry (struct list_head *head, struct script_struct *entry);
+static void signal_needers (struct service_struct *service, int sig);
+static void handle_nonworking (struct script_struct *script);
+static int force_progress (void);
+static void show_scripts (FILE *fp, const struct script_struct *script,
+                         const char *type);
+static const char *get_path (const char *file);
+
+
+static pid_t mywait (int *status)
+/*  [RETURNS] The pid for a process to be reaped, 0 if no process is to be
+    reaped, and less than 0 if the boot scripts appear to have finished.
+*/
+{
+    pid_t pid;
+    sigset_t ss;
+    long buffer[COMMAND_SIZE / sizeof (long)];
+    struct command_struct *command = (struct command_struct *) buffer;
+
+    if (initctl_fd < 0) return wait (status);
+    /*  Some magic to avoid races which can result in lost signals   */
+    command->command = -1;
+    if ( sigsetjmp (jmp_env, 1) )
+    {   /*  Jump from signal handler  */
+       do_longjmp = 0;
+       process_command (command);
+       return 0;
+    }
+    sigemptyset (&ss);  /*  Block SIGCHLD so wait status cannot be lost  */
+    sigaddset (&ss, SIGCHLD);
+    sigprocmask (SIG_BLOCK, &ss, NULL);
+    if ( ( pid = waitpid (-1, status, WNOHANG) ) > 0 )
+    {
+       sigprocmask (SIG_UNBLOCK, &ss, NULL);
+       return process_pidstat (pid, *status);
+    }
+    do_longjmp = 1;  /*  After this, SIGCHLD will cause a jump backwards  */
+    sigprocmask (SIG_UNBLOCK, &ss, NULL);
+    read (initctl_fd, buffer, sizeof(buffer));
+    do_longjmp = 0;
+    process_command (command);
+    return 0;
+}   /*  End Function mywait  */
+
+static pid_t process_pidstat (pid_t pid, int status)
+/*  [RETURNS] The pid for a process to be reaped, 0 if no process is to be
+    reaped, and less than 0 if the boot scripts appear to have finished.
+*/
+{
+    int failed;
+    struct script_struct *script;
+    struct service_struct *service;
+
+    if ( ( script = find_script_bypid (pid, &starting_list) ) == NULL )
+       return pid;
+    remove_entry (&starting_list, script);
+    if ( WIFEXITED (status) && (WEXITSTATUS (status) == 0) )
+    {
+       struct script_struct *provider;
+
+       /*  Notify needers and other providers  */
+       for (service = script->first_service; service != NULL;
+            service = service->next)
+       {
+           signal_needers (service, SIG_PRESENT);
+           for (provider = service->attempting_providers; provider != NULL;
+                provider = provider->next_attempting_provider)
+               kill (provider->pid, SIG_PRESENT);
+           service->attempting_providers = NULL;
+       }
+       insert_entry (&available_list, script);
+       return force_progress ();
+    }
+    failed = ( WIFEXITED (status) && (WEXITSTATUS (status) == 2) ) ? 0 : 1;
+    for (service = script->first_service; service != NULL;
+        service = service->next)
+       service->failed = failed;
+    handle_nonworking (script);
+    return force_progress ();
+}   /*  End Function process_pidstat  */
+
+static void process_command (const struct command_struct *command)
+{
+    int ival;
+    struct script_struct *script;
+    struct service_struct *service;
+
+    switch (command->command)
+    {
+      case COMMAND_TEST:
+       kill (command->pid,
+             (find_script_byname (command->name, &available_list,
+                                  NULL) == NULL) ?
+             SIG_NOT_PRESENT : SIG_PRESENT);
+       break;
+      case COMMAND_NEED:
+       ival = run_command (command->name, command->name, command->pid);
+       if (ival == 0)
+       {
+           ++num_needers;
+           force_progress ();
+       }
+       else kill (command->pid, ival);
+       break;
+      case COMMAND_ROLLBACK:
+       if (command->name[0] == '\0') script = NULL;
+       else
+       {
+           if ( ( script = find_script_byname (command->name, &available_list,
+                                               NULL) ) == NULL )
+           {
+               kill (command->pid, SIG_NOT_PRESENT);
+               break;
+           }
+       }
+       while (script != available_list.first)
+       {
+           pid_t pid;
+           struct script_struct *victim = available_list.first;
+           char txt[256];
+
+           if ( ( pid = fork () ) == 0 )   /*  Child   */
+           {
+               for (ival = 1; ival < NSIG; ival++) signal (ival, SIG_DFL);
+               open ("/dev/console", O_RDONLY, 0);
+               open ("/dev/console", O_RDWR, 0);
+               dup2 (1, 2);
+               execlp (get_path (victim->first_service->name),
+                       victim->first_service->name, "stop", NULL);
+               snprintf (txt, sizeof(txt),
+                       _("error stopping service: \"%s\"\n"),
+                        victim->first_service->name);
+               err (txt);
+               _exit (SIG_NOT_STOPPED);
+           }
+           else if (pid == -1) break;      /*  Error   */
+           else                            /*  Parent  */
+           {
+               while (waitpid (pid, &ival, 0) != pid) /*  Nothing  */;
+               if ( WIFEXITED (ival) && (WEXITSTATUS (ival) == 0) )
+               {
+                   snprintf (txt, sizeof(txt),
+                            _("Stopped service: %s\n"),
+                            victim->first_service->name);
+                   remove_entry (&available_list, victim);
+                   free (victim);
+                   err (txt);
+               }
+               else break;
+           }
+       }
+       kill (command->pid,
+             (script ==available_list.first) ? SIG_STOPPED : SIG_NOT_STOPPED);
+       break;
+      case COMMAND_DUMP_LIST:
+       if (fork () == 0) /* Do it in a child process so pid=1 doesn't block */
+       {
+           FILE *fp;
+
+           if ( ( fp = fopen (command->name, "w") ) == NULL ) _exit (1);
+           show_scripts (fp, available_list.first, "AVAILABLE");
+           show_scripts (fp, starting_list.first, "STARTING");
+           fputs ("UNAVAILABLE SERVICES:\n", fp);
+           for (service = unavailable_services; service != NULL;
+                service = service->next)
+               fprintf (fp, "%s (%s)\n", service->name,
+                        service->failed ? "FAILED" : "not configured");
+           fclose (fp);
+           _exit (0);
+       }
+       break;
+      case COMMAND_PROVIDE:
+       /*  Sanity check  */
+       if ( ( script = find_script_bypid (command->ppid, &starting_list) )
+            == NULL )
+       {
+           kill (command->pid, SIG_NOT_CHILD);
+           break;
+       }
+       if (find_script_byname (command->name, &available_list, NULL) != NULL)
+       {
+           kill (command->pid, SIG_PRESENT);
+           break;
+       }
+       if (find_script_byname (command->name, &starting_list, &service)
+           != NULL)
+       {   /*  Someone else is trying to provide  */
+           script->next_attempting_provider = service->attempting_providers;
+           service->attempting_providers = script;
+           break;
+       }
+       if ( ( service = find_service_in_list (command->name,
+                                              unavailable_services) )
+            == NULL )
+       {   /*  We're the first to try and provide: create it  */
+           if ( ( service =
+                  calloc (1, strlen (command->name) + sizeof *service) )
+                == NULL )
+           {
+               kill (command->pid, SIG_NOT_CHILD);
+               break;
+           }
+           strcpy (service->name, command->name);
+       }
+       else
+       {   /*  Orphaned service: unhook and grab it  */
+           if (service->prev == NULL) unavailable_services = service->next;
+           else service->prev->next = service->next;
+           if (service->next != NULL) service->next->prev = service->prev;
+           service->next = NULL;
+       }
+       service->prev = script->last_service;
+       script->last_service->next = service;
+       script->last_service = service;
+       kill (command->pid, SIG_NOT_PRESENT);
+       break;
+      case -1:
+      default:
+       break;
+    }
+}   /*  End Function process_command  */
+
+static int run_command (const char *file, const char *name, pid_t pid)
+{
+    struct script_struct *script;
+    struct needer_struct *needer = NULL;
+    struct service_struct *service;
+
+    if (find_script_byname (name, &available_list, NULL) != NULL)
+       return SIG_PRESENT;
+    if (pid != 0)
+    {
+       needer = calloc (1, sizeof *needer);
+       if (needer == NULL) return SIG_FAILED;
+       needer->pid = pid;
+    }
+    script = find_script_byname (name, &starting_list, &service);
+    if (script == NULL)
+       service = find_service_in_list (name, unavailable_services);
+    if (service == NULL)
+    {
+       int i;
+       char txt[1024];
+
+       if ( ( script = calloc (1, sizeof *script) ) == NULL )
+       {
+           free (needer);
+           return SIG_FAILED;
+       }
+       service = calloc (1, strlen (name) + sizeof *service);
+       if (service == NULL)
+       {
+           free (script);
+           return SIG_FAILED;
+       }
+       strcpy (service->name, name);
+       switch ( script->pid = fork () )
+       {
+         case 0:   /*  Child   */
+           for (i = 1; i < NSIG; i++) signal (i, SIG_DFL);
+           execlp (get_path (file), service->name, "start", NULL);
+           snprintf (txt, sizeof(txt),
+               _("error running programme: \"%s\"\n"), service->name);
+           err (txt);
+           _exit (SIG_FAILED);
+           break;
+         case -1:  /*  Error   */
+           service->next = unavailable_services;
+           if (unavailable_services != NULL)
+               unavailable_services->prev = service;
+           unavailable_services = service;
+           free (script);
+           free (needer);
+           return SIG_FAILED;
+           /*break;*/
+         default:  /*  Parent  */
+           script->first_service = service;
+           script->last_service = service;
+           insert_entry (&starting_list, script);
+           sched_yield ();
+           break;
+       }
+    }
+    if (needer == NULL) return 0;
+    needer->next = service->needers;
+    service->needers = needer;
+    return 0;
+}   /*  End Function run_command  */
+
+static struct service_struct *find_service_in_list (const char *name,
+                                                   struct service_struct *sv)
+{
+    for (; sv != NULL; sv = sv->next)
+       if (strcmp (sv->name, name) == 0) return (sv);
+    return NULL;
+}   /*  End Function find_service_in_list  */
+
+static struct script_struct *find_script_byname (const char *name,
+                                                struct list_head *head,
+                                                struct service_struct **service)
+{
+    struct script_struct *script;
+
+    for (script = head->first; script != NULL; script = script->next)
+    {
+       struct service_struct *sv;
+
+       if ( ( sv = find_service_in_list (name, script->first_service) )
+            != NULL )
+       {
+           if (service != NULL) *service = sv;
+           return (script);
+       }
+    }
+    if (service != NULL) *service = NULL;
+    return NULL;
+}   /*  End Function find_script_byname  */
+
+static struct script_struct *find_script_bypid (pid_t pid,
+                                               struct list_head *head)
+{
+    struct script_struct *script;
+
+    for (script = head->first; script != NULL; script = script->next)
+       if (script->pid == pid) return (script);
+    return NULL;
+}   /*  End Function find_script_bypid  */
+
+static void insert_entry (struct list_head *head, struct script_struct *entry)
+{
+    if (entry == NULL) return;
+    entry->prev = NULL;
+    entry->next = head->first;
+    if (head->first != NULL) head->first->prev = entry;
+    head->first = entry;
+    if (head->last == NULL) head->last = entry;
+    ++head->num_entries;
+}   /*  End Function insert_entry  */
+
+static void remove_entry (struct list_head *head, struct script_struct *entry)
+{
+    if (entry->prev == NULL) head->first = entry->next;
+    else entry->prev->next = entry->next;
+    if (entry->next == NULL) head->last = entry->prev;
+    else entry->next->prev = entry->prev;
+    --head->num_entries;
+}   /*  End Function remove_entry  */
+
+static void signal_needers (struct service_struct *service, int sig)
+{
+    struct needer_struct *needer, *next_needer;
+
+    for (needer = service->needers; needer != NULL; needer = next_needer)
+    {
+       kill (needer->pid, sig);
+       next_needer = needer->next;
+       free (needer);
+       --num_needers;
+    }
+    service->needers = NULL;
+}   /*  End Function signal_needers  */
+
+static void handle_nonworking (struct script_struct *script)
+{
+    struct service_struct *service, *next;
+
+    for (service = script->first_service; service != NULL; service = next)
+    {
+       struct script_struct *provider = service->attempting_providers;
+
+       next = service->next;
+       if (provider == NULL)
+       {
+           service->prev = NULL;
+           service->next = unavailable_services;
+           if (unavailable_services != NULL)
+               unavailable_services->prev = service;
+           unavailable_services = service;
+           continue;
+       }
+       service->attempting_providers = provider->next_attempting_provider;
+       provider->last_service->next = service;
+       service->prev = provider->last_service;
+       provider->last_service = service;
+       service->next = NULL;
+       kill (provider->pid, SIG_NOT_PRESENT);
+    }
+    free (script);
+}   /*  End Function handle_nonworking  */
+
+static int force_progress (void)
+/*  [RETURNS] 0 if boot scripts are still running, else -1.
+*/
+{
+    struct service_struct *service;
+
+    if (starting_list.num_entries > num_needers) return 0;
+    /*  No progress can be made: signal needers  */
+    for (service = unavailable_services; service != NULL;
+        service = service->next)
+       signal_needers (service,
+                       service->failed ? SIG_FAILED : SIG_NOT_PRESENT);
+    return (starting_list.num_entries < 1) ? -1 : 0;
+}   /*  End Function force_progress  */
+
+static void show_scripts (FILE *fp, const struct script_struct *script,
+                         const char *type)
+{
+    fprintf (fp, "%s SERVICES:\n", type);
+    for (; script != NULL; script = script->next)
+    {
+       struct service_struct *service = script->first_service;
+
+       fputs (service->name, fp);
+       for (service = service->next; service != NULL; service = service->next)
+           fprintf (fp, "  (%s)", service->name);
+       putc ('\n', fp);
+    }
+}   /*  End Function show_scripts  */
+
+static const char *get_path (const char *file)
+{
+    char *p1, *p2;
+    static char path[PATH_SIZE];
+
+    if (file[0] == '/') return file;
+    if (init_path[0] == '\0') return file;
+    for (p1 = init_path; *p1 != '\0'; p1 = p2)
+    {
+       if ( ( p2 = strchr (p1, ':') ) == NULL )
+           p2 = p1 + strlen (p1);
+       strncpy (path, p1, p2 - p1);
+       path[p2 - p1] = '/';
+       strcpy (path + (p2 - p1) + 1, file);
+       if (*p2 == ':') ++p2;
+       if (access (path, X_OK) == 0) return path;
+    }
+    return file;
+}   /*  End Function get_path  */
diff --git a/login-utils/simpleinit.h b/login-utils/simpleinit.h
new file mode 100644 (file)
index 0000000..1d87629
--- /dev/null
@@ -0,0 +1,28 @@
+#include <limits.h>
+#include <errno.h>
+
+
+#define ERRSTRING strerror (errno)
+#define COMMAND_SIZE  (PIPE_BUF - 4)
+
+
+#define COMMAND_TEST       0  /*  No wait, signal                            */
+#define COMMAND_NEED       1  /*  Wait, signal                               */
+#define COMMAND_ROLLBACK   2  /*  Wait, signal                               */
+#define COMMAND_DUMP_LIST  3  /*  No wait, no signal                         */
+#define COMMAND_PROVIDE    4  /*  Wait, signal                               */
+
+#define SIG_PRESENT        SIGUSR1  /*  Service is available                 */
+#define SIG_STOPPED        SIGUSR1  /*  Service was stopped OK               */
+#define SIG_NOT_PRESENT    SIGUSR2  /*  Not present, but that's OK           */
+#define SIG_FAILED         SIGPOLL  /*  Startup failed                       */
+#define SIG_NOT_STOPPED    SIGPOLL  /*  Failed to stop                       */
+#define SIG_NOT_CHILD      SIGPOLL  /*  Not a child of init                  */
+
+struct command_struct  /*  Must always be COMMAND_SIZE  */
+{
+    signed int command;
+    pid_t pid;
+    pid_t ppid;
+    char name[1];
+};
diff --git a/login-utils/ttymsg.c b/login-utils/ttymsg.c
new file mode 100644 (file)
index 0000000..92282c1
--- /dev/null
@@ -0,0 +1,188 @@
+/*
+ * 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 "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, int iovcnt, char *line, int tmout) {
+       static char device[MAXNAMLEN];
+       static char errbuf[MAXNAMLEN+1024];
+       register int cnt, fd, left, wret;
+       struct iovec localiov[6];
+       int 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: %s", device, strerror(errno));
+               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 >= left)
+                       break;
+               if (wret >= 0) {
+                       left -= wret;
+                       if (iov != localiov) {
+                               memmove(localiov, iov,
+                                   iovcnt * sizeof(struct iovec));
+                               iov = localiov;
+                       }
+                       for (cnt = 0; wret >= iov->iov_len; ++cnt) {
+                               wret -= iov->iov_len;
+                               ++iov;
+                               --iovcnt;
+                       }
+                       if (wret) {
+                               iov->iov_base += wret;
+                               iov->iov_len -= wret;
+                       }
+                       continue;
+               }
+               if (errno == EWOULDBLOCK) {
+                       int cpid, flags;
+                       sigset_t sigmask;
+
+                       if (forked) {
+                               (void) close(fd);
+                               _exit(1);
+                       }
+                       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(1);
+               if (strlen(strerror(errno)) > 1000)
+                       (void) sprintf(errbuf, _("%s: BAD ERROR"), device);
+               else {
+                       errsv = errno;
+                       (void) sprintf(errbuf, "%s: %s", device,
+                                      strerror(errsv));
+               }
+               errbuf[1024] = 0;
+               return (errbuf);
+       }
+
+       (void) close(fd);
+       if (forked)
+               _exit(0);
+       return (NULL);
+}
diff --git a/login-utils/ttymsg.h b/login-utils/ttymsg.h
new file mode 100644 (file)
index 0000000..5d27951
--- /dev/null
@@ -0,0 +1,2 @@
+char *ttymsg(struct iovec *iov, int iovcnt, char *line, int tmout);
+
diff --git a/login-utils/vigr.8 b/login-utils/vigr.8
new file mode 100644 (file)
index 0000000..ff72d7a
--- /dev/null
@@ -0,0 +1 @@
+.so man8/vipw.8
diff --git a/login-utils/vipw.8 b/login-utils/vipw.8
new file mode 100644 (file)
index 0000000..e988683
--- /dev/null
@@ -0,0 +1,86 @@
+.\" 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
+.\"
+.Dd 7 July 1996
+.Dt VIPW 8
+.Os Util-Linux 2.6
+.Sh NAME
+.Nm vipw, vigr
+.Nd edit the password or group files
+.Sh SYNOPSIS
+.Nm vipw
+.Op Fl V
+.Op Fl -version
+.Nm vigr
+.Op Fl V
+.Op Fl -version
+.Sh DESCRIPTION
+.Nm 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,
+.Nm vipw
+will ask you
+to try again later. The default editor for
+.Nm vipw
+is
+.Xr vi 1 .
+.br
+.Nm Vigr
+edits the group file in the same manner as vipw.
+.Sh ENVIRONMENT
+If the following environment variable exists it will be utilized by
+.Nm vipw :
+.Bl -tag -width EDITOR
+.It Ev EDITOR
+The editor specified by the string
+.Ev EDITOR
+will be invoked instead of the default editor
+.Xr vi 1 .
+.El
+.Sh SEE ALSO
+.Xr passwd 1 ,
+.Xr vi 1 ,
+.Xr passwd 5
+.Sh HISTORY
+The
+.Nm vipw
+command appeared in
+.Bx 4.0 .
+.br
+The
+.Nm vigr
+command appeared in Util-Linux 2.6.
+.Sh AVAILABILITY
+The vigr and vipw commands are part of the util-linux-ng package and are available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/login-utils/vipw.c b/login-utils/vipw.c
new file mode 100644 (file)
index 0000000..b3972f3
--- /dev/null
@@ -0,0 +1,362 @@
+/*
+ * 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
+ */
+
+static char version_string[] = "vipw 1.4";
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <pwd.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/param.h>
+#include <sys/time.h>
+#include <sys/wait.h>
+#include <sys/resource.h>
+#include <sys/file.h>
+#include <signal.h>
+#include <fcntl.h>
+#include <errno.h>
+#include <paths.h>
+#include <unistd.h>
+
+#include "setpwnam.h"
+#include "xstrncpy.h"
+#include "nls.h"
+
+#ifdef HAVE_LIBSELINUX
+#include <selinux/selinux.h>
+#endif
+
+#define FILENAMELEN 67
+
+char *progname;
+enum { VIPW, VIGR };
+int program;
+char orig_file[FILENAMELEN];   /* original file /etc/passwd or /etc/group */
+char tmp_file[FILENAMELEN];    /* tmp file */
+char tmptmp_file[FILENAMELEN]; /* very 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 int
+pw_lock(void) {
+       int lockfd, fd, ret;
+
+       /* 
+        * If the password file doesn't exist, the system is hosed.
+        * Might as well try to build one.  Set the close-on-exec bit so
+        * that users can't get at the encrypted passwords while editing.
+        * Open should allow flock'ing the file; see 4.4BSD.    XXX
+        */
+#if 0 /* flock()ing is superfluous here, with the ptmp/ptmptmp system. */
+       if (flock(lockfd, LOCK_EX|LOCK_NB)) {
+               if (program == VIPW)
+                       fprintf(stderr, _("%s: the password file is busy.\n"),
+                               progname);
+               else
+                       fprintf(stderr, _("%s: the group file is busy.\n"),
+                               progname);
+               exit(1);
+       }
+#endif
+
+       if ((fd = open(tmptmp_file, O_WRONLY|O_CREAT, 0600)) == -1) {
+         (void)fprintf(stderr,
+                  "%s: %s: %s\n", progname, tmptmp_file, strerror(errno));
+         exit(1);
+       }
+       ret = link(tmptmp_file, tmp_file);
+       (void)unlink(tmptmp_file);
+       if (ret == -1) {
+           if (errno == EEXIST)
+               (void)fprintf(stderr, 
+                             _("%s: the %s file is busy (%s present)\n"),
+                             progname,
+                             program == VIPW ? "password" : "group",
+                             tmp_file);
+           else {
+               int errsv = errno;
+               (void)fprintf(stderr, _("%s: can't link %s: %s\n"), progname,
+                             tmp_file, strerror(errsv));
+           }
+           exit(1);
+       }
+
+       lockfd = open(orig_file, O_RDONLY, 0);
+
+       if (lockfd < 0) {
+               (void)fprintf(stderr, "%s: %s: %s\n",
+                   progname, orig_file, strerror(errno));
+               unlink(tmp_file);
+               exit(1);
+       }
+
+       copyfile(lockfd, fd);
+       (void)close(lockfd);
+       (void)close(fd);
+       return(1);
+}
+
+static void
+pw_unlock(void) {
+       char tmp[FILENAMELEN+4];
+  
+       sprintf(tmp, "%s%s", orig_file, ".OLD");
+       unlink(tmp);
+       link(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) {
+           (void) fprintf(stderr,_("%s: Can't get context for %s"),progname,orig_file);
+           pw_error(orig_file, 1, 1);
+         }
+         ret=setfilecon(tmp_file,passwd_context);
+         freecon(passwd_context);
+         if (ret!=0) {
+           (void) fprintf(stderr,_("%s: Can't set context for %s"),progname,tmp_file);
+           pw_error(tmp_file, 1, 1);
+         }
+       }
+#endif
+
+       if (rename(tmp_file, orig_file) == -1) {
+               int errsv = errno;
+               fprintf(stderr, 
+                       _("%s: can't unlock %s: %s (your changes are still in %s)\n"), 
+                       progname, orig_file, strerror(errsv), tmp_file);
+               exit(1);
+       }
+       unlink(tmp_file);
+}
+
+
+static void
+pw_edit(int notsetuid) {
+       int pstat;
+       pid_t pid;
+       char *p, *editor;
+
+       if (!(editor = getenv("EDITOR")))
+               editor = strdup(_PATH_VI); /* adia@egnatia.ee.auth.gr */
+       if ((p = strrchr(strtok(editor," \t"), '/')) != NULL)
+               ++p;
+       else 
+               p = editor;
+
+       pid = fork();
+       if (pid < 0) {
+               (void)fprintf(stderr, _("%s: Cannot fork\n"), progname);
+               exit(1);
+       }
+       if (!pid) {
+               if (notsetuid) {
+                       (void)setgid(getgid());
+                       (void)setuid(getuid());
+               }
+               execlp(editor, p, tmp_file, NULL);
+               _exit(1);
+       }
+       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);
+}
+
+void
+pw_error(char *name, int err, int eval) {
+       if (err) {
+               int sverrno = errno;
+
+               fprintf(stderr, "%s: ", progname);
+               if (name)
+                       (void)fprintf(stderr, "%s: ", name);
+               fprintf(stderr, "%s\n", strerror(sverrno));
+       }
+       fprintf(stderr,
+           _("%s: %s unchanged\n"), progname, orig_file);
+       unlink(tmp_file);
+       exit(eval);
+}
+
+static void
+edit_file(int is_shadow)
+{
+       struct stat begin, end;
+
+       pw_init();
+       pw_lock();
+
+       if (stat(tmp_file, &begin))
+               pw_error(tmp_file, 1, 1);
+
+       pw_edit(0);
+
+       if (stat(tmp_file, &end))
+               pw_error(tmp_file, 1, 1);
+       if (begin.st_mtime == end.st_mtime) {
+               (void)fprintf(stderr, _("%s: no changes made\n"), progname);
+               pw_error((char *)NULL, 0, 0);
+       }
+       /* see pw_lock() where we create the file with mode 600 */
+       if (!is_shadow)
+               chmod(tmp_file, 0644);
+       else
+               chmod(tmp_file, 0400);
+       pw_unlock();
+}
+
+int main(int argc, char *argv[]) {
+
+       setlocale(LC_ALL, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+
+       memset(tmp_file, '\0', FILENAMELEN);
+       progname = (strrchr(argv[0], '/')) ? strrchr(argv[0], '/') + 1 : argv[0];
+       if (!strcmp(progname, "vigr")) {
+               program = VIGR;
+               xstrncpy(orig_file, GROUP_FILE, sizeof(orig_file));
+               xstrncpy(tmp_file, GTMP_FILE, sizeof(tmp_file));
+               xstrncpy(tmptmp_file, GTMPTMP_FILE, sizeof(tmptmp_file));
+       } else {
+               program = VIPW;
+               xstrncpy(orig_file, PASSWD_FILE, sizeof(orig_file));
+               xstrncpy(tmp_file, PTMP_FILE, sizeof(tmp_file));
+               xstrncpy(tmptmp_file, PTMPTMP_FILE, sizeof(tmptmp_file));
+       }
+
+       if ((argc > 1) && 
+           (!strcmp(argv[1], "-V") || !strcmp(argv[1], "--version"))) {
+               printf("%s\n", version_string);
+               exit(0);
+       }
+
+       edit_file(0);
+
+       if (program == VIGR) {
+               strncpy(orig_file, SGROUP_FILE, FILENAMELEN-1);
+               strncpy(tmp_file, SGTMP_FILE, FILENAMELEN-1);
+               strncpy(tmptmp_file, SGTMPTMP_FILE, FILENAMELEN-1);
+       } else {
+               strncpy(orig_file, SHADOW_FILE, FILENAMELEN-1);
+               strncpy(tmp_file, SPTMP_FILE, FILENAMELEN-1);
+               strncpy(tmptmp_file, SPTMPTMP_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"));
+               printf(_("Would you like to edit %s now [y/n]? "), orig_file);
+
+               /* EOF means no */
+               if (fgets(response, sizeof(response), stdin)) {
+                       if (response[0] == 'y' || response[0] == 'Y')
+                               edit_file(1);
+               }
+       }
+
+       exit(0);
+}
diff --git a/login-utils/wall.1 b/login-utils/wall.1
new file mode 100644 (file)
index 0000000..a767c7d
--- /dev/null
@@ -0,0 +1,71 @@
+.\" 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
+.\"
+.Dd March 8, 1993
+.Dt WALL 1
+.Os "Linux 0.99"
+.Sh NAME
+.Nm wall
+.Nd write a message to users
+.Sh SYNOPSIS
+.Nm wall
+.Op Ar file
+.Sh DESCRIPTION
+.Nm Wall
+displays the contents of
+.Ar file
+or, by default, its standard input, on the terminals of all
+currently logged in users.
+.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 SEE ALSO
+.Xr mesg 1 ,
+.Xr talk 1 ,
+.Xr write 1 ,
+.Xr shutdown 8
+.Sh HISTORY
+A
+.Nm
+command appeared in
+.At v7 .
+.Sh AVAILABILITY
+The wall command is part of the util-linux-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/login-utils/wall.c b/login-utils/wall.c
new file mode 100644 (file)
index 0000000..7b5f671
--- /dev/null
@@ -0,0 +1,254 @@
+/*
+ * 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 <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 "nls.h"
+#include "xstrncpy.h"
+#include "ttymsg.h"
+#include "pathnames.h"
+#include "carefulputc.h"
+
+void   makemsg __P((char *));
+
+#define        IGNOREUSER      "sleeper"
+
+#ifndef MAXHOSTNAMELEN
+# ifdef HOST_NAME_MAX
+#  define MAXHOSTNAMELEN HOST_NAME_MAX
+# else
+#  define MAXHOSTNAMELEN 64
+# endif
+#endif
+
+int nobanner;
+int mbufsize;
+char *mbuf;
+
+char *progname = "wall";
+
+int
+main(int argc, char **argv) {
+       extern int optind;
+       int ch;
+       struct iovec iov;
+       struct utmp *utmpptr;
+       char *p;
+       char line[sizeof(utmpptr->ut_line) + 1];
+
+       setlocale(LC_ALL, "");
+        bindtextdomain(PACKAGE, LOCALEDIR);
+        textdomain(PACKAGE);
+
+       progname = argv[0];
+       p = strrchr(progname, '/');
+       if (p)
+            progname = p+1;
+
+       while ((ch = getopt(argc, argv, "n")) != -1)
+               switch (ch) {
+               case 'n':
+                       /* undoc option for shutdown: suppress banner */
+                       if (geteuid() == 0)
+                               nobanner = 1;
+                       break;
+               case '?':
+               default:
+usage:
+                       (void)fprintf(stderr, _("usage: %s [file]\n"), progname);
+                       exit(1);
+               }
+       argc -= optind;
+       argv += optind;
+       if (argc > 1)
+               goto usage;
+
+       makemsg(*argv);
+
+       setutent();
+
+       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, 60*5)) != NULL)
+                       (void)fprintf(stderr, "%s: %s\n", progname, p);
+       }
+       endutent();
+       exit(0);
+}
+
+void
+makemsg(fname)
+       char *fname;
+{
+       register int ch, cnt;
+       struct tm *lt;
+       struct passwd *pw;
+       struct stat sbuf;
+       time_t now;
+       FILE *fp;
+       int fd;
+       char *p, *whom, *where, hostname[MAXHOSTNAMELEN],
+               lbuf[MAXHOSTNAMELEN + 320],
+               tmpname[sizeof(_PATH_TMP) + 20];
+
+       (void)sprintf(tmpname, "%s/wall.XXXXXX", _PATH_TMP);
+       if (!(fd = mkstemp(tmpname)) || !(fp = fdopen(fd, "r+"))) {
+               (void)fprintf(stderr, _("%s: can't open temporary file.\n"), progname);
+               exit(1);
+       }
+       (void)unlink(tmpname);
+
+       if (!nobanner) {
+               if (!(whom = getlogin()) || !*whom)
+                       whom = (pw = getpwuid(getuid())) ? pw->pw_name : "???";
+               if (!whom || strlen(whom) > 100)
+                       whom = "someone";
+               where = ttyname(2);
+               if (!where || strlen(where) > 100)
+                       where = "somewhere";
+               (void)gethostname(hostname, sizeof(hostname));
+               (void)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 */
+               (void)fprintf(fp, "\r%79s\r\n", " ");
+               (void)sprintf(lbuf, _("Broadcast Message from %s@%s"),
+                             whom, hostname);
+               (void)fprintf(fp, "%-79.79s\007\007\r\n", lbuf);
+               (void)sprintf(lbuf, "        (%s) at %d:%02d ...",
+                             where, lt->tm_hour, lt->tm_min);
+               (void)fprintf(fp, "%-79.79s\r\n", lbuf);
+       }
+       (void)fprintf(fp, "%79s\r\n", " ");
+
+       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".
+                */
+               int uid = getuid();
+               if (uid && (uid != geteuid() || getgid() != getegid())) {
+                       fprintf(stderr, _("%s: will not read %s - use stdin.\n"),
+                               progname, fname);
+                       exit(1);
+               }
+               if (!freopen(fname, "r", stdin)) {
+                       fprintf(stderr, _("%s: can't read %s.\n"),
+                               progname, fname);
+                       exit(1);
+               }
+       }
+
+       while (fgets(lbuf, sizeof(lbuf), 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", " ");
+       rewind(fp);
+
+       if (fstat(fd, &sbuf)) {
+               fprintf(stderr, _("%s: can't stat temporary file.\n"),
+                       progname);
+               exit(1);
+       }
+       mbufsize = sbuf.st_size;
+       if (!(mbuf = malloc((u_int)mbufsize))) {
+               (void)fprintf(stderr, _("%s: Out of memory!\n"), progname);
+               exit(1);
+       }
+       if (fread(mbuf, sizeof(*mbuf), mbufsize, fp) != mbufsize) {
+               (void)fprintf(stderr, _("%s: can't read temporary file.\n"), progname);
+               exit(1);
+       }
+       (void)close(fd);
+}
diff --git a/m4/gettext.m4 b/m4/gettext.m4
new file mode 100644 (file)
index 0000000..a374f03
--- /dev/null
@@ -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/iconv.m4 b/m4/iconv.m4
new file mode 100644 (file)
index 0000000..c5f3579
--- /dev/null
@@ -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 (file)
index 0000000..38aeaec
--- /dev/null
@@ -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 (file)
index 0000000..eeb200d
--- /dev/null
@@ -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 (file)
index 0000000..8aff5a9
--- /dev/null
@@ -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 (file)
index 0000000..671cde1
--- /dev/null
@@ -0,0 +1,7360 @@
+# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
+#
+#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+#                 2006, 2007, 2008 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 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 56 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_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
+
+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 "X$cc_temp" | $Xsed -e 's%.*/%%' -e "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
+_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_CMD_RELOAD])dnl
+m4_require([_LT_CHECK_MAGIC_METHOD])dnl
+m4_require([_LT_CMD_OLD_ARCHIVE])dnl
+m4_require([_LT_CMD_GLOBAL_SYMBOLS])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
+_LT_PROG_ECHO_BACKSLASH
+
+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
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# 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'
+
+# 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_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 "X$][$1" | $Xsed -e "$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 "X$<var>" | $Xsed -e "$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'
+
+# Quote evaled strings.
+for var in lt_decl_all_varnames([[ \
+]], lt_decl_quote_varnames); do
+    case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+    *[[\\\\\\\`\\"\\\$]]*)
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$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 "X\\\\\$\$var"\` in
+    *[[\\\\\\\`\\"\\\$]]*)
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+      ;;
+    *)
+      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+      ;;
+    esac
+done
+
+# Fix-up fallback echo if it was mangled by the above quoting rules.
+case \$lt_ECHO in
+*'\\\[$]0 --fallback-echo"')dnl "
+  lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\`
+  ;;
+esac
+
+_LT_OUTPUT_LIBTOOL_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])
+cat >"$CONFIG_LT" <<_LTEOF
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate a libtool stub with the current configuration.
+
+lt_cl_silent=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+_LTEOF
+
+cat >>"$CONFIG_LT" <<\_LTEOF
+AS_SHELL_SANITIZE
+_AS_PREPARE
+
+exec AS_MESSAGE_FD>&1
+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) 2008 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.
+if test "$no_create" != yes; then
+  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)
+fi
+])# 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 '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
+    || (rm -f "$cfgfile"; exit 1)
+
+  _LT_PROG_XSI_SHELLFNS
+
+  sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
+    || (rm -f "$cfgfile"; exit 1)
+
+  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)])
+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], [])
+
+
+# _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"
+    ])
+    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" != ":"; 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
+  _LT_TAGVAR(whole_archive_flag_spec, $1)=''
+  _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=echo
+    _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
+# -----------------------
+# 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.
+m4_defun([_LT_SYS_MODULE_PATH_AIX],
+[m4_require([_LT_DECL_SED])dnl
+AC_LINK_IFELSE(AC_LANG_PROGRAM,[
+lt_aix_libpath_sed='
+    /Import File Strings/,/^$/ {
+       /^0/ {
+           s/^0  *\(.*\)$/\1/
+           p
+       }
+    }'
+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 "$aix_libpath"; then
+  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi],[])
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+])# _LT_SYS_MODULE_PATH_AIX
+
+
+# _LT_SHELL_INIT(ARG)
+# -------------------
+m4_define([_LT_SHELL_INIT],
+[ifdef([AC_DIVERSION_NOTICE],
+            [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
+        [AC_DIVERT_PUSH(NOTICE)])
+$1
+AC_DIVERT_POP
+])# _LT_SHELL_INIT
+
+
+# _LT_PROG_ECHO_BACKSLASH
+# -----------------------
+# Add some code to the start of the generated configure script which
+# will find an echo command which doesn't interpret backslashes.
+m4_defun([_LT_PROG_ECHO_BACKSLASH],
+[_LT_SHELL_INIT([
+# Check that we are running under the correct shell.
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+case X$lt_ECHO in
+X*--fallback-echo)
+  # Remove one level of quotation (which was required for Make).
+  ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
+  ;;
+esac
+
+ECHO=${lt_ECHO-echo}
+if test "X[$]1" = X--no-reexec; then
+  # Discard the --no-reexec flag, and continue.
+  shift
+elif test "X[$]1" = X--fallback-echo; then
+  # Avoid inline document here, it may be left over
+  :
+elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
+  # Yippee, $ECHO works!
+  :
+else
+  # Restart under the correct shell.
+  exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
+fi
+
+if test "X[$]1" = X--fallback-echo; then
+  # used as fallback echo
+  shift
+  cat <<_LT_EOF
+[$]*
+_LT_EOF
+  exit 0
+fi
+
+# 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
+
+if test -z "$lt_ECHO"; then
+  if test "X${echo_test_string+set}" != Xset; then
+    # find a string as large as possible, as long as the shell can cope with it
+    for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
+      # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
+      if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
+        { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
+      then
+        break
+      fi
+    done
+  fi
+
+  if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
+     echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
+     test "X$echo_testing_string" = "X$echo_test_string"; then
+    :
+  else
+    # The Solaris, AIX, and Digital Unix default echo programs unquote
+    # backslashes.  This makes it impossible to quote backslashes using
+    #   echo "$something" | sed 's/\\/\\\\/g'
+    #
+    # So, first we look for a working echo in the user's PATH.
+
+    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+    for dir in $PATH /usr/ucb; do
+      IFS="$lt_save_ifs"
+      if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
+         test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
+         echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
+         test "X$echo_testing_string" = "X$echo_test_string"; then
+        ECHO="$dir/echo"
+        break
+      fi
+    done
+    IFS="$lt_save_ifs"
+
+    if test "X$ECHO" = Xecho; then
+      # We didn't find a better echo, so look for alternatives.
+      if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
+         echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
+         test "X$echo_testing_string" = "X$echo_test_string"; then
+        # This shell has a builtin print -r that does the trick.
+        ECHO='print -r'
+      elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
+          test "X$CONFIG_SHELL" != X/bin/ksh; then
+        # If we have ksh, try running configure again with it.
+        ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+        export ORIGINAL_CONFIG_SHELL
+        CONFIG_SHELL=/bin/ksh
+        export CONFIG_SHELL
+        exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
+      else
+        # Try using printf.
+        ECHO='printf %s\n'
+        if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
+          echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
+          test "X$echo_testing_string" = "X$echo_test_string"; then
+         # Cool, printf works
+         :
+        elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
+            test "X$echo_testing_string" = 'X\t' &&
+            echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+            test "X$echo_testing_string" = "X$echo_test_string"; then
+         CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
+         export CONFIG_SHELL
+         SHELL="$CONFIG_SHELL"
+         export SHELL
+         ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
+        elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
+            test "X$echo_testing_string" = 'X\t' &&
+            echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+            test "X$echo_testing_string" = "X$echo_test_string"; then
+         ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
+        else
+         # maybe with a smaller string...
+         prev=:
+
+         for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
+           if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
+           then
+             break
+           fi
+           prev="$cmd"
+         done
+
+         if test "$prev" != 'sed 50q "[$]0"'; then
+           echo_test_string=`eval $prev`
+           export echo_test_string
+           exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
+         else
+           # Oops.  We lost completely, so just stick with echo.
+           ECHO=echo
+         fi
+        fi
+      fi
+    fi
+  fi
+fi
+
+# Copy echo and quote the copy suitably for passing to libtool from
+# the Makefile, instead of quoting the original, which is used later.
+lt_ECHO=$ECHO
+if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
+   lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
+fi
+
+AC_SUBST(lt_ECHO)
+])
+_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
+_LT_DECL([], [ECHO], [1],
+    [An echo program that does not interpret backslashes])
+])# _LT_PROG_ECHO_BACKSLASH
+
+
+# _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 __oline__ "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_CMD_OLD_ARCHIVE
+# -------------------
+m4_defun([_LT_CMD_OLD_ARCHIVE],
+[AC_CHECK_TOOL(AR, ar, false)
+test -z "$AR" && AR=ar
+test -z "$AR_FLAGS" && AR_FLAGS=cru
+_LT_DECL([], [AR], [1], [The archiver])
+_LT_DECL([], [AR_FLAGS], [1])
+
+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
+_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_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:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&AS_MESSAGE_LOG_FD
+   echo "$as_me:__oline__: \$? = $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 "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/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 "X$_lt_linker_boilerplate" | $Xsed -e '/^$/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;
+    ;;
+
+  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"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
+                = "XX$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 __oline__ "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
+
+void fnord() { int i=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;
+      /* 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:__oline__: $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:__oline__: \$? = $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 "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/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
+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
+  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+  if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
+    # 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 -e 's/;/ /g'`
+  else
+    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+  fi
+  # 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; }
+}'`
+  sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
+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=`$ECHO "X$lib" | $Xsed -e '\''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,$host_os in
+  yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
+    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="/usr/lib /lib/w32api /lib /usr/local/lib"
+      ;;
+    mingw* | cegcc*)
+      # MinGW DLLs use traditional 'lib' prefix
+      soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+      if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
+        # It is most probably a Windows format PATH printed by
+        # mingw gcc, but we are running on Cygwin. Gcc prints its search
+        # path with ; separators, and with drive letters. We can handle the
+        # drive letters (cygwin fileutils understands them), so leave them,
+        # especially as we might pass files found there to a mingw objdump,
+        # which wouldn't understand a cygwinified path. Ahh.
+        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
+      ;;
+    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
+    ;;
+
+  *)
+    library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
+    ;;
+  esac
+  dynamic_linker='Win32 ld.exe'
+  # 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
+  ;;
+
+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'
+  ;;
+
+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)
+  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
+  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],
+       [shlibpath_overrides_runpath=yes])])
+  LDFLAGS=$save_LDFLAGS
+  libdir=$save_libdir
+
+  # 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;/^$/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([], [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
+
+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
+  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_DECL([], [reload_flag], [1], [How to create reloadable object files])dnl
+_LT_DECL([], [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.
+  if ( 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
+    lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+    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
+  ;;
+
+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]) 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)
+  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_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_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.
+  AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :)
+  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:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
+  (eval "$ac_compile" 2>conftest.err)
+  cat conftest.err >&AS_MESSAGE_LOG_FD
+  (eval echo "\"\$as_me:__oline__: $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:__oline__: 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_LIB_M
+# --------
+# check for math library
+AC_DEFUN([LT_LIB_M],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+LIBM=
+case $host in
+*-*-beos* | *-*-cygwin* | *-*-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
+  _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+
+  _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([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
+
+  # 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
+#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.  */
+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_save_LIBS="$LIBS"
+         lt_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_save_LIBS"
+         CFLAGS="$lt_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
+
+_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_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)=
+
+AC_MSG_CHECKING([for $compiler option to produce PIC])
+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)=
+      ;;
+    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
+       ;;
+      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)
+       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*)
+           # IBM XL 8.0 on PPC
+           _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*)
+           # 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'
+      ;;
+
+    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
+  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)
+      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'
+       ;;
+      pgcc* | pgf77* | pgf90* | pgf95*)
+        # 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*)
+       # IBM XL C 8.0/Fortran 10.1 on PPC
+       _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)='-Wl,'
+         ;;
+       *Sun\ F*)
+         # 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)=''
+         ;;
+       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*)
+       _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_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
+_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
+       [How to pass a linker flag through the compiler])
+
+#
+# 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])
+
+#
+# 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_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'
+  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
+    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")) && ([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*)
+    _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
+  ;;
+  *)
+    _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  ;;
+  esac
+  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
+], [
+  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
+  if test "$with_gnu_ld" = 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
+      *\ [[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.9.1, 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 modify your PATH
+*** so that a non-GNU linker is found, and then restart.
+
+_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(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/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
+
+      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
+      ;;
+
+    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)
+      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=
+       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; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+         tmp_addflag=' $pic_flag'
+         ;;
+       pgf77* | pgf90* | pgf95*)       # 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; $ECHO \"$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]]*)                      # IBM XL C 8.0 on PPC (deal with xlf below)
+         tmp_sharedflag='-qmkshrobj'
+         tmp_addflag= ;;
+       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; $ECHO \"$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*)
+         # 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 $compiler_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 $compiler_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 $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'
+      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 $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
+      ;;
+
+    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 $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
+
+    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
+       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")) && ([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
+        _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 $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; 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
+        _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'
+         # Exported symbols can be pulled into shared objects from archives
+         _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+         _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.
+      _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 `$ECHO "X$deplibs" | $Xsed -e '\''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(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
+      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+      ;;
+
+    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 -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 -fPIC ${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 -a "$with_gnu_ld" = no; then
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${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 -a "$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 -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+         ;;
+       *)
+         _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${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'
+         ;;
+       *)
+         _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 $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${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.
+        save_LDFLAGS="$LDFLAGS"
+        LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+        AC_LINK_IFELSE(int foo(void) {},
+          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+        )
+        LDFLAGS="$save_LDFLAGS"
+      else
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -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" && $ECHO "X-set_version $verstring" | $Xsed` -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" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${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" && $ECHO "X-set_version $verstring" | $Xsed` -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} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${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" && $ECHO "X-set_version $verstring" | $Xsed` -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 "X-set_version $verstring" | $Xsed` -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 ${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 ${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_MSG_CHECKING([whether -lc should be explicitly linked in])
+      $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_TAGVAR(archive_cmds_need_lc, $1)=no
+        else
+         _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*
+      AC_MSG_RESULT([$_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([], [fix_srcfile_path], [1],
+    [Fix the shell variable $srcfile for the compiler])
+_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([], [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_PROG_CXX
+# ------------
+# Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++
+# compiler, we have our own version here.
+m4_defun([_LT_PROG_CXX],
+[
+pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes])
+AC_PROG_CXX
+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
+popdef([AC_MSG_ERROR])
+])# _LT_PROG_CXX
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([_LT_PROG_CXX], [])
+
+
+# _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],
+[AC_REQUIRE([_LT_PROG_CXX])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_EGREP])dnl
+
+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(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_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++"}
+  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 -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -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 "\-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
+          _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 $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; 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
+           _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'
+           # Exported symbols can be pulled into shared objects from archives
+           _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+           _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*)
+        # _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(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
+        ;;
+      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*)
+        ;;
+
+      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; $ECHO "X$list" | $Xsed'
+            ;;
+          *)
+            if test "$GXX" = yes; then
+              _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${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; $ECHO "X$list" | $Xsed'
+           ;;
+          *)
+           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 -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+                   ;;
+                 *)
+                   _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${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" && $ECHO "X-set_version $verstring" | $Xsed` -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 -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+             else
+               _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -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)
+        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; $ECHO "X$list" | $Xsed'
+
+           _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 | $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 | $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 | $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 | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+             ;;
+           *) # Version 6 will 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; $ECHO \"$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=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+           ;;
+         xl*)
+           # 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; $ECHO \"$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='echo'
+
+             # 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=echo
+       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" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -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" && $ECHO "X-set_version $verstring" | $Xsed` -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 "X-set_version $verstring" | $Xsed` -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=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+           ;;
+         *)
+           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" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+                 ;;
+               *)
+                 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${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 "\-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*)
+           # 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='echo'
+
+           # 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 -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 -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 "\-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 "\-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(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
+  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_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
+# 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
+])
+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 $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
+       else
+        prev=
+       fi
+
+       if test "$pre_test_object_deps_done" = no; then
+        case $p 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
+       ;;
+
+    *.$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
+
+# 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*)
+    # 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_PROG_F77
+# ------------
+# Since AC_PROG_F77 is broken, in that it returns the empty string
+# if there is no fortran compiler, we have our own version here.
+m4_defun([_LT_PROG_F77],
+[
+pushdef([AC_MSG_ERROR], [_lt_disable_F77=yes])
+AC_PROG_F77
+if test -z "$F77" || test "X$F77" = "Xno"; then
+  _lt_disable_F77=yes
+fi
+popdef([AC_MSG_ERROR])
+])# _LT_PROG_F77
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([_LT_PROG_F77], [])
+
+
+# _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_REQUIRE([_LT_PROG_F77])dnl
+AC_LANG_PUSH(Fortran 77)
+
+_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(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
+  CC=${F77-"f77"}
+  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"
+fi # test "$_lt_disable_F77" != yes
+
+AC_LANG_POP
+])# _LT_LANG_F77_CONFIG
+
+
+# _LT_PROG_FC
+# -----------
+# Since AC_PROG_FC is broken, in that it returns the empty string
+# if there is no fortran compiler, we have our own version here.
+m4_defun([_LT_PROG_FC],
+[
+pushdef([AC_MSG_ERROR], [_lt_disable_FC=yes])
+AC_PROG_FC
+if test -z "$FC" || test "X$FC" = "Xno"; then
+  _lt_disable_FC=yes
+fi
+popdef([AC_MSG_ERROR])
+])# _LT_PROG_FC
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([_LT_PROG_FC], [])
+
+
+# _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_REQUIRE([_LT_PROG_FC])dnl
+AC_LANG_PUSH(Fortran)
+
+_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(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
+  CC=${FC-"f95"}
+  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"
+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_GCC=$GCC
+GCC=yes
+CC=${GCJ-"gcj"}
+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
+
+## 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"
+])# _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_GCC=$GCC
+GCC=
+CC=${RC-"windres"}
+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"
+])# _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_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"}, \
+      = c,a/b,, \
+    && 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_XSI_SHELLFNS
+# ---------------------
+# Bourne and XSI compatible variants of some useful shell functions.
+m4_defun([_LT_PROG_XSI_SHELLFNS],
+[case $xsi_shell in
+  yes)
+    cat << \_LT_EOF >> "$cfgfile"
+
+# 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 ()
+{
+  case ${1} in
+    */*) func_dirname_result="${1%/*}${2}" ;;
+    *  ) func_dirname_result="${3}" ;;
+  esac
+}
+
+# func_basename file
+func_basename ()
+{
+  func_basename_result="${1##*/}"
+}
+
+# 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 ()
+{
+  case ${1} in
+    */*) func_dirname_result="${1%/*}${2}" ;;
+    *  ) func_dirname_result="${3}" ;;
+  esac
+  func_basename_result="${1##*/}"
+}
+
+# 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_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}"}
+}
+
+# func_opt_split
+func_opt_split ()
+{
+  func_opt_split_opt=${1%%=*}
+  func_opt_split_arg=${1#*=}
+}
+
+# func_lo2o object
+func_lo2o ()
+{
+  case ${1} in
+    *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
+    *)    func_lo2o_result=${1} ;;
+  esac
+}
+
+# func_xform libobj-or-source
+func_xform ()
+{
+  func_xform_result=${1%.*}.lo
+}
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+  func_arith_result=$(( $[*] ))
+}
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+  func_len_result=${#1}
+}
+
+_LT_EOF
+    ;;
+  *) # Bourne compatible functions.
+    cat << \_LT_EOF >> "$cfgfile"
+
+# 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 ()
+{
+  # Extract subdirectory from the argument.
+  func_dirname_result=`$ECHO "X${1}" | $Xsed -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 file
+func_basename ()
+{
+  func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
+}
+
+dnl func_dirname_and_basename
+dnl A portable version of this function is already defined in general.m4sh
+dnl so there is no need for it here.
+
+# 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 "X${3}" \
+           | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
+    *)  func_stripname_result=`$ECHO "X${3}" \
+           | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
+  esac
+}
+
+# sed scripts:
+my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q'
+my_sed_long_arg='1s/^-[[^=]]*=//'
+
+# func_opt_split
+func_opt_split ()
+{
+  func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
+  func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
+}
+
+# func_lo2o object
+func_lo2o ()
+{
+  func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
+}
+
+# func_xform libobj-or-source
+func_xform ()
+{
+  func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'`
+}
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+  func_arith_result=`expr "$[@]"`
+}
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+  func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len`
+}
+
+_LT_EOF
+esac
+
+case $lt_shell_append in
+  yes)
+    cat << \_LT_EOF >> "$cfgfile"
+
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+  eval "$[1]+=\$[2]"
+}
+_LT_EOF
+    ;;
+  *)
+    cat << \_LT_EOF >> "$cfgfile"
+
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+  eval "$[1]=\$$[1]\$[2]"
+}
+
+_LT_EOF
+    ;;
+  esac
+])
diff --git a/m4/ltoptions.m4 b/m4/ltoptions.m4
new file mode 100644 (file)
index 0000000..34151a3
--- /dev/null
@@ -0,0 +1,368 @@
+# Helper functions for option handling.                    -*- 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 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],      [0], [Assembler program])dnl
+
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl
+
+test -z "$OBJDUMP" && OBJDUMP=objdump
+_LT_DECL([], [OBJDUMP], [0], [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 (file)
index 0000000..9000a05
--- /dev/null
@@ -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 (file)
index 0000000..b8e154f
--- /dev/null
@@ -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.
+
+# Generated from ltversion.in.
+
+# serial 3012 ltversion.m4
+# This file is part of GNU Libtool
+
+m4_define([LT_PACKAGE_VERSION], [2.2.6])
+m4_define([LT_PACKAGE_REVISION], [1.3012])
+
+AC_DEFUN([LTVERSION_VERSION],
+[macro_version='2.2.6'
+macro_revision='1.3012'
+_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 (file)
index 0000000..637bb20
--- /dev/null
@@ -0,0 +1,92 @@
+# lt~obsolete.m4 -- aclocal satisfying obsolete definitions.    -*-Autoconf-*-
+#
+#   Copyright (C) 2004, 2005, 2007 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 4 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_RC],             [AC_DEFUN([AC_LIBTOOL_RC])])
+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])])
diff --git a/m4/nls.m4 b/m4/nls.m4
new file mode 100644 (file)
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 (file)
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 (file)
index 0000000..8fe527c
--- /dev/null
@@ -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 (file)
index 0000000..5644ba7
--- /dev/null
+++ b/m4/tls.m4
@@ -0,0 +1,48 @@
+# from http://autoconf-archive.cryp.to/ax_tls.html
+#
+# This was licensed under the GPL with the following exception:
+#
+# As a special exception, the respective Autoconf Macro's copyright
+# owner gives unlimited permission to copy, distribute and modify the
+# configure scripts that are the output of Autoconf when processing
+# the Macro. You need not follow the terms of the GNU General Public
+# License when using or distributing such scripts, even though
+# portions of the text of the Macro appear in them. The GNU General
+# Public License (GPL) does govern all other use of the material that
+# constitutes the Autoconf Macro.
+#
+# This special exception to the GPL applies to versions of the
+# Autoconf Macro released by the Autoconf Macro Archive. When you make
+# and distribute a modified version of the Autoconf Macro, you may
+# extend this special exception to the GPL to apply to your modified
+# version as well.
+#
+AC_DEFUN([AX_TLS], [
+  AC_MSG_CHECKING(for thread local storage (TLS) class)
+  AC_CACHE_VAL(ac_cv_tls, [
+    ax_tls_keywords="__thread __declspec(thread) none"
+    for ax_tls_keyword in $ax_tls_keywords; do
+       case $ax_tls_keyword in
+          none) ac_cv_tls=none ; break ;;
+          *)
+             AC_TRY_COMPILE(
+                [#include <stdlib.h>
+                 static void
+                 foo(void) {
+                 static ] $ax_tls_keyword [ int bar;
+                 exit(1);
+                 }],
+                 [],
+                 [ac_cv_tls=$ax_tls_keyword ; break],
+                 ac_cv_tls=none
+             )
+          esac
+    done
+])
+
+  if test "$ac_cv_tls" != "none"; then
+    dnl AC_DEFINE([TLS], [], [If the compiler supports a TLS storage class define it to that here])
+    AC_DEFINE_UNQUOTED([TLS], $ac_cv_tls, [If the compiler supports a TLS storage class define it to that here])
+  fi
+  AC_MSG_RESULT($ac_cv_tls)
+])
diff --git a/misc-utils/Makefile.am b/misc-utils/Makefile.am
new file mode 100644 (file)
index 0000000..a4f2f44
--- /dev/null
@@ -0,0 +1,109 @@
+include $(top_srcdir)/config/include-Makefile.am
+
+EXTRA_DIST = README.flushb uuidd.rc
+
+bin_PROGRAMS =
+sbin_PROGRAMS =
+usrsbin_exec_PROGRAMS =
+
+usrbin_exec_PROGRAMS = cal ddate logger look mcookie \
+       namei script whereis scriptreplay
+EXTRA_DIST += README.cal README.ddate README.namei README.namei2
+
+mcookie_SOURCES = mcookie.c ../lib/md5.c
+
+usrbin_exec_SCRIPTS = chkdupexe
+
+CLEANFILES = chkdupexe
+
+dist_man_MANS = cal.1 chkdupexe.1 ddate.1 logger.1 look.1 mcookie.1 \
+       namei.1 script.1 whereis.1 scriptreplay.1
+
+if BUILD_LIBUUID
+usrbin_exec_PROGRAMS += uuidgen
+dist_man_MANS += uuidgen.1
+uuidgen_LDADD = $(ul_libuuid_la)
+uuidgen_CFLAGS = -I$(ul_libuuid_srcdir)
+if BUILD_UUIDD
+usrsbin_exec_PROGRAMS += uuidd
+dist_man_MANS += uuidd.8
+uuidd_LDADD = $(ul_libuuid_la)
+uuidd_CFLAGS = -I$(ul_libuuid_srcdir)
+endif
+endif
+
+if BUILD_LIBBLKID
+sbin_PROGRAMS += blkid findfs
+dist_man_MANS += blkid.8 findfs.8
+blkid_LDADD = $(ul_libblkid_la)
+blkid_CFLAGS = -I$(ul_libblkid_srcdir)
+findfs_LDADD = $(ul_libblkid_la)
+findfs_CFLAGS = -I$(ul_libblkid_srcdir)
+if HAVE_STATIC_BLKID
+sbin_PROGRAMS += blkid.static
+blkid_static_SOURCES = $(blkid_SOURCES)
+blkid_static_LDFLAGS = "-all-static"           # libtool option
+blkid_static_LDADD = $(ul_libblkid_la)
+blkid_static_CFLAGS = -I$(ul_libblkid_srcdir)
+endif
+endif
+
+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
+endif
+
+if HAVE_UTIL
+script_LDADD = -lutil
+endif
+
+if HAVE_NCURSES
+if LINUX
+usrbin_exec_PROGRAMS += setterm
+dist_man_MANS += setterm.1
+endif
+if HAVE_TINFO
+setterm_LDADD = -ltinfo
+else
+setterm_LDADD = @NCURSES_LIBS@
+endif
+endif
+
+if BUILD_KILL
+bin_PROGRAMS += kill
+kill_SOURCES = kill.c procs.c kill.h
+dist_man_MANS += kill.1
+endif
+
+if BUILD_RENAME
+usrbin_exec_PROGRAMS += rename
+dist_man_MANS += rename.1
+endif
+
+if BUILD_RESET
+dist_usrbin_exec_SCRIPTS = reset
+dist_man_MANS += reset.1
+endif
+EXTRA_DIST += README.reset reset.033c
+
+if BUILD_WRITE
+usrbin_exec_PROGRAMS += write
+dist_man_MANS += write.1
+write_CFLAGS = $(SUID_CFLAGS) $(AM_CFLAGS)
+write_LDFLAGS = $(SUID_LDFLAGS) $(AM_LDFLAGS)
+
+if USE_TTY_GROUP
+if MAKEINSTALL_DO_CHOWN
+install-exec-hook::
+       chgrp tty $(DESTDIR)$(usrbin_execdir)/write
+       chmod g+s $(DESTDIR)$(usrbin_execdir)/write
+endif
+endif
+endif
diff --git a/misc-utils/Makefile.in b/misc-utils/Makefile.in
new file mode 100644 (file)
index 0000000..266b2fc
--- /dev/null
@@ -0,0 +1,1236 @@
+# Makefile.in generated by automake 1.11 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@
+DIST_COMMON = $(am__dist_noinst_DATA_DIST) \
+       $(am__dist_usrbin_exec_SCRIPTS_DIST) $(dist_man_MANS) \
+       $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+       $(srcdir)/chkdupexe.pl \
+       $(top_srcdir)/config/include-Makefile.am
+bin_PROGRAMS = $(am__EXEEXT_1)
+sbin_PROGRAMS = $(am__EXEEXT_2) $(am__EXEEXT_3)
+usrsbin_exec_PROGRAMS = $(am__EXEEXT_8)
+usrbin_exec_PROGRAMS = cal$(EXEEXT) ddate$(EXEEXT) logger$(EXEEXT) \
+       look$(EXEEXT) mcookie$(EXEEXT) namei$(EXEEXT) script$(EXEEXT) \
+       whereis$(EXEEXT) scriptreplay$(EXEEXT) $(am__EXEEXT_4) \
+       $(am__EXEEXT_5) $(am__EXEEXT_6) $(am__EXEEXT_7)
+@BUILD_LIBUUID_TRUE@am__append_1 = uuidgen
+@BUILD_LIBUUID_TRUE@am__append_2 = uuidgen.1
+@BUILD_LIBUUID_TRUE@@BUILD_UUIDD_TRUE@am__append_3 = uuidd
+@BUILD_LIBUUID_TRUE@@BUILD_UUIDD_TRUE@am__append_4 = uuidd.8
+@BUILD_LIBBLKID_TRUE@am__append_5 = blkid findfs
+@BUILD_LIBBLKID_TRUE@am__append_6 = blkid.8 findfs.8
+@BUILD_LIBBLKID_TRUE@@HAVE_STATIC_BLKID_TRUE@am__append_7 = blkid.static
+@HAVE_NCURSES_TRUE@@LINUX_TRUE@am__append_8 = setterm
+@HAVE_NCURSES_TRUE@@LINUX_TRUE@am__append_9 = setterm.1
+@BUILD_KILL_TRUE@am__append_10 = kill
+@BUILD_KILL_TRUE@am__append_11 = kill.1
+@BUILD_RENAME_TRUE@am__append_12 = rename
+@BUILD_RENAME_TRUE@am__append_13 = rename.1
+@BUILD_RESET_TRUE@am__append_14 = reset.1
+@BUILD_WRITE_TRUE@am__append_15 = write
+@BUILD_WRITE_TRUE@am__append_16 = write.1
+subdir = misc-utils
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.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)/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 = chkdupexe
+CONFIG_CLEAN_VPATH_FILES =
+@BUILD_KILL_TRUE@am__EXEEXT_1 = kill$(EXEEXT)
+am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)" \
+       "$(DESTDIR)$(usrbin_execdir)" "$(DESTDIR)$(usrsbin_execdir)" \
+       "$(DESTDIR)$(usrbin_execdir)" "$(DESTDIR)$(usrbin_execdir)" \
+       "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man8dir)"
+@BUILD_LIBBLKID_TRUE@am__EXEEXT_2 = blkid$(EXEEXT) findfs$(EXEEXT)
+@BUILD_LIBBLKID_TRUE@@HAVE_STATIC_BLKID_TRUE@am__EXEEXT_3 = blkid.static$(EXEEXT)
+@BUILD_LIBUUID_TRUE@am__EXEEXT_4 = uuidgen$(EXEEXT)
+@HAVE_NCURSES_TRUE@@LINUX_TRUE@am__EXEEXT_5 = setterm$(EXEEXT)
+@BUILD_RENAME_TRUE@am__EXEEXT_6 = rename$(EXEEXT)
+@BUILD_WRITE_TRUE@am__EXEEXT_7 = write$(EXEEXT)
+@BUILD_LIBUUID_TRUE@@BUILD_UUIDD_TRUE@am__EXEEXT_8 = uuidd$(EXEEXT)
+PROGRAMS = $(bin_PROGRAMS) $(sbin_PROGRAMS) $(usrbin_exec_PROGRAMS) \
+       $(usrsbin_exec_PROGRAMS)
+blkid_SOURCES = blkid.c
+blkid_OBJECTS = blkid-blkid.$(OBJEXT)
+@BUILD_LIBBLKID_TRUE@blkid_DEPENDENCIES = $(ul_libblkid_la)
+blkid_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+       --mode=link $(CCLD) $(blkid_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+       $(LDFLAGS) -o $@
+am__blkid_static_SOURCES_DIST = blkid.c
+am__objects_1 = blkid_static-blkid.$(OBJEXT)
+@BUILD_LIBBLKID_TRUE@@HAVE_STATIC_BLKID_TRUE@am_blkid_static_OBJECTS =  \
+@BUILD_LIBBLKID_TRUE@@HAVE_STATIC_BLKID_TRUE@  $(am__objects_1)
+blkid_static_OBJECTS = $(am_blkid_static_OBJECTS)
+@BUILD_LIBBLKID_TRUE@@HAVE_STATIC_BLKID_TRUE@blkid_static_DEPENDENCIES = $(ul_libblkid_la)
+blkid_static_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(blkid_static_CFLAGS) \
+       $(CFLAGS) $(blkid_static_LDFLAGS) $(LDFLAGS) -o $@
+cal_SOURCES = cal.c
+cal_OBJECTS = cal.$(OBJEXT)
+cal_DEPENDENCIES =
+ddate_SOURCES = ddate.c
+ddate_OBJECTS = ddate.$(OBJEXT)
+ddate_LDADD = $(LDADD)
+findfs_SOURCES = findfs.c
+findfs_OBJECTS = findfs-findfs.$(OBJEXT)
+@BUILD_LIBBLKID_TRUE@findfs_DEPENDENCIES = $(ul_libblkid_la)
+findfs_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+       --mode=link $(CCLD) $(findfs_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+       $(LDFLAGS) -o $@
+am__kill_SOURCES_DIST = kill.c procs.c kill.h
+@BUILD_KILL_TRUE@am_kill_OBJECTS = kill.$(OBJEXT) procs.$(OBJEXT)
+kill_OBJECTS = $(am_kill_OBJECTS)
+kill_LDADD = $(LDADD)
+logger_SOURCES = logger.c
+logger_OBJECTS = logger.$(OBJEXT)
+logger_LDADD = $(LDADD)
+look_SOURCES = look.c
+look_OBJECTS = look.$(OBJEXT)
+look_LDADD = $(LDADD)
+am_mcookie_OBJECTS = mcookie.$(OBJEXT) md5.$(OBJEXT)
+mcookie_OBJECTS = $(am_mcookie_OBJECTS)
+mcookie_LDADD = $(LDADD)
+namei_SOURCES = namei.c
+namei_OBJECTS = namei.$(OBJEXT)
+namei_LDADD = $(LDADD)
+rename_SOURCES = rename.c
+rename_OBJECTS = rename.$(OBJEXT)
+rename_LDADD = $(LDADD)
+script_SOURCES = script.c
+script_OBJECTS = script.$(OBJEXT)
+script_DEPENDENCIES =
+scriptreplay_SOURCES = scriptreplay.c
+scriptreplay_OBJECTS = scriptreplay.$(OBJEXT)
+scriptreplay_LDADD = $(LDADD)
+setterm_SOURCES = setterm.c
+setterm_OBJECTS = setterm.$(OBJEXT)
+setterm_DEPENDENCIES =
+uuidd_SOURCES = uuidd.c
+uuidd_OBJECTS = uuidd-uuidd.$(OBJEXT)
+@BUILD_LIBUUID_TRUE@@BUILD_UUIDD_TRUE@uuidd_DEPENDENCIES =  \
+@BUILD_LIBUUID_TRUE@@BUILD_UUIDD_TRUE@ $(ul_libuuid_la)
+uuidd_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+       --mode=link $(CCLD) $(uuidd_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+       $(LDFLAGS) -o $@
+uuidgen_SOURCES = uuidgen.c
+uuidgen_OBJECTS = uuidgen-uuidgen.$(OBJEXT)
+@BUILD_LIBUUID_TRUE@uuidgen_DEPENDENCIES = $(ul_libuuid_la)
+uuidgen_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+       --mode=link $(CCLD) $(uuidgen_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+       $(LDFLAGS) -o $@
+whereis_SOURCES = whereis.c
+whereis_OBJECTS = whereis.$(OBJEXT)
+whereis_LDADD = $(LDADD)
+write_SOURCES = write.c
+write_OBJECTS = write-write.$(OBJEXT)
+write_LDADD = $(LDADD)
+write_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+       --mode=link $(CCLD) $(write_CFLAGS) $(CFLAGS) $(write_LDFLAGS) \
+       $(LDFLAGS) -o $@
+am__dist_usrbin_exec_SCRIPTS_DIST = reset
+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'
+SCRIPTS = $(dist_usrbin_exec_SCRIPTS) $(usrbin_exec_SCRIPTS)
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+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) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+       --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+       --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+       $(LDFLAGS) -o $@
+SOURCES = blkid.c $(blkid_static_SOURCES) cal.c ddate.c findfs.c \
+       $(kill_SOURCES) logger.c look.c $(mcookie_SOURCES) namei.c \
+       rename.c script.c scriptreplay.c setterm.c uuidd.c uuidgen.c \
+       whereis.c write.c
+DIST_SOURCES = blkid.c $(am__blkid_static_SOURCES_DIST) cal.c ddate.c \
+       findfs.c $(am__kill_SOURCES_DIST) logger.c look.c \
+       $(mcookie_SOURCES) namei.c rename.c script.c scriptreplay.c \
+       setterm.c uuidd.c uuidgen.c whereis.c write.c
+man1dir = $(mandir)/man1
+man8dir = $(mandir)/man8
+NROFF = nroff
+MANS = $(dist_man_MANS)
+am__dist_noinst_DATA_DIST = cal.1 chkdupexe.1 ddate.1 logger.1 look.1 \
+       mcookie.1 namei.1 script.1 whereis.1 scriptreplay.1 uuidgen.1 \
+       uuidd.8 blkid.8 findfs.8 setterm.1 kill.1 rename.1 reset.1 \
+       write.1
+DATA = $(dist_noinst_DATA)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BLKID = @BLKID@
+BLKID_CFLAGS = @BLKID_CFLAGS@
+BLKID_LIBS = @BLKID_LIBS@
+BLKID_LIBS_STATIC = @BLKID_LIBS_STATIC@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+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@
+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_VERSION = @LIBBLKID_VERSION@
+LIBBLKID_VERSION_INFO = @LIBBLKID_VERSION_INFO@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+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@
+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_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+POSUB = @POSUB@
+RANLIB = @RANLIB@
+SED = @SED@
+SELINUX_LIBS = @SELINUX_LIBS@
+SELINUX_LIBS_STATIC = @SELINUX_LIBS_STATIC@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SUID_CFLAGS = @SUID_CFLAGS@
+SUID_LDFLAGS = @SUID_LDFLAGS@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
+VERSION = @VERSION@
+VOLID = @VOLID@
+XGETTEXT = @XGETTEXT@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+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@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+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 $(top_builddir)/config.h -I$(top_srcdir)/include \
+       -DLOCALEDIR=\"$(localedir)\"
+
+AM_CFLAGS = -fsigned-char
+AM_LDFLAGS = 
+
+# 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)
+#
+# blkid
+ul_libblkid_srcdir = $(top_srcdir)/shlibs/blkid/src
+ul_libblkid_builddir = $(top_builddir)/shlibs/blkid/src
+ul_libblkid_la = $(top_builddir)/shlibs/blkid/src/libblkid.la
+
+# uuid
+ul_libuuid_srcdir = $(top_srcdir)/shlibs/uuid/src
+ul_libuuid_builddir = $(top_builddir)/shlibs/uuid/src
+ul_libuuid_la = $(top_builddir)/shlibs/uuid/src/libuuid.la
+EXTRA_DIST = README.flushb uuidd.rc README.cal README.ddate \
+       README.namei README.namei2 README.reset reset.033c
+mcookie_SOURCES = mcookie.c ../lib/md5.c
+usrbin_exec_SCRIPTS = chkdupexe
+CLEANFILES = chkdupexe
+dist_man_MANS = cal.1 chkdupexe.1 ddate.1 logger.1 look.1 mcookie.1 \
+       namei.1 script.1 whereis.1 scriptreplay.1 $(am__append_2) \
+       $(am__append_4) $(am__append_6) $(am__append_9) \
+       $(am__append_11) $(am__append_13) $(am__append_14) \
+       $(am__append_16)
+@BUILD_LIBUUID_TRUE@uuidgen_LDADD = $(ul_libuuid_la)
+@BUILD_LIBUUID_TRUE@uuidgen_CFLAGS = -I$(ul_libuuid_srcdir)
+@BUILD_LIBUUID_TRUE@@BUILD_UUIDD_TRUE@uuidd_LDADD = $(ul_libuuid_la)
+@BUILD_LIBUUID_TRUE@@BUILD_UUIDD_TRUE@uuidd_CFLAGS = -I$(ul_libuuid_srcdir)
+@BUILD_LIBBLKID_TRUE@blkid_LDADD = $(ul_libblkid_la)
+@BUILD_LIBBLKID_TRUE@blkid_CFLAGS = -I$(ul_libblkid_srcdir)
+@BUILD_LIBBLKID_TRUE@findfs_LDADD = $(ul_libblkid_la)
+@BUILD_LIBBLKID_TRUE@findfs_CFLAGS = -I$(ul_libblkid_srcdir)
+@BUILD_LIBBLKID_TRUE@@HAVE_STATIC_BLKID_TRUE@blkid_static_SOURCES = $(blkid_SOURCES)
+@BUILD_LIBBLKID_TRUE@@HAVE_STATIC_BLKID_TRUE@blkid_static_LDFLAGS = "-all-static"              # libtool option
+@BUILD_LIBBLKID_TRUE@@HAVE_STATIC_BLKID_TRUE@blkid_static_LDADD = $(ul_libblkid_la)
+@BUILD_LIBBLKID_TRUE@@HAVE_STATIC_BLKID_TRUE@blkid_static_CFLAGS = -I$(ul_libblkid_srcdir)
+@HAVE_NCURSES_FALSE@@HAVE_TERMCAP_TRUE@@HAVE_TINFO_FALSE@cal_LDADD = -ltermcap
+@HAVE_NCURSES_TRUE@@HAVE_TINFO_FALSE@cal_LDADD = @NCURSES_LIBS@
+@HAVE_TINFO_TRUE@cal_LDADD = -ltinfo @NCURSES_LIBS@
+@HAVE_UTIL_TRUE@script_LDADD = -lutil
+@HAVE_NCURSES_TRUE@@HAVE_TINFO_FALSE@setterm_LDADD = @NCURSES_LIBS@
+@HAVE_NCURSES_TRUE@@HAVE_TINFO_TRUE@setterm_LDADD = -ltinfo
+@BUILD_KILL_TRUE@kill_SOURCES = kill.c procs.c kill.h
+@BUILD_RESET_TRUE@dist_usrbin_exec_SCRIPTS = reset
+@BUILD_WRITE_TRUE@write_CFLAGS = $(SUID_CFLAGS) $(AM_CFLAGS)
+@BUILD_WRITE_TRUE@write_LDFLAGS = $(SUID_LDFLAGS) $(AM_LDFLAGS)
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/config/include-Makefile.am $(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 misc-utils/Makefile'; \
+       $(am__cd) $(top_srcdir) && \
+         $(AUTOMAKE) --foreign misc-utils/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):
+chkdupexe: $(top_builddir)/config.status $(srcdir)/chkdupexe.pl
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+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
+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
+blkid$(EXEEXT): $(blkid_OBJECTS) $(blkid_DEPENDENCIES) 
+       @rm -f blkid$(EXEEXT)
+       $(blkid_LINK) $(blkid_OBJECTS) $(blkid_LDADD) $(LIBS)
+blkid.static$(EXEEXT): $(blkid_static_OBJECTS) $(blkid_static_DEPENDENCIES) 
+       @rm -f blkid.static$(EXEEXT)
+       $(blkid_static_LINK) $(blkid_static_OBJECTS) $(blkid_static_LDADD) $(LIBS)
+cal$(EXEEXT): $(cal_OBJECTS) $(cal_DEPENDENCIES) 
+       @rm -f cal$(EXEEXT)
+       $(LINK) $(cal_OBJECTS) $(cal_LDADD) $(LIBS)
+ddate$(EXEEXT): $(ddate_OBJECTS) $(ddate_DEPENDENCIES) 
+       @rm -f ddate$(EXEEXT)
+       $(LINK) $(ddate_OBJECTS) $(ddate_LDADD) $(LIBS)
+findfs$(EXEEXT): $(findfs_OBJECTS) $(findfs_DEPENDENCIES) 
+       @rm -f findfs$(EXEEXT)
+       $(findfs_LINK) $(findfs_OBJECTS) $(findfs_LDADD) $(LIBS)
+kill$(EXEEXT): $(kill_OBJECTS) $(kill_DEPENDENCIES) 
+       @rm -f kill$(EXEEXT)
+       $(LINK) $(kill_OBJECTS) $(kill_LDADD) $(LIBS)
+logger$(EXEEXT): $(logger_OBJECTS) $(logger_DEPENDENCIES) 
+       @rm -f logger$(EXEEXT)
+       $(LINK) $(logger_OBJECTS) $(logger_LDADD) $(LIBS)
+look$(EXEEXT): $(look_OBJECTS) $(look_DEPENDENCIES) 
+       @rm -f look$(EXEEXT)
+       $(LINK) $(look_OBJECTS) $(look_LDADD) $(LIBS)
+mcookie$(EXEEXT): $(mcookie_OBJECTS) $(mcookie_DEPENDENCIES) 
+       @rm -f mcookie$(EXEEXT)
+       $(LINK) $(mcookie_OBJECTS) $(mcookie_LDADD) $(LIBS)
+namei$(EXEEXT): $(namei_OBJECTS) $(namei_DEPENDENCIES) 
+       @rm -f namei$(EXEEXT)
+       $(LINK) $(namei_OBJECTS) $(namei_LDADD) $(LIBS)
+rename$(EXEEXT): $(rename_OBJECTS) $(rename_DEPENDENCIES) 
+       @rm -f rename$(EXEEXT)
+       $(LINK) $(rename_OBJECTS) $(rename_LDADD) $(LIBS)
+script$(EXEEXT): $(script_OBJECTS) $(script_DEPENDENCIES) 
+       @rm -f script$(EXEEXT)
+       $(LINK) $(script_OBJECTS) $(script_LDADD) $(LIBS)
+scriptreplay$(EXEEXT): $(scriptreplay_OBJECTS) $(scriptreplay_DEPENDENCIES) 
+       @rm -f scriptreplay$(EXEEXT)
+       $(LINK) $(scriptreplay_OBJECTS) $(scriptreplay_LDADD) $(LIBS)
+setterm$(EXEEXT): $(setterm_OBJECTS) $(setterm_DEPENDENCIES) 
+       @rm -f setterm$(EXEEXT)
+       $(LINK) $(setterm_OBJECTS) $(setterm_LDADD) $(LIBS)
+uuidd$(EXEEXT): $(uuidd_OBJECTS) $(uuidd_DEPENDENCIES) 
+       @rm -f uuidd$(EXEEXT)
+       $(uuidd_LINK) $(uuidd_OBJECTS) $(uuidd_LDADD) $(LIBS)
+uuidgen$(EXEEXT): $(uuidgen_OBJECTS) $(uuidgen_DEPENDENCIES) 
+       @rm -f uuidgen$(EXEEXT)
+       $(uuidgen_LINK) $(uuidgen_OBJECTS) $(uuidgen_LDADD) $(LIBS)
+whereis$(EXEEXT): $(whereis_OBJECTS) $(whereis_DEPENDENCIES) 
+       @rm -f whereis$(EXEEXT)
+       $(LINK) $(whereis_OBJECTS) $(whereis_LDADD) $(LIBS)
+write$(EXEEXT): $(write_OBJECTS) $(write_DEPENDENCIES) 
+       @rm -f write$(EXEEXT)
+       $(write_LINK) $(write_OBJECTS) $(write_LDADD) $(LIBS)
+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
+install-usrbin_execSCRIPTS: $(usrbin_exec_SCRIPTS)
+       @$(NORMAL_INSTALL)
+       test -z "$(usrbin_execdir)" || $(MKDIR_P) "$(DESTDIR)$(usrbin_execdir)"
+       @list='$(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-usrbin_execSCRIPTS:
+       @$(NORMAL_UNINSTALL)
+       @list='$(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)
+
+distclean-compile:
+       -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/blkid-blkid.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/blkid_static-blkid.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cal.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ddate.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/findfs-findfs.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kill.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/logger.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/look.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mcookie.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/md5.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/namei.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/procs.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rename.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/script.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scriptreplay.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setterm.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/uuidd-uuidd.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/uuidgen-uuidgen.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/whereis.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/write-write.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@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 $<
+
+.c.obj:
+@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@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 `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@   $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@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 $@ $<
+
+blkid-blkid.o: blkid.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(blkid_CFLAGS) $(CFLAGS) -MT blkid-blkid.o -MD -MP -MF $(DEPDIR)/blkid-blkid.Tpo -c -o blkid-blkid.o `test -f 'blkid.c' || echo '$(srcdir)/'`blkid.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/blkid-blkid.Tpo $(DEPDIR)/blkid-blkid.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='blkid.c' object='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 blkid-blkid.o `test -f 'blkid.c' || echo '$(srcdir)/'`blkid.c
+
+blkid-blkid.obj: blkid.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(blkid_CFLAGS) $(CFLAGS) -MT blkid-blkid.obj -MD -MP -MF $(DEPDIR)/blkid-blkid.Tpo -c -o blkid-blkid.obj `if test -f 'blkid.c'; then $(CYGPATH_W) 'blkid.c'; else $(CYGPATH_W) '$(srcdir)/blkid.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/blkid-blkid.Tpo $(DEPDIR)/blkid-blkid.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='blkid.c' object='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 blkid-blkid.obj `if test -f 'blkid.c'; then $(CYGPATH_W) 'blkid.c'; else $(CYGPATH_W) '$(srcdir)/blkid.c'; fi`
+
+blkid_static-blkid.o: blkid.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(blkid_static_CFLAGS) $(CFLAGS) -MT blkid_static-blkid.o -MD -MP -MF $(DEPDIR)/blkid_static-blkid.Tpo -c -o blkid_static-blkid.o `test -f 'blkid.c' || echo '$(srcdir)/'`blkid.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/blkid_static-blkid.Tpo $(DEPDIR)/blkid_static-blkid.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='blkid.c' object='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 blkid_static-blkid.o `test -f 'blkid.c' || echo '$(srcdir)/'`blkid.c
+
+blkid_static-blkid.obj: blkid.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(blkid_static_CFLAGS) $(CFLAGS) -MT blkid_static-blkid.obj -MD -MP -MF $(DEPDIR)/blkid_static-blkid.Tpo -c -o blkid_static-blkid.obj `if test -f 'blkid.c'; then $(CYGPATH_W) 'blkid.c'; else $(CYGPATH_W) '$(srcdir)/blkid.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/blkid_static-blkid.Tpo $(DEPDIR)/blkid_static-blkid.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='blkid.c' object='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 blkid_static-blkid.obj `if test -f 'blkid.c'; then $(CYGPATH_W) 'blkid.c'; else $(CYGPATH_W) '$(srcdir)/blkid.c'; fi`
+
+findfs-findfs.o: findfs.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(findfs_CFLAGS) $(CFLAGS) -MT findfs-findfs.o -MD -MP -MF $(DEPDIR)/findfs-findfs.Tpo -c -o findfs-findfs.o `test -f 'findfs.c' || echo '$(srcdir)/'`findfs.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/findfs-findfs.Tpo $(DEPDIR)/findfs-findfs.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='findfs.c' object='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 findfs-findfs.o `test -f 'findfs.c' || echo '$(srcdir)/'`findfs.c
+
+findfs-findfs.obj: findfs.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(findfs_CFLAGS) $(CFLAGS) -MT findfs-findfs.obj -MD -MP -MF $(DEPDIR)/findfs-findfs.Tpo -c -o findfs-findfs.obj `if test -f 'findfs.c'; then $(CYGPATH_W) 'findfs.c'; else $(CYGPATH_W) '$(srcdir)/findfs.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/findfs-findfs.Tpo $(DEPDIR)/findfs-findfs.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='findfs.c' object='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 findfs-findfs.obj `if test -f 'findfs.c'; then $(CYGPATH_W) 'findfs.c'; else $(CYGPATH_W) '$(srcdir)/findfs.c'; fi`
+
+md5.o: ../lib/md5.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT md5.o -MD -MP -MF $(DEPDIR)/md5.Tpo -c -o md5.o `test -f '../lib/md5.c' || echo '$(srcdir)/'`../lib/md5.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/md5.Tpo $(DEPDIR)/md5.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/md5.c' object='md5.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) $(AM_CFLAGS) $(CFLAGS) -c -o md5.o `test -f '../lib/md5.c' || echo '$(srcdir)/'`../lib/md5.c
+
+md5.obj: ../lib/md5.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT md5.obj -MD -MP -MF $(DEPDIR)/md5.Tpo -c -o md5.obj `if test -f '../lib/md5.c'; then $(CYGPATH_W) '../lib/md5.c'; else $(CYGPATH_W) '$(srcdir)/../lib/md5.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/md5.Tpo $(DEPDIR)/md5.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/md5.c' object='md5.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) $(AM_CFLAGS) $(CFLAGS) -c -o md5.obj `if test -f '../lib/md5.c'; then $(CYGPATH_W) '../lib/md5.c'; else $(CYGPATH_W) '$(srcdir)/../lib/md5.c'; fi`
+
+uuidd-uuidd.o: uuidd.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(uuidd_CFLAGS) $(CFLAGS) -MT uuidd-uuidd.o -MD -MP -MF $(DEPDIR)/uuidd-uuidd.Tpo -c -o uuidd-uuidd.o `test -f 'uuidd.c' || echo '$(srcdir)/'`uuidd.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/uuidd-uuidd.Tpo $(DEPDIR)/uuidd-uuidd.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='uuidd.c' object='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 uuidd-uuidd.o `test -f 'uuidd.c' || echo '$(srcdir)/'`uuidd.c
+
+uuidd-uuidd.obj: uuidd.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(uuidd_CFLAGS) $(CFLAGS) -MT uuidd-uuidd.obj -MD -MP -MF $(DEPDIR)/uuidd-uuidd.Tpo -c -o uuidd-uuidd.obj `if test -f 'uuidd.c'; then $(CYGPATH_W) 'uuidd.c'; else $(CYGPATH_W) '$(srcdir)/uuidd.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/uuidd-uuidd.Tpo $(DEPDIR)/uuidd-uuidd.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='uuidd.c' object='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 uuidd-uuidd.obj `if test -f 'uuidd.c'; then $(CYGPATH_W) 'uuidd.c'; else $(CYGPATH_W) '$(srcdir)/uuidd.c'; fi`
+
+uuidgen-uuidgen.o: uuidgen.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(uuidgen_CFLAGS) $(CFLAGS) -MT uuidgen-uuidgen.o -MD -MP -MF $(DEPDIR)/uuidgen-uuidgen.Tpo -c -o uuidgen-uuidgen.o `test -f 'uuidgen.c' || echo '$(srcdir)/'`uuidgen.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/uuidgen-uuidgen.Tpo $(DEPDIR)/uuidgen-uuidgen.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='uuidgen.c' object='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 uuidgen-uuidgen.o `test -f 'uuidgen.c' || echo '$(srcdir)/'`uuidgen.c
+
+uuidgen-uuidgen.obj: uuidgen.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(uuidgen_CFLAGS) $(CFLAGS) -MT uuidgen-uuidgen.obj -MD -MP -MF $(DEPDIR)/uuidgen-uuidgen.Tpo -c -o uuidgen-uuidgen.obj `if test -f 'uuidgen.c'; then $(CYGPATH_W) 'uuidgen.c'; else $(CYGPATH_W) '$(srcdir)/uuidgen.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/uuidgen-uuidgen.Tpo $(DEPDIR)/uuidgen-uuidgen.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='uuidgen.c' object='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 uuidgen-uuidgen.obj `if test -f 'uuidgen.c'; then $(CYGPATH_W) 'uuidgen.c'; else $(CYGPATH_W) '$(srcdir)/uuidgen.c'; fi`
+
+write-write.o: write.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(write_CFLAGS) $(CFLAGS) -MT write-write.o -MD -MP -MF $(DEPDIR)/write-write.Tpo -c -o write-write.o `test -f 'write.c' || echo '$(srcdir)/'`write.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/write-write.Tpo $(DEPDIR)/write-write.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='write.c' object='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 write-write.o `test -f 'write.c' || echo '$(srcdir)/'`write.c
+
+write-write.obj: write.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(write_CFLAGS) $(CFLAGS) -MT write-write.obj -MD -MP -MF $(DEPDIR)/write-write.Tpo -c -o write-write.obj `if test -f 'write.c'; then $(CYGPATH_W) 'write.c'; else $(CYGPATH_W) '$(srcdir)/write.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/write-write.Tpo $(DEPDIR)/write-write.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='write.c' object='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 write-write.obj `if test -f 'write.c'; then $(CYGPATH_W) 'write.c'; else $(CYGPATH_W) '$(srcdir)/write.c'; fi`
+
+mostlyclean-libtool:
+       -rm -f *.lo
+
+clean-libtool:
+       -rm -rf .libs _libs
+install-man1: $(dist_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)'; 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)'; 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-man8: $(dist_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)'; 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)'; 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; }
+
+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:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       set x; \
+       here=`pwd`; \
+       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; }; }'`; \
+       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:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       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; }; }'`; \
+       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
+
+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
+       @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 $(PROGRAMS) $(SCRIPTS) $(MANS) $(DATA)
+installdirs:
+       for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(usrbin_execdir)" "$(DESTDIR)$(usrsbin_execdir)" "$(DESTDIR)$(usrbin_execdir)" "$(DESTDIR)$(usrbin_execdir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man8dir)"; do \
+         test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+       done
+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)
+
+maintainer-clean-generic:
+       @echo "This command is intended for maintainers to use"
+       @echo "it deletes files that may require special tools to rebuild."
+@BUILD_WRITE_FALSE@install-exec-hook:
+@MAKEINSTALL_DO_CHOWN_FALSE@install-exec-hook:
+@USE_TTY_GROUP_FALSE@install-exec-hook:
+clean: clean-am
+
+clean-am: clean-binPROGRAMS clean-generic clean-libtool \
+       clean-sbinPROGRAMS clean-usrbin_execPROGRAMS \
+       clean-usrsbin_execPROGRAMS mostlyclean-am
+
+distclean: distclean-am
+       -rm -rf ./$(DEPDIR)
+       -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+       distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-man
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-binPROGRAMS install-dist_usrbin_execSCRIPTS \
+       install-sbinPROGRAMS install-usrbin_execPROGRAMS \
+       install-usrbin_execSCRIPTS install-usrsbin_execPROGRAMS
+       @$(NORMAL_INSTALL)
+       $(MAKE) $(AM_MAKEFLAGS) install-exec-hook
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man: install-man1 install-man8
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+       -rm -rf ./$(DEPDIR)
+       -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+       mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS uninstall-dist_usrbin_execSCRIPTS \
+       uninstall-man uninstall-sbinPROGRAMS \
+       uninstall-usrbin_execPROGRAMS uninstall-usrbin_execSCRIPTS \
+       uninstall-usrsbin_execPROGRAMS
+
+uninstall-man: uninstall-man1 uninstall-man8
+
+.MAKE: install-am install-exec-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
+       clean-generic clean-libtool clean-sbinPROGRAMS \
+       clean-usrbin_execPROGRAMS clean-usrsbin_execPROGRAMS ctags \
+       distclean distclean-compile distclean-generic \
+       distclean-libtool distclean-tags distdir dvi dvi-am html \
+       html-am info info-am install install-am install-binPROGRAMS \
+       install-data install-data-am 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-man8 \
+       install-pdf install-pdf-am install-ps install-ps-am \
+       install-sbinPROGRAMS install-strip install-usrbin_execPROGRAMS \
+       install-usrbin_execSCRIPTS install-usrsbin_execPROGRAMS \
+       installcheck installcheck-am installdirs maintainer-clean \
+       maintainer-clean-generic mostlyclean mostlyclean-compile \
+       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+       tags uninstall uninstall-am uninstall-binPROGRAMS \
+       uninstall-dist_usrbin_execSCRIPTS uninstall-man uninstall-man1 \
+       uninstall-man8 uninstall-sbinPROGRAMS \
+       uninstall-usrbin_execPROGRAMS uninstall-usrbin_execSCRIPTS \
+       uninstall-usrsbin_execPROGRAMS
+
+
+$(ul_libblkid_la):
+       $(MAKE) -C $(ul_libblkid_builddir)
+
+$(ul_libuuid_la):
+       $(MAKE) -C $(ul_libuuid_builddir)
+
+@BUILD_WRITE_TRUE@@MAKEINSTALL_DO_CHOWN_TRUE@@USE_TTY_GROUP_TRUE@install-exec-hook::
+@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
+
+# 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/misc-utils/README.cal b/misc-utils/README.cal
new file mode 100644 (file)
index 0000000..638ac9d
--- /dev/null
@@ -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/misc-utils/README.ddate b/misc-utils/README.ddate
new file mode 100644 (file)
index 0000000..87d0fb8
--- /dev/null
@@ -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/misc-utils/README.flushb b/misc-utils/README.flushb
new file mode 100644 (file)
index 0000000..34ef9cf
--- /dev/null
@@ -0,0 +1,5 @@
+/*
+ * Some people submit a utility flushb.c.
+ * However, it is useless, BLKFLSBUF is already part of blockdev,
+ * so that "flushb device" is the same as "blockdev --flushbufs device".
+ */
diff --git a/misc-utils/README.namei b/misc-utils/README.namei
new file mode 100644 (file)
index 0000000..490939e
--- /dev/null
@@ -0,0 +1,31 @@
+Tired of running into "Too many levels of symlinks" problems on
+your 4.2 BSD derivitive machine?  
+
+We sure did... our NFS'ed network of lots of Suns, Vaxen and so forth
+made it impossible at times to trace down where a file REALLY lived.
+I mean ls -l is nice, but wouldn't you like to follow things like
+the namei routine in the kernel does?
+
+Well here it is.... the namei program.  It follows things out until
+a terminal state is found.
+
+This program compiles and runs under:
+
+    SunOS 4.0.1 (sun3's)
+    SunOS 4.0.3 (sun4's)
+    SunOS 4.1.1 (sun4's)
+    Ultrix 3.1
+    BSD 4.3
+
+and probably a host of other 4.2 derived systems (but probably not
+System V).
+
+Anyway, if anyone has any bugs (or enhancements), please send them to
+me in E-mail form.
+
+And, by the way, if you make LOTS of money off of this program, please
+don't tell me :-).
+
+    -Roger      (rogers@fangorn.wr.tek.com)
+               UUCP:   ...!uunet!tektronix!fangorn.wr.tek.com!rogers
+               ARPA:   <rogers%fangorn.wr.tek.com@RELAY.CS.NET>
diff --git a/misc-utils/README.namei2 b/misc-utils/README.namei2
new file mode 100644 (file)
index 0000000..fea56a3
--- /dev/null
@@ -0,0 +1,14 @@
+
+** NAMEI has local modifications, do not delete source when cleaning up **
+
+"You're in a twisty maze of symbolic links, all different"
+
+namei - a utility to chase down a pathname and print details at each
+level, especialy when following symbolic links.  Very useful for figuring
+out whats really going on in our large environment.  Named after the routine
+in the kernel that does essentialy the same thing whenever anyone tries to
+find a file.
+
+Local modifications by Steve Tell include: changing the -m option to print
+the file mode in a readable fashion, like "ls -l" does, instead of in octal.
+
diff --git a/misc-utils/README.reset b/misc-utils/README.reset
new file mode 100644 (file)
index 0000000..8060d26
--- /dev/null
@@ -0,0 +1,20 @@
+RedHat and SuSE take the program reset from ncurses,
+ where reset is a name for the program tset.
+ It is approximately equivalent to
+       stty sane; tputs rs1; tputs rs2; tputs rf
+ with `tputs rf' replaced by `tputs if' when there is an
+ init_file but no reset_file. In the comments it wonders
+ whether also sending rs3, rmacs, rmul, rmm might be a good idea.
+
+Slackware uses the small script given here.
+ The part `echo -e \\033c' is the canonical reset of the kernel
+ console status, and is equivalent to `tputs rs1' for a linux
+ terminal.
+
+So, both versions are approximately the same.
+
+
+[A disadvantage of `echo -e \\033c' might be that it is potentially
+wrong on a non-vt100, non-xterm, non-linux terminal.
+An advantage is that there are terminfo entries for xterm around
+that only use rs1=^O as reset, and then \Ec is much better.]
diff --git a/misc-utils/blkid.8 b/misc-utils/blkid.8
new file mode 100644 (file)
index 0000000..ff8e8e5
--- /dev/null
@@ -0,0 +1,211 @@
+.\" 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 2009" "Linux" "MAINTENANCE COMMANDS"
+.SH NAME
+blkid \- command\-line utility to locate/print block device attributes
+.SH SYNOPSIS
+.B blkid
+.RB \-L
+.IR label " | "
+.RB \-U
+.IR uuid
+
+.B blkid
+.RB [ \-ghlv ]
+.RB [ \-c
+.IR file ]
+.RB [ \-w
+.IR file ]
+.RB [ \-o
+.IR format ]
+.in +6
+.RB [ \-s
+.IR tag ]
+.RB [ \-t
+.IR NAME=value ]
+.I device
+[\fIdevice\fR ...]
+.in -6
+
+.B blkid
+.RB -p
+.RB [ \-O
+.IR offset ]
+.RB [ \-S
+.IR size ]
+.RB [ \-o
+.IR format ]
+.RB [ \-u
+.IR list ]
+.I device
+[\fIdevice\fR ...]
+
+.SH DESCRIPTION
+The
+.B blkid
+program is the command-line interface to working with
+.BR libblkid (3)
+library.  It can determine the type of content (e.g. filesystem, swap)
+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 devices.
+.SH OPTIONS
+.TP
+.BI \-c " cachefile"
+Read from
+.I cachefile
+instead of reading from the default cache file
+.IR /etc/blkid.tab .
+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 \-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 \-l
+Look up one device that matches the search parameter specified using
+the
+.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
+.B \-L " label "
+Look up one device that uses the label (same as: -l -o device -t
+LABEL=<label>).  This look up method is able to reliable use /dev/disk/by-label
+udev symlinks (depends on setting in /etc/blkid.conf). Avoid to use the
+symlinks directly. It is not reliable to use the symlinks without verification.
+The \fB-L\fR option is portable and works on systems with and without udev.
+.TP
+.B \-u " list "
+Restrict probing functions to defined (comma separated) list of "usage" types.
+Supported usage types are: filesystem, raid, crypto and other. The list can 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 filesystems and others (e.g. swap) formats, and
+.sp
+  blkid -p -u noraid /dev/sda1
+.sp
+probes for all supported formats exclude RAIDs. This option is useful with
+\fB-p\fR only.
+.TP
+.B \-U " uuid "
+Look up one device that uses the uuid. For more details see the \fB-L\fR option.
+.TP
+.BI \-o " format"
+Display
+.BR blkid 's
+output using the specified format.  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
+.TP
+.B device
+print the device name only
+.TP
+.B udev
+vol_id compatible mode; usable in udev rules
+.RE
+.TP
+.BI \-O " bytes"
+Probe at the given offset (only useful with \fB-p\fR).
+.TP
+.BI \-p
+Switch to low-level probing mode (bypass cache)"
+.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 " bytes"
+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
+.B \-v
+Display version number and exit.
+.TP
+.BI \-w " writecachefile"
+Write the device cache to
+.I writecachefile
+instead of writing it to the default cache file
+.IR /etc/blkid.tab .
+If you don't want to save the cache to the default file, specify
+.IR /dev/null.
+If not specified it will be the same file as that given by the
+.B \-c
+option.
+.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.
+.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-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
+.SH "SEE ALSO"
+.BR libblkid (3)
+.BR findfs (8)
diff --git a/misc-utils/blkid.c b/misc-utils/blkid.c
new file mode 100644 (file)
index 0000000..528e4a2
--- /dev/null
@@ -0,0 +1,633 @@
+/*
+ * 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>
+#ifdef HAVE_TERMIOS_H
+#include <termios.h>
+#endif
+#ifdef HAVE_TERMIO_H
+#include <termio.h>
+#endif
+#ifdef HAVE_SYS_IOCTL_H
+#include <sys/ioctl.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
+
+#define OUTPUT_VALUE_ONLY      0x0001
+#define OUTPUT_DEVICE_ONLY     0x0002
+#define OUTPUT_PRETTY_LIST     0x0004
+#define OUTPUT_UDEV_LIST       0x0008
+
+#include <blkid.h>
+
+const char *progname = "blkid";
+
+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>] [-w <file>] [dev ...]\n\n"
+               "  %1$s -p [-O <offset>] [-S <size>] [-o format] <dev> [dev ...]\n\n"
+               "Options:\n"
+               "  -c <file>   cache file (default: /etc/blkid.tab, /dev/null = none)\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, list, udev or full; (default: full)\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          lookup the the first device with arguments 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"
+               "  -w <file>   write cache to different file (/dev/null = no write)\n"
+               "  <dev>       specify device(s) to probe (default: all devices)\n\n"
+               "Low-level probing options:\n"
+               "  -p          switch to low-level mode (bypass cache)\n"
+               "  -S <bytes>  overwrite device size\n"
+               "  -O <bytes>  probe at the given offset\n"
+               "  -u <list>   filter by \"usage\" (e.g. -u filesystem,raid)\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 (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 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)
+               return strtol(cp, NULL, 10);
+       return 80;
+}
+
+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 > 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);
+       len = pretty_print_word(mtpt, mtpt_len, len, 0);
+       fputs(uuid, stdout);
+       fputc('\n', stdout);
+}
+
+static void pretty_print_dev(blkid_dev dev)
+{
+       fprintf(stderr, "pretty print not implemented yet\n");
+
+#ifdef NOT_IMPLEMENTED
+       blkid_tag_iterate       iter;
+       const char              *type, *value, *devname;
+       const char              *uuid = "", *fs_type = "", *label = "";
+       char                    *cp;
+       int                     len, mount_flags;
+       char                    mtpt[80];
+       errcode_t               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 = ext2fs_check_mount_point(devname, &mount_flags,
+                                         mtpt, sizeof(mtpt));
+       if (retval == 0) {
+               if (mount_flags & EXT2_MF_MOUNTED) {
+                       if (!mtpt[0])
+                               strcpy(mtpt, "(mounted, mtpt unknown)");
+               } else if (mount_flags & EXT2_MF_BUSY)
+                       strcpy(mtpt, "(in use)");
+               else
+                       strcpy(mtpt, "(not mounted)");
+       }
+
+       pretty_print_line(devname, fs_type, label, mtpt, uuid);
+#endif
+}
+
+static void print_udev_format(const char *name, const char *value, size_t sz)
+{
+       char enc[265], safe[256];
+
+       *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
+               printf("ID_FS_%s=%s\n", name, value);
+}
+
+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, valsz);
+
+       } 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 numtag, int output)
+{
+       blkid_tag_iterate       iter;
+       const char              *type, *value, *devname;
+       int                     i, num = 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 (numtag && show) {
+                       for (i=0; i < numtag; i++)
+                               if (!strcmp(type, show[i]))
+                                       break;
+                       if (i >= numtag)
+                               continue;
+               }
+               print_value(output, num++, devname, value, type, strlen(value));
+       }
+       blkid_tag_iterate_end(iter);
+
+       if (num > 1 && !(output & (OUTPUT_VALUE_ONLY | OUTPUT_UDEV_LIST)))
+               printf("\n");
+}
+
+static int lowprobe_device(blkid_probe pr, const char *devname, int output,
+               blkid_loff_t offset, blkid_loff_t size)
+{
+       const char *data;
+       const char *name;
+       int nvals = 0, n;
+       size_t len;
+       int fd;
+       int rc = 0;
+
+       fd = open(devname, O_RDONLY);
+       if (fd < 0)
+               return 2;
+
+       if (blkid_probe_set_device(pr, fd, offset, size))
+               goto done;
+       rc = blkid_do_safeprobe(pr);
+       if (rc)
+               goto done;
+
+       nvals = blkid_probe_numof_values(pr);
+
+       if (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;
+
+               len = strnlen((char *) data, len);
+               print_value(output, n + 1, devname, (char *) data, name, len);
+       }
+
+       if (nvals > 1 && !(output & (OUTPUT_VALUE_ONLY | OUTPUT_UDEV_LIST)))
+               printf("\n");
+done:
+       if (rc == -2)
+               fprintf(stderr, "%s: ambivalent result "
+                               "(probably more filesystems on the device)\n",
+                               devname);
+       close(fd);
+       return !nvals ? 2 : 0;
+}
+
+/* converts comma separated list to BLKID_USAGE_* mask */
+static int list_to_usage(const char *list, int *flag)
+{
+       int mask = 0;
+       const char *word, *p = list;
+
+       if (p && strncmp(p, "no", 2) == 0) {
+               *flag = BLKID_FLTR_NOTIN;
+               p += 2;
+       }
+
+       for (word = p; p && *p; p++) {
+               if (*p == ',' || *(p + 1) == '\0') {
+                       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 {
+                               fprintf(stderr, "unknown usage keyword '%*s'\n",
+                                               (int) (p - word), word);
+                               exit(4);
+                       }
+                       word = p + 1;
+               }
+       }
+       return mask;
+}
+
+int main(int argc, char **argv)
+{
+       blkid_cache cache = NULL;
+       char *devices[128] = { NULL, };
+       char *show[128] = { NULL, };
+       char *search_type = NULL, *search_value = NULL;
+       char *read = NULL;
+       char *write = NULL;
+       int fltr_usage = 0;
+       int fltr_flag = BLKID_FLTR_ONLYIN;
+       unsigned int numdev = 0, numtag = 0;
+       int version = 0;
+       int err = 4;
+       unsigned int i;
+       int output_format = 0;
+       int lookup = 0, gc = 0, lowprobe = 0, eval = 0;
+       int c;
+       blkid_loff_t offset = 0, size = 0;
+
+       while ((c = getopt (argc, argv, "c:f:ghlL:o:O:ps:S:t:u:U:w:v")) != EOF)
+               switch (c) {
+               case 'c':
+                       if (optarg && !*optarg)
+                               read = NULL;
+                       else
+                               read = optarg;
+                       if (!write)
+                               write = read;
+                       break;
+               case 'L':
+                       eval++;
+                       search_value = strdup(optarg);
+                       search_type = strdup("LABEL");
+                       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 'l':
+                       lookup++;
+                       break;
+               case 'g':
+                       gc = 1;
+                       break;
+               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;
+                       else if (!strcmp(optarg, "udev"))
+                               output_format = OUTPUT_UDEV_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(4);
+                       }
+                       break;
+               case 'O':
+                       offset = strtoll(optarg, NULL, 10);
+                       break;
+               case 'p':
+                       lowprobe++;
+                       break;
+               case 's':
+                       if (numtag >= sizeof(show) / sizeof(*show)) {
+                               fprintf(stderr, "Too many tags specified\n");
+                               usage(err);
+                       }
+                       show[numtag++] = optarg;
+                       break;
+               case 'S':
+                       size = strtoll(optarg, NULL, 10);
+                       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':
+                       if (optarg && !*optarg)
+                               write = NULL;
+                       else
+                               write = optarg;
+                       break;
+               case 'h':
+                       err = 0;
+               default:
+                       usage(err);
+               }
+
+       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 = 2;
+
+       if (output_format & OUTPUT_PRETTY_LIST)
+               pretty_print_dev(NULL);
+
+       if (lowprobe) {
+               /*
+                * Low-level API
+                */
+               blkid_probe pr;
+
+               if (!numdev) {
+                       fprintf(stderr, "The low-probe option requires a device\n");
+                       exit(4);
+               }
+               pr = blkid_new_probe();
+               if (!pr)
+                       goto exit;
+               blkid_probe_set_request(pr,
+                               BLKID_PROBREQ_LABEL | BLKID_PROBREQ_UUID |
+                               BLKID_PROBREQ_TYPE | BLKID_PROBREQ_SECTYPE |
+                               BLKID_PROBREQ_USAGE | BLKID_PROBREQ_VERSION);
+               if (fltr_usage &&
+                   blkid_probe_filter_usage(pr, fltr_flag, fltr_usage))
+                       goto exit;
+
+               for (i = 0; i < numdev; i++)
+                       err = lowprobe_device(pr, devices[i],
+                                       output_format, offset, size);
+               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(4);
+               }
+               /* 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, numtag, 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, numtag, 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, numtag, output_format);
+                       err = 0;
+               }
+       }
+
+exit:
+       free(search_type);
+       free(search_value);
+       if (!lowprobe && !eval)
+               blkid_put_cache(cache);
+       return err;
+}
diff --git a/misc-utils/cal.1 b/misc-utils/cal.1
new file mode 100644 (file)
index 0000000..f11f605
--- /dev/null
@@ -0,0 +1,103 @@
+.\" 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
+.\"
+.Dd June 6, 1993
+.Dt CAL 1
+.Os
+.Sh NAME
+.Nm cal
+.Nd displays a calendar
+.Sh SYNOPSIS
+.Nm cal
+.Op Fl smjy13
+.Op [ [ Ar day ] Ar month ] Ar year
+.Sh DESCRIPTION
+.Nm Cal
+displays a simple calendar.
+If arguments are not specified,
+the current month is displayed.
+The options are as follows:
+.Bl -tag -width Ds
+.It Fl 1
+Display single month output.
+(This is the default.)
+.It Fl 3
+Display prev/current/next month output.
+.It Fl s
+Display Sunday as the first day of the week.
+.It Fl m
+Display Monday as the first day of the week.
+.It Fl j
+Display Julian dates (days one-based, numbered from January 1).
+.It Fl y
+Display a calendar for the current year.
+.It Fl V
+Display version information and exit.
+.El
+.Pp
+A single parameter specifies the year (1 - 9999) to be displayed;
+note the year must be fully specified:
+.Dq Li cal 89
+will
+.Em not
+display a calendar for 1989.
+Two parameters denote the month (1 - 12) and year.
+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
+.Nm
+command appeared in Version 6 AT&T UNIX.
+.Sh OTHER VERSIONS
+Several much more elaborate versions of this program exist,
+with support for colors, holidays, birthdays, reminders and
+appointments, etc. For example, try the cal from
+http://home.sprynet.com/~cbagwell/projects.html
+or GNU gcal.
+.Sh AVAILABILITY
+The cal command is part of the util-linux-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/misc-utils/cal.c b/misc-utils/cal.c
new file mode 100644 (file)
index 0000000..bda3a96
--- /dev/null
@@ -0,0 +1,858 @@
+/*
+ * 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 <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <unistd.h>
+#include <err.h>
+#include "nls.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, 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) {
+    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 */
+
+#ifdef HAVE_LANGINFO_H
+# include <langinfo.h>
+#else
+# include <localeinfo.h>       /* libc4 only */
+#endif
+
+#include "widechar.h"
+
+#define SIZE(a)        (sizeof(a)/sizeof((a)[0]))
+
+/* 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, int width);
+void center(const char *, int, 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 *);
+void usage(void);
+void headers_init(void);
+extern char *__progname;
+
+int
+main(int argc, char **argv) {
+       struct tm *local_time;
+       time_t now;
+       int ch, day, month, year, yflag;
+       char *progname, *p;
+       int num_months = NUM_MONTHS;
+
+       progname = argv[0];
+       if ((p = strrchr(progname, '/')) != NULL)
+               progname = p+1;
+       __progname = progname;
+
+       setlocale(LC_ALL, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+
+#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 = (int)(intptr_t) nl_langinfo(_NL_TIME_WEEK_1STDAY);
+               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(argc, argv, "13mjsyV")) != -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"),
+                              progname, PACKAGE_STRING);
+                       return 0;
+               case '?':
+               default:
+                       usage();
+               }
+       argc -= optind;
+       argv += optind;
+
+       time(&now);
+       local_time = localtime(&now);
+
+       day = month = year = 0;
+       switch(argc) {
+       case 3:
+               if ((day = atoi(*argv++)) < 1 || day > 31)
+                       errx(1, _("illegal day value: use 1-%d"), 31);
+               /* FALLTHROUGH */
+       case 2:
+               if ((month = atoi(*argv++)) < 1 || month > 12)
+                       errx(1, _("illegal month value: use 1-12"));
+               /* FALLTHROUGH */
+       case 1:
+               if ((year = atoi(*argv)) < 1 || year > 9999)
+                       errx(1, _("illegal year value: use 1-9999"));
+               if (day) {
+                       int dm = days_in_month[leap_year(year)][month];
+                       if (day > dm)
+                               errx(1, _("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();
+       }
+       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);
+       exit(0);
+}
+
+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,"");
+
+#ifdef HAVE_LANGINFO_H
+# define weekday(wd)   nl_langinfo(ABDAY_1+wd)
+#else
+# define weekday(wd)   _time_info->abbrev_wkday[wd]
+#endif
+
+  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(weekday(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(weekday(wd), cur_j_dh, space_left, 3);
+  }
+
+#undef weekday
+
+  for (i = 0; i < 12; i++) {
+#ifdef HAVE_LANGINFO_H
+     full_month[i] = nl_langinfo(MON_1+i);
+#else
+     full_month[i] = _time_info->full_month[i];
+#endif
+  }
+}
+
+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], 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, SIZE(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(s)
+       char *s;
+{
+       char *p;
+
+       for (p = s; *p; ++p)
+               continue;
+       while (p > s && isspace(*--p))
+               continue;
+       if (p > s)
+               ++p;
+       *p = '\0';
+}
+
+#ifdef HAVE_WIDECHAR
+/* replace non printable chars.
+ * return 1 if replacement made, 0 otherwise */
+int wc_ensure_printable(wchar_t* wchars)
+{
+       int replaced=0;
+       wchar_t* wc = wchars;
+       while (*wc) {
+               if (!iswprint((wint_t) *wc)) {
+                       *wc=L'\uFFFD';
+                       replaced=1;
+               }
+               wc++;
+       }
+       return replaced;
+}
+
+/* truncate wchar string to width cells.
+ * returns number of cells used. */
+size_t wc_truncate(wchar_t* wchars, size_t width, size_t minchars)
+{
+       int wc=0;
+       int cells=0;
+       while (*(wchars+wc)) {
+               cells = wcswidth(wchars, wc+1);
+               if (cells > width) {
+                       if (wc >= minchars) {
+                               break;
+                       }
+               }
+               wc++;
+       }
+       wchars[wc]=L'\0';
+       return cells;
+}
+#endif
+
+/*
+ * 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, int width)
+{
+#ifdef HAVE_WIDECHAR
+       wchar_t str_wc[FMT_ST_CHARS];
+#endif
+       char str[FMT_ST_CHARS];
+       const char* str_to_print=src;
+       int used, spaces, wc_conversion=0, wc_enabled=0;
+
+#ifdef HAVE_WIDECHAR
+       if (mbstowcs(str_wc, src, SIZE(str_wc)) > 0) {
+               str_wc[SIZE(str_wc)-1]=L'\0';
+               wc_enabled=1;
+               wc_conversion = wc_ensure_printable(str_wc);
+               used = wcswidth(str_wc, SIZE(str_wc));
+       }
+       else
+#endif
+               used = strlen(src);
+
+       if (wc_conversion || used > width) {
+               str_to_print=str;
+               if (wc_enabled) {
+#ifdef HAVE_WIDECHAR
+                       used = wc_truncate(str_wc, width, 1);
+                       wcstombs(str, str_wc, SIZE(str));
+#endif
+               } else {
+                       memcpy(str, src, width);
+                       str[width]='\0';
+               }
+       }
+
+       spaces = width - used;
+       spaces = ( spaces < 0 ? 0 : spaces );
+
+       return snprintf(dest, dest_size, "%*s%s%*s",
+               spaces / 2 + spaces % 2, "",
+               str_to_print,
+               spaces / 2, "" );
+}
+
+void
+center(str, len, separate)
+       const char *str;
+       int len;
+       int separate;
+{
+       char lineout[FMT_ST_CHARS];
+       center_str(str, lineout, SIZE(lineout), len);
+       fputs(lineout, stdout);
+       if (separate)
+               printf("%*s", separate, "");
+}
+
+void
+usage()
+{
+
+       fprintf(stderr, _("usage: cal [-13smjyV] [[[day] month] year]\n"));
+       exit(1);
+}
diff --git a/misc-utils/chkdupexe.1 b/misc-utils/chkdupexe.1
new file mode 100644 (file)
index 0000000..279562e
--- /dev/null
@@ -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 "11 Mar 1995" "" "Linux Programmer's Manual"
+.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 (executable)
index 0000000..c2c2384
--- /dev/null
@@ -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 (file)
index 0000000..6928f95
--- /dev/null
@@ -0,0 +1,114 @@
+.\" All Rites Reversed.  This file is in the PUBLIC DOMAIN.
+.\" Kallisti.
+.TH DDATE 1 "59 Bureaucracy 3161" "" "Emperor Norton Utilities"
+.SH NAME
+ddate \- converts 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 behaviour 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-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/misc-utils/ddate.c b/misc-utils/ddate.c
new file mode 100644 (file)
index 0000000..df6b371
--- /dev/null
@@ -0,0 +1,369 @@
+/* $ 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 Mi¶kiewicz <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"
+
+#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!", 
+    "Umlaut Zebra über alles!", "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);
+
+    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 += 13;
+           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, sizeof(excl)/sizeof(excl[0]));
+                   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 (file)
index 0000000..e93fe54
--- /dev/null
@@ -0,0 +1,35 @@
+.\" -*- 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" "Linux" "MAINTENANCE COMMANDS"
+.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
+util-linux-ng package by Karel Zak (kzak@redhat.com).
+.SH AVAILABILITY
+.B findfs
+The blkid command is part of the util-linux-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
+.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 (file)
index 0000000..18608b4
--- /dev/null
@@ -0,0 +1,60 @@
+/*
+ * 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 <err.h>
+
+#include <blkid.h>
+
+#include "nls.h"
+
+static void __attribute__((__noreturn__)) usage(int rc)
+{
+       const char *p = program_invocation_short_name;
+
+       if (!p)
+               p = "findfs";
+
+       fprintf(stderr, _("Usage: %s LABEL=<label>|UUID=<uuid>\n"), p);
+       exit(rc);
+}
+
+int main(int argc, char **argv)
+{
+       char    *dev, *tk, *vl;
+
+       setlocale(LC_ALL, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+
+       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], "-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/kill.1 b/misc-utils/kill.1
new file mode 100644 (file)
index 0000000..657852a
--- /dev/null
@@ -0,0 +1,98 @@
+.\" 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 "14 October 1994" "Linux Utilities" "Linux Programmer's Manual"
+.SH NAME
+kill \- terminate a process
+.SH SYNOPSIS
+.B kill
+.RB [ \-s
+.IR signal  | \fB\-p\fP ]
+.RN [ \-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 pids by command name is 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.
+.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-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/misc-utils/kill.c b/misc-utils/kill.c
new file mode 100644 (file)
index 0000000..579ae8a
--- /dev/null
@@ -0,0 +1,371 @@
+/*
+ * 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 <strings.h>
+#include <ctype.h>             /* for isdigit() */
+#include <unistd.h>
+#include <signal.h>
+#include "kill.h"
+#include "nls.h"
+
+#define SIZE(a)        (sizeof(a)/sizeof(a[0]))
+
+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
+};
+
+int main (int argc, char *argv[]);
+extern char *mybasename(char *);
+int signame_to_signum (char *sig);
+int arg_to_signum (char *arg, int mask);
+void nosig (char *name);
+void printsig (int sig);
+void printsignals (FILE *fp);
+int usage (int status);
+int kill_verbose (char *procname, int pid, int sig);
+
+extern int *get_pids (char *, int);
+
+static char *progname;
+
+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);
+
+    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;
+       }
+       /*  `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);
+}
+
+
+int signame_to_signum (char *sig)
+{
+    int n;
+
+    if (! strncasecmp (sig, "sig", 3))
+       sig += 3;
+    for (n = 0; n < SIZE(sys_signame); n++) {
+       if (! strcasecmp (sys_signame[n].name, sig))
+           return sys_signame[n].val;
+    }
+    return (-1);
+}
+
+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));
+}
+
+void nosig (char *name)
+{
+    fprintf (stderr, _("%s: unknown signal %s; valid signals:\n"), progname, name);
+    printsignals (stderr);
+}
+
+void printsig (int sig)
+{
+    int n;
+
+    for (n = 0; n < SIZE(sys_signame); n++) {
+       if (sys_signame[n].val == sig) {
+           printf ("%s\n", sys_signame[n].name);
+           return;
+       }
+    }
+    printf("%d\n", sig);
+}
+
+void printsignals (FILE *fp)
+{
+    int n, lth;
+    int lpos = 0;
+
+    for (n = 0; n < 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);
+    }
+    fputc ('\n', fp);
+}
+
+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;
+}
+
+int kill_verbose (char *procname, int pid, int sig)
+{
+    if (sig < 0) {
+       printf ("%d\n", pid);
+       return 0;
+    }
+    if (kill (pid, sig) < 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 (file)
index 0000000..27a12a8
--- /dev/null
@@ -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 (file)
index 0000000..5245afb
--- /dev/null
@@ -0,0 +1,129 @@
+.\" 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.
+.Dd June 6, 1993
+.Dt LOGGER 1
+.Os BSD 4.3
+.Sh NAME
+.Nm logger
+.Nd a shell command interface to the syslog(3) system log module
+.Sh SYNOPSIS
+.Nm logger
+.Op Fl isd
+.Op Fl f Ar file
+.Op Fl p Ar pri
+.Op Fl t Ar tag
+.Op Fl u Ar socket
+.Op Ar message ...
+.Sh DESCRIPTION
+.Nm Logger
+makes entries in the system log.
+It provides a shell command interface to the
+.Xr syslog  3
+system log module.
+.Pp
+Options:
+.Pp
+.Bl -tag -width "message"
+.It Fl i
+Log the process id of the logger process
+with each line.
+.It Fl s
+Log the message to standard error, as well as the system log.
+.It Fl f Ar file 
+Log the specified file.
+.It Fl p Ar pri 
+Enter the message with the specified priority.
+The priority may be specified numerically or as a ``facility.level''
+pair.
+For example, ``\-p local3.info'' logs the message(s) as
+.Ar info Ns rmational
+level in the
+.Ar local3
+facility.
+The default is ``user.notice.''
+.It Fl t Ar tag 
+Mark every line in the log with the specified
+.Ar tag  .
+.It Fl u Ar sock
+Write to socket as specified with
+.Ar socket
+instead of builtin syslog routines.
+.It Fl d
+Use a datagram instead of a stream connection to this socket.
+.It --
+End the argument list. This is to allow the
+.Ar message
+to start with a hyphen (\-).
+.It Ar message
+Write the message to log; if not specified, and the
+.Fl f
+flag is not
+provided, standard input is logged.
+.El
+.Pp
+The
+.Nm logger
+utility exits 0 on success, and >0 if an error occurs.
+.Pp
+Valid facility names are: auth, authpriv (for security information of
+a sensitive nature), cron, daemon, ftp, kern, lpr, mail, news,
+security (deprecated synonym for auth), syslog, user, uucp, and local0
+to local7, inclusive.
+.Pp
+Valid level names are):
+alert, crit, debug, emerg, err, error (deprecated synonym for err),
+info, notice, panic (deprecated synonym for emerg), warning,
+warn (deprecated synonym for warning).
+For the priority order and intended purposes of these levels, see
+.Xr syslog 3 .
+.Sh EXAMPLES
+.Bd -literal -offset indent -compact
+logger System rebooted
+
+logger \-p local0.notice \-t HOSTIDM \-f /dev/idmc
+.Ed
+.Sh SEE ALSO
+.Xr syslog 3 ,
+.Xr syslogd 8
+.Sh STANDARDS
+The
+.Nm logger
+command is expected to be
+.St -p1003.2
+compatible.
+.Sh AVAILABILITY
+The logger command is part of the util-linux-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/misc-utils/logger.c b/misc-utils/logger.c
new file mode 100644 (file)
index 0000000..95050a1
--- /dev/null
@@ -0,0 +1,287 @@
+/*
+ * 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 <strings.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <sys/un.h>
+#include "nls.h"
+
+#define        SYSLOG_NAMES
+#include <syslog.h>
+
+int    decode __P((char *, CODE *));
+int    pencode __P((char *));
+void   usage __P((void));
+
+static int optd = 0;
+
+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)) {
+              printf (_("logger: openlog: pathname too long\n"));
+              exit(1);
+       }
+
+       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) {
+               printf (_("socket: %s.\n"), strerror(errno));
+               exit (1);
+       }
+
+       if (connect(fd, (struct sockaddr *) &s_addr, sizeof(s_addr)) == -1) {
+               printf (_("connect: %s.\n"), strerror(errno));
+               exit (1);
+       }
+       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 */
+       }
+}
+
+/*
+ * 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;
+       int LogSock = -1;
+
+       setlocale(LC_ALL, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+
+       tag = NULL;
+       pri = LOG_NOTICE;
+       logflags = 0;
+       while ((ch = getopt(argc, argv, "f:ip:st:u:d")) != -1)
+               switch((char)ch) {
+               case 'f':               /* file to log */
+                       if (freopen(optarg, "r", stdin) == NULL) {
+                               int errsv = errno;
+                               (void)fprintf(stderr, _("logger: %s: %s.\n"),
+                                   optarg, strerror(errsv));
+                               exit(1);
+                       }
+                       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 '?':
+               default:
+                       usage();
+               }
+       argc -= optind;
+       argv += optind;
+
+       /* setup for logging */
+       if (!usock)
+               openlog(tag ? tag : getlogin(), logflags, 0);
+       else
+               LogSock = myopenlog(usock);
+
+       (void) fclose(stdout);
+
+       /* log input line if appropriate */
+       if (argc > 0) {
+               register char *p, *endp;
+               int len;
+
+               for (p = buf, endp = buf + sizeof(buf) - 2; *argv;) {
+                       len = strlen(*argv);
+                       if (p + len > endp && p > buf) {
+                           if (!usock)
+                               syslog(pri, "%s", buf);
+                           else
+                               mysyslog(LogSock, logflags, pri, tag, buf);
+                               p = buf;
+                       }
+                       if (len > sizeof(buf) - 1) {
+                           if (!usock)
+                               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)
+                       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)
+                       syslog(pri, "%s", buf);
+                   else
+                       mysyslog(LogSock, logflags, pri, tag, buf);
+               }
+       if (!usock)
+               closelog();
+       else
+               close(LogSock);
+       exit(0);
+}
+
+/*
+ *  Decode a symbolic name to a numeric value
+ */
+int
+pencode(s)
+       register char *s;
+{
+       char *save;
+       int fac, lev;
+
+       for (save = s; *s && *s != '.'; ++s);
+       if (*s) {
+               *s = '\0';
+               fac = decode(save, facilitynames);
+               if (fac < 0) {
+                       (void)fprintf(stderr,
+                           _("logger: unknown facility name: %s.\n"), save);
+                       exit(1);
+               }
+               *s++ = '.';
+       }
+       else {
+               fac = LOG_USER;
+               s = save;
+       }
+       lev = decode(s, prioritynames);
+       if (lev < 0) {
+               (void)fprintf(stderr,
+                   _("logger: unknown priority name: %s.\n"), save);
+               exit(1);
+       }
+       return ((lev & LOG_PRIMASK) | (fac & LOG_FACMASK));
+}
+
+int
+decode(name, codetab)
+       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);
+}
+
+void
+usage()
+{
+       (void)fprintf(stderr,
+           _("usage: logger [-is] [-f file] [-p pri] [-t tag] [-u socket] [ message ... ]\n"));
+       exit(1);
+}
diff --git a/misc-utils/look.1 b/misc-utils/look.1
new file mode 100644 (file)
index 0000000..a9a7c4b
--- /dev/null
@@ -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
+.\"
+.Dd June 14, 1993
+.Dt LOOK 1
+.Os
+.Sh NAME
+.Nm look
+.Nd display lines beginning with a given string
+.Sh SYNOPSIS
+.Nm look
+.Op Fl dfa
+.Op Fl t Ar termchar
+.Ar string
+.Op Ar file
+.Sh DESCRIPTION
+The 
+.Nm look
+utility displays any lines in
+.Ar file
+which contain
+.Ar string
+as a prefix.
+As
+.Nm look
+performs a binary search, the lines in
+.Ar file
+must be sorted (where
+.Xr sort 1
+got the same options \-d and/or \-f that
+.Nm look
+is invoked with).
+.Pp
+If
+.Ar file
+is not specified, the file
+.Pa /usr/share/dict/words
+is used, only alphanumeric characters are compared and the case of
+alphabetic characters is ignored.
+.Pp
+Options:
+.Bl -tag -width Ds
+.It Fl d
+Dictionary character set and order, i.e. only alphanumeric characters
+are compared. (On by default if no file specified).
+.It Fl f
+Ignore the case of alphabetic characters. (On by default if no file specified).
+.It Fl a
+Use the alternate dictionary
+.Pa /usr/share/dict/web2
+.It Fl t
+Specify a string termination character, i.e. only the characters
+in
+.Ar string
+up to and including the first occurrence of
+.Ar termchar
+are compared.
+.El
+.Pp
+The
+.Nm 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 FILES
+.Bl -tag -width /usr/share/dict/words -compact
+.It Pa /usr/share/dict/words
+the dictionary
+.It Pa /usr/share/dict/web2
+the alternate dictionary
+.El
+.Sh SEE ALSO
+.Xr grep 1 ,
+.Xr sort 1
+.Sh COMPATIBILITY
+The original manual page stated that tabs and blank characters participated
+in comparisons when the
+.Fl d
+option was specified.
+This was incorrect and the current man page matches the historic
+implementation.
+.Sh HISTORY
+.Nm Look
+appeared in Version 7 AT&T Unix.
+.Sh AVAILABILITY
+The look command is part of the util-linux-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/misc-utils/look.c b/misc-utils/look.c
new file mode 100644 (file)
index 0000000..9e25596
--- /dev/null
@@ -0,0 +1,382 @@
+/*-
+ * 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/types.h>
+#include <sys/mman.h>
+#include <sys/stat.h>
+
+#include <limits.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <strings.h>
+#include <ctype.h>
+#include <getopt.h>
+#include "pathnames.h"
+#include "nls.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 void err (const char *fmt, ...);
+static char *linear_search (char *, char *);
+static int look (char *, char *);
+static void print_from (char *, char *);
+static void usage (void);
+
+int
+main(int argc, char *argv[])
+{
+       struct stat sb;
+       int ch, fd, termchar;
+       char *back, *file, *front, *p;
+
+       setlocale(LC_ALL, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+
+       setlocale(LC_ALL, "");
+
+       file = _PATH_WORDS;
+       termchar = '\0';
+       string = NULL;          /* just for gcc */
+
+       while ((ch = getopt(argc, argv, "adft:")) != -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 '?':
+               default:
+                       usage();
+               }
+       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();
+       }
+
+       if (termchar != '\0' && (p = strchr(string, termchar)) != NULL)
+               *++p = '\0';
+
+       if ((fd = open(file, O_RDONLY, 0)) < 0 || fstat(fd, &sb))
+               err("%s: %s", file, strerror(errno));
+       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("%s: %s", file, strerror(errno));
+
+#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 = malloc(stringlen+1);
+       if (comparbuf == NULL)
+               err(_("Out of memory"));
+
+       front = binary_search(front, back);
+       front = linear_search(front, back);
+
+       if (front)
+               print_from(front, back);
+       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("stdout: %s", strerror(errno));
+                               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
+usage()
+{
+       (void)fprintf(stderr, _("usage: look [-dfa] [-t char] string [file]\n"));
+       exit(2);
+}
+
+#if __STDC__
+#include <stdarg.h>
+#else
+#include <varargs.h>
+#endif
+
+void
+#if __STDC__
+err(const char *fmt, ...)
+#else
+err(fmt, va_alist)
+       char *fmt;
+       va_dcl
+#endif
+{
+       va_list ap;
+#if __STDC__
+       va_start(ap, fmt);
+#else
+       va_start(ap);
+#endif
+       (void)fprintf(stderr, "look: ");
+       (void)vfprintf(stderr, fmt, ap);
+       va_end(ap);
+       (void)fprintf(stderr, "\n");
+       exit(2);
+       /* NOTREACHED */
+}
diff --git a/misc-utils/mcookie.1 b/misc-utils/mcookie.1
new file mode 100644 (file)
index 0000000..0396d9a
--- /dev/null
@@ -0,0 +1,54 @@
+.\" mcookie.1 --
+.\" Public Domain 1995 Rickard E. Faith (faith@cs.unc.edu)
+.TH MCOOKIE 1 "25 September 1995" "" "Linux Programmer's Manual"
+.SH NAME
+mcookie \- generate magic cookies for xauth
+.SH SYNOPSIS
+.B mcookie
+.RB [ \-v ]
+.RB [ \-f
+.IR filename ]
+.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, the contents of an input file (if
+.B \-f
+is specified), 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 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-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/misc-utils/mcookie.c b/misc-utils/mcookie.c
new file mode 100644 (file)
index 0000000..ecb8dc2
--- /dev/null
@@ -0,0 +1,147 @@
+/* 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 <stdio.h>
+#include <stdlib.h>
+#include <fcntl.h>
+#include "md5.h"
+#include <sys/time.h>
+#include <unistd.h>
+#include "nls.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))
+
+int Verbose = 0;
+
+/* 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;
+}
+
+int main( int argc, char **argv )
+{
+   int               i;
+   struct MD5Context ctx;
+   unsigned char     digest[16];
+   unsigned char     buf[BUFFERSIZE];
+   int               fd;
+   int               c;
+   pid_t             pid;
+   char              *file = NULL;
+   int               r;
+   struct timeval    tv;
+   struct timezone   tz;
+
+   setlocale(LC_ALL, "");
+   bindtextdomain(PACKAGE, LOCALEDIR);
+   textdomain(PACKAGE);
+
+   while ((c = getopt( argc, argv, "vf:" )) != -1)
+      switch (c) {
+      case 'v': ++Verbose;     break;
+      case 'f': file = optarg; break;
+      }
+
+   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 = fileno(stdin);
+      else
+        fd = open( file, O_RDONLY );
+
+      if (fd < 0) {
+        fprintf( stderr, _("Could not open %s\n"), file );
+      } else {
+         count = hash_file( &ctx, fd );
+        if (Verbose)
+           fprintf( stderr, _("Got %d bytes from %s\n"), count, file );
+
+        if (file[0] != '-' || file[1]) close( fd );
+      }
+   }
+
+   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)
+        fprintf( stderr, _("Could not open %s\n"), rngs[i].path );
+   }
+
+   MD5Final( digest, &ctx );
+   for (i = 0; i < 16; i++) printf( "%02x", digest[i] );
+   putchar ( '\n' );
+   
+   /*
+    * The following is important for cases like disk full, so shell scripts
+    * can bomb out properly rather than think they succeeded.
+    */
+   if (fflush(stdout) < 0 || fclose(stdout) < 0)
+      return 1;
+
+   return 0;
+}
diff --git a/misc-utils/namei.1 b/misc-utils/namei.1
new file mode 100644 (file)
index 0000000..f9617da
--- /dev/null
@@ -0,0 +1,70 @@
+.\"
+.\" Version 1.4 of namei
+.\"
+.TH NAMEI 1 "Local"
+.SH NAME
+namei - follow a pathname until a terminal point is found
+.SH SYNOPSIS
+.B fBnamei
+.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 a terminal
+point is found (a file, directory, char device, etc).
+If it finds a symbolic link, we show the link, and start
+following it, indenting the output to show the context.
+.PP
+This program is useful for finding a "too many levels of
+symbolic links" problems.
+.PP
+For each line output,
+.B namei
+outputs a the following characters to identify the file types found:
+.LP
+.nf
+   f: = the pathname we are currently trying to resolve
+    d = directory
+    l = symbolic link (both the link and it's 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 a 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"
+Vertical align of modes and owners.
+.IP "\fB\-x, \-\-mountpoints\fP"
+Show mount point directories with a 'D', rather than a 'd'.
+.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-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/misc-utils/namei.c b/misc-utils/namei.c
new file mode 100644 (file)
index 0000000..b8930cd
--- /dev/null
@@ -0,0 +1,505 @@
+/*
+ * Copyright (C) 2008 Karel Zak <kzak@redhat.com>
+ *
+ * This file is part of util-linux-ng.
+ *
+ * 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 <strings.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/param.h>
+#include <err.h>
+#include <pwd.h>
+#include <grp.h>
+#include "nls.h"
+#include "widechar.h"
+
+#ifndef MAXSYMLINKS
+#define MAXSYMLINKS 256
+#endif
+
+#ifndef PATH_MAX
+#define PATH_MAX 4096
+#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;
+};
+
+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 = calloc(1, sizeof(*nc));
+       if (!nc)
+               goto alloc_err;
+       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 = strdup(name);
+       else if (asprintf(&nc->name, "%lu", id) == -1)
+               nc->name = NULL;
+       if (!nc->name)
+               goto alloc_err;
+
+       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 = strlen(nc->name);
+       *width = *width < w ? w : *width;
+
+       return;
+alloc_err:
+       err(EXIT_FAILURE, _("out of memory?"));
+}
+
+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];
+       size_t sz;
+
+       sz = readlink(path, sym, sizeof(sym));
+       if (sz < 1)
+               err(EXIT_FAILURE, _("failed to read symlink: %s"), path);
+       if (*sym != '/') {
+               char *p = strrchr(path, '/');
+
+               nm->relstart = p ? p - path : strlen(path);
+               sz += nm->relstart + 1;
+       }
+       nm->abslink = malloc(sz + 1);
+       if (!nm->abslink)
+               err(EXIT_FAILURE, _("out of memory?"));
+
+       if (*sym != '/') {
+               /* 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
+               memcpy(nm->abslink, sym, sz);
+       nm->abslink[sz] = '\0';
+}
+
+static struct namei *
+new_namei(struct namei *parent, const char *path, const char *fname, int lev)
+{
+       struct namei *nm;
+
+       if (!fname)
+               return NULL;
+       nm = calloc(1, sizeof(*nm));
+       if (!nm)
+               err(EXIT_FAILURE, _("out of memory?"));
+       if (parent)
+               parent->next = nm;
+
+       nm->level = lev;
+       nm->name = strdup(fname);
+       if (!nm->name)
+               err(EXIT_FAILURE, _("out of memory?"));
+       if (lstat(path, &nm->st) == -1)
+               err(EXIT_FAILURE, _("could not stat '%s'"), path);
+       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 = strdup(orgpath);
+       if (!path)
+               err(EXIT_FAILURE, _("out of memory?"));
+       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;
+               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);
+               }
+               /* set begin of the next filename */
+               if (end) {
+                       *end++ = '/';
+                       while (*end == '/')
+                               end++; /* eat extra '/' */
+               }
+               fname = end;
+       }
+
+       if (last)
+               *last = nm;
+       return first;
+}
+
+
+static int
+follow_symlinks(struct namei *nm)
+{
+       int symcount = 0;
+
+       for (; nm; nm = nm->next) {
+               struct namei *next, *last;
+
+               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 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';
+}
+
+static void
+print_namei(struct namei *nm, char *path)
+{
+       struct namei *prev = NULL;
+       int i;
+
+       if (path)
+               printf("f: %s\n", path);
+
+       for (; nm; prev = nm, nm = nm->next) {
+               char md[11];
+
+               strmode(nm->st.st_mode, md);
+
+               if ((flags & NAMEI_MNTS) && prev &&
+                   S_ISDIR(nm->st.st_mode) && S_ISDIR(prev->st.st_mode) &&
+                   prev->st.st_dev != nm->st.st_dev)
+                       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);
+       }
+}
+
+static void
+usage(int rc)
+{
+       const char *p = program_invocation_short_name;
+
+       if (!*p)
+               p = "namei";
+
+       printf(_("\nUsage: %s [options] pathname [pathname ...]\n"), p);
+       printf(_("\nOptions:\n"));
+
+       printf(_(
+       " -h, --help          displays this help text\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"));
+
+       printf(_("\nFor more information see namei(1).\n"));
+       exit(rc);
+}
+
+struct option longopts[] =
+{
+       { "help",       0, 0, 'h' },
+       { "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)
+{
+       extern int optind;
+       int c;
+
+       setlocale(LC_ALL, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+
+       if (argc < 2)
+               usage(EXIT_FAILURE);
+
+       while ((c = getopt_long(argc, argv, "+h?lmnovx", longopts, NULL)) != -1) {
+               switch(c) {
+               case 'h':
+               case '?':
+                       usage(EXIT_SUCCESS);
+                       break;
+               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;
+               }
+       }
+
+       for(; optind < argc; optind++) {
+               char *path = argv[optind];
+               struct namei *nm = NULL;
+               struct stat st;
+
+               if (stat(path, &st) != 0)
+                       err(EXIT_FAILURE, _("failed to stat: %s"), path);
+
+               nm = add_namei(NULL, path, 0, NULL);
+               if (nm) {
+                       int sml = 0;
+                       if (!(flags & NAMEI_NOLINKS))
+                               sml = follow_symlinks(nm);
+                       print_namei(nm, path);
+                       free_namei(nm);
+                       if (sml == -1)
+                               errx(EXIT_FAILURE,
+                                       _("%s: exceeded limit of symlinks"),
+                                       path);
+               }
+       }
+
+       free_idcache(ucache);
+       free_idcache(gcache);
+
+       return EXIT_SUCCESS;
+}
+
diff --git a/misc-utils/procs.c b/misc-utils/procs.c
new file mode 100644 (file)
index 0000000..3f52387
--- /dev/null
@@ -0,0 +1,123 @@
+/*
+ *  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"
+
+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);
+           if (cp == NULL) continue;
+           fclose (fp);
+           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 *) realloc (pids, sizeof (int) * pids_size);
+       }
+       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 (file)
index 0000000..255832f
--- /dev/null
@@ -0,0 +1,52 @@
+.\" Written by Andries E. Brouwer (aeb@cwi.nl)
+.\" Placed in the public domain
+.\"
+.TH RENAME 1 "1 January 2000" "" "Linux Programmer's Manual"
+.SH NAME
+rename \- Rename files
+.SH SYNOPSIS
+.B rename
+.IR  "from to file" ...
+.br
+.B rename -V
+.SH DESCRIPTION
+.B rename
+will rename the specified files by replacing the first occurrence of
+.I from
+in their name by
+.IR to .
+
+.TP
+.BR \-V , " \-\-version"
+Display version information and exit.
+.TP
+
+For example, given the files
+.IR foo1 ", ..., " foo9 ", " foo10 ", ..., " foo278 ,
+the commands
+
+.RS
+.nf
+rename foo foo0 foo?
+rename foo foo0 foo??
+.fi
+.RE
+
+will turn them into
+.IR foo001 ", ..., " foo009 ", " foo010 ", ..., " foo278 .
+
+And
+.RS
+.nf
+rename .htm .html *.htm
+.fi
+.RE
+
+will fix the extension of your html files.
+
+.SH "SEE ALSO"
+.BR mmv (1),
+.BR mv (1)
+.SH AVAILABILITY
+The rename command is part of the util-linux-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/misc-utils/rename.c b/misc-utils/rename.c
new file mode 100644 (file)
index 0000000..87262b8
--- /dev/null
@@ -0,0 +1,96 @@
+/*
+ * 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 "nls.h"
+
+static char *progname;
+
+static int
+do_rename(char *from, char *to, char *s) {
+       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 = malloc(tlen+slen+1);
+       if (newname == NULL) {
+               fprintf(stderr, _("%s: out of memory\n"), progname);
+               exit(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) {
+               int errsv = errno;
+               fprintf(stderr, _("%s: renaming %s to %s failed: %s\n"),
+                                 progname, s, newname, strerror(errsv));
+               exit(1);
+       }
+
+       return 1;
+}
+
+int
+main(int argc, char **argv) {
+       char *from, *to, *p;
+       int i;
+
+       progname = argv[0];
+       if ((p = strrchr(progname, '/')) != NULL)
+               progname = p+1;
+
+       setlocale(LC_ALL, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+
+       if (argc == 2) {
+               if (!strcmp(argv[1], "-V") || !strcmp(argv[1], "--version")) {
+                       printf(_("%s (%s)\n"),
+                              progname, PACKAGE_STRING);
+                       return 0;
+               }
+       }
+
+       if (argc < 3) {
+               fprintf(stderr, _("call: %s from to files...\n"), progname);
+               exit(1);
+       }
+
+       from = argv[1];
+       to = argv[2];
+
+       for (i=3; i<argc; i++)
+               do_rename(from, to, argv[i]);
+       return 0;
+}
diff --git a/misc-utils/reset b/misc-utils/reset
new file mode 100644 (file)
index 0000000..92d2539
--- /dev/null
@@ -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/misc-utils/reset.033c b/misc-utils/reset.033c
new file mode 100755 (executable)
index 0000000..fb9834d
--- /dev/null
@@ -0,0 +1,11 @@
+#!/bin/sh
+stty sane
+tput clear
+tput rmacs
+tput rmm
+tput rmso
+tput rmul
+tput rs1
+tput rs2
+tput rs3
+echo -e \\033c
diff --git a/misc-utils/reset.1 b/misc-utils/reset.1
new file mode 100644 (file)
index 0000000..99150b6
--- /dev/null
@@ -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 "10 October 1993" "Linux 0.99" "Linux Programmer's Manual"
+.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-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/misc-utils/script.1 b/misc-utils/script.1
new file mode 100644 (file)
index 0000000..e017b63
--- /dev/null
@@ -0,0 +1,147 @@
+.\" 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
+.\"
+.Dd July 30, 2000
+.Dt SCRIPT 1
+.Os Linux
+.Sh NAME
+.Nm script
+.Nd make typescript of terminal session
+.Sh SYNOPSIS
+.Nm script
+.Op Fl a
+.Op Fl c Ar COMMAND
+.Op Fl f
+.Op Fl q
+.Op Fl t
+.Op Ar file
+.Sh DESCRIPTION
+.Nm 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
+.Xr lpr 1 .
+.Pp
+If the argument
+.Ar file
+is given,
+.Nm
+saves all dialogue in
+.Ar file .
+If no file name is given, the typescript is saved in the file
+.Pa typescript  .
+.Pp
+Options:
+.Bl -tag -width Ds
+.It Fl a
+Append the output to
+.Ar file
+or
+.Pa typescript ,
+retaining the prior contents.
+.It Fl c Ar COMMAND
+Run the 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.
+.It Fl f
+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'.
+.It Fl q
+Be quiet.
+.It Fl t
+Output timing data to standard error. 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.
+.El
+.Pp
+The script ends when the forked shell exits (a
+.Em control-D
+to exit
+the Bourne shell
+.Pf ( Xr sh 1 ) ,
+and
+.Em exit , 
+.Em logout
+or
+.Em control-d
+(if
+.Em ignoreeof
+is not set) for the
+C-shell,
+.Xr csh 1 ) .
+.Pp
+Certain interactive commands, such as
+.Xr vi 1 ,
+create garbage in the typescript file.
+.Nm 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
+.Nm script :
+.Bl -tag -width SHELL
+.It Ev SHELL
+If the variable
+.Ev SHELL
+exists, the shell forked by
+.Nm script
+will be that shell. If
+.Ev SHELL
+is not set, the Bourne shell
+is assumed. (Most shells set this variable automatically).
+.El
+.Sh SEE ALSO
+.Xr csh 1
+(for the
+.Em history
+mechanism),
+.Xr scriptreplay 1 .
+.Sh HISTORY
+The
+.Nm script
+command appeared in
+.Bx 3.0 .
+.Sh BUGS
+.Nm Script
+places
+.Sy 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-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/misc-utils/script.c b/misc-utils/script.c
new file mode 100644 (file)
index 0000000..b877c31
--- /dev/null
@@ -0,0 +1,501 @@
+/*
+ * 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/types.h>
+#include <sys/stat.h>
+#include <termios.h>
+#include <sys/ioctl.h>
+#include <sys/time.h>
+#include <sys/file.h>
+#include <signal.h>
+#include <errno.h>
+#include <string.h>
+#include <getopt.h>
+#include <unistd.h>
+
+#include "nls.h"
+
+
+#ifdef HAVE_LIBUTIL
+#include <pty.h>
+#endif
+
+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(void);
+void doshell(void);
+
+char   *shell;
+FILE   *fscript;
+int    master;
+int    slave;
+int    child;
+int    subchild;
+char   *fname;
+
+struct termios tt;
+struct winsize win;
+int    lb;
+int    l;
+#ifndef HAVE_LIBUTIL
+char   line[] = "/dev/ptyXX";
+#endif
+int    aflg = 0;
+char   *cflg = NULL;
+int    fflg = 0;
+int    qflg = 0;
+int    tflg = 0;
+
+static char *progname;
+
+int die;
+int resized;
+
+static void
+die_if_link(char *fn) {
+       struct stat s;
+
+       if (lstat(fn, &s) == 0 && (S_ISLNK(s.st_mode) || s.st_nlink > 1)) {
+               fprintf(stderr,
+                       _("Warning: `%s' is a link.\n"
+                         "Use `%s [options] %s' if you really "
+                         "want to use it.\n"
+                         "Script not started.\n"),
+                       fn, progname, fn);
+               exit(1);
+       }
+}
+
+/*
+ * 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) {
+       struct sigaction sa;
+       extern int optind;
+       char *p;
+       int ch;
+
+       progname = argv[0];
+       if ((p = strrchr(progname, '/')) != NULL)
+               progname = p+1;
+
+
+       setlocale(LC_ALL, "");
+       setlocale(LC_NUMERIC, "C");     /* see comment above */
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+
+       if (argc == 2) {
+               if (!strcmp(argv[1], "-V") || !strcmp(argv[1], "--version")) {
+                       printf(_("%s (%s)\n"),
+                              progname, PACKAGE_STRING);
+                       return 0;
+               }
+       }
+
+       while ((ch = getopt(argc, argv, "ac:fqt")) != -1)
+               switch((char)ch) {
+               case 'a':
+                       aflg++;
+                       break;
+               case 'c':
+                       cflg = optarg;
+                       break;
+               case 'f':
+                       fflg++;
+                       break;
+               case 'q':
+                       qflg++;
+                       break;
+               case 't':
+                       tflg++;
+                       break;
+               case '?':
+               default:
+                       fprintf(stderr,
+                               _("usage: script [-a] [-f] [-q] [-t] [file]\n"));
+                       exit(1);
+               }
+       argc -= optind;
+       argv += optind;
+
+       if (argc > 0)
+               fname = argv[0];
+       else {
+               fname = "typescript";
+               die_if_link(fname);
+       }
+       if ((fscript = fopen(fname, aflg ? "a" : "w")) == NULL) {
+               perror(fname);
+               fail();
+       }
+
+       shell = getenv("SHELL");
+       if (shell == NULL)
+               shell = _PATH_BSHELL;
+
+       getmaster();
+       if (!qflg)
+               printf(_("Script started, file is %s\n"), fname);
+       fixtty();
+
+       sigemptyset(&sa.sa_mask);
+       sa.sa_flags = 0;
+
+       sa.sa_handler = finish;
+       sigaction(SIGCHLD, &sa, NULL);
+
+       child = fork();
+       if (child < 0) {
+               perror("fork");
+               fail();
+       }
+       if (child == 0) {
+               subchild = child = fork();
+               if (child < 0) {
+                       perror("fork");
+                       fail();
+               }
+               if (child)
+                       dooutput();
+               else
+                       doshell();
+       } else {
+               sa.sa_handler = resize;
+               sigaction(SIGWINCH, &sa, NULL);
+       }
+       doinput();
+
+       return 0;
+}
+
+void
+doinput() {
+       register int cc;
+       char ibuf[BUFSIZ];
+
+       (void) fclose(fscript);
+
+       if (die == 0 && child && kill(child, 0) == -1 && errno == ESRCH)
+               die = 1;
+
+       while (die == 0) {
+               if ((cc = read(0, ibuf, BUFSIZ)) > 0) {
+                       ssize_t wrt = write(master, ibuf, cc);
+                       if (wrt == -1) {
+                               int err = errno;
+                               fprintf (stderr, _("%s: write error %d: %s\n"),
+                                       progname, err, strerror(err));
+                               fail();
+                       }
+               }
+               else if (cc == -1 && errno == EINTR && resized)
+                       resized = 0;
+               else
+                       break;
+       }
+
+       done();
+}
+
+#include <sys/wait.h>
+
+void
+finish(int dummy) {
+       int status;
+       register int pid;
+
+       while ((pid = wait3(&status, WNOHANG, 0)) > 0)
+               if (pid == child)
+                       die = 1;
+}
+
+void
+resize(int dummy) {
+       resized = 1;
+       /* transmit window change information to the child */
+       (void) ioctl(0, TIOCGWINSZ, (char *)&win);
+       (void) 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
+dooutput() {
+       register ssize_t cc;
+       time_t tvec;
+       char obuf[BUFSIZ];
+       struct timeval tv;
+       double oldtime=time(NULL), newtime;
+       int flgs = 0;
+       ssize_t wrt;
+       size_t fwrt;
+
+       (void) close(0);
+#ifdef HAVE_LIBUTIL
+       (void) close(slave);
+#endif
+       tvec = time((time_t *)NULL);
+       my_strftime(obuf, sizeof obuf, "%c\n", localtime(&tvec));
+       fprintf(fscript, _("Script started on %s"), obuf);
+
+       if (die == 0 && child && kill(child, 0) == -1 && errno == ESRCH)
+               /*
+                * the SIGCHLD handler could be executed when the "child"
+                * variable is not set yet. It means that the "die" is zero
+                * althought the child process is already done. We have to
+                * check this thing now. Now we have the "child" variable
+                * already initialized. For more details see main() and
+                * finish().  --kzak 07-Aug-2007
+                */
+               die = 1;
+
+       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(stderr, "%f %zd\n", newtime - oldtime, cc);
+                       oldtime = newtime;
+               }
+               wrt = write(1, obuf, cc);
+               if (wrt < 0) {
+                       int err = errno;
+                       fprintf (stderr, _("%s: write error: %s\n"),
+                               progname, strerror(err));
+                       fail();
+               }
+               fwrt = fwrite(obuf, 1, cc, fscript);
+               if (fwrt < cc) {
+                       int err = errno;
+                       fprintf (stderr, _("%s: cannot write script file, error: %s\n"),
+                               progname, strerror(err));
+                       fail();
+               }
+               if (fflg)
+                       (void) fflush(fscript);
+       } while(1);
+
+       if (flgs)
+               fcntl(master, F_SETFL, flgs);
+       done();
+}
+
+void
+doshell() {
+       char *shname;
+
+#if 0
+       int t;
+
+       t = open(_PATH_DEV_TTY, O_RDWR);
+       if (t >= 0) {
+               (void) ioctl(t, TIOCNOTTY, (char *)0);
+               (void) close(t);
+       }
+#endif
+
+       getslave();
+       (void) close(master);
+       (void) fclose(fscript);
+       (void) dup2(slave, 0);
+       (void) dup2(slave, 1);
+       (void) dup2(slave, 2);
+       (void) close(slave);
+
+       shname = strrchr(shell, '/');
+       if (shname)
+               shname++;
+       else
+               shname = shell;
+
+       if (cflg)
+               execl(shell, shname, "-c", cflg, NULL);
+       else
+               execl(shell, shname, "-i", NULL);
+
+       perror(shell);
+       fail();
+}
+
+void
+fixtty() {
+       struct termios rtt;
+
+       rtt = tt;
+       cfmakeraw(&rtt);
+       rtt.c_lflag &= ~ECHO;
+       (void) tcsetattr(0, TCSANOW, &rtt);
+}
+
+void
+fail() {
+
+       (void) kill(0, SIGTERM);
+       done();
+}
+
+void
+done() {
+       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);
+               }
+               (void) fclose(fscript);
+               (void) close(master);
+       } else {
+               (void) tcsetattr(0, TCSADRAIN, &tt);
+               if (!qflg)
+                       printf(_("Script done, file is %s\n"), fname);
+       }
+       exit(0);
+}
+
+void
+getmaster() {
+#ifdef HAVE_LIBUTIL
+       (void) tcgetattr(0, &tt);
+       (void) ioctl(0, TIOCGWINSZ, (char *)&win);
+       if (openpty(&master, &slave, NULL, &tt, &win) < 0) {
+               fprintf(stderr, _("openpty failed\n"));
+               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) {
+                                       (void) tcgetattr(0, &tt);
+                                       (void) ioctl(0, TIOCGWINSZ, 
+                                               (char *)&win);
+                                       return;
+                               }
+                               (void) close(master);
+                       }
+               }
+       }
+       fprintf(stderr, _("Out of pty's\n"));
+       fail();
+#endif /* not HAVE_LIBUTIL */
+}
+
+void
+getslave() {
+#ifndef HAVE_LIBUTIL
+       line[strlen("/dev/")] = 't';
+       slave = open(line, O_RDWR);
+       if (slave < 0) {
+               perror(line);
+               fail();
+       }
+       (void) tcsetattr(slave, TCSANOW, &tt);
+       (void) ioctl(slave, TIOCSWINSZ, (char *)&win);
+#endif
+       (void) setsid();
+       (void) ioctl(slave, TIOCSCTTY, 0);
+}
diff --git a/misc-utils/scriptreplay.1 b/misc-utils/scriptreplay.1
new file mode 100644 (file)
index 0000000..3aa7b6b
--- /dev/null
@@ -0,0 +1,218 @@
+.\" Automatically generated by Pod::Man version 1.02
+.\" Mon Sep  3 02:16:06 2001
+.\"
+.\" Standard preamble:
+.\" ======================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+
+.fi
+..
+.\" Set up some character translations and predefined strings.  \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote.  | will give a
+.\" real vertical bar.  \*(C+ will give a nicer C++.  Capital omega is used
+.\" to do unbreakable dashes and therefore won't be available.  \*(C` and
+.\" \*(C' expand to `' in nroff, nothing in troff, for use with C<>
+.tr \(*W-|\(bv\*(Tr
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+.    ds -- \(*W-
+.    ds PI pi
+.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
+.    ds L" ""
+.    ds R" ""
+.    ds C` `
+.    ds C' '
+'br\}
+.el\{\
+.    ds -- \|\(em\|
+.    ds PI \(*p
+.    ds L" ``
+.    ds R" ''
+'br\}
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr
+.\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and
+.\" index entries marked with X<> in POD.  Of course, you'll have to process
+.\" the output yourself in some meaningful fashion.
+.if \nF \{\
+.    de IX
+.    tm Index:\\$1\t\\n%\t"\\$2"
+.    .
+.    nr % 0
+.    rr F
+.\}
+.\"
+.\" For nroff, turn off justification.  Always turn off hyphenation; it
+.\" makes way too many mistakes in technical documents.
+.hy 0
+.if n .na
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
+.bd B 3
+.    \" fudge factors for nroff and troff
+.if n \{\
+.    ds #H 0
+.    ds #V .8m
+.    ds #F .3m
+.    ds #[ \f1
+.    ds #] \fP
+.\}
+.if t \{\
+.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+.    ds #V .6m
+.    ds #F 0
+.    ds #[ \&
+.    ds #] \&
+.\}
+.    \" simple accents for nroff and troff
+.if n \{\
+.    ds ' \&
+.    ds ` \&
+.    ds ^ \&
+.    ds , \&
+.    ds ~ ~
+.    ds /
+.\}
+.if t \{\
+.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+.    \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+.    \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+.    \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+.    ds : e
+.    ds 8 ss
+.    ds o a
+.    ds d- d\h'-1'\(ga
+.    ds D- D\h'-1'\(hy
+.    ds th \o'bp'
+.    ds Th \o'LP'
+.    ds ae ae
+.    ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ======================================================================
+.\"
+.IX Title "REPLAY 1"
+.TH REPLAY 1 "perl v5.6.0" "2001-09-03" "User Contributed Perl Documentation"
+.UC
+.SH "NAME"
+scriptreplay \- play back typescripts, using timing information
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+.B scriptreplay
+.I timingfile
+.RI [ typescript
+.RI [ divisor ]]
+.SH "DESCRIPTION"
+.IX Header "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 timings 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 \*(L"typescript\*(R",
+but other filenames may be specified, as the second parameter.
+.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 "EXAMPLE"
+.IX Header "EXAMPLE"
+.Vb 7
+\& % script -t 2> timingfile
+\& Script started, file is typescript
+\& % ls
+\& <etc, etc>
+\& % exit
+\& Script done, file is typescript
+\& % scriptreplay timingfile
+.Ve
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+.BR script (1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+Copyright \(co 2008 James Youngman
+.PP
+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"
+.IX Header "AUTHOR"
+The original
+.B scriptreplay
+program was written by Joey Hess <joey@kitenet.net>.
+The program was re-written in C by James Youngman <jay@gnu.org> and Karel Zak <kzak@redhat.com>.
+.SH AVAILABILITY
+The
+.B scriptreplay
+command is part of the util-linux-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/misc-utils/scriptreplay.c b/misc-utils/scriptreplay.c
new file mode 100644 (file)
index 0000000..e13edf3
--- /dev/null
@@ -0,0 +1,182 @@
+/*
+ * 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 <err.h>
+
+#include "nls.h"
+
+#define SCRIPT_MIN_DELAY 0.0001                /* from original sripreplay.pl */
+
+void __attribute__((__noreturn__))
+usage(int rc)
+{
+       printf(_("%s <timingfile> [<typescript> [<divisor>]]\n"),
+                       program_invocation_short_name);
+       exit(rc);
+}
+
+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, *tname;
+       double divi;
+       int c;
+       unsigned long line;
+       size_t oldblk = 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);
+
+       if (argc < 2 && argc > 4)
+               usage(EXIT_FAILURE);
+
+       tname = argv[1];
+       sname = argc > 2 ? argv[2] : "typescript";
+       divi = argc == 4 ? getnum(argv[3]) : 1;
+
+       tfile = fopen(tname, "r");
+       if (!tfile)
+               err(EXIT_FAILURE, _("cannot open timing file %s"), tname);
+       sfile = fopen(sname, "r");
+       if (!sfile)
+               err(EXIT_FAILURE, _("cannot open typescript file %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 %zd%[\n]\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);
+       exit(EXIT_SUCCESS);
+}
diff --git a/misc-utils/setterm.1 b/misc-utils/setterm.1
new file mode 100644 (file)
index 0000000..217e18a
--- /dev/null
@@ -0,0 +1,207 @@
+.\" 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 "7 January 2000" "Util-Linux 2.10" "Linux Programmer's Manual"
+.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 \-term " terminal_name"
+Overrides the TERM environment variable.
+.TP
+.B \-reset
+Displays the terminal reset string, which typically resets the terminal to
+its power on state.
+.TP
+.B \-initialize
+Displays the terminal initialization string, which typically sets the
+terminal's rendering options, and other attributes to the default values.
+.TP
+.BR \-cursor " [" on | off ]
+Turns the terminal's cursor on or off.
+.TP
+.BR \-repeat " [" on | off "] (virtual consoles only)"
+Turns keyboard repeat on or off.
+.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 \-linewrap " [" on | off "] (virtual consoles only)"
+Turns automatic line-wrapping on or off.
+.TP
+.B \-default
+Sets the terminal's rendering options to the default values.
+.TP
+\fB\-foreground\fP \fI8-color\fP|\fBdefault\fP (virtual consoles only)
+Sets the foreground text color.
+.TP
+\fB\-background\fP \fI8-color\fP|\fBdefault\fP (virtual consoles only)
+Sets the background text color.
+.TP
+\fB\-ulcolor\fP \fI16-color\fP (virtual consoles only)
+Sets the color for underlined characters.
+.TP
+\fB\-hbcolor\fP \fI16-color\fP (virtual consoles only)
+Sets the color for half-bright characters.
+.TP
+.BR \-inversescreen " [" on | off "] (virtual consoles only)"
+Inverts the screen colors.  Foreground and background are swapped, as are
+underline and half-brightness.
+.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 \-half-bright " [" on | off ]
+Turns dim (half-brightness) mode on or off (see \fB\-hbcolor\fP). Except at
+a virtual console, \fB\-half-bright off\fP turns off all attributes (bold,
+half-brightness, blink, reverse).
+.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 \-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 \-underline " [" on | off ]
+Turns underline mode on or off (see \fB\-ulcolor\fP).
+.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 \-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 \-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 \-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 \-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 \-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 \-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.
+.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 "\-powersave on" | vsync
+Puts the monitor into VESA vsync suspend mode.
+.TP
+.B \-powersave hsync
+Puts the monitor into VESA hsync suspend mode.
+.TP
+.B \-powersave powerdown
+Puts the monitor into VESA powerdown mode.
+.TP
+.BR \-powersave " [" off "]"
+Turns off monitor VESA powersaving features.
+.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 \-blength " [\fI0-2000\fP]"
+Sets the bell duration in milliseconds.  Without an argument, defaults to 0.
+.TP
+.BR \-bfreq " [\fIfreqnumber\fP]"
+Sets the bell frequency in Hz.  Without an argument, defaults to 0.
+.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-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/misc-utils/setterm.c b/misc-utils/setterm.c
new file mode 100644 (file)
index 0000000..2646fc3
--- /dev/null
@@ -0,0 +1,1280 @@
+/* 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 ]
+ *
+ *
+ * Semantics:
+ *
+ * Setterm writes to standard output a character string that will
+ * invoke the specified terminal capabilities.  Where possibile
+ * 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 "nls.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. */
+
+/* General constants. */
+#ifndef TRUE
+#define TRUE  1
+#define FALSE 0
+#endif
+
+/* 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[200] = "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 **opt_term, int *bad_arg) {
+       /* argc: Number of arguments for this option. */
+       /* argv: Arguments for this option. */
+       /* option: Term flag to set. */
+       /* opt_term: 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)
+               *opt_term = argv[0];
+}
+
+static void
+parse_none(int argc, char **argv, 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;
+       if (argc == 1)
+               strcpy((char *)opt_all, argv[0]);
+}
+
+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');
+       }
+}
+
+
+#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
+               *bad_arg = TRUE;
+}
+
+/* End of command line parsing routines. */
+
+static void
+usage(char *prog_name) {
+/* Print error message about arguments, and the command's syntax. */
+
+       fprintf(stderr, _("%s: Argument error, usage\n"), prog_name);
+       fprintf(stderr, "\n");
+       fprintf(stderr, "%s\n", prog_name);
+       fprintf(stderr, _("  [ -term terminal_name ]\n"));
+       fprintf(stderr, _("  [ -reset ]\n"));
+       fprintf(stderr, _("  [ -initialize ]\n"));
+       fprintf(stderr, _("  [ -cursor [on|off] ]\n"));
+#if 0
+       fprintf(stderr, _("  [ -snow [on|off] ]\n"));
+       fprintf(stderr, _("  [ -softscroll [on|off] ]\n"));
+#endif
+       fprintf(stderr, _("  [ -repeat [on|off] ]\n"));
+       fprintf(stderr, _("  [ -appcursorkeys [on|off] ]\n"));
+       fprintf(stderr, _("  [ -linewrap [on|off] ]\n"));
+       fprintf(stderr, _("  [ -default ]\n"));
+       fprintf(stderr, _("  [ -foreground black|blue|green|cyan"));
+       fprintf(stderr, _("|red|magenta|yellow|white|default ]\n"));
+       fprintf(stderr, _("  [ -background black|blue|green|cyan"));
+       fprintf(stderr, _("|red|magenta|yellow|white|default ]\n"));
+       fprintf(stderr, _("  [ -ulcolor black|grey|blue|green|cyan"));
+       fprintf(stderr, _("|red|magenta|yellow|white ]\n"));
+       fprintf(stderr, _("  [ -ulcolor bright blue|green|cyan"));
+       fprintf(stderr, _("|red|magenta|yellow|white ]\n"));
+       fprintf(stderr, _("  [ -hbcolor black|grey|blue|green|cyan"));
+       fprintf(stderr, _("|red|magenta|yellow|white ]\n"));
+       fprintf(stderr, _("  [ -hbcolor bright blue|green|cyan"));
+       fprintf(stderr, _("|red|magenta|yellow|white ]\n"));
+#if 0
+       fprintf(stderr, _("  [ -standout [ attr ] ]\n"));
+#endif
+       fprintf(stderr, _("  [ -inversescreen [on|off] ]\n"));
+       fprintf(stderr, _("  [ -bold [on|off] ]\n"));
+       fprintf(stderr, _("  [ -half-bright [on|off] ]\n"));
+       fprintf(stderr, _("  [ -blink [on|off] ]\n"));
+       fprintf(stderr, _("  [ -reverse [on|off] ]\n"));
+       fprintf(stderr, _("  [ -underline [on|off] ]\n"));
+       fprintf(stderr, _("  [ -store ]\n"));
+       fprintf(stderr, _("  [ -clear [all|rest] ]\n"));
+       fprintf(stderr, _("  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n"));
+       fprintf(stderr, _("  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n"));
+       fprintf(stderr, _("  [ -regtabs [1-160] ]\n"));
+       fprintf(stderr, _("  [ -blank [0-60|force|poke] ]\n"));
+       fprintf(stderr, _("  [ -dump   [1-NR_CONSOLES] ]\n"));
+       fprintf(stderr, _("  [ -append [1-NR_CONSOLES] ]\n"));
+       fprintf(stderr, _("  [ -file dumpfilename ]\n"));
+       fprintf(stderr, _("  [ -msg [on|off] ]\n"));
+       fprintf(stderr, _("  [ -msglevel [0-8] ]\n"));
+       fprintf(stderr, _("  [ -powersave [on|vsync|hsync|powerdown|off] ]\n"));
+       fprintf(stderr, _("  [ -powerdown [0-60] ]\n"));
+       fprintf(stderr, _("  [ -blength [0-2000] ]\n"));
+       fprintf(stderr, _("  [ -bfreq freqnumber ]\n"));
+}
+
+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))
+                               fprintf(stderr,_("cannot force blank\n"));
+               } else if (opt_bl_min == UNBLANKSCREEN) {
+                       char ioctlarg = TIOCL_UNBLANKSCREEN;
+                       if (ioctl(0,TIOCLINUX,&ioctlarg))
+                               fprintf(stderr,_("cannot force unblank\n"));
+               } else if (opt_bl_min == BLANKEDSCREEN) {
+                       char ioctlarg = TIOCL_BLANKEDSCREEN;
+                       int ret;
+                       ret = ioctl(0,TIOCLINUX,&ioctlarg);
+                       if (ret < 0)
+                               fprintf(stderr,_("cannot get blank status\n"));
+                       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))
+                       fprintf(stderr,_("cannot (un)set powersave mode\n"));
+       }
+
+       /* -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) {
+                       perror(opt_sn_name);
+                       fprintf(stderr,("setterm: can not open dump file %s for output\n"),
+                               opt_sn_name); 
+                       exit(-1);
+               }
+               screendump(opt_sn_num, F);
+               fclose(F);
+       }
+
+       /* -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)
+                       printf(_("klogctl error: %s\n"), strerror(errno));
+       }
+
+       /* -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)
+                       printf(_("klogctl error: %s\n"), strerror(errno));
+       }
+
+       /* -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, 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 = malloc(rows*cols*2);
+    outbuf = malloc(rows*(cols+1));
+    if(!inbuf || !outbuf) {
+       fputs(_("Out of memory"), stderr);
+       goto error;
+    }
+    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) != q-outbuf) {
+       fprintf(stderr, _("Error writing screendump\n"));
+       goto error;
+    }
+    close(fd);
+    return;
+
+read_error:
+    fprintf(stderr, _("Couldn't read %s\n"), infile);
+error:
+    if (fd >= 0)
+           close(fd);
+    exit(1);
+}
+
+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. */
+
+       setlocale(LC_ALL, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+  
+       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(argv[0]);
+               exit(1);
+       }
+
+       /* Find out terminal name. */
+
+       if (opt_term) {
+               term = opt_te_terminal_name;
+       } else {
+               term = getenv("TERM");
+               if (term == NULL) {
+                       fprintf(stderr, _("%s: $TERM is not defined.\n"),
+                               argv[0]);
+                       exit(1);
+               }
+       }
+
+       /* Find terminfo entry. */
+
+       setupterm(term, 1, (int *)0);
+
+       /* 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 0;
+}
diff --git a/misc-utils/uuidd.8 b/misc-utils/uuidd.8
new file mode 100644 (file)
index 0000000..33e650f
--- /dev/null
@@ -0,0 +1,80 @@
+.\" -*- 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 "May 2009" "Linux"
+.SH NAME
+uuidd \- UUID generation daemon
+.SH SYNOPSIS
+.B uuidd
+.RB [ \-d ]
+.RB [ \-p
+.IR pidfile ]
+.RB [ \-s
+.IR socketpath ]
+.RB [ \-T
+.IR timeout ]
+.br
+.B uuidd
+.RB [ \-r | \-t ]
+.RB [ \-n
+.IR number ]
+.RB [ \-s
+.IR socketpath ]
+.br
+.B uuidd \-k
+.SH DESCRIPTION
+The
+.B uuidd
+daemon is used by the UUID library to generate
+universally unique identifiers (UUIDs), especially time-based UUID's
+in a secure and guaranteed-unique fashion, even in the face of large
+numbers of threads trying to grab UUID's running on different CPU's.
+.SH OPTIONS
+.TP
+.B \-d
+Run
+.B uuidd
+in debugging mode.  This prevents uuidd from running as a daemon.
+.TP
+.B \-k
+If a currently uuidd daemon is running, kill it.
+.TP
+.BI \-n " number"
+When issuing a test request to a running uuidd, request a bulk response
+of
+.I number
+UUID's.
+.TP
+.BI \-p  " pidfile"
+Specify the pathname where the pid file should be written.  By default,
+the pid file is written to /var/run/uuidd/uuidd.pid.
+.TP
+.BI \-s " socketpath"
+Specify the pathname used for the unix-domain socket used by uuidd.  By
+default, the pathname used is /var/run/uuidd/request.  This is primarily
+for debugging purposes, since the pathname is hard-coded in the libuuid
+library.
+.TP
+.B \-r
+Test uuidd by trying to connect to a running uuidd daemon and
+request it to return a random-based UUID.
+.TP
+.B \-t
+Test uuidd by trying to connect to a running uuidd daemon and
+request it to return a time-based UUID.
+.TP
+.BI \-T " timeout"
+Specify a timeout for uuidd.  If specified, then uuidd will exit after
+.I timeout
+seconds of inactivity.
+.SH AUTHOR
+The
+.B uuidd
+daemon  was written by Theodore Ts'o <tytso@mit.edu>.
+.SH AVAILABILITY
+uuidd is part of the util-linux-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
+.SH "SEE ALSO"
+.BR libuuid (3),
+.BR uuidgen (1)
diff --git a/misc-utils/uuidd.c b/misc-utils/uuidd.c
new file mode 100644 (file)
index 0000000..74bab69
--- /dev/null
@@ -0,0 +1,588 @@
+/*
+ * 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 <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 "nls.h"
+
+#ifdef __GNUC__
+#define CODE_ATTR(x) __attribute__(x)
+#else
+#define CODE_ATTR(x)
+#endif
+
+static void usage(const char *progname)
+{
+       fprintf(stderr, _("Usage: %s [-d] [-p pidfile] [-s socketpath] "
+                         "[-T timeout]\n"), progname);
+       fprintf(stderr, _("       %s [-r|t] [-n num] [-s socketpath]\n"),
+               progname);
+       fprintf(stderr, _("       %s -k\n"), progname);
+       exit(1);
+}
+
+static void die(const char *msg)
+{
+       perror(msg);
+       exit(1);
+}
+
+static void create_daemon(void)
+{
+       pid_t pid;
+       uid_t euid;
+
+       pid = fork();
+       if (pid == -1) {
+               perror("fork");
+               exit(1);
+       } else if (pid != 0) {
+           exit(0);
+       }
+
+       close(0);
+       close(1);
+       close(2);
+       open("/dev/null", O_RDWR);
+       open("/dev/null", O_RDWR);
+       open("/dev/null", O_RDWR);
+
+       if (chdir("/")) {}      /* Silence warn_unused_result warning */
+       (void) setsid();
+       euid = geteuid();
+       if (setreuid(euid, euid) < 0)
+               die("setreuid");
+}
+
+static 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;
+}
+
+static int write_all(int fd, char *buf, size_t count)
+{
+       ssize_t ret;
+       int c = 0;
+
+       while (count > 0) {
+               ret = write(fd, buf, count);
+               if (ret < 0) {
+                       if ((errno == EAGAIN) || (errno == EINTR))
+                               continue;
+                       return -1;
+               }
+               count -= ret;
+               buf += ret;
+               c += ret;
+       }
+       return c;
+}
+
+static const char *cleanup_pidfile, *cleanup_socket;
+
+static void terminate_intr(int signo CODE_ATTR((unused)))
+{
+       (void) unlink(cleanup_pidfile);
+       if (cleanup_socket)
+               (void) unlink(cleanup_socket);
+       exit(0);
+}
+
+static int call_daemon(const char *socket_path, int op, char *buf,
+                      int 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 == 4) || (op == 5)) && !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 == 5) {
+               if ((*num)*16 > buflen-4)
+                       *num = (buflen-4) / 16;
+       }
+       op_buf[0] = op;
+       op_len = 1;
+       if ((op == 4) || (op == 5)) {
+               memcpy(op_buf+1, num, sizeof(int));
+               op_len += sizeof(int);
+       }
+
+       ret = write_all(s, op_buf, op_len);
+       if (ret < op_len) {
+               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 || 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 == 4)) {
+               if (reply_len >= (int) (16+sizeof(int)))
+                       memcpy(buf+16, num, sizeof(int));
+               else
+                       *num = -1;
+       }
+       if ((ret > 0) && (op == 5)) {
+               if (*num >= (int) sizeof(int))
+                       memcpy(buf, num, sizeof(int));
+               else
+                       *num = -1;
+       }
+
+       close(s);
+
+       return ret;
+}
+
+static void server_loop(const char *socket_path, const char *pidfile_path,
+                       int debug, int timeout, int quiet)
+{
+       struct sockaddr_un      my_addr, from_addr;
+       struct flock            fl;
+       socklen_t               fromlen;
+       int32_t                 reply_len = 0;
+       uuid_t                  uu;
+       mode_t                  save_umask;
+       char                    reply_buf[1024], *cp;
+       char                    op, str[37];
+       int                     i, s, ns, len, num;
+       int                     fd_pidfile, ret;
+
+       fd_pidfile = open(pidfile_path, O_CREAT | O_RDWR, 0664);
+       if (fd_pidfile < 0) {
+               if (!quiet)
+                       fprintf(stderr, "Failed to open/create %s: %s\n",
+                               pidfile_path, strerror(errno));
+               exit(1);
+       }
+       cleanup_pidfile = pidfile_path;
+       cleanup_socket = 0;
+       signal(SIGALRM, terminate_intr);
+       alarm(30);
+       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: %s\n",
+                               pidfile_path, strerror(errno));
+               exit(1);
+       }
+       ret = call_daemon(socket_path, 0, reply_buf, sizeof(reply_buf), 0, 0);
+       if (ret > 0) {
+               if (!quiet)
+                       printf(_("uuidd daemon already running at pid %s\n"),
+                              reply_buf);
+               exit(1);
+       }
+       alarm(0);
+
+       if ((s = socket(AF_UNIX, SOCK_STREAM, 0)) < 0) {
+               if (!quiet)
+                       fprintf(stderr, _("Couldn't create unix stream "
+                                         "socket: %s"), strerror(errno));
+               exit(1);
+       }
+
+       /*
+        * Make sure the socket isn't using fd numbers 0-2 to avoid it
+        * getting closed by create_daemon()
+        */
+       while (!debug && s <= 2) {
+               s = dup(s);
+               if (s < 0) {
+                       perror("dup");
+                       exit(1);
+               }
+       }
+
+       /*
+        * 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';
+       (void) 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: %s\n"),
+                               socket_path, strerror(errno));
+               exit(1);
+       }
+       (void) umask(save_umask);
+
+       if (listen(s, 5) < 0) {
+               if (!quiet)
+                       fprintf(stderr, _("Couldn't listen on unix "
+                                         "socket %s: %s\n"), socket_path,
+                               strerror(errno));
+               exit(1);
+       }
+
+       cleanup_socket = socket_path;
+       if (!debug)
+               create_daemon();
+       signal(SIGHUP, terminate_intr);
+       signal(SIGINT, terminate_intr);
+       signal(SIGTERM, terminate_intr);
+       signal(SIGALRM, terminate_intr);
+       signal(SIGPIPE, SIG_IGN);
+
+       sprintf(reply_buf, "%8d\n", getpid());
+       if (ftruncate(fd_pidfile, 0)) {} /* Silence warn_unused_result */
+       write_all(fd_pidfile, reply_buf, strlen(reply_buf));
+       if (fd_pidfile > 1)
+               close(fd_pidfile); /* Unlock the pid file */
+
+       while (1) {
+               fromlen = sizeof(from_addr);
+               if (timeout > 0)
+                       alarm(timeout);
+               ns = accept(s, (struct sockaddr *) &from_addr, &fromlen);
+               alarm(0);
+               if (ns < 0) {
+                       if ((errno == EAGAIN) || (errno == EINTR))
+                               continue;
+                       perror("accept");
+                       exit(1);
+               }
+               len = read(ns, &op, 1);
+               if (len != 1) {
+                       if (len < 0)
+                               perror("read");
+                       else
+                               printf(_("Error reading from client, "
+                                        "len = %d\n"), len);
+                       goto shutdown_socket;
+               }
+               if ((op == 4) || (op == 5)) {
+                       if (read_all(ns, (char *) &num, sizeof(num)) != 4)
+                               goto shutdown_socket;
+                       if (debug)
+                               printf(_("operation %d, incoming num = %d\n"),
+                                      op, num);
+               } else if (debug)
+                       printf("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 (debug) {
+                               uuid_unparse(uu, str);
+                               printf(_("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 (debug) {
+                               uuid_unparse(uu, str);
+                               printf(_("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 (debug) {
+                               uuid_unparse(uu, str);
+                               printf(_("Generated time UUID %s and %d "
+                                        "following\n"), str, num);
+                       }
+                       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*16 > (int) (sizeof(reply_buf)-sizeof(num)))
+                               num = (sizeof(reply_buf)-sizeof(num)) / 16;
+                       uuid__generate_random((unsigned char *) reply_buf +
+                                             sizeof(num), &num);
+                       if (debug) {
+                               printf(_("Generated %d UUID's:\n"), num);
+                               for (i=0, cp=reply_buf+sizeof(num);
+                                    i < num; i++, cp+=16) {
+                                       uuid_unparse((unsigned char *)cp, str);
+                                       printf("\t%s\n", str);
+                               }
+                       }
+                       reply_len = (num*16) + sizeof(num);
+                       memcpy(reply_buf, &num, sizeof(num));
+                       break;
+               default:
+                       if (debug)
+                               printf(_("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);
+       }
+}
+
+int main(int argc, char **argv)
+{
+       const char      *socket_path = UUIDD_SOCKET_PATH;
+       const char      *pidfile_path = UUIDD_PIDFILE_PATH;
+       const char      *err_context;
+       char            buf[1024], *cp;
+       char            str[37], *tmp;
+       uuid_t          uu;
+       uid_t           uid;
+       gid_t           gid;
+       int             i, c, ret;
+       int             debug = 0, do_type = 0, do_kill = 0, num = 0;
+       int             timeout = 0, quiet = 0, drop_privs = 0;
+
+       setlocale(LC_ALL, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+
+       while ((c = getopt (argc, argv, "dkn:qp:s:tT:r")) != EOF) {
+               switch (c) {
+               case 'd':
+                       debug++;
+                       drop_privs = 1;
+                       break;
+               case 'k':
+                       do_kill++;
+                       drop_privs = 1;
+                       break;
+               case 'n':
+                       num = strtol(optarg, &tmp, 0);
+                       if ((num < 0) || *tmp) {
+                               fprintf(stderr, _("Bad number: %s\n"), optarg);
+                               exit(1);
+                       }
+               case 'p':
+                       pidfile_path = optarg;
+                       drop_privs = 1;
+                       break;
+               case 'q':
+                       quiet++;
+                       break;
+               case 's':
+                       socket_path = optarg;
+                       drop_privs = 1;
+                       break;
+               case 't':
+                       do_type = UUIDD_OP_TIME_UUID;
+                       drop_privs = 1;
+                       break;
+               case 'T':
+                       timeout = strtol(optarg, &tmp, 0);
+                       if ((timeout < 0) || *tmp) {
+                               fprintf(stderr, _("Bad number: %s\n"), optarg);
+                               exit(1);
+                       }
+                       break;
+               case 'r':
+                       do_type = UUIDD_OP_RANDOM_UUID;
+                       drop_privs = 1;
+                       break;
+               default:
+                       usage(argv[0]);
+               }
+       }
+       uid = getuid();
+       if (uid && drop_privs) {
+               gid = getgid();
+#ifdef HAVE_SETRESGID
+               if (setresgid(gid, gid, gid) < 0)
+                       die("setresgid");
+#else
+               if (setregid(gid, gid) < 0)
+                       die("setregid");
+#endif
+
+#ifdef HAVE_SETRESUID
+               if (setresuid(uid, uid, uid) < 0)
+                       die("setresuid");
+#else
+               if (setreuid(uid, uid) < 0)
+                       die("setreuid");
+#endif
+       }
+       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): %s\n"),
+                              err_context, strerror(errno));
+                       exit(1);
+               }
+               if (do_type == UUIDD_OP_TIME_UUID) {
+                       if (ret != sizeof(uu) + sizeof(num))
+                               goto unexpected_size;
+
+                       uuid_unparse((unsigned char *) buf, str);
+
+                       printf(_("%s and subsequent %d UUID's\n"), str, num);
+               } else {
+                       printf(_("List of UUID's:\n"));
+                       cp = buf + 4;
+                       if (ret != (int) (sizeof(num) + num*sizeof(uu)))
+                               goto unexpected_size;
+                       for (i=0; i < num; i++, cp+=16) {
+                               uuid_unparse((unsigned char *) cp, str);
+                               printf("\t%s\n", str);
+                       }
+               }
+               exit(0);
+       }
+       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): %s\n"),
+                              err_context, strerror(errno));
+                       exit(1);
+               }
+               if (ret != sizeof(uu)) {
+               unexpected_size:
+                       printf(_("Unexpected reply length from server %d\n"),
+                              ret);
+                       exit(1);
+               }
+               uuid_unparse(uu, str);
+
+               printf("%s\n", str);
+               exit(0);
+       }
+
+       if (do_kill) {
+               ret = call_daemon(socket_path, 0, buf, sizeof(buf), 0, 0);
+               if ((ret > 0) && ((do_kill = atoi((char *) buf)) > 0)) {
+                       ret = kill(do_kill, SIGTERM);
+                       if (ret < 0) {
+                               if (!quiet)
+                                       fprintf(stderr,
+                                               _("Couldn't kill uuidd running "
+                                                 "at pid %d: %s\n"), do_kill,
+                                               strerror(errno));
+                               exit(1);
+                       }
+                       if (!quiet)
+                               printf(_("Killed uuidd running at pid %d\n"),
+                                      do_kill);
+               }
+               exit(0);
+       }
+
+       server_loop(socket_path, pidfile_path, debug, timeout, quiet);
+       return 0;
+}
diff --git a/misc-utils/uuidd.rc b/misc-utils/uuidd.rc
new file mode 100644 (file)
index 0000000..dbdd5f5
--- /dev/null
@@ -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=/var/run/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 ; 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/uuidgen.1 b/misc-utils/uuidgen.1
new file mode 100644 (file)
index 0000000..18e33de
--- /dev/null
@@ -0,0 +1,58 @@
+.\" 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 "May 2009" "Linux"
+.SH NAME
+uuidgen \- command\-line utility to create a new UUID value
+.SH SYNOPSIS
+.B uuidgen
+.RB [ \-r | \-t ]
+.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 UUID's which
+.B uuidgen
+can generate: time-based UUID's and random-based UUID's.  By
+default
+.B uuidgen
+will generate a random-based UUID if a high-quality random number
+generator is present.  Otherwise, it will chose 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
+.B \-r
+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
+.B \-t
+Generate a time-based UUID.  This method creates a UUID based on the system
+clock plus the system's ethernet hardware address, if present.
+.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-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
+.SH "SEE ALSO"
+.BR libuuid (3)
diff --git a/misc-utils/uuidgen.c b/misc-utils/uuidgen.c
new file mode 100644 (file)
index 0000000..3cf6ec9
--- /dev/null
@@ -0,0 +1,77 @@
+/*
+ * 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"
+
+#define DO_TYPE_TIME   1
+#define DO_TYPE_RANDOM 2
+
+static void usage(const char *progname)
+{
+       fprintf(stderr, _("Usage: %s [-r] [-t]\n"), progname);
+       exit(1);
+}
+
+int
+main (int argc, char *argv[])
+{
+       int    c;
+       int    do_type = 0;
+       char   str[37];
+       uuid_t uu;
+
+       setlocale(LC_ALL, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+
+       while ((c = getopt (argc, argv, "tr")) != EOF)
+               switch (c) {
+               case 't':
+                       do_type = DO_TYPE_TIME;
+                       break;
+               case 'r':
+                       do_type = DO_TYPE_RANDOM;
+                       break;
+               default:
+                       usage(argv[0]);
+               }
+
+       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 0;
+}
diff --git a/misc-utils/whereis.1 b/misc-utils/whereis.1
new file mode 100644 (file)
index 0000000..b13491b
--- /dev/null
@@ -0,0 +1,150 @@
+.\" 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 "8 May 1994"
+.SH NAME
+whereis \- locate the binary, source, and manual page files for a command
+.SH SYNOPSIS
+.B whereis
+.RB [ \-bmsu ]
+.RB [ \-BMS
+.IR directory ...
+.BR \-f ]
+.IR filename ...
+.IX  "whereis command"  ""  "\fLwhereis\fP \(em find program"
+.IX  find "program \(em \fLwhereis\fP"
+.IX  "locate program"  ""   "locate program \(em \fLwhereis\fP"
+.IX  command  locate  ""   "locate \(em \fLwhereis\fP"
+.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
+.B \-b
+Search only for binaries.
+.TP
+.B \-m
+Search only for manual sections.
+.TP
+.B \-s
+Search only for sources.
+.TP
+.B \-u
+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.
+.TP
+.B \-B
+Change or otherwise limit the places where
+.B whereis
+searches for binaries.
+.TP
+.B \-M
+Change or otherwise limit the places where
+.B whereis
+searches for
+manual sections.
+.TP
+.B \-S
+Change or otherwise limit the places where
+.B whereis
+searches for sources.
+.TP
+.B \-f
+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
+.B \-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
+example% cd /usr/bin
+example% whereis \-u \-M /usr/man/man1 \-S /usr/src \-f *
+.fi
+.ft R
+.SH FILES
+.TP 20
+.B /{bin,sbin,etc}
+.TP
+.B /usr/{lib,bin,old,new,local,games,include,etc,src,man,sbin,
+.B X386,TeX,g++-include}
+.TP
+.B /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
+.B whereis
+has a hard-coded path, so may not always find what
+you're looking for.
+.SH AVAILABILITY
+The whereis command is part of the util-linux-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/misc-utils/whereis.c b/misc-utils/whereis.c
new file mode 100644 (file)
index 0000000..931ff77
--- /dev/null
@@ -0,0 +1,398 @@
+/*-
+ * 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
+ */
+
+#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 "nls.h"
+
+void zerof(void);
+void getlist(int *, char ***, char ***, int *);
+void lookup(char *);
+void looksrc(char *);
+void lookbin(char *);
+void lookman(char *);
+void findv(char **, int, char *);
+void find(char **, char *);
+void findin(char *, char *);
+int itsit(char *, char *);
+
+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
+};
+
+char   sflag = 1;
+char   bflag = 1;
+char   mflag = 1;
+char   **Sflag;
+int    Scnt;
+char   **Bflag;
+int    Bcnt;
+char   **Mflag;
+int    Mcnt;
+char   uflag;
+/*
+ * whereis name
+ * look for source, documentation and binaries
+ */
+int
+main(int argc, char **argv) {
+       setlocale(LC_ALL, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+
+       argc--, argv++;
+       if (argc == 0) {
+usage:
+               fprintf(stderr, _("whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"));
+               exit(1);
+       }
+       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;
+
+                       default:
+                               goto usage;
+                       }
+                       argv++;
+               } else
+                       lookup(*argv++);
+       while (--argc > 0);
+       return 0;
+}
+
+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)--;
+}
+
+
+void
+zerof()
+{
+       if (sflag && bflag && mflag)
+               sflag = bflag = mflag = 0;
+}
+
+int    count;
+int    print;
+
+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;
+again:
+       if (print)
+               printf("%s:", cp);
+       if (sflag) {
+               looksrc(cp);
+               if (uflag && print == 0 && count != 1) {
+                       print = 1;
+                       goto again;
+               }
+       }
+       count = 0;
+       if (bflag) {
+               lookbin(cp);
+               if (uflag && print == 0 && count != 1) {
+                       print = 1;
+                       goto again;
+               }
+       }
+       count = 0;
+       if (mflag) {
+               lookman(cp);
+               if (uflag && print == 0 && count != 1) {
+                       print = 1;
+                       goto again;
+               }
+       }
+       if (print)
+               printf("\n");
+}
+
+void
+looksrc(char *cp) {
+       if (Sflag == 0) {
+               find(srcdirs, cp);
+       } else
+               findv(Sflag, Scnt, cp);
+}
+
+void
+lookbin(char *cp) {
+       if (Bflag == 0)
+               find(bindirs, cp);
+       else
+               findv(Bflag, Bcnt, cp);
+}
+
+void
+lookman(char *cp) {
+       if (Mflag == 0) {
+               find(mandirs, cp);
+       } else
+               findv(Mflag, Mcnt, cp);
+}
+
+void
+findv(char **dirv, int dirc, char *cp) {
+       while (dirc > 0)
+               findin(*dirv++, cp), dirc--;
+}
+
+void
+find(char **dirs, char *cp) {
+       while (*dirs)
+               findin(*dirs++, cp);
+}
+
+void
+findin(char *dir, char *cp) {
+       DIR *dirp;
+       struct dirent *dp;
+       char *d, *dd;
+       int l;
+       char dirbuf[1024];
+       struct stat statbuf;
+
+       dd = strchr(dir, '*');
+       if (!dd)
+               goto noglob;
+
+       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;
+
+    noglob:
+       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);
+}
+
+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);
+}
diff --git a/misc-utils/write.1 b/misc-utils/write.1
new file mode 100644 (file)
index 0000000..4d62707
--- /dev/null
@@ -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 "12 March 1995" "" "Linux Programmer's Manual"
+.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-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/misc-utils/write.c b/misc-utils/write.c
new file mode 100644 (file)
index 0000000..8ed7763
--- /dev/null
@@ -0,0 +1,359 @@
+/*
+ * 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 <ctype.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 <sys/file.h>
+#include <sys/time.h>
+#include <paths.h>
+#include "pathnames.h"
+#include "carefulputc.h"
+#include "nls.h"
+void search_utmp(char *, char *, char *, uid_t);
+void do_write(char *, char *, uid_t);
+void wr_fputs(char *);
+static void done(int);
+int term_chk(char *, int *, time_t *, int);
+int utmp_chk(char *, char *);
+
+static gid_t myegid;
+
+int
+main(int argc, char **argv) {
+       time_t atime;
+       uid_t myuid;
+       int msgsok, myttyfd;
+       char tty[MAXPATHLEN], *mytty;
+
+       setlocale(LC_ALL, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+
+       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))) {
+               (void)fprintf(stderr, _("write: can't find your tty's name\n"));
+               exit(1);
+         }
+         /* 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(1);
+         if (!msgsok) {
+               (void)fprintf(stderr,
+                   _("write: you have write permission turned off.\n"));
+               exit(1);
+         }
+       
+       } 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])) {
+                       (void)fprintf(stderr,
+                           _("write: %s is not logged in on %s.\n"),
+                           argv[1], argv[2]);
+                       exit(1);
+               }
+               if (term_chk(argv[2], &msgsok, &atime, 1))
+                       exit(1);
+               if (myuid && !msgsok) {
+                       (void)fprintf(stderr,
+                           _("write: %s has messages disabled on %s\n"),
+                           argv[1], argv[2]);
+                       exit(1);
+               }
+               do_write(argv[2], mytty, myuid);
+               break;
+       default:
+               (void)fprintf(stderr, _("usage: write user [tty]\n"));
+               exit(1);
+       }
+       done(0);
+       /* NOTREACHED */
+       return 0;
+}
+
+
+/*
+ * 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;
+                       (void)strncpy(atty, u.ut_line, sizeof(u.ut_line));
+                       atty[sizeof(u.ut_line)] = '\0';
+                       if (term_chk(atty, &msgsok, &atime, 0))
+                               continue;       /* bad term? skip */
+                       if (myuid && !msgsok)
+                               continue;       /* skip ttys with msgs off */
+                       if (strcmp(atty, mytty) == 0) {
+                               user_is_me = 1;
+                               continue;       /* don't write to yourself */
+                       }
+                        if (u.ut_type != USER_PROCESS)
+                               continue;       /* it's not a valid entry */
+                       ++nttys;
+                       if (atime > bestatime) {
+                               bestatime = atime;
+                               (void)strcpy(tty, atty);
+                       }
+               }
+       }
+
+       endutent();
+       if (nloggedttys == 0) {
+               (void)fprintf(stderr, _("write: %s is not logged in\n"), user);
+               exit(1);
+       }
+       if (nttys == 0) {
+               if (user_is_me) {               /* ok, so write to yourself! */
+                       (void)strcpy(tty, mytty);
+                       return;
+               }
+               (void)fprintf(stderr,
+                   _("write: %s has messages disabled\n"), user);
+               exit(1);
+       } else if (nttys > 1) {
+               (void)fprintf(stderr,
+                   _("write: %s is logged in more than once; writing to %s\n"),
+                   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[MAXPATHLEN];
+
+       if (strlen(tty) + 6 > sizeof(path))
+               return(1);
+       (void)sprintf(path, "/dev/%s", tty);
+       if (stat(path, &s) < 0) {
+               if (showerror)
+                       (void)fprintf(stderr,
+                           "write: %s: %s\n", path, strerror(errno));
+               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[MAXPATHLEN], 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))
+               exit(1);
+       (void)sprintf(path, "/dev/%s", tty);
+       if ((freopen(path, "w", stdout)) == NULL) {
+               (void)fprintf(stderr, "write: %s: %s\n",
+                             path, strerror(errno));
+               exit(1);
+       }
+
+       (void)signal(SIGINT, done);
+       (void)signal(SIGHUP, done);
+
+       /* print greeting */
+       if (gethostname(host, sizeof(host)) < 0)
+               (void)strcpy(host, "???");
+       now = time((time_t *)NULL);
+       nows = ctime(&now);
+       nows[16] = '\0';
+       printf("\r\n\007\007\007");
+       if (strcmp(login, pwuid))
+               (void)printf(_("Message from %s@%s (as %s) on %s at %s ..."),
+                            login, host, pwuid, mytty, nows + 11);
+       else
+               (void)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
+done(int dummy) {
+       (void)printf("EOF\r\n");
+       exit(0);
+}
+
+/*
+ * 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) goto err;
+
+       while(*s) {
+               c = *s++;
+               if (c == '\n')
+                       PUTC('\r');
+               PUTC(c);
+       }
+       return;
+
+err:
+       fprintf(stderr, "write: %s\n", strerror(errno));
+       exit(1);
+#undef PUTC
+}
diff --git a/mount/Makefile.am b/mount/Makefile.am
new file mode 100644 (file)
index 0000000..b0e6374
--- /dev/null
@@ -0,0 +1,96 @@
+include $(top_srcdir)/config/include-Makefile.am
+
+EXTRA_DIST = README.mount
+
+bin_PROGRAMS = mount umount
+sbin_PROGRAMS = losetup swapon
+dist_man_MANS = fstab.5 mount.8 swapoff.8 swapon.8 umount.8 losetup.8
+
+# generic sources for all programs (mount, umount, losetup)
+srcs_common = sundries.c xmalloc.c ../lib/canonicalize.c sundries.h xmalloc.h
+
+# generic header for mount and umount
+hdrs_mount = fstab.h mount_mntent.h mount_constants.h \
+       lomount.h getusername.h loop.h
+
+# generic sources for mount and umount
+srcs_mount = fstab.c mount_mntent.c getusername.c lomount.c devname.c devname.h \
+       $(srcs_common) $(hdrs_mount) ../lib/env.c ../lib/linux_version.c \
+       ../lib/blkdev.c ../lib/fsprobe.c
+
+# generic flags for all programs (except losetup)
+# -- note that pkg-config autoconf macros (pkg.m4) does not differentiate
+#    between CFLAGS and CPPFLAGS, we follow this behaviour and use CFLAGS only.
+ldadd_common =
+ldadd_static =
+cflags_common =
+
+# generic libtool options for all static programs
+ldflags_static ="-all-static"
+
+mount_SOURCES = mount.c $(srcs_mount) ../lib/setproctitle.c
+mount_CFLAGS = $(SUID_CFLAGS) $(AM_CFLAGS) $(cflags_common)
+mount_LDFLAGS = $(SUID_LDFLAGS) $(AM_LDFLAGS)
+mount_LDADD = $(ldadd_common)
+
+umount_SOURCES = umount.c $(srcs_mount)
+umount_CFLAGS = $(SUID_CFLAGS) $(AM_CFLAGS) $(cflags_common)
+umount_LDFLAGS = $(SUID_LDFLAGS) $(AM_LDFLAGS)
+umount_LDADD = $(ldadd_common)
+
+swapon_SOURCES = swapon.c swap_constants.h ../lib/linux_version.c \
+       ../lib/blkdev.c ../lib/fsprobe.c ../lib/canonicalize.c
+swapon_CFLAGS = $(cflags_common)
+swapon_LDADD = $(ldadd_common)
+
+losetup_SOURCES = lomount.c $(srcs_common) loop.h lomount.h
+losetup_CPPFLAGS = -DMAIN $(AM_CPPFLAGS)
+
+mount_static_LDADD =
+
+if HAVE_STATIC_MOUNT
+bin_PROGRAMS += mount.static
+mount_static_SOURCES = $(mount_SOURCES)
+mount_static_CFLAGS = $(cflags_common)
+mount_static_LDFLAGS = $(ldflags_static)
+mount_static_LDADD += $(ldadd_static)
+endif
+
+if HAVE_STATIC_UMOUNT
+bin_PROGRAMS += umount.static
+umount_static_SOURCES = $(umount_SOURCES)
+umount_static_CFLAGS = $(cflags_common)
+umount_static_LDFLAGS = $(ldflags_static)
+umount_static_LDADD = $(ldadd_static)
+endif
+
+if HAVE_STATIC_LOSETUP
+bin_PROGRAMS += losetup.static
+losetup_static_SOURCES = $(losetup_SOURCES)
+losetup_static_LDFLAGS = $(ldflags_static)
+losetup_static_CPPFLAGS = -DMAIN $(AM_CPPFLAGS)
+endif
+
+if BUILD_LIBBLKID
+ldadd_common += $(ul_libblkid_la)
+ldadd_static += $(ul_libblkid_la)
+cflags_common += -I$(ul_libblkid_srcdir)
+else
+ldadd_common += $(BLKID_LIBS)
+ldadd_static += $(BLKID_LIBS_STATIC)
+cflags_common += $(BLKID_CFLAGS)
+endif
+
+if HAVE_SELINUX
+mount_LDADD += $(SELINUX_LIBS)
+mount_static_LDADD += $(SELINUX_LIBS_STATIC)
+endif
+
+noinst_PROGRAMS = mtab_lock_test
+mtab_lock_test_SOURCES = fstab.c $(srcs_common) $(hdrs_mount)
+mtab_lock_test_CPPFLAGS = -DMAIN_TEST_MTABLOCK $(AM_CPPFLAGS)
+
+install-exec-hook:
+       chmod 4755 $(DESTDIR)$(bindir)/mount
+       chmod 4755 $(DESTDIR)$(bindir)/umount
+       cd $(DESTDIR)$(sbindir) && ln -sf swapon swapoff
diff --git a/mount/Makefile.in b/mount/Makefile.in
new file mode 100644 (file)
index 0000000..aefb32c
--- /dev/null
@@ -0,0 +1,2031 @@
+# Makefile.in generated by automake 1.11 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@
+DIST_COMMON = $(dist_man_MANS) $(dist_noinst_DATA) \
+       $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+       $(top_srcdir)/config/include-Makefile.am
+bin_PROGRAMS = mount$(EXEEXT) umount$(EXEEXT) $(am__EXEEXT_1) \
+       $(am__EXEEXT_2) $(am__EXEEXT_3)
+sbin_PROGRAMS = losetup$(EXEEXT) swapon$(EXEEXT)
+@HAVE_STATIC_MOUNT_TRUE@am__append_1 = mount.static
+@HAVE_STATIC_MOUNT_TRUE@am__append_2 = $(ldadd_static)
+@HAVE_STATIC_UMOUNT_TRUE@am__append_3 = umount.static
+@HAVE_STATIC_LOSETUP_TRUE@am__append_4 = losetup.static
+@BUILD_LIBBLKID_TRUE@am__append_5 = $(ul_libblkid_la)
+@BUILD_LIBBLKID_TRUE@am__append_6 = $(ul_libblkid_la)
+@BUILD_LIBBLKID_TRUE@am__append_7 = -I$(ul_libblkid_srcdir)
+@BUILD_LIBBLKID_FALSE@am__append_8 = $(BLKID_LIBS)
+@BUILD_LIBBLKID_FALSE@am__append_9 = $(BLKID_LIBS_STATIC)
+@BUILD_LIBBLKID_FALSE@am__append_10 = $(BLKID_CFLAGS)
+@HAVE_SELINUX_TRUE@am__append_11 = $(SELINUX_LIBS)
+@HAVE_SELINUX_TRUE@am__append_12 = $(SELINUX_LIBS_STATIC)
+noinst_PROGRAMS = mtab_lock_test$(EXEEXT)
+subdir = mount
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.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)/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 =
+CONFIG_CLEAN_VPATH_FILES =
+@HAVE_STATIC_MOUNT_TRUE@am__EXEEXT_1 = mount.static$(EXEEXT)
+@HAVE_STATIC_UMOUNT_TRUE@am__EXEEXT_2 = umount.static$(EXEEXT)
+@HAVE_STATIC_LOSETUP_TRUE@am__EXEEXT_3 = losetup.static$(EXEEXT)
+am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)" \
+       "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)"
+PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) $(sbin_PROGRAMS)
+am__objects_1 = losetup-sundries.$(OBJEXT) losetup-xmalloc.$(OBJEXT) \
+       losetup-canonicalize.$(OBJEXT)
+am_losetup_OBJECTS = losetup-lomount.$(OBJEXT) $(am__objects_1)
+losetup_OBJECTS = $(am_losetup_OBJECTS)
+losetup_LDADD = $(LDADD)
+am__losetup_static_SOURCES_DIST = lomount.c sundries.c xmalloc.c \
+       ../lib/canonicalize.c sundries.h xmalloc.h loop.h lomount.h
+am__objects_2 = losetup_static-sundries.$(OBJEXT) \
+       losetup_static-xmalloc.$(OBJEXT) \
+       losetup_static-canonicalize.$(OBJEXT)
+am__objects_3 = losetup_static-lomount.$(OBJEXT) $(am__objects_2)
+@HAVE_STATIC_LOSETUP_TRUE@am_losetup_static_OBJECTS =  \
+@HAVE_STATIC_LOSETUP_TRUE@     $(am__objects_3)
+losetup_static_OBJECTS = $(am_losetup_static_OBJECTS)
+losetup_static_LDADD = $(LDADD)
+losetup_static_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+       $(losetup_static_LDFLAGS) $(LDFLAGS) -o $@
+am__objects_4 = mount-sundries.$(OBJEXT) mount-xmalloc.$(OBJEXT) \
+       mount-canonicalize.$(OBJEXT)
+am__objects_5 =
+am__objects_6 = mount-fstab.$(OBJEXT) mount-mount_mntent.$(OBJEXT) \
+       mount-getusername.$(OBJEXT) mount-lomount.$(OBJEXT) \
+       mount-devname.$(OBJEXT) $(am__objects_4) $(am__objects_5) \
+       mount-env.$(OBJEXT) mount-linux_version.$(OBJEXT) \
+       mount-blkdev.$(OBJEXT) mount-fsprobe.$(OBJEXT)
+am_mount_OBJECTS = mount-mount.$(OBJEXT) $(am__objects_6) \
+       mount-setproctitle.$(OBJEXT)
+mount_OBJECTS = $(am_mount_OBJECTS)
+am__DEPENDENCIES_1 =
+@BUILD_LIBBLKID_FALSE@am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1)
+am__DEPENDENCIES_3 = $(am__append_5) $(am__DEPENDENCIES_2)
+@HAVE_SELINUX_TRUE@am__DEPENDENCIES_4 = $(am__DEPENDENCIES_1)
+mount_DEPENDENCIES = $(am__DEPENDENCIES_3) $(am__DEPENDENCIES_4)
+mount_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+       --mode=link $(CCLD) $(mount_CFLAGS) $(CFLAGS) $(mount_LDFLAGS) \
+       $(LDFLAGS) -o $@
+am__mount_static_SOURCES_DIST = mount.c fstab.c mount_mntent.c \
+       getusername.c lomount.c devname.c devname.h sundries.c \
+       xmalloc.c ../lib/canonicalize.c sundries.h xmalloc.h fstab.h \
+       mount_mntent.h mount_constants.h lomount.h getusername.h \
+       loop.h ../lib/env.c ../lib/linux_version.c ../lib/blkdev.c \
+       ../lib/fsprobe.c ../lib/setproctitle.c
+am__objects_7 = mount_static-sundries.$(OBJEXT) \
+       mount_static-xmalloc.$(OBJEXT) \
+       mount_static-canonicalize.$(OBJEXT)
+am__objects_8 = mount_static-fstab.$(OBJEXT) \
+       mount_static-mount_mntent.$(OBJEXT) \
+       mount_static-getusername.$(OBJEXT) \
+       mount_static-lomount.$(OBJEXT) mount_static-devname.$(OBJEXT) \
+       $(am__objects_7) $(am__objects_5) mount_static-env.$(OBJEXT) \
+       mount_static-linux_version.$(OBJEXT) \
+       mount_static-blkdev.$(OBJEXT) mount_static-fsprobe.$(OBJEXT)
+am__objects_9 = mount_static-mount.$(OBJEXT) $(am__objects_8) \
+       mount_static-setproctitle.$(OBJEXT)
+@HAVE_STATIC_MOUNT_TRUE@am_mount_static_OBJECTS = $(am__objects_9)
+mount_static_OBJECTS = $(am_mount_static_OBJECTS)
+am__DEPENDENCIES_5 = $(am__append_6) $(am__DEPENDENCIES_2)
+@HAVE_STATIC_MOUNT_TRUE@am__DEPENDENCIES_6 = $(am__DEPENDENCIES_5)
+mount_static_DEPENDENCIES = $(am__DEPENDENCIES_6) \
+       $(am__DEPENDENCIES_4)
+mount_static_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(mount_static_CFLAGS) \
+       $(CFLAGS) $(mount_static_LDFLAGS) $(LDFLAGS) -o $@
+am__objects_10 = mtab_lock_test-sundries.$(OBJEXT) \
+       mtab_lock_test-xmalloc.$(OBJEXT) \
+       mtab_lock_test-canonicalize.$(OBJEXT)
+am_mtab_lock_test_OBJECTS = mtab_lock_test-fstab.$(OBJEXT) \
+       $(am__objects_10) $(am__objects_5)
+mtab_lock_test_OBJECTS = $(am_mtab_lock_test_OBJECTS)
+mtab_lock_test_LDADD = $(LDADD)
+am_swapon_OBJECTS = swapon-swapon.$(OBJEXT) \
+       swapon-linux_version.$(OBJEXT) swapon-blkdev.$(OBJEXT) \
+       swapon-fsprobe.$(OBJEXT) swapon-canonicalize.$(OBJEXT)
+swapon_OBJECTS = $(am_swapon_OBJECTS)
+swapon_DEPENDENCIES = $(am__DEPENDENCIES_3)
+swapon_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+       --mode=link $(CCLD) $(swapon_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+       $(LDFLAGS) -o $@
+am__objects_11 = umount-sundries.$(OBJEXT) umount-xmalloc.$(OBJEXT) \
+       umount-canonicalize.$(OBJEXT)
+am__objects_12 = umount-fstab.$(OBJEXT) umount-mount_mntent.$(OBJEXT) \
+       umount-getusername.$(OBJEXT) umount-lomount.$(OBJEXT) \
+       umount-devname.$(OBJEXT) $(am__objects_11) $(am__objects_5) \
+       umount-env.$(OBJEXT) umount-linux_version.$(OBJEXT) \
+       umount-blkdev.$(OBJEXT) umount-fsprobe.$(OBJEXT)
+am_umount_OBJECTS = umount-umount.$(OBJEXT) $(am__objects_12)
+umount_OBJECTS = $(am_umount_OBJECTS)
+umount_DEPENDENCIES = $(am__DEPENDENCIES_3)
+umount_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+       --mode=link $(CCLD) $(umount_CFLAGS) $(CFLAGS) \
+       $(umount_LDFLAGS) $(LDFLAGS) -o $@
+am__umount_static_SOURCES_DIST = umount.c fstab.c mount_mntent.c \
+       getusername.c lomount.c devname.c devname.h sundries.c \
+       xmalloc.c ../lib/canonicalize.c sundries.h xmalloc.h fstab.h \
+       mount_mntent.h mount_constants.h lomount.h getusername.h \
+       loop.h ../lib/env.c ../lib/linux_version.c ../lib/blkdev.c \
+       ../lib/fsprobe.c
+am__objects_13 = umount_static-sundries.$(OBJEXT) \
+       umount_static-xmalloc.$(OBJEXT) \
+       umount_static-canonicalize.$(OBJEXT)
+am__objects_14 = umount_static-fstab.$(OBJEXT) \
+       umount_static-mount_mntent.$(OBJEXT) \
+       umount_static-getusername.$(OBJEXT) \
+       umount_static-lomount.$(OBJEXT) \
+       umount_static-devname.$(OBJEXT) $(am__objects_13) \
+       $(am__objects_5) umount_static-env.$(OBJEXT) \
+       umount_static-linux_version.$(OBJEXT) \
+       umount_static-blkdev.$(OBJEXT) umount_static-fsprobe.$(OBJEXT)
+am__objects_15 = umount_static-umount.$(OBJEXT) $(am__objects_14)
+@HAVE_STATIC_UMOUNT_TRUE@am_umount_static_OBJECTS = $(am__objects_15)
+umount_static_OBJECTS = $(am_umount_static_OBJECTS)
+@HAVE_STATIC_UMOUNT_TRUE@umount_static_DEPENDENCIES =  \
+@HAVE_STATIC_UMOUNT_TRUE@      $(am__DEPENDENCIES_5)
+umount_static_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(umount_static_CFLAGS) \
+       $(CFLAGS) $(umount_static_LDFLAGS) $(LDFLAGS) -o $@
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+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) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+       --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+       --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+       $(LDFLAGS) -o $@
+SOURCES = $(losetup_SOURCES) $(losetup_static_SOURCES) \
+       $(mount_SOURCES) $(mount_static_SOURCES) \
+       $(mtab_lock_test_SOURCES) $(swapon_SOURCES) $(umount_SOURCES) \
+       $(umount_static_SOURCES)
+DIST_SOURCES = $(losetup_SOURCES) $(am__losetup_static_SOURCES_DIST) \
+       $(mount_SOURCES) $(am__mount_static_SOURCES_DIST) \
+       $(mtab_lock_test_SOURCES) $(swapon_SOURCES) $(umount_SOURCES) \
+       $(am__umount_static_SOURCES_DIST)
+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'
+man5dir = $(mandir)/man5
+man8dir = $(mandir)/man8
+NROFF = nroff
+MANS = $(dist_man_MANS)
+DATA = $(dist_noinst_DATA)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BLKID = @BLKID@
+BLKID_CFLAGS = @BLKID_CFLAGS@
+BLKID_LIBS = @BLKID_LIBS@
+BLKID_LIBS_STATIC = @BLKID_LIBS_STATIC@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+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@
+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_VERSION = @LIBBLKID_VERSION@
+LIBBLKID_VERSION_INFO = @LIBBLKID_VERSION_INFO@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+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@
+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_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+POSUB = @POSUB@
+RANLIB = @RANLIB@
+SED = @SED@
+SELINUX_LIBS = @SELINUX_LIBS@
+SELINUX_LIBS_STATIC = @SELINUX_LIBS_STATIC@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SUID_CFLAGS = @SUID_CFLAGS@
+SUID_LDFLAGS = @SUID_LDFLAGS@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
+VERSION = @VERSION@
+VOLID = @VOLID@
+XGETTEXT = @XGETTEXT@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+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@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+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 $(top_builddir)/config.h -I$(top_srcdir)/include \
+       -DLOCALEDIR=\"$(localedir)\"
+
+AM_CFLAGS = -fsigned-char
+AM_LDFLAGS = 
+
+# 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)
+#
+# blkid
+ul_libblkid_srcdir = $(top_srcdir)/shlibs/blkid/src
+ul_libblkid_builddir = $(top_builddir)/shlibs/blkid/src
+ul_libblkid_la = $(top_builddir)/shlibs/blkid/src/libblkid.la
+
+# uuid
+ul_libuuid_srcdir = $(top_srcdir)/shlibs/uuid/src
+ul_libuuid_builddir = $(top_builddir)/shlibs/uuid/src
+ul_libuuid_la = $(top_builddir)/shlibs/uuid/src/libuuid.la
+EXTRA_DIST = README.mount
+dist_man_MANS = fstab.5 mount.8 swapoff.8 swapon.8 umount.8 losetup.8
+
+# generic sources for all programs (mount, umount, losetup)
+srcs_common = sundries.c xmalloc.c ../lib/canonicalize.c sundries.h xmalloc.h
+
+# generic header for mount and umount
+hdrs_mount = fstab.h mount_mntent.h mount_constants.h \
+       lomount.h getusername.h loop.h
+
+
+# generic sources for mount and umount
+srcs_mount = fstab.c mount_mntent.c getusername.c lomount.c devname.c devname.h \
+       $(srcs_common) $(hdrs_mount) ../lib/env.c ../lib/linux_version.c \
+       ../lib/blkdev.c ../lib/fsprobe.c
+
+
+# generic flags for all programs (except losetup)
+# -- note that pkg-config autoconf macros (pkg.m4) does not differentiate
+#    between CFLAGS and CPPFLAGS, we follow this behaviour and use CFLAGS only.
+ldadd_common = $(am__append_5) $(am__append_8)
+ldadd_static = $(am__append_6) $(am__append_9)
+cflags_common = $(am__append_7) $(am__append_10)
+
+# generic libtool options for all static programs
+ldflags_static = "-all-static"
+mount_SOURCES = mount.c $(srcs_mount) ../lib/setproctitle.c
+mount_CFLAGS = $(SUID_CFLAGS) $(AM_CFLAGS) $(cflags_common)
+mount_LDFLAGS = $(SUID_LDFLAGS) $(AM_LDFLAGS)
+mount_LDADD = $(ldadd_common) $(am__append_11)
+umount_SOURCES = umount.c $(srcs_mount)
+umount_CFLAGS = $(SUID_CFLAGS) $(AM_CFLAGS) $(cflags_common)
+umount_LDFLAGS = $(SUID_LDFLAGS) $(AM_LDFLAGS)
+umount_LDADD = $(ldadd_common)
+swapon_SOURCES = swapon.c swap_constants.h ../lib/linux_version.c \
+       ../lib/blkdev.c ../lib/fsprobe.c ../lib/canonicalize.c
+
+swapon_CFLAGS = $(cflags_common)
+swapon_LDADD = $(ldadd_common)
+losetup_SOURCES = lomount.c $(srcs_common) loop.h lomount.h
+losetup_CPPFLAGS = -DMAIN $(AM_CPPFLAGS)
+mount_static_LDADD = $(am__append_2) $(am__append_12)
+@HAVE_STATIC_MOUNT_TRUE@mount_static_SOURCES = $(mount_SOURCES)
+@HAVE_STATIC_MOUNT_TRUE@mount_static_CFLAGS = $(cflags_common)
+@HAVE_STATIC_MOUNT_TRUE@mount_static_LDFLAGS = $(ldflags_static)
+@HAVE_STATIC_UMOUNT_TRUE@umount_static_SOURCES = $(umount_SOURCES)
+@HAVE_STATIC_UMOUNT_TRUE@umount_static_CFLAGS = $(cflags_common)
+@HAVE_STATIC_UMOUNT_TRUE@umount_static_LDFLAGS = $(ldflags_static)
+@HAVE_STATIC_UMOUNT_TRUE@umount_static_LDADD = $(ldadd_static)
+@HAVE_STATIC_LOSETUP_TRUE@losetup_static_SOURCES = $(losetup_SOURCES)
+@HAVE_STATIC_LOSETUP_TRUE@losetup_static_LDFLAGS = $(ldflags_static)
+@HAVE_STATIC_LOSETUP_TRUE@losetup_static_CPPFLAGS = -DMAIN $(AM_CPPFLAGS)
+mtab_lock_test_SOURCES = fstab.c $(srcs_common) $(hdrs_mount)
+mtab_lock_test_CPPFLAGS = -DMAIN_TEST_MTABLOCK $(AM_CPPFLAGS)
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/config/include-Makefile.am $(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 mount/Makefile'; \
+       $(am__cd) $(top_srcdir) && \
+         $(AUTOMAKE) --foreign mount/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):
+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-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
+losetup$(EXEEXT): $(losetup_OBJECTS) $(losetup_DEPENDENCIES) 
+       @rm -f losetup$(EXEEXT)
+       $(LINK) $(losetup_OBJECTS) $(losetup_LDADD) $(LIBS)
+losetup.static$(EXEEXT): $(losetup_static_OBJECTS) $(losetup_static_DEPENDENCIES) 
+       @rm -f losetup.static$(EXEEXT)
+       $(losetup_static_LINK) $(losetup_static_OBJECTS) $(losetup_static_LDADD) $(LIBS)
+mount$(EXEEXT): $(mount_OBJECTS) $(mount_DEPENDENCIES) 
+       @rm -f mount$(EXEEXT)
+       $(mount_LINK) $(mount_OBJECTS) $(mount_LDADD) $(LIBS)
+mount.static$(EXEEXT): $(mount_static_OBJECTS) $(mount_static_DEPENDENCIES) 
+       @rm -f mount.static$(EXEEXT)
+       $(mount_static_LINK) $(mount_static_OBJECTS) $(mount_static_LDADD) $(LIBS)
+mtab_lock_test$(EXEEXT): $(mtab_lock_test_OBJECTS) $(mtab_lock_test_DEPENDENCIES) 
+       @rm -f mtab_lock_test$(EXEEXT)
+       $(LINK) $(mtab_lock_test_OBJECTS) $(mtab_lock_test_LDADD) $(LIBS)
+swapon$(EXEEXT): $(swapon_OBJECTS) $(swapon_DEPENDENCIES) 
+       @rm -f swapon$(EXEEXT)
+       $(swapon_LINK) $(swapon_OBJECTS) $(swapon_LDADD) $(LIBS)
+umount$(EXEEXT): $(umount_OBJECTS) $(umount_DEPENDENCIES) 
+       @rm -f umount$(EXEEXT)
+       $(umount_LINK) $(umount_OBJECTS) $(umount_LDADD) $(LIBS)
+umount.static$(EXEEXT): $(umount_static_OBJECTS) $(umount_static_DEPENDENCIES) 
+       @rm -f umount.static$(EXEEXT)
+       $(umount_static_LINK) $(umount_static_OBJECTS) $(umount_static_LDADD) $(LIBS)
+
+mostlyclean-compile:
+       -rm -f *.$(OBJEXT)
+
+distclean-compile:
+       -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/losetup-canonicalize.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/losetup-lomount.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/losetup-sundries.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/losetup-xmalloc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/losetup_static-canonicalize.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/losetup_static-lomount.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/losetup_static-sundries.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/losetup_static-xmalloc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount-blkdev.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount-canonicalize.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount-devname.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount-env.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount-fsprobe.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount-fstab.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount-getusername.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount-linux_version.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount-lomount.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount-mount.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount-mount_mntent.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount-setproctitle.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount-sundries.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount-xmalloc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount_static-blkdev.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount_static-canonicalize.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount_static-devname.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount_static-env.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount_static-fsprobe.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount_static-fstab.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount_static-getusername.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount_static-linux_version.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount_static-lomount.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount_static-mount.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount_static-mount_mntent.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount_static-setproctitle.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount_static-sundries.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount_static-xmalloc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mtab_lock_test-canonicalize.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mtab_lock_test-fstab.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mtab_lock_test-sundries.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mtab_lock_test-xmalloc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/swapon-blkdev.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/swapon-canonicalize.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/swapon-fsprobe.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/swapon-linux_version.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/swapon-swapon.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umount-blkdev.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umount-canonicalize.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umount-devname.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umount-env.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umount-fsprobe.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umount-fstab.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umount-getusername.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umount-linux_version.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umount-lomount.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umount-mount_mntent.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umount-sundries.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umount-umount.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umount-xmalloc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umount_static-blkdev.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umount_static-canonicalize.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umount_static-devname.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umount_static-env.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umount_static-fsprobe.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umount_static-fstab.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umount_static-getusername.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umount_static-linux_version.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umount_static-lomount.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umount_static-mount_mntent.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umount_static-sundries.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umount_static-umount.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umount_static-xmalloc.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@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 $<
+
+.c.obj:
+@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@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 `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@   $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@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 $@ $<
+
+losetup-lomount.o: lomount.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup-lomount.o -MD -MP -MF $(DEPDIR)/losetup-lomount.Tpo -c -o losetup-lomount.o `test -f 'lomount.c' || echo '$(srcdir)/'`lomount.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/losetup-lomount.Tpo $(DEPDIR)/losetup-lomount.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='lomount.c' object='losetup-lomount.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup-lomount.o `test -f 'lomount.c' || echo '$(srcdir)/'`lomount.c
+
+losetup-lomount.obj: lomount.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup-lomount.obj -MD -MP -MF $(DEPDIR)/losetup-lomount.Tpo -c -o losetup-lomount.obj `if test -f 'lomount.c'; then $(CYGPATH_W) 'lomount.c'; else $(CYGPATH_W) '$(srcdir)/lomount.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/losetup-lomount.Tpo $(DEPDIR)/losetup-lomount.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='lomount.c' object='losetup-lomount.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup-lomount.obj `if test -f 'lomount.c'; then $(CYGPATH_W) 'lomount.c'; else $(CYGPATH_W) '$(srcdir)/lomount.c'; fi`
+
+losetup-sundries.o: sundries.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup-sundries.o -MD -MP -MF $(DEPDIR)/losetup-sundries.Tpo -c -o losetup-sundries.o `test -f 'sundries.c' || echo '$(srcdir)/'`sundries.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/losetup-sundries.Tpo $(DEPDIR)/losetup-sundries.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='sundries.c' object='losetup-sundries.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup-sundries.o `test -f 'sundries.c' || echo '$(srcdir)/'`sundries.c
+
+losetup-sundries.obj: sundries.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup-sundries.obj -MD -MP -MF $(DEPDIR)/losetup-sundries.Tpo -c -o losetup-sundries.obj `if test -f 'sundries.c'; then $(CYGPATH_W) 'sundries.c'; else $(CYGPATH_W) '$(srcdir)/sundries.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/losetup-sundries.Tpo $(DEPDIR)/losetup-sundries.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='sundries.c' object='losetup-sundries.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup-sundries.obj `if test -f 'sundries.c'; then $(CYGPATH_W) 'sundries.c'; else $(CYGPATH_W) '$(srcdir)/sundries.c'; fi`
+
+losetup-xmalloc.o: xmalloc.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup-xmalloc.o -MD -MP -MF $(DEPDIR)/losetup-xmalloc.Tpo -c -o losetup-xmalloc.o `test -f 'xmalloc.c' || echo '$(srcdir)/'`xmalloc.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/losetup-xmalloc.Tpo $(DEPDIR)/losetup-xmalloc.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='xmalloc.c' object='losetup-xmalloc.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup-xmalloc.o `test -f 'xmalloc.c' || echo '$(srcdir)/'`xmalloc.c
+
+losetup-xmalloc.obj: xmalloc.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup-xmalloc.obj -MD -MP -MF $(DEPDIR)/losetup-xmalloc.Tpo -c -o losetup-xmalloc.obj `if test -f 'xmalloc.c'; then $(CYGPATH_W) 'xmalloc.c'; else $(CYGPATH_W) '$(srcdir)/xmalloc.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/losetup-xmalloc.Tpo $(DEPDIR)/losetup-xmalloc.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='xmalloc.c' object='losetup-xmalloc.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup-xmalloc.obj `if test -f 'xmalloc.c'; then $(CYGPATH_W) 'xmalloc.c'; else $(CYGPATH_W) '$(srcdir)/xmalloc.c'; fi`
+
+losetup-canonicalize.o: ../lib/canonicalize.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup-canonicalize.o -MD -MP -MF $(DEPDIR)/losetup-canonicalize.Tpo -c -o losetup-canonicalize.o `test -f '../lib/canonicalize.c' || echo '$(srcdir)/'`../lib/canonicalize.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/losetup-canonicalize.Tpo $(DEPDIR)/losetup-canonicalize.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/canonicalize.c' object='losetup-canonicalize.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup-canonicalize.o `test -f '../lib/canonicalize.c' || echo '$(srcdir)/'`../lib/canonicalize.c
+
+losetup-canonicalize.obj: ../lib/canonicalize.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup-canonicalize.obj -MD -MP -MF $(DEPDIR)/losetup-canonicalize.Tpo -c -o losetup-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__mv) $(DEPDIR)/losetup-canonicalize.Tpo $(DEPDIR)/losetup-canonicalize.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/canonicalize.c' object='losetup-canonicalize.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup-canonicalize.obj `if test -f '../lib/canonicalize.c'; then $(CYGPATH_W) '../lib/canonicalize.c'; else $(CYGPATH_W) '$(srcdir)/../lib/canonicalize.c'; fi`
+
+losetup_static-lomount.o: lomount.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup_static-lomount.o -MD -MP -MF $(DEPDIR)/losetup_static-lomount.Tpo -c -o losetup_static-lomount.o `test -f 'lomount.c' || echo '$(srcdir)/'`lomount.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/losetup_static-lomount.Tpo $(DEPDIR)/losetup_static-lomount.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='lomount.c' object='losetup_static-lomount.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup_static-lomount.o `test -f 'lomount.c' || echo '$(srcdir)/'`lomount.c
+
+losetup_static-lomount.obj: lomount.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup_static-lomount.obj -MD -MP -MF $(DEPDIR)/losetup_static-lomount.Tpo -c -o losetup_static-lomount.obj `if test -f 'lomount.c'; then $(CYGPATH_W) 'lomount.c'; else $(CYGPATH_W) '$(srcdir)/lomount.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/losetup_static-lomount.Tpo $(DEPDIR)/losetup_static-lomount.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='lomount.c' object='losetup_static-lomount.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup_static-lomount.obj `if test -f 'lomount.c'; then $(CYGPATH_W) 'lomount.c'; else $(CYGPATH_W) '$(srcdir)/lomount.c'; fi`
+
+losetup_static-sundries.o: sundries.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup_static-sundries.o -MD -MP -MF $(DEPDIR)/losetup_static-sundries.Tpo -c -o losetup_static-sundries.o `test -f 'sundries.c' || echo '$(srcdir)/'`sundries.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/losetup_static-sundries.Tpo $(DEPDIR)/losetup_static-sundries.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='sundries.c' object='losetup_static-sundries.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup_static-sundries.o `test -f 'sundries.c' || echo '$(srcdir)/'`sundries.c
+
+losetup_static-sundries.obj: sundries.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup_static-sundries.obj -MD -MP -MF $(DEPDIR)/losetup_static-sundries.Tpo -c -o losetup_static-sundries.obj `if test -f 'sundries.c'; then $(CYGPATH_W) 'sundries.c'; else $(CYGPATH_W) '$(srcdir)/sundries.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/losetup_static-sundries.Tpo $(DEPDIR)/losetup_static-sundries.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='sundries.c' object='losetup_static-sundries.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup_static-sundries.obj `if test -f 'sundries.c'; then $(CYGPATH_W) 'sundries.c'; else $(CYGPATH_W) '$(srcdir)/sundries.c'; fi`
+
+losetup_static-xmalloc.o: xmalloc.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup_static-xmalloc.o -MD -MP -MF $(DEPDIR)/losetup_static-xmalloc.Tpo -c -o losetup_static-xmalloc.o `test -f 'xmalloc.c' || echo '$(srcdir)/'`xmalloc.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/losetup_static-xmalloc.Tpo $(DEPDIR)/losetup_static-xmalloc.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='xmalloc.c' object='losetup_static-xmalloc.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup_static-xmalloc.o `test -f 'xmalloc.c' || echo '$(srcdir)/'`xmalloc.c
+
+losetup_static-xmalloc.obj: xmalloc.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup_static-xmalloc.obj -MD -MP -MF $(DEPDIR)/losetup_static-xmalloc.Tpo -c -o losetup_static-xmalloc.obj `if test -f 'xmalloc.c'; then $(CYGPATH_W) 'xmalloc.c'; else $(CYGPATH_W) '$(srcdir)/xmalloc.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/losetup_static-xmalloc.Tpo $(DEPDIR)/losetup_static-xmalloc.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='xmalloc.c' object='losetup_static-xmalloc.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup_static-xmalloc.obj `if test -f 'xmalloc.c'; then $(CYGPATH_W) 'xmalloc.c'; else $(CYGPATH_W) '$(srcdir)/xmalloc.c'; fi`
+
+losetup_static-canonicalize.o: ../lib/canonicalize.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup_static-canonicalize.o -MD -MP -MF $(DEPDIR)/losetup_static-canonicalize.Tpo -c -o losetup_static-canonicalize.o `test -f '../lib/canonicalize.c' || echo '$(srcdir)/'`../lib/canonicalize.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/losetup_static-canonicalize.Tpo $(DEPDIR)/losetup_static-canonicalize.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/canonicalize.c' object='losetup_static-canonicalize.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup_static-canonicalize.o `test -f '../lib/canonicalize.c' || echo '$(srcdir)/'`../lib/canonicalize.c
+
+losetup_static-canonicalize.obj: ../lib/canonicalize.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup_static-canonicalize.obj -MD -MP -MF $(DEPDIR)/losetup_static-canonicalize.Tpo -c -o losetup_static-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__mv) $(DEPDIR)/losetup_static-canonicalize.Tpo $(DEPDIR)/losetup_static-canonicalize.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/canonicalize.c' object='losetup_static-canonicalize.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup_static-canonicalize.obj `if test -f '../lib/canonicalize.c'; then $(CYGPATH_W) '../lib/canonicalize.c'; else $(CYGPATH_W) '$(srcdir)/../lib/canonicalize.c'; fi`
+
+mount-mount.o: mount.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-mount.o -MD -MP -MF $(DEPDIR)/mount-mount.Tpo -c -o mount-mount.o `test -f 'mount.c' || echo '$(srcdir)/'`mount.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount-mount.Tpo $(DEPDIR)/mount-mount.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='mount.c' object='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-mount.o `test -f 'mount.c' || echo '$(srcdir)/'`mount.c
+
+mount-mount.obj: mount.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-mount.obj -MD -MP -MF $(DEPDIR)/mount-mount.Tpo -c -o mount-mount.obj `if test -f 'mount.c'; then $(CYGPATH_W) 'mount.c'; else $(CYGPATH_W) '$(srcdir)/mount.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount-mount.Tpo $(DEPDIR)/mount-mount.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='mount.c' object='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-mount.obj `if test -f 'mount.c'; then $(CYGPATH_W) 'mount.c'; else $(CYGPATH_W) '$(srcdir)/mount.c'; fi`
+
+mount-fstab.o: fstab.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-fstab.o -MD -MP -MF $(DEPDIR)/mount-fstab.Tpo -c -o mount-fstab.o `test -f 'fstab.c' || echo '$(srcdir)/'`fstab.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount-fstab.Tpo $(DEPDIR)/mount-fstab.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='fstab.c' object='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-fstab.o `test -f 'fstab.c' || echo '$(srcdir)/'`fstab.c
+
+mount-fstab.obj: fstab.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-fstab.obj -MD -MP -MF $(DEPDIR)/mount-fstab.Tpo -c -o mount-fstab.obj `if test -f 'fstab.c'; then $(CYGPATH_W) 'fstab.c'; else $(CYGPATH_W) '$(srcdir)/fstab.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount-fstab.Tpo $(DEPDIR)/mount-fstab.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='fstab.c' object='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-fstab.obj `if test -f 'fstab.c'; then $(CYGPATH_W) 'fstab.c'; else $(CYGPATH_W) '$(srcdir)/fstab.c'; fi`
+
+mount-mount_mntent.o: mount_mntent.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-mount_mntent.o -MD -MP -MF $(DEPDIR)/mount-mount_mntent.Tpo -c -o mount-mount_mntent.o `test -f 'mount_mntent.c' || echo '$(srcdir)/'`mount_mntent.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount-mount_mntent.Tpo $(DEPDIR)/mount-mount_mntent.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='mount_mntent.c' object='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-mount_mntent.o `test -f 'mount_mntent.c' || echo '$(srcdir)/'`mount_mntent.c
+
+mount-mount_mntent.obj: mount_mntent.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-mount_mntent.obj -MD -MP -MF $(DEPDIR)/mount-mount_mntent.Tpo -c -o mount-mount_mntent.obj `if test -f 'mount_mntent.c'; then $(CYGPATH_W) 'mount_mntent.c'; else $(CYGPATH_W) '$(srcdir)/mount_mntent.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount-mount_mntent.Tpo $(DEPDIR)/mount-mount_mntent.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='mount_mntent.c' object='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-mount_mntent.obj `if test -f 'mount_mntent.c'; then $(CYGPATH_W) 'mount_mntent.c'; else $(CYGPATH_W) '$(srcdir)/mount_mntent.c'; fi`
+
+mount-getusername.o: getusername.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-getusername.o -MD -MP -MF $(DEPDIR)/mount-getusername.Tpo -c -o mount-getusername.o `test -f 'getusername.c' || echo '$(srcdir)/'`getusername.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount-getusername.Tpo $(DEPDIR)/mount-getusername.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='getusername.c' object='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-getusername.o `test -f 'getusername.c' || echo '$(srcdir)/'`getusername.c
+
+mount-getusername.obj: getusername.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-getusername.obj -MD -MP -MF $(DEPDIR)/mount-getusername.Tpo -c -o mount-getusername.obj `if test -f 'getusername.c'; then $(CYGPATH_W) 'getusername.c'; else $(CYGPATH_W) '$(srcdir)/getusername.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount-getusername.Tpo $(DEPDIR)/mount-getusername.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='getusername.c' object='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-getusername.obj `if test -f 'getusername.c'; then $(CYGPATH_W) 'getusername.c'; else $(CYGPATH_W) '$(srcdir)/getusername.c'; fi`
+
+mount-lomount.o: lomount.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-lomount.o -MD -MP -MF $(DEPDIR)/mount-lomount.Tpo -c -o mount-lomount.o `test -f 'lomount.c' || echo '$(srcdir)/'`lomount.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount-lomount.Tpo $(DEPDIR)/mount-lomount.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='lomount.c' object='mount-lomount.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-lomount.o `test -f 'lomount.c' || echo '$(srcdir)/'`lomount.c
+
+mount-lomount.obj: lomount.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-lomount.obj -MD -MP -MF $(DEPDIR)/mount-lomount.Tpo -c -o mount-lomount.obj `if test -f 'lomount.c'; then $(CYGPATH_W) 'lomount.c'; else $(CYGPATH_W) '$(srcdir)/lomount.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount-lomount.Tpo $(DEPDIR)/mount-lomount.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='lomount.c' object='mount-lomount.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-lomount.obj `if test -f 'lomount.c'; then $(CYGPATH_W) 'lomount.c'; else $(CYGPATH_W) '$(srcdir)/lomount.c'; fi`
+
+mount-devname.o: devname.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-devname.o -MD -MP -MF $(DEPDIR)/mount-devname.Tpo -c -o mount-devname.o `test -f 'devname.c' || echo '$(srcdir)/'`devname.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount-devname.Tpo $(DEPDIR)/mount-devname.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='devname.c' object='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-devname.o `test -f 'devname.c' || echo '$(srcdir)/'`devname.c
+
+mount-devname.obj: devname.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-devname.obj -MD -MP -MF $(DEPDIR)/mount-devname.Tpo -c -o mount-devname.obj `if test -f 'devname.c'; then $(CYGPATH_W) 'devname.c'; else $(CYGPATH_W) '$(srcdir)/devname.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount-devname.Tpo $(DEPDIR)/mount-devname.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='devname.c' object='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-devname.obj `if test -f 'devname.c'; then $(CYGPATH_W) 'devname.c'; else $(CYGPATH_W) '$(srcdir)/devname.c'; fi`
+
+mount-sundries.o: sundries.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-sundries.o -MD -MP -MF $(DEPDIR)/mount-sundries.Tpo -c -o mount-sundries.o `test -f 'sundries.c' || echo '$(srcdir)/'`sundries.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount-sundries.Tpo $(DEPDIR)/mount-sundries.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='sundries.c' object='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-sundries.o `test -f 'sundries.c' || echo '$(srcdir)/'`sundries.c
+
+mount-sundries.obj: sundries.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-sundries.obj -MD -MP -MF $(DEPDIR)/mount-sundries.Tpo -c -o mount-sundries.obj `if test -f 'sundries.c'; then $(CYGPATH_W) 'sundries.c'; else $(CYGPATH_W) '$(srcdir)/sundries.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount-sundries.Tpo $(DEPDIR)/mount-sundries.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='sundries.c' object='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-sundries.obj `if test -f 'sundries.c'; then $(CYGPATH_W) 'sundries.c'; else $(CYGPATH_W) '$(srcdir)/sundries.c'; fi`
+
+mount-xmalloc.o: xmalloc.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-xmalloc.o -MD -MP -MF $(DEPDIR)/mount-xmalloc.Tpo -c -o mount-xmalloc.o `test -f 'xmalloc.c' || echo '$(srcdir)/'`xmalloc.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount-xmalloc.Tpo $(DEPDIR)/mount-xmalloc.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='xmalloc.c' object='mount-xmalloc.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-xmalloc.o `test -f 'xmalloc.c' || echo '$(srcdir)/'`xmalloc.c
+
+mount-xmalloc.obj: xmalloc.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-xmalloc.obj -MD -MP -MF $(DEPDIR)/mount-xmalloc.Tpo -c -o mount-xmalloc.obj `if test -f 'xmalloc.c'; then $(CYGPATH_W) 'xmalloc.c'; else $(CYGPATH_W) '$(srcdir)/xmalloc.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount-xmalloc.Tpo $(DEPDIR)/mount-xmalloc.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='xmalloc.c' object='mount-xmalloc.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-xmalloc.obj `if test -f 'xmalloc.c'; then $(CYGPATH_W) 'xmalloc.c'; else $(CYGPATH_W) '$(srcdir)/xmalloc.c'; fi`
+
+mount-canonicalize.o: ../lib/canonicalize.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-canonicalize.o -MD -MP -MF $(DEPDIR)/mount-canonicalize.Tpo -c -o mount-canonicalize.o `test -f '../lib/canonicalize.c' || echo '$(srcdir)/'`../lib/canonicalize.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount-canonicalize.Tpo $(DEPDIR)/mount-canonicalize.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/canonicalize.c' object='mount-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) $(mount_CFLAGS) $(CFLAGS) -c -o mount-canonicalize.o `test -f '../lib/canonicalize.c' || echo '$(srcdir)/'`../lib/canonicalize.c
+
+mount-canonicalize.obj: ../lib/canonicalize.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-canonicalize.obj -MD -MP -MF $(DEPDIR)/mount-canonicalize.Tpo -c -o mount-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__mv) $(DEPDIR)/mount-canonicalize.Tpo $(DEPDIR)/mount-canonicalize.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/canonicalize.c' object='mount-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) $(mount_CFLAGS) $(CFLAGS) -c -o mount-canonicalize.obj `if test -f '../lib/canonicalize.c'; then $(CYGPATH_W) '../lib/canonicalize.c'; else $(CYGPATH_W) '$(srcdir)/../lib/canonicalize.c'; fi`
+
+mount-env.o: ../lib/env.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-env.o -MD -MP -MF $(DEPDIR)/mount-env.Tpo -c -o mount-env.o `test -f '../lib/env.c' || echo '$(srcdir)/'`../lib/env.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount-env.Tpo $(DEPDIR)/mount-env.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/env.c' object='mount-env.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-env.o `test -f '../lib/env.c' || echo '$(srcdir)/'`../lib/env.c
+
+mount-env.obj: ../lib/env.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-env.obj -MD -MP -MF $(DEPDIR)/mount-env.Tpo -c -o mount-env.obj `if test -f '../lib/env.c'; then $(CYGPATH_W) '../lib/env.c'; else $(CYGPATH_W) '$(srcdir)/../lib/env.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount-env.Tpo $(DEPDIR)/mount-env.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/env.c' object='mount-env.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-env.obj `if test -f '../lib/env.c'; then $(CYGPATH_W) '../lib/env.c'; else $(CYGPATH_W) '$(srcdir)/../lib/env.c'; fi`
+
+mount-linux_version.o: ../lib/linux_version.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-linux_version.o -MD -MP -MF $(DEPDIR)/mount-linux_version.Tpo -c -o mount-linux_version.o `test -f '../lib/linux_version.c' || echo '$(srcdir)/'`../lib/linux_version.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount-linux_version.Tpo $(DEPDIR)/mount-linux_version.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/linux_version.c' object='mount-linux_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) $(mount_CFLAGS) $(CFLAGS) -c -o mount-linux_version.o `test -f '../lib/linux_version.c' || echo '$(srcdir)/'`../lib/linux_version.c
+
+mount-linux_version.obj: ../lib/linux_version.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-linux_version.obj -MD -MP -MF $(DEPDIR)/mount-linux_version.Tpo -c -o mount-linux_version.obj `if test -f '../lib/linux_version.c'; then $(CYGPATH_W) '../lib/linux_version.c'; else $(CYGPATH_W) '$(srcdir)/../lib/linux_version.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount-linux_version.Tpo $(DEPDIR)/mount-linux_version.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/linux_version.c' object='mount-linux_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) $(mount_CFLAGS) $(CFLAGS) -c -o mount-linux_version.obj `if test -f '../lib/linux_version.c'; then $(CYGPATH_W) '../lib/linux_version.c'; else $(CYGPATH_W) '$(srcdir)/../lib/linux_version.c'; fi`
+
+mount-blkdev.o: ../lib/blkdev.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-blkdev.o -MD -MP -MF $(DEPDIR)/mount-blkdev.Tpo -c -o mount-blkdev.o `test -f '../lib/blkdev.c' || echo '$(srcdir)/'`../lib/blkdev.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount-blkdev.Tpo $(DEPDIR)/mount-blkdev.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/blkdev.c' object='mount-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) $(mount_CFLAGS) $(CFLAGS) -c -o mount-blkdev.o `test -f '../lib/blkdev.c' || echo '$(srcdir)/'`../lib/blkdev.c
+
+mount-blkdev.obj: ../lib/blkdev.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-blkdev.obj -MD -MP -MF $(DEPDIR)/mount-blkdev.Tpo -c -o mount-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__mv) $(DEPDIR)/mount-blkdev.Tpo $(DEPDIR)/mount-blkdev.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/blkdev.c' object='mount-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) $(mount_CFLAGS) $(CFLAGS) -c -o mount-blkdev.obj `if test -f '../lib/blkdev.c'; then $(CYGPATH_W) '../lib/blkdev.c'; else $(CYGPATH_W) '$(srcdir)/../lib/blkdev.c'; fi`
+
+mount-fsprobe.o: ../lib/fsprobe.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-fsprobe.o -MD -MP -MF $(DEPDIR)/mount-fsprobe.Tpo -c -o mount-fsprobe.o `test -f '../lib/fsprobe.c' || echo '$(srcdir)/'`../lib/fsprobe.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount-fsprobe.Tpo $(DEPDIR)/mount-fsprobe.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/fsprobe.c' object='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-fsprobe.o `test -f '../lib/fsprobe.c' || echo '$(srcdir)/'`../lib/fsprobe.c
+
+mount-fsprobe.obj: ../lib/fsprobe.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-fsprobe.obj -MD -MP -MF $(DEPDIR)/mount-fsprobe.Tpo -c -o mount-fsprobe.obj `if test -f '../lib/fsprobe.c'; then $(CYGPATH_W) '../lib/fsprobe.c'; else $(CYGPATH_W) '$(srcdir)/../lib/fsprobe.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount-fsprobe.Tpo $(DEPDIR)/mount-fsprobe.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/fsprobe.c' object='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-fsprobe.obj `if test -f '../lib/fsprobe.c'; then $(CYGPATH_W) '../lib/fsprobe.c'; else $(CYGPATH_W) '$(srcdir)/../lib/fsprobe.c'; fi`
+
+mount-setproctitle.o: ../lib/setproctitle.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-setproctitle.o -MD -MP -MF $(DEPDIR)/mount-setproctitle.Tpo -c -o mount-setproctitle.o `test -f '../lib/setproctitle.c' || echo '$(srcdir)/'`../lib/setproctitle.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount-setproctitle.Tpo $(DEPDIR)/mount-setproctitle.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/setproctitle.c' object='mount-setproctitle.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-setproctitle.o `test -f '../lib/setproctitle.c' || echo '$(srcdir)/'`../lib/setproctitle.c
+
+mount-setproctitle.obj: ../lib/setproctitle.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-setproctitle.obj -MD -MP -MF $(DEPDIR)/mount-setproctitle.Tpo -c -o mount-setproctitle.obj `if test -f '../lib/setproctitle.c'; then $(CYGPATH_W) '../lib/setproctitle.c'; else $(CYGPATH_W) '$(srcdir)/../lib/setproctitle.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount-setproctitle.Tpo $(DEPDIR)/mount-setproctitle.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/setproctitle.c' object='mount-setproctitle.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-setproctitle.obj `if test -f '../lib/setproctitle.c'; then $(CYGPATH_W) '../lib/setproctitle.c'; else $(CYGPATH_W) '$(srcdir)/../lib/setproctitle.c'; fi`
+
+mount_static-mount.o: mount.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -MT mount_static-mount.o -MD -MP -MF $(DEPDIR)/mount_static-mount.Tpo -c -o mount_static-mount.o `test -f 'mount.c' || echo '$(srcdir)/'`mount.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount_static-mount.Tpo $(DEPDIR)/mount_static-mount.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='mount.c' object='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_static-mount.o `test -f 'mount.c' || echo '$(srcdir)/'`mount.c
+
+mount_static-mount.obj: mount.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -MT mount_static-mount.obj -MD -MP -MF $(DEPDIR)/mount_static-mount.Tpo -c -o mount_static-mount.obj `if test -f 'mount.c'; then $(CYGPATH_W) 'mount.c'; else $(CYGPATH_W) '$(srcdir)/mount.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount_static-mount.Tpo $(DEPDIR)/mount_static-mount.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='mount.c' object='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_static-mount.obj `if test -f 'mount.c'; then $(CYGPATH_W) 'mount.c'; else $(CYGPATH_W) '$(srcdir)/mount.c'; fi`
+
+mount_static-fstab.o: fstab.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -MT mount_static-fstab.o -MD -MP -MF $(DEPDIR)/mount_static-fstab.Tpo -c -o mount_static-fstab.o `test -f 'fstab.c' || echo '$(srcdir)/'`fstab.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount_static-fstab.Tpo $(DEPDIR)/mount_static-fstab.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='fstab.c' object='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_static-fstab.o `test -f 'fstab.c' || echo '$(srcdir)/'`fstab.c
+
+mount_static-fstab.obj: fstab.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -MT mount_static-fstab.obj -MD -MP -MF $(DEPDIR)/mount_static-fstab.Tpo -c -o mount_static-fstab.obj `if test -f 'fstab.c'; then $(CYGPATH_W) 'fstab.c'; else $(CYGPATH_W) '$(srcdir)/fstab.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount_static-fstab.Tpo $(DEPDIR)/mount_static-fstab.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='fstab.c' object='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_static-fstab.obj `if test -f 'fstab.c'; then $(CYGPATH_W) 'fstab.c'; else $(CYGPATH_W) '$(srcdir)/fstab.c'; fi`
+
+mount_static-mount_mntent.o: mount_mntent.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -MT mount_static-mount_mntent.o -MD -MP -MF $(DEPDIR)/mount_static-mount_mntent.Tpo -c -o mount_static-mount_mntent.o `test -f 'mount_mntent.c' || echo '$(srcdir)/'`mount_mntent.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount_static-mount_mntent.Tpo $(DEPDIR)/mount_static-mount_mntent.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='mount_mntent.c' object='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_static-mount_mntent.o `test -f 'mount_mntent.c' || echo '$(srcdir)/'`mount_mntent.c
+
+mount_static-mount_mntent.obj: mount_mntent.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -MT mount_static-mount_mntent.obj -MD -MP -MF $(DEPDIR)/mount_static-mount_mntent.Tpo -c -o mount_static-mount_mntent.obj `if test -f 'mount_mntent.c'; then $(CYGPATH_W) 'mount_mntent.c'; else $(CYGPATH_W) '$(srcdir)/mount_mntent.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount_static-mount_mntent.Tpo $(DEPDIR)/mount_static-mount_mntent.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='mount_mntent.c' object='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_static-mount_mntent.obj `if test -f 'mount_mntent.c'; then $(CYGPATH_W) 'mount_mntent.c'; else $(CYGPATH_W) '$(srcdir)/mount_mntent.c'; fi`
+
+mount_static-getusername.o: getusername.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -MT mount_static-getusername.o -MD -MP -MF $(DEPDIR)/mount_static-getusername.Tpo -c -o mount_static-getusername.o `test -f 'getusername.c' || echo '$(srcdir)/'`getusername.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount_static-getusername.Tpo $(DEPDIR)/mount_static-getusername.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='getusername.c' object='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_static-getusername.o `test -f 'getusername.c' || echo '$(srcdir)/'`getusername.c
+
+mount_static-getusername.obj: getusername.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -MT mount_static-getusername.obj -MD -MP -MF $(DEPDIR)/mount_static-getusername.Tpo -c -o mount_static-getusername.obj `if test -f 'getusername.c'; then $(CYGPATH_W) 'getusername.c'; else $(CYGPATH_W) '$(srcdir)/getusername.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount_static-getusername.Tpo $(DEPDIR)/mount_static-getusername.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='getusername.c' object='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_static-getusername.obj `if test -f 'getusername.c'; then $(CYGPATH_W) 'getusername.c'; else $(CYGPATH_W) '$(srcdir)/getusername.c'; fi`
+
+mount_static-lomount.o: lomount.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -MT mount_static-lomount.o -MD -MP -MF $(DEPDIR)/mount_static-lomount.Tpo -c -o mount_static-lomount.o `test -f 'lomount.c' || echo '$(srcdir)/'`lomount.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount_static-lomount.Tpo $(DEPDIR)/mount_static-lomount.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='lomount.c' object='mount_static-lomount.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_static-lomount.o `test -f 'lomount.c' || echo '$(srcdir)/'`lomount.c
+
+mount_static-lomount.obj: lomount.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -MT mount_static-lomount.obj -MD -MP -MF $(DEPDIR)/mount_static-lomount.Tpo -c -o mount_static-lomount.obj `if test -f 'lomount.c'; then $(CYGPATH_W) 'lomount.c'; else $(CYGPATH_W) '$(srcdir)/lomount.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount_static-lomount.Tpo $(DEPDIR)/mount_static-lomount.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='lomount.c' object='mount_static-lomount.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_static-lomount.obj `if test -f 'lomount.c'; then $(CYGPATH_W) 'lomount.c'; else $(CYGPATH_W) '$(srcdir)/lomount.c'; fi`
+
+mount_static-devname.o: devname.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -MT mount_static-devname.o -MD -MP -MF $(DEPDIR)/mount_static-devname.Tpo -c -o mount_static-devname.o `test -f 'devname.c' || echo '$(srcdir)/'`devname.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount_static-devname.Tpo $(DEPDIR)/mount_static-devname.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='devname.c' object='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_static-devname.o `test -f 'devname.c' || echo '$(srcdir)/'`devname.c
+
+mount_static-devname.obj: devname.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -MT mount_static-devname.obj -MD -MP -MF $(DEPDIR)/mount_static-devname.Tpo -c -o mount_static-devname.obj `if test -f 'devname.c'; then $(CYGPATH_W) 'devname.c'; else $(CYGPATH_W) '$(srcdir)/devname.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount_static-devname.Tpo $(DEPDIR)/mount_static-devname.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='devname.c' object='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_static-devname.obj `if test -f 'devname.c'; then $(CYGPATH_W) 'devname.c'; else $(CYGPATH_W) '$(srcdir)/devname.c'; fi`
+
+mount_static-sundries.o: sundries.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -MT mount_static-sundries.o -MD -MP -MF $(DEPDIR)/mount_static-sundries.Tpo -c -o mount_static-sundries.o `test -f 'sundries.c' || echo '$(srcdir)/'`sundries.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount_static-sundries.Tpo $(DEPDIR)/mount_static-sundries.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='sundries.c' object='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_static-sundries.o `test -f 'sundries.c' || echo '$(srcdir)/'`sundries.c
+
+mount_static-sundries.obj: sundries.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -MT mount_static-sundries.obj -MD -MP -MF $(DEPDIR)/mount_static-sundries.Tpo -c -o mount_static-sundries.obj `if test -f 'sundries.c'; then $(CYGPATH_W) 'sundries.c'; else $(CYGPATH_W) '$(srcdir)/sundries.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount_static-sundries.Tpo $(DEPDIR)/mount_static-sundries.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='sundries.c' object='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_static-sundries.obj `if test -f 'sundries.c'; then $(CYGPATH_W) 'sundries.c'; else $(CYGPATH_W) '$(srcdir)/sundries.c'; fi`
+
+mount_static-xmalloc.o: xmalloc.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -MT mount_static-xmalloc.o -MD -MP -MF $(DEPDIR)/mount_static-xmalloc.Tpo -c -o mount_static-xmalloc.o `test -f 'xmalloc.c' || echo '$(srcdir)/'`xmalloc.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount_static-xmalloc.Tpo $(DEPDIR)/mount_static-xmalloc.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='xmalloc.c' object='mount_static-xmalloc.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_static-xmalloc.o `test -f 'xmalloc.c' || echo '$(srcdir)/'`xmalloc.c
+
+mount_static-xmalloc.obj: xmalloc.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -MT mount_static-xmalloc.obj -MD -MP -MF $(DEPDIR)/mount_static-xmalloc.Tpo -c -o mount_static-xmalloc.obj `if test -f 'xmalloc.c'; then $(CYGPATH_W) 'xmalloc.c'; else $(CYGPATH_W) '$(srcdir)/xmalloc.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount_static-xmalloc.Tpo $(DEPDIR)/mount_static-xmalloc.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='xmalloc.c' object='mount_static-xmalloc.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_static-xmalloc.obj `if test -f 'xmalloc.c'; then $(CYGPATH_W) 'xmalloc.c'; else $(CYGPATH_W) '$(srcdir)/xmalloc.c'; fi`
+
+mount_static-canonicalize.o: ../lib/canonicalize.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -MT mount_static-canonicalize.o -MD -MP -MF $(DEPDIR)/mount_static-canonicalize.Tpo -c -o mount_static-canonicalize.o `test -f '../lib/canonicalize.c' || echo '$(srcdir)/'`../lib/canonicalize.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount_static-canonicalize.Tpo $(DEPDIR)/mount_static-canonicalize.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/canonicalize.c' object='mount_static-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) $(mount_static_CFLAGS) $(CFLAGS) -c -o mount_static-canonicalize.o `test -f '../lib/canonicalize.c' || echo '$(srcdir)/'`../lib/canonicalize.c
+
+mount_static-canonicalize.obj: ../lib/canonicalize.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -MT mount_static-canonicalize.obj -MD -MP -MF $(DEPDIR)/mount_static-canonicalize.Tpo -c -o mount_static-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__mv) $(DEPDIR)/mount_static-canonicalize.Tpo $(DEPDIR)/mount_static-canonicalize.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/canonicalize.c' object='mount_static-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) $(mount_static_CFLAGS) $(CFLAGS) -c -o mount_static-canonicalize.obj `if test -f '../lib/canonicalize.c'; then $(CYGPATH_W) '../lib/canonicalize.c'; else $(CYGPATH_W) '$(srcdir)/../lib/canonicalize.c'; fi`
+
+mount_static-env.o: ../lib/env.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -MT mount_static-env.o -MD -MP -MF $(DEPDIR)/mount_static-env.Tpo -c -o mount_static-env.o `test -f '../lib/env.c' || echo '$(srcdir)/'`../lib/env.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount_static-env.Tpo $(DEPDIR)/mount_static-env.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/env.c' object='mount_static-env.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_static-env.o `test -f '../lib/env.c' || echo '$(srcdir)/'`../lib/env.c
+
+mount_static-env.obj: ../lib/env.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -MT mount_static-env.obj -MD -MP -MF $(DEPDIR)/mount_static-env.Tpo -c -o mount_static-env.obj `if test -f '../lib/env.c'; then $(CYGPATH_W) '../lib/env.c'; else $(CYGPATH_W) '$(srcdir)/../lib/env.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount_static-env.Tpo $(DEPDIR)/mount_static-env.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/env.c' object='mount_static-env.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_static-env.obj `if test -f '../lib/env.c'; then $(CYGPATH_W) '../lib/env.c'; else $(CYGPATH_W) '$(srcdir)/../lib/env.c'; fi`
+
+mount_static-linux_version.o: ../lib/linux_version.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -MT mount_static-linux_version.o -MD -MP -MF $(DEPDIR)/mount_static-linux_version.Tpo -c -o mount_static-linux_version.o `test -f '../lib/linux_version.c' || echo '$(srcdir)/'`../lib/linux_version.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount_static-linux_version.Tpo $(DEPDIR)/mount_static-linux_version.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/linux_version.c' object='mount_static-linux_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) $(mount_static_CFLAGS) $(CFLAGS) -c -o mount_static-linux_version.o `test -f '../lib/linux_version.c' || echo '$(srcdir)/'`../lib/linux_version.c
+
+mount_static-linux_version.obj: ../lib/linux_version.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -MT mount_static-linux_version.obj -MD -MP -MF $(DEPDIR)/mount_static-linux_version.Tpo -c -o mount_static-linux_version.obj `if test -f '../lib/linux_version.c'; then $(CYGPATH_W) '../lib/linux_version.c'; else $(CYGPATH_W) '$(srcdir)/../lib/linux_version.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount_static-linux_version.Tpo $(DEPDIR)/mount_static-linux_version.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/linux_version.c' object='mount_static-linux_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) $(mount_static_CFLAGS) $(CFLAGS) -c -o mount_static-linux_version.obj `if test -f '../lib/linux_version.c'; then $(CYGPATH_W) '../lib/linux_version.c'; else $(CYGPATH_W) '$(srcdir)/../lib/linux_version.c'; fi`
+
+mount_static-blkdev.o: ../lib/blkdev.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -MT mount_static-blkdev.o -MD -MP -MF $(DEPDIR)/mount_static-blkdev.Tpo -c -o mount_static-blkdev.o `test -f '../lib/blkdev.c' || echo '$(srcdir)/'`../lib/blkdev.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount_static-blkdev.Tpo $(DEPDIR)/mount_static-blkdev.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/blkdev.c' object='mount_static-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) $(mount_static_CFLAGS) $(CFLAGS) -c -o mount_static-blkdev.o `test -f '../lib/blkdev.c' || echo '$(srcdir)/'`../lib/blkdev.c
+
+mount_static-blkdev.obj: ../lib/blkdev.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -MT mount_static-blkdev.obj -MD -MP -MF $(DEPDIR)/mount_static-blkdev.Tpo -c -o mount_static-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__mv) $(DEPDIR)/mount_static-blkdev.Tpo $(DEPDIR)/mount_static-blkdev.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/blkdev.c' object='mount_static-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) $(mount_static_CFLAGS) $(CFLAGS) -c -o mount_static-blkdev.obj `if test -f '../lib/blkdev.c'; then $(CYGPATH_W) '../lib/blkdev.c'; else $(CYGPATH_W) '$(srcdir)/../lib/blkdev.c'; fi`
+
+mount_static-fsprobe.o: ../lib/fsprobe.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -MT mount_static-fsprobe.o -MD -MP -MF $(DEPDIR)/mount_static-fsprobe.Tpo -c -o mount_static-fsprobe.o `test -f '../lib/fsprobe.c' || echo '$(srcdir)/'`../lib/fsprobe.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount_static-fsprobe.Tpo $(DEPDIR)/mount_static-fsprobe.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/fsprobe.c' object='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_static-fsprobe.o `test -f '../lib/fsprobe.c' || echo '$(srcdir)/'`../lib/fsprobe.c
+
+mount_static-fsprobe.obj: ../lib/fsprobe.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -MT mount_static-fsprobe.obj -MD -MP -MF $(DEPDIR)/mount_static-fsprobe.Tpo -c -o mount_static-fsprobe.obj `if test -f '../lib/fsprobe.c'; then $(CYGPATH_W) '../lib/fsprobe.c'; else $(CYGPATH_W) '$(srcdir)/../lib/fsprobe.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount_static-fsprobe.Tpo $(DEPDIR)/mount_static-fsprobe.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/fsprobe.c' object='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_static-fsprobe.obj `if test -f '../lib/fsprobe.c'; then $(CYGPATH_W) '../lib/fsprobe.c'; else $(CYGPATH_W) '$(srcdir)/../lib/fsprobe.c'; fi`
+
+mount_static-setproctitle.o: ../lib/setproctitle.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -MT mount_static-setproctitle.o -MD -MP -MF $(DEPDIR)/mount_static-setproctitle.Tpo -c -o mount_static-setproctitle.o `test -f '../lib/setproctitle.c' || echo '$(srcdir)/'`../lib/setproctitle.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount_static-setproctitle.Tpo $(DEPDIR)/mount_static-setproctitle.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/setproctitle.c' object='mount_static-setproctitle.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_static-setproctitle.o `test -f '../lib/setproctitle.c' || echo '$(srcdir)/'`../lib/setproctitle.c
+
+mount_static-setproctitle.obj: ../lib/setproctitle.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_static_CFLAGS) $(CFLAGS) -MT mount_static-setproctitle.obj -MD -MP -MF $(DEPDIR)/mount_static-setproctitle.Tpo -c -o mount_static-setproctitle.obj `if test -f '../lib/setproctitle.c'; then $(CYGPATH_W) '../lib/setproctitle.c'; else $(CYGPATH_W) '$(srcdir)/../lib/setproctitle.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mount_static-setproctitle.Tpo $(DEPDIR)/mount_static-setproctitle.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/setproctitle.c' object='mount_static-setproctitle.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_static-setproctitle.obj `if test -f '../lib/setproctitle.c'; then $(CYGPATH_W) '../lib/setproctitle.c'; else $(CYGPATH_W) '$(srcdir)/../lib/setproctitle.c'; fi`
+
+mtab_lock_test-fstab.o: fstab.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mtab_lock_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mtab_lock_test-fstab.o -MD -MP -MF $(DEPDIR)/mtab_lock_test-fstab.Tpo -c -o mtab_lock_test-fstab.o `test -f 'fstab.c' || echo '$(srcdir)/'`fstab.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mtab_lock_test-fstab.Tpo $(DEPDIR)/mtab_lock_test-fstab.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='fstab.c' object='mtab_lock_test-fstab.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mtab_lock_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mtab_lock_test-fstab.o `test -f 'fstab.c' || echo '$(srcdir)/'`fstab.c
+
+mtab_lock_test-fstab.obj: fstab.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mtab_lock_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mtab_lock_test-fstab.obj -MD -MP -MF $(DEPDIR)/mtab_lock_test-fstab.Tpo -c -o mtab_lock_test-fstab.obj `if test -f 'fstab.c'; then $(CYGPATH_W) 'fstab.c'; else $(CYGPATH_W) '$(srcdir)/fstab.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mtab_lock_test-fstab.Tpo $(DEPDIR)/mtab_lock_test-fstab.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='fstab.c' object='mtab_lock_test-fstab.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mtab_lock_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mtab_lock_test-fstab.obj `if test -f 'fstab.c'; then $(CYGPATH_W) 'fstab.c'; else $(CYGPATH_W) '$(srcdir)/fstab.c'; fi`
+
+mtab_lock_test-sundries.o: sundries.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mtab_lock_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mtab_lock_test-sundries.o -MD -MP -MF $(DEPDIR)/mtab_lock_test-sundries.Tpo -c -o mtab_lock_test-sundries.o `test -f 'sundries.c' || echo '$(srcdir)/'`sundries.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mtab_lock_test-sundries.Tpo $(DEPDIR)/mtab_lock_test-sundries.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='sundries.c' object='mtab_lock_test-sundries.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mtab_lock_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mtab_lock_test-sundries.o `test -f 'sundries.c' || echo '$(srcdir)/'`sundries.c
+
+mtab_lock_test-sundries.obj: sundries.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mtab_lock_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mtab_lock_test-sundries.obj -MD -MP -MF $(DEPDIR)/mtab_lock_test-sundries.Tpo -c -o mtab_lock_test-sundries.obj `if test -f 'sundries.c'; then $(CYGPATH_W) 'sundries.c'; else $(CYGPATH_W) '$(srcdir)/sundries.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mtab_lock_test-sundries.Tpo $(DEPDIR)/mtab_lock_test-sundries.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='sundries.c' object='mtab_lock_test-sundries.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mtab_lock_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mtab_lock_test-sundries.obj `if test -f 'sundries.c'; then $(CYGPATH_W) 'sundries.c'; else $(CYGPATH_W) '$(srcdir)/sundries.c'; fi`
+
+mtab_lock_test-xmalloc.o: xmalloc.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mtab_lock_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mtab_lock_test-xmalloc.o -MD -MP -MF $(DEPDIR)/mtab_lock_test-xmalloc.Tpo -c -o mtab_lock_test-xmalloc.o `test -f 'xmalloc.c' || echo '$(srcdir)/'`xmalloc.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mtab_lock_test-xmalloc.Tpo $(DEPDIR)/mtab_lock_test-xmalloc.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='xmalloc.c' object='mtab_lock_test-xmalloc.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mtab_lock_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mtab_lock_test-xmalloc.o `test -f 'xmalloc.c' || echo '$(srcdir)/'`xmalloc.c
+
+mtab_lock_test-xmalloc.obj: xmalloc.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mtab_lock_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mtab_lock_test-xmalloc.obj -MD -MP -MF $(DEPDIR)/mtab_lock_test-xmalloc.Tpo -c -o mtab_lock_test-xmalloc.obj `if test -f 'xmalloc.c'; then $(CYGPATH_W) 'xmalloc.c'; else $(CYGPATH_W) '$(srcdir)/xmalloc.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mtab_lock_test-xmalloc.Tpo $(DEPDIR)/mtab_lock_test-xmalloc.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='xmalloc.c' object='mtab_lock_test-xmalloc.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mtab_lock_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mtab_lock_test-xmalloc.obj `if test -f 'xmalloc.c'; then $(CYGPATH_W) 'xmalloc.c'; else $(CYGPATH_W) '$(srcdir)/xmalloc.c'; fi`
+
+mtab_lock_test-canonicalize.o: ../lib/canonicalize.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mtab_lock_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mtab_lock_test-canonicalize.o -MD -MP -MF $(DEPDIR)/mtab_lock_test-canonicalize.Tpo -c -o mtab_lock_test-canonicalize.o `test -f '../lib/canonicalize.c' || echo '$(srcdir)/'`../lib/canonicalize.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mtab_lock_test-canonicalize.Tpo $(DEPDIR)/mtab_lock_test-canonicalize.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/canonicalize.c' object='mtab_lock_test-canonicalize.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mtab_lock_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mtab_lock_test-canonicalize.o `test -f '../lib/canonicalize.c' || echo '$(srcdir)/'`../lib/canonicalize.c
+
+mtab_lock_test-canonicalize.obj: ../lib/canonicalize.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mtab_lock_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mtab_lock_test-canonicalize.obj -MD -MP -MF $(DEPDIR)/mtab_lock_test-canonicalize.Tpo -c -o mtab_lock_test-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__mv) $(DEPDIR)/mtab_lock_test-canonicalize.Tpo $(DEPDIR)/mtab_lock_test-canonicalize.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/canonicalize.c' object='mtab_lock_test-canonicalize.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mtab_lock_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mtab_lock_test-canonicalize.obj `if test -f '../lib/canonicalize.c'; then $(CYGPATH_W) '../lib/canonicalize.c'; else $(CYGPATH_W) '$(srcdir)/../lib/canonicalize.c'; fi`
+
+swapon-swapon.o: swapon.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(swapon_CFLAGS) $(CFLAGS) -MT swapon-swapon.o -MD -MP -MF $(DEPDIR)/swapon-swapon.Tpo -c -o swapon-swapon.o `test -f 'swapon.c' || echo '$(srcdir)/'`swapon.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/swapon-swapon.Tpo $(DEPDIR)/swapon-swapon.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='swapon.c' object='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 swapon-swapon.o `test -f 'swapon.c' || echo '$(srcdir)/'`swapon.c
+
+swapon-swapon.obj: swapon.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(swapon_CFLAGS) $(CFLAGS) -MT swapon-swapon.obj -MD -MP -MF $(DEPDIR)/swapon-swapon.Tpo -c -o swapon-swapon.obj `if test -f 'swapon.c'; then $(CYGPATH_W) 'swapon.c'; else $(CYGPATH_W) '$(srcdir)/swapon.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/swapon-swapon.Tpo $(DEPDIR)/swapon-swapon.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='swapon.c' object='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 swapon-swapon.obj `if test -f 'swapon.c'; then $(CYGPATH_W) 'swapon.c'; else $(CYGPATH_W) '$(srcdir)/swapon.c'; fi`
+
+swapon-linux_version.o: ../lib/linux_version.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(swapon_CFLAGS) $(CFLAGS) -MT swapon-linux_version.o -MD -MP -MF $(DEPDIR)/swapon-linux_version.Tpo -c -o swapon-linux_version.o `test -f '../lib/linux_version.c' || echo '$(srcdir)/'`../lib/linux_version.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/swapon-linux_version.Tpo $(DEPDIR)/swapon-linux_version.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/linux_version.c' object='swapon-linux_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) $(swapon_CFLAGS) $(CFLAGS) -c -o swapon-linux_version.o `test -f '../lib/linux_version.c' || echo '$(srcdir)/'`../lib/linux_version.c
+
+swapon-linux_version.obj: ../lib/linux_version.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(swapon_CFLAGS) $(CFLAGS) -MT swapon-linux_version.obj -MD -MP -MF $(DEPDIR)/swapon-linux_version.Tpo -c -o swapon-linux_version.obj `if test -f '../lib/linux_version.c'; then $(CYGPATH_W) '../lib/linux_version.c'; else $(CYGPATH_W) '$(srcdir)/../lib/linux_version.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/swapon-linux_version.Tpo $(DEPDIR)/swapon-linux_version.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/linux_version.c' object='swapon-linux_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) $(swapon_CFLAGS) $(CFLAGS) -c -o swapon-linux_version.obj `if test -f '../lib/linux_version.c'; then $(CYGPATH_W) '../lib/linux_version.c'; else $(CYGPATH_W) '$(srcdir)/../lib/linux_version.c'; fi`
+
+swapon-blkdev.o: ../lib/blkdev.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(swapon_CFLAGS) $(CFLAGS) -MT swapon-blkdev.o -MD -MP -MF $(DEPDIR)/swapon-blkdev.Tpo -c -o swapon-blkdev.o `test -f '../lib/blkdev.c' || echo '$(srcdir)/'`../lib/blkdev.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/swapon-blkdev.Tpo $(DEPDIR)/swapon-blkdev.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/blkdev.c' object='swapon-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) $(swapon_CFLAGS) $(CFLAGS) -c -o swapon-blkdev.o `test -f '../lib/blkdev.c' || echo '$(srcdir)/'`../lib/blkdev.c
+
+swapon-blkdev.obj: ../lib/blkdev.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(swapon_CFLAGS) $(CFLAGS) -MT swapon-blkdev.obj -MD -MP -MF $(DEPDIR)/swapon-blkdev.Tpo -c -o swapon-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__mv) $(DEPDIR)/swapon-blkdev.Tpo $(DEPDIR)/swapon-blkdev.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/blkdev.c' object='swapon-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) $(swapon_CFLAGS) $(CFLAGS) -c -o swapon-blkdev.obj `if test -f '../lib/blkdev.c'; then $(CYGPATH_W) '../lib/blkdev.c'; else $(CYGPATH_W) '$(srcdir)/../lib/blkdev.c'; fi`
+
+swapon-fsprobe.o: ../lib/fsprobe.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(swapon_CFLAGS) $(CFLAGS) -MT swapon-fsprobe.o -MD -MP -MF $(DEPDIR)/swapon-fsprobe.Tpo -c -o swapon-fsprobe.o `test -f '../lib/fsprobe.c' || echo '$(srcdir)/'`../lib/fsprobe.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/swapon-fsprobe.Tpo $(DEPDIR)/swapon-fsprobe.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/fsprobe.c' object='swapon-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) $(swapon_CFLAGS) $(CFLAGS) -c -o swapon-fsprobe.o `test -f '../lib/fsprobe.c' || echo '$(srcdir)/'`../lib/fsprobe.c
+
+swapon-fsprobe.obj: ../lib/fsprobe.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(swapon_CFLAGS) $(CFLAGS) -MT swapon-fsprobe.obj -MD -MP -MF $(DEPDIR)/swapon-fsprobe.Tpo -c -o swapon-fsprobe.obj `if test -f '../lib/fsprobe.c'; then $(CYGPATH_W) '../lib/fsprobe.c'; else $(CYGPATH_W) '$(srcdir)/../lib/fsprobe.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/swapon-fsprobe.Tpo $(DEPDIR)/swapon-fsprobe.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/fsprobe.c' object='swapon-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) $(swapon_CFLAGS) $(CFLAGS) -c -o swapon-fsprobe.obj `if test -f '../lib/fsprobe.c'; then $(CYGPATH_W) '../lib/fsprobe.c'; else $(CYGPATH_W) '$(srcdir)/../lib/fsprobe.c'; fi`
+
+swapon-canonicalize.o: ../lib/canonicalize.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(swapon_CFLAGS) $(CFLAGS) -MT swapon-canonicalize.o -MD -MP -MF $(DEPDIR)/swapon-canonicalize.Tpo -c -o swapon-canonicalize.o `test -f '../lib/canonicalize.c' || echo '$(srcdir)/'`../lib/canonicalize.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/swapon-canonicalize.Tpo $(DEPDIR)/swapon-canonicalize.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/canonicalize.c' object='swapon-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) $(swapon_CFLAGS) $(CFLAGS) -c -o swapon-canonicalize.o `test -f '../lib/canonicalize.c' || echo '$(srcdir)/'`../lib/canonicalize.c
+
+swapon-canonicalize.obj: ../lib/canonicalize.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(swapon_CFLAGS) $(CFLAGS) -MT swapon-canonicalize.obj -MD -MP -MF $(DEPDIR)/swapon-canonicalize.Tpo -c -o swapon-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__mv) $(DEPDIR)/swapon-canonicalize.Tpo $(DEPDIR)/swapon-canonicalize.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/canonicalize.c' object='swapon-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) $(swapon_CFLAGS) $(CFLAGS) -c -o swapon-canonicalize.obj `if test -f '../lib/canonicalize.c'; then $(CYGPATH_W) '../lib/canonicalize.c'; else $(CYGPATH_W) '$(srcdir)/../lib/canonicalize.c'; fi`
+
+umount-umount.o: umount.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-umount.o -MD -MP -MF $(DEPDIR)/umount-umount.Tpo -c -o umount-umount.o `test -f 'umount.c' || echo '$(srcdir)/'`umount.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/umount-umount.Tpo $(DEPDIR)/umount-umount.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='umount.c' object='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 umount-umount.o `test -f 'umount.c' || echo '$(srcdir)/'`umount.c
+
+umount-umount.obj: umount.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-umount.obj -MD -MP -MF $(DEPDIR)/umount-umount.Tpo -c -o umount-umount.obj `if test -f 'umount.c'; then $(CYGPATH_W) 'umount.c'; else $(CYGPATH_W) '$(srcdir)/umount.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/umount-umount.Tpo $(DEPDIR)/umount-umount.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='umount.c' object='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 umount-umount.obj `if test -f 'umount.c'; then $(CYGPATH_W) 'umount.c'; else $(CYGPATH_W) '$(srcdir)/umount.c'; fi`
+
+umount-fstab.o: fstab.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-fstab.o -MD -MP -MF $(DEPDIR)/umount-fstab.Tpo -c -o umount-fstab.o `test -f 'fstab.c' || echo '$(srcdir)/'`fstab.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/umount-fstab.Tpo $(DEPDIR)/umount-fstab.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='fstab.c' object='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 umount-fstab.o `test -f 'fstab.c' || echo '$(srcdir)/'`fstab.c
+
+umount-fstab.obj: fstab.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-fstab.obj -MD -MP -MF $(DEPDIR)/umount-fstab.Tpo -c -o umount-fstab.obj `if test -f 'fstab.c'; then $(CYGPATH_W) 'fstab.c'; else $(CYGPATH_W) '$(srcdir)/fstab.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/umount-fstab.Tpo $(DEPDIR)/umount-fstab.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='fstab.c' object='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 umount-fstab.obj `if test -f 'fstab.c'; then $(CYGPATH_W) 'fstab.c'; else $(CYGPATH_W) '$(srcdir)/fstab.c'; fi`
+
+umount-mount_mntent.o: mount_mntent.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-mount_mntent.o -MD -MP -MF $(DEPDIR)/umount-mount_mntent.Tpo -c -o umount-mount_mntent.o `test -f 'mount_mntent.c' || echo '$(srcdir)/'`mount_mntent.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/umount-mount_mntent.Tpo $(DEPDIR)/umount-mount_mntent.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='mount_mntent.c' object='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 umount-mount_mntent.o `test -f 'mount_mntent.c' || echo '$(srcdir)/'`mount_mntent.c
+
+umount-mount_mntent.obj: mount_mntent.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-mount_mntent.obj -MD -MP -MF $(DEPDIR)/umount-mount_mntent.Tpo -c -o umount-mount_mntent.obj `if test -f 'mount_mntent.c'; then $(CYGPATH_W) 'mount_mntent.c'; else $(CYGPATH_W) '$(srcdir)/mount_mntent.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/umount-mount_mntent.Tpo $(DEPDIR)/umount-mount_mntent.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='mount_mntent.c' object='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 umount-mount_mntent.obj `if test -f 'mount_mntent.c'; then $(CYGPATH_W) 'mount_mntent.c'; else $(CYGPATH_W) '$(srcdir)/mount_mntent.c'; fi`
+
+umount-getusername.o: getusername.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-getusername.o -MD -MP -MF $(DEPDIR)/umount-getusername.Tpo -c -o umount-getusername.o `test -f 'getusername.c' || echo '$(srcdir)/'`getusername.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/umount-getusername.Tpo $(DEPDIR)/umount-getusername.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='getusername.c' object='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 umount-getusername.o `test -f 'getusername.c' || echo '$(srcdir)/'`getusername.c
+
+umount-getusername.obj: getusername.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-getusername.obj -MD -MP -MF $(DEPDIR)/umount-getusername.Tpo -c -o umount-getusername.obj `if test -f 'getusername.c'; then $(CYGPATH_W) 'getusername.c'; else $(CYGPATH_W) '$(srcdir)/getusername.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/umount-getusername.Tpo $(DEPDIR)/umount-getusername.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='getusername.c' object='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 umount-getusername.obj `if test -f 'getusername.c'; then $(CYGPATH_W) 'getusername.c'; else $(CYGPATH_W) '$(srcdir)/getusername.c'; fi`
+
+umount-lomount.o: lomount.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-lomount.o -MD -MP -MF $(DEPDIR)/umount-lomount.Tpo -c -o umount-lomount.o `test -f 'lomount.c' || echo '$(srcdir)/'`lomount.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/umount-lomount.Tpo $(DEPDIR)/umount-lomount.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='lomount.c' object='umount-lomount.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 umount-lomount.o `test -f 'lomount.c' || echo '$(srcdir)/'`lomount.c
+
+umount-lomount.obj: lomount.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-lomount.obj -MD -MP -MF $(DEPDIR)/umount-lomount.Tpo -c -o umount-lomount.obj `if test -f 'lomount.c'; then $(CYGPATH_W) 'lomount.c'; else $(CYGPATH_W) '$(srcdir)/lomount.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/umount-lomount.Tpo $(DEPDIR)/umount-lomount.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='lomount.c' object='umount-lomount.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 umount-lomount.obj `if test -f 'lomount.c'; then $(CYGPATH_W) 'lomount.c'; else $(CYGPATH_W) '$(srcdir)/lomount.c'; fi`
+
+umount-devname.o: devname.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-devname.o -MD -MP -MF $(DEPDIR)/umount-devname.Tpo -c -o umount-devname.o `test -f 'devname.c' || echo '$(srcdir)/'`devname.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/umount-devname.Tpo $(DEPDIR)/umount-devname.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='devname.c' object='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 umount-devname.o `test -f 'devname.c' || echo '$(srcdir)/'`devname.c
+
+umount-devname.obj: devname.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-devname.obj -MD -MP -MF $(DEPDIR)/umount-devname.Tpo -c -o umount-devname.obj `if test -f 'devname.c'; then $(CYGPATH_W) 'devname.c'; else $(CYGPATH_W) '$(srcdir)/devname.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/umount-devname.Tpo $(DEPDIR)/umount-devname.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='devname.c' object='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 umount-devname.obj `if test -f 'devname.c'; then $(CYGPATH_W) 'devname.c'; else $(CYGPATH_W) '$(srcdir)/devname.c'; fi`
+
+umount-sundries.o: sundries.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-sundries.o -MD -MP -MF $(DEPDIR)/umount-sundries.Tpo -c -o umount-sundries.o `test -f 'sundries.c' || echo '$(srcdir)/'`sundries.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/umount-sundries.Tpo $(DEPDIR)/umount-sundries.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='sundries.c' object='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 umount-sundries.o `test -f 'sundries.c' || echo '$(srcdir)/'`sundries.c
+
+umount-sundries.obj: sundries.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-sundries.obj -MD -MP -MF $(DEPDIR)/umount-sundries.Tpo -c -o umount-sundries.obj `if test -f 'sundries.c'; then $(CYGPATH_W) 'sundries.c'; else $(CYGPATH_W) '$(srcdir)/sundries.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/umount-sundries.Tpo $(DEPDIR)/umount-sundries.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='sundries.c' object='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 umount-sundries.obj `if test -f 'sundries.c'; then $(CYGPATH_W) 'sundries.c'; else $(CYGPATH_W) '$(srcdir)/sundries.c'; fi`
+
+umount-xmalloc.o: xmalloc.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-xmalloc.o -MD -MP -MF $(DEPDIR)/umount-xmalloc.Tpo -c -o umount-xmalloc.o `test -f 'xmalloc.c' || echo '$(srcdir)/'`xmalloc.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/umount-xmalloc.Tpo $(DEPDIR)/umount-xmalloc.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='xmalloc.c' object='umount-xmalloc.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 umount-xmalloc.o `test -f 'xmalloc.c' || echo '$(srcdir)/'`xmalloc.c
+
+umount-xmalloc.obj: xmalloc.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-xmalloc.obj -MD -MP -MF $(DEPDIR)/umount-xmalloc.Tpo -c -o umount-xmalloc.obj `if test -f 'xmalloc.c'; then $(CYGPATH_W) 'xmalloc.c'; else $(CYGPATH_W) '$(srcdir)/xmalloc.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/umount-xmalloc.Tpo $(DEPDIR)/umount-xmalloc.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='xmalloc.c' object='umount-xmalloc.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 umount-xmalloc.obj `if test -f 'xmalloc.c'; then $(CYGPATH_W) 'xmalloc.c'; else $(CYGPATH_W) '$(srcdir)/xmalloc.c'; fi`
+
+umount-canonicalize.o: ../lib/canonicalize.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-canonicalize.o -MD -MP -MF $(DEPDIR)/umount-canonicalize.Tpo -c -o umount-canonicalize.o `test -f '../lib/canonicalize.c' || echo '$(srcdir)/'`../lib/canonicalize.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/umount-canonicalize.Tpo $(DEPDIR)/umount-canonicalize.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/canonicalize.c' object='umount-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) $(umount_CFLAGS) $(CFLAGS) -c -o umount-canonicalize.o `test -f '../lib/canonicalize.c' || echo '$(srcdir)/'`../lib/canonicalize.c
+
+umount-canonicalize.obj: ../lib/canonicalize.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-canonicalize.obj -MD -MP -MF $(DEPDIR)/umount-canonicalize.Tpo -c -o umount-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__mv) $(DEPDIR)/umount-canonicalize.Tpo $(DEPDIR)/umount-canonicalize.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/canonicalize.c' object='umount-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) $(umount_CFLAGS) $(CFLAGS) -c -o umount-canonicalize.obj `if test -f '../lib/canonicalize.c'; then $(CYGPATH_W) '../lib/canonicalize.c'; else $(CYGPATH_W) '$(srcdir)/../lib/canonicalize.c'; fi`
+
+umount-env.o: ../lib/env.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-env.o -MD -MP -MF $(DEPDIR)/umount-env.Tpo -c -o umount-env.o `test -f '../lib/env.c' || echo '$(srcdir)/'`../lib/env.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/umount-env.Tpo $(DEPDIR)/umount-env.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/env.c' object='umount-env.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 umount-env.o `test -f '../lib/env.c' || echo '$(srcdir)/'`../lib/env.c
+
+umount-env.obj: ../lib/env.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-env.obj -MD -MP -MF $(DEPDIR)/umount-env.Tpo -c -o umount-env.obj `if test -f '../lib/env.c'; then $(CYGPATH_W) '../lib/env.c'; else $(CYGPATH_W) '$(srcdir)/../lib/env.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/umount-env.Tpo $(DEPDIR)/umount-env.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/env.c' object='umount-env.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 umount-env.obj `if test -f '../lib/env.c'; then $(CYGPATH_W) '../lib/env.c'; else $(CYGPATH_W) '$(srcdir)/../lib/env.c'; fi`
+
+umount-linux_version.o: ../lib/linux_version.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-linux_version.o -MD -MP -MF $(DEPDIR)/umount-linux_version.Tpo -c -o umount-linux_version.o `test -f '../lib/linux_version.c' || echo '$(srcdir)/'`../lib/linux_version.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/umount-linux_version.Tpo $(DEPDIR)/umount-linux_version.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/linux_version.c' object='umount-linux_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) $(umount_CFLAGS) $(CFLAGS) -c -o umount-linux_version.o `test -f '../lib/linux_version.c' || echo '$(srcdir)/'`../lib/linux_version.c
+
+umount-linux_version.obj: ../lib/linux_version.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-linux_version.obj -MD -MP -MF $(DEPDIR)/umount-linux_version.Tpo -c -o umount-linux_version.obj `if test -f '../lib/linux_version.c'; then $(CYGPATH_W) '../lib/linux_version.c'; else $(CYGPATH_W) '$(srcdir)/../lib/linux_version.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/umount-linux_version.Tpo $(DEPDIR)/umount-linux_version.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/linux_version.c' object='umount-linux_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) $(umount_CFLAGS) $(CFLAGS) -c -o umount-linux_version.obj `if test -f '../lib/linux_version.c'; then $(CYGPATH_W) '../lib/linux_version.c'; else $(CYGPATH_W) '$(srcdir)/../lib/linux_version.c'; fi`
+
+umount-blkdev.o: ../lib/blkdev.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-blkdev.o -MD -MP -MF $(DEPDIR)/umount-blkdev.Tpo -c -o umount-blkdev.o `test -f '../lib/blkdev.c' || echo '$(srcdir)/'`../lib/blkdev.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/umount-blkdev.Tpo $(DEPDIR)/umount-blkdev.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/blkdev.c' object='umount-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) $(umount_CFLAGS) $(CFLAGS) -c -o umount-blkdev.o `test -f '../lib/blkdev.c' || echo '$(srcdir)/'`../lib/blkdev.c
+
+umount-blkdev.obj: ../lib/blkdev.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-blkdev.obj -MD -MP -MF $(DEPDIR)/umount-blkdev.Tpo -c -o umount-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__mv) $(DEPDIR)/umount-blkdev.Tpo $(DEPDIR)/umount-blkdev.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/blkdev.c' object='umount-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) $(umount_CFLAGS) $(CFLAGS) -c -o umount-blkdev.obj `if test -f '../lib/blkdev.c'; then $(CYGPATH_W) '../lib/blkdev.c'; else $(CYGPATH_W) '$(srcdir)/../lib/blkdev.c'; fi`
+
+umount-fsprobe.o: ../lib/fsprobe.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-fsprobe.o -MD -MP -MF $(DEPDIR)/umount-fsprobe.Tpo -c -o umount-fsprobe.o `test -f '../lib/fsprobe.c' || echo '$(srcdir)/'`../lib/fsprobe.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/umount-fsprobe.Tpo $(DEPDIR)/umount-fsprobe.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/fsprobe.c' object='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 umount-fsprobe.o `test -f '../lib/fsprobe.c' || echo '$(srcdir)/'`../lib/fsprobe.c
+
+umount-fsprobe.obj: ../lib/fsprobe.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-fsprobe.obj -MD -MP -MF $(DEPDIR)/umount-fsprobe.Tpo -c -o umount-fsprobe.obj `if test -f '../lib/fsprobe.c'; then $(CYGPATH_W) '../lib/fsprobe.c'; else $(CYGPATH_W) '$(srcdir)/../lib/fsprobe.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/umount-fsprobe.Tpo $(DEPDIR)/umount-fsprobe.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/fsprobe.c' object='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 umount-fsprobe.obj `if test -f '../lib/fsprobe.c'; then $(CYGPATH_W) '../lib/fsprobe.c'; else $(CYGPATH_W) '$(srcdir)/../lib/fsprobe.c'; fi`
+
+umount_static-umount.o: umount.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -MT umount_static-umount.o -MD -MP -MF $(DEPDIR)/umount_static-umount.Tpo -c -o umount_static-umount.o `test -f 'umount.c' || echo '$(srcdir)/'`umount.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/umount_static-umount.Tpo $(DEPDIR)/umount_static-umount.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='umount.c' object='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 umount_static-umount.o `test -f 'umount.c' || echo '$(srcdir)/'`umount.c
+
+umount_static-umount.obj: umount.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -MT umount_static-umount.obj -MD -MP -MF $(DEPDIR)/umount_static-umount.Tpo -c -o umount_static-umount.obj `if test -f 'umount.c'; then $(CYGPATH_W) 'umount.c'; else $(CYGPATH_W) '$(srcdir)/umount.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/umount_static-umount.Tpo $(DEPDIR)/umount_static-umount.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='umount.c' object='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 umount_static-umount.obj `if test -f 'umount.c'; then $(CYGPATH_W) 'umount.c'; else $(CYGPATH_W) '$(srcdir)/umount.c'; fi`
+
+umount_static-fstab.o: fstab.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -MT umount_static-fstab.o -MD -MP -MF $(DEPDIR)/umount_static-fstab.Tpo -c -o umount_static-fstab.o `test -f 'fstab.c' || echo '$(srcdir)/'`fstab.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/umount_static-fstab.Tpo $(DEPDIR)/umount_static-fstab.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='fstab.c' object='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 umount_static-fstab.o `test -f 'fstab.c' || echo '$(srcdir)/'`fstab.c
+
+umount_static-fstab.obj: fstab.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -MT umount_static-fstab.obj -MD -MP -MF $(DEPDIR)/umount_static-fstab.Tpo -c -o umount_static-fstab.obj `if test -f 'fstab.c'; then $(CYGPATH_W) 'fstab.c'; else $(CYGPATH_W) '$(srcdir)/fstab.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/umount_static-fstab.Tpo $(DEPDIR)/umount_static-fstab.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='fstab.c' object='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 umount_static-fstab.obj `if test -f 'fstab.c'; then $(CYGPATH_W) 'fstab.c'; else $(CYGPATH_W) '$(srcdir)/fstab.c'; fi`
+
+umount_static-mount_mntent.o: mount_mntent.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -MT umount_static-mount_mntent.o -MD -MP -MF $(DEPDIR)/umount_static-mount_mntent.Tpo -c -o umount_static-mount_mntent.o `test -f 'mount_mntent.c' || echo '$(srcdir)/'`mount_mntent.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/umount_static-mount_mntent.Tpo $(DEPDIR)/umount_static-mount_mntent.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='mount_mntent.c' object='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 umount_static-mount_mntent.o `test -f 'mount_mntent.c' || echo '$(srcdir)/'`mount_mntent.c
+
+umount_static-mount_mntent.obj: mount_mntent.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -MT umount_static-mount_mntent.obj -MD -MP -MF $(DEPDIR)/umount_static-mount_mntent.Tpo -c -o umount_static-mount_mntent.obj `if test -f 'mount_mntent.c'; then $(CYGPATH_W) 'mount_mntent.c'; else $(CYGPATH_W) '$(srcdir)/mount_mntent.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/umount_static-mount_mntent.Tpo $(DEPDIR)/umount_static-mount_mntent.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='mount_mntent.c' object='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 umount_static-mount_mntent.obj `if test -f 'mount_mntent.c'; then $(CYGPATH_W) 'mount_mntent.c'; else $(CYGPATH_W) '$(srcdir)/mount_mntent.c'; fi`
+
+umount_static-getusername.o: getusername.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -MT umount_static-getusername.o -MD -MP -MF $(DEPDIR)/umount_static-getusername.Tpo -c -o umount_static-getusername.o `test -f 'getusername.c' || echo '$(srcdir)/'`getusername.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/umount_static-getusername.Tpo $(DEPDIR)/umount_static-getusername.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='getusername.c' object='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 umount_static-getusername.o `test -f 'getusername.c' || echo '$(srcdir)/'`getusername.c
+
+umount_static-getusername.obj: getusername.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -MT umount_static-getusername.obj -MD -MP -MF $(DEPDIR)/umount_static-getusername.Tpo -c -o umount_static-getusername.obj `if test -f 'getusername.c'; then $(CYGPATH_W) 'getusername.c'; else $(CYGPATH_W) '$(srcdir)/getusername.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/umount_static-getusername.Tpo $(DEPDIR)/umount_static-getusername.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='getusername.c' object='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 umount_static-getusername.obj `if test -f 'getusername.c'; then $(CYGPATH_W) 'getusername.c'; else $(CYGPATH_W) '$(srcdir)/getusername.c'; fi`
+
+umount_static-lomount.o: lomount.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -MT umount_static-lomount.o -MD -MP -MF $(DEPDIR)/umount_static-lomount.Tpo -c -o umount_static-lomount.o `test -f 'lomount.c' || echo '$(srcdir)/'`lomount.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/umount_static-lomount.Tpo $(DEPDIR)/umount_static-lomount.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='lomount.c' object='umount_static-lomount.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 umount_static-lomount.o `test -f 'lomount.c' || echo '$(srcdir)/'`lomount.c
+
+umount_static-lomount.obj: lomount.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -MT umount_static-lomount.obj -MD -MP -MF $(DEPDIR)/umount_static-lomount.Tpo -c -o umount_static-lomount.obj `if test -f 'lomount.c'; then $(CYGPATH_W) 'lomount.c'; else $(CYGPATH_W) '$(srcdir)/lomount.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/umount_static-lomount.Tpo $(DEPDIR)/umount_static-lomount.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='lomount.c' object='umount_static-lomount.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 umount_static-lomount.obj `if test -f 'lomount.c'; then $(CYGPATH_W) 'lomount.c'; else $(CYGPATH_W) '$(srcdir)/lomount.c'; fi`
+
+umount_static-devname.o: devname.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -MT umount_static-devname.o -MD -MP -MF $(DEPDIR)/umount_static-devname.Tpo -c -o umount_static-devname.o `test -f 'devname.c' || echo '$(srcdir)/'`devname.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/umount_static-devname.Tpo $(DEPDIR)/umount_static-devname.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='devname.c' object='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 umount_static-devname.o `test -f 'devname.c' || echo '$(srcdir)/'`devname.c
+
+umount_static-devname.obj: devname.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -MT umount_static-devname.obj -MD -MP -MF $(DEPDIR)/umount_static-devname.Tpo -c -o umount_static-devname.obj `if test -f 'devname.c'; then $(CYGPATH_W) 'devname.c'; else $(CYGPATH_W) '$(srcdir)/devname.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/umount_static-devname.Tpo $(DEPDIR)/umount_static-devname.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='devname.c' object='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 umount_static-devname.obj `if test -f 'devname.c'; then $(CYGPATH_W) 'devname.c'; else $(CYGPATH_W) '$(srcdir)/devname.c'; fi`
+
+umount_static-sundries.o: sundries.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -MT umount_static-sundries.o -MD -MP -MF $(DEPDIR)/umount_static-sundries.Tpo -c -o umount_static-sundries.o `test -f 'sundries.c' || echo '$(srcdir)/'`sundries.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/umount_static-sundries.Tpo $(DEPDIR)/umount_static-sundries.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='sundries.c' object='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 umount_static-sundries.o `test -f 'sundries.c' || echo '$(srcdir)/'`sundries.c
+
+umount_static-sundries.obj: sundries.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -MT umount_static-sundries.obj -MD -MP -MF $(DEPDIR)/umount_static-sundries.Tpo -c -o umount_static-sundries.obj `if test -f 'sundries.c'; then $(CYGPATH_W) 'sundries.c'; else $(CYGPATH_W) '$(srcdir)/sundries.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/umount_static-sundries.Tpo $(DEPDIR)/umount_static-sundries.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='sundries.c' object='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 umount_static-sundries.obj `if test -f 'sundries.c'; then $(CYGPATH_W) 'sundries.c'; else $(CYGPATH_W) '$(srcdir)/sundries.c'; fi`
+
+umount_static-xmalloc.o: xmalloc.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -MT umount_static-xmalloc.o -MD -MP -MF $(DEPDIR)/umount_static-xmalloc.Tpo -c -o umount_static-xmalloc.o `test -f 'xmalloc.c' || echo '$(srcdir)/'`xmalloc.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/umount_static-xmalloc.Tpo $(DEPDIR)/umount_static-xmalloc.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='xmalloc.c' object='umount_static-xmalloc.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 umount_static-xmalloc.o `test -f 'xmalloc.c' || echo '$(srcdir)/'`xmalloc.c
+
+umount_static-xmalloc.obj: xmalloc.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -MT umount_static-xmalloc.obj -MD -MP -MF $(DEPDIR)/umount_static-xmalloc.Tpo -c -o umount_static-xmalloc.obj `if test -f 'xmalloc.c'; then $(CYGPATH_W) 'xmalloc.c'; else $(CYGPATH_W) '$(srcdir)/xmalloc.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/umount_static-xmalloc.Tpo $(DEPDIR)/umount_static-xmalloc.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='xmalloc.c' object='umount_static-xmalloc.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 umount_static-xmalloc.obj `if test -f 'xmalloc.c'; then $(CYGPATH_W) 'xmalloc.c'; else $(CYGPATH_W) '$(srcdir)/xmalloc.c'; fi`
+
+umount_static-canonicalize.o: ../lib/canonicalize.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -MT umount_static-canonicalize.o -MD -MP -MF $(DEPDIR)/umount_static-canonicalize.Tpo -c -o umount_static-canonicalize.o `test -f '../lib/canonicalize.c' || echo '$(srcdir)/'`../lib/canonicalize.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/umount_static-canonicalize.Tpo $(DEPDIR)/umount_static-canonicalize.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/canonicalize.c' object='umount_static-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) $(umount_static_CFLAGS) $(CFLAGS) -c -o umount_static-canonicalize.o `test -f '../lib/canonicalize.c' || echo '$(srcdir)/'`../lib/canonicalize.c
+
+umount_static-canonicalize.obj: ../lib/canonicalize.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -MT umount_static-canonicalize.obj -MD -MP -MF $(DEPDIR)/umount_static-canonicalize.Tpo -c -o umount_static-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__mv) $(DEPDIR)/umount_static-canonicalize.Tpo $(DEPDIR)/umount_static-canonicalize.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/canonicalize.c' object='umount_static-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) $(umount_static_CFLAGS) $(CFLAGS) -c -o umount_static-canonicalize.obj `if test -f '../lib/canonicalize.c'; then $(CYGPATH_W) '../lib/canonicalize.c'; else $(CYGPATH_W) '$(srcdir)/../lib/canonicalize.c'; fi`
+
+umount_static-env.o: ../lib/env.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -MT umount_static-env.o -MD -MP -MF $(DEPDIR)/umount_static-env.Tpo -c -o umount_static-env.o `test -f '../lib/env.c' || echo '$(srcdir)/'`../lib/env.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/umount_static-env.Tpo $(DEPDIR)/umount_static-env.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/env.c' object='umount_static-env.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 umount_static-env.o `test -f '../lib/env.c' || echo '$(srcdir)/'`../lib/env.c
+
+umount_static-env.obj: ../lib/env.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -MT umount_static-env.obj -MD -MP -MF $(DEPDIR)/umount_static-env.Tpo -c -o umount_static-env.obj `if test -f '../lib/env.c'; then $(CYGPATH_W) '../lib/env.c'; else $(CYGPATH_W) '$(srcdir)/../lib/env.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/umount_static-env.Tpo $(DEPDIR)/umount_static-env.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/env.c' object='umount_static-env.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 umount_static-env.obj `if test -f '../lib/env.c'; then $(CYGPATH_W) '../lib/env.c'; else $(CYGPATH_W) '$(srcdir)/../lib/env.c'; fi`
+
+umount_static-linux_version.o: ../lib/linux_version.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -MT umount_static-linux_version.o -MD -MP -MF $(DEPDIR)/umount_static-linux_version.Tpo -c -o umount_static-linux_version.o `test -f '../lib/linux_version.c' || echo '$(srcdir)/'`../lib/linux_version.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/umount_static-linux_version.Tpo $(DEPDIR)/umount_static-linux_version.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/linux_version.c' object='umount_static-linux_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) $(umount_static_CFLAGS) $(CFLAGS) -c -o umount_static-linux_version.o `test -f '../lib/linux_version.c' || echo '$(srcdir)/'`../lib/linux_version.c
+
+umount_static-linux_version.obj: ../lib/linux_version.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -MT umount_static-linux_version.obj -MD -MP -MF $(DEPDIR)/umount_static-linux_version.Tpo -c -o umount_static-linux_version.obj `if test -f '../lib/linux_version.c'; then $(CYGPATH_W) '../lib/linux_version.c'; else $(CYGPATH_W) '$(srcdir)/../lib/linux_version.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/umount_static-linux_version.Tpo $(DEPDIR)/umount_static-linux_version.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/linux_version.c' object='umount_static-linux_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) $(umount_static_CFLAGS) $(CFLAGS) -c -o umount_static-linux_version.obj `if test -f '../lib/linux_version.c'; then $(CYGPATH_W) '../lib/linux_version.c'; else $(CYGPATH_W) '$(srcdir)/../lib/linux_version.c'; fi`
+
+umount_static-blkdev.o: ../lib/blkdev.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -MT umount_static-blkdev.o -MD -MP -MF $(DEPDIR)/umount_static-blkdev.Tpo -c -o umount_static-blkdev.o `test -f '../lib/blkdev.c' || echo '$(srcdir)/'`../lib/blkdev.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/umount_static-blkdev.Tpo $(DEPDIR)/umount_static-blkdev.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/blkdev.c' object='umount_static-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) $(umount_static_CFLAGS) $(CFLAGS) -c -o umount_static-blkdev.o `test -f '../lib/blkdev.c' || echo '$(srcdir)/'`../lib/blkdev.c
+
+umount_static-blkdev.obj: ../lib/blkdev.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -MT umount_static-blkdev.obj -MD -MP -MF $(DEPDIR)/umount_static-blkdev.Tpo -c -o umount_static-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__mv) $(DEPDIR)/umount_static-blkdev.Tpo $(DEPDIR)/umount_static-blkdev.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/blkdev.c' object='umount_static-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) $(umount_static_CFLAGS) $(CFLAGS) -c -o umount_static-blkdev.obj `if test -f '../lib/blkdev.c'; then $(CYGPATH_W) '../lib/blkdev.c'; else $(CYGPATH_W) '$(srcdir)/../lib/blkdev.c'; fi`
+
+umount_static-fsprobe.o: ../lib/fsprobe.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -MT umount_static-fsprobe.o -MD -MP -MF $(DEPDIR)/umount_static-fsprobe.Tpo -c -o umount_static-fsprobe.o `test -f '../lib/fsprobe.c' || echo '$(srcdir)/'`../lib/fsprobe.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/umount_static-fsprobe.Tpo $(DEPDIR)/umount_static-fsprobe.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/fsprobe.c' object='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 umount_static-fsprobe.o `test -f '../lib/fsprobe.c' || echo '$(srcdir)/'`../lib/fsprobe.c
+
+umount_static-fsprobe.obj: ../lib/fsprobe.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_static_CFLAGS) $(CFLAGS) -MT umount_static-fsprobe.obj -MD -MP -MF $(DEPDIR)/umount_static-fsprobe.Tpo -c -o umount_static-fsprobe.obj `if test -f '../lib/fsprobe.c'; then $(CYGPATH_W) '../lib/fsprobe.c'; else $(CYGPATH_W) '$(srcdir)/../lib/fsprobe.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/umount_static-fsprobe.Tpo $(DEPDIR)/umount_static-fsprobe.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/fsprobe.c' object='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 umount_static-fsprobe.obj `if test -f '../lib/fsprobe.c'; then $(CYGPATH_W) '../lib/fsprobe.c'; else $(CYGPATH_W) '$(srcdir)/../lib/fsprobe.c'; fi`
+
+mostlyclean-libtool:
+       -rm -f *.lo
+
+clean-libtool:
+       -rm -rf .libs _libs
+install-man5: $(dist_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)'; 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)'; 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)
+       @$(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)'; 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)'; 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; }
+
+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:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       set x; \
+       here=`pwd`; \
+       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; }; }'`; \
+       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:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       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; }; }'`; \
+       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
+
+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
+       @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 $(PROGRAMS) $(MANS) $(DATA)
+installdirs:
+       for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)"; do \
+         test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+       done
+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:
+
+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)
+
+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-binPROGRAMS clean-generic clean-libtool \
+       clean-noinstPROGRAMS clean-sbinPROGRAMS mostlyclean-am
+
+distclean: distclean-am
+       -rm -rf ./$(DEPDIR)
+       -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+       distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-man
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-binPROGRAMS install-sbinPROGRAMS
+       @$(NORMAL_INSTALL)
+       $(MAKE) $(AM_MAKEFLAGS) install-exec-hook
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man: install-man5 install-man8
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+       -rm -rf ./$(DEPDIR)
+       -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+       mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS uninstall-man \
+       uninstall-sbinPROGRAMS
+
+uninstall-man: uninstall-man5 uninstall-man8
+
+.MAKE: install-am install-exec-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
+       clean-generic clean-libtool clean-noinstPROGRAMS \
+       clean-sbinPROGRAMS ctags distclean distclean-compile \
+       distclean-generic distclean-libtool distclean-tags distdir dvi \
+       dvi-am html html-am info info-am install install-am \
+       install-binPROGRAMS install-data install-data-am 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-man5 install-man8 install-pdf \
+       install-pdf-am install-ps install-ps-am install-sbinPROGRAMS \
+       install-strip installcheck installcheck-am installdirs \
+       maintainer-clean maintainer-clean-generic mostlyclean \
+       mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+       pdf pdf-am ps ps-am tags uninstall uninstall-am \
+       uninstall-binPROGRAMS uninstall-man uninstall-man5 \
+       uninstall-man8 uninstall-sbinPROGRAMS
+
+
+$(ul_libblkid_la):
+       $(MAKE) -C $(ul_libblkid_builddir)
+
+$(ul_libuuid_la):
+       $(MAKE) -C $(ul_libuuid_builddir)
+
+install-exec-hook:
+       chmod 4755 $(DESTDIR)$(bindir)/mount
+       chmod 4755 $(DESTDIR)$(bindir)/umount
+       cd $(DESTDIR)$(sbindir) && ln -sf swapon swapoff
+
+# 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/mount/README.mount b/mount/README.mount
new file mode 100644 (file)
index 0000000..c7f317c
--- /dev/null
@@ -0,0 +1,11 @@
+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-ng maintained by Karel Zak <kzak@redhat.com>. 
+
diff --git a/mount/devname.c b/mount/devname.c
new file mode 100644 (file)
index 0000000..585d259
--- /dev/null
@@ -0,0 +1,15 @@
+#include "fsprobe.h"
+
+#include "devname.h"
+#include "sundries.h"          /* for xstrdup */
+
+const char *
+spec_to_devname(const char *spec)
+{
+       if (!spec)
+               return NULL;
+       if (is_pseudo_fs(spec))
+               return xstrdup(spec);
+       return fsprobe_get_devname_by_spec(spec);
+}
+
diff --git a/mount/devname.h b/mount/devname.h
new file mode 100644 (file)
index 0000000..d6adeff
--- /dev/null
@@ -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/fstab.5 b/mount/fstab.5
new file mode 100644 (file)
index 0000000..1c5cdca
--- /dev/null
@@ -0,0 +1,214 @@
+.\" 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 "15 June 1999" "Linux 2.2" "Linux Programmer's Manual"
+.SH NAME
+fstab \- static information about the filesystems
+.SH SYNOPSIS
+.B #include <fstab.h>
+.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.  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.
+
+The first field,
+.RI ( fs_spec ),
+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 (ext2 or xfs) filesystem that is to be mounted by its UUID or
+volume 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'.
+This will make the system more robust: adding or removing a SCSI disk
+changes the disk device name but not the filesystem volume label.
+
+The second field,
+.RI ( fs_file ),
+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'.
+
+The third field,
+.RI ( fs_vfstype ),
+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 ignore
+causes the line to be ignored.  This is useful
+to show disk partitions which are currently unused.
+An entry
+.I none
+is useful for bind or move mounts.
+
+The fourth field,
+.RI ( fs_mntops ),
+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 options for non-nfs file systems,
+see
+.BR mount (8).
+For documentation on all nfs-specific options have a look at
+.BR nfs (5).
+Common for all types of file system are the options ``noauto''
+(do not mount when "mount -a" is given, e.g., at boot time), ``user''
+(allow a user to mount), and ``owner''
+(allow device owner to mount), and ``comment''
+(e.g., for use by fstab-maintaining programs).
+The ``owner'' and ``comment'' options are Linux-specific.
+For more details, see
+.BR mount (8).
+
+The fifth field,
+.RI ( fs_freq ),
+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.
+
+The sixth field,
+.RI ( fs_passno ),
+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.
+
+The proper way to read records from
+.B fstab
+is to use the routines
+.BR getmntent (3).
+.SH FILES
+.I /etc/fstab
+.SH "SEE ALSO"
+.BR getmntent (3),
+.BR mount (8),
+.BR swapon (8),
+.BR fs (5),
+.BR nfs (5)
+.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-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/mount/fstab.c b/mount/fstab.c
new file mode 100644 (file)
index 0000000..82e90f3
--- /dev/null
@@ -0,0 +1,1015 @@
+/* 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 "xmalloc.h"
+#include "fsprobe.h"
+#include "pathnames.h"
+#include "nls.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;
+}
+
+static 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.
+ * Return 0 on success.
+ */
+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 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;
+       for (mc = mcprev->prev; mc && mc != mc0; mc = mc->prev)
+               if (streq(mc->m.mnt_fsname, name))
+                       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(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) {
+               if (streq(mc->m.mnt_dir, cdir)) {
+                       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.  */
+extern char *strsignal(int sig);       /* not always in <string.h> */
+
+static void
+handler (int sig) {
+     die(EX_USER, "%s", strsignal(sig));
+}
+
+static void
+setlkw_timeout (int sig) {
+     /* 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);
+               }
+       }
+}
+
+static 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 : strlen(opt);
+
+       if (len)
+               *len = sz;
+
+       if ((opt == src || *(opt - 1) == ',') &&
+           (*(opt + sz) == '\0' || *(opt + sz) == ','))
+               return opt;
+
+       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, *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 */
+       for (mc = mc0->prev; mc && mc != mc0; mc = mc->prev)
+               if (streq(mc->m.mnt_dir, dir))
+                       break;
+       if (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));
+               discard_mntentchn(mc0);
+               goto leave;
+       }
+
+       for (mc = mc0->nxt; mc && mc != mc0; mc = mc->nxt) {
+               if (my_addmntent(mftmp, &(mc->m)) == 1) {
+                       int errsv = errno;
+                       die (EX_FILEIO, _("error writing %s: %s"),
+                            _PATH_MOUNTED_TMP, strerror (errsv));
+               }
+       }
+
+       discard_mntentchn(mc0);
+       fd = fileno(mftmp->mntent_fp);
+
+       /*
+        * It seems that better is incomplete and broken /mnt/mtab that
+        * /mnt/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:
+       unlock_mtab();
+}
+
+
+#ifdef MAIN_TEST_MTABLOCK
+
+/*
+ * This is mtab locking code test for:
+ *
+ *     - performance (how many concurrent processes)
+ *
+ *     - lock reliability (is possible to see corrupted data  if more
+ *                         concurrent processes modify a same file)
+ *
+ *  The test is very simple -- it reads a number from locked file, increments the
+ *  number and writes the number back to the file.
+ */
+/* dummy */
+char *fsprobe_get_label_by_devname(const char *spec) { return NULL; }
+char *fsprobe_get_uuid_by_devname(const char *spec) { return NULL; }
+int fsprobe_parse_spec(const char *spec, char **name, char **value) { return 0; }
+struct my_mntent *my_getmntent (mntFILE *mfp) { return NULL; }
+mntFILE *my_setmntent (const char *file, char *mode) { return NULL; }
+void my_endmntent (mntFILE *mfp) { }
+int my_addmntent (mntFILE *mfp, struct my_mntent *mnt) { return 0; }
+
+int
+main(int argc, char **argv)
+{
+       time_t synctime;
+       char *filename;
+       int nloops, id, i;
+       pid_t pid = getpid();
+       unsigned int usecs;
+       struct timeval tv;
+       struct stat st;
+       long last = 0;
+
+       progname = argv[0];
+
+       if (argc < 3)
+               die(EXIT_FAILURE,
+                       "usage: %s <id> <synctime> <file> <nloops>\n",
+                       progname);
+
+       id = atoi(argv[1]);
+       synctime = (time_t) atol(argv[2]);
+       filename = argv[3];
+       nloops = atoi(argv[4]);
+
+       if (stat(filename, &st) < -1)
+               die(EXIT_FAILURE, "%s: %s\n", filename, strerror(errno));
+
+       fprintf(stderr, "%05d (pid=%05d): START\n", id, pid);
+
+       gettimeofday(&tv, NULL);
+       if (synctime && synctime - tv.tv_sec > 1) {
+               usecs = ((synctime - tv.tv_sec) * 1000000UL) -
+                                       (1000000UL - tv.tv_usec);
+               usleep(usecs);
+       }
+
+       for (i = 0; i < nloops; i++) {
+               FILE *f;
+               long num;
+               char buf[256];
+
+               lock_mtab();
+
+               if (!(f = fopen(filename, "r"))) {
+                       unlock_mtab();
+                       die(EXIT_FAILURE, "ERROR: %d (pid=%d, loop=%d): "
+                                       "open for read failed\n", id, pid, i);
+               }
+               if (!fgets(buf, sizeof(buf), f)) {
+                       unlock_mtab();
+                       die(EXIT_FAILURE, "ERROR: %d (pid=%d, loop=%d): "
+                                       "read failed\n", id, pid, i);
+               }
+               fclose(f);
+
+               num = atol(buf) + 1;
+
+               if (!(f = fopen(filename, "w"))) {
+                       unlock_mtab();
+                       die(EXIT_FAILURE, "ERROR: %d (pid=%d, loop=%d): "
+                                       "open for write failed\n", id, pid, i);
+               }
+               fprintf(f, "%ld", num);
+               fclose(f);
+
+               unlock_mtab();
+
+               gettimeofday(&tv, NULL);
+
+               fprintf(stderr, "%010ld.%06ld %04d (pid=%05d, loop=%05d): "
+                               "num=%09ld last=%09ld\n",
+                               tv.tv_sec, tv.tv_usec, id,
+                               pid, i, num, last);
+               last = num;
+
+               /* The mount command usually finish after mtab update. We
+                * simulate this via short sleep -- it's also enough to make
+                * concurrent processes happy.
+                */
+               usleep(50000);
+       }
+
+       fprintf(stderr, "%05d (pid=%05d): DONE\n", id, pid);
+
+       exit(EXIT_SUCCESS);
+}
+#endif
+
diff --git a/mount/fstab.h b/mount/fstab.h
new file mode 100644 (file)
index 0000000..8fc8fd4
--- /dev/null
@@ -0,0 +1,33 @@
+#ifndef MOUNT_FSTAB_H
+#define MOUNT_FSTAB_H
+
+#include "mount_mntent.h"
+int mtab_is_writable(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 *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);
+
+#endif /* MOUNT_FSTAB_H */
diff --git a/mount/getusername.c b/mount/getusername.c
new file mode 100644 (file)
index 0000000..9835768
--- /dev/null
@@ -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/getusername.h b/mount/getusername.h
new file mode 100644 (file)
index 0000000..808ac9b
--- /dev/null
@@ -0,0 +1 @@
+extern char *getusername(void);
diff --git a/mount/lomount.c b/mount/lomount.c
new file mode 100644 (file)
index 0000000..b17ed5c
--- /dev/null
@@ -0,0 +1,1095 @@
+/* Originally from Ted's losetup.c */
+/*
+ * losetup.c - setup and control loop devices
+ */
+#include <stdio.h>
+#include <string.h>
+#include <ctype.h>
+#include <fcntl.h>
+#include <errno.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 "loop.h"
+#include "lomount.h"
+#include "xstrncpy.h"
+#include "nls.h"
+#include "sundries.h"
+#include "xmalloc.h"
+#include "pathnames.h"
+
+#define SIZE(a) (sizeof(a)/sizeof(a[0]))
+
+#ifdef LOOP_SET_FD
+
+static int is_associated(int dev, struct stat *file, unsigned long long offset, int isoff);
+
+static int
+loop_info64_to_old(const struct loop_info64 *info64, struct loop_info *info)
+{
+        memset(info, 0, sizeof(*info));
+        info->lo_number = info64->lo_number;
+        info->lo_device = info64->lo_device;
+        info->lo_inode = info64->lo_inode;
+        info->lo_rdevice = info64->lo_rdevice;
+        info->lo_offset = info64->lo_offset;
+        info->lo_encrypt_type = info64->lo_encrypt_type;
+        info->lo_encrypt_key_size = info64->lo_encrypt_key_size;
+        info->lo_flags = info64->lo_flags;
+        info->lo_init[0] = info64->lo_init[0];
+        info->lo_init[1] = info64->lo_init[1];
+        if (info->lo_encrypt_type == LO_CRYPT_CRYPTOAPI)
+                memcpy(info->lo_name, info64->lo_crypt_name, LO_NAME_SIZE);
+        else
+                memcpy(info->lo_name, info64->lo_file_name, LO_NAME_SIZE);
+        memcpy(info->lo_encrypt_key, info64->lo_encrypt_key, LO_KEY_SIZE);
+
+        /* error in case values were truncated */
+        if (info->lo_device != info64->lo_device ||
+            info->lo_rdevice != info64->lo_rdevice ||
+            info->lo_inode != info64->lo_inode ||
+            info->lo_offset != info64->lo_offset)
+                return -EOVERFLOW;
+
+        return 0;
+}
+
+#define LOOPMAJOR              7
+#define NLOOPS_DEFAULT         8       /* /dev/loop[0-7] */
+
+struct looplist {
+       int             flag;           /* scanning options */
+       FILE            *proc;          /* /proc/partitions */
+       int             ncur;           /* current possition */
+       int             *minors;        /* ary of minor numbers (when scan whole /dev) */
+       int             nminors;        /* number of items in *minors */
+       char            name[128];      /* device name */
+       int             ct_perm;        /* count permission problems */
+       int             ct_succ;        /* count number of successfully
+                                          detected devices */
+};
+
+#define LLFLG_USEDONLY (1 << 1)        /* return used devices only */
+#define LLFLG_FREEONLY (1 << 2)        /* return non-used devices */
+#define LLFLG_DONE     (1 << 3)        /* all is done */
+#define LLFLG_PROCFS   (1 << 4)        /* try to found used devices in /proc/partitions */
+#define LLFLG_SUBDIR   (1 << 5)        /* /dev/loop/N */
+#define LLFLG_DFLT     (1 << 6)        /* directly try to check default loops */
+
+int
+is_loop_device (const char *device) {
+       struct stat st;
+
+       return (stat(device, &st) == 0 &&
+               S_ISBLK(st.st_mode) &&
+               major(st.st_rdev) == LOOPMAJOR);
+}
+
+static int
+is_loop_used(int fd)
+{
+       struct loop_info li;
+
+       errno = 0;
+       if (ioctl (fd, LOOP_GET_STATUS, &li) < 0 && errno == ENXIO)
+               return 0;
+       return 1;
+}
+
+static int
+is_loopfd_autoclear(int fd)
+{
+       struct loop_info lo;
+       struct loop_info64 lo64;
+
+       if (ioctl(fd, LOOP_GET_STATUS64, &lo64) == 0) {
+               if (lo64.lo_flags & LO_FLAGS_AUTOCLEAR)
+                       return 1;
+
+       } else if (ioctl(fd, LOOP_GET_STATUS, &lo) == 0) {
+               if (lo.lo_flags & LO_FLAGS_AUTOCLEAR)
+                       return 1;
+       }
+       return 0;
+}
+
+int
+is_loop_autoclear(const char *device)
+{
+       int fd, rc;
+
+       if ((fd = open(device, O_RDONLY)) < 0)
+               return 0;
+       rc = is_loopfd_autoclear(fd);
+
+       close(fd);
+       return rc;
+}
+
+static int
+looplist_open(struct looplist *ll, int flag)
+{
+       struct stat st;
+
+       memset(ll, 0, sizeof(*ll));
+       ll->flag = flag;
+       ll->ncur = -1;
+
+       if (stat(_PATH_DEV, &st) == -1 || (!S_ISDIR(st.st_mode)))
+               return -1;                      /* /dev doesn't exist */
+
+       if (stat(_PATH_DEV_LOOP, &st) == 0 && S_ISDIR(st.st_mode))
+               ll->flag |= LLFLG_SUBDIR;       /* /dev/loop/ exists */
+
+       if ((ll->flag & LLFLG_USEDONLY) &&
+                       stat(_PATH_PROC_PARTITIONS, &st) == 0)
+               ll->flag |= LLFLG_PROCFS;       /* try /proc/partitions */
+
+       ll->flag |= LLFLG_DFLT;                 /* required! */
+       return 0;
+}
+
+static void
+looplist_close(struct looplist *ll)
+{
+       free(ll->minors);
+       if (ll->proc)
+               fclose(ll->proc);
+       ll->minors = NULL;
+       ll->proc = NULL;
+       ll->ncur = -1;
+       ll->flag |= LLFLG_DONE;
+}
+
+static int
+looplist_open_dev(struct looplist *ll, int lnum)
+{
+       struct stat st;
+       int used;
+       int fd;
+
+       /* create a full device path */
+       snprintf(ll->name, sizeof(ll->name),
+               ll->flag & LLFLG_SUBDIR ?
+                       _PATH_DEV_LOOP "/%d" :
+                       _PATH_DEV "loop%d",
+               lnum);
+
+       fd = open(ll->name, O_RDONLY);
+       if (fd == -1) {
+               if (errno == EACCES)
+                       ll->ct_perm++;
+               return -1;
+       }
+       if (fstat(fd, &st) == -1)
+               goto error;
+       if (!S_ISBLK(st.st_mode) || major(st.st_rdev) != LOOPMAJOR)
+               goto error;
+
+       ll->ct_succ++;
+
+       /* check if the device is wanted */
+       if (!(ll->flag & (LLFLG_USEDONLY | LLFLG_FREEONLY)))
+               return fd;
+
+       used = is_loop_used(fd);
+
+       if ((ll->flag & LLFLG_USEDONLY) && used)
+               return fd;
+       if ((ll->flag & LLFLG_FREEONLY) && !used)
+               return fd;
+error:
+       close(fd);
+       return -1;
+}
+
+/* returns <N> from "loop<N>" */
+static int
+name2minor(int hasprefix, const char *name)
+{
+       int n;
+       char *end;
+
+       if (hasprefix) {
+               if (strncmp(name, "loop", 4))
+                       return -1;
+               name += 4;
+       }
+       n = strtol(name, &end, 10);
+       if (end && end != name && *end == '\0' && n >= 0)
+               return n;
+       return -1;
+}
+
+static int
+cmpnum(const void *p1, const void *p2)
+{
+       return (* (int *) p1) > (* (int *) p2);
+}
+
+/*
+ * The classic scandir() is more expensive and less portable.
+ * We needn't full loop device names -- minor numers (loop<N>)
+ * are enough.
+ */
+static int
+loop_scandir(const char *dirname, int **ary, int hasprefix)
+{
+       DIR *dir;
+       struct dirent *d;
+       int n, count = 0, arylen = 0;
+
+       if (!dirname || !ary)
+               return -1;
+       dir = opendir(dirname);
+       if (!dir)
+               return -1;
+
+       *ary = NULL;
+
+       while((d = readdir(dir))) {
+               if (d->d_type != DT_BLK && d->d_type != DT_UNKNOWN && d->d_type != DT_LNK)
+                       continue;
+               n = name2minor(hasprefix, d->d_name);
+               if (n == -1 || n < NLOOPS_DEFAULT)
+                       continue;
+               if (count + 1 > arylen) {
+                       arylen += 1;
+                       *ary = *ary ? realloc(*ary, arylen * sizeof(int)) :
+                                     malloc(arylen * sizeof(int));
+                       if (!*ary)
+                               return -1;
+               }
+               (*ary)[count++] = n;
+       }
+       if (count)
+               qsort(*ary, count, sizeof(int), cmpnum);
+
+       closedir(dir);
+       return count;
+}
+
+static int
+looplist_next(struct looplist *ll)
+{
+       int fd, n;
+
+       if (ll->flag & LLFLG_DONE)
+               return -1;
+
+       /* A) Look for used loop devices in /proc/partitions ("losetup -a" only)
+        */
+       if (ll->flag & LLFLG_PROCFS) {
+               char buf[BUFSIZ];
+
+               if (!ll->proc)
+                       ll->proc = fopen(_PATH_PROC_PARTITIONS, "r");
+
+               while (ll->proc && fgets(buf, sizeof(buf), ll->proc)) {
+                       int m;
+                       unsigned long long sz;
+                       char name[128];
+
+                       if (sscanf(buf, " %d %d %llu %128[^\n ]",
+                                                  &m, &n, &sz, name) != 4)
+                               continue;
+                       if (m != LOOPMAJOR)
+                               continue;
+                       /* unfortunately, real minor numbers needn't to match
+                        * loop<N> device name. We have to follow device name.
+                        */
+                       n = name2minor(1, name);
+                       fd = looplist_open_dev(ll, n);
+                       if (fd != -1)
+                               return fd;
+               }
+               goto done;
+       }
+
+
+       /* B) Classic way, try first eight loop devices (default number
+        *    of loop devices). This is enough for 99% of all cases.
+        */
+       if (ll->flag & LLFLG_DFLT) {
+               for (++ll->ncur; ll->ncur < NLOOPS_DEFAULT; ll->ncur++) {
+                       fd = looplist_open_dev(ll, ll->ncur);
+                       if (fd != -1)
+                               return fd;
+               }
+               ll->flag &= ~LLFLG_DFLT;
+       }
+
+       /* C) the worst posibility, scan all /dev or /dev/loop
+        */
+       if (!ll->minors) {
+               ll->nminors = (ll->flag & LLFLG_SUBDIR) ?
+                       loop_scandir(_PATH_DEV_LOOP, &ll->minors, 0) :
+                       loop_scandir(_PATH_DEV, &ll->minors, 1);
+               ll->ncur = -1;
+       }
+       for (++ll->ncur; ll->ncur < ll->nminors; ll->ncur++) {
+               fd = looplist_open_dev(ll, ll->minors[ll->ncur]);
+               if (fd != -1)
+                       return fd;
+       }
+
+done:
+       looplist_close(ll);
+       return -1;
+}
+
+#ifdef MAIN
+
+static int
+set_capacity(const char *device)
+{
+       int errsv;
+       int fd = open(device, O_RDONLY);
+
+       if (fd == -1)
+               goto err;
+
+       if (ioctl(fd, LOOP_SET_CAPACITY) != 0)
+               goto err;
+
+       return 0;
+err:
+       errsv = errno;
+       fprintf(stderr, _("loop: can't set capacity on device %s: %s\n"),
+                                       device, strerror (errsv));
+       if (fd != -1)
+               close(fd);
+       return 2;
+}
+
+static int
+show_loop_fd(int fd, char *device) {
+       struct loop_info loopinfo;
+       struct loop_info64 loopinfo64;
+       int errsv;
+
+       if (ioctl(fd, LOOP_GET_STATUS64, &loopinfo64) == 0) {
+
+               loopinfo64.lo_file_name[LO_NAME_SIZE-2] = '*';
+               loopinfo64.lo_file_name[LO_NAME_SIZE-1] = 0;
+               loopinfo64.lo_crypt_name[LO_NAME_SIZE-1] = 0;
+
+               printf("%s: [%04" PRIx64 "]:%" PRIu64 " (%s)",
+                      device, loopinfo64.lo_device, loopinfo64.lo_inode,
+                      loopinfo64.lo_file_name);
+
+               if (loopinfo64.lo_offset)
+                       printf(_(", offset %" PRIu64 ), loopinfo64.lo_offset);
+
+               if (loopinfo64.lo_sizelimit)
+                       printf(_(", sizelimit %" PRIu64 ), loopinfo64.lo_sizelimit);
+
+               if (loopinfo64.lo_encrypt_type ||
+                   loopinfo64.lo_crypt_name[0]) {
+                       char *e = (char *)loopinfo64.lo_crypt_name;
+
+                       if (*e == 0 && loopinfo64.lo_encrypt_type == 1)
+                               e = "XOR";
+                       printf(_(", encryption %s (type %" PRIu32 ")"),
+                              e, loopinfo64.lo_encrypt_type);
+               }
+               printf("\n");
+               return 0;
+       }
+
+       if (ioctl(fd, LOOP_GET_STATUS, &loopinfo) == 0) {
+               printf ("%s: [%04x]:%ld (%s)",
+                       device, (unsigned int)loopinfo.lo_device, loopinfo.lo_inode,
+                       loopinfo.lo_name);
+
+               if (loopinfo.lo_offset)
+                       printf(_(", offset %d"), loopinfo.lo_offset);
+
+               if (loopinfo.lo_encrypt_type)
+                       printf(_(", encryption type %d\n"),
+                              loopinfo.lo_encrypt_type);
+
+               printf("\n");
+               return 0;
+       }
+
+       errsv = errno;
+       fprintf(stderr, _("loop: can't get info on device %s: %s\n"),
+               device, strerror (errsv));
+       return 1;
+}
+
+static int
+show_loop(char *device) {
+       int ret, fd;
+
+       if ((fd = open(device, O_RDONLY)) < 0) {
+               int errsv = errno;
+               fprintf(stderr, _("loop: can't open device %s: %s\n"),
+                       device, strerror (errsv));
+               return 2;
+       }
+       ret = show_loop_fd(fd, device);
+       close(fd);
+       return ret;
+}
+
+
+static int
+show_used_loop_devices (void) {
+       struct looplist ll;
+       int fd;
+
+       if (looplist_open(&ll, LLFLG_USEDONLY) == -1) {
+               error(_("%s: /dev directory does not exist."), progname);
+               return 1;
+       }
+
+       while((fd = looplist_next(&ll)) != -1) {
+               show_loop_fd(fd, ll.name);
+               close(fd);
+       }
+       looplist_close(&ll);
+
+       if (!ll.ct_succ && ll.ct_perm) {
+               error(_("%s: no permission to look at /dev/loop%s<N>"), progname,
+                               (ll.flag & LLFLG_SUBDIR) ? "/" : "");
+               return 1;
+       }
+       return 0;
+}
+
+/* list all associated loop devices */
+static int
+show_associated_loop_devices(char *filename, unsigned long long offset, int isoff)
+{
+       struct looplist ll;
+       struct stat filestat;
+       int fd;
+
+       if (stat(filename, &filestat) == -1) {
+               perror(filename);
+               return 1;
+       }
+
+       if (looplist_open(&ll, LLFLG_USEDONLY) == -1) {
+               error(_("%s: /dev directory does not exist."), progname);
+               return 1;
+       }
+
+       while((fd = looplist_next(&ll)) != -1) {
+               if (is_associated(fd, &filestat, offset, isoff) == 1)
+                       show_loop_fd(fd, ll.name);
+               close(fd);
+       }
+       looplist_close(&ll);
+
+       return 0;
+}
+
+#endif /* MAIN */
+
+/* check if the loopfile is already associated with the same given
+ * parameters.
+ *
+ * returns:  0 unused / error
+ *           1 loop device already used
+ */
+static int
+is_associated(int dev, struct stat *file, unsigned long long offset, int isoff)
+{
+       struct loop_info64 linfo64;
+       struct loop_info64 linfo;
+       int ret = 0;
+
+       if (ioctl(dev, LOOP_GET_STATUS64, &linfo64) == 0) {
+               if (file->st_dev == linfo64.lo_device &&
+                   file->st_ino == linfo64.lo_inode &&
+                   (isoff == 0 || offset == linfo64.lo_offset))
+                       ret = 1;
+
+       } else if (ioctl(dev, LOOP_GET_STATUS, &linfo) == 0) {
+               if (file->st_dev == linfo.lo_device &&
+                   file->st_ino == linfo.lo_inode &&
+                   (isoff == 0 || offset == linfo.lo_offset))
+                       ret = 1;
+       }
+
+       return ret;
+}
+
+/* check if the loop file is already used with the same given
+ * parameters. We check for device no, inode and offset.
+ * returns: associated devname or NULL
+ */
+char *
+loopfile_used (const char *filename, unsigned long long offset) {
+       struct looplist ll;
+       char *devname = NULL;
+       struct stat filestat;
+       int fd;
+
+       if (stat(filename, &filestat) == -1) {
+               perror(filename);
+               return NULL;
+       }
+
+       if (looplist_open(&ll, LLFLG_USEDONLY) == -1) {
+               error(_("%s: /dev directory does not exist."), progname);
+               return NULL;
+       }
+
+       while((fd = looplist_next(&ll)) != -1) {
+               int res = is_associated(fd, &filestat, offset, 1);
+               close(fd);
+               if (res == 1) {
+                       devname = xstrdup(ll.name);
+                       break;
+               }
+       }
+       looplist_close(&ll);
+
+       return devname;
+}
+
+int
+loopfile_used_with(char *devname, const char *filename, unsigned long long offset)
+{
+       struct stat statbuf;
+       int fd, ret;
+
+       if (!is_loop_device(devname))
+               return 0;
+
+       if (stat(filename, &statbuf) == -1)
+               return 0;
+
+       fd = open(devname, O_RDONLY);
+       if (fd == -1)
+               return 0;
+
+       ret = is_associated(fd, &statbuf, offset, 1);
+       close(fd);
+       return ret;
+}
+
+char *
+find_unused_loop_device (void) {
+       struct looplist ll;
+       char *devname = NULL;
+       int fd;
+
+       if (looplist_open(&ll, LLFLG_FREEONLY) == -1) {
+               error(_("%s: /dev directory does not exist."), progname);
+               return NULL;
+       }
+
+       if ((fd = looplist_next(&ll)) != -1) {
+               close(fd);
+               devname = xstrdup(ll.name);
+       }
+       looplist_close(&ll);
+       if (devname)
+               return devname;
+
+       if (!ll.ct_succ && ll.ct_perm)
+               error(_("%s: no permission to look at /dev/loop%s<N>"), progname,
+                               (ll.flag & LLFLG_SUBDIR) ? "/" : "");
+       else if (ll.ct_succ)
+               error(_("%s: could not find any free loop device"), progname);
+       else
+               error(_(
+                   "%s: Could not find any loop device. Maybe this kernel "
+                   "does not know\n"
+                   "       about the loop device? (If so, recompile or "
+                   "`modprobe loop'.)"), progname);
+       return NULL;
+}
+
+/*
+ * A function to read the passphrase either from the terminal or from
+ * an open file descriptor.
+ */
+static char *
+xgetpass(int pfd, const char *prompt) {
+       char *pass;
+       int buflen, i;
+
+        if (pfd < 0) /* terminal */
+               return getpass(prompt);
+
+       pass = NULL;
+       buflen = 0;
+       for (i=0; ; i++) {
+               if (i >= buflen-1) {
+                               /* we're running out of space in the buffer.
+                                * Make it bigger: */
+                       char *tmppass = pass;
+                       buflen += 128;
+                       pass = realloc(tmppass, buflen);
+                       if (pass == NULL) {
+                               /* realloc failed. Stop reading. */
+                               error(_("Out of memory while reading passphrase"));
+                               pass = tmppass; /* the old buffer hasn't changed */
+                               break;
+                       }
+               }
+               if (read(pfd, pass+i, 1) != 1 ||
+                   pass[i] == '\n' || pass[i] == 0)
+                       break;
+       }
+
+       if (pass == NULL)
+               return "";
+
+       pass[i] = 0;
+       return pass;
+}
+
+static int
+digits_only(const char *s) {
+       while (*s)
+               if (!isdigit(*s++))
+                       return 0;
+       return 1;
+}
+
+/*
+ * return codes:
+ *     0       - success
+ *     1       - error
+ *     2       - error (EBUSY)
+ */
+int
+set_loop(const char *device, const char *file, unsigned long long offset,
+        unsigned long long sizelimit, const char *encryption, int pfd, int *options) {
+       struct loop_info64 loopinfo64;
+       int fd, ffd, mode, i;
+       char *pass;
+       char *filename;
+
+       if (verbose) {
+               char *xdev = loopfile_used(file, offset);
+
+               if (xdev) {
+                       printf(_("warning: %s is already associated with %s\n"),
+                                       file, xdev);
+                       free(xdev);
+               }
+       }
+
+       mode = (*options & SETLOOP_RDONLY) ? O_RDONLY : O_RDWR;
+       if ((ffd = open(file, mode)) < 0) {
+               if (!(*options & SETLOOP_RDONLY) &&
+                   (errno == EROFS || errno == EACCES))
+                       ffd = open(file, mode = O_RDONLY);
+               if (ffd < 0) {
+                       perror(file);
+                       return 1;
+               }
+               if (verbose)
+                       printf(_("warning: %s: is write-protected, using read-only.\n"),
+                                       file);
+               *options |= SETLOOP_RDONLY;
+       }
+       if ((fd = open(device, mode)) < 0) {
+               perror (device);
+               close(ffd);
+               return 1;
+       }
+       memset(&loopinfo64, 0, sizeof(loopinfo64));
+
+       if (!(filename = canonicalize(file)))
+               filename = (char *) file;
+       xstrncpy((char *)loopinfo64.lo_file_name, filename, LO_NAME_SIZE);
+
+       if (encryption && *encryption) {
+               if (digits_only(encryption)) {
+                       loopinfo64.lo_encrypt_type = atoi(encryption);
+               } else {
+                       loopinfo64.lo_encrypt_type = LO_CRYPT_CRYPTOAPI;
+                       snprintf((char *)loopinfo64.lo_crypt_name, LO_NAME_SIZE,
+                                "%s", encryption);
+               }
+       }
+
+       loopinfo64.lo_offset = offset;
+       loopinfo64.lo_sizelimit = sizelimit;
+
+#ifdef MCL_FUTURE
+       /*
+        * Oh-oh, sensitive data coming up. Better lock into memory to prevent
+        * passwd etc being swapped out and left somewhere on disk.
+        */
+       if (loopinfo64.lo_encrypt_type != LO_CRYPT_NONE) {
+               if(mlockall(MCL_CURRENT | MCL_FUTURE)) {
+                       perror("memlock");
+                       fprintf(stderr, _("Couldn't lock into memory, exiting.\n"));
+                       exit(1);
+               }
+       }
+#endif
+
+       switch (loopinfo64.lo_encrypt_type) {
+       case LO_CRYPT_NONE:
+               loopinfo64.lo_encrypt_key_size = 0;
+               break;
+       case LO_CRYPT_XOR:
+               pass = getpass(_("Password: "));
+               goto gotpass;
+       default:
+               pass = xgetpass(pfd, _("Password: "));
+       gotpass:
+               memset(loopinfo64.lo_encrypt_key, 0, LO_KEY_SIZE);
+               xstrncpy((char *)loopinfo64.lo_encrypt_key, pass, LO_KEY_SIZE);
+               memset(pass, 0, strlen(pass));
+               loopinfo64.lo_encrypt_key_size = LO_KEY_SIZE;
+       }
+
+       if (ioctl(fd, LOOP_SET_FD, ffd) < 0) {
+               int rc = 1;
+
+               if (errno == EBUSY) {
+                       if (verbose)
+                               printf(_("ioctl LOOP_SET_FD failed: %s\n"),
+                                                       strerror(errno));
+                       rc = 2;
+               } else
+                       perror("ioctl: LOOP_SET_FD");
+
+               close(fd);
+               close(ffd);
+               if (file != filename)
+                       free(filename);
+               return rc;
+       }
+       close (ffd);
+
+       if (*options & SETLOOP_AUTOCLEAR)
+               loopinfo64.lo_flags = LO_FLAGS_AUTOCLEAR;
+
+       i = ioctl(fd, LOOP_SET_STATUS64, &loopinfo64);
+       if (i) {
+               struct loop_info loopinfo;
+               int errsv = errno;
+
+               i = loop_info64_to_old(&loopinfo64, &loopinfo);
+               if (i) {
+                       errno = errsv;
+                       *options &= ~SETLOOP_AUTOCLEAR;
+                       perror("ioctl: LOOP_SET_STATUS64");
+               } else {
+                       i = ioctl(fd, LOOP_SET_STATUS, &loopinfo);
+                       if (i)
+                               perror("ioctl: LOOP_SET_STATUS");
+               }
+               memset(&loopinfo, 0, sizeof(loopinfo));
+       }
+
+       if ((*options & SETLOOP_AUTOCLEAR) && !is_loopfd_autoclear(fd))
+               /* kernel doesn't support loop auto-destruction */
+               *options &= ~SETLOOP_AUTOCLEAR;
+
+       memset(&loopinfo64, 0, sizeof(loopinfo64));
+
+       if (i) {
+               ioctl (fd, LOOP_CLR_FD, 0);
+               close (fd);
+               if (file != filename)
+                       free(filename);
+               return 1;
+       }
+
+       /*
+        * HACK: here we're leeking a file descriptor,
+        * but mount is a short-lived process anyway.
+        */
+       if (!(*options & SETLOOP_AUTOCLEAR))
+               close (fd);
+
+       if (verbose > 1)
+               printf(_("set_loop(%s,%s,%llu,%llu): success\n"),
+                      device, filename, offset, sizelimit);
+       if (file != filename)
+               free(filename);
+       return 0;
+}
+
+int
+del_loop (const char *device) {
+       int fd, errsv;
+
+       if ((fd = open (device, O_RDONLY)) < 0) {
+               errsv = errno;
+               goto error;
+       }
+       if (ioctl (fd, LOOP_CLR_FD, 0) < 0) {
+               errsv = errno;
+               goto error;
+       }
+       close (fd);
+       if (verbose > 1)
+               printf(_("del_loop(%s): success\n"), device);
+       return 0;
+
+error:
+       fprintf(stderr, _("loop: can't delete device %s: %s\n"),
+                device, strerror(errsv));
+       if (fd >= 0)
+               close(fd);
+       return 1;
+}
+
+#else /* no LOOP_SET_FD defined */
+static void
+mutter(void) {
+       fprintf(stderr,
+               _("This mount was compiled without loop support. "
+                 "Please recompile.\n"));
+}
+
+int
+set_loop(const char *device, const char *file, unsigned long long offset,
+         unsigned long long sizelimit, const char *encryption, int pfd, int *loopro,
+         int keysz, int hash_pass) {
+       mutter();
+       return 1;
+}
+
+int
+del_loop (const char *device) {
+       mutter();
+       return 1;
+}
+
+char *
+find_unused_loop_device (void) {
+       mutter();
+       return 0;
+}
+
+#endif /* !LOOP_SET_FD */
+
+#ifdef MAIN
+
+#ifdef LOOP_SET_FD
+
+#include <getopt.h>
+#include <stdarg.h>
+
+static void
+usage(void) {
+       fprintf(stderr, _("\nUsage:\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"),
+               progname);
+
+       fprintf(stderr, _("\nOptions:\n"
+  " -e | --encryption <type> enable data encryption with specified <name/num>\n"
+  " -h | --help              this help\n"
+  " -o | --offset <num>      start at offset <num> into file\n"
+  "      --sizelimit <num>   loop limited to only <num> bytes of the file\n"
+  " -p | --pass-fd <num>     read passphrase from file descriptor <num>\n"
+  " -r | --read-only         setup read-only loop device\n"
+  "      --show              print device name (with -f <file>)\n"
+  " -v | --verbose           verbose mode\n\n"));
+       exit(1);
+ }
+
+int
+main(int argc, char **argv) {
+       char *p, *offset, *sizelimit, *encryption, *passfd, *device, *file, *assoc;
+       int delete, find, c, all, capacity;
+       int res = 0;
+       int showdev = 0;
+       int ro = 0;
+       int pfd = -1;
+       unsigned long long off, slimit;
+       struct option longopts[] = {
+               { "all", 0, 0, 'a' },
+               { "set-capacity", 0, 0, 'c' },
+               { "detach", 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, 128 },
+               { "pass-fd", 1, 0, 'p' },
+               { "read-only", 0, 0, 'r' },
+               { "show", 0, 0, 's' },
+               { "verbose", 0, 0, 'v' },
+               { NULL, 0, 0, 0 }
+       };
+
+       setlocale(LC_ALL, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+
+       capacity = delete = find = all = 0;
+       off = 0;
+        slimit = 0;
+       assoc = offset = sizelimit = encryption = passfd = NULL;
+
+       progname = argv[0];
+       if ((p = strrchr(progname, '/')) != NULL)
+               progname = p+1;
+
+       while ((c = getopt_long(argc, argv, "acde:E:fhj:o:p:rsv",
+                               longopts, NULL)) != -1) {
+               switch (c) {
+               case 'a':
+                       all = 1;
+                       break;
+               case 'c':
+                       capacity = 1;
+                       break;
+               case 'r':
+                       ro = 1;
+                       break;
+               case 'd':
+                       delete = 1;
+                       break;
+               case 'E':
+               case 'e':
+                       encryption = optarg;
+                       break;
+               case 'f':
+                       find = 1;
+                       break;
+               case 'j':
+                       assoc = optarg;
+                       break;
+               case 'o':
+                       offset = optarg;
+                       break;
+               case 'p':
+                       passfd = optarg;
+                       break;
+               case 's':
+                       showdev = 1;
+                       break;
+               case 'v':
+                       verbose = 1;
+                       break;
+
+               case 128:                       /* --sizelimit */
+                       sizelimit = optarg;
+                        break;
+
+               default:
+                       usage();
+               }
+       }
+
+       if (argc == 1) {
+               usage();
+       } else if (delete) {
+               if (argc < optind+1 || encryption || offset || sizelimit ||
+                   capacity || find || all || showdev || assoc || ro)
+                       usage();
+       } else if (find) {
+               if (capacity || all || assoc || argc < optind || argc > optind+1)
+                       usage();
+       } else if (all) {
+               if (argc > 2)
+                       usage();
+       } else if (assoc) {
+               if (capacity || encryption || showdev || passfd || ro)
+                       usage();
+       } else if (capacity) {
+               if (argc != optind + 1 || encryption || offset || sizelimit ||
+                   showdev || ro)
+                       usage();
+       } else {
+               if (argc < optind+1 || argc > optind+2)
+                       usage();
+       }
+
+       if (offset && sscanf(offset, "%llu", &off) != 1)
+               usage();
+
+       if (sizelimit && sscanf(sizelimit, "%llu", &slimit) != 1)
+               usage();
+
+       if (all)
+               return show_used_loop_devices();
+       else if (assoc)
+               return show_associated_loop_devices(assoc, off, offset ? 1 : 0);
+       else if (find) {
+               device = find_unused_loop_device();
+               if (device == NULL)
+                       return -1;
+               if (argc == optind) {
+                       if (verbose)
+                               printf(_("Loop device is %s\n"), device);
+                       printf("%s\n", device);
+                       return 0;
+               }
+               file = argv[optind];
+       } else if (!delete) {
+               device = argv[optind];
+               if (argc == optind+1)
+                       file = NULL;
+               else
+                       file = argv[optind+1];
+       }
+
+       if (delete) {
+               while (optind < argc)
+                       res += del_loop(argv[optind++]);
+       } else if (capacity) {
+               res = set_capacity(device);
+       } else if (file == NULL)
+               res = show_loop(device);
+       else {
+               if (passfd && sscanf(passfd, "%d", &pfd) != 1)
+                       usage();
+               do {
+                       res = set_loop(device, file, off, slimit, encryption, pfd, &ro);
+                       if (res == 2 && find) {
+                               if (verbose)
+                                       printf(_("stolen loop=%s...trying again\n"),
+                                               device);
+                               free(device);
+                               if (!(device = find_unused_loop_device()))
+                                       return -1;
+                       }
+               } while (find && res == 2);
+
+               if (device) {
+                       if (res == 2)
+                               error(_("%s: %s: device is busy"), progname, device);
+                       else if (res == 0) {
+                               if (verbose)
+                                       printf(_("Loop device is %s\n"), device);
+                               if (showdev && find)
+                                       printf("%s\n", device);
+                       }
+               }
+       }
+       return res;
+}
+
+#else /* LOOP_SET_FD not defined */
+
+int
+main(int argc, char **argv) {
+       fprintf(stderr,
+               _("No loop support was available at compile time. "
+                 "Please recompile.\n"));
+       return -1;
+}
+#endif /* !LOOP_SET_FD*/
+#endif /* MAIN */
diff --git a/mount/lomount.h b/mount/lomount.h
new file mode 100644 (file)
index 0000000..59108d4
--- /dev/null
@@ -0,0 +1,12 @@
+extern int set_loop(const char *, const char *, unsigned long long, unsigned long long,
+                   const char *, int, int *);
+extern int del_loop(const char *);
+extern int is_loop_device(const char *);
+extern int is_loop_autoclear(const char *device);
+extern char * find_unused_loop_device(void);
+
+extern int loopfile_used_with(char *devname, const char *filename, unsigned long long offset);
+extern char *loopfile_used (const char *filename, unsigned long long offset);
+
+#define SETLOOP_RDONLY     (1<<0)  /* Open loop read-only */
+#define SETLOOP_AUTOCLEAR  (1<<1)  /* Automatically detach loop on close (2.6.25?) */
diff --git a/mount/loop.h b/mount/loop.h
new file mode 100644 (file)
index 0000000..64df339
--- /dev/null
@@ -0,0 +1,69 @@
+#ifndef MNT_LOOP_H
+#define MNT_LOOP_H
+
+#include <linux/posix_types.h>
+#include <stdint.h>
+#include "linux_version.h"
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,68)
+#define my_dev_t __kernel_dev_t
+#else
+#define my_dev_t __kernel_old_dev_t
+#endif
+
+#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
+#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
+
+/* Flags for loop_into{64,}->lo_flags */
+enum {
+       LO_FLAGS_READ_ONLY  = 1,
+       LO_FLAGS_USE_AOPS   = 2,
+       LO_FLAGS_AUTOCLEAR  = 4, /* New in 2.6.25 */
+};
+
+#define LO_NAME_SIZE   64
+#define LO_KEY_SIZE    32
+
+struct loop_info {
+       int             lo_number;
+       my_dev_t        lo_device;
+       unsigned long   lo_inode;
+       my_dev_t        lo_rdevice;
+       int             lo_offset;
+       int             lo_encrypt_type;
+       int             lo_encrypt_key_size;
+       int             lo_flags;
+       char            lo_name[LO_NAME_SIZE];
+       unsigned char   lo_encrypt_key[LO_KEY_SIZE];
+       unsigned long   lo_init[2];
+       char            reserved[4];
+};
+
+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];
+};
+
+#endif /* MNT_LOOP_H */
diff --git a/mount/losetup.8 b/mount/losetup.8
new file mode 100644 (file)
index 0000000..8ccab6c
--- /dev/null
@@ -0,0 +1,178 @@
+.TH LOSETUP 8 "2003-07-01" "Linux" "MAINTENANCE COMMANDS"
+.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
+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 limit ]
+.in +8
+.RB [ \-p
+.IR pfd ]
+.RB [ \-r ]
+.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.
+
+.SS "Encryption"
+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 OPTIONS
+.IP "\fB\-a, \-\-all\fP"
+show status of all loop devices
+.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\-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 \fIlimit\fP"
+the data end is set to no more than \fIsizelimit\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\-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.
+
+The short form of this option (\fB\-s\fP) is deprecated.  This short form could
+be in collision with Loop-AES implementation where the same option is used for
+\fB\-\-sizelimit\fP.
+.IP "\fB\-v, \-\-verbose\fP"
+verbose mode
+
+.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
+.B losetup
+from determining the status of the device.
+
+.SH FILES
+.nf
+/dev/loop0, /dev/loop1, ...   loop devices (major=7)
+.fi
+.SH EXAMPLE
+If you are using the loadable module you must have the module loaded
+first with the command
+.IP
+# modprobe loop
+.LP
+Maybe also encryption modules are needed.
+.IP
+# modprobe des
+# modprobe cryptoloop
+.LP
+The following commands can be used as an example of using the loop device.
+.nf
+.IP
+# dd if=/dev/zero of=/file bs=1k count=100
+# losetup -e des /dev/loop0 /file
+Password:
+Init (up to 16 hex digits):
+# mkfs -t ext2 /dev/loop0 100
+# mount -t ext2 /dev/loop0 /mnt
+ ...
+# umount /dev/loop0
+# losetup -d /dev/loop0
+.fi
+.LP
+If you are using the loadable module you may remove the module with
+the command
+.IP
+# rmmod loop
+.LP
+.fi
+.SH RESTRICTION
+DES encryption is painfully slow. On the other hand, XOR is terribly weak.
+
+Cryptoloop is deprecated in favor of dm-crypt. For more details see
+.BR cryptsetup (8).
+.SH AVAILABILITY
+The losetup command is part of the util-linux-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
+.\" .SH AUTHORS
+.\" .nf
+.\" Original version: Theodore Ts'o <tytso@athena.mit.edu>
+.\" Original DES by: Eric Young <eay@psych.psy.uq.oz.au>
+.\" .fi
diff --git a/mount/mount.8 b/mount/mount.8
new file mode 100644 (file)
index 0000000..b0758f0
--- /dev/null
@@ -0,0 +1,2584 @@
+.\" 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 manual; if not, write to the Free
+.\" Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
+.\" 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 "2004-12-16" "Linux 2.6" "Linux Programmer's Manual"
+.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 .
+
+.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 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).
+
+This 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.
+.RE
+
+.B The move operation.
+.RS
+Since Linux 2.5.1 it is possible to atomically move a 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
+.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 cloned through a bind
+operation. Detailed semantics is documented in Documentation/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
+
+.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
+.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.
+
+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
+working with the loop device will be less convenient,
+and 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
+
+.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:
+.TP
+.B \-V
+Output version.
+.TP
+.B \-h
+Print a help message.
+.TP
+.B \-v
+Verbose mode.
+.TP
+.B \-a
+Mount all filesystems (of the given types) mentioned in
+.IR fstab .
+.TP
+.B \-F
+(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 .
+.TP
+.B \-f
+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).
+.TP
+.B \-i
+Don't call the /sbin/mount.<filesystem> helper even if it exists.
+.TP
+.B \-l
+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).
+.TP
+.B \-n
+Mount without writing in
+.IR /etc/mtab .
+This is necessary for example when
+.I /etc
+is on a read-only filesystem.
+.TP
+.BI \-p " num"
+In case of a loop mount with encryption, read the passphrase from
+file descriptor
+.I num
+instead of from the terminal.
+.TP
+.B \-s
+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.
+.TP
+.B \-r
+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).
+.TP
+.B \-w
+Mount the filesystem read/write. This is the default. A synonym is
+.BR "\-o rw" .
+.TP
+.BI \-L " label"
+Mount the partition that has the specified
+.IR label .
+.TP
+.BI \-U " uuid"
+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.
+.TP
+.BI \-t " vfstype"
+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 smbfs ,
+.IR sysv ,
+.IR tmpfs ,
+.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.
+
+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 or volume_id 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.
+Warning: the probing uses a heuristic (the presence of appropriate `magic'),
+and could recognize the wrong filesystem type, possibly with catastrophic
+consequences. If your data is valuable, don't ask
+.B mount
+to guess.
+
+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
+.B "mount \-a \-t nomsdos,ext"
+.RE
+mounts all filesystems except those of type
+.I msdos
+and
+.IR ext .
+.RE
+.TP
+.B \-O
+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
+.TP
+.B \-o
+Options are specified with a
+.B \-o
+flag followed by a comma separated string of options. For example:
+.RS
+.RS
+.B "mount LABEL=mydisk \-o noatime,nouser"
+.RE
+
+For more details, see
+.B FILESYSTEM INDEPENDENT MOUNT OPTIONS
+and
+.B FILESYSTEM SPECIFIC MOUNT OPTIONS
+sections.
+.RE
+.TP
+.B \-B, \-\-bind
+Remount a subtree somewhere else (so that its contents are available
+in both places). See above.
+.TP
+.B \-R, \-\-rbind
+Remount a subtree and all possible submounts somewhere else (so that its
+contents are available in both places). See above.
+.TP
+.B \-M, \-\-move
+Move a subtree to some other place. See above.
+.RE
+
+.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
+Update inode access time for each access. See also the
+.B strictatime
+mount option.
+.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 visable to userspace. This was found to be
+useful for things like stateless linux.
+
+For more details, see
+.BR selinux (8)
+
+.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.)
+.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 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 writeable. 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-mount 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 | 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.
+.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 nobh
+Do not attach buffer_heads to file pagecache. (Since 2.5.49.)
+.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 noload
+Do not load the ext3 filesystem's journal on mounting.
+.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.
+The ext3 filesystem does not enable write barriers by default.
+.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 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
+and
+.B [no]bh
+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 allocation 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 transactoin 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 auto_da_alloc | noauto_da_alloc
+Many broken applications don't use fsync() when noauto_da_alloc
+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 commited.  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.
+
+.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 particuluarly
+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 writeable 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
+unconvertible 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.
+
+.SH "Mount options for romfs"
+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'.
+.PE
+
+.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 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.
+.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 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. This mode is the default.
+.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.
+.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 disabled for backward
+compatibility on-disk) 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 filesystems with a
+blocksize of 64KiB, 4 buffers for filesystems with a blocksize
+of 32KiB, 3 buffers for filesystems with a blocksize of 16KiB
+and 2 buffers for all other configurations.  Increasing the
+number of buffers may increase performance on some workloads
+at the cost of the memory used for the additional log buffers
+and their associated control structures.
+.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 machines with more than 32MiB of memory
+is 32768, machines with less memory use 16384 by default.
+.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
+
+.nf
+.B "  mount /tmp/fdimage /mnt -t vfat -o loop=/dev/loop3
+.fi
+
+will set up the loop device
+.I /dev/loop3
+to correspond to the file
+.IR /tmp/fdimage ,
+and then mount this device on
+.IR /mnt .
+
+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.)
+
+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.
+
+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 ]
+.RE
+
+where the <suffix> is filesystem type and \-sfnvo options have same meaning like
+standard mount options.
+
+.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-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
+
diff --git a/mount/mount.c b/mount/mount.c
new file mode 100644 (file)
index 0000000..e8cb549
--- /dev/null
@@ -0,0 +1,2282 @@
+/*
+ * 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 "xmalloc.h"
+#include "mount_mntent.h"
+#include "fstab.h"
+#include "lomount.h"
+#include "loop.h"
+#include "getusername.h"
+#include "env.h"
+#include "nls.h"
+#include "blkdev.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 */
+};
+
+/* 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
+
+/* 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},      /* 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
+  { "quiet",   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},      /* Do not fail if ENOENT on dev */
+  { NULL,      0, 0, 0         }
+};
+
+static int opt_nofail = 0;
+
+static const char *opt_loopdev, *opt_vfstype, *opt_offset, *opt_sizelimit,
+        *opt_encryption, *opt_speed, *opt_comment, *opt_uhelper;
+
+static int mounted (const char *spec0, const char *node0);
+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 },
+  { 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 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) {
+       if (mount_quiet)
+               return;
+       printf ("%s on %s", me->mnt_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));
+     }
+     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, long num)
+{
+       char buf[32];
+
+       snprintf(buf, sizeof(buf), "%ld", 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;
+}
+#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, 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->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 (streq(opt, "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();
+
+       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, extra_opts);
+                               opt = NULL;
+                       }
+               }
+               free(opts);
+       }
+
+       if (readonly)
+               *flags |= MS_RDONLY;
+       if (readwrite)
+               *flags &= ~MS_RDONLY;
+
+       if (mounttype & MS_PROPAGATION)
+               *flags &= ~MS_BIND;
+       *flags |= mounttype;
+}
+
+/* Try to build a canonical options string.  */
+static char *
+fix_opts_string (int flags, const char *extra_opts, const char *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;
+               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);
+
+       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);
+               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 mountprog[120];
+  struct stat statbuf;
+  int res;
+
+  if (!external_allowed)
+      return 0;
+
+  if (type == NULL || strcmp(type, "none") == 0)
+         return 0;
+
+  if (strlen(type) < 100) {
+       sprintf(mountprog, "/sbin/mount.%s", type);
+       if (stat(mountprog, &statbuf) == 0) {
+           if (verbose)
+                fflush(stdout);
+           res = fork();
+           if (res == 0) {
+                char *oo, *mountargs[10];
+                int i = 0;
+
+                if(setgid(getgid()) < 0)
+                        die(EX_FAIL, _("mount: cannot set group id: %s"), strerror(errno));
+
+                if(setuid(getuid()) < 0)
+                        die(EX_FAIL, _("mount: cannot set user id: %s"), strerror(errno));
+
+                oo = fix_opts_string (flags, extra_opts, NULL);
+                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 */
+                }
+                mountargs[i] = NULL;                                   /* 10 */
+
+                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 */
+           } else if (res != -1) {
+                int st;
+                wait(&st);
+                *status = (WIFEXITED(st) ? WEXITSTATUS(st) : EX_SYSERR);
+                return 1;
+           } else {
+                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;
+
+       if (fsprobe_known_fstype(fstype))
+               return 1;
+       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)
+{
+   const char *type = fsprobe_get_fstype_by_devname(devname);
+
+   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 };
+
+   if (*types && strcasecmp (*types, "auto") == 0)
+      *types = NULL;
+
+   if (!*types && !(flags & MS_REMOUNT)) {
+      *types = guess_fstype_by_devname(spec);
+      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);
+          }
+      }
+   }
+
+   /* 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 = loopfile_used_with((char *) mnt->m.mnt_fsname,
+                                       loopfile, offset);
+
+               else if ((p = strstr(mnt->m.mnt_opts, "loop="))) {
+                       char *dev = xstrdup(p+5);
+                       if ((p = strchr(dev, ',')))
+                               *p = '\0';
+                       res = loopfile_used_with(dev, loopfile, offset);
+                       free(dev);
+               }
+       }
+
+       free(node);
+       return res;
+}
+
+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;
+  unsigned long long offset, sizelimit;
+
+  /*
+   * 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;
+
+  if (*loop) {
+    *flags |= MS_LOOP;
+    if (fake) {
+      if (verbose)
+       printf(_("mount: skipping the setup of a loop device\n"));
+    } else {
+      int loop_opts = SETLOOP_AUTOCLEAR; /* always attempt autoclear */
+      int res;
+
+      if (*flags & MS_RDONLY)
+        loop_opts |= SETLOOP_RDONLY;
+
+      offset = opt_offset ? strtoull(opt_offset, NULL, 0) : 0;
+      sizelimit = opt_sizelimit ? strtoull(opt_sizelimit, NULL, 0) : 0;
+
+      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;
+      }
+
+      do {
+        if (!*loopdev || !**loopdev)
+         *loopdev = find_unused_loop_device();
+       if (!*loopdev)
+         return EX_SYSERR;     /* no more loop devices */
+       if (verbose)
+         printf(_("mount: going to use the loop device %s\n"), *loopdev);
+
+       if ((res = set_loop(*loopdev, *loopfile, offset, sizelimit,
+                           opt_encryption, pfd, &loop_opts))) {
+         if (res == 2) {
+            /* loop dev has been grabbed by some other process,
+               try again, if not given explicitly */
+            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);
+            return EX_FAIL;
+
+         } else {
+            if (verbose)
+              printf(_("mount: failed setting up loop device\n"));
+            if (!opt_loopdev) {
+              my_free(*loopdev);
+              *loopdev = NULL;
+            }
+            return EX_FAIL;
+         }
+       }
+      } while (!*loopdev);
+
+      if (verbose > 1)
+       printf(_("mount: setup loop device successfully\n"));
+      *spec = *loopdev;
+
+      if (loop_opts & SETLOOP_RDONLY)
+        *flags |= MS_RDONLY;
+
+      if (loop_opts & SETLOOP_AUTOCLEAR)
+        /* Prevent recording loop dev in mtab for cleanup on umount */
+        *loop = 0;
+    }
+  }
+
+  return 0;
+}
+
+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 {
+                       mntFILE *mfp;
+
+                       lock_mtab();
+                       mfp = my_setmntent(_PATH_MOUNTED, "a+");
+                       if (mfp == NULL || mfp->mntent_fp == NULL) {
+                               int errsv = errno;
+                               error(_("mount: can't open %s: %s"), _PATH_MOUNTED,
+                                     strerror (errsv));
+                       } else {
+                               if ((my_addmntent (mfp, &mnt)) == 1) {
+                                       int errsv = errno;
+                                       error(_("mount: error writing %s: %s"),
+                                             _PATH_MOUNTED, strerror (errsv));
+                               }
+                       }
+                       my_endmntent(mfp);
+                       unlock_mtab();
+               }
+       }
+       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: %s"),
+                           strerror(errno));
+               close(cdrom);
+       }
+}
+
+/*
+ * 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;
+  int retries = 0;     /* Nr of retries for mount in case of ENOMEDIUM */
+
+  /* copies for freeing on exit */
+  const char *opts1, *spec1, *node1, *types1, *extra_opts1;
+
+  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);
+  extra_opts1 = 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))
+      die(EX_USAGE, _("mount: according to mtab, "
+                      "%s is already mounted on %s\n"),
+                     spec, node);
+
+  mount_opts = extra_opts;
+
+  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";
+
+  /*
+   * 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, extra_opts, &status)) {
+      res = status;
+      goto out;
+  }
+
+mount_retry:
+  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;
+    }
+  }
+
+  if (fake || mnt5_res == 0) {
+      /* Mount succeeded, report this (if verbose) and write mtab entry.  */
+
+      if (!(mounttype & MS_PROPAGATION)) {
+             update_mtab_entry(loop ? loopfile : spec,
+                       node,
+                       types ? types : "unknown",
+                       fix_opts_string (flags & ~MS_NOMTAB, extra_opts, user),
+                       flags,
+                       freq,
+                       pass);
+      }
+
+      block_signals (SIG_UNBLOCK);
+      res = 0;
+      goto out;
+  }
+
+  mnt_err = errno;
+
+  if (loop)
+       del_loop(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 already, 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 `insmod 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:
+      if (retries < CRDOM_NOMEDIUM_RETRIES) {
+             if (verbose)
+                     printf(_("mount: no medium found on %s ...trying again\n"),
+                                spec);
+              sleep(3);
+             ++retries;
+              goto mount_retry;
+      }
+      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(extra_opts1);
+  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=%d", getuid());
+               opts = subst_string(opts, w, strlen(s), id);
+       }
+       s = "gid=usergid";
+       if (opts && (w = strstr(opts, s)) != NULL) {
+               sprintf(id, "gid=%d", 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;
+       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, "nfs", 3) &&
+                             strncmp(types, "cifs", 4) &&
+                             strncmp(types, "smbfs", 5))) {
+               nspec = spec_to_devname(spec);
+               if (nspec)
+                       spec = nspec;
+       }
+
+       return try_mount_one (spec, node, types, opts, freq, pass, 0);
+}
+
+/* Check if an fsname/dir pair was already in the old mtab.  */
+static int
+mounted (const char *spec0, const char *node0) {
+       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;
+}
+
+/* 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")) {
+
+                       if (mounted (mc->m.mnt_fsname, mc->m.mnt_dir)) {
+                               if (verbose)
+                                       printf(_("mount: %s already mounted "
+                                                "on %s\n"),
+                                              mc->m.mnt_fsname,
+                                              mc->m.mnt_dir);
+                               continue;
+                       }
+
+                       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 },
+       { "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_spec(spec);
+
+               if (!mc)
+                       mc = getfs_by_dir(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.
+        */
+       if (!mc && (devname || spec))
+               mc = getmntfile (devname ? devname : spec);
+
+       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);
+
+       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 '?':
+               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:        %d\n", getuid());
+               printf("mount: eUID:       %d\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 ||
+            fake || mounttype || (argc + specseen) != 1)) {
+               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/mount_constants.h b/mount/mount_constants.h
new file mode 100644 (file)
index 0000000..81686f1
--- /dev/null
@@ -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_VERBOSE
+#define MS_VERBOSE     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
diff --git a/mount/mount_mntent.c b/mount/mount_mntent.c
new file mode 100644 (file)
index 0000000..f2623fd
--- /dev/null
@@ -0,0 +1,221 @@
+/* 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"
+
+/* Unfortunately the classical Unix /etc/mtab and /etc/fstab
+   do not handle directory names containing spaces.
+   Here we mangle them, replacing a space by \040.
+   What do other Unices do? */
+
+static unsigned char need_escaping[] = { ' ', '\t', '\n', '\\' };
+
+static char *
+mangle(const char *s) {
+       char *ss, *sp;
+       int n;
+
+       n = strlen(s);
+       ss = sp = xmalloc(4*n+1);
+       while(1) {
+               for (n = 0; n < sizeof(need_escaping); n++) {
+                       if (*s == need_escaping[n]) {
+                               *sp++ = '\\';
+                               *sp++ = '0' + ((*s & 0300) >> 6);
+                               *sp++ = '0' + ((*s & 070) >> 3);
+                               *sp++ = '0' + (*s & 07);
+                               goto next;
+                       }
+               }
+               *sp++ = *s;
+               if (*s == 0)
+                       break;
+       next:
+               s++;
+       }
+       return ss;
+}
+
+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;
+}
+
+static char *
+skip_nonspaces(char *s) {
+       while (*s && !is_space_or_tab(*s))
+               s++;
+       return s;
+}
+
+#define isoctal(a) (((a) & ~7) == '0')
+
+/* returns malloced pointer - no more strdup required */
+static char *
+unmangle(char *s) {
+       char *ret, *ss, *sp;
+
+       ss = skip_nonspaces(s);
+       ret = sp = xmalloc(ss-s+1);
+       while(s != ss) {
+               if (*s == '\\' && isoctal(s[1]) && isoctal(s[2]) && isoctal(s[3])) {
+                       *sp++ = 64*(s[1] & 7) + 8*(s[2] & 7) + (s[3] & 7);
+                       s += 4;
+               } else
+                       *sp++ = *s++;
+       }
+       *sp = 0;
+       return ret;
+}
+
+/*
+ * 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)
+                       fclose(mfp->mntent_fp);
+               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 = mangle(mnt->mnt_opts);
+
+       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);
+       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 = skip_nonspaces(s);
+       s = skip_spaces(s);
+       me.mnt_dir = unmangle(s);
+       s = skip_nonspaces(s);
+       s = skip_spaces(s);
+       me.mnt_type = unmangle(s);
+       s = skip_nonspaces(s);
+       s = skip_spaces(s);
+       me.mnt_opts = unmangle(s);
+       s = skip_nonspaces(s);
+       s = skip_spaces(s);
+
+       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/mount_mntent.h b/mount/mount_mntent.h
new file mode 100644 (file)
index 0000000..3b74215
--- /dev/null
@@ -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/sundries.c b/mount/sundries.c
new file mode 100644 (file)
index 0000000..5c33b11
--- /dev/null
@@ -0,0 +1,292 @@
+/*
+ * 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 "fstab.h"
+#include "sundries.h"
+#include "xmalloc.h"
+#include "nls.h"
+
+int mount_quiet;
+int verbose;
+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
+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;
+
+     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"))
+               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 == NULL)
+               return NULL;
+       if (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 = canonicalize_path(path);
+
+       if (!res)
+               die(EX_SYSERR, _("not enough memory"));
+       return res;
+}
+
diff --git a/mount/sundries.h b/mount/sundries.h
new file mode 100644 (file)
index 0000000..6d576e9
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * 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>
+
+/* global mount, umount, and losetup variables */
+extern int mount_quiet;
+extern int verbose;
+extern char *progname;
+
+#define streq(s, t)    (strcmp ((s), (t)) == 0)
+
+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);
+void *xmalloc (size_t size);
+char *xstrdup (const char *s);
+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/swap_constants.h b/mount/swap_constants.h
new file mode 100644 (file)
index 0000000..c7e8b4c
--- /dev/null
@@ -0,0 +1,15 @@
+/*
+ * It is too painful to get these out of <linux/swap.h>
+ * (which again requires <asm/page.h> etc).
+ * These exist since Linux 1.3.2.
+ */
+
+#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
diff --git a/mount/swapoff.8 b/mount/swapoff.8
new file mode 100644 (file)
index 0000000..1a06b7e
--- /dev/null
@@ -0,0 +1 @@
+.so man8/swapon.8
diff --git a/mount/swapon.8 b/mount/swapon.8
new file mode 100644 (file)
index 0000000..67e9a17
--- /dev/null
@@ -0,0 +1,191 @@
+.\" 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 "25 September 1995" "Linux 1.x" "Linux Programmer's Manual"
+.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 [ \-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 "\-e, \-\-ifexists"
+Silently skip devices that do not exist.
+.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 \fIpriprity\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
+.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.
+.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-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/mount/swapon.c b/mount/swapon.c
new file mode 100644 (file)
index 0000000..d89c6a9
--- /dev/null
@@ -0,0 +1,796 @@
+/*
+ * A swapon(8)/swapoff(8) for Linux 0.99.
+ */
+#include <stdlib.h>
+#include <stdio.h>
+#include <getopt.h>
+#include <string.h>
+#include <mntent.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 <err.h>
+
+#include "bitops.h"
+#include "blkdev.h"
+#include "swap_constants.h"
+#include "nls.h"
+#include "fsprobe.h"
+#include "pathnames.h"
+#include "swapheader.h"
+
+#define PATH_MKSWAP    "/sbin/mkswap"
+
+#ifdef HAVE_SYS_SWAP_H
+# include <sys/swap.h>
+#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)
+# define swapoff(path) syscall(SYS_swapoff, path)
+#endif
+
+#define streq(s, t)    (strcmp ((s), (t)) == 0)
+
+#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)
+
+int all;
+int priority = -1;     /* non-prioritized swap by default */
+
+/* If true, don't complain if the device/file doesn't exist */
+int ifexists;
+int fixpgsz;
+
+int verbose;
+char *progname;
+
+static struct option longswaponopts[] = {
+               /* swapon only */
+       { "priority", required_argument, 0, 'p' },
+       { "ifexists", 0, 0, 'e' },
+       { "summary", 0, 0, 's' },
+       { "fixpgsz", 0, 0, 'f' },
+               /* also for swapoff */
+       { "all", 0, 0, 'a' },
+       { "help", 0, 0, 'h' },
+       { "verbose", 0, 0, 'v' },
+       { "version", 0, 0, 'V' },
+       { NULL, 0, 0, 0 }
+};
+
+static struct option *longswapoffopts = &longswaponopts[4];
+
+static int cannot_find(const char *special);
+
+#define PRINT_USAGE_SPECIAL(_fp) \
+               fprintf(_fp, _( \
+       "The <special> parameter:\n" \
+       " {-L label | LABEL=label}             LABEL of device to be used\n" \
+       " {-U uuid  | 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\n"))
+
+static void
+swapon_usage(FILE *fp, int n) {
+       fprintf(fp, _("\nUsage:\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"), progname);
+
+       PRINT_USAGE_SPECIAL(fp);
+
+       exit(n);
+}
+
+static void
+swapoff_usage(FILE *fp, int n) {
+       fprintf(fp, _("\nUsage:\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"), progname);
+
+       PRINT_USAGE_SPECIAL(fp);
+
+       exit(n);
+}
+
+/*
+ * contents of /proc/swaps
+ */
+static int numSwaps;
+static char **swapFiles;       /* array of swap file and partition names */
+
+static void
+read_proc_swaps(void) {
+       FILE *swaps;
+       char line[1024];
+       char *p, **q;
+
+       numSwaps = 0;
+       swapFiles = NULL;
+
+       swaps = fopen(_PATH_PROC_SWAPS, "r");
+       if (swaps == NULL)
+               return;         /* nothing wrong */
+
+       /* skip the first line */
+       if (!fgets(line, sizeof(line), swaps)) {
+               /* do not whine about an empty file */
+               if (ferror(swaps))
+                       warn(_("%s: unexpected file format"), _PATH_PROC_SWAPS);
+               fclose(swaps);
+               return;
+       }
+       /* make sure the first line is the header */
+       if (line[0] != '\0' && strncmp(line, "Filename\t", 9))
+               goto valid_first_line;
+
+       while (fgets(line, sizeof(line), swaps)) {
+ valid_first_line:
+               /*
+                * Cut the line "swap_device  ... more info" after device.
+                * This will fail with names with embedded spaces.
+                */
+               for (p = line; *p && *p != ' '; p++);
+               *p = 0;
+
+               q = realloc(swapFiles, (numSwaps+1) * sizeof(*swapFiles));
+               if (q == NULL)
+                       break;
+               swapFiles = q;
+
+               swapFiles[numSwaps++] = strdup(line);
+       }
+       fclose(swaps);
+}
+
+static int
+is_in_proc_swaps(const char *fname) {
+       int i;
+
+       for (i = 0; i < numSwaps; i++)
+               if (swapFiles[i] && !strcmp(fname, swapFiles[i]))
+                       return 1;
+       return 0;
+}
+
+static int
+display_summary(void)
+{
+       FILE *swaps;
+       char line[1024] ;
+
+       if ((swaps = fopen(_PATH_PROC_SWAPS, "r")) == NULL) {
+               warn(_("%s: open failed"), _PATH_PROC_SWAPS);
+               return -1;
+       }
+
+       while (fgets(line, sizeof(line), swaps))
+               printf("%s", line);
+
+       fclose(swaps);
+       return 0 ;
+}
+
+/* calls mkswap */
+static int
+swap_reinitialize(const char *device) {
+       const char *label = fsprobe_get_label_by_devname(device);
+       const char *uuid  = fsprobe_get_uuid_by_devname(device);
+       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 */
+       }
+       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(_("%s: open failed"), 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)
+               *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 = malloc(MAX_PAGESIZE);
+       if (!buf)
+               return NULL;
+
+       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 < (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 */
+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 %sswap v%d signature string"
+                               " for %d KiB PAGE_SIZE\n"),
+                       devname,
+                       flip ? "other-endian " : "",
+                       swap_version,
+                       pagesize / 1024);
+
+       return (last_page + 1) * pagesize;
+}
+
+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(_("%s: stat failed"), 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);
+       }
+
+       /* 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(_("%s: open failed"), 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);
+               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 (getpagesize() != pagesize) {
+                       if (fixpgsz) {
+                               warnx(_("%s: swap format pagesize does not match."),
+                                       special);
+                               if (swap_reinitialize(special) < 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 canonic) {
+       int status;
+       const char *special = orig_special;
+       int flags = 0;
+
+       if (verbose)
+               printf(_("%s on %s\n"), progname, orig_special);
+
+       if (!canonic) {
+               special = fsprobe_get_devname_by_spec(orig_special);
+               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
+       status = swapon(special, flags);
+       if (status < 0)
+               warn(_("%s: swapon failed"), orig_special);
+
+       return status;
+}
+
+static int
+cannot_find(const char *special) {
+       warnx(_("cannot find the device for %s"), special);
+       return -1;
+}
+
+static int
+swapon_by_label(const char *label, int prio) {
+       const char *special = fsprobe_get_devname_by_label(label);
+       return special ? do_swapon(special, prio, CANONIC) : cannot_find(label);
+}
+
+static int
+swapon_by_uuid(const char *uuid, int prio) {
+       const char *special = fsprobe_get_devname_by_uuid(uuid);
+       return special ? do_swapon(special, prio, CANONIC) : cannot_find(uuid);
+}
+
+static int
+do_swapoff(const char *orig_special, int quiet, int canonic) {
+        const char *special = orig_special;
+
+       if (verbose)
+               printf(_("%s on %s\n"), progname, orig_special);
+
+       if (!canonic) {
+               special = fsprobe_get_devname_by_spec(orig_special);
+               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 = fsprobe_get_devname_by_label(label);
+       return special ? do_swapoff(special, quiet, CANONIC) : cannot_find(label);
+}
+
+static int
+swapoff_by_uuid(const char *uuid, int quiet) {
+       const char *special = fsprobe_get_devname_by_uuid(uuid);
+       return special ? do_swapoff(special, quiet, CANONIC) : cannot_find(uuid);
+}
+
+static int
+swapon_all(void) {
+       FILE *fp;
+       struct mntent *fstab;
+       int status = 0;
+
+       read_proc_swaps();
+
+       fp = setmntent(_PATH_MNTTAB, "r");
+       if (fp == NULL)
+               err(2, _("%s: open failed"), _PATH_MNTTAB);
+
+       while ((fstab = getmntent(fp)) != NULL) {
+               const char *special;
+               int skip = 0;
+               int pri = priority;
+               char *opt, *opts;
+
+               if (!streq(fstab->mnt_type, MNTTYPE_SWAP))
+                       continue;
+
+               opts = strdup(fstab->mnt_opts);
+
+               for (opt = strtok(opts, ","); opt != NULL;
+                    opt = strtok(NULL, ",")) {
+                       if (strncmp(opt, "pri=", 4) == 0)
+                               pri = atoi(opt+4);
+                       if (strcmp(opt, "noauto") == 0)
+                               skip = 1;
+               }
+               free(opts);
+
+               if (skip)
+                       continue;
+
+               special = fsprobe_get_devname_by_spec(fstab->mnt_fsname);
+               if (!special) {
+                       if (!ifexists)
+                               status |= cannot_find(fstab->mnt_fsname);
+                       continue;
+               }
+
+               if (!is_in_proc_swaps(special) &&
+                   (!ifexists || !access(special, R_OK)))
+                       status |= do_swapon(special, pri, CANONIC);
+
+               free((void *) special);
+       }
+       fclose(fp);
+
+       return status;
+}
+
+static const char **llist = NULL;
+static int llct = 0;
+static const char **ulist = NULL;
+static int ulct = 0;
+
+static void addl(const char *label) {
+       llist = (const char **) realloc(llist, (++llct) * sizeof(char *));
+       if (!llist)
+               exit(EXIT_FAILURE);
+       llist[llct-1] = label;
+}
+
+static void addu(const char *uuid) {
+       ulist = (const char **) realloc(ulist, (++ulct) * sizeof(char *));
+       if (!ulist)
+               exit(EXIT_FAILURE);
+       ulist[ulct-1] = uuid;
+}
+
+static int
+main_swapon(int argc, char *argv[]) {
+       int status = 0;
+       int c, i;
+
+       while ((c = getopt_long(argc, argv, "ahefp:svVL:U:",
+                               longswaponopts, NULL)) != -1) {
+               switch (c) {
+               case 'a':               /* all */
+                       ++all;
+                       break;
+               case 'h':               /* help */
+                       swapon_usage(stdout, 0);
+                       break;
+               case 'p':               /* priority */
+                       priority = atoi(optarg);
+                       break;
+               case 'L':
+                       addl(optarg);
+                       break;
+               case 'U':
+                       addu(optarg);
+                       break;
+               case 'e':               /* ifexists */
+                       ifexists = 1;
+                       break;
+               case 'f':
+                       fixpgsz = 1;
+                       break;
+               case 's':               /* status report */
+                       status = display_summary();
+                       exit(status);
+               case 'v':               /* be chatty */
+                       ++verbose;
+                       break;
+               case 'V':               /* version */
+                       printf("%s: (%s)\n", progname, PACKAGE_STRING);
+                       exit(0);
+               case 0:
+                       break;
+               case '?':
+               default:
+                       swapon_usage(stderr, 1);
+               }
+       }
+       argv += optind;
+
+       if (!all && !llct && !ulct && *argv == NULL)
+               swapon_usage(stderr, 2);
+
+       if (ifexists && (!all || strcmp(progname, "swapon")))
+               swapon_usage(stderr, 1);
+
+       if (all)
+               status |= swapon_all();
+
+       for (i = 0; i < llct; i++)
+               status |= swapon_by_label(llist[i], priority);
+
+       for (i = 0; i < ulct; i++)
+               status |= swapon_by_uuid(ulist[i], priority);
+
+       while (*argv != NULL)
+               status |= do_swapon(*argv++, priority, !CANONIC);
+
+       return status;
+}
+
+static int
+main_swapoff(int argc, char *argv[]) {
+       FILE *fp;
+       struct mntent *fstab;
+       int status = 0;
+       int c, i;
+
+       while ((c = getopt_long(argc, argv, "ahvVL:U:",
+                                longswapoffopts, NULL)) != -1) {
+               switch (c) {
+               case 'a':               /* all */
+                       ++all;
+                       break;
+               case 'h':               /* help */
+                       swapoff_usage(stdout, 0);
+                       break;
+               case 'v':               /* be chatty */
+                       ++verbose;
+                       break;
+               case 'V':               /* version */
+                       printf("%s (%s)\n", progname, PACKAGE_STRING);
+                       exit(0);
+               case 'L':
+                       addl(optarg);
+                       break;
+               case 'U':
+                       addu(optarg);
+                       break;
+               case 0:
+                       break;
+               case '?':
+               default:
+                       swapoff_usage(stderr, 1);
+               }
+       }
+       argv += optind;
+
+       if (!all && !llct && !ulct && *argv == NULL)
+               swapoff_usage(stderr, 2);
+
+       /*
+        * swapoff any explicitly given arguments.
+        * Complain in case the swapoff call fails.
+        */
+       for (i = 0; i < llct; i++)
+               status |= swapoff_by_label(llist[i], !QUIET);
+
+       for (i = 0; i < ulct; i++)
+               status |= swapoff_by_uuid(ulist[i], !QUIET);
+
+       while (*argv != NULL)
+               status |= do_swapoff(*argv++, !QUIET, !CANONIC);
+
+       if (all) {
+               /*
+                * 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.
+                */
+               read_proc_swaps();
+               for(i=0; i<numSwaps; i++)
+                       status |= do_swapoff(swapFiles[i], 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.
+                */
+               fp = setmntent(_PATH_MNTTAB, "r");
+               if (fp == NULL)
+                       err(2, _("%s: open failed"), _PATH_MNTTAB);
+
+               while ((fstab = getmntent(fp)) != NULL) {
+                       const char *special;
+
+                       if (!streq(fstab->mnt_type, MNTTYPE_SWAP))
+                               continue;
+
+                       special = fsprobe_get_devname_by_spec(fstab->mnt_fsname);
+                       if (!special)
+                               continue;
+
+                       if (!is_in_proc_swaps(special))
+                               do_swapoff(special, QUIET, CANONIC);
+               }
+               fclose(fp);
+       }
+
+       return status;
+}
+
+int
+main(int argc, char *argv[]) {
+
+       setlocale(LC_ALL, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+
+       progname = program_invocation_short_name;
+       if (!progname) {
+               char *p = strrchr(argv[0], '/');
+               progname = p ? p+1 : argv[0];
+       }
+
+       if (streq(progname, "swapon"))
+               return main_swapon(argc, argv);
+       else
+               return main_swapoff(argc, argv);
+}
diff --git a/mount/umount.8 b/mount/umount.8
new file mode 100644 (file)
index 0000000..ca67e1d
--- /dev/null
@@ -0,0 +1,163 @@
+.\" 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 manual; if not, write to the Free
+.\" Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
+.\" USA.
+.\"
+.TH UMOUNT 8 "26 July 1997" "Linux 2.0" "Linux Programmer's Manual"
+.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.)
+
+.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 ]
+.br
+
+where the <suffix> is filesystem type or a value from "uhelper=" mtab option.
+
+The uhelper (unprivileged umount helper) is possible to used when non-root user
+wants to umount a mountpoint which is not defined in the /etc/fstab file (e.g
+devices mounted by HAL).
+
+.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-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/mount/umount.c b/mount/umount.c
new file mode 100644 (file)
index 0000000..a695f0c
--- /dev/null
@@ -0,0 +1,714 @@
+/*
+ * 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 "lomount.h"
+#include "loop.h"
+#include "fstab.h"
+#include "env.h"
+#include "nls.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 */
+
+#if !defined(MNT_FORCE)
+/* dare not try to include <linux/mount.h> -- lots of errors */
+#define MNT_FORCE 1
+#endif
+
+#endif /* MNT_FORCE */
+
+#if !defined(MNT_DETACH)
+#define MNT_DETACH 2
+#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;
+
+/*
+ * 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 *spec, const char *node,
+                        const char *type, int *status) {
+       char umountprog[120];
+       struct stat statbuf;
+       int res;
+
+       if (!external_allowed)
+               return 0;
+
+       if (type == NULL || strcmp(type, "none") == 0)
+               return 0;
+
+       if (strlen(type) < 100) {
+               sprintf(umountprog, "/sbin/umount.%s", type);
+               if (stat(umountprog, &statbuf) == 0) {
+                       res = fork();
+                       if (res == 0) {
+                               char *umountargs[8];
+                               int i = 0;
+
+                               if(setgid(getgid()) < 0)
+                                       die(EX_FAIL, _("umount: cannot set group id: %s"), strerror(errno));
+
+                               if(setuid(getuid()) < 0)
+                                       die(EX_FAIL, _("umount: cannot set user id: %s"), strerror(errno));
+
+                               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";
+                               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;
+  }
+}
+
+/* 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,
+           const char *opts, struct mntentchn *mc) {
+       int umnt_err = 0;
+       int isroot;
+       int res;
+       int status;
+       const char *loopdev;
+       int myloop = 0;
+
+       /* 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(spec, node, type, &status))
+               return status;
+
+       /*
+        * Ignore the option "-d" for non-loop devices and loop devices with
+        * LO_FLAGS_AUTOCLEAR flag.
+        */
+       if (delloop && is_loop_device(spec) && !is_loop_autoclear(spec))
+               myloop = 1;
+
+       if (lazy) {
+               res = umount2 (node, MNT_DETACH);
+               if (res < 0)
+                       umnt_err = errno;
+               goto writemtab;
+       }
+
+       if (force) {            /* only supported for NFS */
+               res = umount2 (node, MNT_FORCE);
+               if (res == -1) {
+                       int errsv = errno;
+                       perror("umount2");
+                       errno = errsv;
+                       if (errno == ENOSYS) {
+                               if (verbose)
+                                       printf(_("no umount2, trying umount...\n"));
+                               res = umount (node);
+                       }
+               }
+       } else
+               res = umount (node);
+
+       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) {
+                       struct my_mntent remnt;
+                       fprintf(stderr,
+                               _("umount: %s busy - remounted read-only\n"),
+                               spec);
+                       remnt.mnt_type = remnt.mnt_fsname = NULL;
+                       remnt.mnt_dir = xstrdup(node);
+                       remnt.mnt_opts = xstrdup("ro");
+                       if (!nomtab)
+                               update_mtab(node, &remnt);
+                       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 umounted\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 (myloop)
+                       loopdev = spec;
+       }
+ gotloop:
+       if (loopdev)
+               del_loop(loopdev);
+
+ writemtab:
+       if (!nomtab &&
+           (umnt_err == 0 || umnt_err == EINVAL || umnt_err == ENOENT)) {
+               update_mtab (node, NULL);
+       }
+
+       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->m.mnt_opts, 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->m.mnt_opts, 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->m.mnt_opts, mc);
+         }
+     }
+
+     sync ();
+     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' },
+  { 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;
+}
+
+/*
+ * If list contains "user=peter" and we ask for "user=", return "peter"
+ */
+static char *
+get_value(const char *list, const char *s) {
+       const char *t;
+       int 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;
+}
+
+/* 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)
+{
+       unsigned long long 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_value(fs->m.mnt_opts, "offset=");
+       if (p)
+               offset = strtoull(p, NULL, 10);
+
+       /* check association */
+       if (loopfile_used_with((char *) mc->m.mnt_fsname,
+                               fs->m.mnt_fsname, 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;
+}
+
+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;
+
+       if (!*arg) {            /* "" would be expanded to `pwd` */
+               die(2, _("Cannot umount \"\"\n"));
+               return 0;
+       }
+
+       file = canonicalize(arg); /* mtab paths are canonicalized */
+       if (verbose > 1)
+               printf(_("Trying to umount %s\n"), file);
+
+       mc = getmntdirbackward(file, NULL);
+       if (!mc) {
+               mc = getmntdevbackward(file, NULL);
+               if (mc) {
+                       struct mntentchn *mc1;
+
+                       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"));
+
+                       if (strcmp(file, mc1->m.mnt_fsname)) {
+                               /* Something was stacked over `file' on the
+                                  same mount point. */
+                               die(EX_FAIL, _("umount: cannot umount %s -- %s is "
+                                   "mounted over it on the same point."),
+                                   file, mc1->m.mnt_fsname);
+                       }
+               }
+       }
+       if (!mc && verbose)
+               printf(_("Could not find %s in mtab\n"), file);
+
+       if (restricted) {
+               char *mtab_user = NULL;
+
+               if (!mc)
+                       die(2,
+                           _("umount: %s is not mounted (according to mtab)"),
+                           file);
+               /*
+                * uhelper - unprivileged umount helper
+                * -- external umount (for example HAL mounts)
+                */
+               if (external_allowed) {
+                       char *uhelper = NULL;
+
+                       if (mc->m.mnt_opts)
+                               uhelper = get_value(mc->m.mnt_opts, "uhelper=");
+                       if (uhelper) {
+                               int status = 0;
+                               if (check_special_umountprog(arg, arg,
+                                                       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_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, 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);
+
+       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 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)) {
+               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/mount/xmalloc.c b/mount/xmalloc.c
new file mode 100644 (file)
index 0000000..3fd09fd
--- /dev/null
@@ -0,0 +1,48 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>    /* strdup() */
+#include "xmalloc.h"
+#include "nls.h"       /* _() */
+#include "sundries.h"  /* EX_SYSERR */
+
+static void
+die_if_null(void *t) {
+       if (t == NULL)
+               die(EX_SYSERR, _("not enough memory"));
+}
+
+void *
+xmalloc (size_t size) {
+       void *t;
+
+       if (size == 0)
+               return NULL;
+
+       t = malloc(size);
+       die_if_null(t);
+
+       return t;
+}
+
+void *
+xrealloc (void *p, size_t size) {
+       void *t;
+
+       t = realloc(p, size);
+       die_if_null(t);
+
+       return t;
+}
+
+char *
+xstrdup (const char *s) {
+       char *t;
+
+       if (s == NULL)
+               return NULL;
+
+       t = strdup(s);
+       die_if_null(t);
+
+       return t;
+}
diff --git a/mount/xmalloc.h b/mount/xmalloc.h
new file mode 100644 (file)
index 0000000..2fc0a7e
--- /dev/null
@@ -0,0 +1,14 @@
+#ifndef MOUNT_XMALLOC_H
+#define MOUNT_XMALLOC_H
+
+extern void *xmalloc(size_t size);
+extern void *xrealloc(void *p, size_t size);
+extern char *xstrdup(const char *s);
+
+/*
+ * free(p); when 'p' is 'const char *' makes gcc unhappy:
+ *    warning: passing argument 1 of ‘free’ discards qualifiers from pointer target type
+ */
+#define my_free(_p)    free((void *) _p)
+
+#endif  /* MOUNT_XMALLOC_H */
diff --git a/packaging/util-linux-ng.changes b/packaging/util-linux-ng.changes
new file mode 100644 (file)
index 0000000..c787507
--- /dev/null
@@ -0,0 +1,1359 @@
+* Wed Dec 29 2010 Yan Li <yan.i.li@intel.com> - 2.16
+- "which" is reverted from 2.20 to version 2.17, floppy tool removed
+  because it's not needed in MeeGo, lscpu removed. (BMC#11589)
+
+* Thu Jul 22 2010 Passion Zhao <passion.zhao@intel.com> - 2.16
+- Add GPLv3 to the license in spec because "which" and "lscpu" are GPLv3
+
+* Thu Nov 05 2009 PeterZhu <peter.j.zhu@intel.com> - 2.16
+- Remove /usr/share/info/dir in %install
+- Remove duplicated /usr/share/man/man8/uuidd.8.gz in %files
+
+* Thu Sep 24 2009 Anas Nashif <anas.nashif@intel.com> - 2.16
+- Remove info/dir and some static libs
+
+* Sun Aug 30 2009 Anas Nashif <anas.nashif@intel.com> - 2.16
+- Removing conflicts with fsck
+
+* Thu Aug 27 2009 Passion Zhao <passion.zhao@intel.com> - 2.16-1
+- Upgrade to 2.16
+
+* Thu Jul 18 2009 Peter Zhu <peter.j.zhu@intel.com> 2.15.1
+- Make libuuid-devel as Requires of libblkid-devel
+
+* Thu Jul 16 2009 Austin Zhang <austin.zhang@intel.com> 2.15.1
+- Make blkid as builtin, HAL is asking it instead of volume_id.
+
+* Thu Jul 09 2009 Auke Kok <auke-jan.h.kok@intel.com> 2.14.1
+- Disable use of pam_ck_connector in login service - breaks various UI ck sessions.
+
+* Wed Jul 8 2009 Austin Zhang <austin.zhang@intel.com> 2.15.1
+- Update to 2.15.1, udev-143 removed vol_id and ask blkid to do similar things. but it needs 
+  util-linux-ng 2.15+ to do this.
+
+* Fri Dec 19 2008 Anas Nashif <anas.nashif@intel.com> 2.14.1
+- Re-add pam dependency that was removed by mistake
+
+* Thu Dec 18 2008 Arjan van de Ven <arjan@linux.intel.com> 2.14.1
+- Fix Provides: of util-linux to be versioned so that compat Conflicts: in other packags will work
+
+* Thu Dec 18 2008 Anas Nashif <anas.nashif@intel.com> 2.14.1
+- include which in package
+
+* Tue Dec 09 2008 Anas Nashif <anas.nashif@intel.com> 2.14.1
+- disable selinux in pam
+
+* Thu Dec 04 2008 Anas Nashif <anas.nashif@intel.com> 2.14.1
+- Update to version 2.14.1
+
+* Sun Nov 30 2008 Peter J Zhu <peter.j.zhu@intel.com>
+- Remove info install warning
+
+* Mon Nov 24 2008 Anas Nashif <anas.nashif@intel.com> 2.13.1
+- remove dependency on slang
+
+* Tue Aug 12 2008 Anas Nashif <anas.nashif@intel.com> 
+- Remove selinux from pam configuraton files to enable login localy and remotely
+
+* Wed Jul 23 2008 Zhang Xin <xing.z.zhang@intel.com>
+- Mark man file and info file as %doc
+
+* Wed Apr  2 2008 Karel Zak <kzak@redhat.com> 2.13.1-6
+- fix 439984 - backport mkswap -U
+
+* Wed Mar 26 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 2.13.1-5
+- clean up sparc conditionals
+
+* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 2.13.1-4
+- Autorebuild for GCC 4.3
+
+* Mon Jan 28 2008 Karel Zak <kzak@redhat.com> 2.13.1-3
+- upgrade to new upstream release
+- fix #427874 - util-linux-ng gets "excess command line argument" on update
+
+* Wed Jan  2 2008 Karel Zak <kzak@redhat.com> 2.13.1-2
+- update to upstream 2.13.1-rc2
+
+* Wed Dec 12 2007 Dan Walsh <dwalsh@redhat.com> 2.13.1-1
+- Fix pam files so that pam_keyinit happens after pam_selinux.so
+
+* Wed Dec 12 2007 Karel Zak <kzak@redhat.com> 2.13.1-0.2
+- remove viwp and vigr (in favour of shadow-utils)
+
+* Sun Dec  9 2007 Karel Zak <kzak@redhat.com> 2.13.1-0.1
+- update to the latest upstream stable branch
+  (commit: fda9d11739ee88c3b2f22a73f12ec019bd3b8335)
+
+* Wed Oct 31 2007 Karel Zak <kzak@redhat.com> 2.13-4
+- fix #354791 - blockdev command calls the blkpg ioctl with a wrong data structure
+
+* Tue Oct 16 2007 Karel Zak <kzak@redhat.com> 2.13-3
+- fix mount -L | -U segfault
+- fix script die on SIGWINCH
+
+* Thu Oct  4 2007 Karel Zak <kzak@redhat.com> 2.13-2
+- update to the latest upstream stable branch
+
+* Tue Aug 28 2007 Karel Zak <kzak@redhat.com> 2.13-1
+- upgrade to stable util-linux-ng release
+
+* Fri Aug 24 2007 Karel Zak <kzak@redhat.com> 2.13-0.59
+- add release number to util-linux Provides and increment setarch Obsoletes
+- fix #254114 - spec typo
+- upgrade to floppy-0.16
+- add BuildRequires: popt-devel
+
+* Wed Aug 22 2007 Jesse Keating <jkeating@redhat.com>  2.13-0.58
+- Obsolete a sufficiently high enough version of setarch
+
+* Mon Aug 20 2007 Karel Zak <kzak@redhat.com>  2.13-0.57
+- fix #253664 - util-linux-ng fails to build on sparc (patch by Dennis Gilmore)
+- rebase to new GIT snapshot
+
+* Mon Aug 20 2007 Karel Zak <kzak@redhat.com> 2.13-0.56
+- fix obsoletes field
+
+* Mon Aug 20 2007 Karel Zak <kzak@redhat.com> 2.13-0.55
+- util-linux-ng includes setarch(1), define relevat Obsoletes+Provides
+
+* Mon Aug 20 2007 Karel Zak <kzak@redhat.com> 2.13-0.54
+- port "blockdev --rmpart" patch from util-linux
+- use same Provides/Obsoletes setting like in util-linux
+
+* Wed Aug 15 2007 Karel Zak <kzak@redhat.com> 2.13-0.53
+- fix #252046 - review Request: util-linux-ng (util-linux replacement)
+
+* Mon Aug 13 2007 Karel Zak <kzak@redhat.com> 2.13-0.52
+- rebase to util-linux-ng (new util-linux upstream fork,
+               based on util-linux 2.13-pre7)
+- more than 70 Fedora/RHEL patches have been merged to upstream code
+
+* Fri Apr  6 2007 Karel Zak <kzak@redhat.com> 2.13-0.51
+- fix #150493 - hwclock --systohc sets clock 0.5 seconds slow
+- fix #220873 - starting RPC idmapd: Error: RPC MTAB does not exist.
+               (added rpc_pipefs to util-linux-2.13-umount-sysfs.patch)
+- fix #227903 - mount -f does not work with NFS-mounted
+
+* Sat Mar  3 2007 David Zeuthen <davidz@redhat.com> 2.13-0.50
+- include ConsoleKit session module by default (#229172)
+
+* Thu Jan 11 2007 Karel Zak <kzak@redhat.com> 2.13-0.49
+- fix #222293 - undocumented partx,addpart, delpart
+
+* Sun Dec 17 2006 Karel Zak <kzak@redhat.com> 2.13-0.48
+- fix paths in po/Makefile.in.in
+
+* Fri Dec 15 2006 Karel Zak <kzak@redhat.com> 2.13-0.47
+- fix #217240 - namei ignores non-directory components instead of saying "Not a directory"
+- fix #217241 - namei enforces symlink limits inconsistently
+
+* Wed Dec 14 2006 Karel Zak <kzak@redhat.com> 2.13-0.46
+- fix leaking file descriptor in the more command (patch by Steve Grubb)
+
+* Wed Dec 13 2006 Karel Zak <kzak@redhat.com> 2.13-0.45
+- use ncurses only
+- fix #218915 - fdisk -b 4K
+- upgrade to -pre7 release
+- fix building problem with raw0 patch
+- fix #217186 - /bin/sh: @MKINSTALLDIRS@: No such file or directory 
+  (port po/Makefile.in.in from gettext-0.16)
+- sync with FC6 and RHEL5:
+- fix #216489 - SCHED_BATCH option missing in chrt
+- fix #216712 - issues with raw device support ("raw0" is wrong device name)
+- fix #216760 - mount with context or fscontext option fails
+  (temporarily disabled the support for additional contexts -- not supported by kernel yet)
+- fix #211827 - Can't mount with additional contexts
+- fix #213127 - mount --make-unbindable does not work
+- fix #211749 - add -r option to losetup to create a read-only loop
+
+* Thu Oct 12 2006 Karel Zak <kzak@redhat.com> 2.13-0.44
+- fix #209911 - losetup.8 updated (use dm-crypt rather than deprecated cryptoloop)
+- fix #210338 - spurious error from '/bin/login -h $PHONENUMBER' (bug in IPv6 patch)
+- fix #208634 - mkswap "works" without warning on a mounted device
+
+* Sun Oct 01 2006 Jesse Keating <jkeating@redhat.com> - 2.13-0.43
+- rebuilt for unwind info generation, broken in gcc-4.1.1-21
+
+* Wed Sep 20 2006 Karel Zak <kzak@redhat.com> 2.13-0.42
+- remove obsolete NFS code and patches (we use /sbin/mount.nfs
+  and /sbin/umount.nfs from nfs-utils now)
+- move nfs.5 to nfs-utils
+
+* Fri Sep 15 2006 Karel Zak <kzak@redhat.com> 2.13-0.41
+- fix #205038 - mount not allowing sloppy option (exports "-s"
+  to external /sbin/mount.nfs(4) calls) 
+- fix minor bug in util-linux-2.13-mount-twiceloop.patch
+- fix #188193- util-linux should provide plugin infrastructure for HAL
+
+* Mon Aug 21 2006 Karel Zak <kzak@redhat.com> 2.13-0.40
+- fix Makefile.am in util-linux-2.13-mount-context.patch
+- fix #201343 - pam_securetty requires known user to work
+               (split PAM login configuration to two files)
+- fix #203358 - change location of taskset binary to allow for early affinity work
+
+* Fri Aug 11 2006 Karel Zak <kzak@redhat.com> 2.13-0.39
+- fix #199745 - non-existant simpleinit(8) mentioned in ctrlaltdel(8)
+
+* Thu Aug 10 2006 Dan Walsh <dwalsh@redhat.com> 2.13-0.38
+- Change keycreate line to happen after pam_selinux open call so it gets correct context
+
+* Thu Aug 10 2006 Karel Zak <kzak@redhat.com> 2.13-0.37
+- fix #176494 - last -i returns strange IP addresses (patch by Bill Nottingham)
+
+* Thu Jul 27 2006 Karel Zak <kzak@redhat.com> 2.13-0.36
+- fix #198300, #199557 - util-linux "post" scriptlet failure
+
+* Thu Jul 27 2006 Steve Dickson <steved@redhat.com> 2.13-0.35
+- Added the -o fsc flag to nfsmount.
+
+* Wed Jul 26 2006 Karel Zak <kzak@redhat.com> 2.13-0.34
+- rebuild
+
+* Tue Jul 18 2006 Karel Zak <kzak@redhat.com> 2.13-0.33
+- add Requires(post): libselinux
+
+* Mon Jul 17 2006 Karel Zak <kzak@redhat.com> 2.13-0.32
+- add IPv6 support to the login command (patch by Milan Zazrivec)
+- fix #198626 - add keyinit instructions to the login PAM script 
+  (patch by David Howells) 
+
+* Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 2.13-0.31.1
+- rebuild
+
+* Tue Jul 11 2006 Karel Zak <kzak@redhat.com> 2.13-0.31
+- cleanup dependences for post and preun scriptlets
+
+* Mon Jul 10 2006 Karsten Hopp <karsten@redhat.de> 2.13-0.30
+- silence install in minimal buildroot without /var/log
+
+* Fri Jul  7 2006 Karel Zak <kzak@redhat.com> 2.13-0.29 
+- include the raw command for RHELs
+
+* Mon Jun 26 2006 Florian La Roche <laroche@redhat.com> 2.13-0.28
+- move install-info parts from postun to preun
+
+* Wed Jun 21 2006 Dan Walsh <dwalsh@RedHat.com> 2.13-0.27
+- Only execute chcon on machines with selinux enabled
+
+* Wed Jun 14 2006 Steve Dickson <steved@redhat.com> 2.13-0.26
+- Remove unneeded header files from nfsmount.c
+
+* Mon Jun 12 2006 Karel Zak <kzak@redhat.com> 2.13-0.25
+- fix #187014 - umount segfaults for normal user
+- fix #183446 - cal not UTF-8-aware
+- fix #186915 - mount does not translate SELIinux context options though libselinux
+- fix #185500 - Need man page entry for -o context= mount option
+- fix #152579 - missing info about /etc/mtab and /proc/mounts mismatch
+- fix #183890 - missing info about possible ioctl() and fcntl() problems on NFS filesystem
+- fix #191230 - using mount --move results in wrong data in /etc/mtab
+- added mount subtrees support
+- fdisk: wrong number of sectors for large disks (suse#160822)
+- merge fdisk-xvd (#182553) with new fdisk-isfull (#188981) patch 
+- fix #181549 - raw(8) manpage has old information about dd
+- remove asm/page.h usage
+
+* Wed May 24 2006 Dan Walsh <dwalsh@RedHat.com> 2.13-0.24
+- Remove requirement on restorecon, since we can do the same thing
+- with chcon/matchpathcon, and not add requirement on policycoreutils
+
+* Wed May 24 2006 Steve Dickson <steved@redhat.com> 2.13-0.23
+- Fixed bug in patch for bz183713 which cause nfs4 mounts to fail.
+
+* Tue May  2 2006 Steve Dickson <steved@redhat.com> 2.13-0.22
+- Added syslog logging to background mounts as suggested
+  by a customer.
+
+* Mon May  1 2006 Steve Dickson <steved@redhat.com> 2.13-0.21
+- fix #183713 - foreground mounts are not retrying as advertised
+- fix #151549 - Added 'noacl' mount flag
+- fix #169042 - Changed nfsmount to try udp before using tcp when rpc-ing
+               the remote rpc.mountd (iff -o tcp is not specified).
+               This drastically increases the total number of tcp mounts
+               that can happen at once (ala autofs).
+
+* Wed Mar  9 2006 Jesse Keating <jkeating@redhat.com> 2.13-0.20
+- Better calling of restorecon as suggested by Bill Nottingham
+- prereq restorecon to avoid ordering issues
+
+* Wed Mar  9 2006 Jesse Keating <jkeating@redhat.com> 2.13-0.19
+- restorecon /var/log/lastlog
+
+* Wed Mar  8 2006 Karel Zak <kzak@redhat.com> 2.13-0.17
+- fix #181782 - mkswap selinux relabeling (fix util-linux-2.13-mkswap-selinux.patch)
+
+* Wed Feb 22 2006 Karel Zak <kzak@redhat.com> 2.13-0.16
+- fix #181782 - mkswap should automatically add selinux label to swapfile
+- fix #180730 - col is exiting with 1 (fix util-linux-2.12p-col-EILSEQ.patch)
+- fix #181896 - broken example in schedutils man pages
+- fix #177331 - login omits pam_acct_mgmt & pam_chauthtok when authentication is skipped.
+- fix #177523 - umount -a should not unmount sysfs
+- fix #182553 - fdisk -l inside xen guest shows no disks
+
+* Fri Feb 10 2006 Jesse Keating <jkeating@redhat.com> - 2.13-0.15.1
+- bump again for double-long bug on ppc(64)
+
+* Wed Feb  8 2006 Peter Jones <pjones@redhat.com> 2.13-0.15
+- add "blockdev --rmpart N <device>" and "blockdev --rmparts <device>"
+
+* Tue Feb 07 2006 Jesse Keating <jkeating@redhat.com> - 2.13-0.14.1
+- rebuilt for new gcc4.1 snapshot and glibc changes
+
+* Thu Jan 19 2006 Steve Dickson <steved@redhat.com> 2.13-0.14
+- Updated the gssd_check() and idmapd_check(), used with
+  nfsv4 mounts, to looked for the correct file in /var/lock/subsys
+  which stops bogus warnings. 
+
+* Tue Jan  3 2006 Karel Zak <kzak@redhat.com> 2.13-0.13
+- fix #174676 - hwclock audit return code mismatch
+- fix #176441: col truncates data
+- fix #174111 - mount allows loopback devices to be mounted more than once to the same mount point
+- better wide chars usage in the cal command (based on the old 'moremisc' patch)
+
+* Mon Dec 12 2005 Karel Zak <kzak@redhat.com> 2.13-0.12
+- rebuilt
+
+* Fri Dec 09 2005 Jesse Keating <jkeating@redhat.com>
+- rebuilt
+
+* Fri Nov 25 2005 Karel Zak <kzak@redhat.com> 2.13-0.11.pre6
+- update to upstream version 2.13-pre6
+- fix #172203 - mount man page in RHEL4 lacks any info on cifs mount options
+
+* Mon Nov  7 2005 Karel Zak <kzak@redhat.com> 2.13-0.10.pre5
+- fix #171337 - mkfs.cramfs doesn't work correctly with empty files
+
+* Fri Oct 28 2005 Karel Zak <kzak@redhat.com> 2.13-0.9.pre5
+- rebuild
+
+* Wed Oct 26 2005 Karel Zak <kzak@redhat.com> 2.13-0.8.pre5
+- updated version of the patch for hwclock audit
+
+* Thu Oct 20 2005 Karel Zak <kzak@redhat.com> 2.13-0.7.pre5
+- fix #171337 - mkfs.cramfs dies creating installer image
+
+* Thu Oct 20 2005 Karel Zak <kzak@redhat.com> 2.13-0.6.pre5
+- update to upstream 2.13pre5
+- remove separated cramfs1.1 (already in upstream package)
+- remove odd symlink /usr/bin/mkcramfs -> ../../sbin/mkfs.cramfs
+- fix #170171 - ipcs -lm always report "max total shared memory (kbytes) = 0"
+
+* Mon Oct 17 2005 Karel Zak <kzak@redhat.com> 2.13-0.5.pre4
+* fix #170564 - add audit message to login
+
+* Fri Oct  7 2005 Karel Zak <kzak@redhat.com> 2.13-0.4.pre4
+- fix #169628 - /usr/bin/floppy doesn't work with /dev/fd0
+- fix #168436 - login will attempt to run if it has no read/write access to its terminal
+- fix #168434 - login's timeout can fail - needs to call siginterrupt(SIGALRM,1)
+- fix #165253 - losetup missing option -a [new feature]
+- update PAM files (replace pam_stack with new "include" PAM directive)
+- remove kbdrate from src.rpm
+- update to 2.13pre4
+
+* Fri Oct  7 2005 Steve Dickson <steved@redhat.com> 2.13-0.3.pre3
+- fix #170110 - Documentation for 'rsize' and 'wsize' NFS mount options
+               is misleading
+
+* Fri Sep  2 2005 Karel Zak <kzak@redhat.com> 2.13-0.3.pre2
+- fix #166923 - hwclock will not run on a non audit-enabled kernel
+- fix #159410 - mkswap(8) claims max swap area size is 2 GB
+- fix #165863 - swsusp swaps should be reinitialized
+- change /var/log/lastlog perms to 0644
+
+* Tue Aug 16 2005 Karel Zak <kzak@redhat.com> 2.13-0.2.pre2
+- /usr/share/misc/getopt/* -move-> /usr/share/doc/util-linux-2.13/getopt-*
+- the arch command marked as deprecated
+- removed: elvtune, rescuept and setfdprm
+- removed: man8/sln.8 (moved to man-pages, see #10601)
+- removed REDAME.pg and README.reset
+- .spec file cleanup
+- added schedutils (commands: chrt, ionice and taskset)
+
+* Tue Jul 12 2005 Karel Zak <kzak@redhat.com> 2.12p-9.7
+- fix #159339 - util-linux updates for new audit system
+- fix #158737 - sfdisk warning for large partitions, gpt
+- fix #150912 - Add ocfs2 support
+- NULL is better than zero at end of execl()
+
+* Thu Jun 16 2005 Karel Zak <kzak@redhat.com> 2.12p-9.5
+- fix #157656 - CRM 546998: Possible bug in vipw, changes permissions of /etc/shadow and /etc/gshadow
+- fix #159339 - util-linux updates for new audit system (pam_loginuid.so added to util-linux-selinux.pamd)
+- fix #159418 - sfdisk unusable - crashes immediately on invocation
+- fix #157674 - sync option on VFAT mount destroys flash drives
+- fix .spec file /usr/sbin/{hwclock,clock} symlinks
+
+* Wed May  4 2005 Jeremy Katz <katzj@redhat.com> - 2.12p-9.3
+- rebuild against new libe2fsprogs (and libblkid) to fix cramfs auto-detection
+
+* Mon May  2 2005 Karel Zak <kzak@redhat.com> 2.12p-9.2
+- rebuild
+
+* Mon May  2 2005 Karel Zak <kzak@redhat.com> 2.12p-9
+- fix #156597 - look - doesn't work with separators
+
+* Mon Apr 25 2005 Karel Zak <kzak@redhat.com> 2.12p-8
+- fix #154498 - util-linux login & pam session
+- fix #155293 - man 5 nfs should include vers as a mount option
+- fix #76467 - At boot time, fsck chokes on LVs listed by label in fstab
+- new Source URL
+- added note about ATAPI IDE floppy to fdformat.8
+- fix #145355 - Man pages for fstab and fstab-sync in conflict
+
+* Tue Apr  5 2005 Karel Zak <kzak@redhat.com> 2.12p-7
+- enable build with libblkid from e2fsprogs-devel
+- remove workaround for duplicated labels
+
+* Thu Mar 31 2005 Steve Dickson <SteveD@RedHat.com> 2.12p-5
+- Fixed nfs mount to rollback correctly.
+
+* Fri Mar 25 2005 Karel Zak <kzak@redhat.com> 2.12p-4
+- added /var/log/lastlog to util-linux (#151635)
+- disabled 'newgrp' in util-linux (enabled in shadow-utils) (#149997, #151613)
+- improved mtab lock (#143118)
+- fixed ipcs typo (#151156)
+- implemented mount workaround for duplicated labels (#116300)
+
+* Wed Mar 16 2005 Elliot Lee <sopwith@redhat.com> 2.12p-3
+- rebuilt
+
+* Fri Feb 25 2005 Steve Dickson <SteveD@RedHat.com> 2.12p-2
+- Changed nfsmount to only use reserve ports when necessary
+  (bz# 141773) 
+
+* Thu Dec 23 2004 Elliot Lee <sopwith@redhat.com> 2.12p-1
+- Update to util-linux-2.12p. This changes swap header format
+  from - you may need to rerun mkswap if you did a clean install of
+  FC3.
+
+* Fri Dec 10 2004 Elliot Lee <sopwith@redhat.com> 2.12j-1
+- Update to util-linux-2.12j
+
+* Tue Dec  7 2004 Steve Dickson <SteveD@RedHat.com> 2.12a-20
+- Corrected a buffer overflow problem with nfs mounts.
+  (bz# 141733) 
+
+* Wed Dec 01 2004 Elliot Lee <sopwith@redhat.com> 2.12a-19
+- Patches for various bugs.
+
+* Mon Nov 29 2004 Steve Dickson <SteveD@RedHat.com> 2.12a-18
+- Made NFS mounts adhere to the IP protocol if specified on
+  command line as well as made NFS umounts adhere to the
+  current IP protocol. Fix #140016
+
+* Thu Oct 14 2004 Elliot Lee <sopwith@redhat.com> 2.12a-16
+- Add include_raw macro, build with it off for Fedora
+
+* Wed Oct 13 2004 Stephen C. Tweedie <sct@redhat.com> - 2.12a-15
+- Add raw patch to allow binding of devices not yet in /dev
+
+* Wed Oct 13 2004 John (J5) Palmieri <johnp@redhat.com> 2.12a-14
+- Add David Zeuthen's patch to enable the pamconsole flag #133941
+
+* Wed Oct 13 2004 Stephen C. Tweedie <sct@redhat.com> 2.12a-13
+- Restore raw utils (bugzilla #130016)
+
+* Mon Oct 11 2004 Phil Knirsch <pknirsch@redhat.com> 2.12a-12
+- Add the missing remote entry in pam.d
+
+* Wed Oct  6 2004 Steve Dickson <SteveD@RedHat.com>
+- Rechecked in some missing NFS mounting code.
+
+* Wed Sep 29 2004 Elliot Lee <sopwith@redhat.com> 2.12a-10
+- Make swaplabel support work with swapon -a -e
+
+* Tue Sep 28 2004 Steve Dickson <SteveD@RedHat.com>
+- Updated the NFS and NFS4 code to the latest CITI patch set
+  (in which they incorporate a number of our local patches).
+
+* Wed Sep 15 2004 Nalin Dahybhai <nalin@redhat.com> 2.12a-8
+- Fix #132196 - turn on SELinux support at build-time.
+
+* Wed Sep 15 2004 Phil Knirsch <pknirsch@redhat.com> 2.12a-7
+- Fix #91174 with pamstart.patch
+
+* Tue Aug 31 2004 Elliot Lee <sopwith@redhat.com> 2.12a-6
+- Fix #16415, #70616 with rdevman.patch
+- Fix #102566 with loginman.patch
+- Fix #104321 with rescuept.patch (just use plain lseek - we're in _FILE_OFFSET_BITS=64 land now)
+- Fix #130016 - remove raw.
+- Re-add agetty (replacing it with mgetty is too much pain, and mgetty is much larger)
+
+* Thu Aug 26 2004 Steve Dickson <SteveD@RedHat.com>
+- Made the NFS security checks more explicit to avoid confusion
+  (an upstream fix)
+- Also removed a compilation warning
+
+* Wed Aug 11 2004 Alasdair Kergon <agk@redhat.com>
+- Remove unused mount libdevmapper inclusion.
+
+* Wed Aug 11 2004 Alasdair Kergon <agk@redhat.com>
+- Add device-mapper mount-by-label support
+- Fix segfault in mount-by-label when a device without a label is present.
+
+* Wed Aug 11 2004 Steve Dickson <SteveD@RedHat.com>
+- Updated nfs man page to show that intr are on by
+  default for nfs4
+
+* Thu Aug 05 2004 Jindrich Novy <jnovy@redhat.com>
+- modified warning causing heart attack for >16 partitions, #107824
+
+* Fri Jul 09 2004 Elliot Lee <sopwith@redhat.com> 2.12a-3
+- Fix #126623, #126572
+- Patch cleanup
+- Remove agetty (use mgetty, agetty is broken)
+
+* Tue Jun 15 2004 Elliot Lee <sopwith@redhat.com>
+- rebuilt
+
+* Thu Jun 03 2004 Elliot Lee <sopwith@redhat.com> 2.12a-1
+- Update to 2.12a
+- Fix #122448
+
+* Thu May 13 2004 Dan Walsh <dwalsh@RedHat.com> 2.12-19
+- Change pam_selinux to run last
+
+* Tue May 04 2004 Elliot Lee <sopwith@redhat.com> 2.12-18
+- Fix #122448 (autofs issues)
+
+* Fri Apr 23 2004 Elliot Lee <sopwith@redhat.com> 2.12-17
+- Fix #119157 by editing the patch
+- Add patch145 to fix #119986
+
+* Fri Apr 16 2004 Elliot Lee <sopwith@redhat.com> 2.12-16
+- Fix #118803
+
+* Tue Mar 23 2004 Jeremy Katz <katzj@redhat.com> 2.12-15
+- mkcramfs: use PAGE_SIZE for default blocksize (#118681)
+
+* Sat Mar 20 2004 <SteveD@RedHat.com>
+- Updated the nfs-mount.patch to correctly 
+  handle the mounthost option and to ignore 
+  servers that do not set auth flavors
+
+* Tue Mar 16 2004 Dan Walsh <dwalsh@RedHat.com> 2.12-13
+- Fix selinux ordering or pam for login
+
+* Tue Mar 16 2004 <SteveD@RedHat.com>
+- Make RPC error messages displayed with -v argument
+- Added two checks to the nfs4 path what will print warnings
+  when rpc.idmapd and rpc.gssd are not running
+- Ping NFS v4 servers before diving into kernel
+- Make v4 mount interruptible which also make the intr option on by default 
+
+* Sun Mar 13 2004  <SteveD@RedHat.com>
+- Reworked how the rpc.idmapd and rpc.gssd checks were
+  done due to review comments from upstream.
+- Added rpc_strerror() so the '-v' flag will show RPC errors.
+
+* Sat Mar 13 2004  <SteveD@RedHat.com>
+- Added two checks to the nfs4 path what will print warnings
+  when rpc.idmapd and rpc.gssd are not running.
+
+* Thu Mar 11 2004 <SteveD@RedHat.com>
+- Reworked and updated the nfsv4 patches.
+
+* Wed Mar 10 2004 Dan Walsh <dwalsh@RedHat.com>
+- Bump version
+
+* Wed Mar 10 2004 Steve Dickson <SteveD@RedHat.com>
+- Tried to make nfs error message a bit more meaninful
+- Cleaned up some warnings
+
+* Sun Mar  7 2004 Steve Dickson <SteveD@RedHat.com> 
+- Added pesudo flavors for nfsv4 mounts.
+- Added BuildRequires: libselinux-devel and Requires: libselinux
+  when WITH_SELINUX is set. 
+
+* Fri Feb 27 2004 Dan Walsh <dwalsh@redhat.com> 2.12-5
+- check for 2.6.3 kernel in mount options
+
+* Mon Feb 23 2004 Elliot Lee <sopwith@redhat.com> 2.12-4
+- Remove /bin/kill for #116100
+
+* Fri Feb 20 2004 Dan Walsh <dwalsh@redhat.com> 2.12-3
+- rebuilt
+
+* Fri Feb 13 2004 Elliot Lee <sopwith@redhat.com>
+- rebuilt
+
+* Thu Feb 12 2004 Elliot Lee <sopwith@redhat.com> 2.12-1
+- Final 2.12 has been out for ages - might as well use it.
+
+* Wed Jan 28 2004 Steve Dickson <SteveD@RedHat.com> 2.12pre-4
+- Added mount patches that have NFS version 4 support
+
+* Mon Jan 26 2004 Elliot Lee <sopwith@redhat.com> 2.12pre-3
+- Provides: mount losetup
+
+* Mon Jan 26 2004 Dan Walsh <dwalsh@redhat.com> 2.12pre-2
+- Add multiple to /etc/pam.d/login for SELinux
+
+* Thu Jan 15 2004 Elliot Lee <sopwith@redhat.com> 2.12pre-1
+- 2.12pre-1
+- Merge mount/losetup packages into the main package (#112324)
+- Lose separate 
+
+* Mon Nov 3 2003 Dan Walsh <dwalsh@redhat.com> 2.11y-35.sel
+- remove selinux code from login and use pam_selinux
+
+* Thu Oct 30 2003 Dan Walsh <dwalsh@redhat.com> 2.11y-34.sel
+- turn on selinux
+
+* Fri Oct 24 2003 Elliot Lee <sopwith@redhat.com> 2.11y-34
+- Add BuildRequires: texinfo (from a bug# I don't remember)
+- Fix #90588 with mountman patch142.
+
+* Mon Oct 6 2003 Dan Walsh <dwalsh@redhat.com> 2.11y-33
+- turn off selinux
+
+* Thu Sep 25 2003 Dan Walsh <dwalsh@redhat.com> 2.11y-32.sel
+- turn on selinux
+- remove context selection
+
+* Fri Sep 19 2003 Elliot Lee <sopwith@redhat.com> 2.11y-31
+- Add patch140 (alldevs) to fix #101772. Printing the total size of
+  all devices was deemed a lower priority than having all devices
+  (e.g. /dev/ida/c0d9) displayed.
+
+* Fri Sep 12 2003 Dan Walsh <dwalsh@redhat.com> 2.11y-31
+- turn off selinux
+
+* Fri Sep 12 2003 Dan Walsh <dwalsh@redhat.com> 2.11y-30.sel
+- turn on selinux
+
+* Fri Sep 5 2003 Elliot Lee <sopwith@redhat.com> 2.11y-28
+- Fix #103004, #103954
+
+* Fri Sep 5 2003 Dan Walsh <dwalsh@redhat.com> 2.11y-27
+- turn off selinux
+
+* Thu Sep 4 2003 Dan Walsh <dwalsh@redhat.com> 2.11y-26.sel
+- build with selinux
+
+* Mon Aug 11 2003 Elliot Lee <sopwith@redhat.com> 2.11y-25
+- Use urandom instead for mkcramfs
+
+* Tue Jul 29 2003 Dan Walsh <dwalsh@redhat.com> 2.11y-24
+- add SELINUX 2.5 support
+
+* Wed Jul 23 2003 Elliot Lee <sopwith@redhat.com> 2.11y-22
+- #100433 patch
+
+* Mon Jun 14 2003 Elliot Lee <sopwith@redhat.com> 2.11y-20
+- #97381 patch
+
+* Wed Jun 04 2003 Elliot Lee <sopwith@redhat.com>
+- rebuilt
+
+* Mon Apr 21 2003 Elliot Lee <sopwith@redhat.com> 2.11y-17
+- Change patch128 to improve ipcs -l
+
+* Fri Apr 11 2003 Elliot Lee <sopwith@redhat.com> 2.11y-16
+- Fix #85407
+
+* Fri Apr 11 2003 Elliot Lee <sopwith@redhat.com> 2.11y-15
+- Change patch128 to util-linux-2.11f-ipcs-84243-86285.patch to get all
+ipcs fixes
+
+* Thu Apr 10 2003 Matt Wilson <msw@redhat.com> 2.11y-14
+- fix last login date display on AMD64 (#88574)
+
+* Mon Apr  7 2003 Jeremy Katz <katzj@redhat.com> 2.11y-13
+- include sfdisk on ppc
+
+* Fri Mar 28 2003 Jeremy Katz <katzj@redhat.com> 2.11y-12
+- add patch from msw to change mkcramfs blocksize with a command line option
+
+* Tue Mar 25 2003 Phil Knirsch <pknirsch@redhat.com> 2.11y-11
+- Fix segfault on s390x due to wrong usage of BLKGETSIZE.
+
+* Thu Mar 13 2003 Elliot Lee <sopwith@redhat.com> 2.11y-10
+- Really apply the ipcs patch. Doh.
+
+* Mon Feb 24 2003 Elliot Lee <sopwith@redhat.com>
+- rebuilt
+
+* Wed Feb 19 2003 Elliot Lee <sopwith@redhat.com> 2.11y-8
+- ipcs-84243.patch to fix #84243
+
+* Thu Feb 13 2003 Yukihiro Nakai <ynakai@redhat.com> 2.11y-7
+- Update moremisc patch to fix swprintf()'s minimum field (bug #83361).
+
+* Mon Feb 03 2003 Elliot Lee <sopwith@redhat.com> 2.11y-6
+- Fix mcookie segfault on many 64-bit architectures (bug #83345).
+
+* Mon Feb 03 2003 Tim Waugh <twaugh@redhat.com> 2.11y-5
+- Fix underlined multibyte characters (bug #83376).
+
+* Sun Feb 02 2003 Florian La Roche <Florian.LaRoche@redhat.de>
+- rebuild to have again a s390 rpm
+- disable some more apps for mainframe
+
+* Wed Jan 29 2003 Elliot Lee <sopwith@redhat.com> 2.11y-4
+- util-linux-2.11y-umask-82552.patch
+
+* Wed Jan 22 2003 Tim Powers <timp@redhat.com>
+- rebuilt
+
+* Mon Jan 13 2003 Elliot Lee <sopwith@redhat.com> 2.11y-2
+- Fix #81069, #75421
+
+* Mon Jan 13 2003 Elliot Lee <sopwith@redhat.com> 2.11y-1
+- Update to 2.11y
+- Fix #80953
+- Update patch0, patch107, patch117, patch120 for 2.11y
+- Remove patch60, patch61, patch207, patch211, patch212, patch119, patch121
+- Remove patch122, patch200
+
+* Wed Oct 30 2002 Elliot Lee <sopwith@redhat.com> 2.11w-2
+- Remove some crack/unnecessary patches while submitting stuff upstream.
+- Build with -D_FILE_OFFSET_BITS=64
+
+* Tue Oct 29 2002 Elliot Lee <sopwith@redhat.com> 2.11w-1
+- Update to 2.11w, resolve patch conflicts
+
+* Tue Oct 08 2002 Phil Knirsch <pknirsch@redhat.com> 2.11r-10hammer.3
+- Extended util-linux-2.11b-s390x patch to work again.
+
+* Thu Oct 03 2002 Elliot Lee <sopwith@redhat.com> 2.11r-10hammer.2
+- Add patch122 for hwclock on x86_64
+
+* Thu Sep 12 2002 Than Ngo <than@redhat.com> 2.11r-10hammer.1
+- Fixed pam config files
+
+* Wed Sep 11 2002 Bernhard Rosenkraenzer <bero@redhat.com> 2.11r-10hammer
+- Port to hammer
+
+* Fri Aug 30 2002 Elliot Lee <sopwith@redhat.com> 2.11r-10
+- Patch120 (hwclock) to fix #72140
+- Include isosize util
+
+* Wed Aug 7 2002  Elliot Lee <sopwith@redhat.com> 2.11r-9
+- Patch120 (skipraid2) to fix #70353, because the original patch was 
+totally useless.
+
+* Fri Aug 2 2002  Elliot Lee <sopwith@redhat.com> 2.11r-8
+- Patch119 (fdisk-add-primary) from #67898
+
+* Wed Jul 24 2002 Elliot Lee <sopwith@redhat.com> 2.11r-7
+- Really add the gptsize patch, instead of what I think the patch says.
+(+1)
+
+* Tue Jul 23 2002 Elliot Lee <sopwith@redhat.com> 2.11r-6
+- Add the sp[n].size part of the patch from #69603
+
+* Mon Jul 22 2002 Florian La Roche <Florian.LaRoche@redhat.de>
+- adjust mainframe patches
+
+* Tue Jul  2 2002 Bill Nottingham <notting@redhat.com> 2.11r-4
+- only require usermode if we're shipping kbdrate here
+
+* Fri Jun 28 2002 Trond Eivind Glomsrod <teg@redhat.com> 2.11r-3
+- Port the large swap patch to new util-linux... the off_t changes 
+  now in main aren't sufficient
+
+* Thu Jun 27 2002 Elliot Lee <sopwith@redhat.com> 2.11r-2
+- Remove swapondetect (patch301) until it avoids possible false positives.
+
+* Thu Jun 27 2002 Elliot Lee <sopwith@redhat.com> 2.11r-1
+- Update to 2.11r, wheeee
+- Remove unused patches
+
+* Thu Jun 27 2002 Elliot Lee <sopwith@redhat.com> 2.11n-19
+- Make a note here that this package was the source of the single change 
+contained in util-linux-2.11f-18 (in 7.2/Alpha), and also contains the 
+rawman patch from util-linux-2.11f-17.1 (in 2.1AS).
+- Package has no runtime deps on slang, so remove the BuildRequires: 
+slang-devel.
+
+* Fri Jun 21 2002 Tim Powers <timp@redhat.com>
+- automated rebuild
+
+* Thu Jun 20 2002 Elliot Lee <sopwith@redhat.com> 2.11n-17
+- Fix teg's swapondetect patch to not print out the usage message when 
+'swapon -a -e' is run. (#66690) (edit existing patch)
+- Apply hjl's utmp handling patch (#66950) (patch116)
+- Fix fdisk man page notes on IDE disk partition limit (#64013) (patch117)
+- Fix mount.8 man page notes on vfat shortname option (#65628) (patch117)
+- Fix possible cal overflow with widechars (#67090) (patch117)
+
+* Tue Jun 11 2002 Trond Eivind Glomsrod <teg@redhat.com> 2.11n-16
+- support large swap partitions
+- add '-d' option to autodetect available swap partitions
+
+* Thu May 23 2002 Tim Powers <timp@redhat.com>
+- automated rebuild
+
+* Wed May 15 2002 Elliot Lee <sopwith@redhat.com> 2.11n-14
+- Remove kbdrate (again).
+
+* Mon Apr 29 2002 Florian La Roche <Florian.LaRoche@redhat.de>
+- adjust mainframe patches to apply to current rpm
+- do not include fdisk until it is fixed to work on mainframe
+
+* Mon Apr 01 2002 Elliot Lee <sopwith@redhat.com> 2.11n-12
+- Don't strip binaries - rpm does it for us.
+
+* Sun Mar 31 2002 Elliot Lee <sopwith@redhat.com> 2.11n-11
+- Apply patch115 from ejb@ql.org for bug #61868
+
+* Wed Mar 27 2002 Elliot Lee <sopwith@redhat.com> 2.11n-10
+- Finish fixing #60675 (ipcrm man page), updated the patch.
+- Fix #61203 (patch114 - dumboctal.patch).
+
+* Tue Mar 12 2002 Elliot Lee <sopwith@redhat.com> 2.11n-9
+- Update ctty3 patch to ignore SIGHUP while dropping controlling terminal
+
+* Fri Mar 08 2002 Elliot Lee <sopwith@redhat.com> 2.11n-8
+- Update ctty3 patch to drop controlling terminal before forking.
+
+* Fri Mar 08 2002 Elliot Lee <sopwith@redhat.com> 2.11n-7
+  Fix various bugs:
+- Add patch110 (skipraid) to properly skip devices that are part of a RAID array.
+- Add patch111 (mkfsman) to update the mkfs man page's "SEE ALSO" section.
+- remove README.cfdisk
+- Include partx
+- Fix 54741 and related bugs for good(hah!) with patch113 (ctty3)
+
+* Wed Mar 06 2002 Elliot Lee <sopwith@redhat.com> 2.11n-6
+- Put kbdrate in, add usermode dep.
+
+* Tue Feb 26 2002 Elliot Lee <sopwith@redhat.com> 2.11n-5
+- Fix #60363 (tweak raw.8 man page, make rawdevices.8 symlink).
+
+* Tue Jan 28 2002 Bill Nottingham <notting@redhat.com> 2.11n-4
+- remove kbdrate (fixes kbd conflict)
+
+* Fri Dec 28 2001 Elliot Lee <sopwith@redhat.com> 2.11n-3
+- Add util-linux-2.11n-ownerumount.patch (#56593)
+- Add patch102 (util-linux-2.11n-colrm.patch) to fix #51887
+- Fix #53452 nits.
+- Fix #56953 (remove tunelp on s390)
+- Fix #56459, and in addition switch to using sed instead of perl.
+- Fix #58471
+- Fix #57300
+- Fix #37436
+- Fix #32132
+
+* Wed Dec 26 2001 Elliot Lee <sopwith@redhat.com> 2.11n-1
+- Update to 2.11n
+- Merge mount/losetup back in.
+
+* Tue Dec 04 2001 Elliot Lee <sopwith@redhat.com> 2.11f-17
+- Add patch38 (util-linux-2.11f-ctty2.patch) to ignore SIGINT/SIGTERM/SIGQUIT in the parent, so that ^\ won't break things.
+
+* Fri Nov 09 2001 Elliot Lee <sopwith@redhat.com> 2.11f-16
+- Merge patches 36, 75, 76, and 77 into patch #37, to attempt resolve all the remaining issues with #54741.
+
+* Wed Oct 24 2001 Florian La Roche <Florian.LaRoche@redhat.de>
+- add nologin man-page for s390/s390x
+
+* Wed Oct 24 2001 Bernhard Rosenkraenzer <bero@redhat.com> 2.11f-14
+- Don't build kbdrate on s390/s390x
+- Don't make the pivot_root.8 man page executable(!)
+
+* Tue Oct 23 2001 Elliot Lee <sopwith@redhat.com> 2.11f-13
+- Patch/idea #76 from HJL, fixes bug #54741 (race condition in login 
+acquisition of controlling terminal).
+
+* Thu Oct 11 2001 Bill Nottingham <notting@redhat.com>
+- fix permissions problem with vipw & shadow files, again (doh!)
+
+* Tue Oct 09 2001 Erik Troan <ewt@redhat.com>
+- added patch from Olaf Kirch to fix possible pwent structure overwriting
+
+* Fri Sep 28 2001 Elliot Lee <sopwith@redhat.com> 2.11f-10
+- fdisk patch from arjan
+
+* Sun Aug 26 2001 Elliot Lee <sopwith@redhat.com> 2.11f-9
+- Don't include cfdisk, since it appears to be an even bigger pile of junk than fdisk? :)
+
+* Wed Aug  1 2001 Tim Powers <timp@redhat.com>
+- don't require usermode
+
+* Mon Jul 30 2001 Elliot Lee <sopwith@redhat.com> 2.11f-7
+- Incorporate kbdrate back in.
+
+* Mon Jul 30 2001 Bill Nottingham <notting@redhat.com>
+- revert the patch that calls setsid() in login that we had reverted
+  locally but got integrated upstream (#46223)
+
+* Tue Jul 24 2001 Florian La Roche <Florian.LaRoche@redhat.de>
+- correct s390x patch
+
+* Mon Jul 23 2001 Elliot Lee <sopwith@redhat.com>
+- Add my megapatch (various bugs)
+- Include pivot_root (#44828)
+
+* Thu Jul 12 2001 Bill Nottingham <notting@redhat.com>
+- make shadow files 0400, not 0600
+
+* Wed Jul 11 2001 Bill Nottingham <notting@redhat.com>
+- fix permissions problem with vipw & shadow files
+
+* Mon Jun 18 2001 Florian La Roche <Florian.LaRoche@redhat.de>
+- update to 2.11f, remove any merged patches
+- add s390x patches for somewhat larger swap
+
+* Thu Jun 14 2001 Erik Troan <ewt@redhat.com>
+- added --verbose patch to mkcramfs; it's much quieter by default now
+
+* Tue May 22 2001 Erik Troan <ewt@redhat.com>
+- removed warning about starting partitions on cylinder 0 -- swap version2
+  makes it unnecessary
+
+* Wed May  9 2001 Bernhard Rosenkraenzer <bero@redhat.com> 2.11b-2
+- Fix up s390x support
+
+* Mon May  7 2001 Bernhard Rosenkraenzer <bero@redhat.com> 2.11b-1
+- Fix up login for real (a console session should be the controlling tty)
+  by reverting to 2.10s code (#36839, #36840, #39237)
+- Add man page for agetty (#39287)
+- 2.11b, while at it
+
+* Fri Apr 27 2001 Preston Brown <pbrown@redhat.com> 2.11a-4
+- /sbin/nologin from OpenBSD added.
+
+* Fri Apr 20 2001 Bernhard Rosenkraenzer <bero@redhat.com> 2.11a-3
+- Fix up login - exiting immediately even if the password is correct
+  is not exactly a nice feature.
+- Make definite plans to kill people who update login without checking
+  if the new version works ;)
+
+* Tue Apr 17 2001 Erik Troan <ewt@redhat.com>
+- upgraded to 2.11a (kbdrate moved to kbd, among other things)
+- turned off ALLOW_VCS_USE
+- modified mkcramfs to not use a large number of file descriptors
+- include mkfs.bfs
+
+* Sun Apr  8 2001 Matt Wilson <msw@redhat.com>
+- changed Requires: kernel >= 2.2.12-7 to Conflicts: kernel < 2.2.12-7
+  (fixes a initscripts -> util-linux -> kernel -> initscripts prereq loop)
+
+* Tue Mar 20 2001 Matt Wilson <msw@redhat.com>
+- patched mkcramfs to use the PAGE_SIZE from asm/page.h instead of hard
+  coding 4096 (fixes mkcramfs on alpha...)
+
+* Mon Mar 19 2001 Matt Wilson <msw@redhat.com>
+- added mkcramfs (from linux/scripts/mkcramfs)
+
+* Mon Feb 26 2001 Tim Powers <timp@redhat.com>
+- fixed bug #29131, where ipc.info didn't have an info dir entry,
+  added the dir entry to ipc.texi (Patch58)
+
+* Fri Feb 23 2001 Preston Brown <pbrown@redhat.com>
+- use lang finder script
+- install info files
+
+* Thu Feb 08 2001 Erik Troan <ewt@redhat.com>
+- reverted login patch; seems to cause problems
+- added agetty
+
+* Wed Feb 07 2001 Erik Troan <ewt@redhat.com>
+- updated kill man page
+- added patch to fix vipw race
+- updated vipw to edit /etc/shadow and /etc/gshadow, if appropriate
+- added patch to disassociate login from tty, session, and pgrp
+
+* Tue Feb 06 2001 Erik Troan <ewt@redhat.com>
+- fixed problem w/ empty extended partitions
+- added patch to fix the date in the more man page
+- set OPT to pass optimization flags to make rather then RPM_OPT_FLAG
+- fixed fdisk -l /Proc/partitions parsing
+- updated to 2.10s
+
+* Tue Jan 23 2001 Preston Brown <pbrown@redhat.com>
+- danish translations added
+
+* Mon Jan 15 2001 Nalin Dahyabhai <nalin@redhat.com>
+- fix segfault in login in btmp patch (#24025)
+
+* Mon Dec 11 2000 Oliver Paukstadt <oliver.paukstadt@millenux.com>
+- ported to s390
+
+* Wed Nov 01 2000 Florian La Roche <Florian.LaRoche@redhat.de>
+- update to 2.10p
+- update patch37 to newer fdisk version
+
+* Mon Oct  9 2000 Jeff Johnson <jbj@redhat.com>
+- update to 2.10o
+-  fdformat: fixed to work with kernel 2.4.0test6 (Marek Wojtowicz)
+-  login: not installed suid
+-  getopt: by default install aux files in /usr/share/misc
+- update to 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
+-  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)
+- login.1 man page had not /var/spool/mail path (#16998).
+- sln.8 man page (but not executable) included (#10601).
+- teach fdisk 0xde(Dell), 0xee(EFI GPT), 0xef(EFI FAT) partitions (#17610).
+
+* Wed Aug 30 2000 Matt Wilson <msw@redhat.com>
+- rebuild to cope with glibc locale binary incompatibility, again
+
+* Mon Aug 14 2000 Jeff Johnson <jbj@redhat.com>
+- setfdprm should open with O_WRONLY, not 3.
+
+* Fri Aug 11 2000 Jeff Johnson <jbj@redhat.com>
+- fdformat should open with O_WRONLY, not 3.
+
+* Fri Jul 21 2000 Nalin Dahyabhai <nalin@redhat.com>
+- make 'look' look in /usr/share/dict
+
+* Fri Jul 21 2000 Bill Nottingham <notting@redhat.com>
+- put /usr/local/sbin:/usr/local/bin in root's path
+
+* Wed Jul 19 2000 Jakub Jelinek <jakub@redhat.com>
+- rebuild to cope with glibc locale binary incompatibility
+
+* Thu Jul 13 2000 Prospector <bugzilla@redhat.com>
+- automatic rebuild
+
+* Mon Jul 10 2000 Bill Nottingham <notting@redhat.com>
+- enable hwclock to use /dev/efirtc on ia64 (gettext is fun. :( )
+
+* Mon Jul  3 2000 Bill Nottingham <notting@redhat.com>
+- move cfdisk to /usr/sbin, it depends on /usr stuff
+- add rescuept
+
+* Fri Jun 23 2000 Bernhard Rosenkraenzer <bero@redhat.com>
+- point more at the correct path to vi (for "v"), Bug #10882
+
+* Sun Jun  4 2000 Jeff Johnson <jbj@redhat.com>
+- FHS packaging changes.
+
+* Thu Jun  1 2000 Nalin Dahyabhai <nalin@redhat.com>
+- modify PAM setup to use system-auth
+
+* Mon May  1 2000 Bill Nottingham <notting@redhat.com>
+- eek, where did login go? (specfile tweaks)
+
+* Mon Apr 17 2000 Bernhard Rosenkraenzer <bero@redhat.com>
+- 2.10k
+- fix compilation with current glibc
+
+* Tue Mar 21 2000 Bernhard Rosenkraenzer <bero@redhat.com>
+- 2.10h
+
+* Tue Mar  7 2000 Jeff Johnson <jbj@redhat.com>
+- rebuild for sparc baud rates > 38400.
+
+* Sat Mar  4 2000 Matt Wilson <msw@redhat.com>
+- use snprintf - not sprintf - when doing
+  sprintf ("%%s\n", _("Some string")) to avoid overflows and
+  segfaults.
+
+* Mon Feb 21 2000 Jeff Johnson <jbj@redhat.com>
+- raw control file was /dev/raw, now /dev/rawctl.
+- raw access files were /dev/raw*, now /dev/raw/raw*.
+
+* Thu Feb 17 2000 Erik Troan <ewt@redhat.com>
+- -v argument to mkswap wasn't working
+
+* Thu Feb 10 2000 Jakub Jelinek <jakub@redhat.com>
+- Recognize 0xfd on Sun disklabels as RAID
+
+* Tue Feb  8 2000 Bill Nottingham <notting@redhat.com>
+- more lives in /bin, and was linked against /usr/lib/libnurses. Bad.
+
+* Thu Feb 03 2000 Jakub Jelinek <jakub@redhat.com>
+- update to 2.10f
+- fix issues in the new realpath code, avoid leaking memory
+
+* Tue Feb 01 2000 Cristian Gafton <gafton@redhat.com>
+- rebuild to fix dependencies
+- add NFSv3 patches
+
+* Fri Jan 28 2000 Bill Nottingham <notting@redhat.com>
+- don't require csh
+
+* Mon Jan 24 2000 Nalin Dahyabhai <nalin@redhat.com>
+- update to 2.10e
+- add rename
+
+* Thu Jan 20 2000 Jeff Johnson <jbj@redhat.com>
+- strip newlines in logger input.
+
+* Mon Jan 10 2000 Jeff Johnson <jbj@redhat.com>
+- rebuild with correct ncurses libs.
+
+* Tue Dec  7 1999 Matt Wilson <msw@redhat.com>
+- updated to util-linux 2.10c
+- deprecated IMAP login mail notification patch17
+- deprecated raw patch22
+- depricated readprofile patch24
+
+* Tue Dec  7 1999 Bill Nottingham <notting@redhat.com>
+- add patch for readprofile
+
+* Thu Nov 18 1999 Michael K. Johnson <johnsonm@redhat.com>
+- tunelp should come from util-linux
+
+* Tue Nov  9 1999 Jakub Jelinek <jakub@redhat.com>
+- kbdrate cannot use /dev/port on sparc.
+
+* Wed Nov  3 1999 Jakub Jelinek <jakub@redhat.com>
+- fix kbdrate on sparc.
+
+* Wed Oct 27 1999 Bill Nottingham <notting@redhat.com>
+- ship hwclock on alpha.
+
+* Tue Oct  5 1999 Bill Nottingham <notting@redhat.com>
+- don't ship symlinks to rdev if we don't ship rdev.
+
+* Tue Sep 07 1999 Cristian Gafton <gafton@redhat.com>
+- add rawIO support from sct
+
+* Mon Aug 30 1999 Preston Brown <pbrown@redhat.com>
+- don't display "new mail" message when the only piece of mail is from IMAP
+
+* Fri Aug 27 1999 Michael K. Johnson <johnsonm@redhat.com>
+- kbdrate is now a console program
+
+* Thu Aug 26 1999 Jeff Johnson <jbj@redhat.com>
+- hostid is now in sh-utils. On sparc, install hostid as sunhostid (#4581).
+- update to 2.9w:
+-  Updated mount.8 (Yann Droneaud)
+-  Improved makefiles
+-  Fixed flaw in fdisk
+
+* Tue Aug 10 1999 Jeff Johnson <jbj@redhat.com>
+- tsort is now in textutils.
+
+* Wed Aug  4 1999 Bill Nottingham <notting@redhat.com>
+- turn off setuid bit on login. Again. :(
+
+* Tue Aug  3 1999 Peter Jones, <pjones@redhat.com>
+- hostid script for sparc (#3803).
+
+* Tue Aug 03 1999 Christian 'Dr. Disk' Hechelmann <drdisk@tc-gruppe.de>
+- added locale message catalogs to %%file
+- added patch for non-root build
+- vigr.8 and /usr/lib/getopt  man-page was missing from file list
+- /etc/fdprm really is a config file
+
+* Fri Jul 23 1999 Jeff Johnson <jbj@redhat.com>
+- update to 2.9v:
+- cfdisk no longer believes the kernel's HDGETGEO
+       (and may be able to partition a 2 TB disk)
+
+* Fri Jul 16 1999 Jeff Johnson <jbj@redhat.com>
+- update to 2.9u:
+- Czech more.help and messages (Jiri Pavlovsky)
+- 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
+
+* Tue Jul  6 1999 Jeff Johnson <jbj@redhat.com>
+- update to 2.9t:
+- national language support for hwclock
+- Japanese messages (both by Daisuke Yamashita)
+- German messages and some misc i18n fixes (Elrond)
+- Czech messages (Jiri Pavlovsky)
+- 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
+
+* Fri Jun 25 1999 Jeff Johnson <jbj@redhat.com>
+- update to 2.9s.
+
+* Sat May 29 1999 Jeff Johnson <jbj@redhat.com>
+- fix mkswap sets incorrect bits on sparc64 (#3140).
+
+* Thu Apr 15 1999 Jeff Johnson <jbj@redhat.com>
+- on sparc64 random ioctls on clock interface cause kernel messages.
+
+* Thu Apr 15 1999 Jeff Johnson <jbj@redhat.com>
+- improved raid patch (H.J. Lu).
+
+* Wed Apr 14 1999 Michael K. Johnson <johnsonm@redhat.com>
+- added patch for smartraid controllers
+
+* Sat Apr 10 1999 Cristian Gafton <gafton@redhat.com>
+- fix logging problems caused by setproctitle and PAM interaction
+  (#2045)
+
+* Wed Mar 31 1999 Jeff Johnson <jbj@redhat.com>
+- include docs and examples for sfdisk (#1164)
+
+* Mon Mar 29 1999 Matt Wilson <msw@redhat.com>
+- rtc is not working properly on alpha, we can't use hwclock yet.
+
+* Fri Mar 26 1999 Cristian Gafton <gafton@redhat.com>
+- add patch to make mkswap more 64 bit friendly... Patch from
+  eranian@hpl.hp.com (ahem!)
+
+* Thu Mar 25 1999 Jeff Johnson <jbj@redhat.com>
+- include sfdisk (#1164)
+- fix write (#1784)
+- use positive logic in spec file (%%ifarch rather than %ifnarch).
+- (re)-use 1st matching utmp slot if search by mypid not found.
+- update to 2.9o
+- lastb wants bad logins in wtmp clone /var/run/btmp (#884)
+
+* Thu Mar 25 1999 Jakub Jelinek <jj@ultra.linux.cz>
+- if hwclock is to be compiled on sparc,
+  it must actually work. Also, it should obsolete
+  clock, otherwise it clashes.
+- limit the swap size in mkswap for 2.2.1+ kernels
+  by the actual maximum size kernel can handle.
+- fix kbdrate on sparc, patch by J. S. Connell
+  <ankh@canuck.gen.nz>
+
+* Wed Mar 24 1999 Matt Wilson <msw@redhat.com>
+- added pam_console back into pam.d/login
+
+* Tue Mar 23 1999 Matt Wilson <msw@redhat.com>
+- updated to 2.9i
+- added hwclock for sparcs and alpha
+
+* Mon Mar 22 1999 Erik Troan <ewt@redhat.com>
+- added vigr to file list
+
+* Sun Mar 21 1999 Cristian Gafton <gafton@redhat.com> 
+- auto rebuild in the new build environment (release 12)
+
+* Thu Mar 18 1999 Cristian Gafton <gafton@redhat.com>
+- remove most of the ifnarch arm stuff
+
+* Mon Mar 15 1999 Michael Johnson <johnsonm@redhat.com>
+- added pam_console.so to /etc/pam.d/login
+
+* Thu Feb  4 1999 Michael K. Johnson <johnsonm@redhat.com>
+- .perms patch to login to make it retain root in parent process
+  for pam_close_session to work correctly
+
+* Tue Jan 12 1999 Jeff Johnson <jbj@redhat.com>
+- strip fdisk in buildroot correctly (#718)
+
+* Mon Jan 11 1999 Cristian Gafton <gafton@redhat.com>
+- have fdisk compiled on sparc and arm
+
+* Mon Jan 11 1999 Erik Troan <ewt@redhat.com>
+- added beos partition type to fdisk
+
+* Wed Dec 30 1998 Cristian Gafton <gafton@redhat.com>
+- incorporate fdisk on all arches
+
+* Sat Dec  5 1998 Jeff Johnson <jbj@redhat.com>
+- restore PAM functionality at end of login (Bug #201)
+
+* Thu Dec 03 1998 Cristian Gafton <gafton@redhat.com>
+- patch top build on the arm without PAM and related utilities, for now.
+- build hwclock only on intel
+
+* Wed Nov 18 1998 Cristian Gafton <gafton@redhat.com>
+- upgraded to version 2.9
+
+* Thu Oct 29 1998 Bill Nottingham <notting@redhat.com>
+- build for Raw Hide (slang-1.2.2)
+- patch kbdrate wackiness so it builds with egcs
+
+* Tue Oct 13 1998 Erik Troan <ewt@redhat.com>
+- patched more to use termcap
+
+* Mon Oct 12 1998 Erik Troan <ewt@redhat.com>
+- added warning about alpha/bsd label starting cylinder
+
+* Mon Sep 21 1998 Erik Troan <ewt@redhat.com>
+- use sigsetjmp/siglongjmp in more rather then sig'less versions
+
+* Fri Sep 11 1998 Jeff Johnson <jbj@redhat.com>
+- explicit attrs for setuid/setgid programs
+
+* Thu Aug 27 1998 Cristian Gafton <gafton@redhat.com>
+- sln is now included in glibc
+
+* Sun Aug 23 1998 Jeff Johnson <jbj@redhat.com>
+- add cbm1581 floppy definitions (problem #787)
+
+* Mon Jun 29 1998 Jeff Johnson <jbj@redhat.com>
+- remove /etc/nologin at end of shutdown/halt.
+
+* Fri Jun 19 1998 Jeff Johnson <jbj@redhat.com>
+- add mount/losetup.
+
+* Thu Jun 18 1998 Jeff Johnson <jbj@redhat.com>
+- update to 2.8 with 2.8b clean up. hostid now defunct?
+
+* Mon Jun 01 1998 David S. Miller <davem@dm.cobaltmicro.com>
+- "more" now works properly on sparc
+
+* Sat May 02 1998 Jeff Johnson <jbj@redhat.com>
+- Fix "fdisk -l" fault on mounted cdrom. (prob #513)
+
+* Fri Apr 24 1998 Prospector System <bugs@redhat.com>
+- translations modified for de, fr, tr
+
+* Sat Apr 11 1998 Cristian Gafton <gafton@redhat.com>
+- manhattan rebuild
+
+* Mon Dec 29 1997 Erik Troan <ewt@redhat.com>
+- more didn't suspend properly on glibc
+- use proper tc*() calls rather then ioctl's
+
+* Sun Dec 21 1997 Cristian Gafton <gafton@redhat.com>
+- fixed a security problem in chfn and chsh accepting too 
+  long gecos fields
+
+* Fri Dec 19 1997 Mike Wangsmo <wanger@redhat.com>
+- removed "." from default path
+
+* Tue Dec 02 1997 Cristian Gafton <gafton@redhat.com>
+- added (again) the vipw patch
+
+* Wed Oct 22 1997 Michael Fulbright <msf@redhat.com>
+- minor cleanups for glibc 2.1
+
+* Fri Oct 17 1997 Michael Fulbright <msf@redhat.com>
+- added vfat32 filesystem type to list recognized by fdisk
+
+* Fri Oct 10 1997 Erik Troan <ewt@redhat.com>
+- don't build clock on the alpha 
+- don't install chkdupexe
+
+* Thu Oct 02 1997 Michael K. Johnson <johnsonm@redhat.com>
+- Update to new pam standard.
+- BuildRoot.
+
+* Thu Sep 25 1997 Cristian Gafton <gafton@redhat.com>
+- added rootok and setproctitle patches
+- updated pam config files for chfn and chsh
+
+* Tue Sep 02 1997 Erik Troan <ewt@redhat.com>
+- updated MCONFIG to automatically determine the architecture
+- added glibc header hacks to fdisk code
+- rdev is only available on the intel
+
+* Fri Jul 18 1997 Erik Troan <ewt@redhat.com>
+- update to util-linux 2.7, fixed login problems
+
+* Wed Jun 25 1997 Erik Troan <ewt@redhat.com>
+- Merged Red Hat changes into main util-linux source, updated package to
+  development util-linux (nearly 2.7).
+
+* Tue Apr 22 1997 Michael K. Johnson <johnsonm@redhat.com>
+- LOG_AUTH --> LOG_AUTHPRIV in login and shutdown
+
+* Mon Mar 03 1997 Michael K. Johnson <johnsonm@redhat.com>
+- Moved to new pam and from pam.conf to pam.d
+
+* Tue Feb 25 1997 Michael K. Johnson <johnsonm@redhat.com>
+- pam.patch differentiated between different kinds of bad logins.
+  In particular, "user does not exist" and "bad password" were treated
+  differently.  This was a minor security hole.
diff --git a/packaging/util-linux-ng.spec b/packaging/util-linux-ng.spec
new file mode 100644 (file)
index 0000000..9ee13b2
--- /dev/null
@@ -0,0 +1,290 @@
+Summary: A collection of basic system utilities
+Name: util-linux-ng
+Version: 2.16.2
+Release: 1
+License: GPLv2 and GPLv2+ and BSD with advertising and Public Domain
+Group: System/Base
+URL: ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng
+Source0: ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/v2.16/util-linux-ng-%{version}.tar.gz
+
+#BuildRequires: e2fsprogs-devel >= 1.36
+BuildRequires: ncurses-devel
+BuildRequires: zlib-devel
+BuildRequires: popt-devel
+Provides: util-linux = %{version}
+
+
+%description
+The util-linux-ng package contains a large variety of low-level system
+utilities that are necessary for a Linux system to function. Among
+others, Util-linux contains the fdisk configuration tool and the login
+program.
+
+%package -n libblkid
+Summary: Block device ID library
+Group: System/Libraries
+License: LGPLv2+
+%description -n libblkid
+This is block device identification library, part of util-linux-ng. 
+%package -n libblkid-devel
+Summary: Block device ID library
+Group: Development/Libraries
+License: LGPLv2+
+Requires: libblkid = %{version}-%{release}
+%description -n libblkid-devel
+This is the block device identification development library and headers,
+part of util-linux-ng.
+
+%package -n libuuid
+Summary: Universally unique ID library
+Group: System/Libraries
+License: BSD
+
+%description -n libuuid
+This is the universally unique ID library, part of e2fsprogs.
+
+The libuuid library generates and parses 128-bit universally unique
+id's (UUID's).  A UUID is an identifier that is unique across both
+space and time, with respect to the space of all UUIDs.  A UUID can
+be used for multiple purposes, from tagging objects with an extremely
+short lifetime, to reliably identifying very persistent objects
+across a network.
+
+See also the "uuid" package, which is a separate implementation.
+
+%package -n libuuid-devel
+Summary: Universally unique ID library
+Group: Development/Libraries
+License: BSD
+Requires: libuuid = %{version}-%{release}
+
+%description -n libuuid-devel
+This is the universally unique ID development library and headers,
+part of e2fsprogs.
+
+The libuuid library generates and parses 128-bit universally unique
+id's (UUID's).  A UUID is an identifier that is unique across both
+space and time, with respect to the space of all UUIDs.  A UUID can
+be used for multiple purposes, from tagging objects with an extremely
+short lifetime, to reliably identifying very persistent objects
+across a network.
+
+See also the "uuid-devel" package, which is a separate implementation.
+
+
+%package -n uuidd
+Summary: Helper daemon to guarantee uniqueness of time-based UUIDs
+Group: System/Daemons
+Requires: libuuid = %{version}-%{release}
+License: GPLv2
+
+%description -n uuidd
+The uuidd package contains a userspace daemon (uuidd) which guarantees
+uniqueness of time-based UUID generation even at very high rates on
+SMP systems.
+
+%prep
+%setup -q 
+
+%build
+unset LINGUAS || :
+
+export CFLAGS="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 $RPM_OPT_FLAGS"
+export SUID_CFLAGS="-fpie"
+export SUID_LDFLAGS="-pie"
+%configure \
+        --bindir=/bin \
+        --sbindir=/sbin \
+        --disable-wall \
+        --enable-write \
+        --with-fsprobe=builtin \
+        --disable-makeinstall-chown \
+        --enable-raw \
+        --without-ncurses \
+        --without-slang \
+        --without-selinux \
+        --disable-nls 
+
+
+make %{?_smp_mflags}
+
+%install
+rm -rf ${RPM_BUILD_ROOT}
+%make_install
+
+
+# And a dirs uuidd needs that the makefiles don't create
+install -d ${RPM_BUILD_ROOT}/var/run/uuidd
+install -d ${RPM_BUILD_ROOT}/var/lib/libuuid
+
+
+# remove libtool junk
+rm -f ${RPM_BUILD_ROOT}/usr/lib/libblkid.la
+
+# deprecated commands
+for I in /sbin/fsck.minix /sbin/fsck /sbin/mkfs.{bfs,minix} /sbin/sln \
+       /usr/bin/chkdupexe %{_bindir}/line %{_bindir}/pg %{_bindir}/newgrp \
+       /sbin/shutdown %{_bindir}/scriptreplay /usr/sbin/vipw /usr/sbin/vigr; do
+       rm -f $RPM_BUILD_ROOT$I
+done
+
+# deprecated man pages
+for I in man1/chkdupexe.1 man1/line.1 man1/pg.1 man1/newgrp.1 \
+       man8/fsck.minix.8 man8/fsck.8 man8/mkfs.minix.8 man8/mkfs.bfs.8 man1/scriptreplay.1 \
+       man8/vipw.8 man8/vigr; do
+       rm -rf $RPM_BUILD_ROOT%{_mandir}/${I}*
+done
+
+
+ln -sf ../../bin/kill $RPM_BUILD_ROOT%{_bindir}/kill
+
+
+
+# create list of setarch(8) symlinks
+find  $RPM_BUILD_ROOT%{_bindir}/ -regextype posix-egrep -type l \
+       -regex ".*(linux32|linux64|s390|s390x|i386|ppc|ppc64|ppc32|sparc|sparc64|sparc32|sparc32bash|mips|mips64|mips32|ia64|x86_64)$" \
+       -printf "%{_bindir}/%f\n" >> %{name}.files
+
+find  $RPM_BUILD_ROOT%{_mandir}/man8 -regextype posix-egrep  \
+       -regex ".*(linux32|linux64|s390|s390x|i386|ppc|ppc64|ppc32|sparc|sparc64|sparc32|sparc32bash|mips|mips64|mips32|ia64|x86_64)\.8.*" \
+       -printf "%{_mandir}/man8/%f*\n" >> %{name}.files
+
+rm -f $RPM_BUILD_ROOT/usr/share/info/dir
+
+
+%post
+# only for minimal buildroots without /var/log
+[ -d /var/log ] || /bin/mkdir -p /var/log
+/bin/touch /var/log/lastlog
+/bin/chown root:root /var/log/lastlog
+/bin/chmod 0644 /var/log/lastlog
+
+
+
+%post -n libblkid
+/sbin/ldconfig
+[ -e /etc/blkid.tab ] && mv /etc/blkid.tab /etc/blkid/blkid.tab || :
+[ -e /etc/blkid.tab.old ] && mv /etc/blkid.tab.old /etc/blkid/blkid.tab.old || :
+%postun -n libblkid -p /sbin/ldconfig
+
+%post -n libuuid -p /sbin/ldconfig
+%postun -n libuuid -p /sbin/ldconfig
+
+%pre -n uuidd
+#getent group uuidd >/dev/null || groupadd -r uuidd
+#getent passwd uuidd >/dev/null || \
+#useradd -r -g uuidd -d /var/lib/libuuid -s /sbin/nologin \
+#    -c "UUID generator helper daemon" uuidd
+#exit 0
+
+%post -n uuidd
+[ -e /sbin/chkconfig ] && /sbin/chkconfig --add uuidd 
+
+%preun -n uuidd
+if [ "$1" = 0 ]; then
+       [ -e /sbin/service ] &&  /sbin/service uuidd stop > /dev/null 2>&1 || :
+       [ -e /sbin/chkconfig ] &&  /sbin/chkconfig --del uuidd
+fi
+
+
+%docs_package
+
+%files  -f util-linux-ng.files
+%defattr(-,root,root)
+%ghost %attr(0644,root,root)    %verify(not md5 size mtime)     /var/log/lastlog
+/bin/dmesg
+%attr(4755,root,root)   /bin/mount
+%attr(4755,root,root)   /bin/umount
+/sbin/agetty
+/sbin/blkid
+/sbin/blockdev
+/sbin/ctrlaltdel
+/sbin/fdisk
+/sbin/findfs
+/sbin/fsck.cramfs
+/sbin/hwclock
+/sbin/losetup
+/sbin/mkfs
+/sbin/mkfs.cramfs
+/sbin/mkswap
+/sbin/pivot_root
+/sbin/raw
+/sbin/sfdisk
+/sbin/swapoff
+/sbin/swapon
+/sbin/switch_root
+/usr/bin/cal
+/usr/bin/chrt
+/usr/bin/col
+/usr/bin/colcrt
+/usr/bin/colrm
+/usr/bin/column
+/usr/bin/cytune
+/usr/bin/ddate
+/usr/bin/flock
+/usr/bin/getopt
+/usr/bin/hexdump
+/usr/bin/ionice
+/usr/bin/ipcmk
+/usr/bin/ipcrm
+/usr/bin/ipcs
+/usr/bin/isosize
+/usr/bin/kill
+/usr/bin/logger
+/usr/bin/look
+/usr/bin/lscpu
+/usr/bin/mcookie
+/usr/bin/namei
+/usr/bin/rename
+/usr/bin/renice
+/usr/bin/rev
+/usr/bin/script
+/usr/bin/setarch
+/usr/bin/setsid
+/usr/bin/tailf
+/usr/bin/taskset
+/usr/bin/uuidgen
+/usr/bin/whereis
+%attr(2755,root,tty)  /usr/bin/write
+/usr/sbin/fdformat
+/usr/sbin/ldattach
+/usr/sbin/readprofile
+/usr/sbin/rtcwake
+/usr/sbin/tunelp
+/usr/share/getopt/getopt-parse.bash
+%exclude /usr/share/getopt/getopt-parse.tcsh
+/usr/share/getopt/getopt-test.bash
+%exclude /usr/share/getopt/getopt-test.tcsh
+
+%files -n uuidd
+%defattr(-,root,root)
+#/etc/rc.d/init.d/uuidd
+%attr(-, uuidd, uuidd) %{_sbindir}/uuidd
+%dir %attr(2775, uuidd, uuidd) /var/lib/libuuid
+%dir %attr(2775, uuidd, uuidd) /var/run/uuidd
+
+%files -n libblkid
+%defattr(-,root,root)
+/%{_libdir}/libblkid.so.*
+
+%files -n libblkid-devel
+%defattr(-,root,root)
+%{_libdir}/libblkid.so
+%{_includedir}/blkid
+%{_libdir}/pkgconfig/blkid.pc
+
+%files -n libuuid
+%defattr(-,root,root)
+/usr/lib/libuuid.so.*
+
+%files -n libuuid-devel
+%defattr(-,root,root)
+%{_libdir}/libuuid.so
+%{_includedir}/uuid
+%{_libdir}/pkgconfig/uuid.pc
+
+
diff --git a/partx/Makefile.am b/partx/Makefile.am
new file mode 100644 (file)
index 0000000..238f322
--- /dev/null
@@ -0,0 +1,15 @@
+include $(top_srcdir)/config/include-Makefile.am
+
+if BUILD_PARTX
+
+usrsbin_exec_PROGRAMS = addpart delpart partx
+partx_SOURCES = bsd.c dos.c partx.c solaris.c unixware.c gpt.c crc32.c \
+               efi.h gpt.h crc32.h partx.h dos.h ../lib/blkdev.c
+
+if LINUX
+partx_SOURCES += ../lib/linux_version.c
+endif
+
+dist_man_MANS = addpart.8 delpart.8 partx.8
+
+endif
diff --git a/partx/Makefile.in b/partx/Makefile.in
new file mode 100644 (file)
index 0000000..9b08872
--- /dev/null
@@ -0,0 +1,720 @@
+# Makefile.in generated by automake 1.11 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@
+DIST_COMMON = $(am__dist_noinst_DATA_DIST) $(dist_man_MANS) \
+       $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+       $(top_srcdir)/config/include-Makefile.am
+@BUILD_PARTX_TRUE@usrsbin_exec_PROGRAMS = addpart$(EXEEXT) \
+@BUILD_PARTX_TRUE@     delpart$(EXEEXT) partx$(EXEEXT)
+@BUILD_PARTX_TRUE@@LINUX_TRUE@am__append_1 = ../lib/linux_version.c
+subdir = partx
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.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)/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 =
+CONFIG_CLEAN_VPATH_FILES =
+am__installdirs = "$(DESTDIR)$(usrsbin_execdir)" \
+       "$(DESTDIR)$(man8dir)"
+PROGRAMS = $(usrsbin_exec_PROGRAMS)
+addpart_SOURCES = addpart.c
+addpart_OBJECTS = addpart.$(OBJEXT)
+addpart_LDADD = $(LDADD)
+delpart_SOURCES = delpart.c
+delpart_OBJECTS = delpart.$(OBJEXT)
+delpart_LDADD = $(LDADD)
+am__partx_SOURCES_DIST = bsd.c dos.c partx.c solaris.c unixware.c \
+       gpt.c crc32.c efi.h gpt.h crc32.h partx.h dos.h \
+       ../lib/blkdev.c ../lib/linux_version.c
+@BUILD_PARTX_TRUE@@LINUX_TRUE@am__objects_1 = linux_version.$(OBJEXT)
+@BUILD_PARTX_TRUE@am_partx_OBJECTS = bsd.$(OBJEXT) dos.$(OBJEXT) \
+@BUILD_PARTX_TRUE@     partx.$(OBJEXT) solaris.$(OBJEXT) \
+@BUILD_PARTX_TRUE@     unixware.$(OBJEXT) gpt.$(OBJEXT) \
+@BUILD_PARTX_TRUE@     crc32.$(OBJEXT) blkdev.$(OBJEXT) \
+@BUILD_PARTX_TRUE@     $(am__objects_1)
+partx_OBJECTS = $(am_partx_OBJECTS)
+partx_LDADD = $(LDADD)
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+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) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+       --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+       --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+       $(LDFLAGS) -o $@
+SOURCES = addpart.c delpart.c $(partx_SOURCES)
+DIST_SOURCES = addpart.c delpart.c $(am__partx_SOURCES_DIST)
+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'
+man8dir = $(mandir)/man8
+NROFF = nroff
+MANS = $(dist_man_MANS)
+am__dist_noinst_DATA_DIST = addpart.8 delpart.8 partx.8
+DATA = $(dist_noinst_DATA)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BLKID = @BLKID@
+BLKID_CFLAGS = @BLKID_CFLAGS@
+BLKID_LIBS = @BLKID_LIBS@
+BLKID_LIBS_STATIC = @BLKID_LIBS_STATIC@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+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@
+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_VERSION = @LIBBLKID_VERSION@
+LIBBLKID_VERSION_INFO = @LIBBLKID_VERSION_INFO@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+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@
+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_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+POSUB = @POSUB@
+RANLIB = @RANLIB@
+SED = @SED@
+SELINUX_LIBS = @SELINUX_LIBS@
+SELINUX_LIBS_STATIC = @SELINUX_LIBS_STATIC@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SUID_CFLAGS = @SUID_CFLAGS@
+SUID_LDFLAGS = @SUID_LDFLAGS@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
+VERSION = @VERSION@
+VOLID = @VOLID@
+XGETTEXT = @XGETTEXT@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+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@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+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 $(top_builddir)/config.h -I$(top_srcdir)/include \
+       -DLOCALEDIR=\"$(localedir)\"
+
+AM_CFLAGS = -fsigned-char
+AM_LDFLAGS = 
+
+# 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)
+#
+# blkid
+ul_libblkid_srcdir = $(top_srcdir)/shlibs/blkid/src
+ul_libblkid_builddir = $(top_builddir)/shlibs/blkid/src
+ul_libblkid_la = $(top_builddir)/shlibs/blkid/src/libblkid.la
+
+# uuid
+ul_libuuid_srcdir = $(top_srcdir)/shlibs/uuid/src
+ul_libuuid_builddir = $(top_builddir)/shlibs/uuid/src
+ul_libuuid_la = $(top_builddir)/shlibs/uuid/src/libuuid.la
+@BUILD_PARTX_TRUE@partx_SOURCES = bsd.c dos.c partx.c solaris.c \
+@BUILD_PARTX_TRUE@     unixware.c gpt.c crc32.c efi.h gpt.h crc32.h \
+@BUILD_PARTX_TRUE@     partx.h dos.h ../lib/blkdev.c \
+@BUILD_PARTX_TRUE@     $(am__append_1)
+@BUILD_PARTX_TRUE@dist_man_MANS = addpart.8 delpart.8 partx.8
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/config/include-Makefile.am $(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 partx/Makefile'; \
+       $(am__cd) $(top_srcdir) && \
+         $(AUTOMAKE) --foreign partx/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):
+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
+addpart$(EXEEXT): $(addpart_OBJECTS) $(addpart_DEPENDENCIES) 
+       @rm -f addpart$(EXEEXT)
+       $(LINK) $(addpart_OBJECTS) $(addpart_LDADD) $(LIBS)
+delpart$(EXEEXT): $(delpart_OBJECTS) $(delpart_DEPENDENCIES) 
+       @rm -f delpart$(EXEEXT)
+       $(LINK) $(delpart_OBJECTS) $(delpart_LDADD) $(LIBS)
+partx$(EXEEXT): $(partx_OBJECTS) $(partx_DEPENDENCIES) 
+       @rm -f partx$(EXEEXT)
+       $(LINK) $(partx_OBJECTS) $(partx_LDADD) $(LIBS)
+
+mostlyclean-compile:
+       -rm -f *.$(OBJEXT)
+
+distclean-compile:
+       -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/addpart.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/blkdev.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bsd.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/crc32.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/delpart.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dos.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gpt.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linux_version.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/partx.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/solaris.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unixware.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@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 $<
+
+.c.obj:
+@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@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 `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@   $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@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 $@ $<
+
+blkdev.o: ../lib/blkdev.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT blkdev.o -MD -MP -MF $(DEPDIR)/blkdev.Tpo -c -o blkdev.o `test -f '../lib/blkdev.c' || echo '$(srcdir)/'`../lib/blkdev.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/blkdev.Tpo $(DEPDIR)/blkdev.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/blkdev.c' object='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) $(AM_CFLAGS) $(CFLAGS) -c -o blkdev.o `test -f '../lib/blkdev.c' || echo '$(srcdir)/'`../lib/blkdev.c
+
+blkdev.obj: ../lib/blkdev.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT blkdev.obj -MD -MP -MF $(DEPDIR)/blkdev.Tpo -c -o 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__mv) $(DEPDIR)/blkdev.Tpo $(DEPDIR)/blkdev.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/blkdev.c' object='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) $(AM_CFLAGS) $(CFLAGS) -c -o blkdev.obj `if test -f '../lib/blkdev.c'; then $(CYGPATH_W) '../lib/blkdev.c'; else $(CYGPATH_W) '$(srcdir)/../lib/blkdev.c'; fi`
+
+linux_version.o: ../lib/linux_version.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT linux_version.o -MD -MP -MF $(DEPDIR)/linux_version.Tpo -c -o linux_version.o `test -f '../lib/linux_version.c' || echo '$(srcdir)/'`../lib/linux_version.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/linux_version.Tpo $(DEPDIR)/linux_version.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/linux_version.c' object='linux_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) $(AM_CFLAGS) $(CFLAGS) -c -o linux_version.o `test -f '../lib/linux_version.c' || echo '$(srcdir)/'`../lib/linux_version.c
+
+linux_version.obj: ../lib/linux_version.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT linux_version.obj -MD -MP -MF $(DEPDIR)/linux_version.Tpo -c -o linux_version.obj `if test -f '../lib/linux_version.c'; then $(CYGPATH_W) '../lib/linux_version.c'; else $(CYGPATH_W) '$(srcdir)/../lib/linux_version.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/linux_version.Tpo $(DEPDIR)/linux_version.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../lib/linux_version.c' object='linux_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) $(AM_CFLAGS) $(CFLAGS) -c -o linux_version.obj `if test -f '../lib/linux_version.c'; then $(CYGPATH_W) '../lib/linux_version.c'; else $(CYGPATH_W) '$(srcdir)/../lib/linux_version.c'; fi`
+
+mostlyclean-libtool:
+       -rm -f *.lo
+
+clean-libtool:
+       -rm -rf .libs _libs
+install-man8: $(dist_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)'; 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)'; 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; }
+
+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:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       set x; \
+       here=`pwd`; \
+       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; }; }'`; \
+       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:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       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; }; }'`; \
+       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
+
+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
+       @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 $(PROGRAMS) $(MANS) $(DATA)
+installdirs:
+       for dir in "$(DESTDIR)$(usrsbin_execdir)" "$(DESTDIR)$(man8dir)"; do \
+         test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+       done
+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:
+
+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)
+
+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-usrsbin_execPROGRAMS \
+       mostlyclean-am
+
+distclean: distclean-am
+       -rm -rf ./$(DEPDIR)
+       -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+       distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-man
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-usrsbin_execPROGRAMS
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man: install-man8
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+       -rm -rf ./$(DEPDIR)
+       -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+       mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-man uninstall-usrsbin_execPROGRAMS
+
+uninstall-man: uninstall-man8
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+       clean-libtool clean-usrsbin_execPROGRAMS ctags distclean \
+       distclean-compile distclean-generic distclean-libtool \
+       distclean-tags distdir dvi dvi-am html html-am info info-am \
+       install install-am install-data install-data-am install-dvi \
+       install-dvi-am install-exec install-exec-am install-html \
+       install-html-am install-info install-info-am install-man \
+       install-man8 install-pdf install-pdf-am install-ps \
+       install-ps-am install-strip install-usrsbin_execPROGRAMS \
+       installcheck installcheck-am installdirs maintainer-clean \
+       maintainer-clean-generic mostlyclean mostlyclean-compile \
+       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+       tags uninstall uninstall-am uninstall-man uninstall-man8 \
+       uninstall-usrsbin_execPROGRAMS
+
+
+$(ul_libblkid_la):
+       $(MAKE) -C $(ul_libblkid_builddir)
+
+$(ul_libuuid_la):
+       $(MAKE) -C $(ul_libuuid_builddir)
+
+# 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/partx/addpart.8 b/partx/addpart.8
new file mode 100644 (file)
index 0000000..d385ba6
--- /dev/null
@@ -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 "11 Jan 2007"
+.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 with 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-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/partx/addpart.c b/partx/addpart.c
new file mode 100644 (file)
index 0000000..004fee5
--- /dev/null
@@ -0,0 +1,43 @@
+/* very primitive wrapper around the `add partition' ioctl */
+#include <stdio.h>
+#include <fcntl.h>
+#include <stdlib.h>
+#include <sys/ioctl.h>
+#ifdef HAVE_LINUX_COMPILER_H
+#include <linux/compiler.h>
+#endif
+#include <linux/blkpg.h>
+
+int
+main(int argc, char **argv){
+       int fd;
+       struct blkpg_ioctl_arg a;
+       struct blkpg_partition p;
+
+       if (argc != 5) {
+               fprintf(stderr,
+                       "usage: %s diskdevice partitionnr start length\n",
+                       argv[0]);
+               exit(1);
+       }
+       if ((fd = open(argv[1], O_RDONLY)) < 0) {
+               perror(argv[1]);
+               exit(1);
+       }
+       p.pno = atoi(argv[2]);
+       p.start = 512 * ((long long) atol(argv[3]));
+       p.length = 512 * ((long long) atol(argv[4]));
+       p.devname[0] = 0;
+       p.volname[0] = 0;
+       a.op = BLKPG_ADD_PARTITION;
+       a.flags = 0;
+       a.datalen = sizeof(p);
+       a.data = &p;
+
+       if (ioctl(fd, BLKPG, &a) == -1) {
+               perror("BLKPG");
+               exit(1);
+       }
+           
+       return 0;
+}
diff --git a/partx/bsd.c b/partx/bsd.c
new file mode 100644 (file)
index 0000000..4532c32
--- /dev/null
@@ -0,0 +1,83 @@
+#include <stdio.h>
+#include "partx.h"
+
+#define BSD_DISKMAGIC  (0x82564557UL)  /* The disk magic number */
+#define XBSD_MAXPARTITIONS     16
+#define BSD_FS_UNUSED          0
+
+struct bsd_disklabel {
+       unsigned int    d_magic;        /* the magic number */
+       short int       d_type;         /* drive type */
+       short int       d_subtype;      /* controller/d_type specific */
+       char    d_typename[16];         /* type name, e.g. "eagle" */
+       char    d_packname[16];         /* pack identifier */ 
+       unsigned int    d_secsize;      /* # of bytes per sector */
+       unsigned int    d_nsectors;     /* # of data sectors per track */
+       unsigned int    d_ntracks;      /* # of tracks per cylinder */
+       unsigned int    d_ncylinders;   /* # of data cylinders per unit */
+       unsigned int    d_secpercyl;    /* # of data sectors per cylinder */
+       unsigned int    d_secperunit;   /* # of data sectors per unit */
+       unsigned short  d_sparespertrack;/* # of spare sectors per track */
+       unsigned short  d_sparespercyl; /* # of spare sectors per cylinder */
+       unsigned int    d_acylinders;   /* # of alt. cylinders per unit */
+       unsigned short  d_rpm;          /* rotational speed */
+       unsigned short  d_interleave;   /* hardware sector interleave */
+       unsigned short  d_trackskew;    /* sector 0 skew, per track */
+       unsigned short  d_cylskew;      /* sector 0 skew, per cylinder */
+       unsigned int    d_headswitch;   /* head switch time, usec */
+       unsigned int    d_trkseek;      /* track-to-track seek, usec */
+       unsigned int    d_flags;        /* generic flags */
+       unsigned int    d_drivedata[5]; /* drive-type specific information */
+       unsigned int    d_spare[5];     /* reserved for future use */
+       unsigned int    d_magic2;       /* the magic number (again) */
+       unsigned short  d_checksum;     /* xor of data incl. partitions */
+
+                       /* filesystem and partition information: */
+       unsigned short  d_npartitions;  /* number of partitions in following */
+       unsigned int    d_bbsize;       /* size of boot area at sn0, bytes */
+       unsigned int    d_sbsize;       /* max size of fs superblock, bytes */
+       struct  bsd_partition {         /* the partition table */
+               unsigned int    p_size;   /* number of sectors in partition */
+               unsigned int    p_offset; /* starting sector */
+               unsigned int    p_fsize;  /* filesystem basic fragment size */
+               unsigned char   p_fstype; /* filesystem type, see below */
+               unsigned char   p_frag;   /* filesystem fragments per block */
+               unsigned short  p_cpg;    /* filesystem cylinders per group */
+       } d_partitions[XBSD_MAXPARTITIONS];/* actually may be more */
+};
+
+int
+read_bsd_pt(int fd, struct slice all, struct slice *sp, int ns) {
+       struct bsd_disklabel *l;
+       struct bsd_partition *p;
+       unsigned int offset = all.start;
+       int max_partitions;
+       unsigned char *bp;
+       int n = 0;
+
+       bp = getblock(fd, offset+1);    /* 1 sector suffices */
+       if (bp == NULL)
+               return -1;
+
+       l = (struct bsd_disklabel *) bp;
+       if (l->d_magic != BSD_DISKMAGIC)
+               return -1;
+
+       max_partitions = 16;
+       if (l->d_npartitions < max_partitions)
+               max_partitions = l->d_npartitions;
+       for (p = l->d_partitions; p - l->d_partitions <  max_partitions; p++) {
+               if (p->p_fstype == BSD_FS_UNUSED)
+                       /* nothing */;
+               else if (n < ns) {
+                       sp[n].start = p->p_offset;
+                       sp[n].size = p->p_size;
+                       n++;
+               } else {
+                       fprintf(stderr,
+                               "bsd_partition: too many slices\n");
+                       break;
+               }
+       }
+       return n;
+}
diff --git a/partx/crc32.c b/partx/crc32.c
new file mode 100644 (file)
index 0000000..4120f72
--- /dev/null
@@ -0,0 +1,393 @@
+/* 
+ * crc32.c
+ * This code is in the public domain; copyright abandoned.
+ * Liability for non-performance of this code is limited to the amount
+ * you paid for it.  Since it is distributed for free, your refund will
+ * be very very small.  If it breaks, you get to keep both pieces.
+ */
+
+#include "crc32.h"
+
+#if __GNUC__ >= 3      /* 2.x has "attribute", but only 3.0 has "pure */
+#define attribute(x) __attribute__(x)
+#else
+#define attribute(x)
+#endif
+
+/*
+ * There are multiple 16-bit CRC polynomials in common use, but this is
+ * *the* standard CRC-32 polynomial, first popularized by Ethernet.
+ * 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
+ */
+#define CRCPOLY_LE 0xedb88320
+#define CRCPOLY_BE 0x04c11db7
+
+/* How many bits at a time to use.  Requires a table of 4<<CRC_xx_BITS bytes. */
+/* For less performance-sensitive, use 4 */
+#define CRC_LE_BITS 8
+#define CRC_BE_BITS 8
+
+/*
+ * Little-endian CRC computation.  Used with serial bit streams sent
+ * lsbit-first.  Be sure to use cpu_to_le32() to append the computed CRC.
+ */
+#if CRC_LE_BITS > 8 || CRC_LE_BITS < 1 || CRC_LE_BITS & CRC_LE_BITS-1
+# error CRC_LE_BITS must be a power of 2 between 1 and 8
+#endif
+
+#if CRC_LE_BITS == 1
+/*
+ * In fact, the table-based code will work in this case, but it can be
+ * simplified by inlining the table in ?: form.
+ */
+#define crc32init_le()
+#define crc32cleanup_le()
+/**
+ * crc32_le() - Calculate bitwise little-endian Ethernet AUTODIN II CRC32
+ * @crc - seed value for computation.  ~0 for Ethernet, sometimes 0 for
+ *        other uses, or the previous crc32 value if computing incrementally.
+ * @p   - pointer to buffer over which CRC is run
+ * @len - length of buffer @p
+ * 
+ */
+uint32_t attribute((pure)) crc32_le(uint32_t crc, unsigned char const *p, size_t len)
+{
+       int i;
+       while (len--) {
+               crc ^= *p++;
+               for (i = 0; i < 8; i++)
+                       crc = (crc >> 1) ^ ((crc & 1) ? CRCPOLY_LE : 0);
+       }
+       return crc;
+}
+#else                          /* Table-based approach */
+
+static uint32_t *crc32table_le;
+/**
+ * crc32init_le() - allocate and initialize LE table data
+ *
+ * crc is the crc of the byte i; other entries are filled in based on the
+ * fact that crctable[i^j] = crctable[i] ^ crctable[j].
+ *
+ */
+static int
+crc32init_le(void)
+{
+       unsigned i, j;
+       uint32_t crc = 1;
+
+       crc32table_le =
+               malloc((1 << CRC_LE_BITS) * sizeof(uint32_t));
+       if (!crc32table_le)
+               return 1;
+       crc32table_le[0] = 0;
+
+       for (i = 1 << (CRC_LE_BITS - 1); i; i >>= 1) {
+               crc = (crc >> 1) ^ ((crc & 1) ? CRCPOLY_LE : 0);
+               for (j = 0; j < 1 << CRC_LE_BITS; j += 2 * i)
+                       crc32table_le[i + j] = crc ^ crc32table_le[j];
+       }
+       return 0;
+}
+
+/**
+ * crc32cleanup_le(): free LE table data
+ */
+static void
+crc32cleanup_le(void)
+{
+       free(crc32table_le);
+       crc32table_le = NULL;
+}
+
+/**
+ * crc32_le() - Calculate bitwise little-endian Ethernet AUTODIN II CRC32
+ * @crc - seed value for computation.  ~0 for Ethernet, sometimes 0 for
+ *        other uses, or the previous crc32 value if computing incrementally.
+ * @p   - pointer to buffer over which CRC is run
+ * @len - length of buffer @p
+ * 
+ */
+uint32_t attribute((pure)) crc32_le(uint32_t crc, unsigned char const *p, size_t len)
+{
+       while (len--) {
+# if CRC_LE_BITS == 8
+               crc = (crc >> 8) ^ crc32table_le[(crc ^ *p++) & 255];
+# elif CRC_LE_BITS == 4
+               crc ^= *p++;
+               crc = (crc >> 4) ^ crc32table_le[crc & 15];
+               crc = (crc >> 4) ^ crc32table_le[crc & 15];
+# elif CRC_LE_BITS == 2
+               crc ^= *p++;
+               crc = (crc >> 2) ^ crc32table_le[crc & 3];
+               crc = (crc >> 2) ^ crc32table_le[crc & 3];
+               crc = (crc >> 2) ^ crc32table_le[crc & 3];
+               crc = (crc >> 2) ^ crc32table_le[crc & 3];
+# endif
+       }
+       return crc;
+}
+#endif
+
+/*
+ * Big-endian CRC computation.  Used with serial bit streams sent
+ * msbit-first.  Be sure to use cpu_to_be32() to append the computed CRC.
+ */
+#if CRC_BE_BITS > 8 || CRC_BE_BITS < 1 || CRC_BE_BITS & CRC_BE_BITS-1
+# error CRC_BE_BITS must be a power of 2 between 1 and 8
+#endif
+
+#if CRC_BE_BITS == 1
+/*
+ * In fact, the table-based code will work in this case, but it can be
+ * simplified by inlining the table in ?: form.
+ */
+#define crc32init_be()
+#define crc32cleanup_be()
+
+/**
+ * crc32_be() - Calculate bitwise big-endian Ethernet AUTODIN II CRC32
+ * @crc - seed value for computation.  ~0 for Ethernet, sometimes 0 for
+ *        other uses, or the previous crc32 value if computing incrementally.
+ * @p   - pointer to buffer over which CRC is run
+ * @len - length of buffer @p
+ * 
+ */
+uint32_t attribute((pure)) crc32_be(uint32_t crc, unsigned char const *p, size_t len)
+{
+       int i;
+       while (len--) {
+               crc ^= *p++ << 24;
+               for (i = 0; i < 8; i++)
+                       crc =
+                           (crc << 1) ^ ((crc & 0x80000000) ? CRCPOLY_BE :
+                                         0);
+       }
+       return crc;
+}
+
+#else                          /* Table-based approach */
+static uint32_t *crc32table_be;
+
+/**
+ * crc32init_be() - allocate and initialize BE table data
+ */
+static int
+crc32init_be(void)
+{
+       unsigned i, j;
+       uint32_t crc = 0x80000000;
+
+       crc32table_be =
+               malloc((1 << CRC_BE_BITS) * sizeof(uint32_t));
+       if (!crc32table_be)
+               return 1;
+       crc32table_be[0] = 0;
+
+       for (i = 1; i < 1 << CRC_BE_BITS; i <<= 1) {
+               crc = (crc << 1) ^ ((crc & 0x80000000) ? CRCPOLY_BE : 0);
+               for (j = 0; j < i; j++)
+                       crc32table_be[i + j] = crc ^ crc32table_be[j];
+       }
+       return 0;
+}
+
+/**
+ * crc32cleanup_be(): free BE table data
+ */
+static void
+crc32cleanup_be(void)
+{
+       free(crc32table_be);
+       crc32table_be = NULL;
+}
+
+
+/**
+ * crc32_be() - Calculate bitwise big-endian Ethernet AUTODIN II CRC32
+ * @crc - seed value for computation.  ~0 for Ethernet, sometimes 0 for
+ *        other uses, or the previous crc32 value if computing incrementally.
+ * @p   - pointer to buffer over which CRC is run
+ * @len - length of buffer @p
+ * 
+ */
+uint32_t attribute((pure)) crc32_be(uint32_t crc, unsigned char const *p, size_t len)
+{
+       while (len--) {
+# if CRC_BE_BITS == 8
+               crc = (crc << 8) ^ crc32table_be[(crc >> 24) ^ *p++];
+# elif CRC_BE_BITS == 4
+               crc ^= *p++ << 24;
+               crc = (crc << 4) ^ crc32table_be[crc >> 28];
+               crc = (crc << 4) ^ crc32table_be[crc >> 28];
+# elif CRC_BE_BITS == 2
+               crc ^= *p++ << 24;
+               crc = (crc << 2) ^ crc32table_be[crc >> 30];
+               crc = (crc << 2) ^ crc32table_be[crc >> 30];
+               crc = (crc << 2) ^ crc32table_be[crc >> 30];
+               crc = (crc << 2) ^ crc32table_be[crc >> 30];
+# endif
+       }
+       return crc;
+}
+#endif
+
+/*
+ * A brief CRC tutorial.
+ *
+ * A CRC is a long-division remainder.  You add the CRC to the message,
+ * and the whole thing (message+CRC) is a multiple of the given
+ * CRC polynomial.  To check the CRC, you can either check that the
+ * CRC matches the recomputed value, *or* you can check that the
+ * remainder computed on the message+CRC is 0.  This latter approach
+ * is used by a lot of hardware implementations, and is why so many
+ * protocols put the end-of-frame flag after the CRC.
+ *
+ * It's actually the same long division you learned in school, except that
+ * - We're working in binary, so the digits are only 0 and 1, and
+ * - When dividing polynomials, there are no carries.  Rather than add and
+ *   subtract, we just xor.  Thus, we tend to get a bit sloppy about
+ *   the difference between adding and subtracting.
+ *
+ * A 32-bit CRC polynomial is actually 33 bits long.  But since it's
+ * 33 bits long, bit 32 is always going to be set, so usually the CRC
+ * is written in hex with the most significant bit omitted.  (If you're
+ * familiar with the IEEE 754 floating-point format, it's the same idea.)
+ *
+ * Note that a CRC is computed over a string of *bits*, so you have
+ * to decide on the endianness of the bits within each byte.  To get
+ * the best error-detecting properties, this should correspond to the
+ * order they're actually sent.  For example, standard RS-232 serial is
+ * little-endian; the most significant bit (sometimes used for parity)
+ * is sent last.  And when appending a CRC word to a message, you should
+ * do it in the right order, matching the endianness.
+ *
+ * Just like with ordinary division, the remainder is always smaller than
+ * the divisor (the CRC polynomial) you're dividing by.  Each step of the
+ * division, you take one more digit (bit) of the dividend and append it
+ * to the current remainder.  Then you figure out the appropriate multiple
+ * of the divisor to subtract to being the remainder back into range.
+ * In binary, it's easy - it has to be either 0 or 1, and to make the
+ * XOR cancel, it's just a copy of bit 32 of the remainder.
+ *
+ * When computing a CRC, we don't care about the quotient, so we can
+ * throw the quotient bit away, but subtract the appropriate multiple of
+ * the polynomial from the remainder and we're back to where we started,
+ * ready to process the next bit.
+ *
+ * A big-endian CRC written this way would be coded like:
+ * for (i = 0; i < input_bits; i++) {
+ *     multiple = remainder & 0x80000000 ? CRCPOLY : 0;
+ *     remainder = (remainder << 1 | next_input_bit()) ^ multiple;
+ * }
+ * Notice how, to get at bit 32 of the shifted remainder, we look
+ * at bit 31 of the remainder *before* shifting it.
+ *
+ * But also notice how the next_input_bit() bits we're shifting into
+ * the remainder don't actually affect any decision-making until
+ * 32 bits later.  Thus, the first 32 cycles of this are pretty boring.
+ * Also, to add the CRC to a message, we need a 32-bit-long hole for it at
+ * the end, so we have to add 32 extra cycles shifting in zeros at the
+ * end of every message,
+ *
+ * So the standard trick is to rearrage merging in the next_input_bit()
+ * until the moment it's needed.  Then the first 32 cycles can be precomputed,
+ * and merging in the final 32 zero bits to make room for the CRC can be
+ * skipped entirely.
+ * This changes the code to:
+ * for (i = 0; i < input_bits; i++) {
+ *      remainder ^= next_input_bit() << 31;
+ *     multiple = (remainder & 0x80000000) ? CRCPOLY : 0;
+ *     remainder = (remainder << 1) ^ multiple;
+ * }
+ * With this optimization, the little-endian code is simpler:
+ * for (i = 0; i < input_bits; i++) {
+ *      remainder ^= next_input_bit();
+ *     multiple = (remainder & 1) ? CRCPOLY : 0;
+ *     remainder = (remainder >> 1) ^ multiple;
+ * }
+ *
+ * Note that the other details of endianness have been hidden in CRCPOLY
+ * (which must be bit-reversed) and next_input_bit().
+ *
+ * However, as long as next_input_bit is returning the bits in a sensible
+ * order, we can actually do the merging 8 or more bits at a time rather
+ * than one bit at a time:
+ * for (i = 0; i < input_bytes; i++) {
+ *     remainder ^= next_input_byte() << 24;
+ *     for (j = 0; j < 8; j++) {
+ *             multiple = (remainder & 0x80000000) ? CRCPOLY : 0;
+ *             remainder = (remainder << 1) ^ multiple;
+ *     }
+ * }
+ * Or in little-endian:
+ * for (i = 0; i < input_bytes; i++) {
+ *     remainder ^= next_input_byte();
+ *     for (j = 0; j < 8; j++) {
+ *             multiple = (remainder & 1) ? CRCPOLY : 0;
+ *             remainder = (remainder << 1) ^ multiple;
+ *     }
+ * }
+ * If the input is a multiple of 32 bits, you can even XOR in a 32-bit
+ * word at a time and increase the inner loop count to 32.
+ *
+ * You can also mix and match the two loop styles, for example doing the
+ * bulk of a message byte-at-a-time and adding bit-at-a-time processing
+ * for any fractional bytes at the end.
+ *
+ * The only remaining optimization is to the byte-at-a-time table method.
+ * Here, rather than just shifting one bit of the remainder to decide
+ * in the correct multiple to subtract, we can shift a byte at a time.
+ * This produces a 40-bit (rather than a 33-bit) intermediate remainder,
+ * but again the multiple of the polynomial to subtract depends only on
+ * the high bits, the high 8 bits in this case.  
+ *
+ * The multile we need in that case is the low 32 bits of a 40-bit
+ * value whose high 8 bits are given, and which is a multiple of the
+ * generator polynomial.  This is simply the CRC-32 of the given
+ * one-byte message.
+ *
+ * Two more details: normally, appending zero bits to a message which
+ * is already a multiple of a polynomial produces a larger multiple of that
+ * polynomial.  To enable a CRC to detect this condition, it's common to
+ * invert the CRC before appending it.  This makes the remainder of the
+ * message+crc come out not as zero, but some fixed non-zero value.
+ *
+ * The same problem applies to zero bits prepended to the message, and
+ * a similar solution is used.  Instead of starting with a remainder of
+ * 0, an initial remainder of all ones is used.  As long as you start
+ * the same way on decoding, it doesn't make a difference.
+ */
+
+
+/**
+ * init_crc32(): generates CRC32 tables
+ * 
+ * On successful initialization, use count is increased.
+ * This guarantees that the library functions will stay resident
+ * in memory, and prevents someone from 'rmmod crc32' while
+ * a driver that needs it is still loaded.
+ * This also greatly simplifies drivers, as there's no need
+ * to call an initialization/cleanup function from each driver.
+ * Since crc32.o is a library module, there's no requirement
+ * that the user can unload it.
+ */
+int
+init_crc32(void)
+{
+       int rc1, rc2, rc;
+       rc1 = crc32init_le();
+       rc2 = crc32init_be();
+       rc = rc1 || rc2;
+       return rc;
+}
+
+/**
+ * cleanup_crc32(): frees crc32 data when no longer needed
+ */
+void
+cleanup_crc32(void)
+{
+       crc32cleanup_le();
+       crc32cleanup_be();
+}
diff --git a/partx/crc32.h b/partx/crc32.h
new file mode 100644 (file)
index 0000000..a4505b8
--- /dev/null
@@ -0,0 +1,19 @@
+/*
+ * crc32.h
+ */
+#ifndef _CRC32_H
+#define _CRC32_H
+
+#include <inttypes.h>
+#include <stdlib.h>
+
+extern int init_crc32(void);
+extern void cleanup_crc32(void);
+extern uint32_t  crc32_le(uint32_t crc, unsigned char const *p, size_t len);
+extern uint32_t  crc32_be(uint32_t crc, unsigned char const *p, size_t len);
+
+#define crc32(seed, data, length)  crc32_le(seed, (unsigned char const *)data, length)
+#define ether_crc_le(length, data) crc32_le(~0, data, length)
+#define ether_crc(length, data)    crc32_be(~0, data, length)
+
+#endif /* _CRC32_H */
diff --git a/partx/delpart.8 b/partx/delpart.8
new file mode 100644 (file)
index 0000000..356d99c
--- /dev/null
@@ -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 "11 Jan 2007"
+.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 with 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-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/partx/delpart.c b/partx/delpart.c
new file mode 100644 (file)
index 0000000..9dca746
--- /dev/null
@@ -0,0 +1,43 @@
+/* very primitive wrapper around the `delete partition' ioctl */
+#include <stdio.h>
+#include <fcntl.h>
+#include <stdlib.h>
+#include <sys/ioctl.h>
+#ifdef HAVE_LINUX_COMPILER_H
+#include <linux/compiler.h>
+#endif
+#include <linux/blkpg.h>
+
+int
+main(int argc, char **argv){
+       int fd;
+       struct blkpg_ioctl_arg a;
+       struct blkpg_partition p;
+
+       if (argc != 3) {
+               fprintf(stderr,
+                       "usage: %s diskdevice partitionnr\n",
+                       argv[0]);
+               exit(1);
+       }
+       if ((fd = open(argv[1], O_RDONLY)) < 0) {
+               perror(argv[1]);
+               exit(1);
+       }
+       p.pno = atoi(argv[2]);
+       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;
+
+       if (ioctl(fd, BLKPG, &a) == -1) {
+               perror("BLKPG");
+               exit(1);
+       }
+           
+       return 0;
+}
diff --git a/partx/dos.c b/partx/dos.c
new file mode 100644 (file)
index 0000000..ebc4ce0
--- /dev/null
@@ -0,0 +1,138 @@
+#include <stdio.h>
+
+#include "blkdev.h"
+
+#include "partx.h"
+#include "dos.h"
+
+static int
+is_extended(int type) {
+       return (type == 5 || type == 0xf || type == 0x85);
+}
+
+/* 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
+partition_start(struct partition *p) {
+       return assemble4le(&(p->start_sect[0]));
+}
+
+static inline unsigned int
+partition_size(struct partition *p) {
+       return assemble4le(&(p->nr_sects[0]));
+}
+
+static int
+read_extended_partition(int fd, struct partition *ep,
+                       struct slice *sp, int ns, int ssf)
+{
+       struct partition *p;
+       unsigned long start, here;
+       unsigned char *bp;
+       int loopct = 0;
+       int moretodo = 1;
+       int i, n=0;
+
+       here = start = partition_start(ep);;
+
+       while (moretodo) {
+               moretodo = 0;
+               if (++loopct > 100)
+                       return n;
+
+               bp = getblock(fd, here);
+               if (bp == NULL)
+                       return n;
+
+               if (bp[510] != 0x55 || bp[511] != 0xaa)
+                       return n;
+
+               p = (struct partition *) (bp + 0x1be);
+
+               for (i=0; i<2; i++, p++) {
+                       if (partition_size(p) == 0 || is_extended(p->sys_type))
+                               continue;
+                       if (n < ns) {
+                               sp[n].start = (here + partition_start(p)) * ssf;
+                               sp[n].size = partition_size(p) * ssf;
+                               n++;
+                       } else {
+                               fprintf(stderr,
+                                   "dos_extd_partition: too many slices\n");
+                               return n;
+                       }
+                       loopct = 0;
+               }
+
+               p -= 2;
+               for (i=0; i<2; i++, p++) {
+                       if (partition_size(p) != 0 &&
+                           is_extended(p->sys_type)) {
+                               here = start + partition_start(p);
+                               moretodo = 1;
+                               break;
+                       }
+               }
+       }
+       return n;
+}
+
+static int
+is_gpt(int type) {
+       return (type == 0xEE);
+}
+
+int
+read_dos_pt(int fd, struct slice all, struct slice *sp, int ns) {
+       struct partition *p;
+       unsigned long offset = all.start;
+       int i, n=0;
+       unsigned char *bp;
+       int ssf;
+
+       bp = getblock(fd, offset);
+       if (bp == NULL)
+               return -1;
+
+       if (bp[510] != 0x55 || bp[511] != 0xaa)
+               return -1;
+
+       /* msdos PT depends sector size... */
+       if (blkdev_get_sector_size(fd, &ssf) != 0)
+               ssf = DEFAULT_SECTOR_SIZE;
+
+       /* ... but partx counts everything in 512-byte sectors */
+       ssf /= 512;
+
+       p = (struct partition *) (bp + 0x1be);
+       for (i=0; i<4; i++) {
+               if (is_gpt(p->sys_type))
+                       return 0;
+               p++;
+       }
+       p = (struct partition *) (bp + 0x1be);
+       for (i=0; i<4; i++) {
+               /* always add, even if zero length */
+               if (n < ns) {
+                       sp[n].start = partition_start(p) * ssf;
+                       sp[n].size = partition_size(p) * ssf;
+                       n++;
+               } else {
+                       fprintf(stderr,
+                               "dos_partition: too many slices\n");
+                       break;
+               }
+               p++;
+       }
+       p = (struct partition *) (bp + 0x1be);
+       for (i=0; i<4; i++) {
+               if (is_extended(p->sys_type))
+                       n += read_extended_partition(fd, p, sp+n, ns-n, ssf);
+               p++;
+       }
+       return n;
+}
diff --git a/partx/dos.h b/partx/dos.h
new file mode 100644 (file)
index 0000000..877beec
--- /dev/null
@@ -0,0 +1,13 @@
+#ifndef DOS_H_INCLUDED
+#define DOS_H_INCLUDED
+
+struct partition {
+       unsigned char boot_ind; /* 0x80 - active */
+       unsigned char bh, bs, bc;
+       unsigned char sys_type;
+       unsigned char eh, es, ec;
+       unsigned char start_sect[4];
+       unsigned char nr_sects[4];
+};
+
+#endif                         /* DOS_H_INCLUDED */
diff --git a/partx/efi.h b/partx/efi.h
new file mode 100644 (file)
index 0000000..fcf2740
--- /dev/null
@@ -0,0 +1,57 @@
+/*
+  efi.[ch] - Manipulates EFI variables as exported in /proc/efi/vars
+  Copyright (C) 2001 Dell Computer Corporation <Matt_Domsch@dell.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
+ */
+
+#ifndef EFI_H
+#define EFI_H
+
+/*
+ * Extensible Firmware Interface
+ * Based on 'Extensible Firmware Interface Specification'
+ *      version 1.02, 12 December, 2000
+ */
+#include <stdint.h>
+
+typedef struct {
+       uint8_t  b[16];
+} efi_guid_t;
+
+#define EFI_GUID(a,b,c,d0,d1,d2,d3,d4,d5,d6,d7) \
+((efi_guid_t) \
+{{ (a) & 0xff, ((a) >> 8) & 0xff, ((a) >> 16) & 0xff, ((a) >> 24) & 0xff, \
+  (b) & 0xff, ((b) >> 8) & 0xff, \
+  (c) & 0xff, ((c) >> 8) & 0xff, \
+  (d0), (d1), (d2), (d3), (d4), (d5), (d6), (d7) }})
+
+
+/******************************************************
+ * GUIDs
+ ******************************************************/
+#define NULL_GUID \
+EFI_GUID( 0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
+
+static inline int
+efi_guidcmp(efi_guid_t left, efi_guid_t right)
+{
+       return memcmp(&left, &right, sizeof (efi_guid_t));
+}
+
+typedef uint16_t efi_char16_t;         /* UNICODE character */
+
+#endif /* EFI_H */
diff --git a/partx/gpt.c b/partx/gpt.c
new file mode 100644 (file)
index 0000000..be612fc
--- /dev/null
@@ -0,0 +1,510 @@
+/*
+    gpt.[ch]
+
+    Copyright (C) 2000-2001 Dell Computer Corporation <Matt_Domsch@dell.com>
+
+    EFI GUID Partition Table handling
+    Per Intel EFI Specification v1.02
+    http://developer.intel.com/technology/efi/efi.htm
+
+    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 <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <inttypes.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <errno.h>
+
+#include "blkdev.h"
+#include "crc32.h"
+#include "gpt.h"
+#include "partx.h"
+#include "bitops.h"
+
+static inline uint32_t
+efi_crc32(const void *buf, unsigned long len)
+{
+       return (crc32(~0L, buf, len) ^ ~0L);
+}
+
+/**
+ * is_pmbr_valid(): test Protective MBR for validity
+ * @mbr: pointer to a legacy mbr structure
+ *
+ * Description: Returns 1 if PMBR is valid, 0 otherwise.
+ * Validity depends on two things:
+ *  1) MSDOS signature is in the last two bytes of the MBR
+ *  2) One partition of type 0xEE is found
+ */
+static int
+is_pmbr_valid(legacy_mbr *mbr)
+{
+       int i, found = 0, signature = 0;
+       if (!mbr)
+               return 0;
+       signature = (le16_to_cpu(mbr->signature) == MSDOS_MBR_SIGNATURE);
+       for (i = 0; signature && i < 4; i++) {
+               if (mbr->partition[i].sys_type ==
+                    EFI_PMBR_OSTYPE_EFI_GPT) {
+                       found = 1;
+                       break;
+               }
+       }
+       return (signature && found);
+}
+
+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 filedes)
+{
+       int rc;
+       uint64_t sectors = 0;
+       struct stat s;
+       memset(&s, 0, sizeof (s));
+       rc = fstat(filedes, &s);
+       if (rc == -1) {
+               fprintf(stderr, "last_lba() could not stat: %s\n",
+                       strerror(errno));
+               return 0;
+       }
+
+       if (S_ISBLK(s.st_mode)) {
+               sectors = get_num_sectors(filedes);
+       } else {
+               fprintf(stderr,
+                       "last_lba(): I don't know how to handle files with mode %x\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);
+}
+
+/**
+ * alloc_read_gpt_entries(): reads partition entries from disk
+ * @fd  is an open file descriptor to the whole disk
+ * @gpt is a buffer into which the GPT will be put  
+ * Description: Returns ptes on success,  NULL on error.
+ * Allocates space for PTEs based on information found in @gpt.
+ * Notes: remember to free pte when you're done!
+ */
+static gpt_entry *
+alloc_read_gpt_entries(int fd, gpt_header * gpt)
+{
+       gpt_entry *pte;
+        size_t count = le32_to_cpu(gpt->num_partition_entries) *
+                le32_to_cpu(gpt->sizeof_partition_entry);
+
+        if (!count) return NULL;
+
+       pte = (gpt_entry *)malloc(count);
+       if (!pte)
+               return NULL;
+       memset(pte, 0, count);
+
+       if (!read_lba(fd, le64_to_cpu(gpt->partition_entry_lba), pte,
+                      count)) {
+               free(pte);
+               return NULL;
+       }
+       return pte;
+}
+
+/**
+ * alloc_read_gpt_header(): Allocates GPT header, reads into it from disk
+ * @fd  is an open file descriptor to the whole disk
+ * @lba is the Logical Block Address of the partition table
+ * 
+ * Description: returns GPT header on success, NULL on error.   Allocates
+ * and fills a GPT header starting at @ from @bdev.
+ * Note: remember to free gpt when finished with it.
+ */
+static gpt_header *
+alloc_read_gpt_header(int fd, uint64_t lba)
+{
+       gpt_header *gpt;
+       gpt = (gpt_header *)
+           malloc(sizeof (gpt_header));
+       if (!gpt)
+               return NULL;
+       memset(gpt, 0, sizeof (*gpt));
+       if (!read_lba(fd, lba, gpt, sizeof (gpt_header))) {
+               free(gpt);
+               return NULL;
+       }
+
+       return gpt;
+}
+
+/**
+ * is_gpt_valid() - tests one GPT header and PTEs for validity
+ * @fd  is an open file descriptor to the whole disk
+ * @lba is the logical block address of the GPT header to test
+ * @gpt is a GPT header ptr, filled on return.
+ * @ptes is a PTEs ptr, filled on return.
+ *
+ * Description: returns 1 if valid,  0 on error.
+ * If valid, returns pointers to newly allocated GPT header and PTEs.
+ */
+static int
+is_gpt_valid(int fd, uint64_t lba,
+             gpt_header ** gpt, gpt_entry ** ptes)
+{
+       int rc = 0;             /* default to not valid */
+       uint32_t crc, origcrc;
+
+       if (!gpt || !ptes)
+                return 0;
+       if (!(*gpt = alloc_read_gpt_header(fd, lba)))
+               return 0;
+
+       /* Check the GUID Partition Table signature */
+       if (le64_to_cpu((*gpt)->signature) != GPT_HEADER_SIGNATURE) {
+               /* 
+                  printf("GUID Partition Table Header signature is wrong: %" PRIx64" != %" PRIx64 "\n",
+                  le64_to_cpu((*gpt)->signature), GUID_PT_HEADER_SIGNATURE);
+                */
+               free(*gpt);
+               *gpt = NULL;
+               return rc;
+       }
+
+       /* Check the GUID Partition Table Header CRC */
+       origcrc = le32_to_cpu((*gpt)->header_crc32);
+       (*gpt)->header_crc32 = 0;
+       crc = efi_crc32(*gpt, le32_to_cpu((*gpt)->header_size));
+       if (crc != origcrc) {
+               /* printf( "GPTH CRC check failed, %x != %x.\n", origcrc, crc); */
+               (*gpt)->header_crc32 = cpu_to_le32(origcrc);
+               free(*gpt);
+               *gpt = NULL;
+               return 0;
+       }
+       (*gpt)->header_crc32 = cpu_to_le32(origcrc);
+
+       /* Check that the my_lba entry points to the LBA
+        * that contains the GPT we read */
+       if (le64_to_cpu((*gpt)->my_lba) != lba) {
+               /* printf( "my_lba % PRIx64 "x != lba %"PRIx64 "x.\n", le64_to_cpu((*gpt)->my_lba), lba); */
+               free(*gpt);
+               *gpt = NULL;
+               return 0;
+       }
+
+       if (!(*ptes = alloc_read_gpt_entries(fd, *gpt))) {
+               free(*gpt);
+               *gpt = NULL;
+               return 0;
+       }
+
+       /* Check the GUID Partition Entry Array CRC */
+       crc = efi_crc32(*ptes,
+                        le32_to_cpu((*gpt)->num_partition_entries) *
+                       le32_to_cpu((*gpt)->sizeof_partition_entry));
+       if (crc != le32_to_cpu((*gpt)->partition_entry_array_crc32)) {
+               /* printf("GUID Partitition Entry Array CRC check failed.\n"); */
+               free(*gpt);
+               *gpt = NULL;
+               free(*ptes);
+               *ptes = NULL;
+               return 0;
+       }
+
+       /* We're done, all's well */
+       return 1;
+}
+/**
+ * compare_gpts() - Search disk for valid GPT headers and PTEs
+ * @pgpt is the primary GPT header
+ * @agpt is the alternate GPT header
+ * @lastlba is the last LBA number
+ * Description: Returns nothing.  Sanity checks pgpt and agpt fields
+ * and prints warnings on discrepancies.
+ *
+ */
+static void
+compare_gpts(gpt_header *pgpt, gpt_header *agpt, uint64_t lastlba)
+{
+       int error_found = 0;
+       if (!pgpt || !agpt)
+               return;
+       if (le64_to_cpu(pgpt->my_lba) != le64_to_cpu(agpt->alternate_lba)) {
+               fprintf(stderr,
+                      "GPT:Primary header LBA != Alt. header alternate_lba\n");
+               fprintf(stderr,  "GPT:%" PRIx64 "x != %" PRIx64 "x\n",
+                      le64_to_cpu(pgpt->my_lba),
+                      le64_to_cpu(agpt->alternate_lba));
+               error_found++;
+       }
+       if (le64_to_cpu(pgpt->alternate_lba) != le64_to_cpu(agpt->my_lba)) {
+               fprintf(stderr,
+                      "GPT:Primary header alternate_lba != Alt. header my_lba\n");
+               fprintf(stderr,  "GPT:%" PRIx64 " != %" PRIx64 "\n",
+                      le64_to_cpu(pgpt->alternate_lba),
+                      le64_to_cpu(agpt->my_lba));
+               error_found++;
+       }
+       if (le64_to_cpu(pgpt->first_usable_lba) !=
+            le64_to_cpu(agpt->first_usable_lba)) {
+               fprintf(stderr,  "GPT:first_usable_lbas don't match.\n");
+               fprintf(stderr,  "GPT:%" PRIx64 " != %" PRIx64 "\n",
+                      le64_to_cpu(pgpt->first_usable_lba),
+                      le64_to_cpu(agpt->first_usable_lba));
+               error_found++;
+       }
+       if (le64_to_cpu(pgpt->last_usable_lba) !=
+            le64_to_cpu(agpt->last_usable_lba)) {
+               fprintf(stderr,  "GPT:last_usable_lbas don't match.\n");
+               fprintf(stderr,  "GPT:%" PRIx64 " != %" PRIx64 "\n",
+                      le64_to_cpu(pgpt->last_usable_lba),
+                      le64_to_cpu(agpt->last_usable_lba));
+               error_found++;
+       }
+       if (efi_guidcmp(pgpt->disk_guid, agpt->disk_guid)) {
+               fprintf(stderr,  "GPT:disk_guids don't match.\n");
+               error_found++;
+       }
+       if (le32_to_cpu(pgpt->num_partition_entries) !=
+            le32_to_cpu(agpt->num_partition_entries)) {
+               fprintf(stderr,  "GPT:num_partition_entries don't match: "
+                      "0x%x != 0x%x\n",
+                      le32_to_cpu(pgpt->num_partition_entries),
+                      le32_to_cpu(agpt->num_partition_entries));
+               error_found++;
+       }
+       if (le32_to_cpu(pgpt->sizeof_partition_entry) !=
+            le32_to_cpu(agpt->sizeof_partition_entry)) {
+               fprintf(stderr,
+                      "GPT:sizeof_partition_entry values don't match: "
+                      "0x%x != 0x%x\n",
+                      le32_to_cpu(pgpt->sizeof_partition_entry),
+                      le32_to_cpu(agpt->sizeof_partition_entry));
+               error_found++;
+       }
+       if (le32_to_cpu(pgpt->partition_entry_array_crc32) !=
+            le32_to_cpu(agpt->partition_entry_array_crc32)) {
+               fprintf(stderr,
+                      "GPT:partition_entry_array_crc32 values don't match: "
+                      "0x%x != 0x%x\n",
+                      le32_to_cpu(pgpt->partition_entry_array_crc32),
+                      le32_to_cpu(agpt->partition_entry_array_crc32));
+               error_found++;
+       }
+       if (le64_to_cpu(pgpt->alternate_lba) != lastlba) {
+               fprintf(stderr,
+                      "GPT:Primary header thinks Alt. header is not at the end of the disk.\n");
+               fprintf(stderr,  "GPT:%" PRIx64 " != %" PRIx64 "\n",
+                      le64_to_cpu(pgpt->alternate_lba), lastlba);
+               error_found++;
+       }
+
+       if (le64_to_cpu(agpt->my_lba) != lastlba) {
+               fprintf(stderr,
+                      "GPT:Alternate GPT header not at the end of the disk.\n");
+               fprintf(stderr,  "GPT:%" PRIx64 " != %" PRIx64 "\n",
+                      le64_to_cpu(agpt->my_lba), lastlba);
+               error_found++;
+       }
+
+       if (error_found)
+               fprintf(stderr,
+                      "GPT: Use GNU Parted to correct GPT errors.\n");
+       return;
+}
+
+/**
+ * find_valid_gpt() - Search disk for valid GPT headers and PTEs
+ * @fd  is an open file descriptor to the whole disk
+ * @gpt is a GPT header ptr, filled on return.
+ * @ptes is a PTEs ptr, filled on return.
+ * Description: Returns 1 if valid, 0 on error.
+ * If valid, returns pointers to newly allocated GPT header and PTEs.
+ * Validity depends on finding either the Primary GPT header and PTEs valid,
+ * or the Alternate GPT header and PTEs valid, and the PMBR valid.
+ */
+static int
+find_valid_gpt(int fd, gpt_header ** gpt, gpt_entry ** ptes)
+{
+        extern int force_gpt;
+       int good_pgpt = 0, good_agpt = 0, good_pmbr = 0;
+       gpt_header *pgpt = NULL, *agpt = NULL;
+       gpt_entry *pptes = NULL, *aptes = NULL;
+       legacy_mbr *legacymbr = NULL;
+       uint64_t lastlba;
+       if (!gpt || !ptes)
+               return 0;
+
+       lastlba = last_lba(fd);
+       good_pgpt = is_gpt_valid(fd, GPT_PRIMARY_PARTITION_TABLE_LBA,
+                                &pgpt, &pptes);
+        if (good_pgpt) {
+               good_agpt = is_gpt_valid(fd,
+                                         le64_to_cpu(pgpt->alternate_lba),
+                                        &agpt, &aptes);
+                if (!good_agpt) {
+                        good_agpt = is_gpt_valid(fd, lastlba,
+                                                 &agpt, &aptes);
+                }
+        }
+        else {
+                good_agpt = is_gpt_valid(fd, lastlba,
+                                         &agpt, &aptes);
+        }
+
+        /* The obviously unsuccessful case */
+        if (!good_pgpt && !good_agpt) {
+                goto fail;
+        }
+
+       /* This will be added to the EFI Spec. per Intel after v1.02. */
+        legacymbr = malloc(sizeof (*legacymbr));
+        if (legacymbr) {
+                memset(legacymbr, 0, sizeof (*legacymbr));
+                read_lba(fd, 0, (uint8_t *) legacymbr,
+                         sizeof (*legacymbr));
+                good_pmbr = is_pmbr_valid(legacymbr);
+                free(legacymbr);
+                legacymbr=NULL;
+        }
+
+        /* Failure due to bad PMBR */
+        if ((good_pgpt || good_agpt) && !good_pmbr && !force_gpt) {
+                fprintf(stderr,
+                       "  Warning: Disk has a valid GPT signature "
+                       "but invalid PMBR.\n"
+                       "  Assuming this disk is *not* a GPT disk anymore.\n"
+                       "  Use gpt kernel option to override.  "
+                       "Use GNU Parted to correct disk.\n");
+                goto fail;
+        }
+
+        /* Would fail due to bad PMBR, but force GPT anyhow */
+        if ((good_pgpt || good_agpt) && !good_pmbr && force_gpt) {
+                fprintf(stderr, 
+                       "  Warning: Disk has a valid GPT signature but "
+                       "invalid PMBR.\n"
+                       "  Use GNU Parted to correct disk.\n"
+                       "  gpt option taken, disk treated as GPT.\n");
+        }
+
+        compare_gpts(pgpt, agpt, lastlba);
+
+        /* The good cases */
+        if (good_pgpt && (good_pmbr || force_gpt)) {
+                *gpt  = pgpt;
+                *ptes = pptes;
+                if (agpt)  { free(agpt);   agpt = NULL; }
+                if (aptes) { free(aptes); aptes = NULL; }
+                if (!good_agpt) {
+                        fprintf(stderr, 
+                              "Alternate GPT is invalid, "
+                               "using primary GPT.\n");
+                }
+                return 1;
+        }
+        else if (good_agpt && (good_pmbr || force_gpt)) {
+                *gpt  = agpt;
+                *ptes = aptes;
+                if (pgpt)  { free(pgpt);   pgpt = NULL; }
+                if (pptes) { free(pptes); pptes = NULL; }
+                fprintf(stderr, 
+                       "Primary GPT is invalid, using alternate GPT.\n");
+                return 1;
+        }
+
+ fail:
+        if (pgpt)  { free(pgpt);   pgpt=NULL; }
+        if (agpt)  { free(agpt);   agpt=NULL; }
+        if (pptes) { free(pptes); pptes=NULL; }
+        if (aptes) { free(aptes); aptes=NULL; }
+        *gpt = NULL;
+        *ptes = NULL;
+        return 0;
+}
+
+/**
+ * read_gpt_pt() 
+ * @fd
+ * @all - slice with start/size of whole disk
+ *
+ *  0 if this isn't our partition table
+ *  number of partitions if successful
+ *
+ */
+int
+read_gpt_pt (int fd, struct slice all, struct slice *sp, int ns)
+{
+       gpt_header *gpt = NULL;
+       gpt_entry *ptes = NULL;
+       uint32_t i;
+       int n = 0;
+        int last_used_index=-1;
+
+       if (!find_valid_gpt (fd, &gpt, &ptes) || !gpt || !ptes) {
+               free (gpt);
+               free (ptes);
+               return 0;
+       }
+
+       for (i = 0; i < le32_to_cpu(gpt->num_partition_entries) && i < ns; i++) {
+               if (!efi_guidcmp (NULL_GUID, ptes[i].partition_type_guid)) {
+                       sp[n].start = 0;
+                       sp[n].size = 0;
+                       n++;
+               } else {
+                       sp[n].start = le64_to_cpu(ptes[i].starting_lba);
+                       sp[n].size  = le64_to_cpu(ptes[i].ending_lba) -
+                               le64_to_cpu(ptes[i].starting_lba) + 1;
+                        last_used_index=n;
+                       n++;
+               }
+       }
+       free (ptes);
+       free (gpt);
+       return last_used_index+1;
+}
diff --git a/partx/gpt.h b/partx/gpt.h
new file mode 100644 (file)
index 0000000..39814b5
--- /dev/null
@@ -0,0 +1,131 @@
+/*
+    gpt.[ch]
+
+    Copyright (C) 2000-2001 Dell Computer Corporation <Matt_Domsch@dell.com> 
+
+    EFI GUID Partition Table handling
+    Per Intel EFI Specification v1.02
+    http://developer.intel.com/technology/efi/efi.htm
+
+    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
+*/
+
+#ifndef _GPT_H
+#define _GPT_H
+
+
+#include <inttypes.h>
+#include "partx.h"
+#include "dos.h"
+#include "efi.h"
+
+#define EFI_PMBR_OSTYPE_EFI 0xEF
+#define EFI_PMBR_OSTYPE_EFI_GPT 0xEE
+#define MSDOS_MBR_SIGNATURE 0xaa55
+#define GPT_BLOCK_SIZE 512
+
+#define GPT_HEADER_SIGNATURE 0x5452415020494645ULL
+#define GPT_HEADER_REVISION_V1_02 0x00010200
+#define GPT_HEADER_REVISION_V1_00 0x00010000
+#define GPT_HEADER_REVISION_V0_99 0x00009900
+#define GPT_PRIMARY_PARTITION_TABLE_LBA 1
+
+typedef struct _gpt_header {
+       uint64_t signature;
+       uint32_t revision;
+       uint32_t header_size;
+       uint32_t header_crc32;
+       uint32_t reserved1;
+       uint64_t my_lba;
+       uint64_t alternate_lba;
+       uint64_t first_usable_lba;
+       uint64_t last_usable_lba;
+       efi_guid_t disk_guid;
+       uint64_t partition_entry_lba;
+       uint32_t num_partition_entries;
+       uint32_t sizeof_partition_entry;
+       uint32_t partition_entry_array_crc32;
+       uint8_t reserved2[GPT_BLOCK_SIZE - 92];
+} __attribute__ ((packed)) gpt_header;
+
+typedef struct _gpt_entry_attributes {
+       uint64_t required_to_function:1;
+       uint64_t reserved:47;
+        uint64_t type_guid_specific:16;
+} __attribute__ ((packed)) gpt_entry_attributes;
+
+typedef struct _gpt_entry {
+       efi_guid_t partition_type_guid;
+       efi_guid_t unique_partition_guid;
+       uint64_t starting_lba;
+       uint64_t ending_lba;
+       gpt_entry_attributes attributes;
+       efi_char16_t partition_name[72 / sizeof(efi_char16_t)];
+} __attribute__ ((packed)) gpt_entry;
+
+
+/* 
+   These values are only defaults.  The actual on-disk structures
+   may define different sizes, so use those unless creating a new GPT disk!
+*/
+
+#define GPT_DEFAULT_RESERVED_PARTITION_ENTRY_ARRAY_SIZE 16384
+/* 
+   Number of actual partition entries should be calculated
+   as: 
+*/
+#define GPT_DEFAULT_RESERVED_PARTITION_ENTRIES \
+        (GPT_DEFAULT_RESERVED_PARTITION_ENTRY_ARRAY_SIZE / \
+         sizeof(gpt_entry))
+
+
+/* Protected Master Boot Record  & Legacy MBR share same structure */
+/* Needs to be packed because the u16s force misalignment. */
+
+typedef struct _legacy_mbr {
+       uint8_t bootcode[440];
+       uint32_t unique_mbr_signature;
+       uint16_t unknown;
+       struct partition partition[4];
+       uint16_t signature;
+} __attribute__ ((packed)) legacy_mbr;
+
+
+#define EFI_GPT_PRIMARY_PARTITION_TABLE_LBA 1
+
+/* Functions */
+int read_gpt_pt (int fd, struct slice all, struct slice *sp, int ns);
+
+
+#endif
+
+/*
+ * Overrides for Emacs so that we follow Linus's tabbing style.
+ * Emacs will notice this stuff at the end of the file and automatically
+ * adjust the settings for this buffer only.  This must remain at the end
+ * of the file.
+ * ---------------------------------------------------------------------------
+ * Local variables:
+ * c-indent-level: 4 
+ * c-brace-imaginary-offset: 0
+ * c-brace-offset: -4
+ * c-argdecl-indent: 4
+ * c-label-offset: -4
+ * c-continued-statement-offset: 4
+ * c-continued-brace-offset: 0
+ * indent-tabs-mode: nil
+ * tab-width: 8
+ * End:
+ */
diff --git a/partx/partx.8 b/partx/partx.8
new file mode 100644 (file)
index 0000000..c6d04c8
--- /dev/null
@@ -0,0 +1,56 @@
+.\" partx.8 --
+.\" Copyright 2007 Karel Zak <kzak@redhat.com>
+.\" Copyright 2007 Red Hat, Inc.
+.\" May be distributed under the GNU General Public License
+.TH PARTX 8 "11 Jan 2007"
+.SH NAME
+partx \-
+telling the kernel about presence and numbering of on-disk partitions.
+.SH SYNOPSIS
+.B partx
+.RB [ \-a | \-d | \-l ]
+.RB [ \-\-type
+.IR TYPE ]
+.RB [ \-\-nr
+.IR M-N ]
+.RI [ partition ]
+.I disk
+.SH DESCRIPTION
+Given a block device (
+.B disk
+) and a partition table
+.B type
+, try to parse the partition table, and list the
+contents. Optionally add or remove 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.
+
+.SH OPTIONS
+.TP
+.B \-a
+add specified partitions or read disk and add all partitions
+.TP
+.B \-d
+delete specified or all partitions
+.TP
+.B \-l
+list partitions. Note that the all numbers are in 512-byte sectors.
+.TP
+.BI --type " TYPE"
+Specify the partition type -- dos, bsd, solaris, unixware or gpt.
+.TP
+.BI --nr " M-N"
+Specify the range of partitions (e.g --nr 2-4).
+
+.SH SEE ALSO
+.BR addpart (8),
+.BR delpart (8),
+.BR fdisk (8),
+.BR parted (8),
+.BR partprobe (8)
+
+.SH AVAILABILITY
+The partx command is part of the util-linux-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/partx/partx.c b/partx/partx.c
new file mode 100644 (file)
index 0000000..25485ff
--- /dev/null
@@ -0,0 +1,398 @@
+/*
+ * Given a block device and a partition table type,
+ * try to parse the partition table, and list the
+ * contents. Optionally add or remove 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.]
+ *
+ * Call:
+ *     partx [-{l|a|d}] [--type TYPE] [--nr M-N] [partition] wholedisk
+ * where TYPE is {dos|bsd|solaris|unixware|gpt}.
+ *
+ * Read wholedisk and add all partitions:
+ *     partx -a wholedisk
+ *
+ * Subdivide a partition into slices (and delete or shrink the partition):
+ * [Not easy: one needs the partition number of partition -
+ *  that is the last 4 or 6 bits of the minor; it can also be found
+ *  in /proc/partitions; but there is no good direct way.]
+ *     partx -a partition wholedisk
+ *
+ * Delete all partitions from wholedisk:
+ *     partx -d wholedisk
+ *
+ * Delete partitions M-N from wholedisk:
+ *     partx -d --nr M-N wholedisk
+ *
+ * aeb, 2000-03-21 -- sah is 42 now
+ */
+
+#include <stdio.h>
+#include <fcntl.h>
+#include <errno.h>
+#include <stdlib.h>
+#include <string.h>
+#include <getopt.h>
+#include <unistd.h>
+#include <sys/ioctl.h>
+#include <linux/hdreg.h>        /* HDIO_GETGEO */
+#ifdef HAVE_LINUX_COMPILER_H
+#include <linux/compiler.h>
+#endif
+#include <linux/blkpg.h>
+
+#include "blkdev.h"
+
+#include "partx.h"
+#include "crc32.h"
+static void errmerge(int err, int m, char *msg1, char *msg2);
+
+#define SIZE(a) (sizeof(a)/sizeof((a)[0]))
+
+#define MAXTYPES       64
+#define MAXSLICES      256
+
+struct slice slices[MAXSLICES];
+
+enum action { LIST, ADD, DELETE };
+
+struct pt {
+       char *type;
+       ptreader *fn;
+} pts[MAXTYPES];
+int ptct;
+
+static void
+addpts(char *t, ptreader f)
+{
+       if (ptct >= MAXTYPES) {
+               fprintf(stderr, "addpts: too many types\n");
+               exit(1);
+       }
+       pts[ptct].type = t;
+       pts[ptct].fn = f;
+       ptct++;
+}
+
+static void
+initpts(void)
+{
+       addpts("gpt", read_gpt_pt);
+       addpts("dos", read_dos_pt);
+       addpts("bsd", read_bsd_pt);
+       addpts("solaris", read_solaris_pt);
+       addpts("unixware", read_unixware_pt);
+}
+
+static char short_opts[] = "ladgvn:t:";
+static const struct option long_opts[] = {
+       { "gpt",        no_argument,            NULL,   'g' },
+       { "type",       required_argument,      NULL,   't' },
+       { "nr",         required_argument,      NULL,   'n' },
+       { NULL, 0, NULL, 0 }
+};
+
+/* Used in gpt.c */
+int force_gpt=0;
+
+int
+main(int argc, char **argv){
+        int fd, fd2, c, i, j, k, n;
+       unsigned long long size;
+       struct hd_geometry g;
+       struct slice all;
+        struct blkpg_ioctl_arg a;
+        struct blkpg_partition pt;
+       struct pt *ptp;
+       enum action what = LIST;
+       char *p, *type, *diskdevice, *device;
+       int lower, upper;
+       int verbose = 0;
+       int ret = 0;
+
+       initpts();
+       init_crc32();
+
+       lower = upper = 0;
+       type = device = diskdevice = NULL;
+
+       while ((c = getopt_long (argc, argv, short_opts, long_opts, NULL))
+               != -1) switch(c) {
+       case 'l':
+               what = LIST; break;
+       case 'a':
+               what = ADD; break;
+       case 'd':
+               what = DELETE; break;
+       case 'g':
+               force_gpt = 1; break;
+       case 'n':
+               p = optarg;
+               lower = atoi(p);
+               p = strchr(p, '-');
+               if (p)
+                       upper = atoi(p+1);
+               else
+                       upper = lower;
+               break;
+       case 't':
+               type = optarg;
+               break;
+       case 'v':
+               verbose = 1;
+               break;
+       case '?':
+       default:
+               fprintf(stderr, "unknown option\n");
+               exit(1);
+       }
+
+       if (optind == argc-2) {
+               device = argv[optind];
+               diskdevice = argv[optind+1];
+       } else if (optind == argc-1) {
+               diskdevice = device = argv[optind];
+       } else {
+               fprintf(stderr, "call: partx -opts [device] wholedisk\n");
+               exit(1);
+       }
+
+       fd = open(diskdevice, O_RDONLY);
+       if (fd == -1) {
+               perror(diskdevice);
+               exit(1);
+       }
+
+       /* remove the indicated partitions from the kernel partition tables */
+       if (what == DELETE) {
+               if (device != diskdevice) {
+                       fprintf(stderr,
+                               "call: partx -d [--nr M-N] wholedisk\n");
+                       exit(1);
+               }
+
+               if (!lower)
+                       lower = 1;
+
+               while (upper == 0 || lower <= upper) {
+                       int err;
+
+                       pt.pno = lower;
+                       pt.start = 0;
+                       pt.length = 0;
+                       pt.devname[0] = 0;
+                       pt.volname[0] = 0;
+                       a.op = BLKPG_DEL_PARTITION;
+                       a.flags = 0;
+                       a.datalen = sizeof(pt);
+                       a.data = &pt;
+                       if (ioctl(fd, BLKPG, &a) == -1)
+                           err = errno;
+                       else
+                           err = 0;
+                       errmerge(err, lower,
+                                "error deleting partition %d: ",
+                                "error deleting partitions %d-%d: ");
+                       /* expected errors:
+                          EBUSY: mounted or in use as swap
+                          ENXIO: no such nonempty partition
+                          EINVAL: not wholedisk, or bad pno
+                          EACCES/EPERM: permission denied
+                       */
+                       if (err && err != EBUSY && err != ENXIO) {
+                               ret = 1;
+                               break;
+                       }
+                       if (err == 0 && verbose)
+                               printf("deleted partition %d\n", lower);
+                       lower++;
+               }
+               errmerge(0, 0,
+                        "error deleting partition %d: ",
+                        "error deleting partitions %d-%d: ");
+               return ret;
+       }
+
+       if (device != diskdevice) {
+               fd2 = open(device, O_RDONLY);
+               if (fd2 == -1) {
+                       perror(device);
+                       exit(1);
+               }
+       } else {
+               fd2 = fd;
+       }
+
+       if (ioctl(fd, HDIO_GETGEO, &g)) {
+               perror("HDIO_GETGEO");
+               exit(1);
+       }
+       if (g.start != 0) {
+               fprintf(stderr, "last arg is not the whole disk\n");
+               fprintf(stderr, "call: partx -opts device wholedisk\n");
+               exit(1);
+       }
+
+       if (ioctl(fd2, HDIO_GETGEO, &g)) {
+               perror("HDIO_GETGEO");
+               exit(1);
+       }
+       all.start = g.start;
+
+       if (blkdev_get_sectors(fd2, &size) != 0) {
+               perror("partx");
+               exit(1);
+       }
+       all.size = (unsigned int) size;
+
+       if (verbose)
+               printf("device %s: start %d size %d\n",
+                      device, all.start, all.size);
+
+       if (all.size == 0) {
+               fprintf(stderr, "That disk slice has size 0\n");
+               exit(0);
+       }
+       if (all.size == 2)
+               all.size = 0;   /* probably extended partition */
+
+       /* add the indicated partitions to the kernel partition tables */
+       if (!lower)
+               lower = 1;
+       for (i = 0; i < ptct; i++) {
+               ptp = &pts[i];
+               if (!type || !strcmp(type, ptp->type)) {
+                       n = ptp->fn(fd, all, slices, SIZE(slices));
+                       if (n >= 0 && verbose)
+                           printf("%s: %d slices\n", ptp->type, n);
+                       if (n > 0 && (verbose || what == LIST)) {
+                           for (j=0; j<n; j++)
+                               printf("#%2d: %9d-%9d (%9d sectors, %6d MB)\n",
+                                      lower+j,
+                                      slices[j].start,
+                                      slices[j].start+slices[j].size-1,
+                                      slices[j].size,
+                                      (int)((512 * (long long) slices[j].size)
+                                       / 1000000));
+                       }
+                       if (n > 0 && what == ADD) {
+                           /* test for overlap, as in the case of an
+                              extended partition, and reduce size */
+                           for (j=0; j<n; j++) {
+                               for (k=j+1; k<n; k++) {
+                                   if (slices[k].start > slices[j].start &&
+                                       slices[k].start < slices[j].start +
+                                       slices[j].size) {
+                                           slices[j].size = slices[k].start -
+                                               slices[j].start;
+                                           if (verbose)
+                                               printf("reduced size of "
+                                                      "partition #%d to %d\n",
+                                                      lower+j,
+                                                      slices[j].size);
+                                   }
+                               }
+                           }
+                           for (j=0; j<n; j++) {
+                               pt.pno = lower+j;
+                               pt.start = 512 * (long long) slices[j].start;
+                               pt.length = 512 * (long long) slices[j].size;
+                               pt.devname[0] = 0;
+                               pt.volname[0] = 0;
+                               a.op = BLKPG_ADD_PARTITION;
+                               a.flags = 0;
+                               a.datalen = sizeof(pt);
+                               a.data = &pt;
+                               if (ioctl(fd, BLKPG, &a) == -1) {
+                                   perror("BLKPG");
+                                   fprintf(stderr,
+                                           "error adding partition %d\n",
+                                           lower+j);
+                               } else if (verbose)
+                                   printf("added partition %d\n", lower+j);
+                           }
+                       }
+               }
+       }
+
+       return 0;
+}
+
+static void *
+xmalloc (size_t size) {
+       void *t;
+
+       if (size == 0)
+               return NULL;
+       t = malloc (size);
+       if (t == NULL) {
+               fprintf(stderr, "Out of memory\n");
+               exit(1);
+       }
+       return t;
+}
+
+static int
+sseek(int fd, unsigned int secnr) {
+       long long in, out;
+       in = ((long long) secnr << 9);
+       out = 1;
+
+       if ((out = lseek(fd, in, SEEK_SET)) != in)
+       {
+               fprintf(stderr, "lseek error\n");
+               return -1;
+       }
+       return 0;
+}
+
+static
+struct block {
+       unsigned int secnr;
+       unsigned char *block;
+       struct block *next;
+} *blockhead;
+
+unsigned char *
+getblock(int fd, unsigned int secnr) {
+       struct block *bp;
+
+       for (bp = blockhead; bp; bp = bp->next)
+               if (bp->secnr == secnr)
+                       return bp->block;
+       if (sseek(fd, secnr))
+               return NULL;
+       bp = xmalloc(sizeof(struct block));
+       bp->secnr = secnr;
+       bp->next = blockhead;
+       blockhead = bp;
+       bp->block = (unsigned char *) xmalloc(1024);
+       if (read(fd, bp->block, 1024) != 1024) {
+               fprintf(stderr, "read error, sector %d\n", secnr);
+               bp->block = NULL;
+       }
+       return bp->block;
+}
+
+/* call with errno and integer m and error message */
+/* merge to interval m-n */
+static void
+errmerge(int err, int m, char *msg1, char *msg2) {
+       static int preverr, firstm, prevm;
+
+       if (err != preverr) {
+               if (preverr) {
+                       if (firstm == prevm)
+                               fprintf(stderr, msg1, firstm);
+                       else
+                               fprintf(stderr, msg2, firstm, prevm);
+                       errno = preverr;
+                       perror("BLKPG");
+               }
+               preverr = err;
+               firstm = prevm = m;
+       } else
+               prevm = m;
+}
diff --git a/partx/partx.h b/partx/partx.h
new file mode 100644 (file)
index 0000000..d98d77a
--- /dev/null
@@ -0,0 +1,31 @@
+#ifndef PARTX_H_INCLUDED
+#define PARTX_H_INCLUDED
+
+/*
+ * For each partition type there is a routine that takes
+ * a block device and a range, and returns the list of
+ * slices found there in the supplied array SP that can
+ * hold NS entries. The return value is the number of
+ * entries stored, or -1 if the appropriate type is not
+ * present.
+ */
+
+
+/* units: 512 byte sectors */
+struct slice {
+       unsigned int start;
+       unsigned int size;
+};
+
+typedef int (ptreader)(int fd, struct slice all, struct slice *sp, int ns);
+
+extern ptreader read_dos_pt, read_bsd_pt, read_solaris_pt, read_unixware_pt, read_gpt_pt;
+
+unsigned char *getblock(int fd, unsigned int secnr);
+
+static inline int
+four2int(unsigned char *p) {
+       return p[0] + (p[1]<<8) + (p[2]<<16) + (p[3]<<24);
+}
+
+#endif /* PARTX_H_INCLUDED */
diff --git a/partx/solaris.c b/partx/solaris.c
new file mode 100644 (file)
index 0000000..24075ae
--- /dev/null
@@ -0,0 +1,69 @@
+#include <stdio.h>
+#include <time.h>              /* time_t */
+#include <sys/types.h>
+#include "partx.h"
+
+#define SOLARIS_X86_NUMSLICE   8
+#define SOLARIS_X86_VTOC_SANE  (0x600DDEEEUL)
+
+struct solaris_x86_slice {
+       unsigned short  s_tag;          /* ID tag of partition */
+       unsigned short  s_flag;         /* permision flags */
+       daddr_t         s_start;        /* start sector no of partition */
+       long            s_size;         /* # of blocks in partition */
+};
+
+struct solaris_x86_vtoc {
+       unsigned long v_bootinfo[3];    /* info for mboot */
+       unsigned long v_sanity;         /* to verify vtoc sanity */
+       unsigned long v_version;        /* layout version */
+       char    v_volume[8];            /* volume name */
+       unsigned short  v_sectorsz;     /* sector size in bytes */
+       unsigned short  v_nparts;       /* number of partitions */
+       unsigned long v_reserved[10];   /* free space */
+       struct solaris_x86_slice
+               v_slice[SOLARIS_X86_NUMSLICE];   /* slice headers */
+       time_t  timestamp[SOLARIS_X86_NUMSLICE]; /* timestamp */
+       char    v_asciilabel[128];      /* for compatibility */
+};
+
+int
+read_solaris_pt(int fd, struct slice all, struct slice *sp, int ns) {
+       struct solaris_x86_vtoc *v;
+       struct solaris_x86_slice *s;
+       unsigned int offset = all.start;
+       int i, n;
+       unsigned char *bp;
+
+       bp = getblock(fd, offset+1);    /* 1 sector suffices */
+       if (bp == NULL)
+               return -1;
+
+       v = (struct solaris_x86_vtoc *) bp;
+       if(v->v_sanity != SOLARIS_X86_VTOC_SANE)
+               return -1;
+
+       if(v->v_version != 1) {
+               fprintf(stderr, "Cannot handle solaris version %ld vtoc\n",
+                      v->v_version);
+               return 0;
+       }
+
+       for(i=0, n=0; i<SOLARIS_X86_NUMSLICE; i++) {
+               s = &v->v_slice[i];
+
+               if (s->s_size == 0)
+                       continue;
+               if (n < ns) {
+                       sp[n].start = offset + s->s_start;
+                       sp[n].size = s->s_size;
+                       n++;
+               } else {
+                       fprintf(stderr,
+                               "solaris_x86_partition: too many slices\n");
+                       break;
+               }
+       }
+       return n;
+}
+
diff --git a/partx/unixware.c b/partx/unixware.c
new file mode 100644 (file)
index 0000000..c131475
--- /dev/null
@@ -0,0 +1,83 @@
+#include <stdio.h>
+#include "partx.h"
+
+#define UNIXWARE_FS_UNUSED     0
+#define UNIXWARE_NUMSLICE      16
+#define UNIXWARE_DISKMAGIC     (0xCA5E600D)
+#define UNIXWARE_DISKMAGIC2    (0x600DDEEE)
+
+struct unixware_slice {
+       unsigned short s_label;         /* label */
+       unsigned short s_flags;         /* permission flags */
+       unsigned int   start_sect;      /* starting sector */
+       unsigned int   nr_sects;        /* number of sectors in slice */
+};
+
+struct unixware_disklabel {
+       unsigned int   d_type;          /* drive type */
+       unsigned char  d_magic[4];      /* the magic number */
+       unsigned int   d_version;       /* version number */
+       char    d_serial[12];           /* serial number of the device */
+       unsigned int   d_ncylinders;    /* # of data cylinders per device */
+       unsigned int   d_ntracks;       /* # of tracks per cylinder */
+       unsigned int   d_nsectors;      /* # of data sectors per track */
+       unsigned int   d_secsize;       /* # of bytes per sector */
+       unsigned int   d_part_start;    /* # of first sector of this partition */
+       unsigned int   d_unknown1[12];  /* ? */
+       unsigned int   d_alt_tbl;       /* byte offset of alternate table */
+       unsigned int   d_alt_len;       /* byte length of alternate table */
+       unsigned int   d_phys_cyl;      /* # of physical cylinders per device */
+       unsigned int   d_phys_trk;      /* # of physical tracks per cylinder */
+       unsigned int   d_phys_sec;      /* # of physical sectors per track */
+       unsigned int   d_phys_bytes;    /* # of physical bytes per sector */
+       unsigned int   d_unknown2;      /* ? */
+       unsigned int   d_unknown3;      /* ? */
+       unsigned int   d_pad[8];        /* pad */
+
+       struct unixware_vtoc {
+               unsigned char   v_magic[4];     /* the magic number */
+               unsigned int    v_version;      /* version number */
+               char    v_name[8];              /* volume name */
+               unsigned short  v_nslices;      /* # of slices */
+               unsigned short  v_unknown1;     /* ? */
+               unsigned int    v_reserved[10]; /* reserved */
+               struct unixware_slice
+                   v_slice[UNIXWARE_NUMSLICE]; /* slice headers */
+       } vtoc;
+
+};  /* 408 */
+
+int
+read_unixware_pt(int fd, struct slice all, struct slice *sp, int ns) {
+       struct unixware_disklabel *l;
+       struct unixware_slice *p;
+       unsigned int offset = all.start;
+       unsigned char *bp;
+       int n = 0;
+
+       bp = getblock(fd, offset+29);   /* 1 sector suffices */
+       if (bp == NULL)
+               return -1;
+
+       l = (struct unixware_disklabel *) bp;
+       if (four2int(l->d_magic) != UNIXWARE_DISKMAGIC ||
+           four2int(l->vtoc.v_magic) != UNIXWARE_DISKMAGIC2)
+               return -1;
+
+       p = &l->vtoc.v_slice[1];        /* slice 0 is the whole disk. */
+       while (p - &l->vtoc.v_slice[0] < UNIXWARE_NUMSLICE) {
+               if (p->s_label == UNIXWARE_FS_UNUSED)
+                       /* nothing */;
+               else if (n < ns) {
+                       sp[n].start = p->start_sect;
+                       sp[n].size = p->nr_sects;
+                       n++;
+               } else {
+                       fprintf(stderr,
+                               "unixware_partition: too many slices\n");
+                       break;
+               }
+               p++;
+       }
+       return n;
+}
diff --git a/po/Makefile.in.in b/po/Makefile.in.in
new file mode 100644 (file)
index 0000000..53efc5e
--- /dev/null
@@ -0,0 +1,366 @@
+# 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@
+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 (file)
index 0000000..f6e320c
--- /dev/null
@@ -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_
+
+# 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 = Karel Zak <kzak@redhat.com>
+
+# 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 (file)
index 0000000..96655a7
--- /dev/null
@@ -0,0 +1,200 @@
+disk-utils/blockdev.c
+disk-utils/cramfs_common.c
+disk-utils/elvtune.c
+disk-utils/fdformat.c
+disk-utils/fsck.cramfs.c
+disk-utils/fsck.minix.c
+disk-utils/isosize.c
+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/raw.c
+fdisk/cfdisk.c
+fdisk/fdiskaixlabel.c
+fdisk/fdiskbsdlabel.c
+fdisk/fdisk.c
+fdisk/fdiskmaclabel.c
+fdisk/fdisksgilabel.c
+fdisk/fdisksunlabel.c
+fdisk/gpt.c
+fdisk/i386_sys_types.c
+fdisk/partitiontype.c
+fdisk/partname.c
+fdisk/sfdisk.c
+fsck/base_device.c
+fsck/fsck.c
+getopt/getopt.c
+hwclock/clock-ppc.c
+hwclock/cmos.c
+hwclock/hwclock.c
+hwclock/kd.c
+hwclock/rtc.c
+lib/blkdev.c
+lib/canonicalize.c
+lib/env.c
+lib/fsprobe.c
+lib/ismounted.c
+lib/linux_version.c
+lib/md5.c
+lib/pttype.c
+lib/setproctitle.c
+lib/wholedisk.c
+login-utils/agetty.c
+login-utils/checktty.c
+login-utils/chfn.c
+login-utils/chsh.c
+login-utils/initctl.c
+login-utils/islocal.c
+login-utils/last.c
+login-utils/login.c
+login-utils/mesg.c
+login-utils/newgrp.c
+login-utils/selinux_utils.c
+login-utils/setpwnam.c
+login-utils/shutdown.c
+login-utils/simpleinit.c
+login-utils/ttymsg.c
+login-utils/vipw.c
+login-utils/wall.c
+misc-utils/blkid.c
+misc-utils/cal.c
+misc-utils/ddate.c
+misc-utils/findfs.c
+misc-utils/kill.c
+misc-utils/logger.c
+misc-utils/look.c
+misc-utils/mcookie.c
+misc-utils/namei.c
+misc-utils/procs.c
+misc-utils/rename.c
+misc-utils/script.c
+misc-utils/scriptreplay.c
+misc-utils/setterm.c
+misc-utils/uuidd.c
+misc-utils/uuidgen.c
+misc-utils/whereis.c
+misc-utils/write.c
+mount/devname.c
+mount/fstab.c
+mount/getusername.c
+mount/lomount.c
+mount/mount.c
+mount/mount_mntent.c
+mount/sundries.c
+mount/swapon.c
+mount/umount.c
+mount/xmalloc.c
+partx/addpart.c
+partx/bsd.c
+partx/crc32.c
+partx/delpart.c
+partx/dos.c
+partx/gpt.c
+partx/partx.c
+partx/solaris.c
+partx/unixware.c
+schedutils/chrt.c
+schedutils/ionice.c
+schedutils/taskset.c
+shlibs/blkid/src/cache.c
+shlibs/blkid/src/config.c
+shlibs/blkid/src/dev.c
+shlibs/blkid/src/devname.c
+shlibs/blkid/src/devno.c
+shlibs/blkid/src/encode.c
+shlibs/blkid/src/evaluate.c
+shlibs/blkid/src/getsize.c
+shlibs/blkid/src/llseek.c
+shlibs/blkid/src/probe.c
+shlibs/blkid/src/probers/adaptec_raid.c
+shlibs/blkid/src/probers/btrfs.c
+shlibs/blkid/src/probers/cramfs.c
+shlibs/blkid/src/probers/ddf_raid.c
+shlibs/blkid/src/probers/ext.c
+shlibs/blkid/src/probers/gfs.c
+shlibs/blkid/src/probers/hfs.c
+shlibs/blkid/src/probers/highpoint_raid.c
+shlibs/blkid/src/probers/hpfs.c
+shlibs/blkid/src/probers/iso9660.c
+shlibs/blkid/src/probers/isw_raid.c
+shlibs/blkid/src/probers/jfs.c
+shlibs/blkid/src/probers/jmicron_raid.c
+shlibs/blkid/src/probers/linux_raid.c
+shlibs/blkid/src/probers/lsi_raid.c
+shlibs/blkid/src/probers/luks.c
+shlibs/blkid/src/probers/lvm.c
+shlibs/blkid/src/probers/minix.c
+shlibs/blkid/src/probers/netware.c
+shlibs/blkid/src/probers/ntfs.c
+shlibs/blkid/src/probers/nvidia_raid.c
+shlibs/blkid/src/probers/ocfs.c
+shlibs/blkid/src/probers/promise_raid.c
+shlibs/blkid/src/probers/reiserfs.c
+shlibs/blkid/src/probers/romfs.c
+shlibs/blkid/src/probers/silicon_raid.c
+shlibs/blkid/src/probers/squashfs.c
+shlibs/blkid/src/probers/swap.c
+shlibs/blkid/src/probers/sysv.c
+shlibs/blkid/src/probers/udf.c
+shlibs/blkid/src/probers/ufs.c
+shlibs/blkid/src/probers/vfat.c
+shlibs/blkid/src/probers/via_raid.c
+shlibs/blkid/src/probers/vxfs.c
+shlibs/blkid/src/probers/xfs.c
+shlibs/blkid/src/probers/zfs.c
+shlibs/blkid/src/read.c
+shlibs/blkid/src/resolve.c
+shlibs/blkid/src/save.c
+shlibs/blkid/src/tag.c
+shlibs/blkid/src/tst_types.c
+shlibs/blkid/src/verify.c
+shlibs/blkid/src/version.c
+shlibs/uuid/src/clear.c
+shlibs/uuid/src/compare.c
+shlibs/uuid/src/copy.c
+shlibs/uuid/src/gen_uuid.c
+shlibs/uuid/src/gen_uuid_nt.c
+shlibs/uuid/src/isnull.c
+shlibs/uuid/src/pack.c
+shlibs/uuid/src/parse.c
+shlibs/uuid/src/tst_uuid.c
+shlibs/uuid/src/unpack.c
+shlibs/uuid/src/unparse.c
+shlibs/uuid/src/uuid_time.c
+sys-utils/arch.c
+sys-utils/ctrlaltdel.c
+sys-utils/cytune.c
+sys-utils/dmesg.c
+sys-utils/flock.c
+sys-utils/ipcmk.c
+sys-utils/ipcrm.c
+sys-utils/ipcs.c
+sys-utils/ldattach.c
+sys-utils/lscpu.c
+sys-utils/pivot_root.c
+sys-utils/rdev.c
+sys-utils/readprofile.c
+sys-utils/renice.c
+sys-utils/rtcwake.c
+sys-utils/setarch.c
+sys-utils/setsid.c
+sys-utils/switch_root.c
+sys-utils/tunelp.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/hexsyntax.c
+text-utils/line.c
+text-utils/more.c
+text-utils/odsyntax.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 (file)
index 0000000..9c2a995
--- /dev/null
@@ -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 (file)
index 0000000..4b937aa
--- /dev/null
@@ -0,0 +1,10 @@
+s/"\([^"]*\)"/“\1”/g
+s/`\([^`']*\)'/‘\1’/g
+s/ '\([^`']*\)' / ‘\1’ /g
+s/ '\([^`']*\)'$/ ‘\1’/g
+s/^'\([^`']*\)' /‘\1’ /g
+s/“”/""/g
+s/“/“\e[1m/g
+s/”/\e[0m”/g
+s/‘/‘\e[1m/g
+s/’/\e[0m’/g
diff --git a/po/ca.gmo b/po/ca.gmo
new file mode 100644 (file)
index 0000000..532feab
Binary files /dev/null and b/po/ca.gmo differ
diff --git a/po/ca.po b/po/ca.po
new file mode 100644 (file)
index 0000000..5e272e1
--- /dev/null
+++ b/po/ca.po
@@ -0,0 +1,12419 @@
+# 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: Karel Zak <kzak@redhat.com>\n"
+"POT-Creation-Date: 2009-11-30 16:27+0100\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"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: disk-utils/blockdev.c:37
+msgid "set read-only"
+msgstr "estableix a només lectura"
+
+#: disk-utils/blockdev.c:38
+msgid "set read-write"
+msgstr "estableix a lectura/escriptura"
+
+#: disk-utils/blockdev.c:39
+msgid "get read-only"
+msgstr "aconsegueix només lectura"
+
+#: disk-utils/blockdev.c:40
+msgid "get sectorsize"
+msgstr "aconsegueix la mida del sector"
+
+#: disk-utils/blockdev.c:41
+msgid "get blocksize"
+msgstr "aconsegueix la mida del bloc"
+
+#: disk-utils/blockdev.c:42
+msgid "set blocksize"
+msgstr "estableix la mida del bloc"
+
+#: disk-utils/blockdev.c:43
+msgid "get 32-bit sector count"
+msgstr "aconsegueix el compte de sectors de 32 bits"
+
+#: disk-utils/blockdev.c:44
+msgid "get size in bytes"
+msgstr "aconsegueix la mida en octets"
+
+#: disk-utils/blockdev.c:45
+msgid "set readahead"
+msgstr "estableix «readahead»"
+
+#: disk-utils/blockdev.c:46
+msgid "get readahead"
+msgstr "aconsegueix \"readahead\""
+
+#: disk-utils/blockdev.c:47
+#, fuzzy
+msgid "set filesystem readahead"
+msgstr "estableix «readahead»"
+
+#: disk-utils/blockdev.c:48
+#, fuzzy
+msgid "get filesystem readahead"
+msgstr "aconsegueix \"readahead\""
+
+#: disk-utils/blockdev.c:49
+msgid "flush buffers"
+msgstr "buida la memòria temporal"
+
+#: disk-utils/blockdev.c:51
+msgid "reread partition table"
+msgstr "torna a llegir la taula de particions"
+
+#: disk-utils/blockdev.c:60
+#, c-format
+msgid "Usage:\n"
+msgstr "Forma d'ús:\n"
+
+#: disk-utils/blockdev.c:62
+#, c-format
+msgid "  %s --report [devices]\n"
+msgstr "  %s --report [dispositius]\n"
+
+#: disk-utils/blockdev.c:63
+#, c-format
+msgid "  %s [-v|-q] commands devices\n"
+msgstr "  %s [-v|-q] ordres dispositius\n"
+
+#: disk-utils/blockdev.c:66
+#, c-format
+msgid "Available commands:\n"
+msgstr "Ordres disponibles:\n"
+
+#: disk-utils/blockdev.c:68
+#, fuzzy
+msgid "get size in 512-byte sectors"
+msgstr "aconsegueix la mida en octets"
+
+#: disk-utils/blockdev.c:201
+#, c-format
+msgid "%s: Unknown command: %s\n"
+msgstr "%s: Ordre desconeguda: %s\n"
+
+#: disk-utils/blockdev.c:213 disk-utils/blockdev.c:222
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s requereix un argument\n"
+
+#: disk-utils/blockdev.c:255
+#, fuzzy, c-format
+msgid "%s failed.\n"
+msgstr "la cerca ha fallat"
+
+#: disk-utils/blockdev.c:292
+#, c-format
+msgid "%s succeeded.\n"
+msgstr "%s s'ha completat amb èxit.\n"
+
+#: disk-utils/blockdev.c:310 disk-utils/blockdev.c:338
+#, c-format
+msgid "%s: cannot open %s\n"
+msgstr "%s: no es pot obrir %s\n"
+
+#: disk-utils/blockdev.c:355
+#, c-format
+msgid "%s: ioctl error on %s\n"
+msgstr "%s: s'ha produït un error d'ioctl en %s\n"
+
+#: disk-utils/blockdev.c:364
+#, fuzzy, c-format
+msgid "RO    RA   SSZ   BSZ   StartSec            Size   Device\n"
+msgstr "RO    RA   SSZ   BSZ   SectInici    Mida    Dispositiu\n"
+
+#: disk-utils/elvtune.c:48
+#, c-format
+msgid "usage:\n"
+msgstr "forma d'ús:\n"
+
+#: disk-utils/elvtune.c:53
+#, c-format
+msgid "\tNOTE: elvtune only works with 2.4 kernels\n"
+msgstr ""
+
+#: disk-utils/elvtune.c:104
+#, fuzzy, c-format
+msgid "parse error\n"
+msgstr "s'ha produït un error en cercar"
+
+#: disk-utils/elvtune.c:110
+#, 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:131
+#, 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:31
+#, c-format
+msgid "Formatting ... "
+msgstr "S'està formatant... "
+
+#: disk-utils/fdformat.c:49 disk-utils/fdformat.c:86
+#, c-format
+msgid "done\n"
+msgstr "fet\n"
+
+#: disk-utils/fdformat.c:60
+#, 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:80
+#, c-format
+msgid ""
+"bad data in cyl %d\n"
+"Continuing ... "
+msgstr ""
+"dades incorrectes al cilindre %d\n"
+"S'està continuant... "
+
+#: disk-utils/fdformat.c:96
+#, c-format
+msgid "usage: %s [ -n ] device\n"
+msgstr "forma d'ús: %s [ -n ] dispositiu\n"
+
+#: disk-utils/fdformat.c:118 disk-utils/fsck.minix.c:1282
+#: disk-utils/isosize.c:181 disk-utils/mkfs.bfs.c:115 disk-utils/mkfs.c:52
+#: disk-utils/mkfs.cramfs.c:813 disk-utils/mkfs.minix.c:571
+#: disk-utils/mkswap.c:461 misc-utils/ddate.c:179 misc-utils/rename.c:79
+#: misc-utils/script.c:147 sys-utils/readprofile.c:197
+#, c-format
+msgid "%s (%s)\n"
+msgstr "%s (%s)\n"
+
+#: disk-utils/fdformat.c:132
+#, c-format
+msgid "%s: not a block device\n"
+msgstr "%s: no és un dispositiu de bloc\n"
+
+#: disk-utils/fdformat.c:142
+msgid "Could not determine current format type"
+msgstr "No es pot determinar l'actual tipus de format"
+
+#: disk-utils/fdformat.c:143
+#, 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:144
+msgid "Double"
+msgstr "Doble"
+
+#: disk-utils/fdformat.c:144
+msgid "Single"
+msgstr "Simple"
+
+#: disk-utils/fsck.cramfs.c:118
+#, c-format
+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"
+
+#: disk-utils/fsck.cramfs.c:164
+#, fuzzy, c-format
+msgid "stat failed: %s"
+msgstr "(Fitxer següent: %s)"
+
+#: disk-utils/fsck.cramfs.c:168 disk-utils/fsck.cramfs.c:552
+#, fuzzy, c-format
+msgid "open failed: %s"
+msgstr "no ha estat possible executar openpty\n"
+
+#: disk-utils/fsck.cramfs.c:173
+#, 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:181
+#, 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:185 disk-utils/fsck.cramfs.c:227
+#, 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:190 disk-utils/fsck.cramfs.c:198
+#: disk-utils/fsck.cramfs.c:259 disk-utils/fsck.cramfs.c:279
+#, fuzzy, c-format
+msgid "read failed: %s"
+msgstr "(Fitxer següent: %s)"
+
+#: disk-utils/fsck.cramfs.c:208
+msgid "superblock magic not found"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:217
+#, fuzzy
+msgid "unsupported filesystem features"
+msgstr "Introduïu el tipus del sistema de fitxers: "
+
+#: disk-utils/fsck.cramfs.c:220
+#, fuzzy, c-format
+msgid "superblock size (%d) too small"
+msgstr "Nombre de sectors"
+
+#: disk-utils/fsck.cramfs.c:224
+msgid "zero file count"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:230
+#, 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:234
+#, 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:247
+msgid "unable to test CRC: old cramfs format"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:273 disk-utils/fsck.cramfs.c:340
+#: disk-utils/fsck.cramfs.c:478 login-utils/chfn.c:529 login-utils/chsh.c:439
+#: sys-utils/cytune.c:321
+msgid "malloc failed"
+msgstr "l'assignació de memòria (malloc) ha fallat"
+
+#: disk-utils/fsck.cramfs.c:298
+#, fuzzy
+msgid "crc error"
+msgstr ", error"
+
+#: disk-utils/fsck.cramfs.c:365
+#, fuzzy
+msgid "root inode is not directory"
+msgstr "el node d'identificació arrel no és un directori"
+
+#: disk-utils/fsck.cramfs.c:370
+#, c-format
+msgid "bad root offset (%lu)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:388
+msgid "data block too large"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:392
+#, c-format
+msgid "decompression error %p(%d): %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:416
+#, fuzzy, c-format
+msgid "  hole at %ld (%zd)\n"
+msgstr "  forat a %ld (%d)\n"
+
+#: disk-utils/fsck.cramfs.c:424 disk-utils/fsck.cramfs.c:596
+#, 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:430
+#, 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:434
+#, fuzzy, c-format
+msgid "non-size (%ld vs %ld) bytes"
+msgstr "%s: Octets sense mida (%ld vs %ld)\n"
+
+#: disk-utils/fsck.cramfs.c:440
+#, fuzzy, c-format
+msgid "write failed: %s"
+msgstr "(Fitxer següent: %s)"
+
+#: disk-utils/fsck.cramfs.c:453
+#, fuzzy, c-format
+msgid "lchown failed: %s"
+msgstr "no s'ha estat possible muntar"
+
+#: disk-utils/fsck.cramfs.c:459
+#, fuzzy, c-format
+msgid "chown failed: %s"
+msgstr "no s'ha estat possible muntar"
+
+#: disk-utils/fsck.cramfs.c:466
+#, fuzzy, c-format
+msgid "utime failed: %s"
+msgstr "valor d'expiració erroni: %s"
+
+#: disk-utils/fsck.cramfs.c:481
+#, c-format
+msgid "directory inode has zero offset and non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:495
+#, fuzzy, c-format
+msgid "mkdir failed: %s"
+msgstr "/dev: chdir() ha fallat: %m"
+
+#: disk-utils/fsck.cramfs.c:512
+msgid "filename length is zero"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:515
+msgid "bad filename length"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:522
+#, fuzzy
+msgid "bad inode offset"
+msgstr "mida de node d'identificació incorrecte"
+
+#: disk-utils/fsck.cramfs.c:538
+msgid "file inode has zero offset and non-zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:541
+msgid "file inode has zero size and non-zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:572
+msgid "symbolic link has zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:575
+msgid "symbolic link has zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:587
+#, 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:602
+#, fuzzy, c-format
+msgid "symlink failed: %s"
+msgstr "no s'ha pogut fer fsync"
+
+#: disk-utils/fsck.cramfs.c:614
+#, c-format
+msgid "special file has non-zero offset: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:626
+#, c-format
+msgid "fifo has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:632
+#, c-format
+msgid "socket has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:637
+#, fuzzy, c-format
+msgid "bogus mode: %s (%o)"
+msgstr "%s: mode erroni a «%s» (%o)\n"
+
+#: disk-utils/fsck.cramfs.c:647
+#, fuzzy, c-format
+msgid "mknod failed: %s"
+msgstr "no s'ha estat possible muntar"
+
+#: disk-utils/fsck.cramfs.c:683
+#, c-format
+msgid "directory data start (%ld) < sizeof(struct cramfs_super) + start (%ld)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:686
+#, 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:691
+#, 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:715
+#, fuzzy
+msgid "failed to allocate outbuffer"
+msgstr "No s'ha pogut assignar la memòria temporal.\n"
+
+#: disk-utils/fsck.cramfs.c:728
+#, fuzzy
+msgid "compiled without -x support"
+msgstr "%s: compilat sense implementar -x\n"
+
+#: disk-utils/fsck.minix.c:210
+#, c-format
+msgid "Usage: %s [-larvsmf] /dev/name\n"
+msgstr "Forma d'ús: %s [-larvsmf] /dev/nom\n"
+
+#: disk-utils/fsck.minix.c:326
+#, c-format
+msgid "%s is mounted.\t "
+msgstr "%s està muntat.\t "
+
+#: disk-utils/fsck.minix.c:328
+msgid "Do you really want to continue"
+msgstr "Esteu segur de voler continuar?"
+
+#: disk-utils/fsck.minix.c:332
+#, c-format
+msgid "check aborted.\n"
+msgstr "s'ha avortat la comprovació.\n"
+
+#: disk-utils/fsck.minix.c:351 disk-utils/fsck.minix.c:374
+#, c-format
+msgid "Zone nr < FIRSTZONE in file `%s'."
+msgstr "Número de zona < FIRSTZONE en el fitxer «%s»."
+
+#: disk-utils/fsck.minix.c:355 disk-utils/fsck.minix.c:378
+#, c-format
+msgid "Zone nr >= ZONES in file `%s'."
+msgstr "Número de zona >= ZONES en el fitxer «%s»."
+
+#: disk-utils/fsck.minix.c:360 disk-utils/fsck.minix.c:383
+msgid "Remove block"
+msgstr "Elimina el bloc"
+
+#: disk-utils/fsck.minix.c:401
+#, 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:407
+#, 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:422
+#, 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:428 disk-utils/mkfs.minix.c:209
+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:431
+#, 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:547
+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:549 disk-utils/mkfs.minix.c:196
+msgid "unable to write super-block"
+msgstr "no es pot escriure el superbloc"
+
+#: disk-utils/fsck.minix.c:559
+msgid "Unable to write inode map"
+msgstr "No es pot escriure el mapa de nodes d'identificació"
+
+#: disk-utils/fsck.minix.c:561
+msgid "Unable to write zone map"
+msgstr "No es pot escriure el mapa de zona"
+
+#: disk-utils/fsck.minix.c:563
+msgid "Unable to write inodes"
+msgstr "No es poden escriure els nodes d'identificació"
+
+#: disk-utils/fsck.minix.c:590
+msgid "seek failed"
+msgstr "la cerca ha fallat"
+
+#: disk-utils/fsck.minix.c:592
+msgid "unable to read super block"
+msgstr "no es pot llegir el superbloc"
+
+#: disk-utils/fsck.minix.c:610
+msgid "bad magic number in super-block"
+msgstr "número màgic incorrecte en el superbloc"
+
+#: disk-utils/fsck.minix.c:612
+msgid "Only 1k blocks/zones supported"
+msgstr "Només es suporten blocs o zones de 1k"
+
+#: disk-utils/fsck.minix.c:614
+msgid "bad s_imap_blocks field in super-block"
+msgstr "Camp s_imap_blocks incorrecte al superbloc"
+
+#: disk-utils/fsck.minix.c:616
+msgid "bad s_zmap_blocks field in super-block"
+msgstr "Camp s_zmap_blocks incorrecte en el superbloc"
+
+#: disk-utils/fsck.minix.c:623
+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:626
+#, 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:631
+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:634
+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:637
+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:639
+msgid "Unable to read inode map"
+msgstr "No es pot llegir el mapa de nodes d'identificació"
+
+#: disk-utils/fsck.minix.c:641
+msgid "Unable to read zone map"
+msgstr "No es pot llegir el mapa de zones"
+
+#: disk-utils/fsck.minix.c:643
+msgid "Unable to read inodes"
+msgstr "No es poden llegir els nodes d'identificació"
+
+#: disk-utils/fsck.minix.c:645
+#, c-format
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr "Atenció: Firstzone != Norm_firstzone\n"
+
+#: disk-utils/fsck.minix.c:650 disk-utils/mkfs.minix.c:450
+#, c-format
+msgid "%ld inodes\n"
+msgstr "%ld nodes d'identificació\n"
+
+#: disk-utils/fsck.minix.c:651 disk-utils/mkfs.minix.c:451
+#, c-format
+msgid "%ld blocks\n"
+msgstr "%ld blocs\n"
+
+#: disk-utils/fsck.minix.c:652 disk-utils/mkfs.minix.c:452
+#, c-format
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr "Primera zona de dades=%ld (%ld)\n"
+
+#: disk-utils/fsck.minix.c:653 disk-utils/mkfs.minix.c:453
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr "Mida de la zona=%d\n"
+
+#: disk-utils/fsck.minix.c:654
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr "Mida màxima=%ld\n"
+
+#: disk-utils/fsck.minix.c:655
+#, c-format
+msgid "Filesystem state=%d\n"
+msgstr "Estat del sistema de fitxers=%d\n"
+
+#: disk-utils/fsck.minix.c:656
+#, c-format
+msgid ""
+"namelen=%d\n"
+"\n"
+msgstr ""
+"longitud del nom=%d\n"
+"\n"
+
+#: disk-utils/fsck.minix.c:671 disk-utils/fsck.minix.c:722
+#, 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:675 disk-utils/fsck.minix.c:726
+msgid "Mark in use"
+msgstr "Marca'l en ús"
+
+#: disk-utils/fsck.minix.c:697 disk-utils/fsck.minix.c:746
+#, c-format
+msgid "The file `%s' has mode %05o\n"
+msgstr "El fitxer «%s» té el mode %05o\n"
+
+#: disk-utils/fsck.minix.c:704 disk-utils/fsck.minix.c:752
+#, 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:764 disk-utils/fsck.minix.c:772
+msgid "root inode isn't a directory"
+msgstr "el node d'identificació arrel no és un directori"
+
+#: disk-utils/fsck.minix.c:786 disk-utils/fsck.minix.c:819
+#, 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:788 disk-utils/fsck.minix.c:821
+#: disk-utils/fsck.minix.c:1144 disk-utils/fsck.minix.c:1153
+#: disk-utils/fsck.minix.c:1199 disk-utils/fsck.minix.c:1208
+msgid "Clear"
+msgstr "Neteja"
+
+#: disk-utils/fsck.minix.c:798 disk-utils/fsck.minix.c:831
+#, 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:800 disk-utils/fsck.minix.c:833
+msgid "Correct"
+msgstr "Corregeix"
+
+#: disk-utils/fsck.minix.c:972 disk-utils/fsck.minix.c:1039
+#, 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:975 disk-utils/fsck.minix.c:1042
+msgid " Remove"
+msgstr " Elimina"
+
+#: disk-utils/fsck.minix.c:989 disk-utils/fsck.minix.c:1056
+#, c-format
+msgid "%s: bad directory: '.' isn't first\n"
+msgstr "%s: directori incorrecte: «.» no és el primer\n"
+
+#: disk-utils/fsck.minix.c:997 disk-utils/fsck.minix.c:1065
+#, c-format
+msgid "%s: bad directory: '..' isn't second\n"
+msgstr "%s: directori incorrecte: «..» no és el segon\n"
+
+#: disk-utils/fsck.minix.c:1099 disk-utils/fsck.minix.c:1117
+msgid "internal error"
+msgstr "error intern"
+
+#: disk-utils/fsck.minix.c:1102 disk-utils/fsck.minix.c:1120
+#, c-format
+msgid "%s: bad directory: size < 32"
+msgstr "%s: directori incorrecte: mida < 32"
+
+#: disk-utils/fsck.minix.c:1133
+msgid "seek failed in bad_zone"
+msgstr "s'ha produït un error en cercar a bad_zone"
+
+#: disk-utils/fsck.minix.c:1143 disk-utils/fsck.minix.c:1198
+#, c-format
+msgid "Inode %d mode not cleared."
+msgstr "No s'ha esborrat el mode del node d'identificació %d."
+
+#: disk-utils/fsck.minix.c:1152 disk-utils/fsck.minix.c:1207
+#, c-format
+msgid "Inode %d 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:1158 disk-utils/fsck.minix.c:1213
+#, c-format
+msgid "Inode %d 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:1160 disk-utils/fsck.minix.c:1214
+msgid "Set"
+msgstr "Estableix"
+
+#: disk-utils/fsck.minix.c:1164 disk-utils/fsck.minix.c:1218
+#, c-format
+msgid "Inode %d (mode = %07o), i_nlinks=%d, counted=%d."
+msgstr "Node d'identificació %d (mode = %07o), i_nlinks=%d, comptats=%d."
+
+#: disk-utils/fsck.minix.c:1166 disk-utils/fsck.minix.c:1220
+msgid "Set i_nlinks to count"
+msgstr "Estableix i_nlinks als comptats"
+
+#: disk-utils/fsck.minix.c:1178 disk-utils/fsck.minix.c:1232
+#, c-format
+msgid "Zone %d: 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:1179 disk-utils/fsck.minix.c:1234
+msgid "Unmark"
+msgstr "Elimina la marca"
+
+#: disk-utils/fsck.minix.c:1184 disk-utils/fsck.minix.c:1239
+#, c-format
+msgid "Zone %d: in use, counted=%d\n"
+msgstr "Zona %d: en ús, comptada=%d\n"
+
+#: disk-utils/fsck.minix.c:1187 disk-utils/fsck.minix.c:1242
+#, c-format
+msgid "Zone %d: not in use, counted=%d\n"
+msgstr "Zona %d: no en ús, comptada=%d\n"
+
+#: disk-utils/fsck.minix.c:1287 disk-utils/mkfs.minix.c:576
+#: disk-utils/mkfs.minix.c:578
+msgid "bad inode size"
+msgstr "mida de node d'identificació incorrecte"
+
+#: disk-utils/fsck.minix.c:1289
+msgid "bad v2 inode size"
+msgstr "mida de node d'identificació v2 incorrecte"
+
+#: disk-utils/fsck.minix.c:1315
+msgid "need terminal for interactive repairs"
+msgstr "es necessita un terminal per a reparacions interactives"
+
+#: disk-utils/fsck.minix.c:1319
+#, fuzzy, c-format
+msgid "unable to open '%s': %s"
+msgstr "no es pot obrir '%s'"
+
+#: disk-utils/fsck.minix.c:1334
+#, c-format
+msgid "%s is clean, no check.\n"
+msgstr "%s està net; no es comprova.\n"
+
+#: disk-utils/fsck.minix.c:1338
+#, 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:1340
+#, 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:1373
+#, c-format
+msgid ""
+"\n"
+"%6ld inodes used (%ld%%)\n"
+msgstr ""
+"\n"
+"%6ld nodes d'identificació usats (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1378
+#, c-format
+msgid "%6ld zones used (%ld%%)\n"
+msgstr "%6ld zones usades (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1380
+#, 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:1393
+#, 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
+#, c-format
+msgid "%s: failed to open: %s\n"
+msgstr "%s: s'ha produït un error en obrir: %s\n"
+
+#: disk-utils/isosize.c:135
+#, c-format
+msgid "%s: seek error on %s\n"
+msgstr "%s: s'ha produït un error en cercar a %s\n"
+
+#: disk-utils/isosize.c:141
+#, c-format
+msgid "%s: read error on %s\n"
+msgstr "%s: s'ha produït un error de lectura a %s\n"
+
+#: disk-utils/isosize.c:150
+#, c-format
+msgid "sector count: %d, sector size: %d\n"
+msgstr "compte de sectors: %d, mida del sector: %d\n"
+
+#: disk-utils/isosize.c:200
+#, c-format
+msgid "%s: option parse error\n"
+msgstr "%s: s'ha produït un error en analitzar l'opció\n"
+
+#: disk-utils/isosize.c:208
+#, c-format
+msgid "Usage: %s [-x] [-d <num>] iso9660-image\n"
+msgstr "Forma d'ús: %s [-x] [-d <núm>] imatge-iso9660\n"
+
+#: disk-utils/mkfs.bfs.c:84
+#, c-format
+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"
+
+#: disk-utils/mkfs.bfs.c:131
+msgid "volume name too long"
+msgstr "nom del volum massa llarg"
+
+#: disk-utils/mkfs.bfs.c:138
+msgid "fsname name too long"
+msgstr "nom del sistema de fitxers massa llarg"
+
+#: disk-utils/mkfs.bfs.c:163
+#, c-format
+msgid "cannot stat device %s"
+msgstr "no es pot fer \"stat\" al dispositiu %s"
+
+#: disk-utils/mkfs.bfs.c:167
+#, c-format
+msgid "%s is not a block special device"
+msgstr "%s no es un dispositiu de bloc especial"
+
+#: disk-utils/mkfs.bfs.c:172 sys-utils/ldattach.c:205
+#, c-format
+msgid "cannot open %s"
+msgstr "%s no es pot obrir"
+
+#: disk-utils/mkfs.bfs.c:183
+#, c-format
+msgid "cannot get size of %s"
+msgstr "no es pot obtenir la mida de %s"
+
+#: disk-utils/mkfs.bfs.c:188
+#, 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:203
+msgid "too many inodes - max is 512"
+msgstr "massa nodes d'identificació; el màxim és de 512"
+
+#: disk-utils/mkfs.bfs.c:212
+#, 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:224 fdisk/fdisk.c:2345
+#, c-format
+msgid "Device: %s\n"
+msgstr "Dispositiu: %s\n"
+
+#: disk-utils/mkfs.bfs.c:225
+#, c-format
+msgid "Volume: <%-6s>\n"
+msgstr "Volum: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:226
+#, c-format
+msgid "FSname: <%-6s>\n"
+msgstr "Nom_Sis.Fit: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:227
+#, c-format
+msgid "BlockSize: %d\n"
+msgstr "MidaBloc: %d\n"
+
+#: disk-utils/mkfs.bfs.c:229
+#, c-format
+msgid "Inodes: %d (in 1 block)\n"
+msgstr "Nodes d'identificació: %d (al 1 bloc)\n"
+
+#: disk-utils/mkfs.bfs.c:232
+#, fuzzy, c-format
+msgid "Inodes: %d (in %lld blocks)\n"
+msgstr "Nodes d'identificació: %d (als %ld blocs)\n"
+
+#: disk-utils/mkfs.bfs.c:234
+#, fuzzy, c-format
+msgid "Blocks: %lld\n"
+msgstr "Blocs: %ld\n"
+
+#: disk-utils/mkfs.bfs.c:235
+#, 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:240
+msgid "error writing superblock"
+msgstr "s'ha produït un error en escriure el superbloc"
+
+#: disk-utils/mkfs.bfs.c:260
+msgid "error writing root inode"
+msgstr "s'ha produït un error en escriure el node d'identificació arrel"
+
+#: disk-utils/mkfs.bfs.c:265
+msgid "error writing inode"
+msgstr "s'ha produït un error en escriure el node d'identificació"
+
+#: disk-utils/mkfs.bfs.c:268
+msgid "seek error"
+msgstr "s'ha produït un error en cercar"
+
+#: disk-utils/mkfs.bfs.c:274
+msgid "error writing . entry"
+msgstr "s'ha produït un error en escriure l'entrada ."
+
+#: disk-utils/mkfs.bfs.c:278
+msgid "error writing .. entry"
+msgstr "s'ha produït un error en escriure l'entrada .."
+
+#: disk-utils/mkfs.bfs.c:282
+#, c-format
+msgid "error closing %s"
+msgstr "s'ha produït un error en tancar %s"
+
+#: disk-utils/mkfs.c:73
+#, c-format
+msgid "Usage: mkfs [-V] [-t fstype] [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:88 disk-utils/mkfs.c:96 fdisk/cfdisk.c:351
+#: getopt/getopt.c:86 getopt/getopt.c:96 login-utils/wall.c:246
+#, c-format
+msgid "%s: Out of memory!\n"
+msgstr "%s: No hi ha prou memòria\n"
+
+#: disk-utils/mkfs.c:103
+#, c-format
+msgid "mkfs (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: disk-utils/mkfs.cramfs.c:126
+#, 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:340
+#, fuzzy, c-format
+msgid ""
+"Very long (%zu bytes) filename `%s' found.\n"
+" Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile.  Exiting.\n"
+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:472
+#, c-format
+msgid "filesystem too big.  Exiting.\n"
+msgstr "el sistema de fitxers és massa gran. S'està sortint.\n"
+
+#: disk-utils/mkfs.cramfs.c:637
+#, 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:656
+#, fuzzy, c-format
+msgid "%6.2f%% (%+ld bytes)\t%s\n"
+msgstr "%6.2f%% (%+d octets)\t%s\n"
+
+#: disk-utils/mkfs.cramfs.c:854
+#, fuzzy, c-format
+msgid ""
+"warning: guestimate of required size (upper bound) is %lldMB, but maximum "
+"image size is %uMB.  We might die prematurely.\n"
+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:881
+msgid "ROM image map"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:895
+#, c-format
+msgid "Including: %s\n"
+msgstr "S'està incloent: %s\n"
+
+#: disk-utils/mkfs.cramfs.c:901
+#, fuzzy, c-format
+msgid "Directory data: %zd bytes\n"
+msgstr "Dades del directori: %d octets\n"
+
+#: disk-utils/mkfs.cramfs.c:909
+#, fuzzy, c-format
+msgid "Everything: %zd kilobytes\n"
+msgstr "Tot: %d kilooctets\n"
+
+#: disk-utils/mkfs.cramfs.c:914
+#, fuzzy, c-format
+msgid "Super block: %zd bytes\n"
+msgstr "Súper bloc: %d octets\n"
+
+#: disk-utils/mkfs.cramfs.c:921
+#, c-format
+msgid "CRC: %x\n"
+msgstr "CRC: %x\n"
+
+#: disk-utils/mkfs.cramfs.c:926
+#, fuzzy, c-format
+msgid "not enough space allocated for ROM image (%lld allocated, %zu used)\n"
+msgstr "no hi ha prou espai per a la imatge ROM (assignats %Ld, emprats %d)\n"
+
+#: disk-utils/mkfs.cramfs.c:934
+msgid "ROM image"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:938
+#, fuzzy, c-format
+msgid "ROM image write failed (%zd %zd)\n"
+msgstr "No és possible escriure la imatge ROM (%d %d)\n"
+
+#: disk-utils/mkfs.cramfs.c:947
+#, c-format
+msgid "warning: filenames truncated to 255 bytes.\n"
+msgstr "avís: els noms de fitxer es trunquen a 255 octets.\n"
+
+#: disk-utils/mkfs.cramfs.c:950
+#, c-format
+msgid "warning: files were skipped due to errors.\n"
+msgstr "avís: s'han saltat fitxers degut a errors.\n"
+
+#: disk-utils/mkfs.cramfs.c:953
+#, c-format
+msgid "warning: file sizes truncated to %luMB (minus 1 byte).\n"
+msgstr "avís: la mida dels fitxers es trunca a %luMB (menys 1 octet).\n"
+
+#: disk-utils/mkfs.cramfs.c:958
+#, c-format
+msgid ""
+"warning: uids truncated to %u bits.  (This may be a security concern.)\n"
+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:963
+#, c-format
+msgid ""
+"warning: gids truncated to %u bits.  (This may be a security concern.)\n"
+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:968
+#, c-format
+msgid ""
+"WARNING: device numbers truncated to %u bits.  This almost certainly means\n"
+"that some device files will be wrong.\n"
+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:156
+#, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]\n"
+msgstr "Forma d'ús: %s [-c | -l nom_fitxer] [-nXX] [-iXX] /dev/nom [blocs]\n"
+
+#: disk-utils/mkfs.minix.c:180
+#, 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:190
+msgid "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:192
+msgid "unable to clear boot sector"
+msgstr "no s'ha pogut netejar el sector d'arrencada"
+
+#: disk-utils/mkfs.minix.c:194
+msgid "seek failed in write_tables"
+msgstr "s'ha produït un error en cercar a write_tables"
+
+#: disk-utils/mkfs.minix.c:198
+msgid "unable to write inode map"
+msgstr "no s'ha pogut escriure el mapa dels nodes d'identificació"
+
+#: disk-utils/mkfs.minix.c:200
+msgid "unable to write zone map"
+msgstr "no s'ha pogut escriure el mapa de zones"
+
+#: disk-utils/mkfs.minix.c:202
+msgid "unable to write inodes"
+msgstr "no s'ha pogut escriure els nodes d'identificació"
+
+#: disk-utils/mkfs.minix.c:211
+msgid "write failed in write_block"
+msgstr "no s'ha pogut escriure a write_block"
+
+#: disk-utils/mkfs.minix.c:219 disk-utils/mkfs.minix.c:293
+#: disk-utils/mkfs.minix.c:342
+msgid "too many bad blocks"
+msgstr "hi ha massa blocs incorrectes"
+
+#: disk-utils/mkfs.minix.c:227
+msgid "not enough good blocks"
+msgstr "no hi ha prou blocs correctes"
+
+#: disk-utils/mkfs.minix.c:439
+msgid "unable to allocate buffers for maps"
+msgstr "no s'ha pogut assignar memòria intermèdia per als mapes"
+
+#: disk-utils/mkfs.minix.c:448
+msgid "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:454
+#, c-format
+msgid ""
+"Maxsize=%ld\n"
+"\n"
+msgstr ""
+"Mida_màx.=%ld\n"
+"\n"
+
+#: disk-utils/mkfs.minix.c:468
+msgid "seek failed during testing of blocks"
+msgstr "no s'ha pogut cercar durant la comprovació de blocs"
+
+#: disk-utils/mkfs.minix.c:476
+#, 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:507 disk-utils/mkswap.c:313
+msgid "seek failed in check_blocks"
+msgstr "no s'ha pogut cercar a check_blocks"
+
+#: disk-utils/mkfs.minix.c:516
+msgid "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:522 disk-utils/mkfs.minix.c:547
+#, c-format
+msgid "%d bad blocks\n"
+msgstr "%d blocs incorrectes\n"
+
+#: disk-utils/mkfs.minix.c:524 disk-utils/mkfs.minix.c:549
+#, c-format
+msgid "one bad block\n"
+msgstr "un bloc incorrecte\n"
+
+#: disk-utils/mkfs.minix.c:534
+msgid "can't open file of bad blocks"
+msgstr "no es pot obrir el fitxer de blocs incorrectes"
+
+#: disk-utils/mkfs.minix.c:538
+#, c-format
+msgid "badblock number input error on line %d\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:539
+#, fuzzy
+msgid "cannot read badblocks file"
+msgstr "No s'ha pogut llegir la unitat de disc"
+
+#: disk-utils/mkfs.minix.c:619
+#, 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:638
+#, c-format
+msgid "unable to stat %s"
+msgstr "no es pot fer stat per a %s"
+
+#: disk-utils/mkfs.minix.c:644
+#, c-format
+msgid "unable to open %s"
+msgstr "no es pot obrir %s"
+
+#: disk-utils/mkfs.minix.c:649
+#, fuzzy, c-format
+msgid "cannot determine sector size for %s"
+msgstr "no es pot obtenir la mida de %s"
+
+#: disk-utils/mkfs.minix.c:651
+#, c-format
+msgid "block size smaller than physical sector size of %s"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:654
+#, fuzzy, c-format
+msgid "cannot determine size of %s"
+msgstr "no es pot obtenir la mida de %s"
+
+#: disk-utils/mkfs.minix.c:662
+#, 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:664
+#, fuzzy
+msgid "number of blocks too small"
+msgstr "Nombre de sectors"
+
+#: disk-utils/mkswap.c:155
+#, c-format
+msgid "Bad user-specified page size %d\n"
+msgstr "La mida de la pàgina que ha especificat l'usuari, %d, no és correcte\n"
+
+#: disk-utils/mkswap.c:163
+#, fuzzy, c-format
+msgid "Using user-specified page size %d, instead of the system value %d\n"
+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:192
+#, c-format
+msgid "Bad swap header size, no label written.\n"
+msgstr ""
+"La mida de la capçalera d'intercanvi és errònia, no s'ha escrit cap "
+"etiqueta.\n"
+
+#: disk-utils/mkswap.c:202
+#, c-format
+msgid "Label was truncated.\n"
+msgstr "S'ha truncat l'etiqueta.\n"
+
+#: disk-utils/mkswap.c:208
+#, c-format
+msgid "no label, "
+msgstr "sense etiqueta, "
+
+#: disk-utils/mkswap.c:216
+#, c-format
+msgid "no uuid\n"
+msgstr "sense uuid\n"
+
+#: disk-utils/mkswap.c:281
+#, fuzzy, c-format
+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"
+
+#: disk-utils/mkswap.c:295
+msgid "too many bad pages"
+msgstr "hi ha massa pàgines incorrectes"
+
+#: disk-utils/mkswap.c:308 misc-utils/look.c:182 misc-utils/setterm.c:1183
+#: text-utils/more.c:1982 text-utils/more.c:1993
+msgid "Out of memory"
+msgstr "S'ha esgotat la memòria"
+
+#: disk-utils/mkswap.c:319
+#, c-format
+msgid "one bad page\n"
+msgstr "una pàgina incorrecta\n"
+
+#: disk-utils/mkswap.c:321
+#, c-format
+msgid "%lu bad pages\n"
+msgstr "%lu pàgines incorrectes\n"
+
+#: disk-utils/mkswap.c:399 disk-utils/mkswap.c:415 disk-utils/mkswap.c:633
+msgid "unable to rewind swap-device"
+msgstr "no s'ha pogut rebobinar el dispositiu d'intercanvi"
+
+#: disk-utils/mkswap.c:419
+#, fuzzy
+msgid "unable to erase bootbits sectors"
+msgstr "no s'ha pogut netejar el sector d'arrencada"
+
+#: disk-utils/mkswap.c:423
+#, c-format
+msgid "%s: %s: warning: don't erase bootbits sectors\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:426
+#, fuzzy, c-format
+msgid "        (%s partition table detected). "
+msgstr "   p   imprimeix la taula de particions BSD"
+
+#: disk-utils/mkswap.c:428
+#, fuzzy, c-format
+msgid "        on whole disk. "
+msgstr "   s   mostra totes les etiquetes del disc"
+
+#: disk-utils/mkswap.c:498
+#, c-format
+msgid "%1$s: warning: ignore -U (UUIDs are unsupported by %1$s)\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:514
+#, fuzzy, c-format
+msgid "%s: does not support swapspace version %d.\n"
+msgstr "%s: error: versió desconeguda %d\n"
+
+#: disk-utils/mkswap.c:522
+#, fuzzy
+msgid "error: UUID parsing failed"
+msgstr ""
+"\n"
+"S'ha produït un error en tancar el fitxer\n"
+
+#: disk-utils/mkswap.c:533
+#, c-format
+msgid "%s: error: Nowhere to set up swap on?\n"
+msgstr "%s: error: no es pot especificar l'espai d'intercanvi enlloc?\n"
+
+#: disk-utils/mkswap.c:551
+#, fuzzy, c-format
+msgid "%s: error: size %llu KiB is larger than device size %llu KiB\n"
+msgstr "%s: error: la mida %lu es més gran que a la mida del dispositiu %lu\n"
+
+#: disk-utils/mkswap.c:560
+#, fuzzy, c-format
+msgid "%s: error: swap area needs to be at least %ld KiB\n"
+msgstr "%s: error: l'espai d'intercanvi ha de tenir com a mínim %ldkB\n"
+
+#: disk-utils/mkswap.c:577
+#, fuzzy, c-format
+msgid "%s: warning: truncating swap area to %llu KiB\n"
+msgstr "%s: avís: l'espai d'intercanvi s'ha truncat a %ldkB\n"
+
+#: disk-utils/mkswap.c:600
+#, fuzzy, c-format
+msgid "%s: error: will not try to make swapdevice on '%s'\n"
+msgstr "No s'intentarà crear cap dispositiu d'intercanvi a '%s'"
+
+#: disk-utils/mkswap.c:606
+#, fuzzy, c-format
+msgid "%s: error: %s is mounted; will not make swapspace.\n"
+msgstr "%s ja està muntat; no s'hi crearà cap sistema de fitxers."
+
+#: disk-utils/mkswap.c:622
+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:625
+#, 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:636
+#, fuzzy, c-format
+msgid "%s: %s: unable to write signature page: %s"
+msgstr "no s'ha pogut escriure la pàgina de la signatura"
+
+#: disk-utils/mkswap.c:647
+msgid "fsync failed"
+msgstr "no s'ha pogut fer fsync"
+
+#: disk-utils/mkswap.c:658
+#, c-format
+msgid "%s: %s: unable to obtain selinux file label: %s\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:664
+#, fuzzy
+msgid "unable to matchpathcon()"
+msgstr "no es pot fer stat per a %s"
+
+#: disk-utils/mkswap.c:667
+#, fuzzy
+msgid "unable to create new selinux context"
+msgstr "no s'ha pogut escriure els nodes d'identificació"
+
+#: disk-utils/mkswap.c:669
+msgid "couldn't compute selinux context"
+msgstr ""
+
+#: disk-utils/mkswap.c:675
+#, fuzzy, c-format
+msgid "%s: unable to relabel %s to %s: %s\n"
+msgstr "no s'ha pogut tornar a nomenar %s per %s: %s\n"
+
+#: disk-utils/raw.c:50
+#, fuzzy, c-format
+msgid ""
+"Usage:\n"
+"  %s "
+msgstr "Forma d'ús:\n"
+
+#: disk-utils/raw.c:125
+#, c-format
+msgid ""
+"Device '%s' is control raw dev (use raw<N> where <N> is greater than zero)\n"
+msgstr ""
+
+#: disk-utils/raw.c:145
+#, fuzzy, c-format
+msgid "Cannot locate block device '%s' (%s)\n"
+msgstr "No s'ha pogut blocar el fitxer de blocat %s: %s\n"
+
+#: disk-utils/raw.c:151
+#, fuzzy, c-format
+msgid "Device '%s' is not a block dev\n"
+msgstr "Avís: %s no és un dispositiu de blocs\n"
+
+#: disk-utils/raw.c:186
+#, fuzzy, c-format
+msgid "Cannot open master raw device '"
+msgstr "no es pot fer \"stat\" al dispositiu %s"
+
+#: disk-utils/raw.c:205
+#, fuzzy, c-format
+msgid "Cannot locate raw device '%s' (%s)\n"
+msgstr "no es pot fer \"stat\" al dispositiu %s"
+
+#: disk-utils/raw.c:211
+#, fuzzy, c-format
+msgid "Raw device '%s' is not a character dev\n"
+msgstr "/dev/%s: no és un dispositiu de caràcter"
+
+#: disk-utils/raw.c:216
+#, fuzzy, c-format
+msgid "Device '%s' is not a raw dev\n"
+msgstr "%s no es un dispositiu de bloc especial"
+
+#: disk-utils/raw.c:231
+#, c-format
+msgid "Error querying raw device (%s)\n"
+msgstr ""
+
+#: disk-utils/raw.c:241 disk-utils/raw.c:261
+#, c-format
+msgid "raw%d:\tbound to major %d, minor %d\n"
+msgstr ""
+
+#: disk-utils/raw.c:257
+#, fuzzy, c-format
+msgid "Error setting raw device (%s)\n"
+msgstr "s'ha produït un error en aturar el servei: \"%s\""
+
+#: fdisk/cfdisk.c:376 fdisk/cfdisk.c:2080
+msgid "Unusable"
+msgstr "Inutilitzable"
+
+#: fdisk/cfdisk.c:378 fdisk/cfdisk.c:2082
+msgid "Free Space"
+msgstr "Espai lliure"
+
+#: fdisk/cfdisk.c:381
+msgid "Linux ext2"
+msgstr "Linux ext2"
+
+#: fdisk/cfdisk.c:383
+msgid "Linux ext3"
+msgstr "Linux ext3"
+
+#: fdisk/cfdisk.c:385
+msgid "Linux XFS"
+msgstr "Linux XFS"
+
+#: fdisk/cfdisk.c:387
+msgid "Linux JFS"
+msgstr "Linux JFS"
+
+#: fdisk/cfdisk.c:389
+msgid "Linux ReiserFS"
+msgstr "Linux ReiserFS"
+
+#: fdisk/cfdisk.c:391 fdisk/i386_sys_types.c:57
+msgid "Linux"
+msgstr "Linux"
+
+#: fdisk/cfdisk.c:394
+msgid "OS/2 HPFS"
+msgstr "OS/2 HPFS"
+
+#: fdisk/cfdisk.c:396
+msgid "OS/2 IFS"
+msgstr "OS/2 IFS"
+
+#: fdisk/cfdisk.c:400
+msgid "NTFS"
+msgstr "NTFS"
+
+#: fdisk/cfdisk.c:411
+#, c-format
+msgid "Disk has been changed.\n"
+msgstr "El disc s'ha modificat.\n"
+
+#: fdisk/cfdisk.c:413
+#, 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"
+
+#: fdisk/cfdisk.c:417
+#, 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"
+
+#: fdisk/cfdisk.c:512
+msgid "FATAL ERROR"
+msgstr "ERROR FATAL"
+
+#: fdisk/cfdisk.c:513
+msgid "Press any key to exit cfdisk"
+msgstr "Premeu una tecla per a sortir del cfdisk"
+
+#: fdisk/cfdisk.c:560 fdisk/cfdisk.c:568
+msgid "Cannot seek on disk drive"
+msgstr "No s'ha pogut cercar a la unitat de disc"
+
+#: fdisk/cfdisk.c:562
+msgid "Cannot read disk drive"
+msgstr "No s'ha pogut llegir la unitat de disc"
+
+#: fdisk/cfdisk.c:570
+msgid "Cannot write disk drive"
+msgstr "No s'ha pogut escriure a la unitat de disc"
+
+#: fdisk/cfdisk.c:913
+msgid "Too many partitions"
+msgstr "Hi ha massa particions"
+
+#: fdisk/cfdisk.c:918
+msgid "Partition begins before sector 0"
+msgstr "La partició comença abans del sector 0"
+
+#: fdisk/cfdisk.c:923
+msgid "Partition ends before sector 0"
+msgstr "La partició acaba abans del sector 0"
+
+#: fdisk/cfdisk.c:928
+msgid "Partition begins after end-of-disk"
+msgstr "La partició comença despres de la fí del disc"
+
+#: fdisk/cfdisk.c:933
+msgid "Partition ends after end-of-disk"
+msgstr "La partició acaba despres de la fí del disc"
+
+#: fdisk/cfdisk.c:938
+msgid "Partition ends in the final partial cylinder"
+msgstr "La partició acaba en l'últim cilindre parcial"
+
+#: fdisk/cfdisk.c:962
+msgid "logical partitions not in disk order"
+msgstr "les particions lògiques no estan en l'ordre del disc"
+
+#: fdisk/cfdisk.c:965
+msgid "logical partitions overlap"
+msgstr "les particions lògiques s'encavalquen"
+
+#: fdisk/cfdisk.c:969
+msgid "enlarged logical partitions overlap"
+msgstr "les particions lògiques ampliades s'encavalquen"
+
+#: fdisk/cfdisk.c:999
+msgid ""
+"!!!! Internal error creating logical drive with no extended partition !!!!"
+msgstr ""
+"!!!! Error intern en crear una unitat lògica sense partició estesa !!!!"
+
+#: fdisk/cfdisk.c:1010 fdisk/cfdisk.c:1022
+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"
+
+#: fdisk/cfdisk.c:1164
+msgid "Menu item too long. Menu may look odd."
+msgstr "L'element del menú és massa llarg; l'aspecte del menú pot ser estrany."
+
+#: fdisk/cfdisk.c:1220
+#, fuzzy
+msgid "Menu without direction. Defaulting to horizontal."
+msgstr "El menú no té direcció; l'opció per defecte és horitzontal."
+
+#: fdisk/cfdisk.c:1351
+msgid "Illegal key"
+msgstr "Tecla no permesa"
+
+#: fdisk/cfdisk.c:1374
+msgid "Press a key to continue"
+msgstr "Premeu una tecla per a continuar"
+
+#: fdisk/cfdisk.c:1421 fdisk/cfdisk.c:2051 fdisk/cfdisk.c:2583
+#: fdisk/cfdisk.c:2585
+msgid "Primary"
+msgstr "Primària"
+
+#: fdisk/cfdisk.c:1421
+msgid "Create a new primary partition"
+msgstr "Crea una nova partició primària"
+
+#: fdisk/cfdisk.c:1422 fdisk/cfdisk.c:2051 fdisk/cfdisk.c:2582
+#: fdisk/cfdisk.c:2585
+msgid "Logical"
+msgstr "Lògica"
+
+#: fdisk/cfdisk.c:1422
+msgid "Create a new logical partition"
+msgstr "Crea una nova partició lògica"
+
+#: fdisk/cfdisk.c:1423 fdisk/cfdisk.c:1478 fdisk/cfdisk.c:2256
+msgid "Cancel"
+msgstr "Cancel·la"
+
+#: fdisk/cfdisk.c:1423 fdisk/cfdisk.c:1478
+msgid "Don't create a partition"
+msgstr "No creïs cap partició"
+
+#: fdisk/cfdisk.c:1439
+msgid "!!! Internal error !!!"
+msgstr "!!! Error intern !!!"
+
+#: fdisk/cfdisk.c:1442
+msgid "Size (in MB): "
+msgstr "Mida (en MB): "
+
+#: fdisk/cfdisk.c:1476
+msgid "Beginning"
+msgstr "Principi"
+
+#: fdisk/cfdisk.c:1476
+msgid "Add partition at beginning of free space"
+msgstr "Afegeix partició al principi de l'espai lliure"
+
+#: fdisk/cfdisk.c:1477
+msgid "End"
+msgstr "Final"
+
+#: fdisk/cfdisk.c:1477
+msgid "Add partition at end of free space"
+msgstr "Afegeix partició al final de l'espai lliure"
+
+#: fdisk/cfdisk.c:1495
+msgid "No room to create the extended partition"
+msgstr "No hi ha espai per crear la partició estesa"
+
+#: fdisk/cfdisk.c:1569
+msgid "No partition table.\n"
+msgstr "No hi ha cap taula de particions.\n"
+
+#: fdisk/cfdisk.c:1573
+msgid "No partition table. Starting with zero table."
+msgstr ""
+"No hi ha cap taula de particions. S'està començant amb una taula buida."
+
+#: fdisk/cfdisk.c:1583
+msgid "Bad signature on partition table"
+msgstr "La signatura a la taula de particions és errònia"
+
+#: fdisk/cfdisk.c:1587
+msgid "Unknown partition table type"
+msgstr "Es desconeix el tipus de taula de particions"
+
+#: fdisk/cfdisk.c:1589
+msgid "Do you wish to start with a zero table [y/N] ?"
+msgstr "Desitgeu començar amb una taula buida [s/N]?"
+
+#: fdisk/cfdisk.c:1637
+msgid "You specified more cylinders than fit on disk"
+msgstr "Heu especificat més cilindres dels que caben al disc"
+
+#: fdisk/cfdisk.c:1669
+msgid "Cannot open disk drive"
+msgstr "No s'ha pogut obrir la unitat de disc"
+
+#: fdisk/cfdisk.c:1671 fdisk/cfdisk.c:1860
+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"
+
+#: fdisk/cfdisk.c:1682
+msgid ""
+"Warning!!  Unsupported GPT (GUID Partition Table) detected. Use GNU Parted."
+msgstr ""
+
+#: fdisk/cfdisk.c:1701
+msgid "Cannot get disk size"
+msgstr "No s'ha pogut obtenir la mida del disc"
+
+#: fdisk/cfdisk.c:1727
+msgid "Bad primary partition"
+msgstr "Partició primària incorrecta"
+
+#: fdisk/cfdisk.c:1757
+msgid "Bad logical partition"
+msgstr "Partició lògica incorrecta"
+
+#: fdisk/cfdisk.c:1872
+msgid "Warning!!  This may destroy data on your disk!"
+msgstr "Avís: Això pot destruir les dades del disc!"
+
+#: fdisk/cfdisk.c:1876
+#, 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): "
+
+#: fdisk/cfdisk.c:1882
+msgid "no"
+msgstr "no"
+
+#: fdisk/cfdisk.c:1884
+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
+#: fdisk/cfdisk.c:1886
+msgid "yes"
+msgstr "sí"
+
+#: fdisk/cfdisk.c:1890
+msgid "Please enter `yes' or `no'"
+msgstr "Escriviu «sí» o «no»"
+
+#: fdisk/cfdisk.c:1894
+msgid "Writing partition table to disk..."
+msgstr "S'està escrivint la taula de particions al disc..."
+
+#: fdisk/cfdisk.c:1921 fdisk/cfdisk.c:1925
+msgid "Wrote partition table to disk"
+msgstr "S'ha escrit la taula de particions del disc"
+
+#: fdisk/cfdisk.c:1923
+#, 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."
+
+#: fdisk/cfdisk.c:1933
+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."
+
+#: fdisk/cfdisk.c:1935
+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."
+
+#: fdisk/cfdisk.c:1993 fdisk/cfdisk.c:2112 fdisk/cfdisk.c:2196
+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: "
+
+#: fdisk/cfdisk.c:2002 fdisk/cfdisk.c:2120 fdisk/cfdisk.c:2204
+#, c-format
+msgid "Cannot open file '%s'"
+msgstr "No s'ha pogut obrir el fitxer '%s'"
+
+#: fdisk/cfdisk.c:2013
+#, c-format
+msgid "Disk Drive: %s\n"
+msgstr "Unitat de disc: %s\n"
+
+#: fdisk/cfdisk.c:2015
+msgid "Sector 0:\n"
+msgstr "Sector 0:\n"
+
+#: fdisk/cfdisk.c:2022
+#, c-format
+msgid "Sector %d:\n"
+msgstr "Sector %d:\n"
+
+#: fdisk/cfdisk.c:2042
+msgid "   None   "
+msgstr "   Cap   "
+
+#: fdisk/cfdisk.c:2044
+msgid "   Pri/Log"
+msgstr "   Pri/Lòg"
+
+#: fdisk/cfdisk.c:2046
+msgid "   Primary"
+msgstr "   Primària"
+
+#: fdisk/cfdisk.c:2048
+msgid "   Logical"
+msgstr "   Lògica"
+
+#: fdisk/cfdisk.c:2086 fdisk/fdisk.c:1534 fdisk/fdisk.c:1855
+#: fdisk/fdisksgilabel.c:240 fdisk/fdisksunlabel.c:621 fdisk/sfdisk.c:653
+msgid "Unknown"
+msgstr "Desconegut"
+
+#: fdisk/cfdisk.c:2092 fdisk/cfdisk.c:2560 fdisk/fdisksunlabel.c:44
+msgid "Boot"
+msgstr "Arrencada"
+
+#: fdisk/cfdisk.c:2094
+#, c-format
+msgid "(%02X)"
+msgstr "(%02X)"
+
+#: fdisk/cfdisk.c:2096
+msgid "None"
+msgstr "Cap"
+
+#: fdisk/cfdisk.c:2131 fdisk/cfdisk.c:2215
+#, c-format
+msgid "Partition Table for %s\n"
+msgstr "Taula de particions per a %s\n"
+
+#: fdisk/cfdisk.c:2133
+msgid "               First       Last\n"
+msgstr "               Primer      Últim\n"
+
+#: fdisk/cfdisk.c:2134
+msgid ""
+" # Type       Sector      Sector   Offset    Length   Filesystem Type (ID) "
+"Flag\n"
+msgstr ""
+" # Tipus      Sector      Sector   Despl.    Longitud  (ID) T. de sist. "
+"fitx.  Senyal.\n"
+
+#: fdisk/cfdisk.c:2135
+msgid ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+msgstr ""
+"-- ------- -------- --------- ------ --------- ---------------------- "
+"---------\n"
+"\n"
+"-- -----      ------      ------   ------    --------  "
+"----------------------  ------\n"
+
+#: fdisk/cfdisk.c:2218
+#, fuzzy
+msgid "         ---Starting----      ----Ending-----    Start     Number of\n"
+msgstr "         ---Inici---        ----Final----      Inici     Nombre de\n"
+
+#: fdisk/cfdisk.c:2219
+#, 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"
+
+#: fdisk/cfdisk.c:2220
+#, fuzzy
+msgid "-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+msgstr "-- ------ --- ---  ---   --  ---  ---  ---     ------    ------\n"
+
+#: fdisk/cfdisk.c:2253
+msgid "Raw"
+msgstr "Crues"
+
+#: fdisk/cfdisk.c:2253
+msgid "Print the table using raw data format"
+msgstr "Imprimeix la taula utilitzant el format de dades crues"
+
+#: fdisk/cfdisk.c:2254 fdisk/cfdisk.c:2357
+msgid "Sectors"
+msgstr "Sectors"
+
+#: fdisk/cfdisk.c:2254
+msgid "Print the table ordered by sectors"
+msgstr "Imprimeix la taula ordenada per sectors"
+
+#: fdisk/cfdisk.c:2255
+msgid "Table"
+msgstr "Taula"
+
+#: fdisk/cfdisk.c:2255
+msgid "Just print the partition table"
+msgstr "Imprimeix només la taula de particions"
+
+#: fdisk/cfdisk.c:2256
+msgid "Don't print the table"
+msgstr "No imprimeixes la taula"
+
+#: fdisk/cfdisk.c:2284
+msgid "Help Screen for cfdisk"
+msgstr "Pantalla d'ajuda per a cfdisk"
+
+#: fdisk/cfdisk.c:2286
+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"
+
+#: fdisk/cfdisk.c:2287
+msgid "allows you to create, delete and modify partitions on your hard"
+msgstr "curses, que us permet crear, suprimir i modificar particions del"
+
+#: fdisk/cfdisk.c:2288
+msgid "disk drive."
+msgstr "disc dur."
+
+#: fdisk/cfdisk.c:2290
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr "Copyright © 1994-1999 Kevin E. Martin i aeb"
+
+#: fdisk/cfdisk.c:2292
+msgid "Command      Meaning"
+msgstr "Ordre       Significat"
+
+#: fdisk/cfdisk.c:2293
+msgid "-------      -------"
+msgstr "-----       ----------"
+
+#: fdisk/cfdisk.c:2294
+msgid "  b          Toggle bootable flag of the current partition"
+msgstr "  b          Fixa el senyalador d'arrencada a la partició actual"
+
+#: fdisk/cfdisk.c:2295
+msgid "  d          Delete the current partition"
+msgstr "  d          Suprimeix l'actual partició"
+
+#: fdisk/cfdisk.c:2296
+msgid "  g          Change cylinders, heads, sectors-per-track parameters"
+msgstr ""
+"  g          Canvia paràmetres de cilindres, capçals i sectors per pista"
+
+#: fdisk/cfdisk.c:2297
+msgid "             WARNING: This option should only be used by people who"
+msgstr "             Avís: Aquesta opció només l'hauria d'usar aquells qui"
+
+#: fdisk/cfdisk.c:2298
+msgid "             know what they are doing."
+msgstr "             saben el que es fan."
+
+#: fdisk/cfdisk.c:2299
+msgid "  h          Print this screen"
+msgstr "  h          Imprimeix aquesta pantalla"
+
+#: fdisk/cfdisk.c:2300
+msgid "  m          Maximize disk usage of the current partition"
+msgstr "  m          Maximitza la utilització de disc de la partició actual"
+
+#: fdisk/cfdisk.c:2301
+msgid "             Note: This may make the partition incompatible with"
+msgstr "             Nota: Aquesta opció pot fer la partició incompatible"
+
+#: fdisk/cfdisk.c:2302
+msgid "             DOS, OS/2, ..."
+msgstr "             amb DOS, OS/2..."
+
+#: fdisk/cfdisk.c:2303
+msgid "  n          Create new partition from free space"
+msgstr "  n          Crea una nova partició des de l'espai lliure"
+
+#: fdisk/cfdisk.c:2304
+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"
+
+#: fdisk/cfdisk.c:2305
+msgid "             There are several different formats for the partition"
+msgstr "             Hi ha diversos formats diferents per a la partició"
+
+#: fdisk/cfdisk.c:2306
+msgid "             that you can choose from:"
+msgstr "             entre els quals podeu escollir:"
+
+#: fdisk/cfdisk.c:2307
+msgid "                r - Raw data (exactly what would be written to disk)"
+msgstr "                r - Dades crues (exactament el que s'escriurà al disc)"
+
+#: fdisk/cfdisk.c:2308
+msgid "                s - Table ordered by sectors"
+msgstr "                s - Taula ordenada per sectors"
+
+#: fdisk/cfdisk.c:2309
+msgid "                t - Table in raw format"
+msgstr "                t - Taula en format cru"
+
+#: fdisk/cfdisk.c:2310
+msgid "  q          Quit program without writing partition table"
+msgstr "  q          Surt del programa sense escriure la taula de particions"
+
+#: fdisk/cfdisk.c:2311
+msgid "  t          Change the filesystem type"
+msgstr "  t          Canvia el tipus del sistema de fitxers"
+
+#: fdisk/cfdisk.c:2312
+msgid "  u          Change units of the partition size display"
+msgstr "  u          Canvia les unitats de la mida visualitzava de la partició"
+
+#: fdisk/cfdisk.c:2313
+msgid "             Rotates through MB, sectors and cylinders"
+msgstr "             Alterna entre MB, sectors i cilindres"
+
+#: fdisk/cfdisk.c:2314
+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)"
+
+#: fdisk/cfdisk.c:2315
+msgid "             Since this might destroy data on the disk, you must"
+msgstr "             Com que això destruirà les dades del disc, ho haureu"
+
+#: fdisk/cfdisk.c:2316
+msgid "             either confirm or deny the write by entering `yes' or"
+msgstr "             de confirmar o denegar escrivint «sí» o"
+
+#: fdisk/cfdisk.c:2317
+msgid "             `no'"
+msgstr "              «no»"
+
+#: fdisk/cfdisk.c:2318
+msgid "Up Arrow     Move cursor to the previous partition"
+msgstr "Fletxa amunt Desplaça el cursor a l'anterior partició"
+
+#: fdisk/cfdisk.c:2319
+msgid "Down Arrow   Move cursor to the next partition"
+msgstr "Fletxa avall Desplaça el cursor a la següent partició"
+
+#: fdisk/cfdisk.c:2320
+msgid "CTRL-L       Redraws the screen"
+msgstr "Ctrl-L       Redibuixa la pantalla"
+
+#: fdisk/cfdisk.c:2321
+msgid "  ?          Print this screen"
+msgstr "  ?          Imprimeix aquesta pantalla"
+
+#: fdisk/cfdisk.c:2323
+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"
+
+#: fdisk/cfdisk.c:2324
+msgid "case letters (except for Writes)."
+msgstr "minúscules (excepte W per a escriure)."
+
+#: fdisk/cfdisk.c:2355 fdisk/fdisksunlabel.c:237
+msgid "Cylinders"
+msgstr "Cilindres"
+
+#: fdisk/cfdisk.c:2355
+msgid "Change cylinder geometry"
+msgstr "Canvia la geometria dels cilindres"
+
+#: fdisk/cfdisk.c:2356 fdisk/fdisksunlabel.c:235
+msgid "Heads"
+msgstr "Capçals"
+
+#: fdisk/cfdisk.c:2356
+msgid "Change head geometry"
+msgstr "Canvia la geometria dels capçals"
+
+#: fdisk/cfdisk.c:2357
+msgid "Change sector geometry"
+msgstr "Canvia la geometria dels sectors"
+
+#: fdisk/cfdisk.c:2358
+msgid "Done"
+msgstr "Fet"
+
+#: fdisk/cfdisk.c:2358
+msgid "Done with changing geometry"
+msgstr "S'ha finalitzat el canvi de geometria"
+
+#: fdisk/cfdisk.c:2371
+msgid "Enter the number of cylinders: "
+msgstr "Introduïu el nombre de cilindres: "
+
+#: fdisk/cfdisk.c:2382 fdisk/cfdisk.c:2953
+msgid "Illegal cylinders value"
+msgstr "Valor dels cilindres no permès"
+
+#: fdisk/cfdisk.c:2388
+msgid "Enter the number of heads: "
+msgstr "Introduïu el nombre de capçals: "
+
+#: fdisk/cfdisk.c:2395 fdisk/cfdisk.c:2963
+msgid "Illegal heads value"
+msgstr "Valor dels capçals no permès"
+
+#: fdisk/cfdisk.c:2401
+msgid "Enter the number of sectors per track: "
+msgstr "Introduïu el nombre de sectors per pista: "
+
+#: fdisk/cfdisk.c:2408 fdisk/cfdisk.c:2970
+msgid "Illegal sectors value"
+msgstr "Valor dels sectors no permès"
+
+#: fdisk/cfdisk.c:2511
+msgid "Enter filesystem type: "
+msgstr "Introduïu el tipus del sistema de fitxers: "
+
+#: fdisk/cfdisk.c:2529
+msgid "Cannot change FS Type to empty"
+msgstr "No es pot canviar el tipus del sistema de fitxers a buit"
+
+#: fdisk/cfdisk.c:2531
+msgid "Cannot change FS Type to extended"
+msgstr "No es pot canviar el tipus del sistema de fitxers a estès"
+
+#: fdisk/cfdisk.c:2562
+#, c-format
+msgid "Unk(%02X)"
+msgstr "Desc.(%02X)"
+
+#: fdisk/cfdisk.c:2565 fdisk/cfdisk.c:2568
+msgid ", NC"
+msgstr ", NC"
+
+#: fdisk/cfdisk.c:2573 fdisk/cfdisk.c:2576
+msgid "NC"
+msgstr "NC"
+
+#: fdisk/cfdisk.c:2584
+msgid "Pri/Log"
+msgstr "Pri/Lòg"
+
+#: fdisk/cfdisk.c:2591
+#, c-format
+msgid "Unknown (%02X)"
+msgstr "Desconegut (%02X)"
+
+#: fdisk/cfdisk.c:2660
+#, c-format
+msgid "Disk Drive: %s"
+msgstr "Unitat de disc: %s"
+
+#: fdisk/cfdisk.c:2667
+#, c-format
+msgid "Size: %lld bytes, %lld MB"
+msgstr "Mida: %lld octets, %lld MB"
+
+#: fdisk/cfdisk.c:2670
+#, c-format
+msgid "Size: %lld bytes, %lld.%lld GB"
+msgstr "Mida: %lld octets, %lld.%lld GB"
+
+#: fdisk/cfdisk.c:2674
+#, c-format
+msgid "Heads: %d   Sectors per Track: %d   Cylinders: %lld"
+msgstr "Capçals: %d   Sectors per pista: %d   Cilindres: %lld"
+
+#: fdisk/cfdisk.c:2678 login-utils/chfn.c:377
+msgid "Name"
+msgstr "Nom"
+
+#: fdisk/cfdisk.c:2679
+msgid "Flags"
+msgstr "Senyaladors"
+
+#: fdisk/cfdisk.c:2680
+msgid "Part Type"
+msgstr "Tipus part."
+
+#: fdisk/cfdisk.c:2681
+msgid "FS Type"
+msgstr "Tipus Sis.Fitx."
+
+#: fdisk/cfdisk.c:2682
+msgid "[Label]"
+msgstr "[Etiqueta]"
+
+#: fdisk/cfdisk.c:2684
+msgid "    Sectors"
+msgstr "    Sectors"
+
+#: fdisk/cfdisk.c:2686
+msgid "  Cylinders"
+msgstr "  Cilindres"
+
+#: fdisk/cfdisk.c:2688
+msgid "  Size (MB)"
+msgstr "  Mida (MB)"
+
+#: fdisk/cfdisk.c:2690
+msgid "  Size (GB)"
+msgstr "  Mida (GB)"
+
+#: fdisk/cfdisk.c:2744
+msgid "Bootable"
+msgstr "Arrencable"
+
+#: fdisk/cfdisk.c:2744
+msgid "Toggle bootable flag of the current partition"
+msgstr "Commuta el senyalador d'arrencada de la partició actual"
+
+#: fdisk/cfdisk.c:2745
+msgid "Delete"
+msgstr "Suprimeix"
+
+#: fdisk/cfdisk.c:2745
+msgid "Delete the current partition"
+msgstr "Suprimeix la partició actual"
+
+#: fdisk/cfdisk.c:2746
+msgid "Geometry"
+msgstr "Geometria"
+
+#: fdisk/cfdisk.c:2746
+msgid "Change disk geometry (experts only)"
+msgstr "Canvia la geometria del disc (només usuaris experts)"
+
+#: fdisk/cfdisk.c:2747
+msgid "Help"
+msgstr "Ajuda"
+
+#: fdisk/cfdisk.c:2747
+msgid "Print help screen"
+msgstr "Mostra la pantalla d'ajuda"
+
+#: fdisk/cfdisk.c:2748
+msgid "Maximize"
+msgstr "Maximitza"
+
+#: fdisk/cfdisk.c:2748
+msgid "Maximize disk usage of the current partition (experts only)"
+msgstr ""
+"Maximitza la utilització del disc en la partició actual (només usuaris "
+"experts)"
+
+#: fdisk/cfdisk.c:2749
+msgid "New"
+msgstr "Nova"
+
+#: fdisk/cfdisk.c:2749
+msgid "Create new partition from free space"
+msgstr "Crea una nova partició des de l'espai lliure"
+
+#: fdisk/cfdisk.c:2750
+msgid "Print"
+msgstr "Imprimeix"
+
+#: fdisk/cfdisk.c:2750
+msgid "Print partition table to the screen or to a file"
+msgstr "Imprimeix la taula de particions a la pantalla o en un fitxer"
+
+#: fdisk/cfdisk.c:2751
+msgid "Quit"
+msgstr "Surt"
+
+#: fdisk/cfdisk.c:2751
+msgid "Quit program without writing partition table"
+msgstr "Surt del programa sense escriure la taula de particions"
+
+#: fdisk/cfdisk.c:2752
+msgid "Type"
+msgstr "Tipus"
+
+#: fdisk/cfdisk.c:2752
+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.)"
+
+#: fdisk/cfdisk.c:2753
+msgid "Units"
+msgstr "Unitats"
+
+#: fdisk/cfdisk.c:2753
+msgid "Change units of the partition size display (MB, sect, cyl)"
+msgstr "Canvia les unitats de la mida de la partició (MB, sectors, cilindres)"
+
+#: fdisk/cfdisk.c:2754
+msgid "Write"
+msgstr "Escriu"
+
+#: fdisk/cfdisk.c:2754
+msgid "Write partition table to disk (this might destroy data)"
+msgstr "Escriu la taula de particions al disc (això pot destruir les dades)"
+
+#: fdisk/cfdisk.c:2800
+msgid "Cannot make this partition bootable"
+msgstr "Aquesta partició no es pot fer arrencable"
+
+#: fdisk/cfdisk.c:2810
+msgid "Cannot delete an empty partition"
+msgstr "No es pot suprimir una partició buida"
+
+#: fdisk/cfdisk.c:2830 fdisk/cfdisk.c:2832
+msgid "Cannot maximize this partition"
+msgstr "No es pot maximitzar aquesta partició"
+
+#: fdisk/cfdisk.c:2840
+msgid "This partition is unusable"
+msgstr "Aquesta partició és inutilitzable"
+
+#: fdisk/cfdisk.c:2842
+msgid "This partition is already in use"
+msgstr "Aquesta partició ja està en ús"
+
+#: fdisk/cfdisk.c:2859
+msgid "Cannot change the type of an empty partition"
+msgstr "No es pot canviar el tipus d'una partició buida"
+
+#: fdisk/cfdisk.c:2886 fdisk/cfdisk.c:2892
+msgid "No more partitions"
+msgstr "No hi ha més particions"
+
+#: fdisk/cfdisk.c:2899
+msgid "Illegal command"
+msgstr "Ordre no permesa"
+
+#: fdisk/cfdisk.c:2909
+#, c-format
+msgid "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+msgstr "Copyright © 1994-2002 Kevin E. Martin i aeb\n"
+
+#: fdisk/cfdisk.c:2916
+#, 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"
+
+#: fdisk/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)."
+
+#: fdisk/fdiskbsdlabel.c:122
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+"\n"
+"Etiqueta BSD per al dispositiu: %s\n"
+
+#: fdisk/fdiskbsdlabel.c:129 fdisk/fdisk.c:386 fdisk/fdisk.c:405
+#: fdisk/fdisk.c:423 fdisk/fdisk.c:430 fdisk/fdisk.c:453 fdisk/fdisk.c:471
+#: fdisk/fdisk.c:487 fdisk/fdisk.c:503
+msgid "Command action"
+msgstr "Acció de l'ordre"
+
+#: fdisk/fdiskbsdlabel.c:130
+msgid "   d   delete a BSD partition"
+msgstr "   d   esborra una partició BSD"
+
+#: fdisk/fdiskbsdlabel.c:131
+msgid "   e   edit drive data"
+msgstr "   e   edita dades de la unitat"
+
+#: fdisk/fdiskbsdlabel.c:132
+msgid "   i   install bootstrap"
+msgstr "   i   instal·la el carregador d'arrencada"
+
+#: fdisk/fdiskbsdlabel.c:133
+msgid "   l   list known filesystem types"
+msgstr "   l   llista els tipus de sistemes de fitxers coneguts"
+
+#: fdisk/fdiskbsdlabel.c:134 fdisk/fdisk.c:392 fdisk/fdisk.c:411
+#: fdisk/fdisk.c:424 fdisk/fdisk.c:436 fdisk/fdisk.c:461 fdisk/fdisk.c:478
+#: fdisk/fdisk.c:494 fdisk/fdisk.c:512
+msgid "   m   print this menu"
+msgstr "   m   imprimeix aquest menú"
+
+#: fdisk/fdiskbsdlabel.c:135
+msgid "   n   add a new BSD partition"
+msgstr "   n   afegeix una nova partició BSD"
+
+#: fdisk/fdiskbsdlabel.c:136
+msgid "   p   print BSD partition table"
+msgstr "   p   imprimeix la taula de particions BSD"
+
+#: fdisk/fdiskbsdlabel.c:137 fdisk/fdisk.c:396 fdisk/fdisk.c:415
+#: fdisk/fdisk.c:426 fdisk/fdisk.c:440 fdisk/fdisk.c:463 fdisk/fdisk.c:480
+#: fdisk/fdisk.c:496 fdisk/fdisk.c:514
+msgid "   q   quit without saving changes"
+msgstr "   q   surt sense desar els canvis"
+
+#: fdisk/fdiskbsdlabel.c:138 fdisk/fdisk.c:464 fdisk/fdisk.c:481
+#: fdisk/fdisk.c:497 fdisk/fdisk.c:515
+msgid "   r   return to main menu"
+msgstr "   r   torna al menú principal"
+
+#: fdisk/fdiskbsdlabel.c:139
+msgid "   s   show complete disklabel"
+msgstr "   s   mostra totes les etiquetes del disc"
+
+#: fdisk/fdiskbsdlabel.c:140
+msgid "   t   change a partition's filesystem id"
+msgstr "   t   canvia l'identificador del sistema de fitxers d'una partició"
+
+#: fdisk/fdiskbsdlabel.c:141
+msgid "   u   change units (cylinders/sectors)"
+msgstr "   u   canvia les unitats (cilindres/sectors)"
+
+#: fdisk/fdiskbsdlabel.c:142
+msgid "   w   write disklabel to disk"
+msgstr "   w   escriu l'etiqueta de disc al disc"
+
+#: fdisk/fdiskbsdlabel.c:144
+msgid "   x   link BSD partition to non-BSD partition"
+msgstr "   x   enllaça la partició BSD a una partició no BSD"
+
+#: fdisk/fdiskbsdlabel.c:176
+#, 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"
+
+#: fdisk/fdiskbsdlabel.c:180
+#, 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"
+
+#: fdisk/fdiskbsdlabel.c:190
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr "No hi ha cap partició *BSD en %s.\n"
+
+#: fdisk/fdiskbsdlabel.c:204
+msgid "BSD disklabel command (m for help): "
+msgstr "Ordre d'etiqueta de disc BSD (m per a l'ajuda): "
+
+# Parla d'etiquetes, segurament és femení
+#: fdisk/fdiskbsdlabel.c:284 fdisk/fdisk.c:2052 fdisk/fdisksgilabel.c:651
+#: fdisk/fdisksunlabel.c:431
+#, c-format
+msgid "First %s"
+msgstr "Primera %s"
+
+# Parla d'etiquetes, segurament és femení
+#: fdisk/fdiskbsdlabel.c:291 fdisk/fdisksunlabel.c:488
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr "Última %s o +mida o +midaM o +midaK"
+
+#: fdisk/fdiskbsdlabel.c:318
+#, c-format
+msgid "type: %s\n"
+msgstr "tipus: %s\n"
+
+#: fdisk/fdiskbsdlabel.c:320
+#, c-format
+msgid "type: %d\n"
+msgstr "tipus: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:321
+#, c-format
+msgid "disk: %.*s\n"
+msgstr "disc: %.*s\n"
+
+#: fdisk/fdiskbsdlabel.c:322
+#, c-format
+msgid "label: %.*s\n"
+msgstr "etiqueta: %.*s\n"
+
+#: fdisk/fdiskbsdlabel.c:323
+#, c-format
+msgid "flags:"
+msgstr "senyaladors:"
+
+#: fdisk/fdiskbsdlabel.c:325
+#, c-format
+msgid " removable"
+msgstr " extraïble"
+
+#: fdisk/fdiskbsdlabel.c:327
+#, c-format
+msgid " ecc"
+msgstr " ecc"
+
+#: fdisk/fdiskbsdlabel.c:329
+#, c-format
+msgid " badsect"
+msgstr " sector dolent"
+
+#: fdisk/fdiskbsdlabel.c:333
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr "octets per sector: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:334
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr "sectors per pista: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:335
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr "pistes per cilindre: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:336
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr "sectors per cilindre: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:337
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr "cilindres: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:338
+#, c-format
+msgid "rpm: %d\n"
+msgstr "r.p.m.: %d\n"
+
+# FIXME
+#: fdisk/fdiskbsdlabel.c:339
+#, c-format
+msgid "interleave: %d\n"
+msgstr "entrellaçat: %d\n"
+
+# FIXME
+#: fdisk/fdiskbsdlabel.c:340
+#, c-format
+msgid "trackskew: %d\n"
+msgstr "decalatge: %d\n"
+
+# FIXME
+#: fdisk/fdiskbsdlabel.c:341
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr "decalatge del cilindre: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:342
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr "canvi de capçal: %ld\t\t# mil·lisegons\n"
+
+#: fdisk/fdiskbsdlabel.c:344
+#, c-format
+msgid "track-to-track seek: %ld\t# milliseconds\n"
+msgstr "recerca pista a pista: %ld\t# milisegons\n"
+
+#: fdisk/fdiskbsdlabel.c:346
+#, c-format
+msgid "drivedata: "
+msgstr "dades unitat: "
+
+#: fdisk/fdiskbsdlabel.c:355
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+"\n"
+"%d particions:\n"
+
+#: fdisk/fdiskbsdlabel.c:356
+#, c-format
+msgid "#       start       end      size     fstype   [fsize bsize   cpg]\n"
+msgstr "núm     inici       final    mida     sist.fitx. [fmida bmida   cpg]\n"
+
+#: fdisk/fdiskbsdlabel.c:405 fdisk/fdiskbsdlabel.c:408
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr "S'està escrivint l'etiqueta de disc a %s.\n"
+
+#: fdisk/fdiskbsdlabel.c:420 fdisk/fdiskbsdlabel.c:422
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr "%s no conté cap etiqueta de disc.\n"
+
+#: fdisk/fdiskbsdlabel.c:427
+msgid "Do you want to create a disklabel? (y/n) "
+msgstr "Desitgeu crear una etiqueta de disc? (y/n) "
+
+#: fdisk/fdiskbsdlabel.c:467
+msgid "bytes/sector"
+msgstr "octets/sector"
+
+#: fdisk/fdiskbsdlabel.c:468
+msgid "sectors/track"
+msgstr "sectors/pista"
+
+#: fdisk/fdiskbsdlabel.c:469
+msgid "tracks/cylinder"
+msgstr "pistes/cilindre"
+
+#: fdisk/fdiskbsdlabel.c:470 fdisk/fdisk.c:648 fdisk/fdisk.c:1357
+#: fdisk/sfdisk.c:945
+msgid "cylinders"
+msgstr "cilindres"
+
+#: fdisk/fdiskbsdlabel.c:477
+msgid "sectors/cylinder"
+msgstr "sectors/cilindre"
+
+#: fdisk/fdiskbsdlabel.c:481
+#, c-format
+msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
+msgstr "Ha de ser <= sectors/pista * pistes/cilindre (valor per defecte).\n"
+
+#: fdisk/fdiskbsdlabel.c:483
+msgid "rpm"
+msgstr "r.p.m."
+
+# FIXME
+#: fdisk/fdiskbsdlabel.c:484
+msgid "interleave"
+msgstr "entrellaçat"
+
+# FIXME
+#: fdisk/fdiskbsdlabel.c:485
+msgid "trackskew"
+msgstr "decalatge de les pistes"
+
+# FIXME
+#: fdisk/fdiskbsdlabel.c:486
+msgid "cylinderskew"
+msgstr "decalatge dels cilindres"
+
+#: fdisk/fdiskbsdlabel.c:487
+msgid "headswitch"
+msgstr "canvi de capçal"
+
+#: fdisk/fdiskbsdlabel.c:488
+msgid "track-to-track seek"
+msgstr "cerca pista a pista"
+
+#: fdisk/fdiskbsdlabel.c:529
+#, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr "Carregador: %sboot -> boot%s (%s): "
+
+#: fdisk/fdiskbsdlabel.c:554
+#, c-format
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr "El carregador s'encavalca amb l'etiqueta de disc.\n"
+
+#: fdisk/fdiskbsdlabel.c:575 fdisk/fdiskbsdlabel.c:577
+#, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr "S'ha instal·lat el carregador a %s.\n"
+
+#: fdisk/fdiskbsdlabel.c:599
+#, c-format
+msgid "Partition (a-%c): "
+msgstr "Partició (a-%c): "
+
+#: fdisk/fdiskbsdlabel.c:618 fdisk/fdisk.c:2199
+#, c-format
+msgid "The maximum number of partitions has been created\n"
+msgstr "S'ha creat el màxim nombre de particions\n"
+
+#: fdisk/fdiskbsdlabel.c:630
+#, c-format
+msgid "This partition already exists.\n"
+msgstr "Aquesta partició ja existeix.\n"
+
+#: fdisk/fdiskbsdlabel.c:757
+#, 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"
+
+#: fdisk/fdiskbsdlabel.c:805
+#, c-format
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+"\n"
+"S'estan sincronitzant els discs.\n"
+
+#: fdisk/fdisk.c:244
+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"
+
+#: fdisk/fdisk.c:256
+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"
+
+#: fdisk/fdisk.c:265
+#, c-format
+msgid "Unable to open %s\n"
+msgstr "No s'ha pogut obrir %s\n"
+
+#: fdisk/fdisk.c:269
+#, c-format
+msgid "Unable to read %s\n"
+msgstr "No s'ha pogut llegir %s\n"
+
+#: fdisk/fdisk.c:273
+#, c-format
+msgid "Unable to seek on %s\n"
+msgstr "No s'ha pogut cercar en %s\n"
+
+#: fdisk/fdisk.c:277
+#, c-format
+msgid "Unable to write %s\n"
+msgstr "No s'ha pogut escriure %s\n"
+
+#: fdisk/fdisk.c:281
+#, c-format
+msgid "BLKGETSIZE ioctl failed on %s\n"
+msgstr "No s'ha pogut executar ioctl BLKGETSIZE a %s\n"
+
+#: fdisk/fdisk.c:285
+msgid "Unable to allocate any more memory\n"
+msgstr "No s'ha pogut assignar més memòria\n"
+
+#: fdisk/fdisk.c:288
+msgid "Fatal error\n"
+msgstr "Error fatal\n"
+
+#: fdisk/fdisk.c:387
+msgid "   a   toggle a read only flag"
+msgstr "   a   estableix un senyalador de només lectura"
+
+#: fdisk/fdisk.c:388 fdisk/fdisk.c:432
+msgid "   b   edit bsd disklabel"
+msgstr "   b   edita l'etiqueta de disc bsd"
+
+#: fdisk/fdisk.c:389
+msgid "   c   toggle the mountable flag"
+msgstr "   c   estableix senyalador de muntable"
+
+#: fdisk/fdisk.c:390 fdisk/fdisk.c:409 fdisk/fdisk.c:434
+msgid "   d   delete a partition"
+msgstr "   d   suprimeix una partició"
+
+#: fdisk/fdisk.c:391 fdisk/fdisk.c:410 fdisk/fdisk.c:435
+msgid "   l   list known partition types"
+msgstr "   l   llista els tipus de particions conegudes"
+
+#: fdisk/fdisk.c:393 fdisk/fdisk.c:412 fdisk/fdisk.c:437
+msgid "   n   add a new partition"
+msgstr "   n   afegeix una nova partició"
+
+#: fdisk/fdisk.c:394 fdisk/fdisk.c:413 fdisk/fdisk.c:425 fdisk/fdisk.c:438
+msgid "   o   create a new empty DOS partition table"
+msgstr "   o   crea una nova taula de particions DOS buida"
+
+#: fdisk/fdisk.c:395 fdisk/fdisk.c:414 fdisk/fdisk.c:439 fdisk/fdisk.c:462
+#: fdisk/fdisk.c:479 fdisk/fdisk.c:495 fdisk/fdisk.c:513
+msgid "   p   print the partition table"
+msgstr "   p   imprimeix la taula de particions"
+
+#: fdisk/fdisk.c:397 fdisk/fdisk.c:416 fdisk/fdisk.c:427 fdisk/fdisk.c:441
+msgid "   s   create a new empty Sun disklabel"
+msgstr "   s   crea una etiqueta de disc Sun nova"
+
+#: fdisk/fdisk.c:398 fdisk/fdisk.c:417 fdisk/fdisk.c:442
+msgid "   t   change a partition's system id"
+msgstr "   t   canvia l'identificador del sistema d'una partició"
+
+#: fdisk/fdisk.c:399 fdisk/fdisk.c:418 fdisk/fdisk.c:443
+msgid "   u   change display/entry units"
+msgstr "   u   canvia les unitats de visualització/entrada"
+
+#: fdisk/fdisk.c:400 fdisk/fdisk.c:419 fdisk/fdisk.c:444 fdisk/fdisk.c:466
+#: fdisk/fdisk.c:483 fdisk/fdisk.c:499 fdisk/fdisk.c:517
+msgid "   v   verify the partition table"
+msgstr "   v   verifica la taula de particions"
+
+#: fdisk/fdisk.c:401 fdisk/fdisk.c:420 fdisk/fdisk.c:445 fdisk/fdisk.c:467
+#: fdisk/fdisk.c:484 fdisk/fdisk.c:500 fdisk/fdisk.c:518
+msgid "   w   write table to disk and exit"
+msgstr "   w   escriu la taula al disc i surt"
+
+#: fdisk/fdisk.c:402 fdisk/fdisk.c:446
+msgid "   x   extra functionality (experts only)"
+msgstr "   x   funcions addicionals (només experts)"
+
+#: fdisk/fdisk.c:406
+msgid "   a   select bootable partition"
+msgstr "   a   selecciona la partició d'arrencada"
+
+#: fdisk/fdisk.c:407
+msgid "   b   edit bootfile entry"
+msgstr "   b   edita l'entrada del fitxer d'arrencada"
+
+#: fdisk/fdisk.c:408
+msgid "   c   select sgi swap partition"
+msgstr "   c   selecciona la partició d'intercanvi sgi"
+
+#: fdisk/fdisk.c:431
+msgid "   a   toggle a bootable flag"
+msgstr "   a   estableix un senyalador d'arrencada"
+
+#: fdisk/fdisk.c:433
+msgid "   c   toggle the dos compatibility flag"
+msgstr "   c   estableix el senyalador de compatibilitat amb DOS"
+
+#: fdisk/fdisk.c:454
+msgid "   a   change number of alternate cylinders"
+msgstr "   a   canvia el nombre de cilindres alternatius"
+
+#: fdisk/fdisk.c:455 fdisk/fdisk.c:473 fdisk/fdisk.c:489 fdisk/fdisk.c:505
+msgid "   c   change number of cylinders"
+msgstr "   c   canvia el nombre de cilindres"
+
+#: fdisk/fdisk.c:456 fdisk/fdisk.c:474 fdisk/fdisk.c:490 fdisk/fdisk.c:506
+msgid "   d   print the raw data in the partition table"
+msgstr "   d   imprimeix les dades crues a la taula de particions"
+
+#: fdisk/fdisk.c:457
+msgid "   e   change number of extra sectors per cylinder"
+msgstr "   e   canvia el nombre de sectors addicionals per cilindre"
+
+#: fdisk/fdisk.c:458 fdisk/fdisk.c:477 fdisk/fdisk.c:493 fdisk/fdisk.c:510
+msgid "   h   change number of heads"
+msgstr "   h   canvia el nombre de capçals"
+
+# FIXME
+#: fdisk/fdisk.c:459
+msgid "   i   change interleave factor"
+msgstr "   i   canvia el factor d'entrellaçat"
+
+#: fdisk/fdisk.c:460
+msgid "   o   change rotation speed (rpm)"
+msgstr "   o   canvia velocitat de rotació (r.p.m.)"
+
+#: fdisk/fdisk.c:465 fdisk/fdisk.c:482 fdisk/fdisk.c:498 fdisk/fdisk.c:516
+msgid "   s   change number of sectors/track"
+msgstr "   s   canvia el nombre de sectors per pista"
+
+#: fdisk/fdisk.c:468
+msgid "   y   change number of physical cylinders"
+msgstr "   y   canvia el nombre de cilindres físics"
+
+#: fdisk/fdisk.c:472 fdisk/fdisk.c:488 fdisk/fdisk.c:504
+msgid "   b   move beginning of data in a partition"
+msgstr "   b   desplaça les dades d'una partició a l'inici"
+
+#: fdisk/fdisk.c:475 fdisk/fdisk.c:491 fdisk/fdisk.c:507
+msgid "   e   list extended partitions"
+msgstr "   e   llista les particions esteses"
+
+#: fdisk/fdisk.c:476 fdisk/fdisk.c:492 fdisk/fdisk.c:509
+msgid "   g   create an IRIX (SGI) partition table"
+msgstr "   g   crea una taula de particions IRIX (SGI)"
+
+#: fdisk/fdisk.c:508
+msgid "   f   fix partition order"
+msgstr "   f   arregla l'ordre de les particions"
+
+#: fdisk/fdisk.c:511
+#, fuzzy
+msgid "   i   change the disk identifier"
+msgstr "   u   canvia les unitats de visualització/entrada"
+
+#: fdisk/fdisk.c:627
+#, c-format
+msgid "You must set"
+msgstr "Heu de definir els"
+
+#: fdisk/fdisk.c:644
+msgid "heads"
+msgstr "capçals"
+
+#: fdisk/fdisk.c:646 fdisk/fdisk.c:1357 fdisk/sfdisk.c:945
+msgid "sectors"
+msgstr "sectors"
+
+#: fdisk/fdisk.c:652
+#, 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"
+
+#: fdisk/fdisk.c:653
+msgid " and "
+msgstr " i "
+
+#: fdisk/fdisk.c:670
+#, c-format
+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"
+
+#: fdisk/fdisk.c:683
+#, 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 %d-byte sectors. Use parted(1) and GUID \n"
+"partition table format (GPT).\n"
+"\n"
+msgstr ""
+
+#: fdisk/fdisk.c:708
+#, c-format
+msgid "Bad offset in primary extended partition\n"
+msgstr "Desplaçament incorrecte en particions primàries esteses\n"
+
+#: fdisk/fdisk.c:722
+#, 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"
+
+#: fdisk/fdisk.c:741
+#, 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"
+
+#: fdisk/fdisk.c:749
+#, 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"
+
+#: fdisk/fdisk.c:782
+#, fuzzy, c-format
+msgid "omitting empty partition (%d)\n"
+msgstr "Avís: partició buida\n"
+
+#: fdisk/fdisk.c:801
+#, c-format
+msgid "Disk identifier: 0x%08x\n"
+msgstr ""
+
+#: fdisk/fdisk.c:810
+#, c-format
+msgid "New disk identifier (current 0x%08x): "
+msgstr ""
+
+#: fdisk/fdisk.c:829
+#, fuzzy, c-format
+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"
+
+#: fdisk/fdisk.c:861
+#, c-format
+msgid "Note: sector size is %d (not %d)\n"
+msgstr "Nota: la mida del sector és %d (no %d)\n"
+
+#: fdisk/fdisk.c:990
+#, c-format
+msgid "You will not be able to write the partition table.\n"
+msgstr "No podreu escriure la taula de particions.\n"
+
+# 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.
+#: fdisk/fdisk.c:1022
+#, c-format
+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"
+
+#: fdisk/fdisk.c:1032
+#, c-format
+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"
+
+#: fdisk/fdisk.c:1049
+#, c-format
+msgid "Internal error\n"
+msgstr "Error intern\n"
+
+#: fdisk/fdisk.c:1062
+#, c-format
+msgid "Ignoring extra extended partition %d\n"
+msgstr "S'està ignorant la partició estesa addicional %d\n"
+
+#: fdisk/fdisk.c:1074
+#, 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"
+
+#: fdisk/fdisk.c:1096
+#, c-format
+msgid ""
+"\n"
+"got EOF thrice - exiting..\n"
+msgstr ""
+"\n"
+"s'ha obtingut EOF tres vegades - s'està sortint...\n"
+
+#: fdisk/fdisk.c:1135
+msgid "Hex code (type L to list codes): "
+msgstr "Codi hex. (escriviu L per veure la llista de codis): "
+
+#: fdisk/fdisk.c:1175
+#, c-format
+msgid "%s (%u-%u, default %u): "
+msgstr "%s (%u-%u, valor per defecte %u): "
+
+#: fdisk/fdisk.c:1242
+#, c-format
+msgid "Unsupported suffix: '%s'.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1243
+#, c-format
+msgid ""
+"Supported: 10^N: KB (KiloByte), MB (MegaByte), GB (GigaByte)\n"
+"            2^N: K  (KibiByte), M  (MebiByte), G  (GibiByte)\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1269
+#, c-format
+msgid "Using default value %u\n"
+msgstr "S'està utilitzant el valor per defecte %u\n"
+
+#: fdisk/fdisk.c:1273
+#, c-format
+msgid "Value out of range.\n"
+msgstr "El valor està fora del rang.\n"
+
+#: fdisk/fdisk.c:1283
+msgid "Partition number"
+msgstr "Nombre de partició"
+
+#: fdisk/fdisk.c:1294
+#, c-format
+msgid "Warning: partition %d has empty type\n"
+msgstr "Avís: la partició %d no té tipus\n"
+
+#: fdisk/fdisk.c:1316 fdisk/fdisk.c:1342
+#, c-format
+msgid "Selected partition %d\n"
+msgstr "S'ha seleccionat la partició %d\n"
+
+#: fdisk/fdisk.c:1319
+#, c-format
+msgid "No partition is defined yet!\n"
+msgstr "Encara no hi ha cap partició definida.\n"
+
+#: fdisk/fdisk.c:1345
+#, c-format
+msgid "All primary partitions have been defined already!\n"
+msgstr "Ja s'han definit totes les particions primàries.\n"
+
+#: fdisk/fdisk.c:1355
+msgid "cylinder"
+msgstr "cilindre"
+
+#: fdisk/fdisk.c:1355
+msgid "sector"
+msgstr "sector"
+
+#: fdisk/fdisk.c:1364
+#, c-format
+msgid "Changing display/entry units to %s\n"
+msgstr "S'està canviant les unitats de visualització/entrada a %s\n"
+
+#: fdisk/fdisk.c:1375
+#, c-format
+msgid "WARNING: Partition %d is an extended partition\n"
+msgstr "Avís: la partició %d és una partició estesa\n"
+
+#: fdisk/fdisk.c:1386
+#, c-format
+msgid "DOS Compatibility flag is set\n"
+msgstr "S'ha establert el senyalador de compatibilitat amb DOS\n"
+
+#: fdisk/fdisk.c:1390
+#, c-format
+msgid "DOS Compatibility flag is not set\n"
+msgstr "No s'ha establert el senyalador de compatibilitat amb DOS\n"
+
+#: fdisk/fdisk.c:1490
+#, c-format
+msgid "Partition %d does not exist yet!\n"
+msgstr "La partició %d encara no existeix.\n"
+
+#: fdisk/fdisk.c:1495
+#, 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"
+
+#: fdisk/fdisk.c:1504
+#, 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"
+
+#: fdisk/fdisk.c:1513
+#, 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"
+
+#: fdisk/fdisk.c:1519
+#, 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"
+
+#: fdisk/fdisk.c:1536
+#, 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"
+
+#: fdisk/fdisk.c:1539
+#, 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"
+
+#: fdisk/fdisk.c:1591
+#, 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"
+
+#: fdisk/fdisk.c:1593 fdisk/fdisk.c:1601 fdisk/fdisk.c:1610 fdisk/fdisk.c:1620
+#, c-format
+msgid "     phys=(%d, %d, %d) "
+msgstr "     físic=(%d, %d, %d) "
+
+#: fdisk/fdisk.c:1594 fdisk/fdisk.c:1602
+#, c-format
+msgid "logical=(%d, %d, %d)\n"
+msgstr "lògic=(%d, %d, %d)\n"
+
+#: fdisk/fdisk.c:1599
+#, c-format
+msgid "Partition %d has different physical/logical endings:\n"
+msgstr "La partició %d té diferents finals físics/lògics:\n"
+
+#: fdisk/fdisk.c:1608
+#, c-format
+msgid "Partition %i does not start on cylinder boundary:\n"
+msgstr "La partició %i no comença en el límit del cilindre:\n"
+
+#: fdisk/fdisk.c:1611
+#, c-format
+msgid "should be (%d, %d, 1)\n"
+msgstr "ha de ser (%d, %d, 1)\n"
+
+#: fdisk/fdisk.c:1617
+#, 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"
+
+#: fdisk/fdisk.c:1621
+#, c-format
+msgid "should be (%d, %d, %d)\n"
+msgstr "ha de ser (%d, %d, %d)\n"
+
+#: fdisk/fdisk.c:1633
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld MB, %lld bytes\n"
+msgstr ""
+"\n"
+"Disc %s: %ld MB, %lld octets\n"
+
+#: fdisk/fdisk.c:1637
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld.%ld GB, %lld bytes\n"
+msgstr ""
+"\n"
+"Disc %s: %ld.%ld GB, %lld octets\n"
+
+#: fdisk/fdisk.c:1640
+#, fuzzy, c-format
+msgid "%d heads, %llu sectors/track, %d cylinders"
+msgstr "%d capçals, %d sectors/pista, %d cilindres"
+
+#: fdisk/fdisk.c:1643
+#, c-format
+msgid ", total %llu sectors"
+msgstr ", total %llu sectors"
+
+#: fdisk/fdisk.c:1646
+#, fuzzy, c-format
+msgid "Units = %s of %d * %d = %d bytes\n"
+msgstr ""
+"Unitats = %s de %d * %d = %d octets\n"
+"\n"
+
+#: fdisk/fdisk.c:1757
+#, c-format
+msgid ""
+"Nothing to do. Ordering is correct already.\n"
+"\n"
+msgstr ""
+"Res a fer. L'ordenament ja és correcte.\n"
+"\n"
+
+#: fdisk/fdisk.c:1785
+#, fuzzy, c-format
+msgid "Done.\n"
+msgstr ""
+"Fet\n"
+"\n"
+
+#: fdisk/fdisk.c:1813
+#, 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"
+
+#: fdisk/fdisk.c:1826
+#, c-format
+msgid "%*s Boot      Start         End      Blocks   Id  System\n"
+msgstr "%*s Arrenc.   Inici         Final    Blocs    Id  Sistema\n"
+
+#: fdisk/fdisk.c:1827 fdisk/fdisksgilabel.c:223 fdisk/fdisksunlabel.c:603
+msgid "Device"
+msgstr "Dispositiu"
+
+#: fdisk/fdisk.c:1864
+#, 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"
+
+#: fdisk/fdisk.c:1874
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %d cylinders\n"
+"\n"
+msgstr ""
+"\n"
+"Disc %s: %d capçals, %d sectors, %d cilindres\n"
+"\n"
+
+#: fdisk/fdisk.c:1876
+#, 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"
+
+#: fdisk/fdisk.c:1922
+#, c-format
+msgid "Warning: partition %d contains sector 0\n"
+msgstr "Avís: la partició %d conté el sector 0\n"
+
+#: fdisk/fdisk.c:1925
+#, 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"
+
+#: fdisk/fdisk.c:1928
+#, 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"
+
+#: fdisk/fdisk.c:1931
+#, c-format
+msgid "Partitions %d: cylinder %d greater than maximum %d\n"
+msgstr "Partició %d: el cilindre %d supera el màxim %d\n"
+
+#: fdisk/fdisk.c:1935
+#, c-format
+msgid "Partition %d: previous sectors %d disagrees with total %d\n"
+msgstr "Partició %d: sectors anteriors %d difereixen del total %d\n"
+
+#: fdisk/fdisk.c:1968
+#, c-format
+msgid "Warning: bad start-of-data in partition %d\n"
+msgstr "Avís: inici de dades incorrecte en la partició %d\n"
+
+#: fdisk/fdisk.c:1976
+#, c-format
+msgid "Warning: partition %d overlaps partition %d.\n"
+msgstr "Avís: la partició %d cavalca amb la partició %d.\n"
+
+#: fdisk/fdisk.c:1996
+#, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr "Avís: la partició %d està buida\n"
+
+#: fdisk/fdisk.c:2001
+#, 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"
+
+#: fdisk/fdisk.c:2007
+#, 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"
+
+#: fdisk/fdisk.c:2010
+#, fuzzy, c-format
+msgid "%lld unallocated %d-byte sectors\n"
+msgstr "%lld sectors no assignats\n"
+
+#: fdisk/fdisk.c:2025 fdisk/fdisksgilabel.c:633 fdisk/fdisksunlabel.c:416
+#, 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"
+
+#: fdisk/fdisk.c:2067
+#, fuzzy, c-format
+msgid "Sector %llu is already allocated\n"
+msgstr "El sector %d ja està assignat\n"
+
+#: fdisk/fdisk.c:2103
+#, c-format
+msgid "No free sectors available\n"
+msgstr "No hi ha cap sector lliure disponible\n"
+
+#: fdisk/fdisk.c:2112
+#, c-format
+msgid "Last %1$s, +%2$s or +size{K,M,G}"
+msgstr ""
+
+#: fdisk/fdisk.c:2178
+#, 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"
+
+#: fdisk/fdisk.c:2187
+#, 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"
+
+#: fdisk/fdisk.c:2207
+#, c-format
+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"
+
+#: fdisk/fdisk.c:2210
+#, c-format
+msgid "All logical partitions are in use\n"
+msgstr "S'usen totes les particions lògiques\n"
+
+#: fdisk/fdisk.c:2211
+#, c-format
+msgid "Adding a primary partition\n"
+msgstr "S'està afegint una partició primària\n"
+
+#: fdisk/fdisk.c:2216
+#, c-format
+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"
+
+#: fdisk/fdisk.c:2218
+msgid "l   logical (5 or over)"
+msgstr "l   lògica (5 o superior)"
+
+#: fdisk/fdisk.c:2218
+msgid "e   extended"
+msgstr "e   estesa"
+
+#: fdisk/fdisk.c:2237
+#, c-format
+msgid "Invalid partition number for type `%c'\n"
+msgstr "Nombre de partició no vàlid per al tipus `%c'\n"
+
+#: fdisk/fdisk.c:2273
+#, c-format
+msgid ""
+"The partition table has been altered!\n"
+"\n"
+msgstr ""
+"S'ha modificat la taula de particions.\n"
+"\n"
+
+#: fdisk/fdisk.c:2287
+#, c-format
+msgid "Calling ioctl() to re-read partition table.\n"
+msgstr "S'està cridant ioctl() per rellegir la taula de particions.\n"
+
+#: fdisk/fdisk.c:2296
+#, fuzzy, c-format
+msgid ""
+"\n"
+"WARNING: Re-reading the partition table failed with error %d: %s.\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"
+
+#: fdisk/fdisk.c:2304
+#, 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"
+
+#: fdisk/fdisk.c:2310
+#, c-format
+msgid ""
+"\n"
+"Error closing file\n"
+msgstr ""
+"\n"
+"S'ha produït un error en tancar el fitxer\n"
+
+#: fdisk/fdisk.c:2314
+#, c-format
+msgid "Syncing disks.\n"
+msgstr "S'estan sincronitzant els discs.\n"
+
+#: fdisk/fdisk.c:2361
+#, c-format
+msgid "Partition %d has no data area\n"
+msgstr "La partició %d no té cap àrea de dades\n"
+
+#: fdisk/fdisk.c:2366
+msgid "New beginning of data"
+msgstr "Nou començament de dades"
+
+#: fdisk/fdisk.c:2382
+msgid "Expert command (m for help): "
+msgstr "Ordre d'expert (m per a obtenir ajuda): "
+
+#: fdisk/fdisk.c:2395
+msgid "Number of cylinders"
+msgstr "Nombre de cilindres"
+
+#: fdisk/fdisk.c:2422
+msgid "Number of heads"
+msgstr "Nombre de capçals"
+
+#: fdisk/fdisk.c:2449
+msgid "Number of sectors"
+msgstr "Nombre de sectors"
+
+#: fdisk/fdisk.c:2452
+#, c-format
+msgid "Warning: setting sector offset for DOS compatiblity\n"
+msgstr ""
+"Avís: s'està establint el desplaçament del sector per a la compatibilitat "
+"amb DOS\n"
+
+#: fdisk/fdisk.c:2511
+#, 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 ""
+
+#: fdisk/fdisk.c:2533
+#, c-format
+msgid "Disk %s doesn't contain a valid partition table\n"
+msgstr "El disc %s no conté una taula de particions vàlida\n"
+
+#: fdisk/fdisk.c:2544
+#, c-format
+msgid "Cannot open %s\n"
+msgstr "No es pot obrir %s\n"
+
+#: fdisk/fdisk.c:2563 fdisk/sfdisk.c:2618
+#, c-format
+msgid "cannot open %s\n"
+msgstr "no es pot obrir %s\n"
+
+#: fdisk/fdisk.c:2583
+#, c-format
+msgid "%c: unknown command\n"
+msgstr "%c: ordre desconeguda\n"
+
+#: fdisk/fdisk.c:2653
+#, c-format
+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"
+
+#: fdisk/fdisk.c:2657
+#, 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"
+
+#: fdisk/fdisk.c:2717
+#, 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"
+
+#: fdisk/fdisk.c:2727
+msgid "Command (m for help): "
+msgstr "Ordre (m per a obtenir ajuda): "
+
+#: fdisk/fdisk.c:2743
+#, c-format
+msgid ""
+"\n"
+"The current boot file is: %s\n"
+msgstr ""
+"\n"
+"L'actual fitxer d'arrencada és: %s\n"
+
+#: fdisk/fdisk.c:2745
+msgid "Please enter the name of the new boot file: "
+msgstr "Entreu el nom del nou fitxer d'arrencada: "
+
+#: fdisk/fdisk.c:2747
+#, c-format
+msgid "Boot file unchanged\n"
+msgstr "No s'ha modificat el fitxer d'arrencada\n"
+
+#: fdisk/fdisk.c:2820
+#, c-format
+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"
+
+#: fdisk/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)."
+
+#: fdisk/fdisksgilabel.c:81
+msgid "SGI volhdr"
+msgstr "SGI volhdr"
+
+#: fdisk/fdisksgilabel.c:82
+msgid "SGI trkrepl"
+msgstr "SGI trkrepl"
+
+#: fdisk/fdisksgilabel.c:83
+msgid "SGI secrepl"
+msgstr "SGI secrepl"
+
+#: fdisk/fdisksgilabel.c:84
+msgid "SGI raw"
+msgstr "SGI cru"
+
+#: fdisk/fdisksgilabel.c:85
+msgid "SGI bsd"
+msgstr "SGI bsd"
+
+#: fdisk/fdisksgilabel.c:86
+msgid "SGI sysv"
+msgstr "SGI sysv"
+
+#: fdisk/fdisksgilabel.c:87
+msgid "SGI volume"
+msgstr "Volum SGI"
+
+#: fdisk/fdisksgilabel.c:88
+msgid "SGI efs"
+msgstr "SGI efs"
+
+#: fdisk/fdisksgilabel.c:89
+msgid "SGI lvol"
+msgstr "SGI lvol"
+
+#: fdisk/fdisksgilabel.c:90
+msgid "SGI rlvol"
+msgstr "SGI rlvol"
+
+#: fdisk/fdisksgilabel.c:91
+msgid "SGI xfs"
+msgstr "SGI en xfs"
+
+#: fdisk/fdisksgilabel.c:92
+msgid "SGI xfslog"
+msgstr "SGI xfslog"
+
+#: fdisk/fdisksgilabel.c:93
+msgid "SGI xlv"
+msgstr "SGI xlv"
+
+#: fdisk/fdisksgilabel.c:94
+msgid "SGI xvm"
+msgstr "SGI xvm"
+
+#: fdisk/fdisksgilabel.c:95 fdisk/fdisksunlabel.c:55
+msgid "Linux swap"
+msgstr "Intercanvi Linux"
+
+#: fdisk/fdisksgilabel.c:96 fdisk/fdisksunlabel.c:56
+msgid "Linux native"
+msgstr "Linux nativa"
+
+#: fdisk/fdisksgilabel.c:97 fdisk/fdisksunlabel.c:57 fdisk/i386_sys_types.c:63
+msgid "Linux LVM"
+msgstr "Linux LVM"
+
+#: fdisk/fdisksgilabel.c:98
+msgid "Linux RAID"
+msgstr "RAID Linux"
+
+#: fdisk/fdisksgilabel.c:164
+#, 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"
+
+#: fdisk/fdisksgilabel.c:183
+#, 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
+#: fdisk/fdisksgilabel.c:201
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors\n"
+"%d cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * %d 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"
+
+#: fdisk/fdisksgilabel.c:214
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors, %d cylinders\n"
+"Units = %s of %d * %d 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"
+
+#: fdisk/fdisksgilabel.c:221
+#, 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"
+
+#: fdisk/fdisksgilabel.c:243
+#, 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"
+
+#: fdisk/fdisksgilabel.c:251
+#, c-format
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr "%2d: %-10s sector%5u mida%8u\n"
+
+#: fdisk/fdisksgilabel.c:305
+#, 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"
+
+#: fdisk/fdisksgilabel.c:311
+#, 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"
+
+#: fdisk/fdisksgilabel.c:316
+#, 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"
+
+#: fdisk/fdisksgilabel.c:323
+#, 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"
+
+#: fdisk/fdisksgilabel.c:349
+#, c-format
+msgid ""
+"\n"
+"\tBootfile is changed to \"%s\".\n"
+msgstr ""
+"\n"
+"\tS'ha canviat el fitxer d'arrencada a \"%s\".\n"
+
+#: fdisk/fdisksgilabel.c:439
+#, c-format
+msgid "More than one entire disk entry present.\n"
+msgstr "Hi ha present més d'una entrada de disc complet.\n"
+
+#: fdisk/fdisksgilabel.c:446 fdisk/fdisksunlabel.c:388
+#, c-format
+msgid "No partitions defined\n"
+msgstr "No hi han particions definides\n"
+
+#: fdisk/fdisksgilabel.c:452
+#, 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"
+
+#: fdisk/fdisksgilabel.c:454
+#, 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"
+
+#: fdisk/fdisksgilabel.c:460
+#, 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"
+
+#: fdisk/fdisksgilabel.c:466
+#, c-format
+msgid "One Partition (#11) should cover the entire disk.\n"
+msgstr "Una partició (#11) hauria d'abastar el disc sencer.\n"
+
+#: fdisk/fdisksgilabel.c:476
+#, 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"
+
+#: fdisk/fdisksgilabel.c:482
+#, 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"
+
+#: fdisk/fdisksgilabel.c:489
+#, 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"
+
+#: fdisk/fdisksgilabel.c:497 fdisk/fdisksgilabel.c:515
+#, 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"
+
+#: fdisk/fdisksgilabel.c:526
+#, c-format
+msgid ""
+"\n"
+"The boot partition does not exist.\n"
+msgstr ""
+"\n"
+"La partició d'arrencada no existeix.\n"
+
+#: fdisk/fdisksgilabel.c:529
+#, c-format
+msgid ""
+"\n"
+"The swap partition does not exist.\n"
+msgstr ""
+"\n"
+"La partició d'intercanvi no existeix.\n"
+
+#: fdisk/fdisksgilabel.c:533
+#, 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"
+
+#: fdisk/fdisksgilabel.c:536
+#, c-format
+msgid "\tYou have chosen an unusual boot file name.\n"
+msgstr "\tHeu escollit un nom de fitxer d'arrencada inusual.\n"
+
+#: fdisk/fdisksgilabel.c:545
+#, c-format
+msgid "Sorry You may change the Tag of non-empty partitions.\n"
+msgstr "Podeu canviar l'etiqueta de les particions no buides.\n"
+
+#: fdisk/fdisksgilabel.c:551
+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"
+
+#: fdisk/fdisksgilabel.c:556 fdisk/fdisksunlabel.c:554
+msgid "YES\n"
+msgstr "SÍ\n"
+
+#: fdisk/fdisksgilabel.c:581
+#, c-format
+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"
+
+#: fdisk/fdisksgilabel.c:639
+#, c-format
+msgid "Attempting to generate entire disk entry automatically.\n"
+msgstr "S'està intentant generar una entrada de disc sencer automàticament.\n"
+
+#: fdisk/fdisksgilabel.c:644
+#, c-format
+msgid "The entire disk is already covered with partitions.\n"
+msgstr "El disc sencer ja està cobert de particions.\n"
+
+#: fdisk/fdisksgilabel.c:648
+#, 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"
+
+#: fdisk/fdisksgilabel.c:657 fdisk/fdisksgilabel.c:686
+#, 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"
+
+#: fdisk/fdisksgilabel.c:673
+#, 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"
+
+#: fdisk/fdisksgilabel.c:678
+#, c-format
+msgid " Last %s"
+msgstr " Últim %s"
+
+#: fdisk/fdisksgilabel.c:708
+#, c-format
+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"
+
+#: fdisk/fdisksgilabel.c:731 fdisk/fdisksunlabel.c:227
+#, c-format
+msgid ""
+"Warning:  BLKGETSIZE ioctl failed on %s.  Using geometry cylinder value of %"
+"d.\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"
+
+#: fdisk/fdisksgilabel.c:745
+#, c-format
+msgid "Trying to keep parameters of partition %d.\n"
+msgstr "S'està intentant mantenir els paràmetres de la partició %d.\n"
+
+#: fdisk/fdisksgilabel.c:747
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr "ID=%02x\tINICI=%d\tLONGITUD=%d\n"
+
+#: fdisk/fdisksunlabel.c:43
+msgid "Unassigned"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:45
+msgid "SunOS root"
+msgstr "SunOS arrel"
+
+#: fdisk/fdisksunlabel.c:46
+msgid "SunOS swap"
+msgstr "SunOS d'intercanvi"
+
+#: fdisk/fdisksunlabel.c:47
+msgid "SunOS usr"
+msgstr "SunOS usr"
+
+#: fdisk/fdisksunlabel.c:48
+msgid "Whole disk"
+msgstr "Disc sencer"
+
+#: fdisk/fdisksunlabel.c:49
+msgid "SunOS stand"
+msgstr "SunOS estàndard"
+
+#: fdisk/fdisksunlabel.c:50
+msgid "SunOS var"
+msgstr "SunOS var"
+
+#: fdisk/fdisksunlabel.c:51
+msgid "SunOS home"
+msgstr "SunOS home"
+
+#: fdisk/fdisksunlabel.c:52
+#, fuzzy
+msgid "SunOS alt sectors"
+msgstr "%lld sectors no assignats\n"
+
+#: fdisk/fdisksunlabel.c:53
+#, fuzzy
+msgid "SunOS cachefs"
+msgstr "SunOS home"
+
+#: fdisk/fdisksunlabel.c:54
+#, fuzzy
+msgid "SunOS reserved"
+msgstr "SunOS usr"
+
+#: fdisk/fdisksunlabel.c:58 fdisk/i386_sys_types.c:103
+msgid "Linux raid autodetect"
+msgstr "Autodetecció RAID Linux"
+
+#: fdisk/fdisksunlabel.c:141
+#, 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"
+
+#: fdisk/fdisksunlabel.c:153
+#, 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"
+
+#: fdisk/fdisksunlabel.c:158
+#, 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"
+
+#: fdisk/fdisksunlabel.c:163
+#, 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"
+
+#: fdisk/fdisksunlabel.c:168
+#, 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"
+
+#: fdisk/fdisksunlabel.c:198
+#, c-format
+msgid ""
+"Building a new sun disklabel. Changes will remain in memory only,\n"
+"until you decide to write them. After that, of course, the previous\n"
+"content won't be recoverable.\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"
+
+#: fdisk/fdisksunlabel.c:236
+msgid "Sectors/track"
+msgstr "Sectors/pista"
+
+#: fdisk/fdisksunlabel.c:351
+#, 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"
+
+#: fdisk/fdisksunlabel.c:371
+#, 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"
+
+#: fdisk/fdisksunlabel.c:393
+#, c-format
+msgid "Unused gap - sectors 0-%d\n"
+msgstr "Buit no usat - sectors 0-%d\n"
+
+#: fdisk/fdisksunlabel.c:395 fdisk/fdisksunlabel.c:401
+#, c-format
+msgid "Unused gap - sectors %d-%d\n"
+msgstr "Buit no usat - sectors %d-%d\n"
+
+#: fdisk/fdisksunlabel.c:426
+#, 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"
+
+#: fdisk/fdisksunlabel.c:449
+#, 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"
+
+#: fdisk/fdisksunlabel.c:477
+#, c-format
+msgid "Sector %d is already allocated\n"
+msgstr "El sector %d ja està assignat\n"
+
+#: fdisk/fdisksunlabel.c:507
+#, 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"
+
+#: fdisk/fdisksunlabel.c:534
+#, 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"
+
+#: fdisk/fdisksunlabel.c:549
+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
+#: fdisk/fdisksunlabel.c:581
+#, fuzzy, c-format
+msgid ""
+"\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"
+"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"
+
+#: fdisk/fdisksunlabel.c:597
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %d heads, %llu sectors, %d 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"
+
+#: fdisk/fdisksunlabel.c:602
+#, c-format
+msgid "%*s Flag    Start       End    Blocks   Id  System\n"
+msgstr "%*s Senyal.  Inici      Final   Blocs   Id  Sistema\n"
+
+#: fdisk/fdisksunlabel.c:630
+msgid "Number of alternate cylinders"
+msgstr "Nombre de cilindres alternatius"
+
+#: fdisk/fdisksunlabel.c:642
+msgid "Extra sectors per cylinder"
+msgstr "Sectors addicionals per cilindre"
+
+# FIXME
+#: fdisk/fdisksunlabel.c:649
+msgid "Interleave factor"
+msgstr "Factor d'entrellaçat"
+
+#: fdisk/fdisksunlabel.c:656
+msgid "Rotation speed (rpm)"
+msgstr "Velocitat de rotació (r.p.m.)"
+
+#: fdisk/fdisksunlabel.c:663
+msgid "Number of physical cylinders"
+msgstr "Nombre de cilindres físics"
+
+#: fdisk/i386_sys_types.c:6
+msgid "Empty"
+msgstr "Buida"
+
+#: fdisk/i386_sys_types.c:7
+msgid "FAT12"
+msgstr "FAT12"
+
+#: fdisk/i386_sys_types.c:8
+msgid "XENIX root"
+msgstr "XENIX arrel"
+
+#: fdisk/i386_sys_types.c:9
+msgid "XENIX usr"
+msgstr "XENIX usr"
+
+#: fdisk/i386_sys_types.c:10
+msgid "FAT16 <32M"
+msgstr "FAT16 <32M"
+
+#: fdisk/i386_sys_types.c:11
+msgid "Extended"
+msgstr "Estesa"
+
+#: fdisk/i386_sys_types.c:12
+msgid "FAT16"
+msgstr "FAT16"
+
+#: fdisk/i386_sys_types.c:13
+msgid "HPFS/NTFS"
+msgstr "HPFS/NTFS"
+
+#: fdisk/i386_sys_types.c:14
+msgid "AIX"
+msgstr "AIX"
+
+#: fdisk/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr "AIX arrencable"
+
+#: fdisk/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr "Gestor d'arrencada OS/2"
+
+#: fdisk/i386_sys_types.c:17
+msgid "W95 FAT32"
+msgstr "W95 FAT32"
+
+#: fdisk/i386_sys_types.c:18
+msgid "W95 FAT32 (LBA)"
+msgstr "W95 FAT32 (LBA)"
+
+#: fdisk/i386_sys_types.c:19
+msgid "W95 FAT16 (LBA)"
+msgstr "W95 FAT16 (LBA)"
+
+#: fdisk/i386_sys_types.c:20
+msgid "W95 Ext'd (LBA)"
+msgstr "W95 Estesa (LBA)"
+
+#: fdisk/i386_sys_types.c:21
+msgid "OPUS"
+msgstr "OPUS"
+
+#: fdisk/i386_sys_types.c:22
+msgid "Hidden FAT12"
+msgstr "FAT12 oculta"
+
+#: fdisk/i386_sys_types.c:23
+msgid "Compaq diagnostics"
+msgstr "Diagnòstics Compaq"
+
+#: fdisk/i386_sys_types.c:24
+msgid "Hidden FAT16 <32M"
+msgstr "FAT16 <32M oculta"
+
+#: fdisk/i386_sys_types.c:25
+msgid "Hidden FAT16"
+msgstr "FAT16 oculta"
+
+#: fdisk/i386_sys_types.c:26
+msgid "Hidden HPFS/NTFS"
+msgstr "HPFS/NTFS oculta"
+
+#: fdisk/i386_sys_types.c:27
+msgid "AST SmartSleep"
+msgstr "SmartSleep d'AST"
+
+#: fdisk/i386_sys_types.c:28
+msgid "Hidden W95 FAT32"
+msgstr "W95 FAT32 oculta"
+
+#: fdisk/i386_sys_types.c:29
+msgid "Hidden W95 FAT32 (LBA)"
+msgstr "W95 FAT32 (LBA) oculta"
+
+#: fdisk/i386_sys_types.c:30
+msgid "Hidden W95 FAT16 (LBA)"
+msgstr "W95 FAT16 (LBA) oculta"
+
+#: fdisk/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr "NEC DOS"
+
+#: fdisk/i386_sys_types.c:32
+msgid "Plan 9"
+msgstr "Plan 9"
+
+#: fdisk/i386_sys_types.c:33
+msgid "PartitionMagic recovery"
+msgstr "Recuperació PartitionMagic"
+
+#: fdisk/i386_sys_types.c:34
+msgid "Venix 80286"
+msgstr "Venix 80286"
+
+#: fdisk/i386_sys_types.c:35
+msgid "PPC PReP Boot"
+msgstr "PPC arrencada PReP"
+
+#: fdisk/i386_sys_types.c:36
+msgid "SFS"
+msgstr "SFS"
+
+#: fdisk/i386_sys_types.c:37
+msgid "QNX4.x"
+msgstr "QNX4.x"
+
+#: fdisk/i386_sys_types.c:38
+msgid "QNX4.x 2nd part"
+msgstr "QNX4.x segona part"
+
+#: fdisk/i386_sys_types.c:39
+msgid "QNX4.x 3rd part"
+msgstr "QNX4.x tercera part"
+
+#: fdisk/i386_sys_types.c:40
+msgid "OnTrack DM"
+msgstr "OnTrack DM"
+
+#: fdisk/i386_sys_types.c:41
+msgid "OnTrack DM6 Aux1"
+msgstr "OnTrack DM6 Aux1"
+
+#: fdisk/i386_sys_types.c:42
+msgid "CP/M"
+msgstr "CP/M"
+
+#: fdisk/i386_sys_types.c:43
+msgid "OnTrack DM6 Aux3"
+msgstr "OnTrack DM6 Aux3"
+
+#: fdisk/i386_sys_types.c:44
+msgid "OnTrackDM6"
+msgstr "OnTrackDM6"
+
+#: fdisk/i386_sys_types.c:45
+msgid "EZ-Drive"
+msgstr "EZ-Drive"
+
+#: fdisk/i386_sys_types.c:46
+msgid "Golden Bow"
+msgstr "Golden Bow"
+
+#: fdisk/i386_sys_types.c:47
+msgid "Priam Edisk"
+msgstr "Priam Edisk"
+
+#: fdisk/i386_sys_types.c:48 fdisk/i386_sys_types.c:92
+#: fdisk/i386_sys_types.c:98 fdisk/i386_sys_types.c:99
+msgid "SpeedStor"
+msgstr "SpeedStor"
+
+#: fdisk/i386_sys_types.c:49
+msgid "GNU HURD or SysV"
+msgstr "GNU HURD o SysV"
+
+#: fdisk/i386_sys_types.c:50
+msgid "Novell Netware 286"
+msgstr "Novell Netware 286"
+
+#: fdisk/i386_sys_types.c:51
+msgid "Novell Netware 386"
+msgstr "Novell Netware 386"
+
+#: fdisk/i386_sys_types.c:52
+msgid "DiskSecure Multi-Boot"
+msgstr "DiskSecure Multi-Boot"
+
+#: fdisk/i386_sys_types.c:53
+msgid "PC/IX"
+msgstr "PC/IX"
+
+#: fdisk/i386_sys_types.c:54
+msgid "Old Minix"
+msgstr "Minix antic"
+
+#: fdisk/i386_sys_types.c:55
+msgid "Minix / old Linux"
+msgstr "Minix / antic Linux"
+
+#: fdisk/i386_sys_types.c:56
+msgid "Linux swap / Solaris"
+msgstr "Intercanvi Linux / Solaris"
+
+#: fdisk/i386_sys_types.c:58
+msgid "OS/2 hidden C: drive"
+msgstr "Unitat C: oculta d'OS/2"
+
+#: fdisk/i386_sys_types.c:59
+msgid "Linux extended"
+msgstr "Linux estesa"
+
+#: fdisk/i386_sys_types.c:60 fdisk/i386_sys_types.c:61
+msgid "NTFS volume set"
+msgstr "Joc de volums NTFS"
+
+#: fdisk/i386_sys_types.c:62
+msgid "Linux plaintext"
+msgstr "Linux text"
+
+#: fdisk/i386_sys_types.c:64
+msgid "Amoeba"
+msgstr "Amoeba"
+
+#: fdisk/i386_sys_types.c:65
+msgid "Amoeba BBT"
+msgstr "Amoeba BBT"
+
+#: fdisk/i386_sys_types.c:66
+msgid "BSD/OS"
+msgstr "BSD/OS"
+
+#: fdisk/i386_sys_types.c:67
+msgid "IBM Thinkpad hibernation"
+msgstr "Hivernació d'IBM Thinkpad"
+
+#: fdisk/i386_sys_types.c:68
+msgid "FreeBSD"
+msgstr "FreeBSD"
+
+#: fdisk/i386_sys_types.c:69
+msgid "OpenBSD"
+msgstr "OpenBSD"
+
+#: fdisk/i386_sys_types.c:70
+msgid "NeXTSTEP"
+msgstr "NeXTSTEP"
+
+#: fdisk/i386_sys_types.c:71
+msgid "Darwin UFS"
+msgstr "UFS de Darwin"
+
+#: fdisk/i386_sys_types.c:72
+msgid "NetBSD"
+msgstr "NetBSD"
+
+#: fdisk/i386_sys_types.c:73
+msgid "Darwin boot"
+msgstr "Arrencada de Darwin"
+
+#: fdisk/i386_sys_types.c:74
+#, fuzzy
+msgid "HFS / HFS+"
+msgstr "OS/2 HPFS"
+
+#: fdisk/i386_sys_types.c:75
+msgid "BSDI fs"
+msgstr "S.f. BSDI"
+
+#: fdisk/i386_sys_types.c:76
+msgid "BSDI swap"
+msgstr "Intercanvi de BSDI"
+
+#: fdisk/i386_sys_types.c:77
+msgid "Boot Wizard hidden"
+msgstr "Boot Wizard ocult"
+
+#: fdisk/i386_sys_types.c:78
+msgid "Solaris boot"
+msgstr "Arrencada Solaris"
+
+#: fdisk/i386_sys_types.c:79
+msgid "Solaris"
+msgstr "Solaris"
+
+#: fdisk/i386_sys_types.c:80
+msgid "DRDOS/sec (FAT-12)"
+msgstr "DRDOS/sec (FAT-12)"
+
+#: fdisk/i386_sys_types.c:81
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr "DRDOS/sec (FAT-16 < 32M)"
+
+#: fdisk/i386_sys_types.c:82
+msgid "DRDOS/sec (FAT-16)"
+msgstr "DRDOS/sec (FAT-16)"
+
+#: fdisk/i386_sys_types.c:83
+msgid "Syrinx"
+msgstr "Syrinx"
+
+#: fdisk/i386_sys_types.c:84
+msgid "Non-FS data"
+msgstr "Dades sense S.F."
+
+#: fdisk/i386_sys_types.c:85
+msgid "CP/M / CTOS / ..."
+msgstr "CP/M / CTOS / ..."
+
+#: fdisk/i386_sys_types.c:87
+msgid "Dell Utility"
+msgstr "Utilitat Dell"
+
+#: fdisk/i386_sys_types.c:88
+msgid "BootIt"
+msgstr "BootIt"
+
+#: fdisk/i386_sys_types.c:89
+msgid "DOS access"
+msgstr "Accés DOS"
+
+#: fdisk/i386_sys_types.c:91
+msgid "DOS R/O"
+msgstr "DOS R/O"
+
+#: fdisk/i386_sys_types.c:94
+msgid "BeOS fs"
+msgstr "Sis. Fitx. BeOS"
+
+#: fdisk/i386_sys_types.c:95
+#, fuzzy
+msgid "GPT"
+msgstr "EFI GPT"
+
+#: fdisk/i386_sys_types.c:96
+msgid "EFI (FAT-12/16/32)"
+msgstr "EFI (FAT-12/16/32)"
+
+#: fdisk/i386_sys_types.c:97
+msgid "Linux/PA-RISC boot"
+msgstr "Arrencada Linux/PA-RISC"
+
+#: fdisk/i386_sys_types.c:100
+msgid "DOS secondary"
+msgstr "Secundària DOS"
+
+#: fdisk/i386_sys_types.c:101
+msgid "VMware VMFS"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:102
+msgid "VMware VMKCORE"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:106
+msgid "LANstep"
+msgstr "LANstep"
+
+#: fdisk/i386_sys_types.c:107
+msgid "BBT"
+msgstr "BBT"
+
+#: fdisk/sfdisk.c:179
+#, 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"
+
+#: fdisk/sfdisk.c:184
+#, 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"
+
+#: fdisk/sfdisk.c:230
+msgid "out of memory - giving up\n"
+msgstr "s'ha esgotat la memòria - s'està abandonant\n"
+
+#: fdisk/sfdisk.c:235 fdisk/sfdisk.c:318
+#, 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"
+
+#: fdisk/sfdisk.c:253
+#, c-format
+msgid "ERROR: sector %lu does not have an msdos signature\n"
+msgstr "ERROR: el sector %lu no té cap signatura msdos\n"
+
+#: fdisk/sfdisk.c:268
+#, 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"
+
+#: fdisk/sfdisk.c:306
+#, 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"
+
+#: fdisk/sfdisk.c:324
+#, c-format
+msgid "write error on %s\n"
+msgstr "s'ha produït un error d'escriptura a %s\n"
+
+#: fdisk/sfdisk.c:350
+#, 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"
+
+#: fdisk/sfdisk.c:355
+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"
+
+#: fdisk/sfdisk.c:359
+msgid "out of memory?\n"
+msgstr "s'ha esgotat la memòria?\n"
+
+#: fdisk/sfdisk.c:365
+#, c-format
+msgid "cannot open partition restore file (%s)\n"
+msgstr "no es pot obrir el fitxer de restauració de la partició (%s)\n"
+
+#: fdisk/sfdisk.c:371
+#, c-format
+msgid "error reading %s\n"
+msgstr "s'ha produït un error en llegir %s\n"
+
+#: fdisk/sfdisk.c:378
+#, c-format
+msgid "cannot open device %s for writing\n"
+msgstr "no s'ha pogut obrir per a escriptura el dispositiu %s\n"
+
+#: fdisk/sfdisk.c:390
+#, 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"
+
+#: fdisk/sfdisk.c:455
+#, c-format
+msgid "Disk %s: cannot get geometry\n"
+msgstr "Disc %s: no s'ha pogut obtenir la geometria\n"
+
+#: fdisk/sfdisk.c:472
+#, c-format
+msgid "Disk %s: cannot get size\n"
+msgstr "Disc %s : no s'ha pogut obtenir la mida.\n"
+
+#: fdisk/sfdisk.c:505
+#, 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"
+
+#: fdisk/sfdisk.c:512
+#, 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"
+
+#: fdisk/sfdisk.c:515
+#, 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"
+
+#: fdisk/sfdisk.c:519
+#, 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"
+
+#: fdisk/sfdisk.c:524
+#, 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"
+
+#: fdisk/sfdisk.c:528
+#, 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"
+
+#: fdisk/sfdisk.c:610
+#, 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"
+
+#: fdisk/sfdisk.c:615
+#, 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"
+
+#: fdisk/sfdisk.c:620
+#, 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"
+
+#: fdisk/sfdisk.c:660
+#, c-format
+msgid ""
+"Id  Name\n"
+"\n"
+msgstr ""
+"Id  Nom\n"
+"\n"
+
+#: fdisk/sfdisk.c:821
+#, c-format
+msgid "Re-reading the partition table ...\n"
+msgstr "S'està rellegint la taula de particions...\n"
+
+#: fdisk/sfdisk.c:827
+#, 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"
+
+#: fdisk/sfdisk.c:833
+#, c-format
+msgid "Error closing %s\n"
+msgstr "S'ha produït un error en tancar %s\n"
+
+#: fdisk/sfdisk.c:871
+#, c-format
+msgid "%s: no such partition\n"
+msgstr "%s: aquesta partició no existeix\n"
+
+#: fdisk/sfdisk.c:894
+msgid "unrecognized format - using sectors\n"
+msgstr "format no reconegut; s'està usant els sectors\n"
+
+#: fdisk/sfdisk.c:944
+#, c-format
+msgid "unimplemented format - using %s\n"
+msgstr "format no implementat; s'està usant %s\n"
+
+#: fdisk/sfdisk.c:948
+#, 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"
+
+#: fdisk/sfdisk.c:951
+#, c-format
+msgid "   Device Boot Start     End   #cyls    #blocks   Id  System\n"
+msgstr "   Disp. Arr.  Inici     Final #cil.    #blocs    Id  Sistema\n"
+
+#: fdisk/sfdisk.c:956
+#, 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"
+
+#: fdisk/sfdisk.c:958
+#, c-format
+msgid "   Device Boot    Start       End   #sectors  Id  System\n"
+msgstr "   Disp. Arr      Inici       Final #sectors  Id  Sistema\n"
+
+#: fdisk/sfdisk.c:961
+#, 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"
+
+#: fdisk/sfdisk.c:963
+#, c-format
+msgid "   Device Boot   Start       End    #blocks   Id  System\n"
+msgstr "   Disp. Arr.    Inici       Final   #blocs   Id  Sistema\n"
+
+#: fdisk/sfdisk.c:966
+#, c-format
+msgid ""
+"Units = mebibytes of 1048576 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"
+
+#: fdisk/sfdisk.c:968
+#, c-format
+msgid "   Device Boot Start   End    MiB    #blocks   Id  System\n"
+msgstr "   Disp. Arr.  Inici   Final  MiB    #blocs    Id. sistema\n"
+
+#: fdisk/sfdisk.c:1128
+#, 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"
+
+#: fdisk/sfdisk.c:1135
+#, 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"
+
+#: fdisk/sfdisk.c:1138
+#, 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"
+
+#: fdisk/sfdisk.c:1148
+msgid "No partitions found\n"
+msgstr "No s'han trobat particions\n"
+
+#: fdisk/sfdisk.c:1152
+#, 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"
+
+#: fdisk/sfdisk.c:1201
+msgid "no partition table present.\n"
+msgstr "no hi ha cap taula de particions.\n"
+
+#: fdisk/sfdisk.c:1203
+#, c-format
+msgid "strange, only %d partitions defined.\n"
+msgstr "és estrany, només hi ha definides %d particions.\n"
+
+#: fdisk/sfdisk.c:1212
+#, 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"
+
+#: fdisk/sfdisk.c:1215
+#, 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"
+
+#: fdisk/sfdisk.c:1218
+#, 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"
+
+#: fdisk/sfdisk.c:1229
+#, c-format
+msgid "Warning: partition %s "
+msgstr "Avís: la partició %s "
+
+#: fdisk/sfdisk.c:1230
+#, c-format
+msgid "is not contained in partition %s\n"
+msgstr "no està contingut a dins de la partició %s\n"
+
+#: fdisk/sfdisk.c:1241
+#, c-format
+msgid "Warning: partitions %s "
+msgstr "Avís: les particions %s "
+
+#: fdisk/sfdisk.c:1242
+#, c-format
+msgid "and %s overlap\n"
+msgstr "i %s encavalquen\n"
+
+#: fdisk/sfdisk.c:1253
+#, c-format
+msgid ""
+"Warning: partition %s contains part of the partition table (sector %lu),\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"
+
+#: fdisk/sfdisk.c:1265
+#, c-format
+msgid "Warning: partition %s starts at sector 0\n"
+msgstr "Avís: la partició %s comença en el sector 0\n"
+
+#: fdisk/sfdisk.c:1269
+#, 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"
+
+#: fdisk/sfdisk.c:1284
+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"
+
+#: fdisk/sfdisk.c:1302
+#, 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"
+
+#: fdisk/sfdisk.c:1308
+#, 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"
+
+#: fdisk/sfdisk.c:1326
+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"
+
+#: fdisk/sfdisk.c:1333
+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"
+
+#: fdisk/sfdisk.c:1339
+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"
+
+#: fdisk/sfdisk.c:1353
+msgid "start"
+msgstr "inici"
+
+#: fdisk/sfdisk.c:1356
+#, 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"
+
+#: fdisk/sfdisk.c:1362
+msgid "end"
+msgstr "final"
+
+#: fdisk/sfdisk.c:1365
+#, 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"
+
+#: fdisk/sfdisk.c:1368
+#, 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"
+
+#: fdisk/sfdisk.c:1393
+#, c-format
+msgid ""
+"Warning: shifted start of the extd partition from %ld to %ld\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"
+
+#: fdisk/sfdisk.c:1399
+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"
+
+#: fdisk/sfdisk.c:1417 fdisk/sfdisk.c:1494
+#, c-format
+msgid "too many partitions - ignoring those past nr (%d)\n"
+msgstr "hi ha massa particions - s'ignoraran les posteriors a la: (%d)\n"
+
+#: fdisk/sfdisk.c:1432
+msgid "tree of partitions?\n"
+msgstr "l'arbre de particions?\n"
+
+#: fdisk/sfdisk.c:1540
+msgid "detected Disk Manager - unable to handle that\n"
+msgstr "s'ha detectat el gestor de disc - no s'ha pogut gestionar\n"
+
+#: fdisk/sfdisk.c:1547
+msgid "DM6 signature found - giving up\n"
+msgstr "s'ha trobat una signatura DM6 - s'està deixant còrrer\n"
+
+#: fdisk/sfdisk.c:1567
+msgid "strange..., an extended partition of size 0?\n"
+msgstr "estrany..., una partició estesa de mida 0?\n"
+
+#: fdisk/sfdisk.c:1574 fdisk/sfdisk.c:1585
+msgid "strange..., a BSD partition of size 0?\n"
+msgstr "estrany..., una partició BSD de mida 0?\n"
+
+#: fdisk/sfdisk.c:1619
+#, 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"
+
+#: fdisk/sfdisk.c:1631
+msgid "-n flag was given: Nothing changed\n"
+msgstr "s'ha especificat el senyalador -n: No s'ha canviat res\n"
+
+#: fdisk/sfdisk.c:1647
+msgid "Failed saving the old sectors - aborting\n"
+msgstr "No s'ha pogut desar els sector antics - s'està avortant\n"
+
+#: fdisk/sfdisk.c:1652
+#, c-format
+msgid "Failed writing the partition on %s\n"
+msgstr "No s'ha pogut escriure la partició a %s\n"
+
+#: fdisk/sfdisk.c:1729
+msgid "long or incomplete input line - quitting\n"
+msgstr "línia d'entrada llarga o incompleta - s'està sortint\n"
+
+#: fdisk/sfdisk.c:1765
+#, c-format
+msgid "input error: `=' expected after %s field\n"
+msgstr ""
+"s'ha produït un error en l'entrada: s'esperava `=' després del camp %s\n"
+
+#: fdisk/sfdisk.c:1772
+#, c-format
+msgid "input error: unexpected character %c after %s field\n"
+msgstr ""
+"s'ha produït un error en l'entrada: no s'esperava el caràcter %c després del "
+"camp %s\n"
+
+#: fdisk/sfdisk.c:1778
+#, c-format
+msgid "unrecognized input: %s\n"
+msgstr "no s'ha pogut reconèixer l'entrada: %s\n"
+
+#: fdisk/sfdisk.c:1820
+msgid "number too big\n"
+msgstr "el nombre és massa gran\n"
+
+#: fdisk/sfdisk.c:1824
+msgid "trailing junk after number\n"
+msgstr "dades estranyes després del nombre\n"
+
+#: fdisk/sfdisk.c:1948
+msgid "no room for partition descriptor\n"
+msgstr "no hi ha espai per al descriptor de partició\n"
+
+#: fdisk/sfdisk.c:1981
+msgid "cannot build surrounding extended partition\n"
+msgstr "no s'ha pogut crear una partició estesa adjunta\n"
+
+#: fdisk/sfdisk.c:2032
+msgid "too many input fields\n"
+msgstr "hi ha massa camps a l'entrada\n"
+
+#: fdisk/sfdisk.c:2066
+msgid "No room for more\n"
+msgstr "No queda més espai\n"
+
+#: fdisk/sfdisk.c:2085
+msgid "Illegal type\n"
+msgstr "Tipus no permès\n"
+
+#: fdisk/sfdisk.c:2117
+#, 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"
+
+#: fdisk/sfdisk.c:2123
+msgid "Warning: empty partition\n"
+msgstr "Avís: partició buida\n"
+
+# DUBTE
+#: fdisk/sfdisk.c:2137
+#, 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"
+
+#: fdisk/sfdisk.c:2150
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr "no s'ha pogut reconèixer el senyalador d'arrencada - escolliu - o *\n"
+
+#: fdisk/sfdisk.c:2167 fdisk/sfdisk.c:2180
+msgid "partial c,h,s specification?\n"
+msgstr "especificació parcial de c,h,s?\n"
+
+#: fdisk/sfdisk.c:2191
+msgid "Extended partition not where expected\n"
+msgstr "La partició estesa no és on s'esperava\n"
+
+#: fdisk/sfdisk.c:2223
+msgid "bad input\n"
+msgstr "entrada dolenta\n"
+
+#: fdisk/sfdisk.c:2245
+msgid "too many partitions\n"
+msgstr "hi ha massa particions\n"
+
+#: fdisk/sfdisk.c:2278
+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"
+
+#: fdisk/sfdisk.c:2304
+#, c-format
+msgid "Usage: %s [options] device ...\n"
+msgstr "Forma d'ús: %s [opcions] dispositiu ...\n"
+
+#: fdisk/sfdisk.c:2305
+msgid "device: something like /dev/hda or /dev/sda"
+msgstr "dispositiu: semblant a /dev/hda o /dev/sda"
+
+#: fdisk/sfdisk.c:2306
+msgid "useful options:"
+msgstr "opcions útils:"
+
+#: fdisk/sfdisk.c:2307
+msgid "    -s [or --show-size]: list size of a partition"
+msgstr "    -s [o --show-size]:  Mostra la mida d'una partició"
+
+#: fdisk/sfdisk.c:2308
+msgid "    -c [or --id]:        print or change partition Id"
+msgstr ""
+"    -c [o --id]:         Imprimeix o canvia l'identificador de la partició"
+
+#: fdisk/sfdisk.c:2309
+msgid "    -l [or --list]:      list partitions of each device"
+msgstr "    -l [o --list]:       Mostra les particions de cada dispositiu"
+
+#: fdisk/sfdisk.c:2310
+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"
+
+#: fdisk/sfdisk.c:2311
+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"
+
+#: fdisk/sfdisk.c:2312
+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"
+
+#: fdisk/sfdisk.c:2313
+msgid "    -T [or --list-types]:list the known partition types"
+msgstr "    -T [o --list-types]: Llista els tipus de particions conegudes"
+
+#: fdisk/sfdisk.c:2314
+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"
+
+#: fdisk/sfdisk.c:2315
+msgid "    -R [or --re-read]:   make kernel reread partition table"
+msgstr ""
+"    -R [o --re-read]:    Fa que el nucli rellegeixi la taula de particions"
+
+#: fdisk/sfdisk.c:2316
+msgid "    -N# :                change only the partition with number #"
+msgstr "    -N# :                Només canvia la partició amb el número #"
+
+#: fdisk/sfdisk.c:2317
+msgid "    -n :                 do not actually write to disk"
+msgstr "    -n :                 No escrigues realment al disc"
+
+#: fdisk/sfdisk.c:2318
+msgid ""
+"    -O file :            save the sectors that will be overwritten to file"
+msgstr ""
+"    -O fitxer :          Desa els sectors que es sobreescriuran en un fitxer"
+
+#: fdisk/sfdisk.c:2319
+msgid "    -I file :            restore these sectors again"
+msgstr "    -I fitxer:           Restaura aquests sectors altra vegada"
+
+#: fdisk/sfdisk.c:2320
+msgid "    -v [or --version]:   print version"
+msgstr "    -v [o --version]:    Imprimeix la versió"
+
+#: fdisk/sfdisk.c:2321
+msgid "    -? [or --help]:      print this message"
+msgstr "    -? [o --help]:       Imprimeix aquest missatge"
+
+#: fdisk/sfdisk.c:2322
+msgid "dangerous options:"
+msgstr "opcions perilloses:"
+
+#: fdisk/sfdisk.c:2323
+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"
+
+#: fdisk/sfdisk.c:2324
+msgid ""
+"    -G [or --show-pt-geometry]: print geometry guessed from the partition "
+"table"
+msgstr ""
+"    -G [o --show-pt-geometry]: Imprimeix la geometria que s'ha endevinat\n"
+"                               partir de la taula de particions"
+
+#: fdisk/sfdisk.c:2325
+msgid ""
+"    -x [or --show-extended]: also list extended partitions on output\n"
+"                             or expect descriptors for them on input"
+msgstr ""
+"    -x [o --show-extended]:  També llista les particions esteses a la "
+"sortida\n"
+"                             o els descriptors esperats en l'entrada"
+
+#: fdisk/sfdisk.c:2327
+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"
+
+#: fdisk/sfdisk.c:2328
+msgid "    -q  [or --quiet]:      suppress warning messages"
+msgstr "    -q  [o --quiet]:       Suprimeix els avisos"
+
+#: fdisk/sfdisk.c:2329
+msgid "    You can override the detected geometry using:"
+msgstr "    Podeu modificar la geometria detectada usant:"
+
+#: fdisk/sfdisk.c:2330
+msgid "    -C# [or --cylinders #]:set the number of cylinders to use"
+msgstr ""
+"    -C# [o --cylinders #]: Estableix el nombre de cilindres que s'usaran"
+
+#: fdisk/sfdisk.c:2331
+msgid "    -H# [or --heads #]:    set the number of heads to use"
+msgstr "    -H# [o --heads #]:     Estableix el nombre de capçals que s'usaran"
+
+#: fdisk/sfdisk.c:2332
+msgid "    -S# [or --sectors #]:  set the number of sectors to use"
+msgstr "    -S# [o --sectors #]:   Estableix el nombre de sectors que s'usaran"
+
+#: fdisk/sfdisk.c:2333
+msgid "You can disable all consistency checking with:"
+msgstr "Podeu desactivar tota comprovació de consistència amb:"
+
+#: fdisk/sfdisk.c:2334
+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"
+
+#: fdisk/sfdisk.c:2340
+msgid "Usage:"
+msgstr "Forma d'ús:"
+
+#: fdisk/sfdisk.c:2341
+#, 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"
+
+#: fdisk/sfdisk.c:2342
+#, 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"
+
+#: fdisk/sfdisk.c:2343
+#, 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"
+
+#: fdisk/sfdisk.c:2463
+#, 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 ""
+
+#: fdisk/sfdisk.c:2466
+#, 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"
+
+#: fdisk/sfdisk.c:2505
+msgid "no command?\n"
+msgstr "cap ordre?\n"
+
+#: fdisk/sfdisk.c:2637
+#, c-format
+msgid "total: %llu blocks\n"
+msgstr "total: %llu blocs\n"
+
+#: fdisk/sfdisk.c:2680
+msgid "usage: sfdisk --print-id device partition-number\n"
+msgstr "forma d'ús: sfdisk --print-id dispositiu número_partició\n"
+
+#: fdisk/sfdisk.c:2682
+msgid "usage: sfdisk --change-id device partition-number Id\n"
+msgstr "forma d'ús: sfdisk --change-id dispositiu número_partició Id\n"
+
+#: fdisk/sfdisk.c:2684
+msgid "usage: sfdisk --id device partition-number [Id]\n"
+msgstr "forma d'ús: sfdisk --id dispositiu partició_número [Id]\n"
+
+#: fdisk/sfdisk.c:2691
+msgid "can specify only one device (except with -l or -s)\n"
+msgstr "només podeu especificar un dispositiu (excepte amb -l o -s)\n"
+
+#: fdisk/sfdisk.c:2717
+#, c-format
+msgid "cannot open %s read-write\n"
+msgstr "no es pot obrir %s per a lectura-escriptura\n"
+
+#: fdisk/sfdisk.c:2719
+#, c-format
+msgid "cannot open %s for reading\n"
+msgstr "no es pot obrir %s per a lectura\n"
+
+#: fdisk/sfdisk.c:2744
+#, c-format
+msgid "%s: OK\n"
+msgstr "%s: Correcte\n"
+
+#: fdisk/sfdisk.c:2763 fdisk/sfdisk.c:2796
+#, c-format
+msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+msgstr "%s : %ld cilindres, %ld capçals, %ld sectors/pista\n"
+
+#: fdisk/sfdisk.c:2815
+#, c-format
+msgid "Cannot get size of %s\n"
+msgstr "No s'ha pogut obtenir la mida de %s\n"
+
+#: fdisk/sfdisk.c:2895
+#, c-format
+msgid "bad active byte: 0x%x instead of 0x80\n"
+msgstr "octet actiu incorrecte: 0x%x en comptes de 0x80\n"
+
+#: fdisk/sfdisk.c:2913 fdisk/sfdisk.c:2968 fdisk/sfdisk.c:3001
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+"Fet\n"
+"\n"
+
+#: fdisk/sfdisk.c:2922
+#, 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"
+
+#: fdisk/sfdisk.c:2938
+#, c-format
+msgid "partition %s has id %x and is not hidden\n"
+msgstr "la partició %s té l'identificador %x i no està oculta\n"
+
+#: fdisk/sfdisk.c:2997
+#, c-format
+msgid "Bad Id %lx\n"
+msgstr "Identificador dolent %lx\n"
+
+#: fdisk/sfdisk.c:3014
+msgid "This disk is currently in use.\n"
+msgstr "Aquest disc està actualment en ús.\n"
+
+#: fdisk/sfdisk.c:3033
+#, c-format
+msgid "Fatal error: cannot find %s\n"
+msgstr "S'ha produït un error fatal: no s'ha pogut trobar %s\n"
+
+#: fdisk/sfdisk.c:3036
+#, c-format
+msgid "Warning: %s is not a block device\n"
+msgstr "Avís: %s no és un dispositiu de blocs\n"
+
+#: fdisk/sfdisk.c:3042
+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"
+
+#: fdisk/sfdisk.c:3044
+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"
+
+#: fdisk/sfdisk.c:3048
+msgid "Use the --force flag to overrule all checks.\n"
+msgstr "Useu el senyalador --force per a obviar totes les comprovacions.\n"
+
+#: fdisk/sfdisk.c:3052
+msgid "OK\n"
+msgstr "Correcte\n"
+
+#: fdisk/sfdisk.c:3061
+#, c-format
+msgid "Old situation:\n"
+msgstr "Antiga situació:\n"
+
+#: fdisk/sfdisk.c:3065
+#, c-format
+msgid "Partition %d does not exist, cannot change it\n"
+msgstr "La partició %d no existeix; no s'ha pogut canviar\n"
+
+#: fdisk/sfdisk.c:3073
+#, c-format
+msgid "New situation:\n"
+msgstr "Nova situació:\n"
+
+#: fdisk/sfdisk.c:3078
+msgid ""
+"I don't like these partitions - nothing changed.\n"
+"(If you really want this, use the --force option.)\n"
+msgstr ""
+"Aquestes particions no em semblen bé - no s'ha canviat res.\n"
+"(Si realment desitgeu fer això, useu l'opció --force).\n"
+
+#: fdisk/sfdisk.c:3081
+msgid "I don't like this - probably you should answer No\n"
+msgstr "No em sembla bé - probablement hagueu de respondre No\n"
+
+#: fdisk/sfdisk.c:3086
+#, c-format
+msgid "Are you satisfied with this? [ynq] "
+msgstr "Esteu satisfet amb això? [ynq] "
+
+#: fdisk/sfdisk.c:3088
+#, c-format
+msgid "Do you want to write this to disk? [ynq] "
+msgstr "Desitgeu escriure això al disc? [ynq] "
+
+#: fdisk/sfdisk.c:3093
+#, c-format
+msgid ""
+"\n"
+"sfdisk: premature end of input\n"
+msgstr ""
+"\n"
+"sfdisk: final prematur de l'entrada\n"
+
+#: fdisk/sfdisk.c:3095
+msgid "Quitting - nothing changed\n"
+msgstr "S'està sortint - no s'ha canviat res\n"
+
+# FIXME: 'y', 'n', 'q'. Are they translatable?
+#: fdisk/sfdisk.c:3101
+#, c-format
+msgid "Please answer one of y,n,q\n"
+msgstr "Respongueu amb una: y,n,q\n"
+
+#: fdisk/sfdisk.c:3109
+#, c-format
+msgid ""
+"Successfully wrote the new partition table\n"
+"\n"
+msgstr ""
+"S'ha escrit correctament la nova taula de particions\n"
+"\n"
+
+#: fdisk/sfdisk.c:3115
+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"
+
+#: fsck/fsck.c:327
+#, fuzzy, c-format
+msgid "WARNING: couldn't open %s: %s\n"
+msgstr "%s: no s'ha pogut obrir %s: %s\n"
+
+#: fsck/fsck.c:337
+#, c-format
+msgid "WARNING: bad format on line %d of %s\n"
+msgstr ""
+
+#: fsck/fsck.c:353
+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 ""
+
+#: fsck/fsck.c:461
+#, fuzzy, c-format
+msgid "fsck: %s: not found\n"
+msgstr "umount: %s: no s'ha trobat"
+
+#: fsck/fsck.c:577
+#, c-format
+msgid "%s: wait: No more child process?!?\n"
+msgstr ""
+
+#: fsck/fsck.c:599
+#, c-format
+msgid "Warning... %s for device %s exited with signal %d.\n"
+msgstr ""
+
+#: fsck/fsck.c:605
+#, c-format
+msgid "%s %s: status is %x, should never happen.\n"
+msgstr ""
+
+#: fsck/fsck.c:644
+#, c-format
+msgid "Finished with %s (exit status %d)\n"
+msgstr ""
+
+#: fsck/fsck.c:704
+#, fuzzy, c-format
+msgid "%s: Error %d while executing fsck.%s for %s\n"
+msgstr "%s: s'ha produït un error %d en descomprimir! %p(%d)\n"
+
+#: fsck/fsck.c:725
+msgid ""
+"Either all or none of the filesystem types passed to -t must be prefixed\n"
+"with 'no' or '!'.\n"
+msgstr ""
+
+#: fsck/fsck.c:744
+#, fuzzy
+msgid "Couldn't allocate memory for filesystem types\n"
+msgstr "mount: haureu d'especificar el tipus del sistema de fitxers"
+
+#: fsck/fsck.c:867
+#, c-format
+msgid ""
+"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass "
+"number\n"
+msgstr ""
+
+#: fsck/fsck.c:894
+#, c-format
+msgid "fsck: cannot check %s: fsck.%s not found\n"
+msgstr ""
+
+#: fsck/fsck.c:950
+#, fuzzy
+msgid "Checking all file systems.\n"
+msgstr "S'està forçant la comprovació del sistema de fitxers a %s.\n"
+
+#: fsck/fsck.c:1041
+#, c-format
+msgid "--waiting-- (pass %d)\n"
+msgstr ""
+
+#: fsck/fsck.c:1061
+#, 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"
+
+#: fsck/fsck.c:1099
+#, fuzzy, c-format
+msgid "%s: too many devices\n"
+msgstr "%s: %s no és un dispositiu lp.\n"
+
+#: fsck/fsck.c:1110
+#, fuzzy, c-format
+msgid "Couldn't open %s: %s\n"
+msgstr "No s'ha pogut obrir %s: %s\n"
+
+#: fsck/fsck.c:1112
+#, fuzzy, c-format
+msgid "Is /proc mounted?\n"
+msgstr "%s desmuntat\n"
+
+#: fsck/fsck.c:1121
+#, c-format
+msgid "Must be root to scan for matching filesystems: %s\n"
+msgstr ""
+
+#: fsck/fsck.c:1124
+#, fuzzy, c-format
+msgid "Couldn't find matching filesystem: %s\n"
+msgstr "S'està desmuntant els sistemes de fitxers restants..."
+
+#: fsck/fsck.c:1132 fsck/fsck.c:1218
+#, fuzzy, c-format
+msgid "%s: too many arguments\n"
+msgstr "%s: argument desconegut: %s\n"
+
+#: fsck/fsck.c:1252
+#, fuzzy, c-format
+msgid "fsck from %s\n"
+msgstr "%s de %s\n"
+
+#: fsck/fsck.c:1264
+#, fuzzy, c-format
+msgid "%s: Unable to allocate memory for fsck_path\n"
+msgstr "No es pot assignar memòria intermèdia per als nodes d'identificació"
+
+#: getopt/getopt.c:229
+msgid "Try `getopt --help' for more information.\n"
+msgstr "Escolliu `getopt --help' per obtenir més informació.\n"
+
+#: getopt/getopt.c:295
+msgid "empty long option after -l or --long argument"
+msgstr "opció llarga buida després de l'argument -l o --long"
+
+#: getopt/getopt.c:315
+msgid "unknown shell after -s or --shell argument"
+msgstr "intèrpret d'ordres desconegut després de l'argument -s o --shell"
+
+#: getopt/getopt.c:320
+msgid "Usage: getopt optstring parameters\n"
+msgstr "Forma d'ús: getopt cadena_opcions paràmetres\n"
+
+#: getopt/getopt.c:321
+msgid "       getopt [options] [--] optstring parameters\n"
+msgstr "       getopt [opcions] [--] cadena_opcions paràmetres\n"
+
+#: getopt/getopt.c:322
+msgid "       getopt [options] -o|--options optstring [options] [--]\n"
+msgstr "       getopt [opcions] -o|--options cadena_opcions [opcions] [--]\n"
+
+#: getopt/getopt.c:323
+msgid "              parameters\n"
+msgstr "              paràmetres\n"
+
+#: getopt/getopt.c:324
+msgid ""
+"  -a, --alternative            Allow long options starting with single -\n"
+msgstr ""
+"  -a, --alternative            Permet opcions llargues amb només un -\n"
+
+#: getopt/getopt.c:325
+msgid "  -h, --help                   This small usage guide\n"
+msgstr "  -h, --help                   Aquesta petita guia d'ús\n"
+
+#: getopt/getopt.c:326
+msgid "  -l, --longoptions=longopts   Long options to be recognized\n"
+msgstr "  -l, --longoptions=opc_llarg   Opcions llargues a reconèixer\n"
+
+#: getopt/getopt.c:327
+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"
+
+#: getopt/getopt.c:328
+msgid "  -o, --options=optstring      Short options to be recognized\n"
+msgstr "  -o, --options=cadena_opcions Opcions curtes a reconèixer\n"
+
+#: getopt/getopt.c:329
+msgid "  -q, --quiet                  Disable error reporting by getopt(3)\n"
+msgstr ""
+"  -q, --quiet                  Inhabilita els informes d'error mitjançant\n"
+"                               getopt(3)\n"
+
+#: getopt/getopt.c:330
+msgid "  -Q, --quiet-output           No normal output\n"
+msgstr "  -Q, --quiet-output           No hi ha sortida normal\n"
+
+#: getopt/getopt.c:331
+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"
+
+#: getopt/getopt.c:332
+msgid "  -T, --test                   Test for getopt(1) version\n"
+msgstr "  -T, --test                   Prova la versió del getopt(1)\n"
+
+#: getopt/getopt.c:333
+msgid "  -u, --unqote                 Do not quote the output\n"
+msgstr "  -u, --unqote                 No es posarà la sortida entre cometes\n"
+
+#: getopt/getopt.c:334
+msgid "  -V, --version                Output version information\n"
+msgstr "  -V, --version                Mostra la informació de la versió\n"
+
+#: getopt/getopt.c:388 getopt/getopt.c:447
+msgid "missing optstring argument"
+msgstr "falta l'argument cadena_opcions"
+
+#: getopt/getopt.c:435
+#, fuzzy, c-format
+msgid "getopt (enhanced) 1.1.4\n"
+msgstr "getopt (millorat) 1.1.3\n"
+
+#: getopt/getopt.c:441
+msgid "internal error, contact the author."
+msgstr "s'ha produït un error intern; contacteu amb l'autor."
+
+#: hwclock/cmos.c:176
+#, c-format
+msgid "booted from MILO\n"
+msgstr "s'ha arrencat des de MILO\n"
+
+#: hwclock/cmos.c:185
+#, c-format
+msgid "Ruffian BCD clock\n"
+msgstr "Rellotge BCD Ruffian\n"
+
+#: hwclock/cmos.c:201
+#, 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?
+#: hwclock/cmos.c:213
+#, c-format
+msgid "funky TOY!\n"
+msgstr "funky TOY!\n"
+
+# FIXME: atomic what?
+#: hwclock/cmos.c:244
+#, c-format
+msgid "%s: atomic %s failed for 1000 iterations!"
+msgstr "%s: comprovació de %s atòmic ha fallat per 1000 iteracions!"
+
+#: hwclock/cmos.c:273
+#, c-format
+msgid "cmos_read(): write to control address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:276
+#, c-format
+msgid "cmos_read(): read data address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:307
+#, c-format
+msgid "cmos_write(): write to control address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:311
+#, c-format
+msgid "cmos_write(): write to data address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:574
+#, c-format
+msgid "Cannot open /dev/port: %s"
+msgstr "No s'ha pogut obrir /dev/port: %s"
+
+#: hwclock/cmos.c:581
+#, c-format
+msgid "I failed to get permission because I didn't try.\n"
+msgstr "No s'ha pogut obtenir el permís perquè no s'ha intentat.\n"
+
+#: hwclock/cmos.c:584
+#, c-format
+msgid "%s is unable to get I/O port access:  the iopl(3) call failed.\n"
+msgstr ""
+"%s no pot aconseguir l'accés al port d'E/S: la crida iopl(3) ha fallat.\n"
+
+#: hwclock/cmos.c:587
+#, c-format
+msgid "Probably you need root privileges.\n"
+msgstr "Probablement necessiteu privilegis de root.\n"
+
+#: hwclock/hwclock.c:231
+#, 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"
+
+#: hwclock/hwclock.c:232 hwclock/hwclock.c:327
+msgid "UTC"
+msgstr "UTC"
+
+#: hwclock/hwclock.c:232 hwclock/hwclock.c:326
+msgid "local"
+msgstr "local"
+
+#: hwclock/hwclock.c:312
+#, c-format
+msgid "%s: Warning: unrecognized third line in adjtime file\n"
+msgstr "%s: Avís: no s'ha reconegut la tercera línia del fitxer adjtime\n"
+
+#: hwclock/hwclock.c:314
+#, c-format
+msgid "(Expected: `UTC' or `LOCAL' or nothing.)\n"
+msgstr "(S'esperava: `UTC', `LOCAL' o res).\n"
+
+#: hwclock/hwclock.c:321
+#, 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"
+
+#: hwclock/hwclock.c:323
+#, 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"
+
+#: hwclock/hwclock.c:325
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr "El rellotge del maquinari té l'hora %s\n"
+
+#: hwclock/hwclock.c:327
+msgid "unknown"
+msgstr "desconegut"
+
+#: hwclock/hwclock.c:351
+#, c-format
+msgid "Waiting for clock tick...\n"
+msgstr "S'està esperant el tic del rellotge...\n"
+
+#: hwclock/hwclock.c:357
+#, c-format
+msgid "...synchronization failed\n"
+msgstr ""
+
+#: hwclock/hwclock.c:359
+#, c-format
+msgid "...got clock tick\n"
+msgstr "...s'ha rebut el tic del rellotge\n"
+
+#: hwclock/hwclock.c:413
+#, 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"
+
+#: hwclock/hwclock.c:421
+#, 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"
+
+#: hwclock/hwclock.c:451
+#, 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"
+
+#: hwclock/hwclock.c:480
+#, 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"
+
+#: hwclock/hwclock.c:486
+#, c-format
+msgid "Clock not changed - testing only.\n"
+msgstr "El rellotge no s'ha modificat - només s'ha provat.\n"
+
+#: hwclock/hwclock.c:536
+#, 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"
+
+#: hwclock/hwclock.c:572
+#, c-format
+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).\n"
+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"
+
+#: hwclock/hwclock.c:582
+#, c-format
+msgid "%s  %.6f seconds\n"
+msgstr "%s  %.6f segons\n"
+
+#: hwclock/hwclock.c:616
+#, c-format
+msgid "No --date option specified.\n"
+msgstr "No s'ha especificat l'opció --date.\n"
+
+#: hwclock/hwclock.c:622
+#, c-format
+msgid "--date argument too long\n"
+msgstr "argument --date massa llarg\n"
+
+#: hwclock/hwclock.c:629
+#, c-format
+msgid ""
+"The value of the --date option is not a valid date.\n"
+"In particular, it contains quotation marks.\n"
+msgstr ""
+"El valor de l'opció --date no és una data vàlida.\n"
+"En concret, conté cometes.\n"
+
+#: hwclock/hwclock.c:637
+#, c-format
+msgid "Issuing date command: %s\n"
+msgstr "S'està executant l'ordre date: %s\n"
+
+#: hwclock/hwclock.c:641
+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"
+
+#: hwclock/hwclock.c:649
+#, c-format
+msgid "response from date command = %s\n"
+msgstr "resposta de l'ordre date = %s\n"
+
+#: hwclock/hwclock.c:651
+#, c-format
+msgid ""
+"The date command issued by %s returned unexpected results.\n"
+"The command was:\n"
+"  %s\n"
+"The response was:\n"
+"  %s\n"
+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"
+
+#: hwclock/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"
+
+#: hwclock/hwclock.c:674
+#, 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"
+
+#: hwclock/hwclock.c:706
+#, c-format
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot set the "
+"System Time from it.\n"
+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"
+
+#: hwclock/hwclock.c:728 hwclock/hwclock.c:805
+#, c-format
+msgid "Calling settimeofday:\n"
+msgstr "Cridant a settimeofday:\n"
+
+#: hwclock/hwclock.c:729 hwclock/hwclock.c:807
+#, c-format
+msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+
+#: hwclock/hwclock.c:731 hwclock/hwclock.c:809
+#, c-format
+msgid "\ttz.tz_minuteswest = %d\n"
+msgstr "\ttz.tz_minuteswest = %d\n"
+
+#: hwclock/hwclock.c:734 hwclock/hwclock.c:812
+#, 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"
+
+#: hwclock/hwclock.c:743 hwclock/hwclock.c:821
+#, c-format
+msgid "Must be superuser to set system clock.\n"
+msgstr "Heu de ser el superusuari per configurar rellotge del sistema.\n"
+
+#: hwclock/hwclock.c:746 hwclock/hwclock.c:824
+msgid "settimeofday() failed"
+msgstr "settimeofday() ha fallat"
+
+#: hwclock/hwclock.c:782
+#, c-format
+msgid "Current system time: %ld = %s\n"
+msgstr ""
+
+#: hwclock/hwclock.c:806
+#, c-format
+msgid "\tUTC: %s\n"
+msgstr ""
+
+#: hwclock/hwclock.c:853
+#, 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"
+
+#: hwclock/hwclock.c:858
+#, 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"
+
+#: hwclock/hwclock.c:864
+#, 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"
+
+#: hwclock/hwclock.c:912
+#, 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"
+
+#: hwclock/hwclock.c:962
+#, c-format
+msgid "Time since last adjustment is %d seconds\n"
+msgstr "Han transcorregut %d segons des de l'últim ajust\n"
+
+#: hwclock/hwclock.c:964
+#, 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"
+
+#: hwclock/hwclock.c:993
+#, 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"
+
+#: hwclock/hwclock.c:994
+#, c-format
+msgid ""
+"Would have written the following to %s:\n"
+"%s"
+msgstr ""
+"S'hauria escrit el següent a %s:\n"
+"%s"
+
+#: hwclock/hwclock.c:1002
+#, c-format
+msgid ""
+"Could not open file with the clock adjustment parameters in it (%s) for "
+"writing"
+msgstr ""
+
+#: hwclock/hwclock.c:1007 hwclock/hwclock.c:1012
+#, c-format
+msgid "Could not update file with the clock adjustment parameters (%s) in it"
+msgstr ""
+
+#: hwclock/hwclock.c:1018
+#, c-format
+msgid "Drift adjustment parameters not updated.\n"
+msgstr "No s'han actualitzat els paràmetres d'ajustament del desfasament.\n"
+
+#: hwclock/hwclock.c:1059
+#, c-format
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot adjust it.\n"
+msgstr ""
+"El rellotje de maquinari no conté una hora vàlida, i no es pot ajustar.\n"
+
+#: hwclock/hwclock.c:1067
+#, 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"
+
+#: hwclock/hwclock.c:1090
+#, 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"
+
+#: hwclock/hwclock.c:1116
+#, c-format
+msgid "Using %s.\n"
+msgstr "Usant %s.\n"
+
+#: hwclock/hwclock.c:1118
+#, c-format
+msgid "No usable clock interface found.\n"
+msgstr "No s'ha trobat cap interfície de rellotge usable.\n"
+
+#: hwclock/hwclock.c:1222 hwclock/hwclock.c:1228
+#, c-format
+msgid "Unable to set system clock.\n"
+msgstr "No es pot establir el rellotge del sistema.\n"
+
+#: hwclock/hwclock.c:1258
+#, c-format
+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.\n"
+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"
+
+#: hwclock/hwclock.c:1267
+#, c-format
+msgid "Unable to get the epoch value from the kernel.\n"
+msgstr "No es pot obtenir el valor d'època del nucli.\n"
+
+#: hwclock/hwclock.c:1269
+#, c-format
+msgid "Kernel is assuming an epoch value of %lu\n"
+msgstr "El nucli assumeix un valor d'època de %lu\n"
+
+#: hwclock/hwclock.c:1272
+#, c-format
+msgid ""
+"To set the epoch value, you must use the 'epoch' option to tell to what "
+"value to set it.\n"
+msgstr ""
+"Per establir el valor d'època, haureu d'usar l'opció 'epoch' per a indicar a "
+"quin valor s'ha d'establir.\n"
+
+#: hwclock/hwclock.c:1275
+#, 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"
+
+#: hwclock/hwclock.c:1278
+#, 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"
+
+#: hwclock/hwclock.c:1291 misc-utils/cal.c:345 misc-utils/kill.c:189
+#, c-format
+msgid "%s from %s\n"
+msgstr "%s de %s\n"
+
+#: hwclock/hwclock.c:1312
+#, fuzzy, c-format
+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"
+"  -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"
+
+#: hwclock/hwclock.c:1347
+#, fuzzy, c-format
+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"
+
+#: hwclock/hwclock.c:1434
+#, fuzzy, c-format
+msgid "%s: Unable to connect to audit system\n"
+msgstr "No es pot establir el rellotge del sistema.\n"
+
+#: hwclock/hwclock.c:1552
+#, 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"
+
+#: hwclock/hwclock.c:1559
+#, c-format
+msgid ""
+"You have specified multiple functions.\n"
+"You can only perform one function at a time.\n"
+msgstr ""
+"Heu especificat múltiples funcions.\n"
+"Només podeu fer-ne una a la vegada.\n"
+
+#: hwclock/hwclock.c:1566
+#, c-format
+msgid ""
+"%s: The --utc and --localtime options are mutually exclusive.  You specified "
+"both.\n"
+msgstr ""
+"%s: Les opcions --utc i --localtime s'exclouen mútuament. Les heu "
+"especificat totes dues.\n"
+
+#: hwclock/hwclock.c:1573
+#, c-format
+msgid ""
+"%s: The --adjust and --noadjfile options are mutually exclusive.  You "
+"specified both.\n"
+msgstr ""
+"%s: Les opcions --adjust i --noadjfile s'exclouen mútuament. Les heu "
+"especificat totes dues.\n"
+
+#: hwclock/hwclock.c:1580
+#, fuzzy, c-format
+msgid ""
+"%s: The --adjfile and --noadjfile options are mutually exclusive.  You "
+"specified both.\n"
+msgstr ""
+"%s: Les opcions --adjust i --noadjfile s'exclouen mútuament. Les heu "
+"especificat totes dues.\n"
+
+#: hwclock/hwclock.c:1589
+#, c-format
+msgid "%s: With --noadjfile, you must specify either --utc or --localtime\n"
+msgstr "%s: Amb --noadjfile, haureu d'especificar --utc o --localtime\n"
+
+#: hwclock/hwclock.c:1603
+#, c-format
+msgid "No usable set-to time.  Cannot set clock.\n"
+msgstr ""
+"L'hora indicada per establir no és usable. No s'ha tocat el rellotge.\n"
+
+#: hwclock/hwclock.c:1620
+#, c-format
+msgid "Sorry, only the superuser can change the Hardware Clock.\n"
+msgstr "Només el superusuari pot canviar el rellotge del maquinari.\n"
+
+#: hwclock/hwclock.c:1625
+#, c-format
+msgid "Sorry, only the superuser can change the System Clock.\n"
+msgstr "Només el superusuari port canviar el rellotge del sistema.\n"
+
+#: hwclock/hwclock.c:1630
+#, c-format
+msgid ""
+"Sorry, only the superuser can change the Hardware Clock epoch in the "
+"kernel.\n"
+msgstr ""
+"Només el superusuari pot canviar el valor de l'època del rellotge del "
+"maquinari en el nucli.\n"
+
+#: hwclock/hwclock.c:1651
+#, c-format
+msgid "Cannot access the Hardware Clock via any known method.\n"
+msgstr ""
+"No s'ha pogut accedir al rellotge del maquinari mitjançant cap dels mètodes "
+"coneguts.\n"
+
+#: hwclock/hwclock.c:1655
+#, c-format
+msgid ""
+"Use the --debug option to see the details of our search for an access "
+"method.\n"
+msgstr ""
+"Useu l'opció --debug per veure els detalls de la recerca d'un mètode "
+"d'accés.\n"
+
+#: hwclock/kd.c:53
+#, 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"
+
+#: hwclock/kd.c:56
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr "No s'ha pogut executar ioctl KDGHWCLK per llegir l'hora"
+
+#: hwclock/kd.c:77 hwclock/rtc.c:221
+#, c-format
+msgid "Timed out waiting for time change.\n"
+msgstr "S'ha excedit el temps d'espera per a què canviés l'hora.\n"
+
+#: hwclock/kd.c:81
+msgid "KDGHWCLK ioctl to read time failed in loop"
+msgstr "No s'ha pogut executar ioctl KDGHWCLK per llegir l'hora en el bucle"
+
+#: hwclock/kd.c:103
+#, c-format
+msgid "ioctl() failed to read time from %s"
+msgstr "no ha estat possible executar ioctl() per llegir l'hora de %s"
+
+#: hwclock/kd.c:139
+msgid "ioctl KDSHWCLK failed"
+msgstr "No s'ha pogut executar ioctl KDGHWCLK"
+
+#: hwclock/kd.c:175
+msgid "Can't open /dev/tty1 or /dev/vc/1"
+msgstr "No s'ha pogut obrir /dev/tty1 o /dev/vc/1"
+
+#: hwclock/kd.c:179
+msgid "KDGHWCLK ioctl failed"
+msgstr "No s'ha pogut executar ioctl KDGHWCLK"
+
+#: hwclock/rtc.c:147 hwclock/rtc.c:241
+#, c-format
+msgid "open() of %s failed"
+msgstr "No s'ha pogut executar open() de %s"
+
+#: hwclock/rtc.c:181
+#, c-format
+msgid "ioctl() to %s to read the time failed.\n"
+msgstr "No s'ha pogut executar ioctl() a %s per llegir l'hora.\n"
+
+#: hwclock/rtc.c:203
+#, 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"
+
+#: hwclock/rtc.c:259
+#, c-format
+msgid "%s does not have interrupt functions. "
+msgstr "%s no té funcions d'interrupció.  "
+
+#: hwclock/rtc.c:270
+#, 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."
+
+#: hwclock/rtc.c:288
+#, 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."
+
+#: hwclock/rtc.c:291
+#, c-format
+msgid "select() to %s to wait for clock tick timed out\n"
+msgstr ""
+"S'ha excedit el temps d'espera en executar select() a %s en esperar\n"
+"el tic del rellotge.\n"
+
+#: hwclock/rtc.c:300
+#, 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ó"
+
+#: hwclock/rtc.c:303
+#, 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"
+
+#: hwclock/rtc.c:360
+#, c-format
+msgid "ioctl() to %s to set the time failed.\n"
+msgstr "No s'ha pogut executar ioctl() a %s per establir l'hora.\n"
+
+#: hwclock/rtc.c:366
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr "S'ha executat ioctl(%s) satisfactòriament.\n"
+
+#: hwclock/rtc.c:392
+#, c-format
+msgid "Open of %s failed"
+msgstr "S'ha produït un error en obrir %s"
+
+#: hwclock/rtc.c:410 hwclock/rtc.c:454
+#, 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.\n"
+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"
+
+#: hwclock/rtc.c:415 hwclock/rtc.c:459
+#, c-format
+msgid "Unable to open %s"
+msgstr "No es pot obrir %s"
+
+#: hwclock/rtc.c:422
+#, c-format
+msgid "ioctl(RTC_EPOCH_READ) to %s failed"
+msgstr "No s'ha pogut executar ioctl(RTC_EPOCH_READ) a %s"
+
+#: hwclock/rtc.c:427
+#, 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"
+
+#: hwclock/rtc.c:446
+#, c-format
+msgid "The epoch value may not be less than 1900.  You requested %ld\n"
+msgstr "El valor d'època no pot ser inferior a 1900. Heu indicat %ld\n"
+
+#: hwclock/rtc.c:464
+#, 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"
+
+#: hwclock/rtc.c:469
+#, c-format
+msgid ""
+"The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl.\n"
+msgstr ""
+"El controlador de dispositiu del nucli per a %s no té el ioctl "
+"RTC_EPOCH_SET.\n"
+
+#: hwclock/rtc.c:472
+#, c-format
+msgid "ioctl(RTC_EPOCH_SET) to %s failed"
+msgstr "No s'ha pogut executar ioctl(RTC_EPOCH_SET) a %s"
+
+#: login-utils/agetty.c:361
+#, c-format
+msgid "%s: can't exec %s: %m"
+msgstr "%s: no s'ha pogut executar %s: %m"
+
+#: login-utils/agetty.c:384
+msgid "can't malloc initstring"
+msgstr "no s'ha pogut executar malloc() per a la cadena d'inicialització"
+
+#: login-utils/agetty.c:449
+#, c-format
+msgid "bad timeout value: %s"
+msgstr "valor d'expiració erroni: %s"
+
+#: login-utils/agetty.c:526
+#, c-format
+msgid "bad speed: %s"
+msgstr "velocitat incorrecta: %s"
+
+#: login-utils/agetty.c:528
+msgid "too many alternate speeds"
+msgstr "massa velocitats alternatives"
+
+#: login-utils/agetty.c:630
+#, c-format
+msgid "/dev: chdir() failed: %m"
+msgstr "/dev: chdir() ha fallat: %m"
+
+#: login-utils/agetty.c:634
+#, c-format
+msgid "/dev/%s: not a character device"
+msgstr "/dev/%s: no és un dispositiu de caràcter"
+
+#: login-utils/agetty.c:643
+#, c-format
+msgid "/dev/%s: cannot open as standard input: %m"
+msgstr "/dev/%s: no es pot obrir com a entrada estàndard: %m"
+
+#: login-utils/agetty.c:653
+#, c-format
+msgid "%s: not open for read/write"
+msgstr "%s: no s'ha obert per a lectura/escriptura"
+
+#: login-utils/agetty.c:659
+#, c-format
+msgid "%s: dup problem: %m"
+msgstr "%s: problema de dup: %m"
+
+#: login-utils/agetty.c:946
+#, c-format
+msgid "user"
+msgstr "usuari"
+
+#: login-utils/agetty.c:946
+#, c-format
+msgid "users"
+msgstr "usuaris"
+
+#: login-utils/agetty.c:1031
+#, c-format
+msgid "%s: read: %m"
+msgstr "%s: lectura: %m"
+
+#: login-utils/agetty.c:1078
+#, c-format
+msgid "%s: input overrun"
+msgstr "%s: desbordament de l'entrada"
+
+#: login-utils/agetty.c:1207
+#, fuzzy, c-format
+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 ""
+"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"
+
+#: login-utils/checktty.c:91 login-utils/checktty.c:112
+#, c-format
+msgid "login: memory low, login may fail\n"
+msgstr "login: poca memòria; l'accés podria fallar\n"
+
+#: login-utils/checktty.c:92
+msgid "can't malloc for ttyclass"
+msgstr "no es pot executar malloc() per a ttyclass"
+
+#: login-utils/checktty.c:113
+msgid "can't malloc for grplist"
+msgstr "no es pot executar malloc per a grplist"
+
+#: login-utils/checktty.c:554
+#, c-format
+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"
+
+#: login-utils/checktty.c:565
+#, c-format
+msgid "Login on %s from %s denied.\n"
+msgstr "S'ha denegat l'accés a %s des de %s.\n"
+
+#: login-utils/chfn.c:133 login-utils/chsh.c:119
+#, c-format
+msgid "%s: you (user %d) don't exist.\n"
+msgstr "%s: aquest usuari (%d) no existeix.\n"
+
+#: login-utils/chfn.c:140 login-utils/chsh.c:126
+#, c-format
+msgid "%s: user \"%s\" does not exist.\n"
+msgstr "%s: l'usuari \"%s\" no existeix.\n"
+
+#: login-utils/chfn.c:145 login-utils/chsh.c:131
+#, c-format
+msgid "%s: can only change local entries; use yp%s instead.\n"
+msgstr "%s: només es poden modificar entrades locals; useu yp%s.\n"
+
+#: login-utils/chfn.c:156 login-utils/chsh.c:142
+msgid "Unknown user context"
+msgstr "Es desconeix el context de l'usuari"
+
+#: login-utils/chfn.c:157
+#, c-format
+msgid "%s: %s is not authorized to change the finger info of %s\n"
+msgstr "%s: %s no està autoritzat a canviar la informació del finger de %s\n"
+
+#: login-utils/chfn.c:164 login-utils/chsh.c:150
+#, c-format
+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"
+
+#: login-utils/chfn.c:178
+#, 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:189 login-utils/chsh.c:188 login-utils/login.c:572
+#, fuzzy, c-format
+msgid "%s: PAM failure, aborting: %s\n"
+msgstr "login: PAM ha fallat; s'està avortant: %s\n"
+
+#: login-utils/chfn.c:212 login-utils/chsh.c:211 login-utils/login.c:823
+#: login-utils/newgrp.c:85 login-utils/simpleinit.c:340 mount/lomount.c:744
+#: mount/lomount.c:747
+msgid "Password: "
+msgstr "Contrasenya: "
+
+#: login-utils/chfn.c:215 login-utils/chsh.c:214
+msgid "Incorrect password."
+msgstr "La contrasenya no és correcta."
+
+#: login-utils/chfn.c:226
+#, c-format
+msgid "Finger information not changed.\n"
+msgstr "No s'ha canviat la informació del finger.\n"
+
+#: login-utils/chfn.c:328
+#, c-format
+msgid "Usage: %s [ -f full-name ] [ -o office ] "
+msgstr "Forma d'ús: %s [ -f nom_complet ] [ -o oficina ] "
+
+#: login-utils/chfn.c:329
+#, c-format
+msgid ""
+"[ -p office-phone ]\n"
+"\t[ -h home-phone ] "
+msgstr ""
+"[ -p telèfon_oficina ]\n"
+"\t[ -h telèfon_particular ] "
+
+#: login-utils/chfn.c:330
+#, c-format
+msgid "[ --help ] [ --version ]\n"
+msgstr "[ --help ] [ --version ]\n"
+
+#: login-utils/chfn.c:378
+msgid "Office"
+msgstr ""
+
+#: login-utils/chfn.c:379
+msgid "Office Phone"
+msgstr ""
+
+#: login-utils/chfn.c:380
+msgid "Home Phone"
+msgstr ""
+
+#: login-utils/chfn.c:401 login-utils/chsh.c:321
+#, c-format
+msgid ""
+"\n"
+"Aborted.\n"
+msgstr ""
+"\n"
+"S'ha avortat.\n"
+
+#: login-utils/chfn.c:434
+#, c-format
+msgid "field is too long.\n"
+msgstr "el camp és massa llarg.\n"
+
+#: login-utils/chfn.c:442
+#, c-format
+msgid "'%c' is not allowed.\n"
+msgstr "«%c» no està permès.\n"
+
+#: login-utils/chfn.c:447
+#, c-format
+msgid "Control characters are not allowed.\n"
+msgstr "Els caràcters de control no estan permesos.\n"
+
+#: login-utils/chfn.c:512
+#, 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:515
+#, c-format
+msgid "Finger information changed.\n"
+msgstr "S'ha canviat la informació del finger.\n"
+
+#: login-utils/chsh.c:143
+#, c-format
+msgid "%s: %s is not authorized to change the shell of %s\n"
+msgstr ""
+"%s: %s no està autoritzat a canviar l'intèrpret d'ordres de l'usuari %s\n"
+
+#: login-utils/chsh.c:164
+#, c-format
+msgid ""
+"%s: Running UID doesn't match UID of user we're altering, shell change "
+"denied\n"
+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:170
+#, c-format
+msgid "%s: Your shell is not in /etc/shells, shell change denied\n"
+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:177
+#, c-format
+msgid "Changing shell for %s.\n"
+msgstr "S'està canviant l'intèrpret d'ordres per %s.\n"
+
+#: login-utils/chsh.c:222
+msgid "New shell"
+msgstr "Nou intèrpret d'ordres"
+
+#: login-utils/chsh.c:229
+#, c-format
+msgid "Shell not changed.\n"
+msgstr "No s'ha canviat l'intèrpret d'ordres.\n"
+
+#: login-utils/chsh.c:235
+#, c-format
+msgid "Shell *NOT* changed.  Try again later.\n"
+msgstr ""
+"No s'ha canviat l'intèrpret d'ordres. Intenteu-ho de nou més endavant.\n"
+
+#: login-utils/chsh.c:238
+#, c-format
+msgid "Shell changed.\n"
+msgstr "S'ha canviat l'intèrpret d'ordres.\n"
+
+#: login-utils/chsh.c:303
+#, c-format
+msgid ""
+"Usage: %s [ -s shell ] [ --list-shells ] [ --help ] [ --version ]\n"
+"       [ username ]\n"
+msgstr ""
+"Forma d'ús: %s [ -s intèrpret_d'ordres ] [ --list-shells ] [ --help ] [ --"
+"version ]\n"
+"\t[ nom_usuari ]\n"
+
+#: login-utils/chsh.c:349
+#, c-format
+msgid "%s: shell must be a full path name.\n"
+msgstr "%s: l'intèrpret d'ordres ha de ser un camí complet.\n"
+
+#: login-utils/chsh.c:353
+#, c-format
+msgid "%s: \"%s\" does not exist.\n"
+msgstr "%s: \"%s\" no existeix.\n"
+
+#: login-utils/chsh.c:357
+#, c-format
+msgid "%s: \"%s\" is not executable.\n"
+msgstr "%s: \"%s\" no és executable.\n"
+
+#: login-utils/chsh.c:364
+#, c-format
+msgid "%s: '%c' is not allowed.\n"
+msgstr "%s: '%c' no està permès.\n"
+
+#: login-utils/chsh.c:368
+#, c-format
+msgid "%s: Control characters are not allowed.\n"
+msgstr "%s: Els caràcters de control no estan permesos.\n"
+
+#: login-utils/chsh.c:375 login-utils/chsh.c:385
+#, c-format
+msgid "Warning: \"%s\" is not listed in /etc/shells.\n"
+msgstr "Avís: \"%s\" no està llistat a /etc/shells.\n"
+
+#: login-utils/chsh.c:377
+#, c-format
+msgid "%s: \"%s\" is not listed in /etc/shells.\n"
+msgstr "%s: \"%s\" no està llistat a /etc/shells.\n"
+
+#: login-utils/chsh.c:379
+#, fuzzy, c-format
+msgid "%s: Use -l option to see list.\n"
+msgstr "%s: useu l'opció -l per veure'n la llista\n"
+
+#: login-utils/chsh.c:386
+#, c-format
+msgid "Use %s -l to see list.\n"
+msgstr "Useu %s -l per veure'n la llista.\n"
+
+#: login-utils/chsh.c:406
+#, c-format
+msgid "No known shells.\n"
+msgstr "No es coneix cap intèrpret d'ordres.\n"
+
+#: login-utils/islocal.c:87
+#, fuzzy, c-format
+msgid "Failed to open %s for reading, exiting."
+msgstr "no s'ha pogut obrir %s per a lectura"
+
+#: login-utils/last.c:148
+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:284
+msgid "  still logged in"
+msgstr "  encara teniu una sessió en el sistema"
+
+#: login-utils/last.c:306
+#, c-format
+msgid ""
+"\n"
+"wtmp begins %s"
+msgstr ""
+"\n"
+"wtmp comença %s"
+
+#: login-utils/last.c:362 login-utils/last.c:380 login-utils/last.c:431
+msgid "last: malloc failure.\n"
+msgstr "last: no ha estat possible executar malloc.\n"
+
+#: login-utils/last.c:407
+msgid "last: gethostname"
+msgstr "last: gethostname"
+
+#: login-utils/last.c:456
+#, c-format
+msgid ""
+"\n"
+"interrupted %10.10s %5.5s \n"
+msgstr ""
+"\n"
+"interromput %10.10s %5.5s \n"
+
+#: login-utils/login.c:197
+#, c-format
+msgid "FATAL: can't reopen tty: %s"
+msgstr "S'ha produït un error fatal: no s'ha pogut reobrir tty: %s"
+
+#: login-utils/login.c:229
+msgid "FATAL: bad tty"
+msgstr "S'ha produït un error fatal: terminal erroni"
+
+#: login-utils/login.c:436
+#, 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:479
+#, c-format
+msgid "usage: login [-fp] [username]\n"
+msgstr "forma d'ús: login [-fp] [nom_usuari]\n"
+
+#: login-utils/login.c:574
+#, c-format
+msgid "Couldn't initialize PAM: %s"
+msgstr "No s'ha pogut inicialitzar PAM: %s"
+
+#: login-utils/login.c:591
+msgid "login: "
+msgstr "entrada: "
+
+# FIXME, please describe parameters
+#: login-utils/login.c:635
+#, c-format
+msgid "FAILED LOGIN %d 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:640
+#, c-format
+msgid ""
+"Login incorrect\n"
+"\n"
+msgstr ""
+"L'entrada no és correcta\n"
+"\n"
+
+#: login-utils/login.c:649
+#, c-format
+msgid "TOO MANY LOGIN TRIES (%d) FROM %s FOR %s, %s"
+msgstr "S'HA INTENTAT ENTRAR MASSA VEGADES (%d) DES DE %s PER A %s, %s"
+
+#: login-utils/login.c:653
+#, 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:658
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+"\n"
+"Entrada incorrecta\n"
+
+#: login-utils/login.c:686 login-utils/login.c:693 login-utils/login.c:727
+#, c-format
+msgid ""
+"\n"
+"Session setup problem, abort.\n"
+msgstr ""
+"\n"
+"S'ha produït un problema en iniciar la sessió, s'avortarà.\n"
+
+#: login-utils/login.c:687
+#, c-format
+msgid "NULL user name in %s:%d. Abort."
+msgstr "Nom d'usuari NUL a %s:%d. S'avortarà."
+
+#: login-utils/login.c:694
+#, 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:713
+#, c-format
+msgid "login: Out of memory\n"
+msgstr "login: No hi ha prou memòria\n"
+
+#: login-utils/login.c:757
+msgid "Illegal username"
+msgstr "Nom d'usuari il·legal"
+
+#: login-utils/login.c:800
+#, c-format
+msgid "%s login refused on this terminal.\n"
+msgstr "S'ha refusat l'entrada de %s en aquest terminal.\n"
+
+#: login-utils/login.c:805
+#, c-format
+msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
+msgstr "S'HA REFUSAT L'ENTRADA DE %s DES DE %s A LA TTY %s"
+
+#: login-utils/login.c:809
+#, c-format
+msgid "LOGIN %s REFUSED ON TTY %s"
+msgstr "S'HA REFUSAT L'ENTRADA DE %s A LA TTY %s"
+
+#: login-utils/login.c:863
+#, c-format
+msgid "Login incorrect\n"
+msgstr "Entrada incorrecta\n"
+
+#: login-utils/login.c:1088
+#, c-format
+msgid "DIALUP AT %s BY %s"
+msgstr "MARCATGE DIRECTE A %s PER %s"
+
+#: login-utils/login.c:1095
+#, c-format
+msgid "ROOT LOGIN ON %s FROM %s"
+msgstr "ENTRADA DEL ROOT A %s DES DE %s"
+
+#: login-utils/login.c:1098
+#, c-format
+msgid "ROOT LOGIN ON %s"
+msgstr "ENTRADA DEL ROOT A %s"
+
+#: login-utils/login.c:1101
+#, c-format
+msgid "LOGIN ON %s BY %s FROM %s"
+msgstr "ENTRADA A %s PER %s DES DE %s"
+
+#: login-utils/login.c:1104
+#, c-format
+msgid "LOGIN ON %s BY %s"
+msgstr "ENTRADA A %s PER %s"
+
+#: login-utils/login.c:1125
+#, c-format
+msgid "You have new mail.\n"
+msgstr "Teniu correu nou.\n"
+
+#: login-utils/login.c:1127
+#, c-format
+msgid "You have mail.\n"
+msgstr "Teniu correu.\n"
+
+#: login-utils/login.c:1171
+#, c-format
+msgid "login: failure forking: %s"
+msgstr "login: s'ha produït un error en bifurcar: %s"
+
+#: login-utils/login.c:1218
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr "TIOCSCTTY ha fallat: %m"
+
+#: login-utils/login.c:1224
+msgid "setuid() failed"
+msgstr "setuid() ha fallat"
+
+#: login-utils/login.c:1230
+#, c-format
+msgid "No directory %s!\n"
+msgstr "No hi ha cap directori %s\n"
+
+#: login-utils/login.c:1234
+#, c-format
+msgid "Logging in with home = \"/\".\n"
+msgstr "S'està entrant amb el directori inicial = «/».\n"
+
+#: login-utils/login.c:1242
+#, c-format
+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"
+
+#: login-utils/login.c:1269
+#, c-format
+msgid "login: couldn't exec shell script: %s.\n"
+msgstr ""
+"login: no s'ha pogut executar la seqüènca de l'intèrpret d'ordres: %s.\n"
+
+#: login-utils/login.c:1272
+#, c-format
+msgid "login: no shell: %s.\n"
+msgstr "login: no hi ha l'intèrpret d'ordres: %s.\n"
+
+#: login-utils/login.c:1287
+#, c-format
+msgid ""
+"\n"
+"%s login: "
+msgstr ""
+"\n"
+"Entrada a %s: "
+
+#: login-utils/login.c:1298
+#, c-format
+msgid "login name much too long.\n"
+msgstr "el nom d'entrada és massa llarg.\n"
+
+#: login-utils/login.c:1299
+msgid "NAME too long"
+msgstr "NOM és massa llarg"
+
+#: login-utils/login.c:1306
+#, c-format
+msgid "login names may not start with '-'.\n"
+msgstr "els noms d'entrada no poden començar per «-».\n"
+
+# FIXME
+#: login-utils/login.c:1316
+#, c-format
+msgid "too many bare linefeeds.\n"
+msgstr "massa salts de pàgina solitaris.\n"
+
+#: login-utils/login.c:1317
+msgid "EXCESSIVE linefeeds"
+msgstr "MASSA salts de pàgina"
+
+#: login-utils/login.c:1349
+#, c-format
+msgid "Login timed out after %d seconds\n"
+msgstr "S'ha excedit el temps d'espera per a l'entrada al cap de %d segons.\n"
+
+#: login-utils/login.c:1437
+#, c-format
+msgid "Last login: %.*s "
+msgstr "Última entrada: %.*s "
+
+#: login-utils/login.c:1441
+#, c-format
+msgid "from %.*s\n"
+msgstr "des de %.*s\n"
+
+#: login-utils/login.c:1444
+#, c-format
+msgid "on %.*s\n"
+msgstr "a %.*s\n"
+
+#: login-utils/login.c:1470
+#, c-format
+msgid "LOGIN FAILURE FROM %s, %s"
+msgstr "HA FALLAT L'ENTRADA DE %s, %s"
+
+#: login-utils/login.c:1473
+#, c-format
+msgid "LOGIN FAILURE ON %s, %s"
+msgstr "HA FALLAT L'ENTRADA A %s, %s"
+
+#: login-utils/login.c:1477
+#, c-format
+msgid "%d LOGIN FAILURES FROM %s, %s"
+msgstr "HA FALLAT %d VEGADES L'ENTRADA DES DE %s, %s"
+
+#: login-utils/login.c:1480
+#, c-format
+msgid "%d LOGIN FAILURES ON %s, %s"
+msgstr "HA FALLAT %d VEGADES L'ENTRADA A %s, %s"
+
+# FIXME 'y' untranslateable?
+#: login-utils/mesg.c:89
+#, c-format
+msgid "is y\n"
+msgstr "és y\n"
+
+# FIXME 'n' untranslateable?
+#: login-utils/mesg.c:92
+#, c-format
+msgid "is n\n"
+msgstr "és n\n"
+
+# FIXME 'y', 'n' untranslateable?
+#: login-utils/mesg.c:112
+#, c-format
+msgid "usage: mesg [y | n]\n"
+msgstr "forma d'ús: mesg [y | n]\n"
+
+#: login-utils/newgrp.c:105
+msgid "newgrp: Who are you?"
+msgstr "newgrp: Qui sou?"
+
+#: login-utils/newgrp.c:113 login-utils/newgrp.c:127
+msgid "newgrp: setgid"
+msgstr "newgrp: setgid"
+
+#: login-utils/newgrp.c:120 login-utils/newgrp.c:122
+msgid "newgrp: No such group."
+msgstr "newgrp: Aquest grup no existeix."
+
+#: login-utils/newgrp.c:131
+msgid "newgrp: Permission denied"
+msgstr "newgrp: S'ha denegat el permís"
+
+#: login-utils/newgrp.c:138
+msgid "newgrp: setuid"
+msgstr "newgrp: setuid"
+
+#: login-utils/newgrp.c:144
+msgid "No shell"
+msgstr "No hi ha intèrpret d'ordres"
+
+#: login-utils/shutdown.c:115
+#, c-format
+msgid "Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+msgstr "Forma d'ús: shutdown [-h|-r] [-fqs] [now|hh:ss|+minuts]\n"
+
+#: login-utils/shutdown.c:133
+msgid "Shutdown process aborted"
+msgstr "S'ha avortat el procés d'aturada"
+
+#: login-utils/shutdown.c:164
+#, c-format
+msgid "%s: Only root can shut a system down.\n"
+msgstr "%s: Només l'usuari root pot aturar un sistema.\n"
+
+#: login-utils/shutdown.c:258
+#, c-format
+msgid "That must be tomorrow, can't you wait till then?\n"
+msgstr "Això ha de ser demà, no us podeu esperar fins llavors?\n"
+
+#: login-utils/shutdown.c:309
+msgid "for maintenance; bounce, bounce"
+msgstr "per al manteniment; saltant, saltant"
+
+#: login-utils/shutdown.c:338
+msgid "The system is being shut down within 5 minutes"
+msgstr "El sistema s'aturarà d'aquí a 5 minuts"
+
+#: login-utils/shutdown.c:342
+msgid "Login is therefore prohibited."
+msgstr "Per tant no es permet l'entrada."
+
+#: login-utils/shutdown.c:364
+#, c-format
+msgid "rebooted by %s: %s"
+msgstr "%s ha arrencat de nou: %s"
+
+#: login-utils/shutdown.c:367
+#, c-format
+msgid "halted by %s: %s"
+msgstr "%s ha aturat: %s"
+
+#: login-utils/shutdown.c:431
+msgid ""
+"\n"
+"Why am I still alive after reboot?"
+msgstr ""
+"\n"
+"Com és que encara estic actiu després d'arrencar de nou?"
+
+#: login-utils/shutdown.c:433
+msgid ""
+"\n"
+"Now you can turn off the power..."
+msgstr ""
+"\n"
+"Ara podeu desconnectar la font d'alimentació..."
+
+#: login-utils/shutdown.c:449
+#, c-format
+msgid "Calling kernel power-off facility...\n"
+msgstr "S'està cridant el sistema d'apagada del nucli...\n"
+
+#: login-utils/shutdown.c:452
+#, c-format
+msgid "Error powering off\t%s\n"
+msgstr "S'ha produït un error en apagar\t%s\n"
+
+#: login-utils/shutdown.c:460
+#, c-format
+msgid "Executing the program \"%s\" ...\n"
+msgstr "S'està executant el programa \"%s\" ...\n"
+
+#: login-utils/shutdown.c:463
+#, c-format
+msgid "Error executing\t%s\n"
+msgstr "S'ha produït un error en executar \t%s\n"
+
+#: login-utils/shutdown.c:490
+#, c-format
+msgid "URGENT: broadcast message from %s:"
+msgstr "URGENT: missatge de difusió de %s:"
+
+#: login-utils/shutdown.c:496
+#, c-format
+msgid "System going down in %d hours %d minutes"
+msgstr "El sistema s'aturarà d'aquí a %d hores i %d minuts"
+
+#: login-utils/shutdown.c:499
+#, c-format
+msgid "System going down in 1 hour %d minutes"
+msgstr "El sistema s'aturara d'aquí a 1 hora i %d minuts"
+
+#: login-utils/shutdown.c:502
+#, c-format
+msgid "System going down in %d minutes\n"
+msgstr "El sistema s'aturarà d'aquí a %d minuts\n"
+
+#: login-utils/shutdown.c:505
+#, c-format
+msgid "System going down in 1 minute\n"
+msgstr "El sistema s'aturarà d'aquí a 1 minut\n"
+
+#: login-utils/shutdown.c:507
+#, c-format
+msgid "System going down IMMEDIATELY!\n"
+msgstr "El sistema s'aturarà IMMEDIATAMENT.\n"
+
+#: login-utils/shutdown.c:512
+#, c-format
+msgid "\t... %s ...\n"
+msgstr "\t... %s ...\n"
+
+#: login-utils/shutdown.c:569
+msgid "Cannot fork for swapoff. Shrug!"
+msgstr "No s'ha pogut bifurcar swapoff."
+
+#: login-utils/shutdown.c:577
+msgid "Cannot exec swapoff, hoping umount will do the trick."
+msgstr "No s'ha pogut executar swapoff, esperem que umount ho faci."
+
+#: login-utils/shutdown.c:596
+msgid "Cannot fork for umount, trying manually."
+msgstr "No s'ha pogut bufurcar umount, s'està provant manualment."
+
+#: login-utils/shutdown.c:605
+#, c-format
+msgid "Cannot exec %s, trying umount.\n"
+msgstr "No s'ha pogut executar %s, s'està provant umount.\n"
+
+#: login-utils/shutdown.c:609
+msgid "Cannot exec umount, giving up on umount."
+msgstr "No s'ha pogut executar umount, s'està abandonant l'operació umount."
+
+#: login-utils/shutdown.c:614
+msgid "Unmounting any remaining filesystems..."
+msgstr "S'està desmuntant els sistemes de fitxers restants..."
+
+#: login-utils/shutdown.c:661
+#, c-format
+msgid "shutdown: Couldn't umount %s: %s\n"
+msgstr "shutdown: No s'ha pogut desmuntar %s: %s\n"
+
+#: login-utils/simpleinit.c:132
+msgid "Booting to single user mode.\n"
+msgstr "S'està arrencant en el mode d'un sol usuari.\n"
+
+#: login-utils/simpleinit.c:136
+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"
+
+#: login-utils/simpleinit.c:140
+msgid "fork of single user shell failed\n"
+msgstr "no s'ha pogut bifurcar l'intèrpret d'ordres d'un sol usuari\n"
+
+#: login-utils/simpleinit.c:208
+msgid "error opening fifo\n"
+msgstr "s'ha produït un error en obrir fifo\n"
+
+#: login-utils/simpleinit.c:212
+msgid "error setting close-on-exec on /dev/initctl"
+msgstr "s'ha produït un error en inicialitzar close-on-exec a /dev/initctl"
+
+#: login-utils/simpleinit.c:259
+msgid "error running finalprog\n"
+msgstr "s'ha produït un error en executar finalprog\n"
+
+#: login-utils/simpleinit.c:263
+msgid "error forking finalprog\n"
+msgstr "s'ha produït un error en bifurcar finalprog\n"
+
+#: login-utils/simpleinit.c:345
+msgid ""
+"\n"
+"Wrong password.\n"
+msgstr ""
+"\n"
+"Contrasenya incorrecta.\n"
+
+#: login-utils/simpleinit.c:418
+msgid "lstat of path failed\n"
+msgstr "no s'ha pogut executar «lstat» al camí\n"
+
+#: login-utils/simpleinit.c:426
+msgid "stat of path failed\n"
+msgstr "no s'ha pogut executar «stat» al camí\n"
+
+#: login-utils/simpleinit.c:434
+msgid "open of directory failed\n"
+msgstr "no s'ha pogut obrir el directori\n"
+
+#: login-utils/simpleinit.c:501
+#, c-format
+msgid "respawning: \"%s\" too fast: quenching entry\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:509
+msgid "fork failed\n"
+msgstr "no s'ha pogut bifurcar\n"
+
+#: login-utils/simpleinit.c:540 text-utils/more.c:1629
+msgid "exec failed\n"
+msgstr "no s'ha pogut executar exec\n"
+
+#: login-utils/simpleinit.c:564
+msgid "cannot open inittab\n"
+msgstr "no s'ha pogut obrir inittab\n"
+
+#: login-utils/simpleinit.c:631
+msgid "no TERM or cannot stat tty\n"
+msgstr "no hi ha TERM o no s'ha pogut executar stat a la tty\n"
+
+#: login-utils/simpleinit.c:938
+#, fuzzy, c-format
+msgid "error stopping service: \"%s\"\n"
+msgstr "s'ha produït un error en aturar el servei: \"%s\""
+
+#: login-utils/simpleinit.c:950
+#, fuzzy, c-format
+msgid "Stopped service: %s\n"
+msgstr "s'ha produït un error en aturar el servei: \"%s\""
+
+#: login-utils/simpleinit.c:1070
+#, fuzzy, c-format
+msgid "error running programme: \"%s\"\n"
+msgstr "s'ha produït un error en executar finalprog\n"
+
+#: login-utils/ttymsg.c:75
+msgid "too many iov's (change code in wall/ttymsg.c)"
+msgstr "massa iov (modifiqueu el codi a wall/ttymsg.c)"
+
+#: login-utils/ttymsg.c:85
+#, c-format
+msgid "excessively long line arg"
+msgstr "la línia d'arguments és massa llarga"
+
+#: login-utils/ttymsg.c:140
+#, c-format
+msgid "cannot fork"
+msgstr "no s'ha pogut bifurcar"
+
+#: login-utils/ttymsg.c:144
+#, c-format
+msgid "fork: %s"
+msgstr "bifurcació: %s"
+
+#: login-utils/ttymsg.c:174
+#, c-format
+msgid "%s: BAD ERROR"
+msgstr "%s: ERROR DOLENT"
+
+#: login-utils/vipw.c:143
+#, c-format
+msgid "%s: the password file is busy.\n"
+msgstr "%s: el fitxer password està ocupat.\n"
+
+#: login-utils/vipw.c:146
+#, c-format
+msgid "%s: the group file is busy.\n"
+msgstr "%s: el fitxer group està ocupat.\n"
+
+#: login-utils/vipw.c:162
+#, c-format
+msgid "%s: the %s file is busy (%s present)\n"
+msgstr "%s: el fitxer %s està ocupat (presenta %s).\n"
+
+#: login-utils/vipw.c:168
+#, c-format
+msgid "%s: can't link %s: %s\n"
+msgstr "%s: no s'ha pogut enllaçar %s: %s\n"
+
+#: login-utils/vipw.c:202
+#, c-format
+msgid "%s: Can't get context for %s"
+msgstr "%s: No s'ha pogut obtenir el context per a %s"
+
+#: login-utils/vipw.c:208
+#, c-format
+msgid "%s: Can't set context for %s"
+msgstr "%s: No s'ha pogut establir el context per a %s"
+
+#: login-utils/vipw.c:217
+#, c-format
+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"
+
+#: login-utils/vipw.c:240
+#, c-format
+msgid "%s: Cannot fork\n"
+msgstr "%s: No s'ha pogut bifurcar\n"
+
+#: login-utils/vipw.c:276
+#, c-format
+msgid "%s: %s unchanged\n"
+msgstr "%s: %s no s'ha modificat\n"
+
+#: login-utils/vipw.c:297
+#, c-format
+msgid "%s: no changes made\n"
+msgstr "%s: no s'ha fet cap canvi\n"
+
+# shadow paswords -> contrasenyes ocultes (fedora)
+#: login-utils/vipw.c:350
+#, c-format
+msgid "You are using shadow groups on this system.\n"
+msgstr "Aquest sistema utilitza grups ocults.\n"
+
+#: login-utils/vipw.c:351
+#, 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?
+#: login-utils/vipw.c:352
+#, c-format
+msgid "Would you like to edit %s now [y/n]? "
+msgstr "Desitgeu editar %s ara? [s/n] "
+
+#: login-utils/wall.c:112
+#, c-format
+msgid "usage: %s [file]\n"
+msgstr "forma d'ús: %s [fitxer]\n"
+
+#: login-utils/wall.c:167
+#, c-format
+msgid "%s: can't open temporary file.\n"
+msgstr "%s: no s'ha pogut obrir el fitxer temporal.\n"
+
+#: login-utils/wall.c:194
+#, c-format
+msgid "Broadcast Message from %s@%s"
+msgstr "Missatge de difusió de %s@%s"
+
+#: login-utils/wall.c:212
+#, c-format
+msgid "%s: will not read %s - use stdin.\n"
+msgstr "%s: no es llegirà de %s; s'utilitzarà l'entrada estàndard.\n"
+
+#: login-utils/wall.c:217
+#, c-format
+msgid "%s: can't read %s.\n"
+msgstr "%s: no s'ha pogut llegir %s.\n"
+
+#: login-utils/wall.c:240
+#, c-format
+msgid "%s: can't stat temporary file.\n"
+msgstr "%s: no s'ha pogut executar stat al fitxer temporal.\n"
+
+#: login-utils/wall.c:250
+#, c-format
+msgid "%s: can't read temporary file.\n"
+msgstr "%s: no s'hapogut llegir el fitxer temporal.\n"
+
+#: misc-utils/cal.c:362 misc-utils/cal.c:374
+#, 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:366
+msgid "illegal month value: use 1-12"
+msgstr "el valor del mes és il·legal: utilitzeu 1-12"
+
+#: misc-utils/cal.c:370
+msgid "illegal year value: use 1-9999"
+msgstr "el valor de l'any no és legal: utilitzeu 1-9999"
+
+#: misc-utils/cal.c:464
+#, c-format
+msgid "%s %d"
+msgstr "%2$d de %1$s"
+
+#: misc-utils/cal.c:856
+#, fuzzy, c-format
+msgid "usage: cal [-13smjyV] [[[day] month] year]\n"
+msgstr "forma d'ús: cal [-13smjyV] [[mes] any]\n"
+
+#: misc-utils/ddate.c:203
+#, c-format
+msgid "usage: %s [+format] [day month year]\n"
+msgstr "forma d'ús: %s [+format] [dia mes any]\n"
+
+#: misc-utils/ddate.c:250
+msgid "St. Tib's Day"
+msgstr "Dia de Sant Tibb"
+
+#: misc-utils/findfs.c:24
+#, c-format
+msgid "Usage: %s LABEL=<label>|UUID=<uuid>\n"
+msgstr ""
+
+#: misc-utils/findfs.c:55
+#, fuzzy, c-format
+msgid "unable to resolve '%s'"
+msgstr "no es pot obrir %s"
+
+#: misc-utils/kill.c:207
+#, c-format
+msgid "%s: unknown signal %s\n"
+msgstr "%s: senyal desconegut %s\n"
+
+#: misc-utils/kill.c:270
+#, 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:314
+#, c-format
+msgid "%s: unknown signal %s; valid signals:\n"
+msgstr "%s: senyal desconegut %s; senyals vàlids:\n"
+
+#: misc-utils/kill.c:354
+#, 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:355
+#, c-format
+msgid "       %s -l [ signal ]\n"
+msgstr "       %s -l [ senyal ]\n"
+
+#: misc-utils/logger.c:67
+#, fuzzy, c-format
+msgid "logger: openlog: pathname too long\n"
+msgstr "el nom d'entrada és massa llarg.\n"
+
+#: misc-utils/logger.c:75
+#, fuzzy, c-format
+msgid "socket: %s.\n"
+msgstr "MidaBloc: %d\n"
+
+#: misc-utils/logger.c:80
+#, c-format
+msgid "connect: %s.\n"
+msgstr ""
+
+#: misc-utils/logger.c:139
+#, c-format
+msgid "logger: %s: %s.\n"
+msgstr "logger: %s: %s.\n"
+
+#: misc-utils/logger.c:246
+#, c-format
+msgid "logger: unknown facility name: %s.\n"
+msgstr "logger: no es coneix el nom de la facilitat: %s.\n"
+
+#: misc-utils/logger.c:258
+#, c-format
+msgid "logger: unknown priority name: %s.\n"
+msgstr "logger: nom amb prioritat desconeguda: %s.\n"
+
+#: misc-utils/logger.c:285
+#, c-format
+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"
+
+#: misc-utils/look.c:351
+#, c-format
+msgid "usage: look [-dfa] [-t char] string [file]\n"
+msgstr "forma d'ús: look [-dfa] [-t caràcter] cadena [fitxer]\n"
+
+#: misc-utils/mcookie.c:105 misc-utils/mcookie.c:132
+#, c-format
+msgid "Could not open %s\n"
+msgstr "No s'ha pogut obrir %s\n"
+
+#: misc-utils/mcookie.c:109 misc-utils/mcookie.c:128
+#, c-format
+msgid "Got %d bytes from %s\n"
+msgstr "S'han obtingut %d octets de %s\n"
+
+#: misc-utils/namei.c:144 misc-utils/namei.c:198 misc-utils/namei.c:220
+#: misc-utils/namei.c:227 misc-utils/namei.c:248
+#, fuzzy
+msgid "out of memory?"
+msgstr "s'ha esgotat la memòria?\n"
+
+#: misc-utils/namei.c:189
+#, 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:229
+#, fuzzy, c-format
+msgid "could not stat '%s'"
+msgstr "no es pot fer \"stat\" al dispositiu %s"
+
+#: misc-utils/namei.c:411
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage: %s [options] pathname [pathname ...]\n"
+msgstr "forma d'ús: namei [-mx] camí [camí ...]\n"
+
+#: misc-utils/namei.c:412
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"%d particions:\n"
+
+#: misc-utils/namei.c:415
+#, c-format
+msgid ""
+" -h, --help          displays this help text\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:423
+#, c-format
+msgid ""
+"\n"
+"For more information see namei(1).\n"
+msgstr ""
+
+#: misc-utils/namei.c:484
+#, fuzzy, c-format
+msgid "failed to stat: %s"
+msgstr "no es pot fer stat per a %s"
+
+#: misc-utils/namei.c:495
+#, c-format
+msgid "%s: exceeded limit of symlinks"
+msgstr ""
+
+#: misc-utils/rename.c:38
+#, c-format
+msgid "%s: out of memory\n"
+msgstr "%s: no hi ha prou memòria\n"
+
+#: misc-utils/rename.c:56
+#, c-format
+msgid "%s: renaming %s to %s failed: %s\n"
+msgstr "%s: no s'ha pogut reanomenar %s a %s: %s\n"
+
+# FIXME "from to"????
+#: misc-utils/rename.c:86
+#, c-format
+msgid "call: %s from to files...\n"
+msgstr "crida: %s des dels fitxers...\n"
+
+#: misc-utils/script.c:110
+#, c-format
+msgid ""
+"Warning: `%s' is a link.\n"
+"Use `%s [options] %s' if you really want to use it.\n"
+"Script not started.\n"
+msgstr ""
+"Avís: «%s» és un enllaç.\n"
+"Useu «%s [opcions] %s» si realment desitgeu usar-lo.\n"
+"No s'ha executat script.\n"
+
+#: misc-utils/script.c:173
+#, c-format
+msgid "usage: script [-a] [-f] [-q] [-t] [file]\n"
+msgstr "forma d'ús: script [-a] [-f] [-q] [-t] [fitxer]\n"
+
+#: misc-utils/script.c:196
+#, c-format
+msgid "Script started, file is %s\n"
+msgstr "S'ha iniciat l'execució de script, el fitxer és %s\n"
+
+#: misc-utils/script.c:244
+#, fuzzy, c-format
+msgid "%s: write error %d: %s\n"
+msgstr "s'ha produït un error d'escriptura a %s\n"
+
+#: misc-utils/script.c:304
+#, c-format
+msgid "Script started on %s"
+msgstr "S'ha iniciat l'execució de script a %s"
+
+#: misc-utils/script.c:347
+#, fuzzy, c-format
+msgid "%s: write error: %s\n"
+msgstr "s'ha produït un error d'escriptura a %s\n"
+
+#: misc-utils/script.c:354
+#, fuzzy, c-format
+msgid "%s: cannot write script file, error: %s\n"
+msgstr "%s: no s'ha pogut trobar el dispositiu per a %s\n"
+
+#: misc-utils/script.c:430
+#, c-format
+msgid ""
+"\n"
+"Script done on %s"
+msgstr ""
+"\n"
+"S'ha finalitzat l'execució de script a %s"
+
+#: misc-utils/script.c:437
+#, c-format
+msgid "Script done, file is %s\n"
+msgstr "S'ha fet la seqüència, el fitxer és %s\n"
+
+#: misc-utils/script.c:448
+#, c-format
+msgid "openpty failed\n"
+msgstr "no ha estat possible executar openpty\n"
+
+#: misc-utils/script.c:482
+#, c-format
+msgid "Out of pty's\n"
+msgstr "No queden pty\n"
+
+#: misc-utils/scriptreplay.c:38
+#, c-format
+msgid "%s <timingfile> [<typescript> [<divisor>]]\n"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:53
+#, c-format
+msgid "expected a number, but got '%s'"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:56 misc-utils/scriptreplay.c:60
+#, c-format
+msgid "divisor '%s'"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:104
+#, fuzzy
+msgid "write to stdout failed"
+msgstr "S'ha produït un error en obrir %s"
+
+#: misc-utils/scriptreplay.c:110
+#, c-format
+msgid "unexpected end of file on %s"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:112
+#, fuzzy, c-format
+msgid "failed to read typescript file %s"
+msgstr "no ha estat possible executar ioctl() per llegir l'hora de %s"
+
+#: misc-utils/scriptreplay.c:145
+#, fuzzy, c-format
+msgid "cannot open timing file %s"
+msgstr "No s'ha pogut obrir el fitxer '%s'"
+
+#: misc-utils/scriptreplay.c:148
+#, fuzzy, c-format
+msgid "cannot open typescript file %s"
+msgstr "No s'ha pogut obrir el fitxer '%s'"
+
+#: misc-utils/scriptreplay.c:164
+#, fuzzy, c-format
+msgid "failed to read timing file %s"
+msgstr "no ha estat possible executar ioctl() per llegir l'hora de %s"
+
+#: misc-utils/scriptreplay.c:166
+#, fuzzy, c-format
+msgid "timings file %s: %lu: unexpected format"
+msgstr "%s: No s'esperava EOF en el fitxer %s\n"
+
+#: misc-utils/setterm.c:763
+#, c-format
+msgid "%s: Argument error, usage\n"
+msgstr "%s: Argument erroni, forma d'ús\n"
+
+#: misc-utils/setterm.c:766
+#, c-format
+msgid "  [ -term terminal_name ]\n"
+msgstr "  [ -term nom_terminal ]\n"
+
+#: misc-utils/setterm.c:767
+#, c-format
+msgid "  [ -reset ]\n"
+msgstr "  [ -reset ]\n"
+
+#: misc-utils/setterm.c:768
+#, c-format
+msgid "  [ -initialize ]\n"
+msgstr "  [ -initialize ]\n"
+
+#: misc-utils/setterm.c:769
+#, c-format
+msgid "  [ -cursor [on|off] ]\n"
+msgstr "  [ -cursor [on|off] ]\n"
+
+#: misc-utils/setterm.c:771
+#, c-format
+msgid "  [ -snow [on|off] ]\n"
+msgstr "  [ -snow [on|off] ]\n"
+
+#: misc-utils/setterm.c:772
+#, c-format
+msgid "  [ -softscroll [on|off] ]\n"
+msgstr "  [ -softscroll [on|off] ]\n"
+
+#: misc-utils/setterm.c:774
+#, c-format
+msgid "  [ -repeat [on|off] ]\n"
+msgstr "  [ -repeat [on|off] ]\n"
+
+#: misc-utils/setterm.c:775
+#, c-format
+msgid "  [ -appcursorkeys [on|off] ]\n"
+msgstr "  [ -appcursorkeys [on|off] ]\n"
+
+#: misc-utils/setterm.c:776
+#, c-format
+msgid "  [ -linewrap [on|off] ]\n"
+msgstr "  [ -linewrap [on|off] ]\n"
+
+#: misc-utils/setterm.c:777
+#, c-format
+msgid "  [ -default ]\n"
+msgstr "  [ -default ]\n"
+
+#: misc-utils/setterm.c:778
+#, c-format
+msgid "  [ -foreground black|blue|green|cyan"
+msgstr "  [ -foreground black|blue|green|cyan"
+
+#: misc-utils/setterm.c:779 misc-utils/setterm.c:781
+#, c-format
+msgid "|red|magenta|yellow|white|default ]\n"
+msgstr "|red|magenta|yellow|white|default ]\n"
+
+#: misc-utils/setterm.c:780
+#, c-format
+msgid "  [ -background black|blue|green|cyan"
+msgstr "  [ -background black|blue|green|cyan"
+
+#: misc-utils/setterm.c:782
+#, c-format
+msgid "  [ -ulcolor black|grey|blue|green|cyan"
+msgstr "  [ -ulcolor black|grey|blue|green|cyan"
+
+#: misc-utils/setterm.c:783 misc-utils/setterm.c:785 misc-utils/setterm.c:787
+#: misc-utils/setterm.c:789
+#, c-format
+msgid "|red|magenta|yellow|white ]\n"
+msgstr "|red|magenta|yellow|white ]\n"
+
+#: misc-utils/setterm.c:784
+#, c-format
+msgid "  [ -ulcolor bright blue|green|cyan"
+msgstr "  [ -ulcolor bright blue|green|cyan"
+
+#: misc-utils/setterm.c:786
+#, c-format
+msgid "  [ -hbcolor black|grey|blue|green|cyan"
+msgstr "  [ -hbcolor black|grey|blue|green|cyan"
+
+#: misc-utils/setterm.c:788
+#, c-format
+msgid "  [ -hbcolor bright blue|green|cyan"
+msgstr "  [ -hbcolor bright blue|green|cyan"
+
+#: misc-utils/setterm.c:791
+#, c-format
+msgid "  [ -standout [ attr ] ]\n"
+msgstr "  [ -standout [ attr ] ]\n"
+
+#: misc-utils/setterm.c:793
+#, c-format
+msgid "  [ -inversescreen [on|off] ]\n"
+msgstr "  [ -inversescreen [on|off] ]\n"
+
+#: misc-utils/setterm.c:794
+#, c-format
+msgid "  [ -bold [on|off] ]\n"
+msgstr "  [ -bold [on|off] ]\n"
+
+#: misc-utils/setterm.c:795
+#, c-format
+msgid "  [ -half-bright [on|off] ]\n"
+msgstr "  [ -half-bright [on|off] ]\n"
+
+#: misc-utils/setterm.c:796
+#, c-format
+msgid "  [ -blink [on|off] ]\n"
+msgstr "  [ -blink [on|off] ]\n"
+
+#: misc-utils/setterm.c:797
+#, c-format
+msgid "  [ -reverse [on|off] ]\n"
+msgstr "  [ -reverse [on|off] ]\n"
+
+#: misc-utils/setterm.c:798
+#, c-format
+msgid "  [ -underline [on|off] ]\n"
+msgstr "  [ -underline [on|off] ]\n"
+
+#: misc-utils/setterm.c:799
+#, c-format
+msgid "  [ -store ]\n"
+msgstr "  [ -store ]\n"
+
+#: misc-utils/setterm.c:800
+#, c-format
+msgid "  [ -clear [all|rest] ]\n"
+msgstr "  [ -clear [all|rest] ]\n"
+
+#: misc-utils/setterm.c:801
+#, c-format
+msgid "  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n"
+msgstr "  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n"
+
+#: misc-utils/setterm.c:802
+#, c-format
+msgid "  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n"
+msgstr "  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n"
+
+#: misc-utils/setterm.c:803
+#, c-format
+msgid "  [ -regtabs [1-160] ]\n"
+msgstr "  [ -regtabs [1-160] ]\n"
+
+#: misc-utils/setterm.c:804
+#, fuzzy, c-format
+msgid "  [ -blank [0-60|force|poke] ]\n"
+msgstr "  [ -blank [0-60] ]\n"
+
+#: misc-utils/setterm.c:805
+#, c-format
+msgid "  [ -dump   [1-NR_CONSOLES] ]\n"
+msgstr "  [ -dump   [1-NÚM_CONSOLES] ]\n"
+
+#: misc-utils/setterm.c:806
+#, c-format
+msgid "  [ -append [1-NR_CONSOLES] ]\n"
+msgstr "  [ -append [1-NÚM_CONSOLES] ]\n"
+
+#: misc-utils/setterm.c:807
+#, c-format
+msgid "  [ -file dumpfilename ]\n"
+msgstr "  [ -file nom_fitxer_bolcat ]\n"
+
+#: misc-utils/setterm.c:808
+#, c-format
+msgid "  [ -msg [on|off] ]\n"
+msgstr "  [ -msg [on|off] ]\n"
+
+#: misc-utils/setterm.c:809
+#, c-format
+msgid "  [ -msglevel [0-8] ]\n"
+msgstr "  [ -msglevel [0-8] ]\n"
+
+#: misc-utils/setterm.c:810
+#, c-format
+msgid "  [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+msgstr "  [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+
+#: misc-utils/setterm.c:811
+#, c-format
+msgid "  [ -powerdown [0-60] ]\n"
+msgstr "  [ -powerdown [0-60] ]\n"
+
+#: misc-utils/setterm.c:812
+#, c-format
+msgid "  [ -blength [0-2000] ]\n"
+msgstr "  [ -blength [0-2000] ]\n"
+
+#: misc-utils/setterm.c:813
+#, c-format
+msgid "  [ -bfreq freqnumber ]\n"
+msgstr "  [ -bfreq número_freqüència ]\n"
+
+#: misc-utils/setterm.c:1065
+#, fuzzy, c-format
+msgid "cannot force blank\n"
+msgstr "no s'ha pogut bifurcar"
+
+#: misc-utils/setterm.c:1069
+#, fuzzy, c-format
+msgid "cannot force unblank\n"
+msgstr "no s'ha pogut bifurcar"
+
+#: misc-utils/setterm.c:1075
+#, fuzzy, c-format
+msgid "cannot get blank status\n"
+msgstr "no es pot obrir %s\n"
+
+#: misc-utils/setterm.c:1087
+#, c-format
+msgid "cannot (un)set powersave mode\n"
+msgstr "no es pot (des)activar el mode d'estalvi d'energia\n"
+
+#: misc-utils/setterm.c:1126 misc-utils/setterm.c:1134
+#, c-format
+msgid "klogctl error: %s\n"
+msgstr "s'ha produït un error a klogctl: %s\n"
+
+#: misc-utils/setterm.c:1200
+#, c-format
+msgid "Error writing screendump\n"
+msgstr "S'ha produït un error en escriure un bolcat de pantalla\n"
+
+#: misc-utils/setterm.c:1207
+#, fuzzy, c-format
+msgid "Couldn't read %s\n"
+msgstr "No s'ha pogut obrir %s\n"
+
+#: misc-utils/setterm.c:1261
+#, c-format
+msgid "%s: $TERM is not defined.\n"
+msgstr "%s: $TERM no està definit.\n"
+
+#: misc-utils/uuidd.c:46
+#, fuzzy, c-format
+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"
+
+#: misc-utils/uuidd.c:48
+#, c-format
+msgid "       %s [-r|t] [-n num] [-s socketpath]\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:50
+#, fuzzy, c-format
+msgid "       %s -k\n"
+msgstr "       %s -l [ senyal ]\n"
+
+#: misc-utils/uuidd.c:152
+#, fuzzy
+msgid "bad arguments"
+msgstr "col: argument -l incorrecte %s.\n"
+
+#: misc-utils/uuidd.c:159
+#, fuzzy
+msgid "socket"
+msgstr "connector nfs"
+
+#: misc-utils/uuidd.c:170
+#, fuzzy
+msgid "connect"
+msgstr "connexió nfs"
+
+#: misc-utils/uuidd.c:189
+#, fuzzy
+msgid "write"
+msgstr "Escriu"
+
+#: misc-utils/uuidd.c:197
+#, fuzzy
+msgid "read count"
+msgstr "s'ha llegit %c\n"
+
+#: misc-utils/uuidd.c:203
+msgid "bad response length"
+msgstr ""
+
+#: misc-utils/uuidd.c:268
+#, c-format
+msgid "uuidd daemon already running at pid %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:276
+#, c-format
+msgid "Couldn't create unix stream socket: %s"
+msgstr ""
+
+#: misc-utils/uuidd.c:305
+#, fuzzy, c-format
+msgid "Couldn't bind unix socket %s: %s\n"
+msgstr "No s'ha pogut obrir %s: %s\n"
+
+#: misc-utils/uuidd.c:313
+#, fuzzy, c-format
+msgid "Couldn't listen on unix socket %s: %s\n"
+msgstr "No s'ha pogut obrir %s: %s\n"
+
+#: misc-utils/uuidd.c:351
+#, 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:359
+#, c-format
+msgid "operation %d, incoming num = %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:378
+#, c-format
+msgid "Generated time UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:388
+#, c-format
+msgid "Generated random UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:397
+#, c-format
+msgid "Generated time UUID %s and %d following\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:415
+#, c-format
+msgid "Generated %d UUID's:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:427
+#, fuzzy, c-format
+msgid "Invalid operation %d\n"
+msgstr "identificador invàlid"
+
+#: misc-utils/uuidd.c:468 misc-utils/uuidd.c:489
+#, fuzzy, c-format
+msgid "Bad number: %s\n"
+msgstr "%s: valor incorrecte\n"
+
+#: misc-utils/uuidd.c:524 misc-utils/uuidd.c:551
+#, fuzzy, c-format
+msgid "Error calling uuidd daemon (%s): %s\n"
+msgstr "s'ha produït un error en canviar el mode de %s: %s\n"
+
+#: misc-utils/uuidd.c:534
+#, c-format
+msgid "%s and subsequent %d UUID's\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:536
+#, c-format
+msgid "List of UUID's:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:557
+#, c-format
+msgid "Unexpected reply length from server %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:574
+#, c-format
+msgid "Couldn't kill uuidd running at pid %d: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:580
+#, c-format
+msgid "Killed uuidd running at pid %d\n"
+msgstr ""
+
+#: misc-utils/uuidgen.c:32
+#, fuzzy, c-format
+msgid "Usage: %s [-r] [-t]\n"
+msgstr "Forma d'ús: %s [opcions] dispositiu ...\n"
+
+#: misc-utils/whereis.c:159
+#, c-format
+msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
+msgstr "whereis [ -sbmu ] [ -SBM directori ... -f ] nom...\n"
+
+#: misc-utils/write.c:101
+#, c-format
+msgid "write: can't find your tty's name\n"
+msgstr "write: no s'ha pogut trobar el nom de la vostra tty\n"
+
+#: misc-utils/write.c:112
+#, c-format
+msgid "write: you have write permission turned off.\n"
+msgstr "write: teniu el permís d'escriptura desactivat.\n"
+
+#: misc-utils/write.c:133
+#, c-format
+msgid "write: %s is not logged in on %s.\n"
+msgstr "write: %s no ha entrat a %s.\n"
+
+#: misc-utils/write.c:141
+#, c-format
+msgid "write: %s has messages disabled on %s\n"
+msgstr "write: %s té els missatges inhabilitats a %s\n"
+
+#: misc-utils/write.c:148
+#, c-format
+msgid "usage: write user [tty]\n"
+msgstr "forma d'ús: write usuari [tty]\n"
+
+#: misc-utils/write.c:236
+#, c-format
+msgid "write: %s is not logged in\n"
+msgstr "write: %s no està connectat\n"
+
+#: misc-utils/write.c:245
+#, c-format
+msgid "write: %s has messages disabled\n"
+msgstr "write: %s té els missatges inhabilitats\n"
+
+#: misc-utils/write.c:249
+#, c-format
+msgid "write: %s is logged in more than once; writing to %s\n"
+msgstr "write: %s està connectat més d'una vegada; s'està escrivint a %s\n"
+
+#: misc-utils/write.c:317
+#, 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 ..."
+
+#: misc-utils/write.c:320
+#, c-format
+msgid "Message from %s@%s on %s at %s ..."
+msgstr "Missatge de %s@%s el %s a les %s ..."
+
+#: mount/fstab.c:143
+#, c-format
+msgid "warning: error reading %s: %s"
+msgstr "avís: s'ha produït un error en llegir %s: %s"
+
+#: mount/fstab.c:171 mount/fstab.c:196
+#, c-format
+msgid "warning: can't open %s: %s"
+msgstr "avís: no s'ha pogut obrir %s: %s"
+
+#: mount/fstab.c:176
+#, 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/fstab.c:589
+#, 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/fstab.c:615
+#, 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/fstab.c:631
+#, 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/fstab.c:646
+#, 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/fstab.c:660
+#, c-format
+msgid "can't lock lock file %s: %s"
+msgstr "no s'ha pogut blocar al fitxer de blocat %s: %s"
+
+#: mount/fstab.c:662
+msgid "timed out"
+msgstr "s'ha exhaurit el temps d'espera"
+
+#: mount/fstab.c:669
+#, 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/fstab.c:791 mount/fstab.c:846
+#, c-format
+msgid "cannot open %s (%s) - mtab not updated"
+msgstr "no s'ha pogut obrir %s (%s) - no s'ha actualitzat mtab"
+
+#: mount/fstab.c:855
+#, c-format
+msgid "error writing %s: %s"
+msgstr "s'ha produït un error en escriure %s: %s"
+
+#: mount/fstab.c:873
+#, 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/fstab.c:886
+#, 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/fstab.c:897
+#, 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/lomount.c:364
+#, fuzzy, c-format
+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"
+
+#: mount/lomount.c:388
+#, fuzzy, c-format
+msgid ", offset %<PRIu64>"
+msgstr ", desplaçament %d"
+
+#: mount/lomount.c:391
+#, fuzzy, c-format
+msgid ", sizelimit %<PRIu64>"
+msgstr ", límit de mida %lld"
+
+#: mount/lomount.c:399
+#, fuzzy, c-format
+msgid ", encryption %s (type %<PRIu32>)"
+msgstr ", xifratge %s (tipus %d)"
+
+#: mount/lomount.c:412
+#, c-format
+msgid ", offset %d"
+msgstr ", desplaçament %d"
+
+#: mount/lomount.c:415
+#, c-format
+msgid ", encryption type %d\n"
+msgstr ", tipus de xifratge %d\n"
+
+#: mount/lomount.c:423
+#, c-format
+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"
+
+#: mount/lomount.c:434
+#, c-format
+msgid "loop: can't open device %s: %s\n"
+msgstr "loop: no s'ha pogut obrir el dispositiu %s: %s\n"
+
+#: mount/lomount.c:450 mount/lomount.c:482 mount/lomount.c:544
+#: mount/lomount.c:589
+#, fuzzy, c-format
+msgid "%s: /dev directory does not exist."
+msgstr "%s: l'usuari \"%s\" no existeix.\n"
+
+#: mount/lomount.c:461 mount/lomount.c:602
+#, fuzzy, c-format
+msgid "%s: no permission to look at /dev/loop%s<N>"
+msgstr "%s: no teniu permisos per llegir /dev/loop#"
+
+#: mount/lomount.c:605
+#, c-format
+msgid "%s: could not find any free loop device"
+msgstr "%s: no s'ha trobat cap dispositiu loop lliure"
+
+#: mount/lomount.c:608
+#, c-format
+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».)"
+
+#: mount/lomount.c:638
+#, 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"
+
+#: mount/lomount.c:681
+#, fuzzy, c-format
+msgid "warning: %s is already associated with %s\n"
+msgstr "El sector %d ja està assignat\n"
+
+#: mount/lomount.c:697
+#, fuzzy, c-format
+msgid "warning: %s: is write-protected, using read-only.\n"
+msgstr ""
+"mount: %s%s està protegit contra escriptura; es muntarà en només lectura"
+
+#: mount/lomount.c:733
+#, c-format
+msgid "Couldn't lock into memory, exiting.\n"
+msgstr "No s'ha pogut blocar en memòria, s'està sortint.\n"
+
+#: mount/lomount.c:760
+#, c-format
+msgid "ioctl LOOP_SET_FD failed: %s\n"
+msgstr ""
+
+#: mount/lomount.c:817
+#, fuzzy, c-format
+msgid "set_loop(%s,%s,%llu,%llu): success\n"
+msgstr "set_loop(%s,%s,%llu): èxit\n"
+
+#: mount/lomount.c:838
+#, c-format
+msgid "del_loop(%s): success\n"
+msgstr "del_loop(%s): èxit\n"
+
+#: mount/lomount.c:842
+#, c-format
+msgid "loop: can't delete device %s: %s\n"
+msgstr "loop: no s'ha pogut suprimir el dispositiu %s: %s\n"
+
+#: mount/lomount.c:853
+#, c-format
+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"
+
+#: mount/lomount.c:888
+#, fuzzy, c-format
+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 ""
+"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"
+
+#: mount/lomount.c:898
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -e | --encryption <type> enable data encryption with specified <name/num>\n"
+" -h | --help              this help\n"
+" -o | --offset <num>      start at offset <num> into file\n"
+"      --sizelimit <num>   loop limited to only <num> bytes of the file\n"
+" -p | --pass-fd <num>     read passphrase from file descriptor <num>\n"
+" -r | --read-only         setup read-only loop device\n"
+"      --show              print device name (with -f <file>)\n"
+" -v | --verbose           verbose mode\n"
+"\n"
+msgstr ""
+
+#: mount/lomount.c:1036 mount/lomount.c:1076
+#, fuzzy, c-format
+msgid "Loop device is %s\n"
+msgstr "loop: no s'ha pogut obrir el dispositiu %s: %s\n"
+
+#: mount/lomount.c:1063
+#, c-format
+msgid "stolen loop=%s...trying again\n"
+msgstr ""
+
+#: mount/lomount.c:1073
+#, fuzzy, c-format
+msgid "%s: %s: device is busy"
+msgstr "umount: %s: dispositiu ocupat"
+
+#: mount/lomount.c:1090
+#, c-format
+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"
+
+#: mount/mount.c:329
+#, c-format
+msgid "mount: improperly quoted option string '%s'"
+msgstr ""
+
+#: mount/mount.c:362
+#, fuzzy, c-format
+msgid "mount: translated %s '%s' to '%s'\n"
+msgstr "mount: no s'ha pogut trobar %s a %s o %s"
+
+#: mount/mount.c:526
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s"
+msgstr "mount: segons mtab, %s ja està muntat a %s"
+
+#: mount/mount.c:531
+#, c-format
+msgid "mount: according to mtab, %s is mounted on %s"
+msgstr "mount: segons mtab, %s està muntat a %s"
+
+#: mount/mount.c:555
+#, c-format
+msgid "mount: can't open %s for writing: %s"
+msgstr "mount: no s'ha pogut obrir %s per a escriptura: %s"
+
+#: mount/mount.c:572 mount/mount.c:1190
+#, c-format
+msgid "mount: error writing %s: %s"
+msgstr "mount: s'ha produït un error en escriure %s: %s"
+
+#: mount/mount.c:580
+#, 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/mount.c:663
+#, fuzzy, c-format
+msgid "mount: cannot set group id: %s"
+msgstr "mount : no s'ha pogut establir la velocitat de: %s"
+
+#: mount/mount.c:666
+#, fuzzy, c-format
+msgid "mount: cannot set user id: %s"
+msgstr "mount : no s'ha pogut establir la velocitat de: %s"
+
+#: mount/mount.c:705 mount/mount.c:1809
+#, c-format
+msgid "mount: cannot fork: %s"
+msgstr "mount: no s'ha pogut bifurcar: %s"
+
+#: mount/mount.c:842
+#, c-format
+msgid "Trying %s\n"
+msgstr "S'està provant amb %s\n"
+
+#: mount/mount.c:870
+#, 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/mount.c:873
+#, 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/mount.c:876
+#, c-format
+msgid "       and it looks like this is swapspace\n"
+msgstr "       i sembla que això és espai d'intercanvi\n"
+
+#: mount/mount.c:878
+#, c-format
+msgid "       I will try type %s\n"
+msgstr "       Provaré amb el tipus %s\n"
+
+#: mount/mount.c:902
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr "%s sembla espai d'intercanvi - no s'ha muntat"
+
+#: mount/mount.c:993
+msgid "mount failed"
+msgstr "no s'ha estat possible muntar"
+
+#: mount/mount.c:995
+#, c-format
+msgid "mount: only root can mount %s on %s"
+msgstr "mount: només l'usuari root pot muntar %s a %s"
+
+#: mount/mount.c:1065
+msgid "mount: loop device specified twice"
+msgstr "mount: el dispositiu loop està especificat dues vegades"
+
+#: mount/mount.c:1070
+msgid "mount: type specified twice"
+msgstr "mount: el tipus està especificat dues vegades"
+
+#: mount/mount.c:1082
+#, 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/mount.c:1094
+#, 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/mount.c:1104
+#, c-format
+msgid "mount: going to use the loop device %s\n"
+msgstr "mount: s'usarà el dispositiu loop %s\n"
+
+#: mount/mount.c:1113
+#, c-format
+msgid "mount: stolen loop=%s ...trying again\n"
+msgstr ""
+
+#: mount/mount.c:1118
+#, fuzzy, c-format
+msgid "mount: stolen loop=%s"
+msgstr "umount: %s: %s"
+
+#: mount/mount.c:1123
+#, c-format
+msgid "mount: failed setting up loop device\n"
+msgstr "mount: no ha estat possible configurar el dispositiu loop\n"
+
+#: mount/mount.c:1134
+#, c-format
+msgid "mount: setup loop device successfully\n"
+msgstr "mount: s'ha configurat el dispositiu loop amb èxit\n"
+
+#: mount/mount.c:1168
+#, c-format
+msgid "mount: no %s found - creating it..\n"
+msgstr "mount: no s'ha trobat %s; s'està creant...\n"
+
+#: mount/mount.c:1185
+#, c-format
+msgid "mount: can't open %s: %s"
+msgstr "mount: no s'ha pogut obrir %s: %s"
+
+#: mount/mount.c:1206
+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/mount.c:1219
+#, c-format
+msgid "mount: cannot open %s for setting speed"
+msgstr "mount: no s'ha pogut obrir %s per establir-ne la velocitat"
+
+#: mount/mount.c:1222
+#, c-format
+msgid "mount: cannot set speed: %s"
+msgstr "mount : no s'ha pogut establir la velocitat de: %s"
+
+#: mount/mount.c:1279
+#, 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/mount.c:1358
+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/mount.c:1361
+msgid "mount: you must specify the filesystem type"
+msgstr "mount: haureu d'especificar el tipus del sistema de fitxers"
+
+#: mount/mount.c:1364
+msgid "mount: mount failed"
+msgstr "mount: no ha estat possible muntar"
+
+#: mount/mount.c:1370 mount/mount.c:1407
+#, c-format
+msgid "mount: mount point %s is not a directory"
+msgstr "mount: el punt de muntatge %s no és un directori"
+
+#: mount/mount.c:1372
+msgid "mount: permission denied"
+msgstr "mount: s'ha denegat el permís"
+
+#: mount/mount.c:1374
+msgid "mount: must be superuser to use mount"
+msgstr "mount: haureu de ser un superusuari per a usar mount"
+
+#: mount/mount.c:1378 mount/mount.c:1382
+#, c-format
+msgid "mount: %s is busy"
+msgstr "mount: %s està ocupat"
+
+#: mount/mount.c:1384
+msgid "mount: proc already mounted"
+msgstr "mount: proc ja està muntat"
+
+#: mount/mount.c:1386
+#, c-format
+msgid "mount: %s already mounted or %s busy"
+msgstr "mount: %s ja està muntat o %s està ocupat"
+
+#: mount/mount.c:1392
+#, c-format
+msgid "mount: mount point %s does not exist"
+msgstr "mount: el punt de muntatge %s no existeix"
+
+#: mount/mount.c:1394
+#, 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/mount.c:1399
+#, c-format
+msgid "mount: special device %s does not exist"
+msgstr "mount: el dispositiu especial %s no existeix"
+
+#: mount/mount.c:1411
+#, 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/mount.c:1423
+#, c-format
+msgid "mount: %s not mounted already, or bad option"
+msgstr "mount: %s encara no està muntat o una opció és incorrecta"
+
+#: mount/mount.c:1425
+#, 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/mount.c:1432
+msgid ""
+"       (for several filesystems (e.g. nfs, cifs) you might\n"
+"       need a /sbin/mount.<type> helper program)"
+msgstr ""
+
+#: mount/mount.c:1441
+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/mount.c:1446
+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/mount.c:1453
+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/mount.c:1459
+msgid "mount table full"
+msgstr "la taula de dispositius muntats està plena"
+
+#: mount/mount.c:1461
+#, c-format
+msgid "mount: %s: can't read superblock"
+msgstr "mount: %s: no s'ha pogut llegir el superbloc"
+
+#: mount/mount.c:1467
+#, c-format
+msgid "mount: %s: unknown device"
+msgstr "umount: %s: dispositiu desconegut"
+
+#: mount/mount.c:1472
+#, c-format
+msgid "mount: unknown filesystem type '%s'"
+msgstr "mount: no es reconeix el sitema de fitxers «%s»"
+
+#: mount/mount.c:1484
+#, c-format
+msgid "mount: probably you meant %s"
+msgstr "mount: probablement volíeu dir %s"
+
+#: mount/mount.c:1487
+msgid "mount: maybe you meant 'iso9660'?"
+msgstr "mount: potser volíeu dir «iso9660»?"
+
+#: mount/mount.c:1490
+msgid "mount: maybe you meant 'vfat'?"
+msgstr "mount: potser volíeu dir «vfat»?"
+
+#: mount/mount.c:1493
+#, 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/mount.c:1501
+#, 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/mount.c:1503
+#, c-format
+msgid ""
+"mount: the kernel does not recognize %s as a block device\n"
+"       (maybe `insmod driver'?)"
+msgstr ""
+"mount: el nucli no reconeix %s com a dispositiu de blocs\n"
+"       (potser fent «insmod controlador»?)"
+
+#: mount/mount.c:1506
+#, 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/mount.c:1509
+#, c-format
+msgid "mount: %s is not a block device"
+msgstr "mount: %s no és un dispositiu de blocs"
+
+#: mount/mount.c:1514
+#, c-format
+msgid "mount: %s is not a valid block device"
+msgstr "mount: %s no és un dispositiu de blocs vàlid"
+
+#: mount/mount.c:1517
+msgid "block device "
+msgstr "dispositiu de blocs "
+
+#: mount/mount.c:1519
+#, 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/mount.c:1523
+#, 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/mount.c:1527
+#, 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/mount.c:1542
+#, 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/mount.c:1552
+#, fuzzy, c-format
+msgid "mount: no medium found on %s ...trying again\n"
+msgstr "mount: no s'ha trobat %s; s'està creant...\n"
+
+#: mount/mount.c:1558
+#, fuzzy, c-format
+msgid "mount: no medium found on %s"
+msgstr "mount: %s ja està muntat a %s\n"
+
+#: mount/mount.c:1576
+#, 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/mount.c:1655
+#, 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/mount.c:1661
+#, 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/mount.c:1756
+#, c-format
+msgid "mount: %s already mounted on %s\n"
+msgstr "mount: %s ja està muntat a %s\n"
+
+#: mount/mount.c:1890
+#, 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/mount.c:2213
+msgid "mount: only root can do that"
+msgstr "mount: només l'usuari root pot fer això"
+
+#: mount/mount.c:2223
+msgid "nothing was mounted"
+msgstr "no s'ha muntat res"
+
+#: mount/mount.c:2241 mount/mount.c:2267
+msgid "mount: no such partition found"
+msgstr "mount: no s'ha trobat aquesta partició"
+
+#: mount/mount.c:2244
+#, 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/mount_mntent.c:165
+#, 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/mount_mntent.c:216
+#, 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/mount_mntent.c:219
+msgid "; rest of file ignored"
+msgstr "; s'ignorarà la resta del fitxer"
+
+#: mount/sundries.c:31
+msgid "bug in xstrndup call"
+msgstr "s'ha produït un error en la crida xstrndup"
+
+#: mount/sundries.c:224 mount/sundries.c:280 mount/sundries.c:289
+#: mount/xmalloc.c:11
+msgid "not enough memory"
+msgstr "no hi ha prou memòria"
+
+#: mount/swapon.c:84
+#, c-format
+msgid ""
+"The <special> parameter:\n"
+" {-L label | LABEL=label}             LABEL of device to be used\n"
+" {-U uuid  | 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"
+"\n"
+msgstr ""
+
+#: mount/swapon.c:92
+#, c-format
+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 ""
+
+#: mount/swapon.c:106
+#, c-format
+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 ""
+
+#: mount/swapon.c:140
+#, fuzzy, c-format
+msgid "%s: unexpected file format"
+msgstr "%s: No s'esperava EOF en el fitxer %s\n"
+
+#: mount/swapon.c:184 mount/swapon.c:252 mount/swapon.c:397 mount/swapon.c:556
+#: mount/swapon.c:758
+#, fuzzy, c-format
+msgid "%s: open failed"
+msgstr "no ha estat possible executar openpty\n"
+
+#: mount/swapon.c:205
+#, c-format
+msgid "%s: reinitializing the swap."
+msgstr ""
+
+#: mount/swapon.c:209
+#, fuzzy
+msgid "fork failed"
+msgstr "no s'ha pogut bifurcar\n"
+
+#: mount/swapon.c:225
+#, fuzzy
+msgid "execv failed"
+msgstr "no s'ha pogut executar exec\n"
+
+#: mount/swapon.c:233
+#, fuzzy
+msgid "waitpid failed"
+msgstr "setuid() ha fallat"
+
+#: mount/swapon.c:257
+#, fuzzy, c-format
+msgid "%s: lseek failed"
+msgstr "la cerca ha fallat"
+
+#: mount/swapon.c:263
+#, fuzzy, c-format
+msgid "%s: write signature failed"
+msgstr "S'ha produït un error en obrir %s"
+
+#: mount/swapon.c:350
+#, c-format
+msgid "%s: found %sswap v%d signature string for %d KiB PAGE_SIZE\n"
+msgstr ""
+
+#: mount/swapon.c:370
+#, fuzzy, c-format
+msgid "%s: stat failed"
+msgstr "la cerca ha fallat"
+
+#: mount/swapon.c:380
+#, 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"
+
+#: mount/swapon.c:388
+#, fuzzy, c-format
+msgid "%s: skipping - it appears to have holes."
+msgstr "%s: S'està ometent el fitxer %s - sembla que té forats.\n"
+
+#: mount/swapon.c:402
+#, fuzzy, c-format
+msgid "%s: get size failed"
+msgstr "la cerca ha fallat"
+
+#: mount/swapon.c:408
+#, c-format
+msgid "%s: read swap header failed"
+msgstr ""
+
+#: mount/swapon.c:421
+#, c-format
+msgid "%s: last_page 0x%08llx is larger than actual size of swapspace"
+msgstr ""
+
+#: mount/swapon.c:426
+#, c-format
+msgid "%s: swap format pagesize does not match."
+msgstr ""
+
+#: mount/swapon.c:431
+#, c-format
+msgid ""
+"%s: swap format pagesize does not match. (Use --fixpgsz to reinitialize it.)"
+msgstr ""
+
+#: mount/swapon.c:440
+#, c-format
+msgid "%s: software suspend data detected. Rewriting the swap signature."
+msgstr ""
+
+#: mount/swapon.c:464 mount/swapon.c:514
+#, c-format
+msgid "%s on %s\n"
+msgstr "%s a %s\n"
+
+#: mount/swapon.c:486
+#, fuzzy, c-format
+msgid "%s: swapon failed"
+msgstr "la cerca ha fallat"
+
+#: mount/swapon.c:493
+#, fuzzy, c-format
+msgid "cannot find the device for %s"
+msgstr "%s: no s'ha pogut trobar el dispositiu per a %s\n"
+
+#: mount/swapon.c:526
+#, fuzzy
+msgid "Not superuser."
+msgstr "No sou el superusuari.\n"
+
+#: mount/swapon.c:529
+#, fuzzy, c-format
+msgid "%s: swapoff failed"
+msgstr "la cerca ha fallat"
+
+#: mount/umount.c:41
+#, c-format
+msgid "umount: compiled without support for -f\n"
+msgstr "umount: està compilat sense suport per a -f\n"
+
+#: mount/umount.c:111
+#, fuzzy, c-format
+msgid "umount: cannot set group id: %s"
+msgstr "mount : no s'ha pogut establir la velocitat de: %s"
+
+#: mount/umount.c:114
+#, fuzzy, c-format
+msgid "umount: cannot set user id: %s"
+msgstr "mount : no s'ha pogut establir la velocitat de: %s"
+
+#: mount/umount.c:139
+#, c-format
+msgid "umount: cannot fork: %s"
+msgstr "mount: no s'ha pogut bifurcar: %s"
+
+#: mount/umount.c:160
+#, c-format
+msgid "umount: %s: invalid block device"
+msgstr "umount: %s: dispositiu de blocs no vàlid"
+
+#: mount/umount.c:162
+#, c-format
+msgid "umount: %s: not mounted"
+msgstr "umount: %s: no està muntat"
+
+#: mount/umount.c:164
+#, c-format
+msgid "umount: %s: can't write superblock"
+msgstr "umount: %s: no s'ha pogut escriure el superbloc"
+
+#: mount/umount.c:168
+#, 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/umount.c:173
+#, c-format
+msgid "umount: %s: not found"
+msgstr "umount: %s: no s'ha trobat"
+
+#: mount/umount.c:175
+#, c-format
+msgid "umount: %s: must be superuser to umount"
+msgstr "umount: %s: haureu de ser superusuari per poder usar umount"
+
+#: mount/umount.c:177
+#, 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/umount.c:179
+#, c-format
+msgid "umount: %s: %s"
+msgstr "umount: %s: %s"
+
+#: mount/umount.c:235
+#, c-format
+msgid "no umount2, trying umount...\n"
+msgstr "umount2 no existeix, s'està provant amb umount...\n"
+
+#: mount/umount.c:252
+#, 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/umount.c:263
+#, 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/umount.c:272
+#, c-format
+msgid "%s umounted\n"
+msgstr "%s desmuntat\n"
+
+#: mount/umount.c:367
+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/umount.c:397
+#, 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/umount.c:466
+#, fuzzy, c-format
+msgid "device %s is associated with %s\n"
+msgstr "El sector %d ja està assignat\n"
+
+#: mount/umount.c:472
+#, fuzzy, c-format
+msgid "device %s is not associated with %s\n"
+msgstr "El sector %d ja està assignat\n"
+
+#: mount/umount.c:485
+msgid "Cannot umount \"\"\n"
+msgstr "No s'ha pogut desmuntar «»\n"
+
+#: mount/umount.c:491
+#, c-format
+msgid "Trying to umount %s\n"
+msgstr "S'està intentant desmuntar %s\n"
+
+#: mount/umount.c:504
+msgid "umount: confused when analyzing mtab"
+msgstr ""
+
+#: mount/umount.c:509
+#, c-format
+msgid "umount: cannot umount %s -- %s is mounted over it on the same point."
+msgstr ""
+
+#: mount/umount.c:516
+#, c-format
+msgid "Could not find %s in mtab\n"
+msgstr "No s'ha pogut trobar %s a mtab\n"
+
+#: mount/umount.c:523
+#, c-format
+msgid "umount: %s is not mounted (according to mtab)"
+msgstr "umount: %s no està muntat (segons mtab)"
+
+#: mount/umount.c:547
+#, c-format
+msgid "umount: it seems %s is mounted multiple times"
+msgstr "umount: sembla que %s s'ha muntat diverses vegades"
+
+#: mount/umount.c:561
+#, 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/umount.c:567
+#, c-format
+msgid "umount: %s mount disagrees with the fstab"
+msgstr "umount: el muntatge de %s no concorda amb el fstab"
+
+#: mount/umount.c:608
+#, c-format
+msgid "umount: only %s can unmount %s from %s"
+msgstr "umount: només %s pot desmuntar %s des de %s"
+
+#: mount/umount.c:695
+msgid "umount: only root can do that"
+msgstr "umount: només el root pot fer això"
+
+#: schedutils/chrt.c:56
+#, 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"
+"\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 ""
+
+#: schedutils/chrt.c:88
+#, 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:90
+#, c-format
+msgid "pid %d's %s scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:112
+#, fuzzy, c-format
+msgid "unknown\n"
+msgstr "desconegut"
+
+#: schedutils/chrt.c:116
+#, c-format
+msgid "failed to get pid %d's attributes"
+msgstr ""
+
+#: schedutils/chrt.c:118
+#, c-format
+msgid "pid %d's %s scheduling priority: %d\n"
+msgstr ""
+
+#: schedutils/chrt.c:147
+#, c-format
+msgid "SCHED_%s min/max priority\t: %d/%d\n"
+msgstr ""
+
+#: schedutils/chrt.c:150
+#, fuzzy, c-format
+msgid "SCHED_%s not supported?\n"
+msgstr "NFS sobre TCP no està implementat.\n"
+
+#: schedutils/chrt.c:206
+#, fuzzy
+msgid "failed to parse pid"
+msgstr "%s: s'ha produït un error en obrir: %s\n"
+
+#: schedutils/chrt.c:228
+#, fuzzy
+msgid "current"
+msgstr "ncount"
+
+#: schedutils/chrt.c:236
+#, fuzzy
+msgid "failed to parse priority"
+msgstr "No s'ha pogut escriure la partició a %s\n"
+
+#: schedutils/chrt.c:242
+#, 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:251
+#, fuzzy, c-format
+msgid "failed to execute %s"
+msgstr "no ha estat possible executar ioctl() per llegir l'hora de %s"
+
+#: schedutils/ionice.c:57
+#, fuzzy
+msgid "ioprio_get failed"
+msgstr "no ha estat possible executar openpty\n"
+
+#: schedutils/ionice.c:75
+#, fuzzy
+msgid "ioprio_set failed"
+msgstr "no ha estat possible executar openpty\n"
+
+#: schedutils/ionice.c:81
+#, c-format
+msgid ""
+"\n"
+"ionice - sets or gets process io scheduling class and priority.\n"
+"\n"
+"Usage:\n"
+"  ionice [ options ] -p <pid> [<pid> ...]\n"
+"  ionoce [ 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 ""
+
+#: schedutils/ionice.c:110 schedutils/ionice.c:112
+#, fuzzy, c-format
+msgid "cannot parse number '%s'"
+msgstr "%s no es pot obrir"
+
+#: schedutils/ionice.c:151
+msgid "ignoring given class data for none class"
+msgstr ""
+
+#: schedutils/ionice.c:159
+msgid "ignoring given class data for idle class"
+msgstr ""
+
+#: schedutils/ionice.c:163
+#, c-format
+msgid "bad prio class %d"
+msgstr ""
+
+#: schedutils/ionice.c:187
+#, fuzzy
+msgid "execvp failed"
+msgstr "no s'ha pogut executar exec\n"
+
+#: sys-utils/ctrlaltdel.c:27
+#, c-format
+msgid "You must be root to set the Ctrl-Alt-Del behaviour.\n"
+msgstr ""
+"Haureu de ser el root per a establir el comportament de Ctrl-Alt-Supr.\n"
+
+#: sys-utils/ctrlaltdel.c:42
+#, c-format
+msgid "Usage: ctrlaltdel hard|soft\n"
+msgstr "Forma d'ús: ctrlaltdel maquin.|progr.\n"
+
+#: sys-utils/cytune.c:114
+#, 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\n"
+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:125
+#, c-format
+msgid ""
+"File %s, For threshold value %lu and timrout value %lu, Maximum characters "
+"in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f\n"
+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:189
+#, c-format
+msgid "Invalid interval value: %s\n"
+msgstr "Valor d'interval invàlid: %s\n"
+
+#: sys-utils/cytune.c:197
+#, c-format
+msgid "Invalid set value: %s\n"
+msgstr "Valor establert invàlid: %s\n"
+
+#: sys-utils/cytune.c:205
+#, c-format
+msgid "Invalid default value: %s\n"
+msgstr "Valor per defecte invàlid: %s\n"
+
+#: sys-utils/cytune.c:213
+#, c-format
+msgid "Invalid set time value: %s\n"
+msgstr "Valor de l'hora establerta invàlid: %s\n"
+
+#: sys-utils/cytune.c:221
+#, c-format
+msgid "Invalid default time value: %s\n"
+msgstr "Valor de l'hora per defecte invàlid: %s\n"
+
+#: sys-utils/cytune.c:238
+#, c-format
+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"
+
+#: sys-utils/cytune.c:250 sys-utils/cytune.c:269 sys-utils/cytune.c:289
+#: sys-utils/cytune.c:339
+#, c-format
+msgid "Can't open %s: %s\n"
+msgstr "No s'ha pogut obrir %s: %s\n"
+
+#: sys-utils/cytune.c:257
+#, c-format
+msgid "Can't set %s to threshold %d: %s\n"
+msgstr "No s'ha pogut establir %s al llindar %d: %s\n"
+
+#: sys-utils/cytune.c:276
+#, c-format
+msgid "Can't set %s to time threshold %d: %s\n"
+msgstr "No s'ha pogut establir %s al llindar de l'hora %d: %s\n"
+
+#: sys-utils/cytune.c:294 sys-utils/cytune.c:351 sys-utils/cytune.c:382
+#, c-format
+msgid "Can't get threshold for %s: %s\n"
+msgstr "No s'ha pogut obtenir el llindar per a %s: %s\n"
+
+#: sys-utils/cytune.c:300 sys-utils/cytune.c:357 sys-utils/cytune.c:388
+#, c-format
+msgid "Can't get timeout for %s: %s\n"
+msgstr "No s'ha pogut obtenir el temps d'espera per a %s: %s\n"
+
+#: sys-utils/cytune.c:306
+#, 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:309
+#, 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/cytune.c:327
+msgid "Can't set signal handler"
+msgstr "No s'ha pogut determinar el gestor de senyals"
+
+#: sys-utils/cytune.c:331 sys-utils/cytune.c:366
+msgid "gettimeofday failed"
+msgstr "no ha estat possible executar gettimeofday"
+
+#: sys-utils/cytune.c:344 sys-utils/cytune.c:376
+#, c-format
+msgid "Can't issue CYGETMON on %s: %s\n"
+msgstr "No s'ha pogut emetre CYGETMON a %s: %s\n"
+
+#: sys-utils/cytune.c:418
+#, 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:424
+#, 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:429
+#, 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:435
+#, c-format
+msgid "   %f int/sec; %f rec (char/sec)\n"
+msgstr "   %f enters/seg.; %f rebut (caràcters/seg.)\n"
+
+#: sys-utils/dmesg.c:45
+#, fuzzy, c-format
+msgid "Usage: %s [-c] [-n level] [-r] [-s bufsize]\n"
+msgstr "Forma d'ús: %s [-c] [-n nivell] [-s mida_memòria_temporal]\n"
+
+#: sys-utils/flock.c:65
+#, c-format
+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 ""
+
+#: sys-utils/flock.c:192
+#, fuzzy, c-format
+msgid "%s: %s requires exactly one command argument\n"
+msgstr "%s requereix un argument\n"
+
+#: sys-utils/flock.c:219
+#, fuzzy, c-format
+msgid "%s: cannot open lock file %s: %s\n"
+msgstr "%s: no s'ha pogut obrir %s: %s\n"
+
+#: sys-utils/flock.c:231
+#, fuzzy, c-format
+msgid "%s: bad number: %s\n"
+msgstr "%s: valor incorrecte\n"
+
+#: sys-utils/flock.c:238
+#, c-format
+msgid "%s: requires file descriptor, file or directory\n"
+msgstr ""
+
+#: sys-utils/flock.c:294
+#, fuzzy, c-format
+msgid "%s: fork failed: %s\n"
+msgstr "no s'ha pogut bifurcar\n"
+
+#: sys-utils/ipcmk.c:84
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage: %s [options]\n"
+"\n"
+msgstr "Forma d'ús: %s [opcions] dispositiu ...\n"
+
+#: sys-utils/ipcmk.c:86
+#, c-format
+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 ""
+
+#: sys-utils/ipcmk.c:90
+#, c-format
+msgid ""
+"\n"
+"For more information see ipcmk(1).\n"
+"\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:142
+msgid "create share memory failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:144
+#, fuzzy, c-format
+msgid "Shared memory id: %d\n"
+msgstr ""
+"\n"
+"Segment de la memòria compartida shmid=%d\n"
+
+#: sys-utils/ipcmk.c:150
+msgid "create message queue failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:152
+#, fuzzy, c-format
+msgid "Message queue id: %d\n"
+msgstr ""
+"\n"
+"Cua de missatges msqid=%d\n"
+
+#: sys-utils/ipcmk.c:158
+#, fuzzy
+msgid "create semaphore failed"
+msgstr "semàfors assignats = %d\n"
+
+#: sys-utils/ipcmk.c:160
+#, fuzzy, c-format
+msgid "Semaphore id: %d\n"
+msgstr ""
+"\n"
+"semid de la matriu del semàfor=%d\n"
+
+#: sys-utils/ipcrm.c:66
+#, c-format
+msgid "invalid id: %s\n"
+msgstr "id invàlid : %s\n"
+
+#: sys-utils/ipcrm.c:84
+#, c-format
+msgid "cannot remove id %s (%s)\n"
+msgstr "no s'ha pogut suprimir l'id %s (%s)\n"
+
+#: sys-utils/ipcrm.c:99
+#, c-format
+msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
+msgstr "ús desaprovat: %s {shm | msg | sem} id ...\n"
+
+#: sys-utils/ipcrm.c:126
+#, c-format
+msgid "unknown resource type: %s\n"
+msgstr "no es reconeix el tipus de la font: %s\n"
+
+#: sys-utils/ipcrm.c:130
+#, c-format
+msgid "resource(s) deleted\n"
+msgstr "fonts suprimides\n"
+
+#: sys-utils/ipcrm.c:140
+#, c-format
+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"
+
+#: sys-utils/ipcrm.c:181
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: opció il·legal -- %c\n"
+
+#: sys-utils/ipcrm.c:193
+#, c-format
+msgid "%s: illegal key (%s)\n"
+msgstr "%s: clau il·legal (%s)\n"
+
+#: sys-utils/ipcrm.c:208 sys-utils/ipcrm.c:240
+msgid "permission denied for key"
+msgstr "s'ha denegat el permís per a la clau"
+
+#: sys-utils/ipcrm.c:211 sys-utils/ipcrm.c:250
+msgid "already removed key"
+msgstr "la clau ja s'havia suprimit"
+
+#: sys-utils/ipcrm.c:214 sys-utils/ipcrm.c:245
+msgid "invalid key"
+msgstr "clau invàlida"
+
+#: sys-utils/ipcrm.c:217 sys-utils/ipcrm.c:255
+msgid "unknown error in key"
+msgstr "error desconegut en la clau"
+
+#: sys-utils/ipcrm.c:241
+msgid "permission denied for id"
+msgstr "permisos denegats per l'identificador"
+
+#: sys-utils/ipcrm.c:246
+msgid "invalid id"
+msgstr "identificador invàlid"
+
+#: sys-utils/ipcrm.c:251
+msgid "already removed id"
+msgstr "l'identificador ja s'havia suprimit"
+
+#: sys-utils/ipcrm.c:256
+msgid "unknown error in id"
+msgstr "error desconegut en l'identificador"
+
+#: sys-utils/ipcrm.c:259
+#, c-format
+msgid "%s: %s (%s)\n"
+msgstr "%s: %s (%s)\n"
+
+#: sys-utils/ipcrm.c:267
+#, c-format
+msgid "%s: unknown argument: %s\n"
+msgstr "%s: argument desconegut: %s\n"
+
+#: sys-utils/ipcs.c:120
+#, c-format
+msgid "usage : %s -asmq -tclup \n"
+msgstr "forma d'ús: %s -asmq -tclup \n"
+
+#: sys-utils/ipcs.c:121
+#, c-format
+msgid "\t%s [-s -m -q] -i id\n"
+msgstr "      %s [-s -m -q] -i identificador\n"
+
+#: sys-utils/ipcs.c:122
+#, c-format
+msgid "\t%s -h for help.\n"
+msgstr "      %s -h per a ajuda.\n"
+
+#: sys-utils/ipcs.c:128
+#, c-format
+msgid ""
+"%s provides information on ipc facilities for which you have read access.\n"
+msgstr ""
+"%s proporciona informació sobre els recursos ipc als que teniu accés de "
+"lectura.\n"
+
+#: sys-utils/ipcs.c:130
+#, c-format
+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"
+
+#: sys-utils/ipcs.c:131
+#, c-format
+msgid ""
+"\t-s : semaphores\n"
+"\t-a : all (default)\n"
+msgstr ""
+"\t-s : semàfors\n"
+"\t-a : tot (per defecte)\n"
+
+#: sys-utils/ipcs.c:132
+#, c-format
+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"
+
+#: sys-utils/ipcs.c:133
+#, c-format
+msgid ""
+"\t-l : limits\n"
+"\t-u : summary\n"
+msgstr ""
+"\t-l : límits\n"
+"\t-u : resum\n"
+
+#: sys-utils/ipcs.c:134
+#, c-format
+msgid "-i id [-s -q -m] : 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:258
+#, 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:264
+#, c-format
+msgid "------ Shared Memory Limits --------\n"
+msgstr "------ Límits de la memòria compartida --------\n"
+
+#: sys-utils/ipcs.c:269
+#, c-format
+msgid "max number of segments = %lu\n"
+msgstr "màx. nombre de segments = %lu\n"
+
+#: sys-utils/ipcs.c:271
+#, c-format
+msgid "max seg size (kbytes) = %lu\n"
+msgstr "mida màx. del segment (kbytes) = %lu\n"
+
+#: sys-utils/ipcs.c:273
+#, 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:275
+#, c-format
+msgid "min seg size (bytes) = %lu\n"
+msgstr "mida mín. segment (octets) = %lu\n"
+
+#: sys-utils/ipcs.c:280
+#, c-format
+msgid "------ Shared Memory Status --------\n"
+msgstr "------ Estat de la memòria compartida --------\n"
+
+#: sys-utils/ipcs.c:281
+#, c-format
+msgid "segments allocated %d\n"
+msgstr "segments assignats %d\n"
+
+#: sys-utils/ipcs.c:282
+#, c-format
+msgid "pages allocated %ld\n"
+msgstr "pàgines assignades %ld\n"
+
+#: sys-utils/ipcs.c:283
+#, c-format
+msgid "pages resident  %ld\n"
+msgstr "pàgines residents %ld\n"
+
+#: sys-utils/ipcs.c:284
+#, c-format
+msgid "pages swapped   %ld\n"
+msgstr "pàgines intercanviades %ld\n"
+
+#: sys-utils/ipcs.c:285
+#, c-format
+msgid "Swap performance: %ld attempts\t %ld successes\n"
+msgstr "Rendiment de l'intercanvi: %ld intents\t %ld encerts\n"
+
+#: sys-utils/ipcs.c:290
+#, c-format
+msgid "------ Shared Memory Segment Creators/Owners --------\n"
+msgstr "----- Creadors/Propietaris dels segments memòria compartida -------\n"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:298 sys-utils/ipcs.c:305
+#: sys-utils/ipcs.c:311
+msgid "shmid"
+msgstr "shmid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:311 sys-utils/ipcs.c:412
+#: sys-utils/ipcs.c:427 sys-utils/ipcs.c:510 sys-utils/ipcs.c:528
+msgid "perms"
+msgstr "perms"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "cuid"
+msgstr "cuid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "cgid"
+msgstr "cgid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "uid"
+msgstr "uid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "gid"
+msgstr "gid"
+
+#: sys-utils/ipcs.c:296
+#, c-format
+msgid "------ Shared Memory Attach/Detach/Change Times --------\n"
+msgstr "-- Temps de connexió/desconnexió/modifica. mem. comp. --\n"
+
+#: sys-utils/ipcs.c:298 sys-utils/ipcs.c:305 sys-utils/ipcs.c:311
+#: sys-utils/ipcs.c:418 sys-utils/ipcs.c:427 sys-utils/ipcs.c:516
+#: sys-utils/ipcs.c:522 sys-utils/ipcs.c:528
+msgid "owner"
+msgstr "propietari"
+
+#: sys-utils/ipcs.c:298
+msgid "attached"
+msgstr "connectat"
+
+#: sys-utils/ipcs.c:298
+msgid "detached"
+msgstr "desconnectat"
+
+#: sys-utils/ipcs.c:299
+msgid "changed"
+msgstr "modificat"
+
+#: sys-utils/ipcs.c:303
+#, c-format
+msgid "------ Shared Memory Creator/Last-op --------\n"
+msgstr "-- Creador/últim operador memòria compartida --\n"
+
+#: sys-utils/ipcs.c:305
+msgid "cpid"
+msgstr "cpid"
+
+#: sys-utils/ipcs.c:305
+msgid "lpid"
+msgstr "lpid"
+
+#: sys-utils/ipcs.c:309
+#, c-format
+msgid "------ Shared Memory Segments --------\n"
+msgstr "---- Segments de memòria compartida ----\n"
+
+#: sys-utils/ipcs.c:311 sys-utils/ipcs.c:427 sys-utils/ipcs.c:528
+msgid "key"
+msgstr "clau"
+
+#: sys-utils/ipcs.c:311
+msgid "bytes"
+msgstr "octets"
+
+#: sys-utils/ipcs.c:312
+msgid "nattch"
+msgstr "nattch"
+
+#: sys-utils/ipcs.c:312
+msgid "status"
+msgstr "estat"
+
+#: sys-utils/ipcs.c:333 sys-utils/ipcs.c:335 sys-utils/ipcs.c:337
+#: sys-utils/ipcs.c:448 sys-utils/ipcs.c:450 sys-utils/ipcs.c:549
+#: sys-utils/ipcs.c:551 sys-utils/ipcs.c:553 sys-utils/ipcs.c:604
+#: sys-utils/ipcs.c:606 sys-utils/ipcs.c:634 sys-utils/ipcs.c:636
+#: sys-utils/ipcs.c:638 sys-utils/ipcs.c:661
+msgid "Not set"
+msgstr "No establert"
+
+#: sys-utils/ipcs.c:365
+msgid "dest"
+msgstr "dest"
+
+#: sys-utils/ipcs.c:366
+msgid "locked"
+msgstr "blocat"
+
+#: sys-utils/ipcs.c:386
+#, c-format
+msgid "kernel not configured for semaphores\n"
+msgstr "nucli no configurat per als semàfors\n"
+
+#: sys-utils/ipcs.c:392
+#, c-format
+msgid "------ Semaphore Limits --------\n"
+msgstr "-------- Límits semàfor --------\n"
+
+#: sys-utils/ipcs.c:396
+#, c-format
+msgid "max number of arrays = %d\n"
+msgstr "màxim nombre de matrius = %d\n"
+
+#: sys-utils/ipcs.c:397
+#, c-format
+msgid "max semaphores per array = %d\n"
+msgstr "màx. semàfors per matriu = %d\n"
+
+#: sys-utils/ipcs.c:398
+#, c-format
+msgid "max semaphores system wide = %d\n"
+msgstr "màx. semàfors al sistema = %d\n"
+
+#: sys-utils/ipcs.c:399
+#, c-format
+msgid "max ops per semop call = %d\n"
+msgstr "màx. oper. per crida semop = %d\n"
+
+#: sys-utils/ipcs.c:400
+#, c-format
+msgid "semaphore max value = %d\n"
+msgstr "valor màxim del semàfor = %d\n"
+
+#: sys-utils/ipcs.c:404
+#, c-format
+msgid "------ Semaphore Status --------\n"
+msgstr "------ Estat del semàfor ------\n"
+
+#: sys-utils/ipcs.c:405
+#, c-format
+msgid "used arrays = %d\n"
+msgstr "matrius usades = %d\n"
+
+#: sys-utils/ipcs.c:406
+#, c-format
+msgid "allocated semaphores = %d\n"
+msgstr "semàfors assignats = %d\n"
+
+#: sys-utils/ipcs.c:410
+#, c-format
+msgid "------ Semaphore Arrays Creators/Owners --------\n"
+msgstr "----- Creadors/propietaris matrius semàfor -----\n"
+
+#: sys-utils/ipcs.c:412 sys-utils/ipcs.c:418 sys-utils/ipcs.c:427
+msgid "semid"
+msgstr "semid"
+
+#: sys-utils/ipcs.c:416
+#, fuzzy, c-format
+msgid "------ Semaphore Operation/Change Times --------\n"
+msgstr "-- Temps operació/modificació memòria compartida --\n"
+
+#: sys-utils/ipcs.c:418
+msgid "last-op"
+msgstr "última operació"
+
+#: sys-utils/ipcs.c:418
+msgid "last-changed"
+msgstr "última modificació"
+
+#: sys-utils/ipcs.c:425
+#, c-format
+msgid "------ Semaphore Arrays --------\n"
+msgstr "------ Matrius del semàfor ------\n"
+
+#: sys-utils/ipcs.c:427
+msgid "nsems"
+msgstr "nsems"
+
+#: sys-utils/ipcs.c:486
+#, 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:494
+#, c-format
+msgid "------ Messages: Limits --------\n"
+msgstr "------ Missatges: límits -------\n"
+
+#: sys-utils/ipcs.c:495
+#, c-format
+msgid "max queues system wide = %d\n"
+msgstr "nombre màx. de cues al sistema = %d\n"
+
+#: sys-utils/ipcs.c:496
+#, c-format
+msgid "max size of message (bytes) = %d\n"
+msgstr "mida màx. del missatge (octets) = %d\n"
+
+#: sys-utils/ipcs.c:497
+#, 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:501
+#, c-format
+msgid "------ Messages: Status --------\n"
+msgstr "------ Missatges: estat --------\n"
+
+#: sys-utils/ipcs.c:502
+#, c-format
+msgid "allocated queues = %d\n"
+msgstr "cues assignades = %d\n"
+
+#: sys-utils/ipcs.c:503
+#, c-format
+msgid "used headers = %d\n"
+msgstr "capçaleres usades = %d\n"
+
+#: sys-utils/ipcs.c:504
+#, c-format
+msgid "used space = %d bytes\n"
+msgstr "espai emprat = %d octets\n"
+
+#: sys-utils/ipcs.c:508
+#, c-format
+msgid "------ Message Queues: Creators/Owners --------\n"
+msgstr "--- Cues de missatges: creadors/propietaris ---\n"
+
+#: sys-utils/ipcs.c:510 sys-utils/ipcs.c:516 sys-utils/ipcs.c:522
+#: sys-utils/ipcs.c:528
+msgid "msqid"
+msgstr "msqid"
+
+#: sys-utils/ipcs.c:514
+#, c-format
+msgid "------ Message Queues Send/Recv/Change Times --------\n"
+msgstr "--- Temps tramesa./recep./modific. cues de missatges ---\n"
+
+# FIXME
+#: sys-utils/ipcs.c:516
+msgid "send"
+msgstr "envia"
+
+# FIXME
+#: sys-utils/ipcs.c:516
+msgid "recv"
+msgstr "rep"
+
+# FIXME
+#: sys-utils/ipcs.c:516
+msgid "change"
+msgstr "modifica"
+
+#: sys-utils/ipcs.c:520
+#, c-format
+msgid "------ Message Queues PIDs --------\n"
+msgstr "-- Els PID de les cues de missatges --\n"
+
+#: sys-utils/ipcs.c:522
+msgid "lspid"
+msgstr "lspid"
+
+#: sys-utils/ipcs.c:522
+msgid "lrpid"
+msgstr "lrpid"
+
+#: sys-utils/ipcs.c:526
+#, c-format
+msgid "------ Message Queues --------\n"
+msgstr "------ Cues de missatges -----\n"
+
+#: sys-utils/ipcs.c:529
+msgid "used-bytes"
+msgstr "octets emprats"
+
+#: sys-utils/ipcs.c:529
+msgid "messages"
+msgstr "missatges"
+
+#: sys-utils/ipcs.c:593
+#, fuzzy
+msgid "shmctl failed"
+msgstr "no s'ha pogut fer fsync"
+
+#: sys-utils/ipcs.c:595
+#, 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:596
+#, c-format
+msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+
+#: sys-utils/ipcs.c:598
+#, c-format
+msgid "mode=%#o\taccess_perms=%#o\n"
+msgstr "mode=%#o\taccess_perms=%#o\n"
+
+#: sys-utils/ipcs.c:600
+#, c-format
+msgid "bytes=%ld\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+msgstr "octets=%ld\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+
+#: sys-utils/ipcs.c:603
+#, c-format
+msgid "att_time=%-26.24s\n"
+msgstr "att_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:605
+#, c-format
+msgid "det_time=%-26.24s\n"
+msgstr "det_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:607 sys-utils/ipcs.c:637
+#, c-format
+msgid "change_time=%-26.24s\n"
+msgstr "change_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:619
+#, fuzzy
+msgid "msgctl failed"
+msgstr "no s'ha pogut fer fsync"
+
+#: sys-utils/ipcs.c:621
+#, c-format
+msgid ""
+"\n"
+"Message Queue msqid=%d\n"
+msgstr ""
+"\n"
+"Cua de missatges msqid=%d\n"
+
+#: sys-utils/ipcs.c:622
+#, c-format
+msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
+
+#: sys-utils/ipcs.c:624
+#, 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:633
+#, c-format
+msgid "send_time=%-26.24s\n"
+msgstr "send_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:635
+#, c-format
+msgid "rcv_time=%-26.24s\n"
+msgstr "rcv_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:652 sys-utils/ipcs.c:674
+#, fuzzy
+msgid "semctl failed"
+msgstr "la cerca ha fallat"
+
+#: sys-utils/ipcs.c:654
+#, c-format
+msgid ""
+"\n"
+"Semaphore Array semid=%d\n"
+msgstr ""
+"\n"
+"semid de la matriu del semàfor=%d\n"
+
+#: sys-utils/ipcs.c:655
+#, c-format
+msgid "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+msgstr "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+
+#: sys-utils/ipcs.c:657
+#, c-format
+msgid "mode=%#o, access_perms=%#o\n"
+msgstr "mode=%#o, access_perms=%#o\n"
+
+#: sys-utils/ipcs.c:659
+#, c-format
+msgid "nsems = %ld\n"
+msgstr "nsems = %ld\n"
+
+#: sys-utils/ipcs.c:660
+#, c-format
+msgid "otime = %-26.24s\n"
+msgstr "otime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:662
+#, c-format
+msgid "ctime = %-26.24s\n"
+msgstr "ctime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:665
+msgid "semnum"
+msgstr "semnum"
+
+#: sys-utils/ipcs.c:665
+msgid "value"
+msgstr "valor"
+
+#: sys-utils/ipcs.c:665
+msgid "ncount"
+msgstr "ncount"
+
+#: sys-utils/ipcs.c:665
+msgid "zcount"
+msgstr "zcount"
+
+#: sys-utils/ipcs.c:665
+msgid "pid"
+msgstr "pid"
+
+#: sys-utils/ldattach.c:92
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [ -dhV78neo12 ] [ -s <speed> ] <ldisc> <device>\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:94
+msgid ""
+"\n"
+"Known <ldisc> names:\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:179
+#, fuzzy, c-format
+msgid "invalid speed: %s"
+msgstr "id invàlid : %s\n"
+
+#: sys-utils/ldattach.c:182
+#, fuzzy, c-format
+msgid "ldattach from %s\n"
+msgstr "%s de %s\n"
+
+#: sys-utils/ldattach.c:187 text-utils/tailf.c:205
+#, fuzzy
+msgid "invalid option"
+msgstr "identificador invàlid"
+
+#: sys-utils/ldattach.c:199
+#, fuzzy, c-format
+msgid "invalid line discipline: %s"
+msgstr "id invàlid : %s\n"
+
+#: sys-utils/ldattach.c:207
+#, fuzzy, c-format
+msgid "%s is not a serial line"
+msgstr "%s no es un dispositiu de bloc especial"
+
+#: sys-utils/ldattach.c:213
+#, fuzzy, c-format
+msgid "cannot get terminal attributes for %s"
+msgstr "no es pot obtenir la mida de %s"
+
+#: sys-utils/ldattach.c:216
+#, c-format
+msgid "speed %d unsupported"
+msgstr ""
+
+#: sys-utils/ldattach.c:247
+#, fuzzy, c-format
+msgid "cannot set terminal attributes for %s"
+msgstr "no es pot obtenir la mida de %s"
+
+#: sys-utils/ldattach.c:254
+#, fuzzy
+msgid "cannot set line discipline"
+msgstr "No s'ha pogut cercar a la unitat de disc"
+
+#: sys-utils/ldattach.c:260
+#, fuzzy
+msgid "cannot daemonize"
+msgstr "no es pot obtenir la mida de %s"
+
+#: sys-utils/lscpu.c:64
+#, fuzzy
+msgid "none"
+msgstr "Cap"
+
+#: sys-utils/lscpu.c:65
+msgid "para"
+msgstr ""
+
+#: sys-utils/lscpu.c:66
+msgid "full"
+msgstr ""
+
+#: sys-utils/lscpu.c:129 sys-utils/lscpu.c:152 sys-utils/lscpu.c:441
+#, fuzzy, c-format
+msgid "error: %s"
+msgstr "Error RE:"
+
+#: sys-utils/lscpu.c:154
+#, fuzzy, c-format
+msgid "error parse: %s"
+msgstr "s'ha produït un error en llegir %s\n"
+
+#: sys-utils/lscpu.c:176
+#, fuzzy
+msgid "error: strdup failed"
+msgstr "S'ha produït un error en obrir %s"
+
+#: sys-utils/lscpu.c:259
+#, fuzzy
+msgid "error: uname failed"
+msgstr ""
+"\n"
+"S'ha produït un error en tancar el fitxer\n"
+
+#: sys-utils/lscpu.c:491
+#, fuzzy
+msgid "error: malloc failed"
+msgstr "l'assignació de memòria (malloc) ha fallat"
+
+#: sys-utils/lscpu.c:506
+msgid "error: /sys filesystem is not accessable."
+msgstr ""
+
+#: sys-utils/lscpu.c:524
+#, 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"
+"# CPU,Core,Socket,Node"
+msgstr ""
+
+#: sys-utils/lscpu.c:590
+msgid "Thread(s) per core:"
+msgstr ""
+
+#: sys-utils/lscpu.c:591
+msgid "Core(s) per socket:"
+msgstr ""
+
+#: sys-utils/lscpu.c:592
+msgid "CPU socket(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:596
+msgid "NUMA node(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:598
+msgid "Vendor ID:"
+msgstr ""
+
+#: sys-utils/lscpu.c:600
+msgid "CPU family:"
+msgstr ""
+
+#: sys-utils/lscpu.c:602
+msgid "Model:"
+msgstr ""
+
+#: sys-utils/lscpu.c:604
+msgid "Stepping:"
+msgstr ""
+
+#: sys-utils/lscpu.c:606
+msgid "CPU MHz:"
+msgstr ""
+
+#: sys-utils/lscpu.c:609 sys-utils/lscpu.c:611
+#, fuzzy
+msgid "Virtualization:"
+msgstr "Antiga situació:\n"
+
+#: sys-utils/lscpu.c:614
+msgid "Hypervisor vendor:"
+msgstr ""
+
+#: sys-utils/lscpu.c:615
+msgid "Virtualization type:"
+msgstr ""
+
+#: sys-utils/lscpu.c:623
+#, c-format
+msgid "%s cache:"
+msgstr ""
+
+#: sys-utils/lscpu.c:631
+#, fuzzy, c-format
+msgid "Usage: %s [option]\n"
+msgstr "Forma d'ús: %s [opcions] dispositiu ...\n"
+
+#: sys-utils/lscpu.c:634
+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 ""
+
+#: sys-utils/lscpu.c:683
+#, fuzzy, c-format
+msgid "error: change working directory to %s."
+msgstr "s'ha produït un error en canviar el mode de %s: %s\n"
+
+#: sys-utils/rdev.c:77
+msgid "usage: rdev [ -rv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]"
+msgstr ""
+"forma d'ús: rdev [ -rv ] [ -o DESPLAÇAMENT ] [ IMATGE [ VALOR "
+"[ DESPLAÇAMENT ] ] ]"
+
+#: sys-utils/rdev.c:78
+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"
+
+#: sys-utils/rdev.c:79
+msgid "  rdev /dev/fd0 /dev/hda2         sets ROOT to /dev/hda2"
+msgstr "  rdev /dev/fd0 /dev/hda2         estableix el ROOT a /dev/hda2"
+
+#: sys-utils/rdev.c:80
+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)"
+
+#: sys-utils/rdev.c:81
+msgid "  rdev -r /dev/fd0 627            set the RAMDISK size"
+msgstr "  rdev -r /dev/fd0 627            estableix la mida del RAMDISK"
+
+#: sys-utils/rdev.c:82
+msgid "  rdev -v /dev/fd0 1              set the bootup VIDEOMODE"
+msgstr ""
+"  rdev -v /dev/fd0 1              estableix el VIDEOMODE de l'arrencada"
+
+#: sys-utils/rdev.c:83
+msgid "  rdev -o N ...                   use the byte offset N"
+msgstr "  rdev -o N ...                   usar el desplaçament d'octets N"
+
+#: sys-utils/rdev.c:84
+msgid "  rootflags ...                   same as rdev -R"
+msgstr "  rootflags ...                   el mateix que rdev -R"
+
+#: sys-utils/rdev.c:85
+msgid "  ramsize ...                     same as rdev -r"
+msgstr "  ramsize ...                     el mateix que rdev -r"
+
+#: sys-utils/rdev.c:86
+msgid "  vidmode ...                     same as rdev -v"
+msgstr "  vidmode ...                     el mateix que rdev -v"
+
+#: sys-utils/rdev.c:87
+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, ... "
+
+#: sys-utils/rdev.c:88
+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."
+
+#: sys-utils/rdev.c:245
+msgid "missing comma"
+msgstr "falta una coma"
+
+#: sys-utils/readprofile.c:72
+#, c-format
+msgid "out of memory"
+msgstr "no hi ha prou memòria"
+
+#: sys-utils/readprofile.c:118
+#, 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: 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"
+
+#: sys-utils/readprofile.c:227
+#, fuzzy, c-format
+msgid "readprofile: error writing %s: %s\n"
+msgstr "mount: s'ha produït un error en escriure %s: %s"
+
+#: sys-utils/readprofile.c:268
+#, c-format
+msgid "Assuming reversed byte order. Use -n to force native byte order.\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:284
+#, c-format
+msgid "Sampling_step: %i\n"
+msgstr "Passa de probes: %i\n"
+
+#: sys-utils/readprofile.c:305 sys-utils/readprofile.c:331
+#, c-format
+msgid "%s: %s(%i): wrong map line\n"
+msgstr "%s: %s(%i): línia del mapa incorrecta\n"
+
+#: sys-utils/readprofile.c:318
+#, c-format
+msgid "%s: can't find \"_stext\" in %s\n"
+msgstr "%s: no s'ha pogut trobar \"_stext\" a %s\n"
+
+#: sys-utils/readprofile.c:352
+#, c-format
+msgid "%s: profile address out of range. Wrong map file?\n"
+msgstr "%s adreça del perfil fora del rang. Fitxer `map' incorrecte?\n"
+
+#: sys-utils/readprofile.c:412
+msgid "total"
+msgstr "total"
+
+#: sys-utils/renice.c:53
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" renice [-n] priority [-p|--pid] pid  [... pid]\n"
+" renice [-n] priority  -g|--pgrp pgrp [... pgrp]\n"
+" renice [-n] priority  -u|--user user [... user]\n"
+" renice -h | --help\n"
+" renice -v | --version\n"
+"\n"
+msgstr ""
+
+#: sys-utils/renice.c:89
+#, fuzzy, c-format
+msgid "renice from %s\n"
+msgstr "%s de %s\n"
+
+#: sys-utils/renice.c:126
+#, c-format
+msgid "renice: %s: unknown user\n"
+msgstr "renice: %s: usuari desconegut\n"
+
+#: sys-utils/renice.c:134
+#, c-format
+msgid "renice: %s: bad value\n"
+msgstr "renice: %s: valor incorrecte\n"
+
+#: sys-utils/renice.c:152 sys-utils/renice.c:164
+msgid "getpriority"
+msgstr "getpriority"
+
+#: sys-utils/renice.c:157
+msgid "setpriority"
+msgstr "setpriority"
+
+#: sys-utils/renice.c:168
+#, c-format
+msgid "%d: old priority %d, new priority %d\n"
+msgstr "%d: prioritat antiga %d, nova prioritat %d\n"
+
+#: sys-utils/rtcwake.c:81
+#, c-format
+msgid ""
+"usage: %s [options]\n"
+"    -d | --device <device>    select rtc device (rtc0|rtc1|...)\n"
+"    -l | --local              RTC uses local timezone\n"
+"    -m | --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"
+"    -V | --version            show version\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:140
+msgid "read rtc time"
+msgstr ""
+
+#: sys-utils/rtcwake.c:145
+msgid "read system time"
+msgstr ""
+
+#: sys-utils/rtcwake.c:163
+msgid "convert rtc time"
+msgstr ""
+
+#: sys-utils/rtcwake.c:222
+msgid "set rtc alarm"
+msgstr ""
+
+#: sys-utils/rtcwake.c:226
+msgid "enable rtc alarm"
+msgstr ""
+
+#: sys-utils/rtcwake.c:230
+msgid "set rtc wake alarm"
+msgstr ""
+
+#: sys-utils/rtcwake.c:342
+#, fuzzy, c-format
+msgid "%s: unrecognized suspend state '%s'\n"
+msgstr " %s: no s'ha pogut reconèixer el tipus de la taula de particions\n"
+
+#: sys-utils/rtcwake.c:351
+#, fuzzy, c-format
+msgid "%s: illegal interval %s seconds\n"
+msgstr "%s: clau il·legal (%s)\n"
+
+#: sys-utils/rtcwake.c:365
+#, fuzzy, c-format
+msgid "%s: illegal time_t value %s\n"
+msgstr "%s: opció il·legal -- %s\n"
+
+#: sys-utils/rtcwake.c:381
+#, fuzzy, c-format
+msgid "%s: version %s\n"
+msgstr "%s versió %s\n"
+
+#: sys-utils/rtcwake.c:394
+#, c-format
+msgid "%s: assuming RTC uses UTC ...\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:399
+#, fuzzy, c-format
+msgid "Using UTC time.\n"
+msgstr "Usant %s.\n"
+
+#: sys-utils/rtcwake.c:400
+#, fuzzy, c-format
+msgid "Using local time.\n"
+msgstr "Usant %s.\n"
+
+#: sys-utils/rtcwake.c:403
+#, c-format
+msgid "%s: must provide wake time\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:413
+#, fuzzy
+msgid "malloc() failed"
+msgstr "l'assignació de memòria (malloc) ha fallat"
+
+#: sys-utils/rtcwake.c:425
+#, fuzzy, c-format
+msgid "%s: %s not enabled for wakeup events\n"
+msgstr "%s: %s no és un dispositiu lp.\n"
+
+#: sys-utils/rtcwake.c:441
+#, c-format
+msgid "alarm %ld, sys_time %ld, rtc_time %ld, seconds %u\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:446
+#, c-format
+msgid "%s: time doesn't go backward to %s\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:456
+#, fuzzy, c-format
+msgid "%s: wakeup from \"%s\" using %s at %s\n"
+msgstr "Missatge de %s@%s el %s a les %s ..."
+
+#: sys-utils/rtcwake.c:473
+#, fuzzy
+msgid "rtc read"
+msgstr ", a punt"
+
+#: sys-utils/rtcwake.c:482
+msgid "disable rtc alarm interrupt"
+msgstr ""
+
+#: sys-utils/setarch.c:50
+#, c-format
+msgid "Switching on %s.\n"
+msgstr ""
+
+#: sys-utils/setarch.c:113
+#, c-format
+msgid ""
+"Usage: %s%s [options] [program [program arguments]]\n"
+"\n"
+"Options:\n"
+msgstr ""
+
+#: sys-utils/setarch.c:117
+#, c-format
+msgid ""
+" -h, --help               displays this help text\n"
+" -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"
+msgstr ""
+
+#: sys-utils/setarch.c:131
+#, c-format
+msgid ""
+"\n"
+"For more information see setarch(8).\n"
+msgstr ""
+
+#: sys-utils/setarch.c:143
+#, fuzzy, c-format
+msgid ""
+"%s: %s\n"
+"Try `%s --help' for more information.\n"
+msgstr "Escolliu `getopt --help' per obtenir més informació.\n"
+
+#: sys-utils/setarch.c:215 sys-utils/setarch.c:231
+#, 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:249 sys-utils/setarch.c:256
+#, fuzzy
+msgid "Not enough arguments"
+msgstr "Massa arguments.\n"
+
+#: sys-utils/setarch.c:265 sys-utils/setarch.c:318
+#, 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:26
+#, c-format
+msgid "usage: %s program [arg ...]\n"
+msgstr "forma d'ús: %s programa [arg ...]\n"
+
+#: sys-utils/tunelp.c:75
+#, c-format
+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"
+
+#: sys-utils/tunelp.c:91
+msgid "malloc error"
+msgstr "error en l'assignació de memòria"
+
+#: sys-utils/tunelp.c:103
+#, c-format
+msgid "%s: bad value\n"
+msgstr "%s: valor incorrecte\n"
+
+#: sys-utils/tunelp.c:242
+#, c-format
+msgid "%s: %s not an lp device.\n"
+msgstr "%s: %s no és un dispositiu lp.\n"
+
+#: sys-utils/tunelp.c:263
+#, c-format
+msgid "%s status is %d"
+msgstr "l'estat de %s és %d"
+
+#: sys-utils/tunelp.c:264
+#, c-format
+msgid ", busy"
+msgstr ", ocupat"
+
+#: sys-utils/tunelp.c:265
+#, c-format
+msgid ", ready"
+msgstr ", a punt"
+
+#: sys-utils/tunelp.c:266
+#, c-format
+msgid ", out of paper"
+msgstr ", falta paper"
+
+#: sys-utils/tunelp.c:267
+#, c-format
+msgid ", on-line"
+msgstr ", en línia"
+
+#: sys-utils/tunelp.c:268
+#, c-format
+msgid ", error"
+msgstr ", error"
+
+#: sys-utils/tunelp.c:285
+msgid "LPGETIRQ error"
+msgstr "error de LPGETIRQ"
+
+#: sys-utils/tunelp.c:291
+#, c-format
+msgid "%s using IRQ %d\n"
+msgstr "%s està usant la IRQ %d\n"
+
+#: sys-utils/tunelp.c:293
+#, c-format
+msgid "%s using polling\n"
+msgstr "%s està usant escrutini\n"
+
+#: text-utils/col.c:154
+#, c-format
+msgid "col: bad -l argument %s.\n"
+msgstr "col: argument -l incorrecte %s.\n"
+
+#: text-utils/col.c:544
+#, c-format
+msgid "usage: col [-bfpx] [-l nline]\n"
+msgstr "forma d'ús: col [-bfpx] [-l nline]\n"
+
+#: text-utils/col.c:550
+#, c-format
+msgid "col: write error.\n"
+msgstr "col: error d'escriptura.\n"
+
+#: text-utils/col.c:557
+#, c-format
+msgid "col: warning: can't back up %s.\n"
+msgstr "col: avís: no s'ha pogut fer la còpia de seguretat de %s.\n"
+
+#: text-utils/col.c:558
+msgid "past first line"
+msgstr "més enllà de la primera línia"
+
+#: text-utils/col.c:558
+msgid "-- line already flushed"
+msgstr "-- línia ja està buida"
+
+#: text-utils/colcrt.c:97
+#, c-format
+msgid "usage: %s [ - ] [ -2 ] [ file ... ]\n"
+msgstr "forma d'ús: %s [ - ] [ -2 ] [ fitxer ... ]\n"
+
+#: text-utils/column.c:297
+msgid "line too long"
+msgstr "línia massa llarga"
+
+#: text-utils/column.c:374
+#, c-format
+msgid "usage: column [-tx] [-c columns] [file ...]\n"
+msgstr "forma d'ús: column [-tx] [-c columnes] [fitxer ...]\n"
+
+#: text-utils/hexsyntax.c:82
+#, c-format
+msgid "hexdump: bad length value.\n"
+msgstr "hexdump: valor de la longitud incorrecte.\n"
+
+#: text-utils/hexsyntax.c:93
+#, c-format
+msgid "hexdump: bad skip value.\n"
+msgstr "hexdump: valor del salt incorrecte.\n"
+
+#: text-utils/hexsyntax.c:131
+#, c-format
+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"
+
+#: text-utils/more.c:256
+#, c-format
+msgid "usage: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n"
+msgstr "forma d'ús: %s [-dflpcsu] [+núm_línies | +/patró] nom1 nom2 ...\n"
+
+#: text-utils/more.c:479
+#, c-format
+msgid "%s: unknown option \"-%c\"\n"
+msgstr "%s: opció desconeguda «-%c»\n"
+
+#: text-utils/more.c:511
+#, c-format
+msgid ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+msgstr ""
+"\n"
+"*** %s: directori ***\n"
+"\n"
+
+#: text-utils/more.c:555
+#, 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:658
+#, c-format
+msgid "[Use q or Q to quit]"
+msgstr "[Useu q o Q per a sortir]"
+
+#: text-utils/more.c:750
+#, c-format
+msgid "--More--"
+msgstr "--Més--"
+
+#: text-utils/more.c:752
+#, c-format
+msgid "(Next file: %s)"
+msgstr "(Fitxer següent: %s)"
+
+#: text-utils/more.c:757
+#, 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:1172
+#, c-format
+msgid "...back %d pages"
+msgstr "...retrocedeix %d pàgines"
+
+#: text-utils/more.c:1174
+msgid "...back 1 page"
+msgstr "...retrocedeix 1 pàgina"
+
+#: text-utils/more.c:1217
+msgid "...skipping one line"
+msgstr "...s'està ometent una línia"
+
+#: text-utils/more.c:1219
+#, c-format
+msgid "...skipping %d lines"
+msgstr "...s'està ometent %d línies"
+
+#: text-utils/more.c:1256
+msgid ""
+"\n"
+"***Back***\n"
+"\n"
+msgstr ""
+"\n"
+"***Endarrera***\n"
+"\n"
+
+#: text-utils/more.c:1294
+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:1301
+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:1370 text-utils/more.c:1375
+#, c-format
+msgid "[Press 'h' for instructions.]"
+msgstr "[Premeu «h» per a les instruccions.]"
+
+#: text-utils/more.c:1409
+#, c-format
+msgid "\"%s\" line %d"
+msgstr "\"%s\" línia %d"
+
+#: text-utils/more.c:1411
+#, c-format
+msgid "[Not a file] line %d"
+msgstr "[No és un fitxer] línia %d"
+
+#: text-utils/more.c:1495
+msgid "  Overflow\n"
+msgstr "  Desbordament\n"
+
+#: text-utils/more.c:1542
+msgid "...skipping\n"
+msgstr "...s'està ometent\n"
+
+#: text-utils/more.c:1571
+msgid "Regular expression botch"
+msgstr "S'ha produït un error en l'expressió regular"
+
+#: text-utils/more.c:1579
+msgid ""
+"\n"
+"Pattern not found\n"
+msgstr ""
+"\n"
+"No s'ha trobat el patró\n"
+
+#: text-utils/more.c:1582 text-utils/pg.c:1124 text-utils/pg.c:1275
+msgid "Pattern not found"
+msgstr "No s'ha trobat el patró"
+
+#: text-utils/more.c:1643
+msgid "can't fork\n"
+msgstr "no s'ha pogut bifurcar\n"
+
+#: text-utils/more.c:1682
+msgid ""
+"\n"
+"...Skipping "
+msgstr ""
+"\n"
+"...S'està ometent"
+
+#: text-utils/more.c:1686
+msgid "...Skipping to file "
+msgstr "...s'està saltant al fitxer "
+
+#: text-utils/more.c:1688
+msgid "...Skipping back to file "
+msgstr "...S'està retrocedint al fitxer "
+
+#: text-utils/more.c:1966
+msgid "Line too long"
+msgstr "Línia massa llarga"
+
+#: text-utils/more.c:2009
+msgid "No previous command to substitute for"
+msgstr "No hi ha cap ordre prèvia a substituir"
+
+#: text-utils/odsyntax.c:130
+#, c-format
+msgid "od: od(1) has been deprecated for hexdump(1).\n"
+msgstr "od: od(1) ha quedat obsolet per a hexdump(1).\n"
+
+#: text-utils/odsyntax.c:133
+#, c-format
+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"
+
+#: text-utils/odsyntax.c:134
+msgid "; see strings(1)."
+msgstr "; vegeu strings(1)."
+
+#: text-utils/parse.c:63
+#, c-format
+msgid "hexdump: can't read %s.\n"
+msgstr "hexdump: no s'ha pogut llegir %s.\n"
+
+#: text-utils/parse.c:68
+#, c-format
+msgid "hexdump: line too long.\n"
+msgstr "hexdump: línia massa llarga.\n"
+
+#: text-utils/parse.c:401
+#, c-format
+msgid "hexdump: byte count with multiple conversion characters.\n"
+msgstr "hexdump: nombre total d'octets amb diversos caràcters de conversió.\n"
+
+#: text-utils/parse.c:483
+#, c-format
+msgid "hexdump: bad byte count for conversion character %s.\n"
+msgstr ""
+"hexdump: nombre total d'octets incorrecte per al caràcter de conversió %s.\n"
+
+#: text-utils/parse.c:490
+#, c-format
+msgid "hexdump: %%s requires a precision or a byte count.\n"
+msgstr ""
+"hexdump: %%s requereix un valor de precisió o un nombre total d'octets.\n"
+
+#: text-utils/parse.c:496
+#, c-format
+msgid "hexdump: bad format {%s}\n"
+msgstr "hexdump: format incorrecte {%s}\n"
+
+#: text-utils/parse.c:502
+#, c-format
+msgid "hexdump: bad conversion character %%%s.\n"
+msgstr "hexdump: caràcter de conversió %%%s incorrecte.\n"
+
+#: text-utils/pg.c:145
+msgid ""
+"All rights reserved.\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"
+msgstr ""
+
+#: text-utils/pg.c:223
+#, fuzzy
+msgid "Out of memory\n"
+msgstr "S'ha esgotat la memòria"
+
+#: text-utils/pg.c:236
+#, c-format
+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"
+
+#: text-utils/pg.c:245
+#, c-format
+msgid "%s: option requires an argument -- %s\n"
+msgstr "%s: l'opció requereix un argument -- %s\n"
+
+#: text-utils/pg.c:253
+#, c-format
+msgid "%s: illegal option -- %s\n"
+msgstr "%s: opció il·legal -- %s\n"
+
+#: text-utils/pg.c:370
+msgid "...skipping forward\n"
+msgstr "...s'està saltant endavant\n"
+
+#: text-utils/pg.c:372
+msgid "...skipping backward\n"
+msgstr "...s'està saltant endarrera\n"
+
+#: text-utils/pg.c:394
+msgid "No next file"
+msgstr "No hi ha cap fitxer següent"
+
+#: text-utils/pg.c:398
+msgid "No previous file"
+msgstr "No hi ha cap fitxer anterior"
+
+#: text-utils/pg.c:928
+#, 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:934
+#, 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:937
+#, 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:1032
+#, c-format
+msgid "%s: Cannot create tempfile\n"
+msgstr "%s: No es pot cerar el fitxer temporal\n"
+
+#: text-utils/pg.c:1041 text-utils/pg.c:1216 text-utils/pg.c:1243
+msgid "RE error: "
+msgstr "Error RE:"
+
+#: text-utils/pg.c:1198
+msgid "(EOF)"
+msgstr "(EOF)"
+
+#: text-utils/pg.c:1224 text-utils/pg.c:1251
+msgid "No remembered search string"
+msgstr "No es recorda la cadena de cerca"
+
+#: text-utils/pg.c:1307
+msgid "Cannot open "
+msgstr "No s'ha pogut obrir"
+
+#: text-utils/pg.c:1355
+msgid "saved"
+msgstr "s'ha desat"
+
+#: text-utils/pg.c:1462
+msgid ": !command not allowed in rflag mode.\n"
+msgstr ": no es permet !ordre en el mode rflag.\n"
+
+#: text-utils/pg.c:1494
+msgid "fork() failed, try again later\n"
+msgstr "no ha estat possible executar fork(), proveu-ho més endavant\n"
+
+#: text-utils/pg.c:1702
+msgid "(Next file: "
+msgstr "(Fitxer següent: "
+
+#: text-utils/rev.c:113
+#, fuzzy
+msgid "unable to allocate bufferspace"
+msgstr "No s'ha pogut assignar espai de memòria intermèdia\n"
+
+#: text-utils/rev.c:143
+#, c-format
+msgid "usage: rev [file ...]\n"
+msgstr "forma d'ús: rev [fitxer ...]\n"
+
+#: text-utils/tailf.c:57 text-utils/tailf.c:92
+#, fuzzy, c-format
+msgid "cannot open \"%s\" for read"
+msgstr "No s'ha pogut obrir «%s» per a lectura\n"
+
+#: text-utils/tailf.c:95 text-utils/tailf.c:214
+#, fuzzy, c-format
+msgid "cannot stat \"%s\""
+msgstr "no es pot fer \"stat\" al dispositiu %s"
+
+#: text-utils/tailf.c:108
+#, c-format
+msgid "incomplete write to \"%s\" (written %zd, expected %zd)\n"
+msgstr ""
+
+#: text-utils/tailf.c:146
+#, c-format
+msgid "%s: cannot add inotify watch (limit of inotify watches was reached)."
+msgstr ""
+
+#: text-utils/tailf.c:150
+#, c-format
+msgid "%s: cannot add inotify watch."
+msgstr ""
+
+#: text-utils/tailf.c:159
+#, fuzzy, c-format
+msgid "%s: cannot read inotify events"
+msgstr "%s: no es pot obrir %s\n"
+
+#: text-utils/tailf.c:198 text-utils/tailf.c:202
+#, fuzzy
+msgid "invalid number of lines"
+msgstr "Nombre invàlid: %s\n"
+
+#: text-utils/tailf.c:209
+#, fuzzy
+msgid "usage: tailf [-n N | -N] logfile"
+msgstr "Forma d'ús: tailf fitxer_registre\n"
+
+#: text-utils/ul.c:141
+#, c-format
+msgid "usage: %s [ -i ] [ -tTerm ] file...\n"
+msgstr "forma d'ús: %s [ -i ] [ -tTerminal ] fitxer...\n"
+
+#: text-utils/ul.c:152
+#, c-format
+msgid "trouble reading terminfo"
+msgstr "hi ha hagut un problema en llegir terminfo"
+
+#: text-utils/ul.c:242
+#, c-format
+msgid "Unknown escape sequence in input: %o, %o\n"
+msgstr "Seqüència d'escapament desconeguda en l'entrada: %o, %o\n"
+
+#: text-utils/ul.c:425
+#, c-format
+msgid "Unable to allocate buffer.\n"
+msgstr "No s'ha pogut assignar la memòria temporal.\n"
+
+#: text-utils/ul.c:586
+#, c-format
+msgid "Input line too long.\n"
+msgstr "Línia d'entrada massa llarga.\n"
+
+#: text-utils/ul.c:599
+#, c-format
+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 "# partition table of %s\n"
+#~ msgstr "# taula de particions de %s\n"
+
+#, 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: unable to get current directory - %s\n"
+#~ msgstr "namei: no s'ha pogut obtenir el directori actual - %s\n"
+
+#~ msgid "namei: unable to chdir to %s - %s (%d)\n"
+#~ msgstr "namei: no s'ha pogut executar chdir a %s - %s (%d)\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 "%s: cannot stat %s: %s\n"
+#~ msgstr "%s: no s'ha pogut fer stat en %s: %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 "Autoconfigure failed.\n"
+#~ msgstr "No s'ha pogut fer la configuració automàtica.\n"
+
+#~ 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 from %s%s\n"
+#~ msgstr "%s des de %s%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: cannot find %s in %s"
+#~ msgstr "mount: no s'ha pogut trobar %s a %s"
+
+#~ 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 "Warning: deleting partitions after %d\n"
+#~ msgstr "Atenció: s'estan suprimint les particions després de %d\n"
+
+#~ 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: fs type %s not supported by kernel"
+#~ msgstr ""
+#~ "mount: el tipus del sistema de fitxers %s no està suportat pel nucli"
+
+#~ 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 (file)
index 0000000..1f7853d
Binary files /dev/null and b/po/cs.gmo differ
diff --git a/po/cs.po b/po/cs.po
new file mode 100644 (file)
index 0000000..c96d8f4
--- /dev/null
+++ b/po/cs.po
@@ -0,0 +1,12207 @@
+# 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-ng 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 Pisar <petr.pisar@atlas.cz>, 2007, 2008, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: util-linux-ng 2.16-rc2\n"
+"Report-Msgid-Bugs-To: Karel Zak <kzak@redhat.com>\n"
+"POT-Creation-Date: 2009-11-30 16:27+0100\n"
+"PO-Revision-Date: 2009-07-02 23:36+0200\n"
+"Last-Translator: Petr Pisar <petr.pisar@atlas.cz>\n"
+"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: disk-utils/blockdev.c:37
+msgid "set read-only"
+msgstr "nastaví pouze pro čtení"
+
+#: disk-utils/blockdev.c:38
+msgid "set read-write"
+msgstr "nastaví pro čtení/zápis"
+
+#: disk-utils/blockdev.c:39
+msgid "get read-only"
+msgstr "zjistí zda je zakázán zápis"
+
+#: disk-utils/blockdev.c:40
+msgid "get sectorsize"
+msgstr "zjistí velikost sektoru"
+
+#: disk-utils/blockdev.c:41
+msgid "get blocksize"
+msgstr "zjistí velikost bloku"
+
+#: disk-utils/blockdev.c:42
+msgid "set blocksize"
+msgstr "nastaví velikost bloku"
+
+#: disk-utils/blockdev.c:43
+msgid "get 32-bit sector count"
+msgstr "zjistí počet sektorů jako 32bitové číslo"
+
+#: disk-utils/blockdev.c:44
+msgid "get size in bytes"
+msgstr "zjistí velikost v bajtech"
+
+#: disk-utils/blockdev.c:45
+msgid "set readahead"
+msgstr "nastaví dopředné čtení sektorů"
+
+#: disk-utils/blockdev.c:46
+msgid "get readahead"
+msgstr "zjistí nastavení dopředného čtení sektorů"
+
+#: disk-utils/blockdev.c:47
+msgid "set filesystem readahead"
+msgstr "nastaví dopředné načítání pro souborový systém"
+
+#: disk-utils/blockdev.c:48
+msgid "get filesystem readahead"
+msgstr "zjistí nastavení dopředného načítání pro souborový systém"
+
+#: disk-utils/blockdev.c:49
+msgid "flush buffers"
+msgstr "vyprázdnit buffery"
+
+#: disk-utils/blockdev.c:51
+msgid "reread partition table"
+msgstr "načte znovu tabulku rozdělení disku"
+
+#: disk-utils/blockdev.c:60
+#, c-format
+msgid "Usage:\n"
+msgstr "Použití:\n"
+
+#: disk-utils/blockdev.c:62
+#, c-format
+msgid "  %s --report [devices]\n"
+msgstr "  %s --report [ZAŘÍZENÍ…]\n"
+
+#: disk-utils/blockdev.c:63
+#, c-format
+msgid "  %s [-v|-q] commands devices\n"
+msgstr "  %s  [-v|-q] PŘÍKAZ… ZAŘÍZENÍ…\n"
+
+#: disk-utils/blockdev.c:66
+#, c-format
+msgid "Available commands:\n"
+msgstr "Dostupné příkazy:\n"
+
+#: disk-utils/blockdev.c:68
+msgid "get size in 512-byte sectors"
+msgstr "vrátí velikost vyjádřenou v 512bajtových sektorech"
+
+#: disk-utils/blockdev.c:201
+#, c-format
+msgid "%s: Unknown command: %s\n"
+msgstr "%s: neznámý příkaz %s\n"
+
+#: disk-utils/blockdev.c:213 disk-utils/blockdev.c:222
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "přepínač %s vyžaduje argument\n"
+
+#: disk-utils/blockdev.c:255
+#, c-format
+msgid "%s failed.\n"
+msgstr "Příkaz „%s“ selhal.\n"
+
+#: disk-utils/blockdev.c:292
+#, c-format
+msgid "%s succeeded.\n"
+msgstr "%s uspěl.\n"
+
+#: disk-utils/blockdev.c:310 disk-utils/blockdev.c:338
+#, c-format
+msgid "%s: cannot open %s\n"
+msgstr "%s: nelze otevřít: %s\n"
+
+#: disk-utils/blockdev.c:355
+#, c-format
+msgid "%s: ioctl error on %s\n"
+msgstr "%s: ioctl chyba na %s\n"
+
+#: disk-utils/blockdev.c:364
+#, c-format
+msgid "RO    RA   SSZ   BSZ   StartSec            Size   Device\n"
+msgstr "RO    RA   SSZ   BSZ PrvníSekt.        Velikost Zařízení\n"
+
+#: disk-utils/elvtune.c:48
+#, c-format
+msgid "usage:\n"
+msgstr "Použití:\n"
+
+#: disk-utils/elvtune.c:53
+#, 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:104
+#, c-format
+msgid "parse error\n"
+msgstr "chyba rozebírání\n"
+
+#: disk-utils/elvtune.c:110
+#, 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:131
+#, 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:31
+#, c-format
+msgid "Formatting ... "
+msgstr "Formátuji… "
+
+#: disk-utils/fdformat.c:49 disk-utils/fdformat.c:86
+#, c-format
+msgid "done\n"
+msgstr "hotovo\n"
+
+#: disk-utils/fdformat.c:60
+#, c-format
+msgid "Verifying ... "
+msgstr "Ověřuji… "
+
+#: 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:80
+#, c-format
+msgid ""
+"bad data in cyl %d\n"
+"Continuing ... "
+msgstr ""
+"chybná data v cylindru %d\n"
+"Pokračuji…"
+
+#: disk-utils/fdformat.c:96
+#, c-format
+msgid "usage: %s [ -n ] device\n"
+msgstr "Použití: %s [-n] ZAŘÍZENÍ\n"
+
+#: disk-utils/fdformat.c:118 disk-utils/fsck.minix.c:1282
+#: disk-utils/isosize.c:181 disk-utils/mkfs.bfs.c:115 disk-utils/mkfs.c:52
+#: disk-utils/mkfs.cramfs.c:813 disk-utils/mkfs.minix.c:571
+#: disk-utils/mkswap.c:461 misc-utils/ddate.c:179 misc-utils/rename.c:79
+#: misc-utils/script.c:147 sys-utils/readprofile.c:197
+#, c-format
+msgid "%s (%s)\n"
+msgstr "%s: (%s)\n"
+
+#: disk-utils/fdformat.c:132
+#, c-format
+msgid "%s: not a block device\n"
+msgstr "%s: není blokové zařízení\n"
+
+#: disk-utils/fdformat.c:142
+msgid "Could not determine current format type"
+msgstr "Typ formátu nelze zjistit"
+
+#: disk-utils/fdformat.c:143
+#, 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:144
+msgid "Double"
+msgstr "2"
+
+#: disk-utils/fdformat.c:144
+msgid "Single"
+msgstr "1"
+
+#: disk-utils/fsck.cramfs.c:118
+#, c-format
+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"
+
+#: disk-utils/fsck.cramfs.c:164
+#, c-format
+msgid "stat failed: %s"
+msgstr "volání stat selhalo: %s"
+
+#: disk-utils/fsck.cramfs.c:168 disk-utils/fsck.cramfs.c:552
+#, c-format
+msgid "open failed: %s"
+msgstr "volání open selhalo: %s"
+
+#: disk-utils/fsck.cramfs.c:173
+#, 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:181
+#, 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:185 disk-utils/fsck.cramfs.c:227
+msgid "file length too short"
+msgstr "délka souboru je příliš krátká"
+
+#: disk-utils/fsck.cramfs.c:190 disk-utils/fsck.cramfs.c:198
+#: disk-utils/fsck.cramfs.c:259 disk-utils/fsck.cramfs.c:279
+#, c-format
+msgid "read failed: %s"
+msgstr "volání read selhalo: %s"
+
+#: disk-utils/fsck.cramfs.c:208
+msgid "superblock magic not found"
+msgstr "magická značka superbloku nenalezena"
+
+#: disk-utils/fsck.cramfs.c:217
+msgid "unsupported filesystem features"
+msgstr "nepodporované vlastnosti systému souborů"
+
+#: disk-utils/fsck.cramfs.c:220
+#, c-format
+msgid "superblock size (%d) too small"
+msgstr "velikost superbloku (%d) je příliš malá"
+
+#: disk-utils/fsck.cramfs.c:224
+msgid "zero file count"
+msgstr "nulový počet souborů"
+
+#: disk-utils/fsck.cramfs.c:230
+#, 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:234
+#, c-format
+msgid "warning: old cramfs format\n"
+msgstr "varování: starý formát cramfs\n"
+
+#: disk-utils/fsck.cramfs.c:247
+msgid "unable to test CRC: old cramfs format"
+msgstr "CRC není možné zkontrolovat: starý formát cramfs"
+
+#: disk-utils/fsck.cramfs.c:273 disk-utils/fsck.cramfs.c:340
+#: disk-utils/fsck.cramfs.c:478 login-utils/chfn.c:529 login-utils/chsh.c:439
+#: sys-utils/cytune.c:321
+msgid "malloc failed"
+msgstr "volání malloc selhalo"
+
+#: disk-utils/fsck.cramfs.c:298
+msgid "crc error"
+msgstr "chyba CRC"
+
+#: disk-utils/fsck.cramfs.c:365
+msgid "root inode is not directory"
+msgstr "kořenový i-uzel není adresářem"
+
+#: disk-utils/fsck.cramfs.c:370
+#, c-format
+msgid "bad root offset (%lu)"
+msgstr "chybné umístění kořene (%lu)"
+
+#: disk-utils/fsck.cramfs.c:388
+msgid "data block too large"
+msgstr "příliš velký datový blok"
+
+#: disk-utils/fsck.cramfs.c:392
+#, c-format
+msgid "decompression error %p(%d): %s"
+msgstr "chyba dekomprese %p(%d): %s"
+
+#: disk-utils/fsck.cramfs.c:416
+#, c-format
+msgid "  hole at %ld (%zd)\n"
+msgstr "  díra na %ld (%zd)\n"
+
+#: disk-utils/fsck.cramfs.c:424 disk-utils/fsck.cramfs.c:596
+#, 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:430
+#, c-format
+msgid "non-block (%ld) bytes"
+msgstr "ne-blokové (%ld) bajty"
+
+#: disk-utils/fsck.cramfs.c:434
+#, c-format
+msgid "non-size (%ld vs %ld) bytes"
+msgstr "ne-velikostní (%ld místo %ld) bajty"
+
+#: disk-utils/fsck.cramfs.c:440
+#, c-format
+msgid "write failed: %s"
+msgstr "volání write selhalo: %s"
+
+#: disk-utils/fsck.cramfs.c:453
+#, c-format
+msgid "lchown failed: %s"
+msgstr "volání lchown selhalo: %s"
+
+#: disk-utils/fsck.cramfs.c:459
+#, c-format
+msgid "chown failed: %s"
+msgstr "volání chown selhalo: %s"
+
+#: disk-utils/fsck.cramfs.c:466
+#, c-format
+msgid "utime failed: %s"
+msgstr "volání utime selhalo: %s"
+
+#: disk-utils/fsck.cramfs.c:481
+#, 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:495
+#, c-format
+msgid "mkdir failed: %s"
+msgstr "volání mkdir selhalo: %s"
+
+#: disk-utils/fsck.cramfs.c:512
+msgid "filename length is zero"
+msgstr "délka jména souboru je nulová"
+
+#: disk-utils/fsck.cramfs.c:515
+msgid "bad filename length"
+msgstr "chybná délka jména souboru"
+
+#: disk-utils/fsck.cramfs.c:522
+msgid "bad inode offset"
+msgstr "chybné umístění i-uzlu"
+
+#: disk-utils/fsck.cramfs.c:538
+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:541
+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:572
+msgid "symbolic link has zero offset"
+msgstr "symbolický odkaz má nulovou pozici"
+
+#: disk-utils/fsck.cramfs.c:575
+msgid "symbolic link has zero size"
+msgstr "symbolický odkaz má nulovou velikost"
+
+#: disk-utils/fsck.cramfs.c:587
+#, c-format
+msgid "size error in symlink: %s"
+msgstr "chyba v symbolickém odkazu: %s"
+
+#: disk-utils/fsck.cramfs.c:602
+#, c-format
+msgid "symlink failed: %s"
+msgstr "volání symlink selhalo: %s"
+
+#: disk-utils/fsck.cramfs.c:614
+#, c-format
+msgid "special file has non-zero offset: %s"
+msgstr "zvláštní soubor má nenulovou pozici: %s"
+
+#: disk-utils/fsck.cramfs.c:626
+#, c-format
+msgid "fifo has non-zero size: %s"
+msgstr "FIFO má nenulovou velikost: %s"
+
+#: disk-utils/fsck.cramfs.c:632
+#, c-format
+msgid "socket has non-zero size: %s"
+msgstr "socket má nenulovou velikost: %s"
+
+#: disk-utils/fsck.cramfs.c:637
+#, c-format
+msgid "bogus mode: %s (%o)"
+msgstr "podivný mód/práva: %s (%o)"
+
+#: disk-utils/fsck.cramfs.c:647
+#, c-format
+msgid "mknod failed: %s"
+msgstr "volání mknod selhalo: %s"
+
+#: disk-utils/fsck.cramfs.c:683
+#, 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:686
+#, 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:691
+msgid "invalid file data offset"
+msgstr "chybné umístění dat souboru"
+
+#: disk-utils/fsck.cramfs.c:715
+msgid "failed to allocate outbuffer"
+msgstr "outbuffer nelze alokovat"
+
+#: disk-utils/fsck.cramfs.c:728
+msgid "compiled without -x support"
+msgstr "přeloženo bez podpory pro -x"
+
+#: disk-utils/fsck.minix.c:210
+#, c-format
+msgid "Usage: %s [-larvsmf] /dev/name\n"
+msgstr "Použití: %s [-larvsmf] NÁZEV_ZAŘÍZENÍ\n"
+
+#: disk-utils/fsck.minix.c:326
+#, c-format
+msgid "%s is mounted.\t "
+msgstr "%s je již připojeno.\t"
+
+#: disk-utils/fsck.minix.c:328
+msgid "Do you really want to continue"
+msgstr "Chcete opravdu pokračovat"
+
+#: disk-utils/fsck.minix.c:332
+#, c-format
+msgid "check aborted.\n"
+msgstr "prohlídka ukončena.\n"
+
+#: disk-utils/fsck.minix.c:351 disk-utils/fsck.minix.c:374
+#, c-format
+msgid "Zone nr < FIRSTZONE in file `%s'."
+msgstr "Číslo zóny < PRVNÍ_ZÓNA v souboru „%s“."
+
+#: disk-utils/fsck.minix.c:355 disk-utils/fsck.minix.c:378
+#, 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:360 disk-utils/fsck.minix.c:383
+msgid "Remove block"
+msgstr "Odstranit blok"
+
+#: disk-utils/fsck.minix.c:401
+#, 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:407
+#, 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:422
+#, 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:428 disk-utils/mkfs.minix.c:209
+msgid "seek failed in write_block"
+msgstr "chyba při posunu ukazovátka ve write_block"
+
+#: disk-utils/fsck.minix.c:431
+#, 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:547
+msgid "seek failed in write_super_block"
+msgstr "chyba při posunu ukazovátka ve write_super_block"
+
+#: disk-utils/fsck.minix.c:549 disk-utils/mkfs.minix.c:196
+msgid "unable to write super-block"
+msgstr "superblok nelze zapsat"
+
+#: disk-utils/fsck.minix.c:559
+msgid "Unable to write inode map"
+msgstr "mapu i-uzlů nelze zapsat"
+
+#: disk-utils/fsck.minix.c:561
+msgid "Unable to write zone map"
+msgstr "mapu zón nelze zapsat"
+
+#: disk-utils/fsck.minix.c:563
+msgid "Unable to write inodes"
+msgstr "i-uzly nelze zapsat"
+
+#: disk-utils/fsck.minix.c:590
+msgid "seek failed"
+msgstr "chyba při posunu ukazovátka"
+
+#: disk-utils/fsck.minix.c:592
+msgid "unable to read super block"
+msgstr "superblok nelze číst"
+
+#: disk-utils/fsck.minix.c:610
+msgid "bad magic number in super-block"
+msgstr "superblok obsahuje chybné magické číslo"
+
+#: disk-utils/fsck.minix.c:612
+msgid "Only 1k blocks/zones supported"
+msgstr "Podporovány jsou pouze 1kilobajtové bloky/zóny"
+
+#: disk-utils/fsck.minix.c:614
+msgid "bad s_imap_blocks field in super-block"
+msgstr "uperblok obsahuje chybnou položku s_imap_blocks"
+
+#: disk-utils/fsck.minix.c:616
+msgid "bad s_zmap_blocks field in super-block"
+msgstr "superblok obsahuje chybnou položku s_zmap_blocks"
+
+#: disk-utils/fsck.minix.c:623
+msgid "Unable to allocate buffer for inode map"
+msgstr "Buffer pro mapu i-uzlů nelze alokovat"
+
+#: disk-utils/fsck.minix.c:626
+msgid "Unable to allocate buffer for zone map"
+msgstr "Buffer pro mapu zón nelze alokovat"
+
+#: disk-utils/fsck.minix.c:631
+msgid "Unable to allocate buffer for inodes"
+msgstr "Buffer pro i-uzly nelze alokovat"
+
+#: disk-utils/fsck.minix.c:634
+msgid "Unable to allocate buffer for inode count"
+msgstr "Buffer pro počítadlo i-uzlů nelze alokovat"
+
+#: disk-utils/fsck.minix.c:637
+msgid "Unable to allocate buffer for zone count"
+msgstr "Buffer pro počítadlo zón nelze alokovat"
+
+#: disk-utils/fsck.minix.c:639
+msgid "Unable to read inode map"
+msgstr "Mapu i-uzlů nelze číst"
+
+#: disk-utils/fsck.minix.c:641
+msgid "Unable to read zone map"
+msgstr "Mapu zón nelze číst"
+
+#: disk-utils/fsck.minix.c:643
+msgid "Unable to read inodes"
+msgstr "I-uzly nelze číst"
+
+#: disk-utils/fsck.minix.c:645
+#, c-format
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr "Varování: Firstzone != Norm_firstzone\n"
+
+#: disk-utils/fsck.minix.c:650 disk-utils/mkfs.minix.c:450
+#, c-format
+msgid "%ld inodes\n"
+msgstr "i-uzlů: %ld\n"
+
+#: disk-utils/fsck.minix.c:651 disk-utils/mkfs.minix.c:451
+#, c-format
+msgid "%ld blocks\n"
+msgstr "bloků: %ld\n"
+
+#: disk-utils/fsck.minix.c:652 disk-utils/mkfs.minix.c:452
+#, c-format
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr "První_zóna_dat=%ld (%ld)\n"
+
+#: disk-utils/fsck.minix.c:653 disk-utils/mkfs.minix.c:453
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr "Velikost_zóny=%d\n"
+
+#: disk-utils/fsck.minix.c:654
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr "Maxvelikost=%ld\n"
+
+#: disk-utils/fsck.minix.c:655
+#, c-format
+msgid "Filesystem state=%d\n"
+msgstr "Stav systému souborů=%d\n"
+
+#: disk-utils/fsck.minix.c:656
+#, c-format
+msgid ""
+"namelen=%d\n"
+"\n"
+msgstr ""
+"namelen=%d\n"
+"\n"
+
+#: disk-utils/fsck.minix.c:671 disk-utils/fsck.minix.c:722
+#, 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:675 disk-utils/fsck.minix.c:726
+msgid "Mark in use"
+msgstr "Označen jako používaný"
+
+#: disk-utils/fsck.minix.c:697 disk-utils/fsck.minix.c:746
+#, c-format
+msgid "The file `%s' has mode %05o\n"
+msgstr "Typ souboru „%s“ je %05o\n"
+
+#: disk-utils/fsck.minix.c:704 disk-utils/fsck.minix.c:752
+#, 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:764 disk-utils/fsck.minix.c:772
+msgid "root inode isn't a directory"
+msgstr "root i-uzel není adresářem"
+
+#: disk-utils/fsck.minix.c:786 disk-utils/fsck.minix.c:819
+#, 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:788 disk-utils/fsck.minix.c:821
+#: disk-utils/fsck.minix.c:1144 disk-utils/fsck.minix.c:1153
+#: disk-utils/fsck.minix.c:1199 disk-utils/fsck.minix.c:1208
+msgid "Clear"
+msgstr "Smazat"
+
+#: disk-utils/fsck.minix.c:798 disk-utils/fsck.minix.c:831
+#, 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:800 disk-utils/fsck.minix.c:833
+msgid "Correct"
+msgstr "Opravit"
+
+#: disk-utils/fsck.minix.c:972 disk-utils/fsck.minix.c:1039
+#, 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:975 disk-utils/fsck.minix.c:1042
+msgid " Remove"
+msgstr " Odstranit"
+
+#: disk-utils/fsck.minix.c:989 disk-utils/fsck.minix.c:1056
+#, c-format
+msgid "%s: bad directory: '.' isn't first\n"
+msgstr "%s: chybný adresář: „.“ není první\n"
+
+#: disk-utils/fsck.minix.c:997 disk-utils/fsck.minix.c:1065
+#, c-format
+msgid "%s: bad directory: '..' isn't second\n"
+msgstr "%s: chybný adresář: „..“ není druhý\n"
+
+#: disk-utils/fsck.minix.c:1099 disk-utils/fsck.minix.c:1117
+msgid "internal error"
+msgstr "vnitřní chyba"
+
+#: disk-utils/fsck.minix.c:1102 disk-utils/fsck.minix.c:1120
+#, c-format
+msgid "%s: bad directory: size < 32"
+msgstr "%s: chybný adresář: velikost < 32"
+
+#: disk-utils/fsck.minix.c:1133
+msgid "seek failed in bad_zone"
+msgstr "chyba při posunu ukazovátka v bad_zone"
+
+#: disk-utils/fsck.minix.c:1143 disk-utils/fsck.minix.c:1198
+#, c-format
+msgid "Inode %d mode not cleared."
+msgstr "Mód I-uzlu %d není smazán."
+
+#: disk-utils/fsck.minix.c:1152 disk-utils/fsck.minix.c:1207
+#, c-format
+msgid "Inode %d not used, marked used in the bitmap."
+msgstr "I-uzel %d není používán a v bitmapě označen jako používaný."
+
+#: disk-utils/fsck.minix.c:1158 disk-utils/fsck.minix.c:1213
+#, c-format
+msgid "Inode %d used, marked unused in the bitmap."
+msgstr "I-uzel %d je používán a v bitmapě označen jako nepoužívaný."
+
+#: disk-utils/fsck.minix.c:1160 disk-utils/fsck.minix.c:1214
+msgid "Set"
+msgstr "Nastavit"
+
+#: disk-utils/fsck.minix.c:1164 disk-utils/fsck.minix.c:1218
+#, c-format
+msgid "Inode %d (mode = %07o), i_nlinks=%d, counted=%d."
+msgstr "I-uzel %d (mode = %07o), i_nlinks=%d, napočítáno=%d."
+
+#: disk-utils/fsck.minix.c:1166 disk-utils/fsck.minix.c:1220
+msgid "Set i_nlinks to count"
+msgstr "Nastavit i_nlinks na počet"
+
+#: disk-utils/fsck.minix.c:1178 disk-utils/fsck.minix.c:1232
+#, c-format
+msgid "Zone %d: marked in use, no file uses it."
+msgstr "Zóna %di: je označena jako používaná a žádné soubory ji nepoužívají."
+
+#: disk-utils/fsck.minix.c:1179 disk-utils/fsck.minix.c:1234
+msgid "Unmark"
+msgstr "Odznačit"
+
+#: disk-utils/fsck.minix.c:1184 disk-utils/fsck.minix.c:1239
+#, c-format
+msgid "Zone %d: in use, counted=%d\n"
+msgstr "Zóna %d: je používaná, napočítáno=%d\n"
+
+#: disk-utils/fsck.minix.c:1187 disk-utils/fsck.minix.c:1242
+#, c-format
+msgid "Zone %d: not in use, counted=%d\n"
+msgstr "Zóna %d: není používaná, napočítáno=%d\n"
+
+#: disk-utils/fsck.minix.c:1287 disk-utils/mkfs.minix.c:576
+#: disk-utils/mkfs.minix.c:578
+msgid "bad inode size"
+msgstr "chybná velikost i-uzlu"
+
+#: disk-utils/fsck.minix.c:1289
+msgid "bad v2 inode size"
+msgstr "chybná velikost v2 i-uzlu"
+
+#: disk-utils/fsck.minix.c:1315
+msgid "need terminal for interactive repairs"
+msgstr "opravy s účastí uživatele vyžadují terminál"
+
+#: disk-utils/fsck.minix.c:1319
+#, c-format
+msgid "unable to open '%s': %s"
+msgstr "„%s“ nelze otevřít: %s"
+
+#: disk-utils/fsck.minix.c:1334
+#, c-format
+msgid "%s is clean, no check.\n"
+msgstr "%s je čisté, ověřování vynecháno.\n"
+
+#: disk-utils/fsck.minix.c:1338
+#, c-format
+msgid "Forcing filesystem check on %s.\n"
+msgstr "Kontrola systému souborů na %s vynucena.\n"
+
+#: disk-utils/fsck.minix.c:1340
+#, 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:1373
+#, c-format
+msgid ""
+"\n"
+"%6ld inodes used (%ld%%)\n"
+msgstr ""
+"\n"
+"používaných i-uzlů: %6ld (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1378
+#, c-format
+msgid "%6ld zones used (%ld%%)\n"
+msgstr "používaných zón: %6ld (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1380
+#, 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:1393
+#, 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 "%s: failed to open: %s\n"
+msgstr "%s: %s nelze otevřít\n"
+
+#: disk-utils/isosize.c:135
+#, c-format
+msgid "%s: seek error on %s\n"
+msgstr "%s: chyba zápisu na %s\n"
+
+#: disk-utils/isosize.c:141
+#, c-format
+msgid "%s: read error on %s\n"
+msgstr "%s: chyba zápisu na %s\n"
+
+#: disk-utils/isosize.c:150
+#, c-format
+msgid "sector count: %d, sector size: %d\n"
+msgstr "počet sektorů: %d, velikost sektoru: %d\n"
+
+#: disk-utils/isosize.c:200
+#, c-format
+msgid "%s: option parse error\n"
+msgstr "%s: chyba při analýze přepínačů\n"
+
+#: disk-utils/isosize.c:208
+#, c-format
+msgid "Usage: %s [-x] [-d <num>] iso9660-image\n"
+msgstr "Použití: %s [-x] [-d <num>] iso9660-obraz\n"
+
+#: disk-utils/mkfs.bfs.c:84
+#, c-format
+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"
+
+#: disk-utils/mkfs.bfs.c:131
+msgid "volume name too long"
+msgstr "název svazku je příliš dlouhý"
+
+#: disk-utils/mkfs.bfs.c:138
+msgid "fsname name too long"
+msgstr "název ss je příliš dlouhý"
+
+#: disk-utils/mkfs.bfs.c:163
+#, c-format
+msgid "cannot stat device %s"
+msgstr "volání stat pro zařízení %s selhalo"
+
+#: disk-utils/mkfs.bfs.c:167
+#, c-format
+msgid "%s is not a block special device"
+msgstr "%s není blokovým zařízením"
+
+#: disk-utils/mkfs.bfs.c:172 sys-utils/ldattach.c:205
+#, c-format
+msgid "cannot open %s"
+msgstr "%s nelze otevřít"
+
+#: disk-utils/mkfs.bfs.c:183
+#, c-format
+msgid "cannot get size of %s"
+msgstr "nelze zjistit velikost %s"
+
+#: disk-utils/mkfs.bfs.c:188
+#, 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:203
+msgid "too many inodes - max is 512"
+msgstr "příliš mnoho i-uzlů – maximum je 512"
+
+#: disk-utils/mkfs.bfs.c:212
+#, 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:224 fdisk/fdisk.c:2345
+#, c-format
+msgid "Device: %s\n"
+msgstr "Zařízení: %s\n"
+
+#: disk-utils/mkfs.bfs.c:225
+#, c-format
+msgid "Volume: <%-6s>\n"
+msgstr "Svazek: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:226
+#, c-format
+msgid "FSname: <%-6s>\n"
+msgstr "NázevSS: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:227
+#, c-format
+msgid "BlockSize: %d\n"
+msgstr "VelikostBloku: %d\n"
+
+#: disk-utils/mkfs.bfs.c:229
+#, c-format
+msgid "Inodes: %d (in 1 block)\n"
+msgstr "Počet i-uzlů: %d (v 1 bloku)\n"
+
+#: disk-utils/mkfs.bfs.c:232
+#, c-format
+msgid "Inodes: %d (in %lld blocks)\n"
+msgstr "I-uzlů: %d (v %lld blocích)\n"
+
+#: disk-utils/mkfs.bfs.c:234
+#, c-format
+msgid "Blocks: %lld\n"
+msgstr "Bloků: %lld\n"
+
+#: disk-utils/mkfs.bfs.c:235
+#, c-format
+msgid "Inode end: %d, Data end: %d\n"
+msgstr "Konec i-uzlů: %d, Konec dat: %d\n"
+
+#: disk-utils/mkfs.bfs.c:240
+msgid "error writing superblock"
+msgstr "chyba při zápisu superbloku"
+
+#: disk-utils/mkfs.bfs.c:260
+msgid "error writing root inode"
+msgstr "chyba při zápisu kořenového i-uzlu"
+
+#: disk-utils/mkfs.bfs.c:265
+msgid "error writing inode"
+msgstr "chyba při zápisu i-uzlu"
+
+#: disk-utils/mkfs.bfs.c:268
+msgid "seek error"
+msgstr "volání seek selhalo"
+
+#: disk-utils/mkfs.bfs.c:274
+msgid "error writing . entry"
+msgstr "chyba při zápisu . položky"
+
+#: disk-utils/mkfs.bfs.c:278
+msgid "error writing .. entry"
+msgstr "chyba při zápisu .. položky"
+
+#: disk-utils/mkfs.bfs.c:282
+#, c-format
+msgid "error closing %s"
+msgstr "Chyba při zavírání %s"
+
+#: disk-utils/mkfs.c:73
+#, c-format
+msgid "Usage: mkfs [-V] [-t fstype] [fs-options] device [size]\n"
+msgstr "Použití: mkfs [-V] [-t sstyp] [ss-volby] zařízení [velikost]\n"
+
+#: disk-utils/mkfs.c:88 disk-utils/mkfs.c:96 fdisk/cfdisk.c:351
+#: getopt/getopt.c:86 getopt/getopt.c:96 login-utils/wall.c:246
+#, c-format
+msgid "%s: Out of memory!\n"
+msgstr "%s: Nedostatek paměti!\n"
+
+#: disk-utils/mkfs.c:103
+#, c-format
+msgid "mkfs (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: disk-utils/mkfs.cramfs.c:126
+#, 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 bootovacímu kódu\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:340
+#, c-format
+msgid ""
+"Very long (%zu bytes) filename `%s' found.\n"
+" Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile.  Exiting.\n"
+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čím.\n"
+
+#: disk-utils/mkfs.cramfs.c:472
+#, c-format
+msgid "filesystem too big.  Exiting.\n"
+msgstr "Souborový systém je příliš velký. Končím.\n"
+
+#: disk-utils/mkfs.cramfs.c:637
+#, 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:656
+#, c-format
+msgid "%6.2f%% (%+ld bytes)\t%s\n"
+msgstr "%6.2f%% (%+ld bytů)\t%s\n"
+
+#: disk-utils/mkfs.cramfs.c:854
+#, c-format
+msgid ""
+"warning: guestimate of required size (upper bound) is %lldMB, but maximum "
+"image size is %uMB.  We might die prematurely.\n"
+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ě.\n"
+
+#: disk-utils/mkfs.cramfs.c:881
+msgid "ROM image map"
+msgstr "Mapa obrazu ROM"
+
+#: disk-utils/mkfs.cramfs.c:895
+#, c-format
+msgid "Including: %s\n"
+msgstr "Zahrnuji: %s\n"
+
+#: disk-utils/mkfs.cramfs.c:901
+#, c-format
+msgid "Directory data: %zd bytes\n"
+msgstr "Adresářová data: %zd bajtů\n"
+
+#: disk-utils/mkfs.cramfs.c:909
+#, c-format
+msgid "Everything: %zd kilobytes\n"
+msgstr "Celkem: %zd kilobajtů\n"
+
+#: disk-utils/mkfs.cramfs.c:914
+#, c-format
+msgid "Super block: %zd bytes\n"
+msgstr "Superblok: %zd bajtů\n"
+
+#: disk-utils/mkfs.cramfs.c:921
+#, c-format
+msgid "CRC: %x\n"
+msgstr "CRC: %x\n"
+
+#: disk-utils/mkfs.cramfs.c:926
+#, c-format
+msgid "not enough space allocated for ROM image (%lld allocated, %zu used)\n"
+msgstr ""
+"Pro obraz ROM nepřidělen dostatek prostoru (%lld přiděleno, %zu použito)\n"
+
+#: disk-utils/mkfs.cramfs.c:934
+msgid "ROM image"
+msgstr "Obraz ROM"
+
+#: disk-utils/mkfs.cramfs.c:938
+#, c-format
+msgid "ROM image write failed (%zd %zd)\n"
+msgstr "Zápis obrazu ROM selhal (%zd %zd)\n"
+
+#: disk-utils/mkfs.cramfs.c:947
+#, c-format
+msgid "warning: filenames truncated to 255 bytes.\n"
+msgstr "varování: jména souborů zkrácena na 256 bajtů.\n"
+
+#: disk-utils/mkfs.cramfs.c:950
+#, c-format
+msgid "warning: files were skipped due to errors.\n"
+msgstr "varování: soubory byly přeskočeny kvůli chybám.\n"
+
+#: disk-utils/mkfs.cramfs.c:953
+#, c-format
+msgid "warning: file sizes truncated to %luMB (minus 1 byte).\n"
+msgstr "varování: velikosti souboru zkráceny na %'lu MB (mínus 1 bajt).\n"
+
+#: disk-utils/mkfs.cramfs.c:958
+#, c-format
+msgid ""
+"warning: uids truncated to %u bits.  (This may be a security concern.)\n"
+msgstr "varování: UID zkrácena na %u bitů. (Může mít dopad na bezpečnost.)\n"
+
+#: disk-utils/mkfs.cramfs.c:963
+#, c-format
+msgid ""
+"warning: gids truncated to %u bits.  (This may be a security concern.)\n"
+msgstr "varování: GID zkrácena na %u bitů. (Může mít dopad na bezpečnost.)\n"
+
+#: disk-utils/mkfs.cramfs.c:968
+#, c-format
+msgid ""
+"WARNING: device numbers truncated to %u bits.  This almost certainly means\n"
+"that some device files will be wrong.\n"
+msgstr ""
+"VAROVÁNÍ: čísla zařízení zkrácena na %u bitů. Toto jistě znamená, že "
+"některé\n"
+"soubory zařízení budou špatné.\n"
+
+#: disk-utils/mkfs.minix.c:156
+#, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]\n"
+msgstr "Použití: %s [ -n ] [-c | -l soubor] [-nXX] [-iXX] /dev/název [bloky]\n"
+
+#: disk-utils/mkfs.minix.c:180
+#, 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:190
+msgid "seek to boot block failed in write_tables"
+msgstr "chyba při posunu ukazovátka na startovací blok ve write_tables"
+
+#: disk-utils/mkfs.minix.c:192
+msgid "unable to clear boot sector"
+msgstr "startovací blok nelze smazat"
+
+#: disk-utils/mkfs.minix.c:194
+msgid "seek failed in write_tables"
+msgstr "chyba při posunu ukazovátka ve write_tables"
+
+#: disk-utils/mkfs.minix.c:198
+msgid "unable to write inode map"
+msgstr "mapu i-uzlů nelze zapsat"
+
+#: disk-utils/mkfs.minix.c:200
+msgid "unable to write zone map"
+msgstr "mapu zón nelze zapsat"
+
+#: disk-utils/mkfs.minix.c:202
+msgid "unable to write inodes"
+msgstr "i-uzly nelze zapsat"
+
+#: disk-utils/mkfs.minix.c:211
+msgid "write failed in write_block"
+msgstr "chyba při zápisu ve write_block"
+
+#: disk-utils/mkfs.minix.c:219 disk-utils/mkfs.minix.c:293
+#: disk-utils/mkfs.minix.c:342
+msgid "too many bad blocks"
+msgstr "příliš mnoho chybných bloků"
+
+#: disk-utils/mkfs.minix.c:227
+msgid "not enough good blocks"
+msgstr "nedostatek korektních bloků"
+
+#: disk-utils/mkfs.minix.c:439
+msgid "unable to allocate buffers for maps"
+msgstr "buffery pro mapy nelze alokovat"
+
+#: disk-utils/mkfs.minix.c:448
+msgid "unable to allocate buffer for inodes"
+msgstr "buffery pro i-uzly nelze alokovat"
+
+#: disk-utils/mkfs.minix.c:454
+#, c-format
+msgid ""
+"Maxsize=%ld\n"
+"\n"
+msgstr ""
+"Maxvelikost=%ld\n"
+"\n"
+
+#: disk-utils/mkfs.minix.c:468
+msgid "seek failed during testing of blocks"
+msgstr "chyba při posunu ukazovátka v průběhu kontroly bloků"
+
+#: disk-utils/mkfs.minix.c:476
+#, 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:507 disk-utils/mkswap.c:313
+msgid "seek failed in check_blocks"
+msgstr "chyba při posunu ukazovátka v check_blocks"
+
+#: disk-utils/mkfs.minix.c:516
+msgid "bad blocks before data-area: cannot make fs"
+msgstr "chybné bloky před datovou oblastí: systém souborů nelze vytvořit"
+
+#: disk-utils/mkfs.minix.c:522 disk-utils/mkfs.minix.c:547
+#, c-format
+msgid "%d bad blocks\n"
+msgstr "chybných bloků: %d\n"
+
+#: disk-utils/mkfs.minix.c:524 disk-utils/mkfs.minix.c:549
+#, c-format
+msgid "one bad block\n"
+msgstr "chybných bloků: 1\n"
+
+#: disk-utils/mkfs.minix.c:534
+msgid "can't open file of bad blocks"
+msgstr "soubor chybných bloků nelze otevřít"
+
+#: disk-utils/mkfs.minix.c:538
+#, 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:539
+msgid "cannot read badblocks file"
+msgstr "soubor s chybnými bloky nelze přečíst"
+
+#: disk-utils/mkfs.minix.c:619
+#, c-format
+msgid "strtol error: number of blocks not specified"
+msgstr "chyba strtol: počet bloků nebyl zadán"
+
+#: disk-utils/mkfs.minix.c:638
+#, c-format
+msgid "unable to stat %s"
+msgstr "o %s nelze získat informace"
+
+#: disk-utils/mkfs.minix.c:644
+#, c-format
+msgid "unable to open %s"
+msgstr "%s nelze otevřít"
+
+#: disk-utils/mkfs.minix.c:649
+#, c-format
+msgid "cannot determine sector size for %s"
+msgstr "nelze zjistit velikost sektoru %s"
+
+#: disk-utils/mkfs.minix.c:651
+#, 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:654
+#, c-format
+msgid "cannot determine size of %s"
+msgstr "nelze zjistit velikost %s"
+
+#: disk-utils/mkfs.minix.c:662
+#, c-format
+msgid "will not try to make filesystem on '%s'"
+msgstr "nebudu se pokoušet vytvořit systém souborů na „%s“"
+
+#: disk-utils/mkfs.minix.c:664
+msgid "number of blocks too small"
+msgstr "počet bloků je příliš malý"
+
+#: disk-utils/mkswap.c:155
+#, c-format
+msgid "Bad user-specified page size %d\n"
+msgstr "Zadaná velikost stránky (%d) je chybná.\n"
+
+#: disk-utils/mkswap.c:163
+#, c-format
+msgid "Using user-specified page size %d, instead of the system value %d\n"
+msgstr "Používám zadanou velikost stránky %d místo systémové hodnoty %d\n"
+
+#: disk-utils/mkswap.c:192
+#, c-format
+msgid "Bad swap header size, no label written.\n"
+msgstr "Chybná velikost hlavičky odkládacího souboru, jmenovka nezapsána.\n"
+
+#: disk-utils/mkswap.c:202
+#, c-format
+msgid "Label was truncated.\n"
+msgstr "Jmenovka byla zkrácena.\n"
+
+#: disk-utils/mkswap.c:208
+#, c-format
+msgid "no label, "
+msgstr "žádná jmenovka, "
+
+#: disk-utils/mkswap.c:216
+#, c-format
+msgid "no uuid\n"
+msgstr "žádné UUID\n"
+
+#: disk-utils/mkswap.c:281
+#, c-format
+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"
+
+#: disk-utils/mkswap.c:295
+msgid "too many bad pages"
+msgstr "příliš mnoho chybných stránek"
+
+#: disk-utils/mkswap.c:308 misc-utils/look.c:182 misc-utils/setterm.c:1183
+#: text-utils/more.c:1982 text-utils/more.c:1993
+msgid "Out of memory"
+msgstr "Nedostatek paměti"
+
+#: disk-utils/mkswap.c:319
+#, c-format
+msgid "one bad page\n"
+msgstr "chybných stránek: 1\n"
+
+#: disk-utils/mkswap.c:321
+#, c-format
+msgid "%lu bad pages\n"
+msgstr "chybných stránek: %lu\n"
+
+#: disk-utils/mkswap.c:399 disk-utils/mkswap.c:415 disk-utils/mkswap.c:633
+msgid "unable to rewind swap-device"
+msgstr "odkládací prostor nelze převinout"
+
+#: disk-utils/mkswap.c:419
+msgid "unable to erase bootbits sectors"
+msgstr "zaváděcí bloky nelze smazat"
+
+#: disk-utils/mkswap.c:423
+#, c-format
+msgid "%s: %s: warning: don't erase bootbits sectors\n"
+msgstr "%s: %s: varování: nemažte zaváděcí sektory\n"
+
+# Continuation of previous message
+#: disk-utils/mkswap.c:426
+#, c-format
+msgid "        (%s partition table detected). "
+msgstr "        (nalezena tabulka rozdělení disku typu %s). "
+
+# Alternate continuation of previous message
+#: disk-utils/mkswap.c:428
+#, c-format
+msgid "        on whole disk. "
+msgstr "        na celém disku. "
+
+#: disk-utils/mkswap.c:498
+#, c-format
+msgid "%1$s: warning: ignore -U (UUIDs are unsupported by %1$s)\n"
+msgstr "%1$s: varování: ignoruji -U (%1$s nepodporuje UUID)\n"
+
+#: disk-utils/mkswap.c:514
+#, c-format
+msgid "%s: does not support swapspace version %d.\n"
+msgstr "%s: nepodporuje odkládací prostor verze %d.\n"
+
+#: disk-utils/mkswap.c:522
+msgid "error: UUID parsing failed"
+msgstr "chyba: rozbor UUID selhal"
+
+#: disk-utils/mkswap.c:533
+#, c-format
+msgid "%s: error: Nowhere to set up swap on?\n"
+msgstr "%s: chyba: Kde mám vytvořit odkládací prostor?\n"
+
+#: disk-utils/mkswap.c:551
+#, c-format
+msgid "%s: error: size %llu KiB is larger than device size %llu KiB\n"
+msgstr "%s: chyba: velikost %llu KiB je větší než velikost zařízení %llu KiB\n"
+
+#: disk-utils/mkswap.c:560
+#, c-format
+msgid "%s: error: swap area needs to be at least %ld KiB\n"
+msgstr "%s: chyba: odkládacího prostor potřebuje aspoň %ld KiB\n"
+
+#: disk-utils/mkswap.c:577
+#, c-format
+msgid "%s: warning: truncating swap area to %llu KiB\n"
+msgstr "%s: varování: zkracuji odkládací prostor na %llu KiB\n"
+
+#: disk-utils/mkswap.c:600
+#, c-format
+msgid "%s: error: will not try to make swapdevice on '%s'\n"
+msgstr "%s: chyba: Nebudu se pokoušet vytvořit odkládací zařízení na „%s“\n"
+
+#: disk-utils/mkswap.c:606
+#, c-format
+msgid "%s: error: %s is mounted; will not make swapspace.\n"
+msgstr "%s: chyba: %s je připojeno; odkládací prostor zde nevytvořím.\n"
+
+#: disk-utils/mkswap.c:622
+msgid "Unable to set up swap-space: unreadable"
+msgstr "Odkládací prostor nelze nastavit: nečitelné"
+
+#: disk-utils/mkswap.c:625
+#, 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:636
+#, c-format
+msgid "%s: %s: unable to write signature page: %s"
+msgstr "%s: %s: stránku se signaturou nelze zapsat: %s"
+
+#: disk-utils/mkswap.c:647
+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:658
+#, c-format
+msgid "%s: %s: unable to obtain selinux file label: %s\n"
+msgstr "%s: %s: nelze získat selinuxovou značku souboru: %s\n"
+
+#: disk-utils/mkswap.c:664
+msgid "unable to matchpathcon()"
+msgstr "matchpathcon() nelze provést"
+
+#: disk-utils/mkswap.c:667
+msgid "unable to create new selinux context"
+msgstr "nový kontext selinuxu nelze vytvořit"
+
+#: disk-utils/mkswap.c:669
+msgid "couldn't compute selinux context"
+msgstr "nedokáži vypočíst kontext selinuxu"
+
+#: disk-utils/mkswap.c:675
+#, c-format
+msgid "%s: unable to relabel %s to %s: %s\n"
+msgstr "%s nelze změnit jmenovku z %s na %s: %s\n"
+
+#: disk-utils/raw.c:50
+#, c-format
+msgid ""
+"Usage:\n"
+"  %s "
+msgstr ""
+"Použití:\n"
+"  %s "
+
+#: disk-utils/raw.c:125
+#, c-format
+msgid ""
+"Device '%s' is control raw dev (use raw<N> where <N> is greater than zero)\n"
+msgstr ""
+"Zařízení „%s“ je řídicí syrové zařízení (použijte raw<N>, kde <N> je větší "
+"než nula)\n"
+
+#: disk-utils/raw.c:145
+#, c-format
+msgid "Cannot locate block device '%s' (%s)\n"
+msgstr "Blokové zařízení „%s“ nelze nalézt (%s)\n"
+
+#: disk-utils/raw.c:151
+#, c-format
+msgid "Device '%s' is not a block dev\n"
+msgstr "Zařízení „%s“ není blokovým zařízením\n"
+
+#: disk-utils/raw.c:186
+#, c-format
+msgid "Cannot open master raw device '"
+msgstr "Hlavní syrové zařízení nelze otevřít „"
+
+#: disk-utils/raw.c:205
+#, c-format
+msgid "Cannot locate raw device '%s' (%s)\n"
+msgstr "Syrové zařízení „%s“ nelze nalézt (%s)\n"
+
+#: disk-utils/raw.c:211
+#, c-format
+msgid "Raw device '%s' is not a character dev\n"
+msgstr "Syrové zařízení „%s“ není znak znakovým zařízením\n"
+
+#: disk-utils/raw.c:216
+#, c-format
+msgid "Device '%s' is not a raw dev\n"
+msgstr "Zařízení „%s“ není syrovým zařízením\n"
+
+#: disk-utils/raw.c:231
+#, c-format
+msgid "Error querying raw device (%s)\n"
+msgstr "Chyba při dotazování se na syrové zařízené (%s)\n"
+
+#: disk-utils/raw.c:241 disk-utils/raw.c:261
+#, c-format
+msgid "raw%d:\tbound to major %d, minor %d\n"
+msgstr "raw%d:\tnapojeno na hlavní %d, vedlejší %d\n"
+
+#: disk-utils/raw.c:257
+#, c-format
+msgid "Error setting raw device (%s)\n"
+msgstr "Chyba při nastavování syrového zařízení (%s)\n"
+
+#: fdisk/cfdisk.c:376 fdisk/cfdisk.c:2080
+msgid "Unusable"
+msgstr "Nepoužitelné"
+
+#: fdisk/cfdisk.c:378 fdisk/cfdisk.c:2082
+msgid "Free Space"
+msgstr "Volný prostor"
+
+#: fdisk/cfdisk.c:381
+msgid "Linux ext2"
+msgstr "Linux ext2"
+
+#: fdisk/cfdisk.c:383
+msgid "Linux ext3"
+msgstr "Linux ext3"
+
+#: fdisk/cfdisk.c:385
+msgid "Linux XFS"
+msgstr "Linux XFS"
+
+#: fdisk/cfdisk.c:387
+msgid "Linux JFS"
+msgstr "Linux JFS"
+
+#: fdisk/cfdisk.c:389
+msgid "Linux ReiserFS"
+msgstr "Linux ReiserFS"
+
+#: fdisk/cfdisk.c:391 fdisk/i386_sys_types.c:57
+msgid "Linux"
+msgstr "Linux"
+
+#: fdisk/cfdisk.c:394
+msgid "OS/2 HPFS"
+msgstr "OS/2 HPFS"
+
+#: fdisk/cfdisk.c:396
+msgid "OS/2 IFS"
+msgstr "OS/2 IFS"
+
+#: fdisk/cfdisk.c:400
+msgid "NTFS"
+msgstr "NTFS"
+
+#: fdisk/cfdisk.c:411
+#, c-format
+msgid "Disk has been changed.\n"
+msgstr "Na disku byly provedeny změny.\n"
+
+#: fdisk/cfdisk.c:413
+#, 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"
+
+#: fdisk/cfdisk.c:417
+#, 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řil či změnil nějaké\n"
+"DOS 6.x diskové oddíly, přečtěte si prosím manuál\n"
+"programu cfdisk, abyste získal dodatečné informace.\n"
+
+#: fdisk/cfdisk.c:512
+msgid "FATAL ERROR"
+msgstr "OSUDOVÁ CHYBA"
+
+#: fdisk/cfdisk.c:513
+msgid "Press any key to exit cfdisk"
+msgstr "Stiskněte jakoukoliv klávesu pro ukončení programu cfdisk"
+
+#: fdisk/cfdisk.c:560 fdisk/cfdisk.c:568
+msgid "Cannot seek on disk drive"
+msgstr "Nelze posunout ukazovátko na disku"
+
+#: fdisk/cfdisk.c:562
+msgid "Cannot read disk drive"
+msgstr "Z disku nelze číst"
+
+#: fdisk/cfdisk.c:570
+msgid "Cannot write disk drive"
+msgstr "Nelze zapisovat na disk"
+
+#: fdisk/cfdisk.c:913
+msgid "Too many partitions"
+msgstr "příliš mnoho diskových oddílů"
+
+#: fdisk/cfdisk.c:918
+msgid "Partition begins before sector 0"
+msgstr "Diskový oddíl začíná před sektorem 0"
+
+#: fdisk/cfdisk.c:923
+msgid "Partition ends before sector 0"
+msgstr "Diskový oddíl končí před sektorem 0"
+
+#: fdisk/cfdisk.c:928
+msgid "Partition begins after end-of-disk"
+msgstr "Diskový oddíl začíná za koncem disku"
+
+#: fdisk/cfdisk.c:933
+msgid "Partition ends after end-of-disk"
+msgstr "Diskový oddíl končí za koncem disku"
+
+#: fdisk/cfdisk.c:938
+msgid "Partition ends in the final partial cylinder"
+msgstr "Diskový oddíl končí v posledním částečném cylindru"
+
+#: fdisk/cfdisk.c:962
+msgid "logical partitions not in disk order"
+msgstr "logické diskový oddíl jsou chybně seřazeny"
+
+#: fdisk/cfdisk.c:965
+msgid "logical partitions overlap"
+msgstr "logické diskové oddíly se vzájemně překrývají"
+
+#: fdisk/cfdisk.c:969
+msgid "enlarged logical partitions overlap"
+msgstr "zvětšené logické diskové oddíly se vzájemně překrývají"
+
+#: fdisk/cfdisk.c:999
+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 diskových "
+"oddílů !!!!"
+
+#: fdisk/cfdisk.c:1010 fdisk/cfdisk.c:1022
+msgid ""
+"Cannot create logical drive here -- would create two extended partitions"
+msgstr ""
+"Zde nelze vytvořit logický disk -- vznikly by dva rozšířené diskové oddíly"
+
+#: fdisk/cfdisk.c:1164
+msgid "Menu item too long. Menu may look odd."
+msgstr "Položka nabídky je příliš dlouhá. Nabídka může vypadat podivně."
+
+#: fdisk/cfdisk.c:1220
+msgid "Menu without direction. Defaulting to horizontal."
+msgstr "Nabídka beze směru. Používám vodorovný."
+
+#: fdisk/cfdisk.c:1351
+msgid "Illegal key"
+msgstr "Chybná klávesa"
+
+#: fdisk/cfdisk.c:1374
+msgid "Press a key to continue"
+msgstr "Stiskněte klávesu pro pokračování"
+
+#: fdisk/cfdisk.c:1421 fdisk/cfdisk.c:2051 fdisk/cfdisk.c:2583
+#: fdisk/cfdisk.c:2585
+msgid "Primary"
+msgstr "Primární"
+
+#: fdisk/cfdisk.c:1421
+msgid "Create a new primary partition"
+msgstr "Vytvořit nový primární diskový oddíl"
+
+#: fdisk/cfdisk.c:1422 fdisk/cfdisk.c:2051 fdisk/cfdisk.c:2582
+#: fdisk/cfdisk.c:2585
+msgid "Logical"
+msgstr "Logický"
+
+#: fdisk/cfdisk.c:1422
+msgid "Create a new logical partition"
+msgstr "Vytvořit nový logický diskový oddíl"
+
+#: fdisk/cfdisk.c:1423 fdisk/cfdisk.c:1478 fdisk/cfdisk.c:2256
+msgid "Cancel"
+msgstr "Zrušit"
+
+#: fdisk/cfdisk.c:1423 fdisk/cfdisk.c:1478
+msgid "Don't create a partition"
+msgstr "Nevytvářet diskový oddíl"
+
+#: fdisk/cfdisk.c:1439
+msgid "!!! Internal error !!!"
+msgstr "!!! Vnitřní chyba !!!"
+
+#: fdisk/cfdisk.c:1442
+msgid "Size (in MB): "
+msgstr "Velikost (v MB): "
+
+#: fdisk/cfdisk.c:1476
+msgid "Beginning"
+msgstr "Začátek"
+
+#: fdisk/cfdisk.c:1476
+msgid "Add partition at beginning of free space"
+msgstr "Vytvořit diskový oddíl na začátku volného prostoru"
+
+#: fdisk/cfdisk.c:1477
+msgid "End"
+msgstr "Konec"
+
+#: fdisk/cfdisk.c:1477
+msgid "Add partition at end of free space"
+msgstr "Vytvořit diskový oddíl na konci volného prostoru"
+
+#: fdisk/cfdisk.c:1495
+msgid "No room to create the extended partition"
+msgstr "Pro rozšířený diskový oddíl není dostatek místa"
+
+#: fdisk/cfdisk.c:1569
+msgid "No partition table.\n"
+msgstr "Nebyla nalezena žádná tabulka rozdělení disku.\n"
+
+#: fdisk/cfdisk.c:1573
+msgid "No partition table. Starting with zero table."
+msgstr "Chybí tabulka rozdělení disku. Začínám s prázdnou tabulkou."
+
+#: fdisk/cfdisk.c:1583
+msgid "Bad signature on partition table"
+msgstr "Chybná signatura tabulky rozdělení disku"
+
+#: fdisk/cfdisk.c:1587
+msgid "Unknown partition table type"
+msgstr "Neznámý typ tabulky rozdělení disku"
+
+#: fdisk/cfdisk.c:1589
+msgid "Do you wish to start with a zero table [y/N] ?"
+msgstr "Přejete si začít s prázdnou tabulkou [a/N]?"
+
+#: fdisk/cfdisk.c:1637
+msgid "You specified more cylinders than fit on disk"
+msgstr "Zadal jste větší počet cylindrů, než se vejde na disk."
+
+#: fdisk/cfdisk.c:1669
+msgid "Cannot open disk drive"
+msgstr "Disk nelze otevřít"
+
+#: fdisk/cfdisk.c:1671 fdisk/cfdisk.c:1860
+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"
+
+#: fdisk/cfdisk.c:1682
+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."
+
+#: fdisk/cfdisk.c:1701
+msgid "Cannot get disk size"
+msgstr "Velikost disku nelze zjistit"
+
+#: fdisk/cfdisk.c:1727
+msgid "Bad primary partition"
+msgstr "Chybný primární diskový oddíl"
+
+#: fdisk/cfdisk.c:1757
+msgid "Bad logical partition"
+msgstr "Chybný logický diskový oddíl"
+
+#: fdisk/cfdisk.c:1872
+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!"
+
+#: fdisk/cfdisk.c:1876
+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): "
+
+#: fdisk/cfdisk.c:1882
+msgid "no"
+msgstr "ne"
+
+#: fdisk/cfdisk.c:1884
+msgid "Did not write partition table to disk"
+msgstr "Tabulka rozdělení disku nebyla uložena"
+
+#: fdisk/cfdisk.c:1886
+msgid "yes"
+msgstr "ano"
+
+#: fdisk/cfdisk.c:1890
+msgid "Please enter `yes' or `no'"
+msgstr "Zadejte „ano“ či „ne“"
+
+#: fdisk/cfdisk.c:1894
+msgid "Writing partition table to disk..."
+msgstr "Ukládám tabulku rozdělení disku na disk…"
+
+#: fdisk/cfdisk.c:1921 fdisk/cfdisk.c:1925
+msgid "Wrote partition table to disk"
+msgstr "Tabulka rozdělení disku byla uložena na disk"
+
+#: fdisk/cfdisk.c:1923
+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."
+
+#: fdisk/cfdisk.c:1933
+msgid "No primary partitions are marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"Žádný primární diskový oddíl není startovací. DOS MBR takto nenastartuje."
+
+#: fdisk/cfdisk.c:1935
+msgid ""
+"More than one primary partition is marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"Více než 1 primární diskový oddíl je startovací. DOS MBR takto nenastartuje."
+
+#: fdisk/cfdisk.c:1993 fdisk/cfdisk.c:2112 fdisk/cfdisk.c:2196
+msgid "Enter filename or press RETURN to display on screen: "
+msgstr "Zadejte název souboru či stiskněte RETURN pro zobrazení: "
+
+#: fdisk/cfdisk.c:2002 fdisk/cfdisk.c:2120 fdisk/cfdisk.c:2204
+#, c-format
+msgid "Cannot open file '%s'"
+msgstr "Soubor „%s“ nelze otevřít"
+
+#: fdisk/cfdisk.c:2013
+#, c-format
+msgid "Disk Drive: %s\n"
+msgstr "Disk: %s\n"
+
+#: fdisk/cfdisk.c:2015
+msgid "Sector 0:\n"
+msgstr "Sektor 0:\n"
+
+#: fdisk/cfdisk.c:2022
+#, c-format
+msgid "Sector %d:\n"
+msgstr "Sektor %d:\n"
+
+#: fdisk/cfdisk.c:2042
+msgid "   None   "
+msgstr "  Žádný  "
+
+#: fdisk/cfdisk.c:2044
+msgid "   Pri/Log"
+msgstr "  Pri/Log"
+
+#: fdisk/cfdisk.c:2046
+msgid "   Primary"
+msgstr "  Primární"
+
+#: fdisk/cfdisk.c:2048
+msgid "   Logical"
+msgstr "  Logický"
+
+#: fdisk/cfdisk.c:2086 fdisk/fdisk.c:1534 fdisk/fdisk.c:1855
+#: fdisk/fdisksgilabel.c:240 fdisk/fdisksunlabel.c:621 fdisk/sfdisk.c:653
+msgid "Unknown"
+msgstr "Neznámý"
+
+#: fdisk/cfdisk.c:2092 fdisk/cfdisk.c:2560 fdisk/fdisksunlabel.c:44
+msgid "Boot"
+msgstr "Zaveditelný"
+
+#: fdisk/cfdisk.c:2094
+#, c-format
+msgid "(%02X)"
+msgstr "(%02X)"
+
+#: fdisk/cfdisk.c:2096
+msgid "None"
+msgstr "Nic"
+
+#: fdisk/cfdisk.c:2131 fdisk/cfdisk.c:2215
+#, c-format
+msgid "Partition Table for %s\n"
+msgstr "Tabulka rozdělení disku pro %s\n"
+
+#: fdisk/cfdisk.c:2133
+msgid "               First       Last\n"
+msgstr "             První       Poslední\n"
+
+#: fdisk/cfdisk.c:2134
+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"
+
+#: fdisk/cfdisk.c:2135
+msgid ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+msgstr ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+
+#: fdisk/cfdisk.c:2218
+msgid "         ---Starting----      ----Ending-----    Start     Number of\n"
+msgstr "         ----Počátek----      -----Konec-----  Počáteční    Počet\n"
+
+#: fdisk/cfdisk.c:2219
+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"
+
+#: fdisk/cfdisk.c:2220
+msgid "-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+msgstr ""
+"-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+
+#: fdisk/cfdisk.c:2253
+msgid "Raw"
+msgstr "Přímý"
+
+#: fdisk/cfdisk.c:2253
+msgid "Print the table using raw data format"
+msgstr "Vytisknout tabulku v přímém datovém formátu"
+
+#: fdisk/cfdisk.c:2254 fdisk/cfdisk.c:2357
+msgid "Sectors"
+msgstr "Sektory"
+
+#: fdisk/cfdisk.c:2254
+msgid "Print the table ordered by sectors"
+msgstr "Vytisknout tabulku seřazenou dle sektorů"
+
+#: fdisk/cfdisk.c:2255
+msgid "Table"
+msgstr "Tabulka"
+
+#: fdisk/cfdisk.c:2255
+msgid "Just print the partition table"
+msgstr "Vytisknout pouze tabulku rozdělení disku"
+
+#: fdisk/cfdisk.c:2256
+msgid "Don't print the table"
+msgstr "Netisknout tabulku"
+
+#: fdisk/cfdisk.c:2284
+msgid "Help Screen for cfdisk"
+msgstr "Nápověda pro cfdisk"
+
+#: fdisk/cfdisk.c:2286
+msgid "This is cfdisk, a curses based disk partitioning program, which"
+msgstr "Toto je cfdisk, program pro vytváření diskových oddílů založený"
+
+#: fdisk/cfdisk.c:2287
+msgid "allows you to create, delete and modify partitions on your hard"
+msgstr "na knihovně curses. Umožňuje vytváření, mazání a modifikaci"
+
+#: fdisk/cfdisk.c:2288
+msgid "disk drive."
+msgstr "diskových oddílů na Vašem pevném disku."
+
+#: fdisk/cfdisk.c:2290
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+
+#: fdisk/cfdisk.c:2292
+msgid "Command      Meaning"
+msgstr "Příkaz      Význam"
+
+#: fdisk/cfdisk.c:2293
+msgid "-------      -------"
+msgstr "-------      -------"
+
+#: fdisk/cfdisk.c:2294
+msgid "  b          Toggle bootable flag of the current partition"
+msgstr "  b          Přepne aktuálnímu oddílu příznak zaveditelnosti"
+
+#: fdisk/cfdisk.c:2295
+msgid "  d          Delete the current partition"
+msgstr "  d          Smaže aktuální oddíl"
+
+#: fdisk/cfdisk.c:2296
+msgid "  g          Change cylinders, heads, sectors-per-track parameters"
+msgstr "  g          Změní geometrii"
+
+#: fdisk/cfdisk.c:2297
+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,"
+
+#: fdisk/cfdisk.c:2298
+msgid "             know what they are doing."
+msgstr "             kteří vědí, co činí."
+
+#: fdisk/cfdisk.c:2299
+msgid "  h          Print this screen"
+msgstr "  h          Vypíše tuto nápovědu"
+
+#: fdisk/cfdisk.c:2300
+msgid "  m          Maximize disk usage of the current partition"
+msgstr "  m          Maximálně zvětší aktuální diskový oddíl "
+
+#: fdisk/cfdisk.c:2301
+msgid "             Note: This may make the partition incompatible with"
+msgstr "             Poznámka: Toto může učinit oddíl nekompatibilní s"
+
+#: fdisk/cfdisk.c:2302
+msgid "             DOS, OS/2, ..."
+msgstr "             DOS, OS/2, …"
+
+#: fdisk/cfdisk.c:2303
+msgid "  n          Create new partition from free space"
+msgstr "  n          Vytvořit na volném místě nový oddíl"
+
+#: fdisk/cfdisk.c:2304
+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"
+
+#: fdisk/cfdisk.c:2305
+msgid "             There are several different formats for the partition"
+msgstr "             Při výpisu tabulky rozdělení disku si můžete zvolit"
+
+#: fdisk/cfdisk.c:2306
+msgid "             that you can choose from:"
+msgstr "             z několika formátů:"
+
+#: fdisk/cfdisk.c:2307
+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)"
+
+#: fdisk/cfdisk.c:2308
+msgid "                s - Table ordered by sectors"
+msgstr "                s - Tabulka seřazená dle sektorů"
+
+#: fdisk/cfdisk.c:2309
+msgid "                t - Table in raw format"
+msgstr "                t - Tabulka v přímém formátu"
+
+#: fdisk/cfdisk.c:2310
+msgid "  q          Quit program without writing partition table"
+msgstr "  q          Ukončí program bez uložení tabulky rozdělení disku"
+
+#: fdisk/cfdisk.c:2311
+msgid "  t          Change the filesystem type"
+msgstr "  t          Změní typ systému souborů"
+
+#: fdisk/cfdisk.c:2312
+msgid "  u          Change units of the partition size display"
+msgstr "  u          Změní jednotky pro zobrazení velikosti oddílu"
+
+#: fdisk/cfdisk.c:2313
+msgid "             Rotates through MB, sectors and cylinders"
+msgstr "             Cykluje mezi MB, sektory a cylindry"
+
+#: fdisk/cfdisk.c:2314
+msgid "  W          Write partition table to disk (must enter upper case W)"
+msgstr "  W          Uloží tabulku rozdělení disku (pouze velké W)"
+
+#: fdisk/cfdisk.c:2315
+msgid "             Since this might destroy data on the disk, you must"
+msgstr "             Jelikož to může zničit na disku, musíte to potvrdit"
+
+#: fdisk/cfdisk.c:2316
+msgid "             either confirm or deny the write by entering `yes' or"
+msgstr "             nebo odmítnout napsáním „yes“ nebo"
+
+#: fdisk/cfdisk.c:2317
+msgid "             `no'"
+msgstr "             „no“"
+
+#: fdisk/cfdisk.c:2318
+msgid "Up Arrow     Move cursor to the previous partition"
+msgstr "Nahoru       Přesune kurzor na předcházející oddíl."
+
+#: fdisk/cfdisk.c:2319
+msgid "Down Arrow   Move cursor to the next partition"
+msgstr "Dolů         Přesune kurzor na další oddíl."
+
+#: fdisk/cfdisk.c:2320
+msgid "CTRL-L       Redraws the screen"
+msgstr "CTRL-L       Překreslí obrazovku"
+
+#: fdisk/cfdisk.c:2321
+msgid "  ?          Print this screen"
+msgstr "  ?          Vypíše tuto nápovědu"
+
+#: fdisk/cfdisk.c:2323
+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"
+
+#: fdisk/cfdisk.c:2324
+msgid "case letters (except for Writes)."
+msgstr "(s výjimkou zápisu - W)."
+
+#: fdisk/cfdisk.c:2355 fdisk/fdisksunlabel.c:237
+msgid "Cylinders"
+msgstr "Cylindry"
+
+#: fdisk/cfdisk.c:2355
+msgid "Change cylinder geometry"
+msgstr "Změní geometrii cylindrů"
+
+#: fdisk/cfdisk.c:2356 fdisk/fdisksunlabel.c:235
+msgid "Heads"
+msgstr "Hlavy"
+
+#: fdisk/cfdisk.c:2356
+msgid "Change head geometry"
+msgstr "Změní geometrii hlav"
+
+#: fdisk/cfdisk.c:2357
+msgid "Change sector geometry"
+msgstr "Změní geometrii sektorů"
+
+#: fdisk/cfdisk.c:2358
+msgid "Done"
+msgstr "Hotovo"
+
+#: fdisk/cfdisk.c:2358
+msgid "Done with changing geometry"
+msgstr "Geometrie změněna"
+
+#: fdisk/cfdisk.c:2371
+msgid "Enter the number of cylinders: "
+msgstr "Zadejte počet cylindrů: "
+
+#: fdisk/cfdisk.c:2382 fdisk/cfdisk.c:2953
+msgid "Illegal cylinders value"
+msgstr "Chybný počet cylindrů"
+
+#: fdisk/cfdisk.c:2388
+msgid "Enter the number of heads: "
+msgstr "Zadejte počet hlav: "
+
+#: fdisk/cfdisk.c:2395 fdisk/cfdisk.c:2963
+msgid "Illegal heads value"
+msgstr "Chybný počet hlav"
+
+#: fdisk/cfdisk.c:2401
+msgid "Enter the number of sectors per track: "
+msgstr "Zadejte počet sektorů na stopu: "
+
+#: fdisk/cfdisk.c:2408 fdisk/cfdisk.c:2970
+msgid "Illegal sectors value"
+msgstr "Chybný počet sektorů"
+
+#: fdisk/cfdisk.c:2511
+msgid "Enter filesystem type: "
+msgstr "Zadejte typ systému souborů: "
+
+#: fdisk/cfdisk.c:2529
+msgid "Cannot change FS Type to empty"
+msgstr "Nelze nastavit typ SS na prázdný"
+
+#: fdisk/cfdisk.c:2531
+msgid "Cannot change FS Type to extended"
+msgstr "Nelze nastavit typ SS na rozšířený"
+
+#: fdisk/cfdisk.c:2562
+#, c-format
+msgid "Unk(%02X)"
+msgstr "Nez(%02X)"
+
+#: fdisk/cfdisk.c:2565 fdisk/cfdisk.c:2568
+msgid ", NC"
+msgstr ", NC"
+
+#: fdisk/cfdisk.c:2573 fdisk/cfdisk.c:2576
+msgid "NC"
+msgstr "NC"
+
+#: fdisk/cfdisk.c:2584
+msgid "Pri/Log"
+msgstr "Pri/Log"
+
+#: fdisk/cfdisk.c:2591
+#, c-format
+msgid "Unknown (%02X)"
+msgstr "Neznámý (%02X)"
+
+#: fdisk/cfdisk.c:2660
+#, c-format
+msgid "Disk Drive: %s"
+msgstr "Disk: %s"
+
+#: fdisk/cfdisk.c:2667
+#, c-format
+msgid "Size: %lld bytes, %lld MB"
+msgstr "Velikost %'lld bajtů, %'lld MB"
+
+#: fdisk/cfdisk.c:2670
+#, c-format
+msgid "Size: %lld bytes, %lld.%lld GB"
+msgstr "Velikost %'lld bajtů, %'lld,%lld GB"
+
+#: fdisk/cfdisk.c:2674
+#, c-format
+msgid "Heads: %d   Sectors per Track: %d   Cylinders: %lld"
+msgstr "Hlav: %d   Sektorů na stopu: %d    Cylindrů: %'lld"
+
+#: fdisk/cfdisk.c:2678 login-utils/chfn.c:377
+msgid "Name"
+msgstr "Název"
+
+#: fdisk/cfdisk.c:2679
+msgid "Flags"
+msgstr "Příznaky"
+
+#: fdisk/cfdisk.c:2680
+msgid "Part Type"
+msgstr "Typ oddílu"
+
+#: fdisk/cfdisk.c:2681
+msgid "FS Type"
+msgstr "Typ SS"
+
+#: fdisk/cfdisk.c:2682
+msgid "[Label]"
+msgstr "[Popis]"
+
+#: fdisk/cfdisk.c:2684
+msgid "    Sectors"
+msgstr "    Sektorů"
+
+#: fdisk/cfdisk.c:2686
+msgid "  Cylinders"
+msgstr "  Cylindrů"
+
+#: fdisk/cfdisk.c:2688
+msgid "  Size (MB)"
+msgstr "Velik. (MB)"
+
+#: fdisk/cfdisk.c:2690
+msgid "  Size (GB)"
+msgstr "Velik. (GB)"
+
+#: fdisk/cfdisk.c:2744
+msgid "Bootable"
+msgstr "Zavedit."
+
+#: fdisk/cfdisk.c:2744
+msgid "Toggle bootable flag of the current partition"
+msgstr "Přepne příznak zaveditelnosti aktuálnímu diskovému oddílu"
+
+#: fdisk/cfdisk.c:2745
+msgid "Delete"
+msgstr "Smazat"
+
+#: fdisk/cfdisk.c:2745
+msgid "Delete the current partition"
+msgstr "Smaže aktuální diskový oddíl"
+
+#: fdisk/cfdisk.c:2746
+msgid "Geometry"
+msgstr "Geometrie"
+
+#: fdisk/cfdisk.c:2746
+msgid "Change disk geometry (experts only)"
+msgstr "Změní geometrii disku (pouze pro odborníky)"
+
+#: fdisk/cfdisk.c:2747
+msgid "Help"
+msgstr "Nápověda"
+
+#: fdisk/cfdisk.c:2747
+msgid "Print help screen"
+msgstr "Vypíše nápovědu"
+
+#: fdisk/cfdisk.c:2748
+msgid "Maximize"
+msgstr "Zvětšit"
+
+#: fdisk/cfdisk.c:2748
+msgid "Maximize disk usage of the current partition (experts only)"
+msgstr ""
+"Zvětší velikost aktuálního diskového oddílu na maximum (pouze pro odborníky)"
+
+#: fdisk/cfdisk.c:2749
+msgid "New"
+msgstr "Nový"
+
+#: fdisk/cfdisk.c:2749
+msgid "Create new partition from free space"
+msgstr "Vytvoří nový diskový oddíl ve volném prostoru"
+
+#: fdisk/cfdisk.c:2750
+msgid "Print"
+msgstr "Tisk"
+
+#: fdisk/cfdisk.c:2750
+msgid "Print partition table to the screen or to a file"
+msgstr "Vypíše tabulku rozdělení disku (na obrazovku či do souboru)"
+
+#: fdisk/cfdisk.c:2751
+msgid "Quit"
+msgstr "Konec"
+
+#: fdisk/cfdisk.c:2751
+msgid "Quit program without writing partition table"
+msgstr "Ukončí program bez uložení tabulky rozdělení disku"
+
+#: fdisk/cfdisk.c:2752
+msgid "Type"
+msgstr "Druh"
+
+#: fdisk/cfdisk.c:2752
+msgid "Change the filesystem type (DOS, Linux, OS/2 and so on)"
+msgstr "Změní typ systému souborů (DOS, Linux, OS/2 atd.)"
+
+#: fdisk/cfdisk.c:2753
+msgid "Units"
+msgstr "Jednotky"
+
+#: fdisk/cfdisk.c:2753
+msgid "Change units of the partition size display (MB, sect, cyl)"
+msgstr "Změní jednotky, ve kterých je udávána velikost diskového oddílu"
+
+#: fdisk/cfdisk.c:2754
+msgid "Write"
+msgstr "Uložit"
+
+#: fdisk/cfdisk.c:2754
+msgid "Write partition table to disk (this might destroy data)"
+msgstr "Uloží tabulku rozdělení disku na disk (může zničit data)"
+
+#: fdisk/cfdisk.c:2800
+msgid "Cannot make this partition bootable"
+msgstr "Tento oddíl nelze nastavit jako zaveditelný."
+
+#: fdisk/cfdisk.c:2810
+msgid "Cannot delete an empty partition"
+msgstr "Prázdný diskový oddíl nelze smazat."
+
+#: fdisk/cfdisk.c:2830 fdisk/cfdisk.c:2832
+msgid "Cannot maximize this partition"
+msgstr "Tento diskový oddíl nelze zvětšit."
+
+#: fdisk/cfdisk.c:2840
+msgid "This partition is unusable"
+msgstr "Tento diskový oddíl je nepoužitelný."
+
+#: fdisk/cfdisk.c:2842
+msgid "This partition is already in use"
+msgstr "Tento diskový oddíl je již používán."
+
+#: fdisk/cfdisk.c:2859
+msgid "Cannot change the type of an empty partition"
+msgstr "Typ prázdného diskového oddílu nelze změnit."
+
+#: fdisk/cfdisk.c:2886 fdisk/cfdisk.c:2892
+msgid "No more partitions"
+msgstr "Žádné další diskové oddíly"
+
+#: fdisk/cfdisk.c:2899
+msgid "Illegal command"
+msgstr "Chybný příkaz"
+
+#: fdisk/cfdisk.c:2909
+#, c-format
+msgid "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+msgstr "Copyright © 1994–2002 Kevin E. Martin & aeb\n"
+
+#: fdisk/cfdisk.c:2916
+#, 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"
+
+#: fdisk/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)."
+
+#: fdisk/fdiskbsdlabel.c:122
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+"\n"
+"BSD tabulka rozdělení disku pro zařízení: %s\n"
+
+#: fdisk/fdiskbsdlabel.c:129 fdisk/fdisk.c:386 fdisk/fdisk.c:405
+#: fdisk/fdisk.c:423 fdisk/fdisk.c:430 fdisk/fdisk.c:453 fdisk/fdisk.c:471
+#: fdisk/fdisk.c:487 fdisk/fdisk.c:503
+msgid "Command action"
+msgstr "Příkazy"
+
+#: fdisk/fdiskbsdlabel.c:130
+msgid "   d   delete a BSD partition"
+msgstr "   d   smazat BSD diskový oddíl"
+
+#: fdisk/fdiskbsdlabel.c:131
+msgid "   e   edit drive data"
+msgstr "   e   upravovat data na disku"
+
+#: fdisk/fdiskbsdlabel.c:132
+msgid "   i   install bootstrap"
+msgstr "   i   instalovat zavaděč"
+
+#: fdisk/fdiskbsdlabel.c:133
+msgid "   l   list known filesystem types"
+msgstr "   l   vypsat známé typy systémů souborů"
+
+#: fdisk/fdiskbsdlabel.c:134 fdisk/fdisk.c:392 fdisk/fdisk.c:411
+#: fdisk/fdisk.c:424 fdisk/fdisk.c:436 fdisk/fdisk.c:461 fdisk/fdisk.c:478
+#: fdisk/fdisk.c:494 fdisk/fdisk.c:512
+msgid "   m   print this menu"
+msgstr "   m   vypíše tuto nabídku"
+
+#: fdisk/fdiskbsdlabel.c:135
+msgid "   n   add a new BSD partition"
+msgstr "   n   vytvořit nový BSD diskový oddíl"
+
+#: fdisk/fdiskbsdlabel.c:136
+msgid "   p   print BSD partition table"
+msgstr "   p   vytisknout BSD tabulku rozdělení disku"
+
+#: fdisk/fdiskbsdlabel.c:137 fdisk/fdisk.c:396 fdisk/fdisk.c:415
+#: fdisk/fdisk.c:426 fdisk/fdisk.c:440 fdisk/fdisk.c:463 fdisk/fdisk.c:480
+#: fdisk/fdisk.c:496 fdisk/fdisk.c:514
+msgid "   q   quit without saving changes"
+msgstr "   q   ukončí program bez uložení změn"
+
+#: fdisk/fdiskbsdlabel.c:138 fdisk/fdisk.c:464 fdisk/fdisk.c:481
+#: fdisk/fdisk.c:497 fdisk/fdisk.c:515
+msgid "   r   return to main menu"
+msgstr "   r   návrat do hlavní nabídky"
+
+#: fdisk/fdiskbsdlabel.c:139
+msgid "   s   show complete disklabel"
+msgstr "   s   zobrazí úplný popis disku"
+
+#: fdisk/fdiskbsdlabel.c:140
+msgid "   t   change a partition's filesystem id"
+msgstr "   t   změní id systému souborů daného diskového oddílu"
+
+#: fdisk/fdiskbsdlabel.c:141
+msgid "   u   change units (cylinders/sectors)"
+msgstr "   u   změní jednotky (cylindry/sektory)"
+
+#: fdisk/fdiskbsdlabel.c:142
+msgid "   w   write disklabel to disk"
+msgstr "   w   uloží popis disku na disk"
+
+#: fdisk/fdiskbsdlabel.c:144
+msgid "   x   link BSD partition to non-BSD partition"
+msgstr "   x   připojí BSD diskový oddíl na ne-BSD diskový oddíl"
+
+#: fdisk/fdiskbsdlabel.c:176
+#, c-format
+msgid "Partition %s has invalid starting sector 0.\n"
+msgstr "Diskový oddíl %s má chybný počáteční sektor 0.\n"
+
+#: fdisk/fdiskbsdlabel.c:180
+#, c-format
+msgid "Reading disklabel of %s at sector %d.\n"
+msgstr "Čtu popis disku %s v sektoru %d.\n"
+
+#: fdisk/fdiskbsdlabel.c:190
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr "Na %s se nenachází žádný *BSD diskový oddíl.\n"
+
+#: fdisk/fdiskbsdlabel.c:204
+msgid "BSD disklabel command (m for help): "
+msgstr "Příkaz pro BSD popis disku (m pro nápovědu): "
+
+#: fdisk/fdiskbsdlabel.c:284 fdisk/fdisk.c:2052 fdisk/fdisksgilabel.c:651
+#: fdisk/fdisksunlabel.c:431
+#, c-format
+msgid "First %s"
+msgstr "První %s"
+
+#: fdisk/fdiskbsdlabel.c:291 fdisk/fdisksunlabel.c:488
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr "Poslední %s či +velikost či +velikostM či +velikostK"
+
+#: fdisk/fdiskbsdlabel.c:318
+#, c-format
+msgid "type: %s\n"
+msgstr "typ: %s\n"
+
+#: fdisk/fdiskbsdlabel.c:320
+#, c-format
+msgid "type: %d\n"
+msgstr "typ: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:321
+#, c-format
+msgid "disk: %.*s\n"
+msgstr "disk: %.*s\n"
+
+#: fdisk/fdiskbsdlabel.c:322
+#, c-format
+msgid "label: %.*s\n"
+msgstr "tabulka: %.*s\n"
+
+#: fdisk/fdiskbsdlabel.c:323
+#, c-format
+msgid "flags:"
+msgstr "příznaky:"
+
+#: fdisk/fdiskbsdlabel.c:325
+#, c-format
+msgid " removable"
+msgstr " výměnný"
+
+# ???
+#: fdisk/fdiskbsdlabel.c:327
+#, c-format
+msgid " ecc"
+msgstr " ecc"
+
+#: fdisk/fdiskbsdlabel.c:329
+#, c-format
+msgid " badsect"
+msgstr " chybnýsekt"
+
+#: fdisk/fdiskbsdlabel.c:333
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr "bajtů/sektor: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:334
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr "sektorů/stopu: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:335
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr "stop/cylindr: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:336
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr "sektorů/cylindr: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:337
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr "cylindrů: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:338
+#, c-format
+msgid "rpm: %d\n"
+msgstr "otm: %d\n"
+
+# *skew ??? 
+# zde překlad spíše odhaduji
+#: fdisk/fdiskbsdlabel.c:339
+#, c-format
+msgid "interleave: %d\n"
+msgstr "prokládání: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:340
+#, c-format
+msgid "trackskew: %d\n"
+msgstr "zakřivení stopy: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:341
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr "zakřivení cylindru: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:342
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr "přesun hlavy: %ld\t\t# milisekund\n"
+
+#: fdisk/fdiskbsdlabel.c:344
+#, c-format
+msgid "track-to-track seek: %ld\t# milliseconds\n"
+msgstr "posun stopa-stopa: %ld\t# milisekund\n"
+
+#: fdisk/fdiskbsdlabel.c:346
+#, c-format
+msgid "drivedata: "
+msgstr "diskdata: "
+
+#: fdisk/fdiskbsdlabel.c:355
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+"\n"
+"počet diskových oddílů - %d:\n"
+
+#: fdisk/fdiskbsdlabel.c:356
+#, c-format
+msgid "#       start       end      size     fstype   [fsize bsize   cpg]\n"
+msgstr "#       velik       konec    velikost sstyp    [fsize bsize   cpg]\n"
+
+#: fdisk/fdiskbsdlabel.c:405 fdisk/fdiskbsdlabel.c:408
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr "Ukládám popis disku na %s.\n"
+
+#: fdisk/fdiskbsdlabel.c:420 fdisk/fdiskbsdlabel.c:422
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr "Na %s se nenachází žádný popis disku.\n"
+
+#: fdisk/fdiskbsdlabel.c:427
+msgid "Do you want to create a disklabel? (y/n) "
+msgstr "Chcete vytvořit popis disku? (y/n)"
+
+#: fdisk/fdiskbsdlabel.c:467
+msgid "bytes/sector"
+msgstr "bajtů/sektor"
+
+#: fdisk/fdiskbsdlabel.c:468
+msgid "sectors/track"
+msgstr "sektorů/stopu"
+
+#: fdisk/fdiskbsdlabel.c:469
+msgid "tracks/cylinder"
+msgstr "stop/cylindr"
+
+#: fdisk/fdiskbsdlabel.c:470 fdisk/fdisk.c:648 fdisk/fdisk.c:1357
+#: fdisk/sfdisk.c:945
+msgid "cylinders"
+msgstr "cylindry"
+
+#: fdisk/fdiskbsdlabel.c:477
+msgid "sectors/cylinder"
+msgstr "sektorů/cylindr"
+
+#: fdisk/fdiskbsdlabel.c:481
+#, c-format
+msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
+msgstr "Musí být <= sektorů/stopu * stop/cylindr (implicitní).\n"
+
+#: fdisk/fdiskbsdlabel.c:483
+msgid "rpm"
+msgstr "o/m"
+
+#: fdisk/fdiskbsdlabel.c:484
+msgid "interleave"
+msgstr "prokládání"
+
+#: fdisk/fdiskbsdlabel.c:485
+msgid "trackskew"
+msgstr "zakřivení stopy"
+
+#: fdisk/fdiskbsdlabel.c:486
+msgid "cylinderskew"
+msgstr "zakřivení cylindru"
+
+#: fdisk/fdiskbsdlabel.c:487
+msgid "headswitch"
+msgstr "přesun hlavy"
+
+#: fdisk/fdiskbsdlabel.c:488
+msgid "track-to-track seek"
+msgstr "posun stopa-stopa"
+
+#: fdisk/fdiskbsdlabel.c:529
+#, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr "Zavaděč: %sstart -> start%s (%s): "
+
+#: fdisk/fdiskbsdlabel.c:554
+#, c-format
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr "Zavaděč přesahuje do tabulky rozdělení disku!\n"
+
+#: fdisk/fdiskbsdlabel.c:575 fdisk/fdiskbsdlabel.c:577
+#, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr "Zavaděč instalován na %s.\n"
+
+#: fdisk/fdiskbsdlabel.c:599
+#, c-format
+msgid "Partition (a-%c): "
+msgstr "Diskový oddíl (a-%c): "
+
+#: fdisk/fdiskbsdlabel.c:618 fdisk/fdisk.c:2199
+#, c-format
+msgid "The maximum number of partitions has been created\n"
+msgstr "Již bylo vytvořeno maximální množství diskových oddílů.\n"
+
+#: fdisk/fdiskbsdlabel.c:630
+#, c-format
+msgid "This partition already exists.\n"
+msgstr "Tento diskový oddíl již existuje.\n"
+
+#: fdisk/fdiskbsdlabel.c:757
+#, c-format
+msgid "Warning: too many partitions (%d, maximum is %d).\n"
+msgstr "Varování: příliš mnoho diskových oddílů (%d, maximum %d).\n"
+
+#: fdisk/fdiskbsdlabel.c:805
+#, c-format
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+"\n"
+"Synchronizují se disky.\n"
+
+#: fdisk/fdisk.c:244
+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 diskového 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"
+
+#: fdisk/fdisk.c:256
+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"
+
+#: fdisk/fdisk.c:265
+#, c-format
+msgid "Unable to open %s\n"
+msgstr "%s nelze otevřít\n"
+
+#: fdisk/fdisk.c:269
+#, c-format
+msgid "Unable to read %s\n"
+msgstr "%s nelze číst\n"
+
+#: fdisk/fdisk.c:273
+#, c-format
+msgid "Unable to seek on %s\n"
+msgstr "Ukazovátko nelze posunout na %s.\n"
+
+#: fdisk/fdisk.c:277
+#, c-format
+msgid "Unable to write %s\n"
+msgstr "%s nelze uložit\n"
+
+#: fdisk/fdisk.c:281
+#, c-format
+msgid "BLKGETSIZE ioctl failed on %s\n"
+msgstr "volání BLKGETSIZE ioctl pro %s selhalo\n"
+
+#: fdisk/fdisk.c:285
+msgid "Unable to allocate any more memory\n"
+msgstr "Nelze alokovat více paměti\n"
+
+#: fdisk/fdisk.c:288
+msgid "Fatal error\n"
+msgstr "Fatální chyba\n"
+
+#: fdisk/fdisk.c:387
+msgid "   a   toggle a read only flag"
+msgstr "   a   přepne příznak \"pouze pro čtení\""
+
+#: fdisk/fdisk.c:388 fdisk/fdisk.c:432
+msgid "   b   edit bsd disklabel"
+msgstr "   b   úprava bsd popisu disku"
+
+#: fdisk/fdisk.c:389
+msgid "   c   toggle the mountable flag"
+msgstr "   c   přepne příznak \"připojitelný\""
+
+#: fdisk/fdisk.c:390 fdisk/fdisk.c:409 fdisk/fdisk.c:434
+msgid "   d   delete a partition"
+msgstr "   d   smaže diskový oddíl"
+
+#: fdisk/fdisk.c:391 fdisk/fdisk.c:410 fdisk/fdisk.c:435
+msgid "   l   list known partition types"
+msgstr "   l   vypíše známé typy diskových oddílů"
+
+#: fdisk/fdisk.c:393 fdisk/fdisk.c:412 fdisk/fdisk.c:437
+msgid "   n   add a new partition"
+msgstr "   n   vytvoří nový diskový oddíl"
+
+#: fdisk/fdisk.c:394 fdisk/fdisk.c:413 fdisk/fdisk.c:425 fdisk/fdisk.c:438
+msgid "   o   create a new empty DOS partition table"
+msgstr "   o   vytvoří prázdnou tabulku rozdělení disků typu IBM (DOS)"
+
+#: fdisk/fdisk.c:395 fdisk/fdisk.c:414 fdisk/fdisk.c:439 fdisk/fdisk.c:462
+#: fdisk/fdisk.c:479 fdisk/fdisk.c:495 fdisk/fdisk.c:513
+msgid "   p   print the partition table"
+msgstr "   p   vypíše tabulku rozdělení disku"
+
+#: fdisk/fdisk.c:397 fdisk/fdisk.c:416 fdisk/fdisk.c:427 fdisk/fdisk.c:441
+msgid "   s   create a new empty Sun disklabel"
+msgstr "   s   vytvoří prázdný Sun popis disku"
+
+#: fdisk/fdisk.c:398 fdisk/fdisk.c:417 fdisk/fdisk.c:442
+msgid "   t   change a partition's system id"
+msgstr "   t   změní id diskového oddílu"
+
+#: fdisk/fdisk.c:399 fdisk/fdisk.c:418 fdisk/fdisk.c:443
+msgid "   u   change display/entry units"
+msgstr "   u   změní jednotky v nichž jsou vypisovány informace"
+
+#: fdisk/fdisk.c:400 fdisk/fdisk.c:419 fdisk/fdisk.c:444 fdisk/fdisk.c:466
+#: fdisk/fdisk.c:483 fdisk/fdisk.c:499 fdisk/fdisk.c:517
+msgid "   v   verify the partition table"
+msgstr "   v   ověří tabulku rozdělení disku"
+
+#: fdisk/fdisk.c:401 fdisk/fdisk.c:420 fdisk/fdisk.c:445 fdisk/fdisk.c:467
+#: fdisk/fdisk.c:484 fdisk/fdisk.c:500 fdisk/fdisk.c:518
+msgid "   w   write table to disk and exit"
+msgstr "   w   uloží tabulku rozdělení disku a ukončí program"
+
+#: fdisk/fdisk.c:402 fdisk/fdisk.c:446
+msgid "   x   extra functionality (experts only)"
+msgstr "   x   rozšiřující funkce (pouze pro odborníky)"
+
+#: fdisk/fdisk.c:406
+msgid "   a   select bootable partition"
+msgstr "   a   nastaví startovací diskový oddíl"
+
+#: fdisk/fdisk.c:407
+msgid "   b   edit bootfile entry"
+msgstr "   b   úprava položky startovacího souboru"
+
+#: fdisk/fdisk.c:408
+msgid "   c   select sgi swap partition"
+msgstr "   c   nastaví SGI odkládací diskový oddíl"
+
+#: fdisk/fdisk.c:431
+msgid "   a   toggle a bootable flag"
+msgstr "   a   přepne příznak \"startovací\""
+
+#: fdisk/fdisk.c:433
+msgid "   c   toggle the dos compatibility flag"
+msgstr "   c   přepne příznak \"DOS kompatibilní\""
+
+#: fdisk/fdisk.c:454
+msgid "   a   change number of alternate cylinders"
+msgstr "   a   změní množství alternativních cylindrů"
+
+#: fdisk/fdisk.c:455 fdisk/fdisk.c:473 fdisk/fdisk.c:489 fdisk/fdisk.c:505
+msgid "   c   change number of cylinders"
+msgstr "   c   změní množství cylindrů"
+
+#: fdisk/fdisk.c:456 fdisk/fdisk.c:474 fdisk/fdisk.c:490 fdisk/fdisk.c:506
+msgid "   d   print the raw data in the partition table"
+msgstr "   d   vypíše tabulku rozdělení disku (tak jak je uložena na disku)"
+
+#: fdisk/fdisk.c:457
+msgid "   e   change number of extra sectors per cylinder"
+msgstr "   e   změní množství extra sektorů na stopu"
+
+#: fdisk/fdisk.c:458 fdisk/fdisk.c:477 fdisk/fdisk.c:493 fdisk/fdisk.c:510
+msgid "   h   change number of heads"
+msgstr "   h   změní množství hlav"
+
+#: fdisk/fdisk.c:459
+msgid "   i   change interleave factor"
+msgstr "   i   změní prokládací faktor"
+
+#: fdisk/fdisk.c:460
+msgid "   o   change rotation speed (rpm)"
+msgstr "   o   změní rychlost otáčení"
+
+#: fdisk/fdisk.c:465 fdisk/fdisk.c:482 fdisk/fdisk.c:498 fdisk/fdisk.c:516
+msgid "   s   change number of sectors/track"
+msgstr "   s   změní počet sektorů/stopu"
+
+#: fdisk/fdisk.c:468
+msgid "   y   change number of physical cylinders"
+msgstr "   y   změní počet fyzických cylindrů"
+
+#: fdisk/fdisk.c:472 fdisk/fdisk.c:488 fdisk/fdisk.c:504
+msgid "   b   move beginning of data in a partition"
+msgstr "   b   posune počátek dat v diskovém oddílu"
+
+#: fdisk/fdisk.c:475 fdisk/fdisk.c:491 fdisk/fdisk.c:507
+msgid "   e   list extended partitions"
+msgstr "   e   vypíše rozšířené diskové oddíly"
+
+#: fdisk/fdisk.c:476 fdisk/fdisk.c:492 fdisk/fdisk.c:509
+msgid "   g   create an IRIX (SGI) partition table"
+msgstr "   g   vytvoří tabulku rozdělení disku typu IRIX (SGI)"
+
+#: fdisk/fdisk.c:508
+msgid "   f   fix partition order"
+msgstr "   f   opraví řazení diskových oddílů"
+
+#: fdisk/fdisk.c:511
+msgid "   i   change the disk identifier"
+msgstr "   i   změní identifikátor disku"
+
+#: fdisk/fdisk.c:627
+#, c-format
+msgid "You must set"
+msgstr "Musíte nastavit"
+
+#: fdisk/fdisk.c:644
+msgid "heads"
+msgstr "hlavy"
+
+#: fdisk/fdisk.c:646 fdisk/fdisk.c:1357 fdisk/sfdisk.c:945
+msgid "sectors"
+msgstr "sektory"
+
+#: fdisk/fdisk.c:652
+#, 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"
+
+#: fdisk/fdisk.c:653
+msgid " and "
+msgstr " a "
+
+#: fdisk/fdisk.c:670
+#, c-format
+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"
+
+#: fdisk/fdisk.c:683
+#, 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 %d-byte sectors. Use parted(1) and GUID \n"
+"partition table format (GPT).\n"
+"\n"
+msgstr ""
+"\n"
+"VAROVÁNÍ: 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 %dbajtových sektorech.\n"
+"Použijte parted(1) a tabulku rozdělení disku typu GUID (GPT).\n"
+"\n"
+
+#: fdisk/fdisk.c:708
+#, c-format
+msgid "Bad offset in primary extended partition\n"
+msgstr "Chybný posun v primárním diskovém oddílu\n"
+
+#: fdisk/fdisk.c:722
+#, 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"
+
+#: fdisk/fdisk.c:741
+#, 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"
+
+#: fdisk/fdisk.c:749
+#, 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"
+
+#: fdisk/fdisk.c:782
+#, c-format
+msgid "omitting empty partition (%d)\n"
+msgstr "vynechávám prázdný oddíl (%d)\n"
+
+#: fdisk/fdisk.c:801
+#, c-format
+msgid "Disk identifier: 0x%08x\n"
+msgstr "Identifikátor disku: 0x%08x\n"
+
+#: fdisk/fdisk.c:810
+#, c-format
+msgid "New disk identifier (current 0x%08x): "
+msgstr "Nový identifikátor disku (současný 0x%08x): "
+
+#: fdisk/fdisk.c:829
+#, c-format
+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"
+
+#: fdisk/fdisk.c:861
+#, c-format
+msgid "Note: sector size is %d (not %d)\n"
+msgstr "Pozor: velikost sektoru je %d (nikoliv %d)\n"
+
+#: fdisk/fdisk.c:990
+#, c-format
+msgid "You will not be able to write the partition table.\n"
+msgstr "Nebudete moci uložit tabulku rozdělení disku.\n"
+
+#: fdisk/fdisk.c:1022
+#, c-format
+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"
+
+#: fdisk/fdisk.c:1032
+#, c-format
+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"
+
+#: fdisk/fdisk.c:1049
+#, c-format
+msgid "Internal error\n"
+msgstr "Vnitřní chyba\n"
+
+#: fdisk/fdisk.c:1062
+#, c-format
+msgid "Ignoring extra extended partition %d\n"
+msgstr "Nadbytečný rozšířený diskový oddíl %d ignorován.\n"
+
+#: fdisk/fdisk.c:1074
+#, 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"
+
+#: fdisk/fdisk.c:1096
+#, c-format
+msgid ""
+"\n"
+"got EOF thrice - exiting..\n"
+msgstr ""
+"\n"
+"třikrát jsem nalezl EOF - končím..\n"
+
+#: fdisk/fdisk.c:1135
+msgid "Hex code (type L to list codes): "
+msgstr "Šestnáctkově (L vypíše kódy):"
+
+#: fdisk/fdisk.c:1175
+#, c-format
+msgid "%s (%u-%u, default %u): "
+msgstr "%s (%u-%u, implicitně %u): "
+
+#: fdisk/fdisk.c:1242
+#, c-format
+msgid "Unsupported suffix: '%s'.\n"
+msgstr "Nepodporovaná přípona: „%s“.\n"
+
+#: fdisk/fdisk.c:1243
+#, 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"
+
+#: fdisk/fdisk.c:1269
+#, c-format
+msgid "Using default value %u\n"
+msgstr "Používám implicitní hodnotu %u\n"
+
+#: fdisk/fdisk.c:1273
+#, c-format
+msgid "Value out of range.\n"
+msgstr "Hodnota je mimo meze.\n"
+
+#: fdisk/fdisk.c:1283
+msgid "Partition number"
+msgstr "Číslo diskového oddílu"
+
+#: fdisk/fdisk.c:1294
+#, c-format
+msgid "Warning: partition %d has empty type\n"
+msgstr "Varování: diskový oddíl %d nemá určen typ\n"
+
+#: fdisk/fdisk.c:1316 fdisk/fdisk.c:1342
+#, c-format
+msgid "Selected partition %d\n"
+msgstr "Vybrán oddíl %d\n"
+
+#: fdisk/fdisk.c:1319
+#, c-format
+msgid "No partition is defined yet!\n"
+msgstr "Ještě nejsou definovány žádné diskové oddíly!\n"
+
+#: fdisk/fdisk.c:1345
+#, c-format
+msgid "All primary partitions have been defined already!\n"
+msgstr "Již byly definovány všechny primární diskové oddíly!\n"
+
+#: fdisk/fdisk.c:1355
+msgid "cylinder"
+msgstr "cylindr"
+
+#: fdisk/fdisk.c:1355
+msgid "sector"
+msgstr "sektor"
+
+#: fdisk/fdisk.c:1364
+#, c-format
+msgid "Changing display/entry units to %s\n"
+msgstr "Měním jednotky v nichž jsou vypisovány informace na %s\n"
+
+#: fdisk/fdisk.c:1375
+#, c-format
+msgid "WARNING: Partition %d is an extended partition\n"
+msgstr "VAROVÁNÍ: diskový oddíl %d je rozšířeným diskovým oddílem\n"
+
+#: fdisk/fdisk.c:1386
+#, c-format
+msgid "DOS Compatibility flag is set\n"
+msgstr "Příznak DOSOVÉ kompatibility je nastaven.\n"
+
+#: fdisk/fdisk.c:1390
+#, c-format
+msgid "DOS Compatibility flag is not set\n"
+msgstr "Příznak DOSOVÉ kompatibility není nastaven.\n"
+
+#: fdisk/fdisk.c:1490
+#, c-format
+msgid "Partition %d does not exist yet!\n"
+msgstr "Diskový oddíl %d zatím neexistuje!\n"
+
+#: fdisk/fdisk.c:1495
+#, 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. Vytvářet diskové oddíly typu 0 není moudré.\n"
+"Diskový oddíl můžete smazat pomocí příkazu „d“.\n"
+
+#: fdisk/fdisk.c:1504
+#, 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é diskové oddíly na rozšířené a zpět. Nejdříve jej "
+"smažte.\n"
+
+#: fdisk/fdisk.c:1513
+#, 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 diskový 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"
+
+#: fdisk/fdisk.c:1519
+#, 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"
+
+#: fdisk/fdisk.c:1536
+#, c-format
+msgid "Changed system type of partition %d to %x (%s)\n"
+msgstr "Typ diskového oddílu %d byl změněn na %x (%s)\n"
+
+#: fdisk/fdisk.c:1539
+#, c-format
+msgid "System type of partition %d is unchanged: %x (%s)\n"
+msgstr "Typ diskového oddílu %d je nezměněn: %x (%s)\n"
+
+#: fdisk/fdisk.c:1591
+#, c-format
+msgid "Partition %d has different physical/logical beginnings (non-Linux?):\n"
+msgstr ""
+"Diskový oddíl %d má rozdílný fyzický a logický začátek (nelinuxový?):\n"
+
+#: fdisk/fdisk.c:1593 fdisk/fdisk.c:1601 fdisk/fdisk.c:1610 fdisk/fdisk.c:1620
+#, c-format
+msgid "     phys=(%d, %d, %d) "
+msgstr "     fyz=(%d, %d, %d) "
+
+#: fdisk/fdisk.c:1594 fdisk/fdisk.c:1602
+#, c-format
+msgid "logical=(%d, %d, %d)\n"
+msgstr "logický=(%d, %d, %d)\n"
+
+#: fdisk/fdisk.c:1599
+#, c-format
+msgid "Partition %d has different physical/logical endings:\n"
+msgstr "Diskový oddíl %d má rozdílný fyzický a logický konec:\n"
+
+#: fdisk/fdisk.c:1608
+#, c-format
+msgid "Partition %i does not start on cylinder boundary:\n"
+msgstr "Diskový oddíl %i nezačíná na hranici cylindru:\n"
+
+#: fdisk/fdisk.c:1611
+#, c-format
+msgid "should be (%d, %d, 1)\n"
+msgstr "mělo by být (%d, %d, 1)\n"
+
+#: fdisk/fdisk.c:1617
+#, c-format
+msgid "Partition %i does not end on cylinder boundary.\n"
+msgstr "Diskový oddíl %i nekončí na hranici cylindru.\n"
+
+#: fdisk/fdisk.c:1621
+#, c-format
+msgid "should be (%d, %d, %d)\n"
+msgstr "mělo by být (%d, %d, %d)\n"
+
+#: fdisk/fdisk.c:1633
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld MB, %lld bytes\n"
+msgstr ""
+"\n"
+"Disk %s: %'ld MB, %'lld bajtů\n"
+
+#: fdisk/fdisk.c:1637
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld.%ld GB, %lld bytes\n"
+msgstr ""
+"\n"
+"Disk %s: %'ld,%ld GB, %'lld bajtů\n"
+
+#: fdisk/fdisk.c:1640
+#, c-format
+msgid "%d heads, %llu sectors/track, %d cylinders"
+msgstr "hlav: %'d, sektorů na stopu: %'llu, cylindrů: %'d"
+
+#: fdisk/fdisk.c:1643
+#, c-format
+msgid ", total %llu sectors"
+msgstr ", celkem %'llu sektorů"
+
+#: fdisk/fdisk.c:1646
+#, c-format
+msgid "Units = %s of %d * %d = %d bytes\n"
+msgstr "Jednotky = %s po %d * %d = %'d bajtech\n"
+
+#: fdisk/fdisk.c:1757
+#, c-format
+msgid ""
+"Nothing to do. Ordering is correct already.\n"
+"\n"
+msgstr ""
+"Diskové oddíly jsou již seřazeny.\n"
+"\n"
+
+#: fdisk/fdisk.c:1785
+#, c-format
+msgid "Done.\n"
+msgstr "Hotovo.\n"
+
+#: fdisk/fdisk.c:1813
+#, 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"
+
+#: fdisk/fdisk.c:1826
+#, c-format
+msgid "%*s Boot      Start         End      Blocks   Id  System\n"
+msgstr "%*s Zavádět   Začátek       Konec    Bloky    Id  Systém\n"
+
+#: fdisk/fdisk.c:1827 fdisk/fdisksgilabel.c:223 fdisk/fdisksunlabel.c:603
+msgid "Device"
+msgstr "Zařízení"
+
+#: fdisk/fdisk.c:1864
+#, c-format
+msgid ""
+"\n"
+"Partition table entries are not in disk order\n"
+msgstr ""
+"\n"
+"Diskové oddíly jsou chybně seřazeny\n"
+
+#: fdisk/fdisk.c:1874
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %d cylinders\n"
+"\n"
+msgstr ""
+"\n"
+"Disk %s: hlav: %'d, sektorů: %'llu, cylindrů: %'d\n"
+"\n"
+
+#: fdisk/fdisk.c:1876
+#, 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"
+
+#: fdisk/fdisk.c:1922
+#, c-format
+msgid "Warning: partition %d contains sector 0\n"
+msgstr "Varování: diskový oddíl %d obsahuje sektor 0\n"
+
+#: fdisk/fdisk.c:1925
+#, 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"
+
+#: fdisk/fdisk.c:1928
+#, 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"
+
+#: fdisk/fdisk.c:1931
+#, c-format
+msgid "Partitions %d: cylinder %d greater than maximum %d\n"
+msgstr "Diskový oddíl %d: cylindr %d má větší číslo než je maximum %d\n"
+
+#: fdisk/fdisk.c:1935
+#, 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"
+
+#: fdisk/fdisk.c:1968
+#, c-format
+msgid "Warning: bad start-of-data in partition %d\n"
+msgstr "Varování: chybný počátek dat v diskovém oddílu %d\n"
+
+#: fdisk/fdisk.c:1976
+#, c-format
+msgid "Warning: partition %d overlaps partition %d.\n"
+msgstr "Varování: diskový oddíl %d přesahuje do diskového oddílu %d.\n"
+
+#: fdisk/fdisk.c:1996
+#, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr "Varování: diskový oddíl %d je prázdný.\n"
+
+#: fdisk/fdisk.c:2001
+#, c-format
+msgid "Logical partition %d not entirely in partition %d\n"
+msgstr "Logický diskový oddíl %d přesahuje mimo diskový oddíl %d.\n"
+
+#: fdisk/fdisk.c:2007
+#, 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"
+
+# TODO: plurals
+#: fdisk/fdisk.c:2010
+#, c-format
+msgid "%lld unallocated %d-byte sectors\n"
+msgstr "%'lld nealokovaných %dbajtových sektorů\n"
+
+#: fdisk/fdisk.c:2025 fdisk/fdisksgilabel.c:633 fdisk/fdisksunlabel.c:416
+#, 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"
+
+#: fdisk/fdisk.c:2067
+#, c-format
+msgid "Sector %llu is already allocated\n"
+msgstr "Sektor %llu je již alokován\n"
+
+#: fdisk/fdisk.c:2103
+#, c-format
+msgid "No free sectors available\n"
+msgstr "Nejsou žádné volné sektory.\n"
+
+#: fdisk/fdisk.c:2112
+#, c-format
+msgid "Last %1$s, +%2$s or +size{K,M,G}"
+msgstr "Poslední %1$s, +%2$s nebo +velikost{K,M,G}"
+
+#: fdisk/fdisk.c:2178
+#, 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"
+
+#: fdisk/fdisk.c:2187
+#, 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"
+
+#: fdisk/fdisk.c:2207
+#, c-format
+msgid "You must delete some partition and add an extended partition first\n"
+msgstr "Musíte nejprve některé smazat a přidat rozšířený diskový oddíl.\n"
+
+#: fdisk/fdisk.c:2210
+#, c-format
+msgid "All logical partitions are in use\n"
+msgstr "Všechny logické oddíly jsou obsazeny\n"
+
+#: fdisk/fdisk.c:2211
+#, c-format
+msgid "Adding a primary partition\n"
+msgstr "Přidávám primární diskový oddíl\n"
+
+#: fdisk/fdisk.c:2216
+#, c-format
+msgid ""
+"Command action\n"
+"   %s\n"
+"   p   primary partition (1-4)\n"
+msgstr ""
+"Příkaz\n"
+"   %s\n"
+"   p   primární diskový oddíl (1-4)\n"
+
+#: fdisk/fdisk.c:2218
+msgid "l   logical (5 or over)"
+msgstr "l   logický diskový oddíl (5 nebo více)"
+
+#: fdisk/fdisk.c:2218
+msgid "e   extended"
+msgstr "e   rozšířený diskový oddíl"
+
+#: fdisk/fdisk.c:2237
+#, c-format
+msgid "Invalid partition number for type `%c'\n"
+msgstr "Chybné číslo diskového oddílu pro typ „%c“.\n"
+
+#: fdisk/fdisk.c:2273
+#, c-format
+msgid ""
+"The partition table has been altered!\n"
+"\n"
+msgstr "Tabulka rozdělení disku byla změněna!\n"
+
+#: fdisk/fdisk.c:2287
+#, c-format
+msgid "Calling ioctl() to re-read partition table.\n"
+msgstr "Volám ioctl() pro znovunačtení tabulky rozdělení disku.\n"
+
+#: fdisk/fdisk.c:2296
+#, c-format
+msgid ""
+"\n"
+"WARNING: Re-reading the partition table failed with error %d: %s.\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: %s.\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"
+
+#: fdisk/fdisk.c:2304
+#, 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řil či změnil nějaké\n"
+"DOS 6.x diskové oddíly, přečtěte si prosím manuálovou\n"
+"stránku programu fdisk, abyste získal dodatečné informace.\n"
+
+#: fdisk/fdisk.c:2310
+#, c-format
+msgid ""
+"\n"
+"Error closing file\n"
+msgstr ""
+"\n"
+"Chyba při zavírání souboru\n"
+
+#: fdisk/fdisk.c:2314
+#, c-format
+msgid "Syncing disks.\n"
+msgstr "Synchronizují se disky.\n"
+
+#: fdisk/fdisk.c:2361
+#, c-format
+msgid "Partition %d has no data area\n"
+msgstr "Diskový oddíl %d neobsahuje datovou oblast.\n"
+
+#: fdisk/fdisk.c:2366
+msgid "New beginning of data"
+msgstr "Nový začátek dat"
+
+#: fdisk/fdisk.c:2382
+msgid "Expert command (m for help): "
+msgstr "Příkaz pro odborníky (m pro nápovědu): "
+
+#: fdisk/fdisk.c:2395
+msgid "Number of cylinders"
+msgstr "Počet cylindrů"
+
+#: fdisk/fdisk.c:2422
+msgid "Number of heads"
+msgstr "Počet hlav"
+
+#: fdisk/fdisk.c:2449
+msgid "Number of sectors"
+msgstr "Počet sektorů"
+
+#: fdisk/fdisk.c:2452
+#, c-format
+msgid "Warning: setting sector offset for DOS compatiblity\n"
+msgstr "Varování: nastaven posun sektoru kvůli kompatibilitě s DOSEM\n"
+
+#: fdisk/fdisk.c:2511
+#, 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"
+
+#: fdisk/fdisk.c:2533
+#, c-format
+msgid "Disk %s doesn't contain a valid partition table\n"
+msgstr "Na disku %s není korektní tabulka rozdělení disku.\n"
+
+#: fdisk/fdisk.c:2544
+#, c-format
+msgid "Cannot open %s\n"
+msgstr "%s nelze otevřít.\n"
+
+#: fdisk/fdisk.c:2563 fdisk/sfdisk.c:2618
+#, c-format
+msgid "cannot open %s\n"
+msgstr "%s nelze otevřít.\n"
+
+#: fdisk/fdisk.c:2583
+#, c-format
+msgid "%c: unknown command\n"
+msgstr "příkaz %c není znám\n"
+
+#: fdisk/fdisk.c:2653
+#, c-format
+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"
+
+#: fdisk/fdisk.c:2657
+#, 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"
+
+#: fdisk/fdisk.c:2717
+#, 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"
+
+#: fdisk/fdisk.c:2727
+msgid "Command (m for help): "
+msgstr "Příkaz (m pro nápovědu): "
+
+#: fdisk/fdisk.c:2743
+#, c-format
+msgid ""
+"\n"
+"The current boot file is: %s\n"
+msgstr ""
+"\n"
+"Aktuální startovací soubor: %s\n"
+
+#: fdisk/fdisk.c:2745
+msgid "Please enter the name of the new boot file: "
+msgstr "Zadejte název nového startovacího souboru: "
+
+#: fdisk/fdisk.c:2747
+#, c-format
+msgid "Boot file unchanged\n"
+msgstr "Startovací soubor nebyl změněn.\n"
+
+#: fdisk/fdisk.c:2820
+#, c-format
+msgid ""
+"\n"
+"\tSorry, no experts menu for SGI partition tables available.\n"
+"\n"
+msgstr ""
+"\n"
+"\tPro SGI diskové oddíly nejsou k dispozici žádné rozšiřující funkce.\n"
+"\n"
+
+#: fdisk/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"
+
+#: fdisk/fdisksgilabel.c:81
+msgid "SGI volhdr"
+msgstr "Hlavička SGI svazku"
+
+#: fdisk/fdisksgilabel.c:82
+msgid "SGI trkrepl"
+msgstr "SGI trkrepl"
+
+#: fdisk/fdisksgilabel.c:83
+msgid "SGI secrepl"
+msgstr "SGI secrepl"
+
+#: fdisk/fdisksgilabel.c:84
+msgid "SGI raw"
+msgstr "SGI raw"
+
+#: fdisk/fdisksgilabel.c:85
+msgid "SGI bsd"
+msgstr "SGI bsd"
+
+#: fdisk/fdisksgilabel.c:86
+msgid "SGI sysv"
+msgstr "SGI sysv"
+
+#: fdisk/fdisksgilabel.c:87
+msgid "SGI volume"
+msgstr "SGI svazek"
+
+#: fdisk/fdisksgilabel.c:88
+msgid "SGI efs"
+msgstr "SGI efs"
+
+#: fdisk/fdisksgilabel.c:89
+msgid "SGI lvol"
+msgstr "SGI lvol"
+
+#: fdisk/fdisksgilabel.c:90
+msgid "SGI rlvol"
+msgstr "SGI rlvol"
+
+#: fdisk/fdisksgilabel.c:91
+msgid "SGI xfs"
+msgstr "SGI XFS"
+
+#: fdisk/fdisksgilabel.c:92
+msgid "SGI xfslog"
+msgstr "SGI xfslog"
+
+#: fdisk/fdisksgilabel.c:93
+msgid "SGI xlv"
+msgstr "SGI xlv"
+
+#: fdisk/fdisksgilabel.c:94
+msgid "SGI xvm"
+msgstr "SGI xvm"
+
+#: fdisk/fdisksgilabel.c:95 fdisk/fdisksunlabel.c:55
+msgid "Linux swap"
+msgstr "Linux swap"
+
+#: fdisk/fdisksgilabel.c:96 fdisk/fdisksunlabel.c:56
+msgid "Linux native"
+msgstr "Linux nativní"
+
+#: fdisk/fdisksgilabel.c:97 fdisk/fdisksunlabel.c:57 fdisk/i386_sys_types.c:63
+msgid "Linux LVM"
+msgstr "Linux LVM"
+
+#: fdisk/fdisksgilabel.c:98
+msgid "Linux RAID"
+msgstr "Linux RAID"
+
+#: fdisk/fdisksgilabel.c:164
+#, 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"
+
+#: fdisk/fdisksgilabel.c:183
+#, c-format
+msgid "Detected sgi disklabel with wrong checksum.\n"
+msgstr "Nalezl jsem SGI popis disku s chybným kontrolním součtem.\n"
+
+#: fdisk/fdisksgilabel.c:201
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors\n"
+"%d cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * %d bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disk %s (SGI tabulka rozdělení disku): hlav: %'d, sektorů: %'llu,\n"
+"cylindrů: %'d, fyzických cylindrů: %'d\n"
+"extra sektorů/cyl: %d, prokládání: %d:1\n"
+"%s\n"
+"Jednotky = %s po %d * %d bajtech\n"
+"\n"
+
+#: fdisk/fdisksgilabel.c:214
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors, %d cylinders\n"
+"Units = %s of %d * %d bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disk %s (SGI tabulka rozdělení disku): hlav: %'d, sektorů: %'llu,\n"
+"cylindrů: %'d\n"
+"Jednotky = %s po %d * %d bajtech\n"
+"\n"
+
+#: fdisk/fdisksgilabel.c:221
+#, c-format
+msgid ""
+"----- partitions -----\n"
+"Pt# %*s  Info     Start       End   Sectors  Id  System\n"
+msgstr ""
+"----- diskové oddíly -----\n"
+"Od# %*s  Info      Začátek     Konec Sektory  Id  Systém\n"
+
+#: fdisk/fdisksgilabel.c:243
+#, c-format
+msgid ""
+"----- Bootinfo -----\n"
+"Bootfile: %s\n"
+"----- Directory Entries -----\n"
+msgstr ""
+"----- bootinfo -----\n"
+"Startovací soubor: %s\n"
+"----- adresářové položky -----\n"
+
+#: fdisk/fdisksgilabel.c:251
+#, c-format
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr "%2d: %-10s sektor%5u velikost%8u\n"
+
+#: fdisk/fdisksgilabel.c:305
+#, 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"
+
+#: fdisk/fdisksgilabel.c:311
+#, 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"
+
+#: fdisk/fdisksgilabel.c:316
+#, 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"
+
+#: fdisk/fdisksgilabel.c:323
+#, 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"
+
+#: fdisk/fdisksgilabel.c:349
+#, c-format
+msgid ""
+"\n"
+"\tBootfile is changed to \"%s\".\n"
+msgstr ""
+"\n"
+"\tStartovací soubor byl změněn na \"%s\".\n"
+
+#: fdisk/fdisksgilabel.c:439
+#, c-format
+msgid "More than one entire disk entry present.\n"
+msgstr "Existuje více než jedna položka celého disku.\n"
+
+#: fdisk/fdisksgilabel.c:446 fdisk/fdisksunlabel.c:388
+#, c-format
+msgid "No partitions defined\n"
+msgstr "Nejsou definovány žádné diskové oddíly\n"
+
+#: fdisk/fdisksgilabel.c:452
+#, 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"
+
+#: fdisk/fdisksgilabel.c:454
+#, 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"
+
+#: fdisk/fdisksgilabel.c:460
+#, 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"
+
+#: fdisk/fdisksgilabel.c:466
+#, c-format
+msgid "One Partition (#11) should cover the entire disk.\n"
+msgstr "Jeden Diskový Oddíl (#11) by měl zaujímat celý disk.\n"
+
+#: fdisk/fdisksgilabel.c:476
+#, c-format
+msgid "Partition %d does not start on cylinder boundary.\n"
+msgstr "Diskový oddíl %d nezačíná na hranici cylindru.\n"
+
+#: fdisk/fdisksgilabel.c:482
+#, c-format
+msgid "Partition %d does not end on cylinder boundary.\n"
+msgstr "Diskový oddíl %d nekončí na hranici cylindru.\n"
+
+#: fdisk/fdisksgilabel.c:489
+#, 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"
+
+#: fdisk/fdisksgilabel.c:497 fdisk/fdisksgilabel.c:515
+#, c-format
+msgid "Unused gap of %8u sectors - sectors %8u-%u\n"
+msgstr "Nevyužívaný prostor o velikosti %'8u sektorů – sektory %8u-%u\n"
+
+#: fdisk/fdisksgilabel.c:526
+#, c-format
+msgid ""
+"\n"
+"The boot partition does not exist.\n"
+msgstr ""
+"\n"
+"Startovací diskový oddíl neexistuje.\n"
+
+#: fdisk/fdisksgilabel.c:529
+#, c-format
+msgid ""
+"\n"
+"The swap partition does not exist.\n"
+msgstr ""
+"\n"
+"Diskový oddíl pro odkládací prostor neexistuje.\n"
+
+#: fdisk/fdisksgilabel.c:533
+#, 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"
+
+#: fdisk/fdisksgilabel.c:536
+#, c-format
+msgid "\tYou have chosen an unusual boot file name.\n"
+msgstr "\tVybral jste si neobvyklý název pro startovací soubor.\n"
+
+#: fdisk/fdisksgilabel.c:545
+#, c-format
+msgid "Sorry You may change the Tag of non-empty partitions.\n"
+msgstr "Lituji, můžete měnit značku neprázdných diskových oddílů.\n"
+
+#: fdisk/fdisksgilabel.c:551
+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 diskový 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 jist, že chcete označit tento diskový oddíl "
+"jinak.\n"
+
+#: fdisk/fdisksgilabel.c:556 fdisk/fdisksunlabel.c:554
+msgid "YES\n"
+msgstr "ANO\n"
+
+#: fdisk/fdisksgilabel.c:581
+#, c-format
+msgid "Do You know, You got a partition overlap on the disk?\n"
+msgstr "Víte, že na Vašem disku se diskové oddíly překrývají?\n"
+
+#: fdisk/fdisksgilabel.c:639
+#, c-format
+msgid "Attempting to generate entire disk entry automatically.\n"
+msgstr "Pokouším se automaticky vytvořit položku pro celý disk.\n"
+
+#: fdisk/fdisksgilabel.c:644
+#, c-format
+msgid "The entire disk is already covered with partitions.\n"
+msgstr "Diskové oddíly již zabírají celý prostor disky.\n"
+
+#: fdisk/fdisksgilabel.c:648
+#, 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"
+
+#: fdisk/fdisksgilabel.c:657 fdisk/fdisksgilabel.c:686
+#, 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ý diskový oddíl zaujímal celý\n"
+"prostor disku a byl typu „SGI svazek“\n"
+
+#: fdisk/fdisksgilabel.c:673
+#, c-format
+msgid "You will get a partition overlap on the disk. Fix it first!\n"
+msgstr ""
+"Takto se diskové oddíly budou navzájem překrývat. Nejprve to opravte!\n"
+
+#: fdisk/fdisksgilabel.c:678
+#, c-format
+msgid " Last %s"
+msgstr " Poslední %s"
+
+#: fdisk/fdisksgilabel.c:708
+#, c-format
+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"
+
+#: fdisk/fdisksgilabel.c:731 fdisk/fdisksunlabel.c:227
+#, c-format
+msgid ""
+"Warning:  BLKGETSIZE ioctl failed on %s.  Using geometry cylinder value of %"
+"d.\n"
+"This value may be truncated for devices > 33.8 GB.\n"
+msgstr ""
+"Varování: ioctl BLKGETSIZE selhalo na %s. Pro geometrii používám počet\n"
+"cylindrů %d.\n"
+"Tato hodnota může být zkrácena pro zařízení > 33,8 GB.\n"
+
+#: fdisk/fdisksgilabel.c:745
+#, c-format
+msgid "Trying to keep parameters of partition %d.\n"
+msgstr "Pokouším se zachovat parametry diskového oddílu %d.\n"
+
+#: fdisk/fdisksgilabel.c:747
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr "ID=%02x\tZAČÁTEK=%d\tDÉLKA=%d\n"
+
+#: fdisk/fdisksunlabel.c:43
+msgid "Unassigned"
+msgstr "Nepřiřazeno"
+
+#: fdisk/fdisksunlabel.c:45
+msgid "SunOS root"
+msgstr "SunOS root"
+
+#: fdisk/fdisksunlabel.c:46
+msgid "SunOS swap"
+msgstr "SunOS swap"
+
+#: fdisk/fdisksunlabel.c:47
+msgid "SunOS usr"
+msgstr "SunOS usr"
+
+#: fdisk/fdisksunlabel.c:48
+msgid "Whole disk"
+msgstr "Celý disk"
+
+#: fdisk/fdisksunlabel.c:49
+msgid "SunOS stand"
+msgstr "SunOS stand"
+
+#: fdisk/fdisksunlabel.c:50
+msgid "SunOS var"
+msgstr "SunOS var"
+
+#: fdisk/fdisksunlabel.c:51
+msgid "SunOS home"
+msgstr "SunOS home"
+
+#: fdisk/fdisksunlabel.c:52
+msgid "SunOS alt sectors"
+msgstr "Náhr. sektory SunOS"
+
+#: fdisk/fdisksunlabel.c:53
+msgid "SunOS cachefs"
+msgstr "SunOS cachefs"
+
+#: fdisk/fdisksunlabel.c:54
+msgid "SunOS reserved"
+msgstr "Vyhrazeno pro SunOS"
+
+#: fdisk/fdisksunlabel.c:58 fdisk/i386_sys_types.c:103
+msgid "Linux raid autodetect"
+msgstr "Linux RAID samorozpoznatelný"
+
+#: fdisk/fdisksunlabel.c:141
+#, 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 diskové oddíly, nebo vytvořit novou tabulku (příkaz s v hlavní\n"
+"nabídce)\n"
+
+#: fdisk/fdisksunlabel.c:153
+#, c-format
+msgid "Detected sun disklabel with wrong version [0x%08x].\n"
+msgstr "Nalezl jsem sunovský popis disku s chybnou verzí [0x%08x].\n"
+
+#: fdisk/fdisksunlabel.c:158
+#, 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"
+
+#: fdisk/fdisksunlabel.c:163
+#, 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"
+
+#: fdisk/fdisksunlabel.c:168
+#, 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"
+
+#: fdisk/fdisksunlabel.c:198
+#, c-format
+msgid ""
+"Building a new sun disklabel. Changes will remain in memory only,\n"
+"until you decide to write them. After that, of course, the previous\n"
+"content won't be recoverable.\n"
+"\n"
+msgstr ""
+"Vytvářím novou sunovskou tabulku rozdělení disku. Změny budou uloženy pouze\n"
+"do paměti, dokud se nerozhodnete je uložit na disk. Poté již nebudou stará\n"
+"data pochopitelně dostupná.\n"
+
+#: fdisk/fdisksunlabel.c:236
+msgid "Sectors/track"
+msgstr "Sektorů/stopu"
+
+#: fdisk/fdisksunlabel.c:351
+#, c-format
+msgid "Partition %d doesn't end on cylinder boundary\n"
+msgstr "Diskový oddíl %d nekončí na hranici cylindru.\n"
+
+#: fdisk/fdisksunlabel.c:371
+#, 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"
+
+#: fdisk/fdisksunlabel.c:393
+#, c-format
+msgid "Unused gap - sectors 0-%d\n"
+msgstr "Nevyužívaný prostor - sektory 0-%d\n"
+
+#: fdisk/fdisksunlabel.c:395 fdisk/fdisksunlabel.c:401
+#, c-format
+msgid "Unused gap - sectors %d-%d\n"
+msgstr "Nevyužívaný prostor - sektory %d-%d\n"
+
+#: fdisk/fdisksunlabel.c:426
+#, c-format
+msgid ""
+"Other partitions already cover the whole disk.\n"
+"Delete some/shrink them before retry.\n"
+msgstr ""
+"Jiné diskové oddíly již zaujímá celý disk.\n"
+"Smažte/zmenšete nějaké a zkuste to znovu.\n"
+
+#: fdisk/fdisksunlabel.c:449
+#, 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"
+
+#: fdisk/fdisksunlabel.c:477
+#, c-format
+msgid "Sector %d is already allocated\n"
+msgstr "Sektor %d je již alokován\n"
+
+#: fdisk/fdisksunlabel.c:507
+#, 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í diskový oddíl nezabírá celý disk, ale vaše hodnota %d %s\n"
+"zaujímá jiné diskové oddíly. Vaše položka byla změněna na %d %s.\n"
+
+#: fdisk/fdisksunlabel.c:534
+#, 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 diskového oddílu jako Celého disku (5), začínajícího na 0 o délce\n"
+"v sektorech %u\n"
+
+#: fdisk/fdisksunlabel.c:549
+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 diskový 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 jist, že chcete tento diskový oddíl označit 82\n"
+"(odkládací prostor pro Linux): "
+
+#: fdisk/fdisksunlabel.c:581
+#, c-format
+msgid ""
+"\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"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disk %s (sunovský tabulka rozdělení disku): hlav: %'d, sektorů: %'llu,\n"
+"o/m: %'d, cylindrů: %'d, náhradních cylindrů: %'d, fyzických cylindrů: %'d\n"
+"extra sektorů/cyl: %d, prokládání: %d:1\n"
+"ID jmenovky: %s\n"
+"ID svazku: %s\n"
+"Jednotky = %s po %d * 512 bajtech\n"
+"\n"
+
+#: fdisk/fdisksunlabel.c:597
+#, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %d heads, %llu sectors, %d cylinders\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disk %s (sunovská tabulka rozdělení disku): hlav: %'d, sektorů: %'llu,\n"
+"cylindrů: %'d\n"
+"Jednotky = %s po %d * 512 bajtech\n"
+"\n"
+
+#: fdisk/fdisksunlabel.c:602
+#, c-format
+msgid "%*s Flag    Start       End    Blocks   Id  System\n"
+msgstr "%*s Příznak Začátek     Konec  Bloky    Id  Systém\n"
+
+#: fdisk/fdisksunlabel.c:630
+msgid "Number of alternate cylinders"
+msgstr "Počet alternativních cylindrů"
+
+#: fdisk/fdisksunlabel.c:642
+msgid "Extra sectors per cylinder"
+msgstr "Extra sektory na cylindr"
+
+#: fdisk/fdisksunlabel.c:649
+msgid "Interleave factor"
+msgstr "Interleave faktor"
+
+#: fdisk/fdisksunlabel.c:656
+msgid "Rotation speed (rpm)"
+msgstr "Rychlost otáčení (otm)"
+
+#: fdisk/fdisksunlabel.c:663
+msgid "Number of physical cylinders"
+msgstr "Počet fyzických cylindrů"
+
+#: fdisk/i386_sys_types.c:6
+msgid "Empty"
+msgstr "Prázdný prostor"
+
+#: fdisk/i386_sys_types.c:7
+msgid "FAT12"
+msgstr "FAT12"
+
+#: fdisk/i386_sys_types.c:8
+msgid "XENIX root"
+msgstr "XENIX root"
+
+#: fdisk/i386_sys_types.c:9
+msgid "XENIX usr"
+msgstr "XENIX usr"
+
+#: fdisk/i386_sys_types.c:10
+msgid "FAT16 <32M"
+msgstr "FAT16 <32M"
+
+#: fdisk/i386_sys_types.c:11
+msgid "Extended"
+msgstr "Rozšířený"
+
+#: fdisk/i386_sys_types.c:12
+msgid "FAT16"
+msgstr "FAT16"
+
+#: fdisk/i386_sys_types.c:13
+msgid "HPFS/NTFS"
+msgstr "HPFS/NTFS"
+
+#: fdisk/i386_sys_types.c:14
+msgid "AIX"
+msgstr "AIX"
+
+#: fdisk/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr "AIX startovací"
+
+#: fdisk/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr "OS/2 zavaděč"
+
+#: fdisk/i386_sys_types.c:17
+msgid "W95 FAT32"
+msgstr "W95 FAT32"
+
+#: fdisk/i386_sys_types.c:18
+msgid "W95 FAT32 (LBA)"
+msgstr "W95 FAT32 (LBA)"
+
+#: fdisk/i386_sys_types.c:19
+msgid "W95 FAT16 (LBA)"
+msgstr "W95 FAT16 (LBA)"
+
+#: fdisk/i386_sys_types.c:20
+msgid "W95 Ext'd (LBA)"
+msgstr "W95 Rozš. (LBA)"
+
+#: fdisk/i386_sys_types.c:21
+msgid "OPUS"
+msgstr "OPUS"
+
+#: fdisk/i386_sys_types.c:22
+msgid "Hidden FAT12"
+msgstr "Skrytá FAT12"
+
+#: fdisk/i386_sys_types.c:23
+msgid "Compaq diagnostics"
+msgstr "Compaq diagnostics"
+
+#: fdisk/i386_sys_types.c:24
+msgid "Hidden FAT16 <32M"
+msgstr "Skrytá FAT16 <32M"
+
+#: fdisk/i386_sys_types.c:25
+msgid "Hidden FAT16"
+msgstr "Skrytá FAT16"
+
+#: fdisk/i386_sys_types.c:26
+msgid "Hidden HPFS/NTFS"
+msgstr "Skrytá HPFS/NTFS"
+
+#: fdisk/i386_sys_types.c:27
+msgid "AST SmartSleep"
+msgstr "AST SmartSleep"
+
+#: fdisk/i386_sys_types.c:28
+msgid "Hidden W95 FAT32"
+msgstr "Skrytá W95 FAT32"
+
+#: fdisk/i386_sys_types.c:29
+msgid "Hidden W95 FAT32 (LBA)"
+msgstr "Skrytá W95 FAT32 (LBA)"
+
+#: fdisk/i386_sys_types.c:30
+msgid "Hidden W95 FAT16 (LBA)"
+msgstr "Skrytá W95 FAT16 (LBA)"
+
+#: fdisk/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr "NEC DOS"
+
+#: fdisk/i386_sys_types.c:32
+msgid "Plan 9"
+msgstr "Plan 9"
+
+#: fdisk/i386_sys_types.c:33
+msgid "PartitionMagic recovery"
+msgstr "PartitionMagic recovery"
+
+#: fdisk/i386_sys_types.c:34
+msgid "Venix 80286"
+msgstr "Venix 80286"
+
+#: fdisk/i386_sys_types.c:35
+msgid "PPC PReP Boot"
+msgstr "PPC PReP Boot"
+
+#: fdisk/i386_sys_types.c:36
+msgid "SFS"
+msgstr "SFS"
+
+#: fdisk/i386_sys_types.c:37
+msgid "QNX4.x"
+msgstr "QNX4.x"
+
+#: fdisk/i386_sys_types.c:38
+msgid "QNX4.x 2nd part"
+msgstr "QNX4.x 2. část"
+
+#: fdisk/i386_sys_types.c:39
+msgid "QNX4.x 3rd part"
+msgstr "QNX4.x 3. část"
+
+#: fdisk/i386_sys_types.c:40
+msgid "OnTrack DM"
+msgstr "OnTrack DM"
+
+#: fdisk/i386_sys_types.c:41
+msgid "OnTrack DM6 Aux1"
+msgstr "OnTrack DM6 Aux1"
+
+#: fdisk/i386_sys_types.c:42
+msgid "CP/M"
+msgstr "CP/M"
+
+#: fdisk/i386_sys_types.c:43
+msgid "OnTrack DM6 Aux3"
+msgstr "OnTrack DM6 Aux3"
+
+#: fdisk/i386_sys_types.c:44
+msgid "OnTrackDM6"
+msgstr "OnTrackDM6"
+
+#: fdisk/i386_sys_types.c:45
+msgid "EZ-Drive"
+msgstr "EZ-Drive"
+
+#: fdisk/i386_sys_types.c:46
+msgid "Golden Bow"
+msgstr "Golden Bow"
+
+#: fdisk/i386_sys_types.c:47
+msgid "Priam Edisk"
+msgstr "Priam Edisk"
+
+#: fdisk/i386_sys_types.c:48 fdisk/i386_sys_types.c:92
+#: fdisk/i386_sys_types.c:98 fdisk/i386_sys_types.c:99
+msgid "SpeedStor"
+msgstr "SpeedStor"
+
+#: fdisk/i386_sys_types.c:49
+msgid "GNU HURD or SysV"
+msgstr "GNU HURD či SysV"
+
+#: fdisk/i386_sys_types.c:50
+msgid "Novell Netware 286"
+msgstr "Novell NetWare 286"
+
+#: fdisk/i386_sys_types.c:51
+msgid "Novell Netware 386"
+msgstr "Novell NetWare 386"
+
+#: fdisk/i386_sys_types.c:52
+msgid "DiskSecure Multi-Boot"
+msgstr "DiskSecure Multi-Boot"
+
+#: fdisk/i386_sys_types.c:53
+msgid "PC/IX"
+msgstr "PC/IX"
+
+#: fdisk/i386_sys_types.c:54
+msgid "Old Minix"
+msgstr "Starý Minix"
+
+#: fdisk/i386_sys_types.c:55
+msgid "Minix / old Linux"
+msgstr "Minix / starý Linux"
+
+#: fdisk/i386_sys_types.c:56
+msgid "Linux swap / Solaris"
+msgstr "Linux swap/Solaris"
+
+#: fdisk/i386_sys_types.c:58
+msgid "OS/2 hidden C: drive"
+msgstr "OS/2 skrytý C: disk"
+
+#: fdisk/i386_sys_types.c:59
+msgid "Linux extended"
+msgstr "Linux rozšířený"
+
+#: fdisk/i386_sys_types.c:60 fdisk/i386_sys_types.c:61
+msgid "NTFS volume set"
+msgstr "NTFS svazek"
+
+#: fdisk/i386_sys_types.c:62
+msgid "Linux plaintext"
+msgstr "Linux plaintext"
+
+#: fdisk/i386_sys_types.c:64
+msgid "Amoeba"
+msgstr "Amoeba"
+
+#: fdisk/i386_sys_types.c:65
+msgid "Amoeba BBT"
+msgstr "Amoeba BBT"
+
+#: fdisk/i386_sys_types.c:66
+msgid "BSD/OS"
+msgstr "BSD/OS"
+
+#: fdisk/i386_sys_types.c:67
+msgid "IBM Thinkpad hibernation"
+msgstr "IBM Thinkpad hibernace"
+
+#: fdisk/i386_sys_types.c:68
+msgid "FreeBSD"
+msgstr "FreeBSD"
+
+#: fdisk/i386_sys_types.c:69
+msgid "OpenBSD"
+msgstr "OpenBSD"
+
+#: fdisk/i386_sys_types.c:70
+msgid "NeXTSTEP"
+msgstr "NeXTSTEP"
+
+#: fdisk/i386_sys_types.c:71
+msgid "Darwin UFS"
+msgstr "Darwin UFS"
+
+#: fdisk/i386_sys_types.c:72
+msgid "NetBSD"
+msgstr "NetBSD"
+
+#: fdisk/i386_sys_types.c:73
+msgid "Darwin boot"
+msgstr "Darwin bootovací"
+
+#: fdisk/i386_sys_types.c:74
+msgid "HFS / HFS+"
+msgstr "HFS/HFS+"
+
+#: fdisk/i386_sys_types.c:75
+msgid "BSDI fs"
+msgstr "BSDI SS"
+
+#: fdisk/i386_sys_types.c:76
+msgid "BSDI swap"
+msgstr "BSDI swap"
+
+#: fdisk/i386_sys_types.c:77
+msgid "Boot Wizard hidden"
+msgstr "Skrytý Boot Wizard"
+
+#: fdisk/i386_sys_types.c:78
+msgid "Solaris boot"
+msgstr "Zavaděč Solarisu"
+
+#: fdisk/i386_sys_types.c:79
+msgid "Solaris"
+msgstr "Solaris"
+
+#: fdisk/i386_sys_types.c:80
+msgid "DRDOS/sec (FAT-12)"
+msgstr "DRDOS/sec (FAT-12)"
+
+#: fdisk/i386_sys_types.c:81
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr "DRDOS/sec (FAT-16 < 32M)"
+
+#: fdisk/i386_sys_types.c:82
+msgid "DRDOS/sec (FAT-16)"
+msgstr "DRDOS/sec (FAT-16)"
+
+#: fdisk/i386_sys_types.c:83
+msgid "Syrinx"
+msgstr "Syrinx"
+
+#: fdisk/i386_sys_types.c:84
+msgid "Non-FS data"
+msgstr "data mimo SS"
+
+#: fdisk/i386_sys_types.c:85
+msgid "CP/M / CTOS / ..."
+msgstr "CP/M / CTOS / …"
+
+#: fdisk/i386_sys_types.c:87
+msgid "Dell Utility"
+msgstr "Dell Utility"
+
+#: fdisk/i386_sys_types.c:88
+msgid "BootIt"
+msgstr "BootIt"
+
+#: fdisk/i386_sys_types.c:89
+msgid "DOS access"
+msgstr "DOS access"
+
+#: fdisk/i386_sys_types.c:91
+msgid "DOS R/O"
+msgstr "DOS pro čtení"
+
+#: fdisk/i386_sys_types.c:94
+msgid "BeOS fs"
+msgstr "BeOS SS"
+
+#: fdisk/i386_sys_types.c:95
+msgid "GPT"
+msgstr "GPT"
+
+#: fdisk/i386_sys_types.c:96
+msgid "EFI (FAT-12/16/32)"
+msgstr "EFI (FAT-12/16/32)"
+
+#: fdisk/i386_sys_types.c:97
+msgid "Linux/PA-RISC boot"
+msgstr "zavaděč Linux/PA-RISCu"
+
+#: fdisk/i386_sys_types.c:100
+msgid "DOS secondary"
+msgstr "DOS sekundární"
+
+#: fdisk/i386_sys_types.c:101
+msgid "VMware VMFS"
+msgstr "VMware VMFS"
+
+#: fdisk/i386_sys_types.c:102
+msgid "VMware VMKCORE"
+msgstr "VMware VMKCORE"
+
+#: fdisk/i386_sys_types.c:106
+msgid "LANstep"
+msgstr "LANstep"
+
+#: fdisk/i386_sys_types.c:107
+msgid "BBT"
+msgstr "BBT"
+
+#: fdisk/sfdisk.c:179
+#, 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"
+
+#: fdisk/sfdisk.c:184
+#, 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"
+
+#: fdisk/sfdisk.c:230
+msgid "out of memory - giving up\n"
+msgstr "nedostatek paměti - končím\n"
+
+#: fdisk/sfdisk.c:235 fdisk/sfdisk.c:318
+#, c-format
+msgid "read error on %s - cannot read sector %lu\n"
+msgstr "chyba čtení na %s - sektor %lu nelze číst\n"
+
+#: fdisk/sfdisk.c:253
+#, c-format
+msgid "ERROR: sector %lu does not have an msdos signature\n"
+msgstr "CHYBA: sektor %lu nenese stopy MS-DOSU\n"
+
+#: fdisk/sfdisk.c:268
+#, c-format
+msgid "write error on %s - cannot write sector %lu\n"
+msgstr "chyba zápisu na %s - sektor %lu nelze zapsat\n"
+
+#: fdisk/sfdisk.c:306
+#, c-format
+msgid "cannot open partition sector save file (%s)\n"
+msgstr "soubor pro uložení sektorů (%s) nelze otevřít\n"
+
+#: fdisk/sfdisk.c:324
+#, c-format
+msgid "write error on %s\n"
+msgstr "chyba zápisu na %s\n"
+
+#: fdisk/sfdisk.c:350
+#, c-format
+msgid "cannot stat partition restore file (%s)\n"
+msgstr "volání stat pro soubor s uloženými sektory (%s) selhalo\n"
+
+#: fdisk/sfdisk.c:355
+msgid "partition restore file has wrong size - not restoring\n"
+msgstr "soubor s uloženými sektory má chybnou velikost - nebude obnoven\n"
+
+#: fdisk/sfdisk.c:359
+msgid "out of memory?\n"
+msgstr "nedostatek paměti?\n"
+
+#: fdisk/sfdisk.c:365
+#, c-format
+msgid "cannot open partition restore file (%s)\n"
+msgstr "soubor s uloženými sektory (%s) nelze otevřít\n"
+
+#: fdisk/sfdisk.c:371
+#, c-format
+msgid "error reading %s\n"
+msgstr "chyba při čtení %s\n"
+
+#: fdisk/sfdisk.c:378
+#, c-format
+msgid "cannot open device %s for writing\n"
+msgstr "zařízení %s nelze otevřít pro zápis\n"
+
+#: fdisk/sfdisk.c:390
+#, c-format
+msgid "error writing sector %lu on %s\n"
+msgstr "chyba při zápisu sektoru %lu na %s\n"
+
+#: fdisk/sfdisk.c:455
+#, c-format
+msgid "Disk %s: cannot get geometry\n"
+msgstr "Disk %s: geometrii nelze zjistit\n"
+
+#: fdisk/sfdisk.c:472
+#, c-format
+msgid "Disk %s: cannot get size\n"
+msgstr "Disk %s: velikost nelze zjistit\n"
+
+#: fdisk/sfdisk.c:505
+#, 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 diskový 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"
+
+#: fdisk/sfdisk.c:512
+#, 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"
+
+#: fdisk/sfdisk.c:515
+#, 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"
+
+#: fdisk/sfdisk.c:519
+#, 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"
+
+#: fdisk/sfdisk.c:524
+#, 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"
+
+#: fdisk/sfdisk.c:528
+#, 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"
+
+#: fdisk/sfdisk.c:610
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for head: %lu (should be in 0-%lu)\n"
+msgstr "%s diskového oddílu %s má chybný počet hlav: %lu (mělo by být 0-%lu)\n"
+
+#: fdisk/sfdisk.c:615
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for sector: %lu (should be in 1-%"
+"lu)\n"
+msgstr ""
+"%s diskového oddílu %s má chybný počet sektorů: %lu (mělo by být 1-%lu)\n"
+
+#: fdisk/sfdisk.c:620
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for cylinders: %lu (should be in 0-%"
+"lu)\n"
+msgstr ""
+"%s diskového oddílu %s má chybný počet cylindrů: %lu (mělo by být 0-%lu)\n"
+
+#: fdisk/sfdisk.c:660
+#, c-format
+msgid ""
+"Id  Name\n"
+"\n"
+msgstr "Id  Název\n"
+
+#: fdisk/sfdisk.c:821
+#, c-format
+msgid "Re-reading the partition table ...\n"
+msgstr "Načítám znovu tabulku rozdělení disku…\n"
+
+#: fdisk/sfdisk.c:827
+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"
+
+#: fdisk/sfdisk.c:833
+#, c-format
+msgid "Error closing %s\n"
+msgstr "Chyba při zavírání %s\n"
+
+#: fdisk/sfdisk.c:871
+#, c-format
+msgid "%s: no such partition\n"
+msgstr "diskový oddíl %s neexistuje\n"
+
+#: fdisk/sfdisk.c:894
+msgid "unrecognized format - using sectors\n"
+msgstr "Neznámý formát - používám sektory\n"
+
+#: fdisk/sfdisk.c:944
+#, c-format
+msgid "unimplemented format - using %s\n"
+msgstr "nepoužívaný formát - používám %s\n"
+
+#: fdisk/sfdisk.c:948
+#, 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"
+
+#: fdisk/sfdisk.c:951
+#, 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"
+
+#: fdisk/sfdisk.c:956
+#, 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"
+
+#: fdisk/sfdisk.c:958
+#, c-format
+msgid "   Device Boot    Start       End   #sectors  Id  System\n"
+msgstr "Zařízení  Boot    Začátek     Konec Sektorů   Id  Systém\n"
+
+#: fdisk/sfdisk.c:961
+#, 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"
+
+#: fdisk/sfdisk.c:963
+#, c-format
+msgid "   Device Boot   Start       End    #blocks   Id  System\n"
+msgstr "Zařízení  Boot   Začátek     Konec  Bloků     Id  Systém\n"
+
+#: fdisk/sfdisk.c:966
+#, c-format
+msgid ""
+"Units = mebibytes of 1048576 bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Jednotky = mebibajty po 1048576 bajtech, bloky po 1024 bajtech, počítáno od %"
+"d\n"
+"\n"
+
+#: fdisk/sfdisk.c:968
+#, 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"
+
+#: fdisk/sfdisk.c:1128
+#, 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"
+
+#: fdisk/sfdisk.c:1135
+#, 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"
+
+#: fdisk/sfdisk.c:1138
+#, c-format
+msgid "partition ends on cylinder %ld, beyond the end of the disk\n"
+msgstr "diskový oddíl končí na cylindru %ld, t.j. za koncem disku\n"
+
+#: fdisk/sfdisk.c:1148
+msgid "No partitions found\n"
+msgstr "Nebyly nalezeny žádné diskové oddíly\n"
+
+#: fdisk/sfdisk.c:1152
+#, 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"
+
+#: fdisk/sfdisk.c:1201
+msgid "no partition table present.\n"
+msgstr "Nebyla nalezena žádná tabulka rozdělení disku.\n"
+
+#: fdisk/sfdisk.c:1203
+#, c-format
+msgid "strange, only %d partitions defined.\n"
+msgstr "Zvláštní - počet definovaných diskových oddílů je pouze %d.\n"
+
+#: fdisk/sfdisk.c:1212
+#, c-format
+msgid "Warning: partition %s has size 0 but is not marked Empty\n"
+msgstr ""
+"Varování: diskový oddíl %s má velikost 0 a není označen jako prázdný.\n"
+
+#: fdisk/sfdisk.c:1215
+#, c-format
+msgid "Warning: partition %s has size 0 and is bootable\n"
+msgstr "Varování: diskový oddíl %s má velikost 0 a je startovací.\n"
+
+#: fdisk/sfdisk.c:1218
+#, c-format
+msgid "Warning: partition %s has size 0 and nonzero start\n"
+msgstr "Varování: diskový oddíl %s má velikost 0 a nenulový začátek.\n"
+
+#: fdisk/sfdisk.c:1229
+#, c-format
+msgid "Warning: partition %s "
+msgstr "Varování: diskový oddíl %s "
+
+#: fdisk/sfdisk.c:1230
+#, c-format
+msgid "is not contained in partition %s\n"
+msgstr "není obsažen v diskovém oddílu %s.\n"
+
+#: fdisk/sfdisk.c:1241
+#, c-format
+msgid "Warning: partitions %s "
+msgstr "Varování: diskové oddíly %s "
+
+#: fdisk/sfdisk.c:1242
+#, c-format
+msgid "and %s overlap\n"
+msgstr "a %s se navzájem překrývají.\n"
+
+#: fdisk/sfdisk.c:1253
+#, c-format
+msgid ""
+"Warning: partition %s contains part of the partition table (sector %lu),\n"
+"and will destroy it when filled\n"
+msgstr ""
+"Varování: diskový oddíl %s obsahuje část tabulky rozdělení disku (sektor %"
+"lu)\n"
+"a v případě zaplnění ji zničí\n"
+
+#: fdisk/sfdisk.c:1265
+#, c-format
+msgid "Warning: partition %s starts at sector 0\n"
+msgstr "Varování: diskový oddíl %s začíná na sektoru 0\n"
+
+#: fdisk/sfdisk.c:1269
+#, c-format
+msgid "Warning: partition %s extends past end of disk\n"
+msgstr "Varování: diskový oddíl %s přesahuje za konec disku.\n"
+
+#: fdisk/sfdisk.c:1284
+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 diskových oddílů může být rozšířeným.\n"
+" (ačkoliv v Linux to není problém)\n"
+
+#: fdisk/sfdisk.c:1302
+#, c-format
+msgid "Warning: partition %s does not start at a cylinder boundary\n"
+msgstr "Varování: diskový oddíl %s nezačíná na hranici cylindru.\n"
+
+#: fdisk/sfdisk.c:1308
+#, c-format
+msgid "Warning: partition %s does not end at a cylinder boundary\n"
+msgstr "Varování: diskový oddíl %s nekončí na hranici cylindru.\n"
+
+#: fdisk/sfdisk.c:1326
+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í diskový oddíl je označen jako startovací.\n"
+"LILU to nečiní problémy, ale DOS MBR z tohoto disku nenastartuje.\n"
+
+#: fdisk/sfdisk.c:1333
+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 diskových oddíl|ů.\n"
+"LILO nebude brát ohled na příznak 'startovací'.\n"
+
+#: fdisk/sfdisk.c:1339
+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í diskový oddíl není označen jako startovací.\n"
+"LILU to nečiní problémy, ale DOS z tohoto disku nenastartuje.\n"
+
+#: fdisk/sfdisk.c:1353
+msgid "start"
+msgstr "začátek"
+
+#: fdisk/sfdisk.c:1356
+#, c-format
+msgid ""
+"partition %s: start: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"diskový oddíl %s: začátek: (c,h,s) předpoklad (%ld,%ld,%ld), nalezeno\n"
+"(%ld,%ld,%ld)\n"
+
+#: fdisk/sfdisk.c:1362
+msgid "end"
+msgstr "konec"
+
+#: fdisk/sfdisk.c:1365
+#, c-format
+msgid "partition %s: end: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"diskový oddíl %s: konec: (c,h,s) předpoklad (%ld,%ld,%ld), nalezeno\n"
+"(%ld,%ld,%ld)\n"
+
+#: fdisk/sfdisk.c:1368
+#, c-format
+msgid "partition %s ends on cylinder %ld, beyond the end of the disk\n"
+msgstr "diskový oddíl %s končí na cylindru %ld, t.j. za koncem disku\n"
+
+#: fdisk/sfdisk.c:1393
+#, c-format
+msgid ""
+"Warning: shifted start of the extd partition from %ld to %ld\n"
+"(For listing purposes only. Do not change its contents.)\n"
+msgstr ""
+"Varování: začátek rozšířeného diskového oddílu posunut z %ld na %ld.\n"
+"(Pouze pro účely výpisu. Neměňte jeho obsah.)\n"
+
+#: fdisk/sfdisk.c:1399
+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ý diskový oddíl nezačíná na hranici cylindru.\n"
+"DOS a Linux budou jeho obsah interpretovat rozdílně.\n"
+
+#: fdisk/sfdisk.c:1417 fdisk/sfdisk.c:1494
+#, c-format
+msgid "too many partitions - ignoring those past nr (%d)\n"
+msgstr "příliš mnoho diskových oddílů - ignoruji > %d\n"
+
+#: fdisk/sfdisk.c:1432
+msgid "tree of partitions?\n"
+msgstr "strom diskových oddílů?\n"
+
+#: fdisk/sfdisk.c:1540
+msgid "detected Disk Manager - unable to handle that\n"
+msgstr "nalezen Disk Manager - s tím neumím pracovat\n"
+
+#: fdisk/sfdisk.c:1547
+msgid "DM6 signature found - giving up\n"
+msgstr "nalezen DM6 podpis - končím\n"
+
+#: fdisk/sfdisk.c:1567
+msgid "strange..., an extended partition of size 0?\n"
+msgstr "zvláštní…, rozšířený diskový oddíl o velikosti 0?\n"
+
+#: fdisk/sfdisk.c:1574 fdisk/sfdisk.c:1585
+msgid "strange..., a BSD partition of size 0?\n"
+msgstr "zvláštní…, BSD diskový oddíl o velikosti 0?\n"
+
+#: fdisk/sfdisk.c:1619
+#, c-format
+msgid " %s: unrecognized partition table type\n"
+msgstr " %s: nerozpoznaný typ tabulky rozdělení disku\n"
+
+#: fdisk/sfdisk.c:1631
+msgid "-n flag was given: Nothing changed\n"
+msgstr "byl zadán přepínač -n: Nic nebylo změněno\n"
+
+#: fdisk/sfdisk.c:1647
+msgid "Failed saving the old sectors - aborting\n"
+msgstr "Chyba při ukládání starých sektorů - končím\n"
+
+#: fdisk/sfdisk.c:1652
+#, c-format
+msgid "Failed writing the partition on %s\n"
+msgstr "Chyba při zápisu na diskový oddíl %s\n"
+
+#: fdisk/sfdisk.c:1729
+msgid "long or incomplete input line - quitting\n"
+msgstr "příliš dlouhý či neúplný řádek - končím\n"
+
+#: fdisk/sfdisk.c:1765
+#, c-format
+msgid "input error: `=' expected after %s field\n"
+msgstr "vstupní chyba: po položce %s jsem očekával znak „=“\n"
+
+#: fdisk/sfdisk.c:1772
+#, c-format
+msgid "input error: unexpected character %c after %s field\n"
+msgstr "vstupní chyba: neočekávaný znak %c po položce %s\n"
+
+#: fdisk/sfdisk.c:1778
+#, c-format
+msgid "unrecognized input: %s\n"
+msgstr "nerozpoznaný vstup: %s\n"
+
+#: fdisk/sfdisk.c:1820
+msgid "number too big\n"
+msgstr "číslo je příliš veliké\n"
+
+#: fdisk/sfdisk.c:1824
+msgid "trailing junk after number\n"
+msgstr "nesmysly za číslem\n"
+
+#: fdisk/sfdisk.c:1948
+msgid "no room for partition descriptor\n"
+msgstr "není místo pro popis diskového oddílu\n"
+
+#: fdisk/sfdisk.c:1981
+msgid "cannot build surrounding extended partition\n"
+msgstr "okolní rozšiřující diskový oddíl nelze vytvořit\n"
+
+#: fdisk/sfdisk.c:2032
+msgid "too many input fields\n"
+msgstr "příliš mnoho vstupních položek\n"
+
+#: fdisk/sfdisk.c:2066
+msgid "No room for more\n"
+msgstr "Již nejsou volné bloky\n"
+
+#: fdisk/sfdisk.c:2085
+msgid "Illegal type\n"
+msgstr "Chybný typ\n"
+
+#: fdisk/sfdisk.c:2117
+#, 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"
+
+#: fdisk/sfdisk.c:2123
+msgid "Warning: empty partition\n"
+msgstr "Varování: prázdný diskový oddíl\n"
+
+#: fdisk/sfdisk.c:2137
+#, c-format
+msgid "Warning: bad partition start (earliest %lu)\n"
+msgstr "Varování: chybný začátek diskového oddílu (dřívější %lu)\n"
+
+#: fdisk/sfdisk.c:2150
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr "nerozpoznaný příznak 'startovací' - zvolte - či *\n"
+
+#: fdisk/sfdisk.c:2167 fdisk/sfdisk.c:2180
+msgid "partial c,h,s specification?\n"
+msgstr "neúplná c,h,s specifikace?\n"
+
+#: fdisk/sfdisk.c:2191
+msgid "Extended partition not where expected\n"
+msgstr "Rozšířený diskový oddíl na neočekávaném místě\n"
+
+#: fdisk/sfdisk.c:2223
+msgid "bad input\n"
+msgstr "chybný vstup\n"
+
+#: fdisk/sfdisk.c:2245
+msgid "too many partitions\n"
+msgstr "příliš mnoho diskových oddílů\n"
+
+#: fdisk/sfdisk.c:2278
+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"
+
+#: fdisk/sfdisk.c:2304
+#, c-format
+msgid "Usage: %s [options] device ...\n"
+msgstr "Použití: %s [PŘEPÍNAČE] ZAŘÍZENÍ…\n"
+
+#: fdisk/sfdisk.c:2305
+msgid "device: something like /dev/hda or /dev/sda"
+msgstr "Zařízení: něco jako /dev/hda či /dev/sda"
+
+#: fdisk/sfdisk.c:2306
+msgid "useful options:"
+msgstr "Užitečné přepínače:"
+
+#: fdisk/sfdisk.c:2307
+msgid "    -s [or --show-size]: list size of a partition"
+msgstr "    -s [či --show-size]: vypíše velikost diskového oddílu"
+
+#: fdisk/sfdisk.c:2308
+msgid "    -c [or --id]:        print or change partition Id"
+msgstr "    -c [či --id]:        vypíše či změní Id diskového oddílu"
+
+#: fdisk/sfdisk.c:2309
+msgid "    -l [or --list]:      list partitions of each device"
+msgstr "    -l [či --list]:      ke každému zařízení vypíše diskové oddíly"
+
+#: fdisk/sfdisk.c:2310
+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í"
+
+#: fdisk/sfdisk.c:2311
+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"
+
+#: fdisk/sfdisk.c:2312
+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"
+
+#: fdisk/sfdisk.c:2313
+msgid "    -T [or --list-types]:list the known partition types"
+msgstr "    -T [či --list-types]:vypíše známé typy diskových oddílů"
+
+#: fdisk/sfdisk.c:2314
+msgid "    -D [or --DOS]:       for DOS-compatibility: waste a little space"
+msgstr "    -D [či --DOS]:       pro kompatibilitu s DOSEM: ubírá trochu místa"
+
+#: fdisk/sfdisk.c:2315
+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"
+
+#: fdisk/sfdisk.c:2316
+msgid "    -N# :                change only the partition with number #"
+msgstr "    -N# :                změní pouze diskový oddíl s číslem #"
+
+#: fdisk/sfdisk.c:2317
+msgid "    -n :                 do not actually write to disk"
+msgstr "    -n :                 žádné změny nebudou uloženy na disk"
+
+#: fdisk/sfdisk.c:2318
+msgid ""
+"    -O file :            save the sectors that will be overwritten to file"
+msgstr "    -O SOUBOR :          uloží změněné sektory do SOUBORU"
+
+#: fdisk/sfdisk.c:2319
+msgid "    -I file :            restore these sectors again"
+msgstr "    -I SOUBOR :          obnoví tyto sektory ze SOUBORU"
+
+#: fdisk/sfdisk.c:2320
+msgid "    -v [or --version]:   print version"
+msgstr "    -v [či --version]:   vypíše informace o verzi"
+
+#: fdisk/sfdisk.c:2321
+msgid "    -? [or --help]:      print this message"
+msgstr "    -? [či --help]:      vypíše tuto nápovědu"
+
+#: fdisk/sfdisk.c:2322
+msgid "dangerous options:"
+msgstr "Nebezpečné přepínače:"
+
+#: fdisk/sfdisk.c:2323
+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"
+
+#: fdisk/sfdisk.c:2324
+msgid ""
+"    -G [or --show-pt-geometry]: print geometry guessed from the partition "
+"table"
+msgstr ""
+"    -G [či --show-pt-geometry]:\n"
+"                         vypíše informace o geometrii, která byla odhadnuta\n"
+"                         z tabulky rozdělení disku"
+
+#: fdisk/sfdisk.c:2325
+msgid ""
+"    -x [or --show-extended]: also list extended partitions on output\n"
+"                             or expect descriptors for them on input"
+msgstr ""
+"    -x [či --show-extended]:\n"
+"                         vypíše informace o rozšířených diskových\n"
+"                         oddílech a na vstupu bude očekávat jejich popis"
+
+#: fdisk/sfdisk.c:2327
+msgid ""
+"    -L  [or --Linux]:      do not complain about things irrelevant for Linux"
+msgstr ""
+"    -L  [či --Linux]:    problémy nepodstatné pro Linux budou ignorovány"
+
+#: fdisk/sfdisk.c:2328
+msgid "    -q  [or --quiet]:      suppress warning messages"
+msgstr "    -q  [či --quiet]:    nebude vypisovat varovné hlášky"
+
+#: fdisk/sfdisk.c:2329
+msgid "    You can override the detected geometry using:"
+msgstr "    Nalezenou geometrii můžete přepsat pomocí:"
+
+#: fdisk/sfdisk.c:2330
+msgid "    -C# [or --cylinders #]:set the number of cylinders to use"
+msgstr "    -C# [či --cylinders #]:nastaví počet cylindrů"
+
+#: fdisk/sfdisk.c:2331
+msgid "    -H# [or --heads #]:    set the number of heads to use"
+msgstr "    -H# [či --heads #]:    nastaví počet hlav"
+
+#: fdisk/sfdisk.c:2332
+msgid "    -S# [or --sectors #]:  set the number of sectors to use"
+msgstr "    -S# [či --sectors #]:  nastaví počet cylindrů"
+
+#: fdisk/sfdisk.c:2333
+msgid "You can disable all consistency checking with:"
+msgstr "Ověřování konzistence můžete vypnout pomocí:"
+
+#: fdisk/sfdisk.c:2334
+msgid "    -f  [or --force]:      do what I say, even if it is stupid"
+msgstr "    -f  [či --force]:    akceptuje veškeré - i nesmyslné - požadavky"
+
+#: fdisk/sfdisk.c:2340
+msgid "Usage:"
+msgstr "Použití:"
+
+#: fdisk/sfdisk.c:2341
+#, c-format
+msgid "%s device\t\t list active partitions on device\n"
+msgstr "%s zařízení\t\t vypíše aktivní diskové oddíly na daném zařízení\n"
+
+#: fdisk/sfdisk.c:2342
+#, c-format
+msgid "%s device n1 n2 ... activate partitions n1 ..., inactivate the rest\n"
+msgstr ""
+"%s zařízení n1 n2 ... aktivuje diskové oddíly n1 ..., deaktivuje ostatní\n"
+
+#: fdisk/sfdisk.c:2343
+#, c-format
+msgid "%s -An device\t activate partition n, inactivate the other ones\n"
+msgstr "%s -An zařízení\t aktivuje diskový oddíl n, deaktivuje ostatní\n"
+
+#: fdisk/sfdisk.c:2463
+#, 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"
+
+#: fdisk/sfdisk.c:2466
+#, 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"
+
+#: fdisk/sfdisk.c:2505
+msgid "no command?\n"
+msgstr "žádný příkaz?\n"
+
+#: fdisk/sfdisk.c:2637
+#, c-format
+msgid "total: %llu blocks\n"
+msgstr "celkový počet bloků: %'llu\n"
+
+#: fdisk/sfdisk.c:2680
+msgid "usage: sfdisk --print-id device partition-number\n"
+msgstr "Použití: sfdisk --print-id zařízení číslo diskového oddílu\n"
+
+#: fdisk/sfdisk.c:2682
+msgid "usage: sfdisk --change-id device partition-number Id\n"
+msgstr "Použití: sfdisk --change-id zařízení Id diskového oddílu\n"
+
+#: fdisk/sfdisk.c:2684
+msgid "usage: sfdisk --id device partition-number [Id]\n"
+msgstr "Použití: sfdisk --id zařízení číslo diskového oddílu [Id]\n"
+
+#: fdisk/sfdisk.c:2691
+msgid "can specify only one device (except with -l or -s)\n"
+msgstr "můžete zadat pouze jedno zařízení (výjimkou jsou přepínače -l a -s)\n"
+
+#: fdisk/sfdisk.c:2717
+#, c-format
+msgid "cannot open %s read-write\n"
+msgstr "%s nelze otevřít pro čtení i zápis.\n"
+
+#: fdisk/sfdisk.c:2719
+#, c-format
+msgid "cannot open %s for reading\n"
+msgstr "%s nelze otevřít pro čtení\n"
+
+#: fdisk/sfdisk.c:2744
+#, c-format
+msgid "%s: OK\n"
+msgstr "%s: OK\n"
+
+#: fdisk/sfdisk.c:2763 fdisk/sfdisk.c:2796
+#, c-format
+msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+msgstr "%s: %ld cylindrů, %ld hlav, %ld sektorů/stopu\n"
+
+#: fdisk/sfdisk.c:2815
+#, c-format
+msgid "Cannot get size of %s\n"
+msgstr "Nelze zjistit velikost %s\n"
+
+#: fdisk/sfdisk.c:2895
+#, c-format
+msgid "bad active byte: 0x%x instead of 0x80\n"
+msgstr "chybný aktivní bajt: 0x%x místo 0x80\n"
+
+#: fdisk/sfdisk.c:2913 fdisk/sfdisk.c:2968 fdisk/sfdisk.c:3001
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+"Hotovo\n"
+"\n"
+
+#: fdisk/sfdisk.c:2922
+#, 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 diskových oddílů je %d. LILU to nečiní problémy, ale DOS "
+"MBR\n"
+"nastartuje pouze z disku s jedním aktivním diskovým oddílem.\n"
+
+#: fdisk/sfdisk.c:2938
+#, c-format
+msgid "partition %s has id %x and is not hidden\n"
+msgstr "diskový oddíl %s má id %x a není skrytý\n"
+
+#: fdisk/sfdisk.c:2997
+#, c-format
+msgid "Bad Id %lx\n"
+msgstr "Id %lx je chybné\n"
+
+#: fdisk/sfdisk.c:3014
+msgid "This disk is currently in use.\n"
+msgstr "Tento disk je právě používán.\n"
+
+#: fdisk/sfdisk.c:3033
+#, c-format
+msgid "Fatal error: cannot find %s\n"
+msgstr "Fatální chyba: %s nelze nalézt\n"
+
+#: fdisk/sfdisk.c:3036
+#, c-format
+msgid "Warning: %s is not a block device\n"
+msgstr "Varování: %s není blokovým zařízením\n"
+
+#: fdisk/sfdisk.c:3042
+msgid "Checking that no-one is using this disk right now ...\n"
+msgstr "Ověřuji, zda tento disk není právě používán…\n"
+
+#: fdisk/sfdisk.c:3044
+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í diskových 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"
+
+#: fdisk/sfdisk.c:3048
+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"
+
+#: fdisk/sfdisk.c:3052
+msgid "OK\n"
+msgstr "OK\n"
+
+#: fdisk/sfdisk.c:3061
+#, c-format
+msgid "Old situation:\n"
+msgstr "Stará situace:\n"
+
+#: fdisk/sfdisk.c:3065
+#, c-format
+msgid "Partition %d does not exist, cannot change it\n"
+msgstr "Diskový oddíl %d neexistuje. Nelze jej změnit.\n"
+
+#: fdisk/sfdisk.c:3073
+#, c-format
+msgid "New situation:\n"
+msgstr "Nová situace:\n"
+
+#: fdisk/sfdisk.c:3078
+msgid ""
+"I don't like these partitions - nothing changed.\n"
+"(If you really want this, use the --force option.)\n"
+msgstr ""
+"Toto rozložení diskových oddílů se mi nelíbí - nic neměním.\n"
+"(Pokud jej opravdu chcete použít, pak zadejte přepínač --force.)\n"
+
+#: fdisk/sfdisk.c:3081
+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"
+
+#: fdisk/sfdisk.c:3086
+#, c-format
+msgid "Are you satisfied with this? [ynq] "
+msgstr "Vyhovuje Vám to? [ynq] "
+
+#: fdisk/sfdisk.c:3088
+#, c-format
+msgid "Do you want to write this to disk? [ynq] "
+msgstr "Uložit na disk? [ynq] "
+
+#: fdisk/sfdisk.c:3093
+#, c-format
+msgid ""
+"\n"
+"sfdisk: premature end of input\n"
+msgstr ""
+"\n"
+"sfdisk: předčasný konec vstupu\n"
+
+#: fdisk/sfdisk.c:3095
+msgid "Quitting - nothing changed\n"
+msgstr "Končím - nebyly učiněny žádné změny\n"
+
+#: fdisk/sfdisk.c:3101
+#, c-format
+msgid "Please answer one of y,n,q\n"
+msgstr "Odpovězte prosím y,n či q\n"
+
+#: fdisk/sfdisk.c:3109
+#, c-format
+msgid ""
+"Successfully wrote the new partition table\n"
+"\n"
+msgstr ""
+"Nová tabulka rozdělení disku byla úspěšně uložena.\n"
+"\n"
+
+#: fdisk/sfdisk.c:3115
+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řil či změnil nějaké DOSOVÉ diskové 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"
+
+#: fsck/fsck.c:327
+#, c-format
+msgid "WARNING: couldn't open %s: %s\n"
+msgstr "VAROVÁNÍ: %s se nepodařilo otevřít: %s\n"
+
+#: fsck/fsck.c:337
+#, c-format
+msgid "WARNING: bad format on line %d of %s\n"
+msgstr "VAROVÁNÍ: chybný formát na řádku %d souboru %s\n"
+
+#: fsck/fsck.c:353
+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 ""
+"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"
+"\n"
+
+#: fsck/fsck.c:461
+#, c-format
+msgid "fsck: %s: not found\n"
+msgstr "fsck: %s: nenalezeno\n"
+
+#: fsck/fsck.c:577
+#, c-format
+msgid "%s: wait: No more child process?!?\n"
+msgstr "%s: wait: Žádní další potomci?!\n"
+
+#: fsck/fsck.c:599
+#, c-format
+msgid "Warning... %s for device %s exited with signal %d.\n"
+msgstr "Varování… %s nad zařízením %s skončil signálem %d.\n"
+
+#: fsck/fsck.c:605
+#, c-format
+msgid "%s %s: status is %x, should never happen.\n"
+msgstr "%s %s: status je %x, to by nikdy nemělo přihodit.\n"
+
+#: fsck/fsck.c:644
+#, c-format
+msgid "Finished with %s (exit status %d)\n"
+msgstr "%s dokončeno (návratový kód %d)\n"
+
+#: fsck/fsck.c:704
+#, c-format
+msgid "%s: Error %d while executing fsck.%s for %s\n"
+msgstr "%s: Chyba %d při provádění fsck.%s nad %s\n"
+
+#: fsck/fsck.c:725
+msgid ""
+"Either all or none of the filesystem types passed to -t must be prefixed\n"
+"with 'no' or '!'.\n"
+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 „!“.\n"
+
+#: fsck/fsck.c:744
+msgid "Couldn't allocate memory for filesystem types\n"
+msgstr "Pro typy souborových systémů nebylo možné alokovat paměť\n"
+
+#: fsck/fsck.c:867
+#, c-format
+msgid ""
+"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass "
+"number\n"
+msgstr ""
+"%s: přeskakuji chybný řádek v /etc/fstab: přípojný bod typu bind\n"
+"s nenulovým pořadím kontroly\n"
+
+#: fsck/fsck.c:894
+#, c-format
+msgid "fsck: cannot check %s: fsck.%s not found\n"
+msgstr "fsck: %s nelze zkontrolovat: fsck.%s nenalezen\n"
+
+#: fsck/fsck.c:950
+msgid "Checking all file systems.\n"
+msgstr "Kontroluji všechny systému souborů.\n"
+
+#: fsck/fsck.c:1041
+#, c-format
+msgid "--waiting-- (pass %d)\n"
+msgstr "– čeká se – (průchod %d)\n"
+
+#: fsck/fsck.c:1061
+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"
+
+#: fsck/fsck.c:1099
+#, c-format
+msgid "%s: too many devices\n"
+msgstr "%s: příliš mnoho zařízení\n"
+
+#: fsck/fsck.c:1110
+#, c-format
+msgid "Couldn't open %s: %s\n"
+msgstr "%s nebylo možné otevřít: %s\n"
+
+#: fsck/fsck.c:1112
+#, c-format
+msgid "Is /proc mounted?\n"
+msgstr "Je /proc připojeno?\n"
+
+#: fsck/fsck.c:1121
+#, c-format
+msgid "Must be root to scan for matching filesystems: %s\n"
+msgstr "Jen root může hledat odpovídající souborové systémy: %s\n"
+
+#: fsck/fsck.c:1124
+#, c-format
+msgid "Couldn't find matching filesystem: %s\n"
+msgstr "Nebylo možné nalézt odpovídající systém souborů: %s\n"
+
+#: fsck/fsck.c:1132 fsck/fsck.c:1218
+#, c-format
+msgid "%s: too many arguments\n"
+msgstr "%s: příliš mnoho argumentů\n"
+
+#: fsck/fsck.c:1252
+#, c-format
+msgid "fsck from %s\n"
+msgstr "fsck z %s\n"
+
+#: fsck/fsck.c:1264
+#, c-format
+msgid "%s: Unable to allocate memory for fsck_path\n"
+msgstr "%s: Paměť pro fsck_path nelze alokovat\n"
+
+#: getopt/getopt.c:229
+msgid "Try `getopt --help' for more information.\n"
+msgstr "Více informací získáte příkazem ?getopt --help“.\n"
+
+#: getopt/getopt.c:295
+msgid "empty long option after -l or --long argument"
+msgstr "prázdná dlouhá volba po přepínači -l či --long"
+
+#: getopt/getopt.c:315
+msgid "unknown shell after -s or --shell argument"
+msgstr "neznámý shell po přepínači -s či --shell"
+
+#: getopt/getopt.c:320
+msgid "Usage: getopt optstring parameters\n"
+msgstr "Použití: getopt řetězec-s-volbami přepínače\n"
+
+#: getopt/getopt.c:321
+msgid "       getopt [options] [--] optstring parameters\n"
+msgstr "       getopt [volby] [--] řetězec-s-volbami přepínače\n"
+
+#: getopt/getopt.c:322
+msgid "       getopt [options] -o|--options optstring [options] [--]\n"
+msgstr "       getopt [volby] -o|--options řetězec-s-volbami [volby] [--]\n"
+
+#: getopt/getopt.c:323
+msgid "              parameters\n"
+msgstr "              argumenty\n"
+
+#: getopt/getopt.c:324
+msgid ""
+"  -a, --alternative            Allow long options starting with single -\n"
+msgstr ""
+"  -a, --alternative            Akceptuje dlouhé volby začínající jedním -\n"
+
+#: getopt/getopt.c:325
+msgid "  -h, --help                   This small usage guide\n"
+msgstr "  -h, --help                   Vypíše tuto nápovědu\n"
+
+#: getopt/getopt.c:326
+msgid "  -l, --longoptions=longopts   Long options to be recognized\n"
+msgstr "  -l, --longoptions=dlouhvol   Rozpoznávané dlouhé volby\n"
+
+#: getopt/getopt.c:327
+msgid ""
+"  -n, --name=progname          The name under which errors are reported\n"
+msgstr ""
+"  -n, --name=názevprog          Název, pod kterým jsou oznamovány chyby\n"
+
+#: getopt/getopt.c:328
+msgid "  -o, --options=optstring      Short options to be recognized\n"
+msgstr "  -o, --options=krátvol        Rozpoznávané krátké volby\n"
+
+#: getopt/getopt.c:329
+msgid "  -q, --quiet                  Disable error reporting by getopt(3)\n"
+msgstr ""
+"  -q, --quiet                  Vypne oznamování chyb pomocí getopt(3)\n"
+
+#: getopt/getopt.c:330
+msgid "  -Q, --quiet-output           No normal output\n"
+msgstr "  -Q, --quiet-output           Žádný normální výstup\n"
+
+#: getopt/getopt.c:331
+msgid "  -s, --shell=shell            Set shell quoting conventions\n"
+msgstr "  -s, --shell=shell            Nastaví konvence uzavíraní\n"
+
+#: getopt/getopt.c:332
+msgid "  -T, --test                   Test for getopt(1) version\n"
+msgstr "  -T, --test                   Testuje verzi getopt(1)\n"
+
+#: getopt/getopt.c:333
+msgid "  -u, --unqote                 Do not quote the output\n"
+msgstr "  -u, --unqote                 neuzavře výstup do uvozovek\n"
+
+#: getopt/getopt.c:334
+msgid "  -V, --version                Output version information\n"
+msgstr "  -V, --version                Vypíše informace o verzi\n"
+
+#: getopt/getopt.c:388 getopt/getopt.c:447
+msgid "missing optstring argument"
+msgstr "chybí řetězec-s-volbami"
+
+#: getopt/getopt.c:435
+#, c-format
+msgid "getopt (enhanced) 1.1.4\n"
+msgstr "getopt (rozšířené) 1.1.4\n"
+
+#: getopt/getopt.c:441
+msgid "internal error, contact the author."
+msgstr "Vnitřní chyba, oznamte ji autorovi."
+
+#: hwclock/cmos.c:176
+#, c-format
+msgid "booted from MILO\n"
+msgstr "spuštěn pomocí MILO\n"
+
+#: hwclock/cmos.c:185
+#, c-format
+msgid "Ruffian BCD clock\n"
+msgstr "hodnoty uloženy v BCD tvaru\n"
+
+#: hwclock/cmos.c:201
+#, 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"
+
+#: hwclock/cmos.c:213
+#, c-format
+msgid "funky TOY!\n"
+msgstr "funky TOY!\n"
+
+#: hwclock/cmos.c:244
+#, c-format
+msgid "%s: atomic %s failed for 1000 iterations!"
+msgstr "%s: 1000 neúspěšných pokusů o atomické provedení %s!"
+
+#: hwclock/cmos.c:273
+#, c-format
+msgid "cmos_read(): write to control address %X failed: %s\n"
+msgstr "cmos_read(): zápis na řídící adresu %X selhal: %s\n"
+
+#: hwclock/cmos.c:276
+#, c-format
+msgid "cmos_read(): read data address %X failed: %s\n"
+msgstr "cmos_read(): čtení z datové adresy %X selhalo: %s\n"
+
+#: hwclock/cmos.c:307
+#, c-format
+msgid "cmos_write(): write to control address %X failed: %s\n"
+msgstr "cmos_write(): zápis na řídící adresu %X selhal: %s\n"
+
+#: hwclock/cmos.c:311
+#, c-format
+msgid "cmos_write(): write to data address %X failed: %s\n"
+msgstr "cmos_write(): zápis na datovou adresu %X selhal: %s\n"
+
+#: hwclock/cmos.c:574
+#, c-format
+msgid "Cannot open /dev/port: %s"
+msgstr "/dev/port nelze otevřít: %s"
+
+#: hwclock/cmos.c:581
+#, c-format
+msgid "I failed to get permission because I didn't try.\n"
+msgstr "Jelikož jsem se nesnažil, nepodařilo se mi získat práva pro přístup.\n"
+
+#: hwclock/cmos.c:584
+#, c-format
+msgid "%s is unable to get I/O port access:  the iopl(3) call failed.\n"
+msgstr "%s: přístup k portu nelze získat:  volání iopl(3) selhalo.\n"
+
+#: hwclock/cmos.c:587
+#, c-format
+msgid "Probably you need root privileges.\n"
+msgstr "Pravděpodobně je třeba mít práva superuživatele.\n"
+
+#: hwclock/hwclock.c:231
+#, 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"
+
+#: hwclock/hwclock.c:232 hwclock/hwclock.c:327
+msgid "UTC"
+msgstr "greenwichský"
+
+#: hwclock/hwclock.c:232 hwclock/hwclock.c:326
+msgid "local"
+msgstr "místní"
+
+#: hwclock/hwclock.c:312
+#, c-format
+msgid "%s: Warning: unrecognized third line in adjtime file\n"
+msgstr "%s: Varování: neznámý formát třetího řádku v souboru adjtime\n"
+
+#: hwclock/hwclock.c:314
+#, c-format
+msgid "(Expected: `UTC' or `LOCAL' or nothing.)\n"
+msgstr "(Očekáváno „UTC“, „LOCAL“ či nic.)\n"
+
+#: hwclock/hwclock.c:321
+#, 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"
+
+#: hwclock/hwclock.c:323
+#, c-format
+msgid "Last calibration done at %ld seconds after 1969\n"
+msgstr "Poslední kalibrace proběhla %ld sekund od roku 1969.\n"
+
+#: hwclock/hwclock.c:325
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr "Hodiny reálného času jsou nastaveny na %s čas.\n"
+
+#: hwclock/hwclock.c:327
+msgid "unknown"
+msgstr "neznámý"
+
+#: hwclock/hwclock.c:351
+#, c-format
+msgid "Waiting for clock tick...\n"
+msgstr "čekám na tik hodin…\n"
+
+#: hwclock/hwclock.c:357
+#, c-format
+msgid "...synchronization failed\n"
+msgstr "…synchronizace se nezdařila\n"
+
+#: hwclock/hwclock.c:359
+#, c-format
+msgid "...got clock tick\n"
+msgstr "…hodiny tikly\n"
+
+#: hwclock/hwclock.c:413
+#, 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"
+
+#: hwclock/hwclock.c:421
+#, 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"
+
+#: hwclock/hwclock.c:451
+#, 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"
+
+#: hwclock/hwclock.c:480
+#, 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"
+
+#: hwclock/hwclock.c:486
+#, c-format
+msgid "Clock not changed - testing only.\n"
+msgstr "Testovací režim - Čas nezměněn.\n"
+
+#: hwclock/hwclock.c:536
+#, 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"
+
+#: hwclock/hwclock.c:572
+#, c-format
+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).\n"
+msgstr ""
+"Registry hodin reálného času obsahují hodnoty, které jsou buď chybné (např.\n"
+"50tý den v měsíci), či mimo přípustný rozsah (např. rok 2095).\n"
+
+#: hwclock/hwclock.c:582
+#, c-format
+msgid "%s  %.6f seconds\n"
+msgstr "%s  %.6f sekundy\n"
+
+#: hwclock/hwclock.c:616
+#, c-format
+msgid "No --date option specified.\n"
+msgstr "Přepínač --date vyžaduje argument.\n"
+
+#: hwclock/hwclock.c:622
+#, c-format
+msgid "--date argument too long\n"
+msgstr "argument --date je příliš dlouhý\n"
+
+#: hwclock/hwclock.c:629
+#, c-format
+msgid ""
+"The value of the --date option is not a valid date.\n"
+"In particular, it contains quotation marks.\n"
+msgstr ""
+"Argument přepínače --date není platným datem. Konkrétně obsahuje uvozovky.\n"
+
+#: hwclock/hwclock.c:637
+#, c-format
+msgid "Issuing date command: %s\n"
+msgstr "Spouštím příkaz 'date': %s\n"
+
+#: hwclock/hwclock.c:641
+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."
+
+#: hwclock/hwclock.c:649
+#, c-format
+msgid "response from date command = %s\n"
+msgstr "odpověď příkazu 'date' = %s\n"
+
+#: hwclock/hwclock.c:651
+#, c-format
+msgid ""
+"The date command issued by %s returned unexpected results.\n"
+"The command was:\n"
+"  %s\n"
+"The response was:\n"
+"  %s\n"
+msgstr ""
+"Od příkazu 'date' spuštěného programem %s, přišla nečekaná odpověď.\n"
+"Příkaz:\n"
+"  %s\n"
+"Odpověď:\n"
+"  %s\n"
+
+#: hwclock/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"
+
+#: hwclock/hwclock.c:674
+#, 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"
+
+#: hwclock/hwclock.c:706
+#, c-format
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot set the "
+"System Time from it.\n"
+msgstr ""
+"Systémový čas nelze podle hodin reálného času nastavit, protože neukazují\n"
+"platný čas.\n"
+
+#: hwclock/hwclock.c:728 hwclock/hwclock.c:805
+#, c-format
+msgid "Calling settimeofday:\n"
+msgstr "Volám settimeofday:\n"
+
+#: hwclock/hwclock.c:729 hwclock/hwclock.c:807
+#, c-format
+msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+
+#: hwclock/hwclock.c:731 hwclock/hwclock.c:809
+#, c-format
+msgid "\ttz.tz_minuteswest = %d\n"
+msgstr "\ttz.tz_minuteswest = %d\n"
+
+#: hwclock/hwclock.c:734 hwclock/hwclock.c:812
+#, c-format
+msgid "Not setting system clock because running in test mode.\n"
+msgstr "Testovací režim - systémový čas nezměněn.\n"
+
+#: hwclock/hwclock.c:743 hwclock/hwclock.c:821
+#, c-format
+msgid "Must be superuser to set system clock.\n"
+msgstr "Nastavit systémový čas může pouze superuživatel.\n"
+
+#: hwclock/hwclock.c:746 hwclock/hwclock.c:824
+msgid "settimeofday() failed"
+msgstr "volání settimeofday() selhalo"
+
+#: hwclock/hwclock.c:782
+#, c-format
+msgid "Current system time: %ld = %s\n"
+msgstr "Současný systémový čas: %ld = %s\n"
+
+#: hwclock/hwclock.c:806
+#, c-format
+msgid "\tUTC: %s\n"
+msgstr "\tUTC: %s\n"
+
+#: hwclock/hwclock.c:853
+#, 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"
+
+#: hwclock/hwclock.c:858
+#, 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"
+
+#: hwclock/hwclock.c:864
+#, 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"
+
+#: hwclock/hwclock.c:912
+#, 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"
+
+#: hwclock/hwclock.c:962
+#, c-format
+msgid "Time since last adjustment is %d seconds\n"
+msgstr "Počet sekund od poslední opravy: %d\n"
+
+#: hwclock/hwclock.c:964
+#, 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"
+
+#: hwclock/hwclock.c:993
+#, c-format
+msgid "Not updating adjtime file because of testing mode.\n"
+msgstr "Testovací režim - soubor adjtime nezměněn.\n"
+
+#: hwclock/hwclock.c:994
+#, c-format
+msgid ""
+"Would have written the following to %s:\n"
+"%s"
+msgstr ""
+"Do %s by bylo uloženo následující:\n"
+"%s"
+
+#: hwclock/hwclock.c:1002
+#, 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"
+
+#: hwclock/hwclock.c:1007 hwclock/hwclock.c:1012
+#, 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"
+
+#: hwclock/hwclock.c:1018
+#, c-format
+msgid "Drift adjustment parameters not updated.\n"
+msgstr "Parametry opravy posunu nezměněny.\n"
+
+#: hwclock/hwclock.c:1059
+#, c-format
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot adjust it.\n"
+msgstr "Hodiny reálného času obsahují neplatný čas, tudíž jej nelze opravit.\n"
+
+#: hwclock/hwclock.c:1067
+#, 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á."
+
+#: hwclock/hwclock.c:1090
+#, 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"
+
+#: hwclock/hwclock.c:1116
+#, c-format
+msgid "Using %s.\n"
+msgstr "Používám %s.\n"
+
+#: hwclock/hwclock.c:1118
+#, c-format
+msgid "No usable clock interface found.\n"
+msgstr "Nebylo nalezeno žádné použitelné rozhraní k hodinám.\n"
+
+#: hwclock/hwclock.c:1222 hwclock/hwclock.c:1228
+#, c-format
+msgid "Unable to set system clock.\n"
+msgstr "Systémový čas nelze nastavit.\n"
+
+#: hwclock/hwclock.c:1258
+#, c-format
+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.\n"
+msgstr ""
+"Jádro obsahuje hodnotu počátku epochy pro hodiny reálného času pouze na "
+"Alpha\n"
+"systémech.\n"
+"Tento program nebyl přeložen pro Alpha systém ( a tudíž pravděpodobně nyní\n"
+"neběží na Alphě). Ignorováno.\n"
+
+#: hwclock/hwclock.c:1267
+#, c-format
+msgid "Unable to get the epoch value from the kernel.\n"
+msgstr "Počátek epochy nelze z jádra zjistit.\n"
+
+#: hwclock/hwclock.c:1269
+#, c-format
+msgid "Kernel is assuming an epoch value of %lu\n"
+msgstr "Jádro pokládá za počátek epochy %lu.\n"
+
+#: hwclock/hwclock.c:1272
+#, c-format
+msgid ""
+"To set the epoch value, you must use the 'epoch' option to tell to what "
+"value to set it.\n"
+msgstr "Počátek epochy nastavíte pomocí přepínačů epoch a setepoch.\n"
+
+#: hwclock/hwclock.c:1275
+#, 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"
+
+#: hwclock/hwclock.c:1278
+#, 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"
+
+#: hwclock/hwclock.c:1291 misc-utils/cal.c:345 misc-utils/kill.c:189
+#, c-format
+msgid "%s from %s\n"
+msgstr "%s na %s\n"
+
+#: hwclock/hwclock.c:1312
+#, c-format
+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"
+"  -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"
+"  -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 počátek epochy 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"
+
+#: hwclock/hwclock.c:1347
+#, c-format
+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"
+
+#: hwclock/hwclock.c:1434
+#, c-format
+msgid "%s: Unable to connect to audit system\n"
+msgstr "%s: Nelze se připojit ke kontrolnímu systému\n"
+
+#: hwclock/hwclock.c:1552
+#, 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"
+
+#: hwclock/hwclock.c:1559
+#, c-format
+msgid ""
+"You have specified multiple functions.\n"
+"You can only perform one function at a time.\n"
+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.\n"
+
+#: hwclock/hwclock.c:1566
+#, c-format
+msgid ""
+"%s: The --utc and --localtime options are mutually exclusive.  You specified "
+"both.\n"
+msgstr "%s: Přepínače --utc a --localtime nelze použít zároveň.\n"
+
+#: hwclock/hwclock.c:1573
+#, c-format
+msgid ""
+"%s: The --adjust and --noadjfile options are mutually exclusive.  You "
+"specified both.\n"
+msgstr ""
+"%s: Volby --adjust a --noadjfile se vzájemně vylučují. Vy jste však použil "
+"obě.\n"
+
+#: hwclock/hwclock.c:1580
+#, c-format
+msgid ""
+"%s: The --adjfile and --noadjfile options are mutually exclusive.  You "
+"specified both.\n"
+msgstr ""
+"%s: Volby --adjfile a --noadjfile se vzájemně vylučují. Vy jste však použil"
+"(a) obě.\n"
+
+#: hwclock/hwclock.c:1589
+#, c-format
+msgid "%s: With --noadjfile, you must specify either --utc or --localtime\n"
+msgstr "%s: Současně s --noadjfile musíte použít buď --utc, nebo --localtime\n"
+
+#: hwclock/hwclock.c:1603
+#, c-format
+msgid "No usable set-to time.  Cannot set clock.\n"
+msgstr "Nebyl zadán platný čas, který mám nastavit. Hodiny nelze nastavit.\n"
+
+#: hwclock/hwclock.c:1620
+#, c-format
+msgid "Sorry, only the superuser can change the Hardware Clock.\n"
+msgstr "Hodiny reálného času může nastavit pouze superuživatel.\n"
+
+#: hwclock/hwclock.c:1625
+#, c-format
+msgid "Sorry, only the superuser can change the System Clock.\n"
+msgstr "Hodiny reálného času může nastavit pouze superuživatel.\n"
+
+#: hwclock/hwclock.c:1630
+#, c-format
+msgid ""
+"Sorry, only the superuser can change the Hardware Clock epoch in the "
+"kernel.\n"
+msgstr "Hodnotu počátku epochy v jádře může nastavit pouze superuživatel.\n"
+
+#: hwclock/hwclock.c:1651
+#, c-format
+msgid "Cannot access the Hardware Clock via any known method.\n"
+msgstr ""
+"Žádným ze známých způsobů nelze získat přístup k hodinám reálného času.\n"
+
+#: hwclock/hwclock.c:1655
+#, c-format
+msgid ""
+"Use the --debug option to see the details of our search for an access "
+"method.\n"
+msgstr "Pro zjištění podrobností použijte přepínač --debug.\n"
+
+#: hwclock/kd.c:53
+#, 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"
+
+#: hwclock/kd.c:56
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr "volání KDGHWCLK ioctl selhalo."
+
+#: hwclock/kd.c:77 hwclock/rtc.c:221
+#, c-format
+msgid "Timed out waiting for time change.\n"
+msgstr "V Časovém limitu se nepodařilo zjistit čas.\n"
+
+#: hwclock/kd.c:81
+msgid "KDGHWCLK ioctl to read time failed in loop"
+msgstr "volání KDGHWCLK ioctl ve smyčce selhalo."
+
+#: hwclock/kd.c:103
+#, c-format
+msgid "ioctl() failed to read time from %s"
+msgstr "čas se pomocí volání ioctl() pro %s nepodařilo zjistit"
+
+#: hwclock/kd.c:139
+msgid "ioctl KDSHWCLK failed"
+msgstr "volání ioctl KDSHWCLK selhalo"
+
+#: hwclock/kd.c:175
+msgid "Can't open /dev/tty1 or /dev/vc/1"
+msgstr "/dev/tty1 ani /dev/vc/1 nelze otevřít"
+
+#: hwclock/kd.c:179
+msgid "KDGHWCLK ioctl failed"
+msgstr "volání ioctl KDGHWCLK selhalo"
+
+#: hwclock/rtc.c:147 hwclock/rtc.c:241
+#, c-format
+msgid "open() of %s failed"
+msgstr "%s nelze otevřít - volání open() selhalo"
+
+#: hwclock/rtc.c:181
+#, c-format
+msgid "ioctl() to %s to read the time failed.\n"
+msgstr "čas se pomocí volání ioctl() pro %s nepodařilo zjistit\n"
+
+#: hwclock/rtc.c:203
+#, 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"
+
+#: hwclock/rtc.c:259
+#, c-format
+msgid "%s does not have interrupt functions. "
+msgstr "%s nemá přerušovací funkce. "
+
+#: hwclock/rtc.c:270
+#, c-format
+msgid "read() to %s to wait for clock tick failed"
+msgstr "tikání hodin nelze z %s číst - volání read() selhalo"
+
+#: hwclock/rtc.c:288
+#, c-format
+msgid "select() to %s to wait for clock tick failed"
+msgstr "Čekání na tik hodin pomocí select() nad %s selhal"
+
+#: hwclock/rtc.c:291
+#, c-format
+msgid "select() to %s to wait for clock tick timed out\n"
+msgstr "Nedočkal jsem se tiku hodin pomocí select() nad %s\n"
+
+#: hwclock/rtc.c:300
+#, 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"
+
+#: hwclock/rtc.c:303
+#, 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"
+
+#: hwclock/rtc.c:360
+#, c-format
+msgid "ioctl() to %s to set the time failed.\n"
+msgstr "Čas nelze nastavit - volání ioctl() pro %s selhalo.\n"
+
+#: hwclock/rtc.c:366
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr "Volání ioctl(%s) bylo úspěšné.\n"
+
+#: hwclock/rtc.c:392
+#, c-format
+msgid "Open of %s failed"
+msgstr "%s nelze otevřít."
+
+#: hwclock/rtc.c:410 hwclock/rtc.c:454
+#, 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.\n"
+msgstr ""
+"Pro změnu hodnoty počátku epochy v jádře je nutné použít 'rtc' ovladač "
+"pomocí\n"
+"zvláštního souboru %s. Tento soubor na tomto systému souborů neexistuje.\n"
+
+#: hwclock/rtc.c:415 hwclock/rtc.c:459
+#, c-format
+msgid "Unable to open %s"
+msgstr "%s nelze otevřít"
+
+#: hwclock/rtc.c:422
+#, c-format
+msgid "ioctl(RTC_EPOCH_READ) to %s failed"
+msgstr "volání(RTC_EPOCH_READ) pro %s selhalo"
+
+#: hwclock/rtc.c:427
+#, 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"
+
+#: hwclock/rtc.c:446
+#, c-format
+msgid "The epoch value may not be less than 1900.  You requested %ld\n"
+msgstr "Hodnota počátku epochy nesmí být menší než 1900 (požadováno %ld).\n"
+
+#: hwclock/rtc.c:464
+#, 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"
+
+#: hwclock/rtc.c:469
+#, c-format
+msgid ""
+"The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl.\n"
+msgstr "Ovladač jádra pro %s nepodporuje RTC_EPOCH_SET ioctl.\n"
+
+#: hwclock/rtc.c:472
+#, c-format
+msgid "ioctl(RTC_EPOCH_SET) to %s failed"
+msgstr "volání ioctl(RTC_EPOCH_SET) pro %s selhalo"
+
+#: login-utils/agetty.c:361
+#, c-format
+msgid "%s: can't exec %s: %m"
+msgstr "%s: %s nelze spustit: %m"
+
+#: login-utils/agetty.c:384
+msgid "can't malloc initstring"
+msgstr "paměť pro inicializační řetězec nelze alokovat"
+
+#: login-utils/agetty.c:449
+#, c-format
+msgid "bad timeout value: %s"
+msgstr "chybný časový limit: %s"
+
+#: login-utils/agetty.c:526
+#, c-format
+msgid "bad speed: %s"
+msgstr "chybná rychlost %s"
+
+#: login-utils/agetty.c:528
+msgid "too many alternate speeds"
+msgstr "příliš mnoho alternativních rychlostí"
+
+#: login-utils/agetty.c:630
+#, c-format
+msgid "/dev: chdir() failed: %m"
+msgstr "/dev: volání chdir() selhalo: %m"
+
+#: login-utils/agetty.c:634
+#, c-format
+msgid "/dev/%s: not a character device"
+msgstr "/dev/%s není znakovým zařízením"
+
+#: login-utils/agetty.c:643
+#, c-format
+msgid "/dev/%s: cannot open as standard input: %m"
+msgstr "/dev/%s nelze otevřít jako standardní vstup: %m"
+
+#: login-utils/agetty.c:653
+#, c-format
+msgid "%s: not open for read/write"
+msgstr "%s: není otevřeno pro čtení/zápis"
+
+#: login-utils/agetty.c:659
+#, c-format
+msgid "%s: dup problem: %m"
+msgstr "%s: volání dup selhalo: %m"
+
+#: login-utils/agetty.c:946
+#, c-format
+msgid "user"
+msgstr "uživatel"
+
+#: login-utils/agetty.c:946
+#, c-format
+msgid "users"
+msgstr "uživatelé"
+
+#: login-utils/agetty.c:1031
+#, c-format
+msgid "%s: read: %m"
+msgstr "%s: přečteno: %m"
+
+#: login-utils/agetty.c:1078
+#, c-format
+msgid "%s: input overrun"
+msgstr "%s: přetečení vstupu"
+
+#: login-utils/agetty.c:1207
+#, c-format
+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 ""
+"Použití: %s [-8hiLmUw] [-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"
+
+#: login-utils/checktty.c:91 login-utils/checktty.c:112
+#, c-format
+msgid "login: memory low, login may fail\n"
+msgstr "login: nedostatek paměti, přihlášení se nemusí zdařit\n"
+
+#: login-utils/checktty.c:92
+msgid "can't malloc for ttyclass"
+msgstr "paměť pro ttyclass nelze alokovat"
+
+#: login-utils/checktty.c:113
+msgid "can't malloc for grplist"
+msgstr "paměť pro grplist nelze alokovat"
+
+#: login-utils/checktty.c:554
+#, c-format
+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"
+
+#: login-utils/checktty.c:565
+#, c-format
+msgid "Login on %s from %s denied.\n"
+msgstr "Přihlášení z $2%s na $1%s odmítnuto.\n"
+
+#: login-utils/chfn.c:133 login-utils/chsh.c:119
+#, c-format
+msgid "%s: you (user %d) don't exist.\n"
+msgstr "%s: vy (uživatel %d) neexistujete.\n"
+
+#: login-utils/chfn.c:140 login-utils/chsh.c:126
+#, c-format
+msgid "%s: user \"%s\" does not exist.\n"
+msgstr "%s: uživatel \"%s\" neexistuje.\n"
+
+#: login-utils/chfn.c:145 login-utils/chsh.c:131
+#, c-format
+msgid "%s: can only change local entries; use yp%s instead.\n"
+msgstr "%s: může měnit pouze místní položky; použijte yp%s.\n"
+
+#: login-utils/chfn.c:156 login-utils/chsh.c:142
+msgid "Unknown user context"
+msgstr "Neznámý kontext uživatele"
+
+#: login-utils/chfn.c:157
+#, c-format
+msgid "%s: %s is not authorized to change the finger info of %s\n"
+msgstr "%s: %s není autorizován měnit finger informace o uživateli %s\n"
+
+#: login-utils/chfn.c:164 login-utils/chsh.c:150
+#, c-format
+msgid "%s: Can't set default context for /etc/passwd"
+msgstr "%s: Nemohu nastavit výchozí kontext pro /etc/passwd"
+
+#: login-utils/chfn.c:178
+#, c-format
+msgid "Changing finger information for %s.\n"
+msgstr "Měním finger informace o uživateli %s.\n"
+
+#: login-utils/chfn.c:189 login-utils/chsh.c:188 login-utils/login.c:572
+#, c-format
+msgid "%s: PAM failure, aborting: %s\n"
+msgstr "%s: chyba PAM, končím: %s\n"
+
+#: login-utils/chfn.c:212 login-utils/chsh.c:211 login-utils/login.c:823
+#: login-utils/newgrp.c:85 login-utils/simpleinit.c:340 mount/lomount.c:744
+#: mount/lomount.c:747
+msgid "Password: "
+msgstr "Heslo: "
+
+#: login-utils/chfn.c:215 login-utils/chsh.c:214
+msgid "Incorrect password."
+msgstr "Chybné heslo."
+
+#: login-utils/chfn.c:226
+#, c-format
+msgid "Finger information not changed.\n"
+msgstr "Finger informace nebyly změněny.\n"
+
+#: login-utils/chfn.c:328
+#, c-format
+msgid "Usage: %s [ -f full-name ] [ -o office ] "
+msgstr "Použití: %s [ -f plné-jméno ] [ -o kancelář ] "
+
+#: login-utils/chfn.c:329
+#, c-format
+msgid ""
+"[ -p office-phone ]\n"
+"\t[ -h home-phone ] "
+msgstr ""
+"[ -p telefon-do-kanceláře ]\n"
+"\t[ -h telefon-domů ] "
+
+#: login-utils/chfn.c:330
+#, c-format
+msgid "[ --help ] [ --version ]\n"
+msgstr "[ --help ] [ -- version ]\n"
+
+#: login-utils/chfn.c:378
+msgid "Office"
+msgstr "Kancelář"
+
+#: login-utils/chfn.c:379
+msgid "Office Phone"
+msgstr "Telefon do práce"
+
+#: login-utils/chfn.c:380
+msgid "Home Phone"
+msgstr "Telefon domů"
+
+#: login-utils/chfn.c:401 login-utils/chsh.c:321
+#, c-format
+msgid ""
+"\n"
+"Aborted.\n"
+msgstr ""
+"\n"
+"Ukončen.\n"
+
+#: login-utils/chfn.c:434
+#, c-format
+msgid "field is too long.\n"
+msgstr "Položka je příliš dlouhá.\n"
+
+#: login-utils/chfn.c:442
+#, c-format
+msgid "'%c' is not allowed.\n"
+msgstr "'%c' není povoleno.\n"
+
+#: login-utils/chfn.c:447
+#, c-format
+msgid "Control characters are not allowed.\n"
+msgstr "Kontrolní znaky nejsou povoleny.\n"
+
+#: login-utils/chfn.c:512
+#, 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:515
+#, c-format
+msgid "Finger information changed.\n"
+msgstr "Finger informace byly změněny.\n"
+
+#: login-utils/chsh.c:143
+#, c-format
+msgid "%s: %s is not authorized to change the shell of %s\n"
+msgstr "%s: %s není oprávněn měnit shell uživatele %s\n"
+
+#: login-utils/chsh.c:164
+#, c-format
+msgid ""
+"%s: Running UID doesn't match UID of user we're altering, shell change "
+"denied\n"
+msgstr ""
+"%s: Aktuální UID se neshoduje s UID uživatele, kterého chceme změnit,\n"
+"změna shellu odmítnuta\n"
+
+#: login-utils/chsh.c:170
+#, c-format
+msgid "%s: Your shell is not in /etc/shells, shell change denied\n"
+msgstr "%s: Váš shell není v /etc/shells, změna shellu odmítnuta\n"
+
+#: login-utils/chsh.c:177
+#, c-format
+msgid "Changing shell for %s.\n"
+msgstr "Měním shell pro %s.\n"
+
+#: login-utils/chsh.c:222
+msgid "New shell"
+msgstr "Nový shell"
+
+#: login-utils/chsh.c:229
+#, c-format
+msgid "Shell not changed.\n"
+msgstr "Shell nebyl změněn.\n"
+
+#: login-utils/chsh.c:235
+#, c-format
+msgid "Shell *NOT* changed.  Try again later.\n"
+msgstr "Shell *NEBYL* změněn. Zkuste to opět později.\n"
+
+#: login-utils/chsh.c:238
+#, c-format
+msgid "Shell changed.\n"
+msgstr "Shell byl změněn.\n"
+
+#: login-utils/chsh.c:303
+#, c-format
+msgid ""
+"Usage: %s [ -s shell ] [ --list-shells ] [ --help ] [ --version ]\n"
+"       [ username ]\n"
+msgstr ""
+"Použití: %s [ -s shell ] [ --list-shells ] [ --help ] [ --version ]\n"
+"            [ uživatelské jméno ]\n"
+
+#: login-utils/chsh.c:349
+#, c-format
+msgid "%s: shell must be a full path name.\n"
+msgstr "%s: shell musí být zadán úplným jménem cesty.\n"
+
+#: login-utils/chsh.c:353
+#, c-format
+msgid "%s: \"%s\" does not exist.\n"
+msgstr "%s: \"%s\" neexistuje.\n"
+
+#: login-utils/chsh.c:357
+#, c-format
+msgid "%s: \"%s\" is not executable.\n"
+msgstr "%s: \"%s\" není spustitelným souborem.\n"
+
+#: login-utils/chsh.c:364
+#, c-format
+msgid "%s: '%c' is not allowed.\n"
+msgstr "%s: '%c' není povoleno.\n"
+
+#: login-utils/chsh.c:368
+#, c-format
+msgid "%s: Control characters are not allowed.\n"
+msgstr "%s: Kontrolní znaky nejsou povoleny.\n"
+
+#: login-utils/chsh.c:375 login-utils/chsh.c:385
+#, c-format
+msgid "Warning: \"%s\" is not listed in /etc/shells.\n"
+msgstr "Varování: \"%s\" není v /etc/shells.\n"
+
+#: login-utils/chsh.c:377
+#, c-format
+msgid "%s: \"%s\" is not listed in /etc/shells.\n"
+msgstr "%s: \"%s\" není v /etc/shells.\n"
+
+#: login-utils/chsh.c:379
+#, c-format
+msgid "%s: Use -l option to see list.\n"
+msgstr "%s: Seznam vypíšete přepínačem -l.\n"
+
+#: login-utils/chsh.c:386
+#, c-format
+msgid "Use %s -l to see list.\n"
+msgstr "Použijte %s -l pro vypsání seznamu\n"
+
+#: login-utils/chsh.c:406
+#, c-format
+msgid "No known shells.\n"
+msgstr "Není znám žádný shell.\n"
+
+#: login-utils/islocal.c:87
+#, c-format
+msgid "Failed to open %s for reading, exiting."
+msgstr "%s nelze otevřít pro čtení, končím."
+
+#: login-utils/last.c:148
+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]\n"
+"                [UŽIVATEL…]\n"
+
+#: login-utils/last.c:284
+msgid "  still logged in"
+msgstr "  stále přihlášen"
+
+#: login-utils/last.c:306
+#, c-format
+msgid ""
+"\n"
+"wtmp begins %s"
+msgstr ""
+"\n"
+"wtmp začíná %s"
+
+#: login-utils/last.c:362 login-utils/last.c:380 login-utils/last.c:431
+msgid "last: malloc failure.\n"
+msgstr "last: volání malloc selhalo.\n"
+
+#: login-utils/last.c:407
+msgid "last: gethostname"
+msgstr "last: gethostname"
+
+#: login-utils/last.c:456
+#, c-format
+msgid ""
+"\n"
+"interrupted %10.10s %5.5s \n"
+msgstr ""
+"\n"
+"přerušen %10.10s %5.5s \n"
+
+#: login-utils/login.c:197
+#, c-format
+msgid "FATAL: can't reopen tty: %s"
+msgstr "FATÁLNÍ: nelze znovu otevřít tty: %s"
+
+#: login-utils/login.c:229
+msgid "FATAL: bad tty"
+msgstr "FATÁLNÍ: špatné tty"
+
+#: login-utils/login.c:436
+#, 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:479
+#, c-format
+msgid "usage: login [-fp] [username]\n"
+msgstr "Použití: login [fp] [uživatelské jméno]\n"
+
+#: login-utils/login.c:574
+#, c-format
+msgid "Couldn't initialize PAM: %s"
+msgstr "PAM nelze inicializovat: %s"
+
+#: login-utils/login.c:591
+msgid "login: "
+msgstr "Přihlašovací jméno:"
+
+#: login-utils/login.c:635
+#, c-format
+msgid "FAILED LOGIN %d FROM %s FOR %s, %s"
+msgstr "%1$d. CHYBNÉ PŘIHLÁŠENÍ UŽIVATELE %3$s Z %2$s, %4$s"
+
+#: login-utils/login.c:640
+#, c-format
+msgid ""
+"Login incorrect\n"
+"\n"
+msgstr ""
+"Chybné přihlášení\n"
+"\n"
+
+#: login-utils/login.c:649
+#, c-format
+msgid "TOO MANY LOGIN TRIES (%d) FROM %s FOR %s, %s"
+msgstr "PŘÍLIŠ MNOHO (%1$d) POKUSŮ UŽIVATELE %3$s O PŘIHLÁŠENÍ Z %2$s, %4$s"
+
+#: login-utils/login.c:653
+#, 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:658
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+"\n"
+"Chybné přihlášení\n"
+
+#: login-utils/login.c:686 login-utils/login.c:693 login-utils/login.c:727
+#, c-format
+msgid ""
+"\n"
+"Session setup problem, abort.\n"
+msgstr ""
+"\n"
+"Problém během nastavování relace. Přerušuji činnost.\n"
+
+#: login-utils/login.c:687
+#, 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:694
+#, 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:713
+#, c-format
+msgid "login: Out of memory\n"
+msgstr "login: Nedostatek paměti\n"
+
+#: login-utils/login.c:757
+msgid "Illegal username"
+msgstr "Chybné uživatelské jméno"
+
+#: login-utils/login.c:800
+#, c-format
+msgid "%s login refused on this terminal.\n"
+msgstr "přihlášení uživatele %s na tomto terminálu odmítnuto\n"
+
+#: login-utils/login.c:805
+#, c-format
+msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
+msgstr "PŘIHLÁŠENÍ UŽIVATELE %s Z %s NA TTY %s ODMÍTNUTO"
+
+#: login-utils/login.c:809
+#, c-format
+msgid "LOGIN %s REFUSED ON TTY %s"
+msgstr "PŘIHLÁŠENÍ UŽIVATELE %s NA TTY %s ODMÍTNUTO"
+
+#: login-utils/login.c:863
+#, c-format
+msgid "Login incorrect\n"
+msgstr "Chybné přihlášení\n"
+
+#: login-utils/login.c:1088
+#, 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:1095
+#, 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:1098
+#, c-format
+msgid "ROOT LOGIN ON %s"
+msgstr "PŘIHLÁŠENÍ UŽIVATELE ROOT NA TTY %s"
+
+#: login-utils/login.c:1101
+#, 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:1104
+#, c-format
+msgid "LOGIN ON %s BY %s"
+msgstr "PŘIHLÁŠENÍ UŽIVATELE %2$s NA TTY %1$s"
+
+#: login-utils/login.c:1125
+#, c-format
+msgid "You have new mail.\n"
+msgstr "Máte novou poštu.\n"
+
+#: login-utils/login.c:1127
+#, c-format
+msgid "You have mail.\n"
+msgstr "Máte starou poštu.\n"
+
+#: login-utils/login.c:1171
+#, c-format
+msgid "login: failure forking: %s"
+msgstr "login: volání fork selhalo: %s"
+
+#: login-utils/login.c:1218
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr "Selhalo TIOCSCTTY: %m"
+
+#: login-utils/login.c:1224
+msgid "setuid() failed"
+msgstr "volání setuid() selhalo"
+
+#: login-utils/login.c:1230
+#, c-format
+msgid "No directory %s!\n"
+msgstr "Adresář %s neexistuje!\n"
+
+#: login-utils/login.c:1234
+#, 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:1242
+#, c-format
+msgid "login: no memory for shell script.\n"
+msgstr "login: nedostatek paměti pro skript shellu.\n"
+
+#: login-utils/login.c:1269
+#, c-format
+msgid "login: couldn't exec shell script: %s.\n"
+msgstr "login: skript shellu %s nelze spustit.\n"
+
+#: login-utils/login.c:1272
+#, c-format
+msgid "login: no shell: %s.\n"
+msgstr "login: žádný shell: %s.\n"
+
+#: login-utils/login.c:1287
+#, c-format
+msgid ""
+"\n"
+"%s login: "
+msgstr ""
+"\n"
+"Přihlašovací jméno na %s: "
+
+#: login-utils/login.c:1298
+#, c-format
+msgid "login name much too long.\n"
+msgstr "přihlašovací jméno je příliš dlouhé.\n"
+
+#: login-utils/login.c:1299
+msgid "NAME too long"
+msgstr "JMÉNO je příliš dlouhé"
+
+#: login-utils/login.c:1306
+#, c-format
+msgid "login names may not start with '-'.\n"
+msgstr "přihlašovací jméno nesmí začínat '-'.\n"
+
+#: login-utils/login.c:1316
+#, c-format
+msgid "too many bare linefeeds.\n"
+msgstr "příliš mnoho znaků LF\n"
+
+#: login-utils/login.c:1317
+msgid "EXCESSIVE linefeeds"
+msgstr "PŘÍLIŠ mnoho znaků LF"
+
+#: login-utils/login.c:1349
+#, c-format
+msgid "Login timed out after %d seconds\n"
+msgstr "Vypršel časový limit (%d sekund) pro přihlášení.\n"
+
+#: login-utils/login.c:1437
+#, c-format
+msgid "Last login: %.*s "
+msgstr "Poslední přihlášení: %.*s "
+
+#: login-utils/login.c:1441
+#, c-format
+msgid "from %.*s\n"
+msgstr "z %.*s\n"
+
+#: login-utils/login.c:1444
+#, c-format
+msgid "on %.*s\n"
+msgstr "%.*s\n"
+
+#: login-utils/login.c:1470
+#, c-format
+msgid "LOGIN FAILURE FROM %s, %s"
+msgstr "CHYBNÉ PŘIHLÁŠENÍ UŽIVATELE %2$s Z %1$s"
+
+#: login-utils/login.c:1473
+#, c-format
+msgid "LOGIN FAILURE ON %s, %s"
+msgstr "CHYBNÉ PŘIHLÁŠENÍ UŽIVATELE %2$s NA TTY %1$s"
+
+#: login-utils/login.c:1477
+#, c-format
+msgid "%d LOGIN FAILURES FROM %s, %s"
+msgstr "POČET CHYBNÝCH PŘIHLÁŠENÍ UŽIVATELE %3$s Z %2$s: %1$d"
+
+#: login-utils/login.c:1480
+#, c-format
+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"
+
+#: login-utils/mesg.c:89
+#, c-format
+msgid "is y\n"
+msgstr "příjem zpráv je zapnut\n"
+
+#: login-utils/mesg.c:92
+#, c-format
+msgid "is n\n"
+msgstr "příjem zpráv je vypnut\n"
+
+#: login-utils/mesg.c:112
+#, c-format
+msgid "usage: mesg [y | n]\n"
+msgstr "Použití: mesg [y | n]\n"
+
+#: login-utils/newgrp.c:105
+msgid "newgrp: Who are you?"
+msgstr "newgrp: Kdo jste?"
+
+#: login-utils/newgrp.c:113 login-utils/newgrp.c:127
+msgid "newgrp: setgid"
+msgstr "newgrp: setgid"
+
+#: login-utils/newgrp.c:120 login-utils/newgrp.c:122
+msgid "newgrp: No such group."
+msgstr "newgrp: Žádná taková skupina neexistuje."
+
+#: login-utils/newgrp.c:131
+msgid "newgrp: Permission denied"
+msgstr "newgrp: Přístup odmítnut"
+
+#: login-utils/newgrp.c:138
+msgid "newgrp: setuid"
+msgstr "newgrp: setuid"
+
+#: login-utils/newgrp.c:144
+msgid "No shell"
+msgstr "Žádný shell"
+
+#: login-utils/shutdown.c:115
+#, c-format
+msgid "Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+msgstr "Použití: shutdown [-h|-r] [-fqs] [now|hh:ss|+minuty]\n"
+
+#: login-utils/shutdown.c:133
+msgid "Shutdown process aborted"
+msgstr "Proces shutdown ukončen"
+
+#: login-utils/shutdown.c:164
+#, c-format
+msgid "%s: Only root can shut a system down.\n"
+msgstr "%s: Pouze superuživatel může vypnout systém.\n"
+
+#: login-utils/shutdown.c:258
+#, c-format
+msgid "That must be tomorrow, can't you wait till then?\n"
+msgstr "To bude zítra. To do té doby nemůžete počkat?\n"
+
+#: login-utils/shutdown.c:309
+msgid "for maintenance; bounce, bounce"
+msgstr "kvůli údržbě"
+
+#: login-utils/shutdown.c:338
+msgid "The system is being shut down within 5 minutes"
+msgstr "Systém bude za 5 minut vypnut"
+
+#: login-utils/shutdown.c:342
+msgid "Login is therefore prohibited."
+msgstr "Přihlašování je tudíž zakázáno."
+
+#: login-utils/shutdown.c:364
+#, c-format
+msgid "rebooted by %s: %s"
+msgstr "restartováno uživatelem %s: %s"
+
+#: login-utils/shutdown.c:367
+#, c-format
+msgid "halted by %s: %s"
+msgstr "zastaveno uživatelem %s: %s"
+
+#: login-utils/shutdown.c:431
+msgid ""
+"\n"
+"Why am I still alive after reboot?"
+msgstr ""
+"\n"
+"Proč jsem po restartu stále naživu?"
+
+#: login-utils/shutdown.c:433
+msgid ""
+"\n"
+"Now you can turn off the power..."
+msgstr ""
+"\n"
+"Nyní můžete vypnout proud…"
+
+#: login-utils/shutdown.c:449
+#, c-format
+msgid "Calling kernel power-off facility...\n"
+msgstr "Volám zařízení jádra pro vypínání proudu…\n"
+
+#: login-utils/shutdown.c:452
+#, c-format
+msgid "Error powering off\t%s\n"
+msgstr "Chyba při vypínání proudu\t%s\n"
+
+#: login-utils/shutdown.c:460
+#, c-format
+msgid "Executing the program \"%s\" ...\n"
+msgstr "Spouštím program „%s“…\n"
+
+#: login-utils/shutdown.c:463
+#, c-format
+msgid "Error executing\t%s\n"
+msgstr "Chyba při spuštění\t%s\n"
+
+#: login-utils/shutdown.c:490
+#, c-format
+msgid "URGENT: broadcast message from %s:"
+msgstr "NALÉHAVÉ: zpráva pro všechny od %s:"
+
+#: login-utils/shutdown.c:496
+#, c-format
+msgid "System going down in %d hours %d minutes"
+msgstr "Systém bude vypnut za %dh %dmin"
+
+#: login-utils/shutdown.c:499
+#, c-format
+msgid "System going down in 1 hour %d minutes"
+msgstr "Systém bude vypnut za 1h %dmin"
+
+#: login-utils/shutdown.c:502
+#, c-format
+msgid "System going down in %d minutes\n"
+msgstr "Systém bude vypnut za %dmin\n"
+
+#: login-utils/shutdown.c:505
+#, c-format
+msgid "System going down in 1 minute\n"
+msgstr "Systém bude vypnut za 1min\n"
+
+#: login-utils/shutdown.c:507
+#, c-format
+msgid "System going down IMMEDIATELY!\n"
+msgstr "Systém bude OKAMŽITĚ vypnut!\n"
+
+#: login-utils/shutdown.c:512
+#, c-format
+msgid "\t... %s ...\n"
+msgstr "\t... %s ...\n"
+
+#: login-utils/shutdown.c:569
+msgid "Cannot fork for swapoff. Shrug!"
+msgstr "Swapoff nelze spustit - volání fork selhalo."
+
+#: login-utils/shutdown.c:577
+msgid "Cannot exec swapoff, hoping umount will do the trick."
+msgstr "Swapoff nelze spustit - volání exec selhalo. Snad pomůže umount."
+
+#: login-utils/shutdown.c:596
+msgid "Cannot fork for umount, trying manually."
+msgstr "Umount nelze spustit - volání fork selhalo, zkouším to ručně."
+
+#: login-utils/shutdown.c:605
+#, c-format
+msgid "Cannot exec %s, trying umount.\n"
+msgstr "%s nelze spustit - volání exec selhalo, zkouším umount.\n"
+
+#: login-utils/shutdown.c:609
+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."
+
+#: login-utils/shutdown.c:614
+msgid "Unmounting any remaining filesystems..."
+msgstr "Odpojuji všechny zbývající systémy souborů…"
+
+#: login-utils/shutdown.c:661
+#, c-format
+msgid "shutdown: Couldn't umount %s: %s\n"
+msgstr "shutdown: %s nelze odpojit: %s\n"
+
+#: login-utils/simpleinit.c:132
+msgid "Booting to single user mode.\n"
+msgstr "Startuji do režimu pro jednoho uživatele.\n"
+
+#: login-utils/simpleinit.c:136
+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"
+
+#: login-utils/simpleinit.c:140
+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"
+
+#: login-utils/simpleinit.c:208
+msgid "error opening fifo\n"
+msgstr "Chyba při otevírání pojmenované roury\n"
+
+#: login-utils/simpleinit.c:212
+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"
+
+#: login-utils/simpleinit.c:259
+msgid "error running finalprog\n"
+msgstr "chyba při běhu závěrečného programu\n"
+
+#: login-utils/simpleinit.c:263
+msgid "error forking finalprog\n"
+msgstr "volání fork pro závěrečný program selhalo\n"
+
+#: login-utils/simpleinit.c:345
+msgid ""
+"\n"
+"Wrong password.\n"
+msgstr ""
+"\n"
+"Chybné heslo.\n"
+
+#: login-utils/simpleinit.c:418
+msgid "lstat of path failed\n"
+msgstr "volání lstat pro cestu selhalo\n"
+
+#: login-utils/simpleinit.c:426
+msgid "stat of path failed\n"
+msgstr "volání stat pro cestu selhalo\n"
+
+#: login-utils/simpleinit.c:434
+msgid "open of directory failed\n"
+msgstr "adresář nelze otevřít\n"
+
+#: login-utils/simpleinit.c:501
+#, c-format
+msgid "respawning: \"%s\" too fast: quenching entry\n"
+msgstr "obnovování: „%s“ příliš rychle: tlumím záznam\n"
+
+#: login-utils/simpleinit.c:509
+msgid "fork failed\n"
+msgstr "volání fork selhalo\n"
+
+#: login-utils/simpleinit.c:540 text-utils/more.c:1629
+msgid "exec failed\n"
+msgstr "volání exec selhalo\n"
+
+#: login-utils/simpleinit.c:564
+msgid "cannot open inittab\n"
+msgstr "inittab nelze otevřít\n"
+
+#: login-utils/simpleinit.c:631
+msgid "no TERM or cannot stat tty\n"
+msgstr "žádný TERM nebo selhalo volání stat pro tty\n"
+
+#: login-utils/simpleinit.c:938
+#, c-format
+msgid "error stopping service: \"%s\"\n"
+msgstr "chyba při zastavování služby: „%s“\n"
+
+#: login-utils/simpleinit.c:950
+#, c-format
+msgid "Stopped service: %s\n"
+msgstr "Zastavená služby: %s\n"
+
+#: login-utils/simpleinit.c:1070
+#, c-format
+msgid "error running programme: \"%s\"\n"
+msgstr "chyba při spouštění programu: „%s“\n"
+
+#: login-utils/ttymsg.c:75
+msgid "too many iov's (change code in wall/ttymsg.c)"
+msgstr "příliš mnoho iov (změňte kód v wall/ttymsg.c)"
+
+#: login-utils/ttymsg.c:85
+#, c-format
+msgid "excessively long line arg"
+msgstr "příliš dlouhý řádek s argumenty"
+
+#: login-utils/ttymsg.c:140
+#, c-format
+msgid "cannot fork"
+msgstr "volání fork selhalo"
+
+#: login-utils/ttymsg.c:144
+#, c-format
+msgid "fork: %s"
+msgstr "fork: %s"
+
+#: login-utils/ttymsg.c:174
+#, c-format
+msgid "%s: BAD ERROR"
+msgstr "%s: ZÁVAŽNÁ CHYBA"
+
+#: login-utils/vipw.c:143
+#, c-format
+msgid "%s: the password file is busy.\n"
+msgstr "%s: soubor s hesly se právě používá.\n"
+
+#: login-utils/vipw.c:146
+#, c-format
+msgid "%s: the group file is busy.\n"
+msgstr "%s: soubor se skupinami se právě používá.\n"
+
+#: login-utils/vipw.c:162
+#, c-format
+msgid "%s: the %s file is busy (%s present)\n"
+msgstr "%s: %s soubor se právě používá (nalezen %s)\n"
+
+#: login-utils/vipw.c:168
+#, c-format
+msgid "%s: can't link %s: %s\n"
+msgstr "%s: volání link pro %s selhalo: %s\n"
+
+#: login-utils/vipw.c:202
+#, c-format
+msgid "%s: Can't get context for %s"
+msgstr "%s: Nelze zjistit kontext pro %s"
+
+#: login-utils/vipw.c:208
+#, c-format
+msgid "%s: Can't set context for %s"
+msgstr "%s: Nelze nastavit kontext pro %s"
+
+#: login-utils/vipw.c:217
+#, c-format
+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"
+
+#: login-utils/vipw.c:240
+#, c-format
+msgid "%s: Cannot fork\n"
+msgstr "%s: volání fork selhalo\n"
+
+#: login-utils/vipw.c:276
+#, c-format
+msgid "%s: %s unchanged\n"
+msgstr "%s: %s nezměněno\n"
+
+#: login-utils/vipw.c:297
+#, c-format
+msgid "%s: no changes made\n"
+msgstr "%s: žádné změny\n"
+
+#: login-utils/vipw.c:350
+#, 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:351
+#, c-format
+msgid "You are using shadow passwords on this system.\n"
+msgstr "Tento systém používá stínová hesla.\n"
+
+#: login-utils/vipw.c:352
+#, c-format
+msgid "Would you like to edit %s now [y/n]? "
+msgstr "Chcete teď editovat soubor %s [y/n]?"
+
+#: login-utils/wall.c:112
+#, c-format
+msgid "usage: %s [file]\n"
+msgstr "Použití: %s [soubor]\n"
+
+#: login-utils/wall.c:167
+#, c-format
+msgid "%s: can't open temporary file.\n"
+msgstr "%s: dočasný soubor nelze otevřít.\n"
+
+#: login-utils/wall.c:194
+#, c-format
+msgid "Broadcast Message from %s@%s"
+msgstr "Všeobecná zpráva od %s@%s"
+
+#: login-utils/wall.c:212
+#, c-format
+msgid "%s: will not read %s - use stdin.\n"
+msgstr "%s: nebudu číst %s - použijte stdin.\n"
+
+#: login-utils/wall.c:217
+#, c-format
+msgid "%s: can't read %s.\n"
+msgstr "%s: %s nelze číst.\n"
+
+#: login-utils/wall.c:240
+#, c-format
+msgid "%s: can't stat temporary file.\n"
+msgstr "%s: volání stat pro dočasný soubor selhalo.\n"
+
+#: login-utils/wall.c:250
+#, c-format
+msgid "%s: can't read temporary file.\n"
+msgstr "%s: dočasný soubor nelze číst.\n"
+
+#: misc-utils/cal.c:362 misc-utils/cal.c:374
+#, c-format
+msgid "illegal day value: use 1-%d"
+msgstr "chybná hodnota pro den: použijte 1–%d"
+
+#: misc-utils/cal.c:366
+msgid "illegal month value: use 1-12"
+msgstr "chybná hodnota pro měsíc: použijte 1–12"
+
+#: misc-utils/cal.c:370
+msgid "illegal year value: use 1-9999"
+msgstr "chybná hodnota pro rok: použijte 1–9999"
+
+#: misc-utils/cal.c:464
+#, c-format
+msgid "%s %d"
+msgstr "%s %d"
+
+#: misc-utils/cal.c:856
+#, c-format
+msgid "usage: cal [-13smjyV] [[[day] month] year]\n"
+msgstr "Použití: cal [-13smjyV] [[[DEN] MĚSÍC] ROK]\n"
+
+#: misc-utils/ddate.c:203
+#, 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:250
+msgid "St. Tib's Day"
+msgstr "Den svatého Tiba"
+
+#: misc-utils/findfs.c:24
+#, c-format
+msgid "Usage: %s LABEL=<label>|UUID=<uuid>\n"
+msgstr "Použití: %s JMENOVKA=<JMENOVKA>|UUID=<UUID>\n"
+
+#: misc-utils/findfs.c:55
+#, c-format
+msgid "unable to resolve '%s'"
+msgstr "„%s“ nelze přeložit"
+
+#: misc-utils/kill.c:207
+#, c-format
+msgid "%s: unknown signal %s\n"
+msgstr "%s: neznámý signál %s\n"
+
+#: misc-utils/kill.c:270
+#, c-format
+msgid "%s: can't find process \"%s\"\n"
+msgstr "%s: proces \"%s\" nelze nalézt\n"
+
+#: misc-utils/kill.c:314
+#, 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:354
+#, 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:355
+#, c-format
+msgid "       %s -l [ signal ]\n"
+msgstr "         %s -l [ signál ]\n"
+
+#: misc-utils/logger.c:67
+#, c-format
+msgid "logger: openlog: pathname too long\n"
+msgstr "protokolování: openlog: cesta je příliš dlouhá\n"
+
+#: misc-utils/logger.c:75
+#, c-format
+msgid "socket: %s.\n"
+msgstr "socket: %s\n"
+
+#: misc-utils/logger.c:80
+#, c-format
+msgid "connect: %s.\n"
+msgstr "connect: %s.\n"
+
+#: misc-utils/logger.c:139
+#, c-format
+msgid "logger: %s: %s.\n"
+msgstr "logger: %s: %s.\n"
+
+# 'facility'? lépe asi jako zařízení, zle to by se pletlo s 'device' 
+#: misc-utils/logger.c:246
+#, c-format
+msgid "logger: unknown facility name: %s.\n"
+msgstr "logger: neznámé příslušenství: %s\n"
+
+#: misc-utils/logger.c:258
+#, c-format
+msgid "logger: unknown priority name: %s.\n"
+msgstr "logger: neznámý název priority: %s\n"
+
+#: misc-utils/logger.c:285
+#, c-format
+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"
+
+#: misc-utils/look.c:351
+#, c-format
+msgid "usage: look [-dfa] [-t char] string [file]\n"
+msgstr "Použití: look [-dfa] [-t znak] řetězec [soubor]\n"
+
+#: misc-utils/mcookie.c:105 misc-utils/mcookie.c:132
+#, c-format
+msgid "Could not open %s\n"
+msgstr "%s nelze nalézt\n"
+
+#: misc-utils/mcookie.c:109 misc-utils/mcookie.c:128
+#, c-format
+msgid "Got %d bytes from %s\n"
+msgstr "%db z %s\n"
+
+#: misc-utils/namei.c:144 misc-utils/namei.c:198 misc-utils/namei.c:220
+#: misc-utils/namei.c:227 misc-utils/namei.c:248
+msgid "out of memory?"
+msgstr "nedostatek paměti?"
+
+#: misc-utils/namei.c:189
+#, c-format
+msgid "failed to read symlink: %s"
+msgstr "čtení symbolického odkazu selhalo: %s"
+
+#: misc-utils/namei.c:229
+#, c-format
+msgid "could not stat '%s'"
+msgstr "o „%s“ nelze získat podrobnosti"
+
+#: misc-utils/namei.c:411
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [options] pathname [pathname ...]\n"
+msgstr ""
+"\n"
+"Použití: %s [PŘEPÍNAČE] NÁZEV_CESTY [NÁZEV_CESTY…]\n"
+
+#: misc-utils/namei.c:412
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"Přepínače:\n"
+
+#: misc-utils/namei.c:415
+#, c-format
+msgid ""
+" -h, --help          displays this help text\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"
+" -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:423
+#, c-format
+msgid ""
+"\n"
+"For more information see namei(1).\n"
+msgstr ""
+"\n"
+"Více informací naleznete v namei(1).\n"
+
+#: misc-utils/namei.c:484
+#, c-format
+msgid "failed to stat: %s"
+msgstr "volání stat selhalo: %s"
+
+#: misc-utils/namei.c:495
+#, c-format
+msgid "%s: exceeded limit of symlinks"
+msgstr "%s: omezení symbolických odkazů překročeno"
+
+#: misc-utils/rename.c:38
+#, c-format
+msgid "%s: out of memory\n"
+msgstr "%s: nedostatek paměti\n"
+
+#: misc-utils/rename.c:56
+#, c-format
+msgid "%s: renaming %s to %s failed: %s\n"
+msgstr "%s: %s nelze přejmenovat na %s: %s\n"
+
+#: misc-utils/rename.c:86
+#, c-format
+msgid "call: %s from to files...\n"
+msgstr "Použití: %s Z NA SOUBOR…\n"
+
+#: misc-utils/script.c:110
+#, c-format
+msgid ""
+"Warning: `%s' is a link.\n"
+"Use `%s [options] %s' if you really want to use it.\n"
+"Script not started.\n"
+msgstr ""
+"Varování: „%s“ je odkaz.\n"
+"Pokud jej opravdu chcete použít, tak zadejte „%s [PŘEPÍNAČE] %s“.\n"
+"Script nebyl spuštěn.\n"
+
+#: misc-utils/script.c:173
+#, c-format
+msgid "usage: script [-a] [-f] [-q] [-t] [file]\n"
+msgstr "Použití: script [-a] [-f] [-q] [-t] [SOUBOR]\n"
+
+#: misc-utils/script.c:196
+#, c-format
+msgid "Script started, file is %s\n"
+msgstr "Script spuštěn. Soubor je %s.\n"
+
+#: misc-utils/script.c:244
+#, c-format
+msgid "%s: write error %d: %s\n"
+msgstr "%s: chyba zápisu %d: %s\n"
+
+#: misc-utils/script.c:304
+#, c-format
+msgid "Script started on %s"
+msgstr "Script spuštěn %s"
+
+#: misc-utils/script.c:347
+#, c-format
+msgid "%s: write error: %s\n"
+msgstr "%s: chyba zápisu: %s\n"
+
+#: misc-utils/script.c:354
+#, c-format
+msgid "%s: cannot write script file, error: %s\n"
+msgstr "%s: skript soubor nelze zapsat, chyba: %s\n"
+
+#: misc-utils/script.c:430
+#, c-format
+msgid ""
+"\n"
+"Script done on %s"
+msgstr ""
+"\n"
+"Script ukončen %s"
+
+#: misc-utils/script.c:437
+#, c-format
+msgid "Script done, file is %s\n"
+msgstr "Script utils. Soubor je %s\n"
+
+#: misc-utils/script.c:448
+#, c-format
+msgid "openpty failed\n"
+msgstr "volání openpty selhalo\n"
+
+#: misc-utils/script.c:482
+#, c-format
+msgid "Out of pty's\n"
+msgstr "Nejsou žádná další volná pty\n"
+
+#: misc-utils/scriptreplay.c:38
+#, c-format
+msgid "%s <timingfile> [<typescript> [<divisor>]]\n"
+msgstr "%s <ČASOVÝ_SOUBOR> [<ZÁZNAM_VSTUPU> [<DĚLITEL>]]\n"
+
+#: misc-utils/scriptreplay.c:53
+#, c-format
+msgid "expected a number, but got '%s'"
+msgstr "očekáváno číslo, ale obdrženo „%s“"
+
+#: misc-utils/scriptreplay.c:56 misc-utils/scriptreplay.c:60
+#, c-format
+msgid "divisor '%s'"
+msgstr "dělitel „%s“"
+
+#: misc-utils/scriptreplay.c:104
+msgid "write to stdout failed"
+msgstr "zápis na standardní výstup selhal"
+
+#: misc-utils/scriptreplay.c:110
+#, c-format
+msgid "unexpected end of file on %s"
+msgstr "neočekávaný konec souboru %s"
+
+#: misc-utils/scriptreplay.c:112
+#, c-format
+msgid "failed to read typescript file %s"
+msgstr "načtení souboru se záznamem vstupu %s selhalo"
+
+#: misc-utils/scriptreplay.c:145
+#, c-format
+msgid "cannot open timing file %s"
+msgstr "časový soubor %s nelze otevřít"
+
+#: misc-utils/scriptreplay.c:148
+#, c-format
+msgid "cannot open typescript file %s"
+msgstr "soubor %s se záznamem vstupu nelze otevřít"
+
+#: misc-utils/scriptreplay.c:164
+#, c-format
+msgid "failed to read timing file %s"
+msgstr "čtení z časového souboru %s selhalo"
+
+#: misc-utils/scriptreplay.c:166
+#, fuzzy, c-format
+msgid "timings file %s: %lu: unexpected format"
+msgstr "časový soubor %s: %lu: očekáván formát"
+
+#: misc-utils/setterm.c:763
+#, c-format
+msgid "%s: Argument error, usage\n"
+msgstr "%s: Chybný přepínač, použití\n"
+
+#: misc-utils/setterm.c:766
+#, c-format
+msgid "  [ -term terminal_name ]\n"
+msgstr "  [ -term název terminálu]\n"
+
+#: misc-utils/setterm.c:767
+#, c-format
+msgid "  [ -reset ]\n"
+msgstr "  [ -reset ]\n"
+
+#: misc-utils/setterm.c:768
+#, c-format
+msgid "  [ -initialize ]\n"
+msgstr "  [ -initialize ]\n"
+
+#: misc-utils/setterm.c:769
+#, c-format
+msgid "  [ -cursor [on|off] ]\n"
+msgstr "  [ -cursor [on|off] ]\n"
+
+#: misc-utils/setterm.c:771
+#, c-format
+msgid "  [ -snow [on|off] ]\n"
+msgstr "  [ -snow [on|off] ]\n"
+
+#: misc-utils/setterm.c:772
+#, c-format
+msgid "  [ -softscroll [on|off] ]\n"
+msgstr "  [ -softscroll [on|off] ]\n"
+
+#: misc-utils/setterm.c:774
+#, c-format
+msgid "  [ -repeat [on|off] ]\n"
+msgstr "  [ -repeat [on|off] ]\n"
+
+#: misc-utils/setterm.c:775
+#, c-format
+msgid "  [ -appcursorkeys [on|off] ]\n"
+msgstr "  [ -appcursorkeys [on|off] ]\n"
+
+#: misc-utils/setterm.c:776
+#, c-format
+msgid "  [ -linewrap [on|off] ]\n"
+msgstr "  [ -linewrap [on|off] ]\n"
+
+#: misc-utils/setterm.c:777
+#, c-format
+msgid "  [ -default ]\n"
+msgstr "  [ -default ]\n"
+
+#: misc-utils/setterm.c:778
+#, c-format
+msgid "  [ -foreground black|blue|green|cyan"
+msgstr "  [ -foreground black|blue|green|cyan"
+
+#: misc-utils/setterm.c:779 misc-utils/setterm.c:781
+#, c-format
+msgid "|red|magenta|yellow|white|default ]\n"
+msgstr "|red|magenta|yellow|white|default ]\n"
+
+#: misc-utils/setterm.c:780
+#, c-format
+msgid "  [ -background black|blue|green|cyan"
+msgstr "  [ -background black|blue|green|cyan"
+
+#: misc-utils/setterm.c:782
+#, c-format
+msgid "  [ -ulcolor black|grey|blue|green|cyan"
+msgstr "  [ -ulcolor black|grey|blue|green|cyan"
+
+#: misc-utils/setterm.c:783 misc-utils/setterm.c:785 misc-utils/setterm.c:787
+#: misc-utils/setterm.c:789
+#, c-format
+msgid "|red|magenta|yellow|white ]\n"
+msgstr "|red|magenta|yellow|white ]\n"
+
+#: misc-utils/setterm.c:784
+#, c-format
+msgid "  [ -ulcolor bright blue|green|cyan"
+msgstr "  [ -ulcolor bright blue|green|cyan"
+
+#: misc-utils/setterm.c:786
+#, c-format
+msgid "  [ -hbcolor black|grey|blue|green|cyan"
+msgstr "  [ -hbcolor black|grey|blue|green|cyan"
+
+#: misc-utils/setterm.c:788
+#, c-format
+msgid "  [ -hbcolor bright blue|green|cyan"
+msgstr "  [ -hbcolor bright blue|green|cyan"
+
+#: misc-utils/setterm.c:791
+#, c-format
+msgid "  [ -standout [ attr ] ]\n"
+msgstr "  [ -standout [ atribut ] ]\n"
+
+#: misc-utils/setterm.c:793
+#, c-format
+msgid "  [ -inversescreen [on|off] ]\n"
+msgstr "  [ -inversescreen [on|off] ]\n"
+
+#: misc-utils/setterm.c:794
+#, c-format
+msgid "  [ -bold [on|off] ]\n"
+msgstr "  [ -bold [on|off] ]\n"
+
+#: misc-utils/setterm.c:795
+#, c-format
+msgid "  [ -half-bright [on|off] ]\n"
+msgstr "  [ -half-bright [on|off] ]\n"
+
+#: misc-utils/setterm.c:796
+#, c-format
+msgid "  [ -blink [on|off] ]\n"
+msgstr "  [ -blink [on|off] ]\n"
+
+#: misc-utils/setterm.c:797
+#, c-format
+msgid "  [ -reverse [on|off] ]\n"
+msgstr "  [ -reverse [on|off] ]\n"
+
+#: misc-utils/setterm.c:798
+#, c-format
+msgid "  [ -underline [on|off] ]\n"
+msgstr "  [ -underline [on|off] ]\n"
+
+#: misc-utils/setterm.c:799
+#, c-format
+msgid "  [ -store ]\n"
+msgstr "  [ -store ]\n"
+
+#: misc-utils/setterm.c:800
+#, c-format
+msgid "  [ -clear [all|rest] ]\n"
+msgstr "  [ -clear [all|rest] ]\n"
+
+#: misc-utils/setterm.c:801
+#, c-format
+msgid "  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n"
+msgstr "  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n"
+
+#: misc-utils/setterm.c:802
+#, c-format
+msgid "  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n"
+msgstr "  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n"
+
+#: misc-utils/setterm.c:803
+#, c-format
+msgid "  [ -regtabs [1-160] ]\n"
+msgstr "  [ -regtabs [1-160] ]\n"
+
+#: misc-utils/setterm.c:804
+#, c-format
+msgid "  [ -blank [0-60|force|poke] ]\n"
+msgstr "  [ -blank [0-60|force|poke] ]\n"
+
+#: misc-utils/setterm.c:805
+#, c-format
+msgid "  [ -dump   [1-NR_CONSOLES] ]\n"
+msgstr "  [ -dump   [1-POČET_KONZOLÍ] ]\n"
+
+#: misc-utils/setterm.c:806
+#, c-format
+msgid "  [ -append [1-NR_CONSOLES] ]\n"
+msgstr "  [ -append [1-POČET_KONZOLÍ] ]\n"
+
+#: misc-utils/setterm.c:807
+#, c-format
+msgid "  [ -file dumpfilename ]\n"
+msgstr "  [ -file soubor pro uložení ]\n"
+
+#: misc-utils/setterm.c:808
+#, c-format
+msgid "  [ -msg [on|off] ]\n"
+msgstr "  [ -msg [on|off] ]\n"
+
+#: misc-utils/setterm.c:809
+#, c-format
+msgid "  [ -msglevel [0-8] ]\n"
+msgstr "  [ -msglevel [0-8] ]\n"
+
+#: misc-utils/setterm.c:810
+#, c-format
+msgid "  [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+msgstr "  [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+
+#: misc-utils/setterm.c:811
+#, c-format
+msgid "  [ -powerdown [0-60] ]\n"
+msgstr "  [ -powerdown [0-60] ]\n"
+
+#: misc-utils/setterm.c:812
+#, c-format
+msgid "  [ -blength [0-2000] ]\n"
+msgstr "  [ -blength [0-2000] ]\n"
+
+#: misc-utils/setterm.c:813
+#, c-format
+msgid "  [ -bfreq freqnumber ]\n"
+msgstr "  [ -bfreq frekvence ]\n"
+
+#: misc-utils/setterm.c:1065
+#, c-format
+msgid "cannot force blank\n"
+msgstr "režim blank nelze vynutit\n"
+
+#: misc-utils/setterm.c:1069
+#, c-format
+msgid "cannot force unblank\n"
+msgstr "režim unblank nelze vynutit\n"
+
+#: misc-utils/setterm.c:1075
+#, c-format
+msgid "cannot get blank status\n"
+msgstr "stav režimu blank nelze zjistit\n"
+
+#: misc-utils/setterm.c:1087
+#, c-format
+msgid "cannot (un)set powersave mode\n"
+msgstr "šetřící režim nelze vypnout/zapnout\n"
+
+#: misc-utils/setterm.c:1126 misc-utils/setterm.c:1134
+#, c-format
+msgid "klogctl error: %s\n"
+msgstr "chyba klogctl: %s\n"
+
+#: misc-utils/setterm.c:1200
+#, c-format
+msgid "Error writing screendump\n"
+msgstr "Chyba při ukládání obrazu obrazovky\n"
+
+#: misc-utils/setterm.c:1207
+#, c-format
+msgid "Couldn't read %s\n"
+msgstr "%s nelze načíst\n"
+
+#: misc-utils/setterm.c:1261
+#, c-format
+msgid "%s: $TERM is not defined.\n"
+msgstr "%s: proměnná TERM není nastavena.\n"
+
+#: misc-utils/uuidd.c:46
+#, c-format
+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"
+
+#: misc-utils/uuidd.c:48
+#, c-format
+msgid "       %s [-r|t] [-n num] [-s socketpath]\n"
+msgstr "       %s [-r|t] [-n POČ] [-s CESKA_K_SOCKETU]\n"
+
+#: misc-utils/uuidd.c:50
+#, c-format
+msgid "       %s -k\n"
+msgstr "       %s -k\n"
+
+#: misc-utils/uuidd.c:152
+msgid "bad arguments"
+msgstr "chybné argumenty"
+
+#: misc-utils/uuidd.c:159
+msgid "socket"
+msgstr "socket"
+
+#: misc-utils/uuidd.c:170
+msgid "connect"
+msgstr "připojování"
+
+#: misc-utils/uuidd.c:189
+msgid "write"
+msgstr "zápis"
+
+#: misc-utils/uuidd.c:197
+msgid "read count"
+msgstr "načtení počtu"
+
+#: misc-utils/uuidd.c:203
+msgid "bad response length"
+msgstr "chybná délka odpovědi"
+
+#: misc-utils/uuidd.c:268
+#, 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:276
+#, c-format
+msgid "Couldn't create unix stream socket: %s"
+msgstr "Nebylo možné vytvořit unixový proudový socket: %s"
+
+#: misc-utils/uuidd.c:305
+#, c-format
+msgid "Couldn't bind unix socket %s: %s\n"
+msgstr "Nebylo možné se přilepit na unixový socket %s: %s\n"
+
+#: misc-utils/uuidd.c:313
+#, c-format
+msgid "Couldn't listen on unix socket %s: %s\n"
+msgstr "Nebylo možné zahájit naslouchání na unixovém socketu %s: %s\n"
+
+#: misc-utils/uuidd.c:351
+#, 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:359
+#, c-format
+msgid "operation %d, incoming num = %d\n"
+msgstr "operace %d, příchozí počet = %d\n"
+
+#: misc-utils/uuidd.c:378
+#, c-format
+msgid "Generated time UUID: %s\n"
+msgstr "Vygenerované časové UUID: %s\n"
+
+#: misc-utils/uuidd.c:388
+#, c-format
+msgid "Generated random UUID: %s\n"
+msgstr "Vygenerované náhodné UUID: %s\n"
+
+# TODO: plurals
+#: misc-utils/uuidd.c:397
+#, c-format
+msgid "Generated time UUID %s and %d following\n"
+msgstr "Vygenerované časové UUID %s a %d následujících\n"
+
+# TODO: plurals
+#: misc-utils/uuidd.c:415
+#, c-format
+msgid "Generated %d UUID's:\n"
+msgstr "Vygenerováno UUID: %d:\n"
+
+#: misc-utils/uuidd.c:427
+#, c-format
+msgid "Invalid operation %d\n"
+msgstr "Neplatná operace %d\n"
+
+#: misc-utils/uuidd.c:468 misc-utils/uuidd.c:489
+#, c-format
+msgid "Bad number: %s\n"
+msgstr "Chybné číslo: %s\n"
+
+#: misc-utils/uuidd.c:524 misc-utils/uuidd.c:551
+#, c-format
+msgid "Error calling uuidd daemon (%s): %s\n"
+msgstr "Chyba při volání démona uuidd (%s): %s\n"
+
+# TODO: plurals
+#: misc-utils/uuidd.c:534
+#, c-format
+msgid "%s and subsequent %d UUID's\n"
+msgstr "%s a následující %d UUID\n"
+
+#: misc-utils/uuidd.c:536
+#, c-format
+msgid "List of UUID's:\n"
+msgstr "Seznam UUID:\n"
+
+#: misc-utils/uuidd.c:557
+#, c-format
+msgid "Unexpected reply length from server %d\n"
+msgstr "Neočekávaná délka odpovědi od serveru %d\n"
+
+#: misc-utils/uuidd.c:574
+#, c-format
+msgid "Couldn't kill uuidd running at pid %d: %s\n"
+msgstr "Zabít uuidd běžícího pod PID %d nebylo možné: %s\n"
+
+#: misc-utils/uuidd.c:580
+#, c-format
+msgid "Killed uuidd running at pid %d\n"
+msgstr "uuidd běžící pod PID %d byl zabit\n"
+
+#: misc-utils/uuidgen.c:32
+#, c-format
+msgid "Usage: %s [-r] [-t]\n"
+msgstr "Použití: %s [-r] [-t]\n"
+
+#: misc-utils/whereis.c:159
+#, c-format
+msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
+msgstr "whereis [ -sbmu ] [ -SBM adresář ... -f ] název...\n"
+
+#: misc-utils/write.c:101
+#, c-format
+msgid "write: can't find your tty's name\n"
+msgstr "write: název Vašeho tty nelze zjistit\n"
+
+#: misc-utils/write.c:112
+#, c-format
+msgid "write: you have write permission turned off.\n"
+msgstr "write: máte vypnut příjem zpráv.\n"
+
+#: misc-utils/write.c:133
+#, c-format
+msgid "write: %s is not logged in on %s.\n"
+msgstr "write: uživatel %s není na %s přihlášen.\n"
+
+#: misc-utils/write.c:141
+#, c-format
+msgid "write: %s has messages disabled on %s\n"
+msgstr "write: uživatel %s má na %s vypnut příjem zpráv\n"
+
+#: misc-utils/write.c:148
+#, c-format
+msgid "usage: write user [tty]\n"
+msgstr "Použití: write uživatel [tty]\n"
+
+#: misc-utils/write.c:236
+#, c-format
+msgid "write: %s is not logged in\n"
+msgstr "write: uživatel %s není přihlášen\n"
+
+#: misc-utils/write.c:245
+#, c-format
+msgid "write: %s has messages disabled\n"
+msgstr "write: uživatel %s má vypnut příjem zpráv\n"
+
+#: misc-utils/write.c:249
+#, c-format
+msgid "write: %s is logged in more than once; writing to %s\n"
+msgstr "writing: uživatel %s je přihlášen vícekrát; píši na %s\n"
+
+#: misc-utils/write.c:317
+#, 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 ..."
+
+#: misc-utils/write.c:320
+#, c-format
+msgid "Message from %s@%s on %s at %s ..."
+msgstr "Zpráva od %s@%s na %s v %s ..."
+
+#: mount/fstab.c:143
+#, c-format
+msgid "warning: error reading %s: %s"
+msgstr "varování: chyba při čtení %s: %s"
+
+#: mount/fstab.c:171 mount/fstab.c:196
+#, c-format
+msgid "warning: can't open %s: %s"
+msgstr "varování: %s nelze otevřít: %s"
+
+#: mount/fstab.c:176
+#, c-format
+msgid "mount: could not open %s - using %s instead\n"
+msgstr "mount: %s nelze otevřít - používám %s\n"
+
+#: mount/fstab.c:589
+#, 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/fstab.c:615
+#, 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/fstab.c:631
+#, 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/fstab.c:646
+#, c-format
+msgid "Can't lock lock file %s: %s\n"
+msgstr "Zamykací soubor %s nelze zamknout: %s\n"
+
+#: mount/fstab.c:660
+#, c-format
+msgid "can't lock lock file %s: %s"
+msgstr "Zamykací soubor %s nelze zamknout: %s"
+
+#: mount/fstab.c:662
+msgid "timed out"
+msgstr "vypršel čas"
+
+#: mount/fstab.c:669
+#, 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/fstab.c:791 mount/fstab.c:846
+#, c-format
+msgid "cannot open %s (%s) - mtab not updated"
+msgstr "nelze otevřít %s (%s) - mtab nebyl aktualizován"
+
+#: mount/fstab.c:855
+#, c-format
+msgid "error writing %s: %s"
+msgstr "chyba při zápisu %s: %s"
+
+#: mount/fstab.c:873
+#, c-format
+msgid "error changing mode of %s: %s\n"
+msgstr "chyba při změně módu %s: %s\n"
+
+#: mount/fstab.c:886
+#, c-format
+msgid "error changing owner of %s: %s\n"
+msgstr "chyba při změně vlastníka %s: %s\n"
+
+#: mount/fstab.c:897
+#, c-format
+msgid "can't rename %s to %s: %s\n"
+msgstr "%s nelze přejmenovat na %s: %s\n"
+
+#: mount/lomount.c:364
+#, c-format
+msgid "loop: can't set capacity on device %s: %s\n"
+msgstr "loop: zařízení %s nelze nastavit kapacitu: %s\n"
+
+#: mount/lomount.c:388
+#, c-format
+msgid ", offset %<PRIu64>"
+msgstr ", odsazení %<PRIu64>"
+
+#: mount/lomount.c:391
+#, c-format
+msgid ", sizelimit %<PRIu64>"
+msgstr ", velikostní limit %<PRIu64>"
+
+#: mount/lomount.c:399
+#, c-format
+msgid ", encryption %s (type %<PRIu32>)"
+msgstr ", šifrování %s (typ %<PRIu32>)"
+
+#: mount/lomount.c:412
+#, c-format
+msgid ", offset %d"
+msgstr ", odsazení %d"
+
+#: mount/lomount.c:415
+#, c-format
+msgid ", encryption type %d\n"
+msgstr ", šifrovací typ %d\n"
+
+#: mount/lomount.c:423
+#, c-format
+msgid "loop: can't get info on device %s: %s\n"
+msgstr "loop: informace o zařízení %s nelze získat: %s\n"
+
+#: mount/lomount.c:434
+#, c-format
+msgid "loop: can't open device %s: %s\n"
+msgstr "loop: zařízení %s nelze otevřít: %s\n"
+
+#: mount/lomount.c:450 mount/lomount.c:482 mount/lomount.c:544
+#: mount/lomount.c:589
+#, c-format
+msgid "%s: /dev directory does not exist."
+msgstr "%s: adresář /dev neexistuje."
+
+#: mount/lomount.c:461 mount/lomount.c:602
+#, c-format
+msgid "%s: no permission to look at /dev/loop%s<N>"
+msgstr "%s: chybí oprávnění na prohlédnutí /dev/loop%s<N>"
+
+#: mount/lomount.c:605
+#, c-format
+msgid "%s: could not find any free loop device"
+msgstr "%s: žádné volné loop zařízení nelze najít"
+
+#: mount/lomount.c:608
+#, c-format
+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“.)"
+
+#: mount/lomount.c:638
+msgid "Out of memory while reading passphrase"
+msgstr "Během čtení hesla došla paměť"
+
+#: mount/lomount.c:681
+#, c-format
+msgid "warning: %s is already associated with %s\n"
+msgstr "varování: %s je již spojeno s %s\n"
+
+#: mount/lomount.c:697
+#, c-format
+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"
+
+#: mount/lomount.c:733
+#, c-format
+msgid "Couldn't lock into memory, exiting.\n"
+msgstr "Nelze zamknout v paměti. Končím.\n"
+
+#: mount/lomount.c:760
+#, c-format
+msgid "ioctl LOOP_SET_FD failed: %s\n"
+msgstr "selhalo ioctl LOOP_SET_FD: %s\n"
+
+#: mount/lomount.c:817
+#, c-format
+msgid "set_loop(%s,%s,%llu,%llu): success\n"
+msgstr "set_loop(%s,%s,%llu,%llu): úspěch\n"
+
+#: mount/lomount.c:838
+#, c-format
+msgid "del_loop(%s): success\n"
+msgstr "del_loop(%s): úspěch\n"
+
+#: mount/lomount.c:842
+#, c-format
+msgid "loop: can't delete device %s: %s\n"
+msgstr "loop: zařízení %s nelze smazat: %s\n"
+
+#: mount/lomount.c:853
+#, c-format
+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"
+
+#: mount/lomount.c:888
+#, c-format
+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"
+"Použití:\n"
+" %1$s LOOP_ZAŘÍZENÍ                                 vypíše informace\n"
+" %1$s -a | --all                                    vypíše všechna použitá\n"
+" %1$s -d | --detach LOOP_ZAŘÍZENÍ [LOOP_ZAŘÍZENÍ…]  smaže zařízení\n"
+" %1$s -f | --find                                   najde nepoužitá\n"
+" %1$s -c | --set-capacity LOOP_ZAŘÍZENÍ             změní velikost\n"
+" %1$s -j | --associated SOUBOR [-o ČÍSLO]           vypíše spojená se "
+"SOUBOREM\n"
+" %1$s [PŘEPÍNAČE] {-f|--find|LOOP_ZAŘÍZENÍ} SOUBOR  sestrojí zařízení\n"
+
+#: mount/lomount.c:898
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -e | --encryption <type> enable data encryption with specified <name/num>\n"
+" -h | --help              this help\n"
+" -o | --offset <num>      start at offset <num> into file\n"
+"      --sizelimit <num>   loop limited to only <num> bytes of the file\n"
+" -p | --pass-fd <num>     read passphrase from file descriptor <num>\n"
+" -r | --read-only         setup read-only loop device\n"
+"      --show              print device name (with -f <file>)\n"
+" -v | --verbose           verbose mode\n"
+"\n"
+msgstr ""
+"\n"
+"Přepínače:\n"
+" -e | --encryption TYP    zapne šifrování dat pomocí zadaného NÁZEVU/ČÍSLA\n"
+" -h | --help              tato nápověda\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"
+" -r | --read-only         nastaví loop zařízení jen pro čtení\n"
+" -s | --show              vypíše název zařízení (spolu s  -f SOUBOR)\n"
+" -v | --verbose           upovídaný režim\n"
+"\n"
+
+#: mount/lomount.c:1036 mount/lomount.c:1076
+#, c-format
+msgid "Loop device is %s\n"
+msgstr "Loop zařízení %s\n"
+
+#: mount/lomount.c:1063
+#, c-format
+msgid "stolen loop=%s...trying again\n"
+msgstr "ukradený loop=%s… zkouším znovu\n"
+
+#: mount/lomount.c:1073
+#, c-format
+msgid "%s: %s: device is busy"
+msgstr "%s: %s: zařízení se právě používá"
+
+#: mount/lomount.c:1090
+#, c-format
+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"
+
+#: mount/mount.c:329
+#, 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/mount.c:362
+#, c-format
+msgid "mount: translated %s '%s' to '%s'\n"
+msgstr "mount: %s přeloženo z „%s“ na „%s“\n"
+
+#: mount/mount.c:526
+#, 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/mount.c:531
+#, c-format
+msgid "mount: according to mtab, %s is mounted on %s"
+msgstr "mount: podle mtab je %s připojeno na %s"
+
+#: mount/mount.c:555
+#, c-format
+msgid "mount: can't open %s for writing: %s"
+msgstr "mount: %s nelze otevřít pro zápis: %s"
+
+#: mount/mount.c:572 mount/mount.c:1190
+#, c-format
+msgid "mount: error writing %s: %s"
+msgstr "mount: chyba při zápisu %s: %s"
+
+#: mount/mount.c:580
+#, c-format
+msgid "mount: error changing mode of %s: %s"
+msgstr "mount: chyba při změně módu %s: %s"
+
+#: mount/mount.c:663
+#, c-format
+msgid "mount: cannot set group id: %s"
+msgstr "mount: číslo skupiny (GID) nelze nastavit: %s"
+
+#: mount/mount.c:666
+#, c-format
+msgid "mount: cannot set user id: %s"
+msgstr "mount: číslo uživatele (UID) nelze nastavit: %s"
+
+#: mount/mount.c:705 mount/mount.c:1809
+#, c-format
+msgid "mount: cannot fork: %s"
+msgstr "mount: volání fork selhalo: %s"
+
+#: mount/mount.c:842
+#, c-format
+msgid "Trying %s\n"
+msgstr "Používám %s.\n"
+
+#: mount/mount.c:870
+#, 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/mount.c:873
+#, 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/mount.c:876
+#, c-format
+msgid "       and it looks like this is swapspace\n"
+msgstr "       a vypadá to, že se jedná o odkládací prostor\n"
+
+#: mount/mount.c:878
+#, c-format
+msgid "       I will try type %s\n"
+msgstr "       Vyzkouším typ %s\n"
+
+#: mount/mount.c:902
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr "%s vypadá jako odkládací prostor - nepřipojeno"
+
+#: mount/mount.c:993
+msgid "mount failed"
+msgstr "připojení se nezdařilo"
+
+#: mount/mount.c:995
+#, c-format
+msgid "mount: only root can mount %s on %s"
+msgstr "mount: pouze superuživatel může připojit %s na %s"
+
+#: mount/mount.c:1065
+msgid "mount: loop device specified twice"
+msgstr "mount: zařízení loop bylo zadáno dvakrát"
+
+#: mount/mount.c:1070
+msgid "mount: type specified twice"
+msgstr "mount: typ byl zadán dvakrát"
+
+#: mount/mount.c:1082
+#, c-format
+msgid "mount: skipping the setup of a loop device\n"
+msgstr "mount: přeskakuji nastavení loop zařízení\n"
+
+#: mount/mount.c:1094
+#, 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/mount.c:1104
+#, 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/mount.c:1113
+#, c-format
+msgid "mount: stolen loop=%s ...trying again\n"
+msgstr "mount: ukradený loop=%s … zkouším znovu\n"
+
+#: mount/mount.c:1118
+#, c-format
+msgid "mount: stolen loop=%s"
+msgstr "umount: ukradený loop=%s"
+
+#: mount/mount.c:1123
+#, c-format
+msgid "mount: failed setting up loop device\n"
+msgstr "mount: nepodařilo se nastavit zařízení loop\n"
+
+#: mount/mount.c:1134
+#, c-format
+msgid "mount: setup loop device successfully\n"
+msgstr "mount: zařízení loop bylo korektně nastaveno\n"
+
+#: mount/mount.c:1168
+#, c-format
+msgid "mount: no %s found - creating it..\n"
+msgstr "mount: %s nebylo nalezeno - vytvářím jej..\n"
+
+#: mount/mount.c:1185
+#, c-format
+msgid "mount: can't open %s: %s"
+msgstr "mount: %s nelze otevřít: %s"
+
+#: mount/mount.c:1206
+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/mount.c:1219
+#, c-format
+msgid "mount: cannot open %s for setting speed"
+msgstr "mount: %s nelze otevřít za účelem nastavení rychlosti"
+
+#: mount/mount.c:1222
+#, c-format
+msgid "mount: cannot set speed: %s"
+msgstr "mount: rychlost nelze nastavit: %s"
+
+#: mount/mount.c:1279
+#, 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/mount.c:1358
+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/mount.c:1361
+msgid "mount: you must specify the filesystem type"
+msgstr "mount: musíte zadat typ systému souborů"
+
+#: mount/mount.c:1364
+msgid "mount: mount failed"
+msgstr "mount: připojení se nezdařilo"
+
+#: mount/mount.c:1370 mount/mount.c:1407
+#, c-format
+msgid "mount: mount point %s is not a directory"
+msgstr "mount: přípojný bod %s není adresářem"
+
+#: mount/mount.c:1372
+msgid "mount: permission denied"
+msgstr "mount: přístup odmítnut"
+
+#: mount/mount.c:1374
+msgid "mount: must be superuser to use mount"
+msgstr "mount: mount může používat pouze superuživatel"
+
+#: mount/mount.c:1378 mount/mount.c:1382
+#, c-format
+msgid "mount: %s is busy"
+msgstr "mount: %s se používá"
+
+#: mount/mount.c:1384
+msgid "mount: proc already mounted"
+msgstr "mount: proc je již připojeno"
+
+#: mount/mount.c:1386
+#, 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/mount.c:1392
+#, c-format
+msgid "mount: mount point %s does not exist"
+msgstr "mount: přípojný bod %s neexistuje"
+
+#: mount/mount.c:1394
+#, 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/mount.c:1399
+#, c-format
+msgid "mount: special device %s does not exist"
+msgstr "mount: speciální zařízení %s neexistuje"
+
+#: mount/mount.c:1411
+#, 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/mount.c:1423
+#, c-format
+msgid "mount: %s not mounted already, or bad option"
+msgstr "mount: %s ještě není připojeno či chybný přepínač"
+
+#: mount/mount.c:1425
+#, 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/mount.c:1432
+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/mount.c:1441
+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/mount.c:1446
+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/mount.c:1453
+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/mount.c:1459
+msgid "mount table full"
+msgstr "tabulka připojení je plná"
+
+#: mount/mount.c:1461
+#, c-format
+msgid "mount: %s: can't read superblock"
+msgstr "mount: %s: superblok nelze přečíst"
+
+#: mount/mount.c:1467
+#, c-format
+msgid "mount: %s: unknown device"
+msgstr "umount: blokové zařízení %s je neznámé"
+
+#: mount/mount.c:1472
+#, c-format
+msgid "mount: unknown filesystem type '%s'"
+msgstr "mount: neznámý systém souborů „%s“"
+
+#: mount/mount.c:1484
+#, c-format
+msgid "mount: probably you meant %s"
+msgstr "mount: pravděpodobně jste myslel %s"
+
+#: mount/mount.c:1487
+msgid "mount: maybe you meant 'iso9660'?"
+msgstr "mount: možná jste myslel „iso9660“?"
+
+#: mount/mount.c:1490
+msgid "mount: maybe you meant 'vfat'?"
+msgstr "mount: možná jste myslel „vfat“?"
+
+#: mount/mount.c:1493
+#, 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/mount.c:1501
+#, 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/mount.c:1503
+#, c-format
+msgid ""
+"mount: the kernel does not recognize %s as a block device\n"
+"       (maybe `insmod driver'?)"
+msgstr ""
+"mount: jádro nerozpoznalo %s jako blokové zařízení (možná „insmod ovladač“?)"
+
+#: mount/mount.c:1506
+#, 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/mount.c:1509
+#, c-format
+msgid "mount: %s is not a block device"
+msgstr "mount: %s není blokovým zařízením"
+
+#: mount/mount.c:1514
+#, c-format
+msgid "mount: %s is not a valid block device"
+msgstr "mount: %s není platným blokovým zařízením"
+
+#: mount/mount.c:1517
+msgid "block device "
+msgstr "blokové zařízení"
+
+#: mount/mount.c:1519
+#, c-format
+msgid "mount: cannot mount %s%s read-only"
+msgstr "umount: %s%s nelze připojit v režimu pouze pro čtení"
+
+#: mount/mount.c:1523
+#, 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/mount.c:1527
+#, fuzzy, c-format
+msgid "mount: cannot remount %s%s read-write, is write-protected"
+msgstr "umount: %s%s nelze připojit v režimu pouze pro čtení"
+
+#: mount/mount.c:1542
+#, 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/mount.c:1552
+#, c-format
+msgid "mount: no medium found on %s ...trying again\n"
+msgstr "mount: v %s nenalezeno žádné médium… zkouším znovu\n"
+
+#: mount/mount.c:1558
+#, c-format
+msgid "mount: no medium found on %s"
+msgstr "mount: v %s nenalezeno žádné médium"
+
+#: mount/mount.c:1576
+#, 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/mount.c:1655
+#, 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/mount.c:1661
+#, 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/mount.c:1756
+#, c-format
+msgid "mount: %s already mounted on %s\n"
+msgstr "mount: %s je již připojeno na %s\n"
+
+#: mount/mount.c:1890
+#, 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/mount.c:2213
+msgid "mount: only root can do that"
+msgstr "mount: toto může provést pouze superuživatel"
+
+#: mount/mount.c:2223
+msgid "nothing was mounted"
+msgstr "nebyl připojen žádný diskový oddíl"
+
+#: mount/mount.c:2241 mount/mount.c:2267
+msgid "mount: no such partition found"
+msgstr "mount: žádný odpovídající diskový oddíl nebyl nalezen"
+
+#: mount/mount.c:2244
+#, c-format
+msgid "mount: can't find %s in %s or %s"
+msgstr "mount: %s nelze nalézt v %s ani %s"
+
+#: mount/mount_mntent.c:165
+#, 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/mount_mntent.c:216
+#, c-format
+msgid "[mntent]: line %d in %s is bad%s\n"
+msgstr "[mntent]: řádek %d v %s je chybný%s\n"
+
+#: mount/mount_mntent.c:219
+msgid "; rest of file ignored"
+msgstr "; ignoruji zbytek souboru"
+
+#: mount/sundries.c:31
+msgid "bug in xstrndup call"
+msgstr "chyba ve volání xstrndup"
+
+#: mount/sundries.c:224 mount/sundries.c:280 mount/sundries.c:289
+#: mount/xmalloc.c:11
+msgid "not enough memory"
+msgstr "Nedostatek paměti"
+
+#: mount/swapon.c:84
+#, c-format
+msgid ""
+"The <special> parameter:\n"
+" {-L label | LABEL=label}             LABEL of device to be used\n"
+" {-U uuid  | 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"
+"\n"
+msgstr ""
+"Parametr ZVLÁŠTNÍ:\n"
+" {-L JMENOVKA | LABEL=JMENOVKA}       vybere zařízení podle JMENOVKY\n"
+" {-U UUID | UUID=UUID}                vybere zařízení podle UUID\n"
+" ZAŘÍZENÍ                             vybere ZAŘÍZENÍ\n"
+" SOUBOR                               vybere SOUBOR\n"
+"\n"
+
+#: mount/swapon.c:92
+#, c-format
+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"
+"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] [-v] [-f] ZVLÁŠTNÍ  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"
+
+#: mount/swapon.c:106
+#, c-format
+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"
+
+#: mount/swapon.c:140
+#, c-format
+msgid "%s: unexpected file format"
+msgstr "%s: neočekávaný formát souboru"
+
+#: mount/swapon.c:184 mount/swapon.c:252 mount/swapon.c:397 mount/swapon.c:556
+#: mount/swapon.c:758
+#, c-format
+msgid "%s: open failed"
+msgstr "%s: otevření se nezdařilo"
+
+#: mount/swapon.c:205
+#, c-format
+msgid "%s: reinitializing the swap."
+msgstr "%s: reinicializuji odkládací oblast."
+
+#: mount/swapon.c:209
+msgid "fork failed"
+msgstr "volání fork selhalo"
+
+#: mount/swapon.c:225
+msgid "execv failed"
+msgstr "funkce execv selhala"
+
+#: mount/swapon.c:233
+msgid "waitpid failed"
+msgstr "volání waitpid selhalo"
+
+#: mount/swapon.c:257
+#, c-format
+msgid "%s: lseek failed"
+msgstr "%s: volání lseek selhalo"
+
+#: mount/swapon.c:263
+#, c-format
+msgid "%s: write signature failed"
+msgstr "%s: zápis podpisu selhal"
+
+# TODO: i18n second argument
+#: mount/swapon.c:350
+#, c-format
+msgid "%s: found %sswap v%d signature string for %d KiB PAGE_SIZE\n"
+msgstr ""
+"%s: nalezen podpis odkládacího prostoru%s v%d pro %dKiB VELIKOST_STRÁNKY\n"
+
+#: mount/swapon.c:370
+#, c-format
+msgid "%s: stat failed"
+msgstr "%s: volání stat selhalo"
+
+#: mount/swapon.c:380
+#, c-format
+msgid "%s: insecure permissions %04o, %04o suggested."
+msgstr "%s: přístupová práva %04o nejsou bezpečná, %04o by byla lepší."
+
+#: mount/swapon.c:388
+#, c-format
+msgid "%s: skipping - it appears to have holes."
+msgstr "%s: vynechávám – zdá se, že obsahuje díry."
+
+#: mount/swapon.c:402
+#, c-format
+msgid "%s: get size failed"
+msgstr "%s: nepodařilo se zjistit velikost"
+
+#: mount/swapon.c:408
+#, c-format
+msgid "%s: read swap header failed"
+msgstr "%s: nepodařilo se načíst hlavičku odkládací oblasti"
+
+#: mount/swapon.c:421
+#, 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"
+
+#: mount/swapon.c:426
+#, c-format
+msgid "%s: swap format pagesize does not match."
+msgstr "%s: formát odkládacího prostoru se neshoduje ve velikosti stránky."
+
+#: mount/swapon.c:431
+#, 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 "
+"reinicializovat pomocí --fixpgsz.)"
+
+#: mount/swapon.c:440
+#, 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."
+
+#: mount/swapon.c:464 mount/swapon.c:514
+#, c-format
+msgid "%s on %s\n"
+msgstr "%s na %s\n"
+
+#: mount/swapon.c:486
+#, c-format
+msgid "%s: swapon failed"
+msgstr "%s: swapon selhal"
+
+#: mount/swapon.c:493
+#, c-format
+msgid "cannot find the device for %s"
+msgstr "nelze nalézt zařízení pro %s"
+
+#: mount/swapon.c:526
+msgid "Not superuser."
+msgstr "Nejste superuživatel."
+
+#: mount/swapon.c:529
+#, c-format
+msgid "%s: swapoff failed"
+msgstr "%s: swapoff selhal"
+
+#: mount/umount.c:41
+#, c-format
+msgid "umount: compiled without support for -f\n"
+msgstr "umount byl přeložen bez podpory pro -f\n"
+
+#: mount/umount.c:111
+#, c-format
+msgid "umount: cannot set group id: %s"
+msgstr "umount: číslo skupiny (GID) nelze nastavit: %s"
+
+#: mount/umount.c:114
+#, c-format
+msgid "umount: cannot set user id: %s"
+msgstr "umount: číslo uživatele (UID) nelze nastavit: %s"
+
+#: mount/umount.c:139
+#, c-format
+msgid "umount: cannot fork: %s"
+msgstr "umount: volání fork selhalo: %s"
+
+#: mount/umount.c:160
+#, c-format
+msgid "umount: %s: invalid block device"
+msgstr "umount: blokové zařízení %s je chybné"
+
+#: mount/umount.c:162
+#, c-format
+msgid "umount: %s: not mounted"
+msgstr "umount: %s není připojeno"
+
+#: mount/umount.c:164
+#, c-format
+msgid "umount: %s: can't write superblock"
+msgstr "umount: superblok nelze na %s zapsat"
+
+#: mount/umount.c:168
+#, 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/umount.c:173
+#, c-format
+msgid "umount: %s: not found"
+msgstr "umount: %s nelze najít"
+
+#: mount/umount.c:175
+#, c-format
+msgid "umount: %s: must be superuser to umount"
+msgstr "umount: musíte být superuživatelem, abyste mohl odpojit %s"
+
+#: mount/umount.c:177
+#, c-format
+msgid "umount: %s: block devices not permitted on fs"
+msgstr "umount: %s: bloková zařízení nejsou na systému souborů povolena"
+
+#: mount/umount.c:179
+#, c-format
+msgid "umount: %s: %s"
+msgstr "umount: %s: %s"
+
+#: mount/umount.c:235
+#, c-format
+msgid "no umount2, trying umount...\n"
+msgstr "nenalezl jsem umount2, zkouším umount…\n"
+
+#: mount/umount.c:252
+#, 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/umount.c:263
+#, 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/umount.c:272
+#, c-format
+msgid "%s umounted\n"
+msgstr "%s odpojeno\n"
+
+#: mount/umount.c:367
+msgid "umount: cannot find list of filesystems to unmount"
+msgstr "umount: seznam systémů souborů na odpojení nelze nalézt"
+
+#: mount/umount.c:397
+#, 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/umount.c:466
+#, c-format
+msgid "device %s is associated with %s\n"
+msgstr "zařízení %s je spojeno s %s\n"
+
+#: mount/umount.c:472
+#, c-format
+msgid "device %s is not associated with %s\n"
+msgstr "zařízení %s není spojeno s %s\n"
+
+#: mount/umount.c:485
+msgid "Cannot umount \"\"\n"
+msgstr "„“ nelze odpojit\n"
+
+#: mount/umount.c:491
+#, c-format
+msgid "Trying to umount %s\n"
+msgstr "Zkouším odpojit %s\n"
+
+#: mount/umount.c:504
+msgid "umount: confused when analyzing mtab"
+msgstr "umount: analýza mtab dává matoucí výsledky"
+
+#: mount/umount.c:509
+#, c-format
+msgid "umount: cannot umount %s -- %s is mounted over it on the same point."
+msgstr "umount: %s nelze odpojit – %s je přes něj připojen na stejné místo."
+
+#: mount/umount.c:516
+#, c-format
+msgid "Could not find %s in mtab\n"
+msgstr "%s nelze v mtab najít\n"
+
+#: mount/umount.c:523
+#, c-format
+msgid "umount: %s is not mounted (according to mtab)"
+msgstr "umount: podle mtab není %s připojeno"
+
+#: mount/umount.c:547
+#, 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/umount.c:561
+#, 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/umount.c:567
+#, c-format
+msgid "umount: %s mount disagrees with the fstab"
+msgstr "umount: připojení %s neodpovídá fstab"
+
+#: mount/umount.c:608
+#, c-format
+msgid "umount: only %s can unmount %s from %s"
+msgstr "unmount: pouze uživatel %s může odpojit %s ze %s"
+
+#: mount/umount.c:695
+msgid "umount: only root can do that"
+msgstr "umount: toto může provést pouze uživatel root"
+
+#: schedutils/chrt.c:56
+#, 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"
+"\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 – 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> [<ARGUMENTY>…]}\n"
+"\n"
+"\n"
+"Politiky plánování:\n"
+"  -b | --batch         nastaví politiku na SCHED_BATCH\n"
+"  -f | --fifo          nastaví politiku na SCHED_FIFO\n"
+"  -i | --idle          nastaví politiku na SCHED_IDLE\n"
+"  -o | --other         nastaví politiku na SCHED_OTHER\n"
+"  -r | --rr            nastaví politiku na SCHED_RR (implicitní)\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"
+
+#: schedutils/chrt.c:88
+#, c-format
+msgid "failed to get pid %d's policy"
+msgstr "nepodařilo se získat politiku procesu %d"
+
+# XXX: Second argument is "new" or "current"
+# FIXME: i18n "new".
+#: schedutils/chrt.c:90
+#, c-format
+msgid "pid %d's %s scheduling policy: "
+msgstr "%2$s plánovací politika procesu %1$d: "
+
+# unknown policy
+#: schedutils/chrt.c:112
+#, c-format
+msgid "unknown\n"
+msgstr "neznámá\n"
+
+#: schedutils/chrt.c:116
+#, c-format
+msgid "failed to get pid %d's attributes"
+msgstr "nepodařilo se získat vlastnosti procesu %d"
+
+# XXX: Second argument is "new" or "current"
+#: schedutils/chrt.c:118
+#, c-format
+msgid "pid %d's %s scheduling priority: %d\n"
+msgstr "%2$s plánovací priorita procesu %1$d: %3$d\n"
+
+# First argument just completes literal policy name
+#: schedutils/chrt.c:147
+#, 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:150
+#, c-format
+msgid "SCHED_%s not supported?\n"
+msgstr "SCHED_%s není podporována?\n"
+
+#: schedutils/chrt.c:206
+msgid "failed to parse pid"
+msgstr "PID se nezdařilo rozebrat"
+
+# current policy/priority
+#: schedutils/chrt.c:228
+msgid "current"
+msgstr "současná"
+
+#: schedutils/chrt.c:236
+msgid "failed to parse priority"
+msgstr "prioritu se nezdařilo rozebrat"
+
+#: schedutils/chrt.c:242
+#, c-format
+msgid "failed to set pid %d's policy"
+msgstr "politiku procesu %d se nepodařilo nastavit"
+
+#: schedutils/chrt.c:251
+#, c-format
+msgid "failed to execute %s"
+msgstr "spuštění %s selhalo"
+
+#: schedutils/ionice.c:57
+msgid "ioprio_get failed"
+msgstr "volání ioprio_get selhalo"
+
+#: schedutils/ionice.c:75
+msgid "ioprio_set failed"
+msgstr "volání ioprio_set selhalo"
+
+#: schedutils/ionice.c:81
+#, c-format
+msgid ""
+"\n"
+"ionice - sets or gets process io scheduling class and priority.\n"
+"\n"
+"Usage:\n"
+"  ionice [ options ] -p <pid> [<pid> ...]\n"
+"  ionoce [ 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"
+"  ionoce [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 <class>          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"
+
+#: schedutils/ionice.c:110 schedutils/ionice.c:112
+#, c-format
+msgid "cannot parse number '%s'"
+msgstr "číslo „%s„ nelze rozebrat"
+
+#: schedutils/ionice.c:151
+msgid "ignoring given class data for none class"
+msgstr "u třídy žádná se ignorují zadaná data třídy"
+
+#: schedutils/ionice.c:159
+msgid "ignoring given class data for idle class"
+msgstr "u třídy zahálení [idle] se ignorují zadaná data třídy"
+
+#: schedutils/ionice.c:163
+#, c-format
+msgid "bad prio class %d"
+msgstr "chybná plánovací třída %d"
+
+#: schedutils/ionice.c:187
+msgid "execvp failed"
+msgstr "funkce execvp selhala"
+
+#: sys-utils/ctrlaltdel.c:27
+#, c-format
+msgid "You must be root to set the Ctrl-Alt-Del behaviour.\n"
+msgstr "Pouze uživatel root může nastavit chování Ctrl-Alt-Del.\n"
+
+#: sys-utils/ctrlaltdel.c:42
+#, c-format
+msgid "Usage: ctrlaltdel hard|soft\n"
+msgstr "Použití: ctrlaltdel hard|soft\n"
+
+#: sys-utils/cytune.c:114
+#, 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\n"
+msgstr ""
+"Soubor %s, pro prahovou hodnotu %lu, maximální počet znaků ve fifo byl %d\n"
+"a maximální přenosová rychlost ve znacích za sekundu byla %f\n"
+
+#: sys-utils/cytune.c:125
+#, c-format
+msgid ""
+"File %s, For threshold value %lu and timrout value %lu, Maximum characters "
+"in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f\n"
+msgstr ""
+"Soubor %s, pro prahovou hodnotu %lu a časový limit %lu, maximální počet "
+"znaků\n"
+"ve fifo byl %d a maximální přenosová rychlost ve znacích za sekundu byla %f\n"
+
+#: sys-utils/cytune.c:189
+#, c-format
+msgid "Invalid interval value: %s\n"
+msgstr "Chybné rozpětí: %s\n"
+
+#: sys-utils/cytune.c:197
+#, c-format
+msgid "Invalid set value: %s\n"
+msgstr "Chybná hodnota: %s\n"
+
+#: sys-utils/cytune.c:205
+#, c-format
+msgid "Invalid default value: %s\n"
+msgstr "Chybná implicitní hodnota: %s\n"
+
+#: sys-utils/cytune.c:213
+#, c-format
+msgid "Invalid set time value: %s\n"
+msgstr "Chybný časový údaj: %s\n"
+
+#: sys-utils/cytune.c:221
+#, c-format
+msgid "Invalid default time value: %s\n"
+msgstr "Chybný implicitní časový údaj: %s\n"
+
+#: sys-utils/cytune.c:238
+#, c-format
+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"
+
+#: sys-utils/cytune.c:250 sys-utils/cytune.c:269 sys-utils/cytune.c:289
+#: sys-utils/cytune.c:339
+#, c-format
+msgid "Can't open %s: %s\n"
+msgstr "%s nelze otevřít: %s\n"
+
+#: sys-utils/cytune.c:257
+#, c-format
+msgid "Can't set %s to threshold %d: %s\n"
+msgstr "%s nelze nastavit na prahovou hodnotu %d: %s\n"
+
+#: sys-utils/cytune.c:276
+#, c-format
+msgid "Can't set %s to time threshold %d: %s\n"
+msgstr "%s nelze nastavit na časový limit %d: %s\n"
+
+#: sys-utils/cytune.c:294 sys-utils/cytune.c:351 sys-utils/cytune.c:382
+#, c-format
+msgid "Can't get threshold for %s: %s\n"
+msgstr "Prahovou hodnotu pro %s nelze zjistit: %s\n"
+
+#: sys-utils/cytune.c:300 sys-utils/cytune.c:357 sys-utils/cytune.c:388
+#, c-format
+msgid "Can't get timeout for %s: %s\n"
+msgstr "Časový limit pro %s nelze zjistit: %s\n"
+
+#: sys-utils/cytune.c:306
+#, 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:309
+#, 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/cytune.c:327
+msgid "Can't set signal handler"
+msgstr "Zpracování signálu nelze nastavit"
+
+#: sys-utils/cytune.c:331 sys-utils/cytune.c:366
+msgid "gettimeofday failed"
+msgstr "volání gettimeofday selhalo"
+
+#: sys-utils/cytune.c:344 sys-utils/cytune.c:376
+#, c-format
+msgid "Can't issue CYGETMON on %s: %s\n"
+msgstr "CYGETMON nelze na %s provést: %s\n"
+
+#: sys-utils/cytune.c:418
+#, 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:424
+#, 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:429
+#, 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:435
+#, c-format
+msgid "   %f int/sec; %f rec (char/sec)\n"
+msgstr "   %f přer./s; %f příj. (znak/s)\n"
+
+#: sys-utils/dmesg.c:45
+#, fuzzy, c-format
+msgid "Usage: %s [-c] [-n level] [-r] [-s bufsize]\n"
+msgstr "Použití: %s [-c] [-n úroveň] [-s velikost bufferu]\n"
+
+#: sys-utils/flock.c:65
+#, c-format
+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 ""
+"Použití: %1$s [-sxun][-w Č] FD\n"
+"         %1$s [-sxon][-w Č] SOUBOR [-c] PŘÍKAZ…\n"
+"         %1$s [-sxon][-w Č] ADRESÁŘ [-c] PŘÍKAZ…\n"
+"  -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"
+
+#: sys-utils/flock.c:192
+#, c-format
+msgid "%s: %s requires exactly one command argument\n"
+msgstr "%s: přepínač %s vyžaduje přesně jeden příkazový argument\n"
+
+#: sys-utils/flock.c:219
+#, c-format
+msgid "%s: cannot open lock file %s: %s\n"
+msgstr "%s: soubor zámku %s nelze otevřít: %s\n"
+
+#: sys-utils/flock.c:231
+#, c-format
+msgid "%s: bad number: %s\n"
+msgstr "%s: chybné číslo: %s\n"
+
+#: sys-utils/flock.c:238
+#, c-format
+msgid "%s: requires file descriptor, file or directory\n"
+msgstr "%s: vyžaduje deskriptor souboru, soubor nebo adresář\n"
+
+#: sys-utils/flock.c:294
+#, c-format
+msgid "%s: fork failed: %s\n"
+msgstr "%s: volání fork selhalo: %s\n"
+
+#: sys-utils/ipcmk.c:84
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [options]\n"
+"\n"
+msgstr ""
+"\n"
+"Použití: %s [PŘEPÍNAČE]\n"
+"\n"
+
+#: sys-utils/ipcmk.c:86
+#, c-format
+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"
+"  -p <MÓD>       práva pro zdroj (implicitní jsou 0644)\n"
+
+#: sys-utils/ipcmk.c:90
+#, c-format
+msgid ""
+"\n"
+"For more information see ipcmk(1).\n"
+"\n"
+msgstr ""
+"\n"
+"Více informací naleznete v ipcmk(1).\n"
+"\n"
+
+#: sys-utils/ipcmk.c:142
+msgid "create share memory failed"
+msgstr "nepodařilo se vytvořit sdílenou paměť"
+
+#: sys-utils/ipcmk.c:144
+#, c-format
+msgid "Shared memory id: %d\n"
+msgstr "ID sdílené paměti: %d\n"
+
+#: sys-utils/ipcmk.c:150
+msgid "create message queue failed"
+msgstr "nepodařilo se vytvořit frontu zpráv"
+
+#: sys-utils/ipcmk.c:152
+#, c-format
+msgid "Message queue id: %d\n"
+msgstr "ID fronty zpráv: %d\n"
+
+#: sys-utils/ipcmk.c:158
+msgid "create semaphore failed"
+msgstr "nepodařilo se vytvořit semafor"
+
+#: sys-utils/ipcmk.c:160
+#, c-format
+msgid "Semaphore id: %d\n"
+msgstr "ID sepaforu: %d\n"
+
+#: sys-utils/ipcrm.c:66
+#, c-format
+msgid "invalid id: %s\n"
+msgstr "chybné ID: %s\n"
+
+#: sys-utils/ipcrm.c:84
+#, c-format
+msgid "cannot remove id %s (%s)\n"
+msgstr "id %s nelze odstranit (%s)\n"
+
+#: sys-utils/ipcrm.c:99
+#, c-format
+msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
+msgstr "Zavrhovaný způsob použití: %s [shm | msg | sem] id…\n"
+
+#: sys-utils/ipcrm.c:126
+#, c-format
+msgid "unknown resource type: %s\n"
+msgstr "typ zdroje %s není znám\n"
+
+#: sys-utils/ipcrm.c:130
+#, c-format
+msgid "resource(s) deleted\n"
+msgstr "prostředky smazány\n"
+
+#: sys-utils/ipcrm.c:140
+#, c-format
+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"
+
+#: sys-utils/ipcrm.c:181
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: nepovolená volba – %c\n"
+
+#: sys-utils/ipcrm.c:193
+#, c-format
+msgid "%s: illegal key (%s)\n"
+msgstr "%s: nepovolený klíč (%s)\n"
+
+#: sys-utils/ipcrm.c:208 sys-utils/ipcrm.c:240
+msgid "permission denied for key"
+msgstr "pro daný klíč přístup odmítnut"
+
+#: sys-utils/ipcrm.c:211 sys-utils/ipcrm.c:250
+msgid "already removed key"
+msgstr "již odstraněný klíč"
+
+#: sys-utils/ipcrm.c:214 sys-utils/ipcrm.c:245
+msgid "invalid key"
+msgstr "neplatný klíč"
+
+#: sys-utils/ipcrm.c:217 sys-utils/ipcrm.c:255
+msgid "unknown error in key"
+msgstr "neznámá chyba v klíči"
+
+#: sys-utils/ipcrm.c:241
+msgid "permission denied for id"
+msgstr "pro dané id přístup odmítnut"
+
+#: sys-utils/ipcrm.c:246
+msgid "invalid id"
+msgstr "neplatné id"
+
+#: sys-utils/ipcrm.c:251
+msgid "already removed id"
+msgstr "již odstraněné id"
+
+#: sys-utils/ipcrm.c:256
+msgid "unknown error in id"
+msgstr "neznámá chyba v id"
+
+#: sys-utils/ipcrm.c:259
+#, c-format
+msgid "%s: %s (%s)\n"
+msgstr "%s: %s (%s)\n"
+
+#: sys-utils/ipcrm.c:267
+#, c-format
+msgid "%s: unknown argument: %s\n"
+msgstr "%s: neznámý argument: %s\n"
+
+#: sys-utils/ipcs.c:120
+#, c-format
+msgid "usage : %s -asmq -tclup \n"
+msgstr "Použití: %s -asmq -tclup \n"
+
+#: sys-utils/ipcs.c:121
+#, c-format
+msgid "\t%s [-s -m -q] -i id\n"
+msgstr "\t%s [-s -m -q] -i id\n"
+
+#: sys-utils/ipcs.c:122
+#, c-format
+msgid "\t%s -h for help.\n"
+msgstr "\t%s -h pro nápovědu.\n"
+
+#: sys-utils/ipcs.c:128
+#, c-format
+msgid ""
+"%s provides information on ipc facilities for which you have read access.\n"
+msgstr "%s poskytuje informace o IPC prostředcích, které můžete číst.\n"
+
+#: sys-utils/ipcs.c:130
+#, c-format
+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"
+
+#: sys-utils/ipcs.c:131
+#, c-format
+msgid ""
+"\t-s : semaphores\n"
+"\t-a : all (default)\n"
+msgstr ""
+"\t-s : semafory\n"
+"\t-a : vše (implicitní)\n"
+
+#: sys-utils/ipcs.c:132
+#, c-format
+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"
+
+#: sys-utils/ipcs.c:133
+#, c-format
+msgid ""
+"\t-l : limits\n"
+"\t-u : summary\n"
+msgstr ""
+"\t-l : omezení\n"
+"\t-u : shrnutí\n"
+
+#: sys-utils/ipcs.c:134
+#, c-format
+msgid "-i id [-s -q -m] : details on resource identified by id\n"
+msgstr "-i id [-s -q -m] : podrobnosti o prostředku určeném dle id\n"
+
+#: sys-utils/ipcs.c:258
+#, c-format
+msgid "kernel not configured for shared memory\n"
+msgstr "jádro nepodporuje sdílenou paměť\n"
+
+#: sys-utils/ipcs.c:264
+#, c-format
+msgid "------ Shared Memory Limits --------\n"
+msgstr "------ Omezení pro sdílenou paměť --------\n"
+
+#: sys-utils/ipcs.c:269
+#, c-format
+msgid "max number of segments = %lu\n"
+msgstr "maximální počet segmentů = %lu\n"
+
+#: sys-utils/ipcs.c:271
+#, c-format
+msgid "max seg size (kbytes) = %lu\n"
+msgstr "maximální velikost segmentu (v kilobajtech) = %lu\n"
+
+#: sys-utils/ipcs.c:273
+#, 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:275
+#, c-format
+msgid "min seg size (bytes) = %lu\n"
+msgstr "minimální velikost segmentu (v bajtech) = %lu\n"
+
+#: sys-utils/ipcs.c:280
+#, c-format
+msgid "------ Shared Memory Status --------\n"
+msgstr "------ Stav sdílené paměti --------\n"
+
+#: sys-utils/ipcs.c:281
+#, c-format
+msgid "segments allocated %d\n"
+msgstr "alokované segmenty %d\n"
+
+#: sys-utils/ipcs.c:282
+#, c-format
+msgid "pages allocated %ld\n"
+msgstr "alokované stránky %ld\n"
+
+#: sys-utils/ipcs.c:283
+#, c-format
+msgid "pages resident  %ld\n"
+msgstr "rezidentní stránky %ld\n"
+
+#: sys-utils/ipcs.c:284
+#, c-format
+msgid "pages swapped   %ld\n"
+msgstr "stránky v odkládacím prostoru %ld\n"
+
+#: sys-utils/ipcs.c:285
+#, c-format
+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"
+
+#: sys-utils/ipcs.c:290
+#, c-format
+msgid "------ Shared Memory Segment Creators/Owners --------\n"
+msgstr "------ Tvůrci/vlastníci segmentů sdílené paměti ------\n"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:298 sys-utils/ipcs.c:305
+#: sys-utils/ipcs.c:311
+msgid "shmid"
+msgstr "shmid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:311 sys-utils/ipcs.c:412
+#: sys-utils/ipcs.c:427 sys-utils/ipcs.c:510 sys-utils/ipcs.c:528
+msgid "perms"
+msgstr "práva"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "cuid"
+msgstr "cuid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "cgid"
+msgstr "cgid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "uid"
+msgstr "uid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "gid"
+msgstr "gid"
+
+#: sys-utils/ipcs.c:296
+#, 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:298 sys-utils/ipcs.c:305 sys-utils/ipcs.c:311
+#: sys-utils/ipcs.c:418 sys-utils/ipcs.c:427 sys-utils/ipcs.c:516
+#: sys-utils/ipcs.c:522 sys-utils/ipcs.c:528
+msgid "owner"
+msgstr "vlastník"
+
+#: sys-utils/ipcs.c:298
+msgid "attached"
+msgstr "připojení"
+
+#: sys-utils/ipcs.c:298
+msgid "detached"
+msgstr "odpojení"
+
+#: sys-utils/ipcs.c:299
+msgid "changed"
+msgstr "změna"
+
+#: sys-utils/ipcs.c:303
+#, c-format
+msgid "------ Shared Memory Creator/Last-op --------\n"
+msgstr "------ Tvůrce sdílené paměti/poslední operace --------\n"
+
+#: sys-utils/ipcs.c:305
+msgid "cpid"
+msgstr "cpid"
+
+#: sys-utils/ipcs.c:305
+msgid "lpid"
+msgstr "lpid"
+
+#: sys-utils/ipcs.c:309
+#, c-format
+msgid "------ Shared Memory Segments --------\n"
+msgstr "------ Segmenty sdílené paměti --------\n"
+
+#: sys-utils/ipcs.c:311 sys-utils/ipcs.c:427 sys-utils/ipcs.c:528
+msgid "key"
+msgstr "klíč"
+
+#: sys-utils/ipcs.c:311
+msgid "bytes"
+msgstr "bajty"
+
+#: sys-utils/ipcs.c:312
+msgid "nattch"
+msgstr "nattch"
+
+#: sys-utils/ipcs.c:312
+msgid "status"
+msgstr "stav"
+
+#: sys-utils/ipcs.c:333 sys-utils/ipcs.c:335 sys-utils/ipcs.c:337
+#: sys-utils/ipcs.c:448 sys-utils/ipcs.c:450 sys-utils/ipcs.c:549
+#: sys-utils/ipcs.c:551 sys-utils/ipcs.c:553 sys-utils/ipcs.c:604
+#: sys-utils/ipcs.c:606 sys-utils/ipcs.c:634 sys-utils/ipcs.c:636
+#: sys-utils/ipcs.c:638 sys-utils/ipcs.c:661
+msgid "Not set"
+msgstr "Nenastaveno"
+
+#: sys-utils/ipcs.c:365
+msgid "dest"
+msgstr "cíl"
+
+#: sys-utils/ipcs.c:366
+msgid "locked"
+msgstr "zamčeno"
+
+#: sys-utils/ipcs.c:386
+#, c-format
+msgid "kernel not configured for semaphores\n"
+msgstr "jádro nepodporuje semafory\n"
+
+#: sys-utils/ipcs.c:392
+#, c-format
+msgid "------ Semaphore Limits --------\n"
+msgstr "------Omezení pro semafory --------\n"
+
+#: sys-utils/ipcs.c:396
+#, c-format
+msgid "max number of arrays = %d\n"
+msgstr "maximální počet polí = %d\n"
+
+#: sys-utils/ipcs.c:397
+#, c-format
+msgid "max semaphores per array = %d\n"
+msgstr "maximální počet semaforů v poli = %d\n"
+
+#: sys-utils/ipcs.c:398
+#, c-format
+msgid "max semaphores system wide = %d\n"
+msgstr "celkový maximální počet semaforů = %d\n"
+
+#: sys-utils/ipcs.c:399
+#, 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:400
+#, c-format
+msgid "semaphore max value = %d\n"
+msgstr "maximální hodnota semaforu = %d\n"
+
+#: sys-utils/ipcs.c:404
+#, c-format
+msgid "------ Semaphore Status --------\n"
+msgstr "------ Stav semaforu --------\n"
+
+#: sys-utils/ipcs.c:405
+#, c-format
+msgid "used arrays = %d\n"
+msgstr "použitá pole = %d\n"
+
+#: sys-utils/ipcs.c:406
+#, c-format
+msgid "allocated semaphores = %d\n"
+msgstr "alokované semafory = %d\n"
+
+#: sys-utils/ipcs.c:410
+#, c-format
+msgid "------ Semaphore Arrays Creators/Owners --------\n"
+msgstr "------ Tvůrci/vlastníci polí semaforů --------\n"
+
+#: sys-utils/ipcs.c:412 sys-utils/ipcs.c:418 sys-utils/ipcs.c:427
+msgid "semid"
+msgstr "semid"
+
+#: sys-utils/ipcs.c:416
+#, c-format
+msgid "------ Semaphore Operation/Change Times --------\n"
+msgstr "------ Časy operace/změny semaforu --------\n"
+
+#: sys-utils/ipcs.c:418
+msgid "last-op"
+msgstr "poslední operace"
+
+#: sys-utils/ipcs.c:418
+msgid "last-changed"
+msgstr "poslední změna"
+
+#: sys-utils/ipcs.c:425
+#, c-format
+msgid "------ Semaphore Arrays --------\n"
+msgstr "------ Pole semaforů --------\n"
+
+#: sys-utils/ipcs.c:427
+msgid "nsems"
+msgstr "nsems"
+
+#: sys-utils/ipcs.c:486
+#, c-format
+msgid "kernel not configured for message queues\n"
+msgstr "jádro nepodporuje fronty zpráv\n"
+
+#: sys-utils/ipcs.c:494
+#, c-format
+msgid "------ Messages: Limits --------\n"
+msgstr "------ Zprávy: Omezení --------\n"
+
+#: sys-utils/ipcs.c:495
+#, c-format
+msgid "max queues system wide = %d\n"
+msgstr "celkový maximální počet front = %d\n"
+
+#: sys-utils/ipcs.c:496
+#, c-format
+msgid "max size of message (bytes) = %d\n"
+msgstr "maximální velikost zprávy (v bajtech) = %d\n"
+
+#: sys-utils/ipcs.c:497
+#, 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:501
+#, c-format
+msgid "------ Messages: Status --------\n"
+msgstr "------ Zprávy: Stav --------\n"
+
+#: sys-utils/ipcs.c:502
+#, c-format
+msgid "allocated queues = %d\n"
+msgstr "alokované fronty = %d\n"
+
+#: sys-utils/ipcs.c:503
+#, c-format
+msgid "used headers = %d\n"
+msgstr "použité hlavičky = %d\n"
+
+#: sys-utils/ipcs.c:504
+#, c-format
+msgid "used space = %d bytes\n"
+msgstr "použitý prostor (v bajtech) = %d\n"
+
+#: sys-utils/ipcs.c:508
+#, c-format
+msgid "------ Message Queues: Creators/Owners --------\n"
+msgstr "------ Fronty zpráv: Tvůrci/Vlastníci --------\n"
+
+#: sys-utils/ipcs.c:510 sys-utils/ipcs.c:516 sys-utils/ipcs.c:522
+#: sys-utils/ipcs.c:528
+msgid "msqid"
+msgstr "msqid"
+
+#: sys-utils/ipcs.c:514
+#, 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:516
+msgid "send"
+msgstr "odeslání"
+
+#: sys-utils/ipcs.c:516
+msgid "recv"
+msgstr "příjem"
+
+#: sys-utils/ipcs.c:516
+msgid "change"
+msgstr "změna"
+
+#: sys-utils/ipcs.c:520
+#, c-format
+msgid "------ Message Queues PIDs --------\n"
+msgstr "------ PID pro fronty zpráv --------\n"
+
+#: sys-utils/ipcs.c:522
+msgid "lspid"
+msgstr "lspid"
+
+#: sys-utils/ipcs.c:522
+msgid "lrpid"
+msgstr "lrpid"
+
+#: sys-utils/ipcs.c:526
+#, c-format
+msgid "------ Message Queues --------\n"
+msgstr "------ Fronty zpráv --------\n"
+
+#: sys-utils/ipcs.c:529
+msgid "used-bytes"
+msgstr "užité bajty"
+
+#: sys-utils/ipcs.c:529
+msgid "messages"
+msgstr "zprávy"
+
+#: sys-utils/ipcs.c:593
+msgid "shmctl failed"
+msgstr "volání shmctl selhalo"
+
+#: sys-utils/ipcs.c:595
+#, c-format
+msgid ""
+"\n"
+"Shared memory Segment shmid=%d\n"
+msgstr ""
+"\n"
+"shmid segmentu sdílené paměti = %d\n"
+
+#: sys-utils/ipcs.c:596
+#, c-format
+msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+
+#: sys-utils/ipcs.c:598
+#, c-format
+msgid "mode=%#o\taccess_perms=%#o\n"
+msgstr "mód=%#o\tpřístupová práva=%#o\n"
+
+#: sys-utils/ipcs.c:600
+#, c-format
+msgid "bytes=%ld\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+msgstr "bajtů=%ld\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+
+#: sys-utils/ipcs.c:603
+#, c-format
+msgid "att_time=%-26.24s\n"
+msgstr "připoj_čas=%-26.24s\n"
+
+#: sys-utils/ipcs.c:605
+#, c-format
+msgid "det_time=%-26.24s\n"
+msgstr "odpoj_čas=%-26.24s\n"
+
+#: sys-utils/ipcs.c:607 sys-utils/ipcs.c:637
+#, c-format
+msgid "change_time=%-26.24s\n"
+msgstr "čas_změny=%-26.24s\n"
+
+#: sys-utils/ipcs.c:619
+msgid "msgctl failed"
+msgstr "volání msgctl selhalo"
+
+#: sys-utils/ipcs.c:621
+#, c-format
+msgid ""
+"\n"
+"Message Queue msqid=%d\n"
+msgstr ""
+"\n"
+"msgid fronty zpráv=%d\n"
+
+#: sys-utils/ipcs.c:622
+#, c-format
+msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmód=%#o\n"
+
+#: sys-utils/ipcs.c:624
+#, 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:633
+#, c-format
+msgid "send_time=%-26.24s\n"
+msgstr "čas odeslání=%-26.24s\n"
+
+#: sys-utils/ipcs.c:635
+#, c-format
+msgid "rcv_time=%-26.24s\n"
+msgstr "čas příjmu=%-26.24s\n"
+
+#: sys-utils/ipcs.c:652 sys-utils/ipcs.c:674
+msgid "semctl failed"
+msgstr "volání semctl selhalo"
+
+#: sys-utils/ipcs.c:654
+#, c-format
+msgid ""
+"\n"
+"Semaphore Array semid=%d\n"
+msgstr ""
+"\n"
+"semid pole semaforů = %d\n"
+
+#: sys-utils/ipcs.c:655
+#, c-format
+msgid "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+msgstr "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+
+#: sys-utils/ipcs.c:657
+#, c-format
+msgid "mode=%#o, access_perms=%#o\n"
+msgstr "mód=%#o, přístupová práva=%#o\n"
+
+#: sys-utils/ipcs.c:659
+#, c-format
+msgid "nsems = %ld\n"
+msgstr "nsems = %ld\n"
+
+#: sys-utils/ipcs.c:660
+#, c-format
+msgid "otime = %-26.24s\n"
+msgstr "čas poslední operace = %-26.24s\n"
+
+#: sys-utils/ipcs.c:662
+#, c-format
+msgid "ctime = %-26.24s\n"
+msgstr "čas změny = %-26.24s\n"
+
+#: sys-utils/ipcs.c:665
+msgid "semnum"
+msgstr "semnum"
+
+#: sys-utils/ipcs.c:665
+msgid "value"
+msgstr "hodnota"
+
+#: sys-utils/ipcs.c:665
+msgid "ncount"
+msgstr "ncount"
+
+#: sys-utils/ipcs.c:665
+msgid "zcount"
+msgstr "zcount"
+
+#: sys-utils/ipcs.c:665
+msgid "pid"
+msgstr "pid"
+
+#: sys-utils/ldattach.c:92
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [ -dhV78neo12 ] [ -s <speed> ] <ldisc> <device>\n"
+msgstr ""
+"\n"
+"Použití: %s [-dhV78neo12] [-s RYCHLOST] LDISC ZAŘÍZENÍ\n"
+
+#: sys-utils/ldattach.c:94
+msgid ""
+"\n"
+"Known <ldisc> names:\n"
+msgstr ""
+"\n"
+"Známá jména LDISC (disciplíny linky):\n"
+
+#: sys-utils/ldattach.c:179
+#, c-format
+msgid "invalid speed: %s"
+msgstr "chybná rychlost: %s"
+
+#: sys-utils/ldattach.c:182
+#, c-format
+msgid "ldattach from %s\n"
+msgstr "ldattach z %s\n"
+
+#: sys-utils/ldattach.c:187 text-utils/tailf.c:205
+msgid "invalid option"
+msgstr "neplatný přepínač"
+
+#: sys-utils/ldattach.c:199
+#, c-format
+msgid "invalid line discipline: %s"
+msgstr "neplatná disciplína linky: %s"
+
+#: sys-utils/ldattach.c:207
+#, c-format
+msgid "%s is not a serial line"
+msgstr "%s není sériovou linkou"
+
+#: sys-utils/ldattach.c:213
+#, c-format
+msgid "cannot get terminal attributes for %s"
+msgstr "nelze zjistit vlastnosti terminálu %s"
+
+#: sys-utils/ldattach.c:216
+#, c-format
+msgid "speed %d unsupported"
+msgstr "rychlost %d nepodporována"
+
+#: sys-utils/ldattach.c:247
+#, c-format
+msgid "cannot set terminal attributes for %s"
+msgstr "vlastnosti terminálu %s nelze nastavit"
+
+#: sys-utils/ldattach.c:254
+msgid "cannot set line discipline"
+msgstr "disciplínu linky nelze nastavit"
+
+#: sys-utils/ldattach.c:260
+msgid "cannot daemonize"
+msgstr "nelze se démonizovat"
+
+# virtualization type
+#: sys-utils/lscpu.c:64
+msgid "none"
+msgstr "žádná"
+
+# virtualization type
+#: sys-utils/lscpu.c:65
+msgid "para"
+msgstr "paravirtualizace"
+
+# virtualization type
+#: sys-utils/lscpu.c:66
+msgid "full"
+msgstr "plná"
+
+#: sys-utils/lscpu.c:129 sys-utils/lscpu.c:152 sys-utils/lscpu.c:441
+#, c-format
+msgid "error: %s"
+msgstr "chyba: %s"
+
+#: sys-utils/lscpu.c:154
+#, c-format
+msgid "error parse: %s"
+msgstr "chyba při rozebírání: %s"
+
+#: sys-utils/lscpu.c:176
+msgid "error: strdup failed"
+msgstr "chyba: funkce strdup selhala"
+
+#: sys-utils/lscpu.c:259
+msgid "error: uname failed"
+msgstr "chyba: volání uname selhalo"
+
+#: sys-utils/lscpu.c:491
+msgid "error: malloc failed"
+msgstr "chyba: funkce malloc selhala"
+
+#: sys-utils/lscpu.c:506
+msgid "error: /sys filesystem is not accessable."
+msgstr "chyba: souborový systém /sys není přístupný."
+
+#: sys-utils/lscpu.c:524
+#, 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"
+"# CPU,Core,Socket,Node"
+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"
+"# CPU,Jádro,Patice,Uzel"
+
+#: sys-utils/lscpu.c:590
+msgid "Thread(s) per core:"
+msgstr "Vláken na jádro:"
+
+#: sys-utils/lscpu.c:591
+msgid "Core(s) per socket:"
+msgstr "Jader na patici:"
+
+#: sys-utils/lscpu.c:592
+msgid "CPU socket(s):"
+msgstr "Patic CPU:"
+
+#: sys-utils/lscpu.c:596
+msgid "NUMA node(s):"
+msgstr "Uzly NUMA:"
+
+#: sys-utils/lscpu.c:598
+msgid "Vendor ID:"
+msgstr "ID výrobce:"
+
+#: sys-utils/lscpu.c:600
+msgid "CPU family:"
+msgstr "Rodina CPU:"
+
+#: sys-utils/lscpu.c:602
+msgid "Model:"
+msgstr "Model:"
+
+# ???: Existuje český překlad?
+#: sys-utils/lscpu.c:604
+msgid "Stepping:"
+msgstr "Stepping:"
+
+#: sys-utils/lscpu.c:606
+msgid "CPU MHz:"
+msgstr "CPU MHz:"
+
+#: sys-utils/lscpu.c:609 sys-utils/lscpu.c:611
+msgid "Virtualization:"
+msgstr "Virtualizace:"
+
+#: sys-utils/lscpu.c:614
+msgid "Hypervisor vendor:"
+msgstr "Výrobce hypervizoru:"
+
+#: sys-utils/lscpu.c:615
+msgid "Virtualization type:"
+msgstr "Druh virtualizace:"
+
+# ???: keš
+#: sys-utils/lscpu.c:623
+#, c-format
+msgid "%s cache:"
+msgstr "%s cache:"
+
+#: sys-utils/lscpu.c:631
+#, c-format
+msgid "Usage: %s [option]\n"
+msgstr "Použití: %s [PŘEPÍNAČ]\n"
+
+#: sys-utils/lscpu.c:634
+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 ""
+"Nástroj pro popis architektury CPU\n"
+"\n"
+"  -h, --help     návod na použití\n"
+"  -p, --parse    vypíše ve strojově zpracovatelné podobě namísto lidsky "
+"čitelné\n"
+"  -s, --sysroot  použije adresář jako kořen nového systému\n"
+
+#: sys-utils/lscpu.c:683
+#, c-format
+msgid "error: change working directory to %s."
+msgstr "chyba: změna pracovního adresáře do %s."
+
+#: sys-utils/rdev.c:77
+msgid "usage: rdev [ -rv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]"
+msgstr "Použití: rdev [ -rv ] [ -o POSUN ] [ OBRAZ [ HODNOTA [ POSUN ] ] ]"
+
+#: sys-utils/rdev.c:78
+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í"
+
+#: sys-utils/rdev.c:79
+msgid "  rdev /dev/fd0 /dev/hda2         sets ROOT to /dev/hda2"
+msgstr "  rdev /dev/fd0 /dev/hda2         nastaví ROOT na /dev/hda2"
+
+#: sys-utils/rdev.c:80
+msgid "  rdev -R /dev/fd0 1              set the ROOTFLAGS (readonly status)"
+msgstr ""
+"  rdev -R /dev/fd0 1              nastaví PŘÍZNAKY ROOT (pouze pro čtení)"
+
+#: sys-utils/rdev.c:81
+msgid "  rdev -r /dev/fd0 627            set the RAMDISK size"
+msgstr "  rdev -r /dev/fd0 627            nastaví velikost RAMDISKU"
+
+#: sys-utils/rdev.c:82
+msgid "  rdev -v /dev/fd0 1              set the bootup VIDEOMODE"
+msgstr "  rdev -v /dev/fd0 1              nastaví startovací VIDEOMÓD"
+
+#: sys-utils/rdev.c:83
+msgid "  rdev -o N ...                   use the byte offset N"
+msgstr "  rdev -o N ...                   posun v bajtech"
+
+#: sys-utils/rdev.c:84
+msgid "  rootflags ...                   same as rdev -R"
+msgstr "  root příznaky ...               stejné jako rdev -R"
+
+#: sys-utils/rdev.c:85
+msgid "  ramsize ...                     same as rdev -r"
+msgstr "  velikost ram ...                stejné jako rdev -r"
+
+#: sys-utils/rdev.c:86
+msgid "  vidmode ...                     same as rdev -v"
+msgstr "  vidmód ...                      stejné jako rdev -v"
+
+#: sys-utils/rdev.c:87
+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,..."
+
+#: sys-utils/rdev.c:88
+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."
+
+#: sys-utils/rdev.c:245
+msgid "missing comma"
+msgstr "chybí čárka"
+
+#: sys-utils/readprofile.c:72
+#, c-format
+msgid "out of memory"
+msgstr "nedostatek paměti"
+
+#: sys-utils/readprofile.c:118
+#, 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: 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"
+
+#: sys-utils/readprofile.c:227
+#, c-format
+msgid "readprofile: error writing %s: %s\n"
+msgstr "readprofile: chyba při zápisu %s: %s\n"
+
+#: sys-utils/readprofile.c:268
+#, c-format
+msgid "Assuming reversed byte order. Use -n to force native byte order.\n"
+msgstr ""
+"Předpokládám opačné pořadí bajtů. Systémové pořadí lze vynutit pomocí -n.\n"
+
+#: sys-utils/readprofile.c:284
+#, c-format
+msgid "Sampling_step: %i\n"
+msgstr "Profilovací_krok: %i\n"
+
+#: sys-utils/readprofile.c:305 sys-utils/readprofile.c:331
+#, c-format
+msgid "%s: %s(%i): wrong map line\n"
+msgstr "%s: %s(%i): chybný map řádek\n"
+
+#: sys-utils/readprofile.c:318
+#, c-format
+msgid "%s: can't find \"_stext\" in %s\n"
+msgstr "%s: \"_stext\" nelze v %s nalézt\n"
+
+#: sys-utils/readprofile.c:352
+#, c-format
+msgid "%s: profile address out of range. Wrong map file?\n"
+msgstr "%s: adresa profilu je mimo rozsah. Chybný mapovací soubor?\n"
+
+#: sys-utils/readprofile.c:412
+msgid "total"
+msgstr "celkem"
+
+#: sys-utils/renice.c:53
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" renice [-n] priority [-p|--pid] pid  [... pid]\n"
+" renice [-n] priority  -g|--pgrp pgrp [... pgrp]\n"
+" renice [-n] priority  -u|--user user [... user]\n"
+" renice -h | --help\n"
+" renice -v | --version\n"
+"\n"
+msgstr ""
+"\n"
+"Použití:\n"
+" renice [-n] PRIORITA [-p|--pid] PID [… PID]\n"
+" renice [-n] PRIORITA  -g|--pgrp PGRP [… PGRP]\n"
+" renice [-n] PRIORITA  -u|--user UŽIVATEL [… UŽIVATEL]\n"
+" renice -h | --help\n"
+" renice -v | --version\n"
+"\n"
+
+#: sys-utils/renice.c:89
+#, c-format
+msgid "renice from %s\n"
+msgstr "renice z  %s\n"
+
+#: sys-utils/renice.c:126
+#, c-format
+msgid "renice: %s: unknown user\n"
+msgstr "renice: %s: neznámý uživatel\n"
+
+#: sys-utils/renice.c:134
+#, c-format
+msgid "renice: %s: bad value\n"
+msgstr "renice: %s: chybná hodnota\n"
+
+#: sys-utils/renice.c:152 sys-utils/renice.c:164
+msgid "getpriority"
+msgstr "getpriority"
+
+#: sys-utils/renice.c:157
+msgid "setpriority"
+msgstr "setpriority"
+
+#: sys-utils/renice.c:168
+#, c-format
+msgid "%d: old priority %d, new priority %d\n"
+msgstr "%d: původní priorita %d, nová priorita %d\n"
+
+#: sys-utils/rtcwake.c:81
+#, c-format
+msgid ""
+"usage: %s [options]\n"
+"    -d | --device <device>    select rtc device (rtc0|rtc1|...)\n"
+"    -l | --local              RTC uses local timezone\n"
+"    -m | --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"
+"    -V | --version            show version\n"
+msgstr ""
+"Použití: %s [PŘEPÍNAČE]\n"
+"    -d | --device <ZAŘÍZENÍ>  vybere RTC zařízení (rtc0|rtc1|…)\n"
+"    -l | --local              RTC běží v místním čase\n"
+"    -m | --mode               režim spánku standby|mem|…\n"
+"    -s | --seconds <SEKUND>   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"
+"    -V | --version            zobrazit verzi\n"
+
+#: sys-utils/rtcwake.c:140
+msgid "read rtc time"
+msgstr "čtení hodin RTC"
+
+#: sys-utils/rtcwake.c:145
+msgid "read system time"
+msgstr "čtení systémových hodin"
+
+#: sys-utils/rtcwake.c:163
+msgid "convert rtc time"
+msgstr "konverze času RTC"
+
+#: sys-utils/rtcwake.c:222
+msgid "set rtc alarm"
+msgstr "nastavení budíku RTC"
+
+#: sys-utils/rtcwake.c:226
+msgid "enable rtc alarm"
+msgstr "zapnutí budíku RTC"
+
+#: sys-utils/rtcwake.c:230
+msgid "set rtc wake alarm"
+msgstr "nastavení budíku RTC pro probuzení"
+
+#: sys-utils/rtcwake.c:342
+#, c-format
+msgid "%s: unrecognized suspend state '%s'\n"
+msgstr "%s: nerozpoznaný stav uspání „%s“\n"
+
+#: sys-utils/rtcwake.c:351
+#, c-format
+msgid "%s: illegal interval %s seconds\n"
+msgstr "%s: nepovolený interval %s sekund\n"
+
+#: sys-utils/rtcwake.c:365
+#, c-format
+msgid "%s: illegal time_t value %s\n"
+msgstr "%s: %s není povolená hodnota time_t\n"
+
+#: sys-utils/rtcwake.c:381
+#, c-format
+msgid "%s: version %s\n"
+msgstr "%s: verze %s\n"
+
+#: sys-utils/rtcwake.c:394
+#, 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:399
+#, c-format
+msgid "Using UTC time.\n"
+msgstr "Používám UTC čas.\n"
+
+#: sys-utils/rtcwake.c:400
+#, c-format
+msgid "Using local time.\n"
+msgstr "Používám místní čas.\n"
+
+#: sys-utils/rtcwake.c:403
+#, c-format
+msgid "%s: must provide wake time\n"
+msgstr "%s: je nezbytné uvést dobu probuzení\n"
+
+#: sys-utils/rtcwake.c:413
+msgid "malloc() failed"
+msgstr "volání malloc() selhalo"
+
+#: sys-utils/rtcwake.c:425
+#, c-format
+msgid "%s: %s not enabled for wakeup events\n"
+msgstr "%s: %s neumí zpracovat probouzecí události\n"
+
+#: sys-utils/rtcwake.c:441
+#, 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:446
+#, c-format
+msgid "%s: time doesn't go backward to %s\n"
+msgstr "%s: hodiny nedojdou pozpátku na %s\n"
+
+#: sys-utils/rtcwake.c:456
+#, c-format
+msgid "%s: wakeup from \"%s\" using %s at %s\n"
+msgstr "%s: probuzení z „%s“ za použití %s v %s\n"
+
+#: sys-utils/rtcwake.c:473
+msgid "rtc read"
+msgstr "odečtení hodin reálného času"
+
+#: sys-utils/rtcwake.c:482
+msgid "disable rtc alarm interrupt"
+msgstr "zakázání přerušení budíku hodin reálného času"
+
+#: sys-utils/setarch.c:50
+#, c-format
+msgid "Switching on %s.\n"
+msgstr "Zapínám %s.\n"
+
+#: sys-utils/setarch.c:113
+#, c-format
+msgid ""
+"Usage: %s%s [options] [program [program arguments]]\n"
+"\n"
+"Options:\n"
+msgstr ""
+"Použití: %s%s [PŘEPÍNAČE] [PROGRAM [ARGUMENTY_PROGRAMU]]\n"
+"\n"
+"Přepínače:\n"
+
+#: sys-utils/setarch.c:117
+#, c-format
+msgid ""
+" -h, --help               displays this help text\n"
+" -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"
+msgstr ""
+" -h, --help               vypíše text této nápovědy\n"
+" -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"
+
+#: sys-utils/setarch.c:131
+#, c-format
+msgid ""
+"\n"
+"For more information see setarch(8).\n"
+msgstr ""
+"\n"
+"Více informací naleznete v setarch(8).\n"
+
+#: sys-utils/setarch.c:143
+#, c-format
+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"
+
+#: sys-utils/setarch.c:215 sys-utils/setarch.c:231
+#, c-format
+msgid "%s: Unrecognized architecture"
+msgstr " %s: Nerozpoznaná architektura"
+
+#: sys-utils/setarch.c:249 sys-utils/setarch.c:256
+msgid "Not enough arguments"
+msgstr "Málo argumentů"
+
+# personality – charakteristika architektury
+#: sys-utils/setarch.c:265 sys-utils/setarch.c:318
+#, c-format
+msgid "Failed to set personality to %s"
+msgstr "Selhalo nastavení charakteristiky architektury na %s"
+
+#: sys-utils/setsid.c:26
+#, c-format
+msgid "usage: %s program [arg ...]\n"
+msgstr "Použití: %s PROGRAM [ARGUMENT…]\n"
+
+#: sys-utils/tunelp.c:75
+#, c-format
+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"
+
+#: sys-utils/tunelp.c:91
+msgid "malloc error"
+msgstr "chyba malloc"
+
+#: sys-utils/tunelp.c:103
+#, c-format
+msgid "%s: bad value\n"
+msgstr "%s: chybná hodnota\n"
+
+#: sys-utils/tunelp.c:242
+#, c-format
+msgid "%s: %s not an lp device.\n"
+msgstr "%s: %s není lp zařízením\n"
+
+#: sys-utils/tunelp.c:263
+#, c-format
+msgid "%s status is %d"
+msgstr "status %s je %d"
+
+#: sys-utils/tunelp.c:264
+#, c-format
+msgid ", busy"
+msgstr ", zaneprázdněna"
+
+#: sys-utils/tunelp.c:265
+#, c-format
+msgid ", ready"
+msgstr ", připravena"
+
+#: sys-utils/tunelp.c:266
+#, c-format
+msgid ", out of paper"
+msgstr ", došel papír"
+
+#: sys-utils/tunelp.c:267
+#, c-format
+msgid ", on-line"
+msgstr ", zapnuta"
+
+#: sys-utils/tunelp.c:268
+#, c-format
+msgid ", error"
+msgstr ", chyba"
+
+#: sys-utils/tunelp.c:285
+msgid "LPGETIRQ error"
+msgstr "chyba LPGETIRQ"
+
+#: sys-utils/tunelp.c:291
+#, c-format
+msgid "%s using IRQ %d\n"
+msgstr "%s používá IRQ %d\n"
+
+#: sys-utils/tunelp.c:293
+#, c-format
+msgid "%s using polling\n"
+msgstr "%s používá poll\n"
+
+#: text-utils/col.c:154
+#, c-format
+msgid "col: bad -l argument %s.\n"
+msgstr "col: chybný argument %s pro přepínač -l\n"
+
+#: text-utils/col.c:544
+#, c-format
+msgid "usage: col [-bfpx] [-l nline]\n"
+msgstr "Použití: col [-bfpx] [-l poč. řádků]\n"
+
+#: text-utils/col.c:550
+#, c-format
+msgid "col: write error.\n"
+msgstr "col: chyba při ukládání\n"
+
+#: text-utils/col.c:557
+#, c-format
+msgid "col: warning: can't back up %s.\n"
+msgstr "col: varování: %s nelze zazálohovat.\n"
+
+#: text-utils/col.c:558
+msgid "past first line"
+msgstr "jsem za prvním řádkem"
+
+#: text-utils/col.c:558
+msgid "-- line already flushed"
+msgstr "-- řádek již není v bufru"
+
+#: text-utils/colcrt.c:97
+#, c-format
+msgid "usage: %s [ - ] [ -2 ] [ file ... ]\n"
+msgstr "Použití: %s [ - ] [ -2 ] [ soubor ... ]\n"
+
+#: text-utils/column.c:297
+msgid "line too long"
+msgstr "řádek je příliš dlouhý"
+
+#: text-utils/column.c:374
+#, c-format
+msgid "usage: column [-tx] [-c columns] [file ...]\n"
+msgstr "Použití: column [-tx] [-c SLOUPCE] [SOUBOR…]\n"
+
+#: text-utils/hexsyntax.c:82
+#, c-format
+msgid "hexdump: bad length value.\n"
+msgstr "hexdump: chybná délka\n"
+
+#: text-utils/hexsyntax.c:93
+#, c-format
+msgid "hexdump: bad skip value.\n"
+msgstr "hexdump: chybná vzdálenost\n"
+
+#: text-utils/hexsyntax.c:131
+#, c-format
+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"
+
+#: text-utils/more.c:256
+#, c-format
+msgid "usage: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n"
+msgstr "Použití: %s [-dflpcsu] [+ČÍSLO_ŘÁDKU | +/VZOREK] NÁZEV1 NÁZEV2…\n"
+
+#: text-utils/more.c:479
+#, c-format
+msgid "%s: unknown option \"-%c\"\n"
+msgstr "%s: neznámá volba „-%c“\n"
+
+#: text-utils/more.c:511
+#, c-format
+msgid ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+msgstr ""
+"\n"
+"*** %s je adresář ***\n"
+"\n"
+
+#: text-utils/more.c:555
+#, c-format
+msgid ""
+"\n"
+"******** %s: Not a text file ********\n"
+"\n"
+msgstr ""
+"\n"
+"***** %s není textovým souborem *****\n"
+"\n"
+
+#: text-utils/more.c:658
+#, c-format
+msgid "[Use q or Q to quit]"
+msgstr "[Stiskněte q či Q pro ukončení]"
+
+#: text-utils/more.c:750
+#, c-format
+msgid "--More--"
+msgstr "--Pokračování--"
+
+#: text-utils/more.c:752
+#, c-format
+msgid "(Next file: %s)"
+msgstr "(Další soubor: %s)"
+
+#: text-utils/more.c:757
+#, 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:1172
+#, c-format
+msgid "...back %d pages"
+msgstr "…přeskakuji zpět o počet stran: %d"
+
+#: text-utils/more.c:1174
+msgid "...back 1 page"
+msgstr "…přeskakuji zpět o 1 stranu"
+
+#: text-utils/more.c:1217
+msgid "...skipping one line"
+msgstr "‥přeskakuji o jeden řádek"
+
+#: text-utils/more.c:1219
+#, c-format
+msgid "...skipping %d lines"
+msgstr "…přeskakuji o počet řádků: %d"
+
+#: text-utils/more.c:1256
+msgid ""
+"\n"
+"***Back***\n"
+"\n"
+msgstr ""
+"\n"
+"***Zpět***\n"
+
+#: text-utils/more.c:1294
+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:1301
+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:1370 text-utils/more.c:1375
+#, c-format
+msgid "[Press 'h' for instructions.]"
+msgstr "[Stiskněte „h“ pro nápovědu.]"
+
+#: text-utils/more.c:1409
+#, c-format
+msgid "\"%s\" line %d"
+msgstr "\"%s\" řádek %d"
+
+#: text-utils/more.c:1411
+#, c-format
+msgid "[Not a file] line %d"
+msgstr "[Nejedná se o soubor] řádek %d"
+
+#: text-utils/more.c:1495
+msgid "  Overflow\n"
+msgstr "  Přetečení\n"
+
+#: text-utils/more.c:1542
+msgid "...skipping\n"
+msgstr "…vynechávám\n"
+
+#: text-utils/more.c:1571
+msgid "Regular expression botch"
+msgstr "Chyba v regulárním výrazu"
+
+#: text-utils/more.c:1579
+msgid ""
+"\n"
+"Pattern not found\n"
+msgstr ""
+"\n"
+"Vzorek nebyl nalezen\n"
+
+#: text-utils/more.c:1582 text-utils/pg.c:1124 text-utils/pg.c:1275
+msgid "Pattern not found"
+msgstr "Vzorek nebyl nalezen"
+
+#: text-utils/more.c:1643
+msgid "can't fork\n"
+msgstr "volání fork selhalo\n"
+
+#: text-utils/more.c:1682
+msgid ""
+"\n"
+"...Skipping "
+msgstr ""
+"\n"
+"…Vynechávám "
+
+#: text-utils/more.c:1686
+msgid "...Skipping to file "
+msgstr "…Přecházím na soubor "
+
+#: text-utils/more.c:1688
+msgid "...Skipping back to file "
+msgstr "…Vracím se na soubor "
+
+#: text-utils/more.c:1966
+msgid "Line too long"
+msgstr "Řádek je příliš dlouhý"
+
+#: text-utils/more.c:2009
+msgid "No previous command to substitute for"
+msgstr "Neexistuje žádný příkaz, jenž by bylo možno nahradit"
+
+#: text-utils/odsyntax.c:130
+#, c-format
+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"
+
+#: text-utils/odsyntax.c:133
+#, c-format
+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"
+
+#: text-utils/odsyntax.c:134
+msgid "; see strings(1)."
+msgstr "; viz strings(1)."
+
+#: text-utils/parse.c:63
+#, c-format
+msgid "hexdump: can't read %s.\n"
+msgstr "hexdump: %s nelze číst.\n"
+
+#: text-utils/parse.c:68
+#, c-format
+msgid "hexdump: line too long.\n"
+msgstr "hexdump: řádek je příliš dlouhý.\n"
+
+#: text-utils/parse.c:401
+#, c-format
+msgid "hexdump: byte count with multiple conversion characters.\n"
+msgstr "hexdump: počet bajtů s více než jedním konverzním znakem.\n"
+
+#: text-utils/parse.c:483
+#, c-format
+msgid "hexdump: bad byte count for conversion character %s.\n"
+msgstr "hexdump: chybný počet bajtů pro konverzní znak %s.\n"
+
+#: text-utils/parse.c:490
+#, c-format
+msgid "hexdump: %%s requires a precision or a byte count.\n"
+msgstr "hexdump: %%s vyžaduje uvedení přesnosti či počtu bajtů.\n"
+
+#: text-utils/parse.c:496
+#, c-format
+msgid "hexdump: bad format {%s}\n"
+msgstr "hexdump: chybný formát {%s}\n"
+
+#: text-utils/parse.c:502
+#, c-format
+msgid "hexdump: bad conversion character %%%s.\n"
+msgstr "hexdump: chybný znak v konverzi %%%s.\n"
+
+#: text-utils/pg.c:145
+msgid ""
+"All rights reserved.\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"
+msgstr ""
+"Všechna práva vyhrazena.\n"
+"-------------------------------------------------------\n"
+"  h                       tato obrazovka\n"
+"  q or Q                  ukončit program\n"
+"  <newline>               další stránka\n"
+"  f                       posunout se o stránku vpřed\n"
+"  d or ^D                 další půlstránka\n"
+"  l                       další řádek\n"
+"  $                       poslední stránka\n"
+"  /regex/                 hledat regulárním výrazem směrem dopředu\n"
+"  ?regex? or ^regex^      hledat regulárním výrazem směrem dozadu\n"
+"  . or ^L                 překreslit obrazovku\n"
+"  w or z                  nastavit velikost stránky a přejít na další "
+"stránku\n"
+"  s filename              uložit současný soubor pod jménem\n"
+"  !command                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:223
+msgid "Out of memory\n"
+msgstr "Nedostatek paměti\n"
+
+#: text-utils/pg.c:236
+#, c-format
+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"
+
+#: text-utils/pg.c:245
+#, c-format
+msgid "%s: option requires an argument -- %s\n"
+msgstr "%s: volba „%s“ vyžaduje argument\n"
+
+#: text-utils/pg.c:253
+#, c-format
+msgid "%s: illegal option -- %s\n"
+msgstr "%s: neplatná volba -- %s\n"
+
+#: text-utils/pg.c:370
+msgid "...skipping forward\n"
+msgstr "…skáču vpřed\n"
+
+#: text-utils/pg.c:372
+msgid "...skipping backward\n"
+msgstr "…skáču vzad\n"
+
+#: text-utils/pg.c:394
+msgid "No next file"
+msgstr "Žádný následující soubor"
+
+#: text-utils/pg.c:398
+msgid "No previous file"
+msgstr "Žádný předchozí soubor"
+
+#: text-utils/pg.c:928
+#, c-format
+msgid "%s: Read error from %s file\n"
+msgstr "%s: Chyba čtení ze souboru %s\n"
+
+#: text-utils/pg.c:934
+#, 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:937
+#, c-format
+msgid "%s: Unknown error in %s file\n"
+msgstr "%s: Neznámá chyba v souboru %s\n"
+
+#: text-utils/pg.c:1032
+#, c-format
+msgid "%s: Cannot create tempfile\n"
+msgstr "%s: Nelze vytvořit dočasný soubor\n"
+
+#: text-utils/pg.c:1041 text-utils/pg.c:1216 text-utils/pg.c:1243
+msgid "RE error: "
+msgstr "Chyba regulárního výrazu: "
+
+#: text-utils/pg.c:1198
+msgid "(EOF)"
+msgstr "(KONEC SOUBORU)"
+
+#: text-utils/pg.c:1224 text-utils/pg.c:1251
+msgid "No remembered search string"
+msgstr "Žádný zapamatovaný řetězec pro vyhledání"
+
+#: text-utils/pg.c:1307
+msgid "Cannot open "
+msgstr "Nelze otevřít "
+
+#: text-utils/pg.c:1355
+msgid "saved"
+msgstr "uloženo"
+
+#: text-utils/pg.c:1462
+msgid ": !command not allowed in rflag mode.\n"
+msgstr ": !příkaz není dovolen v režimu rflag.\n"
+
+#: text-utils/pg.c:1494
+msgid "fork() failed, try again later\n"
+msgstr "fork() selhal, zkuste to později\n"
+
+#: text-utils/pg.c:1702
+msgid "(Next file: "
+msgstr "(Další soubor: "
+
+#: text-utils/rev.c:113
+msgid "unable to allocate bufferspace"
+msgstr "místo pro buffer nelze přidělit"
+
+#: text-utils/rev.c:143
+#, c-format
+msgid "usage: rev [file ...]\n"
+msgstr "Použití: rev [SOUBOR…]\n"
+
+#: text-utils/tailf.c:57 text-utils/tailf.c:92
+#, c-format
+msgid "cannot open \"%s\" for read"
+msgstr "„%s“  nelze otevřít pro čtení"
+
+#: text-utils/tailf.c:95 text-utils/tailf.c:214
+#, c-format
+msgid "cannot stat \"%s\""
+msgstr "o „%s“ nelze získat podrobnosti"
+
+#: text-utils/tailf.c:108
+#, fuzzy, c-format
+msgid "incomplete write to \"%s\" (written %zd, expected %zd)\n"
+msgstr "neúplný zápis do „%s“ (zapsáno %ld, očekáváno %ld)\n"
+
+#: text-utils/tailf.c:146
+#, c-format
+msgid "%s: cannot add inotify watch (limit of inotify watches was reached)."
+msgstr ""
+
+#: text-utils/tailf.c:150
+#, c-format
+msgid "%s: cannot add inotify watch."
+msgstr ""
+
+#: text-utils/tailf.c:159
+#, fuzzy, c-format
+msgid "%s: cannot read inotify events"
+msgstr "%s: nelze otevřít: %s\n"
+
+#: text-utils/tailf.c:198 text-utils/tailf.c:202
+msgid "invalid number of lines"
+msgstr "neplatný počet řádku"
+
+#: text-utils/tailf.c:209
+msgid "usage: tailf [-n N | -N] logfile"
+msgstr "Použití: tailf [-n N | -N] SOUBOR_S_PROTOKOLEM"
+
+#: text-utils/ul.c:141
+#, c-format
+msgid "usage: %s [ -i ] [ -tTerm ] file...\n"
+msgstr "Použití: %s [-i] [-tTERMINÁL ] SOUBOR…\n"
+
+#: text-utils/ul.c:152
+#, c-format
+msgid "trouble reading terminfo"
+msgstr "chyba při čtení terminfo databáze"
+
+#: text-utils/ul.c:242
+#, c-format
+msgid "Unknown escape sequence in input: %o, %o\n"
+msgstr "Neznámá posloupnost řídících znaků na vstupu: %o, %o\n"
+
+#: text-utils/ul.c:425
+#, c-format
+msgid "Unable to allocate buffer.\n"
+msgstr "Buffer nelze naalokovat.\n"
+
+#: text-utils/ul.c:586
+#, c-format
+msgid "Input line too long.\n"
+msgstr "Vstupní řádka je příliš dlouhá.\n"
+
+#: text-utils/ul.c:599
+#, c-format
+msgid "Out of memory when growing buffer.\n"
+msgstr "Nedostatek paměti pro rostoucí buffer.\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 "osudová 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: unable to get current directory - %s\n"
+#~ msgstr "namei: aktuální adresář nelze zjistit - %s\n"
+
+#~ msgid "namei: unable to chdir to %s - %s (%d)\n"
+#~ msgstr "namei: do adresáře %s nelze přejít - %s (%d)\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 "%s: cannot stat %s: %s\n"
+#~ msgstr "%s: nelze získat informace o %s: %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 "Autoconfigure failed.\n"
+#~ msgstr "Automatická konfigurace selhala.\n"
+
+#~ 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 from %s%s\n"
+#~ msgstr "%s z %s%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: cannot find %s in %s"
+#~ msgstr "mount: %s nelze v %s nalézt"
+
+#~ 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"
diff --git a/po/da.gmo b/po/da.gmo
new file mode 100644 (file)
index 0000000..006e3eb
Binary files /dev/null and b/po/da.gmo differ
diff --git a/po/da.po b/po/da.po
new file mode 100644 (file)
index 0000000..d07e4ca
--- /dev/null
+++ b/po/da.po
@@ -0,0 +1,12268 @@
+# Danske beskeder for util-linux.
+# Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc.
+#
+# 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.
+# Claus Hindsgaul <claus_h@image.dk>, 2001-2002, 2004, 2005.
+# Claus Sørensen <cs@klid.dk>, 2000.
+# Keld Jørn Simonsen <keld@dkuug.dk>, 2000.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: util-linux 2.11y\n"
+"Report-Msgid-Bugs-To: Karel Zak <kzak@redhat.com>\n"
+"POT-Creation-Date: 2009-11-30 16:27+0100\n"
+"PO-Revision-Date: 2005-08-15 21:00+0200\n"
+"Last-Translator: Claus Hindsgaul <claus_h@image.dk>\n"
+"Language-Team: Danish <dansk@klid.dk>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.9.1\n"
+
+#: disk-utils/blockdev.c:37
+msgid "set read-only"
+msgstr "markerer skrivebeskyttet"
+
+#: disk-utils/blockdev.c:38
+msgid "set read-write"
+msgstr "markerer skrivbar"
+
+#: disk-utils/blockdev.c:39
+msgid "get read-only"
+msgstr "få skrivebeskyttet"
+
+#: disk-utils/blockdev.c:40
+msgid "get sectorsize"
+msgstr "få sektorstørrelse"
+
+#: disk-utils/blockdev.c:41
+msgid "get blocksize"
+msgstr "få blokstørrelse"
+
+#: disk-utils/blockdev.c:42
+msgid "set blocksize"
+msgstr "sæt blokstørrelse"
+
+#: disk-utils/blockdev.c:43
+msgid "get 32-bit sector count"
+msgstr "få 32-bit sektorantal"
+
+#: disk-utils/blockdev.c:44
+msgid "get size in bytes"
+msgstr "få størrelse i byte"
+
+#: disk-utils/blockdev.c:45
+msgid "set readahead"
+msgstr "sæt fremlæsning ('readahead')"
+
+#: disk-utils/blockdev.c:46
+msgid "get readahead"
+msgstr "få fremlæsning ('readahead')"
+
+#: disk-utils/blockdev.c:47
+#, fuzzy
+msgid "set filesystem readahead"
+msgstr "sæt fremlæsning ('readahead')"
+
+#: disk-utils/blockdev.c:48
+#, fuzzy
+msgid "get filesystem readahead"
+msgstr "få fremlæsning ('readahead')"
+
+#: disk-utils/blockdev.c:49
+msgid "flush buffers"
+msgstr "tøm buffere"
+
+#: disk-utils/blockdev.c:51
+msgid "reread partition table"
+msgstr "genlæs partitionstabellen"
+
+#: disk-utils/blockdev.c:60
+#, c-format
+msgid "Usage:\n"
+msgstr "Brug:\n"
+
+#: disk-utils/blockdev.c:62
+#, c-format
+msgid "  %s --report [devices]\n"
+msgstr "  %s --report [enheder]\n"
+
+#: disk-utils/blockdev.c:63
+#, c-format
+msgid "  %s [-v|-q] commands devices\n"
+msgstr "  %s [-v|-q] kommandoer enheder\n"
+
+#: disk-utils/blockdev.c:66
+#, c-format
+msgid "Available commands:\n"
+msgstr "Tilgængelige kommandoer:\n"
+
+#: disk-utils/blockdev.c:68
+#, fuzzy
+msgid "get size in 512-byte sectors"
+msgstr "få størrelse i byte"
+
+#: disk-utils/blockdev.c:201
+#, c-format
+msgid "%s: Unknown command: %s\n"
+msgstr "%s: Ukendt kommando: %s\n"
+
+#: disk-utils/blockdev.c:213 disk-utils/blockdev.c:222
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s kræver en parameter\n"
+
+#: disk-utils/blockdev.c:255
+#, fuzzy, c-format
+msgid "%s failed.\n"
+msgstr "søgning fejlede"
+
+#: disk-utils/blockdev.c:292
+#, c-format
+msgid "%s succeeded.\n"
+msgstr "%s lykkedes.\n"
+
+#: disk-utils/blockdev.c:310 disk-utils/blockdev.c:338
+#, c-format
+msgid "%s: cannot open %s\n"
+msgstr "%s: kunne ikke åbne %s\n"
+
+#: disk-utils/blockdev.c:355
+#, c-format
+msgid "%s: ioctl error on %s\n"
+msgstr "%s: ioctl-fejl på %s\n"
+
+#: disk-utils/blockdev.c:364
+#, fuzzy, c-format
+msgid "RO    RA   SSZ   BSZ   StartSec            Size   Device\n"
+msgstr "RO    RA   SST   BST   StartSekt    Størr.  Enhed\n"
+
+#: disk-utils/elvtune.c:48
+#, c-format
+msgid "usage:\n"
+msgstr "brug:\n"
+
+#: disk-utils/elvtune.c:53
+#, c-format
+msgid "\tNOTE: elvtune only works with 2.4 kernels\n"
+msgstr ""
+
+#: disk-utils/elvtune.c:104
+#, fuzzy, c-format
+msgid "parse error\n"
+msgstr "søgefejl"
+
+#: disk-utils/elvtune.c:110
+#, fuzzy, c-format
+msgid "missing blockdevice, use -h for help\n"
+msgstr "%s er hverken en blokenhed eller fil\n"
+
+#: disk-utils/elvtune.c:131
+#, 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:31
+#, c-format
+msgid "Formatting ... "
+msgstr "Formatterer ... "
+
+#: disk-utils/fdformat.c:49 disk-utils/fdformat.c:86
+#, c-format
+msgid "done\n"
+msgstr "færdig\n"
+
+#: disk-utils/fdformat.c:60
+#, 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:80
+#, c-format
+msgid ""
+"bad data in cyl %d\n"
+"Continuing ... "
+msgstr ""
+"ugyldige data i cyl %d\n"
+"Fortsætter ... "
+
+#: disk-utils/fdformat.c:96
+#, c-format
+msgid "usage: %s [ -n ] device\n"
+msgstr "brug: %s [ -n ] enhed\n"
+
+#: disk-utils/fdformat.c:118 disk-utils/fsck.minix.c:1282
+#: disk-utils/isosize.c:181 disk-utils/mkfs.bfs.c:115 disk-utils/mkfs.c:52
+#: disk-utils/mkfs.cramfs.c:813 disk-utils/mkfs.minix.c:571
+#: disk-utils/mkswap.c:461 misc-utils/ddate.c:179 misc-utils/rename.c:79
+#: misc-utils/script.c:147 sys-utils/readprofile.c:197
+#, c-format
+msgid "%s (%s)\n"
+msgstr "%s (%s)\n"
+
+#: disk-utils/fdformat.c:132
+#, c-format
+msgid "%s: not a block device\n"
+msgstr "%s: er ikke en blokenhed\n"
+
+#: disk-utils/fdformat.c:142
+msgid "Could not determine current format type"
+msgstr "Kunne ikke bestemme det eksisterende format"
+
+#: disk-utils/fdformat.c:143
+#, 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:144
+msgid "Double"
+msgstr "Dobbelt"
+
+#: disk-utils/fdformat.c:144
+msgid "Single"
+msgstr "Enkelt"
+
+#: disk-utils/fsck.cramfs.c:118
+#, c-format
+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ælp\n"
+" -x mappe   udpak til mappe\n"
+" -v         vis flere meddelelser\n"
+" file       fil der skal tjekkes\n"
+
+#: disk-utils/fsck.cramfs.c:164
+#, fuzzy, c-format
+msgid "stat failed: %s"
+msgstr "(Næste fil: %s)"
+
+#: disk-utils/fsck.cramfs.c:168 disk-utils/fsck.cramfs.c:552
+#, fuzzy, c-format
+msgid "open failed: %s"
+msgstr "openpty mislykkedes\n"
+
+#: disk-utils/fsck.cramfs.c:173
+#, fuzzy, c-format
+msgid "ioctl failed: unable to determine device size: %s"
+msgstr "%s: advarsel--kunne ikke bestemme filsystemets størrelse \n"
+
+#: disk-utils/fsck.cramfs.c:181
+#, fuzzy, c-format
+msgid "not a block device or file: %s"
+msgstr "%s er hverken en blokenhed eller fil\n"
+
+#: disk-utils/fsck.cramfs.c:185 disk-utils/fsck.cramfs.c:227
+#, fuzzy
+msgid "file length too short"
+msgstr "%s: ugyldigt cramfs--fillængde for kort\n"
+
+#: disk-utils/fsck.cramfs.c:190 disk-utils/fsck.cramfs.c:198
+#: disk-utils/fsck.cramfs.c:259 disk-utils/fsck.cramfs.c:279
+#, fuzzy, c-format
+msgid "read failed: %s"
+msgstr "(Næste fil: %s)"
+
+#: disk-utils/fsck.cramfs.c:208
+msgid "superblock magic not found"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:217
+#, fuzzy
+msgid "unsupported filesystem features"
+msgstr "Angiv filsystemtype: "
+
+#: disk-utils/fsck.cramfs.c:220
+#, fuzzy, c-format
+msgid "superblock size (%d) too small"
+msgstr "Antal sektorer"
+
+#: disk-utils/fsck.cramfs.c:224
+msgid "zero file count"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:230
+#, fuzzy, c-format
+msgid "warning: file extends past end of filesystem\n"
+msgstr "Advarsel: partition %s når ud over diskens slutning\n"
+
+#: disk-utils/fsck.cramfs.c:234
+#, fuzzy, c-format
+msgid "warning: old cramfs format\n"
+msgstr "%s: advarsel--gammelt cramfs-aftryk, ingen CRC\n"
+
+#: disk-utils/fsck.cramfs.c:247
+msgid "unable to test CRC: old cramfs format"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:273 disk-utils/fsck.cramfs.c:340
+#: disk-utils/fsck.cramfs.c:478 login-utils/chfn.c:529 login-utils/chsh.c:439
+#: sys-utils/cytune.c:321
+msgid "malloc failed"
+msgstr "hukommelsesallokering mislykkedes (malloc)"
+
+#: disk-utils/fsck.cramfs.c:298
+#, fuzzy
+msgid "crc error"
+msgstr ", fejl"
+
+#: disk-utils/fsck.cramfs.c:365
+#, fuzzy
+msgid "root inode is not directory"
+msgstr "rod-inode er ikke en mappe"
+
+#: disk-utils/fsck.cramfs.c:370
+#, c-format
+msgid "bad root offset (%lu)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:388
+msgid "data block too large"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:392
+#, c-format
+msgid "decompression error %p(%d): %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:416
+#, fuzzy, c-format
+msgid "  hole at %ld (%zd)\n"
+msgstr "  hul ved %ld (%d)\n"
+
+#: disk-utils/fsck.cramfs.c:424 disk-utils/fsck.cramfs.c:596
+#, 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:430
+#, fuzzy, c-format
+msgid "non-block (%ld) bytes"
+msgstr "%s: Ikke-blok (%ld) byte\n"
+
+#: disk-utils/fsck.cramfs.c:434
+#, fuzzy, c-format
+msgid "non-size (%ld vs %ld) bytes"
+msgstr "%s: Ikke-størrelse (%ld mod %ld) byte\n"
+
+#: disk-utils/fsck.cramfs.c:440
+#, fuzzy, c-format
+msgid "write failed: %s"
+msgstr "(Næste fil: %s)"
+
+#: disk-utils/fsck.cramfs.c:453
+#, fuzzy, c-format
+msgid "lchown failed: %s"
+msgstr "montering mislykkedes"
+
+#: disk-utils/fsck.cramfs.c:459
+#, fuzzy, c-format
+msgid "chown failed: %s"
+msgstr "montering mislykkedes"
+
+#: disk-utils/fsck.cramfs.c:466
+#, fuzzy, c-format
+msgid "utime failed: %s"
+msgstr "ugyldig værdi for tidsudløb: %s"
+
+#: disk-utils/fsck.cramfs.c:481
+#, c-format
+msgid "directory inode has zero offset and non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:495
+#, fuzzy, c-format
+msgid "mkdir failed: %s"
+msgstr "/dev: chdir() mislykkedes: %m"
+
+#: disk-utils/fsck.cramfs.c:512
+msgid "filename length is zero"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:515
+msgid "bad filename length"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:522
+#, fuzzy
+msgid "bad inode offset"
+msgstr "ugyldig inode-størrelse"
+
+#: disk-utils/fsck.cramfs.c:538
+msgid "file inode has zero offset and non-zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:541
+msgid "file inode has zero size and non-zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:572
+msgid "symbolic link has zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:575
+msgid "symbolic link has zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:587
+#, fuzzy, c-format
+msgid "size error in symlink: %s"
+msgstr "%s: størrelsesfejl i symbolsk lænke '%s'\n"
+
+#: disk-utils/fsck.cramfs.c:602
+#, fuzzy, c-format
+msgid "symlink failed: %s"
+msgstr "fsync mislykkedes"
+
+#: disk-utils/fsck.cramfs.c:614
+#, c-format
+msgid "special file has non-zero offset: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:626
+#, c-format
+msgid "fifo has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:632
+#, c-format
+msgid "socket has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:637
+#, fuzzy, c-format
+msgid "bogus mode: %s (%o)"
+msgstr "%s: ugyldig tilstand på '%s' (%o)\n"
+
+#: disk-utils/fsck.cramfs.c:647
+#, fuzzy, c-format
+msgid "mknod failed: %s"
+msgstr "montering mislykkedes"
+
+#: disk-utils/fsck.cramfs.c:683
+#, c-format
+msgid "directory data start (%ld) < sizeof(struct cramfs_super) + start (%ld)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:686
+#, fuzzy, c-format
+msgid "directory data end (%ld) != file data start (%ld)"
+msgstr ""
+"%s: ugyldigt cramfs--mappedata-afslutning (%ld) != fildatabegyndelse (%ld)\n"
+
+#: disk-utils/fsck.cramfs.c:691
+#, fuzzy
+msgid "invalid file data offset"
+msgstr "%s: ugyldigt cramfs--ugyldig fildataforskydning\n"
+
+#: disk-utils/fsck.cramfs.c:715
+#, fuzzy
+msgid "failed to allocate outbuffer"
+msgstr "Kunne ikke allokere buffer.\n"
+
+#: disk-utils/fsck.cramfs.c:728
+#, fuzzy
+msgid "compiled without -x support"
+msgstr "%s: ikke oversat med understøttelse for -x\n"
+
+#: disk-utils/fsck.minix.c:210
+#, c-format
+msgid "Usage: %s [-larvsmf] /dev/name\n"
+msgstr "Brug: %s [-larvsmf] /dev/navn\n"
+
+#: disk-utils/fsck.minix.c:326
+#, c-format
+msgid "%s is mounted.\t "
+msgstr "%s er monteret.\t "
+
+#: disk-utils/fsck.minix.c:328
+msgid "Do you really want to continue"
+msgstr "Vil du virkelig fortsætte"
+
+#: disk-utils/fsck.minix.c:332
+#, c-format
+msgid "check aborted.\n"
+msgstr "tjek afbrudt.\n"
+
+#: disk-utils/fsck.minix.c:351 disk-utils/fsck.minix.c:374
+#, c-format
+msgid "Zone nr < FIRSTZONE in file `%s'."
+msgstr "Zone nr < FIRSTZONE i filen '%s'."
+
+#: disk-utils/fsck.minix.c:355 disk-utils/fsck.minix.c:378
+#, c-format
+msgid "Zone nr >= ZONES in file `%s'."
+msgstr "Zone nr >= ZONES i filen '%s'."
+
+#: disk-utils/fsck.minix.c:360 disk-utils/fsck.minix.c:383
+msgid "Remove block"
+msgstr "Fjern blok"
+
+#: disk-utils/fsck.minix.c:401
+#, 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:407
+#, 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:422
+#, 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:428 disk-utils/mkfs.minix.c:209
+msgid "seek failed in write_block"
+msgstr "søgning mislykkedes i write_block"
+
+#: disk-utils/fsck.minix.c:431
+#, c-format
+msgid "Write error: bad block in file '%s'\n"
+msgstr "Skrivefejl: ugyldig blok i fil '%s'\n"
+
+#: disk-utils/fsck.minix.c:547
+msgid "seek failed in write_super_block"
+msgstr "søgning mislykkedes i write_super_block"
+
+#: disk-utils/fsck.minix.c:549 disk-utils/mkfs.minix.c:196
+msgid "unable to write super-block"
+msgstr "kunne ikke skrive super-blok"
+
+#: disk-utils/fsck.minix.c:559
+msgid "Unable to write inode map"
+msgstr "Kunne ikke skrive inode-oversigten"
+
+#: disk-utils/fsck.minix.c:561
+msgid "Unable to write zone map"
+msgstr "Kunne ikke skrive zone-oversigten"
+
+#: disk-utils/fsck.minix.c:563
+msgid "Unable to write inodes"
+msgstr "Kunne ikke skrive inodes"
+
+#: disk-utils/fsck.minix.c:590
+msgid "seek failed"
+msgstr "søgning fejlede"
+
+#: disk-utils/fsck.minix.c:592
+msgid "unable to read super block"
+msgstr "kunne ikke læse super-blok"
+
+#: disk-utils/fsck.minix.c:610
+msgid "bad magic number in super-block"
+msgstr "ugyldigt magisk nummer i super-blok"
+
+#: disk-utils/fsck.minix.c:612
+msgid "Only 1k blocks/zones supported"
+msgstr "Kun 1k blokke/zoner understøttes"
+
+#: disk-utils/fsck.minix.c:614
+msgid "bad s_imap_blocks field in super-block"
+msgstr "ugyldigt s_imap_blocks-felt i super-blok"
+
+#: disk-utils/fsck.minix.c:616
+msgid "bad s_zmap_blocks field in super-block"
+msgstr "ugyldigt s_zmap_blocks-felt i super-blok"
+
+#: disk-utils/fsck.minix.c:623
+msgid "Unable to allocate buffer for inode map"
+msgstr "Kunne ikke allokere buffer til inode-oversigt"
+
+#: disk-utils/fsck.minix.c:626
+#, fuzzy
+msgid "Unable to allocate buffer for zone map"
+msgstr "Kunne ikke allokere buffer til inode-oversigt"
+
+#: disk-utils/fsck.minix.c:631
+msgid "Unable to allocate buffer for inodes"
+msgstr "Kunne ikke allokere buffer til inodes"
+
+#: disk-utils/fsck.minix.c:634
+msgid "Unable to allocate buffer for inode count"
+msgstr "Kunne ikke allokere buffer til inode-optælling"
+
+#: disk-utils/fsck.minix.c:637
+msgid "Unable to allocate buffer for zone count"
+msgstr "Kunne ikke allokere buffer til zoneoptælling"
+
+#: disk-utils/fsck.minix.c:639
+msgid "Unable to read inode map"
+msgstr "Kunne ikke læse inode-oversigt"
+
+#: disk-utils/fsck.minix.c:641
+msgid "Unable to read zone map"
+msgstr "Kunne ikke læse zoneoversigt"
+
+#: disk-utils/fsck.minix.c:643
+msgid "Unable to read inodes"
+msgstr "Kunne ikke læse inodes"
+
+#: disk-utils/fsck.minix.c:645
+#, c-format
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr "Advarsel: Firstzone != Norm_firstzone\n"
+
+#: disk-utils/fsck.minix.c:650 disk-utils/mkfs.minix.c:450
+#, c-format
+msgid "%ld inodes\n"
+msgstr "%ld inodes\n"
+
+#: disk-utils/fsck.minix.c:651 disk-utils/mkfs.minix.c:451
+#, c-format
+msgid "%ld blocks\n"
+msgstr "%ld blokke\n"
+
+#: disk-utils/fsck.minix.c:652 disk-utils/mkfs.minix.c:452
+#, c-format
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr "Førstedatazone=%ld (%ld)\n"
+
+#: disk-utils/fsck.minix.c:653 disk-utils/mkfs.minix.c:453
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr "Zonestørrelse=%d\n"
+
+#: disk-utils/fsck.minix.c:654
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr "Maksstørrelse=%ld\n"
+
+#: disk-utils/fsck.minix.c:655
+#, c-format
+msgid "Filesystem state=%d\n"
+msgstr "Filsystem-tilstand=%d\n"
+
+#: disk-utils/fsck.minix.c:656
+#, c-format
+msgid ""
+"namelen=%d\n"
+"\n"
+msgstr ""
+"navnelængde=%d\n"
+"\n"
+
+#: disk-utils/fsck.minix.c:671 disk-utils/fsck.minix.c:722
+#, 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:675 disk-utils/fsck.minix.c:726
+msgid "Mark in use"
+msgstr "Markér i brug"
+
+#: disk-utils/fsck.minix.c:697 disk-utils/fsck.minix.c:746
+#, c-format
+msgid "The file `%s' has mode %05o\n"
+msgstr "Filen '%s' har tilstand %05o\n"
+
+#: disk-utils/fsck.minix.c:704 disk-utils/fsck.minix.c:752
+#, c-format
+msgid "Warning: inode count too big.\n"
+msgstr "Advarsel: inode-optælling for stor.\n"
+
+#: disk-utils/fsck.minix.c:764 disk-utils/fsck.minix.c:772
+msgid "root inode isn't a directory"
+msgstr "rod-inode er ikke en mappe"
+
+#: disk-utils/fsck.minix.c:786 disk-utils/fsck.minix.c:819
+#, c-format
+msgid "Block has been used before. Now in file `%s'."
+msgstr "Blokke blev brugt tidligere. Nu i filen '%s'."
+
+#: disk-utils/fsck.minix.c:788 disk-utils/fsck.minix.c:821
+#: disk-utils/fsck.minix.c:1144 disk-utils/fsck.minix.c:1153
+#: disk-utils/fsck.minix.c:1199 disk-utils/fsck.minix.c:1208
+msgid "Clear"
+msgstr "Slet"
+
+#: disk-utils/fsck.minix.c:798 disk-utils/fsck.minix.c:831
+#, 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:800 disk-utils/fsck.minix.c:833
+msgid "Correct"
+msgstr "Korrigér"
+
+#: disk-utils/fsck.minix.c:972 disk-utils/fsck.minix.c:1039
+#, 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:975 disk-utils/fsck.minix.c:1042
+msgid " Remove"
+msgstr " Fjern"
+
+#: disk-utils/fsck.minix.c:989 disk-utils/fsck.minix.c:1056
+#, c-format
+msgid "%s: bad directory: '.' isn't first\n"
+msgstr "%s: ugyldig mappe: '.' er ikke først\n"
+
+#: disk-utils/fsck.minix.c:997 disk-utils/fsck.minix.c:1065
+#, c-format
+msgid "%s: bad directory: '..' isn't second\n"
+msgstr "%s: ugyldig mappe: ',.' er ikke nummer to\n"
+
+#: disk-utils/fsck.minix.c:1099 disk-utils/fsck.minix.c:1117
+msgid "internal error"
+msgstr "intern fejl"
+
+#: disk-utils/fsck.minix.c:1102 disk-utils/fsck.minix.c:1120
+#, c-format
+msgid "%s: bad directory: size < 32"
+msgstr "%s: ugyldig mappe: størrelse < 32"
+
+#: disk-utils/fsck.minix.c:1133
+msgid "seek failed in bad_zone"
+msgstr "mislykket søgning i bad_zone"
+
+#: disk-utils/fsck.minix.c:1143 disk-utils/fsck.minix.c:1198
+#, c-format
+msgid "Inode %d mode not cleared."
+msgstr "Inode %d-tilstand ikke slettet."
+
+#: disk-utils/fsck.minix.c:1152 disk-utils/fsck.minix.c:1207
+#, c-format
+msgid "Inode %d not used, marked used in the bitmap."
+msgstr "Inode %d ikke brugt, markeret som brugt i bitoversigten."
+
+#: disk-utils/fsck.minix.c:1158 disk-utils/fsck.minix.c:1213
+#, c-format
+msgid "Inode %d used, marked unused in the bitmap."
+msgstr "Inode %d i brug, markeret som ubrugt i bitoversigten."
+
+#: disk-utils/fsck.minix.c:1160 disk-utils/fsck.minix.c:1214
+msgid "Set"
+msgstr "Sæt"
+
+#: disk-utils/fsck.minix.c:1164 disk-utils/fsck.minix.c:1218
+#, c-format
+msgid "Inode %d (mode = %07o), i_nlinks=%d, counted=%d."
+msgstr "Inode %d (tilstand = %07o), i_nlinks=%d, optalt=%d."
+
+#: disk-utils/fsck.minix.c:1166 disk-utils/fsck.minix.c:1220
+msgid "Set i_nlinks to count"
+msgstr "Sæt i_nlinks til det optalte"
+
+#: disk-utils/fsck.minix.c:1178 disk-utils/fsck.minix.c:1232
+#, c-format
+msgid "Zone %d: marked in use, no file uses it."
+msgstr "Zone %d: markeret som brugt, ingen filer bruger den."
+
+#: disk-utils/fsck.minix.c:1179 disk-utils/fsck.minix.c:1234
+msgid "Unmark"
+msgstr "Afmarkér"
+
+#: disk-utils/fsck.minix.c:1184 disk-utils/fsck.minix.c:1239
+#, c-format
+msgid "Zone %d: in use, counted=%d\n"
+msgstr "Zone %d: i brug, optalt=%d\n"
+
+#: disk-utils/fsck.minix.c:1187 disk-utils/fsck.minix.c:1242
+#, c-format
+msgid "Zone %d: not in use, counted=%d\n"
+msgstr "Zone %d: ikke i brug, optalt=%d\n"
+
+#: disk-utils/fsck.minix.c:1287 disk-utils/mkfs.minix.c:576
+#: disk-utils/mkfs.minix.c:578
+msgid "bad inode size"
+msgstr "ugyldig inode-størrelse"
+
+#: disk-utils/fsck.minix.c:1289
+msgid "bad v2 inode size"
+msgstr "ugyldig v2 inode-størrelse"
+
+#: disk-utils/fsck.minix.c:1315
+msgid "need terminal for interactive repairs"
+msgstr "kræver terminal til interaktive reparationer"
+
+#: disk-utils/fsck.minix.c:1319
+#, fuzzy, c-format
+msgid "unable to open '%s': %s"
+msgstr "kunne ikke åbne '%s'"
+
+#: disk-utils/fsck.minix.c:1334
+#, c-format
+msgid "%s is clean, no check.\n"
+msgstr "%s er i orden, tjekkes ikke.\n"
+
+#: disk-utils/fsck.minix.c:1338
+#, c-format
+msgid "Forcing filesystem check on %s.\n"
+msgstr "Gennemtvinger tjek af filsystem på %s.\n"
+
+#: disk-utils/fsck.minix.c:1340
+#, 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:1373
+#, c-format
+msgid ""
+"\n"
+"%6ld inodes used (%ld%%)\n"
+msgstr ""
+"\n"
+"%6ld inodes brugt (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1378
+#, c-format
+msgid "%6ld zones used (%ld%%)\n"
+msgstr "%6ld zoner brugt (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1380
+#, 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-enheds filer\n"
+"%6d blok-enheds filer\n"
+"%6d lænker\n"
+"%6d symbolske lænker\n"
+"------\n"
+"%6d filer\n"
+
+#: disk-utils/fsck.minix.c:1393
+#, 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 "%s: failed to open: %s\n"
+msgstr "%s: Kunne ikke åbne: %s\n"
+
+#: disk-utils/isosize.c:135
+#, c-format
+msgid "%s: seek error on %s\n"
+msgstr "%s: søgefejl på %s\n"
+
+#: disk-utils/isosize.c:141
+#, c-format
+msgid "%s: read error on %s\n"
+msgstr "%s: læsefejl på %s\n"
+
+#: disk-utils/isosize.c:150
+#, c-format
+msgid "sector count: %d, sector size: %d\n"
+msgstr "sektorantal: %d, sektorstørrelse: %d\n"
+
+#: disk-utils/isosize.c:200
+#, c-format
+msgid "%s: option parse error\n"
+msgstr "%s: Fortolkerfejl ved tilvalg\n"
+
+#: disk-utils/isosize.c:208
+#, c-format
+msgid "Usage: %s [-x] [-d <num>] iso9660-image\n"
+msgstr "Brug: %s [-x] [-d <antal>] iso9660-billede\n"
+
+#: disk-utils/mkfs.bfs.c:84
+#, c-format
+msgid ""
+"Usage: %s [-v] [-N nr-of-inodes] [-V volume-name]\n"
+"       [-F fsname] device [block-count]\n"
+msgstr ""
+"Brug:  %s [-v] [-N antal-inodes] [-V bind-navn]\n"
+"       [-F fsnavn] enhed [antal-blokke]\n"
+
+#: disk-utils/mkfs.bfs.c:131
+msgid "volume name too long"
+msgstr "bind-navn for langt"
+
+#: disk-utils/mkfs.bfs.c:138
+msgid "fsname name too long"
+msgstr "fsnavn for langt"
+
+#: disk-utils/mkfs.bfs.c:163
+#, c-format
+msgid "cannot stat device %s"
+msgstr "kunne ikke finde enheden %s"
+
+#: disk-utils/mkfs.bfs.c:167
+#, c-format
+msgid "%s is not a block special device"
+msgstr "%s er ikke en blokenhed"
+
+#: disk-utils/mkfs.bfs.c:172 sys-utils/ldattach.c:205
+#, c-format
+msgid "cannot open %s"
+msgstr "kunne ikke åbne %s"
+
+#: disk-utils/mkfs.bfs.c:183
+#, c-format
+msgid "cannot get size of %s"
+msgstr "Kan ikke få størrelsen af %s"
+
+#: disk-utils/mkfs.bfs.c:188
+#, fuzzy, c-format
+msgid "blocks argument too large, max is %llu"
+msgstr "for mange blokke angivet, øvre grænse er %lu"
+
+#: disk-utils/mkfs.bfs.c:203
+msgid "too many inodes - max is 512"
+msgstr "for mange inodes - øvre grænse er 512"
+
+#: disk-utils/mkfs.bfs.c:212
+#, fuzzy, c-format
+msgid "not enough space, need at least %llu blocks"
+msgstr "ikke plads nok, kræver mindst %lu blokke"
+
+#: disk-utils/mkfs.bfs.c:224 fdisk/fdisk.c:2345
+#, c-format
+msgid "Device: %s\n"
+msgstr "Enhed: %s\n"
+
+#: disk-utils/mkfs.bfs.c:225
+#, c-format
+msgid "Volume: <%-6s>\n"
+msgstr "Bind: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:226
+#, c-format
+msgid "FSname: <%-6s>\n"
+msgstr "FSnavn: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:227
+#, c-format
+msgid "BlockSize: %d\n"
+msgstr "Blokstørrelse: %d\n"
+
+#: disk-utils/mkfs.bfs.c:229
+#, c-format
+msgid "Inodes: %d (in 1 block)\n"
+msgstr "Inodes: %d (i en blok)\n"
+
+#: disk-utils/mkfs.bfs.c:232
+#, fuzzy, c-format
+msgid "Inodes: %d (in %lld blocks)\n"
+msgstr "Inodes: %d (i %ld blokke)\n"
+
+#: disk-utils/mkfs.bfs.c:234
+#, fuzzy, c-format
+msgid "Blocks: %lld\n"
+msgstr "Blokke: %ld\n"
+
+#: disk-utils/mkfs.bfs.c:235
+#, c-format
+msgid "Inode end: %d, Data end: %d\n"
+msgstr "Inode-slut: %d, Data-slut: %d\n"
+
+#: disk-utils/mkfs.bfs.c:240
+msgid "error writing superblock"
+msgstr "fejl under skrivning af superblok"
+
+#: disk-utils/mkfs.bfs.c:260
+msgid "error writing root inode"
+msgstr "fejl under skrivning af rod-inode"
+
+#: disk-utils/mkfs.bfs.c:265
+msgid "error writing inode"
+msgstr "fejl under skrivning inode"
+
+#: disk-utils/mkfs.bfs.c:268
+msgid "seek error"
+msgstr "søgefejl"
+
+#: disk-utils/mkfs.bfs.c:274
+msgid "error writing . entry"
+msgstr "fejl under skrivning af '.'-indgang"
+
+#: disk-utils/mkfs.bfs.c:278
+msgid "error writing .. entry"
+msgstr "fejl under skrivning af '..'-indgang"
+
+#: disk-utils/mkfs.bfs.c:282
+#, c-format
+msgid "error closing %s"
+msgstr "Fejl under lukning af %s"
+
+#: disk-utils/mkfs.c:73
+#, c-format
+msgid "Usage: mkfs [-V] [-t fstype] [fs-options] device [size]\n"
+msgstr "Brug: mkfs [-V] [-t fstype] [fs-tilvalg] enhed [størrelse]\n"
+
+#: disk-utils/mkfs.c:88 disk-utils/mkfs.c:96 fdisk/cfdisk.c:351
+#: getopt/getopt.c:86 getopt/getopt.c:96 login-utils/wall.c:246
+#, c-format
+msgid "%s: Out of memory!\n"
+msgstr "%s: Hukommelse opbrugt!\n"
+
+#: disk-utils/mkfs.c:103
+#, c-format
+msgid "mkfs (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: disk-utils/mkfs.cramfs.c:126
+#, 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 ""
+"brug: %s [-v] [-b blokstr] [-e udgave] [-i fil] [-n navn] mappenavn udfil\n"
+" -h         vis denne hjælp\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"
+" -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:340
+#, fuzzy, c-format
+msgid ""
+"Very long (%zu bytes) filename `%s' found.\n"
+" Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile.  Exiting.\n"
+msgstr ""
+"Fandt meget langt (%u byte) filnavn '%s'.\n"
+" Forøg MAX_INPUT_NAMELEN i mkcramfs.c og genoversæt.  Afslutter.\n"
+
+#: disk-utils/mkfs.cramfs.c:472
+#, c-format
+msgid "filesystem too big.  Exiting.\n"
+msgstr "for stort filsystem.  Afslutter.\n"
+
+#: disk-utils/mkfs.cramfs.c:637
+#, 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:656
+#, fuzzy, c-format
+msgid "%6.2f%% (%+ld bytes)\t%s\n"
+msgstr "%6.2f%% (%+d byte)\t%s\n"
+
+#: disk-utils/mkfs.cramfs.c:854
+#, fuzzy, c-format
+msgid ""
+"warning: guestimate of required size (upper bound) is %lldMB, but maximum "
+"image size is %uMB.  We might die prematurely.\n"
+msgstr ""
+"advarsel: et gæt på den nødvendige størrelse (øvre grænse) er %LdMB, men det "
+"maksimale aftryksstørrelse er %uMB.  Vi bliver muligvis ikke færdige.\n"
+
+#: disk-utils/mkfs.cramfs.c:881
+msgid "ROM image map"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:895
+#, c-format
+msgid "Including: %s\n"
+msgstr "Medtager: %s\n"
+
+#: disk-utils/mkfs.cramfs.c:901
+#, fuzzy, c-format
+msgid "Directory data: %zd bytes\n"
+msgstr "Mappedata: %d byte\n"
+
+#: disk-utils/mkfs.cramfs.c:909
+#, fuzzy, c-format
+msgid "Everything: %zd kilobytes\n"
+msgstr "I alt: %d kilobyte\n"
+
+#: disk-utils/mkfs.cramfs.c:914
+#, fuzzy, c-format
+msgid "Super block: %zd bytes\n"
+msgstr "Superblok: %d byte\n"
+
+#: disk-utils/mkfs.cramfs.c:921
+#, c-format
+msgid "CRC: %x\n"
+msgstr "CRC: %x\n"
+
+#: disk-utils/mkfs.cramfs.c:926
+#, fuzzy, c-format
+msgid "not enough space allocated for ROM image (%lld allocated, %zu used)\n"
+msgstr ""
+"der er frigjort for lidt plads til ROM-aftrykket (%Ld frigjort, %d brugt)\n"
+
+#: disk-utils/mkfs.cramfs.c:934
+msgid "ROM image"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:938
+#, fuzzy, c-format
+msgid "ROM image write failed (%zd %zd)\n"
+msgstr "skrivning af ROM-aftryk mislykkedes (%d %d)\n"
+
+#: disk-utils/mkfs.cramfs.c:947
+#, c-format
+msgid "warning: filenames truncated to 255 bytes.\n"
+msgstr "advarsel: filnavne afkortet til 255 byte.\n"
+
+#: disk-utils/mkfs.cramfs.c:950
+#, c-format
+msgid "warning: files were skipped due to errors.\n"
+msgstr "advarsel: filer oversprunget p.g.a. fejl.\n"
+
+#: disk-utils/mkfs.cramfs.c:953
+#, c-format
+msgid "warning: file sizes truncated to %luMB (minus 1 byte).\n"
+msgstr "advarsel: filstørrelser afkortet til %luMB (minus 1 byte).\n"
+
+#: disk-utils/mkfs.cramfs.c:958
+#, c-format
+msgid ""
+"warning: uids truncated to %u bits.  (This may be a security concern.)\n"
+msgstr ""
+"advarsel: uids forkortet til %u bit.  (Dette kan give sikkerhedsproblemer.)\n"
+
+#: disk-utils/mkfs.cramfs.c:963
+#, c-format
+msgid ""
+"warning: gids truncated to %u bits.  (This may be a security concern.)\n"
+msgstr ""
+"advarsel: gids forkortet til %u bit.  (Dette kan give sikkerhedsproblemer.)\n"
+
+#: disk-utils/mkfs.cramfs.c:968
+#, c-format
+msgid ""
+"WARNING: device numbers truncated to %u bits.  This almost certainly means\n"
+"that some device files will be wrong.\n"
+msgstr ""
+"ADVARSEL: enhedsnumre er afkortet til %u bit.  Det betyder næsten med "
+"sikkerhed\n"
+"at nogle af enhedsfilerne vil være fejlbehæftede.\n"
+
+#: disk-utils/mkfs.minix.c:156
+#, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]\n"
+msgstr "Brug: %s [-c | -l filnavn] [-nXX] [-iXX] /dev/navn [blokke]\n"
+
+#: disk-utils/mkfs.minix.c:180
+#, 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:190
+msgid "seek to boot block failed in write_tables"
+msgstr "mislykket søgning til opstartsblok i write_tables"
+
+#: disk-utils/mkfs.minix.c:192
+msgid "unable to clear boot sector"
+msgstr "kunne ikke slette opstartssektor"
+
+#: disk-utils/mkfs.minix.c:194
+msgid "seek failed in write_tables"
+msgstr "søgning mislykkedes i write_tables"
+
+#: disk-utils/mkfs.minix.c:198
+msgid "unable to write inode map"
+msgstr "kunne ikke skrive inode-oversigt"
+
+#: disk-utils/mkfs.minix.c:200
+msgid "unable to write zone map"
+msgstr "kunne ikke skrive zoneoversigt"
+
+#: disk-utils/mkfs.minix.c:202
+msgid "unable to write inodes"
+msgstr "kunne ikke skrive inodes"
+
+#: disk-utils/mkfs.minix.c:211
+msgid "write failed in write_block"
+msgstr "mislykket skrivning i write_block"
+
+#: disk-utils/mkfs.minix.c:219 disk-utils/mkfs.minix.c:293
+#: disk-utils/mkfs.minix.c:342
+msgid "too many bad blocks"
+msgstr "for mange ugyldige blokke"
+
+#: disk-utils/mkfs.minix.c:227
+msgid "not enough good blocks"
+msgstr "ikke nok gyldige blokke"
+
+#: disk-utils/mkfs.minix.c:439
+msgid "unable to allocate buffers for maps"
+msgstr "kunne ikke allokere buffere til oversigter"
+
+#: disk-utils/mkfs.minix.c:448
+msgid "unable to allocate buffer for inodes"
+msgstr "kunne ikke allokere buffere til inodes"
+
+#: disk-utils/mkfs.minix.c:454
+#, c-format
+msgid ""
+"Maxsize=%ld\n"
+"\n"
+msgstr ""
+"Maksstørrelse=%ld\n"
+"\n"
+
+#: disk-utils/mkfs.minix.c:468
+msgid "seek failed during testing of blocks"
+msgstr "søgning fejlede under test af blokke"
+
+#: disk-utils/mkfs.minix.c:476
+#, 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:507 disk-utils/mkswap.c:313
+msgid "seek failed in check_blocks"
+msgstr "søgning mislykkedes i check_blocks"
+
+#: disk-utils/mkfs.minix.c:516
+msgid "bad blocks before data-area: cannot make fs"
+msgstr "ugyldige blokke før dataområde: kan ikke oprette filsystem"
+
+#: disk-utils/mkfs.minix.c:522 disk-utils/mkfs.minix.c:547
+#, c-format
+msgid "%d bad blocks\n"
+msgstr "%d ugyldige blokke\n"
+
+#: disk-utils/mkfs.minix.c:524 disk-utils/mkfs.minix.c:549
+#, c-format
+msgid "one bad block\n"
+msgstr "en ugyldig blok\n"
+
+#: disk-utils/mkfs.minix.c:534
+msgid "can't open file of bad blocks"
+msgstr "kan ikke åbne fil med ugyldige blokke"
+
+#: disk-utils/mkfs.minix.c:538
+#, c-format
+msgid "badblock number input error on line %d\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:539
+#, fuzzy
+msgid "cannot read badblocks file"
+msgstr "Kan ikke læse drev"
+
+#: disk-utils/mkfs.minix.c:619
+#, c-format
+msgid "strtol error: number of blocks not specified"
+msgstr "strtol-fejl: antallet af blokke ikke angivet"
+
+#: disk-utils/mkfs.minix.c:638
+#, c-format
+msgid "unable to stat %s"
+msgstr "kunne ikke finde %s"
+
+#: disk-utils/mkfs.minix.c:644
+#, c-format
+msgid "unable to open %s"
+msgstr "kunne ikke åbne %s"
+
+#: disk-utils/mkfs.minix.c:649
+#, fuzzy, c-format
+msgid "cannot determine sector size for %s"
+msgstr "Kan ikke få størrelsen af %s"
+
+#: disk-utils/mkfs.minix.c:651
+#, c-format
+msgid "block size smaller than physical sector size of %s"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:654
+#, fuzzy, c-format
+msgid "cannot determine size of %s"
+msgstr "Kan ikke få størrelsen af %s"
+
+#: disk-utils/mkfs.minix.c:662
+#, 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:664
+#, fuzzy
+msgid "number of blocks too small"
+msgstr "Antal sektorer"
+
+#: disk-utils/mkswap.c:155
+#, c-format
+msgid "Bad user-specified page size %d\n"
+msgstr "Ugyldig sidestørrelse '%d' angivet af bruger\n"
+
+#: disk-utils/mkswap.c:163
+#, fuzzy, c-format
+msgid "Using user-specified page size %d, instead of the system value %d\n"
+msgstr ""
+"Benytter bruger-bestemt sidestørrelse %d i stedet for systemværdierne %d/%d\n"
+
+#: disk-utils/mkswap.c:192
+#, c-format
+msgid "Bad swap header size, no label written.\n"
+msgstr "Ugyldig størelse på swap-hovede, skrev ikke noget mærke.\n"
+
+#: disk-utils/mkswap.c:202
+#, c-format
+msgid "Label was truncated.\n"
+msgstr "Mærke afkortet.\n"
+
+#: disk-utils/mkswap.c:208
+#, c-format
+msgid "no label, "
+msgstr "intet mærke, "
+
+#: disk-utils/mkswap.c:216
+#, c-format
+msgid "no uuid\n"
+msgstr "ingen uuid\n"
+
+#: disk-utils/mkswap.c:281
+#, fuzzy, c-format
+msgid "Usage: %s [-c] [-pPAGESZ] [-L label] [-U UUID] /dev/name [blocks]\n"
+msgstr "Brug: %s [-c] [-v0|-v1] [-pSIDESTR] [-L mærke] /dev/navn [blokke]\n"
+
+#: disk-utils/mkswap.c:295
+msgid "too many bad pages"
+msgstr "for mange ugyldige sider"
+
+#: disk-utils/mkswap.c:308 misc-utils/look.c:182 misc-utils/setterm.c:1183
+#: text-utils/more.c:1982 text-utils/more.c:1993
+msgid "Out of memory"
+msgstr "Hukommelse opbrugt"
+
+#: disk-utils/mkswap.c:319
+#, c-format
+msgid "one bad page\n"
+msgstr "en ugyldig side\n"
+
+#: disk-utils/mkswap.c:321
+#, c-format
+msgid "%lu bad pages\n"
+msgstr "%lu ugyldige sider\n"
+
+#: disk-utils/mkswap.c:399 disk-utils/mkswap.c:415 disk-utils/mkswap.c:633
+msgid "unable to rewind swap-device"
+msgstr "kunne ikke spole tilbage på swap-enheden"
+
+#: disk-utils/mkswap.c:419
+#, fuzzy
+msgid "unable to erase bootbits sectors"
+msgstr "kunne ikke slette opstartssektor"
+
+#: disk-utils/mkswap.c:423
+#, c-format
+msgid "%s: %s: warning: don't erase bootbits sectors\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:426
+#, fuzzy, c-format
+msgid "        (%s partition table detected). "
+msgstr "   p    vis BSD-partitionstabel"
+
+#: disk-utils/mkswap.c:428
+#, fuzzy, c-format
+msgid "        on whole disk. "
+msgstr "   s    vis hele diskmærkatet"
+
+#: disk-utils/mkswap.c:498
+#, c-format
+msgid "%1$s: warning: ignore -U (UUIDs are unsupported by %1$s)\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:514
+#, fuzzy, c-format
+msgid "%s: does not support swapspace version %d.\n"
+msgstr "%s: fejl: ukendt version %d\n"
+
+#: disk-utils/mkswap.c:522
+#, fuzzy
+msgid "error: UUID parsing failed"
+msgstr ""
+"\n"
+"Fejl ved lukning af fil\n"
+
+#: disk-utils/mkswap.c:533
+#, c-format
+msgid "%s: error: Nowhere to set up swap on?\n"
+msgstr "%s: fejl: Ingen steder at opsætte swap?\n"
+
+#: disk-utils/mkswap.c:551
+#, fuzzy, c-format
+msgid "%s: error: size %llu KiB is larger than device size %llu KiB\n"
+msgstr "%s: fejl: størrelsen %lu er større end enhedsstørrelsen %lu\n"
+
+#: disk-utils/mkswap.c:560
+#, fuzzy, c-format
+msgid "%s: error: swap area needs to be at least %ld KiB\n"
+msgstr "%s: fejl: swap-område skal mindst være på %ldkB\n"
+
+#: disk-utils/mkswap.c:577
+#, fuzzy, c-format
+msgid "%s: warning: truncating swap area to %llu KiB\n"
+msgstr "%s: fejl: afkorter swap-området til %ldkB\n"
+
+#: disk-utils/mkswap.c:600
+#, fuzzy, c-format
+msgid "%s: error: will not try to make swapdevice on '%s'\n"
+msgstr "Vil ikke forsøge at oprette swap-enhed på '%s'"
+
+#: disk-utils/mkswap.c:606
+#, fuzzy, c-format
+msgid "%s: error: %s is mounted; will not make swapspace.\n"
+msgstr "%s er monteret; vil ikke oprette et filsystem her!"
+
+#: disk-utils/mkswap.c:622
+msgid "Unable to set up swap-space: unreadable"
+msgstr "Kunne ikke klargøre swap-område: ulæseligt"
+
+#: disk-utils/mkswap.c:625
+#, fuzzy, c-format
+msgid "Setting up swapspace version 1, size = %llu KiB\n"
+msgstr "Klargører swap-område version %d, størrelse = %llu kB\n"
+
+#: disk-utils/mkswap.c:636
+#, fuzzy, c-format
+msgid "%s: %s: unable to write signature page: %s"
+msgstr "kunne ikke skrive signatur-side"
+
+#: disk-utils/mkswap.c:647
+msgid "fsync failed"
+msgstr "fsync mislykkedes"
+
+#: disk-utils/mkswap.c:658
+#, c-format
+msgid "%s: %s: unable to obtain selinux file label: %s\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:664
+#, fuzzy
+msgid "unable to matchpathcon()"
+msgstr "kunne ikke finde %s"
+
+#: disk-utils/mkswap.c:667
+#, fuzzy
+msgid "unable to create new selinux context"
+msgstr "kunne ikke skrive inodes"
+
+#: disk-utils/mkswap.c:669
+msgid "couldn't compute selinux context"
+msgstr ""
+
+#: disk-utils/mkswap.c:675
+#, fuzzy, c-format
+msgid "%s: unable to relabel %s to %s: %s\n"
+msgstr "kunne ikke omdøbe %s til %s: %s\n"
+
+#: disk-utils/raw.c:50
+#, fuzzy, c-format
+msgid ""
+"Usage:\n"
+"  %s "
+msgstr "Brug:\n"
+
+#: disk-utils/raw.c:125
+#, c-format
+msgid ""
+"Device '%s' is control raw dev (use raw<N> where <N> is greater than zero)\n"
+msgstr ""
+
+#: disk-utils/raw.c:145
+#, fuzzy, c-format
+msgid "Cannot locate block device '%s' (%s)\n"
+msgstr "Kunne ikke låse låsefilen %s: %s\n"
+
+#: disk-utils/raw.c:151
+#, fuzzy, c-format
+msgid "Device '%s' is not a block dev\n"
+msgstr "Advarsel: %s er ikke en blokenhed\n"
+
+#: disk-utils/raw.c:186
+#, fuzzy, c-format
+msgid "Cannot open master raw device '"
+msgstr "kunne ikke finde enheden %s"
+
+#: disk-utils/raw.c:205
+#, fuzzy, c-format
+msgid "Cannot locate raw device '%s' (%s)\n"
+msgstr "kunne ikke finde enheden %s"
+
+#: disk-utils/raw.c:211
+#, fuzzy, c-format
+msgid "Raw device '%s' is not a character dev\n"
+msgstr "/dev/%s: ikke en tegnenhed"
+
+#: disk-utils/raw.c:216
+#, fuzzy, c-format
+msgid "Device '%s' is not a raw dev\n"
+msgstr "%s er ikke en blokenhed"
+
+#: disk-utils/raw.c:231
+#, c-format
+msgid "Error querying raw device (%s)\n"
+msgstr ""
+
+#: disk-utils/raw.c:241 disk-utils/raw.c:261
+#, c-format
+msgid "raw%d:\tbound to major %d, minor %d\n"
+msgstr ""
+
+#: disk-utils/raw.c:257
+#, fuzzy, c-format
+msgid "Error setting raw device (%s)\n"
+msgstr "fejl ved forsøg på at stoppe tjenesten: \"%s\""
+
+#: fdisk/cfdisk.c:376 fdisk/cfdisk.c:2080
+msgid "Unusable"
+msgstr "Ubrugelig"
+
+#: fdisk/cfdisk.c:378 fdisk/cfdisk.c:2082
+msgid "Free Space"
+msgstr "Frit område"
+
+#: fdisk/cfdisk.c:381
+msgid "Linux ext2"
+msgstr "Linux ext2"
+
+#: fdisk/cfdisk.c:383
+msgid "Linux ext3"
+msgstr "Linux ext3"
+
+#: fdisk/cfdisk.c:385
+msgid "Linux XFS"
+msgstr "Linux XFS"
+
+#: fdisk/cfdisk.c:387
+msgid "Linux JFS"
+msgstr "Linux JFS"
+
+#: fdisk/cfdisk.c:389
+msgid "Linux ReiserFS"
+msgstr "Linux ReiserFS"
+
+#: fdisk/cfdisk.c:391 fdisk/i386_sys_types.c:57
+msgid "Linux"
+msgstr "Linux"
+
+#: fdisk/cfdisk.c:394
+msgid "OS/2 HPFS"
+msgstr "OS/2 HPFS"
+
+#: fdisk/cfdisk.c:396
+msgid "OS/2 IFS"
+msgstr "OS/2 IFS"
+
+#: fdisk/cfdisk.c:400
+msgid "NTFS"
+msgstr "NTFS"
+
+#: fdisk/cfdisk.c:411
+#, c-format
+msgid "Disk has been changed.\n"
+msgstr "Disken er blevet udskiftet.\n"
+
+#: fdisk/cfdisk.c:413
+#, 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"
+
+#: fdisk/cfdisk.c:417
+#, 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 manual-siden for\n"
+"yderligere information, hvis du har oprettet eller\n"
+"ændret DOS 6.x partitioner.\n"
+
+#: fdisk/cfdisk.c:512
+msgid "FATAL ERROR"
+msgstr "FATAL FEJL"
+
+#: fdisk/cfdisk.c:513
+msgid "Press any key to exit cfdisk"
+msgstr "Tryk en tast for at afslutte cfdisk"
+
+#: fdisk/cfdisk.c:560 fdisk/cfdisk.c:568
+msgid "Cannot seek on disk drive"
+msgstr "Kan ikke søge på drev"
+
+#: fdisk/cfdisk.c:562
+msgid "Cannot read disk drive"
+msgstr "Kan ikke læse drev"
+
+#: fdisk/cfdisk.c:570
+msgid "Cannot write disk drive"
+msgstr "Kan ikke skrive på drev"
+
+#: fdisk/cfdisk.c:913
+msgid "Too many partitions"
+msgstr "For mange partitioner"
+
+#: fdisk/cfdisk.c:918
+msgid "Partition begins before sector 0"
+msgstr "Partition starter før sektor 0"
+
+#: fdisk/cfdisk.c:923
+msgid "Partition ends before sector 0"
+msgstr "Partition slutter før sektor 0"
+
+#: fdisk/cfdisk.c:928
+msgid "Partition begins after end-of-disk"
+msgstr "Partition starter efter slut-på-disk"
+
+#: fdisk/cfdisk.c:933
+msgid "Partition ends after end-of-disk"
+msgstr "Partition slutter efter slut-på-disk"
+
+#: fdisk/cfdisk.c:938
+msgid "Partition ends in the final partial cylinder"
+msgstr "Partitionen slutter i den sidste partialcylinder"
+
+#: fdisk/cfdisk.c:962
+msgid "logical partitions not in disk order"
+msgstr "logiske partitioner ikke i disk-rækkefølge"
+
+#: fdisk/cfdisk.c:965
+msgid "logical partitions overlap"
+msgstr "logisk partitions-overlap"
+
+#: fdisk/cfdisk.c:969
+msgid "enlarged logical partitions overlap"
+msgstr "forstørret logisk partitions-overlap"
+
+#: fdisk/cfdisk.c:999
+msgid ""
+"!!!! Internal error creating logical drive with no extended partition !!!!"
+msgstr ""
+"!!!! Intern fejl under oprettelse af logisk drev uden udvidet partition !!!!"
+
+#: fdisk/cfdisk.c:1010 fdisk/cfdisk.c:1022
+msgid ""
+"Cannot create logical drive here -- would create two extended partitions"
+msgstr ""
+"Kan ikke oprette logisk drev her -- ville resultere i to udvidede partitioner"
+
+#: fdisk/cfdisk.c:1164
+msgid "Menu item too long. Menu may look odd."
+msgstr "Menupunkt for langt. Menu ser muligvis mærkeligt ud."
+
+#: fdisk/cfdisk.c:1220
+#, fuzzy
+msgid "Menu without direction. Defaulting to horizontal."
+msgstr "Menu uden retning. Vælger standarden horisontal."
+
+#: fdisk/cfdisk.c:1351
+msgid "Illegal key"
+msgstr "Ugyldig tast"
+
+#: fdisk/cfdisk.c:1374
+msgid "Press a key to continue"
+msgstr "Tryk en tast for at fortsætte"
+
+#: fdisk/cfdisk.c:1421 fdisk/cfdisk.c:2051 fdisk/cfdisk.c:2583
+#: fdisk/cfdisk.c:2585
+msgid "Primary"
+msgstr "Primær"
+
+#: fdisk/cfdisk.c:1421
+msgid "Create a new primary partition"
+msgstr "Opret en ny primær partition"
+
+#: fdisk/cfdisk.c:1422 fdisk/cfdisk.c:2051 fdisk/cfdisk.c:2582
+#: fdisk/cfdisk.c:2585
+msgid "Logical"
+msgstr "Logisk"
+
+#: fdisk/cfdisk.c:1422
+msgid "Create a new logical partition"
+msgstr "Opret en ny logisk partition"
+
+#: fdisk/cfdisk.c:1423 fdisk/cfdisk.c:1478 fdisk/cfdisk.c:2256
+msgid "Cancel"
+msgstr "Fortryd"
+
+#: fdisk/cfdisk.c:1423 fdisk/cfdisk.c:1478
+msgid "Don't create a partition"
+msgstr "Opret ikke partition"
+
+#: fdisk/cfdisk.c:1439
+msgid "!!! Internal error !!!"
+msgstr "!!! Intern fejl !!!"
+
+#: fdisk/cfdisk.c:1442
+msgid "Size (in MB): "
+msgstr "Størrelse (i MB): "
+
+#: fdisk/cfdisk.c:1476
+msgid "Beginning"
+msgstr "Begyndelse"
+
+#: fdisk/cfdisk.c:1476
+msgid "Add partition at beginning of free space"
+msgstr "Tilføj partition i starten af det frie område"
+
+#: fdisk/cfdisk.c:1477
+msgid "End"
+msgstr "Slut"
+
+#: fdisk/cfdisk.c:1477
+msgid "Add partition at end of free space"
+msgstr "Tilføj partition i slutningen af det frie område"
+
+#: fdisk/cfdisk.c:1495
+msgid "No room to create the extended partition"
+msgstr "Ikke plads til at oprette udvidet partition"
+
+#: fdisk/cfdisk.c:1569
+msgid "No partition table.\n"
+msgstr "Ingen partitionstabel.\n"
+
+#: fdisk/cfdisk.c:1573
+msgid "No partition table. Starting with zero table."
+msgstr "Ingen partitionstabel. Starter med nulstillet tabel."
+
+#: fdisk/cfdisk.c:1583
+msgid "Bad signature on partition table"
+msgstr "Ugyldig signatur i partitionstabel"
+
+#: fdisk/cfdisk.c:1587
+msgid "Unknown partition table type"
+msgstr "Ukendt partitionstabel-type"
+
+#: fdisk/cfdisk.c:1589
+msgid "Do you wish to start with a zero table [y/N] ?"
+msgstr "Vil du starte med nulstillet tabel [j/N] ?"
+
+#: fdisk/cfdisk.c:1637
+msgid "You specified more cylinders than fit on disk"
+msgstr "Du angav flere cylindre end der kan være på disken"
+
+#: fdisk/cfdisk.c:1669
+msgid "Cannot open disk drive"
+msgstr "Kan ikke åbne drev"
+
+#: fdisk/cfdisk.c:1671 fdisk/cfdisk.c:1860
+msgid "Opened disk read-only - you have no permission to write"
+msgstr "Åbnede drev skrivebeskyttet - du har ikke adgang til at skrive"
+
+#: fdisk/cfdisk.c:1682
+msgid ""
+"Warning!!  Unsupported GPT (GUID Partition Table) detected. Use GNU Parted."
+msgstr ""
+
+#: fdisk/cfdisk.c:1701
+msgid "Cannot get disk size"
+msgstr "Kan ikke få diskstørrelsen"
+
+#: fdisk/cfdisk.c:1727
+msgid "Bad primary partition"
+msgstr "Ugyldig primærpartition"
+
+#: fdisk/cfdisk.c:1757
+msgid "Bad logical partition"
+msgstr "Ugyldig logisk partition"
+
+#: fdisk/cfdisk.c:1872
+msgid "Warning!!  This may destroy data on your disk!"
+msgstr "Advarsel!! Dette ødelægger muligvis data på din disk!"
+
+#: fdisk/cfdisk.c:1876
+#, fuzzy
+msgid ""
+"Are you sure you want to write the partition table to disk? (yes or no): "
+msgstr ""
+"Er du sikke på, at du vil skrive partitionstabellen til disken? (ja eller "
+"nej): "
+
+#: fdisk/cfdisk.c:1882
+msgid "no"
+msgstr "nej"
+
+#: fdisk/cfdisk.c:1884
+msgid "Did not write partition table to disk"
+msgstr "Skrev ikke partitionstabellen til disken"
+
+#: fdisk/cfdisk.c:1886
+msgid "yes"
+msgstr "ja"
+
+#: fdisk/cfdisk.c:1890
+msgid "Please enter `yes' or `no'"
+msgstr "Skriv venligst 'ja' eller 'nej'"
+
+#: fdisk/cfdisk.c:1894
+msgid "Writing partition table to disk..."
+msgstr "Skriver partitionstabel til disken..."
+
+#: fdisk/cfdisk.c:1921 fdisk/cfdisk.c:1925
+msgid "Wrote partition table to disk"
+msgstr "Skrev partitionstabel til disken"
+
+#: fdisk/cfdisk.c:1923
+#, fuzzy
+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. Genstart for at "
+"opdatere tabellen."
+
+#: fdisk/cfdisk.c:1933
+msgid "No primary partitions are marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"Ingen primærpartitioner er markeret opstartbar. DOS MBR vil ikke kunne "
+"starte op."
+
+#: fdisk/cfdisk.c:1935
+msgid ""
+"More than one primary partition is marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"Da flere primærpartitioner er opstartbare, vil DOS MBR ikke kunne starte op."
+
+#: fdisk/cfdisk.c:1993 fdisk/cfdisk.c:2112 fdisk/cfdisk.c:2196
+msgid "Enter filename or press RETURN to display on screen: "
+msgstr "Angiv filnavn eller tryk RETUR for at vise på skærmen: "
+
+#: fdisk/cfdisk.c:2002 fdisk/cfdisk.c:2120 fdisk/cfdisk.c:2204
+#, c-format
+msgid "Cannot open file '%s'"
+msgstr "Kan ikke åbne filen '%s'"
+
+#: fdisk/cfdisk.c:2013
+#, c-format
+msgid "Disk Drive: %s\n"
+msgstr "Drev: %s\n"
+
+#: fdisk/cfdisk.c:2015
+msgid "Sector 0:\n"
+msgstr "Sektor 0:\n"
+
+#: fdisk/cfdisk.c:2022
+#, c-format
+msgid "Sector %d:\n"
+msgstr "Sektor %d:\n"
+
+#: fdisk/cfdisk.c:2042
+msgid "   None   "
+msgstr "   Ingen  "
+
+#: fdisk/cfdisk.c:2044
+msgid "   Pri/Log"
+msgstr "   Pri/Log"
+
+#: fdisk/cfdisk.c:2046
+msgid "   Primary"
+msgstr "   Primær"
+
+#: fdisk/cfdisk.c:2048
+msgid "   Logical"
+msgstr "   Logisk "
+
+#: fdisk/cfdisk.c:2086 fdisk/fdisk.c:1534 fdisk/fdisk.c:1855
+#: fdisk/fdisksgilabel.c:240 fdisk/fdisksunlabel.c:621 fdisk/sfdisk.c:653
+msgid "Unknown"
+msgstr "Ukendt"
+
+#: fdisk/cfdisk.c:2092 fdisk/cfdisk.c:2560 fdisk/fdisksunlabel.c:44
+msgid "Boot"
+msgstr "Opstart"
+
+#: fdisk/cfdisk.c:2094
+#, c-format
+msgid "(%02X)"
+msgstr "(%02X)"
+
+#: fdisk/cfdisk.c:2096
+msgid "None"
+msgstr "Ingen"
+
+#: fdisk/cfdisk.c:2131 fdisk/cfdisk.c:2215
+#, c-format
+msgid "Partition Table for %s\n"
+msgstr "Partitionstabel for %s\n"
+
+#: fdisk/cfdisk.c:2133
+msgid "               First       Last\n"
+msgstr "               Første      Sidst\n"
+
+#: fdisk/cfdisk.c:2134
+msgid ""
+" # Type       Sector      Sector   Offset    Length   Filesystem Type (ID) "
+"Flag\n"
+msgstr ""
+" # Type       Sektor      Sektor   forskydn. Længde   Filsystem  Type (ID) "
+"Flag\n"
+
+#: fdisk/cfdisk.c:2135
+msgid ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+msgstr ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+
+#: fdisk/cfdisk.c:2218
+#, fuzzy
+msgid "         ---Starting----      ----Ending-----    Start     Number of\n"
+msgstr "         ---Starter---       ----Ender----     Start     Antal\n"
+
+#: fdisk/cfdisk.c:2219
+#, fuzzy
+msgid " # Flags Head Sect  Cyl   ID  Head Sect  Cyl     Sector    Sectors\n"
+msgstr " # Flag  Hovd Sekt Cyl   ID  Hovd Sekt Cyl     Sektor    Sektorer\n"
+
+#: fdisk/cfdisk.c:2220
+#, fuzzy
+msgid "-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+msgstr "-- ----- ---- ---- ---- ---- ---- ---- ---- ----------- -----------\n"
+
+#: fdisk/cfdisk.c:2253
+msgid "Raw"
+msgstr "Rå"
+
+#: fdisk/cfdisk.c:2253
+msgid "Print the table using raw data format"
+msgstr "Vis tabellen i råtdata format"
+
+#: fdisk/cfdisk.c:2254 fdisk/cfdisk.c:2357
+msgid "Sectors"
+msgstr "Sektorer"
+
+#: fdisk/cfdisk.c:2254
+msgid "Print the table ordered by sectors"
+msgstr "Vis tabellen ordnet efter sektorer"
+
+#: fdisk/cfdisk.c:2255
+msgid "Table"
+msgstr "Tabel"
+
+#: fdisk/cfdisk.c:2255
+msgid "Just print the partition table"
+msgstr "Vis kun partitionstabellen"
+
+#: fdisk/cfdisk.c:2256
+msgid "Don't print the table"
+msgstr "Vis ikke tabellen"
+
+#: fdisk/cfdisk.c:2284
+msgid "Help Screen for cfdisk"
+msgstr "Hjælpeskærm for cfdisk"
+
+#: fdisk/cfdisk.c:2286
+msgid "This is cfdisk, a curses based disk partitioning program, which"
+msgstr "Dette er cfdisk, et curses-baseret diskpartitionerings-program, som"
+
+#: fdisk/cfdisk.c:2287
+msgid "allows you to create, delete and modify partitions on your hard"
+msgstr "lader dig oprette, slette eller modificere partitioner på din"
+
+#: fdisk/cfdisk.c:2288
+msgid "disk drive."
+msgstr "harddisk."
+
+#: fdisk/cfdisk.c:2290
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+
+#: fdisk/cfdisk.c:2292
+msgid "Command      Meaning"
+msgstr "Kommando     Betydning"
+
+#: fdisk/cfdisk.c:2293
+msgid "-------      -------"
+msgstr "-------      -------"
+
+#: fdisk/cfdisk.c:2294
+msgid "  b          Toggle bootable flag of the current partition"
+msgstr "  b          Skift opstartbar-flaget for partitionen ('bootable')"
+
+#: fdisk/cfdisk.c:2295
+msgid "  d          Delete the current partition"
+msgstr "  d          Slet partitionen"
+
+#: fdisk/cfdisk.c:2296
+msgid "  g          Change cylinders, heads, sectors-per-track parameters"
+msgstr "  g          Ret cylinder, hoved, sektorer-per-spor parametre"
+
+#: fdisk/cfdisk.c:2297
+msgid "             WARNING: This option should only be used by people who"
+msgstr "             ADVARSEL: Denne kommando bør kun bruges af folk, der"
+
+#: fdisk/cfdisk.c:2298
+msgid "             know what they are doing."
+msgstr "             er klar over, hvad de gør."
+
+#: fdisk/cfdisk.c:2299
+msgid "  h          Print this screen"
+msgstr "  h          Vis denne skærm"
+
+#: fdisk/cfdisk.c:2300
+msgid "  m          Maximize disk usage of the current partition"
+msgstr "  m          Maksimér partitionens diskforbrug"
+
+#: fdisk/cfdisk.c:2301
+msgid "             Note: This may make the partition incompatible with"
+msgstr "             Bemærk: Dette kan gøre partitionen inkompatibel med"
+
+#: fdisk/cfdisk.c:2302
+msgid "             DOS, OS/2, ..."
+msgstr "             DOS, OS/2, ..."
+
+#: fdisk/cfdisk.c:2303
+msgid "  n          Create new partition from free space"
+msgstr "  n          Opret ny partition i frit område"
+
+#: fdisk/cfdisk.c:2304
+msgid "  p          Print partition table to the screen or to a file"
+msgstr "  p          Udlæs partitionstabellen til skærmen eller en fil"
+
+#: fdisk/cfdisk.c:2305
+msgid "             There are several different formats for the partition"
+msgstr "             Der er flere forskellige formater på partitionen,"
+
+#: fdisk/cfdisk.c:2306
+msgid "             that you can choose from:"
+msgstr "             som du kan vælge mellem:"
+
+#: fdisk/cfdisk.c:2307
+msgid "                r - Raw data (exactly what would be written to disk)"
+msgstr "                r - Rådata (nøjagtig de, som ville skrives på disken)"
+
+#: fdisk/cfdisk.c:2308
+msgid "                s - Table ordered by sectors"
+msgstr "                s - Tabel ordnet efter sektorer"
+
+#: fdisk/cfdisk.c:2309
+msgid "                t - Table in raw format"
+msgstr "                t - Tabel i rådata format"
+
+#: fdisk/cfdisk.c:2310
+msgid "  q          Quit program without writing partition table"
+msgstr "  q          Afslut program uden at skrive partitionstabellen"
+
+#: fdisk/cfdisk.c:2311
+msgid "  t          Change the filesystem type"
+msgstr "  t          Skift filsystem type"
+
+#: fdisk/cfdisk.c:2312
+msgid "  u          Change units of the partition size display"
+msgstr "  u          Skift enhed for visning af partitionsstørrelser"
+
+#: fdisk/cfdisk.c:2313
+msgid "             Rotates through MB, sectors and cylinders"
+msgstr "             Skifter mellem MB, sektorer og cylindre"
+
+#: fdisk/cfdisk.c:2314
+msgid "  W          Write partition table to disk (must enter upper case W)"
+msgstr "  W          Skriv partitionstabellen til disk (skal være stort W)"
+
+#: fdisk/cfdisk.c:2315
+msgid "             Since this might destroy data on the disk, you must"
+msgstr "             Siden dette kan ødelægge data på disken, skal du enten"
+
+#: fdisk/cfdisk.c:2316
+msgid "             either confirm or deny the write by entering `yes' or"
+msgstr "             bekræfte eller afvise ved at skrive henholdsvis 'ja'"
+
+#: fdisk/cfdisk.c:2317
+msgid "             `no'"
+msgstr "             eller 'nej'"
+
+#: fdisk/cfdisk.c:2318
+msgid "Up Arrow     Move cursor to the previous partition"
+msgstr "Pil op       Flyt markøren til forrige partition"
+
+#: fdisk/cfdisk.c:2319
+msgid "Down Arrow   Move cursor to the next partition"
+msgstr "Pil ned      Flyt markøren til næste partition"
+
+#: fdisk/cfdisk.c:2320
+msgid "CTRL-L       Redraws the screen"
+msgstr "CTRL-L       Gentegner skærmen"
+
+#: fdisk/cfdisk.c:2321
+msgid "  ?          Print this screen"
+msgstr "  ?          Vis denne skærm"
+
+#: fdisk/cfdisk.c:2323
+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å"
+
+#: fdisk/cfdisk.c:2324
+msgid "case letters (except for Writes)."
+msgstr "bogstaver (undtagen W)."
+
+#: fdisk/cfdisk.c:2355 fdisk/fdisksunlabel.c:237
+msgid "Cylinders"
+msgstr "Cylindre"
+
+#: fdisk/cfdisk.c:2355
+msgid "Change cylinder geometry"
+msgstr "Skift cylindergeometri"
+
+#: fdisk/cfdisk.c:2356 fdisk/fdisksunlabel.c:235
+msgid "Heads"
+msgstr "Hoveder"
+
+#: fdisk/cfdisk.c:2356
+msgid "Change head geometry"
+msgstr "Skift hovedgeometri"
+
+#: fdisk/cfdisk.c:2357
+msgid "Change sector geometry"
+msgstr "Skift sektorgeometri"
+
+#: fdisk/cfdisk.c:2358
+msgid "Done"
+msgstr "Færdig"
+
+#: fdisk/cfdisk.c:2358
+msgid "Done with changing geometry"
+msgstr "Færdig med geometriændring"
+
+#: fdisk/cfdisk.c:2371
+msgid "Enter the number of cylinders: "
+msgstr "Angiv antallet af cylindre: "
+
+#: fdisk/cfdisk.c:2382 fdisk/cfdisk.c:2953
+msgid "Illegal cylinders value"
+msgstr "Ugyldigt cylinderantal"
+
+#: fdisk/cfdisk.c:2388
+msgid "Enter the number of heads: "
+msgstr "Angiv antallet af hoveder: "
+
+#: fdisk/cfdisk.c:2395 fdisk/cfdisk.c:2963
+msgid "Illegal heads value"
+msgstr "Ugyldig hovedantal"
+
+#: fdisk/cfdisk.c:2401
+msgid "Enter the number of sectors per track: "
+msgstr "Angiv antallet af sektorer per spor: "
+
+#: fdisk/cfdisk.c:2408 fdisk/cfdisk.c:2970
+msgid "Illegal sectors value"
+msgstr "Ugyldig sektorantal"
+
+#: fdisk/cfdisk.c:2511
+msgid "Enter filesystem type: "
+msgstr "Angiv filsystemtype: "
+
+#: fdisk/cfdisk.c:2529
+msgid "Cannot change FS Type to empty"
+msgstr "Kan ikke ændre filsystemtype til tom"
+
+#: fdisk/cfdisk.c:2531
+msgid "Cannot change FS Type to extended"
+msgstr "Kan ikke ændre filsystemtype til udvidet"
+
+#: fdisk/cfdisk.c:2562
+#, c-format
+msgid "Unk(%02X)"
+msgstr "Ukt(%02X)"
+
+#: fdisk/cfdisk.c:2565 fdisk/cfdisk.c:2568
+msgid ", NC"
+msgstr ", NC"
+
+#: fdisk/cfdisk.c:2573 fdisk/cfdisk.c:2576
+msgid "NC"
+msgstr "NC"
+
+#: fdisk/cfdisk.c:2584
+msgid "Pri/Log"
+msgstr "Pri/Log"
+
+#: fdisk/cfdisk.c:2591
+#, c-format
+msgid "Unknown (%02X)"
+msgstr "Ukendt (%02X)"
+
+#: fdisk/cfdisk.c:2660
+#, c-format
+msgid "Disk Drive: %s"
+msgstr "Drev: %s"
+
+#: fdisk/cfdisk.c:2667
+#, c-format
+msgid "Size: %lld bytes, %lld MB"
+msgstr "Størrelse: %lld byte, %lld Mb"
+
+#: fdisk/cfdisk.c:2670
+#, c-format
+msgid "Size: %lld bytes, %lld.%lld GB"
+msgstr "Størrelse: %lld byte, %lld.%lld Gb"
+
+#: fdisk/cfdisk.c:2674
+#, c-format
+msgid "Heads: %d   Sectors per Track: %d   Cylinders: %lld"
+msgstr "Hoveder: %d   Sektorer per spor: %d   Cylindre: %lld"
+
+#: fdisk/cfdisk.c:2678 login-utils/chfn.c:377
+msgid "Name"
+msgstr "Navn"
+
+#: fdisk/cfdisk.c:2679
+msgid "Flags"
+msgstr "Flag"
+
+#: fdisk/cfdisk.c:2680
+msgid "Part Type"
+msgstr "Part-type"
+
+#: fdisk/cfdisk.c:2681
+msgid "FS Type"
+msgstr "Fs-type"
+
+#: fdisk/cfdisk.c:2682
+msgid "[Label]"
+msgstr "[Mærkat]"
+
+#: fdisk/cfdisk.c:2684
+msgid "    Sectors"
+msgstr "    Sektorer"
+
+#: fdisk/cfdisk.c:2686
+msgid "  Cylinders"
+msgstr "  Cylindre"
+
+#: fdisk/cfdisk.c:2688
+msgid "  Size (MB)"
+msgstr "  Størrelse (MB)"
+
+#: fdisk/cfdisk.c:2690
+msgid "  Size (GB)"
+msgstr "  Størrelse (GB)"
+
+#: fdisk/cfdisk.c:2744
+msgid "Bootable"
+msgstr "Opstartbar"
+
+#: fdisk/cfdisk.c:2744
+msgid "Toggle bootable flag of the current partition"
+msgstr "Skift opstartbar-flaget for partitionen ('bootable')"
+
+#: fdisk/cfdisk.c:2745
+msgid "Delete"
+msgstr "Slet"
+
+#: fdisk/cfdisk.c:2745
+msgid "Delete the current partition"
+msgstr "Slet partitionen"
+
+#: fdisk/cfdisk.c:2746
+msgid "Geometry"
+msgstr "Geometri"
+
+#: fdisk/cfdisk.c:2746
+msgid "Change disk geometry (experts only)"
+msgstr "Skift diskgeometri (kun for eksperter)"
+
+#: fdisk/cfdisk.c:2747
+msgid "Help"
+msgstr "Hjælp"
+
+#: fdisk/cfdisk.c:2747
+msgid "Print help screen"
+msgstr "Vis hjælpeskærm"
+
+#: fdisk/cfdisk.c:2748
+msgid "Maximize"
+msgstr "Maksimér"
+
+#: fdisk/cfdisk.c:2748
+msgid "Maximize disk usage of the current partition (experts only)"
+msgstr "Maksimér diskforbruget for partitionen (kun for eksperter)"
+
+#: fdisk/cfdisk.c:2749
+msgid "New"
+msgstr "Ny"
+
+#: fdisk/cfdisk.c:2749
+msgid "Create new partition from free space"
+msgstr "Opret ny partition i frit område"
+
+#: fdisk/cfdisk.c:2750
+msgid "Print"
+msgstr "Udlæs"
+
+#: fdisk/cfdisk.c:2750
+msgid "Print partition table to the screen or to a file"
+msgstr "Udlæs partitionstabellen til skærmen eller til en fil"
+
+#: fdisk/cfdisk.c:2751
+msgid "Quit"
+msgstr "Afslut"
+
+#: fdisk/cfdisk.c:2751
+msgid "Quit program without writing partition table"
+msgstr "Afslut program uden at ændre partitionstabellen"
+
+#: fdisk/cfdisk.c:2752
+msgid "Type"
+msgstr "Type"
+
+#: fdisk/cfdisk.c:2752
+msgid "Change the filesystem type (DOS, Linux, OS/2 and so on)"
+msgstr "Skift filsystemtype (DOS, Linux, OS/2 osv.)"
+
+#: fdisk/cfdisk.c:2753
+msgid "Units"
+msgstr "Enheder"
+
+#: fdisk/cfdisk.c:2753
+msgid "Change units of the partition size display (MB, sect, cyl)"
+msgstr "Skift enheder for visning af partitionstabellen (MB, sekt, cyl)"
+
+#: fdisk/cfdisk.c:2754
+msgid "Write"
+msgstr "Skriv"
+
+#: fdisk/cfdisk.c:2754
+msgid "Write partition table to disk (this might destroy data)"
+msgstr "Skriv partitionstabellen til disk (dette kan ødelægge data)"
+
+#: fdisk/cfdisk.c:2800
+msgid "Cannot make this partition bootable"
+msgstr "Kan ikke gøre denne partition opstartbar"
+
+#: fdisk/cfdisk.c:2810
+msgid "Cannot delete an empty partition"
+msgstr "Kan ikke slette en tom partition"
+
+#: fdisk/cfdisk.c:2830 fdisk/cfdisk.c:2832
+msgid "Cannot maximize this partition"
+msgstr "Kan ikke maksimere denne partition"
+
+#: fdisk/cfdisk.c:2840
+msgid "This partition is unusable"
+msgstr "Denne partition er ubrugelig"
+
+#: fdisk/cfdisk.c:2842
+msgid "This partition is already in use"
+msgstr "Denne partition er allerede i brug"
+
+#: fdisk/cfdisk.c:2859
+msgid "Cannot change the type of an empty partition"
+msgstr "Kan ikke ændre en tom partitions type"
+
+#: fdisk/cfdisk.c:2886 fdisk/cfdisk.c:2892
+msgid "No more partitions"
+msgstr "Ikke flere partitioner"
+
+#: fdisk/cfdisk.c:2899
+msgid "Illegal command"
+msgstr "Ugyldig kommando"
+
+#: fdisk/cfdisk.c:2909
+#, c-format
+msgid "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+msgstr "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+
+#: fdisk/cfdisk.c:2916
+#, 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"
+"Interaktivt 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"
+
+#: fdisk/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 et gyldig AIX-mærkat 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 bind-gruppe. (Ellers kan du også slette\n"
+"\t   de andre diske, hvis de ikke er spejlede.)\n"
+"\t3. Før du sletter dette fysiske bind, vær sikker på\n"
+"\t   at du fjerne disken logisk fra din AIX maskine.\n"
+"\t   (Ellers bliver du en AIXpert)."
+
+#: fdisk/fdiskbsdlabel.c:122
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+"\n"
+"BSD-mærkat for enhed: %s\n"
+
+#: fdisk/fdiskbsdlabel.c:129 fdisk/fdisk.c:386 fdisk/fdisk.c:405
+#: fdisk/fdisk.c:423 fdisk/fdisk.c:430 fdisk/fdisk.c:453 fdisk/fdisk.c:471
+#: fdisk/fdisk.c:487 fdisk/fdisk.c:503
+msgid "Command action"
+msgstr "Kommando beskrivelse"
+
+#: fdisk/fdiskbsdlabel.c:130
+msgid "   d   delete a BSD partition"
+msgstr "   d    slet en BSD-partition"
+
+#: fdisk/fdiskbsdlabel.c:131
+msgid "   e   edit drive data"
+msgstr "   e    redigér drev-data"
+
+#: fdisk/fdiskbsdlabel.c:132
+msgid "   i   install bootstrap"
+msgstr "   i    installer opstarts-igangsætter ('bootstrap')"
+
+#: fdisk/fdiskbsdlabel.c:133
+msgid "   l   list known filesystem types"
+msgstr "   l    vis liste over filsystemtyper"
+
+#: fdisk/fdiskbsdlabel.c:134 fdisk/fdisk.c:392 fdisk/fdisk.c:411
+#: fdisk/fdisk.c:424 fdisk/fdisk.c:436 fdisk/fdisk.c:461 fdisk/fdisk.c:478
+#: fdisk/fdisk.c:494 fdisk/fdisk.c:512
+msgid "   m   print this menu"
+msgstr "   m    vis denne menu"
+
+#: fdisk/fdiskbsdlabel.c:135
+msgid "   n   add a new BSD partition"
+msgstr "   n    tilføj en ny BSD-partition"
+
+#: fdisk/fdiskbsdlabel.c:136
+msgid "   p   print BSD partition table"
+msgstr "   p    vis BSD-partitionstabel"
+
+#: fdisk/fdiskbsdlabel.c:137 fdisk/fdisk.c:396 fdisk/fdisk.c:415
+#: fdisk/fdisk.c:426 fdisk/fdisk.c:440 fdisk/fdisk.c:463 fdisk/fdisk.c:480
+#: fdisk/fdisk.c:496 fdisk/fdisk.c:514
+msgid "   q   quit without saving changes"
+msgstr "   q    afslut uden at gemme ændringerne"
+
+#: fdisk/fdiskbsdlabel.c:138 fdisk/fdisk.c:464 fdisk/fdisk.c:481
+#: fdisk/fdisk.c:497 fdisk/fdisk.c:515
+msgid "   r   return to main menu"
+msgstr "   r    returnér til hovedmenuen"
+
+#: fdisk/fdiskbsdlabel.c:139
+msgid "   s   show complete disklabel"
+msgstr "   s    vis hele diskmærkatet"
+
+#: fdisk/fdiskbsdlabel.c:140
+msgid "   t   change a partition's filesystem id"
+msgstr "   t    ændr filsystem-id for en partition"
+
+#: fdisk/fdiskbsdlabel.c:141
+msgid "   u   change units (cylinders/sectors)"
+msgstr "   u    skift enheder (cylindre/sektorer)"
+
+#: fdisk/fdiskbsdlabel.c:142
+msgid "   w   write disklabel to disk"
+msgstr "   w    skriv diskmærkatet til disken"
+
+#: fdisk/fdiskbsdlabel.c:144
+msgid "   x   link BSD partition to non-BSD partition"
+msgstr "   x   lænk en BSD-partition til en ikke-BSD-partition"
+
+#: fdisk/fdiskbsdlabel.c:176
+#, c-format
+msgid "Partition %s has invalid starting sector 0.\n"
+msgstr "Partition %s har en ugyldig startsektor 0.\n"
+
+#: fdisk/fdiskbsdlabel.c:180
+#, c-format
+msgid "Reading disklabel of %s at sector %d.\n"
+msgstr "Læser diskmærkat for %s fra sektor %d.\n"
+
+#: fdisk/fdiskbsdlabel.c:190
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr "Der er ingen *BSD-partitioner på %s.\n"
+
+#: fdisk/fdiskbsdlabel.c:204
+msgid "BSD disklabel command (m for help): "
+msgstr "BSD-diskmærkat kommando (m for hjælp): "
+
+#: fdisk/fdiskbsdlabel.c:284 fdisk/fdisk.c:2052 fdisk/fdisksgilabel.c:651
+#: fdisk/fdisksunlabel.c:431
+#, c-format
+msgid "First %s"
+msgstr "Første %s"
+
+#: fdisk/fdiskbsdlabel.c:291 fdisk/fdisksunlabel.c:488
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr "Sidste %s eller +størrelse eller +størrelseM eller +størrelseK"
+
+#: fdisk/fdiskbsdlabel.c:318
+#, c-format
+msgid "type: %s\n"
+msgstr "type: %s\n"
+
+#: fdisk/fdiskbsdlabel.c:320
+#, c-format
+msgid "type: %d\n"
+msgstr "type: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:321
+#, c-format
+msgid "disk: %.*s\n"
+msgstr "disk: %.*s\n"
+
+#: fdisk/fdiskbsdlabel.c:322
+#, c-format
+msgid "label: %.*s\n"
+msgstr "mærkat: %.*s\n"
+
+#: fdisk/fdiskbsdlabel.c:323
+#, c-format
+msgid "flags:"
+msgstr "flag:"
+
+#: fdisk/fdiskbsdlabel.c:325
+#, c-format
+msgid " removable"
+msgstr " flytbar"
+
+#: fdisk/fdiskbsdlabel.c:327
+#, c-format
+msgid " ecc"
+msgstr " ecc"
+
+#: fdisk/fdiskbsdlabel.c:329
+#, c-format
+msgid " badsect"
+msgstr " fjlsekt"
+
+#: fdisk/fdiskbsdlabel.c:333
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr "byte/sektor: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:334
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr "sektorer/spor: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:335
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr "spor/cylinder: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:336
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr "sektorer/cylinder: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:337
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr "cylindre: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:338
+#, c-format
+msgid "rpm: %d\n"
+msgstr "omdr. per minut: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:339
+#, c-format
+msgid "interleave: %d\n"
+msgstr "interleave: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:340
+#, c-format
+msgid "trackskew: %d\n"
+msgstr "sporafvigelse: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:341
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr "cylinderafvigelse: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:342
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr "hovedskift: %ld\t\t# millisekunder\n"
+
+#: fdisk/fdiskbsdlabel.c:344
+#, c-format
+msgid "track-to-track seek: %ld\t# milliseconds\n"
+msgstr "spor-til-spor søgning: %ld\t# millisekunder\n"
+
+#: fdisk/fdiskbsdlabel.c:346
+#, c-format
+msgid "drivedata: "
+msgstr "drevdata: "
+
+#: fdisk/fdiskbsdlabel.c:355
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+"\n"
+"%d partitioner:\n"
+
+#: fdisk/fdiskbsdlabel.c:356
+#, c-format
+msgid "#       start       end      size     fstype   [fsize bsize   cpg]\n"
+msgstr "#       start       slut     størr.   fstype   [fstr. bstr.   cpg]\n"
+
+#: fdisk/fdiskbsdlabel.c:405 fdisk/fdiskbsdlabel.c:408
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr "Skiver diskmærkat til %s.\n"
+
+#: fdisk/fdiskbsdlabel.c:420 fdisk/fdiskbsdlabel.c:422
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr "%s har intet diskmærkat.\n"
+
+#: fdisk/fdiskbsdlabel.c:427
+msgid "Do you want to create a disklabel? (y/n) "
+msgstr "Vil du oprette et diskmærkat? (j/n) "
+
+#: fdisk/fdiskbsdlabel.c:467
+msgid "bytes/sector"
+msgstr "byte/sektor"
+
+#: fdisk/fdiskbsdlabel.c:468
+msgid "sectors/track"
+msgstr "sektorer/spor"
+
+#: fdisk/fdiskbsdlabel.c:469
+msgid "tracks/cylinder"
+msgstr "spor/cylinder"
+
+#: fdisk/fdiskbsdlabel.c:470 fdisk/fdisk.c:648 fdisk/fdisk.c:1357
+#: fdisk/sfdisk.c:945
+msgid "cylinders"
+msgstr "cylindre"
+
+#: fdisk/fdiskbsdlabel.c:477
+msgid "sectors/cylinder"
+msgstr "sektorer/cylinder"
+
+#: fdisk/fdiskbsdlabel.c:481
+#, c-format
+msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
+msgstr "Skal være <= sektorer/spor * spor/cylinder (standard).\n"
+
+#: fdisk/fdiskbsdlabel.c:483
+msgid "rpm"
+msgstr "omdr. per minut"
+
+#: fdisk/fdiskbsdlabel.c:484
+msgid "interleave"
+msgstr "interleave"
+
+#: fdisk/fdiskbsdlabel.c:485
+msgid "trackskew"
+msgstr "sporafvigelse"
+
+#: fdisk/fdiskbsdlabel.c:486
+msgid "cylinderskew"
+msgstr "cylinderafvigelse"
+
+#: fdisk/fdiskbsdlabel.c:487
+msgid "headswitch"
+msgstr "hovedskift"
+
+#: fdisk/fdiskbsdlabel.c:488
+msgid "track-to-track seek"
+msgstr "spor-til-spor søgning"
+
+#: fdisk/fdiskbsdlabel.c:529
+#, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr "Opstarts-igangsætter: %sopstart -> opstart%s (%s): "
+
+#: fdisk/fdiskbsdlabel.c:554
+#, c-format
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr "Opstarts-igangsætter overlapper med diskmærkatet!\n"
+
+#: fdisk/fdiskbsdlabel.c:575 fdisk/fdiskbsdlabel.c:577
+#, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr "Opstarts-igangsætter installeret på %s.\n"
+
+#: fdisk/fdiskbsdlabel.c:599
+#, c-format
+msgid "Partition (a-%c): "
+msgstr "Partition (a-%c): "
+
+#: fdisk/fdiskbsdlabel.c:618 fdisk/fdisk.c:2199
+#, c-format
+msgid "The maximum number of partitions has been created\n"
+msgstr "Det maksimale antal partitioner er blevet oprettet\n"
+
+#: fdisk/fdiskbsdlabel.c:630
+#, c-format
+msgid "This partition already exists.\n"
+msgstr "Denne partition eksisterer allerede.\n"
+
+#: fdisk/fdiskbsdlabel.c:757
+#, c-format
+msgid "Warning: too many partitions (%d, maximum is %d).\n"
+msgstr "Advarsel: for mange partitioner (%d, maksimum er %d).\n"
+
+#: fdisk/fdiskbsdlabel.c:805
+#, c-format
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+"\n"
+"Synkroniserer diske.\n"
+
+#: fdisk/fdisk.c:244
+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 ""
+"Brug: fdisk [-b SSZ] [-u] DISK     Skift partitionstabel\n"
+"      fdisk -l [-b SSZ] [-u] DISK  Vis partitionstabel(ler)\n"
+"      fdisk -s PARTITION           Vis partitionsstørrelser i blokke\n"
+"      fdisk -v                     Vis fdisks version\n"
+"DISK er f.eks. /dev/hdb eller /dev/sda\n"
+"PARTITION er f.eks. /dev/hda7\n"
+"-u: angiv start og slut som sektornumre (i stedet for cylindernumre)\n"
+"-b 2048: (for visse MO-drev) brug sektorer på 2048 byte\n"
+
+#: fdisk/fdisk.c:256
+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 ""
+"Brug: fdisk [-l] [-b SSZ] [-u] enhed\n"
+"F.eks.: fdisk /dev/hda  (for den første IDE-disk)\n"
+" eller: fdisk /dev/sdc  (for den tredie SCSI-disk)\n"
+" eller: fdisk /dev/eda  (for det første PS/2 ESDI-drev)\n"
+" eller: fdisk /dev/rd/c0d0  eller: fdisk /dev/ida/c0d0  (for RAID-enheder)\n"
+"  ...\n"
+
+#: fdisk/fdisk.c:265
+#, c-format
+msgid "Unable to open %s\n"
+msgstr "Kunne ikke åbne %s\n"
+
+#: fdisk/fdisk.c:269
+#, c-format
+msgid "Unable to read %s\n"
+msgstr "Kunne ikke læse %s\n"
+
+#: fdisk/fdisk.c:273
+#, c-format
+msgid "Unable to seek on %s\n"
+msgstr "Kunne ikke søge til %s\n"
+
+#: fdisk/fdisk.c:277
+#, c-format
+msgid "Unable to write %s\n"
+msgstr "Kunne ikke skrive %s\n"
+
+#: fdisk/fdisk.c:281
+#, c-format
+msgid "BLKGETSIZE ioctl failed on %s\n"
+msgstr "BLKGETSIZE ioctl mislykkedes på %s\n"
+
+#: fdisk/fdisk.c:285
+msgid "Unable to allocate any more memory\n"
+msgstr "Kunne ikke allokere mere hukommelse\n"
+
+#: fdisk/fdisk.c:288
+msgid "Fatal error\n"
+msgstr "Fatal fejl\n"
+
+#: fdisk/fdisk.c:387
+msgid "   a   toggle a read only flag"
+msgstr "   a    skift et skrivebeskyttelses-flag"
+
+#: fdisk/fdisk.c:388 fdisk/fdisk.c:432
+msgid "   b   edit bsd disklabel"
+msgstr "   b    skift bsd-diskmærkat"
+
+#: fdisk/fdisk.c:389
+msgid "   c   toggle the mountable flag"
+msgstr "   c    skift montérbart-flag"
+
+#: fdisk/fdisk.c:390 fdisk/fdisk.c:409 fdisk/fdisk.c:434
+msgid "   d   delete a partition"
+msgstr "   d    slet en partition"
+
+#: fdisk/fdisk.c:391 fdisk/fdisk.c:410 fdisk/fdisk.c:435
+msgid "   l   list known partition types"
+msgstr "   l    vis liste over kendte partitionstyper"
+
+#: fdisk/fdisk.c:393 fdisk/fdisk.c:412 fdisk/fdisk.c:437
+msgid "   n   add a new partition"
+msgstr "   n    tilføj en ny partition"
+
+#: fdisk/fdisk.c:394 fdisk/fdisk.c:413 fdisk/fdisk.c:425 fdisk/fdisk.c:438
+msgid "   o   create a new empty DOS partition table"
+msgstr "   o    opret en ny, tom DOS-partitionstabel"
+
+#: fdisk/fdisk.c:395 fdisk/fdisk.c:414 fdisk/fdisk.c:439 fdisk/fdisk.c:462
+#: fdisk/fdisk.c:479 fdisk/fdisk.c:495 fdisk/fdisk.c:513
+msgid "   p   print the partition table"
+msgstr "   p    vis partitionstabellen"
+
+#: fdisk/fdisk.c:397 fdisk/fdisk.c:416 fdisk/fdisk.c:427 fdisk/fdisk.c:441
+msgid "   s   create a new empty Sun disklabel"
+msgstr "   s    opret en ny, tom Sun-diskmærkat"
+
+#: fdisk/fdisk.c:398 fdisk/fdisk.c:417 fdisk/fdisk.c:442
+msgid "   t   change a partition's system id"
+msgstr "   t    skift system-id for en partition"
+
+#: fdisk/fdisk.c:399 fdisk/fdisk.c:418 fdisk/fdisk.c:443
+msgid "   u   change display/entry units"
+msgstr "   u    skift enheder for visning/indtastning"
+
+#: fdisk/fdisk.c:400 fdisk/fdisk.c:419 fdisk/fdisk.c:444 fdisk/fdisk.c:466
+#: fdisk/fdisk.c:483 fdisk/fdisk.c:499 fdisk/fdisk.c:517
+msgid "   v   verify the partition table"
+msgstr "   v    verificér partitionstabellen"
+
+#: fdisk/fdisk.c:401 fdisk/fdisk.c:420 fdisk/fdisk.c:445 fdisk/fdisk.c:467
+#: fdisk/fdisk.c:484 fdisk/fdisk.c:500 fdisk/fdisk.c:518
+msgid "   w   write table to disk and exit"
+msgstr "   w    skriv partitionstabel til disk og afslut"
+
+#: fdisk/fdisk.c:402 fdisk/fdisk.c:446
+msgid "   x   extra functionality (experts only)"
+msgstr "   x    ekstra funktionalitet (kun for eksperter)"
+
+#: fdisk/fdisk.c:406
+msgid "   a   select bootable partition"
+msgstr "   a    vælg en opstartbar partition"
+
+#: fdisk/fdisk.c:407
+msgid "   b   edit bootfile entry"
+msgstr "   b    redigér indgang i opstartsfil"
+
+#: fdisk/fdisk.c:408
+msgid "   c   select sgi swap partition"
+msgstr "   c    vælg sgi swap-partition"
+
+#: fdisk/fdisk.c:431
+msgid "   a   toggle a bootable flag"
+msgstr "   a    skift opstartbar-flaget"
+
+#: fdisk/fdisk.c:433
+msgid "   c   toggle the dos compatibility flag"
+msgstr "   c    skift DOS-kompatilitets-flaget"
+
+#: fdisk/fdisk.c:454
+msgid "   a   change number of alternate cylinders"
+msgstr "   a    ændr antallet af alternative cylindre"
+
+#: fdisk/fdisk.c:455 fdisk/fdisk.c:473 fdisk/fdisk.c:489 fdisk/fdisk.c:505
+msgid "   c   change number of cylinders"
+msgstr "   c    ændr antallet af cylindre"
+
+#: fdisk/fdisk.c:456 fdisk/fdisk.c:474 fdisk/fdisk.c:490 fdisk/fdisk.c:506
+msgid "   d   print the raw data in the partition table"
+msgstr "   d    vis rådataene fra partitionstabellen"
+
+#: fdisk/fdisk.c:457
+msgid "   e   change number of extra sectors per cylinder"
+msgstr "   e    ændr antallet af ekstra sektorer per cylinder"
+
+#: fdisk/fdisk.c:458 fdisk/fdisk.c:477 fdisk/fdisk.c:493 fdisk/fdisk.c:510
+msgid "   h   change number of heads"
+msgstr "   h    ændr antallet af hoveder"
+
+#: fdisk/fdisk.c:459
+msgid "   i   change interleave factor"
+msgstr "   i   ændr interleavefaktor"
+
+#: fdisk/fdisk.c:460
+msgid "   o   change rotation speed (rpm)"
+msgstr "   o    ændr rotationshastighed (omdr. per minut)"
+
+#: fdisk/fdisk.c:465 fdisk/fdisk.c:482 fdisk/fdisk.c:498 fdisk/fdisk.c:516
+msgid "   s   change number of sectors/track"
+msgstr "   s    ændr antallet af sektorer/spor"
+
+#: fdisk/fdisk.c:468
+msgid "   y   change number of physical cylinders"
+msgstr "   y   ændr antallet af fysiske cylindre"
+
+#: fdisk/fdisk.c:472 fdisk/fdisk.c:488 fdisk/fdisk.c:504
+msgid "   b   move beginning of data in a partition"
+msgstr "   b    flyt starten på data i en partition"
+
+#: fdisk/fdisk.c:475 fdisk/fdisk.c:491 fdisk/fdisk.c:507
+msgid "   e   list extended partitions"
+msgstr "   e    vis udvidede partitioner"
+
+#: fdisk/fdisk.c:476 fdisk/fdisk.c:492 fdisk/fdisk.c:509
+msgid "   g   create an IRIX (SGI) partition table"
+msgstr "   g    opret en IRIX (SGI) partitionstabel"
+
+#: fdisk/fdisk.c:508
+msgid "   f   fix partition order"
+msgstr "   f    ordn partitionsrækkefølgen"
+
+#: fdisk/fdisk.c:511
+#, fuzzy
+msgid "   i   change the disk identifier"
+msgstr "   u    skift enheder for visning/indtastning"
+
+#: fdisk/fdisk.c:627
+#, c-format
+msgid "You must set"
+msgstr "Du skal angive"
+
+#: fdisk/fdisk.c:644
+msgid "heads"
+msgstr "hoveder"
+
+#: fdisk/fdisk.c:646 fdisk/fdisk.c:1357 fdisk/sfdisk.c:945
+msgid "sectors"
+msgstr "sektorer"
+
+#: fdisk/fdisk.c:652
+#, 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 'Ekstra funktioner'.\n"
+
+#: fdisk/fdisk.c:653
+msgid " and "
+msgstr " og "
+
+#: fdisk/fdisk.c:670
+#, c-format
+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"
+"Antallet af cylindre er sat til %d for denne disk.\n"
+"Det er der intet galt med, men da det er større end 1024,\n"
+"kan det i visse opsætninger give problemer med:\n"
+"1) programmer, der kører tidligt i opstarten (bl.a. gamle LILO-versioner)\n"
+"2) opstarts- og partitioneringsprogrammer fra andre OS'er\n"
+"   (Bl.a. DOS FDISK og OS/2 FDISK)\n"
+
+#: fdisk/fdisk.c:683
+#, 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 %d-byte sectors. Use parted(1) and GUID \n"
+"partition table format (GPT).\n"
+"\n"
+msgstr ""
+
+#: fdisk/fdisk.c:708
+#, c-format
+msgid "Bad offset in primary extended partition\n"
+msgstr "Ugyldig forskydning i primær udvidet partition\n"
+
+#: fdisk/fdisk.c:722
+#, 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"
+
+#: fdisk/fdisk.c:741
+#, c-format
+msgid "Warning: extra link pointer in partition table %d\n"
+msgstr "Advarsel: ekstra lænkepeger (link pointer) i partitionstabel %d\n"
+
+#: fdisk/fdisk.c:749
+#, c-format
+msgid "Warning: ignoring extra data in partition table %d\n"
+msgstr "Advarsel: ignorerer ekstra data i partitionstabel %d\n"
+
+#: fdisk/fdisk.c:782
+#, fuzzy, c-format
+msgid "omitting empty partition (%d)\n"
+msgstr "Advarsel: tom partition\n"
+
+#: fdisk/fdisk.c:801
+#, c-format
+msgid "Disk identifier: 0x%08x\n"
+msgstr ""
+
+#: fdisk/fdisk.c:810
+#, c-format
+msgid "New disk identifier (current 0x%08x): "
+msgstr ""
+
+#: fdisk/fdisk.c:829
+#, fuzzy, c-format
+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 et ny DOS diskmærkat. Ændringer vil holdes i hukommelsen,\n"
+"indtil du bestemmer dig for at gemme dem. Derefter kan det tidligere\n"
+"indhold naturligvis ikke genskabes\n"
+"\n"
+
+#: fdisk/fdisk.c:861
+#, c-format
+msgid "Note: sector size is %d (not %d)\n"
+msgstr "Bemærk: sektorstørrelsen er %d (ikke %d)\n"
+
+#: fdisk/fdisk.c:990
+#, c-format
+msgid "You will not be able to write the partition table.\n"
+msgstr "Du vil ikke kunne gemme partitionstabellen.\n"
+
+#: fdisk/fdisk.c:1022
+#, c-format
+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"
+"BSD. Brug 'b'-kommandoen for at gå i BSD-tilstand.\n"
+
+#: fdisk/fdisk.c:1032
+#, c-format
+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 et Sun-, SGI- "
+"eller OSF-diskmærkat.\n"
+
+#: fdisk/fdisk.c:1049
+#, c-format
+msgid "Internal error\n"
+msgstr "Intern fejl\n"
+
+#: fdisk/fdisk.c:1062
+#, c-format
+msgid "Ignoring extra extended partition %d\n"
+msgstr "Ignorerer ekstra udvidet partition %d\n"
+
+#: fdisk/fdisk.c:1074
+#, 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' (skriv)\n"
+
+#: fdisk/fdisk.c:1096
+#, c-format
+msgid ""
+"\n"
+"got EOF thrice - exiting..\n"
+msgstr ""
+"\n"
+"fik filslut (EOF) tre gange - afslutter..\n"
+
+#: fdisk/fdisk.c:1135
+msgid "Hex code (type L to list codes): "
+msgstr "Hex-kode (tryk L for en liste over koderne): "
+
+#: fdisk/fdisk.c:1175
+#, c-format
+msgid "%s (%u-%u, default %u): "
+msgstr "%s (%u-%u, standard %u): "
+
+#: fdisk/fdisk.c:1242
+#, c-format
+msgid "Unsupported suffix: '%s'.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1243
+#, c-format
+msgid ""
+"Supported: 10^N: KB (KiloByte), MB (MegaByte), GB (GigaByte)\n"
+"            2^N: K  (KibiByte), M  (MebiByte), G  (GibiByte)\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1269
+#, c-format
+msgid "Using default value %u\n"
+msgstr "Bruger standardværdi %u\n"
+
+#: fdisk/fdisk.c:1273
+#, c-format
+msgid "Value out of range.\n"
+msgstr "Værdi udenfor området.\n"
+
+#: fdisk/fdisk.c:1283
+msgid "Partition number"
+msgstr "Partitionsnummer"
+
+#: fdisk/fdisk.c:1294
+#, c-format
+msgid "Warning: partition %d has empty type\n"
+msgstr "Advarsel: partition %d er af typen 'tom'\n"
+
+#: fdisk/fdisk.c:1316 fdisk/fdisk.c:1342
+#, c-format
+msgid "Selected partition %d\n"
+msgstr "Partition %d er valgt\n"
+
+#: fdisk/fdisk.c:1319
+#, c-format
+msgid "No partition is defined yet!\n"
+msgstr "Ingen partitioner defineret!\n"
+
+#: fdisk/fdisk.c:1345
+#, c-format
+msgid "All primary partitions have been defined already!\n"
+msgstr "Alle primære partitioner er allerede definerede!\n"
+
+#: fdisk/fdisk.c:1355
+msgid "cylinder"
+msgstr "cylinder"
+
+#: fdisk/fdisk.c:1355
+msgid "sector"
+msgstr "sektor"
+
+#: fdisk/fdisk.c:1364
+#, c-format
+msgid "Changing display/entry units to %s\n"
+msgstr "Skifter enheder for visning/indtastning til %s\n"
+
+#: fdisk/fdisk.c:1375
+#, c-format
+msgid "WARNING: Partition %d is an extended partition\n"
+msgstr "ADVARSEL: Partition %d er en udvidet partition\n"
+
+#: fdisk/fdisk.c:1386
+#, c-format
+msgid "DOS Compatibility flag is set\n"
+msgstr "DOS-kompatilitetsflag er sat\n"
+
+#: fdisk/fdisk.c:1390
+#, c-format
+msgid "DOS Compatibility flag is not set\n"
+msgstr "DOS-kompatilitetsflag er ikke sat\n"
+
+#: fdisk/fdisk.c:1490
+#, c-format
+msgid "Partition %d does not exist yet!\n"
+msgstr "Partition %d eksisterer ikke endnu!\n"
+
+#: fdisk/fdisk.c:1495
+#, 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 frit område for mange systemer\n"
+"(men ikke for Linux). At have type 0 partitioner\n"
+"er nok uklogt. Du kan slette en partition med\n"
+"'d'-kommandoen.\n"
+
+#: fdisk/fdisk.c:1504
+#, 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"
+
+#: fdisk/fdisk.c:1513
+#, 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 'Hel disk' (5), da\n"
+"SunOS/Solaris forventer det og selv Linux foretrækker det.\n"
+"\n"
+
+#: fdisk/fdisk.c:1519
+#, 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 ""
+"Overvej at lade partition 9 være disk-hovede ('volume header') (0),\n"
+"og partition 11 som 'entire volume' (6), da IRIX forventer det.\n"
+"\n"
+
+#: fdisk/fdisk.c:1536
+#, c-format
+msgid "Changed system type of partition %d to %x (%s)\n"
+msgstr "Ændrede systemtypen for partition %d til %x (%s)\n"
+
+#: fdisk/fdisk.c:1539
+#, fuzzy, c-format
+msgid "System type of partition %d is unchanged: %x (%s)\n"
+msgstr "Ændrede systemtypen for partition %d til %x (%s)\n"
+
+#: fdisk/fdisk.c:1591
+#, c-format
+msgid "Partition %d has different physical/logical beginnings (non-Linux?):\n"
+msgstr "Partition %d har forskellig fysisk/logisk begyndelse (ikke-Linux?):\n"
+
+#: fdisk/fdisk.c:1593 fdisk/fdisk.c:1601 fdisk/fdisk.c:1610 fdisk/fdisk.c:1620
+#, c-format
+msgid "     phys=(%d, %d, %d) "
+msgstr "     fys=(%d, %d, %d) "
+
+#: fdisk/fdisk.c:1594 fdisk/fdisk.c:1602
+#, c-format
+msgid "logical=(%d, %d, %d)\n"
+msgstr "logisk=(%d, %d, %d)\n"
+
+#: fdisk/fdisk.c:1599
+#, c-format
+msgid "Partition %d has different physical/logical endings:\n"
+msgstr "Partition %d har forskellig fysisk/logisk endelse:\n"
+
+#: fdisk/fdisk.c:1608
+#, c-format
+msgid "Partition %i does not start on cylinder boundary:\n"
+msgstr "Partition %i starter ikke på en cylinder-grænse:\n"
+
+#: fdisk/fdisk.c:1611
+#, c-format
+msgid "should be (%d, %d, 1)\n"
+msgstr "burde være (%d, %d, 1)\n"
+
+#: fdisk/fdisk.c:1617
+#, c-format
+msgid "Partition %i does not end on cylinder boundary.\n"
+msgstr "Partition %i slutter ikke på en cylindergrænse.\n"
+
+#: fdisk/fdisk.c:1621
+#, c-format
+msgid "should be (%d, %d, %d)\n"
+msgstr "burde være (%d, %d, %d)\n"
+
+#: fdisk/fdisk.c:1633
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld MB, %lld bytes\n"
+msgstr ""
+"\n"
+"Disk %s: %ld Mb, %lld byte\n"
+
+#: fdisk/fdisk.c:1637
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld.%ld GB, %lld bytes\n"
+msgstr ""
+"\n"
+"Disk %s: %ld.%ld Gb, %lld byte\n"
+
+#: fdisk/fdisk.c:1640
+#, fuzzy, c-format
+msgid "%d heads, %llu sectors/track, %d cylinders"
+msgstr "%d hoveder, %d sektorer/spor, %d cylindre"
+
+#: fdisk/fdisk.c:1643
+#, c-format
+msgid ", total %llu sectors"
+msgstr ", i alt %llu sektorer"
+
+#: fdisk/fdisk.c:1646
+#, fuzzy, c-format
+msgid "Units = %s of %d * %d = %d bytes\n"
+msgstr ""
+"Enheder = %s af %d * %d = %d byte\n"
+"\n"
+
+#: fdisk/fdisk.c:1757
+#, 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"
+
+#: fdisk/fdisk.c:1785
+#, fuzzy, c-format
+msgid "Done.\n"
+msgstr ""
+"Færdig\n"
+"\n"
+
+#: fdisk/fdisk.c:1813
+#, 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"
+
+#: fdisk/fdisk.c:1826
+#, c-format
+msgid "%*s Boot      Start         End      Blocks   Id  System\n"
+msgstr "%*s Opstart   Start         Slut     Blokke   Id  System\n"
+
+#: fdisk/fdisk.c:1827 fdisk/fdisksgilabel.c:223 fdisk/fdisksunlabel.c:603
+msgid "Device"
+msgstr "Enhed"
+
+#: fdisk/fdisk.c:1864
+#, c-format
+msgid ""
+"\n"
+"Partition table entries are not in disk order\n"
+msgstr ""
+"\n"
+"Partitionstabellens indgange er ikke i disk-rækkefølge\n"
+
+#: fdisk/fdisk.c:1874
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %d cylinders\n"
+"\n"
+msgstr ""
+"\n"
+"Disk %s: %d hoveder, %d sektorer, %d cylindre\n"
+"\n"
+
+#: fdisk/fdisk.c:1876
+#, 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"
+
+#: fdisk/fdisk.c:1922
+#, c-format
+msgid "Warning: partition %d contains sector 0\n"
+msgstr "Advarsel: partition %d indeholder sektor 0\n"
+
+#: fdisk/fdisk.c:1925
+#, 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"
+
+#: fdisk/fdisk.c:1928
+#, fuzzy, c-format
+msgid "Partition %d: sector %d greater than maximum %llu\n"
+msgstr "Partition %d: sektor %d er større end de maksimale %d\n"
+
+#: fdisk/fdisk.c:1931
+#, c-format
+msgid "Partitions %d: cylinder %d greater than maximum %d\n"
+msgstr "Partitionerne %d: cylinder %d større end de maksimale %d\n"
+
+#: fdisk/fdisk.c:1935
+#, 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"
+
+#: fdisk/fdisk.c:1968
+#, c-format
+msgid "Warning: bad start-of-data in partition %d\n"
+msgstr "Advarsel: ugyldig start-på-data i partition %d\n"
+
+#: fdisk/fdisk.c:1976
+#, c-format
+msgid "Warning: partition %d overlaps partition %d.\n"
+msgstr "Advarsel: partition %d overlapper med partition %d.\n"
+
+#: fdisk/fdisk.c:1996
+#, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr "Advarsel: partition %d er tom\n"
+
+#: fdisk/fdisk.c:2001
+#, c-format
+msgid "Logical partition %d not entirely in partition %d\n"
+msgstr "Logisk partition %d ikke fuldstændigt indenfor partition %d\n"
+
+#: fdisk/fdisk.c:2007
+#, fuzzy, c-format
+msgid "Total allocated sectors %llu greater than the maximum %llu\n"
+msgstr ""
+"Det totale antal allokerede sektorer %d er større end de maksimale %lld\n"
+
+#: fdisk/fdisk.c:2010
+#, fuzzy, c-format
+msgid "%lld unallocated %d-byte sectors\n"
+msgstr "%lld ikke-allokerede sektorer\n"
+
+#: fdisk/fdisk.c:2025 fdisk/fdisksgilabel.c:633 fdisk/fdisksunlabel.c:416
+#, 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"
+
+#: fdisk/fdisk.c:2067
+#, fuzzy, c-format
+msgid "Sector %llu is already allocated\n"
+msgstr "Sektor %d er allerede allokeret\n"
+
+#: fdisk/fdisk.c:2103
+#, c-format
+msgid "No free sectors available\n"
+msgstr "Ingen tilgængelige frie sektorer\n"
+
+#: fdisk/fdisk.c:2112
+#, c-format
+msgid "Last %1$s, +%2$s or +size{K,M,G}"
+msgstr ""
+
+#: fdisk/fdisk.c:2178
+#, 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-diskmærkater\n"
+"\tOpret en ny, som DOS-partitionstabel først, hvis du vil\n"
+"\ttilføje DOS-partitioner. (Brug o.)\n"
+"\tADVARSEL: Dette vil ødelægge diskens nuværende indhold.\n"
+
+#: fdisk/fdisk.c:2187
+#, 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 ""
+"\tBeklager, - denne fdisk kan ikke håndtere AIX-diskmærkater\n"
+"\tOpret en ny, som DOS-partitionstabel først, hvis du vil\n"
+"\ttilføje DOS-partitioner. (Brug o.)\n"
+"\tADVARSEL: Dette vil ødelægge diskens nuværende indhold.\n"
+
+#: fdisk/fdisk.c:2207
+#, c-format
+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"
+
+#: fdisk/fdisk.c:2210
+#, c-format
+msgid "All logical partitions are in use\n"
+msgstr "Samtlige logiske partitioner er i brug\n"
+
+#: fdisk/fdisk.c:2211
+#, c-format
+msgid "Adding a primary partition\n"
+msgstr "Tilføjer en primærpartition\n"
+
+#: fdisk/fdisk.c:2216
+#, c-format
+msgid ""
+"Command action\n"
+"   %s\n"
+"   p   primary partition (1-4)\n"
+msgstr ""
+"Kommando beskrivelse\n"
+"   %s\n"
+"   p    primær partition (1-4)\n"
+
+#: fdisk/fdisk.c:2218
+msgid "l   logical (5 or over)"
+msgstr "l    logisk (5 eller derover)"
+
+#: fdisk/fdisk.c:2218
+msgid "e   extended"
+msgstr "e    udvidet"
+
+#: fdisk/fdisk.c:2237
+#, c-format
+msgid "Invalid partition number for type `%c'\n"
+msgstr "Ugyldigt partitionsnummer for type '%c'\n"
+
+#: fdisk/fdisk.c:2273
+#, c-format
+msgid ""
+"The partition table has been altered!\n"
+"\n"
+msgstr ""
+"Partitionstabellen er ændret!\n"
+"\n"
+
+#: fdisk/fdisk.c:2287
+#, c-format
+msgid "Calling ioctl() to re-read partition table.\n"
+msgstr "Kalder ioctl() for at genindlæse partitionstabellen.\n"
+
+#: fdisk/fdisk.c:2296
+#, fuzzy, c-format
+msgid ""
+"\n"
+"WARNING: Re-reading the partition table failed with error %d: %s.\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 %d: %s.\n"
+"Denne kerne bruger stadig den gamle tabel.\n"
+"Den nye tabel vil blive brugt fra næste genstart.\n"
+
+#: fdisk/fdisk.c:2304
+#, 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 fdisk manual-siden for\n"
+"yderligere information, hvis du har oprettet eller\n"
+"ændret DOS 6.x partitioner.\n"
+
+#: fdisk/fdisk.c:2310
+#, c-format
+msgid ""
+"\n"
+"Error closing file\n"
+msgstr ""
+"\n"
+"Fejl ved lukning af fil\n"
+
+#: fdisk/fdisk.c:2314
+#, c-format
+msgid "Syncing disks.\n"
+msgstr "Synkroniserer diske.\n"
+
+#: fdisk/fdisk.c:2361
+#, c-format
+msgid "Partition %d has no data area\n"
+msgstr "Partition %d har intet dataområde\n"
+
+#: fdisk/fdisk.c:2366
+msgid "New beginning of data"
+msgstr "Ny begyndelse på data"
+
+#: fdisk/fdisk.c:2382
+msgid "Expert command (m for help): "
+msgstr "Ekspert kommando (m for hjælp): "
+
+#: fdisk/fdisk.c:2395
+msgid "Number of cylinders"
+msgstr "Antal cylindre"
+
+#: fdisk/fdisk.c:2422
+msgid "Number of heads"
+msgstr "Antal hoveder"
+
+#: fdisk/fdisk.c:2449
+msgid "Number of sectors"
+msgstr "Antal sektorer"
+
+#: fdisk/fdisk.c:2452
+#, c-format
+msgid "Warning: setting sector offset for DOS compatiblity\n"
+msgstr "Advarsel: sætter sektorforskydning for DOS-kompatilitet\n"
+
+#: fdisk/fdisk.c:2511
+#, 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 ""
+
+#: fdisk/fdisk.c:2533
+#, c-format
+msgid "Disk %s doesn't contain a valid partition table\n"
+msgstr "Disk %s indeholder ikke en gyldig partitionstabel\n"
+
+#: fdisk/fdisk.c:2544
+#, c-format
+msgid "Cannot open %s\n"
+msgstr "Kunne ikke åbne %s\n"
+
+#: fdisk/fdisk.c:2563 fdisk/sfdisk.c:2618
+#, c-format
+msgid "cannot open %s\n"
+msgstr "kunne ikke åbne %s\n"
+
+#: fdisk/fdisk.c:2583
+#, c-format
+msgid "%c: unknown command\n"
+msgstr "%c: ukendt kommando\n"
+
+#: fdisk/fdisk.c:2653
+#, c-format
+msgid "This kernel finds the sector size itself - -b option ignored\n"
+msgstr "Denne kerne finder selv sektorstørrelser - tilvalget -b ignoreres\n"
+
+#: fdisk/fdisk.c:2657
+#, 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 disk-"
+"enhed\n"
+
+#: fdisk/fdisk.c:2717
+#, c-format
+msgid "Detected an OSF/1 disklabel on %s, entering disklabel mode.\n"
+msgstr "Detekterede et OSF/1 diskmærkat på %s. Går i diskmærkat-tilstand.\n"
+
+#: fdisk/fdisk.c:2727
+msgid "Command (m for help): "
+msgstr "Kommando (m for hjælp): "
+
+#: fdisk/fdisk.c:2743
+#, c-format
+msgid ""
+"\n"
+"The current boot file is: %s\n"
+msgstr ""
+"\n"
+"Den nuværende opstartfil er: %s\n"
+
+#: fdisk/fdisk.c:2745
+msgid "Please enter the name of the new boot file: "
+msgstr "Angiv venligt navnet på den ny opstartsfil: "
+
+#: fdisk/fdisk.c:2747
+#, c-format
+msgid "Boot file unchanged\n"
+msgstr "Opstartsfil uændret\n"
+
+#: fdisk/fdisk.c:2820
+#, c-format
+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"
+
+#: fdisk/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"
+"\tDer er et gyldig AIX-mærkat 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 bind-gruppe. (Ellers kan du også slette\n"
+"\t   de andre diske, hvis de ikke er spejlede.)\n"
+"\t3. Før du sletter dette fysiske bind, vær sikker på\n"
+"\t   at du fjerne disken logisk fra din AIX maskine.\n"
+"\t   (Ellers bliver du en AIXpert)."
+
+#: fdisk/fdisksgilabel.c:81
+msgid "SGI volhdr"
+msgstr "SGI bndhvd"
+
+#: fdisk/fdisksgilabel.c:82
+msgid "SGI trkrepl"
+msgstr "SGI sprrepl"
+
+#: fdisk/fdisksgilabel.c:83
+msgid "SGI secrepl"
+msgstr "SGI sekrepl"
+
+#: fdisk/fdisksgilabel.c:84
+msgid "SGI raw"
+msgstr "SGI raw"
+
+#: fdisk/fdisksgilabel.c:85
+msgid "SGI bsd"
+msgstr "SGI bsd"
+
+#: fdisk/fdisksgilabel.c:86
+msgid "SGI sysv"
+msgstr "SGI sysv"
+
+#: fdisk/fdisksgilabel.c:87
+msgid "SGI volume"
+msgstr "SGI bind"
+
+#: fdisk/fdisksgilabel.c:88
+msgid "SGI efs"
+msgstr "SGI efs"
+
+#: fdisk/fdisksgilabel.c:89
+msgid "SGI lvol"
+msgstr "SGI lvol"
+
+#: fdisk/fdisksgilabel.c:90
+msgid "SGI rlvol"
+msgstr "SGI rlvol"
+
+#: fdisk/fdisksgilabel.c:91
+msgid "SGI xfs"
+msgstr "SGI xfs"
+
+#: fdisk/fdisksgilabel.c:92
+msgid "SGI xfslog"
+msgstr "SGI xfslog"
+
+#: fdisk/fdisksgilabel.c:93
+msgid "SGI xlv"
+msgstr "SGI xlv"
+
+#: fdisk/fdisksgilabel.c:94
+msgid "SGI xvm"
+msgstr "SGI xvm"
+
+#: fdisk/fdisksgilabel.c:95 fdisk/fdisksunlabel.c:55
+msgid "Linux swap"
+msgstr "Linux swap"
+
+#: fdisk/fdisksgilabel.c:96 fdisk/fdisksunlabel.c:56
+msgid "Linux native"
+msgstr "Linux' egen"
+
+#: fdisk/fdisksgilabel.c:97 fdisk/fdisksunlabel.c:57 fdisk/i386_sys_types.c:63
+msgid "Linux LVM"
+msgstr "Linux LVM"
+
+#: fdisk/fdisksgilabel.c:98
+msgid "Linux RAID"
+msgstr "Linux RAID"
+
+#: fdisk/fdisksgilabel.c:164
+#, 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å mærkatet ikke fylde mere end 512 byte\n"
+
+#: fdisk/fdisksgilabel.c:183
+#, c-format
+msgid "Detected sgi disklabel with wrong checksum.\n"
+msgstr "Detekterede SGI diskmærkat med forkert tjeksum.\n"
+
+#: fdisk/fdisksgilabel.c:201
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors\n"
+"%d cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * %d bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disk %s (SGI diskmærkat): %d hoveder, %d sektorer\n"
+"%d cylindre, %d fysiske cylindre\n"
+"%d ekstra sekt/cyl, interleave %d:1\n"
+"%s\n"
+"Enheder = %s á %d * %d byte\n"
+"\n"
+
+#: fdisk/fdisksgilabel.c:214
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors, %d cylinders\n"
+"Units = %s of %d * %d bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disk %s (SGI disk label): %d hoveder, %d sektorer, %d cylindre\n"
+"Enheder = %s á %d * %d byte\n"
+"\n"
+
+#: fdisk/fdisksgilabel.c:221
+#, 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"
+
+#: fdisk/fdisksgilabel.c:243
+#, c-format
+msgid ""
+"----- Bootinfo -----\n"
+"Bootfile: %s\n"
+"----- Directory Entries -----\n"
+msgstr ""
+"----- Opstartsinfo -----\n"
+"Opstartsfil: %s\n"
+"----- Mappeindgange -----\n"
+
+#: fdisk/fdisksgilabel.c:251
+#, c-format
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr "%2d: %-10s sektor%5u størrelse%8u\n"
+
+#: fdisk/fdisksgilabel.c:305
+#, 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"
+
+#: fdisk/fdisksgilabel.c:311
+#, 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"
+
+#: fdisk/fdisksgilabel.c:316
+#, c-format
+msgid ""
+"\n"
+"\tBootfile must have a fully qualified pathname.\n"
+msgstr ""
+"\n"
+"\tOpstartsfil skal have et komplet stinavn.\n"
+
+#: fdisk/fdisksgilabel.c:323
+#, 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 backup \"/unix.save\".\n"
+
+#: fdisk/fdisksgilabel.c:349
+#, c-format
+msgid ""
+"\n"
+"\tBootfile is changed to \"%s\".\n"
+msgstr ""
+"\n"
+"\tOpstartsfil er ændret til \"%s\".\n"
+
+#: fdisk/fdisksgilabel.c:439
+#, c-format
+msgid "More than one entire disk entry present.\n"
+msgstr "Der er mere end én fuldstændig diskindgang.\n"
+
+#: fdisk/fdisksgilabel.c:446 fdisk/fdisksunlabel.c:388
+#, c-format
+msgid "No partitions defined\n"
+msgstr "Ingen partitioner defineret\n"
+
+#: fdisk/fdisksgilabel.c:452
+#, 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"
+
+#: fdisk/fdisksgilabel.c:454
+#, 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"
+
+#: fdisk/fdisksgilabel.c:460
+#, 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"
+
+#: fdisk/fdisksgilabel.c:466
+#, c-format
+msgid "One Partition (#11) should cover the entire disk.\n"
+msgstr "En partition (#11) bør fylde hele disken.\n"
+
+#: fdisk/fdisksgilabel.c:476
+#, c-format
+msgid "Partition %d does not start on cylinder boundary.\n"
+msgstr "Partition %d starter ikke på en cylindergrænse.\n"
+
+#: fdisk/fdisksgilabel.c:482
+#, c-format
+msgid "Partition %d does not end on cylinder boundary.\n"
+msgstr "Partition %d slutter ikke på en cylindergrænse.\n"
+
+#: fdisk/fdisksgilabel.c:489
+#, c-format
+msgid "The Partition %d and %d overlap by %d sectors.\n"
+msgstr "Partition %d og %d overlapper hinanden i %d sektorer.\n"
+
+#: fdisk/fdisksgilabel.c:497 fdisk/fdisksgilabel.c:515
+#, c-format
+msgid "Unused gap of %8u sectors - sectors %8u-%u\n"
+msgstr "Ubenyttet hul på %8u sektorer - sektor %8u-%u\n"
+
+#: fdisk/fdisksgilabel.c:526
+#, c-format
+msgid ""
+"\n"
+"The boot partition does not exist.\n"
+msgstr ""
+"\n"
+"Opstartpartitionen eksisterer ikke.\n"
+
+#: fdisk/fdisksgilabel.c:529
+#, c-format
+msgid ""
+"\n"
+"The swap partition does not exist.\n"
+msgstr ""
+"\n"
+"Swappartitionen eksisterer ikke.\n"
+
+#: fdisk/fdisksgilabel.c:533
+#, c-format
+msgid ""
+"\n"
+"The swap partition has no swap type.\n"
+msgstr ""
+"\n"
+"Swappartitionen har ikke nogen swaptype.\n"
+
+#: fdisk/fdisksgilabel.c:536
+#, c-format
+msgid "\tYou have chosen an unusual boot file name.\n"
+msgstr "\tDu har valgt et ikke-standard navn på opstartsfilen.\n"
+
+#: fdisk/fdisksgilabel.c:545
+#, c-format
+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"
+
+#: fdisk/fdisksgilabel.c:551
+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 en \"SGI volhdr\"-type. IRIX-systemet vil bruge den til\n"
+"at hente fra dets mappeværktøjer som sash og fx.\n"
+"Kun \"SGI volume\" hele-disk-sektionen kan bryde dette.\n"
+"Skriv JA, hvis du er sikker på, at du vil mærke partitionen anderledes.\n"
+
+#: fdisk/fdisksgilabel.c:556 fdisk/fdisksunlabel.c:554
+msgid "YES\n"
+msgstr "JA\n"
+
+#: fdisk/fdisksgilabel.c:581
+#, c-format
+msgid "Do You know, You got a partition overlap on the disk?\n"
+msgstr "Ved du, at du har overlappende partitioner på disken?\n"
+
+#: fdisk/fdisksgilabel.c:639
+#, c-format
+msgid "Attempting to generate entire disk entry automatically.\n"
+msgstr "Forsøger at genere hele-disk-indgang automatisk.\n"
+
+#: fdisk/fdisksgilabel.c:644
+#, c-format
+msgid "The entire disk is already covered with partitions.\n"
+msgstr "Hele disken er allerede fyldt med partitioner.\n"
+
+#: fdisk/fdisksgilabel.c:648
+#, 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"
+
+#: fdisk/fdisksgilabel.c:657 fdisk/fdisksgilabel.c:686
+#, 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"
+
+#: fdisk/fdisksgilabel.c:673
+#, 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"
+
+#: fdisk/fdisksgilabel.c:678
+#, c-format
+msgid " Last %s"
+msgstr " Sidste %s"
+
+#: fdisk/fdisksgilabel.c:708
+#, c-format
+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 et nyt SGI-diskmærkat. Ændringer vil holdes i hukommelsen\n"
+"indtil du beslutter at gemme dem. Derefter vil det tidligere indhold\n"
+"naturligvis ikke kunne genskabes.\n"
+"\n"
+
+#: fdisk/fdisksgilabel.c:731 fdisk/fdisksunlabel.c:227
+#, c-format
+msgid ""
+"Warning:  BLKGETSIZE ioctl failed on %s.  Using geometry cylinder value of %"
+"d.\n"
+"This value may be truncated for devices > 33.8 GB.\n"
+msgstr ""
+"Advarsel:  BLKGETSIZE ioctl mislykkedes på %s.  Benytter geometri-"
+"cylinderværdien %d.\n"
+"Denne værdi kan blive afkortet på enheder, der er større end 33.8 GB.\n"
+
+#: fdisk/fdisksgilabel.c:745
+#, c-format
+msgid "Trying to keep parameters of partition %d.\n"
+msgstr "Forsøger at bibeholde parametrene for partition %d.\n"
+
+#: fdisk/fdisksgilabel.c:747
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr "ID=%02x\tSTART=%d\tLÆNGDE=%d\n"
+
+#: fdisk/fdisksunlabel.c:43
+msgid "Unassigned"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:45
+msgid "SunOS root"
+msgstr "SunOS root"
+
+#: fdisk/fdisksunlabel.c:46
+msgid "SunOS swap"
+msgstr "SunOS swap"
+
+#: fdisk/fdisksunlabel.c:47
+msgid "SunOS usr"
+msgstr "SunOS usr"
+
+#: fdisk/fdisksunlabel.c:48
+msgid "Whole disk"
+msgstr "Whole disk"
+
+#: fdisk/fdisksunlabel.c:49
+msgid "SunOS stand"
+msgstr "SunOS stand"
+
+#: fdisk/fdisksunlabel.c:50
+msgid "SunOS var"
+msgstr "SunOS var"
+
+#: fdisk/fdisksunlabel.c:51
+msgid "SunOS home"
+msgstr "SunOS home"
+
+#: fdisk/fdisksunlabel.c:52
+#, fuzzy
+msgid "SunOS alt sectors"
+msgstr "%lld ikke-allokerede sektorer\n"
+
+#: fdisk/fdisksunlabel.c:53
+#, fuzzy
+msgid "SunOS cachefs"
+msgstr "SunOS home"
+
+#: fdisk/fdisksunlabel.c:54
+#, fuzzy
+msgid "SunOS reserved"
+msgstr "SunOS usr"
+
+#: fdisk/fdisksunlabel.c:58 fdisk/i386_sys_types.c:103
+msgid "Linux raid autodetect"
+msgstr "Linux raid autodetekt"
+
+#: fdisk/fdisksunlabel.c:141
+#, 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-diskmærkat 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 et helt nyt mærkat.\n"
+"(s-kommandoen i hovedmenuen\n"
+
+#: fdisk/fdisksunlabel.c:153
+#, fuzzy, c-format
+msgid "Detected sun disklabel with wrong version [0x%08x].\n"
+msgstr "Detekterede SGI diskmærkat med forkert tjeksum.\n"
+
+#: fdisk/fdisksunlabel.c:158
+#, fuzzy, c-format
+msgid "Detected sun disklabel with wrong sanity [0x%08x].\n"
+msgstr "Detekterede SGI diskmærkat med forkert tjeksum.\n"
+
+#: fdisk/fdisksunlabel.c:163
+#, fuzzy, c-format
+msgid "Detected sun disklabel with wrong num_partitions [%u].\n"
+msgstr "Detekterede SGI diskmærkat med forkert tjeksum.\n"
+
+#: fdisk/fdisksunlabel.c:168
+#, fuzzy, c-format
+msgid ""
+"Warning: Wrong values need to be fixed up and will be corrected by w(rite)\n"
+msgstr ""
+"Advarsel: ugyldigt flag 0x%04x for partitionstabel %d vil blive rettet med "
+"'w' (skriv)\n"
+
+#: fdisk/fdisksunlabel.c:198
+#, c-format
+msgid ""
+"Building a new sun disklabel. Changes will remain in memory only,\n"
+"until you decide to write them. After that, of course, the previous\n"
+"content won't be recoverable.\n"
+"\n"
+msgstr ""
+"Opbygger et nyt SUN-diskmærkat. Ændringer vil holdes i hukommelsen\n"
+"indtil du beslutter at gemme dem. Derefter vil det tidligere indhold\n"
+"naturligvis ikke kunne genskabes.\n"
+"\n"
+
+#: fdisk/fdisksunlabel.c:236
+msgid "Sectors/track"
+msgstr "Sektorer/spor"
+
+#: fdisk/fdisksunlabel.c:351
+#, c-format
+msgid "Partition %d doesn't end on cylinder boundary\n"
+msgstr "Partition %d slutter ikke på en cylinder-grænse\n"
+
+#: fdisk/fdisksunlabel.c:371
+#, c-format
+msgid "Partition %d overlaps with others in sectors %d-%d\n"
+msgstr "Partition %d overlapper med andre i sektorerne %d-%d\n"
+
+#: fdisk/fdisksunlabel.c:393
+#, c-format
+msgid "Unused gap - sectors 0-%d\n"
+msgstr "Ubenyttet hul - sektorerne 0­%d\n"
+
+#: fdisk/fdisksunlabel.c:395 fdisk/fdisksunlabel.c:401
+#, c-format
+msgid "Unused gap - sectors %d-%d\n"
+msgstr "Ubenyttet hul - sektorerne %d­%d\n"
+
+#: fdisk/fdisksunlabel.c:426
+#, 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 nogen af dem, før du prøver igen.\n"
+
+#: fdisk/fdisksunlabel.c:449
+#, 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 anbefales kraftigt at den ellevte partition\n"
+"fylder hele disken og er af typen 'SGI volume'\n"
+
+#: fdisk/fdisksunlabel.c:477
+#, c-format
+msgid "Sector %d is already allocated\n"
+msgstr "Sektor %d er allerede allokeret\n"
+
+#: fdisk/fdisksunlabel.c:507
+#, 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 tredie partition, men din værdi\n"
+"%d %s dækker en anden partition. Din indgang er blevet ændret til\n"
+"%d %s \n"
+
+#: fdisk/fdisksunlabel.c:534
+#, 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 'Whole disk' (5), der begynder på 0, med %u sektorer\n"
+
+#: fdisk/fdisksunlabel.c:549
+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): "
+
+#: fdisk/fdisksunlabel.c:581
+#, fuzzy, c-format
+msgid ""
+"\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"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disk %s (Sun-diskmærkat): %d hoveder, %d sektorer, %d omdr. per minut\n"
+"%d cylindre, %d alternative cylindre, %d fysiske cylindre\n"
+"%d ekstra sekt/cyl, interleave %d:1\n"
+"%s\n"
+"Enheder = %s á %d * 512 byte\n"
+"\n"
+
+#: fdisk/fdisksunlabel.c:597
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %d heads, %llu sectors, %d cylinders\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disk %s (Sun-diskmærkat): %d hoveder, %d sektorer, %d cylindre\n"
+"Enheder = %s á %d * 512 byte\n"
+"\n"
+
+#: fdisk/fdisksunlabel.c:602
+#, c-format
+msgid "%*s Flag    Start       End    Blocks   Id  System\n"
+msgstr "%*s Flag    Start       Slut   Blokke   Id  System\n"
+
+#: fdisk/fdisksunlabel.c:630
+msgid "Number of alternate cylinders"
+msgstr "Antal alternative cylindre"
+
+#: fdisk/fdisksunlabel.c:642
+msgid "Extra sectors per cylinder"
+msgstr "Ekstra sektorer per cylinder"
+
+#: fdisk/fdisksunlabel.c:649
+msgid "Interleave factor"
+msgstr "Interleavefaktor"
+
+#: fdisk/fdisksunlabel.c:656
+msgid "Rotation speed (rpm)"
+msgstr "Rotationshastighed (omdr. per minut)"
+
+#: fdisk/fdisksunlabel.c:663
+msgid "Number of physical cylinders"
+msgstr "Antal fysiske cylindre"
+
+#: fdisk/i386_sys_types.c:6
+msgid "Empty"
+msgstr "Tom"
+
+#: fdisk/i386_sys_types.c:7
+msgid "FAT12"
+msgstr "FAT12"
+
+#: fdisk/i386_sys_types.c:8
+msgid "XENIX root"
+msgstr "XENIX root"
+
+#: fdisk/i386_sys_types.c:9
+msgid "XENIX usr"
+msgstr "XENIX usr"
+
+#: fdisk/i386_sys_types.c:10
+msgid "FAT16 <32M"
+msgstr "FAT16 <32M"
+
+#: fdisk/i386_sys_types.c:11
+msgid "Extended"
+msgstr "Udvidet"
+
+#: fdisk/i386_sys_types.c:12
+msgid "FAT16"
+msgstr "FAT16"
+
+#: fdisk/i386_sys_types.c:13
+msgid "HPFS/NTFS"
+msgstr "HPFS/NTFS"
+
+#: fdisk/i386_sys_types.c:14
+msgid "AIX"
+msgstr "AIX"
+
+#: fdisk/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr "AIX opstartbar"
+
+#: fdisk/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr "OS/2 Opstartshåndtering"
+
+#: fdisk/i386_sys_types.c:17
+msgid "W95 FAT32"
+msgstr "W95 FAT32"
+
+#: fdisk/i386_sys_types.c:18
+msgid "W95 FAT32 (LBA)"
+msgstr "W95 FAT32 (LBA)"
+
+#: fdisk/i386_sys_types.c:19
+msgid "W95 FAT16 (LBA)"
+msgstr "W95 FAT16 (LBA)"
+
+#: fdisk/i386_sys_types.c:20
+msgid "W95 Ext'd (LBA)"
+msgstr "w95 udvidet (LBA)"
+
+#: fdisk/i386_sys_types.c:21
+msgid "OPUS"
+msgstr "OPUS"
+
+#: fdisk/i386_sys_types.c:22
+msgid "Hidden FAT12"
+msgstr "Skjult FAT12"
+
+#: fdisk/i386_sys_types.c:23
+msgid "Compaq diagnostics"
+msgstr "Compaq diagnosticering"
+
+#: fdisk/i386_sys_types.c:24
+msgid "Hidden FAT16 <32M"
+msgstr "Skjult FAT16 <32M"
+
+#: fdisk/i386_sys_types.c:25
+msgid "Hidden FAT16"
+msgstr "Skjult FAT16"
+
+#: fdisk/i386_sys_types.c:26
+msgid "Hidden HPFS/NTFS"
+msgstr "Skjult HPFS/NTFS"
+
+#: fdisk/i386_sys_types.c:27
+msgid "AST SmartSleep"
+msgstr "AST SmartSleep"
+
+#: fdisk/i386_sys_types.c:28
+msgid "Hidden W95 FAT32"
+msgstr "Skjult W95 FAT32"
+
+#: fdisk/i386_sys_types.c:29
+msgid "Hidden W95 FAT32 (LBA)"
+msgstr "Skjult W95 FAT32 (LBA)"
+
+#: fdisk/i386_sys_types.c:30
+msgid "Hidden W95 FAT16 (LBA)"
+msgstr "Skjult W95 FAT16 (LBA)"
+
+#: fdisk/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr "NEC DOS"
+
+#: fdisk/i386_sys_types.c:32
+msgid "Plan 9"
+msgstr "Plan 9"
+
+#: fdisk/i386_sys_types.c:33
+msgid "PartitionMagic recovery"
+msgstr "PartitionMagic redning"
+
+#: fdisk/i386_sys_types.c:34
+msgid "Venix 80286"
+msgstr "Venix 80286"
+
+#: fdisk/i386_sys_types.c:35
+msgid "PPC PReP Boot"
+msgstr "PPC PReP Opstart"
+
+#: fdisk/i386_sys_types.c:36
+msgid "SFS"
+msgstr "SFS"
+
+#: fdisk/i386_sys_types.c:37
+msgid "QNX4.x"
+msgstr "QNX4.x"
+
+#: fdisk/i386_sys_types.c:38
+msgid "QNX4.x 2nd part"
+msgstr "QNX4.x 2. part"
+
+#: fdisk/i386_sys_types.c:39
+msgid "QNX4.x 3rd part"
+msgstr "QNX4.x 3. part"
+
+#: fdisk/i386_sys_types.c:40
+msgid "OnTrack DM"
+msgstr "OnTrack DM"
+
+#: fdisk/i386_sys_types.c:41
+msgid "OnTrack DM6 Aux1"
+msgstr "OnTrack DM6 Aux1"
+
+#: fdisk/i386_sys_types.c:42
+msgid "CP/M"
+msgstr "CP/M"
+
+#: fdisk/i386_sys_types.c:43
+msgid "OnTrack DM6 Aux3"
+msgstr "OnTrack DM6 Aux3"
+
+#: fdisk/i386_sys_types.c:44
+msgid "OnTrackDM6"
+msgstr "OnTrackDM6"
+
+#: fdisk/i386_sys_types.c:45
+msgid "EZ-Drive"
+msgstr "EZ-Drev"
+
+#: fdisk/i386_sys_types.c:46
+msgid "Golden Bow"
+msgstr "Golden Bow"
+
+#: fdisk/i386_sys_types.c:47
+msgid "Priam Edisk"
+msgstr "Priam Edisk"
+
+#: fdisk/i386_sys_types.c:48 fdisk/i386_sys_types.c:92
+#: fdisk/i386_sys_types.c:98 fdisk/i386_sys_types.c:99
+msgid "SpeedStor"
+msgstr "SpeedStor"
+
+#: fdisk/i386_sys_types.c:49
+msgid "GNU HURD or SysV"
+msgstr "GNU HURD eller SysV"
+
+#: fdisk/i386_sys_types.c:50
+msgid "Novell Netware 286"
+msgstr "Novell Netware 286"
+
+#: fdisk/i386_sys_types.c:51
+msgid "Novell Netware 386"
+msgstr "Novell Netware 386"
+
+#: fdisk/i386_sys_types.c:52
+msgid "DiskSecure Multi-Boot"
+msgstr "DiskSecure Multi-Boot"
+
+#: fdisk/i386_sys_types.c:53
+msgid "PC/IX"
+msgstr "PC/IX"
+
+#: fdisk/i386_sys_types.c:54
+msgid "Old Minix"
+msgstr "Gammel Minix"
+
+#: fdisk/i386_sys_types.c:55
+msgid "Minix / old Linux"
+msgstr "Minix / gammel Linux"
+
+#: fdisk/i386_sys_types.c:56
+msgid "Linux swap / Solaris"
+msgstr "Linux swap / Solaris"
+
+#: fdisk/i386_sys_types.c:58
+msgid "OS/2 hidden C: drive"
+msgstr "OS/2 skjult C-drev"
+
+#: fdisk/i386_sys_types.c:59
+msgid "Linux extended"
+msgstr "Linux udvidet"
+
+#: fdisk/i386_sys_types.c:60 fdisk/i386_sys_types.c:61
+msgid "NTFS volume set"
+msgstr "NTFS bind-sæt"
+
+#: fdisk/i386_sys_types.c:62
+msgid "Linux plaintext"
+msgstr "Linux råtekst"
+
+#: fdisk/i386_sys_types.c:64
+msgid "Amoeba"
+msgstr "Amoeba"
+
+#: fdisk/i386_sys_types.c:65
+msgid "Amoeba BBT"
+msgstr "Amoeba BBT"
+
+#: fdisk/i386_sys_types.c:66
+msgid "BSD/OS"
+msgstr "BSD/OS"
+
+#: fdisk/i386_sys_types.c:67
+msgid "IBM Thinkpad hibernation"
+msgstr "IBM Thinkpad dvale"
+
+#: fdisk/i386_sys_types.c:68
+msgid "FreeBSD"
+msgstr "FreeBSD"
+
+#: fdisk/i386_sys_types.c:69
+msgid "OpenBSD"
+msgstr "OpenBSD"
+
+#: fdisk/i386_sys_types.c:70
+msgid "NeXTSTEP"
+msgstr "NeXTSTEP"
+
+#: fdisk/i386_sys_types.c:71
+msgid "Darwin UFS"
+msgstr "Darwin UFS"
+
+#: fdisk/i386_sys_types.c:72
+msgid "NetBSD"
+msgstr "NetBSD"
+
+#: fdisk/i386_sys_types.c:73
+msgid "Darwin boot"
+msgstr "Darwin opstart"
+
+#: fdisk/i386_sys_types.c:74
+#, fuzzy
+msgid "HFS / HFS+"
+msgstr "OS/2 HPFS"
+
+#: fdisk/i386_sys_types.c:75
+msgid "BSDI fs"
+msgstr "BSDI fs"
+
+#: fdisk/i386_sys_types.c:76
+msgid "BSDI swap"
+msgstr "BSDI swap"
+
+#: fdisk/i386_sys_types.c:77
+msgid "Boot Wizard hidden"
+msgstr "Boot Wizard skjult"
+
+#: fdisk/i386_sys_types.c:78
+msgid "Solaris boot"
+msgstr "Solaris opstart"
+
+#: fdisk/i386_sys_types.c:79
+msgid "Solaris"
+msgstr "Solaris"
+
+#: fdisk/i386_sys_types.c:80
+msgid "DRDOS/sec (FAT-12)"
+msgstr "DRDOS/sec (FAT-12)"
+
+#: fdisk/i386_sys_types.c:81
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr "DRDOS/sec (FAT-16 < 32M)"
+
+#: fdisk/i386_sys_types.c:82
+msgid "DRDOS/sec (FAT-16)"
+msgstr "DRDOS/sec (FAT-16)"
+
+#: fdisk/i386_sys_types.c:83
+msgid "Syrinx"
+msgstr "Syrinx"
+
+#: fdisk/i386_sys_types.c:84
+msgid "Non-FS data"
+msgstr "Ikke-filsystemdata"
+
+#: fdisk/i386_sys_types.c:85
+msgid "CP/M / CTOS / ..."
+msgstr "CP/M / CTOS / ..."
+
+#: fdisk/i386_sys_types.c:87
+msgid "Dell Utility"
+msgstr "Dell Værktøj"
+
+#: fdisk/i386_sys_types.c:88
+msgid "BootIt"
+msgstr "BootIt"
+
+#: fdisk/i386_sys_types.c:89
+msgid "DOS access"
+msgstr "DOS access"
+
+#: fdisk/i386_sys_types.c:91
+msgid "DOS R/O"
+msgstr "DOS R/O"
+
+#: fdisk/i386_sys_types.c:94
+msgid "BeOS fs"
+msgstr "BeOS fs"
+
+#: fdisk/i386_sys_types.c:95
+#, fuzzy
+msgid "GPT"
+msgstr "EFI GPT"
+
+#: fdisk/i386_sys_types.c:96
+msgid "EFI (FAT-12/16/32)"
+msgstr "EFI (FAT-12/16/32)"
+
+#: fdisk/i386_sys_types.c:97
+msgid "Linux/PA-RISC boot"
+msgstr "Linux/PA-RISC opstart"
+
+#: fdisk/i386_sys_types.c:100
+msgid "DOS secondary"
+msgstr "DOS sekundær"
+
+#: fdisk/i386_sys_types.c:101
+msgid "VMware VMFS"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:102
+msgid "VMware VMKCORE"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:106
+msgid "LANstep"
+msgstr "LANstep"
+
+#: fdisk/i386_sys_types.c:107
+msgid "BBT"
+msgstr "BBT"
+
+#: fdisk/sfdisk.c:179
+#, c-format
+msgid "seek error on %s - cannot seek to %lu\n"
+msgstr "søgefejl på %s - kunne ikke søge til %lu\n"
+
+#: fdisk/sfdisk.c:184
+#, 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"
+
+#: fdisk/sfdisk.c:230
+msgid "out of memory - giving up\n"
+msgstr "løbet tør for hukommelse - opgiver\n"
+
+#: fdisk/sfdisk.c:235 fdisk/sfdisk.c:318
+#, c-format
+msgid "read error on %s - cannot read sector %lu\n"
+msgstr "læsefejl på %s - kunne ikke læse sektor %lu\n"
+
+#: fdisk/sfdisk.c:253
+#, c-format
+msgid "ERROR: sector %lu does not have an msdos signature\n"
+msgstr "FEJL: sektor %lu har ikke en MSDOS-signatur\n"
+
+#: fdisk/sfdisk.c:268
+#, c-format
+msgid "write error on %s - cannot write sector %lu\n"
+msgstr "skrivefejl på %s - kan ikke skrive sektor %lu\n"
+
+#: fdisk/sfdisk.c:306
+#, c-format
+msgid "cannot open partition sector save file (%s)\n"
+msgstr "kunne ikke åbne partitionssektor-redningsfil (%s)\n"
+
+#: fdisk/sfdisk.c:324
+#, c-format
+msgid "write error on %s\n"
+msgstr "skrivefejl på %s\n"
+
+#: fdisk/sfdisk.c:350
+#, c-format
+msgid "cannot stat partition restore file (%s)\n"
+msgstr "kunne ikke finde partitions-genskabelsesfil (%s)\n"
+
+#: fdisk/sfdisk.c:355
+msgid "partition restore file has wrong size - not restoring\n"
+msgstr "partitions-genskabelsesfil har forkert størrelse - genskaber ikke\n"
+
+#: fdisk/sfdisk.c:359
+msgid "out of memory?\n"
+msgstr "løbet tør for hukommelse?\n"
+
+#: fdisk/sfdisk.c:365
+#, c-format
+msgid "cannot open partition restore file (%s)\n"
+msgstr "kan ikke åbne partitions-genskabelsesfilen (%s)\n"
+
+#: fdisk/sfdisk.c:371
+#, c-format
+msgid "error reading %s\n"
+msgstr "fejl under læsning af %s\n"
+
+#: fdisk/sfdisk.c:378
+#, c-format
+msgid "cannot open device %s for writing\n"
+msgstr "kan ikke åbne enheden %s for skrivning\n"
+
+#: fdisk/sfdisk.c:390
+#, c-format
+msgid "error writing sector %lu on %s\n"
+msgstr "fejl ved skrivning af sektor %lu på %s\n"
+
+#: fdisk/sfdisk.c:455
+#, c-format
+msgid "Disk %s: cannot get geometry\n"
+msgstr "Disk %s: kan ikke bestemme geometrien\n"
+
+#: fdisk/sfdisk.c:472
+#, c-format
+msgid "Disk %s: cannot get size\n"
+msgstr "Disk %s: kan ikke bestemme størrelsen\n"
+
+#: fdisk/sfdisk.c:505
+#, 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"
+
+#: fdisk/sfdisk.c:512
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu heads\n"
+msgstr "Advarsel: HDIO_GETGEO siger,at der er %lu hoveder\n"
+
+#: fdisk/sfdisk.c:515
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu sectors\n"
+msgstr "Advarsel: HDIO_GETGEO siger, at der er %lu sektorer\n"
+
+#: fdisk/sfdisk.c:519
+#, 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"
+
+#: fdisk/sfdisk.c:524
+#, 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 al programmel, der bruger C/H/S-adressering.\n"
+
+#: fdisk/sfdisk.c:528
+#, 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"
+
+#: fdisk/sfdisk.c:610
+#, 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 hoved-værdi: %lu (burde være mellem 0-%lu)\n"
+
+#: fdisk/sfdisk.c:615
+#, 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 sektor-værdi: %lu (burde være mellem 1-%lu)\n"
+
+#: fdisk/sfdisk.c:620
+#, 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 cylinder-værdi: %lu (burde være mellem 0-%"
+"lu)\n"
+
+#: fdisk/sfdisk.c:660
+#, c-format
+msgid ""
+"Id  Name\n"
+"\n"
+msgstr ""
+"Id  Navn\n"
+"\n"
+
+#: fdisk/sfdisk.c:821
+#, c-format
+msgid "Re-reading the partition table ...\n"
+msgstr "Genindlæser partitionstabel ...\n"
+
+#: fdisk/sfdisk.c:827
+#, 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 ""
+"Kommandoen for genindlæsning af partitionstabellen mislykkedes\n"
+"Genstart dit system nu, før du formatterer med mkfs\n"
+
+#: fdisk/sfdisk.c:833
+#, c-format
+msgid "Error closing %s\n"
+msgstr "Fejl ved lukning af %s\n"
+
+#: fdisk/sfdisk.c:871
+#, c-format
+msgid "%s: no such partition\n"
+msgstr "%s: ingen sådan partition\n"
+
+#: fdisk/sfdisk.c:894
+msgid "unrecognized format - using sectors\n"
+msgstr "ukendt format - benyttet sektorer\n"
+
+#: fdisk/sfdisk.c:944
+#, c-format
+msgid "unimplemented format - using %s\n"
+msgstr "ikke-implementeret format - benytter %s\n"
+
+#: fdisk/sfdisk.c:948
+#, 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"
+
+#: fdisk/sfdisk.c:951
+#, c-format
+msgid "   Device Boot Start     End   #cyls    #blocks   Id  System\n"
+msgstr "   Enhed  Opst Start     Slut  #cyldr. #blokke   Id  System\n"
+
+#: fdisk/sfdisk.c:956
+#, c-format
+msgid ""
+"Units = sectors of 512 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Enheder = sektorer á 512 byte, tæller fra %d\n"
+"\n"
+
+#: fdisk/sfdisk.c:958
+#, c-format
+msgid "   Device Boot    Start       End   #sectors  Id  System\n"
+msgstr "   Enhed  Opstart Start       Slut  #sektorer Id  System\n"
+
+#: fdisk/sfdisk.c:961
+#, c-format
+msgid ""
+"Units = blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Enheder = blokke á 1024 byte, tæller fra %d\n"
+"\n"
+
+#: fdisk/sfdisk.c:963
+#, c-format
+msgid "   Device Boot   Start       End    #blocks   Id  System\n"
+msgstr "   Enhed  Opstrt Start       Slut   #blokke   Id  System\n"
+
+#: fdisk/sfdisk.c:966
+#, c-format
+msgid ""
+"Units = mebibytes of 1048576 bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Enheder = megabyte á 1048576 byte, blokke á 1024 byte, fra %d\n"
+"\n"
+
+#: fdisk/sfdisk.c:968
+#, c-format
+msgid "   Device Boot Start   End    MiB    #blocks   Id  System\n"
+msgstr "   Enhed  Opst Start   Slut   MiB    #blokke   Id  System\n"
+
+#: fdisk/sfdisk.c:1128
+#, 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"
+
+#: fdisk/sfdisk.c:1135
+#, 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"
+
+#: fdisk/sfdisk.c:1138
+#, 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"
+
+#: fdisk/sfdisk.c:1148
+msgid "No partitions found\n"
+msgstr "Fandt ingen partitioner\n"
+
+#: fdisk/sfdisk.c:1152
+#, 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 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"
+
+#: fdisk/sfdisk.c:1201
+msgid "no partition table present.\n"
+msgstr "der er ingen partitionstabel.\n"
+
+#: fdisk/sfdisk.c:1203
+#, c-format
+msgid "strange, only %d partitions defined.\n"
+msgstr "mærkeligt, kun %d partitioner er defineret.\n"
+
+#: fdisk/sfdisk.c:1212
+#, 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"
+
+#: fdisk/sfdisk.c:1215
+#, c-format
+msgid "Warning: partition %s has size 0 and is bootable\n"
+msgstr "Advarsel: partition %s har størrelsen 0, men er opstartbar\n"
+
+#: fdisk/sfdisk.c:1218
+#, 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"
+
+#: fdisk/sfdisk.c:1229
+#, c-format
+msgid "Warning: partition %s "
+msgstr "Advarsel: partition %s "
+
+#: fdisk/sfdisk.c:1230
+#, c-format
+msgid "is not contained in partition %s\n"
+msgstr "indeholdes ikke i partition %s\n"
+
+#: fdisk/sfdisk.c:1241
+#, c-format
+msgid "Warning: partitions %s "
+msgstr "Advarsel: partitionerne %s "
+
+#: fdisk/sfdisk.c:1242
+#, c-format
+msgid "and %s overlap\n"
+msgstr "og %s overlapper hinanden\n"
+
+#: fdisk/sfdisk.c:1253
+#, c-format
+msgid ""
+"Warning: partition %s contains part of the partition table (sector %lu),\n"
+"and will destroy it when filled\n"
+msgstr ""
+"Advarsel: partitionen %s indeholder en del af partitionstabellen (sektor %"
+"lu),\n"
+"og vil ødelægge denne, når der skrives til partitionen.\n"
+
+#: fdisk/sfdisk.c:1265
+#, c-format
+msgid "Warning: partition %s starts at sector 0\n"
+msgstr "Advarsel: partition %s starter i sektor 0\n"
+
+#: fdisk/sfdisk.c:1269
+#, c-format
+msgid "Warning: partition %s extends past end of disk\n"
+msgstr "Advarsel: partition %s når ud over diskens slutning\n"
+
+#: fdisk/sfdisk.c:1284
+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ærpatitionerne må være udvidet\n"
+" (dette er dog ikke noget problem under Linux)\n"
+
+#: fdisk/sfdisk.c:1302
+#, 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"
+
+#: fdisk/sfdisk.c:1308
+#, 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"
+
+#: fdisk/sfdisk.c:1326
+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"
+
+#: fdisk/sfdisk.c:1333
+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 opstartbar flaget.\n"
+
+#: fdisk/sfdisk.c:1339
+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"
+
+#: fdisk/sfdisk.c:1353
+msgid "start"
+msgstr "start"
+
+#: fdisk/sfdisk.c:1356
+#, 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"
+
+#: fdisk/sfdisk.c:1362
+msgid "end"
+msgstr "slut"
+
+#: fdisk/sfdisk.c:1365
+#, c-format
+msgid "partition %s: end: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+"partition %s: end: (c,h,s) forventede (%ld,%ld,%ld) fandt (%ld,%ld,%ld)\n"
+
+#: fdisk/sfdisk.c:1368
+#, 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"
+
+#: fdisk/sfdisk.c:1393
+#, c-format
+msgid ""
+"Warning: shifted start of the extd partition from %ld to %ld\n"
+"(For listing purposes only. Do not change its contents.)\n"
+msgstr ""
+"Advarsel: ændrede starten på udvidet partition fra %ld til %ld\n"
+"(Vedrører kun oplistningen. Ændrer ikke indholdet.)\n"
+
+#: fdisk/sfdisk.c:1399
+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"
+
+#: fdisk/sfdisk.c:1417 fdisk/sfdisk.c:1494
+#, c-format
+msgid "too many partitions - ignoring those past nr (%d)\n"
+msgstr "for mange partitioner - ignorerer dem efter nr. (%d)\n"
+
+#: fdisk/sfdisk.c:1432
+msgid "tree of partitions?\n"
+msgstr "træ med partitioner?\n"
+
+#: fdisk/sfdisk.c:1540
+msgid "detected Disk Manager - unable to handle that\n"
+msgstr "fandt Disk Manager - kan ikke håndtere sådan en\n"
+
+#: fdisk/sfdisk.c:1547
+msgid "DM6 signature found - giving up\n"
+msgstr "fandt DM6 signatur - opgiver\n"
+
+#: fdisk/sfdisk.c:1567
+msgid "strange..., an extended partition of size 0?\n"
+msgstr "mærkeligt... en udvidet partition med størrelsen 0?\n"
+
+#: fdisk/sfdisk.c:1574 fdisk/sfdisk.c:1585
+msgid "strange..., a BSD partition of size 0?\n"
+msgstr "mærkeligt..., en BSD-partition med størrelsen 0?\n"
+
+#: fdisk/sfdisk.c:1619
+#, c-format
+msgid " %s: unrecognized partition table type\n"
+msgstr " %s: ukendt partitionstabeltype\n"
+
+#: fdisk/sfdisk.c:1631
+msgid "-n flag was given: Nothing changed\n"
+msgstr "flaget -n blev givet: Intet ændret\n"
+
+#: fdisk/sfdisk.c:1647
+msgid "Failed saving the old sectors - aborting\n"
+msgstr "Kunne ikke gemme de gamle sektorer- afbryder\n"
+
+#: fdisk/sfdisk.c:1652
+#, c-format
+msgid "Failed writing the partition on %s\n"
+msgstr "Mislykket skrivning af partition på %s\n"
+
+#: fdisk/sfdisk.c:1729
+msgid "long or incomplete input line - quitting\n"
+msgstr "lang eller uafsluttet inddatalinje - afbryder\n"
+
+#: fdisk/sfdisk.c:1765
+#, c-format
+msgid "input error: `=' expected after %s field\n"
+msgstr "inddatafejl: forventer '=' efter %s-felt\n"
+
+#: fdisk/sfdisk.c:1772
+#, c-format
+msgid "input error: unexpected character %c after %s field\n"
+msgstr "inddatafejl: uventet tegn %c efter %s-felt\n"
+
+#: fdisk/sfdisk.c:1778
+#, c-format
+msgid "unrecognized input: %s\n"
+msgstr "ukendt inddata: %s\n"
+
+#: fdisk/sfdisk.c:1820
+msgid "number too big\n"
+msgstr "tal for stort\n"
+
+#: fdisk/sfdisk.c:1824
+msgid "trailing junk after number\n"
+msgstr "uvedkommende tegn efter tallet\n"
+
+#: fdisk/sfdisk.c:1948
+msgid "no room for partition descriptor\n"
+msgstr "ikke plads til partitionsbeskrivelse\n"
+
+#: fdisk/sfdisk.c:1981
+msgid "cannot build surrounding extended partition\n"
+msgstr "kunne ikke opbygge den omgivende udvidede partition\n"
+
+#: fdisk/sfdisk.c:2032
+msgid "too many input fields\n"
+msgstr "for mange inddatafelter\n"
+
+#: fdisk/sfdisk.c:2066
+msgid "No room for more\n"
+msgstr "Ikke plads til mere\n"
+
+#: fdisk/sfdisk.c:2085
+msgid "Illegal type\n"
+msgstr "Ugyldig type\n"
+
+#: fdisk/sfdisk.c:2117
+#, c-format
+msgid "Warning: given size (%lu) exceeds max allowable size (%lu)\n"
+msgstr ""
+"Advarsel: den angiven størrelse(%lu) overstiger den maksimalt tilladte (%"
+"lu)\n"
+
+#: fdisk/sfdisk.c:2123
+msgid "Warning: empty partition\n"
+msgstr "Advarsel: tom partition\n"
+
+#: fdisk/sfdisk.c:2137
+#, c-format
+msgid "Warning: bad partition start (earliest %lu)\n"
+msgstr "Advarsel: ugyldigt partitionsbegyndelse (tidligst %lu)\n"
+
+#: fdisk/sfdisk.c:2150
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr "ukendt opstartbar-flag,  vælg - eller *\n"
+
+#: fdisk/sfdisk.c:2167 fdisk/sfdisk.c:2180
+msgid "partial c,h,s specification?\n"
+msgstr "delvis c,h,s-specifikation?\n"
+
+#: fdisk/sfdisk.c:2191
+msgid "Extended partition not where expected\n"
+msgstr "Udvidet partition ikke hvor den forventedes\n"
+
+#: fdisk/sfdisk.c:2223
+msgid "bad input\n"
+msgstr "ugyldige inddata\n"
+
+#: fdisk/sfdisk.c:2245
+msgid "too many partitions\n"
+msgstr "for mange partitioner\n"
+
+#: fdisk/sfdisk.c:2278
+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]> <bootable [-,*]> <c,h,s> <c,h,s>\n"
+"Du behøver normalt kun at angive <start> og <størr> (og måske <type>).\n"
+
+#: fdisk/sfdisk.c:2304
+#, c-format
+msgid "Usage: %s [options] device ...\n"
+msgstr "Brug: %s [tilvalg] enhed ...\n"
+
+#: fdisk/sfdisk.c:2305
+msgid "device: something like /dev/hda or /dev/sda"
+msgstr "enhed: noget lignende /dev/hda eller /dev/sda"
+
+#: fdisk/sfdisk.c:2306
+msgid "useful options:"
+msgstr "nyttige tilvalg:"
+
+#: fdisk/sfdisk.c:2307
+msgid "    -s [or --show-size]: list size of a partition"
+msgstr "    -s [eller --show-size]: vis partitionens størrelse"
+
+#: fdisk/sfdisk.c:2308
+msgid "    -c [or --id]:        print or change partition Id"
+msgstr "    -c [eller --id]:        vis eller ændr partitions-id"
+
+#: fdisk/sfdisk.c:2309
+msgid "    -l [or --list]:      list partitions of each device"
+msgstr "    -l [eller --list]:      vis hver enheds partitioner"
+
+#: fdisk/sfdisk.c:2310
+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 til "
+"senere inddata"
+
+#: fdisk/sfdisk.c:2311
+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"
+
+#: fdisk/sfdisk.c:2312
+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"
+
+#: fdisk/sfdisk.c:2313
+msgid "    -T [or --list-types]:list the known partition types"
+msgstr "    -T [eller --list-types]:vis kendte partitionstyper"
+
+#: fdisk/sfdisk.c:2314
+msgid "    -D [or --DOS]:       for DOS-compatibility: waste a little space"
+msgstr "    -D [eller --DOS]:       DOS-kompatibilitet: spilder lidt plads"
+
+#: fdisk/sfdisk.c:2315
+msgid "    -R [or --re-read]:   make kernel reread partition table"
+msgstr "    -R [eller --re-read]:   lad kernen genindlæse partitionstabellen"
+
+#: fdisk/sfdisk.c:2316
+msgid "    -N# :                change only the partition with number #"
+msgstr "    -N# :                   ret kun partitionen med nummer #"
+
+#: fdisk/sfdisk.c:2317
+msgid "    -n :                 do not actually write to disk"
+msgstr "    -n :                    undlad at skrive ændringerne til disken"
+
+#: fdisk/sfdisk.c:2318
+msgid ""
+"    -O file :            save the sectors that will be overwritten to file"
+msgstr "    -O fil :                gem de sektorer, der overskrives, i en fil"
+
+#: fdisk/sfdisk.c:2319
+msgid "    -I file :            restore these sectors again"
+msgstr "    -I fil :                genskab disse sektorer"
+
+#: fdisk/sfdisk.c:2320
+msgid "    -v [or --version]:   print version"
+msgstr "    -v [eller --version]:   vis version"
+
+#: fdisk/sfdisk.c:2321
+msgid "    -? [or --help]:      print this message"
+msgstr "    -? [eller --help]:      vis denne besked"
+
+#: fdisk/sfdisk.c:2322
+msgid "dangerous options:"
+msgstr "farlige tilvalg:"
+
+#: fdisk/sfdisk.c:2323
+msgid "    -g [or --show-geometry]: print the kernel's idea of the geometry"
+msgstr "    -g [eller --show-geometry]: vis kernens bud på den geometri"
+
+#: fdisk/sfdisk.c:2324
+msgid ""
+"    -G [or --show-pt-geometry]: print geometry guessed from the partition "
+"table"
+msgstr ""
+"    -G [eller --show-geometry]: vis kernens bud på den geometri ud fra "
+"partitionstabellen"
+
+#: fdisk/sfdisk.c:2325
+msgid ""
+"    -x [or --show-extended]: also list extended partitions on output\n"
+"                             or expect descriptors for them on input"
+msgstr ""
+"    -x [eller --show-extended]: medtag udvidede partitioner i uddata\n"
+"                                eller forvent deskriptorer for dem i inddata"
+
+#: fdisk/sfdisk.c:2327
+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"
+
+#: fdisk/sfdisk.c:2328
+msgid "    -q  [or --quiet]:      suppress warning messages"
+msgstr "    -q  [eller --quiet]:      undertryk advarsler"
+
+#: fdisk/sfdisk.c:2329
+msgid "    You can override the detected geometry using:"
+msgstr "    Du kan tilsidesætte den detekterede geometri med:"
+
+#: fdisk/sfdisk.c:2330
+msgid "    -C# [or --cylinders #]:set the number of cylinders to use"
+msgstr "    -C# [eller --cylinders #]:angiv det cylinderantal, der skal bruges"
+
+#: fdisk/sfdisk.c:2331
+msgid "    -H# [or --heads #]:    set the number of heads to use"
+msgstr "    -H# [eller --heads #]:    angiv det hovedantal, der skal bruges"
+
+#: fdisk/sfdisk.c:2332
+msgid "    -S# [or --sectors #]:  set the number of sectors to use"
+msgstr "    -S# [eller --sectors #]:  angiv det sektorantal, der skal bruges"
+
+#: fdisk/sfdisk.c:2333
+msgid "You can disable all consistency checking with:"
+msgstr "Du kan undertrykke alle forenelighedstjek med:"
+
+#: fdisk/sfdisk.c:2334
+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"
+
+#: fdisk/sfdisk.c:2340
+msgid "Usage:"
+msgstr "Brug:"
+
+#: fdisk/sfdisk.c:2341
+#, c-format
+msgid "%s device\t\t list active partitions on device\n"
+msgstr "%s enhed\t\t vis aktive partitioner på enhed\n"
+
+#: fdisk/sfdisk.c:2342
+#, c-format
+msgid "%s device n1 n2 ... activate partitions n1 ..., inactivate the rest\n"
+msgstr "%s enhed n1 n2 ... aktivér partitionerne på n1 ..., deaktivér resten\n"
+
+#: fdisk/sfdisk.c:2343
+#, c-format
+msgid "%s -An device\t activate partition n, inactivate the other ones\n"
+msgstr "%s -An enhed\t aktivér partition n, deaktivér de andre\n"
+
+#: fdisk/sfdisk.c:2463
+#, 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 ""
+
+#: fdisk/sfdisk.c:2466
+#, fuzzy, c-format
+msgid "Use the --force flag to overrule this check.\n"
+msgstr "Brug flaget --force for at undertrykke alle tjek.\n"
+
+#: fdisk/sfdisk.c:2505
+msgid "no command?\n"
+msgstr "ingen kommando?\n"
+
+#: fdisk/sfdisk.c:2637
+#, c-format
+msgid "total: %llu blocks\n"
+msgstr "i alt: %llu blokke\n"
+
+#: fdisk/sfdisk.c:2680
+msgid "usage: sfdisk --print-id device partition-number\n"
+msgstr "brug: sfdisk --print-id enhed partitionsnummer\n"
+
+#: fdisk/sfdisk.c:2682
+msgid "usage: sfdisk --change-id device partition-number Id\n"
+msgstr "brug: sfdisk --change-id enhed partitionsnummer id\n"
+
+#: fdisk/sfdisk.c:2684
+msgid "usage: sfdisk --id device partition-number [Id]\n"
+msgstr "brug: sfdisk --id enhed partitionsnummer [id]\n"
+
+#: fdisk/sfdisk.c:2691
+msgid "can specify only one device (except with -l or -s)\n"
+msgstr "du kan kun angive én enhed (undtagen med -l eller -s)\n"
+
+#: fdisk/sfdisk.c:2717
+#, c-format
+msgid "cannot open %s read-write\n"
+msgstr "kunne ikke åbne %s for skrivning\n"
+
+#: fdisk/sfdisk.c:2719
+#, c-format
+msgid "cannot open %s for reading\n"
+msgstr "kunne ikke åbne %s for læsning\n"
+
+#: fdisk/sfdisk.c:2744
+#, c-format
+msgid "%s: OK\n"
+msgstr "%s: O.k.\n"
+
+#: fdisk/sfdisk.c:2763 fdisk/sfdisk.c:2796
+#, c-format
+msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+msgstr "%s: %ld cylindre, %ld hoveder, %ld sektorer/spor\n"
+
+#: fdisk/sfdisk.c:2815
+#, c-format
+msgid "Cannot get size of %s\n"
+msgstr "Kan ikke få størrelsen %s\n"
+
+#: fdisk/sfdisk.c:2895
+#, c-format
+msgid "bad active byte: 0x%x instead of 0x80\n"
+msgstr "ugyldig aktiv-byte: 0x%x i stedet for 0x80\n"
+
+#: fdisk/sfdisk.c:2913 fdisk/sfdisk.c:2968 fdisk/sfdisk.c:3001
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+"Færdig\n"
+"\n"
+
+#: fdisk/sfdisk.c:2922
+#, 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"
+
+#: fdisk/sfdisk.c:2938
+#, c-format
+msgid "partition %s has id %x and is not hidden\n"
+msgstr "partition %s har id %x og er ikke skjult\n"
+
+#: fdisk/sfdisk.c:2997
+#, c-format
+msgid "Bad Id %lx\n"
+msgstr "Ugyldig id %lx\n"
+
+#: fdisk/sfdisk.c:3014
+msgid "This disk is currently in use.\n"
+msgstr "Denne disk er i brug for øjeblikket.\n"
+
+#: fdisk/sfdisk.c:3033
+#, c-format
+msgid "Fatal error: cannot find %s\n"
+msgstr "Fatal fejl: kunne ikke finde %s\n"
+
+#: fdisk/sfdisk.c:3036
+#, c-format
+msgid "Warning: %s is not a block device\n"
+msgstr "Advarsel: %s er ikke en blokenhed\n"
+
+#: fdisk/sfdisk.c:3042
+msgid "Checking that no-one is using this disk right now ...\n"
+msgstr "Tjekker, at ingen benytter denne disk for øjeblikket...\n"
+
+#: fdisk/sfdisk.c:3044
+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 i dårlig "
+"idé.\n"
+"Afmonter alle filsystemer og 'swapoff' alle swappartitioner på denne disk.\n"
+"Brug flaget --no-reread for at undertrykke dette tjek.\n"
+
+#: fdisk/sfdisk.c:3048
+msgid "Use the --force flag to overrule all checks.\n"
+msgstr "Brug flaget --force for at undertrykke alle tjek.\n"
+
+#: fdisk/sfdisk.c:3052
+msgid "OK\n"
+msgstr "O.k.\n"
+
+#: fdisk/sfdisk.c:3061
+#, c-format
+msgid "Old situation:\n"
+msgstr "Gammel situation:\n"
+
+#: fdisk/sfdisk.c:3065
+#, c-format
+msgid "Partition %d does not exist, cannot change it\n"
+msgstr "Partitionen %d eksisterer ikke. Kan ikke ændre den\n"
+
+#: fdisk/sfdisk.c:3073
+#, c-format
+msgid "New situation:\n"
+msgstr "Ny situation:\n"
+
+#: fdisk/sfdisk.c:3078
+msgid ""
+"I don't like these partitions - nothing changed.\n"
+"(If you really want this, use the --force option.)\n"
+msgstr ""
+"Jeg kan ikke lide disse partitioner - intet blev ændret.\n"
+"(Hvis du virkelig ønsker det, kan du bruge flaget --force.)\n"
+
+#: fdisk/sfdisk.c:3081
+msgid "I don't like this - probably you should answer No\n"
+msgstr "Jeg kan ikke lide detteher - du bør nok svare Nej\n"
+
+#: fdisk/sfdisk.c:3086
+#, c-format
+msgid "Are you satisfied with this? [ynq] "
+msgstr "Er du tilfreds med dette? [jna] "
+
+#: fdisk/sfdisk.c:3088
+#, c-format
+msgid "Do you want to write this to disk? [ynq] "
+msgstr "Vil du virkelig skrive dette til disken? [jna] "
+
+#: fdisk/sfdisk.c:3093
+#, c-format
+msgid ""
+"\n"
+"sfdisk: premature end of input\n"
+msgstr ""
+"\n"
+"sfdisk: inddata sluttede for tidligt\n"
+
+#: fdisk/sfdisk.c:3095
+msgid "Quitting - nothing changed\n"
+msgstr "Afslutter - intet blev ændret\n"
+
+#: fdisk/sfdisk.c:3101
+#, c-format
+msgid "Please answer one of y,n,q\n"
+msgstr "Svar venligst j,n,a\n"
+
+#: fdisk/sfdisk.c:3109
+#, c-format
+msgid ""
+"Successfully wrote the new partition table\n"
+"\n"
+msgstr ""
+"Skrivning af ny partitionstabel lykkedes\n"
+"\n"
+
+#: fdisk/sfdisk.c:3115
+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"
+
+#: fsck/fsck.c:327
+#, fuzzy, c-format
+msgid "WARNING: couldn't open %s: %s\n"
+msgstr "%s: kunne ikke åbne %s: %s\n"
+
+#: fsck/fsck.c:337
+#, c-format
+msgid "WARNING: bad format on line %d of %s\n"
+msgstr ""
+
+#: fsck/fsck.c:353
+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 ""
+
+#: fsck/fsck.c:461
+#, fuzzy, c-format
+msgid "fsck: %s: not found\n"
+msgstr "umount: %s: ikke fundet"
+
+#: fsck/fsck.c:577
+#, c-format
+msgid "%s: wait: No more child process?!?\n"
+msgstr ""
+
+#: fsck/fsck.c:599
+#, c-format
+msgid "Warning... %s for device %s exited with signal %d.\n"
+msgstr ""
+
+#: fsck/fsck.c:605
+#, c-format
+msgid "%s %s: status is %x, should never happen.\n"
+msgstr ""
+
+#: fsck/fsck.c:644
+#, c-format
+msgid "Finished with %s (exit status %d)\n"
+msgstr ""
+
+#: fsck/fsck.c:704
+#, fuzzy, c-format
+msgid "%s: Error %d while executing fsck.%s for %s\n"
+msgstr "%s: fejl %d under udpakning! %p(%d)\n"
+
+#: fsck/fsck.c:725
+msgid ""
+"Either all or none of the filesystem types passed to -t must be prefixed\n"
+"with 'no' or '!'.\n"
+msgstr ""
+
+#: fsck/fsck.c:744
+#, fuzzy
+msgid "Couldn't allocate memory for filesystem types\n"
+msgstr "mount: du skal angive filsystemtypen"
+
+#: fsck/fsck.c:867
+#, c-format
+msgid ""
+"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass "
+"number\n"
+msgstr ""
+
+#: fsck/fsck.c:894
+#, c-format
+msgid "fsck: cannot check %s: fsck.%s not found\n"
+msgstr ""
+
+#: fsck/fsck.c:950
+#, fuzzy
+msgid "Checking all file systems.\n"
+msgstr "Gennemtvinger tjek af filsystem på %s.\n"
+
+#: fsck/fsck.c:1041
+#, c-format
+msgid "--waiting-- (pass %d)\n"
+msgstr ""
+
+#: fsck/fsck.c:1061
+#, fuzzy
+msgid ""
+"Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]\n"
+msgstr "Brug: mkfs [-V] [-t fstype] [fs-tilvalg] enhed [størrelse]\n"
+
+#: fsck/fsck.c:1099
+#, fuzzy, c-format
+msgid "%s: too many devices\n"
+msgstr "%s: %s ikke en printerenhed.\n"
+
+#: fsck/fsck.c:1110
+#, fuzzy, c-format
+msgid "Couldn't open %s: %s\n"
+msgstr "Kunne ikke åbne %s: %s\n"
+
+#: fsck/fsck.c:1112
+#, fuzzy, c-format
+msgid "Is /proc mounted?\n"
+msgstr "%s afmonteret\n"
+
+#: fsck/fsck.c:1121
+#, c-format
+msgid "Must be root to scan for matching filesystems: %s\n"
+msgstr ""
+
+#: fsck/fsck.c:1124
+#, fuzzy, c-format
+msgid "Couldn't find matching filesystem: %s\n"
+msgstr "Afmonterer resterende filsystemer..."
+
+#: fsck/fsck.c:1132 fsck/fsck.c:1218
+#, fuzzy, c-format
+msgid "%s: too many arguments\n"
+msgstr "%s: ukendt tilvalg: %s\n"
+
+#: fsck/fsck.c:1252
+#, fuzzy, c-format
+msgid "fsck from %s\n"
+msgstr "%s fra %s\n"
+
+#: fsck/fsck.c:1264
+#, fuzzy, c-format
+msgid "%s: Unable to allocate memory for fsck_path\n"
+msgstr "Kunne ikke allokere mere hukommelse\n"
+
+#: getopt/getopt.c:229
+msgid "Try `getopt --help' for more information.\n"
+msgstr "Brug 'getopt --help' for flere detaljer.\n"
+
+#: getopt/getopt.c:295
+msgid "empty long option after -l or --long argument"
+msgstr "tomt 'long'­tilvalg efter -l eller --long"
+
+#: getopt/getopt.c:315
+msgid "unknown shell after -s or --shell argument"
+msgstr "ukendt skal efter -s eller --shell"
+
+#: getopt/getopt.c:320
+msgid "Usage: getopt optstring parameters\n"
+msgstr "Brug: getopt tilvalgsstreng parametre\n"
+
+#: getopt/getopt.c:321
+msgid "       getopt [options] [--] optstring parameters\n"
+msgstr "       getopt [tilvalg] [--] tilvalgsstreng parametre\n"
+
+#: getopt/getopt.c:322
+msgid "       getopt [options] -o|--options optstring [options] [--]\n"
+msgstr "       getopt [tilvalg] -o|--options tilvalgsstreng [tilvalg] [--]\n"
+
+#: getopt/getopt.c:323
+msgid "              parameters\n"
+msgstr "              parametre\n"
+
+#: getopt/getopt.c:324
+msgid ""
+"  -a, --alternative            Allow long options starting with single -\n"
+msgstr "  -a, --alternative            Tillad lange tilvalg med enkelt -\n"
+
+#: getopt/getopt.c:325
+msgid "  -h, --help                   This small usage guide\n"
+msgstr "  -h, --help                   Denne lille brugsmanual\n"
+
+#: getopt/getopt.c:326
+msgid "  -l, --longoptions=longopts   Long options to be recognized\n"
+msgstr "  -l, --longoptions=langtilvalg  Lange tilvalg, der skal genkendes\n"
+
+#: getopt/getopt.c:327
+msgid ""
+"  -n, --name=progname          The name under which errors are reported\n"
+msgstr ""
+"  -n, --name=prognavn          Navnet som fejl skal rapporteres under\n"
+
+#: getopt/getopt.c:328
+msgid "  -o, --options=optstring      Short options to be recognized\n"
+msgstr "  -o, --options=tilvalgsstreng Korte tilvalg, der skal genkendes\n"
+
+#: getopt/getopt.c:329
+msgid "  -q, --quiet                  Disable error reporting by getopt(3)\n"
+msgstr ""
+"  -q, --quiet                  Undertryk fejlrapportering fra getopt(3)\n"
+
+#: getopt/getopt.c:330
+msgid "  -Q, --quiet-output           No normal output\n"
+msgstr "  -Q, --quiet-output           Ingen normale uddata\n"
+
+#: getopt/getopt.c:331
+msgid "  -s, --shell=shell            Set shell quoting conventions\n"
+msgstr "  -s, --shell=skal             Angiv konventioner for anførselstegn\n"
+
+#: getopt/getopt.c:332
+msgid "  -T, --test                   Test for getopt(1) version\n"
+msgstr "  -T, --test                   Tjek getopt(1) version\n"
+
+#: getopt/getopt.c:333
+msgid "  -u, --unqote                 Do not quote the output\n"
+msgstr "  -u, --unqote                 Indskyd ikke anførselstegn i uddata\n"
+
+#: getopt/getopt.c:334
+msgid "  -V, --version                Output version information\n"
+msgstr "  -V, --version                Vis versionsinformation\n"
+
+#: getopt/getopt.c:388 getopt/getopt.c:447
+msgid "missing optstring argument"
+msgstr "mangler tilvalgstreng-parameter"
+
+#: getopt/getopt.c:435
+#, fuzzy, c-format
+msgid "getopt (enhanced) 1.1.4\n"
+msgstr "getopt (udvidet) 1.1.3\n"
+
+#: getopt/getopt.c:441
+msgid "internal error, contact the author."
+msgstr "intern fejl, kontakt programmøren."
+
+#: hwclock/cmos.c:176
+#, c-format
+msgid "booted from MILO\n"
+msgstr "startede op med MILO\n"
+
+#: hwclock/cmos.c:185
+#, c-format
+msgid "Ruffian BCD clock\n"
+msgstr "'Ruffian' BCD-ur\n"
+
+#: hwclock/cmos.c:201
+#, c-format
+msgid "clockport adjusted to 0x%x\n"
+msgstr "urport justeret til 0x%x\n"
+
+#: hwclock/cmos.c:213
+#, c-format
+msgid "funky TOY!\n"
+msgstr "'funky TOY' (tid-på-året)!\n"
+
+#: hwclock/cmos.c:244
+#, c-format
+msgid "%s: atomic %s failed for 1000 iterations!"
+msgstr "%s: momentan %s mislykkedes i 1000 iterationer!"
+
+#: hwclock/cmos.c:273
+#, c-format
+msgid "cmos_read(): write to control address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:276
+#, c-format
+msgid "cmos_read(): read data address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:307
+#, c-format
+msgid "cmos_write(): write to control address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:311
+#, c-format
+msgid "cmos_write(): write to data address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:574
+#, c-format
+msgid "Cannot open /dev/port: %s"
+msgstr "Kan ikke åbne /dev/port: %s"
+
+#: hwclock/cmos.c:581
+#, c-format
+msgid "I failed to get permission because I didn't try.\n"
+msgstr "Jeg kunne ikke få adgang fordi jeg ikke forsøgte.\n"
+
+#: hwclock/cmos.c:584
+#, c-format
+msgid "%s is unable to get I/O port access:  the iopl(3) call failed.\n"
+msgstr "%s kan ikke få adgang til I/O-port: kaldet 'iopl(3)' mislykkedes.\n"
+
+#: hwclock/cmos.c:587
+#, c-format
+msgid "Probably you need root privileges.\n"
+msgstr "Du behøver nok root-rettigheder.\n"
+
+#: hwclock/hwclock.c:231
+#, c-format
+msgid "Assuming hardware clock is kept in %s time.\n"
+msgstr "Antager at maskinuret holdes i %s tid.\n"
+
+#: hwclock/hwclock.c:232 hwclock/hwclock.c:327
+msgid "UTC"
+msgstr "GMT"
+
+#: hwclock/hwclock.c:232 hwclock/hwclock.c:326
+msgid "local"
+msgstr "lokal"
+
+#: hwclock/hwclock.c:312
+#, c-format
+msgid "%s: Warning: unrecognized third line in adjtime file\n"
+msgstr "%s: Advarsel: ukendt tredie linje i adjtime-fil\n"
+
+#: hwclock/hwclock.c:314
+#, c-format
+msgid "(Expected: `UTC' or `LOCAL' or nothing.)\n"
+msgstr "(Forventet: 'UTC' (GMT), 'LOCAL' eller ingenting.)\n"
+
+#: hwclock/hwclock.c:321
+#, c-format
+msgid "Last drift adjustment done at %ld seconds after 1969\n"
+msgstr "Sidste hastighedsjustering blev gjort %ld sekunder efter 1969\n"
+
+#: hwclock/hwclock.c:323
+#, c-format
+msgid "Last calibration done at %ld seconds after 1969\n"
+msgstr "Sidste kalibrering blev foretaget %ld sekunder efter 1969\n"
+
+#: hwclock/hwclock.c:325
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr "Maskinuret er i %s-tid\n"
+
+#: hwclock/hwclock.c:327
+msgid "unknown"
+msgstr "ukendt"
+
+#: hwclock/hwclock.c:351
+#, c-format
+msgid "Waiting for clock tick...\n"
+msgstr "Venter på et ur-tik...\n"
+
+#: hwclock/hwclock.c:357
+#, c-format
+msgid "...synchronization failed\n"
+msgstr ""
+
+#: hwclock/hwclock.c:359
+#, c-format
+msgid "...got clock tick\n"
+msgstr "...fangede ur-tik\n"
+
+#: hwclock/hwclock.c:413
+#, 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"
+
+#: hwclock/hwclock.c:421
+#, 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"
+
+#: hwclock/hwclock.c:451
+#, 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"
+
+#: hwclock/hwclock.c:480
+#, 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"
+
+#: hwclock/hwclock.c:486
+#, c-format
+msgid "Clock not changed - testing only.\n"
+msgstr "Uret uændret - testede kun.\n"
+
+#: hwclock/hwclock.c:536
+#, fuzzy, 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å til næste hele sekund.\n"
+
+#: hwclock/hwclock.c:572
+#, c-format
+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).\n"
+msgstr ""
+"Maskinurets registre indeholder værdier, der enten er ugyldige (f.eks. 50. "
+"dag i måneden) eller udenfor det område, vi kan håndtere (f.eks. år 2095).\n"
+
+#: hwclock/hwclock.c:582
+#, c-format
+msgid "%s  %.6f seconds\n"
+msgstr "%s  %.6f sekunder\n"
+
+#: hwclock/hwclock.c:616
+#, c-format
+msgid "No --date option specified.\n"
+msgstr "Intet --date tilvalg angivet.\n"
+
+#: hwclock/hwclock.c:622
+#, c-format
+msgid "--date argument too long\n"
+msgstr "parametret til --date er for langt\n"
+
+#: hwclock/hwclock.c:629
+#, c-format
+msgid ""
+"The value of the --date option is not a valid date.\n"
+"In particular, it contains quotation marks.\n"
+msgstr ""
+"Værdien af --date tilvalget er ikke en gyldig dato.\n"
+"Mere specifikt, indeholder den anførselstegn.\n"
+
+#: hwclock/hwclock.c:637
+#, c-format
+msgid "Issuing date command: %s\n"
+msgstr "Udfører 'date'-kommandoen: %s\n"
+
+#: hwclock/hwclock.c:641
+msgid "Unable to run 'date' program in /bin/sh shell. popen() failed"
+msgstr ""
+"Kunne ikke køre 'date'-programmet i /bin/sh skallen. popen() mislykkedes"
+
+#: hwclock/hwclock.c:649
+#, c-format
+msgid "response from date command = %s\n"
+msgstr "svar fra 'date'-kommandoen = %s\n"
+
+#: hwclock/hwclock.c:651
+#, c-format
+msgid ""
+"The date command issued by %s returned unexpected results.\n"
+"The command was:\n"
+"  %s\n"
+"The response was:\n"
+"  %s\n"
+msgstr ""
+"'date'-kommandoen sendt af %s returnerede uventede resultater.\n"
+"Kommandoen var:\n"
+"  %s\n"
+"Svaret var:\n"
+"  %s\n"
+
+#: hwclock/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'-kommandoen 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"
+
+#: hwclock/hwclock.c:674
+#, c-format
+msgid "date string %s equates to %ld seconds since 1969.\n"
+msgstr "Datoteksten %s svarer til %ld sekunder siden 1969.\n"
+
+#: hwclock/hwclock.c:706
+#, c-format
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot set the "
+"System Time from it.\n"
+msgstr ""
+"Maskinuret indeholder ikke en gyldig tid, så vi kan ikke sætte systemuret "
+"med det.\n"
+
+#: hwclock/hwclock.c:728 hwclock/hwclock.c:805
+#, c-format
+msgid "Calling settimeofday:\n"
+msgstr "Kalder 'settimeofday':\n"
+
+#: hwclock/hwclock.c:729 hwclock/hwclock.c:807
+#, c-format
+msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+
+#: hwclock/hwclock.c:731 hwclock/hwclock.c:809
+#, c-format
+msgid "\ttz.tz_minuteswest = %d\n"
+msgstr "\ttz.tz_minuteswest = %d\n"
+
+#: hwclock/hwclock.c:734 hwclock/hwclock.c:812
+#, 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"
+
+#: hwclock/hwclock.c:743 hwclock/hwclock.c:821
+#, c-format
+msgid "Must be superuser to set system clock.\n"
+msgstr "Skal være superbruger for at sætte systemuret.\n"
+
+#: hwclock/hwclock.c:746 hwclock/hwclock.c:824
+msgid "settimeofday() failed"
+msgstr "settimeofday() mislykkedes"
+
+#: hwclock/hwclock.c:782
+#, c-format
+msgid "Current system time: %ld = %s\n"
+msgstr ""
+
+#: hwclock/hwclock.c:806
+#, c-format
+msgid "\tUTC: %s\n"
+msgstr ""
+
+#: hwclock/hwclock.c:853
+#, 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"
+
+#: hwclock/hwclock.c:858
+#, 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 drivefaktor da sidste kalibreringstid er nul \n"
+"og kan derfor ikke bruges. Det er nødvendigt at starte \n"
+"kalibreringen forfra.\n"
+
+#: hwclock/hwclock.c:864
+#, 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 en et døgn siden sidste "
+"kalibrering.\n"
+
+#: hwclock/hwclock.c:912
+#, 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"
+
+#: hwclock/hwclock.c:962
+#, c-format
+msgid "Time since last adjustment is %d seconds\n"
+msgstr "%d sekunder siden sidste justering\n"
+
+#: hwclock/hwclock.c:964
+#, c-format
+msgid "Need to insert %d seconds and refer time back %.6f seconds ago\n"
+msgstr "Skal indsætte %d sekunder og stille uret %.6f sekunder tilbage\n"
+
+#: hwclock/hwclock.c:993
+#, c-format
+msgid "Not updating adjtime file because of testing mode.\n"
+msgstr "Opdaterer ikke adjtime-filen, da der køres i testtilstand.\n"
+
+#: hwclock/hwclock.c:994
+#, c-format
+msgid ""
+"Would have written the following to %s:\n"
+"%s"
+msgstr ""
+"Ville have skrevet følgende til %s:\n"
+"%s"
+
+#: hwclock/hwclock.c:1002
+#, c-format
+msgid ""
+"Could not open file with the clock adjustment parameters in it (%s) for "
+"writing"
+msgstr ""
+
+#: hwclock/hwclock.c:1007 hwclock/hwclock.c:1012
+#, c-format
+msgid "Could not update file with the clock adjustment parameters (%s) in it"
+msgstr ""
+
+#: hwclock/hwclock.c:1018
+#, c-format
+msgid "Drift adjustment parameters not updated.\n"
+msgstr "Hastighedsjusteringen blev ikke opdateret.\n"
+
+#: hwclock/hwclock.c:1059
+#, c-format
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot adjust it.\n"
+msgstr ""
+"Maskinuret indeholder ikke en gyldig tid, så vi kan ikke justere det.\n"
+
+#: hwclock/hwclock.c:1067
+#, fuzzy, c-format
+msgid ""
+"Not setting clock because last adjustment time is zero, so history is bad."
+msgstr ""
+"Justerer ikke drivefaktor da sidste kalibreringstid er nul \n"
+"og kan derfor ikke bruges. Det er nødvendigt at starte \n"
+"kalibreringen forfra.\n"
+
+#: hwclock/hwclock.c:1090
+#, 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"
+
+#: hwclock/hwclock.c:1116
+#, c-format
+msgid "Using %s.\n"
+msgstr "Bruger %s.\n"
+
+#: hwclock/hwclock.c:1118
+#, c-format
+msgid "No usable clock interface found.\n"
+msgstr "Fandt ingen brugbare ur-grænseflader.\n"
+
+#: hwclock/hwclock.c:1222 hwclock/hwclock.c:1228
+#, c-format
+msgid "Unable to set system clock.\n"
+msgstr "Kunne ikke sætte systemuret.\n"
+
+#: hwclock/hwclock.c:1258
+#, c-format
+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.\n"
+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"
+
+#: hwclock/hwclock.c:1267
+#, c-format
+msgid "Unable to get the epoch value from the kernel.\n"
+msgstr "Kunne ikke hente en epokeværdi fra kernen.\n"
+
+#: hwclock/hwclock.c:1269
+#, c-format
+msgid "Kernel is assuming an epoch value of %lu\n"
+msgstr "Kernen går ud fra en epokeværdi på %lu\n"
+
+#: hwclock/hwclock.c:1272
+#, c-format
+msgid ""
+"To set the epoch value, you must use the 'epoch' option to tell to what "
+"value to set it.\n"
+msgstr ""
+"For at sætte epokeværdien, skal du bruge tilvalget 'epoch' for at angive "
+"hvilken værdi, den skal sættes til\n"
+
+#: hwclock/hwclock.c:1275
+#, c-format
+msgid "Not setting the epoch to %d - testing only.\n"
+msgstr "Sætter IKKE epokeværdien til %d - tester bare.\n"
+
+#: hwclock/hwclock.c:1278
+#, c-format
+msgid "Unable to set the epoch value in the kernel.\n"
+msgstr "Kunne ikke sætte epokeværdien i kernen.\n"
+
+#: hwclock/hwclock.c:1291 misc-utils/cal.c:345 misc-utils/kill.c:189
+#, c-format
+msgid "%s from %s\n"
+msgstr "%s fra %s\n"
+
+#: hwclock/hwclock.c:1312
+#, fuzzy, c-format
+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"
+"  -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"
+"  --help        vis denne hjælp\n"
+"  --show        aflæs maskinuret og vis resultatet\n"
+"  --set         sæt uret til tiden angivet med --date\n"
+"  --hctosys     sæt systemuret til maskinurets tid\n"
+"  --systohc     sæt maskinuret til systemurets tid\n"
+"  --adjust      kalibrér 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"
+"  --version     udlæs hwclock's version til standard-ud\n"
+"\n"
+"Tilvalg: \n"
+"  --utc         maskinuret holdes i GMT (koordineret universel tid)\n"
+"  --localtime   maskinuret holdes i lokal tid\n"
+"  --directisa   tilgå ISA-bussen direkte i stedet for %s\n"
+"  --badyear     ignorér 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"
+
+#: hwclock/hwclock.c:1347
+#, fuzzy, c-format
+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"
+"                angiv hvilken slags alpha du har (se hwclock(8))\n"
+
+#: hwclock/hwclock.c:1434
+#, fuzzy, c-format
+msgid "%s: Unable to connect to audit system\n"
+msgstr "Kunne ikke sætte systemuret.\n"
+
+#: hwclock/hwclock.c:1552
+#, c-format
+msgid "%s takes no non-option arguments.  You supplied %d.\n"
+msgstr "%s accepterer ingen parametre. Du angav parameteren %d.\n"
+
+#: hwclock/hwclock.c:1559
+#, c-format
+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"
+
+#: hwclock/hwclock.c:1566
+#, c-format
+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"
+
+#: hwclock/hwclock.c:1573
+#, c-format
+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"
+
+#: hwclock/hwclock.c:1580
+#, fuzzy, c-format
+msgid ""
+"%s: The --adjfile and --noadjfile options are mutually exclusive.  You "
+"specified both.\n"
+msgstr ""
+"%s: Tilvalgene --adjust og --noadjfile udelukker hinanden. Du angav begge.\n"
+
+#: hwclock/hwclock.c:1589
+#, c-format
+msgid "%s: With --noadjfile, you must specify either --utc or --localtime\n"
+msgstr "%s: --noadjfile kræver enten --utc or --localtime\n"
+
+#: hwclock/hwclock.c:1603
+#, c-format
+msgid "No usable set-to time.  Cannot set clock.\n"
+msgstr "Ingen brugbar set-til-tid. Kan ikke sætte uret.\n"
+
+#: hwclock/hwclock.c:1620
+#, c-format
+msgid "Sorry, only the superuser can change the Hardware Clock.\n"
+msgstr "Beklager, kun superbrugeren kan ændre maskinuret.\n"
+
+#: hwclock/hwclock.c:1625
+#, c-format
+msgid "Sorry, only the superuser can change the System Clock.\n"
+msgstr "Beklager, kun superbrugeren kan ændre systemuret.\n"
+
+#: hwclock/hwclock.c:1630
+#, c-format
+msgid ""
+"Sorry, only the superuser can change the Hardware Clock epoch in the "
+"kernel.\n"
+msgstr ""
+"Beklager, kun superbrugeren kan ændre maskinurets epokeværdi i kernen.\n"
+
+#: hwclock/hwclock.c:1651
+#, c-format
+msgid "Cannot access the Hardware Clock via any known method.\n"
+msgstr "Kan ikke tilgå maskinuret med nogen kendt metode.\n"
+
+#: hwclock/hwclock.c:1655
+#, c-format
+msgid ""
+"Use the --debug option to see the details of our search for an access "
+"method.\n"
+msgstr ""
+"Benyt tilvalget --debug for at se detaljerne fra vores søgning efter en "
+"tilgangsmetode.\n"
+
+#: hwclock/kd.c:53
+#, 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"
+
+#: hwclock/kd.c:56
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr "KDGHWCLK ioctl for at aflæse tiden mislykkedes"
+
+#: hwclock/kd.c:77 hwclock/rtc.c:221
+#, c-format
+msgid "Timed out waiting for time change.\n"
+msgstr "Tidsudløb mens der ventedes på tidsændring.\n"
+
+#: hwclock/kd.c:81
+msgid "KDGHWCLK ioctl to read time failed in loop"
+msgstr "KDGHWCLK ioctl for at aflæse tiden mislykkedes i løkke"
+
+#: hwclock/kd.c:103
+#, c-format
+msgid "ioctl() failed to read time from %s"
+msgstr "ioctl() kunne ikke aflæse tiden fra %s"
+
+#: hwclock/kd.c:139
+msgid "ioctl KDSHWCLK failed"
+msgstr "KDGHWCLK-ioctl mislykkedes"
+
+#: hwclock/kd.c:175
+msgid "Can't open /dev/tty1 or /dev/vc/1"
+msgstr "Kunne ikke åbne /dev/tty1 eller /dev/vc/1"
+
+#: hwclock/kd.c:179
+msgid "KDGHWCLK ioctl failed"
+msgstr "KDGHWCLK ioctl mislykkedes"
+
+#: hwclock/rtc.c:147 hwclock/rtc.c:241
+#, c-format
+msgid "open() of %s failed"
+msgstr "open() af %s mislykkedes"
+
+#: hwclock/rtc.c:181
+#, c-format
+msgid "ioctl() to %s to read the time failed.\n"
+msgstr "ioctl() til %s for at aflæse tiden mislykkedes.\n"
+
+#: hwclock/rtc.c:203
+#, c-format
+msgid "Waiting in loop for time from %s to change\n"
+msgstr "Venter i løkke på at tiden fra %s ændres\n"
+
+#: hwclock/rtc.c:259
+#, c-format
+msgid "%s does not have interrupt functions. "
+msgstr "%s har ingen interrupt-funktioner. "
+
+#: hwclock/rtc.c:270
+#, c-format
+msgid "read() to %s to wait for clock tick failed"
+msgstr "read() af %s for at afvente et ur-tik mislykkedes"
+
+#: hwclock/rtc.c:288
+#, c-format
+msgid "select() to %s to wait for clock tick failed"
+msgstr "select() til %s for at afvente et ur-tik mislykkedes"
+
+#: hwclock/rtc.c:291
+#, c-format
+msgid "select() to %s to wait for clock tick timed out\n"
+msgstr "select() af %s for at afvente på en ur-tik udløb\n"
+
+#: hwclock/rtc.c:300
+#, c-format
+msgid "ioctl() to %s to turn off update interrupts failed"
+msgstr "ioctl() til %s for at afbryde opdaterings-interrupts mislykkedes"
+
+#: hwclock/rtc.c:303
+#, c-format
+msgid "ioctl() to %s to turn on update interrupts failed unexpectedly"
+msgstr ""
+"ioctl() til %s for at afbryde opdaterings-interrupts mislykkedes uventet"
+
+#: hwclock/rtc.c:360
+#, c-format
+msgid "ioctl() to %s to set the time failed.\n"
+msgstr "ioctl() til %s for at sætte tiden mislykkedes.\n"
+
+#: hwclock/rtc.c:366
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr "ioctl(%s) lykkedes.\n"
+
+#: hwclock/rtc.c:392
+#, c-format
+msgid "Open of %s failed"
+msgstr "Åbning af %s mislykkedes"
+
+#: hwclock/rtc.c:410 hwclock/rtc.c:454
+#, 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.\n"
+msgstr ""
+"For at manipulere epokeværdien i kernen, skal vi have adgang til Linux' "
+"maskinursenhed via enhedsspecialfilen '%s'. Denne fil eksisterer ikke på "
+"dette system.\n"
+
+#: hwclock/rtc.c:415 hwclock/rtc.c:459
+#, c-format
+msgid "Unable to open %s"
+msgstr "Kunne ikke åbne %s"
+
+#: hwclock/rtc.c:422
+#, c-format
+msgid "ioctl(RTC_EPOCH_READ) to %s failed"
+msgstr "ioctl(RTC_EPOCH_READ) til %s mislykkedes"
+
+#: hwclock/rtc.c:427
+#, 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"
+
+#: hwclock/rtc.c:446
+#, c-format
+msgid "The epoch value may not be less than 1900.  You requested %ld\n"
+msgstr "Epokeværdien må ikke være mindre end 1900. Du bad om %ld\n"
+
+#: hwclock/rtc.c:464
+#, 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"
+
+#: hwclock/rtc.c:469
+#, c-format
+msgid ""
+"The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl.\n"
+msgstr "Kernens enheds-driver for %s har ikke en RTC_EPOCH_SET ioctl.\n"
+
+#: hwclock/rtc.c:472
+#, c-format
+msgid "ioctl(RTC_EPOCH_SET) to %s failed"
+msgstr "ioctl(RTC_EPOCH_SET) til %s mislykkedes"
+
+#: login-utils/agetty.c:361
+#, c-format
+msgid "%s: can't exec %s: %m"
+msgstr "%s: kunne ikke udføre %s: %m"
+
+#: login-utils/agetty.c:384
+msgid "can't malloc initstring"
+msgstr "kunne ikke allokere plads til inittekst (malloc)"
+
+#: login-utils/agetty.c:449
+#, c-format
+msgid "bad timeout value: %s"
+msgstr "ugyldig værdi for tidsudløb: %s"
+
+#: login-utils/agetty.c:526
+#, c-format
+msgid "bad speed: %s"
+msgstr "ugyldig hastighed: %s"
+
+#: login-utils/agetty.c:528
+msgid "too many alternate speeds"
+msgstr "for mange forskellige hastigheder"
+
+#: login-utils/agetty.c:630
+#, c-format
+msgid "/dev: chdir() failed: %m"
+msgstr "/dev: chdir() mislykkedes: %m"
+
+#: login-utils/agetty.c:634
+#, c-format
+msgid "/dev/%s: not a character device"
+msgstr "/dev/%s: ikke en tegnenhed"
+
+#: login-utils/agetty.c:643
+#, c-format
+msgid "/dev/%s: cannot open as standard input: %m"
+msgstr "/dev/%s: kan ikke åbne som standard-ind: %m"
+
+#: login-utils/agetty.c:653
+#, c-format
+msgid "%s: not open for read/write"
+msgstr "%s: ikke åben for læsning/skrivning"
+
+#: login-utils/agetty.c:659
+#, c-format
+msgid "%s: dup problem: %m"
+msgstr "%s: dup problem: %m"
+
+#: login-utils/agetty.c:946
+#, c-format
+msgid "user"
+msgstr "bruger"
+
+#: login-utils/agetty.c:946
+#, c-format
+msgid "users"
+msgstr "brugere"
+
+#: login-utils/agetty.c:1031
+#, c-format
+msgid "%s: read: %m"
+msgstr "%s: læst: %m"
+
+#: login-utils/agetty.c:1078
+#, c-format
+msgid "%s: input overrun"
+msgstr "%s: inddataoverløb"
+
+#: login-utils/agetty.c:1207
+#, fuzzy, c-format
+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 ""
+"Brug: %s [-hiLmw] [-l login_program] [-t tidsudløb] [-I initstreng] [-H "
+"login_vært] baud_rate,... linje [termtype]\n"
+"eller\t[-hiLmw] [-l login_program] [-t tidsudløb] [-I initstreng] [-H "
+"login_vært] linje baud_rate,... [termtype]\n"
+
+#: login-utils/checktty.c:91 login-utils/checktty.c:112
+#, c-format
+msgid "login: memory low, login may fail\n"
+msgstr "login: ikke megen hukommelse, login kan mislykkes\n"
+
+#: login-utils/checktty.c:92
+msgid "can't malloc for ttyclass"
+msgstr "kunne ikke allokere hukommelse for ttyclass (malloc)"
+
+#: login-utils/checktty.c:113
+msgid "can't malloc for grplist"
+msgstr "kunne ikke allokere hukommelse for grplist (malloc)"
+
+#: login-utils/checktty.c:554
+#, c-format
+msgid "Login on %s from %s denied by default.\n"
+msgstr "Login på %s fra %s afvises som standard.\n"
+
+#: login-utils/checktty.c:565
+#, c-format
+msgid "Login on %s from %s denied.\n"
+msgstr "Login på %s fra %s afvist.\n"
+
+#: login-utils/chfn.c:133 login-utils/chsh.c:119
+#, c-format
+msgid "%s: you (user %d) don't exist.\n"
+msgstr "%s: du (bruger %d) eksisterer ikke.\n"
+
+#: login-utils/chfn.c:140 login-utils/chsh.c:126
+#, c-format
+msgid "%s: user \"%s\" does not exist.\n"
+msgstr "%s: bruger \"%s\" eksisterer ikke.\n"
+
+#: login-utils/chfn.c:145 login-utils/chsh.c:131
+#, c-format
+msgid "%s: can only change local entries; use yp%s instead.\n"
+msgstr "%s: kan kun ændre lokale indgange; brug yp%s i stedet\n"
+
+#: login-utils/chfn.c:156 login-utils/chsh.c:142
+msgid "Unknown user context"
+msgstr "Ukendt fejl i brugerkontekst"
+
+#: login-utils/chfn.c:157
+#, c-format
+msgid "%s: %s is not authorized to change the finger info of %s\n"
+msgstr "%s: %s er ikke autoriseret til at ændre finger-oplysninger for %s\n"
+
+#: login-utils/chfn.c:164 login-utils/chsh.c:150
+#, c-format
+msgid "%s: Can't set default context for /etc/passwd"
+msgstr "%s: Kan ikke sætte standardkontekst for /etc/passwd"
+
+#: login-utils/chfn.c:178
+#, c-format
+msgid "Changing finger information for %s.\n"
+msgstr "Ændrer finger-information for %s.\n"
+
+#: login-utils/chfn.c:189 login-utils/chsh.c:188 login-utils/login.c:572
+#, fuzzy, c-format
+msgid "%s: PAM failure, aborting: %s\n"
+msgstr "login: PAM-fejl, afbryder: %s\n"
+
+#: login-utils/chfn.c:212 login-utils/chsh.c:211 login-utils/login.c:823
+#: login-utils/newgrp.c:85 login-utils/simpleinit.c:340 mount/lomount.c:744
+#: mount/lomount.c:747
+msgid "Password: "
+msgstr "Adgangskode: "
+
+#: login-utils/chfn.c:215 login-utils/chsh.c:214
+msgid "Incorrect password."
+msgstr "Ugyldig adgangskode."
+
+#: login-utils/chfn.c:226
+#, c-format
+msgid "Finger information not changed.\n"
+msgstr "Finger-informationer ikke ændret.\n"
+
+#: login-utils/chfn.c:328
+#, c-format
+msgid "Usage: %s [ -f full-name ] [ -o office ] "
+msgstr "Brug: %s [ -f fulde-navn ] [ -o kontor ] "
+
+#: login-utils/chfn.c:329
+#, c-format
+msgid ""
+"[ -p office-phone ]\n"
+"\t[ -h home-phone ] "
+msgstr ""
+"[ -p kontor-telefon ]\n"
+"\t[ -h privat-telefon ] "
+
+#: login-utils/chfn.c:330
+#, c-format
+msgid "[ --help ] [ --version ]\n"
+msgstr "[ --help ] [ --version ]\n"
+
+#: login-utils/chfn.c:378
+msgid "Office"
+msgstr ""
+
+#: login-utils/chfn.c:379
+msgid "Office Phone"
+msgstr ""
+
+#: login-utils/chfn.c:380
+msgid "Home Phone"
+msgstr ""
+
+#: login-utils/chfn.c:401 login-utils/chsh.c:321
+#, c-format
+msgid ""
+"\n"
+"Aborted.\n"
+msgstr ""
+"\n"
+"Afbrudt.\n"
+
+#: login-utils/chfn.c:434
+#, c-format
+msgid "field is too long.\n"
+msgstr "felt er for langt.\n"
+
+#: login-utils/chfn.c:442
+#, c-format
+msgid "'%c' is not allowed.\n"
+msgstr "'%c' er ikke tilladt.\n"
+
+#: login-utils/chfn.c:447
+#, c-format
+msgid "Control characters are not allowed.\n"
+msgstr "Kontroltegn er ikke tilladte.\n"
+
+#: login-utils/chfn.c:512
+#, c-format
+msgid "Finger information *NOT* changed.  Try again later.\n"
+msgstr "Finger-informationer *IKKE* ændret. Prøv igen senere.\n"
+
+#: login-utils/chfn.c:515
+#, c-format
+msgid "Finger information changed.\n"
+msgstr "Finger-informationer ændret.\n"
+
+#: login-utils/chsh.c:143
+#, c-format
+msgid "%s: %s is not authorized to change the shell of %s\n"
+msgstr "%s: %s er ikke autoriseret til at ændre skallen for %s\n"
+
+#: login-utils/chsh.c:164
+#, c-format
+msgid ""
+"%s: Running UID doesn't match UID of user we're altering, shell change "
+"denied\n"
+msgstr ""
+"%s: Den kørende UID svarer ikke til den UID, vi udfører ændringer for, "
+"skalændring nægtes\n"
+
+#: login-utils/chsh.c:170
+#, c-format
+msgid "%s: Your shell is not in /etc/shells, shell change denied\n"
+msgstr "%s: Din skal er ikke i /etc/shells, udskiftning af skal afvist\n"
+
+#: login-utils/chsh.c:177
+#, c-format
+msgid "Changing shell for %s.\n"
+msgstr "Udskifter skal for %s.\n"
+
+#: login-utils/chsh.c:222
+msgid "New shell"
+msgstr "Ny skal"
+
+#: login-utils/chsh.c:229
+#, c-format
+msgid "Shell not changed.\n"
+msgstr "Skal ikke udskiftet.\n"
+
+#: login-utils/chsh.c:235
+#, c-format
+msgid "Shell *NOT* changed.  Try again later.\n"
+msgstr "Skal *IKKE* udskiftet. Prøv igen senere.\n"
+
+#: login-utils/chsh.c:238
+#, c-format
+msgid "Shell changed.\n"
+msgstr "Skal udskiftet.\n"
+
+#: login-utils/chsh.c:303
+#, c-format
+msgid ""
+"Usage: %s [ -s shell ] [ --list-shells ] [ --help ] [ --version ]\n"
+"       [ username ]\n"
+msgstr ""
+"Brug: %s [ -s skal ] [ --list-shells ] [ --help ] [ --version ]\n"
+"      [ brugernavn ]\n"
+
+#: login-utils/chsh.c:349
+#, c-format
+msgid "%s: shell must be a full path name.\n"
+msgstr "%s: skallen skal angives med hel sti.\n"
+
+#: login-utils/chsh.c:353
+#, c-format
+msgid "%s: \"%s\" does not exist.\n"
+msgstr "%s: \"%s\" eksisterer ikke.\n"
+
+#: login-utils/chsh.c:357
+#, c-format
+msgid "%s: \"%s\" is not executable.\n"
+msgstr "%s: \"%s\" er ikke kørbar.\n"
+
+#: login-utils/chsh.c:364
+#, c-format
+msgid "%s: '%c' is not allowed.\n"
+msgstr "%s: '%c' er ikke tilladt.\n"
+
+#: login-utils/chsh.c:368
+#, c-format
+msgid "%s: Control characters are not allowed.\n"
+msgstr "%s: Kontroltegn er ikke tilladt.\n"
+
+#: login-utils/chsh.c:375 login-utils/chsh.c:385
+#, c-format
+msgid "Warning: \"%s\" is not listed in /etc/shells.\n"
+msgstr "Advarsel: \"%s\" ikke med i /etc/shells.\n"
+
+#: login-utils/chsh.c:377
+#, c-format
+msgid "%s: \"%s\" is not listed in /etc/shells.\n"
+msgstr "%s: \"%s\" er ikke med i /etc/shells.\n"
+
+#: login-utils/chsh.c:379
+#, fuzzy, c-format
+msgid "%s: Use -l option to see list.\n"
+msgstr "%s: brug tilvalget -l for at se en liste\n"
+
+#: login-utils/chsh.c:386
+#, c-format
+msgid "Use %s -l to see list.\n"
+msgstr "Brug %s -l for at se en liste.\n"
+
+#: login-utils/chsh.c:406
+#, c-format
+msgid "No known shells.\n"
+msgstr "Ingen kendte skaller.\n"
+
+#: login-utils/islocal.c:87
+#, fuzzy, c-format
+msgid "Failed to open %s for reading, exiting."
+msgstr "kunne ikke åbne for læsning af %s"
+
+#: login-utils/last.c:148
+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:284
+msgid "  still logged in"
+msgstr "  stadig logget på"
+
+#: login-utils/last.c:306
+#, c-format
+msgid ""
+"\n"
+"wtmp begins %s"
+msgstr ""
+"\n"
+"wtmp starter %s"
+
+#: login-utils/last.c:362 login-utils/last.c:380 login-utils/last.c:431
+msgid "last: malloc failure.\n"
+msgstr "last: hukommelsesallokerings-fejl (malloc).\n"
+
+#: login-utils/last.c:407
+msgid "last: gethostname"
+msgstr "last: gethostname"
+
+#: login-utils/last.c:456
+#, c-format
+msgid ""
+"\n"
+"interrupted %10.10s %5.5s \n"
+msgstr ""
+"\n"
+"afbrudt %10.10s %5.5s \n"
+
+#: login-utils/login.c:197
+#, c-format
+msgid "FATAL: can't reopen tty: %s"
+msgstr "FATALT: kunne ikke genåbne tty: %s"
+
+#: login-utils/login.c:229
+msgid "FATAL: bad tty"
+msgstr "FATALT: ugyldig tty"
+
+#: login-utils/login.c:436
+#, c-format
+msgid "login: -h for super-user only.\n"
+msgstr "login: -h er kun for superbrugeren.\n"
+
+#: login-utils/login.c:479
+#, c-format
+msgid "usage: login [-fp] [username]\n"
+msgstr "brug: login [-fp] [brugernavn]\n"
+
+#: login-utils/login.c:574
+#, c-format
+msgid "Couldn't initialize PAM: %s"
+msgstr "Kunne ikke klargøre PAM: %s"
+
+#: login-utils/login.c:591
+msgid "login: "
+msgstr "login: "
+
+#: login-utils/login.c:635
+#, c-format
+msgid "FAILED LOGIN %d FROM %s FOR %s, %s"
+msgstr "MISLYKKET LOGIN %d FRA %s FOR %s, %s"
+
+#: login-utils/login.c:640
+#, c-format
+msgid ""
+"Login incorrect\n"
+"\n"
+msgstr ""
+"Login ugyldigt\n"
+"\n"
+
+#: login-utils/login.c:649
+#, c-format
+msgid "TOO MANY LOGIN TRIES (%d) FROM %s FOR %s, %s"
+msgstr "FOR MANGE LOGINFORSØG (%d) FRA %s FOR %s, %s"
+
+#: login-utils/login.c:653
+#, c-format
+msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
+msgstr "MISLYKKET LOGINSESSION FRA %s FOR %s, %s"
+
+#: login-utils/login.c:658
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+"\n"
+"Login ugyldigt\n"
+
+#: login-utils/login.c:686 login-utils/login.c:693 login-utils/login.c:727
+#, c-format
+msgid ""
+"\n"
+"Session setup problem, abort.\n"
+msgstr ""
+"\n"
+"Problem med sessions-opsætning, afbryder.\n"
+
+#: login-utils/login.c:687
+#, c-format
+msgid "NULL user name in %s:%d. Abort."
+msgstr "TOMT brugernavn i %s: %d. Afbryder."
+
+#: login-utils/login.c:694
+#, c-format
+msgid "Invalid user name \"%s\" in %s:%d. Abort."
+msgstr "Ugyldigt brugernavn \"%s\" i %s:%d. Afbryder."
+
+#: login-utils/login.c:713
+#, c-format
+msgid "login: Out of memory\n"
+msgstr "login: Hukommelse opbrugt\n"
+
+#: login-utils/login.c:757
+msgid "Illegal username"
+msgstr "Ugyldigt brugernavn"
+
+#: login-utils/login.c:800
+#, c-format
+msgid "%s login refused on this terminal.\n"
+msgstr "%s login afvist på denne terminal.\n"
+
+#: login-utils/login.c:805
+#, c-format
+msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
+msgstr "LOGIN %s AFVIST FRA %s PÅ TTY %s"
+
+#: login-utils/login.c:809
+#, c-format
+msgid "LOGIN %s REFUSED ON TTY %s"
+msgstr "LOGIN %s AFVIST PÅ TTY %s"
+
+#: login-utils/login.c:863
+#, c-format
+msgid "Login incorrect\n"
+msgstr "Login ugyldigt\n"
+
+#: login-utils/login.c:1088
+#, c-format
+msgid "DIALUP AT %s BY %s"
+msgstr "OPRINGNING KLOKKEN %s AF %s"
+
+#: login-utils/login.c:1095
+#, c-format
+msgid "ROOT LOGIN ON %s FROM %s"
+msgstr "ROOT LOGIN PÅ %s FRA %s"
+
+#: login-utils/login.c:1098
+#, c-format
+msgid "ROOT LOGIN ON %s"
+msgstr "ROOT LOGIN PÅ %s"
+
+#: login-utils/login.c:1101
+#, c-format
+msgid "LOGIN ON %s BY %s FROM %s"
+msgstr "LOGIN PÅ %s AF %s FRA %s"
+
+#: login-utils/login.c:1104
+#, c-format
+msgid "LOGIN ON %s BY %s"
+msgstr "LOGIN PÅ %s AF %s"
+
+#: login-utils/login.c:1125
+#, c-format
+msgid "You have new mail.\n"
+msgstr "Du har ny post.\n"
+
+#: login-utils/login.c:1127
+#, c-format
+msgid "You have mail.\n"
+msgstr "Du har post.\n"
+
+#: login-utils/login.c:1171
+#, c-format
+msgid "login: failure forking: %s"
+msgstr "login: mislykket forgrening: %s"
+
+#: login-utils/login.c:1218
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr "TIOCSCTTY mislykkedes: %m"
+
+#: login-utils/login.c:1224
+msgid "setuid() failed"
+msgstr "setuid() mislykkedes"
+
+#: login-utils/login.c:1230
+#, c-format
+msgid "No directory %s!\n"
+msgstr "Ingen mappe %s!\n"
+
+#: login-utils/login.c:1234
+#, c-format
+msgid "Logging in with home = \"/\".\n"
+msgstr "Logger ind med hjemmemappe = \"/\".\n"
+
+#: login-utils/login.c:1242
+#, c-format
+msgid "login: no memory for shell script.\n"
+msgstr "login: ingen hukommelse for skal-skript.\n"
+
+#: login-utils/login.c:1269
+#, c-format
+msgid "login: couldn't exec shell script: %s.\n"
+msgstr "login: kunne ikke køre skal-skript: %s.\n"
+
+#: login-utils/login.c:1272
+#, c-format
+msgid "login: no shell: %s.\n"
+msgstr "login: ingen skal: %s.\n"
+
+#: login-utils/login.c:1287
+#, c-format
+msgid ""
+"\n"
+"%s login: "
+msgstr ""
+"\n"
+"%s login: "
+
+#: login-utils/login.c:1298
+#, c-format
+msgid "login name much too long.\n"
+msgstr "loginnavn alt for langt.\n"
+
+#: login-utils/login.c:1299
+msgid "NAME too long"
+msgstr "for langt NAVN"
+
+#: login-utils/login.c:1306
+#, c-format
+msgid "login names may not start with '-'.\n"
+msgstr "loginnavne må ikke starte med '-'.\n"
+
+#: login-utils/login.c:1316
+#, c-format
+msgid "too many bare linefeeds.\n"
+msgstr "for mange tomme linjeskift,\n"
+
+#: login-utils/login.c:1317
+msgid "EXCESSIVE linefeeds"
+msgstr "VOLDSOMT MANGE linjeskift"
+
+#: login-utils/login.c:1349
+#, c-format
+msgid "Login timed out after %d seconds\n"
+msgstr "Login udløb efter %d sekunder\n"
+
+#: login-utils/login.c:1437
+#, c-format
+msgid "Last login: %.*s "
+msgstr "Sidste login: %.*s "
+
+#: login-utils/login.c:1441
+#, c-format
+msgid "from %.*s\n"
+msgstr "fra %.*s\n"
+
+#: login-utils/login.c:1444
+#, c-format
+msgid "on %.*s\n"
+msgstr "på %.*s\n"
+
+#: login-utils/login.c:1470
+#, c-format
+msgid "LOGIN FAILURE FROM %s, %s"
+msgstr "LOGINFEJL FRA %s, %s"
+
+#: login-utils/login.c:1473
+#, c-format
+msgid "LOGIN FAILURE ON %s, %s"
+msgstr "LOGINFEJL på %s, %s"
+
+#: login-utils/login.c:1477
+#, c-format
+msgid "%d LOGIN FAILURES FROM %s, %s"
+msgstr "%d LOGINFEJL fra %s, %s"
+
+#: login-utils/login.c:1480
+#, c-format
+msgid "%d LOGIN FAILURES ON %s, %s"
+msgstr "%d LOGINFEJL PÅ %s, %s"
+
+#: login-utils/mesg.c:89
+#, c-format
+msgid "is y\n"
+msgstr "er j\n"
+
+#: login-utils/mesg.c:92
+#, c-format
+msgid "is n\n"
+msgstr "er n\n"
+
+#: login-utils/mesg.c:112
+#, c-format
+msgid "usage: mesg [y | n]\n"
+msgstr "brug: mesg [j | n]\n"
+
+#: login-utils/newgrp.c:105
+msgid "newgrp: Who are you?"
+msgstr "newgrp: Hvem er du?"
+
+#: login-utils/newgrp.c:113 login-utils/newgrp.c:127
+msgid "newgrp: setgid"
+msgstr "newgrp: setgid"
+
+#: login-utils/newgrp.c:120 login-utils/newgrp.c:122
+msgid "newgrp: No such group."
+msgstr "newgrp: Ingen sådan gruppe."
+
+#: login-utils/newgrp.c:131
+msgid "newgrp: Permission denied"
+msgstr "newgrp: Nægtet adgang"
+
+#: login-utils/newgrp.c:138
+msgid "newgrp: setuid"
+msgstr "newgrp: setuid"
+
+#: login-utils/newgrp.c:144
+msgid "No shell"
+msgstr "Ingen skal"
+
+#: login-utils/shutdown.c:115
+#, c-format
+msgid "Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+msgstr "Brug: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+
+#: login-utils/shutdown.c:133
+msgid "Shutdown process aborted"
+msgstr "Nedlukningsproces afbrudt"
+
+#: login-utils/shutdown.c:164
+#, c-format
+msgid "%s: Only root can shut a system down.\n"
+msgstr "%s: Kun root kan lukke systemet ned.\n"
+
+#: login-utils/shutdown.c:258
+#, c-format
+msgid "That must be tomorrow, can't you wait till then?\n"
+msgstr "Det må være i morgen. Kan du ikke vente så længe?\n"
+
+#: login-utils/shutdown.c:309
+msgid "for maintenance; bounce, bounce"
+msgstr "for vedligeholdelse; hop af, hop af"
+
+#: login-utils/shutdown.c:338
+msgid "The system is being shut down within 5 minutes"
+msgstr "Systemet lukkes indenfor 5 minutter"
+
+#: login-utils/shutdown.c:342
+msgid "Login is therefore prohibited."
+msgstr "Derfor er login spærret."
+
+#: login-utils/shutdown.c:364
+#, c-format
+msgid "rebooted by %s: %s"
+msgstr "genstartet af %s: %s"
+
+#: login-utils/shutdown.c:367
+#, c-format
+msgid "halted by %s: %s"
+msgstr "standset af %s: %s"
+
+#: login-utils/shutdown.c:431
+msgid ""
+"\n"
+"Why am I still alive after reboot?"
+msgstr ""
+"\n"
+"Hvorfor kører jeg stadig efter genstart?"
+
+#: login-utils/shutdown.c:433
+msgid ""
+"\n"
+"Now you can turn off the power..."
+msgstr ""
+"\n"
+"Du kan nu slukke for strømmen..."
+
+#: login-utils/shutdown.c:449
+#, c-format
+msgid "Calling kernel power-off facility...\n"
+msgstr "Kalder kernens sluknings-facilitet...\n"
+
+#: login-utils/shutdown.c:452
+#, c-format
+msgid "Error powering off\t%s\n"
+msgstr "Fejl ved slukning\t%s\n"
+
+#: login-utils/shutdown.c:460
+#, c-format
+msgid "Executing the program \"%s\" ...\n"
+msgstr "Kører programmet \"%s\" ...\n"
+
+#: login-utils/shutdown.c:463
+#, c-format
+msgid "Error executing\t%s\n"
+msgstr "Fejl ved kørsel af\t%s\n"
+
+#: login-utils/shutdown.c:490
+#, c-format
+msgid "URGENT: broadcast message from %s:"
+msgstr "HASTER: rundsendt besked fra %s:"
+
+#: login-utils/shutdown.c:496
+#, c-format
+msgid "System going down in %d hours %d minutes"
+msgstr "Systemet lukkes ned om %d timer og %d minutter"
+
+#: login-utils/shutdown.c:499
+#, c-format
+msgid "System going down in 1 hour %d minutes"
+msgstr "Systemet lukkes ned om 1 time og %d minutter"
+
+#: login-utils/shutdown.c:502
+#, c-format
+msgid "System going down in %d minutes\n"
+msgstr "Systemet lukkes ned om %d minutter\n"
+
+#: login-utils/shutdown.c:505
+#, c-format
+msgid "System going down in 1 minute\n"
+msgstr "Systemet lukkes ned om 1 minut\n"
+
+#: login-utils/shutdown.c:507
+#, c-format
+msgid "System going down IMMEDIATELY!\n"
+msgstr "Systemet lukkes ned ØJEBLIKKELIGT!\n"
+
+#: login-utils/shutdown.c:512
+#, c-format
+msgid "\t... %s ...\n"
+msgstr "\t... %s ...\n"
+
+#: login-utils/shutdown.c:569
+msgid "Cannot fork for swapoff. Shrug!"
+msgstr "Kunne ikke forgrene for swapoff. Suk!"
+
+#: login-utils/shutdown.c:577
+msgid "Cannot exec swapoff, hoping umount will do the trick."
+msgstr "Kunne ikke udføre swapoff. Håber, at umount vil klare det."
+
+#: login-utils/shutdown.c:596
+msgid "Cannot fork for umount, trying manually."
+msgstr "Kunne ikke forgrene umount, forsøger selv."
+
+#: login-utils/shutdown.c:605
+#, c-format
+msgid "Cannot exec %s, trying umount.\n"
+msgstr "Kan ikke udføre %s, forsøger afmontering med umount.\n"
+
+#: login-utils/shutdown.c:609
+msgid "Cannot exec umount, giving up on umount."
+msgstr "Kunne ikke udføre umount, opgiver afmontering."
+
+#: login-utils/shutdown.c:614
+msgid "Unmounting any remaining filesystems..."
+msgstr "Afmonterer resterende filsystemer..."
+
+#: login-utils/shutdown.c:661
+#, c-format
+msgid "shutdown: Couldn't umount %s: %s\n"
+msgstr "shutdown: Kunne ikke afmontere %s: %s\n"
+
+#: login-utils/simpleinit.c:132
+msgid "Booting to single user mode.\n"
+msgstr "Starter op i enkeltbrugertilstand.\n"
+
+#: login-utils/simpleinit.c:136
+msgid "exec of single user shell failed\n"
+msgstr "udførelse af enkeltbruger-skal mislykkedes\n"
+
+#: login-utils/simpleinit.c:140
+msgid "fork of single user shell failed\n"
+msgstr "forgrening af enkeltbruger-skal mislykkedes\n"
+
+#: login-utils/simpleinit.c:208
+msgid "error opening fifo\n"
+msgstr "fejl ved åbning af fifo\n"
+
+#: login-utils/simpleinit.c:212
+msgid "error setting close-on-exec on /dev/initctl"
+msgstr "fejl under sætning af close-on-exec på /dev/initctl"
+
+#: login-utils/simpleinit.c:259
+msgid "error running finalprog\n"
+msgstr "fejl ved kørsel af finalprog\n"
+
+#: login-utils/simpleinit.c:263
+msgid "error forking finalprog\n"
+msgstr "fejl ved forsøg på at spalte processen finalprog\n"
+
+#: login-utils/simpleinit.c:345
+msgid ""
+"\n"
+"Wrong password.\n"
+msgstr ""
+"\n"
+"Forkert password.\n"
+
+#: login-utils/simpleinit.c:418
+msgid "lstat of path failed\n"
+msgstr "kunne ikke finde sti med lstat\n"
+
+#: login-utils/simpleinit.c:426
+msgid "stat of path failed\n"
+msgstr "kunne ikke finde sti\n"
+
+#: login-utils/simpleinit.c:434
+msgid "open of directory failed\n"
+msgstr "kunne ikke åbne mappe\n"
+
+#: login-utils/simpleinit.c:501
+#, c-format
+msgid "respawning: \"%s\" too fast: quenching entry\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:509
+msgid "fork failed\n"
+msgstr "forgrening mislykkedes\n"
+
+#: login-utils/simpleinit.c:540 text-utils/more.c:1629
+msgid "exec failed\n"
+msgstr "programkørsel mislykkedes\n"
+
+#: login-utils/simpleinit.c:564
+msgid "cannot open inittab\n"
+msgstr "kunne ikke åbne inittab\n"
+
+#: login-utils/simpleinit.c:631
+msgid "no TERM or cannot stat tty\n"
+msgstr "ingen TERM eller kunne ikke finde tty\n"
+
+#: login-utils/simpleinit.c:938
+#, fuzzy, c-format
+msgid "error stopping service: \"%s\"\n"
+msgstr "fejl ved forsøg på at stoppe tjenesten: \"%s\""
+
+#: login-utils/simpleinit.c:950
+#, fuzzy, c-format
+msgid "Stopped service: %s\n"
+msgstr "fejl ved forsøg på at stoppe tjenesten: \"%s\""
+
+#: login-utils/simpleinit.c:1070
+#, fuzzy, c-format
+msgid "error running programme: \"%s\"\n"
+msgstr "fejl ved kørsel af finalprog\n"
+
+#: login-utils/ttymsg.c:75
+msgid "too many iov's (change code in wall/ttymsg.c)"
+msgstr "for mange iov'er (ændr kode i wall/ttymsg.c)"
+
+#: login-utils/ttymsg.c:85
+#, c-format
+msgid "excessively long line arg"
+msgstr "utroligt lang linjeparameter"
+
+#: login-utils/ttymsg.c:140
+#, c-format
+msgid "cannot fork"
+msgstr "kunne ikke forgrene (fork)"
+
+#: login-utils/ttymsg.c:144
+#, c-format
+msgid "fork: %s"
+msgstr "fork: %s"
+
+#: login-utils/ttymsg.c:174
+#, c-format
+msgid "%s: BAD ERROR"
+msgstr "%s: UGYLDIG FEJL"
+
+#: login-utils/vipw.c:143
+#, c-format
+msgid "%s: the password file is busy.\n"
+msgstr "%s: adgangskodefilen er optaget.\n"
+
+#: login-utils/vipw.c:146
+#, c-format
+msgid "%s: the group file is busy.\n"
+msgstr "%s: gruppefilen er optaget.\n"
+
+#: login-utils/vipw.c:162
+#, c-format
+msgid "%s: the %s file is busy (%s present)\n"
+msgstr "%s: filen %s er optaget. (%s eksisterer)\n"
+
+#: login-utils/vipw.c:168
+#, c-format
+msgid "%s: can't link %s: %s\n"
+msgstr "%s: kunne ikke lænke %s: %s\n"
+
+#: login-utils/vipw.c:202
+#, c-format
+msgid "%s: Can't get context for %s"
+msgstr "%s: Kan ikke få kontekst for %s"
+
+#: login-utils/vipw.c:208
+#, c-format
+msgid "%s: Can't set context for %s"
+msgstr "%s: Kan ikke sætte kontekst for %s"
+
+#: login-utils/vipw.c:217
+#, c-format
+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"
+
+#: login-utils/vipw.c:240
+#, c-format
+msgid "%s: Cannot fork\n"
+msgstr "%s: Kunne ikke forgrene (fork)\n"
+
+#: login-utils/vipw.c:276
+#, c-format
+msgid "%s: %s unchanged\n"
+msgstr "%s: %s uændret\n"
+
+#: login-utils/vipw.c:297
+#, c-format
+msgid "%s: no changes made\n"
+msgstr "%s: intet ændret\n"
+
+#: login-utils/vipw.c:350
+#, 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:351
+#, c-format
+msgid "You are using shadow passwords on this system.\n"
+msgstr "Du bruger skygge-adgangskoder (shadow passwords) på dette system.\n"
+
+#: login-utils/vipw.c:352
+#, c-format
+msgid "Would you like to edit %s now [y/n]? "
+msgstr "Vil du redigere %s nu [j/n]? "
+
+#: login-utils/wall.c:112
+#, c-format
+msgid "usage: %s [file]\n"
+msgstr "brug: %s [fil]\n"
+
+#: login-utils/wall.c:167
+#, c-format
+msgid "%s: can't open temporary file.\n"
+msgstr "%s: kunne ikke åbne midlertidig fil.\n"
+
+#: login-utils/wall.c:194
+#, c-format
+msgid "Broadcast Message from %s@%s"
+msgstr "Rundsendt meddelelse fra %s@%s"
+
+#: login-utils/wall.c:212
+#, c-format
+msgid "%s: will not read %s - use stdin.\n"
+msgstr "%s: kan ikke læse %s - brug standard-inddata.\n"
+
+#: login-utils/wall.c:217
+#, c-format
+msgid "%s: can't read %s.\n"
+msgstr "%s: kunne ikke læse %s.\n"
+
+#: login-utils/wall.c:240
+#, c-format
+msgid "%s: can't stat temporary file.\n"
+msgstr "%s: kunne ikke finde midlertidig fil.\n"
+
+#: login-utils/wall.c:250
+#, c-format
+msgid "%s: can't read temporary file.\n"
+msgstr "%s: kunne ikke læse midlertidig fil.\n"
+
+#: misc-utils/cal.c:362 misc-utils/cal.c:374
+#, fuzzy, c-format
+msgid "illegal day value: use 1-%d"
+msgstr "ugyldig årsværdi: brug 1-9999"
+
+#: misc-utils/cal.c:366
+msgid "illegal month value: use 1-12"
+msgstr "ugyldig månedsværdi: brug 1-12"
+
+#: misc-utils/cal.c:370
+msgid "illegal year value: use 1-9999"
+msgstr "ugyldig årsværdi: brug 1-9999"
+
+#: misc-utils/cal.c:464
+#, c-format
+msgid "%s %d"
+msgstr "%s %d"
+
+#: misc-utils/cal.c:856
+#, fuzzy, c-format
+msgid "usage: cal [-13smjyV] [[[day] month] year]\n"
+msgstr "brug: cal [-13smjyV] [[måned] år]\n"
+
+#: misc-utils/ddate.c:203
+#, c-format
+msgid "usage: %s [+format] [day month year]\n"
+msgstr "brug: %s [+format] [dag måned år]\n"
+
+#: misc-utils/ddate.c:250
+msgid "St. Tib's Day"
+msgstr "St. Tibs-dag"
+
+#: misc-utils/findfs.c:24
+#, c-format
+msgid "Usage: %s LABEL=<label>|UUID=<uuid>\n"
+msgstr ""
+
+#: misc-utils/findfs.c:55
+#, fuzzy, c-format
+msgid "unable to resolve '%s'"
+msgstr "kunne ikke åbne %s"
+
+#: misc-utils/kill.c:207
+#, c-format
+msgid "%s: unknown signal %s\n"
+msgstr "%s: ukendt signal %s\n"
+
+#: misc-utils/kill.c:270
+#, c-format
+msgid "%s: can't find process \"%s\"\n"
+msgstr "%s: kunne ikke finde processen \"%s\"\n"
+
+#: misc-utils/kill.c:314
+#, c-format
+msgid "%s: unknown signal %s; valid signals:\n"
+msgstr "%s: ukendt signal %s; gyldige signaler:\n"
+
+#: misc-utils/kill.c:354
+#, c-format
+msgid "usage: %s [ -s signal | -p ] [ -a ] pid ...\n"
+msgstr "brug: %s [ -s signal | -p ] [ -a ] pid ...\n"
+
+#: misc-utils/kill.c:355
+#, c-format
+msgid "       %s -l [ signal ]\n"
+msgstr "       %s -l [ signal ]\n"
+
+#: misc-utils/logger.c:67
+#, fuzzy, c-format
+msgid "logger: openlog: pathname too long\n"
+msgstr "loginnavn alt for langt.\n"
+
+#: misc-utils/logger.c:75
+#, fuzzy, c-format
+msgid "socket: %s.\n"
+msgstr "Blokstørrelse: %d\n"
+
+#: misc-utils/logger.c:80
+#, c-format
+msgid "connect: %s.\n"
+msgstr ""
+
+#: misc-utils/logger.c:139
+#, c-format
+msgid "logger: %s: %s.\n"
+msgstr "logger: %s: %s.\n"
+
+#: misc-utils/logger.c:246
+#, c-format
+msgid "logger: unknown facility name: %s.\n"
+msgstr "logger: ukendt facilitetsnavn: %s.\n"
+
+#: misc-utils/logger.c:258
+#, c-format
+msgid "logger: unknown priority name: %s.\n"
+msgstr "logger: ukendt prioritetsnavn: %s.\n"
+
+#: misc-utils/logger.c:285
+#, c-format
+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"
+
+#: misc-utils/look.c:351
+#, c-format
+msgid "usage: look [-dfa] [-t char] string [file]\n"
+msgstr "brug: look [-dfa] [-t tegn] streng [fil]\n"
+
+#: misc-utils/mcookie.c:105 misc-utils/mcookie.c:132
+#, c-format
+msgid "Could not open %s\n"
+msgstr "Kunne ikke åbne %s\n"
+
+#: misc-utils/mcookie.c:109 misc-utils/mcookie.c:128
+#, c-format
+msgid "Got %d bytes from %s\n"
+msgstr "Fik %d byte fra %s\n"
+
+#: misc-utils/namei.c:144 misc-utils/namei.c:198 misc-utils/namei.c:220
+#: misc-utils/namei.c:227 misc-utils/namei.c:248
+#, fuzzy
+msgid "out of memory?"
+msgstr "løbet tør for hukommelse?\n"
+
+#: misc-utils/namei.c:189
+#, fuzzy, c-format
+msgid "failed to read symlink: %s"
+msgstr "ioctl() kunne ikke aflæse tiden fra %s"
+
+#: misc-utils/namei.c:229
+#, fuzzy, c-format
+msgid "could not stat '%s'"
+msgstr "kunne ikke finde enheden %s"
+
+#: misc-utils/namei.c:411
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage: %s [options] pathname [pathname ...]\n"
+msgstr "brug: namei [-mx] sti [sti ...]\n"
+
+#: misc-utils/namei.c:412
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"%d partitioner:\n"
+
+#: misc-utils/namei.c:415
+#, c-format
+msgid ""
+" -h, --help          displays this help text\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:423
+#, c-format
+msgid ""
+"\n"
+"For more information see namei(1).\n"
+msgstr ""
+
+#: misc-utils/namei.c:484
+#, fuzzy, c-format
+msgid "failed to stat: %s"
+msgstr "kunne ikke finde %s"
+
+#: misc-utils/namei.c:495
+#, c-format
+msgid "%s: exceeded limit of symlinks"
+msgstr ""
+
+#: misc-utils/rename.c:38
+#, c-format
+msgid "%s: out of memory\n"
+msgstr "%s: hukommelse opbrugt\n"
+
+#: misc-utils/rename.c:56
+#, c-format
+msgid "%s: renaming %s to %s failed: %s\n"
+msgstr "%s: kunne ikke omdøbe %s til %s: %s\n"
+
+#: misc-utils/rename.c:86
+#, c-format
+msgid "call: %s from to files...\n"
+msgstr "kald: %s fra til filer...\n"
+
+#: misc-utils/script.c:110
+#, c-format
+msgid ""
+"Warning: `%s' is a link.\n"
+"Use `%s [options] %s' if you really want to use it.\n"
+"Script not started.\n"
+msgstr ""
+"Advarsel: '%s' er en lænke.\n"
+"Brug '%s [tilvalg] %s', hvis du virkelig vil bruge den.\n"
+"Skript blev ikke startet.\n"
+
+#: misc-utils/script.c:173
+#, c-format
+msgid "usage: script [-a] [-f] [-q] [-t] [file]\n"
+msgstr "brug: script [-a] [-f] [-q] [-t] [fil]\n"
+
+#: misc-utils/script.c:196
+#, c-format
+msgid "Script started, file is %s\n"
+msgstr "Skript påbegyndt, filen er %s\n"
+
+#: misc-utils/script.c:244
+#, fuzzy, c-format
+msgid "%s: write error %d: %s\n"
+msgstr "skrivefejl på %s\n"
+
+#: misc-utils/script.c:304
+#, c-format
+msgid "Script started on %s"
+msgstr "Skript påbegyndt på %s"
+
+#: misc-utils/script.c:347
+#, fuzzy, c-format
+msgid "%s: write error: %s\n"
+msgstr "skrivefejl på %s\n"
+
+#: misc-utils/script.c:354
+#, fuzzy, c-format
+msgid "%s: cannot write script file, error: %s\n"
+msgstr "%s: kunne ikke finde enheden for %s\n"
+
+#: misc-utils/script.c:430
+#, c-format
+msgid ""
+"\n"
+"Script done on %s"
+msgstr ""
+"\n"
+"Skript kørt på %s"
+
+#: misc-utils/script.c:437
+#, c-format
+msgid "Script done, file is %s\n"
+msgstr "Skript færdigt, filen er %s\n"
+
+#: misc-utils/script.c:448
+#, c-format
+msgid "openpty failed\n"
+msgstr "openpty mislykkedes\n"
+
+#: misc-utils/script.c:482
+#, c-format
+msgid "Out of pty's\n"
+msgstr "Løbet tør for pty-er\n"
+
+#: misc-utils/scriptreplay.c:38
+#, c-format
+msgid "%s <timingfile> [<typescript> [<divisor>]]\n"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:53
+#, c-format
+msgid "expected a number, but got '%s'"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:56 misc-utils/scriptreplay.c:60
+#, c-format
+msgid "divisor '%s'"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:104
+#, fuzzy
+msgid "write to stdout failed"
+msgstr "Åbning af %s mislykkedes"
+
+#: misc-utils/scriptreplay.c:110
+#, c-format
+msgid "unexpected end of file on %s"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:112
+#, fuzzy, c-format
+msgid "failed to read typescript file %s"
+msgstr "ioctl() kunne ikke aflæse tiden fra %s"
+
+#: misc-utils/scriptreplay.c:145
+#, fuzzy, c-format
+msgid "cannot open timing file %s"
+msgstr "Kan ikke åbne filen '%s'"
+
+#: misc-utils/scriptreplay.c:148
+#, fuzzy, c-format
+msgid "cannot open typescript file %s"
+msgstr "Kan ikke åbne filen '%s'"
+
+#: misc-utils/scriptreplay.c:164
+#, fuzzy, c-format
+msgid "failed to read timing file %s"
+msgstr "ioctl() kunne ikke aflæse tiden fra %s"
+
+#: misc-utils/scriptreplay.c:166
+#, fuzzy, c-format
+msgid "timings file %s: %lu: unexpected format"
+msgstr "%s: Uventet filafslutning i %s-fil\n"
+
+#: misc-utils/setterm.c:763
+#, c-format
+msgid "%s: Argument error, usage\n"
+msgstr "%s: Parameterfejl, brug\n"
+
+#: misc-utils/setterm.c:766
+#, c-format
+msgid "  [ -term terminal_name ]\n"
+msgstr "  [ -term terminal_navn ]\n"
+
+#: misc-utils/setterm.c:767
+#, c-format
+msgid "  [ -reset ]\n"
+msgstr "  [ -reset ]\n"
+
+#: misc-utils/setterm.c:768
+#, c-format
+msgid "  [ -initialize ]\n"
+msgstr "  [ -initialize ]\n"
+
+#: misc-utils/setterm.c:769
+#, c-format
+msgid "  [ -cursor [on|off] ]\n"
+msgstr "  [ -cursor [on|off] ]\n"
+
+#: misc-utils/setterm.c:771
+#, c-format
+msgid "  [ -snow [on|off] ]\n"
+msgstr "  [ -snow [on|off] ]\n"
+
+#: misc-utils/setterm.c:772
+#, c-format
+msgid "  [ -softscroll [on|off] ]\n"
+msgstr "  [ -softscroll [on|off] ]\n"
+
+#: misc-utils/setterm.c:774
+#, c-format
+msgid "  [ -repeat [on|off] ]\n"
+msgstr "  [ -repeat [on|off] ]\n"
+
+#: misc-utils/setterm.c:775
+#, c-format
+msgid "  [ -appcursorkeys [on|off] ]\n"
+msgstr "  [ -appcursorkeys [on|off] ]\n"
+
+#: misc-utils/setterm.c:776
+#, c-format
+msgid "  [ -linewrap [on|off] ]\n"
+msgstr "  [ -linewrap [on|off] ]\n"
+
+#: misc-utils/setterm.c:777
+#, c-format
+msgid "  [ -default ]\n"
+msgstr "  [ -default ]\n"
+
+#: misc-utils/setterm.c:778
+#, c-format
+msgid "  [ -foreground black|blue|green|cyan"
+msgstr "  [ -foreground black|blue|green|cyan"
+
+#: misc-utils/setterm.c:779 misc-utils/setterm.c:781
+#, c-format
+msgid "|red|magenta|yellow|white|default ]\n"
+msgstr "|red|magenta|yellow|white|default ]\n"
+
+#: misc-utils/setterm.c:780
+#, c-format
+msgid "  [ -background black|blue|green|cyan"
+msgstr "  [ -background black|blue|green|cyan"
+
+#: misc-utils/setterm.c:782
+#, c-format
+msgid "  [ -ulcolor black|grey|blue|green|cyan"
+msgstr "  [ -ulcolor black|grey|blue|green|cyan"
+
+#: misc-utils/setterm.c:783 misc-utils/setterm.c:785 misc-utils/setterm.c:787
+#: misc-utils/setterm.c:789
+#, c-format
+msgid "|red|magenta|yellow|white ]\n"
+msgstr "|red|magenta|yellow|white ]\n"
+
+#: misc-utils/setterm.c:784
+#, c-format
+msgid "  [ -ulcolor bright blue|green|cyan"
+msgstr "  [ -ulcolor bright blue|green|cyan"
+
+#: misc-utils/setterm.c:786
+#, c-format
+msgid "  [ -hbcolor black|grey|blue|green|cyan"
+msgstr "  [ -hbcolor black|grey|blue|green|cyan"
+
+#: misc-utils/setterm.c:788
+#, c-format
+msgid "  [ -hbcolor bright blue|green|cyan"
+msgstr "  [ -hbcolor bright blue|green|cyan"
+
+#: misc-utils/setterm.c:791
+#, c-format
+msgid "  [ -standout [ attr ] ]\n"
+msgstr "  [ -standout [ attr ] ]\n"
+
+#: misc-utils/setterm.c:793
+#, c-format
+msgid "  [ -inversescreen [on|off] ]\n"
+msgstr "  [ -inversescreen [on|off] ]\n"
+
+#: misc-utils/setterm.c:794
+#, c-format
+msgid "  [ -bold [on|off] ]\n"
+msgstr "  [ -bold [on|off] ]\n"
+
+#: misc-utils/setterm.c:795
+#, c-format
+msgid "  [ -half-bright [on|off] ]\n"
+msgstr "  [ -half-bright [on|off] ]\n"
+
+#: misc-utils/setterm.c:796
+#, c-format
+msgid "  [ -blink [on|off] ]\n"
+msgstr "  [ -blink [on|off] ]\n"
+
+#: misc-utils/setterm.c:797
+#, c-format
+msgid "  [ -reverse [on|off] ]\n"
+msgstr "  [ -reverse [on|off] ]\n"
+
+#: misc-utils/setterm.c:798
+#, c-format
+msgid "  [ -underline [on|off] ]\n"
+msgstr "  [ -underline [on|off] ]\n"
+
+#: misc-utils/setterm.c:799
+#, c-format
+msgid "  [ -store ]\n"
+msgstr "  [ -store ]\n"
+
+#: misc-utils/setterm.c:800
+#, c-format
+msgid "  [ -clear [all|rest] ]\n"
+msgstr "  [ -clear [all|rest] ]\n"
+
+#: misc-utils/setterm.c:801
+#, c-format
+msgid "  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n"
+msgstr "  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n"
+
+#: misc-utils/setterm.c:802
+#, c-format
+msgid "  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n"
+msgstr "  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n"
+
+#: misc-utils/setterm.c:803
+#, c-format
+msgid "  [ -regtabs [1-160] ]\n"
+msgstr "  [ -regtabs [1-160] ]\n"
+
+#: misc-utils/setterm.c:804
+#, fuzzy, c-format
+msgid "  [ -blank [0-60|force|poke] ]\n"
+msgstr "  [ -blank [0-60] ]\n"
+
+#: misc-utils/setterm.c:805
+#, c-format
+msgid "  [ -dump   [1-NR_CONSOLES] ]\n"
+msgstr "  [ -dump   [1-ANTAL_KONSOLLER] ]\n"
+
+#: misc-utils/setterm.c:806
+#, c-format
+msgid "  [ -append [1-NR_CONSOLES] ]\n"
+msgstr "  [ -append [1-ANTAL_KONSOLLER] ]\n"
+
+#: misc-utils/setterm.c:807
+#, c-format
+msgid "  [ -file dumpfilename ]\n"
+msgstr "  [ -file dumpfilnavn ]\n"
+
+#: misc-utils/setterm.c:808
+#, c-format
+msgid "  [ -msg [on|off] ]\n"
+msgstr "  [ -msg [on|off] ]\n"
+
+#: misc-utils/setterm.c:809
+#, c-format
+msgid "  [ -msglevel [0-8] ]\n"
+msgstr "  [ -msglevel [0-8] ]\n"
+
+#: misc-utils/setterm.c:810
+#, c-format
+msgid "  [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+msgstr "  [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+
+#: misc-utils/setterm.c:811
+#, c-format
+msgid "  [ -powerdown [0-60] ]\n"
+msgstr "  [ -powerdown [0-60] ]\n"
+
+#: misc-utils/setterm.c:812
+#, c-format
+msgid "  [ -blength [0-2000] ]\n"
+msgstr "  [ -blength [0-2000] ]\n"
+
+#: misc-utils/setterm.c:813
+#, c-format
+msgid "  [ -bfreq freqnumber ]\n"
+msgstr "  [ -bfreq freqnumber ]\n"
+
+#: misc-utils/setterm.c:1065
+#, fuzzy, c-format
+msgid "cannot force blank\n"
+msgstr "kunne ikke forgrene (fork)"
+
+#: misc-utils/setterm.c:1069
+#, fuzzy, c-format
+msgid "cannot force unblank\n"
+msgstr "kunne ikke forgrene (fork)"
+
+#: misc-utils/setterm.c:1075
+#, fuzzy, c-format
+msgid "cannot get blank status\n"
+msgstr "kunne ikke åbne %s\n"
+
+#: misc-utils/setterm.c:1087
+#, c-format
+msgid "cannot (un)set powersave mode\n"
+msgstr "kan ikke ændre strømsparetilstand\n"
+
+#: misc-utils/setterm.c:1126 misc-utils/setterm.c:1134
+#, c-format
+msgid "klogctl error: %s\n"
+msgstr "klogctl fejl: %s\n"
+
+#: misc-utils/setterm.c:1200
+#, c-format
+msgid "Error writing screendump\n"
+msgstr "Fejl ved skrivning af skærmkopi\n"
+
+#: misc-utils/setterm.c:1207
+#, fuzzy, c-format
+msgid "Couldn't read %s\n"
+msgstr "Kunne ikke åbne %s\n"
+
+#: misc-utils/setterm.c:1261
+#, c-format
+msgid "%s: $TERM is not defined.\n"
+msgstr "%s: $TERM er ikke defineret.\n"
+
+#: misc-utils/uuidd.c:46
+#, fuzzy, c-format
+msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n"
+msgstr "brug: last [-#] [-f fil] [-t tty] [-h vært] [bruger ...]\n"
+
+#: misc-utils/uuidd.c:48
+#, c-format
+msgid "       %s [-r|t] [-n num] [-s socketpath]\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:50
+#, fuzzy, c-format
+msgid "       %s -k\n"
+msgstr "       %s -l [ signal ]\n"
+
+#: misc-utils/uuidd.c:152
+#, fuzzy
+msgid "bad arguments"
+msgstr "col: ugyldigt -l parameter %s.\n"
+
+#: misc-utils/uuidd.c:159
+#, fuzzy
+msgid "socket"
+msgstr "NFS-sokkel"
+
+#: misc-utils/uuidd.c:170
+#, fuzzy
+msgid "connect"
+msgstr "NFS-forbindelse"
+
+#: misc-utils/uuidd.c:189
+#, fuzzy
+msgid "write"
+msgstr "Skriv"
+
+#: misc-utils/uuidd.c:197
+#, fuzzy
+msgid "read count"
+msgstr "læs %c\n"
+
+#: misc-utils/uuidd.c:203
+msgid "bad response length"
+msgstr ""
+
+#: misc-utils/uuidd.c:268
+#, c-format
+msgid "uuidd daemon already running at pid %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:276
+#, c-format
+msgid "Couldn't create unix stream socket: %s"
+msgstr ""
+
+#: misc-utils/uuidd.c:305
+#, fuzzy, c-format
+msgid "Couldn't bind unix socket %s: %s\n"
+msgstr "Kunne ikke åbne %s: %s\n"
+
+#: misc-utils/uuidd.c:313
+#, fuzzy, c-format
+msgid "Couldn't listen on unix socket %s: %s\n"
+msgstr "Kunne ikke åbne %s: %s\n"
+
+#: misc-utils/uuidd.c:351
+#, fuzzy, c-format
+msgid "Error reading from client, len = %d\n"
+msgstr "Fejl ved læsning af %s\n"
+
+#: misc-utils/uuidd.c:359
+#, c-format
+msgid "operation %d, incoming num = %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:378
+#, c-format
+msgid "Generated time UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:388
+#, c-format
+msgid "Generated random UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:397
+#, c-format
+msgid "Generated time UUID %s and %d following\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:415
+#, c-format
+msgid "Generated %d UUID's:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:427
+#, fuzzy, c-format
+msgid "Invalid operation %d\n"
+msgstr "ugyldigt id"
+
+#: misc-utils/uuidd.c:468 misc-utils/uuidd.c:489
+#, fuzzy, c-format
+msgid "Bad number: %s\n"
+msgstr "%s: ugyldig værdi\n"
+
+#: misc-utils/uuidd.c:524 misc-utils/uuidd.c:551
+#, fuzzy, c-format
+msgid "Error calling uuidd daemon (%s): %s\n"
+msgstr "fejl ved ændring af filtilstand for %s: %s\n"
+
+#: misc-utils/uuidd.c:534
+#, c-format
+msgid "%s and subsequent %d UUID's\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:536
+#, c-format
+msgid "List of UUID's:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:557
+#, c-format
+msgid "Unexpected reply length from server %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:574
+#, c-format
+msgid "Couldn't kill uuidd running at pid %d: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:580
+#, c-format
+msgid "Killed uuidd running at pid %d\n"
+msgstr ""
+
+#: misc-utils/uuidgen.c:32
+#, fuzzy, c-format
+msgid "Usage: %s [-r] [-t]\n"
+msgstr "Brug: %s [tilvalg] enhed ...\n"
+
+#: misc-utils/whereis.c:159
+#, c-format
+msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
+msgstr "whereis [ -sbmu ] [ -SBM mappe ... -f ] navn...\n"
+
+#: misc-utils/write.c:101
+#, c-format
+msgid "write: can't find your tty's name\n"
+msgstr "write: kunne ikke finde din tty's navn\n"
+
+#: misc-utils/write.c:112
+#, c-format
+msgid "write: you have write permission turned off.\n"
+msgstr "write: du har slået skriveadgang fra.\n"
+
+#: misc-utils/write.c:133
+#, c-format
+msgid "write: %s is not logged in on %s.\n"
+msgstr "write: %s er ikke logget ind på %s.\n"
+
+#: misc-utils/write.c:141
+#, c-format
+msgid "write: %s has messages disabled on %s\n"
+msgstr "write: %s har deaktiveret beskeder på %s\n"
+
+#: misc-utils/write.c:148
+#, c-format
+msgid "usage: write user [tty]\n"
+msgstr "brug: write bruger [tty]\n"
+
+#: misc-utils/write.c:236
+#, c-format
+msgid "write: %s is not logged in\n"
+msgstr "write: %s er ikke logget på\n"
+
+#: misc-utils/write.c:245
+#, c-format
+msgid "write: %s has messages disabled\n"
+msgstr "write: %s har deaktiveret beskeder\n"
+
+#: misc-utils/write.c:249
+#, c-format
+msgid "write: %s is logged in more than once; writing to %s\n"
+msgstr "write: %s er logget på flere gange; skriver til %s\n"
+
+#: misc-utils/write.c:317
+#, c-format
+msgid "Message from %s@%s (as %s) on %s at %s ..."
+msgstr "Besked fra %s@%s (som %s) på %s klokken %s ..."
+
+#: misc-utils/write.c:320
+#, c-format
+msgid "Message from %s@%s on %s at %s ..."
+msgstr "Besked fra %s@%s på %s klokken %s ..."
+
+#: mount/fstab.c:143
+#, c-format
+msgid "warning: error reading %s: %s"
+msgstr "advarsel: fejl ved læsning af %s: %s"
+
+#: mount/fstab.c:171 mount/fstab.c:196
+#, c-format
+msgid "warning: can't open %s: %s"
+msgstr "advarsel: kunne ikke åbne %s: %s"
+
+#: mount/fstab.c:176
+#, c-format
+msgid "mount: could not open %s - using %s instead\n"
+msgstr "mount: kunne ikke åbne %s - bruger %s i stedet\n"
+
+#: mount/fstab.c:589
+#, 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/fstab.c:615
+#, 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/fstab.c:631
+#, 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/fstab.c:646
+#, c-format
+msgid "Can't lock lock file %s: %s\n"
+msgstr "Kunne ikke låse låsefilen %s: %s\n"
+
+#: mount/fstab.c:660
+#, c-format
+msgid "can't lock lock file %s: %s"
+msgstr "kunne ikke låse låsefilen %s: %s"
+
+#: mount/fstab.c:662
+msgid "timed out"
+msgstr "tidsoverløb"
+
+#: mount/fstab.c:669
+#, c-format
+msgid ""
+"Cannot create link %s\n"
+"Perhaps there is a stale lock file?\n"
+msgstr ""
+"Kunne ikke oprette lænken %s\n"
+"Måske er der en efterladt låsefil?\n"
+
+#: mount/fstab.c:791 mount/fstab.c:846
+#, c-format
+msgid "cannot open %s (%s) - mtab not updated"
+msgstr "kunne ikke åbne %s (%s) - mtab ikke opdateret"
+
+#: mount/fstab.c:855
+#, c-format
+msgid "error writing %s: %s"
+msgstr "fejl ved skrivning af %s: %s"
+
+#: mount/fstab.c:873
+#, c-format
+msgid "error changing mode of %s: %s\n"
+msgstr "fejl ved ændring af filtilstand for %s: %s\n"
+
+#: mount/fstab.c:886
+#, fuzzy, c-format
+msgid "error changing owner of %s: %s\n"
+msgstr "fejl ved ændring af filtilstand for %s: %s\n"
+
+#: mount/fstab.c:897
+#, c-format
+msgid "can't rename %s to %s: %s\n"
+msgstr "kunne ikke omdøbe %s til %s: %s\n"
+
+#: mount/lomount.c:364
+#, fuzzy, c-format
+msgid "loop: can't set capacity on device %s: %s\n"
+msgstr "loop: kunne ikke få oplysninger om enheden %s: %s\n"
+
+#: mount/lomount.c:388
+#, fuzzy, c-format
+msgid ", offset %<PRIu64>"
+msgstr ", forskydning %d"
+
+#: mount/lomount.c:391
+#, fuzzy, c-format
+msgid ", sizelimit %<PRIu64>"
+msgstr ", størrelsesgrænse %lld"
+
+#: mount/lomount.c:399
+#, fuzzy, c-format
+msgid ", encryption %s (type %<PRIu32>)"
+msgstr ", kryptering %s (type %d)"
+
+#: mount/lomount.c:412
+#, c-format
+msgid ", offset %d"
+msgstr ", forskydning %d"
+
+#: mount/lomount.c:415
+#, c-format
+msgid ", encryption type %d\n"
+msgstr ", krypteringstype %d\n"
+
+#: mount/lomount.c:423
+#, c-format
+msgid "loop: can't get info on device %s: %s\n"
+msgstr "loop: kunne ikke få oplysninger om enheden %s: %s\n"
+
+#: mount/lomount.c:434
+#, c-format
+msgid "loop: can't open device %s: %s\n"
+msgstr "loop: kunne ikke åbne enheden %s: %s\n"
+
+#: mount/lomount.c:450 mount/lomount.c:482 mount/lomount.c:544
+#: mount/lomount.c:589
+#, fuzzy, c-format
+msgid "%s: /dev directory does not exist."
+msgstr "%s: bruger \"%s\" eksisterer ikke.\n"
+
+#: mount/lomount.c:461 mount/lomount.c:602
+#, fuzzy, c-format
+msgid "%s: no permission to look at /dev/loop%s<N>"
+msgstr "%s: har ikke rettigheder til at kigge i /dev/loop#"
+
+#: mount/lomount.c:605
+#, c-format
+msgid "%s: could not find any free loop device"
+msgstr "%s: kunne ikke finde nogen ledig loop-enhed"
+
+#: mount/lomount.c:608
+#, c-format
+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 loop-enhed. Måske kender denne kerne ikke til\n"
+"       loop-enheder? (I så fald, genoversæt eller 'modprobe loop.o'.)"
+
+#: mount/lomount.c:638
+#, fuzzy
+msgid "Out of memory while reading passphrase"
+msgstr "Løb tør for hukommelse under forstørring af buffer.\n"
+
+#: mount/lomount.c:681
+#, fuzzy, c-format
+msgid "warning: %s is already associated with %s\n"
+msgstr "Sektor %d er allerede allokeret\n"
+
+#: mount/lomount.c:697
+#, fuzzy, c-format
+msgid "warning: %s: is write-protected, using read-only.\n"
+msgstr "mount: %s%s er skrivebeskyttet, monterer skrivebeskyttet"
+
+#: mount/lomount.c:733
+#, c-format
+msgid "Couldn't lock into memory, exiting.\n"
+msgstr "Kunne ikke låse ind i hukommelsen, afslutter.\n"
+
+#: mount/lomount.c:760
+#, c-format
+msgid "ioctl LOOP_SET_FD failed: %s\n"
+msgstr ""
+
+#: mount/lomount.c:817
+#, fuzzy, c-format
+msgid "set_loop(%s,%s,%llu,%llu): success\n"
+msgstr "set_loop(%s,%s,%llu): lykkedes\n"
+
+#: mount/lomount.c:838
+#, c-format
+msgid "del_loop(%s): success\n"
+msgstr "del_loop(%s): lykkedes\n"
+
+#: mount/lomount.c:842
+#, c-format
+msgid "loop: can't delete device %s: %s\n"
+msgstr "loop: kunne ikke slette enheden %s: %s\n"
+
+#: mount/lomount.c:853
+#, c-format
+msgid "This mount was compiled without loop support. Please recompile.\n"
+msgstr ""
+"Denne 'mount' er oversat uden loop-understøttelse. Genoversæt venligst.\n"
+
+#: mount/lomount.c:888
+#, fuzzy, c-format
+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 ""
+"brug:\n"
+"  %s loop_enhed                                          # vis info\n"
+"  %s -d loop_enhed                                       # slet\n"
+"  %s -f                                                  # find ubenyttet\n"
+"  %s [ -e kryptering ] [ -o forskydning ] {-f|loop_enhed} fil # klargør\n"
+
+#: mount/lomount.c:898
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -e | --encryption <type> enable data encryption with specified <name/num>\n"
+" -h | --help              this help\n"
+" -o | --offset <num>      start at offset <num> into file\n"
+"      --sizelimit <num>   loop limited to only <num> bytes of the file\n"
+" -p | --pass-fd <num>     read passphrase from file descriptor <num>\n"
+" -r | --read-only         setup read-only loop device\n"
+"      --show              print device name (with -f <file>)\n"
+" -v | --verbose           verbose mode\n"
+"\n"
+msgstr ""
+
+#: mount/lomount.c:1036 mount/lomount.c:1076
+#, fuzzy, c-format
+msgid "Loop device is %s\n"
+msgstr "loop: kunne ikke åbne enheden %s: %s\n"
+
+#: mount/lomount.c:1063
+#, c-format
+msgid "stolen loop=%s...trying again\n"
+msgstr ""
+
+#: mount/lomount.c:1073
+#, fuzzy, c-format
+msgid "%s: %s: device is busy"
+msgstr "umount: %s: enhed optaget"
+
+#: mount/lomount.c:1090
+#, c-format
+msgid "No loop support was available at compile time. Please recompile.\n"
+msgstr ""
+"Der var ingen loop-understøttelse tilgængelig ved oversættelsen. Genoversæt "
+"venligst.\n"
+
+#: mount/mount.c:329
+#, c-format
+msgid "mount: improperly quoted option string '%s'"
+msgstr ""
+
+#: mount/mount.c:362
+#, fuzzy, c-format
+msgid "mount: translated %s '%s' to '%s'\n"
+msgstr "mount: kunne ikke finde %s i %s eller %s"
+
+#: mount/mount.c:526
+#, 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/mount.c:531
+#, c-format
+msgid "mount: according to mtab, %s is mounted on %s"
+msgstr "mount: ifølge mtab er %s monteret som %s"
+
+#: mount/mount.c:555
+#, c-format
+msgid "mount: can't open %s for writing: %s"
+msgstr "mount: kunne ikke åbne %s for skrivning: %s"
+
+#: mount/mount.c:572 mount/mount.c:1190
+#, c-format
+msgid "mount: error writing %s: %s"
+msgstr "mount: fejl ved skrivning til %s: %s"
+
+#: mount/mount.c:580
+#, c-format
+msgid "mount: error changing mode of %s: %s"
+msgstr "mount: fejl ved ændring af filtilstand for %s: %s"
+
+#: mount/mount.c:663
+#, fuzzy, c-format
+msgid "mount: cannot set group id: %s"
+msgstr "mount: kunne ikke sætte hastigheden: %s"
+
+#: mount/mount.c:666
+#, fuzzy, c-format
+msgid "mount: cannot set user id: %s"
+msgstr "mount: kunne ikke sætte hastigheden: %s"
+
+#: mount/mount.c:705 mount/mount.c:1809
+#, c-format
+msgid "mount: cannot fork: %s"
+msgstr "mount: kunne ikke forgrene: %s"
+
+#: mount/mount.c:842
+#, c-format
+msgid "Trying %s\n"
+msgstr "Forsøger %s\n"
+
+#: mount/mount.c:870
+#, c-format
+msgid "mount: you didn't specify a filesystem type for %s\n"
+msgstr "mount: du angav ikke filsystemtype for %s\n"
+
+#: mount/mount.c:873
+#, 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/mount.c:876
+#, c-format
+msgid "       and it looks like this is swapspace\n"
+msgstr "       og det ser ud til, at dette er swapområde\n"
+
+#: mount/mount.c:878
+#, c-format
+msgid "       I will try type %s\n"
+msgstr "       Jeg vil forsøge type %s\n"
+
+#: mount/mount.c:902
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr "%s ligner et swap-område - ikke monteret"
+
+#: mount/mount.c:993
+msgid "mount failed"
+msgstr "montering mislykkedes"
+
+#: mount/mount.c:995
+#, c-format
+msgid "mount: only root can mount %s on %s"
+msgstr "mount: kun root kan montere %s som %s"
+
+#: mount/mount.c:1065
+msgid "mount: loop device specified twice"
+msgstr "mount: loop-enheden angivet to gange"
+
+#: mount/mount.c:1070
+msgid "mount: type specified twice"
+msgstr "mount: type angivet to gange"
+
+#: mount/mount.c:1082
+#, c-format
+msgid "mount: skipping the setup of a loop device\n"
+msgstr "mount: dropper opsætning af loop-enhed\n"
+
+#: mount/mount.c:1094
+#, fuzzy, c-format
+msgid "mount: according to mtab %s is already mounted on %s as loop"
+msgstr "mount: ifølge mtab er %s allerede monteret som %s"
+
+#: mount/mount.c:1104
+#, c-format
+msgid "mount: going to use the loop device %s\n"
+msgstr "mount: skal til at benytte loop-enheden %s\n"
+
+#: mount/mount.c:1113
+#, c-format
+msgid "mount: stolen loop=%s ...trying again\n"
+msgstr ""
+
+#: mount/mount.c:1118
+#, fuzzy, c-format
+msgid "mount: stolen loop=%s"
+msgstr "umount: %s: %s"
+
+#: mount/mount.c:1123
+#, c-format
+msgid "mount: failed setting up loop device\n"
+msgstr "mount: klargøring af loop-enhed mislykkedes\n"
+
+#: mount/mount.c:1134
+#, c-format
+msgid "mount: setup loop device successfully\n"
+msgstr "mount: klargøringen af loop-enhed lykkedes\n"
+
+#: mount/mount.c:1168
+#, c-format
+msgid "mount: no %s found - creating it..\n"
+msgstr "mount: ingen %s fundet - opretter den..\n"
+
+#: mount/mount.c:1185
+#, c-format
+msgid "mount: can't open %s: %s"
+msgstr "mount: kunne ikke åbne %s: %s"
+
+#: mount/mount.c:1206
+msgid "mount: argument to -p or --pass-fd must be a number"
+msgstr "mount: argumentet til -p eller --pass-fd skal være et tal"
+
+#: mount/mount.c:1219
+#, c-format
+msgid "mount: cannot open %s for setting speed"
+msgstr "mount: kunne ikke åbne %s for at sætte hastigheden"
+
+#: mount/mount.c:1222
+#, c-format
+msgid "mount: cannot set speed: %s"
+msgstr "mount: kunne ikke sætte hastigheden: %s"
+
+#: mount/mount.c:1279
+#, fuzzy, c-format
+msgid "mount: according to mtab, %s is already mounted on %s\n"
+msgstr "mount: ifølge mtab er %s allerede monteret som %s"
+
+#: mount/mount.c:1358
+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/mount.c:1361
+msgid "mount: you must specify the filesystem type"
+msgstr "mount: du skal angive filsystemtypen"
+
+#: mount/mount.c:1364
+msgid "mount: mount failed"
+msgstr "mount: montering mislykkedes"
+
+#: mount/mount.c:1370 mount/mount.c:1407
+#, c-format
+msgid "mount: mount point %s is not a directory"
+msgstr "mount: monteringspunkt %s er ikke en mappe"
+
+#: mount/mount.c:1372
+msgid "mount: permission denied"
+msgstr "mount: adgang nægtet"
+
+#: mount/mount.c:1374
+msgid "mount: must be superuser to use mount"
+msgstr "mount: skal være superbruger for at bruge 'mount'"
+
+#: mount/mount.c:1378 mount/mount.c:1382
+#, c-format
+msgid "mount: %s is busy"
+msgstr "mount: %s er optaget"
+
+#: mount/mount.c:1384
+msgid "mount: proc already mounted"
+msgstr "mount: proc er allerede monteret"
+
+#: mount/mount.c:1386
+#, c-format
+msgid "mount: %s already mounted or %s busy"
+msgstr "mount: enten er %s allerede monteret eller %s optaget"
+
+#: mount/mount.c:1392
+#, c-format
+msgid "mount: mount point %s does not exist"
+msgstr "mount: monteringspunkt %s eksisterer ikke"
+
+#: mount/mount.c:1394
+#, c-format
+msgid "mount: mount point %s is a symbolic link to nowhere"
+msgstr "mount: monteringspunkt %s er en symbolsk lænke ud i ingenting"
+
+#: mount/mount.c:1399
+#, c-format
+msgid "mount: special device %s does not exist"
+msgstr "mount: specialenhed %s eksisterer ikke"
+
+#: mount/mount.c:1411
+#, c-format
+msgid ""
+"mount: special device %s does not exist\n"
+"       (a path prefix is not a directory)\n"
+msgstr ""
+"mount: specialenhed %s eksisterer ikke\n"
+"       (en sti er ikke en mappe)\n"
+
+#: mount/mount.c:1423
+#, c-format
+msgid "mount: %s not mounted already, or bad option"
+msgstr "mount: %s ikke allerede monteret, eller forkert tilvalg"
+
+#: mount/mount.c:1425
+#, 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: forkert filsystemtype, forkert tilvalg, ugyldig superblok på %s,\n"
+"       manglende tegnsæt eller anden fejl"
+
+#: mount/mount.c:1432
+msgid ""
+"       (for several filesystems (e.g. nfs, cifs) you might\n"
+"       need a /sbin/mount.<type> helper program)"
+msgstr ""
+
+#: mount/mount.c:1441
+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/mount.c:1446
+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/mount.c:1453
+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/mount.c:1459
+msgid "mount table full"
+msgstr "monteringstabellen er fuld"
+
+#: mount/mount.c:1461
+#, c-format
+msgid "mount: %s: can't read superblock"
+msgstr "mount: %s: kunne ikke læse superblokken"
+
+#: mount/mount.c:1467
+#, c-format
+msgid "mount: %s: unknown device"
+msgstr "mount: %s: ukendt enhed"
+
+#: mount/mount.c:1472
+#, c-format
+msgid "mount: unknown filesystem type '%s'"
+msgstr "mount: ukendt filsystemtype'%s'"
+
+#: mount/mount.c:1484
+#, c-format
+msgid "mount: probably you meant %s"
+msgstr "mount: du mente sikkert %s"
+
+#: mount/mount.c:1487
+msgid "mount: maybe you meant 'iso9660'?"
+msgstr "mount: måske mente du 'iso9660'?"
+
+#: mount/mount.c:1490
+msgid "mount: maybe you meant 'vfat'?"
+msgstr "mount: måske mente du 'vfat'?"
+
+#: mount/mount.c:1493
+#, 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/mount.c:1501
+#, c-format
+msgid "mount: %s is not a block device, and stat fails?"
+msgstr "mount: %s er ikke en blokenhed, og 'stat' fejler?"
+
+#: mount/mount.c:1503
+#, c-format
+msgid ""
+"mount: the kernel does not recognize %s as a block device\n"
+"       (maybe `insmod driver'?)"
+msgstr ""
+"mount: kernen genkender ikke %s som en blokenhed\n"
+"       (måske hjælper 'insmod enheds-driver'?)"
+
+#: mount/mount.c:1506
+#, 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/mount.c:1509
+#, c-format
+msgid "mount: %s is not a block device"
+msgstr "mount: %s er ikke en blokenhed"
+
+#: mount/mount.c:1514
+#, c-format
+msgid "mount: %s is not a valid block device"
+msgstr "mount: %s er ikke en gyldig blokenhed"
+
+#: mount/mount.c:1517
+msgid "block device "
+msgstr "blokenhed "
+
+#: mount/mount.c:1519
+#, c-format
+msgid "mount: cannot mount %s%s read-only"
+msgstr "mount: kunne ikke montere %s%s skrivebeskyttet"
+
+#: mount/mount.c:1523
+#, c-format
+msgid "mount: %s%s is write-protected but explicit `-w' flag given"
+msgstr "mount: %s%s er skrivebeskyttet, men eksplicit '-w'-tilvalg blev givet"
+
+#: mount/mount.c:1527
+#, fuzzy, c-format
+msgid "mount: cannot remount %s%s read-write, is write-protected"
+msgstr "mount: kunne ikke montere %s%s skrivebeskyttet"
+
+#: mount/mount.c:1542
+#, c-format
+msgid "mount: %s%s is write-protected, mounting read-only"
+msgstr "mount: %s%s er skrivebeskyttet, monterer skrivebeskyttet"
+
+#: mount/mount.c:1552
+#, fuzzy, c-format
+msgid "mount: no medium found on %s ...trying again\n"
+msgstr "mount: ingen %s fundet - opretter den..\n"
+
+#: mount/mount.c:1558
+#, fuzzy, c-format
+msgid "mount: no medium found on %s"
+msgstr "mount: %s er allerede monteret som %s\n"
+
+#: mount/mount.c:1576
+#, 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/mount.c:1655
+#, c-format
+msgid "mount: no type was given - I'll assume nfs because of the colon\n"
+msgstr "mount: ingen type blev angive - Jeg antager nfs på grund af kolonnet\n"
+
+#: mount/mount.c:1661
+#, fuzzy, 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 smbfs p.g.a. det "
+"foranstillede //\n"
+
+#: mount/mount.c:1756
+#, c-format
+msgid "mount: %s already mounted on %s\n"
+msgstr "mount: %s er allerede monteret som %s\n"
+
+#: mount/mount.c:1890
+#, 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 ""
+"Brug:  mount -V                 : vis version\n"
+"       mount -h                 : vis denne hjælp\n"
+"       mount                    : vis monterede filsystemer\n"
+"       mount -l                 : det samme, incl. mærkater\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]         : montér alt, der beskrives i /etc/fstab\n"
+"       mount enhed              : montér enhed på dets standardplads\n"
+"       mount mappe              : montér 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 en allerede synlig mappe et andet sted:\n"
+"       mount --bind glmappe nymappe\n"
+"eller flyt et undertræ:\n"
+"       mount --move glmappe nymappe\n"
+"En enhed kan angives ved navn, f.eks. /dev/hda1 eller /dev/cdrom,\n"
+"eller ved mærkat med -L mærkat, eller ved uuid med -U uuid .\n"
+"Andre tilvalg: [-nfFrsvw] [-o tilvalg] [-p adgangskodefd].\n"
+"se mange flere detaljer med 'man 8 mount'.\n"
+
+#: mount/mount.c:2213
+msgid "mount: only root can do that"
+msgstr "mount: dette kan kun root gøre"
+
+#: mount/mount.c:2223
+msgid "nothing was mounted"
+msgstr "intet blev monteret"
+
+#: mount/mount.c:2241 mount/mount.c:2267
+msgid "mount: no such partition found"
+msgstr "mount: fandt ingen sådan partition"
+
+#: mount/mount.c:2244
+#, c-format
+msgid "mount: can't find %s in %s or %s"
+msgstr "mount: kunne ikke finde %s i %s eller %s"
+
+#: mount/mount_mntent.c:165
+#, 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/mount_mntent.c:216
+#, c-format
+msgid "[mntent]: line %d in %s is bad%s\n"
+msgstr "[mntent]: linje %d i %s er ugyldig%s\n"
+
+#: mount/mount_mntent.c:219
+msgid "; rest of file ignored"
+msgstr "; resten af filen blev ignoreret"
+
+#: mount/sundries.c:31
+msgid "bug in xstrndup call"
+msgstr "programfejl i xstrndup-kald"
+
+#: mount/sundries.c:224 mount/sundries.c:280 mount/sundries.c:289
+#: mount/xmalloc.c:11
+msgid "not enough memory"
+msgstr "ikke nok hukommelse"
+
+#: mount/swapon.c:84
+#, c-format
+msgid ""
+"The <special> parameter:\n"
+" {-L label | LABEL=label}             LABEL of device to be used\n"
+" {-U uuid  | 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"
+"\n"
+msgstr ""
+
+#: mount/swapon.c:92
+#, c-format
+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 ""
+
+#: mount/swapon.c:106
+#, c-format
+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 ""
+
+#: mount/swapon.c:140
+#, fuzzy, c-format
+msgid "%s: unexpected file format"
+msgstr "%s: Uventet filafslutning i %s-fil\n"
+
+#: mount/swapon.c:184 mount/swapon.c:252 mount/swapon.c:397 mount/swapon.c:556
+#: mount/swapon.c:758
+#, fuzzy, c-format
+msgid "%s: open failed"
+msgstr "openpty mislykkedes\n"
+
+#: mount/swapon.c:205
+#, c-format
+msgid "%s: reinitializing the swap."
+msgstr ""
+
+#: mount/swapon.c:209
+#, fuzzy
+msgid "fork failed"
+msgstr "forgrening mislykkedes\n"
+
+#: mount/swapon.c:225
+#, fuzzy
+msgid "execv failed"
+msgstr "programkørsel mislykkedes\n"
+
+#: mount/swapon.c:233
+#, fuzzy
+msgid "waitpid failed"
+msgstr "setuid() mislykkedes"
+
+#: mount/swapon.c:257
+#, fuzzy, c-format
+msgid "%s: lseek failed"
+msgstr "søgning fejlede"
+
+#: mount/swapon.c:263
+#, fuzzy, c-format
+msgid "%s: write signature failed"
+msgstr "Åbning af %s mislykkedes"
+
+#: mount/swapon.c:350
+#, c-format
+msgid "%s: found %sswap v%d signature string for %d KiB PAGE_SIZE\n"
+msgstr ""
+
+#: mount/swapon.c:370
+#, fuzzy, c-format
+msgid "%s: stat failed"
+msgstr "søgning fejlede"
+
+#: mount/swapon.c:380
+#, fuzzy, c-format
+msgid "%s: insecure permissions %04o, %04o suggested."
+msgstr "%s: advarsel: %s har usikre filrettigheder %04o, %04o anbefales\n"
+
+#: mount/swapon.c:388
+#, fuzzy, c-format
+msgid "%s: skipping - it appears to have holes."
+msgstr "%s: Dropper filen %s - den lader til at være fragmenteret.\n"
+
+#: mount/swapon.c:402
+#, fuzzy, c-format
+msgid "%s: get size failed"
+msgstr "søgning fejlede"
+
+#: mount/swapon.c:408
+#, c-format
+msgid "%s: read swap header failed"
+msgstr ""
+
+#: mount/swapon.c:421
+#, c-format
+msgid "%s: last_page 0x%08llx is larger than actual size of swapspace"
+msgstr ""
+
+#: mount/swapon.c:426
+#, c-format
+msgid "%s: swap format pagesize does not match."
+msgstr ""
+
+#: mount/swapon.c:431
+#, c-format
+msgid ""
+"%s: swap format pagesize does not match. (Use --fixpgsz to reinitialize it.)"
+msgstr ""
+
+#: mount/swapon.c:440
+#, c-format
+msgid "%s: software suspend data detected. Rewriting the swap signature."
+msgstr ""
+
+#: mount/swapon.c:464 mount/swapon.c:514
+#, c-format
+msgid "%s on %s\n"
+msgstr "%s på %s\n"
+
+#: mount/swapon.c:486
+#, fuzzy, c-format
+msgid "%s: swapon failed"
+msgstr "forgrening mislykkedes\n"
+
+#: mount/swapon.c:493
+#, fuzzy, c-format
+msgid "cannot find the device for %s"
+msgstr "%s: kunne ikke finde enheden for %s\n"
+
+#: mount/swapon.c:526
+#, fuzzy
+msgid "Not superuser."
+msgstr "Ikke superbruger.\n"
+
+#: mount/swapon.c:529
+#, fuzzy, c-format
+msgid "%s: swapoff failed"
+msgstr "forgrening mislykkedes\n"
+
+#: mount/umount.c:41
+#, c-format
+msgid "umount: compiled without support for -f\n"
+msgstr "umount: oversat uden understøttelse af tilvalget -f\n"
+
+#: mount/umount.c:111
+#, fuzzy, c-format
+msgid "umount: cannot set group id: %s"
+msgstr "mount: kunne ikke sætte hastigheden: %s"
+
+#: mount/umount.c:114
+#, fuzzy, c-format
+msgid "umount: cannot set user id: %s"
+msgstr "mount: kunne ikke sætte hastigheden: %s"
+
+#: mount/umount.c:139
+#, c-format
+msgid "umount: cannot fork: %s"
+msgstr "umount: kunne ikke forgrene: %s"
+
+#: mount/umount.c:160
+#, c-format
+msgid "umount: %s: invalid block device"
+msgstr "umount: %s: ugyldig blokenhed"
+
+#: mount/umount.c:162
+#, c-format
+msgid "umount: %s: not mounted"
+msgstr "umount: %s: ikke monteret"
+
+#: mount/umount.c:164
+#, c-format
+msgid "umount: %s: can't write superblock"
+msgstr "umount: %s: kunne ikke skrive superblok"
+
+#: mount/umount.c:168
+#, 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/umount.c:173
+#, c-format
+msgid "umount: %s: not found"
+msgstr "umount: %s: ikke fundet"
+
+#: mount/umount.c:175
+#, c-format
+msgid "umount: %s: must be superuser to umount"
+msgstr "umount: %s: skal være superbruger for at afmontere"
+
+#: mount/umount.c:177
+#, c-format
+msgid "umount: %s: block devices not permitted on fs"
+msgstr "umount: %s: blokenheder tillades ikke på dette fs"
+
+#: mount/umount.c:179
+#, c-format
+msgid "umount: %s: %s"
+msgstr "umount: %s: %s"
+
+#: mount/umount.c:235
+#, c-format
+msgid "no umount2, trying umount...\n"
+msgstr "ingen umount2, forsøger umount...\n"
+
+#: mount/umount.c:252
+#, c-format
+msgid "umount: %s busy - remounted read-only\n"
+msgstr "umount: %s optaget - genmonteret skrivebeskyttet\n"
+
+#: mount/umount.c:263
+#, c-format
+msgid "umount: could not remount %s read-only\n"
+msgstr "umount: kunne ikke montere %s skrivebeskyttet\n"
+
+#: mount/umount.c:272
+#, c-format
+msgid "%s umounted\n"
+msgstr "%s afmonteret\n"
+
+#: mount/umount.c:367
+msgid "umount: cannot find list of filesystems to unmount"
+msgstr ""
+"umount: kunne ikke finde listen over filsystemer, der skulle afmonteres"
+
+#: mount/umount.c:397
+#, 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 ""
+"Brug: umount [-hV]\n"
+"      umount -a [-f] [-r] [-n] [-v] [-t vfstyper] [-O tilvalg]\n"
+"      umount [-f] [-r] [-n] [-v] speciel | knude...\n"
+
+#: mount/umount.c:466
+#, fuzzy, c-format
+msgid "device %s is associated with %s\n"
+msgstr "Sektor %d er allerede allokeret\n"
+
+#: mount/umount.c:472
+#, fuzzy, c-format
+msgid "device %s is not associated with %s\n"
+msgstr "Sektor %d er allerede allokeret\n"
+
+#: mount/umount.c:485
+msgid "Cannot umount \"\"\n"
+msgstr "Kan ikke afmontere \"\"\n"
+
+#: mount/umount.c:491
+#, c-format
+msgid "Trying to umount %s\n"
+msgstr "Forsøger at afmontere %s\n"
+
+#: mount/umount.c:504
+msgid "umount: confused when analyzing mtab"
+msgstr ""
+
+#: mount/umount.c:509
+#, c-format
+msgid "umount: cannot umount %s -- %s is mounted over it on the same point."
+msgstr ""
+
+#: mount/umount.c:516
+#, c-format
+msgid "Could not find %s in mtab\n"
+msgstr "Kunne ikke finde %s i mtab\n"
+
+#: mount/umount.c:523
+#, c-format
+msgid "umount: %s is not mounted (according to mtab)"
+msgstr "umount: %s er ikke monteret (ifølge mtab)"
+
+#: mount/umount.c:547
+#, c-format
+msgid "umount: it seems %s is mounted multiple times"
+msgstr "umount: det lader til, at %s er monteret flere gange"
+
+#: mount/umount.c:561
+#, 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/umount.c:567
+#, c-format
+msgid "umount: %s mount disagrees with the fstab"
+msgstr "umount: %s montering stemmer ikke med fstab"
+
+#: mount/umount.c:608
+#, c-format
+msgid "umount: only %s can unmount %s from %s"
+msgstr "umount: kun %s kan afmontere %s fra %s"
+
+#: mount/umount.c:695
+msgid "umount: only root can do that"
+msgstr "umount: dette kan kun root gøre"
+
+#: schedutils/chrt.c:56
+#, 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"
+"\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 ""
+
+#: schedutils/chrt.c:88
+#, fuzzy, c-format
+msgid "failed to get pid %d's policy"
+msgstr "Mislykket skrivning af partition på %s\n"
+
+#: schedutils/chrt.c:90
+#, c-format
+msgid "pid %d's %s scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:112
+#, fuzzy, c-format
+msgid "unknown\n"
+msgstr "ukendt"
+
+#: schedutils/chrt.c:116
+#, c-format
+msgid "failed to get pid %d's attributes"
+msgstr ""
+
+#: schedutils/chrt.c:118
+#, c-format
+msgid "pid %d's %s scheduling priority: %d\n"
+msgstr ""
+
+#: schedutils/chrt.c:147
+#, c-format
+msgid "SCHED_%s min/max priority\t: %d/%d\n"
+msgstr ""
+
+#: schedutils/chrt.c:150
+#, fuzzy, c-format
+msgid "SCHED_%s not supported?\n"
+msgstr "NFS via TCP understøttes ikke.\n"
+
+#: schedutils/chrt.c:206
+#, fuzzy
+msgid "failed to parse pid"
+msgstr "%s: Kunne ikke åbne: %s\n"
+
+#: schedutils/chrt.c:228
+#, fuzzy
+msgid "current"
+msgstr "nantal"
+
+#: schedutils/chrt.c:236
+#, fuzzy
+msgid "failed to parse priority"
+msgstr "Mislykket skrivning af partition på %s\n"
+
+#: schedutils/chrt.c:242
+#, fuzzy, c-format
+msgid "failed to set pid %d's policy"
+msgstr "Mislykket skrivning af partition på %s\n"
+
+#: schedutils/chrt.c:251
+#, fuzzy, c-format
+msgid "failed to execute %s"
+msgstr "ioctl() kunne ikke aflæse tiden fra %s"
+
+#: schedutils/ionice.c:57
+#, fuzzy
+msgid "ioprio_get failed"
+msgstr "openpty mislykkedes\n"
+
+#: schedutils/ionice.c:75
+#, fuzzy
+msgid "ioprio_set failed"
+msgstr "openpty mislykkedes\n"
+
+#: schedutils/ionice.c:81
+#, c-format
+msgid ""
+"\n"
+"ionice - sets or gets process io scheduling class and priority.\n"
+"\n"
+"Usage:\n"
+"  ionice [ options ] -p <pid> [<pid> ...]\n"
+"  ionoce [ 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 ""
+
+#: schedutils/ionice.c:110 schedutils/ionice.c:112
+#, fuzzy, c-format
+msgid "cannot parse number '%s'"
+msgstr "kunne ikke åbne %s"
+
+#: schedutils/ionice.c:151
+msgid "ignoring given class data for none class"
+msgstr ""
+
+#: schedutils/ionice.c:159
+msgid "ignoring given class data for idle class"
+msgstr ""
+
+#: schedutils/ionice.c:163
+#, c-format
+msgid "bad prio class %d"
+msgstr ""
+
+#: schedutils/ionice.c:187
+#, fuzzy
+msgid "execvp failed"
+msgstr "programkørsel mislykkedes\n"
+
+#: sys-utils/ctrlaltdel.c:27
+#, c-format
+msgid "You must be root to set the Ctrl-Alt-Del behaviour.\n"
+msgstr "Du skal være root for at sætte Ctrl-Alt-Del-opførslen.\n"
+
+#: sys-utils/ctrlaltdel.c:42
+#, c-format
+msgid "Usage: ctrlaltdel hard|soft\n"
+msgstr "Brug: ctrlaltdel hard|soft\n"
+
+#: sys-utils/cytune.c:114
+#, 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\n"
+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:125
+#, c-format
+msgid ""
+"File %s, For threshold value %lu and timrout value %lu, Maximum characters "
+"in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f\n"
+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:189
+#, c-format
+msgid "Invalid interval value: %s\n"
+msgstr "Ugyldig intervalværdi: %s\n"
+
+#: sys-utils/cytune.c:197
+#, c-format
+msgid "Invalid set value: %s\n"
+msgstr "Ugyldig sat værdi: %s\n"
+
+#: sys-utils/cytune.c:205
+#, c-format
+msgid "Invalid default value: %s\n"
+msgstr "Ugyldig standardværdi: %s\n"
+
+#: sys-utils/cytune.c:213
+#, c-format
+msgid "Invalid set time value: %s\n"
+msgstr "Ugyldig sat tidsværdi: %s\n"
+
+#: sys-utils/cytune.c:221
+#, c-format
+msgid "Invalid default time value: %s\n"
+msgstr "Ugyldig standard tidsværdi: %s\n"
+
+#: sys-utils/cytune.c:238
+#, c-format
+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"
+
+#: sys-utils/cytune.c:250 sys-utils/cytune.c:269 sys-utils/cytune.c:289
+#: sys-utils/cytune.c:339
+#, c-format
+msgid "Can't open %s: %s\n"
+msgstr "Kunne ikke åbne %s: %s\n"
+
+#: sys-utils/cytune.c:257
+#, c-format
+msgid "Can't set %s to threshold %d: %s\n"
+msgstr "Kunne ikke sætte %s til grænsen %d: %s\n"
+
+#: sys-utils/cytune.c:276
+#, c-format
+msgid "Can't set %s to time threshold %d: %s\n"
+msgstr "Kunne ikke sætte %s til tidsgrænsen %d: %s\n"
+
+#: sys-utils/cytune.c:294 sys-utils/cytune.c:351 sys-utils/cytune.c:382
+#, c-format
+msgid "Can't get threshold for %s: %s\n"
+msgstr "Kunne ikke få grænsen for %s: %s\n"
+
+#: sys-utils/cytune.c:300 sys-utils/cytune.c:357 sys-utils/cytune.c:388
+#, c-format
+msgid "Can't get timeout for %s: %s\n"
+msgstr "Kunne ikke få tidsoverløbet for %s: %s\n"
+
+#: sys-utils/cytune.c:306
+#, c-format
+msgid "%s: %ld current threshold and %ld current timeout\n"
+msgstr "%s: %ld aktuelle grænse og %ld aktuelle tidsoverløb\n"
+
+#: sys-utils/cytune.c:309
+#, c-format
+msgid "%s: %ld default threshold and %ld default timeout\n"
+msgstr "%s: %ld standard grænse og %ld standard tidsoverløb\n"
+
+#: sys-utils/cytune.c:327
+msgid "Can't set signal handler"
+msgstr "Kunne ikke sætte signalhåndteringen"
+
+#: sys-utils/cytune.c:331 sys-utils/cytune.c:366
+msgid "gettimeofday failed"
+msgstr "gettimeofday (aflæsning af ur) mislykkedes"
+
+#: sys-utils/cytune.c:344 sys-utils/cytune.c:376
+#, c-format
+msgid "Can't issue CYGETMON on %s: %s\n"
+msgstr "Kunne ikke udføre CYGETMON på %s: %s\n"
+
+#: sys-utils/cytune.c:418
+#, c-format
+msgid ""
+"%s: %lu ints, %lu/%lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+"%s: %lu htal, %lu/%lu tegn; fifo: %lu grænse, %lu t-ovl, %lu maks, %lu nu\n"
+
+#: sys-utils/cytune.c:424
+#, c-format
+msgid "   %f int/sec; %f rec, %f send (char/sec)\n"
+msgstr "   %f tal/sek; %f flt, %f send (tegn/sek)\n"
+
+#: sys-utils/cytune.c:429
+#, c-format
+msgid ""
+"%s: %lu ints, %lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+"%s: %lu htal, %lu tegn; fifo: %lu grænse, %lu t-ovl, %lu maks, %lu nu\n"
+
+#: sys-utils/cytune.c:435
+#, c-format
+msgid "   %f int/sec; %f rec (char/sec)\n"
+msgstr "   %f tal/sek; %f flt (tegn/sek)\n"
+
+#: sys-utils/dmesg.c:45
+#, fuzzy, c-format
+msgid "Usage: %s [-c] [-n level] [-r] [-s bufsize]\n"
+msgstr "Brug: %s [-c] [-n level] [-s bufstr.]\n"
+
+#: sys-utils/flock.c:65
+#, c-format
+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 ""
+
+#: sys-utils/flock.c:192
+#, fuzzy, c-format
+msgid "%s: %s requires exactly one command argument\n"
+msgstr "%s kræver en parameter\n"
+
+#: sys-utils/flock.c:219
+#, fuzzy, c-format
+msgid "%s: cannot open lock file %s: %s\n"
+msgstr "%s: kunne ikke åbne %s: %s\n"
+
+#: sys-utils/flock.c:231
+#, fuzzy, c-format
+msgid "%s: bad number: %s\n"
+msgstr "%s: ugyldig værdi\n"
+
+#: sys-utils/flock.c:238
+#, c-format
+msgid "%s: requires file descriptor, file or directory\n"
+msgstr ""
+
+#: sys-utils/flock.c:294
+#, fuzzy, c-format
+msgid "%s: fork failed: %s\n"
+msgstr "forgrening mislykkedes\n"
+
+#: sys-utils/ipcmk.c:84
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage: %s [options]\n"
+"\n"
+msgstr "Brug: %s [tilvalg] enhed ...\n"
+
+#: sys-utils/ipcmk.c:86
+#, c-format
+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 ""
+
+#: sys-utils/ipcmk.c:90
+#, c-format
+msgid ""
+"\n"
+"For more information see ipcmk(1).\n"
+"\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:142
+msgid "create share memory failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:144
+#, fuzzy, c-format
+msgid "Shared memory id: %d\n"
+msgstr ""
+"\n"
+"Delt hukommelsessegment dhsid=%d\n"
+
+#: sys-utils/ipcmk.c:150
+msgid "create message queue failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:152
+#, fuzzy, c-format
+msgid "Message queue id: %d\n"
+msgstr ""
+"\n"
+"Beskedkø bkøid=%d\n"
+
+#: sys-utils/ipcmk.c:158
+#, fuzzy
+msgid "create semaphore failed"
+msgstr "allokerede semaforer = %d\n"
+
+#: sys-utils/ipcmk.c:160
+#, fuzzy, c-format
+msgid "Semaphore id: %d\n"
+msgstr ""
+"\n"
+"Semafortabel semid=%d\n"
+
+#: sys-utils/ipcrm.c:66
+#, c-format
+msgid "invalid id: %s\n"
+msgstr "ugyldigt id: %s\n"
+
+#: sys-utils/ipcrm.c:84
+#, c-format
+msgid "cannot remove id %s (%s)\n"
+msgstr "kunne ikke fjerne id %s (%s)\n"
+
+#: sys-utils/ipcrm.c:99
+#, c-format
+msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
+msgstr "forældet brug: %s {shm | msg | sem} id ...\n"
+
+#: sys-utils/ipcrm.c:126
+#, c-format
+msgid "unknown resource type: %s\n"
+msgstr "ukendt ressourcetype %s\n"
+
+#: sys-utils/ipcrm.c:130
+#, c-format
+msgid "resource(s) deleted\n"
+msgstr "ressource(r) slettet\n"
+
+#: sys-utils/ipcrm.c:140
+#, c-format
+msgid ""
+"usage: %s [ [-q msqid] [-m shmid] [-s semid]\n"
+"          [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n"
+msgstr ""
+"brug: %s [ [-q beskkøid] [-m shmid] [-s semid]\n"
+"         [-Q beksnøgle] [-M shmnøgle] [-S semnøgle] ... ]\n"
+
+#: sys-utils/ipcrm.c:181
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: ugyldigt tilvalg -- %c\n"
+
+#: sys-utils/ipcrm.c:193
+#, c-format
+msgid "%s: illegal key (%s)\n"
+msgstr "%s: ugyldig nøgle (%s)\n"
+
+#: sys-utils/ipcrm.c:208 sys-utils/ipcrm.c:240
+msgid "permission denied for key"
+msgstr "adgang til nøgle nægtet"
+
+#: sys-utils/ipcrm.c:211 sys-utils/ipcrm.c:250
+msgid "already removed key"
+msgstr "har allerede fjernet nøgle"
+
+#: sys-utils/ipcrm.c:214 sys-utils/ipcrm.c:245
+msgid "invalid key"
+msgstr "ugyldig nøgle"
+
+#: sys-utils/ipcrm.c:217 sys-utils/ipcrm.c:255
+msgid "unknown error in key"
+msgstr "ukendt fejl i nøgle"
+
+#: sys-utils/ipcrm.c:241
+msgid "permission denied for id"
+msgstr "adgang til id nægtet"
+
+#: sys-utils/ipcrm.c:246
+msgid "invalid id"
+msgstr "ugyldigt id"
+
+#: sys-utils/ipcrm.c:251
+msgid "already removed id"
+msgstr "id allerede fjernet"
+
+#: sys-utils/ipcrm.c:256
+msgid "unknown error in id"
+msgstr "ukendt fejl i id"
+
+#: sys-utils/ipcrm.c:259
+#, c-format
+msgid "%s: %s (%s)\n"
+msgstr "%s: %s (%s)\n"
+
+#: sys-utils/ipcrm.c:267
+#, c-format
+msgid "%s: unknown argument: %s\n"
+msgstr "%s: ukendt tilvalg: %s\n"
+
+#: sys-utils/ipcs.c:120
+#, c-format
+msgid "usage : %s -asmq -tclup \n"
+msgstr "brug : %s -asmq -tclup \n"
+
+#: sys-utils/ipcs.c:121
+#, c-format
+msgid "\t%s [-s -m -q] -i id\n"
+msgstr "\t%s [-s -m -q] -i id\n"
+
+#: sys-utils/ipcs.c:122
+#, c-format
+msgid "\t%s -h for help.\n"
+msgstr "\t%s -h for hjælp.\n"
+
+#: sys-utils/ipcs.c:128
+#, c-format
+msgid ""
+"%s provides information on ipc facilities for which you have read access.\n"
+msgstr "%s viser oplysninger om de ipc-faciliteter, du har læseadgang til.\n"
+
+#: sys-utils/ipcs.c:130
+#, c-format
+msgid ""
+"Resource Specification:\n"
+"\t-m : shared_mem\n"
+"\t-q : messages\n"
+msgstr ""
+"Ressourcespecification:\n"
+"\t-m : delt_hukommelse\n"
+"\t-q : beskeder\n"
+
+#: sys-utils/ipcs.c:131
+#, c-format
+msgid ""
+"\t-s : semaphores\n"
+"\t-a : all (default)\n"
+msgstr ""
+"\t-s : semaforer\n"
+"\t-a : alle (standard)\n"
+
+#: sys-utils/ipcs.c:132
+#, c-format
+msgid ""
+"Output Format:\n"
+"\t-t : time\n"
+"\t-p : pid\n"
+"\t-c : creator\n"
+msgstr ""
+"Uddataformat:\n"
+"\t-t : tid\n"
+"\t-p : pid\n"
+"\t-c : skaber\n"
+
+#: sys-utils/ipcs.c:133
+#, c-format
+msgid ""
+"\t-l : limits\n"
+"\t-u : summary\n"
+msgstr ""
+"\t-l : grænser\n"
+"\t-u : sammendrag\n"
+
+#: sys-utils/ipcs.c:134
+#, c-format
+msgid "-i id [-s -q -m] : details on resource identified by id\n"
+msgstr "-i id [-s -q -m] : detaljer om ressourcen angivet ved id\n"
+
+#: sys-utils/ipcs.c:258
+#, 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:264
+#, c-format
+msgid "------ Shared Memory Limits --------\n"
+msgstr "---- Grænser for delt hukommelse ---\n"
+
+#: sys-utils/ipcs.c:269
+#, c-format
+msgid "max number of segments = %lu\n"
+msgstr "maks antal segmenter= %lu\n"
+
+#: sys-utils/ipcs.c:271
+#, c-format
+msgid "max seg size (kbytes) = %lu\n"
+msgstr "maks seg-stør. (kbyte) = %lu\n"
+
+#: sys-utils/ipcs.c:273
+#, fuzzy, c-format
+msgid "max total shared memory (kbytes) = %llu\n"
+msgstr "maks total delt hukommelse (sider) = %lu\n"
+
+#: sys-utils/ipcs.c:275
+#, c-format
+msgid "min seg size (bytes) = %lu\n"
+msgstr "min seg-stør. (byte) = %lu\n"
+
+#: sys-utils/ipcs.c:280
+#, c-format
+msgid "------ Shared Memory Status --------\n"
+msgstr "---- Status for delt hukommelse ----\n"
+
+#: sys-utils/ipcs.c:281
+#, c-format
+msgid "segments allocated %d\n"
+msgstr "allokerede segmenter %d\n"
+
+#: sys-utils/ipcs.c:282
+#, c-format
+msgid "pages allocated %ld\n"
+msgstr "allokerede sider %ld\n"
+
+#: sys-utils/ipcs.c:283
+#, c-format
+msgid "pages resident  %ld\n"
+msgstr "sider i ram     %ld\n"
+
+#: sys-utils/ipcs.c:284
+#, c-format
+msgid "pages swapped   %ld\n"
+msgstr "sider i swap'et %ld\n"
+
+#: sys-utils/ipcs.c:285
+#, c-format
+msgid "Swap performance: %ld attempts\t %ld successes\n"
+msgstr "Swap præstation: %ld forsøg\t %ld successer\n"
+
+#: sys-utils/ipcs.c:290
+#, c-format
+msgid "------ Shared Memory Segment Creators/Owners --------\n"
+msgstr "---- Delte hukommelsessegmenters skabere/ejere ------\n"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:298 sys-utils/ipcs.c:305
+#: sys-utils/ipcs.c:311
+msgid "shmid"
+msgstr "dthid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:311 sys-utils/ipcs.c:412
+#: sys-utils/ipcs.c:427 sys-utils/ipcs.c:510 sys-utils/ipcs.c:528
+msgid "perms"
+msgstr "rtghd"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "cuid"
+msgstr "cuid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "cgid"
+msgstr "cgid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "uid"
+msgstr "uid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "gid"
+msgstr "gid"
+
+#: sys-utils/ipcs.c:296
+#, c-format
+msgid "------ Shared Memory Attach/Detach/Change Times --------\n"
+msgstr "--- Delt hukommelse Til-/afkoblings-/ændringstider -----\n"
+
+#: sys-utils/ipcs.c:298 sys-utils/ipcs.c:305 sys-utils/ipcs.c:311
+#: sys-utils/ipcs.c:418 sys-utils/ipcs.c:427 sys-utils/ipcs.c:516
+#: sys-utils/ipcs.c:522 sys-utils/ipcs.c:528
+msgid "owner"
+msgstr "ejer"
+
+#: sys-utils/ipcs.c:298
+msgid "attached"
+msgstr "tilkoblet"
+
+#: sys-utils/ipcs.c:298
+msgid "detached"
+msgstr "afkoblet"
+
+#: sys-utils/ipcs.c:299
+msgid "changed"
+msgstr "ændret"
+
+#: sys-utils/ipcs.c:303
+#, c-format
+msgid "------ Shared Memory Creator/Last-op --------\n"
+msgstr "----- Delt hukommelse skaber/Sidste-op ------\n"
+
+#: sys-utils/ipcs.c:305
+msgid "cpid"
+msgstr "cpid"
+
+#: sys-utils/ipcs.c:305
+msgid "lpid"
+msgstr "lpid"
+
+#: sys-utils/ipcs.c:309
+#, c-format
+msgid "------ Shared Memory Segments --------\n"
+msgstr "----- Delte hukommelsessegmenter -----\n"
+
+#: sys-utils/ipcs.c:311 sys-utils/ipcs.c:427 sys-utils/ipcs.c:528
+msgid "key"
+msgstr "nøgle"
+
+#: sys-utils/ipcs.c:311
+msgid "bytes"
+msgstr "byte"
+
+#: sys-utils/ipcs.c:312
+msgid "nattch"
+msgstr "atlkbl"
+
+#: sys-utils/ipcs.c:312
+msgid "status"
+msgstr "status"
+
+#: sys-utils/ipcs.c:333 sys-utils/ipcs.c:335 sys-utils/ipcs.c:337
+#: sys-utils/ipcs.c:448 sys-utils/ipcs.c:450 sys-utils/ipcs.c:549
+#: sys-utils/ipcs.c:551 sys-utils/ipcs.c:553 sys-utils/ipcs.c:604
+#: sys-utils/ipcs.c:606 sys-utils/ipcs.c:634 sys-utils/ipcs.c:636
+#: sys-utils/ipcs.c:638 sys-utils/ipcs.c:661
+msgid "Not set"
+msgstr "Ikke sat"
+
+#: sys-utils/ipcs.c:365
+msgid "dest"
+msgstr "mål"
+
+#: sys-utils/ipcs.c:366
+msgid "locked"
+msgstr "låst"
+
+#: sys-utils/ipcs.c:386
+#, c-format
+msgid "kernel not configured for semaphores\n"
+msgstr "kernen ikke konfigureret til semaforer\n"
+
+#: sys-utils/ipcs.c:392
+#, c-format
+msgid "------ Semaphore Limits --------\n"
+msgstr "-------- Semaforgrænser  -------\n"
+
+#: sys-utils/ipcs.c:396
+#, c-format
+msgid "max number of arrays = %d\n"
+msgstr "maks antal tabeller = %d\n"
+
+#: sys-utils/ipcs.c:397
+#, c-format
+msgid "max semaphores per array = %d\n"
+msgstr "maks semaforer per tabel = %d\n"
+
+#: sys-utils/ipcs.c:398
+#, c-format
+msgid "max semaphores system wide = %d\n"
+msgstr "maks semaforer i hele systemet = %d\n"
+
+#: sys-utils/ipcs.c:399
+#, c-format
+msgid "max ops per semop call = %d\n"
+msgstr "maks ops per semop-kald = %d\n"
+
+#: sys-utils/ipcs.c:400
+#, c-format
+msgid "semaphore max value = %d\n"
+msgstr "semafor maksværdi = %d\n"
+
+#: sys-utils/ipcs.c:404
+#, c-format
+msgid "------ Semaphore Status --------\n"
+msgstr "-------- Semaforstatus  --------\n"
+
+#: sys-utils/ipcs.c:405
+#, c-format
+msgid "used arrays = %d\n"
+msgstr "brugte tabeller = %d\n"
+
+#: sys-utils/ipcs.c:406
+#, c-format
+msgid "allocated semaphores = %d\n"
+msgstr "allokerede semaforer = %d\n"
+
+#: sys-utils/ipcs.c:410
+#, c-format
+msgid "------ Semaphore Arrays Creators/Owners --------\n"
+msgstr "------- Semafortabellers skabere/ejere ---------\n"
+
+#: sys-utils/ipcs.c:412 sys-utils/ipcs.c:418 sys-utils/ipcs.c:427
+msgid "semid"
+msgstr "semid"
+
+#: sys-utils/ipcs.c:416
+#, fuzzy, c-format
+msgid "------ Semaphore Operation/Change Times --------\n"
+msgstr "---- Delt hukommelse operations-/ændringstider -----\n"
+
+#: sys-utils/ipcs.c:418
+msgid "last-op"
+msgstr "sidstop"
+
+#: sys-utils/ipcs.c:418
+msgid "last-changed"
+msgstr "sidst-ændret"
+
+#: sys-utils/ipcs.c:425
+#, c-format
+msgid "------ Semaphore Arrays --------\n"
+msgstr "-------- Semafortabeller --------\n"
+
+#: sys-utils/ipcs.c:427
+msgid "nsems"
+msgstr "nsemf"
+
+#: sys-utils/ipcs.c:486
+#, c-format
+msgid "kernel not configured for message queues\n"
+msgstr "kernen er ikke konfigureret til beskedkøer\n"
+
+#: sys-utils/ipcs.c:494
+#, c-format
+msgid "------ Messages: Limits --------\n"
+msgstr "------ Beskeder: Grænser -------\n"
+
+#: sys-utils/ipcs.c:495
+#, c-format
+msgid "max queues system wide = %d\n"
+msgstr "maks køer på systemet = %d\n"
+
+#: sys-utils/ipcs.c:496
+#, c-format
+msgid "max size of message (bytes) = %d\n"
+msgstr "maks-størrelse af besked (byte) = %d\n"
+
+#: sys-utils/ipcs.c:497
+#, c-format
+msgid "default max size of queue (bytes) = %d\n"
+msgstr "standard maks-størrelse af kø (byte) = %d\n"
+
+#: sys-utils/ipcs.c:501
+#, c-format
+msgid "------ Messages: Status --------\n"
+msgstr "------ Beskeder: Status --------\n"
+
+#: sys-utils/ipcs.c:502
+#, c-format
+msgid "allocated queues = %d\n"
+msgstr "allokerede køer= %d\n"
+
+#: sys-utils/ipcs.c:503
+#, c-format
+msgid "used headers = %d\n"
+msgstr "brugte hoveder = %d\n"
+
+#: sys-utils/ipcs.c:504
+#, c-format
+msgid "used space = %d bytes\n"
+msgstr "brugt plads = %d byte\n"
+
+#: sys-utils/ipcs.c:508
+#, c-format
+msgid "------ Message Queues: Creators/Owners --------\n"
+msgstr "--------- Beskedkøer: skabere/ejere  ----------\n"
+
+#: sys-utils/ipcs.c:510 sys-utils/ipcs.c:516 sys-utils/ipcs.c:522
+#: sys-utils/ipcs.c:528
+msgid "msqid"
+msgstr "bkøid"
+
+#: sys-utils/ipcs.c:514
+#, c-format
+msgid "------ Message Queues Send/Recv/Change Times --------\n"
+msgstr "------ Beskedkøer send/modtag/ændrings-tider --------\n"
+
+#: sys-utils/ipcs.c:516
+msgid "send"
+msgstr "send"
+
+#: sys-utils/ipcs.c:516
+msgid "recv"
+msgstr "modt"
+
+#: sys-utils/ipcs.c:516
+msgid "change"
+msgstr "ændrng"
+
+#: sys-utils/ipcs.c:520
+#, c-format
+msgid "------ Message Queues PIDs --------\n"
+msgstr "------ Beskedkøers PIDer  ---------\n"
+
+#: sys-utils/ipcs.c:522
+msgid "lspid"
+msgstr "lspid"
+
+#: sys-utils/ipcs.c:522
+msgid "lrpid"
+msgstr "lrpid"
+
+#: sys-utils/ipcs.c:526
+#, c-format
+msgid "------ Message Queues --------\n"
+msgstr "-------- Beskedkøer ----------\n"
+
+#: sys-utils/ipcs.c:529
+msgid "used-bytes"
+msgstr "brugte-byte"
+
+#: sys-utils/ipcs.c:529
+msgid "messages"
+msgstr "beskeder"
+
+#: sys-utils/ipcs.c:593
+#, fuzzy
+msgid "shmctl failed"
+msgstr "fsync mislykkedes"
+
+#: sys-utils/ipcs.c:595
+#, c-format
+msgid ""
+"\n"
+"Shared memory Segment shmid=%d\n"
+msgstr ""
+"\n"
+"Delt hukommelsessegment dhsid=%d\n"
+
+#: sys-utils/ipcs.c:596
+#, c-format
+msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+
+#: sys-utils/ipcs.c:598
+#, c-format
+msgid "mode=%#o\taccess_perms=%#o\n"
+msgstr "tilstand=%#o\tadgangs_rett=%#o\n"
+
+#: sys-utils/ipcs.c:600
+#, c-format
+msgid "bytes=%ld\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+msgstr "byte=%ld\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+
+#: sys-utils/ipcs.c:603
+#, c-format
+msgid "att_time=%-26.24s\n"
+msgstr "tilk_tid=%-26.24s\n"
+
+#: sys-utils/ipcs.c:605
+#, c-format
+msgid "det_time=%-26.24s\n"
+msgstr "frak_tid=%-26.24s\n"
+
+#: sys-utils/ipcs.c:607 sys-utils/ipcs.c:637
+#, c-format
+msgid "change_time=%-26.24s\n"
+msgstr "ændrings_tid=%-26.24s\n"
+
+#: sys-utils/ipcs.c:619
+#, fuzzy
+msgid "msgctl failed"
+msgstr "fsync mislykkedes"
+
+#: sys-utils/ipcs.c:621
+#, c-format
+msgid ""
+"\n"
+"Message Queue msqid=%d\n"
+msgstr ""
+"\n"
+"Beskedkø bkøid=%d\n"
+
+#: sys-utils/ipcs.c:622
+#, c-format
+msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\ttilstand=%#o\n"
+
+#: sys-utils/ipcs.c:624
+#, 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:633
+#, c-format
+msgid "send_time=%-26.24s\n"
+msgstr "send_tid=%-26.24s\n"
+
+#: sys-utils/ipcs.c:635
+#, c-format
+msgid "rcv_time=%-26.24s\n"
+msgstr "modt_tid=%-26.24s\n"
+
+#: sys-utils/ipcs.c:652 sys-utils/ipcs.c:674
+#, fuzzy
+msgid "semctl failed"
+msgstr "søgning fejlede"
+
+#: sys-utils/ipcs.c:654
+#, c-format
+msgid ""
+"\n"
+"Semaphore Array semid=%d\n"
+msgstr ""
+"\n"
+"Semafortabel semid=%d\n"
+
+#: sys-utils/ipcs.c:655
+#, c-format
+msgid "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+msgstr "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+
+#: sys-utils/ipcs.c:657
+#, c-format
+msgid "mode=%#o, access_perms=%#o\n"
+msgstr "tilstand=%#o, adgangs_rett=%#o\n"
+
+#: sys-utils/ipcs.c:659
+#, c-format
+msgid "nsems = %ld\n"
+msgstr "nsign = %ld\n"
+
+#: sys-utils/ipcs.c:660
+#, c-format
+msgid "otime = %-26.24s\n"
+msgstr "otid  = %-26.24s\n"
+
+#: sys-utils/ipcs.c:662
+#, c-format
+msgid "ctime = %-26.24s\n"
+msgstr "ætid = %-26.24s\n"
+
+#: sys-utils/ipcs.c:665
+msgid "semnum"
+msgstr "sigant"
+
+#: sys-utils/ipcs.c:665
+msgid "value"
+msgstr "værdi"
+
+#: sys-utils/ipcs.c:665
+msgid "ncount"
+msgstr "nantal"
+
+#: sys-utils/ipcs.c:665
+msgid "zcount"
+msgstr "zantal"
+
+#: sys-utils/ipcs.c:665
+msgid "pid"
+msgstr "pid"
+
+#: sys-utils/ldattach.c:92
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [ -dhV78neo12 ] [ -s <speed> ] <ldisc> <device>\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:94
+msgid ""
+"\n"
+"Known <ldisc> names:\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:179
+#, fuzzy, c-format
+msgid "invalid speed: %s"
+msgstr "ugyldigt id: %s\n"
+
+#: sys-utils/ldattach.c:182
+#, fuzzy, c-format
+msgid "ldattach from %s\n"
+msgstr "%s fra %s\n"
+
+#: sys-utils/ldattach.c:187 text-utils/tailf.c:205
+#, fuzzy
+msgid "invalid option"
+msgstr "ugyldigt id"
+
+#: sys-utils/ldattach.c:199
+#, fuzzy, c-format
+msgid "invalid line discipline: %s"
+msgstr "ugyldigt id: %s\n"
+
+#: sys-utils/ldattach.c:207
+#, fuzzy, c-format
+msgid "%s is not a serial line"
+msgstr "%s er ikke en blokenhed"
+
+#: sys-utils/ldattach.c:213
+#, fuzzy, c-format
+msgid "cannot get terminal attributes for %s"
+msgstr "Kan ikke få størrelsen af %s"
+
+#: sys-utils/ldattach.c:216
+#, c-format
+msgid "speed %d unsupported"
+msgstr ""
+
+#: sys-utils/ldattach.c:247
+#, fuzzy, c-format
+msgid "cannot set terminal attributes for %s"
+msgstr "Kan ikke få størrelsen af %s"
+
+#: sys-utils/ldattach.c:254
+#, fuzzy
+msgid "cannot set line discipline"
+msgstr "Kan ikke søge på drev"
+
+#: sys-utils/ldattach.c:260
+#, fuzzy
+msgid "cannot daemonize"
+msgstr "Kan ikke få størrelsen af %s"
+
+#: sys-utils/lscpu.c:64
+#, fuzzy
+msgid "none"
+msgstr "Ingen"
+
+#: sys-utils/lscpu.c:65
+msgid "para"
+msgstr ""
+
+#: sys-utils/lscpu.c:66
+msgid "full"
+msgstr ""
+
+#: sys-utils/lscpu.c:129 sys-utils/lscpu.c:152 sys-utils/lscpu.c:441
+#, fuzzy, c-format
+msgid "error: %s"
+msgstr "RE fejl: "
+
+#: sys-utils/lscpu.c:154
+#, fuzzy, c-format
+msgid "error parse: %s"
+msgstr "fejl under læsning af %s\n"
+
+#: sys-utils/lscpu.c:176
+#, fuzzy
+msgid "error: strdup failed"
+msgstr "Åbning af %s mislykkedes"
+
+#: sys-utils/lscpu.c:259
+#, fuzzy
+msgid "error: uname failed"
+msgstr ""
+"\n"
+"Fejl ved lukning af fil\n"
+
+#: sys-utils/lscpu.c:491
+#, fuzzy
+msgid "error: malloc failed"
+msgstr "hukommelsesallokering mislykkedes (malloc)"
+
+#: sys-utils/lscpu.c:506
+msgid "error: /sys filesystem is not accessable."
+msgstr ""
+
+#: sys-utils/lscpu.c:524
+#, 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"
+"# CPU,Core,Socket,Node"
+msgstr ""
+
+#: sys-utils/lscpu.c:590
+msgid "Thread(s) per core:"
+msgstr ""
+
+#: sys-utils/lscpu.c:591
+msgid "Core(s) per socket:"
+msgstr ""
+
+#: sys-utils/lscpu.c:592
+msgid "CPU socket(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:596
+msgid "NUMA node(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:598
+msgid "Vendor ID:"
+msgstr ""
+
+#: sys-utils/lscpu.c:600
+msgid "CPU family:"
+msgstr ""
+
+#: sys-utils/lscpu.c:602
+msgid "Model:"
+msgstr ""
+
+#: sys-utils/lscpu.c:604
+msgid "Stepping:"
+msgstr ""
+
+#: sys-utils/lscpu.c:606
+msgid "CPU MHz:"
+msgstr ""
+
+#: sys-utils/lscpu.c:609 sys-utils/lscpu.c:611
+#, fuzzy
+msgid "Virtualization:"
+msgstr "Gammel situation:\n"
+
+#: sys-utils/lscpu.c:614
+msgid "Hypervisor vendor:"
+msgstr ""
+
+#: sys-utils/lscpu.c:615
+msgid "Virtualization type:"
+msgstr ""
+
+#: sys-utils/lscpu.c:623
+#, c-format
+msgid "%s cache:"
+msgstr ""
+
+#: sys-utils/lscpu.c:631
+#, fuzzy, c-format
+msgid "Usage: %s [option]\n"
+msgstr "Brug: %s [tilvalg] enhed ...\n"
+
+#: sys-utils/lscpu.c:634
+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 ""
+
+#: sys-utils/lscpu.c:683
+#, fuzzy, c-format
+msgid "error: change working directory to %s."
+msgstr "fejl ved ændring af filtilstand for %s: %s\n"
+
+#: sys-utils/rdev.c:77
+msgid "usage: rdev [ -rv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]"
+msgstr ""
+"brug: rdev [ -rv ] [ -o FORSKYDNING ] [ BILLEDE [ VÆRDI [ FORSKYDNING ] ] ]"
+
+#: sys-utils/rdev.c:78
+msgid ""
+"  rdev /dev/fd0  (or rdev /linux, etc.) displays the current ROOT device"
+msgstr ""
+"  rdev /dev/fd0  (eller rdev /linux, osv.) viser den nuværende rod-enhed"
+
+#: sys-utils/rdev.c:79
+msgid "  rdev /dev/fd0 /dev/hda2         sets ROOT to /dev/hda2"
+msgstr "  rdev /dev/fd0 /dev/hda2         sætter filsystemroden til /dev/hda2"
+
+#: sys-utils/rdev.c:80
+msgid "  rdev -R /dev/fd0 1              set the ROOTFLAGS (readonly status)"
+msgstr ""
+"  rdev -R /dev/fd0 1              sætter ROOTFLAGS (skrivebeskyttelsesstatus)"
+
+#: sys-utils/rdev.c:81
+msgid "  rdev -r /dev/fd0 627            set the RAMDISK size"
+msgstr "  rdev -r /dev/fd0 627            angiv RAMDISK-størrelsen"
+
+#: sys-utils/rdev.c:82
+msgid "  rdev -v /dev/fd0 1              set the bootup VIDEOMODE"
+msgstr "  rdev -v /dev/fd0 1              angiv opstarts-skærmtilstand"
+
+#: sys-utils/rdev.c:83
+msgid "  rdev -o N ...                   use the byte offset N"
+msgstr "  rdev -o N ...                   brug byteforskydning N"
+
+#: sys-utils/rdev.c:84
+msgid "  rootflags ...                   same as rdev -R"
+msgstr "  rootflags ...                   samme som rdev -R"
+
+#: sys-utils/rdev.c:85
+msgid "  ramsize ...                     same as rdev -r"
+msgstr "  ramsize ...                     samme som rdev -r"
+
+#: sys-utils/rdev.c:86
+msgid "  vidmode ...                     same as rdev -v"
+msgstr "  vidmode ...                     samme som rdev -v"
+
+#: sys-utils/rdev.c:87
+msgid ""
+"Note: video modes are: -3=Ask, -2=Extended, -1=NormalVga, 1=key1, 2=key2,..."
+msgstr ""
+"Bemærk: skærmtilstande er: -3=Spørg, -2=Udvidet, -1=NormalVGA, 1=nøgle1, "
+"2=nøgle2,..."
+
+#: sys-utils/rdev.c:88
+msgid "      use -R 1 to mount root readonly, -R 0 for read/write."
+msgstr "      brug -R 1 for at montere skrivebeskyttet, -R 0 for skriveadgang."
+
+#: sys-utils/rdev.c:245
+msgid "missing comma"
+msgstr "manglende komma"
+
+#: sys-utils/readprofile.c:72
+#, c-format
+msgid "out of memory"
+msgstr "løbet tør for hukommelse"
+
+#: sys-utils/readprofile.c:118
+#, 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: 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øjle-antal\n"
+"\t -r                nulstil alle tællere (kun root)\n"
+"\t -n                deaktivér automatisk bestemmelse af byterækkefølge\n"
+"\t -V                vis version og afslut\n"
+
+#: sys-utils/readprofile.c:227
+#, fuzzy, c-format
+msgid "readprofile: error writing %s: %s\n"
+msgstr "mount: fejl ved skrivning til %s: %s"
+
+#: sys-utils/readprofile.c:268
+#, c-format
+msgid "Assuming reversed byte order. Use -n to force native byte order.\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:284
+#, c-format
+msgid "Sampling_step: %i\n"
+msgstr "Sampling_step: %i\n"
+
+#: sys-utils/readprofile.c:305 sys-utils/readprofile.c:331
+#, c-format
+msgid "%s: %s(%i): wrong map line\n"
+msgstr "%s: %s(%i): forkert oversigtlinje\n"
+
+#: sys-utils/readprofile.c:318
+#, c-format
+msgid "%s: can't find \"_stext\" in %s\n"
+msgstr "%s: kunne ikke finde \"_stext\" i %s\n"
+
+#: sys-utils/readprofile.c:352
+#, c-format
+msgid "%s: profile address out of range. Wrong map file?\n"
+msgstr "%s: profiladresse udenfor området. Forkert map-fil?\n"
+
+#: sys-utils/readprofile.c:412
+msgid "total"
+msgstr "total"
+
+#: sys-utils/renice.c:53
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" renice [-n] priority [-p|--pid] pid  [... pid]\n"
+" renice [-n] priority  -g|--pgrp pgrp [... pgrp]\n"
+" renice [-n] priority  -u|--user user [... user]\n"
+" renice -h | --help\n"
+" renice -v | --version\n"
+"\n"
+msgstr ""
+
+#: sys-utils/renice.c:89
+#, fuzzy, c-format
+msgid "renice from %s\n"
+msgstr "%s fra %s\n"
+
+#: sys-utils/renice.c:126
+#, c-format
+msgid "renice: %s: unknown user\n"
+msgstr "renice: %s: ukendt bruger\n"
+
+#: sys-utils/renice.c:134
+#, c-format
+msgid "renice: %s: bad value\n"
+msgstr "renice: %s: ugyldig værdi\n"
+
+#: sys-utils/renice.c:152 sys-utils/renice.c:164
+msgid "getpriority"
+msgstr "læsprioritet"
+
+#: sys-utils/renice.c:157
+msgid "setpriority"
+msgstr "sætprioritet"
+
+#: sys-utils/renice.c:168
+#, c-format
+msgid "%d: old priority %d, new priority %d\n"
+msgstr "%d: gammel prioritet %d, ny prioritet %d\n"
+
+#: sys-utils/rtcwake.c:81
+#, c-format
+msgid ""
+"usage: %s [options]\n"
+"    -d | --device <device>    select rtc device (rtc0|rtc1|...)\n"
+"    -l | --local              RTC uses local timezone\n"
+"    -m | --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"
+"    -V | --version            show version\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:140
+msgid "read rtc time"
+msgstr ""
+
+#: sys-utils/rtcwake.c:145
+msgid "read system time"
+msgstr ""
+
+#: sys-utils/rtcwake.c:163
+msgid "convert rtc time"
+msgstr ""
+
+#: sys-utils/rtcwake.c:222
+msgid "set rtc alarm"
+msgstr ""
+
+#: sys-utils/rtcwake.c:226
+msgid "enable rtc alarm"
+msgstr ""
+
+#: sys-utils/rtcwake.c:230
+msgid "set rtc wake alarm"
+msgstr ""
+
+#: sys-utils/rtcwake.c:342
+#, fuzzy, c-format
+msgid "%s: unrecognized suspend state '%s'\n"
+msgstr " %s: ukendt partitionstabeltype\n"
+
+#: sys-utils/rtcwake.c:351
+#, fuzzy, c-format
+msgid "%s: illegal interval %s seconds\n"
+msgstr "%s: ugyldig nøgle (%s)\n"
+
+#: sys-utils/rtcwake.c:365
+#, fuzzy, c-format
+msgid "%s: illegal time_t value %s\n"
+msgstr "%s: ugyldigt tilvalg -- %s\n"
+
+#: sys-utils/rtcwake.c:381
+#, fuzzy, c-format
+msgid "%s: version %s\n"
+msgstr "%s version %s\n"
+
+#: sys-utils/rtcwake.c:394
+#, c-format
+msgid "%s: assuming RTC uses UTC ...\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:399
+#, fuzzy, c-format
+msgid "Using UTC time.\n"
+msgstr "Bruger %s.\n"
+
+#: sys-utils/rtcwake.c:400
+#, fuzzy, c-format
+msgid "Using local time.\n"
+msgstr "Bruger %s.\n"
+
+#: sys-utils/rtcwake.c:403
+#, c-format
+msgid "%s: must provide wake time\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:413
+#, fuzzy
+msgid "malloc() failed"
+msgstr "hukommelsesallokering mislykkedes (malloc)"
+
+#: sys-utils/rtcwake.c:425
+#, fuzzy, c-format
+msgid "%s: %s not enabled for wakeup events\n"
+msgstr "%s: %s ikke en printerenhed.\n"
+
+#: sys-utils/rtcwake.c:441
+#, c-format
+msgid "alarm %ld, sys_time %ld, rtc_time %ld, seconds %u\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:446
+#, c-format
+msgid "%s: time doesn't go backward to %s\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:456
+#, fuzzy, c-format
+msgid "%s: wakeup from \"%s\" using %s at %s\n"
+msgstr "Besked fra %s@%s på %s klokken %s ..."
+
+#: sys-utils/rtcwake.c:473
+#, fuzzy
+msgid "rtc read"
+msgstr ", klar"
+
+#: sys-utils/rtcwake.c:482
+msgid "disable rtc alarm interrupt"
+msgstr ""
+
+#: sys-utils/setarch.c:50
+#, c-format
+msgid "Switching on %s.\n"
+msgstr ""
+
+#: sys-utils/setarch.c:113
+#, c-format
+msgid ""
+"Usage: %s%s [options] [program [program arguments]]\n"
+"\n"
+"Options:\n"
+msgstr ""
+
+#: sys-utils/setarch.c:117
+#, c-format
+msgid ""
+" -h, --help               displays this help text\n"
+" -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"
+msgstr ""
+
+#: sys-utils/setarch.c:131
+#, c-format
+msgid ""
+"\n"
+"For more information see setarch(8).\n"
+msgstr ""
+
+#: sys-utils/setarch.c:143
+#, fuzzy, c-format
+msgid ""
+"%s: %s\n"
+"Try `%s --help' for more information.\n"
+msgstr "Brug 'getopt --help' for flere detaljer.\n"
+
+#: sys-utils/setarch.c:215 sys-utils/setarch.c:231
+#, fuzzy, c-format
+msgid "%s: Unrecognized architecture"
+msgstr " %s: ukendt partitionstabeltype\n"
+
+#: sys-utils/setarch.c:249 sys-utils/setarch.c:256
+#, fuzzy
+msgid "Not enough arguments"
+msgstr "For mange parametre.\n"
+
+#: sys-utils/setarch.c:265 sys-utils/setarch.c:318
+#, fuzzy, c-format
+msgid "Failed to set personality to %s"
+msgstr "Mislykket skrivning af partition på %s\n"
+
+#: sys-utils/setsid.c:26
+#, c-format
+msgid "usage: %s program [arg ...]\n"
+msgstr "brug: %s program [parametre ...]\n"
+
+#: sys-utils/tunelp.c:75
+#, c-format
+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 ""
+"Brug: %s <enhed> [ -i <IRQ> | -t <TID> | -c <TEGN> | -w <VENT> | \n"
+"          -a [on|off] | -o [on|off] | -C [on|off] | -q [on|off] | -s | \n"
+"          -T [on|off] ]\n"
+
+#: sys-utils/tunelp.c:91
+msgid "malloc error"
+msgstr "fejl ved hukommelsesallokering (malloc)"
+
+#: sys-utils/tunelp.c:103
+#, c-format
+msgid "%s: bad value\n"
+msgstr "%s: ugyldig værdi\n"
+
+#: sys-utils/tunelp.c:242
+#, c-format
+msgid "%s: %s not an lp device.\n"
+msgstr "%s: %s ikke en printerenhed.\n"
+
+#: sys-utils/tunelp.c:263
+#, c-format
+msgid "%s status is %d"
+msgstr "%s status er %d"
+
+#: sys-utils/tunelp.c:264
+#, c-format
+msgid ", busy"
+msgstr ", optaget"
+
+#: sys-utils/tunelp.c:265
+#, c-format
+msgid ", ready"
+msgstr ", klar"
+
+#: sys-utils/tunelp.c:266
+#, c-format
+msgid ", out of paper"
+msgstr ", ikke mere papir"
+
+#: sys-utils/tunelp.c:267
+#, c-format
+msgid ", on-line"
+msgstr ", klar"
+
+#: sys-utils/tunelp.c:268
+#, c-format
+msgid ", error"
+msgstr ", fejl"
+
+#: sys-utils/tunelp.c:285
+msgid "LPGETIRQ error"
+msgstr "LPGETIRQ fejl"
+
+#: sys-utils/tunelp.c:291
+#, c-format
+msgid "%s using IRQ %d\n"
+msgstr "%s ved brug af IRQ %d\n"
+
+#: sys-utils/tunelp.c:293
+#, c-format
+msgid "%s using polling\n"
+msgstr "%s bruger overvågning (polling)\n"
+
+#: text-utils/col.c:154
+#, c-format
+msgid "col: bad -l argument %s.\n"
+msgstr "col: ugyldigt -l parameter %s.\n"
+
+#: text-utils/col.c:544
+#, c-format
+msgid "usage: col [-bfpx] [-l nline]\n"
+msgstr "brug: col [-bfpx] [-l antlinjer]\n"
+
+#: text-utils/col.c:550
+#, c-format
+msgid "col: write error.\n"
+msgstr "col: skrivefejl.\n"
+
+#: text-utils/col.c:557
+#, c-format
+msgid "col: warning: can't back up %s.\n"
+msgstr "col: advarsel: kan ikke sikkerhedskopiere %s.\n"
+
+#: text-utils/col.c:558
+msgid "past first line"
+msgstr "forbi første linje"
+
+#: text-utils/col.c:558
+msgid "-- line already flushed"
+msgstr "-- linje allerede skrevet ud"
+
+#: text-utils/colcrt.c:97
+#, c-format
+msgid "usage: %s [ - ] [ -2 ] [ file ... ]\n"
+msgstr "brug: %s [ - ] [ -2 ] [ fil ... ]\n"
+
+#: text-utils/column.c:297
+msgid "line too long"
+msgstr "for lang linje"
+
+#: text-utils/column.c:374
+#, c-format
+msgid "usage: column [-tx] [-c columns] [file ...]\n"
+msgstr "brug: column [-tx] [-c søjler] [fil ...]\n"
+
+#: text-utils/hexsyntax.c:82
+#, c-format
+msgid "hexdump: bad length value.\n"
+msgstr "hexdump: forkert længdeværdi.\n"
+
+#: text-utils/hexsyntax.c:93
+#, c-format
+msgid "hexdump: bad skip value.\n"
+msgstr "hexdump: ugyldig oversprings-værdi.\n"
+
+#: text-utils/hexsyntax.c:131
+#, c-format
+msgid ""
+"hexdump: [-bcCdovx] [-e fmt] [-f fmt_file] [-n length] [-s skip] [file ...]\n"
+msgstr ""
+"hexdump: [-bcCdovx] [-e fmt] [-f fmt_fil] [-n længde] [-s overspring] "
+"[fil ...]\n"
+
+#: text-utils/more.c:256
+#, c-format
+msgid "usage: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n"
+msgstr "brug: %s [-dflpcsu] [+linjeantal | +/mønster] navn1 navn2 ...\n"
+
+#: text-utils/more.c:479
+#, c-format
+msgid "%s: unknown option \"-%c\"\n"
+msgstr "%s: ukendt tilvalg \"-%c\"\n"
+
+#: text-utils/more.c:511
+#, c-format
+msgid ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+msgstr ""
+"\n"
+"*** %s: mappe ***\n"
+"\n"
+
+#: text-utils/more.c:555
+#, c-format
+msgid ""
+"\n"
+"******** %s: Not a text file ********\n"
+"\n"
+msgstr ""
+"\n"
+"******** %s: Ikke en tekstfil ********\n"
+"\n"
+
+#: text-utils/more.c:658
+#, c-format
+msgid "[Use q or Q to quit]"
+msgstr "[Brug q eller Q for at afslutte]"
+
+#: text-utils/more.c:750
+#, c-format
+msgid "--More--"
+msgstr "--Mere--"
+
+#: text-utils/more.c:752
+#, c-format
+msgid "(Next file: %s)"
+msgstr "(Næste fil: %s)"
+
+#: text-utils/more.c:757
+#, 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:1172
+#, c-format
+msgid "...back %d pages"
+msgstr "...bak %d sider"
+
+#: text-utils/more.c:1174
+msgid "...back 1 page"
+msgstr "...bak 1 side"
+
+#: text-utils/more.c:1217
+msgid "...skipping one line"
+msgstr "...overspringer en linje"
+
+#: text-utils/more.c:1219
+#, c-format
+msgid "...skipping %d lines"
+msgstr "...overspringer %d linjer"
+
+#: text-utils/more.c:1256
+msgid ""
+"\n"
+"***Back***\n"
+"\n"
+msgstr ""
+"\n"
+"***Tilbage***\n"
+"\n"
+
+#: text-utils/more.c:1294
+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:1301
+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'ne tilfælde af ragulært udtryk [1]\n"
+"n                       Søg efter k'ne tilfælde af seneste regulære udtryk "
+"[1]\n"
+"!<kmd> eller :!<kmd>    Udfør <kmd> i en underskal\n"
+"v                       Star /usr/bin/vi på aktuelle linje\n"
+"ctrl-L                  Genoptegn skærm\n"
+":n                      Gå til k'ne næste fil [1]\n"
+":p                      Gå til k'ne forrige fil [1]\n"
+":f                      Vis aktuelle filnavn og linjenummer\n"
+".                       Gentag seneste kommando\n"
+
+#: text-utils/more.c:1370 text-utils/more.c:1375
+#, c-format
+msgid "[Press 'h' for instructions.]"
+msgstr "[Tryk 'h' for instruktioner.]"
+
+#: text-utils/more.c:1409
+#, c-format
+msgid "\"%s\" line %d"
+msgstr "\"%s\" linje %d"
+
+#: text-utils/more.c:1411
+#, c-format
+msgid "[Not a file] line %d"
+msgstr "[Ikke en fil] linje %d"
+
+#: text-utils/more.c:1495
+msgid "  Overflow\n"
+msgstr "  Overløb\n"
+
+#: text-utils/more.c:1542
+msgid "...skipping\n"
+msgstr "...overspringer\n"
+
+#: text-utils/more.c:1571
+msgid "Regular expression botch"
+msgstr "Forkludret regulært udtryk"
+
+#: text-utils/more.c:1579
+msgid ""
+"\n"
+"Pattern not found\n"
+msgstr ""
+"\n"
+"Mønster ikke fundet\n"
+
+#: text-utils/more.c:1582 text-utils/pg.c:1124 text-utils/pg.c:1275
+msgid "Pattern not found"
+msgstr "Mønster ikke fundet"
+
+#: text-utils/more.c:1643
+msgid "can't fork\n"
+msgstr "kunne ikke forgrene (fork)\n"
+
+#: text-utils/more.c:1682
+msgid ""
+"\n"
+"...Skipping "
+msgstr ""
+"\n"
+"...Overspringer "
+
+#: text-utils/more.c:1686
+msgid "...Skipping to file "
+msgstr "...Springer til filen "
+
+#: text-utils/more.c:1688
+msgid "...Skipping back to file "
+msgstr "...Springer tilbage til filen "
+
+#: text-utils/more.c:1966
+msgid "Line too long"
+msgstr "For lang linje"
+
+#: text-utils/more.c:2009
+msgid "No previous command to substitute for"
+msgstr "Ingen tidligere kommando at erstatte med"
+
+#: text-utils/odsyntax.c:130
+#, c-format
+msgid "od: od(1) has been deprecated for hexdump(1).\n"
+msgstr "od: od(1) er blevet erstattet af hexdump(1).\n"
+
+#: text-utils/odsyntax.c:133
+#, c-format
+msgid "od: hexdump(1) compatibility doesn't support the -%c option%s\n"
+msgstr "od: hexdump(1) kompatibilitet understøtter ikke -%c tilvalg%s\n"
+
+#: text-utils/odsyntax.c:134
+msgid "; see strings(1)."
+msgstr "; se strings(1)."
+
+#: text-utils/parse.c:63
+#, c-format
+msgid "hexdump: can't read %s.\n"
+msgstr "hexdump: kunne ikke læse %s.\n"
+
+#: text-utils/parse.c:68
+#, c-format
+msgid "hexdump: line too long.\n"
+msgstr "hexdump: for lang linje.\n"
+
+#: text-utils/parse.c:401
+#, c-format
+msgid "hexdump: byte count with multiple conversion characters.\n"
+msgstr "hexdump: byteantal med flere konverteringstegn.\n"
+
+#: text-utils/parse.c:483
+#, c-format
+msgid "hexdump: bad byte count for conversion character %s.\n"
+msgstr "hexdump: ugyldig byteantal til konverteringstegn %s.\n"
+
+#: text-utils/parse.c:490
+#, c-format
+msgid "hexdump: %%s requires a precision or a byte count.\n"
+msgstr "hexdump: %%s kræver en præcision eller et byteantal.\n"
+
+#: text-utils/parse.c:496
+#, c-format
+msgid "hexdump: bad format {%s}\n"
+msgstr "hexdump: ugyldigt format {%s}\n"
+
+#: text-utils/parse.c:502
+#, c-format
+msgid "hexdump: bad conversion character %%%s.\n"
+msgstr "hexdump: ugyldig konverteringstegn %%%s.\n"
+
+#: text-utils/pg.c:145
+msgid ""
+"All rights reserved.\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"
+msgstr ""
+
+#: text-utils/pg.c:223
+#, fuzzy
+msgid "Out of memory\n"
+msgstr "Hukommelse opbrugt"
+
+#: text-utils/pg.c:236
+#, c-format
+msgid ""
+"%s: Usage: %s [-number] [-p string] [-cefnrs] [+line] [+/pattern/] [files]\n"
+msgstr ""
+"%s: Brug: %s [-tal] [-p streng] [-cefnrs] [+linje] [+/mønster/] [filer]\n"
+
+#: text-utils/pg.c:245
+#, c-format
+msgid "%s: option requires an argument -- %s\n"
+msgstr "%s: tilvalget kræver et parameter -- %s\n"
+
+#: text-utils/pg.c:253
+#, c-format
+msgid "%s: illegal option -- %s\n"
+msgstr "%s: ugyldigt tilvalg -- %s\n"
+
+#: text-utils/pg.c:370
+msgid "...skipping forward\n"
+msgstr "...hopper fremad\n"
+
+#: text-utils/pg.c:372
+msgid "...skipping backward\n"
+msgstr "...springer bagud\n"
+
+#: text-utils/pg.c:394
+msgid "No next file"
+msgstr "Ingen næste fil"
+
+#: text-utils/pg.c:398
+msgid "No previous file"
+msgstr "Ingen forrige fil"
+
+#: text-utils/pg.c:928
+#, c-format
+msgid "%s: Read error from %s file\n"
+msgstr "%s: Læsefejl fra %s-fil\n"
+
+#: text-utils/pg.c:934
+#, c-format
+msgid "%s: Unexpected EOF in %s file\n"
+msgstr "%s: Uventet filafslutning i %s-fil\n"
+
+#: text-utils/pg.c:937
+#, c-format
+msgid "%s: Unknown error in %s file\n"
+msgstr "%s: Ukendt fejl i %s-fil\n"
+
+#: text-utils/pg.c:1032
+#, c-format
+msgid "%s: Cannot create tempfile\n"
+msgstr "%s: Kunne ikke oprette midlertidig fil.\n"
+
+#: text-utils/pg.c:1041 text-utils/pg.c:1216 text-utils/pg.c:1243
+msgid "RE error: "
+msgstr "RE fejl: "
+
+#: text-utils/pg.c:1198
+msgid "(EOF)"
+msgstr "(Filafslutning)"
+
+#: text-utils/pg.c:1224 text-utils/pg.c:1251
+msgid "No remembered search string"
+msgstr "Ingen gammel søgestreng"
+
+#: text-utils/pg.c:1307
+msgid "Cannot open "
+msgstr "Kunne ikke åbne "
+
+#: text-utils/pg.c:1355
+msgid "saved"
+msgstr "gemte"
+
+#: text-utils/pg.c:1462
+msgid ": !command not allowed in rflag mode.\n"
+msgstr ": !kommando ikke tilladt i rflag-tilstand.\n"
+
+#: text-utils/pg.c:1494
+msgid "fork() failed, try again later\n"
+msgstr "fork() mislykkedes, prøv senere\n"
+
+#: text-utils/pg.c:1702
+msgid "(Next file: "
+msgstr "(Næste fil: "
+
+#: text-utils/rev.c:113
+#, fuzzy
+msgid "unable to allocate bufferspace"
+msgstr "Kunne ikke allokere bufferplads\n"
+
+#: text-utils/rev.c:143
+#, c-format
+msgid "usage: rev [file ...]\n"
+msgstr "brug: rev [fil ...]\n"
+
+#: text-utils/tailf.c:57 text-utils/tailf.c:92
+#, fuzzy, c-format
+msgid "cannot open \"%s\" for read"
+msgstr "Kan ikke åbne %s for læsning\n"
+
+#: text-utils/tailf.c:95 text-utils/tailf.c:214
+#, fuzzy, c-format
+msgid "cannot stat \"%s\""
+msgstr "kunne ikke finde enheden %s"
+
+#: text-utils/tailf.c:108
+#, c-format
+msgid "incomplete write to \"%s\" (written %zd, expected %zd)\n"
+msgstr ""
+
+#: text-utils/tailf.c:146
+#, c-format
+msgid "%s: cannot add inotify watch (limit of inotify watches was reached)."
+msgstr ""
+
+#: text-utils/tailf.c:150
+#, c-format
+msgid "%s: cannot add inotify watch."
+msgstr ""
+
+#: text-utils/tailf.c:159
+#, fuzzy, c-format
+msgid "%s: cannot read inotify events"
+msgstr "%s: kunne ikke åbne %s\n"
+
+#: text-utils/tailf.c:198 text-utils/tailf.c:202
+#, fuzzy
+msgid "invalid number of lines"
+msgstr "Ugyldigt tal: %s\n"
+
+#: text-utils/tailf.c:209
+#, fuzzy
+msgid "usage: tailf [-n N | -N] logfile"
+msgstr "Brug: tailf logfil\n"
+
+#: text-utils/ul.c:141
+#, c-format
+msgid "usage: %s [ -i ] [ -tTerm ] file...\n"
+msgstr "brug: %s [ -i ] [ -tTerm ] fil...\n"
+
+#: text-utils/ul.c:152
+#, c-format
+msgid "trouble reading terminfo"
+msgstr "problemer ved læsning af 'terminfo'"
+
+#: text-utils/ul.c:242
+#, c-format
+msgid "Unknown escape sequence in input: %o, %o\n"
+msgstr "Ukendt undvigelsessekvens i inddata: %o, %o\n"
+
+#: text-utils/ul.c:425
+#, c-format
+msgid "Unable to allocate buffer.\n"
+msgstr "Kunne ikke allokere buffer.\n"
+
+#: text-utils/ul.c:586
+#, c-format
+msgid "Input line too long.\n"
+msgstr "For lang inddatalinje.\n"
+
+#: text-utils/ul.c:599
+#, c-format
+msgid "Out of memory when growing buffer.\n"
+msgstr "Løb tør for hukommelse under forstørring af buffer.\n"
+
+#~ msgid "# partition table of %s\n"
+#~ msgstr "# partitionstabel for %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "unit: sectors\n"
+#~ "\n"
+#~ msgstr "%lld ikke-allokerede sektorer\n"
+
+#, fuzzy
+#~ msgid " start=%9lu"
+#~ msgstr "start"
+
+#, fuzzy
+#~ msgid ", size=%9lu"
+#~ msgstr "Maksstørrelse=%ld\n"
+
+#, fuzzy
+#~ msgid ", bootable"
+#~ msgstr "AIX opstartbar"
+
+#, fuzzy
+#~ msgid "Clock in UTC, not changed.\n"
+#~ msgstr "Skal ikke udskiftet.\n"
+
+#~ msgid "%s: error: label only with v1 swap area\n"
+#~ msgstr "%s: fejl: mærke med kun v1-swapområde\n"
+
+#~ msgid "fatal: first page unreadable"
+#~ msgstr "fatalt: første side kan ikke læses"
+
+#, 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: Enhed '%s' undeholder en gyldig Sun diskmarkør.\n"
+#~ "Det betyder sikkert at det ville ødelægge din partitionstabel, hvis du\n"
+#~ "opretter en v0 swap. Ingen swap oprettet. Hvis du virkelig vil oprette "
+#~ "en\n"
+#~ "v0 swap på denne enhed, kan du gennemtvinge det med tilvalget -f.\n"
+
+#~ msgid "namei: unable to get current directory - %s\n"
+#~ msgstr "namei: kunne ikke bestemme aktuelle mappe - %s\n"
+
+#~ msgid "namei: unable to chdir to %s - %s (%d)\n"
+#~ msgstr "namei: kunne ikke skifte til mappen %s - %s (%d)\n"
+
+#~ msgid "namei: could not chdir to root!\n"
+#~ msgstr "namei: kunne ikke skifte til rodmappen!\n"
+
+#~ msgid "namei: could not stat root!\n"
+#~ msgstr "namei: kunne ikke finde rodmappen!\n"
+
+#~ msgid "namei: buf overflow\n"
+#~ msgstr "namei: bufferoverløb\n"
+
+#~ msgid " ? could not chdir into %s - %s (%d)\n"
+#~ msgstr " ? kunne ikke skifte til mappen %s - %s (%d)\n"
+
+#~ msgid " ? problems reading symlink %s - %s (%d)\n"
+#~ msgstr " ? problem ved læsning af symbolsk lænke %s - %s (%d)\n"
+
+#~ msgid "  *** EXCEEDED UNIX LIMIT OF SYMLINKS ***\n"
+#~ msgstr "  *** OVERSKRED UNIX' GRÆNSE FOR ANTALLET AF SYMBOLSKE LÆNKER ***\n"
+
+#~ msgid "namei: unknown file type 0%06o on file %s\n"
+#~ msgstr "namei: ukendt filtype 0%06o for fil %s\n"
+
+#, fuzzy
+#~ msgid "mount: going to mount %s by %s\n"
+#~ msgstr "mount: vil montere %s efter UUID\n"
+
+#, fuzzy
+#~ msgid "mount: no LABEL=, no UUID=, going to mount %s by path\n"
+#~ msgstr "mount: vil montere %s efter mærkat\n"
+
+#, fuzzy
+#~ msgid "%s: cannot fork: %s\n"
+#~ msgstr "%s: Kunne ikke forgrene (fork)\n"
+
+#, fuzzy
+#~ msgid "%s: waitpid: %s\n"
+#~ msgstr "%s: Kunne ikke åbne: %s\n"
+
+#~ msgid "%s: cannot stat %s: %s\n"
+#~ msgstr "%s: kan ikke finde %s: %s\n"
+
+#~ msgid "could not umount %s - trying %s instead\n"
+#~ msgstr "kunne ikke afmontere %s med umount - forsøger %s i stedet\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-fejl, afbryder: %s\n"
+
+#~ msgid "Can't read %s, exiting."
+#~ msgstr "Kunne ikke læse %s, afbryder."
+
+#~ msgid "login: PAM Failure, aborting: %s\n"
+#~ msgstr "login: PAM-fejl, afbryder: %s\n"
+
+#~ msgid "mount: backgrounding \"%s\"\n"
+#~ msgstr "mount: kører \"%s\" i baggrunden\n"
+
+#~ msgid "mount: giving up \"%s\"\n"
+#~ msgstr "mount: opgiver \"%s\"\n"
+
+#~ msgid "`%s': bad directory: '.' isn't first\n"
+#~ msgstr "'%s': ugyldig mappe: '.' er ikke først\n"
+
+#~ msgid "`%s': bad directory: '..' isn't second\n"
+#~ msgstr "'%s': ugyldig mappe: ',.' er ikke nummer to\n"
+
+#~ msgid "calling open_tty\n"
+#~ msgstr "kalder 'open_tty'\n"
+
+#~ msgid "calling termio_init\n"
+#~ msgstr "kalder 'termio_init'\n"
+
+#~ msgid "writing init string\n"
+#~ msgstr "skriver init-streng\n"
+
+#~ msgid "before autobaud\n"
+#~ msgstr "før 'autobaud'\n"
+
+#~ msgid "waiting for cr-lf\n"
+#~ msgstr "venter på cr-lf\n"
+
+#~ msgid "reading login name\n"
+#~ msgstr "læser loginnavn\n"
+
+#~ msgid "after getopt loop\n"
+#~ msgstr "efter 'getopt'-løkke\n"
+
+#~ msgid "exiting parseargs\n"
+#~ msgstr "afslutter 'parseargs'\n"
+
+#~ msgid "entered parse_speeds\n"
+#~ msgstr "kom til 'parse_speeds'\n"
+
+#~ msgid "exiting parsespeeds\n"
+#~ msgstr "afslutter 'parsespeeds'\n"
+
+#~ msgid "open(2)\n"
+#~ msgstr "open(2)\n"
+
+#~ msgid "duping\n"
+#~ msgstr "duplikerer\n"
+
+#~ msgid "term_io 2\n"
+#~ msgstr "term_io 2\n"
+
+#~ msgid "Password error."
+#~ msgstr "Fejl i adgangskode."
+
+#~ msgid "Warning: \"%s\" is not listed in /etc/shells\n"
+#~ msgstr "Advarsel: \"%s\" er ikke med i /etc/shells\n"
+
+#~ msgid "timeout = %d, quiet = %d, reboot = %d\n"
+#~ msgstr "tidsudløb = %d, stille = %d, genstart = %d\n"
+
+#~ msgid "couldn't read %s, and cannot ioctl dump\n"
+#~ msgstr "kunne hverken læse %s eller udføre ioctl dump\n"
+
+#~ msgid ", offset %lld"
+#~ msgstr ", forskydning %lld"
+
+#~ msgid "%s: could not find any device /dev/loop#"
+#~ msgstr "%s: kunne ikke finde nogen /dev/loop# enhed"
+
+#~ msgid ""
+#~ "usage: %s [-hV]\n"
+#~ "       %s -a [-e] [-v]\n"
+#~ "       %s [-v] [-p priority] special|LABEL=volume_name ...\n"
+#~ "       %s [-s]\n"
+#~ msgstr ""
+#~ "brug: %s [-hV]\n"
+#~ "      %s -a [-e] [-v]\n"
+#~ "      %s [-v] [-p prioritet] speciel|LABEL=bindnavn ...\n"
+#~ "      %s [-s]\n"
+
+#~ msgid ""
+#~ "usage: %s [-hV]\n"
+#~ "       %s -a [-v]\n"
+#~ "       %s [-v] special ...\n"
+#~ msgstr ""
+#~ "brug: %s [-hV]\n"
+#~ "      %s -a [-v]\n"
+#~ "      %s [-v] speciel ...\n"
+
+#, fuzzy
+#~ msgid "%s: cannot canonicalize %s: %s\n"
+#~ msgstr "%s: kunne ikke åbne %s: %s\n"
+
+#~ msgid ""
+#~ "usage: renice priority [ [ -p ] pids ] [ [ -g ] pgrps ] [ [ -u ] users ]\n"
+#~ msgstr ""
+#~ "brug: renice prioritet [ [ -p ] pids ] [ [ -g ] pgrpr ] [ [ -u ] "
+#~ "brugere ]\n"
+
+#, fuzzy
+#~ msgid "Unknown option `%c' ignored"
+#~ msgstr "%s: ukendt tilvalg \"-%c\"\n"
+
+#~ msgid ""
+#~ "Exceeded MAXENTRIES.  Raise this value in mkcramfs.c and recompile.  "
+#~ "Exiting.\n"
+#~ msgstr ""
+#~ "Overskrider MAXENTRIES.  Forøg denne værdi i mkcramfs.c og genoversæt  "
+#~ "Afslutter.\n"
+
+#~ msgid "Assuming pages of size %d (not %d)\n"
+#~ msgstr "Antager sider med størrelsen %d (ikke %d)\n"
+
+#~ msgid "Autoconfigure found a %s%s%s\n"
+#~ msgstr "Autokonfigurering fandt en %s%s%s\n"
+
+#~ msgid ""
+#~ "Drive type\n"
+#~ "   ?   auto configure\n"
+#~ "   0   custom (with hardware detected defaults)"
+#~ msgstr ""
+#~ "Drevtype\n"
+#~ "   ?   autokonfigurering\n"
+#~ "   0   brugerangivet (med maskinens fundne standardværdier)"
+
+#~ msgid "Select type (? for auto, 0 for custom): "
+#~ msgstr "Vælg type (? for auto. 0 for brugerangivet): "
+
+#~ msgid "Autoconfigure failed.\n"
+#~ msgstr "Autokonfigurering mislykkedes.\n"
+
+#~ msgid "Alternate cylinders"
+#~ msgstr "Alternative cylindre"
+
+#~ msgid "Physical cylinders"
+#~ msgstr "Fysiske cylindre"
+
+#~ msgid "You may change all the disk params from the x menu"
+#~ msgstr "Du kan ændre alle diskparametrene fra x-menuen"
+
+#~ msgid "3,5\" floppy"
+#~ msgstr "3,5\" diskette"
+
+#~ msgid "Linux custom"
+#~ msgstr "Linux' egen"
+
+#~ msgid "%s from util-linux-%s\n"
+#~ msgstr "%s fra util-linux-%s\n"
+
+#~ msgid "%s from %s%s\n"
+#~ msgstr "%s fra %s%s\n"
+
+#~ msgid "%s: error: the label %s occurs on both %s and %s\n"
+#~ msgstr "%s: fejl: mærket %s optræder på både %s og %s\n"
+
+#~ msgid ""
+#~ "%s: could not open %s, so UUID and LABEL conversion cannot be done.\n"
+#~ msgstr ""
+#~ "%s: kunne ikke åbne %s, så UUID- og MÆRKE­-konvertering kan ikke "
+#~ "gennemføres.\n"
+
+#~ msgid "%s: bad UUID"
+#~ msgstr "%s: ugyldig UUID"
+
+#~ msgid "mount: failed with nfs mount version 4, trying 3..\n"
+#~ msgstr "mount: montering af nfs version 4 mislykkedes, prøver version 3..\n"
+
+#~ msgid "mount: mounting %s\n"
+#~ msgstr "mount: monterer %s\n"
+
+#~ msgid "mount: cannot find %s in %s"
+#~ msgstr "mount: kunne ikke finde %s i %s"
+
+#~ msgid "mount: error while guessing filesystem type\n"
+#~ msgstr "mount: fejl ved gæt af filsystemtype\n"
+
+#~ msgid "mount: excessively long host:dir argument\n"
+#~ msgstr "mount: voldsomt langt 'vært:mappe'-parameter\n"
+
+#~ msgid "mount: warning: multiple hostnames not supported\n"
+#~ msgstr "mount: advarsel: angivelse af flere værtsnavne understøttes ikke\n"
+
+#~ msgid "mount: directory to mount not in host:dir format\n"
+#~ msgstr "mount: mappe, der monteres, er ikke i formatet 'vært:mappe'\n"
+
+#~ msgid "mount: can't get address for %s\n"
+#~ msgstr "mount: kunne ikke få adressen på %s\n"
+
+#~ msgid "mount: got bad hp->h_length\n"
+#~ msgstr "mount: fik ugyldig hp->h_length\n"
+
+#~ msgid "mount: excessively long option argument\n"
+#~ msgstr "mount: voldsomt langt tilvalgsparameter\n"
+
+#~ msgid "Warning: Unrecognized proto= option.\n"
+#~ msgstr "Advarsel: Ukendt proto= tilvalg.\n"
+
+#~ msgid "Warning: Option namlen is not supported.\n"
+#~ msgstr "Advarsel: Tilvalget 'namlen' understøttes ikke.\n"
+
+#~ msgid "unknown nfs mount parameter: %s=%d\n"
+#~ msgstr "ukendt NFS-montageparameter: %s=%d\n"
+
+#~ msgid "Warning: option nolock is not supported.\n"
+#~ msgstr "Advarsel: tilvalget 'nolock' understøttes ikke.\n"
+
+#~ msgid "unknown nfs mount option: %s%s\n"
+#~ msgstr "ukendt NFS-montageparameter: %s%s\n"
+
+#~ msgid "mount: got bad hp->h_length?\n"
+#~ msgstr "mount: fik ugyldig hp->h_length?\n"
+
+#~ msgid "nfs bindresvport"
+#~ msgstr "nfs bindresvport"
+
+#~ msgid "nfs server reported service unavailable"
+#~ msgstr "NFS-tjener angav, at tjenesten ikke var tilgængelig"
+
+#~ msgid "used portmapper to find NFS port\n"
+#~ msgstr "benyttede portmapper til at finde NFS-port\n"
+
+#~ msgid "using port %d for nfs deamon\n"
+#~ msgstr "bruger port %d til NFS-dæmonen\n"
+
+#~ msgid "unknown nfs status return value: %d"
+#~ msgstr "ukendt NFS-statusværdi: %d"
+
+#~ msgid "host: %s, directory: %s\n"
+#~ msgstr "vært: %s, mappe: %s\n"
+
+#~ msgid "umount: can't get address for %s\n"
+#~ msgstr "umount: kunne ikke få adressen på %s\n"
+
+#~ msgid "umount: got bad hostp->h_length\n"
+#~ msgstr "umount: fik ugyldig hostp->h_length\n"
+
+#~ msgid "%s: invalid cramfs--bad path length\n"
+#~ msgstr "%s: ugyldigt cramfs--forkert stilængde\n"
+
+#~ msgid "%s: invalid cramfs--wrong magic\n"
+#~ msgstr "%s: ugyldigt cramfs--forkert magisk nummer\n"
+
+#~ msgid "%s: warning--file length too long, padded image?\n"
+#~ msgstr "%s: advarsel--fillængde for lang, er det et efterfyldt aftryk?\n"
+
+#~ msgid "%s: invalid cramfs--crc error\n"
+#~ msgstr "%s: ugyldigt cramfs--crc-fejl\n"
+
+#~ msgid "%s: invalid cramfs--bad superblock\n"
+#~ msgstr "%s: ugyldigt cramfs--ugyldig superblok\n"
+
+#~ msgid "mkfs version %s (%s)\n"
+#~ msgstr "mkfs version %s (%s)\n"
+
+#, fuzzy
+#~ msgid "flock: unknown option, aborting.\n"
+#~ msgstr "%s: ukendt signal %s\n"
+
+#~ msgid "Syntax error: '%s'\n"
+#~ msgstr "Syntaksfejl: '%s'\n"
+
+#~ msgid "No such parameter set: '%s'\n"
+#~ msgstr "Ingen sådan parameter sat: '%s'\n"
+
+#~ msgid "   %s [ -p ] dev name\n"
+#~ msgstr "   %s [ -p ] enh navn\n"
+
+#~ msgid ""
+#~ "   %s [ -p ] dev size sect heads tracks stretch gap rate spec1 fmt_gap\n"
+#~ msgstr ""
+#~ "   %s [ -p ] enh str sekt hoveder spor stræk gab rate spec1 fmt_gab\n"
+
+#~ msgid "   %s [ -c | -y | -n | -d ] dev\n"
+#~ msgstr "   %s [ -c | -y | -n | -d ] enh\n"
+
+#~ msgid "   %s [ -c | -y | -n ] dev\n"
+#~ msgstr "   %s [ -c | -y | -n ] enh\n"
+
+#~ msgid "version"
+#~ msgstr "version"
+
+#~ msgid "couldn't open /dev/urandom"
+#~ msgstr "kunne ikke åbne /dev/urandom"
+
+#~ msgid "couldn't read random data from /dev/urandom"
+#~ msgstr "kunne ikke læse tilfældige data fra /dev/urandom"
+
+#~ msgid "can't stat(%s)"
+#~ msgstr "kunne ikke stat(%s)"
+
+#~ msgid "%s doesn't have the correct filemodes"
+#~ msgstr "%s har ikke de korrekte filmodi"
+
+#~ msgid "can't read data from %s"
+#~ msgstr "kunne ikke læse data fra %s"
+
+#~ msgid ""
+#~ "Too many users logged on already.\n"
+#~ "Try again later.\n"
+#~ msgstr ""
+#~ "For mange brugere er allerede logget på.\n"
+#~ "Prøv igen senere.\n"
+
+#~ msgid "You have too many processes running.\n"
+#~ msgstr "Du har for mange processer kørende.\n"
+
+#~ msgid "The password must have at least 6 characters, try again.\n"
+#~ msgstr "Adgangskoden skal bestå af mindst 6 tegn. Prøv 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 ""
+#~ "Adgangskoden skal indeholde tegn fra to af følgende klasser:\n"
+#~ "store og små bogstaver, tal og ikke-alfanumeriske tegn.\n"
+#~ "Se passwd(1) for flere oplysninger.\n"
+
+#~ msgid "You cannot reuse the old password.\n"
+#~ msgstr "Du kan ikke genbruge den gamle adgangskode.\n"
+
+#~ msgid "Please don't use something like your username as password!\n"
+#~ msgstr "Brug venligst ikke brugernavn og lignende som adgangskode!\n"
+
+#~ msgid "Please don't use something like your realname as password!\n"
+#~ msgstr "Brug venligst ikke dit rigtige navn og lignende som adgangskode!\n"
+
+#~ msgid "Usage: passwd [username [password]]\n"
+#~ msgstr "Brug: passwd [brugernavn [adgangskode]]\n"
+
+#~ msgid "Only root may use the one and two argument forms.\n"
+#~ msgstr "Kun root kan bruge et- og to-parameter formater.\n"
+
+#~ msgid "Usage: passwd [-foqsvV] [user [password]]\n"
+#~ msgstr "Brug: passwd [-foqsvV] [bruger [adgangskode]]\n"
+
+#~ msgid "Can't exec %s: %s\n"
+#~ msgstr "Kunne ikke udføre %s: %s\n"
+
+#~ msgid "Cannot find login name"
+#~ msgstr "Kunne ikke finde loginnavn"
+
+#~ msgid "Only root can change the password for others.\n"
+#~ msgstr "Kun root kan ændre adgangskoder for andre.\n"
+
+#~ msgid "Can't find username anywhere. Is `%s' really a user?"
+#~ msgstr ""
+#~ "Kan ikke finde brugernavnet nogen steder. Er '%s' virkelig en bruger?"
+
+#~ msgid "Sorry, I can only change local passwords. Use yppasswd instead."
+#~ msgstr ""
+#~ "Beklager, jeg kan kun ændre lokale adgangskoder. Brug 'yppasswd' i stedet."
+
+#~ msgid "UID and username does not match, imposter!"
+#~ msgstr "UID og brugernavn passer ikke sammen."
+
+#~ msgid "Changing password for %s\n"
+#~ msgstr "Ændrer adgangskode for %s\n"
+
+#~ msgid "Enter old password: "
+#~ msgstr "Indtast gammel adgangskode: "
+
+#~ msgid "Illegal password, imposter."
+#~ msgstr "Ugyldig adgangskode."
+
+#~ msgid "Enter new password: "
+#~ msgstr "Indtast ny adgangskode: "
+
+#~ msgid "Password not changed."
+#~ msgstr "Adgangskode ikke ændret."
+
+#~ msgid "Re-type new password: "
+#~ msgstr "Gentag ny adgangskode: "
+
+#~ msgid "You misspelled it. Password not changed."
+#~ msgstr "Du stavede forkert. Adgangskoden blev ikke ændret."
+
+#~ msgid "password changed, user %s"
+#~ msgstr "adgangskode ændret, bruger %s"
+
+#~ msgid "ROOT PASSWORD CHANGED"
+#~ msgstr "ROOT-ADGANGSKODE ÆNDRET"
+
+#~ msgid "password changed by root, user %s"
+#~ msgstr "adgangskoden ændret af root, bruger %s"
+
+#~ msgid "calling setpwnam to set password.\n"
+#~ msgstr "kalder setpwnam for at ændre adgangskoden.\n"
+
+#~ msgid "Password *NOT* changed.  Try again later.\n"
+#~ msgstr "Adgangskode *IKKE* ændret. Prøv igen senere.\n"
+
+#~ msgid "Password changed.\n"
+#~ msgstr "Adgangskode ændret.\n"
+
+#~ msgid "mount: this version was compiled without support for the type `nfs'"
+#~ msgstr ""
+#~ "mount: denne version blev oversat uden understøttelse for 'nfs'-typen"
+
+#, fuzzy
+#~ msgid "Warning: omitting partitions after %d\n"
+#~ msgstr "Advarsel: sletter partitioner efter %d\n"
+
+#~ msgid "mount: fs type %s not supported by kernel"
+#~ msgstr "mount: filsystemtype %s understøttes ikke af kernen"
+
+#~ msgid "BLKGETSIZE ioctl failed for %s\n"
+#~ msgstr "BLKGETSIZE ioctl mislykkedes for %s\n"
+
+#~ msgid "%s: not compiled with minix v2 support\n"
+#~ msgstr "%s: ikke oversat med understøttelse for minix v2\n"
+
+#~ msgid "Boot (%02X)"
+#~ msgstr "Opstart (%02X)"
+
+#~ msgid "None (%02X)"
+#~ msgstr "Ingen (%02X)"
+
+#, fuzzy
+#~ msgid "%s: [%04llx]:%llu (%s) offset %llu, %s encryption\n"
+#~ msgstr "%s: [%04x]:%ld (%s) forskydning %d, %s kryptering\n"
+
+#~ msgid ""
+#~ "mount: Could not find any loop device.\n"
+#~ "       Maybe /dev/loop# has a wrong major number?"
+#~ msgstr ""
+#~ "mount: Kunne ikke finde nogen loop-enhed.\n"
+#~ "       Måske har /dev/loop# forkert hovednummer?"
+
+#~ 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: Kunne ikke finde nogen loop-enheder. Måske kender denne kerne "
+#~ "ikke\n"
+#~ "       til loop-enheder (i så fald genoversæt kernen, eller 'insmod loop."
+#~ "o'),\n"
+#~ "       eller har /dev/loop# bare et forkert hovednummer?"
+
+#, fuzzy
+#~ msgid "Error: unable to open %s for reading\n"
+#~ msgstr "kunne ikke åbne %s for læsning\n"
+
+#, fuzzy
+#~ msgid "Retype password: "
+#~ msgstr "Gentag ny adgangskode: "
+
+#, fuzzy
+#~ msgid "Error: gpg key file decryption failed\n"
+#~ msgstr "kunne ikke åbne katalog\n"
+
+#, fuzzy
+#~ msgid "Error: Password must be at least %d characters.\n"
+#~ msgstr "Adgangskoden skal bestå af mindst 6 tegn. Prøv igen.\n"
+
+#~ msgid "Init (up to 16 hex digits): "
+#~ msgstr "Init (op til 16 hex-cifre): "
+
+#~ msgid "Non-hex digit '%c'.\n"
+#~ msgstr "Ikke-hex ciffer '%c'.\n"
+
+#~ msgid "Don't know how to get key for encryption system %d\n"
+#~ msgstr "Ved ikke, hvordan man får en nøgle til krypteringssystem %d\n"
+
+#, fuzzy
+#~ msgid "Error: unable to open /etc/fstab for reading\n"
+#~ msgstr "kunne ikke åbne %s for læsning\n"
+
+#~ msgid "mount: %s duplicate - not mounted"
+#~ msgstr "umount: %s gentaget - ikke monteret"
+
+#~ msgid "UUID"
+#~ msgstr "UUID"
+
+#~ msgid "mount: the label %s occurs on both %s and %s - not mounted\n"
+#~ msgstr "mount: mærket %s optræde både på %s og %s - ikke monteret\n"
+
+#, fuzzy
+#~ msgid "swapon: invalid loop device name\n"
+#~ msgstr "umount: %s: ugyldig blokenhed"
+
+#, fuzzy
+#~ msgid "swapon: unable to open loop device %s\n"
+#~ msgstr "mount: skal til at benytte loop-enheden %s\n"
+
+#, fuzzy
+#~ msgid "swapon: loop device %s already in use\n"
+#~ msgstr "Denne partition er allerede i brug"
+
+#, fuzzy
+#~ msgid "swapon: unable to open swap device %s\n"
+#~ msgstr "kunne ikke spole tilbage på swap-enheden"
+
+#, fuzzy
+#~ msgid "swapon: unable to open /dev/urandom\n"
+#~ msgstr "kunne ikke åbne /dev/urandom"
+
+#, fuzzy
+#~ msgid "swapon: unable to create pipe\n"
+#~ msgstr "kunne ikke skrive inodes"
+
+#, fuzzy
+#~ msgid "swapon: random password for %s is %s"
+#~ msgstr "Ændrer adgangskode for %s\n"
+
+#~ msgid "Partition %i does not end on cylinder boundary:\n"
+#~ msgstr "Partition %i slutter ikke på en cylinder-grænse:\n"
+
+#~ msgid "Can't open help file"
+#~ msgstr "Kunne ikke åbne hjælpefilen"
+
+#~ msgid ""
+#~ "\n"
+#~ "Disk %s: %d heads, %d sectors, %d cylinders\n"
+#~ "Units = %s of %d * %d bytes\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Disk %s: %d hoveder, %d sektorer, %d cylindre\n"
+#~ "Enheder = %s á %d * %d byte\n"
+#~ "\n"
diff --git a/po/de.gmo b/po/de.gmo
new file mode 100644 (file)
index 0000000..5e0dba9
Binary files /dev/null and b/po/de.gmo differ
diff --git a/po/de.po b/po/de.po
new file mode 100644 (file)
index 0000000..fb625d8
--- /dev/null
+++ b/po/de.po
@@ -0,0 +1,12705 @@
+# German translation for util-linux.
+# 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.
+#
+# Note:
+# =====
+# Changes done by Karl Eichwalder are put into the Public Domain.
+# Mine too. MPi
+#
+# 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-ng 2.13.1-rc1\n"
+"Report-Msgid-Bugs-To: Karel Zak <kzak@redhat.com>\n"
+"POT-Creation-Date: 2009-11-30 16:27+0100\n"
+"PO-Revision-Date: 2008-01-09 17:38+0200\n"
+"Last-Translator: Michael Piefel <piefel@informatik.hu-berlin.de>\n"
+"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: disk-utils/blockdev.c:37
+msgid "set read-only"
+msgstr "Nur-Lesen setzen"
+
+#: disk-utils/blockdev.c:38
+msgid "set read-write"
+msgstr "Lesen-Schreiben setzen"
+
+#: disk-utils/blockdev.c:39
+msgid "get read-only"
+msgstr "Nur-Lesen ermitteln"
+
+#: disk-utils/blockdev.c:40
+msgid "get sectorsize"
+msgstr "Sektorgröße ermitteln"
+
+#: disk-utils/blockdev.c:41
+msgid "get blocksize"
+msgstr "Blockgröße ermitteln"
+
+#: disk-utils/blockdev.c:42
+msgid "set blocksize"
+msgstr "Blockgröße setzen"
+
+#: disk-utils/blockdev.c:43
+msgid "get 32-bit sector count"
+msgstr "32-Bit-Sektor-Zähler ermitteln"
+
+#: disk-utils/blockdev.c:44
+msgid "get size in bytes"
+msgstr "Größe in Bytes ermitteln"
+
+#: disk-utils/blockdev.c:45
+msgid "set readahead"
+msgstr "Readahead (vorausschauendes Lesen) setzen"
+
+#: disk-utils/blockdev.c:46
+msgid "get readahead"
+msgstr "Readahead ermitteln"
+
+#: disk-utils/blockdev.c:47
+msgid "set filesystem readahead"
+msgstr "Readahead (vorausschauendes Lesen) für Dateisystem setzen"
+
+#: disk-utils/blockdev.c:48
+msgid "get filesystem readahead"
+msgstr "Readahead für Dateisystem ermitteln"
+
+#: disk-utils/blockdev.c:49
+msgid "flush buffers"
+msgstr "Puffer leeren"
+
+#: disk-utils/blockdev.c:51
+msgid "reread partition table"
+msgstr "Partitionstabelle erneut lesen"
+
+#: disk-utils/blockdev.c:60
+#, c-format
+msgid "Usage:\n"
+msgstr "Aufruf:\n"
+
+#: disk-utils/blockdev.c:62
+#, c-format
+msgid "  %s --report [devices]\n"
+msgstr "  %s --report [Geräte]\n"
+
+#: disk-utils/blockdev.c:63
+#, c-format
+msgid "  %s [-v|-q] commands devices\n"
+msgstr " %s [-v|-q] Befehle Geräte\n"
+
+#: disk-utils/blockdev.c:66
+#, c-format
+msgid "Available commands:\n"
+msgstr "Verfügbare Befehle:\n"
+
+#: disk-utils/blockdev.c:68
+#, fuzzy
+msgid "get size in 512-byte sectors"
+msgstr "Größe in Bytes ermitteln"
+
+#: disk-utils/blockdev.c:201
+#, c-format
+msgid "%s: Unknown command: %s\n"
+msgstr "%s: Unbekannter Befehl: %s\n"
+
+#: disk-utils/blockdev.c:213 disk-utils/blockdev.c:222
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s erwartet ein Argument\n"
+
+#: disk-utils/blockdev.c:255
+#, fuzzy, c-format
+msgid "%s failed.\n"
+msgstr "„seek“ gescheitert."
+
+#: disk-utils/blockdev.c:292
+#, c-format
+msgid "%s succeeded.\n"
+msgstr "%s erfolgreich beendet.\n"
+
+#: disk-utils/blockdev.c:310 disk-utils/blockdev.c:338
+#, c-format
+msgid "%s: cannot open %s\n"
+msgstr "%s: Konnte %s nicht öffnen\n"
+
+#: disk-utils/blockdev.c:355
+#, c-format
+msgid "%s: ioctl error on %s\n"
+msgstr "%s: IOCTL-Fehler bei %s\n"
+
+#: disk-utils/blockdev.c:364
+#, fuzzy, c-format
+msgid "RO    RA   SSZ   BSZ   StartSec            Size   Device\n"
+msgstr "NurL  RA   SGr   BGr   Startsek     Größe   Gerät\n"
+
+#: disk-utils/elvtune.c:48
+#, c-format
+msgid "usage:\n"
+msgstr "Aufruf:\n"
+
+#: disk-utils/elvtune.c:53
+#, c-format
+msgid "\tNOTE: elvtune only works with 2.4 kernels\n"
+msgstr ""
+
+#: disk-utils/elvtune.c:104
+#, fuzzy, c-format
+msgid "parse error\n"
+msgstr "Seek-Fehler"
+
+#: disk-utils/elvtune.c:110
+#, fuzzy, c-format
+msgid "missing blockdevice, use -h for help\n"
+msgstr "%s ist kein blockorientiertes Gerät oder Datei\n"
+
+#: disk-utils/elvtune.c:131
+#, 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:31
+#, c-format
+msgid "Formatting ... "
+msgstr "Formatieren … "
+
+#: disk-utils/fdformat.c:49 disk-utils/fdformat.c:86
+#, c-format
+msgid "done\n"
+msgstr "Beendet\n"
+
+#: disk-utils/fdformat.c:60
+#, 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:80
+#, 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:96
+#, c-format
+msgid "usage: %s [ -n ] device\n"
+msgstr "Aufruf: %s [ -n ] Gerät\n"
+
+#: disk-utils/fdformat.c:118 disk-utils/fsck.minix.c:1282
+#: disk-utils/isosize.c:181 disk-utils/mkfs.bfs.c:115 disk-utils/mkfs.c:52
+#: disk-utils/mkfs.cramfs.c:813 disk-utils/mkfs.minix.c:571
+#: disk-utils/mkswap.c:461 misc-utils/ddate.c:179 misc-utils/rename.c:79
+#: misc-utils/script.c:147 sys-utils/readprofile.c:197
+#, c-format
+msgid "%s (%s)\n"
+msgstr "%s (%s)\n"
+
+#: disk-utils/fdformat.c:132
+#, c-format
+msgid "%s: not a block device\n"
+msgstr "%s: kein blockorientiertes Gerät\n"
+
+#: disk-utils/fdformat.c:142
+msgid "Could not determine current format type"
+msgstr "Konnte das aktuelle Format nicht feststellen"
+
+#: disk-utils/fdformat.c:143
+#, c-format
+msgid "%s-sided, %d tracks, %d sec/track. Total capacity %d kB.\n"
+msgstr "%sseitig, %d Spuren, %d Sektoren/Spur, Totale Kapazität: %dkB.\n"
+
+#: disk-utils/fdformat.c:144
+msgid "Double"
+msgstr "Doppel"
+
+#: disk-utils/fdformat.c:144
+msgid "Single"
+msgstr "Einfach"
+
+#: disk-utils/fsck.cramfs.c:118
+#, c-format
+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"
+
+#: disk-utils/fsck.cramfs.c:164
+#, fuzzy, c-format
+msgid "stat failed: %s"
+msgstr "(Nächste Datei: %s)"
+
+#: disk-utils/fsck.cramfs.c:168 disk-utils/fsck.cramfs.c:552
+#, fuzzy, c-format
+msgid "open failed: %s"
+msgstr "„openpty“ ist fehlgeschlagen\n"
+
+#: disk-utils/fsck.cramfs.c:173
+#, fuzzy, c-format
+msgid "ioctl failed: unable to determine device size: %s"
+msgstr "%s: Warnung – kann Dateisystemgröße nicht bestimmen\n"
+
+#: disk-utils/fsck.cramfs.c:181
+#, fuzzy, c-format
+msgid "not a block device or file: %s"
+msgstr "%s ist kein blockorientiertes Gerät oder Datei\n"
+
+#: disk-utils/fsck.cramfs.c:185 disk-utils/fsck.cramfs.c:227
+#, fuzzy
+msgid "file length too short"
+msgstr "%s: ungültiges cramfs – Dateilänge zu kurz\n"
+
+#: disk-utils/fsck.cramfs.c:190 disk-utils/fsck.cramfs.c:198
+#: disk-utils/fsck.cramfs.c:259 disk-utils/fsck.cramfs.c:279
+#, fuzzy, c-format
+msgid "read failed: %s"
+msgstr "(Nächste Datei: %s)"
+
+#: disk-utils/fsck.cramfs.c:208
+msgid "superblock magic not found"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:217
+#, fuzzy
+msgid "unsupported filesystem features"
+msgstr "Geben Sie den Dateisystemtyp ein: "
+
+#: disk-utils/fsck.cramfs.c:220
+#, fuzzy, c-format
+msgid "superblock size (%d) too small"
+msgstr "Anzahl der Sektoren"
+
+#: disk-utils/fsck.cramfs.c:224
+msgid "zero file count"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:230
+#, fuzzy, c-format
+msgid "warning: file extends past end of filesystem\n"
+msgstr "Warnung: Partition %s reicht über das Ende der Platte hinaus\n"
+
+#: disk-utils/fsck.cramfs.c:234
+#, fuzzy, c-format
+msgid "warning: old cramfs format\n"
+msgstr "%s: Warnung – altes cramfs-Abbild, kein CRC\n"
+
+#: disk-utils/fsck.cramfs.c:247
+msgid "unable to test CRC: old cramfs format"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:273 disk-utils/fsck.cramfs.c:340
+#: disk-utils/fsck.cramfs.c:478 login-utils/chfn.c:529 login-utils/chsh.c:439
+#: sys-utils/cytune.c:321
+msgid "malloc failed"
+msgstr "„malloc“ schlug fehl"
+
+#: disk-utils/fsck.cramfs.c:298
+#, fuzzy
+msgid "crc error"
+msgstr ", Fehler"
+
+#: disk-utils/fsck.cramfs.c:365
+#, fuzzy
+msgid "root inode is not directory"
+msgstr "„root inode“ ist kein Verzeichnis"
+
+#: disk-utils/fsck.cramfs.c:370
+#, c-format
+msgid "bad root offset (%lu)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:388
+msgid "data block too large"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:392
+#, c-format
+msgid "decompression error %p(%d): %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:416
+#, fuzzy, c-format
+msgid "  hole at %ld (%zd)\n"
+msgstr " Loch bei %ld (%d)\n"
+
+#: disk-utils/fsck.cramfs.c:424 disk-utils/fsck.cramfs.c:596
+#, 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:430
+#, fuzzy, c-format
+msgid "non-block (%ld) bytes"
+msgstr "%s: Nicht-Block (%ld) Bytes\n"
+
+#: disk-utils/fsck.cramfs.c:434
+#, fuzzy, c-format
+msgid "non-size (%ld vs %ld) bytes"
+msgstr "%s: Nicht-Größe (%ld vs %ld) Bytes\n"
+
+#: disk-utils/fsck.cramfs.c:440
+#, fuzzy, c-format
+msgid "write failed: %s"
+msgstr "(Nächste Datei: %s)"
+
+#: disk-utils/fsck.cramfs.c:453
+#, fuzzy, c-format
+msgid "lchown failed: %s"
+msgstr "mount ist fehlgeschlagen"
+
+#: disk-utils/fsck.cramfs.c:459
+#, fuzzy, c-format
+msgid "chown failed: %s"
+msgstr "mount ist fehlgeschlagen"
+
+#: disk-utils/fsck.cramfs.c:466
+#, fuzzy, c-format
+msgid "utime failed: %s"
+msgstr "ungültiger Auszeit-Wert: %s"
+
+#: disk-utils/fsck.cramfs.c:481
+#, c-format
+msgid "directory inode has zero offset and non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:495
+#, fuzzy, c-format
+msgid "mkdir failed: %s"
+msgstr "Konnte nicht in das Verzeichnis /dev wechseln: %m"
+
+#: disk-utils/fsck.cramfs.c:512
+msgid "filename length is zero"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:515
+msgid "bad filename length"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:522
+#, fuzzy
+msgid "bad inode offset"
+msgstr "ungültige INode-Größe"
+
+#: disk-utils/fsck.cramfs.c:538
+msgid "file inode has zero offset and non-zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:541
+msgid "file inode has zero size and non-zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:572
+msgid "symbolic link has zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:575
+msgid "symbolic link has zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:587
+#, fuzzy, c-format
+msgid "size error in symlink: %s"
+msgstr "%s: Größenfehler bei symbolischer Verknüpfung „%s“\n"
+
+#: disk-utils/fsck.cramfs.c:602
+#, fuzzy, c-format
+msgid "symlink failed: %s"
+msgstr "Aufruf von „fsync“ fehlgeschlagen"
+
+#: disk-utils/fsck.cramfs.c:614
+#, c-format
+msgid "special file has non-zero offset: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:626
+#, c-format
+msgid "fifo has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:632
+#, c-format
+msgid "socket has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:637
+#, fuzzy, c-format
+msgid "bogus mode: %s (%o)"
+msgstr "%s: unsinniger Modus auf „%s“ (%o)\n"
+
+#: disk-utils/fsck.cramfs.c:647
+#, fuzzy, c-format
+msgid "mknod failed: %s"
+msgstr "mount ist fehlgeschlagen"
+
+#: disk-utils/fsck.cramfs.c:683
+#, c-format
+msgid "directory data start (%ld) < sizeof(struct cramfs_super) + start (%ld)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:686
+#, fuzzy, c-format
+msgid "directory data end (%ld) != file data start (%ld)"
+msgstr ""
+"%s: ungültiges cramfs – Verzeichnisdatenende (%ld) != Dateidatenanfang (%"
+"ld)\n"
+
+#: disk-utils/fsck.cramfs.c:691
+#, fuzzy
+msgid "invalid file data offset"
+msgstr "%s: ungültiges cramfs – ungültiges Dateidatenoffset\n"
+
+#: disk-utils/fsck.cramfs.c:715
+#, fuzzy
+msgid "failed to allocate outbuffer"
+msgstr "Konnte keinen Speicher für einen Puffer reservieren.\n"
+
+#: disk-utils/fsck.cramfs.c:728
+#, fuzzy
+msgid "compiled without -x support"
+msgstr "%s: Die Unterstützung für -x wurde nicht mit übersetzt\n"
+
+#: disk-utils/fsck.minix.c:210
+#, c-format
+msgid "Usage: %s [-larvsmf] /dev/name\n"
+msgstr "Aufruf: %s [-larvsmf] /dev/name\n"
+
+#: disk-utils/fsck.minix.c:326
+#, c-format
+msgid "%s is mounted.\t "
+msgstr "%s ist eingehängt.\t"
+
+#: disk-utils/fsck.minix.c:328
+msgid "Do you really want to continue"
+msgstr "Möchten Sie wirklich fortfahren"
+
+#: disk-utils/fsck.minix.c:332
+#, c-format
+msgid "check aborted.\n"
+msgstr "Überprüfung abgebrochen. \n"
+
+#: disk-utils/fsck.minix.c:351 disk-utils/fsck.minix.c:374
+#, c-format
+msgid "Zone nr < FIRSTZONE in file `%s'."
+msgstr "Zonennummer < FIRSTZONE in Datei „%s“."
+
+#: disk-utils/fsck.minix.c:355 disk-utils/fsck.minix.c:378
+#, c-format
+msgid "Zone nr >= ZONES in file `%s'."
+msgstr "Zonennummer >= ZONES in Datei „%s“."
+
+#: disk-utils/fsck.minix.c:360 disk-utils/fsck.minix.c:383
+msgid "Remove block"
+msgstr "Block entfernen"
+
+#: disk-utils/fsck.minix.c:401
+#, 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:407
+#, 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:422
+#, 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:428 disk-utils/mkfs.minix.c:209
+msgid "seek failed in write_block"
+msgstr "„seek“ fehlgeschlagen in write_block"
+
+#: disk-utils/fsck.minix.c:431
+#, 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:547
+msgid "seek failed in write_super_block"
+msgstr "„seek“ failed in write_super_block"
+
+#: disk-utils/fsck.minix.c:549 disk-utils/mkfs.minix.c:196
+msgid "unable to write super-block"
+msgstr "Konnte den Superblock nicht schreiben"
+
+#: disk-utils/fsck.minix.c:559
+msgid "Unable to write inode map"
+msgstr "Konnte die „inode map“ nicht schreiben"
+
+#: disk-utils/fsck.minix.c:561
+msgid "Unable to write zone map"
+msgstr "Konnte die „zone map“ nicht schreiben"
+
+#: disk-utils/fsck.minix.c:563
+msgid "Unable to write inodes"
+msgstr "Konnte die „inodes“ nicht schreiben"
+
+#: disk-utils/fsck.minix.c:590
+msgid "seek failed"
+msgstr "„seek“ gescheitert."
+
+#: disk-utils/fsck.minix.c:592
+msgid "unable to read super block"
+msgstr "Konnte den Superblock nicht lesen"
+
+#: disk-utils/fsck.minix.c:610
+msgid "bad magic number in super-block"
+msgstr "Ungültige „magic number“ im Superblock"
+
+#: disk-utils/fsck.minix.c:612
+msgid "Only 1k blocks/zones supported"
+msgstr "Es werden nur Blöcke/Zonen von 1k Größe unterstützt"
+
+#: disk-utils/fsck.minix.c:614
+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:616
+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:623
+msgid "Unable to allocate buffer for inode map"
+msgstr "Kein Speicherplatz für „inode map“ verfügbar"
+
+#: disk-utils/fsck.minix.c:626
+#, fuzzy
+msgid "Unable to allocate buffer for zone map"
+msgstr "Kein Speicherplatz für „inode map“ verfügbar"
+
+#: disk-utils/fsck.minix.c:631
+msgid "Unable to allocate buffer for inodes"
+msgstr "Kein Speicherplatz für „inodes“ verfügbar"
+
+#: disk-utils/fsck.minix.c:634
+msgid "Unable to allocate buffer for inode count"
+msgstr "Kein Speicherplatz für „inode count“ verfügbar"
+
+#: disk-utils/fsck.minix.c:637
+msgid "Unable to allocate buffer for zone count"
+msgstr "Kein Speicherplatz für „zone count“ verfügbar"
+
+#: disk-utils/fsck.minix.c:639
+msgid "Unable to read inode map"
+msgstr "Kann „inode map“ nicht lesen"
+
+#: disk-utils/fsck.minix.c:641
+msgid "Unable to read zone map"
+msgstr "Kann „zone map“ nicht lesen"
+
+#: disk-utils/fsck.minix.c:643
+msgid "Unable to read inodes"
+msgstr "Kann „inodes“ nicht lesen."
+
+#: disk-utils/fsck.minix.c:645
+#, c-format
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr "Warnung: Firstzone != Norm_firstzone\n"
+
+#: disk-utils/fsck.minix.c:650 disk-utils/mkfs.minix.c:450
+#, c-format
+msgid "%ld inodes\n"
+msgstr "%ld inodes\n"
+
+#: disk-utils/fsck.minix.c:651 disk-utils/mkfs.minix.c:451
+#, c-format
+msgid "%ld blocks\n"
+msgstr "%ld Blöcke\n"
+
+#: disk-utils/fsck.minix.c:652 disk-utils/mkfs.minix.c:452
+#, c-format
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr "Firstdatazone=%ld (%ld)\n"
+
+#: disk-utils/fsck.minix.c:653 disk-utils/mkfs.minix.c:453
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr "Zonesize=%d\n"
+
+#: disk-utils/fsck.minix.c:654
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr "Maxsize=%ld\n"
+
+#: disk-utils/fsck.minix.c:655
+#, c-format
+msgid "Filesystem state=%d\n"
+msgstr "Filesystem state=%d\n"
+
+#: disk-utils/fsck.minix.c:656
+#, c-format
+msgid ""
+"namelen=%d\n"
+"\n"
+msgstr ""
+"namelen=%d\n"
+"\n"
+
+#: disk-utils/fsck.minix.c:671 disk-utils/fsck.minix.c:722
+#, 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:675 disk-utils/fsck.minix.c:726
+msgid "Mark in use"
+msgstr "Inode als benutzt kennzeichnen"
+
+#: disk-utils/fsck.minix.c:697 disk-utils/fsck.minix.c:746
+#, c-format
+msgid "The file `%s' has mode %05o\n"
+msgstr "Die Datei „%s“ hat Mode %05o\n"
+
+#: disk-utils/fsck.minix.c:704 disk-utils/fsck.minix.c:752
+#, c-format
+msgid "Warning: inode count too big.\n"
+msgstr "Warnung: „inode count“ zu groß.\n"
+
+#: disk-utils/fsck.minix.c:764 disk-utils/fsck.minix.c:772
+msgid "root inode isn't a directory"
+msgstr "„root inode“ ist kein Verzeichnis"
+
+#: disk-utils/fsck.minix.c:786 disk-utils/fsck.minix.c:819
+#, 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:788 disk-utils/fsck.minix.c:821
+#: disk-utils/fsck.minix.c:1144 disk-utils/fsck.minix.c:1153
+#: disk-utils/fsck.minix.c:1199 disk-utils/fsck.minix.c:1208
+msgid "Clear"
+msgstr "Zurücksetzen"
+
+#: disk-utils/fsck.minix.c:798 disk-utils/fsck.minix.c:831
+#, 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:800 disk-utils/fsck.minix.c:833
+msgid "Correct"
+msgstr "Korrigieren"
+
+#: disk-utils/fsck.minix.c:972 disk-utils/fsck.minix.c:1039
+#, 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:975 disk-utils/fsck.minix.c:1042
+msgid " Remove"
+msgstr " Entfernen"
+
+#: disk-utils/fsck.minix.c:989 disk-utils/fsck.minix.c:1056
+#, c-format
+msgid "%s: bad directory: '.' isn't first\n"
+msgstr "%s: ungültiges Verzeichnis: „.“ kommt nicht zuerst\n"
+
+#: disk-utils/fsck.minix.c:997 disk-utils/fsck.minix.c:1065
+#, 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:1099 disk-utils/fsck.minix.c:1117
+msgid "internal error"
+msgstr "interner Fehler"
+
+#: disk-utils/fsck.minix.c:1102 disk-utils/fsck.minix.c:1120
+#, c-format
+msgid "%s: bad directory: size < 32"
+msgstr "%s: ungültiges Verzeichnis: Größe < 32"
+
+#: disk-utils/fsck.minix.c:1133
+msgid "seek failed in bad_zone"
+msgstr "seek in bad_zone fehlgeschlagen"
+
+#: disk-utils/fsck.minix.c:1143 disk-utils/fsck.minix.c:1198
+#, c-format
+msgid "Inode %d mode not cleared."
+msgstr "Inode %d Modus nicht zurückgesetzt."
+
+#: disk-utils/fsck.minix.c:1152 disk-utils/fsck.minix.c:1207
+#, c-format
+msgid "Inode %d not used, marked used in the bitmap."
+msgstr "Inode %d nicht benutzt, in Bitmap als benutzt markiert."
+
+#: disk-utils/fsck.minix.c:1158 disk-utils/fsck.minix.c:1213
+#, c-format
+msgid "Inode %d used, marked unused in the bitmap."
+msgstr "Inode %d benutzt, in Bitmap als unbenutzt markiert."
+
+#: disk-utils/fsck.minix.c:1160 disk-utils/fsck.minix.c:1214
+msgid "Set"
+msgstr "Setzen"
+
+#: disk-utils/fsck.minix.c:1164 disk-utils/fsck.minix.c:1218
+#, c-format
+msgid "Inode %d (mode = %07o), i_nlinks=%d, counted=%d."
+msgstr "Inode %d (Modus = %07o), i_nlinks=%d, gezählt=%d."
+
+#: disk-utils/fsck.minix.c:1166 disk-utils/fsck.minix.c:1220
+msgid "Set i_nlinks to count"
+msgstr "Setze i_nlinks auf count"
+
+#: disk-utils/fsck.minix.c:1178 disk-utils/fsck.minix.c:1232
+#, c-format
+msgid "Zone %d: marked in use, no file uses it."
+msgstr "Zone %d: als benutzt markiert, keine Datei benutzt sie."
+
+#: disk-utils/fsck.minix.c:1179 disk-utils/fsck.minix.c:1234
+msgid "Unmark"
+msgstr "Mark. entf."
+
+#: disk-utils/fsck.minix.c:1184 disk-utils/fsck.minix.c:1239
+#, c-format
+msgid "Zone %d: in use, counted=%d\n"
+msgstr "Zone %d: in Benutzung, gezählt=%d\n"
+
+#: disk-utils/fsck.minix.c:1187 disk-utils/fsck.minix.c:1242
+#, c-format
+msgid "Zone %d: not in use, counted=%d\n"
+msgstr "Zone %d: nicht in Benutzung, gezählt=%d\n"
+
+#: disk-utils/fsck.minix.c:1287 disk-utils/mkfs.minix.c:576
+#: disk-utils/mkfs.minix.c:578
+msgid "bad inode size"
+msgstr "ungültige INode-Größe"
+
+#: disk-utils/fsck.minix.c:1289
+msgid "bad v2 inode size"
+msgstr "ungültige V2-INode-Größe"
+
+#: disk-utils/fsck.minix.c:1315
+msgid "need terminal for interactive repairs"
+msgstr "Brauche Terminal für interaktive Reparaturen."
+
+#: disk-utils/fsck.minix.c:1319
+#, fuzzy, c-format
+msgid "unable to open '%s': %s"
+msgstr "Konnte „%s“ nicht öffnen"
+
+#: disk-utils/fsck.minix.c:1334
+#, c-format
+msgid "%s is clean, no check.\n"
+msgstr "%s ist in Ordnung, keine Überprüfung.\n"
+
+#: disk-utils/fsck.minix.c:1338
+#, c-format
+msgid "Forcing filesystem check on %s.\n"
+msgstr "Überprüfung des Dateisystem auf %s erzwungen.\n"
+
+#: disk-utils/fsck.minix.c:1340
+#, 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:1373
+#, c-format
+msgid ""
+"\n"
+"%6ld inodes used (%ld%%)\n"
+msgstr ""
+"\n"
+"%6ld INodes benutzten (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1378
+#, c-format
+msgid "%6ld zones used (%ld%%)\n"
+msgstr "%6ld zones benutzten (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1380
+#, 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:1393
+#, 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 "%s: failed to open: %s\n"
+msgstr "%s: fehlschlagenes Öffnen von: %s\n"
+
+#: disk-utils/isosize.c:135
+#, c-format
+msgid "%s: seek error on %s\n"
+msgstr "%s: Fehler beim Seek auf %s\n"
+
+#: disk-utils/isosize.c:141
+#, c-format
+msgid "%s: read error on %s\n"
+msgstr "%s: Fehler beim Lesen auf %s\n"
+
+#: disk-utils/isosize.c:150
+#, c-format
+msgid "sector count: %d, sector size: %d\n"
+msgstr "Sektoranzahl: %d, Sektorgröße: %d\n"
+
+#: disk-utils/isosize.c:200
+#, c-format
+msgid "%s: option parse error\n"
+msgstr "%s: Fehler beim Parsen der Option\n"
+
+#: disk-utils/isosize.c:208
+#, c-format
+msgid "Usage: %s [-x] [-d <num>] iso9660-image\n"
+msgstr "Aufruf: %s [-x] [-d <Zahl>] iso9660-Image\n"
+
+#: disk-utils/mkfs.bfs.c:84
+#, c-format
+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"
+
+#: disk-utils/mkfs.bfs.c:131
+msgid "volume name too long"
+msgstr "volume-Name ist zu lang"
+
+#: disk-utils/mkfs.bfs.c:138
+msgid "fsname name too long"
+msgstr "fsname ist zu lang"
+
+#: disk-utils/mkfs.bfs.c:163
+#, c-format
+msgid "cannot stat device %s"
+msgstr "kann nicht auf Gerät %s zugreifen"
+
+#: disk-utils/mkfs.bfs.c:167
+#, c-format
+msgid "%s is not a block special device"
+msgstr "%s ist kein blockorientiertes Gerät"
+
+#: disk-utils/mkfs.bfs.c:172 sys-utils/ldattach.c:205
+#, c-format
+msgid "cannot open %s"
+msgstr "es ist nicht möglich, %s zu öffnen"
+
+#: disk-utils/mkfs.bfs.c:183
+#, 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:188
+#, fuzzy, c-format
+msgid "blocks argument too large, max is %llu"
+msgstr "„blocks“-Argument zu groß, max ist %lu"
+
+#: disk-utils/mkfs.bfs.c:203
+msgid "too many inodes - max is 512"
+msgstr "zu viele Inodes – Maximum ist 512"
+
+#: disk-utils/mkfs.bfs.c:212
+#, fuzzy, c-format
+msgid "not enough space, need at least %llu blocks"
+msgstr "nicht genügend Platz; es werden wenigstens %lu Blöcke benötigt"
+
+#: disk-utils/mkfs.bfs.c:224 fdisk/fdisk.c:2345
+#, c-format
+msgid "Device: %s\n"
+msgstr "Gerät: %s\n"
+
+#: disk-utils/mkfs.bfs.c:225
+#, c-format
+msgid "Volume: <%-6s>\n"
+msgstr "Volume: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:226
+#, c-format
+msgid "FSname: <%-6s>\n"
+msgstr "DSName: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:227
+#, c-format
+msgid "BlockSize: %d\n"
+msgstr "Blockgröße: %d\n"
+
+#: disk-utils/mkfs.bfs.c:229
+#, c-format
+msgid "Inodes: %d (in 1 block)\n"
+msgstr "Inodes: %d (in 1 Block)\n"
+
+#: disk-utils/mkfs.bfs.c:232
+#, fuzzy, c-format
+msgid "Inodes: %d (in %lld blocks)\n"
+msgstr "Inodes: %d (in %ld Blöcken)\n"
+
+#: disk-utils/mkfs.bfs.c:234
+#, fuzzy, c-format
+msgid "Blocks: %lld\n"
+msgstr "Blöcke: %ld\n"
+
+#: disk-utils/mkfs.bfs.c:235
+#, c-format
+msgid "Inode end: %d, Data end: %d\n"
+msgstr "Inode-Ende: %d, Datenende: %d\n"
+
+#: disk-utils/mkfs.bfs.c:240
+msgid "error writing superblock"
+msgstr "Fehler beim Schreiben des Superblocks"
+
+#: disk-utils/mkfs.bfs.c:260
+msgid "error writing root inode"
+msgstr "Fehler beim Schreiben der Root-Inode"
+
+#: disk-utils/mkfs.bfs.c:265
+msgid "error writing inode"
+msgstr "Fehler beim Schreiben der Inode"
+
+#: disk-utils/mkfs.bfs.c:268
+msgid "seek error"
+msgstr "Seek-Fehler"
+
+#: disk-utils/mkfs.bfs.c:274
+msgid "error writing . entry"
+msgstr "Fehler beim Schreiben des „.“-Eintrags"
+
+#: disk-utils/mkfs.bfs.c:278
+msgid "error writing .. entry"
+msgstr "Fehler beim Schreiben des „..“-Eintrags"
+
+#: disk-utils/mkfs.bfs.c:282
+#, c-format
+msgid "error closing %s"
+msgstr "Fehler beim Schließen von %s"
+
+#: disk-utils/mkfs.c:73
+#, c-format
+msgid "Usage: mkfs [-V] [-t fstype] [fs-options] device [size]\n"
+msgstr "Aufruf: mkfs [-V] [-t FS-Typ] [FS-Optionen] Gerät [Größe]\n"
+
+#: disk-utils/mkfs.c:88 disk-utils/mkfs.c:96 fdisk/cfdisk.c:351
+#: getopt/getopt.c:86 getopt/getopt.c:96 login-utils/wall.c:246
+#, c-format
+msgid "%s: Out of memory!\n"
+msgstr "%s: Speicher ist aufgebraucht!\n"
+
+#: disk-utils/mkfs.c:103
+#, c-format
+msgid "mkfs (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: disk-utils/mkfs.cramfs.c:126
+#, 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 ""
+"Aufruf: %s [-h] [-v] [-b blkgr] [-e edition] [-i datei] [-n name] verzname "
+"ausdatei\n"
+" -h         diese Hilfe ausgeben\n"
+" -v         wortreich sein\n"
+" -E         alle Warnungen zu Fehlern machen (von 0 versch. Exit-Status)\n"
+" -b blkgr   diese Blockgröße verwenden, muss gleich der Seitengröße sein\n"
+" -e edition Edition-Nummer setzen (Teil von fsid)\n"
+" -i datei   ein Dateiabbild in das Dateisystem einfügen (benötigt >= 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 machen (benötigt >= 2.3.39)\n"
+" verzname   Wurzel des zu komprimierenden Dateisystems\n"
+" ausdatei   Ausgabedatei\n"
+
+#: disk-utils/mkfs.cramfs.c:340
+#, fuzzy, c-format
+msgid ""
+"Very long (%zu bytes) filename `%s' found.\n"
+" Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile.  Exiting.\n"
+msgstr ""
+"Sehr langer (%u Bytes) Dateiname „%s“ gefunden.\n"
+" Bitte setzen Sie MAX_INPUT_NAMELEN in mkcramfs.c hoch und übersetzen Sie\n"
+" erneut. Breche jetzt ab.\n"
+
+#: disk-utils/mkfs.cramfs.c:472
+#, c-format
+msgid "filesystem too big.  Exiting.\n"
+msgstr "Dateisystem zu groß. Breche jetzt ab.\n"
+
+#: disk-utils/mkfs.cramfs.c:637
+#, 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:656
+#, fuzzy, c-format
+msgid "%6.2f%% (%+ld bytes)\t%s\n"
+msgstr "%6.2f%% (%+d Bytes)\t%s\n"
+
+#: disk-utils/mkfs.cramfs.c:854
+#, fuzzy, c-format
+msgid ""
+"warning: guestimate of required size (upper bound) is %lldMB, but maximum "
+"image size is %uMB.  We might die prematurely.\n"
+msgstr ""
+"Warnung: Grobschätzung der benötigten Größe (obere Schranke) ist %LdMB, aber "
+"maximale Abbild-Größe ist %uMB. Wir könnten frühzeitig sterben.\n"
+
+#: disk-utils/mkfs.cramfs.c:881
+msgid "ROM image map"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:895
+#, c-format
+msgid "Including: %s\n"
+msgstr "Einschließlich: %s\n"
+
+#: disk-utils/mkfs.cramfs.c:901
+#, fuzzy, c-format
+msgid "Directory data: %zd bytes\n"
+msgstr "Verzeichnisdaten: %d Bytes\n"
+
+#: disk-utils/mkfs.cramfs.c:909
+#, fuzzy, c-format
+msgid "Everything: %zd kilobytes\n"
+msgstr "Alles: %d Kilobytes\n"
+
+#: disk-utils/mkfs.cramfs.c:914
+#, fuzzy, c-format
+msgid "Super block: %zd bytes\n"
+msgstr "Superblock: %d Bytes\n"
+
+#: disk-utils/mkfs.cramfs.c:921
+#, c-format
+msgid "CRC: %x\n"
+msgstr "CRC: %x\n"
+
+#: disk-utils/mkfs.cramfs.c:926
+#, fuzzy, c-format
+msgid "not enough space allocated for ROM image (%lld allocated, %zu used)\n"
+msgstr ""
+"nicht genug Raum für ROM-Abbild bereitgestellt (%Ld bereitgestellt, %d "
+"benutzt)\n"
+
+#: disk-utils/mkfs.cramfs.c:934
+msgid "ROM image"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:938
+#, fuzzy, c-format
+msgid "ROM image write failed (%zd %zd)\n"
+msgstr "Schreiben des ROM-Abbilds fehlgeschlagen (%d %d)\n"
+
+#: disk-utils/mkfs.cramfs.c:947
+#, c-format
+msgid "warning: filenames truncated to 255 bytes.\n"
+msgstr "Warnung: Dateiname auf 255 Bytes abgeschnitten.\n"
+
+#: disk-utils/mkfs.cramfs.c:950
+#, c-format
+msgid "warning: files were skipped due to errors.\n"
+msgstr "Warnung: Dateien wurden wegen Fehlern übersprungen.\n"
+
+#: disk-utils/mkfs.cramfs.c:953
+#, c-format
+msgid "warning: file sizes truncated to %luMB (minus 1 byte).\n"
+msgstr "Warnung: Dateigrößen abgeschnitten auf %luMB (minus 1 Byte).\n"
+
+#: disk-utils/mkfs.cramfs.c:958
+#, c-format
+msgid ""
+"warning: uids truncated to %u bits.  (This may be a security concern.)\n"
+msgstr ""
+"Warnung: UIDs abgeschnitten auf %u Bits.  (Dies könnte ein Sicherheitsrisiko "
+"sein.)\n"
+
+#: disk-utils/mkfs.cramfs.c:963
+#, c-format
+msgid ""
+"warning: gids truncated to %u bits.  (This may be a security concern.)\n"
+msgstr ""
+"Warnung: GIDs abgeschnitten auf %u Bits.  (Dies könnte ein Sicherheitsrisiko "
+"sein.)\n"
+
+#: disk-utils/mkfs.cramfs.c:968
+#, c-format
+msgid ""
+"WARNING: device numbers truncated to %u bits.  This almost certainly means\n"
+"that some device files will be wrong.\n"
+msgstr ""
+"WARNUNG: Gerätenummern abgeschnitten auf %u Bits. Das bedeutet beinahe mit\n"
+"Sicherheit, dass einige Gerätedateien falsch sind.\n"
+
+#: disk-utils/mkfs.minix.c:156
+#, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]\n"
+msgstr "Aufruf: %s [-c | -l Datei] [-nXX] [-iXX] /dev/Name [Blöcke]\n"
+
+#: disk-utils/mkfs.minix.c:180
+#, c-format
+msgid "%s is mounted; will not make a filesystem here!"
+msgstr "%s ist eingehängt; es wird hier kein Dateisystem angelegt!"
+
+#: disk-utils/mkfs.minix.c:190
+msgid "seek to boot block failed in write_tables"
+msgstr "Seek auf Bootblock fehlgeschlagen in write_tables"
+
+#: disk-utils/mkfs.minix.c:192
+msgid "unable to clear boot sector"
+msgstr "kann Bootsektor nicht löschen"
+
+#: disk-utils/mkfs.minix.c:194
+msgid "seek failed in write_tables"
+msgstr "Seek fehlgeschlagen in write_tables"
+
+#: disk-utils/mkfs.minix.c:198
+msgid "unable to write inode map"
+msgstr "kann Inode-Tabellen nicht schreiben"
+
+#: disk-utils/mkfs.minix.c:200
+msgid "unable to write zone map"
+msgstr "kann Zonentabelle nicht schreiben"
+
+#: disk-utils/mkfs.minix.c:202
+msgid "unable to write inodes"
+msgstr "kann Inodes nicht schreiben"
+
+#: disk-utils/mkfs.minix.c:211
+msgid "write failed in write_block"
+msgstr "Schreiben fehlgeschlagen in write_block"
+
+#: disk-utils/mkfs.minix.c:219 disk-utils/mkfs.minix.c:293
+#: disk-utils/mkfs.minix.c:342
+msgid "too many bad blocks"
+msgstr "zu viele beschädigte Blöcke"
+
+#: disk-utils/mkfs.minix.c:227
+msgid "not enough good blocks"
+msgstr "nicht genügend gute Blöcke"
+
+#: disk-utils/mkfs.minix.c:439
+msgid "unable to allocate buffers for maps"
+msgstr "kann Puffer für Tabellen nicht reservieren"
+
+#: disk-utils/mkfs.minix.c:448
+msgid "unable to allocate buffer for inodes"
+msgstr "kann Puffer für Inodes nicht reservieren"
+
+#: disk-utils/mkfs.minix.c:454
+#, c-format
+msgid ""
+"Maxsize=%ld\n"
+"\n"
+msgstr ""
+"Maxgröße=%ld\n"
+"\n"
+
+#: disk-utils/mkfs.minix.c:468
+msgid "seek failed during testing of blocks"
+msgstr "Seek fehlgeschlagen während Blocküberprüfung"
+
+#: disk-utils/mkfs.minix.c:476
+#, 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:507 disk-utils/mkswap.c:313
+msgid "seek failed in check_blocks"
+msgstr "Seek fehlgeschlagen in check_blocks"
+
+#: disk-utils/mkfs.minix.c:516
+msgid "bad blocks before data-area: cannot make fs"
+msgstr ""
+"beschädigte Blöcke vor dem Datenbereich: kann kein Dateisystem herstellen"
+
+#: disk-utils/mkfs.minix.c:522 disk-utils/mkfs.minix.c:547
+#, c-format
+msgid "%d bad blocks\n"
+msgstr "%d beschädigte Blöcke\n"
+
+#: disk-utils/mkfs.minix.c:524 disk-utils/mkfs.minix.c:549
+#, c-format
+msgid "one bad block\n"
+msgstr "ein beschädigter Block\n"
+
+#: disk-utils/mkfs.minix.c:534
+msgid "can't open file of bad blocks"
+msgstr "kann Datei mit beschädigten Blöcken nicht öffnen"
+
+#: disk-utils/mkfs.minix.c:538
+#, c-format
+msgid "badblock number input error on line %d\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:539
+#, fuzzy
+msgid "cannot read badblocks file"
+msgstr "Konnte nicht von der Festplatte lesen"
+
+#: disk-utils/mkfs.minix.c:619
+#, c-format
+msgid "strtol error: number of blocks not specified"
+msgstr "strtol-Fehler: Anzahl der Blöcke nicht angegeben"
+
+#: disk-utils/mkfs.minix.c:638
+#, c-format
+msgid "unable to stat %s"
+msgstr "kann kein „stat“ auf %s anwenden"
+
+#: disk-utils/mkfs.minix.c:644
+#, c-format
+msgid "unable to open %s"
+msgstr "kann %s nicht öffnen"
+
+#: disk-utils/mkfs.minix.c:649
+#, fuzzy, c-format
+msgid "cannot determine sector size for %s"
+msgstr "es ist nicht möglich, die Größe von %s festzustellen"
+
+#: disk-utils/mkfs.minix.c:651
+#, c-format
+msgid "block size smaller than physical sector size of %s"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:654
+#, fuzzy, 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:662
+#, 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:664
+#, fuzzy
+msgid "number of blocks too small"
+msgstr "Anzahl der Sektoren"
+
+#: disk-utils/mkswap.c:155
+#, c-format
+msgid "Bad user-specified page size %d\n"
+msgstr "Ungültige nutzerdefinierte Seitengröße %d\n"
+
+#: disk-utils/mkswap.c:163
+#, c-format
+msgid "Using user-specified page size %d, instead of the system value %d\n"
+msgstr "Benutze nutzerdefinierte Seitengröße %d anstelle der Systemwerte %d\n"
+
+#: disk-utils/mkswap.c:192
+#, c-format
+msgid "Bad swap header size, no label written.\n"
+msgstr "Ungültige Swap-Headergröße, kein Label geschrieben.\n"
+
+#: disk-utils/mkswap.c:202
+#, c-format
+msgid "Label was truncated.\n"
+msgstr "Label wurde abgeschnitten.\n"
+
+# dito
+#: disk-utils/mkswap.c:208
+#, c-format
+msgid "no label, "
+msgstr "kein Label, "
+
+#: disk-utils/mkswap.c:216
+#, c-format
+msgid "no uuid\n"
+msgstr "keine UUID\n"
+
+#: disk-utils/mkswap.c:281
+#, fuzzy, c-format
+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"
+
+#: disk-utils/mkswap.c:295
+msgid "too many bad pages"
+msgstr "Zu viele beschädigte „Seiten“"
+
+#: disk-utils/mkswap.c:308 misc-utils/look.c:182 misc-utils/setterm.c:1183
+#: text-utils/more.c:1982 text-utils/more.c:1993
+msgid "Out of memory"
+msgstr "Speicher ist aufgebraucht"
+
+#: disk-utils/mkswap.c:319
+#, c-format
+msgid "one bad page\n"
+msgstr "Eine beschädigte „Seite“\n"
+
+#: disk-utils/mkswap.c:321
+#, c-format
+msgid "%lu bad pages\n"
+msgstr "%lu beschädigte Seiten\n"
+
+#: disk-utils/mkswap.c:399 disk-utils/mkswap.c:415 disk-utils/mkswap.c:633
+msgid "unable to rewind swap-device"
+msgstr "kann Swap-Gerät nicht zurückspulen"
+
+#: disk-utils/mkswap.c:419
+#, fuzzy
+msgid "unable to erase bootbits sectors"
+msgstr "kann Bootsektor nicht löschen"
+
+#: disk-utils/mkswap.c:423
+#, c-format
+msgid "%s: %s: warning: don't erase bootbits sectors\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:426
+#, fuzzy, c-format
+msgid "        (%s partition table detected). "
+msgstr "   p   Die BSD-Partitionstabelle anzeigen"
+
+#: disk-utils/mkswap.c:428
+#, fuzzy, c-format
+msgid "        on whole disk. "
+msgstr "   s   komplettes Disklabel zeigen"
+
+#: disk-utils/mkswap.c:498
+#, c-format
+msgid "%1$s: warning: ignore -U (UUIDs are unsupported by %1$s)\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:514
+#, fuzzy, c-format
+msgid "%s: does not support swapspace version %d.\n"
+msgstr "%s: Fehler: unbekannte Version %d\n"
+
+#: disk-utils/mkswap.c:522
+#, fuzzy
+msgid "error: UUID parsing failed"
+msgstr ""
+"\n"
+"Fehler beim Schließen von Datei\n"
+
+#: disk-utils/mkswap.c:533
+#, c-format
+msgid "%s: error: Nowhere to set up swap on?\n"
+msgstr ""
+"%s: Es wurde nicht angegeben, wo der Swapbereich angelegt werden soll.\n"
+
+#: disk-utils/mkswap.c:551
+#, fuzzy, c-format
+msgid "%s: error: size %llu KiB is larger than device size %llu KiB\n"
+msgstr ""
+"%s: Fehler: Die angegebene Größe %lu ist größer als die des Gerätes: %lu\n"
+
+#: disk-utils/mkswap.c:560
+#, fuzzy, c-format
+msgid "%s: error: swap area needs to be at least %ld KiB\n"
+msgstr "%s: Fehler: Der Swapbereich muss mindestens %ldkB groß sein\n"
+
+#: disk-utils/mkswap.c:577
+#, fuzzy, c-format
+msgid "%s: warning: truncating swap area to %llu KiB\n"
+msgstr "%s: Warnung: Der Swapbereich wird nur mit der Größe %ldkB angelegt\n"
+
+#: disk-utils/mkswap.c:600
+#, c-format
+msgid "%s: error: will not try to make swapdevice on '%s'\n"
+msgstr "%s: Fehler: Es wird nicht versucht, Swap auf ‚%s‘ anzulegen\n"
+
+#: disk-utils/mkswap.c:606
+#, c-format
+msgid "%s: error: %s is mounted; will not make swapspace.\n"
+msgstr "%s: Fehler: %s ist eingehängt; es wird hier kein Swap angelegt.\n"
+
+#: disk-utils/mkswap.c:622
+msgid "Unable to set up swap-space: unreadable"
+msgstr "Es ist nicht möglich, einen Swapbereich einzurichten: nicht lesbar"
+
+#: disk-utils/mkswap.c:625
+#, fuzzy, c-format
+msgid "Setting up swapspace version 1, size = %llu KiB\n"
+msgstr "Swapbereich Version %d wird angelegt, Größe %llu KBytes\n"
+
+#: disk-utils/mkswap.c:636
+#, fuzzy, c-format
+msgid "%s: %s: unable to write signature page: %s"
+msgstr "kann Signaturseite nicht schreiben"
+
+#: disk-utils/mkswap.c:647
+msgid "fsync failed"
+msgstr "Aufruf von „fsync“ fehlgeschlagen"
+
+#: disk-utils/mkswap.c:658
+#, c-format
+msgid "%s: %s: unable to obtain selinux file label: %s\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:664
+#, fuzzy
+msgid "unable to matchpathcon()"
+msgstr "kann kein „stat“ auf %s anwenden"
+
+#: disk-utils/mkswap.c:667
+msgid "unable to create new selinux context"
+msgstr "kann keinen neuen SE-Linux-Kontext anlegen"
+
+#: disk-utils/mkswap.c:669
+msgid "couldn't compute selinux context"
+msgstr "konnte SE-Linux-Kontext nicht berechnen"
+
+#: disk-utils/mkswap.c:675
+#, c-format
+msgid "%s: unable to relabel %s to %s: %s\n"
+msgstr "%s: konnte %s nicht in %s umbenennen: %s\n"
+
+#: disk-utils/raw.c:50
+#, fuzzy, c-format
+msgid ""
+"Usage:\n"
+"  %s "
+msgstr "Aufruf:\n"
+
+#: disk-utils/raw.c:125
+#, c-format
+msgid ""
+"Device '%s' is control raw dev (use raw<N> where <N> is greater than zero)\n"
+msgstr ""
+
+# This one should be merged with the next one by using
+# error() instead of printf()
+#: disk-utils/raw.c:145
+#, fuzzy, c-format
+msgid "Cannot locate block device '%s' (%s)\n"
+msgstr "Konnte die Lock-Datei %s nicht sperren: %s\n"
+
+#: disk-utils/raw.c:151
+#, fuzzy, c-format
+msgid "Device '%s' is not a block dev\n"
+msgstr "Warnung: %s ist kein blockorientiertes Gerät\n"
+
+#: disk-utils/raw.c:186
+#, fuzzy, c-format
+msgid "Cannot open master raw device '"
+msgstr "kann nicht auf Gerät %s zugreifen"
+
+#: disk-utils/raw.c:205
+#, fuzzy, c-format
+msgid "Cannot locate raw device '%s' (%s)\n"
+msgstr "kann nicht auf Gerät %s zugreifen"
+
+#: disk-utils/raw.c:211
+#, fuzzy, c-format
+msgid "Raw device '%s' is not a character dev\n"
+msgstr "/dev/%s ist kein zeichenorientiertes Gerät"
+
+#: disk-utils/raw.c:216
+#, fuzzy, c-format
+msgid "Device '%s' is not a raw dev\n"
+msgstr "%s ist kein blockorientiertes Gerät"
+
+#: disk-utils/raw.c:231
+#, c-format
+msgid "Error querying raw device (%s)\n"
+msgstr ""
+
+#: disk-utils/raw.c:241 disk-utils/raw.c:261
+#, c-format
+msgid "raw%d:\tbound to major %d, minor %d\n"
+msgstr ""
+
+#: disk-utils/raw.c:257
+#, fuzzy, c-format
+msgid "Error setting raw device (%s)\n"
+msgstr "Fehler beim Stoppen des Service „%s“"
+
+# "Unbrauchbar"
+#: fdisk/cfdisk.c:376 fdisk/cfdisk.c:2080
+msgid "Unusable"
+msgstr "Unbenutzbar"
+
+#: fdisk/cfdisk.c:378 fdisk/cfdisk.c:2082
+msgid "Free Space"
+msgstr "Freier Bereich"
+
+#: fdisk/cfdisk.c:381
+msgid "Linux ext2"
+msgstr "Linux ext2"
+
+#: fdisk/cfdisk.c:383
+msgid "Linux ext3"
+msgstr "Linux ext3"
+
+#: fdisk/cfdisk.c:385
+msgid "Linux XFS"
+msgstr "Linux XFS"
+
+#: fdisk/cfdisk.c:387
+msgid "Linux JFS"
+msgstr "Linux JFS"
+
+#: fdisk/cfdisk.c:389
+msgid "Linux ReiserFS"
+msgstr "Linux ReiserFS"
+
+#: fdisk/cfdisk.c:391 fdisk/i386_sys_types.c:57
+msgid "Linux"
+msgstr "Linux"
+
+#: fdisk/cfdisk.c:394
+msgid "OS/2 HPFS"
+msgstr "OS/2 HPFS"
+
+#: fdisk/cfdisk.c:396
+msgid "OS/2 IFS"
+msgstr "OS/2 IFS"
+
+#: fdisk/cfdisk.c:400
+msgid "NTFS"
+msgstr "NTFS"
+
+#: fdisk/cfdisk.c:411
+#, c-format
+msgid "Disk has been changed.\n"
+msgstr "Festplatte wurde verändert.\n"
+
+#: fdisk/cfdisk.c:413
+#, 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"
+
+#: fdisk/cfdisk.c:417
+#, 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"
+
+#: fdisk/cfdisk.c:512
+msgid "FATAL ERROR"
+msgstr "FATALER FEHLER"
+
+#: fdisk/cfdisk.c:513
+msgid "Press any key to exit cfdisk"
+msgstr "Eine Taste drücken, um cfdisk zu beenden"
+
+#: fdisk/cfdisk.c:560 fdisk/cfdisk.c:568
+msgid "Cannot seek on disk drive"
+msgstr "Konnte „seek()“ nicht auf der Festplatte benutzen"
+
+#: fdisk/cfdisk.c:562
+msgid "Cannot read disk drive"
+msgstr "Konnte nicht von der Festplatte lesen"
+
+#: fdisk/cfdisk.c:570
+msgid "Cannot write disk drive"
+msgstr "Konnte nicht auf die Festplatte schreiben"
+
+#: fdisk/cfdisk.c:913
+msgid "Too many partitions"
+msgstr "Zu viele Partitionen"
+
+#: fdisk/cfdisk.c:918
+msgid "Partition begins before sector 0"
+msgstr "Partition fängt vor Sektor 0 an"
+
+#: fdisk/cfdisk.c:923
+msgid "Partition ends before sector 0"
+msgstr "Partition endet vor Sektor 0"
+
+#: fdisk/cfdisk.c:928
+msgid "Partition begins after end-of-disk"
+msgstr "Partition fängt hinter dem Ende der Festplatte an"
+
+#: fdisk/cfdisk.c:933
+msgid "Partition ends after end-of-disk"
+msgstr "Partition endet hinter dem Ende der Festplatte"
+
+#: fdisk/cfdisk.c:938
+msgid "Partition ends in the final partial cylinder"
+msgstr "Partition endet im letzten teilweisen Zylinder"
+
+#: fdisk/cfdisk.c:962
+msgid "logical partitions not in disk order"
+msgstr "logische Partitionen nicht in Platten-Reihenfolge"
+
+#: fdisk/cfdisk.c:965
+msgid "logical partitions overlap"
+msgstr "logische Partitionen überlappen"
+
+#: fdisk/cfdisk.c:969
+msgid "enlarged logical partitions overlap"
+msgstr "vergrößerte logische Partitionen überlappen"
+
+#: fdisk/cfdisk.c:999
+msgid ""
+"!!!! Internal error creating logical drive with no extended partition !!!!"
+msgstr ""
+"!! Interner Fehler beim Erzeugen einer log. Part. ohne eine erw. Part. !!"
+
+#: fdisk/cfdisk.c:1010 fdisk/cfdisk.c:1022
+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."
+
+#: fdisk/cfdisk.c:1164
+msgid "Menu item too long. Menu may look odd."
+msgstr "Menüeintrag ist zu lang. Das Menü könnte ungewöhnlich aussehen"
+
+# "Ausrichtung" "Nehme horizontale Voreinstellung."
+#: fdisk/cfdisk.c:1220
+#, fuzzy
+msgid "Menu without direction. Defaulting to horizontal."
+msgstr "Menü ohne Richtung, verwende horizontal."
+
+#: fdisk/cfdisk.c:1351
+msgid "Illegal key"
+msgstr "Diese Taste ist hier nicht verwendbar"
+
+#: fdisk/cfdisk.c:1374
+msgid "Press a key to continue"
+msgstr "Eine Taste drücken, um fortzufahren"
+
+#: fdisk/cfdisk.c:1421 fdisk/cfdisk.c:2051 fdisk/cfdisk.c:2583
+#: fdisk/cfdisk.c:2585
+msgid "Primary"
+msgstr "Primäre"
+
+#: fdisk/cfdisk.c:1421
+msgid "Create a new primary partition"
+msgstr "Erzeuge eine neue primäre Partition"
+
+#: fdisk/cfdisk.c:1422 fdisk/cfdisk.c:2051 fdisk/cfdisk.c:2582
+#: fdisk/cfdisk.c:2585
+msgid "Logical"
+msgstr "Logische"
+
+#: fdisk/cfdisk.c:1422
+msgid "Create a new logical partition"
+msgstr "Erzeuge eine neue logische Partition"
+
+#: fdisk/cfdisk.c:1423 fdisk/cfdisk.c:1478 fdisk/cfdisk.c:2256
+msgid "Cancel"
+msgstr "Abbruch"
+
+#: fdisk/cfdisk.c:1423 fdisk/cfdisk.c:1478
+msgid "Don't create a partition"
+msgstr "Erzeuge keine neue Partition"
+
+#: fdisk/cfdisk.c:1439
+msgid "!!! Internal error !!!"
+msgstr "!!! Interner Fehler !!!"
+
+#: fdisk/cfdisk.c:1442
+msgid "Size (in MB): "
+msgstr "Größe (in MB): "
+
+#: fdisk/cfdisk.c:1476
+msgid "Beginning"
+msgstr "Anfang"
+
+#: fdisk/cfdisk.c:1476
+msgid "Add partition at beginning of free space"
+msgstr "Erzeuge Partition am Anfang des freien Bereiches"
+
+#: fdisk/cfdisk.c:1477
+msgid "End"
+msgstr "Ende"
+
+#: fdisk/cfdisk.c:1477
+msgid "Add partition at end of free space"
+msgstr "Erzeuge Partition am Ende des freien Bereiches"
+
+#: fdisk/cfdisk.c:1495
+msgid "No room to create the extended partition"
+msgstr "Kein Platz, um die erweiterte Partition anzulegen"
+
+#: fdisk/cfdisk.c:1569
+msgid "No partition table.\n"
+msgstr "Keine Partitionstabelle.\n"
+
+#: fdisk/cfdisk.c:1573
+msgid "No partition table. Starting with zero table."
+msgstr "Keine Partitionstabelle. Fange mit Null-Tabelle an."
+
+#: fdisk/cfdisk.c:1583
+msgid "Bad signature on partition table"
+msgstr "Ungültige Signatur an Partitionstabelle"
+
+#: fdisk/cfdisk.c:1587
+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.
+#: fdisk/cfdisk.c:1589
+msgid "Do you wish to start with a zero table [y/N] ?"
+msgstr "Möchten Sie mit einer Null-Tabelle beginnen [j/N]"
+
+#: fdisk/cfdisk.c:1637
+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.
+#: fdisk/cfdisk.c:1669
+msgid "Cannot open disk drive"
+msgstr "Konnte nicht auf die Festplatte zugreifen"
+
+# "Nur lesender Zugriff möglich – Sie haben keine Schreibberechtigung" (joey)
+#: fdisk/cfdisk.c:1671 fdisk/cfdisk.c:1860
+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"
+
+#: fdisk/cfdisk.c:1682
+msgid ""
+"Warning!!  Unsupported GPT (GUID Partition Table) detected. Use GNU Parted."
+msgstr ""
+
+#: fdisk/cfdisk.c:1701
+msgid "Cannot get disk size"
+msgstr "Konnte die Größe der Festplatte nicht feststellen"
+
+# "Ungültige primäre Partition"
+#: fdisk/cfdisk.c:1727
+msgid "Bad primary partition"
+msgstr "Beschädigte primäre Partition"
+
+#: fdisk/cfdisk.c:1757
+msgid "Bad logical partition"
+msgstr "Beschädigte logische Partition"
+
+#: fdisk/cfdisk.c:1872
+msgid "Warning!!  This may destroy data on your disk!"
+msgstr "Warnung!!  Dies kann Daten auf der Festplatte zerstören!"
+
+#: fdisk/cfdisk.c:1876
+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“): "
+
+#: fdisk/cfdisk.c:1882
+msgid "no"
+msgstr "nein"
+
+#: fdisk/cfdisk.c:1884
+msgid "Did not write partition table to disk"
+msgstr "Die Partitionstabelle wurde nicht auf die Festplatte geschrieben"
+
+#: fdisk/cfdisk.c:1886
+msgid "yes"
+msgstr "ja"
+
+#: fdisk/cfdisk.c:1890
+msgid "Please enter `yes' or `no'"
+msgstr "Bitte „ja“ oder „nein“ eingeben"
+
+#: fdisk/cfdisk.c:1894
+msgid "Writing partition table to disk..."
+msgstr "Die Partitionstabelle wird auf die Festplatte geschrieben…"
+
+#: fdisk/cfdisk.c:1921 fdisk/cfdisk.c:1925
+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.
+#: fdisk/cfdisk.c:1923
+#, 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.
+#: fdisk/cfdisk.c:1933
+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.
+#: fdisk/cfdisk.c:1935
+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
+#: fdisk/cfdisk.c:1993 fdisk/cfdisk.c:2112 fdisk/cfdisk.c:2196
+msgid "Enter filename or press RETURN to display on screen: "
+msgstr "Dateiname oder Return um es auf dem Bildschirm anzuzeigen: "
+
+#: fdisk/cfdisk.c:2002 fdisk/cfdisk.c:2120 fdisk/cfdisk.c:2204
+#, c-format
+msgid "Cannot open file '%s'"
+msgstr "Konnte „%s“ nicht öffnen"
+
+#: fdisk/cfdisk.c:2013
+#, c-format
+msgid "Disk Drive: %s\n"
+msgstr "Festplatte: %s\n"
+
+#: fdisk/cfdisk.c:2015
+msgid "Sector 0:\n"
+msgstr "Sektor 0:\n"
+
+#: fdisk/cfdisk.c:2022
+#, c-format
+msgid "Sector %d:\n"
+msgstr "Sektor %d:\n"
+
+#: fdisk/cfdisk.c:2042
+msgid "   None   "
+msgstr "   Keine  "
+
+#: fdisk/cfdisk.c:2044
+msgid "   Pri/Log"
+msgstr "   Pri/Log"
+
+#: fdisk/cfdisk.c:2046
+msgid "   Primary"
+msgstr "   Primäre"
+
+#: fdisk/cfdisk.c:2048
+msgid "   Logical"
+msgstr "  Logische"
+
+#: fdisk/cfdisk.c:2086 fdisk/fdisk.c:1534 fdisk/fdisk.c:1855
+#: fdisk/fdisksgilabel.c:240 fdisk/fdisksunlabel.c:621 fdisk/sfdisk.c:653
+msgid "Unknown"
+msgstr "Unbekannt"
+
+#: fdisk/cfdisk.c:2092 fdisk/cfdisk.c:2560 fdisk/fdisksunlabel.c:44
+msgid "Boot"
+msgstr "Boot"
+
+#: fdisk/cfdisk.c:2094
+#, c-format
+msgid "(%02X)"
+msgstr "(%02X)"
+
+#: fdisk/cfdisk.c:2096
+msgid "None"
+msgstr "Kein"
+
+#: fdisk/cfdisk.c:2131 fdisk/cfdisk.c:2215
+#, c-format
+msgid "Partition Table for %s\n"
+msgstr "Partitionstabelle von %s\n"
+
+#: fdisk/cfdisk.c:2133
+msgid "               First       Last\n"
+msgstr "               Erster   Letzter\n"
+
+#: fdisk/cfdisk.c:2134
+msgid ""
+" # Type       Sector      Sector   Offset    Length   Filesystem Type (ID) "
+"Flag\n"
+msgstr ""
+" # Typ        Sektor      Sektor   Offset    Länge    Dateisystemtyp (ID)  "
+"Flags\n"
+
+#: fdisk/cfdisk.c:2135
+msgid ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+msgstr ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"-----\n"
+
+#: fdisk/cfdisk.c:2218
+#, fuzzy
+msgid "         ---Starting----      ----Ending-----    Start     Number of\n"
+msgstr "         ---Anfangs----      -----End------   Anfangs-   Anzahl der\n"
+
+#: fdisk/cfdisk.c:2219
+#, fuzzy
+msgid " # Flags Head Sect  Cyl   ID  Head Sect  Cyl     Sector    Sectors\n"
+msgstr " # Flags Kopf Sekt Zyl.  ID  Kopf Sekt Zyl    Sektor     Sektoren\n"
+
+#: fdisk/cfdisk.c:2220
+#, fuzzy
+msgid "-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+msgstr "-- ----- ---- ---- ---- ---- ---- ---- ---- ----------- -----------\n"
+
+#: fdisk/cfdisk.c:2253
+msgid "Raw"
+msgstr "„Roh“"
+
+#: fdisk/cfdisk.c:2253
+msgid "Print the table using raw data format"
+msgstr "Die „rohen“ Daten der Tabelle ausgeben"
+
+#: fdisk/cfdisk.c:2254 fdisk/cfdisk.c:2357
+msgid "Sectors"
+msgstr "Sektoren"
+
+#: fdisk/cfdisk.c:2254
+msgid "Print the table ordered by sectors"
+msgstr "Die Tabelle nach Sektoren sortiert ausgeben"
+
+#: fdisk/cfdisk.c:2255
+msgid "Table"
+msgstr "Tabelle"
+
+# "Nur die Partitionstabelle ausgeben" (joey)
+#: fdisk/cfdisk.c:2255
+msgid "Just print the partition table"
+msgstr "Einfach die Tabelle ausgeben"
+
+#: fdisk/cfdisk.c:2256
+msgid "Don't print the table"
+msgstr "Zeige die Tabelle nicht an"
+
+#: fdisk/cfdisk.c:2284
+msgid "Help Screen for cfdisk"
+msgstr "Hilfe für cfdisk"
+
+#: fdisk/cfdisk.c:2286
+msgid "This is cfdisk, a curses based disk partitioning program, which"
+msgstr "Dies ist cfdisk, ein Programm das curses benutzt und es ihnen"
+
+#: fdisk/cfdisk.c:2287
+msgid "allows you to create, delete and modify partitions on your hard"
+msgstr "erlaubt, auf Ihren Festplatten Partitionen anzulegen, zu löschen"
+
+#: fdisk/cfdisk.c:2288
+msgid "disk drive."
+msgstr "und zu verändern."
+
+#: fdisk/cfdisk.c:2290
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+
+# "Befehl"
+#: fdisk/cfdisk.c:2292
+msgid "Command      Meaning"
+msgstr "Befehl     Bedeutung"
+
+#: fdisk/cfdisk.c:2293
+msgid "-------      -------"
+msgstr "--------     ---------"
+
+# "  b          Wechselt zwischen bootfähig und nicht bootfähig."
+#: fdisk/cfdisk.c:2294
+msgid "  b          Toggle bootable flag of the current partition"
+msgstr ""
+"  b          (De)Aktivieren des bootfähig-flags der aktuellen Partition"
+
+#: fdisk/cfdisk.c:2295
+msgid "  d          Delete the current partition"
+msgstr "  d          Die aktuelle Partition löschen"
+
+#: fdisk/cfdisk.c:2296
+msgid "  g          Change cylinders, heads, sectors-per-track parameters"
+msgstr ""
+"  g          Die Anzahl der Zylinder, Köpfe und Sektoren pro Spur ändern"
+
+#: fdisk/cfdisk.c:2297
+msgid "             WARNING: This option should only be used by people who"
+msgstr "             WARNUNG: Diese Funktion sollte nur von Leuten benutzt"
+
+#: fdisk/cfdisk.c:2298
+msgid "             know what they are doing."
+msgstr "             werden, die wissen, was sie tun."
+
+#: fdisk/cfdisk.c:2299
+msgid "  h          Print this screen"
+msgstr "  h          Diese Hilfe anzeigen"
+
+#: fdisk/cfdisk.c:2300
+msgid "  m          Maximize disk usage of the current partition"
+msgstr "  m          Maximieren der Nutzung der aktuellen Partition"
+
+#: fdisk/cfdisk.c:2301
+msgid "             Note: This may make the partition incompatible with"
+msgstr ""
+"             Beachten Sie, dass dies die Partition nicht mehr kompatibel"
+
+#: fdisk/cfdisk.c:2302
+msgid "             DOS, OS/2, ..."
+msgstr "             zu DOS, OS/2, … machen kann"
+
+#: fdisk/cfdisk.c:2303
+msgid "  n          Create new partition from free space"
+msgstr "  n          Aus dem freien Bereich eine neue Partition erzeugen"
+
+#: fdisk/cfdisk.c:2304
+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"
+#: fdisk/cfdisk.c:2305
+msgid "             There are several different formats for the partition"
+msgstr "             Es gibt mehrere Formate für die Partitionstabelle, aus"
+
+#: fdisk/cfdisk.c:2306
+msgid "             that you can choose from:"
+msgstr "             denen man wählen kann"
+
+#: fdisk/cfdisk.c:2307
+msgid "                r - Raw data (exactly what would be written to disk)"
+msgstr ""
+"                r – „Rohe“ Daten (was auf die Festplatte geschrieben würde)"
+
+#: fdisk/cfdisk.c:2308
+msgid "                s - Table ordered by sectors"
+msgstr "                s – Tabelle nach Sektoren sortiert"
+
+#: fdisk/cfdisk.c:2309
+msgid "                t - Table in raw format"
+msgstr "                t – Tabelle mit den reinen Daten"
+
+#: fdisk/cfdisk.c:2310
+msgid "  q          Quit program without writing partition table"
+msgstr ""
+"  q          Das Programm beenden ohne die Partitionstabelle zu schreiben"
+
+#: fdisk/cfdisk.c:2311
+msgid "  t          Change the filesystem type"
+msgstr "  t          Den Dateisystemtyp ändern"
+
+#: fdisk/cfdisk.c:2312
+msgid "  u          Change units of the partition size display"
+msgstr "  u          Einheit für die Größenanzeige ändern"
+
+#: fdisk/cfdisk.c:2313
+msgid "             Rotates through MB, sectors and cylinders"
+msgstr "             Wechselt zwischen MB, Sektoren und Zylindern"
+
+#: fdisk/cfdisk.c:2314
+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 …" ?
+#: fdisk/cfdisk.c:2315
+msgid "             Since this might destroy data on the disk, you must"
+msgstr "             Da dies Daten auf der Festplatte zerstören kann, müssen"
+
+#: fdisk/cfdisk.c:2316
+msgid "             either confirm or deny the write by entering `yes' or"
+msgstr "             Sie das Schreiben mit „yes“ oder „no“ bestätigen oder"
+
+#: fdisk/cfdisk.c:2317
+msgid "             `no'"
+msgstr "             ablehnen"
+
+#: fdisk/cfdisk.c:2318
+msgid "Up Arrow     Move cursor to the previous partition"
+msgstr "Pfeil-hoch   Den Cursor zur vorherigen Partition bewegen"
+
+#: fdisk/cfdisk.c:2319
+msgid "Down Arrow   Move cursor to the next partition"
+msgstr "Pfeil-runter Den Cursor zur nächsten Partition bewegen"
+
+# "Baut den Bildschirm neu auf"
+#: fdisk/cfdisk.c:2320
+msgid "CTRL-L       Redraws the screen"
+msgstr "Strg-L       Zeichnet den Bildschirm erneut"
+
+#: fdisk/cfdisk.c:2321
+msgid "  ?          Print this screen"
+msgstr "  ?          Diese Hilfe anzeigen"
+
+# "Hinweis"
+#: fdisk/cfdisk.c:2323
+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 "
+
+#: fdisk/cfdisk.c:2324
+msgid "case letters (except for Writes)."
+msgstr "eingegeben werden (außer W zum Schreiben)."
+
+#: fdisk/cfdisk.c:2355 fdisk/fdisksunlabel.c:237
+msgid "Cylinders"
+msgstr " Zylinder"
+
+#: fdisk/cfdisk.c:2355
+msgid "Change cylinder geometry"
+msgstr "Die Anzahl der Zylinder ändern"
+
+#: fdisk/cfdisk.c:2356 fdisk/fdisksunlabel.c:235
+msgid "Heads"
+msgstr "Köpfe"
+
+#: fdisk/cfdisk.c:2356
+msgid "Change head geometry"
+msgstr "Die Anzahl der Köpfe ändern"
+
+#: fdisk/cfdisk.c:2357
+msgid "Change sector geometry"
+msgstr "Die Anzahl der Sektoren pro Spur ändern"
+
+#: fdisk/cfdisk.c:2358
+msgid "Done"
+msgstr "Fertig"
+
+#: fdisk/cfdisk.c:2358
+msgid "Done with changing geometry"
+msgstr "Ändern der Geometrie beenden"
+
+#: fdisk/cfdisk.c:2371
+msgid "Enter the number of cylinders: "
+msgstr "Geben Sie die Anzahl der Zylinder ein: "
+
+#: fdisk/cfdisk.c:2382 fdisk/cfdisk.c:2953
+msgid "Illegal cylinders value"
+msgstr "Ungültiger Wert für die Anzahl der Zylinder"
+
+#: fdisk/cfdisk.c:2388
+msgid "Enter the number of heads: "
+msgstr "Geben Sie die Anzahl der Köpfe ein: "
+
+#: fdisk/cfdisk.c:2395 fdisk/cfdisk.c:2963
+msgid "Illegal heads value"
+msgstr "Ungültiger Wert für die Anzahl der Köpfe"
+
+#: fdisk/cfdisk.c:2401
+msgid "Enter the number of sectors per track: "
+msgstr "Geben Sie die Anzahl der Sektoren pro Spur ein: "
+
+#: fdisk/cfdisk.c:2408 fdisk/cfdisk.c:2970
+msgid "Illegal sectors value"
+msgstr "Ungültiger Wert für die Anzahl der Sektoren"
+
+#: fdisk/cfdisk.c:2511
+msgid "Enter filesystem type: "
+msgstr "Geben Sie den Dateisystemtyp ein: "
+
+#: fdisk/cfdisk.c:2529
+msgid "Cannot change FS Type to empty"
+msgstr "Der Dateisystemtyp kann nicht auf „leer“ gesetzt werden"
+
+#: fdisk/cfdisk.c:2531
+msgid "Cannot change FS Type to extended"
+msgstr "Der Dateisystemtyp kann nicht auf „erweitert“ gesetzt werden"
+
+#: fdisk/cfdisk.c:2562
+#, c-format
+msgid "Unk(%02X)"
+msgstr "Unb(%02X)"
+
+#: fdisk/cfdisk.c:2565 fdisk/cfdisk.c:2568
+msgid ", NC"
+msgstr ", NC"
+
+#: fdisk/cfdisk.c:2573 fdisk/cfdisk.c:2576
+msgid "NC"
+msgstr "NC"
+
+#: fdisk/cfdisk.c:2584
+msgid "Pri/Log"
+msgstr "Pri/Log"
+
+#: fdisk/cfdisk.c:2591
+#, c-format
+msgid "Unknown (%02X)"
+msgstr "Unbekannt (%02X)"
+
+#: fdisk/cfdisk.c:2660
+#, c-format
+msgid "Disk Drive: %s"
+msgstr "Festplatte: %s"
+
+#: fdisk/cfdisk.c:2667
+#, c-format
+msgid "Size: %lld bytes, %lld MB"
+msgstr "Größe: %lld Bytes, %lld MB"
+
+#: fdisk/cfdisk.c:2670
+#, c-format
+msgid "Size: %lld bytes, %lld.%lld GB"
+msgstr "Größe: %lld Bytes, %lld,%lld GB"
+
+#: fdisk/cfdisk.c:2674
+#, c-format
+msgid "Heads: %d   Sectors per Track: %d   Cylinders: %lld"
+msgstr "Köpfe: %d   Sektoren pro Spur: %d   Zylinder: %lld"
+
+#: fdisk/cfdisk.c:2678 login-utils/chfn.c:377
+msgid "Name"
+msgstr "Name"
+
+# I currently don't know a better translation
+#: fdisk/cfdisk.c:2679
+msgid "Flags"
+msgstr "Flags"
+
+#: fdisk/cfdisk.c:2680
+msgid "Part Type"
+msgstr "Part. Typ"
+
+#: fdisk/cfdisk.c:2681
+msgid "FS Type"
+msgstr "Dateisystemtyp"
+
+#: fdisk/cfdisk.c:2682
+msgid "[Label]"
+msgstr "[Bezeichner]"
+
+#: fdisk/cfdisk.c:2684
+msgid "    Sectors"
+msgstr "   Sektoren"
+
+#: fdisk/cfdisk.c:2686
+msgid "  Cylinders"
+msgstr "   Zylinder"
+
+#: fdisk/cfdisk.c:2688
+msgid "  Size (MB)"
+msgstr " Größe (MB)"
+
+#: fdisk/cfdisk.c:2690
+msgid "  Size (GB)"
+msgstr " Größe (GB)"
+
+#: fdisk/cfdisk.c:2744
+msgid "Bootable"
+msgstr " Bootbar"
+
+# "Bootfähigkeit der aktuellen Partition ändern" (joey)
+#: fdisk/cfdisk.c:2744
+msgid "Toggle bootable flag of the current partition"
+msgstr "(De)Aktivieren des bootfähig-flags der aktuellen Partition"
+
+# "Löschen"
+#: fdisk/cfdisk.c:2745
+msgid "Delete"
+msgstr "Löschen"
+
+#: fdisk/cfdisk.c:2745
+msgid "Delete the current partition"
+msgstr "Die aktuelle Partition löschen"
+
+#: fdisk/cfdisk.c:2746
+msgid "Geometry"
+msgstr "Geometrie"
+
+#: fdisk/cfdisk.c:2746
+msgid "Change disk geometry (experts only)"
+msgstr "Die Festplattengeometrieparameter ändern (nur für Experten)"
+
+#: fdisk/cfdisk.c:2747
+msgid "Help"
+msgstr "Hilfe"
+
+#: fdisk/cfdisk.c:2747
+msgid "Print help screen"
+msgstr "Die Hilfe anzeigen"
+
+#: fdisk/cfdisk.c:2748
+msgid "Maximize"
+msgstr "Maxim."
+
+#: fdisk/cfdisk.c:2748
+msgid "Maximize disk usage of the current partition (experts only)"
+msgstr "Maximieren der Nutzung der aktuellen Partition (nur für Experten)"
+
+#: fdisk/cfdisk.c:2749
+msgid "New"
+msgstr "Neue"
+
+# "Erzeuge aus dem freien Bereich eine neue Partition"
+#: fdisk/cfdisk.c:2749
+msgid "Create new partition from free space"
+msgstr "Neue Partition im freiem Bereich anlegen"
+
+#: fdisk/cfdisk.c:2750
+msgid "Print"
+msgstr "Ausgabe"
+
+# "Gib die Partitionstabelle auf dem Bildschirm oder in eine Datei aus"
+#: fdisk/cfdisk.c:2750
+msgid "Print partition table to the screen or to a file"
+msgstr "Partitionstabelle auf dem Bildschirm oder in Datei ausgeben"
+
+#: fdisk/cfdisk.c:2751
+msgid "Quit"
+msgstr "Ende"
+
+# "Beende das Programm ohne die Partitionstabelle zu schreiben"
+#: fdisk/cfdisk.c:2751
+msgid "Quit program without writing partition table"
+msgstr "Das Programm beenden, ohne die Partitionstabelle zu speichern"
+
+#: fdisk/cfdisk.c:2752
+msgid "Type"
+msgstr "Typ"
+
+#: fdisk/cfdisk.c:2752
+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.
+#: fdisk/cfdisk.c:2753
+msgid "Units"
+msgstr "Einheit."
+
+# "Ändert die Einheiten der Größenanzeige ("
+#: fdisk/cfdisk.c:2753
+msgid "Change units of the partition size display (MB, sect, cyl)"
+msgstr ""
+"Zwischen den Einheiten für die Größenanzeige wechseln (MB, Sekt., Zyl.)"
+
+#: fdisk/cfdisk.c:2754
+msgid "Write"
+msgstr "Schreib."
+
+#: fdisk/cfdisk.c:2754
+msgid "Write partition table to disk (this might destroy data)"
+msgstr "Die Partitionstabelle schreiben (dies kann Daten zerstören)"
+
+#: fdisk/cfdisk.c:2800
+msgid "Cannot make this partition bootable"
+msgstr "Diese Partition kann nicht als bootfähig markiert werden"
+
+#: fdisk/cfdisk.c:2810
+msgid "Cannot delete an empty partition"
+msgstr "Eine leere Partition kann nicht gelöscht werden"
+
+#: fdisk/cfdisk.c:2830 fdisk/cfdisk.c:2832
+msgid "Cannot maximize this partition"
+msgstr "Die Nutzung dieser Partition kann nicht maximiert werden"
+
+#: fdisk/cfdisk.c:2840
+msgid "This partition is unusable"
+msgstr "Diese Partition ist unbenutzbar"
+
+#: fdisk/cfdisk.c:2842
+msgid "This partition is already in use"
+msgstr "Diese Partition ist bereits in Benutzung"
+
+#: fdisk/cfdisk.c:2859
+msgid "Cannot change the type of an empty partition"
+msgstr "Der Dateisystemtyp einer leeren Partition kann nicht geändert werden"
+
+#: fdisk/cfdisk.c:2886 fdisk/cfdisk.c:2892
+msgid "No more partitions"
+msgstr "Keine weiteren Partitionen"
+
+# "Ungültige Taste"
+#: fdisk/cfdisk.c:2899
+msgid "Illegal command"
+msgstr "Unzulässiger Befehl"
+
+#: fdisk/cfdisk.c:2909
+#, c-format
+msgid "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+msgstr "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+
+#: fdisk/cfdisk.c:2916
+#, 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"
+
+#: fdisk/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.)"
+
+#: fdisk/fdiskbsdlabel.c:122
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+"\n"
+"„BSD label“ für Gerät: %s\n"
+
+#: fdisk/fdiskbsdlabel.c:129 fdisk/fdisk.c:386 fdisk/fdisk.c:405
+#: fdisk/fdisk.c:423 fdisk/fdisk.c:430 fdisk/fdisk.c:453 fdisk/fdisk.c:471
+#: fdisk/fdisk.c:487 fdisk/fdisk.c:503
+msgid "Command action"
+msgstr "Befehl  Bedeutung"
+
+#: fdisk/fdiskbsdlabel.c:130
+msgid "   d   delete a BSD partition"
+msgstr "   d   Eine BSD-Partition löschen"
+
+#: fdisk/fdiskbsdlabel.c:131
+msgid "   e   edit drive data"
+msgstr "   e   Plattendaten editieren"
+
+#: fdisk/fdiskbsdlabel.c:132
+msgid "   i   install bootstrap"
+msgstr "   i   Bootstrap installieren"
+
+#: fdisk/fdiskbsdlabel.c:133
+msgid "   l   list known filesystem types"
+msgstr "   l   Die bekannten Dateisystemtypen anzeigen"
+
+#: fdisk/fdiskbsdlabel.c:134 fdisk/fdisk.c:392 fdisk/fdisk.c:411
+#: fdisk/fdisk.c:424 fdisk/fdisk.c:436 fdisk/fdisk.c:461 fdisk/fdisk.c:478
+#: fdisk/fdisk.c:494 fdisk/fdisk.c:512
+msgid "   m   print this menu"
+msgstr "   m   Dieses Menü anzeigen"
+
+#: fdisk/fdiskbsdlabel.c:135
+msgid "   n   add a new BSD partition"
+msgstr "   n   Eine neue BSD-Partition anlegen"
+
+#: fdisk/fdiskbsdlabel.c:136
+msgid "   p   print BSD partition table"
+msgstr "   p   Die BSD-Partitionstabelle anzeigen"
+
+#: fdisk/fdiskbsdlabel.c:137 fdisk/fdisk.c:396 fdisk/fdisk.c:415
+#: fdisk/fdisk.c:426 fdisk/fdisk.c:440 fdisk/fdisk.c:463 fdisk/fdisk.c:480
+#: fdisk/fdisk.c:496 fdisk/fdisk.c:514
+msgid "   q   quit without saving changes"
+msgstr "   q   Ende ohne Speichern der Änderungen"
+
+#: fdisk/fdiskbsdlabel.c:138 fdisk/fdisk.c:464 fdisk/fdisk.c:481
+#: fdisk/fdisk.c:497 fdisk/fdisk.c:515
+msgid "   r   return to main menu"
+msgstr "   r   Zurück zum Hauptmenü"
+
+#: fdisk/fdiskbsdlabel.c:139
+msgid "   s   show complete disklabel"
+msgstr "   s   komplettes Disklabel zeigen"
+
+#: fdisk/fdiskbsdlabel.c:140
+msgid "   t   change a partition's filesystem id"
+msgstr "   t   Den Dateisystemtyp einer Partition ändern"
+
+#: fdisk/fdiskbsdlabel.c:141
+msgid "   u   change units (cylinders/sectors)"
+msgstr "   u   Einheiten ändern (Zylinder/Sektoren)"
+
+#: fdisk/fdiskbsdlabel.c:142
+msgid "   w   write disklabel to disk"
+msgstr "   w   Disklabel auf Platte schreiben"
+
+#: fdisk/fdiskbsdlabel.c:144
+msgid "   x   link BSD partition to non-BSD partition"
+msgstr "   x   BSD-Partition mit Nicht-BSD-Partition verknüpfen"
+
+#: fdisk/fdiskbsdlabel.c:176
+#, c-format
+msgid "Partition %s has invalid starting sector 0.\n"
+msgstr "Partition %s hat einen ungültigen Startsektor 0.\n"
+
+#: fdisk/fdiskbsdlabel.c:180
+#, c-format
+msgid "Reading disklabel of %s at sector %d.\n"
+msgstr "Lese Disklabel von %s bei Sektor %d.\n"
+
+#: fdisk/fdiskbsdlabel.c:190
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr "Es gibt keine *BSD-Partition auf %s.\n"
+
+#: fdisk/fdiskbsdlabel.c:204
+msgid "BSD disklabel command (m for help): "
+msgstr "„BSD disklabel“ Befehl (m für Hilfe): "
+
+# %s can be "Sektor" or "Zylinder".
+#: fdisk/fdiskbsdlabel.c:284 fdisk/fdisk.c:2052 fdisk/fdisksgilabel.c:651
+#: fdisk/fdisksunlabel.c:431
+#, c-format
+msgid "First %s"
+msgstr "Erster %s"
+
+#: fdisk/fdiskbsdlabel.c:291 fdisk/fdisksunlabel.c:488
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr "Letzter %s oder +Größe, +GrößeK oder +GrößeM"
+
+#: fdisk/fdiskbsdlabel.c:318
+#, c-format
+msgid "type: %s\n"
+msgstr "Typ: %s\n"
+
+#: fdisk/fdiskbsdlabel.c:320
+#, c-format
+msgid "type: %d\n"
+msgstr "Typ: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:321
+#, c-format
+msgid "disk: %.*s\n"
+msgstr "Festplatte: %.*s\n"
+
+#: fdisk/fdiskbsdlabel.c:322
+#, c-format
+msgid "label: %.*s\n"
+msgstr "Label: %.*s\n"
+
+# I currently don't know a better translation
+#: fdisk/fdiskbsdlabel.c:323
+#, c-format
+msgid "flags:"
+msgstr "Flags:"
+
+#: fdisk/fdiskbsdlabel.c:325
+#, c-format
+msgid " removable"
+msgstr " entfernbar"
+
+#: fdisk/fdiskbsdlabel.c:327
+#, c-format
+msgid " ecc"
+msgstr " ecc"
+
+#: fdisk/fdiskbsdlabel.c:329
+#, c-format
+msgid " badsect"
+msgstr " badsect"
+
+#: fdisk/fdiskbsdlabel.c:333
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr "Bytes/Sektor: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:334
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr "Sektoren/Spur: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:335
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr "Spuren/Zylinder: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:336
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr "Sektoren/Zylinder: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:337
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr "Zylinder: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:338
+#, c-format
+msgid "rpm: %d\n"
+msgstr "U/min: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:339
+#, c-format
+msgid "interleave: %d\n"
+msgstr "Interleave: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:340
+#, c-format
+msgid "trackskew: %d\n"
+msgstr "Spurabweichung: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:341
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr "Zylinderabweichung: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:342
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr "Kopfwechsel: %ld\t\t# Millisekunden\n"
+
+#: fdisk/fdiskbsdlabel.c:344
+#, c-format
+msgid "track-to-track seek: %ld\t# milliseconds\n"
+msgstr "Spur-zu-Spur-Wechsel: %ld\t# Millisekunden\n"
+
+#: fdisk/fdiskbsdlabel.c:346
+#, c-format
+msgid "drivedata: "
+msgstr "drivedata: "
+
+#: fdisk/fdiskbsdlabel.c:355
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+"\n"
+"%d Partitionen:\n"
+
+#: fdisk/fdiskbsdlabel.c:356
+#, c-format
+msgid "#       start       end      size     fstype   [fsize bsize   cpg]\n"
+msgstr "#       Anfang      Ende     Größe    Typ      [fsize bsize   cpg]\n"
+
+#: fdisk/fdiskbsdlabel.c:405 fdisk/fdiskbsdlabel.c:408
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr "Schreibe „disklabel“ auf %s.\n"
+
+#: fdisk/fdiskbsdlabel.c:420 fdisk/fdiskbsdlabel.c:422
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr "%s enthält keinen „disklabel“.\n"
+
+#: fdisk/fdiskbsdlabel.c:427
+msgid "Do you want to create a disklabel? (y/n) "
+msgstr "Wollen Sie einen „disklabel“ anlegen (y/n)? "
+
+#: fdisk/fdiskbsdlabel.c:467
+msgid "bytes/sector"
+msgstr "Bytes/Sektor"
+
+#: fdisk/fdiskbsdlabel.c:468
+msgid "sectors/track"
+msgstr "Sektoren/Spur"
+
+#: fdisk/fdiskbsdlabel.c:469
+msgid "tracks/cylinder"
+msgstr "Spuren/Zylinder"
+
+#: fdisk/fdiskbsdlabel.c:470 fdisk/fdisk.c:648 fdisk/fdisk.c:1357
+#: fdisk/sfdisk.c:945
+msgid "cylinders"
+msgstr "Zylinder"
+
+#: fdisk/fdiskbsdlabel.c:477
+msgid "sectors/cylinder"
+msgstr "Sektoren/Zylinder"
+
+#: fdisk/fdiskbsdlabel.c:481
+#, c-format
+msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
+msgstr "Muss <= Sektoren/Spur × Spuren/Zylinder sein (Voreinstellung).\n"
+
+#: fdisk/fdiskbsdlabel.c:483
+msgid "rpm"
+msgstr "U/min"
+
+#: fdisk/fdiskbsdlabel.c:484
+msgid "interleave"
+msgstr "Interleave"
+
+#: fdisk/fdiskbsdlabel.c:485
+msgid "trackskew"
+msgstr "Spurverschiebung"
+
+#: fdisk/fdiskbsdlabel.c:486
+msgid "cylinderskew"
+msgstr "Zylinderverschiebung"
+
+#: fdisk/fdiskbsdlabel.c:487
+msgid "headswitch"
+msgstr "Kopfwechsel"
+
+#: fdisk/fdiskbsdlabel.c:488
+msgid "track-to-track seek"
+msgstr "Spur‐zu‐Spur‐Wechsel"
+
+#: fdisk/fdiskbsdlabel.c:529
+#, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr "Bootstrap: %sboot -> boot%s (%s): "
+
+#: fdisk/fdiskbsdlabel.c:554
+#, c-format
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr "Bootstrap überlappt mit Disklabel!\n"
+
+#: fdisk/fdiskbsdlabel.c:575 fdisk/fdiskbsdlabel.c:577
+#, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr "Bootstrap auf %s installiert.\n"
+
+#: fdisk/fdiskbsdlabel.c:599
+#, c-format
+msgid "Partition (a-%c): "
+msgstr "Partition (a-%c): "
+
+#: fdisk/fdiskbsdlabel.c:618 fdisk/fdisk.c:2199
+#, c-format
+msgid "The maximum number of partitions has been created\n"
+msgstr "Die maximale Anzahl von Partitionen wurde erzeugt\n"
+
+#: fdisk/fdiskbsdlabel.c:630
+#, c-format
+msgid "This partition already exists.\n"
+msgstr "Diese Partition existiert bereits.\n"
+
+#: fdisk/fdiskbsdlabel.c:757
+#, c-format
+msgid "Warning: too many partitions (%d, maximum is %d).\n"
+msgstr "Warnung: zu viele Partitionen (%d, Maximum ist %d).\n"
+
+#: fdisk/fdiskbsdlabel.c:805
+#, c-format
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+"\n"
+"Synchronisiere Platten.\n"
+
+#: fdisk/fdisk.c:244
+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"
+
+#: fdisk/fdisk.c:256
+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"
+
+#: fdisk/fdisk.c:265
+#, c-format
+msgid "Unable to open %s\n"
+msgstr "Konnte %s nicht öffnen\n"
+
+#: fdisk/fdisk.c:269
+#, c-format
+msgid "Unable to read %s\n"
+msgstr "Konnte %s nicht lesen\n"
+
+# "Konnte in %s nicht positionieren"
+#: fdisk/fdisk.c:273
+#, c-format
+msgid "Unable to seek on %s\n"
+msgstr "Konnte in %s nicht positionieren\n"
+
+#: fdisk/fdisk.c:277
+#, c-format
+msgid "Unable to write %s\n"
+msgstr "Konnte %s nicht schreiben\n"
+
+#: fdisk/fdisk.c:281
+#, c-format
+msgid "BLKGETSIZE ioctl failed on %s\n"
+msgstr "BLKGETSIZE-IOCTL fehlgeschlagen bei %s\n"
+
+#: fdisk/fdisk.c:285
+msgid "Unable to allocate any more memory\n"
+msgstr "Konnte keinen weiteren Speicher reservieren\n"
+
+#: fdisk/fdisk.c:288
+msgid "Fatal error\n"
+msgstr "Fataler Fehler\n"
+
+#: fdisk/fdisk.c:387
+msgid "   a   toggle a read only flag"
+msgstr "   a   (De)Aktivieren eines Nur-Lese-Flags"
+
+#: fdisk/fdisk.c:388 fdisk/fdisk.c:432
+msgid "   b   edit bsd disklabel"
+msgstr "   b   „bsd disklabel“ bearbeiten"
+
+#: fdisk/fdisk.c:389
+msgid "   c   toggle the mountable flag"
+msgstr "   c   (De)Aktivieren des Mountable(Einhängbarkeit)-Flags"
+
+#: fdisk/fdisk.c:390 fdisk/fdisk.c:409 fdisk/fdisk.c:434
+msgid "   d   delete a partition"
+msgstr "   d   Eine Partition löschen"
+
+#: fdisk/fdisk.c:391 fdisk/fdisk.c:410 fdisk/fdisk.c:435
+msgid "   l   list known partition types"
+msgstr "   l   Die bekannten Dateisystemtypen anzeigen"
+
+#: fdisk/fdisk.c:393 fdisk/fdisk.c:412 fdisk/fdisk.c:437
+msgid "   n   add a new partition"
+msgstr "   n   Eine neue Partition anlegen"
+
+#: fdisk/fdisk.c:394 fdisk/fdisk.c:413 fdisk/fdisk.c:425 fdisk/fdisk.c:438
+msgid "   o   create a new empty DOS partition table"
+msgstr "   o   Eine neue leere DOS Partitionstabelle anlegen"
+
+#: fdisk/fdisk.c:395 fdisk/fdisk.c:414 fdisk/fdisk.c:439 fdisk/fdisk.c:462
+#: fdisk/fdisk.c:479 fdisk/fdisk.c:495 fdisk/fdisk.c:513
+msgid "   p   print the partition table"
+msgstr "   p   Die Partitionstabelle anzeigen"
+
+#: fdisk/fdisk.c:397 fdisk/fdisk.c:416 fdisk/fdisk.c:427 fdisk/fdisk.c:441
+msgid "   s   create a new empty Sun disklabel"
+msgstr "   s   Einen neuen leeren „Sun disklabel“ anlegen"
+
+#: fdisk/fdisk.c:398 fdisk/fdisk.c:417 fdisk/fdisk.c:442
+msgid "   t   change a partition's system id"
+msgstr "   t   Den Dateisystemtyp einer Partition ändern"
+
+#: fdisk/fdisk.c:399 fdisk/fdisk.c:418 fdisk/fdisk.c:443
+msgid "   u   change display/entry units"
+msgstr "   u   Die Einheit für die Anzeige/Eingabe ändern"
+
+#: fdisk/fdisk.c:400 fdisk/fdisk.c:419 fdisk/fdisk.c:444 fdisk/fdisk.c:466
+#: fdisk/fdisk.c:483 fdisk/fdisk.c:499 fdisk/fdisk.c:517
+msgid "   v   verify the partition table"
+msgstr "   v   Die Partitionstabelle überprüfen"
+
+#: fdisk/fdisk.c:401 fdisk/fdisk.c:420 fdisk/fdisk.c:445 fdisk/fdisk.c:467
+#: fdisk/fdisk.c:484 fdisk/fdisk.c:500 fdisk/fdisk.c:518
+msgid "   w   write table to disk and exit"
+msgstr ""
+"   w   Die Tabelle auf die Festplatte schreiben und das Programm beenden"
+
+#: fdisk/fdisk.c:402 fdisk/fdisk.c:446
+msgid "   x   extra functionality (experts only)"
+msgstr "   x   Zusätzliche Funktionen (nur für Experten)"
+
+#: fdisk/fdisk.c:406
+msgid "   a   select bootable partition"
+msgstr "   a   Wählen der bootfähigen Partition"
+
+#: fdisk/fdisk.c:407
+msgid "   b   edit bootfile entry"
+msgstr "   b   Bearbeiten des „bootfile“-Eintrags"
+
+#: fdisk/fdisk.c:408
+msgid "   c   select sgi swap partition"
+msgstr "   c   Die sgi-swap-Partition auswählen"
+
+#: fdisk/fdisk.c:431
+msgid "   a   toggle a bootable flag"
+msgstr "   a   (De)Aktivieren des bootfähig-Flags"
+
+#: fdisk/fdisk.c:433
+msgid "   c   toggle the dos compatibility flag"
+msgstr "   c   (De)Aktivieren des DOS Kompatibilitätsflags"
+
+#: fdisk/fdisk.c:454
+msgid "   a   change number of alternate cylinders"
+msgstr "   a   Die Anzahl der alternierenden Zylinder ändern"
+
+#: fdisk/fdisk.c:455 fdisk/fdisk.c:473 fdisk/fdisk.c:489 fdisk/fdisk.c:505
+msgid "   c   change number of cylinders"
+msgstr "   c   Die Anzahl der Zylinder ändern"
+
+# XXX
+#: fdisk/fdisk.c:456 fdisk/fdisk.c:474 fdisk/fdisk.c:490 fdisk/fdisk.c:506
+msgid "   d   print the raw data in the partition table"
+msgstr "   d   Die „raw“-Daten der Partitionstabelle anzeigen"
+
+#: fdisk/fdisk.c:457
+msgid "   e   change number of extra sectors per cylinder"
+msgstr "   e   Die Anzahl der Extra-Sektoren pro Zylinder ändern"
+
+#: fdisk/fdisk.c:458 fdisk/fdisk.c:477 fdisk/fdisk.c:493 fdisk/fdisk.c:510
+msgid "   h   change number of heads"
+msgstr "   h   Die Anzahl der Köpfe ändern"
+
+#: fdisk/fdisk.c:459
+msgid "   i   change interleave factor"
+msgstr "   i   Den Interleave-Faktor ändern"
+
+#: fdisk/fdisk.c:460
+msgid "   o   change rotation speed (rpm)"
+msgstr "   o   Umdrehungsgeschwindigkeit ändern (U/min)"
+
+#: fdisk/fdisk.c:465 fdisk/fdisk.c:482 fdisk/fdisk.c:498 fdisk/fdisk.c:516
+msgid "   s   change number of sectors/track"
+msgstr "   s   Die Anzahl der Sektoren/Spur ändern"
+
+#: fdisk/fdisk.c:468
+msgid "   y   change number of physical cylinders"
+msgstr "   y   Die Anzahl der physischen Zylinder ändern"
+
+#: fdisk/fdisk.c:472 fdisk/fdisk.c:488 fdisk/fdisk.c:504
+msgid "   b   move beginning of data in a partition"
+msgstr "   b   Den Datenanfang einer Partition verschieben"
+
+# XXX – Or should this be "logical" instead of "extended" ?
+#: fdisk/fdisk.c:475 fdisk/fdisk.c:491 fdisk/fdisk.c:507
+msgid "   e   list extended partitions"
+msgstr "   e   Erweiterte Partitionen anzeigen"
+
+#: fdisk/fdisk.c:476 fdisk/fdisk.c:492 fdisk/fdisk.c:509
+msgid "   g   create an IRIX (SGI) partition table"
+msgstr "   g   Eine IRIX-Partitionstabelle (SGI) anlegen"
+
+#: fdisk/fdisk.c:508
+msgid "   f   fix partition order"
+msgstr "   f   Partitionsreihenfolge korrigieren"
+
+#: fdisk/fdisk.c:511
+#, fuzzy
+msgid "   i   change the disk identifier"
+msgstr "   i   Die Einheit für die Anzeige/Eingabe ändern"
+
+#: fdisk/fdisk.c:627
+#, c-format
+msgid "You must set"
+msgstr "Sie müssen angeben"
+
+#: fdisk/fdisk.c:644
+msgid "heads"
+msgstr "Köpfe"
+
+#: fdisk/fdisk.c:646 fdisk/fdisk.c:1357 fdisk/sfdisk.c:945
+msgid "sectors"
+msgstr "Sektoren"
+
+#: fdisk/fdisk.c:652
+#, 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"
+
+#: fdisk/fdisk.c:653
+msgid " and "
+msgstr " und "
+
+#: fdisk/fdisk.c:670
+#, c-format
+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"
+
+#: fdisk/fdisk.c:683
+#, 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 %d-byte sectors. Use parted(1) and GUID \n"
+"partition table format (GPT).\n"
+"\n"
+msgstr ""
+
+#: fdisk/fdisk.c:708
+#, c-format
+msgid "Bad offset in primary extended partition\n"
+msgstr "Ungültiges Offset in primärer erweiterter Partition\n"
+
+#: fdisk/fdisk.c:722
+#, 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"
+
+#: fdisk/fdisk.c:741
+#, c-format
+msgid "Warning: extra link pointer in partition table %d\n"
+msgstr "Warnung: zusätzlicher Link-Pointer in Partitionstabelle %d\n"
+
+#: fdisk/fdisk.c:749
+#, c-format
+msgid "Warning: ignoring extra data in partition table %d\n"
+msgstr "Warnung: ignoriere weitere Daten in Partitionstabelle %d\n"
+
+#: fdisk/fdisk.c:782
+#, fuzzy, c-format
+msgid "omitting empty partition (%d)\n"
+msgstr "Warnung: leere Partition\n"
+
+#: fdisk/fdisk.c:801
+#, c-format
+msgid "Disk identifier: 0x%08x\n"
+msgstr ""
+
+#: fdisk/fdisk.c:810
+#, c-format
+msgid "New disk identifier (current 0x%08x): "
+msgstr ""
+
+#: fdisk/fdisk.c:829
+#, fuzzy, c-format
+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"
+
+#: fdisk/fdisk.c:861
+#, c-format
+msgid "Note: sector size is %d (not %d)\n"
+msgstr "Hinweis: Die Sektorgröße ist %d (nicht %d)\n"
+
+# XXX
+#: fdisk/fdisk.c:990
+#, c-format
+msgid "You will not be able to write the partition table.\n"
+msgstr "Sie werden die Partitionstabelle nicht schreiben können.\n"
+
+#: fdisk/fdisk.c:1022
+#, c-format
+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"
+
+#: fdisk/fdisk.c:1032
+#, c-format
+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"
+
+#: fdisk/fdisk.c:1049
+#, c-format
+msgid "Internal error\n"
+msgstr "Interner Fehler\n"
+
+#: fdisk/fdisk.c:1062
+#, c-format
+msgid "Ignoring extra extended partition %d\n"
+msgstr "Die zusätzliche erweiterte Partition %d ignorieren\n"
+
+#: fdisk/fdisk.c:1074
+#, 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"
+
+#: fdisk/fdisk.c:1096
+#, c-format
+msgid ""
+"\n"
+"got EOF thrice - exiting..\n"
+msgstr ""
+"\n"
+"dreimalig EOF bekommen – beende…\n"
+
+#: fdisk/fdisk.c:1135
+msgid "Hex code (type L to list codes): "
+msgstr "Hex code (L um eine Liste anzuzeigen): "
+
+#: fdisk/fdisk.c:1175
+#, c-format
+msgid "%s (%u-%u, default %u): "
+msgstr "%s (%u-%u, Vorgabe: %u): "
+
+#: fdisk/fdisk.c:1242
+#, c-format
+msgid "Unsupported suffix: '%s'.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1243
+#, c-format
+msgid ""
+"Supported: 10^N: KB (KiloByte), MB (MegaByte), GB (GigaByte)\n"
+"            2^N: K  (KibiByte), M  (MebiByte), G  (GibiByte)\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1269
+#, c-format
+msgid "Using default value %u\n"
+msgstr "Benutze den Standardwert %u\n"
+
+#: fdisk/fdisk.c:1273
+#, c-format
+msgid "Value out of range.\n"
+msgstr "Wert außerhalb des Bereichs.\n"
+
+#: fdisk/fdisk.c:1283
+msgid "Partition number"
+msgstr "Partitionsnummer"
+
+#: fdisk/fdisk.c:1294
+#, c-format
+msgid "Warning: partition %d has empty type\n"
+msgstr "Warnung: Partition %d hat leeren Typ\n"
+
+#: fdisk/fdisk.c:1316 fdisk/fdisk.c:1342
+#, c-format
+msgid "Selected partition %d\n"
+msgstr "Partition %d ausgewählt\n"
+
+#: fdisk/fdisk.c:1319
+#, c-format
+msgid "No partition is defined yet!\n"
+msgstr "Noch keine Partition definiert!\n"
+
+#: fdisk/fdisk.c:1345
+#, c-format
+msgid "All primary partitions have been defined already!\n"
+msgstr "Alle primären Partitionen sind schon definiert worden!\n"
+
+#: fdisk/fdisk.c:1355
+msgid "cylinder"
+msgstr "Zylinder"
+
+#: fdisk/fdisk.c:1355
+msgid "sector"
+msgstr "Sektor"
+
+#: fdisk/fdisk.c:1364
+#, c-format
+msgid "Changing display/entry units to %s\n"
+msgstr "Die Einheit für die Anzeige/Eingabe ist nun %s\n"
+
+#: fdisk/fdisk.c:1375
+#, c-format
+msgid "WARNING: Partition %d is an extended partition\n"
+msgstr "WARNUNG: Partition %d ist eine erweiterte Partition\n"
+
+#: fdisk/fdisk.c:1386
+#, c-format
+msgid "DOS Compatibility flag is set\n"
+msgstr "DOS-Kompatibilitätsflag ist gesetzt\n"
+
+#: fdisk/fdisk.c:1390
+#, c-format
+msgid "DOS Compatibility flag is not set\n"
+msgstr "DOS-Kompatibilitätsflag ist nicht gesetzt\n"
+
+#: fdisk/fdisk.c:1490
+#, c-format
+msgid "Partition %d does not exist yet!\n"
+msgstr "Partition %d existiert noch nicht!\n"
+
+#: fdisk/fdisk.c:1495
+#, 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"
+
+#: fdisk/fdisk.c:1504
+#, 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"
+
+#: fdisk/fdisk.c:1513
+#, 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"
+
+#: fdisk/fdisk.c:1519
+#, 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"
+
+#: fdisk/fdisk.c:1536
+#, c-format
+msgid "Changed system type of partition %d to %x (%s)\n"
+msgstr "Der Dateisystemtyp der Partition %d ist nun %x (%s)\n"
+
+#: fdisk/fdisk.c:1539
+#, 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"
+
+#: fdisk/fdisk.c:1591
+#, 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"
+
+#: fdisk/fdisk.c:1593 fdisk/fdisk.c:1601 fdisk/fdisk.c:1610 fdisk/fdisk.c:1620
+#, c-format
+msgid "     phys=(%d, %d, %d) "
+msgstr "     phys=(%d, %d, %d) "
+
+#: fdisk/fdisk.c:1594 fdisk/fdisk.c:1602
+#, c-format
+msgid "logical=(%d, %d, %d)\n"
+msgstr "logisch=(%d, %d, %d)\n"
+
+#: fdisk/fdisk.c:1599
+#, c-format
+msgid "Partition %d has different physical/logical endings:\n"
+msgstr "Partition %d hat unterschiedliche phys./log. Enden:\n"
+
+#: fdisk/fdisk.c:1608
+#, c-format
+msgid "Partition %i does not start on cylinder boundary:\n"
+msgstr "Partition %i beginnt nicht an einer Zylindergrenze:\n"
+
+#: fdisk/fdisk.c:1611
+#, c-format
+msgid "should be (%d, %d, 1)\n"
+msgstr "sollte sein (%d, %d, 1)\n"
+
+#: fdisk/fdisk.c:1617
+#, c-format
+msgid "Partition %i does not end on cylinder boundary.\n"
+msgstr "Partition %i endet nicht an einer Zylindergrenze.\n"
+
+#: fdisk/fdisk.c:1621
+#, c-format
+msgid "should be (%d, %d, %d)\n"
+msgstr "sollte sein (%d, %d, %d)\n"
+
+#: fdisk/fdisk.c:1633
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld MB, %lld bytes\n"
+msgstr ""
+"\n"
+"Platte %s: %ld MByte, %lld Byte\n"
+
+#: fdisk/fdisk.c:1637
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld.%ld GB, %lld bytes\n"
+msgstr ""
+"\n"
+"Platte %s: %ld.%ld GByte, %lld Byte\n"
+
+#: fdisk/fdisk.c:1640
+#, c-format
+msgid "%d heads, %llu sectors/track, %d cylinders"
+msgstr "%d Köpfe, %llu Sektoren/Spur, %d Zylinder"
+
+#: fdisk/fdisk.c:1643
+#, c-format
+msgid ", total %llu sectors"
+msgstr ", zusammen %llu Sektoren"
+
+#: fdisk/fdisk.c:1646
+#, c-format
+msgid "Units = %s of %d * %d = %d bytes\n"
+msgstr "Einheiten = %s von %d × %d = %d Bytes\n"
+
+#: fdisk/fdisk.c:1757
+#, c-format
+msgid ""
+"Nothing to do. Ordering is correct already.\n"
+"\n"
+msgstr ""
+"Keine Änderungen notwendig.  Die Anordnung ist schon korrekt.\n"
+"\n"
+
+#: fdisk/fdisk.c:1785
+#, fuzzy, c-format
+msgid "Done.\n"
+msgstr ""
+"Fertig\n"
+"\n"
+
+#: fdisk/fdisk.c:1813
+#, 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-
+#: fdisk/fdisk.c:1826
+#, c-format
+msgid "%*s Boot      Start         End      Blocks   Id  System\n"
+msgstr "%*s  boot.     Anfang        Ende     Blöcke   Id  System\n"
+
+#: fdisk/fdisk.c:1827 fdisk/fdisksgilabel.c:223 fdisk/fdisksunlabel.c:603
+msgid "Device"
+msgstr "Gerät"
+
+#: fdisk/fdisk.c:1864
+#, c-format
+msgid ""
+"\n"
+"Partition table entries are not in disk order\n"
+msgstr ""
+"\n"
+"Partitionstabelleneinträge sind nicht in Platten-Reihenfolge\n"
+
+#: fdisk/fdisk.c:1874
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %d 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-)
+#: fdisk/fdisk.c:1876
+#, 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"
+
+#: fdisk/fdisk.c:1922
+#, c-format
+msgid "Warning: partition %d contains sector 0\n"
+msgstr "Warnung: Partition %d enthält Sektor 0\n"
+
+#: fdisk/fdisk.c:1925
+#, c-format
+msgid "Partition %d: head %d greater than maximum %d\n"
+msgstr "Partition %d: Kopf %d größer als Maximum %d\n"
+
+#: fdisk/fdisk.c:1928
+#, c-format
+msgid "Partition %d: sector %d greater than maximum %llu\n"
+msgstr "Partition %d: Sektor %d größer als Maximum %llu\n"
+
+#: fdisk/fdisk.c:1931
+#, c-format
+msgid "Partitions %d: cylinder %d greater than maximum %d\n"
+msgstr "Partition %d: Zylinder %d größer als Maximum %d\n"
+
+#: fdisk/fdisk.c:1935
+#, 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"
+
+#: fdisk/fdisk.c:1968
+#, c-format
+msgid "Warning: bad start-of-data in partition %d\n"
+msgstr "Warnung: ungültiger Anfang-der-Daten in Partition %d\n"
+
+#: fdisk/fdisk.c:1976
+#, c-format
+msgid "Warning: partition %d overlaps partition %d.\n"
+msgstr "Warnung: Partition %d überlappt mit Partition %d.\n"
+
+#: fdisk/fdisk.c:1996
+#, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr "Warnung: Partition %d ist leer\n"
+
+#: fdisk/fdisk.c:2001
+#, 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"
+
+#: fdisk/fdisk.c:2007
+#, 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"
+
+#: fdisk/fdisk.c:2010
+#, fuzzy, c-format
+msgid "%lld unallocated %d-byte sectors\n"
+msgstr "%lld unbenutzte Sektoren\n"
+
+#: fdisk/fdisk.c:2025 fdisk/fdisksgilabel.c:633 fdisk/fdisksunlabel.c:416
+#, 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"
+
+#: fdisk/fdisk.c:2067
+#, c-format
+msgid "Sector %llu is already allocated\n"
+msgstr "Sektor %llu wird bereits benutzt\n"
+
+#: fdisk/fdisk.c:2103
+#, c-format
+msgid "No free sectors available\n"
+msgstr "Es sind keine freien Sektoren verfügbar\n"
+
+#: fdisk/fdisk.c:2112
+#, c-format
+msgid "Last %1$s, +%2$s or +size{K,M,G}"
+msgstr ""
+
+#: fdisk/fdisk.c:2178
+#, 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"
+
+#: fdisk/fdisk.c:2187
+#, 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"
+
+#: fdisk/fdisk.c:2207
+#, c-format
+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"
+
+#: fdisk/fdisk.c:2210
+#, c-format
+msgid "All logical partitions are in use\n"
+msgstr "Alle logischen Partitionen sind in Benutzung\n"
+
+# "Ungültige primäre Partition"
+#: fdisk/fdisk.c:2211
+#, c-format
+msgid "Adding a primary partition\n"
+msgstr "Füge primäre Partition hinzu\n"
+
+#: fdisk/fdisk.c:2216
+#, c-format
+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"
+
+#: fdisk/fdisk.c:2218
+msgid "l   logical (5 or over)"
+msgstr "l      Logische Partition (5 oder größer)"
+
+#: fdisk/fdisk.c:2218
+msgid "e   extended"
+msgstr "e      Erweiterte"
+
+#: fdisk/fdisk.c:2237
+#, c-format
+msgid "Invalid partition number for type `%c'\n"
+msgstr "Ungültige Partitionsnummer für den Typ „%c“\n"
+
+#: fdisk/fdisk.c:2273
+#, c-format
+msgid ""
+"The partition table has been altered!\n"
+"\n"
+msgstr ""
+"Die Partitionstabelle wurde verändert!\n"
+"\n"
+
+#: fdisk/fdisk.c:2287
+#, c-format
+msgid "Calling ioctl() to re-read partition table.\n"
+msgstr "Rufe ioctl() um Partitionstabelle neu einzulesen.\n"
+
+#: fdisk/fdisk.c:2296
+#, fuzzy, c-format
+msgid ""
+"\n"
+"WARNING: Re-reading the partition table failed with error %d: %s.\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"
+
+#: fdisk/fdisk.c:2304
+#, 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"
+
+#: fdisk/fdisk.c:2310
+#, c-format
+msgid ""
+"\n"
+"Error closing file\n"
+msgstr ""
+"\n"
+"Fehler beim Schließen von Datei\n"
+
+#: fdisk/fdisk.c:2314
+#, c-format
+msgid "Syncing disks.\n"
+msgstr "Synchronisiere Platten.\n"
+
+#: fdisk/fdisk.c:2361
+#, c-format
+msgid "Partition %d has no data area\n"
+msgstr "Partition %d hat keinen Datenbereich\n"
+
+#: fdisk/fdisk.c:2366
+msgid "New beginning of data"
+msgstr "Neuer Datenanfang"
+
+# That sounds pretty ummm…
+#: fdisk/fdisk.c:2382
+msgid "Expert command (m for help): "
+msgstr "Expertenkommando (m für Hilfe): "
+
+#: fdisk/fdisk.c:2395
+msgid "Number of cylinders"
+msgstr "Anzahl der Zylinder"
+
+#: fdisk/fdisk.c:2422
+msgid "Number of heads"
+msgstr "Anzahl der Köpfe"
+
+#: fdisk/fdisk.c:2449
+msgid "Number of sectors"
+msgstr "Anzahl der Sektoren"
+
+#: fdisk/fdisk.c:2452
+#, c-format
+msgid "Warning: setting sector offset for DOS compatiblity\n"
+msgstr "Warnung: setze Sektoren-Offset für DOS-Kompatibilität\n"
+
+#: fdisk/fdisk.c:2511
+#, 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 ""
+
+#: fdisk/fdisk.c:2533
+#, c-format
+msgid "Disk %s doesn't contain a valid partition table\n"
+msgstr "Festplatte %s enthält keine gültige Partitionstabelle\n"
+
+#: fdisk/fdisk.c:2544
+#, c-format
+msgid "Cannot open %s\n"
+msgstr "Konnte %s nicht öffnen\n"
+
+#: fdisk/fdisk.c:2563 fdisk/sfdisk.c:2618
+#, c-format
+msgid "cannot open %s\n"
+msgstr "Konnte %s nicht öffnen\n"
+
+#: fdisk/fdisk.c:2583
+#, c-format
+msgid "%c: unknown command\n"
+msgstr "%c: Unbekannter Befehl\n"
+
+#: fdisk/fdisk.c:2653
+#, c-format
+msgid "This kernel finds the sector size itself - -b option ignored\n"
+msgstr "Dieser Kernel stellt Sektorengröße selbst fest – Option -b ignoriert\n"
+
+#: fdisk/fdisk.c:2657
+#, 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"
+
+#: fdisk/fdisk.c:2717
+#, 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"
+
+#: fdisk/fdisk.c:2727
+msgid "Command (m for help): "
+msgstr "Befehl (m für Hilfe): "
+
+#: fdisk/fdisk.c:2743
+#, c-format
+msgid ""
+"\n"
+"The current boot file is: %s\n"
+msgstr ""
+"\n"
+"Momentane Bootdatei ist: %s\n"
+
+#: fdisk/fdisk.c:2745
+msgid "Please enter the name of the new boot file: "
+msgstr "Bitte geben Sie den Namen der neuen Boot-Datei an: "
+
+#: fdisk/fdisk.c:2747
+#, c-format
+msgid "Boot file unchanged\n"
+msgstr "Boot-Datei unverändert\n"
+
+#: fdisk/fdisk.c:2820
+#, c-format
+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"
+
+#: fdisk/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.)"
+
+#: fdisk/fdisksgilabel.c:81
+msgid "SGI volhdr"
+msgstr "SGI volhdr"
+
+#: fdisk/fdisksgilabel.c:82
+msgid "SGI trkrepl"
+msgstr "SGI trkrepl"
+
+#: fdisk/fdisksgilabel.c:83
+msgid "SGI secrepl"
+msgstr "SGI secrepl"
+
+#: fdisk/fdisksgilabel.c:84
+msgid "SGI raw"
+msgstr "SGI raw"
+
+#: fdisk/fdisksgilabel.c:85
+msgid "SGI bsd"
+msgstr "SGI bsd"
+
+#: fdisk/fdisksgilabel.c:86
+msgid "SGI sysv"
+msgstr "SGI sysv"
+
+#: fdisk/fdisksgilabel.c:87
+msgid "SGI volume"
+msgstr "SGI volume"
+
+#: fdisk/fdisksgilabel.c:88
+msgid "SGI efs"
+msgstr "SGI efs"
+
+#: fdisk/fdisksgilabel.c:89
+msgid "SGI lvol"
+msgstr "SGI lvol"
+
+#: fdisk/fdisksgilabel.c:90
+msgid "SGI rlvol"
+msgstr "SGI rlvol"
+
+#: fdisk/fdisksgilabel.c:91
+msgid "SGI xfs"
+msgstr "SGI xfs"
+
+#: fdisk/fdisksgilabel.c:92
+msgid "SGI xfslog"
+msgstr "SGI xfslog"
+
+#: fdisk/fdisksgilabel.c:93
+msgid "SGI xlv"
+msgstr "SGI xlv"
+
+#: fdisk/fdisksgilabel.c:94
+msgid "SGI xvm"
+msgstr "SGI xvm"
+
+#: fdisk/fdisksgilabel.c:95 fdisk/fdisksunlabel.c:55
+msgid "Linux swap"
+msgstr "Linux Swap"
+
+#: fdisk/fdisksgilabel.c:96 fdisk/fdisksunlabel.c:56
+msgid "Linux native"
+msgstr "Linux native"
+
+#: fdisk/fdisksgilabel.c:97 fdisk/fdisksunlabel.c:57 fdisk/i386_sys_types.c:63
+msgid "Linux LVM"
+msgstr "Linux LVM"
+
+#: fdisk/fdisksgilabel.c:98
+msgid "Linux RAID"
+msgstr "Linux RAID"
+
+#: fdisk/fdisksgilabel.c:164
+#, 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"
+
+#: fdisk/fdisksgilabel.c:183
+#, c-format
+msgid "Detected sgi disklabel with wrong checksum.\n"
+msgstr "SGI-Disklabel mit falscher Prüfsumme entdeckt.\n"
+
+#: fdisk/fdisksgilabel.c:201
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors\n"
+"%d cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * %d 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"
+
+#: fdisk/fdisksgilabel.c:214
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors, %d cylinders\n"
+"Units = %s of %d * %d 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"
+
+#: fdisk/fdisksgilabel.c:221
+#, 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"
+
+#: fdisk/fdisksgilabel.c:243
+#, c-format
+msgid ""
+"----- Bootinfo -----\n"
+"Bootfile: %s\n"
+"----- Directory Entries -----\n"
+msgstr ""
+"----- Bootinfo -----\n"
+"Bootdatei: %s\n"
+"----- Verzeichniseinträge -----\n"
+
+#: fdisk/fdisksgilabel.c:251
+#, c-format
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr "%2d: %-10s Sektor%5u Größe%8u\n"
+
+#: fdisk/fdisksgilabel.c:305
+#, 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"
+
+#: fdisk/fdisksgilabel.c:311
+#, 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"
+
+#: fdisk/fdisksgilabel.c:316
+#, c-format
+msgid ""
+"\n"
+"\tBootfile must have a fully qualified pathname.\n"
+msgstr ""
+"\n"
+"\tBootdatei muss einen voll qualifizierten Pfadnamen haben.\n"
+
+#: fdisk/fdisksgilabel.c:323
+#, 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"
+
+#: fdisk/fdisksgilabel.c:349
+#, c-format
+msgid ""
+"\n"
+"\tBootfile is changed to \"%s\".\n"
+msgstr ""
+"\n"
+"\tBootdatei geändert auf „%s“.\n"
+
+#: fdisk/fdisksgilabel.c:439
+#, c-format
+msgid "More than one entire disk entry present.\n"
+msgstr "Mehr als ein Eintrag für ‚gesamte Platte‘ vorhanden.\n"
+
+#: fdisk/fdisksgilabel.c:446 fdisk/fdisksunlabel.c:388
+#, c-format
+msgid "No partitions defined\n"
+msgstr "Keine Partitionen definiert\n"
+
+#: fdisk/fdisksgilabel.c:452
+#, 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"
+
+#: fdisk/fdisksgilabel.c:454
+#, 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"
+
+#: fdisk/fdisksgilabel.c:460
+#, 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"
+
+#: fdisk/fdisksgilabel.c:466
+#, c-format
+msgid "One Partition (#11) should cover the entire disk.\n"
+msgstr "Eine Partition (#11) sollte die ganze Platte umfassen.\n"
+
+#: fdisk/fdisksgilabel.c:476
+#, c-format
+msgid "Partition %d does not start on cylinder boundary.\n"
+msgstr "Partition %d beginnt nicht an einer Zylindergrenze.\n"
+
+#: fdisk/fdisksgilabel.c:482
+#, c-format
+msgid "Partition %d does not end on cylinder boundary.\n"
+msgstr "Partition %d endet nicht an einer Zylindergrenze.\n"
+
+#: fdisk/fdisksgilabel.c:489
+#, c-format
+msgid "The Partition %d and %d overlap by %d sectors.\n"
+msgstr "Partitionen %d und %d überlappen sich mit %d Sektoren.\n"
+
+#: fdisk/fdisksgilabel.c:497 fdisk/fdisksgilabel.c:515
+#, c-format
+msgid "Unused gap of %8u sectors - sectors %8u-%u\n"
+msgstr "Unbenutzte Lücke von %8u Sektoren – Sektor %8u-%u\n"
+
+#: fdisk/fdisksgilabel.c:526
+#, c-format
+msgid ""
+"\n"
+"The boot partition does not exist.\n"
+msgstr ""
+"\n"
+"Die Bootpartition existiert nicht.\n"
+
+#: fdisk/fdisksgilabel.c:529
+#, c-format
+msgid ""
+"\n"
+"The swap partition does not exist.\n"
+msgstr ""
+"\n"
+"Die Swappartition existiert nicht.\n"
+
+#: fdisk/fdisksgilabel.c:533
+#, c-format
+msgid ""
+"\n"
+"The swap partition has no swap type.\n"
+msgstr ""
+"\n"
+"Die Swappartition hat keinen Swap-Typ.\n"
+
+#: fdisk/fdisksgilabel.c:536
+#, c-format
+msgid "\tYou have chosen an unusual boot file name.\n"
+msgstr "\tSie haben einen unüblichen Boot-Dateinamen gewählt.\n"
+
+#: fdisk/fdisksgilabel.c:545
+#, c-format
+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"
+
+#: fdisk/fdisksgilabel.c:551
+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"
+
+#: fdisk/fdisksgilabel.c:556 fdisk/fdisksunlabel.c:554
+msgid "YES\n"
+msgstr "JAWOHL\n"
+
+#: fdisk/fdisksgilabel.c:581
+#, c-format
+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"
+
+#: fdisk/fdisksgilabel.c:639
+#, c-format
+msgid "Attempting to generate entire disk entry automatically.\n"
+msgstr ""
+"Versuche, den Eintrag für ‚gesamte Platte‘ automatisch zu generieren.\n"
+
+#: fdisk/fdisksgilabel.c:644
+#, c-format
+msgid "The entire disk is already covered with partitions.\n"
+msgstr "Es wird schon die ganze Platte von Partitionen abgedeckt.\n"
+
+#: fdisk/fdisksgilabel.c:648
+#, 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"
+
+#: fdisk/fdisksgilabel.c:657 fdisk/fdisksgilabel.c:686
+#, 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"
+
+#: fdisk/fdisksgilabel.c:673
+#, 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"
+
+#: fdisk/fdisksgilabel.c:678
+#, c-format
+msgid " Last %s"
+msgstr " Letzte %s"
+
+#: fdisk/fdisksgilabel.c:708
+#, c-format
+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"
+
+#: fdisk/fdisksgilabel.c:731 fdisk/fdisksunlabel.c:227
+#, c-format
+msgid ""
+"Warning:  BLKGETSIZE ioctl failed on %s.  Using geometry cylinder value of %"
+"d.\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"
+
+#: fdisk/fdisksgilabel.c:745
+#, c-format
+msgid "Trying to keep parameters of partition %d.\n"
+msgstr "Versuche, Parameter der Partition %d zu erhalten.\n"
+
+#: fdisk/fdisksgilabel.c:747
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr "ID=%02x\tANFANG=%d\tLÄNGE=%d\n"
+
+#: fdisk/fdisksunlabel.c:43
+msgid "Unassigned"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:45
+msgid "SunOS root"
+msgstr "SunOS root"
+
+#: fdisk/fdisksunlabel.c:46
+msgid "SunOS swap"
+msgstr "SunOS Swap"
+
+#: fdisk/fdisksunlabel.c:47
+msgid "SunOS usr"
+msgstr "SunOS usr"
+
+#: fdisk/fdisksunlabel.c:48
+msgid "Whole disk"
+msgstr "Gesamte Platte"
+
+#: fdisk/fdisksunlabel.c:49
+msgid "SunOS stand"
+msgstr "SunOS stand"
+
+#: fdisk/fdisksunlabel.c:50
+msgid "SunOS var"
+msgstr "SunOS var"
+
+#: fdisk/fdisksunlabel.c:51
+msgid "SunOS home"
+msgstr "SunOS home"
+
+#: fdisk/fdisksunlabel.c:52
+msgid "SunOS alt sectors"
+msgstr "SunOS alt sectors"
+
+#: fdisk/fdisksunlabel.c:53
+msgid "SunOS cachefs"
+msgstr "SunOS cachefs"
+
+#: fdisk/fdisksunlabel.c:54
+msgid "SunOS reserved"
+msgstr "SunOS reserved"
+
+#: fdisk/fdisksunlabel.c:58 fdisk/i386_sys_types.c:103
+msgid "Linux raid autodetect"
+msgstr "Linux raid autodetect"
+
+#: fdisk/fdisksunlabel.c:141
+#, 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"
+
+#: fdisk/fdisksunlabel.c:153
+#, fuzzy, c-format
+msgid "Detected sun disklabel with wrong version [0x%08x].\n"
+msgstr "SGI-Disklabel mit falscher Prüfsumme entdeckt.\n"
+
+#: fdisk/fdisksunlabel.c:158
+#, fuzzy, c-format
+msgid "Detected sun disklabel with wrong sanity [0x%08x].\n"
+msgstr "SGI-Disklabel mit falscher Prüfsumme entdeckt.\n"
+
+#: fdisk/fdisksunlabel.c:163
+#, fuzzy, c-format
+msgid "Detected sun disklabel with wrong num_partitions [%u].\n"
+msgstr "SGI-Disklabel mit falscher Prüfsumme entdeckt.\n"
+
+#: fdisk/fdisksunlabel.c:168
+#, 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"
+
+#: fdisk/fdisksunlabel.c:198
+#, c-format
+msgid ""
+"Building a new sun disklabel. Changes will remain in memory only,\n"
+"until you decide to write them. After that, of course, the previous\n"
+"content won't be recoverable.\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"
+
+#: fdisk/fdisksunlabel.c:236
+msgid "Sectors/track"
+msgstr "Sektoren/Spur"
+
+#: fdisk/fdisksunlabel.c:351
+#, c-format
+msgid "Partition %d doesn't end on cylinder boundary\n"
+msgstr "Partition %d endet nicht an einer Zylindergrenze\n"
+
+#: fdisk/fdisksunlabel.c:371
+#, c-format
+msgid "Partition %d overlaps with others in sectors %d-%d\n"
+msgstr "Partition %d überlappt mit anderen in Sektoren %d–%d\n"
+
+#: fdisk/fdisksunlabel.c:393
+#, c-format
+msgid "Unused gap - sectors 0-%d\n"
+msgstr "Unbenutzter Bereich – Sektor 0–%d\n"
+
+#: fdisk/fdisksunlabel.c:395 fdisk/fdisksunlabel.c:401
+#, c-format
+msgid "Unused gap - sectors %d-%d\n"
+msgstr "Unbenutzter Bereich – Sektor %d–%d\n"
+
+#: fdisk/fdisksunlabel.c:426
+#, 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"
+
+#: fdisk/fdisksunlabel.c:449
+#, 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"
+
+#: fdisk/fdisksunlabel.c:477
+#, c-format
+msgid "Sector %d is already allocated\n"
+msgstr "Sektor %d wird bereits benutzt\n"
+
+#: fdisk/fdisksunlabel.c:507
+#, 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"
+
+#: fdisk/fdisksunlabel.c:534
+#, 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"
+
+#: fdisk/fdisksunlabel.c:549
+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: "
+
+#: fdisk/fdisksunlabel.c:581
+#, fuzzy, c-format
+msgid ""
+"\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"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Festplatte %s („Sun disklabel“): %d Köpfe, %d Sektoren, %d U/min\n"
+"%d Zylinder, %d alternative Zylinder, %d Physische Zylinder\n"
+"%d Extra-Sektoren/Zylinden, Interleave %d:1\n"
+"%s\n"
+"Einheiten = %s of %d × 512 Byte\n"
+"\n"
+
+#: fdisk/fdisksunlabel.c:597
+#, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %d heads, %llu sectors, %d cylinders\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Festplatte %s („Sun disklabel“): %d Köpfe, %llu Sektoren, %d Zylinder\n"
+"Einheiten: %s mit %d × 512 Byte\n"
+"\n"
+
+#: fdisk/fdisksunlabel.c:602
+#, c-format
+msgid "%*s Flag    Start       End    Blocks   Id  System\n"
+msgstr "%*s Flag    Start       Ende   Blöcke   Id  System\n"
+
+#: fdisk/fdisksunlabel.c:630
+msgid "Number of alternate cylinders"
+msgstr "Anzahl der alternierenden Zylinder"
+
+#: fdisk/fdisksunlabel.c:642
+msgid "Extra sectors per cylinder"
+msgstr "Extra-Sektoren pro Zylinder"
+
+#: fdisk/fdisksunlabel.c:649
+msgid "Interleave factor"
+msgstr "Interleave-Faktor"
+
+#: fdisk/fdisksunlabel.c:656
+msgid "Rotation speed (rpm)"
+msgstr "Rotationsgeschwindigkeit (U/min)"
+
+#: fdisk/fdisksunlabel.c:663
+msgid "Number of physical cylinders"
+msgstr "Anzahl der physikalischen Zylinder"
+
+#: fdisk/i386_sys_types.c:6
+msgid "Empty"
+msgstr "Leer"
+
+#: fdisk/i386_sys_types.c:7
+msgid "FAT12"
+msgstr "FAT12"
+
+#: fdisk/i386_sys_types.c:8
+msgid "XENIX root"
+msgstr "XENIX root"
+
+#: fdisk/i386_sys_types.c:9
+msgid "XENIX usr"
+msgstr "XENIX usr"
+
+#: fdisk/i386_sys_types.c:10
+msgid "FAT16 <32M"
+msgstr "FAT16 <32M"
+
+#: fdisk/i386_sys_types.c:11
+msgid "Extended"
+msgstr "Erweiterte"
+
+#: fdisk/i386_sys_types.c:12
+msgid "FAT16"
+msgstr "FAT16"
+
+#: fdisk/i386_sys_types.c:13
+msgid "HPFS/NTFS"
+msgstr "HPFS/NTFS"
+
+#: fdisk/i386_sys_types.c:14
+msgid "AIX"
+msgstr "AIX"
+
+# "bootfähig"
+#: fdisk/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr "AIX bootfähig"
+
+#: fdisk/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr "OS/2 Bootmanager"
+
+#: fdisk/i386_sys_types.c:17
+msgid "W95 FAT32"
+msgstr "W95 FAT32"
+
+#: fdisk/i386_sys_types.c:18
+msgid "W95 FAT32 (LBA)"
+msgstr "W95 FAT32 (LBA)"
+
+#: fdisk/i386_sys_types.c:19
+msgid "W95 FAT16 (LBA)"
+msgstr "W95 FAT16 (LBA)"
+
+#: fdisk/i386_sys_types.c:20
+msgid "W95 Ext'd (LBA)"
+msgstr "W95 Erw. (LBA)"
+
+#: fdisk/i386_sys_types.c:21
+msgid "OPUS"
+msgstr "OPUS"
+
+#: fdisk/i386_sys_types.c:22
+msgid "Hidden FAT12"
+msgstr "Verst. FAT12"
+
+#: fdisk/i386_sys_types.c:23
+msgid "Compaq diagnostics"
+msgstr "Compaq Diagnostics"
+
+#: fdisk/i386_sys_types.c:24
+msgid "Hidden FAT16 <32M"
+msgstr "Verst. FAT16 <32M"
+
+#: fdisk/i386_sys_types.c:25
+msgid "Hidden FAT16"
+msgstr "Verst. FAT16"
+
+#: fdisk/i386_sys_types.c:26
+msgid "Hidden HPFS/NTFS"
+msgstr "Verst. HPFS/NTFS"
+
+#: fdisk/i386_sys_types.c:27
+msgid "AST SmartSleep"
+msgstr "AST SmartSleep"
+
+#: fdisk/i386_sys_types.c:28
+msgid "Hidden W95 FAT32"
+msgstr "Verst. W95 FAT32"
+
+#: fdisk/i386_sys_types.c:29
+msgid "Hidden W95 FAT32 (LBA)"
+msgstr "Verst. W95 FAT32 (LBA)"
+
+#: fdisk/i386_sys_types.c:30
+msgid "Hidden W95 FAT16 (LBA)"
+msgstr "Verst. W95 FAT16 (LBA)"
+
+#: fdisk/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr "NEC DOS"
+
+#: fdisk/i386_sys_types.c:32
+msgid "Plan 9"
+msgstr "Plan 9"
+
+#: fdisk/i386_sys_types.c:33
+msgid "PartitionMagic recovery"
+msgstr "PartitionMagic recovery"
+
+#: fdisk/i386_sys_types.c:34
+msgid "Venix 80286"
+msgstr "Venix 80286"
+
+#: fdisk/i386_sys_types.c:35
+msgid "PPC PReP Boot"
+msgstr "PPC PReP Boot"
+
+#: fdisk/i386_sys_types.c:36
+msgid "SFS"
+msgstr "SFS"
+
+#: fdisk/i386_sys_types.c:37
+msgid "QNX4.x"
+msgstr "QNX4.x"
+
+#: fdisk/i386_sys_types.c:38
+msgid "QNX4.x 2nd part"
+msgstr "QNX4.x 2nd part"
+
+#: fdisk/i386_sys_types.c:39
+msgid "QNX4.x 3rd part"
+msgstr "QNX4.x 3rd part"
+
+#: fdisk/i386_sys_types.c:40
+msgid "OnTrack DM"
+msgstr "OnTrack DM"
+
+#: fdisk/i386_sys_types.c:41
+msgid "OnTrack DM6 Aux1"
+msgstr "OnTrack DM6 Aux1"
+
+#: fdisk/i386_sys_types.c:42
+msgid "CP/M"
+msgstr "CP/M"
+
+#: fdisk/i386_sys_types.c:43
+msgid "OnTrack DM6 Aux3"
+msgstr "OnTrack DM6 Aux3"
+
+#: fdisk/i386_sys_types.c:44
+msgid "OnTrackDM6"
+msgstr "OnTrackDM6"
+
+#: fdisk/i386_sys_types.c:45
+msgid "EZ-Drive"
+msgstr "EZ-Drive"
+
+#: fdisk/i386_sys_types.c:46
+msgid "Golden Bow"
+msgstr "Golden Bow"
+
+#: fdisk/i386_sys_types.c:47
+msgid "Priam Edisk"
+msgstr "Priam Edisk"
+
+#: fdisk/i386_sys_types.c:48 fdisk/i386_sys_types.c:92
+#: fdisk/i386_sys_types.c:98 fdisk/i386_sys_types.c:99
+msgid "SpeedStor"
+msgstr "SpeedStor"
+
+#: fdisk/i386_sys_types.c:49
+msgid "GNU HURD or SysV"
+msgstr "GNU HURD / SysV"
+
+#: fdisk/i386_sys_types.c:50
+msgid "Novell Netware 286"
+msgstr "Novell Netware 286"
+
+#: fdisk/i386_sys_types.c:51
+msgid "Novell Netware 386"
+msgstr "Novell Netware 386"
+
+#: fdisk/i386_sys_types.c:52
+msgid "DiskSecure Multi-Boot"
+msgstr "DiskSecure Multi-Boot"
+
+#: fdisk/i386_sys_types.c:53
+msgid "PC/IX"
+msgstr "PC/IX"
+
+#: fdisk/i386_sys_types.c:54
+msgid "Old Minix"
+msgstr "Old Minix"
+
+#: fdisk/i386_sys_types.c:55
+msgid "Minix / old Linux"
+msgstr "Minix / old Linux"
+
+#: fdisk/i386_sys_types.c:56
+msgid "Linux swap / Solaris"
+msgstr "Linux Swap / Solaris"
+
+#: fdisk/i386_sys_types.c:58
+msgid "OS/2 hidden C: drive"
+msgstr "OS/2 verst. C:-Lw."
+
+#: fdisk/i386_sys_types.c:59
+msgid "Linux extended"
+msgstr "Linux erweitert"
+
+#: fdisk/i386_sys_types.c:60 fdisk/i386_sys_types.c:61
+msgid "NTFS volume set"
+msgstr "NTFS volume set"
+
+#: fdisk/i386_sys_types.c:62
+msgid "Linux plaintext"
+msgstr "Linux Plaintext"
+
+#: fdisk/i386_sys_types.c:64
+msgid "Amoeba"
+msgstr "Amoeba"
+
+#: fdisk/i386_sys_types.c:65
+msgid "Amoeba BBT"
+msgstr "Amoeba BBT"
+
+#: fdisk/i386_sys_types.c:66
+msgid "BSD/OS"
+msgstr "BSD/OS"
+
+#: fdisk/i386_sys_types.c:67
+msgid "IBM Thinkpad hibernation"
+msgstr "IBM Thinkpad hibernation"
+
+#: fdisk/i386_sys_types.c:68
+msgid "FreeBSD"
+msgstr "FreeBSD"
+
+#: fdisk/i386_sys_types.c:69
+msgid "OpenBSD"
+msgstr "OpenBSD"
+
+#: fdisk/i386_sys_types.c:70
+msgid "NeXTSTEP"
+msgstr "NeXTSTEP"
+
+#: fdisk/i386_sys_types.c:71
+msgid "Darwin UFS"
+msgstr "Darwin UFS"
+
+#: fdisk/i386_sys_types.c:72
+msgid "NetBSD"
+msgstr "NetBSD"
+
+#: fdisk/i386_sys_types.c:73
+msgid "Darwin boot"
+msgstr "Darwin boot"
+
+#: fdisk/i386_sys_types.c:74
+#, fuzzy
+msgid "HFS / HFS+"
+msgstr "OS/2 HPFS"
+
+#: fdisk/i386_sys_types.c:75
+msgid "BSDI fs"
+msgstr "BSDI fs"
+
+#: fdisk/i386_sys_types.c:76
+msgid "BSDI swap"
+msgstr "BSDI swap"
+
+#: fdisk/i386_sys_types.c:77
+msgid "Boot Wizard hidden"
+msgstr "Boot Wizard versteckt"
+
+#: fdisk/i386_sys_types.c:78
+msgid "Solaris boot"
+msgstr "Solaris boot"
+
+#: fdisk/i386_sys_types.c:79
+msgid "Solaris"
+msgstr "Solaris"
+
+#: fdisk/i386_sys_types.c:80
+msgid "DRDOS/sec (FAT-12)"
+msgstr "DRDOS/sec (FAT-12)"
+
+#: fdisk/i386_sys_types.c:81
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr "DRDOS/sec (FAT-16 < 32M)"
+
+#: fdisk/i386_sys_types.c:82
+msgid "DRDOS/sec (FAT-16)"
+msgstr "DRDOS/sec (FAT-16)"
+
+#: fdisk/i386_sys_types.c:83
+msgid "Syrinx"
+msgstr "Syrinx"
+
+#: fdisk/i386_sys_types.c:84
+msgid "Non-FS data"
+msgstr "Nicht-DS-Daten"
+
+#: fdisk/i386_sys_types.c:85
+msgid "CP/M / CTOS / ..."
+msgstr "CP/M / CTOS / …"
+
+#: fdisk/i386_sys_types.c:87
+msgid "Dell Utility"
+msgstr "Dell Utility"
+
+#: fdisk/i386_sys_types.c:88
+msgid "BootIt"
+msgstr "BootIt"
+
+#: fdisk/i386_sys_types.c:89
+msgid "DOS access"
+msgstr "DOS access"
+
+#: fdisk/i386_sys_types.c:91
+msgid "DOS R/O"
+msgstr "DOS R/O"
+
+#: fdisk/i386_sys_types.c:94
+msgid "BeOS fs"
+msgstr "BeOS fs"
+
+#: fdisk/i386_sys_types.c:95
+#, fuzzy
+msgid "GPT"
+msgstr "EFI GPT"
+
+#: fdisk/i386_sys_types.c:96
+msgid "EFI (FAT-12/16/32)"
+msgstr "EFI (FAT-12/16/32)"
+
+#: fdisk/i386_sys_types.c:97
+msgid "Linux/PA-RISC boot"
+msgstr "Linux/PA-RISC boot"
+
+#: fdisk/i386_sys_types.c:100
+msgid "DOS secondary"
+msgstr "DOS sekundär"
+
+#: fdisk/i386_sys_types.c:101
+msgid "VMware VMFS"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:102
+msgid "VMware VMKCORE"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:106
+msgid "LANstep"
+msgstr "LANstep"
+
+#: fdisk/i386_sys_types.c:107
+msgid "BBT"
+msgstr "BBT"
+
+#: fdisk/sfdisk.c:179
+#, c-format
+msgid "seek error on %s - cannot seek to %lu\n"
+msgstr "Seek-Fehler auf %s – kann nicht nach %lu springen\n"
+
+#: fdisk/sfdisk.c:184
+#, 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"
+
+#: fdisk/sfdisk.c:230
+msgid "out of memory - giving up\n"
+msgstr "Speicher ist aufgebraucht – Abbruch\n"
+
+#: fdisk/sfdisk.c:235 fdisk/sfdisk.c:318
+#, 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"
+
+#: fdisk/sfdisk.c:253
+#, c-format
+msgid "ERROR: sector %lu does not have an msdos signature\n"
+msgstr "FEHLER: Sektor %lu hat keine MS-DOS-Signatur\n"
+
+#: fdisk/sfdisk.c:268
+#, 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"
+
+#: fdisk/sfdisk.c:306
+#, c-format
+msgid "cannot open partition sector save file (%s)\n"
+msgstr "Kann Partitionssektor-Sicherungsdatei (%s) nicht öffnen\n"
+
+#: fdisk/sfdisk.c:324
+#, c-format
+msgid "write error on %s\n"
+msgstr "Fehler beim Schreiben auf %s\n"
+
+#: fdisk/sfdisk.c:350
+#, c-format
+msgid "cannot stat partition restore file (%s)\n"
+msgstr "Kann auf Partitions-Wiederherstellungsdatei (%s) nicht zugreifen\n"
+
+#: fdisk/sfdisk.c:355
+msgid "partition restore file has wrong size - not restoring\n"
+msgstr ""
+"Partitions-Wiederherstellungsdatei hat falsche Größe – stelle nicht wieder "
+"her\n"
+
+#: fdisk/sfdisk.c:359
+msgid "out of memory?\n"
+msgstr "Speicher aufgebraucht?\n"
+
+#: fdisk/sfdisk.c:365
+#, c-format
+msgid "cannot open partition restore file (%s)\n"
+msgstr "Kann Partitions-Wiederherstellungsdatei (%s) nicht öffnen\n"
+
+#: fdisk/sfdisk.c:371
+#, c-format
+msgid "error reading %s\n"
+msgstr "Fehler beim Lesen von %s\n"
+
+#: fdisk/sfdisk.c:378
+#, c-format
+msgid "cannot open device %s for writing\n"
+msgstr "Konnte das Gerät %s nicht zum Schreiben öffnen\n"
+
+#: fdisk/sfdisk.c:390
+#, c-format
+msgid "error writing sector %lu on %s\n"
+msgstr "Fehler beim Schreiben des Sektors %lu auf %s\n"
+
+#: fdisk/sfdisk.c:455
+#, c-format
+msgid "Disk %s: cannot get geometry\n"
+msgstr "Festplatte %s: Die Geometrie konnte nicht festgestellt werden\n"
+
+#: fdisk/sfdisk.c:472
+#, c-format
+msgid "Disk %s: cannot get size\n"
+msgstr "Festplatte %s: Kann Größe nicht ermitteln\n"
+
+#: fdisk/sfdisk.c:505
+#, 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"
+
+#: fdisk/sfdisk.c:512
+#, 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"
+
+#: fdisk/sfdisk.c:515
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu sectors\n"
+msgstr "Warnung: HDIO_GETGEO ergibt, dass es %lu Sektoren gibt\n"
+
+#: fdisk/sfdisk.c:519
+#, 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"
+
+#: fdisk/sfdisk.c:524
+#, 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"
+
+#: fdisk/sfdisk.c:528
+#, 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"
+
+#: fdisk/sfdisk.c:610
+#, 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"
+
+#: fdisk/sfdisk.c:615
+#, 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"
+
+#: fdisk/sfdisk.c:620
+#, 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"
+
+#: fdisk/sfdisk.c:660
+#, c-format
+msgid ""
+"Id  Name\n"
+"\n"
+msgstr ""
+"Id  Name\n"
+"\n"
+
+#: fdisk/sfdisk.c:821
+#, c-format
+msgid "Re-reading the partition table ...\n"
+msgstr "Die Partitionstabelle wird erneut gelesen…\n"
+
+#: fdisk/sfdisk.c:827
+#, 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"
+
+#: fdisk/sfdisk.c:833
+#, c-format
+msgid "Error closing %s\n"
+msgstr "Fehler beim Schließen von %s\n"
+
+#: fdisk/sfdisk.c:871
+#, c-format
+msgid "%s: no such partition\n"
+msgstr "%s: es gibt keine derartige Partition\n"
+
+#: fdisk/sfdisk.c:894
+msgid "unrecognized format - using sectors\n"
+msgstr "nicht erkanntes Format – benutze Sektoren\n"
+
+#: fdisk/sfdisk.c:944
+#, c-format
+msgid "unimplemented format - using %s\n"
+msgstr "nicht implementiertes Format – benutze %s\n"
+
+#: fdisk/sfdisk.c:948
+#, 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"
+
+#: fdisk/sfdisk.c:951
+#, c-format
+msgid "   Device Boot Start     End   #cyls    #blocks   Id  System\n"
+msgstr "   Gerät  boot. Anfang   Ende  #Zyl.    #Blöcke   Id  System\n"
+
+#: fdisk/sfdisk.c:956
+#, 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"
+
+#: fdisk/sfdisk.c:958
+#, c-format
+msgid "   Device Boot    Start       End   #sectors  Id  System\n"
+msgstr "   Gerät  boot.   Anfang      Ende  #Sektoren Id  System\n"
+
+#: fdisk/sfdisk.c:961
+#, 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"
+
+#: fdisk/sfdisk.c:963
+#, c-format
+msgid "   Device Boot   Start       End    #blocks   Id  System\n"
+msgstr "   Gerät  boot.  Anfang      Ende   #Blöcke   Id  System\n"
+
+#: fdisk/sfdisk.c:966
+#, c-format
+msgid ""
+"Units = mebibytes of 1048576 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"
+
+#: fdisk/sfdisk.c:968
+#, c-format
+msgid "   Device Boot Start   End    MiB    #blocks   Id  System\n"
+msgstr "   Gerät  boot. Anfang Ende   MiB    #Blöcke   Id  System\n"
+
+#: fdisk/sfdisk.c:1128
+#, 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"
+
+#: fdisk/sfdisk.c:1135
+#, 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"
+
+#: fdisk/sfdisk.c:1138
+#, 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"
+
+#: fdisk/sfdisk.c:1148
+msgid "No partitions found\n"
+msgstr "Keine Partitionen gefunden\n"
+
+#: fdisk/sfdisk.c:1152
+#, 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"
+
+#: fdisk/sfdisk.c:1201
+msgid "no partition table present.\n"
+msgstr "Es gibt keine Partitionstabelle.\n"
+
+#: fdisk/sfdisk.c:1203
+#, c-format
+msgid "strange, only %d partitions defined.\n"
+msgstr "Merkwürdig, es sind nur %d Partitionen definiert.\n"
+
+#: fdisk/sfdisk.c:1212
+#, 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"
+
+#: fdisk/sfdisk.c:1215
+#, 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"
+
+#: fdisk/sfdisk.c:1218
+#, 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"
+
+# XXX – Merge with next strings.
+#: fdisk/sfdisk.c:1229
+#, c-format
+msgid "Warning: partition %s "
+msgstr "Warnung: Partition %s "
+
+#: fdisk/sfdisk.c:1230
+#, c-format
+msgid "is not contained in partition %s\n"
+msgstr "is nicht enthalten in Partition %s\n"
+
+# XXX – Merge with next strings.
+#: fdisk/sfdisk.c:1241
+#, c-format
+msgid "Warning: partitions %s "
+msgstr "Warnung: Partitionen %s "
+
+#: fdisk/sfdisk.c:1242
+#, c-format
+msgid "and %s overlap\n"
+msgstr "and %s überlappen sich\n"
+
+#: fdisk/sfdisk.c:1253
+#, c-format
+msgid ""
+"Warning: partition %s contains part of the partition table (sector %lu),\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"
+
+#: fdisk/sfdisk.c:1265
+#, c-format
+msgid "Warning: partition %s starts at sector 0\n"
+msgstr "Warnung: Partition %s fängt bei Sektor 0 an\n"
+
+#: fdisk/sfdisk.c:1269
+#, c-format
+msgid "Warning: partition %s extends past end of disk\n"
+msgstr "Warnung: Partition %s reicht über das Ende der Platte hinaus\n"
+
+#: fdisk/sfdisk.c:1284
+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"
+
+#: fdisk/sfdisk.c:1302
+#, c-format
+msgid "Warning: partition %s does not start at a cylinder boundary\n"
+msgstr "Warnung: Partition %s beginnt nicht an einer Zylindergrenze\n"
+
+#: fdisk/sfdisk.c:1308
+#, c-format
+msgid "Warning: partition %s does not end at a cylinder boundary\n"
+msgstr "Warnung: Partition %s endet nicht an einer Zylindergrenze\n"
+
+#: fdisk/sfdisk.c:1326
+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"
+
+#: fdisk/sfdisk.c:1333
+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"
+
+#: fdisk/sfdisk.c:1339
+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"
+
+#: fdisk/sfdisk.c:1353
+msgid "start"
+msgstr "Anfang"
+
+#: fdisk/sfdisk.c:1356
+#, 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"
+
+#: fdisk/sfdisk.c:1362
+msgid "end"
+msgstr "Ende"
+
+#: fdisk/sfdisk.c:1365
+#, 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"
+
+#: fdisk/sfdisk.c:1368
+#, 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"
+
+#: fdisk/sfdisk.c:1393
+#, c-format
+msgid ""
+"Warning: shifted start of the extd partition from %ld to %ld\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"
+
+#: fdisk/sfdisk.c:1399
+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"
+
+#: fdisk/sfdisk.c:1417 fdisk/sfdisk.c:1494
+#, c-format
+msgid "too many partitions - ignoring those past nr (%d)\n"
+msgstr "Zu viele Partitionen - ignoriere alle hinter Nr. (%d)\n"
+
+#: fdisk/sfdisk.c:1432
+msgid "tree of partitions?\n"
+msgstr "Partitionsbaum?\n"
+
+#: fdisk/sfdisk.c:1540
+msgid "detected Disk Manager - unable to handle that\n"
+msgstr "Disk Manager erkannt – kann das nicht handhaben\n"
+
+#: fdisk/sfdisk.c:1547
+msgid "DM6 signature found - giving up\n"
+msgstr "DM6-Signatur gefunden – gebe auf\n"
+
+#: fdisk/sfdisk.c:1567
+msgid "strange..., an extended partition of size 0?\n"
+msgstr "merkwürdig… eine erweiterte Partition der Größe 0?\n"
+
+#: fdisk/sfdisk.c:1574 fdisk/sfdisk.c:1585
+msgid "strange..., a BSD partition of size 0?\n"
+msgstr "merkwürdig… eine BSD-Partition der Größe 0?\n"
+
+#: fdisk/sfdisk.c:1619
+#, c-format
+msgid " %s: unrecognized partition table type\n"
+msgstr " %s: nicht erkannte Partitiontabellentyp\n"
+
+#: fdisk/sfdisk.c:1631
+msgid "-n flag was given: Nothing changed\n"
+msgstr "Die Option „-n“ wurde verwendet: Es wurde nichts verändert\n"
+
+#: fdisk/sfdisk.c:1647
+msgid "Failed saving the old sectors - aborting\n"
+msgstr "Speichern der alten Sektoren fehlgeschlagen – Abbruch\n"
+
+#: fdisk/sfdisk.c:1652
+#, c-format
+msgid "Failed writing the partition on %s\n"
+msgstr "Schreiben der Partition auf %s fehlgeschlagen\n"
+
+#: fdisk/sfdisk.c:1729
+msgid "long or incomplete input line - quitting\n"
+msgstr "Lange oder unvollständige Eingabezeilen – beende\n"
+
+#: fdisk/sfdisk.c:1765
+#, c-format
+msgid "input error: `=' expected after %s field\n"
+msgstr "Eingabefehler: „=“ erwartet nach %s-Feld\n"
+
+#: fdisk/sfdisk.c:1772
+#, c-format
+msgid "input error: unexpected character %c after %s field\n"
+msgstr "Eingabefehler: unerwartetes Zeichen %c nach %s-Feld\n"
+
+#: fdisk/sfdisk.c:1778
+#, c-format
+msgid "unrecognized input: %s\n"
+msgstr "nicht erkannte Eingabe: %s\n"
+
+#: fdisk/sfdisk.c:1820
+msgid "number too big\n"
+msgstr "Zahl zu groß\n"
+
+#: fdisk/sfdisk.c:1824
+msgid "trailing junk after number\n"
+msgstr "abschließender Müll hinter Zahl\n"
+
+#: fdisk/sfdisk.c:1948
+msgid "no room for partition descriptor\n"
+msgstr "kein Platz für Partitionsdeskriptor\n"
+
+#: fdisk/sfdisk.c:1981
+msgid "cannot build surrounding extended partition\n"
+msgstr "kann umgebende erweiterte Partition nicht anlegen\n"
+
+#: fdisk/sfdisk.c:2032
+msgid "too many input fields\n"
+msgstr "zu viele Eingabefelder\n"
+
+#: fdisk/sfdisk.c:2066
+msgid "No room for more\n"
+msgstr "Für mehr kein Platz\n"
+
+#: fdisk/sfdisk.c:2085
+msgid "Illegal type\n"
+msgstr "Illegaler Typ\n"
+
+#: fdisk/sfdisk.c:2117
+#, 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"
+
+#: fdisk/sfdisk.c:2123
+msgid "Warning: empty partition\n"
+msgstr "Warnung: leere Partition\n"
+
+#: fdisk/sfdisk.c:2137
+#, c-format
+msgid "Warning: bad partition start (earliest %lu)\n"
+msgstr "Warnung: ungültiger Partitionsanfang (kleinstmöglich %lu)\n"
+
+#: fdisk/sfdisk.c:2150
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr "nicht erkanntes Boofähig-Flag – wählen Sie - oder *\n"
+
+#: fdisk/sfdisk.c:2167 fdisk/sfdisk.c:2180
+msgid "partial c,h,s specification?\n"
+msgstr "partielle c,h,s-Spezifikation?\n"
+
+#: fdisk/sfdisk.c:2191
+msgid "Extended partition not where expected\n"
+msgstr "Erweiterte Partition nicht dort, wo erwartet\n"
+
+#: fdisk/sfdisk.c:2223
+msgid "bad input\n"
+msgstr "ungültige Eingabe\n"
+
+#: fdisk/sfdisk.c:2245
+msgid "too many partitions\n"
+msgstr "Zu viele Partitionen\n"
+
+#: fdisk/sfdisk.c:2278
+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"
+
+#: fdisk/sfdisk.c:2304
+#, c-format
+msgid "Usage: %s [options] device ...\n"
+msgstr "Aufruf: %s [Optionen] gerät …\n"
+
+#: fdisk/sfdisk.c:2305
+msgid "device: something like /dev/hda or /dev/sda"
+msgstr "gerät: etwas wie /dev/hda oder /dev/sda"
+
+#: fdisk/sfdisk.c:2306
+msgid "useful options:"
+msgstr "nützliche Optionen:"
+
+#: fdisk/sfdisk.c:2307
+msgid "    -s [or --show-size]: list size of a partition"
+msgstr "    -s [oder --show-size]: Größe einer Partition anzeigen"
+
+#: fdisk/sfdisk.c:2308
+msgid "    -c [or --id]:        print or change partition Id"
+msgstr "    -c [oder --id]:        Partitions-Id ausgeben oder ändern"
+
+#: fdisk/sfdisk.c:2309
+msgid "    -l [or --list]:      list partitions of each device"
+msgstr "    -l [oder --list]:      Partitionen jedes Geräts auflisten"
+
+#: fdisk/sfdisk.c:2310
+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"
+
+#: fdisk/sfdisk.c:2311
+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"
+
+#: fdisk/sfdisk.c:2312
+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"
+
+#: fdisk/sfdisk.c:2313
+msgid "    -T [or --list-types]:list the known partition types"
+msgstr "    -T [oder --list-types]:bekannte Partitionstypen auflisten"
+
+#: fdisk/sfdisk.c:2314
+msgid "    -D [or --DOS]:       for DOS-compatibility: waste a little space"
+msgstr ""
+"    -D [oder --DOS]:       für DOS-Kompatibilität: ein wenig Platz "
+"verschwenden"
+
+#: fdisk/sfdisk.c:2315
+msgid "    -R [or --re-read]:   make kernel reread partition table"
+msgstr ""
+"-R [oder --re-read]:   den Kernel zum Neueinlesen der Partitionstabelle\n"
+"                         veranlassen"
+
+#: fdisk/sfdisk.c:2316
+msgid "    -N# :                change only the partition with number #"
+msgstr "    -N# :                  nur die Partition Nummer # ändern"
+
+#: fdisk/sfdisk.c:2317
+msgid "    -n :                 do not actually write to disk"
+msgstr "    -n :                   nicht wirklich auf Platte schreiben"
+
+#: fdisk/sfdisk.c:2318
+msgid ""
+"    -O file :            save the sectors that will be overwritten to file"
+msgstr ""
+"    -O datei :             die zu überschreibenden Sektoren in Datei "
+"speichern"
+
+#: fdisk/sfdisk.c:2319
+msgid "    -I file :            restore these sectors again"
+msgstr "    -I datei :             diese Sektoren wieder herstellen"
+
+#: fdisk/sfdisk.c:2320
+msgid "    -v [or --version]:   print version"
+msgstr "    -v [oder --version]:   Version ausgeben"
+
+#: fdisk/sfdisk.c:2321
+msgid "    -? [or --help]:      print this message"
+msgstr "    -? [oder --help]:      diese Meldung ausgeben"
+
+#: fdisk/sfdisk.c:2322
+msgid "dangerous options:"
+msgstr "gefährliche Optionen:"
+
+#: fdisk/sfdisk.c:2323
+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"
+
+#: fdisk/sfdisk.c:2324
+msgid ""
+"    -G [or --show-pt-geometry]: print geometry guessed from the partition "
+"table"
+msgstr ""
+"    -G [oder --show-pt-geometry]: aus der Partitionstabelle geratene "
+"Geometrie\n"
+"                                    ausgeben"
+
+#: fdisk/sfdisk.c:2325
+msgid ""
+"    -x [or --show-extended]: also list extended partitions on output\n"
+"                             or expect descriptors for them on input"
+msgstr ""
+"    -x [oder --show-extended]: auch die erweiterten Partitionen mit "
+"auflisten\n"
+"                               bzw. bei Eingabe Deskriptoren für sie erwarten"
+
+#: fdisk/sfdisk.c:2327
+msgid ""
+"    -L  [or --Linux]:      do not complain about things irrelevant for Linux"
+msgstr ""
+"    -L  [oder --Linux]:        nicht über für Linux irrelevante Dinge "
+"beschweren"
+
+#: fdisk/sfdisk.c:2328
+msgid "    -q  [or --quiet]:      suppress warning messages"
+msgstr "    -q  [oder --quiet]:        Warnmeldungen unterdrücken"
+
+#: fdisk/sfdisk.c:2329
+msgid "    You can override the detected geometry using:"
+msgstr "    Sie können die erkannte Geometrie überstimmen:"
+
+#: fdisk/sfdisk.c:2330
+msgid "    -C# [or --cylinders #]:set the number of cylinders to use"
+msgstr "    -C# [oder --cylinders #]:  Zahl der Zylinder setzen"
+
+#: fdisk/sfdisk.c:2331
+msgid "    -H# [or --heads #]:    set the number of heads to use"
+msgstr "    -H# [oder --heads #]:      Zahl der Köpfe setzen"
+
+#: fdisk/sfdisk.c:2332
+msgid "    -S# [or --sectors #]:  set the number of sectors to use"
+msgstr "    -S# [oder --sectors #]:    Zahl der Sektoren setzen"
+
+#: fdisk/sfdisk.c:2333
+msgid "You can disable all consistency checking with:"
+msgstr "Sie können jegliche Konsistenzprüfungen abschalten mit:"
+
+#: fdisk/sfdisk.c:2334
+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"
+
+#: fdisk/sfdisk.c:2340
+msgid "Usage:"
+msgstr "Aufruf:"
+
+#: fdisk/sfdisk.c:2341
+#, 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"
+
+#: fdisk/sfdisk.c:2342
+#, 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"
+
+#: fdisk/sfdisk.c:2343
+#, 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"
+
+#: fdisk/sfdisk.c:2463
+#, 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 ""
+
+#: fdisk/sfdisk.c:2466
+#, 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"
+
+#: fdisk/sfdisk.c:2505
+msgid "no command?\n"
+msgstr "kein Befehl?\n"
+
+#: fdisk/sfdisk.c:2637
+#, c-format
+msgid "total: %llu blocks\n"
+msgstr "zusammen: %llu Blöcke\n"
+
+#: fdisk/sfdisk.c:2680
+msgid "usage: sfdisk --print-id device partition-number\n"
+msgstr "Aufruf: sfdisk --print-id Gerät Partitionsnummer\n"
+
+#: fdisk/sfdisk.c:2682
+msgid "usage: sfdisk --change-id device partition-number Id\n"
+msgstr "Aufruf: sfdisk --change-id Gerät Partitionsnummer Id\n"
+
+#: fdisk/sfdisk.c:2684
+msgid "usage: sfdisk --id device partition-number [Id]\n"
+msgstr "Aufruf: sfdisk --id Gerät Partitionsnummer [Id]\n"
+
+#: fdisk/sfdisk.c:2691
+msgid "can specify only one device (except with -l or -s)\n"
+msgstr "Man kann nur ein Gerät angeben (außer mit -l oder -s)\n"
+
+#: fdisk/sfdisk.c:2717
+#, c-format
+msgid "cannot open %s read-write\n"
+msgstr "Konnte %s nicht zum Lesen/Schreiben öffnen\n"
+
+#: fdisk/sfdisk.c:2719
+#, c-format
+msgid "cannot open %s for reading\n"
+msgstr "Konnte %s nicht zum Lesen öffnen\n"
+
+#: fdisk/sfdisk.c:2744
+#, c-format
+msgid "%s: OK\n"
+msgstr "%s: OK\n"
+
+# And again one for show_geometry()…
+#: fdisk/sfdisk.c:2763 fdisk/sfdisk.c:2796
+#, c-format
+msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+msgstr "%s: %ld Zylinder, %ld Köpfe, %ld Sektoren/Spur\n"
+
+#: fdisk/sfdisk.c:2815
+#, c-format
+msgid "Cannot get size of %s\n"
+msgstr "Kann die Größe von %s nicht feststellen\n"
+
+#: fdisk/sfdisk.c:2895
+#, c-format
+msgid "bad active byte: 0x%x instead of 0x80\n"
+msgstr "ungültiges Aktiv-Byte: 0x%x anstelle von 0x80\n"
+
+#: fdisk/sfdisk.c:2913 fdisk/sfdisk.c:2968 fdisk/sfdisk.c:3001
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+"Fertig\n"
+"\n"
+
+#: fdisk/sfdisk.c:2922
+#, 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"
+
+#: fdisk/sfdisk.c:2938
+#, c-format
+msgid "partition %s has id %x and is not hidden\n"
+msgstr "Partition %s hat ID %x und ist nicht versteckt\n"
+
+#: fdisk/sfdisk.c:2997
+#, c-format
+msgid "Bad Id %lx\n"
+msgstr "Ungültige ID %lx\n"
+
+#: fdisk/sfdisk.c:3014
+msgid "This disk is currently in use.\n"
+msgstr "Diese Platte ist momentan in Benutzung.\n"
+
+# This is a stat()
+#: fdisk/sfdisk.c:3033
+#, c-format
+msgid "Fatal error: cannot find %s\n"
+msgstr "Schwerwiegender Fehler: kann %s nicht finden\n"
+
+#: fdisk/sfdisk.c:3036
+#, c-format
+msgid "Warning: %s is not a block device\n"
+msgstr "Warnung: %s ist kein blockorientiertes Gerät\n"
+
+#: fdisk/sfdisk.c:3042
+msgid "Checking that no-one is using this disk right now ...\n"
+msgstr "Überprüfe, dass niemand diese Festplatte zur Zeit benutzt …\n"
+
+#: fdisk/sfdisk.c:3044
+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"
+
+#: fdisk/sfdisk.c:3048
+msgid "Use the --force flag to overrule all checks.\n"
+msgstr ""
+"Benutzen Sie die Optioen --force, um alle Überprüfungen zu unterbinden.\n"
+
+#: fdisk/sfdisk.c:3052
+msgid "OK\n"
+msgstr "OK\n"
+
+#: fdisk/sfdisk.c:3061
+#, c-format
+msgid "Old situation:\n"
+msgstr "Alte Aufteilung:\n"
+
+#: fdisk/sfdisk.c:3065
+#, c-format
+msgid "Partition %d does not exist, cannot change it\n"
+msgstr "Partition %d existiert nicht, kann sie nicht ändern\n"
+
+#: fdisk/sfdisk.c:3073
+#, c-format
+msgid "New situation:\n"
+msgstr "Neue Aufteilung:\n"
+
+#: fdisk/sfdisk.c:3078
+msgid ""
+"I don't like these partitions - nothing changed.\n"
+"(If you really want this, use the --force option.)\n"
+msgstr ""
+"Mir gefallen diese Partitionen nicht – nichts geändert.\n"
+"(Wenn Sie das wirklich wollen, benutzen Sie die Option --force.)\n"
+
+#: fdisk/sfdisk.c:3081
+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"
+
+#: fdisk/sfdisk.c:3086
+#, c-format
+msgid "Are you satisfied with this? [ynq] "
+msgstr "Sind Sie damit zufrieden? [y – ja, n – nein, q – aufhören] "
+
+#: fdisk/sfdisk.c:3088
+#, 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] "
+
+#: fdisk/sfdisk.c:3093
+#, c-format
+msgid ""
+"\n"
+"sfdisk: premature end of input\n"
+msgstr ""
+"\n"
+"sfdisk: vorzeitiges Ende der Eingabe\n"
+
+#: fdisk/sfdisk.c:3095
+msgid "Quitting - nothing changed\n"
+msgstr "Höre auf – nichts geändert\n"
+
+#: fdisk/sfdisk.c:3101
+#, c-format
+msgid "Please answer one of y,n,q\n"
+msgstr "Bitte antworten Sie mit y, n oder q\n"
+
+#: fdisk/sfdisk.c:3109
+#, c-format
+msgid ""
+"Successfully wrote the new partition table\n"
+"\n"
+msgstr ""
+"Die neue Partitionstabelle wurde erfolgreich geschrieben\n"
+"\n"
+
+#: fdisk/sfdisk.c:3115
+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"
+
+#: fsck/fsck.c:327
+#, fuzzy, c-format
+msgid "WARNING: couldn't open %s: %s\n"
+msgstr "%s: Konnte %s nicht öffnen: %s\n"
+
+#: fsck/fsck.c:337
+#, c-format
+msgid "WARNING: bad format on line %d of %s\n"
+msgstr ""
+
+#: fsck/fsck.c:353
+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 ""
+
+#: fsck/fsck.c:461
+#, fuzzy, c-format
+msgid "fsck: %s: not found\n"
+msgstr "umount: %s: Nicht gefunden"
+
+#: fsck/fsck.c:577
+#, c-format
+msgid "%s: wait: No more child process?!?\n"
+msgstr ""
+
+#: fsck/fsck.c:599
+#, c-format
+msgid "Warning... %s for device %s exited with signal %d.\n"
+msgstr ""
+
+#: fsck/fsck.c:605
+#, c-format
+msgid "%s %s: status is %x, should never happen.\n"
+msgstr ""
+
+#: fsck/fsck.c:644
+#, c-format
+msgid "Finished with %s (exit status %d)\n"
+msgstr ""
+
+#: fsck/fsck.c:704
+#, fuzzy, c-format
+msgid "%s: Error %d while executing fsck.%s for %s\n"
+msgstr "%s: Fehler %d beim Entpacken! %p(%d)\n"
+
+#: fsck/fsck.c:725
+msgid ""
+"Either all or none of the filesystem types passed to -t must be prefixed\n"
+"with 'no' or '!'.\n"
+msgstr ""
+
+#: fsck/fsck.c:744
+#, fuzzy
+msgid "Couldn't allocate memory for filesystem types\n"
+msgstr "mount: Sie müssen den Dateisystemtyp angeben"
+
+#: fsck/fsck.c:867
+#, c-format
+msgid ""
+"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass "
+"number\n"
+msgstr ""
+
+#: fsck/fsck.c:894
+#, c-format
+msgid "fsck: cannot check %s: fsck.%s not found\n"
+msgstr ""
+
+#: fsck/fsck.c:950
+#, fuzzy
+msgid "Checking all file systems.\n"
+msgstr "Überprüfung des Dateisystem auf %s erzwungen.\n"
+
+#: fsck/fsck.c:1041
+#, c-format
+msgid "--waiting-- (pass %d)\n"
+msgstr ""
+
+#: fsck/fsck.c:1061
+#, 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"
+
+#: fsck/fsck.c:1099
+#, fuzzy, c-format
+msgid "%s: too many devices\n"
+msgstr "%s: %s ist kein lp-Gerät.\n"
+
+#: fsck/fsck.c:1110
+#, fuzzy, c-format
+msgid "Couldn't open %s: %s\n"
+msgstr "Konnte %s nicht öffnen: %s\n"
+
+#: fsck/fsck.c:1112
+#, fuzzy, c-format
+msgid "Is /proc mounted?\n"
+msgstr "%s ausgehängt\n"
+
+#: fsck/fsck.c:1121
+#, c-format
+msgid "Must be root to scan for matching filesystems: %s\n"
+msgstr ""
+
+#: fsck/fsck.c:1124
+#, fuzzy, c-format
+msgid "Couldn't find matching filesystem: %s\n"
+msgstr "Aushängen aller restlichen Dateisysteme…"
+
+#: fsck/fsck.c:1132 fsck/fsck.c:1218
+#, fuzzy, c-format
+msgid "%s: too many arguments\n"
+msgstr "%s: Unbekanntes Argument: %s\n"
+
+# "mkfs aus util-linux-2.10d"
+# "mkfs von util-linux-2.10d"
+#: fsck/fsck.c:1252
+#, fuzzy, c-format
+msgid "fsck from %s\n"
+msgstr "%s von %s\n"
+
+#: fsck/fsck.c:1264
+#, fuzzy, c-format
+msgid "%s: Unable to allocate memory for fsck_path\n"
+msgstr "Kein Speicherplatz für „inodes“ verfügbar"
+
+#: getopt/getopt.c:229
+msgid "Try `getopt --help' for more information.\n"
+msgstr "„getopt --help“ gibt weitere Informationen.\n"
+
+#: getopt/getopt.c:295
+msgid "empty long option after -l or --long argument"
+msgstr "leere lange Option nach -l oder --long"
+
+#: getopt/getopt.c:315
+msgid "unknown shell after -s or --shell argument"
+msgstr "Unbekannte Shell als Argument von -s oder --shell"
+
+#: getopt/getopt.c:320
+msgid "Usage: getopt optstring parameters\n"
+msgstr "Aufruf: getopt Optionszeichenkette Parameter\n"
+
+#: getopt/getopt.c:321
+msgid "       getopt [options] [--] optstring parameters\n"
+msgstr "        getopt [Optionen] [--] Optionszeichenkette Parameter\n"
+
+#: getopt/getopt.c:322
+msgid "       getopt [options] -o|--options optstring [options] [--]\n"
+msgstr ""
+"        getopt [Optionen] -o|--options Optionszeichenkette [Optionen] [--]\n"
+
+#: getopt/getopt.c:323
+msgid "              parameters\n"
+msgstr "               Parameter\n"
+
+#: getopt/getopt.c:324
+msgid ""
+"  -a, --alternative            Allow long options starting with single -\n"
+msgstr ""
+"  -a, --alternative          lange Optionen dürfen auch mit einfachem - "
+"beginnen\n"
+
+#: getopt/getopt.c:325
+msgid "  -h, --help                   This small usage guide\n"
+msgstr "  -h, --help                 dieser kleine Hilfe\n"
+
+#: getopt/getopt.c:326
+msgid "  -l, --longoptions=longopts   Long options to be recognized\n"
+msgstr "  -l, --longoptions=lopt     zu erkennende lange Optionen\n"
+
+#: getopt/getopt.c:327
+msgid ""
+"  -n, --name=progname          The name under which errors are reported\n"
+msgstr ""
+"  -n, --name=progname        der Name, der in Fehlermeldungen benutzt wird\n"
+
+#: getopt/getopt.c:328
+msgid "  -o, --options=optstring      Short options to be recognized\n"
+msgstr "  -o, --options=OptZKette    zu erkennende kurze Optionen\n"
+
+#: getopt/getopt.c:329
+msgid "  -q, --quiet                  Disable error reporting by getopt(3)\n"
+msgstr ""
+"  -q, --quiet                Fehlermeldungen von getopt(3) unterdrücken\n"
+
+#: getopt/getopt.c:330
+msgid "  -Q, --quiet-output           No normal output\n"
+msgstr "  -Q, --quiet-output         keine normale Ausgabe\n"
+
+#: getopt/getopt.c:331
+msgid "  -s, --shell=shell            Set shell quoting conventions\n"
+msgstr "  -s, --shell=Shell          Konventionen für Shell-Quoting setzen\n"
+
+#: getopt/getopt.c:332
+msgid "  -T, --test                   Test for getopt(1) version\n"
+msgstr "  -T, --test                 auf getopt(1)-Version testen\n"
+
+#: getopt/getopt.c:333
+msgid "  -u, --unqote                 Do not quote the output\n"
+msgstr "  -u, --unquote              die Ausgabe nicht quoten\n"
+
+#: getopt/getopt.c:334
+msgid "  -V, --version                Output version information\n"
+msgstr "  -V, --version              Versionsinformation ausgeben\n"
+
+#: getopt/getopt.c:388 getopt/getopt.c:447
+msgid "missing optstring argument"
+msgstr "fehlendes Optionszeichenkettenargument"
+
+#: getopt/getopt.c:435
+#, c-format
+msgid "getopt (enhanced) 1.1.4\n"
+msgstr "getopt (enhanced) 1.1.4\n"
+
+#: getopt/getopt.c:441
+msgid "internal error, contact the author."
+msgstr "Interner Fehler, kontaktieren Sie den Autor."
+
+#: hwclock/cmos.c:176
+#, c-format
+msgid "booted from MILO\n"
+msgstr "von MILO gebootet\n"
+
+#: hwclock/cmos.c:185
+#, c-format
+msgid "Ruffian BCD clock\n"
+msgstr "Bösartige BCD-Uhr\n"
+
+# Egger
+#: hwclock/cmos.c:201
+#, c-format
+msgid "clockport adjusted to 0x%x\n"
+msgstr "Uhrport auf 0x%x gestellt\n"
+
+# debug
+#: hwclock/cmos.c:213
+#, c-format
+msgid "funky TOY!\n"
+msgstr "„funky TOY“!\n"
+
+# The second %s can be:
+# "clock read"
+# "set time"
+#: hwclock/cmos.c:244
+#, c-format
+msgid "%s: atomic %s failed for 1000 iterations!"
+msgstr "%s: atomares „%s“ schlug bei 1000 Iterationen fehl!"
+
+#: hwclock/cmos.c:273
+#, c-format
+msgid "cmos_read(): write to control address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:276
+#, c-format
+msgid "cmos_read(): read data address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:307
+#, c-format
+msgid "cmos_write(): write to control address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:311
+#, c-format
+msgid "cmos_write(): write to data address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:574
+#, c-format
+msgid "Cannot open /dev/port: %s"
+msgstr "Konnte /dev/port nicht öffnen: %s"
+
+# Egger, not really nice
+#: hwclock/cmos.c:581
+#, c-format
+msgid "I failed to get permission because I didn't try.\n"
+msgstr "Ich bekam keine Erlaubnis, weil ich es nicht versucht habe.\n"
+
+# Egger
+#: hwclock/cmos.c:584
+#, c-format
+msgid "%s is unable to get I/O port access:  the iopl(3) call failed.\n"
+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.
+#: hwclock/cmos.c:587
+#, c-format
+msgid "Probably you need root privileges.\n"
+msgstr "Sie benötigen root-Rechte.\n"
+
+# debug
+#: hwclock/hwclock.c:231
+#, c-format
+msgid "Assuming hardware clock is kept in %s time.\n"
+msgstr "Die Hardwareuhr läuft vermutlich in %s.\n"
+
+#: hwclock/hwclock.c:232 hwclock/hwclock.c:327
+msgid "UTC"
+msgstr "UTC"
+
+#: hwclock/hwclock.c:232 hwclock/hwclock.c:326
+msgid "local"
+msgstr "lokaler Zeit"
+
+# merge with next
+#: hwclock/hwclock.c:312
+#, c-format
+msgid "%s: Warning: unrecognized third line in adjtime file\n"
+msgstr "%s: Warnung: Unbekannte dritte Zeile in der adjtime-Datei\n"
+
+#: hwclock/hwclock.c:314
+#, c-format
+msgid "(Expected: `UTC' or `LOCAL' or nothing.)\n"
+msgstr "(Erwartet: „UTC“ oder „LOCAL“ oder nichts.)\n"
+
+# XXX
+#: hwclock/hwclock.c:321
+#, c-format
+msgid "Last drift adjustment done at %ld seconds after 1969\n"
+msgstr "Letzte Abweichungskorrektur vorgenommen bei %ld Sekunden nach 1969\n"
+
+# XXX
+#: hwclock/hwclock.c:323
+#, c-format
+msgid "Last calibration done at %ld seconds after 1969\n"
+msgstr "Letzte Kalibrierung vorgenommen bei %ld Sekunden nach 1969\n"
+
+#: hwclock/hwclock.c:325
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr "Hardwareuhr geht nach %s Zeit\n"
+
+#: hwclock/hwclock.c:327
+msgid "unknown"
+msgstr "unbekannter"
+
+# 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
+#: hwclock/hwclock.c:351
+#, c-format
+msgid "Waiting for clock tick...\n"
+msgstr "Warte auf Uhrtick…\n"
+
+#: hwclock/hwclock.c:357
+#, c-format
+msgid "...synchronization failed\n"
+msgstr ""
+
+# Egger
+#: hwclock/hwclock.c:359
+#, c-format
+msgid "...got clock tick\n"
+msgstr "… erhielt Uhrtick\n"
+
+#: hwclock/hwclock.c:413
+#, 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"
+
+#: hwclock/hwclock.c:421
+#, 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
+#: hwclock/hwclock.c:451
+#, 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"
+
+#: hwclock/hwclock.c:480
+#, 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"
+
+#: hwclock/hwclock.c:486
+#, c-format
+msgid "Clock not changed - testing only.\n"
+msgstr "Die Uhrzeit der Hardwareuhr wurde nicht verstellt – Testmodus.\n"
+
+#: hwclock/hwclock.c:536
+#, 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.
+#: hwclock/hwclock.c:572
+#, c-format
+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).\n"
+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"
+
+#: hwclock/hwclock.c:582
+#, c-format
+msgid "%s  %.6f seconds\n"
+msgstr "%s  %.6f Sekunden\n"
+
+#: hwclock/hwclock.c:616
+#, c-format
+msgid "No --date option specified.\n"
+msgstr "Es wurde keine „--date“-Option angegeben.\n"
+
+#: hwclock/hwclock.c:622
+#, c-format
+msgid "--date argument too long\n"
+msgstr "--date-Argument zu lang\n"
+
+# The english version is already a little misleading.
+#: hwclock/hwclock.c:629
+#, c-format
+msgid ""
+"The value of the --date option is not a valid date.\n"
+"In particular, it contains quotation marks.\n"
+msgstr ""
+"Der Wert der „--date“-Option ist kein gültiges Datum.\n"
+"Es darf kein Anführungszeichen enthalten.\n"
+
+#: hwclock/hwclock.c:637
+#, c-format
+msgid "Issuing date command: %s\n"
+msgstr "Der „date“-Befehl wird aufgerufen: %s\n"
+
+#: hwclock/hwclock.c:641
+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"
+
+#: hwclock/hwclock.c:649
+#, c-format
+msgid "response from date command = %s\n"
+msgstr "Ausgabe des „date“-Befehls: %s\n"
+
+#: hwclock/hwclock.c:651
+#, c-format
+msgid ""
+"The date command issued by %s returned unexpected results.\n"
+"The command was:\n"
+"  %s\n"
+"The response was:\n"
+"  %s\n"
+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"
+
+#: hwclock/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
+#: hwclock/hwclock.c:674
+#, c-format
+msgid "date string %s equates to %ld seconds since 1969.\n"
+msgstr "Die Zeichenkette %s entspricht %ld Sekunden seit 1969.\n"
+
+#: hwclock/hwclock.c:706
+#, c-format
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot set the "
+"System Time from it.\n"
+msgstr ""
+"Die Hardwareuhr enthält eine ungültige Zeitangabe; aus diesem Grund ist\n"
+"es nicht möglich, die Systemzeit zu setzen.\n"
+
+# debug
+#: hwclock/hwclock.c:728 hwclock/hwclock.c:805
+#, c-format
+msgid "Calling settimeofday:\n"
+msgstr "settimeofday() wird aufgerufen:\n"
+
+# not much to translate
+# debug
+#: hwclock/hwclock.c:729 hwclock/hwclock.c:807
+#, 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
+#: hwclock/hwclock.c:731 hwclock/hwclock.c:809
+#, c-format
+msgid "\ttz.tz_minuteswest = %d\n"
+msgstr "\ttz.tz_minuteswest = %d\n"
+
+#: hwclock/hwclock.c:734 hwclock/hwclock.c:812
+#, c-format
+msgid "Not setting system clock because running in test mode.\n"
+msgstr "Keine Änderung an der Systemuhr vorgenommen – Testmodus.\n"
+
+#: hwclock/hwclock.c:743 hwclock/hwclock.c:821
+#, c-format
+msgid "Must be superuser to set system clock.\n"
+msgstr "Sie müssen root sein, um die Systemuhr zu verändern.\n"
+
+#: hwclock/hwclock.c:746 hwclock/hwclock.c:824
+msgid "settimeofday() failed"
+msgstr "settimeofday() schlug fehl"
+
+#: hwclock/hwclock.c:782
+#, fuzzy, c-format
+msgid "Current system time: %ld = %s\n"
+msgstr "System-Zeit lesen"
+
+#: hwclock/hwclock.c:806
+#, c-format
+msgid "\tUTC: %s\n"
+msgstr ""
+
+#: hwclock/hwclock.c:853
+#, 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"
+
+#: hwclock/hwclock.c:858
+#, 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"
+
+#: hwclock/hwclock.c:864
+#, 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
+#: hwclock/hwclock.c:912
+#, 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
+#: hwclock/hwclock.c:962
+#, c-format
+msgid "Time since last adjustment is %d seconds\n"
+msgstr "Es vergingen %d Sekunden seit der letzten Anpassung.\n"
+
+# Egger
+#: hwclock/hwclock.c:964
+#, 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
+#: hwclock/hwclock.c:993
+#, 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
+#: hwclock/hwclock.c:994
+#, c-format
+msgid ""
+"Would have written the following to %s:\n"
+"%s"
+msgstr ""
+"Folgendes wäre in die Datei %s geschrieben worden:\n"
+"%s"
+
+#: hwclock/hwclock.c:1002
+#, c-format
+msgid ""
+"Could not open file with the clock adjustment parameters in it (%s) for "
+"writing"
+msgstr ""
+
+#: hwclock/hwclock.c:1007 hwclock/hwclock.c:1012
+#, c-format
+msgid "Could not update file with the clock adjustment parameters (%s) in it"
+msgstr ""
+
+# "Abweichungsparameter"
+#: hwclock/hwclock.c:1018
+#, c-format
+msgid "Drift adjustment parameters not updated.\n"
+msgstr "Die Abweichungsparameter wurden nicht verändert.\n"
+
+# "anpassen"
+#: hwclock/hwclock.c:1059
+#, c-format
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot adjust it.\n"
+msgstr ""
+"Die Hardwareuhr enthält keine gültige Zeit, deshalb kann sie nicht angepasst "
+"werden.\n"
+
+#: hwclock/hwclock.c:1067
+#, 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"
+#: hwclock/hwclock.c:1090
+#, 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"
+
+#: hwclock/hwclock.c:1116
+#, c-format
+msgid "Using %s.\n"
+msgstr "Benutze %s.\n"
+
+# "Schnittstelle"
+#: hwclock/hwclock.c:1118
+#, c-format
+msgid "No usable clock interface found.\n"
+msgstr "Keine brauchbare Uhrschnittstelle gefunden.\n"
+
+# "stellen"
+#: hwclock/hwclock.c:1222 hwclock/hwclock.c:1228
+#, c-format
+msgid "Unable to set system clock.\n"
+msgstr "Konnte die Systemuhr nicht stellen.\n"
+
+#: hwclock/hwclock.c:1258
+#, c-format
+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.\n"
+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
+#: hwclock/hwclock.c:1267
+#, c-format
+msgid "Unable to get the epoch value from the kernel.\n"
+msgstr "Kann den Epochenwert nicht vom Kernel bekommen.\n"
+
+# Egger
+# "Epochenwert"
+#: hwclock/hwclock.c:1269
+#, c-format
+msgid "Kernel is assuming an epoch value of %lu\n"
+msgstr "Kernel geht von einem Epochenwert von %lu aus.\n"
+
+#: hwclock/hwclock.c:1272
+#, c-format
+msgid ""
+"To set the epoch value, you must use the 'epoch' option to tell to what "
+"value to set it.\n"
+msgstr ""
+"Um den Epochenwert zu ändern, müssen sie die „epoch“-Option benutzen, um "
+"anzugeben auf welchen Wert er gesetzt werden soll.\n"
+
+#: hwclock/hwclock.c:1275
+#, c-format
+msgid "Not setting the epoch to %d - testing only.\n"
+msgstr "Der Epochenwert wird nicht auf %d gesetzt – Testmodus.\n"
+
+# Egger
+#: hwclock/hwclock.c:1278
+#, c-format
+msgid "Unable to set the epoch value in the kernel.\n"
+msgstr "Kann den Epochenwert im Kernel nicht ändern.\n"
+
+# "mkfs aus util-linux-2.10d"
+# "mkfs von util-linux-2.10d"
+#: hwclock/hwclock.c:1291 misc-utils/cal.c:345 misc-utils/kill.c:189
+#, c-format
+msgid "%s from %s\n"
+msgstr "%s von %s\n"
+
+# "Universalzeit"
+#: hwclock/hwclock.c:1312
+#, fuzzy, c-format
+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"
+"  -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"
+
+#: hwclock/hwclock.c:1347
+#, fuzzy, c-format
+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"
+#: hwclock/hwclock.c:1434
+#, fuzzy, c-format
+msgid "%s: Unable to connect to audit system\n"
+msgstr "Konnte die Systemuhr nicht stellen.\n"
+
+#: hwclock/hwclock.c:1552
+#, c-format
+msgid "%s takes no non-option arguments.  You supplied %d.\n"
+msgstr "%s nimmt keine Nicht-Options-Argumente. Sie gaben %d.\n"
+
+#: hwclock/hwclock.c:1559
+#, c-format
+msgid ""
+"You have specified multiple functions.\n"
+"You can only perform one function at a time.\n"
+msgstr ""
+"Sie haben mehrere Funktionen angefordert.\n"
+"Sie können immer nur eine Funktion gleichzeitig ausführen.\n"
+
+#: hwclock/hwclock.c:1566
+#, c-format
+msgid ""
+"%s: The --utc and --localtime options are mutually exclusive.  You specified "
+"both.\n"
+msgstr ""
+"%s: Die Optionen --utc und --localtime schließen sich aus. Sie gaben beide "
+"an.\n"
+
+#: hwclock/hwclock.c:1573
+#, c-format
+msgid ""
+"%s: The --adjust and --noadjfile options are mutually exclusive.  You "
+"specified both.\n"
+msgstr ""
+"%s: Die Optionen --adjust und --noadjfile schließen sich aus. Sie gaben "
+"beide an.\n"
+
+#: hwclock/hwclock.c:1580
+#, fuzzy, c-format
+msgid ""
+"%s: The --adjfile and --noadjfile options are mutually exclusive.  You "
+"specified both.\n"
+msgstr ""
+"%s: Die Optionen --adjust und --noadjfile schließen sich aus. Sie gaben "
+"beide an.\n"
+
+#: hwclock/hwclock.c:1589
+#, c-format
+msgid "%s: With --noadjfile, you must specify either --utc or --localtime\n"
+msgstr ""
+"%s: Ohne --noadjfile müssen Sie entweder --utc oder --localtime angeben.\n"
+
+#: hwclock/hwclock.c:1603
+#, c-format
+msgid "No usable set-to time.  Cannot set clock.\n"
+msgstr "Keine brauchbare Zeitangabe. Kann Uhr nicht stellen.\n"
+
+#: hwclock/hwclock.c:1620
+#, c-format
+msgid "Sorry, only the superuser can change the Hardware Clock.\n"
+msgstr "Sie müssen root sein, um die Hardwareuhr zu ändern.\n"
+
+#: hwclock/hwclock.c:1625
+#, c-format
+msgid "Sorry, only the superuser can change the System Clock.\n"
+msgstr "Sie müssen root sein, um die Systemuhr zu ändern.\n"
+
+#: hwclock/hwclock.c:1630
+#, c-format
+msgid ""
+"Sorry, only the superuser can change the Hardware Clock epoch in the "
+"kernel.\n"
+msgstr "Sie müssen root sein, um den „epoch“-Wert zu ändern.\n"
+
+#: hwclock/hwclock.c:1651
+#, c-format
+msgid "Cannot access the Hardware Clock via any known method.\n"
+msgstr ""
+"Es wurde keine Zugriffsart gefunden, mit der auf die Hardwareuhr zugegriffen "
+"werden konnte.\n"
+
+#: hwclock/hwclock.c:1655
+#, c-format
+msgid ""
+"Use the --debug option to see the details of our search for an access "
+"method.\n"
+msgstr ""
+"Benutzen Sie die „--debug“-Option um die versuchten Zugriffsarten "
+"anzuzeigen.\n"
+
+# debug
+#: hwclock/kd.c:53
+#, c-format
+msgid "Waiting in loop for time from KDGHWCLK to change\n"
+msgstr "Warte in Schleife auf Änderung der Zeit von KDGHWCLK\n"
+
+#: hwclock/kd.c:56
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr "KDGHWCLK-Ioctl scheiterte beim Auslesen der Zeit."
+
+#: hwclock/kd.c:77 hwclock/rtc.c:221
+#, c-format
+msgid "Timed out waiting for time change.\n"
+msgstr "Zeitüberschreitung beim Warten auf Zeitänderung.\n"
+
+#: hwclock/kd.c:81
+msgid "KDGHWCLK ioctl to read time failed in loop"
+msgstr "KDGHWCLK-Ioctl scheiterte in Schleife beim Auslesen der Zeit."
+
+#: hwclock/kd.c:103
+#, c-format
+msgid "ioctl() failed to read time from %s"
+msgstr "ioctl() konnte Zeit nicht von %s lesen."
+
+#: hwclock/kd.c:139
+msgid "ioctl KDSHWCLK failed"
+msgstr "Ioctl KDSHWCLK fehlgeschlagen"
+
+#: hwclock/kd.c:175
+msgid "Can't open /dev/tty1 or /dev/vc/1"
+msgstr "Konnte /dev/tty1 oder /dev/vc/1 nicht öffnen"
+
+#: hwclock/kd.c:179
+msgid "KDGHWCLK ioctl failed"
+msgstr "KDGHWCLK-Ioctl fehlgeschlagen"
+
+#: hwclock/rtc.c:147 hwclock/rtc.c:241
+#, c-format
+msgid "open() of %s failed"
+msgstr "Konnte %s nicht öffnen"
+
+#: hwclock/rtc.c:181
+#, c-format
+msgid "ioctl() to %s to read the time failed.\n"
+msgstr "ioctl() auf %s, um die Zeit zu lesen, fehlgeschlagen.\n"
+
+#: hwclock/rtc.c:203
+#, c-format
+msgid "Waiting in loop for time from %s to change\n"
+msgstr "Warte in Schleife auf Änderung der Zeit aus %s\n"
+
+#: hwclock/rtc.c:259
+#, c-format
+msgid "%s does not have interrupt functions. "
+msgstr "%s hat keine Interrupt-Funktionen. "
+
+#: hwclock/rtc.c:270
+#, c-format
+msgid "read() to %s to wait for clock tick failed"
+msgstr "read() auf %s, um auf Zeittick zu warten, fehlgeschlagen."
+
+#: hwclock/rtc.c:288
+#, c-format
+msgid "select() to %s to wait for clock tick failed"
+msgstr "select() auf %s, um auf Zeittick zu warten, fehlgeschlagen."
+
+#: hwclock/rtc.c:291
+#, c-format
+msgid "select() to %s to wait for clock tick timed out\n"
+msgstr "select() auf %s, um auf Zeittick zu warten, Zeit abgelaufen.\n"
+
+#: hwclock/rtc.c:300
+#, c-format
+msgid "ioctl() to %s to turn off update interrupts failed"
+msgstr "ioctl() auf %s, um Update-Interrupts abzuschalten, fehlgeschlagen."
+
+#: hwclock/rtc.c:303
+#, c-format
+msgid "ioctl() to %s to turn on update interrupts failed unexpectedly"
+msgstr "ioctl() auf %s, um Update-Interrupts einzuschalten, fehlgeschlagen."
+
+#: hwclock/rtc.c:360
+#, c-format
+msgid "ioctl() to %s to set the time failed.\n"
+msgstr "ioctl() auf %s, um die Zeit zu setzen, fehlgeschlagen.\n"
+
+# debug
+#: hwclock/rtc.c:366
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr "„ioctl(%s)“ war erfolgreich.\n"
+
+#: hwclock/rtc.c:392
+#, c-format
+msgid "Open of %s failed"
+msgstr "Konnte %s nicht öffnen"
+
+#: hwclock/rtc.c:410 hwclock/rtc.c:454
+#, 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.\n"
+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"
+
+#: hwclock/rtc.c:415 hwclock/rtc.c:459
+#, c-format
+msgid "Unable to open %s"
+msgstr "Konnte %s nicht öffnen"
+
+#: hwclock/rtc.c:422
+#, c-format
+msgid "ioctl(RTC_EPOCH_READ) to %s failed"
+msgstr "ioctl(RTC_EPOCH_READ) auf %s fehlgeschlagen"
+
+#: hwclock/rtc.c:427
+#, 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"
+
+#: hwclock/rtc.c:446
+#, c-format
+msgid "The epoch value may not be less than 1900.  You requested %ld\n"
+msgstr ""
+"Der Epochenwert darf nicht kleiner als 1900 sein. Sie forderten %ld an.\n"
+
+#: hwclock/rtc.c:464
+#, 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"
+
+#: hwclock/rtc.c:469
+#, c-format
+msgid ""
+"The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl.\n"
+msgstr "Der Kernel-Gerätetreiber für %s hat keinen RTC_EPOCH_SET-Ioctl.\n"
+
+#: hwclock/rtc.c:472
+#, c-format
+msgid "ioctl(RTC_EPOCH_SET) to %s failed"
+msgstr "ioctl(RTC_EPOCH_SET) auf %s fehlt"
+
+#: login-utils/agetty.c:361
+#, c-format
+msgid "%s: can't exec %s: %m"
+msgstr "%s: Fehler beim Ausführen von %s: %m"
+
+#: login-utils/agetty.c:384
+msgid "can't malloc initstring"
+msgstr "Konnte keinen Speicher für den „initstring“ reservieren"
+
+#: login-utils/agetty.c:449
+#, c-format
+msgid "bad timeout value: %s"
+msgstr "ungültiger Auszeit-Wert: %s"
+
+#: login-utils/agetty.c:526
+#, c-format
+msgid "bad speed: %s"
+msgstr "falsche Geschwindigkeit: %s"
+
+#: login-utils/agetty.c:528
+msgid "too many alternate speeds"
+msgstr "zu viele alternative Geschwindigkeiten"
+
+#: login-utils/agetty.c:630
+#, c-format
+msgid "/dev: chdir() failed: %m"
+msgstr "Konnte nicht in das Verzeichnis /dev wechseln: %m"
+
+#: login-utils/agetty.c:634
+#, c-format
+msgid "/dev/%s: not a character device"
+msgstr "/dev/%s ist kein zeichenorientiertes Gerät"
+
+#: login-utils/agetty.c:643
+#, c-format
+msgid "/dev/%s: cannot open as standard input: %m"
+msgstr "Konnte /dev/%s nicht als Standardeingabe öffnen: %m"
+
+#: login-utils/agetty.c:653
+#, c-format
+msgid "%s: not open for read/write"
+msgstr "%s: nicht offen für Lesen/Schreiben"
+
+#: login-utils/agetty.c:659
+#, c-format
+msgid "%s: dup problem: %m"
+msgstr "%s: dup‐Problem: %m"
+
+#: login-utils/agetty.c:946
+#, c-format
+msgid "user"
+msgstr "Benutzer"
+
+#: login-utils/agetty.c:946
+#, c-format
+msgid "users"
+msgstr "Benutzer"
+
+#: login-utils/agetty.c:1031
+#, c-format
+msgid "%s: read: %m"
+msgstr "%s: gelesen: %m"
+
+#: login-utils/agetty.c:1078
+#, c-format
+msgid "%s: input overrun"
+msgstr "%s: Eingabe‐Überlauf"
+
+#: login-utils/agetty.c:1207
+#, fuzzy, c-format
+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 ""
+"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"
+
+#: login-utils/checktty.c:91 login-utils/checktty.c:112
+#, c-format
+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)
+#: login-utils/checktty.c:92
+msgid "can't malloc for ttyclass"
+msgstr "can't malloc for ttyclass"
+
+# Das geht ins Syslog – ich übersetze es nicht. (MPi)
+#: login-utils/checktty.c:113
+msgid "can't malloc for grplist"
+msgstr "can't malloc for grplist"
+
+#: login-utils/checktty.c:554
+#, c-format
+msgid "Login on %s from %s denied by default.\n"
+msgstr "Login on %s from %s denied by default.\n"
+
+#: login-utils/checktty.c:565
+#, c-format
+msgid "Login on %s from %s denied.\n"
+msgstr "Login on %s from %s denied.\n"
+
+#: login-utils/chfn.c:133 login-utils/chsh.c:119
+#, c-format
+msgid "%s: you (user %d) don't exist.\n"
+msgstr "%s: Sie (Nuter %d) existieren nicht.\n"
+
+#: login-utils/chfn.c:140 login-utils/chsh.c:126
+#, c-format
+msgid "%s: user \"%s\" does not exist.\n"
+msgstr "%s: Nutzer „%s“ existiert nicht.\n"
+
+#: login-utils/chfn.c:145 login-utils/chsh.c:131
+#, c-format
+msgid "%s: can only change local entries; use yp%s instead.\n"
+msgstr "%s: kann nur lokale Einträge ändern; stattdessen yp%s benutzen.\n"
+
+#: login-utils/chfn.c:156 login-utils/chsh.c:142
+msgid "Unknown user context"
+msgstr "unbekannter Nutzerkontext"
+
+#: login-utils/chfn.c:157
+#, c-format
+msgid "%s: %s is not authorized to change the finger info of %s\n"
+msgstr ""
+"%s: %s ist nicht autorisiert, die Finger-Informationen für %s zu ändern\n"
+
+#: login-utils/chfn.c:164 login-utils/chsh.c:150
+#, c-format
+msgid "%s: Can't set default context for /etc/passwd"
+msgstr "%s: Kann keinen voreingestellten Kontext für /etc/passwd setzen"
+
+#: login-utils/chfn.c:178
+#, c-format
+msgid "Changing finger information for %s.\n"
+msgstr "Ändere finger-Information für %s.\n"
+
+#: login-utils/chfn.c:189 login-utils/chsh.c:188 login-utils/login.c:572
+#, fuzzy, c-format
+msgid "%s: PAM failure, aborting: %s\n"
+msgstr "login: PAM-Fehlschlag, breche ab: %s\n"
+
+#: login-utils/chfn.c:212 login-utils/chsh.c:211 login-utils/login.c:823
+#: login-utils/newgrp.c:85 login-utils/simpleinit.c:340 mount/lomount.c:744
+#: mount/lomount.c:747
+msgid "Password: "
+msgstr "Passwort: "
+
+#: login-utils/chfn.c:215 login-utils/chsh.c:214
+msgid "Incorrect password."
+msgstr "Inkorrektes Passwort."
+
+#: login-utils/chfn.c:226
+#, c-format
+msgid "Finger information not changed.\n"
+msgstr "Finger-Information nicht verändert.\n"
+
+# XXX - Merge with next strings.
+#: login-utils/chfn.c:328
+#, c-format
+msgid "Usage: %s [ -f full-name ] [ -o office ] "
+msgstr "Aufruf: %s [ -f ganzer_Name ] [ -o Bureau ] "
+
+#: login-utils/chfn.c:329
+#, c-format
+msgid ""
+"[ -p office-phone ]\n"
+"\t[ -h home-phone ] "
+msgstr ""
+"[ -p Büro-Telefon ]\n"
+"\t[ -h Heim-Telefon ] "
+
+#: login-utils/chfn.c:330
+#, c-format
+msgid "[ --help ] [ --version ]\n"
+msgstr "[ --help ] [ --version ]\n"
+
+#: login-utils/chfn.c:378
+msgid "Office"
+msgstr ""
+
+#: login-utils/chfn.c:379
+msgid "Office Phone"
+msgstr ""
+
+#: login-utils/chfn.c:380
+msgid "Home Phone"
+msgstr ""
+
+#: login-utils/chfn.c:401 login-utils/chsh.c:321
+#, c-format
+msgid ""
+"\n"
+"Aborted.\n"
+msgstr ""
+"\n"
+"Abgebrochen.\n"
+
+#: login-utils/chfn.c:434
+#, c-format
+msgid "field is too long.\n"
+msgstr "Feld ist zu lang.\n"
+
+#: login-utils/chfn.c:442
+#, c-format
+msgid "'%c' is not allowed.\n"
+msgstr "„%c“ ist nicht erlaubt.\n"
+
+#: login-utils/chfn.c:447
+#, c-format
+msgid "Control characters are not allowed.\n"
+msgstr "Steuerzeichen sind nicht erlaubt.\n"
+
+#: login-utils/chfn.c:512
+#, 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:515
+#, c-format
+msgid "Finger information changed.\n"
+msgstr "Finger-Information geändert.\n"
+
+#: login-utils/chsh.c:143
+#, c-format
+msgid "%s: %s is not authorized to change the shell of %s\n"
+msgstr "%s: „%s“ ist nicht autorisiert, die Shell für %s zu ändern\n"
+
+#: login-utils/chsh.c:164
+#, c-format
+msgid ""
+"%s: Running UID doesn't match UID of user we're altering, shell change "
+"denied\n"
+msgstr ""
+"%s: Laufende UID stimmt nicht mit der UID des zu ändernden Nutzers überein,\n"
+"Shell-Änderung abgelehnt.\n"
+
+#: login-utils/chsh.c:170
+#, c-format
+msgid "%s: Your shell is not in /etc/shells, shell change denied\n"
+msgstr ""
+"%s: Ihre Shell fehlt in /etc/shells, Shell-Änderung ist fehlgeschlagen\n"
+
+#: login-utils/chsh.c:177
+#, c-format
+msgid "Changing shell for %s.\n"
+msgstr "Shell für %s ändern.\n"
+
+#: login-utils/chsh.c:222
+msgid "New shell"
+msgstr "Neue Shell"
+
+#: login-utils/chsh.c:229
+#, c-format
+msgid "Shell not changed.\n"
+msgstr "Shell nicht geändert.\n"
+
+#: login-utils/chsh.c:235
+#, c-format
+msgid "Shell *NOT* changed.  Try again later.\n"
+msgstr "Shell *NICHT* geändert. Später nochmal versuchen.\n"
+
+#: login-utils/chsh.c:238
+#, c-format
+msgid "Shell changed.\n"
+msgstr "Shell geändert.\n"
+
+#: login-utils/chsh.c:303
+#, c-format
+msgid ""
+"Usage: %s [ -s shell ] [ --list-shells ] [ --help ] [ --version ]\n"
+"       [ username ]\n"
+msgstr ""
+"Aufruf: %s [ -s Shell ] [ --list-shells ] [ --help ] [ --version ]\n"
+"        [ Benutzername ]\n"
+
+#: login-utils/chsh.c:349
+#, c-format
+msgid "%s: shell must be a full path name.\n"
+msgstr "%s: Shell muss ein voller Pfadname sein.\n"
+
+#: login-utils/chsh.c:353
+#, c-format
+msgid "%s: \"%s\" does not exist.\n"
+msgstr "%s: „%s“ existiert nicht.\n"
+
+#: login-utils/chsh.c:357
+#, c-format
+msgid "%s: \"%s\" is not executable.\n"
+msgstr "%s: „%s“ ist nicht ausführbar.\n"
+
+#: login-utils/chsh.c:364
+#, c-format
+msgid "%s: '%c' is not allowed.\n"
+msgstr "%s: ›%c‹ ist nicht erlaubt.\n"
+
+#: login-utils/chsh.c:368
+#, c-format
+msgid "%s: Control characters are not allowed.\n"
+msgstr "%s: Steuerungszeichen sind nicht erlaubt.\n"
+
+#: login-utils/chsh.c:375 login-utils/chsh.c:385
+#, c-format
+msgid "Warning: \"%s\" is not listed in /etc/shells.\n"
+msgstr "Warnung: „%s“ ist nicht in /etc/shells aufgeführt.\n"
+
+#: login-utils/chsh.c:377
+#, c-format
+msgid "%s: \"%s\" is not listed in /etc/shells.\n"
+msgstr "%s: „%s“ ist nicht in /etc/shells aufgeführt\n"
+
+#: login-utils/chsh.c:379
+#, fuzzy, c-format
+msgid "%s: Use -l option to see list.\n"
+msgstr "%s: Benutzen Sie die Option -l für eine Liste\n"
+
+#: login-utils/chsh.c:386
+#, c-format
+msgid "Use %s -l to see list.\n"
+msgstr "Rufen Sie „%s -l“ auf, um die Liste zu sehen.\n"
+
+#: login-utils/chsh.c:406
+#, c-format
+msgid "No known shells.\n"
+msgstr "Keine bekannten Shells.\n"
+
+#: login-utils/islocal.c:87
+#, fuzzy, c-format
+msgid "Failed to open %s for reading, exiting."
+msgstr "Konnte %s nicht zum Lesen öffnen"
+
+#: login-utils/last.c:148
+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:284
+msgid "  still logged in"
+msgstr "  noch immer eingeloggt"
+
+#: login-utils/last.c:306
+#, c-format
+msgid ""
+"\n"
+"wtmp begins %s"
+msgstr ""
+"\n"
+"wtmp beginnt %s"
+
+#: login-utils/last.c:362 login-utils/last.c:380 login-utils/last.c:431
+msgid "last: malloc failure.\n"
+msgstr "last: malloc-Fehlschlag.\n"
+
+#: login-utils/last.c:407
+msgid "last: gethostname"
+msgstr "last: gethostname"
+
+#: login-utils/last.c:456
+#, c-format
+msgid ""
+"\n"
+"interrupted %10.10s %5.5s \n"
+msgstr ""
+"\n"
+"unterbrochen %10.10s %5.5s \n"
+
+#: login-utils/login.c:197
+#, c-format
+msgid "FATAL: can't reopen tty: %s"
+msgstr "FATAL: kann TTY nicht erneut öffnen: %s"
+
+#: login-utils/login.c:229
+msgid "FATAL: bad tty"
+msgstr "FATAL: ungültiges TTY"
+
+#: login-utils/login.c:436
+#, c-format
+msgid "login: -h for super-user only.\n"
+msgstr "login: -h nur für den Superuser.\n"
+
+#: login-utils/login.c:479
+#, c-format
+msgid "usage: login [-fp] [username]\n"
+msgstr "Aufruf: login [-fp] [Benutzername]\n"
+
+#: login-utils/login.c:574
+#, c-format
+msgid "Couldn't initialize PAM: %s"
+msgstr "Konnte PAM nicht initialisieren: %s"
+
+# unten nochmal mit NL
+#: login-utils/login.c:591
+msgid "login: "
+msgstr "Anmeldung: "
+
+# Das geht ins Syslog – ich übersetze es nicht. (MPi)
+#: login-utils/login.c:635
+#, c-format
+msgid "FAILED LOGIN %d 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:640
+#, 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:649
+#, c-format
+msgid "TOO MANY LOGIN TRIES (%d) FROM %s FOR %s, %s"
+msgstr "TOO MANY LOGIN TRIES (%d) FROM %s FOR %s, %s"
+
+#: login-utils/login.c:653
+#, c-format
+msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
+msgstr "FAILED LOGIN SESSION FROM %s FOR %s, %s"
+
+#: login-utils/login.c:658
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+"\n"
+"Login inkorrekt\n"
+
+#: login-utils/login.c:686 login-utils/login.c:693 login-utils/login.c:727
+#, c-format
+msgid ""
+"\n"
+"Session setup problem, abort.\n"
+msgstr ""
+"\n"
+"Problem beim Aufsetzen der Sitzung, Abbruch.\n"
+
+#: login-utils/login.c:687
+#, c-format
+msgid "NULL user name in %s:%d. Abort."
+msgstr "Leerer Benutzername in %s:%d. Abbruch."
+
+#: login-utils/login.c:694
+#, c-format
+msgid "Invalid user name \"%s\" in %s:%d. Abort."
+msgstr "Ungültiger Nutzername „%s“ in %s:%d. Abbruch."
+
+#: login-utils/login.c:713
+#, c-format
+msgid "login: Out of memory\n"
+msgstr "login: Speicher ist alle!\n"
+
+#: login-utils/login.c:757
+msgid "Illegal username"
+msgstr "Ungültiger Nutzername"
+
+#: login-utils/login.c:800
+#, c-format
+msgid "%s login refused on this terminal.\n"
+msgstr "%s Login auf diesem Terminal verweigert.\n"
+
+# Das geht ins Syslog – ich übersetze es nicht. (MPi)
+#: login-utils/login.c:805
+#, c-format
+msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
+msgstr "LOGIN %s REFUSED FROM %s ON TTY %s"
+
+#: login-utils/login.c:809
+#, c-format
+msgid "LOGIN %s REFUSED ON TTY %s"
+msgstr "LOGIN %s REFUSED ON TTY %s"
+
+#: login-utils/login.c:863
+#, c-format
+msgid "Login incorrect\n"
+msgstr "Login inkorrekt\n"
+
+# Das geht ins Syslog – ich übersetze es nicht. (MPi)
+#: login-utils/login.c:1088
+#, c-format
+msgid "DIALUP AT %s BY %s"
+msgstr "DIALUP AT %s BY %s"
+
+#: login-utils/login.c:1095
+#, c-format
+msgid "ROOT LOGIN ON %s FROM %s"
+msgstr "ROOT LOGIN ON %s FROM %s"
+
+#: login-utils/login.c:1098
+#, c-format
+msgid "ROOT LOGIN ON %s"
+msgstr "ROOT LOGIN ON %s"
+
+#: login-utils/login.c:1101
+#, c-format
+msgid "LOGIN ON %s BY %s FROM %s"
+msgstr "LOGIN ON %s BY %s FROM %s"
+
+#: login-utils/login.c:1104
+#, c-format
+msgid "LOGIN ON %s BY %s"
+msgstr "LOGIN ON %s BY %s"
+
+#: login-utils/login.c:1125
+#, c-format
+msgid "You have new mail.\n"
+msgstr "Sie haben neue E-Mail.\n"
+
+#: login-utils/login.c:1127
+#, c-format
+msgid "You have mail.\n"
+msgstr "Sie haben E-Mail.\n"
+
+#: login-utils/login.c:1171
+#, c-format
+msgid "login: failure forking: %s"
+msgstr "login: Kann keinen neuen Prozess erzeugen: %s"
+
+#: login-utils/login.c:1218
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr "TIOCSCTTY fehlgeschlagen: %m"
+
+#: login-utils/login.c:1224
+msgid "setuid() failed"
+msgstr "setuid() fehlgeschlagen"
+
+#: login-utils/login.c:1230
+#, c-format
+msgid "No directory %s!\n"
+msgstr "Konnte nicht in das Verzeichnis %s wechseln!\n"
+
+#: login-utils/login.c:1234
+#, c-format
+msgid "Logging in with home = \"/\".\n"
+msgstr "Logge ein mit Heimatverzeichnis = „/“.\n"
+
+#: login-utils/login.c:1242
+#, c-format
+msgid "login: no memory for shell script.\n"
+msgstr "login: kein Speicher für Shellskipt.\n"
+
+#: login-utils/login.c:1269
+#, c-format
+msgid "login: couldn't exec shell script: %s.\n"
+msgstr "login: konnte Shellskipt nicht ausführen: %s.\n"
+
+#: login-utils/login.c:1272
+#, c-format
+msgid "login: no shell: %s.\n"
+msgstr "login: keine Shell: %s.\n"
+
+#: login-utils/login.c:1287
+#, c-format
+msgid ""
+"\n"
+"%s login: "
+msgstr ""
+"\n"
+"%s Anmeldung: "
+
+#: login-utils/login.c:1298
+#, c-format
+msgid "login name much too long.\n"
+msgstr "Login-Name viel zu lang.\n"
+
+#: login-utils/login.c:1299
+msgid "NAME too long"
+msgstr "NAME zu lang"
+
+#: login-utils/login.c:1306
+#, c-format
+msgid "login names may not start with '-'.\n"
+msgstr "Benutzernamen dürfen nicht mit einem „-“ anfangen.\n"
+
+#: login-utils/login.c:1316
+#, c-format
+msgid "too many bare linefeeds.\n"
+msgstr "zu viele nackte Zeilenvorschübe\n"
+
+#: login-utils/login.c:1317
+msgid "EXCESSIVE linefeeds"
+msgstr "EXZESSIV viele Zeilenvorschübe"
+
+#: login-utils/login.c:1349
+#, c-format
+msgid "Login timed out after %d seconds\n"
+msgstr "Login nach %d Sekunden abgebrochen\n"
+
+#: login-utils/login.c:1437
+#, c-format
+msgid "Last login: %.*s "
+msgstr "Letzte Anmeldung: %.*s "
+
+#: login-utils/login.c:1441
+#, c-format
+msgid "from %.*s\n"
+msgstr "von %.*s\n"
+
+#: login-utils/login.c:1444
+#, c-format
+msgid "on %.*s\n"
+msgstr "auf %.*s\n"
+
+# Das geht ins Syslog – ich übersetze es nicht. (MPi)
+#: login-utils/login.c:1470
+#, c-format
+msgid "LOGIN FAILURE FROM %s, %s"
+msgstr "LOGIN FAILURE FROM %s, %s"
+
+# Das geht ins Syslog – ich übersetze es nicht. (MPi)
+#: login-utils/login.c:1473
+#, c-format
+msgid "LOGIN FAILURE ON %s, %s"
+msgstr "LOGIN FAILURE ON %s, %s"
+
+# Das geht ins Syslog – ich übersetze es nicht. (MPi)
+#: login-utils/login.c:1477
+#, c-format
+msgid "%d LOGIN FAILURES FROM %s, %s"
+msgstr "%d LOGIN FAILURES FROM %s, %s"
+
+# Das geht ins Syslog – ich übersetze es nicht. (MPi)
+#: login-utils/login.c:1480
+#, c-format
+msgid "%d LOGIN FAILURES ON %s, %s"
+msgstr "%d LOGIN FAILURES ON %s, %s"
+
+#: login-utils/mesg.c:89
+#, c-format
+msgid "is y\n"
+msgstr "ist y\n"
+
+#: login-utils/mesg.c:92
+#, c-format
+msgid "is n\n"
+msgstr "is n\n"
+
+#: login-utils/mesg.c:112
+#, c-format
+msgid "usage: mesg [y | n]\n"
+msgstr "Aufruf: mesg [y | n]\n"
+
+#: login-utils/newgrp.c:105
+msgid "newgrp: Who are you?"
+msgstr "newgrp: Wer sind Sie?"
+
+#: login-utils/newgrp.c:113 login-utils/newgrp.c:127
+msgid "newgrp: setgid"
+msgstr "newgrp: setgid"
+
+#: login-utils/newgrp.c:120 login-utils/newgrp.c:122
+msgid "newgrp: No such group."
+msgstr "newgrp: Keine solche Gruppe."
+
+# libc.po: "Keine Berechtigung"
+#: login-utils/newgrp.c:131
+msgid "newgrp: Permission denied"
+msgstr "newgrp: Keine Berechtigung"
+
+#: login-utils/newgrp.c:138
+msgid "newgrp: setuid"
+msgstr "newgrp: setuid"
+
+#: login-utils/newgrp.c:144
+msgid "No shell"
+msgstr "Keine Shell"
+
+#: login-utils/shutdown.c:115
+#, c-format
+msgid "Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+msgstr "Aufruf: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+
+#: login-utils/shutdown.c:133
+msgid "Shutdown process aborted"
+msgstr "Shutdown-Prozess abgebrochen"
+
+#: login-utils/shutdown.c:164
+#, c-format
+msgid "%s: Only root can shut a system down.\n"
+msgstr "%s: Nur root kann ein System herunterfahren.\n"
+
+#: login-utils/shutdown.c:258
+#, c-format
+msgid "That must be tomorrow, can't you wait till then?\n"
+msgstr "Das muss morgen sein, können Sie nicht bis dann warten?\n"
+
+# What the f… (MPi)
+#: login-utils/shutdown.c:309
+msgid "for maintenance; bounce, bounce"
+msgstr "zur Systempflege; bounce, bounce"
+
+#: login-utils/shutdown.c:338
+msgid "The system is being shut down within 5 minutes"
+msgstr "Das System wird innerhalb der nächsten 5 Minuten heruntergefahren"
+
+#: login-utils/shutdown.c:342
+msgid "Login is therefore prohibited."
+msgstr "Das Einloggen ist daher untersagt."
+
+#: login-utils/shutdown.c:364
+#, c-format
+msgid "rebooted by %s: %s"
+msgstr "neu gestartet durch %s: %s"
+
+#: login-utils/shutdown.c:367
+#, c-format
+msgid "halted by %s: %s"
+msgstr "angehalten durch %s: %s"
+
+#: login-utils/shutdown.c:431
+msgid ""
+"\n"
+"Why am I still alive after reboot?"
+msgstr ""
+"\n"
+"Warum bin ich nach dem Neustart noch am Leben?"
+
+#: login-utils/shutdown.c:433
+msgid ""
+"\n"
+"Now you can turn off the power..."
+msgstr ""
+"\n"
+"Sie können den Rechner jetzt abschalten…"
+
+#: login-utils/shutdown.c:449
+#, c-format
+msgid "Calling kernel power-off facility...\n"
+msgstr "Rufe die Abschaltfunktion des Kernels…\n"
+
+#: login-utils/shutdown.c:452
+#, c-format
+msgid "Error powering off\t%s\n"
+msgstr "Fehler beim Abschalten\t%s\n"
+
+#: login-utils/shutdown.c:460
+#, c-format
+msgid "Executing the program \"%s\" ...\n"
+msgstr "Führe Programm „%s“ aus…\n"
+
+#: login-utils/shutdown.c:463
+#, c-format
+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
+#: login-utils/shutdown.c:490
+#, c-format
+msgid "URGENT: broadcast message from %s:"
+msgstr "DRINGEND: Rundsendenachricht von %s:"
+
+#: login-utils/shutdown.c:496
+#, c-format
+msgid "System going down in %d hours %d minutes"
+msgstr "System fährt in %d Stunden und %d Minuten herunter"
+
+#: login-utils/shutdown.c:499
+#, c-format
+msgid "System going down in 1 hour %d minutes"
+msgstr "System fährt in einer Stunde und %d Minuten herunter"
+
+#: login-utils/shutdown.c:502
+#, c-format
+msgid "System going down in %d minutes\n"
+msgstr "System fährt in %d Minuten herunter\n"
+
+#: login-utils/shutdown.c:505
+#, c-format
+msgid "System going down in 1 minute\n"
+msgstr "System fährt in einer Minute herunter\n"
+
+#: login-utils/shutdown.c:507
+#, c-format
+msgid "System going down IMMEDIATELY!\n"
+msgstr "System fährt SOFORT herunter!\n"
+
+#: login-utils/shutdown.c:512
+#, c-format
+msgid "\t... %s ...\n"
+msgstr "\t… %s …\n"
+
+#: login-utils/shutdown.c:569
+msgid "Cannot fork for swapoff. Shrug!"
+msgstr "Kann nicht in swapoff verzweigen. Schulterzuck!"
+
+#: login-utils/shutdown.c:577
+msgid "Cannot exec swapoff, hoping umount will do the trick."
+msgstr ""
+"Kann swapoff nicht ausführen, versuche es mal mit umount zum Aushängen."
+
+#: login-utils/shutdown.c:596
+msgid "Cannot fork for umount, trying manually."
+msgstr "Kann nicht in umount verzweigen, versuche es von Hand."
+
+#: login-utils/shutdown.c:605
+#, c-format
+msgid "Cannot exec %s, trying umount.\n"
+msgstr "Kann %s nicht ausführen, versuche umount zum Aushängen.\n"
+
+#: login-utils/shutdown.c:609
+msgid "Cannot exec umount, giving up on umount."
+msgstr "Kann umount nicht ausführen, gebe es mit dem Aushängen auf."
+
+#: login-utils/shutdown.c:614
+msgid "Unmounting any remaining filesystems..."
+msgstr "Aushängen aller restlichen Dateisysteme…"
+
+#: login-utils/shutdown.c:661
+#, c-format
+msgid "shutdown: Couldn't umount %s: %s\n"
+msgstr "shutdown: konnte %s nicht aushängen: %s\n"
+
+#: login-utils/simpleinit.c:132
+msgid "Booting to single user mode.\n"
+msgstr "Boote zum Single-User-Modus.\n"
+
+#: login-utils/simpleinit.c:136
+msgid "exec of single user shell failed\n"
+msgstr "„exec“ der Single-User-Shell fehlgeschlagen\n"
+
+#: login-utils/simpleinit.c:140
+msgid "fork of single user shell failed\n"
+msgstr "„fork“ der Single-User-Shell fehlgeschlagen\n"
+
+#: login-utils/simpleinit.c:208
+msgid "error opening fifo\n"
+msgstr "Fehler beim Öffnen der „fifo“\n"
+
+#: login-utils/simpleinit.c:212
+msgid "error setting close-on-exec on /dev/initctl"
+msgstr "Fehler beim Setzen von „close-on-exec“ auf /dev/initctl"
+
+#: login-utils/simpleinit.c:259
+msgid "error running finalprog\n"
+msgstr "Fehler beim „exec“ von finalprog\n"
+
+#: login-utils/simpleinit.c:263
+msgid "error forking finalprog\n"
+msgstr "Fehler beim „fork“ von finalprog\n"
+
+#: login-utils/simpleinit.c:345
+msgid ""
+"\n"
+"Wrong password.\n"
+msgstr ""
+"\n"
+"Falsches Passwort.\n"
+
+#: login-utils/simpleinit.c:418
+msgid "lstat of path failed\n"
+msgstr "„lstat“ des Pfades fehlgeschlagen\n"
+
+#: login-utils/simpleinit.c:426
+msgid "stat of path failed\n"
+msgstr "„stat“ des Pfades fehlgeschlagen\n"
+
+#: login-utils/simpleinit.c:434
+msgid "open of directory failed\n"
+msgstr "Öffnen des Verzeichnisses fehlgeschlagen\n"
+
+#: login-utils/simpleinit.c:501
+#, c-format
+msgid "respawning: \"%s\" too fast: quenching entry\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:509
+msgid "fork failed\n"
+msgstr "„fork“ fehlgeschlagen\n"
+
+#: login-utils/simpleinit.c:540 text-utils/more.c:1629
+msgid "exec failed\n"
+msgstr "„exec“ fehlgeschlagen\n"
+
+#: login-utils/simpleinit.c:564
+msgid "cannot open inittab\n"
+msgstr "Konnte inittab nicht öffnen\n"
+
+#: login-utils/simpleinit.c:631
+msgid "no TERM or cannot stat tty\n"
+msgstr "kein TERM oder kann nicht auf TTY zugreifen\n"
+
+#: login-utils/simpleinit.c:938
+#, fuzzy, c-format
+msgid "error stopping service: \"%s\"\n"
+msgstr "Fehler beim Stoppen des Service „%s“"
+
+#: login-utils/simpleinit.c:950
+#, fuzzy, c-format
+msgid "Stopped service: %s\n"
+msgstr "Fehler beim Stoppen des Service „%s“"
+
+#: login-utils/simpleinit.c:1070
+#, fuzzy, c-format
+msgid "error running programme: \"%s\"\n"
+msgstr "Fehler beim „exec“ von finalprog\n"
+
+#: login-utils/ttymsg.c:75
+msgid "too many iov's (change code in wall/ttymsg.c)"
+msgstr "zu viele IOVs (Code in wall/ttymsg.c ändern)"
+
+#: login-utils/ttymsg.c:85
+#, c-format
+msgid "excessively long line arg"
+msgstr "übermäßig langes Zeilenargument"
+
+# This is only used when strerror(errno) is much too long
+#: login-utils/ttymsg.c:140
+#, c-format
+msgid "cannot fork"
+msgstr "Kann keinen neuen Prozess erzeugen (fork)"
+
+# This is used normaly
+#: login-utils/ttymsg.c:144
+#, c-format
+msgid "fork: %s"
+msgstr "Prozesserzeugung (fork): %s"
+
+#: login-utils/ttymsg.c:174
+#, c-format
+msgid "%s: BAD ERROR"
+msgstr "%s: BAD ERROR"
+
+#: login-utils/vipw.c:143
+#, c-format
+msgid "%s: the password file is busy.\n"
+msgstr "%s: die Passwortdatei ist in Benutzung.\n"
+
+#: login-utils/vipw.c:146
+#, c-format
+msgid "%s: the group file is busy.\n"
+msgstr "%s: die Gruppendatei ist in Benutzung.\n"
+
+#: login-utils/vipw.c:162
+#, c-format
+msgid "%s: the %s file is busy (%s present)\n"
+msgstr "%s: die Datei %s ist in Benutzung (%s existiert).\n"
+
+#: login-utils/vipw.c:168
+#, c-format
+msgid "%s: can't link %s: %s\n"
+msgstr "%s: kann %s nicht verlinken: %s\n"
+
+#: login-utils/vipw.c:202
+#, c-format
+msgid "%s: Can't get context for %s"
+msgstr "%s: Konnte Kontext für %s nicht bekommen"
+
+#: login-utils/vipw.c:208
+#, c-format
+msgid "%s: Can't set context for %s"
+msgstr "%s: Konnte Kontext für %s nicht setzen"
+
+#: login-utils/vipw.c:217
+#, c-format
+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"
+
+#: login-utils/vipw.c:240
+#, c-format
+msgid "%s: Cannot fork\n"
+msgstr "%s: Kann keinen neuen Prozess erzeugen (fork)\n"
+
+# "nicht geändert"
+# "wurde nicht geändert"
+#: login-utils/vipw.c:276
+#, c-format
+msgid "%s: %s unchanged\n"
+msgstr "%s: %s unverändert\n"
+
+#: login-utils/vipw.c:297
+#, c-format
+msgid "%s: no changes made\n"
+msgstr "%s: keine Änderungen durchgeführt\n"
+
+#: login-utils/vipw.c:350
+#, 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:351
+#, c-format
+msgid "You are using shadow passwords on this system.\n"
+msgstr "Sie benutzen Shadow-Passwörter auf diesem System.\n"
+
+#: login-utils/vipw.c:352
+#, c-format
+msgid "Would you like to edit %s now [y/n]? "
+msgstr "Würden Sie jetzt gerne %s bearbeiten [j/n]? "
+
+#: login-utils/wall.c:112
+#, c-format
+msgid "usage: %s [file]\n"
+msgstr "Aufruf: %s [Datei]\n"
+
+#: login-utils/wall.c:167
+#, c-format
+msgid "%s: can't open temporary file.\n"
+msgstr "%s: Konnte eine temporäre Datei nicht öffnen.\n"
+
+# XXX – Have to look at other OSs translation for Broadcast
+# Message
+#: login-utils/wall.c:194
+#, c-format
+msgid "Broadcast Message from %s@%s"
+msgstr "Rundsendenachricht von %s@%s"
+
+#: login-utils/wall.c:212
+#, c-format
+msgid "%s: will not read %s - use stdin.\n"
+msgstr "%s: werde nicht aus %s lesen – benutze Standardeingabe.\n"
+
+#: login-utils/wall.c:217
+#, c-format
+msgid "%s: can't read %s.\n"
+msgstr "%s: Konnte %s nicht lesen.\n"
+
+#: login-utils/wall.c:240
+#, c-format
+msgid "%s: can't stat temporary file.\n"
+msgstr "%s: Konnte „stat“ nicht auf eine temporäre Datei anwenden.\n"
+
+#: login-utils/wall.c:250
+#, c-format
+msgid "%s: can't read temporary file.\n"
+msgstr "%s: Konnte eine temporäre Datei nicht lesen.\n"
+
+#: misc-utils/cal.c:362 misc-utils/cal.c:374
+#, fuzzy, c-format
+msgid "illegal day value: use 1-%d"
+msgstr "illegaler Wert für Jahr: benutzen Sie 1-9999"
+
+#: misc-utils/cal.c:366
+msgid "illegal month value: use 1-12"
+msgstr "illegaler Wert für Monat: benutzen Sie 1-12"
+
+#: misc-utils/cal.c:370
+msgid "illegal year value: use 1-9999"
+msgstr "illegaler Wert für Jahr: benutzen Sie 1-9999"
+
+#: misc-utils/cal.c:464
+#, c-format
+msgid "%s %d"
+msgstr "%s %d"
+
+#: misc-utils/cal.c:856
+#, fuzzy, c-format
+msgid "usage: cal [-13smjyV] [[[day] month] year]\n"
+msgstr "Aufruf: cal [-13smjyV] [[Monat] Jahr]\n"
+
+#: misc-utils/ddate.c:203
+#, 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:250
+msgid "St. Tib's Day"
+msgstr "St. Tib’s Day"
+
+#: misc-utils/findfs.c:24
+#, c-format
+msgid "Usage: %s LABEL=<label>|UUID=<uuid>\n"
+msgstr ""
+
+#: misc-utils/findfs.c:55
+#, fuzzy, c-format
+msgid "unable to resolve '%s'"
+msgstr "kann %s nicht öffnen"
+
+#: misc-utils/kill.c:207
+#, c-format
+msgid "%s: unknown signal %s\n"
+msgstr "%s: Unbekanntes Signal %s\n"
+
+#: misc-utils/kill.c:270
+#, c-format
+msgid "%s: can't find process \"%s\"\n"
+msgstr "%s: Konnte den Prozess „%s“ nicht finden.\n"
+
+#: misc-utils/kill.c:314
+#, c-format
+msgid "%s: unknown signal %s; valid signals:\n"
+msgstr "%s: Unbekanntes Signal %s; gültige Signale:\n"
+
+#: misc-utils/kill.c:354
+#, c-format
+msgid "usage: %s [ -s signal | -p ] [ -a ] pid ...\n"
+msgstr "Aufruf: %s [ -s Signal | -p ] [ -a ] PID …\n"
+
+#: misc-utils/kill.c:355
+#, c-format
+msgid "       %s -l [ signal ]\n"
+msgstr "        %s -l [ Signal ]\n"
+
+#: misc-utils/logger.c:67
+#, fuzzy, c-format
+msgid "logger: openlog: pathname too long\n"
+msgstr "Login-Name viel zu lang.\n"
+
+#: misc-utils/logger.c:75
+#, fuzzy, c-format
+msgid "socket: %s.\n"
+msgstr "Blockgröße: %d\n"
+
+#: misc-utils/logger.c:80
+#, c-format
+msgid "connect: %s.\n"
+msgstr ""
+
+#: misc-utils/logger.c:139
+#, c-format
+msgid "logger: %s: %s.\n"
+msgstr "logger: Konnte %s nicht öffnen: %s.\n"
+
+#: misc-utils/logger.c:246
+#, c-format
+msgid "logger: unknown facility name: %s.\n"
+msgstr "logger: Unbekannter „Facility“-Name: %s.\n"
+
+#: misc-utils/logger.c:258
+#, c-format
+msgid "logger: unknown priority name: %s.\n"
+msgstr "logger: Unbekannter Prioritätsname: %s.\n"
+
+#: misc-utils/logger.c:285
+#, c-format
+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"
+
+#: misc-utils/look.c:351
+#, c-format
+msgid "usage: look [-dfa] [-t char] string [file]\n"
+msgstr "Aufruf: look [-dfa] [-t Endzeichen] Zeichenkette [Datei]\n"
+
+#: misc-utils/mcookie.c:105 misc-utils/mcookie.c:132
+#, c-format
+msgid "Could not open %s\n"
+msgstr "Konnte %s nicht öffnen\n"
+
+#: misc-utils/mcookie.c:109 misc-utils/mcookie.c:128
+#, c-format
+msgid "Got %d bytes from %s\n"
+msgstr "%d Bytes aus %s gelesen\n"
+
+#: misc-utils/namei.c:144 misc-utils/namei.c:198 misc-utils/namei.c:220
+#: misc-utils/namei.c:227 misc-utils/namei.c:248
+#, fuzzy
+msgid "out of memory?"
+msgstr "Speicher aufgebraucht?\n"
+
+#: misc-utils/namei.c:189
+#, fuzzy, c-format
+msgid "failed to read symlink: %s"
+msgstr "ioctl() konnte Zeit nicht von %s lesen."
+
+#: misc-utils/namei.c:229
+#, fuzzy, c-format
+msgid "could not stat '%s'"
+msgstr "kann nicht auf Gerät %s zugreifen"
+
+#: misc-utils/namei.c:411
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage: %s [options] pathname [pathname ...]\n"
+msgstr "Aufruf: namei [-mx] Dateiname [Dateiname …]\n"
+
+#: misc-utils/namei.c:412
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"%d Partitionen:\n"
+
+#: misc-utils/namei.c:415
+#, c-format
+msgid ""
+" -h, --help          displays this help text\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:423
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see namei(1).\n"
+msgstr ""
+"\n"
+"Für weitere Informationen siehe setarch(8).\n"
+
+#: misc-utils/namei.c:484
+#, fuzzy, c-format
+msgid "failed to stat: %s"
+msgstr "kann kein „stat“ auf %s anwenden"
+
+#: misc-utils/namei.c:495
+#, c-format
+msgid "%s: exceeded limit of symlinks"
+msgstr ""
+
+#: misc-utils/rename.c:38
+#, c-format
+msgid "%s: out of memory\n"
+msgstr "%s: Speicher ist alle!\n"
+
+#: misc-utils/rename.c:56
+#, c-format
+msgid "%s: renaming %s to %s failed: %s\n"
+msgstr "%s: Konnte %s nicht in %s umbenennen: %s\n"
+
+#: misc-utils/rename.c:86
+#, c-format
+msgid "call: %s from to files...\n"
+msgstr "Aufruf: %s von nach Dateien…\n"
+
+#: misc-utils/script.c:110
+#, c-format
+msgid ""
+"Warning: `%s' is a link.\n"
+"Use `%s [options] %s' if you really want to use it.\n"
+"Script not started.\n"
+msgstr ""
+"Warnung: „%s“ ist eine Verknüpfung.\n"
+"Benutzen Sie „%s [optionen] %s“, wenn Sie es tatsächlich starten wollen.\n"
+"Script nicht gestartet.\n"
+
+#: misc-utils/script.c:173
+#, c-format
+msgid "usage: script [-a] [-f] [-q] [-t] [file]\n"
+msgstr "Aufruf: script [-a] [-f] [-q] [-t] [Datei]\n"
+
+# Not really nice…
+#: misc-utils/script.c:196
+#, c-format
+msgid "Script started, file is %s\n"
+msgstr "Script wurde gestartet, die Datei ist %s\n"
+
+#: misc-utils/script.c:244
+#, fuzzy, c-format
+msgid "%s: write error %d: %s\n"
+msgstr "Fehler beim Schreiben auf %s\n"
+
+# The %s must be at the end, 'cause it contains the \n
+#: misc-utils/script.c:304
+#, c-format
+msgid "Script started on %s"
+msgstr "Script wurde gestartet: %s"
+
+#: misc-utils/script.c:347
+#, fuzzy, c-format
+msgid "%s: write error: %s\n"
+msgstr "Fehler beim Schreiben auf %s\n"
+
+#: misc-utils/script.c:354
+#, fuzzy, c-format
+msgid "%s: cannot write script file, error: %s\n"
+msgstr "%s: Konnte das Gerät für %s nicht finden\n"
+
+# The %s must be at the end, 'cause it contains the \n
+#: misc-utils/script.c:430
+#, c-format
+msgid ""
+"\n"
+"Script done on %s"
+msgstr ""
+"\n"
+"Script beendet: %s"
+
+#: misc-utils/script.c:437
+#, c-format
+msgid "Script done, file is %s\n"
+msgstr "Script wurde beendet, die Datei ist %s\n"
+
+#: misc-utils/script.c:448
+#, c-format
+msgid "openpty failed\n"
+msgstr "„openpty“ ist fehlgeschlagen\n"
+
+#: misc-utils/script.c:482
+#, c-format
+msgid "Out of pty's\n"
+msgstr "Keine ptys mehr.\n"
+
+#: misc-utils/scriptreplay.c:38
+#, c-format
+msgid "%s <timingfile> [<typescript> [<divisor>]]\n"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:53
+#, c-format
+msgid "expected a number, but got '%s'"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:56 misc-utils/scriptreplay.c:60
+#, c-format
+msgid "divisor '%s'"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:104
+#, fuzzy
+msgid "write to stdout failed"
+msgstr "Konnte %s nicht öffnen"
+
+#: misc-utils/scriptreplay.c:110
+#, c-format
+msgid "unexpected end of file on %s"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:112
+#, fuzzy, c-format
+msgid "failed to read typescript file %s"
+msgstr "ioctl() konnte Zeit nicht von %s lesen."
+
+#: misc-utils/scriptreplay.c:145
+#, fuzzy, c-format
+msgid "cannot open timing file %s"
+msgstr "Konnte „%s“ nicht öffnen"
+
+#: misc-utils/scriptreplay.c:148
+#, fuzzy, c-format
+msgid "cannot open typescript file %s"
+msgstr "Konnte „%s“ nicht öffnen"
+
+#: misc-utils/scriptreplay.c:164
+#, fuzzy, c-format
+msgid "failed to read timing file %s"
+msgstr "ioctl() konnte Zeit nicht von %s lesen."
+
+#: misc-utils/scriptreplay.c:166
+#, fuzzy, c-format
+msgid "timings file %s: %lu: unexpected format"
+msgstr "%s: unerwartetes Dateiende in %s-Datei\n"
+
+#: misc-utils/setterm.c:763
+#, c-format
+msgid "%s: Argument error, usage\n"
+msgstr "%s: Fehler bei den Argumenten; Aufruf:\n"
+
+#: misc-utils/setterm.c:766
+#, c-format
+msgid "  [ -term terminal_name ]\n"
+msgstr "  [ -term Terminalname ]\n"
+
+#: misc-utils/setterm.c:767
+#, c-format
+msgid "  [ -reset ]\n"
+msgstr "  [ -reset ]\n"
+
+#: misc-utils/setterm.c:768
+#, c-format
+msgid "  [ -initialize ]\n"
+msgstr "  [ -initialize ]\n"
+
+#: misc-utils/setterm.c:769
+#, c-format
+msgid "  [ -cursor [on|off] ]\n"
+msgstr "  [ -cursor [on|off] ]\n"
+
+#: misc-utils/setterm.c:771
+#, c-format
+msgid "  [ -snow [on|off] ]\n"
+msgstr "  [ -snow [on|off] ]\n"
+
+#: misc-utils/setterm.c:772
+#, c-format
+msgid "  [ -softscroll [on|off] ]\n"
+msgstr "  [ -softscroll [on|off] ]\n"
+
+#: misc-utils/setterm.c:774
+#, c-format
+msgid "  [ -repeat [on|off] ]\n"
+msgstr "  [ -repeat [on|off] ]\n"
+
+#: misc-utils/setterm.c:775
+#, c-format
+msgid "  [ -appcursorkeys [on|off] ]\n"
+msgstr "  [ -appcursorkeys [on|off] ]\n"
+
+#: misc-utils/setterm.c:776
+#, c-format
+msgid "  [ -linewrap [on|off] ]\n"
+msgstr "  [ -linewrap [on|off] ]\n"
+
+#: misc-utils/setterm.c:777
+#, c-format
+msgid "  [ -default ]\n"
+msgstr "  [ -default ]\n"
+
+#: misc-utils/setterm.c:778
+#, c-format
+msgid "  [ -foreground black|blue|green|cyan"
+msgstr "  [ -foreground black|blue|green|cyan"
+
+#: misc-utils/setterm.c:779 misc-utils/setterm.c:781
+#, c-format
+msgid "|red|magenta|yellow|white|default ]\n"
+msgstr "|red|magenta|yellow|white|default ]\n"
+
+#: misc-utils/setterm.c:780
+#, c-format
+msgid "  [ -background black|blue|green|cyan"
+msgstr "  [ -background black|blue|green|cyan"
+
+#: misc-utils/setterm.c:782
+#, c-format
+msgid "  [ -ulcolor black|grey|blue|green|cyan"
+msgstr "  [ -ulcolor black|grey|blue|green|cyan"
+
+#: misc-utils/setterm.c:783 misc-utils/setterm.c:785 misc-utils/setterm.c:787
+#: misc-utils/setterm.c:789
+#, c-format
+msgid "|red|magenta|yellow|white ]\n"
+msgstr "|red|magenta|yellow|white ]\n"
+
+#: misc-utils/setterm.c:784
+#, c-format
+msgid "  [ -ulcolor bright blue|green|cyan"
+msgstr "  [ -ulcolor bright blue|green|cyan"
+
+#: misc-utils/setterm.c:786
+#, c-format
+msgid "  [ -hbcolor black|grey|blue|green|cyan"
+msgstr "  [ -hbcolor black|grey|blue|green|cyan"
+
+#: misc-utils/setterm.c:788
+#, c-format
+msgid "  [ -hbcolor bright blue|green|cyan"
+msgstr "  [ -hbcolor bright blue|green|cyan"
+
+#: misc-utils/setterm.c:791
+#, c-format
+msgid "  [ -standout [ attr ] ]\n"
+msgstr "  [ -standout [ Attribut ] ]\n"
+
+#: misc-utils/setterm.c:793
+#, c-format
+msgid "  [ -inversescreen [on|off] ]\n"
+msgstr "  [ -inversescreen [on|off] ]\n"
+
+#: misc-utils/setterm.c:794
+#, c-format
+msgid "  [ -bold [on|off] ]\n"
+msgstr "  [ -bold [on|off] ]\n"
+
+#: misc-utils/setterm.c:795
+#, c-format
+msgid "  [ -half-bright [on|off] ]\n"
+msgstr "  [ -half-bright [on|off] ]\n"
+
+#: misc-utils/setterm.c:796
+#, c-format
+msgid "  [ -blink [on|off] ]\n"
+msgstr "  [ -blink [on|off] ]\n"
+
+#: misc-utils/setterm.c:797
+#, c-format
+msgid "  [ -reverse [on|off] ]\n"
+msgstr "  [ -reverse [on|off] ]\n"
+
+#: misc-utils/setterm.c:798
+#, c-format
+msgid "  [ -underline [on|off] ]\n"
+msgstr "  [ -underline [on|off] ]\n"
+
+#: misc-utils/setterm.c:799
+#, c-format
+msgid "  [ -store ]\n"
+msgstr "  [ -store ]\n"
+
+#: misc-utils/setterm.c:800
+#, c-format
+msgid "  [ -clear [all|rest] ]\n"
+msgstr "  [ -clear [all|rest] ]\n"
+
+#: misc-utils/setterm.c:801
+#, c-format
+msgid "  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n"
+msgstr "  [ -tabs [ tab1 tab2 tab3 … ] ]      (tabN = 1-160)\n"
+
+#: misc-utils/setterm.c:802
+#, c-format
+msgid "  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n"
+msgstr "  [ -clrtabs [ tab1 tab2 tab3 … ] ]   (tabN = 1-160)\n"
+
+#: misc-utils/setterm.c:803
+#, c-format
+msgid "  [ -regtabs [1-160] ]\n"
+msgstr "  [ -regtabs [1-160] ]\n"
+
+#: misc-utils/setterm.c:804
+#, fuzzy, c-format
+msgid "  [ -blank [0-60|force|poke] ]\n"
+msgstr "  [ -blank [0-60] ]\n"
+
+#: misc-utils/setterm.c:805
+#, c-format
+msgid "  [ -dump   [1-NR_CONSOLES] ]\n"
+msgstr "  [ -dump   [1-Anzahl_Konsolen] ]\n"
+
+#: misc-utils/setterm.c:806
+#, c-format
+msgid "  [ -append [1-NR_CONSOLES] ]\n"
+msgstr "  [ -append [1-Anzahl_Konsolen] ]\n"
+
+#: misc-utils/setterm.c:807
+#, c-format
+msgid "  [ -file dumpfilename ]\n"
+msgstr "  [ -file Dumpdateiname ]\n"
+
+#: misc-utils/setterm.c:808
+#, c-format
+msgid "  [ -msg [on|off] ]\n"
+msgstr "  [ -msg [on|off] ]\n"
+
+#: misc-utils/setterm.c:809
+#, c-format
+msgid "  [ -msglevel [0-8] ]\n"
+msgstr "  [ -msglevel [0-8] ]\n"
+
+#: misc-utils/setterm.c:810
+#, c-format
+msgid "  [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+msgstr "  [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+
+#: misc-utils/setterm.c:811
+#, c-format
+msgid "  [ -powerdown [0-60] ]\n"
+msgstr "  [ -powerdown [0-60] ]\n"
+
+#: misc-utils/setterm.c:812
+#, c-format
+msgid "  [ -blength [0-2000] ]\n"
+msgstr "  [ -blength [0-2000] ]\n"
+
+#: misc-utils/setterm.c:813
+#, c-format
+msgid "  [ -bfreq freqnumber ]\n"
+msgstr "  [ -bfreq Freqnummer ]\n"
+
+# This is only used when strerror(errno) is much too long
+#: misc-utils/setterm.c:1065
+#, fuzzy, c-format
+msgid "cannot force blank\n"
+msgstr "Kann keinen neuen Prozess erzeugen (fork)"
+
+# This is only used when strerror(errno) is much too long
+#: misc-utils/setterm.c:1069
+#, fuzzy, c-format
+msgid "cannot force unblank\n"
+msgstr "Kann keinen neuen Prozess erzeugen (fork)"
+
+#: misc-utils/setterm.c:1075
+#, fuzzy, c-format
+msgid "cannot get blank status\n"
+msgstr "Konnte %s nicht öffnen\n"
+
+#: misc-utils/setterm.c:1087
+#, c-format
+msgid "cannot (un)set powersave mode\n"
+msgstr "kann Stromsparmodus nicht (zurück)setzen\n"
+
+#: misc-utils/setterm.c:1126 misc-utils/setterm.c:1134
+#, c-format
+msgid "klogctl error: %s\n"
+msgstr "„klogctl“ Fehler: %s\n"
+
+#: misc-utils/setterm.c:1200
+#, c-format
+msgid "Error writing screendump\n"
+msgstr "Fehler beim Schreiben des Bildschirmdumps\n"
+
+#: misc-utils/setterm.c:1207
+#, fuzzy, c-format
+msgid "Couldn't read %s\n"
+msgstr "Konnte %s nicht öffnen\n"
+
+#: misc-utils/setterm.c:1261
+#, c-format
+msgid "%s: $TERM is not defined.\n"
+msgstr "%s: Die Umgebungsvariable TERM ist nicht gesetzt.\n"
+
+#: misc-utils/uuidd.c:46
+#, fuzzy, c-format
+msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n"
+msgstr "Aufruf: last [-#] [-f datei] [-t tty] [-h hostame] [nutzer …]\n"
+
+#: misc-utils/uuidd.c:48
+#, c-format
+msgid "       %s [-r|t] [-n num] [-s socketpath]\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:50
+#, fuzzy, c-format
+msgid "       %s -k\n"
+msgstr "        %s -l [ Signal ]\n"
+
+#: misc-utils/uuidd.c:152
+#, fuzzy
+msgid "bad arguments"
+msgstr "col: Ungültiges Argument %s für die Option „-l“.\n"
+
+#: misc-utils/uuidd.c:159
+#, fuzzy
+msgid "socket"
+msgstr "NFS-Socket"
+
+#: misc-utils/uuidd.c:170
+#, fuzzy
+msgid "connect"
+msgstr "NFS-Verbindung"
+
+#: misc-utils/uuidd.c:189
+#, fuzzy
+msgid "write"
+msgstr "Schreib."
+
+#: misc-utils/uuidd.c:197
+#, fuzzy
+msgid "read count"
+msgstr "read %c\n"
+
+#: misc-utils/uuidd.c:203
+msgid "bad response length"
+msgstr ""
+
+#: misc-utils/uuidd.c:268
+#, c-format
+msgid "uuidd daemon already running at pid %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:276
+#, c-format
+msgid "Couldn't create unix stream socket: %s"
+msgstr ""
+
+#: misc-utils/uuidd.c:305
+#, fuzzy, c-format
+msgid "Couldn't bind unix socket %s: %s\n"
+msgstr "Konnte %s nicht öffnen: %s\n"
+
+#: misc-utils/uuidd.c:313
+#, fuzzy, c-format
+msgid "Couldn't listen on unix socket %s: %s\n"
+msgstr "Konnte %s nicht öffnen: %s\n"
+
+#: misc-utils/uuidd.c:351
+#, fuzzy, c-format
+msgid "Error reading from client, len = %d\n"
+msgstr "Fehler beim Lesen von %s\n"
+
+#: misc-utils/uuidd.c:359
+#, c-format
+msgid "operation %d, incoming num = %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:378
+#, c-format
+msgid "Generated time UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:388
+#, c-format
+msgid "Generated random UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:397
+#, c-format
+msgid "Generated time UUID %s and %d following\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:415
+#, c-format
+msgid "Generated %d UUID's:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:427
+#, fuzzy, c-format
+msgid "Invalid operation %d\n"
+msgstr "ungültige ID"
+
+#: misc-utils/uuidd.c:468 misc-utils/uuidd.c:489
+#, fuzzy, c-format
+msgid "Bad number: %s\n"
+msgstr "%s: Ungültiger Wert\n"
+
+#: misc-utils/uuidd.c:524 misc-utils/uuidd.c:551
+#, fuzzy, c-format
+msgid "Error calling uuidd daemon (%s): %s\n"
+msgstr "Fehler beim Ändern der Zugriffsrechte von %s: %s\n"
+
+#: misc-utils/uuidd.c:534
+#, c-format
+msgid "%s and subsequent %d UUID's\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:536
+#, c-format
+msgid "List of UUID's:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:557
+#, c-format
+msgid "Unexpected reply length from server %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:574
+#, c-format
+msgid "Couldn't kill uuidd running at pid %d: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:580
+#, c-format
+msgid "Killed uuidd running at pid %d\n"
+msgstr ""
+
+#: misc-utils/uuidgen.c:32
+#, fuzzy, c-format
+msgid "Usage: %s [-r] [-t]\n"
+msgstr "Aufruf: %s [Optionen] gerät …\n"
+
+#: misc-utils/whereis.c:159
+#, c-format
+msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
+msgstr "whereis [ -sbmu ] [ -SBM Verzeichnis … -f ] Name…\n"
+
+#: misc-utils/write.c:101
+#, c-format
+msgid "write: can't find your tty's name\n"
+msgstr "write: kann den Namen Ihres TTYs nicht feststellen\n"
+
+#: misc-utils/write.c:112
+#, c-format
+msgid "write: you have write permission turned off.\n"
+msgstr "write: Ihr Schreibzugriff ist abgeschaltet.\n"
+
+#: misc-utils/write.c:133
+#, c-format
+msgid "write: %s is not logged in on %s.\n"
+msgstr "write: %s ist nicht auf %s eingeloggt.\n"
+
+#: misc-utils/write.c:141
+#, c-format
+msgid "write: %s has messages disabled on %s\n"
+msgstr "write: %s hat Benachrichtigung auf %s deaktiviert\n"
+
+#: misc-utils/write.c:148
+#, c-format
+msgid "usage: write user [tty]\n"
+msgstr "Aufruf: write Nutzer [TTY]\n"
+
+#: misc-utils/write.c:236
+#, c-format
+msgid "write: %s is not logged in\n"
+msgstr "write: %s ist nicht eingeloggt\n"
+
+#: misc-utils/write.c:245
+#, c-format
+msgid "write: %s has messages disabled\n"
+msgstr "write: %s hat Benachrichtigung deaktiviert\n"
+
+#: misc-utils/write.c:249
+#, c-format
+msgid "write: %s is logged in more than once; writing to %s\n"
+msgstr "write: %s ist mehr als einmal eingeloggt; schreibe auf %s\n"
+
+#: misc-utils/write.c:317
+#, c-format
+msgid "Message from %s@%s (as %s) on %s at %s ..."
+msgstr "Nachricht von %s@%s (als %s) auf %s um %s …"
+
+#: misc-utils/write.c:320
+#, c-format
+msgid "Message from %s@%s on %s at %s ..."
+msgstr "Nachricht von %s@%s auf %s um %s …"
+
+#: mount/fstab.c:143
+#, c-format
+msgid "warning: error reading %s: %s"
+msgstr "Warnung: Fehler beim Lesen von %s: %s"
+
+#: mount/fstab.c:171 mount/fstab.c:196
+#, c-format
+msgid "warning: can't open %s: %s"
+msgstr "Warnung: Konnte %s nicht öffnen: %s"
+
+#: mount/fstab.c:176
+#, c-format
+msgid "mount: could not open %s - using %s instead\n"
+msgstr "mount: Konnte %s nicht öffnen – benutze %s stattdessen\n"
+
+#: mount/fstab.c:589
+#, 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/fstab.c:615
+#, 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/fstab.c:631
+#, 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/fstab.c:646
+#, c-format
+msgid "Can't lock lock file %s: %s\n"
+msgstr "Konnte die Lock-Datei %s nicht sperren: %s\n"
+
+# sperren
+#: mount/fstab.c:660
+#, c-format
+msgid "can't lock lock file %s: %s"
+msgstr "Konnte die Lock-Datei %s nicht sperren: %s"
+
+#: mount/fstab.c:662
+msgid "timed out"
+msgstr "Zeitüberschreitung"
+
+#: mount/fstab.c:669
+#, 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/fstab.c:791 mount/fstab.c:846
+#, c-format
+msgid "cannot open %s (%s) - mtab not updated"
+msgstr "Konnte %s nicht öffnen (%s) – mtab nicht aktualisiert"
+
+#: mount/fstab.c:855
+#, c-format
+msgid "error writing %s: %s"
+msgstr "Fehler beim Schreiben von %s: %s"
+
+#: mount/fstab.c:873
+#, c-format
+msgid "error changing mode of %s: %s\n"
+msgstr "Fehler beim Ändern der Zugriffsrechte von %s: %s\n"
+
+#: mount/fstab.c:886
+#, fuzzy, c-format
+msgid "error changing owner of %s: %s\n"
+msgstr "Fehler beim Ändern der Zugriffsrechte von %s: %s\n"
+
+#: mount/fstab.c:897
+#, c-format
+msgid "can't rename %s to %s: %s\n"
+msgstr "Konnte %s nicht in %s umbenennen: %s\n"
+
+#: mount/lomount.c:364
+#, fuzzy, c-format
+msgid "loop: can't set capacity on device %s: %s\n"
+msgstr "loop: Konnte keine Informationen über das Gerät %s erhalten: %s\n"
+
+#: mount/lomount.c:388
+#, fuzzy, c-format
+msgid ", offset %<PRIu64>"
+msgstr ", Offset %d"
+
+#: mount/lomount.c:391
+#, fuzzy, c-format
+msgid ", sizelimit %<PRIu64>"
+msgstr ", Größenbeschränkung %lld"
+
+# Verschlüsselungstyp
+#: mount/lomount.c:399
+#, fuzzy, c-format
+msgid ", encryption %s (type %<PRIu32>)"
+msgstr ", Verschlüsselungsmethode %s (Typ %d)"
+
+#: mount/lomount.c:412
+#, c-format
+msgid ", offset %d"
+msgstr ", Offset %d"
+
+# Verschlüsselungstyp
+#: mount/lomount.c:415
+#, c-format
+msgid ", encryption type %d\n"
+msgstr ", Verschlüsselungstyp %d\n"
+
+#: mount/lomount.c:423
+#, c-format
+msgid "loop: can't get info on device %s: %s\n"
+msgstr "loop: Konnte keine Informationen über das Gerät %s erhalten: %s\n"
+
+#: mount/lomount.c:434
+#, c-format
+msgid "loop: can't open device %s: %s\n"
+msgstr "loop: Konnte das Gerät %s nicht öffnen: %s\n"
+
+#: mount/lomount.c:450 mount/lomount.c:482 mount/lomount.c:544
+#: mount/lomount.c:589
+#, fuzzy, c-format
+msgid "%s: /dev directory does not exist."
+msgstr "%s: Nutzer „%s“ existiert nicht.\n"
+
+#: mount/lomount.c:461 mount/lomount.c:602
+#, fuzzy, c-format
+msgid "%s: no permission to look at /dev/loop%s<N>"
+msgstr "%s: Keine Zugriffsrechte, um auf /dev/loop# zu schauen"
+
+#: mount/lomount.c:605
+#, c-format
+msgid "%s: could not find any free loop device"
+msgstr "%s: Konnte kein freies „loop“-Gerät finden"
+
+#: mount/lomount.c:608
+#, c-format
+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.)"
+
+#: mount/lomount.c:638
+#, fuzzy
+msgid "Out of memory while reading passphrase"
+msgstr "Speicher ist alle beim Vergrößern eines Puffers.\n"
+
+#: mount/lomount.c:681
+#, fuzzy, c-format
+msgid "warning: %s is already associated with %s\n"
+msgstr "Sektor %d wird bereits benutzt\n"
+
+# That sounds somehow dumb.
+#: mount/lomount.c:697
+#, fuzzy, c-format
+msgid "warning: %s: is write-protected, using read-only.\n"
+msgstr "mount: %s%s ist schreibgeschützt, wird eingehängt im Nur-Lese-Modus"
+
+#: mount/lomount.c:733
+#, c-format
+msgid "Couldn't lock into memory, exiting.\n"
+msgstr "Konnte kein Lock im Speicher bekommen, beende.\n"
+
+#: mount/lomount.c:760
+#, c-format
+msgid "ioctl LOOP_SET_FD failed: %s\n"
+msgstr ""
+
+#: mount/lomount.c:817
+#, fuzzy, c-format
+msgid "set_loop(%s,%s,%llu,%llu): success\n"
+msgstr "set_loop(%s,%s,%llu): Erfolg\n"
+
+#: mount/lomount.c:838
+#, c-format
+msgid "del_loop(%s): success\n"
+msgstr "del_loop(%s): Erfolg\n"
+
+# this is actually an open()…
+#: mount/lomount.c:842
+#, c-format
+msgid "loop: can't delete device %s: %s\n"
+msgstr "loop: Konnte das Gerät %s nicht löschen: %s\n"
+
+#: mount/lomount.c:853
+#, c-format
+msgid "This mount was compiled without loop support. Please recompile.\n"
+msgstr ""
+"Dieses mount wurde ohne Loop-Unterstützung übersetzt. Bitte neu übersetzen.\n"
+
+# Setup
+#: mount/lomount.c:888
+#, fuzzy, c-format
+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 ""
+"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"
+
+#: mount/lomount.c:898
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -e | --encryption <type> enable data encryption with specified <name/num>\n"
+" -h | --help              this help\n"
+" -o | --offset <num>      start at offset <num> into file\n"
+"      --sizelimit <num>   loop limited to only <num> bytes of the file\n"
+" -p | --pass-fd <num>     read passphrase from file descriptor <num>\n"
+" -r | --read-only         setup read-only loop device\n"
+"      --show              print device name (with -f <file>)\n"
+" -v | --verbose           verbose mode\n"
+"\n"
+msgstr ""
+
+#: mount/lomount.c:1036 mount/lomount.c:1076
+#, fuzzy, c-format
+msgid "Loop device is %s\n"
+msgstr "loop: Konnte das Gerät %s nicht öffnen: %s\n"
+
+#: mount/lomount.c:1063
+#, fuzzy, c-format
+msgid "stolen loop=%s...trying again\n"
+msgstr "mount: loop=%s gestohlen …versuche es erneut\n"
+
+# XXX - I did have a better one for busy
+# libc.po:
+# "Device or resource busy"
+# "Das Gerät oder die Ressource ist belegt"
+#: mount/lomount.c:1073
+#, fuzzy, c-format
+msgid "%s: %s: device is busy"
+msgstr "umount: %s: Das Gerät wird momentan noch benutzt"
+
+#: mount/lomount.c:1090
+#, c-format
+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"
+
+#: mount/mount.c:329
+#, c-format
+msgid "mount: improperly quoted option string '%s'"
+msgstr ""
+
+#: mount/mount.c:362
+#, c-format
+msgid "mount: translated %s '%s' to '%s'\n"
+msgstr "mount: übersetzte %s „%s“ in „%s“\n"
+
+#: mount/mount.c:526
+#, 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/mount.c:531
+#, c-format
+msgid "mount: according to mtab, %s is mounted on %s"
+msgstr "mount: Laut mtab ist %s auf %s eingehängt"
+
+#: mount/mount.c:555
+#, c-format
+msgid "mount: can't open %s for writing: %s"
+msgstr "mount: Konnte %s nicht zum Schreiben öffnen: %s"
+
+#: mount/mount.c:572 mount/mount.c:1190
+#, c-format
+msgid "mount: error writing %s: %s"
+msgstr "mount: Fehler beim Schreiben von %s: %s"
+
+#: mount/mount.c:580
+#, c-format
+msgid "mount: error changing mode of %s: %s"
+msgstr "mount: Fehler beim Ändern der Zugriffsrechte von %s: %s"
+
+#: mount/mount.c:663
+#, fuzzy, c-format
+msgid "mount: cannot set group id: %s"
+msgstr "mount: Kann die Geschwindigkeit nicht setzen: %s"
+
+#: mount/mount.c:666
+#, fuzzy, c-format
+msgid "mount: cannot set user id: %s"
+msgstr "mount: Kann die Geschwindigkeit nicht setzen: %s"
+
+#: mount/mount.c:705 mount/mount.c:1809
+#, c-format
+msgid "mount: cannot fork: %s"
+msgstr "mount: Kann keinen neuen Prozess erzeugen: %s"
+
+#: mount/mount.c:842
+#, c-format
+msgid "Trying %s\n"
+msgstr "Versuche %s\n"
+
+#: mount/mount.c:870
+#, 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/mount.c:873
+#, 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/mount.c:876
+#, 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/mount.c:878
+#, c-format
+msgid "       I will try type %s\n"
+msgstr "       Werde den Typ %s versuchen\n"
+
+#: mount/mount.c:902
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr "%s sieht wie ein Swap-Bereich aus – nicht eingehängt"
+
+#: mount/mount.c:993
+msgid "mount failed"
+msgstr "mount ist fehlgeschlagen"
+
+#: mount/mount.c:995
+#, c-format
+msgid "mount: only root can mount %s on %s"
+msgstr "mount: nur „root“ kann %s auf %s einhängen"
+
+#: mount/mount.c:1065
+msgid "mount: loop device specified twice"
+msgstr "mount: das „loop“-Gerät wurde zweimal angegeben"
+
+#: mount/mount.c:1070
+msgid "mount: type specified twice"
+msgstr "mount: der Typ wurde doppelt angegeben"
+
+#: mount/mount.c:1082
+#, c-format
+msgid "mount: skipping the setup of a loop device\n"
+msgstr "mount: überspringe Aufsetzen des „loop“-Geräts\n"
+
+#: mount/mount.c:1094
+#, 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/mount.c:1104
+#, c-format
+msgid "mount: going to use the loop device %s\n"
+msgstr "mount: werde das „loop“-Gerät %s verwenden\n"
+
+#: mount/mount.c:1113
+#, c-format
+msgid "mount: stolen loop=%s ...trying again\n"
+msgstr "mount: loop=%s gestohlen …versuche es erneut\n"
+
+#: mount/mount.c:1118
+#, c-format
+msgid "mount: stolen loop=%s"
+msgstr "mount: loop=%s gestohlen"
+
+#: mount/mount.c:1123
+#, c-format
+msgid "mount: failed setting up loop device\n"
+msgstr "mount: Aufsetzen des „loop“-Geräts fehlgeschlagen\n"
+
+#: mount/mount.c:1134
+#, c-format
+msgid "mount: setup loop device successfully\n"
+msgstr "mount: „loop“-Gerät erfolgreich aufgesetzt\n"
+
+#: mount/mount.c:1168
+#, c-format
+msgid "mount: no %s found - creating it..\n"
+msgstr "mount: %s nicht gefunden – Erzeuge sie…\n"
+
+#: mount/mount.c:1185
+#, c-format
+msgid "mount: can't open %s: %s"
+msgstr "mount: Konnte %s nicht öffnen: %s"
+
+#: mount/mount.c:1206
+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/mount.c:1219
+#, c-format
+msgid "mount: cannot open %s for setting speed"
+msgstr "mount: Kann %s nicht zum Setzen der Geschwindigkeit öffnen"
+
+#: mount/mount.c:1222
+#, c-format
+msgid "mount: cannot set speed: %s"
+msgstr "mount: Kann die Geschwindigkeit nicht setzen: %s"
+
+#: mount/mount.c:1279
+#, 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/mount.c:1358
+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/mount.c:1361
+msgid "mount: you must specify the filesystem type"
+msgstr "mount: Sie müssen den Dateisystemtyp angeben"
+
+#: mount/mount.c:1364
+msgid "mount: mount failed"
+msgstr "mount: Einhängen ist fehlgeschlagen"
+
+#: mount/mount.c:1370 mount/mount.c:1407
+#, c-format
+msgid "mount: mount point %s is not a directory"
+msgstr "mount: Einhängepunkt %s ist kein Verzeichnis"
+
+# "mount: Zugriff verweigert"
+#: mount/mount.c:1372
+msgid "mount: permission denied"
+msgstr "mount: keine Berechtigung"
+
+#: mount/mount.c:1374
+msgid "mount: must be superuser to use mount"
+msgstr "mount: muss Superuser sein, um mount zu verwenden"
+
+#: mount/mount.c:1378 mount/mount.c:1382
+#, c-format
+msgid "mount: %s is busy"
+msgstr "mount: %s wird gerade benutzt"
+
+#: mount/mount.c:1384
+msgid "mount: proc already mounted"
+msgstr "mount: proc ist bereits eingehängt"
+
+#: mount/mount.c:1386
+#, c-format
+msgid "mount: %s already mounted or %s busy"
+msgstr "mount: %s ist bereits eingehängt oder %s wird gerade benutzt"
+
+#: mount/mount.c:1392
+#, c-format
+msgid "mount: mount point %s does not exist"
+msgstr "mount: Einhängepunkt %s existiert nicht"
+
+#: mount/mount.c:1394
+#, 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/mount.c:1399
+#, c-format
+msgid "mount: special device %s does not exist"
+msgstr "mount: Gerätedatei %s existiert nicht"
+
+#: mount/mount.c:1411
+#, 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/mount.c:1423
+#, c-format
+msgid "mount: %s not mounted already, or bad option"
+msgstr ""
+"mount: %s ist noch nicht eingehängt oder es wurden\n"
+"       ungültige Optionen angegeben"
+
+#: mount/mount.c:1425
+#, 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/mount.c:1432
+msgid ""
+"       (for several filesystems (e.g. nfs, cifs) you might\n"
+"       need a /sbin/mount.<type> helper program)"
+msgstr ""
+
+#: mount/mount.c:1441
+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/mount.c:1446
+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/mount.c:1453
+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/mount.c:1459
+msgid "mount table full"
+msgstr "Einhängetabelle ist voll"
+
+#: mount/mount.c:1461
+#, c-format
+msgid "mount: %s: can't read superblock"
+msgstr "mount: %s: Konnte den Superblock nicht lesen"
+
+#: mount/mount.c:1467
+#, c-format
+msgid "mount: %s: unknown device"
+msgstr "umount: %s: unbekanntes Gerät"
+
+#: mount/mount.c:1472
+#, c-format
+msgid "mount: unknown filesystem type '%s'"
+msgstr "mount: unbekannter Dateisystemtyp „%s“"
+
+#: mount/mount.c:1484
+#, c-format
+msgid "mount: probably you meant %s"
+msgstr "mount: Wahrscheinlich meinten sie „%s“"
+
+#: mount/mount.c:1487
+msgid "mount: maybe you meant 'iso9660'?"
+msgstr "mount: Vielleicht meinten Sie „iso9660“?"
+
+#: mount/mount.c:1490
+msgid "mount: maybe you meant 'vfat'?"
+msgstr "mount: Vielleicht meinten Sie „vfat“?"
+
+#: mount/mount.c:1493
+#, 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/mount.c:1501
+#, 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/mount.c:1503
+#, c-format
+msgid ""
+"mount: the kernel does not recognize %s as a block device\n"
+"       (maybe `insmod driver'?)"
+msgstr ""
+"mount: Das Kernel erkennt %s nicht als blockorientiertes\n"
+"       Gerät (Vielleicht hilft „insmod Treiber“?)"
+
+# "versuchen"
+#: mount/mount.c:1506
+#, 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/mount.c:1509
+#, c-format
+msgid "mount: %s is not a block device"
+msgstr "mount: %s ist kein blockorientiertes Gerät"
+
+#: mount/mount.c:1514
+#, c-format
+msgid "mount: %s is not a valid block device"
+msgstr "mount: %s ist kein gültiges blockorientiertes Gerät"
+
+#: mount/mount.c:1517
+msgid "block device "
+msgstr "blockorientiertes Gerät "
+
+#: mount/mount.c:1519
+#, c-format
+msgid "mount: cannot mount %s%s read-only"
+msgstr "mount: Konnte %s%s nicht im Nur-Lese-Modus einhängen"
+
+#: mount/mount.c:1523
+#, 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/mount.c:1527
+#, 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/mount.c:1542
+#, 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/mount.c:1552
+#, fuzzy, c-format
+msgid "mount: no medium found on %s ...trying again\n"
+msgstr "mount: loop=%s gestohlen …versuche es erneut\n"
+
+#: mount/mount.c:1558
+#, fuzzy, c-format
+msgid "mount: no medium found on %s"
+msgstr "mount: %s ist bereits auf %s eingehängt\n"
+
+#: mount/mount.c:1576
+#, 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/mount.c:1655
+#, 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/mount.c:1661
+#, 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/mount.c:1756
+#, c-format
+msgid "mount: %s already mounted on %s\n"
+msgstr "mount: %s ist bereits auf %s eingehängt\n"
+
+#: mount/mount.c:1890
+#, 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/mount.c:2213
+msgid "mount: only root can do that"
+msgstr "mount: Nur „root“ kann dies tun"
+
+#: mount/mount.c:2223
+msgid "nothing was mounted"
+msgstr "nichts wurde eingehängt"
+
+#: mount/mount.c:2241 mount/mount.c:2267
+msgid "mount: no such partition found"
+msgstr "mount: keine passende Partition gefunden"
+
+#: mount/mount.c:2244
+#, c-format
+msgid "mount: can't find %s in %s or %s"
+msgstr "mount: Konnte %s nicht in %s oder %s finden"
+
+#: mount/mount_mntent.c:165
+#, 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/mount_mntent.c:216
+#, c-format
+msgid "[mntent]: line %d in %s is bad%s\n"
+msgstr "[mntent]: Zeile %d in %s ist fehlerhaft%s\n"
+
+#: mount/mount_mntent.c:219
+msgid "; rest of file ignored"
+msgstr "; der Rest der Datei wurde ignoriert"
+
+#: mount/sundries.c:31
+msgid "bug in xstrndup call"
+msgstr "Fehler im Aufruf von xstrndup"
+
+#: mount/sundries.c:224 mount/sundries.c:280 mount/sundries.c:289
+#: mount/xmalloc.c:11
+msgid "not enough memory"
+msgstr "Nicht genügend Speicher"
+
+#: mount/swapon.c:84
+#, c-format
+msgid ""
+"The <special> parameter:\n"
+" {-L label | LABEL=label}             LABEL of device to be used\n"
+" {-U uuid  | 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"
+"\n"
+msgstr ""
+
+#: mount/swapon.c:92
+#, c-format
+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 ""
+
+#: mount/swapon.c:106
+#, c-format
+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 ""
+
+#: mount/swapon.c:140
+#, fuzzy, c-format
+msgid "%s: unexpected file format"
+msgstr "%s: unerwartetes Dateiende in %s-Datei\n"
+
+#: mount/swapon.c:184 mount/swapon.c:252 mount/swapon.c:397 mount/swapon.c:556
+#: mount/swapon.c:758
+#, fuzzy, c-format
+msgid "%s: open failed"
+msgstr "„openpty“ ist fehlgeschlagen\n"
+
+#: mount/swapon.c:205
+#, c-format
+msgid "%s: reinitializing the swap."
+msgstr ""
+
+#: mount/swapon.c:209
+#, fuzzy
+msgid "fork failed"
+msgstr "„fork“ fehlgeschlagen\n"
+
+#: mount/swapon.c:225
+#, fuzzy
+msgid "execv failed"
+msgstr "„exec“ fehlgeschlagen\n"
+
+#: mount/swapon.c:233
+#, fuzzy
+msgid "waitpid failed"
+msgstr "setuid() fehlgeschlagen"
+
+#: mount/swapon.c:257
+#, fuzzy, c-format
+msgid "%s: lseek failed"
+msgstr "„seek“ gescheitert."
+
+#: mount/swapon.c:263
+#, fuzzy, c-format
+msgid "%s: write signature failed"
+msgstr "Konnte %s nicht öffnen"
+
+#: mount/swapon.c:350
+#, c-format
+msgid "%s: found %sswap v%d signature string for %d KiB PAGE_SIZE\n"
+msgstr ""
+
+#: mount/swapon.c:370
+#, fuzzy, c-format
+msgid "%s: stat failed"
+msgstr "„seek“ gescheitert."
+
+#: mount/swapon.c:380
+#, fuzzy, c-format
+msgid "%s: insecure permissions %04o, %04o suggested."
+msgstr ""
+"%s: Warnung: %s hat unsichere Zugriffsrechte %04o, %04o wird empfohlen\n"
+
+# holes
+#: mount/swapon.c:388
+#, fuzzy, c-format
+msgid "%s: skipping - it appears to have holes."
+msgstr "%s: Überspringe die Datei %s – sie scheint Löcher zu enthalten.\n"
+
+#: mount/swapon.c:402
+#, fuzzy, c-format
+msgid "%s: get size failed"
+msgstr "„seek“ gescheitert."
+
+#: mount/swapon.c:408
+#, c-format
+msgid "%s: read swap header failed"
+msgstr ""
+
+#: mount/swapon.c:421
+#, c-format
+msgid "%s: last_page 0x%08llx is larger than actual size of swapspace"
+msgstr ""
+
+#: mount/swapon.c:426
+#, c-format
+msgid "%s: swap format pagesize does not match."
+msgstr ""
+
+#: mount/swapon.c:431
+#, c-format
+msgid ""
+"%s: swap format pagesize does not match. (Use --fixpgsz to reinitialize it.)"
+msgstr ""
+
+#: mount/swapon.c:440
+#, c-format
+msgid "%s: software suspend data detected. Rewriting the swap signature."
+msgstr ""
+
+# The first %s is swapon/swapoff
+#: mount/swapon.c:464 mount/swapon.c:514
+#, c-format
+msgid "%s on %s\n"
+msgstr "%s für %s\n"
+
+#: mount/swapon.c:486
+#, fuzzy, c-format
+msgid "%s: swapon failed"
+msgstr "„seek“ gescheitert."
+
+#: mount/swapon.c:493
+#, fuzzy, c-format
+msgid "cannot find the device for %s"
+msgstr "%s: Konnte das Gerät für %s nicht finden\n"
+
+#: mount/swapon.c:526
+#, fuzzy
+msgid "Not superuser."
+msgstr "Nicht Superuser.\n"
+
+#: mount/swapon.c:529
+#, fuzzy, c-format
+msgid "%s: swapoff failed"
+msgstr "„seek“ gescheitert."
+
+#: mount/umount.c:41
+#, c-format
+msgid "umount: compiled without support for -f\n"
+msgstr "umount: Die Unterstützung für -f wurde nicht mit übersetzt\n"
+
+#: mount/umount.c:111
+#, fuzzy, c-format
+msgid "umount: cannot set group id: %s"
+msgstr "mount: Kann die Geschwindigkeit nicht setzen: %s"
+
+#: mount/umount.c:114
+#, fuzzy, c-format
+msgid "umount: cannot set user id: %s"
+msgstr "mount: Kann die Geschwindigkeit nicht setzen: %s"
+
+#: mount/umount.c:139
+#, c-format
+msgid "umount: cannot fork: %s"
+msgstr "umount: Kann keinen neuen Prozess erzeugen: %s"
+
+#: mount/umount.c:160
+#, c-format
+msgid "umount: %s: invalid block device"
+msgstr "umount: %s: kein gültiges blockorientiertes Gerät"
+
+#: mount/umount.c:162
+#, c-format
+msgid "umount: %s: not mounted"
+msgstr "umount: %s ist nicht eingehängt"
+
+#: mount/umount.c:164
+#, c-format
+msgid "umount: %s: can't write superblock"
+msgstr "umount: %s: Konnte den „Superblock“ nicht schreiben"
+
+#: mount/umount.c:168
+#, 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/umount.c:173
+#, c-format
+msgid "umount: %s: not found"
+msgstr "umount: %s: Nicht gefunden"
+
+#: mount/umount.c:175
+#, c-format
+msgid "umount: %s: must be superuser to umount"
+msgstr "umount: %s: nur der Superuser kann umount durchführen"
+
+#: mount/umount.c:177
+#, c-format
+msgid "umount: %s: block devices not permitted on fs"
+msgstr "umount: %s: Blockgeräte auf Dateisystem nicht erlaubt"
+
+#: mount/umount.c:179
+#, c-format
+msgid "umount: %s: %s"
+msgstr "umount: %s: %s"
+
+#: mount/umount.c:235
+#, c-format
+msgid "no umount2, trying umount...\n"
+msgstr "kein umount2, versuche umount…\n"
+
+#: mount/umount.c:252
+#, 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/umount.c:263
+#, 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/umount.c:272
+#, c-format
+msgid "%s umounted\n"
+msgstr "%s ausgehängt\n"
+
+#: mount/umount.c:367
+msgid "umount: cannot find list of filesystems to unmount"
+msgstr "umount: Kann die Liste der Dateisysteme zum Aushängen nicht finden"
+
+#: mount/umount.c:397
+#, 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/umount.c:466
+#, fuzzy, c-format
+msgid "device %s is associated with %s\n"
+msgstr "Sektor %d wird bereits benutzt\n"
+
+#: mount/umount.c:472
+#, fuzzy, c-format
+msgid "device %s is not associated with %s\n"
+msgstr "Sektor %d wird bereits benutzt\n"
+
+#: mount/umount.c:485
+msgid "Cannot umount \"\"\n"
+msgstr "Kann \"\" nicht aushängen\n"
+
+#: mount/umount.c:491
+#, c-format
+msgid "Trying to umount %s\n"
+msgstr "Versuche, %s auszuhängen\n"
+
+#: mount/umount.c:504
+msgid "umount: confused when analyzing mtab"
+msgstr ""
+
+#: mount/umount.c:509
+#, c-format
+msgid "umount: cannot umount %s -- %s is mounted over it on the same point."
+msgstr ""
+
+#: mount/umount.c:516
+#, c-format
+msgid "Could not find %s in mtab\n"
+msgstr "Konnte %s nicht in „mtab“ finden\n"
+
+#: mount/umount.c:523
+#, c-format
+msgid "umount: %s is not mounted (according to mtab)"
+msgstr "umount: %s ist laut „mtab“ nicht eingehängt"
+
+#: mount/umount.c:547
+#, c-format
+msgid "umount: it seems %s is mounted multiple times"
+msgstr "umount: %s scheint mehrfach eingehängt zu sein"
+
+#: mount/umount.c:561
+#, 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/umount.c:567
+#, c-format
+msgid "umount: %s mount disagrees with the fstab"
+msgstr "umount: %s mount und fstab stimmen nicht überein"
+
+#: mount/umount.c:608
+#, c-format
+msgid "umount: only %s can unmount %s from %s"
+msgstr "umount: Nur %s kann %s von %s unmounten"
+
+#: mount/umount.c:695
+msgid "umount: only root can do that"
+msgstr "umount: Nur „root“ kann dies tun"
+
+#: schedutils/chrt.c:56
+#, 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"
+"\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 ""
+
+#: schedutils/chrt.c:88
+#, fuzzy, c-format
+msgid "failed to get pid %d's policy"
+msgstr "Konnte Persönlichkeit nicht auf %s setzen"
+
+#: schedutils/chrt.c:90
+#, c-format
+msgid "pid %d's %s scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:112
+#, fuzzy, c-format
+msgid "unknown\n"
+msgstr "unbekannter"
+
+#: schedutils/chrt.c:116
+#, c-format
+msgid "failed to get pid %d's attributes"
+msgstr ""
+
+#: schedutils/chrt.c:118
+#, c-format
+msgid "pid %d's %s scheduling priority: %d\n"
+msgstr ""
+
+#: schedutils/chrt.c:147
+#, c-format
+msgid "SCHED_%s min/max priority\t: %d/%d\n"
+msgstr ""
+
+#: schedutils/chrt.c:150
+#, fuzzy, c-format
+msgid "SCHED_%s not supported?\n"
+msgstr "NFS über TCP wird nicht unterstützt.\n"
+
+#: schedutils/chrt.c:206
+#, fuzzy
+msgid "failed to parse pid"
+msgstr "%s: fehlschlagenes Öffnen von: %s\n"
+
+#: schedutils/chrt.c:228
+#, fuzzy
+msgid "current"
+msgstr "ncount"
+
+#: schedutils/chrt.c:236
+#, fuzzy
+msgid "failed to parse priority"
+msgstr "Konnte Persönlichkeit nicht auf %s setzen"
+
+#: schedutils/chrt.c:242
+#, fuzzy, c-format
+msgid "failed to set pid %d's policy"
+msgstr "Konnte Persönlichkeit nicht auf %s setzen"
+
+#: schedutils/chrt.c:251
+#, fuzzy, c-format
+msgid "failed to execute %s"
+msgstr "ioctl() konnte Zeit nicht von %s lesen."
+
+#: schedutils/ionice.c:57
+#, fuzzy
+msgid "ioprio_get failed"
+msgstr "„openpty“ ist fehlgeschlagen\n"
+
+#: schedutils/ionice.c:75
+#, fuzzy
+msgid "ioprio_set failed"
+msgstr "„openpty“ ist fehlgeschlagen\n"
+
+#: schedutils/ionice.c:81
+#, c-format
+msgid ""
+"\n"
+"ionice - sets or gets process io scheduling class and priority.\n"
+"\n"
+"Usage:\n"
+"  ionice [ options ] -p <pid> [<pid> ...]\n"
+"  ionoce [ 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 ""
+
+#: schedutils/ionice.c:110 schedutils/ionice.c:112
+#, fuzzy, c-format
+msgid "cannot parse number '%s'"
+msgstr "es ist nicht möglich, %s zu öffnen"
+
+#: schedutils/ionice.c:151
+msgid "ignoring given class data for none class"
+msgstr ""
+
+#: schedutils/ionice.c:159
+msgid "ignoring given class data for idle class"
+msgstr ""
+
+#: schedutils/ionice.c:163
+#, c-format
+msgid "bad prio class %d"
+msgstr ""
+
+#: schedutils/ionice.c:187
+#, fuzzy
+msgid "execvp failed"
+msgstr "„exec“ fehlgeschlagen\n"
+
+#: sys-utils/ctrlaltdel.c:27
+#, c-format
+msgid "You must be root to set the Ctrl-Alt-Del behaviour.\n"
+msgstr "Nur root kann das Verhalten von Strg-Alt-Entf ändern.\n"
+
+#: sys-utils/ctrlaltdel.c:42
+#, c-format
+msgid "Usage: ctrlaltdel hard|soft\n"
+msgstr "Aufruf: ctrlaltdel hard|soft\n"
+
+#: sys-utils/cytune.c:114
+#, 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\n"
+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:125
+#, c-format
+msgid ""
+"File %s, For threshold value %lu and timrout value %lu, Maximum characters "
+"in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f\n"
+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:189
+#, c-format
+msgid "Invalid interval value: %s\n"
+msgstr "Ungültiger interner Wert: %s\n"
+
+#: sys-utils/cytune.c:197
+#, c-format
+msgid "Invalid set value: %s\n"
+msgstr "Ungültiger Wert zu setzen: %s\n"
+
+#: sys-utils/cytune.c:205
+#, c-format
+msgid "Invalid default value: %s\n"
+msgstr "Ungültiger voreingestellter Wert: %s\n"
+
+#: sys-utils/cytune.c:213
+#, c-format
+msgid "Invalid set time value: %s\n"
+msgstr "Ungültiger Zeit-Wert zu setzen: %s\n"
+
+#: sys-utils/cytune.c:221
+#, c-format
+msgid "Invalid default time value: %s\n"
+msgstr "Ungültiger voreingestellter Zeit-Wert: %s\n"
+
+#: sys-utils/cytune.c:238
+#, c-format
+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"
+
+#: sys-utils/cytune.c:250 sys-utils/cytune.c:269 sys-utils/cytune.c:289
+#: sys-utils/cytune.c:339
+#, c-format
+msgid "Can't open %s: %s\n"
+msgstr "Konnte %s nicht öffnen: %s\n"
+
+#: sys-utils/cytune.c:257
+#, c-format
+msgid "Can't set %s to threshold %d: %s\n"
+msgstr "Kann %s nicht auf Schwelle %d setzen: %s\n"
+
+#: sys-utils/cytune.c:276
+#, c-format
+msgid "Can't set %s to time threshold %d: %s\n"
+msgstr "Kann %s nicht auf Zeitschwelle %d setzen: %s\n"
+
+#: sys-utils/cytune.c:294 sys-utils/cytune.c:351 sys-utils/cytune.c:382
+#, c-format
+msgid "Can't get threshold for %s: %s\n"
+msgstr "Kann Schwelle für %s nicht ermitteln: %s\n"
+
+#: sys-utils/cytune.c:300 sys-utils/cytune.c:357 sys-utils/cytune.c:388
+#, c-format
+msgid "Can't get timeout for %s: %s\n"
+msgstr "Kann Auszeit für %s nicht ermitteln: %s\n"
+
+#: sys-utils/cytune.c:306
+#, 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:309
+#, c-format
+msgid "%s: %ld default threshold and %ld default timeout\n"
+msgstr "%s: %ld voreingestellte Schwelle und %ld voreingestellte Auszeit\n"
+
+#: sys-utils/cytune.c:327
+msgid "Can't set signal handler"
+msgstr "Kann Signalhandler nicht ermitteln"
+
+#: sys-utils/cytune.c:331 sys-utils/cytune.c:366
+msgid "gettimeofday failed"
+msgstr "„gettimeofday“ fehlgeschlagen"
+
+#: sys-utils/cytune.c:344 sys-utils/cytune.c:376
+#, c-format
+msgid "Can't issue CYGETMON on %s: %s\n"
+msgstr "Kann kein CYGETMON auf %s auslösen: %s\n"
+
+#: sys-utils/cytune.c:418
+#, 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:424
+#, 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:429
+#, 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:435
+#, c-format
+msgid "   %f int/sec; %f rec (char/sec)\n"
+msgstr "   %f int/sec; %f rec (char/sec)\n"
+
+# "Level"
+#: sys-utils/dmesg.c:45
+#, fuzzy, c-format
+msgid "Usage: %s [-c] [-n level] [-r] [-s bufsize]\n"
+msgstr "Aufruf: %s [-c] [-n Level] [-s Puffergröße]\n"
+
+#: sys-utils/flock.c:65
+#, c-format
+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 ""
+
+#: sys-utils/flock.c:192
+#, fuzzy, c-format
+msgid "%s: %s requires exactly one command argument\n"
+msgstr "%s erwartet ein Argument\n"
+
+#: sys-utils/flock.c:219
+#, fuzzy, c-format
+msgid "%s: cannot open lock file %s: %s\n"
+msgstr "%s: Konnte %s nicht öffnen: %s\n"
+
+#: sys-utils/flock.c:231
+#, fuzzy, c-format
+msgid "%s: bad number: %s\n"
+msgstr "%s: Ungültiger Wert\n"
+
+#: sys-utils/flock.c:238
+#, c-format
+msgid "%s: requires file descriptor, file or directory\n"
+msgstr ""
+
+#: sys-utils/flock.c:294
+#, fuzzy, c-format
+msgid "%s: fork failed: %s\n"
+msgstr "„fork“ fehlgeschlagen\n"
+
+#: sys-utils/ipcmk.c:84
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage: %s [options]\n"
+"\n"
+msgstr "Aufruf: %s [Optionen] gerät …\n"
+
+#: sys-utils/ipcmk.c:86
+#, c-format
+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 ""
+
+#: sys-utils/ipcmk.c:90
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see ipcmk(1).\n"
+"\n"
+msgstr ""
+"\n"
+"Für weitere Informationen siehe setarch(8).\n"
+
+#: sys-utils/ipcmk.c:142
+msgid "create share memory failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:144
+#, fuzzy, c-format
+msgid "Shared memory id: %d\n"
+msgstr ""
+"\n"
+"Gemeinsamer Speicher Segment shmid=%d\n"
+
+#: sys-utils/ipcmk.c:150
+msgid "create message queue failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:152
+#, fuzzy, c-format
+msgid "Message queue id: %d\n"
+msgstr ""
+"\n"
+"Nachrichtenwarteschlange msqid=%d\n"
+
+#: sys-utils/ipcmk.c:158
+#, fuzzy
+msgid "create semaphore failed"
+msgstr "zugewiesene Semaphoren = %d\n"
+
+#: sys-utils/ipcmk.c:160
+#, fuzzy, c-format
+msgid "Semaphore id: %d\n"
+msgstr ""
+"\n"
+"Semaphorenfeld semid=%d\n"
+
+#: sys-utils/ipcrm.c:66
+#, c-format
+msgid "invalid id: %s\n"
+msgstr "ungültige ID: %s\n"
+
+#: sys-utils/ipcrm.c:84
+#, c-format
+msgid "cannot remove id %s (%s)\n"
+msgstr "kann ID %s (%s) nicht entfernen\n"
+
+#: sys-utils/ipcrm.c:99
+#, c-format
+msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
+msgstr "veralteter, nicht empfohlener, Aufruf: %s {shm | msg | sem} Id …\n"
+
+#: sys-utils/ipcrm.c:126
+#, c-format
+msgid "unknown resource type: %s\n"
+msgstr "unbekannter Ressourcentyp: %s\n"
+
+#: sys-utils/ipcrm.c:130
+#, c-format
+msgid "resource(s) deleted\n"
+msgstr "Ressource(n) gelöscht\n"
+
+#: sys-utils/ipcrm.c:140
+#, c-format
+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"
+
+#: sys-utils/ipcrm.c:181
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: unzulässige Option -- %c\n"
+
+#: sys-utils/ipcrm.c:193
+#, c-format
+msgid "%s: illegal key (%s)\n"
+msgstr "%s: unzulässiger Schlüssel (%s)\n"
+
+# libc.po: "Keine Berechtigung"
+#: sys-utils/ipcrm.c:208 sys-utils/ipcrm.c:240
+msgid "permission denied for key"
+msgstr "Keine Berechtigung für Schlüssel"
+
+#: sys-utils/ipcrm.c:211 sys-utils/ipcrm.c:250
+msgid "already removed key"
+msgstr "Schlüssel schon entfernt"
+
+#: sys-utils/ipcrm.c:214 sys-utils/ipcrm.c:245
+msgid "invalid key"
+msgstr "ungültiger Schlüssel"
+
+#: sys-utils/ipcrm.c:217 sys-utils/ipcrm.c:255
+msgid "unknown error in key"
+msgstr "unbekannter Fehler im Schlüssel"
+
+# libc.po: "Keine Berechtigung"
+#: sys-utils/ipcrm.c:241
+msgid "permission denied for id"
+msgstr "Keine Berechtigung für ID"
+
+#: sys-utils/ipcrm.c:246
+msgid "invalid id"
+msgstr "ungültige ID"
+
+#: sys-utils/ipcrm.c:251
+msgid "already removed id"
+msgstr "ID schon entfernt"
+
+#: sys-utils/ipcrm.c:256
+msgid "unknown error in id"
+msgstr "unbekannter Fehler in ID"
+
+#: sys-utils/ipcrm.c:259
+#, c-format
+msgid "%s: %s (%s)\n"
+msgstr "%s: %s (%s)\n"
+
+#: sys-utils/ipcrm.c:267
+#, c-format
+msgid "%s: unknown argument: %s\n"
+msgstr "%s: Unbekanntes Argument: %s\n"
+
+#: sys-utils/ipcs.c:120
+#, c-format
+msgid "usage : %s -asmq -tclup \n"
+msgstr "Aufruf: %s -asmq -tclup \n"
+
+#: sys-utils/ipcs.c:121
+#, c-format
+msgid "\t%s [-s -m -q] -i id\n"
+msgstr "\t%s [-s -m -q] -i Id\n"
+
+#: sys-utils/ipcs.c:122
+#, c-format
+msgid "\t%s -h for help.\n"
+msgstr "\t%s -h für weitere Informationen.\n"
+
+#: sys-utils/ipcs.c:128
+#, c-format
+msgid ""
+"%s provides information on ipc facilities for which you have read access.\n"
+msgstr ""
+"%s liefert Informationen über Einrichtungen von IPC (Inter Process\n"
+"Communication), auf die Sie Lesezugriff haben.\n"
+
+#: sys-utils/ipcs.c:130
+#, c-format
+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"
+
+#: sys-utils/ipcs.c:131
+#, c-format
+msgid ""
+"\t-s : semaphores\n"
+"\t-a : all (default)\n"
+msgstr ""
+"\t-s : Semaphoren\n"
+"\t-a : alles (Voreinstellung)\n"
+
+#: sys-utils/ipcs.c:132
+#, c-format
+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"
+
+#: sys-utils/ipcs.c:133
+#, c-format
+msgid ""
+"\t-l : limits\n"
+"\t-u : summary\n"
+msgstr ""
+"\t-l : Grenzen\n"
+"\t-u : Zusammenfassung\n"
+
+#: sys-utils/ipcs.c:134
+#, c-format
+msgid "-i id [-s -q -m] : details on resource identified by id\n"
+msgstr "-i Id [-s -q -m] : Details über mit Id identifizierte Ressource\n"
+
+#: sys-utils/ipcs.c:258
+#, 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:264
+#, c-format
+msgid "------ Shared Memory Limits --------\n"
+msgstr "------ Gemeinsamer Speicher: Grenzen --------\n"
+
+#: sys-utils/ipcs.c:269
+#, c-format
+msgid "max number of segments = %lu\n"
+msgstr "Maximale Anzahl der Segmente = %lu\n"
+
+#: sys-utils/ipcs.c:271
+#, c-format
+msgid "max seg size (kbytes) = %lu\n"
+msgstr "Maximale Segmentgröße (KByte) = %lu\n"
+
+#: sys-utils/ipcs.c:273
+#, c-format
+msgid "max total shared memory (kbytes) = %llu\n"
+msgstr "Maximaler gesamter gemeinsamer Speicher (kBytes) = %llu\n"
+
+#: sys-utils/ipcs.c:275
+#, c-format
+msgid "min seg size (bytes) = %lu\n"
+msgstr "Minimale Segmentgröße (Bytes) = %lu\n"
+
+#: sys-utils/ipcs.c:280
+#, c-format
+msgid "------ Shared Memory Status --------\n"
+msgstr "------ Gemeinsamer Speicher: Status --------\n"
+
+#: sys-utils/ipcs.c:281
+#, c-format
+msgid "segments allocated %d\n"
+msgstr "allozierte Segmente %d\n"
+
+#: sys-utils/ipcs.c:282
+#, c-format
+msgid "pages allocated %ld\n"
+msgstr "allozierte Seiten %ld\n"
+
+#: sys-utils/ipcs.c:283
+#, c-format
+msgid "pages resident  %ld\n"
+msgstr "residente Seiten  %ld\n"
+
+#: sys-utils/ipcs.c:284
+#, c-format
+msgid "pages swapped   %ld\n"
+msgstr "geswappte Seiten  %ld\n"
+
+#: sys-utils/ipcs.c:285
+#, c-format
+msgid "Swap performance: %ld attempts\t %ld successes\n"
+msgstr "Swapleistung: %ld Versuche\t %ldErfolge\n"
+
+#: sys-utils/ipcs.c:290
+#, c-format
+msgid "------ Shared Memory Segment Creators/Owners --------\n"
+msgstr "------ Gemeinsamer Speicher: Erzeuger/Besitzer der Segmente --------\n"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:298 sys-utils/ipcs.c:305
+#: sys-utils/ipcs.c:311
+msgid "shmid"
+msgstr "shmid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:311 sys-utils/ipcs.c:412
+#: sys-utils/ipcs.c:427 sys-utils/ipcs.c:510 sys-utils/ipcs.c:528
+msgid "perms"
+msgstr "Rechte"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "cuid"
+msgstr "cuid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "cgid"
+msgstr "cgid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "uid"
+msgstr "uid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "gid"
+msgstr "gid"
+
+#: sys-utils/ipcs.c:296
+#, c-format
+msgid "------ Shared Memory Attach/Detach/Change Times --------\n"
+msgstr "------ Gemeinsamer Speicher: Attach/Detach/Change-Zeiten --------\n"
+
+#: sys-utils/ipcs.c:298 sys-utils/ipcs.c:305 sys-utils/ipcs.c:311
+#: sys-utils/ipcs.c:418 sys-utils/ipcs.c:427 sys-utils/ipcs.c:516
+#: sys-utils/ipcs.c:522 sys-utils/ipcs.c:528
+msgid "owner"
+msgstr "Besitzer"
+
+#: sys-utils/ipcs.c:298
+msgid "attached"
+msgstr "Attach"
+
+#: sys-utils/ipcs.c:298
+msgid "detached"
+msgstr "Detach"
+
+#: sys-utils/ipcs.c:299
+msgid "changed"
+msgstr "Change"
+
+#: sys-utils/ipcs.c:303
+#, c-format
+msgid "------ Shared Memory Creator/Last-op --------\n"
+msgstr "------ Gemeinsamer Speicher: Erzeuger/Last-Op --------\n"
+
+#: sys-utils/ipcs.c:305
+msgid "cpid"
+msgstr "cpid"
+
+#: sys-utils/ipcs.c:305
+msgid "lpid"
+msgstr "lpid"
+
+#: sys-utils/ipcs.c:309
+#, c-format
+msgid "------ Shared Memory Segments --------\n"
+msgstr "------ Gemeinsamer Speicher: Segmente --------\n"
+
+#: sys-utils/ipcs.c:311 sys-utils/ipcs.c:427 sys-utils/ipcs.c:528
+msgid "key"
+msgstr "Schlüssel"
+
+#: sys-utils/ipcs.c:311
+msgid "bytes"
+msgstr "Bytes"
+
+#: sys-utils/ipcs.c:312
+msgid "nattch"
+msgstr "nattch"
+
+#: sys-utils/ipcs.c:312
+msgid "status"
+msgstr "Status"
+
+#: sys-utils/ipcs.c:333 sys-utils/ipcs.c:335 sys-utils/ipcs.c:337
+#: sys-utils/ipcs.c:448 sys-utils/ipcs.c:450 sys-utils/ipcs.c:549
+#: sys-utils/ipcs.c:551 sys-utils/ipcs.c:553 sys-utils/ipcs.c:604
+#: sys-utils/ipcs.c:606 sys-utils/ipcs.c:634 sys-utils/ipcs.c:636
+#: sys-utils/ipcs.c:638 sys-utils/ipcs.c:661
+msgid "Not set"
+msgstr "Nicht gesetzt"
+
+#: sys-utils/ipcs.c:365
+msgid "dest"
+msgstr "zerstört"
+
+#: sys-utils/ipcs.c:366
+msgid "locked"
+msgstr "gesperrt"
+
+#: sys-utils/ipcs.c:386
+#, c-format
+msgid "kernel not configured for semaphores\n"
+msgstr "Kernel nicht für Semaphoren konfiguriert\n"
+
+#: sys-utils/ipcs.c:392
+#, c-format
+msgid "------ Semaphore Limits --------\n"
+msgstr "------ Semaphorengrenzen --------\n"
+
+#: sys-utils/ipcs.c:396
+#, c-format
+msgid "max number of arrays = %d\n"
+msgstr "maximale Anzahl von Feldern = %d\n"
+
+#: sys-utils/ipcs.c:397
+#, c-format
+msgid "max semaphores per array = %d\n"
+msgstr "maximale Semaphoren pro Feld = %d\n"
+
+#: sys-utils/ipcs.c:398
+#, c-format
+msgid "max semaphores system wide = %d\n"
+msgstr "maximale Semaphoren systemweit = %d\n"
+
+#: sys-utils/ipcs.c:399
+#, c-format
+msgid "max ops per semop call = %d\n"
+msgstr "maximale Operations pro Semop-Ruf = %d\n"
+
+#: sys-utils/ipcs.c:400
+#, c-format
+msgid "semaphore max value = %d\n"
+msgstr "maximaler Semaphorenwert = %d\n"
+
+#: sys-utils/ipcs.c:404
+#, c-format
+msgid "------ Semaphore Status --------\n"
+msgstr "------ Semaphorenstatus --------\n"
+
+#: sys-utils/ipcs.c:405
+#, c-format
+msgid "used arrays = %d\n"
+msgstr "benutzte Felder = %d\n"
+
+#: sys-utils/ipcs.c:406
+#, c-format
+msgid "allocated semaphores = %d\n"
+msgstr "zugewiesene Semaphoren = %d\n"
+
+#: sys-utils/ipcs.c:410
+#, c-format
+msgid "------ Semaphore Arrays Creators/Owners --------\n"
+msgstr "------ Semaphorenfelder: Erzeuger/Besitzer --------\n"
+
+#: sys-utils/ipcs.c:412 sys-utils/ipcs.c:418 sys-utils/ipcs.c:427
+msgid "semid"
+msgstr "SemID"
+
+#: sys-utils/ipcs.c:416
+#, c-format
+msgid "------ Semaphore Operation/Change Times --------\n"
+msgstr "------ Semaphore-Operations/Änderungs-Zeiten --------\n"
+
+#: sys-utils/ipcs.c:418
+msgid "last-op"
+msgstr "last-op"
+
+#: sys-utils/ipcs.c:418
+msgid "last-changed"
+msgstr "last-changed"
+
+#: sys-utils/ipcs.c:425
+#, c-format
+msgid "------ Semaphore Arrays --------\n"
+msgstr "------ Semaphorenfelder --------\n"
+
+#: sys-utils/ipcs.c:427
+msgid "nsems"
+msgstr "nsems"
+
+#: sys-utils/ipcs.c:486
+#, c-format
+msgid "kernel not configured for message queues\n"
+msgstr "Kernel nicht für Nachrichtenschlangen konfiguriert\n"
+
+#: sys-utils/ipcs.c:494
+#, c-format
+msgid "------ Messages: Limits --------\n"
+msgstr "------ Nachrichten: Grenzen --------\n"
+
+#: sys-utils/ipcs.c:495
+#, c-format
+msgid "max queues system wide = %d\n"
+msgstr "maximale Warteschlangen systemweit = %d\n"
+
+#: sys-utils/ipcs.c:496
+#, c-format
+msgid "max size of message (bytes) = %d\n"
+msgstr "maximale Größe der Nachricht (Bytes) = %d\n"
+
+#: sys-utils/ipcs.c:497
+#, 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:501
+#, c-format
+msgid "------ Messages: Status --------\n"
+msgstr "------ Nachrichten: Status --------\n"
+
+#: sys-utils/ipcs.c:502
+#, c-format
+msgid "allocated queues = %d\n"
+msgstr "zugewiesene Warteschlangen = %d\n"
+
+#: sys-utils/ipcs.c:503
+#, c-format
+msgid "used headers = %d\n"
+msgstr "benutzte Köpfe = %d\n"
+
+#: sys-utils/ipcs.c:504
+#, c-format
+msgid "used space = %d bytes\n"
+msgstr "benutzter Platz = %d Bytes\n"
+
+#: sys-utils/ipcs.c:508
+#, c-format
+msgid "------ Message Queues: Creators/Owners --------\n"
+msgstr "------ Nachrichtenwarteschlangen: Erzeuger/Besitzer --------\n"
+
+#: sys-utils/ipcs.c:510 sys-utils/ipcs.c:516 sys-utils/ipcs.c:522
+#: sys-utils/ipcs.c:528
+msgid "msqid"
+msgstr "msqid"
+
+#: sys-utils/ipcs.c:514
+#, c-format
+msgid "------ Message Queues Send/Recv/Change Times --------\n"
+msgstr ""
+"------ Nachrichtenwarteschlangen: Versand/Empfang/Änderung-Zeiten --------\n"
+
+#: sys-utils/ipcs.c:516
+msgid "send"
+msgstr "Versand"
+
+#: sys-utils/ipcs.c:516
+msgid "recv"
+msgstr "Empfang"
+
+#: sys-utils/ipcs.c:516
+msgid "change"
+msgstr "Änderung"
+
+#: sys-utils/ipcs.c:520
+#, c-format
+msgid "------ Message Queues PIDs --------\n"
+msgstr "------ Nachrichtenwarteschlangen: PIDs --------\n"
+
+#: sys-utils/ipcs.c:522
+msgid "lspid"
+msgstr "lspid"
+
+#: sys-utils/ipcs.c:522
+msgid "lrpid"
+msgstr "lrpid"
+
+#: sys-utils/ipcs.c:526
+#, c-format
+msgid "------ Message Queues --------\n"
+msgstr "------ Nachrichtenwarteschlangen --------\n"
+
+#: sys-utils/ipcs.c:529
+msgid "used-bytes"
+msgstr "Benutzt-Bytes"
+
+#: sys-utils/ipcs.c:529
+msgid "messages"
+msgstr "Nachrichten"
+
+#: sys-utils/ipcs.c:593
+#, fuzzy
+msgid "shmctl failed"
+msgstr "Aufruf von „fsync“ fehlgeschlagen"
+
+#: sys-utils/ipcs.c:595
+#, 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:596
+#, c-format
+msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+
+# similiar message below.
+#: sys-utils/ipcs.c:598
+#, c-format
+msgid "mode=%#o\taccess_perms=%#o\n"
+msgstr "mode=%#o\taccess_perms=%#o\n"
+
+#: sys-utils/ipcs.c:600
+#, c-format
+msgid "bytes=%ld\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+msgstr "bytes=%ld\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+
+#: sys-utils/ipcs.c:603
+#, c-format
+msgid "att_time=%-26.24s\n"
+msgstr "att_time = %-26.24s\n"
+
+#: sys-utils/ipcs.c:605
+#, c-format
+msgid "det_time=%-26.24s\n"
+msgstr "det_time = %-26.24s\n"
+
+#: sys-utils/ipcs.c:607 sys-utils/ipcs.c:637
+#, c-format
+msgid "change_time=%-26.24s\n"
+msgstr "Änderungszeit = %-26.24s\n"
+
+#: sys-utils/ipcs.c:619
+#, fuzzy
+msgid "msgctl failed"
+msgstr "Aufruf von „fsync“ fehlgeschlagen"
+
+#: sys-utils/ipcs.c:621
+#, c-format
+msgid ""
+"\n"
+"Message Queue msqid=%d\n"
+msgstr ""
+"\n"
+"Nachrichtenwarteschlange msqid=%d\n"
+
+#: sys-utils/ipcs.c:622
+#, c-format
+msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
+
+#: sys-utils/ipcs.c:624
+#, 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:633
+#, c-format
+msgid "send_time=%-26.24s\n"
+msgstr "Sendezeit = %-26.24s\n"
+
+#: sys-utils/ipcs.c:635
+#, c-format
+msgid "rcv_time=%-26.24s\n"
+msgstr "Empfangszeit = %-26.24s\n"
+
+#: sys-utils/ipcs.c:652 sys-utils/ipcs.c:674
+#, fuzzy
+msgid "semctl failed"
+msgstr "„seek“ gescheitert."
+
+#: sys-utils/ipcs.c:654
+#, c-format
+msgid ""
+"\n"
+"Semaphore Array semid=%d\n"
+msgstr ""
+"\n"
+"Semaphorenfeld semid=%d\n"
+
+#: sys-utils/ipcs.c:655
+#, c-format
+msgid "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+msgstr "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+
+#: sys-utils/ipcs.c:657
+#, c-format
+msgid "mode=%#o, access_perms=%#o\n"
+msgstr "mode=%#o, access_perms=%#o\n"
+
+#: sys-utils/ipcs.c:659
+#, c-format
+msgid "nsems = %ld\n"
+msgstr "nsems = %ld\n"
+
+#: sys-utils/ipcs.c:660
+#, c-format
+msgid "otime = %-26.24s\n"
+msgstr "otime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:662
+#, c-format
+msgid "ctime = %-26.24s\n"
+msgstr "ctime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:665
+msgid "semnum"
+msgstr "Semnum"
+
+#: sys-utils/ipcs.c:665
+msgid "value"
+msgstr "Wert"
+
+#: sys-utils/ipcs.c:665
+msgid "ncount"
+msgstr "ncount"
+
+#: sys-utils/ipcs.c:665
+msgid "zcount"
+msgstr "zcount"
+
+#: sys-utils/ipcs.c:665
+msgid "pid"
+msgstr "Pid"
+
+#: sys-utils/ldattach.c:92
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [ -dhV78neo12 ] [ -s <speed> ] <ldisc> <device>\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:94
+msgid ""
+"\n"
+"Known <ldisc> names:\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:179
+#, fuzzy, c-format
+msgid "invalid speed: %s"
+msgstr "ungültige ID: %s\n"
+
+# "mkfs aus util-linux-2.10d"
+# "mkfs von util-linux-2.10d"
+#: sys-utils/ldattach.c:182
+#, fuzzy, c-format
+msgid "ldattach from %s\n"
+msgstr "%s von %s\n"
+
+#: sys-utils/ldattach.c:187 text-utils/tailf.c:205
+#, fuzzy
+msgid "invalid option"
+msgstr "ungültige ID"
+
+#: sys-utils/ldattach.c:199
+#, fuzzy, c-format
+msgid "invalid line discipline: %s"
+msgstr "ungültige ID: %s\n"
+
+#: sys-utils/ldattach.c:207
+#, fuzzy, c-format
+msgid "%s is not a serial line"
+msgstr "%s ist kein blockorientiertes Gerät"
+
+#: sys-utils/ldattach.c:213
+#, 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:216
+#, c-format
+msgid "speed %d unsupported"
+msgstr ""
+
+#: sys-utils/ldattach.c:247
+#, 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:254
+#, fuzzy
+msgid "cannot set line discipline"
+msgstr "Konnte „seek()“ nicht auf der Festplatte benutzen"
+
+#: sys-utils/ldattach.c:260
+#, fuzzy
+msgid "cannot daemonize"
+msgstr "es ist nicht möglich, die Größe von %s festzustellen"
+
+#: sys-utils/lscpu.c:64
+#, fuzzy
+msgid "none"
+msgstr "Kein"
+
+#: sys-utils/lscpu.c:65
+msgid "para"
+msgstr ""
+
+#: sys-utils/lscpu.c:66
+msgid "full"
+msgstr ""
+
+#: sys-utils/lscpu.c:129 sys-utils/lscpu.c:152 sys-utils/lscpu.c:441
+#, fuzzy, c-format
+msgid "error: %s"
+msgstr "Fehler in regulärem Ausdruck: "
+
+#: sys-utils/lscpu.c:154
+#, fuzzy, c-format
+msgid "error parse: %s"
+msgstr "Fehler beim Lesen von %s\n"
+
+#: sys-utils/lscpu.c:176
+#, fuzzy
+msgid "error: strdup failed"
+msgstr "Konnte %s nicht öffnen"
+
+#: sys-utils/lscpu.c:259
+#, fuzzy
+msgid "error: uname failed"
+msgstr ""
+"\n"
+"Fehler beim Schließen von Datei\n"
+
+#: sys-utils/lscpu.c:491
+#, fuzzy
+msgid "error: malloc failed"
+msgstr "„malloc“ schlug fehl"
+
+#: sys-utils/lscpu.c:506
+msgid "error: /sys filesystem is not accessable."
+msgstr ""
+
+#: sys-utils/lscpu.c:524
+#, 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"
+"# CPU,Core,Socket,Node"
+msgstr ""
+
+#: sys-utils/lscpu.c:590
+msgid "Thread(s) per core:"
+msgstr ""
+
+#: sys-utils/lscpu.c:591
+msgid "Core(s) per socket:"
+msgstr ""
+
+#: sys-utils/lscpu.c:592
+msgid "CPU socket(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:596
+msgid "NUMA node(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:598
+msgid "Vendor ID:"
+msgstr ""
+
+#: sys-utils/lscpu.c:600
+msgid "CPU family:"
+msgstr ""
+
+#: sys-utils/lscpu.c:602
+msgid "Model:"
+msgstr ""
+
+#: sys-utils/lscpu.c:604
+msgid "Stepping:"
+msgstr ""
+
+#: sys-utils/lscpu.c:606
+msgid "CPU MHz:"
+msgstr ""
+
+#: sys-utils/lscpu.c:609 sys-utils/lscpu.c:611
+#, fuzzy
+msgid "Virtualization:"
+msgstr "Alte Aufteilung:\n"
+
+#: sys-utils/lscpu.c:614
+msgid "Hypervisor vendor:"
+msgstr ""
+
+#: sys-utils/lscpu.c:615
+msgid "Virtualization type:"
+msgstr ""
+
+#: sys-utils/lscpu.c:623
+#, c-format
+msgid "%s cache:"
+msgstr ""
+
+#: sys-utils/lscpu.c:631
+#, fuzzy, c-format
+msgid "Usage: %s [option]\n"
+msgstr "Aufruf: %s [Optionen] gerät …\n"
+
+#: sys-utils/lscpu.c:634
+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 ""
+
+#: sys-utils/lscpu.c:683
+#, fuzzy, c-format
+msgid "error: change working directory to %s."
+msgstr "Fehler beim Ändern der Zugriffsrechte von %s: %s\n"
+
+#: sys-utils/rdev.c:77
+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
+#: sys-utils/rdev.c:78
+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"
+
+#: sys-utils/rdev.c:79
+msgid "  rdev /dev/fd0 /dev/hda2         sets ROOT to /dev/hda2"
+msgstr "  rdev /dev/fd0 /dev/hda2         ROOT auf /dev/hda2 setzen"
+
+#: sys-utils/rdev.c:80
+msgid "  rdev -R /dev/fd0 1              set the ROOTFLAGS (readonly status)"
+msgstr "  rdev -R /dev/fd0 1              ROOTFLAGS setzen (Nur-Lese-Status)"
+
+#: sys-utils/rdev.c:81
+msgid "  rdev -r /dev/fd0 627            set the RAMDISK size"
+msgstr "  rdev -r /dev/fd0 627            Größe der RAMDISK setzen"
+
+#: sys-utils/rdev.c:82
+msgid "  rdev -v /dev/fd0 1              set the bootup VIDEOMODE"
+msgstr "  rdev -v /dev/fd0 1              VIDEOMODE bei Booten setzen"
+
+#: sys-utils/rdev.c:83
+msgid "  rdev -o N ...                   use the byte offset N"
+msgstr "  rdev -o N …                     Byte-Offset N benutzen"
+
+#: sys-utils/rdev.c:84
+msgid "  rootflags ...                   same as rdev -R"
+msgstr "  rootflags …                     das gleiche wie rdev -R"
+
+#: sys-utils/rdev.c:85
+msgid "  ramsize ...                     same as rdev -r"
+msgstr "  ramsize …                       das gleiche wie rdev -r"
+
+#: sys-utils/rdev.c:86
+msgid "  vidmode ...                     same as rdev -v"
+msgstr "  vidmode …                       das gleiche wie rdev -v"
+
+#: sys-utils/rdev.c:87
+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, …"
+
+#: sys-utils/rdev.c:88
+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."
+
+#: sys-utils/rdev.c:245
+msgid "missing comma"
+msgstr "fehlendes Komma"
+
+#: sys-utils/readprofile.c:72
+#, c-format
+msgid "out of memory"
+msgstr "Speicher ist alle"
+
+#: sys-utils/readprofile.c:118
+#, 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: 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"
+
+#: sys-utils/readprofile.c:227
+#, fuzzy, c-format
+msgid "readprofile: error writing %s: %s\n"
+msgstr "mount: Fehler beim Schreiben von %s: %s"
+
+#: sys-utils/readprofile.c:268
+#, c-format
+msgid "Assuming reversed byte order. Use -n to force native byte order.\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:284
+#, c-format
+msgid "Sampling_step: %i\n"
+msgstr "Sampling_step: %i\n"
+
+#: sys-utils/readprofile.c:305 sys-utils/readprofile.c:331
+#, c-format
+msgid "%s: %s(%i): wrong map line\n"
+msgstr "%s: %s(%i): falsche Tabellen-Zeile\n"
+
+#: sys-utils/readprofile.c:318
+#, c-format
+msgid "%s: can't find \"_stext\" in %s\n"
+msgstr "%s: Konnte „_stext“ nicht in %s finden\n"
+
+#: sys-utils/readprofile.c:352
+#, c-format
+msgid "%s: profile address out of range. Wrong map file?\n"
+msgstr "%s: Profil-Adresse außerhalb des Bereichs. Falsche Map-Datei?\n"
+
+#: sys-utils/readprofile.c:412
+msgid "total"
+msgstr "gesamt"
+
+#: sys-utils/renice.c:53
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" renice [-n] priority [-p|--pid] pid  [... pid]\n"
+" renice [-n] priority  -g|--pgrp pgrp [... pgrp]\n"
+" renice [-n] priority  -u|--user user [... user]\n"
+" renice -h | --help\n"
+" renice -v | --version\n"
+"\n"
+msgstr ""
+
+# "mkfs aus util-linux-2.10d"
+# "mkfs von util-linux-2.10d"
+#: sys-utils/renice.c:89
+#, fuzzy, c-format
+msgid "renice from %s\n"
+msgstr "%s von %s\n"
+
+#: sys-utils/renice.c:126
+#, c-format
+msgid "renice: %s: unknown user\n"
+msgstr "renice: Unbekannter Benutzer: %s\n"
+
+#: sys-utils/renice.c:134
+#, c-format
+msgid "renice: %s: bad value\n"
+msgstr "renice: Ungültiger Wert: %s\n"
+
+#: sys-utils/renice.c:152 sys-utils/renice.c:164
+msgid "getpriority"
+msgstr "getpriority"
+
+#: sys-utils/renice.c:157
+msgid "setpriority"
+msgstr "setpriority"
+
+#: sys-utils/renice.c:168
+#, c-format
+msgid "%d: old priority %d, new priority %d\n"
+msgstr "%d: Alte Priorität: %d, neue Priorität: %d\n"
+
+#: sys-utils/rtcwake.c:81
+#, c-format
+msgid ""
+"usage: %s [options]\n"
+"    -d | --device <device>    select rtc device (rtc0|rtc1|...)\n"
+"    -l | --local              RTC uses local timezone\n"
+"    -m | --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"
+"    -V | --version            show version\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:140
+msgid "read rtc time"
+msgstr "RTC-Zeit lesen"
+
+#: sys-utils/rtcwake.c:145
+msgid "read system time"
+msgstr "System-Zeit lesen"
+
+#: sys-utils/rtcwake.c:163
+msgid "convert rtc time"
+msgstr "RTC-Zeit konvertieren"
+
+#: sys-utils/rtcwake.c:222
+msgid "set rtc alarm"
+msgstr "RTC-Alarm setzen"
+
+#: sys-utils/rtcwake.c:226
+msgid "enable rtc alarm"
+msgstr "RTC-Alarm aktivieren"
+
+#: sys-utils/rtcwake.c:230
+msgid "set rtc wake alarm"
+msgstr "RTC-Weck-Alarm setzen"
+
+#: sys-utils/rtcwake.c:342
+#, c-format
+msgid "%s: unrecognized suspend state '%s'\n"
+msgstr " %s: nicht erkannter Energiesparmodus „%s“\n"
+
+#: sys-utils/rtcwake.c:351
+#, c-format
+msgid "%s: illegal interval %s seconds\n"
+msgstr "%s: unzulässiges Intervall %s Sekunden\n"
+
+#: sys-utils/rtcwake.c:365
+#, c-format
+msgid "%s: illegal time_t value %s\n"
+msgstr "%s: unzulässige time_t-Wert %s\n"
+
+# c-format
+#: sys-utils/rtcwake.c:381
+#, c-format
+msgid "%s: version %s\n"
+msgstr "%s: Version %s\n"
+
+#: sys-utils/rtcwake.c:394
+#, c-format
+msgid "%s: assuming RTC uses UTC ...\n"
+msgstr "%s: interpretiere RTC als UTC …\n"
+
+#: sys-utils/rtcwake.c:399
+#, fuzzy, c-format
+msgid "Using UTC time.\n"
+msgstr "Benutze %s-Zeit.\n"
+
+#: sys-utils/rtcwake.c:400
+#, fuzzy, c-format
+msgid "Using local time.\n"
+msgstr "Benutze %s-Zeit.\n"
+
+#: sys-utils/rtcwake.c:403
+#, c-format
+msgid "%s: must provide wake time\n"
+msgstr "%s: Weckzeit muss angegeben werden\n"
+
+#: sys-utils/rtcwake.c:413
+msgid "malloc() failed"
+msgstr "„malloc“ schlug fehl"
+
+#: sys-utils/rtcwake.c:425
+#, c-format
+msgid "%s: %s not enabled for wakeup events\n"
+msgstr "%s: %s nicht für Weckereignisse geeignet\n"
+
+#: sys-utils/rtcwake.c:441
+#, 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:446
+#, c-format
+msgid "%s: time doesn't go backward to %s\n"
+msgstr "%s: Zeit geht nicht rückwärts zu %s\n"
+
+#: sys-utils/rtcwake.c:456
+#, c-format
+msgid "%s: wakeup from \"%s\" using %s at %s\n"
+msgstr "%s: Weckereignis von „%s“, benutze %s bei %s\n"
+
+#: sys-utils/rtcwake.c:473
+msgid "rtc read"
+msgstr "RTC gelesen"
+
+#: sys-utils/rtcwake.c:482
+msgid "disable rtc alarm interrupt"
+msgstr ""
+
+#: sys-utils/setarch.c:50
+#, c-format
+msgid "Switching on %s.\n"
+msgstr "Schalte auf %s.\n"
+
+#: sys-utils/setarch.c:113
+#, c-format
+msgid ""
+"Usage: %s%s [options] [program [program arguments]]\n"
+"\n"
+"Options:\n"
+msgstr ""
+"Aufruf: %s%s [optionen] [programm [programm-argumente]]\n"
+"\n"
+"Optionen:\n"
+
+#: sys-utils/setarch.c:117
+#, c-format
+msgid ""
+" -h, --help               displays this help text\n"
+" -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"
+msgstr ""
+
+#: sys-utils/setarch.c:131
+#, c-format
+msgid ""
+"\n"
+"For more information see setarch(8).\n"
+msgstr ""
+"\n"
+"Für weitere Informationen siehe setarch(8).\n"
+
+#: sys-utils/setarch.c:143
+#, c-format
+msgid ""
+"%s: %s\n"
+"Try `%s --help' for more information.\n"
+msgstr ""
+"%s: %s\n"
+"„%s --help“ gibt weitere Informationen.\n"
+
+#: sys-utils/setarch.c:215 sys-utils/setarch.c:231
+#, c-format
+msgid "%s: Unrecognized architecture"
+msgstr "%s: nicht erkannte Architektur"
+
+#: sys-utils/setarch.c:249 sys-utils/setarch.c:256
+msgid "Not enough arguments"
+msgstr "Nicht genug Argumente"
+
+#: sys-utils/setarch.c:265 sys-utils/setarch.c:318
+#, c-format
+msgid "Failed to set personality to %s"
+msgstr "Konnte Persönlichkeit nicht auf %s setzen"
+
+#: sys-utils/setsid.c:26
+#, c-format
+msgid "usage: %s program [arg ...]\n"
+msgstr "Aufruf: %s Programm [Argument …]\n"
+
+#: sys-utils/tunelp.c:75
+#, c-format
+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"
+
+#: sys-utils/tunelp.c:91
+msgid "malloc error"
+msgstr "Fehler bei malloc"
+
+#: sys-utils/tunelp.c:103
+#, c-format
+msgid "%s: bad value\n"
+msgstr "%s: Ungültiger Wert\n"
+
+#: sys-utils/tunelp.c:242
+#, c-format
+msgid "%s: %s not an lp device.\n"
+msgstr "%s: %s ist kein lp-Gerät.\n"
+
+#: sys-utils/tunelp.c:263
+#, c-format
+msgid "%s status is %d"
+msgstr "Der Status von %s ist %d"
+
+#: sys-utils/tunelp.c:264
+#, c-format
+msgid ", busy"
+msgstr ", belegt"
+
+#: sys-utils/tunelp.c:265
+#, c-format
+msgid ", ready"
+msgstr ", bereit"
+
+#: sys-utils/tunelp.c:266
+#, c-format
+msgid ", out of paper"
+msgstr ", kein Papier"
+
+# tl: "betriebsbereit"
+#: sys-utils/tunelp.c:267
+#, c-format
+msgid ", on-line"
+msgstr ", on-line"
+
+#: sys-utils/tunelp.c:268
+#, c-format
+msgid ", error"
+msgstr ", Fehler"
+
+#: sys-utils/tunelp.c:285
+msgid "LPGETIRQ error"
+msgstr "„LPGETIRQ“ Fehler"
+
+#: sys-utils/tunelp.c:291
+#, c-format
+msgid "%s using IRQ %d\n"
+msgstr "%s benutzt IRQ %d\n"
+
+#: sys-utils/tunelp.c:293
+#, c-format
+msgid "%s using polling\n"
+msgstr "%s benutzt Polling\n"
+
+#: text-utils/col.c:154
+#, c-format
+msgid "col: bad -l argument %s.\n"
+msgstr "col: Ungültiges Argument %s für die Option „-l“.\n"
+
+#: text-utils/col.c:544
+#, c-format
+msgid "usage: col [-bfpx] [-l nline]\n"
+msgstr "Aufruf: col [-bfpx] [-l AnzahlZeilen]\n"
+
+#: text-utils/col.c:550
+#, c-format
+msgid "col: write error.\n"
+msgstr "col: Fehler beim Schreiben.\n"
+
+# %s can be one of the two following texts.
+#: text-utils/col.c:557
+#, c-format
+msgid "col: warning: can't back up %s.\n"
+msgstr "col: Warnung: kann nicht zurück %s.\n"
+
+#: text-utils/col.c:558
+msgid "past first line"
+msgstr "über erste Zeile"
+
+#: text-utils/col.c:558
+msgid "-- line already flushed"
+msgstr "-- Zeile schon geschrieben"
+
+#: text-utils/colcrt.c:97
+#, c-format
+msgid "usage: %s [ - ] [ -2 ] [ file ... ]\n"
+msgstr "Aufruf: %s [ - ] [ -2 ] [ Datei … ]\n"
+
+#: text-utils/column.c:297
+msgid "line too long"
+msgstr "Zeile ist zu lang"
+
+#: text-utils/column.c:374
+#, c-format
+msgid "usage: column [-tx] [-c columns] [file ...]\n"
+msgstr "Aufruf: column [-tx] [-c Spalten] [Datei …]\n"
+
+#: text-utils/hexsyntax.c:82
+#, c-format
+msgid "hexdump: bad length value.\n"
+msgstr "hexdump: ungültiger Längenwert.\n"
+
+#: text-utils/hexsyntax.c:93
+#, c-format
+msgid "hexdump: bad skip value.\n"
+msgstr "hexdump: ungültiger Überspring-Wert.\n"
+
+#: text-utils/hexsyntax.c:131
+#, c-format
+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"
+
+#: text-utils/more.c:256
+#, c-format
+msgid "usage: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n"
+msgstr ""
+"Aufruf: %s [-dflpcsu] [+Zeilennummer | +/Muster] Dateiname1 Dateiname2 …\n"
+
+#: text-utils/more.c:479
+#, c-format
+msgid "%s: unknown option \"-%c\"\n"
+msgstr "%s: Unbekannte Option „-%c“\n"
+
+#: text-utils/more.c:511
+#, c-format
+msgid ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+msgstr ""
+"\n"
+"*** %s: Verzeichnis ***\n"
+"\n"
+
+#: text-utils/more.c:555
+#, c-format
+msgid ""
+"\n"
+"******** %s: Not a text file ********\n"
+"\n"
+msgstr ""
+"\n"
+"******** %s: Keine Textdatei ********\n"
+"\n"
+
+#: text-utils/more.c:658
+#, c-format
+msgid "[Use q or Q to quit]"
+msgstr "[Benutzen Sie q oder Q zum Beenden]"
+
+#: text-utils/more.c:750
+#, c-format
+msgid "--More--"
+msgstr "--Mehr--"
+
+#: text-utils/more.c:752
+#, c-format
+msgid "(Next file: %s)"
+msgstr "(Nächste Datei: %s)"
+
+#: text-utils/more.c:757
+#, c-format
+msgid "[Press space to continue, 'q' to quit.]"
+msgstr "[Leertaste zum Fortfahren, ›q‹ zum Beenden.]"
+
+#: text-utils/more.c:1172
+#, c-format
+msgid "...back %d pages"
+msgstr "… %d Seiten zurück"
+
+#: text-utils/more.c:1174
+msgid "...back 1 page"
+msgstr "… eine Seite zurück"
+
+#: text-utils/more.c:1217
+msgid "...skipping one line"
+msgstr "…überspringe eine Zeile"
+
+#: text-utils/more.c:1219
+#, c-format
+msgid "...skipping %d lines"
+msgstr "…überspringe %d Zeilen"
+
+#: text-utils/more.c:1256
+msgid ""
+"\n"
+"***Back***\n"
+"\n"
+msgstr ""
+"\n"
+"***Zurück***\n"
+"\n"
+
+#: text-utils/more.c:1294
+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:1301
+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:1370 text-utils/more.c:1375
+#, c-format
+msgid "[Press 'h' for instructions.]"
+msgstr "[Drücken Sie ›h‹ für Hilfe.]"
+
+#: text-utils/more.c:1409
+#, c-format
+msgid "\"%s\" line %d"
+msgstr "„%s“ Zeile %d"
+
+#: text-utils/more.c:1411
+#, c-format
+msgid "[Not a file] line %d"
+msgstr "[Keine Datei] Zeile %d"
+
+#: text-utils/more.c:1495
+msgid "  Overflow\n"
+msgstr "  Überlauf\n"
+
+#: text-utils/more.c:1542
+msgid "...skipping\n"
+msgstr "…Überspringe\n"
+
+#: text-utils/more.c:1571
+msgid "Regular expression botch"
+msgstr "Fehler beim Ausführen von „re_exec()“"
+
+#: text-utils/more.c:1579
+msgid ""
+"\n"
+"Pattern not found\n"
+msgstr ""
+"\n"
+"Muster wurde nicht gefunden\n"
+
+#: text-utils/more.c:1582 text-utils/pg.c:1124 text-utils/pg.c:1275
+msgid "Pattern not found"
+msgstr "Muster wurde nicht gefunden"
+
+#: text-utils/more.c:1643
+msgid "can't fork\n"
+msgstr "Kann keinen neuen Prozess erzeugen\n"
+
+#: text-utils/more.c:1682
+msgid ""
+"\n"
+"...Skipping "
+msgstr ""
+"\n"
+"…Überspringe "
+
+#: text-utils/more.c:1686
+msgid "...Skipping to file "
+msgstr "…Springe zu Datei"
+
+#: text-utils/more.c:1688
+msgid "...Skipping back to file "
+msgstr "…Springe zurück zu Datei "
+
+#: text-utils/more.c:1966
+msgid "Line too long"
+msgstr "Zeile ist zu lang"
+
+#: text-utils/more.c:2009
+msgid "No previous command to substitute for"
+msgstr "Kein vorheriger Befehl, der eingefügt werden könnte"
+
+#: text-utils/odsyntax.c:130
+#, c-format
+msgid "od: od(1) has been deprecated for hexdump(1).\n"
+msgstr "od: von od(1) wird zugunsten von hexdump(1) abgeraten.\n"
+
+#: text-utils/odsyntax.c:133
+#, c-format
+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"
+
+#: text-utils/odsyntax.c:134
+msgid "; see strings(1)."
+msgstr "; siehe strings(1)."
+
+#: text-utils/parse.c:63
+#, c-format
+msgid "hexdump: can't read %s.\n"
+msgstr "hexdump: Konnte %s nicht lesen.\n"
+
+#: text-utils/parse.c:68
+#, c-format
+msgid "hexdump: line too long.\n"
+msgstr "hexdump: Zeile ist zu lang.\n"
+
+#: text-utils/parse.c:401
+#, c-format
+msgid "hexdump: byte count with multiple conversion characters.\n"
+msgstr "hexdump: Bytezähler mit mehreren Konvertierungszeichen.\n"
+
+#: text-utils/parse.c:483
+#, c-format
+msgid "hexdump: bad byte count for conversion character %s.\n"
+msgstr "hexdump: ungültiger Bytezähler für Umwandlungszeichen %s.\n"
+
+#: text-utils/parse.c:490
+#, c-format
+msgid "hexdump: %%s requires a precision or a byte count.\n"
+msgstr "hexdump: %%s benötigt einen Präzisions- oder Bytezähler.\n"
+
+#: text-utils/parse.c:496
+#, c-format
+msgid "hexdump: bad format {%s}\n"
+msgstr "hexdump: Ungültiges Format {%s}\n"
+
+#: text-utils/parse.c:502
+#, c-format
+msgid "hexdump: bad conversion character %%%s.\n"
+msgstr "hexdump: ungültiges Umwandlungszeichen %%%s.\n"
+
+#: text-utils/pg.c:145
+msgid ""
+"All rights reserved.\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"
+msgstr ""
+
+#: text-utils/pg.c:223
+#, fuzzy
+msgid "Out of memory\n"
+msgstr "Speicher ist aufgebraucht"
+
+#: text-utils/pg.c:236
+#, c-format
+msgid ""
+"%s: Usage: %s [-number] [-p string] [-cefnrs] [+line] [+/pattern/] [files]\n"
+msgstr ""
+"%s: Aufruf: %s [-zahl] [-p zkette] [-cefnrs] [+zeile] [+/muster/] [dateien]\n"
+
+# libc: "Die Option „%s“ erfordert ein Argument\n"
+#: text-utils/pg.c:245
+#, c-format
+msgid "%s: option requires an argument -- %s\n"
+msgstr "%s: Option erfordert ein Argument -- %s\n"
+
+#: text-utils/pg.c:253
+#, c-format
+msgid "%s: illegal option -- %s\n"
+msgstr "%s: unzulässige Option -- %s\n"
+
+#: text-utils/pg.c:370
+msgid "...skipping forward\n"
+msgstr "…springe vorwärts\n"
+
+#: text-utils/pg.c:372
+msgid "...skipping backward\n"
+msgstr "…springe rückwärts\n"
+
+#: text-utils/pg.c:394
+msgid "No next file"
+msgstr "Keine nächste Datei"
+
+#: text-utils/pg.c:398
+msgid "No previous file"
+msgstr "Kein vorhergehende Datei"
+
+#: text-utils/pg.c:928
+#, c-format
+msgid "%s: Read error from %s file\n"
+msgstr "%s: Fehler beim Lesen aus %s-Datei\n"
+
+#: text-utils/pg.c:934
+#, c-format
+msgid "%s: Unexpected EOF in %s file\n"
+msgstr "%s: unerwartetes Dateiende in %s-Datei\n"
+
+#: text-utils/pg.c:937
+#, c-format
+msgid "%s: Unknown error in %s file\n"
+msgstr "%s: unbekannter Fehler in %s-Datei\n"
+
+#: text-utils/pg.c:1032
+#, c-format
+msgid "%s: Cannot create tempfile\n"
+msgstr "%s: Konnte keine temporäre Datei anlegen.\n"
+
+#: text-utils/pg.c:1041 text-utils/pg.c:1216 text-utils/pg.c:1243
+msgid "RE error: "
+msgstr "Fehler in regulärem Ausdruck: "
+
+#: text-utils/pg.c:1198
+msgid "(EOF)"
+msgstr "(Dateiende)"
+
+#: text-utils/pg.c:1224 text-utils/pg.c:1251
+msgid "No remembered search string"
+msgstr "Kein gemerkter Suchtext"
+
+#: text-utils/pg.c:1307
+msgid "Cannot open "
+msgstr "Kann nicht öffnen "
+
+#: text-utils/pg.c:1355
+msgid "saved"
+msgstr "gespeichert"
+
+#: text-utils/pg.c:1462
+msgid ": !command not allowed in rflag mode.\n"
+msgstr ": !befehl im rflag-Modus nicht erlaubt.\n"
+
+#: text-utils/pg.c:1494
+msgid "fork() failed, try again later\n"
+msgstr "fork() fehlgeschlagen, später versuchen\n"
+
+#: text-utils/pg.c:1702
+msgid "(Next file: "
+msgstr "(Nächste Datei: "
+
+#: text-utils/rev.c:113
+#, fuzzy
+msgid "unable to allocate bufferspace"
+msgstr "Konnte keinen Speicher für einen Puffer reservieren.\n"
+
+#: text-utils/rev.c:143
+#, c-format
+msgid "usage: rev [file ...]\n"
+msgstr "Aufruf: rev [Datei …]\n"
+
+#: text-utils/tailf.c:57 text-utils/tailf.c:92
+#, fuzzy, c-format
+msgid "cannot open \"%s\" for read"
+msgstr "Konnte „%s“ nicht zum Lesen öffnen\n"
+
+#: text-utils/tailf.c:95 text-utils/tailf.c:214
+#, fuzzy, c-format
+msgid "cannot stat \"%s\""
+msgstr "kann nicht auf Gerät %s zugreifen"
+
+#: text-utils/tailf.c:108
+#, c-format
+msgid "incomplete write to \"%s\" (written %zd, expected %zd)\n"
+msgstr ""
+
+#: text-utils/tailf.c:146
+#, c-format
+msgid "%s: cannot add inotify watch (limit of inotify watches was reached)."
+msgstr ""
+
+#: text-utils/tailf.c:150
+#, c-format
+msgid "%s: cannot add inotify watch."
+msgstr ""
+
+#: text-utils/tailf.c:159
+#, fuzzy, c-format
+msgid "%s: cannot read inotify events"
+msgstr "%s: Konnte %s nicht öffnen\n"
+
+#: text-utils/tailf.c:198 text-utils/tailf.c:202
+#, fuzzy
+msgid "invalid number of lines"
+msgstr "Ungültige Nummer: %s\n"
+
+#: text-utils/tailf.c:209
+#, fuzzy
+msgid "usage: tailf [-n N | -N] logfile"
+msgstr "Aufruf: tailf Logdatei\n"
+
+#: text-utils/ul.c:141
+#, c-format
+msgid "usage: %s [ -i ] [ -tTerm ] file...\n"
+msgstr "Aufruf: %s [ -i ] [ -t Terminalname ] Datei …\n"
+
+#: text-utils/ul.c:152
+#, c-format
+msgid "trouble reading terminfo"
+msgstr "Probleme beim Lesen der terminfo-Datenbank"
+
+#: text-utils/ul.c:242
+#, c-format
+msgid "Unknown escape sequence in input: %o, %o\n"
+msgstr "Unbekannte Escape-Sequenz in der Eingabe: %o, %o\n"
+
+#: text-utils/ul.c:425
+#, c-format
+msgid "Unable to allocate buffer.\n"
+msgstr "Konnte keinen Speicher für einen Puffer reservieren.\n"
+
+#: text-utils/ul.c:586
+#, c-format
+msgid "Input line too long.\n"
+msgstr "Eingabezeile ist zu lang.\n"
+
+#: text-utils/ul.c:599
+#, c-format
+msgid "Out of memory when growing buffer.\n"
+msgstr "Speicher ist alle beim Vergrößern eines Puffers.\n"
+
+#~ msgid "# partition table of %s\n"
+#~ msgstr "# Partitionstabelle von %s\n"
+
+#, 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: unable to get current directory - %s\n"
+#~ msgstr "namei: Konnte das aktuelle Verzeichnis nicht feststellen: %s\n"
+
+#~ msgid "namei: unable to chdir to %s - %s (%d)\n"
+#~ msgstr "namei: Konnte nicht in das Verzeichnis %s wechseln – %s (%d)\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"
+
+# stat
+#~ msgid "%s: cannot stat %s: %s\n"
+#~ msgstr "%s: Konnte „stat“ nicht auf %s anwenden: %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): "
+
+#~ msgid "Autoconfigure failed.\n"
+#~ msgstr "Auto-Konfiguration fehlgeschlagen.\n"
+
+# 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"
+
+# "mkfs aus util-linux-2.10d"
+# "mkfs von util-linux-2.10d"
+#~ msgid "%s from %s%s\n"
+#~ msgstr "%s aus %s%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: cannot find %s in %s"
+#~ msgstr "mount: Konnte %s nicht in %s finden"
+
+#~ 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: fs type %s not supported by kernel"
+#~ msgstr "mount: Der Dateisystemtyp „%s“ wird nicht vom Kernel unterstützt"
+
+#~ 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 "number `%s' to `%s' out of range\n"
+#~ msgstr "Der Wert „%s“ für „%s“ ist außerhalb des Bereiches\n"
+
+#~ 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 "Cannot open /dev/port"
+#~ msgstr "Konnte /dev/port nicht öffnen"
+
+#~ msgid "Unable to open /dev/rtc"
+#~ msgstr "Konnte /dev/rtc nicht öffnen"
+
+#~ msgid "%s%d contains no disklabel.\n"
+#~ msgstr "%s%d enthält keinen „disklabel“.\n"
+
+#~ 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 (file)
index 0000000..fedb6a0
--- /dev/null
@@ -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 (file)
index 0000000..a9647fc
--- /dev/null
@@ -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 (file)
index 0000000..08d5e63
Binary files /dev/null and b/po/es.gmo differ
diff --git a/po/es.po b/po/es.po
new file mode 100644 (file)
index 0000000..60105e0
--- /dev/null
+++ b/po/es.po
@@ -0,0 +1,12654 @@
+# 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>.
+# Beth Powell <bpowell@turbolinux.com>, 2000.
+# Santiago Vila Doncel <sanvila@unex.es>, 2001, 2002, 2003, 2004.
+#
+# 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.12m\n"
+"Report-Msgid-Bugs-To: Karel Zak <kzak@redhat.com>\n"
+"POT-Creation-Date: 2009-11-30 16:27+0100\n"
+"PO-Revision-Date: 2004-12-22 01:31+0100\n"
+"Last-Translator: Santiago Vila Doncel <sanvila@unex.es>\n"
+"Language-Team: Spanish <es@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: disk-utils/blockdev.c:37
+msgid "set read-only"
+msgstr "establece sólo lectura"
+
+#: disk-utils/blockdev.c:38
+msgid "set read-write"
+msgstr "establece lectura/escritura"
+
+#: disk-utils/blockdev.c:39
+msgid "get read-only"
+msgstr "obtiene sólo lectura"
+
+#: disk-utils/blockdev.c:40
+msgid "get sectorsize"
+msgstr "obtiene el tamaño del sector"
+
+#: disk-utils/blockdev.c:41
+msgid "get blocksize"
+msgstr "obtiene el tamaño del bloque"
+
+#: disk-utils/blockdev.c:42
+msgid "set blocksize"
+msgstr "establece el tamaño del bloque"
+
+#: disk-utils/blockdev.c:43
+msgid "get 32-bit sector count"
+msgstr "obtiene el contador de sectores de 32 bits"
+
+#: disk-utils/blockdev.c:44
+msgid "get size in bytes"
+msgstr "obtiene el tamaño en bytes"
+
+#: disk-utils/blockdev.c:45
+msgid "set readahead"
+msgstr "establece `readahead'"
+
+#: disk-utils/blockdev.c:46
+msgid "get readahead"
+msgstr "obtiene `readahead'"
+
+#: disk-utils/blockdev.c:47
+#, fuzzy
+msgid "set filesystem readahead"
+msgstr "establece `readahead'"
+
+#: disk-utils/blockdev.c:48
+#, fuzzy
+msgid "get filesystem readahead"
+msgstr "obtiene `readahead'"
+
+#: disk-utils/blockdev.c:49
+msgid "flush buffers"
+msgstr "vacía los búferes"
+
+#: disk-utils/blockdev.c:51
+msgid "reread partition table"
+msgstr "vuelve a leer la tabla de particiones"
+
+#: disk-utils/blockdev.c:60
+#, c-format
+msgid "Usage:\n"
+msgstr "Uso:\n"
+
+#: disk-utils/blockdev.c:62
+#, c-format
+msgid "  %s --report [devices]\n"
+msgstr "  %s --report [dispositivos]\n"
+
+#: disk-utils/blockdev.c:63
+#, c-format
+msgid "  %s [-v|-q] commands devices\n"
+msgstr "  %s [-v|-q] órdenes dispositivos\n"
+
+#: disk-utils/blockdev.c:66
+#, c-format
+msgid "Available commands:\n"
+msgstr "Órdenes disponibles:\n"
+
+#: disk-utils/blockdev.c:68
+#, fuzzy
+msgid "get size in 512-byte sectors"
+msgstr "obtiene el tamaño en bytes"
+
+#: disk-utils/blockdev.c:201
+#, c-format
+msgid "%s: Unknown command: %s\n"
+msgstr "%s: Orden desconocida: %s\n"
+
+#: disk-utils/blockdev.c:213 disk-utils/blockdev.c:222
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s necesita un argumento\n"
+
+#: disk-utils/blockdev.c:255
+#, fuzzy, c-format
+msgid "%s failed.\n"
+msgstr "Error de búsqueda"
+
+#: disk-utils/blockdev.c:292
+#, c-format
+msgid "%s succeeded.\n"
+msgstr "%s ha tenido éxito.\n"
+
+#: disk-utils/blockdev.c:310 disk-utils/blockdev.c:338
+#, c-format
+msgid "%s: cannot open %s\n"
+msgstr "%s: no se puede abrir %s\n"
+
+#: disk-utils/blockdev.c:355
+#, c-format
+msgid "%s: ioctl error on %s\n"
+msgstr "%s: error de ioctl en %s\n"
+
+#: disk-utils/blockdev.c:364
+#, fuzzy, c-format
+msgid "RO    RA   SSZ   BSZ   StartSec            Size   Device\n"
+msgstr "RO    RA   SSZ   BSZ   StartSec     Size    Device\n"
+
+#: disk-utils/elvtune.c:48
+#, c-format
+msgid "usage:\n"
+msgstr "uso:\n"
+
+#: disk-utils/elvtune.c:53
+#, c-format
+msgid "\tNOTE: elvtune only works with 2.4 kernels\n"
+msgstr ""
+
+#: disk-utils/elvtune.c:104
+#, fuzzy, c-format
+msgid "parse error\n"
+msgstr "error de búsqueda"
+
+#: disk-utils/elvtune.c:110
+#, 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:131
+#, 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:31
+#, c-format
+msgid "Formatting ... "
+msgstr "Formateando... "
+
+#: disk-utils/fdformat.c:49 disk-utils/fdformat.c:86
+#, c-format
+msgid "done\n"
+msgstr "finalizado\n"
+
+# Nota: Al parecer, en español no se pone espacio antes de ...
+#: disk-utils/fdformat.c:60
+#, 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:80
+#, c-format
+msgid ""
+"bad data in cyl %d\n"
+"Continuing ... "
+msgstr ""
+"Datos incorrectos en el cilindro %d\n"
+"Continuando... "
+
+#: disk-utils/fdformat.c:96
+#, c-format
+msgid "usage: %s [ -n ] device\n"
+msgstr "uso: %s [ -n ] dispositivo\n"
+
+#: disk-utils/fdformat.c:118 disk-utils/fsck.minix.c:1282
+#: disk-utils/isosize.c:181 disk-utils/mkfs.bfs.c:115 disk-utils/mkfs.c:52
+#: disk-utils/mkfs.cramfs.c:813 disk-utils/mkfs.minix.c:571
+#: disk-utils/mkswap.c:461 misc-utils/ddate.c:179 misc-utils/rename.c:79
+#: misc-utils/script.c:147 sys-utils/readprofile.c:197
+#, fuzzy, c-format
+msgid "%s (%s)\n"
+msgstr "%s: %s (%s)\n"
+
+#: disk-utils/fdformat.c:132
+#, c-format
+msgid "%s: not a block device\n"
+msgstr "%s: no es un dispositivo de bloques\n"
+
+#: disk-utils/fdformat.c:142
+msgid "Could not determine current format type"
+msgstr "No se puede determinar el tipo de formato actual"
+
+#: disk-utils/fdformat.c:143
+#, 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:144
+msgid "Double"
+msgstr "Doble densidad"
+
+#: disk-utils/fdformat.c:144
+msgid "Single"
+msgstr "Simple densidad"
+
+#: disk-utils/fsck.cramfs.c:118
+#, c-format
+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"
+
+#: disk-utils/fsck.cramfs.c:164
+#, fuzzy, c-format
+msgid "stat failed: %s"
+msgstr "(Siguiente fichero: %s)"
+
+#: disk-utils/fsck.cramfs.c:168 disk-utils/fsck.cramfs.c:552
+#, fuzzy, c-format
+msgid "open failed: %s"
+msgstr "openpty ha fallado\n"
+
+# FIXME: Sobra el espacio final
+#: disk-utils/fsck.cramfs.c:173
+#, 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:181
+#, fuzzy, c-format
+msgid "not a block device or file: %s"
+msgstr "%s no es un dispositivo de bloques o un fichero\n"
+
+#: disk-utils/fsck.cramfs.c:185 disk-utils/fsck.cramfs.c:227
+#, fuzzy
+msgid "file length too short"
+msgstr "%s: cramfs inválido, longitud de fichero demasiado corta\n"
+
+#: disk-utils/fsck.cramfs.c:190 disk-utils/fsck.cramfs.c:198
+#: disk-utils/fsck.cramfs.c:259 disk-utils/fsck.cramfs.c:279
+#, fuzzy, c-format
+msgid "read failed: %s"
+msgstr "(Siguiente fichero: %s)"
+
+#: disk-utils/fsck.cramfs.c:208
+msgid "superblock magic not found"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:217
+#, fuzzy
+msgid "unsupported filesystem features"
+msgstr "Escriba el tipo de sistema de ficheros: "
+
+#: disk-utils/fsck.cramfs.c:220
+#, fuzzy, c-format
+msgid "superblock size (%d) too small"
+msgstr "Número de sectores"
+
+#: disk-utils/fsck.cramfs.c:224
+#, fuzzy
+msgid "zero file count"
+msgstr "al fichero "
+
+#: disk-utils/fsck.cramfs.c:230
+#, 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:234
+#, fuzzy, c-format
+msgid "warning: old cramfs format\n"
+msgstr "%s: atención, imagen cramfs antigua, sin CRC\n"
+
+#: disk-utils/fsck.cramfs.c:247
+msgid "unable to test CRC: old cramfs format"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:273 disk-utils/fsck.cramfs.c:340
+#: disk-utils/fsck.cramfs.c:478 login-utils/chfn.c:529 login-utils/chsh.c:439
+#: sys-utils/cytune.c:321
+msgid "malloc failed"
+msgstr "La asignación de memoria (malloc) ha fallado"
+
+#: disk-utils/fsck.cramfs.c:298
+#, fuzzy
+msgid "crc error"
+msgstr ", error"
+
+#: disk-utils/fsck.cramfs.c:365
+#, fuzzy
+msgid "root inode is not directory"
+msgstr "El nodo-i raíz no es un directorio"
+
+#: disk-utils/fsck.cramfs.c:370
+#, c-format
+msgid "bad root offset (%lu)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:388
+msgid "data block too large"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:392
+#, c-format
+msgid "decompression error %p(%d): %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:416
+#, fuzzy, c-format
+msgid "  hole at %ld (%zd)\n"
+msgstr "  hueco en %ld (%d)\n"
+
+#: disk-utils/fsck.cramfs.c:424 disk-utils/fsck.cramfs.c:596
+#, 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:430
+#, fuzzy, c-format
+msgid "non-block (%ld) bytes"
+msgstr "%s: No bloque (%ld) bytes\n"
+
+#: disk-utils/fsck.cramfs.c:434
+#, 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:440
+#, fuzzy, c-format
+msgid "write failed: %s"
+msgstr "(Siguiente fichero: %s)"
+
+#: disk-utils/fsck.cramfs.c:453
+#, fuzzy, c-format
+msgid "lchown failed: %s"
+msgstr "montaje erróneo"
+
+#: disk-utils/fsck.cramfs.c:459
+#, fuzzy, c-format
+msgid "chown failed: %s"
+msgstr "montaje erróneo"
+
+#: disk-utils/fsck.cramfs.c:466
+#, fuzzy, c-format
+msgid "utime failed: %s"
+msgstr "bad timeout value: %s"
+
+#: disk-utils/fsck.cramfs.c:481
+#, c-format
+msgid "directory inode has zero offset and non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:495
+#, fuzzy, c-format
+msgid "mkdir failed: %s"
+msgstr "/dev: chdir() ha fallado: %m"
+
+#: disk-utils/fsck.cramfs.c:512
+msgid "filename length is zero"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:515
+msgid "bad filename length"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:522
+#, fuzzy
+msgid "bad inode offset"
+msgstr "tamaño de nodo-i incorrecto"
+
+#: disk-utils/fsck.cramfs.c:538
+msgid "file inode has zero offset and non-zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:541
+msgid "file inode has zero size and non-zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:572
+msgid "symbolic link has zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:575
+msgid "symbolic link has zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:587
+#, 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:602
+#, fuzzy, c-format
+msgid "symlink failed: %s"
+msgstr "fsync ha fallado"
+
+#: disk-utils/fsck.cramfs.c:614
+#, c-format
+msgid "special file has non-zero offset: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:626
+#, c-format
+msgid "fifo has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:632
+#, c-format
+msgid "socket has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:637
+#, fuzzy, c-format
+msgid "bogus mode: %s (%o)"
+msgstr "%s: modo falso en `%s' (%o)\n"
+
+#: disk-utils/fsck.cramfs.c:647
+#, fuzzy, c-format
+msgid "mknod failed: %s"
+msgstr "montaje erróneo"
+
+#: disk-utils/fsck.cramfs.c:683
+#, c-format
+msgid "directory data start (%ld) < sizeof(struct cramfs_super) + start (%ld)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:686
+#, 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:691
+#, 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:715
+#, fuzzy
+msgid "failed to allocate outbuffer"
+msgstr "No se puede asignar el búfer.\n"
+
+#: disk-utils/fsck.cramfs.c:728
+#, fuzzy
+msgid "compiled without -x support"
+msgstr "%s: se ha compilado sin soporte para -x\n"
+
+#: disk-utils/fsck.minix.c:210
+#, c-format
+msgid "Usage: %s [-larvsmf] /dev/name\n"
+msgstr "Uso: %s [-larvsmf] /dev/nombre\n"
+
+#: disk-utils/fsck.minix.c:326
+#, c-format
+msgid "%s is mounted.\t "
+msgstr "%s está montado.\t "
+
+#: disk-utils/fsck.minix.c:328
+msgid "Do you really want to continue"
+msgstr "¿Está seguro de que desea continuar?"
+
+#: disk-utils/fsck.minix.c:332
+#, c-format
+msgid "check aborted.\n"
+msgstr "comprobación anulada.\n"
+
+#: disk-utils/fsck.minix.c:351 disk-utils/fsck.minix.c:374
+#, c-format
+msgid "Zone nr < FIRSTZONE in file `%s'."
+msgstr "Número de zona < FIRSTZONE en el fichero `%s'."
+
+#: disk-utils/fsck.minix.c:355 disk-utils/fsck.minix.c:378
+#, c-format
+msgid "Zone nr >= ZONES in file `%s'."
+msgstr "Número de zona >= ZONES en el fichero `%s'."
+
+#: disk-utils/fsck.minix.c:360 disk-utils/fsck.minix.c:383
+msgid "Remove block"
+msgstr "Eliminar bloque"
+
+#: disk-utils/fsck.minix.c:401
+#, 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:407
+#, 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:422
+#, 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:428 disk-utils/mkfs.minix.c:209
+msgid "seek failed in write_block"
+msgstr "Error de búsqueda en write_block"
+
+#: disk-utils/fsck.minix.c:431
+#, 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:547
+msgid "seek failed in write_super_block"
+msgstr "Error de búsqueda en write_super_block"
+
+#: disk-utils/fsck.minix.c:549 disk-utils/mkfs.minix.c:196
+msgid "unable to write super-block"
+msgstr "No se puede escribir el superbloque"
+
+#: disk-utils/fsck.minix.c:559
+msgid "Unable to write inode map"
+msgstr "No se puede escribir la tabla de nodos-i"
+
+#: disk-utils/fsck.minix.c:561
+msgid "Unable to write zone map"
+msgstr "No se puede escribir la tabla de zonas"
+
+#: disk-utils/fsck.minix.c:563
+msgid "Unable to write inodes"
+msgstr "No se pueden escribir nodos-i"
+
+#: disk-utils/fsck.minix.c:590
+msgid "seek failed"
+msgstr "Error de búsqueda"
+
+#: disk-utils/fsck.minix.c:592
+msgid "unable to read super block"
+msgstr "No se puede leer el superbloque"
+
+#: disk-utils/fsck.minix.c:610
+msgid "bad magic number in super-block"
+msgstr "Número mágico incorrecto en el superbloque"
+
+#: disk-utils/fsck.minix.c:612
+msgid "Only 1k blocks/zones supported"
+msgstr "Sólo se da soporte a bloques o zonas de 1k"
+
+#: disk-utils/fsck.minix.c:614
+msgid "bad s_imap_blocks field in super-block"
+msgstr "Campo s_imap_blocks incorrecto en superbloque"
+
+#: disk-utils/fsck.minix.c:616
+msgid "bad s_zmap_blocks field in super-block"
+msgstr "Campo s_zmap_blocks incorrecto en superbloque"
+
+#: disk-utils/fsck.minix.c:623
+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:626
+#, 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:631
+msgid "Unable to allocate buffer for inodes"
+msgstr "No se puede asignar búfer para los nodos-i"
+
+#: disk-utils/fsck.minix.c:634
+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:637
+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:639
+msgid "Unable to read inode map"
+msgstr "No se puede leer la tabla de nodos-i"
+
+#: disk-utils/fsck.minix.c:641
+msgid "Unable to read zone map"
+msgstr "No se puede leer la tabla de zonas"
+
+#: disk-utils/fsck.minix.c:643
+msgid "Unable to read inodes"
+msgstr "No se pueden leer los nodos-i"
+
+#: disk-utils/fsck.minix.c:645
+#, c-format
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr "Atención: Firstzone != Norm_firstzone\n"
+
+#: disk-utils/fsck.minix.c:650 disk-utils/mkfs.minix.c:450
+#, c-format
+msgid "%ld inodes\n"
+msgstr "%ld nodos-i\n"
+
+#: disk-utils/fsck.minix.c:651 disk-utils/mkfs.minix.c:451
+#, c-format
+msgid "%ld blocks\n"
+msgstr "%ld bloques\n"
+
+#: disk-utils/fsck.minix.c:652 disk-utils/mkfs.minix.c:452
+#, c-format
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr "Primera zona de datos=%ld (%ld)\n"
+
+#: disk-utils/fsck.minix.c:653 disk-utils/mkfs.minix.c:453
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr "Tamaño de zona=%d\n"
+
+#: disk-utils/fsck.minix.c:654
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr "Tamaño máximo=%ld\n"
+
+#: disk-utils/fsck.minix.c:655
+#, c-format
+msgid "Filesystem state=%d\n"
+msgstr "Estado del sistema de ficheros=%d\n"
+
+#: disk-utils/fsck.minix.c:656
+#, c-format
+msgid ""
+"namelen=%d\n"
+"\n"
+msgstr ""
+"Longitud de nombre=%d\n"
+"\n"
+
+#: disk-utils/fsck.minix.c:671 disk-utils/fsck.minix.c:722
+#, 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:675 disk-utils/fsck.minix.c:726
+msgid "Mark in use"
+msgstr "Marcar en uso"
+
+#: disk-utils/fsck.minix.c:697 disk-utils/fsck.minix.c:746
+#, c-format
+msgid "The file `%s' has mode %05o\n"
+msgstr "El fichero `%s' tiene el modo %05o\n"
+
+#: disk-utils/fsck.minix.c:704 disk-utils/fsck.minix.c:752
+#, 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:764 disk-utils/fsck.minix.c:772
+msgid "root inode isn't a directory"
+msgstr "El nodo-i raíz no es un directorio"
+
+#: disk-utils/fsck.minix.c:786 disk-utils/fsck.minix.c:819
+#, 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:788 disk-utils/fsck.minix.c:821
+#: disk-utils/fsck.minix.c:1144 disk-utils/fsck.minix.c:1153
+#: disk-utils/fsck.minix.c:1199 disk-utils/fsck.minix.c:1208
+msgid "Clear"
+msgstr "Borrar"
+
+#: disk-utils/fsck.minix.c:798 disk-utils/fsck.minix.c:831
+#, 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:800 disk-utils/fsck.minix.c:833
+msgid "Correct"
+msgstr "Correcto"
+
+#: disk-utils/fsck.minix.c:972 disk-utils/fsck.minix.c:1039
+#, 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:975 disk-utils/fsck.minix.c:1042
+msgid " Remove"
+msgstr " Eliminar"
+
+#: disk-utils/fsck.minix.c:989 disk-utils/fsck.minix.c:1056
+#, c-format
+msgid "%s: bad directory: '.' isn't first\n"
+msgstr "%s: directorio incorrecto: '.' no es el primero\n"
+
+#: disk-utils/fsck.minix.c:997 disk-utils/fsck.minix.c:1065
+#, c-format
+msgid "%s: bad directory: '..' isn't second\n"
+msgstr "%s: directorio incorrecto: '..' no es el segundo\n"
+
+#: disk-utils/fsck.minix.c:1099 disk-utils/fsck.minix.c:1117
+msgid "internal error"
+msgstr "Error interno"
+
+#: disk-utils/fsck.minix.c:1102 disk-utils/fsck.minix.c:1120
+#, c-format
+msgid "%s: bad directory: size < 32"
+msgstr "%s: directorio incorrecto: tamaño < 32"
+
+#: disk-utils/fsck.minix.c:1133
+msgid "seek failed in bad_zone"
+msgstr "Error de búsqueda en bad_zone"
+
+#: disk-utils/fsck.minix.c:1143 disk-utils/fsck.minix.c:1198
+#, c-format
+msgid "Inode %d mode not cleared."
+msgstr "No se ha borrado el modo del nodo-i %d."
+
+#: disk-utils/fsck.minix.c:1152 disk-utils/fsck.minix.c:1207
+#, c-format
+msgid "Inode %d 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:1158 disk-utils/fsck.minix.c:1213
+#, c-format
+msgid "Inode %d 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:1160 disk-utils/fsck.minix.c:1214
+msgid "Set"
+msgstr "Establecer"
+
+#: disk-utils/fsck.minix.c:1164 disk-utils/fsck.minix.c:1218
+#, c-format
+msgid "Inode %d (mode = %07o), i_nlinks=%d, counted=%d."
+msgstr "Nodo-i %d (modo = %07o), i_nlinks=%d, contados=%d."
+
+#: disk-utils/fsck.minix.c:1166 disk-utils/fsck.minix.c:1220
+msgid "Set i_nlinks to count"
+msgstr "Establece i_nlinks en número contado"
+
+#: disk-utils/fsck.minix.c:1178 disk-utils/fsck.minix.c:1232
+#, c-format
+msgid "Zone %d: marked in use, no file uses it."
+msgstr "Zona %d: marcada como en uso; ningún fichero la utiliza."
+
+#: disk-utils/fsck.minix.c:1179 disk-utils/fsck.minix.c:1234
+msgid "Unmark"
+msgstr "Eliminar marca"
+
+#: disk-utils/fsck.minix.c:1184 disk-utils/fsck.minix.c:1239
+#, c-format
+msgid "Zone %d: in use, counted=%d\n"
+msgstr "Zona %d: en uso, contados=%d\n"
+
+#: disk-utils/fsck.minix.c:1187 disk-utils/fsck.minix.c:1242
+#, c-format
+msgid "Zone %d: not in use, counted=%d\n"
+msgstr "Zona %d: no en uso, contados=%d\n"
+
+#: disk-utils/fsck.minix.c:1287 disk-utils/mkfs.minix.c:576
+#: disk-utils/mkfs.minix.c:578
+msgid "bad inode size"
+msgstr "tamaño de nodo-i incorrecto"
+
+#: disk-utils/fsck.minix.c:1289
+msgid "bad v2 inode size"
+msgstr "tamaño de nodo-i v2 incorrecto"
+
+#: disk-utils/fsck.minix.c:1315
+msgid "need terminal for interactive repairs"
+msgstr "Se necesita terminal para reparaciones interactivas"
+
+#: disk-utils/fsck.minix.c:1319
+#, fuzzy, c-format
+msgid "unable to open '%s': %s"
+msgstr "No se puede abrir '%s'"
+
+#: disk-utils/fsck.minix.c:1334
+#, c-format
+msgid "%s is clean, no check.\n"
+msgstr "%s está limpio; no se comprueba.\n"
+
+#: disk-utils/fsck.minix.c:1338
+#, 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:1340
+#, 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:1373
+#, c-format
+msgid ""
+"\n"
+"%6ld inodes used (%ld%%)\n"
+msgstr ""
+"\n"
+"%6ld nodos-i utilizados (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1378
+#, c-format
+msgid "%6ld zones used (%ld%%)\n"
+msgstr "%6ld zonas utilizadas (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1380
+#, 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:1393
+#, 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
+#, c-format
+msgid "%s: failed to open: %s\n"
+msgstr "%s: fallo al abrir %s\n"
+
+#: disk-utils/isosize.c:135
+#, c-format
+msgid "%s: seek error on %s\n"
+msgstr "%s: error de búsqueda en %s\n"
+
+#: disk-utils/isosize.c:141
+#, c-format
+msgid "%s: read error on %s\n"
+msgstr "%s: error de lectura en %s\n"
+
+#: disk-utils/isosize.c:150
+#, 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:200
+#, c-format
+msgid "%s: option parse error\n"
+msgstr "%s: error al analizar la opción\n"
+
+#: disk-utils/isosize.c:208
+#, c-format
+msgid "Usage: %s [-x] [-d <num>] iso9660-image\n"
+msgstr "Uso: %s [-x] [-d <núm>] imagen-iso9660\n"
+
+#: disk-utils/mkfs.bfs.c:84
+#, c-format
+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"
+
+#: disk-utils/mkfs.bfs.c:131
+msgid "volume name too long"
+msgstr "nombre de volumen demasiado largo"
+
+#: disk-utils/mkfs.bfs.c:138
+msgid "fsname name too long"
+msgstr "nombre del sistema de ficheros demasiado largo"
+
+#: disk-utils/mkfs.bfs.c:163
+#, c-format
+msgid "cannot stat device %s"
+msgstr "No se puede efectuar `stat' sobre el dispositivo %s"
+
+#: disk-utils/mkfs.bfs.c:167
+#, c-format
+msgid "%s is not a block special device"
+msgstr "%s no es un dispositivo de bloques"
+
+#: disk-utils/mkfs.bfs.c:172 sys-utils/ldattach.c:205
+#, c-format
+msgid "cannot open %s"
+msgstr "no se puede abrir %s"
+
+#: disk-utils/mkfs.bfs.c:183
+#, c-format
+msgid "cannot get size of %s"
+msgstr "no se puede obtener el tamaño de %s"
+
+#: disk-utils/mkfs.bfs.c:188
+#, 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:203
+msgid "too many inodes - max is 512"
+msgstr "demasiados nodos-i; el máximo es 512"
+
+#: disk-utils/mkfs.bfs.c:212
+#, 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:224 fdisk/fdisk.c:2345
+#, c-format
+msgid "Device: %s\n"
+msgstr "Dispositivo: %s\n"
+
+#: disk-utils/mkfs.bfs.c:225
+#, c-format
+msgid "Volume: <%-6s>\n"
+msgstr "Volumen: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:226
+#, c-format
+msgid "FSname: <%-6s>\n"
+msgstr "NombreDelSF: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:227
+#, c-format
+msgid "BlockSize: %d\n"
+msgstr "TamañoDelBloque: %d\n"
+
+#: disk-utils/mkfs.bfs.c:229
+#, c-format
+msgid "Inodes: %d (in 1 block)\n"
+msgstr "Nodos-i: %d (en 1 bloque)\n"
+
+#: disk-utils/mkfs.bfs.c:232
+#, fuzzy, c-format
+msgid "Inodes: %d (in %lld blocks)\n"
+msgstr "Nodos-i: %d (en %ld bloques)\n"
+
+#: disk-utils/mkfs.bfs.c:234
+#, fuzzy, c-format
+msgid "Blocks: %lld\n"
+msgstr "Bloques: %ld\n"
+
+#: disk-utils/mkfs.bfs.c:235
+#, 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:240
+msgid "error writing superblock"
+msgstr "error al escribir el superbloque"
+
+#: disk-utils/mkfs.bfs.c:260
+msgid "error writing root inode"
+msgstr "error al escribir el nodo-i raíz"
+
+#: disk-utils/mkfs.bfs.c:265
+msgid "error writing inode"
+msgstr "error al escribir un nodo-i"
+
+#: disk-utils/mkfs.bfs.c:268
+msgid "seek error"
+msgstr "error de búsqueda"
+
+# Lo pongo entre `comitas' porque está al final.
+#: disk-utils/mkfs.bfs.c:274
+msgid "error writing . entry"
+msgstr "error al escribir la entrada `.'"
+
+#: disk-utils/mkfs.bfs.c:278
+msgid "error writing .. entry"
+msgstr "error al escribir la entrada `..'"
+
+#: disk-utils/mkfs.bfs.c:282
+#, c-format
+msgid "error closing %s"
+msgstr "error al cerrar %s"
+
+#: disk-utils/mkfs.c:73
+#, c-format
+msgid "Usage: mkfs [-V] [-t fstype] [fs-options] device [size]\n"
+msgstr "Uso: mkfs [-V] [-t tipo_sf] [opciones_sf] dispositivo [tamaño]\n"
+
+#: disk-utils/mkfs.c:88 disk-utils/mkfs.c:96 fdisk/cfdisk.c:351
+#: getopt/getopt.c:86 getopt/getopt.c:96 login-utils/wall.c:246
+#, c-format
+msgid "%s: Out of memory!\n"
+msgstr "%s: ¡No queda memoria!\n"
+
+#: disk-utils/mkfs.c:103
+#, fuzzy, c-format
+msgid "mkfs (%s)\n"
+msgstr "mkfs versión %s (%s)\n"
+
+#: disk-utils/mkfs.cramfs.c:126
+#, 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:340
+#, fuzzy, c-format
+msgid ""
+"Very long (%zu bytes) filename `%s' found.\n"
+" Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile.  Exiting.\n"
+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:472
+#, c-format
+msgid "filesystem too big.  Exiting.\n"
+msgstr "sistema de ficheros demasiado grande. Saliendo.\n"
+
+#: disk-utils/mkfs.cramfs.c:637
+#, 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:656
+#, fuzzy, c-format
+msgid "%6.2f%% (%+ld bytes)\t%s\n"
+msgstr "%6.2f%% (%+d bytes)\t%s\n"
+
+#: disk-utils/mkfs.cramfs.c:854
+#, fuzzy, c-format
+msgid ""
+"warning: guestimate of required size (upper bound) is %lldMB, but maximum "
+"image size is %uMB.  We might die prematurely.\n"
+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:881
+msgid "ROM image map"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:895
+#, c-format
+msgid "Including: %s\n"
+msgstr "Incluyendo: %s\n"
+
+#: disk-utils/mkfs.cramfs.c:901
+#, fuzzy, c-format
+msgid "Directory data: %zd bytes\n"
+msgstr "Datos de directorios: %d bytes\n"
+
+#: disk-utils/mkfs.cramfs.c:909
+#, fuzzy, c-format
+msgid "Everything: %zd kilobytes\n"
+msgstr "Todo: %d kilobytes\n"
+
+#: disk-utils/mkfs.cramfs.c:914
+#, fuzzy, c-format
+msgid "Super block: %zd bytes\n"
+msgstr "Superbloque: %d bytes\n"
+
+#: disk-utils/mkfs.cramfs.c:921
+#, c-format
+msgid "CRC: %x\n"
+msgstr "CRC: %x\n"
+
+#: disk-utils/mkfs.cramfs.c:926
+#, fuzzy, c-format
+msgid "not enough space allocated for ROM image (%lld allocated, %zu used)\n"
+msgstr ""
+"no hay suficiente espacio para la imagen ROM (asignado %Ld, usado %d)\n"
+
+#: disk-utils/mkfs.cramfs.c:934
+msgid "ROM image"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:938
+#, fuzzy, c-format
+msgid "ROM image write failed (%zd %zd)\n"
+msgstr "falló la escritura de la imagen ROM (%d %d)\n"
+
+#: disk-utils/mkfs.cramfs.c:947
+#, c-format
+msgid "warning: filenames truncated to 255 bytes.\n"
+msgstr "atención: los nombres de ficheros se truncan a 255 bytes.\n"
+
+#: disk-utils/mkfs.cramfs.c:950
+#, c-format
+msgid "warning: files were skipped due to errors.\n"
+msgstr "atención: se saltaron ficheros debido a errores.\n"
+
+#: disk-utils/mkfs.cramfs.c:953
+#, c-format
+msgid "warning: file sizes truncated to %luMB (minus 1 byte).\n"
+msgstr ""
+"atención: los tamaños de los ficheros se truncan a %luMB (menos 1 byte).\n"
+
+#: disk-utils/mkfs.cramfs.c:958
+#, c-format
+msgid ""
+"warning: uids truncated to %u bits.  (This may be a security concern.)\n"
+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:963
+#, c-format
+msgid ""
+"warning: gids truncated to %u bits.  (This may be a security concern.)\n"
+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:968
+#, c-format
+msgid ""
+"WARNING: device numbers truncated to %u bits.  This almost certainly means\n"
+"that some device files will be wrong.\n"
+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:156
+#, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]\n"
+msgstr "Uso: %s [-c | -l nombrefichero] [-nXX] [-iXX] /dev/nombre [bloques]\n"
+
+#: disk-utils/mkfs.minix.c:180
+#, 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:190
+msgid "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:192
+msgid "unable to clear boot sector"
+msgstr "No se puede borrar el sector de inicio"
+
+#: disk-utils/mkfs.minix.c:194
+msgid "seek failed in write_tables"
+msgstr "Error de búsqueda en write_tables"
+
+#: disk-utils/mkfs.minix.c:198
+msgid "unable to write inode map"
+msgstr "No se puede escribir la tabla de nodos-i"
+
+#: disk-utils/mkfs.minix.c:200
+msgid "unable to write zone map"
+msgstr "No se puede escribir la tabla de zonas"
+
+#: disk-utils/mkfs.minix.c:202
+msgid "unable to write inodes"
+msgstr "No se pueden escribir los nodos-i"
+
+#: disk-utils/mkfs.minix.c:211
+msgid "write failed in write_block"
+msgstr "Error de escritura en write_block"
+
+#: disk-utils/mkfs.minix.c:219 disk-utils/mkfs.minix.c:293
+#: disk-utils/mkfs.minix.c:342
+msgid "too many bad blocks"
+msgstr "Hay demasiados bloques incorrectos"
+
+#: disk-utils/mkfs.minix.c:227
+msgid "not enough good blocks"
+msgstr "No hay suficientes bloques correctos"
+
+#: disk-utils/mkfs.minix.c:439
+msgid "unable to allocate buffers for maps"
+msgstr "No se puede asignar búferes para mapas"
+
+#: disk-utils/mkfs.minix.c:448
+msgid "unable to allocate buffer for inodes"
+msgstr "No se puede asignar búfer para los nodos-i"
+
+#: disk-utils/mkfs.minix.c:454
+#, c-format
+msgid ""
+"Maxsize=%ld\n"
+"\n"
+msgstr ""
+"Tamaño máximo=%ld\n"
+"\n"
+
+#: disk-utils/mkfs.minix.c:468
+msgid "seek failed during testing of blocks"
+msgstr "Error de búsqueda durante comprobación de bloques"
+
+#: disk-utils/mkfs.minix.c:476
+#, 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:507 disk-utils/mkswap.c:313
+msgid "seek failed in check_blocks"
+msgstr "Error de búsqueda en check_blocks"
+
+#: disk-utils/mkfs.minix.c:516
+msgid "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:522 disk-utils/mkfs.minix.c:547
+#, c-format
+msgid "%d bad blocks\n"
+msgstr "%d bloques incorrectos\n"
+
+#: disk-utils/mkfs.minix.c:524 disk-utils/mkfs.minix.c:549
+#, c-format
+msgid "one bad block\n"
+msgstr "Un bloque incorrecto\n"
+
+#: disk-utils/mkfs.minix.c:534
+msgid "can't open file of bad blocks"
+msgstr "No se puede abrir el fichero de bloques incorrectos"
+
+#: disk-utils/mkfs.minix.c:538
+#, c-format
+msgid "badblock number input error on line %d\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:539
+#, fuzzy
+msgid "cannot read badblocks file"
+msgstr "No se puede leer la unidad de disco"
+
+#: disk-utils/mkfs.minix.c:619
+#, 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:638
+#, c-format
+msgid "unable to stat %s"
+msgstr "No se puede ejecutar `stat' sobre %s"
+
+#: disk-utils/mkfs.minix.c:644
+#, c-format
+msgid "unable to open %s"
+msgstr "No se puede abrir %s"
+
+#: disk-utils/mkfs.minix.c:649
+#, fuzzy, c-format
+msgid "cannot determine sector size for %s"
+msgstr "no se puede obtener el tamaño de %s"
+
+#: disk-utils/mkfs.minix.c:651
+#, c-format
+msgid "block size smaller than physical sector size of %s"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:654
+#, fuzzy, c-format
+msgid "cannot determine size of %s"
+msgstr "no se puede obtener el tamaño de %s"
+
+#: disk-utils/mkfs.minix.c:662
+#, 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:664
+#, fuzzy
+msgid "number of blocks too small"
+msgstr "Número de sectores"
+
+#: disk-utils/mkswap.c:155
+#, c-format
+msgid "Bad user-specified page size %d\n"
+msgstr "El tamaño de página %d especificado por el usuario es incorrecto\n"
+
+#: disk-utils/mkswap.c:163
+#, fuzzy, c-format
+msgid "Using user-specified page size %d, instead of the system value %d\n"
+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:192
+#, c-format
+msgid "Bad swap header size, no label written.\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:202
+#, c-format
+msgid "Label was truncated.\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:208
+#, fuzzy, c-format
+msgid "no label, "
+msgstr "etiqueta"
+
+#: disk-utils/mkswap.c:216
+#, c-format
+msgid "no uuid\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:281
+#, fuzzy, c-format
+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"
+
+#: disk-utils/mkswap.c:295
+msgid "too many bad pages"
+msgstr "Hay demasiadas páginas incorrectas"
+
+#: disk-utils/mkswap.c:308 misc-utils/look.c:182 misc-utils/setterm.c:1183
+#: text-utils/more.c:1982 text-utils/more.c:1993
+msgid "Out of memory"
+msgstr "No queda memoria"
+
+#: disk-utils/mkswap.c:319
+#, c-format
+msgid "one bad page\n"
+msgstr "Una página incorrecta\n"
+
+#: disk-utils/mkswap.c:321
+#, c-format
+msgid "%lu bad pages\n"
+msgstr "%lu páginas incorrectas\n"
+
+#: disk-utils/mkswap.c:399 disk-utils/mkswap.c:415 disk-utils/mkswap.c:633
+msgid "unable to rewind swap-device"
+msgstr "No se puede rebobinar el dispositivo de intercambio"
+
+#: disk-utils/mkswap.c:419
+#, fuzzy
+msgid "unable to erase bootbits sectors"
+msgstr "No se puede borrar el sector de inicio"
+
+#: disk-utils/mkswap.c:423
+#, c-format
+msgid "%s: %s: warning: don't erase bootbits sectors\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:426
+#, fuzzy, c-format
+msgid "        (%s partition table detected). "
+msgstr "   p   Imprime la tabla de particiones BSD"
+
+#: disk-utils/mkswap.c:428
+#, fuzzy, c-format
+msgid "        on whole disk. "
+msgstr "   s   Muestra la etiqueta del disco completa"
+
+#: disk-utils/mkswap.c:498
+#, c-format
+msgid "%1$s: warning: ignore -U (UUIDs are unsupported by %1$s)\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:514
+#, fuzzy, c-format
+msgid "%s: does not support swapspace version %d.\n"
+msgstr "%s: error: versión desconocida %d\n"
+
+#: disk-utils/mkswap.c:522
+#, fuzzy
+msgid "error: UUID parsing failed"
+msgstr ""
+"\n"
+"Error al cerrar el fichero\n"
+
+#: disk-utils/mkswap.c:533
+#, c-format
+msgid "%s: error: Nowhere to set up swap on?\n"
+msgstr ""
+"%s: error: no se ha especificado dónde configurar el espacio de intercambio\n"
+
+#: disk-utils/mkswap.c:551
+#, fuzzy, c-format
+msgid "%s: error: size %llu KiB is larger than device size %llu KiB\n"
+msgstr "%s: error: el tamaño %lu es superior al tamaño del dispositivo %lu\n"
+
+#: disk-utils/mkswap.c:560
+#, fuzzy, c-format
+msgid "%s: error: swap area needs to be at least %ld KiB\n"
+msgstr "%s: error: el área de intercambio debe tener como mínimo %ldkB\n"
+
+#: disk-utils/mkswap.c:577
+#, fuzzy, c-format
+msgid "%s: warning: truncating swap area to %llu KiB\n"
+msgstr "%s: atención: el área de intercambio se trunca a %ldkB\n"
+
+#: disk-utils/mkswap.c:600
+#, fuzzy, c-format
+msgid "%s: error: will not try to make swapdevice on '%s'\n"
+msgstr "No se intentará crear el dispositivo de intercambio en '%s'"
+
+#: disk-utils/mkswap.c:606
+#, fuzzy, c-format
+msgid "%s: error: %s is mounted; will not make swapspace.\n"
+msgstr "%s está montado; no se creará un sistema de ficheros aquí"
+
+#: disk-utils/mkswap.c:622
+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:625
+#, 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:636
+#, fuzzy, c-format
+msgid "%s: %s: unable to write signature page: %s"
+msgstr "No se puede escribir la página de firma"
+
+#: disk-utils/mkswap.c:647
+msgid "fsync failed"
+msgstr "fsync ha fallado"
+
+#: disk-utils/mkswap.c:658
+#, c-format
+msgid "%s: %s: unable to obtain selinux file label: %s\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:664
+#, fuzzy
+msgid "unable to matchpathcon()"
+msgstr "No se puede ejecutar `stat' sobre %s"
+
+#: disk-utils/mkswap.c:667
+#, fuzzy
+msgid "unable to create new selinux context"
+msgstr "No se pueden escribir los nodos-i"
+
+#: disk-utils/mkswap.c:669
+msgid "couldn't compute selinux context"
+msgstr ""
+
+#: disk-utils/mkswap.c:675
+#, fuzzy, c-format
+msgid "%s: unable to relabel %s to %s: %s\n"
+msgstr "No se puede cambiar el nombre %s por %s: %s\n"
+
+#: disk-utils/raw.c:50
+#, fuzzy, c-format
+msgid ""
+"Usage:\n"
+"  %s "
+msgstr "Uso:\n"
+
+#: disk-utils/raw.c:125
+#, c-format
+msgid ""
+"Device '%s' is control raw dev (use raw<N> where <N> is greater than zero)\n"
+msgstr ""
+
+#: disk-utils/raw.c:145
+#, fuzzy, c-format
+msgid "Cannot locate block device '%s' (%s)\n"
+msgstr "No se puede bloquear el fichero de bloqueo %s: %s\n"
+
+#: disk-utils/raw.c:151
+#, fuzzy, c-format
+msgid "Device '%s' is not a block dev\n"
+msgstr "Atención: %s no es un dispositivo de bloques\n"
+
+#: disk-utils/raw.c:186
+#, fuzzy, c-format
+msgid "Cannot open master raw device '"
+msgstr "No se puede efectuar `stat' sobre el dispositivo %s"
+
+#: disk-utils/raw.c:205
+#, fuzzy, c-format
+msgid "Cannot locate raw device '%s' (%s)\n"
+msgstr "No se puede efectuar `stat' sobre el dispositivo %s"
+
+#: disk-utils/raw.c:211
+#, fuzzy, c-format
+msgid "Raw device '%s' is not a character dev\n"
+msgstr "/dev/%s: no es un dispositivo de caracteres"
+
+#: disk-utils/raw.c:216
+#, fuzzy, c-format
+msgid "Device '%s' is not a raw dev\n"
+msgstr "%s no es un dispositivo de bloques"
+
+#: disk-utils/raw.c:231
+#, c-format
+msgid "Error querying raw device (%s)\n"
+msgstr ""
+
+#: disk-utils/raw.c:241 disk-utils/raw.c:261
+#, c-format
+msgid "raw%d:\tbound to major %d, minor %d\n"
+msgstr ""
+
+#: disk-utils/raw.c:257
+#, fuzzy, c-format
+msgid "Error setting raw device (%s)\n"
+msgstr "error al detener el servicio: \"%s\""
+
+#: fdisk/cfdisk.c:376 fdisk/cfdisk.c:2080
+msgid "Unusable"
+msgstr "Inutilizable"
+
+#: fdisk/cfdisk.c:378 fdisk/cfdisk.c:2082
+msgid "Free Space"
+msgstr "Espacio libre"
+
+#: fdisk/cfdisk.c:381
+msgid "Linux ext2"
+msgstr "Linux ext2"
+
+#: fdisk/cfdisk.c:383
+msgid "Linux ext3"
+msgstr "Linux ext3"
+
+#: fdisk/cfdisk.c:385
+msgid "Linux XFS"
+msgstr "Linux XFS"
+
+#: fdisk/cfdisk.c:387
+msgid "Linux JFS"
+msgstr "Linux JFS"
+
+#: fdisk/cfdisk.c:389
+msgid "Linux ReiserFS"
+msgstr "Linux ReiserFS"
+
+#: fdisk/cfdisk.c:391 fdisk/i386_sys_types.c:57
+msgid "Linux"
+msgstr "Linux"
+
+#: fdisk/cfdisk.c:394
+msgid "OS/2 HPFS"
+msgstr "OS/2 HPFS"
+
+#: fdisk/cfdisk.c:396
+msgid "OS/2 IFS"
+msgstr "OS/2 IFS"
+
+#: fdisk/cfdisk.c:400
+msgid "NTFS"
+msgstr "NTFS"
+
+#: fdisk/cfdisk.c:411
+#, c-format
+msgid "Disk has been changed.\n"
+msgstr "Se ha modificado el disco.\n"
+
+#: fdisk/cfdisk.c:413
+#, 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"
+
+#: fdisk/cfdisk.c:417
+#, 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"
+
+#: fdisk/cfdisk.c:512
+msgid "FATAL ERROR"
+msgstr "ERROR MUY GRAVE"
+
+#: fdisk/cfdisk.c:513
+msgid "Press any key to exit cfdisk"
+msgstr "Pulse una tecla para salir de cfdisk"
+
+#: fdisk/cfdisk.c:560 fdisk/cfdisk.c:568
+msgid "Cannot seek on disk drive"
+msgstr "No se puede buscar en la unidad de disco"
+
+#: fdisk/cfdisk.c:562
+msgid "Cannot read disk drive"
+msgstr "No se puede leer la unidad de disco"
+
+#: fdisk/cfdisk.c:570
+msgid "Cannot write disk drive"
+msgstr "No se puede escribir en la unidad de disco"
+
+#: fdisk/cfdisk.c:913
+msgid "Too many partitions"
+msgstr "Hay demasiadas particiones"
+
+#: fdisk/cfdisk.c:918
+msgid "Partition begins before sector 0"
+msgstr "La partición empieza antes del sector 0"
+
+#: fdisk/cfdisk.c:923
+msgid "Partition ends before sector 0"
+msgstr "La partición termina antes del sector 0"
+
+#: fdisk/cfdisk.c:928
+msgid "Partition begins after end-of-disk"
+msgstr "La partición empieza después del fin de disco"
+
+#: fdisk/cfdisk.c:933
+msgid "Partition ends after end-of-disk"
+msgstr "La partición termina después del fin de disco"
+
+#: fdisk/cfdisk.c:938
+msgid "Partition ends in the final partial cylinder"
+msgstr "La partición termina en el último cilindro parcial"
+
+#: fdisk/cfdisk.c:962
+msgid "logical partitions not in disk order"
+msgstr "Las particiones lógicas no están en orden de disco"
+
+#: fdisk/cfdisk.c:965
+msgid "logical partitions overlap"
+msgstr "Solapamiento de particiones lógicas"
+
+#: fdisk/cfdisk.c:969
+msgid "enlarged logical partitions overlap"
+msgstr "Solapamiento de particiones lógicas ampliadas"
+
+#: fdisk/cfdisk.c:999
+msgid ""
+"!!!! Internal error creating logical drive with no extended partition !!!!"
+msgstr "¡¡¡¡ Error interno al crear unidad lógica sin partición extendida !!!!"
+
+#: fdisk/cfdisk.c:1010 fdisk/cfdisk.c:1022
+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"
+
+#: fdisk/cfdisk.c:1164
+msgid "Menu item too long. Menu may look odd."
+msgstr ""
+"Elemento de menú demasiado largo; la apariencia del menú puede ser extraña."
+
+#: fdisk/cfdisk.c:1220
+#, fuzzy
+msgid "Menu without direction. Defaulting to horizontal."
+msgstr "Menú sin dirección; la opción predeterminada es horizontal."
+
+#: fdisk/cfdisk.c:1351
+msgid "Illegal key"
+msgstr "Tecla no permitida"
+
+#: fdisk/cfdisk.c:1374
+msgid "Press a key to continue"
+msgstr "Pulse una tecla para continuar"
+
+#: fdisk/cfdisk.c:1421 fdisk/cfdisk.c:2051 fdisk/cfdisk.c:2583
+#: fdisk/cfdisk.c:2585
+msgid "Primary"
+msgstr "Primaria"
+
+#: fdisk/cfdisk.c:1421
+msgid "Create a new primary partition"
+msgstr "Crea una nueva partición primaria"
+
+#: fdisk/cfdisk.c:1422 fdisk/cfdisk.c:2051 fdisk/cfdisk.c:2582
+#: fdisk/cfdisk.c:2585
+msgid "Logical"
+msgstr "Lógica"
+
+#: fdisk/cfdisk.c:1422
+msgid "Create a new logical partition"
+msgstr "Crea una nueva partición lógica"
+
+#: fdisk/cfdisk.c:1423 fdisk/cfdisk.c:1478 fdisk/cfdisk.c:2256
+msgid "Cancel"
+msgstr "Cancelar"
+
+#: fdisk/cfdisk.c:1423 fdisk/cfdisk.c:1478
+msgid "Don't create a partition"
+msgstr "No crea ninguna partición"
+
+#: fdisk/cfdisk.c:1439
+msgid "!!! Internal error !!!"
+msgstr "¡¡¡¡ Error interno !!!!"
+
+#: fdisk/cfdisk.c:1442
+msgid "Size (in MB): "
+msgstr "Tamaño (en MB): "
+
+#: fdisk/cfdisk.c:1476
+msgid "Beginning"
+msgstr "Principio"
+
+#: fdisk/cfdisk.c:1476
+msgid "Add partition at beginning of free space"
+msgstr "Añade la partición al principio del espacio libre"
+
+#: fdisk/cfdisk.c:1477
+msgid "End"
+msgstr "Final"
+
+#: fdisk/cfdisk.c:1477
+msgid "Add partition at end of free space"
+msgstr "Añade la partición al final del espacio libre"
+
+#: fdisk/cfdisk.c:1495
+msgid "No room to create the extended partition"
+msgstr "No hay espacio para crear la partición extendida"
+
+#: fdisk/cfdisk.c:1569
+msgid "No partition table.\n"
+msgstr "No hay tabla de particiones.\n"
+
+#: fdisk/cfdisk.c:1573
+msgid "No partition table. Starting with zero table."
+msgstr "No hay tabla de particiones. Se comienza con una tabla vacía."
+
+#: fdisk/cfdisk.c:1583
+msgid "Bad signature on partition table"
+msgstr "Firma errónea en la tabla de particiones"
+
+#: fdisk/cfdisk.c:1587
+msgid "Unknown partition table type"
+msgstr "Tipo de tabla de particiones desconocido"
+
+#: fdisk/cfdisk.c:1589
+msgid "Do you wish to start with a zero table [y/N] ?"
+msgstr "¿Quiere comenzar con una tabla vacía? [y/N]"
+
+#: fdisk/cfdisk.c:1637
+msgid "You specified more cylinders than fit on disk"
+msgstr "Ha especificado más cilindros de los que caben en el disco"
+
+#: fdisk/cfdisk.c:1669
+msgid "Cannot open disk drive"
+msgstr "No se puede abrir la unidad de disco"
+
+#: fdisk/cfdisk.c:1671 fdisk/cfdisk.c:1860
+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"
+
+#: fdisk/cfdisk.c:1682
+msgid ""
+"Warning!!  Unsupported GPT (GUID Partition Table) detected. Use GNU Parted."
+msgstr ""
+
+#: fdisk/cfdisk.c:1701
+msgid "Cannot get disk size"
+msgstr "No se puede obtener el tamaño del disco"
+
+#: fdisk/cfdisk.c:1727
+msgid "Bad primary partition"
+msgstr "Partición primaria incorrecta"
+
+#: fdisk/cfdisk.c:1757
+msgid "Bad logical partition"
+msgstr "Partición lógica incorrecta"
+
+#: fdisk/cfdisk.c:1872
+msgid "Warning!!  This may destroy data on your disk!"
+msgstr "¡Atención!: esta operación puede destruir datos del disco"
+
+#: fdisk/cfdisk.c:1876
+#, fuzzy
+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"
+"     (sí o no): "
+
+#: fdisk/cfdisk.c:1882
+msgid "no"
+msgstr "no"
+
+#: fdisk/cfdisk.c:1884
+msgid "Did not write partition table to disk"
+msgstr "No se ha escrito la tabla de particiones en el disco"
+
+#: fdisk/cfdisk.c:1886
+msgid "yes"
+msgstr "sí"
+
+#: fdisk/cfdisk.c:1890
+msgid "Please enter `yes' or `no'"
+msgstr "Por favor escriba `sí' (con acento) o `no'"
+
+#: fdisk/cfdisk.c:1894
+msgid "Writing partition table to disk..."
+msgstr "Se está escribiendo la tabla de particiones en el disco..."
+
+#: fdisk/cfdisk.c:1921 fdisk/cfdisk.c:1925
+msgid "Wrote partition table to disk"
+msgstr "Se ha escrito la tabla de particiones en el disco"
+
+#: fdisk/cfdisk.c:1923
+#, 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."
+
+#: fdisk/cfdisk.c:1933
+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."
+
+#: fdisk/cfdisk.c:1935
+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."
+
+#: fdisk/cfdisk.c:1993 fdisk/cfdisk.c:2112 fdisk/cfdisk.c:2196
+msgid "Enter filename or press RETURN to display on screen: "
+msgstr ""
+"Escriba el nombre de fichero o pulse Intro para visualizar en pantalla: "
+
+#: fdisk/cfdisk.c:2002 fdisk/cfdisk.c:2120 fdisk/cfdisk.c:2204
+#, c-format
+msgid "Cannot open file '%s'"
+msgstr "No se puede abrir el fichero '%s'"
+
+#: fdisk/cfdisk.c:2013
+#, c-format
+msgid "Disk Drive: %s\n"
+msgstr "Unidad de disco: %s\n"
+
+#: fdisk/cfdisk.c:2015
+msgid "Sector 0:\n"
+msgstr "Sector 0:\n"
+
+#: fdisk/cfdisk.c:2022
+#, c-format
+msgid "Sector %d:\n"
+msgstr "Sector %d:\n"
+
+# Masculino, porque se refiere a un tipo de partición.
+#: fdisk/cfdisk.c:2042
+msgid "   None   "
+msgstr "   Ninguno"
+
+#: fdisk/cfdisk.c:2044
+msgid "   Pri/Log"
+msgstr "   Pri/Lóg"
+
+#: fdisk/cfdisk.c:2046
+msgid "   Primary"
+msgstr "   Primaria"
+
+#: fdisk/cfdisk.c:2048
+msgid "   Logical"
+msgstr "   Lógica"
+
+#: fdisk/cfdisk.c:2086 fdisk/fdisk.c:1534 fdisk/fdisk.c:1855
+#: fdisk/fdisksgilabel.c:240 fdisk/fdisksunlabel.c:621 fdisk/sfdisk.c:653
+msgid "Unknown"
+msgstr "Desconocido"
+
+#: fdisk/cfdisk.c:2092 fdisk/cfdisk.c:2560 fdisk/fdisksunlabel.c:44
+msgid "Boot"
+msgstr "Inicio"
+
+#: fdisk/cfdisk.c:2094
+#, c-format
+msgid "(%02X)"
+msgstr "(%02X)"
+
+# Masculino, porque se refiere a "Indicadores"
+#: fdisk/cfdisk.c:2096
+msgid "None"
+msgstr "Ninguno"
+
+#: fdisk/cfdisk.c:2131 fdisk/cfdisk.c:2215
+#, c-format
+msgid "Partition Table for %s\n"
+msgstr "Tabla de particiones para %s\n"
+
+#: fdisk/cfdisk.c:2133
+msgid "               First       Last\n"
+msgstr "              Primer     Último\n"
+
+#: fdisk/cfdisk.c:2134
+msgid ""
+" # Type       Sector      Sector   Offset    Length   Filesystem Type (ID) "
+"Flag\n"
+msgstr ""
+"Nº Tipo       Sector      Sector   Despl.  Longitud  Tipo sist. fich. (ID) "
+"Indicad.\n"
+
+#: fdisk/cfdisk.c:2135
+msgid ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+msgstr ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+
+#: fdisk/cfdisk.c:2218
+#, fuzzy
+msgid "         ---Starting----      ----Ending-----    Start     Number of\n"
+msgstr "         ----Inicio----      -----Final----   Comienzo   Número de\n"
+
+#: fdisk/cfdisk.c:2219
+#, 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"
+
+#: fdisk/cfdisk.c:2220
+#, fuzzy
+msgid "-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+msgstr "-- ----- ---- ---- ---- ---- ---- ---- ---- ----------- -----------\n"
+
+#: fdisk/cfdisk.c:2253
+msgid "Raw"
+msgstr "En bruto (raw)"
+
+#: fdisk/cfdisk.c:2253
+msgid "Print the table using raw data format"
+msgstr "Imprime la tabla utilizando el formato de datos en bruto"
+
+#: fdisk/cfdisk.c:2254 fdisk/cfdisk.c:2357
+msgid "Sectors"
+msgstr "Sectores"
+
+#: fdisk/cfdisk.c:2254
+msgid "Print the table ordered by sectors"
+msgstr "Imprime la tabla ordenada por sectores"
+
+#: fdisk/cfdisk.c:2255
+msgid "Table"
+msgstr "Tabla"
+
+#: fdisk/cfdisk.c:2255
+msgid "Just print the partition table"
+msgstr "Sólo imprime la tabla de particiones"
+
+#: fdisk/cfdisk.c:2256
+msgid "Don't print the table"
+msgstr "No imprime la tabla"
+
+#: fdisk/cfdisk.c:2284
+msgid "Help Screen for cfdisk"
+msgstr "Pantalla de ayuda para cfdisk"
+
+#: fdisk/cfdisk.c:2286
+msgid "This is cfdisk, a curses based disk partitioning program, which"
+msgstr "cfdisk es un programa de particiones de disco basado en curses que"
+
+#: fdisk/cfdisk.c:2287
+msgid "allows you to create, delete and modify partitions on your hard"
+msgstr "permite crear, suprimir y modificar particiones en la unidad"
+
+#: fdisk/cfdisk.c:2288
+msgid "disk drive."
+msgstr "de disco duro."
+
+#: fdisk/cfdisk.c:2290
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+
+#: fdisk/cfdisk.c:2292
+msgid "Command      Meaning"
+msgstr "Orden        Significado"
+
+#: fdisk/cfdisk.c:2293
+msgid "-------      -------"
+msgstr "-----        -----------"
+
+#: fdisk/cfdisk.c:2294
+msgid "  b          Toggle bootable flag of the current partition"
+msgstr "  b          Conmuta el indicador de iniciable de la partición actual"
+
+#: fdisk/cfdisk.c:2295
+msgid "  d          Delete the current partition"
+msgstr "  d          Suprime la partición actual"
+
+#: fdisk/cfdisk.c:2296
+msgid "  g          Change cylinders, heads, sectors-per-track parameters"
+msgstr ""
+"  g          Cambia los parámetros de cilindros, cabezas y sectores por pista"
+
+#: fdisk/cfdisk.c:2297
+msgid "             WARNING: This option should only be used by people who"
+msgstr "             ATENCIÓN: Se recomienda utilizar esta opción únicamente"
+
+#: fdisk/cfdisk.c:2298
+msgid "             know what they are doing."
+msgstr "             si se conoce el funcionamiento de la misma."
+
+#: fdisk/cfdisk.c:2299
+msgid "  h          Print this screen"
+msgstr "  h          Imprime esta pantalla"
+
+#: fdisk/cfdisk.c:2300
+msgid "  m          Maximize disk usage of the current partition"
+msgstr "  m          Maximiza la utilización del disco de la partición actual"
+
+#: fdisk/cfdisk.c:2301
+msgid "             Note: This may make the partition incompatible with"
+msgstr "             Nota: Esta opción puede hacer que la partición sea"
+
+#: fdisk/cfdisk.c:2302
+msgid "             DOS, OS/2, ..."
+msgstr "             incompatible con DOS, OS/2,..."
+
+#: fdisk/cfdisk.c:2303
+msgid "  n          Create new partition from free space"
+msgstr "  n          Crea una nueva partición a partir del espacio libre"
+
+#: fdisk/cfdisk.c:2304
+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"
+
+#: fdisk/cfdisk.c:2305
+msgid "             There are several different formats for the partition"
+msgstr "             Hay varios formatos distintos para la partición"
+
+#: fdisk/cfdisk.c:2306
+msgid "             that you can choose from:"
+msgstr "             entre los que puede elegir:"
+
+#: fdisk/cfdisk.c:2307
+msgid "                r - Raw data (exactly what would be written to disk)"
+msgstr ""
+"                r - Datos en bruto (exactamente lo que escribiría en el "
+"disco)"
+
+#: fdisk/cfdisk.c:2308
+msgid "                s - Table ordered by sectors"
+msgstr "                s - Tabla ordenada por sectores"
+
+#: fdisk/cfdisk.c:2309
+msgid "                t - Table in raw format"
+msgstr "                t - Tabla con formato en bruto"
+
+#: fdisk/cfdisk.c:2310
+msgid "  q          Quit program without writing partition table"
+msgstr "  q          Sale del programa sin escribir la tabla de particiones"
+
+#: fdisk/cfdisk.c:2311
+msgid "  t          Change the filesystem type"
+msgstr "  t          Cambia el tipo de sistema de ficheros"
+
+#: fdisk/cfdisk.c:2312
+msgid "  u          Change units of the partition size display"
+msgstr ""
+"  u          Cambia las unidades de visualización del tamaño de la partición"
+
+#: fdisk/cfdisk.c:2313
+msgid "             Rotates through MB, sectors and cylinders"
+msgstr "             Alterna entre MB, sectores y cilindros"
+
+#: fdisk/cfdisk.c:2314
+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)"
+
+#: fdisk/cfdisk.c:2315
+msgid "             Since this might destroy data on the disk, you must"
+msgstr "             Esta operación de escritura puede causar la destrucción"
+
+#: fdisk/cfdisk.c:2316
+msgid "             either confirm or deny the write by entering `yes' or"
+msgstr ""
+"             de datos del disco, por lo que debe confirmarla o rechazarla"
+
+#: fdisk/cfdisk.c:2317
+msgid "             `no'"
+msgstr "             escribiendo `sí' o `no'"
+
+#: fdisk/cfdisk.c:2318
+msgid "Up Arrow     Move cursor to the previous partition"
+msgstr "Flecha arriba  Desplaza el cursor a la partición anterior"
+
+#: fdisk/cfdisk.c:2319
+msgid "Down Arrow   Move cursor to the next partition"
+msgstr "Flecha abajo   Desplaza el cursor a la partición siguiente"
+
+#: fdisk/cfdisk.c:2320
+msgid "CTRL-L       Redraws the screen"
+msgstr "Ctrl-L       Vuelve a dibujar la pantalla"
+
+#: fdisk/cfdisk.c:2321
+msgid "  ?          Print this screen"
+msgstr "  ?          Imprime esta pantalla"
+
+#: fdisk/cfdisk.c:2323
+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"
+
+#: fdisk/cfdisk.c:2324
+msgid "case letters (except for Writes)."
+msgstr "(salvo W para operaciones de escritura)."
+
+#: fdisk/cfdisk.c:2355 fdisk/fdisksunlabel.c:237
+msgid "Cylinders"
+msgstr "Cilindros"
+
+#: fdisk/cfdisk.c:2355
+msgid "Change cylinder geometry"
+msgstr "Cambia la geometría de cilindros"
+
+#: fdisk/cfdisk.c:2356 fdisk/fdisksunlabel.c:235
+msgid "Heads"
+msgstr "Cabezas"
+
+#: fdisk/cfdisk.c:2356
+msgid "Change head geometry"
+msgstr "Cambiar geometría de cabezas"
+
+#: fdisk/cfdisk.c:2357
+msgid "Change sector geometry"
+msgstr "Cambiar geometría de sectores"
+
+#: fdisk/cfdisk.c:2358
+msgid "Done"
+msgstr "Fin"
+
+#: fdisk/cfdisk.c:2358
+msgid "Done with changing geometry"
+msgstr "Ha finalizado la operación de cambio de geometría"
+
+#: fdisk/cfdisk.c:2371
+msgid "Enter the number of cylinders: "
+msgstr "Escriba el número de cilindros: "
+
+#: fdisk/cfdisk.c:2382 fdisk/cfdisk.c:2953
+msgid "Illegal cylinders value"
+msgstr "Valor de cilindros no permitido"
+
+#: fdisk/cfdisk.c:2388
+msgid "Enter the number of heads: "
+msgstr "Escriba el número de cabezas: "
+
+#: fdisk/cfdisk.c:2395 fdisk/cfdisk.c:2963
+msgid "Illegal heads value"
+msgstr "Valor de cabezas no permitido"
+
+#: fdisk/cfdisk.c:2401
+msgid "Enter the number of sectors per track: "
+msgstr "Escriba el número de sectores por pista: "
+
+#: fdisk/cfdisk.c:2408 fdisk/cfdisk.c:2970
+msgid "Illegal sectors value"
+msgstr "Valor de sectores no permitido"
+
+#: fdisk/cfdisk.c:2511
+msgid "Enter filesystem type: "
+msgstr "Escriba el tipo de sistema de ficheros: "
+
+#: fdisk/cfdisk.c:2529
+msgid "Cannot change FS Type to empty"
+msgstr "No se puede cambiar el tipo de sistema de ficheros a vacío"
+
+#: fdisk/cfdisk.c:2531
+msgid "Cannot change FS Type to extended"
+msgstr "No se puede cambiar el tipo de sistema de ficheros a extendido"
+
+#: fdisk/cfdisk.c:2562
+#, c-format
+msgid "Unk(%02X)"
+msgstr "Desc.(%02X)"
+
+#: fdisk/cfdisk.c:2565 fdisk/cfdisk.c:2568
+msgid ", NC"
+msgstr ", NC"
+
+#: fdisk/cfdisk.c:2573 fdisk/cfdisk.c:2576
+msgid "NC"
+msgstr "NC"
+
+#: fdisk/cfdisk.c:2584
+msgid "Pri/Log"
+msgstr "Pri/Lóg"
+
+#: fdisk/cfdisk.c:2591
+#, c-format
+msgid "Unknown (%02X)"
+msgstr "Desconocido (%02X)"
+
+#: fdisk/cfdisk.c:2660
+#, c-format
+msgid "Disk Drive: %s"
+msgstr "Unidad de disco: %s"
+
+#: fdisk/cfdisk.c:2667
+#, c-format
+msgid "Size: %lld bytes, %lld MB"
+msgstr "Tamaño: %lld bytes, %lld MB"
+
+#: fdisk/cfdisk.c:2670
+#, c-format
+msgid "Size: %lld bytes, %lld.%lld GB"
+msgstr "Tamaño: %lld bytes, %lld.%lld GB"
+
+#: fdisk/cfdisk.c:2674
+#, c-format
+msgid "Heads: %d   Sectors per Track: %d   Cylinders: %lld"
+msgstr "Cabezas: %d   Sectores por pista: %d   Cilindros: %lld"
+
+#: fdisk/cfdisk.c:2678 login-utils/chfn.c:377
+msgid "Name"
+msgstr "Nombre"
+
+#: fdisk/cfdisk.c:2679
+msgid "Flags"
+msgstr "Indicadores"
+
+# Este espacio inicial es para que no se pegue con la s de Indicadores
+#: fdisk/cfdisk.c:2680
+msgid "Part Type"
+msgstr " Tipo"
+
+#: fdisk/cfdisk.c:2681
+msgid "FS Type"
+msgstr "Tipo de S.F."
+
+#: fdisk/cfdisk.c:2682
+msgid "[Label]"
+msgstr "[Etiqueta]"
+
+#: fdisk/cfdisk.c:2684
+msgid "    Sectors"
+msgstr "   Sectores"
+
+#: fdisk/cfdisk.c:2686
+msgid "  Cylinders"
+msgstr "  Cilindros"
+
+#: fdisk/cfdisk.c:2688
+msgid "  Size (MB)"
+msgstr " Tamaño(MB)"
+
+#: fdisk/cfdisk.c:2690
+msgid "  Size (GB)"
+msgstr "Tamaño (GB)"
+
+#: fdisk/cfdisk.c:2744
+msgid "Bootable"
+msgstr "Iniciable"
+
+#: fdisk/cfdisk.c:2744
+msgid "Toggle bootable flag of the current partition"
+msgstr "Conmuta el indicador de iniciable de la partición actual"
+
+#: fdisk/cfdisk.c:2745
+msgid "Delete"
+msgstr "Suprimir"
+
+#: fdisk/cfdisk.c:2745
+msgid "Delete the current partition"
+msgstr "Suprime la partición actual"
+
+#: fdisk/cfdisk.c:2746
+msgid "Geometry"
+msgstr "Geometría"
+
+#: fdisk/cfdisk.c:2746
+msgid "Change disk geometry (experts only)"
+msgstr "Cambia la geometría del disco (sólo para usuarios avanzados)"
+
+#: fdisk/cfdisk.c:2747
+msgid "Help"
+msgstr "Ayuda"
+
+#: fdisk/cfdisk.c:2747
+msgid "Print help screen"
+msgstr "Imprime esta pantalla"
+
+#: fdisk/cfdisk.c:2748
+msgid "Maximize"
+msgstr "Maximizar"
+
+#: fdisk/cfdisk.c:2748
+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)"
+
+#: fdisk/cfdisk.c:2749
+msgid "New"
+msgstr "Nueva"
+
+#: fdisk/cfdisk.c:2749
+msgid "Create new partition from free space"
+msgstr "Crea una nueva partición a partir del espacio libre"
+
+#: fdisk/cfdisk.c:2750
+msgid "Print"
+msgstr "Imprimir"
+
+#: fdisk/cfdisk.c:2750
+msgid "Print partition table to the screen or to a file"
+msgstr "Imprime la tabla de particiones en la pantalla o en un fichero"
+
+#: fdisk/cfdisk.c:2751
+msgid "Quit"
+msgstr "Salir"
+
+#: fdisk/cfdisk.c:2751
+msgid "Quit program without writing partition table"
+msgstr "Sale del programa sin escribir la tabla de particiones"
+
+#: fdisk/cfdisk.c:2752
+msgid "Type"
+msgstr "Tipo"
+
+#: fdisk/cfdisk.c:2752
+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.)"
+
+#: fdisk/cfdisk.c:2753
+msgid "Units"
+msgstr "Unidades"
+
+#: fdisk/cfdisk.c:2753
+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.)"
+
+#: fdisk/cfdisk.c:2754
+msgid "Write"
+msgstr "Escribir"
+
+#: fdisk/cfdisk.c:2754
+msgid "Write partition table to disk (this might destroy data)"
+msgstr ""
+"Escribe la tabla de particiones en el disco (puede destruirse información)"
+
+#: fdisk/cfdisk.c:2800
+msgid "Cannot make this partition bootable"
+msgstr "No se puede convertir esta partición en una partición iniciable"
+
+#: fdisk/cfdisk.c:2810
+msgid "Cannot delete an empty partition"
+msgstr "No se puede suprimir una partición vacía"
+
+#: fdisk/cfdisk.c:2830 fdisk/cfdisk.c:2832
+msgid "Cannot maximize this partition"
+msgstr "No se puede maximizar esta partición"
+
+#: fdisk/cfdisk.c:2840
+msgid "This partition is unusable"
+msgstr "Esta partición se encuentra en estado inutilizable"
+
+#: fdisk/cfdisk.c:2842
+msgid "This partition is already in use"
+msgstr "Esta partición ya está en uso"
+
+#: fdisk/cfdisk.c:2859
+msgid "Cannot change the type of an empty partition"
+msgstr "No se puede cambiar el tipo de una partición vacía"
+
+#: fdisk/cfdisk.c:2886 fdisk/cfdisk.c:2892
+msgid "No more partitions"
+msgstr "No hay más particiones"
+
+#: fdisk/cfdisk.c:2899
+msgid "Illegal command"
+msgstr "Orden ilegal"
+
+#: fdisk/cfdisk.c:2909
+#, c-format
+msgid "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+msgstr "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+
+#: fdisk/cfdisk.c:2916
+#, 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"
+
+#: fdisk/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)."
+
+#: fdisk/fdiskbsdlabel.c:122
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+"\n"
+"Etiqueta BSD para el dispositivo: %s\n"
+
+#: fdisk/fdiskbsdlabel.c:129 fdisk/fdisk.c:386 fdisk/fdisk.c:405
+#: fdisk/fdisk.c:423 fdisk/fdisk.c:430 fdisk/fdisk.c:453 fdisk/fdisk.c:471
+#: fdisk/fdisk.c:487 fdisk/fdisk.c:503
+msgid "Command action"
+msgstr "Orden  Acción"
+
+#: fdisk/fdiskbsdlabel.c:130
+msgid "   d   delete a BSD partition"
+msgstr "   d   Suprime una partición BSD"
+
+#: fdisk/fdiskbsdlabel.c:131
+msgid "   e   edit drive data"
+msgstr "   e   Modifica los datos de la unidad"
+
+#: fdisk/fdiskbsdlabel.c:132
+msgid "   i   install bootstrap"
+msgstr "   i   Instala secuencia de inicio"
+
+#: fdisk/fdiskbsdlabel.c:133
+msgid "   l   list known filesystem types"
+msgstr "   l   Lista los tipos de sistemas de ficheros conocidos"
+
+#: fdisk/fdiskbsdlabel.c:134 fdisk/fdisk.c:392 fdisk/fdisk.c:411
+#: fdisk/fdisk.c:424 fdisk/fdisk.c:436 fdisk/fdisk.c:461 fdisk/fdisk.c:478
+#: fdisk/fdisk.c:494 fdisk/fdisk.c:512
+msgid "   m   print this menu"
+msgstr "   m   Imprime este menú"
+
+#: fdisk/fdiskbsdlabel.c:135
+msgid "   n   add a new BSD partition"
+msgstr "   n   Añade una nueva partición BSD"
+
+#: fdisk/fdiskbsdlabel.c:136
+msgid "   p   print BSD partition table"
+msgstr "   p   Imprime la tabla de particiones BSD"
+
+#: fdisk/fdiskbsdlabel.c:137 fdisk/fdisk.c:396 fdisk/fdisk.c:415
+#: fdisk/fdisk.c:426 fdisk/fdisk.c:440 fdisk/fdisk.c:463 fdisk/fdisk.c:480
+#: fdisk/fdisk.c:496 fdisk/fdisk.c:514
+msgid "   q   quit without saving changes"
+msgstr "   q   Sale sin guardar los cambios"
+
+#: fdisk/fdiskbsdlabel.c:138 fdisk/fdisk.c:464 fdisk/fdisk.c:481
+#: fdisk/fdisk.c:497 fdisk/fdisk.c:515
+msgid "   r   return to main menu"
+msgstr "   r   Vuelve al menú principal"
+
+#: fdisk/fdiskbsdlabel.c:139
+msgid "   s   show complete disklabel"
+msgstr "   s   Muestra la etiqueta del disco completa"
+
+#: fdisk/fdiskbsdlabel.c:140
+msgid "   t   change a partition's filesystem id"
+msgstr ""
+"   t   Cambia el identificador del sistema de ficheros de una partición"
+
+#: fdisk/fdiskbsdlabel.c:141
+msgid "   u   change units (cylinders/sectors)"
+msgstr "   u   Cambia las unidades (cilindros/sectores)"
+
+#: fdisk/fdiskbsdlabel.c:142
+msgid "   w   write disklabel to disk"
+msgstr "   w   Escribe la etiqueta de disco en el disco"
+
+#: fdisk/fdiskbsdlabel.c:144
+msgid "   x   link BSD partition to non-BSD partition"
+msgstr "   x   Enlaza la partición BSD con una partición no BSD"
+
+#: fdisk/fdiskbsdlabel.c:176
+#, 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"
+
+#: fdisk/fdiskbsdlabel.c:180
+#, c-format
+msgid "Reading disklabel of %s at sector %d.\n"
+msgstr "Leyendo etiqueta de disco de %s en sector %d.\n"
+
+#: fdisk/fdiskbsdlabel.c:190
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr "No hay ninguna partición *BSD en %s.\n"
+
+#: fdisk/fdiskbsdlabel.c:204
+msgid "BSD disklabel command (m for help): "
+msgstr "Orden de etiqueta de disco BSD (m para obtener ayuda): "
+
+#: fdisk/fdiskbsdlabel.c:284 fdisk/fdisk.c:2052 fdisk/fdisksgilabel.c:651
+#: fdisk/fdisksunlabel.c:431
+#, c-format
+msgid "First %s"
+msgstr "Primer %s"
+
+#: fdisk/fdiskbsdlabel.c:291 fdisk/fdisksunlabel.c:488
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr "Último %s o +tamaño o +tamañoM o +tamañoK"
+
+#: fdisk/fdiskbsdlabel.c:318
+#, c-format
+msgid "type: %s\n"
+msgstr "tipo: %s\n"
+
+#: fdisk/fdiskbsdlabel.c:320
+#, c-format
+msgid "type: %d\n"
+msgstr "tipo: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:321
+#, c-format
+msgid "disk: %.*s\n"
+msgstr "disco: %.*s\n"
+
+#: fdisk/fdiskbsdlabel.c:322
+#, c-format
+msgid "label: %.*s\n"
+msgstr "etiqueta: %.*s\n"
+
+#: fdisk/fdiskbsdlabel.c:323
+#, c-format
+msgid "flags:"
+msgstr "indicadores:"
+
+#: fdisk/fdiskbsdlabel.c:325
+#, c-format
+msgid " removable"
+msgstr " removable"
+
+#: fdisk/fdiskbsdlabel.c:327
+#, c-format
+msgid " ecc"
+msgstr " ecc"
+
+#: fdisk/fdiskbsdlabel.c:329
+#, c-format
+msgid " badsect"
+msgstr " badsect"
+
+#: fdisk/fdiskbsdlabel.c:333
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr "bytes por sector: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:334
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr "sectores por pista: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:335
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr "pistas por cilindro: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:336
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr "sectores por cilindro: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:337
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr "cilindros: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:338
+#, c-format
+msgid "rpm: %d\n"
+msgstr "r.p.m.: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:339
+#, c-format
+msgid "interleave: %d\n"
+msgstr "interleave: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:340
+#, c-format
+msgid "trackskew: %d\n"
+msgstr "trackskew: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:341
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr "cylinderskew: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:342
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr "headswitch: %ld\t\t# milisegundos\n"
+
+#: fdisk/fdiskbsdlabel.c:344
+#, c-format
+msgid "track-to-track seek: %ld\t# milliseconds\n"
+msgstr "búsqueda pista a pista: %ld\t# milisegundos\n"
+
+#: fdisk/fdiskbsdlabel.c:346
+#, c-format
+msgid "drivedata: "
+msgstr "drivedata: "
+
+#: fdisk/fdiskbsdlabel.c:355
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+"\n"
+"%d particiones:\n"
+
+#: fdisk/fdiskbsdlabel.c:356
+#, c-format
+msgid "#       start       end      size     fstype   [fsize bsize   cpg]\n"
+msgstr "#      comienzo    final    tamaño sficheros   [tamf   tamb   cpg]\n"
+
+#: fdisk/fdiskbsdlabel.c:405 fdisk/fdiskbsdlabel.c:408
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr "Escribiendo etiqueta de disco en %s.\n"
+
+#: fdisk/fdiskbsdlabel.c:420 fdisk/fdiskbsdlabel.c:422
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr "%s no contiene ninguna etiqueta de disco.\n"
+
+#: fdisk/fdiskbsdlabel.c:427
+msgid "Do you want to create a disklabel? (y/n) "
+msgstr "¿Desea crear una etiqueta de disco? (y/n) "
+
+#: fdisk/fdiskbsdlabel.c:467
+msgid "bytes/sector"
+msgstr "bytes/sector"
+
+#: fdisk/fdiskbsdlabel.c:468
+msgid "sectors/track"
+msgstr "sectores/pista"
+
+#: fdisk/fdiskbsdlabel.c:469
+msgid "tracks/cylinder"
+msgstr "pistas/cilindro"
+
+#: fdisk/fdiskbsdlabel.c:470 fdisk/fdisk.c:648 fdisk/fdisk.c:1357
+#: fdisk/sfdisk.c:945
+msgid "cylinders"
+msgstr "cilindros"
+
+#: fdisk/fdiskbsdlabel.c:477
+msgid "sectors/cylinder"
+msgstr "sectores/cilindro"
+
+#: fdisk/fdiskbsdlabel.c:481
+#, c-format
+msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
+msgstr "Debe ser <= sectores/pista * pistas/cilindro (valor predeterminado).\n"
+
+#: fdisk/fdiskbsdlabel.c:483
+msgid "rpm"
+msgstr "r.p.m."
+
+#: fdisk/fdiskbsdlabel.c:484
+msgid "interleave"
+msgstr "interleave"
+
+#: fdisk/fdiskbsdlabel.c:485
+msgid "trackskew"
+msgstr "trackskew"
+
+#: fdisk/fdiskbsdlabel.c:486
+msgid "cylinderskew"
+msgstr "cylinderskew"
+
+#: fdisk/fdiskbsdlabel.c:487
+msgid "headswitch"
+msgstr "headswitch"
+
+#: fdisk/fdiskbsdlabel.c:488
+msgid "track-to-track seek"
+msgstr "búsqueda pista a pista"
+
+#: fdisk/fdiskbsdlabel.c:529
+#, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr "Secuencia de inicio: %sboot -> boot%s (%s): "
+
+#: fdisk/fdiskbsdlabel.c:554
+#, c-format
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr "Solapamientos de secuencia de inicio con etiqueta de disco\n"
+
+#: fdisk/fdiskbsdlabel.c:575 fdisk/fdiskbsdlabel.c:577
+#, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr "Secuencia de inicio instalada en %s.\n"
+
+#: fdisk/fdiskbsdlabel.c:599
+#, c-format
+msgid "Partition (a-%c): "
+msgstr "Partición (a-%c): "
+
+#: fdisk/fdiskbsdlabel.c:618 fdisk/fdisk.c:2199
+#, c-format
+msgid "The maximum number of partitions has been created\n"
+msgstr "Se ha creado el número máximo de particiones\n"
+
+#: fdisk/fdiskbsdlabel.c:630
+#, c-format
+msgid "This partition already exists.\n"
+msgstr "Esta partición ya existe.\n"
+
+#: fdisk/fdiskbsdlabel.c:757
+#, 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"
+
+#: fdisk/fdiskbsdlabel.c:805
+#, c-format
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+"\n"
+"Se están sincronizando los discos.\n"
+
+#: fdisk/fdisk.c:244
+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"
+
+#: fdisk/fdisk.c:256
+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"
+
+#: fdisk/fdisk.c:265
+#, c-format
+msgid "Unable to open %s\n"
+msgstr "No se puede abrir %s\n"
+
+#: fdisk/fdisk.c:269
+#, c-format
+msgid "Unable to read %s\n"
+msgstr "No se puede leer %s\n"
+
+#: fdisk/fdisk.c:273
+#, c-format
+msgid "Unable to seek on %s\n"
+msgstr "No se puede buscar en %s\n"
+
+#: fdisk/fdisk.c:277
+#, c-format
+msgid "Unable to write %s\n"
+msgstr "No se puede escribir %s\n"
+
+#: fdisk/fdisk.c:281
+#, c-format
+msgid "BLKGETSIZE ioctl failed on %s\n"
+msgstr "ioctl BLKGETSIZE ha fallado en %s\n"
+
+#: fdisk/fdisk.c:285
+msgid "Unable to allocate any more memory\n"
+msgstr "No se puede asignar más memoria\n"
+
+#: fdisk/fdisk.c:288
+msgid "Fatal error\n"
+msgstr "Error muy grave\n"
+
+#: fdisk/fdisk.c:387
+msgid "   a   toggle a read only flag"
+msgstr "   a   Conmuta el indicador de sólo lectura"
+
+#: fdisk/fdisk.c:388 fdisk/fdisk.c:432
+msgid "   b   edit bsd disklabel"
+msgstr "   b   Modifica la etiqueta de disco bsd"
+
+#: fdisk/fdisk.c:389
+msgid "   c   toggle the mountable flag"
+msgstr "   c   Conmuta indicador de montable"
+
+#: fdisk/fdisk.c:390 fdisk/fdisk.c:409 fdisk/fdisk.c:434
+msgid "   d   delete a partition"
+msgstr "   d   Suprime una partición"
+
+#: fdisk/fdisk.c:391 fdisk/fdisk.c:410 fdisk/fdisk.c:435
+msgid "   l   list known partition types"
+msgstr "   l   Lista los tipos de particiones conocidos"
+
+#: fdisk/fdisk.c:393 fdisk/fdisk.c:412 fdisk/fdisk.c:437
+msgid "   n   add a new partition"
+msgstr "   n   Añade una nueva partición"
+
+#: fdisk/fdisk.c:394 fdisk/fdisk.c:413 fdisk/fdisk.c:425 fdisk/fdisk.c:438
+msgid "   o   create a new empty DOS partition table"
+msgstr "   o   Crea una nueva tabla de particiones DOS vacía"
+
+#: fdisk/fdisk.c:395 fdisk/fdisk.c:414 fdisk/fdisk.c:439 fdisk/fdisk.c:462
+#: fdisk/fdisk.c:479 fdisk/fdisk.c:495 fdisk/fdisk.c:513
+msgid "   p   print the partition table"
+msgstr "   p   Imprime la tabla de particiones"
+
+#: fdisk/fdisk.c:397 fdisk/fdisk.c:416 fdisk/fdisk.c:427 fdisk/fdisk.c:441
+msgid "   s   create a new empty Sun disklabel"
+msgstr "   s   Crea una nueva etiqueta de disco Sun"
+
+#: fdisk/fdisk.c:398 fdisk/fdisk.c:417 fdisk/fdisk.c:442
+msgid "   t   change a partition's system id"
+msgstr "   t   Cambia el identificador de sistema de una partición"
+
+#: fdisk/fdisk.c:399 fdisk/fdisk.c:418 fdisk/fdisk.c:443
+msgid "   u   change display/entry units"
+msgstr "   u   Cambia las unidades de visualización/entrada"
+
+#: fdisk/fdisk.c:400 fdisk/fdisk.c:419 fdisk/fdisk.c:444 fdisk/fdisk.c:466
+#: fdisk/fdisk.c:483 fdisk/fdisk.c:499 fdisk/fdisk.c:517
+msgid "   v   verify the partition table"
+msgstr "   v   Verifica la tabla de particiones"
+
+#: fdisk/fdisk.c:401 fdisk/fdisk.c:420 fdisk/fdisk.c:445 fdisk/fdisk.c:467
+#: fdisk/fdisk.c:484 fdisk/fdisk.c:500 fdisk/fdisk.c:518
+msgid "   w   write table to disk and exit"
+msgstr "   w   Escribe la tabla en el disco y sale"
+
+#: fdisk/fdisk.c:402 fdisk/fdisk.c:446
+msgid "   x   extra functionality (experts only)"
+msgstr "   x   Funciones adicionales (sólo para usuarios avanzados)"
+
+#: fdisk/fdisk.c:406
+msgid "   a   select bootable partition"
+msgstr "   a   Selecciona partición iniciable"
+
+#: fdisk/fdisk.c:407
+msgid "   b   edit bootfile entry"
+msgstr "   b   Modifica entrada de fichero de inicio"
+
+#: fdisk/fdisk.c:408
+msgid "   c   select sgi swap partition"
+msgstr "   c   Selecciona partición de intercambio sgi"
+
+#: fdisk/fdisk.c:431
+msgid "   a   toggle a bootable flag"
+msgstr "   a   Conmuta el indicador de iniciable"
+
+#: fdisk/fdisk.c:433
+msgid "   c   toggle the dos compatibility flag"
+msgstr "   c   Conmuta el indicador de compatibilidad con DOS"
+
+#: fdisk/fdisk.c:454
+msgid "   a   change number of alternate cylinders"
+msgstr "   a   Cambia el número de cilindros alternativos"
+
+#: fdisk/fdisk.c:455 fdisk/fdisk.c:473 fdisk/fdisk.c:489 fdisk/fdisk.c:505
+msgid "   c   change number of cylinders"
+msgstr "   c   Cambia el número de cilindros"
+
+#: fdisk/fdisk.c:456 fdisk/fdisk.c:474 fdisk/fdisk.c:490 fdisk/fdisk.c:506
+msgid "   d   print the raw data in the partition table"
+msgstr "   d   Imprime los datos en bruto de la tabla de particiones"
+
+#: fdisk/fdisk.c:457
+msgid "   e   change number of extra sectors per cylinder"
+msgstr "   e   Cambia el número de sectores adicionales por cilindro"
+
+#: fdisk/fdisk.c:458 fdisk/fdisk.c:477 fdisk/fdisk.c:493 fdisk/fdisk.c:510
+msgid "   h   change number of heads"
+msgstr "   h   Cambia el número de cabezas"
+
+#: fdisk/fdisk.c:459
+msgid "   i   change interleave factor"
+msgstr "   i   Cambia el factor de interleave"
+
+#: fdisk/fdisk.c:460
+msgid "   o   change rotation speed (rpm)"
+msgstr "   o   Cambia la velocidad de rotación (r.p.m.)"
+
+#: fdisk/fdisk.c:465 fdisk/fdisk.c:482 fdisk/fdisk.c:498 fdisk/fdisk.c:516
+msgid "   s   change number of sectors/track"
+msgstr "   s   Cambia el número de sectores por pista"
+
+#: fdisk/fdisk.c:468
+msgid "   y   change number of physical cylinders"
+msgstr "   y   Cambia el número de cilindros físicos"
+
+#: fdisk/fdisk.c:472 fdisk/fdisk.c:488 fdisk/fdisk.c:504
+msgid "   b   move beginning of data in a partition"
+msgstr "   b   Mueve el principio de los datos de una partición"
+
+#: fdisk/fdisk.c:475 fdisk/fdisk.c:491 fdisk/fdisk.c:507
+msgid "   e   list extended partitions"
+msgstr "   e   Lista las particiones extendidas"
+
+#: fdisk/fdisk.c:476 fdisk/fdisk.c:492 fdisk/fdisk.c:509
+msgid "   g   create an IRIX (SGI) partition table"
+msgstr "   g   Crea una tabla de particiones IRIX (SGI)"
+
+#: fdisk/fdisk.c:508
+msgid "   f   fix partition order"
+msgstr "   f   Corrige el orden de las particiones"
+
+#: fdisk/fdisk.c:511
+#, fuzzy
+msgid "   i   change the disk identifier"
+msgstr "   u   Cambia las unidades de visualización/entrada"
+
+#: fdisk/fdisk.c:627
+#, c-format
+msgid "You must set"
+msgstr "Debe establecer"
+
+#: fdisk/fdisk.c:644
+msgid "heads"
+msgstr "cabezas"
+
+#: fdisk/fdisk.c:646 fdisk/fdisk.c:1357 fdisk/sfdisk.c:945
+msgid "sectors"
+msgstr "sectores"
+
+#: fdisk/fdisk.c:652
+#, 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"
+
+#: fdisk/fdisk.c:653
+msgid " and "
+msgstr " y "
+
+#: fdisk/fdisk.c:670
+#, c-format
+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"
+
+#: fdisk/fdisk.c:683
+#, 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 %d-byte sectors. Use parted(1) and GUID \n"
+"partition table format (GPT).\n"
+"\n"
+msgstr ""
+
+#: fdisk/fdisk.c:708
+#, c-format
+msgid "Bad offset in primary extended partition\n"
+msgstr "Desplazamiento incorrecto en particiones extendidas primarias\n"
+
+#: fdisk/fdisk.c:722
+#, 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"
+
+#: fdisk/fdisk.c:741
+#, 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"
+
+#: fdisk/fdisk.c:749
+#, 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"
+
+#: fdisk/fdisk.c:782
+#, fuzzy, c-format
+msgid "omitting empty partition (%d)\n"
+msgstr "Atención: partición vacía\n"
+
+#: fdisk/fdisk.c:801
+#, c-format
+msgid "Disk identifier: 0x%08x\n"
+msgstr ""
+
+#: fdisk/fdisk.c:810
+#, c-format
+msgid "New disk identifier (current 0x%08x): "
+msgstr ""
+
+#: fdisk/fdisk.c:829
+#, fuzzy, c-format
+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"
+
+#: fdisk/fdisk.c:861
+#, c-format
+msgid "Note: sector size is %d (not %d)\n"
+msgstr "Nota: el tamaño del sector es %d (no %d)\n"
+
+#: fdisk/fdisk.c:990
+#, c-format
+msgid "You will not be able to write the partition table.\n"
+msgstr "No podrá escribir la tabla de particiones.\n"
+
+#: fdisk/fdisk.c:1022
+#, c-format
+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"
+
+#: fdisk/fdisk.c:1032
+#, c-format
+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"
+
+#: fdisk/fdisk.c:1049
+#, c-format
+msgid "Internal error\n"
+msgstr "Error interno\n"
+
+#: fdisk/fdisk.c:1062
+#, c-format
+msgid "Ignoring extra extended partition %d\n"
+msgstr "No se tiene en cuenta la partición extendida adicional %d\n"
+
+#: fdisk/fdisk.c:1074
+#, 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"
+
+#: fdisk/fdisk.c:1096
+#, c-format
+msgid ""
+"\n"
+"got EOF thrice - exiting..\n"
+msgstr ""
+"\n"
+"se ha detectado EOF tres veces - saliendo...\n"
+
+#: fdisk/fdisk.c:1135
+msgid "Hex code (type L to list codes): "
+msgstr "Código hexadecimal (escriba L para ver los códigos): "
+
+#: fdisk/fdisk.c:1175
+#, c-format
+msgid "%s (%u-%u, default %u): "
+msgstr "%s (%u-%u, valor predeterminado %u): "
+
+#: fdisk/fdisk.c:1242
+#, c-format
+msgid "Unsupported suffix: '%s'.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1243
+#, c-format
+msgid ""
+"Supported: 10^N: KB (KiloByte), MB (MegaByte), GB (GigaByte)\n"
+"            2^N: K  (KibiByte), M  (MebiByte), G  (GibiByte)\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1269
+#, c-format
+msgid "Using default value %u\n"
+msgstr "Se está utilizando el valor predeterminado %u\n"
+
+#: fdisk/fdisk.c:1273
+#, c-format
+msgid "Value out of range.\n"
+msgstr "El valor está fuera del rango.\n"
+
+#: fdisk/fdisk.c:1283
+msgid "Partition number"
+msgstr "Número de partición"
+
+#: fdisk/fdisk.c:1294
+#, c-format
+msgid "Warning: partition %d has empty type\n"
+msgstr "Atención: la partición %d es de tipo vacío\n"
+
+#: fdisk/fdisk.c:1316 fdisk/fdisk.c:1342
+#, c-format
+msgid "Selected partition %d\n"
+msgstr "Se ha seleccionado la partición %d\n"
+
+#: fdisk/fdisk.c:1319
+#, c-format
+msgid "No partition is defined yet!\n"
+msgstr "¡No hay ninguna partición definida!\n"
+
+#: fdisk/fdisk.c:1345
+#, c-format
+msgid "All primary partitions have been defined already!\n"
+msgstr "¡Ya se han definido todas las particiones primarias!\n"
+
+#: fdisk/fdisk.c:1355
+msgid "cylinder"
+msgstr "cilindro"
+
+#: fdisk/fdisk.c:1355
+msgid "sector"
+msgstr "sector"
+
+#: fdisk/fdisk.c:1364
+#, c-format
+msgid "Changing display/entry units to %s\n"
+msgstr "Se cambian las unidades de visualización/entrada a %s\n"
+
+#: fdisk/fdisk.c:1375
+#, c-format
+msgid "WARNING: Partition %d is an extended partition\n"
+msgstr "ATENCIÓN: la partición %d es una partición extendida\n"
+
+#: fdisk/fdisk.c:1386
+#, c-format
+msgid "DOS Compatibility flag is set\n"
+msgstr "El indicador de compatibilidad con DOS está establecido\n"
+
+#: fdisk/fdisk.c:1390
+#, c-format
+msgid "DOS Compatibility flag is not set\n"
+msgstr "El indicador de compatibilidad con DOS no está establecido\n"
+
+#: fdisk/fdisk.c:1490
+#, c-format
+msgid "Partition %d does not exist yet!\n"
+msgstr "La partición %d todavía no existe\n"
+
+#: fdisk/fdisk.c:1495
+#, 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"
+
+#: fdisk/fdisk.c:1504
+#, 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"
+
+#: fdisk/fdisk.c:1513
+#, 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"
+
+#: fdisk/fdisk.c:1519
+#, 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"
+
+#: fdisk/fdisk.c:1536
+#, 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"
+
+#: fdisk/fdisk.c:1539
+#, 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"
+
+#: fdisk/fdisk.c:1591
+#, 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"
+
+#: fdisk/fdisk.c:1593 fdisk/fdisk.c:1601 fdisk/fdisk.c:1610 fdisk/fdisk.c:1620
+#, c-format
+msgid "     phys=(%d, %d, %d) "
+msgstr " físicos=(%d, %d, %d) "
+
+#: fdisk/fdisk.c:1594 fdisk/fdisk.c:1602
+#, c-format
+msgid "logical=(%d, %d, %d)\n"
+msgstr "lógicos=(%d, %d, %d)\n"
+
+#: fdisk/fdisk.c:1599
+#, c-format
+msgid "Partition %d has different physical/logical endings:\n"
+msgstr "La partición %d tiene distintos finales físicos/lógicos:\n"
+
+#: fdisk/fdisk.c:1608
+#, c-format
+msgid "Partition %i does not start on cylinder boundary:\n"
+msgstr "La partición %i no empieza en el límite del cilindro:\n"
+
+#: fdisk/fdisk.c:1611
+#, c-format
+msgid "should be (%d, %d, 1)\n"
+msgstr "debe ser (%d, %d, 1)\n"
+
+#: fdisk/fdisk.c:1617
+#, 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"
+
+#: fdisk/fdisk.c:1621
+#, c-format
+msgid "should be (%d, %d, %d)\n"
+msgstr "debe ser (%d, %d, %d)\n"
+
+#: fdisk/fdisk.c:1633
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld MB, %lld bytes\n"
+msgstr ""
+"\n"
+"Disco %s: %ld MB, %lld bytes\n"
+
+#: fdisk/fdisk.c:1637
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld.%ld GB, %lld bytes\n"
+msgstr ""
+"\n"
+"Disco %s: %ld.%ld GB, %lld bytes\n"
+
+#: fdisk/fdisk.c:1640
+#, fuzzy, c-format
+msgid "%d heads, %llu sectors/track, %d cylinders"
+msgstr "%d cabezas, %d sectores/pista, %d cilindros"
+
+#: fdisk/fdisk.c:1643
+#, c-format
+msgid ", total %llu sectors"
+msgstr ", %llu sectores en total"
+
+#: fdisk/fdisk.c:1646
+#, fuzzy, c-format
+msgid "Units = %s of %d * %d = %d bytes\n"
+msgstr ""
+"Unidades = %s de %d * %d = %d bytes\n"
+"\n"
+
+#: fdisk/fdisk.c:1757
+#, 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"
+
+#: fdisk/fdisk.c:1785
+#, fuzzy, c-format
+msgid "Done.\n"
+msgstr ""
+"Fin\n"
+"\n"
+
+#: fdisk/fdisk.c:1813
+#, 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"
+
+#: fdisk/fdisk.c:1826
+#, 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.
+#: fdisk/fdisk.c:1827 fdisk/fdisksgilabel.c:223 fdisk/fdisksunlabel.c:603
+msgid "Device"
+msgstr "Disposit."
+
+#: fdisk/fdisk.c:1864
+#, 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"
+
+#: fdisk/fdisk.c:1874
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %d cylinders\n"
+"\n"
+msgstr ""
+"\n"
+"Disco %s: %d cabezas, %d sectores, %d cilindros\n"
+"\n"
+
+#: fdisk/fdisk.c:1876
+#, 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"
+
+#: fdisk/fdisk.c:1922
+#, c-format
+msgid "Warning: partition %d contains sector 0\n"
+msgstr "Atención: la partición %d contiene el sector 0\n"
+
+#: fdisk/fdisk.c:1925
+#, 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"
+
+#: fdisk/fdisk.c:1928
+#, 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"
+
+#: fdisk/fdisk.c:1931
+#, c-format
+msgid "Partitions %d: cylinder %d greater than maximum %d\n"
+msgstr "Partición %d: el cilindro %d supera el máximo %d\n"
+
+#: fdisk/fdisk.c:1935
+#, 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"
+
+#: fdisk/fdisk.c:1968
+#, c-format
+msgid "Warning: bad start-of-data in partition %d\n"
+msgstr "Atención: inicio de datos incorrecto en partición %d\n"
+
+#: fdisk/fdisk.c:1976
+#, 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"
+
+#: fdisk/fdisk.c:1996
+#, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr "Atención: la partición %d está vacía\n"
+
+#: fdisk/fdisk.c:2001
+#, 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"
+
+#: fdisk/fdisk.c:2007
+#, 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"
+
+#: fdisk/fdisk.c:2010
+#, fuzzy, c-format
+msgid "%lld unallocated %d-byte sectors\n"
+msgstr "%lld sectores no asignados\n"
+
+#: fdisk/fdisk.c:2025 fdisk/fdisksgilabel.c:633 fdisk/fdisksunlabel.c:416
+#, 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"
+
+#: fdisk/fdisk.c:2067
+#, fuzzy, c-format
+msgid "Sector %llu is already allocated\n"
+msgstr "El sector %d ya está asignado\n"
+
+#: fdisk/fdisk.c:2103
+#, c-format
+msgid "No free sectors available\n"
+msgstr "No hay disponible ningún sector libre\n"
+
+#: fdisk/fdisk.c:2112
+#, c-format
+msgid "Last %1$s, +%2$s or +size{K,M,G}"
+msgstr ""
+
+#: fdisk/fdisk.c:2178
+#, 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"
+
+#: fdisk/fdisk.c:2187
+#, 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"
+
+#: fdisk/fdisk.c:2207
+#, c-format
+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"
+
+#: fdisk/fdisk.c:2210
+#, c-format
+msgid "All logical partitions are in use\n"
+msgstr "Se están usando todas las particiones lógicas\n"
+
+#: fdisk/fdisk.c:2211
+#, c-format
+msgid "Adding a primary partition\n"
+msgstr "Se añade una partición primaria\n"
+
+#: fdisk/fdisk.c:2216
+#, c-format
+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"
+
+#: fdisk/fdisk.c:2218
+msgid "l   logical (5 or over)"
+msgstr "l   Partición lógica (5 o superior)"
+
+#: fdisk/fdisk.c:2218
+msgid "e   extended"
+msgstr "e   Partición extendida"
+
+#: fdisk/fdisk.c:2237
+#, c-format
+msgid "Invalid partition number for type `%c'\n"
+msgstr "Número de partición inválido para el tipo `%c'\n"
+
+#: fdisk/fdisk.c:2273
+#, c-format
+msgid ""
+"The partition table has been altered!\n"
+"\n"
+msgstr ""
+"¡Se ha modificado la tabla de particiones!\n"
+"\n"
+
+#: fdisk/fdisk.c:2287
+#, c-format
+msgid "Calling ioctl() to re-read partition table.\n"
+msgstr "Llamando a ioctl() para volver a leer la tabla de particiones.\n"
+
+#: fdisk/fdisk.c:2296
+#, fuzzy, c-format
+msgid ""
+"\n"
+"WARNING: Re-reading the partition table failed with error %d: %s.\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"
+
+#: fdisk/fdisk.c:2304
+#, 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"
+
+#: fdisk/fdisk.c:2310
+#, c-format
+msgid ""
+"\n"
+"Error closing file\n"
+msgstr ""
+"\n"
+"Error al cerrar el fichero\n"
+
+#: fdisk/fdisk.c:2314
+#, c-format
+msgid "Syncing disks.\n"
+msgstr "Se están sincronizando los discos.\n"
+
+#: fdisk/fdisk.c:2361
+#, c-format
+msgid "Partition %d has no data area\n"
+msgstr "La partición %d no tiene ninguna área de datos\n"
+
+#: fdisk/fdisk.c:2366
+msgid "New beginning of data"
+msgstr "Nuevo principio de datos"
+
+#: fdisk/fdisk.c:2382
+msgid "Expert command (m for help): "
+msgstr "Orden avanzada (m para obtener ayuda): "
+
+#: fdisk/fdisk.c:2395
+msgid "Number of cylinders"
+msgstr "Número de cilindros"
+
+#: fdisk/fdisk.c:2422
+msgid "Number of heads"
+msgstr "Número de cabezas"
+
+#: fdisk/fdisk.c:2449
+msgid "Number of sectors"
+msgstr "Número de sectores"
+
+#: fdisk/fdisk.c:2452
+#, c-format
+msgid "Warning: setting sector offset for DOS compatiblity\n"
+msgstr ""
+"Atención: estableciendo desplazamiento de sector para compatibilidad con "
+"DOS\n"
+
+#: fdisk/fdisk.c:2511
+#, 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 ""
+
+#: fdisk/fdisk.c:2533
+#, c-format
+msgid "Disk %s doesn't contain a valid partition table\n"
+msgstr "El disco %s no contiene una tabla de particiones válida\n"
+
+#: fdisk/fdisk.c:2544
+#, c-format
+msgid "Cannot open %s\n"
+msgstr "No se puede abrir %s\n"
+
+#: fdisk/fdisk.c:2563 fdisk/sfdisk.c:2618
+#, c-format
+msgid "cannot open %s\n"
+msgstr "No se puede abrir %s\n"
+
+#: fdisk/fdisk.c:2583
+#, c-format
+msgid "%c: unknown command\n"
+msgstr "%c: orden desconocida\n"
+
+#: fdisk/fdisk.c:2653
+#, c-format
+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"
+
+#: fdisk/fdisk.c:2657
+#, 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"
+
+#: fdisk/fdisk.c:2717
+#, 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"
+
+#: fdisk/fdisk.c:2727
+msgid "Command (m for help): "
+msgstr "Orden (m para obtener ayuda): "
+
+#: fdisk/fdisk.c:2743
+#, c-format
+msgid ""
+"\n"
+"The current boot file is: %s\n"
+msgstr ""
+"\n"
+"El fichero de inicio actual es: %s\n"
+
+#: fdisk/fdisk.c:2745
+msgid "Please enter the name of the new boot file: "
+msgstr "Escriba el nombre del nuevo fichero de inicio: "
+
+#: fdisk/fdisk.c:2747
+#, c-format
+msgid "Boot file unchanged\n"
+msgstr "No se ha modificado el fichero de inicio\n"
+
+#: fdisk/fdisk.c:2820
+#, c-format
+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"
+
+#: fdisk/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)."
+
+#: fdisk/fdisksgilabel.c:81
+msgid "SGI volhdr"
+msgstr "SGI volhdr"
+
+#: fdisk/fdisksgilabel.c:82
+msgid "SGI trkrepl"
+msgstr "SGI trkrepl"
+
+#: fdisk/fdisksgilabel.c:83
+msgid "SGI secrepl"
+msgstr "SGI secrepl"
+
+#: fdisk/fdisksgilabel.c:84
+msgid "SGI raw"
+msgstr "SGI raw"
+
+#: fdisk/fdisksgilabel.c:85
+msgid "SGI bsd"
+msgstr "SGI bsd"
+
+#: fdisk/fdisksgilabel.c:86
+msgid "SGI sysv"
+msgstr "SGI sysv"
+
+#: fdisk/fdisksgilabel.c:87
+msgid "SGI volume"
+msgstr "SGI volume"
+
+#: fdisk/fdisksgilabel.c:88
+msgid "SGI efs"
+msgstr "SGI efs"
+
+#: fdisk/fdisksgilabel.c:89
+msgid "SGI lvol"
+msgstr "SGI lvol"
+
+#: fdisk/fdisksgilabel.c:90
+msgid "SGI rlvol"
+msgstr "SGI rlvol"
+
+#: fdisk/fdisksgilabel.c:91
+msgid "SGI xfs"
+msgstr "SGI xfs"
+
+#: fdisk/fdisksgilabel.c:92
+msgid "SGI xfslog"
+msgstr "SGI xfslog"
+
+#: fdisk/fdisksgilabel.c:93
+msgid "SGI xlv"
+msgstr "SGI xlv"
+
+#: fdisk/fdisksgilabel.c:94
+msgid "SGI xvm"
+msgstr "SGI xvm"
+
+#: fdisk/fdisksgilabel.c:95 fdisk/fdisksunlabel.c:55
+msgid "Linux swap"
+msgstr "Linux swap"
+
+#: fdisk/fdisksgilabel.c:96 fdisk/fdisksunlabel.c:56
+msgid "Linux native"
+msgstr "Linux native"
+
+#: fdisk/fdisksgilabel.c:97 fdisk/fdisksunlabel.c:57 fdisk/i386_sys_types.c:63
+msgid "Linux LVM"
+msgstr "Linux LVM"
+
+#: fdisk/fdisksgilabel.c:98
+msgid "Linux RAID"
+msgstr "Linux RAID"
+
+#: fdisk/fdisksgilabel.c:164
+#, 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"
+
+#: fdisk/fdisksgilabel.c:183
+#, 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"
+
+#: fdisk/fdisksgilabel.c:201
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors\n"
+"%d cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * %d 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"
+
+#: fdisk/fdisksgilabel.c:214
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors, %d cylinders\n"
+"Units = %s of %d * %d 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"
+
+#: fdisk/fdisksgilabel.c:221
+#, 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"
+
+#: fdisk/fdisksgilabel.c:243
+#, c-format
+msgid ""
+"----- Bootinfo -----\n"
+"Bootfile: %s\n"
+"----- Directory Entries -----\n"
+msgstr ""
+"----- Info inicio -----\n"
+"Fichero de inicio: %s\n"
+"----- Entradas de directorio -----\n"
+
+#: fdisk/fdisksgilabel.c:251
+#, c-format
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr "%2d: %-10s sector%5u tamaño%8u\n"
+
+#: fdisk/fdisksgilabel.c:305
+#, 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"
+
+#: fdisk/fdisksgilabel.c:311
+#, 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"
+
+#: fdisk/fdisksgilabel.c:316
+#, 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"
+
+#: fdisk/fdisksgilabel.c:323
+#, 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"
+
+#: fdisk/fdisksgilabel.c:349
+#, c-format
+msgid ""
+"\n"
+"\tBootfile is changed to \"%s\".\n"
+msgstr ""
+"\n"
+"\tEl fichero de inicio se cambia a \"%s\".\n"
+
+#: fdisk/fdisksgilabel.c:439
+#, c-format
+msgid "More than one entire disk entry present.\n"
+msgstr "Existe más de una entrada de disco completo.\n"
+
+#: fdisk/fdisksgilabel.c:446 fdisk/fdisksunlabel.c:388
+#, c-format
+msgid "No partitions defined\n"
+msgstr "No hay ninguna partición definida\n"
+
+#: fdisk/fdisksgilabel.c:452
+#, 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"
+
+#: fdisk/fdisksgilabel.c:454
+#, 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"
+
+#: fdisk/fdisksgilabel.c:460
+#, 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"
+
+#: fdisk/fdisksgilabel.c:466
+#, c-format
+msgid "One Partition (#11) should cover the entire disk.\n"
+msgstr "Una partición (11) debe abarcar el disco completo.\n"
+
+#: fdisk/fdisksgilabel.c:476
+#, 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"
+
+#: fdisk/fdisksgilabel.c:482
+#, 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"
+
+#: fdisk/fdisksgilabel.c:489
+#, 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"
+
+#: fdisk/fdisksgilabel.c:497 fdisk/fdisksgilabel.c:515
+#, c-format
+msgid "Unused gap of %8u sectors - sectors %8u-%u\n"
+msgstr "Espacio no utilizado de %8u sectores - sectores %8u-%u\n"
+
+#: fdisk/fdisksgilabel.c:526
+#, c-format
+msgid ""
+"\n"
+"The boot partition does not exist.\n"
+msgstr ""
+"\n"
+"La partición de inicio no existe.\n"
+
+#: fdisk/fdisksgilabel.c:529
+#, c-format
+msgid ""
+"\n"
+"The swap partition does not exist.\n"
+msgstr ""
+"\n"
+"La partición de intercambio no existe.\n"
+
+#: fdisk/fdisksgilabel.c:533
+#, 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"
+
+#: fdisk/fdisksgilabel.c:536
+#, c-format
+msgid "\tYou have chosen an unusual boot file name.\n"
+msgstr "\tHa elegido un nombre de fichero de inicio no habitual.\n"
+
+#: fdisk/fdisksgilabel.c:545
+#, c-format
+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"
+
+#: fdisk/fdisksgilabel.c:551
+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"
+
+#: fdisk/fdisksgilabel.c:556 fdisk/fdisksunlabel.c:554
+msgid "YES\n"
+msgstr "SÍ\n"
+
+#: fdisk/fdisksgilabel.c:581
+#, c-format
+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"
+
+#: fdisk/fdisksgilabel.c:639
+#, c-format
+msgid "Attempting to generate entire disk entry automatically.\n"
+msgstr ""
+"Se está intentando generar una entrada de disco completo automáticamente.\n"
+
+#: fdisk/fdisksgilabel.c:644
+#, c-format
+msgid "The entire disk is already covered with partitions.\n"
+msgstr "Ya existen particiones que abarcan el disco completo.\n"
+
+#: fdisk/fdisksgilabel.c:648
+#, 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"
+
+#: fdisk/fdisksgilabel.c:657 fdisk/fdisksgilabel.c:686
+#, 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"
+
+#: fdisk/fdisksgilabel.c:673
+#, 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"
+
+#: fdisk/fdisksgilabel.c:678
+#, c-format
+msgid " Last %s"
+msgstr " Último %s"
+
+#: fdisk/fdisksgilabel.c:708
+#, c-format
+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"
+
+#: fdisk/fdisksgilabel.c:731 fdisk/fdisksunlabel.c:227
+#, c-format
+msgid ""
+"Warning:  BLKGETSIZE ioctl failed on %s.  Using geometry cylinder value of %"
+"d.\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"
+
+#: fdisk/fdisksgilabel.c:745
+#, c-format
+msgid "Trying to keep parameters of partition %d.\n"
+msgstr "Intentando conservar los parámetros de la partición %d.\n"
+
+#: fdisk/fdisksgilabel.c:747
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr "ID=%02x\tPRINCIPIO=%d\tLONGITUD=%d\n"
+
+#: fdisk/fdisksunlabel.c:43
+msgid "Unassigned"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:45
+msgid "SunOS root"
+msgstr "SunOS root"
+
+#: fdisk/fdisksunlabel.c:46
+msgid "SunOS swap"
+msgstr "SunOS swap"
+
+#: fdisk/fdisksunlabel.c:47
+msgid "SunOS usr"
+msgstr "SunOS usr"
+
+#: fdisk/fdisksunlabel.c:48
+msgid "Whole disk"
+msgstr "Disco completo"
+
+#: fdisk/fdisksunlabel.c:49
+msgid "SunOS stand"
+msgstr "SunOS stand"
+
+#: fdisk/fdisksunlabel.c:50
+msgid "SunOS var"
+msgstr "SunOS var"
+
+#: fdisk/fdisksunlabel.c:51
+msgid "SunOS home"
+msgstr "SunOS home"
+
+#: fdisk/fdisksunlabel.c:52
+#, fuzzy
+msgid "SunOS alt sectors"
+msgstr "%lld sectores no asignados\n"
+
+#: fdisk/fdisksunlabel.c:53
+#, fuzzy
+msgid "SunOS cachefs"
+msgstr "SunOS home"
+
+#: fdisk/fdisksunlabel.c:54
+#, fuzzy
+msgid "SunOS reserved"
+msgstr "SunOS usr"
+
+#: fdisk/fdisksunlabel.c:58 fdisk/i386_sys_types.c:103
+msgid "Linux raid autodetect"
+msgstr "Linux raid autodetect"
+
+#: fdisk/fdisksunlabel.c:141
+#, 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"
+
+#: fdisk/fdisksunlabel.c:153
+#, 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"
+
+#: fdisk/fdisksunlabel.c:158
+#, 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"
+
+#: fdisk/fdisksunlabel.c:163
+#, 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"
+
+#: fdisk/fdisksunlabel.c:168
+#, 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"
+
+#: fdisk/fdisksunlabel.c:198
+#, c-format
+msgid ""
+"Building a new sun disklabel. Changes will remain in memory only,\n"
+"until you decide to write them. After that, of course, the previous\n"
+"content won't be recoverable.\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"
+
+#: fdisk/fdisksunlabel.c:236
+msgid "Sectors/track"
+msgstr "Sectores/pista"
+
+#: fdisk/fdisksunlabel.c:351
+#, 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"
+
+#: fdisk/fdisksunlabel.c:371
+#, 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"
+
+#: fdisk/fdisksunlabel.c:393
+#, c-format
+msgid "Unused gap - sectors 0-%d\n"
+msgstr "Espacio no utilizado - sectores 0-%d\n"
+
+#: fdisk/fdisksunlabel.c:395 fdisk/fdisksunlabel.c:401
+#, c-format
+msgid "Unused gap - sectors %d-%d\n"
+msgstr "Espacio no utilizado - sectores %d-%d\n"
+
+#: fdisk/fdisksunlabel.c:426
+#, 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"
+
+#: fdisk/fdisksunlabel.c:449
+#, 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"
+
+#: fdisk/fdisksunlabel.c:477
+#, c-format
+msgid "Sector %d is already allocated\n"
+msgstr "El sector %d ya está asignado\n"
+
+#: fdisk/fdisksunlabel.c:507
+#, 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"
+
+#: fdisk/fdisksunlabel.c:534
+#, 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"
+
+#: fdisk/fdisksunlabel.c:549
+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): "
+
+#: fdisk/fdisksunlabel.c:581
+#, fuzzy, c-format
+msgid ""
+"\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"
+"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"
+
+#: fdisk/fdisksunlabel.c:597
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %d heads, %llu sectors, %d 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"
+
+#: fdisk/fdisksunlabel.c:602
+#, c-format
+msgid "%*s Flag    Start       End    Blocks   Id  System\n"
+msgstr "%*s Indic.  Principio   Fin    Bloques  Id  Sistema\n"
+
+#: fdisk/fdisksunlabel.c:630
+msgid "Number of alternate cylinders"
+msgstr "Número de cilindros alternativos"
+
+#: fdisk/fdisksunlabel.c:642
+msgid "Extra sectors per cylinder"
+msgstr "Sectores adicionales por cilindro"
+
+#: fdisk/fdisksunlabel.c:649
+msgid "Interleave factor"
+msgstr "Factor de interleave"
+
+#: fdisk/fdisksunlabel.c:656
+msgid "Rotation speed (rpm)"
+msgstr "Velocidad de rotación (r.p.m.)"
+
+#: fdisk/fdisksunlabel.c:663
+msgid "Number of physical cylinders"
+msgstr "Número de cilindros físicos"
+
+#: fdisk/i386_sys_types.c:6
+msgid "Empty"
+msgstr "Vacía"
+
+#: fdisk/i386_sys_types.c:7
+msgid "FAT12"
+msgstr "FAT12"
+
+#: fdisk/i386_sys_types.c:8
+msgid "XENIX root"
+msgstr "XENIX root"
+
+#: fdisk/i386_sys_types.c:9
+msgid "XENIX usr"
+msgstr "XENIX usr"
+
+#: fdisk/i386_sys_types.c:10
+msgid "FAT16 <32M"
+msgstr "FAT16 <32M"
+
+#: fdisk/i386_sys_types.c:11
+msgid "Extended"
+msgstr "Extendida"
+
+#: fdisk/i386_sys_types.c:12
+msgid "FAT16"
+msgstr "FAT16"
+
+#: fdisk/i386_sys_types.c:13
+msgid "HPFS/NTFS"
+msgstr "HPFS/NTFS"
+
+#: fdisk/i386_sys_types.c:14
+msgid "AIX"
+msgstr "AIX"
+
+#: fdisk/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr "AIX bootable"
+
+#: fdisk/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr "OS/2 Boot Manager"
+
+#: fdisk/i386_sys_types.c:17
+msgid "W95 FAT32"
+msgstr "W95 FAT32"
+
+#: fdisk/i386_sys_types.c:18
+msgid "W95 FAT32 (LBA)"
+msgstr "W95 FAT32 (LBA)"
+
+#: fdisk/i386_sys_types.c:19
+msgid "W95 FAT16 (LBA)"
+msgstr "W95 FAT16 (LBA)"
+
+#: fdisk/i386_sys_types.c:20
+msgid "W95 Ext'd (LBA)"
+msgstr "W95 Ext'd (LBA)"
+
+#: fdisk/i386_sys_types.c:21
+msgid "OPUS"
+msgstr "OPUS"
+
+#: fdisk/i386_sys_types.c:22
+msgid "Hidden FAT12"
+msgstr "FAT12 oculta"
+
+#: fdisk/i386_sys_types.c:23
+msgid "Compaq diagnostics"
+msgstr "Compaq diagnostics"
+
+#: fdisk/i386_sys_types.c:24
+msgid "Hidden FAT16 <32M"
+msgstr "FAT16 oculta <32M"
+
+#: fdisk/i386_sys_types.c:25
+msgid "Hidden FAT16"
+msgstr "FAT16 oculta"
+
+#: fdisk/i386_sys_types.c:26
+msgid "Hidden HPFS/NTFS"
+msgstr "HPFS/NTFS oculta"
+
+#: fdisk/i386_sys_types.c:27
+msgid "AST SmartSleep"
+msgstr "SmartSleep de AST"
+
+#: fdisk/i386_sys_types.c:28
+msgid "Hidden W95 FAT32"
+msgstr "Hidden W95 FAT32"
+
+#: fdisk/i386_sys_types.c:29
+msgid "Hidden W95 FAT32 (LBA)"
+msgstr "Hidden W95 FAT32 (LBA)"
+
+#: fdisk/i386_sys_types.c:30
+msgid "Hidden W95 FAT16 (LBA)"
+msgstr "Hidden W95 FAT16 (LBA)"
+
+#: fdisk/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr "NEC DOS"
+
+#: fdisk/i386_sys_types.c:32
+msgid "Plan 9"
+msgstr "Plan 9"
+
+#: fdisk/i386_sys_types.c:33
+msgid "PartitionMagic recovery"
+msgstr "PartitionMagic recovery"
+
+#: fdisk/i386_sys_types.c:34
+msgid "Venix 80286"
+msgstr "Venix 80286"
+
+#: fdisk/i386_sys_types.c:35
+msgid "PPC PReP Boot"
+msgstr "PPC PReP Boot"
+
+#: fdisk/i386_sys_types.c:36
+msgid "SFS"
+msgstr "SFS"
+
+#: fdisk/i386_sys_types.c:37
+msgid "QNX4.x"
+msgstr "QNX4.x"
+
+#: fdisk/i386_sys_types.c:38
+msgid "QNX4.x 2nd part"
+msgstr "QNX4.x segunda parte"
+
+#: fdisk/i386_sys_types.c:39
+msgid "QNX4.x 3rd part"
+msgstr "QNX4.x tercera parte"
+
+#: fdisk/i386_sys_types.c:40
+msgid "OnTrack DM"
+msgstr "OnTrack DM"
+
+#: fdisk/i386_sys_types.c:41
+msgid "OnTrack DM6 Aux1"
+msgstr "OnTrack DM6 Aux1"
+
+#: fdisk/i386_sys_types.c:42
+msgid "CP/M"
+msgstr "CP/M"
+
+#: fdisk/i386_sys_types.c:43
+msgid "OnTrack DM6 Aux3"
+msgstr "OnTrack DM6 Aux3"
+
+#: fdisk/i386_sys_types.c:44
+msgid "OnTrackDM6"
+msgstr "OnTrackDM6"
+
+#: fdisk/i386_sys_types.c:45
+msgid "EZ-Drive"
+msgstr "EZ-Drive"
+
+#: fdisk/i386_sys_types.c:46
+msgid "Golden Bow"
+msgstr "Golden Bow"
+
+#: fdisk/i386_sys_types.c:47
+msgid "Priam Edisk"
+msgstr "Priam Edisk"
+
+#: fdisk/i386_sys_types.c:48 fdisk/i386_sys_types.c:92
+#: fdisk/i386_sys_types.c:98 fdisk/i386_sys_types.c:99
+msgid "SpeedStor"
+msgstr "SpeedStor"
+
+#: fdisk/i386_sys_types.c:49
+msgid "GNU HURD or SysV"
+msgstr "GNU HURD o SysV"
+
+#: fdisk/i386_sys_types.c:50
+msgid "Novell Netware 286"
+msgstr "Novell Netware 286"
+
+#: fdisk/i386_sys_types.c:51
+msgid "Novell Netware 386"
+msgstr "Novell Netware 386"
+
+#: fdisk/i386_sys_types.c:52
+msgid "DiskSecure Multi-Boot"
+msgstr "DiskSecure Multi-Boot"
+
+#: fdisk/i386_sys_types.c:53
+msgid "PC/IX"
+msgstr "PC/IX"
+
+#: fdisk/i386_sys_types.c:54
+msgid "Old Minix"
+msgstr "Old Minix"
+
+#: fdisk/i386_sys_types.c:55
+msgid "Minix / old Linux"
+msgstr "Minix / old Linux"
+
+#: fdisk/i386_sys_types.c:56
+msgid "Linux swap / Solaris"
+msgstr "Linux swap / Solaris"
+
+#: fdisk/i386_sys_types.c:58
+msgid "OS/2 hidden C: drive"
+msgstr "Unidad C: oculta de OS/2"
+
+#: fdisk/i386_sys_types.c:59
+msgid "Linux extended"
+msgstr "Linux extendida"
+
+#: fdisk/i386_sys_types.c:60 fdisk/i386_sys_types.c:61
+msgid "NTFS volume set"
+msgstr "Conjunto de volúmenes NTFS"
+
+#: fdisk/i386_sys_types.c:62
+msgid "Linux plaintext"
+msgstr "Linux plaintext"
+
+#: fdisk/i386_sys_types.c:64
+msgid "Amoeba"
+msgstr "Amoeba"
+
+#: fdisk/i386_sys_types.c:65
+msgid "Amoeba BBT"
+msgstr "Amoeba BBT"
+
+#: fdisk/i386_sys_types.c:66
+msgid "BSD/OS"
+msgstr "BSD/OS"
+
+#: fdisk/i386_sys_types.c:67
+msgid "IBM Thinkpad hibernation"
+msgstr "Hibernación de IBM Thinkpad"
+
+#: fdisk/i386_sys_types.c:68
+msgid "FreeBSD"
+msgstr "FreeBSD"
+
+#: fdisk/i386_sys_types.c:69
+msgid "OpenBSD"
+msgstr "OpenBSD"
+
+#: fdisk/i386_sys_types.c:70
+msgid "NeXTSTEP"
+msgstr "NeXTSTEP"
+
+#: fdisk/i386_sys_types.c:71
+msgid "Darwin UFS"
+msgstr "UFS de Darwin"
+
+#: fdisk/i386_sys_types.c:72
+msgid "NetBSD"
+msgstr "NetBSD"
+
+#: fdisk/i386_sys_types.c:73
+msgid "Darwin boot"
+msgstr "arranque de Darwin"
+
+#: fdisk/i386_sys_types.c:74
+#, fuzzy
+msgid "HFS / HFS+"
+msgstr "OS/2 HPFS"
+
+#: fdisk/i386_sys_types.c:75
+msgid "BSDI fs"
+msgstr "BSDI fs"
+
+#: fdisk/i386_sys_types.c:76
+msgid "BSDI swap"
+msgstr "BSDI swap"
+
+#: fdisk/i386_sys_types.c:77
+msgid "Boot Wizard hidden"
+msgstr "Boot Wizard hidden"
+
+#: fdisk/i386_sys_types.c:78
+msgid "Solaris boot"
+msgstr "arranque de Solaris"
+
+#: fdisk/i386_sys_types.c:79
+msgid "Solaris"
+msgstr "Solaris"
+
+#: fdisk/i386_sys_types.c:80
+msgid "DRDOS/sec (FAT-12)"
+msgstr "DRDOS/sec (FAT-12)"
+
+#: fdisk/i386_sys_types.c:81
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr "DRDOS/sec (FAT-16 < 32M)"
+
+#: fdisk/i386_sys_types.c:82
+msgid "DRDOS/sec (FAT-16)"
+msgstr "DRDOS/sec (FAT-16)"
+
+#: fdisk/i386_sys_types.c:83
+msgid "Syrinx"
+msgstr "Syrinx"
+
+#: fdisk/i386_sys_types.c:84
+msgid "Non-FS data"
+msgstr "Datos sin SF"
+
+#: fdisk/i386_sys_types.c:85
+msgid "CP/M / CTOS / ..."
+msgstr "CP/M / CTOS / ..."
+
+#: fdisk/i386_sys_types.c:87
+msgid "Dell Utility"
+msgstr "Utilidad Dell"
+
+#: fdisk/i386_sys_types.c:88
+msgid "BootIt"
+msgstr "BootIt"
+
+#: fdisk/i386_sys_types.c:89
+msgid "DOS access"
+msgstr "DOS access"
+
+#: fdisk/i386_sys_types.c:91
+msgid "DOS R/O"
+msgstr "DOS R/O"
+
+#: fdisk/i386_sys_types.c:94
+msgid "BeOS fs"
+msgstr "BeOS fs"
+
+#: fdisk/i386_sys_types.c:95
+#, fuzzy
+msgid "GPT"
+msgstr "EFI GPT"
+
+#: fdisk/i386_sys_types.c:96
+msgid "EFI (FAT-12/16/32)"
+msgstr "EFI (FAT-12/16/32)"
+
+#: fdisk/i386_sys_types.c:97
+msgid "Linux/PA-RISC boot"
+msgstr "inicio Linux/PA-RISC"
+
+#: fdisk/i386_sys_types.c:100
+msgid "DOS secondary"
+msgstr "DOS secondary"
+
+#: fdisk/i386_sys_types.c:101
+msgid "VMware VMFS"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:102
+msgid "VMware VMKCORE"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:106
+msgid "LANstep"
+msgstr "LANstep"
+
+#: fdisk/i386_sys_types.c:107
+msgid "BBT"
+msgstr "BBT"
+
+#: fdisk/sfdisk.c:179
+#, 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"
+
+#: fdisk/sfdisk.c:184
+#, 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"
+
+#: fdisk/sfdisk.c:230
+msgid "out of memory - giving up\n"
+msgstr "No queda memoria; se abandona el intento\n"
+
+#: fdisk/sfdisk.c:235 fdisk/sfdisk.c:318
+#, 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"
+
+#: fdisk/sfdisk.c:253
+#, c-format
+msgid "ERROR: sector %lu does not have an msdos signature\n"
+msgstr "ERROR: el sector %lu no tiene una firma msdos\n"
+
+#: fdisk/sfdisk.c:268
+#, 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"
+
+#: fdisk/sfdisk.c:306
+#, 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"
+
+#: fdisk/sfdisk.c:324
+#, c-format
+msgid "write error on %s\n"
+msgstr "Error de escritura en %s\n"
+
+#: fdisk/sfdisk.c:350
+#, c-format
+msgid "cannot stat partition restore file (%s)\n"
+msgstr "No se puede ejecutar stat para fichero de restaurar partición (%s)\n"
+
+#: fdisk/sfdisk.c:355
+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"
+
+#: fdisk/sfdisk.c:359
+msgid "out of memory?\n"
+msgstr "¿No queda memoria?\n"
+
+#: fdisk/sfdisk.c:365
+#, c-format
+msgid "cannot open partition restore file (%s)\n"
+msgstr "No se puede abrir fichero de restaurar partición (%s)\n"
+
+#: fdisk/sfdisk.c:371
+#, c-format
+msgid "error reading %s\n"
+msgstr "Error al leer %s\n"
+
+#: fdisk/sfdisk.c:378
+#, c-format
+msgid "cannot open device %s for writing\n"
+msgstr "No se puede abrir el dispositivo %s para escribir\n"
+
+#: fdisk/sfdisk.c:390
+#, c-format
+msgid "error writing sector %lu on %s\n"
+msgstr "Error al escribir el sector %lu en %s\n"
+
+#: fdisk/sfdisk.c:455
+#, c-format
+msgid "Disk %s: cannot get geometry\n"
+msgstr "Disco %s: no se puede obtener la geometría\n"
+
+#: fdisk/sfdisk.c:472
+#, c-format
+msgid "Disk %s: cannot get size\n"
+msgstr "Disco %s: no se puede obtener el tamaño\n"
+
+#: fdisk/sfdisk.c:505
+#, 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"
+
+#: fdisk/sfdisk.c:512
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu heads\n"
+msgstr "Atención: HDIO_GETGEO indica que hay %lu cabezas\n"
+
+#: fdisk/sfdisk.c:515
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu sectors\n"
+msgstr "Atención: HDIO_GETGEO indica que hay %lu sectores\n"
+
+#: fdisk/sfdisk.c:519
+#, 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"
+
+#: fdisk/sfdisk.c:524
+#, 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"
+
+#: fdisk/sfdisk.c:528
+#, 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"
+
+#: fdisk/sfdisk.c:610
+#, 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"
+
+#: fdisk/sfdisk.c:615
+#, 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"
+
+#: fdisk/sfdisk.c:620
+#, 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"
+
+#: fdisk/sfdisk.c:660
+#, c-format
+msgid ""
+"Id  Name\n"
+"\n"
+msgstr ""
+"Id  Nombre\n"
+"\n"
+
+#: fdisk/sfdisk.c:821
+#, c-format
+msgid "Re-reading the partition table ...\n"
+msgstr "Volviendo a leer la tabla de particiones...\n"
+
+#: fdisk/sfdisk.c:827
+#, 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"
+
+#: fdisk/sfdisk.c:833
+#, c-format
+msgid "Error closing %s\n"
+msgstr "Error al cerrar %s\n"
+
+#: fdisk/sfdisk.c:871
+#, c-format
+msgid "%s: no such partition\n"
+msgstr "%s: esta partición no existe\n"
+
+#: fdisk/sfdisk.c:894
+msgid "unrecognized format - using sectors\n"
+msgstr "Formato no reconocido; utilizando sectores\n"
+
+#: fdisk/sfdisk.c:944
+#, c-format
+msgid "unimplemented format - using %s\n"
+msgstr "formato no implementado; utilizando %s\n"
+
+#: fdisk/sfdisk.c:948
+#, 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"
+
+#: fdisk/sfdisk.c:951
+#, c-format
+msgid "   Device Boot Start     End   #cyls    #blocks   Id  System\n"
+msgstr "   Disp.  Inic. Princ.   Fin   Nºcil    Nºbloq.   Id  Sistema\n"
+
+#: fdisk/sfdisk.c:956
+#, c-format
+msgid ""
+"Units = sectors of 512 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Unidades = sectores de 512 bytes, contando desde %d\n"
+"\n"
+
+#: fdisk/sfdisk.c:958
+#, c-format
+msgid "   Device Boot    Start       End   #sectors  Id  System\n"
+msgstr "   Disp.  Inicio  Principio   Fin   Nº sect.  Id  Sistema\n"
+
+#: fdisk/sfdisk.c:961
+#, c-format
+msgid ""
+"Units = blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Unidades = bloques de 1024 bytes, contando desde %d\n"
+"\n"
+
+#: fdisk/sfdisk.c:963
+#, 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?
+#: fdisk/sfdisk.c:966
+#, c-format
+msgid ""
+"Units = mebibytes of 1048576 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"
+
+#: fdisk/sfdisk.c:968
+#, c-format
+msgid "   Device Boot Start   End    MiB    #blocks   Id  System\n"
+msgstr "   Disp.  Inic Princ.  Fin    MiB    Nºbloques Id  Sistema\n"
+
+#: fdisk/sfdisk.c:1128
+#, 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"
+
+#: fdisk/sfdisk.c:1135
+#, 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"
+
+#: fdisk/sfdisk.c:1138
+#, 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"
+
+#: fdisk/sfdisk.c:1148
+msgid "No partitions found\n"
+msgstr "No se ha encontrado ninguna partición\n"
+
+#: fdisk/sfdisk.c:1152
+#, 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"
+
+#: fdisk/sfdisk.c:1201
+msgid "no partition table present.\n"
+msgstr "No existe ninguna tabla de particiones.\n"
+
+#: fdisk/sfdisk.c:1203
+#, c-format
+msgid "strange, only %d partitions defined.\n"
+msgstr "Extrañamente sólo hay %d particiones definidas.\n"
+
+#: fdisk/sfdisk.c:1212
+#, 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"
+
+#: fdisk/sfdisk.c:1215
+#, 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"
+
+#: fdisk/sfdisk.c:1218
+#, 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"
+
+#: fdisk/sfdisk.c:1229
+#, c-format
+msgid "Warning: partition %s "
+msgstr "Atención: la partición %s "
+
+#: fdisk/sfdisk.c:1230
+#, c-format
+msgid "is not contained in partition %s\n"
+msgstr "no se encuentra dentro de la partición %s\n"
+
+#: fdisk/sfdisk.c:1241
+#, c-format
+msgid "Warning: partitions %s "
+msgstr "Atención: las particiones %s "
+
+#: fdisk/sfdisk.c:1242
+#, c-format
+msgid "and %s overlap\n"
+msgstr "y %s se solapan\n"
+
+#: fdisk/sfdisk.c:1253
+#, c-format
+msgid ""
+"Warning: partition %s contains part of the partition table (sector %lu),\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"
+
+#: fdisk/sfdisk.c:1265
+#, c-format
+msgid "Warning: partition %s starts at sector 0\n"
+msgstr "Atención: la partición %s empieza en el sector 0\n"
+
+#: fdisk/sfdisk.c:1269
+#, 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"
+
+#: fdisk/sfdisk.c:1284
+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"
+
+#: fdisk/sfdisk.c:1302
+#, 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"
+
+#: fdisk/sfdisk.c:1308
+#, 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"
+
+#: fdisk/sfdisk.c:1326
+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"
+
+#: fdisk/sfdisk.c:1333
+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"
+
+#: fdisk/sfdisk.c:1339
+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"
+
+#: fdisk/sfdisk.c:1353
+msgid "start"
+msgstr "comienzo"
+
+#: fdisk/sfdisk.c:1356
+#, 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"
+
+#: fdisk/sfdisk.c:1362
+msgid "end"
+msgstr "final"
+
+#: fdisk/sfdisk.c:1365
+#, 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"
+
+#: fdisk/sfdisk.c:1368
+#, 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"
+
+#: fdisk/sfdisk.c:1393
+#, c-format
+msgid ""
+"Warning: shifted start of the extd partition from %ld to %ld\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"
+
+#: fdisk/sfdisk.c:1399
+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"
+
+#: fdisk/sfdisk.c:1417 fdisk/sfdisk.c:1494
+#, c-format
+msgid "too many partitions - ignoring those past nr (%d)\n"
+msgstr "demasiadas particiones - se ignoran las posteriores al nº (%d)\n"
+
+#: fdisk/sfdisk.c:1432
+msgid "tree of partitions?\n"
+msgstr "¿árbol de particiones?\n"
+
+#: fdisk/sfdisk.c:1540
+msgid "detected Disk Manager - unable to handle that\n"
+msgstr "Administrador de disco detectado; no se puede tratar esto\n"
+
+#: fdisk/sfdisk.c:1547
+msgid "DM6 signature found - giving up\n"
+msgstr "Detectada firma DM6 - abandonando\n"
+
+#: fdisk/sfdisk.c:1567
+msgid "strange..., an extended partition of size 0?\n"
+msgstr "Situación anómala: ¿partición extendida de tamaño 0?\n"
+
+#: fdisk/sfdisk.c:1574 fdisk/sfdisk.c:1585
+msgid "strange..., a BSD partition of size 0?\n"
+msgstr "Situación anómala: ¿partición BSD de tamaño 0?\n"
+
+#: fdisk/sfdisk.c:1619
+#, c-format
+msgid " %s: unrecognized partition table type\n"
+msgstr " %s: tipo de tabla de particiones no reconocido\n"
+
+#: fdisk/sfdisk.c:1631
+msgid "-n flag was given: Nothing changed\n"
+msgstr "Se ha especificado el indicador -n: no se ha producido ningún cambio\n"
+
+#: fdisk/sfdisk.c:1647
+msgid "Failed saving the old sectors - aborting\n"
+msgstr "Error al guardar los sectores antiguos; anulando la operación\n"
+
+#: fdisk/sfdisk.c:1652
+#, c-format
+msgid "Failed writing the partition on %s\n"
+msgstr "Error al escribir la partición en %s\n"
+
+#: fdisk/sfdisk.c:1729
+msgid "long or incomplete input line - quitting\n"
+msgstr "Línea de entrada larga o incompleta; se abandona la operación\n"
+
+#: fdisk/sfdisk.c:1765
+#, c-format
+msgid "input error: `=' expected after %s field\n"
+msgstr "Error de entrada: se esperaba `=' después del campo %s\n"
+
+#: fdisk/sfdisk.c:1772
+#, c-format
+msgid "input error: unexpected character %c after %s field\n"
+msgstr "Error de entrada: carácter inesperado %c tras campo %s\n"
+
+#: fdisk/sfdisk.c:1778
+#, c-format
+msgid "unrecognized input: %s\n"
+msgstr "Entrada no reconocida: %s\n"
+
+#: fdisk/sfdisk.c:1820
+msgid "number too big\n"
+msgstr "Número demasiado elevado\n"
+
+#: fdisk/sfdisk.c:1824
+msgid "trailing junk after number\n"
+msgstr "Datos extraños tras el número\n"
+
+#: fdisk/sfdisk.c:1948
+msgid "no room for partition descriptor\n"
+msgstr "No hay espacio para descriptor de partición\n"
+
+#: fdisk/sfdisk.c:1981
+msgid "cannot build surrounding extended partition\n"
+msgstr "No se puede crear partición extendida adyacente\n"
+
+#: fdisk/sfdisk.c:2032
+msgid "too many input fields\n"
+msgstr "Demasiados campos de entrada\n"
+
+#: fdisk/sfdisk.c:2066
+msgid "No room for more\n"
+msgstr "No queda más espacio\n"
+
+#: fdisk/sfdisk.c:2085
+msgid "Illegal type\n"
+msgstr "Tipo no permitido\n"
+
+#: fdisk/sfdisk.c:2117
+#, 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"
+
+#: fdisk/sfdisk.c:2123
+msgid "Warning: empty partition\n"
+msgstr "Atención: partición vacía\n"
+
+#: fdisk/sfdisk.c:2137
+#, c-format
+msgid "Warning: bad partition start (earliest %lu)\n"
+msgstr "Atención: principio de partición incorrecto (antes %lu)\n"
+
+#: fdisk/sfdisk.c:2150
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr "Indicador de iniciable no reconocido; elija - o *\n"
+
+#: fdisk/sfdisk.c:2167 fdisk/sfdisk.c:2180
+msgid "partial c,h,s specification?\n"
+msgstr "¿Especificación parcial de cil,cab,sect?\n"
+
+#: fdisk/sfdisk.c:2191
+msgid "Extended partition not where expected\n"
+msgstr "Partición extendida en ubicación no esperada\n"
+
+#: fdisk/sfdisk.c:2223
+msgid "bad input\n"
+msgstr "Entrada incorrecta\n"
+
+#: fdisk/sfdisk.c:2245
+msgid "too many partitions\n"
+msgstr "Hay demasiadas particiones\n"
+
+#: fdisk/sfdisk.c:2278
+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"
+
+#: fdisk/sfdisk.c:2304
+#, c-format
+msgid "Usage: %s [options] device ...\n"
+msgstr "Uso: %s [opciones] dispositivo ...\n"
+
+#: fdisk/sfdisk.c:2305
+msgid "device: something like /dev/hda or /dev/sda"
+msgstr "dispositivo: similar a /dev/hda or /dev/sda"
+
+#: fdisk/sfdisk.c:2306
+msgid "useful options:"
+msgstr "opciones útiles:"
+
+#: fdisk/sfdisk.c:2307
+msgid "    -s [or --show-size]: list size of a partition"
+msgstr "    -s [o --show-size]:  Muestra el tamaño de una partición"
+
+#: fdisk/sfdisk.c:2308
+msgid "    -c [or --id]:        print or change partition Id"
+msgstr ""
+"    -c [o --id]:         Imprime o cambia el identificador de partición"
+
+#: fdisk/sfdisk.c:2309
+msgid "    -l [or --list]:      list partitions of each device"
+msgstr "    -l [o --list]:       Muestra las particiones de cada dispositivo"
+
+#: fdisk/sfdisk.c:2310
+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"
+
+#: fdisk/sfdisk.c:2311
+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"
+
+#: fdisk/sfdisk.c:2312
+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"
+
+#: fdisk/sfdisk.c:2313
+msgid "    -T [or --list-types]:list the known partition types"
+msgstr "    -T [o --list-types]: Muestra los tipos de particiones conocidos"
+
+#: fdisk/sfdisk.c:2314
+msgid "    -D [or --DOS]:       for DOS-compatibility: waste a little space"
+msgstr ""
+"    -D [o --DOS]:        Para compatibilidad con DOS: se pierde algo de "
+"espacio"
+
+#: fdisk/sfdisk.c:2315
+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"
+
+#: fdisk/sfdisk.c:2316
+msgid "    -N# :                change only the partition with number #"
+msgstr ""
+"    -N# :                Cambia únicamente la partición con el número #"
+
+#: fdisk/sfdisk.c:2317
+msgid "    -n :                 do not actually write to disk"
+msgstr "    -n :                 No escribe realmente en el disco"
+
+#: fdisk/sfdisk.c:2318
+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'"
+
+#: fdisk/sfdisk.c:2319
+msgid "    -I file :            restore these sectors again"
+msgstr "    -I fichero:          Restaura estos sectores de nuevo"
+
+#: fdisk/sfdisk.c:2320
+msgid "    -v [or --version]:   print version"
+msgstr "    -v [o --version]:    Imprime la versión"
+
+#: fdisk/sfdisk.c:2321
+msgid "    -? [or --help]:      print this message"
+msgstr "    -? [o --help]:       Imprime este mensaje"
+
+#: fdisk/sfdisk.c:2322
+msgid "dangerous options:"
+msgstr "opciones peligrosas:"
+
+#: fdisk/sfdisk.c:2323
+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"
+
+#: fdisk/sfdisk.c:2324
+#, fuzzy
+msgid ""
+"    -G [or --show-pt-geometry]: print geometry guessed from the partition "
+"table"
+msgstr ""
+"    -g [o --show-geometry]:  Imprime la idea del núcleo sobre la geometría"
+
+#: fdisk/sfdisk.c:2325
+msgid ""
+"    -x [or --show-extended]: also list extended partitions on output\n"
+"                             or expect descriptors for them on input"
+msgstr ""
+"    -x [o --show-extended]:  Muestra también las particiones extendidas en\n"
+"                             salida o espera sus descriptores en entrada"
+
+#: fdisk/sfdisk.c:2327
+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"
+
+#: fdisk/sfdisk.c:2328
+msgid "    -q  [or --quiet]:      suppress warning messages"
+msgstr "    -q  [o --quiet]:       Suprime mensajes de aviso"
+
+#: fdisk/sfdisk.c:2329
+msgid "    You can override the detected geometry using:"
+msgstr "    Puede modificar la geometría detectada utilizando:"
+
+#: fdisk/sfdisk.c:2330
+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"
+
+#: fdisk/sfdisk.c:2331
+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"
+
+#: fdisk/sfdisk.c:2332
+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"
+
+#: fdisk/sfdisk.c:2333
+msgid "You can disable all consistency checking with:"
+msgstr "Puede desactivar toda comprobación de coherencia con:"
+
+#: fdisk/sfdisk.c:2334
+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"
+
+#: fdisk/sfdisk.c:2340
+msgid "Usage:"
+msgstr "Uso:"
+
+#: fdisk/sfdisk.c:2341
+#, 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"
+
+#: fdisk/sfdisk.c:2342
+#, 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"
+
+#: fdisk/sfdisk.c:2343
+#, 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"
+
+#: fdisk/sfdisk.c:2463
+#, 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 ""
+
+#: fdisk/sfdisk.c:2466
+#, fuzzy, c-format
+msgid "Use the --force flag to overrule this check.\n"
+msgstr "Utilice el indicador --force para eludir todas las comprobaciones.\n"
+
+#: fdisk/sfdisk.c:2505
+msgid "no command?\n"
+msgstr "¿ninguna orden?\n"
+
+#: fdisk/sfdisk.c:2637
+#, c-format
+msgid "total: %llu blocks\n"
+msgstr "total: %llu bloques\n"
+
+#: fdisk/sfdisk.c:2680
+msgid "usage: sfdisk --print-id device partition-number\n"
+msgstr "uso: sfdisk --print-id dispositivo número-partición\n"
+
+#: fdisk/sfdisk.c:2682
+msgid "usage: sfdisk --change-id device partition-number Id\n"
+msgstr "uso: sfdisk --change-id dispositivo número-partición Id\n"
+
+#: fdisk/sfdisk.c:2684
+msgid "usage: sfdisk --id device partition-number [Id]\n"
+msgstr "uso: sfdisk --id dispositivo número-partición [Id]\n"
+
+#: fdisk/sfdisk.c:2691
+msgid "can specify only one device (except with -l or -s)\n"
+msgstr "puede especificar sólo un dispositivo (salvo con -l o -s)\n"
+
+#: fdisk/sfdisk.c:2717
+#, c-format
+msgid "cannot open %s read-write\n"
+msgstr "No se puede abrir %s para lectura-escritura\n"
+
+#: fdisk/sfdisk.c:2719
+#, c-format
+msgid "cannot open %s for reading\n"
+msgstr "No se puede abrir %s para lectura\n"
+
+#: fdisk/sfdisk.c:2744
+#, c-format
+msgid "%s: OK\n"
+msgstr "%s: Correcto\n"
+
+#: fdisk/sfdisk.c:2763 fdisk/sfdisk.c:2796
+#, c-format
+msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+msgstr "%s: %ld cilindros, %ld cabezas, %ld sectores por pista\n"
+
+#: fdisk/sfdisk.c:2815
+#, c-format
+msgid "Cannot get size of %s\n"
+msgstr "No se puede obtener el tamaño de %s\n"
+
+#: fdisk/sfdisk.c:2895
+#, c-format
+msgid "bad active byte: 0x%x instead of 0x80\n"
+msgstr "byte activo incorrecto: 0x%x en lugar de 0x80\n"
+
+#: fdisk/sfdisk.c:2913 fdisk/sfdisk.c:2968 fdisk/sfdisk.c:3001
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+"Fin\n"
+"\n"
+
+#: fdisk/sfdisk.c:2922
+#, 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"
+
+#: fdisk/sfdisk.c:2938
+#, c-format
+msgid "partition %s has id %x and is not hidden\n"
+msgstr "la partición %s tiene el identificador %x y no está oculta\n"
+
+#: fdisk/sfdisk.c:2997
+#, c-format
+msgid "Bad Id %lx\n"
+msgstr "Identificador %lx incorrecto\n"
+
+#: fdisk/sfdisk.c:3014
+msgid "This disk is currently in use.\n"
+msgstr "Actualmente este disco está en uso.\n"
+
+#: fdisk/sfdisk.c:3033
+#, c-format
+msgid "Fatal error: cannot find %s\n"
+msgstr "Error muy grave: no se puede encontrar %s\n"
+
+#: fdisk/sfdisk.c:3036
+#, c-format
+msgid "Warning: %s is not a block device\n"
+msgstr "Atención: %s no es un dispositivo de bloques\n"
+
+#: fdisk/sfdisk.c:3042
+msgid "Checking that no-one is using this disk right now ...\n"
+msgstr "Comprobando que nadie esté utilizando este disco en este momento...\n"
+
+#: fdisk/sfdisk.c:3044
+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"
+
+#: fdisk/sfdisk.c:3048
+msgid "Use the --force flag to overrule all checks.\n"
+msgstr "Utilice el indicador --force para eludir todas las comprobaciones.\n"
+
+#: fdisk/sfdisk.c:3052
+msgid "OK\n"
+msgstr "Correcto\n"
+
+#: fdisk/sfdisk.c:3061
+#, c-format
+msgid "Old situation:\n"
+msgstr "Situación anterior:\n"
+
+#: fdisk/sfdisk.c:3065
+#, c-format
+msgid "Partition %d does not exist, cannot change it\n"
+msgstr "La partición %d no existe; no se puede cambiar\n"
+
+#: fdisk/sfdisk.c:3073
+#, c-format
+msgid "New situation:\n"
+msgstr "Situación nueva:\n"
+
+#: fdisk/sfdisk.c:3078
+msgid ""
+"I don't like these partitions - nothing changed.\n"
+"(If you really want this, use the --force option.)\n"
+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"
+
+#: fdisk/sfdisk.c:3081
+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"
+
+#: fdisk/sfdisk.c:3086
+#, c-format
+msgid "Are you satisfied with this? [ynq] "
+msgstr "¿Está satisfecho con esta operación? [ynq] "
+
+#: fdisk/sfdisk.c:3088
+#, c-format
+msgid "Do you want to write this to disk? [ynq] "
+msgstr "¿Desea escribir esta información en el disco? [ynq] "
+
+#: fdisk/sfdisk.c:3093
+#, c-format
+msgid ""
+"\n"
+"sfdisk: premature end of input\n"
+msgstr ""
+"\n"
+"sfdisk: final de entrada antes de lo previsto\n"
+
+#: fdisk/sfdisk.c:3095
+msgid "Quitting - nothing changed\n"
+msgstr "Se está saliendo; no se ha cambiado nada\n"
+
+#: fdisk/sfdisk.c:3101
+#, c-format
+msgid "Please answer one of y,n,q\n"
+msgstr "Responda con una de las entradas siguientes: y,n,q\n"
+
+#: fdisk/sfdisk.c:3109
+#, c-format
+msgid ""
+"Successfully wrote the new partition table\n"
+"\n"
+msgstr ""
+"La nueva tabla de particiones se ha escrito correctamente\n"
+"\n"
+
+#: fdisk/sfdisk.c:3115
+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"
+
+#: fsck/fsck.c:327
+#, fuzzy, c-format
+msgid "WARNING: couldn't open %s: %s\n"
+msgstr "%s: no se puede abrir %s: %s\n"
+
+#: fsck/fsck.c:337
+#, c-format
+msgid "WARNING: bad format on line %d of %s\n"
+msgstr ""
+
+#: fsck/fsck.c:353
+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 ""
+
+#: fsck/fsck.c:461
+#, fuzzy, c-format
+msgid "fsck: %s: not found\n"
+msgstr "umount: %s: no se ha encontrado"
+
+#: fsck/fsck.c:577
+#, c-format
+msgid "%s: wait: No more child process?!?\n"
+msgstr ""
+
+#: fsck/fsck.c:599
+#, c-format
+msgid "Warning... %s for device %s exited with signal %d.\n"
+msgstr ""
+
+#: fsck/fsck.c:605
+#, c-format
+msgid "%s %s: status is %x, should never happen.\n"
+msgstr ""
+
+#: fsck/fsck.c:644
+#, c-format
+msgid "Finished with %s (exit status %d)\n"
+msgstr ""
+
+#: fsck/fsck.c:704
+#, fuzzy, c-format
+msgid "%s: Error %d while executing fsck.%s for %s\n"
+msgstr "%s: ¡error %d al descomprimir! %p(%d)\n"
+
+#: fsck/fsck.c:725
+msgid ""
+"Either all or none of the filesystem types passed to -t must be prefixed\n"
+"with 'no' or '!'.\n"
+msgstr ""
+
+#: fsck/fsck.c:744
+#, fuzzy
+msgid "Couldn't allocate memory for filesystem types\n"
+msgstr "mount: debe especificar el tipo de sistema de ficheros"
+
+#: fsck/fsck.c:867
+#, c-format
+msgid ""
+"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass "
+"number\n"
+msgstr ""
+
+#: fsck/fsck.c:894
+#, c-format
+msgid "fsck: cannot check %s: fsck.%s not found\n"
+msgstr ""
+
+#: fsck/fsck.c:950
+#, fuzzy
+msgid "Checking all file systems.\n"
+msgstr "Forzando comprobación del sistema de ficheros en %s.\n"
+
+#: fsck/fsck.c:1041
+#, c-format
+msgid "--waiting-- (pass %d)\n"
+msgstr ""
+
+#: fsck/fsck.c:1061
+#, 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"
+
+#: fsck/fsck.c:1099
+#, fuzzy, c-format
+msgid "%s: too many devices\n"
+msgstr "%s: %s no es un dispositivo lp.\n"
+
+#: fsck/fsck.c:1110
+#, fuzzy, c-format
+msgid "Couldn't open %s: %s\n"
+msgstr "No se puede abrir %s: %s\n"
+
+#: fsck/fsck.c:1112
+#, fuzzy, c-format
+msgid "Is /proc mounted?\n"
+msgstr "Se ha ejecutado umount en %s\n"
+
+#: fsck/fsck.c:1121
+#, c-format
+msgid "Must be root to scan for matching filesystems: %s\n"
+msgstr ""
+
+#: fsck/fsck.c:1124
+#, fuzzy, c-format
+msgid "Couldn't find matching filesystem: %s\n"
+msgstr "Desmontando los sistemas de ficheros restantes..."
+
+#: fsck/fsck.c:1132 fsck/fsck.c:1218
+#, fuzzy, c-format
+msgid "%s: too many arguments\n"
+msgstr "%s: argumento desconocido: %s\n"
+
+#: fsck/fsck.c:1252
+#, fuzzy, c-format
+msgid "fsck from %s\n"
+msgstr "%s de %s\n"
+
+#: fsck/fsck.c:1264
+#, fuzzy, c-format
+msgid "%s: Unable to allocate memory for fsck_path\n"
+msgstr "No se puede asignar búfer para los nodos-i"
+
+#: getopt/getopt.c:229
+msgid "Try `getopt --help' for more information.\n"
+msgstr "Escriba `getopt --help' para obtener más información.\n"
+
+#: getopt/getopt.c:295
+msgid "empty long option after -l or --long argument"
+msgstr "Opción larga vacía tras argumento -l o --long"
+
+#: getopt/getopt.c:315
+msgid "unknown shell after -s or --shell argument"
+msgstr "Shell desconocido tras argumento -s o --shell"
+
+#: getopt/getopt.c:320
+msgid "Usage: getopt optstring parameters\n"
+msgstr "Uso: getopt cadenaopciones parámetros\n"
+
+#: getopt/getopt.c:321
+msgid "       getopt [options] [--] optstring parameters\n"
+msgstr "       getopt [opciones] [--] cadenaopciones parámetros\n"
+
+#: getopt/getopt.c:322
+msgid "       getopt [options] -o|--options optstring [options] [--]\n"
+msgstr "       getopt [opciones] -o|--options cadenaopciones [opciones] [--]\n"
+
+#: getopt/getopt.c:323
+msgid "              parameters\n"
+msgstr "              parámetros\n"
+
+#: getopt/getopt.c:324
+msgid ""
+"  -a, --alternative            Allow long options starting with single -\n"
+msgstr ""
+"  -a, --alternative            Permite opciones largas con un solo - "
+"inicial\n"
+
+#: getopt/getopt.c:325
+msgid "  -h, --help                   This small usage guide\n"
+msgstr "  -h, --help                   Esta pequeña guía de uso\n"
+
+#: getopt/getopt.c:326
+msgid "  -l, --longoptions=longopts   Long options to be recognized\n"
+msgstr "  -l, --longoptions=opclargas  Opciones largas para reconocer\n"
+
+#: getopt/getopt.c:327
+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"
+
+#: getopt/getopt.c:328
+msgid "  -o, --options=optstring      Short options to be recognized\n"
+msgstr "  -o, --options=cadenaopciones Opciones cortas que se reconocen\n"
+
+#: getopt/getopt.c:329
+msgid "  -q, --quiet                  Disable error reporting by getopt(3)\n"
+msgstr ""
+"  -q, --quiet                  Desactiva información de errores mediante\n"
+"                               getopt(3)\n"
+
+#: getopt/getopt.c:330
+msgid "  -Q, --quiet-output           No normal output\n"
+msgstr "  -Q, --quiet-output           No hay salida normal\n"
+
+#: getopt/getopt.c:331
+msgid "  -s, --shell=shell            Set shell quoting conventions\n"
+msgstr ""
+"  -s, --shell=intérpr.órdenes  Define las convenciones de cita del "
+"intérprete\n"
+
+#: getopt/getopt.c:332
+msgid "  -T, --test                   Test for getopt(1) version\n"
+msgstr "  -T, --test                   Prueba para la versión de getopt(1)\n"
+
+#: getopt/getopt.c:333
+msgid "  -u, --unqote                 Do not quote the output\n"
+msgstr "  -u, --unquote                No entrecomilla el resultado\n"
+
+#: getopt/getopt.c:334
+msgid "  -V, --version                Output version information\n"
+msgstr "  -V, --version                Muestra información de versión\n"
+
+#: getopt/getopt.c:388 getopt/getopt.c:447
+msgid "missing optstring argument"
+msgstr "Falta el argumento cadenaopciones"
+
+# FIXME: ¿Qué hace un número de versión en una cadena para ser traducida?
+#: getopt/getopt.c:435
+#, fuzzy, c-format
+msgid "getopt (enhanced) 1.1.4\n"
+msgstr "getopt (mejorado) 1.1.3\n"
+
+#: getopt/getopt.c:441
+msgid "internal error, contact the author."
+msgstr "Error interno; contacte con el desarrollador."
+
+#: hwclock/cmos.c:176
+#, c-format
+msgid "booted from MILO\n"
+msgstr "iniciado desde MILO\n"
+
+#: hwclock/cmos.c:185
+#, c-format
+msgid "Ruffian BCD clock\n"
+msgstr "Reloj BCD Ruffian\n"
+
+#: hwclock/cmos.c:201
+#, c-format
+msgid "clockport adjusted to 0x%x\n"
+msgstr "puerto de reloj ajustado a 0x%x\n"
+
+#: hwclock/cmos.c:213
+#, c-format
+msgid "funky TOY!\n"
+msgstr "funky TOY!\n"
+
+#: hwclock/cmos.c:244
+#, c-format
+msgid "%s: atomic %s failed for 1000 iterations!"
+msgstr "%s: %s atómico ha fallado para 1000 iteraciones."
+
+#: hwclock/cmos.c:273
+#, c-format
+msgid "cmos_read(): write to control address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:276
+#, c-format
+msgid "cmos_read(): read data address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:307
+#, c-format
+msgid "cmos_write(): write to control address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:311
+#, c-format
+msgid "cmos_write(): write to data address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:574
+#, c-format
+msgid "Cannot open /dev/port: %s"
+msgstr "No se puede abrir /dev/port: %s"
+
+#: hwclock/cmos.c:581
+#, c-format
+msgid "I failed to get permission because I didn't try.\n"
+msgstr "No se ha podido obtener permiso porque no se ha intentado.\n"
+
+#: hwclock/cmos.c:584
+#, c-format
+msgid "%s is unable to get I/O port access:  the iopl(3) call failed.\n"
+msgstr ""
+"%s no puede obtener acceso al puerto de E/S: la llamada iopl(3) ha fallado.\n"
+
+#: hwclock/cmos.c:587
+#, c-format
+msgid "Probably you need root privileges.\n"
+msgstr "Probablemente son necesarios los privilegios de usuario root.\n"
+
+#: hwclock/hwclock.c:231
+#, 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"
+
+#: hwclock/hwclock.c:232 hwclock/hwclock.c:327
+msgid "UTC"
+msgstr "UTC"
+
+#: hwclock/hwclock.c:232 hwclock/hwclock.c:326
+msgid "local"
+msgstr "local"
+
+#: hwclock/hwclock.c:312
+#, c-format
+msgid "%s: Warning: unrecognized third line in adjtime file\n"
+msgstr "%s: atención: tercera línea no reconocida en el fichero adjtime\n"
+
+#: hwclock/hwclock.c:314
+#, c-format
+msgid "(Expected: `UTC' or `LOCAL' or nothing.)\n"
+msgstr "(Se esperaba: `UTC', `LOCAL' o nada.)\n"
+
+#: hwclock/hwclock.c:321
+#, 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"
+
+#: hwclock/hwclock.c:323
+#, c-format
+msgid "Last calibration done at %ld seconds after 1969\n"
+msgstr "Última calibración realizada %ld segundos después de 1969\n"
+
+#: hwclock/hwclock.c:325
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr "El reloj de hardware tiene la hora %s\n"
+
+#: hwclock/hwclock.c:327
+msgid "unknown"
+msgstr "desconocido"
+
+#: hwclock/hwclock.c:351
+#, c-format
+msgid "Waiting for clock tick...\n"
+msgstr "Esperando señal de reloj...\n"
+
+#: hwclock/hwclock.c:357
+#, c-format
+msgid "...synchronization failed\n"
+msgstr ""
+
+#: hwclock/hwclock.c:359
+#, c-format
+msgid "...got clock tick\n"
+msgstr "...recibida señal de reloj\n"
+
+#: hwclock/hwclock.c:413
+#, 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"
+
+#: hwclock/hwclock.c:421
+#, 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"
+
+#: hwclock/hwclock.c:451
+#, 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"
+
+#: hwclock/hwclock.c:480
+#, 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"
+
+#: hwclock/hwclock.c:486
+#, c-format
+msgid "Clock not changed - testing only.\n"
+msgstr "El reloj no se ha modificado; sólo se está probando.\n"
+
+#: hwclock/hwclock.c:536
+#, 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"
+
+#: hwclock/hwclock.c:572
+#, c-format
+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).\n"
+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"
+
+#: hwclock/hwclock.c:582
+#, c-format
+msgid "%s  %.6f seconds\n"
+msgstr "%s  %.6f segundos\n"
+
+#: hwclock/hwclock.c:616
+#, c-format
+msgid "No --date option specified.\n"
+msgstr "No se ha especificado la opción --date.\n"
+
+#: hwclock/hwclock.c:622
+#, c-format
+msgid "--date argument too long\n"
+msgstr "argumento --date demasiado largo\n"
+
+#: hwclock/hwclock.c:629
+#, c-format
+msgid ""
+"The value of the --date option is not a valid date.\n"
+"In particular, it contains quotation marks.\n"
+msgstr ""
+"El valor de la opción --date no es una fecha válida.\n"
+"En concreto, contiene comillas.\n"
+
+#: hwclock/hwclock.c:637
+#, c-format
+msgid "Issuing date command: %s\n"
+msgstr "Ejecutando orden date: %s\n"
+
+#: hwclock/hwclock.c:641
+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"
+
+#: hwclock/hwclock.c:649
+#, c-format
+msgid "response from date command = %s\n"
+msgstr "respuesta de la orden date = %s\n"
+
+#: hwclock/hwclock.c:651
+#, c-format
+msgid ""
+"The date command issued by %s returned unexpected results.\n"
+"The command was:\n"
+"  %s\n"
+"The response was:\n"
+"  %s\n"
+msgstr ""
+"La orden date ejecutada por %s ha devuelto resultados inesperados.\n"
+"La orden fue:\n"
+"%s\n"
+"La respuesta fue:\n"
+"%s\n"
+
+#: hwclock/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"
+
+#: hwclock/hwclock.c:674
+#, 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"
+
+#: hwclock/hwclock.c:706
+#, c-format
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot set the "
+"System Time from it.\n"
+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"
+
+#: hwclock/hwclock.c:728 hwclock/hwclock.c:805
+#, c-format
+msgid "Calling settimeofday:\n"
+msgstr "Se está llamando settimeofday:\n"
+
+#: hwclock/hwclock.c:729 hwclock/hwclock.c:807
+#, c-format
+msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+
+#: hwclock/hwclock.c:731 hwclock/hwclock.c:809
+#, c-format
+msgid "\ttz.tz_minuteswest = %d\n"
+msgstr "\ttz.tz_minuteswest = %d\n"
+
+#: hwclock/hwclock.c:734 hwclock/hwclock.c:812
+#, 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"
+
+#: hwclock/hwclock.c:743 hwclock/hwclock.c:821
+#, c-format
+msgid "Must be superuser to set system clock.\n"
+msgstr "Debe ser superusuario para establecer el reloj del sistema.\n"
+
+#: hwclock/hwclock.c:746 hwclock/hwclock.c:824
+msgid "settimeofday() failed"
+msgstr "settimeofday() ha fallado"
+
+#: hwclock/hwclock.c:782
+#, c-format
+msgid "Current system time: %ld = %s\n"
+msgstr ""
+
+#: hwclock/hwclock.c:806
+#, c-format
+msgid "\tUTC: %s\n"
+msgstr ""
+
+#: hwclock/hwclock.c:853
+#, 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"
+
+#: hwclock/hwclock.c:858
+#, 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"
+
+#: hwclock/hwclock.c:864
+#, 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"
+
+#: hwclock/hwclock.c:912
+#, 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"
+
+#: hwclock/hwclock.c:962
+#, c-format
+msgid "Time since last adjustment is %d seconds\n"
+msgstr "El tiempo transcurrido desde el último ajuste es de %d segundos\n"
+
+#: hwclock/hwclock.c:964
+#, 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"
+
+#: hwclock/hwclock.c:993
+#, 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"
+
+#: hwclock/hwclock.c:994
+#, c-format
+msgid ""
+"Would have written the following to %s:\n"
+"%s"
+msgstr ""
+"Se habría escrito lo siguiente en %s:\n"
+"%s"
+
+#: hwclock/hwclock.c:1002
+#, c-format
+msgid ""
+"Could not open file with the clock adjustment parameters in it (%s) for "
+"writing"
+msgstr ""
+
+#: hwclock/hwclock.c:1007 hwclock/hwclock.c:1012
+#, c-format
+msgid "Could not update file with the clock adjustment parameters (%s) in it"
+msgstr ""
+
+#: hwclock/hwclock.c:1018
+#, c-format
+msgid "Drift adjustment parameters not updated.\n"
+msgstr "Parámetros de ajuste del desfase no actualizados.\n"
+
+#: hwclock/hwclock.c:1059
+#, c-format
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot adjust it.\n"
+msgstr ""
+"El reloj de hardware no contiene una hora válida, por lo que no se puede "
+"ajustar.\n"
+
+#: hwclock/hwclock.c:1067
+#, 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"
+
+#: hwclock/hwclock.c:1090
+#, 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"
+
+#: hwclock/hwclock.c:1116
+#, c-format
+msgid "Using %s.\n"
+msgstr "Utilizando %s.\n"
+
+#: hwclock/hwclock.c:1118
+#, c-format
+msgid "No usable clock interface found.\n"
+msgstr "No se ha encontrado ninguna interfaz de reloj utilizable.\n"
+
+#: hwclock/hwclock.c:1222 hwclock/hwclock.c:1228
+#, c-format
+msgid "Unable to set system clock.\n"
+msgstr "No se puede establecer el reloj del sistema.\n"
+
+#: hwclock/hwclock.c:1258
+#, c-format
+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.\n"
+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"
+
+#: hwclock/hwclock.c:1267
+#, c-format
+msgid "Unable to get the epoch value from the kernel.\n"
+msgstr "No se puede obtener el valor de época del núcleo.\n"
+
+#: hwclock/hwclock.c:1269
+#, c-format
+msgid "Kernel is assuming an epoch value of %lu\n"
+msgstr "El núcleo presupone el valor de época %lu\n"
+
+#: hwclock/hwclock.c:1272
+#, c-format
+msgid ""
+"To set the epoch value, you must use the 'epoch' option to tell to what "
+"value to set it.\n"
+msgstr ""
+"Para establecer el valor de época, debe utilizar la opción 'epoch' para "
+"indicar en qué valor debe definirse.\n"
+
+#: hwclock/hwclock.c:1275
+#, 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"
+
+#: hwclock/hwclock.c:1278
+#, 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"
+
+#: hwclock/hwclock.c:1291 misc-utils/cal.c:345 misc-utils/kill.c:189
+#, c-format
+msgid "%s from %s\n"
+msgstr "%s de %s\n"
+
+#: hwclock/hwclock.c:1312
+#, fuzzy, c-format
+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"
+"  -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"
+
+#: hwclock/hwclock.c:1347
+#, fuzzy, c-format
+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"
+
+#: hwclock/hwclock.c:1434
+#, fuzzy, c-format
+msgid "%s: Unable to connect to audit system\n"
+msgstr "No se puede establecer el reloj del sistema.\n"
+
+#: hwclock/hwclock.c:1552
+#, 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"
+
+#: hwclock/hwclock.c:1559
+#, c-format
+msgid ""
+"You have specified multiple functions.\n"
+"You can only perform one function at a time.\n"
+msgstr ""
+"Ha especificado varias funciones.\n"
+"Sólo puede llevar a cabo una función a la vez.\n"
+
+#: hwclock/hwclock.c:1566
+#, c-format
+msgid ""
+"%s: The --utc and --localtime options are mutually exclusive.  You specified "
+"both.\n"
+msgstr ""
+"%s: las opciones --utc y --localtime se excluyen mutuamente. Ha especificado "
+"ambas.\n"
+
+#: hwclock/hwclock.c:1573
+#, c-format
+msgid ""
+"%s: The --adjust and --noadjfile options are mutually exclusive.  You "
+"specified both.\n"
+msgstr ""
+"%s: las opciones --adjust y --noadjfile se excluyen mutuamente. Ha "
+"especificado ambas.\n"
+
+#: hwclock/hwclock.c:1580
+#, fuzzy, c-format
+msgid ""
+"%s: The --adjfile and --noadjfile options are mutually exclusive.  You "
+"specified both.\n"
+msgstr ""
+"%s: las opciones --adjust y --noadjfile se excluyen mutuamente. Ha "
+"especificado ambas.\n"
+
+#: hwclock/hwclock.c:1589
+#, c-format
+msgid "%s: With --noadjfile, you must specify either --utc or --localtime\n"
+msgstr ""
+"%s: Con --noadjfile, debe especificarse o bien --utc o bien --localtime\n"
+
+#: hwclock/hwclock.c:1603
+#, c-format
+msgid "No usable set-to time.  Cannot set clock.\n"
+msgstr "Hora no utilizable. No se puede establecer el reloj.\n"
+
+#: hwclock/hwclock.c:1620
+#, c-format
+msgid "Sorry, only the superuser can change the Hardware Clock.\n"
+msgstr "Únicamente el superusuario puede cambiar el reloj de hardware.\n"
+
+#: hwclock/hwclock.c:1625
+#, c-format
+msgid "Sorry, only the superuser can change the System Clock.\n"
+msgstr "Únicamente el superusuario puede cambiar el reloj del sistema.\n"
+
+#: hwclock/hwclock.c:1630
+#, c-format
+msgid ""
+"Sorry, only the superuser can change the Hardware Clock epoch in the "
+"kernel.\n"
+msgstr ""
+"Sólo el superusuario puede cambiar el valor de época del reloj de hardware "
+"del núcleo.\n"
+
+#: hwclock/hwclock.c:1651
+#, c-format
+msgid "Cannot access the Hardware Clock via any known method.\n"
+msgstr "No se puede acceder al reloj de hardware por ningún método conocido.\n"
+
+#: hwclock/hwclock.c:1655
+#, c-format
+msgid ""
+"Use the --debug option to see the details of our search for an access "
+"method.\n"
+msgstr ""
+"Utilice la opción --debug para ver los detalles de la búsqueda para un "
+"método de acceso.\n"
+
+#: hwclock/kd.c:53
+#, c-format
+msgid "Waiting in loop for time from KDGHWCLK to change\n"
+msgstr "Esperando en bucle que cambie la hora de KDGHWCLK\n"
+
+#: hwclock/kd.c:56
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr "Error de ioctl KDGHWCLK al leer la hora"
+
+#: hwclock/kd.c:77 hwclock/rtc.c:221
+#, c-format
+msgid "Timed out waiting for time change.\n"
+msgstr "Se ha excedido el tiempo de espera del cambio de hora.\n"
+
+#: hwclock/kd.c:81
+msgid "KDGHWCLK ioctl to read time failed in loop"
+msgstr "Error en bucle de ioctl KDGHWCLK al leer la hora"
+
+#: hwclock/kd.c:103
+#, c-format
+msgid "ioctl() failed to read time from %s"
+msgstr "ioctl() no ha podido leer la hora de %s"
+
+#: hwclock/kd.c:139
+msgid "ioctl KDSHWCLK failed"
+msgstr "Error de ioctl KDGHWCLK"
+
+#: hwclock/kd.c:175
+msgid "Can't open /dev/tty1 or /dev/vc/1"
+msgstr "No se puede abrir /dev/tty1 o /dev/vc/1"
+
+#: hwclock/kd.c:179
+msgid "KDGHWCLK ioctl failed"
+msgstr "Error de ioctl KDGHWCLK"
+
+#: hwclock/rtc.c:147 hwclock/rtc.c:241
+#, c-format
+msgid "open() of %s failed"
+msgstr "Error de open() de %s"
+
+#: hwclock/rtc.c:181
+#, c-format
+msgid "ioctl() to %s to read the time failed.\n"
+msgstr "Error de ioctl() con %s al leer la hora.\n"
+
+#: hwclock/rtc.c:203
+#, c-format
+msgid "Waiting in loop for time from %s to change\n"
+msgstr "Esperando en bucle que cambie la hora de %s\n"
+
+#: hwclock/rtc.c:259
+#, c-format
+msgid "%s does not have interrupt functions. "
+msgstr "%s no tiene funciones de interrupción. "
+
+#: hwclock/rtc.c:270
+#, c-format
+msgid "read() to %s to wait for clock tick failed"
+msgstr "Error de read() de %s al esperar señal de reloj"
+
+#: hwclock/rtc.c:288
+#, 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ó"
+
+#: hwclock/rtc.c:291
+#, c-format
+msgid "select() to %s to wait for clock tick timed out\n"
+msgstr "La ejecución de select() a %s para esperar una señal de reloj expiró\n"
+
+#: hwclock/rtc.c:300
+#, c-format
+msgid "ioctl() to %s to turn off update interrupts failed"
+msgstr "Error de ioctl() con %s al desactivar interrupciones de actualización"
+
+#: hwclock/rtc.c:303
+#, 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"
+
+#: hwclock/rtc.c:360
+#, c-format
+msgid "ioctl() to %s to set the time failed.\n"
+msgstr "Error de ioctl() con %s al establecer la hora.\n"
+
+#: hwclock/rtc.c:366
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr "ioctl(%s) ha finalizado correctamente.\n"
+
+#: hwclock/rtc.c:392
+#, c-format
+msgid "Open of %s failed"
+msgstr "Error al abrir %s"
+
+#: hwclock/rtc.c:410 hwclock/rtc.c:454
+#, 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.\n"
+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"
+
+#: hwclock/rtc.c:415 hwclock/rtc.c:459
+#, c-format
+msgid "Unable to open %s"
+msgstr "No se puede abrir %s"
+
+#: hwclock/rtc.c:422
+#, c-format
+msgid "ioctl(RTC_EPOCH_READ) to %s failed"
+msgstr "Error de ioctl(RTC_EPOCH_READ) con %s"
+
+#: hwclock/rtc.c:427
+#, 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"
+
+#: hwclock/rtc.c:446
+#, c-format
+msgid "The epoch value may not be less than 1900.  You requested %ld\n"
+msgstr "El valor de época no puede ser inferior a 1900. Ha solicitado %ld\n"
+
+#: hwclock/rtc.c:464
+#, 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"
+
+#: hwclock/rtc.c:469
+#, c-format
+msgid ""
+"The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl.\n"
+msgstr ""
+"El controlador de dispositivo del núcleo para %s no tiene la ioctl "
+"RTC_EPOCH_SET.\n"
+
+#: hwclock/rtc.c:472
+#, c-format
+msgid "ioctl(RTC_EPOCH_SET) to %s failed"
+msgstr "Error de ioctl(RTC_EPOCH_SET) de %s"
+
+#: login-utils/agetty.c:361
+#, c-format
+msgid "%s: can't exec %s: %m"
+msgstr "%s: can't exec %s: %m"
+
+#: login-utils/agetty.c:384
+msgid "can't malloc initstring"
+msgstr "can't malloc initstring"
+
+#: login-utils/agetty.c:449
+#, c-format
+msgid "bad timeout value: %s"
+msgstr "bad timeout value: %s"
+
+#: login-utils/agetty.c:526
+#, c-format
+msgid "bad speed: %s"
+msgstr "bad speed: %s"
+
+#: login-utils/agetty.c:528
+msgid "too many alternate speeds"
+msgstr "too many alternate speeds"
+
+#: login-utils/agetty.c:630
+#, c-format
+msgid "/dev: chdir() failed: %m"
+msgstr "/dev: chdir() ha fallado: %m"
+
+#: login-utils/agetty.c:634
+#, c-format
+msgid "/dev/%s: not a character device"
+msgstr "/dev/%s: no es un dispositivo de caracteres"
+
+#: login-utils/agetty.c:643
+#, c-format
+msgid "/dev/%s: cannot open as standard input: %m"
+msgstr "/dev/%s: no se puede abrir como entrada estándar: %m"
+
+#: login-utils/agetty.c:653
+#, c-format
+msgid "%s: not open for read/write"
+msgstr "%s: no abierto para lectura/escritura"
+
+#: login-utils/agetty.c:659
+#, c-format
+msgid "%s: dup problem: %m"
+msgstr "%s: problema de dup: %m"
+
+#: login-utils/agetty.c:946
+#, c-format
+msgid "user"
+msgstr "usuario"
+
+#: login-utils/agetty.c:946
+#, c-format
+msgid "users"
+msgstr "usuarios"
+
+#: login-utils/agetty.c:1031
+#, c-format
+msgid "%s: read: %m"
+msgstr "%s: lectura: %m"
+
+#: login-utils/agetty.c:1078
+#, c-format
+msgid "%s: input overrun"
+msgstr "%s: desbordamiento de entrada"
+
+#: login-utils/agetty.c:1207
+#, fuzzy, c-format
+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 ""
+"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"
+
+#: login-utils/checktty.c:91 login-utils/checktty.c:112
+#, c-format
+msgid "login: memory low, login may fail\n"
+msgstr "login: poca memoria; el inicio de sesión puede fallar\n"
+
+#: login-utils/checktty.c:92
+msgid "can't malloc for ttyclass"
+msgstr "No se puede realizar asignación de memoria para ttyclass"
+
+#: login-utils/checktty.c:113
+msgid "can't malloc for grplist"
+msgstr "No se puede realizar asignación de memoria para grplist"
+
+#: login-utils/checktty.c:554
+#, c-format
+msgid "Login on %s from %s denied by default.\n"
+msgstr "Inicio de sesión en %s desde %s denegado de forma predeterminada.\n"
+
+#: login-utils/checktty.c:565
+#, c-format
+msgid "Login on %s from %s denied.\n"
+msgstr "Inicio de sesión en %s desde %s denegado.\n"
+
+#: login-utils/chfn.c:133 login-utils/chsh.c:119
+#, c-format
+msgid "%s: you (user %d) don't exist.\n"
+msgstr "%s: el usuario %d no existe.\n"
+
+#: login-utils/chfn.c:140 login-utils/chsh.c:126
+#, c-format
+msgid "%s: user \"%s\" does not exist.\n"
+msgstr "%s: el usuario \"%s\" no existe.\n"
+
+#: login-utils/chfn.c:145 login-utils/chsh.c:131
+#, c-format
+msgid "%s: can only change local entries; use yp%s instead.\n"
+msgstr ""
+"%s: sólo se pueden modificar entradas locales; utilice yp%s en su lugar.\n"
+
+#: login-utils/chfn.c:156 login-utils/chsh.c:142
+msgid "Unknown user context"
+msgstr "Contexto de usuario desconocido"
+
+#: login-utils/chfn.c:157
+#, c-format
+msgid "%s: %s is not authorized to change the finger info of %s\n"
+msgstr "%s: %s no está autorizado a cambiar la información de finger de %s\n"
+
+#: login-utils/chfn.c:164 login-utils/chsh.c:150
+#, c-format
+msgid "%s: Can't set default context for /etc/passwd"
+msgstr "%s: No se puede establecer el contexto predeterminado para /etc/passwd"
+
+#: login-utils/chfn.c:178
+#, c-format
+msgid "Changing finger information for %s.\n"
+msgstr "Cambiando información de finger para %s.\n"
+
+#: login-utils/chfn.c:189 login-utils/chsh.c:188 login-utils/login.c:572
+#, fuzzy, c-format
+msgid "%s: PAM failure, aborting: %s\n"
+msgstr "login: error de PAM; anulando: %s\n"
+
+#: login-utils/chfn.c:212 login-utils/chsh.c:211 login-utils/login.c:823
+#: login-utils/newgrp.c:85 login-utils/simpleinit.c:340 mount/lomount.c:744
+#: mount/lomount.c:747
+msgid "Password: "
+msgstr "Contraseña: "
+
+#: login-utils/chfn.c:215 login-utils/chsh.c:214
+msgid "Incorrect password."
+msgstr "Contraseña incorrecta."
+
+#: login-utils/chfn.c:226
+#, c-format
+msgid "Finger information not changed.\n"
+msgstr "No se ha cambiado la información de finger.\n"
+
+#: login-utils/chfn.c:328
+#, c-format
+msgid "Usage: %s [ -f full-name ] [ -o office ] "
+msgstr "Uso: %s [ -f nombre-completo ] [ -o oficina ] "
+
+#: login-utils/chfn.c:329
+#, c-format
+msgid ""
+"[ -p office-phone ]\n"
+"\t[ -h home-phone ] "
+msgstr ""
+"[ -p teléfono-oficina ]\n"
+"\t[ -h teléfono-particular ] "
+
+#: login-utils/chfn.c:330
+#, c-format
+msgid "[ --help ] [ --version ]\n"
+msgstr "[ --help ] [ --version ]\n"
+
+#: login-utils/chfn.c:378
+msgid "Office"
+msgstr ""
+
+#: login-utils/chfn.c:379
+msgid "Office Phone"
+msgstr ""
+
+#: login-utils/chfn.c:380
+msgid "Home Phone"
+msgstr ""
+
+#: login-utils/chfn.c:401 login-utils/chsh.c:321
+#, c-format
+msgid ""
+"\n"
+"Aborted.\n"
+msgstr ""
+"\n"
+"Operación anulada.\n"
+
+#: login-utils/chfn.c:434
+#, c-format
+msgid "field is too long.\n"
+msgstr "Campo demasiado largo.\n"
+
+#: login-utils/chfn.c:442
+#, c-format
+msgid "'%c' is not allowed.\n"
+msgstr "'%c' no está permitido.\n"
+
+#: login-utils/chfn.c:447
+#, c-format
+msgid "Control characters are not allowed.\n"
+msgstr "Los caracteres de control no están permitidos.\n"
+
+#: login-utils/chfn.c:512
+#, 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:515
+#, c-format
+msgid "Finger information changed.\n"
+msgstr "Se ha cambiado la información de finger.\n"
+
+#: login-utils/chsh.c:143
+#, c-format
+msgid "%s: %s is not authorized to change the shell of %s\n"
+msgstr "%s: %s no está autorizado a cambiar el shell de %s\n"
+
+#: login-utils/chsh.c:164
+#, c-format
+msgid ""
+"%s: Running UID doesn't match UID of user we're altering, shell change "
+"denied\n"
+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:170
+#, c-format
+msgid "%s: Your shell is not in /etc/shells, shell change denied\n"
+msgstr ""
+"%s: el intérprete de órdenes no está en /etc/shells; cambio de intérprete de "
+"órdenes denegado\n"
+
+#: login-utils/chsh.c:177
+#, c-format
+msgid "Changing shell for %s.\n"
+msgstr "Cambiando intérprete de órdenes para %s.\n"
+
+#: login-utils/chsh.c:222
+msgid "New shell"
+msgstr "Nuevo intérprete de órdenes"
+
+#: login-utils/chsh.c:229
+#, c-format
+msgid "Shell not changed.\n"
+msgstr "No se ha cambiado el intérprete de órdenes.\n"
+
+#: login-utils/chsh.c:235
+#, c-format
+msgid "Shell *NOT* changed.  Try again later.\n"
+msgstr ""
+"*NO* se ha cambiado el intérprete de órdenes. Inténtelo de nuevo más "
+"adelante.\n"
+
+#: login-utils/chsh.c:238
+#, c-format
+msgid "Shell changed.\n"
+msgstr "Se ha cambiado el intérprete de órdenes.\n"
+
+#: login-utils/chsh.c:303
+#, c-format
+msgid ""
+"Usage: %s [ -s shell ] [ --list-shells ] [ --help ] [ --version ]\n"
+"       [ username ]\n"
+msgstr ""
+"Uso: %s [ -s shell ] [ --list-shells ] [ --help ] [ --version ]\n"
+"     [ nombredeusuario ]\n"
+
+#: login-utils/chsh.c:349
+#, c-format
+msgid "%s: shell must be a full path name.\n"
+msgstr "%s: el intérprete de órdenes debe ser un nombre de ruta completo.\n"
+
+#: login-utils/chsh.c:353
+#, c-format
+msgid "%s: \"%s\" does not exist.\n"
+msgstr "%s: \"%s\" no existe.\n"
+
+#: login-utils/chsh.c:357
+#, c-format
+msgid "%s: \"%s\" is not executable.\n"
+msgstr "%s: \"%s\" no es ejecutable.\n"
+
+#: login-utils/chsh.c:364
+#, c-format
+msgid "%s: '%c' is not allowed.\n"
+msgstr "%s: '%c' no está permitido.\n"
+
+#: login-utils/chsh.c:368
+#, c-format
+msgid "%s: Control characters are not allowed.\n"
+msgstr "%s: los caracteres de control no están permitidos.\n"
+
+#: login-utils/chsh.c:375 login-utils/chsh.c:385
+#, c-format
+msgid "Warning: \"%s\" is not listed in /etc/shells.\n"
+msgstr "Atención: \"%s\" no figura en /etc/shells.\n"
+
+#: login-utils/chsh.c:377
+#, c-format
+msgid "%s: \"%s\" is not listed in /etc/shells.\n"
+msgstr "%s: \"%s\" no figura en /etc/shells.\n"
+
+#: login-utils/chsh.c:379
+#, fuzzy, c-format
+msgid "%s: Use -l option to see list.\n"
+msgstr "%s: utilice la opción -l para ver una lista\n"
+
+#: login-utils/chsh.c:386
+#, c-format
+msgid "Use %s -l to see list.\n"
+msgstr "Utilice %s -l para ver una lista.\n"
+
+#: login-utils/chsh.c:406
+#, c-format
+msgid "No known shells.\n"
+msgstr "No hay ningún intérprete de órdenes conocido.\n"
+
+#: login-utils/islocal.c:87
+#, fuzzy, c-format
+msgid "Failed to open %s for reading, exiting."
+msgstr "No se puede abrir %s para lectura"
+
+#: login-utils/last.c:148
+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:284
+msgid "  still logged in"
+msgstr "  todavía tiene iniciada la sesión"
+
+#: login-utils/last.c:306
+#, c-format
+msgid ""
+"\n"
+"wtmp begins %s"
+msgstr ""
+"\n"
+"wtmp empieza %s"
+
+#: login-utils/last.c:362 login-utils/last.c:380 login-utils/last.c:431
+msgid "last: malloc failure.\n"
+msgstr "last: error de asignación de memoria (malloc).\n"
+
+#: login-utils/last.c:407
+msgid "last: gethostname"
+msgstr "last: gethostname"
+
+#: login-utils/last.c:456
+#, c-format
+msgid ""
+"\n"
+"interrupted %10.10s %5.5s \n"
+msgstr ""
+"\n"
+"interrumpido %10.10s %5.5s \n"
+
+#: login-utils/login.c:197
+#, c-format
+msgid "FATAL: can't reopen tty: %s"
+msgstr "Error fatal: no se puede reabrir la terminal: %s"
+
+#: login-utils/login.c:229
+msgid "FATAL: bad tty"
+msgstr "ERROR FATAL: Terminal errónea"
+
+#: login-utils/login.c:436
+#, c-format
+msgid "login: -h for super-user only.\n"
+msgstr "login: -h sólo para superusuario.\n"
+
+#: login-utils/login.c:479
+#, c-format
+msgid "usage: login [-fp] [username]\n"
+msgstr "uso: login [-fp] [nombreusuario]\n"
+
+#: login-utils/login.c:574
+#, c-format
+msgid "Couldn't initialize PAM: %s"
+msgstr "No se ha podido inicializar PAM: %s"
+
+#: login-utils/login.c:591
+msgid "login: "
+msgstr "Inicio de sesión: "
+
+#: login-utils/login.c:635
+#, c-format
+msgid "FAILED LOGIN %d FROM %s FOR %s, %s"
+msgstr "Error de inicio de sesión %d desde %s para %s, %s"
+
+#: login-utils/login.c:640
+#, c-format
+msgid ""
+"Login incorrect\n"
+"\n"
+msgstr ""
+"Inicio de sesión incorrecto\n"
+"\n"
+
+#: login-utils/login.c:649
+#, c-format
+msgid "TOO MANY LOGIN TRIES (%d) FROM %s FOR %s, %s"
+msgstr "Demasiados intentos de inicio de sesión (%d) desde %s para %s, %s"
+
+#: login-utils/login.c:653
+#, 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:658
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+"\n"
+"Inicio de sesión incorrecto\n"
+
+#: login-utils/login.c:686 login-utils/login.c:693 login-utils/login.c:727
+#, c-format
+msgid ""
+"\n"
+"Session setup problem, abort.\n"
+msgstr ""
+"\n"
+"Problema al iniciar la sesión, abortado.\n"
+
+#: login-utils/login.c:687
+#, c-format
+msgid "NULL user name in %s:%d. Abort."
+msgstr "nombre de usuario NULO en %s:%d. Abortado."
+
+#: login-utils/login.c:694
+#, 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:713
+#, c-format
+msgid "login: Out of memory\n"
+msgstr "login: No queda memoria\n"
+
+#: login-utils/login.c:757
+msgid "Illegal username"
+msgstr "Nombre de usuario no permitido"
+
+#: login-utils/login.c:800
+#, c-format
+msgid "%s login refused on this terminal.\n"
+msgstr "Inicio de sesión %s rechazado en este terminal.\n"
+
+#: login-utils/login.c:805
+#, c-format
+msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
+msgstr "Inicio de sesión %s rechazado desde %s en tty %s"
+
+#: login-utils/login.c:809
+#, c-format
+msgid "LOGIN %s REFUSED ON TTY %s"
+msgstr "Inicio de sesión %s rechazado en tty %s"
+
+#: login-utils/login.c:863
+#, c-format
+msgid "Login incorrect\n"
+msgstr "Inicio de sesión incorrecto\n"
+
+#: login-utils/login.c:1088
+#, c-format
+msgid "DIALUP AT %s BY %s"
+msgstr "Conexión telefónica en %s por %s"
+
+#: login-utils/login.c:1095
+#, c-format
+msgid "ROOT LOGIN ON %s FROM %s"
+msgstr "Inicio de sesión con root en %s desde %s"
+
+#: login-utils/login.c:1098
+#, c-format
+msgid "ROOT LOGIN ON %s"
+msgstr "Inicio de sesión con root en %s"
+
+#: login-utils/login.c:1101
+#, 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:1104
+#, c-format
+msgid "LOGIN ON %s BY %s"
+msgstr "Inicio de sesión en %s por %s"
+
+#: login-utils/login.c:1125
+#, c-format
+msgid "You have new mail.\n"
+msgstr "Tiene correo nuevo.\n"
+
+#: login-utils/login.c:1127
+#, c-format
+msgid "You have mail.\n"
+msgstr "Tiene correo.\n"
+
+#: login-utils/login.c:1171
+#, c-format
+msgid "login: failure forking: %s"
+msgstr "login: error en fork: %s"
+
+#: login-utils/login.c:1218
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr "Fallo en TIOCSCTTY: %m"
+
+#: login-utils/login.c:1224
+msgid "setuid() failed"
+msgstr "setuid() ha fallado"
+
+#: login-utils/login.c:1230
+#, c-format
+msgid "No directory %s!\n"
+msgstr "No hay ningún directorio %s\n"
+
+#: login-utils/login.c:1234
+#, c-format
+msgid "Logging in with home = \"/\".\n"
+msgstr "Iniciando la sesión con directorio de inicio = \"/\".\n"
+
+#: login-utils/login.c:1242
+#, c-format
+msgid "login: no memory for shell script.\n"
+msgstr "login: no queda memoria para script de intérprete de órdenes.\n"
+
+#: login-utils/login.c:1269
+#, c-format
+msgid "login: couldn't exec shell script: %s.\n"
+msgstr ""
+"login: no se ha podido ejecutar el script de intérprete de órdenes: %s.\n"
+
+#: login-utils/login.c:1272
+#, c-format
+msgid "login: no shell: %s.\n"
+msgstr "login: no hay intérprete de órdenes: %s.\n"
+
+#: login-utils/login.c:1287
+#, c-format
+msgid ""
+"\n"
+"%s login: "
+msgstr ""
+"\n"
+"Inicio de sesión de %s: "
+
+#: login-utils/login.c:1298
+#, c-format
+msgid "login name much too long.\n"
+msgstr "Nombre de inicio de sesión demasiado largo.\n"
+
+#: login-utils/login.c:1299
+msgid "NAME too long"
+msgstr "Nombre demasiado largo"
+
+#: login-utils/login.c:1306
+#, c-format
+msgid "login names may not start with '-'.\n"
+msgstr "Los nombres de inicio de sesión no pueden empezar por '-'.\n"
+
+#: login-utils/login.c:1316
+#, c-format
+msgid "too many bare linefeeds.\n"
+msgstr "Demasiados avances de línea solos.\n"
+
+#: login-utils/login.c:1317
+msgid "EXCESSIVE linefeeds"
+msgstr "Excesivos avances de línea"
+
+#: login-utils/login.c:1349
+#, c-format
+msgid "Login timed out after %d seconds\n"
+msgstr "El inicio de sesión ha superado el tiempo de espera tras %d segundos\n"
+
+#: login-utils/login.c:1437
+#, c-format
+msgid "Last login: %.*s "
+msgstr "Último inicio de sesión: %.*s "
+
+#: login-utils/login.c:1441
+#, c-format
+msgid "from %.*s\n"
+msgstr "desde %.*s\n"
+
+#: login-utils/login.c:1444
+#, c-format
+msgid "on %.*s\n"
+msgstr "en %.*s\n"
+
+#: login-utils/login.c:1470
+#, c-format
+msgid "LOGIN FAILURE FROM %s, %s"
+msgstr "Error de inicio de sesión desde %s, %s"
+
+#: login-utils/login.c:1473
+#, c-format
+msgid "LOGIN FAILURE ON %s, %s"
+msgstr "Error de inicio de sesión en %s, %s"
+
+#: login-utils/login.c:1477
+#, c-format
+msgid "%d LOGIN FAILURES FROM %s, %s"
+msgstr "%d errores de inicio de sesión desde %s, %s"
+
+#: login-utils/login.c:1480
+#, c-format
+msgid "%d LOGIN FAILURES ON %s, %s"
+msgstr "%d errores de inicio de sesión en %s, %s"
+
+#: login-utils/mesg.c:89
+#, c-format
+msgid "is y\n"
+msgstr "es y\n"
+
+#: login-utils/mesg.c:92
+#, c-format
+msgid "is n\n"
+msgstr "es n\n"
+
+#: login-utils/mesg.c:112
+#, c-format
+msgid "usage: mesg [y | n]\n"
+msgstr "uso: mesg [y | n]\n"
+
+#: login-utils/newgrp.c:105
+msgid "newgrp: Who are you?"
+msgstr "newgrp: ¿quién es usted?"
+
+#: login-utils/newgrp.c:113 login-utils/newgrp.c:127
+msgid "newgrp: setgid"
+msgstr "newgrp: setgid"
+
+#: login-utils/newgrp.c:120 login-utils/newgrp.c:122
+msgid "newgrp: No such group."
+msgstr "newgrp: este grupo no existe."
+
+#: login-utils/newgrp.c:131
+msgid "newgrp: Permission denied"
+msgstr "newgrp: permiso denegado"
+
+#: login-utils/newgrp.c:138
+msgid "newgrp: setuid"
+msgstr "newgrp: setuid"
+
+#: login-utils/newgrp.c:144
+msgid "No shell"
+msgstr "No hay ningún intérprete de órdenes"
+
+#: login-utils/shutdown.c:115
+#, c-format
+msgid "Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+msgstr "Uso: shutdown [-h|-r] [-fqs] [now|hh:ss|+minutos]\n"
+
+#: login-utils/shutdown.c:133
+msgid "Shutdown process aborted"
+msgstr "Proceso de shutdown anulado"
+
+#: login-utils/shutdown.c:164
+#, c-format
+msgid "%s: Only root can shut a system down.\n"
+msgstr "%s: sólo el usuario root puede cerrar un sistema.\n"
+
+#: login-utils/shutdown.c:258
+#, c-format
+msgid "That must be tomorrow, can't you wait till then?\n"
+msgstr "Esta operación se realizará mañana; ¿puede esperar hasta entonces?\n"
+
+#: login-utils/shutdown.c:309
+msgid "for maintenance; bounce, bounce"
+msgstr "Para mantenimiento; bounce, bounce"
+
+#: login-utils/shutdown.c:338
+msgid "The system is being shut down within 5 minutes"
+msgstr "El sistema se cerrará dentro de 5 minutos"
+
+#: login-utils/shutdown.c:342
+msgid "Login is therefore prohibited."
+msgstr "Por consiguiente el inicio de sesión está prohibido."
+
+#: login-utils/shutdown.c:364
+#, c-format
+msgid "rebooted by %s: %s"
+msgstr "reiniciado por %s: %s"
+
+#: login-utils/shutdown.c:367
+#, c-format
+msgid "halted by %s: %s"
+msgstr "detenido por %s: %s"
+
+#: login-utils/shutdown.c:431
+msgid ""
+"\n"
+"Why am I still alive after reboot?"
+msgstr ""
+"\n"
+"¿Por qué sigue activo el proceso tras la operación de reinicio?"
+
+#: login-utils/shutdown.c:433
+msgid ""
+"\n"
+"Now you can turn off the power..."
+msgstr ""
+"\n"
+"Ahora puede desconectar la alimentación..."
+
+#: login-utils/shutdown.c:449
+#, c-format
+msgid "Calling kernel power-off facility...\n"
+msgstr "Llamando a recurso de apagado del núcleo...\n"
+
+#: login-utils/shutdown.c:452
+#, c-format
+msgid "Error powering off\t%s\n"
+msgstr "Error al apagar\t%s\n"
+
+#: login-utils/shutdown.c:460
+#, c-format
+msgid "Executing the program \"%s\" ...\n"
+msgstr "Ejecutando el programa \"%s\" ...\n"
+
+#: login-utils/shutdown.c:463
+#, c-format
+msgid "Error executing\t%s\n"
+msgstr "Error al ejecutar \t%s\n"
+
+#: login-utils/shutdown.c:490
+#, c-format
+msgid "URGENT: broadcast message from %s:"
+msgstr "URGENTE: mensaje de difusión general (broadcast) de %s:"
+
+#: login-utils/shutdown.c:496
+#, c-format
+msgid "System going down in %d hours %d minutes"
+msgstr "El sistema se apagará dentro de %d horas y %d minutos"
+
+#: login-utils/shutdown.c:499
+#, c-format
+msgid "System going down in 1 hour %d minutes"
+msgstr "El sistema se apagará dentro de 1 hora y %d minuto(s)"
+
+#: login-utils/shutdown.c:502
+#, c-format
+msgid "System going down in %d minutes\n"
+msgstr "El sistema se apagará dentro de %d minutos\n"
+
+#: login-utils/shutdown.c:505
+#, c-format
+msgid "System going down in 1 minute\n"
+msgstr "El sistema se apagará dentro de 1 minuto\n"
+
+#: login-utils/shutdown.c:507
+#, c-format
+msgid "System going down IMMEDIATELY!\n"
+msgstr "¡El sistema se apagará INMEDIATAMENTE!\n"
+
+#: login-utils/shutdown.c:512
+#, c-format
+msgid "\t... %s ...\n"
+msgstr "\t... %s ...\n"
+
+#: login-utils/shutdown.c:569
+msgid "Cannot fork for swapoff. Shrug!"
+msgstr "No se puede realizar una operación fork para ejecutar swapoff."
+
+#: login-utils/shutdown.c:577
+msgid "Cannot exec swapoff, hoping umount will do the trick."
+msgstr "No se puede ejecutar swapoff; se intenta con umount."
+
+#: login-utils/shutdown.c:596
+msgid "Cannot fork for umount, trying manually."
+msgstr ""
+"No se puede realizar una operación fork para ejecutar umount; se intenta "
+"manualmente."
+
+#: login-utils/shutdown.c:605
+#, c-format
+msgid "Cannot exec %s, trying umount.\n"
+msgstr "No se puede ejecutar %s; se intenta umount.\n"
+
+#: login-utils/shutdown.c:609
+msgid "Cannot exec umount, giving up on umount."
+msgstr "No se puede ejecutar umount; se abandona la operación umount."
+
+#: login-utils/shutdown.c:614
+msgid "Unmounting any remaining filesystems..."
+msgstr "Desmontando los sistemas de ficheros restantes..."
+
+#: login-utils/shutdown.c:661
+#, c-format
+msgid "shutdown: Couldn't umount %s: %s\n"
+msgstr "shutdown: No se puede ejecutar umount %s: %s\n"
+
+#: login-utils/simpleinit.c:132
+msgid "Booting to single user mode.\n"
+msgstr "Iniciando en modo de un solo usuario.\n"
+
+#: login-utils/simpleinit.c:136
+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"
+
+#: login-utils/simpleinit.c:140
+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"
+
+#: login-utils/simpleinit.c:208
+msgid "error opening fifo\n"
+msgstr "error al abrir `fifo'\n"
+
+#: login-utils/simpleinit.c:212
+msgid "error setting close-on-exec on /dev/initctl"
+msgstr "error al establecer close-on-exec sobre /dev/initctl"
+
+#: login-utils/simpleinit.c:259
+msgid "error running finalprog\n"
+msgstr "error al ejecutar finalprog\n"
+
+#: login-utils/simpleinit.c:263
+msgid "error forking finalprog\n"
+msgstr "error al efectuar `fork' con finalprog\n"
+
+#: login-utils/simpleinit.c:345
+msgid ""
+"\n"
+"Wrong password.\n"
+msgstr ""
+"\n"
+"Contraseña incorrecta.\n"
+
+#: login-utils/simpleinit.c:418
+msgid "lstat of path failed\n"
+msgstr "falló la llamada a `lstat' sobre la ruta\n"
+
+#: login-utils/simpleinit.c:426
+msgid "stat of path failed\n"
+msgstr "falló la llamada a `stat' sobre la ruta\n"
+
+#: login-utils/simpleinit.c:434
+msgid "open of directory failed\n"
+msgstr "La apertura del directorio ha fallado\n"
+
+#: login-utils/simpleinit.c:501
+#, c-format
+msgid "respawning: \"%s\" too fast: quenching entry\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:509
+msgid "fork failed\n"
+msgstr "La bifurcación (fork) ha fallado\n"
+
+#: login-utils/simpleinit.c:540 text-utils/more.c:1629
+msgid "exec failed\n"
+msgstr "La ejecución (exec) ha fallado\n"
+
+#: login-utils/simpleinit.c:564
+msgid "cannot open inittab\n"
+msgstr "No se puede abrir inittab\n"
+
+#: login-utils/simpleinit.c:631
+msgid "no TERM or cannot stat tty\n"
+msgstr "Sin TERM o no se puede ejecutar stat para tty\n"
+
+#: login-utils/simpleinit.c:938
+#, fuzzy, c-format
+msgid "error stopping service: \"%s\"\n"
+msgstr "error al detener el servicio: \"%s\""
+
+#: login-utils/simpleinit.c:950
+#, fuzzy, c-format
+msgid "Stopped service: %s\n"
+msgstr "error al detener el servicio: \"%s\""
+
+#: login-utils/simpleinit.c:1070
+#, fuzzy, c-format
+msgid "error running programme: \"%s\"\n"
+msgstr "error al ejecutar finalprog\n"
+
+#: login-utils/ttymsg.c:75
+msgid "too many iov's (change code in wall/ttymsg.c)"
+msgstr "Demasidos iov (modificar código en wall/ttymsg.c)"
+
+#: login-utils/ttymsg.c:85
+#, c-format
+msgid "excessively long line arg"
+msgstr "Argumento de línea demasiado largo"
+
+#: login-utils/ttymsg.c:140
+#, c-format
+msgid "cannot fork"
+msgstr "No se puede bifurcar (fork)"
+
+#: login-utils/ttymsg.c:144
+#, c-format
+msgid "fork: %s"
+msgstr "fork: %s"
+
+#: login-utils/ttymsg.c:174
+#, c-format
+msgid "%s: BAD ERROR"
+msgstr "%s: error incorrecto"
+
+# FIXME: El fichero se llama "passwd", no "password"
+# Comunicar al autor.
+#: login-utils/vipw.c:143
+#, c-format
+msgid "%s: the password file is busy.\n"
+msgstr "%s: el fichero `passwd' está ocupado.\n"
+
+#: login-utils/vipw.c:146
+#, c-format
+msgid "%s: the group file is busy.\n"
+msgstr "%s: el fichero `group' está ocupado.\n"
+
+#: login-utils/vipw.c:162
+#, c-format
+msgid "%s: the %s file is busy (%s present)\n"
+msgstr "%s: el fichero %s está ocupado (%s presente).\n"
+
+#: login-utils/vipw.c:168
+#, c-format
+msgid "%s: can't link %s: %s\n"
+msgstr "%s: no se puede enlazar %s: %s\n"
+
+#: login-utils/vipw.c:202
+#, c-format
+msgid "%s: Can't get context for %s"
+msgstr "%s: No se puede obtener el contexto de %s"
+
+#: login-utils/vipw.c:208
+#, c-format
+msgid "%s: Can't set context for %s"
+msgstr "%s: No se puede establecer el contexto de %s"
+
+#: login-utils/vipw.c:217
+#, c-format
+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"
+
+#: login-utils/vipw.c:240
+#, c-format
+msgid "%s: Cannot fork\n"
+msgstr "%s: no se puede bifurcar (fork)\n"
+
+#: login-utils/vipw.c:276
+#, c-format
+msgid "%s: %s unchanged\n"
+msgstr "%s: %s no se ha modificado\n"
+
+#: login-utils/vipw.c:297
+#, c-format
+msgid "%s: no changes made\n"
+msgstr "%s: no se ha efectuado ningún cambio\n"
+
+#: login-utils/vipw.c:350
+#, 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:351
+#, c-format
+msgid "You are using shadow passwords on this system.\n"
+msgstr "Esta utilizando conbtraseñas ocultas en este sistema.\n"
+
+#: login-utils/vipw.c:352
+#, c-format
+msgid "Would you like to edit %s now [y/n]? "
+msgstr "¿Quiere editar %s ahora? [y/n] "
+
+#: login-utils/wall.c:112
+#, c-format
+msgid "usage: %s [file]\n"
+msgstr "uso: %s [fichero]\n"
+
+#: login-utils/wall.c:167
+#, c-format
+msgid "%s: can't open temporary file.\n"
+msgstr "%s: no se puede abrir el fichero temporal.\n"
+
+#: login-utils/wall.c:194
+#, c-format
+msgid "Broadcast Message from %s@%s"
+msgstr "Mensaje de difusión general (broadcast) de %s@%s"
+
+#: login-utils/wall.c:212
+#, c-format
+msgid "%s: will not read %s - use stdin.\n"
+msgstr "%s: no se puede leer %s - use la entrada estándar.\n"
+
+#: login-utils/wall.c:217
+#, c-format
+msgid "%s: can't read %s.\n"
+msgstr "%s: no se puede leer %s.\n"
+
+#: login-utils/wall.c:240
+#, c-format
+msgid "%s: can't stat temporary file.\n"
+msgstr "%s: no se puede ejecutar stat para fichero temporal.\n"
+
+#: login-utils/wall.c:250
+#, c-format
+msgid "%s: can't read temporary file.\n"
+msgstr "%s: no se puede leer el fichero temporal.\n"
+
+#: misc-utils/cal.c:362 misc-utils/cal.c:374
+#, fuzzy, c-format
+msgid "illegal day value: use 1-%d"
+msgstr "Valor de año no permitido: utilice 1-9999"
+
+#: misc-utils/cal.c:366
+msgid "illegal month value: use 1-12"
+msgstr "Valor de mes no permitido: utilice 1-12"
+
+#: misc-utils/cal.c:370
+msgid "illegal year value: use 1-9999"
+msgstr "Valor de año no permitido: utilice 1-9999"
+
+#: misc-utils/cal.c:464
+#, c-format
+msgid "%s %d"
+msgstr "%s de %d"
+
+#: misc-utils/cal.c:856
+#, fuzzy, c-format
+msgid "usage: cal [-13smjyV] [[[day] month] year]\n"
+msgstr "uso: cal [-13smjyV] [[mes] año]\n"
+
+#: misc-utils/ddate.c:203
+#, c-format
+msgid "usage: %s [+format] [day month year]\n"
+msgstr "uso: %s [+formato] [día mes año]\n"
+
+#: misc-utils/ddate.c:250
+msgid "St. Tib's Day"
+msgstr "Día de San Tibb"
+
+#: misc-utils/findfs.c:24
+#, c-format
+msgid "Usage: %s LABEL=<label>|UUID=<uuid>\n"
+msgstr ""
+
+#: misc-utils/findfs.c:55
+#, fuzzy, c-format
+msgid "unable to resolve '%s'"
+msgstr "No se puede abrir %s"
+
+#: misc-utils/kill.c:207
+#, c-format
+msgid "%s: unknown signal %s\n"
+msgstr "%s: señal desconocida %s\n"
+
+#: misc-utils/kill.c:270
+#, c-format
+msgid "%s: can't find process \"%s\"\n"
+msgstr "%s: no se puede encontrar el proceso \"%s\"\n"
+
+#: misc-utils/kill.c:314
+#, 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:354
+#, 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:355
+#, c-format
+msgid "       %s -l [ signal ]\n"
+msgstr "       %s -l [ señal ]\n"
+
+#: misc-utils/logger.c:67
+#, fuzzy, c-format
+msgid "logger: openlog: pathname too long\n"
+msgstr "Nombre de inicio de sesión demasiado largo.\n"
+
+#: misc-utils/logger.c:75
+#, fuzzy, c-format
+msgid "socket: %s.\n"
+msgstr "TamañoDelBloque: %d\n"
+
+#: misc-utils/logger.c:80
+#, c-format
+msgid "connect: %s.\n"
+msgstr ""
+
+#: misc-utils/logger.c:139
+#, c-format
+msgid "logger: %s: %s.\n"
+msgstr "logger: %s: %s.\n"
+
+#: misc-utils/logger.c:246
+#, c-format
+msgid "logger: unknown facility name: %s.\n"
+msgstr "logger: nombre de recurso desconocido: %s.\n"
+
+#: misc-utils/logger.c:258
+#, c-format
+msgid "logger: unknown priority name: %s.\n"
+msgstr "logger: nombre de prioridad desconocida: %s.\n"
+
+#: misc-utils/logger.c:285
+#, c-format
+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"
+
+#: misc-utils/look.c:351
+#, c-format
+msgid "usage: look [-dfa] [-t char] string [file]\n"
+msgstr "uso: look [-dfa] [-t carácter] cadena [fichero]\n"
+
+#: misc-utils/mcookie.c:105 misc-utils/mcookie.c:132
+#, c-format
+msgid "Could not open %s\n"
+msgstr "No se ha podido abrir %s\n"
+
+#: misc-utils/mcookie.c:109 misc-utils/mcookie.c:128
+#, c-format
+msgid "Got %d bytes from %s\n"
+msgstr "Se han obtenido %d bytes de %s\n"
+
+#: misc-utils/namei.c:144 misc-utils/namei.c:198 misc-utils/namei.c:220
+#: misc-utils/namei.c:227 misc-utils/namei.c:248
+#, fuzzy
+msgid "out of memory?"
+msgstr "¿No queda memoria?\n"
+
+#: misc-utils/namei.c:189
+#, fuzzy, c-format
+msgid "failed to read symlink: %s"
+msgstr "ioctl() no ha podido leer la hora de %s"
+
+#: misc-utils/namei.c:229
+#, fuzzy, c-format
+msgid "could not stat '%s'"
+msgstr "No se puede efectuar `stat' sobre el dispositivo %s"
+
+#: misc-utils/namei.c:411
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage: %s [options] pathname [pathname ...]\n"
+msgstr "uso: namei [-mx] nombreruta [nombreruta ...]\n"
+
+#: misc-utils/namei.c:412
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"%d particiones:\n"
+
+#: misc-utils/namei.c:415
+#, c-format
+msgid ""
+" -h, --help          displays this help text\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:423
+#, c-format
+msgid ""
+"\n"
+"For more information see namei(1).\n"
+msgstr ""
+
+#: misc-utils/namei.c:484
+#, fuzzy, c-format
+msgid "failed to stat: %s"
+msgstr "No se puede ejecutar `stat' sobre %s"
+
+#: misc-utils/namei.c:495
+#, c-format
+msgid "%s: exceeded limit of symlinks"
+msgstr ""
+
+#: misc-utils/rename.c:38
+#, c-format
+msgid "%s: out of memory\n"
+msgstr "%s: no queda memoria\n"
+
+#: misc-utils/rename.c:56
+#, c-format
+msgid "%s: renaming %s to %s failed: %s\n"
+msgstr "%s: fallo al cambiar el nombre de %s a %s: %s\n"
+
+# Intraducible sin el contexto.
+#: misc-utils/rename.c:86
+#, c-format
+msgid "call: %s from to files...\n"
+msgstr "llamada: %s de los ficheros...\n"
+
+#: misc-utils/script.c:110
+#, c-format
+msgid ""
+"Warning: `%s' is a link.\n"
+"Use `%s [options] %s' if you really want to use it.\n"
+"Script not started.\n"
+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"
+
+#: misc-utils/script.c:173
+#, c-format
+msgid "usage: script [-a] [-f] [-q] [-t] [file]\n"
+msgstr "uso: script [-a] [-f] [-q] [-t] [fichero]\n"
+
+#: misc-utils/script.c:196
+#, c-format
+msgid "Script started, file is %s\n"
+msgstr "Script iniciado; el fichero es %s\n"
+
+#: misc-utils/script.c:244
+#, fuzzy, c-format
+msgid "%s: write error %d: %s\n"
+msgstr "Error de escritura en %s\n"
+
+#: misc-utils/script.c:304
+#, c-format
+msgid "Script started on %s"
+msgstr "Script iniciado (%s)"
+
+#: misc-utils/script.c:347
+#, fuzzy, c-format
+msgid "%s: write error: %s\n"
+msgstr "Error de escritura en %s\n"
+
+#: misc-utils/script.c:354
+#, fuzzy, c-format
+msgid "%s: cannot write script file, error: %s\n"
+msgstr "%s: no se puede encontrar \"_stext\" en %s\n"
+
+#: misc-utils/script.c:430
+#, c-format
+msgid ""
+"\n"
+"Script done on %s"
+msgstr ""
+"\n"
+"Script terminado (%s)"
+
+#: misc-utils/script.c:437
+#, c-format
+msgid "Script done, file is %s\n"
+msgstr "Script terminado; el fichero es %s\n"
+
+#: misc-utils/script.c:448
+#, c-format
+msgid "openpty failed\n"
+msgstr "openpty ha fallado\n"
+
+#: misc-utils/script.c:482
+#, c-format
+msgid "Out of pty's\n"
+msgstr "No quedan pty\n"
+
+#: misc-utils/scriptreplay.c:38
+#, c-format
+msgid "%s <timingfile> [<typescript> [<divisor>]]\n"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:53
+#, c-format
+msgid "expected a number, but got '%s'"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:56 misc-utils/scriptreplay.c:60
+#, c-format
+msgid "divisor '%s'"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:104
+#, fuzzy
+msgid "write to stdout failed"
+msgstr "Error al abrir %s"
+
+#: misc-utils/scriptreplay.c:110
+#, c-format
+msgid "unexpected end of file on %s"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:112
+#, fuzzy, c-format
+msgid "failed to read typescript file %s"
+msgstr "ioctl() no ha podido leer la hora de %s"
+
+#: misc-utils/scriptreplay.c:145
+#, fuzzy, c-format
+msgid "cannot open timing file %s"
+msgstr "No se puede abrir el fichero '%s'"
+
+#: misc-utils/scriptreplay.c:148
+#, fuzzy, c-format
+msgid "cannot open typescript file %s"
+msgstr "No se puede abrir el fichero '%s'"
+
+#: misc-utils/scriptreplay.c:164
+#, fuzzy, c-format
+msgid "failed to read timing file %s"
+msgstr "ioctl() no ha podido leer la hora de %s"
+
+#: misc-utils/scriptreplay.c:166
+#, fuzzy, c-format
+msgid "timings file %s: %lu: unexpected format"
+msgstr "%s: EOF inesperado en el fichero %s\n"
+
+#: misc-utils/setterm.c:763
+#, c-format
+msgid "%s: Argument error, usage\n"
+msgstr "%s: error de argumento, uso\n"
+
+#: misc-utils/setterm.c:766
+#, c-format
+msgid "  [ -term terminal_name ]\n"
+msgstr "  [ -term nombre_terminal ]\n"
+
+#: misc-utils/setterm.c:767
+#, c-format
+msgid "  [ -reset ]\n"
+msgstr "  [ -reset ]\n"
+
+#: misc-utils/setterm.c:768
+#, c-format
+msgid "  [ -initialize ]\n"
+msgstr "  [ -initialize ]\n"
+
+#: misc-utils/setterm.c:769
+#, c-format
+msgid "  [ -cursor [on|off] ]\n"
+msgstr "  [ -cursor [on|off] ]\n"
+
+#: misc-utils/setterm.c:771
+#, c-format
+msgid "  [ -snow [on|off] ]\n"
+msgstr "  [ -snow [on|off] ]\n"
+
+#: misc-utils/setterm.c:772
+#, c-format
+msgid "  [ -softscroll [on|off] ]\n"
+msgstr "  [ -softscroll [on|off] ]\n"
+
+#: misc-utils/setterm.c:774
+#, c-format
+msgid "  [ -repeat [on|off] ]\n"
+msgstr "  [ -repeat [on|off] ]\n"
+
+#: misc-utils/setterm.c:775
+#, c-format
+msgid "  [ -appcursorkeys [on|off] ]\n"
+msgstr "  [ -appcursorkeys [on|off] ]\n"
+
+#: misc-utils/setterm.c:776
+#, c-format
+msgid "  [ -linewrap [on|off] ]\n"
+msgstr "  [ -linewrap [on|off] ]\n"
+
+#: misc-utils/setterm.c:777
+#, c-format
+msgid "  [ -default ]\n"
+msgstr "  [ -default ]\n"
+
+#: misc-utils/setterm.c:778
+#, c-format
+msgid "  [ -foreground black|blue|green|cyan"
+msgstr "  [ -foreground black|blue|green|cyan"
+
+#: misc-utils/setterm.c:779 misc-utils/setterm.c:781
+#, c-format
+msgid "|red|magenta|yellow|white|default ]\n"
+msgstr "|red|magenta|yellow|white|default ]\n"
+
+#: misc-utils/setterm.c:780
+#, c-format
+msgid "  [ -background black|blue|green|cyan"
+msgstr "  [ -background black|blue|green|cyan"
+
+#: misc-utils/setterm.c:782
+#, c-format
+msgid "  [ -ulcolor black|grey|blue|green|cyan"
+msgstr "  [ -ulcolor black|grey|blue|green|cyan"
+
+#: misc-utils/setterm.c:783 misc-utils/setterm.c:785 misc-utils/setterm.c:787
+#: misc-utils/setterm.c:789
+#, c-format
+msgid "|red|magenta|yellow|white ]\n"
+msgstr "|red|magenta|yellow|white ]\n"
+
+#: misc-utils/setterm.c:784
+#, c-format
+msgid "  [ -ulcolor bright blue|green|cyan"
+msgstr "  [ -ulcolor bright blue|green|cyan"
+
+#: misc-utils/setterm.c:786
+#, c-format
+msgid "  [ -hbcolor black|grey|blue|green|cyan"
+msgstr "  [ -hbcolor black|grey|blue|green|cyan"
+
+#: misc-utils/setterm.c:788
+#, c-format
+msgid "  [ -hbcolor bright blue|green|cyan"
+msgstr "  [ -hbcolor bright blue|green|cyan"
+
+#: misc-utils/setterm.c:791
+#, c-format
+msgid "  [ -standout [ attr ] ]\n"
+msgstr "  [ -standout [ attr ] ]\n"
+
+#: misc-utils/setterm.c:793
+#, c-format
+msgid "  [ -inversescreen [on|off] ]\n"
+msgstr "  [ -inversescreen [on|off] ]\n"
+
+#: misc-utils/setterm.c:794
+#, c-format
+msgid "  [ -bold [on|off] ]\n"
+msgstr "  [ -bold [on|off] ]\n"
+
+#: misc-utils/setterm.c:795
+#, c-format
+msgid "  [ -half-bright [on|off] ]\n"
+msgstr "  [ -half-bright [on|off] ]\n"
+
+#: misc-utils/setterm.c:796
+#, c-format
+msgid "  [ -blink [on|off] ]\n"
+msgstr "  [ -blink [on|off] ]\n"
+
+#: misc-utils/setterm.c:797
+#, c-format
+msgid "  [ -reverse [on|off] ]\n"
+msgstr "  [ -reverse [on|off] ]\n"
+
+#: misc-utils/setterm.c:798
+#, c-format
+msgid "  [ -underline [on|off] ]\n"
+msgstr "  [ -underline [on|off] ]\n"
+
+#: misc-utils/setterm.c:799
+#, c-format
+msgid "  [ -store ]\n"
+msgstr "  [ -store ]\n"
+
+#: misc-utils/setterm.c:800
+#, c-format
+msgid "  [ -clear [all|rest] ]\n"
+msgstr "  [ -clear [all|rest] ]\n"
+
+#: misc-utils/setterm.c:801
+#, c-format
+msgid "  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n"
+msgstr "  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n"
+
+#: misc-utils/setterm.c:802
+#, c-format
+msgid "  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n"
+msgstr "  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n"
+
+#: misc-utils/setterm.c:803
+#, c-format
+msgid "  [ -regtabs [1-160] ]\n"
+msgstr "  [ -regtabs [1-160] ]\n"
+
+#: misc-utils/setterm.c:804
+#, fuzzy, c-format
+msgid "  [ -blank [0-60|force|poke] ]\n"
+msgstr "  [ -blank [0-60] ]\n"
+
+#: misc-utils/setterm.c:805
+#, c-format
+msgid "  [ -dump   [1-NR_CONSOLES] ]\n"
+msgstr "  [ -dump   [1-NUM_CONSOLAS] ]\n"
+
+#: misc-utils/setterm.c:806
+#, c-format
+msgid "  [ -append [1-NR_CONSOLES] ]\n"
+msgstr "  [ -append [1-NUM_CONSOLAS] ]\n"
+
+#: misc-utils/setterm.c:807
+#, c-format
+msgid "  [ -file dumpfilename ]\n"
+msgstr "  [ -file nombreficherovuelco ]\n"
+
+#: misc-utils/setterm.c:808
+#, c-format
+msgid "  [ -msg [on|off] ]\n"
+msgstr "  [ -msg [on|off] ]\n"
+
+#: misc-utils/setterm.c:809
+#, c-format
+msgid "  [ -msglevel [0-8] ]\n"
+msgstr "  [ -msglevel [0-8] ]\n"
+
+#: misc-utils/setterm.c:810
+#, c-format
+msgid "  [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+msgstr "  [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+
+#: misc-utils/setterm.c:811
+#, c-format
+msgid "  [ -powerdown [0-60] ]\n"
+msgstr "  [ -powerdown [0-60] ]\n"
+
+#: misc-utils/setterm.c:812
+#, c-format
+msgid "  [ -blength [0-2000] ]\n"
+msgstr "  [ -blength [0-2000] ]\n"
+
+#: misc-utils/setterm.c:813
+#, c-format
+msgid "  [ -bfreq freqnumber ]\n"
+msgstr "  [ -bfreq númerofrecuencia ]\n"
+
+#: misc-utils/setterm.c:1065
+#, fuzzy, c-format
+msgid "cannot force blank\n"
+msgstr "No se puede bifurcar (fork)"
+
+#: misc-utils/setterm.c:1069
+#, fuzzy, c-format
+msgid "cannot force unblank\n"
+msgstr "No se puede bifurcar (fork)"
+
+#: misc-utils/setterm.c:1075
+#, fuzzy, c-format
+msgid "cannot get blank status\n"
+msgstr "No se puede abrir %s %s\n"
+
+#: misc-utils/setterm.c:1087
+#, c-format
+msgid "cannot (un)set powersave mode\n"
+msgstr "No se puede (des)activar el modo de ahorro de alimentación\n"
+
+#: misc-utils/setterm.c:1126 misc-utils/setterm.c:1134
+#, c-format
+msgid "klogctl error: %s\n"
+msgstr "Error de klogctl: %s\n"
+
+#: misc-utils/setterm.c:1200
+#, c-format
+msgid "Error writing screendump\n"
+msgstr "Error al escribir vuelco de pantalla\n"
+
+#: misc-utils/setterm.c:1207
+#, fuzzy, c-format
+msgid "Couldn't read %s\n"
+msgstr "No se ha podido abrir %s\n"
+
+#: misc-utils/setterm.c:1261
+#, c-format
+msgid "%s: $TERM is not defined.\n"
+msgstr "%s: $TERM no está definido.\n"
+
+#: misc-utils/uuidd.c:46
+#, fuzzy, c-format
+msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n"
+msgstr "uso: last [-#] [-f fichero] [-t tty] [-h nombrehost] [usuario ...]\n"
+
+#: misc-utils/uuidd.c:48
+#, c-format
+msgid "       %s [-r|t] [-n num] [-s socketpath]\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:50
+#, fuzzy, c-format
+msgid "       %s -k\n"
+msgstr "       %s -l [ señal ]\n"
+
+#: misc-utils/uuidd.c:152
+#, fuzzy
+msgid "bad arguments"
+msgstr "col: argumento -l incorrecto %s.\n"
+
+#: misc-utils/uuidd.c:159
+#, fuzzy
+msgid "socket"
+msgstr "nfs socket"
+
+#: misc-utils/uuidd.c:170
+#, fuzzy
+msgid "connect"
+msgstr "nfs connect"
+
+#: misc-utils/uuidd.c:189
+#, fuzzy
+msgid "write"
+msgstr "Escribir"
+
+#: misc-utils/uuidd.c:197
+#, fuzzy
+msgid "read count"
+msgstr "read %c\n"
+
+#: misc-utils/uuidd.c:203
+msgid "bad response length"
+msgstr ""
+
+#: misc-utils/uuidd.c:268
+#, c-format
+msgid "uuidd daemon already running at pid %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:276
+#, c-format
+msgid "Couldn't create unix stream socket: %s"
+msgstr ""
+
+#: misc-utils/uuidd.c:305
+#, fuzzy, c-format
+msgid "Couldn't bind unix socket %s: %s\n"
+msgstr "No se puede abrir %s: %s\n"
+
+#: misc-utils/uuidd.c:313
+#, fuzzy, c-format
+msgid "Couldn't listen on unix socket %s: %s\n"
+msgstr "No se puede abrir %s: %s\n"
+
+#: misc-utils/uuidd.c:351
+#, fuzzy, c-format
+msgid "Error reading from client, len = %d\n"
+msgstr "Error al leer %s\n"
+
+#: misc-utils/uuidd.c:359
+#, c-format
+msgid "operation %d, incoming num = %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:378
+#, c-format
+msgid "Generated time UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:388
+#, c-format
+msgid "Generated random UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:397
+#, c-format
+msgid "Generated time UUID %s and %d following\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:415
+#, c-format
+msgid "Generated %d UUID's:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:427
+#, fuzzy, c-format
+msgid "Invalid operation %d\n"
+msgstr "identificador inválido"
+
+#: misc-utils/uuidd.c:468 misc-utils/uuidd.c:489
+#, fuzzy, c-format
+msgid "Bad number: %s\n"
+msgstr "Número inválido: %s\n"
+
+#: misc-utils/uuidd.c:524 misc-utils/uuidd.c:551
+#, fuzzy, c-format
+msgid "Error calling uuidd daemon (%s): %s\n"
+msgstr "Error al cambiar el modo de %s: %s\n"
+
+#: misc-utils/uuidd.c:534
+#, c-format
+msgid "%s and subsequent %d UUID's\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:536
+#, c-format
+msgid "List of UUID's:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:557
+#, c-format
+msgid "Unexpected reply length from server %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:574
+#, c-format
+msgid "Couldn't kill uuidd running at pid %d: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:580
+#, c-format
+msgid "Killed uuidd running at pid %d\n"
+msgstr ""
+
+#: misc-utils/uuidgen.c:32
+#, fuzzy, c-format
+msgid "Usage: %s [-r] [-t]\n"
+msgstr "Uso: %s [opciones] dispositivo ...\n"
+
+#: misc-utils/whereis.c:159
+#, c-format
+msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
+msgstr "whereis [ -sbmu ] [ -SBM dir ... -f ] nombre...\n"
+
+#: misc-utils/write.c:101
+#, c-format
+msgid "write: can't find your tty's name\n"
+msgstr "write: no se puede encontrar el nombre de tty\n"
+
+#: misc-utils/write.c:112
+#, c-format
+msgid "write: you have write permission turned off.\n"
+msgstr "write: tiene el permiso de escritura desactivado.\n"
+
+#: misc-utils/write.c:133
+#, c-format
+msgid "write: %s is not logged in on %s.\n"
+msgstr "write: %s no tiene una sesión iniciada en %s.\n"
+
+#: misc-utils/write.c:141
+#, c-format
+msgid "write: %s has messages disabled on %s\n"
+msgstr "write: %s tiene los mensajes desactivados en %s\n"
+
+#: misc-utils/write.c:148
+#, c-format
+msgid "usage: write user [tty]\n"
+msgstr "uso: write usuario [tty]\n"
+
+#: misc-utils/write.c:236
+#, c-format
+msgid "write: %s is not logged in\n"
+msgstr "write: %s no tiene iniciada una sesión\n"
+
+#: misc-utils/write.c:245
+#, c-format
+msgid "write: %s has messages disabled\n"
+msgstr "write: %s tiene los mensajes desactivados\n"
+
+#: misc-utils/write.c:249
+#, c-format
+msgid "write: %s is logged in more than once; writing to %s\n"
+msgstr ""
+"write: %s tiene iniciada una sesión más de una vez; escribiendo en %s\n"
+
+#: misc-utils/write.c:317
+#, 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 ..."
+
+#: misc-utils/write.c:320
+#, c-format
+msgid "Message from %s@%s on %s at %s ..."
+msgstr "Mensaje de %s@%s el %s a las %s ..."
+
+#: mount/fstab.c:143
+#, c-format
+msgid "warning: error reading %s: %s"
+msgstr "atención: error al leer %s: %s"
+
+#: mount/fstab.c:171 mount/fstab.c:196
+#, c-format
+msgid "warning: can't open %s: %s"
+msgstr "atención: no se puede abrir %s: %s"
+
+#: mount/fstab.c:176
+#, 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/fstab.c:589
+#, 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/fstab.c:615
+#, 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/fstab.c:631
+#, 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/fstab.c:646
+#, c-format
+msgid "Can't lock lock file %s: %s\n"
+msgstr "No se puede bloquear el fichero de bloqueo %s: %s\n"
+
+#: mount/fstab.c:660
+#, c-format
+msgid "can't lock lock file %s: %s"
+msgstr "No se puede bloquear el fichero de bloqueo %s: %s"
+
+#: mount/fstab.c:662
+msgid "timed out"
+msgstr "Tiempo de espera excedido"
+
+#: mount/fstab.c:669
+#, 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/fstab.c:791 mount/fstab.c:846
+#, c-format
+msgid "cannot open %s (%s) - mtab not updated"
+msgstr "No se puede abrir %s (%s) - mtab no actualizado"
+
+#: mount/fstab.c:855
+#, c-format
+msgid "error writing %s: %s"
+msgstr "Error al escribir %s: %s"
+
+#: mount/fstab.c:873
+#, c-format
+msgid "error changing mode of %s: %s\n"
+msgstr "Error al cambiar el modo de %s: %s\n"
+
+#: mount/fstab.c:886
+#, fuzzy, c-format
+msgid "error changing owner of %s: %s\n"
+msgstr "Error al cambiar el modo de %s: %s\n"
+
+#: mount/fstab.c:897
+#, c-format
+msgid "can't rename %s to %s: %s\n"
+msgstr "No se puede cambiar el nombre %s por %s: %s\n"
+
+#: mount/lomount.c:364
+#, fuzzy, c-format
+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"
+
+#: mount/lomount.c:388
+#, fuzzy, c-format
+msgid ", offset %<PRIu64>"
+msgstr ", desplazamiento %d"
+
+#: mount/lomount.c:391
+#, fuzzy, c-format
+msgid ", sizelimit %<PRIu64>"
+msgstr ", tamaño límite %lld"
+
+#: mount/lomount.c:399
+#, fuzzy, c-format
+msgid ", encryption %s (type %<PRIu32>)"
+msgstr ", cifrado %s (tipo %d)"
+
+#: mount/lomount.c:412
+#, c-format
+msgid ", offset %d"
+msgstr ", desplazamiento %d"
+
+#: mount/lomount.c:415
+#, c-format
+msgid ", encryption type %d\n"
+msgstr ", tipo de cifrado %d\n"
+
+#: mount/lomount.c:423
+#, c-format
+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"
+
+#: mount/lomount.c:434
+#, c-format
+msgid "loop: can't open device %s: %s\n"
+msgstr "loop: no se puede abrir el dispositivo %s: %s\n"
+
+#: mount/lomount.c:450 mount/lomount.c:482 mount/lomount.c:544
+#: mount/lomount.c:589
+#, fuzzy, c-format
+msgid "%s: /dev directory does not exist."
+msgstr "%s: el usuario \"%s\" no existe.\n"
+
+#: mount/lomount.c:461 mount/lomount.c:602
+#, fuzzy, c-format
+msgid "%s: no permission to look at /dev/loop%s<N>"
+msgstr "%s: no existe permiso para mirar en /dev/loop#"
+
+#: mount/lomount.c:605
+#, c-format
+msgid "%s: could not find any free loop device"
+msgstr "%s: no se ha encontrado ningún dispositivo de bucle libre"
+
+#: mount/lomount.c:608
+#, c-format
+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'.)"
+
+#: mount/lomount.c:638
+#, fuzzy
+msgid "Out of memory while reading passphrase"
+msgstr "No queda memoria al aumentar el tamaño del búfer.\n"
+
+#: mount/lomount.c:681
+#, fuzzy, c-format
+msgid "warning: %s is already associated with %s\n"
+msgstr "El sector %d ya está asignado\n"
+
+#: mount/lomount.c:697
+#, fuzzy, c-format
+msgid "warning: %s: is write-protected, using read-only.\n"
+msgstr ""
+"mount: %s%s está protegido contra escritura; se monta como sólo lectura"
+
+#: mount/lomount.c:733
+#, c-format
+msgid "Couldn't lock into memory, exiting.\n"
+msgstr "No se pudo bloquear en memoria, saliendo.\n"
+
+#: mount/lomount.c:760
+#, c-format
+msgid "ioctl LOOP_SET_FD failed: %s\n"
+msgstr ""
+
+#: mount/lomount.c:817
+#, fuzzy, c-format
+msgid "set_loop(%s,%s,%llu,%llu): success\n"
+msgstr "set_loop(%s,%s,%llu): ejecución correcta\n"
+
+#: mount/lomount.c:838
+#, c-format
+msgid "del_loop(%s): success\n"
+msgstr "del_loop(%s): ejecución correcta\n"
+
+#: mount/lomount.c:842
+#, c-format
+msgid "loop: can't delete device %s: %s\n"
+msgstr "loop: no se puede suprimir el dispositivo %s: %s\n"
+
+#: mount/lomount.c:853
+#, c-format
+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"
+
+#: mount/lomount.c:888
+#, fuzzy, c-format
+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 ""
+"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"
+
+#: mount/lomount.c:898
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -e | --encryption <type> enable data encryption with specified <name/num>\n"
+" -h | --help              this help\n"
+" -o | --offset <num>      start at offset <num> into file\n"
+"      --sizelimit <num>   loop limited to only <num> bytes of the file\n"
+" -p | --pass-fd <num>     read passphrase from file descriptor <num>\n"
+" -r | --read-only         setup read-only loop device\n"
+"      --show              print device name (with -f <file>)\n"
+" -v | --verbose           verbose mode\n"
+"\n"
+msgstr ""
+
+#: mount/lomount.c:1036 mount/lomount.c:1076
+#, fuzzy, c-format
+msgid "Loop device is %s\n"
+msgstr "loop: no se puede abrir el dispositivo %s: %s\n"
+
+#: mount/lomount.c:1063
+#, c-format
+msgid "stolen loop=%s...trying again\n"
+msgstr ""
+
+#: mount/lomount.c:1073
+#, fuzzy, c-format
+msgid "%s: %s: device is busy"
+msgstr "umount: %s: dispositivo ocupado"
+
+#: mount/lomount.c:1090
+#, c-format
+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"
+
+#: mount/mount.c:329
+#, c-format
+msgid "mount: improperly quoted option string '%s'"
+msgstr ""
+
+#: mount/mount.c:362
+#, fuzzy, c-format
+msgid "mount: translated %s '%s' to '%s'\n"
+msgstr "mount: no se puede encontrar %s en %s o %s"
+
+#: mount/mount.c:526
+#, 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/mount.c:531
+#, c-format
+msgid "mount: according to mtab, %s is mounted on %s"
+msgstr "mount: según mtab, %s está montado en %s"
+
+#: mount/mount.c:555
+#, c-format
+msgid "mount: can't open %s for writing: %s"
+msgstr "mount: no se puede abrir %s para escritura: %s"
+
+#: mount/mount.c:572 mount/mount.c:1190
+#, c-format
+msgid "mount: error writing %s: %s"
+msgstr "mount: error al escribir %s: %s"
+
+#: mount/mount.c:580
+#, c-format
+msgid "mount: error changing mode of %s: %s"
+msgstr "mount: error al cambiar el modo de %s: %s"
+
+#: mount/mount.c:663
+#, fuzzy, c-format
+msgid "mount: cannot set group id: %s"
+msgstr "mount: no se puede establecer la velocidad: %s"
+
+#: mount/mount.c:666
+#, fuzzy, c-format
+msgid "mount: cannot set user id: %s"
+msgstr "mount: no se puede establecer la velocidad: %s"
+
+#: mount/mount.c:705 mount/mount.c:1809
+#, c-format
+msgid "mount: cannot fork: %s"
+msgstr "mount: no se puede bifurcar (fork): %s"
+
+#: mount/mount.c:842
+#, c-format
+msgid "Trying %s\n"
+msgstr "Probando con %s\n"
+
+#: mount/mount.c:870
+#, 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/mount.c:873
+#, 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/mount.c:876
+#, c-format
+msgid "       and it looks like this is swapspace\n"
+msgstr "       y parece que sea un espacio de intercambio\n"
+
+#: mount/mount.c:878
+#, c-format
+msgid "       I will try type %s\n"
+msgstr "       Se probará con el tipo %s\n"
+
+#: mount/mount.c:902
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr "%s parece espacio de intercambio - no montado"
+
+#: mount/mount.c:993
+msgid "mount failed"
+msgstr "montaje erróneo"
+
+#: mount/mount.c:995
+#, c-format
+msgid "mount: only root can mount %s on %s"
+msgstr "mount: sólo el usuario root puede montar %s en %s"
+
+#: mount/mount.c:1065
+msgid "mount: loop device specified twice"
+msgstr "mount: dispositivo de bucle especificado dos veces"
+
+#: mount/mount.c:1070
+msgid "mount: type specified twice"
+msgstr "mount: tipo especificado dos veces"
+
+#: mount/mount.c:1082
+#, 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/mount.c:1094
+#, 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/mount.c:1104
+#, 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/mount.c:1113
+#, c-format
+msgid "mount: stolen loop=%s ...trying again\n"
+msgstr ""
+
+#: mount/mount.c:1118
+#, fuzzy, c-format
+msgid "mount: stolen loop=%s"
+msgstr "umount: %s: %s"
+
+#: mount/mount.c:1123
+#, c-format
+msgid "mount: failed setting up loop device\n"
+msgstr "mount: error al configurar dispositivo de bucle\n"
+
+#: mount/mount.c:1134
+#, c-format
+msgid "mount: setup loop device successfully\n"
+msgstr "mount: configuración correcta de dispositivo de bucle\n"
+
+#: mount/mount.c:1168
+#, c-format
+msgid "mount: no %s found - creating it..\n"
+msgstr "mount: no se ha encontrado %s; se está creando...\n"
+
+#: mount/mount.c:1185
+#, c-format
+msgid "mount: can't open %s: %s"
+msgstr "mount: no se puede abrir %s: %s"
+
+#: mount/mount.c:1206
+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/mount.c:1219
+#, c-format
+msgid "mount: cannot open %s for setting speed"
+msgstr "mount: no se puede abrir %s para establecer la velocidad"
+
+#: mount/mount.c:1222
+#, c-format
+msgid "mount: cannot set speed: %s"
+msgstr "mount: no se puede establecer la velocidad: %s"
+
+#: mount/mount.c:1279
+#, 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/mount.c:1358
+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/mount.c:1361
+msgid "mount: you must specify the filesystem type"
+msgstr "mount: debe especificar el tipo de sistema de ficheros"
+
+#: mount/mount.c:1364
+msgid "mount: mount failed"
+msgstr "mount: montaje erróneo"
+
+#: mount/mount.c:1370 mount/mount.c:1407
+#, c-format
+msgid "mount: mount point %s is not a directory"
+msgstr "mount: el punto de montaje %s no es un directorio"
+
+#: mount/mount.c:1372
+msgid "mount: permission denied"
+msgstr "mount: permiso denegado"
+
+#: mount/mount.c:1374
+msgid "mount: must be superuser to use mount"
+msgstr "mount: debe ser superusuario para utilizar mount"
+
+#: mount/mount.c:1378 mount/mount.c:1382
+#, c-format
+msgid "mount: %s is busy"
+msgstr "mount: %s está ocupado"
+
+#: mount/mount.c:1384
+msgid "mount: proc already mounted"
+msgstr "mount: proc ya está montado"
+
+#: mount/mount.c:1386
+#, c-format
+msgid "mount: %s already mounted or %s busy"
+msgstr "mount: %s ya está montado o %s está ocupado"
+
+#: mount/mount.c:1392
+#, c-format
+msgid "mount: mount point %s does not exist"
+msgstr "mount: el punto de montaje %s no existe"
+
+#: mount/mount.c:1394
+#, 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/mount.c:1399
+#, c-format
+msgid "mount: special device %s does not exist"
+msgstr "mount: el dispositivo especial %s no existe"
+
+#: mount/mount.c:1411
+#, 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/mount.c:1423
+#, c-format
+msgid "mount: %s not mounted already, or bad option"
+msgstr "mount: %s no está montado todavía o una opción es incorrecta"
+
+#: mount/mount.c:1425
+#, 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/mount.c:1432
+msgid ""
+"       (for several filesystems (e.g. nfs, cifs) you might\n"
+"       need a /sbin/mount.<type> helper program)"
+msgstr ""
+
+#: mount/mount.c:1441
+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/mount.c:1446
+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/mount.c:1453
+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/mount.c:1459
+msgid "mount table full"
+msgstr "tabla de dispositivos montados completa"
+
+#: mount/mount.c:1461
+#, c-format
+msgid "mount: %s: can't read superblock"
+msgstr "mount: %s: no se puede leer el superbloque"
+
+#: mount/mount.c:1467
+#, c-format
+msgid "mount: %s: unknown device"
+msgstr "umount: %s: dispositivo desconocido"
+
+#: mount/mount.c:1472
+#, c-format
+msgid "mount: unknown filesystem type '%s'"
+msgstr "mount: tipo de sistema de ficheros '%s' desconocido"
+
+#: mount/mount.c:1484
+#, c-format
+msgid "mount: probably you meant %s"
+msgstr "mount: probablemente quería referirse a %s"
+
+#: mount/mount.c:1487
+msgid "mount: maybe you meant 'iso9660'?"
+msgstr "mount: ¿quiere decir 'iso9660?'"
+
+#: mount/mount.c:1490
+msgid "mount: maybe you meant 'vfat'?"
+msgstr "mount: ¿quiere decir 'vfat'?"
+
+#: mount/mount.c:1493
+#, 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/mount.c:1501
+#, 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/mount.c:1503
+#, c-format
+msgid ""
+"mount: the kernel does not recognize %s as a block device\n"
+"       (maybe `insmod driver'?)"
+msgstr ""
+"mount: el núcleo no reconoce %s como dispositivo de bloques\n"
+"       (¿tal vez `insmod driver'?)"
+
+#: mount/mount.c:1506
+#, 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/mount.c:1509
+#, c-format
+msgid "mount: %s is not a block device"
+msgstr "mount: %s no es un dispositivo de bloques"
+
+#: mount/mount.c:1514
+#, c-format
+msgid "mount: %s is not a valid block device"
+msgstr "mount: %s no es un dispositivo de bloques válido"
+
+#: mount/mount.c:1517
+msgid "block device "
+msgstr "dispositivo de bloques "
+
+#: mount/mount.c:1519
+#, c-format
+msgid "mount: cannot mount %s%s read-only"
+msgstr "umount: no se puede montar %s%s de sólo lectura"
+
+#: mount/mount.c:1523
+#, 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/mount.c:1527
+#, 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/mount.c:1542
+#, 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/mount.c:1552
+#, fuzzy, c-format
+msgid "mount: no medium found on %s ...trying again\n"
+msgstr "mount: no se ha encontrado %s; se está creando...\n"
+
+#: mount/mount.c:1558
+#, fuzzy, c-format
+msgid "mount: no medium found on %s"
+msgstr "mount: %s ya está montado en %s\n"
+
+#: mount/mount.c:1576
+#, 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/mount.c:1655
+#, 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/mount.c:1661
+#, 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/mount.c:1756
+#, c-format
+msgid "mount: %s already mounted on %s\n"
+msgstr "mount: %s ya está montado en %s\n"
+
+#: mount/mount.c:1890
+#, 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/mount.c:2213
+msgid "mount: only root can do that"
+msgstr "mount: sólo el usuario root puede efectuar esta acción"
+
+#: mount/mount.c:2223
+msgid "nothing was mounted"
+msgstr "no se ha montado nada"
+
+#: mount/mount.c:2241 mount/mount.c:2267
+msgid "mount: no such partition found"
+msgstr "mount: no se ha encontrado esta partición"
+
+#: mount/mount.c:2244
+#, c-format
+msgid "mount: can't find %s in %s or %s"
+msgstr "mount: no se puede encontrar %s en %s o %s"
+
+#: mount/mount_mntent.c:165
+#, 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/mount_mntent.c:216
+#, 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/mount_mntent.c:219
+msgid "; rest of file ignored"
+msgstr "; el resto del fichero no se tiene en cuenta"
+
+#: mount/sundries.c:31
+msgid "bug in xstrndup call"
+msgstr "Error en la llamada xstrndup"
+
+#: mount/sundries.c:224 mount/sundries.c:280 mount/sundries.c:289
+#: mount/xmalloc.c:11
+msgid "not enough memory"
+msgstr "No hay suficiente memoria"
+
+#: mount/swapon.c:84
+#, c-format
+msgid ""
+"The <special> parameter:\n"
+" {-L label | LABEL=label}             LABEL of device to be used\n"
+" {-U uuid  | 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"
+"\n"
+msgstr ""
+
+#: mount/swapon.c:92
+#, c-format
+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 ""
+
+#: mount/swapon.c:106
+#, c-format
+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 ""
+
+#: mount/swapon.c:140
+#, fuzzy, c-format
+msgid "%s: unexpected file format"
+msgstr "%s: EOF inesperado en el fichero %s\n"
+
+#: mount/swapon.c:184 mount/swapon.c:252 mount/swapon.c:397 mount/swapon.c:556
+#: mount/swapon.c:758
+#, fuzzy, c-format
+msgid "%s: open failed"
+msgstr "openpty ha fallado\n"
+
+#: mount/swapon.c:205
+#, c-format
+msgid "%s: reinitializing the swap."
+msgstr ""
+
+#: mount/swapon.c:209
+#, fuzzy
+msgid "fork failed"
+msgstr "La bifurcación (fork) ha fallado\n"
+
+#: mount/swapon.c:225
+#, fuzzy
+msgid "execv failed"
+msgstr "La ejecución (exec) ha fallado\n"
+
+#: mount/swapon.c:233
+#, fuzzy
+msgid "waitpid failed"
+msgstr "setuid() ha fallado"
+
+#: mount/swapon.c:257
+#, fuzzy, c-format
+msgid "%s: lseek failed"
+msgstr "Error de búsqueda"
+
+#: mount/swapon.c:263
+#, fuzzy, c-format
+msgid "%s: write signature failed"
+msgstr "Error al abrir %s"
+
+#: mount/swapon.c:350
+#, c-format
+msgid "%s: found %sswap v%d signature string for %d KiB PAGE_SIZE\n"
+msgstr ""
+
+#: mount/swapon.c:370
+#, fuzzy, c-format
+msgid "%s: stat failed"
+msgstr "Error de búsqueda"
+
+#: mount/swapon.c:380
+#, 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"
+
+#: mount/swapon.c:388
+#, fuzzy, c-format
+msgid "%s: skipping - it appears to have holes."
+msgstr "swapon: omitiendo el fichero %s; parece que tiene huecos.\n"
+
+#: mount/swapon.c:402
+#, fuzzy, c-format
+msgid "%s: get size failed"
+msgstr "Error de búsqueda"
+
+#: mount/swapon.c:408
+#, c-format
+msgid "%s: read swap header failed"
+msgstr ""
+
+#: mount/swapon.c:421
+#, c-format
+msgid "%s: last_page 0x%08llx is larger than actual size of swapspace"
+msgstr ""
+
+#: mount/swapon.c:426
+#, c-format
+msgid "%s: swap format pagesize does not match."
+msgstr ""
+
+#: mount/swapon.c:431
+#, c-format
+msgid ""
+"%s: swap format pagesize does not match. (Use --fixpgsz to reinitialize it.)"
+msgstr ""
+
+#: mount/swapon.c:440
+#, c-format
+msgid "%s: software suspend data detected. Rewriting the swap signature."
+msgstr ""
+
+#: mount/swapon.c:464 mount/swapon.c:514
+#, c-format
+msgid "%s on %s\n"
+msgstr "%s en %s\n"
+
+#: mount/swapon.c:486
+#, fuzzy, c-format
+msgid "%s: swapon failed"
+msgstr "Error de búsqueda"
+
+#: mount/swapon.c:493
+#, fuzzy, c-format
+msgid "cannot find the device for %s"
+msgstr "%s: no se puede encontrar \"_stext\" en %s\n"
+
+#: mount/swapon.c:526
+#, fuzzy
+msgid "Not superuser."
+msgstr "No es el superusuario.\n"
+
+#: mount/swapon.c:529
+#, fuzzy, c-format
+msgid "%s: swapoff failed"
+msgstr "Error de búsqueda"
+
+#: mount/umount.c:41
+#, c-format
+msgid "umount: compiled without support for -f\n"
+msgstr "umount: compilado sin soporte para -f\n"
+
+#: mount/umount.c:111
+#, fuzzy, c-format
+msgid "umount: cannot set group id: %s"
+msgstr "mount: no se puede establecer la velocidad: %s"
+
+#: mount/umount.c:114
+#, fuzzy, c-format
+msgid "umount: cannot set user id: %s"
+msgstr "mount: no se puede establecer la velocidad: %s"
+
+#: mount/umount.c:139
+#, c-format
+msgid "umount: cannot fork: %s"
+msgstr "umount: no se puede bifurcar (fork): %s"
+
+#: mount/umount.c:160
+#, c-format
+msgid "umount: %s: invalid block device"
+msgstr "umount: %s: dispositivo de bloques inválido"
+
+#: mount/umount.c:162
+#, c-format
+msgid "umount: %s: not mounted"
+msgstr "umount: %s: no montado"
+
+#: mount/umount.c:164
+#, c-format
+msgid "umount: %s: can't write superblock"
+msgstr "umount: %s: no se puede escribir el superbloque"
+
+#: mount/umount.c:168
+#, 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/umount.c:173
+#, c-format
+msgid "umount: %s: not found"
+msgstr "umount: %s: no se ha encontrado"
+
+#: mount/umount.c:175
+#, c-format
+msgid "umount: %s: must be superuser to umount"
+msgstr "umount: %s: debe ser superusuario para utilizar umount"
+
+#: mount/umount.c:177
+#, c-format
+msgid "umount: %s: block devices not permitted on fs"
+msgstr ""
+"umount: %s: dispositivos de bloques no permitidos en sistema de ficheros"
+
+#: mount/umount.c:179
+#, c-format
+msgid "umount: %s: %s"
+msgstr "umount: %s: %s"
+
+#: mount/umount.c:235
+#, c-format
+msgid "no umount2, trying umount...\n"
+msgstr "umount2 no existe; se está probando con umount...\n"
+
+#: mount/umount.c:252
+#, 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/umount.c:263
+#, 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/umount.c:272
+#, c-format
+msgid "%s umounted\n"
+msgstr "Se ha ejecutado umount en %s\n"
+
+#: mount/umount.c:367
+msgid "umount: cannot find list of filesystems to unmount"
+msgstr ""
+"umount: no se puede encontrar lista de sistemas de ficheros para desmontar"
+
+#: mount/umount.c:397
+#, 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/umount.c:466
+#, fuzzy, c-format
+msgid "device %s is associated with %s\n"
+msgstr "El sector %d ya está asignado\n"
+
+#: mount/umount.c:472
+#, fuzzy, c-format
+msgid "device %s is not associated with %s\n"
+msgstr "El sector %d ya está asignado\n"
+
+#: mount/umount.c:485
+msgid "Cannot umount \"\"\n"
+msgstr "No se puede desmontar \"\"\n"
+
+#: mount/umount.c:491
+#, c-format
+msgid "Trying to umount %s\n"
+msgstr "Se está intentando ejecutar umount en %s\n"
+
+#: mount/umount.c:504
+msgid "umount: confused when analyzing mtab"
+msgstr ""
+
+#: mount/umount.c:509
+#, c-format
+msgid "umount: cannot umount %s -- %s is mounted over it on the same point."
+msgstr ""
+
+#: mount/umount.c:516
+#, c-format
+msgid "Could not find %s in mtab\n"
+msgstr "No se puede encontrar %s en mtab\n"
+
+#: mount/umount.c:523
+#, c-format
+msgid "umount: %s is not mounted (according to mtab)"
+msgstr "umount: %s no está montado (según mtab)"
+
+#: mount/umount.c:547
+#, c-format
+msgid "umount: it seems %s is mounted multiple times"
+msgstr "umount: parece que %s se ha montado varias veces"
+
+#: mount/umount.c:561
+#, 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/umount.c:567
+#, c-format
+msgid "umount: %s mount disagrees with the fstab"
+msgstr "umount: montaje de %s no concuerda con fstab"
+
+#: mount/umount.c:608
+#, c-format
+msgid "umount: only %s can unmount %s from %s"
+msgstr "umount: sólo %s puede desmontar %s desde %s"
+
+#: mount/umount.c:695
+msgid "umount: only root can do that"
+msgstr "umount: sólo el usuario root puede efectuar esta acción"
+
+#: schedutils/chrt.c:56
+#, 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"
+"\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 ""
+
+#: schedutils/chrt.c:88
+#, fuzzy, c-format
+msgid "failed to get pid %d's policy"
+msgstr "Error al escribir la partición en %s\n"
+
+#: schedutils/chrt.c:90
+#, c-format
+msgid "pid %d's %s scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:112
+#, fuzzy, c-format
+msgid "unknown\n"
+msgstr "desconocido"
+
+#: schedutils/chrt.c:116
+#, c-format
+msgid "failed to get pid %d's attributes"
+msgstr ""
+
+#: schedutils/chrt.c:118
+#, c-format
+msgid "pid %d's %s scheduling priority: %d\n"
+msgstr ""
+
+#: schedutils/chrt.c:147
+#, c-format
+msgid "SCHED_%s min/max priority\t: %d/%d\n"
+msgstr ""
+
+#: schedutils/chrt.c:150
+#, fuzzy, c-format
+msgid "SCHED_%s not supported?\n"
+msgstr "NFS sobre TCP no está soportado.\n"
+
+#: schedutils/chrt.c:206
+#, fuzzy
+msgid "failed to parse pid"
+msgstr "%s: fallo al abrir %s\n"
+
+#: schedutils/chrt.c:228
+msgid "current"
+msgstr "actual"
+
+#: schedutils/chrt.c:236
+#, fuzzy
+msgid "failed to parse priority"
+msgstr "Error al escribir la partición en %s\n"
+
+#: schedutils/chrt.c:242
+#, fuzzy, c-format
+msgid "failed to set pid %d's policy"
+msgstr "Error al escribir la partición en %s\n"
+
+#: schedutils/chrt.c:251
+#, fuzzy, c-format
+msgid "failed to execute %s"
+msgstr "ioctl() no ha podido leer la hora de %s"
+
+#: schedutils/ionice.c:57
+#, fuzzy
+msgid "ioprio_get failed"
+msgstr "openpty ha fallado\n"
+
+#: schedutils/ionice.c:75
+#, fuzzy
+msgid "ioprio_set failed"
+msgstr "openpty ha fallado\n"
+
+#: schedutils/ionice.c:81
+#, c-format
+msgid ""
+"\n"
+"ionice - sets or gets process io scheduling class and priority.\n"
+"\n"
+"Usage:\n"
+"  ionice [ options ] -p <pid> [<pid> ...]\n"
+"  ionoce [ 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 ""
+
+#: schedutils/ionice.c:110 schedutils/ionice.c:112
+#, fuzzy, c-format
+msgid "cannot parse number '%s'"
+msgstr "no se puede abrir %s"
+
+#: schedutils/ionice.c:151
+msgid "ignoring given class data for none class"
+msgstr ""
+
+#: schedutils/ionice.c:159
+msgid "ignoring given class data for idle class"
+msgstr ""
+
+#: schedutils/ionice.c:163
+#, c-format
+msgid "bad prio class %d"
+msgstr ""
+
+#: schedutils/ionice.c:187
+#, fuzzy
+msgid "execvp failed"
+msgstr "La ejecución (exec) ha fallado\n"
+
+#: sys-utils/ctrlaltdel.c:27
+#, c-format
+msgid "You must be root to set the Ctrl-Alt-Del behaviour.\n"
+msgstr ""
+"Debe ser el usuario root para definir el comportamiento de Ctrl-Alt-Supr.\n"
+
+#: sys-utils/ctrlaltdel.c:42
+#, c-format
+msgid "Usage: ctrlaltdel hard|soft\n"
+msgstr "Uso: ctrlaltdel hard|soft\n"
+
+#: sys-utils/cytune.c:114
+#, 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\n"
+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:125
+#, c-format
+msgid ""
+"File %s, For threshold value %lu and timrout value %lu, Maximum characters "
+"in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f\n"
+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:189
+#, c-format
+msgid "Invalid interval value: %s\n"
+msgstr "Valor de intervalo inválido: %s\n"
+
+#: sys-utils/cytune.c:197
+#, c-format
+msgid "Invalid set value: %s\n"
+msgstr "Valor establecido inválido: %s\n"
+
+#: sys-utils/cytune.c:205
+#, c-format
+msgid "Invalid default value: %s\n"
+msgstr "Valor predeterminado inválido: %s\n"
+
+#: sys-utils/cytune.c:213
+#, c-format
+msgid "Invalid set time value: %s\n"
+msgstr "Valor de hora establecido inválido: %s\n"
+
+#: sys-utils/cytune.c:221
+#, c-format
+msgid "Invalid default time value: %s\n"
+msgstr "Valor de hora predeterminado inválido: %s\n"
+
+#: sys-utils/cytune.c:238
+#, c-format
+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"
+
+#: sys-utils/cytune.c:250 sys-utils/cytune.c:269 sys-utils/cytune.c:289
+#: sys-utils/cytune.c:339
+#, c-format
+msgid "Can't open %s: %s\n"
+msgstr "No se puede abrir %s: %s\n"
+
+#: sys-utils/cytune.c:257
+#, c-format
+msgid "Can't set %s to threshold %d: %s\n"
+msgstr "No se puede establecer %s en el umbral %d: %s\n"
+
+#: sys-utils/cytune.c:276
+#, c-format
+msgid "Can't set %s to time threshold %d: %s\n"
+msgstr "No se puede establecer %s en el umbral de hora %d: %s\n"
+
+#: sys-utils/cytune.c:294 sys-utils/cytune.c:351 sys-utils/cytune.c:382
+#, c-format
+msgid "Can't get threshold for %s: %s\n"
+msgstr "No se puede obtener el umbral para %s: %s\n"
+
+#: sys-utils/cytune.c:300 sys-utils/cytune.c:357 sys-utils/cytune.c:388
+#, c-format
+msgid "Can't get timeout for %s: %s\n"
+msgstr "No se puede obtener el tiempo de espera para %s: %s\n"
+
+#: sys-utils/cytune.c:306
+#, 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:309
+#, 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/cytune.c:327
+msgid "Can't set signal handler"
+msgstr "No se puede establecer el manejador de señales"
+
+#: sys-utils/cytune.c:331 sys-utils/cytune.c:366
+msgid "gettimeofday failed"
+msgstr "gettimeofday ha fallado"
+
+#: sys-utils/cytune.c:344 sys-utils/cytune.c:376
+#, c-format
+msgid "Can't issue CYGETMON on %s: %s\n"
+msgstr "No se puede emitir CYGETMON en %s: %s\n"
+
+#: sys-utils/cytune.c:418
+#, 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:424
+#, 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:429
+#, 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:435
+#, c-format
+msgid "   %f int/sec; %f rec (char/sec)\n"
+msgstr "   %f enteros/seg.; %f recepción (caracteres/seg.)\n"
+
+#: sys-utils/dmesg.c:45
+#, fuzzy, c-format
+msgid "Usage: %s [-c] [-n level] [-r] [-s bufsize]\n"
+msgstr "Uso: %s [-c] [-n nivel] [-s tamañobúfer]\n"
+
+#: sys-utils/flock.c:65
+#, c-format
+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 ""
+
+#: sys-utils/flock.c:192
+#, fuzzy, c-format
+msgid "%s: %s requires exactly one command argument\n"
+msgstr "%s necesita un argumento\n"
+
+#: sys-utils/flock.c:219
+#, fuzzy, c-format
+msgid "%s: cannot open lock file %s: %s\n"
+msgstr "%s: no se puede abrir %s: %s\n"
+
+#: sys-utils/flock.c:231
+#, fuzzy, c-format
+msgid "%s: bad number: %s\n"
+msgstr "Número inválido: %s\n"
+
+#: sys-utils/flock.c:238
+#, c-format
+msgid "%s: requires file descriptor, file or directory\n"
+msgstr ""
+
+#: sys-utils/flock.c:294
+#, fuzzy, c-format
+msgid "%s: fork failed: %s\n"
+msgstr "La bifurcación (fork) ha fallado\n"
+
+#: sys-utils/ipcmk.c:84
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage: %s [options]\n"
+"\n"
+msgstr "Uso: %s [opciones] dispositivo ...\n"
+
+#: sys-utils/ipcmk.c:86
+#, c-format
+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 ""
+
+#: sys-utils/ipcmk.c:90
+#, c-format
+msgid ""
+"\n"
+"For more information see ipcmk(1).\n"
+"\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:142
+msgid "create share memory failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:144
+#, fuzzy, c-format
+msgid "Shared memory id: %d\n"
+msgstr ""
+"\n"
+"Segmento de memoria compartida shmid=%d\n"
+
+#: sys-utils/ipcmk.c:150
+msgid "create message queue failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:152
+#, fuzzy, c-format
+msgid "Message queue id: %d\n"
+msgstr ""
+"\n"
+"Cola de mensajes msqid=%d\n"
+
+#: sys-utils/ipcmk.c:158
+#, fuzzy
+msgid "create semaphore failed"
+msgstr "semáforos asignados = %d\n"
+
+#: sys-utils/ipcmk.c:160
+#, fuzzy, c-format
+msgid "Semaphore id: %d\n"
+msgstr ""
+"\n"
+"semid de matriz de semáforos=%d\n"
+
+#: sys-utils/ipcrm.c:66
+#, c-format
+msgid "invalid id: %s\n"
+msgstr "identificador inválido: %s\n"
+
+#: sys-utils/ipcrm.c:84
+#, c-format
+msgid "cannot remove id %s (%s)\n"
+msgstr "no se puede eliminar el identificador %s (%s)\n"
+
+#: sys-utils/ipcrm.c:99
+#, c-format
+msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
+msgstr "uso obsoleto: %s {shm | msg | sem} id ...\n"
+
+#: sys-utils/ipcrm.c:126
+#, c-format
+msgid "unknown resource type: %s\n"
+msgstr "tipo de recurso desconocido: %s\n"
+
+#: sys-utils/ipcrm.c:130
+#, c-format
+msgid "resource(s) deleted\n"
+msgstr "recurso(s) eliminado\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
+#: sys-utils/ipcrm.c:140
+#, c-format
+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"
+
+#: sys-utils/ipcrm.c:181
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: opción ilegal -- %c\n"
+
+#: sys-utils/ipcrm.c:193
+#, c-format
+msgid "%s: illegal key (%s)\n"
+msgstr "%s: clave ilegal (%s)\n"
+
+#: sys-utils/ipcrm.c:208 sys-utils/ipcrm.c:240
+msgid "permission denied for key"
+msgstr "permiso denegado para la clave"
+
+#: sys-utils/ipcrm.c:211 sys-utils/ipcrm.c:250
+msgid "already removed key"
+msgstr "clave ya eliminada"
+
+#: sys-utils/ipcrm.c:214 sys-utils/ipcrm.c:245
+msgid "invalid key"
+msgstr "clave inválida"
+
+#: sys-utils/ipcrm.c:217 sys-utils/ipcrm.c:255
+msgid "unknown error in key"
+msgstr "error desconocido en la clave"
+
+#: sys-utils/ipcrm.c:241
+msgid "permission denied for id"
+msgstr "permiso denegado para el identificador"
+
+#: sys-utils/ipcrm.c:246
+msgid "invalid id"
+msgstr "identificador inválido"
+
+#: sys-utils/ipcrm.c:251
+msgid "already removed id"
+msgstr "identificador ya eliminado"
+
+#: sys-utils/ipcrm.c:256
+msgid "unknown error in id"
+msgstr "error desconocido en el identificador"
+
+#: sys-utils/ipcrm.c:259
+#, c-format
+msgid "%s: %s (%s)\n"
+msgstr "%s: %s (%s)\n"
+
+#: sys-utils/ipcrm.c:267
+#, c-format
+msgid "%s: unknown argument: %s\n"
+msgstr "%s: argumento desconocido: %s\n"
+
+#: sys-utils/ipcs.c:120
+#, c-format
+msgid "usage : %s -asmq -tclup \n"
+msgstr "uso: %s -asmq -tclup \n"
+
+#: sys-utils/ipcs.c:121
+#, c-format
+msgid "\t%s [-s -m -q] -i id\n"
+msgstr "\t%s [-s -m -q] -i id\n"
+
+#: sys-utils/ipcs.c:122
+#, c-format
+msgid "\t%s -h for help.\n"
+msgstr "\t%s -h para obtener ayuda.\n"
+
+#: sys-utils/ipcs.c:128
+#, c-format
+msgid ""
+"%s provides information on ipc facilities for which you have read access.\n"
+msgstr ""
+"%s facilita información sobre los recursos ipc para los cuales tiene\n"
+"acceso de lectura.\n"
+
+#: sys-utils/ipcs.c:130
+#, c-format
+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"
+
+#: sys-utils/ipcs.c:131
+#, c-format
+msgid ""
+"\t-s : semaphores\n"
+"\t-a : all (default)\n"
+msgstr ""
+"\t-s : semáforos\n"
+"\t-a : todo (valor predeterminado)\n"
+
+#: sys-utils/ipcs.c:132
+#, c-format
+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"
+
+#: sys-utils/ipcs.c:133
+#, c-format
+msgid ""
+"\t-l : limits\n"
+"\t-u : summary\n"
+msgstr ""
+"\t-l : límites\n"
+"\t-u : resumen\n"
+
+#: sys-utils/ipcs.c:134
+#, c-format
+msgid "-i id [-s -q -m] : 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:258
+#, 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:264
+#, c-format
+msgid "------ Shared Memory Limits --------\n"
+msgstr "---- Límites memoria compartida ----\n"
+
+#: sys-utils/ipcs.c:269
+#, c-format
+msgid "max number of segments = %lu\n"
+msgstr "número máx. segmentos = %lu\n"
+
+#: sys-utils/ipcs.c:271
+#, c-format
+msgid "max seg size (kbytes) = %lu\n"
+msgstr "tamaño máx. segmento (kbytes) = %lu\n"
+
+#: sys-utils/ipcs.c:273
+#, fuzzy, c-format
+msgid "max total shared memory (kbytes) = %llu\n"
+msgstr "total máx. memoria compartida (kbytes) = %lu\n"
+
+#: sys-utils/ipcs.c:275
+#, c-format
+msgid "min seg size (bytes) = %lu\n"
+msgstr "tamaño mín. segmento (bytes) = %lu\n"
+
+#: sys-utils/ipcs.c:280
+#, c-format
+msgid "------ Shared Memory Status --------\n"
+msgstr "----- Estado memoria compartida ----\n"
+
+#: sys-utils/ipcs.c:281
+#, c-format
+msgid "segments allocated %d\n"
+msgstr "segmentos asignados %d\n"
+
+#: sys-utils/ipcs.c:282
+#, c-format
+msgid "pages allocated %ld\n"
+msgstr "páginas asignadas %ld\n"
+
+#: sys-utils/ipcs.c:283
+#, c-format
+msgid "pages resident  %ld\n"
+msgstr "páginas residentes %ld\n"
+
+#: sys-utils/ipcs.c:284
+#, c-format
+msgid "pages swapped   %ld\n"
+msgstr "páginas intercambiadas %ld\n"
+
+#: sys-utils/ipcs.c:285
+#, c-format
+msgid "Swap performance: %ld attempts\t %ld successes\n"
+msgstr "Rendimiento de intercambio: %ld intentos\t %ld correctos\n"
+
+#: sys-utils/ipcs.c:290
+#, c-format
+msgid "------ Shared Memory Segment Creators/Owners --------\n"
+msgstr "-- Creadores/propietarios segmento mem. compartida --\n"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:298 sys-utils/ipcs.c:305
+#: sys-utils/ipcs.c:311
+msgid "shmid"
+msgstr "shmid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:311 sys-utils/ipcs.c:412
+#: sys-utils/ipcs.c:427 sys-utils/ipcs.c:510 sys-utils/ipcs.c:528
+msgid "perms"
+msgstr "perms"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "cuid"
+msgstr "cuid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "cgid"
+msgstr "cgid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "uid"
+msgstr "uid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "gid"
+msgstr "gid"
+
+#: sys-utils/ipcs.c:296
+#, c-format
+msgid "------ Shared Memory Attach/Detach/Change Times --------\n"
+msgstr "-- Tiempos conexión/desconexión/modificac. mem. comp. --\n"
+
+#: sys-utils/ipcs.c:298 sys-utils/ipcs.c:305 sys-utils/ipcs.c:311
+#: sys-utils/ipcs.c:418 sys-utils/ipcs.c:427 sys-utils/ipcs.c:516
+#: sys-utils/ipcs.c:522 sys-utils/ipcs.c:528
+msgid "owner"
+msgstr "propietario"
+
+#: sys-utils/ipcs.c:298
+msgid "attached"
+msgstr "conectado"
+
+#: sys-utils/ipcs.c:298
+msgid "detached"
+msgstr "desconectado"
+
+#: sys-utils/ipcs.c:299
+msgid "changed"
+msgstr "modificado"
+
+#: sys-utils/ipcs.c:303
+#, c-format
+msgid "------ Shared Memory Creator/Last-op --------\n"
+msgstr "---- Creador/último op. memoria compart. ----\n"
+
+#: sys-utils/ipcs.c:305
+msgid "cpid"
+msgstr "cpid"
+
+#: sys-utils/ipcs.c:305
+msgid "lpid"
+msgstr "lpid"
+
+#: sys-utils/ipcs.c:309
+#, c-format
+msgid "------ Shared Memory Segments --------\n"
+msgstr "---- Segmentos memoria compartida ----\n"
+
+#: sys-utils/ipcs.c:311 sys-utils/ipcs.c:427 sys-utils/ipcs.c:528
+msgid "key"
+msgstr "key"
+
+#: sys-utils/ipcs.c:311
+msgid "bytes"
+msgstr "bytes"
+
+#: sys-utils/ipcs.c:312
+msgid "nattch"
+msgstr "nattch"
+
+#: sys-utils/ipcs.c:312
+msgid "status"
+msgstr "estado"
+
+#: sys-utils/ipcs.c:333 sys-utils/ipcs.c:335 sys-utils/ipcs.c:337
+#: sys-utils/ipcs.c:448 sys-utils/ipcs.c:450 sys-utils/ipcs.c:549
+#: sys-utils/ipcs.c:551 sys-utils/ipcs.c:553 sys-utils/ipcs.c:604
+#: sys-utils/ipcs.c:606 sys-utils/ipcs.c:634 sys-utils/ipcs.c:636
+#: sys-utils/ipcs.c:638 sys-utils/ipcs.c:661
+msgid "Not set"
+msgstr "No establecido"
+
+#: sys-utils/ipcs.c:365
+msgid "dest"
+msgstr "dest"
+
+#: sys-utils/ipcs.c:366
+msgid "locked"
+msgstr "bloqueado"
+
+#: sys-utils/ipcs.c:386
+#, c-format
+msgid "kernel not configured for semaphores\n"
+msgstr "el núcleo no está configurado para semáforos\n"
+
+#: sys-utils/ipcs.c:392
+#, c-format
+msgid "------ Semaphore Limits --------\n"
+msgstr "------ Límites semáforo --------\n"
+
+#: sys-utils/ipcs.c:396
+#, c-format
+msgid "max number of arrays = %d\n"
+msgstr "número máximo de matrices = %d\n"
+
+#: sys-utils/ipcs.c:397
+#, c-format
+msgid "max semaphores per array = %d\n"
+msgstr "máx. semáforos por matriz = %d\n"
+
+#: sys-utils/ipcs.c:398
+#, c-format
+msgid "max semaphores system wide = %d\n"
+msgstr "máx. semáforos sistema = %d\n"
+
+#: sys-utils/ipcs.c:399
+#, c-format
+msgid "max ops per semop call = %d\n"
+msgstr "máx. oper. por llamada semop = %d\n"
+
+#: sys-utils/ipcs.c:400
+#, c-format
+msgid "semaphore max value = %d\n"
+msgstr "valor máx. semáforo = %d\n"
+
+#: sys-utils/ipcs.c:404
+#, c-format
+msgid "------ Semaphore Status --------\n"
+msgstr "------ Estado semáforo ---------\n"
+
+#: sys-utils/ipcs.c:405
+#, c-format
+msgid "used arrays = %d\n"
+msgstr "matrices utilizadas = %d\n"
+
+#: sys-utils/ipcs.c:406
+#, c-format
+msgid "allocated semaphores = %d\n"
+msgstr "semáforos asignados = %d\n"
+
+#: sys-utils/ipcs.c:410
+#, c-format
+msgid "------ Semaphore Arrays Creators/Owners --------\n"
+msgstr "---- Creadores/propietarios matrices semáf. ----\n"
+
+#: sys-utils/ipcs.c:412 sys-utils/ipcs.c:418 sys-utils/ipcs.c:427
+msgid "semid"
+msgstr "semid"
+
+#: sys-utils/ipcs.c:416
+#, fuzzy, c-format
+msgid "------ Semaphore Operation/Change Times --------\n"
+msgstr "--- Tiempos operación/modificación memoria comp. ---\n"
+
+#: sys-utils/ipcs.c:418
+msgid "last-op"
+msgstr "última operación"
+
+#: sys-utils/ipcs.c:418
+msgid "last-changed"
+msgstr "última modificación"
+
+#: sys-utils/ipcs.c:425
+#, c-format
+msgid "------ Semaphore Arrays --------\n"
+msgstr "------ Matrices semáforo -------\n"
+
+#: sys-utils/ipcs.c:427
+msgid "nsems"
+msgstr "nsems"
+
+#: sys-utils/ipcs.c:486
+#, 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:494
+#, c-format
+msgid "------ Messages: Limits --------\n"
+msgstr "------ Mensajes: límites -------\n"
+
+#: sys-utils/ipcs.c:495
+#, c-format
+msgid "max queues system wide = %d\n"
+msgstr "máx. colas sistema = %d\n"
+
+#: sys-utils/ipcs.c:496
+#, c-format
+msgid "max size of message (bytes) = %d\n"
+msgstr "tamaño máx. mensaje (bytes) = %d\n"
+
+#: sys-utils/ipcs.c:497
+#, 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:501
+#, c-format
+msgid "------ Messages: Status --------\n"
+msgstr "------ Mensajes: estado --------\n"
+
+#: sys-utils/ipcs.c:502
+#, c-format
+msgid "allocated queues = %d\n"
+msgstr "colas asignadas = %d\n"
+
+#: sys-utils/ipcs.c:503
+#, c-format
+msgid "used headers = %d\n"
+msgstr "cabeceras utilizadas = %d\n"
+
+#: sys-utils/ipcs.c:504
+#, c-format
+msgid "used space = %d bytes\n"
+msgstr "espacio utilizado = %d bytes\n"
+
+#: sys-utils/ipcs.c:508
+#, c-format
+msgid "------ Message Queues: Creators/Owners --------\n"
+msgstr "-- Colas de mensajes: creadores/propietarios --\n"
+
+#: sys-utils/ipcs.c:510 sys-utils/ipcs.c:516 sys-utils/ipcs.c:522
+#: sys-utils/ipcs.c:528
+msgid "msqid"
+msgstr "msqid"
+
+#: sys-utils/ipcs.c:514
+#, c-format
+msgid "------ Message Queues Send/Recv/Change Times --------\n"
+msgstr "--- Tiempos envío/recep./modific. colas mensajes ----\n"
+
+#: sys-utils/ipcs.c:516
+msgid "send"
+msgstr "envío"
+
+#: sys-utils/ipcs.c:516
+msgid "recv"
+msgstr "recepción"
+
+#: sys-utils/ipcs.c:516
+msgid "change"
+msgstr "modificación"
+
+#: sys-utils/ipcs.c:520
+#, c-format
+msgid "------ Message Queues PIDs --------\n"
+msgstr "----- PID de colas de mensajes ----\n"
+
+#: sys-utils/ipcs.c:522
+msgid "lspid"
+msgstr "lspid"
+
+#: sys-utils/ipcs.c:522
+msgid "lrpid"
+msgstr "lrpid"
+
+#: sys-utils/ipcs.c:526
+#, c-format
+msgid "------ Message Queues --------\n"
+msgstr "------ Colas de mensajes -----\n"
+
+#: sys-utils/ipcs.c:529
+msgid "used-bytes"
+msgstr "bytes utilizados"
+
+#: sys-utils/ipcs.c:529
+msgid "messages"
+msgstr "mensajes"
+
+#: sys-utils/ipcs.c:593
+#, fuzzy
+msgid "shmctl failed"
+msgstr "fsync ha fallado"
+
+#: sys-utils/ipcs.c:595
+#, c-format
+msgid ""
+"\n"
+"Shared memory Segment shmid=%d\n"
+msgstr ""
+"\n"
+"Segmento de memoria compartida shmid=%d\n"
+
+#: sys-utils/ipcs.c:596
+#, c-format
+msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+
+#: sys-utils/ipcs.c:598
+#, c-format
+msgid "mode=%#o\taccess_perms=%#o\n"
+msgstr "mode=%#o\taccess_perms=%#o\n"
+
+#: sys-utils/ipcs.c:600
+#, c-format
+msgid "bytes=%ld\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+msgstr "bytes=%ld\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+
+#: sys-utils/ipcs.c:603
+#, c-format
+msgid "att_time=%-26.24s\n"
+msgstr "att_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:605
+#, c-format
+msgid "det_time=%-26.24s\n"
+msgstr "det_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:607 sys-utils/ipcs.c:637
+#, c-format
+msgid "change_time=%-26.24s\n"
+msgstr "change_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:619
+#, fuzzy
+msgid "msgctl failed"
+msgstr "fsync ha fallado"
+
+#: sys-utils/ipcs.c:621
+#, c-format
+msgid ""
+"\n"
+"Message Queue msqid=%d\n"
+msgstr ""
+"\n"
+"Cola de mensajes msqid=%d\n"
+
+#: sys-utils/ipcs.c:622
+#, c-format
+msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
+
+#: sys-utils/ipcs.c:624
+#, 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:633
+#, c-format
+msgid "send_time=%-26.24s\n"
+msgstr "send_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:635
+#, c-format
+msgid "rcv_time=%-26.24s\n"
+msgstr "rcv_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:652 sys-utils/ipcs.c:674
+#, fuzzy
+msgid "semctl failed"
+msgstr "Error de búsqueda"
+
+#: sys-utils/ipcs.c:654
+#, c-format
+msgid ""
+"\n"
+"Semaphore Array semid=%d\n"
+msgstr ""
+"\n"
+"semid de matriz de semáforos=%d\n"
+
+#: sys-utils/ipcs.c:655
+#, c-format
+msgid "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+msgstr "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+
+#: sys-utils/ipcs.c:657
+#, c-format
+msgid "mode=%#o, access_perms=%#o\n"
+msgstr "mode=%#o, access_perms=%#o\n"
+
+#: sys-utils/ipcs.c:659
+#, c-format
+msgid "nsems = %ld\n"
+msgstr "nsems = %ld\n"
+
+#: sys-utils/ipcs.c:660
+#, c-format
+msgid "otime = %-26.24s\n"
+msgstr "otime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:662
+#, c-format
+msgid "ctime = %-26.24s\n"
+msgstr "ctime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:665
+msgid "semnum"
+msgstr "semnum"
+
+#: sys-utils/ipcs.c:665
+msgid "value"
+msgstr "value"
+
+#: sys-utils/ipcs.c:665
+msgid "ncount"
+msgstr "ncount"
+
+#: sys-utils/ipcs.c:665
+msgid "zcount"
+msgstr "zcount"
+
+#: sys-utils/ipcs.c:665
+msgid "pid"
+msgstr "pid"
+
+#: sys-utils/ldattach.c:92
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [ -dhV78neo12 ] [ -s <speed> ] <ldisc> <device>\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:94
+msgid ""
+"\n"
+"Known <ldisc> names:\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:179
+#, fuzzy, c-format
+msgid "invalid speed: %s"
+msgstr "identificador inválido: %s\n"
+
+#: sys-utils/ldattach.c:182
+#, fuzzy, c-format
+msgid "ldattach from %s\n"
+msgstr "%s de %s\n"
+
+#: sys-utils/ldattach.c:187 text-utils/tailf.c:205
+#, fuzzy
+msgid "invalid option"
+msgstr "identificador inválido"
+
+#: sys-utils/ldattach.c:199
+#, fuzzy, c-format
+msgid "invalid line discipline: %s"
+msgstr "identificador inválido: %s\n"
+
+#: sys-utils/ldattach.c:207
+#, fuzzy, c-format
+msgid "%s is not a serial line"
+msgstr "%s no es un dispositivo de bloques"
+
+#: sys-utils/ldattach.c:213
+#, fuzzy, c-format
+msgid "cannot get terminal attributes for %s"
+msgstr "no se puede obtener el tamaño de %s"
+
+#: sys-utils/ldattach.c:216
+#, c-format
+msgid "speed %d unsupported"
+msgstr ""
+
+#: sys-utils/ldattach.c:247
+#, fuzzy, c-format
+msgid "cannot set terminal attributes for %s"
+msgstr "no se puede obtener el tamaño de %s"
+
+#: sys-utils/ldattach.c:254
+#, fuzzy
+msgid "cannot set line discipline"
+msgstr "No se puede buscar en la unidad de disco"
+
+#: sys-utils/ldattach.c:260
+#, fuzzy
+msgid "cannot daemonize"
+msgstr "no se puede obtener el tamaño de %s"
+
+# Masculino, porque se refiere a "Indicadores"
+#: sys-utils/lscpu.c:64
+#, fuzzy
+msgid "none"
+msgstr "Ninguno"
+
+#: sys-utils/lscpu.c:65
+msgid "para"
+msgstr ""
+
+#: sys-utils/lscpu.c:66
+msgid "full"
+msgstr ""
+
+# ¿Qué significa?
+#: sys-utils/lscpu.c:129 sys-utils/lscpu.c:152 sys-utils/lscpu.c:441
+#, fuzzy, c-format
+msgid "error: %s"
+msgstr "RE error:"
+
+#: sys-utils/lscpu.c:154
+#, fuzzy, c-format
+msgid "error parse: %s"
+msgstr "Error al leer %s\n"
+
+#: sys-utils/lscpu.c:176
+#, fuzzy
+msgid "error: strdup failed"
+msgstr "Error al abrir %s"
+
+#: sys-utils/lscpu.c:259
+#, fuzzy
+msgid "error: uname failed"
+msgstr ""
+"\n"
+"Error al cerrar el fichero\n"
+
+#: sys-utils/lscpu.c:491
+#, fuzzy
+msgid "error: malloc failed"
+msgstr "La asignación de memoria (malloc) ha fallado"
+
+#: sys-utils/lscpu.c:506
+msgid "error: /sys filesystem is not accessable."
+msgstr ""
+
+#: sys-utils/lscpu.c:524
+#, 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"
+"# CPU,Core,Socket,Node"
+msgstr ""
+
+#: sys-utils/lscpu.c:590
+msgid "Thread(s) per core:"
+msgstr ""
+
+#: sys-utils/lscpu.c:591
+msgid "Core(s) per socket:"
+msgstr ""
+
+#: sys-utils/lscpu.c:592
+msgid "CPU socket(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:596
+msgid "NUMA node(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:598
+msgid "Vendor ID:"
+msgstr ""
+
+#: sys-utils/lscpu.c:600
+msgid "CPU family:"
+msgstr ""
+
+#: sys-utils/lscpu.c:602
+msgid "Model:"
+msgstr ""
+
+#: sys-utils/lscpu.c:604
+msgid "Stepping:"
+msgstr ""
+
+#: sys-utils/lscpu.c:606
+msgid "CPU MHz:"
+msgstr ""
+
+#: sys-utils/lscpu.c:609 sys-utils/lscpu.c:611
+#, fuzzy
+msgid "Virtualization:"
+msgstr "Situación anterior:\n"
+
+#: sys-utils/lscpu.c:614
+msgid "Hypervisor vendor:"
+msgstr ""
+
+#: sys-utils/lscpu.c:615
+msgid "Virtualization type:"
+msgstr ""
+
+#: sys-utils/lscpu.c:623
+#, c-format
+msgid "%s cache:"
+msgstr ""
+
+#: sys-utils/lscpu.c:631
+#, fuzzy, c-format
+msgid "Usage: %s [option]\n"
+msgstr "Uso: %s [opciones] dispositivo ...\n"
+
+#: sys-utils/lscpu.c:634
+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 ""
+
+#: sys-utils/lscpu.c:683
+#, fuzzy, c-format
+msgid "error: change working directory to %s."
+msgstr "Error al cambiar el modo de %s: %s\n"
+
+#: sys-utils/rdev.c:77
+msgid "usage: rdev [ -rv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]"
+msgstr ""
+"uso: rdev [ -rv ] [ -o DESPLAZAMIENTO ] [ IMAGEN [ VALOR "
+"[ DESPLAZAMIENTO ] ] ]"
+
+#: sys-utils/rdev.c:78
+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"
+
+#: sys-utils/rdev.c:79
+msgid "  rdev /dev/fd0 /dev/hda2         sets ROOT to /dev/hda2"
+msgstr "  rdev /dev/fd0 /dev/hda2         Establece ROOT en /dev/hda2"
+
+#: sys-utils/rdev.c:80
+msgid "  rdev -R /dev/fd0 1              set the ROOTFLAGS (readonly status)"
+msgstr ""
+"  rdev -R /dev/fd0 1              Establece ROOTFLAGS (estado de sólo "
+"lectura)"
+
+#: sys-utils/rdev.c:81
+msgid "  rdev -r /dev/fd0 627            set the RAMDISK size"
+msgstr "  rdev -r /dev/fd0 627            Establece tamaño de RAMDISK"
+
+#: sys-utils/rdev.c:82
+msgid "  rdev -v /dev/fd0 1              set the bootup VIDEOMODE"
+msgstr "  rdev -v /dev/fd0 1              Establece VIDEOMODE de inicio"
+
+#: sys-utils/rdev.c:83
+msgid "  rdev -o N ...                   use the byte offset N"
+msgstr "  rdev -o N ...                   Utiliza desplazamiento de bytes N"
+
+#: sys-utils/rdev.c:84
+msgid "  rootflags ...                   same as rdev -R"
+msgstr "  rootflags ...                   Igual que rdev -R"
+
+#: sys-utils/rdev.c:85
+msgid "  ramsize ...                     same as rdev -r"
+msgstr "  ramsize ...                     Igual que rdev -r"
+
+#: sys-utils/rdev.c:86
+msgid "  vidmode ...                     same as rdev -v"
+msgstr "  vidmode ...                     Igual que rdev -v"
+
+#: sys-utils/rdev.c:87
+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,..."
+
+#: sys-utils/rdev.c:88
+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."
+
+#: sys-utils/rdev.c:245
+msgid "missing comma"
+msgstr "falta una coma"
+
+#: sys-utils/readprofile.c:72
+#, c-format
+msgid "out of memory"
+msgstr "no queda memoria"
+
+#: sys-utils/readprofile.c:118
+#, 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: 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"
+
+#: sys-utils/readprofile.c:227
+#, fuzzy, c-format
+msgid "readprofile: error writing %s: %s\n"
+msgstr "mount: error al escribir %s: %s"
+
+#: sys-utils/readprofile.c:268
+#, c-format
+msgid "Assuming reversed byte order. Use -n to force native byte order.\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:284
+#, c-format
+msgid "Sampling_step: %i\n"
+msgstr "Paso de sondeo: %i\n"
+
+#: sys-utils/readprofile.c:305 sys-utils/readprofile.c:331
+#, c-format
+msgid "%s: %s(%i): wrong map line\n"
+msgstr "%s: %s(%i): línea de mapa incorrecta\n"
+
+#: sys-utils/readprofile.c:318
+#, c-format
+msgid "%s: can't find \"_stext\" in %s\n"
+msgstr "%s: no se puede encontrar \"_stext\" en %s\n"
+
+#: sys-utils/readprofile.c:352
+#, c-format
+msgid "%s: profile address out of range. Wrong map file?\n"
+msgstr "%s dirección del perfil fuera de rango. ¿Fichero `map' incorrecto?\n"
+
+#: sys-utils/readprofile.c:412
+msgid "total"
+msgstr "total"
+
+#: sys-utils/renice.c:53
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" renice [-n] priority [-p|--pid] pid  [... pid]\n"
+" renice [-n] priority  -g|--pgrp pgrp [... pgrp]\n"
+" renice [-n] priority  -u|--user user [... user]\n"
+" renice -h | --help\n"
+" renice -v | --version\n"
+"\n"
+msgstr ""
+
+#: sys-utils/renice.c:89
+#, fuzzy, c-format
+msgid "renice from %s\n"
+msgstr "%s de %s\n"
+
+#: sys-utils/renice.c:126
+#, c-format
+msgid "renice: %s: unknown user\n"
+msgstr "renice: %s: usuario desconocido\n"
+
+#: sys-utils/renice.c:134
+#, c-format
+msgid "renice: %s: bad value\n"
+msgstr "renice: %s: valor incorrecto\n"
+
+#: sys-utils/renice.c:152 sys-utils/renice.c:164
+msgid "getpriority"
+msgstr "getpriority"
+
+#: sys-utils/renice.c:157
+msgid "setpriority"
+msgstr "setpriority"
+
+#: sys-utils/renice.c:168
+#, c-format
+msgid "%d: old priority %d, new priority %d\n"
+msgstr "%d: prioridad antigua %d, nueva prioridad %d\n"
+
+#: sys-utils/rtcwake.c:81
+#, c-format
+msgid ""
+"usage: %s [options]\n"
+"    -d | --device <device>    select rtc device (rtc0|rtc1|...)\n"
+"    -l | --local              RTC uses local timezone\n"
+"    -m | --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"
+"    -V | --version            show version\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:140
+#, fuzzy
+msgid "read rtc time"
+msgstr "lectura/escritura"
+
+#: sys-utils/rtcwake.c:145
+msgid "read system time"
+msgstr ""
+
+#: sys-utils/rtcwake.c:163
+msgid "convert rtc time"
+msgstr ""
+
+#: sys-utils/rtcwake.c:222
+msgid "set rtc alarm"
+msgstr ""
+
+#: sys-utils/rtcwake.c:226
+msgid "enable rtc alarm"
+msgstr ""
+
+#: sys-utils/rtcwake.c:230
+msgid "set rtc wake alarm"
+msgstr ""
+
+#: sys-utils/rtcwake.c:342
+#, fuzzy, c-format
+msgid "%s: unrecognized suspend state '%s'\n"
+msgstr " %s: tipo de tabla de particiones no reconocido\n"
+
+#: sys-utils/rtcwake.c:351
+#, fuzzy, c-format
+msgid "%s: illegal interval %s seconds\n"
+msgstr "%s: clave ilegal (%s)\n"
+
+#: sys-utils/rtcwake.c:365
+#, fuzzy, c-format
+msgid "%s: illegal time_t value %s\n"
+msgstr "%s: opción ilegal -- %s\n"
+
+#: sys-utils/rtcwake.c:381
+#, fuzzy, c-format
+msgid "%s: version %s\n"
+msgstr "%s versión %s\n"
+
+#: sys-utils/rtcwake.c:394
+#, c-format
+msgid "%s: assuming RTC uses UTC ...\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:399
+#, fuzzy, c-format
+msgid "Using UTC time.\n"
+msgstr "Utilizando %s.\n"
+
+#: sys-utils/rtcwake.c:400
+#, fuzzy, c-format
+msgid "Using local time.\n"
+msgstr "Utilizando %s.\n"
+
+#: sys-utils/rtcwake.c:403
+#, c-format
+msgid "%s: must provide wake time\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:413
+#, fuzzy
+msgid "malloc() failed"
+msgstr "La asignación de memoria (malloc) ha fallado"
+
+#: sys-utils/rtcwake.c:425
+#, fuzzy, c-format
+msgid "%s: %s not enabled for wakeup events\n"
+msgstr "%s: %s no es un dispositivo lp.\n"
+
+#: sys-utils/rtcwake.c:441
+#, c-format
+msgid "alarm %ld, sys_time %ld, rtc_time %ld, seconds %u\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:446
+#, c-format
+msgid "%s: time doesn't go backward to %s\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:456
+#, fuzzy, c-format
+msgid "%s: wakeup from \"%s\" using %s at %s\n"
+msgstr "Mensaje de %s@%s el %s a las %s ..."
+
+#: sys-utils/rtcwake.c:473
+#, fuzzy
+msgid "rtc read"
+msgstr ", preparado"
+
+#: sys-utils/rtcwake.c:482
+msgid "disable rtc alarm interrupt"
+msgstr ""
+
+#: sys-utils/setarch.c:50
+#, c-format
+msgid "Switching on %s.\n"
+msgstr ""
+
+#: sys-utils/setarch.c:113
+#, c-format
+msgid ""
+"Usage: %s%s [options] [program [program arguments]]\n"
+"\n"
+"Options:\n"
+msgstr ""
+
+#: sys-utils/setarch.c:117
+#, c-format
+msgid ""
+" -h, --help               displays this help text\n"
+" -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"
+msgstr ""
+
+#: sys-utils/setarch.c:131
+#, c-format
+msgid ""
+"\n"
+"For more information see setarch(8).\n"
+msgstr ""
+
+#: sys-utils/setarch.c:143
+#, fuzzy, c-format
+msgid ""
+"%s: %s\n"
+"Try `%s --help' for more information.\n"
+msgstr "Escriba `getopt --help' para obtener más información.\n"
+
+#: sys-utils/setarch.c:215 sys-utils/setarch.c:231
+#, fuzzy, c-format
+msgid "%s: Unrecognized architecture"
+msgstr " %s: tipo de tabla de particiones no reconocido\n"
+
+#: sys-utils/setarch.c:249 sys-utils/setarch.c:256
+#, fuzzy
+msgid "Not enough arguments"
+msgstr "Hay demasiados argumentos.\n"
+
+#: sys-utils/setarch.c:265 sys-utils/setarch.c:318
+#, fuzzy, c-format
+msgid "Failed to set personality to %s"
+msgstr "Error al escribir la partición en %s\n"
+
+#: sys-utils/setsid.c:26
+#, c-format
+msgid "usage: %s program [arg ...]\n"
+msgstr "uso: %s programa [arg ...]\n"
+
+#: sys-utils/tunelp.c:75
+#, c-format
+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"
+
+#: sys-utils/tunelp.c:91
+msgid "malloc error"
+msgstr "Error de asignación de memoria"
+
+#: sys-utils/tunelp.c:103
+#, c-format
+msgid "%s: bad value\n"
+msgstr "%s: valor incorrecto\n"
+
+#: sys-utils/tunelp.c:242
+#, c-format
+msgid "%s: %s not an lp device.\n"
+msgstr "%s: %s no es un dispositivo lp.\n"
+
+#: sys-utils/tunelp.c:263
+#, c-format
+msgid "%s status is %d"
+msgstr "El estado de %s es %d"
+
+#: sys-utils/tunelp.c:264
+#, c-format
+msgid ", busy"
+msgstr ", ocupado"
+
+#: sys-utils/tunelp.c:265
+#, c-format
+msgid ", ready"
+msgstr ", preparado"
+
+#: sys-utils/tunelp.c:266
+#, c-format
+msgid ", out of paper"
+msgstr ", falta papel"
+
+#: sys-utils/tunelp.c:267
+#, c-format
+msgid ", on-line"
+msgstr ", en línea"
+
+#: sys-utils/tunelp.c:268
+#, c-format
+msgid ", error"
+msgstr ", error"
+
+#: sys-utils/tunelp.c:285
+msgid "LPGETIRQ error"
+msgstr "error de LPGETIRQ"
+
+#: sys-utils/tunelp.c:291
+#, c-format
+msgid "%s using IRQ %d\n"
+msgstr "%s utilizando IRQ %d\n"
+
+#: sys-utils/tunelp.c:293
+#, c-format
+msgid "%s using polling\n"
+msgstr "%s utilizando sondeo\n"
+
+#: text-utils/col.c:154
+#, c-format
+msgid "col: bad -l argument %s.\n"
+msgstr "col: argumento -l incorrecto %s.\n"
+
+#: text-utils/col.c:544
+#, c-format
+msgid "usage: col [-bfpx] [-l nline]\n"
+msgstr "uso: col [-bfpx] [-l nlínea]\n"
+
+#: text-utils/col.c:550
+#, c-format
+msgid "col: write error.\n"
+msgstr "col: error de escritura.\n"
+
+#: text-utils/col.c:557
+#, c-format
+msgid "col: warning: can't back up %s.\n"
+msgstr "col: atención: no se puede hacer copia de seguridad de %s.\n"
+
+#: text-utils/col.c:558
+msgid "past first line"
+msgstr "más allá de primera línea"
+
+#: text-utils/col.c:558
+msgid "-- line already flushed"
+msgstr "-- línea ya vaciada"
+
+#: text-utils/colcrt.c:97
+#, c-format
+msgid "usage: %s [ - ] [ -2 ] [ file ... ]\n"
+msgstr "uso: %s [ - ] [ -2 ] [ fichero ... ]\n"
+
+#: text-utils/column.c:297
+msgid "line too long"
+msgstr "línea demasiado larga"
+
+#: text-utils/column.c:374
+#, c-format
+msgid "usage: column [-tx] [-c columns] [file ...]\n"
+msgstr "uso: column [-tx] [-c columnas] [fichero ...]\n"
+
+#: text-utils/hexsyntax.c:82
+#, c-format
+msgid "hexdump: bad length value.\n"
+msgstr "hexdump: valor de longitud incorrecto.\n"
+
+#: text-utils/hexsyntax.c:93
+#, c-format
+msgid "hexdump: bad skip value.\n"
+msgstr "hexdump: valor de salto incorrecto.\n"
+
+#: text-utils/hexsyntax.c:131
+#, c-format
+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"
+
+#: text-utils/more.c:256
+#, c-format
+msgid "usage: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n"
+msgstr "uso: %s [-dflpcsu] [+númlíneas | +/patrón] nombre1 nombre2 ...\n"
+
+#: text-utils/more.c:479
+#, c-format
+msgid "%s: unknown option \"-%c\"\n"
+msgstr "%s: opción desconocida \"-%c\"\n"
+
+#: text-utils/more.c:511
+#, c-format
+msgid ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+msgstr ""
+"\n"
+"*** %s: directorio ***\n"
+"\n"
+
+#: text-utils/more.c:555
+#, 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:658
+#, c-format
+msgid "[Use q or Q to quit]"
+msgstr "[Utilizar q o Q para salir]"
+
+#: text-utils/more.c:750
+#, c-format
+msgid "--More--"
+msgstr "--Más--"
+
+#: text-utils/more.c:752
+#, c-format
+msgid "(Next file: %s)"
+msgstr "(Siguiente fichero: %s)"
+
+#: text-utils/more.c:757
+#, c-format
+msgid "[Press space to continue, 'q' to quit.]"
+msgstr "[Pulse la barra espaciadora para continuar; 'q' para salir.]"
+
+#: text-utils/more.c:1172
+#, c-format
+msgid "...back %d pages"
+msgstr "...retroceder %d páginas"
+
+#: text-utils/more.c:1174
+msgid "...back 1 page"
+msgstr "...retroceder 1 página"
+
+#: text-utils/more.c:1217
+msgid "...skipping one line"
+msgstr "...omitiendo una línea"
+
+#: text-utils/more.c:1219
+#, c-format
+msgid "...skipping %d lines"
+msgstr "...omitiendo %d líneas"
+
+#: text-utils/more.c:1256
+msgid ""
+"\n"
+"***Back***\n"
+"\n"
+msgstr ""
+"\n"
+"***Atrás***\n"
+"\n"
+
+#: text-utils/more.c:1294
+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:1301
+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:1370 text-utils/more.c:1375
+#, c-format
+msgid "[Press 'h' for instructions.]"
+msgstr "[Pulse 'h' para consultar las instrucciones.]"
+
+#: text-utils/more.c:1409
+#, c-format
+msgid "\"%s\" line %d"
+msgstr "\"%s\" línea %d"
+
+#: text-utils/more.c:1411
+#, c-format
+msgid "[Not a file] line %d"
+msgstr "[No es un fichero] línea %d"
+
+#: text-utils/more.c:1495
+msgid "  Overflow\n"
+msgstr "  Desbordamiento\n"
+
+#: text-utils/more.c:1542
+msgid "...skipping\n"
+msgstr "...omitiendo\n"
+
+#: text-utils/more.c:1571
+msgid "Regular expression botch"
+msgstr "Error en expresión regular"
+
+#: text-utils/more.c:1579
+msgid ""
+"\n"
+"Pattern not found\n"
+msgstr ""
+"\n"
+"Patrón no encontrado\n"
+
+#: text-utils/more.c:1582 text-utils/pg.c:1124 text-utils/pg.c:1275
+msgid "Pattern not found"
+msgstr "Patrón no encontrado"
+
+#: text-utils/more.c:1643
+msgid "can't fork\n"
+msgstr "no se puede bifurcar\n"
+
+#: text-utils/more.c:1682
+msgid ""
+"\n"
+"...Skipping "
+msgstr ""
+"\n"
+"...Saltando "
+
+#: text-utils/more.c:1686
+msgid "...Skipping to file "
+msgstr "...Saltando al fichero "
+
+#: text-utils/more.c:1688
+msgid "...Skipping back to file "
+msgstr "...Retrocediendo al fichero "
+
+#: text-utils/more.c:1966
+msgid "Line too long"
+msgstr "Línea demasiado larga"
+
+#: text-utils/more.c:2009
+msgid "No previous command to substitute for"
+msgstr "No hay ningún comando anterior para sustituir"
+
+#: text-utils/odsyntax.c:130
+#, c-format
+msgid "od: od(1) has been deprecated for hexdump(1).\n"
+msgstr "od: od(1) ha quedado obsoleto para hexdump(1).\n"
+
+#: text-utils/odsyntax.c:133
+#, c-format
+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"
+
+#: text-utils/odsyntax.c:134
+msgid "; see strings(1)."
+msgstr "; véase strings(1)."
+
+#: text-utils/parse.c:63
+#, c-format
+msgid "hexdump: can't read %s.\n"
+msgstr "hexdump: no se puede leer %s.\n"
+
+#: text-utils/parse.c:68
+#, c-format
+msgid "hexdump: line too long.\n"
+msgstr "hexdump: línea demasiado larga.\n"
+
+#: text-utils/parse.c:401
+#, c-format
+msgid "hexdump: byte count with multiple conversion characters.\n"
+msgstr "hexdump: número total de bytes con varios caracteres de conversión.\n"
+
+#: text-utils/parse.c:483
+#, c-format
+msgid "hexdump: bad byte count for conversion character %s.\n"
+msgstr ""
+"hexdump: número total de bytes incorrecto para carácter de conversión %s.\n"
+
+#: text-utils/parse.c:490
+#, c-format
+msgid "hexdump: %%s requires a precision or a byte count.\n"
+msgstr ""
+"hexdump: %%s requiere un valor de precisión o un número total de bytes.\n"
+
+#: text-utils/parse.c:496
+#, c-format
+msgid "hexdump: bad format {%s}\n"
+msgstr "hexdump: formato incorrecto {%s}\n"
+
+#: text-utils/parse.c:502
+#, c-format
+msgid "hexdump: bad conversion character %%%s.\n"
+msgstr "hexdump: carácter de conversión %%%s incorrecto.\n"
+
+#: text-utils/pg.c:145
+msgid ""
+"All rights reserved.\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"
+msgstr ""
+
+#: text-utils/pg.c:223
+#, fuzzy
+msgid "Out of memory\n"
+msgstr "No queda memoria"
+
+#: text-utils/pg.c:236
+#, c-format
+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"
+
+#: text-utils/pg.c:245
+#, c-format
+msgid "%s: option requires an argument -- %s\n"
+msgstr "%s: la opción necesita un argumento -- %s\n"
+
+#: text-utils/pg.c:253
+#, c-format
+msgid "%s: illegal option -- %s\n"
+msgstr "%s: opción ilegal -- %s\n"
+
+#: text-utils/pg.c:370
+msgid "...skipping forward\n"
+msgstr "...saltando hacia adelante\n"
+
+#: text-utils/pg.c:372
+msgid "...skipping backward\n"
+msgstr "...saltando hacia atrás\n"
+
+#: text-utils/pg.c:394
+msgid "No next file"
+msgstr "No hay ningún fichero siguiente"
+
+#: text-utils/pg.c:398
+msgid "No previous file"
+msgstr "No hay ningún fichero anterior"
+
+#: text-utils/pg.c:928
+#, c-format
+msgid "%s: Read error from %s file\n"
+msgstr "%s: Error de lectura en el fichero %s\n"
+
+#: text-utils/pg.c:934
+#, c-format
+msgid "%s: Unexpected EOF in %s file\n"
+msgstr "%s: EOF inesperado en el fichero %s\n"
+
+#: text-utils/pg.c:937
+#, c-format
+msgid "%s: Unknown error in %s file\n"
+msgstr "%s: Error desconocido en el fichero %s\n"
+
+#: text-utils/pg.c:1032
+#, c-format
+msgid "%s: Cannot create tempfile\n"
+msgstr "%s: No se puede crear un fichero temporal.\n"
+
+# ¿Qué significa?
+#: text-utils/pg.c:1041 text-utils/pg.c:1216 text-utils/pg.c:1243
+msgid "RE error: "
+msgstr "RE error:"
+
+#: text-utils/pg.c:1198
+msgid "(EOF)"
+msgstr "(EOF)"
+
+#: text-utils/pg.c:1224 text-utils/pg.c:1251
+msgid "No remembered search string"
+msgstr "No se recuerda ninguna cadena de búsqueda"
+
+#: text-utils/pg.c:1307
+msgid "Cannot open "
+msgstr "No se puede abrir "
+
+#: text-utils/pg.c:1355
+msgid "saved"
+msgstr "guardado"
+
+#: text-utils/pg.c:1462
+msgid ": !command not allowed in rflag mode.\n"
+msgstr ": no se permite !orden en el modo rflag.\n"
+
+#: text-utils/pg.c:1494
+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:1702
+msgid "(Next file: "
+msgstr "(Siguiente fichero: "
+
+#: text-utils/rev.c:113
+#, fuzzy
+msgid "unable to allocate bufferspace"
+msgstr "No se puede asignar espacio de búfer\n"
+
+#: text-utils/rev.c:143
+#, c-format
+msgid "usage: rev [file ...]\n"
+msgstr "uso: rev [fichero ...]\n"
+
+#: text-utils/tailf.c:57 text-utils/tailf.c:92
+#, fuzzy, c-format
+msgid "cannot open \"%s\" for read"
+msgstr "No se puede abrir %s para lectura\n"
+
+#: text-utils/tailf.c:95 text-utils/tailf.c:214
+#, fuzzy, c-format
+msgid "cannot stat \"%s\""
+msgstr "No se puede efectuar `stat' sobre el dispositivo %s"
+
+#: text-utils/tailf.c:108
+#, c-format
+msgid "incomplete write to \"%s\" (written %zd, expected %zd)\n"
+msgstr ""
+
+#: text-utils/tailf.c:146
+#, c-format
+msgid "%s: cannot add inotify watch (limit of inotify watches was reached)."
+msgstr ""
+
+#: text-utils/tailf.c:150
+#, c-format
+msgid "%s: cannot add inotify watch."
+msgstr ""
+
+#: text-utils/tailf.c:159
+#, fuzzy, c-format
+msgid "%s: cannot read inotify events"
+msgstr "%s: no se puede abrir %s\n"
+
+#: text-utils/tailf.c:198 text-utils/tailf.c:202
+#, fuzzy
+msgid "invalid number of lines"
+msgstr "Número `%s' inválido\n"
+
+#: text-utils/tailf.c:209
+#, fuzzy
+msgid "usage: tailf [-n N | -N] logfile"
+msgstr "uso: %s [fichero]\n"
+
+#: text-utils/ul.c:141
+#, c-format
+msgid "usage: %s [ -i ] [ -tTerm ] file...\n"
+msgstr "uso: %s [ -i ] [ -tTerminal ] fichero...\n"
+
+#: text-utils/ul.c:152
+#, c-format
+msgid "trouble reading terminfo"
+msgstr "Problemas al leer terminfo"
+
+#: text-utils/ul.c:242
+#, c-format
+msgid "Unknown escape sequence in input: %o, %o\n"
+msgstr "Secuencia de escape desconocida en entrada: %o, %o\n"
+
+#: text-utils/ul.c:425
+#, c-format
+msgid "Unable to allocate buffer.\n"
+msgstr "No se puede asignar el búfer.\n"
+
+#: text-utils/ul.c:586
+#, c-format
+msgid "Input line too long.\n"
+msgstr "Línea de entrada demasiado larga.\n"
+
+#: text-utils/ul.c:599
+#, c-format
+msgid "Out of memory when growing buffer.\n"
+msgstr "No queda memoria al aumentar el tamaño del búfer.\n"
+
+#~ msgid "# partition table of %s\n"
+#~ msgstr "# tabla de particiones de %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "unit: sectors\n"
+#~ "\n"
+#~ msgstr "%lld sectores no asignados\n"
+
+#, fuzzy
+#~ msgid " start=%9lu"
+#~ msgstr "comienzo"
+
+#, fuzzy
+#~ msgid ", size=%9lu"
+#~ msgstr "Tamaño máximo=%ld\n"
+
+#, fuzzy
+#~ msgid ", bootable"
+#~ msgstr "AIX bootable"
+
+#, fuzzy
+#~ msgid "Clock in UTC, not changed.\n"
+#~ msgstr "No se ha cambiado el intérprete de órdenes.\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"
+
+#, 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 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 "namei: unable to get current directory - %s\n"
+#~ msgstr "namei: no se puede obtener el directorio actual - %s\n"
+
+#~ msgid "namei: unable to chdir to %s - %s (%d)\n"
+#~ msgstr "namei: no se puede ejecutar chdir para %s - %s (%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"
+
+#, 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"
+
+#, fuzzy
+#~ msgid "%s: cannot fork: %s\n"
+#~ msgstr "%s: no se puede bifurcar (fork)\n"
+
+#, fuzzy
+#~ msgid "%s: waitpid: %s\n"
+#~ msgstr "%s: fallo al abrir %s\n"
+
+#, fuzzy
+#~ msgid "%s: cannot stat %s: %s\n"
+#~ msgstr "swapon: no se puede ejecutar stat para %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"
+
+#, fuzzy
+#~ msgid "chfn: PAM Failure, aborting: %s\n"
+#~ msgstr "login: error de PAM; anulando: %s\n"
+
+#~ msgid "Can't read %s, exiting."
+#~ msgstr "No se puede leer %s; saliendo."
+
+#~ msgid "login: PAM Failure, aborting: %s\n"
+#~ msgstr "login: error de PAM; anulando: %s\n"
+
+#~ 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"
+
+#~ 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"
+
+#~ 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 "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 se ha podido leer %s y no se puede efectuar vuelco de ioctl\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#"
+
+#, 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 ""
+#~ "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 "Autoconfigure failed.\n"
+#~ msgstr "Error de configuración automática.\n"
+
+#~ 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 from %s%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: cannot find %s in %s"
+#~ msgstr "mount: no se puede encontrar %s en %s"
+
+#~ 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: fs type %s not supported by kernel"
+#~ msgstr ""
+#~ "mount: el tipo de sistema de ficheros %s no está soportado por el núcleo"
+
+#~ 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 "number `%s' to `%s' out of range\n"
+#~ msgstr "El número de `%s' a `%s' está fuera de rango\n"
+
+#~ 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 "new "
+#~ msgstr "nuevo "
+
+#~ 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 "Warning: partition %s contains part of "
+#~ msgstr "Atención: la partición %s contiene parte de "
+
+#~ msgid "the partition table (sector %lu),\n"
+#~ msgstr "la tabla de particiones (sector %lu),\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 "Usage: %s [ -s shell ] "
+#~ msgstr "Uso: %s [ -s intérprete_órdenes ] "
+
+#~ 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 "Cannot open /dev/port"
+#~ msgstr "No se puede abrir /dev/port"
+
+#~ msgid "Writing disklabel to %s%d.\n"
+#~ msgstr "Escribiendo etiqueta de disco en %s%d.\n"
+
+#~ msgid "%s%d contains no disklabel.\n"
+#~ msgstr "%s%d no contiene ninguna etiqueta de disco.\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 "exec rc failed\n"
+#~ msgstr "La ejecución (exec) de rc ha fallado\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 (file)
index 0000000..f2313cf
Binary files /dev/null and b/po/et.gmo differ
diff --git a/po/et.po b/po/et.po
new file mode 100644 (file)
index 0000000..f828926
--- /dev/null
+++ b/po/et.po
@@ -0,0 +1,11739 @@
+# 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: Karel Zak <kzak@redhat.com>\n"
+"POT-Creation-Date: 2009-11-30 16:27+0100\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"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-15\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: disk-utils/blockdev.c:37
+msgid "set read-only"
+msgstr ""
+
+#: disk-utils/blockdev.c:38
+msgid "set read-write"
+msgstr ""
+
+#: disk-utils/blockdev.c:39
+msgid "get read-only"
+msgstr ""
+
+#: disk-utils/blockdev.c:40
+msgid "get sectorsize"
+msgstr ""
+
+#: disk-utils/blockdev.c:41
+msgid "get blocksize"
+msgstr ""
+
+#: disk-utils/blockdev.c:42
+msgid "set blocksize"
+msgstr ""
+
+#: disk-utils/blockdev.c:43
+msgid "get 32-bit sector count"
+msgstr ""
+
+#: disk-utils/blockdev.c:44
+msgid "get size in bytes"
+msgstr ""
+
+#: disk-utils/blockdev.c:45
+msgid "set readahead"
+msgstr ""
+
+#: disk-utils/blockdev.c:46
+msgid "get readahead"
+msgstr ""
+
+#: disk-utils/blockdev.c:47
+msgid "set filesystem readahead"
+msgstr ""
+
+#: disk-utils/blockdev.c:48
+msgid "get filesystem readahead"
+msgstr ""
+
+#: disk-utils/blockdev.c:49
+msgid "flush buffers"
+msgstr ""
+
+#: disk-utils/blockdev.c:51
+msgid "reread partition table"
+msgstr ""
+
+#: disk-utils/blockdev.c:60
+#, c-format
+msgid "Usage:\n"
+msgstr "kasutamine:\n"
+
+#: disk-utils/blockdev.c:62
+#, c-format
+msgid "  %s --report [devices]\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:63
+#, c-format
+msgid "  %s [-v|-q] commands devices\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:66
+#, c-format
+msgid "Available commands:\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:68
+msgid "get size in 512-byte sectors"
+msgstr ""
+
+#: disk-utils/blockdev.c:201
+#, c-format
+msgid "%s: Unknown command: %s\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:213 disk-utils/blockdev.c:222
+#, c-format
+msgid "%s requires an argument\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:255
+#, fuzzy, c-format
+msgid "%s failed.\n"
+msgstr "seek ei õnnestunud"
+
+#: disk-utils/blockdev.c:292
+#, c-format
+msgid "%s succeeded.\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:310 disk-utils/blockdev.c:338
+#, c-format
+msgid "%s: cannot open %s\n"
+msgstr "%s: Ei suuda avada faili %s\n"
+
+#: disk-utils/blockdev.c:355
+#, c-format
+msgid "%s: ioctl error on %s\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:364
+#, c-format
+msgid "RO    RA   SSZ   BSZ   StartSec            Size   Device\n"
+msgstr ""
+
+#: disk-utils/elvtune.c:48
+#, c-format
+msgid "usage:\n"
+msgstr "Kasutamine:\n"
+
+#: disk-utils/elvtune.c:53
+#, c-format
+msgid "\tNOTE: elvtune only works with 2.4 kernels\n"
+msgstr ""
+
+#: disk-utils/elvtune.c:104
+#, fuzzy, c-format
+msgid "parse error\n"
+msgstr "positsioneerimise viga"
+
+#: disk-utils/elvtune.c:110
+#, c-format
+msgid "missing blockdevice, use -h for help\n"
+msgstr ""
+
+#: disk-utils/elvtune.c:131
+#, 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:31
+#, c-format
+msgid "Formatting ... "
+msgstr "Formaadin ... "
+
+#: disk-utils/fdformat.c:49 disk-utils/fdformat.c:86
+#, c-format
+msgid "done\n"
+msgstr "valmis\n"
+
+#: disk-utils/fdformat.c:60
+#, 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:80
+#, c-format
+msgid ""
+"bad data in cyl %d\n"
+"Continuing ... "
+msgstr ""
+"Halvad andmed silindril %d\n"
+"Jätkan ... "
+
+#: disk-utils/fdformat.c:96
+#, c-format
+msgid "usage: %s [ -n ] device\n"
+msgstr "Kasutamine: %s [ -n ] seade\n"
+
+#: disk-utils/fdformat.c:118 disk-utils/fsck.minix.c:1282
+#: disk-utils/isosize.c:181 disk-utils/mkfs.bfs.c:115 disk-utils/mkfs.c:52
+#: disk-utils/mkfs.cramfs.c:813 disk-utils/mkfs.minix.c:571
+#: disk-utils/mkswap.c:461 misc-utils/ddate.c:179 misc-utils/rename.c:79
+#: misc-utils/script.c:147 sys-utils/readprofile.c:197
+#, fuzzy, c-format
+msgid "%s (%s)\n"
+msgstr "%s: %s (%s)\n"
+
+#: disk-utils/fdformat.c:132
+#, fuzzy, c-format
+msgid "%s: not a block device\n"
+msgstr "%s pole flopiseade\n"
+
+#: disk-utils/fdformat.c:142
+msgid "Could not determine current format type"
+msgstr "Ei suuda kindlaks teha formaatimise parameetreid"
+
+#: disk-utils/fdformat.c:143
+#, 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:144
+msgid "Double"
+msgstr "Kahe"
+
+#: disk-utils/fdformat.c:144
+msgid "Single"
+msgstr "Ühe"
+
+#: disk-utils/fsck.cramfs.c:118
+#, c-format
+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 ""
+
+#: disk-utils/fsck.cramfs.c:164
+#, fuzzy, c-format
+msgid "stat failed: %s"
+msgstr "%s: Avamine ei õnnestunud: %s\n"
+
+#: disk-utils/fsck.cramfs.c:168 disk-utils/fsck.cramfs.c:552
+#, fuzzy, c-format
+msgid "open failed: %s"
+msgstr "Ei suuda avada faili `%s'"
+
+#: disk-utils/fsck.cramfs.c:173
+#, c-format
+msgid "ioctl failed: unable to determine device size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:181
+#, fuzzy, c-format
+msgid "not a block device or file: %s"
+msgstr "%s pole flopiseade\n"
+
+#: disk-utils/fsck.cramfs.c:185 disk-utils/fsck.cramfs.c:227
+msgid "file length too short"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:190 disk-utils/fsck.cramfs.c:198
+#: disk-utils/fsck.cramfs.c:259 disk-utils/fsck.cramfs.c:279
+#, fuzzy, c-format
+msgid "read failed: %s"
+msgstr "vigane kiirus: %s"
+
+#: disk-utils/fsck.cramfs.c:208
+msgid "superblock magic not found"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:217
+#, fuzzy
+msgid "unsupported filesystem features"
+msgstr "Sisestage failisüsteemi tüübi number: "
+
+#: disk-utils/fsck.cramfs.c:220
+#, fuzzy, c-format
+msgid "superblock size (%d) too small"
+msgstr "Sisetage sektorite arv"
+
+#: disk-utils/fsck.cramfs.c:224
+msgid "zero file count"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:230
+#, 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:234
+#, c-format
+msgid "warning: old cramfs format\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:247
+msgid "unable to test CRC: old cramfs format"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:273 disk-utils/fsck.cramfs.c:340
+#: disk-utils/fsck.cramfs.c:478 login-utils/chfn.c:529 login-utils/chsh.c:439
+#: sys-utils/cytune.c:321
+msgid "malloc failed"
+msgstr "Mälu sai otsa"
+
+#: disk-utils/fsck.cramfs.c:298
+#, fuzzy
+msgid "crc error"
+msgstr "positsioneerimise viga"
+
+#: disk-utils/fsck.cramfs.c:365
+#, fuzzy
+msgid "root inode is not directory"
+msgstr "juurkataloogi i-kirje ei kirjelda kataloogi"
+
+#: disk-utils/fsck.cramfs.c:370
+#, c-format
+msgid "bad root offset (%lu)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:388
+msgid "data block too large"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:392
+#, c-format
+msgid "decompression error %p(%d): %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:416
+#, fuzzy, c-format
+msgid "  hole at %ld (%zd)\n"
+msgstr "peaks olema (%d, %d, %d)\n"
+
+#: disk-utils/fsck.cramfs.c:424 disk-utils/fsck.cramfs.c:596
+#, c-format
+msgid "  uncompressing block at %ld to %ld (%ld)\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:430
+#, c-format
+msgid "non-block (%ld) bytes"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:434
+#, c-format
+msgid "non-size (%ld vs %ld) bytes"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:440
+#, fuzzy, c-format
+msgid "write failed: %s"
+msgstr "%s avamine ei õnnestunud"
+
+#: disk-utils/fsck.cramfs.c:453
+#, fuzzy, c-format
+msgid "lchown failed: %s"
+msgstr "login: Viga fork'imisel: %s"
+
+#: disk-utils/fsck.cramfs.c:459
+#, fuzzy, c-format
+msgid "chown failed: %s"
+msgstr "chdir () kataloogi /dev ei õnnestunud: %m"
+
+#: disk-utils/fsck.cramfs.c:466
+#, fuzzy, c-format
+msgid "utime failed: %s"
+msgstr "vigane taimadi väärtus: %s"
+
+#: disk-utils/fsck.cramfs.c:481
+#, c-format
+msgid "directory inode has zero offset and non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:495
+#, fuzzy, c-format
+msgid "mkdir failed: %s"
+msgstr "chdir () kataloogi /dev ei õnnestunud: %m"
+
+#: disk-utils/fsck.cramfs.c:512
+msgid "filename length is zero"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:515
+msgid "bad filename length"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:522
+#, fuzzy
+msgid "bad inode offset"
+msgstr "vigane i-kirje suurus"
+
+#: disk-utils/fsck.cramfs.c:538
+msgid "file inode has zero offset and non-zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:541
+msgid "file inode has zero size and non-zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:572
+msgid "symbolic link has zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:575
+msgid "symbolic link has zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:587
+#, fuzzy, c-format
+msgid "size error in symlink: %s"
+msgstr "Kirjutamise viga seadmel %s\n"
+
+#: disk-utils/fsck.cramfs.c:602
+#, fuzzy, c-format
+msgid "symlink failed: %s"
+msgstr "fsync ei õnnestunud"
+
+#: disk-utils/fsck.cramfs.c:614
+#, c-format
+msgid "special file has non-zero offset: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:626
+#, c-format
+msgid "fifo has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:632
+#, c-format
+msgid "socket has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:637
+#, c-format
+msgid "bogus mode: %s (%o)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:647
+#, fuzzy, c-format
+msgid "mknod failed: %s"
+msgstr "Mälu sai otsa"
+
+#: disk-utils/fsck.cramfs.c:683
+#, c-format
+msgid "directory data start (%ld) < sizeof(struct cramfs_super) + start (%ld)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:686
+#, c-format
+msgid "directory data end (%ld) != file data start (%ld)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:691
+msgid "invalid file data offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:715
+#, fuzzy
+msgid "failed to allocate outbuffer"
+msgstr "ei jätku mälu kaartide puhvritele"
+
+#: disk-utils/fsck.cramfs.c:728
+#, fuzzy
+msgid "compiled without -x support"
+msgstr "%s pole kompileeritud minix v2 toega\n"
+
+#: disk-utils/fsck.minix.c:210
+#, c-format
+msgid "Usage: %s [-larvsmf] /dev/name\n"
+msgstr "Kasutamine: %s [-larvsmf] /dev/seade\n"
+
+#: disk-utils/fsck.minix.c:326
+#, c-format
+msgid "%s is mounted.\t "
+msgstr "%s on monteeritud. "
+
+#: disk-utils/fsck.minix.c:328
+msgid "Do you really want to continue"
+msgstr "Kas Te soovite tõesti jätkata"
+
+#: disk-utils/fsck.minix.c:332
+#, c-format
+msgid "check aborted.\n"
+msgstr "katkestan kontrolli\n"
+
+#: disk-utils/fsck.minix.c:351 disk-utils/fsck.minix.c:374
+#, c-format
+msgid "Zone nr < FIRSTZONE in file `%s'."
+msgstr "Tsooni nr. < FIRSTZONE failis `%s'"
+
+#: disk-utils/fsck.minix.c:355 disk-utils/fsck.minix.c:378
+#, c-format
+msgid "Zone nr >= ZONES in file `%s'."
+msgstr "Tsooni nr. >= ZONES failis `%s'"
+
+#: disk-utils/fsck.minix.c:360 disk-utils/fsck.minix.c:383
+msgid "Remove block"
+msgstr "Kas eemaldada plokk"
+
+#: disk-utils/fsck.minix.c:401
+#, 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:407
+#, c-format
+msgid "Read error: bad block in file '%s'\n"
+msgstr "Viga lugemisel: vigane plokk failis `%s'\n"
+
+#: disk-utils/fsck.minix.c:422
+#, 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:428 disk-utils/mkfs.minix.c:209
+msgid "seek failed in write_block"
+msgstr "seek ei õnnestunud ploki kirjutamisel"
+
+#: disk-utils/fsck.minix.c:431
+#, c-format
+msgid "Write error: bad block in file '%s'\n"
+msgstr "Viga kirjutamisel: vigane plokk failis `%s'\n"
+
+#: disk-utils/fsck.minix.c:547
+msgid "seek failed in write_super_block"
+msgstr "seek ei õnnestunud superploki kirjutamisel"
+
+#: disk-utils/fsck.minix.c:549 disk-utils/mkfs.minix.c:196
+msgid "unable to write super-block"
+msgstr "ei suuda kirjutada superplokki"
+
+#: disk-utils/fsck.minix.c:559
+msgid "Unable to write inode map"
+msgstr "ei suuda kirjutada i-kirjete kaarti"
+
+#: disk-utils/fsck.minix.c:561
+msgid "Unable to write zone map"
+msgstr "ei suuda kirjutada tsoonide kaarti"
+
+#: disk-utils/fsck.minix.c:563
+msgid "Unable to write inodes"
+msgstr "ei suuda kirjutada i-kirjeid"
+
+#: disk-utils/fsck.minix.c:590
+msgid "seek failed"
+msgstr "seek ei õnnestunud"
+
+#: disk-utils/fsck.minix.c:592
+msgid "unable to read super block"
+msgstr "ei suuda lugeda superplokki"
+
+#: disk-utils/fsck.minix.c:610
+msgid "bad magic number in super-block"
+msgstr "vigane maagiline number superplokis"
+
+#: disk-utils/fsck.minix.c:612
+msgid "Only 1k blocks/zones supported"
+msgstr "Ainult 1k plokid ja tsoonid on toetatud"
+
+#: disk-utils/fsck.minix.c:614
+msgid "bad s_imap_blocks field in super-block"
+msgstr "vigane s_imap_blocks väli superplokis"
+
+#: disk-utils/fsck.minix.c:616
+msgid "bad s_zmap_blocks field in super-block"
+msgstr "vigane s_zmap_blocks väli superplokis"
+
+#: disk-utils/fsck.minix.c:623
+msgid "Unable to allocate buffer for inode map"
+msgstr "ei jätku mälu i-kirjete kaardile"
+
+#: disk-utils/fsck.minix.c:626
+#, fuzzy
+msgid "Unable to allocate buffer for zone map"
+msgstr "ei jätku mälu i-kirjete kaardile"
+
+#: disk-utils/fsck.minix.c:631
+msgid "Unable to allocate buffer for inodes"
+msgstr "ei jätku mälu i-kirjete puhvrile"
+
+#: disk-utils/fsck.minix.c:634
+msgid "Unable to allocate buffer for inode count"
+msgstr "ei jätku mälu i-kirjete loendurile"
+
+#: disk-utils/fsck.minix.c:637
+msgid "Unable to allocate buffer for zone count"
+msgstr "ei jätku mälu tsoonide loendurile"
+
+#: disk-utils/fsck.minix.c:639
+msgid "Unable to read inode map"
+msgstr "ei suuda lugeda i-kirjete kaarti"
+
+#: disk-utils/fsck.minix.c:641
+msgid "Unable to read zone map"
+msgstr "ei suuda lugeda tsoonide kaarti"
+
+#: disk-utils/fsck.minix.c:643
+msgid "Unable to read inodes"
+msgstr "ei suuda lugeda i-kirjeid"
+
+#: disk-utils/fsck.minix.c:645
+#, c-format
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr "Hoiatus: Firstzone != Norm_firstzone\n"
+
+#: disk-utils/fsck.minix.c:650 disk-utils/mkfs.minix.c:450
+#, c-format
+msgid "%ld inodes\n"
+msgstr "%ld i-kirjet\n"
+
+#: disk-utils/fsck.minix.c:651 disk-utils/mkfs.minix.c:451
+#, c-format
+msgid "%ld blocks\n"
+msgstr "%ld plokki\n"
+
+#: disk-utils/fsck.minix.c:652 disk-utils/mkfs.minix.c:452
+#, c-format
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr "Esimene andmete tsoon=%ld (%ld)\n"
+
+#: disk-utils/fsck.minix.c:653 disk-utils/mkfs.minix.c:453
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr "Tsooni suurus=%d\n"
+
+#: disk-utils/fsck.minix.c:654
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr "Max. suurus=%ld\n"
+
+#: disk-utils/fsck.minix.c:655
+#, c-format
+msgid "Filesystem state=%d\n"
+msgstr "Failisüsteemi olek=%d\n"
+
+#: disk-utils/fsck.minix.c:656
+#, c-format
+msgid ""
+"namelen=%d\n"
+"\n"
+msgstr ""
+"nime pikkus=%d\n"
+"\n"
+
+#: disk-utils/fsck.minix.c:671 disk-utils/fsck.minix.c:722
+#, 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:675 disk-utils/fsck.minix.c:726
+msgid "Mark in use"
+msgstr "Märkida kasutatuks"
+
+#: disk-utils/fsck.minix.c:697 disk-utils/fsck.minix.c:746
+#, c-format
+msgid "The file `%s' has mode %05o\n"
+msgstr "Fail `%s' on moodiga %05o\n"
+
+#: disk-utils/fsck.minix.c:704 disk-utils/fsck.minix.c:752
+#, c-format
+msgid "Warning: inode count too big.\n"
+msgstr "Hoiatus: i-kirjete arv on liiga suur\n"
+
+#: disk-utils/fsck.minix.c:764 disk-utils/fsck.minix.c:772
+msgid "root inode isn't a directory"
+msgstr "juurkataloogi i-kirje ei kirjelda kataloogi"
+
+#: disk-utils/fsck.minix.c:786 disk-utils/fsck.minix.c:819
+#, 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:788 disk-utils/fsck.minix.c:821
+#: disk-utils/fsck.minix.c:1144 disk-utils/fsck.minix.c:1153
+#: disk-utils/fsck.minix.c:1199 disk-utils/fsck.minix.c:1208
+msgid "Clear"
+msgstr "Kas puhastada"
+
+#: disk-utils/fsck.minix.c:798 disk-utils/fsck.minix.c:831
+#, 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:800 disk-utils/fsck.minix.c:833
+msgid "Correct"
+msgstr "Kas parandada"
+
+#: disk-utils/fsck.minix.c:972 disk-utils/fsck.minix.c:1039
+#, 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:975 disk-utils/fsck.minix.c:1042
+msgid " Remove"
+msgstr " Kas eemaldada"
+
+#: disk-utils/fsck.minix.c:989 disk-utils/fsck.minix.c:1056
+#, c-format
+msgid "%s: bad directory: '.' isn't first\n"
+msgstr "`%s': vigane kataloog: `.' pole esimene\n"
+
+#: disk-utils/fsck.minix.c:997 disk-utils/fsck.minix.c:1065
+#, c-format
+msgid "%s: bad directory: '..' isn't second\n"
+msgstr "`%s': vigane kataloog: `..' pole teine\n"
+
+#: disk-utils/fsck.minix.c:1099 disk-utils/fsck.minix.c:1117
+msgid "internal error"
+msgstr "sisemine viga"
+
+#: disk-utils/fsck.minix.c:1102 disk-utils/fsck.minix.c:1120
+#, c-format
+msgid "%s: bad directory: size < 32"
+msgstr "`%s': vigane kataloog: suurus < 32"
+
+#: disk-utils/fsck.minix.c:1133
+msgid "seek failed in bad_zone"
+msgstr "seek ei õnnestunud funktsioonis bad_zone"
+
+#: disk-utils/fsck.minix.c:1143 disk-utils/fsck.minix.c:1198
+#, c-format
+msgid "Inode %d mode not cleared."
+msgstr "I-kirje %d moodi ei puhastatud."
+
+#: disk-utils/fsck.minix.c:1152 disk-utils/fsck.minix.c:1207
+#, c-format
+msgid "Inode %d not used, marked used in the bitmap."
+msgstr "I-kirje %d pole kasutusel, märgitud kasutatuks bitmapis."
+
+#: disk-utils/fsck.minix.c:1158 disk-utils/fsck.minix.c:1213
+#, c-format
+msgid "Inode %d used, marked unused in the bitmap."
+msgstr "I-kirje %d on kasutusel, märgitud mittekasutatuks bitmapis."
+
+#: disk-utils/fsck.minix.c:1160 disk-utils/fsck.minix.c:1214
+msgid "Set"
+msgstr "Seada bitt bitmapis"
+
+#: disk-utils/fsck.minix.c:1164 disk-utils/fsck.minix.c:1218
+#, c-format
+msgid "Inode %d (mode = %07o), i_nlinks=%d, counted=%d."
+msgstr "I-kirje %d (mood = %07o), i_nlinks=%d, loendatud=%d."
+
+#: disk-utils/fsck.minix.c:1166 disk-utils/fsck.minix.c:1220
+msgid "Set i_nlinks to count"
+msgstr "Seada i_nlinks loendatud arvuks"
+
+#: disk-utils/fsck.minix.c:1178 disk-utils/fsck.minix.c:1232
+#, c-format
+msgid "Zone %d: marked in use, no file uses it."
+msgstr "Tsoon %d; märgitud kasutatuks, kuid ükski fail ei kasuta seda."
+
+#: disk-utils/fsck.minix.c:1179 disk-utils/fsck.minix.c:1234
+msgid "Unmark"
+msgstr "Märkida mittekasutatuks"
+
+#: disk-utils/fsck.minix.c:1184 disk-utils/fsck.minix.c:1239
+#, c-format
+msgid "Zone %d: in use, counted=%d\n"
+msgstr "Tsoon %d: kasutusel, loendatud=%d\n"
+
+#: disk-utils/fsck.minix.c:1187 disk-utils/fsck.minix.c:1242
+#, c-format
+msgid "Zone %d: not in use, counted=%d\n"
+msgstr "Tsoon %d: kasutusel, loendatud=%d\n"
+
+#: disk-utils/fsck.minix.c:1287 disk-utils/mkfs.minix.c:576
+#: disk-utils/mkfs.minix.c:578
+msgid "bad inode size"
+msgstr "vigane i-kirje suurus"
+
+#: disk-utils/fsck.minix.c:1289
+msgid "bad v2 inode size"
+msgstr "vigane v2 i-kirje suurus"
+
+#: disk-utils/fsck.minix.c:1315
+msgid "need terminal for interactive repairs"
+msgstr "interaktiivseks parandamiseks on vaja terminali"
+
+#: disk-utils/fsck.minix.c:1319
+#, fuzzy, c-format
+msgid "unable to open '%s': %s"
+msgstr "ei suuda avada seadet %s"
+
+#: disk-utils/fsck.minix.c:1334
+#, c-format
+msgid "%s is clean, no check.\n"
+msgstr "%s on puhas ega vaja kontrolli\n"
+
+#: disk-utils/fsck.minix.c:1338
+#, c-format
+msgid "Forcing filesystem check on %s.\n"
+msgstr "Pealesunnitud kontroll failisüsteemil %s\n"
+
+#: disk-utils/fsck.minix.c:1340
+#, 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:1373
+#, c-format
+msgid ""
+"\n"
+"%6ld inodes used (%ld%%)\n"
+msgstr ""
+"\n"
+"%6ld i-kirjet kasutusel (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1378
+#, c-format
+msgid "%6ld zones used (%ld%%)\n"
+msgstr "%6ld tsooni kasutusel (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1380
+#, 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:1393
+#, c-format
+msgid ""
+"----------------------------\n"
+"FILE SYSTEM HAS BEEN CHANGED\n"
+"----------------------------\n"
+msgstr ""
+"--------------------------\n"
+"FAILISÜSTEEMI SAI MUUDETUD\n"
+"--------------------------\n"
+
+#: disk-utils/isosize.c:129
+#, c-format
+msgid "%s: failed to open: %s\n"
+msgstr "%s: Avamine ei õnnestunud: %s\n"
+
+#: disk-utils/isosize.c:135
+#, c-format
+msgid "%s: seek error on %s\n"
+msgstr "%s: seekimise viga failis %s\n"
+
+#: disk-utils/isosize.c:141
+#, c-format
+msgid "%s: read error on %s\n"
+msgstr "%s: lugemise viga failis %s\n"
+
+#: disk-utils/isosize.c:150
+#, c-format
+msgid "sector count: %d, sector size: %d\n"
+msgstr "sektorite arv: %d, sektori suurus: %d\n"
+
+#: disk-utils/isosize.c:200
+#, c-format
+msgid "%s: option parse error\n"
+msgstr "%s: viga võtmete analüüsimisel\n"
+
+#: disk-utils/isosize.c:208
+#, c-format
+msgid "Usage: %s [-x] [-d <num>] iso9660-image\n"
+msgstr "Kasutamine: %s [-x] [-d <num>] iso9660-image\n"
+
+#: disk-utils/mkfs.bfs.c:84
+#, c-format
+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"
+
+#: disk-utils/mkfs.bfs.c:131
+msgid "volume name too long"
+msgstr "köite nimi on liiga pikk"
+
+#: disk-utils/mkfs.bfs.c:138
+msgid "fsname name too long"
+msgstr "fs-nimi on liiga pikk"
+
+#: disk-utils/mkfs.bfs.c:163
+#, c-format
+msgid "cannot stat device %s"
+msgstr "stat(%s) ei õnnestunud"
+
+#: disk-utils/mkfs.bfs.c:167
+#, c-format
+msgid "%s is not a block special device"
+msgstr "%s pole plokkseade"
+
+#: disk-utils/mkfs.bfs.c:172 sys-utils/ldattach.c:205
+#, c-format
+msgid "cannot open %s"
+msgstr "ei suuda avada seadet %s"
+
+#: disk-utils/mkfs.bfs.c:183
+#, c-format
+msgid "cannot get size of %s"
+msgstr "ei suuda kindlaks teha seadme %s mahtu"
+
+#: disk-utils/mkfs.bfs.c:188
+#, 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:203
+msgid "too many inodes - max is 512"
+msgstr "liiga palju i-kirjeid - maksimum on 512"
+
+#: disk-utils/mkfs.bfs.c:212
+#, 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:224 fdisk/fdisk.c:2345
+#, c-format
+msgid "Device: %s\n"
+msgstr "Seade: %s\n"
+
+#: disk-utils/mkfs.bfs.c:225
+#, c-format
+msgid "Volume: <%-6s>\n"
+msgstr "Köide: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:226
+#, c-format
+msgid "FSname: <%-6s>\n"
+msgstr "FSnimi: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:227
+#, c-format
+msgid "BlockSize: %d\n"
+msgstr "Ploki suurus: %d\n"
+
+#: disk-utils/mkfs.bfs.c:229
+#, c-format
+msgid "Inodes: %d (in 1 block)\n"
+msgstr "I-kirjeid: %d (1 plokis)\n"
+
+#: disk-utils/mkfs.bfs.c:232
+#, fuzzy, c-format
+msgid "Inodes: %d (in %lld blocks)\n"
+msgstr "I-kirjeid: %d (%ld plokis)\n"
+
+#: disk-utils/mkfs.bfs.c:234
+#, fuzzy, c-format
+msgid "Blocks: %lld\n"
+msgstr "Plokke: %ld\n"
+
+#: disk-utils/mkfs.bfs.c:235
+#, 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:240
+msgid "error writing superblock"
+msgstr "viga superploki kirjutamisel"
+
+#: disk-utils/mkfs.bfs.c:260
+msgid "error writing root inode"
+msgstr "viga tipmise i-kirje kirjutamisel"
+
+#: disk-utils/mkfs.bfs.c:265
+msgid "error writing inode"
+msgstr "viga i-kirje kirjutamisel"
+
+#: disk-utils/mkfs.bfs.c:268
+msgid "seek error"
+msgstr "positsioneerimise viga"
+
+#: disk-utils/mkfs.bfs.c:274
+msgid "error writing . entry"
+msgstr "viga . kirje kirjutamisel"
+
+#: disk-utils/mkfs.bfs.c:278
+msgid "error writing .. entry"
+msgstr "viga .. kirje kirjutamisel"
+
+#: disk-utils/mkfs.bfs.c:282
+#, c-format
+msgid "error closing %s"
+msgstr "viga %s sulgemisel"
+
+#: disk-utils/mkfs.c:73
+#, c-format
+msgid "Usage: mkfs [-V] [-t fstype] [fs-options] device [size]\n"
+msgstr "Kasutamine: mkfs [-V] [-t fstüüp] [fs-võtmed] seade [suurus]\n"
+
+#: disk-utils/mkfs.c:88 disk-utils/mkfs.c:96 fdisk/cfdisk.c:351
+#: getopt/getopt.c:86 getopt/getopt.c:96 login-utils/wall.c:246
+#, c-format
+msgid "%s: Out of memory!\n"
+msgstr "%s: Mälu sai otsa\n"
+
+#: disk-utils/mkfs.c:103
+#, fuzzy, c-format
+msgid "mkfs (%s)\n"
+msgstr "mkfs versioon %s (%s)\n"
+
+#: disk-utils/mkfs.cramfs.c:126
+#, 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:340
+#, c-format
+msgid ""
+"Very long (%zu bytes) filename `%s' found.\n"
+" Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile.  Exiting.\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:472
+#, c-format
+msgid "filesystem too big.  Exiting.\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:637
+#, c-format
+msgid "AIEEE: block \"compressed\" to > 2*blocklength (%ld)\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:656
+#, c-format
+msgid "%6.2f%% (%+ld bytes)\t%s\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:854
+#, c-format
+msgid ""
+"warning: guestimate of required size (upper bound) is %lldMB, but maximum "
+"image size is %uMB.  We might die prematurely.\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:881
+msgid "ROM image map"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:895
+#, fuzzy, c-format
+msgid "Including: %s\n"
+msgstr "Vigane arv: %s\n"
+
+#: disk-utils/mkfs.cramfs.c:901
+#, c-format
+msgid "Directory data: %zd bytes\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:909
+#, c-format
+msgid "Everything: %zd kilobytes\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:914
+#, c-format
+msgid "Super block: %zd bytes\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:921
+#, c-format
+msgid "CRC: %x\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:926
+#, c-format
+msgid "not enough space allocated for ROM image (%lld allocated, %zu used)\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:934
+msgid "ROM image"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:938
+#, c-format
+msgid "ROM image write failed (%zd %zd)\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:947
+#, fuzzy, c-format
+msgid "warning: filenames truncated to 255 bytes.\n"
+msgstr "Hoiatus: i-kirjete arv on liiga suur\n"
+
+#: disk-utils/mkfs.cramfs.c:950
+#, c-format
+msgid "warning: files were skipped due to errors.\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:953
+#, c-format
+msgid "warning: file sizes truncated to %luMB (minus 1 byte).\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:958
+#, c-format
+msgid ""
+"warning: uids truncated to %u bits.  (This may be a security concern.)\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:963
+#, c-format
+msgid ""
+"warning: gids truncated to %u bits.  (This may be a security concern.)\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:968
+#, c-format
+msgid ""
+"WARNING: device numbers truncated to %u bits.  This almost certainly means\n"
+"that some device files will be wrong.\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:156
+#, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]\n"
+msgstr "Kasutamine: %s [-c | -l failinimi] [-nXX] [-iXX] /dev/nimi [plokke]\n"
+
+#: disk-utils/mkfs.minix.c:180
+#, 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:190
+msgid "seek to boot block failed in write_tables"
+msgstr "boot-plokki seekimine tabelite kirjutamisel ei õnnestunud"
+
+#: disk-utils/mkfs.minix.c:192
+msgid "unable to clear boot sector"
+msgstr "ei suuda puhastada boot-sektorit"
+
+#: disk-utils/mkfs.minix.c:194
+msgid "seek failed in write_tables"
+msgstr "seek ei õnnestunud tabelite kirjutamisel"
+
+#: disk-utils/mkfs.minix.c:198
+msgid "unable to write inode map"
+msgstr "ei suuda kirjutada i-kirjete kaarti"
+
+#: disk-utils/mkfs.minix.c:200
+msgid "unable to write zone map"
+msgstr "ei suuda kirjutada tsoonide kaarti"
+
+#: disk-utils/mkfs.minix.c:202
+msgid "unable to write inodes"
+msgstr "ei suuda kirjutada i-kirjeid"
+
+#: disk-utils/mkfs.minix.c:211
+msgid "write failed in write_block"
+msgstr "ploki kirjutamine ei õnnestunud"
+
+#: disk-utils/mkfs.minix.c:219 disk-utils/mkfs.minix.c:293
+#: disk-utils/mkfs.minix.c:342
+msgid "too many bad blocks"
+msgstr "liiga palju vigaseid plokke"
+
+#: disk-utils/mkfs.minix.c:227
+msgid "not enough good blocks"
+msgstr "liiga vähe korras plokke"
+
+#: disk-utils/mkfs.minix.c:439
+msgid "unable to allocate buffers for maps"
+msgstr "ei jätku mälu kaartide puhvritele"
+
+#: disk-utils/mkfs.minix.c:448
+msgid "unable to allocate buffer for inodes"
+msgstr "ei jätku mälu i-kirjete puhvrile"
+
+#: disk-utils/mkfs.minix.c:454
+#, c-format
+msgid ""
+"Maxsize=%ld\n"
+"\n"
+msgstr ""
+"Max. suurus=%ld\n"
+"\n"
+
+#: disk-utils/mkfs.minix.c:468
+msgid "seek failed during testing of blocks"
+msgstr "seek ei õnnestunud plokkide testimisel"
+
+#: disk-utils/mkfs.minix.c:476
+#, 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:507 disk-utils/mkswap.c:313
+msgid "seek failed in check_blocks"
+msgstr "seek ei õnnestunud plokkide kontrollimisel"
+
+#: disk-utils/mkfs.minix.c:516
+msgid "bad blocks before data-area: cannot make fs"
+msgstr "vigased plokid enne andmepiirkonda - ei suuda failisüsteemi tekitada"
+
+#: disk-utils/mkfs.minix.c:522 disk-utils/mkfs.minix.c:547
+#, c-format
+msgid "%d bad blocks\n"
+msgstr "%d vigast plokki\n"
+
+#: disk-utils/mkfs.minix.c:524 disk-utils/mkfs.minix.c:549
+#, c-format
+msgid "one bad block\n"
+msgstr "üks vigane plokk\n"
+
+#: disk-utils/mkfs.minix.c:534
+msgid "can't open file of bad blocks"
+msgstr "ei suuda vigaste plokkide faili avada"
+
+#: disk-utils/mkfs.minix.c:538
+#, c-format
+msgid "badblock number input error on line %d\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:539
+#, fuzzy
+msgid "cannot read badblocks file"
+msgstr "Ei suuda kettalt lugeda"
+
+#: disk-utils/mkfs.minix.c:619
+#, c-format
+msgid "strtol error: number of blocks not specified"
+msgstr "strtol viga: plokkide arvu pole antud"
+
+# XXX stat'ida
+#: disk-utils/mkfs.minix.c:638
+#, c-format
+msgid "unable to stat %s"
+msgstr "ei suuda stat'ida seadet %s"
+
+#: disk-utils/mkfs.minix.c:644
+#, c-format
+msgid "unable to open %s"
+msgstr "ei suuda avada seadet %s"
+
+#: disk-utils/mkfs.minix.c:649
+#, fuzzy, c-format
+msgid "cannot determine sector size for %s"
+msgstr "ei suuda kindlaks teha seadme %s mahtu"
+
+#: disk-utils/mkfs.minix.c:651
+#, c-format
+msgid "block size smaller than physical sector size of %s"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:654
+#, fuzzy, c-format
+msgid "cannot determine size of %s"
+msgstr "ei suuda kindlaks teha seadme %s mahtu"
+
+#: disk-utils/mkfs.minix.c:662
+#, c-format
+msgid "will not try to make filesystem on '%s'"
+msgstr "ei ürita luua failisüsteemi seadmele `%s'"
+
+#: disk-utils/mkfs.minix.c:664
+#, fuzzy
+msgid "number of blocks too small"
+msgstr "Sisetage sektorite arv"
+
+#: disk-utils/mkswap.c:155
+#, c-format
+msgid "Bad user-specified page size %d\n"
+msgstr "Vigane kasutaja poolt määratud lehekülje suurus %d\n"
+
+#: disk-utils/mkswap.c:163
+#, fuzzy, c-format
+msgid "Using user-specified page size %d, instead of the system value %d\n"
+msgstr "Kasutan etteantud lehekülje suurust %d, mitte süsteemseid %d/%d\n"
+
+#: disk-utils/mkswap.c:192
+#, c-format
+msgid "Bad swap header size, no label written.\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:202
+#, c-format
+msgid "Label was truncated.\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:208
+#, c-format
+msgid "no label, "
+msgstr ""
+
+#: disk-utils/mkswap.c:216
+#, c-format
+msgid "no uuid\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:281
+#, fuzzy, c-format
+msgid "Usage: %s [-c] [-pPAGESZ] [-L label] [-U UUID] /dev/name [blocks]\n"
+msgstr "Kasutamine: %s [-c] [-v0|-v1] [-pLKSUURUS] /dev/nimi [plokke]\n"
+
+#: disk-utils/mkswap.c:295
+msgid "too many bad pages"
+msgstr "liiga palju vigaseid lehekülgi"
+
+#: disk-utils/mkswap.c:308 misc-utils/look.c:182 misc-utils/setterm.c:1183
+#: text-utils/more.c:1982 text-utils/more.c:1993
+msgid "Out of memory"
+msgstr "Mälu sai otsa"
+
+#: disk-utils/mkswap.c:319
+#, c-format
+msgid "one bad page\n"
+msgstr "üks vigane lehekülg\n"
+
+#: disk-utils/mkswap.c:321
+#, fuzzy, c-format
+msgid "%lu bad pages\n"
+msgstr "%d vigast lehekülge\n"
+
+#: disk-utils/mkswap.c:399 disk-utils/mkswap.c:415 disk-utils/mkswap.c:633
+msgid "unable to rewind swap-device"
+msgstr "ei suuda tagasi kerida saalimisseadet"
+
+#: disk-utils/mkswap.c:419
+#, fuzzy
+msgid "unable to erase bootbits sectors"
+msgstr "ei suuda puhastada boot-sektorit"
+
+#: disk-utils/mkswap.c:423
+#, c-format
+msgid "%s: %s: warning: don't erase bootbits sectors\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:426
+#, fuzzy, c-format
+msgid "        (%s partition table detected). "
+msgstr "   p   näidata BSD partitsioonitabelit"
+
+#: disk-utils/mkswap.c:428
+#, fuzzy, c-format
+msgid "        on whole disk. "
+msgstr "   s   näidata täielikku partitsioonitabelit"
+
+#: disk-utils/mkswap.c:498
+#, c-format
+msgid "%1$s: warning: ignore -U (UUIDs are unsupported by %1$s)\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:514
+#, fuzzy, c-format
+msgid "%s: does not support swapspace version %d.\n"
+msgstr "%s: Viga - tundmatu versioon %d\n"
+
+#: disk-utils/mkswap.c:522
+#, fuzzy
+msgid "error: UUID parsing failed"
+msgstr "Viga %s sulgemisel\n"
+
+#: disk-utils/mkswap.c:533
+#, c-format
+msgid "%s: error: Nowhere to set up swap on?\n"
+msgstr "%s: Viga - ei ole öeldud, kuhu saalimisala tekitada\n"
+
+#: disk-utils/mkswap.c:551
+#, fuzzy, c-format
+msgid "%s: error: size %llu KiB is larger than device size %llu KiB\n"
+msgstr "%s: Viga - suurus %ld on suurem kui seadme maht %d\n"
+
+#: disk-utils/mkswap.c:560
+#, fuzzy, c-format
+msgid "%s: error: swap area needs to be at least %ld KiB\n"
+msgstr "%s: Viga - saalimisala peab olema vähemalt %ldkB\n"
+
+#: disk-utils/mkswap.c:577
+#, fuzzy, c-format
+msgid "%s: warning: truncating swap area to %llu KiB\n"
+msgstr "%s: Hoiatus - piiran saalimisala %ld kB-ga\n"
+
+#: disk-utils/mkswap.c:600
+#, fuzzy, c-format
+msgid "%s: error: will not try to make swapdevice on '%s'\n"
+msgstr "ei ürita luua saalimisala seadmele `%s'"
+
+#: disk-utils/mkswap.c:606
+#, fuzzy, c-format
+msgid "%s: error: %s is mounted; will not make swapspace.\n"
+msgstr "%s on monteeritud - siia failisüsteemi ei tee!"
+
+#: disk-utils/mkswap.c:622
+msgid "Unable to set up swap-space: unreadable"
+msgstr "Ei suuda saalimisala tekitada: seade pole loetav"
+
+#: disk-utils/mkswap.c:625
+#, 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:636
+#, fuzzy, c-format
+msgid "%s: %s: unable to write signature page: %s"
+msgstr "ei suuda kirjutada signatuuriga lehekülge"
+
+#: disk-utils/mkswap.c:647
+msgid "fsync failed"
+msgstr "fsync ei õnnestunud"
+
+#: disk-utils/mkswap.c:658
+#, c-format
+msgid "%s: %s: unable to obtain selinux file label: %s\n"
+msgstr ""
+
+# XXX stat'ida
+#: disk-utils/mkswap.c:664
+#, fuzzy
+msgid "unable to matchpathcon()"
+msgstr "ei suuda stat'ida seadet %s"
+
+#: disk-utils/mkswap.c:667
+#, fuzzy
+msgid "unable to create new selinux context"
+msgstr "ei suuda kirjutada i-kirjeid"
+
+#: disk-utils/mkswap.c:669
+msgid "couldn't compute selinux context"
+msgstr ""
+
+#: disk-utils/mkswap.c:675
+#, fuzzy, c-format
+msgid "%s: unable to relabel %s to %s: %s\n"
+msgstr "%s: %s ümber nimetamine %s -ks ei õnnestnud: %s\n"
+
+#: disk-utils/raw.c:50
+#, fuzzy, c-format
+msgid ""
+"Usage:\n"
+"  %s "
+msgstr "kasutamine:\n"
+
+#: disk-utils/raw.c:125
+#, c-format
+msgid ""
+"Device '%s' is control raw dev (use raw<N> where <N> is greater than zero)\n"
+msgstr ""
+
+#: disk-utils/raw.c:145
+#, fuzzy, c-format
+msgid "Cannot locate block device '%s' (%s)\n"
+msgstr "%s pole flopiseade\n"
+
+#: disk-utils/raw.c:151
+#, fuzzy, c-format
+msgid "Device '%s' is not a block dev\n"
+msgstr "Hoiatus: %s pole plokkseade\n"
+
+#: disk-utils/raw.c:186
+#, fuzzy, c-format
+msgid "Cannot open master raw device '"
+msgstr "stat(%s) ei õnnestunud"
+
+#: disk-utils/raw.c:205
+#, fuzzy, c-format
+msgid "Cannot locate raw device '%s' (%s)\n"
+msgstr "stat(%s) ei õnnestunud"
+
+#: disk-utils/raw.c:211
+#, fuzzy, c-format
+msgid "Raw device '%s' is not a character dev\n"
+msgstr "/dev/%s pole sümbolseade"
+
+#: disk-utils/raw.c:216
+#, fuzzy, c-format
+msgid "Device '%s' is not a raw dev\n"
+msgstr "%s pole plokkseade"
+
+#: disk-utils/raw.c:231
+#, c-format
+msgid "Error querying raw device (%s)\n"
+msgstr ""
+
+#: disk-utils/raw.c:241 disk-utils/raw.c:261
+#, c-format
+msgid "raw%d:\tbound to major %d, minor %d\n"
+msgstr ""
+
+#: disk-utils/raw.c:257
+#, fuzzy, c-format
+msgid "Error setting raw device (%s)\n"
+msgstr "viga teenuse peatamisel: %s"
+
+#: fdisk/cfdisk.c:376 fdisk/cfdisk.c:2080
+msgid "Unusable"
+msgstr "Kasutamatu"
+
+#: fdisk/cfdisk.c:378 fdisk/cfdisk.c:2082
+msgid "Free Space"
+msgstr "Vaba ruum"
+
+#: fdisk/cfdisk.c:381
+msgid "Linux ext2"
+msgstr "Linux ext2"
+
+#: fdisk/cfdisk.c:383
+msgid "Linux ext3"
+msgstr "Linux ext3"
+
+#: fdisk/cfdisk.c:385
+msgid "Linux XFS"
+msgstr "Linux XFS"
+
+#: fdisk/cfdisk.c:387
+#, fuzzy
+msgid "Linux JFS"
+msgstr "Linux XFS"
+
+#: fdisk/cfdisk.c:389
+msgid "Linux ReiserFS"
+msgstr "Linux ReiserFS"
+
+#: fdisk/cfdisk.c:391 fdisk/i386_sys_types.c:57
+msgid "Linux"
+msgstr "Linux"
+
+#: fdisk/cfdisk.c:394
+msgid "OS/2 HPFS"
+msgstr "OS/2 HPFS"
+
+#: fdisk/cfdisk.c:396
+msgid "OS/2 IFS"
+msgstr "OS/2 IFS"
+
+#: fdisk/cfdisk.c:400
+msgid "NTFS"
+msgstr "NTFS"
+
+#: fdisk/cfdisk.c:411
+#, c-format
+msgid "Disk has been changed.\n"
+msgstr "Ketast sai muudetud\n"
+
+#: fdisk/cfdisk.c:413
+#, 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"
+
+#: fdisk/cfdisk.c:417
+#, 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"
+
+#: fdisk/cfdisk.c:512
+msgid "FATAL ERROR"
+msgstr "FATAALNE VIGA"
+
+#: fdisk/cfdisk.c:513
+msgid "Press any key to exit cfdisk"
+msgstr "Vajuta mõnda klahvi cfdiskist väljumiseks"
+
+#: fdisk/cfdisk.c:560 fdisk/cfdisk.c:568
+msgid "Cannot seek on disk drive"
+msgstr "Ei suuda kettal seekida"
+
+#: fdisk/cfdisk.c:562
+msgid "Cannot read disk drive"
+msgstr "Ei suuda kettalt lugeda"
+
+#: fdisk/cfdisk.c:570
+msgid "Cannot write disk drive"
+msgstr "Ei suuda kettale kirjutada"
+
+#: fdisk/cfdisk.c:913
+msgid "Too many partitions"
+msgstr "Liiga palju partitsioone"
+
+#: fdisk/cfdisk.c:918
+msgid "Partition begins before sector 0"
+msgstr "Partitsioon algab enne sektorit 0"
+
+#: fdisk/cfdisk.c:923
+msgid "Partition ends before sector 0"
+msgstr "Partitsioon lõppeb enne sektorit 0"
+
+#: fdisk/cfdisk.c:928
+msgid "Partition begins after end-of-disk"
+msgstr "Partitsioon algab pärast ketta lõppu"
+
+#: fdisk/cfdisk.c:933
+msgid "Partition ends after end-of-disk"
+msgstr "Partitsioon lõppeb pärast ketta lõppu"
+
+#: fdisk/cfdisk.c:938
+msgid "Partition ends in the final partial cylinder"
+msgstr ""
+
+#: fdisk/cfdisk.c:962
+msgid "logical partitions not in disk order"
+msgstr "Loogilised partitsioonid on füüsilisest erinevas järjestuses"
+
+#: fdisk/cfdisk.c:965
+msgid "logical partitions overlap"
+msgstr "Loogilised partitsioonid kattuvad"
+
+#: fdisk/cfdisk.c:969
+msgid "enlarged logical partitions overlap"
+msgstr "Suurendatud loogilised partitsioonid kattuvad"
+
+#: fdisk/cfdisk.c:999
+msgid ""
+"!!!! Internal error creating logical drive with no extended partition !!!!"
+msgstr ""
+"Sisemine viga: loogilise partitsiooni loomisel puudub extended-partitsioon"
+
+#: fdisk/cfdisk.c:1010 fdisk/cfdisk.c:1022
+msgid ""
+"Cannot create logical drive here -- would create two extended partitions"
+msgstr ""
+"Siia ei saa loogilist partitsiooni luua - see tekitakse teise extended'i"
+
+#: fdisk/cfdisk.c:1164
+msgid "Menu item too long. Menu may look odd."
+msgstr "Menüükirje on liiga pikk. Menüü võib naljakas välja näha."
+
+#: fdisk/cfdisk.c:1220
+#, fuzzy
+msgid "Menu without direction. Defaulting to horizontal."
+msgstr "Menüü ilma suunata, eeldan horisontaalset"
+
+#: fdisk/cfdisk.c:1351
+msgid "Illegal key"
+msgstr "Vale klahv"
+
+#: fdisk/cfdisk.c:1374
+msgid "Press a key to continue"
+msgstr "Vajuta mõnda klahvi jätkamiseks"
+
+#: fdisk/cfdisk.c:1421 fdisk/cfdisk.c:2051 fdisk/cfdisk.c:2583
+#: fdisk/cfdisk.c:2585
+msgid "Primary"
+msgstr "Primaarne"
+
+#: fdisk/cfdisk.c:1421
+msgid "Create a new primary partition"
+msgstr "Loo uus primaarne partitsioon"
+
+#: fdisk/cfdisk.c:1422 fdisk/cfdisk.c:2051 fdisk/cfdisk.c:2582
+#: fdisk/cfdisk.c:2585
+msgid "Logical"
+msgstr "Loogiline"
+
+#: fdisk/cfdisk.c:1422
+msgid "Create a new logical partition"
+msgstr "Loo uus loogiline partitsioon"
+
+#: fdisk/cfdisk.c:1423 fdisk/cfdisk.c:1478 fdisk/cfdisk.c:2256
+msgid "Cancel"
+msgstr "Tühista"
+
+#: fdisk/cfdisk.c:1423 fdisk/cfdisk.c:1478
+msgid "Don't create a partition"
+msgstr "Ära loo partitsiooni"
+
+#: fdisk/cfdisk.c:1439
+msgid "!!! Internal error !!!"
+msgstr "!!! Sisemine viga !!!"
+
+#: fdisk/cfdisk.c:1442
+msgid "Size (in MB): "
+msgstr "Suurus (MB): "
+
+#: fdisk/cfdisk.c:1476
+msgid "Beginning"
+msgstr "Beginning"
+
+#: fdisk/cfdisk.c:1476
+msgid "Add partition at beginning of free space"
+msgstr "Lisada partitsioon vaba ruumi algusse"
+
+#: fdisk/cfdisk.c:1477
+msgid "End"
+msgstr "End"
+
+#: fdisk/cfdisk.c:1477
+msgid "Add partition at end of free space"
+msgstr "Lisada partitsioon vaba ruumi lõppu"
+
+#: fdisk/cfdisk.c:1495
+msgid "No room to create the extended partition"
+msgstr "Pole ruumi extended-partitsiooni tegemiseks"
+
+#: fdisk/cfdisk.c:1569
+#, fuzzy
+msgid "No partition table.\n"
+msgstr "Partitsioonitabelit ei ole\n"
+
+#: fdisk/cfdisk.c:1573
+#, fuzzy
+msgid "No partition table. Starting with zero table."
+msgstr "Puuduv partitsioonitabel või vale signatuur partitsioonitabelis"
+
+#: fdisk/cfdisk.c:1583
+#, fuzzy
+msgid "Bad signature on partition table"
+msgstr "Trükkida lihtsalt tabel"
+
+#: fdisk/cfdisk.c:1587
+#, fuzzy
+msgid "Unknown partition table type"
+msgstr "Partitsioonitabelit ei ole\n"
+
+#: fdisk/cfdisk.c:1589
+msgid "Do you wish to start with a zero table [y/N] ?"
+msgstr "Kas soovite alustada tühja tabeliga [y/N] ?"
+
+#: fdisk/cfdisk.c:1637
+msgid "You specified more cylinders than fit on disk"
+msgstr "Te andiste suurema silindrite arvu kui kettale mahub"
+
+#: fdisk/cfdisk.c:1669
+msgid "Cannot open disk drive"
+msgstr "Ei suuda avada kettaseadet"
+
+#: fdisk/cfdisk.c:1671 fdisk/cfdisk.c:1860
+msgid "Opened disk read-only - you have no permission to write"
+msgstr "Avasin ketta ainult lugemiseks - kirjutamiseks pole õigust"
+
+#: fdisk/cfdisk.c:1682
+msgid ""
+"Warning!!  Unsupported GPT (GUID Partition Table) detected. Use GNU Parted."
+msgstr ""
+
+#: fdisk/cfdisk.c:1701
+msgid "Cannot get disk size"
+msgstr "Ei suuda kindlaks teha ketta mahtu"
+
+#: fdisk/cfdisk.c:1727
+msgid "Bad primary partition"
+msgstr "Vigane primaarne partitsioon"
+
+#: fdisk/cfdisk.c:1757
+msgid "Bad logical partition"
+msgstr "Vigane loogiline partitsioon"
+
+#: fdisk/cfdisk.c:1872
+msgid "Warning!!  This may destroy data on your disk!"
+msgstr "Hoiatus!!  See võib Teie kettal andmeid hävitada!"
+
+#: fdisk/cfdisk.c:1876
+#, 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):"
+
+#: fdisk/cfdisk.c:1882
+msgid "no"
+msgstr "ei"
+
+#: fdisk/cfdisk.c:1884
+msgid "Did not write partition table to disk"
+msgstr "Ei kirjutanud partitsioonitabelit kettale"
+
+#: fdisk/cfdisk.c:1886
+msgid "yes"
+msgstr "jah"
+
+#: fdisk/cfdisk.c:1890
+msgid "Please enter `yes' or `no'"
+msgstr "Palun sisestage `jah' või `ei'"
+
+#: fdisk/cfdisk.c:1894
+msgid "Writing partition table to disk..."
+msgstr "Kirjutan partitsioonitabelit kettale..."
+
+#: fdisk/cfdisk.c:1921 fdisk/cfdisk.c:1925
+msgid "Wrote partition table to disk"
+msgstr "Kirjutasin partitsioonitabeli kettale"
+
+#: fdisk/cfdisk.c:1923
+#, 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."
+
+#: fdisk/cfdisk.c:1933
+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."
+
+#: fdisk/cfdisk.c:1935
+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."
+
+#: fdisk/cfdisk.c:1993 fdisk/cfdisk.c:2112 fdisk/cfdisk.c:2196
+msgid "Enter filename or press RETURN to display on screen: "
+msgstr "Siseta failinimi või vajuta RETURN ekraanil näitamiseks: "
+
+#: fdisk/cfdisk.c:2002 fdisk/cfdisk.c:2120 fdisk/cfdisk.c:2204
+#, c-format
+msgid "Cannot open file '%s'"
+msgstr "Ei suuda avada faili `%s'"
+
+#: fdisk/cfdisk.c:2013
+#, c-format
+msgid "Disk Drive: %s\n"
+msgstr "Kettaseade: %s\n"
+
+#: fdisk/cfdisk.c:2015
+msgid "Sector 0:\n"
+msgstr "Sektor 0:\n"
+
+#: fdisk/cfdisk.c:2022
+#, c-format
+msgid "Sector %d:\n"
+msgstr "Sektor %d:\n"
+
+#: fdisk/cfdisk.c:2042
+msgid "   None   "
+msgstr "   Vaba   "
+
+#: fdisk/cfdisk.c:2044
+msgid "   Pri/Log"
+msgstr "   Pri/Log"
+
+#: fdisk/cfdisk.c:2046
+msgid "   Primary"
+msgstr " Primaarne"
+
+#: fdisk/cfdisk.c:2048
+msgid "   Logical"
+msgstr " Loogiline"
+
+#: fdisk/cfdisk.c:2086 fdisk/fdisk.c:1534 fdisk/fdisk.c:1855
+#: fdisk/fdisksgilabel.c:240 fdisk/fdisksunlabel.c:621 fdisk/sfdisk.c:653
+msgid "Unknown"
+msgstr "Tundmatu"
+
+#: fdisk/cfdisk.c:2092 fdisk/cfdisk.c:2560 fdisk/fdisksunlabel.c:44
+msgid "Boot"
+msgstr "Buutiv"
+
+#: fdisk/cfdisk.c:2094
+#, fuzzy, c-format
+msgid "(%02X)"
+msgstr "Tundmatu (%02X)"
+
+#: fdisk/cfdisk.c:2096
+#, fuzzy
+msgid "None"
+msgstr "valmis (D)"
+
+#: fdisk/cfdisk.c:2131 fdisk/cfdisk.c:2215
+#, c-format
+msgid "Partition Table for %s\n"
+msgstr "Partitsioonitabel kettal %s\n"
+
+#: fdisk/cfdisk.c:2133
+#, fuzzy
+msgid "               First       Last\n"
+msgstr "            Esimene  Viimane\n"
+
+#: fdisk/cfdisk.c:2134
+#, 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"
+
+#: fdisk/cfdisk.c:2135
+#, fuzzy
+msgid ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+msgstr ""
+"-- ------- -------- --------- ------ --------- ---------------------- "
+"---------\n"
+
+#: fdisk/cfdisk.c:2218
+#, fuzzy
+msgid "         ---Starting----      ----Ending-----    Start     Number of\n"
+msgstr "         ----Algus-----      -----Lõpp-----  Esimene Sektorite\n"
+
+#: fdisk/cfdisk.c:2219
+#, 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"
+
+#: fdisk/cfdisk.c:2220
+#, fuzzy
+msgid "-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+msgstr "-- ----- ---- ---- ---- ---- ---- ---- ---- -------- ---------\n"
+
+#: fdisk/cfdisk.c:2253
+msgid "Raw"
+msgstr "tooRes"
+
+#: fdisk/cfdisk.c:2253
+msgid "Print the table using raw data format"
+msgstr "Trükkida tabel toores formaadis (baithaaval)"
+
+#: fdisk/cfdisk.c:2254 fdisk/cfdisk.c:2357
+msgid "Sectors"
+msgstr "Sektorid"
+
+#: fdisk/cfdisk.c:2254
+msgid "Print the table ordered by sectors"
+msgstr "Trükkida tabel järjestatuna sektorite järgi"
+
+#: fdisk/cfdisk.c:2255
+msgid "Table"
+msgstr "Tabel"
+
+#: fdisk/cfdisk.c:2255
+msgid "Just print the partition table"
+msgstr "Trükkida lihtsalt tabel"
+
+#: fdisk/cfdisk.c:2256
+msgid "Don't print the table"
+msgstr "Ei trüki midagi"
+
+#: fdisk/cfdisk.c:2284
+msgid "Help Screen for cfdisk"
+msgstr "cfdiski abiinfo ekraan"
+
+#: fdisk/cfdisk.c:2286
+msgid "This is cfdisk, a curses based disk partitioning program, which"
+msgstr "See on cfdisk, curses'il baseeruv ketta partitsioneerimise"
+
+#: fdisk/cfdisk.c:2287
+msgid "allows you to create, delete and modify partitions on your hard"
+msgstr "programm, mis lubab luua, kustutada ja muuta partitsioone Teie"
+
+#: fdisk/cfdisk.c:2288
+msgid "disk drive."
+msgstr "arvuti kõvakettal."
+
+#: fdisk/cfdisk.c:2290
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+
+#: fdisk/cfdisk.c:2292
+msgid "Command      Meaning"
+msgstr "Käsk        Tähendus"
+
+#: fdisk/cfdisk.c:2293
+msgid "-------      -------"
+msgstr "-------      -------"
+
+#: fdisk/cfdisk.c:2294
+msgid "  b          Toggle bootable flag of the current partition"
+msgstr "  b          Vahetada buuditavuse lippu jooksval partitsioonil"
+
+#: fdisk/cfdisk.c:2295
+msgid "  d          Delete the current partition"
+msgstr "  d          Kustutada jooksev partitsioon"
+
+#: fdisk/cfdisk.c:2296
+msgid "  g          Change cylinders, heads, sectors-per-track parameters"
+msgstr "  g          Muuta silindrite, peade ja rajal olevate sektorite arvu"
+
+#: fdisk/cfdisk.c:2297
+msgid "             WARNING: This option should only be used by people who"
+msgstr "             HOIATUS: See käsk on ainult neile, kes teavad, mida "
+
+#: fdisk/cfdisk.c:2298
+msgid "             know what they are doing."
+msgstr "             nad teevad."
+
+#: fdisk/cfdisk.c:2299
+msgid "  h          Print this screen"
+msgstr "  h          Näidata sedasama ekraani"
+
+#: fdisk/cfdisk.c:2300
+msgid "  m          Maximize disk usage of the current partition"
+msgstr "  m          Maksimiseerida jooksva partitsiooni kettakasutus"
+
+#: fdisk/cfdisk.c:2301
+msgid "             Note: This may make the partition incompatible with"
+msgstr "             Märkus: see võib teha ketta mitteühilduvaks DOSi,"
+
+#: fdisk/cfdisk.c:2302
+msgid "             DOS, OS/2, ..."
+msgstr "             OS/2 ja muude operatsioonisüteemidega."
+
+#: fdisk/cfdisk.c:2303
+msgid "  n          Create new partition from free space"
+msgstr "  n          Luua uus partitsioon vaba ruumi sisse"
+
+#: fdisk/cfdisk.c:2304
+msgid "  p          Print partition table to the screen or to a file"
+msgstr "  p          Väljastada partitsioonitabel ekraanile või faili"
+
+#: fdisk/cfdisk.c:2305
+msgid "             There are several different formats for the partition"
+msgstr "             Väljastamisel võite valida mitme formaadi vahel:"
+
+#: fdisk/cfdisk.c:2306
+msgid "             that you can choose from:"
+msgstr " "
+
+#: fdisk/cfdisk.c:2307
+msgid "                r - Raw data (exactly what would be written to disk)"
+msgstr "                r - tooRes - see baidijada, mis kettale kirjutataks"
+
+#: fdisk/cfdisk.c:2308
+msgid "                s - Table ordered by sectors"
+msgstr "                s - Sektorite järgi järjestatud tabel"
+
+#: fdisk/cfdisk.c:2309
+msgid "                t - Table in raw format"
+msgstr "                t - Tabel teksti kujul (umbes nagu peaekraanil)"
+
+#: fdisk/cfdisk.c:2310
+msgid "  q          Quit program without writing partition table"
+msgstr "  q          Väljuda programmist ilam muutusi salvestamata"
+
+#: fdisk/cfdisk.c:2311
+msgid "  t          Change the filesystem type"
+msgstr "  t          Muuta jooksva partitsiooni failisüsteemi tüüpi"
+
+#: fdisk/cfdisk.c:2312
+msgid "  u          Change units of the partition size display"
+msgstr "  u          Muuta partitsioonide suuruse ja asukoha ühikuid"
+
+#: fdisk/cfdisk.c:2313
+msgid "             Rotates through MB, sectors and cylinders"
+msgstr "             Variandid on MB, sektorid ja silindrid"
+
+#: fdisk/cfdisk.c:2314
+msgid "  W          Write partition table to disk (must enter upper case W)"
+msgstr "  W          Kirjutada partitsioonitabel kettale (jah, suurtäht)"
+
+#: fdisk/cfdisk.c:2315
+msgid "             Since this might destroy data on the disk, you must"
+msgstr "             Kuna see võib kettalt andmeid hävitada, küsitakse"
+
+#: fdisk/cfdisk.c:2316
+msgid "             either confirm or deny the write by entering `yes' or"
+msgstr "             enne kirjutamist kinnitust. Vastata tuleb eestikeelse"
+
+#: fdisk/cfdisk.c:2317
+msgid "             `no'"
+msgstr "             täissõnaga (`jah' või `ei')."
+
+#: fdisk/cfdisk.c:2318
+msgid "Up Arrow     Move cursor to the previous partition"
+msgstr "Nool üles    Viia kursor eelmisele reale"
+
+#: fdisk/cfdisk.c:2319
+msgid "Down Arrow   Move cursor to the next partition"
+msgstr "Nool alla    Viia kursor järgmisele reale"
+
+#: fdisk/cfdisk.c:2320
+msgid "CTRL-L       Redraws the screen"
+msgstr "CTRL-L       Joonistada ekraan üle"
+
+#: fdisk/cfdisk.c:2321
+msgid "  ?          Print this screen"
+msgstr "  ?          Näidata sedasama ekraani"
+
+#: fdisk/cfdisk.c:2323
+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,"
+
+#: fdisk/cfdisk.c:2324
+msgid "case letters (except for Writes)."
+msgstr "välja arvatud suur W."
+
+#: fdisk/cfdisk.c:2355 fdisk/fdisksunlabel.c:237
+msgid "Cylinders"
+msgstr "silindrid (C)"
+
+#: fdisk/cfdisk.c:2355
+msgid "Change cylinder geometry"
+msgstr "Muuta silindrite arvu geomeetrias"
+
+#: fdisk/cfdisk.c:2356 fdisk/fdisksunlabel.c:235
+msgid "Heads"
+msgstr "pead (H)"
+
+#: fdisk/cfdisk.c:2356
+msgid "Change head geometry"
+msgstr "Muuta peade arvu geomeetrias"
+
+#: fdisk/cfdisk.c:2357
+msgid "Change sector geometry"
+msgstr "Muuta sektorite arvu geomeetrias"
+
+#: fdisk/cfdisk.c:2358
+msgid "Done"
+msgstr "valmis (D)"
+
+#: fdisk/cfdisk.c:2358
+msgid "Done with changing geometry"
+msgstr "Muutused geomeetrias on tehtud"
+
+#: fdisk/cfdisk.c:2371
+msgid "Enter the number of cylinders: "
+msgstr "Sisestage silindrite arv: "
+
+#: fdisk/cfdisk.c:2382 fdisk/cfdisk.c:2953
+msgid "Illegal cylinders value"
+msgstr "Vigane silindrite arv"
+
+#: fdisk/cfdisk.c:2388
+msgid "Enter the number of heads: "
+msgstr "Sisetage peade arv: "
+
+#: fdisk/cfdisk.c:2395 fdisk/cfdisk.c:2963
+msgid "Illegal heads value"
+msgstr "Vigane peade arv"
+
+#: fdisk/cfdisk.c:2401
+msgid "Enter the number of sectors per track: "
+msgstr "Sisestage sektorite arv rajal: "
+
+#: fdisk/cfdisk.c:2408 fdisk/cfdisk.c:2970
+msgid "Illegal sectors value"
+msgstr "Vigane sektorite arv"
+
+#: fdisk/cfdisk.c:2511
+msgid "Enter filesystem type: "
+msgstr "Sisestage failisüsteemi tüübi number: "
+
+#: fdisk/cfdisk.c:2529
+msgid "Cannot change FS Type to empty"
+msgstr "Failisüsteemi tüüpi ei saa muuta tühjaks"
+
+#: fdisk/cfdisk.c:2531
+msgid "Cannot change FS Type to extended"
+msgstr "Failisüsteemi tüüpi ei saa muuta extended'iks"
+
+#: fdisk/cfdisk.c:2562
+#, c-format
+msgid "Unk(%02X)"
+msgstr "Tundmatu (%02X)"
+
+#: fdisk/cfdisk.c:2565 fdisk/cfdisk.c:2568
+msgid ", NC"
+msgstr ", NC"
+
+#: fdisk/cfdisk.c:2573 fdisk/cfdisk.c:2576
+msgid "NC"
+msgstr "NC"
+
+#: fdisk/cfdisk.c:2584
+msgid "Pri/Log"
+msgstr "Pri/Log"
+
+#: fdisk/cfdisk.c:2591
+#, c-format
+msgid "Unknown (%02X)"
+msgstr "Tundmatu (%02X)"
+
+#: fdisk/cfdisk.c:2660
+#, c-format
+msgid "Disk Drive: %s"
+msgstr "Kettaseade: %s"
+
+#: fdisk/cfdisk.c:2667
+#, fuzzy, c-format
+msgid "Size: %lld bytes, %lld MB"
+msgstr "Maht: %lld baiti, %ld MB"
+
+#: fdisk/cfdisk.c:2670
+#, fuzzy, c-format
+msgid "Size: %lld bytes, %lld.%lld GB"
+msgstr "Maht: %lld baiti, %ld.%ld GB"
+
+#: fdisk/cfdisk.c:2674
+#, fuzzy, c-format
+msgid "Heads: %d   Sectors per Track: %d   Cylinders: %lld"
+msgstr "Päid: %d    Sektoreid rajal: %d    Silindreid: %d"
+
+#: fdisk/cfdisk.c:2678 login-utils/chfn.c:377
+msgid "Name"
+msgstr "Nimi"
+
+#: fdisk/cfdisk.c:2679
+msgid "Flags"
+msgstr "Lipud"
+
+#: fdisk/cfdisk.c:2680
+msgid "Part Type"
+msgstr "Tüüp"
+
+#: fdisk/cfdisk.c:2681
+msgid "FS Type"
+msgstr "FS tüüp"
+
+#: fdisk/cfdisk.c:2682
+msgid "[Label]"
+msgstr "[Label]"
+
+#: fdisk/cfdisk.c:2684
+#, fuzzy
+msgid "    Sectors"
+msgstr "Sektoreid"
+
+#: fdisk/cfdisk.c:2686
+#, fuzzy
+msgid "  Cylinders"
+msgstr "silindrid (C)"
+
+#: fdisk/cfdisk.c:2688
+#, fuzzy
+msgid "  Size (MB)"
+msgstr "Maht (MB)"
+
+#: fdisk/cfdisk.c:2690
+#, fuzzy
+msgid "  Size (GB)"
+msgstr "Maht (GB)"
+
+#: fdisk/cfdisk.c:2744
+msgid "Bootable"
+msgstr "Buutiv"
+
+#: fdisk/cfdisk.c:2744
+msgid "Toggle bootable flag of the current partition"
+msgstr "Vahetada buuditavuse lippu jooksval partitsioonil"
+
+#: fdisk/cfdisk.c:2745
+msgid "Delete"
+msgstr "kustutaDa"
+
+#: fdisk/cfdisk.c:2745
+msgid "Delete the current partition"
+msgstr "Kustutada jooksev partitsioon"
+
+#: fdisk/cfdisk.c:2746
+msgid "Geometry"
+msgstr "Geomeetria"
+
+#: fdisk/cfdisk.c:2746
+msgid "Change disk geometry (experts only)"
+msgstr "Muuta ketta geomeetriat (ainult ekspertidele)"
+
+#: fdisk/cfdisk.c:2747
+msgid "Help"
+msgstr "Help"
+
+#: fdisk/cfdisk.c:2747
+msgid "Print help screen"
+msgstr "Näidata abiinfot"
+
+#: fdisk/cfdisk.c:2748
+msgid "Maximize"
+msgstr "Maksimiseerida"
+
+#: fdisk/cfdisk.c:2748
+msgid "Maximize disk usage of the current partition (experts only)"
+msgstr "Maksimiseerida jooksva partitsiooni kettakasutus (ainult ekspertidele)"
+
+#: fdisk/cfdisk.c:2749
+msgid "New"
+msgstr "uus (N)"
+
+#: fdisk/cfdisk.c:2749
+msgid "Create new partition from free space"
+msgstr "Luua uus partitsioon vaba ruumi sisse"
+
+#: fdisk/cfdisk.c:2750
+msgid "Print"
+msgstr "Prindi"
+
+#: fdisk/cfdisk.c:2750
+msgid "Print partition table to the screen or to a file"
+msgstr "Väljastada partitsioonitabel ekraanile või faili"
+
+#: fdisk/cfdisk.c:2751
+msgid "Quit"
+msgstr "Välja"
+
+#: fdisk/cfdisk.c:2751
+msgid "Quit program without writing partition table"
+msgstr "Väljuda programmist ilam muutusi salvestamata"
+
+#: fdisk/cfdisk.c:2752
+msgid "Type"
+msgstr "Tüüp"
+
+#: fdisk/cfdisk.c:2752
+msgid "Change the filesystem type (DOS, Linux, OS/2 and so on)"
+msgstr "Muuta failisüsteemi tüüpi (DOS, Linux, OS/2 jne)"
+
+#: fdisk/cfdisk.c:2753
+msgid "Units"
+msgstr "Uhikud"
+
+#: fdisk/cfdisk.c:2753
+msgid "Change units of the partition size display (MB, sect, cyl)"
+msgstr ""
+"Muuta partitsioonide suuruse näitamise ühikuid (MB, sektorid, silindrid)"
+
+#: fdisk/cfdisk.c:2754
+msgid "Write"
+msgstr "salvesta (W)"
+
+#: fdisk/cfdisk.c:2754
+msgid "Write partition table to disk (this might destroy data)"
+msgstr "Kirjutada partitsioonitabel kettale (võib hävitada andmed)"
+
+#: fdisk/cfdisk.c:2800
+msgid "Cannot make this partition bootable"
+msgstr "Seda partitsiooni ei saa buutivaks teha"
+
+#: fdisk/cfdisk.c:2810
+msgid "Cannot delete an empty partition"
+msgstr "Tühja partitsiooni ei saa kustutada"
+
+#: fdisk/cfdisk.c:2830 fdisk/cfdisk.c:2832
+msgid "Cannot maximize this partition"
+msgstr "Seda partitsiooni ei saa maksimiseerida"
+
+#: fdisk/cfdisk.c:2840
+msgid "This partition is unusable"
+msgstr "See partitsioon pole kasutatav"
+
+#: fdisk/cfdisk.c:2842
+msgid "This partition is already in use"
+msgstr "See partitsioon on juba olemas"
+
+#: fdisk/cfdisk.c:2859
+msgid "Cannot change the type of an empty partition"
+msgstr "Tühja partitsiooni tüüpi ei saa muuta"
+
+#: fdisk/cfdisk.c:2886 fdisk/cfdisk.c:2892
+msgid "No more partitions"
+msgstr "Rohkem partitsioone ei ole"
+
+#: fdisk/cfdisk.c:2899
+msgid "Illegal command"
+msgstr "Vigane käsk"
+
+#: fdisk/cfdisk.c:2909
+#, fuzzy, c-format
+msgid "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+msgstr "Copyright (C) 1994-2000 Kevin E. Martin & aeb\n"
+
+#: fdisk/cfdisk.c:2916
+#, 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"
+
+#: fdisk/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)."
+
+#: fdisk/fdiskbsdlabel.c:122
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+"\n"
+"BSD partitsioonitabel seadmel %s\n"
+
+#: fdisk/fdiskbsdlabel.c:129 fdisk/fdisk.c:386 fdisk/fdisk.c:405
+#: fdisk/fdisk.c:423 fdisk/fdisk.c:430 fdisk/fdisk.c:453 fdisk/fdisk.c:471
+#: fdisk/fdisk.c:487 fdisk/fdisk.c:503
+msgid "Command action"
+msgstr "Käsk    Tähendus"
+
+#: fdisk/fdiskbsdlabel.c:130
+msgid "   d   delete a BSD partition"
+msgstr "   d   kustutada BSD partitsioon"
+
+#: fdisk/fdiskbsdlabel.c:131
+msgid "   e   edit drive data"
+msgstr "   e   redigeerida sedame andmeid"
+
+#: fdisk/fdiskbsdlabel.c:132
+msgid "   i   install bootstrap"
+msgstr "   i   installeerida bootstrap"
+
+#: fdisk/fdiskbsdlabel.c:133
+msgid "   l   list known filesystem types"
+msgstr "   l   anda nimekiri tuntud failisüsteemide tüüpidest"
+
+#: fdisk/fdiskbsdlabel.c:134 fdisk/fdisk.c:392 fdisk/fdisk.c:411
+#: fdisk/fdisk.c:424 fdisk/fdisk.c:436 fdisk/fdisk.c:461 fdisk/fdisk.c:478
+#: fdisk/fdisk.c:494 fdisk/fdisk.c:512
+msgid "   m   print this menu"
+msgstr "   m   näidata sedasama menüüd"
+
+#: fdisk/fdiskbsdlabel.c:135
+msgid "   n   add a new BSD partition"
+msgstr "   n   lisada uus BSD partitsioon"
+
+#: fdisk/fdiskbsdlabel.c:136
+msgid "   p   print BSD partition table"
+msgstr "   p   näidata BSD partitsioonitabelit"
+
+#: fdisk/fdiskbsdlabel.c:137 fdisk/fdisk.c:396 fdisk/fdisk.c:415
+#: fdisk/fdisk.c:426 fdisk/fdisk.c:440 fdisk/fdisk.c:463 fdisk/fdisk.c:480
+#: fdisk/fdisk.c:496 fdisk/fdisk.c:514
+msgid "   q   quit without saving changes"
+msgstr "   q   väljuda salvetsamata"
+
+#: fdisk/fdiskbsdlabel.c:138 fdisk/fdisk.c:464 fdisk/fdisk.c:481
+#: fdisk/fdisk.c:497 fdisk/fdisk.c:515
+msgid "   r   return to main menu"
+msgstr "   r   tagasi peamenüüsse"
+
+#: fdisk/fdiskbsdlabel.c:139
+msgid "   s   show complete disklabel"
+msgstr "   s   näidata täielikku partitsioonitabelit"
+
+#: fdisk/fdiskbsdlabel.c:140
+msgid "   t   change a partition's filesystem id"
+msgstr "   t   muuta partitsiooni failisüsteemi tüüpi"
+
+#: fdisk/fdiskbsdlabel.c:141
+msgid "   u   change units (cylinders/sectors)"
+msgstr "   u   muuta ühikuid (silindrid/sektorid)"
+
+#: fdisk/fdiskbsdlabel.c:142
+msgid "   w   write disklabel to disk"
+msgstr "   w   kirjutada tabel kettale"
+
+#: fdisk/fdiskbsdlabel.c:144
+msgid "   x   link BSD partition to non-BSD partition"
+msgstr "   x   siduda BSD partitsioon mitte-BSD partitsiooniga"
+
+#: fdisk/fdiskbsdlabel.c:176
+#, c-format
+msgid "Partition %s has invalid starting sector 0.\n"
+msgstr "Partitsioon %s sisaldab vigast algsektorit 0\n"
+
+#: fdisk/fdiskbsdlabel.c:180
+#, c-format
+msgid "Reading disklabel of %s at sector %d.\n"
+msgstr "Loen partitsioonitabelit seadmelt %s sektorist %d\n"
+
+#: fdisk/fdiskbsdlabel.c:190
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr "Seadmel %s ei ole BSD partitsiooni\n"
+
+#: fdisk/fdiskbsdlabel.c:204
+msgid "BSD disklabel command (m for help): "
+msgstr "BSD partitsioonitabeli käsk (m annab abiinfot): "
+
+#: fdisk/fdiskbsdlabel.c:284 fdisk/fdisk.c:2052 fdisk/fdisksgilabel.c:651
+#: fdisk/fdisksunlabel.c:431
+#, c-format
+msgid "First %s"
+msgstr "Esimene %s"
+
+#: fdisk/fdiskbsdlabel.c:291 fdisk/fdisksunlabel.c:488
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr "Viimane %s või +suurus või +suurusM või +suurusK"
+
+#: fdisk/fdiskbsdlabel.c:318
+#, c-format
+msgid "type: %s\n"
+msgstr "tüüp: %s\n"
+
+#: fdisk/fdiskbsdlabel.c:320
+#, c-format
+msgid "type: %d\n"
+msgstr "tüüp: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:321
+#, c-format
+msgid "disk: %.*s\n"
+msgstr "ketas: %.*s\n"
+
+#: fdisk/fdiskbsdlabel.c:322
+#, c-format
+msgid "label: %.*s\n"
+msgstr "märgend: %.*s\n"
+
+#: fdisk/fdiskbsdlabel.c:323
+#, c-format
+msgid "flags:"
+msgstr "lipud:"
+
+#: fdisk/fdiskbsdlabel.c:325
+#, c-format
+msgid " removable"
+msgstr " eemaldatav"
+
+#: fdisk/fdiskbsdlabel.c:327
+#, c-format
+msgid " ecc"
+msgstr " ecc"
+
+#: fdisk/fdiskbsdlabel.c:329
+#, c-format
+msgid " badsect"
+msgstr " badsect"
+
+#: fdisk/fdiskbsdlabel.c:333
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr "baite sektoris: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:334
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr "sektoreid rajal: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:335
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr "radu silindris: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:336
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr "sektoreid silindris: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:337
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr "silindreid: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:338
+#, c-format
+msgid "rpm: %d\n"
+msgstr "rpm: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:339
+#, c-format
+msgid "interleave: %d\n"
+msgstr "interleave: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:340
+#, c-format
+msgid "trackskew: %d\n"
+msgstr "trackskew: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:341
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr "cylinderskew: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:342
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr "peade vahetus: %ld\t\t# millisekundit\n"
+
+#: fdisk/fdiskbsdlabel.c:344
+#, c-format
+msgid "track-to-track seek: %ld\t# milliseconds\n"
+msgstr ""
+"rajalt rajale seek: %ld\n"
+"# millisekundit\n"
+
+#: fdisk/fdiskbsdlabel.c:346
+#, c-format
+msgid "drivedata: "
+msgstr "seadme andmed: "
+
+#: fdisk/fdiskbsdlabel.c:355
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+"\n"
+"%d partitsiooni:\n"
+
+#: fdisk/fdiskbsdlabel.c:356
+#, c-format
+msgid "#       start       end      size     fstype   [fsize bsize   cpg]\n"
+msgstr "#       algus       lõpp     maht     fstüüp   [fmaht bmaht   cpg]\n"
+
+#: fdisk/fdiskbsdlabel.c:405 fdisk/fdiskbsdlabel.c:408
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr "Kirjutan partitsioonitabelit seadmele %s\n"
+
+#: fdisk/fdiskbsdlabel.c:420 fdisk/fdiskbsdlabel.c:422
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr "%s ei sisalda partitsioonitabelit\n"
+
+#: fdisk/fdiskbsdlabel.c:427
+msgid "Do you want to create a disklabel? (y/n) "
+msgstr "Kas soovite luua partitsioonitabelit? (y/n) "
+
+#: fdisk/fdiskbsdlabel.c:467
+msgid "bytes/sector"
+msgstr "baiti sektoris"
+
+#: fdisk/fdiskbsdlabel.c:468
+msgid "sectors/track"
+msgstr "sektorit rajal"
+
+#: fdisk/fdiskbsdlabel.c:469
+msgid "tracks/cylinder"
+msgstr "rada silindris"
+
+#: fdisk/fdiskbsdlabel.c:470 fdisk/fdisk.c:648 fdisk/fdisk.c:1357
+#: fdisk/sfdisk.c:945
+msgid "cylinders"
+msgstr "silindrit"
+
+#: fdisk/fdiskbsdlabel.c:477
+msgid "sectors/cylinder"
+msgstr "sektorit silindris"
+
+#: fdisk/fdiskbsdlabel.c:481
+#, c-format
+msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
+msgstr "Peab olema <= sektoritest rajal * radadest silindril (vaikimisi)\n"
+
+#: fdisk/fdiskbsdlabel.c:483
+msgid "rpm"
+msgstr "rpm"
+
+#: fdisk/fdiskbsdlabel.c:484
+msgid "interleave"
+msgstr "interleave"
+
+#: fdisk/fdiskbsdlabel.c:485
+msgid "trackskew"
+msgstr "trackskew"
+
+#: fdisk/fdiskbsdlabel.c:486
+msgid "cylinderskew"
+msgstr "cylinderskew"
+
+#: fdisk/fdiskbsdlabel.c:487
+msgid "headswitch"
+msgstr "headswitch"
+
+#: fdisk/fdiskbsdlabel.c:488
+msgid "track-to-track seek"
+msgstr "rajalt rajale seek"
+
+#: fdisk/fdiskbsdlabel.c:529
+#, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr "Bootstrap: %sboot -> boot%s (%s): "
+
+#: fdisk/fdiskbsdlabel.c:554
+#, c-format
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr "Bootstrap kattub partitsioonitabeliga!\n"
+
+#: fdisk/fdiskbsdlabel.c:575 fdisk/fdiskbsdlabel.c:577
+#, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr "Bootstrap sai installitud seadmele %s\n"
+
+#: fdisk/fdiskbsdlabel.c:599
+#, c-format
+msgid "Partition (a-%c): "
+msgstr "Partitsioon (a-%c): "
+
+#: fdisk/fdiskbsdlabel.c:618 fdisk/fdisk.c:2199
+#, c-format
+msgid "The maximum number of partitions has been created\n"
+msgstr "Maksimaalne arv partitsioone on juba loodud\n"
+
+#: fdisk/fdiskbsdlabel.c:630
+#, c-format
+msgid "This partition already exists.\n"
+msgstr "See partitsioon on juba olemas\n"
+
+#: fdisk/fdiskbsdlabel.c:757
+#, c-format
+msgid "Warning: too many partitions (%d, maximum is %d).\n"
+msgstr "Hoiatus: liiga palju partitsioone (%d, maksimum on %d)\n"
+
+#: fdisk/fdiskbsdlabel.c:805
+#, c-format
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+"\n"
+"Kirjutan puhvreid kettale\n"
+
+#: fdisk/fdisk.c:244
+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"
+
+#: fdisk/fdisk.c:256
+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"
+
+#: fdisk/fdisk.c:265
+#, c-format
+msgid "Unable to open %s\n"
+msgstr "Ei suuda avada seadet %s\n"
+
+#: fdisk/fdisk.c:269
+#, c-format
+msgid "Unable to read %s\n"
+msgstr "Ei suuda lugeda seadet %s\n"
+
+#: fdisk/fdisk.c:273
+#, c-format
+msgid "Unable to seek on %s\n"
+msgstr "Ei suuda seekida seadmel %s\n"
+
+#: fdisk/fdisk.c:277
+#, c-format
+msgid "Unable to write %s\n"
+msgstr "Ei suuda kirjutada seadmele %s\n"
+
+#: fdisk/fdisk.c:281
+#, c-format
+msgid "BLKGETSIZE ioctl failed on %s\n"
+msgstr "BLKGETSIZE ioctl ei õnnestunud seadmel %s\n"
+
+#: fdisk/fdisk.c:285
+msgid "Unable to allocate any more memory\n"
+msgstr "Mälu sai otsa\n"
+
+#: fdisk/fdisk.c:288
+msgid "Fatal error\n"
+msgstr "Fataalne viga\n"
+
+#: fdisk/fdisk.c:387
+msgid "   a   toggle a read only flag"
+msgstr "   a   lülitada kirjutuskaitse lipp sisse/välja"
+
+#: fdisk/fdisk.c:388 fdisk/fdisk.c:432
+msgid "   b   edit bsd disklabel"
+msgstr "   b redigeerida NSD partitsioonitabelit"
+
+#: fdisk/fdisk.c:389
+msgid "   c   toggle the mountable flag"
+msgstr "   c   lülitada monteeritavuse lipp sisse/välja"
+
+#: fdisk/fdisk.c:390 fdisk/fdisk.c:409 fdisk/fdisk.c:434
+msgid "   d   delete a partition"
+msgstr "   d   kustutada partitsioon"
+
+#: fdisk/fdisk.c:391 fdisk/fdisk.c:410 fdisk/fdisk.c:435
+msgid "   l   list known partition types"
+msgstr "   l   anda nimekiri tuntud partitsioonitüüpidest"
+
+#: fdisk/fdisk.c:393 fdisk/fdisk.c:412 fdisk/fdisk.c:437
+msgid "   n   add a new partition"
+msgstr "   n   lisada uus partitsioon"
+
+#: fdisk/fdisk.c:394 fdisk/fdisk.c:413 fdisk/fdisk.c:425 fdisk/fdisk.c:438
+msgid "   o   create a new empty DOS partition table"
+msgstr "   o   luua uus tühi DOSi partitsioonitabel"
+
+#: fdisk/fdisk.c:395 fdisk/fdisk.c:414 fdisk/fdisk.c:439 fdisk/fdisk.c:462
+#: fdisk/fdisk.c:479 fdisk/fdisk.c:495 fdisk/fdisk.c:513
+msgid "   p   print the partition table"
+msgstr "   p   näidata partitsioonitabelit"
+
+#: fdisk/fdisk.c:397 fdisk/fdisk.c:416 fdisk/fdisk.c:427 fdisk/fdisk.c:441
+msgid "   s   create a new empty Sun disklabel"
+msgstr "   s   luua uus tühi Sun'i partitsioonitabel"
+
+#: fdisk/fdisk.c:398 fdisk/fdisk.c:417 fdisk/fdisk.c:442
+msgid "   t   change a partition's system id"
+msgstr "   t   muuta partitsiooni tüüpi"
+
+#: fdisk/fdisk.c:399 fdisk/fdisk.c:418 fdisk/fdisk.c:443
+msgid "   u   change display/entry units"
+msgstr "   u   muuta sisestamise ja tabeli näitamise ühikuid"
+
+#: fdisk/fdisk.c:400 fdisk/fdisk.c:419 fdisk/fdisk.c:444 fdisk/fdisk.c:466
+#: fdisk/fdisk.c:483 fdisk/fdisk.c:499 fdisk/fdisk.c:517
+msgid "   v   verify the partition table"
+msgstr "   v   kontrollida partitsioonitabelit"
+
+#: fdisk/fdisk.c:401 fdisk/fdisk.c:420 fdisk/fdisk.c:445 fdisk/fdisk.c:467
+#: fdisk/fdisk.c:484 fdisk/fdisk.c:500 fdisk/fdisk.c:518
+msgid "   w   write table to disk and exit"
+msgstr "   w   kirjutada tabel kettale ja väljuda"
+
+#: fdisk/fdisk.c:402 fdisk/fdisk.c:446
+msgid "   x   extra functionality (experts only)"
+msgstr "   x   lisafunktsionaalsus (ainult ekspertidele)"
+
+#: fdisk/fdisk.c:406
+msgid "   a   select bootable partition"
+msgstr "   a   valida buutiv partitsioon"
+
+#: fdisk/fdisk.c:407
+msgid "   b   edit bootfile entry"
+msgstr "   b   redigeerida buutfaili kirjet"
+
+#: fdisk/fdisk.c:408
+msgid "   c   select sgi swap partition"
+msgstr "   c   valida SGI saalimispartitsioon"
+
+#: fdisk/fdisk.c:431
+msgid "   a   toggle a bootable flag"
+msgstr "   a   lülitada buuditavuse lipp sisse/välja"
+
+#: fdisk/fdisk.c:433
+msgid "   c   toggle the dos compatibility flag"
+msgstr "   c   lülitada DOSiga ühilduvuse rezhiim sisse/välja"
+
+#: fdisk/fdisk.c:454
+msgid "   a   change number of alternate cylinders"
+msgstr "   a   muuta alternatiivsete silindrite arvu"
+
+#: fdisk/fdisk.c:455 fdisk/fdisk.c:473 fdisk/fdisk.c:489 fdisk/fdisk.c:505
+msgid "   c   change number of cylinders"
+msgstr "   c   muuta silindrite arvu"
+
+#: fdisk/fdisk.c:456 fdisk/fdisk.c:474 fdisk/fdisk.c:490 fdisk/fdisk.c:506
+msgid "   d   print the raw data in the partition table"
+msgstr "   d   näidata partitsioonitabelit baidikaupa"
+
+#: fdisk/fdisk.c:457
+msgid "   e   change number of extra sectors per cylinder"
+msgstr "   e   muuta lisasektorite arvu silindril"
+
+#: fdisk/fdisk.c:458 fdisk/fdisk.c:477 fdisk/fdisk.c:493 fdisk/fdisk.c:510
+msgid "   h   change number of heads"
+msgstr "   h   muuta peade arvu"
+
+#: fdisk/fdisk.c:459
+msgid "   i   change interleave factor"
+msgstr "   i   muuta interleave-tegurit"
+
+#: fdisk/fdisk.c:460
+msgid "   o   change rotation speed (rpm)"
+msgstr "   o   muuta pöörlemise kiirust (rpm)"
+
+#: fdisk/fdisk.c:465 fdisk/fdisk.c:482 fdisk/fdisk.c:498 fdisk/fdisk.c:516
+msgid "   s   change number of sectors/track"
+msgstr "   s   muuta sektorite arvu rajal"
+
+#: fdisk/fdisk.c:468
+msgid "   y   change number of physical cylinders"
+msgstr "   y   muuta füüsiliste silindrite arvu"
+
+#: fdisk/fdisk.c:472 fdisk/fdisk.c:488 fdisk/fdisk.c:504
+msgid "   b   move beginning of data in a partition"
+msgstr "   b   liigutada andmete algust partitsioonis"
+
+#: fdisk/fdisk.c:475 fdisk/fdisk.c:491 fdisk/fdisk.c:507
+msgid "   e   list extended partitions"
+msgstr "   e   näidata extended-partitsioonide nimekirja"
+
+#: fdisk/fdisk.c:476 fdisk/fdisk.c:492 fdisk/fdisk.c:509
+msgid "   g   create an IRIX (SGI) partition table"
+msgstr "   g   luua IRIXi (SGI) partitsioonitabel"
+
+#: fdisk/fdisk.c:508
+msgid "   f   fix partition order"
+msgstr "   f   parandada partitsioonide järjekord"
+
+#: fdisk/fdisk.c:511
+#, fuzzy
+msgid "   i   change the disk identifier"
+msgstr "   u   muuta sisestamise ja tabeli näitamise ühikuid"
+
+#: fdisk/fdisk.c:627
+#, c-format
+msgid "You must set"
+msgstr "Te peate määrama, et eksisteerib nii-ja-nii-mitu"
+
+#: fdisk/fdisk.c:644
+msgid "heads"
+msgstr "pead"
+
+#: fdisk/fdisk.c:646 fdisk/fdisk.c:1357 fdisk/sfdisk.c:945
+msgid "sectors"
+msgstr "sektorit"
+
+#: fdisk/fdisk.c:652
+#, 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"
+
+#: fdisk/fdisk.c:653
+msgid " and "
+msgstr " ja "
+
+#: fdisk/fdisk.c:670
+#, c-format
+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"
+
+#: fdisk/fdisk.c:683
+#, 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 %d-byte sectors. Use parted(1) and GUID \n"
+"partition table format (GPT).\n"
+"\n"
+msgstr ""
+
+#: fdisk/fdisk.c:708
+#, c-format
+msgid "Bad offset in primary extended partition\n"
+msgstr "Vigane offset primaarses extended-partitsioonis\n"
+
+#: fdisk/fdisk.c:722
+#, c-format
+msgid ""
+"Warning: omitting partitions after #%d.\n"
+"They will be deleted if you save this partition table.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:741
+#, c-format
+msgid "Warning: extra link pointer in partition table %d\n"
+msgstr "Hoiatus: üleliigne 'link pointer' partitsioonitabelis %d\n"
+
+#: fdisk/fdisk.c:749
+#, c-format
+msgid "Warning: ignoring extra data in partition table %d\n"
+msgstr "Hoiatus: ignoreerin üleliigseid andmeid partitsioonitabelis %d\n"
+
+#: fdisk/fdisk.c:782
+#, fuzzy, c-format
+msgid "omitting empty partition (%d)\n"
+msgstr "Hoiatus: tühi partitsioon\n"
+
+#: fdisk/fdisk.c:801
+#, c-format
+msgid "Disk identifier: 0x%08x\n"
+msgstr ""
+
+#: fdisk/fdisk.c:810
+#, c-format
+msgid "New disk identifier (current 0x%08x): "
+msgstr ""
+
+#: fdisk/fdisk.c:829
+#, fuzzy, c-format
+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"
+
+#: fdisk/fdisk.c:861
+#, c-format
+msgid "Note: sector size is %d (not %d)\n"
+msgstr "Märkus: sektori suurus on %d (mitte %d)\n"
+
+#: fdisk/fdisk.c:990
+#, c-format
+msgid "You will not be able to write the partition table.\n"
+msgstr "Partitsioonitabelit ei saa salvestada\n"
+
+#: fdisk/fdisk.c:1022
+#, c-format
+msgid ""
+"This disk has both DOS and BSD magic.\n"
+"Give the 'b' command to go to BSD mode.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1032
+#, c-format
+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"
+
+#: fdisk/fdisk.c:1049
+#, c-format
+msgid "Internal error\n"
+msgstr "Sisemine viga\n"
+
+#: fdisk/fdisk.c:1062
+#, c-format
+msgid "Ignoring extra extended partition %d\n"
+msgstr "Ignoreerin lisa-extended partistsiooni %d\n"
+
+#: fdisk/fdisk.c:1074
+#, 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"
+
+#: fdisk/fdisk.c:1096
+#, c-format
+msgid ""
+"\n"
+"got EOF thrice - exiting..\n"
+msgstr ""
+"\n"
+"Sain EOF-i kolm korda järjest - aitab\n"
+
+#: fdisk/fdisk.c:1135
+msgid "Hex code (type L to list codes): "
+msgstr "Kuueteistkümnendsüsteemis kood (L näitab koodide nimekirja): "
+
+#: fdisk/fdisk.c:1175
+#, fuzzy, c-format
+msgid "%s (%u-%u, default %u): "
+msgstr "%s (%d-%d, vaikimisi %d): "
+
+#: fdisk/fdisk.c:1242
+#, c-format
+msgid "Unsupported suffix: '%s'.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1243
+#, c-format
+msgid ""
+"Supported: 10^N: KB (KiloByte), MB (MegaByte), GB (GigaByte)\n"
+"            2^N: K  (KibiByte), M  (MebiByte), G  (GibiByte)\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1269
+#, fuzzy, c-format
+msgid "Using default value %u\n"
+msgstr "Kasutan vaikimisi väärtust %d\n"
+
+#: fdisk/fdisk.c:1273
+#, c-format
+msgid "Value out of range.\n"
+msgstr "Väärtus on piiridest väljas\n"
+
+#: fdisk/fdisk.c:1283
+msgid "Partition number"
+msgstr "Partitsiooni number"
+
+#: fdisk/fdisk.c:1294
+#, c-format
+msgid "Warning: partition %d has empty type\n"
+msgstr "Hoiatus: partitsioonil %d on tühi tüüp\n"
+
+#: fdisk/fdisk.c:1316 fdisk/fdisk.c:1342
+#, fuzzy, c-format
+msgid "Selected partition %d\n"
+msgstr "Ignoreerin lisa-extended partistsiooni %d\n"
+
+#: fdisk/fdisk.c:1319
+#, fuzzy, c-format
+msgid "No partition is defined yet!\n"
+msgstr "Ühtegi partitsiooni pole defineeritud\n"
+
+#: fdisk/fdisk.c:1345
+#, c-format
+msgid "All primary partitions have been defined already!\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1355
+msgid "cylinder"
+msgstr "silinder"
+
+#: fdisk/fdisk.c:1355
+msgid "sector"
+msgstr "sektor"
+
+#: fdisk/fdisk.c:1364
+#, c-format
+msgid "Changing display/entry units to %s\n"
+msgstr "Sisestamisel ja näitamisel on nüüd ühikuteks %s\n"
+
+#: fdisk/fdisk.c:1375
+#, c-format
+msgid "WARNING: Partition %d is an extended partition\n"
+msgstr "Hoiatus: partitsioon %d on extended-partitsioon\n"
+
+#: fdisk/fdisk.c:1386
+#, c-format
+msgid "DOS Compatibility flag is set\n"
+msgstr "DOSiga ühilduvuse lipp on püsti\n"
+
+#: fdisk/fdisk.c:1390
+#, c-format
+msgid "DOS Compatibility flag is not set\n"
+msgstr "DOSiga ühilduvuse lipp pole püsti\n"
+
+#: fdisk/fdisk.c:1490
+#, c-format
+msgid "Partition %d does not exist yet!\n"
+msgstr "Partitsiooni %d pole veel olemas!\n"
+
+#: fdisk/fdisk.c:1495
+#, 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"
+
+#: fdisk/fdisk.c:1504
+#, 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"
+
+#: fdisk/fdisk.c:1513
+#, 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"
+
+#: fdisk/fdisk.c:1519
+#, 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"
+
+#: fdisk/fdisk.c:1536
+#, c-format
+msgid "Changed system type of partition %d to %x (%s)\n"
+msgstr "Partitsiooni %d tüüp on nüüd %x (%s)\n"
+
+#: fdisk/fdisk.c:1539
+#, 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"
+
+#: fdisk/fdisk.c:1591
+#, 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"
+
+#: fdisk/fdisk.c:1593 fdisk/fdisk.c:1601 fdisk/fdisk.c:1610 fdisk/fdisk.c:1620
+#, c-format
+msgid "     phys=(%d, %d, %d) "
+msgstr "     füüs=(%d, %d, %d) "
+
+#: fdisk/fdisk.c:1594 fdisk/fdisk.c:1602
+#, c-format
+msgid "logical=(%d, %d, %d)\n"
+msgstr "loogiline=(%d, %d, %d)\n"
+
+#: fdisk/fdisk.c:1599
+#, c-format
+msgid "Partition %d has different physical/logical endings:\n"
+msgstr "Partitsiooni %d füüsiline ja loogiline lõpp ei lange kokku:\n"
+
+#: fdisk/fdisk.c:1608
+#, c-format
+msgid "Partition %i does not start on cylinder boundary:\n"
+msgstr "Partitsioon %i ei alga silindri piirilt:\n"
+
+#: fdisk/fdisk.c:1611
+#, c-format
+msgid "should be (%d, %d, 1)\n"
+msgstr "peaks olema (%d, %d, 1)\n"
+
+#: fdisk/fdisk.c:1617
+#, fuzzy, c-format
+msgid "Partition %i does not end on cylinder boundary.\n"
+msgstr "Partitsioon %d ei lõppe silindri piiril\n"
+
+#: fdisk/fdisk.c:1621
+#, c-format
+msgid "should be (%d, %d, %d)\n"
+msgstr "peaks olema (%d, %d, %d)\n"
+
+#: fdisk/fdisk.c:1633
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld MB, %lld bytes\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1637
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %ld.%ld GB, %lld bytes\n"
+msgstr ""
+"\n"
+"Ketas %s: %d pead, %d sektorit rajal, %d silindrit\n"
+"\n"
+
+#: fdisk/fdisk.c:1640
+#, fuzzy, c-format
+msgid "%d heads, %llu sectors/track, %d cylinders"
+msgstr ""
+"\n"
+"Ketas %s: %d pead, %d sektorit rajal, %d silindrit\n"
+"\n"
+
+#: fdisk/fdisk.c:1643
+#, c-format
+msgid ", total %llu sectors"
+msgstr ""
+
+#: fdisk/fdisk.c:1646
+#, fuzzy, c-format
+msgid "Units = %s of %d * %d = %d bytes\n"
+msgstr ""
+"\n"
+"Ketas %s: %d pead, %d sektorit rajal, %d silindrit\n"
+"\n"
+
+#: fdisk/fdisk.c:1757
+#, c-format
+msgid ""
+"Nothing to do. Ordering is correct already.\n"
+"\n"
+msgstr ""
+"Midagi pole vaja teha, järjestus on juba õige\n"
+"\n"
+
+#: fdisk/fdisk.c:1785
+#, fuzzy, c-format
+msgid "Done.\n"
+msgstr ""
+"Valmis\n"
+"\n"
+
+#: fdisk/fdisk.c:1813
+#, c-format
+msgid ""
+"This doesn't look like a partition table\n"
+"Probably you selected the wrong device.\n"
+"\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1826
+#, fuzzy, c-format
+msgid "%*s Boot      Start         End      Blocks   Id  System\n"
+msgstr "%*s Boot    Algus       Lõpp   Plokke   Id  Süsteem\n"
+
+#: fdisk/fdisk.c:1827 fdisk/fdisksgilabel.c:223 fdisk/fdisksunlabel.c:603
+msgid "Device"
+msgstr "Seade"
+
+#: fdisk/fdisk.c:1864
+#, c-format
+msgid ""
+"\n"
+"Partition table entries are not in disk order\n"
+msgstr ""
+"\n"
+"Partitsioonitabeli kirjed on füüsilisest erinevas järjekorras\n"
+
+#: fdisk/fdisk.c:1874
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %d cylinders\n"
+"\n"
+msgstr ""
+"\n"
+"Ketas %s: %d pead, %d sektorit rajal, %d silindrit\n"
+"\n"
+
+#: fdisk/fdisk.c:1876
+#, 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"
+
+#: fdisk/fdisk.c:1922
+#, c-format
+msgid "Warning: partition %d contains sector 0\n"
+msgstr "Hoiatus: partitsioon %d sisaldab sektorit 0\n"
+
+#: fdisk/fdisk.c:1925
+#, c-format
+msgid "Partition %d: head %d greater than maximum %d\n"
+msgstr "Partitsioon %d: pea %d on suurem kui peade arv %d\n"
+
+#: fdisk/fdisk.c:1928
+#, 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"
+
+#: fdisk/fdisk.c:1931
+#, c-format
+msgid "Partitions %d: cylinder %d greater than maximum %d\n"
+msgstr "Partitsioon %d: silinder %d on suurem kui silindrite arv %d\n"
+
+#: fdisk/fdisk.c:1935
+#, 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"
+
+#: fdisk/fdisk.c:1968
+#, c-format
+msgid "Warning: bad start-of-data in partition %d\n"
+msgstr "Hoiatus: partitsioonis %d on andmete algus vigane\n"
+
+#: fdisk/fdisk.c:1976
+#, c-format
+msgid "Warning: partition %d overlaps partition %d.\n"
+msgstr "Hoiatus: partitsioon %d kattub partitsiooniga %d\n"
+
+#: fdisk/fdisk.c:1996
+#, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr "Hoiatus: partitsioon %d on tühi\n"
+
+#: fdisk/fdisk.c:2001
+#, c-format
+msgid "Logical partition %d not entirely in partition %d\n"
+msgstr "Loogiline partitsioon %d pole üleni partitsioonis %d\n"
+
+#: fdisk/fdisk.c:2007
+#, 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"
+
+#: fdisk/fdisk.c:2010
+#, fuzzy, c-format
+msgid "%lld unallocated %d-byte sectors\n"
+msgstr "%d vaba sektorit\n"
+
+#: fdisk/fdisk.c:2025 fdisk/fdisksgilabel.c:633 fdisk/fdisksunlabel.c:416
+#, 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"
+
+#: fdisk/fdisk.c:2067
+#, fuzzy, c-format
+msgid "Sector %llu is already allocated\n"
+msgstr "Sektor%d on juba kasutusel\n"
+
+#: fdisk/fdisk.c:2103
+#, c-format
+msgid "No free sectors available\n"
+msgstr "Vabad sektorid on otsas\n"
+
+#: fdisk/fdisk.c:2112
+#, c-format
+msgid "Last %1$s, +%2$s or +size{K,M,G}"
+msgstr ""
+
+#: fdisk/fdisk.c:2178
+#, 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"
+
+#: fdisk/fdisk.c:2187
+#, 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"
+
+#: fdisk/fdisk.c:2207
+#, c-format
+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"
+
+#: fdisk/fdisk.c:2210
+#, fuzzy, c-format
+msgid "All logical partitions are in use\n"
+msgstr "Loogilised partitsioonid on füüsilisest erinevas järjestuses"
+
+#: fdisk/fdisk.c:2211
+#, fuzzy, c-format
+msgid "Adding a primary partition\n"
+msgstr "Vigane primaarne partitsioon"
+
+#: fdisk/fdisk.c:2216
+#, c-format
+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"
+
+#: fdisk/fdisk.c:2218
+msgid "l   logical (5 or over)"
+msgstr "l   loogilise partitsiooni (5-...) loomine"
+
+#: fdisk/fdisk.c:2218
+msgid "e   extended"
+msgstr "e   extended partitsiooni loomine"
+
+#: fdisk/fdisk.c:2237
+#, c-format
+msgid "Invalid partition number for type `%c'\n"
+msgstr "Vigane partitsiooni number tüübile `%c'\n"
+
+#: fdisk/fdisk.c:2273
+#, c-format
+msgid ""
+"The partition table has been altered!\n"
+"\n"
+msgstr ""
+"Partitsioonitabelit on muudetud!\n"
+"\n"
+
+#: fdisk/fdisk.c:2287
+#, c-format
+msgid "Calling ioctl() to re-read partition table.\n"
+msgstr "Kasutan ioctl() partitsioonitabeli uuesti lugemiseks\n"
+
+#: fdisk/fdisk.c:2296
+#, fuzzy, c-format
+msgid ""
+"\n"
+"WARNING: Re-reading the partition table failed with error %d: %s.\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"
+
+#: fdisk/fdisk.c:2304
+#, 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"
+
+#: fdisk/fdisk.c:2310
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Error closing file\n"
+msgstr "Viga %s sulgemisel\n"
+
+#: fdisk/fdisk.c:2314
+#, c-format
+msgid "Syncing disks.\n"
+msgstr "Kirjutan puhvreid kettale\n"
+
+#: fdisk/fdisk.c:2361
+#, c-format
+msgid "Partition %d has no data area\n"
+msgstr "Partitsioonil %d pole andmetele ruumi eraldatud\n"
+
+#: fdisk/fdisk.c:2366
+msgid "New beginning of data"
+msgstr "Andmete uus algus"
+
+#: fdisk/fdisk.c:2382
+msgid "Expert command (m for help): "
+msgstr "Eksperdi käsk (m annab abiinfot): "
+
+#: fdisk/fdisk.c:2395
+msgid "Number of cylinders"
+msgstr "Sisestage silindrite arv"
+
+#: fdisk/fdisk.c:2422
+msgid "Number of heads"
+msgstr "Sisetage peade arv"
+
+#: fdisk/fdisk.c:2449
+msgid "Number of sectors"
+msgstr "Sisetage sektorite arv"
+
+#: fdisk/fdisk.c:2452
+#, c-format
+msgid "Warning: setting sector offset for DOS compatiblity\n"
+msgstr "Hoiatus: sean sektorite offseti DOSiga ühilduvuse jaoks\n"
+
+#: fdisk/fdisk.c:2511
+#, 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 ""
+
+#: fdisk/fdisk.c:2533
+#, c-format
+msgid "Disk %s doesn't contain a valid partition table\n"
+msgstr "Seade %s ei sisalda äratuntavat partitsioonitabelit\n"
+
+#: fdisk/fdisk.c:2544
+#, c-format
+msgid "Cannot open %s\n"
+msgstr "Ei suuda avada seadmefaili %s\n"
+
+#: fdisk/fdisk.c:2563 fdisk/sfdisk.c:2618
+#, c-format
+msgid "cannot open %s\n"
+msgstr "Ei suuda avada faili %s\n"
+
+#: fdisk/fdisk.c:2583
+#, c-format
+msgid "%c: unknown command\n"
+msgstr "%c: tundmatu käsk\n"
+
+#: fdisk/fdisk.c:2653
+#, c-format
+msgid "This kernel finds the sector size itself - -b option ignored\n"
+msgstr "Kasutatav tuum leiab sektori suuruse ise - ignoreerin -b võtit\n"
+
+#: fdisk/fdisk.c:2657
+#, 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"
+
+#: fdisk/fdisk.c:2717
+#, 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"
+
+#: fdisk/fdisk.c:2727
+msgid "Command (m for help): "
+msgstr "Käsk (m annab abiinfot): "
+
+#: fdisk/fdisk.c:2743
+#, c-format
+msgid ""
+"\n"
+"The current boot file is: %s\n"
+msgstr ""
+"\n"
+"Aktiivne buutfail on %s\n"
+
+#: fdisk/fdisk.c:2745
+msgid "Please enter the name of the new boot file: "
+msgstr "Palun sisestage uue buutfaili nimi: "
+
+#: fdisk/fdisk.c:2747
+#, c-format
+msgid "Boot file unchanged\n"
+msgstr "Buutfail jäi samaks\n"
+
+#: fdisk/fdisk.c:2820
+#, c-format
+msgid ""
+"\n"
+"\tSorry, no experts menu for SGI partition tables available.\n"
+"\n"
+msgstr ""
+"\n"
+"\tVabandust, SGI partitsioonitabeli jaoks pole ekspertmenüüd\n"
+"\n"
+
+#: fdisk/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)."
+
+#: fdisk/fdisksgilabel.c:81
+msgid "SGI volhdr"
+msgstr "SGI volhdr"
+
+#: fdisk/fdisksgilabel.c:82
+msgid "SGI trkrepl"
+msgstr "SGI trkrepl"
+
+#: fdisk/fdisksgilabel.c:83
+msgid "SGI secrepl"
+msgstr "SGI secrepl"
+
+#: fdisk/fdisksgilabel.c:84
+msgid "SGI raw"
+msgstr "SGI raw"
+
+#: fdisk/fdisksgilabel.c:85
+msgid "SGI bsd"
+msgstr "SGI bsd"
+
+#: fdisk/fdisksgilabel.c:86
+msgid "SGI sysv"
+msgstr "SGI sysv"
+
+#: fdisk/fdisksgilabel.c:87
+msgid "SGI volume"
+msgstr "SGI volume"
+
+#: fdisk/fdisksgilabel.c:88
+msgid "SGI efs"
+msgstr "SGI efs"
+
+#: fdisk/fdisksgilabel.c:89
+msgid "SGI lvol"
+msgstr "SGI lvol"
+
+#: fdisk/fdisksgilabel.c:90
+msgid "SGI rlvol"
+msgstr "SGI rvol"
+
+#: fdisk/fdisksgilabel.c:91
+msgid "SGI xfs"
+msgstr "SGI xfs"
+
+#: fdisk/fdisksgilabel.c:92
+msgid "SGI xfslog"
+msgstr "SGI xfslog"
+
+#: fdisk/fdisksgilabel.c:93
+msgid "SGI xlv"
+msgstr "SGI xlv"
+
+#: fdisk/fdisksgilabel.c:94
+msgid "SGI xvm"
+msgstr "SGI xvm"
+
+#: fdisk/fdisksgilabel.c:95 fdisk/fdisksunlabel.c:55
+msgid "Linux swap"
+msgstr "Linuxi swap"
+
+#: fdisk/fdisksgilabel.c:96 fdisk/fdisksunlabel.c:56
+msgid "Linux native"
+msgstr "Linuxi andmed"
+
+#: fdisk/fdisksgilabel.c:97 fdisk/fdisksunlabel.c:57 fdisk/i386_sys_types.c:63
+msgid "Linux LVM"
+msgstr "Linux LVM"
+
+#: fdisk/fdisksgilabel.c:98
+msgid "Linux RAID"
+msgstr "Linux RAID"
+
+#: fdisk/fdisksgilabel.c:164
+#, 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"
+
+#: fdisk/fdisksgilabel.c:183
+#, c-format
+msgid "Detected sgi disklabel with wrong checksum.\n"
+msgstr "Leidsin vale kontrollsummaga SGI partitsioonitabeli\n"
+
+#: fdisk/fdisksgilabel.c:201
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors\n"
+"%d cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * %d 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"
+
+#: fdisk/fdisksgilabel.c:214
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors, %d cylinders\n"
+"Units = %s of %d * %d bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Ketas %s (SGI partitsioonitabel): %d pead, %d sektorit, %d silindrit\n"
+"Ühikud = %s suurusega %d * 512 baiti\n"
+"\n"
+
+#: fdisk/fdisksgilabel.c:221
+#, 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"
+
+#: fdisk/fdisksgilabel.c:243
+#, c-format
+msgid ""
+"----- Bootinfo -----\n"
+"Bootfile: %s\n"
+"----- Directory Entries -----\n"
+msgstr ""
+"----- Buutinfo -----\n"
+"Buutfail: %s\n"
+"----- Kataloogikirjed -----\n"
+
+#: fdisk/fdisksgilabel.c:251
+#, c-format
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr "%2d: %-10s sektor %5u pikkus %8u\n"
+
+#: fdisk/fdisksgilabel.c:305
+#, 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"
+
+#: fdisk/fdisksgilabel.c:311
+#, 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"
+
+#: fdisk/fdisksgilabel.c:316
+#, c-format
+msgid ""
+"\n"
+"\tBootfile must have a fully qualified pathname.\n"
+msgstr ""
+"\n"
+"\tBuutfail tuleb anda täisteega\n"
+
+#: fdisk/fdisksgilabel.c:323
+#, 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"
+
+#: fdisk/fdisksgilabel.c:349
+#, c-format
+msgid ""
+"\n"
+"\tBootfile is changed to \"%s\".\n"
+msgstr ""
+"\n"
+"\tUueks buutfailiks on \"%s\"\n"
+
+#: fdisk/fdisksgilabel.c:439
+#, c-format
+msgid "More than one entire disk entry present.\n"
+msgstr "Tabelis on rohekm kui üks terve ketta kirje\n"
+
+#: fdisk/fdisksgilabel.c:446 fdisk/fdisksunlabel.c:388
+#, c-format
+msgid "No partitions defined\n"
+msgstr "Ühtegi partitsiooni pole defineeritud\n"
+
+#: fdisk/fdisksgilabel.c:452
+#, c-format
+msgid "IRIX likes when Partition 11 covers the entire disk.\n"
+msgstr "IRIXile meeldib, et partitsioon 11 katab kogu ketta\n"
+
+#: fdisk/fdisksgilabel.c:454
+#, 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"
+
+#: fdisk/fdisksgilabel.c:460
+#, 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"
+
+#: fdisk/fdisksgilabel.c:466
+#, c-format
+msgid "One Partition (#11) should cover the entire disk.\n"
+msgstr "Mingi partitsioon (soovitavalt number 11) peab katma kogu ketta\n"
+
+#: fdisk/fdisksgilabel.c:476
+#, c-format
+msgid "Partition %d does not start on cylinder boundary.\n"
+msgstr "Partitsioon %d ei alga silindri piirilt\n"
+
+#: fdisk/fdisksgilabel.c:482
+#, c-format
+msgid "Partition %d does not end on cylinder boundary.\n"
+msgstr "Partitsioon %d ei lõppe silindri piiril\n"
+
+#: fdisk/fdisksgilabel.c:489
+#, c-format
+msgid "The Partition %d and %d overlap by %d sectors.\n"
+msgstr "Partitsioonid %d ja %d kattuvad %d sektori ulatuses\n"
+
+#: fdisk/fdisksgilabel.c:497 fdisk/fdisksgilabel.c:515
+#, fuzzy, c-format
+msgid "Unused gap of %8u sectors - sectors %8u-%u\n"
+msgstr "Kasutamata auk %8d sektorist - sektorid %8d-%d\n"
+
+#: fdisk/fdisksgilabel.c:526
+#, c-format
+msgid ""
+"\n"
+"The boot partition does not exist.\n"
+msgstr ""
+"\n"
+"Buutpartitsiooni ei eksisteeri\n"
+
+#: fdisk/fdisksgilabel.c:529
+#, c-format
+msgid ""
+"\n"
+"The swap partition does not exist.\n"
+msgstr ""
+"\n"
+"Saalimispartitsiooni ei eksisteeri\n"
+
+#: fdisk/fdisksgilabel.c:533
+#, c-format
+msgid ""
+"\n"
+"The swap partition has no swap type.\n"
+msgstr ""
+"\n"
+"Saalimispartitsioonil pole saalimispartitsiooni tüüp\n"
+
+#: fdisk/fdisksgilabel.c:536
+#, c-format
+msgid "\tYou have chosen an unusual boot file name.\n"
+msgstr "\tTe olete valinud ebahariliku buutfaili nime\n"
+
+#: fdisk/fdisksgilabel.c:545
+#, c-format
+msgid "Sorry You may change the Tag of non-empty partitions.\n"
+msgstr "Tüüpi saab muuta ainult mittetühjadel partitsioonidel\n"
+
+#: fdisk/fdisksgilabel.c:551
+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"
+
+#: fdisk/fdisksgilabel.c:556 fdisk/fdisksunlabel.c:554
+msgid "YES\n"
+msgstr "YES\n"
+
+#: fdisk/fdisksgilabel.c:581
+#, c-format
+msgid "Do You know, You got a partition overlap on the disk?\n"
+msgstr "Kas teate, et mõned partitsioonid kattuvad omavahel?\n"
+
+#: fdisk/fdisksgilabel.c:639
+#, c-format
+msgid "Attempting to generate entire disk entry automatically.\n"
+msgstr "Üritan genereerida terve ketta kirjet automaatselt\n"
+
+#: fdisk/fdisksgilabel.c:644
+#, c-format
+msgid "The entire disk is already covered with partitions.\n"
+msgstr "Terve ketas on juba partitsioonidega kaetud\n"
+
+#: fdisk/fdisksgilabel.c:648
+#, 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"
+
+#: fdisk/fdisksgilabel.c:657 fdisk/fdisksgilabel.c:686
+#, 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"
+
+#: fdisk/fdisksgilabel.c:673
+#, 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"
+
+#: fdisk/fdisksgilabel.c:678
+#, c-format
+msgid " Last %s"
+msgstr "Viimane %s"
+
+#: fdisk/fdisksgilabel.c:708
+#, c-format
+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"
+
+#: fdisk/fdisksgilabel.c:731 fdisk/fdisksunlabel.c:227
+#, c-format
+msgid ""
+"Warning:  BLKGETSIZE ioctl failed on %s.  Using geometry cylinder value of %"
+"d.\n"
+"This value may be truncated for devices > 33.8 GB.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:745
+#, c-format
+msgid "Trying to keep parameters of partition %d.\n"
+msgstr "Üritan säilitada partitsiooni %d parameetrid\n"
+
+#: fdisk/fdisksgilabel.c:747
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+
+#: fdisk/fdisksunlabel.c:43
+msgid "Unassigned"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:45
+msgid "SunOS root"
+msgstr "SunOS root"
+
+#: fdisk/fdisksunlabel.c:46
+msgid "SunOS swap"
+msgstr "SunOS swap"
+
+#: fdisk/fdisksunlabel.c:47
+msgid "SunOS usr"
+msgstr "SunOS usr"
+
+#: fdisk/fdisksunlabel.c:48
+msgid "Whole disk"
+msgstr "Terve ketas"
+
+#: fdisk/fdisksunlabel.c:49
+msgid "SunOS stand"
+msgstr "SunOS stand"
+
+#: fdisk/fdisksunlabel.c:50
+msgid "SunOS var"
+msgstr "SunOS var"
+
+#: fdisk/fdisksunlabel.c:51
+msgid "SunOS home"
+msgstr "SunOS home"
+
+#: fdisk/fdisksunlabel.c:52
+#, fuzzy
+msgid "SunOS alt sectors"
+msgstr "%d vaba sektorit\n"
+
+#: fdisk/fdisksunlabel.c:53
+#, fuzzy
+msgid "SunOS cachefs"
+msgstr "SunOS home"
+
+#: fdisk/fdisksunlabel.c:54
+#, fuzzy
+msgid "SunOS reserved"
+msgstr "SunOS usr"
+
+#: fdisk/fdisksunlabel.c:58 fdisk/i386_sys_types.c:103
+msgid "Linux raid autodetect"
+msgstr "Linuxi iseavastuv raid"
+
+#: fdisk/fdisksunlabel.c:141
+#, 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"
+
+#: fdisk/fdisksunlabel.c:153
+#, fuzzy, c-format
+msgid "Detected sun disklabel with wrong version [0x%08x].\n"
+msgstr "Leidsin vale kontrollsummaga SGI partitsioonitabeli\n"
+
+#: fdisk/fdisksunlabel.c:158
+#, fuzzy, c-format
+msgid "Detected sun disklabel with wrong sanity [0x%08x].\n"
+msgstr "Leidsin vale kontrollsummaga SGI partitsioonitabeli\n"
+
+#: fdisk/fdisksunlabel.c:163
+#, fuzzy, c-format
+msgid "Detected sun disklabel with wrong num_partitions [%u].\n"
+msgstr "Leidsin vale kontrollsummaga SGI partitsioonitabeli\n"
+
+#: fdisk/fdisksunlabel.c:168
+#, 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"
+
+#: fdisk/fdisksunlabel.c:198
+#, c-format
+msgid ""
+"Building a new sun disklabel. Changes will remain in memory only,\n"
+"until you decide to write them. After that, of course, the previous\n"
+"content won't be recoverable.\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"
+
+#: fdisk/fdisksunlabel.c:236
+msgid "Sectors/track"
+msgstr "Sektoreid rajal"
+
+#: fdisk/fdisksunlabel.c:351
+#, c-format
+msgid "Partition %d doesn't end on cylinder boundary\n"
+msgstr "Partitsioon %d ei lõppe silindri piiril\n"
+
+#: fdisk/fdisksunlabel.c:371
+#, c-format
+msgid "Partition %d overlaps with others in sectors %d-%d\n"
+msgstr "Partitsioon %d kattub teistega sektorites %d-%d\n"
+
+#: fdisk/fdisksunlabel.c:393
+#, c-format
+msgid "Unused gap - sectors 0-%d\n"
+msgstr "Kasutamata vahemik - sektorid 0-%d\n"
+
+#: fdisk/fdisksunlabel.c:395 fdisk/fdisksunlabel.c:401
+#, c-format
+msgid "Unused gap - sectors %d-%d\n"
+msgstr "Kasutamata vahemik - sektorid %d-%d\n"
+
+#: fdisk/fdisksunlabel.c:426
+#, 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"
+
+#: fdisk/fdisksunlabel.c:449
+#, 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"
+
+#: fdisk/fdisksunlabel.c:477
+#, c-format
+msgid "Sector %d is already allocated\n"
+msgstr "Sektor%d on juba kasutusel\n"
+
+#: fdisk/fdisksunlabel.c:507
+#, 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"
+
+#: fdisk/fdisksunlabel.c:534
+#, 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"
+
+#: fdisk/fdisksunlabel.c:549
+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):"
+
+#: fdisk/fdisksunlabel.c:581
+#, fuzzy, c-format
+msgid ""
+"\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"
+"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"
+
+#: fdisk/fdisksunlabel.c:597
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %d heads, %llu sectors, %d 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"
+
+#: fdisk/fdisksunlabel.c:602
+#, c-format
+msgid "%*s Flag    Start       End    Blocks   Id  System\n"
+msgstr "%*s Lipp    Algus       Lõpp   Plokke   ID  Süsteem\n"
+
+#: fdisk/fdisksunlabel.c:630
+msgid "Number of alternate cylinders"
+msgstr "Alternatiivsete silindrite arv"
+
+#: fdisk/fdisksunlabel.c:642
+msgid "Extra sectors per cylinder"
+msgstr "Lisasektoreid silindril"
+
+#: fdisk/fdisksunlabel.c:649
+msgid "Interleave factor"
+msgstr "Vahelejätu tegur"
+
+#: fdisk/fdisksunlabel.c:656
+msgid "Rotation speed (rpm)"
+msgstr "Pöörlemiskiirus (rpm)"
+
+#: fdisk/fdisksunlabel.c:663
+msgid "Number of physical cylinders"
+msgstr "Füüsiliste silindrite arv"
+
+#: fdisk/i386_sys_types.c:6
+msgid "Empty"
+msgstr "Tühi"
+
+#: fdisk/i386_sys_types.c:7
+msgid "FAT12"
+msgstr "FAT12"
+
+#: fdisk/i386_sys_types.c:8
+msgid "XENIX root"
+msgstr "XENIX root"
+
+#: fdisk/i386_sys_types.c:9
+msgid "XENIX usr"
+msgstr "XENIX usr"
+
+#: fdisk/i386_sys_types.c:10
+msgid "FAT16 <32M"
+msgstr "FAT16 <32M"
+
+#: fdisk/i386_sys_types.c:11
+msgid "Extended"
+msgstr "Extended"
+
+#: fdisk/i386_sys_types.c:12
+msgid "FAT16"
+msgstr "FAT16"
+
+#: fdisk/i386_sys_types.c:13
+msgid "HPFS/NTFS"
+msgstr "HPFS/NTFS"
+
+#: fdisk/i386_sys_types.c:14
+msgid "AIX"
+msgstr "AIX"
+
+#: fdisk/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr "AIX buutiv"
+
+#: fdisk/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr "OS/2 Boot Manager"
+
+#: fdisk/i386_sys_types.c:17
+#, fuzzy
+msgid "W95 FAT32"
+msgstr "Win95 FAT32"
+
+#: fdisk/i386_sys_types.c:18
+#, fuzzy
+msgid "W95 FAT32 (LBA)"
+msgstr "Win95 FAT32 (LBA)"
+
+#: fdisk/i386_sys_types.c:19
+#, fuzzy
+msgid "W95 FAT16 (LBA)"
+msgstr "Win95 FAT16 (LBA)"
+
+#: fdisk/i386_sys_types.c:20
+#, fuzzy
+msgid "W95 Ext'd (LBA)"
+msgstr "Win95 Ext'd (LBA)"
+
+#: fdisk/i386_sys_types.c:21
+msgid "OPUS"
+msgstr "OPUS"
+
+#: fdisk/i386_sys_types.c:22
+msgid "Hidden FAT12"
+msgstr "Peidetud FAT12"
+
+#: fdisk/i386_sys_types.c:23
+msgid "Compaq diagnostics"
+msgstr "Compaq diagnostika"
+
+#: fdisk/i386_sys_types.c:24
+msgid "Hidden FAT16 <32M"
+msgstr "Peidetud FAT16 <32M"
+
+#: fdisk/i386_sys_types.c:25
+msgid "Hidden FAT16"
+msgstr "Peidetud FAT16"
+
+#: fdisk/i386_sys_types.c:26
+msgid "Hidden HPFS/NTFS"
+msgstr "Peidetud HPFS/NTFS"
+
+#: fdisk/i386_sys_types.c:27
+msgid "AST SmartSleep"
+msgstr "AST SmartSleep"
+
+#: fdisk/i386_sys_types.c:28
+#, fuzzy
+msgid "Hidden W95 FAT32"
+msgstr "Peidetud Win95 FAT32"
+
+#: fdisk/i386_sys_types.c:29
+#, fuzzy
+msgid "Hidden W95 FAT32 (LBA)"
+msgstr "Peidetud Win95 FAT32 (LBA)"
+
+#: fdisk/i386_sys_types.c:30
+#, fuzzy
+msgid "Hidden W95 FAT16 (LBA)"
+msgstr "Peidetud Win95 FAT16 (LBA)"
+
+#: fdisk/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr "NEC DOS"
+
+#: fdisk/i386_sys_types.c:32
+msgid "Plan 9"
+msgstr "Plan 9"
+
+#: fdisk/i386_sys_types.c:33
+msgid "PartitionMagic recovery"
+msgstr "PartitionMagic recovery"
+
+#: fdisk/i386_sys_types.c:34
+msgid "Venix 80286"
+msgstr "Venix 80286"
+
+#: fdisk/i386_sys_types.c:35
+msgid "PPC PReP Boot"
+msgstr "PPC PreP Boot"
+
+#: fdisk/i386_sys_types.c:36
+msgid "SFS"
+msgstr "SFS"
+
+#: fdisk/i386_sys_types.c:37
+msgid "QNX4.x"
+msgstr "QNX4.x"
+
+#: fdisk/i386_sys_types.c:38
+msgid "QNX4.x 2nd part"
+msgstr "QNX4.x 2. part"
+
+#: fdisk/i386_sys_types.c:39
+msgid "QNX4.x 3rd part"
+msgstr "QNX4.x 3. part"
+
+#: fdisk/i386_sys_types.c:40
+msgid "OnTrack DM"
+msgstr "OnTrack DM"
+
+#: fdisk/i386_sys_types.c:41
+msgid "OnTrack DM6 Aux1"
+msgstr "OnTrack DM6 Aux1"
+
+#: fdisk/i386_sys_types.c:42
+msgid "CP/M"
+msgstr "CP/M"
+
+#: fdisk/i386_sys_types.c:43
+msgid "OnTrack DM6 Aux3"
+msgstr "OnTrack DM6 Aux3"
+
+#: fdisk/i386_sys_types.c:44
+msgid "OnTrackDM6"
+msgstr "OnTrack DM6"
+
+#: fdisk/i386_sys_types.c:45
+msgid "EZ-Drive"
+msgstr "EZ-Drive"
+
+#: fdisk/i386_sys_types.c:46
+msgid "Golden Bow"
+msgstr "Golden Bow"
+
+#: fdisk/i386_sys_types.c:47
+msgid "Priam Edisk"
+msgstr "Priam Edisk"
+
+#: fdisk/i386_sys_types.c:48 fdisk/i386_sys_types.c:92
+#: fdisk/i386_sys_types.c:98 fdisk/i386_sys_types.c:99
+msgid "SpeedStor"
+msgstr "SpeedStor"
+
+#: fdisk/i386_sys_types.c:49
+msgid "GNU HURD or SysV"
+msgstr "GNU HURD või SysV"
+
+#: fdisk/i386_sys_types.c:50
+msgid "Novell Netware 286"
+msgstr "Novell Netware 286"
+
+#: fdisk/i386_sys_types.c:51
+msgid "Novell Netware 386"
+msgstr "Novell Netware 386"
+
+#: fdisk/i386_sys_types.c:52
+msgid "DiskSecure Multi-Boot"
+msgstr "DiscSecure Multi-Boot"
+
+#: fdisk/i386_sys_types.c:53
+msgid "PC/IX"
+msgstr "PC/IX"
+
+#: fdisk/i386_sys_types.c:54
+msgid "Old Minix"
+msgstr "Vana Minix"
+
+#: fdisk/i386_sys_types.c:55
+msgid "Minix / old Linux"
+msgstr "Minix / vana Linux"
+
+#: fdisk/i386_sys_types.c:56
+#, fuzzy
+msgid "Linux swap / Solaris"
+msgstr "Linuxi swap"
+
+#: fdisk/i386_sys_types.c:58
+msgid "OS/2 hidden C: drive"
+msgstr "OS/2 peidetud C: ketas"
+
+#: fdisk/i386_sys_types.c:59
+msgid "Linux extended"
+msgstr "Linux extended"
+
+#: fdisk/i386_sys_types.c:60 fdisk/i386_sys_types.c:61
+msgid "NTFS volume set"
+msgstr "NTFS volume set"
+
+#: fdisk/i386_sys_types.c:62
+#, fuzzy
+msgid "Linux plaintext"
+msgstr "Linux ext3"
+
+#: fdisk/i386_sys_types.c:64
+msgid "Amoeba"
+msgstr "Amoeba"
+
+#: fdisk/i386_sys_types.c:65
+msgid "Amoeba BBT"
+msgstr "Amoeba BBT"
+
+#: fdisk/i386_sys_types.c:66
+msgid "BSD/OS"
+msgstr "BSD/OS"
+
+#: fdisk/i386_sys_types.c:67
+msgid "IBM Thinkpad hibernation"
+msgstr "IBM Thinkpad hibernatsioon"
+
+#: fdisk/i386_sys_types.c:68
+msgid "FreeBSD"
+msgstr "FreeBSD"
+
+#: fdisk/i386_sys_types.c:69
+msgid "OpenBSD"
+msgstr "OpenBSD"
+
+#: fdisk/i386_sys_types.c:70
+msgid "NeXTSTEP"
+msgstr "NeXTSTEP"
+
+#: fdisk/i386_sys_types.c:71
+msgid "Darwin UFS"
+msgstr "Darwin UFS"
+
+#: fdisk/i386_sys_types.c:72
+msgid "NetBSD"
+msgstr "NetBSD"
+
+#: fdisk/i386_sys_types.c:73
+msgid "Darwin boot"
+msgstr "Darwin boot"
+
+#: fdisk/i386_sys_types.c:74
+#, fuzzy
+msgid "HFS / HFS+"
+msgstr "OS/2 HPFS"
+
+#: fdisk/i386_sys_types.c:75
+msgid "BSDI fs"
+msgstr "BSDI fs"
+
+#: fdisk/i386_sys_types.c:76
+msgid "BSDI swap"
+msgstr "BSDI swap"
+
+#: fdisk/i386_sys_types.c:77
+msgid "Boot Wizard hidden"
+msgstr "Boot Wizard peidetud"
+
+#: fdisk/i386_sys_types.c:78
+msgid "Solaris boot"
+msgstr "Solaris boot"
+
+#: fdisk/i386_sys_types.c:79
+#, fuzzy
+msgid "Solaris"
+msgstr "Solaris boot"
+
+#: fdisk/i386_sys_types.c:80
+msgid "DRDOS/sec (FAT-12)"
+msgstr "DRDOS sekund. (FAT-12)"
+
+#: fdisk/i386_sys_types.c:81
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr "DRDOS sekund. (FAT-16 < 32M)"
+
+#: fdisk/i386_sys_types.c:82
+msgid "DRDOS/sec (FAT-16)"
+msgstr "DRDOS sekund. (FAT-16)"
+
+#: fdisk/i386_sys_types.c:83
+msgid "Syrinx"
+msgstr "Syrinx"
+
+#: fdisk/i386_sys_types.c:84
+msgid "Non-FS data"
+msgstr "Mitte-FS andmed"
+
+#: fdisk/i386_sys_types.c:85
+msgid "CP/M / CTOS / ..."
+msgstr "CP/M / CTOS / ..."
+
+#: fdisk/i386_sys_types.c:87
+msgid "Dell Utility"
+msgstr "Dell Utility"
+
+#: fdisk/i386_sys_types.c:88
+msgid "BootIt"
+msgstr "BootIt"
+
+#: fdisk/i386_sys_types.c:89
+msgid "DOS access"
+msgstr "DOS access"
+
+#: fdisk/i386_sys_types.c:91
+msgid "DOS R/O"
+msgstr "DOS R/O"
+
+#: fdisk/i386_sys_types.c:94
+msgid "BeOS fs"
+msgstr "BeOS fs"
+
+#: fdisk/i386_sys_types.c:95
+#, fuzzy
+msgid "GPT"
+msgstr "EFI GPT"
+
+#: fdisk/i386_sys_types.c:96
+msgid "EFI (FAT-12/16/32)"
+msgstr "EFI (FAT-12/FAT-16)"
+
+#: fdisk/i386_sys_types.c:97
+msgid "Linux/PA-RISC boot"
+msgstr "Linux/PA-RISC boot"
+
+#: fdisk/i386_sys_types.c:100
+msgid "DOS secondary"
+msgstr "DOS sekundaarne"
+
+#: fdisk/i386_sys_types.c:101
+msgid "VMware VMFS"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:102
+msgid "VMware VMKCORE"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:106
+msgid "LANstep"
+msgstr "LANstep"
+
+#: fdisk/i386_sys_types.c:107
+msgid "BBT"
+msgstr "BBT"
+
+#: fdisk/sfdisk.c:179
+#, c-format
+msgid "seek error on %s - cannot seek to %lu\n"
+msgstr "Postisioneerimise viga seadmel %s - ei saa minna positsioonile %lu\n"
+
+#: fdisk/sfdisk.c:184
+#, 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"
+
+#: fdisk/sfdisk.c:230
+msgid "out of memory - giving up\n"
+msgstr "Mälu sai otsa - annan alla\n"
+
+#: fdisk/sfdisk.c:235 fdisk/sfdisk.c:318
+#, c-format
+msgid "read error on %s - cannot read sector %lu\n"
+msgstr "Lugemisviga seadmel %s - ei saa lugeda sektorit %lu\n"
+
+#: fdisk/sfdisk.c:253
+#, c-format
+msgid "ERROR: sector %lu does not have an msdos signature\n"
+msgstr "VIGA: sektor %lu ei sisalda msdos'i signatuuri\n"
+
+#: fdisk/sfdisk.c:268
+#, c-format
+msgid "write error on %s - cannot write sector %lu\n"
+msgstr "Kirjutamisviga seadmel %s - ei saa kirjutada sektorit %lu\n"
+
+#: fdisk/sfdisk.c:306
+#, c-format
+msgid "cannot open partition sector save file (%s)\n"
+msgstr "Ei suuda avada partitsioonitabeli salvestusfaili (%s)\n"
+
+#: fdisk/sfdisk.c:324
+#, c-format
+msgid "write error on %s\n"
+msgstr "Kirjutamise viga seadmel %s\n"
+
+#: fdisk/sfdisk.c:350
+#, c-format
+msgid "cannot stat partition restore file (%s)\n"
+msgstr "Ei saa lugeda partitsioonitabeli salvestusfaili staatust (%s)\n"
+
+#: fdisk/sfdisk.c:355
+msgid "partition restore file has wrong size - not restoring\n"
+msgstr "Partitsioonitabeli salvestusfail on vale pikkusega - ei taasta\n"
+
+#: fdisk/sfdisk.c:359
+msgid "out of memory?\n"
+msgstr "Mälu sai otsa\n"
+
+#: fdisk/sfdisk.c:365
+#, c-format
+msgid "cannot open partition restore file (%s)\n"
+msgstr "Ei saa avada partitsioonitabeli salvestusfaili (%s)\n"
+
+#: fdisk/sfdisk.c:371
+#, c-format
+msgid "error reading %s\n"
+msgstr "Viga %s lugemisel\n"
+
+#: fdisk/sfdisk.c:378
+#, c-format
+msgid "cannot open device %s for writing\n"
+msgstr "ei suuda avada seadet %s kirjutamiseks\n"
+
+#: fdisk/sfdisk.c:390
+#, c-format
+msgid "error writing sector %lu on %s\n"
+msgstr "Viga sektori %lu kirjutamisel seadmele %s\n"
+
+#: fdisk/sfdisk.c:455
+#, c-format
+msgid "Disk %s: cannot get geometry\n"
+msgstr "Ketas %s: ei suuda geomeetriat kindlaks teha\n"
+
+#: fdisk/sfdisk.c:472
+#, c-format
+msgid "Disk %s: cannot get size\n"
+msgstr "Ketas %s: ei suuda mahtu kindlaks teha\n"
+
+#: fdisk/sfdisk.c:505
+#, 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"
+
+#: fdisk/sfdisk.c:512
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu heads\n"
+msgstr "Hoiatus: HDIO_GETGEO ütles, et seadmel on %lu pead\n"
+
+#: fdisk/sfdisk.c:515
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu sectors\n"
+msgstr "Hoiatus: HDIO_GETGEO ütles, et seadmel on %lu sektorit\n"
+
+#: fdisk/sfdisk.c:519
+#, 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"
+
+#: fdisk/sfdisk.c:524
+#, 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"
+
+#: fdisk/sfdisk.c:528
+#, 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"
+
+#: fdisk/sfdisk.c:610
+#, 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"
+
+#: fdisk/sfdisk.c:615
+#, 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"
+
+#: fdisk/sfdisk.c:620
+#, 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"
+
+#: fdisk/sfdisk.c:660
+#, c-format
+msgid ""
+"Id  Name\n"
+"\n"
+msgstr ""
+"ID  Nimi\n"
+"\n"
+
+#: fdisk/sfdisk.c:821
+#, c-format
+msgid "Re-reading the partition table ...\n"
+msgstr "Loen uuesti partitsioonitabelit...\n"
+
+#: fdisk/sfdisk.c:827
+#, 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"
+
+#: fdisk/sfdisk.c:833
+#, c-format
+msgid "Error closing %s\n"
+msgstr "Viga %s sulgemisel\n"
+
+#: fdisk/sfdisk.c:871
+#, c-format
+msgid "%s: no such partition\n"
+msgstr "%s: sellist partitsiooni ei ole\n"
+
+#: fdisk/sfdisk.c:894
+msgid "unrecognized format - using sectors\n"
+msgstr "Tundmatu formaat - kasutan sektoreid\n"
+
+#: fdisk/sfdisk.c:944
+#, c-format
+msgid "unimplemented format - using %s\n"
+msgstr "Seda formaati pole veel realiseeritud - kasutan %s\n"
+
+#: fdisk/sfdisk.c:948
+#, 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"
+
+#: fdisk/sfdisk.c:951
+#, c-format
+msgid "   Device Boot Start     End   #cyls    #blocks   Id  System\n"
+msgstr "   Seade  Buut Algus     Lõpp   #sil     #plokke   ID  Süsteem\n"
+
+#: fdisk/sfdisk.c:956
+#, c-format
+msgid ""
+"Units = sectors of 512 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Ühikud = sektorid 512 baidiga, loendan alates %d\n"
+"\n"
+
+#: fdisk/sfdisk.c:958
+#, c-format
+msgid "   Device Boot    Start       End   #sectors  Id  System\n"
+msgstr "   Seade  Buut    Algus      Lõpp   #sektors  ID  Süsteem\n"
+
+#: fdisk/sfdisk.c:961
+#, c-format
+msgid ""
+"Units = blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Ühikud = 1024-baidised plokid, loendan alates %d\n"
+"\n"
+
+#: fdisk/sfdisk.c:963
+#, c-format
+msgid "   Device Boot   Start       End    #blocks   Id  System\n"
+msgstr "   Seade  Buut   Algus      Lõpp    #plokke   ID  Süsteem\n"
+
+#: fdisk/sfdisk.c:966
+#, fuzzy, c-format
+msgid ""
+"Units = mebibytes of 1048576 bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Ühikud = megabaidid (1048576 baiti), plokid (1024 baiti), loendan alates %d\n"
+"\n"
+
+#: fdisk/sfdisk.c:968
+#, 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"
+
+#: fdisk/sfdisk.c:1128
+#, 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"
+
+#: fdisk/sfdisk.c:1135
+#, 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"
+
+#: fdisk/sfdisk.c:1138
+#, 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"
+
+#: fdisk/sfdisk.c:1148
+msgid "No partitions found\n"
+msgstr "Ei leidnud ühtegi partitsiooni\n"
+
+#: fdisk/sfdisk.c:1152
+#, 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"
+
+#: fdisk/sfdisk.c:1201
+msgid "no partition table present.\n"
+msgstr "Partitsioonitabelit ei ole\n"
+
+#: fdisk/sfdisk.c:1203
+#, c-format
+msgid "strange, only %d partitions defined.\n"
+msgstr "Imelik, ainult  %d partitsiooni on defineeriud\n"
+
+#: fdisk/sfdisk.c:1212
+#, 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"
+
+#: fdisk/sfdisk.c:1215
+#, 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"
+
+#: fdisk/sfdisk.c:1218
+#, 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"
+
+#: fdisk/sfdisk.c:1229
+#, c-format
+msgid "Warning: partition %s "
+msgstr "Hoiatus: partitsioon %s "
+
+#: fdisk/sfdisk.c:1230
+#, c-format
+msgid "is not contained in partition %s\n"
+msgstr "ei sisaldu partitsioonis %s\n"
+
+#: fdisk/sfdisk.c:1241
+#, c-format
+msgid "Warning: partitions %s "
+msgstr "Hoiatus: partitsioonid %s "
+
+#: fdisk/sfdisk.c:1242
+#, c-format
+msgid "and %s overlap\n"
+msgstr "ja %s kattuvad\n"
+
+#: fdisk/sfdisk.c:1253
+#, c-format
+msgid ""
+"Warning: partition %s contains part of the partition table (sector %lu),\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"
+
+#: fdisk/sfdisk.c:1265
+#, c-format
+msgid "Warning: partition %s starts at sector 0\n"
+msgstr "Hoiatus: partitsioon %s algab sektorilt 0\n"
+
+#: fdisk/sfdisk.c:1269
+#, c-format
+msgid "Warning: partition %s extends past end of disk\n"
+msgstr "Hoiatus: partitsioon %s sõidab üle ketta otsa\n"
+
+#: fdisk/sfdisk.c:1284
+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"
+
+#: fdisk/sfdisk.c:1302
+#, c-format
+msgid "Warning: partition %s does not start at a cylinder boundary\n"
+msgstr "Hoiatus: partitsioon %s ei alga silindri piirilt\n"
+
+#: fdisk/sfdisk.c:1308
+#, c-format
+msgid "Warning: partition %s does not end at a cylinder boundary\n"
+msgstr "Hoiatus: partitsioon %s ei lõppe silindri piiril\n"
+
+#: fdisk/sfdisk.c:1326
+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"
+
+#: fdisk/sfdisk.c:1333
+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"
+
+#: fdisk/sfdisk.c:1339
+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"
+
+#: fdisk/sfdisk.c:1353
+msgid "start"
+msgstr ""
+
+#: fdisk/sfdisk.c:1356
+#, c-format
+msgid ""
+"partition %s: start: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1362
+#, fuzzy
+msgid "end"
+msgstr "End"
+
+#: fdisk/sfdisk.c:1365
+#, c-format
+msgid "partition %s: end: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1368
+#, c-format
+msgid "partition %s ends on cylinder %ld, beyond the end of the disk\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1393
+#, c-format
+msgid ""
+"Warning: shifted start of the extd partition from %ld to %ld\n"
+"(For listing purposes only. Do not change its contents.)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1399
+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"
+
+#: fdisk/sfdisk.c:1417 fdisk/sfdisk.c:1494
+#, c-format
+msgid "too many partitions - ignoring those past nr (%d)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1432
+msgid "tree of partitions?\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1540
+msgid "detected Disk Manager - unable to handle that\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1547
+msgid "DM6 signature found - giving up\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1567
+msgid "strange..., an extended partition of size 0?\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1574 fdisk/sfdisk.c:1585
+msgid "strange..., a BSD partition of size 0?\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1619
+#, fuzzy, c-format
+msgid " %s: unrecognized partition table type\n"
+msgstr "Partitsioonitabelit ei ole\n"
+
+#: fdisk/sfdisk.c:1631
+msgid "-n flag was given: Nothing changed\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1647
+msgid "Failed saving the old sectors - aborting\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1652
+#, c-format
+msgid "Failed writing the partition on %s\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1729
+msgid "long or incomplete input line - quitting\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1765
+#, c-format
+msgid "input error: `=' expected after %s field\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1772
+#, c-format
+msgid "input error: unexpected character %c after %s field\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1778
+#, c-format
+msgid "unrecognized input: %s\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1820
+msgid "number too big\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1824
+msgid "trailing junk after number\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1948
+msgid "no room for partition descriptor\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1981
+msgid "cannot build surrounding extended partition\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2032
+msgid "too many input fields\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2066
+msgid "No room for more\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2085
+msgid "Illegal type\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2117
+#, c-format
+msgid "Warning: given size (%lu) exceeds max allowable size (%lu)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2123
+msgid "Warning: empty partition\n"
+msgstr "Hoiatus: tühi partitsioon\n"
+
+#: fdisk/sfdisk.c:2137
+#, c-format
+msgid "Warning: bad partition start (earliest %lu)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2150
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2167 fdisk/sfdisk.c:2180
+msgid "partial c,h,s specification?\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2191
+msgid "Extended partition not where expected\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2223
+msgid "bad input\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2245
+msgid "too many partitions\n"
+msgstr "Liiga palju partitsioone\n"
+
+#: fdisk/sfdisk.c:2278
+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 ""
+
+#: fdisk/sfdisk.c:2304
+#, c-format
+msgid "Usage: %s [options] device ...\n"
+msgstr "Kasutamine: %s [ võtmed ] seade ...\n"
+
+#: fdisk/sfdisk.c:2305
+msgid "device: something like /dev/hda or /dev/sda"
+msgstr ""
+
+#: fdisk/sfdisk.c:2306
+msgid "useful options:"
+msgstr ""
+
+#: fdisk/sfdisk.c:2307
+msgid "    -s [or --show-size]: list size of a partition"
+msgstr ""
+
+#: fdisk/sfdisk.c:2308
+msgid "    -c [or --id]:        print or change partition Id"
+msgstr ""
+
+#: fdisk/sfdisk.c:2309
+msgid "    -l [or --list]:      list partitions of each device"
+msgstr ""
+
+#: fdisk/sfdisk.c:2310
+msgid "    -d [or --dump]:      idem, but in a format suitable for later input"
+msgstr ""
+
+#: fdisk/sfdisk.c:2311
+msgid "    -i [or --increment]: number cylinders etc. from 1 instead of from 0"
+msgstr ""
+
+#: fdisk/sfdisk.c:2312
+msgid ""
+"    -uS, -uB, -uC, -uM:  accept/report in units of sectors/blocks/cylinders/"
+"MB"
+msgstr ""
+
+#: fdisk/sfdisk.c:2313
+msgid "    -T [or --list-types]:list the known partition types"
+msgstr ""
+
+#: fdisk/sfdisk.c:2314
+msgid "    -D [or --DOS]:       for DOS-compatibility: waste a little space"
+msgstr ""
+
+#: fdisk/sfdisk.c:2315
+msgid "    -R [or --re-read]:   make kernel reread partition table"
+msgstr ""
+
+#: fdisk/sfdisk.c:2316
+msgid "    -N# :                change only the partition with number #"
+msgstr ""
+
+#: fdisk/sfdisk.c:2317
+msgid "    -n :                 do not actually write to disk"
+msgstr ""
+
+#: fdisk/sfdisk.c:2318
+msgid ""
+"    -O file :            save the sectors that will be overwritten to file"
+msgstr ""
+
+#: fdisk/sfdisk.c:2319
+msgid "    -I file :            restore these sectors again"
+msgstr ""
+
+#: fdisk/sfdisk.c:2320
+msgid "    -v [or --version]:   print version"
+msgstr ""
+
+#: fdisk/sfdisk.c:2321
+msgid "    -? [or --help]:      print this message"
+msgstr ""
+
+#: fdisk/sfdisk.c:2322
+msgid "dangerous options:"
+msgstr ""
+
+#: fdisk/sfdisk.c:2323
+msgid "    -g [or --show-geometry]: print the kernel's idea of the geometry"
+msgstr ""
+
+#: fdisk/sfdisk.c:2324
+msgid ""
+"    -G [or --show-pt-geometry]: print geometry guessed from the partition "
+"table"
+msgstr ""
+
+#: fdisk/sfdisk.c:2325
+msgid ""
+"    -x [or --show-extended]: also list extended partitions on output\n"
+"                             or expect descriptors for them on input"
+msgstr ""
+
+#: fdisk/sfdisk.c:2327
+msgid ""
+"    -L  [or --Linux]:      do not complain about things irrelevant for Linux"
+msgstr ""
+
+#: fdisk/sfdisk.c:2328
+msgid "    -q  [or --quiet]:      suppress warning messages"
+msgstr ""
+
+#: fdisk/sfdisk.c:2329
+msgid "    You can override the detected geometry using:"
+msgstr ""
+
+#: fdisk/sfdisk.c:2330
+msgid "    -C# [or --cylinders #]:set the number of cylinders to use"
+msgstr ""
+
+#: fdisk/sfdisk.c:2331
+msgid "    -H# [or --heads #]:    set the number of heads to use"
+msgstr ""
+
+#: fdisk/sfdisk.c:2332
+msgid "    -S# [or --sectors #]:  set the number of sectors to use"
+msgstr ""
+
+#: fdisk/sfdisk.c:2333
+msgid "You can disable all consistency checking with:"
+msgstr ""
+
+#: fdisk/sfdisk.c:2334
+msgid "    -f  [or --force]:      do what I say, even if it is stupid"
+msgstr ""
+
+#: fdisk/sfdisk.c:2340
+msgid "Usage:"
+msgstr "kasutamine:"
+
+#: fdisk/sfdisk.c:2341
+#, c-format
+msgid "%s device\t\t list active partitions on device\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2342
+#, c-format
+msgid "%s device n1 n2 ... activate partitions n1 ..., inactivate the rest\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2343
+#, c-format
+msgid "%s -An device\t activate partition n, inactivate the other ones\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2463
+#, 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 ""
+
+#: fdisk/sfdisk.c:2466
+#, c-format
+msgid "Use the --force flag to overrule this check.\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2505
+msgid "no command?\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2637
+#, fuzzy, c-format
+msgid "total: %llu blocks\n"
+msgstr "kokku: %d plokki\n"
+
+#: fdisk/sfdisk.c:2680
+msgid "usage: sfdisk --print-id device partition-number\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2682
+msgid "usage: sfdisk --change-id device partition-number Id\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2684
+msgid "usage: sfdisk --id device partition-number [Id]\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2691
+msgid "can specify only one device (except with -l or -s)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2717
+#, c-format
+msgid "cannot open %s read-write\n"
+msgstr "ei suuda avada seadet %s lugemiseks ja kirjutamiseks\n"
+
+#: fdisk/sfdisk.c:2719
+#, c-format
+msgid "cannot open %s for reading\n"
+msgstr "ei suuda avada seadet %s lugemiseks\n"
+
+#: fdisk/sfdisk.c:2744
+#, c-format
+msgid "%s: OK\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2763 fdisk/sfdisk.c:2796
+#, c-format
+msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2815
+#, fuzzy, c-format
+msgid "Cannot get size of %s\n"
+msgstr "ei suuda kindlaks teha seadme %s mahtu"
+
+#: fdisk/sfdisk.c:2895
+#, c-format
+msgid "bad active byte: 0x%x instead of 0x80\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2913 fdisk/sfdisk.c:2968 fdisk/sfdisk.c:3001
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+"Valmis\n"
+"\n"
+
+#: fdisk/sfdisk.c:2922
+#, 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 ""
+
+#: fdisk/sfdisk.c:2938
+#, c-format
+msgid "partition %s has id %x and is not hidden\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2997
+#, c-format
+msgid "Bad Id %lx\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3014
+msgid "This disk is currently in use.\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3033
+#, c-format
+msgid "Fatal error: cannot find %s\n"
+msgstr "Fataalne viga: ei suuda leida %s\n"
+
+#: fdisk/sfdisk.c:3036
+#, c-format
+msgid "Warning: %s is not a block device\n"
+msgstr "Hoiatus: %s pole plokkseade\n"
+
+#: fdisk/sfdisk.c:3042
+msgid "Checking that no-one is using this disk right now ...\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3044
+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 ""
+
+#: fdisk/sfdisk.c:3048
+msgid "Use the --force flag to overrule all checks.\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3052
+msgid "OK\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3061
+#, c-format
+msgid "Old situation:\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3065
+#, c-format
+msgid "Partition %d does not exist, cannot change it\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3073
+#, c-format
+msgid "New situation:\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3078
+msgid ""
+"I don't like these partitions - nothing changed.\n"
+"(If you really want this, use the --force option.)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3081
+msgid "I don't like this - probably you should answer No\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3086
+#, c-format
+msgid "Are you satisfied with this? [ynq] "
+msgstr ""
+
+#: fdisk/sfdisk.c:3088
+#, c-format
+msgid "Do you want to write this to disk? [ynq] "
+msgstr ""
+
+#: fdisk/sfdisk.c:3093
+#, c-format
+msgid ""
+"\n"
+"sfdisk: premature end of input\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3095
+msgid "Quitting - nothing changed\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3101
+#, c-format
+msgid "Please answer one of y,n,q\n"
+msgstr "Palun sisestage y, n või q\n"
+
+#: fdisk/sfdisk.c:3109
+#, c-format
+msgid ""
+"Successfully wrote the new partition table\n"
+"\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3115
+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 ""
+
+#: fsck/fsck.c:327
+#, fuzzy, c-format
+msgid "WARNING: couldn't open %s: %s\n"
+msgstr "shutdown: Ei suuda lahti monteerida kataloogi %s: %s\n"
+
+#: fsck/fsck.c:337
+#, c-format
+msgid "WARNING: bad format on line %d of %s\n"
+msgstr ""
+
+#: fsck/fsck.c:353
+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 ""
+
+#: fsck/fsck.c:461
+#, c-format
+msgid "fsck: %s: not found\n"
+msgstr ""
+
+#: fsck/fsck.c:577
+#, c-format
+msgid "%s: wait: No more child process?!?\n"
+msgstr ""
+
+#: fsck/fsck.c:599
+#, c-format
+msgid "Warning... %s for device %s exited with signal %d.\n"
+msgstr ""
+
+#: fsck/fsck.c:605
+#, c-format
+msgid "%s %s: status is %x, should never happen.\n"
+msgstr ""
+
+#: fsck/fsck.c:644
+#, c-format
+msgid "Finished with %s (exit status %d)\n"
+msgstr ""
+
+#: fsck/fsck.c:704
+#, c-format
+msgid "%s: Error %d while executing fsck.%s for %s\n"
+msgstr ""
+
+#: fsck/fsck.c:725
+msgid ""
+"Either all or none of the filesystem types passed to -t must be prefixed\n"
+"with 'no' or '!'.\n"
+msgstr ""
+
+#: fsck/fsck.c:744
+msgid "Couldn't allocate memory for filesystem types\n"
+msgstr ""
+
+#: fsck/fsck.c:867
+#, c-format
+msgid ""
+"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass "
+"number\n"
+msgstr ""
+
+#: fsck/fsck.c:894
+#, c-format
+msgid "fsck: cannot check %s: fsck.%s not found\n"
+msgstr ""
+
+#: fsck/fsck.c:950
+#, fuzzy
+msgid "Checking all file systems.\n"
+msgstr "Pealesunnitud kontroll failisüsteemil %s\n"
+
+#: fsck/fsck.c:1041
+#, c-format
+msgid "--waiting-- (pass %d)\n"
+msgstr ""
+
+#: fsck/fsck.c:1061
+#, 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"
+
+#: fsck/fsck.c:1099
+#, fuzzy, c-format
+msgid "%s: too many devices\n"
+msgstr "%s pole flopiseade\n"
+
+#: fsck/fsck.c:1110
+#, fuzzy, c-format
+msgid "Couldn't open %s: %s\n"
+msgstr "Ei suutnud avada %s\n"
+
+#: fsck/fsck.c:1112
+#, c-format
+msgid "Is /proc mounted?\n"
+msgstr ""
+
+#: fsck/fsck.c:1121
+#, c-format
+msgid "Must be root to scan for matching filesystems: %s\n"
+msgstr ""
+
+#: fsck/fsck.c:1124
+#, fuzzy, c-format
+msgid "Couldn't find matching filesystem: %s\n"
+msgstr "Monteerin lahti kõik allesjäänud failisüsteemid"
+
+#: fsck/fsck.c:1132 fsck/fsck.c:1218
+#, fuzzy, c-format
+msgid "%s: too many arguments\n"
+msgstr "%s: Tundmatu argument: %s\n"
+
+#: fsck/fsck.c:1252
+#, fuzzy, c-format
+msgid "fsck from %s\n"
+msgstr "%s paketist %s\n"
+
+#: fsck/fsck.c:1264
+#, fuzzy, c-format
+msgid "%s: Unable to allocate memory for fsck_path\n"
+msgstr "ei jätku mälu i-kirjete puhvrile"
+
+#: getopt/getopt.c:229
+msgid "Try `getopt --help' for more information.\n"
+msgstr ""
+
+#: getopt/getopt.c:295
+msgid "empty long option after -l or --long argument"
+msgstr ""
+
+#: getopt/getopt.c:315
+msgid "unknown shell after -s or --shell argument"
+msgstr ""
+
+#: getopt/getopt.c:320
+msgid "Usage: getopt optstring parameters\n"
+msgstr ""
+
+#: getopt/getopt.c:321
+msgid "       getopt [options] [--] optstring parameters\n"
+msgstr ""
+
+#: getopt/getopt.c:322
+msgid "       getopt [options] -o|--options optstring [options] [--]\n"
+msgstr ""
+
+#: getopt/getopt.c:323
+msgid "              parameters\n"
+msgstr ""
+
+#: getopt/getopt.c:324
+msgid ""
+"  -a, --alternative            Allow long options starting with single -\n"
+msgstr ""
+
+#: getopt/getopt.c:325
+msgid "  -h, --help                   This small usage guide\n"
+msgstr ""
+
+#: getopt/getopt.c:326
+msgid "  -l, --longoptions=longopts   Long options to be recognized\n"
+msgstr ""
+
+#: getopt/getopt.c:327
+msgid ""
+"  -n, --name=progname          The name under which errors are reported\n"
+msgstr ""
+
+#: getopt/getopt.c:328
+msgid "  -o, --options=optstring      Short options to be recognized\n"
+msgstr ""
+
+#: getopt/getopt.c:329
+msgid "  -q, --quiet                  Disable error reporting by getopt(3)\n"
+msgstr ""
+
+#: getopt/getopt.c:330
+msgid "  -Q, --quiet-output           No normal output\n"
+msgstr ""
+
+#: getopt/getopt.c:331
+msgid "  -s, --shell=shell            Set shell quoting conventions\n"
+msgstr ""
+
+#: getopt/getopt.c:332
+msgid "  -T, --test                   Test for getopt(1) version\n"
+msgstr ""
+
+#: getopt/getopt.c:333
+msgid "  -u, --unqote                 Do not quote the output\n"
+msgstr ""
+
+#: getopt/getopt.c:334
+msgid "  -V, --version                Output version information\n"
+msgstr ""
+
+#: getopt/getopt.c:388 getopt/getopt.c:447
+msgid "missing optstring argument"
+msgstr ""
+
+#: getopt/getopt.c:435
+#, c-format
+msgid "getopt (enhanced) 1.1.4\n"
+msgstr ""
+
+#: getopt/getopt.c:441
+msgid "internal error, contact the author."
+msgstr ""
+
+#: hwclock/cmos.c:176
+#, c-format
+msgid "booted from MILO\n"
+msgstr "buuditud MILO'st\n"
+
+#: hwclock/cmos.c:185
+#, c-format
+msgid "Ruffian BCD clock\n"
+msgstr "Ruffiani BCD kell\n"
+
+#: hwclock/cmos.c:201
+#, c-format
+msgid "clockport adjusted to 0x%x\n"
+msgstr "kella port parandatud aadressiks 0x%x\n"
+
+#: hwclock/cmos.c:213
+#, c-format
+msgid "funky TOY!\n"
+msgstr "Vinge masin!\n"
+
+#: hwclock/cmos.c:244
+#, c-format
+msgid "%s: atomic %s failed for 1000 iterations!"
+msgstr "%s: atomaarne '%s' ei õnnestunud 1000 katse jooksul!"
+
+#: hwclock/cmos.c:273
+#, c-format
+msgid "cmos_read(): write to control address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:276
+#, c-format
+msgid "cmos_read(): read data address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:307
+#, c-format
+msgid "cmos_write(): write to control address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:311
+#, c-format
+msgid "cmos_write(): write to data address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:574
+#, c-format
+msgid "Cannot open /dev/port: %s"
+msgstr "Ei suuda avada seadet /dev/port: %s"
+
+#: hwclock/cmos.c:581
+#, c-format
+msgid "I failed to get permission because I didn't try.\n"
+msgstr "Ei saanud luba, sest ei küsinudki\n"
+
+#: hwclock/cmos.c:584
+#, c-format
+msgid "%s is unable to get I/O port access:  the iopl(3) call failed.\n"
+msgstr "%s ei saanud I/O portidele ligi: iopl(3) ei õnnestunud\n"
+
+#: hwclock/cmos.c:587
+#, c-format
+msgid "Probably you need root privileges.\n"
+msgstr "Ilmselt on vaja roodu õigusi\n"
+
+#: hwclock/hwclock.c:231
+#, c-format
+msgid "Assuming hardware clock is kept in %s time.\n"
+msgstr "Eeldan, et riistavalises kellas on kasutusel %s aeg\n"
+
+#: hwclock/hwclock.c:232 hwclock/hwclock.c:327
+msgid "UTC"
+msgstr "UTC"
+
+#: hwclock/hwclock.c:232 hwclock/hwclock.c:326
+msgid "local"
+msgstr "kohalik"
+
+#: hwclock/hwclock.c:312
+#, c-format
+msgid "%s: Warning: unrecognized third line in adjtime file\n"
+msgstr "%s: Hoiatus: arusaamatu kolmas rida adjtime failis\n"
+
+#: hwclock/hwclock.c:314
+#, c-format
+msgid "(Expected: `UTC' or `LOCAL' or nothing.)\n"
+msgstr "(Ootasin: `UTC' või `LOCAL' või mitte midagi)\n"
+
+#: hwclock/hwclock.c:321
+#, 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"
+
+#: hwclock/hwclock.c:323
+#, c-format
+msgid "Last calibration done at %ld seconds after 1969\n"
+msgstr "Viimane kalibreerimine tehti %ld sekundit pärast 1969\n"
+
+#: hwclock/hwclock.c:325
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr "Riistvaralises kellas on kasutusel %s aeg\n"
+
+#: hwclock/hwclock.c:327
+msgid "unknown"
+msgstr "tundmatu"
+
+#: hwclock/hwclock.c:351
+#, c-format
+msgid "Waiting for clock tick...\n"
+msgstr "Ootan kella tiksu...\n"
+
+#: hwclock/hwclock.c:357
+#, c-format
+msgid "...synchronization failed\n"
+msgstr ""
+
+#: hwclock/hwclock.c:359
+#, c-format
+msgid "...got clock tick\n"
+msgstr "...sain tiksu\n"
+
+#: hwclock/hwclock.c:413
+#, 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"
+
+#: hwclock/hwclock.c:421
+#, 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"
+
+#: hwclock/hwclock.c:451
+#, 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"
+
+#: hwclock/hwclock.c:480
+#, 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"
+
+#: hwclock/hwclock.c:486
+#, c-format
+msgid "Clock not changed - testing only.\n"
+msgstr "Ei muutnud kella - testime ainult\n"
+
+#: hwclock/hwclock.c:536
+#, 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"
+
+#: hwclock/hwclock.c:572
+#, c-format
+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).\n"
+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"
+
+#: hwclock/hwclock.c:582
+#, c-format
+msgid "%s  %.6f seconds\n"
+msgstr "%s  %.6f sekundit\n"
+
+#: hwclock/hwclock.c:616
+#, c-format
+msgid "No --date option specified.\n"
+msgstr "--date parameeter on puudu\n"
+
+#: hwclock/hwclock.c:622
+#, c-format
+msgid "--date argument too long\n"
+msgstr "--date argument on liiga pikk\n"
+
+#: hwclock/hwclock.c:629
+#, c-format
+msgid ""
+"The value of the --date option is not a valid date.\n"
+"In particular, it contains quotation marks.\n"
+msgstr ""
+"--date suvandiga antud kellaaeg on vigane.\n"
+"Täpsemalt öeldes sisaldab ta jutumärke.\n"
+
+#: hwclock/hwclock.c:637
+#, c-format
+msgid "Issuing date command: %s\n"
+msgstr "Annan `date' käsu: %s\n"
+
+#: hwclock/hwclock.c:641
+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"
+
+#: hwclock/hwclock.c:649
+#, c-format
+msgid "response from date command = %s\n"
+msgstr "date-käsu tulemus = %s\n"
+
+#: hwclock/hwclock.c:651
+#, c-format
+msgid ""
+"The date command issued by %s returned unexpected results.\n"
+"The command was:\n"
+"  %s\n"
+"The response was:\n"
+"  %s\n"
+msgstr ""
+"%s poolt käivitatud date-käsk andis ootamatu tulemuse.\n"
+"Käsk oli:\n"
+"  %s\n"
+"Vastus oli:\n"
+"  %s\n"
+
+#: hwclock/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"
+
+#: hwclock/hwclock.c:674
+#, 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"
+
+#: hwclock/hwclock.c:706
+#, c-format
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot set the "
+"System Time from it.\n"
+msgstr ""
+"Riistavaline kell ei sisalda korrektset aega, seega me ei saa seada "
+"süsteemikella selle järgi\n"
+
+#: hwclock/hwclock.c:728 hwclock/hwclock.c:805
+#, c-format
+msgid "Calling settimeofday:\n"
+msgstr "kutsun välja settimeofday:\n"
+
+#: hwclock/hwclock.c:729 hwclock/hwclock.c:807
+#, c-format
+msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+
+#: hwclock/hwclock.c:731 hwclock/hwclock.c:809
+#, c-format
+msgid "\ttz.tz_minuteswest = %d\n"
+msgstr "\ttz.tz_minuteswest = %d\n"
+
+#: hwclock/hwclock.c:734 hwclock/hwclock.c:812
+#, c-format
+msgid "Not setting system clock because running in test mode.\n"
+msgstr "Ei sea süsteemikella, sest tegu on testimisega\n"
+
+#: hwclock/hwclock.c:743 hwclock/hwclock.c:821
+#, c-format
+msgid "Must be superuser to set system clock.\n"
+msgstr "Kella seadmiseks peab olema root\n"
+
+#: hwclock/hwclock.c:746 hwclock/hwclock.c:824
+msgid "settimeofday() failed"
+msgstr "settimeofday() ei õnnestunud"
+
+#: hwclock/hwclock.c:782
+#, c-format
+msgid "Current system time: %ld = %s\n"
+msgstr ""
+
+#: hwclock/hwclock.c:806
+#, c-format
+msgid "\tUTC: %s\n"
+msgstr ""
+
+#: hwclock/hwclock.c:853
+#, 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"
+
+#: hwclock/hwclock.c:858
+#, 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"
+
+#: hwclock/hwclock.c:864
+#, 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"
+
+#: hwclock/hwclock.c:912
+#, 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"
+
+#: hwclock/hwclock.c:962
+#, c-format
+msgid "Time since last adjustment is %d seconds\n"
+msgstr "Viimasest kellaaja korrigeermisest on möödunud %d sekundit\n"
+
+#: hwclock/hwclock.c:964
+#, 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"
+
+#: hwclock/hwclock.c:993
+#, c-format
+msgid "Not updating adjtime file because of testing mode.\n"
+msgstr "Ei uuenda adjtime faili, sest tegu on testimisega\n"
+
+#: hwclock/hwclock.c:994
+#, c-format
+msgid ""
+"Would have written the following to %s:\n"
+"%s"
+msgstr ""
+"Oleks kirjutanud faili %s järgmist:\n"
+"%s"
+
+#: hwclock/hwclock.c:1002
+#, c-format
+msgid ""
+"Could not open file with the clock adjustment parameters in it (%s) for "
+"writing"
+msgstr ""
+
+#: hwclock/hwclock.c:1007 hwclock/hwclock.c:1012
+#, c-format
+msgid "Could not update file with the clock adjustment parameters (%s) in it"
+msgstr ""
+
+#: hwclock/hwclock.c:1018
+#, c-format
+msgid "Drift adjustment parameters not updated.\n"
+msgstr "Ujumise kompenseerimise parameetreid ei uuendatud\n"
+
+#: hwclock/hwclock.c:1059
+#, c-format
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot adjust it.\n"
+msgstr ""
+"Riistvaraline kell ei sisalda korrektset aega, seega me ei saa sinna "
+"parandust lisada\n"
+
+#: hwclock/hwclock.c:1067
+#, 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"
+
+#: hwclock/hwclock.c:1090
+#, 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"
+
+#: hwclock/hwclock.c:1116
+#, c-format
+msgid "Using %s.\n"
+msgstr "Kasutan %s\n"
+
+#: hwclock/hwclock.c:1118
+#, c-format
+msgid "No usable clock interface found.\n"
+msgstr "Ei leidnud kasutatavat kellaliidest\n"
+
+#: hwclock/hwclock.c:1222 hwclock/hwclock.c:1228
+#, c-format
+msgid "Unable to set system clock.\n"
+msgstr "Süsteemikella seadmine ei õnnestunud\n"
+
+#: hwclock/hwclock.c:1258
+#, c-format
+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.\n"
+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"
+
+#: hwclock/hwclock.c:1267
+#, c-format
+msgid "Unable to get the epoch value from the kernel.\n"
+msgstr "Ei saanud tuumalt epohhi väärtust kätte\n"
+
+#: hwclock/hwclock.c:1269
+#, c-format
+msgid "Kernel is assuming an epoch value of %lu\n"
+msgstr "Tuum kasutab epohhi väärtust %lu\n"
+
+#: hwclock/hwclock.c:1272
+#, c-format
+msgid ""
+"To set the epoch value, you must use the 'epoch' option to tell to what "
+"value to set it.\n"
+msgstr ""
+"Epohhi väärtuse seadmiseks peate kasutama `epoch' võtit uue väärtuse "
+"andmiseks\n"
+
+#: hwclock/hwclock.c:1275
+#, c-format
+msgid "Not setting the epoch to %d - testing only.\n"
+msgstr "Ei pannud epohhiks %d - testime ainult\n"
+
+#: hwclock/hwclock.c:1278
+#, c-format
+msgid "Unable to set the epoch value in the kernel.\n"
+msgstr "Epohhi väärtuse seadmine ei õnnestunud\n"
+
+#: hwclock/hwclock.c:1291 misc-utils/cal.c:345 misc-utils/kill.c:189
+#, c-format
+msgid "%s from %s\n"
+msgstr "%s paketist %s\n"
+
+#: hwclock/hwclock.c:1312
+#, fuzzy, c-format
+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"
+"  -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"
+
+#: hwclock/hwclock.c:1347
+#, fuzzy, c-format
+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"
+
+#: hwclock/hwclock.c:1434
+#, fuzzy, c-format
+msgid "%s: Unable to connect to audit system\n"
+msgstr "Süsteemikella seadmine ei õnnestunud\n"
+
+#: hwclock/hwclock.c:1552
+#, 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"
+
+#: hwclock/hwclock.c:1559
+#, fuzzy, c-format
+msgid ""
+"You have specified multiple functions.\n"
+"You can only perform one function at a time.\n"
+msgstr "Korraga saab kasutada ainult ühte funktsiooni\n"
+
+#: hwclock/hwclock.c:1566
+#, c-format
+msgid ""
+"%s: The --utc and --localtime options are mutually exclusive.  You specified "
+"both.\n"
+msgstr ""
+"%s: --utc ja --localtime võtmed on teineteist välistavad. Teie kasutasite "
+"mõlemat korraga\n"
+
+#: hwclock/hwclock.c:1573
+#, c-format
+msgid ""
+"%s: The --adjust and --noadjfile options are mutually exclusive.  You "
+"specified both.\n"
+msgstr "%s: Võtmed --adjust ja --noadjfile on vastastikku välistavad\n"
+
+#: hwclock/hwclock.c:1580
+#, fuzzy, c-format
+msgid ""
+"%s: The --adjfile and --noadjfile options are mutually exclusive.  You "
+"specified both.\n"
+msgstr "%s: Võtmed --adjust ja --noadjfile on vastastikku välistavad\n"
+
+#: hwclock/hwclock.c:1589
+#, c-format
+msgid "%s: With --noadjfile, you must specify either --utc or --localtime\n"
+msgstr ""
+"%s: Koos võtmega --noadjfile tuleb anda ka kas --utc või --localtime võti\n"
+
+#: hwclock/hwclock.c:1603
+#, c-format
+msgid "No usable set-to time.  Cannot set clock.\n"
+msgstr "Ei saanud kasutatavat aega, ei keera kella\n"
+
+#: hwclock/hwclock.c:1620
+#, c-format
+msgid "Sorry, only the superuser can change the Hardware Clock.\n"
+msgstr "Kahjuks saab ainult root riistvaralist kella keerata\n"
+
+#: hwclock/hwclock.c:1625
+#, c-format
+msgid "Sorry, only the superuser can change the System Clock.\n"
+msgstr "Kahjuks saba ainult root süsteemikelal keerata\n"
+
+#: hwclock/hwclock.c:1630
+#, c-format
+msgid ""
+"Sorry, only the superuser can change the Hardware Clock epoch in the "
+"kernel.\n"
+msgstr "Kahjuks saab ainult root riistvaralise kella epohhi seada\n"
+
+#: hwclock/hwclock.c:1651
+#, c-format
+msgid "Cannot access the Hardware Clock via any known method.\n"
+msgstr "Ei suuda ühegi tuntud meetodiga riistvaralist kella kätte saada\n"
+
+#: hwclock/hwclock.c:1655
+#, c-format
+msgid ""
+"Use the --debug option to see the details of our search for an access "
+"method.\n"
+msgstr ""
+"Kasutage --debug võtit, et näha otsingu detaile juurdepääsu otsimisel\n"
+
+#: hwclock/kd.c:53
+#, 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"
+
+#: hwclock/kd.c:56
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr "KDGHWCLK ioctl kella lugemiseks ei õnnestunud"
+
+#: hwclock/kd.c:77 hwclock/rtc.c:221
+#, c-format
+msgid "Timed out waiting for time change.\n"
+msgstr "Taimaut oodates kellaaja muutumist\n"
+
+#: hwclock/kd.c:81
+msgid "KDGHWCLK ioctl to read time failed in loop"
+msgstr "KDGHWCLK ioctl kella lugemiseks ei õnnestunud tsükils"
+
+#: hwclock/kd.c:103
+#, c-format
+msgid "ioctl() failed to read time from %s"
+msgstr "ioctl() abil kella lugemine %s kaudu ei õnnestunud"
+
+#: hwclock/kd.c:139
+msgid "ioctl KDSHWCLK failed"
+msgstr "KDSHWCLK ioctl ei õnnestunud"
+
+#: hwclock/kd.c:175
+msgid "Can't open /dev/tty1 or /dev/vc/1"
+msgstr "Ei suuda avada seadet /dev/tty1 või /dev/vc/1"
+
+#: hwclock/kd.c:179
+msgid "KDGHWCLK ioctl failed"
+msgstr "KDGHWCLK ioctl ei õnnestunud"
+
+#: hwclock/rtc.c:147 hwclock/rtc.c:241
+#, c-format
+msgid "open() of %s failed"
+msgstr "%s avamine ei õnnestunud"
+
+#: hwclock/rtc.c:181
+#, c-format
+msgid "ioctl() to %s to read the time failed.\n"
+msgstr "ioctl() abil kella lugemine %s kaudu ei õnnestnud\n"
+
+#: hwclock/rtc.c:203
+#, 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"
+
+#: hwclock/rtc.c:259
+#, c-format
+msgid "%s does not have interrupt functions. "
+msgstr "%s ei paku katkestusfunktsioone. "
+
+#: hwclock/rtc.c:270
+#, c-format
+msgid "read() to %s to wait for clock tick failed"
+msgstr "%s lugemine kella tiksu ootamisel ei õnnestunud"
+
+#: hwclock/rtc.c:288
+#, fuzzy, c-format
+msgid "select() to %s to wait for clock tick failed"
+msgstr "%s lugemine kella tiksu ootamisel ei õnnestunud"
+
+#: hwclock/rtc.c:291
+#, fuzzy, c-format
+msgid "select() to %s to wait for clock tick timed out\n"
+msgstr "%s lugemine kella tiksu ootamisel ei õnnestunud"
+
+#: hwclock/rtc.c:300
+#, c-format
+msgid "ioctl() to %s to turn off update interrupts failed"
+msgstr "%s ioctl() abil ei õnnestunud välja lülitada kella katkestusi"
+
+#: hwclock/rtc.c:303
+#, c-format
+msgid "ioctl() to %s to turn on update interrupts failed unexpectedly"
+msgstr "%s ioctl() abil ei õnnestunud sisse lülitada kella katkestusi"
+
+#: hwclock/rtc.c:360
+#, c-format
+msgid "ioctl() to %s to set the time failed.\n"
+msgstr "ioctl() %s kaudu kella seadmiseks ei õnnestunud\n"
+
+#: hwclock/rtc.c:366
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr "ioctl(%s) õnnestus\n"
+
+#: hwclock/rtc.c:392
+#, c-format
+msgid "Open of %s failed"
+msgstr "%s avamine ei õnnestunud"
+
+#: hwclock/rtc.c:410 hwclock/rtc.c:454
+#, 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.\n"
+msgstr ""
+"Epohhi väärtuse manipuleerimiseks tuleb kasutada 'rtc' draiverit seadmefaili "
+"%s kaudu. Antud süsteemis seda faili ei leidu\n"
+
+#: hwclock/rtc.c:415 hwclock/rtc.c:459
+#, c-format
+msgid "Unable to open %s"
+msgstr "Ei suuda avada seadet %s"
+
+#: hwclock/rtc.c:422
+#, c-format
+msgid "ioctl(RTC_EPOCH_READ) to %s failed"
+msgstr "%s ioctl(RTC_EPOCH_READ) ei õnnestunud"
+
+#: hwclock/rtc.c:427
+#, 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"
+
+#: hwclock/rtc.c:446
+#, c-format
+msgid "The epoch value may not be less than 1900.  You requested %ld\n"
+msgstr "Epohhi väärtus ei tohi olla alla 1900. Teie andsite %ld\n"
+
+#: hwclock/rtc.c:464
+#, 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"
+
+#: hwclock/rtc.c:469
+#, c-format
+msgid ""
+"The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl.\n"
+msgstr "Tuuma draiver %s jaoks ei toeta RTC_EPOCH_SET ioctl'i\n"
+
+#: hwclock/rtc.c:472
+#, c-format
+msgid "ioctl(RTC_EPOCH_SET) to %s failed"
+msgstr "%s ioctl(RTC_EPOCH_SET) ei õnnestunud"
+
+#: login-utils/agetty.c:361
+#, c-format
+msgid "%s: can't exec %s: %m"
+msgstr "%s: ei suuda käivitada programmi %s: %m"
+
+#: login-utils/agetty.c:384
+msgid "can't malloc initstring"
+msgstr "init-stringi jaoks ei jätku mälu"
+
+#: login-utils/agetty.c:449
+#, c-format
+msgid "bad timeout value: %s"
+msgstr "vigane taimadi väärtus: %s"
+
+#: login-utils/agetty.c:526
+#, c-format
+msgid "bad speed: %s"
+msgstr "vigane kiirus: %s"
+
+#: login-utils/agetty.c:528
+msgid "too many alternate speeds"
+msgstr "liiga palju alternatiivseid kiirusi"
+
+#: login-utils/agetty.c:630
+#, c-format
+msgid "/dev: chdir() failed: %m"
+msgstr "chdir () kataloogi /dev ei õnnestunud: %m"
+
+#: login-utils/agetty.c:634
+#, c-format
+msgid "/dev/%s: not a character device"
+msgstr "/dev/%s pole sümbolseade"
+
+#: login-utils/agetty.c:643
+#, c-format
+msgid "/dev/%s: cannot open as standard input: %m"
+msgstr "ei saanud avada /dev/%s standardsisendina: %m"
+
+#: login-utils/agetty.c:653
+#, c-format
+msgid "%s: not open for read/write"
+msgstr "%s pole avatud lugemiseks _ja_ kirjutamiseks"
+
+#: login-utils/agetty.c:659
+#, c-format
+msgid "%s: dup problem: %m"
+msgstr "probleem %s dubleerimisel: %m"
+
+#: login-utils/agetty.c:946
+#, c-format
+msgid "user"
+msgstr "kasutaja"
+
+#: login-utils/agetty.c:946
+#, c-format
+msgid "users"
+msgstr "kasutajat"
+
+#: login-utils/agetty.c:1031
+#, c-format
+msgid "%s: read: %m"
+msgstr "%s: read: %m"
+
+#: login-utils/agetty.c:1078
+#, c-format
+msgid "%s: input overrun"
+msgstr "%s: sisendi ületäitumine"
+
+#: login-utils/agetty.c:1207
+#, fuzzy, c-format
+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 ""
+"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"
+
+#: login-utils/checktty.c:91 login-utils/checktty.c:112
+#, c-format
+msgid "login: memory low, login may fail\n"
+msgstr "login: mälu on vähe, sisse logimine ei tarvitse õnnestuda\n"
+
+#: login-utils/checktty.c:92
+msgid "can't malloc for ttyclass"
+msgstr "ei jätku mälu ttyclass'ile"
+
+#: login-utils/checktty.c:113
+msgid "can't malloc for grplist"
+msgstr "ei jätku mälu grplist'ile"
+
+#: login-utils/checktty.c:554
+#, c-format
+msgid "Login on %s from %s denied by default.\n"
+msgstr "Sisselogimisest liinil %s masinast %s keeldutakse vaikereegli tõttu\n"
+
+#: login-utils/checktty.c:565
+#, c-format
+msgid "Login on %s from %s denied.\n"
+msgstr "Sisselogimisest liinil %s masinast %s keeldutakse\n"
+
+#: login-utils/chfn.c:133 login-utils/chsh.c:119
+#, c-format
+msgid "%s: you (user %d) don't exist.\n"
+msgstr "%s: Teid (kasutajat %d) pole olemas\n"
+
+#: login-utils/chfn.c:140 login-utils/chsh.c:126
+#, c-format
+msgid "%s: user \"%s\" does not exist.\n"
+msgstr "%s: Kasutajat \"%s\" pole olemas\n"
+
+#: login-utils/chfn.c:145 login-utils/chsh.c:131
+#, c-format
+msgid "%s: can only change local entries; use yp%s instead.\n"
+msgstr "%s: ainult lokaalseid kirjeid saab muuta - kasutage programmi yp%s\n"
+
+#: login-utils/chfn.c:156 login-utils/chsh.c:142
+msgid "Unknown user context"
+msgstr ""
+
+#: login-utils/chfn.c:157
+#, c-format
+msgid "%s: %s is not authorized to change the finger info of %s\n"
+msgstr ""
+
+#: login-utils/chfn.c:164 login-utils/chsh.c:150
+#, c-format
+msgid "%s: Can't set default context for /etc/passwd"
+msgstr ""
+
+#: login-utils/chfn.c:178
+#, c-format
+msgid "Changing finger information for %s.\n"
+msgstr "Muudan kasutaja %s kohta käivat informatsiooni\n"
+
+#: login-utils/chfn.c:189 login-utils/chsh.c:188 login-utils/login.c:572
+#, fuzzy, c-format
+msgid "%s: PAM failure, aborting: %s\n"
+msgstr "login: PAM viga, katkestan: %s\n"
+
+#: login-utils/chfn.c:212 login-utils/chsh.c:211 login-utils/login.c:823
+#: login-utils/newgrp.c:85 login-utils/simpleinit.c:340 mount/lomount.c:744
+#: mount/lomount.c:747
+msgid "Password: "
+msgstr "Parool: "
+
+#: login-utils/chfn.c:215 login-utils/chsh.c:214
+msgid "Incorrect password."
+msgstr "Vale parool"
+
+#: login-utils/chfn.c:226
+#, c-format
+msgid "Finger information not changed.\n"
+msgstr "Kasutaja informatsioon ei muutunud\n"
+
+#: login-utils/chfn.c:328
+#, c-format
+msgid "Usage: %s [ -f full-name ] [ -o office ] "
+msgstr "Kasutamine: %s [ -f pärisnimi ] [ -o kontor] "
+
+#: login-utils/chfn.c:329
+#, c-format
+msgid ""
+"[ -p office-phone ]\n"
+"\t[ -h home-phone ] "
+msgstr ""
+"[ -p töötelefon]\n"
+"\t[ -h kodune telefon] "
+
+#: login-utils/chfn.c:330
+#, c-format
+msgid "[ --help ] [ --version ]\n"
+msgstr "[ --help ] [ --version ]\n"
+
+#: login-utils/chfn.c:378
+msgid "Office"
+msgstr ""
+
+#: login-utils/chfn.c:379
+msgid "Office Phone"
+msgstr ""
+
+#: login-utils/chfn.c:380
+msgid "Home Phone"
+msgstr ""
+
+#: login-utils/chfn.c:401 login-utils/chsh.c:321
+#, c-format
+msgid ""
+"\n"
+"Aborted.\n"
+msgstr ""
+"\n"
+"Katkestatud\n"
+
+#: login-utils/chfn.c:434
+#, c-format
+msgid "field is too long.\n"
+msgstr "väli on liiga pikk\n"
+
+#: login-utils/chfn.c:442
+#, c-format
+msgid "'%c' is not allowed.\n"
+msgstr "'%c' ei ole lubatud\n"
+
+#: login-utils/chfn.c:447
+#, c-format
+msgid "Control characters are not allowed.\n"
+msgstr "Juttsümbolid ei ole lubatud\n"
+
+#: login-utils/chfn.c:512
+#, c-format
+msgid "Finger information *NOT* changed.  Try again later.\n"
+msgstr "Kasutaja informatsiooni ei muudetud. Proovige hiljem uuesti\n"
+
+#: login-utils/chfn.c:515
+#, c-format
+msgid "Finger information changed.\n"
+msgstr "Kasutaja informatsioon on muudetud\n"
+
+#: login-utils/chsh.c:143
+#, fuzzy, c-format
+msgid "%s: %s is not authorized to change the shell of %s\n"
+msgstr "%s: \"%s\" pole kirjas failis /etc/shells\n"
+
+#: login-utils/chsh.c:164
+#, c-format
+msgid ""
+"%s: Running UID doesn't match UID of user we're altering, shell change "
+"denied\n"
+msgstr ""
+
+#: login-utils/chsh.c:170
+#, c-format
+msgid "%s: Your shell is not in /etc/shells, shell change denied\n"
+msgstr "%s: Teie shell pole kirjas failis /etc/shells, shelli ei muuda\n"
+
+#: login-utils/chsh.c:177
+#, c-format
+msgid "Changing shell for %s.\n"
+msgstr "Muudame kasutaja %s shelli\n"
+
+#: login-utils/chsh.c:222
+msgid "New shell"
+msgstr "Uus shell"
+
+#: login-utils/chsh.c:229
+#, c-format
+msgid "Shell not changed.\n"
+msgstr "Shell jäi samaks\n"
+
+#: login-utils/chsh.c:235
+#, c-format
+msgid "Shell *NOT* changed.  Try again later.\n"
+msgstr "Shelli ei muudetud, proovige hiljem uuesti\n"
+
+#: login-utils/chsh.c:238
+#, c-format
+msgid "Shell changed.\n"
+msgstr "Shell on muudetud\n"
+
+#: login-utils/chsh.c:303
+#, c-format
+msgid ""
+"Usage: %s [ -s shell ] [ --list-shells ] [ --help ] [ --version ]\n"
+"       [ username ]\n"
+msgstr ""
+"Kasutamine: %s [ --list-shells ] [ --help ] [ --version ]\n"
+"       [ kasutajanimi ]\n"
+
+#: login-utils/chsh.c:349
+#, c-format
+msgid "%s: shell must be a full path name.\n"
+msgstr "%s: shelli peab andma koos täieliku teega\n"
+
+#: login-utils/chsh.c:353
+#, c-format
+msgid "%s: \"%s\" does not exist.\n"
+msgstr "%s: \"%s\" ei eksisteeri\n"
+
+#: login-utils/chsh.c:357
+#, c-format
+msgid "%s: \"%s\" is not executable.\n"
+msgstr "%s: \"%s\" ei ole täidetav\n"
+
+#: login-utils/chsh.c:364
+#, c-format
+msgid "%s: '%c' is not allowed.\n"
+msgstr "%s: '%c' ei ole lubatud\n"
+
+#: login-utils/chsh.c:368
+#, c-format
+msgid "%s: Control characters are not allowed.\n"
+msgstr "%s: Juhtsümbolid ei ole lubatud\n"
+
+#: login-utils/chsh.c:375 login-utils/chsh.c:385
+#, c-format
+msgid "Warning: \"%s\" is not listed in /etc/shells.\n"
+msgstr "Hoiatus: \"%s\" pole kirjas failis /etc/shells\n"
+
+#: login-utils/chsh.c:377
+#, c-format
+msgid "%s: \"%s\" is not listed in /etc/shells.\n"
+msgstr "%s: \"%s\" pole kirjas failis /etc/shells\n"
+
+#: login-utils/chsh.c:379
+#, fuzzy, c-format
+msgid "%s: Use -l option to see list.\n"
+msgstr "%s: kasutage -l lubatud shellide nimekirja vaatamiseks\n"
+
+#: login-utils/chsh.c:386
+#, c-format
+msgid "Use %s -l to see list.\n"
+msgstr "Kasutage %s -l lubatud shellide nimekirja vaatamiseks\n"
+
+#: login-utils/chsh.c:406
+#, c-format
+msgid "No known shells.\n"
+msgstr "Ei leidu ühtegi lubatud shelli\n"
+
+#: login-utils/islocal.c:87
+#, fuzzy, c-format
+msgid "Failed to open %s for reading, exiting."
+msgstr "ei suuda avada faili %s lugemiseks"
+
+#: login-utils/last.c:148
+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:284
+msgid "  still logged in"
+msgstr "  veel masinas"
+
+#: login-utils/last.c:306
+#, c-format
+msgid ""
+"\n"
+"wtmp begins %s"
+msgstr ""
+"\n"
+"wtmp algab %s"
+
+#: login-utils/last.c:362 login-utils/last.c:380 login-utils/last.c:431
+msgid "last: malloc failure.\n"
+msgstr "last: Mälu sai otsa\n"
+
+#: login-utils/last.c:407
+msgid "last: gethostname"
+msgstr "last: gethostname"
+
+#: login-utils/last.c:456
+#, c-format
+msgid ""
+"\n"
+"interrupted %10.10s %5.5s \n"
+msgstr ""
+"\n"
+"katkestatud %10.10s %5.5s \n"
+
+#: login-utils/login.c:197
+#, c-format
+msgid "FATAL: can't reopen tty: %s"
+msgstr "Saatuslik viga: ei suuda taasavada terminali: %s"
+
+#: login-utils/login.c:229
+msgid "FATAL: bad tty"
+msgstr ""
+
+#: login-utils/login.c:436
+#, c-format
+msgid "login: -h for super-user only.\n"
+msgstr "login: -h on ainult superkasutajale\n"
+
+#: login-utils/login.c:479
+#, c-format
+msgid "usage: login [-fp] [username]\n"
+msgstr "Kasutamine: login [-fp] [kasutajanimi]\n"
+
+#: login-utils/login.c:574
+#, c-format
+msgid "Couldn't initialize PAM: %s"
+msgstr "Ei suutnud initsialiseerida PAM'i: %s"
+
+#: login-utils/login.c:591
+msgid "login: "
+msgstr "login: "
+
+#: login-utils/login.c:635
+#, c-format
+msgid "FAILED LOGIN %d FROM %s FOR %s, %s"
+msgstr "FAILED LOGIN %d FROM %s FOR %s, %s"
+
+#: login-utils/login.c:640
+#, c-format
+msgid ""
+"Login incorrect\n"
+"\n"
+msgstr ""
+"Login incorrect\n"
+"\n"
+
+#: login-utils/login.c:649
+#, c-format
+msgid "TOO MANY LOGIN TRIES (%d) FROM %s FOR %s, %s"
+msgstr "TOO MANY LOGIN TRIES (%d) FROM %s FOR %s, %s"
+
+#: login-utils/login.c:653
+#, c-format
+msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
+msgstr "FAILED LOGIN SESSION FROM %s FOR %s, %s"
+
+#: login-utils/login.c:658
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+"\n"
+"Login incorrect\n"
+
+#: login-utils/login.c:686 login-utils/login.c:693 login-utils/login.c:727
+#, c-format
+msgid ""
+"\n"
+"Session setup problem, abort.\n"
+msgstr ""
+
+#: login-utils/login.c:687
+#, c-format
+msgid "NULL user name in %s:%d. Abort."
+msgstr ""
+
+#: login-utils/login.c:694
+#, c-format
+msgid "Invalid user name \"%s\" in %s:%d. Abort."
+msgstr ""
+
+#: login-utils/login.c:713
+#, c-format
+msgid "login: Out of memory\n"
+msgstr "login: Mälu sai otsa\n"
+
+#: login-utils/login.c:757
+msgid "Illegal username"
+msgstr "Vigane kasutajanimi"
+
+#: login-utils/login.c:800
+#, c-format
+msgid "%s login refused on this terminal.\n"
+msgstr "Kasutaja %s ei tohi sellelt terminaliltsisse logida\n"
+
+#: login-utils/login.c:805
+#, c-format
+msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
+msgstr "LOGIN %s REFUSED FROM %s ON TTY %s"
+
+#: login-utils/login.c:809
+#, c-format
+msgid "LOGIN %s REFUSED ON TTY %s"
+msgstr "LOGIN %s REFUSED ON TTY %s"
+
+#: login-utils/login.c:863
+#, c-format
+msgid "Login incorrect\n"
+msgstr "Login incorrect\n"
+
+#: login-utils/login.c:1088
+#, c-format
+msgid "DIALUP AT %s BY %s"
+msgstr "DIALUP AT %s BY %s"
+
+#: login-utils/login.c:1095
+#, c-format
+msgid "ROOT LOGIN ON %s FROM %s"
+msgstr "ROOT LOGIN ON %s FROM %s"
+
+#: login-utils/login.c:1098
+#, c-format
+msgid "ROOT LOGIN ON %s"
+msgstr "ROOT LOGIN ON %s"
+
+#: login-utils/login.c:1101
+#, c-format
+msgid "LOGIN ON %s BY %s FROM %s"
+msgstr "LOGIN ON %s BY %s FROM %s"
+
+#: login-utils/login.c:1104
+#, c-format
+msgid "LOGIN ON %s BY %s"
+msgstr "LOGIN ON %s BY %s"
+
+#: login-utils/login.c:1125
+#, c-format
+msgid "You have new mail.\n"
+msgstr "Teile on uusi kirju\n"
+
+#: login-utils/login.c:1127
+#, c-format
+msgid "You have mail.\n"
+msgstr "Teile on kirju\n"
+
+#: login-utils/login.c:1171
+#, c-format
+msgid "login: failure forking: %s"
+msgstr "login: Viga fork'imisel: %s"
+
+#: login-utils/login.c:1218
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr "TIOCSCTTY ei õnnestunud: %m"
+
+#: login-utils/login.c:1224
+msgid "setuid() failed"
+msgstr "setuid() ei õnnestunud"
+
+#: login-utils/login.c:1230
+#, c-format
+msgid "No directory %s!\n"
+msgstr "Kataloogi %s pole!\n"
+
+#: login-utils/login.c:1234
+#, c-format
+msgid "Logging in with home = \"/\".\n"
+msgstr "Login sisse kodukataloogiga \"/\"\n"
+
+#: login-utils/login.c:1242
+#, c-format
+msgid "login: no memory for shell script.\n"
+msgstr "login: Ei jätku mälu shell-skriptile\n"
+
+#: login-utils/login.c:1269
+#, c-format
+msgid "login: couldn't exec shell script: %s.\n"
+msgstr "login: Ei suutnud käivitada shell skripti: %s\n"
+
+#: login-utils/login.c:1272
+#, c-format
+msgid "login: no shell: %s.\n"
+msgstr "login: shelli pole: %s\n"
+
+#: login-utils/login.c:1287
+#, c-format
+msgid ""
+"\n"
+"%s login: "
+msgstr ""
+"\n"
+"%s login: "
+
+#: login-utils/login.c:1298
+#, c-format
+msgid "login name much too long.\n"
+msgstr "Kasutajanimi on liiga pikk\n"
+
+#: login-utils/login.c:1299
+msgid "NAME too long"
+msgstr "Nimi on liiga pikk"
+
+#: login-utils/login.c:1306
+#, c-format
+msgid "login names may not start with '-'.\n"
+msgstr "Kasutajanimed ei tohi alata miinusega\n"
+
+#: login-utils/login.c:1316
+#, c-format
+msgid "too many bare linefeeds.\n"
+msgstr "Liiga palju tühje ridu\n"
+
+#: login-utils/login.c:1317
+msgid "EXCESSIVE linefeeds"
+msgstr "TOHUTULT reavahetusi"
+
+#: login-utils/login.c:1349
+#, c-format
+msgid "Login timed out after %d seconds\n"
+msgstr "Login timed out after %d seconds\n"
+
+#: login-utils/login.c:1437
+#, c-format
+msgid "Last login: %.*s "
+msgstr "Viimati loginud: %.*s "
+
+#: login-utils/login.c:1441
+#, c-format
+msgid "from %.*s\n"
+msgstr "masinast %.*s\n"
+
+#: login-utils/login.c:1444
+#, c-format
+msgid "on %.*s\n"
+msgstr "terminalil %.*s\n"
+
+#: login-utils/login.c:1470
+#, c-format
+msgid "LOGIN FAILURE FROM %s, %s"
+msgstr "LOGIN FAILURE FROM %s, %s"
+
+#: login-utils/login.c:1473
+#, c-format
+msgid "LOGIN FAILURE ON %s, %s"
+msgstr "LOGIN FAILURE ON %s, %s"
+
+#: login-utils/login.c:1477
+#, c-format
+msgid "%d LOGIN FAILURES FROM %s, %s"
+msgstr "%d LOGIN FAILURES FROM %s, %s"
+
+#: login-utils/login.c:1480
+#, c-format
+msgid "%d LOGIN FAILURES ON %s, %s"
+msgstr "%d LOGIN FAILURES ON %s, %s"
+
+#: login-utils/mesg.c:89
+#, c-format
+msgid "is y\n"
+msgstr "on sisse lülitatud (y)\n"
+
+#: login-utils/mesg.c:92
+#, c-format
+msgid "is n\n"
+msgstr "on välja lülitatud (n)\n"
+
+#: login-utils/mesg.c:112
+#, c-format
+msgid "usage: mesg [y | n]\n"
+msgstr "Kasutamine: mesg [y | n]\n"
+
+#: login-utils/newgrp.c:105
+msgid "newgrp: Who are you?"
+msgstr "newgrp: Kes Te niisugune olete?"
+
+#: login-utils/newgrp.c:113 login-utils/newgrp.c:127
+msgid "newgrp: setgid"
+msgstr "newgrp: setgid"
+
+#: login-utils/newgrp.c:120 login-utils/newgrp.c:122
+msgid "newgrp: No such group."
+msgstr "newgrp: Sellist gruppi pole"
+
+#: login-utils/newgrp.c:131
+msgid "newgrp: Permission denied"
+msgstr "newgrp: Pole õigusi"
+
+#: login-utils/newgrp.c:138
+msgid "newgrp: setuid"
+msgstr "newgrp: setuid"
+
+#: login-utils/newgrp.c:144
+msgid "No shell"
+msgstr "Pole shelli"
+
+#: login-utils/shutdown.c:115
+#, c-format
+msgid "Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+msgstr "Kasutamine: shutdown [-h|-r] [-fqs] [now|tt:mm|+min]\n"
+
+#: login-utils/shutdown.c:133
+msgid "Shutdown process aborted"
+msgstr "Seiskamise protsess katkestati"
+
+#: login-utils/shutdown.c:164
+#, c-format
+msgid "%s: Only root can shut a system down.\n"
+msgstr "%s: Ainult root saab süsteemi seisata\n"
+
+#: login-utils/shutdown.c:258
+#, c-format
+msgid "That must be tomorrow, can't you wait till then?\n"
+msgstr "See paistab olevat homme, kes tõesti ei saa niikaua oodata?\n"
+
+#: login-utils/shutdown.c:309
+msgid "for maintenance; bounce, bounce"
+msgstr "hoolduse jaoks (nagu ikka)"
+
+#: login-utils/shutdown.c:338
+msgid "The system is being shut down within 5 minutes"
+msgstr "Süsteem läheb maha 5 minuti pärast"
+
+#: login-utils/shutdown.c:342
+msgid "Login is therefore prohibited."
+msgstr "Sisse logimine on seetõttu keelatud"
+
+#: login-utils/shutdown.c:364
+#, c-format
+msgid "rebooted by %s: %s"
+msgstr "buutis %s: %s"
+
+#: login-utils/shutdown.c:367
+#, c-format
+msgid "halted by %s: %s"
+msgstr "seiskas %s: %s"
+
+#: login-utils/shutdown.c:431
+msgid ""
+"\n"
+"Why am I still alive after reboot?"
+msgstr ""
+"\n"
+"Miks ma pärast rebooti veel elus olen?"
+
+#: login-utils/shutdown.c:433
+msgid ""
+"\n"
+"Now you can turn off the power..."
+msgstr ""
+"\n"
+"Nüüd võib voolu välja lülitada..."
+
+#: login-utils/shutdown.c:449
+#, c-format
+msgid "Calling kernel power-off facility...\n"
+msgstr "Kutsun välja tuuma väljalülitamise meetodi...\n"
+
+#: login-utils/shutdown.c:452
+#, c-format
+msgid "Error powering off\t%s\n"
+msgstr "Viga välja lülitamisel\t%s\n"
+
+#: login-utils/shutdown.c:460
+#, c-format
+msgid "Executing the program \"%s\" ...\n"
+msgstr "Täidan programmi \"%s\" ...\n"
+
+#: login-utils/shutdown.c:463
+#, c-format
+msgid "Error executing\t%s\n"
+msgstr "Viga %s täitmisel\n"
+
+#: login-utils/shutdown.c:490
+#, c-format
+msgid "URGENT: broadcast message from %s:"
+msgstr "KIIRE: teade kõigile kasutajalt %s:"
+
+#: login-utils/shutdown.c:496
+#, c-format
+msgid "System going down in %d hours %d minutes"
+msgstr "Süsteem läheb maha %d tunni ja %d minuti pärast"
+
+#: login-utils/shutdown.c:499
+#, c-format
+msgid "System going down in 1 hour %d minutes"
+msgstr "Süsteem läheb maha 1 tunni ja %d minuti pärast"
+
+#: login-utils/shutdown.c:502
+#, c-format
+msgid "System going down in %d minutes\n"
+msgstr "Süsteem läheb maha %d minuti pärast\n"
+
+#: login-utils/shutdown.c:505
+#, c-format
+msgid "System going down in 1 minute\n"
+msgstr "Süsteem läheb maha 1 minuti pärast\n"
+
+#: login-utils/shutdown.c:507
+#, c-format
+msgid "System going down IMMEDIATELY!\n"
+msgstr "süsteem läheb maha OTSEKOHE!\n"
+
+#: login-utils/shutdown.c:512
+#, c-format
+msgid "\t... %s ...\n"
+msgstr "\t... %s ...\n"
+
+#: login-utils/shutdown.c:569
+msgid "Cannot fork for swapoff. Shrug!"
+msgstr "Ei saa teha uut protsessi saalimise välja lülitamiseks. Oeh!"
+
+#: login-utils/shutdown.c:577
+msgid "Cannot exec swapoff, hoping umount will do the trick."
+msgstr "Ei saa käivitada swapoff'i, ehk umount teeb selle ära"
+
+#: login-utils/shutdown.c:596
+msgid "Cannot fork for umount, trying manually."
+msgstr "Ei saa forkida umounti käivitamiseks, proovin käsitsi"
+
+#: login-utils/shutdown.c:605
+#, c-format
+msgid "Cannot exec %s, trying umount.\n"
+msgstr "Ei suuda käivitada programmi %s, proovin umount'i\n"
+
+#: login-utils/shutdown.c:609
+msgid "Cannot exec umount, giving up on umount."
+msgstr "Ei suuda käivitada umount'i, annan alla umount'iga tegelemisel"
+
+#: login-utils/shutdown.c:614
+msgid "Unmounting any remaining filesystems..."
+msgstr "Monteerin lahti kõik allesjäänud failisüsteemid"
+
+#: login-utils/shutdown.c:661
+#, c-format
+msgid "shutdown: Couldn't umount %s: %s\n"
+msgstr "shutdown: Ei suuda lahti monteerida kataloogi %s: %s\n"
+
+#: login-utils/simpleinit.c:132
+msgid "Booting to single user mode.\n"
+msgstr "Buudin ühekasutajarezhiimi\n"
+
+#: login-utils/simpleinit.c:136
+msgid "exec of single user shell failed\n"
+msgstr "Ühekasutajarezhiimi shelli ei õnnestunud käivitada\n"
+
+#: login-utils/simpleinit.c:140
+msgid "fork of single user shell failed\n"
+msgstr "Ühekasutajarezhiimi shelli jaoks ei õnnestunud fork'ida\n"
+
+#: login-utils/simpleinit.c:208
+msgid "error opening fifo\n"
+msgstr "viga FIFO avamisel\n"
+
+#: login-utils/simpleinit.c:212
+msgid "error setting close-on-exec on /dev/initctl"
+msgstr ""
+
+#: login-utils/simpleinit.c:259
+msgid "error running finalprog\n"
+msgstr "viga finalprog'i käivitamisel\n"
+
+#: login-utils/simpleinit.c:263
+msgid "error forking finalprog\n"
+msgstr "viga finalprog'i käivitamisel\n"
+
+#: login-utils/simpleinit.c:345
+msgid ""
+"\n"
+"Wrong password.\n"
+msgstr ""
+"\n"
+"Vale parool\n"
+
+#: login-utils/simpleinit.c:418
+msgid "lstat of path failed\n"
+msgstr "kataloogi lstat() ei õnnestunud\n"
+
+#: login-utils/simpleinit.c:426
+msgid "stat of path failed\n"
+msgstr "kataloogi stat() ei õnnestunud\n"
+
+#: login-utils/simpleinit.c:434
+msgid "open of directory failed\n"
+msgstr "kataloogi avamine ei õnnestunud\n"
+
+#: login-utils/simpleinit.c:501
+#, c-format
+msgid "respawning: \"%s\" too fast: quenching entry\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:509
+msgid "fork failed\n"
+msgstr "fork ei õnnestunud\n"
+
+#: login-utils/simpleinit.c:540 text-utils/more.c:1629
+msgid "exec failed\n"
+msgstr "exec ei õnnestunud\n"
+
+#: login-utils/simpleinit.c:564
+msgid "cannot open inittab\n"
+msgstr "Ei suuda avada inittab'i\n"
+
+#: login-utils/simpleinit.c:631
+msgid "no TERM or cannot stat tty\n"
+msgstr "TERM pole seatud või stat (tty) ei õnnestnud\n"
+
+#: login-utils/simpleinit.c:938
+#, fuzzy, c-format
+msgid "error stopping service: \"%s\"\n"
+msgstr "viga teenuse peatamisel: %s"
+
+#: login-utils/simpleinit.c:950
+#, fuzzy, c-format
+msgid "Stopped service: %s\n"
+msgstr "viga teenuse peatamisel: %s"
+
+#: login-utils/simpleinit.c:1070
+#, fuzzy, c-format
+msgid "error running programme: \"%s\"\n"
+msgstr "viga finalprog'i käivitamisel\n"
+
+#: login-utils/ttymsg.c:75
+msgid "too many iov's (change code in wall/ttymsg.c)"
+msgstr "liiga palju iov'sid (muutke faili login-utils/ttymsg.c)"
+
+#: login-utils/ttymsg.c:85
+#, c-format
+msgid "excessively long line arg"
+msgstr "väga pikk argument"
+
+#: login-utils/ttymsg.c:140
+#, c-format
+msgid "cannot fork"
+msgstr "fork ei õnnestunud"
+
+#: login-utils/ttymsg.c:144
+#, c-format
+msgid "fork: %s"
+msgstr "fork: %s"
+
+#: login-utils/ttymsg.c:174
+#, c-format
+msgid "%s: BAD ERROR"
+msgstr "%s: Vigane veakood"
+
+#: login-utils/vipw.c:143
+#, c-format
+msgid "%s: the password file is busy.\n"
+msgstr ""
+
+#: login-utils/vipw.c:146
+#, c-format
+msgid "%s: the group file is busy.\n"
+msgstr ""
+
+# XXX bug
+#: login-utils/vipw.c:162
+#, c-format
+msgid "%s: the %s file is busy (%s present)\n"
+msgstr ""
+
+# XXX bug
+#: login-utils/vipw.c:168
+#, c-format
+msgid "%s: can't link %s: %s\n"
+msgstr ""
+
+#: login-utils/vipw.c:202
+#, c-format
+msgid "%s: Can't get context for %s"
+msgstr ""
+
+#: login-utils/vipw.c:208
+#, c-format
+msgid "%s: Can't set context for %s"
+msgstr ""
+
+#: login-utils/vipw.c:217
+#, c-format
+msgid "%s: can't unlock %s: %s (your changes are still in %s)\n"
+msgstr ""
+
+#: login-utils/vipw.c:240
+#, c-format
+msgid "%s: Cannot fork\n"
+msgstr ""
+
+#: login-utils/vipw.c:276
+#, c-format
+msgid "%s: %s unchanged\n"
+msgstr ""
+
+#: login-utils/vipw.c:297
+#, c-format
+msgid "%s: no changes made\n"
+msgstr ""
+
+#: login-utils/vipw.c:350
+#, c-format
+msgid "You are using shadow groups on this system.\n"
+msgstr ""
+
+#: login-utils/vipw.c:351
+#, c-format
+msgid "You are using shadow passwords on this system.\n"
+msgstr ""
+
+#: login-utils/vipw.c:352
+#, c-format
+msgid "Would you like to edit %s now [y/n]? "
+msgstr ""
+
+#: login-utils/wall.c:112
+#, c-format
+msgid "usage: %s [file]\n"
+msgstr "Kasutamine: %s [fail]\n"
+
+#: login-utils/wall.c:167
+#, c-format
+msgid "%s: can't open temporary file.\n"
+msgstr "%s: ei suuda avada ajutist faili\n"
+
+#: login-utils/wall.c:194
+#, c-format
+msgid "Broadcast Message from %s@%s"
+msgstr "Teade kõigile kasutajalt %s@%s"
+
+#: login-utils/wall.c:212
+#, c-format
+msgid "%s: will not read %s - use stdin.\n"
+msgstr "%s: ei hakka %s lugema, kasuta standardsisendit\n"
+
+#: login-utils/wall.c:217
+#, c-format
+msgid "%s: can't read %s.\n"
+msgstr "%s: ei suuda lugeda %s\n"
+
+#: login-utils/wall.c:240
+#, c-format
+msgid "%s: can't stat temporary file.\n"
+msgstr "%s: ei suuda lugeda ajutise faili staatust\n"
+
+#: login-utils/wall.c:250
+#, c-format
+msgid "%s: can't read temporary file.\n"
+msgstr "%s: ei suuda lugeda ajutist faili\n"
+
+#: misc-utils/cal.c:362 misc-utils/cal.c:374
+#, fuzzy, c-format
+msgid "illegal day value: use 1-%d"
+msgstr "Vigane aasta number, lubatud on 1-9999"
+
+#: misc-utils/cal.c:366
+msgid "illegal month value: use 1-12"
+msgstr "Vigane kuu number, lubatud on 1-12"
+
+#: misc-utils/cal.c:370
+msgid "illegal year value: use 1-9999"
+msgstr "Vigane aasta number, lubatud on 1-9999"
+
+#: misc-utils/cal.c:464
+#, c-format
+msgid "%s %d"
+msgstr "%s %d"
+
+#: misc-utils/cal.c:856
+#, fuzzy, c-format
+msgid "usage: cal [-13smjyV] [[[day] month] year]\n"
+msgstr "Kasutamine: cal [-13smjyV] [[kuu] aasta]\n"
+
+#: misc-utils/ddate.c:203
+#, c-format
+msgid "usage: %s [+format] [day month year]\n"
+msgstr "Kasutamine: %s[+formaat] [kuupäev kuu aasta]\n"
+
+#: misc-utils/ddate.c:250
+msgid "St. Tib's Day"
+msgstr "Püha Tib'i päev"
+
+#: misc-utils/findfs.c:24
+#, c-format
+msgid "Usage: %s LABEL=<label>|UUID=<uuid>\n"
+msgstr ""
+
+#: misc-utils/findfs.c:55
+#, fuzzy, c-format
+msgid "unable to resolve '%s'"
+msgstr "ei suuda avada seadet %s"
+
+#: misc-utils/kill.c:207
+#, c-format
+msgid "%s: unknown signal %s\n"
+msgstr "%s: tundmatu signaal %s\n"
+
+#: misc-utils/kill.c:270
+#, c-format
+msgid "%s: can't find process \"%s\"\n"
+msgstr "%s: ei leia protsessi \"%s\"\n"
+
+#: misc-utils/kill.c:314
+#, c-format
+msgid "%s: unknown signal %s; valid signals:\n"
+msgstr "%s: tundmatu signaal %s, tuntud signaalid:\n"
+
+#: misc-utils/kill.c:354
+#, c-format
+msgid "usage: %s [ -s signal | -p ] [ -a ] pid ...\n"
+msgstr "Kasutamine: %s [ -s signaal | -p ] [ -a ] pid ...\n"
+
+#: misc-utils/kill.c:355
+#, c-format
+msgid "       %s -l [ signal ]\n"
+msgstr "             %s -l [ signaal ]\n"
+
+#: misc-utils/logger.c:67
+#, fuzzy, c-format
+msgid "logger: openlog: pathname too long\n"
+msgstr "Kasutajanimi on liiga pikk\n"
+
+#: misc-utils/logger.c:75
+#, fuzzy, c-format
+msgid "socket: %s.\n"
+msgstr "Ploki suurus: %d\n"
+
+#: misc-utils/logger.c:80
+#, c-format
+msgid "connect: %s.\n"
+msgstr ""
+
+#: misc-utils/logger.c:139
+#, c-format
+msgid "logger: %s: %s.\n"
+msgstr "logger: %s: %s\n"
+
+#: misc-utils/logger.c:246
+#, c-format
+msgid "logger: unknown facility name: %s.\n"
+msgstr "logger: tundmatu kategooria nimi: %s\n"
+
+#: misc-utils/logger.c:258
+#, c-format
+msgid "logger: unknown priority name: %s.\n"
+msgstr "logger: tundmatu prioriteedi nimi: %s\n"
+
+#: misc-utils/logger.c:285
+#, c-format
+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"
+
+#: misc-utils/look.c:351
+#, c-format
+msgid "usage: look [-dfa] [-t char] string [file]\n"
+msgstr "Kasutamine: look [-dfa] [-t märk] string [fail]\n"
+
+#: misc-utils/mcookie.c:105 misc-utils/mcookie.c:132
+#, c-format
+msgid "Could not open %s\n"
+msgstr "Ei suutnud avada %s\n"
+
+#: misc-utils/mcookie.c:109 misc-utils/mcookie.c:128
+#, c-format
+msgid "Got %d bytes from %s\n"
+msgstr "Sain %d baiti %s seest\n"
+
+#: misc-utils/namei.c:144 misc-utils/namei.c:198 misc-utils/namei.c:220
+#: misc-utils/namei.c:227 misc-utils/namei.c:248
+#, fuzzy
+msgid "out of memory?"
+msgstr "Mälu sai otsa\n"
+
+#: misc-utils/namei.c:189
+#, fuzzy, c-format
+msgid "failed to read symlink: %s"
+msgstr "ioctl() abil kella lugemine %s kaudu ei õnnestunud"
+
+#: misc-utils/namei.c:229
+#, fuzzy, c-format
+msgid "could not stat '%s'"
+msgstr "stat(%s) ei õnnestunud"
+
+#: misc-utils/namei.c:411
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage: %s [options] pathname [pathname ...]\n"
+msgstr "Kasutamine: %s [ võtmed ] seade ...\n"
+
+#: misc-utils/namei.c:412
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"%d partitsiooni:\n"
+
+#: misc-utils/namei.c:415
+#, c-format
+msgid ""
+" -h, --help          displays this help text\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:423
+#, c-format
+msgid ""
+"\n"
+"For more information see namei(1).\n"
+msgstr ""
+
+# XXX stat'ida
+#: misc-utils/namei.c:484
+#, fuzzy, c-format
+msgid "failed to stat: %s"
+msgstr "ei suuda stat'ida seadet %s"
+
+#: misc-utils/namei.c:495
+#, c-format
+msgid "%s: exceeded limit of symlinks"
+msgstr ""
+
+#: misc-utils/rename.c:38
+#, c-format
+msgid "%s: out of memory\n"
+msgstr "%s: Mälu sai otsa\n"
+
+#: misc-utils/rename.c:56
+#, c-format
+msgid "%s: renaming %s to %s failed: %s\n"
+msgstr "%s: %s ümber nimetamine %s -ks ei õnnestnud: %s\n"
+
+#: misc-utils/rename.c:86
+#, c-format
+msgid "call: %s from to files...\n"
+msgstr "Kasutamine: %s kust kuhu failid...\n"
+
+#: misc-utils/script.c:110
+#, c-format
+msgid ""
+"Warning: `%s' is a link.\n"
+"Use `%s [options] %s' if you really want to use it.\n"
+"Script not started.\n"
+msgstr ""
+
+#: misc-utils/script.c:173
+#, c-format
+msgid "usage: script [-a] [-f] [-q] [-t] [file]\n"
+msgstr "Kasutamine: script [-a] [-f] [-q] [-t] [fail]\n"
+
+#: misc-utils/script.c:196
+#, c-format
+msgid "Script started, file is %s\n"
+msgstr ""
+
+#: misc-utils/script.c:244
+#, fuzzy, c-format
+msgid "%s: write error %d: %s\n"
+msgstr "Kirjutamise viga seadmel %s\n"
+
+#: misc-utils/script.c:304
+#, c-format
+msgid "Script started on %s"
+msgstr ""
+
+#: misc-utils/script.c:347
+#, fuzzy, c-format
+msgid "%s: write error: %s\n"
+msgstr "Kirjutamise viga seadmel %s\n"
+
+#: misc-utils/script.c:354
+#, fuzzy, c-format
+msgid "%s: cannot write script file, error: %s\n"
+msgstr "stat(%s) ei õnnestunud"
+
+#: misc-utils/script.c:430
+#, c-format
+msgid ""
+"\n"
+"Script done on %s"
+msgstr ""
+
+#: misc-utils/script.c:437
+#, c-format
+msgid "Script done, file is %s\n"
+msgstr ""
+
+#: misc-utils/script.c:448
+#, c-format
+msgid "openpty failed\n"
+msgstr ""
+
+#: misc-utils/script.c:482
+#, c-format
+msgid "Out of pty's\n"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:38
+#, c-format
+msgid "%s <timingfile> [<typescript> [<divisor>]]\n"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:53
+#, c-format
+msgid "expected a number, but got '%s'"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:56 misc-utils/scriptreplay.c:60
+#, c-format
+msgid "divisor '%s'"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:104
+#, fuzzy
+msgid "write to stdout failed"
+msgstr "%s avamine ei õnnestunud"
+
+#: misc-utils/scriptreplay.c:110
+#, c-format
+msgid "unexpected end of file on %s"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:112
+#, fuzzy, c-format
+msgid "failed to read typescript file %s"
+msgstr "ioctl() abil kella lugemine %s kaudu ei õnnestunud"
+
+#: misc-utils/scriptreplay.c:145
+#, fuzzy, c-format
+msgid "cannot open timing file %s"
+msgstr "Ei suuda avada faili `%s'"
+
+#: misc-utils/scriptreplay.c:148
+#, fuzzy, c-format
+msgid "cannot open typescript file %s"
+msgstr "Ei suuda avada faili `%s'"
+
+#: misc-utils/scriptreplay.c:164
+#, fuzzy, c-format
+msgid "failed to read timing file %s"
+msgstr "ioctl() abil kella lugemine %s kaudu ei õnnestunud"
+
+#: misc-utils/scriptreplay.c:166
+#, c-format
+msgid "timings file %s: %lu: unexpected format"
+msgstr ""
+
+#: misc-utils/setterm.c:763
+#, c-format
+msgid "%s: Argument error, usage\n"
+msgstr ""
+
+#: misc-utils/setterm.c:766
+#, c-format
+msgid "  [ -term terminal_name ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:767
+#, c-format
+msgid "  [ -reset ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:768
+#, c-format
+msgid "  [ -initialize ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:769
+#, c-format
+msgid "  [ -cursor [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:771
+#, c-format
+msgid "  [ -snow [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:772
+#, c-format
+msgid "  [ -softscroll [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:774
+#, c-format
+msgid "  [ -repeat [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:775
+#, c-format
+msgid "  [ -appcursorkeys [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:776
+#, c-format
+msgid "  [ -linewrap [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:777
+#, c-format
+msgid "  [ -default ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:778
+#, c-format
+msgid "  [ -foreground black|blue|green|cyan"
+msgstr ""
+
+#: misc-utils/setterm.c:779 misc-utils/setterm.c:781
+#, c-format
+msgid "|red|magenta|yellow|white|default ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:780
+#, c-format
+msgid "  [ -background black|blue|green|cyan"
+msgstr ""
+
+#: misc-utils/setterm.c:782
+#, c-format
+msgid "  [ -ulcolor black|grey|blue|green|cyan"
+msgstr ""
+
+#: misc-utils/setterm.c:783 misc-utils/setterm.c:785 misc-utils/setterm.c:787
+#: misc-utils/setterm.c:789
+#, c-format
+msgid "|red|magenta|yellow|white ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:784
+#, c-format
+msgid "  [ -ulcolor bright blue|green|cyan"
+msgstr ""
+
+#: misc-utils/setterm.c:786
+#, c-format
+msgid "  [ -hbcolor black|grey|blue|green|cyan"
+msgstr ""
+
+#: misc-utils/setterm.c:788
+#, c-format
+msgid "  [ -hbcolor bright blue|green|cyan"
+msgstr ""
+
+#: misc-utils/setterm.c:791
+#, c-format
+msgid "  [ -standout [ attr ] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:793
+#, c-format
+msgid "  [ -inversescreen [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:794
+#, c-format
+msgid "  [ -bold [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:795
+#, c-format
+msgid "  [ -half-bright [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:796
+#, c-format
+msgid "  [ -blink [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:797
+#, c-format
+msgid "  [ -reverse [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:798
+#, c-format
+msgid "  [ -underline [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:799
+#, c-format
+msgid "  [ -store ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:800
+#, c-format
+msgid "  [ -clear [all|rest] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:801
+#, c-format
+msgid "  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n"
+msgstr ""
+
+#: misc-utils/setterm.c:802
+#, c-format
+msgid "  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n"
+msgstr ""
+
+#: misc-utils/setterm.c:803
+#, c-format
+msgid "  [ -regtabs [1-160] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:804
+#, c-format
+msgid "  [ -blank [0-60|force|poke] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:805
+#, c-format
+msgid "  [ -dump   [1-NR_CONSOLES] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:806
+#, c-format
+msgid "  [ -append [1-NR_CONSOLES] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:807
+#, c-format
+msgid "  [ -file dumpfilename ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:808
+#, c-format
+msgid "  [ -msg [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:809
+#, c-format
+msgid "  [ -msglevel [0-8] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:810
+#, c-format
+msgid "  [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:811
+#, c-format
+msgid "  [ -powerdown [0-60] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:812
+#, c-format
+msgid "  [ -blength [0-2000] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:813
+#, c-format
+msgid "  [ -bfreq freqnumber ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:1065
+#, fuzzy, c-format
+msgid "cannot force blank\n"
+msgstr "fork ei õnnestunud"
+
+#: misc-utils/setterm.c:1069
+#, fuzzy, c-format
+msgid "cannot force unblank\n"
+msgstr "fork ei õnnestunud"
+
+#: misc-utils/setterm.c:1075
+#, fuzzy, c-format
+msgid "cannot get blank status\n"
+msgstr "Ei suuda avada faili %s\n"
+
+#: misc-utils/setterm.c:1087
+#, c-format
+msgid "cannot (un)set powersave mode\n"
+msgstr ""
+
+#: misc-utils/setterm.c:1126 misc-utils/setterm.c:1134
+#, c-format
+msgid "klogctl error: %s\n"
+msgstr ""
+
+#: misc-utils/setterm.c:1200
+#, c-format
+msgid "Error writing screendump\n"
+msgstr ""
+
+#: misc-utils/setterm.c:1207
+#, fuzzy, c-format
+msgid "Couldn't read %s\n"
+msgstr "Ei suutnud avada %s\n"
+
+#: misc-utils/setterm.c:1261
+#, c-format
+msgid "%s: $TERM is not defined.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:46
+#, fuzzy, c-format
+msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n"
+msgstr "Kasutamine: [-#] [-f fail] [-t tty] [-h hostinimi] [kasutaja ...]\n"
+
+#: misc-utils/uuidd.c:48
+#, c-format
+msgid "       %s [-r|t] [-n num] [-s socketpath]\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:50
+#, fuzzy, c-format
+msgid "       %s -k\n"
+msgstr "             %s -l [ signaal ]\n"
+
+#: misc-utils/uuidd.c:152
+#, fuzzy
+msgid "bad arguments"
+msgstr "%s: Tundmatu argument: %s\n"
+
+#: misc-utils/uuidd.c:159
+#, fuzzy
+msgid "socket"
+msgstr "Ploki suurus: %d\n"
+
+#: misc-utils/uuidd.c:170
+msgid "connect"
+msgstr ""
+
+#: misc-utils/uuidd.c:189
+#, fuzzy
+msgid "write"
+msgstr "salvesta (W)"
+
+#: misc-utils/uuidd.c:197
+#, fuzzy
+msgid "read count"
+msgstr "lugesin %c\n"
+
+#: misc-utils/uuidd.c:203
+msgid "bad response length"
+msgstr ""
+
+#: misc-utils/uuidd.c:268
+#, c-format
+msgid "uuidd daemon already running at pid %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:276
+#, c-format
+msgid "Couldn't create unix stream socket: %s"
+msgstr ""
+
+#: misc-utils/uuidd.c:305
+#, fuzzy, c-format
+msgid "Couldn't bind unix socket %s: %s\n"
+msgstr "Ei suutnud avada %s\n"
+
+#: misc-utils/uuidd.c:313
+#, fuzzy, c-format
+msgid "Couldn't listen on unix socket %s: %s\n"
+msgstr "Ei suutnud avada %s\n"
+
+#: misc-utils/uuidd.c:351
+#, c-format
+msgid "Error reading from client, len = %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:359
+#, c-format
+msgid "operation %d, incoming num = %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:378
+#, c-format
+msgid "Generated time UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:388
+#, c-format
+msgid "Generated random UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:397
+#, c-format
+msgid "Generated time UUID %s and %d following\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:415
+#, c-format
+msgid "Generated %d UUID's:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:427
+#, fuzzy, c-format
+msgid "Invalid operation %d\n"
+msgstr "vigane identifikaator"
+
+#: misc-utils/uuidd.c:468 misc-utils/uuidd.c:489
+#, fuzzy, c-format
+msgid "Bad number: %s\n"
+msgstr "%s: lugemise viga failis %s\n"
+
+#: misc-utils/uuidd.c:524 misc-utils/uuidd.c:551
+#, c-format
+msgid "Error calling uuidd daemon (%s): %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:534
+#, c-format
+msgid "%s and subsequent %d UUID's\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:536
+#, c-format
+msgid "List of UUID's:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:557
+#, c-format
+msgid "Unexpected reply length from server %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:574
+#, c-format
+msgid "Couldn't kill uuidd running at pid %d: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:580
+#, c-format
+msgid "Killed uuidd running at pid %d\n"
+msgstr ""
+
+#: misc-utils/uuidgen.c:32
+#, fuzzy, c-format
+msgid "Usage: %s [-r] [-t]\n"
+msgstr "Kasutamine: %s [ võtmed ] seade ...\n"
+
+#: misc-utils/whereis.c:159
+#, c-format
+msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
+msgstr "Kasutamine: whereis [ -sbmu ] [ -SBM kataloog ... -f ] nimi...\n"
+
+#: misc-utils/write.c:101
+#, c-format
+msgid "write: can't find your tty's name\n"
+msgstr "write: ei leia Sinu terminaliseadme nime\n"
+
+#: misc-utils/write.c:112
+#, c-format
+msgid "write: you have write permission turned off.\n"
+msgstr "write: Sul on kirjutamisõigus välja lülitatud\n"
+
+#: misc-utils/write.c:133
+#, c-format
+msgid "write: %s is not logged in on %s.\n"
+msgstr "write: %s pole terminalilt %s sisse logitud\n"
+
+#: misc-utils/write.c:141
+#, c-format
+msgid "write: %s has messages disabled on %s\n"
+msgstr "write: %s keeldub teadetest terminalil %s\n"
+
+#: misc-utils/write.c:148
+#, c-format
+msgid "usage: write user [tty]\n"
+msgstr "Kasutamine: write kasutaja [tty]\n"
+
+#: misc-utils/write.c:236
+#, c-format
+msgid "write: %s is not logged in\n"
+msgstr "write: %s pole sisse logitud\n"
+
+#: misc-utils/write.c:245
+#, c-format
+msgid "write: %s has messages disabled\n"
+msgstr "write: %s keeldub teadetest\n"
+
+#: misc-utils/write.c:249
+#, c-format
+msgid "write: %s is logged in more than once; writing to %s\n"
+msgstr ""
+"write: %s on sisse logitud rohkem kui ühest kohast, kasutan tema terminali %"
+"s\n"
+
+#: misc-utils/write.c:317
+#, c-format
+msgid "Message from %s@%s (as %s) on %s at %s ..."
+msgstr "Teade kasutajalt %s@%s (%s) terminalil %s kell %s..."
+
+#: misc-utils/write.c:320
+#, c-format
+msgid "Message from %s@%s on %s at %s ..."
+msgstr "Teade kasutajalt %s@%s terminalil %s kell %s..."
+
+#: mount/fstab.c:143
+#, c-format
+msgid "warning: error reading %s: %s"
+msgstr ""
+
+#: mount/fstab.c:171 mount/fstab.c:196
+#, c-format
+msgid "warning: can't open %s: %s"
+msgstr ""
+
+#: mount/fstab.c:176
+#, c-format
+msgid "mount: could not open %s - using %s instead\n"
+msgstr ""
+
+#: mount/fstab.c:589
+#, c-format
+msgid "can't create lock file %s: %s (use -n flag to override)"
+msgstr ""
+
+#: mount/fstab.c:615
+#, c-format
+msgid "can't link lock file %s: %s (use -n flag to override)"
+msgstr ""
+
+#: mount/fstab.c:631
+#, c-format
+msgid "can't open lock file %s: %s (use -n flag to override)"
+msgstr ""
+
+#: mount/fstab.c:646
+#, c-format
+msgid "Can't lock lock file %s: %s\n"
+msgstr ""
+
+#: mount/fstab.c:660
+#, c-format
+msgid "can't lock lock file %s: %s"
+msgstr ""
+
+#: mount/fstab.c:662
+msgid "timed out"
+msgstr ""
+
+#: mount/fstab.c:669
+#, c-format
+msgid ""
+"Cannot create link %s\n"
+"Perhaps there is a stale lock file?\n"
+msgstr ""
+
+#: mount/fstab.c:791 mount/fstab.c:846
+#, c-format
+msgid "cannot open %s (%s) - mtab not updated"
+msgstr ""
+
+#: mount/fstab.c:855
+#, c-format
+msgid "error writing %s: %s"
+msgstr ""
+
+#: mount/fstab.c:873
+#, c-format
+msgid "error changing mode of %s: %s\n"
+msgstr ""
+
+#: mount/fstab.c:886
+#, c-format
+msgid "error changing owner of %s: %s\n"
+msgstr ""
+
+#: mount/fstab.c:897
+#, c-format
+msgid "can't rename %s to %s: %s\n"
+msgstr ""
+
+#: mount/lomount.c:364
+#, fuzzy, c-format
+msgid "loop: can't set capacity on device %s: %s\n"
+msgstr "stat(%s) ei õnnestunud"
+
+#: mount/lomount.c:388
+#, c-format
+msgid ", offset %<PRIu64>"
+msgstr ""
+
+#: mount/lomount.c:391
+#, c-format
+msgid ", sizelimit %<PRIu64>"
+msgstr ""
+
+#: mount/lomount.c:399
+#, c-format
+msgid ", encryption %s (type %<PRIu32>)"
+msgstr ""
+
+#: mount/lomount.c:412
+#, c-format
+msgid ", offset %d"
+msgstr ""
+
+#: mount/lomount.c:415
+#, c-format
+msgid ", encryption type %d\n"
+msgstr ""
+
+#: mount/lomount.c:423
+#, c-format
+msgid "loop: can't get info on device %s: %s\n"
+msgstr ""
+
+#: mount/lomount.c:434
+#, c-format
+msgid "loop: can't open device %s: %s\n"
+msgstr ""
+
+#: mount/lomount.c:450 mount/lomount.c:482 mount/lomount.c:544
+#: mount/lomount.c:589
+#, fuzzy, c-format
+msgid "%s: /dev directory does not exist."
+msgstr "%s: Kasutajat \"%s\" pole olemas\n"
+
+#: mount/lomount.c:461 mount/lomount.c:602
+#, c-format
+msgid "%s: no permission to look at /dev/loop%s<N>"
+msgstr ""
+
+#: mount/lomount.c:605
+#, fuzzy, c-format
+msgid "%s: could not find any free loop device"
+msgstr "%s pole flopiseade\n"
+
+#: mount/lomount.c:608
+#, c-format
+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/lomount.c:638
+msgid "Out of memory while reading passphrase"
+msgstr ""
+
+#: mount/lomount.c:681
+#, fuzzy, c-format
+msgid "warning: %s is already associated with %s\n"
+msgstr "Sektor%d on juba kasutusel\n"
+
+#: mount/lomount.c:697
+#, c-format
+msgid "warning: %s: is write-protected, using read-only.\n"
+msgstr ""
+
+#: mount/lomount.c:733
+#, c-format
+msgid "Couldn't lock into memory, exiting.\n"
+msgstr ""
+
+#: mount/lomount.c:760
+#, c-format
+msgid "ioctl LOOP_SET_FD failed: %s\n"
+msgstr ""
+
+#: mount/lomount.c:817
+#, c-format
+msgid "set_loop(%s,%s,%llu,%llu): success\n"
+msgstr ""
+
+#: mount/lomount.c:838
+#, c-format
+msgid "del_loop(%s): success\n"
+msgstr ""
+
+#: mount/lomount.c:842
+#, c-format
+msgid "loop: can't delete device %s: %s\n"
+msgstr ""
+
+#: mount/lomount.c:853
+#, c-format
+msgid "This mount was compiled without loop support. Please recompile.\n"
+msgstr ""
+
+#: mount/lomount.c:888
+#, c-format
+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 ""
+
+#: mount/lomount.c:898
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -e | --encryption <type> enable data encryption with specified <name/num>\n"
+" -h | --help              this help\n"
+" -o | --offset <num>      start at offset <num> into file\n"
+"      --sizelimit <num>   loop limited to only <num> bytes of the file\n"
+" -p | --pass-fd <num>     read passphrase from file descriptor <num>\n"
+" -r | --read-only         setup read-only loop device\n"
+"      --show              print device name (with -f <file>)\n"
+" -v | --verbose           verbose mode\n"
+"\n"
+msgstr ""
+
+#: mount/lomount.c:1036 mount/lomount.c:1076
+#, fuzzy, c-format
+msgid "Loop device is %s\n"
+msgstr "Seade: %s\n"
+
+#: mount/lomount.c:1063
+#, c-format
+msgid "stolen loop=%s...trying again\n"
+msgstr ""
+
+#: mount/lomount.c:1073
+#, c-format
+msgid "%s: %s: device is busy"
+msgstr ""
+
+#: mount/lomount.c:1090
+#, c-format
+msgid "No loop support was available at compile time. Please recompile.\n"
+msgstr ""
+
+#: mount/mount.c:329
+#, c-format
+msgid "mount: improperly quoted option string '%s'"
+msgstr ""
+
+#: mount/mount.c:362
+#, c-format
+msgid "mount: translated %s '%s' to '%s'\n"
+msgstr ""
+
+#: mount/mount.c:526
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s"
+msgstr ""
+
+#: mount/mount.c:531
+#, c-format
+msgid "mount: according to mtab, %s is mounted on %s"
+msgstr ""
+
+#: mount/mount.c:555
+#, c-format
+msgid "mount: can't open %s for writing: %s"
+msgstr ""
+
+#: mount/mount.c:572 mount/mount.c:1190
+#, c-format
+msgid "mount: error writing %s: %s"
+msgstr ""
+
+#: mount/mount.c:580
+#, c-format
+msgid "mount: error changing mode of %s: %s"
+msgstr ""
+
+#: mount/mount.c:663
+#, fuzzy, c-format
+msgid "mount: cannot set group id: %s"
+msgstr "fork ei õnnestunud"
+
+#: mount/mount.c:666
+#, fuzzy, c-format
+msgid "mount: cannot set user id: %s"
+msgstr "fork ei õnnestunud"
+
+#: mount/mount.c:705 mount/mount.c:1809
+#, c-format
+msgid "mount: cannot fork: %s"
+msgstr ""
+
+#: mount/mount.c:842
+#, c-format
+msgid "Trying %s\n"
+msgstr ""
+
+#: mount/mount.c:870
+#, c-format
+msgid "mount: you didn't specify a filesystem type for %s\n"
+msgstr ""
+
+#: mount/mount.c:873
+#, c-format
+msgid "       I will try all types mentioned in %s or %s\n"
+msgstr ""
+
+#: mount/mount.c:876
+#, c-format
+msgid "       and it looks like this is swapspace\n"
+msgstr ""
+
+#: mount/mount.c:878
+#, c-format
+msgid "       I will try type %s\n"
+msgstr ""
+
+#: mount/mount.c:902
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr ""
+
+#: mount/mount.c:993
+msgid "mount failed"
+msgstr ""
+
+#: mount/mount.c:995
+#, c-format
+msgid "mount: only root can mount %s on %s"
+msgstr ""
+
+#: mount/mount.c:1065
+msgid "mount: loop device specified twice"
+msgstr ""
+
+#: mount/mount.c:1070
+msgid "mount: type specified twice"
+msgstr ""
+
+#: mount/mount.c:1082
+#, c-format
+msgid "mount: skipping the setup of a loop device\n"
+msgstr ""
+
+#: mount/mount.c:1094
+#, c-format
+msgid "mount: according to mtab %s is already mounted on %s as loop"
+msgstr ""
+
+#: mount/mount.c:1104
+#, c-format
+msgid "mount: going to use the loop device %s\n"
+msgstr ""
+
+#: mount/mount.c:1113
+#, c-format
+msgid "mount: stolen loop=%s ...trying again\n"
+msgstr ""
+
+#: mount/mount.c:1118
+#, c-format
+msgid "mount: stolen loop=%s"
+msgstr ""
+
+#: mount/mount.c:1123
+#, c-format
+msgid "mount: failed setting up loop device\n"
+msgstr ""
+
+#: mount/mount.c:1134
+#, c-format
+msgid "mount: setup loop device successfully\n"
+msgstr ""
+
+#: mount/mount.c:1168
+#, c-format
+msgid "mount: no %s found - creating it..\n"
+msgstr ""
+
+#: mount/mount.c:1185
+#, c-format
+msgid "mount: can't open %s: %s"
+msgstr ""
+
+#: mount/mount.c:1206
+msgid "mount: argument to -p or --pass-fd must be a number"
+msgstr ""
+
+#: mount/mount.c:1219
+#, c-format
+msgid "mount: cannot open %s for setting speed"
+msgstr "mount: ei suuda avada seadet %s kiiruse seadmiseks"
+
+#: mount/mount.c:1222
+#, c-format
+msgid "mount: cannot set speed: %s"
+msgstr ""
+
+#: mount/mount.c:1279
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s\n"
+msgstr ""
+
+#: mount/mount.c:1358
+msgid ""
+"mount: I could not determine the filesystem type, and none was specified"
+msgstr ""
+
+#: mount/mount.c:1361
+msgid "mount: you must specify the filesystem type"
+msgstr ""
+
+#: mount/mount.c:1364
+msgid "mount: mount failed"
+msgstr ""
+
+#: mount/mount.c:1370 mount/mount.c:1407
+#, c-format
+msgid "mount: mount point %s is not a directory"
+msgstr ""
+
+#: mount/mount.c:1372
+msgid "mount: permission denied"
+msgstr ""
+
+#: mount/mount.c:1374
+msgid "mount: must be superuser to use mount"
+msgstr ""
+
+#: mount/mount.c:1378 mount/mount.c:1382
+#, c-format
+msgid "mount: %s is busy"
+msgstr ""
+
+#: mount/mount.c:1384
+msgid "mount: proc already mounted"
+msgstr ""
+
+#: mount/mount.c:1386
+#, c-format
+msgid "mount: %s already mounted or %s busy"
+msgstr ""
+
+#: mount/mount.c:1392
+#, c-format
+msgid "mount: mount point %s does not exist"
+msgstr ""
+
+#: mount/mount.c:1394
+#, c-format
+msgid "mount: mount point %s is a symbolic link to nowhere"
+msgstr ""
+
+#: mount/mount.c:1399
+#, c-format
+msgid "mount: special device %s does not exist"
+msgstr ""
+
+#: mount/mount.c:1411
+#, c-format
+msgid ""
+"mount: special device %s does not exist\n"
+"       (a path prefix is not a directory)\n"
+msgstr ""
+
+#: mount/mount.c:1423
+#, c-format
+msgid "mount: %s not mounted already, or bad option"
+msgstr ""
+
+#: mount/mount.c:1425
+#, c-format
+msgid ""
+"mount: wrong fs type, bad option, bad superblock on %s,\n"
+"       missing codepage or helper program, or other error"
+msgstr ""
+
+#: mount/mount.c:1432
+msgid ""
+"       (for several filesystems (e.g. nfs, cifs) you might\n"
+"       need a /sbin/mount.<type> helper program)"
+msgstr ""
+
+#: mount/mount.c:1441
+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/mount.c:1446
+msgid ""
+"       (aren't you trying to mount an extended partition,\n"
+"       instead of some logical partition inside?)"
+msgstr ""
+
+#: mount/mount.c:1453
+msgid ""
+"       In some cases useful info is found in syslog - try\n"
+"       dmesg | tail  or so\n"
+msgstr ""
+
+#: mount/mount.c:1459
+msgid "mount table full"
+msgstr ""
+
+#: mount/mount.c:1461
+#, c-format
+msgid "mount: %s: can't read superblock"
+msgstr ""
+
+#: mount/mount.c:1467
+#, c-format
+msgid "mount: %s: unknown device"
+msgstr ""
+
+#: mount/mount.c:1472
+#, fuzzy, c-format
+msgid "mount: unknown filesystem type '%s'"
+msgstr "   l   anda nimekiri tuntud failisüsteemide tüüpidest"
+
+#: mount/mount.c:1484
+#, c-format
+msgid "mount: probably you meant %s"
+msgstr ""
+
+#: mount/mount.c:1487
+msgid "mount: maybe you meant 'iso9660'?"
+msgstr ""
+
+#: mount/mount.c:1490
+msgid "mount: maybe you meant 'vfat'?"
+msgstr ""
+
+#: mount/mount.c:1493
+#, c-format
+msgid "mount: %s has wrong device number or fs type %s not supported"
+msgstr ""
+
+#: mount/mount.c:1501
+#, c-format
+msgid "mount: %s is not a block device, and stat fails?"
+msgstr ""
+
+#: mount/mount.c:1503
+#, c-format
+msgid ""
+"mount: the kernel does not recognize %s as a block device\n"
+"       (maybe `insmod driver'?)"
+msgstr ""
+
+#: mount/mount.c:1506
+#, c-format
+msgid "mount: %s is not a block device (maybe try `-o loop'?)"
+msgstr ""
+
+#: mount/mount.c:1509
+#, c-format
+msgid "mount: %s is not a block device"
+msgstr ""
+
+#: mount/mount.c:1514
+#, c-format
+msgid "mount: %s is not a valid block device"
+msgstr ""
+
+#: mount/mount.c:1517
+msgid "block device "
+msgstr ""
+
+#: mount/mount.c:1519
+#, c-format
+msgid "mount: cannot mount %s%s read-only"
+msgstr ""
+
+#: mount/mount.c:1523
+#, c-format
+msgid "mount: %s%s is write-protected but explicit `-w' flag given"
+msgstr ""
+
+#: mount/mount.c:1527
+#, fuzzy, c-format
+msgid "mount: cannot remount %s%s read-write, is write-protected"
+msgstr "mount: ei suuda avada seadet %s kiiruse seadmiseks"
+
+#: mount/mount.c:1542
+#, c-format
+msgid "mount: %s%s is write-protected, mounting read-only"
+msgstr ""
+
+#: mount/mount.c:1552
+#, c-format
+msgid "mount: no medium found on %s ...trying again\n"
+msgstr ""
+
+#: mount/mount.c:1558
+#, fuzzy, c-format
+msgid "mount: no medium found on %s"
+msgstr "fork ei õnnestunud"
+
+#: mount/mount.c:1576
+#, 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/mount.c:1655
+#, c-format
+msgid "mount: no type was given - I'll assume nfs because of the colon\n"
+msgstr ""
+
+#: mount/mount.c:1661
+#, c-format
+msgid "mount: no type was given - I'll assume cifs because of the // prefix\n"
+msgstr ""
+
+#: mount/mount.c:1756
+#, c-format
+msgid "mount: %s already mounted on %s\n"
+msgstr ""
+
+#: mount/mount.c:1890
+#, 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/mount.c:2213
+msgid "mount: only root can do that"
+msgstr ""
+
+#: mount/mount.c:2223
+msgid "nothing was mounted"
+msgstr ""
+
+#: mount/mount.c:2241 mount/mount.c:2267
+msgid "mount: no such partition found"
+msgstr ""
+
+#: mount/mount.c:2244
+#, c-format
+msgid "mount: can't find %s in %s or %s"
+msgstr ""
+
+#: mount/mount_mntent.c:165
+#, c-format
+msgid "[mntent]: warning: no final newline at the end of %s\n"
+msgstr ""
+
+#: mount/mount_mntent.c:216
+#, c-format
+msgid "[mntent]: line %d in %s is bad%s\n"
+msgstr ""
+
+#: mount/mount_mntent.c:219
+msgid "; rest of file ignored"
+msgstr ""
+
+#: mount/sundries.c:31
+msgid "bug in xstrndup call"
+msgstr ""
+
+#: mount/sundries.c:224 mount/sundries.c:280 mount/sundries.c:289
+#: mount/xmalloc.c:11
+msgid "not enough memory"
+msgstr ""
+
+#: mount/swapon.c:84
+#, c-format
+msgid ""
+"The <special> parameter:\n"
+" {-L label | LABEL=label}             LABEL of device to be used\n"
+" {-U uuid  | 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"
+"\n"
+msgstr ""
+
+#: mount/swapon.c:92
+#, c-format
+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 ""
+
+#: mount/swapon.c:106
+#, c-format
+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 ""
+
+#: mount/swapon.c:140
+#, c-format
+msgid "%s: unexpected file format"
+msgstr ""
+
+#: mount/swapon.c:184 mount/swapon.c:252 mount/swapon.c:397 mount/swapon.c:556
+#: mount/swapon.c:758
+#, fuzzy, c-format
+msgid "%s: open failed"
+msgstr "seek ei õnnestunud"
+
+#: mount/swapon.c:205
+#, c-format
+msgid "%s: reinitializing the swap."
+msgstr ""
+
+#: mount/swapon.c:209
+#, fuzzy
+msgid "fork failed"
+msgstr "fork ei õnnestunud\n"
+
+#: mount/swapon.c:225
+#, fuzzy
+msgid "execv failed"
+msgstr "exec ei õnnestunud\n"
+
+#: mount/swapon.c:233
+#, fuzzy
+msgid "waitpid failed"
+msgstr "setuid() ei õnnestunud"
+
+#: mount/swapon.c:257
+#, fuzzy, c-format
+msgid "%s: lseek failed"
+msgstr "seek ei õnnestunud"
+
+#: mount/swapon.c:263
+#, fuzzy, c-format
+msgid "%s: write signature failed"
+msgstr "%s avamine ei õnnestunud"
+
+#: mount/swapon.c:350
+#, c-format
+msgid "%s: found %sswap v%d signature string for %d KiB PAGE_SIZE\n"
+msgstr ""
+
+#: mount/swapon.c:370
+#, fuzzy, c-format
+msgid "%s: stat failed"
+msgstr "seek ei õnnestunud"
+
+#: mount/swapon.c:380
+#, c-format
+msgid "%s: insecure permissions %04o, %04o suggested."
+msgstr ""
+
+#: mount/swapon.c:388
+#, c-format
+msgid "%s: skipping - it appears to have holes."
+msgstr ""
+
+#: mount/swapon.c:402
+#, fuzzy, c-format
+msgid "%s: get size failed"
+msgstr "seek ei õnnestunud"
+
+#: mount/swapon.c:408
+#, c-format
+msgid "%s: read swap header failed"
+msgstr ""
+
+#: mount/swapon.c:421
+#, c-format
+msgid "%s: last_page 0x%08llx is larger than actual size of swapspace"
+msgstr ""
+
+#: mount/swapon.c:426
+#, c-format
+msgid "%s: swap format pagesize does not match."
+msgstr ""
+
+#: mount/swapon.c:431
+#, c-format
+msgid ""
+"%s: swap format pagesize does not match. (Use --fixpgsz to reinitialize it.)"
+msgstr ""
+
+#: mount/swapon.c:440
+#, c-format
+msgid "%s: software suspend data detected. Rewriting the swap signature."
+msgstr ""
+
+#: mount/swapon.c:464 mount/swapon.c:514
+#, c-format
+msgid "%s on %s\n"
+msgstr ""
+
+#: mount/swapon.c:486
+#, fuzzy, c-format
+msgid "%s: swapon failed"
+msgstr "seek ei õnnestunud"
+
+#: mount/swapon.c:493
+#, fuzzy, c-format
+msgid "cannot find the device for %s"
+msgstr "stat(%s) ei õnnestunud"
+
+#: mount/swapon.c:526
+msgid "Not superuser."
+msgstr ""
+
+#: mount/swapon.c:529
+#, fuzzy, c-format
+msgid "%s: swapoff failed"
+msgstr "seek ei õnnestunud"
+
+#: mount/umount.c:41
+#, c-format
+msgid "umount: compiled without support for -f\n"
+msgstr ""
+
+#: mount/umount.c:111
+#, fuzzy, c-format
+msgid "umount: cannot set group id: %s"
+msgstr "fork ei õnnestunud"
+
+#: mount/umount.c:114
+#, fuzzy, c-format
+msgid "umount: cannot set user id: %s"
+msgstr "fork ei õnnestunud"
+
+#: mount/umount.c:139
+#, fuzzy, c-format
+msgid "umount: cannot fork: %s"
+msgstr "fork ei õnnestunud"
+
+#: mount/umount.c:160
+#, c-format
+msgid "umount: %s: invalid block device"
+msgstr ""
+
+#: mount/umount.c:162
+#, c-format
+msgid "umount: %s: not mounted"
+msgstr ""
+
+#: mount/umount.c:164
+#, c-format
+msgid "umount: %s: can't write superblock"
+msgstr ""
+
+#: mount/umount.c:168
+#, 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/umount.c:173
+#, c-format
+msgid "umount: %s: not found"
+msgstr ""
+
+#: mount/umount.c:175
+#, c-format
+msgid "umount: %s: must be superuser to umount"
+msgstr ""
+
+#: mount/umount.c:177
+#, c-format
+msgid "umount: %s: block devices not permitted on fs"
+msgstr ""
+
+#: mount/umount.c:179
+#, c-format
+msgid "umount: %s: %s"
+msgstr ""
+
+#: mount/umount.c:235
+#, c-format
+msgid "no umount2, trying umount...\n"
+msgstr ""
+
+#: mount/umount.c:252
+#, c-format
+msgid "umount: %s busy - remounted read-only\n"
+msgstr ""
+
+#: mount/umount.c:263
+#, c-format
+msgid "umount: could not remount %s read-only\n"
+msgstr ""
+
+#: mount/umount.c:272
+#, c-format
+msgid "%s umounted\n"
+msgstr ""
+
+#: mount/umount.c:367
+msgid "umount: cannot find list of filesystems to unmount"
+msgstr ""
+
+#: mount/umount.c:397
+#, 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/umount.c:466
+#, fuzzy, c-format
+msgid "device %s is associated with %s\n"
+msgstr "Sektor%d on juba kasutusel\n"
+
+#: mount/umount.c:472
+#, fuzzy, c-format
+msgid "device %s is not associated with %s\n"
+msgstr "Sektor%d on juba kasutusel\n"
+
+#: mount/umount.c:485
+#, fuzzy
+msgid "Cannot umount \"\"\n"
+msgstr "Ei suuda avada seadmefaili %s\n"
+
+#: mount/umount.c:491
+#, c-format
+msgid "Trying to umount %s\n"
+msgstr ""
+
+#: mount/umount.c:504
+msgid "umount: confused when analyzing mtab"
+msgstr ""
+
+#: mount/umount.c:509
+#, c-format
+msgid "umount: cannot umount %s -- %s is mounted over it on the same point."
+msgstr ""
+
+#: mount/umount.c:516
+#, c-format
+msgid "Could not find %s in mtab\n"
+msgstr ""
+
+#: mount/umount.c:523
+#, c-format
+msgid "umount: %s is not mounted (according to mtab)"
+msgstr ""
+
+#: mount/umount.c:547
+#, c-format
+msgid "umount: it seems %s is mounted multiple times"
+msgstr ""
+
+#: mount/umount.c:561
+#, c-format
+msgid "umount: %s is not in the fstab (and you are not root)"
+msgstr ""
+
+#: mount/umount.c:567
+#, c-format
+msgid "umount: %s mount disagrees with the fstab"
+msgstr ""
+
+#: mount/umount.c:608
+#, c-format
+msgid "umount: only %s can unmount %s from %s"
+msgstr ""
+
+#: mount/umount.c:695
+msgid "umount: only root can do that"
+msgstr ""
+
+#: schedutils/chrt.c:56
+#, 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"
+"\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 ""
+
+#: schedutils/chrt.c:88
+#, c-format
+msgid "failed to get pid %d's policy"
+msgstr ""
+
+#: schedutils/chrt.c:90
+#, c-format
+msgid "pid %d's %s scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:112
+#, fuzzy, c-format
+msgid "unknown\n"
+msgstr "tundmatu"
+
+#: schedutils/chrt.c:116
+#, c-format
+msgid "failed to get pid %d's attributes"
+msgstr ""
+
+#: schedutils/chrt.c:118
+#, c-format
+msgid "pid %d's %s scheduling priority: %d\n"
+msgstr ""
+
+#: schedutils/chrt.c:147
+#, c-format
+msgid "SCHED_%s min/max priority\t: %d/%d\n"
+msgstr ""
+
+#: schedutils/chrt.c:150
+#, c-format
+msgid "SCHED_%s not supported?\n"
+msgstr ""
+
+#: schedutils/chrt.c:206
+#, fuzzy
+msgid "failed to parse pid"
+msgstr "%s: Avamine ei õnnestunud: %s\n"
+
+#: schedutils/chrt.c:228
+msgid "current"
+msgstr ""
+
+#: schedutils/chrt.c:236
+msgid "failed to parse priority"
+msgstr ""
+
+#: schedutils/chrt.c:242
+#, c-format
+msgid "failed to set pid %d's policy"
+msgstr ""
+
+#: schedutils/chrt.c:251
+#, fuzzy, c-format
+msgid "failed to execute %s"
+msgstr "ioctl() abil kella lugemine %s kaudu ei õnnestunud"
+
+#: schedutils/ionice.c:57
+#, fuzzy
+msgid "ioprio_get failed"
+msgstr "fork ei õnnestunud\n"
+
+#: schedutils/ionice.c:75
+#, fuzzy
+msgid "ioprio_set failed"
+msgstr "Ühtegi partitsiooni pole defineeritud\n"
+
+#: schedutils/ionice.c:81
+#, c-format
+msgid ""
+"\n"
+"ionice - sets or gets process io scheduling class and priority.\n"
+"\n"
+"Usage:\n"
+"  ionice [ options ] -p <pid> [<pid> ...]\n"
+"  ionoce [ 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 ""
+
+#: schedutils/ionice.c:110 schedutils/ionice.c:112
+#, fuzzy, c-format
+msgid "cannot parse number '%s'"
+msgstr "ei suuda avada seadet %s"
+
+#: schedutils/ionice.c:151
+msgid "ignoring given class data for none class"
+msgstr ""
+
+#: schedutils/ionice.c:159
+msgid "ignoring given class data for idle class"
+msgstr ""
+
+#: schedutils/ionice.c:163
+#, c-format
+msgid "bad prio class %d"
+msgstr ""
+
+#: schedutils/ionice.c:187
+#, fuzzy
+msgid "execvp failed"
+msgstr "exec ei õnnestunud\n"
+
+#: sys-utils/ctrlaltdel.c:27
+#, c-format
+msgid "You must be root to set the Ctrl-Alt-Del behaviour.\n"
+msgstr ""
+
+#: sys-utils/ctrlaltdel.c:42
+#, c-format
+msgid "Usage: ctrlaltdel hard|soft\n"
+msgstr ""
+
+#: sys-utils/cytune.c:114
+#, 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\n"
+msgstr ""
+
+#: sys-utils/cytune.c:125
+#, c-format
+msgid ""
+"File %s, For threshold value %lu and timrout value %lu, Maximum characters "
+"in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f\n"
+msgstr ""
+
+#: sys-utils/cytune.c:189
+#, c-format
+msgid "Invalid interval value: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:197
+#, c-format
+msgid "Invalid set value: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:205
+#, c-format
+msgid "Invalid default value: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:213
+#, c-format
+msgid "Invalid set time value: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:221
+#, c-format
+msgid "Invalid default time value: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:238
+#, c-format
+msgid ""
+"Usage: %s [-q [-i interval]] ([-s value]|[-S value]) ([-t value]|[-T value]) "
+"[-g|-G] file [file...]\n"
+msgstr ""
+
+#: sys-utils/cytune.c:250 sys-utils/cytune.c:269 sys-utils/cytune.c:289
+#: sys-utils/cytune.c:339
+#, c-format
+msgid "Can't open %s: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:257
+#, c-format
+msgid "Can't set %s to threshold %d: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:276
+#, c-format
+msgid "Can't set %s to time threshold %d: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:294 sys-utils/cytune.c:351 sys-utils/cytune.c:382
+#, c-format
+msgid "Can't get threshold for %s: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:300 sys-utils/cytune.c:357 sys-utils/cytune.c:388
+#, c-format
+msgid "Can't get timeout for %s: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:306
+#, c-format
+msgid "%s: %ld current threshold and %ld current timeout\n"
+msgstr ""
+
+#: sys-utils/cytune.c:309
+#, c-format
+msgid "%s: %ld default threshold and %ld default timeout\n"
+msgstr ""
+
+#: sys-utils/cytune.c:327
+msgid "Can't set signal handler"
+msgstr ""
+
+#: sys-utils/cytune.c:331 sys-utils/cytune.c:366
+msgid "gettimeofday failed"
+msgstr ""
+
+#: sys-utils/cytune.c:344 sys-utils/cytune.c:376
+#, c-format
+msgid "Can't issue CYGETMON on %s: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:418
+#, c-format
+msgid ""
+"%s: %lu ints, %lu/%lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+
+#: sys-utils/cytune.c:424
+#, c-format
+msgid "   %f int/sec; %f rec, %f send (char/sec)\n"
+msgstr ""
+
+#: sys-utils/cytune.c:429
+#, c-format
+msgid ""
+"%s: %lu ints, %lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+
+#: sys-utils/cytune.c:435
+#, c-format
+msgid "   %f int/sec; %f rec (char/sec)\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:45
+#, fuzzy, c-format
+msgid "Usage: %s [-c] [-n level] [-r] [-s bufsize]\n"
+msgstr "Kasutamine: script [-a] [-f] [-q] [-t] [fail]\n"
+
+#: sys-utils/flock.c:65
+#, c-format
+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 ""
+
+#: sys-utils/flock.c:192
+#, fuzzy, c-format
+msgid "%s: %s requires exactly one command argument\n"
+msgstr "võti `%s' vajab argumenti\n"
+
+#: sys-utils/flock.c:219
+#, fuzzy, c-format
+msgid "%s: cannot open lock file %s: %s\n"
+msgstr "%s: Ei suuda avada faili %s\n"
+
+#: sys-utils/flock.c:231
+#, fuzzy, c-format
+msgid "%s: bad number: %s\n"
+msgstr "%s: lugemise viga failis %s\n"
+
+#: sys-utils/flock.c:238
+#, c-format
+msgid "%s: requires file descriptor, file or directory\n"
+msgstr ""
+
+#: sys-utils/flock.c:294
+#, fuzzy, c-format
+msgid "%s: fork failed: %s\n"
+msgstr "fork ei õnnestunud\n"
+
+#: sys-utils/ipcmk.c:84
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage: %s [options]\n"
+"\n"
+msgstr "Kasutamine: %s [ võtmed ] seade ...\n"
+
+#: sys-utils/ipcmk.c:86
+#, c-format
+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 ""
+
+#: sys-utils/ipcmk.c:90
+#, c-format
+msgid ""
+"\n"
+"For more information see ipcmk(1).\n"
+"\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:142
+msgid "create share memory failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:144
+#, c-format
+msgid "Shared memory id: %d\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:150
+msgid "create message queue failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:152
+#, c-format
+msgid "Message queue id: %d\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:158
+msgid "create semaphore failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:160
+#, c-format
+msgid "Semaphore id: %d\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:66
+#, c-format
+msgid "invalid id: %s\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:84
+#, c-format
+msgid "cannot remove id %s (%s)\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:99
+#, c-format
+msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:126
+#, c-format
+msgid "unknown resource type: %s\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:130
+#, c-format
+msgid "resource(s) deleted\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:140
+#, c-format
+msgid ""
+"usage: %s [ [-q msqid] [-m shmid] [-s semid]\n"
+"          [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:181
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:193
+#, c-format
+msgid "%s: illegal key (%s)\n"
+msgstr "%s: vigane võti (%s)\n"
+
+#: sys-utils/ipcrm.c:208 sys-utils/ipcrm.c:240
+msgid "permission denied for key"
+msgstr "võtmele pole õigusi"
+
+#: sys-utils/ipcrm.c:211 sys-utils/ipcrm.c:250
+msgid "already removed key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:214 sys-utils/ipcrm.c:245
+msgid "invalid key"
+msgstr "vigane võti"
+
+#: sys-utils/ipcrm.c:217 sys-utils/ipcrm.c:255
+msgid "unknown error in key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:241
+msgid "permission denied for id"
+msgstr "identifikaatorile pole õigusi"
+
+#: sys-utils/ipcrm.c:246
+msgid "invalid id"
+msgstr "vigane identifikaator"
+
+#: sys-utils/ipcrm.c:251
+msgid "already removed id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:256
+msgid "unknown error in id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:259
+#, c-format
+msgid "%s: %s (%s)\n"
+msgstr "%s: %s (%s)\n"
+
+#: sys-utils/ipcrm.c:267
+#, c-format
+msgid "%s: unknown argument: %s\n"
+msgstr "%s: Tundmatu argument: %s\n"
+
+#: sys-utils/ipcs.c:120
+#, c-format
+msgid "usage : %s -asmq -tclup \n"
+msgstr ""
+
+#: sys-utils/ipcs.c:121
+#, c-format
+msgid "\t%s [-s -m -q] -i id\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:122
+#, c-format
+msgid "\t%s -h for help.\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:128
+#, c-format
+msgid ""
+"%s provides information on ipc facilities for which you have read access.\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:130
+#, c-format
+msgid ""
+"Resource Specification:\n"
+"\t-m : shared_mem\n"
+"\t-q : messages\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:131
+#, c-format
+msgid ""
+"\t-s : semaphores\n"
+"\t-a : all (default)\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:132
+#, c-format
+msgid ""
+"Output Format:\n"
+"\t-t : time\n"
+"\t-p : pid\n"
+"\t-c : creator\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:133
+#, c-format
+msgid ""
+"\t-l : limits\n"
+"\t-u : summary\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:134
+#, c-format
+msgid "-i id [-s -q -m] : details on resource identified by id\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:258
+#, c-format
+msgid "kernel not configured for shared memory\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:264
+#, c-format
+msgid "------ Shared Memory Limits --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:269
+#, c-format
+msgid "max number of segments = %lu\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:271
+#, c-format
+msgid "max seg size (kbytes) = %lu\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:273
+#, c-format
+msgid "max total shared memory (kbytes) = %llu\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:275
+#, c-format
+msgid "min seg size (bytes) = %lu\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:280
+#, c-format
+msgid "------ Shared Memory Status --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:281
+#, c-format
+msgid "segments allocated %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:282
+#, c-format
+msgid "pages allocated %ld\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:283
+#, c-format
+msgid "pages resident  %ld\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:284
+#, c-format
+msgid "pages swapped   %ld\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:285
+#, c-format
+msgid "Swap performance: %ld attempts\t %ld successes\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:290
+#, c-format
+msgid "------ Shared Memory Segment Creators/Owners --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:298 sys-utils/ipcs.c:305
+#: sys-utils/ipcs.c:311
+msgid "shmid"
+msgstr ""
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:311 sys-utils/ipcs.c:412
+#: sys-utils/ipcs.c:427 sys-utils/ipcs.c:510 sys-utils/ipcs.c:528
+msgid "perms"
+msgstr ""
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "cuid"
+msgstr ""
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "cgid"
+msgstr ""
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "uid"
+msgstr ""
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "gid"
+msgstr ""
+
+#: sys-utils/ipcs.c:296
+#, c-format
+msgid "------ Shared Memory Attach/Detach/Change Times --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:298 sys-utils/ipcs.c:305 sys-utils/ipcs.c:311
+#: sys-utils/ipcs.c:418 sys-utils/ipcs.c:427 sys-utils/ipcs.c:516
+#: sys-utils/ipcs.c:522 sys-utils/ipcs.c:528
+msgid "owner"
+msgstr ""
+
+#: sys-utils/ipcs.c:298
+msgid "attached"
+msgstr ""
+
+#: sys-utils/ipcs.c:298
+msgid "detached"
+msgstr ""
+
+#: sys-utils/ipcs.c:299
+msgid "changed"
+msgstr ""
+
+#: sys-utils/ipcs.c:303
+#, c-format
+msgid "------ Shared Memory Creator/Last-op --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:305
+msgid "cpid"
+msgstr ""
+
+#: sys-utils/ipcs.c:305
+msgid "lpid"
+msgstr ""
+
+#: sys-utils/ipcs.c:309
+#, c-format
+msgid "------ Shared Memory Segments --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:311 sys-utils/ipcs.c:427 sys-utils/ipcs.c:528
+msgid "key"
+msgstr ""
+
+#: sys-utils/ipcs.c:311
+msgid "bytes"
+msgstr ""
+
+#: sys-utils/ipcs.c:312
+msgid "nattch"
+msgstr ""
+
+#: sys-utils/ipcs.c:312
+msgid "status"
+msgstr ""
+
+#: sys-utils/ipcs.c:333 sys-utils/ipcs.c:335 sys-utils/ipcs.c:337
+#: sys-utils/ipcs.c:448 sys-utils/ipcs.c:450 sys-utils/ipcs.c:549
+#: sys-utils/ipcs.c:551 sys-utils/ipcs.c:553 sys-utils/ipcs.c:604
+#: sys-utils/ipcs.c:606 sys-utils/ipcs.c:634 sys-utils/ipcs.c:636
+#: sys-utils/ipcs.c:638 sys-utils/ipcs.c:661
+msgid "Not set"
+msgstr ""
+
+#: sys-utils/ipcs.c:365
+msgid "dest"
+msgstr ""
+
+#: sys-utils/ipcs.c:366
+msgid "locked"
+msgstr ""
+
+#: sys-utils/ipcs.c:386
+#, c-format
+msgid "kernel not configured for semaphores\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:392
+#, c-format
+msgid "------ Semaphore Limits --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:396
+#, c-format
+msgid "max number of arrays = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:397
+#, c-format
+msgid "max semaphores per array = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:398
+#, c-format
+msgid "max semaphores system wide = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:399
+#, c-format
+msgid "max ops per semop call = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:400
+#, c-format
+msgid "semaphore max value = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:404
+#, c-format
+msgid "------ Semaphore Status --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:405
+#, c-format
+msgid "used arrays = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:406
+#, c-format
+msgid "allocated semaphores = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:410
+#, c-format
+msgid "------ Semaphore Arrays Creators/Owners --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:412 sys-utils/ipcs.c:418 sys-utils/ipcs.c:427
+msgid "semid"
+msgstr ""
+
+#: sys-utils/ipcs.c:416
+#, c-format
+msgid "------ Semaphore Operation/Change Times --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:418
+msgid "last-op"
+msgstr ""
+
+#: sys-utils/ipcs.c:418
+msgid "last-changed"
+msgstr ""
+
+#: sys-utils/ipcs.c:425
+#, c-format
+msgid "------ Semaphore Arrays --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:427
+msgid "nsems"
+msgstr ""
+
+#: sys-utils/ipcs.c:486
+#, c-format
+msgid "kernel not configured for message queues\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:494
+#, c-format
+msgid "------ Messages: Limits --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:495
+#, c-format
+msgid "max queues system wide = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:496
+#, c-format
+msgid "max size of message (bytes) = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:497
+#, c-format
+msgid "default max size of queue (bytes) = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:501
+#, c-format
+msgid "------ Messages: Status --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:502
+#, c-format
+msgid "allocated queues = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:503
+#, c-format
+msgid "used headers = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:504
+#, c-format
+msgid "used space = %d bytes\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:508
+#, c-format
+msgid "------ Message Queues: Creators/Owners --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:510 sys-utils/ipcs.c:516 sys-utils/ipcs.c:522
+#: sys-utils/ipcs.c:528
+msgid "msqid"
+msgstr ""
+
+#: sys-utils/ipcs.c:514
+#, c-format
+msgid "------ Message Queues Send/Recv/Change Times --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:516
+msgid "send"
+msgstr ""
+
+#: sys-utils/ipcs.c:516
+msgid "recv"
+msgstr ""
+
+#: sys-utils/ipcs.c:516
+msgid "change"
+msgstr ""
+
+#: sys-utils/ipcs.c:520
+#, c-format
+msgid "------ Message Queues PIDs --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:522
+msgid "lspid"
+msgstr ""
+
+#: sys-utils/ipcs.c:522
+msgid "lrpid"
+msgstr ""
+
+#: sys-utils/ipcs.c:526
+#, c-format
+msgid "------ Message Queues --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:529
+msgid "used-bytes"
+msgstr ""
+
+#: sys-utils/ipcs.c:529
+msgid "messages"
+msgstr ""
+
+#: sys-utils/ipcs.c:593
+#, fuzzy
+msgid "shmctl failed"
+msgstr "fsync ei õnnestunud"
+
+#: sys-utils/ipcs.c:595
+#, c-format
+msgid ""
+"\n"
+"Shared memory Segment shmid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:596
+#, c-format
+msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:598
+#, c-format
+msgid "mode=%#o\taccess_perms=%#o\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:600
+#, c-format
+msgid "bytes=%ld\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:603
+#, c-format
+msgid "att_time=%-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:605
+#, c-format
+msgid "det_time=%-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:607 sys-utils/ipcs.c:637
+#, c-format
+msgid "change_time=%-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:619
+#, fuzzy
+msgid "msgctl failed"
+msgstr "fsync ei õnnestunud"
+
+#: sys-utils/ipcs.c:621
+#, c-format
+msgid ""
+"\n"
+"Message Queue msqid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:622
+#, c-format
+msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:624
+#, c-format
+msgid "cbytes=%ld\tqbytes=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:633
+#, c-format
+msgid "send_time=%-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:635
+#, c-format
+msgid "rcv_time=%-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:652 sys-utils/ipcs.c:674
+#, fuzzy
+msgid "semctl failed"
+msgstr "seek ei õnnestunud"
+
+#: sys-utils/ipcs.c:654
+#, c-format
+msgid ""
+"\n"
+"Semaphore Array semid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:655
+#, c-format
+msgid "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:657
+#, c-format
+msgid "mode=%#o, access_perms=%#o\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:659
+#, c-format
+msgid "nsems = %ld\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:660
+#, c-format
+msgid "otime = %-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:662
+#, c-format
+msgid "ctime = %-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:665
+msgid "semnum"
+msgstr ""
+
+#: sys-utils/ipcs.c:665
+msgid "value"
+msgstr ""
+
+#: sys-utils/ipcs.c:665
+msgid "ncount"
+msgstr ""
+
+#: sys-utils/ipcs.c:665
+msgid "zcount"
+msgstr ""
+
+#: sys-utils/ipcs.c:665
+msgid "pid"
+msgstr ""
+
+#: sys-utils/ldattach.c:92
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [ -dhV78neo12 ] [ -s <speed> ] <ldisc> <device>\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:94
+msgid ""
+"\n"
+"Known <ldisc> names:\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:179
+#, fuzzy, c-format
+msgid "invalid speed: %s"
+msgstr "vigane kiirus: %s"
+
+#: sys-utils/ldattach.c:182
+#, fuzzy, c-format
+msgid "ldattach from %s\n"
+msgstr "%s paketist %s\n"
+
+#: sys-utils/ldattach.c:187 text-utils/tailf.c:205
+#, fuzzy
+msgid "invalid option"
+msgstr "vigane identifikaator"
+
+#: sys-utils/ldattach.c:199
+#, fuzzy, c-format
+msgid "invalid line discipline: %s"
+msgstr "vigane arv: %s\n"
+
+#: sys-utils/ldattach.c:207
+#, fuzzy, c-format
+msgid "%s is not a serial line"
+msgstr "%s pole plokkseade"
+
+#: sys-utils/ldattach.c:213
+#, fuzzy, c-format
+msgid "cannot get terminal attributes for %s"
+msgstr "ei suuda kindlaks teha seadme %s mahtu"
+
+#: sys-utils/ldattach.c:216
+#, c-format
+msgid "speed %d unsupported"
+msgstr ""
+
+#: sys-utils/ldattach.c:247
+#, fuzzy, c-format
+msgid "cannot set terminal attributes for %s"
+msgstr "ei suuda kindlaks teha seadme %s mahtu"
+
+#: sys-utils/ldattach.c:254
+#, fuzzy
+msgid "cannot set line discipline"
+msgstr "Ei suuda kettal seekida"
+
+#: sys-utils/ldattach.c:260
+#, fuzzy
+msgid "cannot daemonize"
+msgstr "ei suuda kindlaks teha seadme %s mahtu"
+
+#: sys-utils/lscpu.c:64
+#, fuzzy
+msgid "none"
+msgstr "valmis (D)"
+
+#: sys-utils/lscpu.c:65
+msgid "para"
+msgstr ""
+
+#: sys-utils/lscpu.c:66
+msgid "full"
+msgstr ""
+
+#: sys-utils/lscpu.c:129 sys-utils/lscpu.c:152 sys-utils/lscpu.c:441
+#, fuzzy, c-format
+msgid "error: %s"
+msgstr "positsioneerimise viga"
+
+#: sys-utils/lscpu.c:154
+#, fuzzy, c-format
+msgid "error parse: %s"
+msgstr "Viga %s lugemisel\n"
+
+#: sys-utils/lscpu.c:176
+#, fuzzy
+msgid "error: strdup failed"
+msgstr "%s avamine ei õnnestunud"
+
+#: sys-utils/lscpu.c:259
+#, fuzzy
+msgid "error: uname failed"
+msgstr "Viga %s sulgemisel\n"
+
+#: sys-utils/lscpu.c:491
+#, fuzzy
+msgid "error: malloc failed"
+msgstr "Mälu sai otsa"
+
+#: sys-utils/lscpu.c:506
+msgid "error: /sys filesystem is not accessable."
+msgstr ""
+
+#: sys-utils/lscpu.c:524
+#, 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"
+"# CPU,Core,Socket,Node"
+msgstr ""
+
+#: sys-utils/lscpu.c:590
+msgid "Thread(s) per core:"
+msgstr ""
+
+#: sys-utils/lscpu.c:591
+msgid "Core(s) per socket:"
+msgstr ""
+
+#: sys-utils/lscpu.c:592
+msgid "CPU socket(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:596
+msgid "NUMA node(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:598
+msgid "Vendor ID:"
+msgstr ""
+
+#: sys-utils/lscpu.c:600
+msgid "CPU family:"
+msgstr ""
+
+#: sys-utils/lscpu.c:602
+msgid "Model:"
+msgstr ""
+
+#: sys-utils/lscpu.c:604
+msgid "Stepping:"
+msgstr ""
+
+#: sys-utils/lscpu.c:606
+msgid "CPU MHz:"
+msgstr ""
+
+#: sys-utils/lscpu.c:609 sys-utils/lscpu.c:611
+msgid "Virtualization:"
+msgstr ""
+
+#: sys-utils/lscpu.c:614
+msgid "Hypervisor vendor:"
+msgstr ""
+
+#: sys-utils/lscpu.c:615
+msgid "Virtualization type:"
+msgstr ""
+
+#: sys-utils/lscpu.c:623
+#, c-format
+msgid "%s cache:"
+msgstr ""
+
+#: sys-utils/lscpu.c:631
+#, fuzzy, c-format
+msgid "Usage: %s [option]\n"
+msgstr "Kasutamine: %s [ võtmed ] seade ...\n"
+
+#: sys-utils/lscpu.c:634
+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 ""
+
+#: sys-utils/lscpu.c:683
+#, fuzzy, c-format
+msgid "error: change working directory to %s."
+msgstr "Viga sektori %lu kirjutamisel seadmele %s\n"
+
+#: sys-utils/rdev.c:77
+msgid "usage: rdev [ -rv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]"
+msgstr ""
+
+#: sys-utils/rdev.c:78
+msgid ""
+"  rdev /dev/fd0  (or rdev /linux, etc.) displays the current ROOT device"
+msgstr ""
+
+#: sys-utils/rdev.c:79
+msgid "  rdev /dev/fd0 /dev/hda2         sets ROOT to /dev/hda2"
+msgstr ""
+
+#: sys-utils/rdev.c:80
+msgid "  rdev -R /dev/fd0 1              set the ROOTFLAGS (readonly status)"
+msgstr ""
+
+#: sys-utils/rdev.c:81
+msgid "  rdev -r /dev/fd0 627            set the RAMDISK size"
+msgstr ""
+
+#: sys-utils/rdev.c:82
+msgid "  rdev -v /dev/fd0 1              set the bootup VIDEOMODE"
+msgstr ""
+
+#: sys-utils/rdev.c:83
+msgid "  rdev -o N ...                   use the byte offset N"
+msgstr ""
+
+#: sys-utils/rdev.c:84
+msgid "  rootflags ...                   same as rdev -R"
+msgstr ""
+
+#: sys-utils/rdev.c:85
+msgid "  ramsize ...                     same as rdev -r"
+msgstr ""
+
+#: sys-utils/rdev.c:86
+msgid "  vidmode ...                     same as rdev -v"
+msgstr ""
+
+#: sys-utils/rdev.c:87
+msgid ""
+"Note: video modes are: -3=Ask, -2=Extended, -1=NormalVga, 1=key1, 2=key2,..."
+msgstr ""
+
+#: sys-utils/rdev.c:88
+msgid "      use -R 1 to mount root readonly, -R 0 for read/write."
+msgstr ""
+
+#: sys-utils/rdev.c:245
+msgid "missing comma"
+msgstr ""
+
+#: sys-utils/readprofile.c:72
+#, c-format
+msgid "out of memory"
+msgstr "Mälu sai otsa"
+
+#: sys-utils/readprofile.c:118
+#, 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 ""
+
+#: sys-utils/readprofile.c:227
+#, c-format
+msgid "readprofile: error writing %s: %s\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:268
+#, c-format
+msgid "Assuming reversed byte order. Use -n to force native byte order.\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:284
+#, c-format
+msgid "Sampling_step: %i\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:305 sys-utils/readprofile.c:331
+#, c-format
+msgid "%s: %s(%i): wrong map line\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:318
+#, c-format
+msgid "%s: can't find \"_stext\" in %s\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:352
+#, c-format
+msgid "%s: profile address out of range. Wrong map file?\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:412
+msgid "total"
+msgstr ""
+
+#: sys-utils/renice.c:53
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" renice [-n] priority [-p|--pid] pid  [... pid]\n"
+" renice [-n] priority  -g|--pgrp pgrp [... pgrp]\n"
+" renice [-n] priority  -u|--user user [... user]\n"
+" renice -h | --help\n"
+" renice -v | --version\n"
+"\n"
+msgstr ""
+
+#: sys-utils/renice.c:89
+#, fuzzy, c-format
+msgid "renice from %s\n"
+msgstr "%s paketist %s\n"
+
+#: sys-utils/renice.c:126
+#, c-format
+msgid "renice: %s: unknown user\n"
+msgstr ""
+
+#: sys-utils/renice.c:134
+#, c-format
+msgid "renice: %s: bad value\n"
+msgstr ""
+
+#: sys-utils/renice.c:152 sys-utils/renice.c:164
+msgid "getpriority"
+msgstr ""
+
+#: sys-utils/renice.c:157
+msgid "setpriority"
+msgstr ""
+
+#: sys-utils/renice.c:168
+#, c-format
+msgid "%d: old priority %d, new priority %d\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:81
+#, c-format
+msgid ""
+"usage: %s [options]\n"
+"    -d | --device <device>    select rtc device (rtc0|rtc1|...)\n"
+"    -l | --local              RTC uses local timezone\n"
+"    -m | --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"
+"    -V | --version            show version\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:140
+msgid "read rtc time"
+msgstr ""
+
+#: sys-utils/rtcwake.c:145
+msgid "read system time"
+msgstr ""
+
+#: sys-utils/rtcwake.c:163
+msgid "convert rtc time"
+msgstr ""
+
+#: sys-utils/rtcwake.c:222
+msgid "set rtc alarm"
+msgstr ""
+
+#: sys-utils/rtcwake.c:226
+msgid "enable rtc alarm"
+msgstr ""
+
+#: sys-utils/rtcwake.c:230
+msgid "set rtc wake alarm"
+msgstr ""
+
+#: sys-utils/rtcwake.c:342
+#, fuzzy, c-format
+msgid "%s: unrecognized suspend state '%s'\n"
+msgstr "Partitsioonitabelit ei ole\n"
+
+#: sys-utils/rtcwake.c:351
+#, fuzzy, c-format
+msgid "%s: illegal interval %s seconds\n"
+msgstr "%s: vigane võti (%s)\n"
+
+#: sys-utils/rtcwake.c:365
+#, fuzzy, c-format
+msgid "%s: illegal time_t value %s\n"
+msgstr "%s: vigane võti (%s)\n"
+
+#: sys-utils/rtcwake.c:381
+#, fuzzy, c-format
+msgid "%s: version %s\n"
+msgstr "%s paketist %s\n"
+
+#: sys-utils/rtcwake.c:394
+#, c-format
+msgid "%s: assuming RTC uses UTC ...\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:399
+#, fuzzy, c-format
+msgid "Using UTC time.\n"
+msgstr "Kasutan %s\n"
+
+#: sys-utils/rtcwake.c:400
+#, fuzzy, c-format
+msgid "Using local time.\n"
+msgstr "Kasutan %s\n"
+
+#: sys-utils/rtcwake.c:403
+#, c-format
+msgid "%s: must provide wake time\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:413
+#, fuzzy
+msgid "malloc() failed"
+msgstr "Mälu sai otsa"
+
+#: sys-utils/rtcwake.c:425
+#, fuzzy, c-format
+msgid "%s: %s not enabled for wakeup events\n"
+msgstr "%s pole flopiseade\n"
+
+#: sys-utils/rtcwake.c:441
+#, c-format
+msgid "alarm %ld, sys_time %ld, rtc_time %ld, seconds %u\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:446
+#, c-format
+msgid "%s: time doesn't go backward to %s\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:456
+#, fuzzy, c-format
+msgid "%s: wakeup from \"%s\" using %s at %s\n"
+msgstr "Teade kasutajalt %s@%s terminalil %s kell %s..."
+
+#: sys-utils/rtcwake.c:473
+msgid "rtc read"
+msgstr ""
+
+#: sys-utils/rtcwake.c:482
+msgid "disable rtc alarm interrupt"
+msgstr ""
+
+#: sys-utils/setarch.c:50
+#, c-format
+msgid "Switching on %s.\n"
+msgstr ""
+
+#: sys-utils/setarch.c:113
+#, c-format
+msgid ""
+"Usage: %s%s [options] [program [program arguments]]\n"
+"\n"
+"Options:\n"
+msgstr ""
+
+#: sys-utils/setarch.c:117
+#, c-format
+msgid ""
+" -h, --help               displays this help text\n"
+" -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"
+msgstr ""
+
+#: sys-utils/setarch.c:131
+#, c-format
+msgid ""
+"\n"
+"For more information see setarch(8).\n"
+msgstr ""
+
+#: sys-utils/setarch.c:143
+#, c-format
+msgid ""
+"%s: %s\n"
+"Try `%s --help' for more information.\n"
+msgstr ""
+
+#: sys-utils/setarch.c:215 sys-utils/setarch.c:231
+#, fuzzy, c-format
+msgid "%s: Unrecognized architecture"
+msgstr "Partitsioonitabelit ei ole\n"
+
+#: sys-utils/setarch.c:249 sys-utils/setarch.c:256
+#, fuzzy
+msgid "Not enough arguments"
+msgstr "Liiga palju argumente\n"
+
+#: sys-utils/setarch.c:265 sys-utils/setarch.c:318
+#, c-format
+msgid "Failed to set personality to %s"
+msgstr ""
+
+#: sys-utils/setsid.c:26
+#, c-format
+msgid "usage: %s program [arg ...]\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:75
+#, c-format
+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 ""
+
+#: sys-utils/tunelp.c:91
+msgid "malloc error"
+msgstr ""
+
+#: sys-utils/tunelp.c:103
+#, c-format
+msgid "%s: bad value\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:242
+#, c-format
+msgid "%s: %s not an lp device.\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:263
+#, c-format
+msgid "%s status is %d"
+msgstr ""
+
+#: sys-utils/tunelp.c:264
+#, c-format
+msgid ", busy"
+msgstr ""
+
+#: sys-utils/tunelp.c:265
+#, c-format
+msgid ", ready"
+msgstr ""
+
+#: sys-utils/tunelp.c:266
+#, c-format
+msgid ", out of paper"
+msgstr ""
+
+#: sys-utils/tunelp.c:267
+#, c-format
+msgid ", on-line"
+msgstr ""
+
+#: sys-utils/tunelp.c:268
+#, c-format
+msgid ", error"
+msgstr ""
+
+#: sys-utils/tunelp.c:285
+msgid "LPGETIRQ error"
+msgstr ""
+
+#: sys-utils/tunelp.c:291
+#, c-format
+msgid "%s using IRQ %d\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:293
+#, c-format
+msgid "%s using polling\n"
+msgstr ""
+
+#: text-utils/col.c:154
+#, c-format
+msgid "col: bad -l argument %s.\n"
+msgstr ""
+
+#: text-utils/col.c:544
+#, c-format
+msgid "usage: col [-bfpx] [-l nline]\n"
+msgstr "Kasutamine: col [-bfpx] [-l ridadearv]\n"
+
+#: text-utils/col.c:550
+#, c-format
+msgid "col: write error.\n"
+msgstr ""
+
+#: text-utils/col.c:557
+#, c-format
+msgid "col: warning: can't back up %s.\n"
+msgstr ""
+
+#: text-utils/col.c:558
+msgid "past first line"
+msgstr ""
+
+#: text-utils/col.c:558
+msgid "-- line already flushed"
+msgstr ""
+
+#: text-utils/colcrt.c:97
+#, c-format
+msgid "usage: %s [ - ] [ -2 ] [ file ... ]\n"
+msgstr ""
+
+#: text-utils/column.c:297
+msgid "line too long"
+msgstr ""
+
+#: text-utils/column.c:374
+#, c-format
+msgid "usage: column [-tx] [-c columns] [file ...]\n"
+msgstr ""
+
+#: text-utils/hexsyntax.c:82
+#, c-format
+msgid "hexdump: bad length value.\n"
+msgstr ""
+
+#: text-utils/hexsyntax.c:93
+#, c-format
+msgid "hexdump: bad skip value.\n"
+msgstr ""
+
+#: text-utils/hexsyntax.c:131
+#, c-format
+msgid ""
+"hexdump: [-bcCdovx] [-e fmt] [-f fmt_file] [-n length] [-s skip] [file ...]\n"
+msgstr ""
+
+#: text-utils/more.c:256
+#, c-format
+msgid "usage: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n"
+msgstr ""
+
+#: text-utils/more.c:479
+#, fuzzy, c-format
+msgid "%s: unknown option \"-%c\"\n"
+msgstr "%s: tundmatu signaal %s\n"
+
+#: text-utils/more.c:511
+#, c-format
+msgid ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+msgstr ""
+
+#: text-utils/more.c:555
+#, c-format
+msgid ""
+"\n"
+"******** %s: Not a text file ********\n"
+"\n"
+msgstr ""
+
+#: text-utils/more.c:658
+#, c-format
+msgid "[Use q or Q to quit]"
+msgstr ""
+
+#: text-utils/more.c:750
+#, c-format
+msgid "--More--"
+msgstr ""
+
+#: text-utils/more.c:752
+#, c-format
+msgid "(Next file: %s)"
+msgstr ""
+
+#: text-utils/more.c:757
+#, c-format
+msgid "[Press space to continue, 'q' to quit.]"
+msgstr ""
+
+#: text-utils/more.c:1172
+#, c-format
+msgid "...back %d pages"
+msgstr ""
+
+#: text-utils/more.c:1174
+msgid "...back 1 page"
+msgstr ""
+
+#: text-utils/more.c:1217
+msgid "...skipping one line"
+msgstr ""
+
+#: text-utils/more.c:1219
+#, c-format
+msgid "...skipping %d lines"
+msgstr ""
+
+#: text-utils/more.c:1256
+msgid ""
+"\n"
+"***Back***\n"
+"\n"
+msgstr ""
+
+#: text-utils/more.c:1294
+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:1301
+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:1370 text-utils/more.c:1375
+#, c-format
+msgid "[Press 'h' for instructions.]"
+msgstr ""
+
+#: text-utils/more.c:1409
+#, c-format
+msgid "\"%s\" line %d"
+msgstr ""
+
+#: text-utils/more.c:1411
+#, c-format
+msgid "[Not a file] line %d"
+msgstr ""
+
+#: text-utils/more.c:1495
+msgid "  Overflow\n"
+msgstr ""
+
+#: text-utils/more.c:1542
+msgid "...skipping\n"
+msgstr ""
+
+#: text-utils/more.c:1571
+msgid "Regular expression botch"
+msgstr ""
+
+#: text-utils/more.c:1579
+msgid ""
+"\n"
+"Pattern not found\n"
+msgstr ""
+
+#: text-utils/more.c:1582 text-utils/pg.c:1124 text-utils/pg.c:1275
+msgid "Pattern not found"
+msgstr ""
+
+#: text-utils/more.c:1643
+msgid "can't fork\n"
+msgstr ""
+
+#: text-utils/more.c:1682
+msgid ""
+"\n"
+"...Skipping "
+msgstr ""
+
+#: text-utils/more.c:1686
+msgid "...Skipping to file "
+msgstr ""
+
+#: text-utils/more.c:1688
+msgid "...Skipping back to file "
+msgstr ""
+
+#: text-utils/more.c:1966
+msgid "Line too long"
+msgstr ""
+
+#: text-utils/more.c:2009
+msgid "No previous command to substitute for"
+msgstr ""
+
+#: text-utils/odsyntax.c:130
+#, c-format
+msgid "od: od(1) has been deprecated for hexdump(1).\n"
+msgstr ""
+
+#: text-utils/odsyntax.c:133
+#, c-format
+msgid "od: hexdump(1) compatibility doesn't support the -%c option%s\n"
+msgstr ""
+
+#: text-utils/odsyntax.c:134
+msgid "; see strings(1)."
+msgstr ""
+
+#: text-utils/parse.c:63
+#, c-format
+msgid "hexdump: can't read %s.\n"
+msgstr ""
+
+#: text-utils/parse.c:68
+#, c-format
+msgid "hexdump: line too long.\n"
+msgstr ""
+
+#: text-utils/parse.c:401
+#, c-format
+msgid "hexdump: byte count with multiple conversion characters.\n"
+msgstr ""
+
+#: text-utils/parse.c:483
+#, c-format
+msgid "hexdump: bad byte count for conversion character %s.\n"
+msgstr ""
+
+#: text-utils/parse.c:490
+#, c-format
+msgid "hexdump: %%s requires a precision or a byte count.\n"
+msgstr ""
+
+#: text-utils/parse.c:496
+#, c-format
+msgid "hexdump: bad format {%s}\n"
+msgstr ""
+
+#: text-utils/parse.c:502
+#, c-format
+msgid "hexdump: bad conversion character %%%s.\n"
+msgstr ""
+
+#: text-utils/pg.c:145
+msgid ""
+"All rights reserved.\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"
+msgstr ""
+
+#: text-utils/pg.c:223
+#, fuzzy
+msgid "Out of memory\n"
+msgstr "Mälu sai otsa"
+
+#: text-utils/pg.c:236
+#, c-format
+msgid ""
+"%s: Usage: %s [-number] [-p string] [-cefnrs] [+line] [+/pattern/] [files]\n"
+msgstr ""
+
+#: text-utils/pg.c:245
+#, fuzzy, c-format
+msgid "%s: option requires an argument -- %s\n"
+msgstr "võti `%s' vajab argumenti\n"
+
+#: text-utils/pg.c:253
+#, fuzzy, c-format
+msgid "%s: illegal option -- %s\n"
+msgstr "%s: vigane võti (%s)\n"
+
+#: text-utils/pg.c:370
+msgid "...skipping forward\n"
+msgstr ""
+
+#: text-utils/pg.c:372
+msgid "...skipping backward\n"
+msgstr ""
+
+#: text-utils/pg.c:394
+msgid "No next file"
+msgstr ""
+
+#: text-utils/pg.c:398
+#, fuzzy
+msgid "No previous file"
+msgstr "Ühtegi partitsiooni pole defineeritud\n"
+
+#: text-utils/pg.c:928
+#, fuzzy, c-format
+msgid "%s: Read error from %s file\n"
+msgstr "%s: lugemise viga failis %s\n"
+
+#: text-utils/pg.c:934
+#, c-format
+msgid "%s: Unexpected EOF in %s file\n"
+msgstr ""
+
+#: text-utils/pg.c:937
+#, fuzzy, c-format
+msgid "%s: Unknown error in %s file\n"
+msgstr "%s: seekimise viga failis %s\n"
+
+#: text-utils/pg.c:1032
+#, fuzzy, c-format
+msgid "%s: Cannot create tempfile\n"
+msgstr "%s: ei suuda lugeda ajutist faili\n"
+
+#: text-utils/pg.c:1041 text-utils/pg.c:1216 text-utils/pg.c:1243
+#, fuzzy
+msgid "RE error: "
+msgstr "positsioneerimise viga"
+
+#: text-utils/pg.c:1198
+msgid "(EOF)"
+msgstr ""
+
+#: text-utils/pg.c:1224 text-utils/pg.c:1251
+msgid "No remembered search string"
+msgstr ""
+
+#: text-utils/pg.c:1307
+#, fuzzy
+msgid "Cannot open "
+msgstr "Ei suuda avada seadmefaili %s\n"
+
+#: text-utils/pg.c:1355
+msgid "saved"
+msgstr ""
+
+#: text-utils/pg.c:1462
+msgid ": !command not allowed in rflag mode.\n"
+msgstr ""
+
+#: text-utils/pg.c:1494
+#, fuzzy
+msgid "fork() failed, try again later\n"
+msgstr "Parooli EI muudetud - proovige hiljem uuesti\n"
+
+#: text-utils/pg.c:1702
+msgid "(Next file: "
+msgstr ""
+
+#: text-utils/rev.c:113
+#, fuzzy
+msgid "unable to allocate bufferspace"
+msgstr "ei jätku mälu kaartide puhvritele"
+
+#: text-utils/rev.c:143
+#, c-format
+msgid "usage: rev [file ...]\n"
+msgstr ""
+
+#: text-utils/tailf.c:57 text-utils/tailf.c:92
+#, fuzzy, c-format
+msgid "cannot open \"%s\" for read"
+msgstr "ei suuda avada seadet %s lugemiseks\n"
+
+#: text-utils/tailf.c:95 text-utils/tailf.c:214
+#, fuzzy, c-format
+msgid "cannot stat \"%s\""
+msgstr "stat(%s) ei õnnestunud"
+
+#: text-utils/tailf.c:108
+#, c-format
+msgid "incomplete write to \"%s\" (written %zd, expected %zd)\n"
+msgstr ""
+
+#: text-utils/tailf.c:146
+#, c-format
+msgid "%s: cannot add inotify watch (limit of inotify watches was reached)."
+msgstr ""
+
+#: text-utils/tailf.c:150
+#, c-format
+msgid "%s: cannot add inotify watch."
+msgstr ""
+
+#: text-utils/tailf.c:159
+#, fuzzy, c-format
+msgid "%s: cannot read inotify events"
+msgstr "%s: Ei suuda avada faili %s\n"
+
+#: text-utils/tailf.c:198 text-utils/tailf.c:202
+#, fuzzy
+msgid "invalid number of lines"
+msgstr "vigane arv: %s\n"
+
+#: text-utils/tailf.c:209
+#, fuzzy
+msgid "usage: tailf [-n N | -N] logfile"
+msgstr "Kasutamine: %s [fail]\n"
+
+#: text-utils/ul.c:141
+#, c-format
+msgid "usage: %s [ -i ] [ -tTerm ] file...\n"
+msgstr ""
+
+#: text-utils/ul.c:152
+#, c-format
+msgid "trouble reading terminfo"
+msgstr ""
+
+#: text-utils/ul.c:242
+#, c-format
+msgid "Unknown escape sequence in input: %o, %o\n"
+msgstr ""
+
+#: text-utils/ul.c:425
+#, c-format
+msgid "Unable to allocate buffer.\n"
+msgstr ""
+
+#: text-utils/ul.c:586
+#, c-format
+msgid "Input line too long.\n"
+msgstr ""
+
+#: text-utils/ul.c:599
+#, c-format
+msgid "Out of memory when growing buffer.\n"
+msgstr ""
+
+#~ msgid "# partition table of %s\n"
+#~ msgstr "# %s partitsioonitabel\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "unit: sectors\n"
+#~ "\n"
+#~ msgstr "%d vaba sektorit\n"
+
+#, fuzzy
+#~ msgid ", size=%9lu"
+#~ msgstr "Max. suurus=%ld\n"
+
+#, 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 "mount: going to mount %s by %s\n"
+#~ msgstr "shutdown: Ei suuda lahti monteerida kataloogi %s: %s\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 "%s: cannot stat %s: %s\n"
+#~ msgstr "%s: Ei suuda avada faili %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 "Autoconfigure failed.\n"
+#~ msgstr "Automaatne konfigureerimine ei õnnestunud\n"
+
+#~ 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"
+
+#, fuzzy
+#~ msgid "%s from %s%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 "Warning: deleting partitions after %d\n"
+#~ msgstr "Hoiatus: kustutan partitsioonid pärast %d\n"
+
+#~ 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 "number `%s' to `%s' out of range\n"
+#~ msgstr "arv `%s' võtmele `%s' on väljaspool lubatud vahemikku\n"
+
+#~ msgid "unrecognized option `%s'\n"
+#~ msgstr "tundmatu võti `%s'\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 (file)
index 0000000..9b5ec0a
Binary files /dev/null and b/po/eu.gmo differ
diff --git a/po/eu.po b/po/eu.po
new file mode 100644 (file)
index 0000000..dc35e08
--- /dev/null
+++ b/po/eu.po
@@ -0,0 +1,10966 @@
+# Basque translation of util-linux.
+# Copyright (C) 2005 Free Software Foundation, Inc.
+# This file is distributed under the same license as the util-linux package.
+# Mikel Olasagasti <hey_neken@mundurat.net>, 2005.
+# , fuzzy
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: util-linux 2.13-pre2\n"
+"Report-Msgid-Bugs-To: Karel Zak <kzak@redhat.com>\n"
+"POT-Creation-Date: 2009-11-30 16:27+0100\n"
+"PO-Revision-Date: 2005-08-15 18:45+0200\n"
+"Last-Translator: Mikel Olasagasti <hey_neken@mundurat.net>\n"
+"Language-Team: Basque <translation-team-eu@lists.sourceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: disk-utils/blockdev.c:37
+msgid "set read-only"
+msgstr "ezarri irakurtzeko soilik"
+
+#: disk-utils/blockdev.c:38
+msgid "set read-write"
+msgstr "ezarri irakurketa-idazketarako"
+
+#: disk-utils/blockdev.c:39
+msgid "get read-only"
+msgstr "lortu irakurketa soilik"
+
+#: disk-utils/blockdev.c:40
+msgid "get sectorsize"
+msgstr "lortu sektore-tamainua"
+
+#: disk-utils/blockdev.c:41
+msgid "get blocksize"
+msgstr "lortu bloke-tamainua"
+
+#: disk-utils/blockdev.c:42
+msgid "set blocksize"
+msgstr "ezarri bloke-tamainua"
+
+#: disk-utils/blockdev.c:43
+msgid "get 32-bit sector count"
+msgstr "lortu 32 bit-eko sektore kopurua"
+
+#: disk-utils/blockdev.c:44
+msgid "get size in bytes"
+msgstr "lortu tamainua byte-tan"
+
+#: disk-utils/blockdev.c:45
+msgid "set readahead"
+msgstr "ezarri readahead"
+
+#: disk-utils/blockdev.c:46
+msgid "get readahead"
+msgstr "lortu readahead"
+
+#: disk-utils/blockdev.c:47
+#, fuzzy
+msgid "set filesystem readahead"
+msgstr "ezarri readahead"
+
+#: disk-utils/blockdev.c:48
+#, fuzzy
+msgid "get filesystem readahead"
+msgstr "lortu readahead"
+
+#: disk-utils/blockdev.c:49
+msgid "flush buffers"
+msgstr "hustu bufferrak"
+
+#: disk-utils/blockdev.c:51
+msgid "reread partition table"
+msgstr "berirakurri partizio taula"
+
+#: disk-utils/blockdev.c:60
+#, c-format
+msgid "Usage:\n"
+msgstr "Erabilera:\n"
+
+#: disk-utils/blockdev.c:62
+#, c-format
+msgid "  %s --report [devices]\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:63
+#, c-format
+msgid "  %s [-v|-q] commands devices\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:66
+#, c-format
+msgid "Available commands:\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:68
+#, fuzzy
+msgid "get size in 512-byte sectors"
+msgstr "lortu tamainua byte-tan"
+
+#: disk-utils/blockdev.c:201
+#, c-format
+msgid "%s: Unknown command: %s\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:213 disk-utils/blockdev.c:222
+#, c-format
+msgid "%s requires an argument\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:255
+#, fuzzy, c-format
+msgid "%s failed.\n"
+msgstr "fsync-ek huts egin du"
+
+#: disk-utils/blockdev.c:292
+#, c-format
+msgid "%s succeeded.\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:310 disk-utils/blockdev.c:338
+#, c-format
+msgid "%s: cannot open %s\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:355
+#, c-format
+msgid "%s: ioctl error on %s\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:364
+#, c-format
+msgid "RO    RA   SSZ   BSZ   StartSec            Size   Device\n"
+msgstr ""
+
+#: disk-utils/elvtune.c:48
+#, c-format
+msgid "usage:\n"
+msgstr "erabilera:\n"
+
+#: disk-utils/elvtune.c:53
+#, c-format
+msgid "\tNOTE: elvtune only works with 2.4 kernels\n"
+msgstr ""
+
+#: disk-utils/elvtune.c:104
+#, c-format
+msgid "parse error\n"
+msgstr ""
+
+#: disk-utils/elvtune.c:110
+#, c-format
+msgid "missing blockdevice, use -h for help\n"
+msgstr ""
+
+#: disk-utils/elvtune.c:131
+#, 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:31
+#, c-format
+msgid "Formatting ... "
+msgstr "Formateatzen ... "
+
+#: disk-utils/fdformat.c:49 disk-utils/fdformat.c:86
+#, c-format
+msgid "done\n"
+msgstr "eginda\n"
+
+#: disk-utils/fdformat.c:60
+#, 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:80
+#, c-format
+msgid ""
+"bad data in cyl %d\n"
+"Continuing ... "
+msgstr ""
+
+#: disk-utils/fdformat.c:96
+#, c-format
+msgid "usage: %s [ -n ] device\n"
+msgstr "erabilera: %s [ -n] gailua\n"
+
+#: disk-utils/fdformat.c:118 disk-utils/fsck.minix.c:1282
+#: disk-utils/isosize.c:181 disk-utils/mkfs.bfs.c:115 disk-utils/mkfs.c:52
+#: disk-utils/mkfs.cramfs.c:813 disk-utils/mkfs.minix.c:571
+#: disk-utils/mkswap.c:461 misc-utils/ddate.c:179 misc-utils/rename.c:79
+#: misc-utils/script.c:147 sys-utils/readprofile.c:197
+#, c-format
+msgid "%s (%s)\n"
+msgstr "%s (%s)\n"
+
+#: disk-utils/fdformat.c:132
+#, c-format
+msgid "%s: not a block device\n"
+msgstr ""
+
+#: disk-utils/fdformat.c:142
+msgid "Could not determine current format type"
+msgstr ""
+
+#: disk-utils/fdformat.c:143
+#, c-format
+msgid "%s-sided, %d tracks, %d sec/track. Total capacity %d kB.\n"
+msgstr ""
+
+#: disk-utils/fdformat.c:144
+msgid "Double"
+msgstr "Bikoitza"
+
+#: disk-utils/fdformat.c:144
+msgid "Single"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:118
+#, c-format
+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 ""
+
+#: disk-utils/fsck.cramfs.c:164
+#, fuzzy, c-format
+msgid "stat failed: %s"
+msgstr "fsync-ek huts egin du"
+
+#: disk-utils/fsck.cramfs.c:168 disk-utils/fsck.cramfs.c:552
+#, fuzzy, c-format
+msgid "open failed: %s"
+msgstr "Ezin da '%s' fitxategia ireki"
+
+#: disk-utils/fsck.cramfs.c:173
+#, c-format
+msgid "ioctl failed: unable to determine device size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:181
+#, c-format
+msgid "not a block device or file: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:185 disk-utils/fsck.cramfs.c:227
+msgid "file length too short"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:190 disk-utils/fsck.cramfs.c:198
+#: disk-utils/fsck.cramfs.c:259 disk-utils/fsck.cramfs.c:279
+#, fuzzy, c-format
+msgid "read failed: %s"
+msgstr "setuid()-k huts egin du"
+
+#: disk-utils/fsck.cramfs.c:208
+msgid "superblock magic not found"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:217
+#, fuzzy
+msgid "unsupported filesystem features"
+msgstr "Sartu fitxategi sistema moeta: "
+
+#: disk-utils/fsck.cramfs.c:220
+#, c-format
+msgid "superblock size (%d) too small"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:224
+msgid "zero file count"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:230
+#, c-format
+msgid "warning: file extends past end of filesystem\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:234
+#, c-format
+msgid "warning: old cramfs format\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:247
+msgid "unable to test CRC: old cramfs format"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:273 disk-utils/fsck.cramfs.c:340
+#: disk-utils/fsck.cramfs.c:478 login-utils/chfn.c:529 login-utils/chsh.c:439
+#: sys-utils/cytune.c:321
+msgid "malloc failed"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:298
+msgid "crc error"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:365
+msgid "root inode is not directory"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:370
+#, c-format
+msgid "bad root offset (%lu)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:388
+msgid "data block too large"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:392
+#, c-format
+msgid "decompression error %p(%d): %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:416
+#, c-format
+msgid "  hole at %ld (%zd)\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:424 disk-utils/fsck.cramfs.c:596
+#, c-format
+msgid "  uncompressing block at %ld to %ld (%ld)\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:430
+#, c-format
+msgid "non-block (%ld) bytes"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:434
+#, c-format
+msgid "non-size (%ld vs %ld) bytes"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:440
+#, c-format
+msgid "write failed: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:453
+#, c-format
+msgid "lchown failed: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:459
+#, c-format
+msgid "chown failed: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:466
+#, c-format
+msgid "utime failed: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:481
+#, c-format
+msgid "directory inode has zero offset and non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:495
+#, c-format
+msgid "mkdir failed: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:512
+msgid "filename length is zero"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:515
+msgid "bad filename length"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:522
+msgid "bad inode offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:538
+msgid "file inode has zero offset and non-zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:541
+msgid "file inode has zero size and non-zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:572
+msgid "symbolic link has zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:575
+msgid "symbolic link has zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:587
+#, c-format
+msgid "size error in symlink: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:602
+#, fuzzy, c-format
+msgid "symlink failed: %s"
+msgstr "fsync-ek huts egin du"
+
+#: disk-utils/fsck.cramfs.c:614
+#, c-format
+msgid "special file has non-zero offset: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:626
+#, c-format
+msgid "fifo has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:632
+#, c-format
+msgid "socket has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:637
+#, c-format
+msgid "bogus mode: %s (%o)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:647
+#, c-format
+msgid "mknod failed: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:683
+#, c-format
+msgid "directory data start (%ld) < sizeof(struct cramfs_super) + start (%ld)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:686
+#, c-format
+msgid "directory data end (%ld) != file data start (%ld)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:691
+msgid "invalid file data offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:715
+msgid "failed to allocate outbuffer"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:728
+msgid "compiled without -x support"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:210
+#, c-format
+msgid "Usage: %s [-larvsmf] /dev/name\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:326
+#, c-format
+msgid "%s is mounted.\t "
+msgstr ""
+
+#: disk-utils/fsck.minix.c:328
+msgid "Do you really want to continue"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:332
+#, c-format
+msgid "check aborted.\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:351 disk-utils/fsck.minix.c:374
+#, c-format
+msgid "Zone nr < FIRSTZONE in file `%s'."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:355 disk-utils/fsck.minix.c:378
+#, c-format
+msgid "Zone nr >= ZONES in file `%s'."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:360 disk-utils/fsck.minix.c:383
+msgid "Remove block"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:401
+#, c-format
+msgid "Read error: unable to seek to block in file '%s'\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:407
+#, c-format
+msgid "Read error: bad block in file '%s'\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:422
+#, c-format
+msgid ""
+"Internal error: trying to write bad block\n"
+"Write request ignored\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:428 disk-utils/mkfs.minix.c:209
+msgid "seek failed in write_block"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:431
+#, c-format
+msgid "Write error: bad block in file '%s'\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:547
+msgid "seek failed in write_super_block"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:549 disk-utils/mkfs.minix.c:196
+msgid "unable to write super-block"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:559
+msgid "Unable to write inode map"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:561
+msgid "Unable to write zone map"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:563
+msgid "Unable to write inodes"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:590
+msgid "seek failed"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:592
+msgid "unable to read super block"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:610
+msgid "bad magic number in super-block"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:612
+msgid "Only 1k blocks/zones supported"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:614
+msgid "bad s_imap_blocks field in super-block"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:616
+msgid "bad s_zmap_blocks field in super-block"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:623
+msgid "Unable to allocate buffer for inode map"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:626
+msgid "Unable to allocate buffer for zone map"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:631
+msgid "Unable to allocate buffer for inodes"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:634
+msgid "Unable to allocate buffer for inode count"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:637
+msgid "Unable to allocate buffer for zone count"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:639
+msgid "Unable to read inode map"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:641
+msgid "Unable to read zone map"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:643
+msgid "Unable to read inodes"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:645
+#, c-format
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:650 disk-utils/mkfs.minix.c:450
+#, c-format
+msgid "%ld inodes\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:651 disk-utils/mkfs.minix.c:451
+#, c-format
+msgid "%ld blocks\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:652 disk-utils/mkfs.minix.c:452
+#, c-format
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:653 disk-utils/mkfs.minix.c:453
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:654
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:655
+#, c-format
+msgid "Filesystem state=%d\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:656
+#, c-format
+msgid ""
+"namelen=%d\n"
+"\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:671 disk-utils/fsck.minix.c:722
+#, c-format
+msgid "Inode %d marked unused, but used for file '%s'\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:675 disk-utils/fsck.minix.c:726
+msgid "Mark in use"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:697 disk-utils/fsck.minix.c:746
+#, c-format
+msgid "The file `%s' has mode %05o\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:704 disk-utils/fsck.minix.c:752
+#, c-format
+msgid "Warning: inode count too big.\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:764 disk-utils/fsck.minix.c:772
+msgid "root inode isn't a directory"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:786 disk-utils/fsck.minix.c:819
+#, c-format
+msgid "Block has been used before. Now in file `%s'."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:788 disk-utils/fsck.minix.c:821
+#: disk-utils/fsck.minix.c:1144 disk-utils/fsck.minix.c:1153
+#: disk-utils/fsck.minix.c:1199 disk-utils/fsck.minix.c:1208
+msgid "Clear"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:798 disk-utils/fsck.minix.c:831
+#, c-format
+msgid "Block %d in file `%s' is marked not in use."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:800 disk-utils/fsck.minix.c:833
+msgid "Correct"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:972 disk-utils/fsck.minix.c:1039
+#, c-format
+msgid "The directory '%s' contains a bad inode number for file '%.*s'."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:975 disk-utils/fsck.minix.c:1042
+msgid " Remove"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:989 disk-utils/fsck.minix.c:1056
+#, c-format
+msgid "%s: bad directory: '.' isn't first\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:997 disk-utils/fsck.minix.c:1065
+#, c-format
+msgid "%s: bad directory: '..' isn't second\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1099 disk-utils/fsck.minix.c:1117
+msgid "internal error"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1102 disk-utils/fsck.minix.c:1120
+#, c-format
+msgid "%s: bad directory: size < 32"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1133
+msgid "seek failed in bad_zone"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1143 disk-utils/fsck.minix.c:1198
+#, c-format
+msgid "Inode %d mode not cleared."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1152 disk-utils/fsck.minix.c:1207
+#, c-format
+msgid "Inode %d not used, marked used in the bitmap."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1158 disk-utils/fsck.minix.c:1213
+#, c-format
+msgid "Inode %d used, marked unused in the bitmap."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1160 disk-utils/fsck.minix.c:1214
+msgid "Set"
+msgstr "Ezarri"
+
+#: disk-utils/fsck.minix.c:1164 disk-utils/fsck.minix.c:1218
+#, c-format
+msgid "Inode %d (mode = %07o), i_nlinks=%d, counted=%d."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1166 disk-utils/fsck.minix.c:1220
+msgid "Set i_nlinks to count"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1178 disk-utils/fsck.minix.c:1232
+#, c-format
+msgid "Zone %d: marked in use, no file uses it."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1179 disk-utils/fsck.minix.c:1234
+msgid "Unmark"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1184 disk-utils/fsck.minix.c:1239
+#, c-format
+msgid "Zone %d: in use, counted=%d\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1187 disk-utils/fsck.minix.c:1242
+#, c-format
+msgid "Zone %d: not in use, counted=%d\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1287 disk-utils/mkfs.minix.c:576
+#: disk-utils/mkfs.minix.c:578
+msgid "bad inode size"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1289
+msgid "bad v2 inode size"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1315
+msgid "need terminal for interactive repairs"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1319
+#, c-format
+msgid "unable to open '%s': %s"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1334
+#, c-format
+msgid "%s is clean, no check.\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1338
+#, c-format
+msgid "Forcing filesystem check on %s.\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1340
+#, c-format
+msgid "Filesystem on %s is dirty, needs checking.\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1373
+#, c-format
+msgid ""
+"\n"
+"%6ld inodes used (%ld%%)\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1378
+#, c-format
+msgid "%6ld zones used (%ld%%)\n"
+msgstr "%6ld zona erabilita (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1380
+#, 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:1393
+#, c-format
+msgid ""
+"----------------------------\n"
+"FILE SYSTEM HAS BEEN CHANGED\n"
+"----------------------------\n"
+msgstr ""
+
+#: disk-utils/isosize.c:129
+#, c-format
+msgid "%s: failed to open: %s\n"
+msgstr ""
+
+#: disk-utils/isosize.c:135
+#, c-format
+msgid "%s: seek error on %s\n"
+msgstr ""
+
+#: disk-utils/isosize.c:141
+#, c-format
+msgid "%s: read error on %s\n"
+msgstr ""
+
+#: disk-utils/isosize.c:150
+#, c-format
+msgid "sector count: %d, sector size: %d\n"
+msgstr ""
+
+#: disk-utils/isosize.c:200
+#, c-format
+msgid "%s: option parse error\n"
+msgstr ""
+
+#: disk-utils/isosize.c:208
+#, c-format
+msgid "Usage: %s [-x] [-d <num>] iso9660-image\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:84
+#, c-format
+msgid ""
+"Usage: %s [-v] [-N nr-of-inodes] [-V volume-name]\n"
+"       [-F fsname] device [block-count]\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:131
+msgid "volume name too long"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:138
+msgid "fsname name too long"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:163
+#, c-format
+msgid "cannot stat device %s"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:167
+#, c-format
+msgid "%s is not a block special device"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:172 sys-utils/ldattach.c:205
+#, c-format
+msgid "cannot open %s"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:183
+#, c-format
+msgid "cannot get size of %s"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:188
+#, c-format
+msgid "blocks argument too large, max is %llu"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:203
+msgid "too many inodes - max is 512"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:212
+#, c-format
+msgid "not enough space, need at least %llu blocks"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:224 fdisk/fdisk.c:2345
+#, c-format
+msgid "Device: %s\n"
+msgstr "Gailua: %s\n"
+
+#: disk-utils/mkfs.bfs.c:225
+#, c-format
+msgid "Volume: <%-6s>\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:226
+#, c-format
+msgid "FSname: <%-6s>\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:227
+#, c-format
+msgid "BlockSize: %d\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:229
+#, c-format
+msgid "Inodes: %d (in 1 block)\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:232
+#, c-format
+msgid "Inodes: %d (in %lld blocks)\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:234
+#, c-format
+msgid "Blocks: %lld\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:235
+#, c-format
+msgid "Inode end: %d, Data end: %d\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:240
+msgid "error writing superblock"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:260
+msgid "error writing root inode"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:265
+msgid "error writing inode"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:268
+msgid "seek error"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:274
+msgid "error writing . entry"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:278
+msgid "error writing .. entry"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:282
+#, c-format
+msgid "error closing %s"
+msgstr ""
+
+#: disk-utils/mkfs.c:73
+#, c-format
+msgid "Usage: mkfs [-V] [-t fstype] [fs-options] device [size]\n"
+msgstr ""
+
+#: disk-utils/mkfs.c:88 disk-utils/mkfs.c:96 fdisk/cfdisk.c:351
+#: getopt/getopt.c:86 getopt/getopt.c:96 login-utils/wall.c:246
+#, c-format
+msgid "%s: Out of memory!\n"
+msgstr ""
+
+#: disk-utils/mkfs.c:103
+#, c-format
+msgid "mkfs (%s)\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:126
+#, 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:340
+#, c-format
+msgid ""
+"Very long (%zu bytes) filename `%s' found.\n"
+" Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile.  Exiting.\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:472
+#, c-format
+msgid "filesystem too big.  Exiting.\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:637
+#, c-format
+msgid "AIEEE: block \"compressed\" to > 2*blocklength (%ld)\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:656
+#, fuzzy, c-format
+msgid "%6.2f%% (%+ld bytes)\t%s\n"
+msgstr "%6.2f%% (%+d byte)\t%s\n"
+
+#: disk-utils/mkfs.cramfs.c:854
+#, c-format
+msgid ""
+"warning: guestimate of required size (upper bound) is %lldMB, but maximum "
+"image size is %uMB.  We might die prematurely.\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:881
+msgid "ROM image map"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:895
+#, c-format
+msgid "Including: %s\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:901
+#, c-format
+msgid "Directory data: %zd bytes\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:909
+#, c-format
+msgid "Everything: %zd kilobytes\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:914
+#, c-format
+msgid "Super block: %zd bytes\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:921
+#, c-format
+msgid "CRC: %x\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:926
+#, c-format
+msgid "not enough space allocated for ROM image (%lld allocated, %zu used)\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:934
+msgid "ROM image"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:938
+#, c-format
+msgid "ROM image write failed (%zd %zd)\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:947
+#, c-format
+msgid "warning: filenames truncated to 255 bytes.\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:950
+#, c-format
+msgid "warning: files were skipped due to errors.\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:953
+#, c-format
+msgid "warning: file sizes truncated to %luMB (minus 1 byte).\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:958
+#, c-format
+msgid ""
+"warning: uids truncated to %u bits.  (This may be a security concern.)\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:963
+#, c-format
+msgid ""
+"warning: gids truncated to %u bits.  (This may be a security concern.)\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:968
+#, c-format
+msgid ""
+"WARNING: device numbers truncated to %u bits.  This almost certainly means\n"
+"that some device files will be wrong.\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:156
+#, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:180
+#, c-format
+msgid "%s is mounted; will not make a filesystem here!"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:190
+msgid "seek to boot block failed in write_tables"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:192
+msgid "unable to clear boot sector"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:194
+msgid "seek failed in write_tables"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:198
+msgid "unable to write inode map"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:200
+msgid "unable to write zone map"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:202
+msgid "unable to write inodes"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:211
+msgid "write failed in write_block"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:219 disk-utils/mkfs.minix.c:293
+#: disk-utils/mkfs.minix.c:342
+msgid "too many bad blocks"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:227
+msgid "not enough good blocks"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:439
+msgid "unable to allocate buffers for maps"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:448
+msgid "unable to allocate buffer for inodes"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:454
+#, c-format
+msgid ""
+"Maxsize=%ld\n"
+"\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:468
+msgid "seek failed during testing of blocks"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:476
+#, c-format
+msgid "Weird values in do_check: probably bugs\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:507 disk-utils/mkswap.c:313
+msgid "seek failed in check_blocks"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:516
+msgid "bad blocks before data-area: cannot make fs"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:522 disk-utils/mkfs.minix.c:547
+#, c-format
+msgid "%d bad blocks\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:524 disk-utils/mkfs.minix.c:549
+#, c-format
+msgid "one bad block\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:534
+msgid "can't open file of bad blocks"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:538
+#, c-format
+msgid "badblock number input error on line %d\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:539
+#, fuzzy
+msgid "cannot read badblocks file"
+msgstr "Ezin da disko unitatea irakurri"
+
+#: disk-utils/mkfs.minix.c:619
+#, c-format
+msgid "strtol error: number of blocks not specified"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:638
+#, c-format
+msgid "unable to stat %s"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:644
+#, c-format
+msgid "unable to open %s"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:649
+#, c-format
+msgid "cannot determine sector size for %s"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:651
+#, c-format
+msgid "block size smaller than physical sector size of %s"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:654
+#, c-format
+msgid "cannot determine size of %s"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:662
+#, c-format
+msgid "will not try to make filesystem on '%s'"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:664
+msgid "number of blocks too small"
+msgstr ""
+
+#: disk-utils/mkswap.c:155
+#, c-format
+msgid "Bad user-specified page size %d\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:163
+#, c-format
+msgid "Using user-specified page size %d, instead of the system value %d\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:192
+#, c-format
+msgid "Bad swap header size, no label written.\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:202
+#, c-format
+msgid "Label was truncated.\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:208
+#, c-format
+msgid "no label, "
+msgstr "etiketa gabea, "
+
+#: disk-utils/mkswap.c:216
+#, c-format
+msgid "no uuid\n"
+msgstr "uuid-rik ez\n"
+
+#: disk-utils/mkswap.c:281
+#, c-format
+msgid "Usage: %s [-c] [-pPAGESZ] [-L label] [-U UUID] /dev/name [blocks]\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:295
+msgid "too many bad pages"
+msgstr "orri txar gehiegi"
+
+#: disk-utils/mkswap.c:308 misc-utils/look.c:182 misc-utils/setterm.c:1183
+#: text-utils/more.c:1982 text-utils/more.c:1993
+msgid "Out of memory"
+msgstr "Memoriarik ez"
+
+#: disk-utils/mkswap.c:319
+#, c-format
+msgid "one bad page\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:321
+#, c-format
+msgid "%lu bad pages\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:399 disk-utils/mkswap.c:415 disk-utils/mkswap.c:633
+msgid "unable to rewind swap-device"
+msgstr ""
+
+#: disk-utils/mkswap.c:419
+#, fuzzy
+msgid "unable to erase bootbits sectors"
+msgstr "Inprimatu taula sektore bidez ordenatua"
+
+#: disk-utils/mkswap.c:423
+#, c-format
+msgid "%s: %s: warning: don't erase bootbits sectors\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:426
+#, c-format
+msgid "        (%s partition table detected). "
+msgstr ""
+
+#: disk-utils/mkswap.c:428
+#, c-format
+msgid "        on whole disk. "
+msgstr ""
+
+#: disk-utils/mkswap.c:498
+#, c-format
+msgid "%1$s: warning: ignore -U (UUIDs are unsupported by %1$s)\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:514
+#, c-format
+msgid "%s: does not support swapspace version %d.\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:522
+msgid "error: UUID parsing failed"
+msgstr ""
+
+#: disk-utils/mkswap.c:533
+#, c-format
+msgid "%s: error: Nowhere to set up swap on?\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:551
+#, c-format
+msgid "%s: error: size %llu KiB is larger than device size %llu KiB\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:560
+#, c-format
+msgid "%s: error: swap area needs to be at least %ld KiB\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:577
+#, c-format
+msgid "%s: warning: truncating swap area to %llu KiB\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:600
+#, c-format
+msgid "%s: error: will not try to make swapdevice on '%s'\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:606
+#, c-format
+msgid "%s: error: %s is mounted; will not make swapspace.\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:622
+msgid "Unable to set up swap-space: unreadable"
+msgstr ""
+
+#: disk-utils/mkswap.c:625
+#, c-format
+msgid "Setting up swapspace version 1, size = %llu KiB\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:636
+#, c-format
+msgid "%s: %s: unable to write signature page: %s"
+msgstr ""
+
+#: disk-utils/mkswap.c:647
+msgid "fsync failed"
+msgstr "fsync-ek huts egin du"
+
+#: disk-utils/mkswap.c:658
+#, c-format
+msgid "%s: %s: unable to obtain selinux file label: %s\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:664
+msgid "unable to matchpathcon()"
+msgstr ""
+
+#: disk-utils/mkswap.c:667
+msgid "unable to create new selinux context"
+msgstr ""
+
+#: disk-utils/mkswap.c:669
+msgid "couldn't compute selinux context"
+msgstr ""
+
+#: disk-utils/mkswap.c:675
+#, c-format
+msgid "%s: unable to relabel %s to %s: %s\n"
+msgstr ""
+
+#: disk-utils/raw.c:50
+#, fuzzy, c-format
+msgid ""
+"Usage:\n"
+"  %s "
+msgstr "Erabilera:\n"
+
+#: disk-utils/raw.c:125
+#, c-format
+msgid ""
+"Device '%s' is control raw dev (use raw<N> where <N> is greater than zero)\n"
+msgstr ""
+
+#: disk-utils/raw.c:145
+#, c-format
+msgid "Cannot locate block device '%s' (%s)\n"
+msgstr ""
+
+#: disk-utils/raw.c:151
+#, c-format
+msgid "Device '%s' is not a block dev\n"
+msgstr ""
+
+#: disk-utils/raw.c:186
+#, fuzzy, c-format
+msgid "Cannot open master raw device '"
+msgstr "Ezin da disko unitatea ireki"
+
+#: disk-utils/raw.c:205
+#, fuzzy, c-format
+msgid "Cannot locate raw device '%s' (%s)\n"
+msgstr "Ezin da '%s' fitxategia ireki"
+
+#: disk-utils/raw.c:211
+#, c-format
+msgid "Raw device '%s' is not a character dev\n"
+msgstr ""
+
+#: disk-utils/raw.c:216
+#, c-format
+msgid "Device '%s' is not a raw dev\n"
+msgstr ""
+
+#: disk-utils/raw.c:231
+#, c-format
+msgid "Error querying raw device (%s)\n"
+msgstr ""
+
+#: disk-utils/raw.c:241 disk-utils/raw.c:261
+#, c-format
+msgid "raw%d:\tbound to major %d, minor %d\n"
+msgstr ""
+
+#: disk-utils/raw.c:257
+#, c-format
+msgid "Error setting raw device (%s)\n"
+msgstr ""
+
+#: fdisk/cfdisk.c:376 fdisk/cfdisk.c:2080
+msgid "Unusable"
+msgstr "Ezin erabili"
+
+#: fdisk/cfdisk.c:378 fdisk/cfdisk.c:2082
+msgid "Free Space"
+msgstr "Leku librea"
+
+#: fdisk/cfdisk.c:381
+msgid "Linux ext2"
+msgstr "Linux ext2"
+
+#: fdisk/cfdisk.c:383
+msgid "Linux ext3"
+msgstr "Linux ext3"
+
+#: fdisk/cfdisk.c:385
+msgid "Linux XFS"
+msgstr "Linux XFS"
+
+#: fdisk/cfdisk.c:387
+msgid "Linux JFS"
+msgstr "Linux JFS"
+
+#: fdisk/cfdisk.c:389
+msgid "Linux ReiserFS"
+msgstr "Linux ReiserFS"
+
+#: fdisk/cfdisk.c:391 fdisk/i386_sys_types.c:57
+msgid "Linux"
+msgstr "Linux"
+
+#: fdisk/cfdisk.c:394
+msgid "OS/2 HPFS"
+msgstr "OS/2 HPFS"
+
+#: fdisk/cfdisk.c:396
+msgid "OS/2 IFS"
+msgstr "OS/2 IFS"
+
+#: fdisk/cfdisk.c:400
+msgid "NTFS"
+msgstr "NTFS"
+
+#: fdisk/cfdisk.c:411
+#, c-format
+msgid "Disk has been changed.\n"
+msgstr "Diskoa aldatu egin da.\n"
+
+#: fdisk/cfdisk.c:413
+#, c-format
+msgid "Reboot the system to ensure the partition table is correctly updated.\n"
+msgstr ""
+
+#: fdisk/cfdisk.c:417
+#, 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"
+
+#: fdisk/cfdisk.c:512
+msgid "FATAL ERROR"
+msgstr "ERRORE LARRIA"
+
+#: fdisk/cfdisk.c:513
+msgid "Press any key to exit cfdisk"
+msgstr "Sakatu tekla bat cfdisk-etik irteteko"
+
+#: fdisk/cfdisk.c:560 fdisk/cfdisk.c:568
+msgid "Cannot seek on disk drive"
+msgstr "Ezin da bilatu disko unitatean"
+
+#: fdisk/cfdisk.c:562
+msgid "Cannot read disk drive"
+msgstr "Ezin da disko unitatea irakurri"
+
+#: fdisk/cfdisk.c:570
+msgid "Cannot write disk drive"
+msgstr "Ezin da disko unitatean idatzi"
+
+#: fdisk/cfdisk.c:913
+msgid "Too many partitions"
+msgstr "Partizio gehiegi"
+
+#: fdisk/cfdisk.c:918
+msgid "Partition begins before sector 0"
+msgstr "Partizioa 0 sektorea baina lehenago hasten da"
+
+#: fdisk/cfdisk.c:923
+msgid "Partition ends before sector 0"
+msgstr "Partizioa 0 sektorearen ondoren amaitzen da"
+
+#: fdisk/cfdisk.c:928
+msgid "Partition begins after end-of-disk"
+msgstr "Partizioa disko-amaiera baina lehenago hasten da"
+
+#: fdisk/cfdisk.c:933
+msgid "Partition ends after end-of-disk"
+msgstr "Partizioa disko-amaiera baina lehenago amaitzen da"
+
+#: fdisk/cfdisk.c:938
+msgid "Partition ends in the final partial cylinder"
+msgstr "Partizioa azken partizio zilindroan amaitzen da"
+
+#: fdisk/cfdisk.c:962
+msgid "logical partitions not in disk order"
+msgstr "partizio logikoak ez daude disko ordenean"
+
+#: fdisk/cfdisk.c:965
+msgid "logical partitions overlap"
+msgstr "partizio logikoen teilakapena"
+
+#: fdisk/cfdisk.c:969
+msgid "enlarged logical partitions overlap"
+msgstr ""
+
+#: fdisk/cfdisk.c:999
+msgid ""
+"!!!! Internal error creating logical drive with no extended partition !!!!"
+msgstr ""
+
+#: fdisk/cfdisk.c:1010 fdisk/cfdisk.c:1022
+msgid ""
+"Cannot create logical drive here -- would create two extended partitions"
+msgstr ""
+
+#: fdisk/cfdisk.c:1164
+msgid "Menu item too long. Menu may look odd."
+msgstr "Menu elementu luzeegia. Menuak arraroa eman dezake."
+
+#: fdisk/cfdisk.c:1220
+#, fuzzy
+msgid "Menu without direction. Defaulting to horizontal."
+msgstr "Direkzio gabeko menua. Horizontala lehenetsiko da."
+
+#: fdisk/cfdisk.c:1351
+msgid "Illegal key"
+msgstr "Baliogabeko tekla"
+
+#: fdisk/cfdisk.c:1374
+msgid "Press a key to continue"
+msgstr "Sakatu edozein tekla jarraitzeko"
+
+#: fdisk/cfdisk.c:1421 fdisk/cfdisk.c:2051 fdisk/cfdisk.c:2583
+#: fdisk/cfdisk.c:2585
+msgid "Primary"
+msgstr "Primarioa"
+
+#: fdisk/cfdisk.c:1421
+msgid "Create a new primary partition"
+msgstr "Sortu partizio primario berri bat"
+
+#: fdisk/cfdisk.c:1422 fdisk/cfdisk.c:2051 fdisk/cfdisk.c:2582
+#: fdisk/cfdisk.c:2585
+msgid "Logical"
+msgstr "Logikoa"
+
+#: fdisk/cfdisk.c:1422
+msgid "Create a new logical partition"
+msgstr "Sortu partizio logiko berri bat"
+
+#: fdisk/cfdisk.c:1423 fdisk/cfdisk.c:1478 fdisk/cfdisk.c:2256
+msgid "Cancel"
+msgstr "Utzi"
+
+#: fdisk/cfdisk.c:1423 fdisk/cfdisk.c:1478
+msgid "Don't create a partition"
+msgstr "Ez sortu partizio bat"
+
+#: fdisk/cfdisk.c:1439
+msgid "!!! Internal error !!!"
+msgstr "Barne errorea !!!"
+
+#: fdisk/cfdisk.c:1442
+msgid "Size (in MB): "
+msgstr "Tamainua (MBtan): "
+
+#: fdisk/cfdisk.c:1476
+msgid "Beginning"
+msgstr "Hasieran"
+
+#: fdisk/cfdisk.c:1476
+msgid "Add partition at beginning of free space"
+msgstr "Gehitu partizioa leku librearen hasieran"
+
+#: fdisk/cfdisk.c:1477
+msgid "End"
+msgstr "Amaiera"
+
+#: fdisk/cfdisk.c:1477
+msgid "Add partition at end of free space"
+msgstr ""
+
+#: fdisk/cfdisk.c:1495
+msgid "No room to create the extended partition"
+msgstr ""
+
+#: fdisk/cfdisk.c:1569
+msgid "No partition table.\n"
+msgstr "Ez dago partizio taularik.\n"
+
+#: fdisk/cfdisk.c:1573
+msgid "No partition table. Starting with zero table."
+msgstr ""
+
+#: fdisk/cfdisk.c:1583
+msgid "Bad signature on partition table"
+msgstr ""
+
+#: fdisk/cfdisk.c:1587
+msgid "Unknown partition table type"
+msgstr "Partizio taula moeta ezezaguna"
+
+#: fdisk/cfdisk.c:1589
+msgid "Do you wish to start with a zero table [y/N] ?"
+msgstr "Zero taula batekin hasi nahi duzu [b/E] ?"
+
+#: fdisk/cfdisk.c:1637
+msgid "You specified more cylinders than fit on disk"
+msgstr ""
+
+#: fdisk/cfdisk.c:1669
+msgid "Cannot open disk drive"
+msgstr "Ezin da disko unitatea ireki"
+
+#: fdisk/cfdisk.c:1671 fdisk/cfdisk.c:1860
+msgid "Opened disk read-only - you have no permission to write"
+msgstr ""
+
+#: fdisk/cfdisk.c:1682
+msgid ""
+"Warning!!  Unsupported GPT (GUID Partition Table) detected. Use GNU Parted."
+msgstr ""
+
+#: fdisk/cfdisk.c:1701
+msgid "Cannot get disk size"
+msgstr "Ezin da diskoaren tamainua lortu"
+
+#: fdisk/cfdisk.c:1727
+msgid "Bad primary partition"
+msgstr "Partizio primario txarra"
+
+#: fdisk/cfdisk.c:1757
+msgid "Bad logical partition"
+msgstr "Partizio logiko txarra"
+
+#: fdisk/cfdisk.c:1872
+msgid "Warning!!  This may destroy data on your disk!"
+msgstr ""
+
+#: fdisk/cfdisk.c:1876
+msgid ""
+"Are you sure you want to write the partition table to disk? (yes or no): "
+msgstr ""
+
+#: fdisk/cfdisk.c:1882
+msgid "no"
+msgstr "ez"
+
+#: fdisk/cfdisk.c:1884
+msgid "Did not write partition table to disk"
+msgstr ""
+
+#: fdisk/cfdisk.c:1886
+msgid "yes"
+msgstr "bai"
+
+#: fdisk/cfdisk.c:1890
+msgid "Please enter `yes' or `no'"
+msgstr "Mesedez sartu `bai' edo `ez'"
+
+#: fdisk/cfdisk.c:1894
+msgid "Writing partition table to disk..."
+msgstr "Partizio taula diskoan idazten..."
+
+#: fdisk/cfdisk.c:1921 fdisk/cfdisk.c:1925
+msgid "Wrote partition table to disk"
+msgstr "Partizio taula diskoan idatzi da"
+
+#: fdisk/cfdisk.c:1923
+#, fuzzy
+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 hutz egin du.  "
+"Berrabiarazi sistema taula berritzeko."
+
+#: fdisk/cfdisk.c:1933
+msgid "No primary partitions are marked bootable. DOS MBR cannot boot this."
+msgstr ""
+
+#: fdisk/cfdisk.c:1935
+msgid ""
+"More than one primary partition is marked bootable. DOS MBR cannot boot this."
+msgstr ""
+
+#: fdisk/cfdisk.c:1993 fdisk/cfdisk.c:2112 fdisk/cfdisk.c:2196
+msgid "Enter filename or press RETURN to display on screen: "
+msgstr ""
+
+#: fdisk/cfdisk.c:2002 fdisk/cfdisk.c:2120 fdisk/cfdisk.c:2204
+#, c-format
+msgid "Cannot open file '%s'"
+msgstr "Ezin da '%s' fitxategia ireki"
+
+#: fdisk/cfdisk.c:2013
+#, c-format
+msgid "Disk Drive: %s\n"
+msgstr "Disko unitatea: %s\n"
+
+#: fdisk/cfdisk.c:2015
+msgid "Sector 0:\n"
+msgstr "0 sektorea:\n"
+
+#: fdisk/cfdisk.c:2022
+#, c-format
+msgid "Sector %d:\n"
+msgstr "%d sektorea:\n"
+
+#: fdisk/cfdisk.c:2042
+msgid "   None   "
+msgstr "   Ezer   "
+
+#: fdisk/cfdisk.c:2044
+msgid "   Pri/Log"
+msgstr "   Pri/Log"
+
+#: fdisk/cfdisk.c:2046
+msgid "   Primary"
+msgstr "   Primarioa"
+
+#: fdisk/cfdisk.c:2048
+msgid "   Logical"
+msgstr "   Logikoa"
+
+#: fdisk/cfdisk.c:2086 fdisk/fdisk.c:1534 fdisk/fdisk.c:1855
+#: fdisk/fdisksgilabel.c:240 fdisk/fdisksunlabel.c:621 fdisk/sfdisk.c:653
+msgid "Unknown"
+msgstr "Ezezaguna"
+
+#: fdisk/cfdisk.c:2092 fdisk/cfdisk.c:2560 fdisk/fdisksunlabel.c:44
+msgid "Boot"
+msgstr "Abio"
+
+#: fdisk/cfdisk.c:2094
+#, c-format
+msgid "(%02X)"
+msgstr "(%02X)"
+
+#: fdisk/cfdisk.c:2096
+msgid "None"
+msgstr "Ezer"
+
+#: fdisk/cfdisk.c:2131 fdisk/cfdisk.c:2215
+#, c-format
+msgid "Partition Table for %s\n"
+msgstr "%s-(r)en partizio taula\n"
+
+#: fdisk/cfdisk.c:2133
+msgid "               First       Last\n"
+msgstr "               Lehena     Azkena\n"
+
+#: fdisk/cfdisk.c:2134
+msgid ""
+" # Type       Sector      Sector   Offset    Length   Filesystem Type (ID) "
+"Flag\n"
+msgstr ""
+
+#: fdisk/cfdisk.c:2135
+msgid ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+msgstr ""
+
+#: fdisk/cfdisk.c:2218
+msgid "         ---Starting----      ----Ending-----    Start     Number of\n"
+msgstr ""
+
+#: fdisk/cfdisk.c:2219
+msgid " # Flags Head Sect  Cyl   ID  Head Sect  Cyl     Sector    Sectors\n"
+msgstr ""
+
+#: fdisk/cfdisk.c:2220
+msgid "-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+msgstr ""
+
+#: fdisk/cfdisk.c:2253
+msgid "Raw"
+msgstr "Raw"
+
+#: fdisk/cfdisk.c:2253
+msgid "Print the table using raw data format"
+msgstr "Inprimatu taula raw datu formatua erabiliz"
+
+#: fdisk/cfdisk.c:2254 fdisk/cfdisk.c:2357
+msgid "Sectors"
+msgstr "Sektoreak"
+
+#: fdisk/cfdisk.c:2254
+msgid "Print the table ordered by sectors"
+msgstr "Inprimatu taula sektore bidez ordenatua"
+
+#: fdisk/cfdisk.c:2255
+msgid "Table"
+msgstr "Taula"
+
+#: fdisk/cfdisk.c:2255
+msgid "Just print the partition table"
+msgstr "Soilik partizio taula inprimatu"
+
+#: fdisk/cfdisk.c:2256
+msgid "Don't print the table"
+msgstr "Ez inprimatu taula"
+
+#: fdisk/cfdisk.c:2284
+msgid "Help Screen for cfdisk"
+msgstr "cfdisk-entzat laguntza pantaila"
+
+#: fdisk/cfdisk.c:2286
+msgid "This is cfdisk, a curses based disk partitioning program, which"
+msgstr ""
+"Hau cfdisk da, curses-en oinarritutako disko partizionatze programa, non "
+"honek"
+
+#: fdisk/cfdisk.c:2287
+msgid "allows you to create, delete and modify partitions on your hard"
+msgstr ""
+"zure diskoetan partizioak sortu, ezabatu eta modifikatzeko aukera ematen dizu"
+
+#: fdisk/cfdisk.c:2288
+msgid "disk drive."
+msgstr "disko unitateetan."
+
+#: fdisk/cfdisk.c:2290
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+
+#: fdisk/cfdisk.c:2292
+msgid "Command      Meaning"
+msgstr "Komandoak     Esanahia"
+
+#: fdisk/cfdisk.c:2293
+msgid "-------      -------"
+msgstr "-------      -------"
+
+#: fdisk/cfdisk.c:2294
+msgid "  b          Toggle bootable flag of the current partition"
+msgstr ""
+
+#: fdisk/cfdisk.c:2295
+msgid "  d          Delete the current partition"
+msgstr ""
+
+#: fdisk/cfdisk.c:2296
+msgid "  g          Change cylinders, heads, sectors-per-track parameters"
+msgstr ""
+
+#: fdisk/cfdisk.c:2297
+msgid "             WARNING: This option should only be used by people who"
+msgstr ""
+
+#: fdisk/cfdisk.c:2298
+msgid "             know what they are doing."
+msgstr ""
+
+#: fdisk/cfdisk.c:2299
+msgid "  h          Print this screen"
+msgstr ""
+
+#: fdisk/cfdisk.c:2300
+msgid "  m          Maximize disk usage of the current partition"
+msgstr ""
+
+#: fdisk/cfdisk.c:2301
+msgid "             Note: This may make the partition incompatible with"
+msgstr ""
+
+#: fdisk/cfdisk.c:2302
+msgid "             DOS, OS/2, ..."
+msgstr ""
+
+#: fdisk/cfdisk.c:2303
+msgid "  n          Create new partition from free space"
+msgstr ""
+
+#: fdisk/cfdisk.c:2304
+msgid "  p          Print partition table to the screen or to a file"
+msgstr ""
+
+#: fdisk/cfdisk.c:2305
+msgid "             There are several different formats for the partition"
+msgstr ""
+
+#: fdisk/cfdisk.c:2306
+msgid "             that you can choose from:"
+msgstr ""
+
+#: fdisk/cfdisk.c:2307
+msgid "                r - Raw data (exactly what would be written to disk)"
+msgstr ""
+
+#: fdisk/cfdisk.c:2308
+msgid "                s - Table ordered by sectors"
+msgstr ""
+
+#: fdisk/cfdisk.c:2309
+msgid "                t - Table in raw format"
+msgstr ""
+
+#: fdisk/cfdisk.c:2310
+msgid "  q          Quit program without writing partition table"
+msgstr ""
+
+#: fdisk/cfdisk.c:2311
+msgid "  t          Change the filesystem type"
+msgstr ""
+
+#: fdisk/cfdisk.c:2312
+msgid "  u          Change units of the partition size display"
+msgstr ""
+
+#: fdisk/cfdisk.c:2313
+msgid "             Rotates through MB, sectors and cylinders"
+msgstr ""
+
+#: fdisk/cfdisk.c:2314
+msgid "  W          Write partition table to disk (must enter upper case W)"
+msgstr ""
+
+#: fdisk/cfdisk.c:2315
+msgid "             Since this might destroy data on the disk, you must"
+msgstr ""
+
+#: fdisk/cfdisk.c:2316
+msgid "             either confirm or deny the write by entering `yes' or"
+msgstr ""
+
+#: fdisk/cfdisk.c:2317
+msgid "             `no'"
+msgstr "             `ez'"
+
+#: fdisk/cfdisk.c:2318
+msgid "Up Arrow     Move cursor to the previous partition"
+msgstr ""
+
+#: fdisk/cfdisk.c:2319
+msgid "Down Arrow   Move cursor to the next partition"
+msgstr ""
+
+#: fdisk/cfdisk.c:2320
+msgid "CTRL-L       Redraws the screen"
+msgstr ""
+
+#: fdisk/cfdisk.c:2321
+msgid "  ?          Print this screen"
+msgstr "  ?          Pantaila hau inprimatu"
+
+#: fdisk/cfdisk.c:2323
+msgid "Note: All of the commands can be entered with either upper or lower"
+msgstr "Oharra: komando guztiak letra handiz edo txikiz sartu daitezke"
+
+#: fdisk/cfdisk.c:2324
+msgid "case letters (except for Writes)."
+msgstr ""
+
+#: fdisk/cfdisk.c:2355 fdisk/fdisksunlabel.c:237
+msgid "Cylinders"
+msgstr "Zilindroak"
+
+#: fdisk/cfdisk.c:2355
+msgid "Change cylinder geometry"
+msgstr "Aldatu zilindro geometria"
+
+#: fdisk/cfdisk.c:2356 fdisk/fdisksunlabel.c:235
+msgid "Heads"
+msgstr "Buruak"
+
+#: fdisk/cfdisk.c:2356
+msgid "Change head geometry"
+msgstr "Aldatu buru geometria"
+
+#: fdisk/cfdisk.c:2357
+msgid "Change sector geometry"
+msgstr "Aldatu sektore geometria"
+
+#: fdisk/cfdisk.c:2358
+msgid "Done"
+msgstr "Eginda"
+
+#: fdisk/cfdisk.c:2358
+msgid "Done with changing geometry"
+msgstr "Geometria aldaketa egina"
+
+#: fdisk/cfdisk.c:2371
+msgid "Enter the number of cylinders: "
+msgstr ""
+
+#: fdisk/cfdisk.c:2382 fdisk/cfdisk.c:2953
+msgid "Illegal cylinders value"
+msgstr "Baliogabeko zilindro baloreak"
+
+#: fdisk/cfdisk.c:2388
+msgid "Enter the number of heads: "
+msgstr ""
+
+#: fdisk/cfdisk.c:2395 fdisk/cfdisk.c:2963
+msgid "Illegal heads value"
+msgstr "Baliogabeok buru baloreak"
+
+#: fdisk/cfdisk.c:2401
+msgid "Enter the number of sectors per track: "
+msgstr ""
+
+#: fdisk/cfdisk.c:2408 fdisk/cfdisk.c:2970
+msgid "Illegal sectors value"
+msgstr "Baliogabeko sektore baloreak"
+
+#: fdisk/cfdisk.c:2511
+msgid "Enter filesystem type: "
+msgstr "Sartu fitxategi sistema moeta: "
+
+#: fdisk/cfdisk.c:2529
+msgid "Cannot change FS Type to empty"
+msgstr "Ezin da F.S. moeta aldatu ezerrera"
+
+#: fdisk/cfdisk.c:2531
+msgid "Cannot change FS Type to extended"
+msgstr "Ezin da F.S. moeta aldatu zabaldura"
+
+#: fdisk/cfdisk.c:2562
+#, c-format
+msgid "Unk(%02X)"
+msgstr "Ezezaguna(%02X)"
+
+#: fdisk/cfdisk.c:2565 fdisk/cfdisk.c:2568
+msgid ", NC"
+msgstr ""
+
+#: fdisk/cfdisk.c:2573 fdisk/cfdisk.c:2576
+msgid "NC"
+msgstr ""
+
+#: fdisk/cfdisk.c:2584
+msgid "Pri/Log"
+msgstr "Pri/Log"
+
+#: fdisk/cfdisk.c:2591
+#, c-format
+msgid "Unknown (%02X)"
+msgstr "Ezezaguna (%02X)"
+
+#: fdisk/cfdisk.c:2660
+#, c-format
+msgid "Disk Drive: %s"
+msgstr "Disko unitatea: %s"
+
+#: fdisk/cfdisk.c:2667
+#, c-format
+msgid "Size: %lld bytes, %lld MB"
+msgstr "Tamainua: %lld byte, %lld MB"
+
+#: fdisk/cfdisk.c:2670
+#, c-format
+msgid "Size: %lld bytes, %lld.%lld GB"
+msgstr "Tamainua: %lld byte, %lld.%lld GB"
+
+#: fdisk/cfdisk.c:2674
+#, c-format
+msgid "Heads: %d   Sectors per Track: %d   Cylinders: %lld"
+msgstr "Buruak: %d   Sektoreak pistako: %d   Zilindroak: %lld"
+
+#: fdisk/cfdisk.c:2678 login-utils/chfn.c:377
+msgid "Name"
+msgstr "Izena"
+
+#: fdisk/cfdisk.c:2679
+msgid "Flags"
+msgstr "Banderak"
+
+#: fdisk/cfdisk.c:2680
+msgid "Part Type"
+msgstr "Partizio moeta"
+
+#: fdisk/cfdisk.c:2681
+msgid "FS Type"
+msgstr "S.E. moeta"
+
+#: fdisk/cfdisk.c:2682
+msgid "[Label]"
+msgstr "[Etiketa]"
+
+#: fdisk/cfdisk.c:2684
+msgid "    Sectors"
+msgstr "    Sektoreak"
+
+#: fdisk/cfdisk.c:2686
+msgid "  Cylinders"
+msgstr "  Zilindroak"
+
+#: fdisk/cfdisk.c:2688
+msgid "  Size (MB)"
+msgstr "  Tamainua (MB)"
+
+#: fdisk/cfdisk.c:2690
+msgid "  Size (GB)"
+msgstr "  Tamainua (GB)"
+
+#: fdisk/cfdisk.c:2744
+msgid "Bootable"
+msgstr "Abiogarria"
+
+#: fdisk/cfdisk.c:2744
+msgid "Toggle bootable flag of the current partition"
+msgstr ""
+
+#: fdisk/cfdisk.c:2745
+msgid "Delete"
+msgstr "Ezabatu"
+
+#: fdisk/cfdisk.c:2745
+msgid "Delete the current partition"
+msgstr "Ezabatu uneko partizioa"
+
+#: fdisk/cfdisk.c:2746
+msgid "Geometry"
+msgstr "Geometria"
+
+#: fdisk/cfdisk.c:2746
+msgid "Change disk geometry (experts only)"
+msgstr ""
+
+#: fdisk/cfdisk.c:2747
+msgid "Help"
+msgstr "Laguntza"
+
+#: fdisk/cfdisk.c:2747
+msgid "Print help screen"
+msgstr "Inprimatu laguntza pantaila"
+
+#: fdisk/cfdisk.c:2748
+msgid "Maximize"
+msgstr "Maximizatu"
+
+#: fdisk/cfdisk.c:2748
+msgid "Maximize disk usage of the current partition (experts only)"
+msgstr ""
+
+#: fdisk/cfdisk.c:2749
+msgid "New"
+msgstr "Berria"
+
+#: fdisk/cfdisk.c:2749
+msgid "Create new partition from free space"
+msgstr ""
+
+#: fdisk/cfdisk.c:2750
+msgid "Print"
+msgstr "Inprimatu"
+
+#: fdisk/cfdisk.c:2750
+msgid "Print partition table to the screen or to a file"
+msgstr ""
+
+#: fdisk/cfdisk.c:2751
+msgid "Quit"
+msgstr "Irten"
+
+#: fdisk/cfdisk.c:2751
+msgid "Quit program without writing partition table"
+msgstr "Irten programatik partizio taula idatzi gabe"
+
+#: fdisk/cfdisk.c:2752
+msgid "Type"
+msgstr "Moeta"
+
+#: fdisk/cfdisk.c:2752
+msgid "Change the filesystem type (DOS, Linux, OS/2 and so on)"
+msgstr "Aldatu fitxategi-sistema moeta (DOS, Linux, OS/2 eta abar)"
+
+#: fdisk/cfdisk.c:2753
+msgid "Units"
+msgstr "Unitateak"
+
+#: fdisk/cfdisk.c:2753
+msgid "Change units of the partition size display (MB, sect, cyl)"
+msgstr ""
+
+#: fdisk/cfdisk.c:2754
+msgid "Write"
+msgstr "Idatzi"
+
+#: fdisk/cfdisk.c:2754
+msgid "Write partition table to disk (this might destroy data)"
+msgstr ""
+
+#: fdisk/cfdisk.c:2800
+msgid "Cannot make this partition bootable"
+msgstr "Ezin da partizio hau abiagarria egin"
+
+#: fdisk/cfdisk.c:2810
+msgid "Cannot delete an empty partition"
+msgstr ""
+
+#: fdisk/cfdisk.c:2830 fdisk/cfdisk.c:2832
+msgid "Cannot maximize this partition"
+msgstr "Ezin da partizio hau maximizatu"
+
+#: fdisk/cfdisk.c:2840
+msgid "This partition is unusable"
+msgstr "Partizio hau ezin da erabili"
+
+#: fdisk/cfdisk.c:2842
+msgid "This partition is already in use"
+msgstr "Partizio hau dagoeneko erabilita dago"
+
+#: fdisk/cfdisk.c:2859
+msgid "Cannot change the type of an empty partition"
+msgstr ""
+
+#: fdisk/cfdisk.c:2886 fdisk/cfdisk.c:2892
+msgid "No more partitions"
+msgstr "Ez dago partizio gehiago"
+
+#: fdisk/cfdisk.c:2899
+msgid "Illegal command"
+msgstr "Komando baliogabea"
+
+#: fdisk/cfdisk.c:2909
+#, c-format
+msgid "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+msgstr "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+
+#: fdisk/cfdisk.c:2916
+#, 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 ""
+
+#: fdisk/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 ""
+
+#: fdisk/fdiskbsdlabel.c:122
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:129 fdisk/fdisk.c:386 fdisk/fdisk.c:405
+#: fdisk/fdisk.c:423 fdisk/fdisk.c:430 fdisk/fdisk.c:453 fdisk/fdisk.c:471
+#: fdisk/fdisk.c:487 fdisk/fdisk.c:503
+msgid "Command action"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:130
+msgid "   d   delete a BSD partition"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:131
+msgid "   e   edit drive data"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:132
+msgid "   i   install bootstrap"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:133
+msgid "   l   list known filesystem types"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:134 fdisk/fdisk.c:392 fdisk/fdisk.c:411
+#: fdisk/fdisk.c:424 fdisk/fdisk.c:436 fdisk/fdisk.c:461 fdisk/fdisk.c:478
+#: fdisk/fdisk.c:494 fdisk/fdisk.c:512
+msgid "   m   print this menu"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:135
+msgid "   n   add a new BSD partition"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:136
+msgid "   p   print BSD partition table"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:137 fdisk/fdisk.c:396 fdisk/fdisk.c:415
+#: fdisk/fdisk.c:426 fdisk/fdisk.c:440 fdisk/fdisk.c:463 fdisk/fdisk.c:480
+#: fdisk/fdisk.c:496 fdisk/fdisk.c:514
+msgid "   q   quit without saving changes"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:138 fdisk/fdisk.c:464 fdisk/fdisk.c:481
+#: fdisk/fdisk.c:497 fdisk/fdisk.c:515
+msgid "   r   return to main menu"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:139
+msgid "   s   show complete disklabel"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:140
+msgid "   t   change a partition's filesystem id"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:141
+msgid "   u   change units (cylinders/sectors)"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:142
+msgid "   w   write disklabel to disk"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:144
+msgid "   x   link BSD partition to non-BSD partition"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:176
+#, c-format
+msgid "Partition %s has invalid starting sector 0.\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:180
+#, c-format
+msgid "Reading disklabel of %s at sector %d.\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:190
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:204
+msgid "BSD disklabel command (m for help): "
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:284 fdisk/fdisk.c:2052 fdisk/fdisksgilabel.c:651
+#: fdisk/fdisksunlabel.c:431
+#, c-format
+msgid "First %s"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:291 fdisk/fdisksunlabel.c:488
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:318
+#, c-format
+msgid "type: %s\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:320
+#, c-format
+msgid "type: %d\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:321
+#, c-format
+msgid "disk: %.*s\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:322
+#, c-format
+msgid "label: %.*s\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:323
+#, c-format
+msgid "flags:"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:325
+#, c-format
+msgid " removable"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:327
+#, c-format
+msgid " ecc"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:329
+#, c-format
+msgid " badsect"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:333
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:334
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:335
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:336
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:337
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:338
+#, c-format
+msgid "rpm: %d\n"
+msgstr "rpm: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:339
+#, c-format
+msgid "interleave: %d\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:340
+#, c-format
+msgid "trackskew: %d\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:341
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:342
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:344
+#, c-format
+msgid "track-to-track seek: %ld\t# milliseconds\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:346
+#, c-format
+msgid "drivedata: "
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:355
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:356
+#, c-format
+msgid "#       start       end      size     fstype   [fsize bsize   cpg]\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:405 fdisk/fdiskbsdlabel.c:408
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:420 fdisk/fdiskbsdlabel.c:422
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:427
+msgid "Do you want to create a disklabel? (y/n) "
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:467
+msgid "bytes/sector"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:468
+msgid "sectors/track"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:469
+msgid "tracks/cylinder"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:470 fdisk/fdisk.c:648 fdisk/fdisk.c:1357
+#: fdisk/sfdisk.c:945
+msgid "cylinders"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:477
+msgid "sectors/cylinder"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:481
+#, c-format
+msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:483
+msgid "rpm"
+msgstr "rpm"
+
+#: fdisk/fdiskbsdlabel.c:484
+msgid "interleave"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:485
+msgid "trackskew"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:486
+msgid "cylinderskew"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:487
+msgid "headswitch"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:488
+msgid "track-to-track seek"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:529
+#, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:554
+#, c-format
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:575 fdisk/fdiskbsdlabel.c:577
+#, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:599
+#, c-format
+msgid "Partition (a-%c): "
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:618 fdisk/fdisk.c:2199
+#, c-format
+msgid "The maximum number of partitions has been created\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:630
+#, c-format
+msgid "This partition already exists.\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:757
+#, c-format
+msgid "Warning: too many partitions (%d, maximum is %d).\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:805
+#, c-format
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:244
+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/fdisk.c:256
+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/fdisk.c:265
+#, c-format
+msgid "Unable to open %s\n"
+msgstr ""
+
+#: fdisk/fdisk.c:269
+#, c-format
+msgid "Unable to read %s\n"
+msgstr ""
+
+#: fdisk/fdisk.c:273
+#, c-format
+msgid "Unable to seek on %s\n"
+msgstr ""
+
+#: fdisk/fdisk.c:277
+#, c-format
+msgid "Unable to write %s\n"
+msgstr ""
+
+#: fdisk/fdisk.c:281
+#, c-format
+msgid "BLKGETSIZE ioctl failed on %s\n"
+msgstr ""
+
+#: fdisk/fdisk.c:285
+msgid "Unable to allocate any more memory\n"
+msgstr ""
+
+#: fdisk/fdisk.c:288
+msgid "Fatal error\n"
+msgstr ""
+
+#: fdisk/fdisk.c:387
+msgid "   a   toggle a read only flag"
+msgstr ""
+
+#: fdisk/fdisk.c:388 fdisk/fdisk.c:432
+msgid "   b   edit bsd disklabel"
+msgstr ""
+
+#: fdisk/fdisk.c:389
+msgid "   c   toggle the mountable flag"
+msgstr ""
+
+#: fdisk/fdisk.c:390 fdisk/fdisk.c:409 fdisk/fdisk.c:434
+msgid "   d   delete a partition"
+msgstr ""
+
+#: fdisk/fdisk.c:391 fdisk/fdisk.c:410 fdisk/fdisk.c:435
+msgid "   l   list known partition types"
+msgstr ""
+
+#: fdisk/fdisk.c:393 fdisk/fdisk.c:412 fdisk/fdisk.c:437
+msgid "   n   add a new partition"
+msgstr ""
+
+#: fdisk/fdisk.c:394 fdisk/fdisk.c:413 fdisk/fdisk.c:425 fdisk/fdisk.c:438
+msgid "   o   create a new empty DOS partition table"
+msgstr ""
+
+#: fdisk/fdisk.c:395 fdisk/fdisk.c:414 fdisk/fdisk.c:439 fdisk/fdisk.c:462
+#: fdisk/fdisk.c:479 fdisk/fdisk.c:495 fdisk/fdisk.c:513
+msgid "   p   print the partition table"
+msgstr ""
+
+#: fdisk/fdisk.c:397 fdisk/fdisk.c:416 fdisk/fdisk.c:427 fdisk/fdisk.c:441
+msgid "   s   create a new empty Sun disklabel"
+msgstr ""
+
+#: fdisk/fdisk.c:398 fdisk/fdisk.c:417 fdisk/fdisk.c:442
+msgid "   t   change a partition's system id"
+msgstr ""
+
+#: fdisk/fdisk.c:399 fdisk/fdisk.c:418 fdisk/fdisk.c:443
+msgid "   u   change display/entry units"
+msgstr ""
+
+#: fdisk/fdisk.c:400 fdisk/fdisk.c:419 fdisk/fdisk.c:444 fdisk/fdisk.c:466
+#: fdisk/fdisk.c:483 fdisk/fdisk.c:499 fdisk/fdisk.c:517
+msgid "   v   verify the partition table"
+msgstr ""
+
+#: fdisk/fdisk.c:401 fdisk/fdisk.c:420 fdisk/fdisk.c:445 fdisk/fdisk.c:467
+#: fdisk/fdisk.c:484 fdisk/fdisk.c:500 fdisk/fdisk.c:518
+msgid "   w   write table to disk and exit"
+msgstr ""
+
+#: fdisk/fdisk.c:402 fdisk/fdisk.c:446
+msgid "   x   extra functionality (experts only)"
+msgstr ""
+
+#: fdisk/fdisk.c:406
+msgid "   a   select bootable partition"
+msgstr ""
+
+#: fdisk/fdisk.c:407
+msgid "   b   edit bootfile entry"
+msgstr ""
+
+#: fdisk/fdisk.c:408
+msgid "   c   select sgi swap partition"
+msgstr ""
+
+#: fdisk/fdisk.c:431
+msgid "   a   toggle a bootable flag"
+msgstr ""
+
+#: fdisk/fdisk.c:433
+msgid "   c   toggle the dos compatibility flag"
+msgstr ""
+
+#: fdisk/fdisk.c:454
+msgid "   a   change number of alternate cylinders"
+msgstr ""
+
+#: fdisk/fdisk.c:455 fdisk/fdisk.c:473 fdisk/fdisk.c:489 fdisk/fdisk.c:505
+msgid "   c   change number of cylinders"
+msgstr ""
+
+#: fdisk/fdisk.c:456 fdisk/fdisk.c:474 fdisk/fdisk.c:490 fdisk/fdisk.c:506
+msgid "   d   print the raw data in the partition table"
+msgstr ""
+
+#: fdisk/fdisk.c:457
+msgid "   e   change number of extra sectors per cylinder"
+msgstr ""
+
+#: fdisk/fdisk.c:458 fdisk/fdisk.c:477 fdisk/fdisk.c:493 fdisk/fdisk.c:510
+msgid "   h   change number of heads"
+msgstr ""
+
+#: fdisk/fdisk.c:459
+msgid "   i   change interleave factor"
+msgstr ""
+
+#: fdisk/fdisk.c:460
+msgid "   o   change rotation speed (rpm)"
+msgstr ""
+
+#: fdisk/fdisk.c:465 fdisk/fdisk.c:482 fdisk/fdisk.c:498 fdisk/fdisk.c:516
+msgid "   s   change number of sectors/track"
+msgstr ""
+
+#: fdisk/fdisk.c:468
+msgid "   y   change number of physical cylinders"
+msgstr ""
+
+#: fdisk/fdisk.c:472 fdisk/fdisk.c:488 fdisk/fdisk.c:504
+msgid "   b   move beginning of data in a partition"
+msgstr ""
+
+#: fdisk/fdisk.c:475 fdisk/fdisk.c:491 fdisk/fdisk.c:507
+msgid "   e   list extended partitions"
+msgstr ""
+
+#: fdisk/fdisk.c:476 fdisk/fdisk.c:492 fdisk/fdisk.c:509
+msgid "   g   create an IRIX (SGI) partition table"
+msgstr ""
+
+#: fdisk/fdisk.c:508
+msgid "   f   fix partition order"
+msgstr ""
+
+#: fdisk/fdisk.c:511
+msgid "   i   change the disk identifier"
+msgstr ""
+
+#: fdisk/fdisk.c:627
+#, c-format
+msgid "You must set"
+msgstr ""
+
+#: fdisk/fdisk.c:644
+msgid "heads"
+msgstr ""
+
+#: fdisk/fdisk.c:646 fdisk/fdisk.c:1357 fdisk/sfdisk.c:945
+msgid "sectors"
+msgstr ""
+
+#: fdisk/fdisk.c:652
+#, c-format
+msgid ""
+"%s%s.\n"
+"You can do this from the extra functions menu.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:653
+msgid " and "
+msgstr ""
+
+#: fdisk/fdisk.c:670
+#, c-format
+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 ""
+
+#: fdisk/fdisk.c:683
+#, 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 %d-byte sectors. Use parted(1) and GUID \n"
+"partition table format (GPT).\n"
+"\n"
+msgstr ""
+
+#: fdisk/fdisk.c:708
+#, c-format
+msgid "Bad offset in primary extended partition\n"
+msgstr ""
+
+#: fdisk/fdisk.c:722
+#, c-format
+msgid ""
+"Warning: omitting partitions after #%d.\n"
+"They will be deleted if you save this partition table.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:741
+#, c-format
+msgid "Warning: extra link pointer in partition table %d\n"
+msgstr ""
+
+#: fdisk/fdisk.c:749
+#, c-format
+msgid "Warning: ignoring extra data in partition table %d\n"
+msgstr ""
+
+#: fdisk/fdisk.c:782
+#, c-format
+msgid "omitting empty partition (%d)\n"
+msgstr ""
+
+#: fdisk/fdisk.c:801
+#, c-format
+msgid "Disk identifier: 0x%08x\n"
+msgstr ""
+
+#: fdisk/fdisk.c:810
+#, c-format
+msgid "New disk identifier (current 0x%08x): "
+msgstr ""
+
+#: fdisk/fdisk.c:829
+#, c-format
+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 ""
+
+#: fdisk/fdisk.c:861
+#, c-format
+msgid "Note: sector size is %d (not %d)\n"
+msgstr ""
+
+#: fdisk/fdisk.c:990
+#, c-format
+msgid "You will not be able to write the partition table.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1022
+#, c-format
+msgid ""
+"This disk has both DOS and BSD magic.\n"
+"Give the 'b' command to go to BSD mode.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1032
+#, c-format
+msgid ""
+"Device contains neither a valid DOS partition table, nor Sun, SGI or OSF "
+"disklabel\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1049
+#, c-format
+msgid "Internal error\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1062
+#, c-format
+msgid "Ignoring extra extended partition %d\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1074
+#, c-format
+msgid ""
+"Warning: invalid flag 0x%04x of partition table %d will be corrected by w"
+"(rite)\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1096
+#, c-format
+msgid ""
+"\n"
+"got EOF thrice - exiting..\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1135
+msgid "Hex code (type L to list codes): "
+msgstr ""
+
+#: fdisk/fdisk.c:1175
+#, c-format
+msgid "%s (%u-%u, default %u): "
+msgstr ""
+
+#: fdisk/fdisk.c:1242
+#, c-format
+msgid "Unsupported suffix: '%s'.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1243
+#, c-format
+msgid ""
+"Supported: 10^N: KB (KiloByte), MB (MegaByte), GB (GigaByte)\n"
+"            2^N: K  (KibiByte), M  (MebiByte), G  (GibiByte)\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1269
+#, c-format
+msgid "Using default value %u\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1273
+#, c-format
+msgid "Value out of range.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1283
+msgid "Partition number"
+msgstr ""
+
+#: fdisk/fdisk.c:1294
+#, c-format
+msgid "Warning: partition %d has empty type\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1316 fdisk/fdisk.c:1342
+#, c-format
+msgid "Selected partition %d\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1319
+#, c-format
+msgid "No partition is defined yet!\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1345
+#, c-format
+msgid "All primary partitions have been defined already!\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1355
+msgid "cylinder"
+msgstr ""
+
+#: fdisk/fdisk.c:1355
+msgid "sector"
+msgstr ""
+
+#: fdisk/fdisk.c:1364
+#, c-format
+msgid "Changing display/entry units to %s\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1375
+#, c-format
+msgid "WARNING: Partition %d is an extended partition\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1386
+#, c-format
+msgid "DOS Compatibility flag is set\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1390
+#, c-format
+msgid "DOS Compatibility flag is not set\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1490
+#, c-format
+msgid "Partition %d does not exist yet!\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1495
+#, 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 ""
+
+#: fdisk/fdisk.c:1504
+#, c-format
+msgid ""
+"You cannot change a partition into an extended one or vice versa\n"
+"Delete it first.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1513
+#, 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 ""
+
+#: fdisk/fdisk.c:1519
+#, 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 ""
+
+#: fdisk/fdisk.c:1536
+#, c-format
+msgid "Changed system type of partition %d to %x (%s)\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1539
+#, c-format
+msgid "System type of partition %d is unchanged: %x (%s)\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1591
+#, c-format
+msgid "Partition %d has different physical/logical beginnings (non-Linux?):\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1593 fdisk/fdisk.c:1601 fdisk/fdisk.c:1610 fdisk/fdisk.c:1620
+#, c-format
+msgid "     phys=(%d, %d, %d) "
+msgstr ""
+
+#: fdisk/fdisk.c:1594 fdisk/fdisk.c:1602
+#, c-format
+msgid "logical=(%d, %d, %d)\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1599
+#, c-format
+msgid "Partition %d has different physical/logical endings:\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1608
+#, c-format
+msgid "Partition %i does not start on cylinder boundary:\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1611
+#, c-format
+msgid "should be (%d, %d, 1)\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1617
+#, c-format
+msgid "Partition %i does not end on cylinder boundary.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1621
+#, c-format
+msgid "should be (%d, %d, %d)\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1633
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld MB, %lld bytes\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1637
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld.%ld GB, %lld bytes\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1640
+#, fuzzy, c-format
+msgid "%d heads, %llu sectors/track, %d cylinders"
+msgstr "Buruak: %d   Sektoreak pistako: %d   Zilindroak: %lld"
+
+#: fdisk/fdisk.c:1643
+#, c-format
+msgid ", total %llu sectors"
+msgstr ""
+
+#: fdisk/fdisk.c:1646
+#, c-format
+msgid "Units = %s of %d * %d = %d bytes\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1757
+#, c-format
+msgid ""
+"Nothing to do. Ordering is correct already.\n"
+"\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1785
+#, fuzzy, c-format
+msgid "Done.\n"
+msgstr ""
+"Eginda\n"
+"\n"
+
+#: fdisk/fdisk.c:1813
+#, c-format
+msgid ""
+"This doesn't look like a partition table\n"
+"Probably you selected the wrong device.\n"
+"\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1826
+#, c-format
+msgid "%*s Boot      Start         End      Blocks   Id  System\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1827 fdisk/fdisksgilabel.c:223 fdisk/fdisksunlabel.c:603
+msgid "Device"
+msgstr "Gailua"
+
+#: fdisk/fdisk.c:1864
+#, c-format
+msgid ""
+"\n"
+"Partition table entries are not in disk order\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1874
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %d cylinders\n"
+"\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1876
+#, c-format
+msgid "Nr AF  Hd Sec  Cyl  Hd Sec  Cyl     Start      Size ID\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1922
+#, c-format
+msgid "Warning: partition %d contains sector 0\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1925
+#, c-format
+msgid "Partition %d: head %d greater than maximum %d\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1928
+#, c-format
+msgid "Partition %d: sector %d greater than maximum %llu\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1931
+#, c-format
+msgid "Partitions %d: cylinder %d greater than maximum %d\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1935
+#, c-format
+msgid "Partition %d: previous sectors %d disagrees with total %d\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1968
+#, c-format
+msgid "Warning: bad start-of-data in partition %d\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1976
+#, c-format
+msgid "Warning: partition %d overlaps partition %d.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1996
+#, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2001
+#, c-format
+msgid "Logical partition %d not entirely in partition %d\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2007
+#, c-format
+msgid "Total allocated sectors %llu greater than the maximum %llu\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2010
+#, c-format
+msgid "%lld unallocated %d-byte sectors\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2025 fdisk/fdisksgilabel.c:633 fdisk/fdisksunlabel.c:416
+#, c-format
+msgid "Partition %d is already defined.  Delete it before re-adding it.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2067
+#, c-format
+msgid "Sector %llu is already allocated\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2103
+#, c-format
+msgid "No free sectors available\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2112
+#, c-format
+msgid "Last %1$s, +%2$s or +size{K,M,G}"
+msgstr ""
+
+#: fdisk/fdisk.c:2178
+#, 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 ""
+
+#: fdisk/fdisk.c:2187
+#, 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 ""
+
+#: fdisk/fdisk.c:2207
+#, c-format
+msgid "You must delete some partition and add an extended partition first\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2210
+#, c-format
+msgid "All logical partitions are in use\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2211
+#, c-format
+msgid "Adding a primary partition\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2216
+#, c-format
+msgid ""
+"Command action\n"
+"   %s\n"
+"   p   primary partition (1-4)\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2218
+msgid "l   logical (5 or over)"
+msgstr ""
+
+#: fdisk/fdisk.c:2218
+msgid "e   extended"
+msgstr ""
+
+#: fdisk/fdisk.c:2237
+#, c-format
+msgid "Invalid partition number for type `%c'\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2273
+#, c-format
+msgid ""
+"The partition table has been altered!\n"
+"\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2287
+#, c-format
+msgid "Calling ioctl() to re-read partition table.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2296
+#, c-format
+msgid ""
+"\n"
+"WARNING: Re-reading the partition table failed with error %d: %s.\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 ""
+
+#: fdisk/fdisk.c:2304
+#, 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 ""
+
+#: fdisk/fdisk.c:2310
+#, c-format
+msgid ""
+"\n"
+"Error closing file\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2314
+#, c-format
+msgid "Syncing disks.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2361
+#, c-format
+msgid "Partition %d has no data area\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2366
+msgid "New beginning of data"
+msgstr ""
+
+#: fdisk/fdisk.c:2382
+msgid "Expert command (m for help): "
+msgstr ""
+
+#: fdisk/fdisk.c:2395
+msgid "Number of cylinders"
+msgstr ""
+
+#: fdisk/fdisk.c:2422
+msgid "Number of heads"
+msgstr ""
+
+#: fdisk/fdisk.c:2449
+msgid "Number of sectors"
+msgstr ""
+
+#: fdisk/fdisk.c:2452
+#, c-format
+msgid "Warning: setting sector offset for DOS compatiblity\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2511
+#, 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 ""
+
+#: fdisk/fdisk.c:2533
+#, c-format
+msgid "Disk %s doesn't contain a valid partition table\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2544
+#, c-format
+msgid "Cannot open %s\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2563 fdisk/sfdisk.c:2618
+#, c-format
+msgid "cannot open %s\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2583
+#, c-format
+msgid "%c: unknown command\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2653
+#, c-format
+msgid "This kernel finds the sector size itself - -b option ignored\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2657
+#, c-format
+msgid ""
+"Warning: the -b (set sector size) option should be used with one specified "
+"device\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2717
+#, c-format
+msgid "Detected an OSF/1 disklabel on %s, entering disklabel mode.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2727
+msgid "Command (m for help): "
+msgstr ""
+
+#: fdisk/fdisk.c:2743
+#, c-format
+msgid ""
+"\n"
+"The current boot file is: %s\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2745
+msgid "Please enter the name of the new boot file: "
+msgstr ""
+
+#: fdisk/fdisk.c:2747
+#, c-format
+msgid "Boot file unchanged\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2820
+#, c-format
+msgid ""
+"\n"
+"\tSorry, no experts menu for SGI partition tables available.\n"
+"\n"
+msgstr ""
+
+#: fdisk/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 ""
+
+#: fdisk/fdisksgilabel.c:81
+msgid "SGI volhdr"
+msgstr "SGI volhdr"
+
+#: fdisk/fdisksgilabel.c:82
+msgid "SGI trkrepl"
+msgstr "SGI trkrepl"
+
+#: fdisk/fdisksgilabel.c:83
+msgid "SGI secrepl"
+msgstr "SGI secrepl"
+
+#: fdisk/fdisksgilabel.c:84
+msgid "SGI raw"
+msgstr "SGI raw"
+
+#: fdisk/fdisksgilabel.c:85
+msgid "SGI bsd"
+msgstr "SGI bsd"
+
+#: fdisk/fdisksgilabel.c:86
+msgid "SGI sysv"
+msgstr "SGI sysv"
+
+#: fdisk/fdisksgilabel.c:87
+msgid "SGI volume"
+msgstr "SGI volume"
+
+#: fdisk/fdisksgilabel.c:88
+msgid "SGI efs"
+msgstr "SGI efs"
+
+#: fdisk/fdisksgilabel.c:89
+msgid "SGI lvol"
+msgstr "SGI lvol"
+
+#: fdisk/fdisksgilabel.c:90
+msgid "SGI rlvol"
+msgstr "SGI rlvol"
+
+#: fdisk/fdisksgilabel.c:91
+msgid "SGI xfs"
+msgstr "SGI xfs"
+
+#: fdisk/fdisksgilabel.c:92
+msgid "SGI xfslog"
+msgstr "SGI xfslog"
+
+#: fdisk/fdisksgilabel.c:93
+msgid "SGI xlv"
+msgstr "SGI xlv"
+
+#: fdisk/fdisksgilabel.c:94
+msgid "SGI xvm"
+msgstr "SGI xvm"
+
+#: fdisk/fdisksgilabel.c:95 fdisk/fdisksunlabel.c:55
+msgid "Linux swap"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:96 fdisk/fdisksunlabel.c:56
+msgid "Linux native"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:97 fdisk/fdisksunlabel.c:57 fdisk/i386_sys_types.c:63
+msgid "Linux LVM"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:98
+msgid "Linux RAID"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:164
+#, c-format
+msgid ""
+"According to MIPS Computer Systems, Inc the Label must not contain more than "
+"512 bytes\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:183
+#, c-format
+msgid "Detected sgi disklabel with wrong checksum.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:201
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors\n"
+"%d cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * %d bytes\n"
+"\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:214
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors, %d cylinders\n"
+"Units = %s of %d * %d bytes\n"
+"\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:221
+#, c-format
+msgid ""
+"----- partitions -----\n"
+"Pt# %*s  Info     Start       End   Sectors  Id  System\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:243
+#, c-format
+msgid ""
+"----- Bootinfo -----\n"
+"Bootfile: %s\n"
+"----- Directory Entries -----\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:251
+#, c-format
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr "%2d: %-10s sektore%5u tamainua%8u\n"
+
+#: fdisk/fdisksgilabel.c:305
+#, 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 ""
+
+#: fdisk/fdisksgilabel.c:311
+#, c-format
+msgid ""
+"\n"
+"\tName of Bootfile too long:  16 bytes maximum.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:316
+#, c-format
+msgid ""
+"\n"
+"\tBootfile must have a fully qualified pathname.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:323
+#, 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 ""
+
+#: fdisk/fdisksgilabel.c:349
+#, c-format
+msgid ""
+"\n"
+"\tBootfile is changed to \"%s\".\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:439
+#, c-format
+msgid "More than one entire disk entry present.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:446 fdisk/fdisksunlabel.c:388
+#, c-format
+msgid "No partitions defined\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:452
+#, c-format
+msgid "IRIX likes when Partition 11 covers the entire disk.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:454
+#, c-format
+msgid ""
+"The entire disk partition should start at block 0,\n"
+"not at diskblock %d.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:460
+#, c-format
+msgid ""
+"The entire disk partition is only %d diskblock large,\n"
+"but the disk is %d diskblocks long.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:466
+#, c-format
+msgid "One Partition (#11) should cover the entire disk.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:476
+#, c-format
+msgid "Partition %d does not start on cylinder boundary.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:482
+#, c-format
+msgid "Partition %d does not end on cylinder boundary.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:489
+#, c-format
+msgid "The Partition %d and %d overlap by %d sectors.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:497 fdisk/fdisksgilabel.c:515
+#, c-format
+msgid "Unused gap of %8u sectors - sectors %8u-%u\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:526
+#, c-format
+msgid ""
+"\n"
+"The boot partition does not exist.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:529
+#, c-format
+msgid ""
+"\n"
+"The swap partition does not exist.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:533
+#, c-format
+msgid ""
+"\n"
+"The swap partition has no swap type.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:536
+#, c-format
+msgid "\tYou have chosen an unusual boot file name.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:545
+#, c-format
+msgid "Sorry You may change the Tag of non-empty partitions.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:551
+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 ""
+
+#: fdisk/fdisksgilabel.c:556 fdisk/fdisksunlabel.c:554
+msgid "YES\n"
+msgstr "BAI\n"
+
+#: fdisk/fdisksgilabel.c:581
+#, c-format
+msgid "Do You know, You got a partition overlap on the disk?\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:639
+#, c-format
+msgid "Attempting to generate entire disk entry automatically.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:644
+#, c-format
+msgid "The entire disk is already covered with partitions.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:648
+#, c-format
+msgid "You got a partition overlap on the disk. Fix it first!\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:657 fdisk/fdisksgilabel.c:686
+#, c-format
+msgid ""
+"It is highly recommended that eleventh partition\n"
+"covers the entire disk and is of type `SGI volume'\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:673
+#, c-format
+msgid "You will get a partition overlap on the disk. Fix it first!\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:678
+#, c-format
+msgid " Last %s"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:708
+#, c-format
+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 ""
+
+#: fdisk/fdisksgilabel.c:731 fdisk/fdisksunlabel.c:227
+#, c-format
+msgid ""
+"Warning:  BLKGETSIZE ioctl failed on %s.  Using geometry cylinder value of %"
+"d.\n"
+"This value may be truncated for devices > 33.8 GB.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:745
+#, c-format
+msgid "Trying to keep parameters of partition %d.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:747
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:43
+msgid "Unassigned"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:45
+msgid "SunOS root"
+msgstr "SunOS root"
+
+#: fdisk/fdisksunlabel.c:46
+msgid "SunOS swap"
+msgstr "SunOS swap"
+
+#: fdisk/fdisksunlabel.c:47
+msgid "SunOS usr"
+msgstr "SunOS usr"
+
+#: fdisk/fdisksunlabel.c:48
+msgid "Whole disk"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:49
+msgid "SunOS stand"
+msgstr "SunOS stand"
+
+#: fdisk/fdisksunlabel.c:50
+msgid "SunOS var"
+msgstr "SunOS var"
+
+#: fdisk/fdisksunlabel.c:51
+msgid "SunOS home"
+msgstr "SunOS home"
+
+#: fdisk/fdisksunlabel.c:52
+#, fuzzy
+msgid "SunOS alt sectors"
+msgstr "SunOS usr"
+
+#: fdisk/fdisksunlabel.c:53
+#, fuzzy
+msgid "SunOS cachefs"
+msgstr "SunOS home"
+
+#: fdisk/fdisksunlabel.c:54
+#, fuzzy
+msgid "SunOS reserved"
+msgstr "SunOS usr"
+
+#: fdisk/fdisksunlabel.c:58 fdisk/i386_sys_types.c:103
+msgid "Linux raid autodetect"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:141
+#, 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 ""
+
+#: fdisk/fdisksunlabel.c:153
+#, c-format
+msgid "Detected sun disklabel with wrong version [0x%08x].\n"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:158
+#, c-format
+msgid "Detected sun disklabel with wrong sanity [0x%08x].\n"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:163
+#, c-format
+msgid "Detected sun disklabel with wrong num_partitions [%u].\n"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:168
+#, c-format
+msgid ""
+"Warning: Wrong values need to be fixed up and will be corrected by w(rite)\n"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:198
+#, c-format
+msgid ""
+"Building a new sun disklabel. Changes will remain in memory only,\n"
+"until you decide to write them. After that, of course, the previous\n"
+"content won't be recoverable.\n"
+"\n"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:236
+msgid "Sectors/track"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:351
+#, c-format
+msgid "Partition %d doesn't end on cylinder boundary\n"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:371
+#, c-format
+msgid "Partition %d overlaps with others in sectors %d-%d\n"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:393
+#, c-format
+msgid "Unused gap - sectors 0-%d\n"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:395 fdisk/fdisksunlabel.c:401
+#, c-format
+msgid "Unused gap - sectors %d-%d\n"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:426
+#, c-format
+msgid ""
+"Other partitions already cover the whole disk.\n"
+"Delete some/shrink them before retry.\n"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:449
+#, c-format
+msgid ""
+"It is highly recommended that the third partition covers the whole disk\n"
+"and is of type `Whole disk'\n"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:477
+#, c-format
+msgid "Sector %d is already allocated\n"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:507
+#, 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 ""
+
+#: fdisk/fdisksunlabel.c:534
+#, 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 ""
+
+#: fdisk/fdisksunlabel.c:549
+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 ""
+
+#: fdisk/fdisksunlabel.c:581
+#, c-format
+msgid ""
+"\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"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:597
+#, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %d heads, %llu sectors, %d cylinders\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:602
+#, c-format
+msgid "%*s Flag    Start       End    Blocks   Id  System\n"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:630
+msgid "Number of alternate cylinders"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:642
+msgid "Extra sectors per cylinder"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:649
+msgid "Interleave factor"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:656
+msgid "Rotation speed (rpm)"
+msgstr "Bira minutuko (rpm)"
+
+#: fdisk/fdisksunlabel.c:663
+msgid "Number of physical cylinders"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:6
+msgid "Empty"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:7
+msgid "FAT12"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:8
+msgid "XENIX root"
+msgstr "XENIX root"
+
+#: fdisk/i386_sys_types.c:9
+msgid "XENIX usr"
+msgstr "XENIX usr"
+
+#: fdisk/i386_sys_types.c:10
+msgid "FAT16 <32M"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:11
+msgid "Extended"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:12
+msgid "FAT16"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:13
+msgid "HPFS/NTFS"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:14
+msgid "AIX"
+msgstr "AIX"
+
+#: fdisk/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:17
+msgid "W95 FAT32"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:18
+msgid "W95 FAT32 (LBA)"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:19
+msgid "W95 FAT16 (LBA)"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:20
+msgid "W95 Ext'd (LBA)"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:21
+msgid "OPUS"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:22
+msgid "Hidden FAT12"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:23
+msgid "Compaq diagnostics"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:24
+msgid "Hidden FAT16 <32M"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:25
+msgid "Hidden FAT16"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:26
+msgid "Hidden HPFS/NTFS"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:27
+msgid "AST SmartSleep"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:28
+msgid "Hidden W95 FAT32"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:29
+msgid "Hidden W95 FAT32 (LBA)"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:30
+msgid "Hidden W95 FAT16 (LBA)"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:32
+msgid "Plan 9"
+msgstr "Plan 9"
+
+#: fdisk/i386_sys_types.c:33
+msgid "PartitionMagic recovery"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:34
+msgid "Venix 80286"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:35
+msgid "PPC PReP Boot"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:36
+msgid "SFS"
+msgstr "SFS"
+
+#: fdisk/i386_sys_types.c:37
+msgid "QNX4.x"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:38
+msgid "QNX4.x 2nd part"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:39
+msgid "QNX4.x 3rd part"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:40
+msgid "OnTrack DM"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:41
+msgid "OnTrack DM6 Aux1"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:42
+msgid "CP/M"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:43
+msgid "OnTrack DM6 Aux3"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:44
+msgid "OnTrackDM6"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:45
+msgid "EZ-Drive"
+msgstr "EZ-Drive"
+
+#: fdisk/i386_sys_types.c:46
+msgid "Golden Bow"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:47
+msgid "Priam Edisk"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:48 fdisk/i386_sys_types.c:92
+#: fdisk/i386_sys_types.c:98 fdisk/i386_sys_types.c:99
+msgid "SpeedStor"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:49
+msgid "GNU HURD or SysV"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:50
+msgid "Novell Netware 286"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:51
+msgid "Novell Netware 386"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:52
+msgid "DiskSecure Multi-Boot"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:53
+msgid "PC/IX"
+msgstr "PC/IX"
+
+#: fdisk/i386_sys_types.c:54
+msgid "Old Minix"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:55
+msgid "Minix / old Linux"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:56
+msgid "Linux swap / Solaris"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:58
+msgid "OS/2 hidden C: drive"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:59
+msgid "Linux extended"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:60 fdisk/i386_sys_types.c:61
+msgid "NTFS volume set"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:62
+msgid "Linux plaintext"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:64
+msgid "Amoeba"
+msgstr "Amoeba"
+
+#: fdisk/i386_sys_types.c:65
+msgid "Amoeba BBT"
+msgstr "Amoeba BBT"
+
+#: fdisk/i386_sys_types.c:66
+msgid "BSD/OS"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:67
+msgid "IBM Thinkpad hibernation"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:68
+msgid "FreeBSD"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:69
+msgid "OpenBSD"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:70
+msgid "NeXTSTEP"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:71
+msgid "Darwin UFS"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:72
+msgid "NetBSD"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:73
+msgid "Darwin boot"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:74
+#, fuzzy
+msgid "HFS / HFS+"
+msgstr "OS/2 HPFS"
+
+#: fdisk/i386_sys_types.c:75
+msgid "BSDI fs"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:76
+msgid "BSDI swap"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:77
+msgid "Boot Wizard hidden"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:78
+msgid "Solaris boot"
+msgstr "Solaris boot"
+
+#: fdisk/i386_sys_types.c:79
+msgid "Solaris"
+msgstr "Solaris"
+
+#: fdisk/i386_sys_types.c:80
+msgid "DRDOS/sec (FAT-12)"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:81
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:82
+msgid "DRDOS/sec (FAT-16)"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:83
+msgid "Syrinx"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:84
+msgid "Non-FS data"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:85
+msgid "CP/M / CTOS / ..."
+msgstr ""
+
+#: fdisk/i386_sys_types.c:87
+msgid "Dell Utility"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:88
+msgid "BootIt"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:89
+msgid "DOS access"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:91
+msgid "DOS R/O"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:94
+msgid "BeOS fs"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:95
+msgid "GPT"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:96
+msgid "EFI (FAT-12/16/32)"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:97
+msgid "Linux/PA-RISC boot"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:100
+msgid "DOS secondary"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:101
+msgid "VMware VMFS"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:102
+msgid "VMware VMKCORE"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:106
+msgid "LANstep"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:107
+msgid "BBT"
+msgstr ""
+
+#: fdisk/sfdisk.c:179
+#, c-format
+msgid "seek error on %s - cannot seek to %lu\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:184
+#, c-format
+msgid "seek error: wanted 0x%08x%08x, got 0x%08x%08x\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:230
+msgid "out of memory - giving up\n"
+msgstr "memoriarik ez - uzten\n"
+
+#: fdisk/sfdisk.c:235 fdisk/sfdisk.c:318
+#, c-format
+msgid "read error on %s - cannot read sector %lu\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:253
+#, c-format
+msgid "ERROR: sector %lu does not have an msdos signature\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:268
+#, c-format
+msgid "write error on %s - cannot write sector %lu\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:306
+#, c-format
+msgid "cannot open partition sector save file (%s)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:324
+#, c-format
+msgid "write error on %s\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:350
+#, c-format
+msgid "cannot stat partition restore file (%s)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:355
+msgid "partition restore file has wrong size - not restoring\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:359
+msgid "out of memory?\n"
+msgstr "memoriarik ez?\n"
+
+#: fdisk/sfdisk.c:365
+#, c-format
+msgid "cannot open partition restore file (%s)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:371
+#, c-format
+msgid "error reading %s\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:378
+#, c-format
+msgid "cannot open device %s for writing\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:390
+#, c-format
+msgid "error writing sector %lu on %s\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:455
+#, c-format
+msgid "Disk %s: cannot get geometry\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:472
+#, c-format
+msgid "Disk %s: cannot get size\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:505
+#, 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 ""
+
+#: fdisk/sfdisk.c:512
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu heads\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:515
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu sectors\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:519
+#, c-format
+msgid "Warning: BLKGETSIZE/HDIO_GETGEO says that there are %lu cylinders\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:524
+#, 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 ""
+
+#: fdisk/sfdisk.c:528
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %lu cylinders, %lu heads, %lu sectors/track\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:610
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for head: %lu (should be in 0-%lu)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:615
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for sector: %lu (should be in 1-%"
+"lu)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:620
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for cylinders: %lu (should be in 0-%"
+"lu)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:660
+#, c-format
+msgid ""
+"Id  Name\n"
+"\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:821
+#, c-format
+msgid "Re-reading the partition table ...\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:827
+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 ""
+
+#: fdisk/sfdisk.c:833
+#, c-format
+msgid "Error closing %s\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:871
+#, c-format
+msgid "%s: no such partition\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:894
+msgid "unrecognized format - using sectors\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:944
+#, c-format
+msgid "unimplemented format - using %s\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:948
+#, c-format
+msgid ""
+"Units = cylinders of %lu bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:951
+#, c-format
+msgid "   Device Boot Start     End   #cyls    #blocks   Id  System\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:956
+#, c-format
+msgid ""
+"Units = sectors of 512 bytes, counting from %d\n"
+"\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:958
+#, c-format
+msgid "   Device Boot    Start       End   #sectors  Id  System\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:961
+#, c-format
+msgid ""
+"Units = blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:963
+#, c-format
+msgid "   Device Boot   Start       End    #blocks   Id  System\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:966
+#, c-format
+msgid ""
+"Units = mebibytes of 1048576 bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:968
+#, c-format
+msgid "   Device Boot Start   End    MiB    #blocks   Id  System\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1128
+#, c-format
+msgid "\t\tstart: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1135
+#, c-format
+msgid "\t\tend: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1138
+#, c-format
+msgid "partition ends on cylinder %ld, beyond the end of the disk\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1148
+msgid "No partitions found\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1152
+#, 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 ""
+
+#: fdisk/sfdisk.c:1201
+msgid "no partition table present.\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1203
+#, c-format
+msgid "strange, only %d partitions defined.\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1212
+#, c-format
+msgid "Warning: partition %s has size 0 but is not marked Empty\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1215
+#, c-format
+msgid "Warning: partition %s has size 0 and is bootable\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1218
+#, c-format
+msgid "Warning: partition %s has size 0 and nonzero start\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1229
+#, c-format
+msgid "Warning: partition %s "
+msgstr ""
+
+#: fdisk/sfdisk.c:1230
+#, c-format
+msgid "is not contained in partition %s\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1241
+#, c-format
+msgid "Warning: partitions %s "
+msgstr ""
+
+#: fdisk/sfdisk.c:1242
+#, c-format
+msgid "and %s overlap\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1253
+#, c-format
+msgid ""
+"Warning: partition %s contains part of the partition table (sector %lu),\n"
+"and will destroy it when filled\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1265
+#, c-format
+msgid "Warning: partition %s starts at sector 0\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1269
+#, c-format
+msgid "Warning: partition %s extends past end of disk\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1284
+msgid ""
+"Among the primary partitions, at most one can be extended\n"
+" (although this is not a problem under Linux)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1302
+#, c-format
+msgid "Warning: partition %s does not start at a cylinder boundary\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1308
+#, c-format
+msgid "Warning: partition %s does not end at a cylinder boundary\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1326
+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 ""
+
+#: fdisk/sfdisk.c:1333
+msgid ""
+"Warning: usually one can boot from primary partitions only\n"
+"LILO disregards the `bootable' flag.\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1339
+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 ""
+
+#: fdisk/sfdisk.c:1353
+msgid "start"
+msgstr ""
+
+#: fdisk/sfdisk.c:1356
+#, c-format
+msgid ""
+"partition %s: start: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1362
+msgid "end"
+msgstr ""
+
+#: fdisk/sfdisk.c:1365
+#, c-format
+msgid "partition %s: end: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1368
+#, c-format
+msgid "partition %s ends on cylinder %ld, beyond the end of the disk\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1393
+#, c-format
+msgid ""
+"Warning: shifted start of the extd partition from %ld to %ld\n"
+"(For listing purposes only. Do not change its contents.)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1399
+msgid ""
+"Warning: extended partition does not start at a cylinder boundary.\n"
+"DOS and Linux will interpret the contents differently.\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1417 fdisk/sfdisk.c:1494
+#, c-format
+msgid "too many partitions - ignoring those past nr (%d)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1432
+msgid "tree of partitions?\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1540
+msgid "detected Disk Manager - unable to handle that\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1547
+msgid "DM6 signature found - giving up\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1567
+msgid "strange..., an extended partition of size 0?\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1574 fdisk/sfdisk.c:1585
+msgid "strange..., a BSD partition of size 0?\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1619
+#, c-format
+msgid " %s: unrecognized partition table type\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1631
+msgid "-n flag was given: Nothing changed\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1647
+msgid "Failed saving the old sectors - aborting\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1652
+#, c-format
+msgid "Failed writing the partition on %s\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1729
+msgid "long or incomplete input line - quitting\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1765
+#, c-format
+msgid "input error: `=' expected after %s field\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1772
+#, c-format
+msgid "input error: unexpected character %c after %s field\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1778
+#, c-format
+msgid "unrecognized input: %s\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1820
+msgid "number too big\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1824
+msgid "trailing junk after number\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1948
+msgid "no room for partition descriptor\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1981
+msgid "cannot build surrounding extended partition\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2032
+msgid "too many input fields\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2066
+msgid "No room for more\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2085
+msgid "Illegal type\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2117
+#, c-format
+msgid "Warning: given size (%lu) exceeds max allowable size (%lu)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2123
+msgid "Warning: empty partition\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2137
+#, c-format
+msgid "Warning: bad partition start (earliest %lu)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2150
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2167 fdisk/sfdisk.c:2180
+msgid "partial c,h,s specification?\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2191
+msgid "Extended partition not where expected\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2223
+msgid "bad input\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2245
+msgid "too many partitions\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2278
+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 ""
+
+#: fdisk/sfdisk.c:2304
+#, c-format
+msgid "Usage: %s [options] device ...\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2305
+msgid "device: something like /dev/hda or /dev/sda"
+msgstr ""
+
+#: fdisk/sfdisk.c:2306
+msgid "useful options:"
+msgstr ""
+
+#: fdisk/sfdisk.c:2307
+msgid "    -s [or --show-size]: list size of a partition"
+msgstr ""
+
+#: fdisk/sfdisk.c:2308
+msgid "    -c [or --id]:        print or change partition Id"
+msgstr ""
+
+#: fdisk/sfdisk.c:2309
+msgid "    -l [or --list]:      list partitions of each device"
+msgstr ""
+
+#: fdisk/sfdisk.c:2310
+msgid "    -d [or --dump]:      idem, but in a format suitable for later input"
+msgstr ""
+
+#: fdisk/sfdisk.c:2311
+msgid "    -i [or --increment]: number cylinders etc. from 1 instead of from 0"
+msgstr ""
+
+#: fdisk/sfdisk.c:2312
+msgid ""
+"    -uS, -uB, -uC, -uM:  accept/report in units of sectors/blocks/cylinders/"
+"MB"
+msgstr ""
+
+#: fdisk/sfdisk.c:2313
+msgid "    -T [or --list-types]:list the known partition types"
+msgstr ""
+
+#: fdisk/sfdisk.c:2314
+msgid "    -D [or --DOS]:       for DOS-compatibility: waste a little space"
+msgstr ""
+
+#: fdisk/sfdisk.c:2315
+msgid "    -R [or --re-read]:   make kernel reread partition table"
+msgstr ""
+
+#: fdisk/sfdisk.c:2316
+msgid "    -N# :                change only the partition with number #"
+msgstr ""
+
+#: fdisk/sfdisk.c:2317
+msgid "    -n :                 do not actually write to disk"
+msgstr ""
+
+#: fdisk/sfdisk.c:2318
+msgid ""
+"    -O file :            save the sectors that will be overwritten to file"
+msgstr ""
+
+#: fdisk/sfdisk.c:2319
+msgid "    -I file :            restore these sectors again"
+msgstr ""
+
+#: fdisk/sfdisk.c:2320
+msgid "    -v [or --version]:   print version"
+msgstr ""
+
+#: fdisk/sfdisk.c:2321
+msgid "    -? [or --help]:      print this message"
+msgstr ""
+
+#: fdisk/sfdisk.c:2322
+msgid "dangerous options:"
+msgstr ""
+
+#: fdisk/sfdisk.c:2323
+msgid "    -g [or --show-geometry]: print the kernel's idea of the geometry"
+msgstr ""
+
+#: fdisk/sfdisk.c:2324
+msgid ""
+"    -G [or --show-pt-geometry]: print geometry guessed from the partition "
+"table"
+msgstr ""
+
+#: fdisk/sfdisk.c:2325
+msgid ""
+"    -x [or --show-extended]: also list extended partitions on output\n"
+"                             or expect descriptors for them on input"
+msgstr ""
+
+#: fdisk/sfdisk.c:2327
+msgid ""
+"    -L  [or --Linux]:      do not complain about things irrelevant for Linux"
+msgstr ""
+
+#: fdisk/sfdisk.c:2328
+msgid "    -q  [or --quiet]:      suppress warning messages"
+msgstr ""
+
+#: fdisk/sfdisk.c:2329
+msgid "    You can override the detected geometry using:"
+msgstr ""
+
+#: fdisk/sfdisk.c:2330
+msgid "    -C# [or --cylinders #]:set the number of cylinders to use"
+msgstr ""
+
+#: fdisk/sfdisk.c:2331
+msgid "    -H# [or --heads #]:    set the number of heads to use"
+msgstr ""
+
+#: fdisk/sfdisk.c:2332
+msgid "    -S# [or --sectors #]:  set the number of sectors to use"
+msgstr ""
+
+#: fdisk/sfdisk.c:2333
+msgid "You can disable all consistency checking with:"
+msgstr ""
+
+#: fdisk/sfdisk.c:2334
+msgid "    -f  [or --force]:      do what I say, even if it is stupid"
+msgstr ""
+
+#: fdisk/sfdisk.c:2340
+msgid "Usage:"
+msgstr ""
+
+#: fdisk/sfdisk.c:2341
+#, c-format
+msgid "%s device\t\t list active partitions on device\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2342
+#, c-format
+msgid "%s device n1 n2 ... activate partitions n1 ..., inactivate the rest\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2343
+#, c-format
+msgid "%s -An device\t activate partition n, inactivate the other ones\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2463
+#, 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 ""
+
+#: fdisk/sfdisk.c:2466
+#, c-format
+msgid "Use the --force flag to overrule this check.\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2505
+msgid "no command?\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2637
+#, c-format
+msgid "total: %llu blocks\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2680
+msgid "usage: sfdisk --print-id device partition-number\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2682
+msgid "usage: sfdisk --change-id device partition-number Id\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2684
+msgid "usage: sfdisk --id device partition-number [Id]\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2691
+msgid "can specify only one device (except with -l or -s)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2717
+#, c-format
+msgid "cannot open %s read-write\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2719
+#, c-format
+msgid "cannot open %s for reading\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2744
+#, c-format
+msgid "%s: OK\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2763 fdisk/sfdisk.c:2796
+#, c-format
+msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2815
+#, c-format
+msgid "Cannot get size of %s\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2895
+#, c-format
+msgid "bad active byte: 0x%x instead of 0x80\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2913 fdisk/sfdisk.c:2968 fdisk/sfdisk.c:3001
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+"Eginda\n"
+"\n"
+
+#: fdisk/sfdisk.c:2922
+#, 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 ""
+
+#: fdisk/sfdisk.c:2938
+#, c-format
+msgid "partition %s has id %x and is not hidden\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2997
+#, c-format
+msgid "Bad Id %lx\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3014
+msgid "This disk is currently in use.\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3033
+#, c-format
+msgid "Fatal error: cannot find %s\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3036
+#, c-format
+msgid "Warning: %s is not a block device\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3042
+msgid "Checking that no-one is using this disk right now ...\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3044
+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 ""
+
+#: fdisk/sfdisk.c:3048
+msgid "Use the --force flag to overrule all checks.\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3052
+msgid "OK\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3061
+#, c-format
+msgid "Old situation:\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3065
+#, c-format
+msgid "Partition %d does not exist, cannot change it\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3073
+#, c-format
+msgid "New situation:\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3078
+msgid ""
+"I don't like these partitions - nothing changed.\n"
+"(If you really want this, use the --force option.)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3081
+msgid "I don't like this - probably you should answer No\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3086
+#, c-format
+msgid "Are you satisfied with this? [ynq] "
+msgstr ""
+
+#: fdisk/sfdisk.c:3088
+#, c-format
+msgid "Do you want to write this to disk? [ynq] "
+msgstr ""
+
+#: fdisk/sfdisk.c:3093
+#, c-format
+msgid ""
+"\n"
+"sfdisk: premature end of input\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3095
+msgid "Quitting - nothing changed\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3101
+#, c-format
+msgid "Please answer one of y,n,q\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3109
+#, c-format
+msgid ""
+"Successfully wrote the new partition table\n"
+"\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3115
+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 ""
+
+#: fsck/fsck.c:327
+#, c-format
+msgid "WARNING: couldn't open %s: %s\n"
+msgstr ""
+
+#: fsck/fsck.c:337
+#, c-format
+msgid "WARNING: bad format on line %d of %s\n"
+msgstr ""
+
+#: fsck/fsck.c:353
+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 ""
+
+#: fsck/fsck.c:461
+#, c-format
+msgid "fsck: %s: not found\n"
+msgstr ""
+
+#: fsck/fsck.c:577
+#, c-format
+msgid "%s: wait: No more child process?!?\n"
+msgstr ""
+
+#: fsck/fsck.c:599
+#, c-format
+msgid "Warning... %s for device %s exited with signal %d.\n"
+msgstr ""
+
+#: fsck/fsck.c:605
+#, c-format
+msgid "%s %s: status is %x, should never happen.\n"
+msgstr ""
+
+#: fsck/fsck.c:644
+#, c-format
+msgid "Finished with %s (exit status %d)\n"
+msgstr ""
+
+#: fsck/fsck.c:704
+#, c-format
+msgid "%s: Error %d while executing fsck.%s for %s\n"
+msgstr ""
+
+#: fsck/fsck.c:725
+msgid ""
+"Either all or none of the filesystem types passed to -t must be prefixed\n"
+"with 'no' or '!'.\n"
+msgstr ""
+
+#: fsck/fsck.c:744
+msgid "Couldn't allocate memory for filesystem types\n"
+msgstr ""
+
+#: fsck/fsck.c:867
+#, c-format
+msgid ""
+"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass "
+"number\n"
+msgstr ""
+
+#: fsck/fsck.c:894
+#, c-format
+msgid "fsck: cannot check %s: fsck.%s not found\n"
+msgstr ""
+
+#: fsck/fsck.c:950
+msgid "Checking all file systems.\n"
+msgstr ""
+
+#: fsck/fsck.c:1041
+#, c-format
+msgid "--waiting-- (pass %d)\n"
+msgstr ""
+
+#: fsck/fsck.c:1061
+msgid ""
+"Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]\n"
+msgstr ""
+
+#: fsck/fsck.c:1099
+#, fuzzy, c-format
+msgid "%s: too many devices\n"
+msgstr "orri txar gehiegi"
+
+#: fsck/fsck.c:1110
+#, c-format
+msgid "Couldn't open %s: %s\n"
+msgstr ""
+
+#: fsck/fsck.c:1112
+#, c-format
+msgid "Is /proc mounted?\n"
+msgstr ""
+
+#: fsck/fsck.c:1121
+#, c-format
+msgid "Must be root to scan for matching filesystems: %s\n"
+msgstr ""
+
+#: fsck/fsck.c:1124
+#, c-format
+msgid "Couldn't find matching filesystem: %s\n"
+msgstr ""
+
+#: fsck/fsck.c:1132 fsck/fsck.c:1218
+#, fuzzy, c-format
+msgid "%s: too many arguments\n"
+msgstr "orri txar gehiegi"
+
+#: fsck/fsck.c:1252
+#, fuzzy, c-format
+msgid "fsck from %s\n"
+msgstr "Gailua: %s\n"
+
+#: fsck/fsck.c:1264
+#, c-format
+msgid "%s: Unable to allocate memory for fsck_path\n"
+msgstr ""
+
+#: getopt/getopt.c:229
+msgid "Try `getopt --help' for more information.\n"
+msgstr ""
+
+#: getopt/getopt.c:295
+msgid "empty long option after -l or --long argument"
+msgstr ""
+
+#: getopt/getopt.c:315
+msgid "unknown shell after -s or --shell argument"
+msgstr ""
+
+#: getopt/getopt.c:320
+msgid "Usage: getopt optstring parameters\n"
+msgstr ""
+
+#: getopt/getopt.c:321
+msgid "       getopt [options] [--] optstring parameters\n"
+msgstr ""
+
+#: getopt/getopt.c:322
+msgid "       getopt [options] -o|--options optstring [options] [--]\n"
+msgstr ""
+
+#: getopt/getopt.c:323
+msgid "              parameters\n"
+msgstr ""
+
+#: getopt/getopt.c:324
+msgid ""
+"  -a, --alternative            Allow long options starting with single -\n"
+msgstr ""
+
+#: getopt/getopt.c:325
+msgid "  -h, --help                   This small usage guide\n"
+msgstr ""
+
+#: getopt/getopt.c:326
+msgid "  -l, --longoptions=longopts   Long options to be recognized\n"
+msgstr ""
+
+#: getopt/getopt.c:327
+msgid ""
+"  -n, --name=progname          The name under which errors are reported\n"
+msgstr ""
+
+#: getopt/getopt.c:328
+msgid "  -o, --options=optstring      Short options to be recognized\n"
+msgstr ""
+
+#: getopt/getopt.c:329
+msgid "  -q, --quiet                  Disable error reporting by getopt(3)\n"
+msgstr ""
+
+#: getopt/getopt.c:330
+msgid "  -Q, --quiet-output           No normal output\n"
+msgstr ""
+
+#: getopt/getopt.c:331
+msgid "  -s, --shell=shell            Set shell quoting conventions\n"
+msgstr ""
+
+#: getopt/getopt.c:332
+msgid "  -T, --test                   Test for getopt(1) version\n"
+msgstr ""
+
+#: getopt/getopt.c:333
+msgid "  -u, --unqote                 Do not quote the output\n"
+msgstr ""
+
+#: getopt/getopt.c:334
+msgid "  -V, --version                Output version information\n"
+msgstr ""
+
+#: getopt/getopt.c:388 getopt/getopt.c:447
+msgid "missing optstring argument"
+msgstr ""
+
+#: getopt/getopt.c:435
+#, c-format
+msgid "getopt (enhanced) 1.1.4\n"
+msgstr ""
+
+#: getopt/getopt.c:441
+msgid "internal error, contact the author."
+msgstr ""
+
+#: hwclock/cmos.c:176
+#, c-format
+msgid "booted from MILO\n"
+msgstr ""
+
+#: hwclock/cmos.c:185
+#, c-format
+msgid "Ruffian BCD clock\n"
+msgstr "Ruffian BCD erlojua\n"
+
+#: hwclock/cmos.c:201
+#, c-format
+msgid "clockport adjusted to 0x%x\n"
+msgstr ""
+
+#: hwclock/cmos.c:213
+#, c-format
+msgid "funky TOY!\n"
+msgstr ""
+
+#: hwclock/cmos.c:244
+#, c-format
+msgid "%s: atomic %s failed for 1000 iterations!"
+msgstr ""
+
+#: hwclock/cmos.c:273
+#, c-format
+msgid "cmos_read(): write to control address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:276
+#, c-format
+msgid "cmos_read(): read data address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:307
+#, c-format
+msgid "cmos_write(): write to control address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:311
+#, c-format
+msgid "cmos_write(): write to data address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:574
+#, c-format
+msgid "Cannot open /dev/port: %s"
+msgstr ""
+
+#: hwclock/cmos.c:581
+#, c-format
+msgid "I failed to get permission because I didn't try.\n"
+msgstr ""
+
+#: hwclock/cmos.c:584
+#, c-format
+msgid "%s is unable to get I/O port access:  the iopl(3) call failed.\n"
+msgstr ""
+
+#: hwclock/cmos.c:587
+#, c-format
+msgid "Probably you need root privileges.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:231
+#, c-format
+msgid "Assuming hardware clock is kept in %s time.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:232 hwclock/hwclock.c:327
+msgid "UTC"
+msgstr ""
+
+#: hwclock/hwclock.c:232 hwclock/hwclock.c:326
+msgid "local"
+msgstr ""
+
+#: hwclock/hwclock.c:312
+#, c-format
+msgid "%s: Warning: unrecognized third line in adjtime file\n"
+msgstr ""
+
+#: hwclock/hwclock.c:314
+#, c-format
+msgid "(Expected: `UTC' or `LOCAL' or nothing.)\n"
+msgstr ""
+
+#: hwclock/hwclock.c:321
+#, c-format
+msgid "Last drift adjustment done at %ld seconds after 1969\n"
+msgstr ""
+
+#: hwclock/hwclock.c:323
+#, c-format
+msgid "Last calibration done at %ld seconds after 1969\n"
+msgstr ""
+
+#: hwclock/hwclock.c:325
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr ""
+
+#: hwclock/hwclock.c:327
+msgid "unknown"
+msgstr ""
+
+#: hwclock/hwclock.c:351
+#, c-format
+msgid "Waiting for clock tick...\n"
+msgstr ""
+
+#: hwclock/hwclock.c:357
+#, c-format
+msgid "...synchronization failed\n"
+msgstr ""
+
+#: hwclock/hwclock.c:359
+#, c-format
+msgid "...got clock tick\n"
+msgstr ""
+
+#: hwclock/hwclock.c:413
+#, c-format
+msgid "Invalid values in hardware clock: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+msgstr ""
+
+#: hwclock/hwclock.c:421
+#, c-format
+msgid "Hw clock time : %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr ""
+
+#: hwclock/hwclock.c:451
+#, c-format
+msgid "Time read from Hardware Clock: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+msgstr ""
+
+#: hwclock/hwclock.c:480
+#, c-format
+msgid "Setting Hardware Clock to %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr ""
+
+#: hwclock/hwclock.c:486
+#, c-format
+msgid "Clock not changed - testing only.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:536
+#, c-format
+msgid ""
+"Time elapsed since reference time has been %.6f seconds.\n"
+"Delaying further to reach the new time.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:572
+#, c-format
+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).\n"
+msgstr ""
+
+#: hwclock/hwclock.c:582
+#, c-format
+msgid "%s  %.6f seconds\n"
+msgstr ""
+
+#: hwclock/hwclock.c:616
+#, c-format
+msgid "No --date option specified.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:622
+#, c-format
+msgid "--date argument too long\n"
+msgstr ""
+
+#: hwclock/hwclock.c:629
+#, c-format
+msgid ""
+"The value of the --date option is not a valid date.\n"
+"In particular, it contains quotation marks.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:637
+#, c-format
+msgid "Issuing date command: %s\n"
+msgstr ""
+
+#: hwclock/hwclock.c:641
+msgid "Unable to run 'date' program in /bin/sh shell. popen() failed"
+msgstr ""
+
+#: hwclock/hwclock.c:649
+#, c-format
+msgid "response from date command = %s\n"
+msgstr ""
+
+#: hwclock/hwclock.c:651
+#, c-format
+msgid ""
+"The date command issued by %s returned unexpected results.\n"
+"The command was:\n"
+"  %s\n"
+"The response was:\n"
+"  %s\n"
+msgstr ""
+
+#: hwclock/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 ""
+
+#: hwclock/hwclock.c:674
+#, c-format
+msgid "date string %s equates to %ld seconds since 1969.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:706
+#, c-format
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot set the "
+"System Time from it.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:728 hwclock/hwclock.c:805
+#, c-format
+msgid "Calling settimeofday:\n"
+msgstr ""
+
+#: hwclock/hwclock.c:729 hwclock/hwclock.c:807
+#, c-format
+msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr ""
+
+#: hwclock/hwclock.c:731 hwclock/hwclock.c:809
+#, c-format
+msgid "\ttz.tz_minuteswest = %d\n"
+msgstr ""
+
+#: hwclock/hwclock.c:734 hwclock/hwclock.c:812
+#, c-format
+msgid "Not setting system clock because running in test mode.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:743 hwclock/hwclock.c:821
+#, c-format
+msgid "Must be superuser to set system clock.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:746 hwclock/hwclock.c:824
+msgid "settimeofday() failed"
+msgstr "settimeofday()-ek huts egin du"
+
+#: hwclock/hwclock.c:782
+#, c-format
+msgid "Current system time: %ld = %s\n"
+msgstr ""
+
+#: hwclock/hwclock.c:806
+#, c-format
+msgid "\tUTC: %s\n"
+msgstr ""
+
+#: hwclock/hwclock.c:853
+#, c-format
+msgid ""
+"Not adjusting drift factor because the Hardware Clock previously contained "
+"garbage.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:858
+#, 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 ""
+
+#: hwclock/hwclock.c:864
+#, c-format
+msgid ""
+"Not adjusting drift factor because it has been less than a day since the "
+"last calibration.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:912
+#, 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 ""
+
+#: hwclock/hwclock.c:962
+#, c-format
+msgid "Time since last adjustment is %d seconds\n"
+msgstr ""
+
+#: hwclock/hwclock.c:964
+#, c-format
+msgid "Need to insert %d seconds and refer time back %.6f seconds ago\n"
+msgstr ""
+
+#: hwclock/hwclock.c:993
+#, c-format
+msgid "Not updating adjtime file because of testing mode.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:994
+#, c-format
+msgid ""
+"Would have written the following to %s:\n"
+"%s"
+msgstr ""
+
+#: hwclock/hwclock.c:1002
+#, c-format
+msgid ""
+"Could not open file with the clock adjustment parameters in it (%s) for "
+"writing"
+msgstr ""
+
+#: hwclock/hwclock.c:1007 hwclock/hwclock.c:1012
+#, c-format
+msgid "Could not update file with the clock adjustment parameters (%s) in it"
+msgstr ""
+
+#: hwclock/hwclock.c:1018
+#, c-format
+msgid "Drift adjustment parameters not updated.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1059
+#, c-format
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot adjust it.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1067
+#, c-format
+msgid ""
+"Not setting clock because last adjustment time is zero, so history is bad."
+msgstr ""
+
+#: hwclock/hwclock.c:1090
+#, c-format
+msgid "Needed adjustment is less than one second, so not setting clock.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1116
+#, c-format
+msgid "Using %s.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1118
+#, c-format
+msgid "No usable clock interface found.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1222 hwclock/hwclock.c:1228
+#, c-format
+msgid "Unable to set system clock.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1258
+#, c-format
+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.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1267
+#, c-format
+msgid "Unable to get the epoch value from the kernel.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1269
+#, c-format
+msgid "Kernel is assuming an epoch value of %lu\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1272
+#, c-format
+msgid ""
+"To set the epoch value, you must use the 'epoch' option to tell to what "
+"value to set it.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1275
+#, c-format
+msgid "Not setting the epoch to %d - testing only.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1278
+#, c-format
+msgid "Unable to set the epoch value in the kernel.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1291 misc-utils/cal.c:345 misc-utils/kill.c:189
+#, c-format
+msgid "%s from %s\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1312
+#, c-format
+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"
+"  -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/hwclock.c:1347
+#, c-format
+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 ""
+
+#: hwclock/hwclock.c:1434
+#, c-format
+msgid "%s: Unable to connect to audit system\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1552
+#, c-format
+msgid "%s takes no non-option arguments.  You supplied %d.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1559
+#, c-format
+msgid ""
+"You have specified multiple functions.\n"
+"You can only perform one function at a time.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1566
+#, c-format
+msgid ""
+"%s: The --utc and --localtime options are mutually exclusive.  You specified "
+"both.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1573
+#, c-format
+msgid ""
+"%s: The --adjust and --noadjfile options are mutually exclusive.  You "
+"specified both.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1580
+#, c-format
+msgid ""
+"%s: The --adjfile and --noadjfile options are mutually exclusive.  You "
+"specified both.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1589
+#, c-format
+msgid "%s: With --noadjfile, you must specify either --utc or --localtime\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1603
+#, c-format
+msgid "No usable set-to time.  Cannot set clock.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1620
+#, c-format
+msgid "Sorry, only the superuser can change the Hardware Clock.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1625
+#, c-format
+msgid "Sorry, only the superuser can change the System Clock.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1630
+#, c-format
+msgid ""
+"Sorry, only the superuser can change the Hardware Clock epoch in the "
+"kernel.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1651
+#, c-format
+msgid "Cannot access the Hardware Clock via any known method.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1655
+#, c-format
+msgid ""
+"Use the --debug option to see the details of our search for an access "
+"method.\n"
+msgstr ""
+
+#: hwclock/kd.c:53
+#, c-format
+msgid "Waiting in loop for time from KDGHWCLK to change\n"
+msgstr ""
+
+#: hwclock/kd.c:56
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr ""
+
+#: hwclock/kd.c:77 hwclock/rtc.c:221
+#, c-format
+msgid "Timed out waiting for time change.\n"
+msgstr ""
+
+#: hwclock/kd.c:81
+msgid "KDGHWCLK ioctl to read time failed in loop"
+msgstr ""
+
+#: hwclock/kd.c:103
+#, c-format
+msgid "ioctl() failed to read time from %s"
+msgstr ""
+
+#: hwclock/kd.c:139
+msgid "ioctl KDSHWCLK failed"
+msgstr ""
+
+#: hwclock/kd.c:175
+msgid "Can't open /dev/tty1 or /dev/vc/1"
+msgstr ""
+
+#: hwclock/kd.c:179
+msgid "KDGHWCLK ioctl failed"
+msgstr ""
+
+#: hwclock/rtc.c:147 hwclock/rtc.c:241
+#, c-format
+msgid "open() of %s failed"
+msgstr ""
+
+#: hwclock/rtc.c:181
+#, c-format
+msgid "ioctl() to %s to read the time failed.\n"
+msgstr ""
+
+#: hwclock/rtc.c:203
+#, c-format
+msgid "Waiting in loop for time from %s to change\n"
+msgstr ""
+
+#: hwclock/rtc.c:259
+#, c-format
+msgid "%s does not have interrupt functions. "
+msgstr ""
+
+#: hwclock/rtc.c:270
+#, c-format
+msgid "read() to %s to wait for clock tick failed"
+msgstr ""
+
+#: hwclock/rtc.c:288
+#, c-format
+msgid "select() to %s to wait for clock tick failed"
+msgstr ""
+
+#: hwclock/rtc.c:291
+#, c-format
+msgid "select() to %s to wait for clock tick timed out\n"
+msgstr ""
+
+#: hwclock/rtc.c:300
+#, c-format
+msgid "ioctl() to %s to turn off update interrupts failed"
+msgstr ""
+
+#: hwclock/rtc.c:303
+#, c-format
+msgid "ioctl() to %s to turn on update interrupts failed unexpectedly"
+msgstr ""
+
+#: hwclock/rtc.c:360
+#, c-format
+msgid "ioctl() to %s to set the time failed.\n"
+msgstr ""
+
+#: hwclock/rtc.c:366
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr ""
+
+#: hwclock/rtc.c:392
+#, c-format
+msgid "Open of %s failed"
+msgstr ""
+
+#: hwclock/rtc.c:410 hwclock/rtc.c:454
+#, 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.\n"
+msgstr ""
+
+#: hwclock/rtc.c:415 hwclock/rtc.c:459
+#, c-format
+msgid "Unable to open %s"
+msgstr ""
+
+#: hwclock/rtc.c:422
+#, c-format
+msgid "ioctl(RTC_EPOCH_READ) to %s failed"
+msgstr ""
+
+#: hwclock/rtc.c:427
+#, c-format
+msgid "we have read epoch %ld from %s with RTC_EPOCH_READ ioctl.\n"
+msgstr ""
+
+#: hwclock/rtc.c:446
+#, c-format
+msgid "The epoch value may not be less than 1900.  You requested %ld\n"
+msgstr ""
+
+#: hwclock/rtc.c:464
+#, c-format
+msgid "setting epoch to %ld with RTC_EPOCH_SET ioctl to %s.\n"
+msgstr ""
+
+#: hwclock/rtc.c:469
+#, c-format
+msgid ""
+"The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl.\n"
+msgstr ""
+
+#: hwclock/rtc.c:472
+#, c-format
+msgid "ioctl(RTC_EPOCH_SET) to %s failed"
+msgstr ""
+
+#: login-utils/agetty.c:361
+#, c-format
+msgid "%s: can't exec %s: %m"
+msgstr ""
+
+#: login-utils/agetty.c:384
+msgid "can't malloc initstring"
+msgstr ""
+
+#: login-utils/agetty.c:449
+#, c-format
+msgid "bad timeout value: %s"
+msgstr ""
+
+#: login-utils/agetty.c:526
+#, c-format
+msgid "bad speed: %s"
+msgstr ""
+
+#: login-utils/agetty.c:528
+msgid "too many alternate speeds"
+msgstr ""
+
+#: login-utils/agetty.c:630
+#, c-format
+msgid "/dev: chdir() failed: %m"
+msgstr ""
+
+#: login-utils/agetty.c:634
+#, c-format
+msgid "/dev/%s: not a character device"
+msgstr ""
+
+#: login-utils/agetty.c:643
+#, c-format
+msgid "/dev/%s: cannot open as standard input: %m"
+msgstr ""
+
+#: login-utils/agetty.c:653
+#, c-format
+msgid "%s: not open for read/write"
+msgstr ""
+
+#: login-utils/agetty.c:659
+#, c-format
+msgid "%s: dup problem: %m"
+msgstr ""
+
+#: login-utils/agetty.c:946
+#, c-format
+msgid "user"
+msgstr ""
+
+#: login-utils/agetty.c:946
+#, c-format
+msgid "users"
+msgstr ""
+
+#: login-utils/agetty.c:1031
+#, c-format
+msgid "%s: read: %m"
+msgstr ""
+
+#: login-utils/agetty.c:1078
+#, c-format
+msgid "%s: input overrun"
+msgstr ""
+
+#: login-utils/agetty.c:1207
+#, c-format
+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 ""
+
+#: login-utils/checktty.c:91 login-utils/checktty.c:112
+#, c-format
+msgid "login: memory low, login may fail\n"
+msgstr ""
+
+#: login-utils/checktty.c:92
+msgid "can't malloc for ttyclass"
+msgstr ""
+
+#: login-utils/checktty.c:113
+msgid "can't malloc for grplist"
+msgstr ""
+
+#: login-utils/checktty.c:554
+#, c-format
+msgid "Login on %s from %s denied by default.\n"
+msgstr ""
+
+#: login-utils/checktty.c:565
+#, c-format
+msgid "Login on %s from %s denied.\n"
+msgstr ""
+
+#: login-utils/chfn.c:133 login-utils/chsh.c:119
+#, c-format
+msgid "%s: you (user %d) don't exist.\n"
+msgstr ""
+
+#: login-utils/chfn.c:140 login-utils/chsh.c:126
+#, c-format
+msgid "%s: user \"%s\" does not exist.\n"
+msgstr ""
+
+#: login-utils/chfn.c:145 login-utils/chsh.c:131
+#, c-format
+msgid "%s: can only change local entries; use yp%s instead.\n"
+msgstr ""
+
+#: login-utils/chfn.c:156 login-utils/chsh.c:142
+msgid "Unknown user context"
+msgstr ""
+
+#: login-utils/chfn.c:157
+#, c-format
+msgid "%s: %s is not authorized to change the finger info of %s\n"
+msgstr ""
+
+#: login-utils/chfn.c:164 login-utils/chsh.c:150
+#, c-format
+msgid "%s: Can't set default context for /etc/passwd"
+msgstr ""
+
+#: login-utils/chfn.c:178
+#, c-format
+msgid "Changing finger information for %s.\n"
+msgstr ""
+
+#: login-utils/chfn.c:189 login-utils/chsh.c:188 login-utils/login.c:572
+#, c-format
+msgid "%s: PAM failure, aborting: %s\n"
+msgstr ""
+
+#: login-utils/chfn.c:212 login-utils/chsh.c:211 login-utils/login.c:823
+#: login-utils/newgrp.c:85 login-utils/simpleinit.c:340 mount/lomount.c:744
+#: mount/lomount.c:747
+msgid "Password: "
+msgstr "Pasahitza: "
+
+#: login-utils/chfn.c:215 login-utils/chsh.c:214
+msgid "Incorrect password."
+msgstr ""
+
+#: login-utils/chfn.c:226
+#, c-format
+msgid "Finger information not changed.\n"
+msgstr ""
+
+#: login-utils/chfn.c:328
+#, c-format
+msgid "Usage: %s [ -f full-name ] [ -o office ] "
+msgstr ""
+
+#: login-utils/chfn.c:329
+#, c-format
+msgid ""
+"[ -p office-phone ]\n"
+"\t[ -h home-phone ] "
+msgstr ""
+
+#: login-utils/chfn.c:330
+#, c-format
+msgid "[ --help ] [ --version ]\n"
+msgstr ""
+
+#: login-utils/chfn.c:378
+msgid "Office"
+msgstr ""
+
+#: login-utils/chfn.c:379
+msgid "Office Phone"
+msgstr ""
+
+#: login-utils/chfn.c:380
+msgid "Home Phone"
+msgstr ""
+
+#: login-utils/chfn.c:401 login-utils/chsh.c:321
+#, c-format
+msgid ""
+"\n"
+"Aborted.\n"
+msgstr ""
+
+#: login-utils/chfn.c:434
+#, c-format
+msgid "field is too long.\n"
+msgstr ""
+
+#: login-utils/chfn.c:442
+#, c-format
+msgid "'%c' is not allowed.\n"
+msgstr ""
+
+#: login-utils/chfn.c:447
+#, c-format
+msgid "Control characters are not allowed.\n"
+msgstr ""
+
+#: login-utils/chfn.c:512
+#, c-format
+msgid "Finger information *NOT* changed.  Try again later.\n"
+msgstr ""
+
+#: login-utils/chfn.c:515
+#, c-format
+msgid "Finger information changed.\n"
+msgstr ""
+
+#: login-utils/chsh.c:143
+#, c-format
+msgid "%s: %s is not authorized to change the shell of %s\n"
+msgstr ""
+
+#: login-utils/chsh.c:164
+#, c-format
+msgid ""
+"%s: Running UID doesn't match UID of user we're altering, shell change "
+"denied\n"
+msgstr ""
+
+#: login-utils/chsh.c:170
+#, c-format
+msgid "%s: Your shell is not in /etc/shells, shell change denied\n"
+msgstr ""
+
+#: login-utils/chsh.c:177
+#, c-format
+msgid "Changing shell for %s.\n"
+msgstr ""
+
+#: login-utils/chsh.c:222
+msgid "New shell"
+msgstr ""
+
+#: login-utils/chsh.c:229
+#, c-format
+msgid "Shell not changed.\n"
+msgstr ""
+
+#: login-utils/chsh.c:235
+#, c-format
+msgid "Shell *NOT* changed.  Try again later.\n"
+msgstr ""
+
+#: login-utils/chsh.c:238
+#, c-format
+msgid "Shell changed.\n"
+msgstr ""
+
+#: login-utils/chsh.c:303
+#, c-format
+msgid ""
+"Usage: %s [ -s shell ] [ --list-shells ] [ --help ] [ --version ]\n"
+"       [ username ]\n"
+msgstr ""
+
+#: login-utils/chsh.c:349
+#, c-format
+msgid "%s: shell must be a full path name.\n"
+msgstr ""
+
+#: login-utils/chsh.c:353
+#, c-format
+msgid "%s: \"%s\" does not exist.\n"
+msgstr ""
+
+#: login-utils/chsh.c:357
+#, c-format
+msgid "%s: \"%s\" is not executable.\n"
+msgstr ""
+
+#: login-utils/chsh.c:364
+#, c-format
+msgid "%s: '%c' is not allowed.\n"
+msgstr ""
+
+#: login-utils/chsh.c:368
+#, c-format
+msgid "%s: Control characters are not allowed.\n"
+msgstr ""
+
+#: login-utils/chsh.c:375 login-utils/chsh.c:385
+#, c-format
+msgid "Warning: \"%s\" is not listed in /etc/shells.\n"
+msgstr ""
+
+#: login-utils/chsh.c:377
+#, c-format
+msgid "%s: \"%s\" is not listed in /etc/shells.\n"
+msgstr ""
+
+#: login-utils/chsh.c:379
+#, c-format
+msgid "%s: Use -l option to see list.\n"
+msgstr ""
+
+#: login-utils/chsh.c:386
+#, c-format
+msgid "Use %s -l to see list.\n"
+msgstr ""
+
+#: login-utils/chsh.c:406
+#, c-format
+msgid "No known shells.\n"
+msgstr ""
+
+#: login-utils/islocal.c:87
+#, c-format
+msgid "Failed to open %s for reading, exiting."
+msgstr ""
+
+#: login-utils/last.c:148
+msgid "usage: last [-#] [-f file] [-t tty] [-h hostname] [user ...]\n"
+msgstr ""
+
+#: login-utils/last.c:284
+msgid "  still logged in"
+msgstr ""
+
+#: login-utils/last.c:306
+#, c-format
+msgid ""
+"\n"
+"wtmp begins %s"
+msgstr ""
+
+#: login-utils/last.c:362 login-utils/last.c:380 login-utils/last.c:431
+msgid "last: malloc failure.\n"
+msgstr ""
+
+#: login-utils/last.c:407
+msgid "last: gethostname"
+msgstr ""
+
+#: login-utils/last.c:456
+#, c-format
+msgid ""
+"\n"
+"interrupted %10.10s %5.5s \n"
+msgstr ""
+
+#: login-utils/login.c:197
+#, c-format
+msgid "FATAL: can't reopen tty: %s"
+msgstr ""
+
+#: login-utils/login.c:229
+msgid "FATAL: bad tty"
+msgstr ""
+
+#: login-utils/login.c:436
+#, c-format
+msgid "login: -h for super-user only.\n"
+msgstr ""
+
+#: login-utils/login.c:479
+#, c-format
+msgid "usage: login [-fp] [username]\n"
+msgstr ""
+
+#: login-utils/login.c:574
+#, c-format
+msgid "Couldn't initialize PAM: %s"
+msgstr ""
+
+#: login-utils/login.c:591
+msgid "login: "
+msgstr ""
+
+#: login-utils/login.c:635
+#, c-format
+msgid "FAILED LOGIN %d FROM %s FOR %s, %s"
+msgstr ""
+
+#: login-utils/login.c:640
+#, c-format
+msgid ""
+"Login incorrect\n"
+"\n"
+msgstr ""
+
+#: login-utils/login.c:649
+#, c-format
+msgid "TOO MANY LOGIN TRIES (%d) FROM %s FOR %s, %s"
+msgstr ""
+
+#: login-utils/login.c:653
+#, c-format
+msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
+msgstr ""
+
+#: login-utils/login.c:658
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+
+#: login-utils/login.c:686 login-utils/login.c:693 login-utils/login.c:727
+#, c-format
+msgid ""
+"\n"
+"Session setup problem, abort.\n"
+msgstr ""
+
+#: login-utils/login.c:687
+#, c-format
+msgid "NULL user name in %s:%d. Abort."
+msgstr ""
+
+#: login-utils/login.c:694
+#, c-format
+msgid "Invalid user name \"%s\" in %s:%d. Abort."
+msgstr ""
+
+#: login-utils/login.c:713
+#, c-format
+msgid "login: Out of memory\n"
+msgstr ""
+
+#: login-utils/login.c:757
+msgid "Illegal username"
+msgstr ""
+
+#: login-utils/login.c:800
+#, c-format
+msgid "%s login refused on this terminal.\n"
+msgstr ""
+
+#: login-utils/login.c:805
+#, c-format
+msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
+msgstr ""
+
+#: login-utils/login.c:809
+#, c-format
+msgid "LOGIN %s REFUSED ON TTY %s"
+msgstr ""
+
+#: login-utils/login.c:863
+#, c-format
+msgid "Login incorrect\n"
+msgstr ""
+
+#: login-utils/login.c:1088
+#, c-format
+msgid "DIALUP AT %s BY %s"
+msgstr ""
+
+#: login-utils/login.c:1095
+#, c-format
+msgid "ROOT LOGIN ON %s FROM %s"
+msgstr ""
+
+#: login-utils/login.c:1098
+#, c-format
+msgid "ROOT LOGIN ON %s"
+msgstr ""
+
+#: login-utils/login.c:1101
+#, c-format
+msgid "LOGIN ON %s BY %s FROM %s"
+msgstr ""
+
+#: login-utils/login.c:1104
+#, c-format
+msgid "LOGIN ON %s BY %s"
+msgstr ""
+
+#: login-utils/login.c:1125
+#, c-format
+msgid "You have new mail.\n"
+msgstr ""
+
+#: login-utils/login.c:1127
+#, c-format
+msgid "You have mail.\n"
+msgstr ""
+
+#: login-utils/login.c:1171
+#, c-format
+msgid "login: failure forking: %s"
+msgstr ""
+
+#: login-utils/login.c:1218
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr ""
+
+#: login-utils/login.c:1224
+msgid "setuid() failed"
+msgstr "setuid()-k huts egin du"
+
+#: login-utils/login.c:1230
+#, c-format
+msgid "No directory %s!\n"
+msgstr ""
+
+#: login-utils/login.c:1234
+#, c-format
+msgid "Logging in with home = \"/\".\n"
+msgstr ""
+
+#: login-utils/login.c:1242
+#, c-format
+msgid "login: no memory for shell script.\n"
+msgstr ""
+
+#: login-utils/login.c:1269
+#, c-format
+msgid "login: couldn't exec shell script: %s.\n"
+msgstr ""
+
+#: login-utils/login.c:1272
+#, c-format
+msgid "login: no shell: %s.\n"
+msgstr ""
+
+#: login-utils/login.c:1287
+#, c-format
+msgid ""
+"\n"
+"%s login: "
+msgstr ""
+
+#: login-utils/login.c:1298
+#, c-format
+msgid "login name much too long.\n"
+msgstr ""
+
+#: login-utils/login.c:1299
+msgid "NAME too long"
+msgstr ""
+
+#: login-utils/login.c:1306
+#, c-format
+msgid "login names may not start with '-'.\n"
+msgstr ""
+
+#: login-utils/login.c:1316
+#, c-format
+msgid "too many bare linefeeds.\n"
+msgstr ""
+
+#: login-utils/login.c:1317
+msgid "EXCESSIVE linefeeds"
+msgstr ""
+
+#: login-utils/login.c:1349
+#, c-format
+msgid "Login timed out after %d seconds\n"
+msgstr ""
+
+#: login-utils/login.c:1437
+#, c-format
+msgid "Last login: %.*s "
+msgstr ""
+
+#: login-utils/login.c:1441
+#, c-format
+msgid "from %.*s\n"
+msgstr ""
+
+#: login-utils/login.c:1444
+#, c-format
+msgid "on %.*s\n"
+msgstr ""
+
+#: login-utils/login.c:1470
+#, c-format
+msgid "LOGIN FAILURE FROM %s, %s"
+msgstr ""
+
+#: login-utils/login.c:1473
+#, c-format
+msgid "LOGIN FAILURE ON %s, %s"
+msgstr ""
+
+#: login-utils/login.c:1477
+#, c-format
+msgid "%d LOGIN FAILURES FROM %s, %s"
+msgstr ""
+
+#: login-utils/login.c:1480
+#, c-format
+msgid "%d LOGIN FAILURES ON %s, %s"
+msgstr ""
+
+#: login-utils/mesg.c:89
+#, c-format
+msgid "is y\n"
+msgstr ""
+
+#: login-utils/mesg.c:92
+#, c-format
+msgid "is n\n"
+msgstr ""
+
+#: login-utils/mesg.c:112
+#, c-format
+msgid "usage: mesg [y | n]\n"
+msgstr ""
+
+#: login-utils/newgrp.c:105
+msgid "newgrp: Who are you?"
+msgstr ""
+
+#: login-utils/newgrp.c:113 login-utils/newgrp.c:127
+msgid "newgrp: setgid"
+msgstr ""
+
+#: login-utils/newgrp.c:120 login-utils/newgrp.c:122
+msgid "newgrp: No such group."
+msgstr ""
+
+#: login-utils/newgrp.c:131
+msgid "newgrp: Permission denied"
+msgstr ""
+
+#: login-utils/newgrp.c:138
+msgid "newgrp: setuid"
+msgstr ""
+
+#: login-utils/newgrp.c:144
+msgid "No shell"
+msgstr ""
+
+#: login-utils/shutdown.c:115
+#, c-format
+msgid "Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+msgstr ""
+
+#: login-utils/shutdown.c:133
+msgid "Shutdown process aborted"
+msgstr ""
+
+#: login-utils/shutdown.c:164
+#, c-format
+msgid "%s: Only root can shut a system down.\n"
+msgstr ""
+
+#: login-utils/shutdown.c:258
+#, c-format
+msgid "That must be tomorrow, can't you wait till then?\n"
+msgstr ""
+
+#: login-utils/shutdown.c:309
+msgid "for maintenance; bounce, bounce"
+msgstr ""
+
+#: login-utils/shutdown.c:338
+msgid "The system is being shut down within 5 minutes"
+msgstr ""
+
+#: login-utils/shutdown.c:342
+msgid "Login is therefore prohibited."
+msgstr ""
+
+#: login-utils/shutdown.c:364
+#, c-format
+msgid "rebooted by %s: %s"
+msgstr ""
+
+#: login-utils/shutdown.c:367
+#, c-format
+msgid "halted by %s: %s"
+msgstr ""
+
+#: login-utils/shutdown.c:431
+msgid ""
+"\n"
+"Why am I still alive after reboot?"
+msgstr ""
+
+#: login-utils/shutdown.c:433
+msgid ""
+"\n"
+"Now you can turn off the power..."
+msgstr ""
+
+#: login-utils/shutdown.c:449
+#, c-format
+msgid "Calling kernel power-off facility...\n"
+msgstr ""
+
+#: login-utils/shutdown.c:452
+#, c-format
+msgid "Error powering off\t%s\n"
+msgstr ""
+
+#: login-utils/shutdown.c:460
+#, c-format
+msgid "Executing the program \"%s\" ...\n"
+msgstr ""
+
+#: login-utils/shutdown.c:463
+#, c-format
+msgid "Error executing\t%s\n"
+msgstr ""
+
+#: login-utils/shutdown.c:490
+#, c-format
+msgid "URGENT: broadcast message from %s:"
+msgstr ""
+
+#: login-utils/shutdown.c:496
+#, c-format
+msgid "System going down in %d hours %d minutes"
+msgstr ""
+
+#: login-utils/shutdown.c:499
+#, c-format
+msgid "System going down in 1 hour %d minutes"
+msgstr ""
+
+#: login-utils/shutdown.c:502
+#, c-format
+msgid "System going down in %d minutes\n"
+msgstr ""
+
+#: login-utils/shutdown.c:505
+#, c-format
+msgid "System going down in 1 minute\n"
+msgstr ""
+
+#: login-utils/shutdown.c:507
+#, c-format
+msgid "System going down IMMEDIATELY!\n"
+msgstr ""
+
+#: login-utils/shutdown.c:512
+#, c-format
+msgid "\t... %s ...\n"
+msgstr ""
+
+#: login-utils/shutdown.c:569
+msgid "Cannot fork for swapoff. Shrug!"
+msgstr ""
+
+#: login-utils/shutdown.c:577
+msgid "Cannot exec swapoff, hoping umount will do the trick."
+msgstr ""
+
+#: login-utils/shutdown.c:596
+msgid "Cannot fork for umount, trying manually."
+msgstr ""
+
+#: login-utils/shutdown.c:605
+#, c-format
+msgid "Cannot exec %s, trying umount.\n"
+msgstr ""
+
+#: login-utils/shutdown.c:609
+msgid "Cannot exec umount, giving up on umount."
+msgstr ""
+
+#: login-utils/shutdown.c:614
+msgid "Unmounting any remaining filesystems..."
+msgstr ""
+
+#: login-utils/shutdown.c:661
+#, c-format
+msgid "shutdown: Couldn't umount %s: %s\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:132
+msgid "Booting to single user mode.\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:136
+msgid "exec of single user shell failed\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:140
+msgid "fork of single user shell failed\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:208
+msgid "error opening fifo\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:212
+msgid "error setting close-on-exec on /dev/initctl"
+msgstr ""
+
+#: login-utils/simpleinit.c:259
+msgid "error running finalprog\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:263
+msgid "error forking finalprog\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:345
+msgid ""
+"\n"
+"Wrong password.\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:418
+msgid "lstat of path failed\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:426
+msgid "stat of path failed\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:434
+msgid "open of directory failed\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:501
+#, c-format
+msgid "respawning: \"%s\" too fast: quenching entry\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:509
+msgid "fork failed\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:540 text-utils/more.c:1629
+msgid "exec failed\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:564
+msgid "cannot open inittab\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:631
+msgid "no TERM or cannot stat tty\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:938
+#, c-format
+msgid "error stopping service: \"%s\"\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:950
+#, fuzzy, c-format
+msgid "Stopped service: %s\n"
+msgstr "Gailua: %s\n"
+
+#: login-utils/simpleinit.c:1070
+#, c-format
+msgid "error running programme: \"%s\"\n"
+msgstr ""
+
+#: login-utils/ttymsg.c:75
+msgid "too many iov's (change code in wall/ttymsg.c)"
+msgstr ""
+
+#: login-utils/ttymsg.c:85
+#, c-format
+msgid "excessively long line arg"
+msgstr ""
+
+#: login-utils/ttymsg.c:140
+#, c-format
+msgid "cannot fork"
+msgstr ""
+
+#: login-utils/ttymsg.c:144
+#, c-format
+msgid "fork: %s"
+msgstr ""
+
+#: login-utils/ttymsg.c:174
+#, c-format
+msgid "%s: BAD ERROR"
+msgstr ""
+
+#: login-utils/vipw.c:143
+#, c-format
+msgid "%s: the password file is busy.\n"
+msgstr ""
+
+#: login-utils/vipw.c:146
+#, c-format
+msgid "%s: the group file is busy.\n"
+msgstr ""
+
+#: login-utils/vipw.c:162
+#, c-format
+msgid "%s: the %s file is busy (%s present)\n"
+msgstr ""
+
+#: login-utils/vipw.c:168
+#, c-format
+msgid "%s: can't link %s: %s\n"
+msgstr ""
+
+#: login-utils/vipw.c:202
+#, c-format
+msgid "%s: Can't get context for %s"
+msgstr ""
+
+#: login-utils/vipw.c:208
+#, c-format
+msgid "%s: Can't set context for %s"
+msgstr ""
+
+#: login-utils/vipw.c:217
+#, c-format
+msgid "%s: can't unlock %s: %s (your changes are still in %s)\n"
+msgstr ""
+
+#: login-utils/vipw.c:240
+#, c-format
+msgid "%s: Cannot fork\n"
+msgstr ""
+
+#: login-utils/vipw.c:276
+#, c-format
+msgid "%s: %s unchanged\n"
+msgstr ""
+
+#: login-utils/vipw.c:297
+#, c-format
+msgid "%s: no changes made\n"
+msgstr ""
+
+#: login-utils/vipw.c:350
+#, c-format
+msgid "You are using shadow groups on this system.\n"
+msgstr ""
+
+#: login-utils/vipw.c:351
+#, c-format
+msgid "You are using shadow passwords on this system.\n"
+msgstr ""
+
+#: login-utils/vipw.c:352
+#, c-format
+msgid "Would you like to edit %s now [y/n]? "
+msgstr ""
+
+#: login-utils/wall.c:112
+#, c-format
+msgid "usage: %s [file]\n"
+msgstr ""
+
+#: login-utils/wall.c:167
+#, c-format
+msgid "%s: can't open temporary file.\n"
+msgstr ""
+
+#: login-utils/wall.c:194
+#, c-format
+msgid "Broadcast Message from %s@%s"
+msgstr ""
+
+#: login-utils/wall.c:212
+#, c-format
+msgid "%s: will not read %s - use stdin.\n"
+msgstr ""
+
+#: login-utils/wall.c:217
+#, c-format
+msgid "%s: can't read %s.\n"
+msgstr ""
+
+#: login-utils/wall.c:240
+#, c-format
+msgid "%s: can't stat temporary file.\n"
+msgstr ""
+
+#: login-utils/wall.c:250
+#, c-format
+msgid "%s: can't read temporary file.\n"
+msgstr ""
+
+#: misc-utils/cal.c:362 misc-utils/cal.c:374
+#, fuzzy, c-format
+msgid "illegal day value: use 1-%d"
+msgstr "Baliogabeok buru baloreak"
+
+#: misc-utils/cal.c:366
+msgid "illegal month value: use 1-12"
+msgstr ""
+
+#: misc-utils/cal.c:370
+msgid "illegal year value: use 1-9999"
+msgstr ""
+
+#: misc-utils/cal.c:464
+#, c-format
+msgid "%s %d"
+msgstr ""
+
+#: misc-utils/cal.c:856
+#, c-format
+msgid "usage: cal [-13smjyV] [[[day] month] year]\n"
+msgstr ""
+
+#: misc-utils/ddate.c:203
+#, c-format
+msgid "usage: %s [+format] [day month year]\n"
+msgstr ""
+
+#: misc-utils/ddate.c:250
+msgid "St. Tib's Day"
+msgstr ""
+
+#: misc-utils/findfs.c:24
+#, c-format
+msgid "Usage: %s LABEL=<label>|UUID=<uuid>\n"
+msgstr ""
+
+#: misc-utils/findfs.c:55
+#, c-format
+msgid "unable to resolve '%s'"
+msgstr ""
+
+#: misc-utils/kill.c:207
+#, c-format
+msgid "%s: unknown signal %s\n"
+msgstr ""
+
+#: misc-utils/kill.c:270
+#, c-format
+msgid "%s: can't find process \"%s\"\n"
+msgstr ""
+
+#: misc-utils/kill.c:314
+#, c-format
+msgid "%s: unknown signal %s; valid signals:\n"
+msgstr ""
+
+#: misc-utils/kill.c:354
+#, c-format
+msgid "usage: %s [ -s signal | -p ] [ -a ] pid ...\n"
+msgstr ""
+
+#: misc-utils/kill.c:355
+#, c-format
+msgid "       %s -l [ signal ]\n"
+msgstr ""
+
+#: misc-utils/logger.c:67
+#, c-format
+msgid "logger: openlog: pathname too long\n"
+msgstr ""
+
+#: misc-utils/logger.c:75
+#, fuzzy, c-format
+msgid "socket: %s.\n"
+msgstr "Gailua: %s\n"
+
+#: misc-utils/logger.c:80
+#, c-format
+msgid "connect: %s.\n"
+msgstr ""
+
+#: misc-utils/logger.c:139
+#, c-format
+msgid "logger: %s: %s.\n"
+msgstr ""
+
+#: misc-utils/logger.c:246
+#, c-format
+msgid "logger: unknown facility name: %s.\n"
+msgstr ""
+
+#: misc-utils/logger.c:258
+#, c-format
+msgid "logger: unknown priority name: %s.\n"
+msgstr ""
+
+#: misc-utils/logger.c:285
+#, c-format
+msgid ""
+"usage: logger [-is] [-f file] [-p pri] [-t tag] [-u socket] [ message ... ]\n"
+msgstr ""
+
+#: misc-utils/look.c:351
+#, c-format
+msgid "usage: look [-dfa] [-t char] string [file]\n"
+msgstr ""
+
+#: misc-utils/mcookie.c:105 misc-utils/mcookie.c:132
+#, c-format
+msgid "Could not open %s\n"
+msgstr ""
+
+#: misc-utils/mcookie.c:109 misc-utils/mcookie.c:128
+#, c-format
+msgid "Got %d bytes from %s\n"
+msgstr ""
+
+#: misc-utils/namei.c:144 misc-utils/namei.c:198 misc-utils/namei.c:220
+#: misc-utils/namei.c:227 misc-utils/namei.c:248
+#, fuzzy
+msgid "out of memory?"
+msgstr "memoriarik ez?\n"
+
+#: misc-utils/namei.c:189
+#, c-format
+msgid "failed to read symlink: %s"
+msgstr ""
+
+#: misc-utils/namei.c:229
+#, c-format
+msgid "could not stat '%s'"
+msgstr ""
+
+#: misc-utils/namei.c:411
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [options] pathname [pathname ...]\n"
+msgstr ""
+
+#: misc-utils/namei.c:412
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+
+#: misc-utils/namei.c:415
+#, c-format
+msgid ""
+" -h, --help          displays this help text\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:423
+#, c-format
+msgid ""
+"\n"
+"For more information see namei(1).\n"
+msgstr ""
+
+#: misc-utils/namei.c:484
+#, c-format
+msgid "failed to stat: %s"
+msgstr ""
+
+#: misc-utils/namei.c:495
+#, c-format
+msgid "%s: exceeded limit of symlinks"
+msgstr ""
+
+#: misc-utils/rename.c:38
+#, c-format
+msgid "%s: out of memory\n"
+msgstr ""
+
+#: misc-utils/rename.c:56
+#, c-format
+msgid "%s: renaming %s to %s failed: %s\n"
+msgstr ""
+
+#: misc-utils/rename.c:86
+#, c-format
+msgid "call: %s from to files...\n"
+msgstr ""
+
+#: misc-utils/script.c:110
+#, c-format
+msgid ""
+"Warning: `%s' is a link.\n"
+"Use `%s [options] %s' if you really want to use it.\n"
+"Script not started.\n"
+msgstr ""
+
+#: misc-utils/script.c:173
+#, c-format
+msgid "usage: script [-a] [-f] [-q] [-t] [file]\n"
+msgstr ""
+
+#: misc-utils/script.c:196
+#, c-format
+msgid "Script started, file is %s\n"
+msgstr ""
+
+#: misc-utils/script.c:244
+#, c-format
+msgid "%s: write error %d: %s\n"
+msgstr ""
+
+#: misc-utils/script.c:304
+#, c-format
+msgid "Script started on %s"
+msgstr ""
+
+#: misc-utils/script.c:347
+#, c-format
+msgid "%s: write error: %s\n"
+msgstr ""
+
+#: misc-utils/script.c:354
+#, c-format
+msgid "%s: cannot write script file, error: %s\n"
+msgstr ""
+
+#: misc-utils/script.c:430
+#, c-format
+msgid ""
+"\n"
+"Script done on %s"
+msgstr ""
+
+#: misc-utils/script.c:437
+#, c-format
+msgid "Script done, file is %s\n"
+msgstr ""
+
+#: misc-utils/script.c:448
+#, c-format
+msgid "openpty failed\n"
+msgstr ""
+
+#: misc-utils/script.c:482
+#, c-format
+msgid "Out of pty's\n"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:38
+#, c-format
+msgid "%s <timingfile> [<typescript> [<divisor>]]\n"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:53
+#, c-format
+msgid "expected a number, but got '%s'"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:56 misc-utils/scriptreplay.c:60
+#, c-format
+msgid "divisor '%s'"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:104
+msgid "write to stdout failed"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:110
+#, c-format
+msgid "unexpected end of file on %s"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:112
+#, c-format
+msgid "failed to read typescript file %s"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:145
+#, fuzzy, c-format
+msgid "cannot open timing file %s"
+msgstr "Ezin da '%s' fitxategia ireki"
+
+#: misc-utils/scriptreplay.c:148
+#, fuzzy, c-format
+msgid "cannot open typescript file %s"
+msgstr "Ezin da '%s' fitxategia ireki"
+
+#: misc-utils/scriptreplay.c:164
+#, c-format
+msgid "failed to read timing file %s"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:166
+#, c-format
+msgid "timings file %s: %lu: unexpected format"
+msgstr ""
+
+#: misc-utils/setterm.c:763
+#, c-format
+msgid "%s: Argument error, usage\n"
+msgstr ""
+
+#: misc-utils/setterm.c:766
+#, c-format
+msgid "  [ -term terminal_name ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:767
+#, c-format
+msgid "  [ -reset ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:768
+#, c-format
+msgid "  [ -initialize ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:769
+#, c-format
+msgid "  [ -cursor [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:771
+#, c-format
+msgid "  [ -snow [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:772
+#, c-format
+msgid "  [ -softscroll [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:774
+#, c-format
+msgid "  [ -repeat [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:775
+#, c-format
+msgid "  [ -appcursorkeys [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:776
+#, c-format
+msgid "  [ -linewrap [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:777
+#, c-format
+msgid "  [ -default ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:778
+#, c-format
+msgid "  [ -foreground black|blue|green|cyan"
+msgstr ""
+
+#: misc-utils/setterm.c:779 misc-utils/setterm.c:781
+#, c-format
+msgid "|red|magenta|yellow|white|default ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:780
+#, c-format
+msgid "  [ -background black|blue|green|cyan"
+msgstr ""
+
+#: misc-utils/setterm.c:782
+#, c-format
+msgid "  [ -ulcolor black|grey|blue|green|cyan"
+msgstr ""
+
+#: misc-utils/setterm.c:783 misc-utils/setterm.c:785 misc-utils/setterm.c:787
+#: misc-utils/setterm.c:789
+#, c-format
+msgid "|red|magenta|yellow|white ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:784
+#, c-format
+msgid "  [ -ulcolor bright blue|green|cyan"
+msgstr ""
+
+#: misc-utils/setterm.c:786
+#, c-format
+msgid "  [ -hbcolor black|grey|blue|green|cyan"
+msgstr ""
+
+#: misc-utils/setterm.c:788
+#, c-format
+msgid "  [ -hbcolor bright blue|green|cyan"
+msgstr ""
+
+#: misc-utils/setterm.c:791
+#, c-format
+msgid "  [ -standout [ attr ] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:793
+#, c-format
+msgid "  [ -inversescreen [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:794
+#, c-format
+msgid "  [ -bold [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:795
+#, c-format
+msgid "  [ -half-bright [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:796
+#, c-format
+msgid "  [ -blink [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:797
+#, c-format
+msgid "  [ -reverse [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:798
+#, c-format
+msgid "  [ -underline [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:799
+#, c-format
+msgid "  [ -store ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:800
+#, c-format
+msgid "  [ -clear [all|rest] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:801
+#, c-format
+msgid "  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n"
+msgstr ""
+
+#: misc-utils/setterm.c:802
+#, c-format
+msgid "  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n"
+msgstr ""
+
+#: misc-utils/setterm.c:803
+#, c-format
+msgid "  [ -regtabs [1-160] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:804
+#, c-format
+msgid "  [ -blank [0-60|force|poke] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:805
+#, c-format
+msgid "  [ -dump   [1-NR_CONSOLES] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:806
+#, c-format
+msgid "  [ -append [1-NR_CONSOLES] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:807
+#, c-format
+msgid "  [ -file dumpfilename ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:808
+#, c-format
+msgid "  [ -msg [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:809
+#, c-format
+msgid "  [ -msglevel [0-8] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:810
+#, c-format
+msgid "  [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:811
+#, c-format
+msgid "  [ -powerdown [0-60] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:812
+#, c-format
+msgid "  [ -blength [0-2000] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:813
+#, c-format
+msgid "  [ -bfreq freqnumber ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:1065
+#, c-format
+msgid "cannot force blank\n"
+msgstr ""
+
+#: misc-utils/setterm.c:1069
+#, c-format
+msgid "cannot force unblank\n"
+msgstr ""
+
+#: misc-utils/setterm.c:1075
+#, c-format
+msgid "cannot get blank status\n"
+msgstr ""
+
+#: misc-utils/setterm.c:1087
+#, c-format
+msgid "cannot (un)set powersave mode\n"
+msgstr ""
+
+#: misc-utils/setterm.c:1126 misc-utils/setterm.c:1134
+#, c-format
+msgid "klogctl error: %s\n"
+msgstr ""
+
+#: misc-utils/setterm.c:1200
+#, c-format
+msgid "Error writing screendump\n"
+msgstr ""
+
+#: misc-utils/setterm.c:1207
+#, c-format
+msgid "Couldn't read %s\n"
+msgstr ""
+
+#: misc-utils/setterm.c:1261
+#, c-format
+msgid "%s: $TERM is not defined.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:46
+#, c-format
+msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:48
+#, c-format
+msgid "       %s [-r|t] [-n num] [-s socketpath]\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:50
+#, c-format
+msgid "       %s -k\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:152
+#, fuzzy
+msgid "bad arguments"
+msgstr "orri txar gehiegi"
+
+#: misc-utils/uuidd.c:159
+#, fuzzy
+msgid "socket"
+msgstr "Gailua: %s\n"
+
+#: misc-utils/uuidd.c:170
+msgid "connect"
+msgstr ""
+
+#: misc-utils/uuidd.c:189
+#, fuzzy
+msgid "write"
+msgstr "Idatzi"
+
+#: misc-utils/uuidd.c:197
+msgid "read count"
+msgstr ""
+
+#: misc-utils/uuidd.c:203
+msgid "bad response length"
+msgstr ""
+
+#: misc-utils/uuidd.c:268
+#, c-format
+msgid "uuidd daemon already running at pid %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:276
+#, c-format
+msgid "Couldn't create unix stream socket: %s"
+msgstr ""
+
+#: misc-utils/uuidd.c:305
+#, c-format
+msgid "Couldn't bind unix socket %s: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:313
+#, c-format
+msgid "Couldn't listen on unix socket %s: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:351
+#, c-format
+msgid "Error reading from client, len = %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:359
+#, c-format
+msgid "operation %d, incoming num = %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:378
+#, c-format
+msgid "Generated time UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:388
+#, c-format
+msgid "Generated random UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:397
+#, c-format
+msgid "Generated time UUID %s and %d following\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:415
+#, c-format
+msgid "Generated %d UUID's:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:427
+#, c-format
+msgid "Invalid operation %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:468 misc-utils/uuidd.c:489
+#, c-format
+msgid "Bad number: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:524 misc-utils/uuidd.c:551
+#, c-format
+msgid "Error calling uuidd daemon (%s): %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:534
+#, c-format
+msgid "%s and subsequent %d UUID's\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:536
+#, c-format
+msgid "List of UUID's:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:557
+#, c-format
+msgid "Unexpected reply length from server %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:574
+#, c-format
+msgid "Couldn't kill uuidd running at pid %d: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:580
+#, c-format
+msgid "Killed uuidd running at pid %d\n"
+msgstr ""
+
+#: misc-utils/uuidgen.c:32
+#, fuzzy, c-format
+msgid "Usage: %s [-r] [-t]\n"
+msgstr "erabilera: %s [ -n] gailua\n"
+
+#: misc-utils/whereis.c:159
+#, c-format
+msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
+msgstr ""
+
+#: misc-utils/write.c:101
+#, c-format
+msgid "write: can't find your tty's name\n"
+msgstr ""
+
+#: misc-utils/write.c:112
+#, c-format
+msgid "write: you have write permission turned off.\n"
+msgstr ""
+
+#: misc-utils/write.c:133
+#, c-format
+msgid "write: %s is not logged in on %s.\n"
+msgstr ""
+
+#: misc-utils/write.c:141
+#, c-format
+msgid "write: %s has messages disabled on %s\n"
+msgstr ""
+
+#: misc-utils/write.c:148
+#, c-format
+msgid "usage: write user [tty]\n"
+msgstr ""
+
+#: misc-utils/write.c:236
+#, c-format
+msgid "write: %s is not logged in\n"
+msgstr ""
+
+#: misc-utils/write.c:245
+#, c-format
+msgid "write: %s has messages disabled\n"
+msgstr ""
+
+#: misc-utils/write.c:249
+#, c-format
+msgid "write: %s is logged in more than once; writing to %s\n"
+msgstr ""
+
+#: misc-utils/write.c:317
+#, c-format
+msgid "Message from %s@%s (as %s) on %s at %s ..."
+msgstr ""
+
+#: misc-utils/write.c:320
+#, c-format
+msgid "Message from %s@%s on %s at %s ..."
+msgstr ""
+
+#: mount/fstab.c:143
+#, c-format
+msgid "warning: error reading %s: %s"
+msgstr ""
+
+#: mount/fstab.c:171 mount/fstab.c:196
+#, c-format
+msgid "warning: can't open %s: %s"
+msgstr ""
+
+#: mount/fstab.c:176
+#, c-format
+msgid "mount: could not open %s - using %s instead\n"
+msgstr ""
+
+#: mount/fstab.c:589
+#, c-format
+msgid "can't create lock file %s: %s (use -n flag to override)"
+msgstr ""
+
+#: mount/fstab.c:615
+#, c-format
+msgid "can't link lock file %s: %s (use -n flag to override)"
+msgstr ""
+
+#: mount/fstab.c:631
+#, c-format
+msgid "can't open lock file %s: %s (use -n flag to override)"
+msgstr ""
+
+#: mount/fstab.c:646
+#, c-format
+msgid "Can't lock lock file %s: %s\n"
+msgstr ""
+
+#: mount/fstab.c:660
+#, c-format
+msgid "can't lock lock file %s: %s"
+msgstr ""
+
+#: mount/fstab.c:662
+msgid "timed out"
+msgstr ""
+
+#: mount/fstab.c:669
+#, c-format
+msgid ""
+"Cannot create link %s\n"
+"Perhaps there is a stale lock file?\n"
+msgstr ""
+
+#: mount/fstab.c:791 mount/fstab.c:846
+#, c-format
+msgid "cannot open %s (%s) - mtab not updated"
+msgstr ""
+
+#: mount/fstab.c:855
+#, c-format
+msgid "error writing %s: %s"
+msgstr ""
+
+#: mount/fstab.c:873
+#, c-format
+msgid "error changing mode of %s: %s\n"
+msgstr ""
+
+#: mount/fstab.c:886
+#, c-format
+msgid "error changing owner of %s: %s\n"
+msgstr ""
+
+#: mount/fstab.c:897
+#, c-format
+msgid "can't rename %s to %s: %s\n"
+msgstr ""
+
+#: mount/lomount.c:364
+#, c-format
+msgid "loop: can't set capacity on device %s: %s\n"
+msgstr ""
+
+#: mount/lomount.c:388
+#, c-format
+msgid ", offset %<PRIu64>"
+msgstr ""
+
+#: mount/lomount.c:391
+#, c-format
+msgid ", sizelimit %<PRIu64>"
+msgstr ""
+
+#: mount/lomount.c:399
+#, c-format
+msgid ", encryption %s (type %<PRIu32>)"
+msgstr ""
+
+#: mount/lomount.c:412
+#, c-format
+msgid ", offset %d"
+msgstr ""
+
+#: mount/lomount.c:415
+#, c-format
+msgid ", encryption type %d\n"
+msgstr ""
+
+#: mount/lomount.c:423
+#, c-format
+msgid "loop: can't get info on device %s: %s\n"
+msgstr ""
+
+#: mount/lomount.c:434
+#, c-format
+msgid "loop: can't open device %s: %s\n"
+msgstr ""
+
+#: mount/lomount.c:450 mount/lomount.c:482 mount/lomount.c:544
+#: mount/lomount.c:589
+#, c-format
+msgid "%s: /dev directory does not exist."
+msgstr ""
+
+#: mount/lomount.c:461 mount/lomount.c:602
+#, c-format
+msgid "%s: no permission to look at /dev/loop%s<N>"
+msgstr ""
+
+#: mount/lomount.c:605
+#, c-format
+msgid "%s: could not find any free loop device"
+msgstr ""
+
+#: mount/lomount.c:608
+#, c-format
+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/lomount.c:638
+#, fuzzy
+msgid "Out of memory while reading passphrase"
+msgstr "Memoriarik ez buffer-a hazterakoan.\n"
+
+#: mount/lomount.c:681
+#, c-format
+msgid "warning: %s is already associated with %s\n"
+msgstr ""
+
+#: mount/lomount.c:697
+#, c-format
+msgid "warning: %s: is write-protected, using read-only.\n"
+msgstr ""
+
+#: mount/lomount.c:733
+#, c-format
+msgid "Couldn't lock into memory, exiting.\n"
+msgstr ""
+
+#: mount/lomount.c:760
+#, c-format
+msgid "ioctl LOOP_SET_FD failed: %s\n"
+msgstr ""
+
+#: mount/lomount.c:817
+#, c-format
+msgid "set_loop(%s,%s,%llu,%llu): success\n"
+msgstr ""
+
+#: mount/lomount.c:838
+#, c-format
+msgid "del_loop(%s): success\n"
+msgstr ""
+
+#: mount/lomount.c:842
+#, c-format
+msgid "loop: can't delete device %s: %s\n"
+msgstr ""
+
+#: mount/lomount.c:853
+#, c-format
+msgid "This mount was compiled without loop support. Please recompile.\n"
+msgstr ""
+
+#: mount/lomount.c:888
+#, c-format
+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 ""
+
+#: mount/lomount.c:898
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -e | --encryption <type> enable data encryption with specified <name/num>\n"
+" -h | --help              this help\n"
+" -o | --offset <num>      start at offset <num> into file\n"
+"      --sizelimit <num>   loop limited to only <num> bytes of the file\n"
+" -p | --pass-fd <num>     read passphrase from file descriptor <num>\n"
+" -r | --read-only         setup read-only loop device\n"
+"      --show              print device name (with -f <file>)\n"
+" -v | --verbose           verbose mode\n"
+"\n"
+msgstr ""
+
+#: mount/lomount.c:1036 mount/lomount.c:1076
+#, fuzzy, c-format
+msgid "Loop device is %s\n"
+msgstr "Gailua: %s\n"
+
+#: mount/lomount.c:1063
+#, c-format
+msgid "stolen loop=%s...trying again\n"
+msgstr ""
+
+#: mount/lomount.c:1073
+#, c-format
+msgid "%s: %s: device is busy"
+msgstr ""
+
+#: mount/lomount.c:1090
+#, c-format
+msgid "No loop support was available at compile time. Please recompile.\n"
+msgstr ""
+
+#: mount/mount.c:329
+#, c-format
+msgid "mount: improperly quoted option string '%s'"
+msgstr ""
+
+#: mount/mount.c:362
+#, c-format
+msgid "mount: translated %s '%s' to '%s'\n"
+msgstr ""
+
+#: mount/mount.c:526
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s"
+msgstr ""
+
+#: mount/mount.c:531
+#, c-format
+msgid "mount: according to mtab, %s is mounted on %s"
+msgstr ""
+
+#: mount/mount.c:555
+#, c-format
+msgid "mount: can't open %s for writing: %s"
+msgstr ""
+
+#: mount/mount.c:572 mount/mount.c:1190
+#, c-format
+msgid "mount: error writing %s: %s"
+msgstr ""
+
+#: mount/mount.c:580
+#, c-format
+msgid "mount: error changing mode of %s: %s"
+msgstr ""
+
+#: mount/mount.c:663
+#, c-format
+msgid "mount: cannot set group id: %s"
+msgstr ""
+
+#: mount/mount.c:666
+#, c-format
+msgid "mount: cannot set user id: %s"
+msgstr ""
+
+#: mount/mount.c:705 mount/mount.c:1809
+#, c-format
+msgid "mount: cannot fork: %s"
+msgstr ""
+
+#: mount/mount.c:842
+#, c-format
+msgid "Trying %s\n"
+msgstr ""
+
+#: mount/mount.c:870
+#, c-format
+msgid "mount: you didn't specify a filesystem type for %s\n"
+msgstr ""
+
+#: mount/mount.c:873
+#, c-format
+msgid "       I will try all types mentioned in %s or %s\n"
+msgstr ""
+
+#: mount/mount.c:876
+#, c-format
+msgid "       and it looks like this is swapspace\n"
+msgstr ""
+
+#: mount/mount.c:878
+#, c-format
+msgid "       I will try type %s\n"
+msgstr ""
+
+#: mount/mount.c:902
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr ""
+
+#: mount/mount.c:993
+msgid "mount failed"
+msgstr ""
+
+#: mount/mount.c:995
+#, c-format
+msgid "mount: only root can mount %s on %s"
+msgstr ""
+
+#: mount/mount.c:1065
+msgid "mount: loop device specified twice"
+msgstr ""
+
+#: mount/mount.c:1070
+msgid "mount: type specified twice"
+msgstr ""
+
+#: mount/mount.c:1082
+#, c-format
+msgid "mount: skipping the setup of a loop device\n"
+msgstr ""
+
+#: mount/mount.c:1094
+#, c-format
+msgid "mount: according to mtab %s is already mounted on %s as loop"
+msgstr ""
+
+#: mount/mount.c:1104
+#, c-format
+msgid "mount: going to use the loop device %s\n"
+msgstr ""
+
+#: mount/mount.c:1113
+#, c-format
+msgid "mount: stolen loop=%s ...trying again\n"
+msgstr ""
+
+#: mount/mount.c:1118
+#, c-format
+msgid "mount: stolen loop=%s"
+msgstr ""
+
+#: mount/mount.c:1123
+#, c-format
+msgid "mount: failed setting up loop device\n"
+msgstr ""
+
+#: mount/mount.c:1134
+#, c-format
+msgid "mount: setup loop device successfully\n"
+msgstr ""
+
+#: mount/mount.c:1168
+#, c-format
+msgid "mount: no %s found - creating it..\n"
+msgstr ""
+
+#: mount/mount.c:1185
+#, c-format
+msgid "mount: can't open %s: %s"
+msgstr ""
+
+#: mount/mount.c:1206
+msgid "mount: argument to -p or --pass-fd must be a number"
+msgstr ""
+
+#: mount/mount.c:1219
+#, c-format
+msgid "mount: cannot open %s for setting speed"
+msgstr ""
+
+#: mount/mount.c:1222
+#, c-format
+msgid "mount: cannot set speed: %s"
+msgstr ""
+
+#: mount/mount.c:1279
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s\n"
+msgstr ""
+
+#: mount/mount.c:1358
+msgid ""
+"mount: I could not determine the filesystem type, and none was specified"
+msgstr ""
+
+#: mount/mount.c:1361
+msgid "mount: you must specify the filesystem type"
+msgstr ""
+
+#: mount/mount.c:1364
+msgid "mount: mount failed"
+msgstr ""
+
+#: mount/mount.c:1370 mount/mount.c:1407
+#, c-format
+msgid "mount: mount point %s is not a directory"
+msgstr ""
+
+#: mount/mount.c:1372
+msgid "mount: permission denied"
+msgstr ""
+
+#: mount/mount.c:1374
+msgid "mount: must be superuser to use mount"
+msgstr ""
+
+#: mount/mount.c:1378 mount/mount.c:1382
+#, c-format
+msgid "mount: %s is busy"
+msgstr ""
+
+#: mount/mount.c:1384
+msgid "mount: proc already mounted"
+msgstr ""
+
+#: mount/mount.c:1386
+#, c-format
+msgid "mount: %s already mounted or %s busy"
+msgstr ""
+
+#: mount/mount.c:1392
+#, c-format
+msgid "mount: mount point %s does not exist"
+msgstr ""
+
+#: mount/mount.c:1394
+#, c-format
+msgid "mount: mount point %s is a symbolic link to nowhere"
+msgstr ""
+
+#: mount/mount.c:1399
+#, c-format
+msgid "mount: special device %s does not exist"
+msgstr ""
+
+#: mount/mount.c:1411
+#, c-format
+msgid ""
+"mount: special device %s does not exist\n"
+"       (a path prefix is not a directory)\n"
+msgstr ""
+
+#: mount/mount.c:1423
+#, c-format
+msgid "mount: %s not mounted already, or bad option"
+msgstr ""
+
+#: mount/mount.c:1425
+#, c-format
+msgid ""
+"mount: wrong fs type, bad option, bad superblock on %s,\n"
+"       missing codepage or helper program, or other error"
+msgstr ""
+
+#: mount/mount.c:1432
+msgid ""
+"       (for several filesystems (e.g. nfs, cifs) you might\n"
+"       need a /sbin/mount.<type> helper program)"
+msgstr ""
+
+#: mount/mount.c:1441
+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/mount.c:1446
+msgid ""
+"       (aren't you trying to mount an extended partition,\n"
+"       instead of some logical partition inside?)"
+msgstr ""
+
+#: mount/mount.c:1453
+msgid ""
+"       In some cases useful info is found in syslog - try\n"
+"       dmesg | tail  or so\n"
+msgstr ""
+
+#: mount/mount.c:1459
+msgid "mount table full"
+msgstr ""
+
+#: mount/mount.c:1461
+#, c-format
+msgid "mount: %s: can't read superblock"
+msgstr ""
+
+#: mount/mount.c:1467
+#, c-format
+msgid "mount: %s: unknown device"
+msgstr ""
+
+#: mount/mount.c:1472
+#, c-format
+msgid "mount: unknown filesystem type '%s'"
+msgstr ""
+
+#: mount/mount.c:1484
+#, c-format
+msgid "mount: probably you meant %s"
+msgstr ""
+
+#: mount/mount.c:1487
+msgid "mount: maybe you meant 'iso9660'?"
+msgstr ""
+
+#: mount/mount.c:1490
+msgid "mount: maybe you meant 'vfat'?"
+msgstr ""
+
+#: mount/mount.c:1493
+#, c-format
+msgid "mount: %s has wrong device number or fs type %s not supported"
+msgstr ""
+
+#: mount/mount.c:1501
+#, c-format
+msgid "mount: %s is not a block device, and stat fails?"
+msgstr ""
+
+#: mount/mount.c:1503
+#, c-format
+msgid ""
+"mount: the kernel does not recognize %s as a block device\n"
+"       (maybe `insmod driver'?)"
+msgstr ""
+
+#: mount/mount.c:1506
+#, c-format
+msgid "mount: %s is not a block device (maybe try `-o loop'?)"
+msgstr ""
+
+#: mount/mount.c:1509
+#, c-format
+msgid "mount: %s is not a block device"
+msgstr ""
+
+#: mount/mount.c:1514
+#, c-format
+msgid "mount: %s is not a valid block device"
+msgstr ""
+
+#: mount/mount.c:1517
+msgid "block device "
+msgstr ""
+
+#: mount/mount.c:1519
+#, c-format
+msgid "mount: cannot mount %s%s read-only"
+msgstr ""
+
+#: mount/mount.c:1523
+#, c-format
+msgid "mount: %s%s is write-protected but explicit `-w' flag given"
+msgstr ""
+
+#: mount/mount.c:1527
+#, c-format
+msgid "mount: cannot remount %s%s read-write, is write-protected"
+msgstr ""
+
+#: mount/mount.c:1542
+#, c-format
+msgid "mount: %s%s is write-protected, mounting read-only"
+msgstr ""
+
+#: mount/mount.c:1552
+#, c-format
+msgid "mount: no medium found on %s ...trying again\n"
+msgstr ""
+
+#: mount/mount.c:1558
+#, c-format
+msgid "mount: no medium found on %s"
+msgstr ""
+
+#: mount/mount.c:1576
+#, 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/mount.c:1655
+#, c-format
+msgid "mount: no type was given - I'll assume nfs because of the colon\n"
+msgstr ""
+
+#: mount/mount.c:1661
+#, c-format
+msgid "mount: no type was given - I'll assume cifs because of the // prefix\n"
+msgstr ""
+
+#: mount/mount.c:1756
+#, c-format
+msgid "mount: %s already mounted on %s\n"
+msgstr ""
+
+#: mount/mount.c:1890
+#, 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/mount.c:2213
+msgid "mount: only root can do that"
+msgstr ""
+
+#: mount/mount.c:2223
+msgid "nothing was mounted"
+msgstr ""
+
+#: mount/mount.c:2241 mount/mount.c:2267
+msgid "mount: no such partition found"
+msgstr ""
+
+#: mount/mount.c:2244
+#, c-format
+msgid "mount: can't find %s in %s or %s"
+msgstr ""
+
+#: mount/mount_mntent.c:165
+#, c-format
+msgid "[mntent]: warning: no final newline at the end of %s\n"
+msgstr ""
+
+#: mount/mount_mntent.c:216
+#, c-format
+msgid "[mntent]: line %d in %s is bad%s\n"
+msgstr ""
+
+#: mount/mount_mntent.c:219
+msgid "; rest of file ignored"
+msgstr ""
+
+#: mount/sundries.c:31
+msgid "bug in xstrndup call"
+msgstr ""
+
+#: mount/sundries.c:224 mount/sundries.c:280 mount/sundries.c:289
+#: mount/xmalloc.c:11
+msgid "not enough memory"
+msgstr ""
+
+#: mount/swapon.c:84
+#, c-format
+msgid ""
+"The <special> parameter:\n"
+" {-L label | LABEL=label}             LABEL of device to be used\n"
+" {-U uuid  | 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"
+"\n"
+msgstr ""
+
+#: mount/swapon.c:92
+#, c-format
+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 ""
+
+#: mount/swapon.c:106
+#, c-format
+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 ""
+
+#: mount/swapon.c:140
+#, c-format
+msgid "%s: unexpected file format"
+msgstr ""
+
+#: mount/swapon.c:184 mount/swapon.c:252 mount/swapon.c:397 mount/swapon.c:556
+#: mount/swapon.c:758
+#, fuzzy, c-format
+msgid "%s: open failed"
+msgstr "fsync-ek huts egin du"
+
+#: mount/swapon.c:205
+#, c-format
+msgid "%s: reinitializing the swap."
+msgstr ""
+
+#: mount/swapon.c:209
+#, fuzzy
+msgid "fork failed"
+msgstr "fsync-ek huts egin du"
+
+#: mount/swapon.c:225
+#, fuzzy
+msgid "execv failed"
+msgstr "fsync-ek huts egin du"
+
+#: mount/swapon.c:233
+#, fuzzy
+msgid "waitpid failed"
+msgstr "setuid()-k huts egin du"
+
+#: mount/swapon.c:257
+#, fuzzy, c-format
+msgid "%s: lseek failed"
+msgstr "fsync-ek huts egin du"
+
+#: mount/swapon.c:263
+#, c-format
+msgid "%s: write signature failed"
+msgstr ""
+
+#: mount/swapon.c:350
+#, c-format
+msgid "%s: found %sswap v%d signature string for %d KiB PAGE_SIZE\n"
+msgstr ""
+
+#: mount/swapon.c:370
+#, fuzzy, c-format
+msgid "%s: stat failed"
+msgstr "fsync-ek huts egin du"
+
+#: mount/swapon.c:380
+#, c-format
+msgid "%s: insecure permissions %04o, %04o suggested."
+msgstr ""
+
+#: mount/swapon.c:388
+#, c-format
+msgid "%s: skipping - it appears to have holes."
+msgstr ""
+
+#: mount/swapon.c:402
+#, fuzzy, c-format
+msgid "%s: get size failed"
+msgstr "setuid()-k huts egin du"
+
+#: mount/swapon.c:408
+#, c-format
+msgid "%s: read swap header failed"
+msgstr ""
+
+#: mount/swapon.c:421
+#, c-format
+msgid "%s: last_page 0x%08llx is larger than actual size of swapspace"
+msgstr ""
+
+#: mount/swapon.c:426
+#, c-format
+msgid "%s: swap format pagesize does not match."
+msgstr ""
+
+#: mount/swapon.c:431
+#, c-format
+msgid ""
+"%s: swap format pagesize does not match. (Use --fixpgsz to reinitialize it.)"
+msgstr ""
+
+#: mount/swapon.c:440
+#, c-format
+msgid "%s: software suspend data detected. Rewriting the swap signature."
+msgstr ""
+
+#: mount/swapon.c:464 mount/swapon.c:514
+#, c-format
+msgid "%s on %s\n"
+msgstr ""
+
+#: mount/swapon.c:486
+#, fuzzy, c-format
+msgid "%s: swapon failed"
+msgstr "fsync-ek huts egin du"
+
+#: mount/swapon.c:493
+#, c-format
+msgid "cannot find the device for %s"
+msgstr ""
+
+#: mount/swapon.c:526
+msgid "Not superuser."
+msgstr ""
+
+#: mount/swapon.c:529
+#, fuzzy, c-format
+msgid "%s: swapoff failed"
+msgstr "fsync-ek huts egin du"
+
+#: mount/umount.c:41
+#, c-format
+msgid "umount: compiled without support for -f\n"
+msgstr ""
+
+#: mount/umount.c:111
+#, c-format
+msgid "umount: cannot set group id: %s"
+msgstr ""
+
+#: mount/umount.c:114
+#, c-format
+msgid "umount: cannot set user id: %s"
+msgstr ""
+
+#: mount/umount.c:139
+#, c-format
+msgid "umount: cannot fork: %s"
+msgstr ""
+
+#: mount/umount.c:160
+#, c-format
+msgid "umount: %s: invalid block device"
+msgstr ""
+
+#: mount/umount.c:162
+#, c-format
+msgid "umount: %s: not mounted"
+msgstr ""
+
+#: mount/umount.c:164
+#, c-format
+msgid "umount: %s: can't write superblock"
+msgstr ""
+
+#: mount/umount.c:168
+#, 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/umount.c:173
+#, c-format
+msgid "umount: %s: not found"
+msgstr ""
+
+#: mount/umount.c:175
+#, c-format
+msgid "umount: %s: must be superuser to umount"
+msgstr ""
+
+#: mount/umount.c:177
+#, c-format
+msgid "umount: %s: block devices not permitted on fs"
+msgstr ""
+
+#: mount/umount.c:179
+#, c-format
+msgid "umount: %s: %s"
+msgstr ""
+
+#: mount/umount.c:235
+#, c-format
+msgid "no umount2, trying umount...\n"
+msgstr ""
+
+#: mount/umount.c:252
+#, c-format
+msgid "umount: %s busy - remounted read-only\n"
+msgstr ""
+
+#: mount/umount.c:263
+#, c-format
+msgid "umount: could not remount %s read-only\n"
+msgstr ""
+
+#: mount/umount.c:272
+#, c-format
+msgid "%s umounted\n"
+msgstr ""
+
+#: mount/umount.c:367
+msgid "umount: cannot find list of filesystems to unmount"
+msgstr ""
+
+#: mount/umount.c:397
+#, 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/umount.c:466
+#, c-format
+msgid "device %s is associated with %s\n"
+msgstr ""
+
+#: mount/umount.c:472
+#, c-format
+msgid "device %s is not associated with %s\n"
+msgstr ""
+
+#: mount/umount.c:485
+msgid "Cannot umount \"\"\n"
+msgstr ""
+
+#: mount/umount.c:491
+#, c-format
+msgid "Trying to umount %s\n"
+msgstr ""
+
+#: mount/umount.c:504
+msgid "umount: confused when analyzing mtab"
+msgstr ""
+
+#: mount/umount.c:509
+#, c-format
+msgid "umount: cannot umount %s -- %s is mounted over it on the same point."
+msgstr ""
+
+#: mount/umount.c:516
+#, c-format
+msgid "Could not find %s in mtab\n"
+msgstr ""
+
+#: mount/umount.c:523
+#, c-format
+msgid "umount: %s is not mounted (according to mtab)"
+msgstr ""
+
+#: mount/umount.c:547
+#, c-format
+msgid "umount: it seems %s is mounted multiple times"
+msgstr ""
+
+#: mount/umount.c:561
+#, c-format
+msgid "umount: %s is not in the fstab (and you are not root)"
+msgstr ""
+
+#: mount/umount.c:567
+#, c-format
+msgid "umount: %s mount disagrees with the fstab"
+msgstr ""
+
+#: mount/umount.c:608
+#, c-format
+msgid "umount: only %s can unmount %s from %s"
+msgstr ""
+
+#: mount/umount.c:695
+msgid "umount: only root can do that"
+msgstr ""
+
+#: schedutils/chrt.c:56
+#, 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"
+"\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 ""
+
+#: schedutils/chrt.c:88
+#, c-format
+msgid "failed to get pid %d's policy"
+msgstr ""
+
+#: schedutils/chrt.c:90
+#, c-format
+msgid "pid %d's %s scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:112
+#, fuzzy, c-format
+msgid "unknown\n"
+msgstr "Ezezaguna"
+
+#: schedutils/chrt.c:116
+#, c-format
+msgid "failed to get pid %d's attributes"
+msgstr ""
+
+#: schedutils/chrt.c:118
+#, c-format
+msgid "pid %d's %s scheduling priority: %d\n"
+msgstr ""
+
+#: schedutils/chrt.c:147
+#, c-format
+msgid "SCHED_%s min/max priority\t: %d/%d\n"
+msgstr ""
+
+#: schedutils/chrt.c:150
+#, c-format
+msgid "SCHED_%s not supported?\n"
+msgstr ""
+
+#: schedutils/chrt.c:206
+msgid "failed to parse pid"
+msgstr ""
+
+#: schedutils/chrt.c:228
+msgid "current"
+msgstr ""
+
+#: schedutils/chrt.c:236
+msgid "failed to parse priority"
+msgstr ""
+
+#: schedutils/chrt.c:242
+#, c-format
+msgid "failed to set pid %d's policy"
+msgstr ""
+
+#: schedutils/chrt.c:251
+#, c-format
+msgid "failed to execute %s"
+msgstr ""
+
+#: schedutils/ionice.c:57
+msgid "ioprio_get failed"
+msgstr ""
+
+#: schedutils/ionice.c:75
+#, fuzzy
+msgid "ioprio_set failed"
+msgstr "setuid()-k huts egin du"
+
+#: schedutils/ionice.c:81
+#, c-format
+msgid ""
+"\n"
+"ionice - sets or gets process io scheduling class and priority.\n"
+"\n"
+"Usage:\n"
+"  ionice [ options ] -p <pid> [<pid> ...]\n"
+"  ionoce [ 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 ""
+
+#: schedutils/ionice.c:110 schedutils/ionice.c:112
+#, fuzzy, c-format
+msgid "cannot parse number '%s'"
+msgstr "Ezin da '%s' fitxategia ireki"
+
+#: schedutils/ionice.c:151
+msgid "ignoring given class data for none class"
+msgstr ""
+
+#: schedutils/ionice.c:159
+msgid "ignoring given class data for idle class"
+msgstr ""
+
+#: schedutils/ionice.c:163
+#, c-format
+msgid "bad prio class %d"
+msgstr ""
+
+#: schedutils/ionice.c:187
+#, fuzzy
+msgid "execvp failed"
+msgstr "fsync-ek huts egin du"
+
+#: sys-utils/ctrlaltdel.c:27
+#, c-format
+msgid "You must be root to set the Ctrl-Alt-Del behaviour.\n"
+msgstr ""
+
+#: sys-utils/ctrlaltdel.c:42
+#, c-format
+msgid "Usage: ctrlaltdel hard|soft\n"
+msgstr ""
+
+#: sys-utils/cytune.c:114
+#, 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\n"
+msgstr ""
+
+#: sys-utils/cytune.c:125
+#, c-format
+msgid ""
+"File %s, For threshold value %lu and timrout value %lu, Maximum characters "
+"in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f\n"
+msgstr ""
+
+#: sys-utils/cytune.c:189
+#, c-format
+msgid "Invalid interval value: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:197
+#, c-format
+msgid "Invalid set value: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:205
+#, c-format
+msgid "Invalid default value: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:213
+#, c-format
+msgid "Invalid set time value: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:221
+#, c-format
+msgid "Invalid default time value: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:238
+#, c-format
+msgid ""
+"Usage: %s [-q [-i interval]] ([-s value]|[-S value]) ([-t value]|[-T value]) "
+"[-g|-G] file [file...]\n"
+msgstr ""
+
+#: sys-utils/cytune.c:250 sys-utils/cytune.c:269 sys-utils/cytune.c:289
+#: sys-utils/cytune.c:339
+#, c-format
+msgid "Can't open %s: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:257
+#, c-format
+msgid "Can't set %s to threshold %d: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:276
+#, c-format
+msgid "Can't set %s to time threshold %d: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:294 sys-utils/cytune.c:351 sys-utils/cytune.c:382
+#, c-format
+msgid "Can't get threshold for %s: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:300 sys-utils/cytune.c:357 sys-utils/cytune.c:388
+#, c-format
+msgid "Can't get timeout for %s: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:306
+#, c-format
+msgid "%s: %ld current threshold and %ld current timeout\n"
+msgstr ""
+
+#: sys-utils/cytune.c:309
+#, c-format
+msgid "%s: %ld default threshold and %ld default timeout\n"
+msgstr ""
+
+#: sys-utils/cytune.c:327
+msgid "Can't set signal handler"
+msgstr ""
+
+#: sys-utils/cytune.c:331 sys-utils/cytune.c:366
+msgid "gettimeofday failed"
+msgstr ""
+
+#: sys-utils/cytune.c:344 sys-utils/cytune.c:376
+#, c-format
+msgid "Can't issue CYGETMON on %s: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:418
+#, c-format
+msgid ""
+"%s: %lu ints, %lu/%lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+
+#: sys-utils/cytune.c:424
+#, c-format
+msgid "   %f int/sec; %f rec, %f send (char/sec)\n"
+msgstr ""
+
+#: sys-utils/cytune.c:429
+#, c-format
+msgid ""
+"%s: %lu ints, %lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+
+#: sys-utils/cytune.c:435
+#, c-format
+msgid "   %f int/sec; %f rec (char/sec)\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:45
+#, c-format
+msgid "Usage: %s [-c] [-n level] [-r] [-s bufsize]\n"
+msgstr ""
+
+#: sys-utils/flock.c:65
+#, c-format
+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 ""
+
+#: sys-utils/flock.c:192
+#, c-format
+msgid "%s: %s requires exactly one command argument\n"
+msgstr ""
+
+#: sys-utils/flock.c:219
+#, fuzzy, c-format
+msgid "%s: cannot open lock file %s: %s\n"
+msgstr "Ezin da '%s' fitxategia ireki"
+
+#: sys-utils/flock.c:231
+#, c-format
+msgid "%s: bad number: %s\n"
+msgstr ""
+
+#: sys-utils/flock.c:238
+#, c-format
+msgid "%s: requires file descriptor, file or directory\n"
+msgstr ""
+
+#: sys-utils/flock.c:294
+#, fuzzy, c-format
+msgid "%s: fork failed: %s\n"
+msgstr "fsync-ek huts egin du"
+
+#: sys-utils/ipcmk.c:84
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [options]\n"
+"\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:86
+#, c-format
+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 ""
+
+#: sys-utils/ipcmk.c:90
+#, c-format
+msgid ""
+"\n"
+"For more information see ipcmk(1).\n"
+"\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:142
+msgid "create share memory failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:144
+#, c-format
+msgid "Shared memory id: %d\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:150
+msgid "create message queue failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:152
+#, c-format
+msgid "Message queue id: %d\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:158
+msgid "create semaphore failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:160
+#, c-format
+msgid "Semaphore id: %d\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:66
+#, c-format
+msgid "invalid id: %s\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:84
+#, c-format
+msgid "cannot remove id %s (%s)\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:99
+#, c-format
+msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:126
+#, c-format
+msgid "unknown resource type: %s\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:130
+#, c-format
+msgid "resource(s) deleted\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:140
+#, c-format
+msgid ""
+"usage: %s [ [-q msqid] [-m shmid] [-s semid]\n"
+"          [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:181
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:193
+#, c-format
+msgid "%s: illegal key (%s)\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:208 sys-utils/ipcrm.c:240
+msgid "permission denied for key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:211 sys-utils/ipcrm.c:250
+msgid "already removed key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:214 sys-utils/ipcrm.c:245
+msgid "invalid key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:217 sys-utils/ipcrm.c:255
+msgid "unknown error in key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:241
+msgid "permission denied for id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:246
+msgid "invalid id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:251
+msgid "already removed id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:256
+msgid "unknown error in id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:259
+#, c-format
+msgid "%s: %s (%s)\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:267
+#, c-format
+msgid "%s: unknown argument: %s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:120
+#, c-format
+msgid "usage : %s -asmq -tclup \n"
+msgstr ""
+
+#: sys-utils/ipcs.c:121
+#, c-format
+msgid "\t%s [-s -m -q] -i id\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:122
+#, c-format
+msgid "\t%s -h for help.\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:128
+#, c-format
+msgid ""
+"%s provides information on ipc facilities for which you have read access.\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:130
+#, c-format
+msgid ""
+"Resource Specification:\n"
+"\t-m : shared_mem\n"
+"\t-q : messages\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:131
+#, c-format
+msgid ""
+"\t-s : semaphores\n"
+"\t-a : all (default)\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:132
+#, c-format
+msgid ""
+"Output Format:\n"
+"\t-t : time\n"
+"\t-p : pid\n"
+"\t-c : creator\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:133
+#, c-format
+msgid ""
+"\t-l : limits\n"
+"\t-u : summary\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:134
+#, c-format
+msgid "-i id [-s -q -m] : details on resource identified by id\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:258
+#, c-format
+msgid "kernel not configured for shared memory\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:264
+#, c-format
+msgid "------ Shared Memory Limits --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:269
+#, c-format
+msgid "max number of segments = %lu\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:271
+#, c-format
+msgid "max seg size (kbytes) = %lu\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:273
+#, c-format
+msgid "max total shared memory (kbytes) = %llu\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:275
+#, c-format
+msgid "min seg size (bytes) = %lu\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:280
+#, c-format
+msgid "------ Shared Memory Status --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:281
+#, c-format
+msgid "segments allocated %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:282
+#, c-format
+msgid "pages allocated %ld\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:283
+#, c-format
+msgid "pages resident  %ld\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:284
+#, c-format
+msgid "pages swapped   %ld\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:285
+#, c-format
+msgid "Swap performance: %ld attempts\t %ld successes\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:290
+#, c-format
+msgid "------ Shared Memory Segment Creators/Owners --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:298 sys-utils/ipcs.c:305
+#: sys-utils/ipcs.c:311
+msgid "shmid"
+msgstr ""
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:311 sys-utils/ipcs.c:412
+#: sys-utils/ipcs.c:427 sys-utils/ipcs.c:510 sys-utils/ipcs.c:528
+msgid "perms"
+msgstr ""
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "cuid"
+msgstr ""
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "cgid"
+msgstr ""
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "uid"
+msgstr ""
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "gid"
+msgstr ""
+
+#: sys-utils/ipcs.c:296
+#, c-format
+msgid "------ Shared Memory Attach/Detach/Change Times --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:298 sys-utils/ipcs.c:305 sys-utils/ipcs.c:311
+#: sys-utils/ipcs.c:418 sys-utils/ipcs.c:427 sys-utils/ipcs.c:516
+#: sys-utils/ipcs.c:522 sys-utils/ipcs.c:528
+msgid "owner"
+msgstr "jabea"
+
+#: sys-utils/ipcs.c:298
+msgid "attached"
+msgstr ""
+
+#: sys-utils/ipcs.c:298
+msgid "detached"
+msgstr ""
+
+#: sys-utils/ipcs.c:299
+msgid "changed"
+msgstr ""
+
+#: sys-utils/ipcs.c:303
+#, c-format
+msgid "------ Shared Memory Creator/Last-op --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:305
+msgid "cpid"
+msgstr ""
+
+#: sys-utils/ipcs.c:305
+msgid "lpid"
+msgstr ""
+
+#: sys-utils/ipcs.c:309
+#, c-format
+msgid "------ Shared Memory Segments --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:311 sys-utils/ipcs.c:427 sys-utils/ipcs.c:528
+msgid "key"
+msgstr ""
+
+#: sys-utils/ipcs.c:311
+msgid "bytes"
+msgstr ""
+
+#: sys-utils/ipcs.c:312
+msgid "nattch"
+msgstr ""
+
+#: sys-utils/ipcs.c:312
+msgid "status"
+msgstr ""
+
+#: sys-utils/ipcs.c:333 sys-utils/ipcs.c:335 sys-utils/ipcs.c:337
+#: sys-utils/ipcs.c:448 sys-utils/ipcs.c:450 sys-utils/ipcs.c:549
+#: sys-utils/ipcs.c:551 sys-utils/ipcs.c:553 sys-utils/ipcs.c:604
+#: sys-utils/ipcs.c:606 sys-utils/ipcs.c:634 sys-utils/ipcs.c:636
+#: sys-utils/ipcs.c:638 sys-utils/ipcs.c:661
+msgid "Not set"
+msgstr ""
+
+#: sys-utils/ipcs.c:365
+msgid "dest"
+msgstr ""
+
+#: sys-utils/ipcs.c:366
+msgid "locked"
+msgstr ""
+
+#: sys-utils/ipcs.c:386
+#, c-format
+msgid "kernel not configured for semaphores\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:392
+#, c-format
+msgid "------ Semaphore Limits --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:396
+#, c-format
+msgid "max number of arrays = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:397
+#, c-format
+msgid "max semaphores per array = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:398
+#, c-format
+msgid "max semaphores system wide = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:399
+#, c-format
+msgid "max ops per semop call = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:400
+#, c-format
+msgid "semaphore max value = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:404
+#, c-format
+msgid "------ Semaphore Status --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:405
+#, c-format
+msgid "used arrays = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:406
+#, c-format
+msgid "allocated semaphores = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:410
+#, c-format
+msgid "------ Semaphore Arrays Creators/Owners --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:412 sys-utils/ipcs.c:418 sys-utils/ipcs.c:427
+msgid "semid"
+msgstr ""
+
+#: sys-utils/ipcs.c:416
+#, c-format
+msgid "------ Semaphore Operation/Change Times --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:418
+msgid "last-op"
+msgstr ""
+
+#: sys-utils/ipcs.c:418
+msgid "last-changed"
+msgstr ""
+
+#: sys-utils/ipcs.c:425
+#, c-format
+msgid "------ Semaphore Arrays --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:427
+msgid "nsems"
+msgstr ""
+
+#: sys-utils/ipcs.c:486
+#, c-format
+msgid "kernel not configured for message queues\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:494
+#, c-format
+msgid "------ Messages: Limits --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:495
+#, c-format
+msgid "max queues system wide = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:496
+#, c-format
+msgid "max size of message (bytes) = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:497
+#, c-format
+msgid "default max size of queue (bytes) = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:501
+#, c-format
+msgid "------ Messages: Status --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:502
+#, c-format
+msgid "allocated queues = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:503
+#, c-format
+msgid "used headers = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:504
+#, c-format
+msgid "used space = %d bytes\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:508
+#, c-format
+msgid "------ Message Queues: Creators/Owners --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:510 sys-utils/ipcs.c:516 sys-utils/ipcs.c:522
+#: sys-utils/ipcs.c:528
+msgid "msqid"
+msgstr ""
+
+#: sys-utils/ipcs.c:514
+#, c-format
+msgid "------ Message Queues Send/Recv/Change Times --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:516
+msgid "send"
+msgstr ""
+
+#: sys-utils/ipcs.c:516
+msgid "recv"
+msgstr "recv"
+
+#: sys-utils/ipcs.c:516
+msgid "change"
+msgstr ""
+
+#: sys-utils/ipcs.c:520
+#, c-format
+msgid "------ Message Queues PIDs --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:522
+msgid "lspid"
+msgstr ""
+
+#: sys-utils/ipcs.c:522
+msgid "lrpid"
+msgstr ""
+
+#: sys-utils/ipcs.c:526
+#, c-format
+msgid "------ Message Queues --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:529
+msgid "used-bytes"
+msgstr ""
+
+#: sys-utils/ipcs.c:529
+msgid "messages"
+msgstr ""
+
+#: sys-utils/ipcs.c:593
+#, fuzzy
+msgid "shmctl failed"
+msgstr "fsync-ek huts egin du"
+
+#: sys-utils/ipcs.c:595
+#, c-format
+msgid ""
+"\n"
+"Shared memory Segment shmid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:596
+#, c-format
+msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:598
+#, c-format
+msgid "mode=%#o\taccess_perms=%#o\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:600
+#, c-format
+msgid "bytes=%ld\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:603
+#, c-format
+msgid "att_time=%-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:605
+#, c-format
+msgid "det_time=%-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:607 sys-utils/ipcs.c:637
+#, c-format
+msgid "change_time=%-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:619
+#, fuzzy
+msgid "msgctl failed"
+msgstr "fsync-ek huts egin du"
+
+#: sys-utils/ipcs.c:621
+#, c-format
+msgid ""
+"\n"
+"Message Queue msqid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:622
+#, c-format
+msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:624
+#, c-format
+msgid "cbytes=%ld\tqbytes=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:633
+#, c-format
+msgid "send_time=%-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:635
+#, c-format
+msgid "rcv_time=%-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:652 sys-utils/ipcs.c:674
+#, fuzzy
+msgid "semctl failed"
+msgstr "fsync-ek huts egin du"
+
+#: sys-utils/ipcs.c:654
+#, c-format
+msgid ""
+"\n"
+"Semaphore Array semid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:655
+#, c-format
+msgid "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:657
+#, c-format
+msgid "mode=%#o, access_perms=%#o\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:659
+#, c-format
+msgid "nsems = %ld\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:660
+#, c-format
+msgid "otime = %-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:662
+#, c-format
+msgid "ctime = %-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:665
+msgid "semnum"
+msgstr ""
+
+#: sys-utils/ipcs.c:665
+msgid "value"
+msgstr ""
+
+#: sys-utils/ipcs.c:665
+msgid "ncount"
+msgstr ""
+
+#: sys-utils/ipcs.c:665
+msgid "zcount"
+msgstr ""
+
+#: sys-utils/ipcs.c:665
+msgid "pid"
+msgstr ""
+
+#: sys-utils/ldattach.c:92
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [ -dhV78neo12 ] [ -s <speed> ] <ldisc> <device>\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:94
+msgid ""
+"\n"
+"Known <ldisc> names:\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:179
+#, c-format
+msgid "invalid speed: %s"
+msgstr ""
+
+#: sys-utils/ldattach.c:182
+#, fuzzy, c-format
+msgid "ldattach from %s\n"
+msgstr "Gailua: %s\n"
+
+#: sys-utils/ldattach.c:187 text-utils/tailf.c:205
+msgid "invalid option"
+msgstr ""
+
+#: sys-utils/ldattach.c:199
+#, c-format
+msgid "invalid line discipline: %s"
+msgstr ""
+
+#: sys-utils/ldattach.c:207
+#, c-format
+msgid "%s is not a serial line"
+msgstr ""
+
+#: sys-utils/ldattach.c:213
+#, c-format
+msgid "cannot get terminal attributes for %s"
+msgstr ""
+
+#: sys-utils/ldattach.c:216
+#, c-format
+msgid "speed %d unsupported"
+msgstr ""
+
+#: sys-utils/ldattach.c:247
+#, c-format
+msgid "cannot set terminal attributes for %s"
+msgstr ""
+
+#: sys-utils/ldattach.c:254
+#, fuzzy
+msgid "cannot set line discipline"
+msgstr "Ezin da bilatu disko unitatean"
+
+#: sys-utils/ldattach.c:260
+msgid "cannot daemonize"
+msgstr ""
+
+#: sys-utils/lscpu.c:64
+#, fuzzy
+msgid "none"
+msgstr "Ezer"
+
+#: sys-utils/lscpu.c:65
+msgid "para"
+msgstr ""
+
+#: sys-utils/lscpu.c:66
+msgid "full"
+msgstr ""
+
+#: sys-utils/lscpu.c:129 sys-utils/lscpu.c:152 sys-utils/lscpu.c:441
+#, c-format
+msgid "error: %s"
+msgstr ""
+
+#: sys-utils/lscpu.c:154
+#, c-format
+msgid "error parse: %s"
+msgstr ""
+
+#: sys-utils/lscpu.c:176
+msgid "error: strdup failed"
+msgstr ""
+
+#: sys-utils/lscpu.c:259
+msgid "error: uname failed"
+msgstr ""
+
+#: sys-utils/lscpu.c:491
+#, fuzzy
+msgid "error: malloc failed"
+msgstr "settimeofday()-ek huts egin du"
+
+#: sys-utils/lscpu.c:506
+msgid "error: /sys filesystem is not accessable."
+msgstr ""
+
+#: sys-utils/lscpu.c:524
+#, 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"
+"# CPU,Core,Socket,Node"
+msgstr ""
+
+#: sys-utils/lscpu.c:590
+msgid "Thread(s) per core:"
+msgstr ""
+
+#: sys-utils/lscpu.c:591
+msgid "Core(s) per socket:"
+msgstr ""
+
+#: sys-utils/lscpu.c:592
+msgid "CPU socket(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:596
+msgid "NUMA node(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:598
+msgid "Vendor ID:"
+msgstr ""
+
+#: sys-utils/lscpu.c:600
+msgid "CPU family:"
+msgstr ""
+
+#: sys-utils/lscpu.c:602
+msgid "Model:"
+msgstr ""
+
+#: sys-utils/lscpu.c:604
+msgid "Stepping:"
+msgstr ""
+
+#: sys-utils/lscpu.c:606
+msgid "CPU MHz:"
+msgstr ""
+
+#: sys-utils/lscpu.c:609 sys-utils/lscpu.c:611
+msgid "Virtualization:"
+msgstr ""
+
+#: sys-utils/lscpu.c:614
+msgid "Hypervisor vendor:"
+msgstr ""
+
+#: sys-utils/lscpu.c:615
+msgid "Virtualization type:"
+msgstr ""
+
+#: sys-utils/lscpu.c:623
+#, c-format
+msgid "%s cache:"
+msgstr ""
+
+#: sys-utils/lscpu.c:631
+#, fuzzy, c-format
+msgid "Usage: %s [option]\n"
+msgstr "erabilera: %s [ -n] gailua\n"
+
+#: sys-utils/lscpu.c:634
+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 ""
+
+#: sys-utils/lscpu.c:683
+#, c-format
+msgid "error: change working directory to %s."
+msgstr ""
+
+#: sys-utils/rdev.c:77
+msgid "usage: rdev [ -rv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]"
+msgstr ""
+
+#: sys-utils/rdev.c:78
+msgid ""
+"  rdev /dev/fd0  (or rdev /linux, etc.) displays the current ROOT device"
+msgstr ""
+
+#: sys-utils/rdev.c:79
+msgid "  rdev /dev/fd0 /dev/hda2         sets ROOT to /dev/hda2"
+msgstr ""
+
+#: sys-utils/rdev.c:80
+msgid "  rdev -R /dev/fd0 1              set the ROOTFLAGS (readonly status)"
+msgstr ""
+
+#: sys-utils/rdev.c:81
+msgid "  rdev -r /dev/fd0 627            set the RAMDISK size"
+msgstr ""
+
+#: sys-utils/rdev.c:82
+msgid "  rdev -v /dev/fd0 1              set the bootup VIDEOMODE"
+msgstr ""
+
+#: sys-utils/rdev.c:83
+msgid "  rdev -o N ...                   use the byte offset N"
+msgstr ""
+
+#: sys-utils/rdev.c:84
+msgid "  rootflags ...                   same as rdev -R"
+msgstr ""
+
+#: sys-utils/rdev.c:85
+msgid "  ramsize ...                     same as rdev -r"
+msgstr ""
+
+#: sys-utils/rdev.c:86
+msgid "  vidmode ...                     same as rdev -v"
+msgstr ""
+
+#: sys-utils/rdev.c:87
+msgid ""
+"Note: video modes are: -3=Ask, -2=Extended, -1=NormalVga, 1=key1, 2=key2,..."
+msgstr ""
+
+#: sys-utils/rdev.c:88
+msgid "      use -R 1 to mount root readonly, -R 0 for read/write."
+msgstr ""
+
+#: sys-utils/rdev.c:245
+msgid "missing comma"
+msgstr ""
+
+#: sys-utils/readprofile.c:72
+#, c-format
+msgid "out of memory"
+msgstr "memoriarik ez"
+
+#: sys-utils/readprofile.c:118
+#, 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 ""
+
+#: sys-utils/readprofile.c:227
+#, c-format
+msgid "readprofile: error writing %s: %s\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:268
+#, c-format
+msgid "Assuming reversed byte order. Use -n to force native byte order.\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:284
+#, c-format
+msgid "Sampling_step: %i\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:305 sys-utils/readprofile.c:331
+#, c-format
+msgid "%s: %s(%i): wrong map line\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:318
+#, c-format
+msgid "%s: can't find \"_stext\" in %s\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:352
+#, c-format
+msgid "%s: profile address out of range. Wrong map file?\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:412
+msgid "total"
+msgstr ""
+
+#: sys-utils/renice.c:53
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" renice [-n] priority [-p|--pid] pid  [... pid]\n"
+" renice [-n] priority  -g|--pgrp pgrp [... pgrp]\n"
+" renice [-n] priority  -u|--user user [... user]\n"
+" renice -h | --help\n"
+" renice -v | --version\n"
+"\n"
+msgstr ""
+
+#: sys-utils/renice.c:89
+#, fuzzy, c-format
+msgid "renice from %s\n"
+msgstr "Gailua: %s\n"
+
+#: sys-utils/renice.c:126
+#, c-format
+msgid "renice: %s: unknown user\n"
+msgstr ""
+
+#: sys-utils/renice.c:134
+#, c-format
+msgid "renice: %s: bad value\n"
+msgstr ""
+
+#: sys-utils/renice.c:152 sys-utils/renice.c:164
+msgid "getpriority"
+msgstr ""
+
+#: sys-utils/renice.c:157
+msgid "setpriority"
+msgstr ""
+
+#: sys-utils/renice.c:168
+#, c-format
+msgid "%d: old priority %d, new priority %d\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:81
+#, c-format
+msgid ""
+"usage: %s [options]\n"
+"    -d | --device <device>    select rtc device (rtc0|rtc1|...)\n"
+"    -l | --local              RTC uses local timezone\n"
+"    -m | --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"
+"    -V | --version            show version\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:140
+msgid "read rtc time"
+msgstr ""
+
+#: sys-utils/rtcwake.c:145
+msgid "read system time"
+msgstr ""
+
+#: sys-utils/rtcwake.c:163
+msgid "convert rtc time"
+msgstr ""
+
+#: sys-utils/rtcwake.c:222
+msgid "set rtc alarm"
+msgstr ""
+
+#: sys-utils/rtcwake.c:226
+msgid "enable rtc alarm"
+msgstr ""
+
+#: sys-utils/rtcwake.c:230
+msgid "set rtc wake alarm"
+msgstr ""
+
+#: sys-utils/rtcwake.c:342
+#, c-format
+msgid "%s: unrecognized suspend state '%s'\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:351
+#, c-format
+msgid "%s: illegal interval %s seconds\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:365
+#, fuzzy, c-format
+msgid "%s: illegal time_t value %s\n"
+msgstr "Baliogabeko sektore baloreak"
+
+#: sys-utils/rtcwake.c:381
+#, c-format
+msgid "%s: version %s\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:394
+#, c-format
+msgid "%s: assuming RTC uses UTC ...\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:399
+#, c-format
+msgid "Using UTC time.\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:400
+#, c-format
+msgid "Using local time.\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:403
+#, c-format
+msgid "%s: must provide wake time\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:413
+#, fuzzy
+msgid "malloc() failed"
+msgstr "settimeofday()-ek huts egin du"
+
+#: sys-utils/rtcwake.c:425
+#, c-format
+msgid "%s: %s not enabled for wakeup events\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:441
+#, c-format
+msgid "alarm %ld, sys_time %ld, rtc_time %ld, seconds %u\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:446
+#, c-format
+msgid "%s: time doesn't go backward to %s\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:456
+#, c-format
+msgid "%s: wakeup from \"%s\" using %s at %s\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:473
+#, fuzzy
+msgid "rtc read"
+msgstr ", prest"
+
+#: sys-utils/rtcwake.c:482
+msgid "disable rtc alarm interrupt"
+msgstr ""
+
+#: sys-utils/setarch.c:50
+#, c-format
+msgid "Switching on %s.\n"
+msgstr ""
+
+#: sys-utils/setarch.c:113
+#, c-format
+msgid ""
+"Usage: %s%s [options] [program [program arguments]]\n"
+"\n"
+"Options:\n"
+msgstr ""
+
+#: sys-utils/setarch.c:117
+#, c-format
+msgid ""
+" -h, --help               displays this help text\n"
+" -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"
+msgstr ""
+
+#: sys-utils/setarch.c:131
+#, c-format
+msgid ""
+"\n"
+"For more information see setarch(8).\n"
+msgstr ""
+
+#: sys-utils/setarch.c:143
+#, c-format
+msgid ""
+"%s: %s\n"
+"Try `%s --help' for more information.\n"
+msgstr ""
+
+#: sys-utils/setarch.c:215 sys-utils/setarch.c:231
+#, c-format
+msgid "%s: Unrecognized architecture"
+msgstr ""
+
+#: sys-utils/setarch.c:249 sys-utils/setarch.c:256
+msgid "Not enough arguments"
+msgstr ""
+
+#: sys-utils/setarch.c:265 sys-utils/setarch.c:318
+#, c-format
+msgid "Failed to set personality to %s"
+msgstr ""
+
+#: sys-utils/setsid.c:26
+#, c-format
+msgid "usage: %s program [arg ...]\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:75
+#, c-format
+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 ""
+
+#: sys-utils/tunelp.c:91
+msgid "malloc error"
+msgstr ""
+
+#: sys-utils/tunelp.c:103
+#, c-format
+msgid "%s: bad value\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:242
+#, c-format
+msgid "%s: %s not an lp device.\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:263
+#, c-format
+msgid "%s status is %d"
+msgstr ""
+
+#: sys-utils/tunelp.c:264
+#, c-format
+msgid ", busy"
+msgstr ""
+
+#: sys-utils/tunelp.c:265
+#, c-format
+msgid ", ready"
+msgstr ", prest"
+
+#: sys-utils/tunelp.c:266
+#, c-format
+msgid ", out of paper"
+msgstr ""
+
+#: sys-utils/tunelp.c:267
+#, c-format
+msgid ", on-line"
+msgstr ""
+
+#: sys-utils/tunelp.c:268
+#, c-format
+msgid ", error"
+msgstr ""
+
+#: sys-utils/tunelp.c:285
+msgid "LPGETIRQ error"
+msgstr ""
+
+#: sys-utils/tunelp.c:291
+#, c-format
+msgid "%s using IRQ %d\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:293
+#, c-format
+msgid "%s using polling\n"
+msgstr ""
+
+#: text-utils/col.c:154
+#, c-format
+msgid "col: bad -l argument %s.\n"
+msgstr ""
+
+#: text-utils/col.c:544
+#, c-format
+msgid "usage: col [-bfpx] [-l nline]\n"
+msgstr ""
+
+#: text-utils/col.c:550
+#, c-format
+msgid "col: write error.\n"
+msgstr ""
+
+#: text-utils/col.c:557
+#, c-format
+msgid "col: warning: can't back up %s.\n"
+msgstr ""
+
+#: text-utils/col.c:558
+msgid "past first line"
+msgstr ""
+
+#: text-utils/col.c:558
+msgid "-- line already flushed"
+msgstr ""
+
+#: text-utils/colcrt.c:97
+#, c-format
+msgid "usage: %s [ - ] [ -2 ] [ file ... ]\n"
+msgstr ""
+
+#: text-utils/column.c:297
+msgid "line too long"
+msgstr ""
+
+#: text-utils/column.c:374
+#, c-format
+msgid "usage: column [-tx] [-c columns] [file ...]\n"
+msgstr ""
+
+#: text-utils/hexsyntax.c:82
+#, c-format
+msgid "hexdump: bad length value.\n"
+msgstr ""
+
+#: text-utils/hexsyntax.c:93
+#, c-format
+msgid "hexdump: bad skip value.\n"
+msgstr ""
+
+#: text-utils/hexsyntax.c:131
+#, c-format
+msgid ""
+"hexdump: [-bcCdovx] [-e fmt] [-f fmt_file] [-n length] [-s skip] [file ...]\n"
+msgstr ""
+
+#: text-utils/more.c:256
+#, c-format
+msgid "usage: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n"
+msgstr ""
+
+#: text-utils/more.c:479
+#, c-format
+msgid "%s: unknown option \"-%c\"\n"
+msgstr ""
+
+#: text-utils/more.c:511
+#, c-format
+msgid ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+msgstr ""
+
+#: text-utils/more.c:555
+#, c-format
+msgid ""
+"\n"
+"******** %s: Not a text file ********\n"
+"\n"
+msgstr ""
+
+#: text-utils/more.c:658
+#, c-format
+msgid "[Use q or Q to quit]"
+msgstr ""
+
+#: text-utils/more.c:750
+#, c-format
+msgid "--More--"
+msgstr ""
+
+#: text-utils/more.c:752
+#, c-format
+msgid "(Next file: %s)"
+msgstr ""
+
+#: text-utils/more.c:757
+#, c-format
+msgid "[Press space to continue, 'q' to quit.]"
+msgstr ""
+
+#: text-utils/more.c:1172
+#, c-format
+msgid "...back %d pages"
+msgstr ""
+
+#: text-utils/more.c:1174
+msgid "...back 1 page"
+msgstr ""
+
+#: text-utils/more.c:1217
+msgid "...skipping one line"
+msgstr ""
+
+#: text-utils/more.c:1219
+#, c-format
+msgid "...skipping %d lines"
+msgstr ""
+
+#: text-utils/more.c:1256
+msgid ""
+"\n"
+"***Back***\n"
+"\n"
+msgstr ""
+
+#: text-utils/more.c:1294
+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:1301
+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:1370 text-utils/more.c:1375
+#, c-format
+msgid "[Press 'h' for instructions.]"
+msgstr ""
+
+#: text-utils/more.c:1409
+#, c-format
+msgid "\"%s\" line %d"
+msgstr ""
+
+#: text-utils/more.c:1411
+#, c-format
+msgid "[Not a file] line %d"
+msgstr ""
+
+#: text-utils/more.c:1495
+msgid "  Overflow\n"
+msgstr ""
+
+#: text-utils/more.c:1542
+msgid "...skipping\n"
+msgstr ""
+
+#: text-utils/more.c:1571
+msgid "Regular expression botch"
+msgstr ""
+
+#: text-utils/more.c:1579
+msgid ""
+"\n"
+"Pattern not found\n"
+msgstr ""
+
+#: text-utils/more.c:1582 text-utils/pg.c:1124 text-utils/pg.c:1275
+msgid "Pattern not found"
+msgstr ""
+
+#: text-utils/more.c:1643
+msgid "can't fork\n"
+msgstr ""
+
+#: text-utils/more.c:1682
+msgid ""
+"\n"
+"...Skipping "
+msgstr ""
+
+#: text-utils/more.c:1686
+msgid "...Skipping to file "
+msgstr ""
+
+#: text-utils/more.c:1688
+msgid "...Skipping back to file "
+msgstr ""
+
+#: text-utils/more.c:1966
+msgid "Line too long"
+msgstr ""
+
+#: text-utils/more.c:2009
+msgid "No previous command to substitute for"
+msgstr ""
+
+#: text-utils/odsyntax.c:130
+#, c-format
+msgid "od: od(1) has been deprecated for hexdump(1).\n"
+msgstr ""
+
+#: text-utils/odsyntax.c:133
+#, c-format
+msgid "od: hexdump(1) compatibility doesn't support the -%c option%s\n"
+msgstr ""
+
+#: text-utils/odsyntax.c:134
+msgid "; see strings(1)."
+msgstr ""
+
+#: text-utils/parse.c:63
+#, c-format
+msgid "hexdump: can't read %s.\n"
+msgstr ""
+
+#: text-utils/parse.c:68
+#, c-format
+msgid "hexdump: line too long.\n"
+msgstr ""
+
+#: text-utils/parse.c:401
+#, c-format
+msgid "hexdump: byte count with multiple conversion characters.\n"
+msgstr ""
+
+#: text-utils/parse.c:483
+#, c-format
+msgid "hexdump: bad byte count for conversion character %s.\n"
+msgstr ""
+
+#: text-utils/parse.c:490
+#, c-format
+msgid "hexdump: %%s requires a precision or a byte count.\n"
+msgstr ""
+
+#: text-utils/parse.c:496
+#, c-format
+msgid "hexdump: bad format {%s}\n"
+msgstr ""
+
+#: text-utils/parse.c:502
+#, c-format
+msgid "hexdump: bad conversion character %%%s.\n"
+msgstr ""
+
+#: text-utils/pg.c:145
+msgid ""
+"All rights reserved.\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"
+msgstr ""
+
+#: text-utils/pg.c:223
+#, fuzzy
+msgid "Out of memory\n"
+msgstr "Memoriarik ez"
+
+#: text-utils/pg.c:236
+#, c-format
+msgid ""
+"%s: Usage: %s [-number] [-p string] [-cefnrs] [+line] [+/pattern/] [files]\n"
+msgstr ""
+
+#: text-utils/pg.c:245
+#, c-format
+msgid "%s: option requires an argument -- %s\n"
+msgstr ""
+
+#: text-utils/pg.c:253
+#, c-format
+msgid "%s: illegal option -- %s\n"
+msgstr ""
+
+#: text-utils/pg.c:370
+msgid "...skipping forward\n"
+msgstr ""
+
+#: text-utils/pg.c:372
+msgid "...skipping backward\n"
+msgstr ""
+
+#: text-utils/pg.c:394
+msgid "No next file"
+msgstr ""
+
+#: text-utils/pg.c:398
+msgid "No previous file"
+msgstr ""
+
+#: text-utils/pg.c:928
+#, c-format
+msgid "%s: Read error from %s file\n"
+msgstr ""
+
+#: text-utils/pg.c:934
+#, c-format
+msgid "%s: Unexpected EOF in %s file\n"
+msgstr ""
+
+#: text-utils/pg.c:937
+#, c-format
+msgid "%s: Unknown error in %s file\n"
+msgstr ""
+
+#: text-utils/pg.c:1032
+#, c-format
+msgid "%s: Cannot create tempfile\n"
+msgstr ""
+
+#: text-utils/pg.c:1041 text-utils/pg.c:1216 text-utils/pg.c:1243
+msgid "RE error: "
+msgstr ""
+
+#: text-utils/pg.c:1198
+msgid "(EOF)"
+msgstr ""
+
+#: text-utils/pg.c:1224 text-utils/pg.c:1251
+msgid "No remembered search string"
+msgstr ""
+
+#: text-utils/pg.c:1307
+msgid "Cannot open "
+msgstr ""
+
+#: text-utils/pg.c:1355
+msgid "saved"
+msgstr "gordeta"
+
+#: text-utils/pg.c:1462
+msgid ": !command not allowed in rflag mode.\n"
+msgstr ""
+
+#: text-utils/pg.c:1494
+msgid "fork() failed, try again later\n"
+msgstr ""
+
+#: text-utils/pg.c:1702
+msgid "(Next file: "
+msgstr ""
+
+#: text-utils/rev.c:113
+msgid "unable to allocate bufferspace"
+msgstr ""
+
+#: text-utils/rev.c:143
+#, c-format
+msgid "usage: rev [file ...]\n"
+msgstr ""
+
+#: text-utils/tailf.c:57 text-utils/tailf.c:92
+#, fuzzy, c-format
+msgid "cannot open \"%s\" for read"
+msgstr "Ezin da disko unitatea ireki"
+
+#: text-utils/tailf.c:95 text-utils/tailf.c:214
+#, c-format
+msgid "cannot stat \"%s\""
+msgstr ""
+
+#: text-utils/tailf.c:108
+#, c-format
+msgid "incomplete write to \"%s\" (written %zd, expected %zd)\n"
+msgstr ""
+
+#: text-utils/tailf.c:146
+#, c-format
+msgid "%s: cannot add inotify watch (limit of inotify watches was reached)."
+msgstr ""
+
+#: text-utils/tailf.c:150
+#, c-format
+msgid "%s: cannot add inotify watch."
+msgstr ""
+
+#: text-utils/tailf.c:159
+#, c-format
+msgid "%s: cannot read inotify events"
+msgstr ""
+
+#: text-utils/tailf.c:198 text-utils/tailf.c:202
+msgid "invalid number of lines"
+msgstr ""
+
+#: text-utils/tailf.c:209
+msgid "usage: tailf [-n N | -N] logfile"
+msgstr ""
+
+#: text-utils/ul.c:141
+#, c-format
+msgid "usage: %s [ -i ] [ -tTerm ] file...\n"
+msgstr ""
+
+#: text-utils/ul.c:152
+#, c-format
+msgid "trouble reading terminfo"
+msgstr ""
+
+#: text-utils/ul.c:242
+#, c-format
+msgid "Unknown escape sequence in input: %o, %o\n"
+msgstr ""
+
+#: text-utils/ul.c:425
+#, c-format
+msgid "Unable to allocate buffer.\n"
+msgstr ""
+
+#: text-utils/ul.c:586
+#, c-format
+msgid "Input line too long.\n"
+msgstr ""
+
+#: text-utils/ul.c:599
+#, c-format
+msgid "Out of memory when growing buffer.\n"
+msgstr "Memoriarik ez buffer-a hazterakoan.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "unit: sectors\n"
+#~ "\n"
+#~ msgstr "SunOS usr"
+
+#, fuzzy
+#~ msgid ", bootable"
+#~ msgstr "Abiogarria"
+
+#~ 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 "Password error."
+#~ msgstr "Pasahitz errorea."
+
+#~ msgid "3,5\" floppy"
+#~ msgstr "3,5\" disketea"
diff --git a/po/fi.gmo b/po/fi.gmo
new file mode 100644 (file)
index 0000000..765d440
Binary files /dev/null and b/po/fi.gmo differ
diff --git a/po/fi.po b/po/fi.po
new file mode 100644 (file)
index 0000000..f48f912
--- /dev/null
+++ b/po/fi.po
@@ -0,0 +1,12275 @@
+# Finnish messages for util-linux
+# This file is distributed under the same license as the util-linux-ng 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.16-rc2\n"
+"Report-Msgid-Bugs-To: Karel Zak <kzak@redhat.com>\n"
+"POT-Creation-Date: 2009-11-30 16:27+0100\n"
+"PO-Revision-Date: 2009-07-04 14:59+0300\n"
+"Last-Translator: Lauri Nurmi <lanurmi@iki.fi>\n"
+"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: disk-utils/blockdev.c:37
+msgid "set read-only"
+msgstr "aseta vain luku -tilaan"
+
+#: disk-utils/blockdev.c:38
+msgid "set read-write"
+msgstr "aseta luku-kirjoitus-tilaan"
+
+#: disk-utils/blockdev.c:39
+msgid "get read-only"
+msgstr "hae vain luku -tila"
+
+#: disk-utils/blockdev.c:40
+msgid "get sectorsize"
+msgstr "hae sektorikoko"
+
+#: disk-utils/blockdev.c:41
+msgid "get blocksize"
+msgstr "hae lohkokoko"
+
+#: disk-utils/blockdev.c:42
+msgid "set blocksize"
+msgstr "aseta lohkokoko"
+
+#: disk-utils/blockdev.c:43
+msgid "get 32-bit sector count"
+msgstr "hae 32-bittinen sektorimäärä"
+
+#: disk-utils/blockdev.c:44
+msgid "get size in bytes"
+msgstr "hae koko tavuina"
+
+#: disk-utils/blockdev.c:45
+msgid "set readahead"
+msgstr "aseta lukuennakko"
+
+#: disk-utils/blockdev.c:46
+msgid "get readahead"
+msgstr "hae lukuennakko"
+
+#: disk-utils/blockdev.c:47
+msgid "set filesystem readahead"
+msgstr "aseta tiedostojärjestelmän lukuennakko"
+
+#: disk-utils/blockdev.c:48
+msgid "get filesystem readahead"
+msgstr "hae tiedostojärjestelmän lukuennakko"
+
+#: disk-utils/blockdev.c:49
+msgid "flush buffers"
+msgstr "tyhjennä puskurit"
+
+#: disk-utils/blockdev.c:51
+msgid "reread partition table"
+msgstr "lue osiotaulu uudelleen"
+
+#: disk-utils/blockdev.c:60
+#, c-format
+msgid "Usage:\n"
+msgstr "Käyttö:\n"
+
+#: disk-utils/blockdev.c:62
+#, c-format
+msgid "  %s --report [devices]\n"
+msgstr "  %s --report [laitteet]\n"
+
+#: disk-utils/blockdev.c:63
+#, c-format
+msgid "  %s [-v|-q] commands devices\n"
+msgstr "  %s [-v|-q] komennot laitteet\n"
+
+#: disk-utils/blockdev.c:66
+#, c-format
+msgid "Available commands:\n"
+msgstr "Käytettävissä olevat komennot:\n"
+
+#: disk-utils/blockdev.c:68
+msgid "get size in 512-byte sectors"
+msgstr "hae koko 512-tavuisina sektoreina"
+
+#: disk-utils/blockdev.c:201
+#, c-format
+msgid "%s: Unknown command: %s\n"
+msgstr "%s: Tuntematon komento: %s\n"
+
+#: disk-utils/blockdev.c:213 disk-utils/blockdev.c:222
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s vaatii argumentin\n"
+
+#: disk-utils/blockdev.c:255
+#, c-format
+msgid "%s failed.\n"
+msgstr "%s epäonnistui.\n"
+
+#: disk-utils/blockdev.c:292
+#, c-format
+msgid "%s succeeded.\n"
+msgstr "%s onnistui.\n"
+
+#: disk-utils/blockdev.c:310 disk-utils/blockdev.c:338
+#, c-format
+msgid "%s: cannot open %s\n"
+msgstr "%s: tiedostoa %s ei voi avata\n"
+
+#: disk-utils/blockdev.c:355
+#, c-format
+msgid "%s: ioctl error on %s\n"
+msgstr "%s: ioctl-virhe laitteessa %s\n"
+
+#: disk-utils/blockdev.c:364
+#, c-format
+msgid "RO    RA   SSZ   BSZ   StartSec            Size   Device\n"
+msgstr "RO    RA   SSZ   BSZ   AlkuSekt            Koko   Laite\n"
+
+#: disk-utils/elvtune.c:48
+#, c-format
+msgid "usage:\n"
+msgstr "käyttö:\n"
+
+#: disk-utils/elvtune.c:53
+#, c-format
+msgid "\tNOTE: elvtune only works with 2.4 kernels\n"
+msgstr ""
+
+#: disk-utils/elvtune.c:104
+#, fuzzy, c-format
+msgid "parse error\n"
+msgstr "siirtymisvirhe"
+
+#: disk-utils/elvtune.c:110
+#, fuzzy, c-format
+msgid "missing blockdevice, use -h for help\n"
+msgstr "%s ei ole lohkolaite eikä tiedosto\n"
+
+#: disk-utils/elvtune.c:131
+#, 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:31
+#, c-format
+msgid "Formatting ... "
+msgstr "Alustetaan... "
+
+#: disk-utils/fdformat.c:49 disk-utils/fdformat.c:86
+#, c-format
+msgid "done\n"
+msgstr "valmis\n"
+
+#: disk-utils/fdformat.c:60
+#, 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:80
+#, c-format
+msgid ""
+"bad data in cyl %d\n"
+"Continuing ... "
+msgstr ""
+"viallista dataa sylinterissä %d\n"
+"Jatketaan... "
+
+#: disk-utils/fdformat.c:96
+#, c-format
+msgid "usage: %s [ -n ] device\n"
+msgstr "käyttö: %s [ -n ] laite\n"
+
+#: disk-utils/fdformat.c:118 disk-utils/fsck.minix.c:1282
+#: disk-utils/isosize.c:181 disk-utils/mkfs.bfs.c:115 disk-utils/mkfs.c:52
+#: disk-utils/mkfs.cramfs.c:813 disk-utils/mkfs.minix.c:571
+#: disk-utils/mkswap.c:461 misc-utils/ddate.c:179 misc-utils/rename.c:79
+#: misc-utils/script.c:147 sys-utils/readprofile.c:197
+#, c-format
+msgid "%s (%s)\n"
+msgstr "%s (%s)\n"
+
+#: disk-utils/fdformat.c:132
+#, c-format
+msgid "%s: not a block device\n"
+msgstr "%s: ei ole lohkolaite\n"
+
+#: disk-utils/fdformat.c:142
+msgid "Could not determine current format type"
+msgstr "Nykyistä alustustyyppiä ei voi määrittää"
+
+#: disk-utils/fdformat.c:143
+#, 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:144
+msgid "Double"
+msgstr "Kaksi"
+
+#: disk-utils/fdformat.c:144
+msgid "Single"
+msgstr "Yksi"
+
+#: disk-utils/fsck.cramfs.c:118
+#, c-format
+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"
+
+#: disk-utils/fsck.cramfs.c:164
+#, fuzzy, c-format
+msgid "stat failed: %s"
+msgstr "(Seuraava tiedosto: %s)"
+
+#: disk-utils/fsck.cramfs.c:168 disk-utils/fsck.cramfs.c:552
+#, fuzzy, c-format
+msgid "open failed: %s"
+msgstr "openpty epäonnistui\n"
+
+#: disk-utils/fsck.cramfs.c:173
+#, 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:181
+#, c-format
+msgid "not a block device or file: %s"
+msgstr "ei ole lohkolaite eikä tiedosto: %s"
+
+#: disk-utils/fsck.cramfs.c:185 disk-utils/fsck.cramfs.c:227
+#, fuzzy
+msgid "file length too short"
+msgstr "%s: virheellinen cramfs--tiedosto on liian lyhyt\n"
+
+#: disk-utils/fsck.cramfs.c:190 disk-utils/fsck.cramfs.c:198
+#: disk-utils/fsck.cramfs.c:259 disk-utils/fsck.cramfs.c:279
+#, c-format
+msgid "read failed: %s"
+msgstr "lukeminen epäonnistui: %s"
+
+#: disk-utils/fsck.cramfs.c:208
+msgid "superblock magic not found"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:217
+#, fuzzy
+msgid "unsupported filesystem features"
+msgstr "Anna tiedostojärjestelmän tyyppi: "
+
+#: disk-utils/fsck.cramfs.c:220
+#, fuzzy, c-format
+msgid "superblock size (%d) too small"
+msgstr "Sektorien määrä"
+
+#: disk-utils/fsck.cramfs.c:224
+msgid "zero file count"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:230
+#, 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:234
+#, c-format
+msgid "warning: old cramfs format\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:247
+msgid "unable to test CRC: old cramfs format"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:273 disk-utils/fsck.cramfs.c:340
+#: disk-utils/fsck.cramfs.c:478 login-utils/chfn.c:529 login-utils/chsh.c:439
+#: sys-utils/cytune.c:321
+msgid "malloc failed"
+msgstr "malloc epäonnistui"
+
+#: disk-utils/fsck.cramfs.c:298
+msgid "crc error"
+msgstr "crc-virhe"
+
+#: disk-utils/fsck.cramfs.c:365
+msgid "root inode is not directory"
+msgstr "juuren i-solmu ei ole hakemisto"
+
+#: disk-utils/fsck.cramfs.c:370
+#, c-format
+msgid "bad root offset (%lu)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:388
+msgid "data block too large"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:392
+#, c-format
+msgid "decompression error %p(%d): %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:416
+#, c-format
+msgid "  hole at %ld (%zd)\n"
+msgstr "  reikä kohdassa %ld (%zd)\n"
+
+#: disk-utils/fsck.cramfs.c:424 disk-utils/fsck.cramfs.c:596
+#, 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:430
+#, c-format
+msgid "non-block (%ld) bytes"
+msgstr "ei-lohko (%ld) tavua"
+
+#: disk-utils/fsck.cramfs.c:434
+#, c-format
+msgid "non-size (%ld vs %ld) bytes"
+msgstr "ei-koko (%ld vs %ld) tavua"
+
+#: disk-utils/fsck.cramfs.c:440
+#, c-format
+msgid "write failed: %s"
+msgstr "kirjoittaminen epäonnistui: %s"
+
+#: disk-utils/fsck.cramfs.c:453
+#, c-format
+msgid "lchown failed: %s"
+msgstr "lchown epäonnistui: %s"
+
+#: disk-utils/fsck.cramfs.c:459
+#, c-format
+msgid "chown failed: %s"
+msgstr "chown epäonnistui: %s"
+
+#: disk-utils/fsck.cramfs.c:466
+#, c-format
+msgid "utime failed: %s"
+msgstr "utime epäonnistui: %s"
+
+#: disk-utils/fsck.cramfs.c:481
+#, c-format
+msgid "directory inode has zero offset and non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:495
+#, c-format
+msgid "mkdir failed: %s"
+msgstr "mkdir epäonnistui: %s"
+
+#: disk-utils/fsck.cramfs.c:512
+msgid "filename length is zero"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:515
+msgid "bad filename length"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:522
+#, fuzzy
+msgid "bad inode offset"
+msgstr "virheellinen i-solmun koko"
+
+#: disk-utils/fsck.cramfs.c:538
+msgid "file inode has zero offset and non-zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:541
+msgid "file inode has zero size and non-zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:572
+msgid "symbolic link has zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:575
+msgid "symbolic link has zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:587
+#, c-format
+msgid "size error in symlink: %s"
+msgstr "kokovirhe symlinkissä: %s"
+
+#: disk-utils/fsck.cramfs.c:602
+#, fuzzy, c-format
+msgid "symlink failed: %s"
+msgstr "fsync epäonnistui"
+
+#: disk-utils/fsck.cramfs.c:614
+#, c-format
+msgid "special file has non-zero offset: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:626
+#, c-format
+msgid "fifo has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:632
+#, c-format
+msgid "socket has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:637
+#, fuzzy, c-format
+msgid "bogus mode: %s (%o)"
+msgstr "%1$s: virheellinen tila (%3$o) polussa \"%2$s\"\n"
+
+#: disk-utils/fsck.cramfs.c:647
+#, c-format
+msgid "mknod failed: %s"
+msgstr "mknod epäonnistui: %s"
+
+#: disk-utils/fsck.cramfs.c:683
+#, c-format
+msgid "directory data start (%ld) < sizeof(struct cramfs_super) + start (%ld)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:686
+#, 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:691
+#, fuzzy
+msgid "invalid file data offset"
+msgstr "%s: virheellinen cramfs--virheellinen tiedostodatan siirtymä\n"
+
+#: disk-utils/fsck.cramfs.c:715
+#, fuzzy
+msgid "failed to allocate outbuffer"
+msgstr "Puskuria ei voi varata.\n"
+
+#: disk-utils/fsck.cramfs.c:728
+msgid "compiled without -x support"
+msgstr "käännetty ilman -x-tukea"
+
+#: disk-utils/fsck.minix.c:210
+#, c-format
+msgid "Usage: %s [-larvsmf] /dev/name\n"
+msgstr "Käyttö: %s [-larvsmf] /dev/nimi\n"
+
+#: disk-utils/fsck.minix.c:326
+#, c-format
+msgid "%s is mounted.\t "
+msgstr "%s on liitetty.\t "
+
+#: disk-utils/fsck.minix.c:328
+msgid "Do you really want to continue"
+msgstr "Haluatko varmasti jatkaa"
+
+#: disk-utils/fsck.minix.c:332
+#, c-format
+msgid "check aborted.\n"
+msgstr "tarkistus keskeytetty.\n"
+
+#: disk-utils/fsck.minix.c:351 disk-utils/fsck.minix.c:374
+#, c-format
+msgid "Zone nr < FIRSTZONE in file `%s'."
+msgstr "Vyöhykenumero < FIRSTZONE tiedostossa ”%s”."
+
+#: disk-utils/fsck.minix.c:355 disk-utils/fsck.minix.c:378
+#, c-format
+msgid "Zone nr >= ZONES in file `%s'."
+msgstr "Vyöhykenumero >= ZONES tiedostossa ”%s”."
+
+#: disk-utils/fsck.minix.c:360 disk-utils/fsck.minix.c:383
+msgid "Remove block"
+msgstr "Poista lohko"
+
+#: disk-utils/fsck.minix.c:401
+#, 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:407
+#, c-format
+msgid "Read error: bad block in file '%s'\n"
+msgstr "Lukuvirhe: viallinen lohko tiedostossa ”%s”\n"
+
+#: disk-utils/fsck.minix.c:422
+#, 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:428 disk-utils/mkfs.minix.c:209
+msgid "seek failed in write_block"
+msgstr "siirtyminen epäonnistui funktiossa write_block"
+
+#: disk-utils/fsck.minix.c:431
+#, c-format
+msgid "Write error: bad block in file '%s'\n"
+msgstr "Kirjoitusvirhe: viallinen lohko tiedostossa ”%s”\n"
+
+#: disk-utils/fsck.minix.c:547
+msgid "seek failed in write_super_block"
+msgstr "siirtyminen epäonnistui funktiossa write_super_block"
+
+#: disk-utils/fsck.minix.c:549 disk-utils/mkfs.minix.c:196
+msgid "unable to write super-block"
+msgstr "superlohkon kirjoitus ei onnistu"
+
+#: disk-utils/fsck.minix.c:559
+msgid "Unable to write inode map"
+msgstr "I-solmukarttaa ei voi kirjoittaa"
+
+#: disk-utils/fsck.minix.c:561
+msgid "Unable to write zone map"
+msgstr "Vyöhykekartan kirjoitus ei onnistu"
+
+#: disk-utils/fsck.minix.c:563
+msgid "Unable to write inodes"
+msgstr "I-solmuja ei voi kirjoittaa"
+
+#: disk-utils/fsck.minix.c:590
+msgid "seek failed"
+msgstr "siirtyminen epäonnistui"
+
+#: disk-utils/fsck.minix.c:592
+msgid "unable to read super block"
+msgstr "superlohkoa ei voi lukea"
+
+#: disk-utils/fsck.minix.c:610
+msgid "bad magic number in super-block"
+msgstr "virheellinen taikaluku superlohkossa"
+
+#: disk-utils/fsck.minix.c:612
+msgid "Only 1k blocks/zones supported"
+msgstr "Vain 1k-lohkot/vyöhykkeet ovat tuettuja"
+
+#: disk-utils/fsck.minix.c:614
+msgid "bad s_imap_blocks field in super-block"
+msgstr "virheellinen s_imap_blocks-kenttä superlohkossa"
+
+#: disk-utils/fsck.minix.c:616
+msgid "bad s_zmap_blocks field in super-block"
+msgstr "virheellinen s_zmap_blocks-kenttä superlohkossa"
+
+#: disk-utils/fsck.minix.c:623
+msgid "Unable to allocate buffer for inode map"
+msgstr "I-solmukartalle ei voi varata puskuria"
+
+#: disk-utils/fsck.minix.c:626
+msgid "Unable to allocate buffer for zone map"
+msgstr "Vyöhykekartalle ei voi varata puskuria"
+
+#: disk-utils/fsck.minix.c:631
+msgid "Unable to allocate buffer for inodes"
+msgstr "I-solmuille ei voi varata puskuria"
+
+#: disk-utils/fsck.minix.c:634
+msgid "Unable to allocate buffer for inode count"
+msgstr "I-solmujen laskemiseen ei voi varata puskuria"
+
+#: disk-utils/fsck.minix.c:637
+msgid "Unable to allocate buffer for zone count"
+msgstr "Vyöhykkeen laskemiseen ei voi varata puskuria"
+
+#: disk-utils/fsck.minix.c:639
+msgid "Unable to read inode map"
+msgstr "I-solmukarttaa ei voi lukea"
+
+#: disk-utils/fsck.minix.c:641
+msgid "Unable to read zone map"
+msgstr "Vyöhykekarttaa ei voi lukea"
+
+#: disk-utils/fsck.minix.c:643
+msgid "Unable to read inodes"
+msgstr "I-solmuja ei voi lukea"
+
+#: disk-utils/fsck.minix.c:645
+#, c-format
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr "Varoitus: Ensimmäinenvyöhyke != Norm_ensimmäinenvyöhyke\n"
+
+#: disk-utils/fsck.minix.c:650 disk-utils/mkfs.minix.c:450
+#, c-format
+msgid "%ld inodes\n"
+msgstr "%ld i-solmua\n"
+
+#: disk-utils/fsck.minix.c:651 disk-utils/mkfs.minix.c:451
+#, c-format
+msgid "%ld blocks\n"
+msgstr "%ld lohkoa\n"
+
+#: disk-utils/fsck.minix.c:652 disk-utils/mkfs.minix.c:452
+#, c-format
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr "Ensimmäinendatavyöhyke=%ld (%ld)\n"
+
+#: disk-utils/fsck.minix.c:653 disk-utils/mkfs.minix.c:453
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr "Vyöhykekoko=%d\n"
+
+#: disk-utils/fsck.minix.c:654
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr "Maxkoko=%ld\n"
+
+#: disk-utils/fsck.minix.c:655
+#, c-format
+msgid "Filesystem state=%d\n"
+msgstr "Tied.järj. tila=%d\n"
+
+#: disk-utils/fsck.minix.c:656
+#, c-format
+msgid ""
+"namelen=%d\n"
+"\n"
+msgstr ""
+"nimenpituus=%d\n"
+"\n"
+
+#: disk-utils/fsck.minix.c:671 disk-utils/fsck.minix.c:722
+#, 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:675 disk-utils/fsck.minix.c:726
+msgid "Mark in use"
+msgstr "Merkitse käyttöön"
+
+#: disk-utils/fsck.minix.c:697 disk-utils/fsck.minix.c:746
+#, c-format
+msgid "The file `%s' has mode %05o\n"
+msgstr "Tiedostolla ”%s” on tila %05o\n"
+
+#: disk-utils/fsck.minix.c:704 disk-utils/fsck.minix.c:752
+#, c-format
+msgid "Warning: inode count too big.\n"
+msgstr "Varoitus i-solmujen määrä on liian suuri.\n"
+
+#: disk-utils/fsck.minix.c:764 disk-utils/fsck.minix.c:772
+msgid "root inode isn't a directory"
+msgstr "juuren i-solmu ei ole hakemisto"
+
+#: disk-utils/fsck.minix.c:786 disk-utils/fsck.minix.c:819
+#, 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:788 disk-utils/fsck.minix.c:821
+#: disk-utils/fsck.minix.c:1144 disk-utils/fsck.minix.c:1153
+#: disk-utils/fsck.minix.c:1199 disk-utils/fsck.minix.c:1208
+msgid "Clear"
+msgstr "Tyhjennä"
+
+#: disk-utils/fsck.minix.c:798 disk-utils/fsck.minix.c:831
+#, 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:800 disk-utils/fsck.minix.c:833
+msgid "Correct"
+msgstr "Korjaa"
+
+#: disk-utils/fsck.minix.c:972 disk-utils/fsck.minix.c:1039
+#, 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:975 disk-utils/fsck.minix.c:1042
+msgid " Remove"
+msgstr " Poista"
+
+#: disk-utils/fsck.minix.c:989 disk-utils/fsck.minix.c:1056
+#, c-format
+msgid "%s: bad directory: '.' isn't first\n"
+msgstr "%s: viallinen hakemisto: ”.” ei ole ensimmäisenä\n"
+
+#: disk-utils/fsck.minix.c:997 disk-utils/fsck.minix.c:1065
+#, c-format
+msgid "%s: bad directory: '..' isn't second\n"
+msgstr "%s: viallinen hakemisto: ”..” ei ole toisena\n"
+
+#: disk-utils/fsck.minix.c:1099 disk-utils/fsck.minix.c:1117
+msgid "internal error"
+msgstr "sisäinen virhe"
+
+#: disk-utils/fsck.minix.c:1102 disk-utils/fsck.minix.c:1120
+#, c-format
+msgid "%s: bad directory: size < 32"
+msgstr "%s: viallinen hakemisto: koko < 32"
+
+#: disk-utils/fsck.minix.c:1133
+msgid "seek failed in bad_zone"
+msgstr "siirtyminen epäonnistui funktiossa bad_zone"
+
+#: disk-utils/fsck.minix.c:1143 disk-utils/fsck.minix.c:1198
+#, c-format
+msgid "Inode %d mode not cleared."
+msgstr "I-solmun %d tila ei ole tyhjennetty."
+
+#: disk-utils/fsck.minix.c:1152 disk-utils/fsck.minix.c:1207
+#, c-format
+msgid "Inode %d not used, marked used in the bitmap."
+msgstr "I-solmua %d ei käytetä, merkitty käytetyksi bittikartassa."
+
+#: disk-utils/fsck.minix.c:1158 disk-utils/fsck.minix.c:1213
+#, c-format
+msgid "Inode %d 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:1160 disk-utils/fsck.minix.c:1214
+msgid "Set"
+msgstr "Aseta"
+
+#: disk-utils/fsck.minix.c:1164 disk-utils/fsck.minix.c:1218
+#, c-format
+msgid "Inode %d (mode = %07o), i_nlinks=%d, counted=%d."
+msgstr "I-solmu %d (tila = %07o), i_linkkimäärä=%d, laskettu=%d."
+
+#: disk-utils/fsck.minix.c:1166 disk-utils/fsck.minix.c:1220
+msgid "Set i_nlinks to count"
+msgstr "Aseta i_linkkimäärä lasketun mukaiseksi"
+
+#: disk-utils/fsck.minix.c:1178 disk-utils/fsck.minix.c:1232
+#, c-format
+msgid "Zone %d: 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:1179 disk-utils/fsck.minix.c:1234
+msgid "Unmark"
+msgstr "Poista merkintä"
+
+#: disk-utils/fsck.minix.c:1184 disk-utils/fsck.minix.c:1239
+#, c-format
+msgid "Zone %d: in use, counted=%d\n"
+msgstr "Vyöhyke %d: käytössä, laskettu=%d\n"
+
+#: disk-utils/fsck.minix.c:1187 disk-utils/fsck.minix.c:1242
+#, c-format
+msgid "Zone %d: not in use, counted=%d\n"
+msgstr "Vyöhyke %d: ei käytössä, laskettu=%d\n"
+
+#: disk-utils/fsck.minix.c:1287 disk-utils/mkfs.minix.c:576
+#: disk-utils/mkfs.minix.c:578
+msgid "bad inode size"
+msgstr "virheellinen i-solmun koko"
+
+#: disk-utils/fsck.minix.c:1289
+msgid "bad v2 inode size"
+msgstr "virheellinen v2 i-solmun koko"
+
+#: disk-utils/fsck.minix.c:1315
+msgid "need terminal for interactive repairs"
+msgstr "vuorovaikutteisiin korjauksiin tarvitaan pääte"
+
+#: disk-utils/fsck.minix.c:1319
+#, c-format
+msgid "unable to open '%s': %s"
+msgstr "laitetta ”%s” ei voi avata: %s"
+
+#: disk-utils/fsck.minix.c:1334
+#, c-format
+msgid "%s is clean, no check.\n"
+msgstr "%s on puhdas, ei tarkistusta.\n"
+
+#: disk-utils/fsck.minix.c:1338
+#, c-format
+msgid "Forcing filesystem check on %s.\n"
+msgstr "Pakotetaan tiedostojärjestelmän tarkistus laitteella %s.\n"
+
+#: disk-utils/fsck.minix.c:1340
+#, 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:1373
+#, c-format
+msgid ""
+"\n"
+"%6ld inodes used (%ld%%)\n"
+msgstr ""
+"\n"
+"%6ld i-solmua käytetty (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1378
+#, c-format
+msgid "%6ld zones used (%ld%%)\n"
+msgstr "%6ld vyöhykettä käytety (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1380
+#, 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:1393
+#, c-format
+msgid ""
+"----------------------------\n"
+"FILE SYSTEM HAS BEEN CHANGED\n"
+"----------------------------\n"
+msgstr ""
+"--------------------------------\n"
+"TIEDOSTOJÄRJESTELMÄÄ ON MUUTETTU\n"
+"--------------------------------\n"
+
+#: disk-utils/isosize.c:129
+#, c-format
+msgid "%s: failed to open: %s\n"
+msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#: disk-utils/isosize.c:135
+#, c-format
+msgid "%s: seek error on %s\n"
+msgstr "%s: virhe siirrytäessä tiedostossa %s\n"
+
+#: disk-utils/isosize.c:141
+#, c-format
+msgid "%s: read error on %s\n"
+msgstr "%s: virhe luettaessa tiedostoa %s\n"
+
+#: disk-utils/isosize.c:150
+#, c-format
+msgid "sector count: %d, sector size: %d\n"
+msgstr "sektorimäärä: %d, sektorikoko: %d\n"
+
+#: disk-utils/isosize.c:200
+#, c-format
+msgid "%s: option parse error\n"
+msgstr "%s: virhe valitsimien jäsennyksessä\n"
+
+#: disk-utils/isosize.c:208
+#, c-format
+msgid "Usage: %s [-x] [-d <num>] iso9660-image\n"
+msgstr "Käyttö: %s [-x] [-d <nro>] iso9660-vedos\n"
+
+#: disk-utils/mkfs.bfs.c:84
+#, c-format
+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"
+
+#: disk-utils/mkfs.bfs.c:131
+msgid "volume name too long"
+msgstr "osionimi on liian pitkä"
+
+#: disk-utils/mkfs.bfs.c:138
+msgid "fsname name too long"
+msgstr "tiedostojärjestelmän nimi on liian pitkä"
+
+#: disk-utils/mkfs.bfs.c:163
+#, c-format
+msgid "cannot stat device %s"
+msgstr "laitteen %s tilaa ei voi lukea"
+
+#: disk-utils/mkfs.bfs.c:167
+#, c-format
+msgid "%s is not a block special device"
+msgstr "%s ei ole lohkolaite"
+
+#: disk-utils/mkfs.bfs.c:172 sys-utils/ldattach.c:205
+#, c-format
+msgid "cannot open %s"
+msgstr "laitetta %s ei voi avata"
+
+#: disk-utils/mkfs.bfs.c:183
+#, c-format
+msgid "cannot get size of %s"
+msgstr "laitteen %s kokoa ei voi hakea"
+
+#: disk-utils/mkfs.bfs.c:188
+#, c-format
+msgid "blocks argument too large, max is %llu"
+msgstr "blocks-argumentti on liian suuri, maksimi on %llu"
+
+#: disk-utils/mkfs.bfs.c:203
+msgid "too many inodes - max is 512"
+msgstr "liian monta i-solmua – maksimi on 512"
+
+#: disk-utils/mkfs.bfs.c:212
+#, 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:224 fdisk/fdisk.c:2345
+#, c-format
+msgid "Device: %s\n"
+msgstr "Laite: %s\n"
+
+#: disk-utils/mkfs.bfs.c:225
+#, c-format
+msgid "Volume: <%-6s>\n"
+msgstr "Osio: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:226
+#, c-format
+msgid "FSname: <%-6s>\n"
+msgstr "Tiedjärj.nimi: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:227
+#, c-format
+msgid "BlockSize: %d\n"
+msgstr "LohkoKoko: %d\n"
+
+#: disk-utils/mkfs.bfs.c:229
+#, c-format
+msgid "Inodes: %d (in 1 block)\n"
+msgstr "I-solmuja: %d (1 lohkossa)\n"
+
+#: disk-utils/mkfs.bfs.c:232
+#, c-format
+msgid "Inodes: %d (in %lld blocks)\n"
+msgstr "I-solmuja: %d (%lld lohkossa)\n"
+
+#: disk-utils/mkfs.bfs.c:234
+#, c-format
+msgid "Blocks: %lld\n"
+msgstr "Lohkot: %lld\n"
+
+#: disk-utils/mkfs.bfs.c:235
+#, c-format
+msgid "Inode end: %d, Data end: %d\n"
+msgstr "I-solmun loppu: %d, Datan loppu: %d\n"
+
+#: disk-utils/mkfs.bfs.c:240
+msgid "error writing superblock"
+msgstr "virhe kirjoitettaessa superlohkoa"
+
+#: disk-utils/mkfs.bfs.c:260
+msgid "error writing root inode"
+msgstr "virhe kirjoitettaessa juuren i-solmua"
+
+#: disk-utils/mkfs.bfs.c:265
+msgid "error writing inode"
+msgstr "virhe kirjoitettaessa i-solmua"
+
+#: disk-utils/mkfs.bfs.c:268
+msgid "seek error"
+msgstr "siirtymisvirhe"
+
+#: disk-utils/mkfs.bfs.c:274
+msgid "error writing . entry"
+msgstr "virhe kirjoitettessa ”.”-merkintää"
+
+#: disk-utils/mkfs.bfs.c:278
+msgid "error writing .. entry"
+msgstr "virhe kirjoitettessa ”..”-merkintää"
+
+#: disk-utils/mkfs.bfs.c:282
+#, c-format
+msgid "error closing %s"
+msgstr "virhe suljettaessa laitetta %s"
+
+#: disk-utils/mkfs.c:73
+#, c-format
+msgid "Usage: mkfs [-V] [-t fstype] [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:88 disk-utils/mkfs.c:96 fdisk/cfdisk.c:351
+#: getopt/getopt.c:86 getopt/getopt.c:96 login-utils/wall.c:246
+#, c-format
+msgid "%s: Out of memory!\n"
+msgstr "%s: Muisti lopussa!\n"
+
+#: disk-utils/mkfs.c:103
+#, c-format
+msgid "mkfs (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: disk-utils/mkfs.cramfs.c:126
+#, 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 ""
+"käyttö: %s [-h] [-v] [-b lkoko] [-e laitos] [-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"
+" -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:340
+#, c-format
+msgid ""
+"Very long (%zu bytes) filename `%s' found.\n"
+" Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile.  Exiting.\n"
+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:472
+#, c-format
+msgid "filesystem too big.  Exiting.\n"
+msgstr "tiedostojärjestelmä on liian suuri. Poistutaan.\n"
+
+#: disk-utils/mkfs.cramfs.c:637
+#, 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:656
+#, c-format
+msgid "%6.2f%% (%+ld bytes)\t%s\n"
+msgstr "%6.2f%% (%+ld tavua)\t%s\n"
+
+#: disk-utils/mkfs.cramfs.c:854
+#, c-format
+msgid ""
+"warning: guestimate of required size (upper bound) is %lldMB, but maximum "
+"image size is %uMB.  We might die prematurely.\n"
+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:881
+msgid "ROM image map"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:895
+#, c-format
+msgid "Including: %s\n"
+msgstr "Sisällytetään: %s\n"
+
+#: disk-utils/mkfs.cramfs.c:901
+#, c-format
+msgid "Directory data: %zd bytes\n"
+msgstr "Hakemistodata: %zd tavua\n"
+
+#: disk-utils/mkfs.cramfs.c:909
+#, c-format
+msgid "Everything: %zd kilobytes\n"
+msgstr "Kaikki: %zd kilotavua\n"
+
+#: disk-utils/mkfs.cramfs.c:914
+#, c-format
+msgid "Super block: %zd bytes\n"
+msgstr "Superlohko: %zd tavua\n"
+
+#: disk-utils/mkfs.cramfs.c:921
+#, c-format
+msgid "CRC: %x\n"
+msgstr "CRC: %x\n"
+
+#: disk-utils/mkfs.cramfs.c:926
+#, c-format
+msgid "not enough space allocated for ROM image (%lld allocated, %zu used)\n"
+msgstr ""
+"ROM-vedokselle ei ole varattu riittävästi tilaa (%lld varattu, %zu "
+"käytetty)\n"
+
+#: disk-utils/mkfs.cramfs.c:934
+msgid "ROM image"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:938
+#, c-format
+msgid "ROM image write failed (%zd %zd)\n"
+msgstr "ROM-vedoksen kirjoitus epäonnistui (%zd %zd)\n"
+
+#: disk-utils/mkfs.cramfs.c:947
+#, c-format
+msgid "warning: filenames truncated to 255 bytes.\n"
+msgstr "varoitus: tiedostonimet typistetään 255 tavuun.\n"
+
+#: disk-utils/mkfs.cramfs.c:950
+#, c-format
+msgid "warning: files were skipped due to errors.\n"
+msgstr "varoitus: tiedostoja ohitettiin virheiden takia.\n"
+
+#: disk-utils/mkfs.cramfs.c:953
+#, c-format
+msgid "warning: file sizes truncated to %luMB (minus 1 byte).\n"
+msgstr ""
+"varoitus: tiedostojen koot typistetty %lu megatavuun (miinus 1 tavu).\n"
+
+#: disk-utils/mkfs.cramfs.c:958
+#, c-format
+msgid ""
+"warning: uids truncated to %u bits.  (This may be a security concern.)\n"
+msgstr "varoitus: uid:t typistetty %u bittiin. (Tämä voi olla turvaongelma.)\n"
+
+#: disk-utils/mkfs.cramfs.c:963
+#, c-format
+msgid ""
+"warning: gids truncated to %u bits.  (This may be a security concern.)\n"
+msgstr "varoitus: gid:t typistetty %u bittiin. (Tämä voi olla turvaongelma.)\n"
+
+#: disk-utils/mkfs.cramfs.c:968
+#, c-format
+msgid ""
+"WARNING: device numbers truncated to %u bits.  This almost certainly means\n"
+"that some device files will be wrong.\n"
+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:156
+#, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]\n"
+msgstr "Käyttö: %s [-c | -l tiedostonimi] [-nXX] [-iXX] /dev/nimi [lohkot]\n"
+
+#: disk-utils/mkfs.minix.c:180
+#, 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:190
+msgid "seek to boot block failed in write_tables"
+msgstr "siirtyminen käynnistyslohkoon epäonnistui funktiossa write_tables"
+
+#: disk-utils/mkfs.minix.c:192
+msgid "unable to clear boot sector"
+msgstr "käynnistyssektorin tyhjentäminen ei onnistu"
+
+#: disk-utils/mkfs.minix.c:194
+msgid "seek failed in write_tables"
+msgstr "siirtyminen epäonnistui funktiossa write_tables"
+
+#: disk-utils/mkfs.minix.c:198
+msgid "unable to write inode map"
+msgstr "i-solmukarttaa ei voi kirjoittaa"
+
+#: disk-utils/mkfs.minix.c:200
+msgid "unable to write zone map"
+msgstr "vyöhykekarttaa ei voi kirjoittaa"
+
+#: disk-utils/mkfs.minix.c:202
+msgid "unable to write inodes"
+msgstr "i-solmuja ei voi kirjoittaa"
+
+#: disk-utils/mkfs.minix.c:211
+msgid "write failed in write_block"
+msgstr "kirjoitus epäonnistui funktiossa write_block"
+
+#: disk-utils/mkfs.minix.c:219 disk-utils/mkfs.minix.c:293
+#: disk-utils/mkfs.minix.c:342
+msgid "too many bad blocks"
+msgstr "liian monta viallista lohkoa"
+
+#: disk-utils/mkfs.minix.c:227
+msgid "not enough good blocks"
+msgstr "ei riittävästi ehjiä lohkoja"
+
+#: disk-utils/mkfs.minix.c:439
+msgid "unable to allocate buffers for maps"
+msgstr "kartoille ei voi varata puskureita"
+
+#: disk-utils/mkfs.minix.c:448
+msgid "unable to allocate buffer for inodes"
+msgstr "i-solmuille ei voi varata puskureita"
+
+#: disk-utils/mkfs.minix.c:454
+#, c-format
+msgid ""
+"Maxsize=%ld\n"
+"\n"
+msgstr ""
+"Maxkoko=%ld\n"
+"\n"
+
+#: disk-utils/mkfs.minix.c:468
+msgid "seek failed during testing of blocks"
+msgstr "siirtyminen epäonnistui lohkojen testauksen aikana"
+
+#: disk-utils/mkfs.minix.c:476
+#, 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:507 disk-utils/mkswap.c:313
+msgid "seek failed in check_blocks"
+msgstr "siirtyminen epäonnistui funktiossa check_blocks"
+
+#: disk-utils/mkfs.minix.c:516
+msgid "bad blocks before data-area: cannot make fs"
+msgstr ""
+"virheellisiä lohkoja ennen data-aluetta: tiedostojärjestelmää ei voi luoda"
+
+#: disk-utils/mkfs.minix.c:522 disk-utils/mkfs.minix.c:547
+#, c-format
+msgid "%d bad blocks\n"
+msgstr "%d viallista lohkoa\n"
+
+#: disk-utils/mkfs.minix.c:524 disk-utils/mkfs.minix.c:549
+#, c-format
+msgid "one bad block\n"
+msgstr "yksi viallinen lohko\n"
+
+#: disk-utils/mkfs.minix.c:534
+msgid "can't open file of bad blocks"
+msgstr "vialliset lohkot sisältävää tiedostoa ei voi avata"
+
+#: disk-utils/mkfs.minix.c:538
+#, c-format
+msgid "badblock number input error on line %d\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:539
+#, fuzzy
+msgid "cannot read badblocks file"
+msgstr "Levyasemaa ei voi lukea"
+
+#: disk-utils/mkfs.minix.c:619
+#, c-format
+msgid "strtol error: number of blocks not specified"
+msgstr "strtol-virhe: lohkojen määrää ei ole annettu"
+
+#: disk-utils/mkfs.minix.c:638
+#, c-format
+msgid "unable to stat %s"
+msgstr "tiedoston %s tilaa ei voi lukea"
+
+#: disk-utils/mkfs.minix.c:644
+#, c-format
+msgid "unable to open %s"
+msgstr "laitetta %s ei voi avata"
+
+#: disk-utils/mkfs.minix.c:649
+#, c-format
+msgid "cannot determine sector size for %s"
+msgstr "laitteen %s sektorikokoa ei voida päätellä"
+
+#: disk-utils/mkfs.minix.c:651
+#, c-format
+msgid "block size smaller than physical sector size of %s"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:654
+#, fuzzy, c-format
+msgid "cannot determine size of %s"
+msgstr "laitteen %s kokoa ei voi hakea"
+
+#: disk-utils/mkfs.minix.c:662
+#, c-format
+msgid "will not try to make filesystem on '%s'"
+msgstr "ei yritetä luoda tiedostojärjestelmää kohteeseen ”%s”"
+
+#: disk-utils/mkfs.minix.c:664
+#, fuzzy
+msgid "number of blocks too small"
+msgstr "Sektorien määrä"
+
+#: disk-utils/mkswap.c:155
+#, c-format
+msgid "Bad user-specified page size %d\n"
+msgstr "Käyttäjän antama sivukoko %d on virheellinen\n"
+
+#: disk-utils/mkswap.c:163
+#, c-format
+msgid "Using user-specified page size %d, instead of the system value %d\n"
+msgstr ""
+"Käytetään käyttäjän antamaa sivukokoa %d järjestelmän arvon %d sijaan\n"
+
+#: disk-utils/mkswap.c:192
+#, c-format
+msgid "Bad swap header size, no label written.\n"
+msgstr "Virheellinen sivutusotsakkeen koko, nimiötä ei kirjoitettu.\n"
+
+#: disk-utils/mkswap.c:202
+#, c-format
+msgid "Label was truncated.\n"
+msgstr "Nimiötä lyhennettiin.\n"
+
+#: disk-utils/mkswap.c:208
+#, c-format
+msgid "no label, "
+msgstr "ei nimiötä, "
+
+#: disk-utils/mkswap.c:216
+#, c-format
+msgid "no uuid\n"
+msgstr "ei uuid:tä\n"
+
+#: disk-utils/mkswap.c:281
+#, fuzzy, c-format
+msgid "Usage: %s [-c] [-pPAGESZ] [-L label] [-U UUID] /dev/name [blocks]\n"
+msgstr ""
+"Käyttö: %s [-c] [-v0|-v1] [-pSIVUKOKO] [-L nimiö] [-U UUID] /dev/nimi "
+"[lohkot]\n"
+
+#: disk-utils/mkswap.c:295
+msgid "too many bad pages"
+msgstr "liian monta viallista sivua"
+
+#: disk-utils/mkswap.c:308 misc-utils/look.c:182 misc-utils/setterm.c:1183
+#: text-utils/more.c:1982 text-utils/more.c:1993
+msgid "Out of memory"
+msgstr "Muisti lopussa"
+
+#: disk-utils/mkswap.c:319
+#, c-format
+msgid "one bad page\n"
+msgstr "yksi viallinen sivu\n"
+
+#: disk-utils/mkswap.c:321
+#, c-format
+msgid "%lu bad pages\n"
+msgstr "%lu viallista sivua\n"
+
+#: disk-utils/mkswap.c:399 disk-utils/mkswap.c:415 disk-utils/mkswap.c:633
+msgid "unable to rewind swap-device"
+msgstr "sivutuslaitteella ei voi siirtyä taaksepäin"
+
+#: disk-utils/mkswap.c:419
+#, fuzzy
+msgid "unable to erase bootbits sectors"
+msgstr "käynnistyssektorin tyhjentäminen ei onnistu"
+
+#: disk-utils/mkswap.c:423
+#, c-format
+msgid "%s: %s: warning: don't erase bootbits sectors\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:426
+#, fuzzy, c-format
+msgid "        (%s partition table detected). "
+msgstr "   p    näytä BSD-osiotaulu"
+
+#: disk-utils/mkswap.c:428
+#, fuzzy, c-format
+msgid "        on whole disk. "
+msgstr "   s    näytä täydellinen levynimiö"
+
+#: disk-utils/mkswap.c:498
+#, c-format
+msgid "%1$s: warning: ignore -U (UUIDs are unsupported by %1$s)\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:514
+#, fuzzy, c-format
+msgid "%s: does not support swapspace version %d.\n"
+msgstr "%s: virhe: tuntematon versio %d\n"
+
+#: disk-utils/mkswap.c:522
+msgid "error: UUID parsing failed"
+msgstr "virhe: UUID:n jäsennys epäonnistui"
+
+#: disk-utils/mkswap.c:533
+#, c-format
+msgid "%s: error: Nowhere to set up swap on?\n"
+msgstr "%s: virhe: Sivutustilan kohde?\n"
+
+#: disk-utils/mkswap.c:551
+#, fuzzy, c-format
+msgid "%s: error: size %llu KiB is larger than device size %llu KiB\n"
+msgstr "%s: virhe: koko %lu KiB on suurempi kuin laitteen koko %lu KiB\n"
+
+#: disk-utils/mkswap.c:560
+#, c-format
+msgid "%s: error: swap area needs to be at least %ld KiB\n"
+msgstr "%s: virhe: sivutusalueen on oltava vähintään %ld KiB:n kokoinen\n"
+
+#: disk-utils/mkswap.c:577
+#, fuzzy, c-format
+msgid "%s: warning: truncating swap area to %llu KiB\n"
+msgstr "%s: varoitus: typistetään sivutusalue kokoon %ld KiB\n"
+
+#: disk-utils/mkswap.c:600
+#, c-format
+msgid "%s: error: will not try to make swapdevice on '%s'\n"
+msgstr "%s: virhe: ei yritetä luoda sivutuslaitetta kohteeseen ”%s”\n"
+
+#: disk-utils/mkswap.c:606
+#, c-format
+msgid "%s: error: %s is mounted; will not make swapspace.\n"
+msgstr "%s: virhe: %s on liitetty; ei tehdä sivutustilaa.\n"
+
+#: disk-utils/mkswap.c:622
+msgid "Unable to set up swap-space: unreadable"
+msgstr "Sivutustilaa ei voi luoda: ei luettavissa"
+
+#: disk-utils/mkswap.c:625
+#, 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:636
+#, c-format
+msgid "%s: %s: unable to write signature page: %s"
+msgstr "%s: %s: allekirjoitussivua ei voi kirjoittaa: %s"
+
+#: disk-utils/mkswap.c:647
+msgid "fsync failed"
+msgstr "fsync epäonnistui"
+
+#: disk-utils/mkswap.c:658
+#, c-format
+msgid "%s: %s: unable to obtain selinux file label: %s\n"
+msgstr "%s: %s: selinux-tiedostonimiön hakeminen ei onnistu: %s\n"
+
+#: disk-utils/mkswap.c:664
+#, fuzzy
+msgid "unable to matchpathcon()"
+msgstr "tiedoston %s tilaa ei voi lukea"
+
+#: disk-utils/mkswap.c:667
+msgid "unable to create new selinux context"
+msgstr "uuden selinux-kontekstin luominen ei onnistu"
+
+#: disk-utils/mkswap.c:669
+msgid "couldn't compute selinux context"
+msgstr "selinux-kontekstin laskeminen ei onnistunut"
+
+#: disk-utils/mkswap.c:675
+#, c-format
+msgid "%s: unable to relabel %s to %s: %s\n"
+msgstr "%s: uudelleennimeäminen %s → %s ei onnistu: %s\n"
+
+#: disk-utils/raw.c:50
+#, c-format
+msgid ""
+"Usage:\n"
+"  %s "
+msgstr ""
+"Käyttö:\n"
+"  %s "
+
+#: disk-utils/raw.c:125
+#, c-format
+msgid ""
+"Device '%s' is control raw dev (use raw<N> where <N> is greater than zero)\n"
+msgstr ""
+
+#: disk-utils/raw.c:145
+#, fuzzy, c-format
+msgid "Cannot locate block device '%s' (%s)\n"
+msgstr "Lukkotiedostoa %s ei voi lukita: %s\n"
+
+#: disk-utils/raw.c:151
+#, fuzzy, c-format
+msgid "Device '%s' is not a block dev\n"
+msgstr "Varoitus: %s ei ole lohkolaite\n"
+
+#: disk-utils/raw.c:186
+#, fuzzy, c-format
+msgid "Cannot open master raw device '"
+msgstr "laitteen %s tilaa ei voi lukea"
+
+#: disk-utils/raw.c:205
+#, fuzzy, c-format
+msgid "Cannot locate raw device '%s' (%s)\n"
+msgstr "laitteen %s tilaa ei voi lukea"
+
+#: disk-utils/raw.c:211
+#, fuzzy, c-format
+msgid "Raw device '%s' is not a character dev\n"
+msgstr "/dev/%s: ei ole merkkilaite"
+
+#: disk-utils/raw.c:216
+#, fuzzy, c-format
+msgid "Device '%s' is not a raw dev\n"
+msgstr "%s ei ole lohkolaite"
+
+#: disk-utils/raw.c:231
+#, c-format
+msgid "Error querying raw device (%s)\n"
+msgstr ""
+
+#: disk-utils/raw.c:241 disk-utils/raw.c:261
+#, c-format
+msgid "raw%d:\tbound to major %d, minor %d\n"
+msgstr ""
+
+#: disk-utils/raw.c:257
+#, fuzzy, c-format
+msgid "Error setting raw device (%s)\n"
+msgstr "virhe pysäytettäessä palvelua: ”%s”"
+
+#: fdisk/cfdisk.c:376 fdisk/cfdisk.c:2080
+msgid "Unusable"
+msgstr "Ei käytettävissä"
+
+#: fdisk/cfdisk.c:378 fdisk/cfdisk.c:2082
+msgid "Free Space"
+msgstr "Vapaa tila"
+
+#: fdisk/cfdisk.c:381
+msgid "Linux ext2"
+msgstr "Linux ext2"
+
+#: fdisk/cfdisk.c:383
+msgid "Linux ext3"
+msgstr "Linux ext3"
+
+#: fdisk/cfdisk.c:385
+msgid "Linux XFS"
+msgstr "Linux XFS"
+
+#: fdisk/cfdisk.c:387
+msgid "Linux JFS"
+msgstr "Linux JFS"
+
+#: fdisk/cfdisk.c:389
+msgid "Linux ReiserFS"
+msgstr "Linux ReiserFS"
+
+#: fdisk/cfdisk.c:391 fdisk/i386_sys_types.c:57
+msgid "Linux"
+msgstr "Linux"
+
+#: fdisk/cfdisk.c:394
+msgid "OS/2 HPFS"
+msgstr "OS/2 HPFS"
+
+#: fdisk/cfdisk.c:396
+msgid "OS/2 IFS"
+msgstr "OS/2 IFS"
+
+#: fdisk/cfdisk.c:400
+msgid "NTFS"
+msgstr "NTFS"
+
+#: fdisk/cfdisk.c:411
+#, c-format
+msgid "Disk has been changed.\n"
+msgstr "Levy on vaihdettu.\n"
+
+#: fdisk/cfdisk.c:413
+#, 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"
+
+#: fdisk/cfdisk.c:417
+#, 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"
+
+#: fdisk/cfdisk.c:512
+msgid "FATAL ERROR"
+msgstr "VAKAVA VIRHE"
+
+#: fdisk/cfdisk.c:513
+msgid "Press any key to exit cfdisk"
+msgstr "Paina mitä tahansa näppäintä poistuaksesi cfdiskistä"
+
+#: fdisk/cfdisk.c:560 fdisk/cfdisk.c:568
+msgid "Cannot seek on disk drive"
+msgstr "Levyasemalla ei voi siirtyä"
+
+#: fdisk/cfdisk.c:562
+msgid "Cannot read disk drive"
+msgstr "Levyasemaa ei voi lukea"
+
+#: fdisk/cfdisk.c:570
+msgid "Cannot write disk drive"
+msgstr "Levyasemalle ei voi kirjoittaa"
+
+#: fdisk/cfdisk.c:913
+msgid "Too many partitions"
+msgstr "Liian monta osiota"
+
+#: fdisk/cfdisk.c:918
+msgid "Partition begins before sector 0"
+msgstr "Osion alku on ennen sektoria 0"
+
+#: fdisk/cfdisk.c:923
+msgid "Partition ends before sector 0"
+msgstr "Osion loppu on ennen sektoria 0"
+
+#: fdisk/cfdisk.c:928
+msgid "Partition begins after end-of-disk"
+msgstr "Osion alku on levyn lopun jälkeen"
+
+#: fdisk/cfdisk.c:933
+msgid "Partition ends after end-of-disk"
+msgstr "Osion loppu on levyn lopun jälkeen"
+
+#: fdisk/cfdisk.c:938
+msgid "Partition ends in the final partial cylinder"
+msgstr "Osion loppu on viimeisellä osittaisella sylinterillä"
+
+#: fdisk/cfdisk.c:962
+msgid "logical partitions not in disk order"
+msgstr "loogiset osiot eivät ole levyjärjestyksessä"
+
+#: fdisk/cfdisk.c:965
+msgid "logical partitions overlap"
+msgstr "loogiset osiot ovat päällekkäiset"
+
+#: fdisk/cfdisk.c:969
+msgid "enlarged logical partitions overlap"
+msgstr "suurennetut loogiset osiot ovat päällekkäiset"
+
+#: fdisk/cfdisk.c:999
+msgid ""
+"!!!! Internal error creating logical drive with no extended partition !!!!"
+msgstr ""
+"!!!! Sisäinen virhe luotaessa loogista asemaa ilman laajennettua osiota !!!!"
+
+#: fdisk/cfdisk.c:1010 fdisk/cfdisk.c:1022
+msgid ""
+"Cannot create logical drive here -- would create two extended partitions"
+msgstr ""
+"Tähän ei voi luoda loogista asemaa – luotaisiin kaksi laajennettua osiota"
+
+#: fdisk/cfdisk.c:1164
+msgid "Menu item too long. Menu may look odd."
+msgstr "Liian pitkä valikon kohta. Valikko voi näyttää oudolta."
+
+#: fdisk/cfdisk.c:1220
+msgid "Menu without direction. Defaulting to horizontal."
+msgstr "Valikko ilman suuntaa. Käytetään oletuksena vaakasuuntaa."
+
+#: fdisk/cfdisk.c:1351
+msgid "Illegal key"
+msgstr "Väärä näppäin"
+
+#: fdisk/cfdisk.c:1374
+msgid "Press a key to continue"
+msgstr "Paina näppäintä jatkaaksesi"
+
+#: fdisk/cfdisk.c:1421 fdisk/cfdisk.c:2051 fdisk/cfdisk.c:2583
+#: fdisk/cfdisk.c:2585
+msgid "Primary"
+msgstr "Ensiö"
+
+#: fdisk/cfdisk.c:1421
+msgid "Create a new primary partition"
+msgstr "Luo uusi ensiöosio"
+
+#: fdisk/cfdisk.c:1422 fdisk/cfdisk.c:2051 fdisk/cfdisk.c:2582
+#: fdisk/cfdisk.c:2585
+msgid "Logical"
+msgstr "Looginen"
+
+#: fdisk/cfdisk.c:1422
+msgid "Create a new logical partition"
+msgstr "Luo uusi looginen osio"
+
+#: fdisk/cfdisk.c:1423 fdisk/cfdisk.c:1478 fdisk/cfdisk.c:2256
+msgid "Cancel"
+msgstr "Peruuta"
+
+#: fdisk/cfdisk.c:1423 fdisk/cfdisk.c:1478
+msgid "Don't create a partition"
+msgstr "Älä luo osiota"
+
+#: fdisk/cfdisk.c:1439
+msgid "!!! Internal error !!!"
+msgstr "!!! Sisäinen virhe !!!"
+
+#: fdisk/cfdisk.c:1442
+msgid "Size (in MB): "
+msgstr "Koko (Mt): "
+
+#: fdisk/cfdisk.c:1476
+msgid "Beginning"
+msgstr "Alku"
+
+#: fdisk/cfdisk.c:1476
+msgid "Add partition at beginning of free space"
+msgstr "Lisää osio tyhjän tilan alkuun"
+
+#: fdisk/cfdisk.c:1477
+msgid "End"
+msgstr "Loppu"
+
+#: fdisk/cfdisk.c:1477
+msgid "Add partition at end of free space"
+msgstr "Lisää osio tyhjän tilan loppuun"
+
+#: fdisk/cfdisk.c:1495
+msgid "No room to create the extended partition"
+msgstr "Laajennetun osion luomiseen ei ole tilaa"
+
+#: fdisk/cfdisk.c:1569
+msgid "No partition table.\n"
+msgstr "Ei osiotaulua.\n"
+
+#: fdisk/cfdisk.c:1573
+msgid "No partition table. Starting with zero table."
+msgstr "Ei osiotaulua. Aloitetaan tyhjällä taululla."
+
+#: fdisk/cfdisk.c:1583
+msgid "Bad signature on partition table"
+msgstr "Osiotaulun allekirjoitus on virheellinen"
+
+#: fdisk/cfdisk.c:1587
+msgid "Unknown partition table type"
+msgstr "Tuntematon osiotaulun tyyppi"
+
+#: fdisk/cfdisk.c:1589
+msgid "Do you wish to start with a zero table [y/N] ?"
+msgstr "Haluatko aloittaa tyhjällä osiotaululla [y/N]?"
+
+#: fdisk/cfdisk.c:1637
+msgid "You specified more cylinders than fit on disk"
+msgstr "Annettu sylinterimäärä ei mahdu levylle"
+
+#: fdisk/cfdisk.c:1669
+msgid "Cannot open disk drive"
+msgstr "Levyasemaa ei voi avata"
+
+#: fdisk/cfdisk.c:1671 fdisk/cfdisk.c:1860
+msgid "Opened disk read-only - you have no permission to write"
+msgstr "Levy avattiin vain luku -tilassa – sinulla ei ole kirjoitusoikeutta"
+
+#: fdisk/cfdisk.c:1682
+msgid ""
+"Warning!!  Unsupported GPT (GUID Partition Table) detected. Use GNU Parted."
+msgstr ""
+"Varoitus!! Havaittu ei-tuettu GPT (GUID Partition Table). Käytä GNU Partedia."
+
+#: fdisk/cfdisk.c:1701
+msgid "Cannot get disk size"
+msgstr "Levyn kokoa ei voi hakea"
+
+#: fdisk/cfdisk.c:1727
+msgid "Bad primary partition"
+msgstr "Viallinen ensiöosio"
+
+#: fdisk/cfdisk.c:1757
+msgid "Bad logical partition"
+msgstr "Viallinen looginen osio"
+
+#: fdisk/cfdisk.c:1872
+msgid "Warning!!  This may destroy data on your disk!"
+msgstr "Varoitus!! Tämä voi tuhota dataa levyltä!"
+
+#: fdisk/cfdisk.c:1876
+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):"
+
+#: fdisk/cfdisk.c:1882
+msgid "no"
+msgstr "ei"
+
+#: fdisk/cfdisk.c:1884
+msgid "Did not write partition table to disk"
+msgstr "Osiotaulua ei kirjoitettu levylle"
+
+#: fdisk/cfdisk.c:1886
+msgid "yes"
+msgstr "jaa"
+
+#: fdisk/cfdisk.c:1890
+msgid "Please enter `yes' or `no'"
+msgstr "Kirjoita ”jaa” tai ”ei”"
+
+#: fdisk/cfdisk.c:1894
+msgid "Writing partition table to disk..."
+msgstr "Kirjoitetaan osiotaulua levylle..."
+
+#: fdisk/cfdisk.c:1921 fdisk/cfdisk.c:1925
+msgid "Wrote partition table to disk"
+msgstr "Osiotaulu kirjoitettiin levylle"
+
+#: fdisk/cfdisk.c:1923
+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."
+
+#: fdisk/cfdisk.c:1933
+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ä."
+
+#: fdisk/cfdisk.c:1935
+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ä."
+
+#: fdisk/cfdisk.c:1993 fdisk/cfdisk.c:2112 fdisk/cfdisk.c:2196
+msgid "Enter filename or press RETURN to display on screen: "
+msgstr "Syötä tiedostonimi tai paina RETURN saadaksesi näytölle: "
+
+#: fdisk/cfdisk.c:2002 fdisk/cfdisk.c:2120 fdisk/cfdisk.c:2204
+#, c-format
+msgid "Cannot open file '%s'"
+msgstr "Tiedostoa ”%s” ei voi avata"
+
+#: fdisk/cfdisk.c:2013
+#, c-format
+msgid "Disk Drive: %s\n"
+msgstr "Levyasema: %s\n"
+
+#: fdisk/cfdisk.c:2015
+msgid "Sector 0:\n"
+msgstr "Sektori 0:\n"
+
+#: fdisk/cfdisk.c:2022
+#, c-format
+msgid "Sector %d:\n"
+msgstr "Sektori %d:\n"
+
+#: fdisk/cfdisk.c:2042
+msgid "   None   "
+msgstr "   Ei mitään"
+
+#: fdisk/cfdisk.c:2044
+msgid "   Pri/Log"
+msgstr "   Ens/Loog"
+
+#: fdisk/cfdisk.c:2046
+msgid "   Primary"
+msgstr "   Ensiö"
+
+#: fdisk/cfdisk.c:2048
+msgid "   Logical"
+msgstr "   Looginen"
+
+#: fdisk/cfdisk.c:2086 fdisk/fdisk.c:1534 fdisk/fdisk.c:1855
+#: fdisk/fdisksgilabel.c:240 fdisk/fdisksunlabel.c:621 fdisk/sfdisk.c:653
+msgid "Unknown"
+msgstr "Tuntematon"
+
+#: fdisk/cfdisk.c:2092 fdisk/cfdisk.c:2560 fdisk/fdisksunlabel.c:44
+msgid "Boot"
+msgstr "Käynnistettävä"
+
+#: fdisk/cfdisk.c:2094
+#, c-format
+msgid "(%02X)"
+msgstr "(%02X)"
+
+#: fdisk/cfdisk.c:2096
+msgid "None"
+msgstr "Ei mitään"
+
+#: fdisk/cfdisk.c:2131 fdisk/cfdisk.c:2215
+#, c-format
+msgid "Partition Table for %s\n"
+msgstr "Laitteen %s osiotaulu\n"
+
+#: fdisk/cfdisk.c:2133
+msgid "               First       Last\n"
+msgstr "               Alku-      Loppu-\n"
+
+#: fdisk/cfdisk.c:2134
+msgid ""
+" # Type       Sector      Sector   Offset    Length   Filesystem Type (ID) "
+"Flag\n"
+msgstr ""
+" # Tyyppi    sektori     sektori   Siirt.    Pituus   Tied.järj. tyyppi (ID) "
+"Liput\n"
+
+#: fdisk/cfdisk.c:2135
+msgid ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+msgstr ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+
+#: fdisk/cfdisk.c:2218
+msgid "         ---Starting----      ----Ending-----    Start     Number of\n"
+msgstr "          ----Alku----         ----Loppu----     Alku-     Sektorien\n"
+
+#: fdisk/cfdisk.c:2219
+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"
+
+#: fdisk/cfdisk.c:2220
+msgid "-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+msgstr ""
+"-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- ------------\n"
+
+#: fdisk/cfdisk.c:2253
+msgid "Raw"
+msgstr "Raaka"
+
+#: fdisk/cfdisk.c:2253
+msgid "Print the table using raw data format"
+msgstr "Näytä taulu raa'assa datamuodossa"
+
+#: fdisk/cfdisk.c:2254 fdisk/cfdisk.c:2357
+msgid "Sectors"
+msgstr "Sektorit"
+
+#: fdisk/cfdisk.c:2254
+msgid "Print the table ordered by sectors"
+msgstr "Näytä taulu järjestettynä sektoreiden mukaan"
+
+#: fdisk/cfdisk.c:2255
+msgid "Table"
+msgstr "Taulu"
+
+#: fdisk/cfdisk.c:2255
+msgid "Just print the partition table"
+msgstr "Näytä osiotaulu"
+
+#: fdisk/cfdisk.c:2256
+msgid "Don't print the table"
+msgstr "Älä näytä taulua"
+
+#: fdisk/cfdisk.c:2284
+msgid "Help Screen for cfdisk"
+msgstr "Cfdiskin ohjeruutu"
+
+#: fdisk/cfdisk.c:2286
+msgid "This is cfdisk, a curses based disk partitioning program, which"
+msgstr "Tämä on cfdisk, curses-pohjainen levynosiointiohjelma, "
+
+#: fdisk/cfdisk.c:2287
+msgid "allows you to create, delete and modify partitions on your hard"
+msgstr "jolla voi luoda, poistaa ja muuttaa kiintolevyllä "
+
+#: fdisk/cfdisk.c:2288
+msgid "disk drive."
+msgstr "olevia osioita."
+
+#: fdisk/cfdisk.c:2290
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr "Copyright © 1994-1999 Kevin E. Martin & aeb"
+
+#: fdisk/cfdisk.c:2292
+msgid "Command      Meaning"
+msgstr "Komento      Merkitys"
+
+#: fdisk/cfdisk.c:2293
+msgid "-------      -------"
+msgstr "-------      --------"
+
+#: fdisk/cfdisk.c:2294
+msgid "  b          Toggle bootable flag of the current partition"
+msgstr "  b          Aseta nykyisen osion käynnistettävyyslippu päälle/pois"
+
+#: fdisk/cfdisk.c:2295
+msgid "  d          Delete the current partition"
+msgstr "  d          Poista nykyinen osio"
+
+#: fdisk/cfdisk.c:2296
+msgid "  g          Change cylinders, heads, sectors-per-track parameters"
+msgstr "  g          Muuta sylinteri-, pää- ja sektoriparametreja"
+
+#: fdisk/cfdisk.c:2297
+msgid "             WARNING: This option should only be used by people who"
+msgstr "             VAROITUS: Tätä valitsinta tulee käyttää vain niiden,"
+
+#: fdisk/cfdisk.c:2298
+msgid "             know what they are doing."
+msgstr "             jotka tietävät mitä ovat tekemässä."
+
+#: fdisk/cfdisk.c:2299
+msgid "  h          Print this screen"
+msgstr "  h          Näytä tämä ohjeruutu"
+
+#: fdisk/cfdisk.c:2300
+msgid "  m          Maximize disk usage of the current partition"
+msgstr "  m          Maksimoi nykyisen osion levynkäyttö"
+
+#: fdisk/cfdisk.c:2301
+msgid "             Note: This may make the partition incompatible with"
+msgstr "             Huom: Tämä saattaa tehdä osiosta epäyhteensopivan"
+
+#: fdisk/cfdisk.c:2302
+msgid "             DOS, OS/2, ..."
+msgstr "             mm. DOSin ja OS/2:n kanssa."
+
+#: fdisk/cfdisk.c:2303
+msgid "  n          Create new partition from free space"
+msgstr "  n          Luo uusi osio tyhjästä tilasta"
+
+#: fdisk/cfdisk.c:2304
+msgid "  p          Print partition table to the screen or to a file"
+msgstr "  p          Tulosta osiotaulu ruudulle tai tiedostoon"
+
+#: fdisk/cfdisk.c:2305
+msgid "             There are several different formats for the partition"
+msgstr "             Osioille on useita erilaisia muotoja,"
+
+#: fdisk/cfdisk.c:2306
+msgid "             that you can choose from:"
+msgstr "             joista voit valita:"
+
+#: fdisk/cfdisk.c:2307
+msgid "                r - Raw data (exactly what would be written to disk)"
+msgstr ""
+"                r – Raaka data (tasan se, mitä levylle kirjoitettaisiin)"
+
+#: fdisk/cfdisk.c:2308
+msgid "                s - Table ordered by sectors"
+msgstr "                s – Sektoreittain järjestetty taulu"
+
+#: fdisk/cfdisk.c:2309
+msgid "                t - Table in raw format"
+msgstr "                t – Taulu raa'assa muodossa"
+
+#: fdisk/cfdisk.c:2310
+msgid "  q          Quit program without writing partition table"
+msgstr "  q          Lopeta ohjelma kirjoittamatta osiotaulua"
+
+#: fdisk/cfdisk.c:2311
+msgid "  t          Change the filesystem type"
+msgstr "  t          Muuta tiedostojärjestelmän tyyppiä"
+
+#: fdisk/cfdisk.c:2312
+msgid "  u          Change units of the partition size display"
+msgstr "  u          Muuta osiokokonäkymän yksiköitä"
+
+#: fdisk/cfdisk.c:2313
+msgid "             Rotates through MB, sectors and cylinders"
+msgstr "             Vaihtaa megatavujen, sektoreiden ja sylinterien välillä"
+
+#: fdisk/cfdisk.c:2314
+msgid "  W          Write partition table to disk (must enter upper case W)"
+msgstr "  W          Kirjoita osiotaulu levylle (on annettava iso kirjain W)"
+
+#: fdisk/cfdisk.c:2315
+msgid "             Since this might destroy data on the disk, you must"
+msgstr "             Koska tämä saattaa tuhota levyllä olevaa dataa, kirjoitus"
+
+#: fdisk/cfdisk.c:2316
+msgid "             either confirm or deny the write by entering `yes' or"
+msgstr ""
+"             on joko varmistettava tai peruttava kirjoittamalla ”jaa” tai"
+
+#: fdisk/cfdisk.c:2317
+msgid "             `no'"
+msgstr "             ”ei”"
+
+#: fdisk/cfdisk.c:2318
+msgid "Up Arrow     Move cursor to the previous partition"
+msgstr "Nuoli ylös   Siirrä osoitin edelliseen osioon"
+
+#: fdisk/cfdisk.c:2319
+msgid "Down Arrow   Move cursor to the next partition"
+msgstr "Nuoli alas   Siirrä osoitin seuraavaan osioon"
+
+#: fdisk/cfdisk.c:2320
+msgid "CTRL-L       Redraws the screen"
+msgstr "CTRL-L       Piirtää ruudun uudelleen"
+
+#: fdisk/cfdisk.c:2321
+msgid "  ?          Print this screen"
+msgstr "  ?          Näytä tämä ohjeruutu"
+
+#: fdisk/cfdisk.c:2323
+msgid "Note: All of the commands can be entered with either upper or lower"
+msgstr "Huom: Kaikki komennot voi antaa joko isoilla tai pienillä"
+
+#: fdisk/cfdisk.c:2324
+msgid "case letters (except for Writes)."
+msgstr "kirjaimilla (paitsi taulun kirjoitus (W) )."
+
+#: fdisk/cfdisk.c:2355 fdisk/fdisksunlabel.c:237
+msgid "Cylinders"
+msgstr "Sylinterit"
+
+#: fdisk/cfdisk.c:2355
+msgid "Change cylinder geometry"
+msgstr "Muuta sylinterigeometriaa"
+
+#: fdisk/cfdisk.c:2356 fdisk/fdisksunlabel.c:235
+msgid "Heads"
+msgstr "Päät"
+
+#: fdisk/cfdisk.c:2356
+msgid "Change head geometry"
+msgstr "Vaihda päägeometriaa"
+
+#: fdisk/cfdisk.c:2357
+msgid "Change sector geometry"
+msgstr "Vaihda sektorigeometriaa"
+
+#: fdisk/cfdisk.c:2358
+msgid "Done"
+msgstr "Valmis"
+
+#: fdisk/cfdisk.c:2358
+msgid "Done with changing geometry"
+msgstr "Geometrian muutos valmis"
+
+#: fdisk/cfdisk.c:2371
+msgid "Enter the number of cylinders: "
+msgstr "Anna sylinterien määrä: "
+
+#: fdisk/cfdisk.c:2382 fdisk/cfdisk.c:2953
+msgid "Illegal cylinders value"
+msgstr "Virheellinen sylinteriarvo"
+
+#: fdisk/cfdisk.c:2388
+msgid "Enter the number of heads: "
+msgstr "Anna päiden määrä: "
+
+#: fdisk/cfdisk.c:2395 fdisk/cfdisk.c:2963
+msgid "Illegal heads value"
+msgstr "Virheellinen pääarvo"
+
+#: fdisk/cfdisk.c:2401
+msgid "Enter the number of sectors per track: "
+msgstr "Anna sektorien määrä uraa kohden: "
+
+#: fdisk/cfdisk.c:2408 fdisk/cfdisk.c:2970
+msgid "Illegal sectors value"
+msgstr "Virheellinen sektorimäärä"
+
+#: fdisk/cfdisk.c:2511
+msgid "Enter filesystem type: "
+msgstr "Anna tiedostojärjestelmän tyyppi: "
+
+#: fdisk/cfdisk.c:2529
+msgid "Cannot change FS Type to empty"
+msgstr "Tiedostojärjestelmän tyyppiä ei voi muuttaa tyhjäksi"
+
+#: fdisk/cfdisk.c:2531
+msgid "Cannot change FS Type to extended"
+msgstr "Tiedostojärjestelmän tyyppiä ei voi muuttaa laajennetuksi"
+
+#: fdisk/cfdisk.c:2562
+#, c-format
+msgid "Unk(%02X)"
+msgstr "Tunt(%02X)"
+
+#: fdisk/cfdisk.c:2565 fdisk/cfdisk.c:2568
+msgid ", NC"
+msgstr ", NC"
+
+#: fdisk/cfdisk.c:2573 fdisk/cfdisk.c:2576
+msgid "NC"
+msgstr "NC"
+
+#: fdisk/cfdisk.c:2584
+msgid "Pri/Log"
+msgstr "Ens/Loog"
+
+#: fdisk/cfdisk.c:2591
+#, c-format
+msgid "Unknown (%02X)"
+msgstr "Tuntematon (%02X)"
+
+#: fdisk/cfdisk.c:2660
+#, c-format
+msgid "Disk Drive: %s"
+msgstr "Levyasema: %s"
+
+#: fdisk/cfdisk.c:2667
+#, c-format
+msgid "Size: %lld bytes, %lld MB"
+msgstr "Koko: %lld tavua, %lld Mt"
+
+#: fdisk/cfdisk.c:2670
+#, c-format
+msgid "Size: %lld bytes, %lld.%lld GB"
+msgstr "Koko: %lld tavua, %lld.%lld Gt"
+
+#: fdisk/cfdisk.c:2674
+#, c-format
+msgid "Heads: %d   Sectors per Track: %d   Cylinders: %lld"
+msgstr "Päät: %d   Sektorit/ura: %d   Sylinterit: %lld"
+
+#: fdisk/cfdisk.c:2678 login-utils/chfn.c:377
+msgid "Name"
+msgstr "Nimi"
+
+#: fdisk/cfdisk.c:2679
+msgid "Flags"
+msgstr "Liput"
+
+#: fdisk/cfdisk.c:2680
+msgid "Part Type"
+msgstr "Osiotyyppi"
+
+#: fdisk/cfdisk.c:2681
+msgid "FS Type"
+msgstr "Tied.järj.tyyppi"
+
+#: fdisk/cfdisk.c:2682
+msgid "[Label]"
+msgstr "[Nimiö]"
+
+#: fdisk/cfdisk.c:2684
+msgid "    Sectors"
+msgstr "   Sektorit"
+
+#: fdisk/cfdisk.c:2686
+msgid "  Cylinders"
+msgstr " Sylinterit"
+
+#: fdisk/cfdisk.c:2688
+msgid "  Size (MB)"
+msgstr " Koko (Mt)"
+
+#: fdisk/cfdisk.c:2690
+msgid "  Size (GB)"
+msgstr " Koko (Gt)"
+
+#: fdisk/cfdisk.c:2744
+msgid "Bootable"
+msgstr "Käynnistettävä"
+
+#: fdisk/cfdisk.c:2744
+msgid "Toggle bootable flag of the current partition"
+msgstr "Aseta nykyisen osion käynnistettävyyslippu päälle/pois"
+
+#: fdisk/cfdisk.c:2745
+msgid "Delete"
+msgstr "Poista"
+
+#: fdisk/cfdisk.c:2745
+msgid "Delete the current partition"
+msgstr "Poista nykyinen osio"
+
+#: fdisk/cfdisk.c:2746
+msgid "Geometry"
+msgstr "Geometria"
+
+#: fdisk/cfdisk.c:2746
+msgid "Change disk geometry (experts only)"
+msgstr "Muuta levyn geometriaa (vain asiantuntijoille)"
+
+#: fdisk/cfdisk.c:2747
+msgid "Help"
+msgstr "Ohje"
+
+#: fdisk/cfdisk.c:2747
+msgid "Print help screen"
+msgstr "Näytä ohjeruutu"
+
+#: fdisk/cfdisk.c:2748
+msgid "Maximize"
+msgstr "Maksimoi"
+
+#: fdisk/cfdisk.c:2748
+msgid "Maximize disk usage of the current partition (experts only)"
+msgstr "Maksimoi nykyisen osion tilankäyttö (vain asiantuntijoille)"
+
+#: fdisk/cfdisk.c:2749
+msgid "New"
+msgstr "Uusi"
+
+#: fdisk/cfdisk.c:2749
+msgid "Create new partition from free space"
+msgstr "Luo uusi osio tyhjästä tilasta"
+
+#: fdisk/cfdisk.c:2750
+msgid "Print"
+msgstr "Näytä"
+
+#: fdisk/cfdisk.c:2750
+msgid "Print partition table to the screen or to a file"
+msgstr "Tulosta osiotaulu ruudulle tai tiedostoon"
+
+#: fdisk/cfdisk.c:2751
+msgid "Quit"
+msgstr "Lopeta"
+
+#: fdisk/cfdisk.c:2751
+msgid "Quit program without writing partition table"
+msgstr "Lopeta ohjelma kirjoittamatta osiotaulua"
+
+#: fdisk/cfdisk.c:2752
+msgid "Type"
+msgstr "Tyyppi"
+
+#: fdisk/cfdisk.c:2752
+msgid "Change the filesystem type (DOS, Linux, OS/2 and so on)"
+msgstr "Vaihda tiedostojärjestelmän tyyppi (DOS, Linux, OS/2, jne)"
+
+#: fdisk/cfdisk.c:2753
+msgid "Units"
+msgstr "Yksiköt"
+
+#: fdisk/cfdisk.c:2753
+msgid "Change units of the partition size display (MB, sect, cyl)"
+msgstr "Vaihda osiokokonäytön yksiköt (Mt, sekt, syl)"
+
+#: fdisk/cfdisk.c:2754
+msgid "Write"
+msgstr "Kirjoita"
+
+#: fdisk/cfdisk.c:2754
+msgid "Write partition table to disk (this might destroy data)"
+msgstr "Kirjoita osiotaulu levylle (tämä saattaa tuhota dataa)"
+
+#: fdisk/cfdisk.c:2800
+msgid "Cannot make this partition bootable"
+msgstr "Tästä osiosta ei voi tehdä käynnistettävää"
+
+#: fdisk/cfdisk.c:2810
+msgid "Cannot delete an empty partition"
+msgstr "Tyhjää osiota ei voi poistaa"
+
+#: fdisk/cfdisk.c:2830 fdisk/cfdisk.c:2832
+msgid "Cannot maximize this partition"
+msgstr "Tätä osiota ei voi maksimoida"
+
+#: fdisk/cfdisk.c:2840
+msgid "This partition is unusable"
+msgstr "Tämä osio on ei ole käytettävissä"
+
+#: fdisk/cfdisk.c:2842
+msgid "This partition is already in use"
+msgstr "Tämä osio on jo käytössä"
+
+#: fdisk/cfdisk.c:2859
+msgid "Cannot change the type of an empty partition"
+msgstr "Tyhjän osion tyyppiä ei voi vaihtaa"
+
+#: fdisk/cfdisk.c:2886 fdisk/cfdisk.c:2892
+msgid "No more partitions"
+msgstr "Ei enempää osioita"
+
+#: fdisk/cfdisk.c:2899
+msgid "Illegal command"
+msgstr "Virheellinen komento"
+
+#: fdisk/cfdisk.c:2909
+#, c-format
+msgid "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+msgstr "Copyright © 1994-2002 Kevin E. Martin & aeb\n"
+
+#: fdisk/cfdisk.c:2916
+#, 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"
+
+#: fdisk/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)."
+
+#: fdisk/fdiskbsdlabel.c:122
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+"\n"
+"BSD-nimiö laitteelle: %s\n"
+
+#: fdisk/fdiskbsdlabel.c:129 fdisk/fdisk.c:386 fdisk/fdisk.c:405
+#: fdisk/fdisk.c:423 fdisk/fdisk.c:430 fdisk/fdisk.c:453 fdisk/fdisk.c:471
+#: fdisk/fdisk.c:487 fdisk/fdisk.c:503
+msgid "Command action"
+msgstr "Komento  merkitys"
+
+#: fdisk/fdiskbsdlabel.c:130
+msgid "   d   delete a BSD partition"
+msgstr "   d    poista BSD-osio"
+
+#: fdisk/fdiskbsdlabel.c:131
+msgid "   e   edit drive data"
+msgstr "   e    muokkaa aseman dataa"
+
+#: fdisk/fdiskbsdlabel.c:132
+msgid "   i   install bootstrap"
+msgstr "   i    asenna esilatausohjelma"
+
+#: fdisk/fdiskbsdlabel.c:133
+msgid "   l   list known filesystem types"
+msgstr "   l    listaa tunnetut tiedostojärjestelmätyypit"
+
+#: fdisk/fdiskbsdlabel.c:134 fdisk/fdisk.c:392 fdisk/fdisk.c:411
+#: fdisk/fdisk.c:424 fdisk/fdisk.c:436 fdisk/fdisk.c:461 fdisk/fdisk.c:478
+#: fdisk/fdisk.c:494 fdisk/fdisk.c:512
+msgid "   m   print this menu"
+msgstr "   m    näytä tämä valikko"
+
+#: fdisk/fdiskbsdlabel.c:135
+msgid "   n   add a new BSD partition"
+msgstr "   n    lisää uusi BSD-osio"
+
+#: fdisk/fdiskbsdlabel.c:136
+msgid "   p   print BSD partition table"
+msgstr "   p    näytä BSD-osiotaulu"
+
+#: fdisk/fdiskbsdlabel.c:137 fdisk/fdisk.c:396 fdisk/fdisk.c:415
+#: fdisk/fdisk.c:426 fdisk/fdisk.c:440 fdisk/fdisk.c:463 fdisk/fdisk.c:480
+#: fdisk/fdisk.c:496 fdisk/fdisk.c:514
+msgid "   q   quit without saving changes"
+msgstr "   q    lopeta tallentamatta muutoksia"
+
+#: fdisk/fdiskbsdlabel.c:138 fdisk/fdisk.c:464 fdisk/fdisk.c:481
+#: fdisk/fdisk.c:497 fdisk/fdisk.c:515
+msgid "   r   return to main menu"
+msgstr "   r    palaa päävalikkoon"
+
+#: fdisk/fdiskbsdlabel.c:139
+msgid "   s   show complete disklabel"
+msgstr "   s    näytä täydellinen levynimiö"
+
+#: fdisk/fdiskbsdlabel.c:140
+msgid "   t   change a partition's filesystem id"
+msgstr "   t    vaihda osion tiedostojärjestelmä-id:tä"
+
+#: fdisk/fdiskbsdlabel.c:141
+msgid "   u   change units (cylinders/sectors)"
+msgstr "   u    vaihda yksiköt (sylinterit/sektorit)"
+
+#: fdisk/fdiskbsdlabel.c:142
+msgid "   w   write disklabel to disk"
+msgstr "   w    kirjoita levynimiö levylle"
+
+#: fdisk/fdiskbsdlabel.c:144
+msgid "   x   link BSD partition to non-BSD partition"
+msgstr "   x    linkitä BSD-osio ei-BSD-osioon"
+
+#: fdisk/fdiskbsdlabel.c:176
+#, c-format
+msgid "Partition %s has invalid starting sector 0.\n"
+msgstr "Osiolla %s on virheellinen alkusektori 0.\n"
+
+#: fdisk/fdiskbsdlabel.c:180
+#, c-format
+msgid "Reading disklabel of %s at sector %d.\n"
+msgstr "Luetaan laitteen %s levynimiötä sektorilta %d.\n"
+
+#: fdisk/fdiskbsdlabel.c:190
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr "Laitteella %s ei ole *BSD-osiota.\n"
+
+#: fdisk/fdiskbsdlabel.c:204
+msgid "BSD disklabel command (m for help): "
+msgstr "BSD-levynimiökomento (m antaa ohjeen): "
+
+#: fdisk/fdiskbsdlabel.c:284 fdisk/fdisk.c:2052 fdisk/fdisksgilabel.c:651
+#: fdisk/fdisksunlabel.c:431
+#, c-format
+msgid "First %s"
+msgstr "Ensimmäinen %s"
+
+#: fdisk/fdiskbsdlabel.c:291 fdisk/fdisksunlabel.c:488
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr "Viimeinen %s tai +koko tai +kokoM tai +kokoK"
+
+#: fdisk/fdiskbsdlabel.c:318
+#, c-format
+msgid "type: %s\n"
+msgstr "tyyppi: %s\n"
+
+#: fdisk/fdiskbsdlabel.c:320
+#, c-format
+msgid "type: %d\n"
+msgstr "tyyppi: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:321
+#, c-format
+msgid "disk: %.*s\n"
+msgstr "levy: %.*s\n"
+
+#: fdisk/fdiskbsdlabel.c:322
+#, c-format
+msgid "label: %.*s\n"
+msgstr "nimiö: %.*s\n"
+
+#: fdisk/fdiskbsdlabel.c:323
+#, c-format
+msgid "flags:"
+msgstr "liput:"
+
+#: fdisk/fdiskbsdlabel.c:325
+#, c-format
+msgid " removable"
+msgstr " siirrettävä"
+
+#: fdisk/fdiskbsdlabel.c:327
+#, c-format
+msgid " ecc"
+msgstr " ecc"
+
+#: fdisk/fdiskbsdlabel.c:329
+#, c-format
+msgid " badsect"
+msgstr " badsect"
+
+#: fdisk/fdiskbsdlabel.c:333
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr "tavuja/sektori %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:334
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr "sektoreita/ura: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:335
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr "uria/sylinteri: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:336
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr "sektoreita/sylinteri: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:337
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr "sylintereitä: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:338
+#, c-format
+msgid "rpm: %d\n"
+msgstr "rpm: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:339
+#, c-format
+msgid "interleave: %d\n"
+msgstr "lomitus: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:340
+#, c-format
+msgid "trackskew: %d\n"
+msgstr "uravääristymä: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:341
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr "sylinterivääristymä: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:342
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr "päänvaihto: %ld\t\t# millisekuntia\n"
+
+#: fdisk/fdiskbsdlabel.c:344
+#, c-format
+msgid "track-to-track seek: %ld\t# milliseconds\n"
+msgstr "raidalta raidalle siirtyminen: %ld\t#millisekuntia\n"
+
+#: fdisk/fdiskbsdlabel.c:346
+#, c-format
+msgid "drivedata: "
+msgstr "asemadata: "
+
+#: fdisk/fdiskbsdlabel.c:355
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+"\n"
+"%d osiota:\n"
+
+#: fdisk/fdiskbsdlabel.c:356
+#, c-format
+msgid "#       start       end      size     fstype   [fsize bsize   cpg]\n"
+msgstr "#       alku        loppu    koko     tyyppi   [fkoko bkoko   cpg]\n"
+
+#: fdisk/fdiskbsdlabel.c:405 fdisk/fdiskbsdlabel.c:408
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr "Kirjoitetaan levynimiötä laitteelle %s.\n"
+
+#: fdisk/fdiskbsdlabel.c:420 fdisk/fdiskbsdlabel.c:422
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr "Laitteella %s ei ole levynimiötä.\n"
+
+#: fdisk/fdiskbsdlabel.c:427
+msgid "Do you want to create a disklabel? (y/n) "
+msgstr "Haluatko luoda levynimiön? (y/n) "
+
+#: fdisk/fdiskbsdlabel.c:467
+msgid "bytes/sector"
+msgstr "tavua/sektori"
+
+#: fdisk/fdiskbsdlabel.c:468
+msgid "sectors/track"
+msgstr "sektoria/ura"
+
+#: fdisk/fdiskbsdlabel.c:469
+msgid "tracks/cylinder"
+msgstr "uraa/sylinteri"
+
+#: fdisk/fdiskbsdlabel.c:470 fdisk/fdisk.c:648 fdisk/fdisk.c:1357
+#: fdisk/sfdisk.c:945
+msgid "cylinders"
+msgstr "sylinterit"
+
+#: fdisk/fdiskbsdlabel.c:477
+msgid "sectors/cylinder"
+msgstr "sektoria/sylinteri"
+
+#: fdisk/fdiskbsdlabel.c:481
+#, c-format
+msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
+msgstr "On oltava <= sektoria/ura * uraa/sylinteri (oletus).\n"
+
+#: fdisk/fdiskbsdlabel.c:483
+msgid "rpm"
+msgstr "rpm"
+
+#: fdisk/fdiskbsdlabel.c:484
+msgid "interleave"
+msgstr "lomitus"
+
+#: fdisk/fdiskbsdlabel.c:485
+msgid "trackskew"
+msgstr "uravääristymä"
+
+#: fdisk/fdiskbsdlabel.c:486
+msgid "cylinderskew"
+msgstr "sylinterivääristymä"
+
+#: fdisk/fdiskbsdlabel.c:487
+msgid "headswitch"
+msgstr "päänvaihto"
+
+#: fdisk/fdiskbsdlabel.c:488
+msgid "track-to-track seek"
+msgstr "raidalta raidalle siirtyminen"
+
+#: fdisk/fdiskbsdlabel.c:529
+#, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr "Esilatausohjelma: %sboot → boot%s (%s): "
+
+#: fdisk/fdiskbsdlabel.c:554
+#, c-format
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr "Esilatausohjelma on päällekkäinen levynimiön kanssa!\n"
+
+#: fdisk/fdiskbsdlabel.c:575 fdisk/fdiskbsdlabel.c:577
+#, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr "Esilatausohjelma asennettu laitteelle %s.\n"
+
+#: fdisk/fdiskbsdlabel.c:599
+#, c-format
+msgid "Partition (a-%c): "
+msgstr "Osio (a-%c): "
+
+#: fdisk/fdiskbsdlabel.c:618 fdisk/fdisk.c:2199
+#, c-format
+msgid "The maximum number of partitions has been created\n"
+msgstr "Maksimimäärä osioita on luotu\n"
+
+#: fdisk/fdiskbsdlabel.c:630
+#, c-format
+msgid "This partition already exists.\n"
+msgstr "Tämä osio on jo olemassa.\n"
+
+#: fdisk/fdiskbsdlabel.c:757
+#, c-format
+msgid "Warning: too many partitions (%d, maximum is %d).\n"
+msgstr "Varoitus: liian monta osiota (%d, maksimi on %d).\n"
+
+#: fdisk/fdiskbsdlabel.c:805
+#, c-format
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+"\n"
+"Synkronoidaan levyt.\n"
+
+#: fdisk/fdisk.c:244
+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"
+
+#: fdisk/fdisk.c:256
+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"
+
+#: fdisk/fdisk.c:265
+#, c-format
+msgid "Unable to open %s\n"
+msgstr "Laitetta %s ei voi avata\n"
+
+#: fdisk/fdisk.c:269
+#, c-format
+msgid "Unable to read %s\n"
+msgstr "Laitetta %s ei voi lukea\n"
+
+#: fdisk/fdisk.c:273
+#, c-format
+msgid "Unable to seek on %s\n"
+msgstr "Laitteella %s ei voi siirtyä\n"
+
+#: fdisk/fdisk.c:277
+#, c-format
+msgid "Unable to write %s\n"
+msgstr "Laitteelle %s ei voi kirjoittaa\n"
+
+#: fdisk/fdisk.c:281
+#, c-format
+msgid "BLKGETSIZE ioctl failed on %s\n"
+msgstr "BLKGETSIZE-ioctl epäonnistui laitteelle %s\n"
+
+#: fdisk/fdisk.c:285
+msgid "Unable to allocate any more memory\n"
+msgstr "Muistia ei voi varata enempää\n"
+
+#: fdisk/fdisk.c:288
+msgid "Fatal error\n"
+msgstr "Vakava virhe\n"
+
+#: fdisk/fdisk.c:387
+msgid "   a   toggle a read only flag"
+msgstr "   a    aseta vain luku -lippu päälle/pois"
+
+#: fdisk/fdisk.c:388 fdisk/fdisk.c:432
+msgid "   b   edit bsd disklabel"
+msgstr "   b    muokkaa bsd-levynimiötä"
+
+#: fdisk/fdisk.c:389
+msgid "   c   toggle the mountable flag"
+msgstr "   c    aseta liitettävyyslippu päälle/pois"
+
+#: fdisk/fdisk.c:390 fdisk/fdisk.c:409 fdisk/fdisk.c:434
+msgid "   d   delete a partition"
+msgstr "   d    poista osio"
+
+#: fdisk/fdisk.c:391 fdisk/fdisk.c:410 fdisk/fdisk.c:435
+msgid "   l   list known partition types"
+msgstr "   l    listaa tunnetut osiotyypit"
+
+#: fdisk/fdisk.c:393 fdisk/fdisk.c:412 fdisk/fdisk.c:437
+msgid "   n   add a new partition"
+msgstr "   n    lisää uusi osio"
+
+#: fdisk/fdisk.c:394 fdisk/fdisk.c:413 fdisk/fdisk.c:425 fdisk/fdisk.c:438
+msgid "   o   create a new empty DOS partition table"
+msgstr "   o    luo uusi tyhjä DOS-osiotaulu"
+
+#: fdisk/fdisk.c:395 fdisk/fdisk.c:414 fdisk/fdisk.c:439 fdisk/fdisk.c:462
+#: fdisk/fdisk.c:479 fdisk/fdisk.c:495 fdisk/fdisk.c:513
+msgid "   p   print the partition table"
+msgstr "   p    näytä osiotaulu"
+
+#: fdisk/fdisk.c:397 fdisk/fdisk.c:416 fdisk/fdisk.c:427 fdisk/fdisk.c:441
+msgid "   s   create a new empty Sun disklabel"
+msgstr "   s    luo uusi tyhjä Sun-levynimiö"
+
+#: fdisk/fdisk.c:398 fdisk/fdisk.c:417 fdisk/fdisk.c:442
+msgid "   t   change a partition's system id"
+msgstr "   t    vaihda osion järjestelmä-id:tä"
+
+#: fdisk/fdisk.c:399 fdisk/fdisk.c:418 fdisk/fdisk.c:443
+msgid "   u   change display/entry units"
+msgstr "   u    vaihda näkymä/syöteyksiköt"
+
+#: fdisk/fdisk.c:400 fdisk/fdisk.c:419 fdisk/fdisk.c:444 fdisk/fdisk.c:466
+#: fdisk/fdisk.c:483 fdisk/fdisk.c:499 fdisk/fdisk.c:517
+msgid "   v   verify the partition table"
+msgstr "   v    varmista osiotaulu"
+
+#: fdisk/fdisk.c:401 fdisk/fdisk.c:420 fdisk/fdisk.c:445 fdisk/fdisk.c:467
+#: fdisk/fdisk.c:484 fdisk/fdisk.c:500 fdisk/fdisk.c:518
+msgid "   w   write table to disk and exit"
+msgstr "   w    kirjoita taulu levylle ja poistu"
+
+#: fdisk/fdisk.c:402 fdisk/fdisk.c:446
+msgid "   x   extra functionality (experts only)"
+msgstr "   x    lisätoiminnot (vain asiantuntijoille)"
+
+#: fdisk/fdisk.c:406
+msgid "   a   select bootable partition"
+msgstr "   a    valitse käynnistettävä osio"
+
+#: fdisk/fdisk.c:407
+msgid "   b   edit bootfile entry"
+msgstr "   b    muokkaa käynnistystiedostomerkintää"
+
+#: fdisk/fdisk.c:408
+msgid "   c   select sgi swap partition"
+msgstr "   c    valitse sgi-sivutusosio"
+
+#: fdisk/fdisk.c:431
+msgid "   a   toggle a bootable flag"
+msgstr "   a    aseta käynnistettävyyslippu päälle/pois"
+
+#: fdisk/fdisk.c:433
+msgid "   c   toggle the dos compatibility flag"
+msgstr "   c    aseta dos-yhteensopivuuslippu päälle/pois"
+
+#: fdisk/fdisk.c:454
+msgid "   a   change number of alternate cylinders"
+msgstr "   a    muuta vaihtoehtoisten sylinterien määrää"
+
+#: fdisk/fdisk.c:455 fdisk/fdisk.c:473 fdisk/fdisk.c:489 fdisk/fdisk.c:505
+msgid "   c   change number of cylinders"
+msgstr "   c    muuta sylinterien määrää"
+
+#: fdisk/fdisk.c:456 fdisk/fdisk.c:474 fdisk/fdisk.c:490 fdisk/fdisk.c:506
+msgid "   d   print the raw data in the partition table"
+msgstr "   d    näytä osiotaulun raaka data"
+
+#: fdisk/fdisk.c:457
+msgid "   e   change number of extra sectors per cylinder"
+msgstr "   e    muuta sylinterikohtaisten lisäsektorien määrää"
+
+#: fdisk/fdisk.c:458 fdisk/fdisk.c:477 fdisk/fdisk.c:493 fdisk/fdisk.c:510
+msgid "   h   change number of heads"
+msgstr "   h    muuta päiden määrää"
+
+#: fdisk/fdisk.c:459
+msgid "   i   change interleave factor"
+msgstr "   i    muuta lomituskerrointa"
+
+#: fdisk/fdisk.c:460
+msgid "   o   change rotation speed (rpm)"
+msgstr "   o    muuta pyörimisnopeutta (rpm)"
+
+#: fdisk/fdisk.c:465 fdisk/fdisk.c:482 fdisk/fdisk.c:498 fdisk/fdisk.c:516
+msgid "   s   change number of sectors/track"
+msgstr "   s    muuta sektorien määrää uraa kohden"
+
+#: fdisk/fdisk.c:468
+msgid "   y   change number of physical cylinders"
+msgstr "   y    muuta fyysisten sylintereiden määrää"
+
+#: fdisk/fdisk.c:472 fdisk/fdisk.c:488 fdisk/fdisk.c:504
+msgid "   b   move beginning of data in a partition"
+msgstr "   b    siirrä datan alkua osiossa"
+
+#: fdisk/fdisk.c:475 fdisk/fdisk.c:491 fdisk/fdisk.c:507
+msgid "   e   list extended partitions"
+msgstr "   e    listaa laajennetut osiot"
+
+#: fdisk/fdisk.c:476 fdisk/fdisk.c:492 fdisk/fdisk.c:509
+msgid "   g   create an IRIX (SGI) partition table"
+msgstr "   g    luo IRIX (SGI) -osiotaulu"
+
+#: fdisk/fdisk.c:508
+msgid "   f   fix partition order"
+msgstr "   f    korjaa osiojärjestys"
+
+#: fdisk/fdisk.c:511
+msgid "   i   change the disk identifier"
+msgstr "   i    muuta levyn tunnistetta"
+
+#: fdisk/fdisk.c:627
+#, c-format
+msgid "You must set"
+msgstr "On asetettava"
+
+#: fdisk/fdisk.c:644
+msgid "heads"
+msgstr "päät"
+
+#: fdisk/fdisk.c:646 fdisk/fdisk.c:1357 fdisk/sfdisk.c:945
+msgid "sectors"
+msgstr "sektorit"
+
+#: fdisk/fdisk.c:652
+#, 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"
+
+#: fdisk/fdisk.c:653
+msgid " and "
+msgstr " ja "
+
+#: fdisk/fdisk.c:670
+#, c-format
+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"
+
+#: fdisk/fdisk.c:683
+#, 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 %d-byte sectors. Use parted(1) and GUID \n"
+"partition table format (GPT).\n"
+"\n"
+msgstr ""
+
+#: fdisk/fdisk.c:708
+#, c-format
+msgid "Bad offset in primary extended partition\n"
+msgstr "Virheellinen siirtymä laajennetussa ensiöosiossa\n"
+
+#: fdisk/fdisk.c:722
+#, 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"
+
+#: fdisk/fdisk.c:741
+#, c-format
+msgid "Warning: extra link pointer in partition table %d\n"
+msgstr "Varoitus: ylimääräinen linkkiosoitin osiotaulussa %d\n"
+
+#: fdisk/fdisk.c:749
+#, 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"
+
+#: fdisk/fdisk.c:782
+#, fuzzy, c-format
+msgid "omitting empty partition (%d)\n"
+msgstr "Varoitus: tyhjä osio\n"
+
+#: fdisk/fdisk.c:801
+#, c-format
+msgid "Disk identifier: 0x%08x\n"
+msgstr "Levyn tunniste: 0x%08x\n"
+
+#: fdisk/fdisk.c:810
+#, c-format
+msgid "New disk identifier (current 0x%08x): "
+msgstr "Levyn uusi tunniste (nykyinen 0x%08x): "
+
+#: fdisk/fdisk.c:829
+#, c-format
+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"
+
+#: fdisk/fdisk.c:861
+#, c-format
+msgid "Note: sector size is %d (not %d)\n"
+msgstr "Huom: sektorikoko on %d (ei %d)\n"
+
+#: fdisk/fdisk.c:990
+#, c-format
+msgid "You will not be able to write the partition table.\n"
+msgstr "Et pysty kirjoittamaan osiotaulua.\n"
+
+#: fdisk/fdisk.c:1022
+#, c-format
+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"
+
+#: fdisk/fdisk.c:1032
+#, c-format
+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"
+
+#: fdisk/fdisk.c:1049
+#, c-format
+msgid "Internal error\n"
+msgstr "Sisäinen virhe\n"
+
+#: fdisk/fdisk.c:1062
+#, c-format
+msgid "Ignoring extra extended partition %d\n"
+msgstr "Ylimääräistä laajennettua osiota %d ei huomioida\n"
+
+#: fdisk/fdisk.c:1074
+#, 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"
+
+#: fdisk/fdisk.c:1096
+#, c-format
+msgid ""
+"\n"
+"got EOF thrice - exiting..\n"
+msgstr ""
+"\n"
+"saatiin EOF kolmesti – poistutaan..\n"
+
+#: fdisk/fdisk.c:1135
+msgid "Hex code (type L to list codes): "
+msgstr "Heksakoodi (L listaa koodit): "
+
+#: fdisk/fdisk.c:1175
+#, c-format
+msgid "%s (%u-%u, default %u): "
+msgstr "%s (%u-%u, oletus %u): "
+
+#: fdisk/fdisk.c:1242
+#, c-format
+msgid "Unsupported suffix: '%s'.\n"
+msgstr "Tuntematon jälkiliite: ”%s”.\n"
+
+#: fdisk/fdisk.c:1243
+#, 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"
+
+#: fdisk/fdisk.c:1269
+#, c-format
+msgid "Using default value %u\n"
+msgstr "Käytetään oletusarvoa %u\n"
+
+#: fdisk/fdisk.c:1273
+#, c-format
+msgid "Value out of range.\n"
+msgstr "Arvo sallitun välin ulkopuolella.\n"
+
+#: fdisk/fdisk.c:1283
+msgid "Partition number"
+msgstr "Osionumero"
+
+#: fdisk/fdisk.c:1294
+#, c-format
+msgid "Warning: partition %d has empty type\n"
+msgstr "Varoitus: osiolla %d on tyhjä tyyppi\n"
+
+#: fdisk/fdisk.c:1316 fdisk/fdisk.c:1342
+#, c-format
+msgid "Selected partition %d\n"
+msgstr "Valittiin osio %d\n"
+
+#
+#: fdisk/fdisk.c:1319
+#, c-format
+msgid "No partition is defined yet!\n"
+msgstr "Osioita ei ole vielä määritelty!\n"
+
+#: fdisk/fdisk.c:1345
+#, c-format
+msgid "All primary partitions have been defined already!\n"
+msgstr "Kaikki ensiöosiot on jo määritelty!\n"
+
+#: fdisk/fdisk.c:1355
+msgid "cylinder"
+msgstr "sylinteri"
+
+#: fdisk/fdisk.c:1355
+msgid "sector"
+msgstr "sektori"
+
+#: fdisk/fdisk.c:1364
+#, c-format
+msgid "Changing display/entry units to %s\n"
+msgstr "Vaihdetaan näkymä/syöteyksiköiksi %s\n"
+
+#: fdisk/fdisk.c:1375
+#, c-format
+msgid "WARNING: Partition %d is an extended partition\n"
+msgstr "VAROITUS: Osio %d on laajennettu osio\n"
+
+#: fdisk/fdisk.c:1386
+#, c-format
+msgid "DOS Compatibility flag is set\n"
+msgstr "DOS-yhteensopivuuslippu on asetettu\n"
+
+#: fdisk/fdisk.c:1390
+#, c-format
+msgid "DOS Compatibility flag is not set\n"
+msgstr "DOS-yhteensopivuuslippua ei ole asetettu\n"
+
+#: fdisk/fdisk.c:1490
+#, c-format
+msgid "Partition %d does not exist yet!\n"
+msgstr "Osiota %d ei ole vielä olemassa!\n"
+
+#: fdisk/fdisk.c:1495
+#, 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"
+
+#: fdisk/fdisk.c:1504
+#, 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"
+
+#: fdisk/fdisk.c:1513
+#, 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"
+
+#: fdisk/fdisk.c:1519
+#, 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 ""
+"Osion 9 tyypiksi on syytä jättää osio-otsikko (0),\n"
+"ja osion 11 tyypiksi Koko osio (6), koska IRIX odottaa sitä.\n"
+
+#: fdisk/fdisk.c:1536
+#, c-format
+msgid "Changed system type of partition %d to %x (%s)\n"
+msgstr "Osion %d järjestelmätyypiksi vaihdettiin %x (%s)\n"
+
+#: fdisk/fdisk.c:1539
+#, 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"
+
+#: fdisk/fdisk.c:1591
+#, c-format
+msgid "Partition %d has different physical/logical beginnings (non-Linux?):\n"
+msgstr "Osiolla %d on eri fyysiset/loogiset alkukohdat (ei-Linux?):\n"
+
+#: fdisk/fdisk.c:1593 fdisk/fdisk.c:1601 fdisk/fdisk.c:1610 fdisk/fdisk.c:1620
+#, c-format
+msgid "     phys=(%d, %d, %d) "
+msgstr "     fyysinen=(%d, %d, %d) "
+
+#: fdisk/fdisk.c:1594 fdisk/fdisk.c:1602
+#, c-format
+msgid "logical=(%d, %d, %d)\n"
+msgstr "looginen=(%d, %d, %d)\n"
+
+#: fdisk/fdisk.c:1599
+#, c-format
+msgid "Partition %d has different physical/logical endings:\n"
+msgstr "Osiolla %d on eri fyysiset/loogiset loppukohdat:\n"
+
+#: fdisk/fdisk.c:1608
+#, c-format
+msgid "Partition %i does not start on cylinder boundary:\n"
+msgstr "Osion %i alku ei ole sylinterin rajalla:\n"
+
+#: fdisk/fdisk.c:1611
+#, c-format
+msgid "should be (%d, %d, 1)\n"
+msgstr "pitää olla (%d, %d, 1)\n"
+
+#: fdisk/fdisk.c:1617
+#, c-format
+msgid "Partition %i does not end on cylinder boundary.\n"
+msgstr "Osion %i loppu ei ole sylinterin rajalla.\n"
+
+#: fdisk/fdisk.c:1621
+#, c-format
+msgid "should be (%d, %d, %d)\n"
+msgstr "pitää olla (%d, %d, %d)\n"
+
+#: fdisk/fdisk.c:1633
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld MB, %lld bytes\n"
+msgstr ""
+"\n"
+"Levy %s: %ld Mt, %lld tavua\n"
+
+#: fdisk/fdisk.c:1637
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld.%ld GB, %lld bytes\n"
+msgstr ""
+"\n"
+"Levy %s: %ld.%ld Gt, %lld tavua\n"
+
+#: fdisk/fdisk.c:1640
+#, c-format
+msgid "%d heads, %llu sectors/track, %d cylinders"
+msgstr "%d päätä, %llu sektoria/ura, %d sylinteriä"
+
+#: fdisk/fdisk.c:1643
+#, c-format
+msgid ", total %llu sectors"
+msgstr ", yhteensä %llu sektoria"
+
+#: fdisk/fdisk.c:1646
+#, c-format
+msgid "Units = %s of %d * %d = %d bytes\n"
+msgstr "Yksiköt = %2$d * %3$d = %4$d -tavuiset %1$s\n"
+
+#: fdisk/fdisk.c:1757
+#, 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"
+
+#: fdisk/fdisk.c:1785
+#, c-format
+msgid "Done.\n"
+msgstr "Valmis.\n"
+
+#: fdisk/fdisk.c:1813
+#, 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"
+
+#: fdisk/fdisk.c:1826
+#, c-format
+msgid "%*s Boot      Start         End      Blocks   Id  System\n"
+msgstr "%*s Käynn     Alku          Loppu    Lohkot   Id  Järjestelmä\n"
+
+#: fdisk/fdisk.c:1827 fdisk/fdisksgilabel.c:223 fdisk/fdisksunlabel.c:603
+msgid "Device"
+msgstr "Laite"
+
+#: fdisk/fdisk.c:1864
+#, c-format
+msgid ""
+"\n"
+"Partition table entries are not in disk order\n"
+msgstr ""
+"\n"
+"Osiotaulumerkinnät eivät ole levyjärjestyksessä\n"
+
+#: fdisk/fdisk.c:1874
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %d cylinders\n"
+"\n"
+msgstr ""
+"\n"
+"Levy %s: %d päätä, %llu sektoria, %d sylinteriä\n"
+"\n"
+
+#: fdisk/fdisk.c:1876
+#, 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"
+
+#: fdisk/fdisk.c:1922
+#, c-format
+msgid "Warning: partition %d contains sector 0\n"
+msgstr "Varoitus: osio %d sisältää sektorin 0\n"
+
+#: fdisk/fdisk.c:1925
+#, c-format
+msgid "Partition %d: head %d greater than maximum %d\n"
+msgstr "Osio %d: pää %d on suurempi kuin maksimi %d\n"
+
+#: fdisk/fdisk.c:1928
+#, c-format
+msgid "Partition %d: sector %d greater than maximum %llu\n"
+msgstr "Osio %d: sektori %d on suurempi kuin maksimi %llu\n"
+
+#: fdisk/fdisk.c:1931
+#, c-format
+msgid "Partitions %d: cylinder %d greater than maximum %d\n"
+msgstr "Osio %d: sylinteri %d on suurempi kuin maksimi %d\n"
+
+#: fdisk/fdisk.c:1935
+#, 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"
+
+#: fdisk/fdisk.c:1968
+#, c-format
+msgid "Warning: bad start-of-data in partition %d\n"
+msgstr "Varoitus: virheellinen datan alkukohta osiossa %d\n"
+
+#: fdisk/fdisk.c:1976
+#, c-format
+msgid "Warning: partition %d overlaps partition %d.\n"
+msgstr "Varoitus: osio %d ja osio %d ovat (osittain) päällekkäiset.\n"
+
+#: fdisk/fdisk.c:1996
+#, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr "Varoitus: osio %d on tyhjä\n"
+
+#: fdisk/fdisk.c:2001
+#, c-format
+msgid "Logical partition %d not entirely in partition %d\n"
+msgstr "Looginen osio %d ei ole kokonaan osiossa %d\n"
+
+#: fdisk/fdisk.c:2007
+#, 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"
+
+#: fdisk/fdisk.c:2010
+#, c-format
+msgid "%lld unallocated %d-byte sectors\n"
+msgstr "%lld varaamatonta %d-tavuista sektoria\n"
+
+#: fdisk/fdisk.c:2025 fdisk/fdisksgilabel.c:633 fdisk/fdisksunlabel.c:416
+#, 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"
+
+#: fdisk/fdisk.c:2067
+#, c-format
+msgid "Sector %llu is already allocated\n"
+msgstr "Sektori %llu on jo varattu\n"
+
+#: fdisk/fdisk.c:2103
+#, c-format
+msgid "No free sectors available\n"
+msgstr "Ei vapaita sektoreita käytettävissä\n"
+
+#: fdisk/fdisk.c:2112
+#, c-format
+msgid "Last %1$s, +%2$s or +size{K,M,G}"
+msgstr "Viimeinen %1$s, +%2$s tai +koko{K,M,G}"
+
+#: fdisk/fdisk.c:2178
+#, 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"
+
+#: fdisk/fdisk.c:2187
+#, 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"
+
+#: fdisk/fdisk.c:2207
+#, c-format
+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"
+
+#: fdisk/fdisk.c:2210
+#, c-format
+msgid "All logical partitions are in use\n"
+msgstr "Kaikki loogiset osiot ovat käytössä\n"
+
+#: fdisk/fdisk.c:2211
+#, c-format
+msgid "Adding a primary partition\n"
+msgstr "Lisätään ensiöosio\n"
+
+#: fdisk/fdisk.c:2216
+#, c-format
+msgid ""
+"Command action\n"
+"   %s\n"
+"   p   primary partition (1-4)\n"
+msgstr ""
+"Komento  merkitys\n"
+"   %s\n"
+"   p    ensiöosio (1-4)\n"
+
+#: fdisk/fdisk.c:2218
+msgid "l   logical (5 or over)"
+msgstr "l    looginen (5 tai yli)"
+
+#: fdisk/fdisk.c:2218
+msgid "e   extended"
+msgstr "e    laajennettu"
+
+#: fdisk/fdisk.c:2237
+#, c-format
+msgid "Invalid partition number for type `%c'\n"
+msgstr "Virheellinen osionumero tyypille ”%c”\n"
+
+#: fdisk/fdisk.c:2273
+#, c-format
+msgid ""
+"The partition table has been altered!\n"
+"\n"
+msgstr ""
+"Osiotaulua on muutettu!\n"
+"\n"
+
+#: fdisk/fdisk.c:2287
+#, c-format
+msgid "Calling ioctl() to re-read partition table.\n"
+msgstr "Kutsutaan osiotaulun uudelleen lukeva ioctl().\n"
+
+#: fdisk/fdisk.c:2296
+#, c-format
+msgid ""
+"\n"
+"WARNING: Re-reading the partition table failed with error %d: %s.\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"
+
+#: fdisk/fdisk.c:2304
+#, 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"
+
+#: fdisk/fdisk.c:2310
+#, c-format
+msgid ""
+"\n"
+"Error closing file\n"
+msgstr ""
+"\n"
+"Virhe suljettaessa tiedostoa\n"
+
+#: fdisk/fdisk.c:2314
+#, c-format
+msgid "Syncing disks.\n"
+msgstr "Synkronoidaan levyt.\n"
+
+#: fdisk/fdisk.c:2361
+#, c-format
+msgid "Partition %d has no data area\n"
+msgstr "Osiolla %d ei ole data-aluetta\n"
+
+#: fdisk/fdisk.c:2366
+msgid "New beginning of data"
+msgstr "Uusi datan alku"
+
+#: fdisk/fdisk.c:2382
+msgid "Expert command (m for help): "
+msgstr "Asiantuntijakomento (m antaa ohjeen): "
+
+#: fdisk/fdisk.c:2395
+msgid "Number of cylinders"
+msgstr "Sylinterien määrä"
+
+#: fdisk/fdisk.c:2422
+msgid "Number of heads"
+msgstr "Päiden määrä"
+
+#: fdisk/fdisk.c:2449
+msgid "Number of sectors"
+msgstr "Sektorien määrä"
+
+#: fdisk/fdisk.c:2452
+#, c-format
+msgid "Warning: setting sector offset for DOS compatiblity\n"
+msgstr "Varoitus: asetetaan sektorisiirtymä DOS-yhteensopivuutta varten\n"
+
+#: fdisk/fdisk.c:2511
+#, 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"
+
+#: fdisk/fdisk.c:2533
+#, c-format
+msgid "Disk %s doesn't contain a valid partition table\n"
+msgstr "Levy %s ei sisällä kelvollista osiotaulua\n"
+
+#: fdisk/fdisk.c:2544
+#, c-format
+msgid "Cannot open %s\n"
+msgstr "Laitetta %s ei voi avata\n"
+
+#: fdisk/fdisk.c:2563 fdisk/sfdisk.c:2618
+#, c-format
+msgid "cannot open %s\n"
+msgstr "laitetta %s ei voi avata\n"
+
+#: fdisk/fdisk.c:2583
+#, c-format
+msgid "%c: unknown command\n"
+msgstr "%c: tuntematon komento\n"
+
+#: fdisk/fdisk.c:2653
+#, c-format
+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"
+
+#: fdisk/fdisk.c:2657
+#, 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"
+
+#: fdisk/fdisk.c:2717
+#, 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"
+
+#: fdisk/fdisk.c:2727
+msgid "Command (m for help): "
+msgstr "Komento (m antaa ohjeen): "
+
+#: fdisk/fdisk.c:2743
+#, c-format
+msgid ""
+"\n"
+"The current boot file is: %s\n"
+msgstr ""
+"\n"
+"Nykyinen käynnistystiedosto on: %s\n"
+
+#: fdisk/fdisk.c:2745
+msgid "Please enter the name of the new boot file: "
+msgstr "Anna uuden käynnistystiedoston nimi: "
+
+#: fdisk/fdisk.c:2747
+#, c-format
+msgid "Boot file unchanged\n"
+msgstr "Käynnistystiedosto muuttumaton\n"
+
+#: fdisk/fdisk.c:2820
+#, c-format
+msgid ""
+"\n"
+"\tSorry, no experts menu for SGI partition tables available.\n"
+"\n"
+msgstr ""
+"\n"
+"\tValitettavasti SGI-osiotauluille ei ole asiantuntijavalikkoa.\n"
+"\n"
+
+#: fdisk/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"
+
+#: fdisk/fdisksgilabel.c:81
+msgid "SGI volhdr"
+msgstr "SGI volhdr"
+
+#: fdisk/fdisksgilabel.c:82
+msgid "SGI trkrepl"
+msgstr "SGI trkrepl"
+
+#: fdisk/fdisksgilabel.c:83
+msgid "SGI secrepl"
+msgstr "SGI secrepl"
+
+#: fdisk/fdisksgilabel.c:84
+msgid "SGI raw"
+msgstr "SGI raw"
+
+#: fdisk/fdisksgilabel.c:85
+msgid "SGI bsd"
+msgstr "SGI bsd"
+
+#: fdisk/fdisksgilabel.c:86
+msgid "SGI sysv"
+msgstr "SGI sysv"
+
+#: fdisk/fdisksgilabel.c:87
+msgid "SGI volume"
+msgstr "SGI volume"
+
+#: fdisk/fdisksgilabel.c:88
+msgid "SGI efs"
+msgstr "SGI efs"
+
+#: fdisk/fdisksgilabel.c:89
+msgid "SGI lvol"
+msgstr "SGI lvol"
+
+#: fdisk/fdisksgilabel.c:90
+msgid "SGI rlvol"
+msgstr "SGI rlvol"
+
+#: fdisk/fdisksgilabel.c:91
+msgid "SGI xfs"
+msgstr "SGI xfs"
+
+#: fdisk/fdisksgilabel.c:92
+msgid "SGI xfslog"
+msgstr "SGI xfslog"
+
+#: fdisk/fdisksgilabel.c:93
+msgid "SGI xlv"
+msgstr "SGI xlv"
+
+#: fdisk/fdisksgilabel.c:94
+msgid "SGI xvm"
+msgstr "SGI xvm"
+
+#: fdisk/fdisksgilabel.c:95 fdisk/fdisksunlabel.c:55
+msgid "Linux swap"
+msgstr "Linux-sivutus"
+
+#: fdisk/fdisksgilabel.c:96 fdisk/fdisksunlabel.c:56
+msgid "Linux native"
+msgstr "Linuxmainen"
+
+#: fdisk/fdisksgilabel.c:97 fdisk/fdisksunlabel.c:57 fdisk/i386_sys_types.c:63
+msgid "Linux LVM"
+msgstr "Linux LVM"
+
+#: fdisk/fdisksgilabel.c:98
+msgid "Linux RAID"
+msgstr "Linux RAID"
+
+#: fdisk/fdisksgilabel.c:164
+#, 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"
+
+#: fdisk/fdisksgilabel.c:183
+#, c-format
+msgid "Detected sgi disklabel with wrong checksum.\n"
+msgstr "Havaittiin sgi-levynimiö, jolla on väärä tarkistussumma.\n"
+
+#: fdisk/fdisksgilabel.c:201
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors\n"
+"%d cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * %d 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"
+
+#: fdisk/fdisksgilabel.c:214
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors, %d cylinders\n"
+"Units = %s of %d * %d 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"
+
+#: fdisk/fdisksgilabel.c:221
+#, 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"
+
+#: fdisk/fdisksgilabel.c:243
+#, c-format
+msgid ""
+"----- Bootinfo -----\n"
+"Bootfile: %s\n"
+"----- Directory Entries -----\n"
+msgstr ""
+"----- Käynnistysinfo -----\n"
+"Käynnistystiedosto: %s\n"
+"----- Hakemistomerkinnät -----\n"
+
+#: fdisk/fdisksgilabel.c:251
+#, c-format
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr "%2d: %-10s sektori%5u koko%8u\n"
+
+#: fdisk/fdisksgilabel.c:305
+#, 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"
+
+#: fdisk/fdisksgilabel.c:311
+#, 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"
+
+#: fdisk/fdisksgilabel.c:316
+#, c-format
+msgid ""
+"\n"
+"\tBootfile must have a fully qualified pathname.\n"
+msgstr ""
+"\n"
+"\tKäynnistystiedoston polun on oltava täydellinen.\n"
+
+#: fdisk/fdisksgilabel.c:323
+#, 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"
+
+#: fdisk/fdisksgilabel.c:349
+#, c-format
+msgid ""
+"\n"
+"\tBootfile is changed to \"%s\".\n"
+msgstr ""
+"\n"
+"\tKäynnistystiedostoksi muutettiin ”%s”.\n"
+
+#: fdisk/fdisksgilabel.c:439
+#, c-format
+msgid "More than one entire disk entry present.\n"
+msgstr "Levyllä on useampi kuin yksi kokolevymerkintä.\n"
+
+#: fdisk/fdisksgilabel.c:446 fdisk/fdisksunlabel.c:388
+#, c-format
+msgid "No partitions defined\n"
+msgstr "Ei määriteltyjä osioita\n"
+
+#: fdisk/fdisksgilabel.c:452
+#, 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"
+
+#: fdisk/fdisksgilabel.c:454
+#, 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"
+
+#: fdisk/fdisksgilabel.c:460
+#, 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"
+
+#: fdisk/fdisksgilabel.c:466
+#, c-format
+msgid "One Partition (#11) should cover the entire disk.\n"
+msgstr "Yhden osion (#11) tulee täyttää koko levy.\n"
+
+#: fdisk/fdisksgilabel.c:476
+#, c-format
+msgid "Partition %d does not start on cylinder boundary.\n"
+msgstr "Osion %d alku ei ole sylinterin rajalla.\n"
+
+#: fdisk/fdisksgilabel.c:482
+#, c-format
+msgid "Partition %d does not end on cylinder boundary.\n"
+msgstr "Osion %d loppu ei ole sylinterin rajalla.\n"
+
+#: fdisk/fdisksgilabel.c:489
+#, 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"
+
+#: fdisk/fdisksgilabel.c:497 fdisk/fdisksgilabel.c:515
+#, 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"
+
+#: fdisk/fdisksgilabel.c:526
+#, c-format
+msgid ""
+"\n"
+"The boot partition does not exist.\n"
+msgstr ""
+"\n"
+"Käynnistysosiota ei ole olemassa.\n"
+
+#: fdisk/fdisksgilabel.c:529
+#, c-format
+msgid ""
+"\n"
+"The swap partition does not exist.\n"
+msgstr ""
+"\n"
+"Sivutusosiota ei ole olemassa.\n"
+
+#: fdisk/fdisksgilabel.c:533
+#, c-format
+msgid ""
+"\n"
+"The swap partition has no swap type.\n"
+msgstr ""
+"\n"
+"Sivutusosiolla ei ole sivutustyyppiä.\n"
+
+#: fdisk/fdisksgilabel.c:536
+#, c-format
+msgid "\tYou have chosen an unusual boot file name.\n"
+msgstr "\tValittu käynnistystiedoston nimi on epätavallinen.\n"
+
+#: fdisk/fdisksgilabel.c:545
+#, c-format
+msgid "Sorry You may change the Tag of non-empty partitions.\n"
+msgstr "Valitettavasti vain ei-tyhjien osioiden lippua voi muuttaa.\n"
+
+#: fdisk/fdisksgilabel.c:551
+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"
+
+#: fdisk/fdisksgilabel.c:556 fdisk/fdisksunlabel.c:554
+msgid "YES\n"
+msgstr "JAA\n"
+
+#: fdisk/fdisksgilabel.c:581
+#, c-format
+msgid "Do You know, You got a partition overlap on the disk?\n"
+msgstr "Tiedätkö, että levyllä on päällekkäisiä osioita?\n"
+
+#: fdisk/fdisksgilabel.c:639
+#, c-format
+msgid "Attempting to generate entire disk entry automatically.\n"
+msgstr "Yritetään luoda kokolevymerkintä automaattisesti.\n"
+
+#: fdisk/fdisksgilabel.c:644
+#, c-format
+msgid "The entire disk is already covered with partitions.\n"
+msgstr "Koko levy on jo osioiden käytössä.\n"
+
+#: fdisk/fdisksgilabel.c:648
+#, 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"
+
+#: fdisk/fdisksgilabel.c:657 fdisk/fdisksgilabel.c:686
+#, 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"
+
+#: fdisk/fdisksgilabel.c:673
+#, 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"
+
+#: fdisk/fdisksgilabel.c:678
+#, c-format
+msgid " Last %s"
+msgstr " Viimeinen %s"
+
+#: fdisk/fdisksgilabel.c:708
+#, c-format
+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"
+
+#: fdisk/fdisksgilabel.c:731 fdisk/fdisksunlabel.c:227
+#, c-format
+msgid ""
+"Warning:  BLKGETSIZE ioctl failed on %s.  Using geometry cylinder value of %"
+"d.\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"
+
+#: fdisk/fdisksgilabel.c:745
+#, c-format
+msgid "Trying to keep parameters of partition %d.\n"
+msgstr "Yritetään säilyttää osion %d parametrit.\n"
+
+#: fdisk/fdisksgilabel.c:747
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr "ID=%02x\tALKU=%d\tPITUUS=%d\n"
+
+#: fdisk/fdisksunlabel.c:43
+msgid "Unassigned"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:45
+msgid "SunOS root"
+msgstr "SunOS root"
+
+#: fdisk/fdisksunlabel.c:46
+msgid "SunOS swap"
+msgstr "SunOS swap"
+
+#: fdisk/fdisksunlabel.c:47
+msgid "SunOS usr"
+msgstr "SunOS usr"
+
+#: fdisk/fdisksunlabel.c:48
+msgid "Whole disk"
+msgstr "Koko levy"
+
+#: fdisk/fdisksunlabel.c:49
+msgid "SunOS stand"
+msgstr "SunOS stand"
+
+#: fdisk/fdisksunlabel.c:50
+msgid "SunOS var"
+msgstr "SunOS var"
+
+#: fdisk/fdisksunlabel.c:51
+msgid "SunOS home"
+msgstr "SunOS home"
+
+#: fdisk/fdisksunlabel.c:52
+msgid "SunOS alt sectors"
+msgstr "SunOS alt sectors"
+
+#: fdisk/fdisksunlabel.c:53
+msgid "SunOS cachefs"
+msgstr "SunOS cachefs"
+
+#: fdisk/fdisksunlabel.c:54
+msgid "SunOS reserved"
+msgstr "SunOS reserved"
+
+#: fdisk/fdisksunlabel.c:58 fdisk/i386_sys_types.c:103
+msgid "Linux raid autodetect"
+msgstr "Linux raid autodetect"
+
+#: fdisk/fdisksunlabel.c:141
+#, 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"
+
+#: fdisk/fdisksunlabel.c:153
+#, c-format
+msgid "Detected sun disklabel with wrong version [0x%08x].\n"
+msgstr "Havaittiin sun-levynimiö, jolla on väärä versio [0x%08x].\n"
+
+#: fdisk/fdisksunlabel.c:158
+#, 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"
+
+#: fdisk/fdisksunlabel.c:163
+#, 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"
+
+#: fdisk/fdisksunlabel.c:168
+#, 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"
+
+#: fdisk/fdisksunlabel.c:198
+#, c-format
+msgid ""
+"Building a new sun disklabel. Changes will remain in memory only,\n"
+"until you decide to write them. After that, of course, the previous\n"
+"content won't be recoverable.\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"
+
+#: fdisk/fdisksunlabel.c:236
+msgid "Sectors/track"
+msgstr "Sektoreita/ura"
+
+#: fdisk/fdisksunlabel.c:351
+#, c-format
+msgid "Partition %d doesn't end on cylinder boundary\n"
+msgstr "Osion %d loppu ei ole sylinterin rajalla\n"
+
+#: fdisk/fdisksunlabel.c:371
+#, 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"
+
+#: fdisk/fdisksunlabel.c:393
+#, c-format
+msgid "Unused gap - sectors 0-%d\n"
+msgstr "Käyttämätöntä tilaa – sektorit 0-%d\n"
+
+#: fdisk/fdisksunlabel.c:395 fdisk/fdisksunlabel.c:401
+#, c-format
+msgid "Unused gap - sectors %d-%d\n"
+msgstr "Käyttämätöntä tilaa – sektorit %d-%d\n"
+
+#: fdisk/fdisksunlabel.c:426
+#, 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"
+
+#: fdisk/fdisksunlabel.c:449
+#, 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"
+
+#: fdisk/fdisksunlabel.c:477
+#, c-format
+msgid "Sector %d is already allocated\n"
+msgstr "Sektori %d on jo varattu\n"
+
+#: fdisk/fdisksunlabel.c:507
+#, 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"
+
+#: fdisk/fdisksunlabel.c:534
+#, 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"
+
+#: fdisk/fdisksunlabel.c:549
+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): "
+
+#: fdisk/fdisksunlabel.c:581
+#, c-format
+msgid ""
+"\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"
+"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"
+
+#: fdisk/fdisksunlabel.c:597
+#, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %d heads, %llu sectors, %d 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"
+
+#: fdisk/fdisksunlabel.c:602
+#, c-format
+msgid "%*s Flag    Start       End    Blocks   Id  System\n"
+msgstr "%*s Lippu   Alku        Loppu  Lohkot   Id  Järjestelmä\n"
+
+#: fdisk/fdisksunlabel.c:630
+msgid "Number of alternate cylinders"
+msgstr "Vaihtoehtoisten sylinterien määrä"
+
+#: fdisk/fdisksunlabel.c:642
+msgid "Extra sectors per cylinder"
+msgstr "Ylimääräisiä sektoreita sylinterillä"
+
+#: fdisk/fdisksunlabel.c:649
+msgid "Interleave factor"
+msgstr "Lomituskerroin"
+
+#: fdisk/fdisksunlabel.c:656
+msgid "Rotation speed (rpm)"
+msgstr "Pyörimisnopeus (rpm)"
+
+#: fdisk/fdisksunlabel.c:663
+msgid "Number of physical cylinders"
+msgstr "Fyysisten sylinterien määrä"
+
+#: fdisk/i386_sys_types.c:6
+msgid "Empty"
+msgstr "Tyhjä"
+
+#: fdisk/i386_sys_types.c:7
+msgid "FAT12"
+msgstr "FAT12"
+
+#: fdisk/i386_sys_types.c:8
+msgid "XENIX root"
+msgstr "XENIX root"
+
+#: fdisk/i386_sys_types.c:9
+msgid "XENIX usr"
+msgstr "XENIX usr"
+
+#: fdisk/i386_sys_types.c:10
+msgid "FAT16 <32M"
+msgstr "FAT16 <32M"
+
+#: fdisk/i386_sys_types.c:11
+msgid "Extended"
+msgstr "Laajennettu"
+
+#: fdisk/i386_sys_types.c:12
+msgid "FAT16"
+msgstr "FAT16"
+
+#: fdisk/i386_sys_types.c:13
+msgid "HPFS/NTFS"
+msgstr "HPFS/NTFS"
+
+#: fdisk/i386_sys_types.c:14
+msgid "AIX"
+msgstr "AIX"
+
+#: fdisk/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr "AIX käynnistettävä"
+
+#: fdisk/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr "OS/2 Alkulatauksen hallinta"
+
+#: fdisk/i386_sys_types.c:17
+msgid "W95 FAT32"
+msgstr "W95 FAT32"
+
+#: fdisk/i386_sys_types.c:18
+msgid "W95 FAT32 (LBA)"
+msgstr "W95 FAT32 (LBA)"
+
+#: fdisk/i386_sys_types.c:19
+msgid "W95 FAT16 (LBA)"
+msgstr "W95 FAT16 (LBA)"
+
+#: fdisk/i386_sys_types.c:20
+msgid "W95 Ext'd (LBA)"
+msgstr "W95 Laaj (LBA)"
+
+#: fdisk/i386_sys_types.c:21
+msgid "OPUS"
+msgstr "OPUS"
+
+#: fdisk/i386_sys_types.c:22
+msgid "Hidden FAT12"
+msgstr "Kätketty FAT12"
+
+#: fdisk/i386_sys_types.c:23
+msgid "Compaq diagnostics"
+msgstr "Compaq-diagnostiikka"
+
+#: fdisk/i386_sys_types.c:24
+msgid "Hidden FAT16 <32M"
+msgstr "Kätketty FAT16 <32M"
+
+#: fdisk/i386_sys_types.c:25
+msgid "Hidden FAT16"
+msgstr "Kätketty FAT16"
+
+#: fdisk/i386_sys_types.c:26
+msgid "Hidden HPFS/NTFS"
+msgstr "Kätketty HPFS/NTFS"
+
+#: fdisk/i386_sys_types.c:27
+msgid "AST SmartSleep"
+msgstr "AST SmartSleep"
+
+#: fdisk/i386_sys_types.c:28
+msgid "Hidden W95 FAT32"
+msgstr "Kätketty W95 FAT32"
+
+#: fdisk/i386_sys_types.c:29
+msgid "Hidden W95 FAT32 (LBA)"
+msgstr "Kätketty W95 FAT32 (LBA)"
+
+#: fdisk/i386_sys_types.c:30
+msgid "Hidden W95 FAT16 (LBA)"
+msgstr "Kätketty W95 FAT16 (LBA)"
+
+#: fdisk/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr "NEC DOS"
+
+#: fdisk/i386_sys_types.c:32
+msgid "Plan 9"
+msgstr "Plan 9"
+
+#: fdisk/i386_sys_types.c:33
+msgid "PartitionMagic recovery"
+msgstr "PartitionMagic-palautus"
+
+#: fdisk/i386_sys_types.c:34
+msgid "Venix 80286"
+msgstr "Venix 80286"
+
+#: fdisk/i386_sys_types.c:35
+msgid "PPC PReP Boot"
+msgstr "PPC PReP Boot"
+
+#: fdisk/i386_sys_types.c:36
+msgid "SFS"
+msgstr "SFS"
+
+#: fdisk/i386_sys_types.c:37
+msgid "QNX4.x"
+msgstr "QNX4.x"
+
+#: fdisk/i386_sys_types.c:38
+msgid "QNX4.x 2nd part"
+msgstr "QNX4.x 2:s osio"
+
+#: fdisk/i386_sys_types.c:39
+msgid "QNX4.x 3rd part"
+msgstr "QNX4.x 3:s osio"
+
+#: fdisk/i386_sys_types.c:40
+msgid "OnTrack DM"
+msgstr "OnTrack DM"
+
+#: fdisk/i386_sys_types.c:41
+msgid "OnTrack DM6 Aux1"
+msgstr "OnTrack DM6 Aux1"
+
+#: fdisk/i386_sys_types.c:42
+msgid "CP/M"
+msgstr "CP/M"
+
+#: fdisk/i386_sys_types.c:43
+msgid "OnTrack DM6 Aux3"
+msgstr "OnTrack DM6 Aux3"
+
+#: fdisk/i386_sys_types.c:44
+msgid "OnTrackDM6"
+msgstr "OnTrackDM6"
+
+#: fdisk/i386_sys_types.c:45
+msgid "EZ-Drive"
+msgstr "EZ-Drive"
+
+#: fdisk/i386_sys_types.c:46
+msgid "Golden Bow"
+msgstr "Golden Bow"
+
+#: fdisk/i386_sys_types.c:47
+msgid "Priam Edisk"
+msgstr "Priam Edisk"
+
+#: fdisk/i386_sys_types.c:48 fdisk/i386_sys_types.c:92
+#: fdisk/i386_sys_types.c:98 fdisk/i386_sys_types.c:99
+msgid "SpeedStor"
+msgstr "SpeedStor"
+
+#: fdisk/i386_sys_types.c:49
+msgid "GNU HURD or SysV"
+msgstr "GNU HURD tai SysV"
+
+#: fdisk/i386_sys_types.c:50
+msgid "Novell Netware 286"
+msgstr "Novell Netware 286"
+
+#: fdisk/i386_sys_types.c:51
+msgid "Novell Netware 386"
+msgstr "Novell Netware 386"
+
+#: fdisk/i386_sys_types.c:52
+msgid "DiskSecure Multi-Boot"
+msgstr "DiskSecure Multi-Boot"
+
+#: fdisk/i386_sys_types.c:53
+msgid "PC/IX"
+msgstr "PC/IX"
+
+#: fdisk/i386_sys_types.c:54
+msgid "Old Minix"
+msgstr "Vanha Minix"
+
+#: fdisk/i386_sys_types.c:55
+msgid "Minix / old Linux"
+msgstr "Minix/vanha Linux"
+
+#: fdisk/i386_sys_types.c:56
+msgid "Linux swap / Solaris"
+msgstr "Linux-sivutus / Solaris"
+
+#: fdisk/i386_sys_types.c:58
+msgid "OS/2 hidden C: drive"
+msgstr "OS/2 kätketty C:-asema"
+
+#: fdisk/i386_sys_types.c:59
+msgid "Linux extended"
+msgstr "Linux laajennettu"
+
+#: fdisk/i386_sys_types.c:60 fdisk/i386_sys_types.c:61
+msgid "NTFS volume set"
+msgstr "NTFS-osioryhmä"
+
+#: fdisk/i386_sys_types.c:62
+msgid "Linux plaintext"
+msgstr "Linux teksti"
+
+#: fdisk/i386_sys_types.c:64
+msgid "Amoeba"
+msgstr "Amoeba"
+
+#: fdisk/i386_sys_types.c:65
+msgid "Amoeba BBT"
+msgstr "Amoeba BBT"
+
+#: fdisk/i386_sys_types.c:66
+msgid "BSD/OS"
+msgstr "BSD/OS"
+
+#: fdisk/i386_sys_types.c:67
+msgid "IBM Thinkpad hibernation"
+msgstr "IBM Thinkpad -valmiustila"
+
+#: fdisk/i386_sys_types.c:68
+msgid "FreeBSD"
+msgstr "FreeBSD"
+
+#: fdisk/i386_sys_types.c:69
+msgid "OpenBSD"
+msgstr "OpenBSD"
+
+#: fdisk/i386_sys_types.c:70
+msgid "NeXTSTEP"
+msgstr "NeXTSTEP"
+
+#: fdisk/i386_sys_types.c:71
+msgid "Darwin UFS"
+msgstr "Darwin UFS"
+
+#: fdisk/i386_sys_types.c:72
+msgid "NetBSD"
+msgstr "NetBSD"
+
+#: fdisk/i386_sys_types.c:73
+msgid "Darwin boot"
+msgstr "Darwin boot"
+
+#: fdisk/i386_sys_types.c:74
+msgid "HFS / HFS+"
+msgstr "HFS / HFS+"
+
+#: fdisk/i386_sys_types.c:75
+msgid "BSDI fs"
+msgstr "BSDI fs"
+
+#: fdisk/i386_sys_types.c:76
+msgid "BSDI swap"
+msgstr "BSDI sivutus"
+
+#: fdisk/i386_sys_types.c:77
+msgid "Boot Wizard hidden"
+msgstr "Kätketty Boot Wizard"
+
+#: fdisk/i386_sys_types.c:78
+msgid "Solaris boot"
+msgstr "Solaris boot"
+
+#: fdisk/i386_sys_types.c:79
+msgid "Solaris"
+msgstr "Solaris"
+
+#: fdisk/i386_sys_types.c:80
+msgid "DRDOS/sec (FAT-12)"
+msgstr "DRDOS/sec (FAT-12)"
+
+#: fdisk/i386_sys_types.c:81
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr "DRDOS/sec (FAT-16 < 32M)"
+
+#: fdisk/i386_sys_types.c:82
+msgid "DRDOS/sec (FAT-16)"
+msgstr "DRDOS/sec (FAT-16)"
+
+#: fdisk/i386_sys_types.c:83
+msgid "Syrinx"
+msgstr "Syrinx"
+
+#: fdisk/i386_sys_types.c:84
+msgid "Non-FS data"
+msgstr "ei-tied.järj. data"
+
+#: fdisk/i386_sys_types.c:85
+msgid "CP/M / CTOS / ..."
+msgstr "CP/M / CTOS / ..."
+
+#: fdisk/i386_sys_types.c:87
+msgid "Dell Utility"
+msgstr "Dell Utility"
+
+#: fdisk/i386_sys_types.c:88
+msgid "BootIt"
+msgstr "BootIt"
+
+#: fdisk/i386_sys_types.c:89
+msgid "DOS access"
+msgstr "DOS access"
+
+#: fdisk/i386_sys_types.c:91
+msgid "DOS R/O"
+msgstr "DOS vain luku"
+
+#: fdisk/i386_sys_types.c:94
+msgid "BeOS fs"
+msgstr "BeOS-tied.järj."
+
+#: fdisk/i386_sys_types.c:95
+msgid "GPT"
+msgstr "GPT"
+
+#: fdisk/i386_sys_types.c:96
+msgid "EFI (FAT-12/16/32)"
+msgstr "EFI (FAT-12/16/32)"
+
+#: fdisk/i386_sys_types.c:97
+msgid "Linux/PA-RISC boot"
+msgstr "Linux/PA-RISC boot"
+
+#: fdisk/i386_sys_types.c:100
+msgid "DOS secondary"
+msgstr "DOS-toisio"
+
+#: fdisk/i386_sys_types.c:101
+msgid "VMware VMFS"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:102
+msgid "VMware VMKCORE"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:106
+msgid "LANstep"
+msgstr "LANstep"
+
+#: fdisk/i386_sys_types.c:107
+msgid "BBT"
+msgstr "BBT"
+
+#: fdisk/sfdisk.c:179
+#, c-format
+msgid "seek error on %s - cannot seek to %lu\n"
+msgstr "siirtymisvirhe laitteella %s – kohtaan %lu ei voi siirtyä\n"
+
+#: fdisk/sfdisk.c:184
+#, 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"
+
+#: fdisk/sfdisk.c:230
+msgid "out of memory - giving up\n"
+msgstr "muisti lopussa – luovutetaan\n"
+
+#: fdisk/sfdisk.c:235 fdisk/sfdisk.c:318
+#, c-format
+msgid "read error on %s - cannot read sector %lu\n"
+msgstr "virhe luettaessa laitetta %s – sektoria %lu ei voi lukea\n"
+
+#: fdisk/sfdisk.c:253
+#, c-format
+msgid "ERROR: sector %lu does not have an msdos signature\n"
+msgstr "VIRHE: sektorilla %lu ei ole msdos-allekirjoitusta\n"
+
+#: fdisk/sfdisk.c:268
+#, c-format
+msgid "write error on %s - cannot write sector %lu\n"
+msgstr "virhe kirjoitettaessa laitteelle %s – sektoria %lu ei voi kirjoittaa\n"
+
+#: fdisk/sfdisk.c:306
+#, c-format
+msgid "cannot open partition sector save file (%s)\n"
+msgstr "osion sektoreiden tallennustiedostoa (%s) ei voi avata\n"
+
+#: fdisk/sfdisk.c:324
+#, c-format
+msgid "write error on %s\n"
+msgstr "virhe kirjoitettaessa %s\n"
+
+#: fdisk/sfdisk.c:350
+#, c-format
+msgid "cannot stat partition restore file (%s)\n"
+msgstr "osionpalautustiedoston %s tilaa ei voi lukea\n"
+
+#: fdisk/sfdisk.c:355
+msgid "partition restore file has wrong size - not restoring\n"
+msgstr "osion palautustiedoston koko on väärä – ei palauteta\n"
+
+#: fdisk/sfdisk.c:359
+msgid "out of memory?\n"
+msgstr "muisti lopussa?\n"
+
+#: fdisk/sfdisk.c:365
+#, c-format
+msgid "cannot open partition restore file (%s)\n"
+msgstr "osionpalautustiedostoa (%s) ei voi avata\n"
+
+#: fdisk/sfdisk.c:371
+#, c-format
+msgid "error reading %s\n"
+msgstr "virhe luettaessa tiedostoa %s\n"
+
+#: fdisk/sfdisk.c:378
+#, c-format
+msgid "cannot open device %s for writing\n"
+msgstr "laitetta %s ei voi avata kirjoitusta varten\n"
+
+#: fdisk/sfdisk.c:390
+#, c-format
+msgid "error writing sector %lu on %s\n"
+msgstr "virhe kirjoitettaessa sektoria %lu laitteelle %s\n"
+
+#: fdisk/sfdisk.c:455
+#, c-format
+msgid "Disk %s: cannot get geometry\n"
+msgstr "Levy %s: geometriaa ei voi hakea\n"
+
+#: fdisk/sfdisk.c:472
+#, c-format
+msgid "Disk %s: cannot get size\n"
+msgstr "Levy %s: kokoa ei voi hakea\n"
+
+#: fdisk/sfdisk.c:505
+#, 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"
+
+#: fdisk/sfdisk.c:512
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu heads\n"
+msgstr "Varoitus: HDIO_GETGEO kertoo, että päitä on %lu\n"
+
+#: fdisk/sfdisk.c:515
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu sectors\n"
+msgstr "Varoitus: HDIO_GETGEO kertoo, että sektoreita on %lu\n"
+
+#: fdisk/sfdisk.c:519
+#, 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"
+
+#: fdisk/sfdisk.c:524
+#, 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"
+
+#: fdisk/sfdisk.c:528
+#, 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"
+
+#: fdisk/sfdisk.c:610
+#, 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"
+
+#: fdisk/sfdisk.c:615
+#, 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"
+
+#: fdisk/sfdisk.c:620
+#, 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"
+
+#: fdisk/sfdisk.c:660
+#, c-format
+msgid ""
+"Id  Name\n"
+"\n"
+msgstr ""
+"Id  Nimi\n"
+"\n"
+
+#: fdisk/sfdisk.c:821
+#, c-format
+msgid "Re-reading the partition table ...\n"
+msgstr "Luetaan osiotaulu uudelleen...\n"
+
+#: fdisk/sfdisk.c:827
+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"
+
+#: fdisk/sfdisk.c:833
+#, c-format
+msgid "Error closing %s\n"
+msgstr "Virhe suljettaessa %s\n"
+
+#: fdisk/sfdisk.c:871
+#, c-format
+msgid "%s: no such partition\n"
+msgstr "%s: osiota ei ole\n"
+
+#: fdisk/sfdisk.c:894
+msgid "unrecognized format - using sectors\n"
+msgstr "tunnistamaton muoto – käytetään sektoreita\n"
+
+#: fdisk/sfdisk.c:944
+#, c-format
+msgid "unimplemented format - using %s\n"
+msgstr "toteuttamaton muoto – käytetään %s\n"
+
+#: fdisk/sfdisk.c:948
+#, 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"
+
+#: fdisk/sfdisk.c:951
+#, c-format
+msgid "   Device Boot Start     End   #cyls    #blocks   Id  System\n"
+msgstr "   Laite Käynn Alku      Loppu #syl     #lohkot   Id  Järjestelmä\n"
+
+#: fdisk/sfdisk.c:956
+#, c-format
+msgid ""
+"Units = sectors of 512 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Yksiköt = 512-tavuiset sektorit, alkaen kohdasta %d\n"
+"\n"
+
+#: fdisk/sfdisk.c:958
+#, c-format
+msgid "   Device Boot    Start       End   #sectors  Id  System\n"
+msgstr "   Laite  Käynn   Alku        Loppu #sektorit Id  Järjestelmä\n"
+
+#: fdisk/sfdisk.c:961
+#, c-format
+msgid ""
+"Units = blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Yksiköt = 1024-tavuiset lohkot, alkaen kohdasta %d\n"
+"\n"
+
+#: fdisk/sfdisk.c:963
+#, c-format
+msgid "   Device Boot   Start       End    #blocks   Id  System\n"
+msgstr "   Laite  Käynn  Alku        Loppu  #lohkot   Id  Järjestelmä\n"
+
+#: fdisk/sfdisk.c:966
+#, c-format
+msgid ""
+"Units = mebibytes of 1048576 bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Yksiköt = 1048576-tavuiset mebitavut, 1024-tavuiset lohkot, alkaen kohdasta %"
+"d\n"
+"\n"
+
+#: fdisk/sfdisk.c:968
+#, c-format
+msgid "   Device Boot Start   End    MiB    #blocks   Id  System\n"
+msgstr "   Laite Käynn Alku    Loppu  MiB    #lohkot   Id  Järjestelmä\n"
+
+#: fdisk/sfdisk.c:1128
+#, 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"
+
+#: fdisk/sfdisk.c:1135
+#, 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"
+
+#: fdisk/sfdisk.c:1138
+#, 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"
+
+#: fdisk/sfdisk.c:1148
+msgid "No partitions found\n"
+msgstr "Osioita ei löytynyt\n"
+
+#: fdisk/sfdisk.c:1152
+#, 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"
+
+#: fdisk/sfdisk.c:1201
+msgid "no partition table present.\n"
+msgstr "osiotaulua ei ole.\n"
+
+#: fdisk/sfdisk.c:1203
+#, c-format
+msgid "strange, only %d partitions defined.\n"
+msgstr "outoa, vain %d osiota määritelty.\n"
+
+#: fdisk/sfdisk.c:1212
+#, 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"
+
+#: fdisk/sfdisk.c:1215
+#, 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"
+
+#: fdisk/sfdisk.c:1218
+#, 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"
+
+#: fdisk/sfdisk.c:1229
+#, c-format
+msgid "Warning: partition %s "
+msgstr "Varoitus: osio %s "
+
+#: fdisk/sfdisk.c:1230
+#, c-format
+msgid "is not contained in partition %s\n"
+msgstr "ei sisälly osioon %s\n"
+
+#: fdisk/sfdisk.c:1241
+#, c-format
+msgid "Warning: partitions %s "
+msgstr "Varoitus: osiot %s "
+
+#: fdisk/sfdisk.c:1242
+#, c-format
+msgid "and %s overlap\n"
+msgstr "ja %s ovat päällekkäiset\n"
+
+#: fdisk/sfdisk.c:1253
+#, c-format
+msgid ""
+"Warning: partition %s contains part of the partition table (sector %lu),\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"
+
+#: fdisk/sfdisk.c:1265
+#, c-format
+msgid "Warning: partition %s starts at sector 0\n"
+msgstr "Varoitus: osio %s alkaa sektorilta 0\n"
+
+#: fdisk/sfdisk.c:1269
+#, c-format
+msgid "Warning: partition %s extends past end of disk\n"
+msgstr "Varoitus: osio %s jatkuu levyn lopun yli\n"
+
+#: fdisk/sfdisk.c:1284
+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"
+
+#: fdisk/sfdisk.c:1302
+#, c-format
+msgid "Warning: partition %s does not start at a cylinder boundary\n"
+msgstr "Varoitus: osio %s ei ala sylinterin rajalta\n"
+
+#: fdisk/sfdisk.c:1308
+#, c-format
+msgid "Warning: partition %s does not end at a cylinder boundary\n"
+msgstr "Varoitus: osio %s ei lopu sylinterin rajalle\n"
+
+#: fdisk/sfdisk.c:1326
+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"
+
+#: fdisk/sfdisk.c:1333
+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"
+
+#: fdisk/sfdisk.c:1339
+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"
+
+#: fdisk/sfdisk.c:1353
+msgid "start"
+msgstr "alun"
+
+#: fdisk/sfdisk.c:1356
+#, 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"
+
+#: fdisk/sfdisk.c:1362
+msgid "end"
+msgstr "lopun"
+
+#: fdisk/sfdisk.c:1365
+#, 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"
+
+#: fdisk/sfdisk.c:1368
+#, 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"
+
+#: fdisk/sfdisk.c:1393
+#, c-format
+msgid ""
+"Warning: shifted start of the extd partition from %ld to %ld\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"
+
+#: fdisk/sfdisk.c:1399
+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"
+
+#: fdisk/sfdisk.c:1417 fdisk/sfdisk.c:1494
+#, c-format
+msgid "too many partitions - ignoring those past nr (%d)\n"
+msgstr "liian monta osiota – ei huomioida numeron (%d) jälkeisiä\n"
+
+#: fdisk/sfdisk.c:1432
+msgid "tree of partitions?\n"
+msgstr "osiopuu?\n"
+
+#: fdisk/sfdisk.c:1540
+msgid "detected Disk Manager - unable to handle that\n"
+msgstr "havaittiin levymanageri – tilanteesta ei selvitä\n"
+
+#: fdisk/sfdisk.c:1547
+msgid "DM6 signature found - giving up\n"
+msgstr "DM6-allekirjoitus löytyi – luovutetaan\n"
+
+#: fdisk/sfdisk.c:1567
+msgid "strange..., an extended partition of size 0?\n"
+msgstr "outoa..., laajennettu osio, jonka koko on 0?\n"
+
+#: fdisk/sfdisk.c:1574 fdisk/sfdisk.c:1585
+msgid "strange..., a BSD partition of size 0?\n"
+msgstr "outoa..., BSD-osio, jonka koko on 0?\n"
+
+#: fdisk/sfdisk.c:1619
+#, c-format
+msgid " %s: unrecognized partition table type\n"
+msgstr " %s: tunnistamaton osiotaulun tyyppi\n"
+
+#: fdisk/sfdisk.c:1631
+msgid "-n flag was given: Nothing changed\n"
+msgstr "valitsin -n oli annettu: Mitään ei muutettu\n"
+
+#: fdisk/sfdisk.c:1647
+msgid "Failed saving the old sectors - aborting\n"
+msgstr "Vanhojen sektoreiden tallennus epäonnistui – keskeytetään\n"
+
+#: fdisk/sfdisk.c:1652
+#, c-format
+msgid "Failed writing the partition on %s\n"
+msgstr "Osion kirjoitus epäonnistui laitteelle %s\n"
+
+#: fdisk/sfdisk.c:1729
+msgid "long or incomplete input line - quitting\n"
+msgstr "liian pitkä tai epätäydellinen syöterivi – lopetetaan\n"
+
+#: fdisk/sfdisk.c:1765
+#, c-format
+msgid "input error: `=' expected after %s field\n"
+msgstr "syötevirhe: kentän %s jälkeen odotetaan löytyvän ”=”\n"
+
+#: fdisk/sfdisk.c:1772
+#, c-format
+msgid "input error: unexpected character %c after %s field\n"
+msgstr "syötevirhe: odottamaton merkki %c kentän %s jälkeen\n"
+
+#: fdisk/sfdisk.c:1778
+#, c-format
+msgid "unrecognized input: %s\n"
+msgstr "tunnistamaton syöte: %s\n"
+
+#: fdisk/sfdisk.c:1820
+msgid "number too big\n"
+msgstr "liian suuri luku\n"
+
+#: fdisk/sfdisk.c:1824
+msgid "trailing junk after number\n"
+msgstr "roskaa numeron perässä\n"
+
+#: fdisk/sfdisk.c:1948
+msgid "no room for partition descriptor\n"
+msgstr "ei tilaa osiokahvalle\n"
+
+#: fdisk/sfdisk.c:1981
+msgid "cannot build surrounding extended partition\n"
+msgstr "ympäröivää laajennettua osiota ei voi rakentaa\n"
+
+#: fdisk/sfdisk.c:2032
+msgid "too many input fields\n"
+msgstr "liian monta syötekenttää\n"
+
+#: fdisk/sfdisk.c:2066
+msgid "No room for more\n"
+msgstr "Ei enempää tilaa\n"
+
+#: fdisk/sfdisk.c:2085
+msgid "Illegal type\n"
+msgstr "Virheellinen tyyppi\n"
+
+#: fdisk/sfdisk.c:2117
+#, c-format
+msgid "Warning: given size (%lu) exceeds max allowable size (%lu)\n"
+msgstr "Varoitus: annettu koko (%lu) ylittää suurimman sallitun koon (%lu)\n"
+
+#: fdisk/sfdisk.c:2123
+msgid "Warning: empty partition\n"
+msgstr "Varoitus: tyhjä osio\n"
+
+#: fdisk/sfdisk.c:2137
+#, c-format
+msgid "Warning: bad partition start (earliest %lu)\n"
+msgstr "Varoitus: virheellinen osion alku (aikaisintaan %lu)\n"
+
+#: fdisk/sfdisk.c:2150
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr "tunnistamaton ”käynnistettävä”-lippu – valitse - tai *\n"
+
+#: fdisk/sfdisk.c:2167 fdisk/sfdisk.c:2180
+msgid "partial c,h,s specification?\n"
+msgstr "osittainen c,h,s-määritys?\n"
+
+#: fdisk/sfdisk.c:2191
+msgid "Extended partition not where expected\n"
+msgstr "Laajennettu osio ei ole odotetussa paikassa\n"
+
+#: fdisk/sfdisk.c:2223
+msgid "bad input\n"
+msgstr "virheellinen syöte\n"
+
+#: fdisk/sfdisk.c:2245
+msgid "too many partitions\n"
+msgstr "liian monta osiota\n"
+
+#: fdisk/sfdisk.c:2278
+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"
+
+#: fdisk/sfdisk.c:2304
+#, c-format
+msgid "Usage: %s [options] device ...\n"
+msgstr "Käyttö: %s [valitsimet] laite ...\n"
+
+#: fdisk/sfdisk.c:2305
+msgid "device: something like /dev/hda or /dev/sda"
+msgstr "laite: esimerkiksi /dev/hda tai /dev/sda"
+
+#: fdisk/sfdisk.c:2306
+msgid "useful options:"
+msgstr "hyödylliset valitsimet:"
+
+#: fdisk/sfdisk.c:2307
+msgid "    -s [or --show-size]: list size of a partition"
+msgstr "    -s [tai --show-size]: näytä osion koko"
+
+#: fdisk/sfdisk.c:2308
+msgid "    -c [or --id]:        print or change partition Id"
+msgstr "    -c [tai --id:        näytä tai muuta osio-id"
+
+#: fdisk/sfdisk.c:2309
+msgid "    -l [or --list]:      list partitions of each device"
+msgstr "    -l [tai --list]:     listaa kaikkien laitteiden osiot"
+
+#: fdisk/sfdisk.c:2310
+msgid "    -d [or --dump]:      idem, but in a format suitable for later input"
+msgstr "    -d [tai --dump]:     sama kuin edellä, muoto sopiva syötteeksi"
+
+#: fdisk/sfdisk.c:2311
+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"
+
+#: fdisk/sfdisk.c:2312
+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"
+
+#: fdisk/sfdisk.c:2313
+msgid "    -T [or --list-types]:list the known partition types"
+msgstr "    -T [tai --list-types]:listaa tunnetut osiotyypit"
+
+#: fdisk/sfdisk.c:2314
+msgid "    -D [or --DOS]:       for DOS-compatibility: waste a little space"
+msgstr ""
+"    -D [tai --DOS]:      DOS-yhteensopivuutta varten; tuhlaa vähän tilaa"
+
+#: fdisk/sfdisk.c:2315
+msgid "    -R [or --re-read]:   make kernel reread partition table"
+msgstr "    -R [tai --re-read]:  käske ytimen lukea osiotaulu uudelleen"
+
+#: fdisk/sfdisk.c:2316
+msgid "    -N# :                change only the partition with number #"
+msgstr "    -N# :                muuta vain osiota numero #"
+
+#: fdisk/sfdisk.c:2317
+msgid "    -n :                 do not actually write to disk"
+msgstr "    -n :                 älä kirjoita levylle oikeasti"
+
+#: fdisk/sfdisk.c:2318
+msgid ""
+"    -O file :            save the sectors that will be overwritten to file"
+msgstr "    -O tiedosto :        tallenna ylikirjoitettavat sektori tiedostoon"
+
+#: fdisk/sfdisk.c:2319
+msgid "    -I file :            restore these sectors again"
+msgstr "    -I tiedosto :        palauta nämä sektorit"
+
+#: fdisk/sfdisk.c:2320
+msgid "    -v [or --version]:   print version"
+msgstr "    -v [tai --version]:  näytä versio"
+
+#: fdisk/sfdisk.c:2321
+msgid "    -? [or --help]:      print this message"
+msgstr "    -? [tai --help]:     näytä tämä viesti"
+
+#: fdisk/sfdisk.c:2322
+msgid "dangerous options:"
+msgstr "vaaralliset valitsimet:"
+
+#: fdisk/sfdisk.c:2323
+msgid "    -g [or --show-geometry]: print the kernel's idea of the geometry"
+msgstr "    -g [tai --show-geometry]: näytä ytimen käsitys geometriasta"
+
+#: fdisk/sfdisk.c:2324
+msgid ""
+"    -G [or --show-pt-geometry]: print geometry guessed from the partition "
+"table"
+msgstr "    -G [tai --show-pt-geometry]: näytä osiotausta päätelty geometria"
+
+#: fdisk/sfdisk.c:2325
+msgid ""
+"    -x [or --show-extended]: also list extended partitions on output\n"
+"                             or expect descriptors for them on input"
+msgstr ""
+"    -x [tai --show-extended]: listaa myös laajennetut osiot tulosteessa\n"
+"                             tai odota syötteestä niiden kahvoja"
+
+#: fdisk/sfdisk.c:2327
+msgid ""
+"    -L  [or --Linux]:      do not complain about things irrelevant for Linux"
+msgstr ""
+"    -L  [tai --Linux]:     älä huomauta Linuxissa merkityksettömistä asioista"
+
+#: fdisk/sfdisk.c:2328
+msgid "    -q  [or --quiet]:      suppress warning messages"
+msgstr "    -q  [tai --quiet]:     vaienna varoitusviestit"
+
+#: fdisk/sfdisk.c:2329
+msgid "    You can override the detected geometry using:"
+msgstr "    Voit ohittaa tunnistetun geometrian käyttämällä:"
+
+#: fdisk/sfdisk.c:2330
+msgid "    -C# [or --cylinders #]:set the number of cylinders to use"
+msgstr "    -C# [tai --cylinders #]:aseta käytettävä sylinterien määrä"
+
+#: fdisk/sfdisk.c:2331
+msgid "    -H# [or --heads #]:    set the number of heads to use"
+msgstr "    -h# [tai --heads #]:    aseta käytettävä päiden määrä"
+
+#: fdisk/sfdisk.c:2332
+msgid "    -S# [or --sectors #]:  set the number of sectors to use"
+msgstr "    -S# [tai --sectors #]:  aseta käytettävä sektorien määrä"
+
+#: fdisk/sfdisk.c:2333
+msgid "You can disable all consistency checking with:"
+msgstr "Kaikki tarkistukset voi ohittaa valitsimella:"
+
+#: fdisk/sfdisk.c:2334
+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ää"
+
+#: fdisk/sfdisk.c:2340
+msgid "Usage:"
+msgstr "Käyttö:"
+
+#: fdisk/sfdisk.c:2341
+#, c-format
+msgid "%s device\t\t list active partitions on device\n"
+msgstr "%s laite\t\t listaa laitteella olevat aktiiviset osiot\n"
+
+#: fdisk/sfdisk.c:2342
+#, 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"
+
+#: fdisk/sfdisk.c:2343
+#, 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"
+
+#: fdisk/sfdisk.c:2463
+#, 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"
+
+#: fdisk/sfdisk.c:2466
+#, c-format
+msgid "Use the --force flag to overrule this check.\n"
+msgstr "Käytä --force -valitsinta ohittaaksesi tämän tarkistuksen.\n"
+
+#: fdisk/sfdisk.c:2505
+msgid "no command?\n"
+msgstr "ei komentoa?\n"
+
+#: fdisk/sfdisk.c:2637
+#, c-format
+msgid "total: %llu blocks\n"
+msgstr "yhteensä: %llu lohkoa\n"
+
+#: fdisk/sfdisk.c:2680
+msgid "usage: sfdisk --print-id device partition-number\n"
+msgstr "käyttö: sfdisk --print-id laite osionumero\n"
+
+#: fdisk/sfdisk.c:2682
+msgid "usage: sfdisk --change-id device partition-number Id\n"
+msgstr "käyttö: sfdisk --change-id laite osionumero Id\n"
+
+#: fdisk/sfdisk.c:2684
+msgid "usage: sfdisk --id device partition-number [Id]\n"
+msgstr "käyttö: sfdisk --id laite osionumero [Id]\n"
+
+#: fdisk/sfdisk.c:2691
+msgid "can specify only one device (except with -l or -s)\n"
+msgstr "vain yhden laitteen voi antaa (paitsi valitsimella -l tai -s)\n"
+
+#: fdisk/sfdisk.c:2717
+#, c-format
+msgid "cannot open %s read-write\n"
+msgstr "laitetta %s ei voi avata lukua-kirjoitusta varten\n"
+
+#: fdisk/sfdisk.c:2719
+#, c-format
+msgid "cannot open %s for reading\n"
+msgstr "laitetta %s ei voi avata lukua varten\n"
+
+#: fdisk/sfdisk.c:2744
+#, c-format
+msgid "%s: OK\n"
+msgstr "%s: OK\n"
+
+#: fdisk/sfdisk.c:2763 fdisk/sfdisk.c:2796
+#, c-format
+msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+msgstr "%s: %ld sylinteriä, %ld päätä, %ld sektoria/ura\n"
+
+#: fdisk/sfdisk.c:2815
+#, c-format
+msgid "Cannot get size of %s\n"
+msgstr "Laitteen %s kokoa ei voida hakea\n"
+
+#: fdisk/sfdisk.c:2895
+#, c-format
+msgid "bad active byte: 0x%x instead of 0x80\n"
+msgstr "virheellinen aktiivinen tavu: 0x80:n asemesta 0x%x\n"
+
+#: fdisk/sfdisk.c:2913 fdisk/sfdisk.c:2968 fdisk/sfdisk.c:3001
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+"Valmis\n"
+"\n"
+
+#: fdisk/sfdisk.c:2922
+#, 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"
+
+#: fdisk/sfdisk.c:2938
+#, c-format
+msgid "partition %s has id %x and is not hidden\n"
+msgstr "osiolla %s id on %x eikä osiota ole kätketty\n"
+
+#: fdisk/sfdisk.c:2997
+#, c-format
+msgid "Bad Id %lx\n"
+msgstr "Virheellinen Id %lx\n"
+
+#: fdisk/sfdisk.c:3014
+msgid "This disk is currently in use.\n"
+msgstr "Levy on tällä hetkellä käytössä.\n"
+
+#: fdisk/sfdisk.c:3033
+#, c-format
+msgid "Fatal error: cannot find %s\n"
+msgstr "Vakava virhe: laitetta %s ei löydy\n"
+
+#: fdisk/sfdisk.c:3036
+#, c-format
+msgid "Warning: %s is not a block device\n"
+msgstr "Varoitus: %s ei ole lohkolaite\n"
+
+#: fdisk/sfdisk.c:3042
+msgid "Checking that no-one is using this disk right now ...\n"
+msgstr "Tarkistetaan, että kukaan ei käytä levyä juuri nyt...\n"
+
+#: fdisk/sfdisk.c:3044
+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"
+
+#: fdisk/sfdisk.c:3048
+msgid "Use the --force flag to overrule all checks.\n"
+msgstr "Käytä --force -valitsinta ohittaaksesi kaikki tarkistukset.\n"
+
+#: fdisk/sfdisk.c:3052
+msgid "OK\n"
+msgstr "OK\n"
+
+#: fdisk/sfdisk.c:3061
+#, c-format
+msgid "Old situation:\n"
+msgstr "Vanha tilanne:\n"
+
+#: fdisk/sfdisk.c:3065
+#, c-format
+msgid "Partition %d does not exist, cannot change it\n"
+msgstr "Osiota %d ei ole olemassa, sitä ei voi muuttaa\n"
+
+#: fdisk/sfdisk.c:3073
+#, c-format
+msgid "New situation:\n"
+msgstr "Uusi tilanne:\n"
+
+#: fdisk/sfdisk.c:3078
+msgid ""
+"I don't like these partitions - nothing changed.\n"
+"(If you really want this, use the --force option.)\n"
+msgstr ""
+"En pidä näistä osioista – mitään ei muutettu.\n"
+"(Jos todella haluat tätä, käytä valitsinta --force.)\n"
+
+#: fdisk/sfdisk.c:3081
+msgid "I don't like this - probably you should answer No\n"
+msgstr "En pidä tästä – kannattaa todennäköisesti vastata ”No”\n"
+
+#: fdisk/sfdisk.c:3086
+#, c-format
+msgid "Are you satisfied with this? [ynq] "
+msgstr "Oletko tyytyväinen tähän? [ynq] "
+
+#: fdisk/sfdisk.c:3088
+#, c-format
+msgid "Do you want to write this to disk? [ynq] "
+msgstr "Haluatko kirjoittaa tämän levylle? [ynq] "
+
+#: fdisk/sfdisk.c:3093
+#, c-format
+msgid ""
+"\n"
+"sfdisk: premature end of input\n"
+msgstr ""
+"\n"
+"sfdisk: ennenaikainen syötteen loppu\n"
+
+#: fdisk/sfdisk.c:3095
+msgid "Quitting - nothing changed\n"
+msgstr "Lopetetaan – mitään ei muutettu\n"
+
+#: fdisk/sfdisk.c:3101
+#, c-format
+msgid "Please answer one of y,n,q\n"
+msgstr "Vastaa joko y, n tai q\n"
+
+#: fdisk/sfdisk.c:3109
+#, c-format
+msgid ""
+"Successfully wrote the new partition table\n"
+"\n"
+msgstr ""
+"Uusi osiotaulu kirjoitettiin onnistuneesti\n"
+"\n"
+
+#: fdisk/sfdisk.c:3115
+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"
+
+#: fsck/fsck.c:327
+#, fuzzy, c-format
+msgid "WARNING: couldn't open %s: %s\n"
+msgstr "%s: tiedostoa %s ei voi avata: %s\n"
+
+#: fsck/fsck.c:337
+#, c-format
+msgid "WARNING: bad format on line %d of %s\n"
+msgstr ""
+
+#: fsck/fsck.c:353
+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 ""
+
+#: fsck/fsck.c:461
+#, fuzzy, c-format
+msgid "fsck: %s: not found\n"
+msgstr "umount: %s: ei löydy"
+
+#: fsck/fsck.c:577
+#, c-format
+msgid "%s: wait: No more child process?!?\n"
+msgstr ""
+
+#: fsck/fsck.c:599
+#, c-format
+msgid "Warning... %s for device %s exited with signal %d.\n"
+msgstr ""
+
+#: fsck/fsck.c:605
+#, c-format
+msgid "%s %s: status is %x, should never happen.\n"
+msgstr ""
+
+#: fsck/fsck.c:644
+#, c-format
+msgid "Finished with %s (exit status %d)\n"
+msgstr ""
+
+#: fsck/fsck.c:704
+#, fuzzy, c-format
+msgid "%s: Error %d while executing fsck.%s for %s\n"
+msgstr "%s: virhe %d purettaessa! %p(%d)\n"
+
+#: fsck/fsck.c:725
+msgid ""
+"Either all or none of the filesystem types passed to -t must be prefixed\n"
+"with 'no' or '!'.\n"
+msgstr ""
+
+#: fsck/fsck.c:744
+#, fuzzy
+msgid "Couldn't allocate memory for filesystem types\n"
+msgstr "mount: tiedostojärjestelmän tyyppi on annettava"
+
+#: fsck/fsck.c:867
+#, c-format
+msgid ""
+"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass "
+"number\n"
+msgstr ""
+
+#: fsck/fsck.c:894
+#, c-format
+msgid "fsck: cannot check %s: fsck.%s not found\n"
+msgstr ""
+
+#: fsck/fsck.c:950
+#, fuzzy
+msgid "Checking all file systems.\n"
+msgstr "Pakotetaan tiedostojärjestelmän tarkistus laitteella %s.\n"
+
+#: fsck/fsck.c:1041
+#, c-format
+msgid "--waiting-- (pass %d)\n"
+msgstr ""
+
+#: fsck/fsck.c:1061
+#, fuzzy
+msgid ""
+"Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]\n"
+msgstr ""
+"Käyttö: mkfs [-V] [-t tied.järj. tyyppi] [tied.järj.valitsimet] laite "
+"[koko]\n"
+
+#: fsck/fsck.c:1099
+#, c-format
+msgid "%s: too many devices\n"
+msgstr "%s: liian monta laitetta\n"
+
+#: fsck/fsck.c:1110
+#, fuzzy, c-format
+msgid "Couldn't open %s: %s\n"
+msgstr "Laitetta %s ei voi avata: %s\n"
+
+#: fsck/fsck.c:1112
+#, fuzzy, c-format
+msgid "Is /proc mounted?\n"
+msgstr "%s irrotettu\n"
+
+#: fsck/fsck.c:1121
+#, c-format
+msgid "Must be root to scan for matching filesystems: %s\n"
+msgstr ""
+
+#: fsck/fsck.c:1124
+#, fuzzy, c-format
+msgid "Couldn't find matching filesystem: %s\n"
+msgstr "Irrotetaan jäljellä olevat tiedostojärjestelmät..."
+
+#: fsck/fsck.c:1132 fsck/fsck.c:1218
+#, fuzzy, c-format
+msgid "%s: too many arguments\n"
+msgstr "%s: tuntematon argumentti: %s\n"
+
+#: fsck/fsck.c:1252
+#, fuzzy, c-format
+msgid "fsck from %s\n"
+msgstr "%s paketista %s%s\n"
+
+#: fsck/fsck.c:1264
+#, fuzzy, c-format
+msgid "%s: Unable to allocate memory for fsck_path\n"
+msgstr "I-solmuille ei voi varata puskuria"
+
+#: getopt/getopt.c:229
+msgid "Try `getopt --help' for more information.\n"
+msgstr "Komento ”getopt --help” antaa lisää tietoa.\n"
+
+#: getopt/getopt.c:295
+msgid "empty long option after -l or --long argument"
+msgstr "tyhjä pitkä valitsin argumentin -l tai --long jälkeen"
+
+#: getopt/getopt.c:315
+msgid "unknown shell after -s or --shell argument"
+msgstr "tuntematon kuori argumentin -s tai --shell jälkeen"
+
+#: getopt/getopt.c:320
+msgid "Usage: getopt optstring parameters\n"
+msgstr "Käyttö: getopt valitsinmerkkijono parametrit\n"
+
+#: getopt/getopt.c:321
+msgid "       getopt [options] [--] optstring parameters\n"
+msgstr "       getopt [valitsimet] [--] valitsinmerkkijono parametrit\n"
+
+#: getopt/getopt.c:322
+msgid "       getopt [options] -o|--options optstring [options] [--]\n"
+msgstr ""
+"       getopt [valitsimet] -o|--options valitsinmerkkijono [valitsimet] "
+"[--]\n"
+
+#: getopt/getopt.c:323
+msgid "              parameters\n"
+msgstr "              parametrit\n"
+
+#: getopt/getopt.c:324
+msgid ""
+"  -a, --alternative            Allow long options starting with single -\n"
+msgstr ""
+"  -a, --alternative            Salli pitkien valitsimien alkaminen yhdellä -:"
+"lla\n"
+
+#: getopt/getopt.c:325
+msgid "  -h, --help                   This small usage guide\n"
+msgstr "  -h, --help                   Tämä pieni käyttöopas\n"
+
+#: getopt/getopt.c:326
+msgid "  -l, --longoptions=longopts   Long options to be recognized\n"
+msgstr "  -l, --longoptions=valitsimet Pitkät tunnistettavat valitsimet\n"
+
+#: getopt/getopt.c:327
+msgid ""
+"  -n, --name=progname          The name under which errors are reported\n"
+msgstr ""
+"  -n, --name=ohjelmanimi       Nimi, joka ilmoitetaan virheiden yhteydessä\n"
+
+#: getopt/getopt.c:328
+msgid "  -o, --options=optstring      Short options to be recognized\n"
+msgstr "  -o, --options=valitsimet     Lyhyet tunnistettavat valitsimet\n"
+
+#: getopt/getopt.c:329
+msgid "  -q, --quiet                  Disable error reporting by getopt(3)\n"
+msgstr "  -q, --quiet                  Vaienna getopt(3):n virheilmoitukset\n"
+
+#: getopt/getopt.c:330
+msgid "  -Q, --quiet-output           No normal output\n"
+msgstr "  -Q, --quiet-output           Ei normaalia tulostetta\n"
+
+#: getopt/getopt.c:331
+msgid "  -s, --shell=shell            Set shell quoting conventions\n"
+msgstr "  -s, --shell=kuori            Aseta kuoren lainauskäytännöt\n"
+
+#: getopt/getopt.c:332
+msgid "  -T, --test                   Test for getopt(1) version\n"
+msgstr "  -T, --test                  Testaa getopt(1):n versio\n"
+
+#: getopt/getopt.c:333
+msgid "  -u, --unqote                 Do not quote the output\n"
+msgstr "  -u, --unquote                Ei lainausmerkkejä tulosteeseen\n"
+
+#: getopt/getopt.c:334
+msgid "  -V, --version                Output version information\n"
+msgstr "  -V, --version                Näytä versiotiedot\n"
+
+#: getopt/getopt.c:388 getopt/getopt.c:447
+msgid "missing optstring argument"
+msgstr "puuttuva valitsinmerkkijonon argumentti"
+
+#: getopt/getopt.c:435
+#, c-format
+msgid "getopt (enhanced) 1.1.4\n"
+msgstr "getopt (parannettu) 1.1.4\n"
+
+#: getopt/getopt.c:441
+msgid "internal error, contact the author."
+msgstr "sisäinen virhe, ota yhteyttä tekijään."
+
+#: hwclock/cmos.c:176
+#, c-format
+msgid "booted from MILO\n"
+msgstr "käynnistetty MILOsta\n"
+
+#: hwclock/cmos.c:185
+#, c-format
+msgid "Ruffian BCD clock\n"
+msgstr "Ruffian BCD -kello\n"
+
+#: hwclock/cmos.c:201
+#, c-format
+msgid "clockport adjusted to 0x%x\n"
+msgstr "kelloportiksi asetettu 0x%x\n"
+
+#: hwclock/cmos.c:213
+#, c-format
+msgid "funky TOY!\n"
+msgstr "funky TOY!\n"
+
+#: hwclock/cmos.c:244
+#, c-format
+msgid "%s: atomic %s failed for 1000 iterations!"
+msgstr "%s: atominen ”%s” epäonnistui 1000 iteraatiolle!"
+
+#: hwclock/cmos.c:273
+#, c-format
+msgid "cmos_read(): write to control address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:276
+#, c-format
+msgid "cmos_read(): read data address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:307
+#, c-format
+msgid "cmos_write(): write to control address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:311
+#, c-format
+msgid "cmos_write(): write to data address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:574
+#, c-format
+msgid "Cannot open /dev/port: %s"
+msgstr "Ei voi avata laitetta /dev/port: %s"
+
+#: hwclock/cmos.c:581
+#, c-format
+msgid "I failed to get permission because I didn't try.\n"
+msgstr "En saanut käyttöoikeutta, koska en yrittänyt.\n"
+
+#: hwclock/cmos.c:584
+#, c-format
+msgid "%s is unable to get I/O port access:  the iopl(3) call failed.\n"
+msgstr "%s ei saa käyttöoikeutta I/O-porttiin:  iopl(3)-kutsu epäonnistui.\n"
+
+#: hwclock/cmos.c:587
+#, c-format
+msgid "Probably you need root privileges.\n"
+msgstr "Tarvitset todennäköisesti pääkäyttäjän oikeudet.\n"
+
+#: hwclock/hwclock.c:231
+#, c-format
+msgid "Assuming hardware clock is kept in %s time.\n"
+msgstr "Oletetaan laitteistokellon olevan %sajassa.\n"
+
+#: hwclock/hwclock.c:232 hwclock/hwclock.c:327
+msgid "UTC"
+msgstr "UTC-"
+
+#: hwclock/hwclock.c:232 hwclock/hwclock.c:326
+msgid "local"
+msgstr "paikallisessa "
+
+#: hwclock/hwclock.c:312
+#, c-format
+msgid "%s: Warning: unrecognized third line in adjtime file\n"
+msgstr "%s: Varoitus: tunnistamaton kolmas rivi adjtime-tiedostossa\n"
+
+#: hwclock/hwclock.c:314
+#, c-format
+msgid "(Expected: `UTC' or `LOCAL' or nothing.)\n"
+msgstr "(Odotetaan: ”UTC”, ”LOCAL” tai ei mitään.)\n"
+
+#: hwclock/hwclock.c:321
+#, 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"
+
+#: hwclock/hwclock.c:323
+#, c-format
+msgid "Last calibration done at %ld seconds after 1969\n"
+msgstr "Viimeinen kalibrointi tehty %ld sekuntia vuoden 1969 jälkeen\n"
+
+#: hwclock/hwclock.c:325
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr "Laitteistokello on %sajassa\n"
+
+#: hwclock/hwclock.c:327
+msgid "unknown"
+msgstr "tuntemattomassa "
+
+#: hwclock/hwclock.c:351
+#, c-format
+msgid "Waiting for clock tick...\n"
+msgstr "Odotetaan kellon tikitystä...\n"
+
+#: hwclock/hwclock.c:357
+#, c-format
+msgid "...synchronization failed\n"
+msgstr ""
+
+#: hwclock/hwclock.c:359
+#, c-format
+msgid "...got clock tick\n"
+msgstr "...saatiin tikitys\n"
+
+#: hwclock/hwclock.c:413
+#, 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"
+
+#: hwclock/hwclock.c:421
+#, 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"
+
+#: hwclock/hwclock.c:451
+#, 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"
+
+#: hwclock/hwclock.c:480
+#, 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"
+
+#: hwclock/hwclock.c:486
+#, c-format
+msgid "Clock not changed - testing only.\n"
+msgstr "Kellonaikaa ei muutettu – pelkkä testi.\n"
+
+#: hwclock/hwclock.c:536
+#, 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"
+
+#: hwclock/hwclock.c:572
+#, c-format
+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).\n"
+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"
+
+#: hwclock/hwclock.c:582
+#, c-format
+msgid "%s  %.6f seconds\n"
+msgstr "%s  %.6f sekuntia\n"
+
+#: hwclock/hwclock.c:616
+#, c-format
+msgid "No --date option specified.\n"
+msgstr "Valitsinta --date ei ole annettu.\n"
+
+#: hwclock/hwclock.c:622
+#, c-format
+msgid "--date argument too long\n"
+msgstr "liian pitkä --date-argumentti\n"
+
+#: hwclock/hwclock.c:629
+#, c-format
+msgid ""
+"The value of the --date option is not a valid date.\n"
+"In particular, it contains quotation marks.\n"
+msgstr ""
+"Valitsimelle --date annettu arvo ei ole kelvollinen päiväys.\n"
+"Se sisältää lainausmerkkejä.\n"
+
+#: hwclock/hwclock.c:637
+#, c-format
+msgid "Issuing date command: %s\n"
+msgstr "Käynnistetään ”date”-komento: %s\n"
+
+#: hwclock/hwclock.c:641
+msgid "Unable to run 'date' program in /bin/sh shell. popen() failed"
+msgstr "Komentoa ”date” ei voitu ajaa /bin/sh-kuoressa. popen() epäonnistui"
+
+#: hwclock/hwclock.c:649
+#, c-format
+msgid "response from date command = %s\n"
+msgstr "date-komennon vastaus = %s\n"
+
+#: hwclock/hwclock.c:651
+#, c-format
+msgid ""
+"The date command issued by %s returned unexpected results.\n"
+"The command was:\n"
+"  %s\n"
+"The response was:\n"
+"  %s\n"
+msgstr ""
+"%sin käynnistämä ”date”-komento palautti odottamattomia tuloksia.\n"
+"Komento oli:\n"
+"  %s\n"
+"Vastaus oli:\n"
+"  %s\n"
+
+#: hwclock/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"
+
+#: hwclock/hwclock.c:674
+#, c-format
+msgid "date string %s equates to %ld seconds since 1969.\n"
+msgstr "päiväysmerkkijono %s vastaa %ld sekuntia vuodesta 1969.\n"
+
+#: hwclock/hwclock.c:706
+#, c-format
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot set the "
+"System Time from it.\n"
+msgstr ""
+"Laitteistokellon aika ei ole kelvollinen, joten järjestelmän aikaa ei voida "
+"asettaa sen perusteella.\n"
+
+#: hwclock/hwclock.c:728 hwclock/hwclock.c:805
+#, c-format
+msgid "Calling settimeofday:\n"
+msgstr "Kutsutaan settimeofday:\n"
+
+#: hwclock/hwclock.c:729 hwclock/hwclock.c:807
+#, c-format
+msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+
+#: hwclock/hwclock.c:731 hwclock/hwclock.c:809
+#, c-format
+msgid "\ttz.tz_minuteswest = %d\n"
+msgstr "\ttz.tz_minuteswest = %d\n"
+
+#: hwclock/hwclock.c:734 hwclock/hwclock.c:812
+#, 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"
+
+#: hwclock/hwclock.c:743 hwclock/hwclock.c:821
+#, c-format
+msgid "Must be superuser to set system clock.\n"
+msgstr "Vain pääkäyttäjä voi asettaa järjestelmän kellon.\n"
+
+#: hwclock/hwclock.c:746 hwclock/hwclock.c:824
+msgid "settimeofday() failed"
+msgstr "settimeofday() epäonnistui"
+
+#: hwclock/hwclock.c:782
+#, c-format
+msgid "Current system time: %ld = %s\n"
+msgstr ""
+
+#: hwclock/hwclock.c:806
+#, c-format
+msgid "\tUTC: %s\n"
+msgstr "\tUTC: %s\n"
+
+#: hwclock/hwclock.c:853
+#, 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"
+
+#: hwclock/hwclock.c:858
+#, 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"
+
+#: hwclock/hwclock.c:864
+#, 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"
+
+#: hwclock/hwclock.c:912
+#, 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"
+
+#: hwclock/hwclock.c:962
+#, c-format
+msgid "Time since last adjustment is %d seconds\n"
+msgstr "Aikaa edellisestä säädöstä on kulunut %d sekuntia\n"
+
+#: hwclock/hwclock.c:964
+#, 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"
+
+#: hwclock/hwclock.c:993
+#, c-format
+msgid "Not updating adjtime file because of testing mode.\n"
+msgstr "Ei päivitetä adjtime-tiedostoa, koska käytetään testaustilaa.\n"
+
+#: hwclock/hwclock.c:994
+#, c-format
+msgid ""
+"Would have written the following to %s:\n"
+"%s"
+msgstr ""
+"Tiedostoon %s olisi kirjoitettu seuraavaa:\n"
+"%s"
+
+#: hwclock/hwclock.c:1002
+#, c-format
+msgid ""
+"Could not open file with the clock adjustment parameters in it (%s) for "
+"writing"
+msgstr ""
+
+#: hwclock/hwclock.c:1007 hwclock/hwclock.c:1012
+#, c-format
+msgid "Could not update file with the clock adjustment parameters (%s) in it"
+msgstr ""
+
+#: hwclock/hwclock.c:1018
+#, c-format
+msgid "Drift adjustment parameters not updated.\n"
+msgstr "Siirtymänsäätöparametreja ei päivitetty.\n"
+
+#: hwclock/hwclock.c:1059
+#, c-format
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot adjust it.\n"
+msgstr "Laitteistokellon aika ei ole kelvollinen, joten sitä ei voi säätää.\n"
+
+#: hwclock/hwclock.c:1067
+#, fuzzy, c-format
+msgid ""
+"Not setting clock because last adjustment time is zero, so history is bad."
+msgstr ""
+"Ei säädetä siirtymäkerrointa, koska edellinen kalibrointiaika on nolla,\n"
+"joten historia on virheellinen ja kalibroinnin uudelleen aloitus on\n"
+"tarpeellista.\n"
+
+#: hwclock/hwclock.c:1090
+#, 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"
+
+#: hwclock/hwclock.c:1116
+#, c-format
+msgid "Using %s.\n"
+msgstr "Käytetään rajapintaa %s.\n"
+
+#: hwclock/hwclock.c:1118
+#, c-format
+msgid "No usable clock interface found.\n"
+msgstr "Käyttökelpoista kellorajapintaa ei löytynyt.\n"
+
+#: hwclock/hwclock.c:1222 hwclock/hwclock.c:1228
+#, c-format
+msgid "Unable to set system clock.\n"
+msgstr "Järjestelmäkellon asetus ei onnistu.\n"
+
+#: hwclock/hwclock.c:1258
+#, c-format
+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.\n"
+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"
+
+#: hwclock/hwclock.c:1267
+#, c-format
+msgid "Unable to get the epoch value from the kernel.\n"
+msgstr "Ytimeltä ei saada epoch-arvoa.\n"
+
+#: hwclock/hwclock.c:1269
+#, c-format
+msgid "Kernel is assuming an epoch value of %lu\n"
+msgstr "Ydin olettaa epoch-arvoksi %lu\n"
+
+#: hwclock/hwclock.c:1272
+#, c-format
+msgid ""
+"To set the epoch value, you must use the 'epoch' option to tell to what "
+"value to set it.\n"
+msgstr "Epoch-arvon asettamiseksi on käytettävä ”epoch”-valitsinta.\n"
+
+#: hwclock/hwclock.c:1275
+#, c-format
+msgid "Not setting the epoch to %d - testing only.\n"
+msgstr "Ei aseteta epoch-arvoksi %d – vain kokeilu.\n"
+
+#: hwclock/hwclock.c:1278
+#, c-format
+msgid "Unable to set the epoch value in the kernel.\n"
+msgstr "Ytimen epoch-arvoa ei voi asettaa.\n"
+
+#: hwclock/hwclock.c:1291 misc-utils/cal.c:345 misc-utils/kill.c:189
+#, c-format
+msgid "%s from %s\n"
+msgstr "%s – %s\n"
+
+#: hwclock/hwclock.c:1312
+#, c-format
+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"
+"  -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 paikallisesssa 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"
+
+#: hwclock/hwclock.c:1347
+#, c-format
+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"
+
+#: hwclock/hwclock.c:1434
+#, c-format
+msgid "%s: Unable to connect to audit system\n"
+msgstr "%s: Audit-järjestelmään yhdistäminen ei onnistu\n"
+
+#: hwclock/hwclock.c:1552
+#, c-format
+msgid "%s takes no non-option arguments.  You supplied %d.\n"
+msgstr "%s ottaa vain valitsimia argumentteina. Annoit %d muuta.\n"
+
+#: hwclock/hwclock.c:1559
+#, c-format
+msgid ""
+"You have specified multiple functions.\n"
+"You can only perform one function at a time.\n"
+msgstr ""
+"Monta toimintoa määritelty.\n"
+"Vain yksi toiminto voidaan suorittaa kerrallaan.\n"
+
+#: hwclock/hwclock.c:1566
+#, c-format
+msgid ""
+"%s: The --utc and --localtime options are mutually exclusive.  You specified "
+"both.\n"
+msgstr ""
+"%s: Valitsimet --utc ja --localtime ovat toisensa poissulkevat. Annoit "
+"molemmat.\n"
+
+#: hwclock/hwclock.c:1573
+#, c-format
+msgid ""
+"%s: The --adjust and --noadjfile options are mutually exclusive.  You "
+"specified both.\n"
+msgstr ""
+"%s: Valitsimet --adjust ja --noadjfile ovat toisensa poissulkevat. Käytit "
+"molempia.\n"
+
+#: hwclock/hwclock.c:1580
+#, c-format
+msgid ""
+"%s: The --adjfile and --noadjfile options are mutually exclusive.  You "
+"specified both.\n"
+msgstr ""
+"%s: Valitsimet --adjfile ja --noadjfile ovat toisensa poissulkevat. Käytit "
+"molempia.\n"
+
+#: hwclock/hwclock.c:1589
+#, c-format
+msgid "%s: With --noadjfile, you must specify either --utc or --localtime\n"
+msgstr ""
+"%s: Valitsimen --noadjfile kanssa on käytettävä joko valitsinta --utc tai --"
+"localtime\n"
+
+#: hwclock/hwclock.c:1603
+#, c-format
+msgid "No usable set-to time.  Cannot set clock.\n"
+msgstr "Ei käyttökelpoista aikaa asetettavaksi. Kelloa ei voida asettaa.\n"
+
+#: hwclock/hwclock.c:1620
+#, c-format
+msgid "Sorry, only the superuser can change the Hardware Clock.\n"
+msgstr "Valitettavasti vain pääkäyttäjä voi säätää laitteistokelloa.\n"
+
+#: hwclock/hwclock.c:1625
+#, c-format
+msgid "Sorry, only the superuser can change the System Clock.\n"
+msgstr "Valitettavasti vain pääkäyttäjä voi säätää järjestelmäkelloa.\n"
+
+#: hwclock/hwclock.c:1630
+#, c-format
+msgid ""
+"Sorry, only the superuser can change the Hardware Clock epoch in the "
+"kernel.\n"
+msgstr ""
+"Valitettavasti vain pääkäyttäjä voi säätää laitteistokellon epoch-arvoa "
+"ytimessä.\n"
+
+#: hwclock/hwclock.c:1651
+#, c-format
+msgid "Cannot access the Hardware Clock via any known method.\n"
+msgstr "Laitteistokelloa ei pystytä käyttämään millään tunnetulla tavalla.\n"
+
+#: hwclock/hwclock.c:1655
+#, c-format
+msgid ""
+"Use the --debug option to see the details of our search for an access "
+"method.\n"
+msgstr ""
+"Käytä --debug -valitsinta nähdäksesi yksityiskohdat käyttötavan etsinnästä.\n"
+
+#: hwclock/kd.c:53
+#, c-format
+msgid "Waiting in loop for time from KDGHWCLK to change\n"
+msgstr "Odotetaan silmukassa KDGHWCLK-ajan muuttumista\n"
+
+#: hwclock/kd.c:56
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr "ajan lukeva KDGHWCLK-ioctl epäonnistui"
+
+#: hwclock/kd.c:77 hwclock/rtc.c:221
+#, c-format
+msgid "Timed out waiting for time change.\n"
+msgstr "Aikakatkaisu odotettaessa ajan muutosta.\n"
+
+#: hwclock/kd.c:81
+msgid "KDGHWCLK ioctl to read time failed in loop"
+msgstr "ajan lukeva KDGHWCLK-ioctl epäonnistui silmukassa"
+
+#: hwclock/kd.c:103
+#, c-format
+msgid "ioctl() failed to read time from %s"
+msgstr "ioctl() ei onnistunut lukemaan aikaa kohteesta %s"
+
+#: hwclock/kd.c:139
+msgid "ioctl KDSHWCLK failed"
+msgstr "ioctl KDSHWCLK epäonnistui"
+
+#: hwclock/kd.c:175
+msgid "Can't open /dev/tty1 or /dev/vc/1"
+msgstr "Laitetta /dev/tty1 tai /dev/vc/1 ei voi avata"
+
+#: hwclock/kd.c:179
+msgid "KDGHWCLK ioctl failed"
+msgstr "KDGHWCLK-ioctl epäonnistui"
+
+#: hwclock/rtc.c:147 hwclock/rtc.c:241
+#, c-format
+msgid "open() of %s failed"
+msgstr "tiedoston %s avaaminen epäonnistui"
+
+#: hwclock/rtc.c:181
+#, c-format
+msgid "ioctl() to %s to read the time failed.\n"
+msgstr "aikaa lukeva ioctl() laitteelle %s epäonnistui.\n"
+
+#: hwclock/rtc.c:203
+#, c-format
+msgid "Waiting in loop for time from %s to change\n"
+msgstr "Odotetaan silmukassa laitteen %s ajan muuttumista\n"
+
+#: hwclock/rtc.c:259
+#, c-format
+msgid "%s does not have interrupt functions. "
+msgstr "laitteella %s ei ole keskeytysfunktioita. "
+
+#: hwclock/rtc.c:270
+#, c-format
+msgid "read() to %s to wait for clock tick failed"
+msgstr "kellon tikitystä odottava read()-kutsu laitteelle %s epäonnistui"
+
+#: hwclock/rtc.c:288
+#, c-format
+msgid "select() to %s to wait for clock tick failed"
+msgstr "kellon tikitystä odottava select()-kutsu laitteelle %s epäonnistui"
+
+#: hwclock/rtc.c:291
+#, c-format
+msgid "select() to %s to wait for clock tick timed out\n"
+msgstr ""
+"kellon tikitystä odottava select()-kutsu laitteelle %s aikakatkaistiin\n"
+
+#: hwclock/rtc.c:300
+#, c-format
+msgid "ioctl() to %s to turn off update interrupts failed"
+msgstr "päivityskeskeytykset lopettava ioctl() laitteelle %s epäonnistui"
+
+#: hwclock/rtc.c:303
+#, c-format
+msgid "ioctl() to %s to turn on update interrupts failed unexpectedly"
+msgstr ""
+"päivityskeskeytykset aloittava ioctl() laitteelle %s epäonnistui "
+"odottamattomasti"
+
+#: hwclock/rtc.c:360
+#, c-format
+msgid "ioctl() to %s to set the time failed.\n"
+msgstr "ajan asettava ioctl() laitteelle %s epäonnistui.\n"
+
+#: hwclock/rtc.c:366
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr "ioctl(%s) onnistui.\n"
+
+#: hwclock/rtc.c:392
+#, c-format
+msgid "Open of %s failed"
+msgstr "Tiedoston %s avaaminen epäonnistui"
+
+#: hwclock/rtc.c:410 hwclock/rtc.c:454
+#, 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.\n"
+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"
+
+#: hwclock/rtc.c:415 hwclock/rtc.c:459
+#, c-format
+msgid "Unable to open %s"
+msgstr "Laitetta %s ei voi avata"
+
+#: hwclock/rtc.c:422
+#, c-format
+msgid "ioctl(RTC_EPOCH_READ) to %s failed"
+msgstr "ioctl(RTC_EPOCH_READ) laitteelle %s epäonnistui"
+
+#: hwclock/rtc.c:427
+#, 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"
+
+#: hwclock/rtc.c:446
+#, c-format
+msgid "The epoch value may not be less than 1900.  You requested %ld\n"
+msgstr "Epoch-arvo ei voi olla pienempi kuin 1900. Pyyntö oli %ld\n"
+
+#: hwclock/rtc.c:464
+#, 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"
+
+#: hwclock/rtc.c:469
+#, c-format
+msgid ""
+"The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl.\n"
+msgstr "Ytimen laiteajurissa laitteelle %s ei ole ioctl:ää RTC_EPOCH_SET.\n"
+
+#: hwclock/rtc.c:472
+#, c-format
+msgid "ioctl(RTC_EPOCH_SET) to %s failed"
+msgstr "ioctl(RTC_EPOCH_SET) laitteelle %s epäonnistui"
+
+#: login-utils/agetty.c:361
+#, c-format
+msgid "%s: can't exec %s: %m"
+msgstr "%s: ohjelmaa %s ei voi käynnistää: %m"
+
+#: login-utils/agetty.c:384
+msgid "can't malloc initstring"
+msgstr "alustuskomennoille ei voi varata muistia"
+
+#: login-utils/agetty.c:449
+#, c-format
+msgid "bad timeout value: %s"
+msgstr "virheellinen aikakatkaisuarvo: %s"
+
+#: login-utils/agetty.c:526
+#, c-format
+msgid "bad speed: %s"
+msgstr "virheellinen nopeus: %s"
+
+#: login-utils/agetty.c:528
+msgid "too many alternate speeds"
+msgstr "liian monta vaihtoehtoista nopeutta"
+
+#: login-utils/agetty.c:630
+#, c-format
+msgid "/dev: chdir() failed: %m"
+msgstr "/dev: chdir() epäonnistui: %m"
+
+#: login-utils/agetty.c:634
+#, c-format
+msgid "/dev/%s: not a character device"
+msgstr "/dev/%s: ei ole merkkilaite"
+
+#: login-utils/agetty.c:643
+#, c-format
+msgid "/dev/%s: cannot open as standard input: %m"
+msgstr "/dev/%s: ei voi avata vakiosyötteenä: %m"
+
+#: login-utils/agetty.c:653
+#, c-format
+msgid "%s: not open for read/write"
+msgstr "%s: ei ole avoin lukua/kirjoitusta varten"
+
+#: login-utils/agetty.c:659
+#, c-format
+msgid "%s: dup problem: %m"
+msgstr "%s: ongelma tiedostokahvan kopioinnissa: %m"
+
+#: login-utils/agetty.c:946
+#, c-format
+msgid "user"
+msgstr "käyttäjä"
+
+#: login-utils/agetty.c:946
+#, c-format
+msgid "users"
+msgstr "käyttäjää"
+
+#: login-utils/agetty.c:1031
+#, c-format
+msgid "%s: read: %m"
+msgstr "%s: luku: %m"
+
+#: login-utils/agetty.c:1078
+#, c-format
+msgid "%s: input overrun"
+msgstr "%s: syötteen ylivuoto"
+
+#: login-utils/agetty.c:1207
+#, c-format
+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 ""
+"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"
+
+#: login-utils/checktty.c:91 login-utils/checktty.c:112
+#, c-format
+msgid "login: memory low, login may fail\n"
+msgstr "login: muisti vähissä, kirjautuminen voi epäonnistua\n"
+
+#: login-utils/checktty.c:92
+msgid "can't malloc for ttyclass"
+msgstr "kohteelle ttyclass ei voi varata muistia"
+
+#: login-utils/checktty.c:113
+msgid "can't malloc for grplist"
+msgstr "kohteelle grplist ei voi varata muistia"
+
+#: login-utils/checktty.c:554
+#, c-format
+msgid "Login on %s from %s denied by default.\n"
+msgstr "Kirjautuminen päätteelle %s osoitteesta %s evätty oletuksena.\n"
+
+#: login-utils/checktty.c:565
+#, c-format
+msgid "Login on %s from %s denied.\n"
+msgstr "Kirjautuminen päätteelle %s osoitteesta %s evätty.\n"
+
+#: login-utils/chfn.c:133 login-utils/chsh.c:119
+#, c-format
+msgid "%s: you (user %d) don't exist.\n"
+msgstr "%s: sinua (käyttäjä %d) ei ole olemassa.\n"
+
+#: login-utils/chfn.c:140 login-utils/chsh.c:126
+#, c-format
+msgid "%s: user \"%s\" does not exist.\n"
+msgstr "%s: käyttäjä ”%s” ei ole olemassa.\n"
+
+#: login-utils/chfn.c:145 login-utils/chsh.c:131
+#, c-format
+msgid "%s: can only change local entries; use yp%s instead.\n"
+msgstr ""
+"%s: vain paikallisia merkintöjä voi muuttaa; käytä sen sijaan komentoa yp%"
+"s.\n"
+
+#: login-utils/chfn.c:156 login-utils/chsh.c:142
+msgid "Unknown user context"
+msgstr "Tuntematon käyttäjäympäristö"
+
+#: login-utils/chfn.c:157
+#, c-format
+msgid "%s: %s is not authorized to change the finger info of %s\n"
+msgstr ""
+"%s: käyttäjällä %s ei ole valtuutusta muuttaa käyttäjän %s finger-tietoja\n"
+
+#: login-utils/chfn.c:164 login-utils/chsh.c:150
+#, c-format
+msgid "%s: Can't set default context for /etc/passwd"
+msgstr "%s: Tiedoston /etc/passwd oletusympäristöä ei voi asettaa"
+
+#: login-utils/chfn.c:178
+#, c-format
+msgid "Changing finger information for %s.\n"
+msgstr "Vaihdetaan käyttäjän %s finger-tiedot.\n"
+
+#: login-utils/chfn.c:189 login-utils/chsh.c:188 login-utils/login.c:572
+#, c-format
+msgid "%s: PAM failure, aborting: %s\n"
+msgstr "%s: PAM-virhe, keskeytetään: %s\n"
+
+#: login-utils/chfn.c:212 login-utils/chsh.c:211 login-utils/login.c:823
+#: login-utils/newgrp.c:85 login-utils/simpleinit.c:340 mount/lomount.c:744
+#: mount/lomount.c:747
+msgid "Password: "
+msgstr "Salasana: "
+
+#: login-utils/chfn.c:215 login-utils/chsh.c:214
+msgid "Incorrect password."
+msgstr "Väärä salasana."
+
+#: login-utils/chfn.c:226
+#, c-format
+msgid "Finger information not changed.\n"
+msgstr "Finger-tietoja ei muutettu.\n"
+
+#: login-utils/chfn.c:328
+#, c-format
+msgid "Usage: %s [ -f full-name ] [ -o office ] "
+msgstr "Käyttö: %s [ -f kokonimi ] [ -o toimisto ] "
+
+#: login-utils/chfn.c:329
+#, c-format
+msgid ""
+"[ -p office-phone ]\n"
+"\t[ -h home-phone ] "
+msgstr ""
+"[ -p toimistopuhelin ]\n"
+"\t[ -h kotipuhelin ]"
+
+#: login-utils/chfn.c:330
+#, c-format
+msgid "[ --help ] [ --version ]\n"
+msgstr "[ --help ] [ --version ]\n"
+
+#: login-utils/chfn.c:378
+msgid "Office"
+msgstr ""
+
+#: login-utils/chfn.c:379
+msgid "Office Phone"
+msgstr ""
+
+#: login-utils/chfn.c:380
+msgid "Home Phone"
+msgstr ""
+
+#: login-utils/chfn.c:401 login-utils/chsh.c:321
+#, c-format
+msgid ""
+"\n"
+"Aborted.\n"
+msgstr ""
+"\n"
+"Keskeytetty.\n"
+
+#: login-utils/chfn.c:434
+#, c-format
+msgid "field is too long.\n"
+msgstr "kenttä on liian pitkä.\n"
+
+#: login-utils/chfn.c:442
+#, c-format
+msgid "'%c' is not allowed.\n"
+msgstr "merkki ”%c” ei ole sallittu.\n"
+
+#: login-utils/chfn.c:447
+#, c-format
+msgid "Control characters are not allowed.\n"
+msgstr "Ohjausmerkkejä ei sallita.\n"
+
+#: login-utils/chfn.c:512
+#, 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:515
+#, c-format
+msgid "Finger information changed.\n"
+msgstr "Finger-tietoja muutettiin.\n"
+
+#: login-utils/chsh.c:143
+#, c-format
+msgid "%s: %s is not authorized to change the shell of %s\n"
+msgstr "%s: käyttäjällä %s ei ole valtuutusta vaihtaa käyttäjän %s kuorta\n"
+
+#: login-utils/chsh.c:164
+#, c-format
+msgid ""
+"%s: Running UID doesn't match UID of user we're altering, shell change "
+"denied\n"
+msgstr ""
+"%s: Vallitseva UID ei täsmää muutettavan käyttäjän UID:hen, kuoren vaihto "
+"estetty\n"
+
+#: login-utils/chsh.c:170
+#, c-format
+msgid "%s: Your shell is not in /etc/shells, shell change denied\n"
+msgstr "%s: Kuori ei ole tiedostossa /etc/shells, kuoren vaihto evätty\n"
+
+#: login-utils/chsh.c:177
+#, c-format
+msgid "Changing shell for %s.\n"
+msgstr "Vaihdetaan käyttäjän %s kuori.\n"
+
+#: login-utils/chsh.c:222
+msgid "New shell"
+msgstr "Uusi kuori"
+
+#: login-utils/chsh.c:229
+#, c-format
+msgid "Shell not changed.\n"
+msgstr "Kuorta ei vaihdettu.\n"
+
+#: login-utils/chsh.c:235
+#, c-format
+msgid "Shell *NOT* changed.  Try again later.\n"
+msgstr "Kuorta *EI* vaihdettu. Yritä myöhemmin uudelleen.\n"
+
+#: login-utils/chsh.c:238
+#, c-format
+msgid "Shell changed.\n"
+msgstr "Kuori vaihdettu.\n"
+
+#: login-utils/chsh.c:303
+#, c-format
+msgid ""
+"Usage: %s [ -s shell ] [ --list-shells ] [ --help ] [ --version ]\n"
+"       [ username ]\n"
+msgstr ""
+"Käyttö: %s [ -s kuori ] [ --list-shells ] [ --help ] [ --version ]\n"
+"       [ käyttäjätunnus ]\n"
+
+#: login-utils/chsh.c:349
+#, c-format
+msgid "%s: shell must be a full path name.\n"
+msgstr "%s: kuori on annettava polkuineen.\n"
+
+#: login-utils/chsh.c:353
+#, c-format
+msgid "%s: \"%s\" does not exist.\n"
+msgstr "%s: ”%s” ei ole olemassa.\n"
+
+#: login-utils/chsh.c:357
+#, c-format
+msgid "%s: \"%s\" is not executable.\n"
+msgstr "%s: ”%s” ei ole käynnistettävä.\n"
+
+#: login-utils/chsh.c:364
+#, c-format
+msgid "%s: '%c' is not allowed.\n"
+msgstr "%s: merkkiä ”%c” ei sallita.\n"
+
+#: login-utils/chsh.c:368
+#, c-format
+msgid "%s: Control characters are not allowed.\n"
+msgstr "%s: Ohjausmerkkejä ei sallita.\n"
+
+#: login-utils/chsh.c:375 login-utils/chsh.c:385
+#, c-format
+msgid "Warning: \"%s\" is not listed in /etc/shells.\n"
+msgstr "Varoitus: ”%s” ei ole listattu tiedostossa /etc/shells.\n"
+
+#: login-utils/chsh.c:377
+#, c-format
+msgid "%s: \"%s\" is not listed in /etc/shells.\n"
+msgstr "%s: ”%s” ei ole listattuna tiedostossa /etc/shells.\n"
+
+#: login-utils/chsh.c:379
+#, c-format
+msgid "%s: Use -l option to see list.\n"
+msgstr "%s: Valitsin -l näyttää listan.\n"
+
+#: login-utils/chsh.c:386
+#, c-format
+msgid "Use %s -l to see list.\n"
+msgstr "Komento %s -l näyttää listan.\n"
+
+#: login-utils/chsh.c:406
+#, c-format
+msgid "No known shells.\n"
+msgstr "Ei tunnettuja kuoria.\n"
+
+#: login-utils/islocal.c:87
+#, c-format
+msgid "Failed to open %s for reading, exiting."
+msgstr "Tiedostoa %s ei voi avata lukua varten, poistutaan."
+
+#: login-utils/last.c:148
+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:284
+msgid "  still logged in"
+msgstr "  edelleen kirjautuneena"
+
+#: login-utils/last.c:306
+#, c-format
+msgid ""
+"\n"
+"wtmp begins %s"
+msgstr ""
+"\n"
+"wtmp alkaa %s"
+
+#: login-utils/last.c:362 login-utils/last.c:380 login-utils/last.c:431
+msgid "last: malloc failure.\n"
+msgstr "last: malloc-virhe.\n"
+
+#: login-utils/last.c:407
+msgid "last: gethostname"
+msgstr "last: gethostname"
+
+#: login-utils/last.c:456
+#, c-format
+msgid ""
+"\n"
+"interrupted %10.10s %5.5s \n"
+msgstr ""
+"\n"
+"keskeytetty %10.10s %5.5s \n"
+
+#: login-utils/login.c:197
+#, c-format
+msgid "FATAL: can't reopen tty: %s"
+msgstr "VAKAVAA: päätettä ei voi avata uudelleen: %s"
+
+#: login-utils/login.c:229
+msgid "FATAL: bad tty"
+msgstr "VAKAVAA: virheellinen pääte"
+
+#: login-utils/login.c:436
+#, 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:479
+#, c-format
+msgid "usage: login [-fp] [username]\n"
+msgstr "käyttö: login [-fp] [käyttäjänimi]\n"
+
+#: login-utils/login.c:574
+#, c-format
+msgid "Couldn't initialize PAM: %s"
+msgstr "PAMia ei voitu alustaa: %s"
+
+#: login-utils/login.c:591
+msgid "login: "
+msgstr "tunnus: "
+
+#: login-utils/login.c:635
+#, c-format
+msgid "FAILED LOGIN %d 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:640
+#, c-format
+msgid ""
+"Login incorrect\n"
+"\n"
+msgstr ""
+"Kirjautuminen epäonnistui\n"
+"\n"
+
+#: login-utils/login.c:649
+#, c-format
+msgid "TOO MANY LOGIN TRIES (%d) 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:653
+#, 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:658
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+"\n"
+"Kirjautuminen epäonnistui\n"
+
+#: login-utils/login.c:686 login-utils/login.c:693 login-utils/login.c:727
+#, c-format
+msgid ""
+"\n"
+"Session setup problem, abort.\n"
+msgstr ""
+"\n"
+"Istunnon aloitusongelma, keskeytys.\n"
+
+#: login-utils/login.c:687
+#, 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:694
+#, 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:713
+#, c-format
+msgid "login: Out of memory\n"
+msgstr "login: Muisti lopussa\n"
+
+#: login-utils/login.c:757
+msgid "Illegal username"
+msgstr "Virheellinen käyttäjänimi"
+
+#: login-utils/login.c:800
+#, c-format
+msgid "%s login refused on this terminal.\n"
+msgstr "Käyttäjän %s kirjautuminen hylätty tällä päätteellä.\n"
+
+#: login-utils/login.c:805
+#, c-format
+msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
+msgstr "KÄYTTÄJÄN %s KIRJAUTUMINEN HYLÄTTIIN OSOITTEESTA %s, PÄÄTTEELLÄ %s"
+
+#: login-utils/login.c:809
+#, c-format
+msgid "LOGIN %s REFUSED ON TTY %s"
+msgstr "KÄYTTÄJÄN %s KIRJAUTUMINEN HYLÄTTIIN PÄÄTTEELLÄ %s"
+
+#: login-utils/login.c:863
+#, c-format
+msgid "Login incorrect\n"
+msgstr "Virheellinen kirjautuminen\n"
+
+#: login-utils/login.c:1088
+#, c-format
+msgid "DIALUP AT %s BY %s"
+msgstr "KÄYTTÄJÄN %2$s MODEEMIYHTEYS PÄÄTTEELLÄ %1$s"
+
+#: login-utils/login.c:1095
+#, 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:1098
+#, c-format
+msgid "ROOT LOGIN ON %s"
+msgstr "PÄÄKÄYTTÄJÄN KIRJAUTUMINEN PÄÄTTEELLÄ %s"
+
+#: login-utils/login.c:1101
+#, 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:1104
+#, c-format
+msgid "LOGIN ON %s BY %s"
+msgstr "KÄYTTÄJÄN %2$s KIRJAUTUMINEN PÄÄTTEELLÄ %1$s"
+
+#: login-utils/login.c:1125
+#, c-format
+msgid "You have new mail.\n"
+msgstr "Sinulle on uutta postia.\n"
+
+#: login-utils/login.c:1127
+#, c-format
+msgid "You have mail.\n"
+msgstr "Sinulle on postia.\n"
+
+#: login-utils/login.c:1171
+#, c-format
+msgid "login: failure forking: %s"
+msgstr "login: virhe haarautettaessa: %s"
+
+#: login-utils/login.c:1218
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr "TIOCSCTTY epäonnistui: %m"
+
+#: login-utils/login.c:1224
+msgid "setuid() failed"
+msgstr "setuid() epäonnistui"
+
+#: login-utils/login.c:1230
+#, c-format
+msgid "No directory %s!\n"
+msgstr "Ei hakemistoa %s!\n"
+
+#: login-utils/login.c:1234
+#, c-format
+msgid "Logging in with home = \"/\".\n"
+msgstr "Kirjaudutaan käyttäen kotihakemistona ”/”.\n"
+
+#: login-utils/login.c:1242
+#, c-format
+msgid "login: no memory for shell script.\n"
+msgstr "login: ei muistia kuoriskriptille.\n"
+
+#: login-utils/login.c:1269
+#, c-format
+msgid "login: couldn't exec shell script: %s.\n"
+msgstr "login: kuoriskriptiä ei voitu käynnistää: %s.\n"
+
+#: login-utils/login.c:1272
+#, c-format
+msgid "login: no shell: %s.\n"
+msgstr "login: ei kuorta: %s.\n"
+
+#: login-utils/login.c:1287
+#, c-format
+msgid ""
+"\n"
+"%s login: "
+msgstr ""
+"\n"
+"%s, kirjautuminen: "
+
+#: login-utils/login.c:1298
+#, c-format
+msgid "login name much too long.\n"
+msgstr "tunnus aivan liian pitkä.\n"
+
+#: login-utils/login.c:1299
+msgid "NAME too long"
+msgstr "NIMI liian pitkä"
+
+#: login-utils/login.c:1306
+#, c-format
+msgid "login names may not start with '-'.\n"
+msgstr "tunnukset eivät voi alkaa merkillä ”-”.\n"
+
+#: login-utils/login.c:1316
+#, c-format
+msgid "too many bare linefeeds.\n"
+msgstr "liian monta peräkkäistä rivinvaihtoa.\n"
+
+#: login-utils/login.c:1317
+msgid "EXCESSIVE linefeeds"
+msgstr "LIIKAA rivinvaihtoja"
+
+#: login-utils/login.c:1349
+#, c-format
+msgid "Login timed out after %d seconds\n"
+msgstr "Kirjautuminen aikakatkaistiin %d sekunnin jälkeen\n"
+
+#: login-utils/login.c:1437
+#, c-format
+msgid "Last login: %.*s "
+msgstr "Edellinen kirjautuminen: %.*s"
+
+#: login-utils/login.c:1441
+#, c-format
+msgid "from %.*s\n"
+msgstr "osoitteesta %.*s\n"
+
+#: login-utils/login.c:1444
+#, c-format
+msgid "on %.*s\n"
+msgstr "päätteeltä %.*s\n"
+
+#: login-utils/login.c:1470
+#, c-format
+msgid "LOGIN FAILURE FROM %s, %s"
+msgstr "EPÄONNISTUNUT KIRJAUTUMINEN OSOITTEESTA %s, %s"
+
+#: login-utils/login.c:1473
+#, c-format
+msgid "LOGIN FAILURE ON %s, %s"
+msgstr "EPÄONNISTUNUT KIRJAUTUMINEN PÄÄTTEELTÄ %s, %s"
+
+#: login-utils/login.c:1477
+#, c-format
+msgid "%d LOGIN FAILURES FROM %s, %s"
+msgstr "%d EPÄONNISTUNUTTA KIRJAUTUMISTA OSOITTEESTA %s, %s"
+
+#: login-utils/login.c:1480
+#, c-format
+msgid "%d LOGIN FAILURES ON %s, %s"
+msgstr "%d EPÄONNISTUNUTTA KIRJAUTUMISTA PÄÄTTEELTÄ %s, %s"
+
+#: login-utils/mesg.c:89
+#, c-format
+msgid "is y\n"
+msgstr "on y\n"
+
+#: login-utils/mesg.c:92
+#, c-format
+msgid "is n\n"
+msgstr "on n\n"
+
+#: login-utils/mesg.c:112
+#, c-format
+msgid "usage: mesg [y | n]\n"
+msgstr "käyttö: mesg [y | n]\n"
+
+#: login-utils/newgrp.c:105
+msgid "newgrp: Who are you?"
+msgstr "newgrp: Kuka sinä olet?"
+
+#: login-utils/newgrp.c:113 login-utils/newgrp.c:127
+msgid "newgrp: setgid"
+msgstr "newgrp: setgid"
+
+#: login-utils/newgrp.c:120 login-utils/newgrp.c:122
+msgid "newgrp: No such group."
+msgstr "newgrp: Ryhmää ei ole."
+
+#: login-utils/newgrp.c:131
+msgid "newgrp: Permission denied"
+msgstr "newgrp: Lupa evätty"
+
+#: login-utils/newgrp.c:138
+msgid "newgrp: setuid"
+msgstr "newgrp: setuid"
+
+#: login-utils/newgrp.c:144
+msgid "No shell"
+msgstr "Ei kuorta"
+
+#: login-utils/shutdown.c:115
+#, c-format
+msgid "Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+msgstr "Käyttö: shutdown [-h|-r] [-fqs] [now|hh:mm|+minuutit]\n"
+
+#: login-utils/shutdown.c:133
+msgid "Shutdown process aborted"
+msgstr "Sammutustoiminto keskeytetty"
+
+#: login-utils/shutdown.c:164
+#, c-format
+msgid "%s: Only root can shut a system down.\n"
+msgstr "%s: Vain root voi sammuttaa järjestelmän.\n"
+
+#: login-utils/shutdown.c:258
+#, c-format
+msgid "That must be tomorrow, can't you wait till then?\n"
+msgstr "Tuon täytyy olla huomenna, etkö voi odottaa siihen asti?\n"
+
+#: login-utils/shutdown.c:309
+msgid "for maintenance; bounce, bounce"
+msgstr "ylläpitoa varten; mars, mars"
+
+#: login-utils/shutdown.c:338
+msgid "The system is being shut down within 5 minutes"
+msgstr "Järjestelmä sammutetaan 5 minuutin kuluttua"
+
+#: login-utils/shutdown.c:342
+msgid "Login is therefore prohibited."
+msgstr "Kirjautuminen on sen vuoksi estetty"
+
+#: login-utils/shutdown.c:364
+#, c-format
+msgid "rebooted by %s: %s"
+msgstr "uudelleenkäynnisti %s: %s"
+
+#: login-utils/shutdown.c:367
+#, c-format
+msgid "halted by %s: %s"
+msgstr "sammutti %s: %s"
+
+#: login-utils/shutdown.c:431
+msgid ""
+"\n"
+"Why am I still alive after reboot?"
+msgstr ""
+"\n"
+"Miksi olen edelleen elossa uudelleenkäynnistyksen jälkeen?"
+
+#: login-utils/shutdown.c:433
+msgid ""
+"\n"
+"Now you can turn off the power..."
+msgstr ""
+"\n"
+"Virran voi nyt katkaista..."
+
+#: login-utils/shutdown.c:449
+#, c-format
+msgid "Calling kernel power-off facility...\n"
+msgstr "Kutsutaan ytimen virrankatkaisutoimintoa...\n"
+
+#: login-utils/shutdown.c:452
+#, c-format
+msgid "Error powering off\t%s\n"
+msgstr "Virhe virrankatkaisussa\t%s\n"
+
+#: login-utils/shutdown.c:460
+#, c-format
+msgid "Executing the program \"%s\" ...\n"
+msgstr "Käynnistetään ohjelma ”%s”...\n"
+
+#: login-utils/shutdown.c:463
+#, c-format
+msgid "Error executing\t%s\n"
+msgstr "Virhe käynnistettäessä\t%s\n"
+
+#: login-utils/shutdown.c:490
+#, c-format
+msgid "URGENT: broadcast message from %s:"
+msgstr "KIIREELLISTÄ: yleislähetysviesti käyttäjältä %s:"
+
+#: login-utils/shutdown.c:496
+#, c-format
+msgid "System going down in %d hours %d minutes"
+msgstr "Järjestelmä sammuu %d tunnin, %d minuutin kuluttua"
+
+#: login-utils/shutdown.c:499
+#, c-format
+msgid "System going down in 1 hour %d minutes"
+msgstr "Järjestelmä sammuu 1 tunnin ja %d minuutin kuluttua"
+
+#: login-utils/shutdown.c:502
+#, c-format
+msgid "System going down in %d minutes\n"
+msgstr "Järjestelmä sammuu %d minuutin kuluttua\n"
+
+#: login-utils/shutdown.c:505
+#, c-format
+msgid "System going down in 1 minute\n"
+msgstr "Järjestelmä sammuu 1 minuutin kuluttua\n"
+
+#: login-utils/shutdown.c:507
+#, c-format
+msgid "System going down IMMEDIATELY!\n"
+msgstr "Järjestelmä sammuu VÄLITTÖMÄSTI!\n"
+
+#: login-utils/shutdown.c:512
+#, c-format
+msgid "\t... %s ...\n"
+msgstr "\t... %s ...\n"
+
+#: login-utils/shutdown.c:569
+msgid "Cannot fork for swapoff. Shrug!"
+msgstr "Haarauttaminen komentoa swapoff varten ei onnistu. Aivan sama!"
+
+#: login-utils/shutdown.c:577
+msgid "Cannot exec swapoff, hoping umount will do the trick."
+msgstr "Komentoa swapoff ei voi käynnistää, toivottavasti umount hoitaa asian."
+
+#: login-utils/shutdown.c:596
+msgid "Cannot fork for umount, trying manually."
+msgstr ""
+"Haarauttaminen komentoa umount varten ei onnistu, yritetään manuaalisesti."
+
+#: login-utils/shutdown.c:605
+#, c-format
+msgid "Cannot exec %s, trying umount.\n"
+msgstr "Ohjelmaa %s ei voi käynnistää, yritetään käynnistää umount.\n"
+
+#: login-utils/shutdown.c:609
+msgid "Cannot exec umount, giving up on umount."
+msgstr "Ohjelmaa umount ei voi käynnistää, luovutaan irrotusyrityksestä."
+
+#: login-utils/shutdown.c:614
+msgid "Unmounting any remaining filesystems..."
+msgstr "Irrotetaan jäljellä olevat tiedostojärjestelmät..."
+
+#: login-utils/shutdown.c:661
+#, c-format
+msgid "shutdown: Couldn't umount %s: %s\n"
+msgstr "shutdown: Laitetta %s ei voitu irrottaa: %s\n"
+
+#: login-utils/simpleinit.c:132
+msgid "Booting to single user mode.\n"
+msgstr "Käynnistetään yhden käyttäjän tilaan.\n"
+
+#: login-utils/simpleinit.c:136
+msgid "exec of single user shell failed\n"
+msgstr "yhden käyttäjän tilan kuoren käynnistys epäonnistui\n"
+
+#: login-utils/simpleinit.c:140
+msgid "fork of single user shell failed\n"
+msgstr "yhden käyttäjän tilan kuoren haarauttaminen epäonnistui\n"
+
+#: login-utils/simpleinit.c:208
+msgid "error opening fifo\n"
+msgstr "virhe avattaessa fifoa\n"
+
+#: login-utils/simpleinit.c:212
+msgid "error setting close-on-exec on /dev/initctl"
+msgstr "virhe asetettaessa ”close-on-exec” laitteelle /dev/initctl"
+
+#: login-utils/simpleinit.c:259
+msgid "error running finalprog\n"
+msgstr "virhe ajettaessa finalprogia\n"
+
+#: login-utils/simpleinit.c:263
+msgid "error forking finalprog\n"
+msgstr "virhe haarautettaessa finalprogia\n"
+
+#: login-utils/simpleinit.c:345
+msgid ""
+"\n"
+"Wrong password.\n"
+msgstr ""
+"\n"
+"Väärä salasana.\n"
+
+#: login-utils/simpleinit.c:418
+msgid "lstat of path failed\n"
+msgstr "polun tilan lukeminen epäonnistui\n"
+
+#: login-utils/simpleinit.c:426
+msgid "stat of path failed\n"
+msgstr "polun tilan lukeminen epäonnistui\n"
+
+#: login-utils/simpleinit.c:434
+msgid "open of directory failed\n"
+msgstr "hakemiston avaaminen epäonnistui\n"
+
+#: login-utils/simpleinit.c:501
+#, c-format
+msgid "respawning: \"%s\" too fast: quenching entry\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:509
+msgid "fork failed\n"
+msgstr "haarauttaminen epäonnistui\n"
+
+#: login-utils/simpleinit.c:540 text-utils/more.c:1629
+msgid "exec failed\n"
+msgstr "käynnistys epäonnistui\n"
+
+#: login-utils/simpleinit.c:564
+msgid "cannot open inittab\n"
+msgstr "tiedostoa inittab ei voi avata\n"
+
+#: login-utils/simpleinit.c:631
+msgid "no TERM or cannot stat tty\n"
+msgstr "TERM-muuttujaa ei ole tai päätteen tilaa ei voi lukea\n"
+
+#: login-utils/simpleinit.c:938
+#, c-format
+msgid "error stopping service: \"%s\"\n"
+msgstr "virhe pysäytettäessä palvelua: ”%s”\n"
+
+#: login-utils/simpleinit.c:950
+#, c-format
+msgid "Stopped service: %s\n"
+msgstr "Pysäytetään palvelua: ”%s”\n"
+
+#: login-utils/simpleinit.c:1070
+#, c-format
+msgid "error running programme: \"%s\"\n"
+msgstr "Virhe ajettaessa ohjelmaa: ”%s”\n"
+
+#: login-utils/ttymsg.c:75
+msgid "too many iov's (change code in wall/ttymsg.c)"
+msgstr "liian monta iov:tä (muuta koodia tiedostossa wall/ttymsg.c)"
+
+#: login-utils/ttymsg.c:85
+#, c-format
+msgid "excessively long line arg"
+msgstr "liian pitkä riviargumentti"
+
+#: login-utils/ttymsg.c:140
+#, c-format
+msgid "cannot fork"
+msgstr "haarauttaminen ei onnistu"
+
+#: login-utils/ttymsg.c:144
+#, c-format
+msgid "fork: %s"
+msgstr "fork: %s"
+
+#: login-utils/ttymsg.c:174
+#, c-format
+msgid "%s: BAD ERROR"
+msgstr "%s: VIRHEELLINEN VIRHE"
+
+#: login-utils/vipw.c:143
+#, c-format
+msgid "%s: the password file is busy.\n"
+msgstr "%s: salasanatiedosto on varattu.\n"
+
+#: login-utils/vipw.c:146
+#, c-format
+msgid "%s: the group file is busy.\n"
+msgstr "%s: ryhmätiedosto on varattu.\n"
+
+#: login-utils/vipw.c:162
+#, c-format
+msgid "%s: the %s file is busy (%s present)\n"
+msgstr "%s: tiedosto %s on varattu (%s on olemassa)\n"
+
+#: login-utils/vipw.c:168
+#, c-format
+msgid "%s: can't link %s: %s\n"
+msgstr "%s: tiedostoa %s ei voi linkittää: %s\n"
+
+#: login-utils/vipw.c:202
+#, c-format
+msgid "%s: Can't get context for %s"
+msgstr "%s: Tiedoston %s ympäristöä ei voi hakea"
+
+#: login-utils/vipw.c:208
+#, c-format
+msgid "%s: Can't set context for %s"
+msgstr "%s: Tiedoston %s ympäristöä ei voi asettaa"
+
+#: login-utils/vipw.c:217
+#, c-format
+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"
+
+#: login-utils/vipw.c:240
+#, c-format
+msgid "%s: Cannot fork\n"
+msgstr "%s: Haarauttaminen ei onnistu\n"
+
+#: login-utils/vipw.c:276
+#, c-format
+msgid "%s: %s unchanged\n"
+msgstr "%s: %s muuttumaton\n"
+
+#: login-utils/vipw.c:297
+#, c-format
+msgid "%s: no changes made\n"
+msgstr "%s: muutoksia ei tehty\n"
+
+#: login-utils/vipw.c:350
+#, 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:351
+#, c-format
+msgid "You are using shadow passwords on this system.\n"
+msgstr "Tässä järjestelmässä käytetään varjosalasanoja.\n"
+
+#: login-utils/vipw.c:352
+#, c-format
+msgid "Would you like to edit %s now [y/n]? "
+msgstr "Haluatko muokata tiedostoa %s nyt [y/n]? "
+
+#: login-utils/wall.c:112
+#, c-format
+msgid "usage: %s [file]\n"
+msgstr "käyttö: %s [tiedosto]\n"
+
+#: login-utils/wall.c:167
+#, c-format
+msgid "%s: can't open temporary file.\n"
+msgstr "%s: väliaikaistiedostoa ei voi avata.\n"
+
+#: login-utils/wall.c:194
+#, c-format
+msgid "Broadcast Message from %s@%s"
+msgstr "Yleislähetysviesti käyttäjältä %s@%s"
+
+#: login-utils/wall.c:212
+#, c-format
+msgid "%s: will not read %s - use stdin.\n"
+msgstr "%s: ei lueta tiedostoa %s – käytä vakiosyötettä.\n"
+
+#: login-utils/wall.c:217
+#, c-format
+msgid "%s: can't read %s.\n"
+msgstr "%s: tiedostoa %s ei voi lukea.\n"
+
+#: login-utils/wall.c:240
+#, c-format
+msgid "%s: can't stat temporary file.\n"
+msgstr "%s: väliaikaistiedoston tilaa ei voi lukea.\n"
+
+#: login-utils/wall.c:250
+#, c-format
+msgid "%s: can't read temporary file.\n"
+msgstr "%s: väliaikaistiedostoa ei voi avata.\n"
+
+#: misc-utils/cal.c:362 misc-utils/cal.c:374
+#, c-format
+msgid "illegal day value: use 1-%d"
+msgstr "virheellinen päivän arvo: käytä 1-%d"
+
+#: misc-utils/cal.c:366
+msgid "illegal month value: use 1-12"
+msgstr "virheellinen kuukauden arvo: käytä 1-12"
+
+#: misc-utils/cal.c:370
+msgid "illegal year value: use 1-9999"
+msgstr "virheellinen vuoden arvo: käytä 1-9999"
+
+#: misc-utils/cal.c:464
+#, c-format
+msgid "%s %d"
+msgstr "%s %d"
+
+#: misc-utils/cal.c:856
+#, c-format
+msgid "usage: cal [-13smjyV] [[[day] month] year]\n"
+msgstr "käyttö: cal [-13smjyV] [[[päivä] kuukausi] vuosi]\n"
+
+#: misc-utils/ddate.c:203
+#, c-format
+msgid "usage: %s [+format] [day month year]\n"
+msgstr "käyttö: %s [+muoto] [päivä kuukausi vuosi]\n"
+
+#: misc-utils/ddate.c:250
+msgid "St. Tib's Day"
+msgstr "St. Tib's Day"
+
+#: misc-utils/findfs.c:24
+#, c-format
+msgid "Usage: %s LABEL=<label>|UUID=<uuid>\n"
+msgstr ""
+
+#: misc-utils/findfs.c:55
+#, fuzzy, c-format
+msgid "unable to resolve '%s'"
+msgstr "laitetta %s ei voi avata"
+
+#: misc-utils/kill.c:207
+#, c-format
+msgid "%s: unknown signal %s\n"
+msgstr "%s: tuntematon signaali %s\n"
+
+#: misc-utils/kill.c:270
+#, c-format
+msgid "%s: can't find process \"%s\"\n"
+msgstr "%s: prosessia ”%s” ei löydy\n"
+
+#: misc-utils/kill.c:314
+#, c-format
+msgid "%s: unknown signal %s; valid signals:\n"
+msgstr "%s: tuntematon signaali %s; kelvolliset signaalit:\n"
+
+#: misc-utils/kill.c:354
+#, 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:355
+#, c-format
+msgid "       %s -l [ signal ]\n"
+msgstr "       %s -l [ signaali ]\n"
+
+#: misc-utils/logger.c:67
+#, fuzzy, c-format
+msgid "logger: openlog: pathname too long\n"
+msgstr "tunnus aivan liian pitkä.\n"
+
+#: misc-utils/logger.c:75
+#, fuzzy, c-format
+msgid "socket: %s.\n"
+msgstr "LohkoKoko: %d\n"
+
+#: misc-utils/logger.c:80
+#, c-format
+msgid "connect: %s.\n"
+msgstr ""
+
+#: misc-utils/logger.c:139
+#, c-format
+msgid "logger: %s: %s.\n"
+msgstr "logger: %s: %s.\n"
+
+#: misc-utils/logger.c:246
+#, c-format
+msgid "logger: unknown facility name: %s.\n"
+msgstr "logger: tuntematon apuneuvon nimi: %s.\n"
+
+#: misc-utils/logger.c:258
+#, c-format
+msgid "logger: unknown priority name: %s.\n"
+msgstr "logger: tuntematon prioriteetin nimi: %s.\n"
+
+#: misc-utils/logger.c:285
+#, c-format
+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"
+
+#: misc-utils/look.c:351
+#, c-format
+msgid "usage: look [-dfa] [-t char] string [file]\n"
+msgstr "käyttö: look [-dfa] [-t merkki] merkkijono [tiedosto]\n"
+
+#: misc-utils/mcookie.c:105 misc-utils/mcookie.c:132
+#, c-format
+msgid "Could not open %s\n"
+msgstr "Tiedostoa %s ei voitu avata\n"
+
+#: misc-utils/mcookie.c:109 misc-utils/mcookie.c:128
+#, c-format
+msgid "Got %d bytes from %s\n"
+msgstr "Tiedostosta %2$s saatiin %1$d tavua\n"
+
+#: misc-utils/namei.c:144 misc-utils/namei.c:198 misc-utils/namei.c:220
+#: misc-utils/namei.c:227 misc-utils/namei.c:248
+msgid "out of memory?"
+msgstr "muisti lopussa?"
+
+#: misc-utils/namei.c:189
+#, fuzzy, c-format
+msgid "failed to read symlink: %s"
+msgstr "ioctl() ei onnistunut lukemaan aikaa kohteesta %s"
+
+#: misc-utils/namei.c:229
+#, fuzzy, c-format
+msgid "could not stat '%s'"
+msgstr "laitteen %s tilaa ei voi lukea"
+
+#: misc-utils/namei.c:411
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [options] pathname [pathname ...]\n"
+msgstr ""
+"\n"
+"Käyttö: %s [valitsimet] polku [polku ...]\n"
+
+#: misc-utils/namei.c:412
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"Valitsimet:\n"
+
+#: misc-utils/namei.c:415
+#, c-format
+msgid ""
+" -h, --help          displays this help text\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:423
+#, c-format
+msgid ""
+"\n"
+"For more information see namei(1).\n"
+msgstr ""
+"\n"
+"Lisätietoja manuaalisivulla namei(1).\n"
+
+#: misc-utils/namei.c:484
+#, fuzzy, c-format
+msgid "failed to stat: %s"
+msgstr "tiedoston %s tilaa ei voi lukea"
+
+#: misc-utils/namei.c:495
+#, c-format
+msgid "%s: exceeded limit of symlinks"
+msgstr ""
+
+#: misc-utils/rename.c:38
+#, c-format
+msgid "%s: out of memory\n"
+msgstr "%s: muisti lopussa\n"
+
+#: misc-utils/rename.c:56
+#, c-format
+msgid "%s: renaming %s to %s failed: %s\n"
+msgstr "%s: uudelleennimeäminen %s → %s epäonnistui: %s\n"
+
+#: misc-utils/rename.c:86
+#, c-format
+msgid "call: %s from to files...\n"
+msgstr "käyttö: %s lähde kohde tiedostot...\n"
+
+#: misc-utils/script.c:110
+#, c-format
+msgid ""
+"Warning: `%s' is a link.\n"
+"Use `%s [options] %s' if you really want to use it.\n"
+"Script not started.\n"
+msgstr ""
+"Varoitus: ”%s” on linkki.\n"
+"Käytä ”%s [valitsimet] %s” jos todella haluat käyttää sitä.\n"
+"Skriptiä ei käynnistetty.\n"
+
+#: misc-utils/script.c:173
+#, c-format
+msgid "usage: script [-a] [-f] [-q] [-t] [file]\n"
+msgstr "käyttö: script [-a] [-f] [-q] [-t] [tiedosto]\n"
+
+#: misc-utils/script.c:196
+#, c-format
+msgid "Script started, file is %s\n"
+msgstr "Skripti käynnistetty, tiedosto on %s\n"
+
+#: misc-utils/script.c:244
+#, c-format
+msgid "%s: write error %d: %s\n"
+msgstr "%s: kirjoitusvirhe %d: %s\n"
+
+#: misc-utils/script.c:304
+#, c-format
+msgid "Script started on %s"
+msgstr "Skripti käynnistetty %s"
+
+#: misc-utils/script.c:347
+#, c-format
+msgid "%s: write error: %s\n"
+msgstr "%s: kirjoitusvirhe: %s\n"
+
+#: misc-utils/script.c:354
+#, fuzzy, c-format
+msgid "%s: cannot write script file, error: %s\n"
+msgstr "%s: tiedostolle %s ei löydy laitetta\n"
+
+#: misc-utils/script.c:430
+#, c-format
+msgid ""
+"\n"
+"Script done on %s"
+msgstr ""
+"\n"
+"Skripti suoritettu %s"
+
+#: misc-utils/script.c:437
+#, c-format
+msgid "Script done, file is %s\n"
+msgstr "Skripti suoritettu, tiedosto on %s\n"
+
+#: misc-utils/script.c:448
+#, c-format
+msgid "openpty failed\n"
+msgstr "openpty epäonnistui\n"
+
+#: misc-utils/script.c:482
+#, c-format
+msgid "Out of pty's\n"
+msgstr "Pty:t lopussa\n"
+
+#: misc-utils/scriptreplay.c:38
+#, c-format
+msgid "%s <timingfile> [<typescript> [<divisor>]]\n"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:53
+#, c-format
+msgid "expected a number, but got '%s'"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:56 misc-utils/scriptreplay.c:60
+#, c-format
+msgid "divisor '%s'"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:104
+msgid "write to stdout failed"
+msgstr "kirjoittaminen vakiotulosteeseen epäonnistui"
+
+#: misc-utils/scriptreplay.c:110
+#, c-format
+msgid "unexpected end of file on %s"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:112
+#, fuzzy, c-format
+msgid "failed to read typescript file %s"
+msgstr "ioctl() ei onnistunut lukemaan aikaa kohteesta %s"
+
+#: misc-utils/scriptreplay.c:145
+#, fuzzy, c-format
+msgid "cannot open timing file %s"
+msgstr "Tiedostoa ”%s” ei voi avata"
+
+#: misc-utils/scriptreplay.c:148
+#, fuzzy, c-format
+msgid "cannot open typescript file %s"
+msgstr "Tiedostoa ”%s” ei voi avata"
+
+#: misc-utils/scriptreplay.c:164
+#, fuzzy, c-format
+msgid "failed to read timing file %s"
+msgstr "ioctl() ei onnistunut lukemaan aikaa kohteesta %s"
+
+#: misc-utils/scriptreplay.c:166
+#, fuzzy, c-format
+msgid "timings file %s: %lu: unexpected format"
+msgstr "%s: %s: odottamaton tiedostomuoto\n"
+
+#: misc-utils/setterm.c:763
+#, c-format
+msgid "%s: Argument error, usage\n"
+msgstr "%s: Argumenttivirhe, käyttö\n"
+
+#: misc-utils/setterm.c:766
+#, c-format
+msgid "  [ -term terminal_name ]\n"
+msgstr "  [ -term päätteen_nimi ]\n"
+
+#: misc-utils/setterm.c:767
+#, c-format
+msgid "  [ -reset ]\n"
+msgstr "  [ -reset ]\n"
+
+#: misc-utils/setterm.c:768
+#, c-format
+msgid "  [ -initialize ]\n"
+msgstr "  [ -initialize ]\n"
+
+#: misc-utils/setterm.c:769
+#, c-format
+msgid "  [ -cursor [on|off] ]\n"
+msgstr "  [ -cursor [on|off] ]\n"
+
+#: misc-utils/setterm.c:771
+#, c-format
+msgid "  [ -snow [on|off] ]\n"
+msgstr "  [ -snow [on|off] ]\n"
+
+#: misc-utils/setterm.c:772
+#, c-format
+msgid "  [ -softscroll [on|off] ]\n"
+msgstr "  [ -softscroll [on|off] ]\n"
+
+#: misc-utils/setterm.c:774
+#, c-format
+msgid "  [ -repeat [on|off] ]\n"
+msgstr "  [ -repeat [on|off] ]\n"
+
+#: misc-utils/setterm.c:775
+#, c-format
+msgid "  [ -appcursorkeys [on|off] ]\n"
+msgstr "  [ -appcursorkeys [on|off] ]\n"
+
+#: misc-utils/setterm.c:776
+#, c-format
+msgid "  [ -linewrap [on|off] ]\n"
+msgstr "  [ -linewrap [on|off] ]\n"
+
+#: misc-utils/setterm.c:777
+#, c-format
+msgid "  [ -default ]\n"
+msgstr "  [ -default ]\n"
+
+#: misc-utils/setterm.c:778
+#, c-format
+msgid "  [ -foreground black|blue|green|cyan"
+msgstr "  [ -foreground black|blue|green|cyan"
+
+#: misc-utils/setterm.c:779 misc-utils/setterm.c:781
+#, c-format
+msgid "|red|magenta|yellow|white|default ]\n"
+msgstr "|red|magenta|yellow|white|default ]\n"
+
+#: misc-utils/setterm.c:780
+#, c-format
+msgid "  [ -background black|blue|green|cyan"
+msgstr "  [ -background black|blue|green|cyan"
+
+#: misc-utils/setterm.c:782
+#, c-format
+msgid "  [ -ulcolor black|grey|blue|green|cyan"
+msgstr "  [ -ulcolor black|grey|blue|green|cyan"
+
+#: misc-utils/setterm.c:783 misc-utils/setterm.c:785 misc-utils/setterm.c:787
+#: misc-utils/setterm.c:789
+#, c-format
+msgid "|red|magenta|yellow|white ]\n"
+msgstr "|red|magenta|yellow|white ]\n"
+
+#: misc-utils/setterm.c:784
+#, c-format
+msgid "  [ -ulcolor bright blue|green|cyan"
+msgstr "  [ -ulcolor bright blue|green|cyan"
+
+#: misc-utils/setterm.c:786
+#, c-format
+msgid "  [ -hbcolor black|grey|blue|green|cyan"
+msgstr "  [ -hbcolor black|grey|blue|green|cyan"
+
+#: misc-utils/setterm.c:788
+#, c-format
+msgid "  [ -hbcolor bright blue|green|cyan"
+msgstr "  [ -hbcolor bright blue|green|cyan"
+
+#: misc-utils/setterm.c:791
+#, c-format
+msgid "  [ -standout [ attr ] ]\n"
+msgstr "  [ -standout [ attr ] ]\n"
+
+#: misc-utils/setterm.c:793
+#, c-format
+msgid "  [ -inversescreen [on|off] ]\n"
+msgstr "  [ -inversescreen [on|off] ]\n"
+
+#: misc-utils/setterm.c:794
+#, c-format
+msgid "  [ -bold [on|off] ]\n"
+msgstr "  [ -bold [on|off] ]\n"
+
+#: misc-utils/setterm.c:795
+#, c-format
+msgid "  [ -half-bright [on|off] ]\n"
+msgstr "  [ -half-bright [on|off] ]\n"
+
+#: misc-utils/setterm.c:796
+#, c-format
+msgid "  [ -blink [on|off] ]\n"
+msgstr "  [ -blink [on|off] ]\n"
+
+#: misc-utils/setterm.c:797
+#, c-format
+msgid "  [ -reverse [on|off] ]\n"
+msgstr "  [ -reverse [on|off] ]\n"
+
+#: misc-utils/setterm.c:798
+#, c-format
+msgid "  [ -underline [on|off] ]\n"
+msgstr "  [ -underline [on|off] ]\n"
+
+#: misc-utils/setterm.c:799
+#, c-format
+msgid "  [ -store ]\n"
+msgstr "  [ -store ]\n"
+
+#: misc-utils/setterm.c:800
+#, c-format
+msgid "  [ -clear [all|rest] ]\n"
+msgstr "  [ -clear [all|rest] ]\n"
+
+#: misc-utils/setterm.c:801
+#, c-format
+msgid "  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n"
+msgstr "  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n"
+
+#: misc-utils/setterm.c:802
+#, c-format
+msgid "  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n"
+msgstr "  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n"
+
+#: misc-utils/setterm.c:803
+#, c-format
+msgid "  [ -regtabs [1-160] ]\n"
+msgstr "  [ -regtabs [1-160] ]\n"
+
+#: misc-utils/setterm.c:804
+#, c-format
+msgid "  [ -blank [0-60|force|poke] ]\n"
+msgstr "  [ -blank [0-60|force|poke] ]\n"
+
+#: misc-utils/setterm.c:805
+#, c-format
+msgid "  [ -dump   [1-NR_CONSOLES] ]\n"
+msgstr "  [ -dump   [1-KONSOLIEN_MÄÄRÄ] ]\n"
+
+#: misc-utils/setterm.c:806
+#, c-format
+msgid "  [ -append [1-NR_CONSOLES] ]\n"
+msgstr "  [ -append [1-KONSOLIEN_MÄÄRÄ] ]\n"
+
+#: misc-utils/setterm.c:807
+#, c-format
+msgid "  [ -file dumpfilename ]\n"
+msgstr "  [ -file dumptiedostonimi ]\n"
+
+#: misc-utils/setterm.c:808
+#, c-format
+msgid "  [ -msg [on|off] ]\n"
+msgstr "  [ -msg [on|off] ]\n"
+
+#: misc-utils/setterm.c:809
+#, c-format
+msgid "  [ -msglevel [0-8] ]\n"
+msgstr "  [ -msglevel [0-8] ]\n"
+
+#: misc-utils/setterm.c:810
+#, c-format
+msgid "  [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+msgstr "  [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+
+#: misc-utils/setterm.c:811
+#, c-format
+msgid "  [ -powerdown [0-60] ]\n"
+msgstr "  [ -powerdown [0-60] ]\n"
+
+#: misc-utils/setterm.c:812
+#, c-format
+msgid "  [ -blength [0-2000] ]\n"
+msgstr "  [ -blength [0-2000] ]\n"
+
+#: misc-utils/setterm.c:813
+#, c-format
+msgid "  [ -bfreq freqnumber ]\n"
+msgstr "  [ -bfreq freqnumber ]\n"
+
+#: misc-utils/setterm.c:1065
+#, fuzzy, c-format
+msgid "cannot force blank\n"
+msgstr "haarauttaminen ei onnistu"
+
+#: misc-utils/setterm.c:1069
+#, fuzzy, c-format
+msgid "cannot force unblank\n"
+msgstr "haarauttaminen ei onnistu"
+
+#: misc-utils/setterm.c:1075
+#, fuzzy, c-format
+msgid "cannot get blank status\n"
+msgstr "laitetta %s ei voi avata\n"
+
+#: misc-utils/setterm.c:1087
+#, c-format
+msgid "cannot (un)set powersave mode\n"
+msgstr "virransäästötilaa ei voi asettaa (pois)\n"
+
+#: misc-utils/setterm.c:1126 misc-utils/setterm.c:1134
+#, c-format
+msgid "klogctl error: %s\n"
+msgstr "klogctl-virhe: %s\n"
+
+#: misc-utils/setterm.c:1200
+#, c-format
+msgid "Error writing screendump\n"
+msgstr "Virhe kirjoitettaessa näyttövedosta\n"
+
+#: misc-utils/setterm.c:1207
+#, fuzzy, c-format
+msgid "Couldn't read %s\n"
+msgstr "Tiedostoa %s ei voitu avata\n"
+
+#: misc-utils/setterm.c:1261
+#, c-format
+msgid "%s: $TERM is not defined.\n"
+msgstr "%s: $TERM ei ole määritelty.\n"
+
+#: misc-utils/uuidd.c:46
+#, fuzzy, c-format
+msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n"
+msgstr ""
+"käyttö: last [-#] [-f tiedosto] [-t tty] [-h konenimi] [käyttäjä ...]\n"
+
+#: misc-utils/uuidd.c:48
+#, c-format
+msgid "       %s [-r|t] [-n num] [-s socketpath]\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:50
+#, fuzzy, c-format
+msgid "       %s -k\n"
+msgstr "       %s -l [ signaali ]\n"
+
+#: misc-utils/uuidd.c:152
+#, fuzzy
+msgid "bad arguments"
+msgstr "col: virheellinen -l -argumentti %s.\n"
+
+#: misc-utils/uuidd.c:159
+#, fuzzy
+msgid "socket"
+msgstr "nfs socket"
+
+#: misc-utils/uuidd.c:170
+#, fuzzy
+msgid "connect"
+msgstr "nfs connect"
+
+#: misc-utils/uuidd.c:189
+#, fuzzy
+msgid "write"
+msgstr "Kirjoita"
+
+#: misc-utils/uuidd.c:197
+#, fuzzy
+msgid "read count"
+msgstr "luettiin %c\n"
+
+#: misc-utils/uuidd.c:203
+msgid "bad response length"
+msgstr ""
+
+#: misc-utils/uuidd.c:268
+#, c-format
+msgid "uuidd daemon already running at pid %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:276
+#, c-format
+msgid "Couldn't create unix stream socket: %s"
+msgstr ""
+
+#: misc-utils/uuidd.c:305
+#, fuzzy, c-format
+msgid "Couldn't bind unix socket %s: %s\n"
+msgstr "Laitetta %s ei voi avata: %s\n"
+
+#: misc-utils/uuidd.c:313
+#, fuzzy, c-format
+msgid "Couldn't listen on unix socket %s: %s\n"
+msgstr "Laitetta %s ei voi avata: %s\n"
+
+#: misc-utils/uuidd.c:351
+#, fuzzy, c-format
+msgid "Error reading from client, len = %d\n"
+msgstr "Virhe luettaessa %s\n"
+
+#: misc-utils/uuidd.c:359
+#, c-format
+msgid "operation %d, incoming num = %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:378
+#, c-format
+msgid "Generated time UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:388
+#, c-format
+msgid "Generated random UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:397
+#, c-format
+msgid "Generated time UUID %s and %d following\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:415
+#, c-format
+msgid "Generated %d UUID's:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:427
+#, fuzzy, c-format
+msgid "Invalid operation %d\n"
+msgstr "virheellinen valitsin"
+
+#: misc-utils/uuidd.c:468 misc-utils/uuidd.c:489
+#, fuzzy, c-format
+msgid "Bad number: %s\n"
+msgstr "%s: virheellinen arvo\n"
+
+#: misc-utils/uuidd.c:524 misc-utils/uuidd.c:551
+#, fuzzy, c-format
+msgid "Error calling uuidd daemon (%s): %s\n"
+msgstr "virhe muutettaessa tiedoston %s tilaa: %s\n"
+
+#: misc-utils/uuidd.c:534
+#, c-format
+msgid "%s and subsequent %d UUID's\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:536
+#, c-format
+msgid "List of UUID's:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:557
+#, c-format
+msgid "Unexpected reply length from server %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:574
+#, c-format
+msgid "Couldn't kill uuidd running at pid %d: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:580
+#, c-format
+msgid "Killed uuidd running at pid %d\n"
+msgstr ""
+
+#: misc-utils/uuidgen.c:32
+#, fuzzy, c-format
+msgid "Usage: %s [-r] [-t]\n"
+msgstr "Käyttö: %s [valitsimet] laite ...\n"
+
+#: misc-utils/whereis.c:159
+#, c-format
+msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
+msgstr "whereis [ -sbmu ] [ -SBM hak ... -f ] nimi...\n"
+
+#: misc-utils/write.c:101
+#, c-format
+msgid "write: can't find your tty's name\n"
+msgstr "write: tty:si nimeä ei löydy\n"
+
+#: misc-utils/write.c:112
+#, c-format
+msgid "write: you have write permission turned off.\n"
+msgstr "write: sinulla ei ole kirjoitusoikeutta.\n"
+
+#: misc-utils/write.c:133
+#, c-format
+msgid "write: %s is not logged in on %s.\n"
+msgstr "write: %s ei ole kirjautuneena päätteellä %s.\n"
+
+#: misc-utils/write.c:141
+#, c-format
+msgid "write: %s has messages disabled on %s\n"
+msgstr "write: %s on estänyt viestit päätteellä %s\n"
+
+#: misc-utils/write.c:148
+#, c-format
+msgid "usage: write user [tty]\n"
+msgstr "käyttö: write käyttäjä [tty]\n"
+
+#: misc-utils/write.c:236
+#, c-format
+msgid "write: %s is not logged in\n"
+msgstr "write: %s ei ole kirjautuneena\n"
+
+#: misc-utils/write.c:245
+#, c-format
+msgid "write: %s has messages disabled\n"
+msgstr "write: %s ei vastaanota viestejä\n"
+
+#: misc-utils/write.c:249
+#, c-format
+msgid "write: %s is logged in more than once; writing to %s\n"
+msgstr ""
+"write: %s on kirjautuneena useammin kuin kerran; kirjoitetaan kohteeseen %s\n"
+
+#: misc-utils/write.c:317
+#, 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..."
+
+#: misc-utils/write.c:320
+#, 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..."
+
+#: mount/fstab.c:143
+#, c-format
+msgid "warning: error reading %s: %s"
+msgstr "varoitus: virhe luettaessa %s: %s"
+
+#: mount/fstab.c:171 mount/fstab.c:196
+#, c-format
+msgid "warning: can't open %s: %s"
+msgstr "virhe: tiedostoa %s ei voi avata: %s"
+
+#: mount/fstab.c:176
+#, 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/fstab.c:589
+#, 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/fstab.c:615
+#, 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/fstab.c:631
+#, 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/fstab.c:646
+#, c-format
+msgid "Can't lock lock file %s: %s\n"
+msgstr "Lukkotiedostoa %s ei voi lukita: %s\n"
+
+#: mount/fstab.c:660
+#, c-format
+msgid "can't lock lock file %s: %s"
+msgstr "lukkotiedostoa %s ei voi lukita: %s"
+
+#: mount/fstab.c:662
+msgid "timed out"
+msgstr "aikakatkaistu"
+
+#: mount/fstab.c:669
+#, 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/fstab.c:791 mount/fstab.c:846
+#, c-format
+msgid "cannot open %s (%s) - mtab not updated"
+msgstr "hakemistoa %s ei voi avata (%s) – mtabi-tiedostoa ei päivitetty"
+
+#: mount/fstab.c:855
+#, c-format
+msgid "error writing %s: %s"
+msgstr "virhe kirjoitettaessa %s: %s"
+
+#: mount/fstab.c:873
+#, c-format
+msgid "error changing mode of %s: %s\n"
+msgstr "virhe muutettaessa tiedoston %s tilaa: %s\n"
+
+#: mount/fstab.c:886
+#, c-format
+msgid "error changing owner of %s: %s\n"
+msgstr "virhe muutettaessa tiedoston %s omistajaa: %s\n"
+
+#: mount/fstab.c:897
+#, c-format
+msgid "can't rename %s to %s: %s\n"
+msgstr "nimeäminen %s → %s ei onnistu: %s\n"
+
+#: mount/lomount.c:364
+#, fuzzy, c-format
+msgid "loop: can't set capacity on device %s: %s\n"
+msgstr "loop: laitteen %s tietoja ei voi hakea: %s\n"
+
+#: mount/lomount.c:388
+#, c-format
+msgid ", offset %<PRIu64>"
+msgstr ", siirtymä %<PRIu64>"
+
+#: mount/lomount.c:391
+#, c-format
+msgid ", sizelimit %<PRIu64>"
+msgstr ", kokoraja %<PRIu64>"
+
+#: mount/lomount.c:399
+#, c-format
+msgid ", encryption %s (type %<PRIu32>)"
+msgstr ", salaus %s (tyyppi %<PRIu32>)"
+
+#: mount/lomount.c:412
+#, c-format
+msgid ", offset %d"
+msgstr ", siirtymä %d"
+
+#: mount/lomount.c:415
+#, c-format
+msgid ", encryption type %d\n"
+msgstr ", salaustyyppi %d\n"
+
+#: mount/lomount.c:423
+#, c-format
+msgid "loop: can't get info on device %s: %s\n"
+msgstr "loop: laitteen %s tietoja ei voi hakea: %s\n"
+
+#: mount/lomount.c:434
+#, c-format
+msgid "loop: can't open device %s: %s\n"
+msgstr "loop: laitetta %s ei voi avata: %s\n"
+
+#: mount/lomount.c:450 mount/lomount.c:482 mount/lomount.c:544
+#: mount/lomount.c:589
+#, c-format
+msgid "%s: /dev directory does not exist."
+msgstr "%s: /dev-hakemistoa ei ole olemassa."
+
+#: mount/lomount.c:461 mount/lomount.c:602
+#, fuzzy, c-format
+msgid "%s: no permission to look at /dev/loop%s<N>"
+msgstr "%s: ei oikeuksia laitteeseen /dev/loop#"
+
+#: mount/lomount.c:605
+#, c-format
+msgid "%s: could not find any free loop device"
+msgstr "%s: ei löytynyt yhtään vapaata loop-laitetta"
+
+#: mount/lomount.c:608
+#, c-format
+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”.)"
+
+#: mount/lomount.c:638
+#, fuzzy
+msgid "Out of memory while reading passphrase"
+msgstr "Muisti loppui kasvatettaessa puskuria.\n"
+
+#: mount/lomount.c:681
+#, fuzzy, c-format
+msgid "warning: %s is already associated with %s\n"
+msgstr "Sektori %d on jo varattu\n"
+
+#: mount/lomount.c:697
+#, fuzzy, c-format
+msgid "warning: %s: is write-protected, using read-only.\n"
+msgstr "mount: %s%s on kirjoitussuojattu, liitetään vain luku -tilassa"
+
+#: mount/lomount.c:733
+#, c-format
+msgid "Couldn't lock into memory, exiting.\n"
+msgstr "Muistia ei voitu lukita, poistutaan.\n"
+
+#: mount/lomount.c:760
+#, c-format
+msgid "ioctl LOOP_SET_FD failed: %s\n"
+msgstr "ioctl LOOP_SET_FD epäonnistui: %s\n"
+
+#: mount/lomount.c:817
+#, c-format
+msgid "set_loop(%s,%s,%llu,%llu): success\n"
+msgstr "set_loop(%s,%s,%llu,%llu): onnistui\n"
+
+#: mount/lomount.c:838
+#, c-format
+msgid "del_loop(%s): success\n"
+msgstr "del_loop(%s): onnistui\n"
+
+#: mount/lomount.c:842
+#, c-format
+msgid "loop: can't delete device %s: %s\n"
+msgstr "loop: laitetta %s ei voi poistaa: %s\n"
+
+#: mount/lomount.c:853
+#, c-format
+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"
+
+#: mount/lomount.c:888
+#, fuzzy, c-format
+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 ""
+"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"
+
+#: mount/lomount.c:898
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -e | --encryption <type> enable data encryption with specified <name/num>\n"
+" -h | --help              this help\n"
+" -o | --offset <num>      start at offset <num> into file\n"
+"      --sizelimit <num>   loop limited to only <num> bytes of the file\n"
+" -p | --pass-fd <num>     read passphrase from file descriptor <num>\n"
+" -r | --read-only         setup read-only loop device\n"
+"      --show              print device name (with -f <file>)\n"
+" -v | --verbose           verbose mode\n"
+"\n"
+msgstr ""
+
+#: mount/lomount.c:1036 mount/lomount.c:1076
+#, fuzzy, c-format
+msgid "Loop device is %s\n"
+msgstr "loop: laitetta %s ei voi avata: %s\n"
+
+#: mount/lomount.c:1063
+#, c-format
+msgid "stolen loop=%s...trying again\n"
+msgstr ""
+
+#: mount/lomount.c:1073
+#, fuzzy, c-format
+msgid "%s: %s: device is busy"
+msgstr "umount: %s: laite on varattu"
+
+#: mount/lomount.c:1090
+#, c-format
+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"
+
+#: mount/mount.c:329
+#, c-format
+msgid "mount: improperly quoted option string '%s'"
+msgstr "mount: väärin suojattu valitsinmerkkijono ”%s”"
+
+#: mount/mount.c:362
+#, c-format
+msgid "mount: translated %s '%s' to '%s'\n"
+msgstr "mount: muunnettiin %s ”%s” arvoon ”%s”\n"
+
+#: mount/mount.c:526
+#, 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/mount.c:531
+#, c-format
+msgid "mount: according to mtab, %s is mounted on %s"
+msgstr "mount: mtab-tiedoston mukaan %s on liitetty pisteeseen %s"
+
+#: mount/mount.c:555
+#, c-format
+msgid "mount: can't open %s for writing: %s"
+msgstr "mount: tiedostoa %s ei voi avata kirjoittamista varten: %s"
+
+#: mount/mount.c:572 mount/mount.c:1190
+#, c-format
+msgid "mount: error writing %s: %s"
+msgstr "mount: virhe kirjoitettaessa %s: %s"
+
+#: mount/mount.c:580
+#, c-format
+msgid "mount: error changing mode of %s: %s"
+msgstr "mount: virhe muutettaessa tiedoston %s tilaa: %s"
+
+#: mount/mount.c:663
+#, c-format
+msgid "mount: cannot set group id: %s"
+msgstr "mount: ryhmä-id:tä voi asettaa: %s"
+
+#: mount/mount.c:666
+#, c-format
+msgid "mount: cannot set user id: %s"
+msgstr "mount: käyttäjä-id:tä ei voi asettaa: %s"
+
+#: mount/mount.c:705 mount/mount.c:1809
+#, c-format
+msgid "mount: cannot fork: %s"
+msgstr "mount: haarauttaminen ei onnistu: %s"
+
+#: mount/mount.c:842
+#, c-format
+msgid "Trying %s\n"
+msgstr "Kokeillaan %s\n"
+
+#: mount/mount.c:870
+#, 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/mount.c:873
+#, 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/mount.c:876
+#, c-format
+msgid "       and it looks like this is swapspace\n"
+msgstr "       ja tämä näyttää olevan sivutustilaa\n"
+
+#: mount/mount.c:878
+#, c-format
+msgid "       I will try type %s\n"
+msgstr "       Kokeillaan tyyppiä %s\n"
+
+#: mount/mount.c:902
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr "%s vaikuttaa olevan sivutustilaa – ei liitetä"
+
+#: mount/mount.c:993
+msgid "mount failed"
+msgstr "liittäminen epäonnistui"
+
+#: mount/mount.c:995
+#, c-format
+msgid "mount: only root can mount %s on %s"
+msgstr "mount: vain root voi liittää %s pisteeseen %s"
+
+#: mount/mount.c:1065
+msgid "mount: loop device specified twice"
+msgstr "mount: loop-laite annettu kahdesti"
+
+#: mount/mount.c:1070
+msgid "mount: type specified twice"
+msgstr "mount: tyyppi annettu kahdesti"
+
+#: mount/mount.c:1082
+#, c-format
+msgid "mount: skipping the setup of a loop device\n"
+msgstr "mount: ohitetaan loop-laitteen asettaminen\n"
+
+#: mount/mount.c:1094
+#, 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/mount.c:1104
+#, c-format
+msgid "mount: going to use the loop device %s\n"
+msgstr "mount: aiotaan käyttää loop-laitetta %s\n"
+
+#: mount/mount.c:1113
+#, c-format
+msgid "mount: stolen loop=%s ...trying again\n"
+msgstr ""
+
+#: mount/mount.c:1118
+#, fuzzy, c-format
+msgid "mount: stolen loop=%s"
+msgstr "umount: %s: %s"
+
+#: mount/mount.c:1123
+#, c-format
+msgid "mount: failed setting up loop device\n"
+msgstr "mount: loop-laitteen asettaminen epäonnistui\n"
+
+#: mount/mount.c:1134
+#, c-format
+msgid "mount: setup loop device successfully\n"
+msgstr "mount: loop-laite asetettiin onnistuneesti\n"
+
+#: mount/mount.c:1168
+#, c-format
+msgid "mount: no %s found - creating it..\n"
+msgstr "mount: ei löytynyt %s – luodaan se..\n"
+
+#: mount/mount.c:1185
+#, c-format
+msgid "mount: can't open %s: %s"
+msgstr "mount: tiedostoa %s ei voi avata: %s"
+
+#: mount/mount.c:1206
+msgid "mount: argument to -p or --pass-fd must be a number"
+msgstr "mount: argumentin valitsimelle -p tai --pass-fd on oltava luku"
+
+#: mount/mount.c:1219
+#, c-format
+msgid "mount: cannot open %s for setting speed"
+msgstr "mount: tiedostoa %s ei voi avata nopeuden asetusta varten"
+
+#: mount/mount.c:1222
+#, c-format
+msgid "mount: cannot set speed: %s"
+msgstr "mount: nopeutta ei voi asettaa: %s"
+
+#: mount/mount.c:1279
+#, 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/mount.c:1358
+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/mount.c:1361
+msgid "mount: you must specify the filesystem type"
+msgstr "mount: tiedostojärjestelmän tyyppi on annettava"
+
+#: mount/mount.c:1364
+msgid "mount: mount failed"
+msgstr "mount: liitos epäonnistui"
+
+#: mount/mount.c:1370 mount/mount.c:1407
+#, c-format
+msgid "mount: mount point %s is not a directory"
+msgstr "mount: liitospiste %s ei ole hakemisto"
+
+#: mount/mount.c:1372
+msgid "mount: permission denied"
+msgstr "mount: lupa evätty"
+
+#: mount/mount.c:1374
+msgid "mount: must be superuser to use mount"
+msgstr "mount: mountin käyttöön vaaditaan pääkäyttäjän oikeudet"
+
+#: mount/mount.c:1378 mount/mount.c:1382
+#, c-format
+msgid "mount: %s is busy"
+msgstr "mount: %s on varattu"
+
+#: mount/mount.c:1384
+msgid "mount: proc already mounted"
+msgstr "mount: proc on jo liitetty"
+
+#: mount/mount.c:1386
+#, c-format
+msgid "mount: %s already mounted or %s busy"
+msgstr "mount: %s on jo liitetty tai %s on varattu"
+
+#: mount/mount.c:1392
+#, c-format
+msgid "mount: mount point %s does not exist"
+msgstr "mount: liitospiste %s ei ole olemassa"
+
+#: mount/mount.c:1394
+#, c-format
+msgid "mount: mount point %s is a symbolic link to nowhere"
+msgstr "mount: liitospiste %s on symlinkki olemattomaan"
+
+#: mount/mount.c:1399
+#, c-format
+msgid "mount: special device %s does not exist"
+msgstr "mount: erikoislaite %s ei ole olemassa"
+
+#: mount/mount.c:1411
+#, 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/mount.c:1423
+#, c-format
+msgid "mount: %s not mounted already, or bad option"
+msgstr "mount: %s ei ole vielä liitetty, tai virheellinen valitsin"
+
+#: mount/mount.c:1425
+#, 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/mount.c:1432
+msgid ""
+"       (for several filesystems (e.g. nfs, cifs) you might\n"
+"       need a /sbin/mount.<type> helper program)"
+msgstr ""
+
+#: mount/mount.c:1441
+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/mount.c:1446
+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/mount.c:1453
+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/mount.c:1459
+msgid "mount table full"
+msgstr "liitostaulukko täynnä"
+
+#: mount/mount.c:1461
+#, c-format
+msgid "mount: %s: can't read superblock"
+msgstr "mount: %s: superlohkoa ei voi lukea"
+
+#: mount/mount.c:1467
+#, c-format
+msgid "mount: %s: unknown device"
+msgstr "mount: %s: tuntematon laite"
+
+#: mount/mount.c:1472
+#, c-format
+msgid "mount: unknown filesystem type '%s'"
+msgstr "mount: tuntematon tiedostojärjestelmän tyyppi ”%s”"
+
+#: mount/mount.c:1484
+#, c-format
+msgid "mount: probably you meant %s"
+msgstr "mount: tarkoitat todennäköisesti %s"
+
+#: mount/mount.c:1487
+msgid "mount: maybe you meant 'iso9660'?"
+msgstr "mount: ehkä tarkoitit ”iso9660”?"
+
+#: mount/mount.c:1490
+msgid "mount: maybe you meant 'vfat'?"
+msgstr "mount: ehkä tarkoitit ”vfat”?"
+
+#: mount/mount.c:1493
+#, 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/mount.c:1501
+#, 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/mount.c:1503
+#, c-format
+msgid ""
+"mount: the kernel does not recognize %s as a block device\n"
+"       (maybe `insmod driver'?)"
+msgstr ""
+"mount: ydin ei tunnista tiedostoa %s lohkolaitteeksi\n"
+"       (ehkä ”insmod ajuri” auttaa?)"
+
+#: mount/mount.c:1506
+#, c-format
+msgid "mount: %s is not a block device (maybe try `-o loop'?)"
+msgstr "mount: %s ei ole lohkolaite (yritä ”-o loop”?)"
+
+#: mount/mount.c:1509
+#, c-format
+msgid "mount: %s is not a block device"
+msgstr "mount: %s ei ole lohkolaite"
+
+#: mount/mount.c:1514
+#, c-format
+msgid "mount: %s is not a valid block device"
+msgstr "mount: %s ei ole kelvollinen lohkolaite"
+
+#: mount/mount.c:1517
+msgid "block device "
+msgstr "lohkolaite "
+
+#: mount/mount.c:1519
+#, c-format
+msgid "mount: cannot mount %s%s read-only"
+msgstr "mount: ei voi liittää %s%s vain luku -tilassa"
+
+#: mount/mount.c:1523
+#, 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/mount.c:1527
+#, 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/mount.c:1542
+#, c-format
+msgid "mount: %s%s is write-protected, mounting read-only"
+msgstr "mount: %s%s on kirjoitussuojattu, liitetään vain luku -tilassa"
+
+#: mount/mount.c:1552
+#, fuzzy, c-format
+msgid "mount: no medium found on %s ...trying again\n"
+msgstr "mount: ei löytynyt %s – luodaan se..\n"
+
+#: mount/mount.c:1558
+#, fuzzy, c-format
+msgid "mount: no medium found on %s"
+msgstr "mount: %s on jo liitetty paikkaan %s\n"
+
+#: mount/mount.c:1576
+#, 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/mount.c:1655
+#, 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/mount.c:1661
+#, 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/mount.c:1756
+#, c-format
+msgid "mount: %s already mounted on %s\n"
+msgstr "mount: %s on jo liitetty paikkaan %s\n"
+
+#: mount/mount.c:1890
+#, 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/mount.c:2213
+msgid "mount: only root can do that"
+msgstr "mount: vain root voi tehdä tuon"
+
+#: mount/mount.c:2223
+msgid "nothing was mounted"
+msgstr "mitään ei liitetty"
+
+#: mount/mount.c:2241 mount/mount.c:2267
+msgid "mount: no such partition found"
+msgstr "mount: osiota ei löydy"
+
+#: mount/mount.c:2244
+#, c-format
+msgid "mount: can't find %s in %s or %s"
+msgstr "mount: %s ei löydy tiedostosta %s, eikä %s"
+
+#: mount/mount_mntent.c:165
+#, 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/mount_mntent.c:216
+#, c-format
+msgid "[mntent]: line %d in %s is bad%s\n"
+msgstr "[mntent]: rivi %d tiedostossa %s on virheellinen%s\n"
+
+#: mount/mount_mntent.c:219
+msgid "; rest of file ignored"
+msgstr "; loput tiedostosta jätetään huomioimatta"
+
+#: mount/sundries.c:31
+msgid "bug in xstrndup call"
+msgstr "ohjelmistovika xstrndup-kutsussa"
+
+#: mount/sundries.c:224 mount/sundries.c:280 mount/sundries.c:289
+#: mount/xmalloc.c:11
+msgid "not enough memory"
+msgstr "muisti ei riitä"
+
+#: mount/swapon.c:84
+#, c-format
+msgid ""
+"The <special> parameter:\n"
+" {-L label | LABEL=label}             LABEL of device to be used\n"
+" {-U uuid  | 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"
+"\n"
+msgstr ""
+
+#: mount/swapon.c:92
+#, fuzzy, c-format
+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"
+"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"
+
+#: mount/swapon.c:106
+#, c-format
+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"
+
+#: mount/swapon.c:140
+#, fuzzy, c-format
+msgid "%s: unexpected file format"
+msgstr "%s: %s: odottamaton tiedostomuoto\n"
+
+#: mount/swapon.c:184 mount/swapon.c:252 mount/swapon.c:397 mount/swapon.c:556
+#: mount/swapon.c:758
+#, fuzzy, c-format
+msgid "%s: open failed"
+msgstr "openpty epäonnistui\n"
+
+#: mount/swapon.c:205
+#, c-format
+msgid "%s: reinitializing the swap."
+msgstr ""
+
+#: mount/swapon.c:209
+#, fuzzy
+msgid "fork failed"
+msgstr "haarauttaminen epäonnistui\n"
+
+#: mount/swapon.c:225
+#, fuzzy
+msgid "execv failed"
+msgstr "käynnistys epäonnistui\n"
+
+#: mount/swapon.c:233
+#, fuzzy
+msgid "waitpid failed"
+msgstr "setuid() epäonnistui"
+
+#: mount/swapon.c:257
+#, fuzzy, c-format
+msgid "%s: lseek failed"
+msgstr "siirtyminen epäonnistui"
+
+#: mount/swapon.c:263
+#, fuzzy, c-format
+msgid "%s: write signature failed"
+msgstr "kirjoittaminen vakiotulosteeseen epäonnistui"
+
+#: mount/swapon.c:350
+#, c-format
+msgid "%s: found %sswap v%d signature string for %d KiB PAGE_SIZE\n"
+msgstr ""
+
+#: mount/swapon.c:370
+#, fuzzy, c-format
+msgid "%s: stat failed"
+msgstr "%s epäonnistui.\n"
+
+#: mount/swapon.c:380
+#, fuzzy, c-format
+msgid "%s: insecure permissions %04o, %04o suggested."
+msgstr ""
+"%s: varoitus: tiedostolla %s on turvattomat oikeudet %04o, suositellaan %"
+"04o\n"
+
+#: mount/swapon.c:388
+#, fuzzy, c-format
+msgid "%s: skipping - it appears to have holes."
+msgstr "%s: Ohitetaan tiedosto %s – siinä vaikuttaa olevan reikiä.\n"
+
+#: mount/swapon.c:402
+#, fuzzy, c-format
+msgid "%s: get size failed"
+msgstr "siirtyminen epäonnistui"
+
+#: mount/swapon.c:408
+#, c-format
+msgid "%s: read swap header failed"
+msgstr ""
+
+#: mount/swapon.c:421
+#, c-format
+msgid "%s: last_page 0x%08llx is larger than actual size of swapspace"
+msgstr ""
+
+#: mount/swapon.c:426
+#, c-format
+msgid "%s: swap format pagesize does not match."
+msgstr ""
+
+#: mount/swapon.c:431
+#, c-format
+msgid ""
+"%s: swap format pagesize does not match. (Use --fixpgsz to reinitialize it.)"
+msgstr ""
+
+#: mount/swapon.c:440
+#, c-format
+msgid "%s: software suspend data detected. Rewriting the swap signature."
+msgstr ""
+
+#: mount/swapon.c:464 mount/swapon.c:514
+#, c-format
+msgid "%s on %s\n"
+msgstr "%s laitteella %s\n"
+
+#: mount/swapon.c:486
+#, fuzzy, c-format
+msgid "%s: swapon failed"
+msgstr "%s epäonnistui.\n"
+
+#: mount/swapon.c:493
+#, fuzzy, c-format
+msgid "cannot find the device for %s"
+msgstr "%s: tiedostolle %s ei löydy laitetta\n"
+
+#: mount/swapon.c:526
+#, fuzzy
+msgid "Not superuser."
+msgstr "Et ole pääkäyttäjä.\n"
+
+#: mount/swapon.c:529
+#, fuzzy, c-format
+msgid "%s: swapoff failed"
+msgstr "%s epäonnistui.\n"
+
+#: mount/umount.c:41
+#, c-format
+msgid "umount: compiled without support for -f\n"
+msgstr "umount: käännetty ilman tukea valitsimelle -f\n"
+
+#: mount/umount.c:111
+#, c-format
+msgid "umount: cannot set group id: %s"
+msgstr "umount: ryhmä-id:tä ei voi asettaa: %s"
+
+#: mount/umount.c:114
+#, c-format
+msgid "umount: cannot set user id: %s"
+msgstr "umount: käyttäjä-id:tä ei voi asettaa: %s"
+
+#: mount/umount.c:139
+#, c-format
+msgid "umount: cannot fork: %s"
+msgstr "umount: haarauttaminen ei onnistu: %s"
+
+#: mount/umount.c:160
+#, c-format
+msgid "umount: %s: invalid block device"
+msgstr "umount: %s: virheellinen lohkolaite"
+
+#: mount/umount.c:162
+#, c-format
+msgid "umount: %s: not mounted"
+msgstr "umount: %s: ei ole liitettynä"
+
+#: mount/umount.c:164
+#, c-format
+msgid "umount: %s: can't write superblock"
+msgstr "umount: %s: superlohkoa ei voi kirjoittaa"
+
+#: mount/umount.c:168
+#, 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/umount.c:173
+#, c-format
+msgid "umount: %s: not found"
+msgstr "umount: %s: ei löydy"
+
+#: mount/umount.c:175
+#, c-format
+msgid "umount: %s: must be superuser to umount"
+msgstr "umount: %s: vaaditaan pääkäyttäjän oikeudet"
+
+#: mount/umount.c:177
+#, c-format
+msgid "umount: %s: block devices not permitted on fs"
+msgstr "umount: %s: lohkolaitteita ei sallita tiedostojärjestelmässä"
+
+#: mount/umount.c:179
+#, c-format
+msgid "umount: %s: %s"
+msgstr "umount: %s: %s"
+
+#: mount/umount.c:235
+#, c-format
+msgid "no umount2, trying umount...\n"
+msgstr "ohjelmaa umount2 ei ole, kokeillaan ohjelmaa umount...\n"
+
+#: mount/umount.c:252
+#, c-format
+msgid "umount: %s busy - remounted read-only\n"
+msgstr "umount: %s on varattu – uudelleenliitettiin vain luku -tilassa\n"
+
+#: mount/umount.c:263
+#, c-format
+msgid "umount: could not remount %s read-only\n"
+msgstr ""
+"umount: kohteen %s uudelleenliittäminen vain luku -tilassa epäonnistui\n"
+
+#: mount/umount.c:272
+#, c-format
+msgid "%s umounted\n"
+msgstr "%s irrotettu\n"
+
+#: mount/umount.c:367
+msgid "umount: cannot find list of filesystems to unmount"
+msgstr "umount: irrotettavien tiedostojärjestelmien listaa ei löydy"
+
+#: mount/umount.c:397
+#, 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 ""
+"Käyttö: umount [-hV]\n"
+"        umount -a [-f] [-r] [-n] [-v] [-t vtied.järj.tyypit] [-O "
+"valitsimet]\n"
+"        umount [-f] [-r] [-n] [-v] erikoistied | solmu...\n"
+
+#: mount/umount.c:466
+#, fuzzy, c-format
+msgid "device %s is associated with %s\n"
+msgstr "Sektori %d on jo varattu\n"
+
+#: mount/umount.c:472
+#, fuzzy, c-format
+msgid "device %s is not associated with %s\n"
+msgstr "Sektori %d on jo varattu\n"
+
+#: mount/umount.c:485
+msgid "Cannot umount \"\"\n"
+msgstr "Kohdetta ”” ei voi irrottaa\n"
+
+#: mount/umount.c:491
+#, c-format
+msgid "Trying to umount %s\n"
+msgstr "Yritetään irrottaa %s\n"
+
+#: mount/umount.c:504
+msgid "umount: confused when analyzing mtab"
+msgstr ""
+
+#: mount/umount.c:509
+#, c-format
+msgid "umount: cannot umount %s -- %s is mounted over it on the same point."
+msgstr ""
+
+#: mount/umount.c:516
+#, c-format
+msgid "Could not find %s in mtab\n"
+msgstr "%s ei löytynyt tiedostosta mtab\n"
+
+#: mount/umount.c:523
+#, c-format
+msgid "umount: %s is not mounted (according to mtab)"
+msgstr "umount: %s ei ole liitetty (mtab-tiedoston mukaan)"
+
+#: mount/umount.c:547
+#, c-format
+msgid "umount: it seems %s is mounted multiple times"
+msgstr "umount: %s vaikuttaa olevan liitettynä useita kertoja"
+
+#: mount/umount.c:561
+#, 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/umount.c:567
+#, c-format
+msgid "umount: %s mount disagrees with the fstab"
+msgstr "umount: %s on ristiriidassa tiedoston fstab kanssa"
+
+#: mount/umount.c:608
+#, c-format
+msgid "umount: only %s can unmount %s from %s"
+msgstr "umount: vain %s voi irrottaa laitteen %s paikasta %s"
+
+#: mount/umount.c:695
+msgid "umount: only root can do that"
+msgstr "umount: vain root voi tehdä tämän"
+
+#: schedutils/chrt.c:56
+#, 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"
+"\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 ""
+
+#: schedutils/chrt.c:88
+#, fuzzy, c-format
+msgid "failed to get pid %d's policy"
+msgstr "Osion kirjoitus epäonnistui laitteelle %s"
+
+#: schedutils/chrt.c:90
+#, c-format
+msgid "pid %d's %s scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:112
+#, fuzzy, c-format
+msgid "unknown\n"
+msgstr "tuntemattomassa "
+
+#: schedutils/chrt.c:116
+#, c-format
+msgid "failed to get pid %d's attributes"
+msgstr ""
+
+#: schedutils/chrt.c:118
+#, c-format
+msgid "pid %d's %s scheduling priority: %d\n"
+msgstr ""
+
+#: schedutils/chrt.c:147
+#, c-format
+msgid "SCHED_%s min/max priority\t: %d/%d\n"
+msgstr ""
+
+#: schedutils/chrt.c:150
+#, fuzzy, c-format
+msgid "SCHED_%s not supported?\n"
+msgstr "NFS yli TCP:n ei ole tuettu.\n"
+
+#: schedutils/chrt.c:206
+#, fuzzy
+msgid "failed to parse pid"
+msgstr "%s: avaaminen epäonnistui: %s\n"
+
+#: schedutils/chrt.c:228
+#, fuzzy
+msgid "current"
+msgstr "ncount"
+
+#: schedutils/chrt.c:236
+#, fuzzy
+msgid "failed to parse priority"
+msgstr "Osion kirjoitus epäonnistui laitteelle %s"
+
+#: schedutils/chrt.c:242
+#, fuzzy, c-format
+msgid "failed to set pid %d's policy"
+msgstr "Osion kirjoitus epäonnistui laitteelle %s"
+
+#: schedutils/chrt.c:251
+#, fuzzy, c-format
+msgid "failed to execute %s"
+msgstr "ioctl() ei onnistunut lukemaan aikaa kohteesta %s"
+
+#: schedutils/ionice.c:57
+#, fuzzy
+msgid "ioprio_get failed"
+msgstr "openpty epäonnistui\n"
+
+#: schedutils/ionice.c:75
+#, fuzzy
+msgid "ioprio_set failed"
+msgstr "openpty epäonnistui\n"
+
+#: schedutils/ionice.c:81
+#, c-format
+msgid ""
+"\n"
+"ionice - sets or gets process io scheduling class and priority.\n"
+"\n"
+"Usage:\n"
+"  ionice [ options ] -p <pid> [<pid> ...]\n"
+"  ionoce [ 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 ""
+
+#: schedutils/ionice.c:110 schedutils/ionice.c:112
+#, fuzzy, c-format
+msgid "cannot parse number '%s'"
+msgstr "laitetta %s ei voi avata"
+
+#: schedutils/ionice.c:151
+msgid "ignoring given class data for none class"
+msgstr ""
+
+#: schedutils/ionice.c:159
+msgid "ignoring given class data for idle class"
+msgstr ""
+
+#: schedutils/ionice.c:163
+#, c-format
+msgid "bad prio class %d"
+msgstr ""
+
+#: schedutils/ionice.c:187
+#, fuzzy
+msgid "execvp failed"
+msgstr "käynnistys epäonnistui\n"
+
+#: sys-utils/ctrlaltdel.c:27
+#, c-format
+msgid "You must be root to set the Ctrl-Alt-Del behaviour.\n"
+msgstr "Vain root voi määritellä Ctrl-Alt-Del:n vaikutuksen.\n"
+
+#: sys-utils/ctrlaltdel.c:42
+#, c-format
+msgid "Usage: ctrlaltdel hard|soft\n"
+msgstr "Käyttö: ctrlaltdel hard|soft\n"
+
+#: sys-utils/cytune.c:114
+#, 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\n"
+msgstr ""
+"Tiedosto %s, kynnysarvolle %lu, suurin merkkimäärä fifossa oli %d,\n"
+"ja suurin siirtonopeus (merkkiä/sekunti) oli %f\n"
+
+#: sys-utils/cytune.c:125
+#, c-format
+msgid ""
+"File %s, For threshold value %lu and timrout value %lu, Maximum characters "
+"in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f\n"
+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:189
+#, c-format
+msgid "Invalid interval value: %s\n"
+msgstr "Virheellinen sisäinen arvo: %s\n"
+
+#: sys-utils/cytune.c:197
+#, c-format
+msgid "Invalid set value: %s\n"
+msgstr "Virheellinen asetettu arvo: %s\n"
+
+#: sys-utils/cytune.c:205
+#, c-format
+msgid "Invalid default value: %s\n"
+msgstr "Virheellinen oletusarvo: %s\n"
+
+#: sys-utils/cytune.c:213
+#, c-format
+msgid "Invalid set time value: %s\n"
+msgstr "Virheellinen asetettu aika-arvo: %s\n"
+
+#: sys-utils/cytune.c:221
+#, c-format
+msgid "Invalid default time value: %s\n"
+msgstr "Virheellinen oletusaika-arvo: %s\n"
+
+#: sys-utils/cytune.c:238
+#, c-format
+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"
+
+#: sys-utils/cytune.c:250 sys-utils/cytune.c:269 sys-utils/cytune.c:289
+#: sys-utils/cytune.c:339
+#, c-format
+msgid "Can't open %s: %s\n"
+msgstr "Laitetta %s ei voi avata: %s\n"
+
+#: sys-utils/cytune.c:257
+#, c-format
+msgid "Can't set %s to threshold %d: %s\n"
+msgstr "Laitteelle %s ei voi asettaa kynnystä %d: %s\n"
+
+#: sys-utils/cytune.c:276
+#, c-format
+msgid "Can't set %s to time threshold %d: %s\n"
+msgstr "Laitteelle %s ei voi asettaa aikakynnystä %d: %s\n"
+
+#: sys-utils/cytune.c:294 sys-utils/cytune.c:351 sys-utils/cytune.c:382
+#, c-format
+msgid "Can't get threshold for %s: %s\n"
+msgstr "Laitteelle %s ei voi hakea kynnystä: %s\n"
+
+#: sys-utils/cytune.c:300 sys-utils/cytune.c:357 sys-utils/cytune.c:388
+#, c-format
+msgid "Can't get timeout for %s: %s\n"
+msgstr "Laitteelle %s ei voi hakea aikarajaa: %s\n"
+
+#: sys-utils/cytune.c:306
+#, 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:309
+#, c-format
+msgid "%s: %ld default threshold and %ld default timeout\n"
+msgstr "%s: %ld oletuskynnys ja %ld oletusaikakatkaisu\n"
+
+#: sys-utils/cytune.c:327
+msgid "Can't set signal handler"
+msgstr "Signaalikäsittelijää ei voi asettaa"
+
+#: sys-utils/cytune.c:331 sys-utils/cytune.c:366
+msgid "gettimeofday failed"
+msgstr "gettimeofday epäonnistui"
+
+#: sys-utils/cytune.c:344 sys-utils/cytune.c:376
+#, c-format
+msgid "Can't issue CYGETMON on %s: %s\n"
+msgstr "Laitteelle %s ei voi käyttää CYGETMONia: %s\n"
+
+#: sys-utils/cytune.c:418
+#, c-format
+msgid ""
+"%s: %lu ints, %lu/%lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+
+#: sys-utils/cytune.c:424
+#, c-format
+msgid "   %f int/sec; %f rec, %f send (char/sec)\n"
+msgstr ""
+
+#: sys-utils/cytune.c:429
+#, c-format
+msgid ""
+"%s: %lu ints, %lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+
+#: sys-utils/cytune.c:435
+#, c-format
+msgid "   %f int/sec; %f rec (char/sec)\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:45
+#, fuzzy, c-format
+msgid "Usage: %s [-c] [-n level] [-r] [-s bufsize]\n"
+msgstr "käyttö: %s [-c] [-n taso] [-s puskurin_koko]\n"
+
+#: sys-utils/flock.c:65
+#, c-format
+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 ""
+
+#: sys-utils/flock.c:192
+#, fuzzy, c-format
+msgid "%s: %s requires exactly one command argument\n"
+msgstr "%s vaatii argumentin\n"
+
+#: sys-utils/flock.c:219
+#, fuzzy, c-format
+msgid "%s: cannot open lock file %s: %s\n"
+msgstr "%s: tiedostoa %s ei voi avata: %s\n"
+
+#: sys-utils/flock.c:231
+#, fuzzy, c-format
+msgid "%s: bad number: %s\n"
+msgstr "%s: virheellinen arvo\n"
+
+#: sys-utils/flock.c:238
+#, c-format
+msgid "%s: requires file descriptor, file or directory\n"
+msgstr ""
+
+#: sys-utils/flock.c:294
+#, fuzzy, c-format
+msgid "%s: fork failed: %s\n"
+msgstr "haarauttaminen epäonnistui\n"
+
+#: sys-utils/ipcmk.c:84
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage: %s [options]\n"
+"\n"
+msgstr "Käyttö: %s [valitsimet] laite ...\n"
+
+#: sys-utils/ipcmk.c:86
+#, c-format
+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 ""
+
+#: sys-utils/ipcmk.c:90
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see ipcmk(1).\n"
+"\n"
+msgstr ""
+"\n"
+"Lisätietoja manuaalisivulla setarch(8).\n"
+
+#: sys-utils/ipcmk.c:142
+msgid "create share memory failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:144
+#, c-format
+msgid "Shared memory id: %d\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:150
+msgid "create message queue failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:152
+#, fuzzy, c-format
+msgid "Message queue id: %d\n"
+msgstr ""
+"\n"
+"Viestijonon msqid=%d\n"
+
+#: sys-utils/ipcmk.c:158
+#, fuzzy
+msgid "create semaphore failed"
+msgstr "varattuja semaforeja = %d\n"
+
+#: sys-utils/ipcmk.c:160
+#, fuzzy, c-format
+msgid "Semaphore id: %d\n"
+msgstr "semaforin arvo enintään = %d\n"
+
+#: sys-utils/ipcrm.c:66
+#, c-format
+msgid "invalid id: %s\n"
+msgstr "virheellinen id: %s\n"
+
+#: sys-utils/ipcrm.c:84
+#, fuzzy, c-format
+msgid "cannot remove id %s (%s)\n"
+msgstr "nimeäminen %s → %s ei onnistu: %s\n"
+
+#: sys-utils/ipcrm.c:99
+#, c-format
+msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:126
+#, c-format
+msgid "unknown resource type: %s\n"
+msgstr "tuntematon resurssityyppi: %s\n"
+
+#: sys-utils/ipcrm.c:130
+#, c-format
+msgid "resource(s) deleted\n"
+msgstr "resurssi(t) poistettu\n"
+
+#: sys-utils/ipcrm.c:140
+#, c-format
+msgid ""
+"usage: %s [ [-q msqid] [-m shmid] [-s semid]\n"
+"          [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n"
+msgstr ""
+"käyttö: %s [ [-q msqid] [-m shmid] [-s semid]\n"
+"           [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n"
+
+#: sys-utils/ipcrm.c:181
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: virheellinen valitsin – %c\n"
+
+#: sys-utils/ipcrm.c:193
+#, c-format
+msgid "%s: illegal key (%s)\n"
+msgstr "%s: virheellinen avain (%s)\n"
+
+#: sys-utils/ipcrm.c:208 sys-utils/ipcrm.c:240
+#, fuzzy
+msgid "permission denied for key"
+msgstr "mount: lupa evätty"
+
+#: sys-utils/ipcrm.c:211 sys-utils/ipcrm.c:250
+msgid "already removed key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:214 sys-utils/ipcrm.c:245
+msgid "invalid key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:217 sys-utils/ipcrm.c:255
+#, fuzzy
+msgid "unknown error in key"
+msgstr "%s: Tuntematon virhe tiedostossa %s\n"
+
+#: sys-utils/ipcrm.c:241
+#, fuzzy
+msgid "permission denied for id"
+msgstr "mount: lupa evätty"
+
+#: sys-utils/ipcrm.c:246
+msgid "invalid id"
+msgstr "virheellinen id"
+
+#: sys-utils/ipcrm.c:251
+msgid "already removed id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:256
+#, fuzzy
+msgid "unknown error in id"
+msgstr "%s: Tuntematon virhe tiedostossa %s\n"
+
+#: sys-utils/ipcrm.c:259
+#, c-format
+msgid "%s: %s (%s)\n"
+msgstr "%s: %s (%s)\n"
+
+#: sys-utils/ipcrm.c:267
+#, c-format
+msgid "%s: unknown argument: %s\n"
+msgstr "%s: tuntematon argumentti: %s\n"
+
+#: sys-utils/ipcs.c:120
+#, c-format
+msgid "usage : %s -asmq -tclup \n"
+msgstr "käyttö : %s -asmq -tclup \n"
+
+#: sys-utils/ipcs.c:121
+#, c-format
+msgid "\t%s [-s -m -q] -i id\n"
+msgstr "\t%s [-s -m -q] -i id\n"
+
+#: sys-utils/ipcs.c:122
+#, c-format
+msgid "\t%s -h for help.\n"
+msgstr "\t%s -h näyttää ohjeen.\n"
+
+#: sys-utils/ipcs.c:128
+#, c-format
+msgid ""
+"%s provides information on ipc facilities for which you have read access.\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:130
+#, c-format
+msgid ""
+"Resource Specification:\n"
+"\t-m : shared_mem\n"
+"\t-q : messages\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:131
+#, c-format
+msgid ""
+"\t-s : semaphores\n"
+"\t-a : all (default)\n"
+msgstr ""
+"\t-s : semaforit\n"
+"\t-a : kaikki (oletus)\n"
+
+#: sys-utils/ipcs.c:132
+#, c-format
+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"
+
+#: sys-utils/ipcs.c:133
+#, c-format
+msgid ""
+"\t-l : limits\n"
+"\t-u : summary\n"
+msgstr ""
+"\t-l : rajat\n"
+"\t-u : tiivistelmä\n"
+
+#: sys-utils/ipcs.c:134
+#, c-format
+msgid "-i id [-s -q -m] : details on resource identified by id\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:258
+#, c-format
+msgid "kernel not configured for shared memory\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:264
+#, c-format
+msgid "------ Shared Memory Limits --------\n"
+msgstr "------ Jaetun muistin rajat --------\n"
+
+#: sys-utils/ipcs.c:269
+#, c-format
+msgid "max number of segments = %lu\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:271
+#, c-format
+msgid "max seg size (kbytes) = %lu\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:273
+#, c-format
+msgid "max total shared memory (kbytes) = %llu\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:275
+#, c-format
+msgid "min seg size (bytes) = %lu\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:280
+#, c-format
+msgid "------ Shared Memory Status --------\n"
+msgstr "------ Jaetun muistin tila ---------\n"
+
+#: sys-utils/ipcs.c:281
+#, c-format
+msgid "segments allocated %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:282
+#, c-format
+msgid "pages allocated %ld\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:283
+#, c-format
+msgid "pages resident  %ld\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:284
+#, c-format
+msgid "pages swapped   %ld\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:285
+#, c-format
+msgid "Swap performance: %ld attempts\t %ld successes\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:290
+#, c-format
+msgid "------ Shared Memory Segment Creators/Owners --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:298 sys-utils/ipcs.c:305
+#: sys-utils/ipcs.c:311
+msgid "shmid"
+msgstr "shmid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:311 sys-utils/ipcs.c:412
+#: sys-utils/ipcs.c:427 sys-utils/ipcs.c:510 sys-utils/ipcs.c:528
+msgid "perms"
+msgstr "oikeudet"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "cuid"
+msgstr "cuid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "cgid"
+msgstr "cgid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "uid"
+msgstr "uid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "gid"
+msgstr "gid"
+
+#: sys-utils/ipcs.c:296
+#, c-format
+msgid "------ Shared Memory Attach/Detach/Change Times --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:298 sys-utils/ipcs.c:305 sys-utils/ipcs.c:311
+#: sys-utils/ipcs.c:418 sys-utils/ipcs.c:427 sys-utils/ipcs.c:516
+#: sys-utils/ipcs.c:522 sys-utils/ipcs.c:528
+msgid "owner"
+msgstr "omistaja"
+
+#: sys-utils/ipcs.c:298
+msgid "attached"
+msgstr ""
+
+#: sys-utils/ipcs.c:298
+msgid "detached"
+msgstr ""
+
+#: sys-utils/ipcs.c:299
+#, fuzzy
+msgid "changed"
+msgstr "Kuori vaihdettu.\n"
+
+#: sys-utils/ipcs.c:303
+#, c-format
+msgid "------ Shared Memory Creator/Last-op --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:305
+msgid "cpid"
+msgstr "cpid"
+
+#: sys-utils/ipcs.c:305
+msgid "lpid"
+msgstr "lpid"
+
+#: sys-utils/ipcs.c:309
+#, c-format
+msgid "------ Shared Memory Segments --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:311 sys-utils/ipcs.c:427 sys-utils/ipcs.c:528
+msgid "key"
+msgstr ""
+
+#: sys-utils/ipcs.c:311
+msgid "bytes"
+msgstr "tavut"
+
+#: sys-utils/ipcs.c:312
+msgid "nattch"
+msgstr ""
+
+#: sys-utils/ipcs.c:312
+msgid "status"
+msgstr "status"
+
+#: sys-utils/ipcs.c:333 sys-utils/ipcs.c:335 sys-utils/ipcs.c:337
+#: sys-utils/ipcs.c:448 sys-utils/ipcs.c:450 sys-utils/ipcs.c:549
+#: sys-utils/ipcs.c:551 sys-utils/ipcs.c:553 sys-utils/ipcs.c:604
+#: sys-utils/ipcs.c:606 sys-utils/ipcs.c:634 sys-utils/ipcs.c:636
+#: sys-utils/ipcs.c:638 sys-utils/ipcs.c:661
+msgid "Not set"
+msgstr "Ei asetettu"
+
+#: sys-utils/ipcs.c:365
+msgid "dest"
+msgstr "kohde"
+
+#: sys-utils/ipcs.c:366
+msgid "locked"
+msgstr "lukittu"
+
+#: sys-utils/ipcs.c:386
+#, c-format
+msgid "kernel not configured for semaphores\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:392
+#, c-format
+msgid "------ Semaphore Limits --------\n"
+msgstr "------- Semaforien rajat -------\n"
+
+#: sys-utils/ipcs.c:396
+#, c-format
+msgid "max number of arrays = %d\n"
+msgstr "taulukkoja enintään = %d\n"
+
+#: sys-utils/ipcs.c:397
+#, c-format
+msgid "max semaphores per array = %d\n"
+msgstr "semaforeja taulukossa enintään = %d\n"
+
+#: sys-utils/ipcs.c:398
+#, c-format
+msgid "max semaphores system wide = %d\n"
+msgstr "semaforeja järjestelmässä enintään = %d\n"
+
+#: sys-utils/ipcs.c:399
+#, c-format
+msgid "max ops per semop call = %d\n"
+msgstr "operaatioita semop-kutsua kohden enintään = %d\n"
+
+#: sys-utils/ipcs.c:400
+#, c-format
+msgid "semaphore max value = %d\n"
+msgstr "semaforin arvo enintään = %d\n"
+
+#: sys-utils/ipcs.c:404
+#, c-format
+msgid "------ Semaphore Status --------\n"
+msgstr "------- Semaforien tila --------\n"
+
+#: sys-utils/ipcs.c:405
+#, c-format
+msgid "used arrays = %d\n"
+msgstr "käytettyjä taulukoita = %d\n"
+
+#: sys-utils/ipcs.c:406
+#, c-format
+msgid "allocated semaphores = %d\n"
+msgstr "varattuja semaforeja = %d\n"
+
+#: sys-utils/ipcs.c:410
+#, c-format
+msgid "------ Semaphore Arrays Creators/Owners --------\n"
+msgstr "----- Semaforitaulukoiden Luojat/Omistajat -----\n"
+
+#: sys-utils/ipcs.c:412 sys-utils/ipcs.c:418 sys-utils/ipcs.c:427
+msgid "semid"
+msgstr "semid"
+
+#: sys-utils/ipcs.c:416
+#, c-format
+msgid "------ Semaphore Operation/Change Times --------\n"
+msgstr "------ Semaforien Operaatio-/Muutosajat --------\n"
+
+#: sys-utils/ipcs.c:418
+msgid "last-op"
+msgstr ""
+
+#: sys-utils/ipcs.c:418
+#, fuzzy
+msgid "last-changed"
+msgstr "Salasanaa ei vaihdettu."
+
+#: sys-utils/ipcs.c:425
+#, c-format
+msgid "------ Semaphore Arrays --------\n"
+msgstr "------ Semaforitaulukot --------\n"
+
+#: sys-utils/ipcs.c:427
+#, fuzzy
+msgid "nsems"
+msgstr "käyttäjää"
+
+#: sys-utils/ipcs.c:486
+#, c-format
+msgid "kernel not configured for message queues\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:494
+#, c-format
+msgid "------ Messages: Limits --------\n"
+msgstr "------- Viestit: Rajat ---------\n"
+
+#: sys-utils/ipcs.c:495
+#, c-format
+msgid "max queues system wide = %d\n"
+msgstr "jonoja järjestelmässä enintään = %d\n"
+
+#: sys-utils/ipcs.c:496
+#, c-format
+msgid "max size of message (bytes) = %d\n"
+msgstr "viestin koko enintään (tavua) = %d\n"
+
+#: sys-utils/ipcs.c:497
+#, 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:501
+#, c-format
+msgid "------ Messages: Status --------\n"
+msgstr "------- Viestien tila --------\n"
+
+#: sys-utils/ipcs.c:502
+#, c-format
+msgid "allocated queues = %d\n"
+msgstr "varattuja jonoja = %d\n"
+
+#: sys-utils/ipcs.c:503
+#, c-format
+msgid "used headers = %d\n"
+msgstr "käytettyjä otsakkeita = %d\n"
+
+#: sys-utils/ipcs.c:504
+#, c-format
+msgid "used space = %d bytes\n"
+msgstr "käytettyä tilaa = %d tavua\n"
+
+#: sys-utils/ipcs.c:508
+#, c-format
+msgid "------ Message Queues: Creators/Owners --------\n"
+msgstr "------- Viestijonot: Luojat/Omistajat ----------\n"
+
+#: sys-utils/ipcs.c:510 sys-utils/ipcs.c:516 sys-utils/ipcs.c:522
+#: sys-utils/ipcs.c:528
+msgid "msqid"
+msgstr "msqid"
+
+#: sys-utils/ipcs.c:514
+#, c-format
+msgid "------ Message Queues Send/Recv/Change Times --------\n"
+msgstr "----- Viestijonot: Läh.-/Vast.otto-/Muutosajat ------\n"
+
+#: sys-utils/ipcs.c:516
+msgid "send"
+msgstr "send"
+
+#: sys-utils/ipcs.c:516
+msgid "recv"
+msgstr "recv"
+
+#: sys-utils/ipcs.c:516
+msgid "change"
+msgstr ""
+
+#: sys-utils/ipcs.c:520
+#, c-format
+msgid "------ Message Queues PIDs --------\n"
+msgstr "------- Viestijonot: PIDit --------\n"
+
+#: sys-utils/ipcs.c:522
+msgid "lspid"
+msgstr "lspid"
+
+#: sys-utils/ipcs.c:522
+msgid "lrpid"
+msgstr "lrpid"
+
+#: sys-utils/ipcs.c:526
+#, c-format
+msgid "------ Message Queues --------\n"
+msgstr "-------- Viestijonot ---------\n"
+
+#: sys-utils/ipcs.c:529
+msgid "used-bytes"
+msgstr ""
+
+#: sys-utils/ipcs.c:529
+msgid "messages"
+msgstr ""
+
+#: sys-utils/ipcs.c:593
+#, fuzzy
+msgid "shmctl failed"
+msgstr "fsync epäonnistui"
+
+#: sys-utils/ipcs.c:595
+#, c-format
+msgid ""
+"\n"
+"Shared memory Segment shmid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:596
+#, c-format
+msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+
+#: sys-utils/ipcs.c:598
+#, c-format
+msgid "mode=%#o\taccess_perms=%#o\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:600
+#, c-format
+msgid "bytes=%ld\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:603
+#, c-format
+msgid "att_time=%-26.24s\n"
+msgstr "att_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:605
+#, c-format
+msgid "det_time=%-26.24s\n"
+msgstr "det_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:607 sys-utils/ipcs.c:637
+#, c-format
+msgid "change_time=%-26.24s\n"
+msgstr "change_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:619
+#, fuzzy
+msgid "msgctl failed"
+msgstr "fsync epäonnistui"
+
+#: sys-utils/ipcs.c:621
+#, c-format
+msgid ""
+"\n"
+"Message Queue msqid=%d\n"
+msgstr ""
+"\n"
+"Viestijonon msqid=%d\n"
+
+#: sys-utils/ipcs.c:622
+#, c-format
+msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
+
+#: sys-utils/ipcs.c:624
+#, 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:633
+#, c-format
+msgid "send_time=%-26.24s\n"
+msgstr "send_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:635
+#, c-format
+msgid "rcv_time=%-26.24s\n"
+msgstr "rcv_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:652 sys-utils/ipcs.c:674
+#, fuzzy
+msgid "semctl failed"
+msgstr "siirtyminen epäonnistui"
+
+#: sys-utils/ipcs.c:654
+#, c-format
+msgid ""
+"\n"
+"Semaphore Array semid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:655
+#, c-format
+msgid "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+msgstr "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+
+#: sys-utils/ipcs.c:657
+#, c-format
+msgid "mode=%#o, access_perms=%#o\n"
+msgstr "mode=%#o, access_perms=%#o\n"
+
+#: sys-utils/ipcs.c:659
+#, c-format
+msgid "nsems = %ld\n"
+msgstr "nsems = %ld\n"
+
+#: sys-utils/ipcs.c:660
+#, c-format
+msgid "otime = %-26.24s\n"
+msgstr "otime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:662
+#, c-format
+msgid "ctime = %-26.24s\n"
+msgstr "ctime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:665
+msgid "semnum"
+msgstr "semnum"
+
+#: sys-utils/ipcs.c:665
+msgid "value"
+msgstr "value"
+
+#: sys-utils/ipcs.c:665
+msgid "ncount"
+msgstr "ncount"
+
+#: sys-utils/ipcs.c:665
+msgid "zcount"
+msgstr "zcount"
+
+#: sys-utils/ipcs.c:665
+msgid "pid"
+msgstr "pid"
+
+#: sys-utils/ldattach.c:92
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [ -dhV78neo12 ] [ -s <speed> ] <ldisc> <device>\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:94
+msgid ""
+"\n"
+"Known <ldisc> names:\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:179
+#, c-format
+msgid "invalid speed: %s"
+msgstr "virheellinen nopeus: %s"
+
+#: sys-utils/ldattach.c:182
+#, c-format
+msgid "ldattach from %s\n"
+msgstr "ldattach – %s\n"
+
+#: sys-utils/ldattach.c:187 text-utils/tailf.c:205
+msgid "invalid option"
+msgstr "virheellinen valitsin"
+
+#: sys-utils/ldattach.c:199
+#, fuzzy, c-format
+msgid "invalid line discipline: %s"
+msgstr "virheellinen id: %s\n"
+
+#: sys-utils/ldattach.c:207
+#, fuzzy, c-format
+msgid "%s is not a serial line"
+msgstr "%s ei ole lohkolaite"
+
+#: sys-utils/ldattach.c:213
+#, fuzzy, c-format
+msgid "cannot get terminal attributes for %s"
+msgstr "laitteen %s kokoa ei voi hakea"
+
+#: sys-utils/ldattach.c:216
+#, c-format
+msgid "speed %d unsupported"
+msgstr ""
+
+#: sys-utils/ldattach.c:247
+#, c-format
+msgid "cannot set terminal attributes for %s"
+msgstr ""
+
+#: sys-utils/ldattach.c:254
+#, fuzzy
+msgid "cannot set line discipline"
+msgstr "Levyasemalla ei voi siirtyä"
+
+#: sys-utils/ldattach.c:260
+#, fuzzy
+msgid "cannot daemonize"
+msgstr "laitetta %s ei voi avata"
+
+#: sys-utils/lscpu.c:64
+#, fuzzy
+msgid "none"
+msgstr "Ei mitään"
+
+#: sys-utils/lscpu.c:65
+msgid "para"
+msgstr ""
+
+#: sys-utils/lscpu.c:66
+msgid "full"
+msgstr ""
+
+#: sys-utils/lscpu.c:129 sys-utils/lscpu.c:152 sys-utils/lscpu.c:441
+#, fuzzy, c-format
+msgid "error: %s"
+msgstr "Virhe säännöllisessä lausekkeessa: "
+
+#: sys-utils/lscpu.c:154
+#, fuzzy, c-format
+msgid "error parse: %s"
+msgstr "virhe luettaessa tiedostoa %s\n"
+
+#: sys-utils/lscpu.c:176
+#, fuzzy
+msgid "error: strdup failed"
+msgstr "kirjoittaminen vakiotulosteeseen epäonnistui"
+
+#: sys-utils/lscpu.c:259
+#, fuzzy
+msgid "error: uname failed"
+msgstr "virhe: UUID:n jäsennys epäonnistui"
+
+#: sys-utils/lscpu.c:491
+msgid "error: malloc failed"
+msgstr "virhe: malloc epäonnistui"
+
+#: sys-utils/lscpu.c:506
+msgid "error: /sys filesystem is not accessable."
+msgstr ""
+
+#: sys-utils/lscpu.c:524
+#, 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"
+"# CPU,Core,Socket,Node"
+msgstr ""
+
+#: sys-utils/lscpu.c:590
+msgid "Thread(s) per core:"
+msgstr ""
+
+#: sys-utils/lscpu.c:591
+msgid "Core(s) per socket:"
+msgstr ""
+
+#: sys-utils/lscpu.c:592
+msgid "CPU socket(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:596
+msgid "NUMA node(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:598
+msgid "Vendor ID:"
+msgstr ""
+
+#: sys-utils/lscpu.c:600
+msgid "CPU family:"
+msgstr ""
+
+#: sys-utils/lscpu.c:602
+msgid "Model:"
+msgstr ""
+
+#: sys-utils/lscpu.c:604
+msgid "Stepping:"
+msgstr ""
+
+#: sys-utils/lscpu.c:606
+msgid "CPU MHz:"
+msgstr ""
+
+#: sys-utils/lscpu.c:609 sys-utils/lscpu.c:611
+#, fuzzy
+msgid "Virtualization:"
+msgstr "Vanha tilanne:\n"
+
+#: sys-utils/lscpu.c:614
+msgid "Hypervisor vendor:"
+msgstr ""
+
+#: sys-utils/lscpu.c:615
+msgid "Virtualization type:"
+msgstr ""
+
+#: sys-utils/lscpu.c:623
+#, c-format
+msgid "%s cache:"
+msgstr ""
+
+#: sys-utils/lscpu.c:631
+#, fuzzy, c-format
+msgid "Usage: %s [option]\n"
+msgstr "Käyttö: %s [valitsimet] laite ...\n"
+
+#: sys-utils/lscpu.c:634
+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 ""
+
+#: sys-utils/lscpu.c:683
+#, fuzzy, c-format
+msgid "error: change working directory to %s."
+msgstr "virhe muutettaessa tiedoston %s tilaa: %s\n"
+
+#: sys-utils/rdev.c:77
+msgid "usage: rdev [ -rv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]"
+msgstr "käyttö: rdev [ -rv ] [ -o SIIRTYMÄ ] [ VEDOS [ VALUE [ SIIRTYMÄ ] ] ]"
+
+#: sys-utils/rdev.c:78
+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"
+
+#: sys-utils/rdev.c:79
+msgid "  rdev /dev/fd0 /dev/hda2         sets ROOT to /dev/hda2"
+msgstr "  rdev /dev/fd0 /dev/hda2         asettaa JUUREKSI /dev/hda2"
+
+#: sys-utils/rdev.c:80
+msgid "  rdev -R /dev/fd0 1              set the ROOTFLAGS (readonly status)"
+msgstr "  rdev -R /dev/fd0 1              aseta JUURILIPUT (vain luku -tila)"
+
+#: sys-utils/rdev.c:81
+msgid "  rdev -r /dev/fd0 627            set the RAMDISK size"
+msgstr "  rdev -r /dev/fd0 627            aseta RAM-levyn koko"
+
+#: sys-utils/rdev.c:82
+msgid "  rdev -v /dev/fd0 1              set the bootup VIDEOMODE"
+msgstr "  rdev -v /dev/fd0 1              aseta käynnistyksen NÄYTTÖTILA"
+
+#: sys-utils/rdev.c:83
+msgid "  rdev -o N ...                   use the byte offset N"
+msgstr "  rdev -o N ...                   käytä tavusiirtymää N"
+
+#: sys-utils/rdev.c:84
+msgid "  rootflags ...                   same as rdev -R"
+msgstr "  rootflags ...                   sama kuin rdev -R"
+
+#: sys-utils/rdev.c:85
+msgid "  ramsize ...                     same as rdev -r"
+msgstr "  ramsize ...                     sama kuin rdev -r"
+
+#: sys-utils/rdev.c:86
+msgid "  vidmode ...                     same as rdev -v"
+msgstr "  vidmode ...                     sama kuin rdev -v"
+
+#: sys-utils/rdev.c:87
+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,..."
+
+#: sys-utils/rdev.c:88
+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."
+
+#: sys-utils/rdev.c:245
+msgid "missing comma"
+msgstr "puuttuva pilkku"
+
+#: sys-utils/readprofile.c:72
+#, c-format
+msgid "out of memory"
+msgstr "muisti lopussa"
+
+# c-format
+#: sys-utils/readprofile.c:118
+#, 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"
+
+#: sys-utils/readprofile.c:227
+#, fuzzy, c-format
+msgid "readprofile: error writing %s: %s\n"
+msgstr "mount: virhe kirjoitettaessa %s: %s"
+
+#: sys-utils/readprofile.c:268
+#, c-format
+msgid "Assuming reversed byte order. Use -n to force native byte order.\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:284
+#, c-format
+msgid "Sampling_step: %i\n"
+msgstr "Sampling_step: %i\n"
+
+#: sys-utils/readprofile.c:305 sys-utils/readprofile.c:331
+#, c-format
+msgid "%s: %s(%i): wrong map line\n"
+msgstr "%s: %s(%i): väärä kartan rivi\n"
+
+#: sys-utils/readprofile.c:318
+#, c-format
+msgid "%s: can't find \"_stext\" in %s\n"
+msgstr "%s: merkkijonoa ”_stext” ei löydy tiedostosta %s\n"
+
+#: sys-utils/readprofile.c:352
+#, c-format
+msgid "%s: profile address out of range. Wrong map file?\n"
+msgstr ""
+"%s: profiiliosoite sallitun välin ulkopuolella. Väärä karttatiedosto?\n"
+
+#: sys-utils/readprofile.c:412
+msgid "total"
+msgstr "yhteensä"
+
+#: sys-utils/renice.c:53
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" renice [-n] priority [-p|--pid] pid  [... pid]\n"
+" renice [-n] priority  -g|--pgrp pgrp [... pgrp]\n"
+" renice [-n] priority  -u|--user user [... user]\n"
+" renice -h | --help\n"
+" renice -v | --version\n"
+"\n"
+msgstr ""
+"\n"
+"Käyttö:\n"
+" renice prioriteetti [-p|--pid] pid [... pid]\n"
+" renice prioriteetti  -g|--pgrp pryhmä [... pryhmä]\n"
+" renice prioriteetti  -u|--user käyttäjä [... käyttäjä]\n"
+" renice -h | --help\n"
+" renice -v | --version\n"
+"\n"
+
+#: sys-utils/renice.c:89
+#, c-format
+msgid "renice from %s\n"
+msgstr "renice – %s\n"
+
+#: sys-utils/renice.c:126
+#, c-format
+msgid "renice: %s: unknown user\n"
+msgstr "renice: %s: tuntematon käyttäjä\n"
+
+#: sys-utils/renice.c:134
+#, c-format
+msgid "renice: %s: bad value\n"
+msgstr "renice: %s: virheellinen arvo\n"
+
+#: sys-utils/renice.c:152 sys-utils/renice.c:164
+msgid "getpriority"
+msgstr "getpriority"
+
+#: sys-utils/renice.c:157
+msgid "setpriority"
+msgstr "setpriority"
+
+#: sys-utils/renice.c:168
+#, c-format
+msgid "%d: old priority %d, new priority %d\n"
+msgstr "%d: vanha prioriteetti %d, uusi prioriteetti %d\n"
+
+#: sys-utils/rtcwake.c:81
+#, c-format
+msgid ""
+"usage: %s [options]\n"
+"    -d | --device <device>    select rtc device (rtc0|rtc1|...)\n"
+"    -l | --local              RTC uses local timezone\n"
+"    -m | --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"
+"    -V | --version            show version\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:140
+msgid "read rtc time"
+msgstr ""
+
+#: sys-utils/rtcwake.c:145
+msgid "read system time"
+msgstr ""
+
+#: sys-utils/rtcwake.c:163
+msgid "convert rtc time"
+msgstr ""
+
+#: sys-utils/rtcwake.c:222
+msgid "set rtc alarm"
+msgstr ""
+
+#: sys-utils/rtcwake.c:226
+msgid "enable rtc alarm"
+msgstr ""
+
+#: sys-utils/rtcwake.c:230
+msgid "set rtc wake alarm"
+msgstr ""
+
+#: sys-utils/rtcwake.c:342
+#, c-format
+msgid "%s: unrecognized suspend state '%s'\n"
+msgstr " %s: tunnistamaton virransäästötila ”%s”\n"
+
+#: sys-utils/rtcwake.c:351
+#, c-format
+msgid "%s: illegal interval %s seconds\n"
+msgstr "%s: virheellinen aikaväli %s sekuntia\n"
+
+#: sys-utils/rtcwake.c:365
+#, c-format
+msgid "%s: illegal time_t value %s\n"
+msgstr "%s: virheellinen time_t-arvo %s\n"
+
+#: sys-utils/rtcwake.c:381
+#, c-format
+msgid "%s: version %s\n"
+msgstr "%s: versio %s\n"
+
+#: sys-utils/rtcwake.c:394
+#, 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:399
+#, c-format
+msgid "Using UTC time.\n"
+msgstr "Käytetään UTC-aikaa.\n"
+
+#: sys-utils/rtcwake.c:400
+#, c-format
+msgid "Using local time.\n"
+msgstr "Käytetään paikallista aikaa.\n"
+
+#: sys-utils/rtcwake.c:403
+#, c-format
+msgid "%s: must provide wake time\n"
+msgstr "%s: herätysaika on annettava\n"
+
+#: sys-utils/rtcwake.c:413
+msgid "malloc() failed"
+msgstr "malloc() epäonnistui"
+
+#: sys-utils/rtcwake.c:425
+#, fuzzy, c-format
+msgid "%s: %s not enabled for wakeup events\n"
+msgstr "%s: %s ei ole lp-laite.\n"
+
+#: sys-utils/rtcwake.c:441
+#, c-format
+msgid "alarm %ld, sys_time %ld, rtc_time %ld, seconds %u\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:446
+#, c-format
+msgid "%s: time doesn't go backward to %s\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:456
+#, fuzzy, c-format
+msgid "%s: wakeup from \"%s\" using %s at %s\n"
+msgstr "Viesti %3$s:lle kirjautuneelta käyttäjältä %1$s@%2$s, kello %4$s..."
+
+#: sys-utils/rtcwake.c:473
+msgid "rtc read"
+msgstr "virhe rtc:tä luettaessa"
+
+#: sys-utils/rtcwake.c:482
+msgid "disable rtc alarm interrupt"
+msgstr ""
+
+#: sys-utils/setarch.c:50
+#, c-format
+msgid "Switching on %s.\n"
+msgstr ""
+
+#: sys-utils/setarch.c:113
+#, c-format
+msgid ""
+"Usage: %s%s [options] [program [program arguments]]\n"
+"\n"
+"Options:\n"
+msgstr ""
+"Käyttö: %s%s [valitsimet] [ohjelma [ohjelman argumentit]]\n"
+"\n"
+"Valitsimet:\n"
+
+#: sys-utils/setarch.c:117
+#, c-format
+msgid ""
+" -h, --help               displays this help text\n"
+" -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"
+msgstr ""
+
+#: sys-utils/setarch.c:131
+#, c-format
+msgid ""
+"\n"
+"For more information see setarch(8).\n"
+msgstr ""
+"\n"
+"Lisätietoja manuaalisivulla setarch(8).\n"
+
+#: sys-utils/setarch.c:143
+#, c-format
+msgid ""
+"%s: %s\n"
+"Try `%s --help' for more information.\n"
+msgstr ""
+"%s: %s\n"
+"Komento ”%s --help” antaa lisää tietoa.\n"
+
+#: sys-utils/setarch.c:215 sys-utils/setarch.c:231
+#, c-format
+msgid "%s: Unrecognized architecture"
+msgstr " %s: Tunnistamaton arkkitehtuuri"
+
+#: sys-utils/setarch.c:249 sys-utils/setarch.c:256
+msgid "Not enough arguments"
+msgstr "Liian vähän argumentteja"
+
+#: sys-utils/setarch.c:265 sys-utils/setarch.c:318
+#, fuzzy, c-format
+msgid "Failed to set personality to %s"
+msgstr "Osion kirjoitus epäonnistui laitteelle %s"
+
+#: sys-utils/setsid.c:26
+#, c-format
+msgid "usage: %s program [arg ...]\n"
+msgstr "käyttö: %s ohjelma [ arg ...]\n"
+
+#: sys-utils/tunelp.c:75
+#, c-format
+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"
+
+#: sys-utils/tunelp.c:91
+msgid "malloc error"
+msgstr "malloc-virhe"
+
+#: sys-utils/tunelp.c:103
+#, c-format
+msgid "%s: bad value\n"
+msgstr "%s: virheellinen arvo\n"
+
+#: sys-utils/tunelp.c:242
+#, c-format
+msgid "%s: %s not an lp device.\n"
+msgstr "%s: %s ei ole lp-laite.\n"
+
+#: sys-utils/tunelp.c:263
+#, c-format
+msgid "%s status is %d"
+msgstr "%s:n tila on %d"
+
+#: sys-utils/tunelp.c:264
+#, c-format
+msgid ", busy"
+msgstr ", varattu"
+
+#: sys-utils/tunelp.c:265
+#, c-format
+msgid ", ready"
+msgstr ", valmis"
+
+#: sys-utils/tunelp.c:266
+#, c-format
+msgid ", out of paper"
+msgstr ", paperi lopussa"
+
+#: sys-utils/tunelp.c:267
+#, c-format
+msgid ", on-line"
+msgstr ", on-line"
+
+#: sys-utils/tunelp.c:268
+#, c-format
+msgid ", error"
+msgstr ", virhe"
+
+#: sys-utils/tunelp.c:285
+msgid "LPGETIRQ error"
+msgstr "LPGETIRQ-virhe"
+
+#: sys-utils/tunelp.c:291
+#, c-format
+msgid "%s using IRQ %d\n"
+msgstr "%s käyttää IRQ:ta %d\n"
+
+#: sys-utils/tunelp.c:293
+#, c-format
+msgid "%s using polling\n"
+msgstr "%s käyttää kiertokyselyä\n"
+
+#: text-utils/col.c:154
+#, c-format
+msgid "col: bad -l argument %s.\n"
+msgstr "col: virheellinen -l -argumentti %s.\n"
+
+#: text-utils/col.c:544
+#, c-format
+msgid "usage: col [-bfpx] [-l nline]\n"
+msgstr "käyttö: col [-bfpx] [-l rivimäärä]\n"
+
+#: text-utils/col.c:550
+#, c-format
+msgid "col: write error.\n"
+msgstr "col: kirjoitusvirhe.\n"
+
+#: text-utils/col.c:557
+#, c-format
+msgid "col: warning: can't back up %s.\n"
+msgstr "col: varoitus: varmistaminen ei onnistu %s.\n"
+
+#: text-utils/col.c:558
+msgid "past first line"
+msgstr "ensimmäisestä rivistä eteenpäin"
+
+#: text-utils/col.c:558
+msgid "-- line already flushed"
+msgstr "-- rivipuskuri on jo tyhjennetty"
+
+#: text-utils/colcrt.c:97
+#, c-format
+msgid "usage: %s [ - ] [ -2 ] [ file ... ]\n"
+msgstr "käyttö: %s [ - ] [ -2 ] [ tiedosto ... ]\n"
+
+#: text-utils/column.c:297
+msgid "line too long"
+msgstr "liian pitkä rivi"
+
+#: text-utils/column.c:374
+#, c-format
+msgid "usage: column [-tx] [-c columns] [file ...]\n"
+msgstr "käyttö: column [-tx] -c sarakkeet] [tiedosto ...]\n"
+
+#: text-utils/hexsyntax.c:82
+#, c-format
+msgid "hexdump: bad length value.\n"
+msgstr "hexdump: virheellinen pituusarvo.\n"
+
+#: text-utils/hexsyntax.c:93
+#, c-format
+msgid "hexdump: bad skip value.\n"
+msgstr "hexdump: virheellinen ohitusarvo.\n"
+
+#: text-utils/hexsyntax.c:131
+#, c-format
+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"
+
+#: text-utils/more.c:256
+#, c-format
+msgid "usage: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n"
+msgstr "käyttö: %s [-dflpcsu] [+rivinumero | +/hahmo] nimi1 nimi2 ...\n"
+
+#: text-utils/more.c:479
+#, c-format
+msgid "%s: unknown option \"-%c\"\n"
+msgstr "%s: tuntematon valitsin ”-%c”\n"
+
+#: text-utils/more.c:511
+#, c-format
+msgid ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+msgstr ""
+"\n"
+"*** %s: hakemisto ***\n"
+"\n"
+
+#: text-utils/more.c:555
+#, c-format
+msgid ""
+"\n"
+"******** %s: Not a text file ********\n"
+"\n"
+msgstr ""
+"\n"
+"***** %s: Ei ole tekstitiedosto *****\n"
+"\n"
+
+#: text-utils/more.c:658
+#, c-format
+msgid "[Use q or Q to quit]"
+msgstr "[Käytä q tai Q lopettaaksesi]"
+
+#: text-utils/more.c:750
+#, c-format
+msgid "--More--"
+msgstr "--Lisää--"
+
+#: text-utils/more.c:752
+#, c-format
+msgid "(Next file: %s)"
+msgstr "(Seuraava tiedosto: %s)"
+
+#: text-utils/more.c:757
+#, c-format
+msgid "[Press space to continue, 'q' to quit.]"
+msgstr "[Välilyönti jatkaa, ”q” lopettaa.]"
+
+#: text-utils/more.c:1172
+#, c-format
+msgid "...back %d pages"
+msgstr "...%d sivua taaksepäin"
+
+#: text-utils/more.c:1174
+msgid "...back 1 page"
+msgstr "...1 sivu taaksepäin"
+
+#: text-utils/more.c:1217
+msgid "...skipping one line"
+msgstr "...ohitetaan yksi rivi"
+
+#: text-utils/more.c:1219
+#, c-format
+msgid "...skipping %d lines"
+msgstr "...ohitetaan %d riviä"
+
+#: text-utils/more.c:1256
+msgid ""
+"\n"
+"***Back***\n"
+"\n"
+msgstr ""
+"\n"
+"***Takaisin***\n"
+"\n"
+
+#: text-utils/more.c:1294
+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:1301
+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:1370 text-utils/more.c:1375
+#, c-format
+msgid "[Press 'h' for instructions.]"
+msgstr "[Näppäin ”h” näyttää ohjeita.]"
+
+#: text-utils/more.c:1409
+#, c-format
+msgid "\"%s\" line %d"
+msgstr "”%s” rivi %d"
+
+#: text-utils/more.c:1411
+#, c-format
+msgid "[Not a file] line %d"
+msgstr "[Ei tiedosto] rivi %d"
+
+#: text-utils/more.c:1495
+msgid "  Overflow\n"
+msgstr "  Ylivuoto\n"
+
+#: text-utils/more.c:1542
+msgid "...skipping\n"
+msgstr "...ohitetaan\n"
+
+#: text-utils/more.c:1571
+msgid "Regular expression botch"
+msgstr "Virhe säännöllisessä lausekkeessa"
+
+#: text-utils/more.c:1579
+msgid ""
+"\n"
+"Pattern not found\n"
+msgstr ""
+"\n"
+"Hahmoa ei löydy\n"
+
+#: text-utils/more.c:1582 text-utils/pg.c:1124 text-utils/pg.c:1275
+msgid "Pattern not found"
+msgstr "Hahmoa ei löydy"
+
+#: text-utils/more.c:1643
+msgid "can't fork\n"
+msgstr "haarauttaminen ei onnistu\n"
+
+#: text-utils/more.c:1682
+msgid ""
+"\n"
+"...Skipping "
+msgstr ""
+"\n"
+"...Ohitetaan"
+
+#: text-utils/more.c:1686
+msgid "...Skipping to file "
+msgstr "...Vaihdetaan tiedostoon "
+
+#: text-utils/more.c:1688
+msgid "...Skipping back to file "
+msgstr "...Palataan tiedostoon "
+
+#: text-utils/more.c:1966
+msgid "Line too long"
+msgstr "Liian pitkä rivi"
+
+#: text-utils/more.c:2009
+msgid "No previous command to substitute for"
+msgstr "Ei edellistä komentoa korvattavaksi"
+
+#: text-utils/odsyntax.c:130
+#, c-format
+msgid "od: od(1) has been deprecated for hexdump(1).\n"
+msgstr "od: od(1) on vanhentunut, on suositeltavaa käyttää hexdump(1).\n"
+
+#: text-utils/odsyntax.c:133
+#, c-format
+msgid "od: hexdump(1) compatibility doesn't support the -%c option%s\n"
+msgstr "od: hexdump(1)-yhteensopivuus ei tue -%c -valitsinta%s\n"
+
+#: text-utils/odsyntax.c:134
+msgid "; see strings(1)."
+msgstr "; katso strings(1)."
+
+#: text-utils/parse.c:63
+#, c-format
+msgid "hexdump: can't read %s.\n"
+msgstr "hexdump: tiedostoa %s ei voi lukea.\n"
+
+#: text-utils/parse.c:68
+#, c-format
+msgid "hexdump: line too long.\n"
+msgstr "hexdump: liian pitkä rivi.\n"
+
+#: text-utils/parse.c:401
+#, c-format
+msgid "hexdump: byte count with multiple conversion characters.\n"
+msgstr "hexdump: tavumäärä useiden muunnosmerkkien kanssa.\n"
+
+#: text-utils/parse.c:483
+#, c-format
+msgid "hexdump: bad byte count for conversion character %s.\n"
+msgstr "hexdump: virheellinen tavumäärä muunnosmerkille %s.\n"
+
+#: text-utils/parse.c:490
+#, c-format
+msgid "hexdump: %%s requires a precision or a byte count.\n"
+msgstr "hexdump: %%s vaatii tarkkuuden tai tavumäärän.\n"
+
+#: text-utils/parse.c:496
+#, c-format
+msgid "hexdump: bad format {%s}\n"
+msgstr "hexdump: virheellinen muoto {%s}\n"
+
+#: text-utils/parse.c:502
+#, c-format
+msgid "hexdump: bad conversion character %%%s.\n"
+msgstr "hexdump: virheellinen muunnosmerkki %%%s.\n"
+
+#: text-utils/pg.c:145
+msgid ""
+"All rights reserved.\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"
+msgstr ""
+
+#: text-utils/pg.c:223
+#, fuzzy
+msgid "Out of memory\n"
+msgstr "Muisti lopussa"
+
+#: text-utils/pg.c:236
+#, c-format
+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"
+
+#: text-utils/pg.c:245
+#, c-format
+msgid "%s: option requires an argument -- %s\n"
+msgstr "%s: valitsin vaatii argumentin – %s\n"
+
+#: text-utils/pg.c:253
+#, c-format
+msgid "%s: illegal option -- %s\n"
+msgstr "%s: virheellinen valitsin – %s\n"
+
+#: text-utils/pg.c:370
+msgid "...skipping forward\n"
+msgstr "...ohitetaan eteenpäin\n"
+
+#: text-utils/pg.c:372
+msgid "...skipping backward\n"
+msgstr "...ohitetaan taaksepäin\n"
+
+#: text-utils/pg.c:394
+msgid "No next file"
+msgstr "Ei seuraavaa tiedostoa"
+
+#: text-utils/pg.c:398
+msgid "No previous file"
+msgstr "Ei edellistä tiedostoa"
+
+#: text-utils/pg.c:928
+#, c-format
+msgid "%s: Read error from %s file\n"
+msgstr "%s: Lukuvirhe tiedostosta %s\n"
+
+#: text-utils/pg.c:934
+#, c-format
+msgid "%s: Unexpected EOF in %s file\n"
+msgstr "%s: Odottamaton tiedoston loppu (EOF) tiedostossa %s\n"
+
+#: text-utils/pg.c:937
+#, c-format
+msgid "%s: Unknown error in %s file\n"
+msgstr "%s: Tuntematon virhe tiedostossa %s\n"
+
+#: text-utils/pg.c:1032
+#, c-format
+msgid "%s: Cannot create tempfile\n"
+msgstr "%s: Väliaikaistiedostoa ei voi luoda\n"
+
+#: text-utils/pg.c:1041 text-utils/pg.c:1216 text-utils/pg.c:1243
+msgid "RE error: "
+msgstr "Virhe säännöllisessä lausekkeessa: "
+
+#: text-utils/pg.c:1198
+msgid "(EOF)"
+msgstr "(tiedoston loppu)"
+
+#: text-utils/pg.c:1224 text-utils/pg.c:1251
+msgid "No remembered search string"
+msgstr "Ei muistettua hakumerkkijonoa"
+
+#: text-utils/pg.c:1307
+msgid "Cannot open "
+msgstr "Ei voi avata "
+
+#: text-utils/pg.c:1355
+msgid "saved"
+msgstr "tallennettu"
+
+#: text-utils/pg.c:1462
+msgid ": !command not allowed in rflag mode.\n"
+msgstr ": !-komento ei ole sallittu rajoitetussa tilassa.\n"
+
+#: text-utils/pg.c:1494
+msgid "fork() failed, try again later\n"
+msgstr "fork() epäonnistui, yritä myöhemmin uudelleen\n"
+
+#: text-utils/pg.c:1702
+msgid "(Next file: "
+msgstr "(Seuraava tiedosto: "
+
+#: text-utils/rev.c:113
+#, fuzzy
+msgid "unable to allocate bufferspace"
+msgstr "Puskuritilaa ei voi varata\n"
+
+#: text-utils/rev.c:143
+#, c-format
+msgid "usage: rev [file ...]\n"
+msgstr "käyttö: rev [tiedosto ...]\n"
+
+#: text-utils/tailf.c:57 text-utils/tailf.c:92
+#, fuzzy, c-format
+msgid "cannot open \"%s\" for read"
+msgstr "Tiedostoa ”%s” ei voi avata lukua varten\n"
+
+#: text-utils/tailf.c:95 text-utils/tailf.c:214
+#, fuzzy, c-format
+msgid "cannot stat \"%s\""
+msgstr "laitteen %s tilaa ei voi lukea"
+
+#: text-utils/tailf.c:108
+#, c-format
+msgid "incomplete write to \"%s\" (written %zd, expected %zd)\n"
+msgstr ""
+
+#: text-utils/tailf.c:146
+#, c-format
+msgid "%s: cannot add inotify watch (limit of inotify watches was reached)."
+msgstr ""
+
+#: text-utils/tailf.c:150
+#, c-format
+msgid "%s: cannot add inotify watch."
+msgstr ""
+
+#: text-utils/tailf.c:159
+#, fuzzy, c-format
+msgid "%s: cannot read inotify events"
+msgstr "%s: tiedostoa %s ei voi avata\n"
+
+#: text-utils/tailf.c:198 text-utils/tailf.c:202
+msgid "invalid number of lines"
+msgstr "virheellinen rivien määrä"
+
+#: text-utils/tailf.c:209
+msgid "usage: tailf [-n N | -N] logfile"
+msgstr "käyttö: tailf [-n N | -N] lokitiedosto"
+
+#: text-utils/ul.c:141
+#, c-format
+msgid "usage: %s [ -i ] [ -tTerm ] file...\n"
+msgstr "käyttö: %s [ -i ] [ -tTerm ] tiedosto...\n"
+
+#: text-utils/ul.c:152
+#, c-format
+msgid "trouble reading terminfo"
+msgstr "ongelma luettaessa terminfoa"
+
+#: text-utils/ul.c:242
+#, c-format
+msgid "Unknown escape sequence in input: %o, %o\n"
+msgstr "Tuntematon ohjaussarja syötteessä: %o, %o\n"
+
+#: text-utils/ul.c:425
+#, c-format
+msgid "Unable to allocate buffer.\n"
+msgstr "Puskuria ei voi varata.\n"
+
+#: text-utils/ul.c:586
+#, c-format
+msgid "Input line too long.\n"
+msgstr "Syöterivi on liian pitkä.\n"
+
+#: text-utils/ul.c:599
+#, c-format
+msgid "Out of memory when growing buffer.\n"
+msgstr "Muisti loppui kasvatettaessa puskuria.\n"
+
+#~ msgid "# partition table of %s\n"
+#~ msgstr "# %s:n osiotaulu\n"
+
+#~ 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: unable to get current directory - %s\n"
+#~ msgstr "namei: nykyistä hakemistoa ei voida hakea – %s\n"
+
+#~ msgid "namei: unable to chdir to %s - %s (%d)\n"
+#~ msgstr "namei: hakemistoon %s ei voi siirtyä – %s (%d)\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 "%s: cannot stat %s: %s\n"
+#~ msgstr "%s: tiedoston %s tilaa ei voi lukea: %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 "%s from %s%s\n"
+#~ msgstr "%s paketista %s%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 "Autoconfigure failed.\n"
+#~ msgstr "Automaattinen konfigurointi epäonnistui.\n"
+
+#~ 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: cannot find %s in %s"
+#~ msgstr "mount: %s ei löydy tiedostosta %s"
+
+#~ 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 "mount: fs type %s not supported by kernel"
+#~ msgstr "mount: ydin ei tue tiedostojärjestelmätyyppiä %s"
+
+#~ 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 (file)
index 0000000..78e92a3
Binary files /dev/null and b/po/fr.gmo differ
diff --git a/po/fr.po b/po/fr.po
new file mode 100644 (file)
index 0000000..41bb518
--- /dev/null
+++ b/po/fr.po
@@ -0,0 +1,12433 @@
+# Messages français pour util-linux-ng.
+# Copyright © 2008 Free Software Foundation, Inc.
+# This file is distributed under the same license as the util-linux-ng package.
+# Michel Robitaille <robitail@IRO.UMontreal.CA>, traducteur depuis/since 1996.
+# Nicolas Provost <nprovost@quadriv.com>, 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.
+#
+# relecture des lignes 0-5000 faite le 27-09-2008 N. Provost
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: util-linux-ng 2.16-rc2\n"
+"Report-Msgid-Bugs-To: Karel Zak <kzak@redhat.com>\n"
+"POT-Creation-Date: 2009-11-30 16:27+0100\n"
+"PO-Revision-Date: 2009-07-05 22:36+0100\n"
+"Last-Translator: Nicolas Provost <nprovost@quadriv.com>\n"
+"Language-Team: French <traduc@traduc.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: disk-utils/blockdev.c:37
+msgid "set read-only"
+msgstr "initialise le mode lecture-seule"
+
+#: disk-utils/blockdev.c:38
+msgid "set read-write"
+msgstr "initialise le mode lecture-écriture"
+
+#: disk-utils/blockdev.c:39
+msgid "get read-only"
+msgstr "savoir si le statut du périphérique est en mode lecture-seule"
+
+#: disk-utils/blockdev.c:40
+msgid "get sectorsize"
+msgstr "obtenir la taille des secteurs"
+
+#: disk-utils/blockdev.c:41
+msgid "get blocksize"
+msgstr "obtenir la taille des blocs"
+
+#: disk-utils/blockdev.c:42
+msgid "set blocksize"
+msgstr "initialise la taille des blocs"
+
+#: disk-utils/blockdev.c:43
+msgid "get 32-bit sector count"
+msgstr "obtenir le compteur de secteurs 32 bits"
+
+#: disk-utils/blockdev.c:44
+msgid "get size in bytes"
+msgstr "obtenir la taille en octets"
+
+#: disk-utils/blockdev.c:45
+msgid "set readahead"
+msgstr "spécifie le cache en lecture"
+
+#: disk-utils/blockdev.c:46
+msgid "get readahead"
+msgstr "retourne l'état du cache en lecture"
+
+#: disk-utils/blockdev.c:47
+msgid "set filesystem readahead"
+msgstr "spécifie le cache en lecture du syst. de fichiers"
+
+#: disk-utils/blockdev.c:48
+msgid "get filesystem readahead"
+msgstr "retourne l'état du cache en lecture du syst. de fichiers"
+
+#: disk-utils/blockdev.c:49
+msgid "flush buffers"
+msgstr "vide les tampons"
+
+#: disk-utils/blockdev.c:51
+msgid "reread partition table"
+msgstr "relit la table de partition"
+
+#: disk-utils/blockdev.c:60
+#, c-format
+msgid "Usage:\n"
+msgstr "Utilisation :\n"
+
+#: disk-utils/blockdev.c:62
+#, c-format
+msgid "  %s --report [devices]\n"
+msgstr "  %s --report [périphériques]\n"
+
+#: disk-utils/blockdev.c:63
+#, c-format
+msgid "  %s [-v|-q] commands devices\n"
+msgstr "  %s [-V] [-v|-q] commandes périphériques\n"
+
+#: disk-utils/blockdev.c:66
+#, c-format
+msgid "Available commands:\n"
+msgstr "Commandes disponibles :\n"
+
+#: disk-utils/blockdev.c:68
+msgid "get size in 512-byte sectors"
+msgstr "obtenir la taille secteurs de 512 octets"
+
+#: disk-utils/blockdev.c:201
+#, c-format
+msgid "%s: Unknown command: %s\n"
+msgstr "%s: commande inconnue : %s\n"
+
+#: disk-utils/blockdev.c:213 disk-utils/blockdev.c:222
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s requiert un argument\n"
+
+#: disk-utils/blockdev.c:255
+#, c-format
+msgid "%s failed.\n"
+msgstr "%s a échoué.\n"
+
+#: disk-utils/blockdev.c:292
+#, c-format
+msgid "%s succeeded.\n"
+msgstr "%s a réussi.\n"
+
+#: disk-utils/blockdev.c:310 disk-utils/blockdev.c:338
+#, c-format
+msgid "%s: cannot open %s\n"
+msgstr "%s: impossible d'ouvrir %s\n"
+
+#: disk-utils/blockdev.c:355
+#, c-format
+msgid "%s: ioctl error on %s\n"
+msgstr "%s: erreur ioctl() sur %s\n"
+
+#: disk-utils/blockdev.c:364
+#, c-format
+msgid "RO    RA   SSZ   BSZ   StartSec            Size   Device\n"
+msgstr "RO    RA   SSZ   BSZ   Sect.Début       Taille  Périphérique\n"
+
+#: disk-utils/elvtune.c:48
+#, c-format
+msgid "usage:\n"
+msgstr "Utilisation :\n"
+
+#: disk-utils/elvtune.c:53
+#, 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:104
+#, c-format
+msgid "parse error\n"
+msgstr "erreur d'analyse\n"
+
+#: disk-utils/elvtune.c:110
+#, c-format
+msgid "missing blockdevice, use -h for help\n"
+msgstr "périphérique par bloc manquant, utiliser -h pour l'aide\n"
+
+#: disk-utils/elvtune.c:131
+#, 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 est utile uniquement avec les anciens noyaux;\n"
+"pour les noyaux 2.6 utiliser l'ordonnanceur sysfs..\n"
+
+#: disk-utils/fdformat.c:31
+#, c-format
+msgid "Formatting ... "
+msgstr "Formattage en cours ... "
+
+#: disk-utils/fdformat.c:49 disk-utils/fdformat.c:86
+#, c-format
+msgid "done\n"
+msgstr "complété\n"
+
+#: disk-utils/fdformat.c:60
+#, 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, lu %d\n"
+
+#: disk-utils/fdformat.c:80
+#, 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:96
+#, c-format
+msgid "usage: %s [ -n ] device\n"
+msgstr "Utilisation : %s [ -n ] périphérique\n"
+
+#: disk-utils/fdformat.c:118 disk-utils/fsck.minix.c:1282
+#: disk-utils/isosize.c:181 disk-utils/mkfs.bfs.c:115 disk-utils/mkfs.c:52
+#: disk-utils/mkfs.cramfs.c:813 disk-utils/mkfs.minix.c:571
+#: disk-utils/mkswap.c:461 misc-utils/ddate.c:179 misc-utils/rename.c:79
+#: misc-utils/script.c:147 sys-utils/readprofile.c:197
+#, c-format
+msgid "%s (%s)\n"
+msgstr "%s (%s)\n"
+
+#: disk-utils/fdformat.c:132
+#, c-format
+msgid "%s: not a block device\n"
+msgstr "%s: n'est pas un périphérique de bloc\n"
+
+#: disk-utils/fdformat.c:142
+msgid "Could not determine current format type"
+msgstr "Impossible de déterminer le type de format courant"
+
+#: disk-utils/fdformat.c:143
+#, 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 kB.\n"
+
+#: disk-utils/fdformat.c:144
+msgid "Double"
+msgstr "Double"
+
+#: disk-utils/fdformat.c:144
+msgid "Single"
+msgstr "Simple"
+
+#: disk-utils/fsck.cramfs.c:118
+#, c-format
+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 dir] fichier\n"
+" -h         afficher l'aide\n"
+" -x dir    extraire dans le répertoire\n"
+" -v         travailler en mode bavard\n"
+" fichier   fichier à tester\n"
+
+#: disk-utils/fsck.cramfs.c:164
+#, c-format
+msgid "stat failed: %s"
+msgstr "échec de \"stat\" : %s"
+
+#: disk-utils/fsck.cramfs.c:168 disk-utils/fsck.cramfs.c:552
+#, c-format
+msgid "open failed: %s"
+msgstr "échec d'ouverture : %s"
+
+#: disk-utils/fsck.cramfs.c:173
+#, c-format
+msgid "ioctl failed: unable to determine device size: %s"
+msgstr ""
+"échec de \"ioctl\" : impossible de trouver la taille du périphérique : %s"
+
+#: disk-utils/fsck.cramfs.c:181
+#, c-format
+msgid "not a block device or file: %s"
+msgstr "%s n'est pas un périphérique par blocs ou un fichier"
+
+#: disk-utils/fsck.cramfs.c:185 disk-utils/fsck.cramfs.c:227
+msgid "file length too short"
+msgstr "nom de fichier trop court"
+
+#: disk-utils/fsck.cramfs.c:190 disk-utils/fsck.cramfs.c:198
+#: disk-utils/fsck.cramfs.c:259 disk-utils/fsck.cramfs.c:279
+#, c-format
+msgid "read failed: %s"
+msgstr "échec de lecture : %s"
+
+#: disk-utils/fsck.cramfs.c:208
+msgid "superblock magic not found"
+msgstr "nombre magique du super-bloc non trouvé"
+
+#: disk-utils/fsck.cramfs.c:217
+msgid "unsupported filesystem features"
+msgstr "caractéristiques de système de fichiers non supportées"
+
+#: disk-utils/fsck.cramfs.c:220
+#, c-format
+msgid "superblock size (%d) too small"
+msgstr "taille de super-bloc trop petite (%d)"
+
+#: disk-utils/fsck.cramfs.c:224
+msgid "zero file count"
+msgstr "nombre de fichiers nul"
+
+#: disk-utils/fsck.cramfs.c:230
+#, c-format
+msgid "warning: file extends past end of filesystem\n"
+msgstr ""
+"Attention : le fichier se termine après la fin du système de fichiers\n"
+
+#: disk-utils/fsck.cramfs.c:234
+#, c-format
+msgid "warning: old cramfs format\n"
+msgstr "ATTENTION : ancien format \"cramfs\"\n"
+
+#: disk-utils/fsck.cramfs.c:247
+msgid "unable to test CRC: old cramfs format"
+msgstr "impossible de tester la somme de contrôle CRC : format cramfs ancien"
+
+#: disk-utils/fsck.cramfs.c:273 disk-utils/fsck.cramfs.c:340
+#: disk-utils/fsck.cramfs.c:478 login-utils/chfn.c:529 login-utils/chsh.c:439
+#: sys-utils/cytune.c:321
+msgid "malloc failed"
+msgstr "échec de malloc()"
+
+#: disk-utils/fsck.cramfs.c:298
+msgid "crc error"
+msgstr "erreur de CRC"
+
+#: disk-utils/fsck.cramfs.c:365
+msgid "root inode is not directory"
+msgstr "l'inode racine n'est pas un répertoire"
+
+#: disk-utils/fsck.cramfs.c:370
+#, c-format
+msgid "bad root offset (%lu)"
+msgstr "mauvais index de racine (%lu)"
+
+#: disk-utils/fsck.cramfs.c:388
+msgid "data block too large"
+msgstr "bloc de données trop grand"
+
+#: disk-utils/fsck.cramfs.c:392
+#, c-format
+msgid "decompression error %p(%d): %s"
+msgstr "erreur de décompression %p(%d) : %s"
+
+#: disk-utils/fsck.cramfs.c:416
+#, c-format
+msgid "  hole at %ld (%zd)\n"
+msgstr "  trou à %ld (%zd)\n"
+
+#: disk-utils/fsck.cramfs.c:424 disk-utils/fsck.cramfs.c:596
+#, 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:430
+#, c-format
+msgid "non-block (%ld) bytes"
+msgstr "octets (%ld) de type non-bloc"
+
+#: disk-utils/fsck.cramfs.c:434
+#, c-format
+msgid "non-size (%ld vs %ld) bytes"
+msgstr "octets non associés à une taille (%ld vs %ld) "
+
+#: disk-utils/fsck.cramfs.c:440
+#, c-format
+msgid "write failed: %s"
+msgstr "échec d'écriture : %s"
+
+#: disk-utils/fsck.cramfs.c:453
+#, c-format
+msgid "lchown failed: %s"
+msgstr "échec de la fonction \"lchown\" : %s"
+
+#: disk-utils/fsck.cramfs.c:459
+#, c-format
+msgid "chown failed: %s"
+msgstr "échec de la fonction \"chown\" : %s"
+
+#: disk-utils/fsck.cramfs.c:466
+#, c-format
+msgid "utime failed: %s"
+msgstr "échec de la fonction \"utime\" : %s"
+
+#: disk-utils/fsck.cramfs.c:481
+#, c-format
+msgid "directory inode has zero offset and non-zero size: %s"
+msgstr "l'inode du répertoire a un index nul et une taille non nulle : %s"
+
+#: disk-utils/fsck.cramfs.c:495
+#, c-format
+msgid "mkdir failed: %s"
+msgstr "échec de la fonction \"mkdir\" : %s"
+
+#: disk-utils/fsck.cramfs.c:512
+msgid "filename length is zero"
+msgstr "le nom de fichier a une longueur nulle"
+
+#: disk-utils/fsck.cramfs.c:515
+msgid "bad filename length"
+msgstr "mauvaise longueur de nom de fichier"
+
+#: disk-utils/fsck.cramfs.c:522
+msgid "bad inode offset"
+msgstr "mauvais index d'inode"
+
+#: disk-utils/fsck.cramfs.c:538
+msgid "file inode has zero offset and non-zero size"
+msgstr "l'inode du fichier a un index nul et une taille non nulle"
+
+#: disk-utils/fsck.cramfs.c:541
+msgid "file inode has zero size and non-zero offset"
+msgstr "l'inode du fichier a une taille nulle et un index non nul"
+
+#: disk-utils/fsck.cramfs.c:572
+msgid "symbolic link has zero offset"
+msgstr "lien symbolique d'index nul"
+
+#: disk-utils/fsck.cramfs.c:575
+msgid "symbolic link has zero size"
+msgstr "lien symbolique de taille nulle"
+
+#: disk-utils/fsck.cramfs.c:587
+#, 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:602
+#, c-format
+msgid "symlink failed: %s"
+msgstr "échec de fonction \"symlink\" : %s"
+
+#: disk-utils/fsck.cramfs.c:614
+#, 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:626
+#, c-format
+msgid "fifo has non-zero size: %s"
+msgstr "la pile \"fifo\" a une taille non nulle : %s"
+
+#: disk-utils/fsck.cramfs.c:632
+#, c-format
+msgid "socket has non-zero size: %s"
+msgstr "socket ayant une taille non nulle : %s"
+
+#: disk-utils/fsck.cramfs.c:637
+#, c-format
+msgid "bogus mode: %s (%o)"
+msgstr "mode hasardeux (\"bogus\") : \"%s\" (%o)"
+
+#: disk-utils/fsck.cramfs.c:647
+#, c-format
+msgid "mknod failed: %s"
+msgstr "échec de la fonction \"mknod\" : %s"
+
+#: disk-utils/fsck.cramfs.c:683
+#, c-format
+msgid "directory data start (%ld) < sizeof(struct cramfs_super) + start (%ld)"
+msgstr ""
+"départ des données du répertoire (%ld) < taille de (struct cramfs_super) + "
+"début (%ld)"
+
+#: disk-utils/fsck.cramfs.c:686
+#, 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:691
+msgid "invalid file data offset"
+msgstr "index de données du fichier non valide"
+
+#: disk-utils/fsck.cramfs.c:715
+msgid "failed to allocate outbuffer"
+msgstr "impossible d'allouer le tampon de sortie"
+
+#: disk-utils/fsck.cramfs.c:728
+msgid "compiled without -x support"
+msgstr "compilé sans support pour -x"
+
+#: disk-utils/fsck.minix.c:210
+#, c-format
+msgid "Usage: %s [-larvsmf] /dev/name\n"
+msgstr "Utilisation : %s [-larvsmf] /dev/nom\n"
+
+#: disk-utils/fsck.minix.c:326
+#, c-format
+msgid "%s is mounted.\t "
+msgstr "%s est monté.\t "
+
+#: disk-utils/fsck.minix.c:328
+msgid "Do you really want to continue"
+msgstr "Désirez-vous réellement continuer?"
+
+#: disk-utils/fsck.minix.c:332
+#, c-format
+msgid "check aborted.\n"
+msgstr "vérification stoppée.\n"
+
+#: disk-utils/fsck.minix.c:351 disk-utils/fsck.minix.c:374
+#, 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:355 disk-utils/fsck.minix.c:378
+#, c-format
+msgid "Zone nr >= ZONES in file `%s'."
+msgstr "Zone nr >= valeur de ZONES dans le fichier \"%s\"."
+
+#: disk-utils/fsck.minix.c:360 disk-utils/fsck.minix.c:383
+msgid "Remove block"
+msgstr "Enlève le bloc"
+
+#: disk-utils/fsck.minix.c:401
+#, c-format
+msgid "Read error: unable to seek to block in file '%s'\n"
+msgstr ""
+"Erreur en lecture: impossible de se positionner sur un bloc du fichier \"%s"
+"\"\n"
+
+#: disk-utils/fsck.minix.c:407
+#, 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:422
+#, 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:428 disk-utils/mkfs.minix.c:209
+msgid "seek failed in write_block"
+msgstr "échec de positionnement dans write_block (écriture de bloc)"
+
+#: disk-utils/fsck.minix.c:431
+#, 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:547
+msgid "seek failed in write_super_block"
+msgstr ""
+"échec de positionnement durant l'écriture du super bloc (write_super_block)"
+
+#: disk-utils/fsck.minix.c:549 disk-utils/mkfs.minix.c:196
+msgid "unable to write super-block"
+msgstr "impossible d'écrire le super bloc"
+
+#: disk-utils/fsck.minix.c:559
+msgid "Unable to write inode map"
+msgstr "Impossible d'écrire la table des inodes"
+
+#: disk-utils/fsck.minix.c:561
+msgid "Unable to write zone map"
+msgstr "Impossible d'écrire la table des zones"
+
+#: disk-utils/fsck.minix.c:563
+msgid "Unable to write inodes"
+msgstr "Impossible d'écrire des inodes"
+
+#: disk-utils/fsck.minix.c:590
+msgid "seek failed"
+msgstr "échec de positionnement"
+
+#: disk-utils/fsck.minix.c:592
+msgid "unable to read super block"
+msgstr "Impossible de lire le super bloc"
+
+#: disk-utils/fsck.minix.c:610
+msgid "bad magic number in super-block"
+msgstr "nombre magique corrompu dans le super bloc"
+
+#: disk-utils/fsck.minix.c:612
+msgid "Only 1k blocks/zones supported"
+msgstr "Blocs de 1ko/zones seuls supportés"
+
+#: disk-utils/fsck.minix.c:614
+msgid "bad s_imap_blocks field in super-block"
+msgstr "champ s_imap_blocks corrompu dans le super bloc"
+
+#: disk-utils/fsck.minix.c:616
+msgid "bad s_zmap_blocks field in super-block"
+msgstr "champ s_zmap_blocks corrompu dans le super bloc"
+
+#: disk-utils/fsck.minix.c:623
+msgid "Unable to allocate buffer for inode map"
+msgstr "Impossible d'allouer un tampon pour la table des inodes"
+
+#: disk-utils/fsck.minix.c:626
+msgid "Unable to allocate buffer for zone map"
+msgstr "Impossible d'allouer un tampon pour la table de zones"
+
+#: disk-utils/fsck.minix.c:631
+msgid "Unable to allocate buffer for inodes"
+msgstr "Impossible d'allouer un tampon pour des inodes"
+
+#: disk-utils/fsck.minix.c:634
+msgid "Unable to allocate buffer for inode count"
+msgstr "Impossible d'allouer un tampon pour le compteur d'inodes"
+
+#: disk-utils/fsck.minix.c:637
+msgid "Unable to allocate buffer for zone count"
+msgstr "Impossible d'allouer un tampon pour le compteur de zones"
+
+#: disk-utils/fsck.minix.c:639
+msgid "Unable to read inode map"
+msgstr "Impossible de lire la table des inodes"
+
+#: disk-utils/fsck.minix.c:641
+msgid "Unable to read zone map"
+msgstr "Impossible de lire la table de zones"
+
+#: disk-utils/fsck.minix.c:643
+msgid "Unable to read inodes"
+msgstr "Impossible de lire les inodes"
+
+#: disk-utils/fsck.minix.c:645
+#, c-format
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr "AVERTISSEMENT: Firstzone != Norm_firstzone\n"
+
+#: disk-utils/fsck.minix.c:650 disk-utils/mkfs.minix.c:450
+#, c-format
+msgid "%ld inodes\n"
+msgstr "%ld inodes\n"
+
+#: disk-utils/fsck.minix.c:651 disk-utils/mkfs.minix.c:451
+#, c-format
+msgid "%ld blocks\n"
+msgstr "%ld blocs\n"
+
+#: disk-utils/fsck.minix.c:652 disk-utils/mkfs.minix.c:452
+#, c-format
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr "Firstdatazone=%ld (%ld)\n"
+
+#: disk-utils/fsck.minix.c:653 disk-utils/mkfs.minix.c:453
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr "Taille_zone=%d\n"
+
+#: disk-utils/fsck.minix.c:654
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr "Taille_maximale=%ld\n"
+
+#: disk-utils/fsck.minix.c:655
+#, c-format
+msgid "Filesystem state=%d\n"
+msgstr "État du système de fichiers=%d\n"
+
+#: disk-utils/fsck.minix.c:656
+#, c-format
+msgid ""
+"namelen=%d\n"
+"\n"
+msgstr ""
+"longueur_noms=%d\n"
+"\n"
+
+#: disk-utils/fsck.minix.c:671 disk-utils/fsck.minix.c:722
+#, c-format
+msgid "Inode %d marked unused, but used for file '%s'\n"
+msgstr "Inode %d marqué comme libre, mais utilisé pour le fichier « %s »\n"
+
+#: disk-utils/fsck.minix.c:675 disk-utils/fsck.minix.c:726
+msgid "Mark in use"
+msgstr "Marquer comme utilisé"
+
+#: disk-utils/fsck.minix.c:697 disk-utils/fsck.minix.c:746
+#, c-format
+msgid "The file `%s' has mode %05o\n"
+msgstr "Le fichier « %s » a pour mode %05o\n"
+
+#: disk-utils/fsck.minix.c:704 disk-utils/fsck.minix.c:752
+#, c-format
+msgid "Warning: inode count too big.\n"
+msgstr "AVERTISSEMENT: compte d'inodes trop grand.\n"
+
+#: disk-utils/fsck.minix.c:764 disk-utils/fsck.minix.c:772
+msgid "root inode isn't a directory"
+msgstr "l'inode de la racine n'est pas un répertoire"
+
+#: disk-utils/fsck.minix.c:786 disk-utils/fsck.minix.c:819
+#, 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:788 disk-utils/fsck.minix.c:821
+#: disk-utils/fsck.minix.c:1144 disk-utils/fsck.minix.c:1153
+#: disk-utils/fsck.minix.c:1199 disk-utils/fsck.minix.c:1208
+msgid "Clear"
+msgstr "Libre"
+
+#: disk-utils/fsck.minix.c:798 disk-utils/fsck.minix.c:831
+#, c-format
+msgid "Block %d in file `%s' is marked not in use."
+msgstr "Bloc %d dans le fichier « %s » marqué comme non utilisé."
+
+#: disk-utils/fsck.minix.c:800 disk-utils/fsck.minix.c:833
+msgid "Correct"
+msgstr "Correct"
+
+#: disk-utils/fsck.minix.c:972 disk-utils/fsck.minix.c:1039
+#, c-format
+msgid "The directory '%s' contains a bad inode number for file '%.*s'."
+msgstr ""
+"Le répertoire \"%s\" contient un numéro d'inode corrompu pour le fichier '%."
+"*s'."
+
+#: disk-utils/fsck.minix.c:975 disk-utils/fsck.minix.c:1042
+msgid " Remove"
+msgstr " Enlever"
+
+#: disk-utils/fsck.minix.c:989 disk-utils/fsck.minix.c:1056
+#, 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:997 disk-utils/fsck.minix.c:1065
+#, 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:1099 disk-utils/fsck.minix.c:1117
+msgid "internal error"
+msgstr "erreur interne"
+
+#: disk-utils/fsck.minix.c:1102 disk-utils/fsck.minix.c:1120
+#, c-format
+msgid "%s: bad directory: size < 32"
+msgstr "%s: répertoire corrompu: taille < 32"
+
+#: disk-utils/fsck.minix.c:1133
+msgid "seek failed in bad_zone"
+msgstr "échec de positionnement dans bad_zone"
+
+#: disk-utils/fsck.minix.c:1143 disk-utils/fsck.minix.c:1198
+#, c-format
+msgid "Inode %d mode not cleared."
+msgstr "Mode %d du inode non réinitialisé."
+
+#: disk-utils/fsck.minix.c:1152 disk-utils/fsck.minix.c:1207
+#, c-format
+msgid "Inode %d not used, marked used in the bitmap."
+msgstr "Inode %d non utilisé, marqué utilisé dans la table."
+
+#: disk-utils/fsck.minix.c:1158 disk-utils/fsck.minix.c:1213
+#, c-format
+msgid "Inode %d used, marked unused in the bitmap."
+msgstr "Inode %d utilisé, marqué inutilisé dans la table."
+
+#: disk-utils/fsck.minix.c:1160 disk-utils/fsck.minix.c:1214
+msgid "Set"
+msgstr "Initialisé"
+
+#: disk-utils/fsck.minix.c:1164 disk-utils/fsck.minix.c:1218
+#, c-format
+msgid "Inode %d (mode = %07o), i_nlinks=%d, counted=%d."
+msgstr "Inode %d (mode = %07o), i_nlinks=%d, décompte=%d."
+
+#: disk-utils/fsck.minix.c:1166 disk-utils/fsck.minix.c:1220
+msgid "Set i_nlinks to count"
+msgstr "Initilisation de i_nlinks pour décompte"
+
+#: disk-utils/fsck.minix.c:1178 disk-utils/fsck.minix.c:1232
+#, c-format
+msgid "Zone %d: marked in use, no file uses it."
+msgstr "Zone %d: marquée utilisée, aucun fichier ne l'utilise."
+
+#: disk-utils/fsck.minix.c:1179 disk-utils/fsck.minix.c:1234
+msgid "Unmark"
+msgstr "Non marqué"
+
+#: disk-utils/fsck.minix.c:1184 disk-utils/fsck.minix.c:1239
+#, c-format
+msgid "Zone %d: in use, counted=%d\n"
+msgstr "Zone %d: utilisée, décompte=%d\n"
+
+#: disk-utils/fsck.minix.c:1187 disk-utils/fsck.minix.c:1242
+#, c-format
+msgid "Zone %d: not in use, counted=%d\n"
+msgstr "Zone %d: non utilisée, décompte=%d\n"
+
+#: disk-utils/fsck.minix.c:1287 disk-utils/mkfs.minix.c:576
+#: disk-utils/mkfs.minix.c:578
+msgid "bad inode size"
+msgstr "taille d'inode corrompue"
+
+#: disk-utils/fsck.minix.c:1289
+msgid "bad v2 inode size"
+msgstr "taille d'inode v2 corrompue"
+
+#: disk-utils/fsck.minix.c:1315
+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:1319
+#, c-format
+msgid "unable to open '%s': %s"
+msgstr "impossible d'ouvrir « %s » : %s"
+
+#: disk-utils/fsck.minix.c:1334
+#, c-format
+msgid "%s is clean, no check.\n"
+msgstr "%s est propre, aucune vérification.\n"
+
+#: disk-utils/fsck.minix.c:1338
+#, 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:1340
+#, 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:1373
+#, c-format
+msgid ""
+"\n"
+"%6ld inodes used (%ld%%)\n"
+msgstr ""
+"\n"
+"%6ld inodes utilisés (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1378
+#, c-format
+msgid "%6ld zones used (%ld%%)\n"
+msgstr "%6ld zones utilisées (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1380
+#, 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-caractères périphériques\n"
+"%6d fichiers de périphériques type bloc\n"
+"%6d liens\n"
+"%6d liens symboliques\n"
+"------\n"
+"%6d fichiers\n"
+
+#: disk-utils/fsck.minix.c:1393
+#, 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 "%s: failed to open: %s\n"
+msgstr "%s: échec d'ouverture: %s\n"
+
+#: disk-utils/isosize.c:135
+#, c-format
+msgid "%s: seek error on %s\n"
+msgstr "%s: erreur de positionnement sur %s\n"
+
+#: disk-utils/isosize.c:141
+#, c-format
+msgid "%s: read error on %s\n"
+msgstr "%s: erreur de lecture sur %s\n"
+
+#: disk-utils/isosize.c:150
+#, c-format
+msgid "sector count: %d, sector size: %d\n"
+msgstr "décompte des secteurs: %d, taille de secteur: %d\n"
+
+#: disk-utils/isosize.c:200
+#, c-format
+msgid "%s: option parse error\n"
+msgstr "%s: erreur d'analyse syntaxique d'une option\n"
+
+#: disk-utils/isosize.c:208
+#, c-format
+msgid "Usage: %s [-x] [-d <num>] iso9660-image\n"
+msgstr "Utilisation : %s [-x] [-d <num>] image-iso9660\n"
+
+#: disk-utils/mkfs.bfs.c:84
+#, c-format
+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"
+
+#: disk-utils/mkfs.bfs.c:131
+msgid "volume name too long"
+msgstr "nom de volume trop long"
+
+#: disk-utils/mkfs.bfs.c:138
+msgid "fsname name too long"
+msgstr "nom de système de fichiers trop long"
+
+#: disk-utils/mkfs.bfs.c:163
+#, c-format
+msgid "cannot stat device %s"
+msgstr "impossible d'évaluer par stat() le périphique %s"
+
+#: disk-utils/mkfs.bfs.c:167
+#, 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:172 sys-utils/ldattach.c:205
+#, c-format
+msgid "cannot open %s"
+msgstr "impossible d'ouvrir %s"
+
+#: disk-utils/mkfs.bfs.c:183
+#, c-format
+msgid "cannot get size of %s"
+msgstr "impossible d'obtenir la taille de %s"
+
+#: disk-utils/mkfs.bfs.c:188
+#, 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:203
+msgid "too many inodes - max is 512"
+msgstr "trop d'inodes - le maximum est 512"
+
+#: disk-utils/mkfs.bfs.c:212
+#, c-format
+msgid "not enough space, need at least %llu blocks"
+msgstr "pas assez d'espace, %llu blocs nécessaires au moins"
+
+#: disk-utils/mkfs.bfs.c:224 fdisk/fdisk.c:2345
+#, c-format
+msgid "Device: %s\n"
+msgstr "Périphérique: %s\n"
+
+#: disk-utils/mkfs.bfs.c:225
+#, c-format
+msgid "Volume: <%-6s>\n"
+msgstr "Volume: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:226
+#, c-format
+msgid "FSname: <%-6s>\n"
+msgstr "Nom du système de fichiers: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:227
+#, c-format
+msgid "BlockSize: %d\n"
+msgstr "Taille de bloc: %d\n"
+
+#: disk-utils/mkfs.bfs.c:229
+#, c-format
+msgid "Inodes: %d (in 1 block)\n"
+msgstr "Inodes: %d (dans 1 bloc)\n"
+
+#: disk-utils/mkfs.bfs.c:232
+#, c-format
+msgid "Inodes: %d (in %lld blocks)\n"
+msgstr "Inodes : %d (dans %lld blocs)\n"
+
+#: disk-utils/mkfs.bfs.c:234
+#, c-format
+msgid "Blocks: %lld\n"
+msgstr "Blocs : %lld\n"
+
+#: disk-utils/mkfs.bfs.c:235
+#, c-format
+msgid "Inode end: %d, Data end: %d\n"
+msgstr "Fin d'inode: %d, Fin des données: %d\n"
+
+#: disk-utils/mkfs.bfs.c:240
+msgid "error writing superblock"
+msgstr "erreur d'écriture du super bloc"
+
+#: disk-utils/mkfs.bfs.c:260
+msgid "error writing root inode"
+msgstr "erreur d'écriture de l'inode de la racine"
+
+#: disk-utils/mkfs.bfs.c:265
+msgid "error writing inode"
+msgstr "erreur d'écriture d'inode"
+
+#: disk-utils/mkfs.bfs.c:268
+msgid "seek error"
+msgstr "erreur de positionnement"
+
+#: disk-utils/mkfs.bfs.c:274
+msgid "error writing . entry"
+msgstr "erreur d'écriture de l'entrée « . »"
+
+#: disk-utils/mkfs.bfs.c:278
+msgid "error writing .. entry"
+msgstr "erreur d'écriture de l'entrée « .. »"
+
+#: disk-utils/mkfs.bfs.c:282
+#, c-format
+msgid "error closing %s"
+msgstr "erreur de fermeture %s"
+
+#: disk-utils/mkfs.c:73
+#, c-format
+msgid "Usage: mkfs [-V] [-t fstype] [fs-options] device [size]\n"
+msgstr ""
+"Utilisation : mkfs [-V] [-t type-système-de-fichiers] [options] périphérique "
+"[taille]\n"
+
+#: disk-utils/mkfs.c:88 disk-utils/mkfs.c:96 fdisk/cfdisk.c:351
+#: getopt/getopt.c:86 getopt/getopt.c:96 login-utils/wall.c:246
+#, c-format
+msgid "%s: Out of memory!\n"
+msgstr "%s: mémoire épuisée!\n"
+
+#: disk-utils/mkfs.c:103
+#, c-format
+msgid "mkfs (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: disk-utils/mkfs.cramfs.c:126
+#, 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 mode endian] [-"
+"i fichier] [-n nom] répertoire fichier-sortie\n"
+" -h         afficher l'aide\n"
+" -v         travailler en mode bavard\n"
+" -E         transformer les avertissements en erreurs (statut non zéro en "
+"fin d'exécution)\n"
+" -b taille_bloc utiliser cette taille de bloc, doit être égal à la taille de "
+"page\n"
+" -e édition spécifier le numéro d'édition (partie de fsid)\n"
+" -N endian  fixe le type d'endian de cramfs (big|little|host), \"host\" par "
+"défaut\n"
+" -i fichier    insérer un fichier image dans le système de fichiers "
+"(requiert >= 2.4.0)\n"
+" -n nom    spécifier le nom du système de fichiers cramfs\n"
+" -p      remplir par %d octets le code d'amorçage\n"
+" -s      trier les entrées de répertoire (option obsolète, ignorée)\n"
+" -z      faire des trous explicites (requiert >= 2.3.39)\n"
+" répertoire     racine du système de fichiers à compresser\n"
+" fichier-sortie fichier de sortie\n"
+
+#: disk-utils/mkfs.cramfs.c:340
+#, c-format
+msgid ""
+"Very long (%zu bytes) filename `%s' found.\n"
+" Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile.  Exiting.\n"
+msgstr ""
+"Très long (%zu octets) nom de fichier « %s » repéré.\n"
+"SVP augmenter MAX_INPUT_NAMELEN dans mkcramfs.c et recompiler.  Fin "
+"d'exécution.\n"
+
+#: disk-utils/mkfs.cramfs.c:472
+#, c-format
+msgid "filesystem too big.  Exiting.\n"
+msgstr "système de fichiers trop gros. Fin d'exécution.\n"
+
+#: disk-utils/mkfs.cramfs.c:637
+#, 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:656
+#, c-format
+msgid "%6.2f%% (%+ld bytes)\t%s\n"
+msgstr "%6.2f%% (%+ld octets)\t%s\n"
+
+#: disk-utils/mkfs.cramfs.c:854
+#, c-format
+msgid ""
+"warning: guestimate of required size (upper bound) is %lldMB, but maximum "
+"image size is %uMB.  We might die prematurely.\n"
+msgstr ""
+"AVERTISSEMENT: taille estimée requise (limite supérieure) de %lldMB, mais "
+"taille maximum de l'image à %uMB. Arrêt prématuré probable.\n"
+
+#: disk-utils/mkfs.cramfs.c:881
+msgid "ROM image map"
+msgstr "plan image ROM"
+
+#: disk-utils/mkfs.cramfs.c:895
+#, c-format
+msgid "Including: %s\n"
+msgstr "Inclusion: %s\n"
+
+#: disk-utils/mkfs.cramfs.c:901
+#, c-format
+msgid "Directory data: %zd bytes\n"
+msgstr "Répertoire données : %zd octets\n"
+
+#: disk-utils/mkfs.cramfs.c:909
+#, c-format
+msgid "Everything: %zd kilobytes\n"
+msgstr "Tout : %zd kiloctets\n"
+
+#: disk-utils/mkfs.cramfs.c:914
+#, c-format
+msgid "Super block: %zd bytes\n"
+msgstr "Super bloc: %zd octets\n"
+
+#: disk-utils/mkfs.cramfs.c:921
+#, c-format
+msgid "CRC: %x\n"
+msgstr "CRC: %x\n"
+
+#: disk-utils/mkfs.cramfs.c:926
+#, c-format
+msgid "not enough space allocated for ROM image (%lld allocated, %zu used)\n"
+msgstr ""
+"pas assez d'espace alloué pour l'image ROM (%lld alloués, %zu utilisés)\n"
+
+#: disk-utils/mkfs.cramfs.c:934
+msgid "ROM image"
+msgstr "image ROM"
+
+#: disk-utils/mkfs.cramfs.c:938
+#, c-format
+msgid "ROM image write failed (%zd %zd)\n"
+msgstr "Échec de l'écriture de l'image dans la ROM (%zd %zd)\n"
+
+#: disk-utils/mkfs.cramfs.c:947
+#, c-format
+msgid "warning: filenames truncated to 255 bytes.\n"
+msgstr "AVERTISSEMENT: noms de fichiers tronqués à 255 octets.\n"
+
+#: disk-utils/mkfs.cramfs.c:950
+#, c-format
+msgid "warning: files were skipped due to errors.\n"
+msgstr "AVERTISSEMENT: fichiers ignorés en raison d'erreurs.\n"
+
+#: disk-utils/mkfs.cramfs.c:953
+#, c-format
+msgid "warning: file sizes truncated to %luMB (minus 1 byte).\n"
+msgstr "AVERTISSEMENT: taille des fichiers tronquée à %luMo (moins 1 octet).\n"
+
+#: disk-utils/mkfs.cramfs.c:958
+#, c-format
+msgid ""
+"warning: uids truncated to %u bits.  (This may be a security concern.)\n"
+msgstr ""
+"AVERTISSEMENT: uids tronqués à %u bits. (Ceci peut créer un problème de "
+"sécurité.)\n"
+
+#: disk-utils/mkfs.cramfs.c:963
+#, c-format
+msgid ""
+"warning: gids truncated to %u bits.  (This may be a security concern.)\n"
+msgstr ""
+"AVERTISSEMENT: gids tronqués à %u bits. (Ceci peut créer un problème de "
+"sécurité.)\n"
+
+#: disk-utils/mkfs.cramfs.c:968
+#, c-format
+msgid ""
+"WARNING: device numbers truncated to %u bits.  This almost certainly means\n"
+"that some device files will be wrong.\n"
+msgstr ""
+"AVERTISSEMENT: numéros de périphériques tronqués à %u bits.  Cela signifie "
+"que\n"
+"certains fichiers de périphériques seront certainement erronés.\n"
+
+#: disk-utils/mkfs.minix.c:156
+#, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]\n"
+msgstr ""
+"Utilisation : %s [-c | -l nom-de-fichier] [-nXX] [-iXX] /dev/nom [blocs]\n"
+
+#: disk-utils/mkfs.minix.c:180
+#, 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:190
+msgid "seek to boot block failed in write_tables"
+msgstr "échec de positionnement sur le bloc d'amorçage dans write_tables"
+
+#: disk-utils/mkfs.minix.c:192
+msgid "unable to clear boot sector"
+msgstr "impossible de vider le secteur d'amorçage"
+
+#: disk-utils/mkfs.minix.c:194
+msgid "seek failed in write_tables"
+msgstr "échec de positionnement dans write_tables"
+
+#: disk-utils/mkfs.minix.c:198
+msgid "unable to write inode map"
+msgstr "impossible d'écrire la table des inodes"
+
+#: disk-utils/mkfs.minix.c:200
+msgid "unable to write zone map"
+msgstr "impossible d'écrire la table des zones"
+
+#: disk-utils/mkfs.minix.c:202
+msgid "unable to write inodes"
+msgstr "impossible d'écrire les inodes"
+
+#: disk-utils/mkfs.minix.c:211
+msgid "write failed in write_block"
+msgstr "échec d'écriture dans write_block"
+
+#: disk-utils/mkfs.minix.c:219 disk-utils/mkfs.minix.c:293
+#: disk-utils/mkfs.minix.c:342
+msgid "too many bad blocks"
+msgstr "trop de blocs corrompus"
+
+#: disk-utils/mkfs.minix.c:227
+msgid "not enough good blocks"
+msgstr "pas assez de blocs valides"
+
+#: disk-utils/mkfs.minix.c:439
+msgid "unable to allocate buffers for maps"
+msgstr "Impossible d'allouer des tampons pour les tables"
+
+#: disk-utils/mkfs.minix.c:448
+msgid "unable to allocate buffer for inodes"
+msgstr "Impossible d'allouer un tampons pour les inodes"
+
+#: disk-utils/mkfs.minix.c:454
+#, c-format
+msgid ""
+"Maxsize=%ld\n"
+"\n"
+msgstr ""
+"Taille maximum=%ld\n"
+"\n"
+
+#: disk-utils/mkfs.minix.c:468
+msgid "seek failed during testing of blocks"
+msgstr "échec de positionnement durant le test des blocs"
+
+#: disk-utils/mkfs.minix.c:476
+#, c-format
+msgid "Weird values in do_check: probably bugs\n"
+msgstr "Valeurs étranges dans do_check: probablement un bug\n"
+
+#: disk-utils/mkfs.minix.c:507 disk-utils/mkswap.c:313
+msgid "seek failed in check_blocks"
+msgstr "échec de positionnement dans check_blocks"
+
+#: disk-utils/mkfs.minix.c:516
+msgid "bad blocks before data-area: cannot make fs"
+msgstr ""
+"blocs corrompus avant la zone de données: syst. de fichiers inconstructible"
+
+#: disk-utils/mkfs.minix.c:522 disk-utils/mkfs.minix.c:547
+#, c-format
+msgid "%d bad blocks\n"
+msgstr "%d blocs corrompus\n"
+
+#: disk-utils/mkfs.minix.c:524 disk-utils/mkfs.minix.c:549
+#, c-format
+msgid "one bad block\n"
+msgstr "un bloc corrompu\n"
+
+#: disk-utils/mkfs.minix.c:534
+msgid "can't open file of bad blocks"
+msgstr "impossible d'ouvrir le fichier de blocs corrompus"
+
+#: disk-utils/mkfs.minix.c:538
+#, c-format
+msgid "badblock number input error on line %d\n"
+msgstr "n° de bloc corrompu erroné en entrée à la ligne %d\n"
+
+#: disk-utils/mkfs.minix.c:539
+msgid "cannot read badblocks file"
+msgstr "impossible de lire le fichier de blocs corrompus"
+
+#: disk-utils/mkfs.minix.c:619
+#, c-format
+msgid "strtol error: number of blocks not specified"
+msgstr "erreur strtol(): nombre de blocs non spécifié"
+
+#: disk-utils/mkfs.minix.c:638
+#, c-format
+msgid "unable to stat %s"
+msgstr "Impossible d'évaluer par stat() %s"
+
+#: disk-utils/mkfs.minix.c:644
+#, c-format
+msgid "unable to open %s"
+msgstr "Impossible d'ouvrir %s"
+
+#: disk-utils/mkfs.minix.c:649
+#, c-format
+msgid "cannot determine sector size for %s"
+msgstr "impossible de trouver la taille d'un secteur pour %s"
+
+#: disk-utils/mkfs.minix.c:651
+#, 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:654
+#, c-format
+msgid "cannot determine size of %s"
+msgstr "impossible d'obtenir la taille de %s"
+
+#: disk-utils/mkfs.minix.c:662
+#, 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:664
+msgid "number of blocks too small"
+msgstr "nombre de blocs trop petit"
+
+#: disk-utils/mkswap.c:155
+#, c-format
+msgid "Bad user-specified page size %d\n"
+msgstr "Taille de page spécifiée par l'utilisateur erronée %d\n"
+
+#: disk-utils/mkswap.c:163
+#, c-format
+msgid "Using user-specified page size %d, instead of the system value %d\n"
+msgstr ""
+"Utilise la taille de page spécifiée par l'usager %d, au lieu de la valeur "
+"système %d\n"
+
+#: disk-utils/mkswap.c:192
+#, c-format
+msgid "Bad swap header size, no label written.\n"
+msgstr "Taille erronée d'entête de swap, aucune étiquette n'a été écrite.\n"
+
+#: disk-utils/mkswap.c:202
+#, c-format
+msgid "Label was truncated.\n"
+msgstr "L'étiquette a été tronquée.\n"
+
+#: disk-utils/mkswap.c:208
+#, c-format
+msgid "no label, "
+msgstr "pas d'étiquette, "
+
+#: disk-utils/mkswap.c:216
+#, c-format
+msgid "no uuid\n"
+msgstr "pas d'uuid\n"
+
+#: disk-utils/mkswap.c:281
+#, c-format
+msgid "Usage: %s [-c] [-pPAGESZ] [-L label] [-U UUID] /dev/name [blocks]\n"
+msgstr "Usage : %s [-c] [-pPAGESZ] [-L label] [-U UUID] /dev/name [blocs]\n"
+
+#: disk-utils/mkswap.c:295
+msgid "too many bad pages"
+msgstr "trop de pages corrompues"
+
+#: disk-utils/mkswap.c:308 misc-utils/look.c:182 misc-utils/setterm.c:1183
+#: text-utils/more.c:1982 text-utils/more.c:1993
+msgid "Out of memory"
+msgstr "Mémoire épuisée"
+
+#: disk-utils/mkswap.c:319
+#, c-format
+msgid "one bad page\n"
+msgstr "une page corrompue\n"
+
+#: disk-utils/mkswap.c:321
+#, c-format
+msgid "%lu bad pages\n"
+msgstr "%lu pages corrompues\n"
+
+# disk-utils/mkswap.c:612
+#: disk-utils/mkswap.c:399 disk-utils/mkswap.c:415 disk-utils/mkswap.c:633
+msgid "unable to rewind swap-device"
+msgstr "Impossible de réinitialiser le périphérique d'échange"
+
+#: disk-utils/mkswap.c:419
+msgid "unable to erase bootbits sectors"
+msgstr "impossible d'effacer le secteur d'amorçage"
+
+#: disk-utils/mkswap.c:423
+#, c-format
+msgid "%s: %s: warning: don't erase bootbits sectors\n"
+msgstr "%s : %s : attention, ne pas effacer les secteurs de démarrage\n"
+
+#: disk-utils/mkswap.c:426
+#, c-format
+msgid "        (%s partition table detected). "
+msgstr "        (%s table de partitions détectée). "
+
+#: disk-utils/mkswap.c:428
+#, c-format
+msgid "        on whole disk. "
+msgstr "        tout le disque."
+
+#: disk-utils/mkswap.c:498
+#, c-format
+msgid "%1$s: warning: ignore -U (UUIDs are unsupported by %1$s)\n"
+msgstr ""
+"%1$s: attention: option -U ignorée (les UUID ne sont pas supportés par %1"
+"$s)\n"
+
+#: disk-utils/mkswap.c:514
+#, c-format
+msgid "%s: does not support swapspace version %d.\n"
+msgstr "%s : ne supporte pas cette version d'espace d'échange %d.\n"
+
+#: disk-utils/mkswap.c:522
+msgid "error: UUID parsing failed"
+msgstr "erreur : échec d'analyse de l'UUID"
+
+#: disk-utils/mkswap.c:533
+#, c-format
+msgid "%s: error: Nowhere to set up swap on?\n"
+msgstr "%s: erreur: aucun endroit pour définir un espace d'échange ?\n"
+
+#: disk-utils/mkswap.c:551
+#, c-format
+msgid "%s: error: size %llu KiB is larger than device size %llu KiB\n"
+msgstr ""
+"%s : erreur : taille %llu Ko supérieure à la taille du périphérique %llu Ko\n"
+
+#: disk-utils/mkswap.c:560
+#, c-format
+msgid "%s: error: swap area needs to be at least %ld KiB\n"
+msgstr ""
+"%s: erreur : la zone d'échange (swap) doit être au moins de taille %ld Ko\n"
+
+#: disk-utils/mkswap.c:577
+#, c-format
+msgid "%s: warning: truncating swap area to %llu KiB\n"
+msgstr "%s: AVERTISSEMENT : troncage de la zone d'échange (swap) à %llu Ko\n"
+
+# disk-utils/mkswap.c:566
+#: disk-utils/mkswap.c:600
+#, c-format
+msgid "%s: error: will not try to make swapdevice on '%s'\n"
+msgstr "%s: impossible de créer une zone d'échange sur \"%s\"\n"
+
+#: disk-utils/mkswap.c:606
+#, c-format
+msgid "%s: error: %s is mounted; will not make swapspace.\n"
+msgstr ""
+"%s: erreur - %s est monté ; impossible de créer une zone d'échange ici.\n"
+
+# disk-utils/mkswap.c:605
+#: disk-utils/mkswap.c:622
+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:625
+#, c-format
+msgid "Setting up swapspace version 1, size = %llu KiB\n"
+msgstr "Configure l'espace d'échange (swap) en version 1, taille = %llu Ko\n"
+
+#: disk-utils/mkswap.c:636
+#, c-format
+msgid "%s: %s: unable to write signature page: %s"
+msgstr "%s : %s : impossible d'écrire la page de signature %s"
+
+# disk-utils/mkswap.c:623
+#: disk-utils/mkswap.c:647
+msgid "fsync failed"
+msgstr "Échec de la synchronisation du système de fichiers par fsync"
+
+#: disk-utils/mkswap.c:658
+#, c-format
+msgid "%s: %s: unable to obtain selinux file label: %s\n"
+msgstr "%s: %s: impossible d'obtenir l'étiquette du fichier selinux : %s\n"
+
+#: disk-utils/mkswap.c:664
+msgid "unable to matchpathcon()"
+msgstr "matchpathcon() inutilisable"
+
+#: disk-utils/mkswap.c:667
+msgid "unable to create new selinux context"
+msgstr "impossible de créer un nouveau contexte selinux"
+
+#: disk-utils/mkswap.c:669
+msgid "couldn't compute selinux context"
+msgstr "impossible d'évaluer le contexte selinux"
+
+#: disk-utils/mkswap.c:675
+#, c-format
+msgid "%s: unable to relabel %s to %s: %s\n"
+msgstr "%s: impossible d'étiqueter de %s en %s: %s\n"
+
+#: disk-utils/raw.c:50
+#, c-format
+msgid ""
+"Usage:\n"
+"  %s "
+msgstr ""
+"Usage :\n"
+"  %s "
+
+#: disk-utils/raw.c:125
+#, c-format
+msgid ""
+"Device '%s' is control raw dev (use raw<N> where <N> is greater than zero)\n"
+msgstr ""
+"Le périph. '%s' est un périph. de contrôle physique (utiliser raw<N> où N "
+"est plus grand que zéro)\n"
+
+#: disk-utils/raw.c:145
+#, c-format
+msgid "Cannot locate block device '%s' (%s)\n"
+msgstr "Impossible de localiser le périphérique par blocs '%s' (%s)\n"
+
+#: disk-utils/raw.c:151
+#, c-format
+msgid "Device '%s' is not a block dev\n"
+msgstr "'%s' n'est pas un périphérique par blocs\n"
+
+#: disk-utils/raw.c:186
+#, c-format
+msgid "Cannot open master raw device '"
+msgstr "Impossible d'ouvrir le périph. physique maître '"
+
+#: disk-utils/raw.c:205
+#, c-format
+msgid "Cannot locate raw device '%s' (%s)\n"
+msgstr "Impossible de localiser le périphérique physique '%s' (%s)\n"
+
+#: disk-utils/raw.c:211
+#, c-format
+msgid "Raw device '%s' is not a character dev\n"
+msgstr ""
+"Le périphérique physique '%s' n'est pas un périphérique de caractères\n"
+
+#: disk-utils/raw.c:216
+#, c-format
+msgid "Device '%s' is not a raw dev\n"
+msgstr "'%s' n'est pas un périphérique physique\n"
+
+#: disk-utils/raw.c:231
+#, c-format
+msgid "Error querying raw device (%s)\n"
+msgstr "Erreur d'interrogation du périphérique physique (%s)\n"
+
+#: disk-utils/raw.c:241 disk-utils/raw.c:261
+#, c-format
+msgid "raw%d:\tbound to major %d, minor %d\n"
+msgstr "périph. phys. %d :\t associé à n° majeur %d, n° mineur %d\n"
+
+#: disk-utils/raw.c:257
+#, c-format
+msgid "Error setting raw device (%s)\n"
+msgstr "Erreur de configuration du périph. physique (%s)\n"
+
+#: fdisk/cfdisk.c:376 fdisk/cfdisk.c:2080
+msgid "Unusable"
+msgstr "Inutilisable"
+
+#: fdisk/cfdisk.c:378 fdisk/cfdisk.c:2082
+msgid "Free Space"
+msgstr "Espace libre"
+
+#: fdisk/cfdisk.c:381
+msgid "Linux ext2"
+msgstr "Linux ext2"
+
+#: fdisk/cfdisk.c:383
+msgid "Linux ext3"
+msgstr "Linux ext3"
+
+#: fdisk/cfdisk.c:385
+msgid "Linux XFS"
+msgstr "Linux XFS"
+
+#: fdisk/cfdisk.c:387
+msgid "Linux JFS"
+msgstr "Linux JFS"
+
+#: fdisk/cfdisk.c:389
+msgid "Linux ReiserFS"
+msgstr "Linux ReiserFS"
+
+#: fdisk/cfdisk.c:391 fdisk/i386_sys_types.c:57
+msgid "Linux"
+msgstr "Linux"
+
+#: fdisk/cfdisk.c:394
+msgid "OS/2 HPFS"
+msgstr "OS/2 HPFS"
+
+#: fdisk/cfdisk.c:396
+msgid "OS/2 IFS"
+msgstr "OS/2 IFS"
+
+#: fdisk/cfdisk.c:400
+msgid "NTFS"
+msgstr "NTFS"
+
+#: fdisk/cfdisk.c:411
+#, c-format
+msgid "Disk has been changed.\n"
+msgstr "Le disque a été changé.\n"
+
+#: fdisk/cfdisk.c:413
+#, c-format
+msgid "Reboot the system to ensure the partition table is correctly updated.\n"
+msgstr ""
+"Redémarrer le système pour s'assurer que la table de partition soit "
+"correctement mise à jour.\n"
+
+#: fdisk/cfdisk.c:417
+#, 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"
+"AVERTISSEMENT: si vous avez créé ou modifié une\n"
+"partition DOS 6.x, svp consulter les pages du manuel\n"
+"de cfdisk pour de plus amples informations.\n"
+
+#: fdisk/cfdisk.c:512
+msgid "FATAL ERROR"
+msgstr "ERREUR FATALE"
+
+#: fdisk/cfdisk.c:513
+msgid "Press any key to exit cfdisk"
+msgstr "Appuyer sur n'importe quelle touche pour quitter cfdisk"
+
+#: fdisk/cfdisk.c:560 fdisk/cfdisk.c:568
+msgid "Cannot seek on disk drive"
+msgstr "Impossible de se positionner sur le disque"
+
+#: fdisk/cfdisk.c:562
+msgid "Cannot read disk drive"
+msgstr "Impossible de lire sur le disque"
+
+#: fdisk/cfdisk.c:570
+msgid "Cannot write disk drive"
+msgstr "Impossible d'écrire sur le disque"
+
+#: fdisk/cfdisk.c:913
+msgid "Too many partitions"
+msgstr "Trop de partitions"
+
+#: fdisk/cfdisk.c:918
+msgid "Partition begins before sector 0"
+msgstr "La partition débute avant le secteur 0"
+
+#: fdisk/cfdisk.c:923
+msgid "Partition ends before sector 0"
+msgstr "La partition se termine avant le secteur 0"
+
+#: fdisk/cfdisk.c:928
+msgid "Partition begins after end-of-disk"
+msgstr "La partition débute après la fin du disque"
+
+#: fdisk/cfdisk.c:933
+msgid "Partition ends after end-of-disk"
+msgstr "La partition se termine après la fin du disque"
+
+#: fdisk/cfdisk.c:938
+msgid "Partition ends in the final partial cylinder"
+msgstr "La partition se termine dans le cylindre final partiel"
+
+#: fdisk/cfdisk.c:962
+msgid "logical partitions not in disk order"
+msgstr "partitions logiques non ordonnées suivant le disque"
+
+#: fdisk/cfdisk.c:965
+msgid "logical partitions overlap"
+msgstr "chevauchement de partitions logiques"
+
+#: fdisk/cfdisk.c:969
+msgid "enlarged logical partitions overlap"
+msgstr "chevauchement des partitions logiques agrandies"
+
+#: fdisk/cfdisk.c:999
+msgid ""
+"!!!! Internal error creating logical drive with no extended partition !!!!"
+msgstr "Erreur interne en créant un disque logique sans partition étendue !!!!"
+
+#: fdisk/cfdisk.c:1010 fdisk/cfdisk.c:1022
+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"
+
+#: fdisk/cfdisk.c:1164
+msgid "Menu item too long. Menu may look odd."
+msgstr "Item de menu trop long. Le menu pourrait paraître erroné."
+
+#: fdisk/cfdisk.c:1220
+msgid "Menu without direction. Defaulting to horizontal."
+msgstr "Menu sans direction. Horizontal par défaut."
+
+#: fdisk/cfdisk.c:1351
+msgid "Illegal key"
+msgstr "Touche non valable"
+
+#: fdisk/cfdisk.c:1374
+msgid "Press a key to continue"
+msgstr "Appuyer sur une touche pour continuer"
+
+#: fdisk/cfdisk.c:1421 fdisk/cfdisk.c:2051 fdisk/cfdisk.c:2583
+#: fdisk/cfdisk.c:2585
+msgid "Primary"
+msgstr "Primaire"
+
+#: fdisk/cfdisk.c:1421
+msgid "Create a new primary partition"
+msgstr "Crée une nouvelle partition primaire"
+
+#: fdisk/cfdisk.c:1422 fdisk/cfdisk.c:2051 fdisk/cfdisk.c:2582
+#: fdisk/cfdisk.c:2585
+msgid "Logical"
+msgstr "Logique"
+
+#: fdisk/cfdisk.c:1422
+msgid "Create a new logical partition"
+msgstr "Crée une nouvelle partition logique"
+
+#: fdisk/cfdisk.c:1423 fdisk/cfdisk.c:1478 fdisk/cfdisk.c:2256
+msgid "Cancel"
+msgstr "Annuler"
+
+#: fdisk/cfdisk.c:1423 fdisk/cfdisk.c:1478
+msgid "Don't create a partition"
+msgstr "Ne pas créer une partition"
+
+#: fdisk/cfdisk.c:1439
+msgid "!!! Internal error !!!"
+msgstr "!!! Erreur interne !!!"
+
+#: fdisk/cfdisk.c:1442
+msgid "Size (in MB): "
+msgstr "Taille (en Mo): "
+
+#: fdisk/cfdisk.c:1476
+msgid "Beginning"
+msgstr "Début"
+
+#: fdisk/cfdisk.c:1476
+msgid "Add partition at beginning of free space"
+msgstr "Ajoute une partition au début de l'espace libre"
+
+#: fdisk/cfdisk.c:1477
+msgid "End"
+msgstr "Fin"
+
+#: fdisk/cfdisk.c:1477
+msgid "Add partition at end of free space"
+msgstr "Ajoute une partition à la fin de l'espace libre"
+
+#: fdisk/cfdisk.c:1495
+msgid "No room to create the extended partition"
+msgstr "Pas d'espace pour créer une partition étendue"
+
+#: fdisk/cfdisk.c:1569
+msgid "No partition table.\n"
+msgstr "Aucune table de partitions.\n"
+
+#: fdisk/cfdisk.c:1573
+msgid "No partition table. Starting with zero table."
+msgstr "Aucune table de partitions. Démarrage avec une table vierge."
+
+#: fdisk/cfdisk.c:1583
+msgid "Bad signature on partition table"
+msgstr "Signature erronée dans la table de partitions"
+
+#: fdisk/cfdisk.c:1587
+msgid "Unknown partition table type"
+msgstr "Type inconnu de table de partitions"
+
+#: fdisk/cfdisk.c:1589
+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] ?"
+
+#: fdisk/cfdisk.c:1637
+msgid "You specified more cylinders than fit on disk"
+msgstr "Vous avez spécifié plus de cylindres que le disque n'en contient"
+
+#: fdisk/cfdisk.c:1669
+msgid "Cannot open disk drive"
+msgstr "Impossible d'ouvrir l'unité de disque"
+
+#: fdisk/cfdisk.c:1671 fdisk/cfdisk.c:1860
+msgid "Opened disk read-only - you have no permission to write"
+msgstr "Disque ouvert en mode lecture seule - aucune permission d'écriture"
+
+#: fdisk/cfdisk.c:1682
+msgid ""
+"Warning!!  Unsupported GPT (GUID Partition Table) detected. Use GNU Parted."
+msgstr ""
+"Attention!! Identifiant GPT (GUID) de table de partitions non supporté "
+"détecté. Utilisez GNU Parted."
+
+#: fdisk/cfdisk.c:1701
+msgid "Cannot get disk size"
+msgstr "Impossible d'obtenir la taille du disque"
+
+#: fdisk/cfdisk.c:1727
+msgid "Bad primary partition"
+msgstr "Partition primaire erronée"
+
+#: fdisk/cfdisk.c:1757
+msgid "Bad logical partition"
+msgstr "Partition logique erronée"
+
+#: fdisk/cfdisk.c:1872
+msgid "Warning!!  This may destroy data on your disk!"
+msgstr "AVERTISSEMENT!!  Cela pourrait détruire les données sur votre disque!"
+
+#: fdisk/cfdisk.c:1876
+msgid ""
+"Are you sure you want to write the partition table to disk? (yes or no): "
+msgstr ""
+"Êtes-vous sûr de vouloir écrire la table de partitions sur le disque? (oui/"
+"non)"
+
+#: fdisk/cfdisk.c:1882
+msgid "no"
+msgstr "non"
+
+#: fdisk/cfdisk.c:1884
+msgid "Did not write partition table to disk"
+msgstr "Table de partitions non écrite sur le disque"
+
+#: fdisk/cfdisk.c:1886
+msgid "yes"
+msgstr "oui"
+
+#: fdisk/cfdisk.c:1890
+msgid "Please enter `yes' or `no'"
+msgstr "SVP répondre « oui » ou « non »"
+
+#: fdisk/cfdisk.c:1894
+msgid "Writing partition table to disk..."
+msgstr "Écriture de la table de partitions sur le disque..."
+
+#: fdisk/cfdisk.c:1921 fdisk/cfdisk.c:1925
+msgid "Wrote partition table to disk"
+msgstr "Table de partitions écrite sur le disque"
+
+#: fdisk/cfdisk.c:1923
+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."
+
+#: fdisk/cfdisk.c:1933
+msgid "No primary partitions are marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"Aucune partition primaire marquée comme amorçable. DOS MBR ne pourra pas "
+"amorcer."
+
+#: fdisk/cfdisk.c:1935
+msgid ""
+"More than one primary partition is marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"Plus d'une partition primaire marquée comme amorçable. DOS MBR ne pourra pas "
+"amorcer."
+
+#: fdisk/cfdisk.c:1993 fdisk/cfdisk.c:2112 fdisk/cfdisk.c:2196
+msgid "Enter filename or press RETURN to display on screen: "
+msgstr ""
+"Entrer le nom du fichier ou appuyer « RETURN » pour affichage à l'écran:"
+
+#: fdisk/cfdisk.c:2002 fdisk/cfdisk.c:2120 fdisk/cfdisk.c:2204
+#, c-format
+msgid "Cannot open file '%s'"
+msgstr "Impossible d'ouvrir le fichier « %s »"
+
+#: fdisk/cfdisk.c:2013
+#, c-format
+msgid "Disk Drive: %s\n"
+msgstr "Unité de disque: %s\n"
+
+#: fdisk/cfdisk.c:2015
+msgid "Sector 0:\n"
+msgstr "Secteur 0:\n"
+
+#: fdisk/cfdisk.c:2022
+#, c-format
+msgid "Sector %d:\n"
+msgstr "Secteur %d:\n"
+
+#: fdisk/cfdisk.c:2042
+msgid "   None   "
+msgstr "   Aucun   "
+
+#: fdisk/cfdisk.c:2044
+msgid "   Pri/Log"
+msgstr "   Pri/Log"
+
+#: fdisk/cfdisk.c:2046
+msgid "   Primary"
+msgstr "   Primaire"
+
+#: fdisk/cfdisk.c:2048
+msgid "   Logical"
+msgstr "   Logique"
+
+#: fdisk/cfdisk.c:2086 fdisk/fdisk.c:1534 fdisk/fdisk.c:1855
+#: fdisk/fdisksgilabel.c:240 fdisk/fdisksunlabel.c:621 fdisk/sfdisk.c:653
+msgid "Unknown"
+msgstr "Inconnu"
+
+#: fdisk/cfdisk.c:2092 fdisk/cfdisk.c:2560 fdisk/fdisksunlabel.c:44
+msgid "Boot"
+msgstr "Amorce"
+
+#: fdisk/cfdisk.c:2094
+#, c-format
+msgid "(%02X)"
+msgstr "(%02X)"
+
+#: fdisk/cfdisk.c:2096
+msgid "None"
+msgstr "Aucun"
+
+#: fdisk/cfdisk.c:2131 fdisk/cfdisk.c:2215
+#, c-format
+msgid "Partition Table for %s\n"
+msgstr "Table de partitions de %s\n"
+
+#: fdisk/cfdisk.c:2133
+msgid "               First       Last\n"
+msgstr "               Premier     Dernier\n"
+
+# fdisk/cfdisk.c:1969
+#: fdisk/cfdisk.c:2134
+msgid ""
+" # Type       Sector      Sector   Offset    Length   Filesystem Type (ID) "
+"Flag\n"
+msgstr ""
+" # Type       Secteur    Secteur  Décalage  Longueur  Syst.Fich. Type (ID) "
+"Fanions\n"
+
+#: fdisk/cfdisk.c:2135
+msgid ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+msgstr ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+
+#: fdisk/cfdisk.c:2218
+msgid "         ---Starting----      ----Ending-----    Start     Number of\n"
+msgstr "        --- Début  ---       ---- Fin  ----     Premier   Nbre de\n"
+
+#: fdisk/cfdisk.c:2219
+msgid " # Flags Head Sect  Cyl   ID  Head Sect  Cyl     Sector    Sectors\n"
+msgstr " # Fan.  Tête Sect  Cyl   ID  Tête Sect  Cyl     Secteur   Secteurs\n"
+
+#: fdisk/cfdisk.c:2220
+msgid "-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+msgstr ""
+"-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+
+#: fdisk/cfdisk.c:2253
+msgid "Raw"
+msgstr "Brut(e)"
+
+#: fdisk/cfdisk.c:2253
+msgid "Print the table using raw data format"
+msgstr "Afficher le contenu de la table en format brut"
+
+#: fdisk/cfdisk.c:2254 fdisk/cfdisk.c:2357
+msgid "Sectors"
+msgstr "Secteurs"
+
+#: fdisk/cfdisk.c:2254
+msgid "Print the table ordered by sectors"
+msgstr "Affiche le contenu de la table ordonné par secteurs"
+
+#: fdisk/cfdisk.c:2255
+msgid "Table"
+msgstr "Table"
+
+#: fdisk/cfdisk.c:2255
+msgid "Just print the partition table"
+msgstr "Affiche juste la table de partitions"
+
+#: fdisk/cfdisk.c:2256
+msgid "Don't print the table"
+msgstr "Ne pas afficher la table"
+
+#: fdisk/cfdisk.c:2284
+msgid "Help Screen for cfdisk"
+msgstr "Écran d'aide pour cfdisk"
+
+#: fdisk/cfdisk.c:2286
+msgid "This is cfdisk, a curses based disk partitioning program, which"
+msgstr "cfdisk est un programme de partionnement basé sur curses, qui"
+
+#: fdisk/cfdisk.c:2287
+msgid "allows you to create, delete and modify partitions on your hard"
+msgstr "permet de créer, détruire et modifier les partitions de votre unité de"
+
+#: fdisk/cfdisk.c:2288
+msgid "disk drive."
+msgstr "disque dur."
+
+#: fdisk/cfdisk.c:2290
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+
+#: fdisk/cfdisk.c:2292
+msgid "Command      Meaning"
+msgstr "Commande     Signification"
+
+#: fdisk/cfdisk.c:2293
+msgid "-------      -------"
+msgstr "-------      -------"
+
+#: fdisk/cfdisk.c:2294
+msgid "  b          Toggle bootable flag of the current partition"
+msgstr "  b          basculer le fanion d'amorce sur la partition courante"
+
+#: fdisk/cfdisk.c:2295
+msgid "  d          Delete the current partition"
+msgstr "  d          détruire la partition courante"
+
+#: fdisk/cfdisk.c:2296
+msgid "  g          Change cylinders, heads, sectors-per-track parameters"
+msgstr ""
+"  g          modifier les paramètres: cylindres, têtes, secteurs par piste"
+
+#: fdisk/cfdisk.c:2297
+msgid "             WARNING: This option should only be used by people who"
+msgstr "             AVERTISSEMENT: cette option ne doit pas être utilisée par"
+
+#: fdisk/cfdisk.c:2298
+msgid "             know what they are doing."
+msgstr "             des gens qui ne savent pas ce qu'ils font."
+
+#: fdisk/cfdisk.c:2299
+msgid "  h          Print this screen"
+msgstr "  h          afficher cet écran d'aide"
+
+#: fdisk/cfdisk.c:2300
+msgid "  m          Maximize disk usage of the current partition"
+msgstr ""
+"  m          maximiser l'utilisation du disque par la partition courante"
+
+#: fdisk/cfdisk.c:2301
+msgid "             Note: This may make the partition incompatible with"
+msgstr "             Note: cela peut rendre la partition incompatible avec"
+
+#: fdisk/cfdisk.c:2302
+msgid "             DOS, OS/2, ..."
+msgstr "             DOS, OS/2, ..."
+
+#: fdisk/cfdisk.c:2303
+msgid "  n          Create new partition from free space"
+msgstr "  n          créer une nouvelle partition à partir de l'espace libre"
+
+#: fdisk/cfdisk.c:2304
+msgid "  p          Print partition table to the screen or to a file"
+msgstr ""
+"  p          lister la table de partitions à l'écran ou dans un fichier"
+
+#: fdisk/cfdisk.c:2305
+msgid "             There are several different formats for the partition"
+msgstr "             Il y a plusieurs formats différents pour la partition"
+
+#: fdisk/cfdisk.c:2306
+msgid "             that you can choose from:"
+msgstr "             que vous pouvez choisir:"
+
+#: fdisk/cfdisk.c:2307
+msgid "                r - Raw data (exactly what would be written to disk)"
+msgstr ""
+"                r - données brutes (exactement ce que vous écrivez sur le "
+"disque)"
+
+#: fdisk/cfdisk.c:2308
+msgid "                s - Table ordered by sectors"
+msgstr "                s - table ordonnée par secteurs"
+
+#: fdisk/cfdisk.c:2309
+msgid "                t - Table in raw format"
+msgstr "                t - table au format brut"
+
+#: fdisk/cfdisk.c:2310
+msgid "  q          Quit program without writing partition table"
+msgstr "  q          quitter le programme sans écrire la table de partitions"
+
+#: fdisk/cfdisk.c:2311
+msgid "  t          Change the filesystem type"
+msgstr "  t          modifier le type de système de fichiers"
+
+#: fdisk/cfdisk.c:2312
+msgid "  u          Change units of the partition size display"
+msgstr ""
+"  u          modifier les unités d'affichage de la taille des partition"
+
+#: fdisk/cfdisk.c:2313
+msgid "             Rotates through MB, sectors and cylinders"
+msgstr "             alterne Mo, secteurs et cylindres"
+
+#: fdisk/cfdisk.c:2314
+msgid "  W          Write partition table to disk (must enter upper case W)"
+msgstr ""
+"  W          écrire la table de partitions sur le disque (taper W en "
+"majuscule)"
+
+#: fdisk/cfdisk.c:2315
+msgid "             Since this might destroy data on the disk, you must"
+msgstr ""
+"             Vu que cela peut détruire des données sur le disque, vous devez"
+
+#: fdisk/cfdisk.c:2316
+msgid "             either confirm or deny the write by entering `yes' or"
+msgstr "             confirmer ou annuler la commande par la réponse « oui » ou"
+
+#: fdisk/cfdisk.c:2317
+msgid "             `no'"
+msgstr "             « non »"
+
+#: fdisk/cfdisk.c:2318
+msgid "Up Arrow     Move cursor to the previous partition"
+msgstr "Flèche-haut  déplacer le curseur vers la partition précédente"
+
+#: fdisk/cfdisk.c:2319
+msgid "Down Arrow   Move cursor to the next partition"
+msgstr "Flèche-bas   déplacer le curseur vers la partition suivante"
+
+#: fdisk/cfdisk.c:2320
+msgid "CTRL-L       Redraws the screen"
+msgstr "CTRL-L       réafficher le contenu à l'écran"
+
+#: fdisk/cfdisk.c:2321
+msgid "  ?          Print this screen"
+msgstr "  ?          afficher cet écran d'aide"
+
+#: fdisk/cfdisk.c:2323
+msgid "Note: All of the commands can be entered with either upper or lower"
+msgstr "Note: toutes les commandes peuvent être saisies en lettres"
+
+#: fdisk/cfdisk.c:2324
+msgid "case letters (except for Writes)."
+msgstr "majuscules ou minuscules (sauf pour les écritures)."
+
+#: fdisk/cfdisk.c:2355 fdisk/fdisksunlabel.c:237
+msgid "Cylinders"
+msgstr "Cylindres"
+
+#: fdisk/cfdisk.c:2355
+msgid "Change cylinder geometry"
+msgstr "Modifier la géométrie des cylindres"
+
+#: fdisk/cfdisk.c:2356 fdisk/fdisksunlabel.c:235
+msgid "Heads"
+msgstr "Têtes"
+
+#: fdisk/cfdisk.c:2356
+msgid "Change head geometry"
+msgstr "Modifier la géométrie des têtes"
+
+#: fdisk/cfdisk.c:2357
+msgid "Change sector geometry"
+msgstr "Modifier la géométrie des secteurs"
+
+#: fdisk/cfdisk.c:2358
+msgid "Done"
+msgstr "Complété"
+
+#: fdisk/cfdisk.c:2358
+msgid "Done with changing geometry"
+msgstr "Modification de la géométrie complétée"
+
+#: fdisk/cfdisk.c:2371
+msgid "Enter the number of cylinders: "
+msgstr "Entrer le nombre de cylindres: "
+
+#: fdisk/cfdisk.c:2382 fdisk/cfdisk.c:2953
+msgid "Illegal cylinders value"
+msgstr "Valeur illégale pour les cylindres"
+
+#: fdisk/cfdisk.c:2388
+msgid "Enter the number of heads: "
+msgstr "Entrer le nombre de têtes: "
+
+#: fdisk/cfdisk.c:2395 fdisk/cfdisk.c:2963
+msgid "Illegal heads value"
+msgstr "Valeur illégale pour les têtes"
+
+#: fdisk/cfdisk.c:2401
+msgid "Enter the number of sectors per track: "
+msgstr "Entrer le nombre de secteurs par piste: "
+
+#: fdisk/cfdisk.c:2408 fdisk/cfdisk.c:2970
+msgid "Illegal sectors value"
+msgstr "Valeur illégale pour les secteurs"
+
+#: fdisk/cfdisk.c:2511
+msgid "Enter filesystem type: "
+msgstr "Entrer le type de système de fichiers:"
+
+#: fdisk/cfdisk.c:2529
+msgid "Cannot change FS Type to empty"
+msgstr "Impossible de modifier le type de syst. de fichiers (valeur nulle)"
+
+#: fdisk/cfdisk.c:2531
+msgid "Cannot change FS Type to extended"
+msgstr "Impossible de modifier le type de syst. de fichiers à \"étendu\""
+
+#: fdisk/cfdisk.c:2562
+#, c-format
+msgid "Unk(%02X)"
+msgstr "Inc(%02X)"
+
+#: fdisk/cfdisk.c:2565 fdisk/cfdisk.c:2568
+msgid ", NC"
+msgstr ", NC"
+
+#: fdisk/cfdisk.c:2573 fdisk/cfdisk.c:2576
+msgid "NC"
+msgstr "NC"
+
+#: fdisk/cfdisk.c:2584
+msgid "Pri/Log"
+msgstr "Pri/Log"
+
+#: fdisk/cfdisk.c:2591
+#, c-format
+msgid "Unknown (%02X)"
+msgstr "Inconnu (%02X)"
+
+#: fdisk/cfdisk.c:2660
+#, c-format
+msgid "Disk Drive: %s"
+msgstr "Unité disque: %s"
+
+#: fdisk/cfdisk.c:2667
+#, c-format
+msgid "Size: %lld bytes, %lld MB"
+msgstr "Taille: %lld octets,  %lld Mo"
+
+#: fdisk/cfdisk.c:2670
+#, c-format
+msgid "Size: %lld bytes, %lld.%lld GB"
+msgstr "Taille: %lld octets,  %lld.%lld Go"
+
+#: fdisk/cfdisk.c:2674
+#, c-format
+msgid "Heads: %d   Sectors per Track: %d   Cylinders: %lld"
+msgstr "Têtes: %d   Secteurs par piste: %d  Cylindres: %lld"
+
+#: fdisk/cfdisk.c:2678 login-utils/chfn.c:377
+msgid "Name"
+msgstr "Nom"
+
+#: fdisk/cfdisk.c:2679
+msgid "Flags"
+msgstr "Fanions"
+
+#: fdisk/cfdisk.c:2680
+msgid "Part Type"
+msgstr "Part Type"
+
+#: fdisk/cfdisk.c:2681
+msgid "FS Type"
+msgstr "Type Sys.Fic"
+
+#: fdisk/cfdisk.c:2682
+msgid "[Label]"
+msgstr "[Étiq.]"
+
+#: fdisk/cfdisk.c:2684
+msgid "    Sectors"
+msgstr "    Secteurs"
+
+#: fdisk/cfdisk.c:2686
+msgid "  Cylinders"
+msgstr "  Cylindres"
+
+#: fdisk/cfdisk.c:2688
+msgid "  Size (MB)"
+msgstr "  Taille (Mo)"
+
+#: fdisk/cfdisk.c:2690
+msgid "  Size (GB)"
+msgstr "  Taille (Go)"
+
+#: fdisk/cfdisk.c:2744
+msgid "Bootable"
+msgstr "Amorçable"
+
+#: fdisk/cfdisk.c:2744
+msgid "Toggle bootable flag of the current partition"
+msgstr "Basculer le fanion d'amorce pour la partition courante"
+
+#: fdisk/cfdisk.c:2745
+msgid "Delete"
+msgstr "Détruire"
+
+#: fdisk/cfdisk.c:2745
+msgid "Delete the current partition"
+msgstr "Détruire la partition courante"
+
+#: fdisk/cfdisk.c:2746
+msgid "Geometry"
+msgstr "Géométrie"
+
+#: fdisk/cfdisk.c:2746
+msgid "Change disk geometry (experts only)"
+msgstr "Modifier la géométrie du disque (pour expert seulement)"
+
+#: fdisk/cfdisk.c:2747
+msgid "Help"
+msgstr "Aide"
+
+#: fdisk/cfdisk.c:2747
+msgid "Print help screen"
+msgstr "Afficher l'écran d'aide"
+
+#: fdisk/cfdisk.c:2748
+msgid "Maximize"
+msgstr "Maximiser"
+
+#: fdisk/cfdisk.c:2748
+msgid "Maximize disk usage of the current partition (experts only)"
+msgstr ""
+"Maximiser l'usage du disque par la partition courante (experts seulement)"
+
+#: fdisk/cfdisk.c:2749
+msgid "New"
+msgstr "Nouvelle"
+
+#: fdisk/cfdisk.c:2749
+msgid "Create new partition from free space"
+msgstr "Créer une nouvelle partition à partir de l'espace libre"
+
+#: fdisk/cfdisk.c:2750
+msgid "Print"
+msgstr "Afficher"
+
+#: fdisk/cfdisk.c:2750
+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)"
+
+#: fdisk/cfdisk.c:2751
+msgid "Quit"
+msgstr "Quitter"
+
+#: fdisk/cfdisk.c:2751
+msgid "Quit program without writing partition table"
+msgstr "Quitter le programme sans écrire la table de partitions"
+
+#: fdisk/cfdisk.c:2752
+msgid "Type"
+msgstr "Type"
+
+#: fdisk/cfdisk.c:2752
+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)"
+
+#: fdisk/cfdisk.c:2753
+msgid "Units"
+msgstr "Unités"
+
+#: fdisk/cfdisk.c:2753
+msgid "Change units of the partition size display (MB, sect, cyl)"
+msgstr ""
+"Mofifier les unités d'affichage des taille des partitions (Mo, sect, cyl)"
+
+#: fdisk/cfdisk.c:2754
+msgid "Write"
+msgstr "Ecrire"
+
+#: fdisk/cfdisk.c:2754
+msgid "Write partition table to disk (this might destroy data)"
+msgstr ""
+"Ecrire la table de partitions sur le dsique (cela peut détruire les données)"
+
+#: fdisk/cfdisk.c:2800
+msgid "Cannot make this partition bootable"
+msgstr "Impossible de rendre cette partition amorçable"
+
+#: fdisk/cfdisk.c:2810
+msgid "Cannot delete an empty partition"
+msgstr "Impossible de détruire une partition vide"
+
+#: fdisk/cfdisk.c:2830 fdisk/cfdisk.c:2832
+msgid "Cannot maximize this partition"
+msgstr "Impossible de maximiser cette partition"
+
+#: fdisk/cfdisk.c:2840
+msgid "This partition is unusable"
+msgstr "Cette partition est inutilisable"
+
+#: fdisk/cfdisk.c:2842
+msgid "This partition is already in use"
+msgstr "Cette partition est en cours d'utilisation"
+
+#: fdisk/cfdisk.c:2859
+msgid "Cannot change the type of an empty partition"
+msgstr "Impossible de changer le type d'une partition vide"
+
+#: fdisk/cfdisk.c:2886 fdisk/cfdisk.c:2892
+msgid "No more partitions"
+msgstr "Pas de partition supplémentaire"
+
+#: fdisk/cfdisk.c:2899
+msgid "Illegal command"
+msgstr "Commande illégale"
+
+#: fdisk/cfdisk.c:2909
+#, c-format
+msgid "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+msgstr "Copyright © 1994-2002 Kevin E. Martin & aeb\n"
+
+#: fdisk/cfdisk.c:2916
+#, 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 partition:\n"
+"        %s -P {r|s|t} [options] périphérique\n"
+"Utilisation intéractive:\n"
+"        %s [options] périphérique\n"
+"\n"
+"Options:\n"
+"-a: utiliser les touches fléchées au lieu de la surbrillance;\n"
+"-z: débuter avec une table de partitions vierge, au lieu de la lire sur le "
+"disque;\n"
+"-c C -h H -s S: écraser les paramètres connus du noyau: nombre de "
+"cylindres,\n"
+"                nombre de têtes et nombre de secteurs par piste.\n"
+"\n"
+
+#: fdisk/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 valide sur ce disque.\n"
+"\tMalheureusement Linux ne gère pas ce type de\n"
+"\tdisque pour le moment. Néammoins voici quelques\n"
+"\tconseils:\n"
+"\t1. fdisk détruira son contenu lors d'une écriture.\n"
+"\t2. Soyez sûr que le disque ne consitue PAS une\n"
+"\t   partie vitale d'un groupe de volumes. (Sinon, vous pourriez\n"
+"\t   effacer les autres disques aussi, si pas de miroir.)\n"
+"\t3. Avant de détruire physiquement ce volume physique, soyez\n"
+"\t   sûr de retirer le disque logique du syst. AIX\n"
+"\t   (A moins d'être un expert AIX)."
+
+#: fdisk/fdiskbsdlabel.c:122
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+"\n"
+"Étiquette BSD sur le périphérique: %s\n"
+
+#: fdisk/fdiskbsdlabel.c:129 fdisk/fdisk.c:386 fdisk/fdisk.c:405
+#: fdisk/fdisk.c:423 fdisk/fdisk.c:430 fdisk/fdisk.c:453 fdisk/fdisk.c:471
+#: fdisk/fdisk.c:487 fdisk/fdisk.c:503
+msgid "Command action"
+msgstr "Commande d'action"
+
+#: fdisk/fdiskbsdlabel.c:130
+msgid "   d   delete a BSD partition"
+msgstr "   d   détruire une partition BSD"
+
+#: fdisk/fdiskbsdlabel.c:131
+msgid "   e   edit drive data"
+msgstr "   e   éditer les données du périphérique"
+
+#: fdisk/fdiskbsdlabel.c:132
+msgid "   i   install bootstrap"
+msgstr "   i   installer une amorce"
+
+#: fdisk/fdiskbsdlabel.c:133
+msgid "   l   list known filesystem types"
+msgstr "   l   lister les types de système de fichiers connus"
+
+#: fdisk/fdiskbsdlabel.c:134 fdisk/fdisk.c:392 fdisk/fdisk.c:411
+#: fdisk/fdisk.c:424 fdisk/fdisk.c:436 fdisk/fdisk.c:461 fdisk/fdisk.c:478
+#: fdisk/fdisk.c:494 fdisk/fdisk.c:512
+msgid "   m   print this menu"
+msgstr "   m   afficher ce menu"
+
+#: fdisk/fdiskbsdlabel.c:135
+msgid "   n   add a new BSD partition"
+msgstr "   n   ajouter une nouvelle partition BSD"
+
+#: fdisk/fdiskbsdlabel.c:136
+msgid "   p   print BSD partition table"
+msgstr "   p   afficher la table de partitions BSD"
+
+#: fdisk/fdiskbsdlabel.c:137 fdisk/fdisk.c:396 fdisk/fdisk.c:415
+#: fdisk/fdisk.c:426 fdisk/fdisk.c:440 fdisk/fdisk.c:463 fdisk/fdisk.c:480
+#: fdisk/fdisk.c:496 fdisk/fdisk.c:514
+msgid "   q   quit without saving changes"
+msgstr "   q   quitter sans enregistrer les changements"
+
+#: fdisk/fdiskbsdlabel.c:138 fdisk/fdisk.c:464 fdisk/fdisk.c:481
+#: fdisk/fdisk.c:497 fdisk/fdisk.c:515
+msgid "   r   return to main menu"
+msgstr "   r   retourner au menu principal"
+
+#: fdisk/fdiskbsdlabel.c:139
+msgid "   s   show complete disklabel"
+msgstr "   s   montrer l'étiquette complète du disque"
+
+#: fdisk/fdiskbsdlabel.c:140
+msgid "   t   change a partition's filesystem id"
+msgstr "   t   modifier l'id de système de fichiers de la partition"
+
+#: fdisk/fdiskbsdlabel.c:141
+msgid "   u   change units (cylinders/sectors)"
+msgstr "   u   changer les unités (cylindres/secteurs)"
+
+#: fdisk/fdiskbsdlabel.c:142
+msgid "   w   write disklabel to disk"
+msgstr "   w   écrire l'étiquette sur le disque"
+
+#: fdisk/fdiskbsdlabel.c:144
+msgid "   x   link BSD partition to non-BSD partition"
+msgstr "   x   lier la partition BSD à une partition qui n'est pas de type BSD"
+
+#: fdisk/fdiskbsdlabel.c:176
+#, c-format
+msgid "Partition %s has invalid starting sector 0.\n"
+msgstr "La partition %s a un secteur 0 de départ non valide.\n"
+
+#: fdisk/fdiskbsdlabel.c:180
+#, c-format
+msgid "Reading disklabel of %s at sector %d.\n"
+msgstr "Lecture de l'étiquette du disque %s au secteur %d.\n"
+
+#: fdisk/fdiskbsdlabel.c:190
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr "Il n'y a pas de partition *BSD sur %s.\n"
+
+#: fdisk/fdiskbsdlabel.c:204
+msgid "BSD disklabel command (m for help): "
+msgstr "Commande d'étiquetage BSD (m pour de l'aide): "
+
+#: fdisk/fdiskbsdlabel.c:284 fdisk/fdisk.c:2052 fdisk/fdisksgilabel.c:651
+#: fdisk/fdisksunlabel.c:431
+#, c-format
+msgid "First %s"
+msgstr "Premier %s"
+
+#: fdisk/fdiskbsdlabel.c:291 fdisk/fdisksunlabel.c:488
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr "Dernier %s ou +taille or +tailleM ou +tailleK"
+
+#: fdisk/fdiskbsdlabel.c:318
+#, c-format
+msgid "type: %s\n"
+msgstr "type: %s\n"
+
+#: fdisk/fdiskbsdlabel.c:320
+#, c-format
+msgid "type: %d\n"
+msgstr "type: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:321
+#, c-format
+msgid "disk: %.*s\n"
+msgstr "disque: %.*s\n"
+
+#: fdisk/fdiskbsdlabel.c:322
+#, c-format
+msgid "label: %.*s\n"
+msgstr "étiquette: %.*s\n"
+
+#: fdisk/fdiskbsdlabel.c:323
+#, c-format
+msgid "flags:"
+msgstr "fanions:"
+
+#: fdisk/fdiskbsdlabel.c:325
+#, c-format
+msgid " removable"
+msgstr " extractible"
+
+#: fdisk/fdiskbsdlabel.c:327
+#, c-format
+msgid " ecc"
+msgstr " ecc"
+
+#: fdisk/fdiskbsdlabel.c:329
+#, c-format
+msgid " badsect"
+msgstr " mauvais secteur"
+
+#: fdisk/fdiskbsdlabel.c:333
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr "octets/secteur: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:334
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr "secteurs/piste: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:335
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr "pistes/cylindre: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:336
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr "secteurs/cylindre: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:337
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr "cylindres: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:338
+#, c-format
+msgid "rpm: %d\n"
+msgstr "tours/mn: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:339
+#, c-format
+msgid "interleave: %d\n"
+msgstr "interleave: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:340
+#, c-format
+msgid "trackskew: %d\n"
+msgstr "décalage-piste: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:341
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr "décalage-cylindre: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:342
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr "commutation-têtes: %ld\t\t#millisecondes\n"
+
+#: fdisk/fdiskbsdlabel.c:344
+#, c-format
+msgid "track-to-track seek: %ld\t# milliseconds\n"
+msgstr "positionnement-piste-à-piste: %ld\t# millisecondes\n"
+
+#: fdisk/fdiskbsdlabel.c:346
+#, c-format
+msgid "drivedata: "
+msgstr "données-disque: "
+
+#: fdisk/fdiskbsdlabel.c:355
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+"\n"
+"%d partitions:\n"
+
+#: fdisk/fdiskbsdlabel.c:356
+#, c-format
+msgid "#       start       end      size     fstype   [fsize bsize   cpg]\n"
+msgstr ""
+"#       début       fin      taille   type sys.fic [fsize bsize  cpg]\n"
+
+#: fdisk/fdiskbsdlabel.c:405 fdisk/fdiskbsdlabel.c:408
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr "Écriture de l'étiquette de disque sur %s.\n"
+
+#: fdisk/fdiskbsdlabel.c:420 fdisk/fdiskbsdlabel.c:422
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr "%s ne contient pas d'étiquette.\n"
+
+#: fdisk/fdiskbsdlabel.c:427
+msgid "Do you want to create a disklabel? (y/n) "
+msgstr "Voulez-vous créer une étiquette de disque? (y pour oui/n) "
+
+#: fdisk/fdiskbsdlabel.c:467
+msgid "bytes/sector"
+msgstr "octets/secteur"
+
+#: fdisk/fdiskbsdlabel.c:468
+msgid "sectors/track"
+msgstr "secteurs/piste"
+
+#: fdisk/fdiskbsdlabel.c:469
+msgid "tracks/cylinder"
+msgstr "pistes/cylindre"
+
+#: fdisk/fdiskbsdlabel.c:470 fdisk/fdisk.c:648 fdisk/fdisk.c:1357
+#: fdisk/sfdisk.c:945
+msgid "cylinders"
+msgstr "cylindres"
+
+#: fdisk/fdiskbsdlabel.c:477
+msgid "sectors/cylinder"
+msgstr "secteurs/cylindre"
+
+#: fdisk/fdiskbsdlabel.c:481
+#, c-format
+msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
+msgstr "Doit être <= secteurs/piste * pistes/cylindre (par défaut).\n"
+
+#: fdisk/fdiskbsdlabel.c:483
+msgid "rpm"
+msgstr "tours/mn"
+
+#: fdisk/fdiskbsdlabel.c:484
+msgid "interleave"
+msgstr "interleave"
+
+#: fdisk/fdiskbsdlabel.c:485
+msgid "trackskew"
+msgstr "décalage-pistes"
+
+#: fdisk/fdiskbsdlabel.c:486
+msgid "cylinderskew"
+msgstr "décalage-cylindres"
+
+#: fdisk/fdiskbsdlabel.c:487
+msgid "headswitch"
+msgstr "commutation-têtes"
+
+#: fdisk/fdiskbsdlabel.c:488
+msgid "track-to-track seek"
+msgstr "positionnement-piste-à-piste"
+
+#: fdisk/fdiskbsdlabel.c:529
+#, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr "Amorce: %sboot -> boot%s (%s): "
+
+#: fdisk/fdiskbsdlabel.c:554
+#, c-format
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr "L'amorce chevauche l'étiquette du disque!\n"
+
+#: fdisk/fdiskbsdlabel.c:575 fdisk/fdiskbsdlabel.c:577
+#, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr "Amorce installée sur %s.\n"
+
+#: fdisk/fdiskbsdlabel.c:599
+#, c-format
+msgid "Partition (a-%c): "
+msgstr "Partition (a-%c): "
+
+#: fdisk/fdiskbsdlabel.c:618 fdisk/fdisk.c:2199
+#, c-format
+msgid "The maximum number of partitions has been created\n"
+msgstr "Le nombre maximum de partitions a été créé\n"
+
+#: fdisk/fdiskbsdlabel.c:630
+#, c-format
+msgid "This partition already exists.\n"
+msgstr "Cette partition existe déjà.\n"
+
+#: fdisk/fdiskbsdlabel.c:757
+#, c-format
+msgid "Warning: too many partitions (%d, maximum is %d).\n"
+msgstr "AVERTISSEMENT: trop de partitions (%d, maxi %d).\n"
+
+#: fdisk/fdiskbsdlabel.c:805
+#, c-format
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+"\n"
+"Synchronisation des disques.\n"
+
+#: fdisk/fdisk.c:244
+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 ""
+"Utilisation : fdisk [-b TAILLE] [-u] DISQUE    modifier la table de "
+"partitions\n"
+"       fdisk -l [-b TAILLE] [-u] DISQUE lister les tables de partitions\n"
+"       fdisk -s PARTITION                    donner la taille de partition "
+"en blocs\n"
+"       fdisk -v                                       afficher la version de "
+"fdisk\n"
+"Où DISQUE est quelque chose du genre: /dev/hdb ou /dev/sda\n"
+"et PARTITION est quelque chose du genre: /dev/hda7\n"
+"-u: donne le Début et la Fin en unités de secteurs (au lieu de cylindres)\n"
+"-b 2048: (pour certains disques optiques) spécifie 2048 octets par secteur\n"
+
+#: fdisk/fdisk.c:256
+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 ""
+"Utilisation : fdisk [-l] [-b TAILLE] [-u] périphérique\n"
+"i.e.: fdisk /dev/hda  (pour le premier disque IDE)\n"
+"  ou: fdisk /dev/sdc  (pour le 3e disque SCSI)\n"
+"  ou: fdisk /dev/eda  (pour le 1er disque PS/2 ESDI)\n"
+"  ou: fdisk /dev/rd/c0d0  ou: fdisk /dev/ida/c0d0  (pour des périphériques "
+"RAID)\n"
+"  ...\n"
+
+#: fdisk/fdisk.c:265
+#, c-format
+msgid "Unable to open %s\n"
+msgstr "Impossible d'ouvrir %s\n"
+
+#: fdisk/fdisk.c:269
+#, c-format
+msgid "Unable to read %s\n"
+msgstr "Impossible de lire %s\n"
+
+#: fdisk/fdisk.c:273
+#, c-format
+msgid "Unable to seek on %s\n"
+msgstr "Impossible de se positionner sur %s\n"
+
+#: fdisk/fdisk.c:277
+#, c-format
+msgid "Unable to write %s\n"
+msgstr "Impossible d'écrire %s\n"
+
+#: fdisk/fdisk.c:281
+#, c-format
+msgid "BLKGETSIZE ioctl failed on %s\n"
+msgstr "échec de BLKGETSIZE ioctl sur %s\n"
+
+#: fdisk/fdisk.c:285
+msgid "Unable to allocate any more memory\n"
+msgstr "Impossible d'allouer plus de mémoire\n"
+
+#: fdisk/fdisk.c:288
+msgid "Fatal error\n"
+msgstr "ERREUR FATALE\n"
+
+#: fdisk/fdisk.c:387
+msgid "   a   toggle a read only flag"
+msgstr "   a   basculer le fanion de lecture seule"
+
+#: fdisk/fdisk.c:388 fdisk/fdisk.c:432
+msgid "   b   edit bsd disklabel"
+msgstr "   b   éditer l'étiquette BSD du disque"
+
+#: fdisk/fdisk.c:389
+msgid "   c   toggle the mountable flag"
+msgstr "   c   basculer le fanion \"montable\""
+
+#: fdisk/fdisk.c:390 fdisk/fdisk.c:409 fdisk/fdisk.c:434
+msgid "   d   delete a partition"
+msgstr "   d   supprimer la partition"
+
+#: fdisk/fdisk.c:391 fdisk/fdisk.c:410 fdisk/fdisk.c:435
+msgid "   l   list known partition types"
+msgstr "   l   lister les types de partitions connues"
+
+#: fdisk/fdisk.c:393 fdisk/fdisk.c:412 fdisk/fdisk.c:437
+msgid "   n   add a new partition"
+msgstr "   n   ajouter une nouvelle partition"
+
+#: fdisk/fdisk.c:394 fdisk/fdisk.c:413 fdisk/fdisk.c:425 fdisk/fdisk.c:438
+msgid "   o   create a new empty DOS partition table"
+msgstr "   o   créer une nouvelle table vide de partitions DOS"
+
+#: fdisk/fdisk.c:395 fdisk/fdisk.c:414 fdisk/fdisk.c:439 fdisk/fdisk.c:462
+#: fdisk/fdisk.c:479 fdisk/fdisk.c:495 fdisk/fdisk.c:513
+msgid "   p   print the partition table"
+msgstr "   p   afficher la table de partitions"
+
+#: fdisk/fdisk.c:397 fdisk/fdisk.c:416 fdisk/fdisk.c:427 fdisk/fdisk.c:441
+msgid "   s   create a new empty Sun disklabel"
+msgstr "   s   créer une nouvelle étiquette vide pour disque de type Sun"
+
+#: fdisk/fdisk.c:398 fdisk/fdisk.c:417 fdisk/fdisk.c:442
+msgid "   t   change a partition's system id"
+msgstr "   t   modifier l'id de système de fichiers d'une partition"
+
+#: fdisk/fdisk.c:399 fdisk/fdisk.c:418 fdisk/fdisk.c:443
+msgid "   u   change display/entry units"
+msgstr "   u   modifier les unités d'affichage/saisie"
+
+#: fdisk/fdisk.c:400 fdisk/fdisk.c:419 fdisk/fdisk.c:444 fdisk/fdisk.c:466
+#: fdisk/fdisk.c:483 fdisk/fdisk.c:499 fdisk/fdisk.c:517
+msgid "   v   verify the partition table"
+msgstr "   v   vérifier la table de partitions"
+
+#: fdisk/fdisk.c:401 fdisk/fdisk.c:420 fdisk/fdisk.c:445 fdisk/fdisk.c:467
+#: fdisk/fdisk.c:484 fdisk/fdisk.c:500 fdisk/fdisk.c:518
+msgid "   w   write table to disk and exit"
+msgstr "   w   écrire la table sur le disque et quitter"
+
+#: fdisk/fdisk.c:402 fdisk/fdisk.c:446
+msgid "   x   extra functionality (experts only)"
+msgstr "   x   fonctions avancées (pour experts seulement)"
+
+#: fdisk/fdisk.c:406
+msgid "   a   select bootable partition"
+msgstr "   a   sélectionner une partition amorçable"
+
+#: fdisk/fdisk.c:407
+msgid "   b   edit bootfile entry"
+msgstr "   b   éditier l'entrée du fichier d'amorce"
+
+#: fdisk/fdisk.c:408
+msgid "   c   select sgi swap partition"
+msgstr "   c   sélectionner une partition d'échange pour SGI"
+
+#: fdisk/fdisk.c:431
+msgid "   a   toggle a bootable flag"
+msgstr "   a   bascule le fanion d'amorce"
+
+#: fdisk/fdisk.c:433
+msgid "   c   toggle the dos compatibility flag"
+msgstr "   c   basculer le fanion de compatibilité DOS"
+
+#: fdisk/fdisk.c:454
+msgid "   a   change number of alternate cylinders"
+msgstr "   a   modifier le nombre de cylindres alternatifs"
+
+#: fdisk/fdisk.c:455 fdisk/fdisk.c:473 fdisk/fdisk.c:489 fdisk/fdisk.c:505
+msgid "   c   change number of cylinders"
+msgstr "   c   modifier le nombre de cylindres"
+
+#: fdisk/fdisk.c:456 fdisk/fdisk.c:474 fdisk/fdisk.c:490 fdisk/fdisk.c:506
+msgid "   d   print the raw data in the partition table"
+msgstr "   d   afficher les données brutes de la table de partition"
+
+#: fdisk/fdisk.c:457
+msgid "   e   change number of extra sectors per cylinder"
+msgstr "   e   modifier le nombre de secteurs additionnels par cylindre"
+
+#: fdisk/fdisk.c:458 fdisk/fdisk.c:477 fdisk/fdisk.c:493 fdisk/fdisk.c:510
+msgid "   h   change number of heads"
+msgstr "   h   modifier le nombre de têtes"
+
+#: fdisk/fdisk.c:459
+msgid "   i   change interleave factor"
+msgstr "   i   changer le facteur \"interleave\""
+
+#: fdisk/fdisk.c:460
+msgid "   o   change rotation speed (rpm)"
+msgstr "   o   modifier la vitesse de rotation en tours par minute (rpm)"
+
+#: fdisk/fdisk.c:465 fdisk/fdisk.c:482 fdisk/fdisk.c:498 fdisk/fdisk.c:516
+msgid "   s   change number of sectors/track"
+msgstr "   s   modifier le nombre de secteurs par piste"
+
+#: fdisk/fdisk.c:468
+msgid "   y   change number of physical cylinders"
+msgstr "   y   modifier le nombre de cylindres physiques"
+
+#: fdisk/fdisk.c:472 fdisk/fdisk.c:488 fdisk/fdisk.c:504
+msgid "   b   move beginning of data in a partition"
+msgstr "   b   déplacer le début des données dans une partition"
+
+#: fdisk/fdisk.c:475 fdisk/fdisk.c:491 fdisk/fdisk.c:507
+msgid "   e   list extended partitions"
+msgstr "   e   lister les partitions étendues"
+
+#: fdisk/fdisk.c:476 fdisk/fdisk.c:492 fdisk/fdisk.c:509
+msgid "   g   create an IRIX (SGI) partition table"
+msgstr "   g   créer une table de partitions de type IRIX (SGI)"
+
+#: fdisk/fdisk.c:508
+msgid "   f   fix partition order"
+msgstr "   f   corriger l'ordre des partitions"
+
+#: fdisk/fdisk.c:511
+msgid "   i   change the disk identifier"
+msgstr "   i   modifier l'identifiant de disque"
+
+#: fdisk/fdisk.c:627
+#, c-format
+msgid "You must set"
+msgstr "Vous devez initialiser"
+
+#: fdisk/fdisk.c:644
+msgid "heads"
+msgstr "têtes"
+
+#: fdisk/fdisk.c:646 fdisk/fdisk.c:1357 fdisk/sfdisk.c:945
+msgid "sectors"
+msgstr "secteurs"
+
+#: fdisk/fdisk.c:652
+#, 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"
+
+#: fdisk/fdisk.c:653
+msgid " and "
+msgstr " et "
+
+#: fdisk/fdisk.c:670
+#, c-format
+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"
+"Le nombre de cylindres pour ce disque est fixé à %d.\n"
+"Il n'y a rien d''incorrect avec cela, mais c'est plus grand que 1024,\n"
+"et cela pourrait causer des problèmes pour certaines installations:\n"
+"1) logiciels qui sont exécutés à l'amorçage (i.e., vieilles versions de "
+"LILO)\n"
+"2) logiciels d'amorçage et de partitionnement pour d'autres OS\n"
+"   (i.e., DOS FDISK, OS/2 FDISK)\n"
+
+#: fdisk/fdisk.c:683
+#, 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 %d-byte sectors. Use parted(1) and GUID \n"
+"partition table format (GPT).\n"
+"\n"
+msgstr ""
+"\n"
+"ATTENTION : la taille du disque est %d.%d TB (%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 %d octets. Utiliser parted(1) et le format de table\n"
+"de partitions à GUID (GPT).\n"
+"\n"
+
+#: fdisk/fdisk.c:708
+#, c-format
+msgid "Bad offset in primary extended partition\n"
+msgstr "Décalage erroné dans la partition primaire étendue\n"
+
+#: fdisk/fdisk.c:722
+#, 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"
+
+#: fdisk/fdisk.c:741
+#, c-format
+msgid "Warning: extra link pointer in partition table %d\n"
+msgstr "AVERTISSEMENT: pointeur additionnel dans la table de partitions %d\n"
+
+#: fdisk/fdisk.c:749
+#, c-format
+msgid "Warning: ignoring extra data in partition table %d\n"
+msgstr ""
+"AVERTISSEMENT: données surperflues ignorées dans la table de partition %d\n"
+
+#: fdisk/fdisk.c:782
+#, c-format
+msgid "omitting empty partition (%d)\n"
+msgstr "partition vide ignorée (%d)\n"
+
+#: fdisk/fdisk.c:801
+#, c-format
+msgid "Disk identifier: 0x%08x\n"
+msgstr "Identifiant de disque : 0x%08x\n"
+
+#: fdisk/fdisk.c:810
+#, c-format
+msgid "New disk identifier (current 0x%08x): "
+msgstr "Nouvel identifiant de disque (actuellement 0x%08x) : "
+
+#: fdisk/fdisk.c:829
+#, c-format
+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"
+
+#: fdisk/fdisk.c:861
+#, c-format
+msgid "Note: sector size is %d (not %d)\n"
+msgstr "Note: taille de secteur %d (et non pas %d)\n"
+
+#: fdisk/fdisk.c:990
+#, c-format
+msgid "You will not be able to write the partition table.\n"
+msgstr "Il sera impossible d'écrire la table de partitions.\n"
+
+#: fdisk/fdisk.c:1022
+#, c-format
+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"
+
+#: fdisk/fdisk.c:1032
+#, c-format
+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 "
+"valide\n"
+
+#: fdisk/fdisk.c:1049
+#, c-format
+msgid "Internal error\n"
+msgstr "Erreur interne\n"
+
+#: fdisk/fdisk.c:1062
+#, c-format
+msgid "Ignoring extra extended partition %d\n"
+msgstr "Partition étendue supplémentaire ignorée %d\n"
+
+#: fdisk/fdisk.c:1074
+#, c-format
+msgid ""
+"Warning: invalid flag 0x%04x of partition table %d will be corrected by w"
+"(rite)\n"
+msgstr ""
+"AVERTISSEMENT: fanion 0x%04x non valide dans la table de partitions %d, sera "
+"corrigé par w(écriture)\n"
+
+#: fdisk/fdisk.c:1096
+#, c-format
+msgid ""
+"\n"
+"got EOF thrice - exiting..\n"
+msgstr ""
+"\n"
+"EOF (fin de fichier) obtenue 3 fois - fin du programme...\n"
+
+#: fdisk/fdisk.c:1135
+msgid "Hex code (type L to list codes): "
+msgstr "Code Hexa (taper L pour lister les codes): "
+
+#: fdisk/fdisk.c:1175
+#, c-format
+msgid "%s (%u-%u, default %u): "
+msgstr "%s (%u-%u, par défaut %u): "
+
+#: fdisk/fdisk.c:1242
+#, c-format
+msgid "Unsupported suffix: '%s'.\n"
+msgstr "Suffixe non supporté : '%s'.\n"
+
+#: fdisk/fdisk.c:1243
+#, 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: Ko (KiloOctets), Mo (MegaOctets), Go (GigaOctets)\n"
+"            2^N: K  (KibiOctets), M  (MebiOctets), G  (GibiOctets)\n"
+
+#: fdisk/fdisk.c:1269
+#, c-format
+msgid "Using default value %u\n"
+msgstr "Utilisation de la valeur par défaut %u\n"
+
+#: fdisk/fdisk.c:1273
+#, c-format
+msgid "Value out of range.\n"
+msgstr "Valeur hors limites.\n"
+
+#: fdisk/fdisk.c:1283
+msgid "Partition number"
+msgstr "Numéro de partition"
+
+#: fdisk/fdisk.c:1294
+#, c-format
+msgid "Warning: partition %d has empty type\n"
+msgstr "AVERTISSEMENT: partition %d a un type vide\n"
+
+#: fdisk/fdisk.c:1316 fdisk/fdisk.c:1342
+#, c-format
+msgid "Selected partition %d\n"
+msgstr "Partition sélectionnée %d\n"
+
+#: fdisk/fdisk.c:1319
+#, c-format
+msgid "No partition is defined yet!\n"
+msgstr "Aucune partition n'est définie pour l'instant!\n"
+
+#: fdisk/fdisk.c:1345
+#, c-format
+msgid "All primary partitions have been defined already!\n"
+msgstr "Toutes les partitions primaires ont déjà été définies!\n"
+
+#: fdisk/fdisk.c:1355
+msgid "cylinder"
+msgstr "cylindre"
+
+#: fdisk/fdisk.c:1355
+msgid "sector"
+msgstr "secteur"
+
+#: fdisk/fdisk.c:1364
+#, c-format
+msgid "Changing display/entry units to %s\n"
+msgstr "Modification des unités d'affichage/saisie à %s\n"
+
+#: fdisk/fdisk.c:1375
+#, c-format
+msgid "WARNING: Partition %d is an extended partition\n"
+msgstr "AVERTISSEMENT: la partition %d est une partition étendue\n"
+
+#: fdisk/fdisk.c:1386
+#, c-format
+msgid "DOS Compatibility flag is set\n"
+msgstr "Fanion de compatibilité DOS positionné\n"
+
+#: fdisk/fdisk.c:1390
+#, c-format
+msgid "DOS Compatibility flag is not set\n"
+msgstr "Fanion de compatibilité DOS non positionné\n"
+
+#: fdisk/fdisk.c:1490
+#, c-format
+msgid "Partition %d does not exist yet!\n"
+msgstr "La partition %d n'existe pas encore!\n"
+
+#: fdisk/fdisk.c:1495
+#, 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"
+
+#: fdisk/fdisk.c:1504
+#, 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"
+
+#: fdisk/fdisk.c:1513
+#, 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 et aussi ce qui est préférable  pour Linux.\n"
+"\n"
+
+#: fdisk/fdisk.c:1519
+#, 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 entête (0),\n"
+"et la partition 11 comme un volume entier (6) tel que IRIX l'exige.\n"
+"\n"
+
+#: fdisk/fdisk.c:1536
+#, 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"
+
+#: fdisk/fdisk.c:1539
+#, 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"
+
+#: fdisk/fdisk.c:1591
+#, c-format
+msgid "Partition %d has different physical/logical beginnings (non-Linux?):\n"
+msgstr ""
+"La partition %d a des débuts physique/logique différents (non Linux?):\n"
+
+#: fdisk/fdisk.c:1593 fdisk/fdisk.c:1601 fdisk/fdisk.c:1610 fdisk/fdisk.c:1620
+#, c-format
+msgid "     phys=(%d, %d, %d) "
+msgstr "     phys=(%d, %d, %d) "
+
+#: fdisk/fdisk.c:1594 fdisk/fdisk.c:1602
+#, c-format
+msgid "logical=(%d, %d, %d)\n"
+msgstr "logique=(%d, %d, %d)\n"
+
+#: fdisk/fdisk.c:1599
+#, c-format
+msgid "Partition %d has different physical/logical endings:\n"
+msgstr "La partition %d a des fins physique/logique différentes:\n"
+
+#: fdisk/fdisk.c:1608
+#, c-format
+msgid "Partition %i does not start on cylinder boundary:\n"
+msgstr "La partition %i ne débute pas sur une frontière de cylindre:\n"
+
+#: fdisk/fdisk.c:1611
+#, c-format
+msgid "should be (%d, %d, 1)\n"
+msgstr "devrait être (%d, %d, 1)\n"
+
+#: fdisk/fdisk.c:1617
+#, 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"
+
+#: fdisk/fdisk.c:1621
+#, c-format
+msgid "should be (%d, %d, %d)\n"
+msgstr "devrait être (%d, %d, %d)\n"
+
+#: fdisk/fdisk.c:1633
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld MB, %lld bytes\n"
+msgstr ""
+"\n"
+"Disque %s: %ld Mo, %lld octets\n"
+
+#: fdisk/fdisk.c:1637
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld.%ld GB, %lld bytes\n"
+msgstr ""
+"\n"
+"Disque %s: %ld.%ld Go, %lld octets\n"
+
+#: fdisk/fdisk.c:1640
+#, c-format
+msgid "%d heads, %llu sectors/track, %d cylinders"
+msgstr "%d têtes, %llu secteurs/piste, %d cylindres"
+
+#: fdisk/fdisk.c:1643
+#, c-format
+msgid ", total %llu sectors"
+msgstr ", total %llu secteurs"
+
+#: fdisk/fdisk.c:1646
+#, c-format
+msgid "Units = %s of %d * %d = %d bytes\n"
+msgstr "Unités = %s de %d * %d = %d octets\n"
+
+#: fdisk/fdisk.c:1757
+#, c-format
+msgid ""
+"Nothing to do. Ordering is correct already.\n"
+"\n"
+msgstr ""
+"Rien à faire. L'ordre est déjà correct.\n"
+"\n"
+
+#: fdisk/fdisk.c:1785
+#, c-format
+msgid "Done.\n"
+msgstr "Effectué.\n"
+
+#: fdisk/fdisk.c:1813
+#, 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"
+
+#: fdisk/fdisk.c:1826
+#, c-format
+msgid "%*s Boot      Start         End      Blocks   Id  System\n"
+msgstr "%*s Amorce  Début        Fin      Blocs     Id  Système\n"
+
+#: fdisk/fdisk.c:1827 fdisk/fdisksgilabel.c:223 fdisk/fdisksunlabel.c:603
+msgid "Device"
+msgstr "Périphérique"
+
+#: fdisk/fdisk.c:1864
+#, 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"
+
+#: fdisk/fdisk.c:1874
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %d cylinders\n"
+"\n"
+msgstr ""
+"\n"
+"Disque %s: %d têtes, %llu secteurs, %d cylindres\n"
+"\n"
+
+#: fdisk/fdisk.c:1876
+#, 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"
+
+#: fdisk/fdisk.c:1922
+#, c-format
+msgid "Warning: partition %d contains sector 0\n"
+msgstr "AVERTISSEMENT: la partition %d contient un secteur 0\n"
+
+#: fdisk/fdisk.c:1925
+#, c-format
+msgid "Partition %d: head %d greater than maximum %d\n"
+msgstr "Partition %d: tête %d plus grand que le maximum %d\n"
+
+#: fdisk/fdisk.c:1928
+#, c-format
+msgid "Partition %d: sector %d greater than maximum %llu\n"
+msgstr "Partition %d : secteur %d supérieur au maximum %llu\n"
+
+#: fdisk/fdisk.c:1931
+#, c-format
+msgid "Partitions %d: cylinder %d greater than maximum %d\n"
+msgstr "Partitions %d: cylindre %d plus grand que le maximum %d\n"
+
+#: fdisk/fdisk.c:1935
+#, 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"
+
+#: fdisk/fdisk.c:1968
+#, c-format
+msgid "Warning: bad start-of-data in partition %d\n"
+msgstr "AVERTISSEMENT: start-of-data erroné dans la partition %d\n"
+
+#: fdisk/fdisk.c:1976
+#, c-format
+msgid "Warning: partition %d overlaps partition %d.\n"
+msgstr "AVERTISSEMENT: la partition %d chevauche la partition %d.\n"
+
+#: fdisk/fdisk.c:1996
+#, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr "AVERTISSEMENT: la partition %d est vide\n"
+
+#: fdisk/fdisk.c:2001
+#, 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"
+
+#: fdisk/fdisk.c:2007
+#, 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"
+
+#: fdisk/fdisk.c:2010
+#, c-format
+msgid "%lld unallocated %d-byte sectors\n"
+msgstr "%lld secteurs de %d octets non alloués\n"
+
+#: fdisk/fdisk.c:2025 fdisk/fdisksgilabel.c:633 fdisk/fdisksunlabel.c:416
+#, c-format
+msgid "Partition %d is already defined.  Delete it before re-adding it.\n"
+msgstr "La partition %d est déjà définie. La détruire avant de l'ajouter.\n"
+
+#: fdisk/fdisk.c:2067
+#, c-format
+msgid "Sector %llu is already allocated\n"
+msgstr "Le secteur %llu est déjà alloué\n"
+
+#: fdisk/fdisk.c:2103
+#, c-format
+msgid "No free sectors available\n"
+msgstr "Aucun secteur disponible\n"
+
+#: fdisk/fdisk.c:2112
+#, c-format
+msgid "Last %1$s, +%2$s or +size{K,M,G}"
+msgstr "Dernier %1$s, +%2$s or +taille{K,M,G}"
+
+#: fdisk/fdisk.c:2178
+#, 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 peut gérer les étiquettes de disques "
+"AIX.\n"
+"\tSi vous désirez ajouter des partitions de type DOS, créer d'abord\n"
+"\tune nouvelle table de partitions DOS vide. (Utiliser o.)\n"
+"\tAVERTISSEMENT: cela va détruire le contenu du présent disque.\n"
+
+#: fdisk/fdisk.c:2187
+#, 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 disques Mac.\n"
+"\tSi vous désirez ajouter des partitions de type DOS, créez\n"
+"\tune nouvelle table de partition DOS vide. (Utiliser o.)\n"
+"\tAVERTISSEMENT : cela détruira le contenu actuel du disque.\n"
+
+#: fdisk/fdisk.c:2207
+#, c-format
+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"
+
+#: fdisk/fdisk.c:2210
+#, c-format
+msgid "All logical partitions are in use\n"
+msgstr "Toutes les partitions logiques sont utilisées\n"
+
+#: fdisk/fdisk.c:2211
+#, c-format
+msgid "Adding a primary partition\n"
+msgstr "Ajout d'une partition primaire\n"
+
+#: fdisk/fdisk.c:2216
+#, c-format
+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"
+
+#: fdisk/fdisk.c:2218
+msgid "l   logical (5 or over)"
+msgstr "l   logique (5 ou plus)"
+
+#: fdisk/fdisk.c:2218
+msgid "e   extended"
+msgstr "e   étendue"
+
+#: fdisk/fdisk.c:2237
+#, c-format
+msgid "Invalid partition number for type `%c'\n"
+msgstr "Numéro de partition non valide pour le type « %c »\n"
+
+#: fdisk/fdisk.c:2273
+#, c-format
+msgid ""
+"The partition table has been altered!\n"
+"\n"
+msgstr ""
+"La table de partitions a été altérée!\n"
+"\n"
+
+#: fdisk/fdisk.c:2287
+#, c-format
+msgid "Calling ioctl() to re-read partition table.\n"
+msgstr "Appel de ioctl() pour relire la table de partitions.\n"
+
+#: fdisk/fdisk.c:2296
+#, c-format
+msgid ""
+"\n"
+"WARNING: Re-reading the partition table failed with error %d: %s.\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 : %s.\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"
+
+#: fdisk/fdisk.c:2304
+#, 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"
+"AVERTISSEMENT: si vous avez créé ou modifié une partition DOS 6.x, \n"
+"svp consulter les pages du manuel de fdisk pour des informations\n"
+"complémentaires.\n"
+
+#: fdisk/fdisk.c:2310
+#, c-format
+msgid ""
+"\n"
+"Error closing file\n"
+msgstr ""
+"\n"
+"Erreur de fermeture du fichier\n"
+
+#: fdisk/fdisk.c:2314
+#, c-format
+msgid "Syncing disks.\n"
+msgstr "Synchronisation des disques.\n"
+
+#: fdisk/fdisk.c:2361
+#, c-format
+msgid "Partition %d has no data area\n"
+msgstr "La partition %d n'a pas de zone de données\n"
+
+#: fdisk/fdisk.c:2366
+msgid "New beginning of data"
+msgstr "Nouveau début de données"
+
+#: fdisk/fdisk.c:2382
+msgid "Expert command (m for help): "
+msgstr "Commande pour experts (m pour de l'aide): "
+
+#: fdisk/fdisk.c:2395
+msgid "Number of cylinders"
+msgstr "Nombre de cylindres"
+
+#: fdisk/fdisk.c:2422
+msgid "Number of heads"
+msgstr "Nombre de têtes"
+
+#: fdisk/fdisk.c:2449
+msgid "Number of sectors"
+msgstr "Nombre de secteurs"
+
+#: fdisk/fdisk.c:2452
+#, c-format
+msgid "Warning: setting sector offset for DOS compatiblity\n"
+msgstr ""
+"AVERTISSEMENT: initialisation du décalage de secteur pour compatibilité DOS\n"
+
+#: fdisk/fdisk.c:2511
+#, 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) detecté sur \"%s"
+"\" ! L'utilitaire fdisk ne supporte pas GPT. Utilisez GNU Parted.\n"
+"\n"
+
+#: fdisk/fdisk.c:2533
+#, c-format
+msgid "Disk %s doesn't contain a valid partition table\n"
+msgstr "Le disque %s ne contient pas une table de partition valide\n"
+
+#: fdisk/fdisk.c:2544
+#, c-format
+msgid "Cannot open %s\n"
+msgstr "Impossible d'ouvrir %s\n"
+
+#: fdisk/fdisk.c:2563 fdisk/sfdisk.c:2618
+#, c-format
+msgid "cannot open %s\n"
+msgstr "impossible d'ouvrir %s\n"
+
+#: fdisk/fdisk.c:2583
+#, c-format
+msgid "%c: unknown command\n"
+msgstr "%c: commande inconnue\n"
+
+#: fdisk/fdisk.c:2653
+#, c-format
+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"
+
+#: fdisk/fdisk.c:2657
+#, 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 spécifié\n"
+
+#: fdisk/fdisk.c:2717
+#, 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"
+
+#: fdisk/fdisk.c:2727
+msgid "Command (m for help): "
+msgstr "Commande (m pour l'aide): "
+
+#: fdisk/fdisk.c:2743
+#, c-format
+msgid ""
+"\n"
+"The current boot file is: %s\n"
+msgstr ""
+"\n"
+"Le fichier courant d'amorçage est: %s\n"
+
+#: fdisk/fdisk.c:2745
+msgid "Please enter the name of the new boot file: "
+msgstr "SVP entrer le nom du nouveau fichier d'amorçage: "
+
+#: fdisk/fdisk.c:2747
+#, c-format
+msgid "Boot file unchanged\n"
+msgstr "Fichier d'amorçage non modifié\n"
+
+#: fdisk/fdisk.c:2820
+#, c-format
+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"
+
+#: fdisk/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 valide 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"
+
+#: fdisk/fdisksgilabel.c:81
+msgid "SGI volhdr"
+msgstr "SGI volhdr"
+
+#: fdisk/fdisksgilabel.c:82
+msgid "SGI trkrepl"
+msgstr "SGI trkrepl"
+
+#: fdisk/fdisksgilabel.c:83
+msgid "SGI secrepl"
+msgstr "SGI secrepl"
+
+#: fdisk/fdisksgilabel.c:84
+msgid "SGI raw"
+msgstr "SGI raw"
+
+#: fdisk/fdisksgilabel.c:85
+msgid "SGI bsd"
+msgstr "SGI bsd"
+
+#: fdisk/fdisksgilabel.c:86
+msgid "SGI sysv"
+msgstr "SGI sysv"
+
+#: fdisk/fdisksgilabel.c:87
+msgid "SGI volume"
+msgstr "SGI volume"
+
+#: fdisk/fdisksgilabel.c:88
+msgid "SGI efs"
+msgstr "SGI efs"
+
+#: fdisk/fdisksgilabel.c:89
+msgid "SGI lvol"
+msgstr "SGI lvol"
+
+#: fdisk/fdisksgilabel.c:90
+msgid "SGI rlvol"
+msgstr "SGI rlvol"
+
+#: fdisk/fdisksgilabel.c:91
+msgid "SGI xfs"
+msgstr "SGI xfs"
+
+#: fdisk/fdisksgilabel.c:92
+msgid "SGI xfslog"
+msgstr "SGI xfslog"
+
+#: fdisk/fdisksgilabel.c:93
+msgid "SGI xlv"
+msgstr "SGI xlv"
+
+#: fdisk/fdisksgilabel.c:94
+msgid "SGI xvm"
+msgstr "SGI xvm"
+
+#: fdisk/fdisksgilabel.c:95 fdisk/fdisksunlabel.c:55
+msgid "Linux swap"
+msgstr "Linux swap"
+
+#: fdisk/fdisksgilabel.c:96 fdisk/fdisksunlabel.c:56
+msgid "Linux native"
+msgstr "Linux native"
+
+#: fdisk/fdisksgilabel.c:97 fdisk/fdisksunlabel.c:57 fdisk/i386_sys_types.c:63
+msgid "Linux LVM"
+msgstr "Linux LVM"
+
+#: fdisk/fdisksgilabel.c:98
+msgid "Linux RAID"
+msgstr "Linux RAID"
+
+#: fdisk/fdisksgilabel.c:164
+#, c-format
+msgid ""
+"According to MIPS Computer Systems, Inc the Label must not contain more than "
+"512 bytes\n"
+msgstr ""
+"Selon la MIPS Computer Systems Inc, l'étiquette ne doit pas contenir plus de "
+"512 octets\n"
+
+#: fdisk/fdisksgilabel.c:183
+#, 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
+#: fdisk/fdisksgilabel.c:201
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors\n"
+"%d cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * %d bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disque %s (étiquette de disque SGI) : %d têtes, %llu secteurs\n"
+"%d cylindres, %d cylindres physiques\n"
+"%d secteurs/cyl additionnels, interleave %d:1\n"
+"%s\n"
+"Unités = %s of %d * %d octets\n"
+"\n"
+
+#: fdisk/fdisksgilabel.c:214
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors, %d cylinders\n"
+"Units = %s of %d * %d bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disque %s (étiquette de disque SGI) : %d têtes, %llu secteurs, %d cylindres\n"
+"Unités = %s de %d * %d octets\n"
+"\n"
+
+#: fdisk/fdisksgilabel.c:221
+#, 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"
+
+#: fdisk/fdisksgilabel.c:243
+#, 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"
+
+#: fdisk/fdisksgilabel.c:251
+#, c-format
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr "%2d: %-10s secteur%5u taille%8u\n"
+
+#: fdisk/fdisksgilabel.c:305
+#, 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 valide!\n"
+"\tLe fichier d'amorce doit avoir un chemin d'accès absolu non nul,\n"
+"\te.g. \"/unix\" ou \"/unix.save\".\n"
+
+#: fdisk/fdisksgilabel.c:311
+#, 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"
+
+#: fdisk/fdisksgilabel.c:316
+#, 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"
+
+#: fdisk/fdisksgilabel.c:323
+#, 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"
+
+#: fdisk/fdisksgilabel.c:349
+#, c-format
+msgid ""
+"\n"
+"\tBootfile is changed to \"%s\".\n"
+msgstr ""
+"\n"
+"\tLe fichier d'amorce a été modifié en « %s ».\n"
+
+#: fdisk/fdisksgilabel.c:439
+#, c-format
+msgid "More than one entire disk entry present.\n"
+msgstr "Plus d'une entrée de disque entier présente.\n"
+
+#: fdisk/fdisksgilabel.c:446 fdisk/fdisksunlabel.c:388
+#, c-format
+msgid "No partitions defined\n"
+msgstr "Aucune partition définie\n"
+
+#: fdisk/fdisksgilabel.c:452
+#, 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"
+
+#: fdisk/fdisksgilabel.c:454
+#, 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 débuter au bloc 0,\n"
+"pas au bloc %d.\n"
+
+#: fdisk/fdisksgilabel.c:460
+#, 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"
+
+#: fdisk/fdisksgilabel.c:466
+#, c-format
+msgid "One Partition (#11) should cover the entire disk.\n"
+msgstr "La partition n°11 devrait couvrir le disque en entier.\n"
+
+#: fdisk/fdisksgilabel.c:476
+#, c-format
+msgid "Partition %d does not start on cylinder boundary.\n"
+msgstr "La partition %d ne débute pas sur une frontière de cylindre.\n"
+
+#: fdisk/fdisksgilabel.c:482
+#, 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"
+
+#: fdisk/fdisksgilabel.c:489
+#, 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"
+
+#: fdisk/fdisksgilabel.c:497 fdisk/fdisksgilabel.c:515
+#, c-format
+msgid "Unused gap of %8u sectors - sectors %8u-%u\n"
+msgstr "Espace inutilisé de %8u secteurs - secteurs %8u-%u\n"
+
+#: fdisk/fdisksgilabel.c:526
+#, c-format
+msgid ""
+"\n"
+"The boot partition does not exist.\n"
+msgstr ""
+"\n"
+"La partition d'amorce n'existe pas.\n"
+
+#: fdisk/fdisksgilabel.c:529
+#, c-format
+msgid ""
+"\n"
+"The swap partition does not exist.\n"
+msgstr ""
+"\n"
+"La partition d'échange n'existe pas.\n"
+
+#: fdisk/fdisksgilabel.c:533
+#, 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"
+
+#: fdisk/fdisksgilabel.c:536
+#, c-format
+msgid "\tYou have chosen an unusual boot file name.\n"
+msgstr "\tVous avez choisi un nom de fichier d'amorce inhabituel.\n"
+
+#: fdisk/fdisksgilabel.c:545
+#, c-format
+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"
+
+#: fdisk/fdisksgilabel.c:551
+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\n"
+"soit de type \"SGI volhdr\", le système IRIX s'en sert\n"
+"pour récupérer de ses répertoires des outils indépendants\n"
+"comme sash et fx. Seul le volume \"SGI\" couvrant la section entière\n"
+"du disque peut enfreindre cette règle.\n"
+"Taper OUI si vous êtes certain de l'étiquetage différent de cette "
+"partition.\n"
+
+#: fdisk/fdisksgilabel.c:556 fdisk/fdisksunlabel.c:554
+msgid "YES\n"
+msgstr "OUI\n"
+
+#: fdisk/fdisksgilabel.c:581
+#, c-format
+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"
+
+#: fdisk/fdisksgilabel.c:639
+#, c-format
+msgid "Attempting to generate entire disk entry automatically.\n"
+msgstr ""
+"Essai de génération d'une entrée pour le disque entier automatiquement.\n"
+
+#: fdisk/fdisksgilabel.c:644
+#, c-format
+msgid "The entire disk is already covered with partitions.\n"
+msgstr "Le disque entier est déjà recouvert par les partitions.\n"
+
+#: fdisk/fdisksgilabel.c:648
+#, c-format
+msgid "You got a partition overlap on the disk. Fix it first!\n"
+msgstr "Il y a un chevauchement de partition sur le disque. SVP corrigez!\n"
+
+#: fdisk/fdisksgilabel.c:657 fdisk/fdisksgilabel.c:686
+#, 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 partition n°11\n"
+"couvre le disque en entier pour ce type « SGI volume »\n"
+
+#: fdisk/fdisksgilabel.c:673
+#, c-format
+msgid "You will get a partition overlap on the disk. Fix it first!\n"
+msgstr ""
+"Vous allez obtenir un chevauchement de partition sur ce disque. SVP "
+"corrigez!\n"
+
+#: fdisk/fdisksgilabel.c:678
+#, c-format
+msgid " Last %s"
+msgstr " Dernier(e) %s"
+
+#: fdisk/fdisksgilabel.c:708
+#, c-format
+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"
+
+#: fdisk/fdisksgilabel.c:731 fdisk/fdisksunlabel.c:227
+#, c-format
+msgid ""
+"Warning:  BLKGETSIZE ioctl failed on %s.  Using geometry cylinder value of %"
+"d.\n"
+"This value may be truncated for devices > 33.8 GB.\n"
+msgstr ""
+"AVERTISSEMENT: BLKGETSIZE ioctl a échoué sur %s. La valeur %d de géométrie "
+"du cylindre\n"
+"sera utilisée. Cette valeur peut être réduite pour les périphériques de plus "
+"de 33.8 Go.\n"
+
+#: fdisk/fdisksgilabel.c:745
+#, c-format
+msgid "Trying to keep parameters of partition %d.\n"
+msgstr "Tentative de conservation des paramètres de la partition %d.\n"
+
+#: fdisk/fdisksgilabel.c:747
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr "ID=%02x\tDEBUT=%d\tLONGUEUR=%d\n"
+
+#: fdisk/fdisksunlabel.c:43
+msgid "Unassigned"
+msgstr "Non-assigné"
+
+#: fdisk/fdisksunlabel.c:45
+msgid "SunOS root"
+msgstr "SunOS root"
+
+#: fdisk/fdisksunlabel.c:46
+msgid "SunOS swap"
+msgstr "SunOS swap"
+
+#: fdisk/fdisksunlabel.c:47
+msgid "SunOS usr"
+msgstr "SunOS usr"
+
+#: fdisk/fdisksunlabel.c:48
+msgid "Whole disk"
+msgstr "Disque entier"
+
+#: fdisk/fdisksunlabel.c:49
+msgid "SunOS stand"
+msgstr "SunOS stand"
+
+#: fdisk/fdisksunlabel.c:50
+msgid "SunOS var"
+msgstr "SunOS var"
+
+#: fdisk/fdisksunlabel.c:51
+msgid "SunOS home"
+msgstr "SunOS home"
+
+#: fdisk/fdisksunlabel.c:52
+msgid "SunOS alt sectors"
+msgstr "SunOS secteurs alt."
+
+#: fdisk/fdisksunlabel.c:53
+msgid "SunOS cachefs"
+msgstr "SunOS cachefs"
+
+#: fdisk/fdisksunlabel.c:54
+msgid "SunOS reserved"
+msgstr "SunOS réservé"
+
+#: fdisk/fdisksunlabel.c:58 fdisk/i386_sys_types.c:103
+msgid "Linux raid autodetect"
+msgstr "Linux raid autodetect"
+
+# fdisk/fdisksunlabel.c:132
+#: fdisk/fdisksunlabel.c:141
+#, 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 spécifier les valeurs,\n"
+"i.e. têtes, secteurs, cylindres et partitions\n"
+"ou imposez une nouvelle étiquette (commande \"s\")\n"
+
+#: fdisk/fdisksunlabel.c:153
+#, 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"
+
+#: fdisk/fdisksunlabel.c:158
+#, 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"
+
+#: fdisk/fdisksunlabel.c:163
+#, 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"
+
+#: fdisk/fdisksunlabel.c:168
+#, 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"
+
+#: fdisk/fdisksunlabel.c:198
+#, c-format
+msgid ""
+"Building a new sun disklabel. Changes will remain in memory only,\n"
+"until you decide to write them. After that, of course, the previous\n"
+"content won't be recoverable.\n"
+"\n"
+msgstr ""
+"Construction d'une nouvelle étiquette Sun pour disque. Les modifications "
+"resteront\n"
+"en mémoire jusqu'à écriture. Après quoi, bien sûr, le précédent contenu\n"
+"sera irrécupérable.\n"
+"\n"
+
+#: fdisk/fdisksunlabel.c:236
+msgid "Sectors/track"
+msgstr "Secteurs/piste"
+
+#: fdisk/fdisksunlabel.c:351
+#, 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"
+
+#: fdisk/fdisksunlabel.c:371
+#, 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"
+
+#: fdisk/fdisksunlabel.c:393
+#, c-format
+msgid "Unused gap - sectors 0-%d\n"
+msgstr "Espace intermédiaire inutilisé - secteurs 0-%d\n"
+
+#: fdisk/fdisksunlabel.c:395 fdisk/fdisksunlabel.c:401
+#, c-format
+msgid "Unused gap - sectors %d-%d\n"
+msgstr "Espace intermédiaire inutilisé - secteurs %d-%d\n"
+
+#: fdisk/fdisksunlabel.c:426
+#, 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/réduire quelques unes avant de réessayer.\n"
+
+#: fdisk/fdisksunlabel.c:449
+#, 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"
+
+#: fdisk/fdisksunlabel.c:477
+#, c-format
+msgid "Sector %d is already allocated\n"
+msgstr "Le secteur %d est déjà alloué\n"
+
+#: fdisk/fdisksunlabel.c:507
+#, 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 3ème partition,\n"
+"mais la valeur %d %s en couvre d'autres. Votre entrée a été modifiée\n"
+"à %d %s\n"
+
+#: fdisk/fdisksunlabel.c:534
+#, 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"
+
+#: fdisk/fdisksunlabel.c:549
+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\n"
+"soit un système de fichiers UFS, EXT2FS ou SunOS swap. Utiliser Linux swap\n"
+"pourrait détruire votre table de partitions et le bloc d'amorçage.\n"
+"Taper OUI si vous êtes certain que vous voulez que cette partition\n"
+"soit étiquetée 82 (Linux swap): "
+
+# fdisk/fdisksunlabel.c:656
+#: fdisk/fdisksunlabel.c:581
+#, c-format
+msgid ""
+"\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"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disque %s (étiquette de disque Sun): %d têtes, %llu secteurs, %d tours/mn\n"
+"%d cylindres, %d cylindres alt., %d cylindres physiques\n"
+"%d secteurs/cyl additionnels, interleave %d:1\n"
+"ID étiquette : %s\n"
+"ID volume : %s\n"
+"Unités = %s de %d * 512 octets\n"
+"\n"
+
+#: fdisk/fdisksunlabel.c:597
+#, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %d heads, %llu sectors, %d cylinders\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disque %s (étiquette de disque Sun) : %d têtes, %llu secteurs, %d cylindres\n"
+"Unités = %s de %d * 512 octets\n"
+"\n"
+
+#: fdisk/fdisksunlabel.c:602
+#, c-format
+msgid "%*s Flag    Start       End    Blocks   Id  System\n"
+msgstr "%*s Fanions Début     Fin    Blocs    Id  Système\n"
+
+#: fdisk/fdisksunlabel.c:630
+msgid "Number of alternate cylinders"
+msgstr "Nombre de cylindres alternatifs"
+
+#: fdisk/fdisksunlabel.c:642
+msgid "Extra sectors per cylinder"
+msgstr "Secteurs additionnels par cylindre"
+
+#: fdisk/fdisksunlabel.c:649
+msgid "Interleave factor"
+msgstr "Facteur \"interleave\""
+
+#: fdisk/fdisksunlabel.c:656
+msgid "Rotation speed (rpm)"
+msgstr "Vitesse de rotation (rpm)"
+
+#: fdisk/fdisksunlabel.c:663
+msgid "Number of physical cylinders"
+msgstr "Nombre de cylindres physiques"
+
+#: fdisk/i386_sys_types.c:6
+msgid "Empty"
+msgstr "Vide"
+
+#: fdisk/i386_sys_types.c:7
+msgid "FAT12"
+msgstr "FAT12"
+
+#: fdisk/i386_sys_types.c:8
+msgid "XENIX root"
+msgstr "XENIX root"
+
+#: fdisk/i386_sys_types.c:9
+msgid "XENIX usr"
+msgstr "XENIX usr"
+
+#: fdisk/i386_sys_types.c:10
+msgid "FAT16 <32M"
+msgstr "FAT16 <32M"
+
+#: fdisk/i386_sys_types.c:11
+msgid "Extended"
+msgstr "Etendue"
+
+#: fdisk/i386_sys_types.c:12
+msgid "FAT16"
+msgstr "FAT16"
+
+#: fdisk/i386_sys_types.c:13
+msgid "HPFS/NTFS"
+msgstr "HPFS/NTFS"
+
+#: fdisk/i386_sys_types.c:14
+msgid "AIX"
+msgstr "AIX"
+
+#: fdisk/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr "AIX amorçable"
+
+#: fdisk/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr "OS/2 Boot Manager"
+
+#: fdisk/i386_sys_types.c:17
+msgid "W95 FAT32"
+msgstr "W95 FAT32"
+
+#: fdisk/i386_sys_types.c:18
+msgid "W95 FAT32 (LBA)"
+msgstr "W95 FAT32 (LBA)"
+
+#: fdisk/i386_sys_types.c:19
+msgid "W95 FAT16 (LBA)"
+msgstr "W95 FAT16 (LBA)"
+
+#: fdisk/i386_sys_types.c:20
+msgid "W95 Ext'd (LBA)"
+msgstr "W95 Etendue (LBA)"
+
+#: fdisk/i386_sys_types.c:21
+msgid "OPUS"
+msgstr "OPUS"
+
+#: fdisk/i386_sys_types.c:22
+msgid "Hidden FAT12"
+msgstr "Cachée FAT12"
+
+#: fdisk/i386_sys_types.c:23
+msgid "Compaq diagnostics"
+msgstr "Compaq diagnostics"
+
+#: fdisk/i386_sys_types.c:24
+msgid "Hidden FAT16 <32M"
+msgstr "Cachée FAT16 <32M"
+
+#: fdisk/i386_sys_types.c:25
+msgid "Hidden FAT16"
+msgstr "Cachée FAT16"
+
+#: fdisk/i386_sys_types.c:26
+msgid "Hidden HPFS/NTFS"
+msgstr "Cachée HPFS/NTFS"
+
+#: fdisk/i386_sys_types.c:27
+msgid "AST SmartSleep"
+msgstr "AST SmartSleep"
+
+#: fdisk/i386_sys_types.c:28
+msgid "Hidden W95 FAT32"
+msgstr "Cachée W95 FAT32"
+
+#: fdisk/i386_sys_types.c:29
+msgid "Hidden W95 FAT32 (LBA)"
+msgstr "Cachée W95 FAT32 (LBA)"
+
+#: fdisk/i386_sys_types.c:30
+msgid "Hidden W95 FAT16 (LBA)"
+msgstr "Cachée W95 FAT16 (LBA)"
+
+#: fdisk/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr "NEC DOS"
+
+#: fdisk/i386_sys_types.c:32
+msgid "Plan 9"
+msgstr "Plan 9"
+
+#: fdisk/i386_sys_types.c:33
+msgid "PartitionMagic recovery"
+msgstr "PartitionMagic recovery"
+
+#: fdisk/i386_sys_types.c:34
+msgid "Venix 80286"
+msgstr "Venix 80286"
+
+#: fdisk/i386_sys_types.c:35
+msgid "PPC PReP Boot"
+msgstr "PPC PReP Boot"
+
+#: fdisk/i386_sys_types.c:36
+msgid "SFS"
+msgstr "SFS"
+
+#: fdisk/i386_sys_types.c:37
+msgid "QNX4.x"
+msgstr "QNX4.x"
+
+#: fdisk/i386_sys_types.c:38
+msgid "QNX4.x 2nd part"
+msgstr "QNX4.x 2nd part"
+
+#: fdisk/i386_sys_types.c:39
+msgid "QNX4.x 3rd part"
+msgstr "QNX4.x 3rd part"
+
+#: fdisk/i386_sys_types.c:40
+msgid "OnTrack DM"
+msgstr "OnTrack DM"
+
+#: fdisk/i386_sys_types.c:41
+msgid "OnTrack DM6 Aux1"
+msgstr "OnTrack DM6 Aux1"
+
+#: fdisk/i386_sys_types.c:42
+msgid "CP/M"
+msgstr "CP/M"
+
+#: fdisk/i386_sys_types.c:43
+msgid "OnTrack DM6 Aux3"
+msgstr "OnTrack DM6 Aux3"
+
+#: fdisk/i386_sys_types.c:44
+msgid "OnTrackDM6"
+msgstr "OnTrackDM6"
+
+#: fdisk/i386_sys_types.c:45
+msgid "EZ-Drive"
+msgstr "EZ-Drive"
+
+#: fdisk/i386_sys_types.c:46
+msgid "Golden Bow"
+msgstr "Golden Bow"
+
+#: fdisk/i386_sys_types.c:47
+msgid "Priam Edisk"
+msgstr "Priam Edisk"
+
+#: fdisk/i386_sys_types.c:48 fdisk/i386_sys_types.c:92
+#: fdisk/i386_sys_types.c:98 fdisk/i386_sys_types.c:99
+msgid "SpeedStor"
+msgstr "SpeedStor"
+
+#: fdisk/i386_sys_types.c:49
+msgid "GNU HURD or SysV"
+msgstr "GNU HURD or SysV"
+
+#: fdisk/i386_sys_types.c:50
+msgid "Novell Netware 286"
+msgstr "Novell Netware 286"
+
+#: fdisk/i386_sys_types.c:51
+msgid "Novell Netware 386"
+msgstr "Novell Netware 386"
+
+#: fdisk/i386_sys_types.c:52
+msgid "DiskSecure Multi-Boot"
+msgstr "DiskSecure Multi-Boot"
+
+#: fdisk/i386_sys_types.c:53
+msgid "PC/IX"
+msgstr "PC/IX"
+
+#: fdisk/i386_sys_types.c:54
+msgid "Old Minix"
+msgstr "Minix ancienne"
+
+#: fdisk/i386_sys_types.c:55
+msgid "Minix / old Linux"
+msgstr "Minix / Linux ancienne"
+
+#: fdisk/i386_sys_types.c:56
+msgid "Linux swap / Solaris"
+msgstr "Linux swap / Solaris"
+
+#: fdisk/i386_sys_types.c:58
+msgid "OS/2 hidden C: drive"
+msgstr "OS/2 cachée disque C:"
+
+#: fdisk/i386_sys_types.c:59
+msgid "Linux extended"
+msgstr "Linux étendue"
+
+#: fdisk/i386_sys_types.c:60 fdisk/i386_sys_types.c:61
+msgid "NTFS volume set"
+msgstr "NTFS volume set"
+
+#: fdisk/i386_sys_types.c:62
+msgid "Linux plaintext"
+msgstr "Linux plaintext"
+
+#: fdisk/i386_sys_types.c:64
+msgid "Amoeba"
+msgstr "Amoeba"
+
+#: fdisk/i386_sys_types.c:65
+msgid "Amoeba BBT"
+msgstr "Amoeba BBT"
+
+#: fdisk/i386_sys_types.c:66
+msgid "BSD/OS"
+msgstr "BSD/OS"
+
+#: fdisk/i386_sys_types.c:67
+msgid "IBM Thinkpad hibernation"
+msgstr "IBM Thinkpad hibernation"
+
+#: fdisk/i386_sys_types.c:68
+msgid "FreeBSD"
+msgstr "FreeBSD"
+
+#: fdisk/i386_sys_types.c:69
+msgid "OpenBSD"
+msgstr "OpenBSD"
+
+#: fdisk/i386_sys_types.c:70
+msgid "NeXTSTEP"
+msgstr "NeXTSTEP"
+
+#: fdisk/i386_sys_types.c:71
+msgid "Darwin UFS"
+msgstr "UFS Darwin"
+
+#: fdisk/i386_sys_types.c:72
+msgid "NetBSD"
+msgstr "NetBSD"
+
+#: fdisk/i386_sys_types.c:73
+msgid "Darwin boot"
+msgstr "Amorce Darwin"
+
+#: fdisk/i386_sys_types.c:74
+msgid "HFS / HFS+"
+msgstr "HFS / HFS+"
+
+#: fdisk/i386_sys_types.c:75
+msgid "BSDI fs"
+msgstr "BSDI fs"
+
+#: fdisk/i386_sys_types.c:76
+msgid "BSDI swap"
+msgstr "BSDI swap"
+
+#: fdisk/i386_sys_types.c:77
+msgid "Boot Wizard hidden"
+msgstr "Boot Wizard hidden"
+
+#: fdisk/i386_sys_types.c:78
+msgid "Solaris boot"
+msgstr "Amorce Solaris"
+
+#: fdisk/i386_sys_types.c:79
+msgid "Solaris"
+msgstr "Solaris"
+
+#: fdisk/i386_sys_types.c:80
+msgid "DRDOS/sec (FAT-12)"
+msgstr "DRDOS/sec (FAT-12)"
+
+#: fdisk/i386_sys_types.c:81
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr "DRDOS/sec (FAT-16 < 32M)"
+
+#: fdisk/i386_sys_types.c:82
+msgid "DRDOS/sec (FAT-16)"
+msgstr "DRDOS/sec (FAT-16)"
+
+#: fdisk/i386_sys_types.c:83
+msgid "Syrinx"
+msgstr "Syrinx"
+
+#: fdisk/i386_sys_types.c:84
+msgid "Non-FS data"
+msgstr "Non-FS data"
+
+#: fdisk/i386_sys_types.c:85
+msgid "CP/M / CTOS / ..."
+msgstr "CP/M / CTOS / ..."
+
+#: fdisk/i386_sys_types.c:87
+msgid "Dell Utility"
+msgstr "Dell Utility"
+
+#: fdisk/i386_sys_types.c:88
+msgid "BootIt"
+msgstr "BootIt"
+
+#: fdisk/i386_sys_types.c:89
+msgid "DOS access"
+msgstr "DOS access"
+
+#: fdisk/i386_sys_types.c:91
+msgid "DOS R/O"
+msgstr "DOS R/O"
+
+#: fdisk/i386_sys_types.c:94
+msgid "BeOS fs"
+msgstr "BeOS fs"
+
+#: fdisk/i386_sys_types.c:95
+msgid "GPT"
+msgstr "GPT"
+
+#: fdisk/i386_sys_types.c:96
+msgid "EFI (FAT-12/16/32)"
+msgstr "EFI (FAT-12/16/32)"
+
+#: fdisk/i386_sys_types.c:97
+msgid "Linux/PA-RISC boot"
+msgstr "Linux/PA-RISC boot"
+
+#: fdisk/i386_sys_types.c:100
+msgid "DOS secondary"
+msgstr "DOS secondaire"
+
+#: fdisk/i386_sys_types.c:101
+msgid "VMware VMFS"
+msgstr "VMware VMFS"
+
+#: fdisk/i386_sys_types.c:102
+msgid "VMware VMKCORE"
+msgstr "VMware VMKCORE"
+
+#: fdisk/i386_sys_types.c:106
+msgid "LANstep"
+msgstr "LANstep"
+
+#: fdisk/i386_sys_types.c:107
+msgid "BBT"
+msgstr "BBT"
+
+#: fdisk/sfdisk.c:179
+#, c-format
+msgid "seek error on %s - cannot seek to %lu\n"
+msgstr "erreur de positionnement sur %s - ne peut repérer %lu\n"
+
+#: fdisk/sfdisk.c:184
+#, 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"
+
+#: fdisk/sfdisk.c:230
+msgid "out of memory - giving up\n"
+msgstr "mémoire épuisée - abandon\n"
+
+#: fdisk/sfdisk.c:235 fdisk/sfdisk.c:318
+#, 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"
+
+#: fdisk/sfdisk.c:253
+#, 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"
+
+#: fdisk/sfdisk.c:268
+#, 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"
+
+#: fdisk/sfdisk.c:306
+#, 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"
+
+#: fdisk/sfdisk.c:324
+#, c-format
+msgid "write error on %s\n"
+msgstr "erreur d'écriture sur %s\n"
+
+#: fdisk/sfdisk.c:350
+#, c-format
+msgid "cannot stat partition restore file (%s)\n"
+msgstr ""
+"impossible d'évaluer par stat() le fichier de restauration de partition (%"
+"s)\n"
+
+#: fdisk/sfdisk.c:355
+msgid "partition restore file has wrong size - not restoring\n"
+msgstr ""
+"le fichier de recouvrement de partition a une taille erronée - pas de "
+"recouvrement\n"
+
+#: fdisk/sfdisk.c:359
+msgid "out of memory?\n"
+msgstr "mémoire épuisée?\n"
+
+#: fdisk/sfdisk.c:365
+#, c-format
+msgid "cannot open partition restore file (%s)\n"
+msgstr "ne peut ouvrir le fichier de recouvrement de partition (%s)\n"
+
+#: fdisk/sfdisk.c:371
+#, c-format
+msgid "error reading %s\n"
+msgstr "erreur de lecture %s\n"
+
+#: fdisk/sfdisk.c:378
+#, c-format
+msgid "cannot open device %s for writing\n"
+msgstr "ne peut ouvrir le périphérique %s pour écriture\n"
+
+#: fdisk/sfdisk.c:390
+#, c-format
+msgid "error writing sector %lu on %s\n"
+msgstr "erreur d'écriture du secteur %lu sur %s\n"
+
+#: fdisk/sfdisk.c:455
+#, c-format
+msgid "Disk %s: cannot get geometry\n"
+msgstr "Disque %s : impossible d'obtenir la géométrie\n"
+
+#: fdisk/sfdisk.c:472
+#, c-format
+msgid "Disk %s: cannot get size\n"
+msgstr "Disque %s: impossible d'obtenir sa taille\n"
+
+#: fdisk/sfdisk.c:505
+#, 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 ""
+"Attention : début=%lu - cela ressemble à une partition plus 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"
+
+#: fdisk/sfdisk.c:512
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu heads\n"
+msgstr "Attention : HDIO_GETGEO indique qu'il a %lu têtes\n"
+
+#: fdisk/sfdisk.c:515
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu sectors\n"
+msgstr "Attention : HDIO_GETGEO indique qu'il y a %lu secteurs\n"
+
+#: fdisk/sfdisk.c:519
+#, c-format
+msgid "Warning: BLKGETSIZE/HDIO_GETGEO says that there are %lu cylinders\n"
+msgstr "Attention : BLKGETSIZE/HDIO_GETGEO indique qu'il y a %lu cylindres\n"
+
+#: fdisk/sfdisk.c:524
+#, 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 ""
+"Attention : 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"
+
+#: fdisk/sfdisk.c:528
+#, 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"
+
+#: fdisk/sfdisk.c:610
+#, 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"
+
+#: fdisk/sfdisk.c:615
+#, 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"
+
+#: fdisk/sfdisk.c:620
+#, 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"
+
+#: fdisk/sfdisk.c:660
+#, c-format
+msgid ""
+"Id  Name\n"
+"\n"
+msgstr ""
+"Id  Nom\n"
+"\n"
+
+#: fdisk/sfdisk.c:821
+#, c-format
+msgid "Re-reading the partition table ...\n"
+msgstr "Relecture de la table de partitions ...\n"
+
+#: fdisk/sfdisk.c:827
+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"
+
+#: fdisk/sfdisk.c:833
+#, c-format
+msgid "Error closing %s\n"
+msgstr "Erreur de fermeture %s\n"
+
+#: fdisk/sfdisk.c:871
+#, c-format
+msgid "%s: no such partition\n"
+msgstr "%s: pas de telle partition\n"
+
+#: fdisk/sfdisk.c:894
+msgid "unrecognized format - using sectors\n"
+msgstr "format non reconnu - utilisation des secteurs\n"
+
+#: fdisk/sfdisk.c:944
+#, c-format
+msgid "unimplemented format - using %s\n"
+msgstr "format non implanté - %s utilisé\n"
+
+#: fdisk/sfdisk.c:948
+#, 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"
+
+#: fdisk/sfdisk.c:951
+#, 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"
+
+#: fdisk/sfdisk.c:956
+#, 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"
+
+#: fdisk/sfdisk.c:958
+#, c-format
+msgid "   Device Boot    Start       End   #sectors  Id  System\n"
+msgstr "   Périph Amorce  Début       Fin   #secteurs Id  Système\n"
+
+#: fdisk/sfdisk.c:961
+#, 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"
+
+#: fdisk/sfdisk.c:963
+#, c-format
+msgid "   Device Boot   Start       End    #blocks   Id  System\n"
+msgstr "   Périph Amorce Début       Fin    #blocs    Id  Système\n"
+
+#: fdisk/sfdisk.c:966
+#, c-format
+msgid ""
+"Units = mebibytes of 1048576 bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Unités= mégaoctets de 1048576 octets, blocs de 1024 octets, décompte à "
+"partir de %d\n"
+"\n"
+
+#: fdisk/sfdisk.c:968
+#, c-format
+msgid "   Device Boot Start   End    MiB    #blocks   Id  System\n"
+msgstr "   Périph Amor Début   Fin     Mo    #blocs    Id  Système\n"
+
+#: fdisk/sfdisk.c:1128
+#, 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"
+
+#: fdisk/sfdisk.c:1135
+#, 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"
+
+#: fdisk/sfdisk.c:1138
+#, 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"
+
+#: fdisk/sfdisk.c:1148
+msgid "No partitions found\n"
+msgstr "Aucune partition repérée\n"
+
+#: fdisk/sfdisk.c:1152
+#, 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 ""
+"Attention : 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"
+
+#: fdisk/sfdisk.c:1201
+msgid "no partition table present.\n"
+msgstr "aucune table de partitions présente.\n"
+
+#: fdisk/sfdisk.c:1203
+#, c-format
+msgid "strange, only %d partitions defined.\n"
+msgstr "étrange, seulement %d partitions définies.\n"
+
+#: fdisk/sfdisk.c:1212
+#, c-format
+msgid "Warning: partition %s has size 0 but is not marked Empty\n"
+msgstr ""
+"AVERTISSEMENT : partition %s de taille 0 mais non marquée vide (\"Empty\")\n"
+
+#: fdisk/sfdisk.c:1215
+#, c-format
+msgid "Warning: partition %s has size 0 and is bootable\n"
+msgstr "AVERTISSEMENT : partition %s de taille 0 et amorçable\n"
+
+#: fdisk/sfdisk.c:1218
+#, c-format
+msgid "Warning: partition %s has size 0 and nonzero start\n"
+msgstr ""
+"AVERTISSEMENT : partition %s de taille 0 avec une adresse de début non à "
+"zéro\n"
+
+#: fdisk/sfdisk.c:1229
+#, c-format
+msgid "Warning: partition %s "
+msgstr "AVERTISSEMENT : partition %s "
+
+#: fdisk/sfdisk.c:1230
+#, c-format
+msgid "is not contained in partition %s\n"
+msgstr "n'est pas contenu(e) dans la partition %s\n"
+
+#: fdisk/sfdisk.c:1241
+#, c-format
+msgid "Warning: partitions %s "
+msgstr "AVERTISSEMENT: partitions %s "
+
+#: fdisk/sfdisk.c:1242
+#, c-format
+msgid "and %s overlap\n"
+msgstr "et %s se chevauchent\n"
+
+#: fdisk/sfdisk.c:1253
+#, c-format
+msgid ""
+"Warning: partition %s contains part of the partition table (sector %lu),\n"
+"and will destroy it when filled\n"
+msgstr ""
+"Attention : la partition %s contient une partie de la table de partitions\n"
+"(secteur %lu), et cela la détruira lorsqu'elle se remplira\n"
+
+#: fdisk/sfdisk.c:1265
+#, c-format
+msgid "Warning: partition %s starts at sector 0\n"
+msgstr "Attention : la partition %s débute au secteur 0\n"
+
+#: fdisk/sfdisk.c:1269
+#, c-format
+msgid "Warning: partition %s extends past end of disk\n"
+msgstr "Attention : la partition %s s'étend après la fin du disque\n"
+
+#: fdisk/sfdisk.c:1284
+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 ne soit pas un problème sous Linux)\n"
+
+#: fdisk/sfdisk.c:1302
+#, c-format
+msgid "Warning: partition %s does not start at a cylinder boundary\n"
+msgstr ""
+"Attention : la partition %s ne débute pas sur une frontière de cylindre\n"
+
+#: fdisk/sfdisk.c:1308
+#, c-format
+msgid "Warning: partition %s does not end at a cylinder boundary\n"
+msgstr ""
+"Attention : la partition %s ne se termine pas sur une frontière de cylindre\n"
+
+#: fdisk/sfdisk.c:1326
+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 ""
+"Attention : 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"
+
+#: fdisk/sfdisk.c:1333
+msgid ""
+"Warning: usually one can boot from primary partitions only\n"
+"LILO disregards the `bootable' flag.\n"
+msgstr ""
+"Attention : habituellement on ne peut amorcer qu'à partir d'une\n"
+"partition primaire. LILO ne s'occupe pas du fanion d'amorçage.\n"
+
+#: fdisk/sfdisk.c:1339
+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 ""
+"Attnetion : aucune partition primaire marquée amorçable (active)\n"
+"Peu important pour LILO, mais DOS MBR n'amorcera pas ce disque.\n"
+
+#: fdisk/sfdisk.c:1353
+msgid "start"
+msgstr "début"
+
+#: fdisk/sfdisk.c:1356
+#, 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"
+
+#: fdisk/sfdisk.c:1362
+msgid "end"
+msgstr "fin"
+
+#: fdisk/sfdisk.c:1365
+#, 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"
+
+#: fdisk/sfdisk.c:1368
+#, 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"
+
+#: fdisk/sfdisk.c:1393
+#, c-format
+msgid ""
+"Warning: shifted start of the extd partition from %ld to %ld\n"
+"(For listing purposes only. Do not change its contents.)\n"
+msgstr ""
+"Attention : décalage du début de partition étendue de %ld à %ld\n"
+"(pour fins d'affichage seulement. Ne modifie pas le contenu.)\n"
+
+#: fdisk/sfdisk.c:1399
+msgid ""
+"Warning: extended partition does not start at a cylinder boundary.\n"
+"DOS and Linux will interpret the contents differently.\n"
+msgstr ""
+"Attention : la partition étendue ne débute pas sur une frontière de.\n"
+"cylindres. DOS et Linux interpréteront les contenus différemment.\n"
+
+#: fdisk/sfdisk.c:1417 fdisk/sfdisk.c:1494
+#, c-format
+msgid "too many partitions - ignoring those past nr (%d)\n"
+msgstr "trop de partitions - celles au delà de nr (%d) sont ignorées\n"
+
+#: fdisk/sfdisk.c:1432
+msgid "tree of partitions?\n"
+msgstr "arbre de partitions ?\n"
+
+#: fdisk/sfdisk.c:1540
+msgid "detected Disk Manager - unable to handle that\n"
+msgstr "Gestionnaire de disque détecté - impossible de gérer cela\n"
+
+#: fdisk/sfdisk.c:1547
+msgid "DM6 signature found - giving up\n"
+msgstr "signature DM6 repérée - abandon\n"
+
+#: fdisk/sfdisk.c:1567
+msgid "strange..., an extended partition of size 0?\n"
+msgstr "étrange... une partition étendue de taille 0 ?\n"
+
+#: fdisk/sfdisk.c:1574 fdisk/sfdisk.c:1585
+msgid "strange..., a BSD partition of size 0?\n"
+msgstr "étrange... une partition BSD de taille 0 ?\n"
+
+#: fdisk/sfdisk.c:1619
+#, c-format
+msgid " %s: unrecognized partition table type\n"
+msgstr " %s : type non reconnu de table de partition\n"
+
+#: fdisk/sfdisk.c:1631
+msgid "-n flag was given: Nothing changed\n"
+msgstr "option -n utilisée : rien n'a changé\n"
+
+#: fdisk/sfdisk.c:1647
+msgid "Failed saving the old sectors - aborting\n"
+msgstr "Échec de sauvegarde des vieux secteurs - abandon\n"
+
+#: fdisk/sfdisk.c:1652
+#, c-format
+msgid "Failed writing the partition on %s\n"
+msgstr "Échec de l'écriture de la partition sur %s\n"
+
+#: fdisk/sfdisk.c:1729
+msgid "long or incomplete input line - quitting\n"
+msgstr "ligne d'entrée longue ou incomplète - abandon\n"
+
+#: fdisk/sfdisk.c:1765
+#, c-format
+msgid "input error: `=' expected after %s field\n"
+msgstr "erreur d'entrée: « = » espéré après le champ %s\n"
+
+#: fdisk/sfdisk.c:1772
+#, c-format
+msgid "input error: unexpected character %c after %s field\n"
+msgstr "erreur d'entrée: caractère inattendu %c après le champ %s\n"
+
+#: fdisk/sfdisk.c:1778
+#, c-format
+msgid "unrecognized input: %s\n"
+msgstr "entrée non reconnu: %s\n"
+
+#: fdisk/sfdisk.c:1820
+msgid "number too big\n"
+msgstr "numbre trop grand\n"
+
+#: fdisk/sfdisk.c:1824
+msgid "trailing junk after number\n"
+msgstr "rebut après le nombre\n"
+
+#: fdisk/sfdisk.c:1948
+msgid "no room for partition descriptor\n"
+msgstr "aucun espace pour le descripteur de partition\n"
+
+#: fdisk/sfdisk.c:1981
+msgid "cannot build surrounding extended partition\n"
+msgstr "ne peut construire autour de la partition étendue\n"
+
+#: fdisk/sfdisk.c:2032
+msgid "too many input fields\n"
+msgstr "trop de champs à l'entrée\n"
+
+#: fdisk/sfdisk.c:2066
+msgid "No room for more\n"
+msgstr "Aucun espace pour en accepter d'avantage\n"
+
+#: fdisk/sfdisk.c:2085
+msgid "Illegal type\n"
+msgstr "Type illégal\n"
+
+#: fdisk/sfdisk.c:2117
+#, 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"
+
+#: fdisk/sfdisk.c:2123
+msgid "Warning: empty partition\n"
+msgstr "AVERTISSEMENT: partition vide\n"
+
+#: fdisk/sfdisk.c:2137
+#, c-format
+msgid "Warning: bad partition start (earliest %lu)\n"
+msgstr "AVERTISSEMENT: début de partition corrompu (auparavant %lu)\n"
+
+#: fdisk/sfdisk.c:2150
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr "fanion d'amorçage non reconnu - choisir « - » ou « * »\n"
+
+#: fdisk/sfdisk.c:2167 fdisk/sfdisk.c:2180
+msgid "partial c,h,s specification?\n"
+msgstr "spécification partielle c,h,s?\n"
+
+#: fdisk/sfdisk.c:2191
+msgid "Extended partition not where expected\n"
+msgstr "Partition étendue par à l'endroit attendu\n"
+
+#: fdisk/sfdisk.c:2223
+msgid "bad input\n"
+msgstr "entrée erronée\n"
+
+#: fdisk/sfdisk.c:2245
+msgid "too many partitions\n"
+msgstr "trop de partitions\n"
+
+#: fdisk/sfdisk.c:2278
+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 utiliser un des formats suivants; les champs absents prennent\n"
+"la valeur par défaut:\n"
+"<début> <taille> <type [E,S,L,X,hex]> <amorçable [-,*]> <c,h,s> <c,h,s>\n"
+"Habituellement vous n'avez besoin que de spécifier:\n"
+"<début> et <taille> (et parfois <type>).\n"
+
+#: fdisk/sfdisk.c:2304
+#, c-format
+msgid "Usage: %s [options] device ...\n"
+msgstr "Utilisation : %s [options] périphérique ...\n"
+
+#: fdisk/sfdisk.c:2305
+msgid "device: something like /dev/hda or /dev/sda"
+msgstr "périphérique: quelque chose comme /dev/hda ou /dev/sda"
+
+#: fdisk/sfdisk.c:2306
+msgid "useful options:"
+msgstr "options utiles:"
+
+#: fdisk/sfdisk.c:2307
+msgid "    -s [or --show-size]: list size of a partition"
+msgstr "    -s [ou --show-size]: lister la taille d'une partition"
+
+#: fdisk/sfdisk.c:2308
+msgid "    -c [or --id]:        print or change partition Id"
+msgstr ""
+"    -c [ou --id]:        afficher ou modifier l'identificateur de partition"
+
+#: fdisk/sfdisk.c:2309
+msgid "    -l [or --list]:      list partitions of each device"
+msgstr "    -l [ou --list]:      lister les partitions de chaque périphérique"
+
+#: fdisk/sfdisk.c:2310
+msgid "    -d [or --dump]:      idem, but in a format suitable for later input"
+msgstr ""
+"    -d [ou --dump]:      identique, mais dans un format utile pour une "
+"saisie ultérieure"
+
+#: fdisk/sfdisk.c:2311
+msgid "    -i [or --increment]: number cylinders etc. from 1 instead of from 0"
+msgstr "    -i [ou --increment]: numbre de cylindres etc. de 1 au lieu de 0"
+
+#: fdisk/sfdisk.c:2312
+msgid ""
+"    -uS, -uB, -uC, -uM:  accept/report in units of sectors/blocks/cylinders/"
+"MB"
+msgstr ""
+"    -uS, -uB, -uC, -uM:  accepter/reporter en unités de secteurs/blocs/"
+"cylindres/MB"
+
+#: fdisk/sfdisk.c:2313
+msgid "    -T [or --list-types]:list the known partition types"
+msgstr "    -T [ou --list-types]:lister les types de partitions connus"
+
+#: fdisk/sfdisk.c:2314
+msgid "    -D [or --DOS]:       for DOS-compatibility: waste a little space"
+msgstr ""
+"    -D [ou --DOS]:       pour la compatibilité DOS: perte d'un peu d'espace"
+
+#: fdisk/sfdisk.c:2315
+msgid "    -R [or --re-read]:   make kernel reread partition table"
+msgstr ""
+"    -R [ou --re-read]:   forcer le kernel à relire la table de partitions"
+
+#: fdisk/sfdisk.c:2316
+msgid "    -N# :                change only the partition with number #"
+msgstr ""
+"    -N# :                modifier seulement la partition ayant le numéro #"
+
+#: fdisk/sfdisk.c:2317
+msgid "    -n :                 do not actually write to disk"
+msgstr "    -n :                 ne pas écrire sur le disque"
+
+#: fdisk/sfdisk.c:2318
+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"
+
+#: fdisk/sfdisk.c:2319
+msgid "    -I file :            restore these sectors again"
+msgstr "    -I fichier :         restaurer ces secteurs à nouveau"
+
+#: fdisk/sfdisk.c:2320
+msgid "    -v [or --version]:   print version"
+msgstr "    -v [ou --version]:   afficher la version"
+
+#: fdisk/sfdisk.c:2321
+msgid "    -? [or --help]:      print this message"
+msgstr "    -? [ou --help]:      afficher l'aide mémoire"
+
+#: fdisk/sfdisk.c:2322
+msgid "dangerous options:"
+msgstr "options dangereuses:"
+
+#: fdisk/sfdisk.c:2323
+msgid "    -g [or --show-geometry]: print the kernel's idea of the geometry"
+msgstr ""
+"    -g [ou --show-geometry]: afficher les données contenues dans le\n"
+"                             kernel de la géométrie"
+
+#: fdisk/sfdisk.c:2324
+msgid ""
+"    -G [or --show-pt-geometry]: print geometry guessed from the partition "
+"table"
+msgstr ""
+"    -G [ou --show-pt-geometry]: afficher la géométrie estimée à partir de la "
+"table de partitions"
+
+#: fdisk/sfdisk.c:2325
+msgid ""
+"    -x [or --show-extended]: also list extended partitions on output\n"
+"                             or expect descriptors for them on input"
+msgstr ""
+"    -x [ou --show-extended]: lister aussi les partitions étendues en sortie\n"
+"                             ou les descripteurs attendus à l'entrée pour "
+"ellest"
+
+#: fdisk/sfdisk.c:2327
+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"
+
+#: fdisk/sfdisk.c:2328
+msgid "    -q  [or --quiet]:      suppress warning messages"
+msgstr "    -q  [ou --quiet]:      supprimer tous les messages d'avertissement"
+
+#: fdisk/sfdisk.c:2329
+msgid "    You can override the detected geometry using:"
+msgstr "    Vous pouvez écraser la géométrie en utilisant:"
+
+#: fdisk/sfdisk.c:2330
+msgid "    -C# [or --cylinders #]:set the number of cylinders to use"
+msgstr ""
+"    -C# [ou --cylinders #]:initialiser le nombre de cylindres à utiliser"
+
+#: fdisk/sfdisk.c:2331
+msgid "    -H# [or --heads #]:    set the number of heads to use"
+msgstr "    -H# [ou --heads #]:    initialiser le nombre de têtes à utiliser"
+
+#: fdisk/sfdisk.c:2332
+msgid "    -S# [or --sectors #]:  set the number of sectors to use"
+msgstr ""
+"    -S# [ou --sectors #]:  initialiser le numbre de secteurs à utiliser"
+
+#: fdisk/sfdisk.c:2333
+msgid "You can disable all consistency checking with:"
+msgstr "Vous pouvez désactiver toutes les vérifications de consistence avec:"
+
+#: fdisk/sfdisk.c:2334
+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"
+
+#: fdisk/sfdisk.c:2340
+msgid "Usage:"
+msgstr "Utilisation :"
+
+#: fdisk/sfdisk.c:2341
+#, c-format
+msgid "%s device\t\t list active partitions on device\n"
+msgstr "%s périphérique\t\t lister les partitions actives du périphérique\n"
+
+#: fdisk/sfdisk.c:2342
+#, 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"
+
+#: fdisk/sfdisk.c:2343
+#, c-format
+msgid "%s -An device\t activate partition n, inactivate the other ones\n"
+msgstr "%s -An préiphérique\t activer la partition n, désactiver les autres\n"
+
+#: fdisk/sfdisk.c:2463
+#, 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) detecté sur \"%s"
+"\" ! L'utilitaire sfdisk ne supporte pas GPT. Utilisez GNU Parted.\n"
+"\n"
+
+#: fdisk/sfdisk.c:2466
+#, c-format
+msgid "Use the --force flag to overrule this check.\n"
+msgstr "Utiliser l'option --force pour ignorer ce contrôle.\n"
+
+#: fdisk/sfdisk.c:2505
+msgid "no command?\n"
+msgstr "pas de commande?\n"
+
+#: fdisk/sfdisk.c:2637
+#, c-format
+msgid "total: %llu blocks\n"
+msgstr "total: %llu blocs\n"
+
+#: fdisk/sfdisk.c:2680
+msgid "usage: sfdisk --print-id device partition-number\n"
+msgstr "Utilisation : sfdisk --print-id périphérique numéro-de-partition\n"
+
+#: fdisk/sfdisk.c:2682
+msgid "usage: sfdisk --change-id device partition-number Id\n"
+msgstr "Utilisation : sfdisk --change-id périphérique numéro-de-partition Id\n"
+
+#: fdisk/sfdisk.c:2684
+msgid "usage: sfdisk --id device partition-number [Id]\n"
+msgstr "Utilisation : sfdisk --id périphérique numéro-de-partition [Id]\n"
+
+#: fdisk/sfdisk.c:2691
+msgid "can specify only one device (except with -l or -s)\n"
+msgstr ""
+"vous ne pouvez spécifier seulement un périphérique (sauf avec -l ou -s)\n"
+
+#: fdisk/sfdisk.c:2717
+#, c-format
+msgid "cannot open %s read-write\n"
+msgstr "ne peut ouvrir %s en lecture-écriture\n"
+
+#: fdisk/sfdisk.c:2719
+#, c-format
+msgid "cannot open %s for reading\n"
+msgstr "ne peut ouvrir %s en lecture\n"
+
+#: fdisk/sfdisk.c:2744
+#, c-format
+msgid "%s: OK\n"
+msgstr "%s: OK\n"
+
+#: fdisk/sfdisk.c:2763 fdisk/sfdisk.c:2796
+#, c-format
+msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+msgstr "%s: %ld cylindres, %ld têtes, %ld secteurs/piste\n"
+
+#: fdisk/sfdisk.c:2815
+#, c-format
+msgid "Cannot get size of %s\n"
+msgstr "Ne peut obtenir la taille de %s\n"
+
+#: fdisk/sfdisk.c:2895
+#, c-format
+msgid "bad active byte: 0x%x instead of 0x80\n"
+msgstr "octet actif erroné: 0x%x au lieu de 0x80\n"
+
+#: fdisk/sfdisk.c:2913 fdisk/sfdisk.c:2968 fdisk/sfdisk.c:3001
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+"Complété\n"
+"\n"
+
+#: fdisk/sfdisk.c:2922
+#, 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"
+
+#: fdisk/sfdisk.c:2938
+#, c-format
+msgid "partition %s has id %x and is not hidden\n"
+msgstr "partition %s a un identificateur %x qui n'est pas caché\n"
+
+#: fdisk/sfdisk.c:2997
+#, c-format
+msgid "Bad Id %lx\n"
+msgstr "Identifcateur erroné %lx\n"
+
+#: fdisk/sfdisk.c:3014
+msgid "This disk is currently in use.\n"
+msgstr "Le disque est présentement en usage.\n"
+
+#: fdisk/sfdisk.c:3033
+#, c-format
+msgid "Fatal error: cannot find %s\n"
+msgstr "Erreur fatale: ne peut trouver %s\n"
+
+#: fdisk/sfdisk.c:3036
+#, c-format
+msgid "Warning: %s is not a block device\n"
+msgstr "AVERTISSEMENT: %s n'est pas un périphérique fonctionnant par blocs\n"
+
+#: fdisk/sfdisk.c:3042
+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"
+
+#: fdisk/sfdisk.c:3044
+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 présentement utilisé - le repartitionner est probablement une "
+"mauvaise idée.\n"
+"Démonter tous les systèmes de fichiers, et stopper le swap sur toutes les\n"
+"partitions swap sur ce disque.\n"
+"Utiliser le fanion --no-reread pour supprimer cette vérification.\n"
+
+#: fdisk/sfdisk.c:3048
+msgid "Use the --force flag to overrule all checks.\n"
+msgstr "Utiliser l'option --force pour annuler toutes les vérifications.\n"
+
+#: fdisk/sfdisk.c:3052
+msgid "OK\n"
+msgstr "OK\n"
+
+#: fdisk/sfdisk.c:3061
+#, c-format
+msgid "Old situation:\n"
+msgstr "Vieille situation:\n"
+
+#: fdisk/sfdisk.c:3065
+#, c-format
+msgid "Partition %d does not exist, cannot change it\n"
+msgstr "La partition %d n'existe pas, ne peut la modifer\n"
+
+#: fdisk/sfdisk.c:3073
+#, c-format
+msgid "New situation:\n"
+msgstr "Nouvelle situation:\n"
+
+#: fdisk/sfdisk.c:3078
+msgid ""
+"I don't like these partitions - nothing changed.\n"
+"(If you really want this, use the --force option.)\n"
+msgstr ""
+"Ces partitions sont questionnables -- rien n'a changé.\n"
+"(Si vous désirez cela, utiliser l'option --force.)\n"
+
+#: fdisk/sfdisk.c:3081
+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"
+
+#: fdisk/sfdisk.c:3086
+#, c-format
+msgid "Are you satisfied with this? [ynq] "
+msgstr "Êtes-vous satisfait avec cela? [ynq] "
+
+#: fdisk/sfdisk.c:3088
+#, c-format
+msgid "Do you want to write this to disk? [ynq] "
+msgstr "Voulez-vous écrire cela sur le disque? [ynq] "
+
+#: fdisk/sfdisk.c:3093
+#, c-format
+msgid ""
+"\n"
+"sfdisk: premature end of input\n"
+msgstr ""
+"\n"
+"sfdisk: fin prématurée de l'entrée\n"
+
+#: fdisk/sfdisk.c:3095
+msgid "Quitting - nothing changed\n"
+msgstr "Abandon - rien n'a changé\n"
+
+#: fdisk/sfdisk.c:3101
+#, c-format
+msgid "Please answer one of y,n,q\n"
+msgstr "SVP fournir une réponse suivante: y,n,q\n"
+
+#: fdisk/sfdisk.c:3109
+#, c-format
+msgid ""
+"Successfully wrote the new partition table\n"
+"\n"
+msgstr ""
+"Succès d'écriture de la nouvelle table de partitions\n"
+"\n"
+
+#: fdisk/sfdisk.c:3115
+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, alors\n"
+"utiliser dd(1) pour mettre à zéro les premiers 512 octets:  \n"
+"dd if=/dev/zero of=/dev/foo7 bs=512 count=1\n"
+"(Consulter fdisk(8).)\n"
+
+#: fsck/fsck.c:327
+#, c-format
+msgid "WARNING: couldn't open %s: %s\n"
+msgstr "ATTENTION : impossible d'ouvrir %s : %s\n"
+
+#: fsck/fsck.c:337
+#, c-format
+msgid "WARNING: bad format on line %d of %s\n"
+msgstr "ATTENTION : mauvais format à la ligne %d sur %s\n"
+
+#: fsck/fsck.c:353
+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 ""
+"ATTENTION : le fichier /etc/fstab ne contient pas le champ\n"
+"fsck passno. La valeur va être extrapolée mais vous devriez\n"
+"corriger cela au plus tôt dans le fichier /etc/fstab.\n"
+"\n"
+
+#: fsck/fsck.c:461
+#, c-format
+msgid "fsck: %s: not found\n"
+msgstr "fsck : %s : non trouvé\n"
+
+#: fsck/fsck.c:577
+#, c-format
+msgid "%s: wait: No more child process?!?\n"
+msgstr "%s : wait : aucun processus enfant ?!?\n"
+
+#: fsck/fsck.c:599
+#, c-format
+msgid "Warning... %s for device %s exited with signal %d.\n"
+msgstr "Attention... %s, périphérique %s, signal de fin %d.\n"
+
+#: fsck/fsck.c:605
+#, c-format
+msgid "%s %s: status is %x, should never happen.\n"
+msgstr "%s %s : statut %x, cela ne devrait pas arriver.\n"
+
+#: fsck/fsck.c:644
+#, c-format
+msgid "Finished with %s (exit status %d)\n"
+msgstr "Fin de %s (code de sortie %d)\n"
+
+#: fsck/fsck.c:704
+#, c-format
+msgid "%s: Error %d while executing fsck.%s for %s\n"
+msgstr "%s : erreur %d lors de l'exécution de \"fsck\". %s pour %s\n"
+
+#: fsck/fsck.c:725
+msgid ""
+"Either all or none of the filesystem types passed to -t must be prefixed\n"
+"with 'no' or '!'.\n"
+msgstr ""
+"Tous les types de systèmes de fichiers précisés par -t, ou bien aucun,\n"
+"doivent être préfixés par 'no' (non) ou '!'.\n"
+
+#: fsck/fsck.c:744
+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"
+
+#: fsck/fsck.c:867
+#, c-format
+msgid ""
+"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass "
+"number\n"
+msgstr ""
+"%s : mauvaise ligne dans /etc/fstab ignorée : montage avec nombre de passes "
+"\"fsck\" non nul\n"
+
+#: fsck/fsck.c:894
+#, c-format
+msgid "fsck: cannot check %s: fsck.%s not found\n"
+msgstr "fsck : impossible de contrôler %s, fsck.%s non trouvé\n"
+
+#: fsck/fsck.c:950
+msgid "Checking all file systems.\n"
+msgstr "Contrôle de tous les systèmes de fichiers.\n"
+
+#: fsck/fsck.c:1041
+#, c-format
+msgid "--waiting-- (pass %d)\n"
+msgstr "--en attente-- (passe %d)\n"
+
+#: fsck/fsck.c:1061
+msgid ""
+"Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]\n"
+msgstr ""
+"Usage : fsck [-AMNPRTV] [ -C [ fd ] ] [-t type_sysfic] [options_sysfic] "
+"[sys_fic ...]\n"
+
+#: fsck/fsck.c:1099
+#, c-format
+msgid "%s: too many devices\n"
+msgstr "%s : périphériques trop nombreux\n"
+
+#: fsck/fsck.c:1110
+#, c-format
+msgid "Couldn't open %s: %s\n"
+msgstr "Impossible d'ouvrir %s : %s\n"
+
+#: fsck/fsck.c:1112
+#, c-format
+msgid "Is /proc mounted?\n"
+msgstr "/proc est-il monté ?\n"
+
+#: fsck/fsck.c:1121
+#, c-format
+msgid "Must be root to scan for matching filesystems: %s\n"
+msgstr ""
+"Vous devez être \"root\" pour rechercher le type de systèmes de fichiers : %"
+"s\n"
+
+#: fsck/fsck.c:1124
+#, c-format
+msgid "Couldn't find matching filesystem: %s\n"
+msgstr "Impossible de trouver un système de fichiers correspondant : %s\n"
+
+#: fsck/fsck.c:1132 fsck/fsck.c:1218
+#, c-format
+msgid "%s: too many arguments\n"
+msgstr "%s : trop d'arguments\n"
+
+#: fsck/fsck.c:1252
+#, c-format
+msgid "fsck from %s\n"
+msgstr "fsck de %s\n"
+
+#: fsck/fsck.c:1264
+#, c-format
+msgid "%s: Unable to allocate memory for fsck_path\n"
+msgstr "%s : impossible d'allouer la mémoire pour fsck_path\n"
+
+#: getopt/getopt.c:229
+msgid "Try `getopt --help' for more information.\n"
+msgstr "Essayer « getopt --help » pour plus d'informations.\n"
+
+#: getopt/getopt.c:295
+msgid "empty long option after -l or --long argument"
+msgstr "option longue vide après l'argument -l ou --long"
+
+#: getopt/getopt.c:315
+msgid "unknown shell after -s or --shell argument"
+msgstr "shell inconnu après l'argument -s ou --shell"
+
+#: getopt/getopt.c:320
+msgid "Usage: getopt optstring parameters\n"
+msgstr "Utilisation : getopt chaîne-d-options paramètres\n"
+
+#: getopt/getopt.c:321
+msgid "       getopt [options] [--] optstring parameters\n"
+msgstr "       getopt [options] [--] paramètres de la chaîne d'option\n"
+
+#: getopt/getopt.c:322
+msgid "       getopt [options] -o|--options optstring [options] [--]\n"
+msgstr "       getopt [options] -o|--options chaine d'options [options] [--]\n"
+
+#: getopt/getopt.c:323
+msgid "              parameters\n"
+msgstr "              paramètres\n"
+
+#: getopt/getopt.c:324
+msgid ""
+"  -a, --alternative            Allow long options starting with single -\n"
+msgstr ""
+"  -a, --alternative            parmettre les options de forme longue avec un "
+"simple -\n"
+
+#: getopt/getopt.c:325
+msgid "  -h, --help                   This small usage guide\n"
+msgstr "  -h, --help                   afficher l'aide mémoire\n"
+
+#: getopt/getopt.c:326
+msgid "  -l, --longoptions=longopts   Long options to be recognized\n"
+msgstr ""
+"  -l, --longoptions=opt-long   reconnaîtres les options de forme longue\n"
+
+#: getopt/getopt.c:327
+msgid ""
+"  -n, --name=progname          The name under which errors are reported\n"
+msgstr ""
+"  -n, --name=nom-de-programme le nom sous lequel les erreurs sont "
+"rapportées\n"
+
+#: getopt/getopt.c:328
+msgid "  -o, --options=optstring      Short options to be recognized\n"
+msgstr ""
+"  -o, --options=chaîne-opt    reconnaître les options de forme courte\n"
+
+#: getopt/getopt.c:329
+msgid "  -q, --quiet                  Disable error reporting by getopt(3)\n"
+msgstr ""
+"  -q, --quiet                  désactiver les rapports d'erreur par getopt"
+"(3)\n"
+
+#: getopt/getopt.c:330
+msgid "  -Q, --quiet-output           No normal output\n"
+msgstr "  -Q, --quiet-output           pas d'affichage normal\n"
+
+# getopt-1.1.2/getopt.c:335
+#: getopt/getopt.c:331
+msgid "  -s, --shell=shell            Set shell quoting conventions\n"
+msgstr ""
+"  -s, --shell=shell            initialiser la convention de commentaire du "
+"shell\n"
+
+#: getopt/getopt.c:332
+msgid "  -T, --test                   Test for getopt(1) version\n"
+msgstr "  -T, --test                   afficher la version de getopt(1)\n"
+
+#: getopt/getopt.c:333
+msgid "  -u, --unqote                 Do not quote the output\n"
+msgstr ""
+"  -u, --unqote                 ne pas commenter avec des guillemets la "
+"sortie\n"
+
+#: getopt/getopt.c:334
+msgid "  -V, --version                Output version information\n"
+msgstr "  -V, --version                afficher la version\n"
+
+#: getopt/getopt.c:388 getopt/getopt.c:447
+msgid "missing optstring argument"
+msgstr "la chaîne d'options de l'argument est manquante"
+
+#: getopt/getopt.c:435
+#, c-format
+msgid "getopt (enhanced) 1.1.4\n"
+msgstr "getopt (amélioré) 1.1.4\n"
+
+#: getopt/getopt.c:441
+msgid "internal error, contact the author."
+msgstr "erreur interne, contacter l'auteur."
+
+#: hwclock/cmos.c:176
+#, c-format
+msgid "booted from MILO\n"
+msgstr "amorcé à partir de MILO\n"
+
+#: hwclock/cmos.c:185
+#, c-format
+msgid "Ruffian BCD clock\n"
+msgstr "Horloge Ruffian BCD\n"
+
+#: hwclock/cmos.c:201
+#, c-format
+msgid "clockport adjusted to 0x%x\n"
+msgstr "le port d'horloge a été ajusté à 0x%x\n"
+
+#: hwclock/cmos.c:213
+#, c-format
+msgid "funky TOY!\n"
+msgstr "drôle de TOY!\n"
+
+#: hwclock/cmos.c:244
+#, c-format
+msgid "%s: atomic %s failed for 1000 iterations!"
+msgstr "%s: atomic %s a échoué pour 1000 itérations!"
+
+#: hwclock/cmos.c:273
+#, c-format
+msgid "cmos_read(): write to control address %X failed: %s\n"
+msgstr ""
+"cmos_read() : échec de lecture de la valeur de contrôle à l'adresse %X : %s\n"
+
+#: hwclock/cmos.c:276
+#, c-format
+msgid "cmos_read(): read data address %X failed: %s\n"
+msgstr "cmos_read() : échec de lecture de données à l'adresse %X : %s\n"
+
+#: hwclock/cmos.c:307
+#, c-format
+msgid "cmos_write(): write to control address %X failed: %s\n"
+msgstr ""
+"cmos_read() : échec d'écriture de la valeur de contrôle à l'adresse %X : %s\n"
+
+#: hwclock/cmos.c:311
+#, c-format
+msgid "cmos_write(): write to data address %X failed: %s\n"
+msgstr "cmos_read() : échec d'écriture de données à l'adresse %X : %s\n"
+
+#: hwclock/cmos.c:574
+#, c-format
+msgid "Cannot open /dev/port: %s"
+msgstr "Ne peut ouvrir le port /dev/port: %s"
+
+#: hwclock/cmos.c:581
+#, c-format
+msgid "I failed to get permission because I didn't try.\n"
+msgstr ""
+"Échec d'obtention des permissions parce qu'aucun essai n'a été tenté.\n"
+
+#: hwclock/cmos.c:584
+#, c-format
+msgid "%s is unable to get I/O port access:  the iopl(3) call failed.\n"
+msgstr ""
+"%s incapable d'obtenir un port d'accès d'E/S :  l'appel à iopl(3) a échoué.\n"
+
+#: hwclock/cmos.c:587
+#, c-format
+msgid "Probably you need root privileges.\n"
+msgstr "Probablement que vous avez besoin des privilèges de root.\n"
+
+#: hwclock/hwclock.c:231
+#, 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"
+
+#: hwclock/hwclock.c:232 hwclock/hwclock.c:327
+msgid "UTC"
+msgstr "UTC"
+
+#: hwclock/hwclock.c:232 hwclock/hwclock.c:326
+msgid "local"
+msgstr "locale"
+
+#: hwclock/hwclock.c:312
+#, c-format
+msgid "%s: Warning: unrecognized third line in adjtime file\n"
+msgstr ""
+"%s: AVERTISSEMENT: 3e ligne non reconnue dans le fichier d'ajustement de "
+"l'heure\n"
+
+#: hwclock/hwclock.c:314
+#, c-format
+msgid "(Expected: `UTC' or `LOCAL' or nothing.)\n"
+msgstr "(Attendu: « UTC » ou « LOCAL » ou nothing.)\n"
+
+#: hwclock/hwclock.c:321
+#, 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"
+
+#: hwclock/hwclock.c:323
+#, 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"
+
+#: hwclock/hwclock.c:325
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr "L'horloge matérielle fonctionne selon le temps %s\n"
+
+#: hwclock/hwclock.c:327
+msgid "unknown"
+msgstr "inconnu"
+
+#: hwclock/hwclock.c:351
+#, c-format
+msgid "Waiting for clock tick...\n"
+msgstr "En attente d'un tic d'horloge...\n"
+
+#: hwclock/hwclock.c:357
+#, c-format
+msgid "...synchronization failed\n"
+msgstr "...échec de synchronisation\n"
+
+#: hwclock/hwclock.c:359
+#, c-format
+msgid "...got clock tick\n"
+msgstr "...a obtenu un tic d'horloge\n"
+
+#: hwclock/hwclock.c:413
+#, c-format
+msgid "Invalid values in hardware clock: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+msgstr ""
+"valeurs invalides dans l'horloge matérielle: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+
+#: hwclock/hwclock.c:421
+#, 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"
+
+#: hwclock/hwclock.c:451
+#, c-format
+msgid "Time read from Hardware Clock: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+msgstr "Heure lu de l'horloge matérielle: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+
+#: hwclock/hwclock.c:480
+#, 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"
+
+#: hwclock/hwclock.c:486
+#, c-format
+msgid "Clock not changed - testing only.\n"
+msgstr "Horloge n'est pas modifiée - test seulement.\n"
+
+#: hwclock/hwclock.c:536
+#, 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"
+
+#: hwclock/hwclock.c:572
+#, c-format
+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).\n"
+msgstr ""
+"Les registres de l'horloge matérielle contiennent des valeurs qui sont\n"
+"soit invalides (i.e. 50e jour du mois) ou en dehors de la plage\n"
+"pouvant être traitée (i.e. année 2095).\n"
+
+#: hwclock/hwclock.c:582
+#, c-format
+msgid "%s  %.6f seconds\n"
+msgstr "%s  %.6f secondes\n"
+
+#: hwclock/hwclock.c:616
+#, c-format
+msgid "No --date option specified.\n"
+msgstr "Aucune option --date spécifié.\n"
+
+#: hwclock/hwclock.c:622
+#, c-format
+msgid "--date argument too long\n"
+msgstr "--date argument trop long\n"
+
+#: hwclock/hwclock.c:629
+#, c-format
+msgid ""
+"The value of the --date option is not a valid date.\n"
+"In particular, it contains quotation marks.\n"
+msgstr ""
+"La valeur de l'option --date n'est pas une date valide.\n"
+"En particulier, elle contient des guillemets.\n"
+
+#: hwclock/hwclock.c:637
+#, c-format
+msgid "Issuing date command: %s\n"
+msgstr "Émission de la commande de date: %s\n"
+
+#: hwclock/hwclock.c:641
+msgid "Unable to run 'date' program in /bin/sh shell. popen() failed"
+msgstr ""
+"Échec de popen(), incapable d'exécuter « date » à partir de /bin/sh shell"
+
+#: hwclock/hwclock.c:649
+#, c-format
+msgid "response from date command = %s\n"
+msgstr "réponse de la commande date = %s\n"
+
+#: hwclock/hwclock.c:651
+#, c-format
+msgid ""
+"The date command issued by %s returned unexpected results.\n"
+"The command was:\n"
+"  %s\n"
+"The response was:\n"
+"  %s\n"
+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\n"
+
+#: hwclock/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"
+
+#: hwclock/hwclock.c:674
+#, 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"
+
+#: hwclock/hwclock.c:706
+#, c-format
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot set the "
+"System Time from it.\n"
+msgstr ""
+"L'horloge matérielle ne contient de temps valide, aussi on ne peut pas "
+"initialisé l'heure du système à partir d'elle.\n"
+
+#: hwclock/hwclock.c:728 hwclock/hwclock.c:805
+#, c-format
+msgid "Calling settimeofday:\n"
+msgstr "Appel de settimeofday:\n"
+
+#: hwclock/hwclock.c:729 hwclock/hwclock.c:807
+#, c-format
+msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+
+#: hwclock/hwclock.c:731 hwclock/hwclock.c:809
+#, c-format
+msgid "\ttz.tz_minuteswest = %d\n"
+msgstr "\ttz.tz_minuteswest = %d\n"
+
+#: hwclock/hwclock.c:734 hwclock/hwclock.c:812
+#, 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"
+
+#: hwclock/hwclock.c:743 hwclock/hwclock.c:821
+#, c-format
+msgid "Must be superuser to set system clock.\n"
+msgstr "Vous devez être le super-usager pour initialiser l'horloge système.\n"
+
+#: hwclock/hwclock.c:746 hwclock/hwclock.c:824
+msgid "settimeofday() failed"
+msgstr "Échec de settimeofday()"
+
+#: hwclock/hwclock.c:782
+#, c-format
+msgid "Current system time: %ld = %s\n"
+msgstr "Heure courante du système : %ld = %s\n"
+
+#: hwclock/hwclock.c:806
+#, c-format
+msgid "\tUTC: %s\n"
+msgstr "\tUTC : %s\n"
+
+#: hwclock/hwclock.c:853
+#, 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éez corrompues.\n"
+
+#: hwclock/hwclock.c:858
+#, 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'hitorique étant erroné une recalibration est nécessaire.\n"
+
+#: hwclock/hwclock.c:864
+#, 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"
+
+#: hwclock/hwclock.c:912
+#, 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"
+
+#: hwclock/hwclock.c:962
+#, c-format
+msgid "Time since last adjustment is %d seconds\n"
+msgstr "L'heure depuis le dernier ajustement est de %d secondes\n"
+
+#: hwclock/hwclock.c:964
+#, 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"
+
+#: hwclock/hwclock.c:993
+#, 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"
+
+#: hwclock/hwclock.c:994
+#, c-format
+msgid ""
+"Would have written the following to %s:\n"
+"%s"
+msgstr ""
+"Devrait avoir écrit ce qui suit dans %s:\n"
+"%s"
+
+#: hwclock/hwclock.c:1002
+#, 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)"
+
+#: hwclock/hwclock.c:1007 hwclock/hwclock.c:1012
+#, 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)"
+
+#: hwclock/hwclock.c:1018
+#, c-format
+msgid "Drift adjustment parameters not updated.\n"
+msgstr "Ajustement des paramètres de dérive n'ont pas été mis à jour.\n"
+
+#: hwclock/hwclock.c:1059
+#, c-format
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot adjust it.\n"
+msgstr ""
+"L'horloge matérielle ne contient pas une heure valide, on ne peut l'ajuster\n"
+
+#: hwclock/hwclock.c:1067
+#, 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."
+
+#: hwclock/hwclock.c:1090
+#, 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"
+
+#: hwclock/hwclock.c:1116
+#, c-format
+msgid "Using %s.\n"
+msgstr "Utilisant %s.\n"
+
+#: hwclock/hwclock.c:1118
+#, c-format
+msgid "No usable clock interface found.\n"
+msgstr "Aucune interface d'horloge utilisable n'a été repérée.\n"
+
+#: hwclock/hwclock.c:1222 hwclock/hwclock.c:1228
+#, c-format
+msgid "Unable to set system clock.\n"
+msgstr "Impossible d'initialiser l'horloge système.\n"
+
+#: hwclock/hwclock.c:1258
+#, c-format
+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.\n"
+msgstr ""
+"Le kernel conserve une valeur d'époque pour l'horloge matérielle uniquement "
+"sur une machine Alpha.\n"
+"Cette copie de l'horloge matérielle a été prévue pour une autre d'un autre "
+"type que Alpha\n"
+"(et présumément ne tournant pas sur un Alpha maintenant).  Aucune action n'a "
+"été exécutée.\n"
+
+#: hwclock/hwclock.c:1267
+#, c-format
+msgid "Unable to get the epoch value from the kernel.\n"
+msgstr "Impossible d'obtenir la valeur d'époque à partir du kernel.\n"
+
+#: hwclock/hwclock.c:1269
+#, c-format
+msgid "Kernel is assuming an epoch value of %lu\n"
+msgstr "Le kernel assume une valeur d'époque de %lu\n"
+
+#: hwclock/hwclock.c:1272
+#, c-format
+msgid ""
+"To set the epoch value, you must use the 'epoch' option to tell to what "
+"value to set it.\n"
+msgstr ""
+"Pour initialiser la valeur d'époque, vous devez utiliser l'option « epoch » "
+"pour y mettre la valeur voulue.\n"
+
+#: hwclock/hwclock.c:1275
+#, c-format
+msgid "Not setting the epoch to %d - testing only.\n"
+msgstr ""
+"La valeur d'époque %d n'est pas utilisée pour initialisation - test "
+"seulement.\n"
+
+#: hwclock/hwclock.c:1278
+#, c-format
+msgid "Unable to set the epoch value in the kernel.\n"
+msgstr "Impossible d'initialiser la valeur d'époque dans le kernel.\n"
+
+#: hwclock/hwclock.c:1291 misc-utils/cal.c:345 misc-utils/kill.c:189
+#, c-format
+msgid "%s from %s\n"
+msgstr "%s de %s\n"
+
+# hwclock/hwclock.c:1108
+#: hwclock/hwclock.c:1312
+#, c-format
+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"
+"  -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 - interroge et positionne l'horloge matérielle RTC\n"
+"\n"
+"Utilisation : hwclock [fonction] [options...]\n"
+"\n"
+"Fonctions :\n"
+"  --help        afficher l'aide mémoire\n"
+"  -r | --show        lire l'horloge 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 courante du "
+"système\n"
+"       --systz        fixe l'heure système basée sur la zone de temps "
+"courante\n"
+"       --adjust      ajuste l'horloge RTC en tenant compte de la dérive\n"
+"                      systématique depuis le dernier réglage\n"
+"       --getepoch    affiche la valeur \"epoch\" du noyau pour l'horloge "
+"RTC\n"
+"       --setepoch    positionne la valeur \"epoch\" du noyau pour l'horloge\n"
+"                     RTC à la valeur donnée par --epoch\n"
+"  -v | --version     affiche le numéro de version de hwclock\n"
+"\n"
+"Options : \n"
+"  -u | --utc         l'horloge RTC est conservée au format universel UTC\n"
+"      --localtime   l'horloge RTC est conservée au format local\n"
+" -f | --rtc=chemin  utiliser le périph. 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        spécifier l'heure pour régler l'horloge matérielle\n"
+"      --epoch=année  spécifier l'année correspondant à la valeur \n"
+"                de départ \"epoch\" de l'horloge matérielle\n"
+"      --noadjfile   ne pas accéder à /etc/adjtime. Requiert l'utilisation\n"
+"                de --utc ou bien --localtime\n"
+"      --adjfile=chemin spécifie le chemin du fichier de réglage\n"
+"                 (par défaut /etc/adjtime)\n"
+"      --test           exécute le tout sans modifier l'horloge RTC ou\n"
+"                        autre\n"
+"  -D | --debug        mode débogage\n"
+"\n"
+
+#: hwclock/hwclock.c:1347
+#, c-format
+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é (voir hwclock(8))\n"
+"\n"
+
+#: hwclock/hwclock.c:1434
+#, c-format
+msgid "%s: Unable to connect to audit system\n"
+msgstr "%s: impossible de se connecter au système d'audit\n"
+
+#: hwclock/hwclock.c:1552
+#, 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"
+
+#: hwclock/hwclock.c:1559
+#, c-format
+msgid ""
+"You have specified multiple functions.\n"
+"You can only perform one function at a time.\n"
+msgstr ""
+"Vous avez spécifé de multiples options de fonctions.\n"
+"Vous ne pouvez qu'en exécuter une à la fois.\n"
+
+#: hwclock/hwclock.c:1566
+#, c-format
+msgid ""
+"%s: The --utc and --localtime options are mutually exclusive.  You specified "
+"both.\n"
+msgstr ""
+"%s: les options --utc et --localtime sont mutuellement exclusives. Vous avez "
+"soumis les deux.\n"
+
+#: hwclock/hwclock.c:1573
+#, c-format
+msgid ""
+"%s: The --adjust and --noadjfile options are mutually exclusive.  You "
+"specified both.\n"
+msgstr ""
+"%s: les options --adjust et --noadjfile sont mutuellement exclusives. Vous "
+"avez soumis les deux.\n"
+
+#: hwclock/hwclock.c:1580
+#, c-format
+msgid ""
+"%s: The --adjfile and --noadjfile options are mutually exclusive.  You "
+"specified both.\n"
+msgstr ""
+"%s: les options --adjfile et --noadjfile sont mutuellement exclusives. Vous "
+"avez spécifié les deux.\n"
+
+#: hwclock/hwclock.c:1589
+#, c-format
+msgid "%s: With --noadjfile, you must specify either --utc or --localtime\n"
+msgstr "%s: avec --noadjfile, vous devez spécifier soit --utc ou --localtime\n"
+
+#: hwclock/hwclock.c:1603
+#, c-format
+msgid "No usable set-to time.  Cannot set clock.\n"
+msgstr ""
+"Pas utilisable pour initialiser l'heure.  Ne peut initialiser l'horloge.\n"
+
+#: hwclock/hwclock.c:1620
+#, c-format
+msgid "Sorry, only the superuser can change the Hardware Clock.\n"
+msgstr "Désolé, seul le super usager peut modifier l'horloge matérielle.\n"
+
+#: hwclock/hwclock.c:1625
+#, c-format
+msgid "Sorry, only the superuser can change the System Clock.\n"
+msgstr "Désolé, seul le super usager peut modifier l'horloge système.\n"
+
+#: hwclock/hwclock.c:1630
+#, c-format
+msgid ""
+"Sorry, only the superuser can change the Hardware Clock epoch in the "
+"kernel.\n"
+msgstr ""
+"Désole, seul le super usager peut modifier l'époque de l'horloge matérielle "
+"dans le kernel.\n"
+
+#: hwclock/hwclock.c:1651
+#, c-format
+msgid "Cannot access the Hardware Clock via any known method.\n"
+msgstr ""
+"Ne peut accéder l'horloge matérielle par le biais d'une méthode connue.\n"
+
+#: hwclock/hwclock.c:1655
+#, c-format
+msgid ""
+"Use the --debug option to see the details of our search for an access "
+"method.\n"
+msgstr ""
+"Utiliser l'option --debug pour voir les détails de la recherche d'une "
+"méthode connue.\n"
+
+#: hwclock/kd.c:53
+#, 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"
+
+#: hwclock/kd.c:56
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr "Échec de KDGHWCLK ioctl pour la lecture de l'heure"
+
+#: hwclock/kd.c:77 hwclock/rtc.c:221
+#, c-format
+msgid "Timed out waiting for time change.\n"
+msgstr ""
+"Expiration de la minuterie lors de l'attente du changement de l'heure.\n"
+
+#: hwclock/kd.c:81
+msgid "KDGHWCLK ioctl to read time failed in loop"
+msgstr "KDGHWCLK ioctl pour la lecture de l'heure a échoué dans une boucle"
+
+#: hwclock/kd.c:103
+#, c-format
+msgid "ioctl() failed to read time from %s"
+msgstr "Échec de ioctl() lors de la lecture de l'heure depuis %s"
+
+#: hwclock/kd.c:139
+msgid "ioctl KDSHWCLK failed"
+msgstr "Échec de ioctl KDSHWCLK"
+
+#: hwclock/kd.c:175
+msgid "Can't open /dev/tty1 or /dev/vc/1"
+msgstr "Ne peut ouvrir /dev/tty1 ou /dev/vc/1"
+
+#: hwclock/kd.c:179
+msgid "KDGHWCLK ioctl failed"
+msgstr "Échec de KDGHWCLK ioctl"
+
+#: hwclock/rtc.c:147 hwclock/rtc.c:241
+#, c-format
+msgid "open() of %s failed"
+msgstr "Échec de open() de %s"
+
+#: hwclock/rtc.c:181
+#, c-format
+msgid "ioctl() to %s to read the time failed.\n"
+msgstr "Échec ioctl() vers %s lors de la lecture de l'heure\n"
+
+#: hwclock/rtc.c:203
+#, 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"
+
+#: hwclock/rtc.c:259
+#, c-format
+msgid "%s does not have interrupt functions. "
+msgstr "%s n'a pas de fonction d'interruption"
+
+#: hwclock/rtc.c:270
+#, 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"
+
+#: hwclock/rtc.c:288
+#, c-format
+msgid "select() to %s to wait for clock tick failed"
+msgstr "select() de %s en attente d'un tic d'horloge a échoué"
+
+#: hwclock/rtc.c:291
+#, c-format
+msgid "select() to %s to wait for clock tick timed out\n"
+msgstr ""
+"select() de %s dont l'attente d'un tic d'horloge a expiré le délai de la "
+"minuterie\n"
+
+#: hwclock/rtc.c:300
+#, c-format
+msgid "ioctl() to %s to turn off update interrupts failed"
+msgstr ""
+"ioctl() de %s a échoué durant l'arrêt des mises à jour par interruption"
+
+#: hwclock/rtc.c:303
+#, c-format
+msgid "ioctl() to %s to turn on update interrupts failed unexpectedly"
+msgstr ""
+"ioctl() de %s a échoué pour permettre les mises à jour par interruption de "
+"façon inattendue"
+
+#: hwclock/rtc.c:360
+#, c-format
+msgid "ioctl() to %s to set the time failed.\n"
+msgstr "ioctl() de %s a échoué lors de l'initialisation de l'heure.\n"
+
+#: hwclock/rtc.c:366
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr "ioctl(%s) a réussi.\n"
+
+#: hwclock/rtc.c:392
+#, c-format
+msgid "Open of %s failed"
+msgstr "Ouverture de %s a échoué"
+
+#: hwclock/rtc.c:410 hwclock/rtc.c:454
+#, 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.\n"
+msgstr ""
+"Pour manipuler la valeur de l'époque dans le kernel, vous devez accéder le "
+"pilote Linux du périphérique 'rtc. par le biais du fichier spécial %s. Ce "
+"fichier n'existe pas sur ce système.\n"
+
+#: hwclock/rtc.c:415 hwclock/rtc.c:459
+#, c-format
+msgid "Unable to open %s"
+msgstr "Impossible d'ouvrir %s"
+
+#: hwclock/rtc.c:422
+#, c-format
+msgid "ioctl(RTC_EPOCH_READ) to %s failed"
+msgstr "ioctl(RTC_EPOCH_READ) de %s a échoué"
+
+#: hwclock/rtc.c:427
+#, c-format
+msgid "we have read epoch %ld from %s with RTC_EPOCH_READ ioctl.\n"
+msgstr ""
+"l'époque %ld a été lu à partir de %s à l'aide de RTC_EPOCH_READ ioctl().\n"
+
+#: hwclock/rtc.c:446
+#, c-format
+msgid "The epoch value may not be less than 1900.  You requested %ld\n"
+msgstr ""
+"La valeur de l'époque ne peut pas être plus petite que 1900. Vous avez "
+"demandé %ld\n"
+
+#: hwclock/rtc.c:464
+#, c-format
+msgid "setting epoch to %ld with RTC_EPOCH_SET ioctl to %s.\n"
+msgstr ""
+"initilisation de l'époque à %ld à l'aide de RTC_EPOCH_SET ioctl vers %s.\n"
+
+#: hwclock/rtc.c:469
+#, c-format
+msgid ""
+"The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl.\n"
+msgstr ""
+"Le pilote du périphérique dans le kernel pour %s n'a pas de fonction "
+"RTC_EPOCH_SET ioctl().\n"
+
+#: hwclock/rtc.c:472
+#, c-format
+msgid "ioctl(RTC_EPOCH_SET) to %s failed"
+msgstr "Échec de ioctl(RTC_EPOCH_SET) vers %s"
+
+#: login-utils/agetty.c:361
+#, c-format
+msgid "%s: can't exec %s: %m"
+msgstr "%s: ne peut exécuter %s: %m"
+
+#: login-utils/agetty.c:384
+msgid "can't malloc initstring"
+msgstr "ne peut exécuter malloc() pour la chaîne d'initialisation"
+
+#: login-utils/agetty.c:449
+#, c-format
+msgid "bad timeout value: %s"
+msgstr "valeur erronée d'expiration de la minuterie: %s"
+
+#: login-utils/agetty.c:526
+#, c-format
+msgid "bad speed: %s"
+msgstr "vitesse erronée: %s"
+
+#: login-utils/agetty.c:528
+msgid "too many alternate speeds"
+msgstr "trop de vitesses alternatives"
+
+#: login-utils/agetty.c:630
+#, c-format
+msgid "/dev: chdir() failed: %m"
+msgstr "/dev: chdir() a échoué: %m"
+
+#: login-utils/agetty.c:634
+#, c-format
+msgid "/dev/%s: not a character device"
+msgstr "/dev/%s: n'est pas périphérique pour caractères"
+
+#: login-utils/agetty.c:643
+#, c-format
+msgid "/dev/%s: cannot open as standard input: %m"
+msgstr "/dev/%s: ne peut ouvrir en tant qu'entrées standard: %m"
+
+#: login-utils/agetty.c:653
+#, c-format
+msgid "%s: not open for read/write"
+msgstr "%s: n,est pas ouvert pour lecture/écriture"
+
+#: login-utils/agetty.c:659
+#, c-format
+msgid "%s: dup problem: %m"
+msgstr "%s: problème avec dup: %m"
+
+#: login-utils/agetty.c:946
+#, c-format
+msgid "user"
+msgstr "usager"
+
+#: login-utils/agetty.c:946
+#, c-format
+msgid "users"
+msgstr "usagers"
+
+#: login-utils/agetty.c:1031
+#, c-format
+msgid "%s: read: %m"
+msgstr "%s: lu: %m"
+
+#: login-utils/agetty.c:1078
+#, c-format
+msgid "%s: input overrun"
+msgstr "%s: dépassement du tampon d'entrée"
+
+#: login-utils/agetty.c:1207
+#, c-format
+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 ""
+"Utilisation : %s [-8hiLmUw] [-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"
+
+#: login-utils/checktty.c:91 login-utils/checktty.c:112
+#, c-format
+msgid "login: memory low, login may fail\n"
+msgstr "login: bas en espace mémoire, login peut échouer\n"
+
+#: login-utils/checktty.c:92
+msgid "can't malloc for ttyclass"
+msgstr "ne peut exécuter malloc() pour ttyclass"
+
+#: login-utils/checktty.c:113
+msgid "can't malloc for grplist"
+msgstr "ne peut exécuter malloc() pour grplist"
+
+#: login-utils/checktty.c:554
+#, c-format
+msgid "Login on %s from %s denied by default.\n"
+msgstr "Login sur %s de %s n'est pas permis par défaut.\n"
+
+#: login-utils/checktty.c:565
+#, c-format
+msgid "Login on %s from %s denied.\n"
+msgstr "Login sur %s de %s n'est pas permis.\n"
+
+#: login-utils/chfn.c:133 login-utils/chsh.c:119
+#, c-format
+msgid "%s: you (user %d) don't exist.\n"
+msgstr "%s: vous (usager %d) n'existez pas.\n"
+
+#: login-utils/chfn.c:140 login-utils/chsh.c:126
+#, c-format
+msgid "%s: user \"%s\" does not exist.\n"
+msgstr "%s: usager « %s » n'existe pas.\n"
+
+#: login-utils/chfn.c:145 login-utils/chsh.c:131
+#, c-format
+msgid "%s: can only change local entries; use yp%s instead.\n"
+msgstr ""
+"%s: on ne peut changer que les entrées locales; utiliser yp%s à la place.\n"
+
+#: login-utils/chfn.c:156 login-utils/chsh.c:142
+msgid "Unknown user context"
+msgstr "contexte usager inconnu"
+
+#: login-utils/chfn.c:157
+#, c-format
+msgid "%s: %s is not authorized to change the finger info of %s\n"
+msgstr ""
+"%s: %s n'a pas l'autorisation pour modifier les infos de finger de %s\n"
+
+#: login-utils/chfn.c:164 login-utils/chsh.c:150
+#, c-format
+msgid "%s: Can't set default context for /etc/passwd"
+msgstr "%s: ne peut initialiser le contexte par défaut pour /etc/passwd"
+
+#: login-utils/chfn.c:178
+#, c-format
+msgid "Changing finger information for %s.\n"
+msgstr "Modification de l'information de finger pour %s.\n"
+
+#: login-utils/chfn.c:189 login-utils/chsh.c:188 login-utils/login.c:572
+#, c-format
+msgid "%s: PAM failure, aborting: %s\n"
+msgstr "%s: échec de login PAM, fin d'exécution : %s\n"
+
+#: login-utils/chfn.c:212 login-utils/chsh.c:211 login-utils/login.c:823
+#: login-utils/newgrp.c:85 login-utils/simpleinit.c:340 mount/lomount.c:744
+#: mount/lomount.c:747
+msgid "Password: "
+msgstr "Mot de passe: "
+
+#: login-utils/chfn.c:215 login-utils/chsh.c:214
+msgid "Incorrect password."
+msgstr "Mot de passe incorrect."
+
+#: login-utils/chfn.c:226
+#, c-format
+msgid "Finger information not changed.\n"
+msgstr "L'information de finger n'a pas changé.\n"
+
+#: login-utils/chfn.c:328
+#, c-format
+msgid "Usage: %s [ -f full-name ] [ -o office ] "
+msgstr "Utilisation : %s [ -f nom-complet ] [ -o bureau ] "
+
+#: login-utils/chfn.c:329
+#, c-format
+msgid ""
+"[ -p office-phone ]\n"
+"\t[ -h home-phone ] "
+msgstr ""
+"[ -p no-téléphone-au-bureau ]\n"
+"\t[ -h no-téléphone-à-la-maison ] "
+
+#: login-utils/chfn.c:330
+#, c-format
+msgid "[ --help ] [ --version ]\n"
+msgstr "[ --help ] [ --version ]\n"
+
+#: login-utils/chfn.c:378
+msgid "Office"
+msgstr "Bureau"
+
+#: login-utils/chfn.c:379
+msgid "Office Phone"
+msgstr "Téléphone bureau"
+
+#: login-utils/chfn.c:380
+msgid "Home Phone"
+msgstr "Téléphone domicile"
+
+#: login-utils/chfn.c:401 login-utils/chsh.c:321
+#, c-format
+msgid ""
+"\n"
+"Aborted.\n"
+msgstr ""
+"\n"
+"Abandon.\n"
+
+#: login-utils/chfn.c:434
+#, c-format
+msgid "field is too long.\n"
+msgstr "le champ est trop long.\n"
+
+#: login-utils/chfn.c:442
+#, c-format
+msgid "'%c' is not allowed.\n"
+msgstr "« %c » n'est pas permis.\n"
+
+#: login-utils/chfn.c:447
+#, c-format
+msgid "Control characters are not allowed.\n"
+msgstr "Caractères de contrôle ne sont pas permis.\n"
+
+#: login-utils/chfn.c:512
+#, c-format
+msgid "Finger information *NOT* changed.  Try again later.\n"
+msgstr ""
+"L'information de finger *N'A PAS* changé. Essayer à nouveau plus tard.\n"
+
+#: login-utils/chfn.c:515
+#, c-format
+msgid "Finger information changed.\n"
+msgstr "L'information de finger a changé.\n"
+
+#: login-utils/chsh.c:143
+#, c-format
+msgid "%s: %s is not authorized to change the shell of %s\n"
+msgstr "%s: %s n'a pas l'autorisation pour modifier le shell de %s\n"
+
+#: login-utils/chsh.c:164
+#, c-format
+msgid ""
+"%s: Running UID doesn't match UID of user we're altering, shell change "
+"denied\n"
+msgstr ""
+"%s: exécuté en UID ne concorde pas avec le UID de l'usager que l'on altère, "
+"modification de shall refusée\n"
+
+#: login-utils/chsh.c:170
+#, c-format
+msgid "%s: Your shell is not in /etc/shells, shell change denied\n"
+msgstr ""
+"%s: votre shell n'est pas dans /etc/shells, modification de shell interdite\n"
+
+#: login-utils/chsh.c:177
+#, c-format
+msgid "Changing shell for %s.\n"
+msgstr "Modification du shell pour %s.\n"
+
+#: login-utils/chsh.c:222
+msgid "New shell"
+msgstr "Nouveau shell"
+
+#: login-utils/chsh.c:229
+#, c-format
+msgid "Shell not changed.\n"
+msgstr "Shell n'a pas été changé.\n"
+
+#: login-utils/chsh.c:235
+#, c-format
+msgid "Shell *NOT* changed.  Try again later.\n"
+msgstr "Shell *N'A PAS* changé.  Essayer plus tard.\n"
+
+#: login-utils/chsh.c:238
+#, c-format
+msgid "Shell changed.\n"
+msgstr "Shell a changé.\n"
+
+#: login-utils/chsh.c:303
+#, c-format
+msgid ""
+"Usage: %s [ -s shell ] [ --list-shells ] [ --help ] [ --version ]\n"
+"       [ username ]\n"
+msgstr ""
+"Utilisation : %s [ -s shell ] [ --list-shells ] [ --help ] [ --version ]\n"
+"       [ nom-usager ]\n"
+
+#: login-utils/chsh.c:349
+#, c-format
+msgid "%s: shell must be a full path name.\n"
+msgstr "%s: shell doit utiliser le nom du chemin d'accès complet.\n"
+
+#: login-utils/chsh.c:353
+#, c-format
+msgid "%s: \"%s\" does not exist.\n"
+msgstr "%s: « %s » n'existe pas.\n"
+
+#: login-utils/chsh.c:357
+#, c-format
+msgid "%s: \"%s\" is not executable.\n"
+msgstr "%s: « %s » n'est pas exécutable.\n"
+
+#: login-utils/chsh.c:364
+#, c-format
+msgid "%s: '%c' is not allowed.\n"
+msgstr "%s: « %c » n'est pas permis.\n"
+
+#: login-utils/chsh.c:368
+#, c-format
+msgid "%s: Control characters are not allowed.\n"
+msgstr "%s: les caractères de contrôle ne sont par permis.\n"
+
+#: login-utils/chsh.c:375 login-utils/chsh.c:385
+#, c-format
+msgid "Warning: \"%s\" is not listed in /etc/shells.\n"
+msgstr "AVERTISSEMENT: « %s » n'apparaît pas dans /etc/shells.\n"
+
+#: login-utils/chsh.c:377
+#, c-format
+msgid "%s: \"%s\" is not listed in /etc/shells.\n"
+msgstr "%s: « %s » n'apparaît pas dans /etc/shells.\n"
+
+#: login-utils/chsh.c:379
+#, c-format
+msgid "%s: Use -l option to see list.\n"
+msgstr "%s: utiliser l'option -l option pour voir la liste.\n"
+
+#: login-utils/chsh.c:386
+#, c-format
+msgid "Use %s -l to see list.\n"
+msgstr "Utiliser %s -l pour afficher la liste.\n"
+
+#: login-utils/chsh.c:406
+#, c-format
+msgid "No known shells.\n"
+msgstr "Aucun shell connu.\n"
+
+#: login-utils/islocal.c:87
+#, c-format
+msgid "Failed to open %s for reading, exiting."
+msgstr "Impossible d'ouvrir %s en lecture, fin d'exécution."
+
+#: login-utils/last.c:148
+msgid "usage: last [-#] [-f file] [-t tty] [-h hostname] [user ...]\n"
+msgstr ""
+"Utilisation : last [-#] [-f fichier] [-t tty] [-h nom-de-l'hôte] "
+"[usager ...]\n"
+
+#: login-utils/last.c:284
+msgid "  still logged in"
+msgstr "  encore loggé au système"
+
+#: login-utils/last.c:306
+#, c-format
+msgid ""
+"\n"
+"wtmp begins %s"
+msgstr ""
+"\n"
+"wtmp débute %s"
+
+#: login-utils/last.c:362 login-utils/last.c:380 login-utils/last.c:431
+msgid "last: malloc failure.\n"
+msgstr "last: échec de malloc().\n"
+
+#: login-utils/last.c:407
+msgid "last: gethostname"
+msgstr "last: obtention du nom de l'hôte"
+
+#: login-utils/last.c:456
+#, c-format
+msgid ""
+"\n"
+"interrupted %10.10s %5.5s \n"
+msgstr ""
+"\n"
+"interruption %10.10s %5.5s \n"
+
+#: login-utils/login.c:197
+#, c-format
+msgid "FATAL: can't reopen tty: %s"
+msgstr "Erreur fatale: ne peut réouvrir tty: %s"
+
+#: login-utils/login.c:229
+msgid "FATAL: bad tty"
+msgstr "Erreur fatale: tty erroné"
+
+#: login-utils/login.c:436
+#, c-format
+msgid "login: -h for super-user only.\n"
+msgstr "login: -h pour le super usager seulement.\n"
+
+#: login-utils/login.c:479
+#, c-format
+msgid "usage: login [-fp] [username]\n"
+msgstr "Utilisation : login [-fp] [nom-d-usager]\n"
+
+#: login-utils/login.c:574
+#, c-format
+msgid "Couldn't initialize PAM: %s"
+msgstr "Ne peut initialiser PAM: %s"
+
+#: login-utils/login.c:591
+msgid "login: "
+msgstr "login: "
+
+#: login-utils/login.c:635
+#, c-format
+msgid "FAILED LOGIN %d FROM %s FOR %s, %s"
+msgstr "ÉCHEC DE LOGIN %d À PARTIR DE %s POUR %s, %s"
+
+#: login-utils/login.c:640
+#, c-format
+msgid ""
+"Login incorrect\n"
+"\n"
+msgstr ""
+"Login incorrect\n"
+"\n"
+
+#: login-utils/login.c:649
+#, c-format
+msgid "TOO MANY LOGIN TRIES (%d) FROM %s FOR %s, %s"
+msgstr "TROP DE TENTATIVES DE LOGIN (%d) DE %s POUR %s, %s"
+
+#: login-utils/login.c:653
+#, c-format
+msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
+msgstr "ÉCHEC DE LOGIN POUR UNE SESSION DE %s POUR %s, %s"
+
+#: login-utils/login.c:658
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+"\n"
+"Login incorrect\n"
+
+#: login-utils/login.c:686 login-utils/login.c:693 login-utils/login.c:727
+#, c-format
+msgid ""
+"\n"
+"Session setup problem, abort.\n"
+msgstr ""
+"\n"
+"Problème d'initialisation de la session, abandon.\n"
+
+#: login-utils/login.c:687
+#, c-format
+msgid "NULL user name in %s:%d. Abort."
+msgstr "Nom d'usager null dans %s:%d. Abandon."
+
+#: login-utils/login.c:694
+#, c-format
+msgid "Invalid user name \"%s\" in %s:%d. Abort."
+msgstr "Nom d'usager invalide « %s » dans %s:%d. Abandon."
+
+#: login-utils/login.c:713
+#, c-format
+msgid "login: Out of memory\n"
+msgstr "login: mémoire épuisée\n"
+
+#: login-utils/login.c:757
+msgid "Illegal username"
+msgstr "Nom d'usager illégal"
+
+#: login-utils/login.c:800
+#, c-format
+msgid "%s login refused on this terminal.\n"
+msgstr "%s login refusé sur ce terminal.\n"
+
+#: login-utils/login.c:805
+#, c-format
+msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
+msgstr "LOGIN %s REFUSÉ DE %s SUR TTY %s"
+
+#: login-utils/login.c:809
+#, c-format
+msgid "LOGIN %s REFUSED ON TTY %s"
+msgstr "LOGIN %s REFUSÉ SUR TTY %s"
+
+#: login-utils/login.c:863
+#, c-format
+msgid "Login incorrect\n"
+msgstr "Login incorrect\n"
+
+#: login-utils/login.c:1088
+#, c-format
+msgid "DIALUP AT %s BY %s"
+msgstr "APPEL à %s fait par %s"
+
+#: login-utils/login.c:1095
+#, c-format
+msgid "ROOT LOGIN ON %s FROM %s"
+msgstr "ROOT LOGIN DE %s À PARTIR DE %s"
+
+#: login-utils/login.c:1098
+#, c-format
+msgid "ROOT LOGIN ON %s"
+msgstr "ROOT LOGIN SUR %s"
+
+#: login-utils/login.c:1101
+#, c-format
+msgid "LOGIN ON %s BY %s FROM %s"
+msgstr "LOGIN SUR %s PAR %s À PARTIR DE %s"
+
+#: login-utils/login.c:1104
+#, c-format
+msgid "LOGIN ON %s BY %s"
+msgstr "LOGIN SUR %s PAR %s"
+
+#: login-utils/login.c:1125
+#, c-format
+msgid "You have new mail.\n"
+msgstr "Vous avez du courrier.\n"
+
+#: login-utils/login.c:1127
+#, c-format
+msgid "You have mail.\n"
+msgstr "Vous avez du courrier.\n"
+
+# login-utils/login.c:1087too many bare linefeeds.\n"
+#: login-utils/login.c:1171
+#, c-format
+msgid "login: failure forking: %s"
+msgstr "login: échec d'établissement de relais par fork(): %s "
+
+#: login-utils/login.c:1218
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr "Éched de TIOCSCTTY: %m"
+
+#: login-utils/login.c:1224
+msgid "setuid() failed"
+msgstr "échec de setuid()"
+
+#: login-utils/login.c:1230
+#, c-format
+msgid "No directory %s!\n"
+msgstr "Pas de répertoire %s!\n"
+
+#: login-utils/login.c:1234
+#, c-format
+msgid "Logging in with home = \"/\".\n"
+msgstr "Login avec un répertoire home = « / ».\n"
+
+#: login-utils/login.c:1242
+#, c-format
+msgid "login: no memory for shell script.\n"
+msgstr "login: mémoire épuisée pour le script du shell.\n"
+
+#: login-utils/login.c:1269
+#, c-format
+msgid "login: couldn't exec shell script: %s.\n"
+msgstr "login: ne peut exécuter le script du shell: %s.\n"
+
+#: login-utils/login.c:1272
+#, c-format
+msgid "login: no shell: %s.\n"
+msgstr "login: pas de shell: %s.\n"
+
+#: login-utils/login.c:1287
+#, c-format
+msgid ""
+"\n"
+"%s login: "
+msgstr ""
+"\n"
+"%s login: "
+
+#: login-utils/login.c:1298
+#, c-format
+msgid "login name much too long.\n"
+msgstr "nom du compte usager login trop long.\n"
+
+#: login-utils/login.c:1299
+msgid "NAME too long"
+msgstr "NOM trop long"
+
+#: login-utils/login.c:1306
+#, c-format
+msgid "login names may not start with '-'.\n"
+msgstr "noms de login ne peuvent débuter avec « - ».\n"
+
+#: login-utils/login.c:1316
+#, c-format
+msgid "too many bare linefeeds.\n"
+msgstr "trop de sauts de page (linefeeds)\n"
+
+#: login-utils/login.c:1317
+msgid "EXCESSIVE linefeeds"
+msgstr "Nombre escessif de sauts de page (linefeeds)"
+
+#: login-utils/login.c:1349
+#, c-format
+msgid "Login timed out after %d seconds\n"
+msgstr "Expiration du délai de grâce lors du login après %d secondes\n"
+
+#: login-utils/login.c:1437
+#, c-format
+msgid "Last login: %.*s "
+msgstr "Dernier login: %.*s "
+
+#: login-utils/login.c:1441
+#, c-format
+msgid "from %.*s\n"
+msgstr "à partir de %.*s\n"
+
+#: login-utils/login.c:1444
+#, c-format
+msgid "on %.*s\n"
+msgstr "sur %.*s\n"
+
+#: login-utils/login.c:1470
+#, c-format
+msgid "LOGIN FAILURE FROM %s, %s"
+msgstr "Échec de login à partir de %s, %s"
+
+#: login-utils/login.c:1473
+#, c-format
+msgid "LOGIN FAILURE ON %s, %s"
+msgstr "Échec de login à partir de %s, %s"
+
+#: login-utils/login.c:1477
+#, c-format
+msgid "%d LOGIN FAILURES FROM %s, %s"
+msgstr "%d login en échec à partir de %s, %s"
+
+#: login-utils/login.c:1480
+#, c-format
+msgid "%d LOGIN FAILURES ON %s, %s"
+msgstr "%d login en échec sur %s, %s"
+
+#: login-utils/mesg.c:89
+#, c-format
+msgid "is y\n"
+msgstr "est y\n"
+
+#: login-utils/mesg.c:92
+#, c-format
+msgid "is n\n"
+msgstr "est n\n"
+
+#: login-utils/mesg.c:112
+#, c-format
+msgid "usage: mesg [y | n]\n"
+msgstr "Utilisation : mesg [y | n]\n"
+
+#: login-utils/newgrp.c:105
+msgid "newgrp: Who are you?"
+msgstr "newgrp: Qui êtes-vous?"
+
+#: login-utils/newgrp.c:113 login-utils/newgrp.c:127
+msgid "newgrp: setgid"
+msgstr "newgrp: setgid"
+
+#: login-utils/newgrp.c:120 login-utils/newgrp.c:122
+msgid "newgrp: No such group."
+msgstr "newgrp: pas de tel groupe."
+
+#: login-utils/newgrp.c:131
+msgid "newgrp: Permission denied"
+msgstr "newgrp: permission refusée"
+
+#: login-utils/newgrp.c:138
+msgid "newgrp: setuid"
+msgstr "newgrp: setuid"
+
+#: login-utils/newgrp.c:144
+msgid "No shell"
+msgstr "Pas de shell"
+
+#: login-utils/shutdown.c:115
+#, c-format
+msgid "Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+msgstr "Utilisation : shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+
+#: login-utils/shutdown.c:133
+msgid "Shutdown process aborted"
+msgstr "Processus d'arrêt avorté"
+
+#: login-utils/shutdown.c:164
+#, c-format
+msgid "%s: Only root can shut a system down.\n"
+msgstr "%s: seul le super usager peut arrêter un système.\n"
+
+#: login-utils/shutdown.c:258
+#, c-format
+msgid "That must be tomorrow, can't you wait till then?\n"
+msgstr "Ce doit être demain, ne pouvez-vous pas attendre jusque là?\n"
+
+#: login-utils/shutdown.c:309
+msgid "for maintenance; bounce, bounce"
+msgstr "pour l'entretien; rebondit, rebondit (ie bounce)"
+
+#: login-utils/shutdown.c:338
+msgid "The system is being shut down within 5 minutes"
+msgstr "Le système sera arrête d'ici 5 minutes"
+
+#: login-utils/shutdown.c:342
+msgid "Login is therefore prohibited."
+msgstr "Les logins sont par conséquent interdits."
+
+#: login-utils/shutdown.c:364
+#, c-format
+msgid "rebooted by %s: %s"
+msgstr "réamorçé par %s: %s"
+
+#: login-utils/shutdown.c:367
+#, c-format
+msgid "halted by %s: %s"
+msgstr "stoppé par %s: %s"
+
+#: login-utils/shutdown.c:431
+msgid ""
+"\n"
+"Why am I still alive after reboot?"
+msgstr ""
+"\n"
+"Pourquoi suis-je encore actif après un réamorçage?"
+
+#: login-utils/shutdown.c:433
+msgid ""
+"\n"
+"Now you can turn off the power..."
+msgstr ""
+"\n"
+"Maintenant vous pouvez éteindre l'alimentation électrique..."
+
+#: login-utils/shutdown.c:449
+#, c-format
+msgid "Calling kernel power-off facility...\n"
+msgstr "Appel du service de coupure de courant électrique du kernel...\n"
+
+#: login-utils/shutdown.c:452
+#, c-format
+msgid "Error powering off\t%s\n"
+msgstr "Erreur lors de la coupure de courant\t%s\n"
+
+#: login-utils/shutdown.c:460
+#, c-format
+msgid "Executing the program \"%s\" ...\n"
+msgstr "Exécution du programme « %s » ...\n"
+
+#: login-utils/shutdown.c:463
+#, c-format
+msgid "Error executing\t%s\n"
+msgstr "Erreur d'exécution\t%s\n"
+
+#: login-utils/shutdown.c:490
+#, c-format
+msgid "URGENT: broadcast message from %s:"
+msgstr "URGENT: diffusion de message de la part de %s:"
+
+#: login-utils/shutdown.c:496
+#, c-format
+msgid "System going down in %d hours %d minutes"
+msgstr "Le système sera arrêté dans %d heures %d minutes"
+
+#: login-utils/shutdown.c:499
+#, c-format
+msgid "System going down in 1 hour %d minutes"
+msgstr "Le système sera arrêté dans 1 heure %d minutes"
+
+#: login-utils/shutdown.c:502
+#, c-format
+msgid "System going down in %d minutes\n"
+msgstr "Le système sera arrêté dans %d minutes\n"
+
+#: login-utils/shutdown.c:505
+#, c-format
+msgid "System going down in 1 minute\n"
+msgstr "Le système sera arrêté dans 1 minute\n"
+
+#: login-utils/shutdown.c:507
+#, c-format
+msgid "System going down IMMEDIATELY!\n"
+msgstr "Le système sera arrêté IMMÉDIATEMENT!\n"
+
+#: login-utils/shutdown.c:512
+#, c-format
+msgid "\t... %s ...\n"
+msgstr "\t... %s ...\n"
+
+#: login-utils/shutdown.c:569
+msgid "Cannot fork for swapoff. Shrug!"
+msgstr "Ne peut établir un relais pour swapoff."
+
+#: login-utils/shutdown.c:577
+msgid "Cannot exec swapoff, hoping umount will do the trick."
+msgstr "Ne peut exécuter un swapoff, en espérant que umount fera le travail."
+
+#: login-utils/shutdown.c:596
+msgid "Cannot fork for umount, trying manually."
+msgstr "Ne peut établir un relais fork() pour umount, essayer manuellement."
+
+#: login-utils/shutdown.c:605
+#, c-format
+msgid "Cannot exec %s, trying umount.\n"
+msgstr "Ne peut exécuter %s, on tente un umount.\n"
+
+#: login-utils/shutdown.c:609
+msgid "Cannot exec umount, giving up on umount."
+msgstr "Ne peut exécuter un umount, abandon sur le umount."
+
+#: login-utils/shutdown.c:614
+msgid "Unmounting any remaining filesystems..."
+msgstr "Démonter tous les systèmes de fichiers restants..."
+
+#: login-utils/shutdown.c:661
+#, c-format
+msgid "shutdown: Couldn't umount %s: %s\n"
+msgstr "arrêt système: ne peut démonter %s: %s\n"
+
+#: login-utils/simpleinit.c:132
+msgid "Booting to single user mode.\n"
+msgstr "Amorçage en mode usager simple.\n"
+
+#: login-utils/simpleinit.c:136
+msgid "exec of single user shell failed\n"
+msgstr "échec d'exécution du shell usager simple\n"
+
+#: login-utils/simpleinit.c:140
+msgid "fork of single user shell failed\n"
+msgstr "échec du fork() du shell de l'usager simple\n"
+
+#: login-utils/simpleinit.c:208
+msgid "error opening fifo\n"
+msgstr "erreur d'ouverture d'un fifo\n"
+
+#: login-utils/simpleinit.c:212
+msgid "error setting close-on-exec on /dev/initctl"
+msgstr "erreur d'initialisaton close-on-exec sur /dev/initctl"
+
+#: login-utils/simpleinit.c:259
+msgid "error running finalprog\n"
+msgstr "erreur d'exécution de finalprog\n"
+
+#: login-utils/simpleinit.c:263
+msgid "error forking finalprog\n"
+msgstr "erreur de fork() de finalprog\n"
+
+#: login-utils/simpleinit.c:345
+msgid ""
+"\n"
+"Wrong password.\n"
+msgstr ""
+"\n"
+"Mot de passe erroné.\n"
+
+#: login-utils/simpleinit.c:418
+msgid "lstat of path failed\n"
+msgstr "échec d'évaluation par lstat() du chemin\n"
+
+#: login-utils/simpleinit.c:426
+msgid "stat of path failed\n"
+msgstr "échec d'évaluation par stat du chemin\n"
+
+#: login-utils/simpleinit.c:434
+msgid "open of directory failed\n"
+msgstr "échec d'ouverture du répertoire\n"
+
+#: login-utils/simpleinit.c:501
+#, c-format
+msgid "respawning: \"%s\" too fast: quenching entry\n"
+msgstr "régénération : \"%s\" trop rapide : extinction de l'entrée\n"
+
+#: login-utils/simpleinit.c:509
+msgid "fork failed\n"
+msgstr "échec de fork()\n"
+
+#: login-utils/simpleinit.c:540 text-utils/more.c:1629
+msgid "exec failed\n"
+msgstr "échec de exec()\n"
+
+#: login-utils/simpleinit.c:564
+msgid "cannot open inittab\n"
+msgstr "ne peut ouvrir inittab\n"
+
+#: login-utils/simpleinit.c:631
+msgid "no TERM or cannot stat tty\n"
+msgstr "pas de TERM ou ne peut évaluer tty par stat()\n"
+
+#: login-utils/simpleinit.c:938
+#, c-format
+msgid "error stopping service: \"%s\"\n"
+msgstr "erreur en arrêtant le service : \"%s\"\n"
+
+#: login-utils/simpleinit.c:950
+#, c-format
+msgid "Stopped service: %s\n"
+msgstr "Service arrêté : %s\n"
+
+#: login-utils/simpleinit.c:1070
+#, c-format
+msgid "error running programme: \"%s\"\n"
+msgstr "erreur d'exécution du programme : \"%s\"\n"
+
+#: login-utils/ttymsg.c:75
+msgid "too many iov's (change code in wall/ttymsg.c)"
+msgstr "trop de iov (modifier le code dans wall/ttymsg.c)"
+
+#: login-utils/ttymsg.c:85
+#, c-format
+msgid "excessively long line arg"
+msgstr "ligne d'arguments excessivement longue"
+
+#: login-utils/ttymsg.c:140
+#, c-format
+msgid "cannot fork"
+msgstr "ne peut faire de relais fork()"
+
+#: login-utils/ttymsg.c:144
+#, c-format
+msgid "fork: %s"
+msgstr "fork: %s"
+
+#: login-utils/ttymsg.c:174
+#, c-format
+msgid "%s: BAD ERROR"
+msgstr "%s: MAUVAISE EEREUR"
+
+#: login-utils/vipw.c:143
+#, c-format
+msgid "%s: the password file is busy.\n"
+msgstr "%s: le fichier de mots de passe est occupé.\n"
+
+#: login-utils/vipw.c:146
+#, c-format
+msgid "%s: the group file is busy.\n"
+msgstr "%s: le fichier de groupes est occupé.\n"
+
+#: login-utils/vipw.c:162
+#, c-format
+msgid "%s: the %s file is busy (%s present)\n"
+msgstr "%s: le fichier %s est occupé (%s présent)\n"
+
+#: login-utils/vipw.c:168
+#, c-format
+msgid "%s: can't link %s: %s\n"
+msgstr "%s: ne peut faire un lien %s: %s\n"
+
+#: login-utils/vipw.c:202
+#, c-format
+msgid "%s: Can't get context for %s"
+msgstr "%s: ne peut obtenir le contexte pour %s"
+
+#: login-utils/vipw.c:208
+#, c-format
+msgid "%s: Can't set context for %s"
+msgstr "%s: ne peut initialiser le contexte pour %s"
+
+#: login-utils/vipw.c:217
+#, c-format
+msgid "%s: can't unlock %s: %s (your changes are still in %s)\n"
+msgstr ""
+"%s: ne peut déverrouiller %s: %s (vos modifications sont encore dans %s)\n"
+
+#: login-utils/vipw.c:240
+#, c-format
+msgid "%s: Cannot fork\n"
+msgstr "%s: ne peut faire un relais par fork()\n"
+
+#: login-utils/vipw.c:276
+#, c-format
+msgid "%s: %s unchanged\n"
+msgstr "%s: %s n'a pas changé\n"
+
+#: login-utils/vipw.c:297
+#, c-format
+msgid "%s: no changes made\n"
+msgstr "%s: aucun changement n'a été fait\n"
+
+#: login-utils/vipw.c:350
+#, 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:351
+#, c-format
+msgid "You are using shadow passwords on this system.\n"
+msgstr "Vous utilisez 'shadow passwords» sur ce système.\n"
+
+#: login-utils/vipw.c:352
+#, c-format
+msgid "Would you like to edit %s now [y/n]? "
+msgstr "Voulez-vous éditer %s maintenant [y/n]? "
+
+#: login-utils/wall.c:112
+#, c-format
+msgid "usage: %s [file]\n"
+msgstr "Utilisation : %s [fichier]\n"
+
+#: login-utils/wall.c:167
+#, c-format
+msgid "%s: can't open temporary file.\n"
+msgstr "%s: ne peut ouvrir un fichier temporaires.\n"
+
+#: login-utils/wall.c:194
+#, c-format
+msgid "Broadcast Message from %s@%s"
+msgstr "Diffusion de message de %s@%s"
+
+#: login-utils/wall.c:212
+#, c-format
+msgid "%s: will not read %s - use stdin.\n"
+msgstr "%s: ne lira pas %s - utiliser stdin.\n"
+
+#: login-utils/wall.c:217
+#, c-format
+msgid "%s: can't read %s.\n"
+msgstr "%s: ne peut lire %s.\n"
+
+#: login-utils/wall.c:240
+#, c-format
+msgid "%s: can't stat temporary file.\n"
+msgstr "%s: ne peut évaluer par stat() le fichier temporaire.\n"
+
+#: login-utils/wall.c:250
+#, c-format
+msgid "%s: can't read temporary file.\n"
+msgstr "%s: ne peut lire du fichier temporaire.\n"
+
+#: misc-utils/cal.c:362 misc-utils/cal.c:374
+#, c-format
+msgid "illegal day value: use 1-%d"
+msgstr "valeur de jour incorrecte : utiliser 1-%d"
+
+#: misc-utils/cal.c:366
+msgid "illegal month value: use 1-12"
+msgstr "valeur de mois illégal: utiliser 1-12"
+
+#: misc-utils/cal.c:370
+msgid "illegal year value: use 1-9999"
+msgstr "valeur d'année illégale: utiliser 1-9999"
+
+#: misc-utils/cal.c:464
+#, c-format
+msgid "%s %d"
+msgstr "%s %d"
+
+#: misc-utils/cal.c:856
+#, c-format
+msgid "usage: cal [-13smjyV] [[[day] month] year]\n"
+msgstr "Utilisation : cal [-13smjyV] [[[jour] mois] année]\n"
+
+#: misc-utils/ddate.c:203
+#, c-format
+msgid "usage: %s [+format] [day month year]\n"
+msgstr "Utilisation : %s [+format] [jour mois année]\n"
+
+#: misc-utils/ddate.c:250
+msgid "St. Tib's Day"
+msgstr "Jour de la St. Tib"
+
+#: misc-utils/findfs.c:24
+#, c-format
+msgid "Usage: %s LABEL=<label>|UUID=<uuid>\n"
+msgstr "Usage : %s LABEL=<label>|UUID=<uuid>\n"
+
+#: misc-utils/findfs.c:55
+#, c-format
+msgid "unable to resolve '%s'"
+msgstr "impossible de résoudre '%s'"
+
+#: misc-utils/kill.c:207
+#, c-format
+msgid "%s: unknown signal %s\n"
+msgstr "%s: signal inconnu %s\n"
+
+#: misc-utils/kill.c:270
+#, c-format
+msgid "%s: can't find process \"%s\"\n"
+msgstr "%s: ne peut repérer le processus « %s »\n"
+
+#: misc-utils/kill.c:314
+#, c-format
+msgid "%s: unknown signal %s; valid signals:\n"
+msgstr "%s: signal inconnu %s; signaux valides:\n"
+
+#: misc-utils/kill.c:354
+#, c-format
+msgid "usage: %s [ -s signal | -p ] [ -a ] pid ...\n"
+msgstr "Utilisation : %s [ -s signal | -p ] [ -a ] pid ...\n"
+
+#: misc-utils/kill.c:355
+#, c-format
+msgid "       %s -l [ signal ]\n"
+msgstr "       %s -l [ signal ]\n"
+
+#: misc-utils/logger.c:67
+#, c-format
+msgid "logger: openlog: pathname too long\n"
+msgstr "logger: openlog: chemin trop long\n"
+
+#: misc-utils/logger.c:75
+#, c-format
+msgid "socket: %s.\n"
+msgstr "socket: %s.\n"
+
+#: misc-utils/logger.c:80
+#, c-format
+msgid "connect: %s.\n"
+msgstr "connect: %s.\n"
+
+#: misc-utils/logger.c:139
+#, c-format
+msgid "logger: %s: %s.\n"
+msgstr "logger: %s: %s.\n"
+
+#: misc-utils/logger.c:246
+#, c-format
+msgid "logger: unknown facility name: %s.\n"
+msgstr "logger: nom de service inconnu: %s.\n"
+
+#: misc-utils/logger.c:258
+#, c-format
+msgid "logger: unknown priority name: %s.\n"
+msgstr "logger: nom de priorité inconnu: %s.\n"
+
+#: misc-utils/logger.c:285
+#, c-format
+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"
+
+#: misc-utils/look.c:351
+#, c-format
+msgid "usage: look [-dfa] [-t char] string [file]\n"
+msgstr "Utilisation : look [-dfa] [-t caractère] chaîne [fichier]\n"
+
+#: misc-utils/mcookie.c:105 misc-utils/mcookie.c:132
+#, c-format
+msgid "Could not open %s\n"
+msgstr "Ne peut ouvrir %s\n"
+
+#: misc-utils/mcookie.c:109 misc-utils/mcookie.c:128
+#, c-format
+msgid "Got %d bytes from %s\n"
+msgstr "A obtenu %d octets de %s\n"
+
+#: misc-utils/namei.c:144 misc-utils/namei.c:198 misc-utils/namei.c:220
+#: misc-utils/namei.c:227 misc-utils/namei.c:248
+msgid "out of memory?"
+msgstr "mémoire épuisée ?"
+
+#: misc-utils/namei.c:189
+#, c-format
+msgid "failed to read symlink: %s"
+msgstr "impossible de lire le lien symbolique : %s"
+
+#: misc-utils/namei.c:229
+#, c-format
+msgid "could not stat '%s'"
+msgstr "échec de la fonction \"stat\" '%s'"
+
+#: misc-utils/namei.c:411
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [options] pathname [pathname ...]\n"
+msgstr ""
+"\n"
+"Usage : %s [options] chemin [chemin ...]\n"
+
+#: misc-utils/namei.c:412
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"Options :\n"
+
+#: misc-utils/namei.c:415
+#, c-format
+msgid ""
+" -h, --help          displays this help text\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"
+" -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:423
+#, c-format
+msgid ""
+"\n"
+"For more information see namei(1).\n"
+msgstr ""
+"\n"
+"Pour plus d'informations voir namei(1).\n"
+
+#: misc-utils/namei.c:484
+#, c-format
+msgid "failed to stat: %s"
+msgstr "échec de la fonction \"stat\" : %s"
+
+#: misc-utils/namei.c:495
+#, c-format
+msgid "%s: exceeded limit of symlinks"
+msgstr "%s : limite de liens symboliques dépassée"
+
+#: misc-utils/rename.c:38
+#, c-format
+msgid "%s: out of memory\n"
+msgstr "%s: mémoire épuisée\n"
+
+#: misc-utils/rename.c:56
+#, c-format
+msgid "%s: renaming %s to %s failed: %s\n"
+msgstr "%s: changer le nom de %s vers %s a échoué: %s\n"
+
+#: misc-utils/rename.c:86
+#, c-format
+msgid "call: %s from to files...\n"
+msgstr "call: %s vers les fichiers...\n"
+
+#: misc-utils/script.c:110
+#, c-format
+msgid ""
+"Warning: `%s' is a link.\n"
+"Use `%s [options] %s' if you really want to use it.\n"
+"Script not started.\n"
+msgstr ""
+"AVERTISSEMENT: « %s » est un lien symbolique.\n"
+"Utiliser « %s [options] %s » si vous désirez réellement l'utiliser.\n"
+"Le script n'a pas été démarré.\n"
+
+#: misc-utils/script.c:173
+#, c-format
+msgid "usage: script [-a] [-f] [-q] [-t] [file]\n"
+msgstr "Utilisation : script [-a] [-f] [-q] [-t] [fichier]\n"
+
+#: misc-utils/script.c:196
+#, c-format
+msgid "Script started, file is %s\n"
+msgstr "Le script a débuté, le fichier est %s\n"
+
+#: misc-utils/script.c:244
+#, c-format
+msgid "%s: write error %d: %s\n"
+msgstr "%s: erreur d'écriture %d : %s\n"
+
+#: misc-utils/script.c:304
+#, c-format
+msgid "Script started on %s"
+msgstr "Le script a débuté sur %s"
+
+#: misc-utils/script.c:347
+#, c-format
+msgid "%s: write error: %s\n"
+msgstr "%s: erreur d'écriture : %s\n"
+
+#: misc-utils/script.c:354
+#, c-format
+msgid "%s: cannot write script file, error: %s\n"
+msgstr "%s: impossible d'écrire le fichier \"script\", erreur : %s\n"
+
+#: misc-utils/script.c:430
+#, c-format
+msgid ""
+"\n"
+"Script done on %s"
+msgstr ""
+"\n"
+"Script complété sur %s"
+
+#: misc-utils/script.c:437
+#, c-format
+msgid "Script done, file is %s\n"
+msgstr "Script complélé, le fichier est %s\n"
+
+#: misc-utils/script.c:448
+#, c-format
+msgid "openpty failed\n"
+msgstr "échec de openpty\n"
+
+#: misc-utils/script.c:482
+#, c-format
+msgid "Out of pty's\n"
+msgstr "Manque de pty\n"
+
+#: misc-utils/scriptreplay.c:38
+#, c-format
+msgid "%s <timingfile> [<typescript> [<divisor>]]\n"
+msgstr "%s <fichier_déroulement_temporel> [<script_enregistré> [<diviseur>]]\n"
+
+#: misc-utils/scriptreplay.c:53
+#, c-format
+msgid "expected a number, but got '%s'"
+msgstr "nombre attendu, mais obtenu : \"%s\""
+
+#: misc-utils/scriptreplay.c:56 misc-utils/scriptreplay.c:60
+#, c-format
+msgid "divisor '%s'"
+msgstr "diviseur \"%s\""
+
+#: misc-utils/scriptreplay.c:104
+msgid "write to stdout failed"
+msgstr "échec d'écriture sur stdout"
+
+#: misc-utils/scriptreplay.c:110
+#, c-format
+msgid "unexpected end of file on %s"
+msgstr "fin de fichier inattendue sur %s"
+
+#: misc-utils/scriptreplay.c:112
+#, c-format
+msgid "failed to read typescript file %s"
+msgstr "échec de lecture du fichier script enregistré %s"
+
+#: misc-utils/scriptreplay.c:145
+#, c-format
+msgid "cannot open timing file %s"
+msgstr "impossible d'ouvrir le fichier de déroulement temporel %s"
+
+#: misc-utils/scriptreplay.c:148
+#, c-format
+msgid "cannot open typescript file %s"
+msgstr "impossible d'ouvrir le fichier de script enregistré %s"
+
+#: misc-utils/scriptreplay.c:164
+#, c-format
+msgid "failed to read timing file %s"
+msgstr "échec de lecture du fichier de déroulement temporel %s"
+
+#: misc-utils/scriptreplay.c:166
+#, fuzzy, c-format
+msgid "timings file %s: %lu: unexpected format"
+msgstr "fichier de déroulement temporel %s : %lu : format attendu"
+
+#: misc-utils/setterm.c:763
+#, c-format
+msgid "%s: Argument error, usage\n"
+msgstr "%s: erreur d,arguement, usage\n"
+
+#: misc-utils/setterm.c:766
+#, c-format
+msgid "  [ -term terminal_name ]\n"
+msgstr "  [ -term nom-de-terminal ]\n"
+
+#: misc-utils/setterm.c:767
+#, c-format
+msgid "  [ -reset ]\n"
+msgstr "  [ -reset ]\n"
+
+#: misc-utils/setterm.c:768
+#, c-format
+msgid "  [ -initialize ]\n"
+msgstr "  [ -initialize ]\n"
+
+#: misc-utils/setterm.c:769
+#, c-format
+msgid "  [ -cursor [on|off] ]\n"
+msgstr "  [ -cursor [on|off] ]\n"
+
+#: misc-utils/setterm.c:771
+#, c-format
+msgid "  [ -snow [on|off] ]\n"
+msgstr "  [ -snow [on|off] ]\n"
+
+#: misc-utils/setterm.c:772
+#, c-format
+msgid "  [ -softscroll [on|off] ]\n"
+msgstr "  [ -softscroll [on|off] ]\n"
+
+#: misc-utils/setterm.c:774
+#, c-format
+msgid "  [ -repeat [on|off] ]\n"
+msgstr "  [ -repeat [on|off] ]\n"
+
+#: misc-utils/setterm.c:775
+#, c-format
+msgid "  [ -appcursorkeys [on|off] ]\n"
+msgstr "  [ -appcursorkeys [on|off] ]\n"
+
+#: misc-utils/setterm.c:776
+#, c-format
+msgid "  [ -linewrap [on|off] ]\n"
+msgstr "  [ -linewrap [on|off] ]\n"
+
+#: misc-utils/setterm.c:777
+#, c-format
+msgid "  [ -default ]\n"
+msgstr "  [ -default ]\n"
+
+#: misc-utils/setterm.c:778
+#, c-format
+msgid "  [ -foreground black|blue|green|cyan"
+msgstr "  [ -foreground black|blue|green|cyan"
+
+#: misc-utils/setterm.c:779 misc-utils/setterm.c:781
+#, c-format
+msgid "|red|magenta|yellow|white|default ]\n"
+msgstr "|red|magenta|yellow|white|default ]\n"
+
+#: misc-utils/setterm.c:780
+#, c-format
+msgid "  [ -background black|blue|green|cyan"
+msgstr "  [ -background black|blue|green|cyan"
+
+#: misc-utils/setterm.c:782
+#, c-format
+msgid "  [ -ulcolor black|grey|blue|green|cyan"
+msgstr "  [ -ulcolor black|grey|blue|green|cyan"
+
+#: misc-utils/setterm.c:783 misc-utils/setterm.c:785 misc-utils/setterm.c:787
+#: misc-utils/setterm.c:789
+#, c-format
+msgid "|red|magenta|yellow|white ]\n"
+msgstr "|red|magenta|yellow|white ]\n"
+
+#: misc-utils/setterm.c:784
+#, c-format
+msgid "  [ -ulcolor bright blue|green|cyan"
+msgstr "  [ -ulcolor bright blue|green|cyan"
+
+#: misc-utils/setterm.c:786
+#, c-format
+msgid "  [ -hbcolor black|grey|blue|green|cyan"
+msgstr "  [ -hbcolor black|grey|blue|green|cyan"
+
+#: misc-utils/setterm.c:788
+#, c-format
+msgid "  [ -hbcolor bright blue|green|cyan"
+msgstr "  [ -hbcolor bright blue|green|cyan"
+
+#: misc-utils/setterm.c:791
+#, c-format
+msgid "  [ -standout [ attr ] ]\n"
+msgstr "  [ -standout [ attr ] ]\n"
+
+#: misc-utils/setterm.c:793
+#, c-format
+msgid "  [ -inversescreen [on|off] ]\n"
+msgstr "  [ -inversescreen [on|off] ]\n"
+
+#: misc-utils/setterm.c:794
+#, c-format
+msgid "  [ -bold [on|off] ]\n"
+msgstr "  [ -bold [on|off] ]\n"
+
+#: misc-utils/setterm.c:795
+#, c-format
+msgid "  [ -half-bright [on|off] ]\n"
+msgstr "  [ -half-bright [on|off] ]\n"
+
+#: misc-utils/setterm.c:796
+#, c-format
+msgid "  [ -blink [on|off] ]\n"
+msgstr "  [ -blink [on|off] ]\n"
+
+#: misc-utils/setterm.c:797
+#, c-format
+msgid "  [ -reverse [on|off] ]\n"
+msgstr "  [ -reverse [on|off] ]\n"
+
+#: misc-utils/setterm.c:798
+#, c-format
+msgid "  [ -underline [on|off] ]\n"
+msgstr "  [ -underline [on|off] ]\n"
+
+#: misc-utils/setterm.c:799
+#, c-format
+msgid "  [ -store ]\n"
+msgstr "  [ -store ]\n"
+
+#: misc-utils/setterm.c:800
+#, c-format
+msgid "  [ -clear [all|rest] ]\n"
+msgstr "  [ -clear [all|rest] ]\n"
+
+#: misc-utils/setterm.c:801
+#, c-format
+msgid "  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n"
+msgstr "  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n"
+
+#: misc-utils/setterm.c:802
+#, c-format
+msgid "  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n"
+msgstr "  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n"
+
+#: misc-utils/setterm.c:803
+#, c-format
+msgid "  [ -regtabs [1-160] ]\n"
+msgstr "  [ -regtabs [1-160] ]\n"
+
+#: misc-utils/setterm.c:804
+#, c-format
+msgid "  [ -blank [0-60|force|poke] ]\n"
+msgstr "  [ -blank [0-60|force|poke] ]\n"
+
+#: misc-utils/setterm.c:805
+#, c-format
+msgid "  [ -dump   [1-NR_CONSOLES] ]\n"
+msgstr "  [ -dump   [1-NR_CONSOLES] ]\n"
+
+#: misc-utils/setterm.c:806
+#, c-format
+msgid "  [ -append [1-NR_CONSOLES] ]\n"
+msgstr "  [ -append [1-NR_CONSOLES] ]\n"
+
+#: misc-utils/setterm.c:807
+#, c-format
+msgid "  [ -file dumpfilename ]\n"
+msgstr "  [ -file nom-de-fichier-de-vidange ]\n"
+
+#: misc-utils/setterm.c:808
+#, c-format
+msgid "  [ -msg [on|off] ]\n"
+msgstr "  [ -msg [on|off] ]\n"
+
+#: misc-utils/setterm.c:809
+#, c-format
+msgid "  [ -msglevel [0-8] ]\n"
+msgstr "  [ -msglevel [0-8] ]\n"
+
+#: misc-utils/setterm.c:810
+#, c-format
+msgid "  [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+msgstr "  [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+
+#: misc-utils/setterm.c:811
+#, c-format
+msgid "  [ -powerdown [0-60] ]\n"
+msgstr "  [ -powerdown [0-60] ]\n"
+
+#: misc-utils/setterm.c:812
+#, c-format
+msgid "  [ -blength [0-2000] ]\n"
+msgstr "  [ -blength [0-2000] ]\n"
+
+#: misc-utils/setterm.c:813
+#, c-format
+msgid "  [ -bfreq freqnumber ]\n"
+msgstr "  [ -bfreq nombre-de-la-fréquence ]\n"
+
+#: misc-utils/setterm.c:1065
+#, c-format
+msgid "cannot force blank\n"
+msgstr "impossible d'activer le nettoyage automatique de l'écran\n"
+
+#: misc-utils/setterm.c:1069
+#, c-format
+msgid "cannot force unblank\n"
+msgstr "impossible de désactiver le nettoyage automatique de l'écran\n"
+
+#: misc-utils/setterm.c:1075
+#, c-format
+msgid "cannot get blank status\n"
+msgstr ""
+"impossible de savoir si le nettoyage automatique de l'écran est actif\n"
+
+#: misc-utils/setterm.c:1087
+#, c-format
+msgid "cannot (un)set powersave mode\n"
+msgstr "ne peut exécuter le mode (un)set powersave\n"
+
+#: misc-utils/setterm.c:1126 misc-utils/setterm.c:1134
+#, c-format
+msgid "klogctl error: %s\n"
+msgstr "erreur klogctl: %s\n"
+
+#: misc-utils/setterm.c:1200
+#, c-format
+msgid "Error writing screendump\n"
+msgstr "Erreur lors de l'écriture du screendump\n"
+
+#: misc-utils/setterm.c:1207
+#, c-format
+msgid "Couldn't read %s\n"
+msgstr "Impossible de lire %s\n"
+
+#: misc-utils/setterm.c:1261
+#, c-format
+msgid "%s: $TERM is not defined.\n"
+msgstr "%s: $TERM n'est pas défini.\n"
+
+#: misc-utils/uuidd.c:46
+#, c-format
+msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n"
+msgstr "Utilisation : %s [-d] [-p fichierpid] [-s cheminsocket] [-T timeout]\n"
+
+#: misc-utils/uuidd.c:48
+#, c-format
+msgid "       %s [-r|t] [-n num] [-s socketpath]\n"
+msgstr "       %s [-r|t] [-n num] [-s socketpath]\n"
+
+#: misc-utils/uuidd.c:50
+#, c-format
+msgid "       %s -k\n"
+msgstr "       %s -k\n"
+
+#: misc-utils/uuidd.c:152
+msgid "bad arguments"
+msgstr "arguments erronés"
+
+#: misc-utils/uuidd.c:159
+msgid "socket"
+msgstr "socket"
+
+#: misc-utils/uuidd.c:170
+msgid "connect"
+msgstr "connexion"
+
+#: misc-utils/uuidd.c:189
+msgid "write"
+msgstr "écriture"
+
+#: misc-utils/uuidd.c:197
+msgid "read count"
+msgstr "nb de lectures"
+
+#: misc-utils/uuidd.c:203
+msgid "bad response length"
+msgstr "mauvaise longueur de réponse"
+
+#: misc-utils/uuidd.c:268
+#, 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:276
+#, c-format
+msgid "Couldn't create unix stream socket: %s"
+msgstr "Impossible de créer un socket de flux unix: %s"
+
+#: misc-utils/uuidd.c:305
+#, c-format
+msgid "Couldn't bind unix socket %s: %s\n"
+msgstr "Association de socket (bind) impossible %s : %s\n"
+
+#: misc-utils/uuidd.c:313
+#, c-format
+msgid "Couldn't listen on unix socket %s: %s\n"
+msgstr "Impossible de lire le slot unix (socket) %s : %s\n"
+
+#: misc-utils/uuidd.c:351
+#, c-format
+msgid "Error reading from client, len = %d\n"
+msgstr "Erreur lecture du client, longueur=%d\n"
+
+#: misc-utils/uuidd.c:359
+#, c-format
+msgid "operation %d, incoming num = %d\n"
+msgstr "opération %d, num. entrant = %d\n"
+
+#: misc-utils/uuidd.c:378
+#, c-format
+msgid "Generated time UUID: %s\n"
+msgstr "Heure UUID générée : %s\n"
+
+#: misc-utils/uuidd.c:388
+#, c-format
+msgid "Generated random UUID: %s\n"
+msgstr "Nbr aléatoire UUID généré : %s\n"
+
+#: misc-utils/uuidd.c:397
+#, c-format
+msgid "Generated time UUID %s and %d following\n"
+msgstr "Heure UUID générée %s et %d suiv.\n"
+
+#: misc-utils/uuidd.c:415
+#, c-format
+msgid "Generated %d UUID's:\n"
+msgstr "%d UUIDs générés :\n"
+
+#: misc-utils/uuidd.c:427
+#, c-format
+msgid "Invalid operation %d\n"
+msgstr "Opération non valide %d\n"
+
+#: misc-utils/uuidd.c:468 misc-utils/uuidd.c:489
+#, c-format
+msgid "Bad number: %s\n"
+msgstr "Nombre non valide : %s\n"
+
+#: misc-utils/uuidd.c:524 misc-utils/uuidd.c:551
+#, c-format
+msgid "Error calling uuidd daemon (%s): %s\n"
+msgstr "Erreur d'appel du démon UUIDd (%s) : %s\n"
+
+#: misc-utils/uuidd.c:534
+#, c-format
+msgid "%s and subsequent %d UUID's\n"
+msgstr "%s et %d suivants UUIDs\n"
+
+#: misc-utils/uuidd.c:536
+#, c-format
+msgid "List of UUID's:\n"
+msgstr "Liste des UUID : \n"
+
+#: misc-utils/uuidd.c:557
+#, c-format
+msgid "Unexpected reply length from server %d\n"
+msgstr "Longueur de réponse serveur inattendue %d\n"
+
+#: misc-utils/uuidd.c:574
+#, c-format
+msgid "Couldn't kill uuidd running at pid %d: %s\n"
+msgstr "Impossible de tuer l'UUIDd de pid %d : %s\n"
+
+#: misc-utils/uuidd.c:580
+#, c-format
+msgid "Killed uuidd running at pid %d\n"
+msgstr "UUIDd de pid %d tué\n"
+
+#: misc-utils/uuidgen.c:32
+#, c-format
+msgid "Usage: %s [-r] [-t]\n"
+msgstr "Utilisation : %s [-r] [-t]\n"
+
+#: misc-utils/whereis.c:159
+#, c-format
+msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
+msgstr "whereis [ -sbmu ] [ -SBM répertorie ... -f ] nom...\n"
+
+#: misc-utils/write.c:101
+#, c-format
+msgid "write: can't find your tty's name\n"
+msgstr "write: ne peut repérer le nom de votre tty\n"
+
+#: misc-utils/write.c:112
+#, c-format
+msgid "write: you have write permission turned off.\n"
+msgstr "write: vos permissions d'écriture sont désactivées.\n"
+
+#: misc-utils/write.c:133
+#, c-format
+msgid "write: %s is not logged in on %s.\n"
+msgstr "write: %s n'est pas loggé sur %s.\n"
+
+#: misc-utils/write.c:141
+#, c-format
+msgid "write: %s has messages disabled on %s\n"
+msgstr "write: %s a désactivé la réception de messages sur %s\n"
+
+#: misc-utils/write.c:148
+#, c-format
+msgid "usage: write user [tty]\n"
+msgstr "Utilisation : write usager [tty]\n"
+
+#: misc-utils/write.c:236
+#, c-format
+msgid "write: %s is not logged in\n"
+msgstr "write: %s n'est pas loggé\n"
+
+#: misc-utils/write.c:245
+#, c-format
+msgid "write: %s has messages disabled\n"
+msgstr "write: %s a desactivé la réception de messages\n"
+
+#: misc-utils/write.c:249
+#, c-format
+msgid "write: %s is logged in more than once; writing to %s\n"
+msgstr "write: %s est loggé à plus d'un endroit; on écrit à %s\n"
+
+#: misc-utils/write.c:317
+#, c-format
+msgid "Message from %s@%s (as %s) on %s at %s ..."
+msgstr "Message de %s@%s (comme %s) sur %s à %s ..."
+
+#: misc-utils/write.c:320
+#, c-format
+msgid "Message from %s@%s on %s at %s ..."
+msgstr "Message de %s@%s sur %s à %s ..."
+
+#: mount/fstab.c:143
+#, c-format
+msgid "warning: error reading %s: %s"
+msgstr "AVERTISSEMENT: erreur de lecture %s: %s"
+
+#: mount/fstab.c:171 mount/fstab.c:196
+#, c-format
+msgid "warning: can't open %s: %s"
+msgstr "AVERTISSEMENT: ne peut ouvrir %s: %s"
+
+#: mount/fstab.c:176
+#, c-format
+msgid "mount: could not open %s - using %s instead\n"
+msgstr "mount: ne peut ouvrir %s - on utilise %s à la place\n"
+
+#: mount/fstab.c:589
+#, c-format
+msgid "can't create lock file %s: %s (use -n flag to override)"
+msgstr ""
+"ne peut créer le fichier verrou %s: %s (utiliser l'option -n pour l'écraser)"
+
+#: mount/fstab.c:615
+#, c-format
+msgid "can't link lock file %s: %s (use -n flag to override)"
+msgstr ""
+"ne peut lier le fichier verrou %s: %s (utiliser l'option  -n pour l'écraser)"
+
+#: mount/fstab.c:631
+#, c-format
+msgid "can't open lock file %s: %s (use -n flag to override)"
+msgstr ""
+"ne peut ouvrir le fichier verrou %s: %s (utiliser l'option -n pour l'écraser)"
+
+#: mount/fstab.c:646
+#, c-format
+msgid "Can't lock lock file %s: %s\n"
+msgstr "Ne peut verrrouiller le fichier verrou %s: %s\n"
+
+#: mount/fstab.c:660
+#, c-format
+msgid "can't lock lock file %s: %s"
+msgstr "ne peut verrouiller le fichier verrou %s: %s"
+
+#: mount/fstab.c:662
+msgid "timed out"
+msgstr "expiration du délai"
+
+#: mount/fstab.c:669
+#, c-format
+msgid ""
+"Cannot create link %s\n"
+"Perhaps there is a stale lock file?\n"
+msgstr ""
+"Ne peut créer le lien %s\n"
+"Peut-être y-a-t-il un fichier verrouillé en panne?\n"
+
+#: mount/fstab.c:791 mount/fstab.c:846
+#, c-format
+msgid "cannot open %s (%s) - mtab not updated"
+msgstr "ne peut ouvrir %s (%s) - mtab n'est pas à jour"
+
+#: mount/fstab.c:855
+#, c-format
+msgid "error writing %s: %s"
+msgstr "erreur d'écriture %s: %s"
+
+#: mount/fstab.c:873
+#, c-format
+msgid "error changing mode of %s: %s\n"
+msgstr "erreur de changement de mode de %s: %s\n"
+
+#: mount/fstab.c:886
+#, c-format
+msgid "error changing owner of %s: %s\n"
+msgstr "erreur de changement de propriétaire de %s: %s\n"
+
+#: mount/fstab.c:897
+#, c-format
+msgid "can't rename %s to %s: %s\n"
+msgstr "ne peut renommer %s à %s: %s\n"
+
+#: mount/lomount.c:364
+#, c-format
+msgid "loop: can't set capacity on device %s: %s\n"
+msgstr "loop : impossible de fixer la capacité périphérique %s : %s\n"
+
+#: mount/lomount.c:388
+#, c-format
+msgid ", offset %<PRIu64>"
+msgstr ", décalage %<PRIu64>"
+
+#: mount/lomount.c:391
+#, c-format
+msgid ", sizelimit %<PRIu64>"
+msgstr ", taille limite %<PRIu64>"
+
+#: mount/lomount.c:399
+#, c-format
+msgid ", encryption %s (type %<PRIu32>)"
+msgstr ", cryptage %s (type %<PRIu32>)"
+
+#: mount/lomount.c:412
+#, c-format
+msgid ", offset %d"
+msgstr ", décalage %d"
+
+#: mount/lomount.c:415
+#, c-format
+msgid ", encryption type %d\n"
+msgstr ", encryptage type %d\n"
+
+#: mount/lomount.c:423
+#, c-format
+msgid "loop: can't get info on device %s: %s\n"
+msgstr "loop: ne peut obtenir les infos sur le périphérique %s: %s\n"
+
+#: mount/lomount.c:434
+#, c-format
+msgid "loop: can't open device %s: %s\n"
+msgstr "loop: ne peut ouvrir le périphérique %s: %s\n"
+
+#: mount/lomount.c:450 mount/lomount.c:482 mount/lomount.c:544
+#: mount/lomount.c:589
+#, c-format
+msgid "%s: /dev directory does not exist."
+msgstr "%s: le répertoire /dev n'existe pas."
+
+#: mount/lomount.c:461 mount/lomount.c:602
+#, c-format
+msgid "%s: no permission to look at /dev/loop%s<N>"
+msgstr "%s : pas de permission pour observer /dev/loop%s<N>"
+
+#: mount/lomount.c:605
+#, c-format
+msgid "%s: could not find any free loop device"
+msgstr "%s: ne peut trouver un périphérique de type loop libre"
+
+#: mount/lomount.c:608
+#, c-format
+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: ne peut trouver un périphérique de type loop. Peut-être que ce kernel\n"
+"       ne supporte pas le type loop de périphérique? (si oui, recompiler ou "
+"utiliser `modprobe loop')."
+
+#: mount/lomount.c:638
+msgid "Out of memory while reading passphrase"
+msgstr "Mémoire épuisée lors de la lecture de la phrase secrète"
+
+#: mount/lomount.c:681
+#, c-format
+msgid "warning: %s is already associated with %s\n"
+msgstr "attention : %s est déjà associé(e) avec %s\n"
+
+#: mount/lomount.c:697
+#, c-format
+msgid "warning: %s: is write-protected, using read-only.\n"
+msgstr "attention: %s est protégé en écriture, monté en lecture seule.\n"
+
+#: mount/lomount.c:733
+#, c-format
+msgid "Couldn't lock into memory, exiting.\n"
+msgstr "Ne peut verrouiller en mémoire, fin d'exécution.\n"
+
+#: mount/lomount.c:760
+#, c-format
+msgid "ioctl LOOP_SET_FD failed: %s\n"
+msgstr "échec de ioctl LOOP_SET_FD : %s\n"
+
+#: mount/lomount.c:817
+#, c-format
+msgid "set_loop(%s,%s,%llu,%llu): success\n"
+msgstr "set_loop(%s,%s,%llu,%llu) : succès\n"
+
+#: mount/lomount.c:838
+#, c-format
+msgid "del_loop(%s): success\n"
+msgstr "del_loop(%s): succès\n"
+
+#: mount/lomount.c:842
+#, c-format
+msgid "loop: can't delete device %s: %s\n"
+msgstr "loop: ne peut détruire le périphérique %s: %s\n"
+
+#: mount/lomount.c:853
+#, c-format
+msgid "This mount was compiled without loop support. Please recompile.\n"
+msgstr ""
+"Cette version de mount a été compilée sans support de boucle. SVP "
+"recompiler.\n"
+
+#: mount/lomount.c:888
+#, c-format
+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"
+"Utilisation :\n"
+" %1$s périph_boucle                      donner des infos\n"
+" %1$s -a | --all                      lister les périph. utilisés\n"
+" %1$s -d | --detach <périph> [<périph.> ...] supprimer\n"
+" %1$s -f | --find                      trouver les périph. inutilisés\n"
+" %1$s -c | --set-capacity <périph>         redimensionner\n"
+" %1$s -j | --associated <fichier> [-o <num>]  lister ceux associés à "
+"<fichier>\n"
+" %1$s [ options ] {-f|--find|loopdev} <fichier>  configurer\n"
+
+#: mount/lomount.c:898
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -e | --encryption <type> enable data encryption with specified <name/num>\n"
+" -h | --help              this help\n"
+" -o | --offset <num>      start at offset <num> into file\n"
+"      --sizelimit <num>   loop limited to only <num> bytes of the file\n"
+" -p | --pass-fd <num>     read passphrase from file descriptor <num>\n"
+" -r | --read-only         setup read-only loop device\n"
+"      --show              print device name (with -f <file>)\n"
+" -v | --verbose           verbose mode\n"
+"\n"
+msgstr ""
+"\n"
+"Options:\n"
+" -e | --encryption <type> active le cryptage de données avec <nom/num> "
+"spécifié\n"
+" -h | --help                         affiche cette aide\n"
+" -o | --offset <num>         démarre à la position <num> dans le fichier\n"
+"      --sizelimit <num>         limite la boucle à seulement <num> octets du "
+"fichier\n"
+" -p | --pass-fd <num>       lit le mot de passe depuis le descripteur de "
+"fichier <num>\n"
+" -r | --read-only                 boucle en lecture seule sur le "
+"périphérique\n"
+"      --show                         affiche le nom du périphérique (avec -f "
+"<fichier>)\n"
+" -v | --verbose                   mode verbeux\n"
+"\n"
+
+#: mount/lomount.c:1036 mount/lomount.c:1076
+#, c-format
+msgid "Loop device is %s\n"
+msgstr "Périphérique boucle (loop) : %s\n"
+
+#: mount/lomount.c:1063
+#, c-format
+msgid "stolen loop=%s...trying again\n"
+msgstr "périph. boucle perdu (loop)=%s...nouvel essai\n"
+
+#: mount/lomount.c:1073
+#, c-format
+msgid "%s: %s: device is busy"
+msgstr "%s: %s: périphérique occupé"
+
+#: mount/lomount.c:1090
+#, c-format
+msgid "No loop support was available at compile time. Please recompile.\n"
+msgstr ""
+"Aucun support de boucle n'était disponible au moment de la compilation. SVP "
+"recompiler.\n"
+
+#: mount/mount.c:329
+#, c-format
+msgid "mount: improperly quoted option string '%s'"
+msgstr "mount : chaîne d'options non entourée de guillemets \"%s\""
+
+#: mount/mount.c:362
+#, c-format
+msgid "mount: translated %s '%s' to '%s'\n"
+msgstr "mount : transformation de %s \"%s\" en \"%s\"\n"
+
+#: mount/mount.c:526
+#, 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/mount.c:531
+#, c-format
+msgid "mount: according to mtab, %s is mounted on %s"
+msgstr "mount: selon mtab %s est monté sur %s"
+
+#: mount/mount.c:555
+#, c-format
+msgid "mount: can't open %s for writing: %s"
+msgstr "mount: ne peut ouvrir %s en écriture: %s"
+
+#: mount/mount.c:572 mount/mount.c:1190
+#, c-format
+msgid "mount: error writing %s: %s"
+msgstr "mount: erreur d'écriture %s: %s"
+
+#: mount/mount.c:580
+#, c-format
+msgid "mount: error changing mode of %s: %s"
+msgstr "mount: erreur lors du changement de mode de %s: %s"
+
+#: mount/mount.c:663
+#, c-format
+msgid "mount: cannot set group id: %s"
+msgstr "mount : impossible de fixer l'id de groupe : %s"
+
+#: mount/mount.c:666
+#, c-format
+msgid "mount: cannot set user id: %s"
+msgstr "mount : impossible de fixer l'id d'utilisateur : %s"
+
+#: mount/mount.c:705 mount/mount.c:1809
+#, c-format
+msgid "mount: cannot fork: %s"
+msgstr "mount: ne peut établir un relais fork(): %s"
+
+#: mount/mount.c:842
+#, c-format
+msgid "Trying %s\n"
+msgstr "On tente %s\n"
+
+#: mount/mount.c:870
+#, c-format
+msgid "mount: you didn't specify a filesystem type for %s\n"
+msgstr ""
+"mount: vous n'avez pas spécifier le type de système de fichiers pour %s\n"
+
+#: mount/mount.c:873
+#, 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/mount.c:876
+#, c-format
+msgid "       and it looks like this is swapspace\n"
+msgstr "       et il semble que c'est un espace de swap\n"
+
+#: mount/mount.c:878
+#, c-format
+msgid "       I will try type %s\n"
+msgstr "       Je vais essayer le type %s\n"
+
+#: mount/mount.c:902
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr "%s ressemble à un esapce de swap - n'a pas été monté"
+
+#: mount/mount.c:993
+msgid "mount failed"
+msgstr "échec de mount"
+
+#: mount/mount.c:995
+#, c-format
+msgid "mount: only root can mount %s on %s"
+msgstr "mount: seul l'usager ROOT peut monter %s sur %s"
+
+#: mount/mount.c:1065
+msgid "mount: loop device specified twice"
+msgstr "mount: périphérique de type loop spécifié deux fois"
+
+#: mount/mount.c:1070
+msgid "mount: type specified twice"
+msgstr "mount: type spécifié deux fois"
+
+#: mount/mount.c:1082
+#, c-format
+msgid "mount: skipping the setup of a loop device\n"
+msgstr "mount: escamotage du setup du périphérique de type loop\n"
+
+#: mount/mount.c:1094
+#, 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 tant que \"loop\""
+
+#: mount/mount.c:1104
+#, c-format
+msgid "mount: going to use the loop device %s\n"
+msgstr "mount: on se prépare à utiliser le périphérique de type loop %s\n"
+
+#: mount/mount.c:1113
+#, c-format
+msgid "mount: stolen loop=%s ...trying again\n"
+msgstr ""
+"mount : périph. récupéré par un autre processus=%s... nouvelle tentative\n"
+
+#: mount/mount.c:1118
+#, c-format
+msgid "mount: stolen loop=%s"
+msgstr "mount : périph. repris par un autre processus=%s"
+
+#: mount/mount.c:1123
+#, c-format
+msgid "mount: failed setting up loop device\n"
+msgstr "mount: échec d'initialisation du périphérique de type loop\n"
+
+#: mount/mount.c:1134
+#, c-format
+msgid "mount: setup loop device successfully\n"
+msgstr "mount: réussite d'initialisation du périphérique de type loop\n"
+
+#: mount/mount.c:1168
+#, c-format
+msgid "mount: no %s found - creating it..\n"
+msgstr "mount: %s n'a pas été repéré - on le crée..\n"
+
+#: mount/mount.c:1185
+#, c-format
+msgid "mount: can't open %s: %s"
+msgstr "mount: ne peut ouvrir %s: %s"
+
+#: mount/mount.c:1206
+msgid "mount: argument to -p or --pass-fd must be a number"
+msgstr "mount: argument à -p ou --pass-fd doit être un nombre"
+
+#: mount/mount.c:1219
+#, c-format
+msgid "mount: cannot open %s for setting speed"
+msgstr "mount: ne peut ouvrir %s pour ajuster la vitesse"
+
+#: mount/mount.c:1222
+#, c-format
+msgid "mount: cannot set speed: %s"
+msgstr "mount: ne peut initialiser la vitesse: %s"
+
+#: mount/mount.c:1279
+#, 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/mount.c:1358
+msgid ""
+"mount: I could not determine the filesystem type, and none was specified"
+msgstr ""
+"mount: je ne peux déterminer le type de système de fichiers et aucun n'a été "
+"spécifié"
+
+#: mount/mount.c:1361
+msgid "mount: you must specify the filesystem type"
+msgstr "mount: vous devez spécifier le type de système de fichiers"
+
+#: mount/mount.c:1364
+msgid "mount: mount failed"
+msgstr "mount: échec de mount"
+
+#: mount/mount.c:1370 mount/mount.c:1407
+#, 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/mount.c:1372
+msgid "mount: permission denied"
+msgstr "mount: permission refusée"
+
+#: mount/mount.c:1374
+msgid "mount: must be superuser to use mount"
+msgstr "mount: doit être le super usager pour utiliser mount"
+
+#: mount/mount.c:1378 mount/mount.c:1382
+#, c-format
+msgid "mount: %s is busy"
+msgstr "mount: %s est occupé"
+
+#: mount/mount.c:1384
+msgid "mount: proc already mounted"
+msgstr "mount: proc déjà monté"
+
+#: mount/mount.c:1386
+#, c-format
+msgid "mount: %s already mounted or %s busy"
+msgstr "mount: %s est déjà monté ou %s est occupé"
+
+#: mount/mount.c:1392
+#, c-format
+msgid "mount: mount point %s does not exist"
+msgstr "mount: le point de montage %s n'existe pas"
+
+#: mount/mount.c:1394
+#, 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 pointe vers nulle "
+"part"
+
+#: mount/mount.c:1399
+#, c-format
+msgid "mount: special device %s does not exist"
+msgstr "mount: périphérique spécial %s n'existe pas"
+
+#: mount/mount.c:1411
+#, 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/mount.c:1423
+#, c-format
+msgid "mount: %s not mounted already, or bad option"
+msgstr "mount: %s n'est pas déjà monté ou option erronée"
+
+#: mount/mount.c:1425
+#, c-format
+msgid ""
+"mount: wrong fs type, bad option, bad superblock on %s,\n"
+"       missing codepage or helper program, or other error"
+msgstr ""
+"mount : type erroné de syst .de fichiers, option erronée, super bloc\n"
+"        erroné sur %s, codepage ou aide manquante ou autre erreur"
+
+#: mount/mount.c:1432
+msgid ""
+"       (for several filesystems (e.g. nfs, cifs) you might\n"
+"       need a /sbin/mount.<type> helper program)"
+msgstr ""
+"       (pour plusieurs syst. de fichiers (nfs, cifs) vous aurez\n"
+"       besoin d'un programme /sbin/mount.<type> intermédiaire)"
+
+#: mount/mount.c:1441
+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 être le périphérique IDE où vous utilisez\n"
+"       ide-scsi alors que sr0 ou sda ou autre serait requis?)"
+
+#: mount/mount.c:1446
+msgid ""
+"       (aren't you trying to mount an extended partition,\n"
+"       instead of some logical partition inside?)"
+msgstr ""
+"       (tentez-vous de monter une partition étendue,\n"
+"       au lieu d'une partition logique à l'intérieur?)"
+
+#: mount/mount.c:1453
+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 syslog - "
+"essayez\n"
+"       dmesg | tail  ou quelque chose du genre\n"
+
+#: mount/mount.c:1459
+msgid "mount table full"
+msgstr "table de périphériques montés est pleine"
+
+#: mount/mount.c:1461
+#, c-format
+msgid "mount: %s: can't read superblock"
+msgstr "mount: %s: ne peut lire le super bloc"
+
+#: mount/mount.c:1467
+#, c-format
+msgid "mount: %s: unknown device"
+msgstr "mount: %s: périphérique inconnnu"
+
+#: mount/mount.c:1472
+#, c-format
+msgid "mount: unknown filesystem type '%s'"
+msgstr "mount: type inconnu de système de fichiers '%s'"
+
+#: mount/mount.c:1484
+#, c-format
+msgid "mount: probably you meant %s"
+msgstr "mount: probablement vous voulez dire %s"
+
+#: mount/mount.c:1487
+msgid "mount: maybe you meant 'iso9660'?"
+msgstr "mount: peut-être voulez-vous dire 'iso9660'?"
+
+#: mount/mount.c:1490
+msgid "mount: maybe you meant 'vfat'?"
+msgstr "mount: peut-être voulez-vous dire 'vfat'?"
+
+#: mount/mount.c:1493
+#, c-format
+msgid "mount: %s has wrong device number or fs type %s not supported"
+msgstr ""
+"mount: %s a un nombre de périphérique erroné ou le type du syst. de fichiers "
+"%s n'est pas supporté"
+
+#: mount/mount.c:1501
+#, c-format
+msgid "mount: %s is not a block device, and stat fails?"
+msgstr "mount: %s n'est pas un périphérique de type bloc et stat() a échoué?"
+
+#: mount/mount.c:1503
+#, c-format
+msgid ""
+"mount: the kernel does not recognize %s as a block device\n"
+"       (maybe `insmod driver'?)"
+msgstr ""
+"mount: le kernel ne reconnaît pas %s comme un périphérique de type bloc\n"
+"       (peut-être un pilote « insmod »?)"
+
+#: mount/mount.c:1506
+#, c-format
+msgid "mount: %s is not a block device (maybe try `-o loop'?)"
+msgstr ""
+"mount: %s n'est pas un périphérique de type bloc (essayer « -o loop » ?)"
+
+#: mount/mount.c:1509
+#, c-format
+msgid "mount: %s is not a block device"
+msgstr "mount: %s n'est pas un périphérique de type bloc"
+
+#: mount/mount.c:1514
+#, c-format
+msgid "mount: %s is not a valid block device"
+msgstr "mount: %s n'est pas un périphérique valide de type bloc"
+
+#: mount/mount.c:1517
+msgid "block device "
+msgstr "périphérique de type bloc"
+
+#: mount/mount.c:1519
+#, c-format
+msgid "mount: cannot mount %s%s read-only"
+msgstr "mount: ne peut monter %s%s en lecture seulement"
+
+#: mount/mount.c:1523
+#, 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/mount.c:1527
+#, fuzzy, c-format
+msgid "mount: cannot remount %s%s read-write, is write-protected"
+msgstr "mount: ne peut monter %s%s en lecture seulement"
+
+#: mount/mount.c:1542
+#, c-format
+msgid "mount: %s%s is write-protected, mounting read-only"
+msgstr "mount: %s%s est protégé en écriture, on le monte en lecture seulement"
+
+#: mount/mount.c:1552
+#, c-format
+msgid "mount: no medium found on %s ...trying again\n"
+msgstr "mount : media non présent dans %s ...nouvel essai\n"
+
+#: mount/mount.c:1558
+#, c-format
+msgid "mount: no medium found on %s"
+msgstr "mount: aucun media trouvé dans %s"
+
+#: mount/mount.c:1576
+#, 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'étiquette 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/mount.c:1655
+#, 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é - ja vais assumer nfs en raison du « : »\n"
+
+#: mount/mount.c:1661
+#, 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 - je vais assumer cifs en raison du "
+"préfixe //\n"
+
+#: mount/mount.c:1756
+#, 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/mount.c:1890
+#, 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                    : lister les 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 listé 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 que celle-ci ne monte pas réellement un périphérique, elle monte\n"
+"un système de fichiers (de type donné) trouvé sur le périphérique.\n"
+"Elle 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"
+"Elle 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"
+"Elle peut changer le type de tous les points de montage d'une\n"
+"sous-arborecence 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. 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 détails, tapez \"man 8 mount\".\n"
+
+#: mount/mount.c:2213
+msgid "mount: only root can do that"
+msgstr "mount: seul l'usager ROOT peut faire cela"
+
+#: mount/mount.c:2223
+msgid "nothing was mounted"
+msgstr "rien n'a été monté"
+
+#: mount/mount.c:2241 mount/mount.c:2267
+msgid "mount: no such partition found"
+msgstr "mount: pas de telle partition repérée"
+
+#: mount/mount.c:2244
+#, c-format
+msgid "mount: can't find %s in %s or %s"
+msgstr "mount: ne peut repérer %s dans %s ou %s"
+
+#: mount/mount_mntent.c:165
+#, c-format
+msgid "[mntent]: warning: no final newline at the end of %s\n"
+msgstr "[mntent]: AVERTISSEMENT: aucun nouvelle ligne finale à la fin de %s\n"
+
+#: mount/mount_mntent.c:216
+#, c-format
+msgid "[mntent]: line %d in %s is bad%s\n"
+msgstr "[mntent]: ligne %d dans %s est erroné%s\n"
+
+#: mount/mount_mntent.c:219
+msgid "; rest of file ignored"
+msgstr "; reste du fichier est ignoré"
+
+#: mount/sundries.c:31
+msgid "bug in xstrndup call"
+msgstr "problème dans l'appel de xstrndup"
+
+#: mount/sundries.c:224 mount/sundries.c:280 mount/sundries.c:289
+#: mount/xmalloc.c:11
+msgid "not enough memory"
+msgstr "pas assez de mémoire"
+
+#: mount/swapon.c:84
+#, c-format
+msgid ""
+"The <special> parameter:\n"
+" {-L label | LABEL=label}             LABEL of device to be used\n"
+" {-U uuid  | 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"
+"\n"
+msgstr ""
+"Le paramètre <special>:\n"
+" {-L étiqu. | LABEL=étiqu.}             étiquette du périph. à utiliser\n"
+" {-U uuid  | UUID=uuid}               UUID  du périph. à utiliser\n"
+" <periph.>                             nom du du périph. à utiliser\n"
+" <fichier>                               nom du fichier à utiliser\n"
+"\n"
+
+#: mount/swapon.c:92
+#, c-format
+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"
+"Utilisation : (swap=espace d'échange)\n"
+" %1$s -a [-e] [-v] [-f]             active tous les swaps de /etc/fstab\n"
+" %1$s [-p priorité] [-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 le n° de version\n"
+"\n"
+
+#: mount/swapon.c:106
+#, c-format
+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 le n° de version\n"
+"\n"
+
+#: mount/swapon.c:140
+#, c-format
+msgid "%s: unexpected file format"
+msgstr "%s : format de fichier inattendu"
+
+#: mount/swapon.c:184 mount/swapon.c:252 mount/swapon.c:397 mount/swapon.c:556
+#: mount/swapon.c:758
+#, c-format
+msgid "%s: open failed"
+msgstr "%s : échec d'ouverture"
+
+#: mount/swapon.c:205
+#, c-format
+msgid "%s: reinitializing the swap."
+msgstr "%s : réinitialisation de l'espace d'échange."
+
+#: mount/swapon.c:209
+msgid "fork failed"
+msgstr "échec de la fonction \"fork\""
+
+#: mount/swapon.c:225
+msgid "execv failed"
+msgstr "échec de la fonction \"execv\""
+
+#: mount/swapon.c:233
+msgid "waitpid failed"
+msgstr "échec de la fonction \"waitpid\""
+
+#: mount/swapon.c:257
+#, c-format
+msgid "%s: lseek failed"
+msgstr "%s : échec de \"lseek\""
+
+#: mount/swapon.c:263
+#, c-format
+msgid "%s: write signature failed"
+msgstr "%s : échec d'écriture de signature"
+
+#: mount/swapon.c:350
+#, c-format
+msgid "%s: found %sswap v%d signature string for %d KiB PAGE_SIZE\n"
+msgstr "%s : chaîne de signature trouvée %sswap v%d pour PAGE_SIZE de %d Ko\n"
+
+#: mount/swapon.c:370
+#, c-format
+msgid "%s: stat failed"
+msgstr "%s : échec de fonction \"stat\""
+
+#: mount/swapon.c:380
+#, c-format
+msgid "%s: insecure permissions %04o, %04o suggested."
+msgstr "%s : permissions non sûres %04o, %04o suggérées."
+
+#: mount/swapon.c:388
+#, c-format
+msgid "%s: skipping - it appears to have holes."
+msgstr "%s : ignoré - semble avoir des trous."
+
+#: mount/swapon.c:402
+#, c-format
+msgid "%s: get size failed"
+msgstr "%s : impossible d'obtenir la taille"
+
+#: mount/swapon.c:408
+#, c-format
+msgid "%s: read swap header failed"
+msgstr "%s : erreur de lecture de l'entête de zone d'échange (swap)"
+
+#: mount/swapon.c:421
+#, 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 d'espace "
+"d'échange"
+
+#: mount/swapon.c:426
+#, c-format
+msgid "%s: swap format pagesize does not match."
+msgstr "%s: swap format pagesize does not match."
+
+#: mount/swapon.c:431
+#, c-format
+msgid ""
+"%s: swap format pagesize does not match. (Use --fixpgsz to reinitialize it.)"
+msgstr ""
+"%s : taille de page ne correspondant pas avec le format d'espace d'échange "
+"(utiliser --fixpgsz pour réinitialiser)"
+
+#: mount/swapon.c:440
+#, 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 d'espace d'échange (swap)."
+
+#: mount/swapon.c:464 mount/swapon.c:514
+#, c-format
+msgid "%s on %s\n"
+msgstr "%s sur %s\n"
+
+#: mount/swapon.c:486
+#, c-format
+msgid "%s: swapon failed"
+msgstr "%s : échec de la fonction \"swapon\""
+
+#: mount/swapon.c:493
+#, c-format
+msgid "cannot find the device for %s"
+msgstr "impossible de trouver le périphérique %s"
+
+#: mount/swapon.c:526
+msgid "Not superuser."
+msgstr "Vous n'êtes pas le super-utilisateur (root)."
+
+#: mount/swapon.c:529
+#, c-format
+msgid "%s: swapoff failed"
+msgstr "%s : échec de la fonction \"swapoff\""
+
+#: mount/umount.c:41
+#, c-format
+msgid "umount: compiled without support for -f\n"
+msgstr "umount: compilé sans support pour -f\n"
+
+#: mount/umount.c:111
+#, c-format
+msgid "umount: cannot set group id: %s"
+msgstr "umount : impossible de fixer l'id de groupe : %s"
+
+#: mount/umount.c:114
+#, c-format
+msgid "umount: cannot set user id: %s"
+msgstr "umount : impossible de fixer l'id d'utilisateur : %s"
+
+#: mount/umount.c:139
+#, c-format
+msgid "umount: cannot fork: %s"
+msgstr "mount: ne peut faire un fork(): %s"
+
+#: mount/umount.c:160
+#, c-format
+msgid "umount: %s: invalid block device"
+msgstr "umount: %s: périphérique de type bloc invalide"
+
+#: mount/umount.c:162
+#, c-format
+msgid "umount: %s: not mounted"
+msgstr "umount: %s: n'est pas monté"
+
+#: mount/umount.c:164
+#, c-format
+msgid "umount: %s: can't write superblock"
+msgstr "umount: %s: ne peut écrire sur le super bloc"
+
+#: mount/umount.c:168
+#, 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/umount.c:173
+#, c-format
+msgid "umount: %s: not found"
+msgstr "umount: %s: n'a pas été trouvé"
+
+#: mount/umount.c:175
+#, c-format
+msgid "umount: %s: must be superuser to umount"
+msgstr "umount: %s: doit être le super usager pour utiliser umount"
+
+#: mount/umount.c:177
+#, c-format
+msgid "umount: %s: block devices not permitted on fs"
+msgstr ""
+"umount: %s: périphérique de type bloc non autorisé sur le système de fichiers"
+
+#: mount/umount.c:179
+#, c-format
+msgid "umount: %s: %s"
+msgstr "umount: %s: %s"
+
+#: mount/umount.c:235
+#, c-format
+msgid "no umount2, trying umount...\n"
+msgstr "pas de umount2, tentative avec umount...\n"
+
+#: mount/umount.c:252
+#, c-format
+msgid "umount: %s busy - remounted read-only\n"
+msgstr "umount: %s est occupé - remonté en lecture seulement\n"
+
+#: mount/umount.c:263
+#, c-format
+msgid "umount: could not remount %s read-only\n"
+msgstr "umount: ne peut remonter %s en lecture seulement\n"
+
+#: mount/umount.c:272
+#, c-format
+msgid "%s umounted\n"
+msgstr "%s démonté\n"
+
+#: mount/umount.c:367
+msgid "umount: cannot find list of filesystems to unmount"
+msgstr "umount: ne peut repérer la liste des systèmes de fichiers à démonter"
+
+#: mount/umount.c:397
+#, 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 | noeud...\n"
+
+#: mount/umount.c:466
+#, c-format
+msgid "device %s is associated with %s\n"
+msgstr "périphérique %s déjà associé avec %s\n"
+
+#: mount/umount.c:472
+#, c-format
+msgid "device %s is not associated with %s\n"
+msgstr "périphérique %s non associé avec %s\n"
+
+#: mount/umount.c:485
+msgid "Cannot umount \"\"\n"
+msgstr "Ne peut démonter \"\"\n"
+
+#: mount/umount.c:491
+#, c-format
+msgid "Trying to umount %s\n"
+msgstr "Tentative pour démonter %s\n"
+
+#: mount/umount.c:504
+msgid "umount: confused when analyzing mtab"
+msgstr "umount : problème à l'analyse de mtab"
+
+#: mount/umount.c:509
+#, c-format
+msgid "umount: cannot umount %s -- %s is mounted over it on the same point."
+msgstr "umount : impossible de démonter %s -- %s est monté au même endroit."
+
+#: mount/umount.c:516
+#, c-format
+msgid "Could not find %s in mtab\n"
+msgstr "Ne peut repérer %s dans mtab\n"
+
+#: mount/umount.c:523
+#, c-format
+msgid "umount: %s is not mounted (according to mtab)"
+msgstr "umount: %s n'est pas monté (selon mtab)"
+
+#: mount/umount.c:547
+#, c-format
+msgid "umount: it seems %s is mounted multiple times"
+msgstr "umount: il semble que %s ait été monté plusieurs fois"
+
+#: mount/umount.c:561
+#, 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 l'usager ROOT)"
+
+#: mount/umount.c:567
+#, c-format
+msgid "umount: %s mount disagrees with the fstab"
+msgstr "umount: %s mount est en désaccord avec fstab"
+
+#: mount/umount.c:608
+#, c-format
+msgid "umount: only %s can unmount %s from %s"
+msgstr "umount: seul %s peut démonter %s de %s"
+
+#: mount/umount.c:695
+msgid "umount: only root can do that"
+msgstr "umount: seul l'usager ROOT peut exécuter la commande"
+
+#: schedutils/chrt.c:56
+#, 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"
+"\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 - manipule les attributs temps-réel d'un processus.\n"
+"\n"
+"Fixer la stratégie :\n"
+"  chrt [options] <stratégie> <priorité> {<pid> | <commande> [<arg> ...]}\n"
+"\n"
+"Obtenir la stratégie :\n"
+"  chrt [options] {<pid> | <commande> [<arg> ...]}\n"
+"\n"
+"\n"
+"Stratégies de planification d'exécution :\n"
+"  -b | --batch         fixe la stratégie à SCHED_BATCH\n"
+"  -f | --fifo          fixe la stratégie à SCHED_FIFO\n"
+"  -i | --idle          fixe la stratégie à SCHED_IDLE\n"
+"  -o | --other         fixe la stratégie à SCHED_OTHER\n"
+"  -r | --rr            fixe la stratégie à SCHED_RR (par défaut)\n"
+"\n"
+"Options :\n"
+"  -h | --help          affiche cette aide\n"
+"  -p | --pid           agit sur le pid donné\n"
+"  -m | --max           affiche les priorités min/max valables\n"
+"  -v | --verbose       affiche les informations d'état\n"
+"  -V | --version       affiche les informations de version\n"
+"\n"
+
+#: schedutils/chrt.c:88
+#, c-format
+msgid "failed to get pid %d's policy"
+msgstr "impossible d'obtenir la stratégie d'exécution du pid %d"
+
+#: schedutils/chrt.c:90
+#, c-format
+msgid "pid %d's %s scheduling policy: "
+msgstr "stratégie de planification d'exécution pour pid %d %s :"
+
+#: schedutils/chrt.c:112
+#, c-format
+msgid "unknown\n"
+msgstr "inconnu\n"
+
+#: schedutils/chrt.c:116
+#, c-format
+msgid "failed to get pid %d's attributes"
+msgstr "impossible d'obtenir les attributs pour le pid %d"
+
+#: schedutils/chrt.c:118
+#, c-format
+msgid "pid %d's %s scheduling priority: %d\n"
+msgstr "priorité de planification d'exécution pour le pid %d %s : %d\n"
+
+#: schedutils/chrt.c:147
+#, 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:150
+#, c-format
+msgid "SCHED_%s not supported?\n"
+msgstr "SCHED_%s non supporté(e) ?\n"
+
+#: schedutils/chrt.c:206
+msgid "failed to parse pid"
+msgstr "analyse impossible pour ce pid"
+
+#: schedutils/chrt.c:228
+msgid "current"
+msgstr "actuel"
+
+#: schedutils/chrt.c:236
+msgid "failed to parse priority"
+msgstr "impossible d'analyser la priorité"
+
+#: schedutils/chrt.c:242
+#, c-format
+msgid "failed to set pid %d's policy"
+msgstr "impossible de fixer la stratégie d'exécution du pid %d"
+
+#: schedutils/chrt.c:251
+#, c-format
+msgid "failed to execute %s"
+msgstr "impossible d'exécuter %s"
+
+#: schedutils/ionice.c:57
+msgid "ioprio_get failed"
+msgstr "échec de la fonction \"ioprio_get\""
+
+#: schedutils/ionice.c:75
+msgid "ioprio_set failed"
+msgstr "échec de la fonction \"ioprio_set\""
+
+#: schedutils/ionice.c:81
+#, c-format
+msgid ""
+"\n"
+"ionice - sets or gets process io scheduling class and priority.\n"
+"\n"
+"Usage:\n"
+"  ionice [ options ] -p <pid> [<pid> ...]\n"
+"  ionoce [ 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 - fixe ou obtient la priorité et la classe de planification "
+"d'exécution.\n"
+"\n"
+"Usage :\n"
+"  ionice [ options ] -p <pid> [<pid> ...]\n"
+"  ionoce [ options ] <commande> [<arg> ...]\n"
+"\n"
+"Options :\n"
+"  -n <classe>      classe (0-7, plus petit=priorité plus grande)\n"
+"  -c <classe>      classe d'exécution\n"
+"                      0: aucune, 1: temps réel, 2: meilleur effort, 3: "
+"veille\n"
+"  -t                  ignore les échecs\n"
+"  -h                  cette aide\n"
+"\n"
+
+#: schedutils/ionice.c:110 schedutils/ionice.c:112
+#, c-format
+msgid "cannot parse number '%s'"
+msgstr "impossible d'analyser le nombre '%s'"
+
+#: schedutils/ionice.c:151
+msgid "ignoring given class data for none class"
+msgstr "classe ignorée pour la priorité \"aucune\""
+
+#: schedutils/ionice.c:159
+msgid "ignoring given class data for idle class"
+msgstr "classe de veille spécifiée ignorée"
+
+#: schedutils/ionice.c:163
+#, c-format
+msgid "bad prio class %d"
+msgstr "mauvaise classe de priorité %d"
+
+#: schedutils/ionice.c:187
+msgid "execvp failed"
+msgstr "échec de \"execvp\""
+
+#: sys-utils/ctrlaltdel.c:27
+#, c-format
+msgid "You must be root to set the Ctrl-Alt-Del behaviour.\n"
+msgstr ""
+"Vous devez être l'usager ROOT pour activer le comportement de CTRL-Alt-Del.\n"
+
+#: sys-utils/ctrlaltdel.c:42
+#, c-format
+msgid "Usage: ctrlaltdel hard|soft\n"
+msgstr "Utilisation : ctrlaltdel hard|soft\n"
+
+#: sys-utils/cytune.c:114
+#, 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\n"
+msgstr ""
+"Fichier %s, pour la valeur de seuil %lu, nombre maxumum de caractères dans "
+"le fifo était de %d,\n"
+"et le taux de transfert maximum en caractères/secondes était de %f\n"
+
+#: sys-utils/cytune.c:125
+#, c-format
+msgid ""
+"File %s, For threshold value %lu and timrout value %lu, Maximum characters "
+"in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f\n"
+msgstr ""
+"Fichier %s, pour la valeur de seuil %lu et le délai de grâce était %lu, "
+"nombre maxumum de caractères dans le fifo était de %d,\n"
+"et le taux de transfert maximum en caractères/secondes était de %f\n"
+
+#: sys-utils/cytune.c:189
+#, c-format
+msgid "Invalid interval value: %s\n"
+msgstr "Valeur interne invalide: %s\n"
+
+#: sys-utils/cytune.c:197
+#, c-format
+msgid "Invalid set value: %s\n"
+msgstr "Valeur d'initialisation invalide: %s\n"
+
+#: sys-utils/cytune.c:205
+#, c-format
+msgid "Invalid default value: %s\n"
+msgstr "Valeur par défaut invalide: %s\n"
+
+#: sys-utils/cytune.c:213
+#, c-format
+msgid "Invalid set time value: %s\n"
+msgstr "Valeur de temps invalide: %s\n"
+
+#: sys-utils/cytune.c:221
+#, c-format
+msgid "Invalid default time value: %s\n"
+msgstr "Valeur de temps par défaut invalide: %s\n"
+
+#: sys-utils/cytune.c:238
+#, c-format
+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"
+
+#: sys-utils/cytune.c:250 sys-utils/cytune.c:269 sys-utils/cytune.c:289
+#: sys-utils/cytune.c:339
+#, c-format
+msgid "Can't open %s: %s\n"
+msgstr "Ne peut ouvrir %s: %s\n"
+
+#: sys-utils/cytune.c:257
+#, c-format
+msgid "Can't set %s to threshold %d: %s\n"
+msgstr "Ne peut inialiser %s au seuil %d: %s\n"
+
+#: sys-utils/cytune.c:276
+#, c-format
+msgid "Can't set %s to time threshold %d: %s\n"
+msgstr "Ne peut initialiser %s au temps de seuil %d: %s\n"
+
+#: sys-utils/cytune.c:294 sys-utils/cytune.c:351 sys-utils/cytune.c:382
+#, c-format
+msgid "Can't get threshold for %s: %s\n"
+msgstr "Ne peut obtenir la valeur de seuil pour %s: %s\n"
+
+#: sys-utils/cytune.c:300 sys-utils/cytune.c:357 sys-utils/cytune.c:388
+#, c-format
+msgid "Can't get timeout for %s: %s\n"
+msgstr "Ne peut obtenir la valeur du délai de grâce pour %s: %s\n"
+
+#: sys-utils/cytune.c:306
+#, c-format
+msgid "%s: %ld current threshold and %ld current timeout\n"
+msgstr "%s: %ld seuil courant et %ld délais de grâce courant\n"
+
+#: sys-utils/cytune.c:309
+#, c-format
+msgid "%s: %ld default threshold and %ld default timeout\n"
+msgstr "%s: %ld seuil par défaut et %ld délai de grâce par défaut\n"
+
+#: sys-utils/cytune.c:327
+msgid "Can't set signal handler"
+msgstr "Ne peut initialiser le traitement de signaux"
+
+#: sys-utils/cytune.c:331 sys-utils/cytune.c:366
+msgid "gettimeofday failed"
+msgstr "échec de gettimeofday()"
+
+#: sys-utils/cytune.c:344 sys-utils/cytune.c:376
+#, c-format
+msgid "Can't issue CYGETMON on %s: %s\n"
+msgstr "Ne peut émettre CYGETMON sur %s: %s\n"
+
+#: sys-utils/cytune.c:418
+#, 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 carc; fifo: %lu seuil, %lu délai, %lu max, %lu actuel.\n"
+
+#: sys-utils/cytune.c:424
+#, c-format
+msgid "   %f int/sec; %f rec, %f send (char/sec)\n"
+msgstr "   %f int/sec; %f reçu, %f trans (car/sec)\n"
+
+#: sys-utils/cytune.c:429
+#, c-format
+msgid ""
+"%s: %lu ints, %lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+"%s: %lu ints, %lu carac; fifo: %lu thresh, %lu tmout, %lu max, %lu actuel.\n"
+
+#: sys-utils/cytune.c:435
+#, c-format
+msgid "   %f int/sec; %f rec (char/sec)\n"
+msgstr "   %f int/sec; %f rec (caractères/sec)\n"
+
+#: sys-utils/dmesg.c:45
+#, fuzzy, c-format
+msgid "Usage: %s [-c] [-n level] [-r] [-s bufsize]\n"
+msgstr "Utilisation : %s [-c] [-n niveau] [-s taille-de-tampon]\n"
+
+#: sys-utils/flock.c:65
+#, c-format
+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 ""
+"Usage : %1$s [-sxun][-w #] fd#\n"
+"       %1$s [-sxon][-w #] fichier [-c] commande...\n"
+"       %1$s [-sxon][-w #] répertoire [-c] commande...\n"
+"  -s  --shared     obtient un verrou partagé\n"
+"  -x  --exclusive  obtient un verrou exclusif\n"
+"  -u  --unlock     supprime un verrou\n"
+"  -n  --nonblock   échouer au lieu de bloquer\n"
+"  -w  --timeout    attendre un temps max. donné\n"
+"  -o  --close      fermer le fichier avant d'exécuter la commande\n"
+"  -c  --command    exécuter une seule commande via le shell\n"
+"  -h  --help       affiche ce texte\n"
+"  -V  --version    affiche la version\n"
+
+#: sys-utils/flock.c:192
+#, c-format
+msgid "%s: %s requires exactly one command argument\n"
+msgstr "%s : %s requiert exactement un argument\n"
+
+#: sys-utils/flock.c:219
+#, c-format
+msgid "%s: cannot open lock file %s: %s\n"
+msgstr "%s : impossible d'ouvrir le fichier verrouillé %s : %s\n"
+
+#: sys-utils/flock.c:231
+#, c-format
+msgid "%s: bad number: %s\n"
+msgstr "%s : nombre non valide : %s\n"
+
+#: sys-utils/flock.c:238
+#, c-format
+msgid "%s: requires file descriptor, file or directory\n"
+msgstr ""
+"%s : requiert un descripteur de fichier, un fichier ou  un répertoire\n"
+
+#: sys-utils/flock.c:294
+#, c-format
+msgid "%s: fork failed: %s\n"
+msgstr "%s : échec de \"fork\" : %s\n"
+
+#: sys-utils/ipcmk.c:84
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [options]\n"
+"\n"
+msgstr ""
+"\n"
+"Usage : %s [options]\n"
+"\n"
+
+#: sys-utils/ipcmk.c:86
+#, c-format
+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ée un segment de mémoire partagée de taille <taille>\n"
+"  -S <nsems>    crée un tableau de <nsems> sémaphores\n"
+"  -Q            crée une file de messages\n"
+"  -p <mode>     permission de ressource (defaut : 0644)\n"
+
+#: sys-utils/ipcmk.c:90
+#, c-format
+msgid ""
+"\n"
+"For more information see ipcmk(1).\n"
+"\n"
+msgstr ""
+"\n"
+"Pour plus d'informations voir ipcmk(1).\n"
+"\n"
+
+#: sys-utils/ipcmk.c:142
+msgid "create share memory failed"
+msgstr "échec de création de mémoire partagée"
+
+#: sys-utils/ipcmk.c:144
+#, c-format
+msgid "Shared memory id: %d\n"
+msgstr "id de mémoire partagée : %d\n"
+
+#: sys-utils/ipcmk.c:150
+msgid "create message queue failed"
+msgstr "échec de création de queue de messages"
+
+#: sys-utils/ipcmk.c:152
+#, c-format
+msgid "Message queue id: %d\n"
+msgstr "id de queue de message : %d\n"
+
+#: sys-utils/ipcmk.c:158
+msgid "create semaphore failed"
+msgstr "échec de création du sémaphore"
+
+#: sys-utils/ipcmk.c:160
+#, c-format
+msgid "Semaphore id: %d\n"
+msgstr "id de sémaphore : %d\n"
+
+#: sys-utils/ipcrm.c:66
+#, c-format
+msgid "invalid id: %s\n"
+msgstr "id invalide: %s\n"
+
+#: sys-utils/ipcrm.c:84
+#, c-format
+msgid "cannot remove id %s (%s)\n"
+msgstr "ne peut enlever id %s (%s)\n"
+
+#: sys-utils/ipcrm.c:99
+#, c-format
+msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
+msgstr "usage déprécié: %s {shm | msg | sem} id ...\n"
+
+#: sys-utils/ipcrm.c:126
+#, c-format
+msgid "unknown resource type: %s\n"
+msgstr "type de ressource inconnue: %s\n"
+
+#: sys-utils/ipcrm.c:130
+#, c-format
+msgid "resource(s) deleted\n"
+msgstr "ressource(s) détruites\n"
+
+#: sys-utils/ipcrm.c:140
+#, c-format
+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"
+
+#: sys-utils/ipcrm.c:181
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: option illégale -- %c\n"
+
+#: sys-utils/ipcrm.c:193
+#, c-format
+msgid "%s: illegal key (%s)\n"
+msgstr "%s: clé illégale (%s)\n"
+
+#: sys-utils/ipcrm.c:208 sys-utils/ipcrm.c:240
+msgid "permission denied for key"
+msgstr "permission refusée pour la clé"
+
+#: sys-utils/ipcrm.c:211 sys-utils/ipcrm.c:250
+msgid "already removed key"
+msgstr "clé déjà enlevée"
+
+#: sys-utils/ipcrm.c:214 sys-utils/ipcrm.c:245
+msgid "invalid key"
+msgstr "clé invalide"
+
+#: sys-utils/ipcrm.c:217 sys-utils/ipcrm.c:255
+msgid "unknown error in key"
+msgstr "erreur inconnue dans la clé"
+
+#: sys-utils/ipcrm.c:241
+msgid "permission denied for id"
+msgstr "permission refusée pour l'identificateur"
+
+#: sys-utils/ipcrm.c:246
+msgid "invalid id"
+msgstr "identificateur invalide"
+
+#: sys-utils/ipcrm.c:251
+msgid "already removed id"
+msgstr "identificateur déjà enlevé"
+
+#: sys-utils/ipcrm.c:256
+msgid "unknown error in id"
+msgstr "erreur inconnue dans l'identificateur"
+
+#: sys-utils/ipcrm.c:259
+#, c-format
+msgid "%s: %s (%s)\n"
+msgstr "%s: %s (%s)\n"
+
+#: sys-utils/ipcrm.c:267
+#, c-format
+msgid "%s: unknown argument: %s\n"
+msgstr "%s: argument inconnu: %s\n"
+
+#: sys-utils/ipcs.c:120
+#, c-format
+msgid "usage : %s -asmq -tclup \n"
+msgstr "usage : %s -asmq -tclup \n"
+
+#: sys-utils/ipcs.c:121
+#, c-format
+msgid "\t%s [-s -m -q] -i id\n"
+msgstr "\t%s [-s -m -q] -i id\n"
+
+#: sys-utils/ipcs.c:122
+#, c-format
+msgid "\t%s -h for help.\n"
+msgstr "\t%s -h pour l'aide.\n"
+
+#: sys-utils/ipcs.c:128
+#, c-format
+msgid ""
+"%s provides information on ipc facilities for which you have read access.\n"
+msgstr ""
+"%s fournits des informations sur les services pour lesquels vous avez des "
+"droits d'accès en mode lecture.\n"
+
+#: sys-utils/ipcs.c:130
+#, c-format
+msgid ""
+"Resource Specification:\n"
+"\t-m : shared_mem\n"
+"\t-q : messages\n"
+msgstr ""
+"Spécifications des ressources:\n"
+"\t-m : mémoire partagée (shared_mem)\n"
+"\t-q : messages\n"
+
+#: sys-utils/ipcs.c:131
+#, c-format
+msgid ""
+"\t-s : semaphores\n"
+"\t-a : all (default)\n"
+msgstr ""
+"\t-s : sémaphores\n"
+"\t-a : tout (par défaut)\n"
+
+#: sys-utils/ipcs.c:132
+#, c-format
+msgid ""
+"Output Format:\n"
+"\t-t : time\n"
+"\t-p : pid\n"
+"\t-c : creator\n"
+msgstr ""
+"Format de sortie:\n"
+"\t-t : temps\n"
+"\t-p : pid\n"
+"\t-c : créateur\n"
+
+#: sys-utils/ipcs.c:133
+#, c-format
+msgid ""
+"\t-l : limits\n"
+"\t-u : summary\n"
+msgstr ""
+"\t-l : limites\n"
+"\t-u : sommaire\n"
+
+#: sys-utils/ipcs.c:134
+#, c-format
+msgid "-i id [-s -q -m] : details on resource identified by id\n"
+msgstr "-i id [-s -q -m] : détails sur les ressources identifiés par id\n"
+
+#: sys-utils/ipcs.c:258
+#, c-format
+msgid "kernel not configured for shared memory\n"
+msgstr "kernel n'est pas configuré pour traiter la mémoire partagée\n"
+
+#: sys-utils/ipcs.c:264
+#, c-format
+msgid "------ Shared Memory Limits --------\n"
+msgstr "------ Limites de la mémoire partagé --------\n"
+
+#: sys-utils/ipcs.c:269
+#, c-format
+msgid "max number of segments = %lu\n"
+msgstr "nombre maximum de segments = %lu\n"
+
+#: sys-utils/ipcs.c:271
+#, c-format
+msgid "max seg size (kbytes) = %lu\n"
+msgstr "taille max seg (koctets) = %lu\n"
+
+#: sys-utils/ipcs.c:273
+#, c-format
+msgid "max total shared memory (kbytes) = %llu\n"
+msgstr "maximum total de mémoire partagée (Ko) = %llu\n"
+
+#: sys-utils/ipcs.c:275
+#, c-format
+msgid "min seg size (bytes) = %lu\n"
+msgstr "taille minimum de segments (octets) = %lu\n"
+
+#: sys-utils/ipcs.c:280
+#, c-format
+msgid "------ Shared Memory Status --------\n"
+msgstr "------ État de la mémoire partagée --------\n"
+
+#: sys-utils/ipcs.c:281
+#, c-format
+msgid "segments allocated %d\n"
+msgstr "segment alloués %d\n"
+
+#: sys-utils/ipcs.c:282
+#, c-format
+msgid "pages allocated %ld\n"
+msgstr "pages alloués %ld\n"
+
+#: sys-utils/ipcs.c:283
+#, c-format
+msgid "pages resident  %ld\n"
+msgstr "pages résidentes  %ld\n"
+
+#: sys-utils/ipcs.c:284
+#, c-format
+msgid "pages swapped   %ld\n"
+msgstr "pages échangées (swap) %ld\n"
+
+#: sys-utils/ipcs.c:285
+#, c-format
+msgid "Swap performance: %ld attempts\t %ld successes\n"
+msgstr "Performance du swap: %ld tentatives\t %ld succès\n"
+
+#: sys-utils/ipcs.c:290
+#, c-format
+msgid "------ Shared Memory Segment Creators/Owners --------\n"
+msgstr "------ Segment de mémoire partagé Créateurs/Propriétaires --------\n"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:298 sys-utils/ipcs.c:305
+#: sys-utils/ipcs.c:311
+msgid "shmid"
+msgstr "shmid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:311 sys-utils/ipcs.c:412
+#: sys-utils/ipcs.c:427 sys-utils/ipcs.c:510 sys-utils/ipcs.c:528
+msgid "perms"
+msgstr "perms"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "cuid"
+msgstr "cuid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "cgid"
+msgstr "cgid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "uid"
+msgstr "uid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "gid"
+msgstr "gid"
+
+#: sys-utils/ipcs.c:296
+#, c-format
+msgid "------ Shared Memory Attach/Detach/Change Times --------\n"
+msgstr ""
+"------ Mémoire partagé Attachement/Détachement/Changement Temps --------\n"
+
+#: sys-utils/ipcs.c:298 sys-utils/ipcs.c:305 sys-utils/ipcs.c:311
+#: sys-utils/ipcs.c:418 sys-utils/ipcs.c:427 sys-utils/ipcs.c:516
+#: sys-utils/ipcs.c:522 sys-utils/ipcs.c:528
+msgid "owner"
+msgstr "propriétaire"
+
+#: sys-utils/ipcs.c:298
+msgid "attached"
+msgstr "attaché"
+
+#: sys-utils/ipcs.c:298
+msgid "detached"
+msgstr "détaché"
+
+#: sys-utils/ipcs.c:299
+msgid "changed"
+msgstr "modifié"
+
+#: sys-utils/ipcs.c:303
+#, c-format
+msgid "------ Shared Memory Creator/Last-op --------\n"
+msgstr "------ Mémoire partagé Créateur/Dernière-opération --------\n"
+
+#: sys-utils/ipcs.c:305
+msgid "cpid"
+msgstr "cpid"
+
+#: sys-utils/ipcs.c:305
+msgid "lpid"
+msgstr "lpid"
+
+#: sys-utils/ipcs.c:309
+#, c-format
+msgid "------ Shared Memory Segments --------\n"
+msgstr "------ Segment de mémoire partagé --------\n"
+
+#: sys-utils/ipcs.c:311 sys-utils/ipcs.c:427 sys-utils/ipcs.c:528
+msgid "key"
+msgstr "clé"
+
+#: sys-utils/ipcs.c:311
+msgid "bytes"
+msgstr "octets"
+
+#: sys-utils/ipcs.c:312
+msgid "nattch"
+msgstr "nattch"
+
+#: sys-utils/ipcs.c:312
+msgid "status"
+msgstr "états"
+
+#: sys-utils/ipcs.c:333 sys-utils/ipcs.c:335 sys-utils/ipcs.c:337
+#: sys-utils/ipcs.c:448 sys-utils/ipcs.c:450 sys-utils/ipcs.c:549
+#: sys-utils/ipcs.c:551 sys-utils/ipcs.c:553 sys-utils/ipcs.c:604
+#: sys-utils/ipcs.c:606 sys-utils/ipcs.c:634 sys-utils/ipcs.c:636
+#: sys-utils/ipcs.c:638 sys-utils/ipcs.c:661
+msgid "Not set"
+msgstr "Non initialisé"
+
+#: sys-utils/ipcs.c:365
+msgid "dest"
+msgstr "dest"
+
+#: sys-utils/ipcs.c:366
+msgid "locked"
+msgstr "verrouillé"
+
+#: sys-utils/ipcs.c:386
+#, c-format
+msgid "kernel not configured for semaphores\n"
+msgstr "kernel n'est pas configuré pour traiter les sémaphores\n"
+
+#: sys-utils/ipcs.c:392
+#, c-format
+msgid "------ Semaphore Limits --------\n"
+msgstr "------ Limites des sémaphores --------\n"
+
+#: sys-utils/ipcs.c:396
+#, c-format
+msgid "max number of arrays = %d\n"
+msgstr "nombre max de tableaux = %d\n"
+
+#: sys-utils/ipcs.c:397
+#, c-format
+msgid "max semaphores per array = %d\n"
+msgstr "nombre max de sémaphores par tableau = %d\n"
+
+#: sys-utils/ipcs.c:398
+#, c-format
+msgid "max semaphores system wide = %d\n"
+msgstr "nombre max de sémaphores système = %d\n"
+
+#: sys-utils/ipcs.c:399
+#, c-format
+msgid "max ops per semop call = %d\n"
+msgstr "nombre max d'ops par appel semop = %d\n"
+
+#: sys-utils/ipcs.c:400
+#, c-format
+msgid "semaphore max value = %d\n"
+msgstr "valeur max de sémaphore = %d\n"
+
+#: sys-utils/ipcs.c:404
+#, c-format
+msgid "------ Semaphore Status --------\n"
+msgstr "------ États des sémaphores --------\n"
+
+#: sys-utils/ipcs.c:405
+#, c-format
+msgid "used arrays = %d\n"
+msgstr "tableaux utilisés = %d\n"
+
+#: sys-utils/ipcs.c:406
+#, c-format
+msgid "allocated semaphores = %d\n"
+msgstr "sémaphores alloués = %d\n"
+
+#: sys-utils/ipcs.c:410
+#, c-format
+msgid "------ Semaphore Arrays Creators/Owners --------\n"
+msgstr "--- Tableaux de sémaphores Créateurs/Propriétaires ---\n"
+
+#: sys-utils/ipcs.c:412 sys-utils/ipcs.c:418 sys-utils/ipcs.c:427
+msgid "semid"
+msgstr "semid"
+
+#: sys-utils/ipcs.c:416
+#, c-format
+msgid "------ Semaphore Operation/Change Times --------\n"
+msgstr "--- Sémaphores : opérations/changements temporels ---\n"
+
+#: sys-utils/ipcs.c:418
+msgid "last-op"
+msgstr "last-op"
+
+#: sys-utils/ipcs.c:418
+msgid "last-changed"
+msgstr "last-changed"
+
+#: sys-utils/ipcs.c:425
+#, c-format
+msgid "------ Semaphore Arrays --------\n"
+msgstr "------ Tableaux de sémaphores --------\n"
+
+#: sys-utils/ipcs.c:427
+msgid "nsems"
+msgstr "nsems"
+
+#: sys-utils/ipcs.c:486
+#, c-format
+msgid "kernel not configured for message queues\n"
+msgstr "kernel n'est pas configuré pour traiter les queues de messages\n"
+
+#: sys-utils/ipcs.c:494
+#, c-format
+msgid "------ Messages: Limits --------\n"
+msgstr "------ Messages: lmites --------\n"
+
+#: sys-utils/ipcs.c:495
+#, c-format
+msgid "max queues system wide = %d\n"
+msgstr "nombre max de queues système = %d\n"
+
+#: sys-utils/ipcs.c:496
+#, c-format
+msgid "max size of message (bytes) = %d\n"
+msgstr "taille max des messages (octets) = %d\n"
+
+#: sys-utils/ipcs.c:497
+#, c-format
+msgid "default max size of queue (bytes) = %d\n"
+msgstr "taille max par défaut des queues (octets) = %d\n"
+
+#: sys-utils/ipcs.c:501
+#, c-format
+msgid "------ Messages: Status --------\n"
+msgstr "------ Messages: états --------\n"
+
+#: sys-utils/ipcs.c:502
+#, c-format
+msgid "allocated queues = %d\n"
+msgstr "queues allouées = %d\n"
+
+#: sys-utils/ipcs.c:503
+#, c-format
+msgid "used headers = %d\n"
+msgstr "en-têtes utilisées = %d\n"
+
+#: sys-utils/ipcs.c:504
+#, c-format
+msgid "used space = %d bytes\n"
+msgstr "espace utilisé = %d octets\n"
+
+#: sys-utils/ipcs.c:508
+#, c-format
+msgid "------ Message Queues: Creators/Owners --------\n"
+msgstr "------ Queues de messages: Créateurs/Propriétaires --------\n"
+
+#: sys-utils/ipcs.c:510 sys-utils/ipcs.c:516 sys-utils/ipcs.c:522
+#: sys-utils/ipcs.c:528
+msgid "msqid"
+msgstr "msqid"
+
+#: sys-utils/ipcs.c:514
+#, c-format
+msgid "------ Message Queues Send/Recv/Change Times --------\n"
+msgstr "------ Queues de messages Transmis/Reçus/Changés Temps --------\n"
+
+#: sys-utils/ipcs.c:516
+msgid "send"
+msgstr "transmis"
+
+#: sys-utils/ipcs.c:516
+msgid "recv"
+msgstr "reçus"
+
+#: sys-utils/ipcs.c:516
+msgid "change"
+msgstr "changés"
+
+#: sys-utils/ipcs.c:520
+#, c-format
+msgid "------ Message Queues PIDs --------\n"
+msgstr "------ PID des queues de messages --------\n"
+
+#: sys-utils/ipcs.c:522
+msgid "lspid"
+msgstr "lspid"
+
+#: sys-utils/ipcs.c:522
+msgid "lrpid"
+msgstr "lrpid"
+
+#: sys-utils/ipcs.c:526
+#, c-format
+msgid "------ Message Queues --------\n"
+msgstr "------ Queues de messages --------\n"
+
+#: sys-utils/ipcs.c:529
+msgid "used-bytes"
+msgstr "octets-utilisés"
+
+#: sys-utils/ipcs.c:529
+msgid "messages"
+msgstr "messages"
+
+# disk-utils/mkswap.c:623
+#: sys-utils/ipcs.c:593
+msgid "shmctl failed"
+msgstr "échec de la fonction \"shmctl\""
+
+#: sys-utils/ipcs.c:595
+#, c-format
+msgid ""
+"\n"
+"Shared memory Segment shmid=%d\n"
+msgstr ""
+"\n"
+"Mémoire partagée segment shmid=%d\n"
+
+#: sys-utils/ipcs.c:596
+#, c-format
+msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+
+#: sys-utils/ipcs.c:598
+#, c-format
+msgid "mode=%#o\taccess_perms=%#o\n"
+msgstr "mode=%#o\taccess_perms=%#o\n"
+
+#: sys-utils/ipcs.c:600
+#, c-format
+msgid "bytes=%ld\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+msgstr "octets=%ld\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+
+#: sys-utils/ipcs.c:603
+#, c-format
+msgid "att_time=%-26.24s\n"
+msgstr "att_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:605
+#, c-format
+msgid "det_time=%-26.24s\n"
+msgstr "det_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:607 sys-utils/ipcs.c:637
+#, c-format
+msgid "change_time=%-26.24s\n"
+msgstr "change_time=%-26.24s\n"
+
+# disk-utils/mkswap.c:623
+#: sys-utils/ipcs.c:619
+msgid "msgctl failed"
+msgstr "échec de la fonction \"msgctl\""
+
+#: sys-utils/ipcs.c:621
+#, c-format
+msgid ""
+"\n"
+"Message Queue msqid=%d\n"
+msgstr ""
+"\n"
+"Queue de messages msqid=%d\n"
+
+#: sys-utils/ipcs.c:622
+#, c-format
+msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
+
+#: sys-utils/ipcs.c:624
+#, 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:633
+#, c-format
+msgid "send_time=%-26.24s\n"
+msgstr "send_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:635
+#, c-format
+msgid "rcv_time=%-26.24s\n"
+msgstr "rcv_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:652 sys-utils/ipcs.c:674
+msgid "semctl failed"
+msgstr "échec de la fonction \"semctl\""
+
+#: sys-utils/ipcs.c:654
+#, c-format
+msgid ""
+"\n"
+"Semaphore Array semid=%d\n"
+msgstr ""
+"\n"
+"Tableaux de sémaphores semid=%d\n"
+
+#: sys-utils/ipcs.c:655
+#, c-format
+msgid "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+msgstr "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+
+#: sys-utils/ipcs.c:657
+#, c-format
+msgid "mode=%#o, access_perms=%#o\n"
+msgstr "mode=%#o, access_perms=%#o\n"
+
+#: sys-utils/ipcs.c:659
+#, c-format
+msgid "nsems = %ld\n"
+msgstr "nsems = %ld\n"
+
+#: sys-utils/ipcs.c:660
+#, c-format
+msgid "otime = %-26.24s\n"
+msgstr "otime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:662
+#, c-format
+msgid "ctime = %-26.24s\n"
+msgstr "ctime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:665
+msgid "semnum"
+msgstr "semnum"
+
+#: sys-utils/ipcs.c:665
+msgid "value"
+msgstr "valeur"
+
+#: sys-utils/ipcs.c:665
+msgid "ncount"
+msgstr "ncount"
+
+#: sys-utils/ipcs.c:665
+msgid "zcount"
+msgstr "zcount"
+
+#: sys-utils/ipcs.c:665
+msgid "pid"
+msgstr "pid"
+
+#: sys-utils/ldattach.c:92
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [ -dhV78neo12 ] [ -s <speed> ] <ldisc> <device>\n"
+msgstr ""
+"\n"
+"Utilisation : %s [ -dhV78neo12 ] [ -s <vitesse> ] <ldisque> <périphérique>\n"
+
+#: sys-utils/ldattach.c:94
+msgid ""
+"\n"
+"Known <ldisc> names:\n"
+msgstr ""
+"\n"
+"Noms <ldisque> connus :\n"
+
+#: sys-utils/ldattach.c:179
+#, c-format
+msgid "invalid speed: %s"
+msgstr "vitesse non valide : %s"
+
+#: sys-utils/ldattach.c:182
+#, c-format
+msgid "ldattach from %s\n"
+msgstr "exécution de \"ldattach\" depuis %s\n"
+
+#: sys-utils/ldattach.c:187 text-utils/tailf.c:205
+msgid "invalid option"
+msgstr "option non valide"
+
+#: sys-utils/ldattach.c:199
+#, c-format
+msgid "invalid line discipline: %s"
+msgstr "discipline (configuration) de ligne non valide : %s"
+
+#: sys-utils/ldattach.c:207
+#, c-format
+msgid "%s is not a serial line"
+msgstr "%s n'est pas une ligne série"
+
+#: sys-utils/ldattach.c:213
+#, c-format
+msgid "cannot get terminal attributes for %s"
+msgstr "impossible d'obtenir les attributs du terminal %s"
+
+#: sys-utils/ldattach.c:216
+#, c-format
+msgid "speed %d unsupported"
+msgstr "vitesse %d non supportée"
+
+#: sys-utils/ldattach.c:247
+#, c-format
+msgid "cannot set terminal attributes for %s"
+msgstr "impossible de spécifier les attributs du terminal %s"
+
+#: sys-utils/ldattach.c:254
+msgid "cannot set line discipline"
+msgstr "impossible de spécifier la discipline (configuration) de ligne"
+
+#: sys-utils/ldattach.c:260
+msgid "cannot daemonize"
+msgstr "échec de transformation en démon"
+
+#: sys-utils/lscpu.c:64
+msgid "none"
+msgstr "rien"
+
+#: sys-utils/lscpu.c:65
+msgid "para"
+msgstr "para"
+
+#: sys-utils/lscpu.c:66
+msgid "full"
+msgstr "complet"
+
+#: sys-utils/lscpu.c:129 sys-utils/lscpu.c:152 sys-utils/lscpu.c:441
+#, c-format
+msgid "error: %s"
+msgstr "erreur : %s "
+
+#: sys-utils/lscpu.c:154
+#, c-format
+msgid "error parse: %s"
+msgstr "erreur d'analyse : %s"
+
+#: sys-utils/lscpu.c:176
+msgid "error: strdup failed"
+msgstr "erreur : échec de \"strdup\""
+
+#: sys-utils/lscpu.c:259
+msgid "error: uname failed"
+msgstr "erreur : échec de \"uname\""
+
+#: sys-utils/lscpu.c:491
+msgid "error: malloc failed"
+msgstr "erreur : échec de \"malloc\""
+
+#: sys-utils/lscpu.c:506
+msgid "error: /sys filesystem is not accessable."
+msgstr "erreur : le système de fichiers /sys est inaccessible."
+
+#: sys-utils/lscpu.c:524
+#, 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"
+"# CPU,Core,Socket,Node"
+msgstr ""
+"# La suite est en format analysable, transmissible à d'autres\n"
+"# programmes. Les items distincts dans chaque colonne ont\n"
+"# un unique numéro ID partant de zéro.\n"
+"# CPU, coeur, support (socket), noeud"
+
+#: sys-utils/lscpu.c:590
+msgid "Thread(s) per core:"
+msgstr "Thread(s) par coeur :"
+
+#: sys-utils/lscpu.c:591
+msgid "Core(s) per socket:"
+msgstr "Coeur(s) par support CPU :"
+
+#: sys-utils/lscpu.c:592
+msgid "CPU socket(s):"
+msgstr "Support(s) CPU :"
+
+#: sys-utils/lscpu.c:596
+msgid "NUMA node(s):"
+msgstr "Noeud(s) NUMA :"
+
+#: sys-utils/lscpu.c:598
+msgid "Vendor ID:"
+msgstr "ID du vendeur :"
+
+#: sys-utils/lscpu.c:600
+msgid "CPU family:"
+msgstr "Famille CPU :"
+
+#: sys-utils/lscpu.c:602
+msgid "Model:"
+msgstr "Modèle :"
+
+#: sys-utils/lscpu.c:604
+msgid "Stepping:"
+msgstr "Version :"
+
+#: sys-utils/lscpu.c:606
+msgid "CPU MHz:"
+msgstr "CPU MHz :"
+
+#: sys-utils/lscpu.c:609 sys-utils/lscpu.c:611
+msgid "Virtualization:"
+msgstr "Virtualisation :"
+
+#: sys-utils/lscpu.c:614
+msgid "Hypervisor vendor:"
+msgstr "Vendeur hyperviseur :"
+
+#: sys-utils/lscpu.c:615
+msgid "Virtualization type:"
+msgstr "Type de virtualisation :"
+
+#: sys-utils/lscpu.c:623
+#, c-format
+msgid "%s cache:"
+msgstr "%s cache :"
+
+#: sys-utils/lscpu.c:631
+#, c-format
+msgid "Usage: %s [option]\n"
+msgstr "Utilisation : %s [options]\n"
+
+#: sys-utils/lscpu.c:634
+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 ""
+"Donne des informations sur l'architecture CPU\n"
+"\n"
+"  -h, --help     aide d'utilisation\n"
+"  -p, --parse    sortie en format analysable et non affichable.\n"
+"  -s, --sysroot  spécifie un répertoire comme racine du système.\n"
+
+#: sys-utils/lscpu.c:683
+#, c-format
+msgid "error: change working directory to %s."
+msgstr "erreur : changement de répertoire de travail en %s."
+
+#: sys-utils/rdev.c:77
+msgid "usage: rdev [ -rv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]"
+msgstr ""
+"Utilisation : rdev [ -rv ] [ -o DÉCALAGE ] [ IMAGE [ VALEUR [ DÉCALAGE ] ] ]"
+
+#: sys-utils/rdev.c:78
+msgid ""
+"  rdev /dev/fd0  (or rdev /linux, etc.) displays the current ROOT device"
+msgstr ""
+"  rdev /dev/fd0  (ou rdev /linux, etc.) afficher les périphériques ROOT "
+"courants"
+
+#: sys-utils/rdev.c:79
+msgid "  rdev /dev/fd0 /dev/hda2         sets ROOT to /dev/hda2"
+msgstr "  rdev /dev/fd0 /dev/hda2         initialiser ROOT à /dev/hda2"
+
+#: sys-utils/rdev.c:80
+msgid "  rdev -R /dev/fd0 1              set the ROOTFLAGS (readonly status)"
+msgstr ""
+"  rdev -R /dev/fd0 1              initialiser les ROOTFLAGS (état en mode "
+"lecture seulement)"
+
+#: sys-utils/rdev.c:81
+msgid "  rdev -r /dev/fd0 627            set the RAMDISK size"
+msgstr "  rdev -r /dev/fd0 627            initialiser la taille du RAMDISK"
+
+#: sys-utils/rdev.c:82
+msgid "  rdev -v /dev/fd0 1              set the bootup VIDEOMODE"
+msgstr "  rdev -v /dev/fd0 1              initialiser le MODEVIDEO d'amorçage"
+
+#: sys-utils/rdev.c:83
+msgid "  rdev -o N ...                   use the byte offset N"
+msgstr "  rdev -o N ...                   utiliser une décalage de N octets"
+
+#: sys-utils/rdev.c:84
+msgid "  rootflags ...                   same as rdev -R"
+msgstr "  rootflags ...                   identique à rdev -R"
+
+#: sys-utils/rdev.c:85
+msgid "  ramsize ...                     same as rdev -r"
+msgstr "  ramsize ...                     identique à rdev -r"
+
+#: sys-utils/rdev.c:86
+msgid "  vidmode ...                     same as rdev -v"
+msgstr "  vidmode ...                     identique à rdev -v"
+
+#: sys-utils/rdev.c:87
+msgid ""
+"Note: video modes are: -3=Ask, -2=Extended, -1=NormalVga, 1=key1, 2=key2,..."
+msgstr ""
+"Note: modes vidéos sont: -3=Ask, -2=Extended, -1=NormalVga, 1=key1, "
+"2=key2,..."
+
+#: sys-utils/rdev.c:88
+msgid "      use -R 1 to mount root readonly, -R 0 for read/write."
+msgstr ""
+"      utiliser -R 1 pour monter root en mode lecture seulement, -R 0 en mode "
+"lecture-écriture."
+
+#: sys-utils/rdev.c:245
+msgid "missing comma"
+msgstr "virgule manquante"
+
+#: sys-utils/readprofile.c:72
+#, c-format
+msgid "out of memory"
+msgstr "mémoire épuisée"
+
+#: sys-utils/readprofile.c:118
+#, 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: Utilisation : \"%s [options]\n"
+"\t -m <fichier-map>     (par défaut = « %s »)\n"
+"\t\t\t\t  \"%s\")\n"
+"\t -p <fichier-profile> (par défaut = « %s »)\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éinitaliser tous les compteurs (root seulement)\n"
+"\t -n                   désactiver l'auto-détection de l'ordonnancement des "
+"octets\n"
+"\t -V                   afficher la version et quitter\n"
+
+#: sys-utils/readprofile.c:227
+#, c-format
+msgid "readprofile: error writing %s: %s\n"
+msgstr "readprofile: erreur d'écriture %s: %s\n"
+
+#: sys-utils/readprofile.c:268
+#, c-format
+msgid "Assuming reversed byte order. Use -n to force native byte order.\n"
+msgstr ""
+"Ordre des octets supposé inversé. Utiliser -n pour forcer l'ordre natif.\n"
+
+#: sys-utils/readprofile.c:284
+#, c-format
+msgid "Sampling_step: %i\n"
+msgstr "Sampling_step: %i\n"
+
+#: sys-utils/readprofile.c:305 sys-utils/readprofile.c:331
+#, c-format
+msgid "%s: %s(%i): wrong map line\n"
+msgstr "%s: %s(%i): ligne de map erronée\n"
+
+#: sys-utils/readprofile.c:318
+#, c-format
+msgid "%s: can't find \"_stext\" in %s\n"
+msgstr "%s: ne peut repérer « _stext » dans %s\n"
+
+#: sys-utils/readprofile.c:352
+#, c-format
+msgid "%s: profile address out of range. Wrong map file?\n"
+msgstr "%s: adresse de profile hors limites. Mauvais fichier map?\n"
+
+#: sys-utils/readprofile.c:412
+msgid "total"
+msgstr "total"
+
+#: sys-utils/renice.c:53
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" renice [-n] priority [-p|--pid] pid  [... pid]\n"
+" renice [-n] priority  -g|--pgrp pgrp [... pgrp]\n"
+" renice [-n] priority  -u|--user user [... user]\n"
+" renice -h | --help\n"
+" renice -v | --version\n"
+"\n"
+msgstr ""
+"\n"
+"Utilisation :\n"
+" renice [-n] priorité [-p|--pid] pid [... pid]\n"
+" renice [-n] priorité  -g|--pgrp pgrp [... pgrp]\n"
+" renice [-n] priorité  -u|--user utilisateur [... utilisateur]\n"
+" renice -h | --help\n"
+" renice -v | --version\n"
+"\n"
+
+#: sys-utils/renice.c:89
+#, c-format
+msgid "renice from %s\n"
+msgstr "modification de priorité \"renice\" depuis %s\n"
+
+#: sys-utils/renice.c:126
+#, c-format
+msgid "renice: %s: unknown user\n"
+msgstr "renice: %s: usager inconnu\n"
+
+#: sys-utils/renice.c:134
+#, c-format
+msgid "renice: %s: bad value\n"
+msgstr "renice: %s: valeur erronée\n"
+
+#: sys-utils/renice.c:152 sys-utils/renice.c:164
+msgid "getpriority"
+msgstr "getpriority"
+
+#: sys-utils/renice.c:157
+msgid "setpriority"
+msgstr "setpriority"
+
+#: sys-utils/renice.c:168
+#, c-format
+msgid "%d: old priority %d, new priority %d\n"
+msgstr "%d: priorité précédente %d, nouvelle priorité %d\n"
+
+#: sys-utils/rtcwake.c:81
+#, c-format
+msgid ""
+"usage: %s [options]\n"
+"    -d | --device <device>    select rtc device (rtc0|rtc1|...)\n"
+"    -l | --local              RTC uses local timezone\n"
+"    -m | --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"
+"    -V | --version            show version\n"
+msgstr ""
+"Utilisation : %s [options]\n"
+"    -d | --device <périph>    spécifie le périphérique horloge RTC (rtc0|"
+"rtc1|...)\n"
+"    -l | --local              l'horloge RTC utilise une zone de temps "
+"locale\n"
+"    -m | --mode               standby|mem|... mode mise en veille\n"
+"    -s | --seconds <secondes>  mise en veille d'une durée de <secondes>\n"
+"    -t | --time <heure_t>      fixe l'heure de sortie de veille\n"
+"    -u | --utc                l'horloge RTC utilise l'échelle de temps UTC\n"
+"    -v | --verbose            mode verbeux\n"
+"    -V | --version            affiche la version\n"
+
+#: sys-utils/rtcwake.c:140
+msgid "read rtc time"
+msgstr "lecture de l'heure RTC"
+
+#: sys-utils/rtcwake.c:145
+msgid "read system time"
+msgstr "lit l'heure système"
+
+#: sys-utils/rtcwake.c:163
+msgid "convert rtc time"
+msgstr "convertion de l'heure courante RTC"
+
+#: sys-utils/rtcwake.c:222
+msgid "set rtc alarm"
+msgstr "fixe l'alarme de l'horloge RTC"
+
+#: sys-utils/rtcwake.c:226
+msgid "enable rtc alarm"
+msgstr "active l'alarme RTC"
+
+#: sys-utils/rtcwake.c:230
+msgid "set rtc wake alarm"
+msgstr "fixe l'alarme de réveil RTC"
+
+#: sys-utils/rtcwake.c:342
+#, c-format
+msgid "%s: unrecognized suspend state '%s'\n"
+msgstr " %s : état de veille non reconnu \"%s\"\n"
+
+#: sys-utils/rtcwake.c:351
+#, c-format
+msgid "%s: illegal interval %s seconds\n"
+msgstr "%s: intervalle incorrect %s secondes\n"
+
+#: sys-utils/rtcwake.c:365
+#, c-format
+msgid "%s: illegal time_t value %s\n"
+msgstr "%s: mauvaise valeur pour heure_t %s\n"
+
+#: sys-utils/rtcwake.c:381
+#, c-format
+msgid "%s: version %s\n"
+msgstr "%s: version %s\n"
+
+#: sys-utils/rtcwake.c:394
+#, c-format
+msgid "%s: assuming RTC uses UTC ...\n"
+msgstr "%s: on considère que l'horloge RTC utilise l'échelle UTC...\n"
+
+#: sys-utils/rtcwake.c:399
+#, c-format
+msgid "Using UTC time.\n"
+msgstr "Heure UTC utilisée.\n"
+
+#: sys-utils/rtcwake.c:400
+#, c-format
+msgid "Using local time.\n"
+msgstr "Heure locale utilisée.\n"
+
+#: sys-utils/rtcwake.c:403
+#, c-format
+msgid "%s: must provide wake time\n"
+msgstr "%s: vous devez préciser l'heure de réveil\n"
+
+#: sys-utils/rtcwake.c:413
+msgid "malloc() failed"
+msgstr "échec de malloc()"
+
+#: sys-utils/rtcwake.c:425
+#, c-format
+msgid "%s: %s not enabled for wakeup events\n"
+msgstr "%s : %s non activé pour les événements \"wakeup\" (réveil)\n"
+
+#: sys-utils/rtcwake.c:441
+#, 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:446
+#, c-format
+msgid "%s: time doesn't go backward to %s\n"
+msgstr "%s: l'heure ne peut pas reculer en %s\n"
+
+#: sys-utils/rtcwake.c:456
+#, c-format
+msgid "%s: wakeup from \"%s\" using %s at %s\n"
+msgstr "%s : \"wakeup\" (réveil) depuis \"%s\" avec %s à %s\n"
+
+#: sys-utils/rtcwake.c:473
+msgid "rtc read"
+msgstr "lecture horloge RTC"
+
+#: sys-utils/rtcwake.c:482
+msgid "disable rtc alarm interrupt"
+msgstr "désactive l'interruption gèrant l'alarme RTC"
+
+#: sys-utils/setarch.c:50
+#, c-format
+msgid "Switching on %s.\n"
+msgstr "Bascule sur %s.\n"
+
+#: sys-utils/setarch.c:113
+#, c-format
+msgid ""
+"Usage: %s%s [options] [program [program arguments]]\n"
+"\n"
+"Options:\n"
+msgstr ""
+"Utilisation : %s%s [options] [programme [arguments programme]]\n"
+"\n"
+"Options:\n"
+
+#: sys-utils/setarch.c:117
+#, c-format
+msgid ""
+" -h, --help               displays this help text\n"
+" -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"
+msgstr ""
+" -h, --help               affiche cette aide\n"
+" -v, --verbose            montre les options qui seront activées\n"
+" -R, --addr-no-randomize  rend non aléatoire l'espace d'adressage virtuel\n"
+" -F, --fdpic-funcptrs     fait pointer les pointeurs de fonctions sur les "
+"descripteurs\n"
+" -Z, --mmap-page-zero     active MMAP_PAGE_ZERO\n"
+" -L, --addr-compat-layout change la méthode d'allocation de mémoire "
+"virtuelle\n"
+" -X, --read-implies-exec  active READ_IMPLIES_EXEC\n"
+" -B, --32bit              active ADDR_LIMIT_32BIT\n"
+" -I, --short-inode        active SHORT_INODE\n"
+" -S, --whole-seconds      active WHOLE_SECONDS\n"
+" -T, --sticky-timeouts    active STICKY_TIMEOUTS\n"
+" -3, --3gb                limite l'espace d'adressage utilisé à un max. de 3 "
+"Go\n"
+"     --4gb                ignorée (pour compatibilité seulement)\n"
+
+#: sys-utils/setarch.c:131
+#, c-format
+msgid ""
+"\n"
+"For more information see setarch(8).\n"
+msgstr ""
+"\n"
+"Pour plus d'informations voyez setarch(8).\n"
+
+#: sys-utils/setarch.c:143
+#, c-format
+msgid ""
+"%s: %s\n"
+"Try `%s --help' for more information.\n"
+msgstr ""
+"%s: %s\n"
+"Tapez \"%s --help\" pour plus d'information.\n"
+
+#: sys-utils/setarch.c:215 sys-utils/setarch.c:231
+#, c-format
+msgid "%s: Unrecognized architecture"
+msgstr " %s: architecture inconnue"
+
+#: sys-utils/setarch.c:249 sys-utils/setarch.c:256
+msgid "Not enough arguments"
+msgstr "Pas assez d'arguments"
+
+#: sys-utils/setarch.c:265 sys-utils/setarch.c:318
+#, c-format
+msgid "Failed to set personality to %s"
+msgstr "Impossible de fixer l'architecture système à %s"
+
+#: sys-utils/setsid.c:26
+#, c-format
+msgid "usage: %s program [arg ...]\n"
+msgstr "Utilisation : %s program [arg ...]\n"
+
+#: sys-utils/tunelp.c:75
+#, c-format
+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"
+
+#: sys-utils/tunelp.c:91
+msgid "malloc error"
+msgstr "erreur malloc()"
+
+#: sys-utils/tunelp.c:103
+#, c-format
+msgid "%s: bad value\n"
+msgstr "%s: valeur erronée\n"
+
+#: sys-utils/tunelp.c:242
+#, c-format
+msgid "%s: %s not an lp device.\n"
+msgstr "%s: %s n'est pas un périphérique d'impression lp.\n"
+
+#: sys-utils/tunelp.c:263
+#, c-format
+msgid "%s status is %d"
+msgstr "%s état est %d"
+
+#: sys-utils/tunelp.c:264
+#, c-format
+msgid ", busy"
+msgstr ", occupé"
+
+#: sys-utils/tunelp.c:265
+#, c-format
+msgid ", ready"
+msgstr ", prêt"
+
+#: sys-utils/tunelp.c:266
+#, c-format
+msgid ", out of paper"
+msgstr ", manque de papier"
+
+#: sys-utils/tunelp.c:267
+#, c-format
+msgid ", on-line"
+msgstr ", en-ligne"
+
+#: sys-utils/tunelp.c:268
+#, c-format
+msgid ", error"
+msgstr ", erreur"
+
+#: sys-utils/tunelp.c:285
+msgid "LPGETIRQ error"
+msgstr "Erreur LPGETIRQ"
+
+#: sys-utils/tunelp.c:291
+#, c-format
+msgid "%s using IRQ %d\n"
+msgstr "%s utilise IRQ %d\n"
+
+#: sys-utils/tunelp.c:293
+#, c-format
+msgid "%s using polling\n"
+msgstr "%s utilisant la scrutation\n"
+
+#: text-utils/col.c:154
+#, c-format
+msgid "col: bad -l argument %s.\n"
+msgstr "col: argument erroné pour -l %s.\n"
+
+#: text-utils/col.c:544
+#, c-format
+msgid "usage: col [-bfpx] [-l nline]\n"
+msgstr "Utilisation : col [-bfpx] [-l n-lignes]\n"
+
+#: text-utils/col.c:550
+#, c-format
+msgid "col: write error.\n"
+msgstr "col: erreur d'écriture.\n"
+
+#: text-utils/col.c:557
+#, c-format
+msgid "col: warning: can't back up %s.\n"
+msgstr "col: AVERTISSEMENT: ne peut reculer %s.\n"
+
+#: text-utils/col.c:558
+msgid "past first line"
+msgstr "passé la première ligne"
+
+#: text-utils/col.c:558
+msgid "-- line already flushed"
+msgstr "-- ligne déjà éliminée"
+
+#: text-utils/colcrt.c:97
+#, c-format
+msgid "usage: %s [ - ] [ -2 ] [ file ... ]\n"
+msgstr "Utilisation : %s [ - ] [ -2 ] [ fichier ... ]\n"
+
+#: text-utils/column.c:297
+msgid "line too long"
+msgstr "ligne trop longue"
+
+#: text-utils/column.c:374
+#, c-format
+msgid "usage: column [-tx] [-c columns] [file ...]\n"
+msgstr "Utilisation : column [-tx] [-c colonnes] [fichier ...]\n"
+
+#: text-utils/hexsyntax.c:82
+#, c-format
+msgid "hexdump: bad length value.\n"
+msgstr "hexdump: valeur de longueur erronée.\n"
+
+#: text-utils/hexsyntax.c:93
+#, c-format
+msgid "hexdump: bad skip value.\n"
+msgstr "hexdump: valeur de saut erronée.\n"
+
+#: text-utils/hexsyntax.c:131
+#, c-format
+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"
+
+#: text-utils/more.c:256
+#, c-format
+msgid "usage: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n"
+msgstr "Utilisation : %s [-dflpcsu] [+no-de-ligne | +/patron] nom1 nom2 ...\n"
+
+#: text-utils/more.c:479
+#, c-format
+msgid "%s: unknown option \"-%c\"\n"
+msgstr "%s: option inconnue \"-%c\"\n"
+
+#: text-utils/more.c:511
+#, c-format
+msgid ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+msgstr ""
+"\n"
+"*** %s: répertoire ***\n"
+"\n"
+
+#: text-utils/more.c:555
+#, 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:658
+#, c-format
+msgid "[Use q or Q to quit]"
+msgstr "[Utiliser q ou Q pour quitter]"
+
+#: text-utils/more.c:750
+#, c-format
+msgid "--More--"
+msgstr "--Plus--"
+
+#: text-utils/more.c:752
+#, c-format
+msgid "(Next file: %s)"
+msgstr "(Prochain fichier: %s)"
+
+#: text-utils/more.c:757
+#, 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:1172
+#, c-format
+msgid "...back %d pages"
+msgstr "...reculé de %d pages"
+
+#: text-utils/more.c:1174
+msgid "...back 1 page"
+msgstr "...reculé de 1 page"
+
+#: text-utils/more.c:1217
+msgid "...skipping one line"
+msgstr "...escamotage d'une ligne"
+
+#: text-utils/more.c:1219
+#, c-format
+msgid "...skipping %d lines"
+msgstr "...escamotage de %d ligne(s)"
+
+#: text-utils/more.c:1256
+msgid ""
+"\n"
+"***Back***\n"
+"\n"
+msgstr ""
+"\n"
+"***Arrière***\n"
+"\n"
+
+#: text-utils/more.c:1294
+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'arguement devient le nouveau défaut.\n"
+
+#: text-utils/more.c:1301
+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>                  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"
+"<return>                 afficher les prochaines N lignes de texte[1]*\n"
+"d uo ctrl-D              défiler N lignes [taille courante de défilement, "
+"initiallement 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 Nième occurence de l'expression "
+"régulière [1]\n"
+"n                        chercher la Nième occurence de la dernière "
+"expression régulière [1]\n"
+"!<cmd> ou :!<cmd>        exécuter la « cmd » dans un sous-shell\n"
+"v                        lancer /usr/bin/vi à la ligne courante\n"
+"ctrl-L                   réafficher l'écrans\n"
+":n                       aller au Nième prochain fichier [1]\n"
+":p                       aller au Nième fichier précédant [1]\n"
+":f                       afficher le nom du fichier courantet le numéro de "
+"ligne\n"
+".                        répéter la commande précédente\n"
+
+#: text-utils/more.c:1370 text-utils/more.c:1375
+#, c-format
+msgid "[Press 'h' for instructions.]"
+msgstr "[Appuyer « h » pour obtenir les instructions.]"
+
+#: text-utils/more.c:1409
+#, c-format
+msgid "\"%s\" line %d"
+msgstr "« %s » ligne %d"
+
+#: text-utils/more.c:1411
+#, c-format
+msgid "[Not a file] line %d"
+msgstr "[Pas un fichier] ligne %d"
+
+#: text-utils/more.c:1495
+msgid "  Overflow\n"
+msgstr "  Débordement\n"
+
+#: text-utils/more.c:1542
+msgid "...skipping\n"
+msgstr "...escamotage\n"
+
+#: text-utils/more.c:1571
+msgid "Regular expression botch"
+msgstr "Expression régulière bâclée"
+
+#: text-utils/more.c:1579
+msgid ""
+"\n"
+"Pattern not found\n"
+msgstr ""
+"\n"
+"Patron non repéré\n"
+
+#: text-utils/more.c:1582 text-utils/pg.c:1124 text-utils/pg.c:1275
+msgid "Pattern not found"
+msgstr "Patron non repéré"
+
+#: text-utils/more.c:1643
+msgid "can't fork\n"
+msgstr "ne peut établir un relais fork()\n"
+
+#: text-utils/more.c:1682
+msgid ""
+"\n"
+"...Skipping "
+msgstr ""
+"\n"
+"...Escamotage en cours "
+
+#: text-utils/more.c:1686
+msgid "...Skipping to file "
+msgstr "...Escamotage vers le fichier "
+
+#: text-utils/more.c:1688
+msgid "...Skipping back to file "
+msgstr "...Escamotage arrière vers le fichier "
+
+#: text-utils/more.c:1966
+msgid "Line too long"
+msgstr "Ligne trop longue"
+
+#: text-utils/more.c:2009
+msgid "No previous command to substitute for"
+msgstr "Aucune commande précédente pour subsitution"
+
+#: text-utils/odsyntax.c:130
+#, c-format
+msgid "od: od(1) has been deprecated for hexdump(1).\n"
+msgstr "od: od(1) a été déprécié par hexdump(1).\n"
+
+#: text-utils/odsyntax.c:133
+#, c-format
+msgid "od: hexdump(1) compatibility doesn't support the -%c option%s\n"
+msgstr "od: la compatibilité de hexdump(1)ne supporte pas l'option -%c %s\n"
+
+#: text-utils/odsyntax.c:134
+msgid "; see strings(1)."
+msgstr "; consulter strings(1)."
+
+#: text-utils/parse.c:63
+#, c-format
+msgid "hexdump: can't read %s.\n"
+msgstr "hexdump: ne peut lire %s.\n"
+
+#: text-utils/parse.c:68
+#, c-format
+msgid "hexdump: line too long.\n"
+msgstr "hexdump: ligne trop longue.\n"
+
+#: text-utils/parse.c:401
+#, c-format
+msgid "hexdump: byte count with multiple conversion characters.\n"
+msgstr ""
+"hexdump: compte d'octets erroné pour la conversion de multiples caractères.\n"
+
+#: text-utils/parse.c:483
+#, c-format
+msgid "hexdump: bad byte count for conversion character %s.\n"
+msgstr "hexdump: compte d'octets erroné pour la conversion de caractères %s.\n"
+
+#: text-utils/parse.c:490
+#, c-format
+msgid "hexdump: %%s requires a precision or a byte count.\n"
+msgstr "hexdump: %%s requiert une précision ou un compte d'octets.\n"
+
+#: text-utils/parse.c:496
+#, c-format
+msgid "hexdump: bad format {%s}\n"
+msgstr "hexdumpo: format erroné {%s}\n"
+
+#: text-utils/parse.c:502
+#, c-format
+msgid "hexdump: bad conversion character %%%s.\n"
+msgstr "hexdump: conversion erronée de caractères %%%s.\n"
+
+#: text-utils/pg.c:145
+msgid ""
+"All rights reserved.\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"
+msgstr ""
+"Tous droits réservés.\n"
+"-------------------------------------------------------\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'expr. regex\n"
+"  ?regex? or ^regex^      chercher en arrière l'expr. regex\n"
+"  . ou ^L                 rafraichit l'écran\n"
+"  w ou z                  fixe la taille de page, va à la dernière page\n"
+"  s fichier              sauve le fichier courant sous \"fichier\"\n"
+"  !commande               appel shell\n"
+"  p                       va au fichier précédent\n"
+"  n                       va au fichier suivant\n"
+"\n"
+"Plusieurs commandes acceptent des nombres avant elles, par exemple:\n"
+"+1<entrée> (page suiv.); -1<entrée> (page préc.); 1<entrée> (1ère page).\n"
+"\n"
+"Voir pg(1) pour plus d'informations.\n"
+"-------------------------------------------------------\n"
+
+#: text-utils/pg.c:223
+msgid "Out of memory\n"
+msgstr "Pas assez de mémoire\n"
+
+#: text-utils/pg.c:236
+#, c-format
+msgid ""
+"%s: Usage: %s [-number] [-p string] [-cefnrs] [+line] [+/pattern/] [files]\n"
+msgstr ""
+"%s: Utilisation : %s [-numéro] [-p chaîne] [-cefnrs] [+ligne] [+/patron/] "
+"[fichiers]\n"
+
+#: text-utils/pg.c:245
+#, c-format
+msgid "%s: option requires an argument -- %s\n"
+msgstr "%s: l'option requiert un argument -- %s\n"
+
+#: text-utils/pg.c:253
+#, c-format
+msgid "%s: illegal option -- %s\n"
+msgstr "%s: option illégale -- %s\n"
+
+#: text-utils/pg.c:370
+msgid "...skipping forward\n"
+msgstr "...escamotage avant\n"
+
+#: text-utils/pg.c:372
+msgid "...skipping backward\n"
+msgstr "...escamotage arrière\n"
+
+#: text-utils/pg.c:394
+msgid "No next file"
+msgstr "Pas de prochain fichier"
+
+#: text-utils/pg.c:398
+msgid "No previous file"
+msgstr "Pas de fichier précédent"
+
+#: text-utils/pg.c:928
+#, c-format
+msgid "%s: Read error from %s file\n"
+msgstr "%s: erreur de lecture à partir du fichier %s\n"
+
+#: text-utils/pg.c:934
+#, c-format
+msgid "%s: Unexpected EOF in %s file\n"
+msgstr "%s: EOF inattendue dans le fichier %s\n"
+
+#: text-utils/pg.c:937
+#, c-format
+msgid "%s: Unknown error in %s file\n"
+msgstr "%s: erreur inconnue dans le fichier %s\n"
+
+#: text-utils/pg.c:1032
+#, c-format
+msgid "%s: Cannot create tempfile\n"
+msgstr "%s: ne peut créer le fichier temporaire\n"
+
+#: text-utils/pg.c:1041 text-utils/pg.c:1216 text-utils/pg.c:1243
+msgid "RE error: "
+msgstr "erreur RE: "
+
+#: text-utils/pg.c:1198
+msgid "(EOF)"
+msgstr "(EOF)"
+
+#: text-utils/pg.c:1224 text-utils/pg.c:1251
+msgid "No remembered search string"
+msgstr "Pas de chaîne de recherche mémorisée"
+
+#: text-utils/pg.c:1307
+msgid "Cannot open "
+msgstr "Ne peut ouvrir"
+
+#: text-utils/pg.c:1355
+msgid "saved"
+msgstr "sauvegarder"
+
+#: text-utils/pg.c:1462
+msgid ": !command not allowed in rflag mode.\n"
+msgstr ": !commande non autoirisée en mode rflag.\n"
+
+#: text-utils/pg.c:1494
+msgid "fork() failed, try again later\n"
+msgstr "échec du fork(), essayer à nouveau plus tard.\n"
+
+#: text-utils/pg.c:1702
+msgid "(Next file: "
+msgstr "(Prochain fichier: "
+
+#: text-utils/rev.c:113
+msgid "unable to allocate bufferspace"
+msgstr "impossible d'allouer un tampon"
+
+#: text-utils/rev.c:143
+#, c-format
+msgid "usage: rev [file ...]\n"
+msgstr "Utilisation : rev [fichier ...]\n"
+
+#: text-utils/tailf.c:57 text-utils/tailf.c:92
+#, c-format
+msgid "cannot open \"%s\" for read"
+msgstr "impossible d'ouvrir \"%s\" en lecture"
+
+#: text-utils/tailf.c:95 text-utils/tailf.c:214
+#, c-format
+msgid "cannot stat \"%s\""
+msgstr "impossible d'évaluer par stat() \"%s\""
+
+#: text-utils/tailf.c:108
+#, fuzzy, c-format
+msgid "incomplete write to \"%s\" (written %zd, expected %zd)\n"
+msgstr "écriture incomplète sur \"%s\" (écrits %ld, attendus %ld)\n"
+
+#: text-utils/tailf.c:146
+#, c-format
+msgid "%s: cannot add inotify watch (limit of inotify watches was reached)."
+msgstr ""
+
+#: text-utils/tailf.c:150
+#, c-format
+msgid "%s: cannot add inotify watch."
+msgstr ""
+
+#: text-utils/tailf.c:159
+#, fuzzy, c-format
+msgid "%s: cannot read inotify events"
+msgstr "%s: impossible d'ouvrir %s\n"
+
+#: text-utils/tailf.c:198 text-utils/tailf.c:202
+msgid "invalid number of lines"
+msgstr "nombre de lignes incorrect"
+
+#: text-utils/tailf.c:209
+msgid "usage: tailf [-n N | -N] logfile"
+msgstr "Utilisation : tailf [-n N | -N] fichier_journal"
+
+#: text-utils/ul.c:141
+#, c-format
+msgid "usage: %s [ -i ] [ -tTerm ] file...\n"
+msgstr "Utilisation : %s [ -i ] [ -tTerm ] fichier...\n"
+
+#: text-utils/ul.c:152
+#, c-format
+msgid "trouble reading terminfo"
+msgstr "problème lors de la lecture de terminfo"
+
+#: text-utils/ul.c:242
+#, c-format
+msgid "Unknown escape sequence in input: %o, %o\n"
+msgstr "Séquence d'échappement inconnue dans l'entrée: %o, %o\n"
+
+#: text-utils/ul.c:425
+#, c-format
+msgid "Unable to allocate buffer.\n"
+msgstr "Impossible d'allouer un tampon.\n"
+
+#: text-utils/ul.c:586
+#, c-format
+msgid "Input line too long.\n"
+msgstr "Ligne d'entrée trop longue.\n"
+
+#: text-utils/ul.c:599
+#, c-format
+msgid "Out of memory when growing buffer.\n"
+msgstr "Mémoire épuisée lors de l'accroissement du tampon.\n"
+
+#~ msgid "# partition table of %s\n"
+#~ msgstr "# table de partitions de %s\n"
+
+#~ msgid ""
+#~ "unit: sectors\n"
+#~ "\n"
+#~ msgstr ""
+#~ "unité: secteurs\n"
+#~ "\n"
+
+#~ msgid " start=%9lu"
+#~ msgstr "début=%9lu"
+
+#~ msgid ", size=%9lu"
+#~ msgstr ", taille=%9lu"
+
+#~ msgid ", bootable"
+#~ msgstr ", amorçable"
+
+#~ msgid "Clock in UTC, not changed.\n"
+#~ msgstr "Horloge au format UTC, non modifiée.\n"
+
+#~ msgid "%s: error: label only with v1 swap area\n"
+#~ msgstr "%s: erreur: étiquette avec un espace d'échange v1 seulement\n"
+
+#~ msgid "fatal: first page unreadable"
+#~ msgstr "ERREUR FATALE: la première page est illisible"
+
+#~ 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: le périphérique « %s » contient une étiquette de disque Sun valide.\n"
+#~ "Cela signifie que créer une zone d'change (swap) v0 détruira la table de "
+#~ "partitions.\n"
+#~ "Aucune zone d'échange(swap) n'a été créée. Si vous désirez en créer une "
+#~ "sur ce\n"
+#~ "périphérique, utilisez l'option -f pour forcer sa création.\n"
+
+#~ msgid "namei: unable to get current directory - %s\n"
+#~ msgstr "namei: incapable de repérer le répertoire courant - %s\n"
+
+#~ msgid "namei: unable to chdir to %s - %s (%d)\n"
+#~ msgstr "namei: incapable de changer de répertoire vers %s - %s (%d)\n"
+
+#~ msgid "namei: could not chdir to root!\n"
+#~ msgstr "namei: ne peut changer de répertoire vers root!\n"
+
+#~ msgid "namei: could not stat root!\n"
+#~ msgstr "namei: ne peut évaluer par stat() root!\n"
+
+#~ msgid "namei: buf overflow\n"
+#~ msgstr "namei: débordement de tampon\n"
+
+#~ msgid " ? could not chdir into %s - %s (%d)\n"
+#~ msgstr " ? ne peut changer de répertoire dans %s - %s (%d)\n"
+
+#~ msgid " ? problems reading symlink %s - %s (%d)\n"
+#~ msgstr " ? problèmes de lecture des liens symboliques %s - %s (%d)\n"
+
+#~ msgid "  *** EXCEEDED UNIX LIMIT OF SYMLINKS ***\n"
+#~ msgstr "  *** LIMITE DES LIENS SYMBOLIQUE DÉPASSÉE ***\n"
+
+#~ msgid "namei: unknown file type 0%06o on file %s\n"
+#~ msgstr "namei: type de fichier inconnu 0%06o du le fichier %s\n"
+
+#~ msgid "mount: going to mount %s by %s\n"
+#~ msgstr "mount : montage de %s par %s\n"
+
+#~ msgid "mount: no LABEL=, no UUID=, going to mount %s by path\n"
+#~ msgstr "mount : pas de LABEL, pas d'UUID, montage de %s suivant le chemin\n"
+
+#~ msgid "%s: cannot fork: %s\n"
+#~ msgstr "%s: échec de création d'un processus \"fork\" : %s\n"
+
+#~ msgid "%s: waitpid: %s\n"
+#~ msgstr "%s: waitpid: %s\n"
+
+#~ msgid "%s: cannot stat %s: %s\n"
+#~ msgstr "%s: ne peut évaluer pas stat() %s: %s\n"
+
+#~ msgid "could not umount %s - trying %s instead\n"
+#~ msgstr "ne peut démonter %s - essayer %s à la place\n"
+
+#~ msgid "`%s': bad directory: '.' isn't first\n"
+#~ msgstr "« %s »: répertoire corrompu: « . » n'apparaît pas en premier\n"
+
+#~ msgid "`%s': bad directory: '..' isn't second\n"
+#~ msgstr "« %s »: répertoire corrompu: « .. » n'apparaît pas en second\n"
+
+#~ msgid "calling open_tty\n"
+#~ msgstr "appel de open_tty\n"
+
+#~ msgid "calling termio_init\n"
+#~ msgstr "appel de termio_init\n"
+
+#~ msgid "writing init string\n"
+#~ msgstr "chaîne d'initialisation en écriture\n"
+
+#~ msgid "before autobaud\n"
+#~ msgstr "avant le mode autobaud\n"
+
+#~ msgid "waiting for cr-lf\n"
+#~ msgstr "en attente de cr-lf\n"
+
+#~ msgid "reading login name\n"
+#~ msgstr "lecture du nom de login\n"
+
+#~ msgid "after getopt loop\n"
+#~ msgstr "après la boucle getopt\n"
+
+#~ msgid "exiting parseargs\n"
+#~ msgstr "quitte parseargs\n"
+
+#~ msgid "entered parse_speeds\n"
+#~ msgstr "entre dans parse_speeds\n"
+
+#~ msgid "exiting parsespeeds\n"
+#~ msgstr "quitte parsespeeds\n"
+
+#~ msgid "open(2)\n"
+#~ msgstr "open(2)\n"
+
+#~ msgid "duping\n"
+#~ msgstr "dup() en cours\n"
+
+#~ msgid "term_io 2\n"
+#~ msgstr "term_io 2\n"
+
+#~ msgid "Password error."
+#~ msgstr "Erreur de mot de passe"
+
+#~ msgid "Warning: \"%s\" is not listed in /etc/shells\n"
+#~ msgstr "AVERTISSEMENT: « %s » n'apparaît pas dans /etc/shells\n"
+
+#~ msgid "Can't read %s, exiting."
+#~ msgstr "Ne peut lire %s, abandon."
+
+#~ msgid "timeout = %d, quiet = %d, reboot = %d\n"
+#~ msgstr "expiration du délai = %d, silencieux = %d, réamorçage = %d\n"
+
+#~ msgid "couldn't read %s, and cannot ioctl dump\n"
+#~ msgstr "ne peut lire %s et ne peut peut faire un dump via ioctl()\n"
+
+#~ msgid ", offset %lld"
+#~ msgstr ", décalage %lld"
+
+#~ msgid "%s: could not find any device /dev/loop#"
+#~ msgstr "%s: ne peut trouver un périphérique quelconque /dev/loop#"
+
+#~ msgid "mount: backgrounding \"%s\"\n"
+#~ msgstr "mount: mise en arrière plan de \"%s\"\n"
+
+#~ msgid "mount: giving up \"%s\"\n"
+#~ msgstr "mount: abandon \"%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 ""
+#~ "usage: %s [-hV]\n"
+#~ "       %s -a [-e] [-v]\n"
+#~ "       %s [-v] [-p priorité] spécial|ÉTIQUETTE=nom_du_volume ...\n"
+#~ "       %s [-s]\n"
+
+#~ msgid ""
+#~ "usage: %s [-hV]\n"
+#~ "       %s -a [-v]\n"
+#~ "       %s [-v] special ...\n"
+#~ msgstr ""
+#~ "usage: %s [-hV]\n"
+#~ "       %s -a [-v]\n"
+#~ "       %s [-v] spécial ...\n"
+
+#, fuzzy
+#~ msgid "%s: cannot canonicalize %s: %s\n"
+#~ msgstr "%s: ne peut ouvrir %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 ""
+#~ "usage: renice priorité [ [ -p ] pids ] [ [ -g ] pgrps ] [ [ -u ] "
+#~ "usagers ]\n"
+
+#, fuzzy
+#~ msgid "Unknown option `%c' ignored"
+#~ msgstr "%s: option inconnue \"-%c\"\n"
+
+#~ msgid ""
+#~ "Exceeded MAXENTRIES.  Raise this value in mkcramfs.c and recompile.  "
+#~ "Exiting.\n"
+#~ msgstr ""
+#~ "Dépassement de MAXENTRIES. Augmenter la valeur dans mkcramfs.c et "
+#~ "recompiler. Fin d'exécution.\n"
+
+#~ msgid "Assuming pages of size %d (not %d)\n"
+#~ msgstr "On assume des pages de taille %d (et non pas de %d)\n"
+
+#~ msgid "Autoconfigure found a %s%s%s\n"
+#~ msgstr "L'autoconfiguration a repéré %s%s%s\n"
+
+#~ msgid ""
+#~ "Drive type\n"
+#~ "   ?   auto configure\n"
+#~ "   0   custom (with hardware detected defaults)"
+#~ msgstr ""
+#~ "Type de périphérique\n"
+#~ "   ?   autoconfiguration\n"
+#~ "   0   configuration manuelle (à l'aide de la détection\n"
+#~ "        matérielle des paramètres par défaut)"
+
+#~ msgid "Select type (? for auto, 0 for custom): "
+#~ msgstr ""
+#~ "Sélectionner le type (? pour autoconfiguration, 0 pour configuration "
+#~ "manuelle)"
+
+#~ msgid "Autoconfigure failed.\n"
+#~ msgstr "Échec d'autoconfiguration.\n"
+
+#~ msgid "Alternate cylinders"
+#~ msgstr "Cylindres alternatifs"
+
+#~ msgid "Physical cylinders"
+#~ msgstr "Cylindres physiques"
+
+#~ msgid "You may change all the disk params from the x menu"
+#~ msgstr ""
+#~ "Vous pouvez modifier toues les paramètres du disque à partir du menu x"
+
+#~ msgid "3,5\" floppy"
+#~ msgstr "3,5\" disquette"
+
+#~ msgid "Linux custom"
+#~ msgstr "Configuration Linux"
+
+#~ msgid "%s from util-linux-%s\n"
+#~ msgstr "%s de util-linux-%s\n"
+
+#~ msgid "%s from %s%s\n"
+#~ msgstr "%s de %s%s\n"
+
+#~ msgid "%s: error: the label %s occurs on both %s and %s\n"
+#~ msgstr "%s: erreur: l'étiquette %s apparaît à la fois sur %s et %s\n"
+
+#~ msgid ""
+#~ "%s: could not open %s, so UUID and LABEL conversion cannot be done.\n"
+#~ msgstr ""
+#~ "%s: ne peut ouvrir %s, aussi la conversion de UUID et de l'ÉTIQUETTE ne "
+#~ "peut être faite.\n"
+
+#~ msgid "%s: bad UUID"
+#~ msgstr "%s: UUID erroné"
+
+#~ msgid "mount: failed with nfs mount version 4, trying 3..\n"
+#~ msgstr "mount: échec avec la version 4 de mount nfs, on tente la 3..\n"
+
+#~ msgid "mount: mounting %s\n"
+#~ msgstr "mount: on monte %s\n"
+
+#~ msgid "mount: cannot find %s in %s"
+#~ msgstr "mount: ne peut repérer %s dans %s"
+
+#~ msgid "mount: error while guessing filesystem type\n"
+#~ msgstr ""
+#~ "mount: error lors de la tentative d'identification du système de "
+#~ "fichiers\n"
+
+#~ msgid "mount: excessively long host:dir argument\n"
+#~ msgstr "mount: argument excessivement long  pour hôte:répertoire\n"
+
+#~ msgid "mount: warning: multiple hostnames not supported\n"
+#~ msgstr "mount: AVERTISSEMENT: multiples noms d'hôtes non supportés\n"
+
+#~ msgid "mount: directory to mount not in host:dir format\n"
+#~ msgstr ""
+#~ "mount: le répertoire à monter n'utilise pas le format hôte:répertoire\n"
+
+#~ msgid "mount: can't get address for %s\n"
+#~ msgstr "mount: ne peut obtenir l'adresse de %s\n"
+
+#~ msgid "mount: got bad hp->h_length\n"
+#~ msgstr "mount: a obtenu un hp->h_length erroné\n"
+
+#~ msgid "mount: excessively long option argument\n"
+#~ msgstr "mount: argument excessivement long pour une option\n"
+
+#~ msgid "Warning: Unrecognized proto= option.\n"
+#~ msgstr "AVERTISSEMENT: l'option proto= n'est pas reconnue.\n"
+
+#~ msgid "Warning: Option namlen is not supported.\n"
+#~ msgstr "AVERTISSEMENT: l'option namlen n'est pas supportée.\n"
+
+#~ msgid "unknown nfs mount parameter: %s=%d\n"
+#~ msgstr "paramètre mount nfs inconnu: %s=%d\n"
+
+#~ msgid "Warning: option nolock is not supported.\n"
+#~ msgstr "AVERTISSEMENT: l'option nolock n'est pas supportée.\n"
+
+#~ msgid "unknown nfs mount option: %s%s\n"
+#~ msgstr "option mount nfs inconnue: %s%s\n"
+
+#~ msgid "mount: got bad hp->h_length?\n"
+#~ msgstr "mount: a obtenu un hp->h_length erroné?\n"
+
+#~ msgid "nfs bindresvport"
+#~ msgstr "bindresvport nfs"
+
+#~ msgid "nfs server reported service unavailable"
+#~ msgstr "serveur nfs rapporte que le service n'est pas disponible"
+
+#~ msgid "used portmapper to find NFS port\n"
+#~ msgstr "utilisation du portmapper pour repérer le port NFS\n"
+
+#~ msgid "using port %d for nfs deamon\n"
+#~ msgstr "utilisation du port %d pour le démon nfs\n"
+
+#~ msgid "unknown nfs status return value: %d"
+#~ msgstr "valeur d'état retournée nfs inconnue: %d"
+
+#~ msgid "host: %s, directory: %s\n"
+#~ msgstr "hôte: %s, répertoire: %s\n"
+
+#~ msgid "umount: can't get address for %s\n"
+#~ msgstr "umount: ne peut obtenir l'adresse pour %s\n"
+
+#~ msgid "umount: got bad hostp->h_length\n"
+#~ msgstr "umount: a obtenu un hostp->h_length erroné\n"
+
+#~ msgid "%s: invalid cramfs--bad path length\n"
+#~ msgstr "%s: cramfs invalide -- longueur invalide du chemin\n"
+
+#~ msgid "%s: invalid cramfs--wrong magic\n"
+#~ msgstr "%s: cramfs invalide -- nombre magique erroné\n"
+
+#~ msgid "%s: warning--file length too long, padded image?\n"
+#~ msgstr ""
+#~ "%s: AVERTISSEMENT - longueur du fichier trop longue, remplissage de "
+#~ "l'image?\n"
+
+#~ msgid "%s: invalid cramfs--crc error\n"
+#~ msgstr "%s: cramfs invalide -- erreur CRC\n"
+
+#~ msgid "%s: invalid cramfs--bad superblock\n"
+#~ msgstr "%s: cramfs invalide -- superbloc erroné\n"
+
+#~ msgid "flock: unknown option, aborting.\n"
+#~ msgstr "flock: option inconnue, annulation de l'opération \n"
+
+#~ msgid ""
+#~ "Usage flock [--shared] [--timeout=seconds] filename command {arg arg...}\n"
+#~ msgstr ""
+#~ "Usage flock [--shared [--timeout=secondes] nom_de_fichier commande {arg "
+#~ "arg...}\n"
+
+#~ msgid "Syntax error: '%s'\n"
+#~ msgstr "Erreur de syntaxe: « %s »\n"
+
+#~ msgid "No such parameter set: '%s'\n"
+#~ msgstr "Aucun paramètre de ce type initialisé: « %s »\n"
+
+#~ msgid "   %s [ -p ] dev name\n"
+#~ msgstr "   %s [ -p ] périphérique nom\n"
diff --git a/po/hu.gmo b/po/hu.gmo
new file mode 100644 (file)
index 0000000..66bdd47
Binary files /dev/null and b/po/hu.gmo differ
diff --git a/po/hu.po b/po/hu.po
new file mode 100644 (file)
index 0000000..4af47e9
--- /dev/null
+++ b/po/hu.po
@@ -0,0 +1,11964 @@
+# Hungarian translation of util-linux-ng
+# Copyright (C) 2002, 2007, 2008 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.
+msgid ""
+msgstr ""
+"Project-Id-Version: util-linux-ng 2.14-rc2\n"
+"Report-Msgid-Bugs-To: Karel Zak <kzak@redhat.com>\n"
+"POT-Creation-Date: 2009-11-30 16:27+0100\n"
+"PO-Revision-Date: 2008-05-21 18:25+0200\n"
+"Last-Translator: Gabor Kelemen <kelemeng@gnome.hu>\n"
+"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\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/blockdev.c:37
+msgid "set read-only"
+msgstr "beállítás csak olvashatóra"
+
+#: disk-utils/blockdev.c:38
+msgid "set read-write"
+msgstr "beállítás írhatóra és olvashatóra"
+
+#: disk-utils/blockdev.c:39
+msgid "get read-only"
+msgstr "csak olvasható állapot lekérése"
+
+#: disk-utils/blockdev.c:40
+msgid "get sectorsize"
+msgstr "szektorméret lekérése"
+
+#: disk-utils/blockdev.c:41
+msgid "get blocksize"
+msgstr "blokkméret lekérése"
+
+#: disk-utils/blockdev.c:42
+msgid "set blocksize"
+msgstr "blokkméret beállítása"
+
+#: disk-utils/blockdev.c:43
+msgid "get 32-bit sector count"
+msgstr "32 bites szektorok számának lekérése"
+
+#: disk-utils/blockdev.c:44
+msgid "get size in bytes"
+msgstr "méret lekérése bájtokban"
+
+#: disk-utils/blockdev.c:45
+msgid "set readahead"
+msgstr "előreolvasás beállítása"
+
+#: disk-utils/blockdev.c:46
+msgid "get readahead"
+msgstr "előreolvasás lekérése"
+
+#: disk-utils/blockdev.c:47
+msgid "set filesystem readahead"
+msgstr "fájlrendszer előreolvasásának beállítása"
+
+#: disk-utils/blockdev.c:48
+msgid "get filesystem readahead"
+msgstr "fájlrendszer előreolvasásának lekérése"
+
+#: disk-utils/blockdev.c:49
+msgid "flush buffers"
+msgstr "pufferek ürítése"
+
+#: disk-utils/blockdev.c:51
+msgid "reread partition table"
+msgstr "partíciós tábla újraolvasása"
+
+#: disk-utils/blockdev.c:60
+#, c-format
+msgid "Usage:\n"
+msgstr "Használat:\n"
+
+#: disk-utils/blockdev.c:62
+#, c-format
+msgid "  %s --report [devices]\n"
+msgstr "  %s --report [eszközök]\n"
+
+#: disk-utils/blockdev.c:63
+#, c-format
+msgid "  %s [-v|-q] commands devices\n"
+msgstr "  %s [-v|-q] parancsok eszközök\n"
+
+#: disk-utils/blockdev.c:66
+#, c-format
+msgid "Available commands:\n"
+msgstr "Elérhető parancsok:\n"
+
+#: disk-utils/blockdev.c:68
+msgid "get size in 512-byte sectors"
+msgstr "méret lekérése 512 bájtos szektorokban"
+
+#: disk-utils/blockdev.c:201
+#, c-format
+msgid "%s: Unknown command: %s\n"
+msgstr "%s: Ismeretlen parancs: %s\n"
+
+#: disk-utils/blockdev.c:213 disk-utils/blockdev.c:222
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s egy paramétert igényel\n"
+
+#: disk-utils/blockdev.c:255
+#, c-format
+msgid "%s failed.\n"
+msgstr "%s meghiúsult.\n"
+
+#: disk-utils/blockdev.c:292
+#, c-format
+msgid "%s succeeded.\n"
+msgstr "%s sikeres.\n"
+
+#: disk-utils/blockdev.c:310 disk-utils/blockdev.c:338
+#, c-format
+msgid "%s: cannot open %s\n"
+msgstr "%s: %s nem nyitható meg\n"
+
+#: disk-utils/blockdev.c:355
+#, c-format
+msgid "%s: ioctl error on %s\n"
+msgstr "%s: ioctl hiba a következőn: %s\n"
+
+#: disk-utils/blockdev.c:364
+#, 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/elvtune.c:48
+#, c-format
+msgid "usage:\n"
+msgstr "Használat:\n"
+
+#: disk-utils/elvtune.c:53
+#, c-format
+msgid "\tNOTE: elvtune only works with 2.4 kernels\n"
+msgstr ""
+
+#: disk-utils/elvtune.c:104
+#, fuzzy, c-format
+msgid "parse error\n"
+msgstr "pozicionálási hiba"
+
+#: disk-utils/elvtune.c:110
+#, c-format
+msgid "missing blockdevice, use -h for help\n"
+msgstr ""
+
+#: disk-utils/elvtune.c:131
+#, 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:31
+#, c-format
+msgid "Formatting ... "
+msgstr "Formázás ... "
+
+#: disk-utils/fdformat.c:49 disk-utils/fdformat.c:86
+#, c-format
+msgid "done\n"
+msgstr "kész\n"
+
+#: disk-utils/fdformat.c:60
+#, 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:80
+#, 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:96
+#, c-format
+msgid "usage: %s [ -n ] device\n"
+msgstr "Használat: %s [-n] eszköz\n"
+
+#: disk-utils/fdformat.c:118 disk-utils/fsck.minix.c:1282
+#: disk-utils/isosize.c:181 disk-utils/mkfs.bfs.c:115 disk-utils/mkfs.c:52
+#: disk-utils/mkfs.cramfs.c:813 disk-utils/mkfs.minix.c:571
+#: disk-utils/mkswap.c:461 misc-utils/ddate.c:179 misc-utils/rename.c:79
+#: misc-utils/script.c:147 sys-utils/readprofile.c:197
+#, c-format
+msgid "%s (%s)\n"
+msgstr "%s (%s)\n"
+
+#: disk-utils/fdformat.c:132
+#, c-format
+msgid "%s: not a block device\n"
+msgstr "%s: ez nem blokkos eszköz\n"
+
+#: disk-utils/fdformat.c:142
+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:143
+#, 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:144
+msgid "Double"
+msgstr "Dupla"
+
+#: disk-utils/fdformat.c:144
+msgid "Single"
+msgstr "Szimpla"
+
+#: disk-utils/fsck.cramfs.c:118
+#, c-format
+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"
+
+#: disk-utils/fsck.cramfs.c:164
+#, fuzzy, c-format
+msgid "stat failed: %s"
+msgstr "(Következő fájl: %s)"
+
+#: disk-utils/fsck.cramfs.c:168 disk-utils/fsck.cramfs.c:552
+#, fuzzy, c-format
+msgid "open failed: %s"
+msgstr "az openpty meghiúsult\n"
+
+#: disk-utils/fsck.cramfs.c:173
+#, c-format
+msgid "ioctl failed: unable to determine device size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:181
+#, fuzzy, c-format
+msgid "not a block device or file: %s"
+msgstr "%s: ez nem blokkos eszköz\n"
+
+#: disk-utils/fsck.cramfs.c:185 disk-utils/fsck.cramfs.c:227
+msgid "file length too short"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:190 disk-utils/fsck.cramfs.c:198
+#: disk-utils/fsck.cramfs.c:259 disk-utils/fsck.cramfs.c:279
+#, fuzzy, c-format
+msgid "read failed: %s"
+msgstr "(Következő fájl: %s)"
+
+#: disk-utils/fsck.cramfs.c:208
+msgid "superblock magic not found"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:217
+#, fuzzy
+msgid "unsupported filesystem features"
+msgstr "Adja meg a fájlrendszer típusát: "
+
+#: disk-utils/fsck.cramfs.c:220
+#, fuzzy, c-format
+msgid "superblock size (%d) too small"
+msgstr "a blokkok száma túl kicsi"
+
+#: disk-utils/fsck.cramfs.c:224
+msgid "zero file count"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:230
+#, fuzzy, c-format
+msgid "warning: file extends past end of filesystem\n"
+msgstr "Figyelmeztetés: a(z) %s partíció túlnyúlik a lemezen\n"
+
+#: disk-utils/fsck.cramfs.c:234
+#, c-format
+msgid "warning: old cramfs format\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:247
+msgid "unable to test CRC: old cramfs format"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:273 disk-utils/fsck.cramfs.c:340
+#: disk-utils/fsck.cramfs.c:478 login-utils/chfn.c:529 login-utils/chsh.c:439
+#: sys-utils/cytune.c:321
+msgid "malloc failed"
+msgstr "a malloc meghiúsult"
+
+#: disk-utils/fsck.cramfs.c:298
+#, fuzzy
+msgid "crc error"
+msgstr ", hiba"
+
+#: disk-utils/fsck.cramfs.c:365
+#, fuzzy
+msgid "root inode is not directory"
+msgstr "a gyökér inode nem könyvtár"
+
+#: disk-utils/fsck.cramfs.c:370
+#, c-format
+msgid "bad root offset (%lu)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:388
+msgid "data block too large"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:392
+#, c-format
+msgid "decompression error %p(%d): %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:416
+#, fuzzy, c-format
+msgid "  hole at %ld (%zd)\n"
+msgstr "a várt érték: (%d, %d, %d)\n"
+
+#: disk-utils/fsck.cramfs.c:424 disk-utils/fsck.cramfs.c:596
+#, c-format
+msgid "  uncompressing block at %ld to %ld (%ld)\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:430
+#, fuzzy, c-format
+msgid "non-block (%ld) bytes"
+msgstr "Szuperblokk: %zd bájt\n"
+
+#: disk-utils/fsck.cramfs.c:434
+#, c-format
+msgid "non-size (%ld vs %ld) bytes"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:440
+#, fuzzy, c-format
+msgid "write failed: %s"
+msgstr "(Következő fájl: %s)"
+
+#: disk-utils/fsck.cramfs.c:453
+#, fuzzy, c-format
+msgid "lchown failed: %s"
+msgstr "a csatolás meghiúsult"
+
+#: disk-utils/fsck.cramfs.c:459
+#, fuzzy, c-format
+msgid "chown failed: %s"
+msgstr "a csatolás meghiúsult"
+
+#: disk-utils/fsck.cramfs.c:466
+#, fuzzy, c-format
+msgid "utime failed: %s"
+msgstr "hibás időkorlátérték: %s"
+
+#: disk-utils/fsck.cramfs.c:481
+#, c-format
+msgid "directory inode has zero offset and non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:495
+#, fuzzy, c-format
+msgid "mkdir failed: %s"
+msgstr "/dev: a chdir() meghiúsult: %m"
+
+#: disk-utils/fsck.cramfs.c:512
+msgid "filename length is zero"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:515
+msgid "bad filename length"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:522
+#, fuzzy
+msgid "bad inode offset"
+msgstr "hibás inode méret"
+
+#: disk-utils/fsck.cramfs.c:538
+msgid "file inode has zero offset and non-zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:541
+msgid "file inode has zero size and non-zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:572
+msgid "symbolic link has zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:575
+msgid "symbolic link has zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:587
+#, fuzzy, c-format
+msgid "size error in symlink: %s"
+msgstr "hiba a(z) %s írásakor: %s"
+
+#: disk-utils/fsck.cramfs.c:602
+#, fuzzy, c-format
+msgid "symlink failed: %s"
+msgstr "az fsync meghiúsult"
+
+#: disk-utils/fsck.cramfs.c:614
+#, c-format
+msgid "special file has non-zero offset: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:626
+#, c-format
+msgid "fifo has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:632
+#, c-format
+msgid "socket has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:637
+#, c-format
+msgid "bogus mode: %s (%o)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:647
+#, fuzzy, c-format
+msgid "mknod failed: %s"
+msgstr "a csatolás meghiúsult"
+
+#: disk-utils/fsck.cramfs.c:683
+#, c-format
+msgid "directory data start (%ld) < sizeof(struct cramfs_super) + start (%ld)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:686
+#, c-format
+msgid "directory data end (%ld) != file data start (%ld)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:691
+#, fuzzy
+msgid "invalid file data offset"
+msgstr "érvénytelen azonosító: %s\n"
+
+#: disk-utils/fsck.cramfs.c:715
+#, fuzzy
+msgid "failed to allocate outbuffer"
+msgstr "Nem foglalható le puffert.\n"
+
+#: disk-utils/fsck.cramfs.c:728
+#, fuzzy
+msgid "compiled without -x support"
+msgstr "umount: a program a -f kapcsoló támogatása nélkül lett lefordítva\n"
+
+#: disk-utils/fsck.minix.c:210
+#, c-format
+msgid "Usage: %s [-larvsmf] /dev/name\n"
+msgstr "Használat: %s [-larvsmf] /dev/név\n"
+
+#: disk-utils/fsck.minix.c:326
+#, c-format
+msgid "%s is mounted.\t "
+msgstr "%s csatolva van.\t"
+
+#: disk-utils/fsck.minix.c:328
+msgid "Do you really want to continue"
+msgstr "Valóban folytatni akarja?"
+
+#: disk-utils/fsck.minix.c:332
+#, c-format
+msgid "check aborted.\n"
+msgstr "ellenőrzés megszakítva.\n"
+
+#: disk-utils/fsck.minix.c:351 disk-utils/fsck.minix.c:374
+#, 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:355 disk-utils/fsck.minix.c:378
+#, 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:360 disk-utils/fsck.minix.c:383
+msgid "Remove block"
+msgstr "A blokk eltávolítása"
+
+#: disk-utils/fsck.minix.c:401
+#, 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:407
+#, 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:422
+#, 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:428 disk-utils/mkfs.minix.c:209
+msgid "seek failed in write_block"
+msgstr "a pozicionálás meghiúsult a write_block-ban"
+
+#: disk-utils/fsck.minix.c:431
+#, 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:547
+msgid "seek failed in write_super_block"
+msgstr "a pozicionálás meghiúsult a write_super_block-ban"
+
+#: disk-utils/fsck.minix.c:549 disk-utils/mkfs.minix.c:196
+msgid "unable to write super-block"
+msgstr "a szuperblokk nem írható"
+
+#: disk-utils/fsck.minix.c:559
+msgid "Unable to write inode map"
+msgstr "Az inode térkép nem írható"
+
+#: disk-utils/fsck.minix.c:561
+msgid "Unable to write zone map"
+msgstr "A zónatérkép nem írható"
+
+#: disk-utils/fsck.minix.c:563
+msgid "Unable to write inodes"
+msgstr "Az inode-ok nem írhatók"
+
+#: disk-utils/fsck.minix.c:590
+msgid "seek failed"
+msgstr "a pozicionálás meghiúsult"
+
+#: disk-utils/fsck.minix.c:592
+msgid "unable to read super block"
+msgstr "a szuperblokk nem olvasható"
+
+#: disk-utils/fsck.minix.c:610
+msgid "bad magic number in super-block"
+msgstr "hibás bűvös szám a szuperblokkban"
+
+#: disk-utils/fsck.minix.c:612
+msgid "Only 1k blocks/zones supported"
+msgstr "Csak 1k blokk/zóna támogatott"
+
+#: disk-utils/fsck.minix.c:614
+msgid "bad s_imap_blocks field in super-block"
+msgstr "hibás s_imap_blocks mező a szuperblokkban"
+
+#: disk-utils/fsck.minix.c:616
+msgid "bad s_zmap_blocks field in super-block"
+msgstr "hibás s_zmap_blocks mező a szuperblokkban"
+
+#: disk-utils/fsck.minix.c:623
+msgid "Unable to allocate buffer for inode map"
+msgstr "Nem foglalható le puffer az inode térképnek"
+
+#: disk-utils/fsck.minix.c:626
+msgid "Unable to allocate buffer for zone map"
+msgstr "Nem foglalható le puffer a zónatérképnek"
+
+#: disk-utils/fsck.minix.c:631
+msgid "Unable to allocate buffer for inodes"
+msgstr "Nem foglalható le puffer az inode-oknak"
+
+#: disk-utils/fsck.minix.c:634
+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:637
+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:639
+msgid "Unable to read inode map"
+msgstr "Az inode térkép nem olvasható"
+
+#: disk-utils/fsck.minix.c:641
+msgid "Unable to read zone map"
+msgstr "A zónatérkép nem olvasható"
+
+#: disk-utils/fsck.minix.c:643
+msgid "Unable to read inodes"
+msgstr "Az inode-ok nem olvashatók"
+
+#: disk-utils/fsck.minix.c:645
+#, c-format
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr "Figyelmeztetés: Firstzone != Norm_firstzone\n"
+
+#: disk-utils/fsck.minix.c:650 disk-utils/mkfs.minix.c:450
+#, c-format
+msgid "%ld inodes\n"
+msgstr "%ld inode\n"
+
+#: disk-utils/fsck.minix.c:651 disk-utils/mkfs.minix.c:451
+#, c-format
+msgid "%ld blocks\n"
+msgstr "%ld blokk\n"
+
+#: disk-utils/fsck.minix.c:652 disk-utils/mkfs.minix.c:452
+#, c-format
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr "Első adatzóna=%ld (%ld)\n"
+
+#: disk-utils/fsck.minix.c:653 disk-utils/mkfs.minix.c:453
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr "Zónaméret=%d\n"
+
+#: disk-utils/fsck.minix.c:654
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr "Max. méret=%ld\n"
+
+#: disk-utils/fsck.minix.c:655
+#, c-format
+msgid "Filesystem state=%d\n"
+msgstr "Fájlrendszer állapota=%d\n"
+
+#: disk-utils/fsck.minix.c:656
+#, c-format
+msgid ""
+"namelen=%d\n"
+"\n"
+msgstr ""
+"névhossz=%d\n"
+"\n"
+
+#: disk-utils/fsck.minix.c:671 disk-utils/fsck.minix.c:722
+#, 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:675 disk-utils/fsck.minix.c:726
+msgid "Mark in use"
+msgstr "Megjelölés használtként"
+
+#: disk-utils/fsck.minix.c:697 disk-utils/fsck.minix.c:746
+#, 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:704 disk-utils/fsck.minix.c:752
+#, 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:764 disk-utils/fsck.minix.c:772
+msgid "root inode isn't a directory"
+msgstr "a gyökér inode nem könyvtár"
+
+#: disk-utils/fsck.minix.c:786 disk-utils/fsck.minix.c:819
+#, 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:788 disk-utils/fsck.minix.c:821
+#: disk-utils/fsck.minix.c:1144 disk-utils/fsck.minix.c:1153
+#: disk-utils/fsck.minix.c:1199 disk-utils/fsck.minix.c:1208
+msgid "Clear"
+msgstr "Törlés"
+
+#: disk-utils/fsck.minix.c:798 disk-utils/fsck.minix.c:831
+#, 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:800 disk-utils/fsck.minix.c:833
+msgid "Correct"
+msgstr "Javítás"
+
+#: disk-utils/fsck.minix.c:972 disk-utils/fsck.minix.c:1039
+#, 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:975 disk-utils/fsck.minix.c:1042
+msgid " Remove"
+msgstr " Eltávolítás"
+
+#: disk-utils/fsck.minix.c:989 disk-utils/fsck.minix.c:1056
+#, 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:997 disk-utils/fsck.minix.c:1065
+#, 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:1099 disk-utils/fsck.minix.c:1117
+msgid "internal error"
+msgstr "belső hiba"
+
+#: disk-utils/fsck.minix.c:1102 disk-utils/fsck.minix.c:1120
+#, c-format
+msgid "%s: bad directory: size < 32"
+msgstr "%s: hibás könyvtár, a méret < 32"
+
+#: disk-utils/fsck.minix.c:1133
+msgid "seek failed in bad_zone"
+msgstr "a pozicionálás meghiúsult a bad_zone-ban"
+
+#: disk-utils/fsck.minix.c:1143 disk-utils/fsck.minix.c:1198
+#, c-format
+msgid "Inode %d mode not cleared."
+msgstr "A(z) %d. inode módja nem került törlésre."
+
+#: disk-utils/fsck.minix.c:1152 disk-utils/fsck.minix.c:1207
+#, c-format
+msgid "Inode %d 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:1158 disk-utils/fsck.minix.c:1213
+#, c-format
+msgid "Inode %d 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:1160 disk-utils/fsck.minix.c:1214
+msgid "Set"
+msgstr "Beállítás"
+
+#: disk-utils/fsck.minix.c:1164 disk-utils/fsck.minix.c:1218
+#, c-format
+msgid "Inode %d (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:1166 disk-utils/fsck.minix.c:1220
+msgid "Set i_nlinks to count"
+msgstr "A i_nlinks beállítása a számra"
+
+#: disk-utils/fsck.minix.c:1178 disk-utils/fsck.minix.c:1232
+#, c-format
+msgid "Zone %d: 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:1179 disk-utils/fsck.minix.c:1234
+msgid "Unmark"
+msgstr "Megjelölés törlése"
+
+#: disk-utils/fsck.minix.c:1184 disk-utils/fsck.minix.c:1239
+#, c-format
+msgid "Zone %d: in use, counted=%d\n"
+msgstr "%d. zóna: használatban, számlált=%d\n"
+
+#: disk-utils/fsck.minix.c:1187 disk-utils/fsck.minix.c:1242
+#, c-format
+msgid "Zone %d: not in use, counted=%d\n"
+msgstr "%d. zóna: nincs használatban, számlált=%d\n"
+
+#: disk-utils/fsck.minix.c:1287 disk-utils/mkfs.minix.c:576
+#: disk-utils/mkfs.minix.c:578
+msgid "bad inode size"
+msgstr "hibás inode méret"
+
+#: disk-utils/fsck.minix.c:1289
+msgid "bad v2 inode size"
+msgstr "hibás v2 inode méret"
+
+#: disk-utils/fsck.minix.c:1315
+msgid "need terminal for interactive repairs"
+msgstr "az interaktív helyreállításhoz terminál szükséges"
+
+#: disk-utils/fsck.minix.c:1319
+#, c-format
+msgid "unable to open '%s': %s"
+msgstr "a(z) „%s” nem nyitható meg: %s"
+
+#: disk-utils/fsck.minix.c:1334
+#, 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:1338
+#, 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:1340
+#, 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:1373
+#, c-format
+msgid ""
+"\n"
+"%6ld inodes used (%ld%%)\n"
+msgstr ""
+"\n"
+"%6ld inode használatban (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1378
+#, c-format
+msgid "%6ld zones used (%ld%%)\n"
+msgstr "%6ld zóna használatban (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1380
+#, 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:1393
+#, 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
+#, c-format
+msgid "%s: failed to open: %s\n"
+msgstr "%s: a következő megnyitása meghiúsult: %s\n"
+
+#: disk-utils/isosize.c:135
+#, c-format
+msgid "%s: seek error on %s\n"
+msgstr "%s: pozicionálási hiba a következőn: %s\n"
+
+#: disk-utils/isosize.c:141
+#, c-format
+msgid "%s: read error on %s\n"
+msgstr "%s: olvasási hiba a következőn: %s\n"
+
+#: disk-utils/isosize.c:150
+#, c-format
+msgid "sector count: %d, sector size: %d\n"
+msgstr "szektorszám: %d, szektorméret: %d\n"
+
+#: disk-utils/isosize.c:200
+#, c-format
+msgid "%s: option parse error\n"
+msgstr "%s: kapcsolófeldolgozási hiba\n"
+
+#: disk-utils/isosize.c:208
+#, c-format
+msgid "Usage: %s [-x] [-d <num>] iso9660-image\n"
+msgstr "Használat: %s [-x] [-d <szám>] iso9660-kép\n"
+
+#: disk-utils/mkfs.bfs.c:84
+#, c-format
+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"
+
+#: disk-utils/mkfs.bfs.c:131
+msgid "volume name too long"
+msgstr "a kötetnév túl hosszú"
+
+#: disk-utils/mkfs.bfs.c:138
+msgid "fsname name too long"
+msgstr "a fájlrendszernév túl hosszú"
+
+#: disk-utils/mkfs.bfs.c:163
+#, c-format
+msgid "cannot stat device %s"
+msgstr "a(z) „%s” eszköz nem érhető el"
+
+#: disk-utils/mkfs.bfs.c:167
+#, 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:172 sys-utils/ldattach.c:205
+#, c-format
+msgid "cannot open %s"
+msgstr "a(z) %s nem nyitható meg"
+
+#: disk-utils/mkfs.bfs.c:183
+#, c-format
+msgid "cannot get size of %s"
+msgstr "a(z) „%s” mérete nem kérhető le"
+
+#: disk-utils/mkfs.bfs.c:188
+#, fuzzy, c-format
+msgid "blocks argument too large, max is %llu"
+msgstr "a blokkparaméter túl nagy, a maximum %lu"
+
+#: disk-utils/mkfs.bfs.c:203
+msgid "too many inodes - max is 512"
+msgstr "túl sok inode, a maximum 512"
+
+#: disk-utils/mkfs.bfs.c:212
+#, fuzzy, c-format
+msgid "not enough space, need at least %llu blocks"
+msgstr "nincs elég hely, legalább %lu blokk szükséges"
+
+#: disk-utils/mkfs.bfs.c:224 fdisk/fdisk.c:2345
+#, c-format
+msgid "Device: %s\n"
+msgstr "Eszköz: %s\n"
+
+#: disk-utils/mkfs.bfs.c:225
+#, c-format
+msgid "Volume: <%-6s>\n"
+msgstr "Kötet: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:226
+#, c-format
+msgid "FSname: <%-6s>\n"
+msgstr "Fájlrendszernév: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:227
+#, c-format
+msgid "BlockSize: %d\n"
+msgstr "Blokkméret: %d\n"
+
+#: disk-utils/mkfs.bfs.c:229
+#, c-format
+msgid "Inodes: %d (in 1 block)\n"
+msgstr "Inode-ok: %d (blokkonként)\n"
+
+#: disk-utils/mkfs.bfs.c:232
+#, fuzzy, c-format
+msgid "Inodes: %d (in %lld blocks)\n"
+msgstr "Inode-ok: %d (%ld blokkban)\n"
+
+#: disk-utils/mkfs.bfs.c:234
+#, fuzzy, c-format
+msgid "Blocks: %lld\n"
+msgstr "Blokkok: %ld\n"
+
+#: disk-utils/mkfs.bfs.c:235
+#, 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:240
+msgid "error writing superblock"
+msgstr "hiba a szuperblokk írása közben"
+
+#: disk-utils/mkfs.bfs.c:260
+msgid "error writing root inode"
+msgstr "hiba a gyökér inode írása közben"
+
+#: disk-utils/mkfs.bfs.c:265
+msgid "error writing inode"
+msgstr "hiba az inode írásakor"
+
+#: disk-utils/mkfs.bfs.c:268
+msgid "seek error"
+msgstr "pozicionálási hiba"
+
+#: disk-utils/mkfs.bfs.c:274
+msgid "error writing . entry"
+msgstr "hiba a . bejegyzés írásakor"
+
+#: disk-utils/mkfs.bfs.c:278
+msgid "error writing .. entry"
+msgstr "hiba a .. bejegyzés írásakor"
+
+#: disk-utils/mkfs.bfs.c:282
+#, c-format
+msgid "error closing %s"
+msgstr "hiba a(z) „%s” lezáráskor"
+
+#: disk-utils/mkfs.c:73
+#, c-format
+msgid "Usage: mkfs [-V] [-t fstype] [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:88 disk-utils/mkfs.c:96 fdisk/cfdisk.c:351
+#: getopt/getopt.c:86 getopt/getopt.c:96 login-utils/wall.c:246
+#, c-format
+msgid "%s: Out of memory!\n"
+msgstr "%s: A memória elfogyott!\n"
+
+#: disk-utils/mkfs.c:103
+#, c-format
+msgid "mkfs (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: disk-utils/mkfs.cramfs.c:126
+#, 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 ""
+"Használat: %s [-h] [-v] [-b blokkméret] [-e kiadás] [-i fájl] [-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"
+" -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:340
+#, c-format
+msgid ""
+"Very long (%zu bytes) filename `%s' found.\n"
+" Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile.  Exiting.\n"
+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:472
+#, c-format
+msgid "filesystem too big.  Exiting.\n"
+msgstr "a fájlrendszer túl nagy. Kilépés.\n"
+
+#: disk-utils/mkfs.cramfs.c:637
+#, 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:656
+#, c-format
+msgid "%6.2f%% (%+ld bytes)\t%s\n"
+msgstr "%6.2f%% (%+ld bájt)\t%s\n"
+
+#: disk-utils/mkfs.cramfs.c:854
+#, c-format
+msgid ""
+"warning: guestimate of required size (upper bound) is %lldMB, but maximum "
+"image size is %uMB.  We might die prematurely.\n"
+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:881
+msgid "ROM image map"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:895
+#, c-format
+msgid "Including: %s\n"
+msgstr "Beleértve: %s\n"
+
+#: disk-utils/mkfs.cramfs.c:901
+#, c-format
+msgid "Directory data: %zd bytes\n"
+msgstr "Könyvtáradatok: %zd bájt\n"
+
+#: disk-utils/mkfs.cramfs.c:909
+#, c-format
+msgid "Everything: %zd kilobytes\n"
+msgstr "Összesen: %zd kilobájt\n"
+
+#: disk-utils/mkfs.cramfs.c:914
+#, c-format
+msgid "Super block: %zd bytes\n"
+msgstr "Szuperblokk: %zd bájt\n"
+
+#: disk-utils/mkfs.cramfs.c:921
+#, c-format
+msgid "CRC: %x\n"
+msgstr "CRC: %x\n"
+
+#: disk-utils/mkfs.cramfs.c:926
+#, c-format
+msgid "not enough space allocated for ROM image (%lld allocated, %zu used)\n"
+msgstr ""
+"nincs elég hely lefoglalva a ROM képfájlnak (%lld lefoglalva, %zu "
+"használatban)\n"
+
+#: disk-utils/mkfs.cramfs.c:934
+msgid "ROM image"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:938
+#, c-format
+msgid "ROM image write failed (%zd %zd)\n"
+msgstr "A ROM képfájl írása meghiúsult (%zd %zd)\n"
+
+#: disk-utils/mkfs.cramfs.c:947
+#, c-format
+msgid "warning: filenames truncated to 255 bytes.\n"
+msgstr "figyelmeztetés: a fájlnevek 255 bájt hosszra csonkítva.\n"
+
+#: disk-utils/mkfs.cramfs.c:950
+#, c-format
+msgid "warning: files were skipped due to errors.\n"
+msgstr "figyelmeztetés: hibák történtek, emiatt fájlok kerültek kihagyásra.\n"
+
+#: disk-utils/mkfs.cramfs.c:953
+#, c-format
+msgid "warning: file sizes truncated to %luMB (minus 1 byte).\n"
+msgstr "figyelmeztetés: a fájlméretek %lu MB-ra (mínusz 1 bájt) csonkítva.\n"
+
+#: disk-utils/mkfs.cramfs.c:958
+#, c-format
+msgid ""
+"warning: uids truncated to %u bits.  (This may be a security concern.)\n"
+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:963
+#, c-format
+msgid ""
+"warning: gids truncated to %u bits.  (This may be a security concern.)\n"
+msgstr ""
+"figyelmeztetés: a csoportazonosítók %u bitre csonkítva.(Ez biztonsági "
+"probléma lehet.)\n"
+
+#: disk-utils/mkfs.cramfs.c:968
+#, c-format
+msgid ""
+"WARNING: device numbers truncated to %u bits.  This almost certainly means\n"
+"that some device files will be wrong.\n"
+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:156
+#, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]\n"
+msgstr "Használat: %s [-c | -l fájlnév] [-nXX] [-iXX] /dev/név [blokkok]\n"
+
+#: disk-utils/mkfs.minix.c:180
+#, 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:190
+msgid "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:192
+msgid "unable to clear boot sector"
+msgstr "a rendszerindító szektort nem lehet törölni"
+
+#: disk-utils/mkfs.minix.c:194
+msgid "seek failed in write_tables"
+msgstr "a pozicionálás sikertelen a write_tables-ben"
+
+#: disk-utils/mkfs.minix.c:198
+msgid "unable to write inode map"
+msgstr "az inode térkép nem írható"
+
+#: disk-utils/mkfs.minix.c:200
+msgid "unable to write zone map"
+msgstr "a zónatérkép nem írható"
+
+#: disk-utils/mkfs.minix.c:202
+msgid "unable to write inodes"
+msgstr "az inode-ok nem írhatók"
+
+#: disk-utils/mkfs.minix.c:211
+msgid "write failed in write_block"
+msgstr "az írás meghiúsult a write_block-ban"
+
+#: disk-utils/mkfs.minix.c:219 disk-utils/mkfs.minix.c:293
+#: disk-utils/mkfs.minix.c:342
+msgid "too many bad blocks"
+msgstr "túl sok hibás blokk"
+
+#: disk-utils/mkfs.minix.c:227
+msgid "not enough good blocks"
+msgstr "nincs elég jó blokk"
+
+#: disk-utils/mkfs.minix.c:439
+msgid "unable to allocate buffers for maps"
+msgstr "nem lehet puffereket lefoglalni a térképeknek"
+
+#: disk-utils/mkfs.minix.c:448
+msgid "unable to allocate buffer for inodes"
+msgstr "nem lehet puffereket lefoglalni az inode-oknak"
+
+#: disk-utils/mkfs.minix.c:454
+#, c-format
+msgid ""
+"Maxsize=%ld\n"
+"\n"
+msgstr ""
+"Max. méret=%ld\n"
+"\n"
+
+#: disk-utils/mkfs.minix.c:468
+msgid "seek failed during testing of blocks"
+msgstr "a pozicionálás meghiúsult a blokkok tesztelése közben"
+
+#: disk-utils/mkfs.minix.c:476
+#, 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:507 disk-utils/mkswap.c:313
+msgid "seek failed in check_blocks"
+msgstr "a pozicionálás meghiúsult a check_blocks-ban"
+
+#: disk-utils/mkfs.minix.c:516
+msgid "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:522 disk-utils/mkfs.minix.c:547
+#, c-format
+msgid "%d bad blocks\n"
+msgstr "%d hibás blokk\n"
+
+#: disk-utils/mkfs.minix.c:524 disk-utils/mkfs.minix.c:549
+#, c-format
+msgid "one bad block\n"
+msgstr "egy hibás blokk\n"
+
+#: disk-utils/mkfs.minix.c:534
+msgid "can't open file of bad blocks"
+msgstr "nem nyitható meg a hibás blokkok fájlja"
+
+#: disk-utils/mkfs.minix.c:538
+#, 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:539
+msgid "cannot read badblocks file"
+msgstr "hibás blokkok fájlja nem olvasható"
+
+#: disk-utils/mkfs.minix.c:619
+#, 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:638
+#, c-format
+msgid "unable to stat %s"
+msgstr "%s nem érhető el"
+
+#: disk-utils/mkfs.minix.c:644
+#, c-format
+msgid "unable to open %s"
+msgstr "%s nem nyitható meg"
+
+#: disk-utils/mkfs.minix.c:649
+#, c-format
+msgid "cannot determine sector size for %s"
+msgstr "a(z) %s szektormérete nem állapítható meg"
+
+#: disk-utils/mkfs.minix.c:651
+#, 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:654
+#, c-format
+msgid "cannot determine size of %s"
+msgstr "a(z) %s mérete nem állapítható meg"
+
+#: disk-utils/mkfs.minix.c:662
+#, 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:664
+msgid "number of blocks too small"
+msgstr "a blokkok száma túl kicsi"
+
+#: disk-utils/mkswap.c:155
+#, c-format
+msgid "Bad user-specified page size %d\n"
+msgstr "Hibás felhasználó által megadott lapméret: %d\n"
+
+#: disk-utils/mkswap.c:163
+#, c-format
+msgid "Using user-specified page size %d, instead of the system value %d\n"
+msgstr ""
+"A felhasználó által megadott %d lapméret használata a rendszer %d értéke "
+"helyett\n"
+
+#: disk-utils/mkswap.c:192
+#, c-format
+msgid "Bad swap header size, no label written.\n"
+msgstr "A swap fejlécmérete hibás, nem került kiírásra címke.\n"
+
+#: disk-utils/mkswap.c:202
+#, c-format
+msgid "Label was truncated.\n"
+msgstr "A címke csonkítva.\n"
+
+#: disk-utils/mkswap.c:208
+#, c-format
+msgid "no label, "
+msgstr "nincs címke, "
+
+#: disk-utils/mkswap.c:216
+#, c-format
+msgid "no uuid\n"
+msgstr "nincs uuid\n"
+
+#: disk-utils/mkswap.c:281
+#, fuzzy, c-format
+msgid "Usage: %s [-c] [-pPAGESZ] [-L label] [-U UUID] /dev/name [blocks]\n"
+msgstr ""
+"Használat: %s [-c] [-v0|-v1] [-pLAPMÉRET] [-L címke] [-U UUID] /dev/név "
+"[blokkok]\n"
+
+#: disk-utils/mkswap.c:295
+msgid "too many bad pages"
+msgstr "túl sok hibás lap"
+
+#: disk-utils/mkswap.c:308 misc-utils/look.c:182 misc-utils/setterm.c:1183
+#: text-utils/more.c:1982 text-utils/more.c:1993
+msgid "Out of memory"
+msgstr "Nincs elég memória"
+
+#: disk-utils/mkswap.c:319
+#, c-format
+msgid "one bad page\n"
+msgstr "egy hibás lap\n"
+
+#: disk-utils/mkswap.c:321
+#, c-format
+msgid "%lu bad pages\n"
+msgstr "%lu hibás lap\n"
+
+#: disk-utils/mkswap.c:399 disk-utils/mkswap.c:415 disk-utils/mkswap.c:633
+msgid "unable to rewind swap-device"
+msgstr "nem lehet visszaállítani a lapozóterület-eszközt"
+
+#: disk-utils/mkswap.c:419
+#, fuzzy
+msgid "unable to erase bootbits sectors"
+msgstr "a rendszerindító szektort nem lehet törölni"
+
+#: disk-utils/mkswap.c:423
+#, c-format
+msgid "%s: %s: warning: don't erase bootbits sectors\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:426
+#, fuzzy, c-format
+msgid "        (%s partition table detected). "
+msgstr "   p   BSD partíciós tábla kiírása"
+
+#: disk-utils/mkswap.c:428
+#, fuzzy, c-format
+msgid "        on whole disk. "
+msgstr "   s   a teljes lemezcímke mutatása"
+
+#: disk-utils/mkswap.c:498
+#, c-format
+msgid "%1$s: warning: ignore -U (UUIDs are unsupported by %1$s)\n"
+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:514
+#, fuzzy, c-format
+msgid "%s: does not support swapspace version %d.\n"
+msgstr "%s: hiba: a(z) %d verziószám ismeretlen\n"
+
+#: disk-utils/mkswap.c:522
+msgid "error: UUID parsing failed"
+msgstr "hiba: az UUID feldolgozás meghiúsult"
+
+#: disk-utils/mkswap.c:533
+#, c-format
+msgid "%s: error: Nowhere to set up swap on?\n"
+msgstr "%s hiba: Nem állítja be sehová a lapozóterületet?\n"
+
+#: disk-utils/mkswap.c:551
+#, fuzzy, c-format
+msgid "%s: error: size %llu KiB is larger than device size %llu KiB\n"
+msgstr "%s: hiba: a(z) %lu KiB méret nagyobb mint az eszköz %lu KiB mérete\n"
+
+#: disk-utils/mkswap.c:560
+#, c-format
+msgid "%s: error: swap area needs to be at least %ld KiB\n"
+msgstr "%s hiba: a lapozóterületnek legalább %ld KiB méretűnek kell lennie\n"
+
+#: disk-utils/mkswap.c:577
+#, fuzzy, c-format
+msgid "%s: warning: truncating swap area to %llu KiB\n"
+msgstr "%s: figyelmeztetés: a lapozóterület %ld KiB méretre lesz csonkítva\n"
+
+#: disk-utils/mkswap.c:600
+#, c-format
+msgid "%s: error: will not try to make swapdevice on '%s'\n"
+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"
+
+#: disk-utils/mkswap.c:606
+#, c-format
+msgid "%s: error: %s is mounted; will not make swapspace.\n"
+msgstr ""
+"%s: hiba: a(z) %s csatolva van, a lapozóterület nem kerül létrehozásra.\n"
+
+#: disk-utils/mkswap.c:622
+msgid "Unable to set up swap-space: unreadable"
+msgstr "A lapozóterület nem állítható be: olvashatatlan"
+
+#: disk-utils/mkswap.c:625
+#, fuzzy, c-format
+msgid "Setting up swapspace version 1, size = %llu KiB\n"
+msgstr "%d verziójú lapozóterület beállítása, mérete: %llu kiB\n"
+
+#: disk-utils/mkswap.c:636
+#, c-format
+msgid "%s: %s: unable to write signature page: %s"
+msgstr "%s: %s: nem lehet írni az aláíráslapra: %s"
+
+#: disk-utils/mkswap.c:647
+msgid "fsync failed"
+msgstr "az fsync meghiúsult"
+
+#: disk-utils/mkswap.c:658
+#, c-format
+msgid "%s: %s: unable to obtain selinux file label: %s\n"
+msgstr "%s: %s: a selinux fájlcímke nem kérhető le: %s\n"
+
+#: disk-utils/mkswap.c:664
+msgid "unable to matchpathcon()"
+msgstr "nem hajtható végre a matchpathcon() hívás"
+
+#: disk-utils/mkswap.c:667
+msgid "unable to create new selinux context"
+msgstr "nem hozható létre új selinux kontextus"
+
+#: disk-utils/mkswap.c:669
+msgid "couldn't compute selinux context"
+msgstr "nem számítható ki a selinux kontextus"
+
+#: disk-utils/mkswap.c:675
+#, c-format
+msgid "%s: unable to relabel %s to %s: %s\n"
+msgstr "%s: %s nem címkézhető át (erre: %s): %s\n"
+
+#: disk-utils/raw.c:50
+#, fuzzy, c-format
+msgid ""
+"Usage:\n"
+"  %s "
+msgstr "Használat:\n"
+
+#: disk-utils/raw.c:125
+#, c-format
+msgid ""
+"Device '%s' is control raw dev (use raw<N> where <N> is greater than zero)\n"
+msgstr ""
+
+#: disk-utils/raw.c:145
+#, fuzzy, c-format
+msgid "Cannot locate block device '%s' (%s)\n"
+msgstr "Nem lehet zárolni a(z) %s zárolási fájlt: %s\n"
+
+#: disk-utils/raw.c:151
+#, fuzzy, c-format
+msgid "Device '%s' is not a block dev\n"
+msgstr "Figyelmeztetés: a(z) %s nem blokkeszköz\n"
+
+#: disk-utils/raw.c:186
+#, fuzzy, c-format
+msgid "Cannot open master raw device '"
+msgstr "a(z) „%s” eszköz nem érhető el"
+
+#: disk-utils/raw.c:205
+#, fuzzy, c-format
+msgid "Cannot locate raw device '%s' (%s)\n"
+msgstr "a(z) „%s” eszköz nem érhető el"
+
+#: disk-utils/raw.c:211
+#, fuzzy, c-format
+msgid "Raw device '%s' is not a character dev\n"
+msgstr "/dev/%s: nem egy karaktereszköz"
+
+#: disk-utils/raw.c:216
+#, fuzzy, c-format
+msgid "Device '%s' is not a raw dev\n"
+msgstr "%s nem soros vonal"
+
+#: disk-utils/raw.c:231
+#, c-format
+msgid "Error querying raw device (%s)\n"
+msgstr ""
+
+#: disk-utils/raw.c:241 disk-utils/raw.c:261
+#, c-format
+msgid "raw%d:\tbound to major %d, minor %d\n"
+msgstr ""
+
+#: disk-utils/raw.c:257
+#, fuzzy, c-format
+msgid "Error setting raw device (%s)\n"
+msgstr "hiba a szolgáltatás leállításakor: „%s”"
+
+#: fdisk/cfdisk.c:376 fdisk/cfdisk.c:2080
+msgid "Unusable"
+msgstr "Használhatatlan"
+
+#: fdisk/cfdisk.c:378 fdisk/cfdisk.c:2082
+msgid "Free Space"
+msgstr "Szabad terület"
+
+#: fdisk/cfdisk.c:381
+msgid "Linux ext2"
+msgstr "Linux ext2"
+
+#: fdisk/cfdisk.c:383
+msgid "Linux ext3"
+msgstr "Linux ext3"
+
+#: fdisk/cfdisk.c:385
+msgid "Linux XFS"
+msgstr "Linux XFS"
+
+#: fdisk/cfdisk.c:387
+msgid "Linux JFS"
+msgstr "Linux JFS"
+
+#: fdisk/cfdisk.c:389
+msgid "Linux ReiserFS"
+msgstr "Linux ReiserFS"
+
+#: fdisk/cfdisk.c:391 fdisk/i386_sys_types.c:57
+msgid "Linux"
+msgstr "Linux"
+
+#: fdisk/cfdisk.c:394
+msgid "OS/2 HPFS"
+msgstr "OS/2 HPFS"
+
+#: fdisk/cfdisk.c:396
+msgid "OS/2 IFS"
+msgstr "OS/2 IFS"
+
+#: fdisk/cfdisk.c:400
+msgid "NTFS"
+msgstr "NTFS"
+
+#: fdisk/cfdisk.c:411
+#, c-format
+msgid "Disk has been changed.\n"
+msgstr "A lemez megváltozott.\n"
+
+#: fdisk/cfdisk.c:413
+#, 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"
+
+#: fdisk/cfdisk.c:417
+#, 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"
+
+#: fdisk/cfdisk.c:512
+msgid "FATAL ERROR"
+msgstr "VÉGZETES HIBA "
+
+#: fdisk/cfdisk.c:513
+msgid "Press any key to exit cfdisk"
+msgstr "Üssön le egy billentyűt a kilépéshez"
+
+#: fdisk/cfdisk.c:560 fdisk/cfdisk.c:568
+msgid "Cannot seek on disk drive"
+msgstr "Nem lehet pozicionálni a lemezmeghajtón"
+
+#: fdisk/cfdisk.c:562
+msgid "Cannot read disk drive"
+msgstr "A lemezmeghajtó nem olvasható"
+
+#: fdisk/cfdisk.c:570
+msgid "Cannot write disk drive"
+msgstr "A lemezmeghajtó nem írható"
+
+#: fdisk/cfdisk.c:913
+msgid "Too many partitions"
+msgstr "Túl sok partíció"
+
+#: fdisk/cfdisk.c:918
+msgid "Partition begins before sector 0"
+msgstr "A partíció a 0. szektor előtt kezdődik"
+
+#: fdisk/cfdisk.c:923
+msgid "Partition ends before sector 0"
+msgstr "A partíció a 0. szektor után fejeződik be"
+
+#: fdisk/cfdisk.c:928
+msgid "Partition begins after end-of-disk"
+msgstr "A partíció a lemez vége után kezdődik"
+
+#: fdisk/cfdisk.c:933
+msgid "Partition ends after end-of-disk"
+msgstr "A partíció a lemezmeghajtó után végződik"
+
+#: fdisk/cfdisk.c:938
+msgid "Partition ends in the final partial cylinder"
+msgstr "A partíció az utolsó részleges cilinder után végződik"
+
+#: fdisk/cfdisk.c:962
+msgid "logical partitions not in disk order"
+msgstr "a logikai partíciók nincsenek a lemezlistában"
+
+#: fdisk/cfdisk.c:965
+msgid "logical partitions overlap"
+msgstr "logikai partíciók fedik egymást"
+
+#: fdisk/cfdisk.c:969
+msgid "enlarged logical partitions overlap"
+msgstr "megnövelt logikai partíciók fedik egymást"
+
+#: fdisk/cfdisk.c:999
+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!"
+
+#: fdisk/cfdisk.c:1010 fdisk/cfdisk.c:1022
+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"
+
+#: fdisk/cfdisk.c:1164
+msgid "Menu item too long. Menu may look odd."
+msgstr "A menüelem túl hosszú. A menü furcsán jelenhet meg."
+
+#: fdisk/cfdisk.c:1220
+msgid "Menu without direction. Defaulting to horizontal."
+msgstr ""
+"A menünek nincs iránya. Alapértelmezetten vízszintes kerül felhasználásra."
+
+#: fdisk/cfdisk.c:1351
+msgid "Illegal key"
+msgstr "Érvénytelen billentyű"
+
+#: fdisk/cfdisk.c:1374
+msgid "Press a key to continue"
+msgstr "Nyomjon meg egy billentyűt a folytatáshoz"
+
+#: fdisk/cfdisk.c:1421 fdisk/cfdisk.c:2051 fdisk/cfdisk.c:2583
+#: fdisk/cfdisk.c:2585
+msgid "Primary"
+msgstr "Elsődleges"
+
+#: fdisk/cfdisk.c:1421
+msgid "Create a new primary partition"
+msgstr "Új elsődleges partíció létrehozása"
+
+#: fdisk/cfdisk.c:1422 fdisk/cfdisk.c:2051 fdisk/cfdisk.c:2582
+#: fdisk/cfdisk.c:2585
+msgid "Logical"
+msgstr "Logikai"
+
+#: fdisk/cfdisk.c:1422
+msgid "Create a new logical partition"
+msgstr "Új logikai partíció létrehozása"
+
+#: fdisk/cfdisk.c:1423 fdisk/cfdisk.c:1478 fdisk/cfdisk.c:2256
+msgid "Cancel"
+msgstr "Mégsem"
+
+#: fdisk/cfdisk.c:1423 fdisk/cfdisk.c:1478
+msgid "Don't create a partition"
+msgstr "Ne hozzon létre partíciót"
+
+#: fdisk/cfdisk.c:1439
+msgid "!!! Internal error !!!"
+msgstr "!!! Belső hiba !!!"
+
+#: fdisk/cfdisk.c:1442
+msgid "Size (in MB): "
+msgstr "Méret (MB): "
+
+#: fdisk/cfdisk.c:1476
+msgid "Beginning"
+msgstr "Kezdet"
+
+#: fdisk/cfdisk.c:1476
+msgid "Add partition at beginning of free space"
+msgstr "Partíció hozzáadása a szabad terület elején"
+
+#: fdisk/cfdisk.c:1477
+msgid "End"
+msgstr "Vége"
+
+#: fdisk/cfdisk.c:1477
+msgid "Add partition at end of free space"
+msgstr "Partíció hozzáadása a szabad terület végén"
+
+#: fdisk/cfdisk.c:1495
+msgid "No room to create the extended partition"
+msgstr "Nincs hely a kiterjesztett partíció létrehozásához"
+
+#: fdisk/cfdisk.c:1569
+msgid "No partition table.\n"
+msgstr "Nincs jelen partíciós tábla.\n"
+
+#: fdisk/cfdisk.c:1573
+msgid "No partition table. Starting with zero table."
+msgstr "Nincs partíciós tábla. Indítás üres táblával."
+
+#: fdisk/cfdisk.c:1583
+msgid "Bad signature on partition table"
+msgstr "A partíciós tábla aláírása hibás"
+
+#: fdisk/cfdisk.c:1587
+msgid "Unknown partition table type"
+msgstr "A partíciós tábla típusa ismeretlen"
+
+#: fdisk/cfdisk.c:1589
+msgid "Do you wish to start with a zero table [y/N] ?"
+msgstr "Üres táblával szeretne indulni [i/N]?"
+
+#: fdisk/cfdisk.c:1637
+msgid "You specified more cylinders than fit on disk"
+msgstr "Több cilindert adott meg, mint amennyi elfér a lemezen"
+
+#: fdisk/cfdisk.c:1669
+msgid "Cannot open disk drive"
+msgstr "Nem nyitható meg a lemezmeghajtó"
+
+#: fdisk/cfdisk.c:1671 fdisk/cfdisk.c:1860
+msgid "Opened disk read-only - you have no permission to write"
+msgstr "A megnyitott lemez csak olvasható - nincs joga írni rá"
+
+#: fdisk/cfdisk.c:1682
+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."
+
+#: fdisk/cfdisk.c:1701
+msgid "Cannot get disk size"
+msgstr "Nem lehet lekérdezni a lemez méretét"
+
+#: fdisk/cfdisk.c:1727
+msgid "Bad primary partition"
+msgstr "Hibás elsődleges partíció"
+
+#: fdisk/cfdisk.c:1757
+msgid "Bad logical partition"
+msgstr "Hibás logikai partíció"
+
+#: fdisk/cfdisk.c:1872
+msgid "Warning!!  This may destroy data on your disk!"
+msgstr "Figyelmeztetés: ez megsemmisítheti a lemezen található adatait!"
+
+#: fdisk/cfdisk.c:1876
+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): "
+
+#: fdisk/cfdisk.c:1882
+msgid "no"
+msgstr "nem"
+
+#: fdisk/cfdisk.c:1884
+msgid "Did not write partition table to disk"
+msgstr "A partíciós tábla nem került a lemezre"
+
+#: fdisk/cfdisk.c:1886
+msgid "yes"
+msgstr "igen"
+
+#: fdisk/cfdisk.c:1890
+msgid "Please enter `yes' or `no'"
+msgstr "Az „igen” vagy „nem” egyikét írja be"
+
+#: fdisk/cfdisk.c:1894
+msgid "Writing partition table to disk..."
+msgstr "Partíciós tábla kiírása a lemezre..."
+
+#: fdisk/cfdisk.c:1921 fdisk/cfdisk.c:1925
+msgid "Wrote partition table to disk"
+msgstr "A partíciós tábla kiírva a lemezre"
+
+#: fdisk/cfdisk.c:1923
+#, 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."
+
+#: fdisk/cfdisk.c:1933
+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."
+
+#: fdisk/cfdisk.c:1935
+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."
+
+#: fdisk/cfdisk.c:1993 fdisk/cfdisk.c:2112 fdisk/cfdisk.c:2196
+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: "
+
+#: fdisk/cfdisk.c:2002 fdisk/cfdisk.c:2120 fdisk/cfdisk.c:2204
+#, c-format
+msgid "Cannot open file '%s'"
+msgstr "Nem nyitható meg a(z) „%s” fájl"
+
+#: fdisk/cfdisk.c:2013
+#, c-format
+msgid "Disk Drive: %s\n"
+msgstr "Lemezmeghajtó: %s\n"
+
+#: fdisk/cfdisk.c:2015
+msgid "Sector 0:\n"
+msgstr "0. szektor:\n"
+
+#: fdisk/cfdisk.c:2022
+#, c-format
+msgid "Sector %d:\n"
+msgstr "%d. szektor:\n"
+
+#: fdisk/cfdisk.c:2042
+msgid "   None   "
+msgstr "   Nincs  "
+
+#: fdisk/cfdisk.c:2044
+msgid "   Pri/Log"
+msgstr "   Els/Log"
+
+#: fdisk/cfdisk.c:2046
+msgid "   Primary"
+msgstr "   Elsődleges"
+
+#: fdisk/cfdisk.c:2048
+msgid "   Logical"
+msgstr "   Logikai"
+
+#: fdisk/cfdisk.c:2086 fdisk/fdisk.c:1534 fdisk/fdisk.c:1855
+#: fdisk/fdisksgilabel.c:240 fdisk/fdisksunlabel.c:621 fdisk/sfdisk.c:653
+msgid "Unknown"
+msgstr "Ismeretlen"
+
+#: fdisk/cfdisk.c:2092 fdisk/cfdisk.c:2560 fdisk/fdisksunlabel.c:44
+msgid "Boot"
+msgstr "Indítható"
+
+#: fdisk/cfdisk.c:2094
+#, c-format
+msgid "(%02X)"
+msgstr "(%02X)"
+
+#: fdisk/cfdisk.c:2096
+msgid "None"
+msgstr "Nincs"
+
+#: fdisk/cfdisk.c:2131 fdisk/cfdisk.c:2215
+#, c-format
+msgid "Partition Table for %s\n"
+msgstr "A(z) „%s” partíciós táblája\n"
+
+#: fdisk/cfdisk.c:2133
+msgid "               First       Last\n"
+msgstr "               Első     Utolsó\n"
+
+#: fdisk/cfdisk.c:2134
+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"
+
+#: fdisk/cfdisk.c:2135
+msgid ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+msgstr ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+
+#: fdisk/cfdisk.c:2218
+msgid "         ---Starting----      ----Ending-----    Start     Number of\n"
+msgstr "         ---Kezdet--          ---Vég---       Kezdet     Szám\n"
+
+#: fdisk/cfdisk.c:2219
+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"
+
+#: fdisk/cfdisk.c:2220
+msgid "-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+msgstr ""
+"-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+
+#: fdisk/cfdisk.c:2253
+msgid "Raw"
+msgstr "Nyers"
+
+#: fdisk/cfdisk.c:2253
+msgid "Print the table using raw data format"
+msgstr "Tábla megjelenítése nyers formában"
+
+#: fdisk/cfdisk.c:2254 fdisk/cfdisk.c:2357
+msgid "Sectors"
+msgstr "Szektorok"
+
+#: fdisk/cfdisk.c:2254
+msgid "Print the table ordered by sectors"
+msgstr "Tábla megjelenítése szektorok szerint"
+
+#: fdisk/cfdisk.c:2255
+msgid "Table"
+msgstr "Táblázat"
+
+#: fdisk/cfdisk.c:2255
+msgid "Just print the partition table"
+msgstr "Csak megjeleníti a partíciós táblát"
+
+#: fdisk/cfdisk.c:2256
+msgid "Don't print the table"
+msgstr "Ne jelenjen meg a tábla"
+
+#: fdisk/cfdisk.c:2284
+msgid "Help Screen for cfdisk"
+msgstr "A cfdisk súgója"
+
+#: fdisk/cfdisk.c:2286
+msgid "This is cfdisk, a curses based disk partitioning program, which"
+msgstr "Ez a cfdisk, egy curses alapú lemezparticionáló program, amellyel"
+
+#: fdisk/cfdisk.c:2287
+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"
+
+#: fdisk/cfdisk.c:2288
+msgid "disk drive."
+msgstr "merevlemezen."
+
+#: fdisk/cfdisk.c:2290
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+
+#: fdisk/cfdisk.c:2292
+msgid "Command      Meaning"
+msgstr "Parancs     Jelentés"
+
+#: fdisk/cfdisk.c:2293
+msgid "-------      -------"
+msgstr "-------      -------"
+
+#: fdisk/cfdisk.c:2294
+msgid "  b          Toggle bootable flag of the current partition"
+msgstr "  b          Az aktuális partíció megjelölése indíthatóként"
+
+#: fdisk/cfdisk.c:2295
+msgid "  d          Delete the current partition"
+msgstr "  d          Az aktuális partíció törlése"
+
+#: fdisk/cfdisk.c:2296
+msgid "  g          Change cylinders, heads, sectors-per-track parameters"
+msgstr "  g          A cilinder-, fej-, és sávonkénti szektorszám módosítása"
+
+#: fdisk/cfdisk.c:2297
+msgid "             WARNING: This option should only be used by people who"
+msgstr "             FIGYELMEZTETÉS: Ezt a lehetőséget csak akkor használja,"
+
+#: fdisk/cfdisk.c:2298
+msgid "             know what they are doing."
+msgstr "             ha tudja, hogy mit csinál."
+
+#: fdisk/cfdisk.c:2299
+msgid "  h          Print this screen"
+msgstr "  h          Ezen képernyő megjelenítése"
+
+#: fdisk/cfdisk.c:2300
+msgid "  m          Maximize disk usage of the current partition"
+msgstr "  m          Az aktuális partíció lemezkihasználásának maximalizálása"
+
+#: fdisk/cfdisk.c:2301
+msgid "             Note: This may make the partition incompatible with"
+msgstr "             Megjegyzés: Ez inkompatibilissé teheti a partíciót a "
+
+#: fdisk/cfdisk.c:2302
+msgid "             DOS, OS/2, ..."
+msgstr "             DOS-sal, OS/2-vel, ..."
+
+#: fdisk/cfdisk.c:2303
+msgid "  n          Create new partition from free space"
+msgstr "  n          Új partíció létrehozása a szabad területből"
+
+#: fdisk/cfdisk.c:2304
+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"
+
+#: fdisk/cfdisk.c:2305
+msgid "             There are several different formats for the partition"
+msgstr "             Számos különböző partícióformátum létezik,"
+
+#: fdisk/cfdisk.c:2306
+msgid "             that you can choose from:"
+msgstr "             amelyek közül választhat:"
+
+#: fdisk/cfdisk.c:2307
+msgid "                r - Raw data (exactly what would be written to disk)"
+msgstr ""
+"                r - Nyers adatok (pontosan az, ami ki lesz írva a lemezre)"
+
+#: fdisk/cfdisk.c:2308
+msgid "                s - Table ordered by sectors"
+msgstr "                s - Táblázat szektorok szerint rendezve"
+
+#: fdisk/cfdisk.c:2309
+msgid "                t - Table in raw format"
+msgstr "                t - Táblázat nyers formában"
+
+#: fdisk/cfdisk.c:2310
+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"
+
+#: fdisk/cfdisk.c:2311
+msgid "  t          Change the filesystem type"
+msgstr "  t          A fájlrendszer típusának megváltoztatása"
+
+#: fdisk/cfdisk.c:2312
+msgid "  u          Change units of the partition size display"
+msgstr "  u          A partícióméret kijelzési egységének megváltoztatása"
+
+#: fdisk/cfdisk.c:2313
+msgid "             Rotates through MB, sectors and cylinders"
+msgstr "             Választhat MB-ok, szektorok és cilinderek között"
+
+#: fdisk/cfdisk.c:2314
+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)"
+
+#: fdisk/cfdisk.c:2315
+msgid "             Since this might destroy data on the disk, you must"
+msgstr "             Ez letörli az összes adatot a lemezről, ezért"
+
+#: fdisk/cfdisk.c:2316
+msgid "             either confirm or deny the write by entering `yes' or"
+msgstr "             erősítse, vagy tagadja meg az írást az „igen”"
+
+#: fdisk/cfdisk.c:2317
+msgid "             `no'"
+msgstr "             vagy „nem” beírásával"
+
+#: fdisk/cfdisk.c:2318
+msgid "Up Arrow     Move cursor to the previous partition"
+msgstr "Fel nyíl     A kurzort az előző partícióra mozgatja"
+
+#: fdisk/cfdisk.c:2319
+msgid "Down Arrow   Move cursor to the next partition"
+msgstr "Le nyíl      A kurzort a következő partícióra mozgatja"
+
+#: fdisk/cfdisk.c:2320
+msgid "CTRL-L       Redraws the screen"
+msgstr "Ctrl-L       Újrarajzolja a képernyőt"
+
+#: fdisk/cfdisk.c:2321
+msgid "  ?          Print this screen"
+msgstr "  ?          Ez a képernyő"
+
+#: fdisk/cfdisk.c:2323
+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"
+
+#: fdisk/cfdisk.c:2324
+msgid "case letters (except for Writes)."
+msgstr "kivéve kiírásnál (W)."
+
+#: fdisk/cfdisk.c:2355 fdisk/fdisksunlabel.c:237
+msgid "Cylinders"
+msgstr "Cilinderek"
+
+#: fdisk/cfdisk.c:2355
+msgid "Change cylinder geometry"
+msgstr "Cilinderek geometriájának megváltoztatása"
+
+#: fdisk/cfdisk.c:2356 fdisk/fdisksunlabel.c:235
+msgid "Heads"
+msgstr "Fejek"
+
+#: fdisk/cfdisk.c:2356
+msgid "Change head geometry"
+msgstr "Fejek geometriájának megváltoztatása"
+
+#: fdisk/cfdisk.c:2357
+msgid "Change sector geometry"
+msgstr "Szektorok geometriájának megváltoztatása"
+
+#: fdisk/cfdisk.c:2358
+msgid "Done"
+msgstr "Kész"
+
+#: fdisk/cfdisk.c:2358
+msgid "Done with changing geometry"
+msgstr "A geometria megváltoztatása kész"
+
+#: fdisk/cfdisk.c:2371
+msgid "Enter the number of cylinders: "
+msgstr "Adja meg a cilinderek számát: "
+
+#: fdisk/cfdisk.c:2382 fdisk/cfdisk.c:2953
+msgid "Illegal cylinders value"
+msgstr "Érvénytelen cilinderérték"
+
+#: fdisk/cfdisk.c:2388
+msgid "Enter the number of heads: "
+msgstr "Adja meg a fejek számát: "
+
+#: fdisk/cfdisk.c:2395 fdisk/cfdisk.c:2963
+msgid "Illegal heads value"
+msgstr "Érvénytelen fejszám"
+
+#: fdisk/cfdisk.c:2401
+msgid "Enter the number of sectors per track: "
+msgstr "Adja meg a sávonkénti szektorok számát: "
+
+#: fdisk/cfdisk.c:2408 fdisk/cfdisk.c:2970
+msgid "Illegal sectors value"
+msgstr "Érvénytelen szektorszám"
+
+#: fdisk/cfdisk.c:2511
+msgid "Enter filesystem type: "
+msgstr "Adja meg a fájlrendszer típusát: "
+
+#: fdisk/cfdisk.c:2529
+msgid "Cannot change FS Type to empty"
+msgstr "A fájlrendszer típusa nem módosítható üresre"
+
+#: fdisk/cfdisk.c:2531
+msgid "Cannot change FS Type to extended"
+msgstr "A fájlrendszer típusa nem módosítható kiterjesztettre"
+
+#: fdisk/cfdisk.c:2562
+#, c-format
+msgid "Unk(%02X)"
+msgstr "Ism(%02X)"
+
+#: fdisk/cfdisk.c:2565 fdisk/cfdisk.c:2568
+msgid ", NC"
+msgstr ", NC"
+
+#: fdisk/cfdisk.c:2573 fdisk/cfdisk.c:2576
+msgid "NC"
+msgstr "NC"
+
+#: fdisk/cfdisk.c:2584
+msgid "Pri/Log"
+msgstr "Els/Log"
+
+#: fdisk/cfdisk.c:2591
+#, c-format
+msgid "Unknown (%02X)"
+msgstr "Ismeretlen (%02X)"
+
+#: fdisk/cfdisk.c:2660
+#, c-format
+msgid "Disk Drive: %s"
+msgstr "Lemezmeghajtó: %s"
+
+#: fdisk/cfdisk.c:2667
+#, c-format
+msgid "Size: %lld bytes, %lld MB"
+msgstr "Méret: %lld bájt, %lld MB"
+
+#: fdisk/cfdisk.c:2670
+#, c-format
+msgid "Size: %lld bytes, %lld.%lld GB"
+msgstr "Méret: %lld bájt, %lld.%lld GB"
+
+#: fdisk/cfdisk.c:2674
+#, c-format
+msgid "Heads: %d   Sectors per Track: %d   Cylinders: %lld"
+msgstr "Fejek: %d   Sávonkénti szektorszám: %d   Cilinderek: %lld"
+
+#: fdisk/cfdisk.c:2678 login-utils/chfn.c:377
+msgid "Name"
+msgstr "Név"
+
+#: fdisk/cfdisk.c:2679
+msgid "Flags"
+msgstr "Jelek"
+
+#: fdisk/cfdisk.c:2680
+msgid "Part Type"
+msgstr "Part. típus"
+
+#: fdisk/cfdisk.c:2681
+msgid "FS Type"
+msgstr "FR típus"
+
+#: fdisk/cfdisk.c:2682
+msgid "[Label]"
+msgstr "[Címke]"
+
+#: fdisk/cfdisk.c:2684
+msgid "    Sectors"
+msgstr "   Szektorok"
+
+#: fdisk/cfdisk.c:2686
+msgid "  Cylinders"
+msgstr "  Cilinderek"
+
+#: fdisk/cfdisk.c:2688
+msgid "  Size (MB)"
+msgstr "  Méret (MB)"
+
+#: fdisk/cfdisk.c:2690
+msgid "  Size (GB)"
+msgstr "  Méret (GB)"
+
+#: fdisk/cfdisk.c:2744
+msgid "Bootable"
+msgstr "Aktív"
+
+#: fdisk/cfdisk.c:2744
+msgid "Toggle bootable flag of the current partition"
+msgstr "Az aktuális partíció indíthatóvá tétele"
+
+#: fdisk/cfdisk.c:2745
+msgid "Delete"
+msgstr "Törlés"
+
+#: fdisk/cfdisk.c:2745
+msgid "Delete the current partition"
+msgstr "Az aktuális partíció törlése"
+
+#: fdisk/cfdisk.c:2746
+msgid "Geometry"
+msgstr "Geometria"
+
+#: fdisk/cfdisk.c:2746
+msgid "Change disk geometry (experts only)"
+msgstr "A lemezgeometria módosítása (csak haladóknak)"
+
+#: fdisk/cfdisk.c:2747
+msgid "Help"
+msgstr "Súgó"
+
+#: fdisk/cfdisk.c:2747
+msgid "Print help screen"
+msgstr "Segítség kiírása"
+
+#: fdisk/cfdisk.c:2748
+msgid "Maximize"
+msgstr "Maximal."
+
+#: fdisk/cfdisk.c:2748
+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)"
+
+#: fdisk/cfdisk.c:2749
+msgid "New"
+msgstr "Új"
+
+#: fdisk/cfdisk.c:2749
+msgid "Create new partition from free space"
+msgstr "Új partíció létrehozása a szabad területen"
+
+#: fdisk/cfdisk.c:2750
+msgid "Print"
+msgstr "Megnézés"
+
+#: fdisk/cfdisk.c:2750
+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"
+
+#: fdisk/cfdisk.c:2751
+msgid "Quit"
+msgstr "Kilépés"
+
+#: fdisk/cfdisk.c:2751
+msgid "Quit program without writing partition table"
+msgstr "Kilépés a partíciós tábla kiírása nélkül"
+
+#: fdisk/cfdisk.c:2752
+msgid "Type"
+msgstr "Típus"
+
+#: fdisk/cfdisk.c:2752
+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)"
+
+#: fdisk/cfdisk.c:2753
+msgid "Units"
+msgstr "Egység"
+
+#: fdisk/cfdisk.c:2753
+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.)"
+
+#: fdisk/cfdisk.c:2754
+msgid "Write"
+msgstr "Kiírás"
+
+#: fdisk/cfdisk.c:2754
+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)"
+
+#: fdisk/cfdisk.c:2800
+msgid "Cannot make this partition bootable"
+msgstr "Ez a partíció nem tehető indíthatóvá"
+
+#: fdisk/cfdisk.c:2810
+msgid "Cannot delete an empty partition"
+msgstr "Nem törölhet üres partíciót"
+
+#: fdisk/cfdisk.c:2830 fdisk/cfdisk.c:2832
+msgid "Cannot maximize this partition"
+msgstr "Nem maximalizálhatja ezt a partíciót"
+
+#: fdisk/cfdisk.c:2840
+msgid "This partition is unusable"
+msgstr "Ez a partíció használhatatlan"
+
+#: fdisk/cfdisk.c:2842
+msgid "This partition is already in use"
+msgstr "Ez a partíció már használatban van"
+
+#: fdisk/cfdisk.c:2859
+msgid "Cannot change the type of an empty partition"
+msgstr "Üres partíció típusa nem módosítható"
+
+#: fdisk/cfdisk.c:2886 fdisk/cfdisk.c:2892
+msgid "No more partitions"
+msgstr "Nincs több partíció"
+
+#: fdisk/cfdisk.c:2899
+msgid "Illegal command"
+msgstr "Érvénytelen parancs"
+
+#: fdisk/cfdisk.c:2909
+#, c-format
+msgid "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+msgstr "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+
+#: fdisk/cfdisk.c:2916
+#, 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"
+
+#: fdisk/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ó.)."
+
+#: fdisk/fdiskbsdlabel.c:122
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+"\n"
+"BSD címke a következő eszközön: %s\n"
+
+#: fdisk/fdiskbsdlabel.c:129 fdisk/fdisk.c:386 fdisk/fdisk.c:405
+#: fdisk/fdisk.c:423 fdisk/fdisk.c:430 fdisk/fdisk.c:453 fdisk/fdisk.c:471
+#: fdisk/fdisk.c:487 fdisk/fdisk.c:503
+msgid "Command action"
+msgstr "Parancs Művelet"
+
+#: fdisk/fdiskbsdlabel.c:130
+msgid "   d   delete a BSD partition"
+msgstr "   d    BSD partíció törlése"
+
+#: fdisk/fdiskbsdlabel.c:131
+msgid "   e   edit drive data"
+msgstr "   e   meghajtóadatok szerkesztése"
+
+#: fdisk/fdiskbsdlabel.c:132
+msgid "   i   install bootstrap"
+msgstr "   i   rendszertöltő telepítése"
+
+#: fdisk/fdiskbsdlabel.c:133
+msgid "   l   list known filesystem types"
+msgstr "   l   az ismert fájlrendszertípusok felsorolása"
+
+#: fdisk/fdiskbsdlabel.c:134 fdisk/fdisk.c:392 fdisk/fdisk.c:411
+#: fdisk/fdisk.c:424 fdisk/fdisk.c:436 fdisk/fdisk.c:461 fdisk/fdisk.c:478
+#: fdisk/fdisk.c:494 fdisk/fdisk.c:512
+msgid "   m   print this menu"
+msgstr "   m   ezen menü kiírása"
+
+#: fdisk/fdiskbsdlabel.c:135
+msgid "   n   add a new BSD partition"
+msgstr "   n    új BSD partíció hozzáadása"
+
+#: fdisk/fdiskbsdlabel.c:136
+msgid "   p   print BSD partition table"
+msgstr "   p   BSD partíciós tábla kiírása"
+
+#: fdisk/fdiskbsdlabel.c:137 fdisk/fdisk.c:396 fdisk/fdisk.c:415
+#: fdisk/fdisk.c:426 fdisk/fdisk.c:440 fdisk/fdisk.c:463 fdisk/fdisk.c:480
+#: fdisk/fdisk.c:496 fdisk/fdisk.c:514
+msgid "   q   quit without saving changes"
+msgstr "   q   kilépés mentés nélkül"
+
+#: fdisk/fdiskbsdlabel.c:138 fdisk/fdisk.c:464 fdisk/fdisk.c:481
+#: fdisk/fdisk.c:497 fdisk/fdisk.c:515
+msgid "   r   return to main menu"
+msgstr "   r   vissza a főmenübe"
+
+#: fdisk/fdiskbsdlabel.c:139
+msgid "   s   show complete disklabel"
+msgstr "   s   a teljes lemezcímke mutatása"
+
+#: fdisk/fdiskbsdlabel.c:140
+msgid "   t   change a partition's filesystem id"
+msgstr "   t   a partíció fájlrendszer-azonosítójának módosítása"
+
+#: fdisk/fdiskbsdlabel.c:141
+msgid "   u   change units (cylinders/sectors)"
+msgstr "   u   a méretékegységek módosítása (cilinderek/szektorok)"
+
+#: fdisk/fdiskbsdlabel.c:142
+msgid "   w   write disklabel to disk"
+msgstr "   w   lemezcímke írása a lemezre"
+
+#: fdisk/fdiskbsdlabel.c:144
+msgid "   x   link BSD partition to non-BSD partition"
+msgstr "   x   BSD partíció csatolása egy nem BSD partícióhoz"
+
+#: fdisk/fdiskbsdlabel.c:176
+#, 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"
+
+#: fdisk/fdiskbsdlabel.c:180
+#, 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"
+
+#: fdisk/fdiskbsdlabel.c:190
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr "Nincs *BSD partíció a következőn: %s.\n"
+
+#: fdisk/fdiskbsdlabel.c:204
+msgid "BSD disklabel command (m for help): "
+msgstr "BSD lemezcímke parancs (m = súgó): "
+
+#: fdisk/fdiskbsdlabel.c:284 fdisk/fdisk.c:2052 fdisk/fdisksgilabel.c:651
+#: fdisk/fdisksunlabel.c:431
+#, c-format
+msgid "First %s"
+msgstr "Első %s"
+
+#: fdisk/fdiskbsdlabel.c:291 fdisk/fdisksunlabel.c:488
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr "Utolsó %s vagy +méret vagy +méretM vagy +méretK"
+
+#: fdisk/fdiskbsdlabel.c:318
+#, c-format
+msgid "type: %s\n"
+msgstr "típus: %s\n"
+
+#: fdisk/fdiskbsdlabel.c:320
+#, c-format
+msgid "type: %d\n"
+msgstr "típus: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:321
+#, c-format
+msgid "disk: %.*s\n"
+msgstr "lemez: %.*s\n"
+
+#: fdisk/fdiskbsdlabel.c:322
+#, c-format
+msgid "label: %.*s\n"
+msgstr "címke: %.*s\n"
+
+#: fdisk/fdiskbsdlabel.c:323
+#, c-format
+msgid "flags:"
+msgstr "jelzők:"
+
+#: fdisk/fdiskbsdlabel.c:325
+#, c-format
+msgid " removable"
+msgstr " eltávolítható"
+
+#: fdisk/fdiskbsdlabel.c:327
+#, c-format
+msgid " ecc"
+msgstr " ecc"
+
+#: fdisk/fdiskbsdlabel.c:329
+#, c-format
+msgid " badsect"
+msgstr " hibás szektor"
+
+#: fdisk/fdiskbsdlabel.c:333
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr "szektoronkénti bájtok: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:334
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr "sávonkénti szektorok: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:335
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr "cilinderenkénti sávok: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:336
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr "cilinderenkénti szektorok: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:337
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr "cilinderek: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:338
+#, c-format
+msgid "rpm: %d\n"
+msgstr "fordulatszám: %d\n"
+
+# fixme: valami értelmeset
+#: fdisk/fdiskbsdlabel.c:339
+#, c-format
+msgid "interleave: %d\n"
+msgstr "átrendezés: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:340
+#, c-format
+msgid "trackskew: %d\n"
+msgstr "sávdöntés: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:341
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr "cilinderdöntés: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:342
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr "fejváltás: %ld\t\t# ezredmásodperc\n"
+
+#: fdisk/fdiskbsdlabel.c:344
+#, 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"
+
+#: fdisk/fdiskbsdlabel.c:346
+#, c-format
+msgid "drivedata: "
+msgstr "meghajtóadatok: "
+
+#: fdisk/fdiskbsdlabel.c:355
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+"\n"
+"%d partíció:\n"
+
+#: fdisk/fdiskbsdlabel.c:356
+#, 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"
+
+#: fdisk/fdiskbsdlabel.c:405 fdisk/fdiskbsdlabel.c:408
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr "Lemezcímke írása a következőre: %s.\n"
+
+#: fdisk/fdiskbsdlabel.c:420 fdisk/fdiskbsdlabel.c:422
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr "A(z) %s nem tartalmaz lemezcímkét.\n"
+
+#: fdisk/fdiskbsdlabel.c:427
+msgid "Do you want to create a disklabel? (y/n) "
+msgstr "Létre akar hozni lemezcímkét? (i/n) "
+
+#: fdisk/fdiskbsdlabel.c:467
+msgid "bytes/sector"
+msgstr "szektoronkénti bájtok"
+
+#: fdisk/fdiskbsdlabel.c:468
+msgid "sectors/track"
+msgstr "sávonkénti szektorok"
+
+#: fdisk/fdiskbsdlabel.c:469
+msgid "tracks/cylinder"
+msgstr "cilinderenkénti sávok"
+
+#: fdisk/fdiskbsdlabel.c:470 fdisk/fdisk.c:648 fdisk/fdisk.c:1357
+#: fdisk/sfdisk.c:945
+msgid "cylinders"
+msgstr "cilinderek"
+
+#: fdisk/fdiskbsdlabel.c:477
+msgid "sectors/cylinder"
+msgstr "cilinderenkénti szektorok"
+
+#: fdisk/fdiskbsdlabel.c:481
+#, 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"
+
+#: fdisk/fdiskbsdlabel.c:483
+msgid "rpm"
+msgstr "percenkénti fordulat"
+
+# fixme: valami értelmeset
+#: fdisk/fdiskbsdlabel.c:484
+msgid "interleave"
+msgstr "átrendezés"
+
+#: fdisk/fdiskbsdlabel.c:485
+msgid "trackskew"
+msgstr "sávdöntés"
+
+#: fdisk/fdiskbsdlabel.c:486
+msgid "cylinderskew"
+msgstr "cilinderdöntés"
+
+#: fdisk/fdiskbsdlabel.c:487
+msgid "headswitch"
+msgstr "fejkapcsolás"
+
+#: fdisk/fdiskbsdlabel.c:488
+msgid "track-to-track seek"
+msgstr "sávról sávra pozicionálás"
+
+#: fdisk/fdiskbsdlabel.c:529
+#, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr "Rendszerindítás: %sindítás -> indítás%s (%s): "
+
+#: fdisk/fdiskbsdlabel.c:554
+#, c-format
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr "A rendszerindító átfedi a lemezcímkét!\n"
+
+#: fdisk/fdiskbsdlabel.c:575 fdisk/fdiskbsdlabel.c:577
+#, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr "A rendszerindító telepítve a következőre: %s.\n"
+
+#: fdisk/fdiskbsdlabel.c:599
+#, c-format
+msgid "Partition (a-%c): "
+msgstr "Partíció (a-%c): "
+
+#: fdisk/fdiskbsdlabel.c:618 fdisk/fdisk.c:2199
+#, 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"
+
+#: fdisk/fdiskbsdlabel.c:630
+#, c-format
+msgid "This partition already exists.\n"
+msgstr "Ez a partíció már létezik.\n"
+
+#: fdisk/fdiskbsdlabel.c:757
+#, 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"
+
+#: fdisk/fdiskbsdlabel.c:805
+#, c-format
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+"\n"
+"Lemezek szinkronizálása.\n"
+
+#: fdisk/fdisk.c:244
+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 ""
+"Használat: fdisk [-b SZM] [-u] LEMEZ   Partíciós tábla módosítása\n"
+"       fdisk -l [-b SZM] [-u] LEMEZ    A partíciós táblák kiírása\n"
+"       fdisk -s PARTÍCIÓ               A partícióméret megadása blokkban\n"
+"       fdisk -v                        Az fdisk verziószáma\n"
+"A LEMEZ /dev/hdb vagy /dev/sda alakban adható meg,\n"
+"a PARTÍCIÓ pedig /dev/hda7 alakban\n"
+"-u: A kezdet és vég megadása szektorban (cilinder helyett)\n"
+"-b 2048: (bizonyos MO lemezeknél) 2048 bájtos szektorok használata\n"
+
+#: fdisk/fdisk.c:256
+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 ""
+"Használat: fdisk [-l] [-b SZM] [-u] eszköz\n"
+"Például: fdisk /dev/hda  (az első IDE meghajtó)\n"
+"   vagy: fdisk /dev/sdc  (a harmadik SCSI lemez)\n"
+"   vagy: fdisk /dev/eda  (az első PS/2 ESDI lemez)\n"
+"   vagy: fdisk /dev/rd/c0d0  vagy: fdisk /dev/ida/c0d0  (RAID eszközök)\n"
+"   ...\n"
+
+#: fdisk/fdisk.c:265
+#, c-format
+msgid "Unable to open %s\n"
+msgstr "A(z) %s nem nyitható meg\n"
+
+#: fdisk/fdisk.c:269
+#, c-format
+msgid "Unable to read %s\n"
+msgstr "A(z) %s nem olvasható\n"
+
+#: fdisk/fdisk.c:273
+#, c-format
+msgid "Unable to seek on %s\n"
+msgstr "Nem lehet a(z) %s eszközön pozicionálni\n"
+
+#: fdisk/fdisk.c:277
+#, c-format
+msgid "Unable to write %s\n"
+msgstr "A(z) %s nem írható\n"
+
+#: fdisk/fdisk.c:281
+#, c-format
+msgid "BLKGETSIZE ioctl failed on %s\n"
+msgstr "A BLKGETSIZE ioctl meghiúsult a következőn: %s\n"
+
+#: fdisk/fdisk.c:285
+msgid "Unable to allocate any more memory\n"
+msgstr "Nem foglalható le több memória\n"
+
+#: fdisk/fdisk.c:288
+msgid "Fatal error\n"
+msgstr "Végzetes hiba\n"
+
+#: fdisk/fdisk.c:387
+msgid "   a   toggle a read only flag"
+msgstr "   a   a csak olvasható jelző átváltása"
+
+#: fdisk/fdisk.c:388 fdisk/fdisk.c:432
+msgid "   b   edit bsd disklabel"
+msgstr "   b   bsd lemezcímke szerkesztése"
+
+#: fdisk/fdisk.c:389
+msgid "   c   toggle the mountable flag"
+msgstr "   c   a csatolható jelző átváltása"
+
+#: fdisk/fdisk.c:390 fdisk/fdisk.c:409 fdisk/fdisk.c:434
+msgid "   d   delete a partition"
+msgstr "   d   partíció törlése"
+
+#: fdisk/fdisk.c:391 fdisk/fdisk.c:410 fdisk/fdisk.c:435
+msgid "   l   list known partition types"
+msgstr "   l   az ismert partíciótípusok felsorolása"
+
+#: fdisk/fdisk.c:393 fdisk/fdisk.c:412 fdisk/fdisk.c:437
+msgid "   n   add a new partition"
+msgstr "   n   új partíció hozzáadása"
+
+#: fdisk/fdisk.c:394 fdisk/fdisk.c:413 fdisk/fdisk.c:425 fdisk/fdisk.c:438
+msgid "   o   create a new empty DOS partition table"
+msgstr "   o   új, üres DOS partíciós tábla létrehozása"
+
+#: fdisk/fdisk.c:395 fdisk/fdisk.c:414 fdisk/fdisk.c:439 fdisk/fdisk.c:462
+#: fdisk/fdisk.c:479 fdisk/fdisk.c:495 fdisk/fdisk.c:513
+msgid "   p   print the partition table"
+msgstr "   p   a partíciós tábla kiírása"
+
+#: fdisk/fdisk.c:397 fdisk/fdisk.c:416 fdisk/fdisk.c:427 fdisk/fdisk.c:441
+msgid "   s   create a new empty Sun disklabel"
+msgstr "   s   új, üres Sun lemezcímke létrehozása"
+
+#: fdisk/fdisk.c:398 fdisk/fdisk.c:417 fdisk/fdisk.c:442
+msgid "   t   change a partition's system id"
+msgstr "   t   egy partíció rendszerazonosítójának módosítása"
+
+#: fdisk/fdisk.c:399 fdisk/fdisk.c:418 fdisk/fdisk.c:443
+msgid "   u   change display/entry units"
+msgstr "   u   a megjelenítési/bejegyzésegységek megváltoztatása"
+
+#: fdisk/fdisk.c:400 fdisk/fdisk.c:419 fdisk/fdisk.c:444 fdisk/fdisk.c:466
+#: fdisk/fdisk.c:483 fdisk/fdisk.c:499 fdisk/fdisk.c:517
+msgid "   v   verify the partition table"
+msgstr "   v   a partíciós tábla ellenőrzése"
+
+#: fdisk/fdisk.c:401 fdisk/fdisk.c:420 fdisk/fdisk.c:445 fdisk/fdisk.c:467
+#: fdisk/fdisk.c:484 fdisk/fdisk.c:500 fdisk/fdisk.c:518
+msgid "   w   write table to disk and exit"
+msgstr "   w   a tábla lemezre írása és kilépés"
+
+#: fdisk/fdisk.c:402 fdisk/fdisk.c:446
+msgid "   x   extra functionality (experts only)"
+msgstr "   x   extra szolgáltatások (csak szakértőknek)"
+
+#: fdisk/fdisk.c:406
+msgid "   a   select bootable partition"
+msgstr "   a   az indítható partíció kiválasztása"
+
+#: fdisk/fdisk.c:407
+msgid "   b   edit bootfile entry"
+msgstr "   b   indítófájl-bejegyzés szerkesztése"
+
+#: fdisk/fdisk.c:408
+msgid "   c   select sgi swap partition"
+msgstr "   c   sgi lapozópartíció kiválasztása"
+
+#: fdisk/fdisk.c:431
+msgid "   a   toggle a bootable flag"
+msgstr "   a   indítható jelző átváltása"
+
+#: fdisk/fdisk.c:433
+msgid "   c   toggle the dos compatibility flag"
+msgstr "   c   a DOS kompatibilitás jelzésének átváltása"
+
+#: fdisk/fdisk.c:454
+msgid "   a   change number of alternate cylinders"
+msgstr "   a   az alternatív cilinderek számának módosítása"
+
+#: fdisk/fdisk.c:455 fdisk/fdisk.c:473 fdisk/fdisk.c:489 fdisk/fdisk.c:505
+msgid "   c   change number of cylinders"
+msgstr "   c   a cilinderek számának módosítása"
+
+#: fdisk/fdisk.c:456 fdisk/fdisk.c:474 fdisk/fdisk.c:490 fdisk/fdisk.c:506
+msgid "   d   print the raw data in the partition table"
+msgstr "   d   a partíciós tábla nyers adatainak kiírása"
+
+#: fdisk/fdisk.c:457
+msgid "   e   change number of extra sectors per cylinder"
+msgstr "   e   a cilinderenkénti extra szektorok számának módosítása"
+
+#: fdisk/fdisk.c:458 fdisk/fdisk.c:477 fdisk/fdisk.c:493 fdisk/fdisk.c:510
+msgid "   h   change number of heads"
+msgstr "   h   a fejek számának módosítása"
+
+#: fdisk/fdisk.c:459
+msgid "   i   change interleave factor"
+msgstr "   i   az átrendezési tényező módosítása"
+
+#: fdisk/fdisk.c:460
+msgid "   o   change rotation speed (rpm)"
+msgstr "   o   a forgási sebesség (rpm) módosítása"
+
+#: fdisk/fdisk.c:465 fdisk/fdisk.c:482 fdisk/fdisk.c:498 fdisk/fdisk.c:516
+msgid "   s   change number of sectors/track"
+msgstr "   s   a sávonkénti szektorok számának módosítása"
+
+#: fdisk/fdisk.c:468
+msgid "   y   change number of physical cylinders"
+msgstr "   y   a fizikai cilinderek számának módosítása"
+
+#: fdisk/fdisk.c:472 fdisk/fdisk.c:488 fdisk/fdisk.c:504
+msgid "   b   move beginning of data in a partition"
+msgstr "   b   az adatok elejének mozgatása egy partícióban"
+
+#: fdisk/fdisk.c:475 fdisk/fdisk.c:491 fdisk/fdisk.c:507
+msgid "   e   list extended partitions"
+msgstr "   e   kiterjesztett partíciók felsorolása"
+
+#: fdisk/fdisk.c:476 fdisk/fdisk.c:492 fdisk/fdisk.c:509
+msgid "   g   create an IRIX (SGI) partition table"
+msgstr "   g   IRIX (SGI) partíciós tábla létrehozása"
+
+#: fdisk/fdisk.c:508
+msgid "   f   fix partition order"
+msgstr "   f   partíciósorrend javítása"
+
+#: fdisk/fdisk.c:511
+msgid "   i   change the disk identifier"
+msgstr "   i   a lemezazonosító módosítása"
+
+#: fdisk/fdisk.c:627
+#, c-format
+msgid "You must set"
+msgstr "Beállítandó"
+
+#: fdisk/fdisk.c:644
+msgid "heads"
+msgstr "fejek"
+
+#: fdisk/fdisk.c:646 fdisk/fdisk.c:1357 fdisk/sfdisk.c:945
+msgid "sectors"
+msgstr "szektorok"
+
+#: fdisk/fdisk.c:652
+#, 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"
+
+#: fdisk/fdisk.c:653
+msgid " and "
+msgstr " és "
+
+#: fdisk/fdisk.c:670
+#, c-format
+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"
+"A cilinderek beállított száma ezen a meghajtón %d.\n"
+"Ez nem jelent problémát, de ez az érték nagyobb mint 1024,\n"
+"és bizonyos rendszereken problémák lehetnek:\n"
+"1) rendszerinduláskor futó szoftverekkel (például a LILO régi verziói)\n"
+"2) másik operációs rendszerek indításával és azok partícionáló "
+"szoftvereinek\n"
+"   használatával (például DOS FDISK, OS/2 FDISK)\n"
+
+#: fdisk/fdisk.c:683
+#, 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 %d-byte sectors. Use parted(1) and GUID \n"
+"partition table format (GPT).\n"
+"\n"
+msgstr ""
+
+#: fdisk/fdisk.c:708
+#, c-format
+msgid "Bad offset in primary extended partition\n"
+msgstr "Hibás eltolás az elsődleges kiterjesztett partíción\n"
+
+#: fdisk/fdisk.c:722
+#, 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"
+
+#: fdisk/fdisk.c:741
+#, 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"
+
+#: fdisk/fdisk.c:749
+#, 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"
+
+#: fdisk/fdisk.c:782
+#, fuzzy, c-format
+msgid "omitting empty partition (%d)\n"
+msgstr "Figyelmeztetés: üres partíció\n"
+
+#: fdisk/fdisk.c:801
+#, c-format
+msgid "Disk identifier: 0x%08x\n"
+msgstr "Lemezazonosító: 0x%08x\n"
+
+#: fdisk/fdisk.c:810
+#, c-format
+msgid "New disk identifier (current 0x%08x): "
+msgstr "Új lemezazonosító (jelenleg 0x%08x): "
+
+#: fdisk/fdisk.c:829
+#, c-format
+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"
+
+#: fdisk/fdisk.c:861
+#, c-format
+msgid "Note: sector size is %d (not %d)\n"
+msgstr "Megjegyzés: a szektorméret: %d (és nem %d)\n"
+
+#: fdisk/fdisk.c:990
+#, c-format
+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"
+
+#: fdisk/fdisk.c:1022
+#, c-format
+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"
+
+#: fdisk/fdisk.c:1032
+#, c-format
+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"
+
+#: fdisk/fdisk.c:1049
+#, c-format
+msgid "Internal error\n"
+msgstr "Belső hiba\n"
+
+#: fdisk/fdisk.c:1062
+#, 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"
+
+#: fdisk/fdisk.c:1074
+#, 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"
+
+#: fdisk/fdisk.c:1096
+#, c-format
+msgid ""
+"\n"
+"got EOF thrice - exiting..\n"
+msgstr ""
+"\n"
+"Három EOF érkezett -- kilépés..\n"
+
+#: fdisk/fdisk.c:1135
+msgid "Hex code (type L to list codes): "
+msgstr "Hexa kód (a kódok listája az L megnyomásával érhető el): "
+
+#: fdisk/fdisk.c:1175
+#, c-format
+msgid "%s (%u-%u, default %u): "
+msgstr "%s (%u-%u, alapértelmezetten %u): "
+
+#: fdisk/fdisk.c:1242
+#, c-format
+msgid "Unsupported suffix: '%s'.\n"
+msgstr "Nem támogatott utótag: „%s”.\n"
+
+#: fdisk/fdisk.c:1243
+#, 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"
+
+#: fdisk/fdisk.c:1269
+#, c-format
+msgid "Using default value %u\n"
+msgstr "Az alapértelmezett %u érték kerül felhasználásra\n"
+
+#: fdisk/fdisk.c:1273
+#, c-format
+msgid "Value out of range.\n"
+msgstr "Az érték kívül esik a tartományon.\n"
+
+#: fdisk/fdisk.c:1283
+msgid "Partition number"
+msgstr "Partíciószám"
+
+#: fdisk/fdisk.c:1294
+#, c-format
+msgid "Warning: partition %d has empty type\n"
+msgstr "Figyelmeztetés: a(z) %d partíció típusa üres\n"
+
+#: fdisk/fdisk.c:1316 fdisk/fdisk.c:1342
+#, c-format
+msgid "Selected partition %d\n"
+msgstr "%d. partíció kiválasztva\n"
+
+#: fdisk/fdisk.c:1319
+#, c-format
+msgid "No partition is defined yet!\n"
+msgstr "Még nincs megadva partíció!\n"
+
+#: fdisk/fdisk.c:1345
+#, c-format
+msgid "All primary partitions have been defined already!\n"
+msgstr "Már minden elsődleges partíció megadásra került!\n"
+
+#: fdisk/fdisk.c:1355
+msgid "cylinder"
+msgstr "cilinder"
+
+#: fdisk/fdisk.c:1355
+msgid "sector"
+msgstr "szektor"
+
+#: fdisk/fdisk.c:1364
+#, c-format
+msgid "Changing display/entry units to %s\n"
+msgstr "A megjelenítési/bejegyzésegységek módosítva: %s\n"
+
+#: fdisk/fdisk.c:1375
+#, c-format
+msgid "WARNING: Partition %d is an extended partition\n"
+msgstr "FIGYELMEZTETÉS: A(z) %d partíció egy kiterjesztett partíció\n"
+
+#: fdisk/fdisk.c:1386
+#, c-format
+msgid "DOS Compatibility flag is set\n"
+msgstr "A DOS kompatibilitási jelző be van állítva\n"
+
+#: fdisk/fdisk.c:1390
+#, c-format
+msgid "DOS Compatibility flag is not set\n"
+msgstr "A DOS kompatibilitási jelző nincs beállítva\n"
+
+#: fdisk/fdisk.c:1490
+#, c-format
+msgid "Partition %d does not exist yet!\n"
+msgstr "A(z) %d. partíció még nem létezik!\n"
+
+#: fdisk/fdisk.c:1495
+#, 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"
+
+#: fdisk/fdisk.c:1504
+#, 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"
+
+#: fdisk/fdisk.c:1513
+#, 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"
+
+#: fdisk/fdisk.c:1519
+#, 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"
+
+#: fdisk/fdisk.c:1536
+#, 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"
+
+#: fdisk/fdisk.c:1539
+#, 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"
+
+#: fdisk/fdisk.c:1591
+#, 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"
+
+#: fdisk/fdisk.c:1593 fdisk/fdisk.c:1601 fdisk/fdisk.c:1610 fdisk/fdisk.c:1620
+#, c-format
+msgid "     phys=(%d, %d, %d) "
+msgstr "     fizikai=(%d, %d, %d) "
+
+#: fdisk/fdisk.c:1594 fdisk/fdisk.c:1602
+#, c-format
+msgid "logical=(%d, %d, %d)\n"
+msgstr "logikai=(%d, %d, %d)\n"
+
+#: fdisk/fdisk.c:1599
+#, 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"
+
+#: fdisk/fdisk.c:1608
+#, c-format
+msgid "Partition %i does not start on cylinder boundary:\n"
+msgstr "A(z) %i. partíció nem cillinderhatáron kezdődik:\n"
+
+#: fdisk/fdisk.c:1611
+#, c-format
+msgid "should be (%d, %d, 1)\n"
+msgstr "a várt érték: (%d, %d, 1)\n"
+
+#: fdisk/fdisk.c:1617
+#, 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"
+
+#: fdisk/fdisk.c:1621
+#, c-format
+msgid "should be (%d, %d, %d)\n"
+msgstr "a várt érték: (%d, %d, %d)\n"
+
+#: fdisk/fdisk.c:1633
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld MB, %lld bytes\n"
+msgstr ""
+"\n"
+"%s lemez: %ld MB, %lld) bájt\n"
+
+#: fdisk/fdisk.c:1637
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld.%ld GB, %lld bytes\n"
+msgstr ""
+"\n"
+"%s lemez: %ld.%ld GB, %lld bájt\n"
+"\n"
+
+#: fdisk/fdisk.c:1640
+#, c-format
+msgid "%d heads, %llu sectors/track, %d cylinders"
+msgstr "%d fej, %llu szektor, %d cilinder"
+
+#: fdisk/fdisk.c:1643
+#, c-format
+msgid ", total %llu sectors"
+msgstr ", összesen %llu szektor"
+
+#: fdisk/fdisk.c:1646
+#, c-format
+msgid "Units = %s of %d * %d = %d bytes\n"
+msgstr "Egység: %s %d * %d = %d bájt\n"
+
+#: fdisk/fdisk.c:1757
+#, c-format
+msgid ""
+"Nothing to do. Ordering is correct already.\n"
+"\n"
+msgstr ""
+"Nincs teendő. A sorrend már helyes.\n"
+"\n"
+
+#: fdisk/fdisk.c:1785
+#, fuzzy, c-format
+msgid "Done.\n"
+msgstr ""
+"Kész\n"
+"\n"
+
+#: fdisk/fdisk.c:1813
+#, 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"
+
+#: fdisk/fdisk.c:1826
+#, c-format
+msgid "%*s Boot      Start         End      Blocks   Id  System\n"
+msgstr "%*s Indítás   Eleje         Vége      Blokkok  Az  Rendszer\n"
+
+#: fdisk/fdisk.c:1827 fdisk/fdisksgilabel.c:223 fdisk/fdisksunlabel.c:603
+msgid "Device"
+msgstr "Eszköz"
+
+#: fdisk/fdisk.c:1864
+#, 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"
+
+#: fdisk/fdisk.c:1874
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %d cylinders\n"
+"\n"
+msgstr ""
+"\n"
+"%s lemez: %d fej, %llu szektor, %d cilinder\n"
+"\n"
+
+#: fdisk/fdisk.c:1876
+#, 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"
+
+#: fdisk/fdisk.c:1922
+#, c-format
+msgid "Warning: partition %d contains sector 0\n"
+msgstr "Figyelmeztetés: a(z) %d. partíció a 0. szektort is tartalmazza\n"
+
+#: fdisk/fdisk.c:1925
+#, 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"
+
+#: fdisk/fdisk.c:1928
+#, 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"
+
+#: fdisk/fdisk.c:1931
+#, c-format
+msgid "Partitions %d: cylinder %d greater than maximum %d\n"
+msgstr "%d. partíció: a(z) %d. cilinder nagyobb, mint a maximális %d\n"
+
+#: fdisk/fdisk.c:1935
+#, 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"
+
+#: fdisk/fdisk.c:1968
+#, 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"
+
+#: fdisk/fdisk.c:1976
+#, 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"
+
+#: fdisk/fdisk.c:1996
+#, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr "Figyelmeztetés: a(z) %d. partíció üres\n"
+
+#: fdisk/fdisk.c:2001
+#, 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"
+
+#: fdisk/fdisk.c:2007
+#, 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"
+
+#: fdisk/fdisk.c:2010
+#, fuzzy, c-format
+msgid "%lld unallocated %d-byte sectors\n"
+msgstr "%lld szektor nincs lefoglalva\n"
+
+#: fdisk/fdisk.c:2025 fdisk/fdisksgilabel.c:633 fdisk/fdisksunlabel.c:416
+#, 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"
+
+#: fdisk/fdisk.c:2067
+#, c-format
+msgid "Sector %llu is already allocated\n"
+msgstr "A(z) %llu. szektor már le van foglalva\n"
+
+#: fdisk/fdisk.c:2103
+#, c-format
+msgid "No free sectors available\n"
+msgstr "Nem érhető el szabad szektor\n"
+
+#: fdisk/fdisk.c:2112
+#, c-format
+msgid "Last %1$s, +%2$s or +size{K,M,G}"
+msgstr "Utolsó %1$s, +%2$s vagy +size{K,M,G}"
+
+#: fdisk/fdisk.c:2178
+#, 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"
+
+#: fdisk/fdisk.c:2187
+#, 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"
+
+#: fdisk/fdisk.c:2207
+#, c-format
+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"
+
+#: fdisk/fdisk.c:2210
+#, c-format
+msgid "All logical partitions are in use\n"
+msgstr "Az összes logikai partíció használatban van\n"
+
+#: fdisk/fdisk.c:2211
+#, c-format
+msgid "Adding a primary partition\n"
+msgstr "Elsődleges partíció hozzáadása\n"
+
+#: fdisk/fdisk.c:2216
+#, c-format
+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"
+
+#: fdisk/fdisk.c:2218
+msgid "l   logical (5 or over)"
+msgstr "l   logikai (5 vagy több)"
+
+#: fdisk/fdisk.c:2218
+msgid "e   extended"
+msgstr "e   kiterjesztett"
+
+#: fdisk/fdisk.c:2237
+#, c-format
+msgid "Invalid partition number for type `%c'\n"
+msgstr "Érvénytelen partíciószám a(z) „%c” típushoz\n"
+
+#: fdisk/fdisk.c:2273
+#, c-format
+msgid ""
+"The partition table has been altered!\n"
+"\n"
+msgstr ""
+"A partíciós tábla módosítva!\n"
+"\n"
+
+#: fdisk/fdisk.c:2287
+#, 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"
+
+#: fdisk/fdisk.c:2296
+#, fuzzy, c-format
+msgid ""
+"\n"
+"WARNING: Re-reading the partition table failed with error %d: %s.\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"
+
+#: fdisk/fdisk.c:2304
+#, 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"
+
+#: fdisk/fdisk.c:2310
+#, c-format
+msgid ""
+"\n"
+"Error closing file\n"
+msgstr ""
+"\n"
+"Hiba a fájl lezárásakor\n"
+
+#: fdisk/fdisk.c:2314
+#, c-format
+msgid "Syncing disks.\n"
+msgstr "Adatok kiírása a lemezekre.\n"
+
+#: fdisk/fdisk.c:2361
+#, c-format
+msgid "Partition %d has no data area\n"
+msgstr "A(z) %d. partíciónak nincs adatterülete\n"
+
+#: fdisk/fdisk.c:2366
+msgid "New beginning of data"
+msgstr "Az adatok új kezdete"
+
+#: fdisk/fdisk.c:2382
+msgid "Expert command (m for help): "
+msgstr "Szakértői parancs (m = súgó): "
+
+#: fdisk/fdisk.c:2395
+msgid "Number of cylinders"
+msgstr "Cilinderek száma"
+
+#: fdisk/fdisk.c:2422
+msgid "Number of heads"
+msgstr "Fejek száma"
+
+#: fdisk/fdisk.c:2449
+msgid "Number of sectors"
+msgstr "Szektorok száma"
+
+#: fdisk/fdisk.c:2452
+#, c-format
+msgid "Warning: setting sector offset for DOS compatiblity\n"
+msgstr "Figyelmeztetés: a szektoreltolás beállítása DOS-kompatibilitis módra\n"
+
+#: fdisk/fdisk.c:2511
+#, 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"
+
+#: fdisk/fdisk.c:2533
+#, c-format
+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"
+
+#: fdisk/fdisk.c:2544
+#, c-format
+msgid "Cannot open %s\n"
+msgstr "A(z) „%s” nem nyitható meg\n"
+
+#: fdisk/fdisk.c:2563 fdisk/sfdisk.c:2618
+#, c-format
+msgid "cannot open %s\n"
+msgstr "a(z) „%s” nem nyitható meg\n"
+
+#: fdisk/fdisk.c:2583
+#, c-format
+msgid "%c: unknown command\n"
+msgstr "%c: ismeretlen parancs\n"
+
+#: fdisk/fdisk.c:2653
+#, c-format
+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"
+
+#: fdisk/fdisk.c:2657
+#, 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"
+
+#: fdisk/fdisk.c:2717
+#, 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"
+
+#: fdisk/fdisk.c:2727
+msgid "Command (m for help): "
+msgstr "Parancs (m = súgó): "
+
+#: fdisk/fdisk.c:2743
+#, c-format
+msgid ""
+"\n"
+"The current boot file is: %s\n"
+msgstr ""
+"\n"
+"Az aktuális indítófájl: %s\n"
+
+#: fdisk/fdisk.c:2745
+msgid "Please enter the name of the new boot file: "
+msgstr "Adja meg az új indítófájl nevét: "
+
+#: fdisk/fdisk.c:2747
+#, c-format
+msgid "Boot file unchanged\n"
+msgstr "Az indítófájl változatlan\n"
+
+#: fdisk/fdisk.c:2820
+#, c-format
+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"
+
+#: fdisk/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"
+
+#: fdisk/fdisksgilabel.c:81
+msgid "SGI volhdr"
+msgstr "SGI volhdr"
+
+#: fdisk/fdisksgilabel.c:82
+msgid "SGI trkrepl"
+msgstr "SGI trkrepl"
+
+#: fdisk/fdisksgilabel.c:83
+msgid "SGI secrepl"
+msgstr "SGI secrepl"
+
+#: fdisk/fdisksgilabel.c:84
+msgid "SGI raw"
+msgstr "SGI nyers"
+
+#: fdisk/fdisksgilabel.c:85
+msgid "SGI bsd"
+msgstr "SGI bsd"
+
+#: fdisk/fdisksgilabel.c:86
+msgid "SGI sysv"
+msgstr "SGI sysv"
+
+#: fdisk/fdisksgilabel.c:87
+msgid "SGI volume"
+msgstr "SGI kötet"
+
+#: fdisk/fdisksgilabel.c:88
+msgid "SGI efs"
+msgstr "SGI efs"
+
+#: fdisk/fdisksgilabel.c:89
+msgid "SGI lvol"
+msgstr "SGI lvol"
+
+#: fdisk/fdisksgilabel.c:90
+msgid "SGI rlvol"
+msgstr "SGI rlvol"
+
+#: fdisk/fdisksgilabel.c:91
+msgid "SGI xfs"
+msgstr "SGI xfs"
+
+#: fdisk/fdisksgilabel.c:92
+msgid "SGI xfslog"
+msgstr "SGI xfslog"
+
+#: fdisk/fdisksgilabel.c:93
+msgid "SGI xlv"
+msgstr "SGI xlv"
+
+#: fdisk/fdisksgilabel.c:94
+msgid "SGI xvm"
+msgstr "SGI xvm"
+
+#: fdisk/fdisksgilabel.c:95 fdisk/fdisksunlabel.c:55
+msgid "Linux swap"
+msgstr "Linux lapozó"
+
+#: fdisk/fdisksgilabel.c:96 fdisk/fdisksunlabel.c:56
+msgid "Linux native"
+msgstr "Linux natív"
+
+#: fdisk/fdisksgilabel.c:97 fdisk/fdisksunlabel.c:57 fdisk/i386_sys_types.c:63
+msgid "Linux LVM"
+msgstr "Linux LVM"
+
+#: fdisk/fdisksgilabel.c:98
+msgid "Linux RAID"
+msgstr "Linux RAID"
+
+#: fdisk/fdisksgilabel.c:164
+#, 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"
+
+#: fdisk/fdisksgilabel.c:183
+#, c-format
+msgid "Detected sgi disklabel with wrong checksum.\n"
+msgstr "Az sgi lemezcímke ellenőrzőösszege hibás.\n"
+
+#: fdisk/fdisksgilabel.c:201
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors\n"
+"%d cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * %d 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"
+
+#: fdisk/fdisksgilabel.c:214
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors, %d cylinders\n"
+"Units = %s of %d * %d 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"
+
+#: fdisk/fdisksgilabel.c:221
+#, 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"
+
+#: fdisk/fdisksgilabel.c:243
+#, 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"
+
+#: fdisk/fdisksgilabel.c:251
+#, c-format
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr "%2d: %-10s szektor: %5u méret: %8u\n"
+
+#: fdisk/fdisksgilabel.c:305
+#, 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"
+
+#: fdisk/fdisksgilabel.c:311
+#, 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"
+
+#: fdisk/fdisksgilabel.c:316
+#, 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"
+
+#: fdisk/fdisksgilabel.c:323
+#, 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"
+
+#: fdisk/fdisksgilabel.c:349
+#, 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"
+
+#: fdisk/fdisksgilabel.c:439
+#, c-format
+msgid "More than one entire disk entry present.\n"
+msgstr "Több teljes lemez bejegyzés van jelen.\n"
+
+#: fdisk/fdisksgilabel.c:446 fdisk/fdisksunlabel.c:388
+#, c-format
+msgid "No partitions defined\n"
+msgstr "Nincsenek partíciók megadva\n"
+
+#: fdisk/fdisksgilabel.c:452
+#, 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"
+
+#: fdisk/fdisksgilabel.c:454
+#, 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"
+
+#: fdisk/fdisksgilabel.c:460
+#, 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"
+
+#: fdisk/fdisksgilabel.c:466
+#, c-format
+msgid "One Partition (#11) should cover the entire disk.\n"
+msgstr "Egy partíciónak (a 11.-nek) le kellene fednie a teljes lemezt.\n"
+
+#: fdisk/fdisksgilabel.c:476
+#, c-format
+msgid "Partition %d does not start on cylinder boundary.\n"
+msgstr "A(z) %d. partíció nem cilinderhatáron kezdődik.\n"
+
+#: fdisk/fdisksgilabel.c:482
+#, 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"
+
+#: fdisk/fdisksgilabel.c:489
+#, 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"
+
+#: fdisk/fdisksgilabel.c:497 fdisk/fdisksgilabel.c:515
+#, 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"
+
+#: fdisk/fdisksgilabel.c:526
+#, c-format
+msgid ""
+"\n"
+"The boot partition does not exist.\n"
+msgstr ""
+"\n"
+"Az indítópartíció nem létezik.\n"
+
+#: fdisk/fdisksgilabel.c:529
+#, c-format
+msgid ""
+"\n"
+"The swap partition does not exist.\n"
+msgstr ""
+"\n"
+"A lapozópartíció nem létezik.\n"
+
+#: fdisk/fdisksgilabel.c:533
+#, 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"
+
+#: fdisk/fdisksgilabel.c:536
+#, c-format
+msgid "\tYou have chosen an unusual boot file name.\n"
+msgstr "\tSzokatlan indítófájl nevet választott.\n"
+
+#: fdisk/fdisksgilabel.c:545
+#, c-format
+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"
+
+#: fdisk/fdisksgilabel.c:551
+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"
+
+#: fdisk/fdisksgilabel.c:556 fdisk/fdisksunlabel.c:554
+msgid "YES\n"
+msgstr "IGEN\n"
+
+#: fdisk/fdisksgilabel.c:581
+#, c-format
+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"
+
+#: fdisk/fdisksgilabel.c:639
+#, 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"
+
+#: fdisk/fdisksgilabel.c:644
+#, c-format
+msgid "The entire disk is already covered with partitions.\n"
+msgstr "A partíciók már lefedik a teljes lemezt.\n"
+
+#: fdisk/fdisksgilabel.c:648
+#, 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"
+
+#: fdisk/fdisksgilabel.c:657 fdisk/fdisksgilabel.c:686
+#, 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"
+
+#: fdisk/fdisksgilabel.c:673
+#, 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"
+
+#: fdisk/fdisksgilabel.c:678
+#, c-format
+msgid " Last %s"
+msgstr " Utolsó %s"
+
+#: fdisk/fdisksgilabel.c:708
+#, c-format
+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"
+
+#: fdisk/fdisksgilabel.c:731 fdisk/fdisksunlabel.c:227
+#, c-format
+msgid ""
+"Warning:  BLKGETSIZE ioctl failed on %s.  Using geometry cylinder value of %"
+"d.\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"
+
+#: fdisk/fdisksgilabel.c:745
+#, c-format
+msgid "Trying to keep parameters of partition %d.\n"
+msgstr "Kísérlet a(z) %d. partíció paramétereinek megtartására.\n"
+
+#: fdisk/fdisksgilabel.c:747
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr "AZ=%02x\tKEZDET=%d\tHOSSZ=%d\n"
+
+#: fdisk/fdisksunlabel.c:43
+msgid "Unassigned"
+msgstr "Társítatlan"
+
+#: fdisk/fdisksunlabel.c:45
+msgid "SunOS root"
+msgstr "SunOS gyökér"
+
+#: fdisk/fdisksunlabel.c:46
+msgid "SunOS swap"
+msgstr "SunOS lapozó"
+
+#: fdisk/fdisksunlabel.c:47
+msgid "SunOS usr"
+msgstr "SunOS usr"
+
+#: fdisk/fdisksunlabel.c:48
+msgid "Whole disk"
+msgstr "Teljes lemez"
+
+#: fdisk/fdisksunlabel.c:49
+msgid "SunOS stand"
+msgstr "SunOS stand"
+
+#: fdisk/fdisksunlabel.c:50
+msgid "SunOS var"
+msgstr "SunOS var"
+
+#: fdisk/fdisksunlabel.c:51
+msgid "SunOS home"
+msgstr "SunOS home"
+
+#: fdisk/fdisksunlabel.c:52
+msgid "SunOS alt sectors"
+msgstr "SunOS alt szektorok"
+
+#: fdisk/fdisksunlabel.c:53
+msgid "SunOS cachefs"
+msgstr "SunOS cachefs"
+
+#: fdisk/fdisksunlabel.c:54
+msgid "SunOS reserved"
+msgstr "SunOS fenntartott"
+
+#: fdisk/fdisksunlabel.c:58 fdisk/i386_sys_types.c:103
+msgid "Linux raid autodetect"
+msgstr "Linux raid automatikus felismeréssel"
+
+#: fdisk/fdisksunlabel.c:141
+#, 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"
+
+#: fdisk/fdisksunlabel.c:153
+#, 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"
+
+#: fdisk/fdisksunlabel.c:158
+#, c-format
+msgid "Detected sun disklabel with wrong sanity [0x%08x].\n"
+msgstr "A Sun lemezcímke állapota hibás [0x%08x].\n"
+
+#: fdisk/fdisksunlabel.c:163
+#, 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"
+
+#: fdisk/fdisksunlabel.c:168
+#, 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"
+
+#: fdisk/fdisksunlabel.c:198
+#, c-format
+msgid ""
+"Building a new sun disklabel. Changes will remain in memory only,\n"
+"until you decide to write them. After that, of course, the previous\n"
+"content won't be recoverable.\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"
+
+#: fdisk/fdisksunlabel.c:236
+msgid "Sectors/track"
+msgstr "Sávonkénti szektorok"
+
+#: fdisk/fdisksunlabel.c:351
+#, 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"
+
+#: fdisk/fdisksunlabel.c:371
+#, 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"
+
+#: fdisk/fdisksunlabel.c:393
+#, c-format
+msgid "Unused gap - sectors 0-%d\n"
+msgstr "Nem használt hézag a 0-%d szektorokon\n"
+
+#: fdisk/fdisksunlabel.c:395 fdisk/fdisksunlabel.c:401
+#, c-format
+msgid "Unused gap - sectors %d-%d\n"
+msgstr "Nem használt hézag a(z) %d-%d szektorokon\n"
+
+#: fdisk/fdisksunlabel.c:426
+#, 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"
+
+#: fdisk/fdisksunlabel.c:449
+#, 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"
+
+#: fdisk/fdisksunlabel.c:477
+#, c-format
+msgid "Sector %d is already allocated\n"
+msgstr "A(z) %d. szektor már le van foglalva\n"
+
+#: fdisk/fdisksunlabel.c:507
+#, 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"
+
+#: fdisk/fdisksunlabel.c:534
+#, 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"
+
+#: fdisk/fdisksunlabel.c:549
+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: "
+
+#: fdisk/fdisksunlabel.c:581
+#, c-format
+msgid ""
+"\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"
+"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"
+
+#: fdisk/fdisksunlabel.c:597
+#, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %d heads, %llu sectors, %d 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"
+
+#: fdisk/fdisksunlabel.c:602
+#, c-format
+msgid "%*s Flag    Start       End    Blocks   Id  System\n"
+msgstr "%*s Jelző   Kezdet      Vége   Blokkok  Az  Rendszer\n"
+
+#: fdisk/fdisksunlabel.c:630
+msgid "Number of alternate cylinders"
+msgstr "Az alternatív cilinderek száma"
+
+#: fdisk/fdisksunlabel.c:642
+msgid "Extra sectors per cylinder"
+msgstr "Cilinderenkénti extra szektorok"
+
+#: fdisk/fdisksunlabel.c:649
+msgid "Interleave factor"
+msgstr "Átrendezési tényező"
+
+#: fdisk/fdisksunlabel.c:656
+msgid "Rotation speed (rpm)"
+msgstr "Forgási sebesség (percenkénti fordulat)"
+
+#: fdisk/fdisksunlabel.c:663
+msgid "Number of physical cylinders"
+msgstr "A fizikai cilinderek száma"
+
+#: fdisk/i386_sys_types.c:6
+msgid "Empty"
+msgstr "Üres"
+
+#: fdisk/i386_sys_types.c:7
+msgid "FAT12"
+msgstr "FAT12"
+
+#: fdisk/i386_sys_types.c:8
+msgid "XENIX root"
+msgstr "XENIX root"
+
+#: fdisk/i386_sys_types.c:9
+msgid "XENIX usr"
+msgstr "XENIX usr"
+
+#: fdisk/i386_sys_types.c:10
+msgid "FAT16 <32M"
+msgstr "FAT16 <32M"
+
+#: fdisk/i386_sys_types.c:11
+msgid "Extended"
+msgstr "Kiterjesztett"
+
+#: fdisk/i386_sys_types.c:12
+msgid "FAT16"
+msgstr "FAT16"
+
+#: fdisk/i386_sys_types.c:13
+msgid "HPFS/NTFS"
+msgstr "HPFS/NTFS"
+
+#: fdisk/i386_sys_types.c:14
+msgid "AIX"
+msgstr "AIX"
+
+#: fdisk/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr "AIX indítható"
+
+#: fdisk/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr "OS/2 Rendszerindítás-kezelő"
+
+#: fdisk/i386_sys_types.c:17
+msgid "W95 FAT32"
+msgstr "W95 FAT32"
+
+#: fdisk/i386_sys_types.c:18
+msgid "W95 FAT32 (LBA)"
+msgstr "W95 FAT32 (LBA)"
+
+#: fdisk/i386_sys_types.c:19
+msgid "W95 FAT16 (LBA)"
+msgstr "W95 FAT16 (LBA)"
+
+#: fdisk/i386_sys_types.c:20
+msgid "W95 Ext'd (LBA)"
+msgstr "W95 kiterj. (LBA)"
+
+#: fdisk/i386_sys_types.c:21
+msgid "OPUS"
+msgstr "OPUS"
+
+#: fdisk/i386_sys_types.c:22
+msgid "Hidden FAT12"
+msgstr "Rejtett FAT12"
+
+#: fdisk/i386_sys_types.c:23
+msgid "Compaq diagnostics"
+msgstr "Compaq diagnosztikai"
+
+#: fdisk/i386_sys_types.c:24
+msgid "Hidden FAT16 <32M"
+msgstr "Rejtett FAT16 <32M"
+
+#: fdisk/i386_sys_types.c:25
+msgid "Hidden FAT16"
+msgstr "Rejtett FAT16"
+
+#: fdisk/i386_sys_types.c:26
+msgid "Hidden HPFS/NTFS"
+msgstr "Rejtett HPFS/NTFS"
+
+#: fdisk/i386_sys_types.c:27
+msgid "AST SmartSleep"
+msgstr "AST SmartSleep"
+
+#: fdisk/i386_sys_types.c:28
+msgid "Hidden W95 FAT32"
+msgstr "Rejtett W95 FAT32"
+
+#: fdisk/i386_sys_types.c:29
+msgid "Hidden W95 FAT32 (LBA)"
+msgstr "Rejtett W95 FAT32 (LBA)"
+
+#: fdisk/i386_sys_types.c:30
+msgid "Hidden W95 FAT16 (LBA)"
+msgstr "Rejtett W95 FAT16 (LBA)"
+
+#: fdisk/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr "NEC DOS"
+
+#: fdisk/i386_sys_types.c:32
+msgid "Plan 9"
+msgstr "Plan 9"
+
+#: fdisk/i386_sys_types.c:33
+msgid "PartitionMagic recovery"
+msgstr "PartitionMagic helyreállítás"
+
+#: fdisk/i386_sys_types.c:34
+msgid "Venix 80286"
+msgstr "Venix 80286"
+
+#: fdisk/i386_sys_types.c:35
+msgid "PPC PReP Boot"
+msgstr "PPC PReP indító"
+
+#: fdisk/i386_sys_types.c:36
+msgid "SFS"
+msgstr "SFS"
+
+#: fdisk/i386_sys_types.c:37
+msgid "QNX4.x"
+msgstr "QNX4.x"
+
+#: fdisk/i386_sys_types.c:38
+msgid "QNX4.x 2nd part"
+msgstr "QNX4.x 2. partíció"
+
+#: fdisk/i386_sys_types.c:39
+msgid "QNX4.x 3rd part"
+msgstr "QNX4.x 3. partíció"
+
+#: fdisk/i386_sys_types.c:40
+msgid "OnTrack DM"
+msgstr "OnTrack DM"
+
+#: fdisk/i386_sys_types.c:41
+msgid "OnTrack DM6 Aux1"
+msgstr "OnTrack DM6 Aux1"
+
+#: fdisk/i386_sys_types.c:42
+msgid "CP/M"
+msgstr "CP/M"
+
+#: fdisk/i386_sys_types.c:43
+msgid "OnTrack DM6 Aux3"
+msgstr "OnTrack DM6 Aux3"
+
+#: fdisk/i386_sys_types.c:44
+msgid "OnTrackDM6"
+msgstr "OnTrackDM6"
+
+#: fdisk/i386_sys_types.c:45
+msgid "EZ-Drive"
+msgstr "EZ-Drive"
+
+#: fdisk/i386_sys_types.c:46
+msgid "Golden Bow"
+msgstr "Golden Bow"
+
+#: fdisk/i386_sys_types.c:47
+msgid "Priam Edisk"
+msgstr "Priam Edisk"
+
+#: fdisk/i386_sys_types.c:48 fdisk/i386_sys_types.c:92
+#: fdisk/i386_sys_types.c:98 fdisk/i386_sys_types.c:99
+msgid "SpeedStor"
+msgstr "SpeedStor"
+
+#: fdisk/i386_sys_types.c:49
+msgid "GNU HURD or SysV"
+msgstr "GNU HURD vagy SysV"
+
+#: fdisk/i386_sys_types.c:50
+msgid "Novell Netware 286"
+msgstr "Novell Netware 286"
+
+#: fdisk/i386_sys_types.c:51
+msgid "Novell Netware 386"
+msgstr "Novell Netware 386"
+
+#: fdisk/i386_sys_types.c:52
+msgid "DiskSecure Multi-Boot"
+msgstr "DiskSecure Multi-Boot"
+
+#: fdisk/i386_sys_types.c:53
+msgid "PC/IX"
+msgstr "PC/IX"
+
+#: fdisk/i386_sys_types.c:54
+msgid "Old Minix"
+msgstr "Régi Minix"
+
+#: fdisk/i386_sys_types.c:55
+msgid "Minix / old Linux"
+msgstr "Minix / régi Linux"
+
+#: fdisk/i386_sys_types.c:56
+msgid "Linux swap / Solaris"
+msgstr "Linux lapozó / Solaris"
+
+#: fdisk/i386_sys_types.c:58
+msgid "OS/2 hidden C: drive"
+msgstr "OS/2 rejtett C: meghajtó"
+
+#: fdisk/i386_sys_types.c:59
+msgid "Linux extended"
+msgstr "Linux kiterjesztett"
+
+#: fdisk/i386_sys_types.c:60 fdisk/i386_sys_types.c:61
+msgid "NTFS volume set"
+msgstr "NTFS kötetkészlet"
+
+#: fdisk/i386_sys_types.c:62
+msgid "Linux plaintext"
+msgstr "Linux egyszerű szöveg"
+
+#: fdisk/i386_sys_types.c:64
+msgid "Amoeba"
+msgstr "Amoeba"
+
+#: fdisk/i386_sys_types.c:65
+msgid "Amoeba BBT"
+msgstr "Amoeba BBT"
+
+#: fdisk/i386_sys_types.c:66
+msgid "BSD/OS"
+msgstr "BSD/OS"
+
+#: fdisk/i386_sys_types.c:67
+msgid "IBM Thinkpad hibernation"
+msgstr "IBM Thinkpad hibernálás"
+
+#: fdisk/i386_sys_types.c:68
+msgid "FreeBSD"
+msgstr "FreeBSD"
+
+#: fdisk/i386_sys_types.c:69
+msgid "OpenBSD"
+msgstr "OpenBSD"
+
+#: fdisk/i386_sys_types.c:70
+msgid "NeXTSTEP"
+msgstr "NeXTSTEP"
+
+#: fdisk/i386_sys_types.c:71
+msgid "Darwin UFS"
+msgstr "Darwin UFS"
+
+#: fdisk/i386_sys_types.c:72
+msgid "NetBSD"
+msgstr "NetBSD"
+
+#: fdisk/i386_sys_types.c:73
+msgid "Darwin boot"
+msgstr "Darwin indító"
+
+#: fdisk/i386_sys_types.c:74
+#, fuzzy
+msgid "HFS / HFS+"
+msgstr "OS/2 HPFS"
+
+#: fdisk/i386_sys_types.c:75
+msgid "BSDI fs"
+msgstr "BSDI fs"
+
+#: fdisk/i386_sys_types.c:76
+msgid "BSDI swap"
+msgstr "BSDI lapozó"
+
+#: fdisk/i386_sys_types.c:77
+msgid "Boot Wizard hidden"
+msgstr "Boot Wizard rejtett"
+
+#: fdisk/i386_sys_types.c:78
+msgid "Solaris boot"
+msgstr "Solaris indító"
+
+#: fdisk/i386_sys_types.c:79
+msgid "Solaris"
+msgstr "Solaris"
+
+#: fdisk/i386_sys_types.c:80
+msgid "DRDOS/sec (FAT-12)"
+msgstr "DRDOS/sec (FAT-12)"
+
+#: fdisk/i386_sys_types.c:81
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr "DRDOS/sec (FAT-16 < 32M)"
+
+#: fdisk/i386_sys_types.c:82
+msgid "DRDOS/sec (FAT-16)"
+msgstr "DRDOS/sec (FAT-16)"
+
+#: fdisk/i386_sys_types.c:83
+msgid "Syrinx"
+msgstr "Syrinx"
+
+#: fdisk/i386_sys_types.c:84
+msgid "Non-FS data"
+msgstr "Nem fájlrendszeradatok"
+
+#: fdisk/i386_sys_types.c:85
+msgid "CP/M / CTOS / ..."
+msgstr "CP/M / CTOS / ..."
+
+#: fdisk/i386_sys_types.c:87
+msgid "Dell Utility"
+msgstr "Dell Utility"
+
+#: fdisk/i386_sys_types.c:88
+msgid "BootIt"
+msgstr "BootIt"
+
+#: fdisk/i386_sys_types.c:89
+msgid "DOS access"
+msgstr "DOS elérés"
+
+#: fdisk/i386_sys_types.c:91
+msgid "DOS R/O"
+msgstr "DOS R/O"
+
+#: fdisk/i386_sys_types.c:94
+msgid "BeOS fs"
+msgstr "BeOS fs"
+
+#: fdisk/i386_sys_types.c:95
+msgid "GPT"
+msgstr "GPT"
+
+#: fdisk/i386_sys_types.c:96
+msgid "EFI (FAT-12/16/32)"
+msgstr "EFI (FAT-12/16/32)"
+
+#: fdisk/i386_sys_types.c:97
+msgid "Linux/PA-RISC boot"
+msgstr "Linux/PA-RISC indító"
+
+#: fdisk/i386_sys_types.c:100
+msgid "DOS secondary"
+msgstr "DOS másodlagos"
+
+#: fdisk/i386_sys_types.c:101
+msgid "VMware VMFS"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:102
+msgid "VMware VMKCORE"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:106
+msgid "LANstep"
+msgstr "LANstep"
+
+#: fdisk/i386_sys_types.c:107
+msgid "BBT"
+msgstr "BBT"
+
+#: fdisk/sfdisk.c:179
+#, 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"
+
+#: fdisk/sfdisk.c:184
+#, 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"
+
+#: fdisk/sfdisk.c:230
+msgid "out of memory - giving up\n"
+msgstr "elfogyott a memória - feladom\n"
+
+#: fdisk/sfdisk.c:235 fdisk/sfdisk.c:318
+#, 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"
+
+#: fdisk/sfdisk.c:253
+#, 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"
+
+#: fdisk/sfdisk.c:268
+#, 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"
+
+#: fdisk/sfdisk.c:306
+#, c-format
+msgid "cannot open partition sector save file (%s)\n"
+msgstr "nem nyitható meg a partíció szektormentés fájlja (%s)\n"
+
+#: fdisk/sfdisk.c:324
+#, c-format
+msgid "write error on %s\n"
+msgstr "írási hiba a(z) %s eszközön\n"
+
+#: fdisk/sfdisk.c:350
+#, c-format
+msgid "cannot stat partition restore file (%s)\n"
+msgstr "nem érhető el a partíció visszaállítófájlja (%s)\n"
+
+#: fdisk/sfdisk.c:355
+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"
+
+#: fdisk/sfdisk.c:359
+msgid "out of memory?\n"
+msgstr "elfogyott a memória?\n"
+
+#: fdisk/sfdisk.c:365
+#, c-format
+msgid "cannot open partition restore file (%s)\n"
+msgstr "a partíció visszaállítófájlja nem nyitható meg (%s)\n"
+
+#: fdisk/sfdisk.c:371
+#, c-format
+msgid "error reading %s\n"
+msgstr "hiba a(z) %s olvasásakor\n"
+
+#: fdisk/sfdisk.c:378
+#, c-format
+msgid "cannot open device %s for writing\n"
+msgstr "a(z) %s eszköz nem nyitható meg írásra\n"
+
+#: fdisk/sfdisk.c:390
+#, 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"
+
+#: fdisk/sfdisk.c:455
+#, c-format
+msgid "Disk %s: cannot get geometry\n"
+msgstr "%s lemez: nem kérhető le a geometria\n"
+
+#: fdisk/sfdisk.c:472
+#, c-format
+msgid "Disk %s: cannot get size\n"
+msgstr "%s lemez: nem kérhető le a méret\n"
+
+#: fdisk/sfdisk.c:505
+#, 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"
+
+#: fdisk/sfdisk.c:512
+#, 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"
+
+#: fdisk/sfdisk.c:515
+#, 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"
+
+#: fdisk/sfdisk.c:519
+#, 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"
+
+#: fdisk/sfdisk.c:524
+#, 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"
+
+#: fdisk/sfdisk.c:528
+#, 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"
+
+#: fdisk/sfdisk.c:610
+#, 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"
+
+#: fdisk/sfdisk.c:615
+#, 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"
+
+#: fdisk/sfdisk.c:620
+#, 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"
+
+#: fdisk/sfdisk.c:660
+#, c-format
+msgid ""
+"Id  Name\n"
+"\n"
+msgstr ""
+"Azonosító  Név\n"
+"\n"
+
+#: fdisk/sfdisk.c:821
+#, c-format
+msgid "Re-reading the partition table ...\n"
+msgstr "A partíciós tábla újraolvasása ...\n"
+
+#: fdisk/sfdisk.c:827
+#, 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"
+
+#: fdisk/sfdisk.c:833
+#, c-format
+msgid "Error closing %s\n"
+msgstr "Hiba a(z) %s lezárásakor\n"
+
+#: fdisk/sfdisk.c:871
+#, c-format
+msgid "%s: no such partition\n"
+msgstr "%s: nincs ilyen partíció\n"
+
+#: fdisk/sfdisk.c:894
+msgid "unrecognized format - using sectors\n"
+msgstr "ismeretlen formátum - a szektorok kerülnek felhasználásra\n"
+
+#: fdisk/sfdisk.c:944
+#, c-format
+msgid "unimplemented format - using %s\n"
+msgstr "megvalósítatlan formátum - a(z) %s kerül felhasználásra\n"
+
+#: fdisk/sfdisk.c:948
+#, 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"
+
+#: fdisk/sfdisk.c:951
+#, 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"
+
+#: fdisk/sfdisk.c:956
+#, 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"
+
+#: fdisk/sfdisk.c:958
+#, c-format
+msgid "   Device Boot    Start       End   #sectors  Id  System\n"
+msgstr "  Eszköz Indítás Kezdet      Vége   #szektor  Az Rendszer\n"
+
+#: fdisk/sfdisk.c:961
+#, 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"
+
+#: fdisk/sfdisk.c:963
+#, c-format
+msgid "   Device Boot   Start       End    #blocks   Id  System\n"
+msgstr "  Eszköz Indítás  Kezdet    Vége     #blokk   Az  Rendszer\n"
+
+#: fdisk/sfdisk.c:966
+#, c-format
+msgid ""
+"Units = mebibytes of 1048576 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"
+
+#: fdisk/sfdisk.c:968
+#, 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"
+
+#: fdisk/sfdisk.c:1128
+#, 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"
+
+#: fdisk/sfdisk.c:1135
+#, 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"
+
+#: fdisk/sfdisk.c:1138
+#, 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"
+
+#: fdisk/sfdisk.c:1148
+msgid "No partitions found\n"
+msgstr "Nem találhatók partíciók\n"
+
+#: fdisk/sfdisk.c:1152
+#, 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"
+
+#: fdisk/sfdisk.c:1201
+msgid "no partition table present.\n"
+msgstr "nincs jelen partíciós tábla.\n"
+
+#: fdisk/sfdisk.c:1203
+#, c-format
+msgid "strange, only %d partitions defined.\n"
+msgstr "furcsa, csak %d partíció van megadva.\n"
+
+#: fdisk/sfdisk.c:1212
+#, 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"
+
+#: fdisk/sfdisk.c:1215
+#, 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"
+
+#: fdisk/sfdisk.c:1218
+#, 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"
+
+#: fdisk/sfdisk.c:1229
+#, c-format
+msgid "Warning: partition %s "
+msgstr "Figyelmeztetés: %s partíció "
+
+#: fdisk/sfdisk.c:1230
+#, c-format
+msgid "is not contained in partition %s\n"
+msgstr "nem része a(z) %s partíciónak\n"
+
+#: fdisk/sfdisk.c:1241
+#, c-format
+msgid "Warning: partitions %s "
+msgstr "Figyelmeztetés: %s partíció "
+
+#: fdisk/sfdisk.c:1242
+#, c-format
+msgid "and %s overlap\n"
+msgstr "és a(z) %s átfedik egymást\n"
+
+#: fdisk/sfdisk.c:1253
+#, c-format
+msgid ""
+"Warning: partition %s contains part of the partition table (sector %lu),\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"
+
+#: fdisk/sfdisk.c:1265
+#, 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"
+
+#: fdisk/sfdisk.c:1269
+#, 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"
+
+#: fdisk/sfdisk.c:1284
+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"
+
+#: fdisk/sfdisk.c:1302
+#, 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"
+
+#: fdisk/sfdisk.c:1308
+#, 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"
+
+#: fdisk/sfdisk.c:1326
+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"
+
+#: fdisk/sfdisk.c:1333
+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"
+
+#: fdisk/sfdisk.c:1339
+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"
+
+#: fdisk/sfdisk.c:1353
+msgid "start"
+msgstr "kezdet"
+
+#: fdisk/sfdisk.c:1356
+#, 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"
+
+#: fdisk/sfdisk.c:1362
+msgid "end"
+msgstr "vég"
+
+#: fdisk/sfdisk.c:1365
+#, 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"
+
+#: fdisk/sfdisk.c:1368
+#, 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"
+
+#: fdisk/sfdisk.c:1393
+#, c-format
+msgid ""
+"Warning: shifted start of the extd partition from %ld to %ld\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"
+
+#: fdisk/sfdisk.c:1399
+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"
+
+#: fdisk/sfdisk.c:1417 fdisk/sfdisk.c:1494
+#, c-format
+msgid "too many partitions - ignoring those past nr (%d)\n"
+msgstr "túl sok partíció - a(z) %d. utániak figyelmen kívül maradnak\n"
+
+#: fdisk/sfdisk.c:1432
+msgid "tree of partitions?\n"
+msgstr "partíciófa?\n"
+
+#: fdisk/sfdisk.c:1540
+msgid "detected Disk Manager - unable to handle that\n"
+msgstr "az érzékelt Disk Manager nem kezelhető\n"
+
+#: fdisk/sfdisk.c:1547
+msgid "DM6 signature found - giving up\n"
+msgstr "DM6 aláírást található - feladom\n"
+
+#: fdisk/sfdisk.c:1567
+msgid "strange..., an extended partition of size 0?\n"
+msgstr "furcsa... a kiterjesztett partíció mérete 0?\n"
+
+#: fdisk/sfdisk.c:1574 fdisk/sfdisk.c:1585
+msgid "strange..., a BSD partition of size 0?\n"
+msgstr "furcsa... a BSD partíció mérete 0?\n"
+
+#: fdisk/sfdisk.c:1619
+#, c-format
+msgid " %s: unrecognized partition table type\n"
+msgstr " %s: azonosítatlan partícióstábla-típus\n"
+
+#: fdisk/sfdisk.c:1631
+msgid "-n flag was given: Nothing changed\n"
+msgstr "megadta a -n kapcsolót: Semmi sem módosult\n"
+
+#: fdisk/sfdisk.c:1647
+msgid "Failed saving the old sectors - aborting\n"
+msgstr "Nem sikerült elmenteni a régi szektorokat - megszakítás\n"
+
+#: fdisk/sfdisk.c:1652
+#, 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"
+
+#: fdisk/sfdisk.c:1729
+msgid "long or incomplete input line - quitting\n"
+msgstr "hosszú vagy hiányos bemeneti sor - kilépés\n"
+
+#: fdisk/sfdisk.c:1765
+#, c-format
+msgid "input error: `=' expected after %s field\n"
+msgstr "bemeneti hiba: a(z) %s mezőt „=” jelnek kellene követnie\n"
+
+#: fdisk/sfdisk.c:1772
+#, c-format
+msgid "input error: unexpected character %c after %s field\n"
+msgstr "bemeneti hiba: váratlan karakter (%c) a(z) %s mező után\n"
+
+#: fdisk/sfdisk.c:1778
+#, c-format
+msgid "unrecognized input: %s\n"
+msgstr "azonosítatlan bemenet: %s\n"
+
+#: fdisk/sfdisk.c:1820
+msgid "number too big\n"
+msgstr "a szám túl nagy\n"
+
+#: fdisk/sfdisk.c:1824
+msgid "trailing junk after number\n"
+msgstr "befejező szemét egy szám után\n"
+
+#: fdisk/sfdisk.c:1948
+msgid "no room for partition descriptor\n"
+msgstr "nincs hely a partícióleírónak\n"
+
+#: fdisk/sfdisk.c:1981
+msgid "cannot build surrounding extended partition\n"
+msgstr "nem lehet felépíteni a körülvevő kiterjesztett partíciót\n"
+
+#: fdisk/sfdisk.c:2032
+msgid "too many input fields\n"
+msgstr "túl sok bemeneti mező\n"
+
+#: fdisk/sfdisk.c:2066
+msgid "No room for more\n"
+msgstr "Nincs hely több elem számára\n"
+
+#: fdisk/sfdisk.c:2085
+msgid "Illegal type\n"
+msgstr "Érvénytelen típus\n"
+
+#: fdisk/sfdisk.c:2117
+#, 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"
+
+#: fdisk/sfdisk.c:2123
+msgid "Warning: empty partition\n"
+msgstr "Figyelmeztetés: üres partíció\n"
+
+#: fdisk/sfdisk.c:2137
+#, c-format
+msgid "Warning: bad partition start (earliest %lu)\n"
+msgstr "Figyelmeztetés: hibás a partíció kezdete (legelső %lu)\n"
+
+#: fdisk/sfdisk.c:2150
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr "azonosítatlan indítható jelző - válassza a - vagy * egyikét\n"
+
+#: fdisk/sfdisk.c:2167 fdisk/sfdisk.c:2180
+msgid "partial c,h,s specification?\n"
+msgstr "részleges c,h,s meghatározás?\n"
+
+#: fdisk/sfdisk.c:2191
+msgid "Extended partition not where expected\n"
+msgstr "A kiterjesztett partíció nem a várt helyen van\n"
+
+#: fdisk/sfdisk.c:2223
+msgid "bad input\n"
+msgstr "hibás bemenet\n"
+
+#: fdisk/sfdisk.c:2245
+msgid "too many partitions\n"
+msgstr "túl sok partíció\n"
+
+#: fdisk/sfdisk.c:2278
+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"
+
+#: fdisk/sfdisk.c:2304
+#, c-format
+msgid "Usage: %s [options] device ...\n"
+msgstr "Használat: %s [kapcsolók] eszköz ...\n"
+
+#: fdisk/sfdisk.c:2305
+msgid "device: something like /dev/hda or /dev/sda"
+msgstr "eszköz: /dev/hda, /dev/sda vagy ezekhez hasonló eszköznév"
+
+#: fdisk/sfdisk.c:2306
+msgid "useful options:"
+msgstr "Hasznos kapcsolók:"
+
+#: fdisk/sfdisk.c:2307
+msgid "    -s [or --show-size]: list size of a partition"
+msgstr "    -s [vagy --show-size]: kiírja egy partíció méretét"
+
+#: fdisk/sfdisk.c:2308
+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"
+
+#: fdisk/sfdisk.c:2309
+msgid "    -l [or --list]:      list partitions of each device"
+msgstr "    -l [vagy --list]:      kiírja az egyes eszközök partícióit"
+
+#: fdisk/sfdisk.c:2310
+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"
+
+#: fdisk/sfdisk.c:2311
+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"
+
+#: fdisk/sfdisk.c:2312
+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"
+
+#: fdisk/sfdisk.c:2313
+msgid "    -T [or --list-types]:list the known partition types"
+msgstr "    -T [vagy --list-types]:az ismert partíciótípusok kiírása"
+
+#: fdisk/sfdisk.c:2314
+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"
+
+#: fdisk/sfdisk.c:2315
+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"
+
+#: fdisk/sfdisk.c:2316
+msgid "    -N# :                change only the partition with number #"
+msgstr "    -N# :                  csak a megadott számú partíció módosítása"
+
+#: fdisk/sfdisk.c:2317
+msgid "    -n :                 do not actually write to disk"
+msgstr "    -n :                   a lemez tényleges írásának kihagyása"
+
+#: fdisk/sfdisk.c:2318
+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"
+
+#: fdisk/sfdisk.c:2319
+msgid "    -I file :            restore these sectors again"
+msgstr ""
+"    -I fájl :              az előbbivel mentett szektorok visszaállítása"
+
+#: fdisk/sfdisk.c:2320
+msgid "    -v [or --version]:   print version"
+msgstr "    -v [vagy --version]:   verziószám kiírása"
+
+#: fdisk/sfdisk.c:2321
+msgid "    -? [or --help]:      print this message"
+msgstr "    -? [vagy --help]:      ezen súgó kiírása"
+
+#: fdisk/sfdisk.c:2322
+msgid "dangerous options:"
+msgstr "Veszélyes kapcsolók:"
+
+#: fdisk/sfdisk.c:2323
+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"
+
+#: fdisk/sfdisk.c:2324
+msgid ""
+"    -G [or --show-pt-geometry]: print geometry guessed from the partition "
+"table"
+msgstr ""
+"    -g [vagy --show-geometry]: kiírja a geometriát a partíciós tábla alapján"
+
+#: fdisk/sfdisk.c:2325
+msgid ""
+"    -x [or --show-extended]: also list extended partitions on output\n"
+"                             or expect descriptors for them on input"
+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"
+
+#: fdisk/sfdisk.c:2327
+msgid ""
+"    -L  [or --Linux]:      do not complain about things irrelevant for Linux"
+msgstr ""
+"    -L  [vagy --Linux]:    nem jelez Linux alatt lényegtelen dolgok miatt"
+
+#: fdisk/sfdisk.c:2328
+msgid "    -q  [or --quiet]:      suppress warning messages"
+msgstr "    -q  [vagy --quiet]:    figyelmeztető üzenetek elnémítása"
+
+#: fdisk/sfdisk.c:2329
+msgid "    You can override the detected geometry using:"
+msgstr "Felülbírálhatja az érzékelt geometriát a következőkkel:"
+
+#: fdisk/sfdisk.c:2330
+msgid "    -C# [or --cylinders #]:set the number of cylinders to use"
+msgstr "    -C# [vagy --cylinders #]:  a használandó cilinderszám beállítása"
+
+#: fdisk/sfdisk.c:2331
+msgid "    -H# [or --heads #]:    set the number of heads to use"
+msgstr "    -H# [vagy --heads #]:      a használandó fejszám beállítása"
+
+#: fdisk/sfdisk.c:2332
+msgid "    -S# [or --sectors #]:  set the number of sectors to use"
+msgstr "    -S# [vagy --sectors #]:    a használandó szektorszám beállítása"
+
+#: fdisk/sfdisk.c:2333
+msgid "You can disable all consistency checking with:"
+msgstr "Letilthatja az összes konzisztencia-ellenőrzést a következőkkel:"
+
+#: fdisk/sfdisk.c:2334
+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"
+
+#: fdisk/sfdisk.c:2340
+msgid "Usage:"
+msgstr "Használat:"
+
+#: fdisk/sfdisk.c:2341
+#, 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"
+
+#: fdisk/sfdisk.c:2342
+#, 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"
+
+#: fdisk/sfdisk.c:2343
+#, 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"
+
+#: fdisk/sfdisk.c:2463
+#, 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"
+
+#: fdisk/sfdisk.c:2466
+#, 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"
+
+#: fdisk/sfdisk.c:2505
+msgid "no command?\n"
+msgstr "nincs parancs?\n"
+
+#: fdisk/sfdisk.c:2637
+#, c-format
+msgid "total: %llu blocks\n"
+msgstr "összesen: %llu blokk\n"
+
+#: fdisk/sfdisk.c:2680
+msgid "usage: sfdisk --print-id device partition-number\n"
+msgstr "használat: sfdisk --print-id eszköz partíciószám\n"
+
+#: fdisk/sfdisk.c:2682
+msgid "usage: sfdisk --change-id device partition-number Id\n"
+msgstr "használat: sfdisk --change-id eszköz partíciószám azonosító\n"
+
+#: fdisk/sfdisk.c:2684
+msgid "usage: sfdisk --id device partition-number [Id]\n"
+msgstr "használat: sfdisk --id eszköz partíciószám [azonosító]\n"
+
+#: fdisk/sfdisk.c:2691
+msgid "can specify only one device (except with -l or -s)\n"
+msgstr "csak egy eszköz adható meg (kivéve a -l vagy -s kapcsolót)\n"
+
+#: fdisk/sfdisk.c:2717
+#, c-format
+msgid "cannot open %s read-write\n"
+msgstr "a(z) %s nem nyitható meg írásra és olvasásra\n"
+
+#: fdisk/sfdisk.c:2719
+#, c-format
+msgid "cannot open %s for reading\n"
+msgstr "a(z) %s nem nyitható meg olvasásra\n"
+
+#: fdisk/sfdisk.c:2744
+#, c-format
+msgid "%s: OK\n"
+msgstr "%s: Rendben\n"
+
+#: fdisk/sfdisk.c:2763 fdisk/sfdisk.c:2796
+#, c-format
+msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+msgstr "%s: %ld cilinder, %ld fej, %ld sáv szektoronként\n"
+
+#: fdisk/sfdisk.c:2815
+#, c-format
+msgid "Cannot get size of %s\n"
+msgstr "Nem kérhető le a(z) %s mérete\n"
+
+#: fdisk/sfdisk.c:2895
+#, 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"
+
+#: fdisk/sfdisk.c:2913 fdisk/sfdisk.c:2968 fdisk/sfdisk.c:3001
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+"Kész\n"
+"\n"
+
+#: fdisk/sfdisk.c:2922
+#, 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"
+
+#: fdisk/sfdisk.c:2938
+#, c-format
+msgid "partition %s has id %x and is not hidden\n"
+msgstr "a(z) %s partíció azonosítója %x és nem rejtett\n"
+
+#: fdisk/sfdisk.c:2997
+#, c-format
+msgid "Bad Id %lx\n"
+msgstr "Hibás azonosító: %lx\n"
+
+#: fdisk/sfdisk.c:3014
+msgid "This disk is currently in use.\n"
+msgstr "A lemez jelenleg használatban van.\n"
+
+#: fdisk/sfdisk.c:3033
+#, c-format
+msgid "Fatal error: cannot find %s\n"
+msgstr "Végzetes hiba: a(z) „%s” nem található\n"
+
+#: fdisk/sfdisk.c:3036
+#, c-format
+msgid "Warning: %s is not a block device\n"
+msgstr "Figyelmeztetés: a(z) %s nem blokkeszköz\n"
+
+#: fdisk/sfdisk.c:3042
+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"
+
+#: fdisk/sfdisk.c:3044
+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"
+
+#: fdisk/sfdisk.c:3048
+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"
+
+#: fdisk/sfdisk.c:3052
+msgid "OK\n"
+msgstr "Rendben\n"
+
+#: fdisk/sfdisk.c:3061
+#, c-format
+msgid "Old situation:\n"
+msgstr "Régi helyzet:\n"
+
+#: fdisk/sfdisk.c:3065
+#, c-format
+msgid "Partition %d does not exist, cannot change it\n"
+msgstr "A(z) %d. partíció nem létezik, nem lehet módosítani\n"
+
+#: fdisk/sfdisk.c:3073
+#, c-format
+msgid "New situation:\n"
+msgstr "Új helyzet:\n"
+
+#: fdisk/sfdisk.c:3078
+msgid ""
+"I don't like these partitions - nothing changed.\n"
+"(If you really want this, use the --force option.)\n"
+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"
+
+#: fdisk/sfdisk.c:3081
+msgid "I don't like this - probably you should answer No\n"
+msgstr "Nem szeretem ezt - Ajánlott a Nem válasz\n"
+
+#: fdisk/sfdisk.c:3086
+#, c-format
+msgid "Are you satisfied with this? [ynq] "
+msgstr "Elégedett ezzel? [ynq] "
+
+#: fdisk/sfdisk.c:3088
+#, c-format
+msgid "Do you want to write this to disk? [ynq] "
+msgstr "Valóban lemezre akarja ezt írni? [ynq] "
+
+#: fdisk/sfdisk.c:3093
+#, c-format
+msgid ""
+"\n"
+"sfdisk: premature end of input\n"
+msgstr ""
+"\n"
+"sfdisk: idő előtt vége a bemenetnek\n"
+
+#: fdisk/sfdisk.c:3095
+msgid "Quitting - nothing changed\n"
+msgstr "Kilépés - semmi sem változott\n"
+
+#: fdisk/sfdisk.c:3101
+#, 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"
+
+#: fdisk/sfdisk.c:3109
+#, c-format
+msgid ""
+"Successfully wrote the new partition table\n"
+"\n"
+msgstr ""
+"Az új partíciós tábla sikeresen kiírva\n"
+"\n"
+
+#: fdisk/sfdisk.c:3115
+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"
+
+#: fsck/fsck.c:327
+#, fuzzy, c-format
+msgid "WARNING: couldn't open %s: %s\n"
+msgstr "%s: %s nem nyitható meg: %s\n"
+
+#: fsck/fsck.c:337
+#, c-format
+msgid "WARNING: bad format on line %d of %s\n"
+msgstr ""
+
+#: fsck/fsck.c:353
+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 ""
+
+#: fsck/fsck.c:461
+#, fuzzy, c-format
+msgid "fsck: %s: not found\n"
+msgstr "umount: %s nem található"
+
+#: fsck/fsck.c:577
+#, c-format
+msgid "%s: wait: No more child process?!?\n"
+msgstr ""
+
+#: fsck/fsck.c:599
+#, c-format
+msgid "Warning... %s for device %s exited with signal %d.\n"
+msgstr ""
+
+#: fsck/fsck.c:605
+#, c-format
+msgid "%s %s: status is %x, should never happen.\n"
+msgstr ""
+
+#: fsck/fsck.c:644
+#, c-format
+msgid "Finished with %s (exit status %d)\n"
+msgstr ""
+
+#: fsck/fsck.c:704
+#, c-format
+msgid "%s: Error %d while executing fsck.%s for %s\n"
+msgstr ""
+
+#: fsck/fsck.c:725
+msgid ""
+"Either all or none of the filesystem types passed to -t must be prefixed\n"
+"with 'no' or '!'.\n"
+msgstr ""
+
+#: fsck/fsck.c:744
+#, fuzzy
+msgid "Couldn't allocate memory for filesystem types\n"
+msgstr "mount: meg kell adnia a fájlrendszer típusát"
+
+#: fsck/fsck.c:867
+#, c-format
+msgid ""
+"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass "
+"number\n"
+msgstr ""
+
+#: fsck/fsck.c:894
+#, c-format
+msgid "fsck: cannot check %s: fsck.%s not found\n"
+msgstr ""
+
+#: fsck/fsck.c:950
+#, fuzzy
+msgid "Checking all file systems.\n"
+msgstr "Fájlrendszer-ellenőrzés kényszerítése a következőn: „%s”.\n"
+
+#: fsck/fsck.c:1041
+#, c-format
+msgid "--waiting-- (pass %d)\n"
+msgstr ""
+
+#: fsck/fsck.c:1061
+#, 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"
+
+#: fsck/fsck.c:1099
+#, fuzzy, c-format
+msgid "%s: too many devices\n"
+msgstr "%s: a(z) %s nem egy párhuzamos (lp) eszköz.\n"
+
+#: fsck/fsck.c:1110
+#, fuzzy, c-format
+msgid "Couldn't open %s: %s\n"
+msgstr "%s nem nyitható meg: %s\n"
+
+#: fsck/fsck.c:1112
+#, fuzzy, c-format
+msgid "Is /proc mounted?\n"
+msgstr "%s leválasztva\n"
+
+#: fsck/fsck.c:1121
+#, c-format
+msgid "Must be root to scan for matching filesystems: %s\n"
+msgstr ""
+
+#: fsck/fsck.c:1124
+#, fuzzy, c-format
+msgid "Couldn't find matching filesystem: %s\n"
+msgstr "A megmaradt fájlrendszerek leválasztása..."
+
+#: fsck/fsck.c:1132 fsck/fsck.c:1218
+#, fuzzy, c-format
+msgid "%s: too many arguments\n"
+msgstr "%s: ismeretlen argumentum: %s\n"
+
+#: fsck/fsck.c:1252
+#, fuzzy, c-format
+msgid "fsck from %s\n"
+msgstr "%s a(z) %s csomagból\n"
+
+#: fsck/fsck.c:1264
+#, fuzzy, c-format
+msgid "%s: Unable to allocate memory for fsck_path\n"
+msgstr "Nem foglalható le puffer az inode-oknak"
+
+#: getopt/getopt.c:229
+msgid "Try `getopt --help' for more information.\n"
+msgstr "További információért adja ki a „getopt --help” parancsot.\n"
+
+#: getopt/getopt.c:295
+msgid "empty long option after -l or --long argument"
+msgstr "üres hosszú kapcsoló a -l vagy --long paraméter után"
+
+#: getopt/getopt.c:315
+msgid "unknown shell after -s or --shell argument"
+msgstr "ismeretlen parancsértelmező a -s vagy --shell paraméter után"
+
+#: getopt/getopt.c:320
+msgid "Usage: getopt optstring parameters\n"
+msgstr "Használat: getopt kapcsoló-karakterlánc paraméterek\n"
+
+#: getopt/getopt.c:321
+msgid "       getopt [options] [--] optstring parameters\n"
+msgstr "       getopt [kapcsolók] [--] kapcsoló-karakterlánc paraméterek\n"
+
+#: getopt/getopt.c:322
+msgid "       getopt [options] -o|--options optstring [options] [--]\n"
+msgstr ""
+"       getopt [kapcsolók] -o|--options kapcsoló-karakterlánc [kapcsolók] "
+"[--]\n"
+
+#: getopt/getopt.c:323
+msgid "              parameters\n"
+msgstr "              paraméterek\n"
+
+#: getopt/getopt.c:324
+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"
+
+#: getopt/getopt.c:325
+msgid "  -h, --help                   This small usage guide\n"
+msgstr "  -h, --help                       Ez a súgószöveg\n"
+
+#: getopt/getopt.c:326
+msgid "  -l, --longoptions=longopts   Long options to be recognized\n"
+msgstr ""
+"  -l, --longoptions=hosszú_kapcsolók    Felismerendő hosszú kapcsolók\n"
+
+#: getopt/getopt.c:327
+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"
+
+#: getopt/getopt.c:328
+msgid "  -o, --options=optstring      Short options to be recognized\n"
+msgstr "  -o, --options=kapcsoló-karakterlánc  Felismerendő rövid kapcsolók\n"
+
+#: getopt/getopt.c:329
+msgid "  -q, --quiet                  Disable error reporting by getopt(3)\n"
+msgstr ""
+"  -q, --quiet                      A hibajelentés letiltása a getopt(3)-nak\n"
+
+#: getopt/getopt.c:330
+msgid "  -Q, --quiet-output           No normal output\n"
+msgstr "  -Q, --quiet-output               Nincs normál kimenet\n"
+
+#: getopt/getopt.c:331
+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"
+
+#: getopt/getopt.c:332
+msgid "  -T, --test                   Test for getopt(1) version\n"
+msgstr "  -T, --test                       A getopt(1) verzió tesztelése\n"
+
+#: getopt/getopt.c:333
+msgid "  -u, --unqote                 Do not quote the output\n"
+msgstr "  -u, --unqote                     Nem idézőjelezi a kimenetet\n"
+
+#: getopt/getopt.c:334
+msgid "  -V, --version                Output version information\n"
+msgstr "  -V, --version                    Verzióinformációk kiírása\n"
+
+#: getopt/getopt.c:388 getopt/getopt.c:447
+msgid "missing optstring argument"
+msgstr "hiányzó kapcsoló-karakterlánc paraméter"
+
+#: getopt/getopt.c:435
+#, c-format
+msgid "getopt (enhanced) 1.1.4\n"
+msgstr "getopt (kibővített) 1.1.4\n"
+
+#: getopt/getopt.c:441
+msgid "internal error, contact the author."
+msgstr "belső hiba, vegye fel a kapcsolatot a szerzővel."
+
+#: hwclock/cmos.c:176
+#, c-format
+msgid "booted from MILO\n"
+msgstr "a MILO-ról indult\n"
+
+#: hwclock/cmos.c:185
+#, c-format
+msgid "Ruffian BCD clock\n"
+msgstr "Ruffian BCD óra\n"
+
+#: hwclock/cmos.c:201
+#, c-format
+msgid "clockport adjusted to 0x%x\n"
+msgstr "az óraport 0x%x értékhez igazítva\n"
+
+#: hwclock/cmos.c:213
+#, c-format
+msgid "funky TOY!\n"
+msgstr "szokatlan TOY (Time of Year)!\n"
+
+#: hwclock/cmos.c:244
+#, c-format
+msgid "%s: atomic %s failed for 1000 iterations!"
+msgstr "%s: az atomi %s meghiúsult 1000 ismétlésben!"
+
+#: hwclock/cmos.c:273
+#, c-format
+msgid "cmos_read(): write to control address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:276
+#, c-format
+msgid "cmos_read(): read data address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:307
+#, c-format
+msgid "cmos_write(): write to control address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:311
+#, c-format
+msgid "cmos_write(): write to data address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:574
+#, c-format
+msgid "Cannot open /dev/port: %s"
+msgstr "A /dev/port eszköz nem nyitható meg: %s"
+
+#: hwclock/cmos.c:581
+#, c-format
+msgid "I failed to get permission because I didn't try.\n"
+msgstr "Nem sikerült engedélyt kapni, mivel nem is próbáltam.\n"
+
+#: hwclock/cmos.c:584
+#, c-format
+msgid "%s is unable to get I/O port access:  the iopl(3) call failed.\n"
+msgstr ""
+"%s nem képes megkapni az I/O port elérését. Az iopl(3) hívása meghiúsult.\n"
+
+#: hwclock/cmos.c:587
+#, c-format
+msgid "Probably you need root privileges.\n"
+msgstr "Valószínűleg root jogosultság szükséges.\n"
+
+#: hwclock/hwclock.c:231
+#, 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"
+
+#: hwclock/hwclock.c:232 hwclock/hwclock.c:327
+msgid "UTC"
+msgstr "UTC"
+
+#: hwclock/hwclock.c:232 hwclock/hwclock.c:326
+msgid "local"
+msgstr "helyi"
+
+#: hwclock/hwclock.c:312
+#, c-format
+msgid "%s: Warning: unrecognized third line in adjtime file\n"
+msgstr "%s: Figyelmeztetés: az adjtime fájl harmadik sora ismeretlen\n"
+
+#: hwclock/hwclock.c:314
+#, c-format
+msgid "(Expected: `UTC' or `LOCAL' or nothing.)\n"
+msgstr "(Várt érték: „UTC” vagy „LOCAL” vagy semmi.)\n"
+
+#: hwclock/hwclock.c:321
+#, 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"
+
+#: hwclock/hwclock.c:323
+#, 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"
+
+#: hwclock/hwclock.c:325
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr "A hardveróra a(z) %s időt mutatja\n"
+
+#: hwclock/hwclock.c:327
+msgid "unknown"
+msgstr "ismeretlen"
+
+#: hwclock/hwclock.c:351
+#, c-format
+msgid "Waiting for clock tick...\n"
+msgstr "Várakozás az óra ütésére...\n"
+
+#: hwclock/hwclock.c:357
+#, c-format
+msgid "...synchronization failed\n"
+msgstr ""
+
+#: hwclock/hwclock.c:359
+#, c-format
+msgid "...got clock tick\n"
+msgstr "   az óraütés megvan\n"
+
+#: hwclock/hwclock.c:413
+#, 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"
+
+#: hwclock/hwclock.c:421
+#, 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"
+
+#: hwclock/hwclock.c:451
+#, 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"
+
+#: hwclock/hwclock.c:480
+#, 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"
+
+#: hwclock/hwclock.c:486
+#, c-format
+msgid "Clock not changed - testing only.\n"
+msgstr "Az óra nem változott - csak teszt.\n"
+
+#: hwclock/hwclock.c:536
+#, 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"
+
+#: hwclock/hwclock.c:572
+#, c-format
+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).\n"
+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"
+
+#: hwclock/hwclock.c:582
+#, c-format
+msgid "%s  %.6f seconds\n"
+msgstr "%s  %.6f másodperc\n"
+
+#: hwclock/hwclock.c:616
+#, c-format
+msgid "No --date option specified.\n"
+msgstr "A „--date” kapcsoló nincs megadva.\n"
+
+#: hwclock/hwclock.c:622
+#, c-format
+msgid "--date argument too long\n"
+msgstr "A --date paramétere túl hosszú\n"
+
+#: hwclock/hwclock.c:629
+#, c-format
+msgid ""
+"The value of the --date option is not a valid date.\n"
+"In particular, it contains quotation marks.\n"
+msgstr ""
+"A --date kapcsoló értéke nem egy érvényes dátum.\n"
+"Pontosabban: idézőjeleket tartalmaz.\n"
+
+#: hwclock/hwclock.c:637
+#, c-format
+msgid "Issuing date command: %s\n"
+msgstr "Dátum parancs kiadása: %s\n"
+
+#: hwclock/hwclock.c:641
+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"
+
+#: hwclock/hwclock.c:649
+#, c-format
+msgid "response from date command = %s\n"
+msgstr "a date parancs válasza = %s\n"
+
+#: hwclock/hwclock.c:651
+#, c-format
+msgid ""
+"The date command issued by %s returned unexpected results.\n"
+"The command was:\n"
+"  %s\n"
+"The response was:\n"
+"  %s\n"
+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"
+
+#: hwclock/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"
+
+#: hwclock/hwclock.c:674
+#, 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"
+
+#: hwclock/hwclock.c:706
+#, c-format
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot set the "
+"System Time from it.\n"
+msgstr ""
+"A hardveróra nem tartalmaz érvényes időt, így nem lehet beállítani a "
+"rendszeridőt.\n"
+
+#: hwclock/hwclock.c:728 hwclock/hwclock.c:805
+#, c-format
+msgid "Calling settimeofday:\n"
+msgstr "A settimeofday hívása:\n"
+
+#: hwclock/hwclock.c:729 hwclock/hwclock.c:807
+#, c-format
+msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+
+#: hwclock/hwclock.c:731 hwclock/hwclock.c:809
+#, c-format
+msgid "\ttz.tz_minuteswest = %d\n"
+msgstr "\ttz.tz_minuteswest = %d\n"
+
+#: hwclock/hwclock.c:734 hwclock/hwclock.c:812
+#, 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"
+
+#: hwclock/hwclock.c:743 hwclock/hwclock.c:821
+#, c-format
+msgid "Must be superuser to set system clock.\n"
+msgstr "Rendszergazdai jog szükséges a rendszeróra beállításához.\n"
+
+#: hwclock/hwclock.c:746 hwclock/hwclock.c:824
+msgid "settimeofday() failed"
+msgstr "A settimeofday() nem sikerült"
+
+#: hwclock/hwclock.c:782
+#, fuzzy, c-format
+msgid "Current system time: %ld = %s\n"
+msgstr "rendszeridő olvasása"
+
+#: hwclock/hwclock.c:806
+#, c-format
+msgid "\tUTC: %s\n"
+msgstr ""
+
+#: hwclock/hwclock.c:853
+#, 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"
+
+#: hwclock/hwclock.c:858
+#, 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"
+
+#: hwclock/hwclock.c:864
+#, 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"
+
+#: hwclock/hwclock.c:912
+#, 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"
+
+#: hwclock/hwclock.c:962
+#, c-format
+msgid "Time since last adjustment is %d seconds\n"
+msgstr "Az utolsó igazítás óta eltelt idő %d másodperc\n"
+
+#: hwclock/hwclock.c:964
+#, 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"
+
+#: hwclock/hwclock.c:993
+#, 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"
+
+#: hwclock/hwclock.c:994
+#, 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"
+
+#: hwclock/hwclock.c:1002
+#, c-format
+msgid ""
+"Could not open file with the clock adjustment parameters in it (%s) for "
+"writing"
+msgstr ""
+
+#: hwclock/hwclock.c:1007 hwclock/hwclock.c:1012
+#, c-format
+msgid "Could not update file with the clock adjustment parameters (%s) in it"
+msgstr ""
+
+#: hwclock/hwclock.c:1018
+#, c-format
+msgid "Drift adjustment parameters not updated.\n"
+msgstr "A csúsztatás paraméterei nem kerültek frissítésre.\n"
+
+#: hwclock/hwclock.c:1059
+#, c-format
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot adjust it.\n"
+msgstr "A hardveróra nem tartalmaz érvényes időt, így nem lehet igazítani.\n"
+
+#: hwclock/hwclock.c:1067
+#, 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"
+
+#: hwclock/hwclock.c:1090
+#, 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"
+
+#: hwclock/hwclock.c:1116
+#, c-format
+msgid "Using %s.\n"
+msgstr "%s használata.\n"
+
+#: hwclock/hwclock.c:1118
+#, c-format
+msgid "No usable clock interface found.\n"
+msgstr "Nem található használható órafelület\n"
+
+#: hwclock/hwclock.c:1222 hwclock/hwclock.c:1228
+#, c-format
+msgid "Unable to set system clock.\n"
+msgstr "A rendszeróra nem állítható be.\n"
+
+#: hwclock/hwclock.c:1258
+#, c-format
+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.\n"
+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"
+
+#: hwclock/hwclock.c:1267
+#, c-format
+msgid "Unable to get the epoch value from the kernel.\n"
+msgstr "Nem lehet lekérni az epoch értékét a rendszermagból.\n"
+
+#: hwclock/hwclock.c:1269
+#, c-format
+msgid "Kernel is assuming an epoch value of %lu\n"
+msgstr "A rendszermag feltételezi, hogy az epoch értéke %lu\n"
+
+#: hwclock/hwclock.c:1272
+#, c-format
+msgid ""
+"To set the epoch value, you must use the 'epoch' option to tell to what "
+"value to set it.\n"
+msgstr ""
+"A beállítandó epoch érték megadásához használja az „epoch” kapcsolót.\n"
+
+#: hwclock/hwclock.c:1275
+#, 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"
+
+#: hwclock/hwclock.c:1278
+#, 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"
+
+#: hwclock/hwclock.c:1291 misc-utils/cal.c:345 misc-utils/kill.c:189
+#, c-format
+msgid "%s from %s\n"
+msgstr "%s a(z) %s csomagból\n"
+
+#: hwclock/hwclock.c:1312
+#, fuzzy, c-format
+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"
+"  -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"
+
+#: hwclock/hwclock.c:1347
+#, fuzzy, c-format
+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"
+
+#: hwclock/hwclock.c:1434
+#, c-format
+msgid "%s: Unable to connect to audit system\n"
+msgstr "%s: Nem lehet a megfigyelőrendszerhez csatlakozni.\n"
+
+#: hwclock/hwclock.c:1552
+#, 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"
+
+#: hwclock/hwclock.c:1559
+#, c-format
+msgid ""
+"You have specified multiple functions.\n"
+"You can only perform one function at a time.\n"
+msgstr ""
+"Több műveletet adott meg egyszerre.\n"
+"Egyszerre csak egy művelet használható.\n"
+
+#: hwclock/hwclock.c:1566
+#, c-format
+msgid ""
+"%s: The --utc and --localtime options are mutually exclusive.  You specified "
+"both.\n"
+msgstr ""
+"%s: Az --utc és a --locatime kölcsönösen kizárják egymást.\n"
+"Mégis mindkettőt megadta.\n"
+
+#: hwclock/hwclock.c:1573
+#, c-format
+msgid ""
+"%s: The --adjust and --noadjfile options are mutually exclusive.  You "
+"specified both.\n"
+msgstr ""
+"%s: Az --adjust és a --noadjfile kölcsönösen kizárják egymást.\n"
+"Mégis mindkettőt megadta.\n"
+
+#: hwclock/hwclock.c:1580
+#, c-format
+msgid ""
+"%s: The --adjfile and --noadjfile options are mutually exclusive.  You "
+"specified both.\n"
+msgstr ""
+"%s: Az --adjfile és a --noadjfile kölcsönösen kizárják egymást, de "
+"mindkettőt megadta.\n"
+
+#: hwclock/hwclock.c:1589
+#, c-format
+msgid "%s: With --noadjfile, you must specify either --utc or --localtime\n"
+msgstr ""
+"%s: A --noadjfile kapcsolóval használnia kell a --utc vagy --localtime "
+"egyikét\n"
+
+#: hwclock/hwclock.c:1603
+#, c-format
+msgid "No usable set-to time.  Cannot set clock.\n"
+msgstr "Nem használható a beállítandó idő. Az óra nem állítható be.\n"
+
+#: hwclock/hwclock.c:1620
+#, c-format
+msgid "Sorry, only the superuser can change the Hardware Clock.\n"
+msgstr "Elnézést, csak a rendszergazda módosíthatja a hardverórát.\n"
+
+#: hwclock/hwclock.c:1625
+#, c-format
+msgid "Sorry, only the superuser can change the System Clock.\n"
+msgstr "Elnézést, csak a rendszergazda módosíthatja a rendszerórát.\n"
+
+#: hwclock/hwclock.c:1630
+#, c-format
+msgid ""
+"Sorry, only the superuser can change the Hardware Clock epoch in the "
+"kernel.\n"
+msgstr ""
+"Elnézést, csak a rendszergazda módosíthatja a hardveróra epoch értékét a "
+"rendszermagban.\n"
+
+#: hwclock/hwclock.c:1651
+#, c-format
+msgid "Cannot access the Hardware Clock via any known method.\n"
+msgstr "A hardveróra egyetlen ismert módon sem érhető el.\n"
+
+#: hwclock/hwclock.c:1655
+#, c-format
+msgid ""
+"Use the --debug option to see the details of our search for an access "
+"method.\n"
+msgstr ""
+"Használja a --debug kapcsolót az elérési mód keresésével kapcsolatos "
+"részletek megjelenítéséhez.\n"
+
+#: hwclock/kd.c:53
+#, 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"
+
+#: hwclock/kd.c:56
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr "Az idő beolvasása érdekében kiadott KDGHWCLK ioctl meghiúsult"
+
+#: hwclock/kd.c:77 hwclock/rtc.c:221
+#, c-format
+msgid "Timed out waiting for time change.\n"
+msgstr "Időtúllépés az idő változására történő várakozás során.\n"
+
+#: hwclock/kd.c:81
+msgid "KDGHWCLK ioctl to read time failed in loop"
+msgstr ""
+"Az idő beolvasása érdekében kiadott KDGHWCLK ioctl ismételten meghiúsult"
+
+#: hwclock/kd.c:103
+#, c-format
+msgid "ioctl() failed to read time from %s"
+msgstr "A(z) %s idejének beolvasása érdekében kiadott ioctl() meghiúsult"
+
+#: hwclock/kd.c:139
+msgid "ioctl KDSHWCLK failed"
+msgstr "a KDSHWCLK ioctl meghiúsult"
+
+#: hwclock/kd.c:175
+msgid "Can't open /dev/tty1 or /dev/vc/1"
+msgstr "Nem nyitható meg a /dev/tty1 vagy /dev/vc/1 eszköz"
+
+#: hwclock/kd.c:179
+msgid "KDGHWCLK ioctl failed"
+msgstr "a KDSHWCLK ioctl meghiúsult"
+
+#: hwclock/rtc.c:147 hwclock/rtc.c:241
+#, c-format
+msgid "open() of %s failed"
+msgstr "a(z) %s megnyitása meghiúsult"
+
+#: hwclock/rtc.c:181
+#, c-format
+msgid "ioctl() to %s to read the time failed.\n"
+msgstr "a(z) %s idejének kiolvasása érdekében kiadott ioctl() meghiúsult.\n"
+
+#: hwclock/rtc.c:203
+#, 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"
+
+#: hwclock/rtc.c:259
+#, c-format
+msgid "%s does not have interrupt functions. "
+msgstr "%s nem rendelkezik megszakítási funkciókkal. "
+
+#: hwclock/rtc.c:270
+#, 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"
+
+#: hwclock/rtc.c:288
+#, 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"
+
+#: hwclock/rtc.c:291
+#, c-format
+msgid "select() to %s to wait for clock tick timed out\n"
+msgstr ""
+"a select() %s hívás az óraütésre várakozáshoz túllépte az időkorlátot\n"
+
+#: hwclock/rtc.c:300
+#, 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"
+
+#: hwclock/rtc.c:303
+#, 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"
+
+#: hwclock/rtc.c:360
+#, c-format
+msgid "ioctl() to %s to set the time failed.\n"
+msgstr "az ioctl() %s hívás az idő beállításához meghiúsult.\n"
+
+#: hwclock/rtc.c:366
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr "az ioctl(%s) sikerült.\n"
+
+#: hwclock/rtc.c:392
+#, c-format
+msgid "Open of %s failed"
+msgstr "A(z) %s megnyitása meghiúsult"
+
+#: hwclock/rtc.c:410 hwclock/rtc.c:454
+#, 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.\n"
+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"
+
+#: hwclock/rtc.c:415 hwclock/rtc.c:459
+#, c-format
+msgid "Unable to open %s"
+msgstr "%s nem nyitható meg"
+
+#: hwclock/rtc.c:422
+#, c-format
+msgid "ioctl(RTC_EPOCH_READ) to %s failed"
+msgstr "az ioctl(RTC_EPOCH_READ) %s hívás meghiúsult"
+
+#: hwclock/rtc.c:427
+#, 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"
+
+#: hwclock/rtc.c:446
+#, c-format
+msgid "The epoch value may not be less than 1900.  You requested %ld\n"
+msgstr "Az epoch értéke nem lehet kevesebb, mint 1900. A kért érték: %ld\n"
+
+#: hwclock/rtc.c:464
+#, 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"
+
+#: hwclock/rtc.c:469
+#, c-format
+msgid ""
+"The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl.\n"
+msgstr "A rendszermag %s eszközmeghajtójában nincs RTC_EPOCH_SET ioctl.\n"
+
+#: hwclock/rtc.c:472
+#, c-format
+msgid "ioctl(RTC_EPOCH_SET) to %s failed"
+msgstr "a(z) %s ioctl(RTC_EPOCH_SET) hívása meghiúsult"
+
+#: login-utils/agetty.c:361
+#, c-format
+msgid "%s: can't exec %s: %m"
+msgstr "%s: a(z) %s nem futtatható: %m"
+
+#: login-utils/agetty.c:384
+msgid "can't malloc initstring"
+msgstr "nem lehet lefoglalni a kiinduló szöveget"
+
+#: login-utils/agetty.c:449
+#, c-format
+msgid "bad timeout value: %s"
+msgstr "hibás időkorlátérték: %s"
+
+#: login-utils/agetty.c:526
+#, c-format
+msgid "bad speed: %s"
+msgstr "hibás sebesség: %s"
+
+#: login-utils/agetty.c:528
+msgid "too many alternate speeds"
+msgstr "túl sok alternatív sebesség"
+
+#: login-utils/agetty.c:630
+#, c-format
+msgid "/dev: chdir() failed: %m"
+msgstr "/dev: a chdir() meghiúsult: %m"
+
+#: login-utils/agetty.c:634
+#, c-format
+msgid "/dev/%s: not a character device"
+msgstr "/dev/%s: nem egy karaktereszköz"
+
+#: login-utils/agetty.c:643
+#, c-format
+msgid "/dev/%s: cannot open as standard input: %m"
+msgstr "/dev/%s: nem nyitható meg szabványos bemenetként: %m"
+
+#: login-utils/agetty.c:653
+#, c-format
+msgid "%s: not open for read/write"
+msgstr "%s: nem nyitható meg írásra vagy olvasásra"
+
+#: login-utils/agetty.c:659
+#, c-format
+msgid "%s: dup problem: %m"
+msgstr "%s: kettőzési probléma: %m"
+
+#: login-utils/agetty.c:946
+#, c-format
+msgid "user"
+msgstr "felhasználó"
+
+#: login-utils/agetty.c:946
+#, c-format
+msgid "users"
+msgstr "felhasználó"
+
+#: login-utils/agetty.c:1031
+#, c-format
+msgid "%s: read: %m"
+msgstr "%s: olvasás: %m"
+
+#: login-utils/agetty.c:1078
+#, c-format
+msgid "%s: input overrun"
+msgstr "%s: a bemenet túlcsordult"
+
+#: login-utils/agetty.c:1207
+#, c-format
+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 ""
+"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"
+
+#: login-utils/checktty.c:91 login-utils/checktty.c:112
+#, c-format
+msgid "login: memory low, login may fail\n"
+msgstr "login: kevés memória, a bejelentkezés meghiúsulhat\n"
+
+#: login-utils/checktty.c:92
+msgid "can't malloc for ttyclass"
+msgstr "nem lehet memóriát foglalni a ttyclassnak"
+
+#: login-utils/checktty.c:113
+msgid "can't malloc for grplist"
+msgstr "nem lehet memóriát foglalni a grplistnek"
+
+#: login-utils/checktty.c:554
+#, c-format
+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"
+
+#: login-utils/checktty.c:565
+#, c-format
+msgid "Login on %s from %s denied.\n"
+msgstr "A bejelentkezés %s gépre a(z) %s gépről megtagadva.\n"
+
+#: login-utils/chfn.c:133 login-utils/chsh.c:119
+#, c-format
+msgid "%s: you (user %d) don't exist.\n"
+msgstr "%s: a(z) %d azonosítójú felhasználó nem létezik.\n"
+
+#: login-utils/chfn.c:140 login-utils/chsh.c:126
+#, c-format
+msgid "%s: user \"%s\" does not exist.\n"
+msgstr "%s: a(z) „%s” felhasználó nem létezik.\n"
+
+#: login-utils/chfn.c:145 login-utils/chsh.c:131
+#, c-format
+msgid "%s: can only change local entries; use yp%s instead.\n"
+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:156 login-utils/chsh.c:142
+msgid "Unknown user context"
+msgstr "ismeretlen felhasználói kontextus"
+
+#: login-utils/chfn.c:157
+#, c-format
+msgid "%s: %s is not authorized to change the finger info of %s\n"
+msgstr "%s: %s nincs felhatalmazva %s finger információinak módosítására\n"
+
+#: login-utils/chfn.c:164 login-utils/chsh.c:150
+#, c-format
+msgid "%s: Can't set default context for /etc/passwd"
+msgstr "%s: Nem állítható be az /etc/passwd alapértelmezett kontextusa"
+
+#: login-utils/chfn.c:178
+#, c-format
+msgid "Changing finger information for %s.\n"
+msgstr "%s finger információinak megváltoztatása.\n"
+
+#: login-utils/chfn.c:189 login-utils/chsh.c:188 login-utils/login.c:572
+#, c-format
+msgid "%s: PAM failure, aborting: %s\n"
+msgstr "%s: jelszó-hitelesítési (PAM) hiba, megszakítva: %s\n"
+
+#: login-utils/chfn.c:212 login-utils/chsh.c:211 login-utils/login.c:823
+#: login-utils/newgrp.c:85 login-utils/simpleinit.c:340 mount/lomount.c:744
+#: mount/lomount.c:747
+msgid "Password: "
+msgstr "Jelszó: "
+
+#: login-utils/chfn.c:215 login-utils/chsh.c:214
+msgid "Incorrect password."
+msgstr "Helytelen jelszó."
+
+#: login-utils/chfn.c:226
+#, c-format
+msgid "Finger information not changed.\n"
+msgstr "A finger információk nem változtak.\n"
+
+#: login-utils/chfn.c:328
+#, c-format
+msgid "Usage: %s [ -f full-name ] [ -o office ] "
+msgstr "Használat: %s [ -f teljes_név ] [ -o iroda ] "
+
+#: login-utils/chfn.c:329
+#, c-format
+msgid ""
+"[ -p office-phone ]\n"
+"\t[ -h home-phone ] "
+msgstr ""
+"[ -p irodai_szám ]\n"
+"\t[ -h otthoni_szám ] "
+
+#: login-utils/chfn.c:330
+#, c-format
+msgid "[ --help ] [ --version ]\n"
+msgstr "[ --help ] [ --version ]\n"
+
+#: login-utils/chfn.c:378
+msgid "Office"
+msgstr ""
+
+#: login-utils/chfn.c:379
+msgid "Office Phone"
+msgstr ""
+
+#: login-utils/chfn.c:380
+msgid "Home Phone"
+msgstr ""
+
+#: login-utils/chfn.c:401 login-utils/chsh.c:321
+#, c-format
+msgid ""
+"\n"
+"Aborted.\n"
+msgstr ""
+"\n"
+"Megszakítva.\n"
+
+#: login-utils/chfn.c:434
+#, c-format
+msgid "field is too long.\n"
+msgstr "a mező túl hosszú.\n"
+
+#: login-utils/chfn.c:442
+#, c-format
+msgid "'%c' is not allowed.\n"
+msgstr "A(z) „%c” nem engedélyezett.\n"
+
+#: login-utils/chfn.c:447
+#, c-format
+msgid "Control characters are not allowed.\n"
+msgstr "A vezérlőkarakterek nem engedélyezettek.\n"
+
+#: login-utils/chfn.c:512
+#, 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:515
+#, c-format
+msgid "Finger information changed.\n"
+msgstr "A finger információk megváltoztak.\n"
+
+#: login-utils/chsh.c:143
+#, c-format
+msgid "%s: %s is not authorized to change the shell of %s\n"
+msgstr "%s: %s nem jogosult %s parancsértelmezőjének módosítására\n"
+
+#: login-utils/chsh.c:164
+#, c-format
+msgid ""
+"%s: Running UID doesn't match UID of user we're altering, shell change "
+"denied\n"
+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:170
+#, c-format
+msgid "%s: Your shell is not in /etc/shells, shell change denied\n"
+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:177
+#, c-format
+msgid "Changing shell for %s.\n"
+msgstr "%s parancsértelmezőjének megváltoztatása.\n"
+
+#: login-utils/chsh.c:222
+msgid "New shell"
+msgstr "Új parancsértelmező"
+
+#: login-utils/chsh.c:229
+#, c-format
+msgid "Shell not changed.\n"
+msgstr "A parancsértelmező nem változott.\n"
+
+#: login-utils/chsh.c:235
+#, c-format
+msgid "Shell *NOT* changed.  Try again later.\n"
+msgstr "A parancsértelmező *NEM* változott. Próbálja újra később.\n"
+
+#: login-utils/chsh.c:238
+#, c-format
+msgid "Shell changed.\n"
+msgstr "A parancsértelmező megváltozott.\n"
+
+#: login-utils/chsh.c:303
+#, c-format
+msgid ""
+"Usage: %s [ -s shell ] [ --list-shells ] [ --help ] [ --version ]\n"
+"       [ username ]\n"
+msgstr ""
+"Használat: %s [ -s parancsértelmező ] [ --list-shells ] [ --help ] [ --"
+"version ]\n"
+"       [ felhasználónév ]\n"
+
+#: login-utils/chsh.c:349
+#, c-format
+msgid "%s: shell must be a full path name.\n"
+msgstr "%s: A parancsértelmező teljes elérési útját meg kell adnia.\n"
+
+#: login-utils/chsh.c:353
+#, c-format
+msgid "%s: \"%s\" does not exist.\n"
+msgstr "%s: „%s” nem létezik.\n"
+
+#: login-utils/chsh.c:357
+#, c-format
+msgid "%s: \"%s\" is not executable.\n"
+msgstr "%s: „%s” nem futtatható.\n"
+
+#: login-utils/chsh.c:364
+#, c-format
+msgid "%s: '%c' is not allowed.\n"
+msgstr "%s: „%c” nem engedélyezett.\n"
+
+#: login-utils/chsh.c:368
+#, c-format
+msgid "%s: Control characters are not allowed.\n"
+msgstr "%s: A vezérlőkarakterek nem engedélyezettek.\n"
+
+#: login-utils/chsh.c:375 login-utils/chsh.c:385
+#, c-format
+msgid "Warning: \"%s\" is not listed in /etc/shells.\n"
+msgstr ""
+"Figyelmeztetés: az /etc/shells fájl nem tartalmazza a következőt: „%s”\n"
+
+#: login-utils/chsh.c:377
+#, c-format
+msgid "%s: \"%s\" is not listed in /etc/shells.\n"
+msgstr "%s: a(z) „%s” hiányzik az /etc/shells fájlból.\n"
+
+#: login-utils/chsh.c:379
+#, c-format
+msgid "%s: Use -l option to see list.\n"
+msgstr "%s: Használja a „-l” kapcsolót a lista megjelenítéséhez.\n"
+
+#: login-utils/chsh.c:386
+#, c-format
+msgid "Use %s -l to see list.\n"
+msgstr "A lista megjelenítéséhez használja a következő parancsot: %s -l\n"
+
+#: login-utils/chsh.c:406
+#, c-format
+msgid "No known shells.\n"
+msgstr "Nincsenek ismert parancsértelmezők.\n"
+
+#: login-utils/islocal.c:87
+#, c-format
+msgid "Failed to open %s for reading, exiting."
+msgstr "A(z) %s nem nyitható meg olvasásra, kilépés."
+
+#: login-utils/last.c:148
+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:284
+msgid "  still logged in"
+msgstr "  bejelentkezve"
+
+#: login-utils/last.c:306
+#, c-format
+msgid ""
+"\n"
+"wtmp begins %s"
+msgstr ""
+"\n"
+"wtmp kezdete: %s"
+
+#: login-utils/last.c:362 login-utils/last.c:380 login-utils/last.c:431
+msgid "last: malloc failure.\n"
+msgstr "last: memóriafoglalási hiba.\n"
+
+#: login-utils/last.c:407
+msgid "last: gethostname"
+msgstr "last: gépnév feloldása"
+
+#: login-utils/last.c:456
+#, c-format
+msgid ""
+"\n"
+"interrupted %10.10s %5.5s \n"
+msgstr ""
+"\n"
+"megszakítva: %10.10s %5.5s\n"
+
+#: login-utils/login.c:197
+#, c-format
+msgid "FATAL: can't reopen tty: %s"
+msgstr "VÉGZETES: nem nyitható meg újra a terminál: %s"
+
+#: login-utils/login.c:229
+msgid "FATAL: bad tty"
+msgstr "VÉGZETES: hibás terminál"
+
+#: login-utils/login.c:436
+#, c-format
+msgid "login: -h for super-user only.\n"
+msgstr "login: a -h csak rendszergazdaként érhető el.\n"
+
+#: login-utils/login.c:479
+#, c-format
+msgid "usage: login [-fp] [username]\n"
+msgstr "Használat: login [-fp] [felhasználónév]\n"
+
+#: login-utils/login.c:574
+#, c-format
+msgid "Couldn't initialize PAM: %s"
+msgstr "A jelszó-hitelesítés (PAM) nem inicializálható: %s"
+
+#: login-utils/login.c:591
+msgid "login: "
+msgstr "felhasználónév: "
+
+#: login-utils/login.c:635
+#, c-format
+msgid "FAILED LOGIN %d FROM %s FOR %s, %s"
+msgstr "%d SIKERTELEN BEJELENTKEZÉS ERRŐL: %s A KÖVETKEZŐKÉNT: %s, %s"
+
+#: login-utils/login.c:640
+#, c-format
+msgid ""
+"Login incorrect\n"
+"\n"
+msgstr ""
+"A bejelentkezés meghiúsult\n"
+"\n"
+
+#: login-utils/login.c:649
+#, c-format
+msgid "TOO MANY LOGIN TRIES (%d) 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:653
+#, 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:658
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+"\n"
+"A bejelentkezés meghiúsult\n"
+
+#: login-utils/login.c:686 login-utils/login.c:693 login-utils/login.c:727
+#, c-format
+msgid ""
+"\n"
+"Session setup problem, abort.\n"
+msgstr ""
+"\n"
+"Munkamenet-beállítási probléma, megszakítva.\n"
+
+#: login-utils/login.c:687
+#, 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:694
+#, 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:713
+#, c-format
+msgid "login: Out of memory\n"
+msgstr "login: Elfogyott a memória\n"
+
+#: login-utils/login.c:757
+msgid "Illegal username"
+msgstr "Érvénytelen felhasználónév"
+
+#: login-utils/login.c:800
+#, c-format
+msgid "%s login refused on this terminal.\n"
+msgstr "%s bejelentkezése megtagadva ezen a terminálon.\n"
+
+#: login-utils/login.c:805
+#, c-format
+msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
+msgstr "%s BEJELENTKEZÉSE MEGTAGADVA ERRŐL: %s A KÖVETKEZŐ TERMINÁLON: %s"
+
+#: login-utils/login.c:809
+#, c-format
+msgid "LOGIN %s REFUSED ON TTY %s"
+msgstr "%s BEJELENTKEZÉSE MEGTAGADVA A KÖVETKEZŐ TERMINÁLON: %s"
+
+#: login-utils/login.c:863
+#, c-format
+msgid "Login incorrect\n"
+msgstr "A bejelentkezés meghiúsult\n"
+
+#: login-utils/login.c:1088
+#, c-format
+msgid "DIALUP AT %s BY %s"
+msgstr "BEHÍVÁS EZEN: %s A KÖVETKEZŐTŐL: %s"
+
+#: login-utils/login.c:1095
+#, 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:1098
+#, c-format
+msgid "ROOT LOGIN ON %s"
+msgstr "ROOT BEJELENTKEZÉS EZEN: %s"
+
+#: login-utils/login.c:1101
+#, 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:1104
+#, c-format
+msgid "LOGIN ON %s BY %s"
+msgstr "BEJELENTKEZÉS EZEN: %s %s FELHASZNÁLÓTÓL"
+
+#: login-utils/login.c:1125
+#, c-format
+msgid "You have new mail.\n"
+msgstr "Új levele érkezett.\n"
+
+#: login-utils/login.c:1127
+#, c-format
+msgid "You have mail.\n"
+msgstr "Levele van.\n"
+
+#: login-utils/login.c:1171
+#, c-format
+msgid "login: failure forking: %s"
+msgstr "login: a programindítás meghiúsult: %s"
+
+#: login-utils/login.c:1218
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr "TIOCSCTTY meghiúsult: %m"
+
+#: login-utils/login.c:1224
+msgid "setuid() failed"
+msgstr "a setuid() hívása meghiúsult"
+
+#: login-utils/login.c:1230
+#, c-format
+msgid "No directory %s!\n"
+msgstr "Nincs %s nevű könyvtár!\n"
+
+#: login-utils/login.c:1234
+#, c-format
+msgid "Logging in with home = \"/\".\n"
+msgstr "Bejelentkezés a „/” saját könyvtárral.\n"
+
+#: login-utils/login.c:1242
+#, c-format
+msgid "login: no memory for shell script.\n"
+msgstr "login: nincs memória a parancsfájlnak.\n"
+
+#: login-utils/login.c:1269
+#, c-format
+msgid "login: couldn't exec shell script: %s.\n"
+msgstr "login: a parancsfájl nem futtatható: %s.\n"
+
+#: login-utils/login.c:1272
+#, c-format
+msgid "login: no shell: %s.\n"
+msgstr "login: nincs parancsértelmező: %s.\n"
+
+#: login-utils/login.c:1287
+#, c-format
+msgid ""
+"\n"
+"%s login: "
+msgstr ""
+"\n"
+"%s felhasználónév: "
+
+#: login-utils/login.c:1298
+#, c-format
+msgid "login name much too long.\n"
+msgstr "A felhasználónév túl hosszú.\n"
+
+#: login-utils/login.c:1299
+msgid "NAME too long"
+msgstr "A NÉV túl hosszú"
+
+#: login-utils/login.c:1306
+#, c-format
+msgid "login names may not start with '-'.\n"
+msgstr "A felhasználónevek nem kezdődhetnek „-” jellel.\n"
+
+#: login-utils/login.c:1316
+#, c-format
+msgid "too many bare linefeeds.\n"
+msgstr "túl sok üres soremelés.\n"
+
+#: login-utils/login.c:1317
+msgid "EXCESSIVE linefeeds"
+msgstr "TÚL SOK soremelés"
+
+#: login-utils/login.c:1349
+#, c-format
+msgid "Login timed out after %d seconds\n"
+msgstr "A bejelentkezés %d másodperc után túllépte az időkorlátot\n"
+
+#: login-utils/login.c:1437
+#, c-format
+msgid "Last login: %.*s "
+msgstr "Utolsó bejelentkezés: %.*s "
+
+#: login-utils/login.c:1441
+#, c-format
+msgid "from %.*s\n"
+msgstr "erről: %.*s\n"
+
+#: login-utils/login.c:1444
+#, c-format
+msgid "on %.*s\n"
+msgstr "ezen: %.*s\n"
+
+#: login-utils/login.c:1470
+#, c-format
+msgid "LOGIN FAILURE FROM %s, %s"
+msgstr "BEJELENTKEZÉSI HIBA ERRŐL: %s, %s"
+
+#: login-utils/login.c:1473
+#, c-format
+msgid "LOGIN FAILURE ON %s, %s"
+msgstr "BEJELENTKEZÉSI HIBA EZEN: %s, %s"
+
+#: login-utils/login.c:1477
+#, c-format
+msgid "%d LOGIN FAILURES FROM %s, %s"
+msgstr "%d BEJELENTKEZÉSI HIBA ERRŐL: %s, %s"
+
+#: login-utils/login.c:1480
+#, c-format
+msgid "%d LOGIN FAILURES ON %s, %s"
+msgstr "%d BEJELENTKEZÉSI HIBA EZEN: %s, %s"
+
+#: login-utils/mesg.c:89
+#, c-format
+msgid "is y\n"
+msgstr "most igen\n"
+
+#: login-utils/mesg.c:92
+#, c-format
+msgid "is n\n"
+msgstr "most nem\n"
+
+#: login-utils/mesg.c:112
+#, c-format
+msgid "usage: mesg [y | n]\n"
+msgstr "Használat: mesg [y | n]\n"
+
+#: login-utils/newgrp.c:105
+msgid "newgrp: Who are you?"
+msgstr "newgrp: Ön ki?"
+
+#: login-utils/newgrp.c:113 login-utils/newgrp.c:127
+msgid "newgrp: setgid"
+msgstr "newgrp: setgid"
+
+#: login-utils/newgrp.c:120 login-utils/newgrp.c:122
+msgid "newgrp: No such group."
+msgstr "newgrp: Nincs ilyen csoport."
+
+#: login-utils/newgrp.c:131
+msgid "newgrp: Permission denied"
+msgstr "newgrp: Hozzáférés megtagadva"
+
+#: login-utils/newgrp.c:138
+msgid "newgrp: setuid"
+msgstr "newgrp: setuid"
+
+#: login-utils/newgrp.c:144
+msgid "No shell"
+msgstr "Nincs parancsértelmező"
+
+#: login-utils/shutdown.c:115
+#, c-format
+msgid "Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+msgstr "Használat: shutdown [-h|-r] [-fqs] [now|óó:pp|+perc]\n"
+
+#: login-utils/shutdown.c:133
+msgid "Shutdown process aborted"
+msgstr "A leállítási folyamat megszakítva"
+
+#: login-utils/shutdown.c:164
+#, c-format
+msgid "%s: Only root can shut a system down.\n"
+msgstr "%s: Csak rendszergazda állíthatja le a rendszert.\n"
+
+#: login-utils/shutdown.c:258
+#, c-format
+msgid "That must be tomorrow, can't you wait till then?\n"
+msgstr "Ezt holnap kell, nem tud addig várni?\n"
+
+#: login-utils/shutdown.c:309
+msgid "for maintenance; bounce, bounce"
+msgstr "karbantartási céllal; patt, patt"
+
+#: login-utils/shutdown.c:338
+msgid "The system is being shut down within 5 minutes"
+msgstr "A rendszer 5 percen belül leáll"
+
+#: login-utils/shutdown.c:342
+msgid "Login is therefore prohibited."
+msgstr "A bejelentkezés emiatt le van tiltva."
+
+#: login-utils/shutdown.c:364
+#, c-format
+msgid "rebooted by %s: %s"
+msgstr "újraindította: %s: %s"
+
+#: login-utils/shutdown.c:367
+#, c-format
+msgid "halted by %s: %s"
+msgstr "leállította: %s: %s"
+
+#: login-utils/shutdown.c:431
+msgid ""
+"\n"
+"Why am I still alive after reboot?"
+msgstr ""
+"\n"
+"Miért élek az újraindítás után?"
+
+#: login-utils/shutdown.c:433
+msgid ""
+"\n"
+"Now you can turn off the power..."
+msgstr ""
+"\n"
+"Most már kikapcsolhatja a számítógépet..."
+
+#: login-utils/shutdown.c:449
+#, c-format
+msgid "Calling kernel power-off facility...\n"
+msgstr "A rendszermag kikapcsolási szolgáltatásának hívása...\n"
+
+#: login-utils/shutdown.c:452
+#, c-format
+msgid "Error powering off\t%s\n"
+msgstr "Hiba a kikapcsolás során\t%s\n"
+
+#: login-utils/shutdown.c:460
+#, c-format
+msgid "Executing the program \"%s\" ...\n"
+msgstr "„%s” program futtatása...\n"
+
+#: login-utils/shutdown.c:463
+#, c-format
+msgid "Error executing\t%s\n"
+msgstr "Hiba a következő futtatásakor:\t%s\n"
+
+#: login-utils/shutdown.c:490
+#, c-format
+msgid "URGENT: broadcast message from %s:"
+msgstr "SÜRGŐS: szórt üzenet a következőtől: %s:"
+
+#: login-utils/shutdown.c:496
+#, c-format
+msgid "System going down in %d hours %d minutes"
+msgstr "A rendszer %d óra %d perc múlva leáll"
+
+#: login-utils/shutdown.c:499
+#, c-format
+msgid "System going down in 1 hour %d minutes"
+msgstr "A rendszer 1 óra %d perc múlva leáll"
+
+#: login-utils/shutdown.c:502
+#, c-format
+msgid "System going down in %d minutes\n"
+msgstr "A rendszer %d perc múlva leáll\n"
+
+#: login-utils/shutdown.c:505
+#, c-format
+msgid "System going down in 1 minute\n"
+msgstr "A rendszer 1 perc múlva leáll\n"
+
+#: login-utils/shutdown.c:507
+#, c-format
+msgid "System going down IMMEDIATELY!\n"
+msgstr "A rendszer AZONNAL leáll!\n"
+
+#: login-utils/shutdown.c:512
+#, c-format
+msgid "\t... %s ...\n"
+msgstr "\t... %s ...\n"
+
+#: login-utils/shutdown.c:569
+msgid "Cannot fork for swapoff. Shrug!"
+msgstr "Nem lehet elindítani a swapoff programot."
+
+#: login-utils/shutdown.c:577
+msgid "Cannot exec swapoff, hoping umount will do the trick."
+msgstr "Nem lehet végrehajtani a swapoff programot, talán az umount megoldja."
+
+#: login-utils/shutdown.c:596
+msgid "Cannot fork for umount, trying manually."
+msgstr "Nem lehet elindítani az umount programot, próbálja meg saját kezűleg."
+
+#: login-utils/shutdown.c:605
+#, c-format
+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"
+
+#: login-utils/shutdown.c:609
+msgid "Cannot exec umount, giving up on umount."
+msgstr "Nem lehet végrehajtani az umount programot, feladom a kísérletet."
+
+#: login-utils/shutdown.c:614
+msgid "Unmounting any remaining filesystems..."
+msgstr "A megmaradt fájlrendszerek leválasztása..."
+
+#: login-utils/shutdown.c:661
+#, c-format
+msgid "shutdown: Couldn't umount %s: %s\n"
+msgstr "shutdown: Nem lehet leválasztani a következőt: %s: %s\n"
+
+#: login-utils/simpleinit.c:132
+msgid "Booting to single user mode.\n"
+msgstr "Indulás egy felhasználós módban.\n"
+
+#: login-utils/simpleinit.c:136
+msgid "exec of single user shell failed\n"
+msgstr "az egy felhasználós parancsértelmező végrehajtása meghiúsult\n"
+
+#: login-utils/simpleinit.c:140
+msgid "fork of single user shell failed\n"
+msgstr "az egy felhasználós parancsértelmező indítása meghiúsult\n"
+
+#: login-utils/simpleinit.c:208
+msgid "error opening fifo\n"
+msgstr "hiba a fifo megnyitása közben\n"
+
+#: login-utils/simpleinit.c:212
+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"
+
+#: login-utils/simpleinit.c:259
+msgid "error running finalprog\n"
+msgstr "hiba az utolsó program futtatása során\n"
+
+#: login-utils/simpleinit.c:263
+msgid "error forking finalprog\n"
+msgstr "hiba az utolsó program indítása során\n"
+
+#: login-utils/simpleinit.c:345
+msgid ""
+"\n"
+"Wrong password.\n"
+msgstr ""
+"\n"
+"Rossz jelszó.\n"
+
+#: login-utils/simpleinit.c:418
+msgid "lstat of path failed\n"
+msgstr "az lstat végrehajtása az elérési úton meghiúsult\n"
+
+#: login-utils/simpleinit.c:426
+msgid "stat of path failed\n"
+msgstr "a stat végrehajtása az elérési úton meghiúsult\n"
+
+#: login-utils/simpleinit.c:434
+msgid "open of directory failed\n"
+msgstr "a könyvtár megnyitása meghiúsult\n"
+
+#: login-utils/simpleinit.c:501
+#, c-format
+msgid "respawning: \"%s\" too fast: quenching entry\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:509
+msgid "fork failed\n"
+msgstr "az indítás meghiúsult\n"
+
+#: login-utils/simpleinit.c:540 text-utils/more.c:1629
+msgid "exec failed\n"
+msgstr "a végrehajtás meghiúsult\n"
+
+#: login-utils/simpleinit.c:564
+msgid "cannot open inittab\n"
+msgstr "nem nyitható meg az inittab fájl\n"
+
+#: login-utils/simpleinit.c:631
+msgid "no TERM or cannot stat tty\n"
+msgstr "nincs TERM vagy nem érhető el a terminált\n"
+
+#: login-utils/simpleinit.c:938
+#, fuzzy, c-format
+msgid "error stopping service: \"%s\"\n"
+msgstr "hiba a szolgáltatás leállításakor: „%s”"
+
+#: login-utils/simpleinit.c:950
+#, fuzzy, c-format
+msgid "Stopped service: %s\n"
+msgstr "hiba a szolgáltatás leállításakor: „%s”"
+
+#: login-utils/simpleinit.c:1070
+#, fuzzy, c-format
+msgid "error running programme: \"%s\"\n"
+msgstr "hiba az utolsó program futtatása során\n"
+
+#: login-utils/ttymsg.c:75
+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)"
+
+#: login-utils/ttymsg.c:85
+#, c-format
+msgid "excessively long line arg"
+msgstr "túlságosan hosszú sorargumentum"
+
+#: login-utils/ttymsg.c:140
+#, c-format
+msgid "cannot fork"
+msgstr "a programindítás meghiúsult"
+
+#: login-utils/ttymsg.c:144
+#, c-format
+msgid "fork: %s"
+msgstr "programindítás: %s"
+
+#: login-utils/ttymsg.c:174
+#, c-format
+msgid "%s: BAD ERROR"
+msgstr "%s: ROSSZ HIBA"
+
+#: login-utils/vipw.c:143
+#, c-format
+msgid "%s: the password file is busy.\n"
+msgstr "%s: a jelszófájl foglalt.\n"
+
+#: login-utils/vipw.c:146
+#, c-format
+msgid "%s: the group file is busy.\n"
+msgstr "%s: a csoportfájl foglalt.\n"
+
+#: login-utils/vipw.c:162
+#, c-format
+msgid "%s: the %s file is busy (%s present)\n"
+msgstr "%s: a(z) %s fájl foglalt (%s jelen van)\n"
+
+#: login-utils/vipw.c:168
+#, c-format
+msgid "%s: can't link %s: %s\n"
+msgstr "%s: nem hozható létre link a(z) %s fájlra: %s\n"
+
+#: login-utils/vipw.c:202
+#, c-format
+msgid "%s: Can't get context for %s"
+msgstr "%s: Nem kérhető le a(z) %s kontextusa"
+
+#: login-utils/vipw.c:208
+#, c-format
+msgid "%s: Can't set context for %s"
+msgstr "%s: Nem állítható be a(z) %s kontextusa"
+
+#: login-utils/vipw.c:217
+#, c-format
+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"
+
+#: login-utils/vipw.c:240
+#, c-format
+msgid "%s: Cannot fork\n"
+msgstr "%s: Nem indítható a program\n"
+
+#: login-utils/vipw.c:276
+#, c-format
+msgid "%s: %s unchanged\n"
+msgstr "%s: A(z) %s változatlan\n"
+
+#: login-utils/vipw.c:297
+#, c-format
+msgid "%s: no changes made\n"
+msgstr "%s: nem történt változás\n"
+
+#: login-utils/vipw.c:350
+#, c-format
+msgid "You are using shadow groups on this system.\n"
+msgstr "Árnyékcsoportokat használ a rendszeren.\n"
+
+#: login-utils/vipw.c:351
+#, c-format
+msgid "You are using shadow passwords on this system.\n"
+msgstr "Árnyékjelszavakat használ a rendszeren.\n"
+
+#: login-utils/vipw.c:352
+#, c-format
+msgid "Would you like to edit %s now [y/n]? "
+msgstr "Kívánja szerkeszteni a következőt: %s [i/n]? "
+
+#: login-utils/wall.c:112
+#, c-format
+msgid "usage: %s [file]\n"
+msgstr "Használat: %s [fájl]\n"
+
+#: login-utils/wall.c:167
+#, c-format
+msgid "%s: can't open temporary file.\n"
+msgstr "%s: nem nyitható meg az ideiglenes fájl.\n"
+
+#: login-utils/wall.c:194
+#, c-format
+msgid "Broadcast Message from %s@%s"
+msgstr "Szórt üzenet a következőtől: %s@%s"
+
+#: login-utils/wall.c:212
+#, c-format
+msgid "%s: will not read %s - use stdin.\n"
+msgstr ""
+"%s: nem olvasható a(z) %s - a szabványos bemenet kerül felhasználásra.\n"
+
+#: login-utils/wall.c:217
+#, c-format
+msgid "%s: can't read %s.\n"
+msgstr "%s: nem olvasható a(z) %s.\n"
+
+#: login-utils/wall.c:240
+#, c-format
+msgid "%s: can't stat temporary file.\n"
+msgstr "%s: nem érhető el az ideiglenes fájl.\n"
+
+#: login-utils/wall.c:250
+#, c-format
+msgid "%s: can't read temporary file.\n"
+msgstr "%s: nem olvasható az ideiglenes fájl.\n"
+
+#: misc-utils/cal.c:362 misc-utils/cal.c:374
+#, 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:366
+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:370
+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:464
+#, c-format
+msgid "%s %d"
+msgstr "%s %d"
+
+#: misc-utils/cal.c:856
+#, c-format
+msgid "usage: cal [-13smjyV] [[[day] month] year]\n"
+msgstr "Használat: cal [-13smjyV] [[[nap] hónap] év]\n"
+
+#: misc-utils/ddate.c:203
+#, 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:250
+msgid "St. Tib's Day"
+msgstr "Szent Tib napja"
+
+#: misc-utils/findfs.c:24
+#, c-format
+msgid "Usage: %s LABEL=<label>|UUID=<uuid>\n"
+msgstr ""
+
+#: misc-utils/findfs.c:55
+#, fuzzy, c-format
+msgid "unable to resolve '%s'"
+msgstr "%s nem nyitható meg"
+
+#: misc-utils/kill.c:207
+#, c-format
+msgid "%s: unknown signal %s\n"
+msgstr "%s: ismeretlen jelzés: %s\n"
+
+#: misc-utils/kill.c:270
+#, c-format
+msgid "%s: can't find process \"%s\"\n"
+msgstr "%s: a(z) „%s” folyamat nem található\n"
+
+#: misc-utils/kill.c:314
+#, 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:354
+#, 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:355
+#, c-format
+msgid "       %s -l [ signal ]\n"
+msgstr "       %s -l [ jelzés ]\n"
+
+#: misc-utils/logger.c:67
+#, fuzzy, c-format
+msgid "logger: openlog: pathname too long\n"
+msgstr "A felhasználónév túl hosszú.\n"
+
+#: misc-utils/logger.c:75
+#, fuzzy, c-format
+msgid "socket: %s.\n"
+msgstr "Blokkméret: %d\n"
+
+#: misc-utils/logger.c:80
+#, c-format
+msgid "connect: %s.\n"
+msgstr ""
+
+#: misc-utils/logger.c:139
+#, c-format
+msgid "logger: %s: %s.\n"
+msgstr "logger: %s: %s.\n"
+
+#: misc-utils/logger.c:246
+#, c-format
+msgid "logger: unknown facility name: %s.\n"
+msgstr "logger: ismeretlen szolgáltatásnév: %s.\n"
+
+#: misc-utils/logger.c:258
+#, c-format
+msgid "logger: unknown priority name: %s.\n"
+msgstr "logger: ismeretlen prioritásnév: %s.\n"
+
+#: misc-utils/logger.c:285
+#, c-format
+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"
+
+#: misc-utils/look.c:351
+#, c-format
+msgid "usage: look [-dfa] [-t char] string [file]\n"
+msgstr "Használat : look [-dfa] [-t karakter] karakterlánc [fájl]\n"
+
+#: misc-utils/mcookie.c:105 misc-utils/mcookie.c:132
+#, c-format
+msgid "Could not open %s\n"
+msgstr "Nem nyitható meg a következő: %s\n"
+
+#: misc-utils/mcookie.c:109 misc-utils/mcookie.c:128
+#, c-format
+msgid "Got %d bytes from %s\n"
+msgstr "%d bájt érkezett a következőtől: %s\n"
+
+#: misc-utils/namei.c:144 misc-utils/namei.c:198 misc-utils/namei.c:220
+#: misc-utils/namei.c:227 misc-utils/namei.c:248
+#, fuzzy
+msgid "out of memory?"
+msgstr "elfogyott a memória?\n"
+
+#: misc-utils/namei.c:189
+#, 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:229
+#, fuzzy, c-format
+msgid "could not stat '%s'"
+msgstr "a(z) „%s” nem érhető el"
+
+#: misc-utils/namei.c:411
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage: %s [options] pathname [pathname ...]\n"
+msgstr "Használat: namei [-mx] útvonal [útvonal ...]\n"
+
+#: misc-utils/namei.c:412
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"%d partíció:\n"
+
+#: misc-utils/namei.c:415
+#, c-format
+msgid ""
+" -h, --help          displays this help text\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:423
+#, fuzzy, c-format
+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:484
+#, fuzzy, c-format
+msgid "failed to stat: %s"
+msgstr "%s nem érhető el"
+
+#: misc-utils/namei.c:495
+#, c-format
+msgid "%s: exceeded limit of symlinks"
+msgstr ""
+
+#: misc-utils/rename.c:38
+#, c-format
+msgid "%s: out of memory\n"
+msgstr "%s: elfogyott a memória\n"
+
+#: misc-utils/rename.c:56
+#, c-format
+msgid "%s: renaming %s to %s failed: %s\n"
+msgstr "%s: a(z) %s átnevezése meghiúsult a következőre: %s: %s\n"
+
+#: misc-utils/rename.c:86
+#, c-format
+msgid "call: %s from to files...\n"
+msgstr "hívás: %s a fájlokhoz...\n"
+
+#: misc-utils/script.c:110
+#, c-format
+msgid ""
+"Warning: `%s' is a link.\n"
+"Use `%s [options] %s' if you really want to use it.\n"
+"Script not started.\n"
+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"
+
+#: misc-utils/script.c:173
+#, c-format
+msgid "usage: script [-a] [-f] [-q] [-t] [file]\n"
+msgstr "Használat: script [-a] [-f] [-q] [-t] [fájl]\n"
+
+#: misc-utils/script.c:196
+#, c-format
+msgid "Script started, file is %s\n"
+msgstr "A parancsfájl elindult, a fájl: %s\n"
+
+#: misc-utils/script.c:244
+#, c-format
+msgid "%s: write error %d: %s\n"
+msgstr "%s: %d. írási hiba: %s\n"
+
+#: misc-utils/script.c:304
+#, c-format
+msgid "Script started on %s"
+msgstr "A parancsfájl elindult ekkor: %s"
+
+#: misc-utils/script.c:347
+#, c-format
+msgid "%s: write error: %s\n"
+msgstr "%s: írási hiba: %s\n"
+
+#: misc-utils/script.c:354
+#, c-format
+msgid "%s: cannot write script file, error: %s\n"
+msgstr "%s: nem írható a parancsfájl, hiba: %s\n"
+
+#: misc-utils/script.c:430
+#, c-format
+msgid ""
+"\n"
+"Script done on %s"
+msgstr ""
+"\n"
+"A parancsfájl kész ekkor: %s"
+
+#: misc-utils/script.c:437
+#, c-format
+msgid "Script done, file is %s\n"
+msgstr "A parancsfájl kész, a fájl: %s\n"
+
+#: misc-utils/script.c:448
+#, c-format
+msgid "openpty failed\n"
+msgstr "az openpty meghiúsult\n"
+
+#: misc-utils/script.c:482
+#, c-format
+msgid "Out of pty's\n"
+msgstr "Elfogytak a pszeudoterminálok\n"
+
+#: misc-utils/scriptreplay.c:38
+#, c-format
+msgid "%s <timingfile> [<typescript> [<divisor>]]\n"
+msgstr "%s <időzítésfájl> [<típusparancsfájl> [<elválasztó>]]\n"
+
+#: misc-utils/scriptreplay.c:53
+#, c-format
+msgid "expected a number, but got '%s'"
+msgstr "a várt szám helyett „%s” található"
+
+#: misc-utils/scriptreplay.c:56 misc-utils/scriptreplay.c:60
+#, c-format
+msgid "divisor '%s'"
+msgstr "„%s” elválasztó"
+
+#: misc-utils/scriptreplay.c:104
+msgid "write to stdout failed"
+msgstr "a szabványos kimenetre írás meghiúsult"
+
+#: misc-utils/scriptreplay.c:110
+#, c-format
+msgid "unexpected end of file on %s"
+msgstr "váratlan fájlvége a következőn: %s"
+
+#: misc-utils/scriptreplay.c:112
+#, c-format
+msgid "failed to read typescript file %s"
+msgstr "a típusparancsfájl (%s) olvasása meghiúsult"
+
+#: misc-utils/scriptreplay.c:145
+#, c-format
+msgid "cannot open timing file %s"
+msgstr "nem nyitható meg az időzítésfájl (%s)"
+
+#: misc-utils/scriptreplay.c:148
+#, c-format
+msgid "cannot open typescript file %s"
+msgstr "nem nyitható meg a típusparancsfájl (%s)"
+
+#: misc-utils/scriptreplay.c:164
+#, c-format
+msgid "failed to read timing file %s"
+msgstr "az időzítésfájl (%s) olvasása meghiúsult"
+
+#: misc-utils/scriptreplay.c:166
+#, fuzzy, c-format
+msgid "timings file %s: %lu: unexpected format"
+msgstr "%s időzítésfájl: %lu: várt formátum"
+
+#: misc-utils/setterm.c:763
+#, c-format
+msgid "%s: Argument error, usage\n"
+msgstr "%s: Paraméterhiba, használat:\n"
+
+#: misc-utils/setterm.c:766
+#, c-format
+msgid "  [ -term terminal_name ]\n"
+msgstr "  [ -term terminál_név ]\n"
+
+#: misc-utils/setterm.c:767
+#, c-format
+msgid "  [ -reset ]\n"
+msgstr "  [ -reset ]\n"
+
+#: misc-utils/setterm.c:768
+#, c-format
+msgid "  [ -initialize ]\n"
+msgstr "  [ -initialize ]\n"
+
+#: misc-utils/setterm.c:769
+#, c-format
+msgid "  [ -cursor [on|off] ]\n"
+msgstr "  [ -cursor [on|off] ]\n"
+
+#: misc-utils/setterm.c:771
+#, c-format
+msgid "  [ -snow [on|off] ]\n"
+msgstr "  [ -snow [on|off] ]\n"
+
+#: misc-utils/setterm.c:772
+#, c-format
+msgid "  [ -softscroll [on|off] ]\n"
+msgstr "  [ -softscroll [on|off] ]\n"
+
+#: misc-utils/setterm.c:774
+#, c-format
+msgid "  [ -repeat [on|off] ]\n"
+msgstr "  [ -repeat [on|off] ]\n"
+
+#: misc-utils/setterm.c:775
+#, c-format
+msgid "  [ -appcursorkeys [on|off] ]\n"
+msgstr "  [ -appcursorkeys [on|off] ]\n"
+
+#: misc-utils/setterm.c:776
+#, c-format
+msgid "  [ -linewrap [on|off] ]\n"
+msgstr "  [ -linewrap [on|off] ]\n"
+
+#: misc-utils/setterm.c:777
+#, c-format
+msgid "  [ -default ]\n"
+msgstr "  [ -default ]\n"
+
+#: misc-utils/setterm.c:778
+#, c-format
+msgid "  [ -foreground black|blue|green|cyan"
+msgstr "  [ -foreground black|blue|green|cyan"
+
+#: misc-utils/setterm.c:779 misc-utils/setterm.c:781
+#, c-format
+msgid "|red|magenta|yellow|white|default ]\n"
+msgstr "|red|magenta|yellow|white|default ]\n"
+
+#: misc-utils/setterm.c:780
+#, c-format
+msgid "  [ -background black|blue|green|cyan"
+msgstr "  [ -background black|blue|green|cyan"
+
+#: misc-utils/setterm.c:782
+#, c-format
+msgid "  [ -ulcolor black|grey|blue|green|cyan"
+msgstr "  [ -ulcolor black|grey|blue|green|cyan"
+
+#: misc-utils/setterm.c:783 misc-utils/setterm.c:785 misc-utils/setterm.c:787
+#: misc-utils/setterm.c:789
+#, c-format
+msgid "|red|magenta|yellow|white ]\n"
+msgstr "|red|magenta|yellow|white ]\n"
+
+#: misc-utils/setterm.c:784
+#, c-format
+msgid "  [ -ulcolor bright blue|green|cyan"
+msgstr "  [ -ulcolor bright blue|green|cyan"
+
+#: misc-utils/setterm.c:786
+#, c-format
+msgid "  [ -hbcolor black|grey|blue|green|cyan"
+msgstr "  [ -hbcolor black|grey|blue|green|cyan"
+
+#: misc-utils/setterm.c:788
+#, c-format
+msgid "  [ -hbcolor bright blue|green|cyan"
+msgstr "  [ -hbcolor bright blue|green|cyan"
+
+#: misc-utils/setterm.c:791
+#, c-format
+msgid "  [ -standout [ attr ] ]\n"
+msgstr "  [ -standout [ attr ] ]\n"
+
+#: misc-utils/setterm.c:793
+#, c-format
+msgid "  [ -inversescreen [on|off] ]\n"
+msgstr "  [ -inversescreen [on|off] ]\n"
+
+#: misc-utils/setterm.c:794
+#, c-format
+msgid "  [ -bold [on|off] ]\n"
+msgstr "  [ -bold [on|off] ]\n"
+
+#: misc-utils/setterm.c:795
+#, c-format
+msgid "  [ -half-bright [on|off] ]\n"
+msgstr "  [ -half-bright [on|off] ]\n"
+
+#: misc-utils/setterm.c:796
+#, c-format
+msgid "  [ -blink [on|off] ]\n"
+msgstr "  [ -blink [on|off] ]\n"
+
+#: misc-utils/setterm.c:797
+#, c-format
+msgid "  [ -reverse [on|off] ]\n"
+msgstr "  [ -reverse [on|off] ]\n"
+
+#: misc-utils/setterm.c:798
+#, c-format
+msgid "  [ -underline [on|off] ]\n"
+msgstr "  [ -underline [on|off] ]\n"
+
+#: misc-utils/setterm.c:799
+#, c-format
+msgid "  [ -store ]\n"
+msgstr "  [ -store ]\n"
+
+#: misc-utils/setterm.c:800
+#, c-format
+msgid "  [ -clear [all|rest] ]\n"
+msgstr "  [ -clear [all|rest] ]\n"
+
+#: misc-utils/setterm.c:801
+#, c-format
+msgid "  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n"
+msgstr "  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n"
+
+#: misc-utils/setterm.c:802
+#, c-format
+msgid "  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n"
+msgstr "  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n"
+
+#: misc-utils/setterm.c:803
+#, c-format
+msgid "  [ -regtabs [1-160] ]\n"
+msgstr "  [ -regtabs [1-160] ]\n"
+
+#: misc-utils/setterm.c:804
+#, c-format
+msgid "  [ -blank [0-60|force|poke] ]\n"
+msgstr "  [ -blank [0-60|force|poke] ]\n"
+
+#: misc-utils/setterm.c:805
+#, c-format
+msgid "  [ -dump   [1-NR_CONSOLES] ]\n"
+msgstr "  [ -dump   [1-KONZOLOK_SZÁMA] ]\n"
+
+#: misc-utils/setterm.c:806
+#, c-format
+msgid "  [ -append [1-NR_CONSOLES] ]\n"
+msgstr "  [ -append [1-KONZOLOK_SZÁMA] ]\n"
+
+#: misc-utils/setterm.c:807
+#, c-format
+msgid "  [ -file dumpfilename ]\n"
+msgstr "  [ -file kiíratási_fájlnév ]\n"
+
+#: misc-utils/setterm.c:808
+#, c-format
+msgid "  [ -msg [on|off] ]\n"
+msgstr "  [ -msg [on|off] ]\n"
+
+#: misc-utils/setterm.c:809
+#, c-format
+msgid "  [ -msglevel [0-8] ]\n"
+msgstr "  [ -msglevel [0-8] ]\n"
+
+#: misc-utils/setterm.c:810
+#, c-format
+msgid "  [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+msgstr "  [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+
+#: misc-utils/setterm.c:811
+#, c-format
+msgid "  [ -powerdown [0-60] ]\n"
+msgstr "  [ -powerdown [0-60] ]\n"
+
+#: misc-utils/setterm.c:812
+#, c-format
+msgid "  [ -blength [0-2000] ]\n"
+msgstr "  [ -blength [0-2000] ]\n"
+
+#: misc-utils/setterm.c:813
+#, c-format
+msgid "  [ -bfreq freqnumber ]\n"
+msgstr "  [ -bfreq frekvencia ]\n"
+
+#: misc-utils/setterm.c:1065
+#, c-format
+msgid "cannot force blank\n"
+msgstr "az ürítés nem kényszeríthető\n"
+
+#: misc-utils/setterm.c:1069
+#, c-format
+msgid "cannot force unblank\n"
+msgstr "a visszaállítás nem kényszeríthető\n"
+
+#: misc-utils/setterm.c:1075
+#, c-format
+msgid "cannot get blank status\n"
+msgstr "az ürítés állapota nem kérhető le\n"
+
+#: misc-utils/setterm.c:1087
+#, c-format
+msgid "cannot (un)set powersave mode\n"
+msgstr "nem lehet átváltani az energiatakarékos módot\n"
+
+#: misc-utils/setterm.c:1126 misc-utils/setterm.c:1134
+#, c-format
+msgid "klogctl error: %s\n"
+msgstr "klogctl hiba: %s\n"
+
+#: misc-utils/setterm.c:1200
+#, c-format
+msgid "Error writing screendump\n"
+msgstr "Hiba a képernyő-kiíratás írása közben\n"
+
+#: misc-utils/setterm.c:1207
+#, c-format
+msgid "Couldn't read %s\n"
+msgstr "Nem olvasható a következő: %s\n"
+
+#: misc-utils/setterm.c:1261
+#, c-format
+msgid "%s: $TERM is not defined.\n"
+msgstr "%s: A $TERM nincs megadva.\n"
+
+#: misc-utils/uuidd.c:46
+#, fuzzy, c-format
+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"
+
+#: misc-utils/uuidd.c:48
+#, c-format
+msgid "       %s [-r|t] [-n num] [-s socketpath]\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:50
+#, fuzzy, c-format
+msgid "       %s -k\n"
+msgstr "       %s -l [ jelzés ]\n"
+
+#: misc-utils/uuidd.c:152
+#, fuzzy
+msgid "bad arguments"
+msgstr "col: hibás -l kapcsoló: %s.\n"
+
+#: misc-utils/uuidd.c:159
+#, fuzzy
+msgid "socket"
+msgstr "Blokkméret: %d\n"
+
+#: misc-utils/uuidd.c:170
+#, fuzzy
+msgid "connect"
+msgstr "n.szám"
+
+#: misc-utils/uuidd.c:189
+#, fuzzy
+msgid "write"
+msgstr "Kiírás"
+
+#: misc-utils/uuidd.c:197
+#, fuzzy
+msgid "read count"
+msgstr "időtúllépés"
+
+#: misc-utils/uuidd.c:203
+msgid "bad response length"
+msgstr ""
+
+#: misc-utils/uuidd.c:268
+#, c-format
+msgid "uuidd daemon already running at pid %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:276
+#, c-format
+msgid "Couldn't create unix stream socket: %s"
+msgstr ""
+
+#: misc-utils/uuidd.c:305
+#, fuzzy, c-format
+msgid "Couldn't bind unix socket %s: %s\n"
+msgstr "%s nem nyitható meg: %s\n"
+
+#: misc-utils/uuidd.c:313
+#, fuzzy, c-format
+msgid "Couldn't listen on unix socket %s: %s\n"
+msgstr "%s nem nyitható meg: %s\n"
+
+#: misc-utils/uuidd.c:351
+#, c-format
+msgid "Error reading from client, len = %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:359
+#, c-format
+msgid "operation %d, incoming num = %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:378
+#, c-format
+msgid "Generated time UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:388
+#, c-format
+msgid "Generated random UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:397
+#, c-format
+msgid "Generated time UUID %s and %d following\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:415
+#, c-format
+msgid "Generated %d UUID's:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:427
+#, fuzzy, c-format
+msgid "Invalid operation %d\n"
+msgstr "érvénytelen kapcsoló"
+
+#: misc-utils/uuidd.c:468 misc-utils/uuidd.c:489
+#, fuzzy, c-format
+msgid "Bad number: %s\n"
+msgstr "%s: hibás érték\n"
+
+#: misc-utils/uuidd.c:524 misc-utils/uuidd.c:551
+#, fuzzy, c-format
+msgid "Error calling uuidd daemon (%s): %s\n"
+msgstr "hiba a(z) %s módjának módosításakor: %s\n"
+
+#: misc-utils/uuidd.c:534
+#, c-format
+msgid "%s and subsequent %d UUID's\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:536
+#, c-format
+msgid "List of UUID's:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:557
+#, c-format
+msgid "Unexpected reply length from server %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:574
+#, c-format
+msgid "Couldn't kill uuidd running at pid %d: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:580
+#, c-format
+msgid "Killed uuidd running at pid %d\n"
+msgstr ""
+
+#: misc-utils/uuidgen.c:32
+#, fuzzy, c-format
+msgid "Usage: %s [-r] [-t]\n"
+msgstr "Használat: %s [kapcsolók] eszköz ...\n"
+
+#: misc-utils/whereis.c:159
+#, c-format
+msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
+msgstr "whereis [ -sbmu ] [ -SBM könyvtár ... -f ] név...\n"
+
+#: misc-utils/write.c:101
+#, c-format
+msgid "write: can't find your tty's name\n"
+msgstr "write: nem található a terminál neve\n"
+
+#: misc-utils/write.c:112
+#, c-format
+msgid "write: you have write permission turned off.\n"
+msgstr "write: az írási jogosultság ki van kapcsolva.\n"
+
+#: misc-utils/write.c:133
+#, c-format
+msgid "write: %s is not logged in on %s.\n"
+msgstr "write: %s nincs bejelentkezve a következőn: %s.\n"
+
+#: misc-utils/write.c:141
+#, c-format
+msgid "write: %s has messages disabled on %s\n"
+msgstr "write: %s letiltotta az üzeneteket a következőn: %s\n"
+
+#: misc-utils/write.c:148
+#, c-format
+msgid "usage: write user [tty]\n"
+msgstr "Használat: write felhasználó [terminál]\n"
+
+#: misc-utils/write.c:236
+#, c-format
+msgid "write: %s is not logged in\n"
+msgstr "write: %s nincs bejelentkezve\n"
+
+#: misc-utils/write.c:245
+#, c-format
+msgid "write: %s has messages disabled\n"
+msgstr "write: %s letiltotta az üzeneteket\n"
+
+#: misc-utils/write.c:249
+#, c-format
+msgid "write: %s is logged in more than once; writing to %s\n"
+msgstr "write: %s több helyen is belépett, írás a következőre: %s\n"
+
+#: misc-utils/write.c:317
+#, 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 ..."
+
+#: misc-utils/write.c:320
+#, c-format
+msgid "Message from %s@%s on %s at %s ..."
+msgstr "Üzenet %s@%s felhasználótól ezen: %s ekkor: %s ..."
+
+#: mount/fstab.c:143
+#, c-format
+msgid "warning: error reading %s: %s"
+msgstr "figyelmeztetés: hiba a következő olvasásakor: %s:%s"
+
+#: mount/fstab.c:171 mount/fstab.c:196
+#, c-format
+msgid "warning: can't open %s: %s"
+msgstr "figyelmeztetés: nem nyitható meg a következő: %s:%s"
+
+#: mount/fstab.c:176
+#, 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/fstab.c:589
+#, 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/fstab.c:615
+#, 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/fstab.c:631
+#, 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/fstab.c:646
+#, 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/fstab.c:660
+#, 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/fstab.c:662
+msgid "timed out"
+msgstr "időtúllépés"
+
+#: mount/fstab.c:669
+#, 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/fstab.c:791 mount/fstab.c:846
+#, 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/fstab.c:855
+#, c-format
+msgid "error writing %s: %s"
+msgstr "hiba a(z) %s írásakor: %s"
+
+#: mount/fstab.c:873
+#, 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/fstab.c:886
+#, c-format
+msgid "error changing owner of %s: %s\n"
+msgstr "hiba a(z) %s tulajdonosának módosításakor: %s\n"
+
+#: mount/fstab.c:897
+#, c-format
+msgid "can't rename %s to %s: %s\n"
+msgstr "%s nem nevezhető át %s névre: %s\n"
+
+#: mount/lomount.c:364
+#, fuzzy, c-format
+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"
+
+#: mount/lomount.c:388
+#, c-format
+msgid ", offset %<PRIu64>"
+msgstr ", eltolás: %<PRIu64>"
+
+#: mount/lomount.c:391
+#, c-format
+msgid ", sizelimit %<PRIu64>"
+msgstr ", méretkorlát: %<PRIu64>"
+
+#: mount/lomount.c:399
+#, c-format
+msgid ", encryption %s (type %<PRIu32>)"
+msgstr ", %s titkosítás (típus: %<PRIu32>)"
+
+#: mount/lomount.c:412
+#, c-format
+msgid ", offset %d"
+msgstr ", eltolás: %d"
+
+#: mount/lomount.c:415
+#, c-format
+msgid ", encryption type %d\n"
+msgstr ", titkosítástípus: %d\n"
+
+#: mount/lomount.c:423
+#, c-format
+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"
+
+#: mount/lomount.c:434
+#, c-format
+msgid "loop: can't open device %s: %s\n"
+msgstr "loop: nem nyitható meg a(z) %s eszköz: %s\n"
+
+#: mount/lomount.c:450 mount/lomount.c:482 mount/lomount.c:544
+#: mount/lomount.c:589
+#, c-format
+msgid "%s: /dev directory does not exist."
+msgstr "%s: a /dev könyvtár nem létezik."
+
+#: mount/lomount.c:461 mount/lomount.c:602
+#, fuzzy, c-format
+msgid "%s: no permission to look at /dev/loop%s<N>"
+msgstr "%s: nincs jogosultsága a /dev/loop# megjelenítéséhez"
+
+#: mount/lomount.c:605
+#, c-format
+msgid "%s: could not find any free loop device"
+msgstr "%s: nem található szabad hurokeszköz"
+
+#: mount/lomount.c:608
+#, c-format
+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.)"
+
+#: mount/lomount.c:638
+#, fuzzy
+msgid "Out of memory while reading passphrase"
+msgstr "Elfogyott a memória a puffer növelésekor.\n"
+
+#: mount/lomount.c:681
+#, c-format
+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"
+
+#: mount/lomount.c:697
+#, fuzzy, c-format
+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"
+
+#: mount/lomount.c:733
+#, c-format
+msgid "Couldn't lock into memory, exiting.\n"
+msgstr "Nem lehet zárolni a memóriába, kilépés.\n"
+
+#: mount/lomount.c:760
+#, c-format
+msgid "ioctl LOOP_SET_FD failed: %s\n"
+msgstr "A LOOP_SET_FD ioctl meghiúsult: %s\n"
+
+#: mount/lomount.c:817
+#, c-format
+msgid "set_loop(%s,%s,%llu,%llu): success\n"
+msgstr "set_loop(%s,%s,%llu,%llu): siker\n"
+
+#: mount/lomount.c:838
+#, c-format
+msgid "del_loop(%s): success\n"
+msgstr "del_loop(%s): siker\n"
+
+#: mount/lomount.c:842
+#, c-format
+msgid "loop: can't delete device %s: %s\n"
+msgstr "loop: nem törölhető a(z) %s eszköz: %s\n"
+
+#: mount/lomount.c:853
+#, c-format
+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"
+
+#: mount/lomount.c:888
+#, fuzzy, c-format
+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"
+"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"
+
+#: mount/lomount.c:898
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -e | --encryption <type> enable data encryption with specified <name/num>\n"
+" -h | --help              this help\n"
+" -o | --offset <num>      start at offset <num> into file\n"
+"      --sizelimit <num>   loop limited to only <num> bytes of the file\n"
+" -p | --pass-fd <num>     read passphrase from file descriptor <num>\n"
+" -r | --read-only         setup read-only loop device\n"
+"      --show              print device name (with -f <file>)\n"
+" -v | --verbose           verbose mode\n"
+"\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"
+
+#: mount/lomount.c:1036 mount/lomount.c:1076
+#, fuzzy, c-format
+msgid "Loop device is %s\n"
+msgstr "loop: nem nyitható meg a(z) %s eszköz: %s\n"
+
+#: mount/lomount.c:1063
+#, fuzzy, c-format
+msgid "stolen loop=%s...trying again\n"
+msgstr ""
+"mount: a(z) %s hurokeszközt egy másik folyamat ellopta... újrapróbálom\n"
+
+#: mount/lomount.c:1073
+#, fuzzy, c-format
+msgid "%s: %s: device is busy"
+msgstr "mount: a(z) %s foglalt"
+
+#: mount/lomount.c:1090
+#, c-format
+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"
+
+#: mount/mount.c:329
+#, c-format
+msgid "mount: improperly quoted option string '%s'"
+msgstr "mount: helytelenül idézőjelezett kapcsoló-karaktersorozat: „%s”"
+
+#: mount/mount.c:362
+#, 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/mount.c:526
+#, 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/mount.c:531
+#, 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/mount.c:555
+#, c-format
+msgid "mount: can't open %s for writing: %s"
+msgstr "mount: a(z) %s nem nyitható meg írásra: %s"
+
+#: mount/mount.c:572 mount/mount.c:1190
+#, c-format
+msgid "mount: error writing %s: %s"
+msgstr "mount: hiba a(z) %s írásakor: %s"
+
+#: mount/mount.c:580
+#, 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/mount.c:663
+#, c-format
+msgid "mount: cannot set group id: %s"
+msgstr "mount: nem állítható be a csoportazonosító: %s"
+
+#: mount/mount.c:666
+#, c-format
+msgid "mount: cannot set user id: %s"
+msgstr "mount: nem állítható be a felhasználóazonosító: %s"
+
+#: mount/mount.c:705 mount/mount.c:1809
+#, c-format
+msgid "mount: cannot fork: %s"
+msgstr "mount: nem indítható a program: %s"
+
+#: mount/mount.c:842
+#, c-format
+msgid "Trying %s\n"
+msgstr "Kísérlet: %s\n"
+
+#: mount/mount.c:870
+#, 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/mount.c:873
+#, 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/mount.c:876
+#, c-format
+msgid "       and it looks like this is swapspace\n"
+msgstr "      és úgy tűnik, ez egy lapozóterület\n"
+
+#: mount/mount.c:878
+#, c-format
+msgid "       I will try type %s\n"
+msgstr "      Kísérlet a(z) %s típussal\n"
+
+#: mount/mount.c:902
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr "%s lapozóterületnek tűnik - nem került csatolásra"
+
+#: mount/mount.c:993
+msgid "mount failed"
+msgstr "a csatolás meghiúsult"
+
+#: mount/mount.c:995
+#, 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/mount.c:1065
+msgid "mount: loop device specified twice"
+msgstr "mount: a hurokeszközt kétszer adta meg"
+
+#: mount/mount.c:1070
+msgid "mount: type specified twice"
+msgstr "mount: a típust kétszer adta meg"
+
+#: mount/mount.c:1082
+#, 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/mount.c:1094
+#, 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/mount.c:1104
+#, 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/mount.c:1113
+#, 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/mount.c:1118
+#, c-format
+msgid "mount: stolen loop=%s"
+msgstr "mount: a(z) %s hurokeszközt egy másik folyamat ellopta"
+
+#: mount/mount.c:1123
+#, c-format
+msgid "mount: failed setting up loop device\n"
+msgstr "mount: a hurokeszköz beállítása meghiúsult\n"
+
+#: mount/mount.c:1134
+#, c-format
+msgid "mount: setup loop device successfully\n"
+msgstr "mount: a hurokeszköz beállítása sikerült\n"
+
+#: mount/mount.c:1168
+#, c-format
+msgid "mount: no %s found - creating it..\n"
+msgstr "mount: nem található a(z) %s - létrehozás...\n"
+
+#: mount/mount.c:1185
+#, c-format
+msgid "mount: can't open %s: %s"
+msgstr "mount: a(z) %s nem nyitható meg: %s"
+
+#: mount/mount.c:1206
+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/mount.c:1219
+#, 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/mount.c:1222
+#, c-format
+msgid "mount: cannot set speed: %s"
+msgstr "mount: nem állítható be a sebesség: %s"
+
+#: mount/mount.c:1279
+#, 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/mount.c:1358
+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/mount.c:1361
+msgid "mount: you must specify the filesystem type"
+msgstr "mount: meg kell adnia a fájlrendszer típusát"
+
+#: mount/mount.c:1364
+msgid "mount: mount failed"
+msgstr "mount: a csatolás meghiúsult"
+
+#: mount/mount.c:1370 mount/mount.c:1407
+#, 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/mount.c:1372
+msgid "mount: permission denied"
+msgstr "mount: hozzáférés megtagadva"
+
+#: mount/mount.c:1374
+msgid "mount: must be superuser to use mount"
+msgstr "mount: csak a rendszergazda használhatja a mount parancsot"
+
+#: mount/mount.c:1378 mount/mount.c:1382
+#, c-format
+msgid "mount: %s is busy"
+msgstr "mount: a(z) %s foglalt"
+
+#: mount/mount.c:1384
+msgid "mount: proc already mounted"
+msgstr "mount: a proc fájlrendszer már csatolva van"
+
+#: mount/mount.c:1386
+#, 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/mount.c:1392
+#, c-format
+msgid "mount: mount point %s does not exist"
+msgstr "mount: a(z) %s csatolási pont nem létezik"
+
+#: mount/mount.c:1394
+#, 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/mount.c:1399
+#, c-format
+msgid "mount: special device %s does not exist"
+msgstr "mount: a(z) %s speciális eszköz nem létezik"
+
+#: mount/mount.c:1411
+#, 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/mount.c:1423
+#, c-format
+msgid "mount: %s not mounted already, or bad option"
+msgstr "mount: a(z) %s még nincs csatolva, vagy a kapcsoló hibás"
+
+#: mount/mount.c:1425
+#, 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/mount.c:1432
+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/mount.c:1441
+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/mount.c:1446
+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/mount.c:1453
+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/mount.c:1459
+msgid "mount table full"
+msgstr "a csatolási tábla megtelt"
+
+#: mount/mount.c:1461
+#, c-format
+msgid "mount: %s: can't read superblock"
+msgstr "mount: nem lehet olvasni a(z) %s szuperblokkját"
+
+#: mount/mount.c:1467
+#, c-format
+msgid "mount: %s: unknown device"
+msgstr "mount: a(z) %s eszköz ismeretlen"
+
+#: mount/mount.c:1472
+#, c-format
+msgid "mount: unknown filesystem type '%s'"
+msgstr "mount: ismeretlen fájlrendszertípus: „%s”"
+
+#: mount/mount.c:1484
+#, c-format
+msgid "mount: probably you meant %s"
+msgstr "mount: talán a következőre gondolt: %s"
+
+#: mount/mount.c:1487
+msgid "mount: maybe you meant 'iso9660'?"
+msgstr "mount: talán az „iso9660” típusra gondolt?"
+
+#: mount/mount.c:1490
+msgid "mount: maybe you meant 'vfat'?"
+msgstr "mount: talán a „vfat” típusra gondolt?"
+
+#: mount/mount.c:1493
+#, 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/mount.c:1501
+#, 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/mount.c:1503
+#, c-format
+msgid ""
+"mount: the kernel does not recognize %s as a block device\n"
+"       (maybe `insmod driver'?)"
+msgstr ""
+"mount: a rendszermag nem ismeri fel a(z) %s blokkeszközt\n"
+"       (talán ki kellene adnia az „insmod meghajtó” parancsot?)"
+
+#: mount/mount.c:1506
+#, 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/mount.c:1509
+#, c-format
+msgid "mount: %s is not a block device"
+msgstr "mount: a(z) %s nem blokkeszköz"
+
+#: mount/mount.c:1514
+#, 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/mount.c:1517
+msgid "block device "
+msgstr "blokkeszköz"
+
+#: mount/mount.c:1519
+#, 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/mount.c:1523
+#, 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/mount.c:1527
+#, 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/mount.c:1542
+#, 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/mount.c:1552
+#, fuzzy, c-format
+msgid "mount: no medium found on %s ...trying again\n"
+msgstr ""
+"mount: a(z) %s hurokeszközt egy másik folyamat ellopta... újrapróbálom\n"
+
+#: mount/mount.c:1558
+#, 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/mount.c:1576
+#, 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/mount.c:1655
+#, 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/mount.c:1661
+#, 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/mount.c:1756
+#, 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/mount.c:1890
+#, 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/mount.c:2213
+msgid "mount: only root can do that"
+msgstr "mount: ezt csak a rendszergazda teheti meg"
+
+#: mount/mount.c:2223
+msgid "nothing was mounted"
+msgstr "semmi nem lett csatolva"
+
+#: mount/mount.c:2241 mount/mount.c:2267
+msgid "mount: no such partition found"
+msgstr "mount: nincs ilyen partíció"
+
+#: mount/mount.c:2244
+#, 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/mount_mntent.c:165
+#, 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/mount_mntent.c:216
+#, 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/mount_mntent.c:219
+msgid "; rest of file ignored"
+msgstr "; a fájl többi része figyelmen kívül marad"
+
+#: mount/sundries.c:31
+msgid "bug in xstrndup call"
+msgstr "hiba az xstrndup hívásban"
+
+#: mount/sundries.c:224 mount/sundries.c:280 mount/sundries.c:289
+#: mount/xmalloc.c:11
+msgid "not enough memory"
+msgstr "nincs elég memória"
+
+#: mount/swapon.c:84
+#, c-format
+msgid ""
+"The <special> parameter:\n"
+" {-L label | LABEL=label}             LABEL of device to be used\n"
+" {-U uuid  | 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"
+"\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"
+
+#: mount/swapon.c:92
+#, fuzzy, c-format
+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"
+"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"
+
+#: mount/swapon.c:106
+#, c-format
+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"
+
+#: mount/swapon.c:140
+#, fuzzy, c-format
+msgid "%s: unexpected file format"
+msgstr "%s: %s: váratlan fájlformátum\n"
+
+#: mount/swapon.c:184 mount/swapon.c:252 mount/swapon.c:397 mount/swapon.c:556
+#: mount/swapon.c:758
+#, fuzzy, c-format
+msgid "%s: open failed"
+msgstr "az openpty meghiúsult\n"
+
+#: mount/swapon.c:205
+#, 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"
+
+#: mount/swapon.c:209
+#, fuzzy
+msgid "fork failed"
+msgstr "az indítás meghiúsult\n"
+
+#: mount/swapon.c:225
+#, fuzzy
+msgid "execv failed"
+msgstr "a végrehajtás meghiúsult\n"
+
+#: mount/swapon.c:233
+#, fuzzy
+msgid "waitpid failed"
+msgstr "a setuid() hívása meghiúsult"
+
+#: mount/swapon.c:257
+#, fuzzy, c-format
+msgid "%s: lseek failed"
+msgstr "a pozicionálás meghiúsult"
+
+#: mount/swapon.c:263
+#, fuzzy, c-format
+msgid "%s: write signature failed"
+msgstr "a szabványos kimenetre írás meghiúsult"
+
+#: mount/swapon.c:350
+#, c-format
+msgid "%s: found %sswap v%d signature string for %d KiB PAGE_SIZE\n"
+msgstr ""
+
+#: mount/swapon.c:370
+#, fuzzy, c-format
+msgid "%s: stat failed"
+msgstr "%s meghiúsult.\n"
+
+#: mount/swapon.c:380
+#, 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"
+
+#: mount/swapon.c:388
+#, 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"
+
+#: mount/swapon.c:402
+#, fuzzy, c-format
+msgid "%s: get size failed"
+msgstr "a pozicionálás meghiúsult"
+
+#: mount/swapon.c:408
+#, c-format
+msgid "%s: read swap header failed"
+msgstr ""
+
+#: mount/swapon.c:421
+#, c-format
+msgid "%s: last_page 0x%08llx is larger than actual size of swapspace"
+msgstr ""
+
+#: mount/swapon.c:426
+#, c-format
+msgid "%s: swap format pagesize does not match."
+msgstr ""
+
+#: mount/swapon.c:431
+#, c-format
+msgid ""
+"%s: swap format pagesize does not match. (Use --fixpgsz to reinitialize it.)"
+msgstr ""
+
+#: mount/swapon.c:440
+#, 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"
+
+#: mount/swapon.c:464 mount/swapon.c:514
+#, c-format
+msgid "%s on %s\n"
+msgstr "%s a következőn: %s\n"
+
+#: mount/swapon.c:486
+#, fuzzy, c-format
+msgid "%s: swapon failed"
+msgstr "%s meghiúsult.\n"
+
+#: mount/swapon.c:493
+#, fuzzy, c-format
+msgid "cannot find the device for %s"
+msgstr "%s: nem található a(z) %s eszköze\n"
+
+#: mount/swapon.c:526
+#, fuzzy
+msgid "Not superuser."
+msgstr "Nem rendszergazda.\n"
+
+#: mount/swapon.c:529
+#, fuzzy, c-format
+msgid "%s: swapoff failed"
+msgstr "%s meghiúsult.\n"
+
+#: mount/umount.c:41
+#, 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/umount.c:111
+#, c-format
+msgid "umount: cannot set group id: %s"
+msgstr "umount: nem állítható be a csoportazonosító: %s"
+
+#: mount/umount.c:114
+#, c-format
+msgid "umount: cannot set user id: %s"
+msgstr "mount: nem állítható be a felhasználóazonosító: %s"
+
+#: mount/umount.c:139
+#, c-format
+msgid "umount: cannot fork: %s"
+msgstr "mount: nem indítható program: %s"
+
+#: mount/umount.c:160
+#, c-format
+msgid "umount: %s: invalid block device"
+msgstr "umount: %s érvénytelen blokkeszköz"
+
+#: mount/umount.c:162
+#, c-format
+msgid "umount: %s: not mounted"
+msgstr "umount: %s nincs csatolva"
+
+#: mount/umount.c:164
+#, c-format
+msgid "umount: %s: can't write superblock"
+msgstr "umount: %s szuperblokkja nem írható"
+
+#: mount/umount.c:168
+#, 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/umount.c:173
+#, c-format
+msgid "umount: %s: not found"
+msgstr "umount: %s nem található"
+
+#: mount/umount.c:175
+#, c-format
+msgid "umount: %s: must be superuser to umount"
+msgstr "umount: %s leválasztásához rendszergazdai jog szükséges"
+
+#: mount/umount.c:177
+#, 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/umount.c:179
+#, c-format
+msgid "umount: %s: %s"
+msgstr "umount: %s: %s"
+
+#: mount/umount.c:235
+#, c-format
+msgid "no umount2, trying umount...\n"
+msgstr "nem található az umount2, kísérlet az umount használatára...\n"
+
+#: mount/umount.c:252
+#, c-format
+msgid "umount: %s busy - remounted read-only\n"
+msgstr "umount: a(z) %s foglalt - újracsatolva csak olvashatóként\n"
+
+#: mount/umount.c:263
+#, 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/umount.c:272
+#, c-format
+msgid "%s umounted\n"
+msgstr "%s leválasztva\n"
+
+#: mount/umount.c:367
+msgid "umount: cannot find list of filesystems to unmount"
+msgstr "umount: nem található a leválasztandó fájlrendszerek listája"
+
+#: mount/umount.c:397
+#, 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/umount.c:466
+#, 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/umount.c:472
+#, 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/umount.c:485
+msgid "Cannot umount \"\"\n"
+msgstr "Nem választható le: „”\n"
+
+#: mount/umount.c:491
+#, c-format
+msgid "Trying to umount %s\n"
+msgstr "Kísérlet a következő leválasztására: %s\n"
+
+#: mount/umount.c:504
+msgid "umount: confused when analyzing mtab"
+msgstr ""
+
+#: mount/umount.c:509
+#, c-format
+msgid "umount: cannot umount %s -- %s is mounted over it on the same point."
+msgstr ""
+
+#: mount/umount.c:516
+#, c-format
+msgid "Could not find %s in mtab\n"
+msgstr "A(z) %s nem található az mtab fájlban\n"
+
+#: mount/umount.c:523
+#, 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/umount.c:547
+#, 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/umount.c:561
+#, 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/umount.c:567
+#, c-format
+msgid "umount: %s mount disagrees with the fstab"
+msgstr "umount: a(z) %s csatolás nem egyezik az fstab tartalmával"
+
+#: mount/umount.c:608
+#, 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/umount.c:695
+msgid "umount: only root can do that"
+msgstr "umount: ezt csak a rendszergazda teheti meg"
+
+#: schedutils/chrt.c:56
+#, 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"
+"\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 ""
+
+#: schedutils/chrt.c:88
+#, 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:90
+#, c-format
+msgid "pid %d's %s scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:112
+#, fuzzy, c-format
+msgid "unknown\n"
+msgstr "ismeretlen"
+
+#: schedutils/chrt.c:116
+#, c-format
+msgid "failed to get pid %d's attributes"
+msgstr ""
+
+#: schedutils/chrt.c:118
+#, c-format
+msgid "pid %d's %s scheduling priority: %d\n"
+msgstr ""
+
+#: schedutils/chrt.c:147
+#, c-format
+msgid "SCHED_%s min/max priority\t: %d/%d\n"
+msgstr ""
+
+#: schedutils/chrt.c:150
+#, c-format
+msgid "SCHED_%s not supported?\n"
+msgstr ""
+
+#: schedutils/chrt.c:206
+#, fuzzy
+msgid "failed to parse pid"
+msgstr "%s: a következő megnyitása meghiúsult: %s\n"
+
+#: schedutils/chrt.c:228
+#, fuzzy
+msgid "current"
+msgstr "n.szám"
+
+#: schedutils/chrt.c:236
+#, fuzzy
+msgid "failed to parse priority"
+msgstr "A személyiség beállítása meghiúsult a következőre: %s"
+
+#: schedutils/chrt.c:242
+#, 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:251
+#, fuzzy, c-format
+msgid "failed to execute %s"
+msgstr "a típusparancsfájl (%s) olvasása meghiúsult"
+
+#: schedutils/ionice.c:57
+#, fuzzy
+msgid "ioprio_get failed"
+msgstr "az openpty meghiúsult\n"
+
+#: schedutils/ionice.c:75
+#, fuzzy
+msgid "ioprio_set failed"
+msgstr "az openpty meghiúsult\n"
+
+#: schedutils/ionice.c:81
+#, c-format
+msgid ""
+"\n"
+"ionice - sets or gets process io scheduling class and priority.\n"
+"\n"
+"Usage:\n"
+"  ionice [ options ] -p <pid> [<pid> ...]\n"
+"  ionoce [ 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 ""
+
+#: schedutils/ionice.c:110 schedutils/ionice.c:112
+#, fuzzy, c-format
+msgid "cannot parse number '%s'"
+msgstr "a(z) %s nem nyitható meg"
+
+#: schedutils/ionice.c:151
+msgid "ignoring given class data for none class"
+msgstr ""
+
+#: schedutils/ionice.c:159
+msgid "ignoring given class data for idle class"
+msgstr ""
+
+#: schedutils/ionice.c:163
+#, c-format
+msgid "bad prio class %d"
+msgstr ""
+
+#: schedutils/ionice.c:187
+#, fuzzy
+msgid "execvp failed"
+msgstr "a végrehajtás meghiúsult\n"
+
+#: sys-utils/ctrlaltdel.c:27
+#, c-format
+msgid "You must be root to set the Ctrl-Alt-Del behaviour.\n"
+msgstr "Csak rendszergazda állíthatja be a Ctrl-Alt-Del viselkedését.\n"
+
+#: sys-utils/ctrlaltdel.c:42
+#, c-format
+msgid "Usage: ctrlaltdel hard|soft\n"
+msgstr "Használat: ctrlaltdel hard|soft\n"
+
+#: sys-utils/cytune.c:114
+#, 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\n"
+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:125
+#, c-format
+msgid ""
+"File %s, For threshold value %lu and timrout value %lu, Maximum characters "
+"in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f\n"
+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:189
+#, c-format
+msgid "Invalid interval value: %s\n"
+msgstr "Érvénytelen időkorlátérték: %s\n"
+
+#: sys-utils/cytune.c:197
+#, c-format
+msgid "Invalid set value: %s\n"
+msgstr "Érvénytelen beállított érték: %s\n"
+
+#: sys-utils/cytune.c:205
+#, c-format
+msgid "Invalid default value: %s\n"
+msgstr "Érvénytelen alapértelmezett érték: %s\n"
+
+#: sys-utils/cytune.c:213
+#, c-format
+msgid "Invalid set time value: %s\n"
+msgstr "Érvénytelen beállított időérték: %s\n"
+
+#: sys-utils/cytune.c:221
+#, c-format
+msgid "Invalid default time value: %s\n"
+msgstr "Érvénytelen alapértelmezett időérték: %s\n"
+
+#: sys-utils/cytune.c:238
+#, c-format
+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"
+
+#: sys-utils/cytune.c:250 sys-utils/cytune.c:269 sys-utils/cytune.c:289
+#: sys-utils/cytune.c:339
+#, c-format
+msgid "Can't open %s: %s\n"
+msgstr "%s nem nyitható meg: %s\n"
+
+#: sys-utils/cytune.c:257
+#, c-format
+msgid "Can't set %s to threshold %d: %s\n"
+msgstr "A(z) %s küszöbértéke nem állítható %d értékre: %s\n"
+
+#: sys-utils/cytune.c:276
+#, c-format
+msgid "Can't set %s to time threshold %d: %s\n"
+msgstr "A(z) %s nem állítható be a(z) %d időküszöbértékre: %s\n"
+
+#: sys-utils/cytune.c:294 sys-utils/cytune.c:351 sys-utils/cytune.c:382
+#, c-format
+msgid "Can't get threshold for %s: %s\n"
+msgstr "Nem kérhető le a(z) %s küszöbértéke: %s\n"
+
+#: sys-utils/cytune.c:300 sys-utils/cytune.c:357 sys-utils/cytune.c:388
+#, c-format
+msgid "Can't get timeout for %s: %s\n"
+msgstr "Nem kérhető le a(z) %s időkorlátja: %s\n"
+
+#: sys-utils/cytune.c:306
+#, 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:309
+#, 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/cytune.c:327
+msgid "Can't set signal handler"
+msgstr "Nem állítható be a jelzéskezelő"
+
+#: sys-utils/cytune.c:331 sys-utils/cytune.c:366
+msgid "gettimeofday failed"
+msgstr "a gettimeofday hívás meghiúsult"
+
+#: sys-utils/cytune.c:344 sys-utils/cytune.c:376
+#, c-format
+msgid "Can't issue CYGETMON on %s: %s\n"
+msgstr "Nem adható ki a CYGETMON hívás a következőn: %s: %s\n"
+
+#: sys-utils/cytune.c:418
+#, 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:424
+#, 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:429
+#, 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:435
+#, 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/dmesg.c:45
+#, fuzzy, c-format
+msgid "Usage: %s [-c] [-n level] [-r] [-s bufsize]\n"
+msgstr "Használat: %s [-c] [-n szint] [-s pufferméret]\n"
+
+#: sys-utils/flock.c:65
+#, c-format
+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 ""
+
+#: sys-utils/flock.c:192
+#, fuzzy, c-format
+msgid "%s: %s requires exactly one command argument\n"
+msgstr "%s egy paramétert igényel\n"
+
+#: sys-utils/flock.c:219
+#, fuzzy, c-format
+msgid "%s: cannot open lock file %s: %s\n"
+msgstr "%s: %s nem nyitható meg: %s\n"
+
+#: sys-utils/flock.c:231
+#, fuzzy, c-format
+msgid "%s: bad number: %s\n"
+msgstr "%s: hibás érték\n"
+
+#: sys-utils/flock.c:238
+#, c-format
+msgid "%s: requires file descriptor, file or directory\n"
+msgstr ""
+
+#: sys-utils/flock.c:294
+#, fuzzy, c-format
+msgid "%s: fork failed: %s\n"
+msgstr "az indítás meghiúsult\n"
+
+#: sys-utils/ipcmk.c:84
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage: %s [options]\n"
+"\n"
+msgstr "Használat: %s [kapcsolók] eszköz ...\n"
+
+#: sys-utils/ipcmk.c:86
+#, c-format
+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 ""
+
+#: sys-utils/ipcmk.c:90
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see ipcmk(1).\n"
+"\n"
+msgstr ""
+"\n"
+"További információkért tekintse meg a setarch(8) kézikönyvoldalt.\n"
+
+#: sys-utils/ipcmk.c:142
+msgid "create share memory failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:144
+#, fuzzy, c-format
+msgid "Shared memory id: %d\n"
+msgstr ""
+"\n"
+"Osztott memóriaszegmens o.m.az =%d\n"
+
+#: sys-utils/ipcmk.c:150
+msgid "create message queue failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:152
+#, fuzzy, c-format
+msgid "Message queue id: %d\n"
+msgstr ""
+"\n"
+"Üzenetsor üz.az=%d\n"
+
+#: sys-utils/ipcmk.c:158
+#, fuzzy
+msgid "create semaphore failed"
+msgstr "lefoglalt szemaforok = %d\n"
+
+#: sys-utils/ipcmk.c:160
+#, fuzzy, c-format
+msgid "Semaphore id: %d\n"
+msgstr ""
+"\n"
+"Szemafortömb szem.az=%d\n"
+
+#: sys-utils/ipcrm.c:66
+#, c-format
+msgid "invalid id: %s\n"
+msgstr "érvénytelen azonosító: %s\n"
+
+#: sys-utils/ipcrm.c:84
+#, c-format
+msgid "cannot remove id %s (%s)\n"
+msgstr "a(z) %s azonosító nem távolítható el (%s)\n"
+
+#: sys-utils/ipcrm.c:99
+#, c-format
+msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
+msgstr "elavult használat: %s {shm | msg | sem} azonosító ...\n"
+
+#: sys-utils/ipcrm.c:126
+#, c-format
+msgid "unknown resource type: %s\n"
+msgstr "ismeretlen erőforrástípus: %s\n"
+
+#: sys-utils/ipcrm.c:130
+#, c-format
+msgid "resource(s) deleted\n"
+msgstr "erőforrások törölve\n"
+
+#: sys-utils/ipcrm.c:140
+#, c-format
+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"
+
+#: sys-utils/ipcrm.c:181
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: érvénytelen kapcsoló -- %c\n"
+
+#: sys-utils/ipcrm.c:193
+#, c-format
+msgid "%s: illegal key (%s)\n"
+msgstr "%s: érvénytelen kulcs (%s)\n"
+
+#: sys-utils/ipcrm.c:208 sys-utils/ipcrm.c:240
+msgid "permission denied for key"
+msgstr "a kulcs elérése megtagadva"
+
+#: sys-utils/ipcrm.c:211 sys-utils/ipcrm.c:250
+msgid "already removed key"
+msgstr "a kulcs már el van távolítva"
+
+#: sys-utils/ipcrm.c:214 sys-utils/ipcrm.c:245
+msgid "invalid key"
+msgstr "érvénytelen kulcs"
+
+#: sys-utils/ipcrm.c:217 sys-utils/ipcrm.c:255
+msgid "unknown error in key"
+msgstr "ismeretlen hiba a kulcsban"
+
+#: sys-utils/ipcrm.c:241
+msgid "permission denied for id"
+msgstr "az azonosító elérése megtagadva"
+
+#: sys-utils/ipcrm.c:246
+msgid "invalid id"
+msgstr "érvénytelen azonosító"
+
+#: sys-utils/ipcrm.c:251
+msgid "already removed id"
+msgstr "az azonosító már el van távolítva"
+
+#: sys-utils/ipcrm.c:256
+msgid "unknown error in id"
+msgstr "ismeretlen hiba az azonosítóban"
+
+#: sys-utils/ipcrm.c:259
+#, c-format
+msgid "%s: %s (%s)\n"
+msgstr "%s: %s (%s)\n"
+
+#: sys-utils/ipcrm.c:267
+#, c-format
+msgid "%s: unknown argument: %s\n"
+msgstr "%s: ismeretlen argumentum: %s\n"
+
+#: sys-utils/ipcs.c:120
+#, c-format
+msgid "usage : %s -asmq -tclup \n"
+msgstr "Használat: %s -asmq -tclup \n"
+
+#: sys-utils/ipcs.c:121
+#, c-format
+msgid "\t%s [-s -m -q] -i id\n"
+msgstr "\t%s [-s -m -q] -i azonosító\n"
+
+#: sys-utils/ipcs.c:122
+#, c-format
+msgid "\t%s -h for help.\n"
+msgstr "\t%s -h - súgó.\n"
+
+#: sys-utils/ipcs.c:128
+#, c-format
+msgid ""
+"%s provides information on ipc facilities for which you have read access.\n"
+msgstr ""
+"A(z) %s információkat ad az elérhető ipc szolgáltatásokról, amelyek\n"
+"olvasására jogosult.\n"
+
+#: sys-utils/ipcs.c:130
+#, c-format
+msgid ""
+"Resource Specification:\n"
+"\t-m : shared_mem\n"
+"\t-q : messages\n"
+msgstr ""
+"Erőforrás meghatározása:\n"
+"\t-m: osztott memória\n"
+"\t-q: üzenetek\n"
+
+#: sys-utils/ipcs.c:131
+#, c-format
+msgid ""
+"\t-s : semaphores\n"
+"\t-a : all (default)\n"
+msgstr ""
+"\t-s: szemaforok\n"
+"\t-a: minden (alapértelmezés)\n"
+
+#: sys-utils/ipcs.c:132
+#, c-format
+msgid ""
+"Output Format:\n"
+"\t-t : time\n"
+"\t-p : pid\n"
+"\t-c : creator\n"
+msgstr ""
+"Kimeneti formátum\n"
+"\t-t: idő\n"
+"\t-p: pid\n"
+"\t-c: létrehozó\n"
+
+#: sys-utils/ipcs.c:133
+#, c-format
+msgid ""
+"\t-l : limits\n"
+"\t-u : summary\n"
+msgstr ""
+"\t-l: korlátok\n"
+"\t-u: összesítés\n"
+
+#: sys-utils/ipcs.c:134
+#, c-format
+msgid "-i id [-s -q -m] : 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:258
+#, 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:264
+#, c-format
+msgid "------ Shared Memory Limits --------\n"
+msgstr "---------- Osztott memória korlátai ----------\n"
+
+#: sys-utils/ipcs.c:269
+#, c-format
+msgid "max number of segments = %lu\n"
+msgstr "szegmensek maximális száma = %lu\n"
+
+#: sys-utils/ipcs.c:271
+#, c-format
+msgid "max seg size (kbytes) = %lu\n"
+msgstr "maximális szegmensméret (kilobájt) = %lu\n"
+
+#: sys-utils/ipcs.c:273
+#, 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:275
+#, c-format
+msgid "min seg size (bytes) = %lu\n"
+msgstr "minimális szegmensméret = %lu\n"
+
+#: sys-utils/ipcs.c:280
+#, c-format
+msgid "------ Shared Memory Status --------\n"
+msgstr "------- Osztott memória állapota --------\n"
+
+#: sys-utils/ipcs.c:281
+#, c-format
+msgid "segments allocated %d\n"
+msgstr "lefoglalt szegmensek:    %d\n"
+
+#: sys-utils/ipcs.c:282
+#, c-format
+msgid "pages allocated %ld\n"
+msgstr "lefoglalt lapok:         %ld\n"
+
+#: sys-utils/ipcs.c:283
+#, c-format
+msgid "pages resident  %ld\n"
+msgstr "memóriában maradó lapok: %ld\n"
+
+#: sys-utils/ipcs.c:284
+#, c-format
+msgid "pages swapped   %ld\n"
+msgstr "kilapozott lapok:        %ld\n"
+
+#: sys-utils/ipcs.c:285
+#, c-format
+msgid "Swap performance: %ld attempts\t %ld successes\n"
+msgstr "Lapozóterület teljesítménye: %ld kísérlet\t %ld sikeres\n"
+
+#: sys-utils/ipcs.c:290
+#, c-format
+msgid "------ Shared Memory Segment Creators/Owners --------\n"
+msgstr "------- Osztott memóriaszegmens létrehozói/tulajdonosai ------\n"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:298 sys-utils/ipcs.c:305
+#: sys-utils/ipcs.c:311
+msgid "shmid"
+msgstr "o.m.-az"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:311 sys-utils/ipcs.c:412
+#: sys-utils/ipcs.c:427 sys-utils/ipcs.c:510 sys-utils/ipcs.c:528
+msgid "perms"
+msgstr "jogok"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "cuid"
+msgstr "l.fh.az"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "cgid"
+msgstr "l.cs.az"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "uid"
+msgstr "fh.az"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "gid"
+msgstr "cs.az"
+
+#: sys-utils/ipcs.c:296
+#, 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:298 sys-utils/ipcs.c:305 sys-utils/ipcs.c:311
+#: sys-utils/ipcs.c:418 sys-utils/ipcs.c:427 sys-utils/ipcs.c:516
+#: sys-utils/ipcs.c:522 sys-utils/ipcs.c:528
+msgid "owner"
+msgstr "tulajdonos"
+
+#: sys-utils/ipcs.c:298
+msgid "attached"
+msgstr "csatolva"
+
+#: sys-utils/ipcs.c:298
+msgid "detached"
+msgstr "leválasztva"
+
+#: sys-utils/ipcs.c:299
+msgid "changed"
+msgstr "módosítva"
+
+#: sys-utils/ipcs.c:303
+#, c-format
+msgid "------ Shared Memory Creator/Last-op --------\n"
+msgstr "-------- Osztott memória létrehozója/utolsó művelete --------\n"
+
+#: sys-utils/ipcs.c:305
+msgid "cpid"
+msgstr "l.f.az"
+
+#: sys-utils/ipcs.c:305
+msgid "lpid"
+msgstr "u.f.az"
+
+#: sys-utils/ipcs.c:309
+#, c-format
+msgid "------ Shared Memory Segments --------\n"
+msgstr "------- Osztott memóriaszegmensek --------\n"
+
+#: sys-utils/ipcs.c:311 sys-utils/ipcs.c:427 sys-utils/ipcs.c:528
+msgid "key"
+msgstr "kulcs"
+
+#: sys-utils/ipcs.c:311
+msgid "bytes"
+msgstr "bájt"
+
+#: sys-utils/ipcs.c:312
+msgid "nattch"
+msgstr "csat.szám"
+
+#: sys-utils/ipcs.c:312
+msgid "status"
+msgstr "állapot"
+
+#: sys-utils/ipcs.c:333 sys-utils/ipcs.c:335 sys-utils/ipcs.c:337
+#: sys-utils/ipcs.c:448 sys-utils/ipcs.c:450 sys-utils/ipcs.c:549
+#: sys-utils/ipcs.c:551 sys-utils/ipcs.c:553 sys-utils/ipcs.c:604
+#: sys-utils/ipcs.c:606 sys-utils/ipcs.c:634 sys-utils/ipcs.c:636
+#: sys-utils/ipcs.c:638 sys-utils/ipcs.c:661
+msgid "Not set"
+msgstr "Nincs beállítva"
+
+#: sys-utils/ipcs.c:365
+msgid "dest"
+msgstr "cél"
+
+#: sys-utils/ipcs.c:366
+msgid "locked"
+msgstr "zárolva"
+
+#: sys-utils/ipcs.c:386
+#, 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:392
+#, c-format
+msgid "------ Semaphore Limits --------\n"
+msgstr "-------- Szemaforok korlátai -----------\n"
+
+#: sys-utils/ipcs.c:396
+#, c-format
+msgid "max number of arrays = %d\n"
+msgstr "a tömbök maximális száma = %d\n"
+
+#: sys-utils/ipcs.c:397
+#, 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:398
+#, c-format
+msgid "max semaphores system wide = %d\n"
+msgstr "rendszerszintű szemaforok maximális száma = %d\n"
+
+#: sys-utils/ipcs.c:399
+#, 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:400
+#, c-format
+msgid "semaphore max value = %d\n"
+msgstr "szemafor maximális értéke = %d\n"
+
+#: sys-utils/ipcs.c:404
+#, c-format
+msgid "------ Semaphore Status --------\n"
+msgstr "--------- Szemaforállapot -------\n"
+
+#: sys-utils/ipcs.c:405
+#, c-format
+msgid "used arrays = %d\n"
+msgstr "használt tömbök = %d\n"
+
+#: sys-utils/ipcs.c:406
+#, c-format
+msgid "allocated semaphores = %d\n"
+msgstr "lefoglalt szemaforok = %d\n"
+
+#: sys-utils/ipcs.c:410
+#, c-format
+msgid "------ Semaphore Arrays Creators/Owners --------\n"
+msgstr "------- A szemafortömbök létrehozói/tulajdonosai ------- \n"
+
+#: sys-utils/ipcs.c:412 sys-utils/ipcs.c:418 sys-utils/ipcs.c:427
+msgid "semid"
+msgstr "szem.az"
+
+#: sys-utils/ipcs.c:416
+#, c-format
+msgid "------ Semaphore Operation/Change Times --------\n"
+msgstr "---------- Szemaforműveletek/módosítások számai -------\n"
+
+#: sys-utils/ipcs.c:418
+msgid "last-op"
+msgstr "ut.művelet"
+
+#: sys-utils/ipcs.c:418
+msgid "last-changed"
+msgstr "ut.változás"
+
+#: sys-utils/ipcs.c:425
+#, c-format
+msgid "------ Semaphore Arrays --------\n"
+msgstr "------- Szemafortömbök ----------\n"
+
+#: sys-utils/ipcs.c:427
+msgid "nsems"
+msgstr "szem.sz"
+
+#: sys-utils/ipcs.c:486
+#, 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:494
+#, c-format
+msgid "------ Messages: Limits --------\n"
+msgstr "         Üzenetek: korlátok ---------\n"
+
+#: sys-utils/ipcs.c:495
+#, c-format
+msgid "max queues system wide = %d\n"
+msgstr "rendszerszintű sorok maximálisan = %d\n"
+
+#: sys-utils/ipcs.c:496
+#, c-format
+msgid "max size of message (bytes) = %d\n"
+msgstr "maximális üzenetméret (bájt) = %d\n"
+
+#: sys-utils/ipcs.c:497
+#, 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:501
+#, c-format
+msgid "------ Messages: Status --------\n"
+msgstr "------ Üzenetek: állapot -------\n"
+
+#: sys-utils/ipcs.c:502
+#, c-format
+msgid "allocated queues = %d\n"
+msgstr "lefoglalt sorok = %d\n"
+
+#: sys-utils/ipcs.c:503
+#, c-format
+msgid "used headers = %d\n"
+msgstr "használt fejlécek = %d\n"
+
+#: sys-utils/ipcs.c:504
+#, c-format
+msgid "used space = %d bytes\n"
+msgstr "használt terület = %d bájt\n"
+
+#: sys-utils/ipcs.c:508
+#, c-format
+msgid "------ Message Queues: Creators/Owners --------\n"
+msgstr "------ Üzenetsorok: létrehozók/tulajdonosok --------\n"
+
+#: sys-utils/ipcs.c:510 sys-utils/ipcs.c:516 sys-utils/ipcs.c:522
+#: sys-utils/ipcs.c:528
+msgid "msqid"
+msgstr "üz.az"
+
+#: sys-utils/ipcs.c:514
+#, 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:516
+msgid "send"
+msgstr "küldés"
+
+#: sys-utils/ipcs.c:516
+msgid "recv"
+msgstr "fogadás"
+
+#: sys-utils/ipcs.c:516
+msgid "change"
+msgstr "módosítás"
+
+#: sys-utils/ipcs.c:520
+#, c-format
+msgid "------ Message Queues PIDs --------\n"
+msgstr "----- Üzenetsorok PID-jei --------\n"
+
+#: sys-utils/ipcs.c:522
+msgid "lspid"
+msgstr "u.k.f.az"
+
+#: sys-utils/ipcs.c:522
+msgid "lrpid"
+msgstr "u.f.f.az"
+
+#: sys-utils/ipcs.c:526
+#, c-format
+msgid "------ Message Queues --------\n"
+msgstr "------- Üzenetsorok ---------\n"
+
+#: sys-utils/ipcs.c:529
+msgid "used-bytes"
+msgstr "használt bájtok"
+
+#: sys-utils/ipcs.c:529
+msgid "messages"
+msgstr "üzenetek"
+
+#: sys-utils/ipcs.c:593
+#, fuzzy
+msgid "shmctl failed"
+msgstr "az fsync meghiúsult"
+
+#: sys-utils/ipcs.c:595
+#, c-format
+msgid ""
+"\n"
+"Shared memory Segment shmid=%d\n"
+msgstr ""
+"\n"
+"Osztott memóriaszegmens o.m.az =%d\n"
+
+#: sys-utils/ipcs.c:596
+#, c-format
+msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+msgstr "f.az=%d\tcs.az=%d\tl.fh.az=%d\tl.cs.az=%d\n"
+
+#: sys-utils/ipcs.c:598
+#, c-format
+msgid "mode=%#o\taccess_perms=%#o\n"
+msgstr "mód=%#o\thozzáférési_jog=%#o\n"
+
+#: sys-utils/ipcs.c:600
+#, c-format
+msgid "bytes=%ld\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:603
+#, c-format
+msgid "att_time=%-26.24s\n"
+msgstr "csatl_idő=%-26.24s\n"
+
+#: sys-utils/ipcs.c:605
+#, c-format
+msgid "det_time=%-26.24s\n"
+msgstr "lev_idő=%-26.24s\n"
+
+#: sys-utils/ipcs.c:607 sys-utils/ipcs.c:637
+#, c-format
+msgid "change_time=%-26.24s\n"
+msgstr "módosítási_idő=%-26.24s\n"
+
+#: sys-utils/ipcs.c:619
+#, fuzzy
+msgid "msgctl failed"
+msgstr "az fsync meghiúsult"
+
+#: sys-utils/ipcs.c:621
+#, c-format
+msgid ""
+"\n"
+"Message Queue msqid=%d\n"
+msgstr ""
+"\n"
+"Üzenetsor üz.az=%d\n"
+
+#: sys-utils/ipcs.c:622
+#, c-format
+msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\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:624
+#, 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:633
+#, c-format
+msgid "send_time=%-26.24s\n"
+msgstr "küldési_idő=%-26.24s\n"
+
+#: sys-utils/ipcs.c:635
+#, c-format
+msgid "rcv_time=%-26.24s\n"
+msgstr "fogadási_idő=%-26.24s\n"
+
+#: sys-utils/ipcs.c:652 sys-utils/ipcs.c:674
+#, fuzzy
+msgid "semctl failed"
+msgstr "a pozicionálás meghiúsult"
+
+#: sys-utils/ipcs.c:654
+#, c-format
+msgid ""
+"\n"
+"Semaphore Array semid=%d\n"
+msgstr ""
+"\n"
+"Szemafortömb szem.az=%d\n"
+
+#: sys-utils/ipcs.c:655
+#, c-format
+msgid "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+msgstr "f.az=%d\t cs.az=%d\t l.fh.az=%d\t l.cs.az=%d\n"
+
+#: sys-utils/ipcs.c:657
+#, c-format
+msgid "mode=%#o, access_perms=%#o\n"
+msgstr "mód=%#o, hozzáférési_jog=%#o\n"
+
+#: sys-utils/ipcs.c:659
+#, c-format
+msgid "nsems = %ld\n"
+msgstr "szem.szám = %ld\n"
+
+#: sys-utils/ipcs.c:660
+#, c-format
+msgid "otime = %-26.24s\n"
+msgstr "oidő = %-26.24s\n"
+
+#: sys-utils/ipcs.c:662
+#, c-format
+msgid "ctime = %-26.24s\n"
+msgstr "cidő = %-26.24s\n"
+
+#: sys-utils/ipcs.c:665
+msgid "semnum"
+msgstr "szemaforszám"
+
+#: sys-utils/ipcs.c:665
+msgid "value"
+msgstr "érték"
+
+#: sys-utils/ipcs.c:665
+msgid "ncount"
+msgstr "n.szám"
+
+#: sys-utils/ipcs.c:665
+msgid "zcount"
+msgstr "z.szám"
+
+#: sys-utils/ipcs.c:665
+msgid "pid"
+msgstr "f.az"
+
+#: sys-utils/ldattach.c:92
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [ -dhV78neo12 ] [ -s <speed> ] <ldisc> <device>\n"
+msgstr ""
+"\n"
+"Használat: %s [ -dhV78neo12 ] [ -s <sebesség> ] <llemez> <eszköz>\n"
+
+#: sys-utils/ldattach.c:94
+msgid ""
+"\n"
+"Known <ldisc> names:\n"
+msgstr ""
+"\n"
+"Ismert <llemez> nevek:\n"
+
+#: sys-utils/ldattach.c:179
+#, c-format
+msgid "invalid speed: %s"
+msgstr "érvénytelen sebesség: %s"
+
+#: sys-utils/ldattach.c:182
+#, c-format
+msgid "ldattach from %s\n"
+msgstr "ldattach innen: %s\n"
+
+#: sys-utils/ldattach.c:187 text-utils/tailf.c:205
+msgid "invalid option"
+msgstr "érvénytelen kapcsoló"
+
+# fixme: mi ez?
+#: sys-utils/ldattach.c:199
+#, c-format
+msgid "invalid line discipline: %s"
+msgstr "érvénytelen sorelv: %s"
+
+#: sys-utils/ldattach.c:207
+#, c-format
+msgid "%s is not a serial line"
+msgstr "%s nem soros vonal"
+
+#: sys-utils/ldattach.c:213
+#, 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:216
+#, c-format
+msgid "speed %d unsupported"
+msgstr "a sebesség (%d) nem támogatott"
+
+#: sys-utils/ldattach.c:247
+#, 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:254
+msgid "cannot set line discipline"
+msgstr "nem állítható be a sorelv"
+
+#: sys-utils/ldattach.c:260
+msgid "cannot daemonize"
+msgstr "nem démonizálható"
+
+#: sys-utils/lscpu.c:64
+#, fuzzy
+msgid "none"
+msgstr "Nincs"
+
+#: sys-utils/lscpu.c:65
+msgid "para"
+msgstr ""
+
+#: sys-utils/lscpu.c:66
+msgid "full"
+msgstr ""
+
+#: sys-utils/lscpu.c:129 sys-utils/lscpu.c:152 sys-utils/lscpu.c:441
+#, fuzzy, c-format
+msgid "error: %s"
+msgstr "RE hiba: "
+
+#: sys-utils/lscpu.c:154
+#, fuzzy, c-format
+msgid "error parse: %s"
+msgstr "hiba a(z) %s olvasásakor\n"
+
+#: sys-utils/lscpu.c:176
+#, fuzzy
+msgid "error: strdup failed"
+msgstr "a szabványos kimenetre írás meghiúsult"
+
+#: sys-utils/lscpu.c:259
+#, fuzzy
+msgid "error: uname failed"
+msgstr "hiba: az UUID feldolgozás meghiúsult"
+
+#: sys-utils/lscpu.c:491
+#, fuzzy
+msgid "error: malloc failed"
+msgstr "a malloc meghiúsult"
+
+#: sys-utils/lscpu.c:506
+msgid "error: /sys filesystem is not accessable."
+msgstr ""
+
+#: sys-utils/lscpu.c:524
+#, 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"
+"# CPU,Core,Socket,Node"
+msgstr ""
+
+#: sys-utils/lscpu.c:590
+msgid "Thread(s) per core:"
+msgstr ""
+
+#: sys-utils/lscpu.c:591
+msgid "Core(s) per socket:"
+msgstr ""
+
+#: sys-utils/lscpu.c:592
+msgid "CPU socket(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:596
+msgid "NUMA node(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:598
+msgid "Vendor ID:"
+msgstr ""
+
+#: sys-utils/lscpu.c:600
+msgid "CPU family:"
+msgstr ""
+
+#: sys-utils/lscpu.c:602
+msgid "Model:"
+msgstr ""
+
+#: sys-utils/lscpu.c:604
+msgid "Stepping:"
+msgstr ""
+
+#: sys-utils/lscpu.c:606
+msgid "CPU MHz:"
+msgstr ""
+
+#: sys-utils/lscpu.c:609 sys-utils/lscpu.c:611
+#, fuzzy
+msgid "Virtualization:"
+msgstr "Régi helyzet:\n"
+
+#: sys-utils/lscpu.c:614
+msgid "Hypervisor vendor:"
+msgstr ""
+
+#: sys-utils/lscpu.c:615
+msgid "Virtualization type:"
+msgstr ""
+
+#: sys-utils/lscpu.c:623
+#, c-format
+msgid "%s cache:"
+msgstr ""
+
+#: sys-utils/lscpu.c:631
+#, fuzzy, c-format
+msgid "Usage: %s [option]\n"
+msgstr "Használat: %s [kapcsolók] eszköz ...\n"
+
+#: sys-utils/lscpu.c:634
+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 ""
+
+#: sys-utils/lscpu.c:683
+#, fuzzy, c-format
+msgid "error: change working directory to %s."
+msgstr "hiba a(z) %s módjának módosításakor: %s\n"
+
+#: sys-utils/rdev.c:77
+msgid "usage: rdev [ -rv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]"
+msgstr "Használat: rdev [ -rv ] [ -o ELTOLÁS ] [ KÉP [ ÉRTÉK [ ELTOLÁS ] ] ]"
+
+#: sys-utils/rdev.c:78
+msgid ""
+"  rdev /dev/fd0  (or rdev /linux, etc.) displays the current ROOT device"
+msgstr ""
+"  rdev /dev/fd0  (vagy rdev /linux, stb.) megjeleníti az aktuális "
+"gyökéreszközt"
+
+#: sys-utils/rdev.c:79
+msgid "  rdev /dev/fd0 /dev/hda2         sets ROOT to /dev/hda2"
+msgstr ""
+"  rdev /dev/fd0 /dev/hda2         a gyökér beállítása a /dev/hda2 eszközre"
+
+#: sys-utils/rdev.c:80
+msgid "  rdev -R /dev/fd0 1              set the ROOTFLAGS (readonly status)"
+msgstr ""
+"  rdev -R /dev/fd0 1              a ROOTFLAGS beállítása (csak olvasható)"
+
+#: sys-utils/rdev.c:81
+msgid "  rdev -r /dev/fd0 627            set the RAMDISK size"
+msgstr "  rdev -r /dev/fd0 627            a RAMDISK méretének beállítása"
+
+#: sys-utils/rdev.c:82
+msgid "  rdev -v /dev/fd0 1              set the bootup VIDEOMODE"
+msgstr "  rdev -v /dev/fd0 1              a kiinduló VIDEOMODE beállítása"
+
+#: sys-utils/rdev.c:83
+msgid "  rdev -o N ...                   use the byte offset N"
+msgstr "  rdev -o N ...                   N bájtos eltolás használata"
+
+#: sys-utils/rdev.c:84
+msgid "  rootflags ...                   same as rdev -R"
+msgstr "  rootflags ...                   ugyanaz, mint az rdev -R"
+
+#: sys-utils/rdev.c:85
+msgid "  ramsize ...                     same as rdev -r"
+msgstr "  ramsize ...                     ugyanaz, mint az rdev -r"
+
+#: sys-utils/rdev.c:86
+msgid "  vidmode ...                     same as rdev -v"
+msgstr "  vidmode ...                     ugyanaz, mint az rdev -v"
+
+#: sys-utils/rdev.c:87
+msgid ""
+"Note: video modes are: -3=Ask, -2=Extended, -1=NormalVga, 1=key1, 2=key2,..."
+msgstr ""
+"Megjegyzés: a videomódok: -3=rákérdezés, -2=Kibővített, -1 Normális VGA, 1=1."
+"kulcs, 2=2.kulcs, ..."
+
+#: sys-utils/rdev.c:88
+msgid "      use -R 1 to mount root readonly, -R 0 for read/write."
+msgstr ""
+"       a -R 1 használatával a gyökér csak olvasható, a -R 0 használatával "
+"írható-olvasható módban csatolható."
+
+#: sys-utils/rdev.c:245
+msgid "missing comma"
+msgstr "hiányzó vessző"
+
+#: sys-utils/readprofile.c:72
+#, c-format
+msgid "out of memory"
+msgstr "elfogyott a memória"
+
+#: sys-utils/readprofile.c:118
+#, 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: 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"
+
+#: sys-utils/readprofile.c:227
+#, fuzzy, c-format
+msgid "readprofile: error writing %s: %s\n"
+msgstr "mount: hiba a(z) %s írásakor: %s"
+
+#: sys-utils/readprofile.c:268
+#, c-format
+msgid "Assuming reversed byte order. Use -n to force native byte order.\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:284
+#, c-format
+msgid "Sampling_step: %i\n"
+msgstr "Mintavételezési_lépés: %i\n"
+
+#: sys-utils/readprofile.c:305 sys-utils/readprofile.c:331
+#, c-format
+msgid "%s: %s(%i): wrong map line\n"
+msgstr "%s: %s(%i): hibás leképezéssor\n"
+
+#: sys-utils/readprofile.c:318
+#, c-format
+msgid "%s: can't find \"_stext\" in %s\n"
+msgstr "%s: nem található az „_stext” a következőben: %s\n"
+
+#: sys-utils/readprofile.c:352
+#, c-format
+msgid "%s: profile address out of range. Wrong map file?\n"
+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:412
+msgid "total"
+msgstr "összesen"
+
+#: sys-utils/renice.c:53
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" renice [-n] priority [-p|--pid] pid  [... pid]\n"
+" renice [-n] priority  -g|--pgrp pgrp [... pgrp]\n"
+" renice [-n] priority  -u|--user user [... user]\n"
+" renice -h | --help\n"
+" renice -v | --version\n"
+"\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:89
+#, c-format
+msgid "renice from %s\n"
+msgstr "renice erről: %s\n"
+
+#: sys-utils/renice.c:126
+#, c-format
+msgid "renice: %s: unknown user\n"
+msgstr "renice: ismeretlen felhasználó (%s)\n"
+
+#: sys-utils/renice.c:134
+#, c-format
+msgid "renice: %s: bad value\n"
+msgstr "renice: hibás érték (%s)\n"
+
+#: sys-utils/renice.c:152 sys-utils/renice.c:164
+msgid "getpriority"
+msgstr "prioritás lekérése"
+
+#: sys-utils/renice.c:157
+msgid "setpriority"
+msgstr "prioritás beállítása"
+
+#: sys-utils/renice.c:168
+#, c-format
+msgid "%d: old priority %d, new priority %d\n"
+msgstr "%d: régi prioritás: %d, új prioritás: %d\n"
+
+#: sys-utils/rtcwake.c:81
+#, c-format
+msgid ""
+"usage: %s [options]\n"
+"    -d | --device <device>    select rtc device (rtc0|rtc1|...)\n"
+"    -l | --local              RTC uses local timezone\n"
+"    -m | --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"
+"    -V | --version            show version\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:140
+msgid "read rtc time"
+msgstr "rtc idő olvasása"
+
+#: sys-utils/rtcwake.c:145
+msgid "read system time"
+msgstr "rendszeridő olvasása"
+
+#: sys-utils/rtcwake.c:163
+msgid "convert rtc time"
+msgstr "rtc idő átalakítása"
+
+#: sys-utils/rtcwake.c:222
+msgid "set rtc alarm"
+msgstr "rtc riasztás beállítása"
+
+#: sys-utils/rtcwake.c:226
+msgid "enable rtc alarm"
+msgstr "rtc riasztás engedélyezése"
+
+#: sys-utils/rtcwake.c:230
+msgid "set rtc wake alarm"
+msgstr "rtc ébresztési riasztás beállítása"
+
+#: sys-utils/rtcwake.c:342
+#, c-format
+msgid "%s: unrecognized suspend state '%s'\n"
+msgstr "%s: ismeretlen felfüggesztési állapot: „%s”\n"
+
+#: sys-utils/rtcwake.c:351
+#, c-format
+msgid "%s: illegal interval %s seconds\n"
+msgstr "%s: érvénytelen időköz (%s másodperc)\n"
+
+#: sys-utils/rtcwake.c:365
+#, c-format
+msgid "%s: illegal time_t value %s\n"
+msgstr "%s: érvénytelen time_t érték (%s)\n"
+
+#: sys-utils/rtcwake.c:381
+#, c-format
+msgid "%s: version %s\n"
+msgstr "%s: %s verzió\n"
+
+#: sys-utils/rtcwake.c:394
+#, 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:399
+#, c-format
+msgid "Using UTC time.\n"
+msgstr "UTC idő használata.\n"
+
+#: sys-utils/rtcwake.c:400
+#, c-format
+msgid "Using local time.\n"
+msgstr "Helyi idő használata.\n"
+
+#: sys-utils/rtcwake.c:403
+#, c-format
+msgid "%s: must provide wake time\n"
+msgstr "%s: meg kell adnia a felébresztési időt\n"
+
+#: sys-utils/rtcwake.c:413
+msgid "malloc() failed"
+msgstr "a memóriafoglalás sikertelen"
+
+#: sys-utils/rtcwake.c:425
+#, c-format
+msgid "%s: %s not enabled for wakeup events\n"
+msgstr "%s: a(z) %s nem támogatja az ébresztési eseményeket\n"
+
+#: sys-utils/rtcwake.c:441
+#, 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:446
+#, c-format
+msgid "%s: time doesn't go backward to %s\n"
+msgstr "%s: az idő nem megy vissza eddig: %s\n"
+
+#: sys-utils/rtcwake.c:456
+#, c-format
+msgid "%s: wakeup from \"%s\" using %s at %s\n"
+msgstr "%s: ébresztés a(z) „%s” eszközről %s segítségével ekkor: %s\n"
+
+#: sys-utils/rtcwake.c:473
+msgid "rtc read"
+msgstr "rtc olvasás"
+
+#: sys-utils/rtcwake.c:482
+msgid "disable rtc alarm interrupt"
+msgstr "rtc riasztási megszakítás letiltása"
+
+#: sys-utils/setarch.c:50
+#, c-format
+msgid "Switching on %s.\n"
+msgstr "%s bekapcsolása.\n"
+
+#: sys-utils/setarch.c:113
+#, c-format
+msgid ""
+"Usage: %s%s [options] [program [program arguments]]\n"
+"\n"
+"Options:\n"
+msgstr ""
+"Használat: %s%s [kapcsolók] [program [program argumentumai]]\n"
+"\n"
+"Kapcsolók:\n"
+
+#: sys-utils/setarch.c:117
+#, c-format
+msgid ""
+" -h, --help               displays this help text\n"
+" -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"
+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:131
+#, c-format
+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"
+
+#: sys-utils/setarch.c:143
+#, c-format
+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"
+
+#: sys-utils/setarch.c:215 sys-utils/setarch.c:231
+#, c-format
+msgid "%s: Unrecognized architecture"
+msgstr "%s: ismeretlen architektúra"
+
+#: sys-utils/setarch.c:249 sys-utils/setarch.c:256
+msgid "Not enough arguments"
+msgstr "Túl kevés argumentum"
+
+#: sys-utils/setarch.c:265 sys-utils/setarch.c:318
+#, 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:26
+#, c-format
+msgid "usage: %s program [arg ...]\n"
+msgstr "Használat: %s program [argumentum ...]\n"
+
+#: sys-utils/tunelp.c:75
+#, c-format
+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"
+
+#: sys-utils/tunelp.c:91
+msgid "malloc error"
+msgstr "memóriafoglalási hiba"
+
+#: sys-utils/tunelp.c:103
+#, c-format
+msgid "%s: bad value\n"
+msgstr "%s: hibás érték\n"
+
+#: sys-utils/tunelp.c:242
+#, c-format
+msgid "%s: %s not an lp device.\n"
+msgstr "%s: a(z) %s nem egy párhuzamos (lp) eszköz.\n"
+
+#: sys-utils/tunelp.c:263
+#, c-format
+msgid "%s status is %d"
+msgstr "%s állapota: %d"
+
+#: sys-utils/tunelp.c:264
+#, c-format
+msgid ", busy"
+msgstr ", foglalt"
+
+#: sys-utils/tunelp.c:265
+#, c-format
+msgid ", ready"
+msgstr ", kész"
+
+#: sys-utils/tunelp.c:266
+#, c-format
+msgid ", out of paper"
+msgstr ", kifogyott a papír"
+
+#: sys-utils/tunelp.c:267
+#, c-format
+msgid ", on-line"
+msgstr ", elérhető"
+
+#: sys-utils/tunelp.c:268
+#, c-format
+msgid ", error"
+msgstr ", hiba"
+
+#: sys-utils/tunelp.c:285
+msgid "LPGETIRQ error"
+msgstr "LPGETIRQ hiba"
+
+#: sys-utils/tunelp.c:291
+#, c-format
+msgid "%s using IRQ %d\n"
+msgstr "%s a(z) %d. megszakítást használja\n"
+
+#: sys-utils/tunelp.c:293
+#, c-format
+msgid "%s using polling\n"
+msgstr "%s lekérdezést használ\n"
+
+#: text-utils/col.c:154
+#, c-format
+msgid "col: bad -l argument %s.\n"
+msgstr "col: hibás -l kapcsoló: %s.\n"
+
+#: text-utils/col.c:544
+#, c-format
+msgid "usage: col [-bfpx] [-l nline]\n"
+msgstr "Használat: col [-bfpx] [-l sorszám]\n"
+
+#: text-utils/col.c:550
+#, c-format
+msgid "col: write error.\n"
+msgstr "col: írási hiba.\n"
+
+# a %s a következő kettő egyike
+#: text-utils/col.c:557
+#, c-format
+msgid "col: warning: can't back up %s.\n"
+msgstr "col: figyelmeztetés: nem állítható vissza %s.\n"
+
+#: text-utils/col.c:558
+msgid "past first line"
+msgstr "az első sor után"
+
+#: text-utils/col.c:558
+msgid "-- line already flushed"
+msgstr "-- a sor már ki van ürítve"
+
+#: text-utils/colcrt.c:97
+#, c-format
+msgid "usage: %s [ - ] [ -2 ] [ file ... ]\n"
+msgstr "Használat: %s [ - ] [ -2 ] [ fájl ... ]\n"
+
+#: text-utils/column.c:297
+msgid "line too long"
+msgstr "a sor túl hosszú"
+
+#: text-utils/column.c:374
+#, c-format
+msgid "usage: column [-tx] [-c columns] [file ...]\n"
+msgstr "Használat : column [-tx] [-c oszlopok] [fájl ...]\n"
+
+#: text-utils/hexsyntax.c:82
+#, c-format
+msgid "hexdump: bad length value.\n"
+msgstr "hexdump: hibás hosszúságérték.\n"
+
+#: text-utils/hexsyntax.c:93
+#, c-format
+msgid "hexdump: bad skip value.\n"
+msgstr "hexdump: hibás kihagyási érték.\n"
+
+#: text-utils/hexsyntax.c:131
+#, c-format
+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"
+
+#: text-utils/more.c:256
+#, c-format
+msgid "usage: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n"
+msgstr "Használat: %s [-dflpcsu] [+sorszám | +/minta] név1 név2 ...\n"
+
+#: text-utils/more.c:479
+#, c-format
+msgid "%s: unknown option \"-%c\"\n"
+msgstr "%s: ismeretlen kapcsoló: „-%c”\n"
+
+#: text-utils/more.c:511
+#, c-format
+msgid ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+msgstr ""
+"\n"
+"*** %s: könyvtár ***\n"
+"\n"
+
+#: text-utils/more.c:555
+#, 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:658
+#, 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:750
+#, c-format
+msgid "--More--"
+msgstr "--Tovább--"
+
+#: text-utils/more.c:752
+#, c-format
+msgid "(Next file: %s)"
+msgstr "(Következő fájl: %s)"
+
+#: text-utils/more.c:757
+#, 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:1172
+#, c-format
+msgid "...back %d pages"
+msgstr "...vissza %d oldallal"
+
+#: text-utils/more.c:1174
+msgid "...back 1 page"
+msgstr "...vissza 1 oldallal"
+
+#: text-utils/more.c:1217
+msgid "...skipping one line"
+msgstr "... egy sor kihagyása"
+
+#: text-utils/more.c:1219
+#, c-format
+msgid "...skipping %d lines"
+msgstr "... %d sor kihagyása"
+
+#: text-utils/more.c:1256
+msgid ""
+"\n"
+"***Back***\n"
+"\n"
+msgstr ""
+"\n"
+"***Vissza***\n"
+"\n"
+
+#: text-utils/more.c:1294
+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:1301
+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:1370 text-utils/more.c:1375
+#, c-format
+msgid "[Press 'h' for instructions.]"
+msgstr "[Segítségért nyomja meg a „h” billentyűt.]"
+
+#: text-utils/more.c:1409
+#, c-format
+msgid "\"%s\" line %d"
+msgstr "„%s” %d. sor"
+
+#: text-utils/more.c:1411
+#, c-format
+msgid "[Not a file] line %d"
+msgstr "[Nem fájl] %d. sor"
+
+#: text-utils/more.c:1495
+msgid "  Overflow\n"
+msgstr "  Túlcsordulás\n"
+
+#: text-utils/more.c:1542
+msgid "...skipping\n"
+msgstr "  kihagyás\n"
+
+#: text-utils/more.c:1571
+msgid "Regular expression botch"
+msgstr "A reguláris kifejezés hibás"
+
+#: text-utils/more.c:1579
+msgid ""
+"\n"
+"Pattern not found\n"
+msgstr ""
+"\n"
+"A minta nem található\n"
+
+#: text-utils/more.c:1582 text-utils/pg.c:1124 text-utils/pg.c:1275
+msgid "Pattern not found"
+msgstr "A minta nem található"
+
+#: text-utils/more.c:1643
+msgid "can't fork\n"
+msgstr "nem indítható program\n"
+
+#: text-utils/more.c:1682
+msgid ""
+"\n"
+"...Skipping "
+msgstr ""
+"\n"
+"...Ugrás "
+
+#: text-utils/more.c:1686
+msgid "...Skipping to file "
+msgstr "...Ugrás fájlra: "
+
+#: text-utils/more.c:1688
+msgid "...Skipping back to file "
+msgstr "...Ugrás egy fájllal vissza: "
+
+#: text-utils/more.c:1966
+msgid "Line too long"
+msgstr "A sor túl hosszú"
+
+#: text-utils/more.c:2009
+msgid "No previous command to substitute for"
+msgstr "Nincs előző parancs a helyettesítéshez"
+
+#: text-utils/odsyntax.c:130
+#, c-format
+msgid "od: od(1) has been deprecated for hexdump(1).\n"
+msgstr "od: az od(1) elavult, a hexdump(1) használandó.\n"
+
+#: text-utils/odsyntax.c:133
+#, c-format
+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"
+
+#: text-utils/odsyntax.c:134
+msgid "; see strings(1)."
+msgstr "; lásd strings(1)."
+
+#: text-utils/parse.c:63
+#, c-format
+msgid "hexdump: can't read %s.\n"
+msgstr "hexdump: nem olvasható a(z) %s.\n"
+
+#: text-utils/parse.c:68
+#, c-format
+msgid "hexdump: line too long.\n"
+msgstr "hexdump: a sor túl hosszú.\n"
+
+#: text-utils/parse.c:401
+#, c-format
+msgid "hexdump: byte count with multiple conversion characters.\n"
+msgstr "hexdump: bájtszám több átalakítási karakterrel.\n"
+
+#: text-utils/parse.c:483
+#, c-format
+msgid "hexdump: bad byte count for conversion character %s.\n"
+msgstr "hexdump: hibás bájtszám a következő átalakítási karakterhez: %s.\n"
+
+#: text-utils/parse.c:490
+#, c-format
+msgid "hexdump: %%s requires a precision or a byte count.\n"
+msgstr "hexdump: a(z) %%s pontosságot vagy bájtszámot igényel.\n"
+
+#: text-utils/parse.c:496
+#, c-format
+msgid "hexdump: bad format {%s}\n"
+msgstr "hexdump: hibás formátum {%s}\n"
+
+#: text-utils/parse.c:502
+#, c-format
+msgid "hexdump: bad conversion character %%%s.\n"
+msgstr "hexdump: hibás átalakítási karakter: %%%s.\n"
+
+#: text-utils/pg.c:145
+msgid ""
+"All rights reserved.\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"
+msgstr ""
+
+#: text-utils/pg.c:223
+#, fuzzy
+msgid "Out of memory\n"
+msgstr "Nincs elég memória"
+
+#: text-utils/pg.c:236
+#, c-format
+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"
+
+#: text-utils/pg.c:245
+#, c-format
+msgid "%s: option requires an argument -- %s\n"
+msgstr "%s: a kapcsoló argumentumot igényel -- %s\n"
+
+#: text-utils/pg.c:253
+#, c-format
+msgid "%s: illegal option -- %s\n"
+msgstr "%s: érvénytelen kapcsoló -- %s\n"
+
+#: text-utils/pg.c:370
+msgid "...skipping forward\n"
+msgstr "...ugrás előre\n"
+
+#: text-utils/pg.c:372
+msgid "...skipping backward\n"
+msgstr "...ugrás vissza\n"
+
+#: text-utils/pg.c:394
+msgid "No next file"
+msgstr "Nincs következő fájl"
+
+#: text-utils/pg.c:398
+msgid "No previous file"
+msgstr "Nincs előző fájl"
+
+#: text-utils/pg.c:928
+#, 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:934
+#, 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:937
+#, c-format
+msgid "%s: Unknown error in %s file\n"
+msgstr "%s: Ismeretlen hiba a(z) %s fájlban\n"
+
+#: text-utils/pg.c:1032
+#, c-format
+msgid "%s: Cannot create tempfile\n"
+msgstr "%s: Nem hozható létre ideiglenes fájl\n"
+
+#: text-utils/pg.c:1041 text-utils/pg.c:1216 text-utils/pg.c:1243
+msgid "RE error: "
+msgstr "RE hiba: "
+
+#: text-utils/pg.c:1198
+msgid "(EOF)"
+msgstr "(Fájl vége)"
+
+#: text-utils/pg.c:1224 text-utils/pg.c:1251
+msgid "No remembered search string"
+msgstr "Nincs mentett keresési kifejezés"
+
+#: text-utils/pg.c:1307
+msgid "Cannot open "
+msgstr "Nem nyitható meg: "
+
+#: text-utils/pg.c:1355
+msgid "saved"
+msgstr "elmentve"
+
+#: text-utils/pg.c:1462
+msgid ": !command not allowed in rflag mode.\n"
+msgstr ": !parancs nem használható rflag módban.\n"
+
+#: text-utils/pg.c:1494
+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:1702
+msgid "(Next file: "
+msgstr "(Következő fájl: "
+
+#: text-utils/rev.c:113
+msgid "unable to allocate bufferspace"
+msgstr "nem foglalható le pufferterület"
+
+#: text-utils/rev.c:143
+#, c-format
+msgid "usage: rev [file ...]\n"
+msgstr "Használat: rev [fájl ...]\n"
+
+#: text-utils/tailf.c:57 text-utils/tailf.c:92
+#, c-format
+msgid "cannot open \"%s\" for read"
+msgstr "a(z) „%s” nem nyitható meg olvasásra"
+
+#: text-utils/tailf.c:95 text-utils/tailf.c:214
+#, c-format
+msgid "cannot stat \"%s\""
+msgstr "a(z) „%s” nem érhető el"
+
+#: text-utils/tailf.c:108
+#, 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:146
+#, c-format
+msgid "%s: cannot add inotify watch (limit of inotify watches was reached)."
+msgstr ""
+
+#: text-utils/tailf.c:150
+#, c-format
+msgid "%s: cannot add inotify watch."
+msgstr ""
+
+#: text-utils/tailf.c:159
+#, fuzzy, c-format
+msgid "%s: cannot read inotify events"
+msgstr "%s: %s nem nyitható meg\n"
+
+#: text-utils/tailf.c:198 text-utils/tailf.c:202
+msgid "invalid number of lines"
+msgstr "a sorok száma érvénytelen"
+
+#: text-utils/tailf.c:209
+msgid "usage: tailf [-n N | -N] logfile"
+msgstr "Használat: tailf [-n N | -N] naplófájl"
+
+#: text-utils/ul.c:141
+#, c-format
+msgid "usage: %s [ -i ] [ -tTerm ] file...\n"
+msgstr "Használat: %s [ -i ] [ -tTerm ] fájl...\n"
+
+#: text-utils/ul.c:152
+#, c-format
+msgid "trouble reading terminfo"
+msgstr "hiba a terminfo olvasásakor"
+
+#: text-utils/ul.c:242
+#, c-format
+msgid "Unknown escape sequence in input: %o, %o\n"
+msgstr "Ismeretlen escape-sorozat a bemenetben: %o, %o\n"
+
+#: text-utils/ul.c:425
+#, c-format
+msgid "Unable to allocate buffer.\n"
+msgstr "Nem foglalható le puffert.\n"
+
+#: text-utils/ul.c:586
+#, c-format
+msgid "Input line too long.\n"
+msgstr "A bemeneti sor túl hosszú.\n"
+
+#: text-utils/ul.c:599
+#, c-format
+msgid "Out of memory when growing buffer.\n"
+msgstr "Elfogyott a memória a puffer növelésekor.\n"
+
+#~ msgid "# partition table of %s\n"
+#~ msgstr "# %s partíciós táblája\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "unit: sectors\n"
+#~ "\n"
+#~ msgstr "SunOS alt szektorok"
+
+#, fuzzy
+#~ msgid " start=%9lu"
+#~ msgstr "kezdet"
+
+#, fuzzy
+#~ msgid ", size=%9lu"
+#~ msgstr "Max. méret=%ld\n"
+
+#, fuzzy
+#~ msgid ", bootable"
+#~ msgstr "AIX indítható"
+
+#, fuzzy
+#~ msgid "Clock in UTC, not changed.\n"
+#~ msgstr "A parancsértelmező nem változott.\n"
+
+#~ msgid "%s: error: label only with v1 swap area\n"
+#~ msgstr "%s hiba: címke 1-es verziójú lapozóterülettel\n"
+
+#~ msgid "fatal: first page unreadable"
+#~ msgstr "végzetes hiba: az első lap nem olvasható"
+
+#~ 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: A(z) „%s” eszköz egy érvényes Sun lemezcímkét tartalmaz.\n"
+#~ "Ez valószínűleg azt jelenti, hogy egy 0 verziójú lapozóterület "
+#~ "létrehozása\n"
+#~ "megsemmisítheti a partíciós táblát. A lapozóterület nem jött létre.\n"
+#~ "Ha valóban 0 verziójú lapozóterületet akar létrehozni az eszközön, akkor\n"
+#~ "a -f kapcsoló használatával kikényszerítheti ezt.\n"
+
+#~ msgid "namei: unable to get current directory - %s\n"
+#~ msgstr "namei: nem lehet lekérni az aktuális könyvtárat - %s\n"
+
+#~ msgid "namei: unable to chdir to %s - %s (%d)\n"
+#~ msgstr "namei: nem lehet könyvtárat váltani ebbe: %s - %s (%d)\n"
+
+#~ msgid "namei: could not chdir to root!\n"
+#~ msgstr "namei: nem lehet a gyökérkönyvtárba lépni!\n"
+
+#~ msgid "namei: could not stat root!\n"
+#~ msgstr "namei: nem érhető el a gyökérkönyvtár!\n"
+
+#~ msgid "namei: buf overflow\n"
+#~ msgstr "namei: puffertúlcsordulás\n"
+
+#~ msgid " ? could not chdir into %s - %s (%d)\n"
+#~ msgstr " ? nem lehet a következő könyvtárba lépni: %s - %s (%d)\n"
+
+#~ msgid " ? problems reading symlink %s - %s (%d)\n"
+#~ msgstr " ? probléma a szimbolikus link olvasásakor: %s - %s (%d)\n"
+
+#~ msgid "  *** EXCEEDED UNIX LIMIT OF SYMLINKS ***\n"
+#~ msgstr "  ** A SZIMBOLIKUS HIVATKOZÁSOK UNIX HATÁRA ELÉRVE ***\n"
+
+#~ msgid "namei: unknown file type 0%06o on file %s\n"
+#~ msgstr "namei: a következő fájl fájltípusa (0%06o) ismeretlen: %s\n"
+
+#~ msgid "mount: going to mount %s by %s\n"
+#~ msgstr "mount: a(z) %s csatolása a(z) %s szerint\n"
+
+#~ msgid "mount: no LABEL=, no UUID=, going to mount %s by path\n"
+#~ msgstr "mount: nincs LABEL= vagy UUID=, %s csatolása útvonal szerint\n"
+
+#~ msgid "%s: cannot fork: %s\n"
+#~ msgstr "%s: Nem indítható program: %s\n"
+
+#~ msgid "%s: waitpid: %s\n"
+#~ msgstr "%s: waitpid: %s\n"
+
+#~ msgid "%s: cannot stat %s: %s\n"
+#~ msgstr "%s: %s nem érhető el: %s\n"
+
+#~ msgid "could not umount %s - trying %s instead\n"
+#~ msgstr ""
+#~ "a(z) %s nem választható le, ehelyett kísérlet a(z) %s használatára\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"
diff --git a/po/id.gmo b/po/id.gmo
new file mode 100644 (file)
index 0000000..b138323
Binary files /dev/null and b/po/id.gmo differ
diff --git a/po/id.po b/po/id.po
new file mode 100644 (file)
index 0000000..5e81842
--- /dev/null
+++ b/po/id.po
@@ -0,0 +1,12271 @@
+# 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-ng 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.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: util-linux-ng 2.16-rc2\n"
+"Report-Msgid-Bugs-To: Karel Zak <kzak@redhat.com>\n"
+"POT-Creation-Date: 2009-11-30 16:27+0100\n"
+"PO-Revision-Date: 2009-09-08 18:00+0700\n"
+"Last-Translator: Arif E. Nugroho <arif_endro@yahoo.com>\n"
+"Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: disk-utils/blockdev.c:37
+msgid "set read-only"
+msgstr "set hanya-baca"
+
+#: disk-utils/blockdev.c:38
+msgid "set read-write"
+msgstr "set baca-tulis"
+
+#: disk-utils/blockdev.c:39
+msgid "get read-only"
+msgstr "get hanya-baca"
+
+#: disk-utils/blockdev.c:40
+msgid "get sectorsize"
+msgstr "get sectorsize"
+
+#: disk-utils/blockdev.c:41
+msgid "get blocksize"
+msgstr "get blocksize"
+
+#: disk-utils/blockdev.c:42
+msgid "set blocksize"
+msgstr "set blocksize"
+
+#: disk-utils/blockdev.c:43
+msgid "get 32-bit sector count"
+msgstr "get 32-bit sector count"
+
+#: disk-utils/blockdev.c:44
+msgid "get size in bytes"
+msgstr "get size in bytes"
+
+#: disk-utils/blockdev.c:45
+msgid "set readahead"
+msgstr "set readahead"
+
+#: disk-utils/blockdev.c:46
+msgid "get readahead"
+msgstr "get readahead"
+
+#: disk-utils/blockdev.c:47
+msgid "set filesystem readahead"
+msgstr "set filesystem readahead"
+
+#: disk-utils/blockdev.c:48
+msgid "get filesystem readahead"
+msgstr "get filesystem readahead"
+
+#: disk-utils/blockdev.c:49
+msgid "flush buffers"
+msgstr "flush buffers"
+
+#: disk-utils/blockdev.c:51
+msgid "reread partition table"
+msgstr "membaca lagi tabel partisi"
+
+#: disk-utils/blockdev.c:60
+#, c-format
+msgid "Usage:\n"
+msgstr "Penggunaan:\n"
+
+#: disk-utils/blockdev.c:62
+#, c-format
+msgid "  %s --report [devices]\n"
+msgstr "  %s --report [perangkat]\n"
+
+#: disk-utils/blockdev.c:63
+#, c-format
+msgid "  %s [-v|-q] commands devices\n"
+msgstr "  %s [-v|-q] perintah perangkat\n"
+
+#: disk-utils/blockdev.c:66
+#, c-format
+msgid "Available commands:\n"
+msgstr "Perintah yang tersedia:\n"
+
+#: disk-utils/blockdev.c:68
+msgid "get size in 512-byte sectors"
+msgstr "Dapatkan ukuran dalam 512-byte sektor"
+
+#: disk-utils/blockdev.c:201
+#, c-format
+msgid "%s: Unknown command: %s\n"
+msgstr "%s: Perintah tidak diketahui: %s\n"
+
+#: disk-utils/blockdev.c:213 disk-utils/blockdev.c:222
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s membutuhkan sebuah argument\n"
+
+#: disk-utils/blockdev.c:255
+#, c-format
+msgid "%s failed.\n"
+msgstr "%s gagal.\n"
+
+#: disk-utils/blockdev.c:292
+#, c-format
+msgid "%s succeeded.\n"
+msgstr "%s sukses.\n"
+
+#: disk-utils/blockdev.c:310 disk-utils/blockdev.c:338
+#, c-format
+msgid "%s: cannot open %s\n"
+msgstr "%s: tidak dapat membuka %s\n"
+
+#: disk-utils/blockdev.c:355
+#, c-format
+msgid "%s: ioctl error on %s\n"
+msgstr "%s: ioctl error pada %s\n"
+
+#: disk-utils/blockdev.c:364
+#, c-format
+msgid "RO    RA   SSZ   BSZ   StartSec            Size   Device\n"
+msgstr "RO    RA   SSZ   BSZ   AwalSekt            Ukuran Perangkat\n"
+
+#: disk-utils/elvtune.c:48
+#, c-format
+msgid "usage:\n"
+msgstr "penggunaan:\n"
+
+#: disk-utils/elvtune.c:53
+#, 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:104
+#, c-format
+msgid "parse error\n"
+msgstr "error mengambil\n"
+
+#: disk-utils/elvtune.c:110
+#, c-format
+msgid "missing blockdevice, use -h for help\n"
+msgstr "hilang perangkat blok, gunakan -h untuk bantuan\n"
+
+#: disk-utils/elvtune.c:131
+#, 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:31
+#, c-format
+msgid "Formatting ... "
+msgstr "Memformat ..."
+
+#: disk-utils/fdformat.c:49 disk-utils/fdformat.c:86
+#, c-format
+msgid "done\n"
+msgstr "selesai\n"
+
+#: disk-utils/fdformat.c:60
+#, 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:80
+#, c-format
+msgid ""
+"bad data in cyl %d\n"
+"Continuing ... "
+msgstr ""
+"data jelek dalam cyl %d\n"
+"Melanjutkan ..."
+
+#: disk-utils/fdformat.c:96
+#, c-format
+msgid "usage: %s [ -n ] device\n"
+msgstr "penggunaan: %s [ -n ] perangkat\n"
+
+#: disk-utils/fdformat.c:118 disk-utils/fsck.minix.c:1282
+#: disk-utils/isosize.c:181 disk-utils/mkfs.bfs.c:115 disk-utils/mkfs.c:52
+#: disk-utils/mkfs.cramfs.c:813 disk-utils/mkfs.minix.c:571
+#: disk-utils/mkswap.c:461 misc-utils/ddate.c:179 misc-utils/rename.c:79
+#: misc-utils/script.c:147 sys-utils/readprofile.c:197
+#, c-format
+msgid "%s (%s)\n"
+msgstr "%s (%s)\n"
+
+#: disk-utils/fdformat.c:132
+#, c-format
+msgid "%s: not a block device\n"
+msgstr "%s: bukan sebuah block device\n"
+
+#: disk-utils/fdformat.c:142
+msgid "Could not determine current format type"
+msgstr "Tidak dapat menentukan tipe format saat ini"
+
+#: disk-utils/fdformat.c:143
+#, 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:144
+msgid "Double"
+msgstr "Rangkap"
+
+#: disk-utils/fdformat.c:144
+msgid "Single"
+msgstr "Satu"
+
+#: disk-utils/fsck.cramfs.c:118
+#, c-format
+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"
+
+#: disk-utils/fsck.cramfs.c:164
+#, c-format
+msgid "stat failed: %s"
+msgstr "stat gagal: %s"
+
+#: disk-utils/fsck.cramfs.c:168 disk-utils/fsck.cramfs.c:552
+#, c-format
+msgid "open failed: %s"
+msgstr "gagal membuka: %s"
+
+#: disk-utils/fsck.cramfs.c:173
+#, 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:181
+#, c-format
+msgid "not a block device or file: %s"
+msgstr "bukan sebuah perangkat blok atau berkas: %s"
+
+#: disk-utils/fsck.cramfs.c:185 disk-utils/fsck.cramfs.c:227
+msgid "file length too short"
+msgstr "panjang berkas terlalu pendek"
+
+#: disk-utils/fsck.cramfs.c:190 disk-utils/fsck.cramfs.c:198
+#: disk-utils/fsck.cramfs.c:259 disk-utils/fsck.cramfs.c:279
+#, c-format
+msgid "read failed: %s"
+msgstr "gagal membaca: %s"
+
+#: disk-utils/fsck.cramfs.c:208
+msgid "superblock magic not found"
+msgstr "tanda super blok tidak ditemukan"
+
+#: disk-utils/fsck.cramfs.c:217
+msgid "unsupported filesystem features"
+msgstr "Layanan sistem berkas tidak didukung"
+
+#: disk-utils/fsck.cramfs.c:220
+#, c-format
+msgid "superblock size (%d) too small"
+msgstr "ukuran super blok (%d) terlalu kecil"
+
+#: disk-utils/fsck.cramfs.c:224
+msgid "zero file count"
+msgstr "berkas beukuran kosong"
+
+#: disk-utils/fsck.cramfs.c:230
+#, 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:234
+#, c-format
+msgid "warning: old cramfs format\n"
+msgstr "peringatan: format cramfs lama\n"
+
+#: disk-utils/fsck.cramfs.c:247
+msgid "unable to test CRC: old cramfs format"
+msgstr "tidak dapat memeriksa CRC: format cramfs lama"
+
+#: disk-utils/fsck.cramfs.c:273 disk-utils/fsck.cramfs.c:340
+#: disk-utils/fsck.cramfs.c:478 login-utils/chfn.c:529 login-utils/chsh.c:439
+#: sys-utils/cytune.c:321
+msgid "malloc failed"
+msgstr "malloc gagal"
+
+#: disk-utils/fsck.cramfs.c:298
+msgid "crc error"
+msgstr "crc error"
+
+#: disk-utils/fsck.cramfs.c:365
+msgid "root inode is not directory"
+msgstr "akar inode bukan sebuah direktori"
+
+#: disk-utils/fsck.cramfs.c:370
+#, c-format
+msgid "bad root offset (%lu)"
+msgstr "ofset akar buruk (%lu)"
+
+#: disk-utils/fsck.cramfs.c:388
+msgid "data block too large"
+msgstr "data blok terlalu besar"
+
+#: disk-utils/fsck.cramfs.c:392
+#, c-format
+msgid "decompression error %p(%d): %s"
+msgstr "dekompresi error %p(%d): %s"
+
+#: disk-utils/fsck.cramfs.c:416
+#, c-format
+msgid "  hole at %ld (%zd)\n"
+msgstr "  lubang di %ld (%zd)\n"
+
+#: disk-utils/fsck.cramfs.c:424 disk-utils/fsck.cramfs.c:596
+#, 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:430
+#, c-format
+msgid "non-block (%ld) bytes"
+msgstr "Bukan block (%ld) bytes"
+
+#: disk-utils/fsck.cramfs.c:434
+#, c-format
+msgid "non-size (%ld vs %ld) bytes"
+msgstr "bukan ukuran (%ld vs %ld) bytes"
+
+#: disk-utils/fsck.cramfs.c:440
+#, c-format
+msgid "write failed: %s"
+msgstr "gagal menulis: %s"
+
+#: disk-utils/fsck.cramfs.c:453
+#, c-format
+msgid "lchown failed: %s"
+msgstr "lchown gagal: %s"
+
+#: disk-utils/fsck.cramfs.c:459
+#, c-format
+msgid "chown failed: %s"
+msgstr "chown gagal: %s"
+
+#: disk-utils/fsck.cramfs.c:466
+#, c-format
+msgid "utime failed: %s"
+msgstr "utime gagal: %s"
+
+#: disk-utils/fsck.cramfs.c:481
+#, 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:495
+#, c-format
+msgid "mkdir failed: %s"
+msgstr "gagal mkdir: %s"
+
+#: disk-utils/fsck.cramfs.c:512
+msgid "filename length is zero"
+msgstr "panjang nama berkas nol"
+
+#: disk-utils/fsck.cramfs.c:515
+msgid "bad filename length"
+msgstr "panjang nama berkas buruk"
+
+#: disk-utils/fsck.cramfs.c:522
+msgid "bad inode offset"
+msgstr "ofset inode buruk"
+
+#: disk-utils/fsck.cramfs.c:538
+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:541
+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:572
+msgid "symbolic link has zero offset"
+msgstr "link simbolik memiliki ofset nol"
+
+#: disk-utils/fsck.cramfs.c:575
+msgid "symbolic link has zero size"
+msgstr "link simbolik memiliki ukuran nol"
+
+#: disk-utils/fsck.cramfs.c:587
+#, c-format
+msgid "size error in symlink: %s"
+msgstr "kesalahan ukuran dalam symlink %s"
+
+#: disk-utils/fsck.cramfs.c:602
+#, c-format
+msgid "symlink failed: %s"
+msgstr "symlink gagal: %s"
+
+#: disk-utils/fsck.cramfs.c:614
+#, c-format
+msgid "special file has non-zero offset: %s"
+msgstr "berkas spesial memiliki ofset bukan nol: %s"
+
+#: disk-utils/fsck.cramfs.c:626
+#, c-format
+msgid "fifo has non-zero size: %s"
+msgstr "fifo memiliki ukuran bukan nol: %s"
+
+#: disk-utils/fsck.cramfs.c:632
+#, c-format
+msgid "socket has non-zero size: %s"
+msgstr "soket memiliki ukuran bukan nol: %s"
+
+#: disk-utils/fsck.cramfs.c:637
+#, c-format
+msgid "bogus mode: %s (%o)"
+msgstr "mode palsu: %s (%o)"
+
+#: disk-utils/fsck.cramfs.c:647
+#, c-format
+msgid "mknod failed: %s"
+msgstr "mknod gagal: %s"
+
+#: disk-utils/fsck.cramfs.c:683
+#, 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:686
+#, 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:691
+msgid "invalid file data offset"
+msgstr "ofset berkas data tidak valid"
+
+#: disk-utils/fsck.cramfs.c:715
+msgid "failed to allocate outbuffer"
+msgstr "gagal mengalokasikan outbuffer"
+
+#: disk-utils/fsck.cramfs.c:728
+msgid "compiled without -x support"
+msgstr "dikompile tanpa dukungan -x"
+
+#: disk-utils/fsck.minix.c:210
+#, c-format
+msgid "Usage: %s [-larvsmf] /dev/name\n"
+msgstr "Penggunaan: %s [-larvsmf] /dev/name\n"
+
+#: disk-utils/fsck.minix.c:326
+#, c-format
+msgid "%s is mounted.\t "
+msgstr "%s telah di mount.\t "
+
+#: disk-utils/fsck.minix.c:328
+msgid "Do you really want to continue"
+msgstr "Apakah anda benar - benar ingin melanjutkan"
+
+#: disk-utils/fsck.minix.c:332
+#, c-format
+msgid "check aborted.\n"
+msgstr "membatalkan pemeriksaan.\n"
+
+#: disk-utils/fsck.minix.c:351 disk-utils/fsck.minix.c:374
+#, c-format
+msgid "Zone nr < FIRSTZONE in file `%s'."
+msgstr "Zone nr < FIRSTZONE dalam file `%s'."
+
+#: disk-utils/fsck.minix.c:355 disk-utils/fsck.minix.c:378
+#, c-format
+msgid "Zone nr >= ZONES in file `%s'."
+msgstr "Zone nr >= ZONES dalam file `%s'."
+
+#: disk-utils/fsck.minix.c:360 disk-utils/fsck.minix.c:383
+msgid "Remove block"
+msgstr "Hapus block"
+
+#: disk-utils/fsck.minix.c:401
+#, 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:407
+#, 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:422
+#, 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:428 disk-utils/mkfs.minix.c:209
+msgid "seek failed in write_block"
+msgstr "seek gagal dalam write_block"
+
+#: disk-utils/fsck.minix.c:431
+#, 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:547
+msgid "seek failed in write_super_block"
+msgstr "seek failed dalam write_super_block"
+
+#: disk-utils/fsck.minix.c:549 disk-utils/mkfs.minix.c:196
+msgid "unable to write super-block"
+msgstr "tidak dapat menulis super-block"
+
+#: disk-utils/fsck.minix.c:559
+msgid "Unable to write inode map"
+msgstr "Tidak menulis peta inode"
+
+#: disk-utils/fsck.minix.c:561
+msgid "Unable to write zone map"
+msgstr "Tidak dapat menulis peta zone"
+
+#: disk-utils/fsck.minix.c:563
+msgid "Unable to write inodes"
+msgstr "Tidak dapat menulis inodes"
+
+#: disk-utils/fsck.minix.c:590
+msgid "seek failed"
+msgstr "gagal seek"
+
+#: disk-utils/fsck.minix.c:592
+msgid "unable to read super block"
+msgstr "tidak dapat membaca super block"
+
+#: disk-utils/fsck.minix.c:610
+msgid "bad magic number in super-block"
+msgstr "jumlah magic tidak baik dalam super-block"
+
+#: disk-utils/fsck.minix.c:612
+msgid "Only 1k blocks/zones supported"
+msgstr "Hanya 1k block/zones yang dilayani"
+
+#: disk-utils/fsck.minix.c:614
+msgid "bad s_imap_blocks field in super-block"
+msgstr "field s_imap_blocks buruk dalam super-block"
+
+#: disk-utils/fsck.minix.c:616
+msgid "bad s_zmap_blocks field in super-block"
+msgstr "field s_zmap_block buruk dalam super-block"
+
+#: disk-utils/fsck.minix.c:623
+msgid "Unable to allocate buffer for inode map"
+msgstr "Tidak dapat mengalokasikan buffer untuk peta inode"
+
+#: disk-utils/fsck.minix.c:626
+msgid "Unable to allocate buffer for zone map"
+msgstr "Tidak dapat mengalokasikan buffer untuk peta daerah (zone map)"
+
+#: disk-utils/fsck.minix.c:631
+msgid "Unable to allocate buffer for inodes"
+msgstr "Tidak dapat mengalokasikan buffer untuk inodes"
+
+#: disk-utils/fsck.minix.c:634
+msgid "Unable to allocate buffer for inode count"
+msgstr "Tidak dapat mengalokasikan buffer untuk menghitung inode"
+
+#: disk-utils/fsck.minix.c:637
+msgid "Unable to allocate buffer for zone count"
+msgstr "Tidak dapat mengalokasikan buffer untuk menghitung zone"
+
+#: disk-utils/fsck.minix.c:639
+msgid "Unable to read inode map"
+msgstr "Tidak dapat membaca peta inode"
+
+#: disk-utils/fsck.minix.c:641
+msgid "Unable to read zone map"
+msgstr "Tidak dapat membaca peta zone"
+
+#: disk-utils/fsck.minix.c:643
+msgid "Unable to read inodes"
+msgstr "Tidak dapat membaca inodes"
+
+#: disk-utils/fsck.minix.c:645
+#, c-format
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr "Peringatan: Firstzone != Norm_firstzone\n"
+
+#: disk-utils/fsck.minix.c:650 disk-utils/mkfs.minix.c:450
+#, c-format
+msgid "%ld inodes\n"
+msgstr "%ld inodes\n"
+
+#: disk-utils/fsck.minix.c:651 disk-utils/mkfs.minix.c:451
+#, c-format
+msgid "%ld blocks\n"
+msgstr "%ld blocks\n"
+
+#: disk-utils/fsck.minix.c:652 disk-utils/mkfs.minix.c:452
+#, c-format
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr "Firstdatazone=%ld (%ld)\n"
+
+#: disk-utils/fsck.minix.c:653 disk-utils/mkfs.minix.c:453
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr "Zonesize=%d\n"
+
+#: disk-utils/fsck.minix.c:654
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr "Maxsize=%ld\n"
+
+#: disk-utils/fsck.minix.c:655
+#, c-format
+msgid "Filesystem state=%d\n"
+msgstr "Keadaan filesystem=%d\n"
+
+#: disk-utils/fsck.minix.c:656
+#, c-format
+msgid ""
+"namelen=%d\n"
+"\n"
+msgstr ""
+"namelen=%d\n"
+"\n"
+
+#: disk-utils/fsck.minix.c:671 disk-utils/fsck.minix.c:722
+#, 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:675 disk-utils/fsck.minix.c:726
+msgid "Mark in use"
+msgstr "ditandai sedang digunakan"
+
+#: disk-utils/fsck.minix.c:697 disk-utils/fsck.minix.c:746
+#, c-format
+msgid "The file `%s' has mode %05o\n"
+msgstr "File `%s' memiliki mode %05o\n"
+
+#: disk-utils/fsck.minix.c:704 disk-utils/fsck.minix.c:752
+#, c-format
+msgid "Warning: inode count too big.\n"
+msgstr "Peringatan: jumlah inode terlalu besar.\n"
+
+#: disk-utils/fsck.minix.c:764 disk-utils/fsck.minix.c:772
+msgid "root inode isn't a directory"
+msgstr "root inode tidak berupa sebuah direktori"
+
+#: disk-utils/fsck.minix.c:786 disk-utils/fsck.minix.c:819
+#, 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:788 disk-utils/fsck.minix.c:821
+#: disk-utils/fsck.minix.c:1144 disk-utils/fsck.minix.c:1153
+#: disk-utils/fsck.minix.c:1199 disk-utils/fsck.minix.c:1208
+msgid "Clear"
+msgstr "Bersih"
+
+#: disk-utils/fsck.minix.c:798 disk-utils/fsck.minix.c:831
+#, 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:800 disk-utils/fsck.minix.c:833
+msgid "Correct"
+msgstr "Benar"
+
+#: disk-utils/fsck.minix.c:972 disk-utils/fsck.minix.c:1039
+#, 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:975 disk-utils/fsck.minix.c:1042
+msgid " Remove"
+msgstr " Hapus"
+
+#: disk-utils/fsck.minix.c:989 disk-utils/fsck.minix.c:1056
+#, c-format
+msgid "%s: bad directory: '.' isn't first\n"
+msgstr "%s: direktori buruk: '.' bukan yang pertama\n"
+
+#: disk-utils/fsck.minix.c:997 disk-utils/fsck.minix.c:1065
+#, c-format
+msgid "%s: bad directory: '..' isn't second\n"
+msgstr "%s: direktori buruk: '..' tidak kedua\n"
+
+#: disk-utils/fsck.minix.c:1099 disk-utils/fsck.minix.c:1117
+msgid "internal error"
+msgstr "kesalahan internal"
+
+#: disk-utils/fsck.minix.c:1102 disk-utils/fsck.minix.c:1120
+#, c-format
+msgid "%s: bad directory: size < 32"
+msgstr "%s: direktori buruk: ukuran < 32"
+
+#: disk-utils/fsck.minix.c:1133
+msgid "seek failed in bad_zone"
+msgstr "gagal seek dalam bad_zone"
+
+#: disk-utils/fsck.minix.c:1143 disk-utils/fsck.minix.c:1198
+#, c-format
+msgid "Inode %d mode not cleared."
+msgstr "Mode Inode %d tidak dibersihkan."
+
+#: disk-utils/fsck.minix.c:1152 disk-utils/fsck.minix.c:1207
+#, c-format
+msgid "Inode %d not used, marked used in the bitmap."
+msgstr "Inode %d tidak digunakan, ditandai digunakan dalam bitmap."
+
+#: disk-utils/fsck.minix.c:1158 disk-utils/fsck.minix.c:1213
+#, c-format
+msgid "Inode %d used, marked unused in the bitmap."
+msgstr "Inode %d digunakan, ditandai digunakan dalam bitmap."
+
+#: disk-utils/fsck.minix.c:1160 disk-utils/fsck.minix.c:1214
+msgid "Set"
+msgstr "Set"
+
+#: disk-utils/fsck.minix.c:1164 disk-utils/fsck.minix.c:1218
+#, c-format
+msgid "Inode %d (mode = %07o), i_nlinks=%d, counted=%d."
+msgstr "Inode %d (mode = %07o), i_nlinks=%d, terhitung=%d."
+
+#: disk-utils/fsck.minix.c:1166 disk-utils/fsck.minix.c:1220
+msgid "Set i_nlinks to count"
+msgstr "Set i_nlinks ke jumlah"
+
+#: disk-utils/fsck.minix.c:1178 disk-utils/fsck.minix.c:1232
+#, c-format
+msgid "Zone %d: marked in use, no file uses it."
+msgstr ""
+"Zone %d: ditandai sedang digunakan, tidak ada file yang menggunakannya."
+
+#: disk-utils/fsck.minix.c:1179 disk-utils/fsck.minix.c:1234
+msgid "Unmark"
+msgstr "Tidak ditandai"
+
+#: disk-utils/fsck.minix.c:1184 disk-utils/fsck.minix.c:1239
+#, c-format
+msgid "Zone %d: in use, counted=%d\n"
+msgstr "Zone %d: sedang digunakan, terhitung=%d\n"
+
+#: disk-utils/fsck.minix.c:1187 disk-utils/fsck.minix.c:1242
+#, c-format
+msgid "Zone %d: not in use, counted=%d\n"
+msgstr "Zone %d: tidak sedang digunakan, terhitung=%d\n"
+
+#: disk-utils/fsck.minix.c:1287 disk-utils/mkfs.minix.c:576
+#: disk-utils/mkfs.minix.c:578
+msgid "bad inode size"
+msgstr "ukuran inode buruk"
+
+#: disk-utils/fsck.minix.c:1289
+msgid "bad v2 inode size"
+msgstr "ukuran inode v2 buruk"
+
+#: disk-utils/fsck.minix.c:1315
+msgid "need terminal for interactive repairs"
+msgstr "butuh terminal untuk interative repairs"
+
+#: disk-utils/fsck.minix.c:1319
+#, c-format
+msgid "unable to open '%s': %s"
+msgstr "tidak dapat membuka '%s': %s"
+
+#: disk-utils/fsck.minix.c:1334
+#, c-format
+msgid "%s is clean, no check.\n"
+msgstr "%s bersih, tidak perlu dicheck.\n"
+
+#: disk-utils/fsck.minix.c:1338
+#, c-format
+msgid "Forcing filesystem check on %s.\n"
+msgstr "Memaksa pemeriksaan filesystem di %s.\n"
+
+#: disk-utils/fsck.minix.c:1340
+#, 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:1373
+#, c-format
+msgid ""
+"\n"
+"%6ld inodes used (%ld%%)\n"
+msgstr ""
+"\n"
+"%6ld inodes digunakan (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1378
+#, c-format
+msgid "%6ld zones used (%ld%%)\n"
+msgstr "%6ld zones digunakan (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1380
+#, 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:1393
+#, c-format
+msgid ""
+"----------------------------\n"
+"FILE SYSTEM HAS BEEN CHANGED\n"
+"----------------------------\n"
+msgstr ""
+"----------------------------\n"
+"  FILE SYSTEM TELAH BERUBAH \n"
+"----------------------------\n"
+
+#: disk-utils/isosize.c:129
+#, c-format
+msgid "%s: failed to open: %s\n"
+msgstr "%s: gagal untuk membuka: %s\n"
+
+#: disk-utils/isosize.c:135
+#, c-format
+msgid "%s: seek error on %s\n"
+msgstr "%s: seek error di %s\n"
+
+#: disk-utils/isosize.c:141
+#, c-format
+msgid "%s: read error on %s\n"
+msgstr "%s: error membaca di %s\n"
+
+#: disk-utils/isosize.c:150
+#, c-format
+msgid "sector count: %d, sector size: %d\n"
+msgstr "sector terhitung: %d, sector size: %d\n"
+
+#: disk-utils/isosize.c:200
+#, c-format
+msgid "%s: option parse error\n"
+msgstr "%s: option parse error\n"
+
+#: disk-utils/isosize.c:208
+#, c-format
+msgid "Usage: %s [-x] [-d <num>] iso9660-image\n"
+msgstr "Penggunaan: %s [-x] [-d <num>] iso9660-image\n"
+
+#: disk-utils/mkfs.bfs.c:84
+#, c-format
+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"
+
+#: disk-utils/mkfs.bfs.c:131
+msgid "volume name too long"
+msgstr "nama volume terlalu panjang"
+
+#: disk-utils/mkfs.bfs.c:138
+msgid "fsname name too long"
+msgstr "fsname nama terlalu panjang"
+
+#: disk-utils/mkfs.bfs.c:163
+#, c-format
+msgid "cannot stat device %s"
+msgstr "tidak dapat memperoleh statistik perangkat %s"
+
+#: disk-utils/mkfs.bfs.c:167
+#, c-format
+msgid "%s is not a block special device"
+msgstr "%s bukan sebuah perangkat block spesial"
+
+#: disk-utils/mkfs.bfs.c:172 sys-utils/ldattach.c:205
+#, c-format
+msgid "cannot open %s"
+msgstr "tidak dapat membuka %s"
+
+#: disk-utils/mkfs.bfs.c:183
+#, c-format
+msgid "cannot get size of %s"
+msgstr "tidak dapat memperoleh ukuran dari %s"
+
+#: disk-utils/mkfs.bfs.c:188
+#, c-format
+msgid "blocks argument too large, max is %llu"
+msgstr "block argument terlalu besar, maksimal adalah %llu"
+
+#: disk-utils/mkfs.bfs.c:203
+msgid "too many inodes - max is 512"
+msgstr "terlalu banyak inodes - maksimal adalah 512"
+
+#: disk-utils/mkfs.bfs.c:212
+#, 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:224 fdisk/fdisk.c:2345
+#, c-format
+msgid "Device: %s\n"
+msgstr "Perangkat: %s\n"
+
+#: disk-utils/mkfs.bfs.c:225
+#, c-format
+msgid "Volume: <%-6s>\n"
+msgstr "Volume: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:226
+#, c-format
+msgid "FSname: <%-6s>\n"
+msgstr "FSname: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:227
+#, c-format
+msgid "BlockSize: %d\n"
+msgstr "BlockSize: %d\n"
+
+#: disk-utils/mkfs.bfs.c:229
+#, c-format
+msgid "Inodes: %d (in 1 block)\n"
+msgstr "Inodes: %d (dalam 1 block)\n"
+
+#: disk-utils/mkfs.bfs.c:232
+#, c-format
+msgid "Inodes: %d (in %lld blocks)\n"
+msgstr "Inodes: %d (dalam %lld blok)\n"
+
+#: disk-utils/mkfs.bfs.c:234
+#, c-format
+msgid "Blocks: %lld\n"
+msgstr "Blok: %lld\n"
+
+#: disk-utils/mkfs.bfs.c:235
+#, c-format
+msgid "Inode end: %d, Data end: %d\n"
+msgstr "Inode akhir: %d, Data akhir: %d\n"
+
+#: disk-utils/mkfs.bfs.c:240
+msgid "error writing superblock"
+msgstr "error menulis superblok"
+
+#: disk-utils/mkfs.bfs.c:260
+msgid "error writing root inode"
+msgstr "error menulis inode root"
+
+#: disk-utils/mkfs.bfs.c:265
+msgid "error writing inode"
+msgstr "error menulis inode"
+
+#: disk-utils/mkfs.bfs.c:268
+msgid "seek error"
+msgstr "seek error"
+
+#: disk-utils/mkfs.bfs.c:274
+msgid "error writing . entry"
+msgstr "error menulis . entry"
+
+#: disk-utils/mkfs.bfs.c:278
+msgid "error writing .. entry"
+msgstr "error menulis .. entry"
+
+#: disk-utils/mkfs.bfs.c:282
+#, c-format
+msgid "error closing %s"
+msgstr "error menutup %s"
+
+#: disk-utils/mkfs.c:73
+#, c-format
+msgid "Usage: mkfs [-V] [-t fstype] [fs-options] device [size]\n"
+msgstr "Penggunaan: mkfs [-V] [-t fstype] [fs-options] device [size]\n"
+
+#: disk-utils/mkfs.c:88 disk-utils/mkfs.c:96 fdisk/cfdisk.c:351
+#: getopt/getopt.c:86 getopt/getopt.c:96 login-utils/wall.c:246
+#, c-format
+msgid "%s: Out of memory!\n"
+msgstr "%s: Kehabisan memori!\n"
+
+#: disk-utils/mkfs.c:103
+#, c-format
+msgid "mkfs (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: disk-utils/mkfs.cramfs.c:126
+#, 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:340
+#, c-format
+msgid ""
+"Very long (%zu bytes) filename `%s' found.\n"
+" Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile.  Exiting.\n"
+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:472
+#, c-format
+msgid "filesystem too big.  Exiting.\n"
+msgstr "filesystem terlalu besarr. Keluar.\n"
+
+#: disk-utils/mkfs.cramfs.c:637
+#, 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:656
+#, c-format
+msgid "%6.2f%% (%+ld bytes)\t%s\n"
+msgstr "%6.2f%% (%+ld bytes)\t%s\n"
+
+#: disk-utils/mkfs.cramfs.c:854
+#, c-format
+msgid ""
+"warning: guestimate of required size (upper bound) is %lldMB, but maximum "
+"image size is %uMB.  We might die prematurely.\n"
+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:881
+msgid "ROM image map"
+msgstr "peta image ROM"
+
+#: disk-utils/mkfs.cramfs.c:895
+#, c-format
+msgid "Including: %s\n"
+msgstr "Termasuk: %s\n"
+
+#: disk-utils/mkfs.cramfs.c:901
+#, c-format
+msgid "Directory data: %zd bytes\n"
+msgstr "Data direktori: %zd bytes\n"
+
+#: disk-utils/mkfs.cramfs.c:909
+#, c-format
+msgid "Everything: %zd kilobytes\n"
+msgstr "Seluruhnya: %zd kilobytes\n"
+
+#: disk-utils/mkfs.cramfs.c:914
+#, c-format
+msgid "Super block: %zd bytes\n"
+msgstr "Super blok: %zd bytes\n"
+
+#: disk-utils/mkfs.cramfs.c:921
+#, c-format
+msgid "CRC: %x\n"
+msgstr "CRC: %x\n"
+
+#: disk-utils/mkfs.cramfs.c:926
+#, c-format
+msgid "not enough space allocated for ROM image (%lld allocated, %zu used)\n"
+msgstr ""
+"tidak cukup ruang untuk mengalokasikan image ROM (%lld teralokasi, %zu "
+"digunakan)\n"
+
+#: disk-utils/mkfs.cramfs.c:934
+msgid "ROM image"
+msgstr "image ROM"
+
+#: disk-utils/mkfs.cramfs.c:938
+#, c-format
+msgid "ROM image write failed (%zd %zd)\n"
+msgstr "gagal menulis image ROM (%zd %zd)\n"
+
+#: disk-utils/mkfs.cramfs.c:947
+#, c-format
+msgid "warning: filenames truncated to 255 bytes.\n"
+msgstr "peringatan: filenames dikecilkan menjadi 255 bytes.\n"
+
+#: disk-utils/mkfs.cramfs.c:950
+#, c-format
+msgid "warning: files were skipped due to errors.\n"
+msgstr "peringatan: file dilewati karena ada error.\n"
+
+#: disk-utils/mkfs.cramfs.c:953
+#, c-format
+msgid "warning: file sizes truncated to %luMB (minus 1 byte).\n"
+msgstr "peringatan: ukuran file dikecilkan menjadi %luMB (kurang 1 byte).\n"
+
+#: disk-utils/mkfs.cramfs.c:958
+#, c-format
+msgid ""
+"warning: uids truncated to %u bits.  (This may be a security concern.)\n"
+msgstr ""
+"Peringatan: uids dipotong menjadi %u bits. (Ini mungkin merupakan masalah "
+"keamanan.)\n"
+
+#: disk-utils/mkfs.cramfs.c:963
+#, c-format
+msgid ""
+"warning: gids truncated to %u bits.  (This may be a security concern.)\n"
+msgstr ""
+"Peringatan: gids dipotong menjadi %u bits. (Ini mungkin merupakan masalah "
+"keamanan.)\n"
+
+#: disk-utils/mkfs.cramfs.c:968
+#, c-format
+msgid ""
+"WARNING: device numbers truncated to %u bits.  This almost certainly means\n"
+"that some device files will be wrong.\n"
+msgstr ""
+"PERINGATAN: nomor perangkat dipotong menjadi %u bits. Ini mungkin berarti\n"
+"beberapa device files mungkin salah.\n"
+
+#: disk-utils/mkfs.minix.c:156
+#, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]\n"
+msgstr "Penggunaan: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]\n"
+
+#: disk-utils/mkfs.minix.c:180
+#, 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:190
+msgid "seek to boot block failed in write_tables"
+msgstr "seek untuk boot block gagal dalam write_tables"
+
+#: disk-utils/mkfs.minix.c:192
+msgid "unable to clear boot sector"
+msgstr "tidak dapat membersihkan boot sector"
+
+#: disk-utils/mkfs.minix.c:194
+msgid "seek failed in write_tables"
+msgstr "seek gagal dalam write_tables"
+
+#: disk-utils/mkfs.minix.c:198
+msgid "unable to write inode map"
+msgstr "tidak dapat menulis inode map"
+
+#: disk-utils/mkfs.minix.c:200
+msgid "unable to write zone map"
+msgstr "tidak dapat menulis zone map"
+
+#: disk-utils/mkfs.minix.c:202
+msgid "unable to write inodes"
+msgstr "tidak dapat menulis inodes"
+
+#: disk-utils/mkfs.minix.c:211
+msgid "write failed in write_block"
+msgstr "gagal menulis dalam write_block"
+
+#: disk-utils/mkfs.minix.c:219 disk-utils/mkfs.minix.c:293
+#: disk-utils/mkfs.minix.c:342
+msgid "too many bad blocks"
+msgstr "terlalu banyak bad blocks"
+
+#: disk-utils/mkfs.minix.c:227
+msgid "not enough good blocks"
+msgstr "tidak cukup good blocks"
+
+#: disk-utils/mkfs.minix.c:439
+msgid "unable to allocate buffers for maps"
+msgstr "tidak mengalokasikan buffer untuk maps"
+
+#: disk-utils/mkfs.minix.c:448
+msgid "unable to allocate buffer for inodes"
+msgstr "tidak dapat mengalokasikan buffer untuk inodes"
+
+#: disk-utils/mkfs.minix.c:454
+#, c-format
+msgid ""
+"Maxsize=%ld\n"
+"\n"
+msgstr ""
+"Ukuran Maksimal=%ld\n"
+"\n"
+
+#: disk-utils/mkfs.minix.c:468
+msgid "seek failed during testing of blocks"
+msgstr "seek gagal selama pengetesan blocks"
+
+#: disk-utils/mkfs.minix.c:476
+#, 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:507 disk-utils/mkswap.c:313
+msgid "seek failed in check_blocks"
+msgstr "seek gagal dalam check_blocks"
+
+#: disk-utils/mkfs.minix.c:516
+msgid "bad blocks before data-area: cannot make fs"
+msgstr "bad blocks sebelum daerah data: tidak dapat membuak fs"
+
+#: disk-utils/mkfs.minix.c:522 disk-utils/mkfs.minix.c:547
+#, c-format
+msgid "%d bad blocks\n"
+msgstr "%d bad blocks\n"
+
+#: disk-utils/mkfs.minix.c:524 disk-utils/mkfs.minix.c:549
+#, c-format
+msgid "one bad block\n"
+msgstr "satu bad block\n"
+
+#: disk-utils/mkfs.minix.c:534
+msgid "can't open file of bad blocks"
+msgstr "tidak dapat membuka file dari bad blocks"
+
+#: disk-utils/mkfs.minix.c:538
+#, 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:539
+msgid "cannot read badblocks file"
+msgstr "Tidak dapat membaca berkas blok buruk"
+
+#: disk-utils/mkfs.minix.c:619
+#, c-format
+msgid "strtol error: number of blocks not specified"
+msgstr "strtol error: jumlah dari block tidak dispesifikasikan"
+
+#: disk-utils/mkfs.minix.c:638
+#, c-format
+msgid "unable to stat %s"
+msgstr "tidak dapat memperoleh statistik %s"
+
+#: disk-utils/mkfs.minix.c:644
+#, c-format
+msgid "unable to open %s"
+msgstr "tidak dapat membuka %s"
+
+#: disk-utils/mkfs.minix.c:649
+#, c-format
+msgid "cannot determine sector size for %s"
+msgstr "tidak dapat menentukan ukuran sektor dari %s"
+
+#: disk-utils/mkfs.minix.c:651
+#, 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:654
+#, c-format
+msgid "cannot determine size of %s"
+msgstr "tidak dapat menentukan ukuran dari %s"
+
+#: disk-utils/mkfs.minix.c:662
+#, 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:664
+msgid "number of blocks too small"
+msgstr "Jumlah dari blok terlalu kecil"
+
+#: disk-utils/mkswap.c:155
+#, c-format
+msgid "Bad user-specified page size %d\n"
+msgstr "Ukuran page %d yang dispesifikasikan pengguna tidak baik\n"
+
+#: disk-utils/mkswap.c:163
+#, c-format
+msgid "Using user-specified page size %d, instead of the system value %d\n"
+msgstr ""
+"Menggunakan ukuran page %d yang dispesifikasikan pengguna, dari pada "
+"menggunakan ukuran system %d\n"
+
+#: disk-utils/mkswap.c:192
+#, c-format
+msgid "Bad swap header size, no label written.\n"
+msgstr "Ukuran swap header tidak baik, label tidak akan ditulis.\n"
+
+#: disk-utils/mkswap.c:202
+#, c-format
+msgid "Label was truncated.\n"
+msgstr "Label telah dipotong.\n"
+
+#: disk-utils/mkswap.c:208
+#, c-format
+msgid "no label, "
+msgstr "tidak terdapat label, "
+
+#: disk-utils/mkswap.c:216
+#, c-format
+msgid "no uuid\n"
+msgstr "tidak ada uuid\n"
+
+#: disk-utils/mkswap.c:281
+#, c-format
+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"
+
+#: disk-utils/mkswap.c:295
+msgid "too many bad pages"
+msgstr "terlalu banyak pages yang buruk"
+
+#: disk-utils/mkswap.c:308 misc-utils/look.c:182 misc-utils/setterm.c:1183
+#: text-utils/more.c:1982 text-utils/more.c:1993
+msgid "Out of memory"
+msgstr "Kekurangan memory"
+
+#: disk-utils/mkswap.c:319
+#, c-format
+msgid "one bad page\n"
+msgstr "sebuah page buruk\n"
+
+#: disk-utils/mkswap.c:321
+#, c-format
+msgid "%lu bad pages\n"
+msgstr "%lu page buruk\n"
+
+#: disk-utils/mkswap.c:399 disk-utils/mkswap.c:415 disk-utils/mkswap.c:633
+msgid "unable to rewind swap-device"
+msgstr "tidak dapat merewind perangkat swap"
+
+#: disk-utils/mkswap.c:419
+msgid "unable to erase bootbits sectors"
+msgstr "tidak dapat menghapus sektor bootbits"
+
+#: disk-utils/mkswap.c:423
+#, c-format
+msgid "%s: %s: warning: don't erase bootbits sectors\n"
+msgstr "%s: %s: peringatan: jangan hapus sektor bootbits\n"
+
+#: disk-utils/mkswap.c:426
+#, c-format
+msgid "        (%s partition table detected). "
+msgstr "        (%s tabel partisi terdeteksi). "
+
+#: disk-utils/mkswap.c:428
+#, c-format
+msgid "        on whole disk. "
+msgstr "        diseluruh disk. "
+
+#: disk-utils/mkswap.c:498
+#, c-format
+msgid "%1$s: warning: ignore -U (UUIDs are unsupported by %1$s)\n"
+msgstr "%1$s: peringatan: mengabaikan -U (UUIDs tidak didukung oleh %1$s)\n"
+
+#: disk-utils/mkswap.c:514
+#, c-format
+msgid "%s: does not support swapspace version %d.\n"
+msgstr "%s: tidak mendukung versi swapsapce %d.\n"
+
+#: disk-utils/mkswap.c:522
+msgid "error: UUID parsing failed"
+msgstr "error: UUID parsing gagal"
+
+#: disk-utils/mkswap.c:533
+#, c-format
+msgid "%s: error: Nowhere to set up swap on?\n"
+msgstr "%s: error: Tidak ada tempat untuk menset swap?\n"
+
+#: disk-utils/mkswap.c:551
+#, c-format
+msgid "%s: error: size %llu KiB is larger than device size %llu KiB\n"
+msgstr ""
+"%s: error: ukuran %llu KiB lebih besar dari ukuran perangkat %llu KiB\n"
+
+#: disk-utils/mkswap.c:560
+#, c-format
+msgid "%s: error: swap area needs to be at least %ld KiB\n"
+msgstr "%s: error: daerah swap membutuhkan setidaknya %ld kiB\n"
+
+#: disk-utils/mkswap.c:577
+#, c-format
+msgid "%s: warning: truncating swap area to %llu KiB\n"
+msgstr "%s: peringatan: memotong daerah swap menjadi %llu kiB\n"
+
+#: disk-utils/mkswap.c:600
+#, c-format
+msgid "%s: error: will not try to make swapdevice on '%s'\n"
+msgstr "%s: error: Tidak akan mencoba untuk membuat perangkat swap di '%s'\n"
+
+#: disk-utils/mkswap.c:606
+#, c-format
+msgid "%s: error: %s is mounted; will not make swapspace.\n"
+msgstr "%s: error: %s ter-mount; tidak akan membuat swapspace.\n"
+
+#: disk-utils/mkswap.c:622
+msgid "Unable to set up swap-space: unreadable"
+msgstr "Tidak dapat men set-up swap-space: tidak dapat dibaca"
+
+#: disk-utils/mkswap.c:625
+#, 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:636
+#, c-format
+msgid "%s: %s: unable to write signature page: %s"
+msgstr "%s: %s: tidak dapat menulis page signature: %s"
+
+#: disk-utils/mkswap.c:647
+msgid "fsync failed"
+msgstr "fsync gagal"
+
+#: disk-utils/mkswap.c:658
+#, c-format
+msgid "%s: %s: unable to obtain selinux file label: %s\n"
+msgstr "%s: %s: tidak dapat memperoleh selinux file label: %s\n"
+
+#: disk-utils/mkswap.c:664
+msgid "unable to matchpathcon()"
+msgstr "tidak dapat melakukan matchpathcon()"
+
+#: disk-utils/mkswap.c:667
+msgid "unable to create new selinux context"
+msgstr "tidak dapat membuat context selinux baru"
+
+#: disk-utils/mkswap.c:669
+msgid "couldn't compute selinux context"
+msgstr "tidak dapat menentukan context selinux"
+
+#: disk-utils/mkswap.c:675
+#, c-format
+msgid "%s: unable to relabel %s to %s: %s\n"
+msgstr "%s: tidak dapat mengganti nama %s menjadi %s: %s\n"
+
+#: disk-utils/raw.c:50
+#, c-format
+msgid ""
+"Usage:\n"
+"  %s "
+msgstr ""
+"Penggunaan:\n"
+"  %s "
+
+#: disk-utils/raw.c:125
+#, c-format
+msgid ""
+"Device '%s' is control raw dev (use raw<N> where <N> is greater than zero)\n"
+msgstr ""
+"Perangkat '%s' adalah perangkat kontrol raw (gunakan raw<N> dimana <N> lebih "
+"besar dari nol)\n"
+
+#: disk-utils/raw.c:145
+#, c-format
+msgid "Cannot locate block device '%s' (%s)\n"
+msgstr "Tidak dapat melokasikan perangkat blok '%s' (%s)\n"
+
+#: disk-utils/raw.c:151
+#, c-format
+msgid "Device '%s' is not a block dev\n"
+msgstr "Perangkat '%s' bukan sebuah perangkat blok\n"
+
+#: disk-utils/raw.c:186
+#, c-format
+msgid "Cannot open master raw device '"
+msgstr "Tidak dapat membuka perangkat master raw '"
+
+#: disk-utils/raw.c:205
+#, c-format
+msgid "Cannot locate raw device '%s' (%s)\n"
+msgstr "tidak dapat mengalokasikan perangkat raw '%s' (%s)\n"
+
+#: disk-utils/raw.c:211
+#, c-format
+msgid "Raw device '%s' is not a character dev\n"
+msgstr "Perangkat raw '%s' bukan sebuah perangkat karakter\n"
+
+#: disk-utils/raw.c:216
+#, c-format
+msgid "Device '%s' is not a raw dev\n"
+msgstr "Perangkat '%s' bukan sebuah perangkat raw\n"
+
+#: disk-utils/raw.c:231
+#, c-format
+msgid "Error querying raw device (%s)\n"
+msgstr "Error menanyakan perangkat raw (%s)\n"
+
+#: disk-utils/raw.c:241 disk-utils/raw.c:261
+#, c-format
+msgid "raw%d:\tbound to major %d, minor %d\n"
+msgstr "raw%d:\tterikat ke major %d, minor %d\n"
+
+#: disk-utils/raw.c:257
+#, c-format
+msgid "Error setting raw device (%s)\n"
+msgstr "Error mengkonfigurasi perangkat raw (%s)\n"
+
+#: fdisk/cfdisk.c:376 fdisk/cfdisk.c:2080
+msgid "Unusable"
+msgstr "Tidak dapat digunakan"
+
+#: fdisk/cfdisk.c:378 fdisk/cfdisk.c:2082
+msgid "Free Space"
+msgstr "Space kosong"
+
+#: fdisk/cfdisk.c:381
+msgid "Linux ext2"
+msgstr "Linux ext2"
+
+#: fdisk/cfdisk.c:383
+msgid "Linux ext3"
+msgstr "Linux ext3"
+
+#: fdisk/cfdisk.c:385
+msgid "Linux XFS"
+msgstr "Linux FS"
+
+#: fdisk/cfdisk.c:387
+msgid "Linux JFS"
+msgstr "Linux JFS"
+
+#: fdisk/cfdisk.c:389
+msgid "Linux ReiserFS"
+msgstr "Linux ReiserFS"
+
+#: fdisk/cfdisk.c:391 fdisk/i386_sys_types.c:57
+msgid "Linux"
+msgstr "Linux"
+
+#: fdisk/cfdisk.c:394
+msgid "OS/2 HPFS"
+msgstr "OS/2 HPFS"
+
+#: fdisk/cfdisk.c:396
+msgid "OS/2 IFS"
+msgstr "OS/2 IFS"
+
+#: fdisk/cfdisk.c:400
+msgid "NTFS"
+msgstr "NTFS"
+
+#: fdisk/cfdisk.c:411
+#, c-format
+msgid "Disk has been changed.\n"
+msgstr "Disk sudah berubah.\n"
+
+#: fdisk/cfdisk.c:413
+#, 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"
+
+#: fdisk/cfdisk.c:417
+#, 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"
+
+#: fdisk/cfdisk.c:512
+msgid "FATAL ERROR"
+msgstr "FATAL ERROR"
+
+#: fdisk/cfdisk.c:513
+msgid "Press any key to exit cfdisk"
+msgstr "Tekan tombol manapun untuk keluar dari cfdisk"
+
+#: fdisk/cfdisk.c:560 fdisk/cfdisk.c:568
+msgid "Cannot seek on disk drive"
+msgstr "Tidak dapat mencari di disk drive"
+
+#: fdisk/cfdisk.c:562
+msgid "Cannot read disk drive"
+msgstr "Tidak dapat membaca disk drive"
+
+#: fdisk/cfdisk.c:570
+msgid "Cannot write disk drive"
+msgstr "Tidak dapat menulis disk drive"
+
+#: fdisk/cfdisk.c:913
+msgid "Too many partitions"
+msgstr "Terlalu banyak partisi"
+
+#: fdisk/cfdisk.c:918
+msgid "Partition begins before sector 0"
+msgstr "Partisi mulai sebelum sektor 0"
+
+#: fdisk/cfdisk.c:923
+msgid "Partition ends before sector 0"
+msgstr "Partisi berakhir sebelum sektor 0"
+
+#: fdisk/cfdisk.c:928
+msgid "Partition begins after end-of-disk"
+msgstr "Partisi mulai sesudak akhir dari disk"
+
+#: fdisk/cfdisk.c:933
+msgid "Partition ends after end-of-disk"
+msgstr "Partisi berakhir sesudah akhir dari disk"
+
+#: fdisk/cfdisk.c:938
+msgid "Partition ends in the final partial cylinder"
+msgstr "Partisi berakhir di ujung sebagian cylinder"
+
+#: fdisk/cfdisk.c:962
+msgid "logical partitions not in disk order"
+msgstr "partisi logical tidak dalam urutan disk"
+
+#: fdisk/cfdisk.c:965
+msgid "logical partitions overlap"
+msgstr "partisi logical saling beroverlap"
+
+#: fdisk/cfdisk.c:969
+msgid "enlarged logical partitions overlap"
+msgstr "memperbesar partisi logical yang saling beroverlap"
+
+#: fdisk/cfdisk.c:999
+msgid ""
+"!!!! Internal error creating logical drive with no extended partition !!!!"
+msgstr ""
+"!!!! Kesalahan internal membuat drive logical dengan tidak menggunakan "
+"partisi extended !!!!"
+
+#: fdisk/cfdisk.c:1010 fdisk/cfdisk.c:1022
+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"
+
+#: fdisk/cfdisk.c:1164
+msgid "Menu item too long. Menu may look odd."
+msgstr "Menu item terlalu panjang. Menu mungkin kelihatan janggal."
+
+#: fdisk/cfdisk.c:1220
+msgid "Menu without direction. Defaulting to horizontal."
+msgstr "Menu tanpa direksi. Default ke arah horisontal."
+
+#: fdisk/cfdisk.c:1351
+msgid "Illegal key"
+msgstr "Kunci tidak valid"
+
+#: fdisk/cfdisk.c:1374
+msgid "Press a key to continue"
+msgstr "Tekan sebuah tombol untuk melanjutkan"
+
+#: fdisk/cfdisk.c:1421 fdisk/cfdisk.c:2051 fdisk/cfdisk.c:2583
+#: fdisk/cfdisk.c:2585
+msgid "Primary"
+msgstr "Utama"
+
+#: fdisk/cfdisk.c:1421
+msgid "Create a new primary partition"
+msgstr "Buat sebuah partisi primary baru"
+
+#: fdisk/cfdisk.c:1422 fdisk/cfdisk.c:2051 fdisk/cfdisk.c:2582
+#: fdisk/cfdisk.c:2585
+msgid "Logical"
+msgstr "Logical"
+
+#: fdisk/cfdisk.c:1422
+msgid "Create a new logical partition"
+msgstr "Buat sebuah partisi logical baru"
+
+#: fdisk/cfdisk.c:1423 fdisk/cfdisk.c:1478 fdisk/cfdisk.c:2256
+msgid "Cancel"
+msgstr "Batal"
+
+#: fdisk/cfdisk.c:1423 fdisk/cfdisk.c:1478
+msgid "Don't create a partition"
+msgstr "Jangan membuat sebuah partisi"
+
+#: fdisk/cfdisk.c:1439
+msgid "!!! Internal error !!!"
+msgstr "!!! Kesalahan internal !!!"
+
+#: fdisk/cfdisk.c:1442
+msgid "Size (in MB): "
+msgstr "Ukuran (dalam MB): "
+
+#: fdisk/cfdisk.c:1476
+msgid "Beginning"
+msgstr "Diawali"
+
+#: fdisk/cfdisk.c:1476
+msgid "Add partition at beginning of free space"
+msgstr "Tambahkan partisi di awal ruang kosong"
+
+#: fdisk/cfdisk.c:1477
+msgid "End"
+msgstr "Akhir"
+
+#: fdisk/cfdisk.c:1477
+msgid "Add partition at end of free space"
+msgstr "Tambahkan partisi di akhir ruang kosong"
+
+#: fdisk/cfdisk.c:1495
+msgid "No room to create the extended partition"
+msgstr "Tidak ada tempat untuk membuat partisi extended"
+
+#: fdisk/cfdisk.c:1569
+msgid "No partition table.\n"
+msgstr "Tidak ada tabel partisi.\n"
+
+#: fdisk/cfdisk.c:1573
+msgid "No partition table. Starting with zero table."
+msgstr "Tidak ada tabel partisi, Dimulai dengan tabel nol."
+
+#: fdisk/cfdisk.c:1583
+msgid "Bad signature on partition table"
+msgstr "Signature tidak sesuai di tabel partisi"
+
+#: fdisk/cfdisk.c:1587
+msgid "Unknown partition table type"
+msgstr "Tipe tabel partisi tidak diketahui"
+
+#: fdisk/cfdisk.c:1589
+msgid "Do you wish to start with a zero table [y/N] ?"
+msgstr "Apakan anda ingin memulai dengan tabel nol [y/N] ?"
+
+#: fdisk/cfdisk.c:1637
+msgid "You specified more cylinders than fit on disk"
+msgstr "Anda menspesifikasikan cylinder yang lebih besar dari ukuran di disk"
+
+#: fdisk/cfdisk.c:1669
+msgid "Cannot open disk drive"
+msgstr "Tidak dapat membukan disk drive"
+
+#: fdisk/cfdisk.c:1671 fdisk/cfdisk.c:1860
+msgid "Opened disk read-only - you have no permission to write"
+msgstr "Disk terbuka hanya-baca - anda tidak mempunyai ijin untuk menulis"
+
+#: fdisk/cfdisk.c:1682
+msgid ""
+"Warning!!  Unsupported GPT (GUID Partition Table) detected. Use GNU Parted."
+msgstr ""
+"Peringatan!! GPT Tidak didukung (GUID Tabel Partisi) Terdeteksi. Gunakan GNU "
+"Parted."
+
+#: fdisk/cfdisk.c:1701
+msgid "Cannot get disk size"
+msgstr "Tidak dapat memperoleh ukuran disk"
+
+#: fdisk/cfdisk.c:1727
+msgid "Bad primary partition"
+msgstr "Partisi primary tidak baik"
+
+#: fdisk/cfdisk.c:1757
+msgid "Bad logical partition"
+msgstr "Partisi logical tidak baik"
+
+#: fdisk/cfdisk.c:1872
+msgid "Warning!!  This may destroy data on your disk!"
+msgstr "Peringatan!! Ini mungkin akan menghancurkan data di disk anda!"
+
+#: fdisk/cfdisk.c:1876
+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): "
+
+#: fdisk/cfdisk.c:1882
+msgid "no"
+msgstr "tidak"
+
+#: fdisk/cfdisk.c:1884
+msgid "Did not write partition table to disk"
+msgstr "Tidak menulis tabel partisi di disk"
+
+#: fdisk/cfdisk.c:1886
+msgid "yes"
+msgstr "ya"
+
+#: fdisk/cfdisk.c:1890
+msgid "Please enter `yes' or `no'"
+msgstr "Tolong jawab 'ya' atau 'tidak'"
+
+#: fdisk/cfdisk.c:1894
+msgid "Writing partition table to disk..."
+msgstr "Menulis tabel partisi di disk..."
+
+#: fdisk/cfdisk.c:1921 fdisk/cfdisk.c:1925
+msgid "Wrote partition table to disk"
+msgstr "Tabel partisi telah tertulis di disk"
+
+#: fdisk/cfdisk.c:1923
+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."
+
+#: fdisk/cfdisk.c:1933
+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."
+
+#: fdisk/cfdisk.c:1935
+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."
+
+#: fdisk/cfdisk.c:1993 fdisk/cfdisk.c:2112 fdisk/cfdisk.c:2196
+msgid "Enter filename or press RETURN to display on screen: "
+msgstr ""
+"Masukkan nama file atau tekan RETURN untuk menampilkan display di layar: "
+
+#: fdisk/cfdisk.c:2002 fdisk/cfdisk.c:2120 fdisk/cfdisk.c:2204
+#, c-format
+msgid "Cannot open file '%s'"
+msgstr "Tidak dapat membuka file '%s'"
+
+#: fdisk/cfdisk.c:2013
+#, c-format
+msgid "Disk Drive: %s\n"
+msgstr "Disk Drive: %s\n"
+
+#: fdisk/cfdisk.c:2015
+msgid "Sector 0:\n"
+msgstr "Sektor 0:\n"
+
+#: fdisk/cfdisk.c:2022
+#, c-format
+msgid "Sector %d:\n"
+msgstr "Sektor %d:\n"
+
+#: fdisk/cfdisk.c:2042
+msgid "   None   "
+msgstr "   None   "
+
+#: fdisk/cfdisk.c:2044
+msgid "   Pri/Log"
+msgstr "   Pri/Log"
+
+#: fdisk/cfdisk.c:2046
+msgid "   Primary"
+msgstr "   Primary"
+
+#: fdisk/cfdisk.c:2048
+msgid "   Logical"
+msgstr "   Logical"
+
+#: fdisk/cfdisk.c:2086 fdisk/fdisk.c:1534 fdisk/fdisk.c:1855
+#: fdisk/fdisksgilabel.c:240 fdisk/fdisksunlabel.c:621 fdisk/sfdisk.c:653
+msgid "Unknown"
+msgstr "Tidak diketahui"
+
+#: fdisk/cfdisk.c:2092 fdisk/cfdisk.c:2560 fdisk/fdisksunlabel.c:44
+msgid "Boot"
+msgstr "Boot"
+
+#: fdisk/cfdisk.c:2094
+#, c-format
+msgid "(%02X)"
+msgstr "(%02X)"
+
+#: fdisk/cfdisk.c:2096
+msgid "None"
+msgstr "Kosong"
+
+#: fdisk/cfdisk.c:2131 fdisk/cfdisk.c:2215
+#, c-format
+msgid "Partition Table for %s\n"
+msgstr "Tabel partisi untuk %s\n"
+
+#: fdisk/cfdisk.c:2133
+msgid "               First       Last\n"
+msgstr "               Pertama     Akhir\n"
+
+#: fdisk/cfdisk.c:2134
+msgid ""
+" # Type       Sector      Sector   Offset    Length   Filesystem Type (ID) "
+"Flag\n"
+msgstr ""
+" # Tipe       Sektor      Sektor   Offset     Length  Tipe Filesystem (ID) "
+"Tanda\n"
+
+#: fdisk/cfdisk.c:2135
+msgid ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+msgstr ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+
+#: fdisk/cfdisk.c:2218
+msgid "         ---Starting----      ----Ending-----    Start     Number of\n"
+msgstr ""
+"         ----Berawal----      ----Berakhir----   Awal      Nomor dari\n"
+
+#: fdisk/cfdisk.c:2219
+msgid " # Flags Head Sect  Cyl   ID  Head Sect  Cyl     Sector    Sectors\n"
+msgstr " # Tanda Head Sect  Cyl   ID  Head Sect  Cyl     Sector    Sectors\n"
+
+#: fdisk/cfdisk.c:2220
+msgid "-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+msgstr ""
+"-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+
+#: fdisk/cfdisk.c:2253
+msgid "Raw"
+msgstr "Mentah"
+
+#: fdisk/cfdisk.c:2253
+msgid "Print the table using raw data format"
+msgstr "Cetak tabel dengan menggunakan format data mentah"
+
+#: fdisk/cfdisk.c:2254 fdisk/cfdisk.c:2357
+msgid "Sectors"
+msgstr "Sektor"
+
+#: fdisk/cfdisk.c:2254
+msgid "Print the table ordered by sectors"
+msgstr "Cetak tabel diurut berdasarkan sektor"
+
+#: fdisk/cfdisk.c:2255
+msgid "Table"
+msgstr "Tabel"
+
+#: fdisk/cfdisk.c:2255
+msgid "Just print the partition table"
+msgstr "Hanya cetak tabel partisi"
+
+#: fdisk/cfdisk.c:2256
+msgid "Don't print the table"
+msgstr "Jangan mencetak tabel"
+
+#: fdisk/cfdisk.c:2284
+msgid "Help Screen for cfdisk"
+msgstr "Layar bantuan untuk cfdisk"
+
+#: fdisk/cfdisk.c:2286
+msgid "This is cfdisk, a curses based disk partitioning program, which"
+msgstr ""
+"Ini adalah cfdisk, sebuah program untuk mempartisi disk berbasis curses, yang"
+
+#: fdisk/cfdisk.c:2287
+msgid "allows you to create, delete and modify partitions on your hard"
+msgstr ""
+"memungkinkan anda untuk membuat, menghapus, dan memodifikasi partisi di "
+"perangkat"
+
+#: fdisk/cfdisk.c:2288
+msgid "disk drive."
+msgstr "disk drive."
+
+#: fdisk/cfdisk.c:2290
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr "Hak Cipta (C) 1994-1999 Kevin E. Martin & aeb"
+
+#: fdisk/cfdisk.c:2292
+msgid "Command      Meaning"
+msgstr "Perintah     Arti"
+
+#: fdisk/cfdisk.c:2293
+msgid "-------      -------"
+msgstr "-------      -------"
+
+#: fdisk/cfdisk.c:2294
+msgid "  b          Toggle bootable flag of the current partition"
+msgstr "  b          Ubah tanda bootable pada partisi terpilih"
+
+#: fdisk/cfdisk.c:2295
+msgid "  d          Delete the current partition"
+msgstr "  d          Hapus partisi terpilih"
+
+#: fdisk/cfdisk.c:2296
+msgid "  g          Change cylinders, heads, sectors-per-track parameters"
+msgstr "  g          Ubah parameter cylinders, heads, sector-per-tracks"
+
+#: fdisk/cfdisk.c:2297
+msgid "             WARNING: This option should only be used by people who"
+msgstr ""
+"             PERINGATAN: Pilihan ini seharusnya hanya boleh digunakan oleh "
+"orang yang"
+
+#: fdisk/cfdisk.c:2298
+msgid "             know what they are doing."
+msgstr "             tahu apa yang mereka kerjakan."
+
+#: fdisk/cfdisk.c:2299
+msgid "  h          Print this screen"
+msgstr "  h          Cetak layar ini"
+
+#: fdisk/cfdisk.c:2300
+msgid "  m          Maximize disk usage of the current partition"
+msgstr "  m          Maksimalkan penggunaan disk dari partisi terpilih"
+
+#: fdisk/cfdisk.c:2301
+msgid "             Note: This may make the partition incompatible with"
+msgstr ""
+"             Catatan: Ini mungkin akan membuat partisi tidak kompatibel "
+"dengan"
+
+#: fdisk/cfdisk.c:2302
+msgid "             DOS, OS/2, ..."
+msgstr "             DOS, OS/2, ..."
+
+#: fdisk/cfdisk.c:2303
+msgid "  n          Create new partition from free space"
+msgstr "  n          Membuat partisi baru dari ruang yang tersisa/kosong"
+
+#: fdisk/cfdisk.c:2304
+msgid "  p          Print partition table to the screen or to a file"
+msgstr "  p          Cetak tabel partisi di layar atau ke sebuah file"
+
+#: fdisk/cfdisk.c:2305
+msgid "             There are several different formats for the partition"
+msgstr "             Terdapat beberapa format yang berbeda untuk partisi"
+
+#: fdisk/cfdisk.c:2306
+msgid "             that you can choose from:"
+msgstr "             yang dapat anda pilih dari:"
+
+#: fdisk/cfdisk.c:2307
+msgid "                r - Raw data (exactly what would be written to disk)"
+msgstr ""
+"                r - Data mentah (sama seperti yang akan ditulis di disk)"
+
+#: fdisk/cfdisk.c:2308
+msgid "                s - Table ordered by sectors"
+msgstr "                s - Tabel diurut berdasarkan dari sektor"
+
+#: fdisk/cfdisk.c:2309
+msgid "                t - Table in raw format"
+msgstr "                t - Tabel dalam format mentah (raw)"
+
+#: fdisk/cfdisk.c:2310
+msgid "  q          Quit program without writing partition table"
+msgstr "  q          Keluar dari program tanpa menulis tabel partisi"
+
+#: fdisk/cfdisk.c:2311
+msgid "  t          Change the filesystem type"
+msgstr "  t          Ubah tipe filesystem"
+
+#: fdisk/cfdisk.c:2312
+msgid "  u          Change units of the partition size display"
+msgstr "  u          Ubah satuan dari ukuran partisi yang ditampilkan"
+
+#: fdisk/cfdisk.c:2313
+msgid "             Rotates through MB, sectors and cylinders"
+msgstr "             Rotasi melalui MB, sektor, dan cylinders"
+
+#: fdisk/cfdisk.c:2314
+msgid "  W          Write partition table to disk (must enter upper case W)"
+msgstr ""
+"  W          Tulis tabel partisi ke disk (harus mengetikkan huruf besar W)"
+
+#: fdisk/cfdisk.c:2315
+msgid "             Since this might destroy data on the disk, you must"
+msgstr "             Karen ini mungkin menghancurkan data di disk, anda harus"
+
+#: fdisk/cfdisk.c:2316
+msgid "             either confirm or deny the write by entering `yes' or"
+msgstr ""
+"             mengkonfirmasikan atau menolak penulisan dengan mengetikkan "
+"'yes' atau"
+
+#: fdisk/cfdisk.c:2317
+msgid "             `no'"
+msgstr "              `no'"
+
+#: fdisk/cfdisk.c:2318
+msgid "Up Arrow     Move cursor to the previous partition"
+msgstr "Panah Atas   Memindahkan cursor ke partisi sebelumnya"
+
+#: fdisk/cfdisk.c:2319
+msgid "Down Arrow   Move cursor to the next partition"
+msgstr "Panah Bawah  Memindahkan cursor ke partisi sesudahnya"
+
+#: fdisk/cfdisk.c:2320
+msgid "CTRL-L       Redraws the screen"
+msgstr "CTRL-L       Menggambar ulang layar"
+
+#: fdisk/cfdisk.c:2321
+msgid "  ?          Print this screen"
+msgstr "  ?          Mencetak tampilan ini"
+
+#: fdisk/cfdisk.c:2323
+msgid "Note: All of the commands can be entered with either upper or lower"
+msgstr "Catatan: Semua perintah dapat diketikkan dengan menggunakan huruf "
+
+#: fdisk/cfdisk.c:2324
+msgid "case letters (except for Writes)."
+msgstr "besar atau huruf kecil (kecuali untuk penulisan ke disk)"
+
+#: fdisk/cfdisk.c:2355 fdisk/fdisksunlabel.c:237
+msgid "Cylinders"
+msgstr "Cylinders"
+
+#: fdisk/cfdisk.c:2355
+msgid "Change cylinder geometry"
+msgstr "Ubah geometri cylinder"
+
+#: fdisk/cfdisk.c:2356 fdisk/fdisksunlabel.c:235
+msgid "Heads"
+msgstr "Heads"
+
+#: fdisk/cfdisk.c:2356
+msgid "Change head geometry"
+msgstr "Ubah geometri head"
+
+#: fdisk/cfdisk.c:2357
+msgid "Change sector geometry"
+msgstr "Ubah geometri sektor"
+
+#: fdisk/cfdisk.c:2358
+msgid "Done"
+msgstr "Selesai"
+
+#: fdisk/cfdisk.c:2358
+msgid "Done with changing geometry"
+msgstr "Selesai tanpa mengubah geometri"
+
+#: fdisk/cfdisk.c:2371
+msgid "Enter the number of cylinders: "
+msgstr "Masukkan jumlah dari cylinder: "
+
+#: fdisk/cfdisk.c:2382 fdisk/cfdisk.c:2953
+msgid "Illegal cylinders value"
+msgstr "Jumlah cylinders tidak valid"
+
+#: fdisk/cfdisk.c:2388
+msgid "Enter the number of heads: "
+msgstr "Masukkan jumlah heads:"
+
+#: fdisk/cfdisk.c:2395 fdisk/cfdisk.c:2963
+msgid "Illegal heads value"
+msgstr "Jumlah head tidak valid"
+
+#: fdisk/cfdisk.c:2401
+msgid "Enter the number of sectors per track: "
+msgstr "Masukkan jumlah sektor per track: "
+
+#: fdisk/cfdisk.c:2408 fdisk/cfdisk.c:2970
+msgid "Illegal sectors value"
+msgstr "Jumlah sektor tidak valid"
+
+#: fdisk/cfdisk.c:2511
+msgid "Enter filesystem type: "
+msgstr "Masukkan tipe filesystem: "
+
+#: fdisk/cfdisk.c:2529
+msgid "Cannot change FS Type to empty"
+msgstr "Tidak dapat mengubah FS type menjadi kosong"
+
+#: fdisk/cfdisk.c:2531
+msgid "Cannot change FS Type to extended"
+msgstr "Tidak dapat mengubah FS tipe menjadi extended"
+
+#: fdisk/cfdisk.c:2562
+#, c-format
+msgid "Unk(%02X)"
+msgstr "Unk(%20X)"
+
+#: fdisk/cfdisk.c:2565 fdisk/cfdisk.c:2568
+msgid ", NC"
+msgstr ", NC"
+
+#: fdisk/cfdisk.c:2573 fdisk/cfdisk.c:2576
+msgid "NC"
+msgstr "NC"
+
+#: fdisk/cfdisk.c:2584
+msgid "Pri/Log"
+msgstr "Pri/Log"
+
+#: fdisk/cfdisk.c:2591
+#, c-format
+msgid "Unknown (%02X)"
+msgstr "Tidak diketahui (%02X)"
+
+#: fdisk/cfdisk.c:2660
+#, c-format
+msgid "Disk Drive: %s"
+msgstr "Disk Drive: %s"
+
+#: fdisk/cfdisk.c:2667
+#, c-format
+msgid "Size: %lld bytes, %lld MB"
+msgstr "Ukuran: %lld bytes, %lld MB"
+
+#: fdisk/cfdisk.c:2670
+#, c-format
+msgid "Size: %lld bytes, %lld.%lld GB"
+msgstr "Ukuran: %lld bytes, %lld.%lld GB"
+
+#: fdisk/cfdisk.c:2674
+#, c-format
+msgid "Heads: %d   Sectors per Track: %d   Cylinders: %lld"
+msgstr "Heads: %d    Sektor per Track: %d   Cylinders: %lld"
+
+#: fdisk/cfdisk.c:2678 login-utils/chfn.c:377
+msgid "Name"
+msgstr "Nama"
+
+#: fdisk/cfdisk.c:2679
+msgid "Flags"
+msgstr "Tanda"
+
+#: fdisk/cfdisk.c:2680
+msgid "Part Type"
+msgstr "Tipe Partisi"
+
+#: fdisk/cfdisk.c:2681
+msgid "FS Type"
+msgstr "Tipe FS"
+
+#: fdisk/cfdisk.c:2682
+msgid "[Label]"
+msgstr "[Label]"
+
+#: fdisk/cfdisk.c:2684
+msgid "    Sectors"
+msgstr "    Sektor"
+
+#: fdisk/cfdisk.c:2686
+msgid "  Cylinders"
+msgstr "  Cylinders"
+
+#: fdisk/cfdisk.c:2688
+msgid "  Size (MB)"
+msgstr "  Ukuran (MB)"
+
+#: fdisk/cfdisk.c:2690
+msgid "  Size (GB)"
+msgstr "  Ukuran (GB)"
+
+#: fdisk/cfdisk.c:2744
+msgid "Bootable"
+msgstr "Bootable"
+
+#: fdisk/cfdisk.c:2744
+msgid "Toggle bootable flag of the current partition"
+msgstr "Ubah tanda bootable dari partisi terpilih"
+
+#: fdisk/cfdisk.c:2745
+msgid "Delete"
+msgstr "Hapus"
+
+#: fdisk/cfdisk.c:2745
+msgid "Delete the current partition"
+msgstr "Hapus partisi terpilih"
+
+#: fdisk/cfdisk.c:2746
+msgid "Geometry"
+msgstr "Geometri"
+
+#: fdisk/cfdisk.c:2746
+msgid "Change disk geometry (experts only)"
+msgstr "Ubah geometri disk (expert only)"
+
+#: fdisk/cfdisk.c:2747
+msgid "Help"
+msgstr "Bantuan"
+
+#: fdisk/cfdisk.c:2747
+msgid "Print help screen"
+msgstr "Cetak layar bantuan"
+
+#: fdisk/cfdisk.c:2748
+msgid "Maximize"
+msgstr "Maksimalkan"
+
+#: fdisk/cfdisk.c:2748
+msgid "Maximize disk usage of the current partition (experts only)"
+msgstr "Maksimalkan penggunaan disk pada partisi terpilih (expert only)"
+
+#: fdisk/cfdisk.c:2749
+msgid "New"
+msgstr "Baru"
+
+#: fdisk/cfdisk.c:2749
+msgid "Create new partition from free space"
+msgstr "Buat partisi baru dari ruang kosong"
+
+#: fdisk/cfdisk.c:2750
+msgid "Print"
+msgstr "Cetak"
+
+#: fdisk/cfdisk.c:2750
+msgid "Print partition table to the screen or to a file"
+msgstr "Cetak tabel partisi di layar atau ke sebuah file"
+
+#: fdisk/cfdisk.c:2751
+msgid "Quit"
+msgstr "Berhenti"
+
+#: fdisk/cfdisk.c:2751
+msgid "Quit program without writing partition table"
+msgstr "Berhenti dari aplikasi tanpa menulis tabel partisi"
+
+#: fdisk/cfdisk.c:2752
+msgid "Type"
+msgstr "Tipe"
+
+#: fdisk/cfdisk.c:2752
+msgid "Change the filesystem type (DOS, Linux, OS/2 and so on)"
+msgstr "Ubah tipe filesystem (DOS, Linux, OS/2, dan selanjutnya)"
+
+#: fdisk/cfdisk.c:2753
+msgid "Units"
+msgstr "Satuan"
+
+#: fdisk/cfdisk.c:2753
+msgid "Change units of the partition size display (MB, sect, cyl)"
+msgstr "Ubah satuan dari ukuran partisi yang ditampilkan (MB, sect, cyl)"
+
+#: fdisk/cfdisk.c:2754
+msgid "Write"
+msgstr "Tulis"
+
+#: fdisk/cfdisk.c:2754
+msgid "Write partition table to disk (this might destroy data)"
+msgstr "Tulis tabel partisi ke disk (Ini mungkin akan menghancurkan data)"
+
+#: fdisk/cfdisk.c:2800
+msgid "Cannot make this partition bootable"
+msgstr "Tidak dapat membuat partisi ini menjadi bootable"
+
+#: fdisk/cfdisk.c:2810
+msgid "Cannot delete an empty partition"
+msgstr "Tidak dapat menghapus sebuah partisi kosong"
+
+#: fdisk/cfdisk.c:2830 fdisk/cfdisk.c:2832
+msgid "Cannot maximize this partition"
+msgstr "Tidak dapat memaksimalkan partisi ini"
+
+#: fdisk/cfdisk.c:2840
+msgid "This partition is unusable"
+msgstr "Partisi ini tidak dapat digunakan"
+
+#: fdisk/cfdisk.c:2842
+msgid "This partition is already in use"
+msgstr "Partisi ini sudah dipakai"
+
+#: fdisk/cfdisk.c:2859
+msgid "Cannot change the type of an empty partition"
+msgstr "Tidak dapat mengubah tipe dari sebuah partisi kosong"
+
+#: fdisk/cfdisk.c:2886 fdisk/cfdisk.c:2892
+msgid "No more partitions"
+msgstr "Tidak ada partisi lagi"
+
+#: fdisk/cfdisk.c:2899
+msgid "Illegal command"
+msgstr "Perintah tidak valid"
+
+#: fdisk/cfdisk.c:2909
+#, c-format
+msgid "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+msgstr "Hak Cipta (C) 1994-2002 Kevin E. Martin & aeb\n"
+
+#: fdisk/cfdisk.c:2916
+#, 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"
+
+#: fdisk/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)."
+
+#: fdisk/fdiskbsdlabel.c:122
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+"\n"
+"BSD label untuk perangkat: %s\n"
+
+#: fdisk/fdiskbsdlabel.c:129 fdisk/fdisk.c:386 fdisk/fdisk.c:405
+#: fdisk/fdisk.c:423 fdisk/fdisk.c:430 fdisk/fdisk.c:453 fdisk/fdisk.c:471
+#: fdisk/fdisk.c:487 fdisk/fdisk.c:503
+msgid "Command action"
+msgstr "Aksi perintah"
+
+#: fdisk/fdiskbsdlabel.c:130
+msgid "   d   delete a BSD partition"
+msgstr "   d   hapus sebuah partisi BSD"
+
+#: fdisk/fdiskbsdlabel.c:131
+msgid "   e   edit drive data"
+msgstr "   e   edit data drive"
+
+#: fdisk/fdiskbsdlabel.c:132
+msgid "   i   install bootstrap"
+msgstr "   i   install bootstrap"
+
+#: fdisk/fdiskbsdlabel.c:133
+msgid "   l   list known filesystem types"
+msgstr "   l   list tipe filesystem yang diketahui"
+
+#: fdisk/fdiskbsdlabel.c:134 fdisk/fdisk.c:392 fdisk/fdisk.c:411
+#: fdisk/fdisk.c:424 fdisk/fdisk.c:436 fdisk/fdisk.c:461 fdisk/fdisk.c:478
+#: fdisk/fdisk.c:494 fdisk/fdisk.c:512
+msgid "   m   print this menu"
+msgstr "   m   cetak menu ini"
+
+#: fdisk/fdiskbsdlabel.c:135
+msgid "   n   add a new BSD partition"
+msgstr "   n   tambahkan sebuah partisi BSD baru"
+
+#: fdisk/fdiskbsdlabel.c:136
+msgid "   p   print BSD partition table"
+msgstr "   p   cetak tabel partisi BSD"
+
+#: fdisk/fdiskbsdlabel.c:137 fdisk/fdisk.c:396 fdisk/fdisk.c:415
+#: fdisk/fdisk.c:426 fdisk/fdisk.c:440 fdisk/fdisk.c:463 fdisk/fdisk.c:480
+#: fdisk/fdisk.c:496 fdisk/fdisk.c:514
+msgid "   q   quit without saving changes"
+msgstr "   q   keluar tanpa menyimpan perubahan yang telah dilakukan"
+
+#: fdisk/fdiskbsdlabel.c:138 fdisk/fdisk.c:464 fdisk/fdisk.c:481
+#: fdisk/fdisk.c:497 fdisk/fdisk.c:515
+msgid "   r   return to main menu"
+msgstr "   r   kembali ke menu utama"
+
+#: fdisk/fdiskbsdlabel.c:139
+msgid "   s   show complete disklabel"
+msgstr "   s   tampilkan disklabel secara lengkap"
+
+#: fdisk/fdiskbsdlabel.c:140
+msgid "   t   change a partition's filesystem id"
+msgstr "   t   ubah id partisi filesystem"
+
+#: fdisk/fdiskbsdlabel.c:141
+msgid "   u   change units (cylinders/sectors)"
+msgstr "   u   ubah satuan (cylinders/sektor)"
+
+#: fdisk/fdiskbsdlabel.c:142
+msgid "   w   write disklabel to disk"
+msgstr "   w   tulis disklabel di disk"
+
+#: fdisk/fdiskbsdlabel.c:144
+msgid "   x   link BSD partition to non-BSD partition"
+msgstr "   x   sambung BSD partisi ke non-BSD partisi"
+
+#: fdisk/fdiskbsdlabel.c:176
+#, c-format
+msgid "Partition %s has invalid starting sector 0.\n"
+msgstr "Partisi %s mempunyai sektor 0 awal yang tidak valid.\n"
+
+#: fdisk/fdiskbsdlabel.c:180
+#, c-format
+msgid "Reading disklabel of %s at sector %d.\n"
+msgstr "Membaca disklabel dari %s di sektor %d.\n"
+
+#: fdisk/fdiskbsdlabel.c:190
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr "Tidak ada partisi *BSD di %s.\n"
+
+#: fdisk/fdiskbsdlabel.c:204
+msgid "BSD disklabel command (m for help): "
+msgstr "Perintah BSD disklabel (m untuk bantuan): "
+
+#: fdisk/fdiskbsdlabel.c:284 fdisk/fdisk.c:2052 fdisk/fdisksgilabel.c:651
+#: fdisk/fdisksunlabel.c:431
+#, c-format
+msgid "First %s"
+msgstr "Pertama %s"
+
+#: fdisk/fdiskbsdlabel.c:291 fdisk/fdisksunlabel.c:488
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr "Terakhir %s atau +size atau +sizeM atau +sizeK"
+
+#: fdisk/fdiskbsdlabel.c:318
+#, c-format
+msgid "type: %s\n"
+msgstr "tipe: %s\n"
+
+#: fdisk/fdiskbsdlabel.c:320
+#, c-format
+msgid "type: %d\n"
+msgstr "tipe: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:321
+#, c-format
+msgid "disk: %.*s\n"
+msgstr "disk: %.*s\n"
+
+#: fdisk/fdiskbsdlabel.c:322
+#, c-format
+msgid "label: %.*s\n"
+msgstr "label: %.*s\n"
+
+#: fdisk/fdiskbsdlabel.c:323
+#, c-format
+msgid "flags:"
+msgstr "tanda:"
+
+#: fdisk/fdiskbsdlabel.c:325
+#, c-format
+msgid " removable"
+msgstr " removable"
+
+#: fdisk/fdiskbsdlabel.c:327
+#, c-format
+msgid " ecc"
+msgstr " ecc"
+
+#: fdisk/fdiskbsdlabel.c:329
+#, c-format
+msgid " badsect"
+msgstr " badsect"
+
+#: fdisk/fdiskbsdlabel.c:333
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr "bytes/sektor: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:334
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr "sektor/track: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:335
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr "tracks/cylinder: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:336
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr "sektor/cylinder: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:337
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr "cylinders: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:338
+#, c-format
+msgid "rpm: %d\n"
+msgstr "rpm: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:339
+#, c-format
+msgid "interleave: %d\n"
+msgstr "interleave: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:340
+#, c-format
+msgid "trackskew: %d\n"
+msgstr "trackskew: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:341
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr "cylinderskew: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:342
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr "headswitch: %ld\t\t# milliseconds\n"
+
+#: fdisk/fdiskbsdlabel.c:344
+#, c-format
+msgid "track-to-track seek: %ld\t# milliseconds\n"
+msgstr "track-to-track seek: %ld\t# milliseconds\n"
+
+#: fdisk/fdiskbsdlabel.c:346
+#, c-format
+msgid "drivedata: "
+msgstr "drivedata: "
+
+#: fdisk/fdiskbsdlabel.c:355
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+"\n"
+"%d partisi:\n"
+
+#: fdisk/fdiskbsdlabel.c:356
+#, c-format
+msgid "#       start       end      size     fstype   [fsize bsize   cpg]\n"
+msgstr "#       awal        akhir    ukuran   fstype   [fsize bsize   cpg]\n"
+
+#: fdisk/fdiskbsdlabel.c:405 fdisk/fdiskbsdlabel.c:408
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr "Menulis disklabel di %s.\n"
+
+#: fdisk/fdiskbsdlabel.c:420 fdisk/fdiskbsdlabel.c:422
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr "%s tidak terdapat disklabel.\n"
+
+#: fdisk/fdiskbsdlabel.c:427
+msgid "Do you want to create a disklabel? (y/n) "
+msgstr "Anda ingin membuat sebuah disklabel? (y/n) "
+
+#: fdisk/fdiskbsdlabel.c:467
+msgid "bytes/sector"
+msgstr "bytes/sektor"
+
+#: fdisk/fdiskbsdlabel.c:468
+msgid "sectors/track"
+msgstr "sektor/track"
+
+#: fdisk/fdiskbsdlabel.c:469
+msgid "tracks/cylinder"
+msgstr "tracks/cylinder"
+
+#: fdisk/fdiskbsdlabel.c:470 fdisk/fdisk.c:648 fdisk/fdisk.c:1357
+#: fdisk/sfdisk.c:945
+msgid "cylinders"
+msgstr "cylinders"
+
+#: fdisk/fdiskbsdlabel.c:477
+msgid "sectors/cylinder"
+msgstr "sektor/cylinder"
+
+#: fdisk/fdiskbsdlabel.c:481
+#, c-format
+msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
+msgstr "Harus <= sektor/track * tracks/cylinder (default).\n"
+
+#: fdisk/fdiskbsdlabel.c:483
+msgid "rpm"
+msgstr "rpm"
+
+#: fdisk/fdiskbsdlabel.c:484
+msgid "interleave"
+msgstr "interleave"
+
+#: fdisk/fdiskbsdlabel.c:485
+msgid "trackskew"
+msgstr "trackskew"
+
+#: fdisk/fdiskbsdlabel.c:486
+msgid "cylinderskew"
+msgstr "cylinderskew"
+
+#: fdisk/fdiskbsdlabel.c:487
+msgid "headswitch"
+msgstr "headswitch"
+
+#: fdisk/fdiskbsdlabel.c:488
+msgid "track-to-track seek"
+msgstr "track-to-track seek"
+
+#: fdisk/fdiskbsdlabel.c:529
+#, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr "Bootstrap: %sboot -> boot%s (%s): "
+
+#: fdisk/fdiskbsdlabel.c:554
+#, c-format
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr "Bootstrap overlaps dengan disk label!\n"
+
+#: fdisk/fdiskbsdlabel.c:575 fdisk/fdiskbsdlabel.c:577
+#, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr "Bootstrap dipasang di %s.\n"
+
+#: fdisk/fdiskbsdlabel.c:599
+#, c-format
+msgid "Partition (a-%c): "
+msgstr "Partisi (a-%c): "
+
+#: fdisk/fdiskbsdlabel.c:618 fdisk/fdisk.c:2199
+#, c-format
+msgid "The maximum number of partitions has been created\n"
+msgstr "Maksimum jumlah partisi telah dibuat\n"
+
+#: fdisk/fdiskbsdlabel.c:630
+#, c-format
+msgid "This partition already exists.\n"
+msgstr "Partisi ini sudah ada.\n"
+
+#: fdisk/fdiskbsdlabel.c:757
+#, c-format
+msgid "Warning: too many partitions (%d, maximum is %d).\n"
+msgstr "Peringatan: terlalu banyak partisi (%d, maksimum adalah %d).\n"
+
+#: fdisk/fdiskbsdlabel.c:805
+#, c-format
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+"\n"
+"Sinkronisasi disk.\n"
+
+#: fdisk/fdisk.c:244
+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"
+
+#: fdisk/fdisk.c:256
+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"
+
+#: fdisk/fdisk.c:265
+#, c-format
+msgid "Unable to open %s\n"
+msgstr "Tidak dapat membuka %s\n"
+
+#: fdisk/fdisk.c:269
+#, c-format
+msgid "Unable to read %s\n"
+msgstr "Tidak dapat membaca %s\n"
+
+#: fdisk/fdisk.c:273
+#, c-format
+msgid "Unable to seek on %s\n"
+msgstr "Tidak dapat mencari di %s\n"
+
+#: fdisk/fdisk.c:277
+#, c-format
+msgid "Unable to write %s\n"
+msgstr "Tidak dapat menulis %s\n"
+
+#: fdisk/fdisk.c:281
+#, c-format
+msgid "BLKGETSIZE ioctl failed on %s\n"
+msgstr "BLKGETSIZE ioctl gagal di %s\n"
+
+#: fdisk/fdisk.c:285
+msgid "Unable to allocate any more memory\n"
+msgstr "Tidak dapat mengalokasikan memori lagi\n"
+
+#: fdisk/fdisk.c:288
+msgid "Fatal error\n"
+msgstr "Fatal error\n"
+
+#: fdisk/fdisk.c:387
+msgid "   a   toggle a read only flag"
+msgstr "   a   ubah tanda read only"
+
+#: fdisk/fdisk.c:388 fdisk/fdisk.c:432
+msgid "   b   edit bsd disklabel"
+msgstr "   b   edit bsd disklabel"
+
+#: fdisk/fdisk.c:389
+msgid "   c   toggle the mountable flag"
+msgstr "   c   ubah tanda dapat di mount"
+
+#: fdisk/fdisk.c:390 fdisk/fdisk.c:409 fdisk/fdisk.c:434
+msgid "   d   delete a partition"
+msgstr "   d   hapus sebuah partisi"
+
+#: fdisk/fdisk.c:391 fdisk/fdisk.c:410 fdisk/fdisk.c:435
+msgid "   l   list known partition types"
+msgstr "   l   list tipe partisi yang diketahui"
+
+#: fdisk/fdisk.c:393 fdisk/fdisk.c:412 fdisk/fdisk.c:437
+msgid "   n   add a new partition"
+msgstr "   n   tambahkan sebuah partisi baru"
+
+#: fdisk/fdisk.c:394 fdisk/fdisk.c:413 fdisk/fdisk.c:425 fdisk/fdisk.c:438
+msgid "   o   create a new empty DOS partition table"
+msgstr "   o   buat sebuah tabel partisi DOS baru yang kosong"
+
+#: fdisk/fdisk.c:395 fdisk/fdisk.c:414 fdisk/fdisk.c:439 fdisk/fdisk.c:462
+#: fdisk/fdisk.c:479 fdisk/fdisk.c:495 fdisk/fdisk.c:513
+msgid "   p   print the partition table"
+msgstr "   p   cetak tabel partisi"
+
+#: fdisk/fdisk.c:397 fdisk/fdisk.c:416 fdisk/fdisk.c:427 fdisk/fdisk.c:441
+msgid "   s   create a new empty Sun disklabel"
+msgstr "   s   buat sebuah disklabel Sun yang kosong"
+
+#: fdisk/fdisk.c:398 fdisk/fdisk.c:417 fdisk/fdisk.c:442
+msgid "   t   change a partition's system id"
+msgstr "   t   ubah id dari partisi system"
+
+#: fdisk/fdisk.c:399 fdisk/fdisk.c:418 fdisk/fdisk.c:443
+msgid "   u   change display/entry units"
+msgstr "   u   ubah satuan dari tampilan/masukan"
+
+#: fdisk/fdisk.c:400 fdisk/fdisk.c:419 fdisk/fdisk.c:444 fdisk/fdisk.c:466
+#: fdisk/fdisk.c:483 fdisk/fdisk.c:499 fdisk/fdisk.c:517
+msgid "   v   verify the partition table"
+msgstr "   v   verifikasi tabel partisi"
+
+#: fdisk/fdisk.c:401 fdisk/fdisk.c:420 fdisk/fdisk.c:445 fdisk/fdisk.c:467
+#: fdisk/fdisk.c:484 fdisk/fdisk.c:500 fdisk/fdisk.c:518
+msgid "   w   write table to disk and exit"
+msgstr "   w   tulis tabel ke disk dan keluar"
+
+#: fdisk/fdisk.c:402 fdisk/fdisk.c:446
+msgid "   x   extra functionality (experts only)"
+msgstr "   x   fungsi tambahan (expert only)"
+
+#: fdisk/fdisk.c:406
+msgid "   a   select bootable partition"
+msgstr "   a   pilih partisi yang bootable"
+
+#: fdisk/fdisk.c:407
+msgid "   b   edit bootfile entry"
+msgstr "   b   edit masukan bootfile"
+
+#: fdisk/fdisk.c:408
+msgid "   c   select sgi swap partition"
+msgstr "   c   pilih partisi swap sgi"
+
+#: fdisk/fdisk.c:431
+msgid "   a   toggle a bootable flag"
+msgstr "   a   ubah tanda bootable"
+
+#: fdisk/fdisk.c:433
+msgid "   c   toggle the dos compatibility flag"
+msgstr "   c   ubah tanda kompatibilitas dos"
+
+#: fdisk/fdisk.c:454
+msgid "   a   change number of alternate cylinders"
+msgstr "   a   ubah nomor dari alternatif cylinders"
+
+#: fdisk/fdisk.c:455 fdisk/fdisk.c:473 fdisk/fdisk.c:489 fdisk/fdisk.c:505
+msgid "   c   change number of cylinders"
+msgstr "   c   ubah nomor dari cylinders"
+
+#: fdisk/fdisk.c:456 fdisk/fdisk.c:474 fdisk/fdisk.c:490 fdisk/fdisk.c:506
+msgid "   d   print the raw data in the partition table"
+msgstr "   d   cetak data mentah (raw) di tabel partisi"
+
+#: fdisk/fdisk.c:457
+msgid "   e   change number of extra sectors per cylinder"
+msgstr "   e   ubah jumlah sektor lebih dari setiap cylinder"
+
+#: fdisk/fdisk.c:458 fdisk/fdisk.c:477 fdisk/fdisk.c:493 fdisk/fdisk.c:510
+msgid "   h   change number of heads"
+msgstr "   h   ubah jumlah dari heads"
+
+#: fdisk/fdisk.c:459
+msgid "   i   change interleave factor"
+msgstr "   i   ubah faktor interleave"
+
+#: fdisk/fdisk.c:460
+msgid "   o   change rotation speed (rpm)"
+msgstr "   o   ubah kecepatan rotasi (rpm)"
+
+#: fdisk/fdisk.c:465 fdisk/fdisk.c:482 fdisk/fdisk.c:498 fdisk/fdisk.c:516
+msgid "   s   change number of sectors/track"
+msgstr "   s   ubah jumlah sektor/track"
+
+#: fdisk/fdisk.c:468
+msgid "   y   change number of physical cylinders"
+msgstr "   y   ubah jumlah dari physical cylinders"
+
+#: fdisk/fdisk.c:472 fdisk/fdisk.c:488 fdisk/fdisk.c:504
+msgid "   b   move beginning of data in a partition"
+msgstr "   b   pindahkan awal dari data dalam sebuah partisi"
+
+#: fdisk/fdisk.c:475 fdisk/fdisk.c:491 fdisk/fdisk.c:507
+msgid "   e   list extended partitions"
+msgstr "   e   list partisi extended"
+
+#: fdisk/fdisk.c:476 fdisk/fdisk.c:492 fdisk/fdisk.c:509
+msgid "   g   create an IRIX (SGI) partition table"
+msgstr "   g   buat sebuah IRIX (SGI) tabel partisi"
+
+#: fdisk/fdisk.c:508
+msgid "   f   fix partition order"
+msgstr "   f   betulkan urutan dari partisi"
+
+#: fdisk/fdisk.c:511
+msgid "   i   change the disk identifier"
+msgstr "   i   ubah identifikasi disk"
+
+#: fdisk/fdisk.c:627
+#, c-format
+msgid "You must set"
+msgstr "Anda harus menset"
+
+#: fdisk/fdisk.c:644
+msgid "heads"
+msgstr "heads"
+
+#: fdisk/fdisk.c:646 fdisk/fdisk.c:1357 fdisk/sfdisk.c:945
+msgid "sectors"
+msgstr "sektor"
+
+#: fdisk/fdisk.c:652
+#, 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"
+
+#: fdisk/fdisk.c:653
+msgid " and "
+msgstr " dan "
+
+#: fdisk/fdisk.c:670
+#, c-format
+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"
+
+#: fdisk/fdisk.c:683
+#, 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 %d-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"
+
+#: fdisk/fdisk.c:708
+#, c-format
+msgid "Bad offset in primary extended partition\n"
+msgstr "Bad offset dalam partisi extended primary\n"
+
+#: fdisk/fdisk.c:722
+#, 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"
+
+#: fdisk/fdisk.c:741
+#, c-format
+msgid "Warning: extra link pointer in partition table %d\n"
+msgstr "Peringatan: extra pointer link dalam tabel partisi %d\n"
+
+#: fdisk/fdisk.c:749
+#, c-format
+msgid "Warning: ignoring extra data in partition table %d\n"
+msgstr "Peringatan: mengabaikan extra data dalam tabel partisi %d\n"
+
+#: fdisk/fdisk.c:782
+#, c-format
+msgid "omitting empty partition (%d)\n"
+msgstr "mengabaikan partisi kosong (%d)\n"
+
+#: fdisk/fdisk.c:801
+#, c-format
+msgid "Disk identifier: 0x%08x\n"
+msgstr "Identifikasi disk: 0x%08x\n"
+
+#: fdisk/fdisk.c:810
+#, c-format
+msgid "New disk identifier (current 0x%08x): "
+msgstr "Identifikasi disk baru (sekarang 0x%08x): "
+
+#: fdisk/fdisk.c:829
+#, c-format
+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"
+
+#: fdisk/fdisk.c:861
+#, c-format
+msgid "Note: sector size is %d (not %d)\n"
+msgstr "Note: ukuran sector adalah %d (bukan %d)\n"
+
+#: fdisk/fdisk.c:990
+#, c-format
+msgid "You will not be able to write the partition table.\n"
+msgstr "Anda tidak akan dapat menulis ke tabel partisi.\n"
+
+#: fdisk/fdisk.c:1022
+#, c-format
+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"
+
+#: fdisk/fdisk.c:1032
+#, c-format
+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"
+
+#: fdisk/fdisk.c:1049
+#, c-format
+msgid "Internal error\n"
+msgstr "Kesalahan internal\n"
+
+#: fdisk/fdisk.c:1062
+#, c-format
+msgid "Ignoring extra extended partition %d\n"
+msgstr "Mengabaikan extra partisi extended %d\n"
+
+#: fdisk/fdisk.c:1074
+#, 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"
+
+#: fdisk/fdisk.c:1096
+#, c-format
+msgid ""
+"\n"
+"got EOF thrice - exiting..\n"
+msgstr ""
+"\n"
+"memperoleh EOF thrice - keluar..\n"
+
+#: fdisk/fdisk.c:1135
+msgid "Hex code (type L to list codes): "
+msgstr "Kode hex (ketik L untuk daftar dari kode): "
+
+#: fdisk/fdisk.c:1175
+#, c-format
+msgid "%s (%u-%u, default %u): "
+msgstr "%s (%u-%u, default %u): "
+
+#: fdisk/fdisk.c:1242
+#, c-format
+msgid "Unsupported suffix: '%s'.\n"
+msgstr "Akhiran tidak didukung: '%s'.\n"
+
+#: fdisk/fdisk.c:1243
+#, 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"
+
+#: fdisk/fdisk.c:1269
+#, c-format
+msgid "Using default value %u\n"
+msgstr "Menggunakan nilai default %u\n"
+
+#: fdisk/fdisk.c:1273
+#, c-format
+msgid "Value out of range.\n"
+msgstr "Nilai diluar dari jangkauan.\n"
+
+#: fdisk/fdisk.c:1283
+msgid "Partition number"
+msgstr "Nomor partisi"
+
+#: fdisk/fdisk.c:1294
+#, c-format
+msgid "Warning: partition %d has empty type\n"
+msgstr "Peringatan: partisi %d memiliki tipe kosong\n"
+
+#: fdisk/fdisk.c:1316 fdisk/fdisk.c:1342
+#, c-format
+msgid "Selected partition %d\n"
+msgstr "Partisi yang terpilih %d\n"
+
+#: fdisk/fdisk.c:1319
+#, c-format
+msgid "No partition is defined yet!\n"
+msgstr "Tidak ada partisi yang sudah didefinisikan!\n"
+
+#: fdisk/fdisk.c:1345
+#, c-format
+msgid "All primary partitions have been defined already!\n"
+msgstr "Seluruh partisi primary telah didefinisikan!\n"
+
+#: fdisk/fdisk.c:1355
+msgid "cylinder"
+msgstr "cylinder"
+
+#: fdisk/fdisk.c:1355
+msgid "sector"
+msgstr "sektor"
+
+#: fdisk/fdisk.c:1364
+#, c-format
+msgid "Changing display/entry units to %s\n"
+msgstr "Mengubah satuan tampilan/masukan menjadi %s\n"
+
+#: fdisk/fdisk.c:1375
+#, c-format
+msgid "WARNING: Partition %d is an extended partition\n"
+msgstr "PERINGATAN: Partisi %d adalah sebuah partisi extended\n"
+
+#: fdisk/fdisk.c:1386
+#, c-format
+msgid "DOS Compatibility flag is set\n"
+msgstr "Tanda kompatibilitas DOS telah diset\n"
+
+#: fdisk/fdisk.c:1390
+#, c-format
+msgid "DOS Compatibility flag is not set\n"
+msgstr "Tanda kompatibilias DOS belum diset\n"
+
+#: fdisk/fdisk.c:1490
+#, c-format
+msgid "Partition %d does not exist yet!\n"
+msgstr "Partisi %d belum ada!\n"
+
+#: fdisk/fdisk.c:1495
+#, 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"
+
+#: fdisk/fdisk.c:1504
+#, 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"
+
+#: fdisk/fdisk.c:1513
+#, 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"
+
+#: fdisk/fdisk.c:1519
+#, 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"
+
+#: fdisk/fdisk.c:1536
+#, c-format
+msgid "Changed system type of partition %d to %x (%s)\n"
+msgstr "Menguba tipe sistem partisi dari %d menjadi %x (%s)\n"
+
+#: fdisk/fdisk.c:1539
+#, c-format
+msgid "System type of partition %d is unchanged: %x (%s)\n"
+msgstr "Tipe sistem dari parisi %d tidak berubah: %x (%s)\n"
+
+#: fdisk/fdisk.c:1591
+#, 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"
+
+#: fdisk/fdisk.c:1593 fdisk/fdisk.c:1601 fdisk/fdisk.c:1610 fdisk/fdisk.c:1620
+#, c-format
+msgid "     phys=(%d, %d, %d) "
+msgstr "     phys=(%d, %d, %d) "
+
+#: fdisk/fdisk.c:1594 fdisk/fdisk.c:1602
+#, c-format
+msgid "logical=(%d, %d, %d)\n"
+msgstr "logical=(%d, %d, %d)\n"
+
+#: fdisk/fdisk.c:1599
+#, c-format
+msgid "Partition %d has different physical/logical endings:\n"
+msgstr "Partisi %d memiliki physical/logical endings yang berbeda:\n"
+
+#: fdisk/fdisk.c:1608
+#, c-format
+msgid "Partition %i does not start on cylinder boundary:\n"
+msgstr "Partisi %i tidak berawal di batas cylinder:\n"
+
+#: fdisk/fdisk.c:1611
+#, c-format
+msgid "should be (%d, %d, 1)\n"
+msgstr "seharusnya (%d, %d, 1)\n"
+
+#: fdisk/fdisk.c:1617
+#, c-format
+msgid "Partition %i does not end on cylinder boundary.\n"
+msgstr "Partisi %i tidak berakhir di batas cylinder.\n"
+
+#: fdisk/fdisk.c:1621
+#, c-format
+msgid "should be (%d, %d, %d)\n"
+msgstr "seharusnya (%d, %d, %d)\n"
+
+#: fdisk/fdisk.c:1633
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld MB, %lld bytes\n"
+msgstr ""
+"\n"
+"Disk %s: %ld MB, %lld bytes\n"
+
+#: fdisk/fdisk.c:1637
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld.%ld GB, %lld bytes\n"
+msgstr ""
+"\n"
+"Disk %s: %ld.%ld GB, %lld bytes\n"
+
+#: fdisk/fdisk.c:1640
+#, c-format
+msgid "%d heads, %llu sectors/track, %d cylinders"
+msgstr "%d heads, %llu sektor/track, %d cylinders"
+
+#: fdisk/fdisk.c:1643
+#, c-format
+msgid ", total %llu sectors"
+msgstr ", total %llu sektor"
+
+#: fdisk/fdisk.c:1646
+#, c-format
+msgid "Units = %s of %d * %d = %d bytes\n"
+msgstr "Units = %s dari %d * %d = %d bytes\n"
+
+#: fdisk/fdisk.c:1757
+#, c-format
+msgid ""
+"Nothing to do. Ordering is correct already.\n"
+"\n"
+msgstr ""
+"Tidak ada yang dilakukan. Urutan sudah dibetulkan.\n"
+"\n"
+
+#: fdisk/fdisk.c:1785
+#, c-format
+msgid "Done.\n"
+msgstr "Selesai.\n"
+
+#: fdisk/fdisk.c:1813
+#, 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"
+
+#: fdisk/fdisk.c:1826
+#, c-format
+msgid "%*s Boot      Start         End      Blocks   Id  System\n"
+msgstr "%*s Boot      Awal          Akhir    Blocks   Id  System\n"
+
+#: fdisk/fdisk.c:1827 fdisk/fdisksgilabel.c:223 fdisk/fdisksunlabel.c:603
+msgid "Device"
+msgstr "Perangkat"
+
+#: fdisk/fdisk.c:1864
+#, c-format
+msgid ""
+"\n"
+"Partition table entries are not in disk order\n"
+msgstr ""
+"\n"
+"Masukan tabel partisi tidak dalam urutan disk\n"
+
+#: fdisk/fdisk.c:1874
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %d cylinders\n"
+"\n"
+msgstr ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %d cylinders\n"
+"\n"
+
+#: fdisk/fdisk.c:1876
+#, 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"
+
+#: fdisk/fdisk.c:1922
+#, c-format
+msgid "Warning: partition %d contains sector 0\n"
+msgstr "Peringatan: partisi %d berisi sektor 0\n"
+
+#: fdisk/fdisk.c:1925
+#, c-format
+msgid "Partition %d: head %d greater than maximum %d\n"
+msgstr "Partisi %d: head %d lebih besar dari maksimal %d\n"
+
+#: fdisk/fdisk.c:1928
+#, c-format
+msgid "Partition %d: sector %d greater than maximum %llu\n"
+msgstr "Partisi %d: sektor %d lebih besar dari maksimal %llu\n"
+
+#: fdisk/fdisk.c:1931
+#, c-format
+msgid "Partitions %d: cylinder %d greater than maximum %d\n"
+msgstr "Partisi %d: cylinder %d lebih besar dari maksimal %d\n"
+
+#: fdisk/fdisk.c:1935
+#, 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"
+
+#: fdisk/fdisk.c:1968
+#, c-format
+msgid "Warning: bad start-of-data in partition %d\n"
+msgstr "Peringatan: awal dari data tidak baik dalam partisi %d\n"
+
+#: fdisk/fdisk.c:1976
+#, c-format
+msgid "Warning: partition %d overlaps partition %d.\n"
+msgstr "Peringatan: partisi %d overlaps partisi %d.\n"
+
+#: fdisk/fdisk.c:1996
+#, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr "Peringatan: partisi %d kosong\n"
+
+#: fdisk/fdisk.c:2001
+#, c-format
+msgid "Logical partition %d not entirely in partition %d\n"
+msgstr "Partisi logical %d tidak seluruhnya berada di partisi %d\n"
+
+#: fdisk/fdisk.c:2007
+#, 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"
+
+#: fdisk/fdisk.c:2010
+#, c-format
+msgid "%lld unallocated %d-byte sectors\n"
+msgstr "%lld sektor tidak dialokasikan %d-byte sektor\n"
+
+#: fdisk/fdisk.c:2025 fdisk/fdisksgilabel.c:633 fdisk/fdisksunlabel.c:416
+#, 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"
+
+#: fdisk/fdisk.c:2067
+#, c-format
+msgid "Sector %llu is already allocated\n"
+msgstr "Sektor %llu sudah dialokasikan\n"
+
+#: fdisk/fdisk.c:2103
+#, c-format
+msgid "No free sectors available\n"
+msgstr "Tidak ada sektor yang kosong\n"
+
+#: fdisk/fdisk.c:2112
+#, c-format
+msgid "Last %1$s, +%2$s or +size{K,M,G}"
+msgstr "Terakhir %1$s, +%2$s atau +size{K,M,G}"
+
+#: fdisk/fdisk.c:2178
+#, 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"
+
+#: fdisk/fdisk.c:2187
+#, 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"
+
+#: fdisk/fdisk.c:2207
+#, c-format
+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"
+
+#: fdisk/fdisk.c:2210
+#, c-format
+msgid "All logical partitions are in use\n"
+msgstr "Seluruh partisi logical sedang digunakan\n"
+
+#: fdisk/fdisk.c:2211
+#, c-format
+msgid "Adding a primary partition\n"
+msgstr "Menambahkan sebuah partisi primary\n"
+
+#: fdisk/fdisk.c:2216
+#, c-format
+msgid ""
+"Command action\n"
+"   %s\n"
+"   p   primary partition (1-4)\n"
+msgstr ""
+"Aksi perintah\n"
+"   %s\n"
+"   p   partisi primary (1-4)\n"
+
+#: fdisk/fdisk.c:2218
+msgid "l   logical (5 or over)"
+msgstr "l   logical (5 atau lebih)"
+
+#: fdisk/fdisk.c:2218
+msgid "e   extended"
+msgstr "e   extended"
+
+#: fdisk/fdisk.c:2237
+#, c-format
+msgid "Invalid partition number for type `%c'\n"
+msgstr "Nomor partisi tidak valid untuk tipe `%c'\n"
+
+#: fdisk/fdisk.c:2273
+#, c-format
+msgid ""
+"The partition table has been altered!\n"
+"\n"
+msgstr ""
+"Tabel partisi telah diubah!\n"
+"\n"
+
+#: fdisk/fdisk.c:2287
+#, c-format
+msgid "Calling ioctl() to re-read partition table.\n"
+msgstr "Memanggil ioctl() untuk membaca kembali tabel partisi.\n"
+
+#: fdisk/fdisk.c:2296
+#, c-format
+msgid ""
+"\n"
+"WARNING: Re-reading the partition table failed with error %d: %s.\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"
+
+#: fdisk/fdisk.c:2304
+#, 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"
+
+#: fdisk/fdisk.c:2310
+#, c-format
+msgid ""
+"\n"
+"Error closing file\n"
+msgstr ""
+"\n"
+"Error dalam menutup file\n"
+
+#: fdisk/fdisk.c:2314
+#, c-format
+msgid "Syncing disks.\n"
+msgstr "Sinkronisasi disks.\n"
+
+#: fdisk/fdisk.c:2361
+#, c-format
+msgid "Partition %d has no data area\n"
+msgstr "Partisi %d tidak memiliki area data\n"
+
+#: fdisk/fdisk.c:2366
+msgid "New beginning of data"
+msgstr "Awal baru dari data"
+
+#: fdisk/fdisk.c:2382
+msgid "Expert command (m for help): "
+msgstr "Perintah expert (m untuk bantuan): "
+
+#: fdisk/fdisk.c:2395
+msgid "Number of cylinders"
+msgstr "Jumlah dari cylinders"
+
+#: fdisk/fdisk.c:2422
+msgid "Number of heads"
+msgstr "Jumlah dari heads"
+
+#: fdisk/fdisk.c:2449
+msgid "Number of sectors"
+msgstr "Jumlah dari sektor"
+
+#: fdisk/fdisk.c:2452
+#, c-format
+msgid "Warning: setting sector offset for DOS compatiblity\n"
+msgstr "Peringatan: setting sektor offset untuk DOS kompatibilitas\n"
+
+#: fdisk/fdisk.c:2511
+#, 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"
+
+#: fdisk/fdisk.c:2533
+#, c-format
+msgid "Disk %s doesn't contain a valid partition table\n"
+msgstr "Disk %s tidak memiliki sebuah tabel partisi yang valid\n"
+
+#: fdisk/fdisk.c:2544
+#, c-format
+msgid "Cannot open %s\n"
+msgstr "Tidak dapat membuka %s\n"
+
+#: fdisk/fdisk.c:2563 fdisk/sfdisk.c:2618
+#, c-format
+msgid "cannot open %s\n"
+msgstr "tidak dapat membuka %s\n"
+
+#: fdisk/fdisk.c:2583
+#, c-format
+msgid "%c: unknown command\n"
+msgstr "%c: perintah tidak diketahui\n"
+
+#: fdisk/fdisk.c:2653
+#, c-format
+msgid "This kernel finds the sector size itself - -b option ignored\n"
+msgstr "Kernel ini mencari ukuran sektornya sendiri - pilihan -b diabaikan\n"
+
+#: fdisk/fdisk.c:2657
+#, 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"
+
+#: fdisk/fdisk.c:2717
+#, 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"
+
+#: fdisk/fdisk.c:2727
+msgid "Command (m for help): "
+msgstr "Perintah (m untuk bantuan): "
+
+#: fdisk/fdisk.c:2743
+#, c-format
+msgid ""
+"\n"
+"The current boot file is: %s\n"
+msgstr ""
+"\n"
+"Boot file yang saat ini digunakan: %s\n"
+
+#: fdisk/fdisk.c:2745
+msgid "Please enter the name of the new boot file: "
+msgstr "Tolong masukkan nama dari boot file yang baru: "
+
+#: fdisk/fdisk.c:2747
+#, c-format
+msgid "Boot file unchanged\n"
+msgstr "Boot file tidak diubah\n"
+
+#: fdisk/fdisk.c:2820
+#, c-format
+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"
+
+#: fdisk/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"
+
+#: fdisk/fdisksgilabel.c:81
+msgid "SGI volhdr"
+msgstr "SGI volhdr"
+
+#: fdisk/fdisksgilabel.c:82
+msgid "SGI trkrepl"
+msgstr "SGI trkrepl"
+
+#: fdisk/fdisksgilabel.c:83
+msgid "SGI secrepl"
+msgstr "SGI secrepl"
+
+#: fdisk/fdisksgilabel.c:84
+msgid "SGI raw"
+msgstr "SGI raw"
+
+#: fdisk/fdisksgilabel.c:85
+msgid "SGI bsd"
+msgstr "SGI bsd"
+
+#: fdisk/fdisksgilabel.c:86
+msgid "SGI sysv"
+msgstr "SGI sysv"
+
+#: fdisk/fdisksgilabel.c:87
+msgid "SGI volume"
+msgstr "SGI volume"
+
+#: fdisk/fdisksgilabel.c:88
+msgid "SGI efs"
+msgstr "SGI efs"
+
+#: fdisk/fdisksgilabel.c:89
+msgid "SGI lvol"
+msgstr "SGI lvol"
+
+#: fdisk/fdisksgilabel.c:90
+msgid "SGI rlvol"
+msgstr "SGI rlvol"
+
+#: fdisk/fdisksgilabel.c:91
+msgid "SGI xfs"
+msgstr "SGI xfs"
+
+#: fdisk/fdisksgilabel.c:92
+msgid "SGI xfslog"
+msgstr "SGI xfslog"
+
+#: fdisk/fdisksgilabel.c:93
+msgid "SGI xlv"
+msgstr "SGI xlv"
+
+#: fdisk/fdisksgilabel.c:94
+msgid "SGI xvm"
+msgstr "SGI xvm"
+
+#: fdisk/fdisksgilabel.c:95 fdisk/fdisksunlabel.c:55
+msgid "Linux swap"
+msgstr "Linux swap"
+
+#: fdisk/fdisksgilabel.c:96 fdisk/fdisksunlabel.c:56
+msgid "Linux native"
+msgstr "Linux native"
+
+#: fdisk/fdisksgilabel.c:97 fdisk/fdisksunlabel.c:57 fdisk/i386_sys_types.c:63
+msgid "Linux LVM"
+msgstr "Linux LVM"
+
+#: fdisk/fdisksgilabel.c:98
+msgid "Linux RAID"
+msgstr "Linux RAID"
+
+#: fdisk/fdisksgilabel.c:164
+#, 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"
+
+#: fdisk/fdisksgilabel.c:183
+#, c-format
+msgid "Detected sgi disklabel with wrong checksum.\n"
+msgstr "Terdeteksi sgi disklabel dengan checksum salah.\n"
+
+#: fdisk/fdisksgilabel.c:201
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors\n"
+"%d cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * %d 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"
+
+#: fdisk/fdisksgilabel.c:214
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors, %d cylinders\n"
+"Units = %s of %d * %d 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"
+
+#: fdisk/fdisksgilabel.c:221
+#, 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"
+
+#: fdisk/fdisksgilabel.c:243
+#, c-format
+msgid ""
+"----- Bootinfo -----\n"
+"Bootfile: %s\n"
+"----- Directory Entries -----\n"
+msgstr ""
+"----- Bootinfo -----\n"
+"Bootfile: %s\n"
+"----- Masukan Direktori -----\n"
+
+#: fdisk/fdisksgilabel.c:251
+#, c-format
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr "%2d: %-10s sector%5u size%8u\n"
+
+#: fdisk/fdisksgilabel.c:305
+#, 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"
+
+#: fdisk/fdisksgilabel.c:311
+#, c-format
+msgid ""
+"\n"
+"\tName of Bootfile too long:  16 bytes maximum.\n"
+msgstr ""
+"\n"
+"\tNama dari Bootfile terlalu panjang: 16 bytes maksimal.\n"
+
+#: fdisk/fdisksgilabel.c:316
+#, c-format
+msgid ""
+"\n"
+"\tBootfile must have a fully qualified pathname.\n"
+msgstr ""
+"\n"
+"\tBootfile harus memiliki sebuah fully qualified pathname.\n"
+
+#: fdisk/fdisksgilabel.c:323
+#, 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"
+
+#: fdisk/fdisksgilabel.c:349
+#, c-format
+msgid ""
+"\n"
+"\tBootfile is changed to \"%s\".\n"
+msgstr ""
+"\n"
+"\tBootfile berubah menjadi \"%s\".\n"
+
+#: fdisk/fdisksgilabel.c:439
+#, c-format
+msgid "More than one entire disk entry present.\n"
+msgstr "Lebih dari satu masukan seluruh disk yang ada.\n"
+
+#: fdisk/fdisksgilabel.c:446 fdisk/fdisksunlabel.c:388
+#, c-format
+msgid "No partitions defined\n"
+msgstr "Tidak ada partisi yang didefinisikan\n"
+
+#: fdisk/fdisksgilabel.c:452
+#, c-format
+msgid "IRIX likes when Partition 11 covers the entire disk.\n"
+msgstr "IRIX seperti ketika Partisi 11 meliputi seluruh disk.\n"
+
+#: fdisk/fdisksgilabel.c:454
+#, 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"
+
+#: fdisk/fdisksgilabel.c:460
+#, 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"
+
+#: fdisk/fdisksgilabel.c:466
+#, c-format
+msgid "One Partition (#11) should cover the entire disk.\n"
+msgstr "Satu Partisi (#11) seharusnya memenuhi seluruh disk.\n"
+
+#: fdisk/fdisksgilabel.c:476
+#, c-format
+msgid "Partition %d does not start on cylinder boundary.\n"
+msgstr "Partisi %d tidak berawal di batas cylinder.\n"
+
+#: fdisk/fdisksgilabel.c:482
+#, c-format
+msgid "Partition %d does not end on cylinder boundary.\n"
+msgstr "Partisi %d tidak berakhir di batas cylinder.\n"
+
+#: fdisk/fdisksgilabel.c:489
+#, c-format
+msgid "The Partition %d and %d overlap by %d sectors.\n"
+msgstr "Partisi %d dan %d overlap %d sektor.\n"
+
+#: fdisk/fdisksgilabel.c:497 fdisk/fdisksgilabel.c:515
+#, c-format
+msgid "Unused gap of %8u sectors - sectors %8u-%u\n"
+msgstr "Gap yang tidak digunakan sebanyak %8u sektor - sektor %8u-%u\n"
+
+#: fdisk/fdisksgilabel.c:526
+#, c-format
+msgid ""
+"\n"
+"The boot partition does not exist.\n"
+msgstr ""
+"\n"
+"Partisi boot tidak ada.\n"
+
+#: fdisk/fdisksgilabel.c:529
+#, c-format
+msgid ""
+"\n"
+"The swap partition does not exist.\n"
+msgstr ""
+"\n"
+"Partisi swap tidak ada.\n"
+
+#: fdisk/fdisksgilabel.c:533
+#, c-format
+msgid ""
+"\n"
+"The swap partition has no swap type.\n"
+msgstr ""
+"\n"
+"Partisi swap tidak memiliki tipe swap.\n"
+
+#: fdisk/fdisksgilabel.c:536
+#, c-format
+msgid "\tYou have chosen an unusual boot file name.\n"
+msgstr "\tAnda telah memilih sebuah nama file boot yang tidak biasa.\n"
+
+#: fdisk/fdisksgilabel.c:545
+#, c-format
+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"
+
+#: fdisk/fdisksgilabel.c:551
+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"
+
+#: fdisk/fdisksgilabel.c:556 fdisk/fdisksunlabel.c:554
+msgid "YES\n"
+msgstr "YA\n"
+
+#: fdisk/fdisksgilabel.c:581
+#, c-format
+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"
+
+#: fdisk/fdisksgilabel.c:639
+#, c-format
+msgid "Attempting to generate entire disk entry automatically.\n"
+msgstr "Mencoba untuk membuat seluruh masukan disk secara otomatis.\n"
+
+#: fdisk/fdisksgilabel.c:644
+#, c-format
+msgid "The entire disk is already covered with partitions.\n"
+msgstr "Seluruh disk sudah dilingkupi oleh partisi.\n"
+
+#: fdisk/fdisksgilabel.c:648
+#, 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"
+
+#: fdisk/fdisksgilabel.c:657 fdisk/fdisksgilabel.c:686
+#, 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"
+
+#: fdisk/fdisksgilabel.c:673
+#, 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"
+
+#: fdisk/fdisksgilabel.c:678
+#, c-format
+msgid " Last %s"
+msgstr " Terakhir %s"
+
+#: fdisk/fdisksgilabel.c:708
+#, c-format
+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"
+
+#: fdisk/fdisksgilabel.c:731 fdisk/fdisksunlabel.c:227
+#, c-format
+msgid ""
+"Warning:  BLKGETSIZE ioctl failed on %s.  Using geometry cylinder value of %"
+"d.\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"
+
+#: fdisk/fdisksgilabel.c:745
+#, c-format
+msgid "Trying to keep parameters of partition %d.\n"
+msgstr "Mencoba untuk menyimpan parameter dari partisi %d.\n"
+
+#: fdisk/fdisksgilabel.c:747
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr "ID=%02x\tAWAL=%d\tPANJANG=%d\n"
+
+#: fdisk/fdisksunlabel.c:43
+msgid "Unassigned"
+msgstr "Tidak di assign"
+
+#: fdisk/fdisksunlabel.c:45
+msgid "SunOS root"
+msgstr "SunOS root"
+
+#: fdisk/fdisksunlabel.c:46
+msgid "SunOS swap"
+msgstr "SunOS swap"
+
+#: fdisk/fdisksunlabel.c:47
+msgid "SunOS usr"
+msgstr "SunOS usr"
+
+#: fdisk/fdisksunlabel.c:48
+msgid "Whole disk"
+msgstr "Seluruh disk"
+
+#: fdisk/fdisksunlabel.c:49
+msgid "SunOS stand"
+msgstr "SunOS stand"
+
+#: fdisk/fdisksunlabel.c:50
+msgid "SunOS var"
+msgstr "SunOS var"
+
+#: fdisk/fdisksunlabel.c:51
+msgid "SunOS home"
+msgstr "SunOS home"
+
+#: fdisk/fdisksunlabel.c:52
+msgid "SunOS alt sectors"
+msgstr "SunOS alt sektor"
+
+#: fdisk/fdisksunlabel.c:53
+msgid "SunOS cachefs"
+msgstr "SunOS cachefs"
+
+#: fdisk/fdisksunlabel.c:54
+msgid "SunOS reserved"
+msgstr "SunOS reserved"
+
+#: fdisk/fdisksunlabel.c:58 fdisk/i386_sys_types.c:103
+msgid "Linux raid autodetect"
+msgstr "Linux raid autodetect"
+
+#: fdisk/fdisksunlabel.c:141
+#, 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"
+
+#: fdisk/fdisksunlabel.c:153
+#, c-format
+msgid "Detected sun disklabel with wrong version [0x%08x].\n"
+msgstr "Terdeteksi sun disklabel dengan versi salah [0x%08x].\n"
+
+#: fdisk/fdisksunlabel.c:158
+#, c-format
+msgid "Detected sun disklabel with wrong sanity [0x%08x].\n"
+msgstr "Terdeteksi sun disklabel dengan sanity salah [0x%08x].\n"
+
+#: fdisk/fdisksunlabel.c:163
+#, c-format
+msgid "Detected sun disklabel with wrong num_partitions [%u].\n"
+msgstr "Terdeteksi sun disklabel dengan num_partitions salah [%u].\n"
+
+#: fdisk/fdisksunlabel.c:168
+#, 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"
+
+#: fdisk/fdisksunlabel.c:198
+#, c-format
+msgid ""
+"Building a new sun disklabel. Changes will remain in memory only,\n"
+"until you decide to write them. After that, of course, the previous\n"
+"content won't be recoverable.\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"
+
+#: fdisk/fdisksunlabel.c:236
+msgid "Sectors/track"
+msgstr "Sektor/track"
+
+#: fdisk/fdisksunlabel.c:351
+#, c-format
+msgid "Partition %d doesn't end on cylinder boundary\n"
+msgstr "Partisi %d tidak berakhir dalam batas cylinder\n"
+
+#: fdisk/fdisksunlabel.c:371
+#, 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"
+
+#: fdisk/fdisksunlabel.c:393
+#, c-format
+msgid "Unused gap - sectors 0-%d\n"
+msgstr "Gap yang tidak digunakan - sektor 0-%d\n"
+
+#: fdisk/fdisksunlabel.c:395 fdisk/fdisksunlabel.c:401
+#, c-format
+msgid "Unused gap - sectors %d-%d\n"
+msgstr "Gap yang tidak digunakan sektor %d-%d\n"
+
+#: fdisk/fdisksunlabel.c:426
+#, 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"
+
+#: fdisk/fdisksunlabel.c:449
+#, 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"
+
+#: fdisk/fdisksunlabel.c:477
+#, c-format
+msgid "Sector %d is already allocated\n"
+msgstr "Sektor %d sudah dialokasikan\n"
+
+#: fdisk/fdisksunlabel.c:507
+#, 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"
+
+#: fdisk/fdisksunlabel.c:534
+#, 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"
+
+#: fdisk/fdisksunlabel.c:549
+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): "
+
+#: fdisk/fdisksunlabel.c:581
+#, c-format
+msgid ""
+"\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"
+"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"
+
+#: fdisk/fdisksunlabel.c:597
+#, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %d heads, %llu sectors, %d 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"
+
+#: fdisk/fdisksunlabel.c:602
+#, c-format
+msgid "%*s Flag    Start       End    Blocks   Id  System\n"
+msgstr "%*s Tanda   Awal        Akhir  Blocks   Id  System\n"
+
+#: fdisk/fdisksunlabel.c:630
+msgid "Number of alternate cylinders"
+msgstr "Jumlah dari cylinder alternative"
+
+#: fdisk/fdisksunlabel.c:642
+msgid "Extra sectors per cylinder"
+msgstr "Extra sektor per cylinder"
+
+#: fdisk/fdisksunlabel.c:649
+msgid "Interleave factor"
+msgstr "Faktor Interleave"
+
+#: fdisk/fdisksunlabel.c:656
+msgid "Rotation speed (rpm)"
+msgstr "Kecepatan rotasi (rpm)"
+
+#: fdisk/fdisksunlabel.c:663
+msgid "Number of physical cylinders"
+msgstr "Jumlah dari physical cylinders"
+
+#: fdisk/i386_sys_types.c:6
+msgid "Empty"
+msgstr "Kosong"
+
+#: fdisk/i386_sys_types.c:7
+msgid "FAT12"
+msgstr "FAT12"
+
+#: fdisk/i386_sys_types.c:8
+msgid "XENIX root"
+msgstr "XENIX root"
+
+#: fdisk/i386_sys_types.c:9
+msgid "XENIX usr"
+msgstr "XENIX usr"
+
+#: fdisk/i386_sys_types.c:10
+msgid "FAT16 <32M"
+msgstr "FAT16 <32M"
+
+#: fdisk/i386_sys_types.c:11
+msgid "Extended"
+msgstr "Extended"
+
+#: fdisk/i386_sys_types.c:12
+msgid "FAT16"
+msgstr "FAT16"
+
+#: fdisk/i386_sys_types.c:13
+msgid "HPFS/NTFS"
+msgstr "HPFS/NTFS"
+
+#: fdisk/i386_sys_types.c:14
+msgid "AIX"
+msgstr "AIX"
+
+#: fdisk/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr "AIX bootable"
+
+#: fdisk/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr "OS/2 Boot Manager"
+
+#: fdisk/i386_sys_types.c:17
+msgid "W95 FAT32"
+msgstr "W95 FAT32"
+
+#: fdisk/i386_sys_types.c:18
+msgid "W95 FAT32 (LBA)"
+msgstr "W95 FAT32 (LBA)"
+
+#: fdisk/i386_sys_types.c:19
+msgid "W95 FAT16 (LBA)"
+msgstr "W95 FAT16 (LBA)"
+
+#: fdisk/i386_sys_types.c:20
+msgid "W95 Ext'd (LBA)"
+msgstr "W95 Ext'd (LBA)"
+
+#: fdisk/i386_sys_types.c:21
+msgid "OPUS"
+msgstr "OPUS"
+
+#: fdisk/i386_sys_types.c:22
+msgid "Hidden FAT12"
+msgstr "FAT12 Tersembunyi"
+
+#: fdisk/i386_sys_types.c:23
+msgid "Compaq diagnostics"
+msgstr "Compaq diagnostics"
+
+#: fdisk/i386_sys_types.c:24
+msgid "Hidden FAT16 <32M"
+msgstr "FAT16 Tersembunyi <32M"
+
+#: fdisk/i386_sys_types.c:25
+msgid "Hidden FAT16"
+msgstr "FAT16 Tersembunyi"
+
+#: fdisk/i386_sys_types.c:26
+msgid "Hidden HPFS/NTFS"
+msgstr "HPFS/NTFS Tersembunyi"
+
+#: fdisk/i386_sys_types.c:27
+msgid "AST SmartSleep"
+msgstr "AST SmartSleep"
+
+#: fdisk/i386_sys_types.c:28
+msgid "Hidden W95 FAT32"
+msgstr "W95 FAT32 Tersembunyi"
+
+#: fdisk/i386_sys_types.c:29
+msgid "Hidden W95 FAT32 (LBA)"
+msgstr "W95 FAT32 (LBA) Tersembunyi"
+
+#: fdisk/i386_sys_types.c:30
+msgid "Hidden W95 FAT16 (LBA)"
+msgstr "W95 FAT16 (LBA) Tersembunyi"
+
+#: fdisk/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr "NEC DOS"
+
+#: fdisk/i386_sys_types.c:32
+msgid "Plan 9"
+msgstr "Plan 9"
+
+#: fdisk/i386_sys_types.c:33
+msgid "PartitionMagic recovery"
+msgstr "PartitionMagic recovery"
+
+#: fdisk/i386_sys_types.c:34
+msgid "Venix 80286"
+msgstr "Venix 80286"
+
+#: fdisk/i386_sys_types.c:35
+msgid "PPC PReP Boot"
+msgstr "PPC PReP Boot"
+
+#: fdisk/i386_sys_types.c:36
+msgid "SFS"
+msgstr "SFS"
+
+#: fdisk/i386_sys_types.c:37
+msgid "QNX4.x"
+msgstr "QNX4.x"
+
+#: fdisk/i386_sys_types.c:38
+msgid "QNX4.x 2nd part"
+msgstr "QNX4.x 2nd part"
+
+#: fdisk/i386_sys_types.c:39
+msgid "QNX4.x 3rd part"
+msgstr "QNX4.x 3rd part"
+
+#: fdisk/i386_sys_types.c:40
+msgid "OnTrack DM"
+msgstr "OnTrack DM"
+
+#: fdisk/i386_sys_types.c:41
+msgid "OnTrack DM6 Aux1"
+msgstr "OnTrack DM6 Aux1"
+
+#: fdisk/i386_sys_types.c:42
+msgid "CP/M"
+msgstr "CP/M"
+
+#: fdisk/i386_sys_types.c:43
+msgid "OnTrack DM6 Aux3"
+msgstr "OnTrack DM6 Aux3"
+
+#: fdisk/i386_sys_types.c:44
+msgid "OnTrackDM6"
+msgstr "OnTrackDM6"
+
+#: fdisk/i386_sys_types.c:45
+msgid "EZ-Drive"
+msgstr "EZ-Drive"
+
+#: fdisk/i386_sys_types.c:46
+msgid "Golden Bow"
+msgstr "Golden Bow"
+
+#: fdisk/i386_sys_types.c:47
+msgid "Priam Edisk"
+msgstr "Priam Edisk"
+
+#: fdisk/i386_sys_types.c:48 fdisk/i386_sys_types.c:92
+#: fdisk/i386_sys_types.c:98 fdisk/i386_sys_types.c:99
+msgid "SpeedStor"
+msgstr "SpeedStor"
+
+#: fdisk/i386_sys_types.c:49
+msgid "GNU HURD or SysV"
+msgstr "GNU HURD ataus SysV"
+
+#: fdisk/i386_sys_types.c:50
+msgid "Novell Netware 286"
+msgstr "Novell Netware 286"
+
+#: fdisk/i386_sys_types.c:51
+msgid "Novell Netware 386"
+msgstr "Novell Netware 386"
+
+#: fdisk/i386_sys_types.c:52
+msgid "DiskSecure Multi-Boot"
+msgstr "DiskSecure Multi-Boot"
+
+#: fdisk/i386_sys_types.c:53
+msgid "PC/IX"
+msgstr "PC/IX"
+
+#: fdisk/i386_sys_types.c:54
+msgid "Old Minix"
+msgstr "Old Minix"
+
+#: fdisk/i386_sys_types.c:55
+msgid "Minix / old Linux"
+msgstr "Minix / old Linux"
+
+#: fdisk/i386_sys_types.c:56
+msgid "Linux swap / Solaris"
+msgstr "Linux swap / Solaris"
+
+#: fdisk/i386_sys_types.c:58
+msgid "OS/2 hidden C: drive"
+msgstr "OS/2 hidded C: drive"
+
+#: fdisk/i386_sys_types.c:59
+msgid "Linux extended"
+msgstr "Linux extended"
+
+#: fdisk/i386_sys_types.c:60 fdisk/i386_sys_types.c:61
+msgid "NTFS volume set"
+msgstr "NTFS volume set"
+
+#: fdisk/i386_sys_types.c:62
+msgid "Linux plaintext"
+msgstr "Linux plaintext"
+
+#: fdisk/i386_sys_types.c:64
+msgid "Amoeba"
+msgstr "Amoeba"
+
+#: fdisk/i386_sys_types.c:65
+msgid "Amoeba BBT"
+msgstr "Amoeba BBT"
+
+#: fdisk/i386_sys_types.c:66
+msgid "BSD/OS"
+msgstr "BSD/OS"
+
+#: fdisk/i386_sys_types.c:67
+msgid "IBM Thinkpad hibernation"
+msgstr "IBM Thinkpad hibernation"
+
+#: fdisk/i386_sys_types.c:68
+msgid "FreeBSD"
+msgstr "FreeBSD"
+
+#: fdisk/i386_sys_types.c:69
+msgid "OpenBSD"
+msgstr "OpenBSD"
+
+#: fdisk/i386_sys_types.c:70
+msgid "NeXTSTEP"
+msgstr "NextSTEP"
+
+#: fdisk/i386_sys_types.c:71
+msgid "Darwin UFS"
+msgstr "Darwin UFS"
+
+#: fdisk/i386_sys_types.c:72
+msgid "NetBSD"
+msgstr "NetBSD"
+
+#: fdisk/i386_sys_types.c:73
+msgid "Darwin boot"
+msgstr "Darwin boot"
+
+#: fdisk/i386_sys_types.c:74
+msgid "HFS / HFS+"
+msgstr "HFS / HPF+"
+
+#: fdisk/i386_sys_types.c:75
+msgid "BSDI fs"
+msgstr "BSDI fs"
+
+#: fdisk/i386_sys_types.c:76
+msgid "BSDI swap"
+msgstr "BSDI swap"
+
+#: fdisk/i386_sys_types.c:77
+msgid "Boot Wizard hidden"
+msgstr "Boot Wizard hidden"
+
+#: fdisk/i386_sys_types.c:78
+msgid "Solaris boot"
+msgstr "Solaris boot"
+
+#: fdisk/i386_sys_types.c:79
+msgid "Solaris"
+msgstr "Solaris"
+
+#: fdisk/i386_sys_types.c:80
+msgid "DRDOS/sec (FAT-12)"
+msgstr "DRDOS/sec (FAT-12)"
+
+#: fdisk/i386_sys_types.c:81
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr "DRDOS/sec (FAT-16 < 32M)"
+
+#: fdisk/i386_sys_types.c:82
+msgid "DRDOS/sec (FAT-16)"
+msgstr "DRDOS/sec (FAT-16)"
+
+#: fdisk/i386_sys_types.c:83
+msgid "Syrinx"
+msgstr "Syrinx"
+
+#: fdisk/i386_sys_types.c:84
+msgid "Non-FS data"
+msgstr "Non-FS data"
+
+#: fdisk/i386_sys_types.c:85
+msgid "CP/M / CTOS / ..."
+msgstr "CP/M / CTOS / ..."
+
+#: fdisk/i386_sys_types.c:87
+msgid "Dell Utility"
+msgstr "Dell Utility"
+
+#: fdisk/i386_sys_types.c:88
+msgid "BootIt"
+msgstr "BootIt"
+
+#: fdisk/i386_sys_types.c:89
+msgid "DOS access"
+msgstr "DOS access"
+
+#: fdisk/i386_sys_types.c:91
+msgid "DOS R/O"
+msgstr "DOS R/O"
+
+#: fdisk/i386_sys_types.c:94
+msgid "BeOS fs"
+msgstr "BeOS fs"
+
+#: fdisk/i386_sys_types.c:95
+msgid "GPT"
+msgstr "GPT"
+
+#: fdisk/i386_sys_types.c:96
+msgid "EFI (FAT-12/16/32)"
+msgstr "EFI (FAT-12/16/32)"
+
+#: fdisk/i386_sys_types.c:97
+msgid "Linux/PA-RISC boot"
+msgstr "Linux/PA-RISC boot"
+
+#: fdisk/i386_sys_types.c:100
+msgid "DOS secondary"
+msgstr "DOS secondary"
+
+#: fdisk/i386_sys_types.c:101
+msgid "VMware VMFS"
+msgstr "VMware VMFS"
+
+#: fdisk/i386_sys_types.c:102
+msgid "VMware VMKCORE"
+msgstr "VMware VMKCORE"
+
+#: fdisk/i386_sys_types.c:106
+msgid "LANstep"
+msgstr "LANstep"
+
+#: fdisk/i386_sys_types.c:107
+msgid "BBT"
+msgstr "BBT"
+
+#: fdisk/sfdisk.c:179
+#, c-format
+msgid "seek error on %s - cannot seek to %lu\n"
+msgstr "seek error di %s - tidak dapat seek ke %lu\n"
+
+#: fdisk/sfdisk.c:184
+#, 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"
+
+#: fdisk/sfdisk.c:230
+msgid "out of memory - giving up\n"
+msgstr "kehabisan memory - menyerah\n"
+
+#: fdisk/sfdisk.c:235 fdisk/sfdisk.c:318
+#, 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"
+
+#: fdisk/sfdisk.c:253
+#, c-format
+msgid "ERROR: sector %lu does not have an msdos signature\n"
+msgstr "ERROR: sektor %lu tidak memiliki sebuah msdos signature\n"
+
+#: fdisk/sfdisk.c:268
+#, 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"
+
+#: fdisk/sfdisk.c:306
+#, c-format
+msgid "cannot open partition sector save file (%s)\n"
+msgstr "tidak dapat membuka partisi sektor save file (%s)\n"
+
+#: fdisk/sfdisk.c:324
+#, c-format
+msgid "write error on %s\n"
+msgstr "error menulis di %s\n"
+
+#: fdisk/sfdisk.c:350
+#, c-format
+msgid "cannot stat partition restore file (%s)\n"
+msgstr "tidak dapat memperoleh statistik dari file restore (%s)\n"
+
+#: fdisk/sfdisk.c:355
+msgid "partition restore file has wrong size - not restoring\n"
+msgstr ""
+"file partisi untuk restore memiliki ukuran yang salah - tidak melakukan "
+"restore\n"
+
+#: fdisk/sfdisk.c:359
+msgid "out of memory?\n"
+msgstr "kehabisan memory?\n"
+
+#: fdisk/sfdisk.c:365
+#, c-format
+msgid "cannot open partition restore file (%s)\n"
+msgstr "tidak dapat membuka partisi restore file (%s)\n"
+
+#: fdisk/sfdisk.c:371
+#, c-format
+msgid "error reading %s\n"
+msgstr "error dalam membaca %s\n"
+
+#: fdisk/sfdisk.c:378
+#, c-format
+msgid "cannot open device %s for writing\n"
+msgstr "tidak dapat membuka perangkat %s untuk menulis\n"
+
+#: fdisk/sfdisk.c:390
+#, c-format
+msgid "error writing sector %lu on %s\n"
+msgstr "error dalam menulis sektor %lu di %s\n"
+
+#: fdisk/sfdisk.c:455
+#, c-format
+msgid "Disk %s: cannot get geometry\n"
+msgstr "Disk %s: tidak dapat memperoleh geometri\n"
+
+#: fdisk/sfdisk.c:472
+#, c-format
+msgid "Disk %s: cannot get size\n"
+msgstr "Disk %s: tidak dapat memperoleh ukuran\n"
+
+#: fdisk/sfdisk.c:505
+#, 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"
+
+#: fdisk/sfdisk.c:512
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu heads\n"
+msgstr "Peringatan: HDIO_GETGEO mengatakan bahwa disana ada %lu heads\n"
+
+#: fdisk/sfdisk.c:515
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu sectors\n"
+msgstr "Peringatan: HDIO_GETGEO mengatakan bahwa disana ada %lu sektor\n"
+
+#: fdisk/sfdisk.c:519
+#, 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"
+
+#: fdisk/sfdisk.c:524
+#, 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"
+
+#: fdisk/sfdisk.c:528
+#, 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"
+
+#: fdisk/sfdisk.c:610
+#, 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"
+
+#: fdisk/sfdisk.c:615
+#, 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"
+
+#: fdisk/sfdisk.c:620
+#, 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"
+
+#: fdisk/sfdisk.c:660
+#, c-format
+msgid ""
+"Id  Name\n"
+"\n"
+msgstr ""
+"Nama Id\n"
+"\n"
+
+#: fdisk/sfdisk.c:821
+#, c-format
+msgid "Re-reading the partition table ...\n"
+msgstr "Membaca kembali tabel partisi ...\n"
+
+#: fdisk/sfdisk.c:827
+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"
+
+#: fdisk/sfdisk.c:833
+#, c-format
+msgid "Error closing %s\n"
+msgstr "Error menutup %s\n"
+
+#: fdisk/sfdisk.c:871
+#, c-format
+msgid "%s: no such partition\n"
+msgstr "%s: tidak ada partisi seperti itu\n"
+
+#: fdisk/sfdisk.c:894
+msgid "unrecognized format - using sectors\n"
+msgstr "format tidak dikenali - menggunakan sektor\n"
+
+#: fdisk/sfdisk.c:944
+#, c-format
+msgid "unimplemented format - using %s\n"
+msgstr "format tidak diimplementasikan - menggunakan %s\n"
+
+#: fdisk/sfdisk.c:948
+#, 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"
+
+#: fdisk/sfdisk.c:951
+#, c-format
+msgid "   Device Boot Start     End   #cyls    #blocks   Id  System\n"
+msgstr "   Device Boot Awal      Akhir #cyls    #blocks   Id  System\n"
+
+#: fdisk/sfdisk.c:956
+#, c-format
+msgid ""
+"Units = sectors of 512 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Satuan = sektor dari 512 bytes, dihitung dari %d\n"
+"\n"
+
+#: fdisk/sfdisk.c:958
+#, c-format
+msgid "   Device Boot    Start       End   #sectors  Id  System\n"
+msgstr "   Device Boot    Awal        Akhir #sectors  Id  System\n"
+
+#: fdisk/sfdisk.c:961
+#, c-format
+msgid ""
+"Units = blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Satuan = blocks dari 1024 bytes, dihitung dari %d\n"
+"\n"
+
+#: fdisk/sfdisk.c:963
+#, c-format
+msgid "   Device Boot   Start       End    #blocks   Id  System\n"
+msgstr "   Device Boot   Awal        Akhir  #blocks   Id  System\n"
+
+#: fdisk/sfdisk.c:966
+#, c-format
+msgid ""
+"Units = mebibytes of 1048576 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"
+
+#: fdisk/sfdisk.c:968
+#, c-format
+msgid "   Device Boot Start   End    MiB    #blocks   Id  System\n"
+msgstr "   Device Boot Awal    Akhir  MiB    #blocks   Id  System\n"
+
+#: fdisk/sfdisk.c:1128
+#, 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"
+
+#: fdisk/sfdisk.c:1135
+#, 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"
+
+#: fdisk/sfdisk.c:1138
+#, 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"
+
+#: fdisk/sfdisk.c:1148
+msgid "No partitions found\n"
+msgstr "Tidak ada partisi yang ditemukan\n"
+
+#: fdisk/sfdisk.c:1152
+#, 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"
+
+#: fdisk/sfdisk.c:1201
+msgid "no partition table present.\n"
+msgstr "tidak ada tabel partisi yang ada.\n"
+
+#: fdisk/sfdisk.c:1203
+#, c-format
+msgid "strange, only %d partitions defined.\n"
+msgstr "aneh, hanya %d partisi yang didefinisikan.\n"
+
+#: fdisk/sfdisk.c:1212
+#, 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"
+
+#: fdisk/sfdisk.c:1215
+#, c-format
+msgid "Warning: partition %s has size 0 and is bootable\n"
+msgstr "Peringatan: partisi %s memiliki ukuran 0 dan bootable\n"
+
+#: fdisk/sfdisk.c:1218
+#, 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"
+
+#: fdisk/sfdisk.c:1229
+#, c-format
+msgid "Warning: partition %s "
+msgstr "Peringatan: partisi %s "
+
+#: fdisk/sfdisk.c:1230
+#, c-format
+msgid "is not contained in partition %s\n"
+msgstr "tidak berada di partisi %s\n"
+
+#: fdisk/sfdisk.c:1241
+#, c-format
+msgid "Warning: partitions %s "
+msgstr "Peringatan: partisi %s "
+
+#: fdisk/sfdisk.c:1242
+#, c-format
+msgid "and %s overlap\n"
+msgstr "dan %s overlap\n"
+
+#: fdisk/sfdisk.c:1253
+#, c-format
+msgid ""
+"Warning: partition %s contains part of the partition table (sector %lu),\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"
+
+#: fdisk/sfdisk.c:1265
+#, c-format
+msgid "Warning: partition %s starts at sector 0\n"
+msgstr "Peringatan: partisi %s berawal di sektor 0\n"
+
+#: fdisk/sfdisk.c:1269
+#, c-format
+msgid "Warning: partition %s extends past end of disk\n"
+msgstr "Peringatan: partisi %s meluas melewati akhir dari disk\n"
+
+#: fdisk/sfdisk.c:1284
+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"
+
+#: fdisk/sfdisk.c:1302
+#, c-format
+msgid "Warning: partition %s does not start at a cylinder boundary\n"
+msgstr "Peringatan: partisi %s tidak berawal dalam batas cylinder\n"
+
+#: fdisk/sfdisk.c:1308
+#, c-format
+msgid "Warning: partition %s does not end at a cylinder boundary\n"
+msgstr "Peringatan: partisi %s tidak berakhir dalam batas cylinder\n"
+
+#: fdisk/sfdisk.c:1326
+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"
+
+#: fdisk/sfdisk.c:1333
+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"
+
+#: fdisk/sfdisk.c:1339
+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"
+
+#: fdisk/sfdisk.c:1353
+msgid "start"
+msgstr "awal"
+
+#: fdisk/sfdisk.c:1356
+#, 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"
+
+#: fdisk/sfdisk.c:1362
+msgid "end"
+msgstr "akhir"
+
+#: fdisk/sfdisk.c:1365
+#, 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"
+
+#: fdisk/sfdisk.c:1368
+#, 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"
+
+#: fdisk/sfdisk.c:1393
+#, c-format
+msgid ""
+"Warning: shifted start of the extd partition from %ld to %ld\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"
+
+#: fdisk/sfdisk.c:1399
+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"
+
+#: fdisk/sfdisk.c:1417 fdisk/sfdisk.c:1494
+#, c-format
+msgid "too many partitions - ignoring those past nr (%d)\n"
+msgstr "terlalu banyak partisi - mengabaikan partisi yang melewati nr (%d)\n"
+
+#: fdisk/sfdisk.c:1432
+msgid "tree of partitions?\n"
+msgstr "tree dari partisi?\n"
+
+#: fdisk/sfdisk.c:1540
+msgid "detected Disk Manager - unable to handle that\n"
+msgstr "terdeteksi Disk Manager - tidak dapat menangani ini\n"
+
+#: fdisk/sfdisk.c:1547
+msgid "DM6 signature found - giving up\n"
+msgstr "DM6 signature ditemukan - menyerah\n"
+
+#: fdisk/sfdisk.c:1567
+msgid "strange..., an extended partition of size 0?\n"
+msgstr "aneh..., sebuah extended partisi yang berukuran 0?\n"
+
+#: fdisk/sfdisk.c:1574 fdisk/sfdisk.c:1585
+msgid "strange..., a BSD partition of size 0?\n"
+msgstr "aneh..., sebuah BSD partisi yang berukuran 0?\n"
+
+#: fdisk/sfdisk.c:1619
+#, c-format
+msgid " %s: unrecognized partition table type\n"
+msgstr " %s: tipe tabel partisi tidak diketahui\n"
+
+#: fdisk/sfdisk.c:1631
+msgid "-n flag was given: Nothing changed\n"
+msgstr "pilihan -n telah diberikan: Tidak ada yang berubah\n"
+
+#: fdisk/sfdisk.c:1647
+msgid "Failed saving the old sectors - aborting\n"
+msgstr "Gagal menyimpan sektor lama - membatalkan\n"
+
+#: fdisk/sfdisk.c:1652
+#, c-format
+msgid "Failed writing the partition on %s\n"
+msgstr "Gagal menulis partisi di %s\n"
+
+#: fdisk/sfdisk.c:1729
+msgid "long or incomplete input line - quitting\n"
+msgstr "panjang atau baris input tidak complete - berhenti\n"
+
+#: fdisk/sfdisk.c:1765
+#, c-format
+msgid "input error: `=' expected after %s field\n"
+msgstr "input error: `=' diperkirakan setelah %s\n"
+
+#: fdisk/sfdisk.c:1772
+#, c-format
+msgid "input error: unexpected character %c after %s field\n"
+msgstr "input error: unexpected character %c setelah %s\n"
+
+#: fdisk/sfdisk.c:1778
+#, c-format
+msgid "unrecognized input: %s\n"
+msgstr "input tidak diketahui: %s\n"
+
+#: fdisk/sfdisk.c:1820
+msgid "number too big\n"
+msgstr "nomor terlalu besar\n"
+
+#: fdisk/sfdisk.c:1824
+msgid "trailing junk after number\n"
+msgstr "trailing junk sesudah nomor\n"
+
+#: fdisk/sfdisk.c:1948
+msgid "no room for partition descriptor\n"
+msgstr "tidak ada ruang untuk partisi deskripsi\n"
+
+#: fdisk/sfdisk.c:1981
+msgid "cannot build surrounding extended partition\n"
+msgstr "tidak dapat membuat extended partisi disekitarnya\n"
+
+#: fdisk/sfdisk.c:2032
+msgid "too many input fields\n"
+msgstr "terlalu banya input\n"
+
+#: fdisk/sfdisk.c:2066
+msgid "No room for more\n"
+msgstr "Tidak ada ruang lagi\n"
+
+#: fdisk/sfdisk.c:2085
+msgid "Illegal type\n"
+msgstr "Tipe ilegal\n"
+
+#: fdisk/sfdisk.c:2117
+#, 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"
+
+#: fdisk/sfdisk.c:2123
+msgid "Warning: empty partition\n"
+msgstr "Peringatan: partisi kosong\n"
+
+#: fdisk/sfdisk.c:2137
+#, c-format
+msgid "Warning: bad partition start (earliest %lu)\n"
+msgstr "Peringatan: partisi memiliki awal yang buruk (terlalu awal %lu)\n"
+
+#: fdisk/sfdisk.c:2150
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr "tanda bootable tidak diketahui - pilih - atau *\n"
+
+#: fdisk/sfdisk.c:2167 fdisk/sfdisk.c:2180
+msgid "partial c,h,s specification?\n"
+msgstr "partial c,h,s spesifikasi?\n"
+
+#: fdisk/sfdisk.c:2191
+msgid "Extended partition not where expected\n"
+msgstr "Extended partisi tidak diperkirakan\n"
+
+#: fdisk/sfdisk.c:2223
+msgid "bad input\n"
+msgstr "input tidak baik\n"
+
+#: fdisk/sfdisk.c:2245
+msgid "too many partitions\n"
+msgstr "terlalu banyak partisi\n"
+
+#: fdisk/sfdisk.c:2278
+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"
+
+#: fdisk/sfdisk.c:2304
+#, c-format
+msgid "Usage: %s [options] device ...\n"
+msgstr "Penggunaan: %s [pilihan] perangkat ...\n"
+
+#: fdisk/sfdisk.c:2305
+msgid "device: something like /dev/hda or /dev/sda"
+msgstr "perangkat: sesuatu seperti /dev/hda atau /dev/sda"
+
+#: fdisk/sfdisk.c:2306
+msgid "useful options:"
+msgstr "pilihan yang berguna:"
+
+#: fdisk/sfdisk.c:2307
+msgid "    -s [or --show-size]: list size of a partition"
+msgstr "    -s [atau --show-size]: tampilkan ukuran setiap partisi"
+
+#: fdisk/sfdisk.c:2308
+msgid "    -c [or --id]:        print or change partition Id"
+msgstr "    -c [atau --id]:      mencetak atau mengubab Id dari partisi"
+
+#: fdisk/sfdisk.c:2309
+msgid "    -l [or --list]:      list partitions of each device"
+msgstr "    -l [atau --list]:    tampilkan partisi di setiap perangkat"
+
+#: fdisk/sfdisk.c:2310
+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"
+
+#: fdisk/sfdisk.c:2311
+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"
+
+#: fdisk/sfdisk.c:2312
+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"
+
+#: fdisk/sfdisk.c:2313
+msgid "    -T [or --list-types]:list the known partition types"
+msgstr ""
+"    -T [atau --list-types]:tampilkan daftar dari tipe partisi yang diketahui"
+
+#: fdisk/sfdisk.c:2314
+msgid "    -D [or --DOS]:       for DOS-compatibility: waste a little space"
+msgstr ""
+"    -D [atau --DOS]:     untuk DOS-kompatibilitas: membuat sedikit ruang"
+
+#: fdisk/sfdisk.c:2315
+msgid "    -R [or --re-read]:   make kernel reread partition table"
+msgstr "    -R [atau --re-read]  membuat kernel membaca kembali tabel partisi"
+
+#: fdisk/sfdisk.c:2316
+msgid "    -N# :                change only the partition with number #"
+msgstr "    -N# :                hanya mengubah partisi nomor #"
+
+#: fdisk/sfdisk.c:2317
+msgid "    -n :                 do not actually write to disk"
+msgstr "    -n :                 tidak menulis sebenarnya ke disk"
+
+#: fdisk/sfdisk.c:2318
+msgid ""
+"    -O file :            save the sectors that will be overwritten to file"
+msgstr "    -O file :            menyimpan sectors yang akan ditulis ke file"
+
+#: fdisk/sfdisk.c:2319
+msgid "    -I file :            restore these sectors again"
+msgstr "    -I file :            mengembalikan sektor itu kembali"
+
+#: fdisk/sfdisk.c:2320
+msgid "    -v [or --version]:   print version"
+msgstr "    -v [atau --version]: tampilkan versi dari aplikasi"
+
+#: fdisk/sfdisk.c:2321
+msgid "    -? [or --help]:      print this message"
+msgstr "    -? [atau --help]:    tampilkan pesan ini"
+
+#: fdisk/sfdisk.c:2322
+msgid "dangerous options:"
+msgstr "pilihan yang berbahaya:"
+
+#: fdisk/sfdisk.c:2323
+msgid "    -g [or --show-geometry]: print the kernel's idea of the geometry"
+msgstr "    -g [atau --show-geometry]: tampilkan ide kernel mengenai geometri"
+
+#: fdisk/sfdisk.c:2324
+msgid ""
+"    -G [or --show-pt-geometry]: print geometry guessed from the partition "
+"table"
+msgstr ""
+"    -G [atau --show-pt-geometry]: tampilkan geometry yang ditebak dari tabel "
+"partisi"
+
+#: fdisk/sfdisk.c:2325
+msgid ""
+"    -x [or --show-extended]: also list extended partitions on output\n"
+"                             or expect descriptors for them on input"
+msgstr ""
+"    -x [atau --show-extended]: juga menampilkan partisi extended dalam "
+"output\n"
+"                               atau memperkirakan deskripsi dari partisi di "
+"input"
+
+#: fdisk/sfdisk.c:2327
+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"
+
+#: fdisk/sfdisk.c:2328
+msgid "    -q  [or --quiet]:      suppress warning messages"
+msgstr "    -q  [atau --quiet]:    menekan pesan peringatan"
+
+#: fdisk/sfdisk.c:2329
+msgid "    You can override the detected geometry using:"
+msgstr "    Anda dapat memaksa pendeteksian geometri dengan menggunakan:"
+
+#: fdisk/sfdisk.c:2330
+msgid "    -C# [or --cylinders #]:set the number of cylinders to use"
+msgstr "    -C# [atau --cylinders #]:set jumlah dari cylinders yang digunakan"
+
+#: fdisk/sfdisk.c:2331
+msgid "    -H# [or --heads #]:    set the number of heads to use"
+msgstr "    -H# [atau --heads #]:  set jumlah dari heads yang digunakan"
+
+#: fdisk/sfdisk.c:2332
+msgid "    -S# [or --sectors #]:  set the number of sectors to use"
+msgstr "    -S# [atau --sectors #]: set jumlah dari sectors yang digunakan"
+
+#: fdisk/sfdisk.c:2333
+msgid "You can disable all consistency checking with:"
+msgstr "Anda dapat mematikan seluruh pemeriksaan konsistensi dengan:"
+
+#: fdisk/sfdisk.c:2334
+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"
+
+#: fdisk/sfdisk.c:2340
+msgid "Usage:"
+msgstr "Penggunaan:"
+
+#: fdisk/sfdisk.c:2341
+#, 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"
+
+#: fdisk/sfdisk.c:2342
+#, 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"
+
+#: fdisk/sfdisk.c:2343
+#, 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"
+
+#: fdisk/sfdisk.c:2463
+#, 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"
+
+#: fdisk/sfdisk.c:2466
+#, c-format
+msgid "Use the --force flag to overrule this check.\n"
+msgstr "Gunakan pilihan --force untuk memaksa pemeriksaan ini.\n"
+
+#: fdisk/sfdisk.c:2505
+msgid "no command?\n"
+msgstr "tidak ada perintah?\n"
+
+#: fdisk/sfdisk.c:2637
+#, c-format
+msgid "total: %llu blocks\n"
+msgstr "jumlah: %llu blocks\n"
+
+#: fdisk/sfdisk.c:2680
+msgid "usage: sfdisk --print-id device partition-number\n"
+msgstr "penggunaan: sfdisk --print-id perangkat nomor-partisi\n"
+
+#: fdisk/sfdisk.c:2682
+msgid "usage: sfdisk --change-id device partition-number Id\n"
+msgstr "penggunaan: sfdisk --change-id perangkat nomor-partisi Id\n"
+
+#: fdisk/sfdisk.c:2684
+msgid "usage: sfdisk --id device partition-number [Id]\n"
+msgstr "penggunaan: sfdisk --id perangkat nomor-partisi [Id]\n"
+
+#: fdisk/sfdisk.c:2691
+msgid "can specify only one device (except with -l or -s)\n"
+msgstr ""
+"tidak dapat menspesifikasikan hanya untuk satu perangkat (kecuali dengan "
+"pilihan -l atau -s)\n"
+
+#: fdisk/sfdisk.c:2717
+#, c-format
+msgid "cannot open %s read-write\n"
+msgstr "tidak dapat membuka %s untuk baca-tulis\n"
+
+#: fdisk/sfdisk.c:2719
+#, c-format
+msgid "cannot open %s for reading\n"
+msgstr "tidak dapat membuka %s untuk membaca\n"
+
+#: fdisk/sfdisk.c:2744
+#, c-format
+msgid "%s: OK\n"
+msgstr "%s: OK\n"
+
+#: fdisk/sfdisk.c:2763 fdisk/sfdisk.c:2796
+#, c-format
+msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+msgstr "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+
+#: fdisk/sfdisk.c:2815
+#, c-format
+msgid "Cannot get size of %s\n"
+msgstr "Tidak dapat memperoleh ukuran dari %s\n"
+
+#: fdisk/sfdisk.c:2895
+#, c-format
+msgid "bad active byte: 0x%x instead of 0x80\n"
+msgstr "active byte tidak baik: 0x%x daripada 0x80\n"
+
+#: fdisk/sfdisk.c:2913 fdisk/sfdisk.c:2968 fdisk/sfdisk.c:3001
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+"Selesai\n"
+"\n"
+
+#: fdisk/sfdisk.c:2922
+#, 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"
+
+#: fdisk/sfdisk.c:2938
+#, c-format
+msgid "partition %s has id %x and is not hidden\n"
+msgstr "partisi %s memiliki id %x dan ini tidak disembunyikan\n"
+
+#: fdisk/sfdisk.c:2997
+#, c-format
+msgid "Bad Id %lx\n"
+msgstr "Bad Id %lx\n"
+
+#: fdisk/sfdisk.c:3014
+msgid "This disk is currently in use.\n"
+msgstr "Disk ini saat ini sedang digunakan.\n"
+
+#: fdisk/sfdisk.c:3033
+#, c-format
+msgid "Fatal error: cannot find %s\n"
+msgstr "Fatal error: tidak dapat menemukan %s\n"
+
+#: fdisk/sfdisk.c:3036
+#, c-format
+msgid "Warning: %s is not a block device\n"
+msgstr "Peringatan: %s bukan sebuah perangkat block\n"
+
+#: fdisk/sfdisk.c:3042
+msgid "Checking that no-one is using this disk right now ...\n"
+msgstr "Mengecheck apakah ada yang sedang menggunakan disk saat ini ...\n"
+
+#: fdisk/sfdisk.c:3044
+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"
+
+#: fdisk/sfdisk.c:3048
+msgid "Use the --force flag to overrule all checks.\n"
+msgstr ""
+"Gunakan pilihan --force untuk memaksa pemeriksaan secara keseluruhan.\n"
+
+#: fdisk/sfdisk.c:3052
+msgid "OK\n"
+msgstr "OK\n"
+
+#: fdisk/sfdisk.c:3061
+#, c-format
+msgid "Old situation:\n"
+msgstr "Keadaan lama:\n"
+
+#: fdisk/sfdisk.c:3065
+#, c-format
+msgid "Partition %d does not exist, cannot change it\n"
+msgstr "Partisi %d tidak ada, tidak dapat mengubahnya\n"
+
+#: fdisk/sfdisk.c:3073
+#, c-format
+msgid "New situation:\n"
+msgstr "Keadaan baru:\n"
+
+#: fdisk/sfdisk.c:3078
+msgid ""
+"I don't like these partitions - nothing changed.\n"
+"(If you really want this, use the --force option.)\n"
+msgstr ""
+"Saya tidak suka partisi ini -- tidah ada yang diubah.\n"
+"(Jika anda benar - benar menginginkan ini, gunakan pilihan --force.)\n"
+
+#: fdisk/sfdisk.c:3081
+msgid "I don't like this - probably you should answer No\n"
+msgstr "Saya tidak menyukai ini - mungkin anda seharusnya menjawab No\n"
+
+#: fdisk/sfdisk.c:3086
+#, c-format
+msgid "Are you satisfied with this? [ynq] "
+msgstr "Apakan anda puas dengan keadaan ini? [ynq]"
+
+#: fdisk/sfdisk.c:3088
+#, c-format
+msgid "Do you want to write this to disk? [ynq] "
+msgstr "Anda ingin menulis ini ke disk? [ynq] "
+
+#: fdisk/sfdisk.c:3093
+#, c-format
+msgid ""
+"\n"
+"sfdisk: premature end of input\n"
+msgstr ""
+"\n"
+"sfdisk: premature diakhir dari masukan\n"
+
+#: fdisk/sfdisk.c:3095
+msgid "Quitting - nothing changed\n"
+msgstr "Selesai - tidak ada yang diubah\n"
+
+#: fdisk/sfdisk.c:3101
+#, c-format
+msgid "Please answer one of y,n,q\n"
+msgstr "Tolong jawan salah satu dari y,n,q\n"
+
+#: fdisk/sfdisk.c:3109
+#, c-format
+msgid ""
+"Successfully wrote the new partition table\n"
+"\n"
+msgstr ""
+"Sukses menulis tabel partisi baru\n"
+"\n"
+
+#: fdisk/sfdisk.c:3115
+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"
+
+#: fsck/fsck.c:327
+#, c-format
+msgid "WARNING: couldn't open %s: %s\n"
+msgstr "PERINGATAN: tidak dapat membuka %s: %s\n"
+
+#: fsck/fsck.c:337
+#, c-format
+msgid "WARNING: bad format on line %d of %s\n"
+msgstr "PERINGATAN: format buruk di baris %d dari %s\n"
+
+#: fsck/fsck.c:353
+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 ""
+"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"
+
+#: fsck/fsck.c:461
+#, c-format
+msgid "fsck: %s: not found\n"
+msgstr "fsck: %s: tidak ditemukan\n"
+
+#: fsck/fsck.c:577
+#, c-format
+msgid "%s: wait: No more child process?!?\n"
+msgstr "%s: tunggu: Tida ada proses anak lagi?!?\n"
+
+#: fsck/fsck.c:599
+#, c-format
+msgid "Warning... %s for device %s exited with signal %d.\n"
+msgstr "Peringatan... %s untuk perangkat %s keluar dengan sinyal %d.\n"
+
+#: fsck/fsck.c:605
+#, c-format
+msgid "%s %s: status is %x, should never happen.\n"
+msgstr "%s %s: status adalah %x, seharusnya tidak pernah terjadi.\n"
+
+#: fsck/fsck.c:644
+#, c-format
+msgid "Finished with %s (exit status %d)\n"
+msgstr "Selesai dengan %s (status keluar %d)\n"
+
+#: fsck/fsck.c:704
+#, c-format
+msgid "%s: Error %d while executing fsck.%s for %s\n"
+msgstr "%s: Error %d ketika menjalankan fsck.%s untuk %s\n"
+
+#: fsck/fsck.c:725
+msgid ""
+"Either all or none of the filesystem types passed to -t must be prefixed\n"
+"with 'no' or '!'.\n"
+msgstr ""
+"Baik seluruh atau kosong dari tipe sistem berkas dilewatkan ke -t harus\n"
+"diawali dengan 'no' atau '!'.\n"
+
+#: fsck/fsck.c:744
+msgid "Couldn't allocate memory for filesystem types\n"
+msgstr "Tidak dapat mengalokasikan memori untuk tipe sistem berkas\n"
+
+#: fsck/fsck.c:867
+#, c-format
+msgid ""
+"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass "
+"number\n"
+msgstr ""
+"%s: melewatkan baris buruk dalam /etc/fstab: jalankan mount dengan tahap "
+"bukan nol di fsck\n"
+
+#: fsck/fsck.c:894
+#, c-format
+msgid "fsck: cannot check %s: fsck.%s not found\n"
+msgstr "fsck: tidak dapat memeriksa %s: fsck.%s tidak ditemukan\n"
+
+#: fsck/fsck.c:950
+msgid "Checking all file systems.\n"
+msgstr "Memeriksa seluruh sistem berkas.\n"
+
+#: fsck/fsck.c:1041
+#, c-format
+msgid "--waiting-- (pass %d)\n"
+msgstr "--menunggu-- (tahap %d)\n"
+
+#: fsck/fsck.c:1061
+msgid ""
+"Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]\n"
+msgstr ""
+"Penggunaan: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-optoins] "
+"[filesys ...]\n"
+
+#: fsck/fsck.c:1099
+#, c-format
+msgid "%s: too many devices\n"
+msgstr "%s: terlalu banyak perangkat\n"
+
+#: fsck/fsck.c:1110
+#, c-format
+msgid "Couldn't open %s: %s\n"
+msgstr "Tidak dapat membuka %s: %s\n"
+
+#: fsck/fsck.c:1112
+#, c-format
+msgid "Is /proc mounted?\n"
+msgstr "Apakah /proc telah terpasang?\n"
+
+#: fsck/fsck.c:1121
+#, c-format
+msgid "Must be root to scan for matching filesystems: %s\n"
+msgstr "Harus root untuk dapat memindai untuk mencocokan sistem berkas: %s\n"
+
+#: fsck/fsck.c:1124
+#, c-format
+msgid "Couldn't find matching filesystem: %s\n"
+msgstr "Tidak dapat menemukan sistem berkas yang cocok: %s\n"
+
+#: fsck/fsck.c:1132 fsck/fsck.c:1218
+#, c-format
+msgid "%s: too many arguments\n"
+msgstr "%s: terlalu banyak argumen\n"
+
+#: fsck/fsck.c:1252
+#, c-format
+msgid "fsck from %s\n"
+msgstr "fsck dari %s\n"
+
+#: fsck/fsck.c:1264
+#, c-format
+msgid "%s: Unable to allocate memory for fsck_path\n"
+msgstr "%s: Tidak dapat mengalokasikan memori untuk fsck_path\n"
+
+#: getopt/getopt.c:229
+msgid "Try `getopt --help' for more information.\n"
+msgstr "Coba `getopt --help' untuk informasi lebih lanjut.\n"
+
+#: getopt/getopt.c:295
+msgid "empty long option after -l or --long argument"
+msgstr "long pilihan kosong setelah pilihan -l atau --long argumen"
+
+#: getopt/getopt.c:315
+msgid "unknown shell after -s or --shell argument"
+msgstr "tidak diketahui shell setelah pilihan -s atau --shell argumen"
+
+#: getopt/getopt.c:320
+msgid "Usage: getopt optstring parameters\n"
+msgstr "Penggunaan: getopt optstring parameters\n"
+
+#: getopt/getopt.c:321
+msgid "       getopt [options] [--] optstring parameters\n"
+msgstr "       getopt [pilihan] [--] optstring parameters\n"
+
+#: getopt/getopt.c:322
+msgid "       getopt [options] -o|--options optstring [options] [--]\n"
+msgstr "       getopt [pilihan] -o | --options optstring [pilihan] [--]\n"
+
+#: getopt/getopt.c:323
+msgid "              parameters\n"
+msgstr "              parameters\n"
+
+#: getopt/getopt.c:324
+msgid ""
+"  -a, --alternative            Allow long options starting with single -\n"
+msgstr ""
+"  -a, --alternative            Membolehkan pilihan panjang dimulai dengan "
+"sebuah -\n"
+
+#: getopt/getopt.c:325
+msgid "  -h, --help                   This small usage guide\n"
+msgstr "  -h, --help                   Ini sedikit petunjuk penggunaan\n"
+
+#: getopt/getopt.c:326
+msgid "  -l, --longoptions=longopts   Long options to be recognized\n"
+msgstr "  -l, --longoptions=longopts   Pilihan panjang yang dikenal\n"
+
+#: getopt/getopt.c:327
+msgid ""
+"  -n, --name=progname          The name under which errors are reported\n"
+msgstr "  -n, --name=progname          Nama dimana error tersebut dilaporkan\n"
+
+#: getopt/getopt.c:328
+msgid "  -o, --options=optstring      Short options to be recognized\n"
+msgstr "  -o, --options=optstring      Pilihan pendek yang dikenal\n"
+
+#: getopt/getopt.c:329
+msgid "  -q, --quiet                  Disable error reporting by getopt(3)\n"
+msgstr ""
+"  -q, --quiet                  Mematikan laporan error oleh getopt(3)\n"
+
+#: getopt/getopt.c:330
+msgid "  -Q, --quiet-output           No normal output\n"
+msgstr "  -Q, --quiet-output           Tidak ada output normal\n"
+
+#: getopt/getopt.c:331
+msgid "  -s, --shell=shell            Set shell quoting conventions\n"
+msgstr "  -s, --shell=shell            Mengeset shell quoting conventions\n"
+
+#: getopt/getopt.c:332
+msgid "  -T, --test                   Test for getopt(1) version\n"
+msgstr "  -T, --test                   Test untuk versi getopt(1)\n"
+
+#: getopt/getopt.c:333
+msgid "  -u, --unqote                 Do not quote the output\n"
+msgstr "  -u, --unqote                 Jangan quote output\n"
+
+#: getopt/getopt.c:334
+msgid "  -V, --version                Output version information\n"
+msgstr "  -V, --version                Tampilkan informasi versi\n"
+
+#: getopt/getopt.c:388 getopt/getopt.c:447
+msgid "missing optstring argument"
+msgstr "hilang argument optstring"
+
+#: getopt/getopt.c:435
+#, c-format
+msgid "getopt (enhanced) 1.1.4\n"
+msgstr "getopt (ditingkatkan) 1.1.4\n"
+
+#: getopt/getopt.c:441
+msgid "internal error, contact the author."
+msgstr "kerusakan internal, hubungi author."
+
+#: hwclock/cmos.c:176
+#, c-format
+msgid "booted from MILO\n"
+msgstr "diboot dari MILO\n"
+
+#: hwclock/cmos.c:185
+#, c-format
+msgid "Ruffian BCD clock\n"
+msgstr "Ruffian BCD clock\n"
+
+#: hwclock/cmos.c:201
+#, c-format
+msgid "clockport adjusted to 0x%x\n"
+msgstr "clockport diset ke 0x%x\n"
+
+#: hwclock/cmos.c:213
+#, c-format
+msgid "funky TOY!\n"
+msgstr "funky TOY!\n"
+
+#: hwclock/cmos.c:244
+#, c-format
+msgid "%s: atomic %s failed for 1000 iterations!"
+msgstr "%s: atomic %s gagal untuk 1000 iterasi!"
+
+#: hwclock/cmos.c:273
+#, c-format
+msgid "cmos_read(): write to control address %X failed: %s\n"
+msgstr "cmos_read(): penulisan ke alamat kontrol %X gagal: %s\n"
+
+#: hwclock/cmos.c:276
+#, c-format
+msgid "cmos_read(): read data address %X failed: %s\n"
+msgstr "cmos_read(): penulisan ke alamat data %X gagal: %s\n"
+
+#: hwclock/cmos.c:307
+#, c-format
+msgid "cmos_write(): write to control address %X failed: %s\n"
+msgstr "cmos_write(): penulisan ke alamat kontrol %X gagal: %s\n"
+
+#: hwclock/cmos.c:311
+#, c-format
+msgid "cmos_write(): write to data address %X failed: %s\n"
+msgstr "cmos_write(): penulisan ke alamat data %X gagal: %s\n"
+
+#: hwclock/cmos.c:574
+#, c-format
+msgid "Cannot open /dev/port: %s"
+msgstr "Tidak dapat membuka /dev/port: %s"
+
+#: hwclock/cmos.c:581
+#, c-format
+msgid "I failed to get permission because I didn't try.\n"
+msgstr "Saya gagal memperoleh ijin karen Saya tidak mencobanya.\n"
+
+#: hwclock/cmos.c:584
+#, c-format
+msgid "%s is unable to get I/O port access:  the iopl(3) call failed.\n"
+msgstr ""
+"%s tidak dapat memperoleh ijin I/O port akses: iopl(3) panggilan gagal.\n"
+
+#: hwclock/cmos.c:587
+#, c-format
+msgid "Probably you need root privileges.\n"
+msgstr "Mungkin anda butuk kewenangan root.\n"
+
+#: hwclock/hwclock.c:231
+#, c-format
+msgid "Assuming hardware clock is kept in %s time.\n"
+msgstr "Diasumsikan clock hardware tetap di waktu %s.\n"
+
+#: hwclock/hwclock.c:232 hwclock/hwclock.c:327
+msgid "UTC"
+msgstr "UTC"
+
+#: hwclock/hwclock.c:232 hwclock/hwclock.c:326
+msgid "local"
+msgstr "lokal"
+
+#: hwclock/hwclock.c:312
+#, c-format
+msgid "%s: Warning: unrecognized third line in adjtime file\n"
+msgstr "%s: Peringatan: tidak dikenal baris ketiga di adjtime file\n"
+
+#: hwclock/hwclock.c:314
+#, c-format
+msgid "(Expected: `UTC' or `LOCAL' or nothing.)\n"
+msgstr "(Diperkirakan: `UTC' atau `LOKAL' atau kosong.)\n"
+
+#: hwclock/hwclock.c:321
+#, c-format
+msgid "Last drift adjustment done at %ld seconds after 1969\n"
+msgstr "Penyesuaian drift terakhir dilakukan pada %ld detik setelah 1969\n"
+
+#: hwclock/hwclock.c:323
+#, c-format
+msgid "Last calibration done at %ld seconds after 1969\n"
+msgstr "Kalibrasi terakhir dilakuka di %ld detik setelah 1969\n"
+
+#: hwclock/hwclock.c:325
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr "Hardware clock adalah di waktu %s\n"
+
+#: hwclock/hwclock.c:327
+msgid "unknown"
+msgstr "tidak diketahui"
+
+#: hwclock/hwclock.c:351
+#, c-format
+msgid "Waiting for clock tick...\n"
+msgstr "Menunggu untuk clock tick...\n"
+
+#: hwclock/hwclock.c:357
+#, c-format
+msgid "...synchronization failed\n"
+msgstr "...sinkronisasi gagal\n"
+
+#: hwclock/hwclock.c:359
+#, c-format
+msgid "...got clock tick\n"
+msgstr "...diperoleh clock tick\n"
+
+#: hwclock/hwclock.c:413
+#, 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"
+
+#: hwclock/hwclock.c:421
+#, 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"
+
+#: hwclock/hwclock.c:451
+#, 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"
+
+#: hwclock/hwclock.c:480
+#, 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"
+
+#: hwclock/hwclock.c:486
+#, c-format
+msgid "Clock not changed - testing only.\n"
+msgstr "Clock tidak diubah - hanya mencoba.\n"
+
+#: hwclock/hwclock.c:536
+#, 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"
+
+#: hwclock/hwclock.c:572
+#, c-format
+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).\n"
+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"
+
+#: hwclock/hwclock.c:582
+#, c-format
+msgid "%s  %.6f seconds\n"
+msgstr "%s  %.6f detik\n"
+
+#: hwclock/hwclock.c:616
+#, c-format
+msgid "No --date option specified.\n"
+msgstr "Pilihan --date tidak dispesifikasikan.\n"
+
+#: hwclock/hwclock.c:622
+#, c-format
+msgid "--date argument too long\n"
+msgstr "argumen --date terlalu panjang\n"
+
+#: hwclock/hwclock.c:629
+#, c-format
+msgid ""
+"The value of the --date option is not a valid date.\n"
+"In particular, it contains quotation marks.\n"
+msgstr ""
+"Nilai dari pilihan --date tidak meupakan tanggal yang sah.\n"
+"Kadang kala, itu berisi tanda petik.\n"
+
+#: hwclock/hwclock.c:637
+#, c-format
+msgid "Issuing date command: %s\n"
+msgstr "Mengisukan perintah date: %s\n"
+
+#: hwclock/hwclock.c:641
+msgid "Unable to run 'date' program in /bin/sh shell. popen() failed"
+msgstr ""
+"Tidak dapat menjalankan aplikasi 'date' di shell /bin/sh. popen() gagal"
+
+#: hwclock/hwclock.c:649
+#, c-format
+msgid "response from date command = %s\n"
+msgstr "respon dari perintah date = %s\n"
+
+#: hwclock/hwclock.c:651
+#, c-format
+msgid ""
+"The date command issued by %s returned unexpected results.\n"
+"The command was:\n"
+"  %s\n"
+"The response was:\n"
+"  %s\n"
+msgstr ""
+"Perintah date diberikan oleh %s memberikan hasil yang tidak diperkirakan.\n"
+"Perintah adalah:\n"
+"  %s\n"
+"Respon adalah:\n"
+"  %s\n"
+
+#: hwclock/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"
+
+#: hwclock/hwclock.c:674
+#, c-format
+msgid "date string %s equates to %ld seconds since 1969.\n"
+msgstr "date string %s sama dengan %ld detik semenjak 1969.\n"
+
+#: hwclock/hwclock.c:706
+#, c-format
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot set the "
+"System Time from it.\n"
+msgstr ""
+"Hardware Clock tidak berisi waktu yang valid, jadi kita tidak dapat menset "
+"Waktu System dari waktu ini.\n"
+
+#: hwclock/hwclock.c:728 hwclock/hwclock.c:805
+#, c-format
+msgid "Calling settimeofday:\n"
+msgstr "Memanggil settimeofday:\n"
+
+#: hwclock/hwclock.c:729 hwclock/hwclock.c:807
+#, c-format
+msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+
+#: hwclock/hwclock.c:731 hwclock/hwclock.c:809
+#, c-format
+msgid "\ttz.tz_minuteswest = %d\n"
+msgstr "\ttz.tz_minuteswest = %d\n"
+
+#: hwclock/hwclock.c:734 hwclock/hwclock.c:812
+#, c-format
+msgid "Not setting system clock because running in test mode.\n"
+msgstr "Tidak menset system clock karena berjalan dalam mode test.\n"
+
+#: hwclock/hwclock.c:743 hwclock/hwclock.c:821
+#, c-format
+msgid "Must be superuser to set system clock.\n"
+msgstr "Harus menjadi superuser untuk menset system clock.\n"
+
+#: hwclock/hwclock.c:746 hwclock/hwclock.c:824
+msgid "settimeofday() failed"
+msgstr "settimeofday() gagal"
+
+#: hwclock/hwclock.c:782
+#, c-format
+msgid "Current system time: %ld = %s\n"
+msgstr "Waktu sistem sekarang: %ld = %s\n"
+
+#: hwclock/hwclock.c:806
+#, c-format
+msgid "\tUTC: %s\n"
+msgstr "\tUTC: %s\n"
+
+#: hwclock/hwclock.c:853
+#, 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"
+
+#: hwclock/hwclock.c:858
+#, 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"
+
+#: hwclock/hwclock.c:864
+#, 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"
+
+#: hwclock/hwclock.c:912
+#, 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"
+
+#: hwclock/hwclock.c:962
+#, c-format
+msgid "Time since last adjustment is %d seconds\n"
+msgstr "Waktu semenjak penyesuaian terakhir adalah %d detik\n"
+
+#: hwclock/hwclock.c:964
+#, 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"
+
+#: hwclock/hwclock.c:993
+#, c-format
+msgid "Not updating adjtime file because of testing mode.\n"
+msgstr "Tidak meng-update adjtime file karen dalam mode testing.\n"
+
+#: hwclock/hwclock.c:994
+#, c-format
+msgid ""
+"Would have written the following to %s:\n"
+"%s"
+msgstr ""
+"Inginkah anda menulis berikut ini ke %s:\n"
+"%s"
+
+#: hwclock/hwclock.c:1002
+#, 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"
+
+#: hwclock/hwclock.c:1007 hwclock/hwclock.c:1012
+#, 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"
+
+#: hwclock/hwclock.c:1018
+#, c-format
+msgid "Drift adjustment parameters not updated.\n"
+msgstr "Parameter adjusment drift tidak di update.\n"
+
+#: hwclock/hwclock.c:1059
+#, c-format
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot adjust it.\n"
+msgstr ""
+"Clock hardware tidak berisi waktu yang valid, jadi kita tidak bisa "
+"membetulkannya.\n"
+
+#: hwclock/hwclock.c:1067
+#, 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."
+
+#: hwclock/hwclock.c:1090
+#, 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"
+
+#: hwclock/hwclock.c:1116
+#, c-format
+msgid "Using %s.\n"
+msgstr "Menggunakan %s.\n"
+
+#: hwclock/hwclock.c:1118
+#, c-format
+msgid "No usable clock interface found.\n"
+msgstr "Tidak ditemukan antarmuka clock yang berguna.\n"
+
+#: hwclock/hwclock.c:1222 hwclock/hwclock.c:1228
+#, c-format
+msgid "Unable to set system clock.\n"
+msgstr "Tidak dapat menset system clock.\n"
+
+#: hwclock/hwclock.c:1258
+#, c-format
+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.\n"
+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"
+
+#: hwclock/hwclock.c:1267
+#, c-format
+msgid "Unable to get the epoch value from the kernel.\n"
+msgstr "Tidak dapat memperoleh nilai epoch dari kernel.\n"
+
+#: hwclock/hwclock.c:1269
+#, c-format
+msgid "Kernel is assuming an epoch value of %lu\n"
+msgstr "Kernel mengasumsikan menggunakan nilai epoch dari %lu\n"
+
+#: hwclock/hwclock.c:1272
+#, c-format
+msgid ""
+"To set the epoch value, you must use the 'epoch' option to tell to what "
+"value to set it.\n"
+msgstr ""
+"Untuk menset nilai epoch, anda harus menggunakan pilihan 'epoch' untuk "
+"memberitahukan nilai untuk mensetnya.\n"
+
+#: hwclock/hwclock.c:1275
+#, c-format
+msgid "Not setting the epoch to %d - testing only.\n"
+msgstr "Tidak menset epoch ke %d - masih dalam pengetesan.\n"
+
+#: hwclock/hwclock.c:1278
+#, c-format
+msgid "Unable to set the epoch value in the kernel.\n"
+msgstr "Tidak dapat menset nilai epoch dalam kernel.\n"
+
+#: hwclock/hwclock.c:1291 misc-utils/cal.c:345 misc-utils/kill.c:189
+#, c-format
+msgid "%s from %s\n"
+msgstr "%s dari %s\n"
+
+#: hwclock/hwclock.c:1312
+#, c-format
+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"
+"  -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"
+
+#: hwclock/hwclock.c:1347
+#, c-format
+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"
+
+#: hwclock/hwclock.c:1434
+#, c-format
+msgid "%s: Unable to connect to audit system\n"
+msgstr "%s: Tidak dapat menghubungi ke sistem audit\n"
+
+#: hwclock/hwclock.c:1552
+#, c-format
+msgid "%s takes no non-option arguments.  You supplied %d.\n"
+msgstr "%s tidak membutuhkan argument. Anda memberikan %d.\n"
+
+#: hwclock/hwclock.c:1559
+#, c-format
+msgid ""
+"You have specified multiple functions.\n"
+"You can only perform one function at a time.\n"
+msgstr ""
+"Anda telah menspesifikasi beberapa fungsi.\n"
+"Anda hanya dapat melakukan satu fungsi dalam satu waktu.\n"
+
+#: hwclock/hwclock.c:1566
+#, c-format
+msgid ""
+"%s: The --utc and --localtime options are mutually exclusive.  You specified "
+"both.\n"
+msgstr ""
+"%s: Pilihan --utc dan --localtime adalah mutually eksklusive. Anda "
+"menspesifikasikan keduanya.\n"
+
+#: hwclock/hwclock.c:1573
+#, c-format
+msgid ""
+"%s: The --adjust and --noadjfile options are mutually exclusive.  You "
+"specified both.\n"
+msgstr ""
+"%s: Pilihan --adjust dan --noadjfile adalah mutually eksklusive. Anda "
+"menspesifikasikan keduanya.\n"
+
+#: hwclock/hwclock.c:1580
+#, c-format
+msgid ""
+"%s: The --adjfile and --noadjfile options are mutually exclusive.  You "
+"specified both.\n"
+msgstr ""
+"%s: Pilihan --adjfile dan --noadjfile adalah mutually eksklusive. Anda "
+"menspesifikasikan keduanya.\n"
+
+#: hwclock/hwclock.c:1589
+#, c-format
+msgid "%s: With --noadjfile, you must specify either --utc or --localtime\n"
+msgstr ""
+"%s: Dengan --noadjfile, anda harus menspesifikasi baik --utc atau --"
+"localtime\n"
+
+#: hwclock/hwclock.c:1603
+#, c-format
+msgid "No usable set-to time.  Cannot set clock.\n"
+msgstr "Tidak ada set-to time yang berguna. Tidak dapat menset clock.\n"
+
+#: hwclock/hwclock.c:1620
+#, c-format
+msgid "Sorry, only the superuser can change the Hardware Clock.\n"
+msgstr "Maaf, hanya superuser yang dapat mengubah Hardware Clock.\n"
+
+#: hwclock/hwclock.c:1625
+#, c-format
+msgid "Sorry, only the superuser can change the System Clock.\n"
+msgstr "Maaf, hanya superuser yang dapat mengubah System Clock.\n"
+
+#: hwclock/hwclock.c:1630
+#, c-format
+msgid ""
+"Sorry, only the superuser can change the Hardware Clock epoch in the "
+"kernel.\n"
+msgstr ""
+"Maaf, hanya superuser yang dapat mengubah Hardware Clock epoch di dalam "
+"kernel.\n"
+
+#: hwclock/hwclock.c:1651
+#, c-format
+msgid "Cannot access the Hardware Clock via any known method.\n"
+msgstr ""
+"Tidak dapat mengakses Hardware Clock melalui semua metode yang diketahui.\n"
+
+#: hwclock/hwclock.c:1655
+#, c-format
+msgid ""
+"Use the --debug option to see the details of our search for an access "
+"method.\n"
+msgstr ""
+"Gunakan pilihan --debug untuk melihat detail dari pencarian kita untuk "
+"sebuah metode akses.\n"
+
+#: hwclock/kd.c:53
+#, c-format
+msgid "Waiting in loop for time from KDGHWCLK to change\n"
+msgstr "Menunggu dalam loop untuk waktu dari KDGHWCLK untuk berubah\n"
+
+#: hwclock/kd.c:56
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr "KDGHWCLK ioctl untuk membaca waktu gagal"
+
+#: hwclock/kd.c:77 hwclock/rtc.c:221
+#, c-format
+msgid "Timed out waiting for time change.\n"
+msgstr "Waktu habis menunggu untuk perubahan waktu.\n"
+
+#: hwclock/kd.c:81
+msgid "KDGHWCLK ioctl to read time failed in loop"
+msgstr "KDGHWCLK ioctl untuk membaca waktu gagal dalam loop"
+
+#: hwclock/kd.c:103
+#, c-format
+msgid "ioctl() failed to read time from %s"
+msgstr "ioctl() gagal untuk membaca waktu dari %s"
+
+#: hwclock/kd.c:139
+msgid "ioctl KDSHWCLK failed"
+msgstr "ioctl KDSHWCLK gagal"
+
+#: hwclock/kd.c:175
+msgid "Can't open /dev/tty1 or /dev/vc/1"
+msgstr "Tidak dapat membuka /dev/tty1 atau /dev/vc/1"
+
+#: hwclock/kd.c:179
+msgid "KDGHWCLK ioctl failed"
+msgstr "KDGHWCLK ioctl gagal"
+
+#: hwclock/rtc.c:147 hwclock/rtc.c:241
+#, c-format
+msgid "open() of %s failed"
+msgstr "open() dari %s gagal"
+
+#: hwclock/rtc.c:181
+#, c-format
+msgid "ioctl() to %s to read the time failed.\n"
+msgstr "ioctl() untuk %s untuk membaca waktu gagal.\n"
+
+#: hwclock/rtc.c:203
+#, c-format
+msgid "Waiting in loop for time from %s to change\n"
+msgstr "Menunggu dalam loop untuk waktu dari %s untuk perubahan\n"
+
+#: hwclock/rtc.c:259
+#, c-format
+msgid "%s does not have interrupt functions. "
+msgstr "%s tidak memiliki fungsi interupsi. "
+
+#: hwclock/rtc.c:270
+#, c-format
+msgid "read() to %s to wait for clock tick failed"
+msgstr "read() untuk %s untuk menunggu clock tick gagal"
+
+#: hwclock/rtc.c:288
+#, c-format
+msgid "select() to %s to wait for clock tick failed"
+msgstr "select() untuk %s untuk menunggu clock tick gagal"
+
+#: hwclock/rtc.c:291
+#, c-format
+msgid "select() to %s to wait for clock tick timed out\n"
+msgstr "select() untuk %s waktu habis untuk menunggu clock tick\n"
+
+#: hwclock/rtc.c:300
+#, c-format
+msgid "ioctl() to %s to turn off update interrupts failed"
+msgstr "ioctl() untuk %s untuk mematikan interupsi update gagal"
+
+#: hwclock/rtc.c:303
+#, 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"
+
+#: hwclock/rtc.c:360
+#, c-format
+msgid "ioctl() to %s to set the time failed.\n"
+msgstr "ioctl() untuk %s untuk menset waktu gagal.\n"
+
+#: hwclock/rtc.c:366
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr "ioctl(%s) berhasil.\n"
+
+#: hwclock/rtc.c:392
+#, c-format
+msgid "Open of %s failed"
+msgstr "Membuka untuk %s gagal"
+
+#: hwclock/rtc.c:410 hwclock/rtc.c:454
+#, 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.\n"
+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"
+
+#: hwclock/rtc.c:415 hwclock/rtc.c:459
+#, c-format
+msgid "Unable to open %s"
+msgstr "Tidak dapat membuka %s"
+
+#: hwclock/rtc.c:422
+#, c-format
+msgid "ioctl(RTC_EPOCH_READ) to %s failed"
+msgstr "ioctl(RTC_EPOCH_READ) untuk %s gagal"
+
+#: hwclock/rtc.c:427
+#, 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"
+
+#: hwclock/rtc.c:446
+#, c-format
+msgid "The epoch value may not be less than 1900.  You requested %ld\n"
+msgstr "Nilai epoch mungkin tidak kurang dari 1900. Anda meminta %ld\n"
+
+#: hwclock/rtc.c:464
+#, 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"
+
+#: hwclock/rtc.c:469
+#, c-format
+msgid ""
+"The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl.\n"
+msgstr "Kernel device driver untuk %s tidak memiliki ioctl RTC_EPOCH_SET.\n"
+
+#: hwclock/rtc.c:472
+#, c-format
+msgid "ioctl(RTC_EPOCH_SET) to %s failed"
+msgstr "ioctl(RTC_EPOCH_SET) ke %s gagal"
+
+#: login-utils/agetty.c:361
+#, c-format
+msgid "%s: can't exec %s: %m"
+msgstr "%s: tidak dapat mengeksekusi %s: %m"
+
+#: login-utils/agetty.c:384
+msgid "can't malloc initstring"
+msgstr "tidak dapt melakukan malloc initstring"
+
+#: login-utils/agetty.c:449
+#, c-format
+msgid "bad timeout value: %s"
+msgstr "nilai waktu timeout buruk: %s"
+
+#: login-utils/agetty.c:526
+#, c-format
+msgid "bad speed: %s"
+msgstr "kecepatan yang buruk: %s"
+
+#: login-utils/agetty.c:528
+msgid "too many alternate speeds"
+msgstr "terlalu banyan kecepatan alternative"
+
+#: login-utils/agetty.c:630
+#, c-format
+msgid "/dev: chdir() failed: %m"
+msgstr "/dev: chdir() gagal: %m"
+
+#: login-utils/agetty.c:634
+#, c-format
+msgid "/dev/%s: not a character device"
+msgstr "/dev/%s: bukan sebuah character device"
+
+#: login-utils/agetty.c:643
+#, c-format
+msgid "/dev/%s: cannot open as standard input: %m"
+msgstr "/dev/%s: tidak dapat membuka sebagai standard input: %m"
+
+#: login-utils/agetty.c:653
+#, c-format
+msgid "%s: not open for read/write"
+msgstr "%s: tidak dapat membuka untuk baca/tulis"
+
+#: login-utils/agetty.c:659
+#, c-format
+msgid "%s: dup problem: %m"
+msgstr "%s: masalah dup: %m"
+
+#: login-utils/agetty.c:946
+#, c-format
+msgid "user"
+msgstr "pengguna"
+
+#: login-utils/agetty.c:946
+#, c-format
+msgid "users"
+msgstr "pengguna"
+
+#: login-utils/agetty.c:1031
+#, c-format
+msgid "%s: read: %m"
+msgstr "%s: membaca: %m"
+
+#: login-utils/agetty.c:1078
+#, c-format
+msgid "%s: input overrun"
+msgstr "%s: masukan overrun"
+
+#: login-utils/agetty.c:1207
+#, c-format
+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 ""
+"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"
+
+#: login-utils/checktty.c:91 login-utils/checktty.c:112
+#, c-format
+msgid "login: memory low, login may fail\n"
+msgstr "login: memory sedikit, login mungkin gagal\n"
+
+#: login-utils/checktty.c:92
+msgid "can't malloc for ttyclass"
+msgstr "tidak dapat melakukan malloc untuk ttyclass"
+
+#: login-utils/checktty.c:113
+msgid "can't malloc for grplist"
+msgstr "tidak dapat melakukan malloc untuk grplist"
+
+#: login-utils/checktty.c:554
+#, c-format
+msgid "Login on %s from %s denied by default.\n"
+msgstr "Login di %s dari %s ditolak secara dafault.\n"
+
+#: login-utils/checktty.c:565
+#, c-format
+msgid "Login on %s from %s denied.\n"
+msgstr "Login di %s dari %s ditolak.\n"
+
+#: login-utils/chfn.c:133 login-utils/chsh.c:119
+#, c-format
+msgid "%s: you (user %d) don't exist.\n"
+msgstr "%s: anda (pengguna %d) tidak ada.\n"
+
+#: login-utils/chfn.c:140 login-utils/chsh.c:126
+#, c-format
+msgid "%s: user \"%s\" does not exist.\n"
+msgstr "%s: pengguna \"%s\" tidak ada.\n"
+
+#: login-utils/chfn.c:145 login-utils/chsh.c:131
+#, c-format
+msgid "%s: can only change local entries; use yp%s instead.\n"
+msgstr "%s: hanya dapat mengubah masukan local; gunakan yp%s.\n"
+
+#: login-utils/chfn.c:156 login-utils/chsh.c:142
+msgid "Unknown user context"
+msgstr "Context pengguna tidak diketahui"
+
+#: login-utils/chfn.c:157
+#, c-format
+msgid "%s: %s is not authorized to change the finger info of %s\n"
+msgstr "%s: %s tidak diperbolehkan untuk mengubah informasi finger dari %s\n"
+
+#: login-utils/chfn.c:164 login-utils/chsh.c:150
+#, c-format
+msgid "%s: Can't set default context for /etc/passwd"
+msgstr "%s: Tidak dapat menset default context untuk /etc/passwd"
+
+#: login-utils/chfn.c:178
+#, c-format
+msgid "Changing finger information for %s.\n"
+msgstr "Mengubah informasi finger untuk %s.\n"
+
+#: login-utils/chfn.c:189 login-utils/chsh.c:188 login-utils/login.c:572
+#, c-format
+msgid "%s: PAM failure, aborting: %s\n"
+msgstr "%s: PAM Gagal, membatalkan: %s\n"
+
+#: login-utils/chfn.c:212 login-utils/chsh.c:211 login-utils/login.c:823
+#: login-utils/newgrp.c:85 login-utils/simpleinit.c:340 mount/lomount.c:744
+#: mount/lomount.c:747
+msgid "Password: "
+msgstr "Password: "
+
+#: login-utils/chfn.c:215 login-utils/chsh.c:214
+msgid "Incorrect password."
+msgstr "Password salah."
+
+#: login-utils/chfn.c:226
+#, c-format
+msgid "Finger information not changed.\n"
+msgstr "Informasi finger tidak berubah.\n"
+
+#: login-utils/chfn.c:328
+#, c-format
+msgid "Usage: %s [ -f full-name ] [ -o office ] "
+msgstr "Penggunaan: %s [ -f full-name ] [ -o office ] "
+
+#: login-utils/chfn.c:329
+#, c-format
+msgid ""
+"[ -p office-phone ]\n"
+"\t[ -h home-phone ] "
+msgstr ""
+"[ -p office-phone ]\n"
+"\t[ -h home-phone ] "
+
+#: login-utils/chfn.c:330
+#, c-format
+msgid "[ --help ] [ --version ]\n"
+msgstr "[ --help ] [ --version ]\n"
+
+#: login-utils/chfn.c:378
+msgid "Office"
+msgstr "Kantor"
+
+#: login-utils/chfn.c:379
+msgid "Office Phone"
+msgstr "Telepon Kantor"
+
+#: login-utils/chfn.c:380
+msgid "Home Phone"
+msgstr "Telepon Rumah"
+
+#: login-utils/chfn.c:401 login-utils/chsh.c:321
+#, c-format
+msgid ""
+"\n"
+"Aborted.\n"
+msgstr ""
+"\n"
+"Dibatalkan.\n"
+
+#: login-utils/chfn.c:434
+#, c-format
+msgid "field is too long.\n"
+msgstr "field terlalu panjang.\n"
+
+#: login-utils/chfn.c:442
+#, c-format
+msgid "'%c' is not allowed.\n"
+msgstr "'%c' tidak diperbolehkan.\n"
+
+#: login-utils/chfn.c:447
+#, c-format
+msgid "Control characters are not allowed.\n"
+msgstr "Character control tidak diperbolehkan.\n"
+
+#: login-utils/chfn.c:512
+#, c-format
+msgid "Finger information *NOT* changed.  Try again later.\n"
+msgstr "Informasi finger *TIDAT* diubah. Coba lagi nanti.\n"
+
+#: login-utils/chfn.c:515
+#, c-format
+msgid "Finger information changed.\n"
+msgstr "Informasi finger berubah.\n"
+
+#: login-utils/chsh.c:143
+#, c-format
+msgid "%s: %s is not authorized to change the shell of %s\n"
+msgstr "%s: %s tidak diijinkan untuk mengubah shell dari %s\n"
+
+#: login-utils/chsh.c:164
+#, c-format
+msgid ""
+"%s: Running UID doesn't match UID of user we're altering, shell change "
+"denied\n"
+msgstr ""
+"%s: UID yang digunakan tidak cocok dengan UID dari pengguna yang "
+"mengubahnya, perubahan shell ditolak\n"
+
+#: login-utils/chsh.c:170
+#, c-format
+msgid "%s: Your shell is not in /etc/shells, shell change denied\n"
+msgstr ""
+"%s: Shell anda tidak ada dalam daftar /etc/shells, perubahan shell ditolak\n"
+
+#: login-utils/chsh.c:177
+#, c-format
+msgid "Changing shell for %s.\n"
+msgstr "Merubah shell untuk %s.\n"
+
+#: login-utils/chsh.c:222
+msgid "New shell"
+msgstr "Shell baru"
+
+#: login-utils/chsh.c:229
+#, c-format
+msgid "Shell not changed.\n"
+msgstr "Shell tidak berubah.\n"
+
+#: login-utils/chsh.c:235
+#, c-format
+msgid "Shell *NOT* changed.  Try again later.\n"
+msgstr "Shell *TIDAK* berubah. Coba lagi nanti.\n"
+
+#: login-utils/chsh.c:238
+#, c-format
+msgid "Shell changed.\n"
+msgstr "Shell berubah.\n"
+
+#: login-utils/chsh.c:303
+#, c-format
+msgid ""
+"Usage: %s [ -s shell ] [ --list-shells ] [ --help ] [ --version ]\n"
+"       [ username ]\n"
+msgstr ""
+"Penggunaan: %s [ -s shell ] [ --list-shells ] [ --help ] [ --version ]\n"
+"       [ username ]\n"
+
+#: login-utils/chsh.c:349
+#, c-format
+msgid "%s: shell must be a full path name.\n"
+msgstr "%s: shell harus berada dalam full path name.\n"
+
+#: login-utils/chsh.c:353
+#, c-format
+msgid "%s: \"%s\" does not exist.\n"
+msgstr "%s: \"%s\" tidak ada.\n"
+
+#: login-utils/chsh.c:357
+#, c-format
+msgid "%s: \"%s\" is not executable.\n"
+msgstr "%s: \"%s\" bukan sebuah executable.\n"
+
+#: login-utils/chsh.c:364
+#, c-format
+msgid "%s: '%c' is not allowed.\n"
+msgstr "%s: '%c' tidak diperbolehkan.\n"
+
+#: login-utils/chsh.c:368
+#, c-format
+msgid "%s: Control characters are not allowed.\n"
+msgstr "%s: Karakter Kontrol tidak diperbolehkan.\n"
+
+#: login-utils/chsh.c:375 login-utils/chsh.c:385
+#, c-format
+msgid "Warning: \"%s\" is not listed in /etc/shells.\n"
+msgstr "Peringatan: \"%s\" tidak terdaftar dalam /etc/shells.\n"
+
+#: login-utils/chsh.c:377
+#, c-format
+msgid "%s: \"%s\" is not listed in /etc/shells.\n"
+msgstr "%s: \"%s\" tidak terdaftar dalam /etc/shells.\n"
+
+#: login-utils/chsh.c:379
+#, c-format
+msgid "%s: Use -l option to see list.\n"
+msgstr "%s: gunakan pilihan -l untuk melihat daftar.\n"
+
+#: login-utils/chsh.c:386
+#, c-format
+msgid "Use %s -l to see list.\n"
+msgstr "Gunakan %s -l untuk melihat list.\n"
+
+#: login-utils/chsh.c:406
+#, c-format
+msgid "No known shells.\n"
+msgstr "Tidak ada shells yang diketahui.\n"
+
+#: login-utils/islocal.c:87
+#, c-format
+msgid "Failed to open %s for reading, exiting."
+msgstr "Gagal membuka %s untuk membaca, keluar."
+
+#: login-utils/last.c:148
+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:284
+msgid "  still logged in"
+msgstr "  tetap logged in"
+
+#: login-utils/last.c:306
+#, c-format
+msgid ""
+"\n"
+"wtmp begins %s"
+msgstr ""
+"\n"
+"wtmp dimulai %s"
+
+#: login-utils/last.c:362 login-utils/last.c:380 login-utils/last.c:431
+msgid "last: malloc failure.\n"
+msgstr "last: malloc gagal.\n"
+
+#: login-utils/last.c:407
+msgid "last: gethostname"
+msgstr "last: gethostname"
+
+#: login-utils/last.c:456
+#, c-format
+msgid ""
+"\n"
+"interrupted %10.10s %5.5s \n"
+msgstr ""
+"\n"
+"interupsi %10.10s %5.5s \n"
+
+#: login-utils/login.c:197
+#, c-format
+msgid "FATAL: can't reopen tty: %s"
+msgstr "FATAL: tidak dapat membuka tty: %s"
+
+#: login-utils/login.c:229
+msgid "FATAL: bad tty"
+msgstr "FATAL: tty buruk"
+
+#: login-utils/login.c:436
+#, c-format
+msgid "login: -h for super-user only.\n"
+msgstr "login: -h hanya untuk super-user.\n"
+
+#: login-utils/login.c:479
+#, c-format
+msgid "usage: login [-fp] [username]\n"
+msgstr "penggunaan: login [-fp] [pengguna]\n"
+
+#: login-utils/login.c:574
+#, c-format
+msgid "Couldn't initialize PAM: %s"
+msgstr "Tidak dapat menginitialisasi PAM: %s"
+
+#: login-utils/login.c:591
+msgid "login: "
+msgstr "login: "
+
+#: login-utils/login.c:635
+#, c-format
+msgid "FAILED LOGIN %d FROM %s FOR %s, %s"
+msgstr "GAGAL LOGIN %d DARI %s UNTUK %s, %s"
+
+#: login-utils/login.c:640
+#, c-format
+msgid ""
+"Login incorrect\n"
+"\n"
+msgstr ""
+"Login tidak benar\n"
+"\n"
+
+#: login-utils/login.c:649
+#, c-format
+msgid "TOO MANY LOGIN TRIES (%d) FROM %s FOR %s, %s"
+msgstr "TERLALU BANYAK LOGIN DICOBA (%d) DARI %s UNTUK %s, %s"
+
+#: login-utils/login.c:653
+#, c-format
+msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
+msgstr "GAGAL SESI LOGIN DARI %s UNTUK %s, %s"
+
+#: login-utils/login.c:658
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+"\n"
+"Login tidak benar\n"
+
+#: login-utils/login.c:686 login-utils/login.c:693 login-utils/login.c:727
+#, c-format
+msgid ""
+"\n"
+"Session setup problem, abort.\n"
+msgstr ""
+"\n"
+"Masalah dari sesi setup, batal.\n"
+
+#: login-utils/login.c:687
+#, c-format
+msgid "NULL user name in %s:%d. Abort."
+msgstr "KOSONG di pengguna (username) dalam %s: %d. Batal."
+
+#: login-utils/login.c:694
+#, 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:713
+#, c-format
+msgid "login: Out of memory\n"
+msgstr "login: Kehabisan memory\n"
+
+#: login-utils/login.c:757
+msgid "Illegal username"
+msgstr "Username (pengguna) tidak legal"
+
+#: login-utils/login.c:800
+#, c-format
+msgid "%s login refused on this terminal.\n"
+msgstr "%s login ditolak di terminal ini.\n"
+
+#: login-utils/login.c:805
+#, c-format
+msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
+msgstr "LOGIN %s DITOLAK DARI %s DI TTY %s"
+
+#: login-utils/login.c:809
+#, c-format
+msgid "LOGIN %s REFUSED ON TTY %s"
+msgstr "LOGIN %s DITOLAK DI TTY %s"
+
+#: login-utils/login.c:863
+#, c-format
+msgid "Login incorrect\n"
+msgstr "Login tidak benar\n"
+
+#: login-utils/login.c:1088
+#, c-format
+msgid "DIALUP AT %s BY %s"
+msgstr "DIALUP PADA %s OLEH %s"
+
+#: login-utils/login.c:1095
+#, c-format
+msgid "ROOT LOGIN ON %s FROM %s"
+msgstr "ROOT LOGIN DI %s DARI %s"
+
+#: login-utils/login.c:1098
+#, c-format
+msgid "ROOT LOGIN ON %s"
+msgstr "ROOT LOGIN DI %s"
+
+#: login-utils/login.c:1101
+#, c-format
+msgid "LOGIN ON %s BY %s FROM %s"
+msgstr "LOGIN DI %s OLEH %s DARI %s"
+
+#: login-utils/login.c:1104
+#, c-format
+msgid "LOGIN ON %s BY %s"
+msgstr "LOGIN DI %s OLEH %s"
+
+#: login-utils/login.c:1125
+#, c-format
+msgid "You have new mail.\n"
+msgstr "Anda memiliki mail baru.\n"
+
+#: login-utils/login.c:1127
+#, c-format
+msgid "You have mail.\n"
+msgstr "Anda memiliki mail.\n"
+
+#: login-utils/login.c:1171
+#, c-format
+msgid "login: failure forking: %s"
+msgstr "login: gagal forking: %s"
+
+#: login-utils/login.c:1218
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr "TIOCSCTTY gagal: %m"
+
+#: login-utils/login.c:1224
+msgid "setuid() failed"
+msgstr "setuid() gagal"
+
+#: login-utils/login.c:1230
+#, c-format
+msgid "No directory %s!\n"
+msgstr "Bukan direktori %s!\n"
+
+#: login-utils/login.c:1234
+#, c-format
+msgid "Logging in with home = \"/\".\n"
+msgstr "Logging in dengan home = \"/\".\n"
+
+#: login-utils/login.c:1242
+#, c-format
+msgid "login: no memory for shell script.\n"
+msgstr "login: tidak ada memory untuk shell script.\n"
+
+#: login-utils/login.c:1269
+#, c-format
+msgid "login: couldn't exec shell script: %s.\n"
+msgstr "login: tidak dapat mengeksekusi shell script: %s.\n"
+
+#: login-utils/login.c:1272
+#, c-format
+msgid "login: no shell: %s.\n"
+msgstr "login: tidak ada shell: %s.\n"
+
+#: login-utils/login.c:1287
+#, c-format
+msgid ""
+"\n"
+"%s login: "
+msgstr ""
+"\n"
+"%s login: "
+
+#: login-utils/login.c:1298
+#, c-format
+msgid "login name much too long.\n"
+msgstr "nama login terlalu panjang.\n"
+
+#: login-utils/login.c:1299
+msgid "NAME too long"
+msgstr "NAMA terlalu panjang"
+
+#: login-utils/login.c:1306
+#, c-format
+msgid "login names may not start with '-'.\n"
+msgstr "nama login tidak boleh diawali dengan '-'.\n"
+
+#: login-utils/login.c:1316
+#, c-format
+msgid "too many bare linefeeds.\n"
+msgstr "terlalu banyak linefeeds bare.\n"
+
+#: login-utils/login.c:1317
+msgid "EXCESSIVE linefeeds"
+msgstr "TERLALU BANYAK linefeeds"
+
+#: login-utils/login.c:1349
+#, c-format
+msgid "Login timed out after %d seconds\n"
+msgstr "Waktu habis untuk Login sesudah %d detik\n"
+
+#: login-utils/login.c:1437
+#, c-format
+msgid "Last login: %.*s "
+msgstr "Login terakhir: %.*s"
+
+#: login-utils/login.c:1441
+#, c-format
+msgid "from %.*s\n"
+msgstr "dari %.*s\n"
+
+#: login-utils/login.c:1444
+#, c-format
+msgid "on %.*s\n"
+msgstr "di %.*s\n"
+
+#: login-utils/login.c:1470
+#, c-format
+msgid "LOGIN FAILURE FROM %s, %s"
+msgstr "LOGIN GAGAL DARI %s, %s"
+
+#: login-utils/login.c:1473
+#, c-format
+msgid "LOGIN FAILURE ON %s, %s"
+msgstr "LOGIN GAGAL DI %s, %s"
+
+#: login-utils/login.c:1477
+#, c-format
+msgid "%d LOGIN FAILURES FROM %s, %s"
+msgstr "%d LOGIN GAGAL DARI %s, %s"
+
+#: login-utils/login.c:1480
+#, c-format
+msgid "%d LOGIN FAILURES ON %s, %s"
+msgstr "%d LOGIN GAGAL DI %s, %s"
+
+#: login-utils/mesg.c:89
+#, c-format
+msgid "is y\n"
+msgstr "adalah y\n"
+
+#: login-utils/mesg.c:92
+#, c-format
+msgid "is n\n"
+msgstr "adalah n\n"
+
+#: login-utils/mesg.c:112
+#, c-format
+msgid "usage: mesg [y | n]\n"
+msgstr "penggunaan: mesg [y | n]\n"
+
+#: login-utils/newgrp.c:105
+msgid "newgrp: Who are you?"
+msgstr "newgrp: Siapa anda?"
+
+#: login-utils/newgrp.c:113 login-utils/newgrp.c:127
+msgid "newgrp: setgid"
+msgstr "newgrp: setgid"
+
+#: login-utils/newgrp.c:120 login-utils/newgrp.c:122
+msgid "newgrp: No such group."
+msgstr "newgrp: Tidak group seperti itu."
+
+#: login-utils/newgrp.c:131
+msgid "newgrp: Permission denied"
+msgstr "newgrp: Ijin ditolak"
+
+#: login-utils/newgrp.c:138
+msgid "newgrp: setuid"
+msgstr "newgrp: setuid"
+
+#: login-utils/newgrp.c:144
+msgid "No shell"
+msgstr "Tidak ada shell"
+
+#: login-utils/shutdown.c:115
+#, c-format
+msgid "Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+msgstr "Penggunaan: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+
+#: login-utils/shutdown.c:133
+msgid "Shutdown process aborted"
+msgstr "Proses shutdown dibatalkan"
+
+#: login-utils/shutdown.c:164
+#, c-format
+msgid "%s: Only root can shut a system down.\n"
+msgstr "%s: Hanya root yang dapat mematikan system.\n"
+
+#: login-utils/shutdown.c:258
+#, c-format
+msgid "That must be tomorrow, can't you wait till then?\n"
+msgstr "Itu pasti besok, dapatkah anda menunggu sampai nanti?\n"
+
+#: login-utils/shutdown.c:309
+msgid "for maintenance; bounce, bounce"
+msgstr "untuk perawatan; bounce, bounce"
+
+#: login-utils/shutdown.c:338
+msgid "The system is being shut down within 5 minutes"
+msgstr "System akan dimatikan dalam 5 menit"
+
+#: login-utils/shutdown.c:342
+msgid "Login is therefore prohibited."
+msgstr "Oleh karena itu login dilarang."
+
+#: login-utils/shutdown.c:364
+#, c-format
+msgid "rebooted by %s: %s"
+msgstr "di reboot oleh %s: %s"
+
+#: login-utils/shutdown.c:367
+#, c-format
+msgid "halted by %s: %s"
+msgstr "di matikan oleh %s: %s"
+
+#: login-utils/shutdown.c:431
+msgid ""
+"\n"
+"Why am I still alive after reboot?"
+msgstr ""
+"\n"
+"Kenapa Saya masih hidup setelah di reboot?"
+
+#: login-utils/shutdown.c:433
+msgid ""
+"\n"
+"Now you can turn off the power..."
+msgstr ""
+"\n"
+"Sekarang anda dapat mematikan power..."
+
+#: login-utils/shutdown.c:449
+#, c-format
+msgid "Calling kernel power-off facility...\n"
+msgstr "Memanggil kernel untuk fasilitas power-off...\n"
+
+#: login-utils/shutdown.c:452
+#, c-format
+msgid "Error powering off\t%s\n"
+msgstr "Error mematikan\t%s\n"
+
+#: login-utils/shutdown.c:460
+#, c-format
+msgid "Executing the program \"%s\" ...\n"
+msgstr "Menjalankan aplikasi \"%s\" ...\n"
+
+#: login-utils/shutdown.c:463
+#, c-format
+msgid "Error executing\t%s\n"
+msgstr "Error menjalankan\t%s\n"
+
+#: login-utils/shutdown.c:490
+#, c-format
+msgid "URGENT: broadcast message from %s:"
+msgstr "PENTING: pesan broadcast dari %s:"
+
+#: login-utils/shutdown.c:496
+#, c-format
+msgid "System going down in %d hours %d minutes"
+msgstr "System akan dimatikan dalam %d jam %d menit"
+
+#: login-utils/shutdown.c:499
+#, c-format
+msgid "System going down in 1 hour %d minutes"
+msgstr "System akan dimatikan dalam 1 jam %d menit"
+
+#: login-utils/shutdown.c:502
+#, c-format
+msgid "System going down in %d minutes\n"
+msgstr "System akan dimatikan dalam %d menit\n"
+
+#: login-utils/shutdown.c:505
+#, c-format
+msgid "System going down in 1 minute\n"
+msgstr "System akan dimatikan dalam 1 menit\n"
+
+#: login-utils/shutdown.c:507
+#, c-format
+msgid "System going down IMMEDIATELY!\n"
+msgstr "System akan SEGERA dimatikan!\n"
+
+#: login-utils/shutdown.c:512
+#, c-format
+msgid "\t... %s ...\n"
+msgstr "\t... %s ...\n"
+
+#: login-utils/shutdown.c:569
+msgid "Cannot fork for swapoff. Shrug!"
+msgstr "Tidak dapat melakukan fork untuk swapoff. Shrug!"
+
+#: login-utils/shutdown.c:577
+msgid "Cannot exec swapoff, hoping umount will do the trick."
+msgstr ""
+"Tidak dapat menjalankan swapoff, semoga umount akan melakukan sebuah trick."
+
+#: login-utils/shutdown.c:596
+msgid "Cannot fork for umount, trying manually."
+msgstr "Tidak melakukan fork untuk umount, coba secara manual."
+
+#: login-utils/shutdown.c:605
+#, c-format
+msgid "Cannot exec %s, trying umount.\n"
+msgstr "Tidak dapat menjalankan %s, mencoba dengan umount.\n"
+
+#: login-utils/shutdown.c:609
+msgid "Cannot exec umount, giving up on umount."
+msgstr "Tidak dapat menjalankan umount, menyerah di umount."
+
+#: login-utils/shutdown.c:614
+msgid "Unmounting any remaining filesystems..."
+msgstr "Unmounting seluruh filesystem yang ada..."
+
+#: login-utils/shutdown.c:661
+#, c-format
+msgid "shutdown: Couldn't umount %s: %s\n"
+msgstr "shutdown: Tidak dapat melakukan umount %s: %s\n"
+
+#: login-utils/simpleinit.c:132
+msgid "Booting to single user mode.\n"
+msgstr "Booting ke mode satu pengguna.\n"
+
+#: login-utils/simpleinit.c:136
+msgid "exec of single user shell failed\n"
+msgstr "eksekusi dari shell satu pengguna gagal\n"
+
+#: login-utils/simpleinit.c:140
+msgid "fork of single user shell failed\n"
+msgstr "fork dari shell satu pengguna gagal\n"
+
+#: login-utils/simpleinit.c:208
+msgid "error opening fifo\n"
+msgstr "error membuka fifo\n"
+
+#: login-utils/simpleinit.c:212
+msgid "error setting close-on-exec on /dev/initctl"
+msgstr "error menset close-on-exec di /dev/initctl"
+
+#: login-utils/simpleinit.c:259
+msgid "error running finalprog\n"
+msgstr "error menjalankan finalprog\n"
+
+#: login-utils/simpleinit.c:263
+msgid "error forking finalprog\n"
+msgstr "error forking finalprog\n"
+
+#: login-utils/simpleinit.c:345
+msgid ""
+"\n"
+"Wrong password.\n"
+msgstr ""
+"\n"
+"Kata sandi salah.\n"
+
+#: login-utils/simpleinit.c:418
+msgid "lstat of path failed\n"
+msgstr "gagal lstat dari path\n"
+
+#: login-utils/simpleinit.c:426
+msgid "stat of path failed\n"
+msgstr "gagal memperoleh statistik dari path\n"
+
+#: login-utils/simpleinit.c:434
+msgid "open of directory failed\n"
+msgstr "gagal membuka direktori\n"
+
+#: login-utils/simpleinit.c:501
+#, c-format
+msgid "respawning: \"%s\" too fast: quenching entry\n"
+msgstr "respawning: \"%s\" terlalu cepat: menahan masukan\n"
+
+#: login-utils/simpleinit.c:509
+msgid "fork failed\n"
+msgstr "gagal fork\n"
+
+#: login-utils/simpleinit.c:540 text-utils/more.c:1629
+msgid "exec failed\n"
+msgstr "gagal eksekusi\n"
+
+#: login-utils/simpleinit.c:564
+msgid "cannot open inittab\n"
+msgstr "tidak dapat membuka inittab\n"
+
+#: login-utils/simpleinit.c:631
+msgid "no TERM or cannot stat tty\n"
+msgstr "tidak ada TERM atau tidak dapat memperoleh statistik tty\n"
+
+#: login-utils/simpleinit.c:938
+#, c-format
+msgid "error stopping service: \"%s\"\n"
+msgstr "error menghentikan layanan: \"%s\"\n"
+
+#: login-utils/simpleinit.c:950
+#, c-format
+msgid "Stopped service: %s\n"
+msgstr "Layanan terhent: %s\n"
+
+#: login-utils/simpleinit.c:1070
+#, c-format
+msgid "error running programme: \"%s\"\n"
+msgstr "error menjalankan aplikasi: \"%s\"\n"
+
+#: login-utils/ttymsg.c:75
+msgid "too many iov's (change code in wall/ttymsg.c)"
+msgstr "terlalu banyak iov's (ubah kode dalam wall/ttymsg.c)"
+
+#: login-utils/ttymsg.c:85
+#, c-format
+msgid "excessively long line arg"
+msgstr "arg baris terlalu panjang"
+
+#: login-utils/ttymsg.c:140
+#, c-format
+msgid "cannot fork"
+msgstr "tidak dapat melakukan fork"
+
+#: login-utils/ttymsg.c:144
+#, c-format
+msgid "fork: %s"
+msgstr "fork: %s"
+
+#: login-utils/ttymsg.c:174
+#, c-format
+msgid "%s: BAD ERROR"
+msgstr "%s: BAD ERROR"
+
+#: login-utils/vipw.c:143
+#, c-format
+msgid "%s: the password file is busy.\n"
+msgstr "%s: file password sedang sibuk.\n"
+
+#: login-utils/vipw.c:146
+#, c-format
+msgid "%s: the group file is busy.\n"
+msgstr "%s: file group sedang sibuk.\n"
+
+#: login-utils/vipw.c:162
+#, c-format
+msgid "%s: the %s file is busy (%s present)\n"
+msgstr "%s: file %s sedang sibuk (%s ada)\n"
+
+#: login-utils/vipw.c:168
+#, c-format
+msgid "%s: can't link %s: %s\n"
+msgstr "%s: tidak dapat menlink %s: %s\n"
+
+#: login-utils/vipw.c:202
+#, c-format
+msgid "%s: Can't get context for %s"
+msgstr "%s: Tidak dapat memperoleh context untuk %s"
+
+#: login-utils/vipw.c:208
+#, c-format
+msgid "%s: Can't set context for %s"
+msgstr "%s: Tidak dapat menset context untuk %s"
+
+#: login-utils/vipw.c:217
+#, c-format
+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"
+
+#: login-utils/vipw.c:240
+#, c-format
+msgid "%s: Cannot fork\n"
+msgstr "%s: Tidak dapat melakukan fork\n"
+
+#: login-utils/vipw.c:276
+#, c-format
+msgid "%s: %s unchanged\n"
+msgstr "%s: %s tidak diubah\n"
+
+#: login-utils/vipw.c:297
+#, c-format
+msgid "%s: no changes made\n"
+msgstr "%s: tidak ada perubahan yang dilakukan\n"
+
+#: login-utils/vipw.c:350
+#, 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:351
+#, c-format
+msgid "You are using shadow passwords on this system.\n"
+msgstr "Anda menggunakan shadow password di system ini.\n"
+
+#: login-utils/vipw.c:352
+#, c-format
+msgid "Would you like to edit %s now [y/n]? "
+msgstr "Apakah anda ingin mengedir %s sekarang [y/n]? "
+
+#: login-utils/wall.c:112
+#, c-format
+msgid "usage: %s [file]\n"
+msgstr "penggunaan: %s [file]\n"
+
+#: login-utils/wall.c:167
+#, c-format
+msgid "%s: can't open temporary file.\n"
+msgstr "%s: tidak dapat membuka file sementara.\n"
+
+#: login-utils/wall.c:194
+#, c-format
+msgid "Broadcast Message from %s@%s"
+msgstr "Pesan Broadcast dari %s@%s"
+
+#: login-utils/wall.c:212
+#, c-format
+msgid "%s: will not read %s - use stdin.\n"
+msgstr "%s: tidak dapat membaca %s - gunakan stdin.\n"
+
+#: login-utils/wall.c:217
+#, c-format
+msgid "%s: can't read %s.\n"
+msgstr "%s: tidak dapat membaca %s.\n"
+
+#: login-utils/wall.c:240
+#, c-format
+msgid "%s: can't stat temporary file.\n"
+msgstr "%s: tidak dapat memperoleh statistik file sementara.\n"
+
+#: login-utils/wall.c:250
+#, c-format
+msgid "%s: can't read temporary file.\n"
+msgstr "%s: tidak dapat membaca file sementara.\n"
+
+#: misc-utils/cal.c:362 misc-utils/cal.c:374
+#, c-format
+msgid "illegal day value: use 1-%d"
+msgstr "nilai hari ilegal: gunakan 1-%d"
+
+#: misc-utils/cal.c:366
+msgid "illegal month value: use 1-12"
+msgstr "nilai bulan ilegal: gunakan 1-12"
+
+#: misc-utils/cal.c:370
+msgid "illegal year value: use 1-9999"
+msgstr "nilai tahun ilegal: gunakan 1-9999"
+
+#: misc-utils/cal.c:464
+#, c-format
+msgid "%s %d"
+msgstr "%s %d"
+
+#: misc-utils/cal.c:856
+#, c-format
+msgid "usage: cal [-13smjyV] [[[day] month] year]\n"
+msgstr "penggunaan: cal [-13smjyV] [[[hari] bulan] tahun]\n"
+
+#: misc-utils/ddate.c:203
+#, c-format
+msgid "usage: %s [+format] [day month year]\n"
+msgstr "penggunaan: %s [+format] [hari bulan tahun]\n"
+
+#: misc-utils/ddate.c:250
+msgid "St. Tib's Day"
+msgstr "St. Tib's Day"
+
+#: misc-utils/findfs.c:24
+#, c-format
+msgid "Usage: %s LABEL=<label>|UUID=<uuid>\n"
+msgstr "Penggunaan: %s LABEL=<nama>|UUID=<uuid>\n"
+
+#: misc-utils/findfs.c:55
+#, c-format
+msgid "unable to resolve '%s'"
+msgstr "tidak dapat menentukan '%s'"
+
+#: misc-utils/kill.c:207
+#, c-format
+msgid "%s: unknown signal %s\n"
+msgstr "%s: signal tidak diketahui %s\n"
+
+#: misc-utils/kill.c:270
+#, c-format
+msgid "%s: can't find process \"%s\"\n"
+msgstr "%s: tidak dapat menemukan process \"%s\"\n"
+
+#: misc-utils/kill.c:314
+#, c-format
+msgid "%s: unknown signal %s; valid signals:\n"
+msgstr "%s: signal tidak diketahui %s; valid signals:\n"
+
+#: misc-utils/kill.c:354
+#, c-format
+msgid "usage: %s [ -s signal | -p ] [ -a ] pid ...\n"
+msgstr "penggunaan: %s [ -s signal | -p ] [ -a ] pid ...\n"
+
+#: misc-utils/kill.c:355
+#, c-format
+msgid "       %s -l [ signal ]\n"
+msgstr "       %s -l [ signal ]\n"
+
+#: misc-utils/logger.c:67
+#, c-format
+msgid "logger: openlog: pathname too long\n"
+msgstr "pencatat: openlog: nama jalur terlalu panjang\n"
+
+#: misc-utils/logger.c:75
+#, c-format
+msgid "socket: %s.\n"
+msgstr "socket: %s.\n"
+
+#: misc-utils/logger.c:80
+#, c-format
+msgid "connect: %s.\n"
+msgstr "terhubung: %s.\n"
+
+#: misc-utils/logger.c:139
+#, c-format
+msgid "logger: %s: %s.\n"
+msgstr "logger: %s: %s.\n"
+
+#: misc-utils/logger.c:246
+#, c-format
+msgid "logger: unknown facility name: %s.\n"
+msgstr "logger: nama fasilitas tidak diketahui: %s.\n"
+
+#: misc-utils/logger.c:258
+#, c-format
+msgid "logger: unknown priority name: %s.\n"
+msgstr "logger: nama priority tidak diketahui: %s.\n"
+
+#: misc-utils/logger.c:285
+#, c-format
+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"
+
+#: misc-utils/look.c:351
+#, c-format
+msgid "usage: look [-dfa] [-t char] string [file]\n"
+msgstr "penggunaan: loop [-dfa] [-t char] string [file]\n"
+
+#: misc-utils/mcookie.c:105 misc-utils/mcookie.c:132
+#, c-format
+msgid "Could not open %s\n"
+msgstr "Tidak dapat membuka %s\n"
+
+#: misc-utils/mcookie.c:109 misc-utils/mcookie.c:128
+#, c-format
+msgid "Got %d bytes from %s\n"
+msgstr "Memperoleh %d bytes dari %s\n"
+
+#: misc-utils/namei.c:144 misc-utils/namei.c:198 misc-utils/namei.c:220
+#: misc-utils/namei.c:227 misc-utils/namei.c:248
+msgid "out of memory?"
+msgstr "kehabisan memory?"
+
+#: misc-utils/namei.c:189
+#, c-format
+msgid "failed to read symlink: %s"
+msgstr "gagal membaca symlink: %s"
+
+#: misc-utils/namei.c:229
+#, c-format
+msgid "could not stat '%s'"
+msgstr "tidak dapat memperoleh statistik '%s'"
+
+#: misc-utils/namei.c:411
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [options] pathname [pathname ...]\n"
+msgstr ""
+"\n"
+"Penggunaan: %s [pilihan] pathname [pathname ...]\n"
+
+#: misc-utils/namei.c:412
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"Pilihan:\n"
+
+#: misc-utils/namei.c:415
+#, c-format
+msgid ""
+" -h, --help          displays this help text\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:423
+#, c-format
+msgid ""
+"\n"
+"For more information see namei(1).\n"
+msgstr ""
+"\n"
+"Untuk informasi lebih lanjut lihat namei(1).\n"
+
+#: misc-utils/namei.c:484
+#, c-format
+msgid "failed to stat: %s"
+msgstr "gagal untuk mendapatkan statistik: %s"
+
+#: misc-utils/namei.c:495
+#, c-format
+msgid "%s: exceeded limit of symlinks"
+msgstr "%s: melewati batas dari symlinks"
+
+#: misc-utils/rename.c:38
+#, c-format
+msgid "%s: out of memory\n"
+msgstr "%s: kehabisan memori\n"
+
+#: misc-utils/rename.c:56
+#, c-format
+msgid "%s: renaming %s to %s failed: %s\n"
+msgstr "%s: mengubah nama %s ke %s gagal: %s\n"
+
+#: misc-utils/rename.c:86
+#, c-format
+msgid "call: %s from to files...\n"
+msgstr "call: %s dari ke files...\n"
+
+#: misc-utils/script.c:110
+#, c-format
+msgid ""
+"Warning: `%s' is a link.\n"
+"Use `%s [options] %s' if you really want to use it.\n"
+"Script not started.\n"
+msgstr ""
+"Peringatan: `%s' adalah sebuah link.\n"
+"Penggunaan `%s [pilihan] %s' jika anda benar - benar ingin menggunakannya.\n"
+"Script tidak berjalan.\n"
+
+#: misc-utils/script.c:173
+#, c-format
+msgid "usage: script [-a] [-f] [-q] [-t] [file]\n"
+msgstr "penggunaan: script [-a] [-f] [-q] [-t] [file]\n"
+
+#: misc-utils/script.c:196
+#, c-format
+msgid "Script started, file is %s\n"
+msgstr "Script dimulai, file adalah %s\n"
+
+#: misc-utils/script.c:244
+#, c-format
+msgid "%s: write error %d: %s\n"
+msgstr "%s: error menulis di %d: %s\n"
+
+#: misc-utils/script.c:304
+#, c-format
+msgid "Script started on %s"
+msgstr "Script dimulai di %s"
+
+#: misc-utils/script.c:347
+#, c-format
+msgid "%s: write error: %s\n"
+msgstr "%s: error menulis: %s\n"
+
+#: misc-utils/script.c:354
+#, c-format
+msgid "%s: cannot write script file, error: %s\n"
+msgstr "%s: tidak dapat menulis berkas script, error: %s\n"
+
+#: misc-utils/script.c:430
+#, c-format
+msgid ""
+"\n"
+"Script done on %s"
+msgstr ""
+"\n"
+"Script selesai di %s"
+
+#: misc-utils/script.c:437
+#, c-format
+msgid "Script done, file is %s\n"
+msgstr "Script selesai, file adalah %s\n"
+
+#: misc-utils/script.c:448
+#, c-format
+msgid "openpty failed\n"
+msgstr "openpty gagal\n"
+
+#: misc-utils/script.c:482
+#, c-format
+msgid "Out of pty's\n"
+msgstr "Out of pty's\n"
+
+#: misc-utils/scriptreplay.c:38
+#, c-format
+msgid "%s <timingfile> [<typescript> [<divisor>]]\n"
+msgstr "%s <berkaspewaktu> [<tipescript> [<pembagi>]]\n"
+
+#: misc-utils/scriptreplay.c:53
+#, c-format
+msgid "expected a number, but got '%s'"
+msgstr "diduga sebuah nomor, tetapi diperoleh '%s'"
+
+#: misc-utils/scriptreplay.c:56 misc-utils/scriptreplay.c:60
+#, c-format
+msgid "divisor '%s'"
+msgstr "pembagi '%s'"
+
+#: misc-utils/scriptreplay.c:104
+msgid "write to stdout failed"
+msgstr "gagal menulis ke stdout"
+
+#: misc-utils/scriptreplay.c:110
+#, c-format
+msgid "unexpected end of file on %s"
+msgstr "akhir dari berkas tidak diduga di %s"
+
+#: misc-utils/scriptreplay.c:112
+#, c-format
+msgid "failed to read typescript file %s"
+msgstr "gagal membaca typescript berkas %s"
+
+#: misc-utils/scriptreplay.c:145
+#, c-format
+msgid "cannot open timing file %s"
+msgstr "Tidak dapat membuka berkas pewaktu %s"
+
+#: misc-utils/scriptreplay.c:148
+#, c-format
+msgid "cannot open typescript file %s"
+msgstr "Tidak dapat membuka berkas typescript %s"
+
+#: misc-utils/scriptreplay.c:164
+#, c-format
+msgid "failed to read timing file %s"
+msgstr "gagal membaca berkas pewaktu %s"
+
+#: misc-utils/scriptreplay.c:166
+#, fuzzy, c-format
+msgid "timings file %s: %lu: unexpected format"
+msgstr "berkas pewaktu %s: %lu: format yang diduga"
+
+#: misc-utils/setterm.c:763
+#, c-format
+msgid "%s: Argument error, usage\n"
+msgstr "%s: Argument error, penggunaan\n"
+
+#: misc-utils/setterm.c:766
+#, c-format
+msgid "  [ -term terminal_name ]\n"
+msgstr "  [ -term terminal_name ]\n"
+
+#: misc-utils/setterm.c:767
+#, c-format
+msgid "  [ -reset ]\n"
+msgstr "  [ -reset ]\n"
+
+#: misc-utils/setterm.c:768
+#, c-format
+msgid "  [ -initialize ]\n"
+msgstr "  [ -initialize ]\n"
+
+#: misc-utils/setterm.c:769
+#, c-format
+msgid "  [ -cursor [on|off] ]\n"
+msgstr "  [ -cursor [on|off] ]\n"
+
+#: misc-utils/setterm.c:771
+#, c-format
+msgid "  [ -snow [on|off] ]\n"
+msgstr "  [ -snow [on|off] ]\n"
+
+#: misc-utils/setterm.c:772
+#, c-format
+msgid "  [ -softscroll [on|off] ]\n"
+msgstr "  [ -softscroll [on|off] ]\n"
+
+#: misc-utils/setterm.c:774
+#, c-format
+msgid "  [ -repeat [on|off] ]\n"
+msgstr "  [ -repeat [on|off] ]\n"
+
+#: misc-utils/setterm.c:775
+#, c-format
+msgid "  [ -appcursorkeys [on|off] ]\n"
+msgstr "  [ -appcursorkeys [on|off] ]\n"
+
+#: misc-utils/setterm.c:776
+#, c-format
+msgid "  [ -linewrap [on|off] ]\n"
+msgstr "  [ -linewrap [on|off] ]\n"
+
+#: misc-utils/setterm.c:777
+#, c-format
+msgid "  [ -default ]\n"
+msgstr "  [ -default ]\n"
+
+#: misc-utils/setterm.c:778
+#, c-format
+msgid "  [ -foreground black|blue|green|cyan"
+msgstr "  [ -foreground black|blue|green|cyan"
+
+#: misc-utils/setterm.c:779 misc-utils/setterm.c:781
+#, c-format
+msgid "|red|magenta|yellow|white|default ]\n"
+msgstr "|red|magenta|yellow|white|default ]\n"
+
+#: misc-utils/setterm.c:780
+#, c-format
+msgid "  [ -background black|blue|green|cyan"
+msgstr "  [ -background black|blue|green|cyan"
+
+#: misc-utils/setterm.c:782
+#, c-format
+msgid "  [ -ulcolor black|grey|blue|green|cyan"
+msgstr "  [ -ulcolor black|grey|blue|green|cyan"
+
+#: misc-utils/setterm.c:783 misc-utils/setterm.c:785 misc-utils/setterm.c:787
+#: misc-utils/setterm.c:789
+#, c-format
+msgid "|red|magenta|yellow|white ]\n"
+msgstr "|red|magenta|yellow|white ]\n"
+
+#: misc-utils/setterm.c:784
+#, c-format
+msgid "  [ -ulcolor bright blue|green|cyan"
+msgstr "  [ -ulcolor bright blue|green|cyan"
+
+#: misc-utils/setterm.c:786
+#, c-format
+msgid "  [ -hbcolor black|grey|blue|green|cyan"
+msgstr "  [ -hbcolor black|grey|blue|green|cyan"
+
+#: misc-utils/setterm.c:788
+#, c-format
+msgid "  [ -hbcolor bright blue|green|cyan"
+msgstr "  [ -hbcolor bright blue|green|cyan"
+
+#: misc-utils/setterm.c:791
+#, c-format
+msgid "  [ -standout [ attr ] ]\n"
+msgstr "  [ -standout [ attr ] ]\n"
+
+#: misc-utils/setterm.c:793
+#, c-format
+msgid "  [ -inversescreen [on|off] ]\n"
+msgstr "  [ -inversescreen [on|off] ]\n"
+
+#: misc-utils/setterm.c:794
+#, c-format
+msgid "  [ -bold [on|off] ]\n"
+msgstr "  [ -bold [on|off] ]\n"
+
+#: misc-utils/setterm.c:795
+#, c-format
+msgid "  [ -half-bright [on|off] ]\n"
+msgstr "  [ -half-bright [on|off] ]\n"
+
+#: misc-utils/setterm.c:796
+#, c-format
+msgid "  [ -blink [on|off] ]\n"
+msgstr "  [ -blink [on|off] ]\n"
+
+#: misc-utils/setterm.c:797
+#, c-format
+msgid "  [ -reverse [on|off] ]\n"
+msgstr "  [ -reverse [on|off] ]\n"
+
+#: misc-utils/setterm.c:798
+#, c-format
+msgid "  [ -underline [on|off] ]\n"
+msgstr "  [ -underline [on|off] ]\n"
+
+#: misc-utils/setterm.c:799
+#, c-format
+msgid "  [ -store ]\n"
+msgstr "  [ -store ]\n"
+
+#: misc-utils/setterm.c:800
+#, c-format
+msgid "  [ -clear [all|rest] ]\n"
+msgstr "  [ -clear [all|rest] ]\n"
+
+#: misc-utils/setterm.c:801
+#, c-format
+msgid "  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n"
+msgstr "  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n"
+
+#: misc-utils/setterm.c:802
+#, c-format
+msgid "  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n"
+msgstr "  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n"
+
+#: misc-utils/setterm.c:803
+#, c-format
+msgid "  [ -regtabs [1-160] ]\n"
+msgstr "  [ -regtabs [1-160] ]\n"
+
+#: misc-utils/setterm.c:804
+#, c-format
+msgid "  [ -blank [0-60|force|poke] ]\n"
+msgstr "  [ -blank [0-60|force|poke] ]\n"
+
+#: misc-utils/setterm.c:805
+#, c-format
+msgid "  [ -dump   [1-NR_CONSOLES] ]\n"
+msgstr "  [ -dump   [1-NR_CONSOLES] ]\n"
+
+#: misc-utils/setterm.c:806
+#, c-format
+msgid "  [ -append [1-NR_CONSOLES] ]\n"
+msgstr "  [ -append [1-NR_CONSOLES] ]\n"
+
+#: misc-utils/setterm.c:807
+#, c-format
+msgid "  [ -file dumpfilename ]\n"
+msgstr "  [ -file dumpfilename ]\n"
+
+#: misc-utils/setterm.c:808
+#, c-format
+msgid "  [ -msg [on|off] ]\n"
+msgstr "  [ -msg [on|off] ]\n"
+
+#: misc-utils/setterm.c:809
+#, c-format
+msgid "  [ -msglevel [0-8] ]\n"
+msgstr "  [ -msglevel [0-8] ]\n"
+
+#: misc-utils/setterm.c:810
+#, c-format
+msgid "  [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+msgstr "  [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+
+#: misc-utils/setterm.c:811
+#, c-format
+msgid "  [ -powerdown [0-60] ]\n"
+msgstr "  [ -powerdown [0-60] ]\n"
+
+#: misc-utils/setterm.c:812
+#, c-format
+msgid "  [ -blength [0-2000] ]\n"
+msgstr "  [ -blength [0-2000] ]\n"
+
+#: misc-utils/setterm.c:813
+#, c-format
+msgid "  [ -bfreq freqnumber ]\n"
+msgstr "  [ -bfreq freqnumber ]\n"
+
+#: misc-utils/setterm.c:1065
+#, c-format
+msgid "cannot force blank\n"
+msgstr "tidak dapat memaksa penghapusan\n"
+
+#: misc-utils/setterm.c:1069
+#, c-format
+msgid "cannot force unblank\n"
+msgstr "tidak dapat memaksa unblank\n"
+
+#: misc-utils/setterm.c:1075
+#, c-format
+msgid "cannot get blank status\n"
+msgstr "tidak dapat memperoleh status penghapusan\n"
+
+#: misc-utils/setterm.c:1087
+#, c-format
+msgid "cannot (un)set powersave mode\n"
+msgstr "tidak dapat meng-unset mode powersave\n"
+
+#: misc-utils/setterm.c:1126 misc-utils/setterm.c:1134
+#, c-format
+msgid "klogctl error: %s\n"
+msgstr "klogctl error: %s\n"
+
+#: misc-utils/setterm.c:1200
+#, c-format
+msgid "Error writing screendump\n"
+msgstr "Error menulis screendump\n"
+
+#: misc-utils/setterm.c:1207
+#, c-format
+msgid "Couldn't read %s\n"
+msgstr "Tidak dapat membaca %s\n"
+
+#: misc-utils/setterm.c:1261
+#, c-format
+msgid "%s: $TERM is not defined.\n"
+msgstr "%s: $TERM tidak didefinisikan.\n"
+
+#: misc-utils/uuidd.c:46
+#, c-format
+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"
+
+#: misc-utils/uuidd.c:48
+#, c-format
+msgid "       %s [-r|t] [-n num] [-s socketpath]\n"
+msgstr "       %s [-r|t] [-n jumlah] [-s jalur soket]\n"
+
+#: misc-utils/uuidd.c:50
+#, c-format
+msgid "       %s -k\n"
+msgstr "       %s -k\n"
+
+#: misc-utils/uuidd.c:152
+msgid "bad arguments"
+msgstr "argumen tidak baik"
+
+#: misc-utils/uuidd.c:159
+msgid "socket"
+msgstr "soket"
+
+#: misc-utils/uuidd.c:170
+msgid "connect"
+msgstr "terhubung"
+
+#: misc-utils/uuidd.c:189
+msgid "write"
+msgstr "tulis"
+
+#: misc-utils/uuidd.c:197
+msgid "read count"
+msgstr "jumlah yang terbaca"
+
+#: misc-utils/uuidd.c:203
+msgid "bad response length"
+msgstr "panjang balasan buruk"
+
+#: misc-utils/uuidd.c:268
+#, c-format
+msgid "uuidd daemon already running at pid %s\n"
+msgstr "daemon uuidd telah berjalan dengan pid %s\n"
+
+#: misc-utils/uuidd.c:276
+#, c-format
+msgid "Couldn't create unix stream socket: %s"
+msgstr "Tidak dapat membuat aliran soket unix: %s"
+
+#: misc-utils/uuidd.c:305
+#, c-format
+msgid "Couldn't bind unix socket %s: %s\n"
+msgstr "Tidak dapat mengikat soket unix %s: %s\n"
+
+#: misc-utils/uuidd.c:313
+#, c-format
+msgid "Couldn't listen on unix socket %s: %s\n"
+msgstr "Tidak dapat mendengarkan di soket unix %s: %s\n"
+
+#: misc-utils/uuidd.c:351
+#, c-format
+msgid "Error reading from client, len = %d\n"
+msgstr "Error membaca dari klien, panjang = %d\n"
+
+#: misc-utils/uuidd.c:359
+#, c-format
+msgid "operation %d, incoming num = %d\n"
+msgstr "operasi %d, masukan jumlah = %d\n"
+
+#: misc-utils/uuidd.c:378
+#, c-format
+msgid "Generated time UUID: %s\n"
+msgstr "UUID waktu yang dihasilkan: %s\n"
+
+#: misc-utils/uuidd.c:388
+#, c-format
+msgid "Generated random UUID: %s\n"
+msgstr "UUID acak yang dihasilkan: %s\n"
+
+#: misc-utils/uuidd.c:397
+#, c-format
+msgid "Generated time UUID %s and %d following\n"
+msgstr "UUID waktu yang dihasilkan %s dan %d yang mengikutinya\n"
+
+#: misc-utils/uuidd.c:415
+#, c-format
+msgid "Generated %d UUID's:\n"
+msgstr "Menghasilkan %d UUID:\n"
+
+#: misc-utils/uuidd.c:427
+#, c-format
+msgid "Invalid operation %d\n"
+msgstr "Operasi %d tidak valid\n"
+
+#: misc-utils/uuidd.c:468 misc-utils/uuidd.c:489
+#, c-format
+msgid "Bad number: %s\n"
+msgstr "Angka buruk: %s\n"
+
+#: misc-utils/uuidd.c:524 misc-utils/uuidd.c:551
+#, c-format
+msgid "Error calling uuidd daemon (%s): %s\n"
+msgstr "Error memanggil daemon uuidd (%s): %s\n"
+
+#: misc-utils/uuidd.c:534
+#, c-format
+msgid "%s and subsequent %d UUID's\n"
+msgstr "%s dan UUID %d selanjutnya\n"
+
+#: misc-utils/uuidd.c:536
+#, c-format
+msgid "List of UUID's:\n"
+msgstr "Daftar dari UUID:\n"
+
+#: misc-utils/uuidd.c:557
+#, c-format
+msgid "Unexpected reply length from server %d\n"
+msgstr "Panjang balasan dari server tidak terduga %d\n"
+
+#: misc-utils/uuidd.c:574
+#, c-format
+msgid "Couldn't kill uuidd running at pid %d: %s\n"
+msgstr "Tidak dapat mematikan uuidd yang berjalan dengan pid %d: %s\n"
+
+#: misc-utils/uuidd.c:580
+#, c-format
+msgid "Killed uuidd running at pid %d\n"
+msgstr "Dimatikan uuidd yang berjalan dengan pid %d\n"
+
+#: misc-utils/uuidgen.c:32
+#, c-format
+msgid "Usage: %s [-r] [-t]\n"
+msgstr "Penggunaan: %s [-r] [-t]\n"
+
+#: misc-utils/whereis.c:159
+#, c-format
+msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
+msgstr "whereis [ -sbmu ] [ -SBM dir ... -f ] nama...\n"
+
+#: misc-utils/write.c:101
+#, c-format
+msgid "write: can't find your tty's name\n"
+msgstr "write: tidak dapat mencari nama dari tty's anda\n"
+
+#: misc-utils/write.c:112
+#, c-format
+msgid "write: you have write permission turned off.\n"
+msgstr "write: iji menulis anda tidak aktif.\n"
+
+#: misc-utils/write.c:133
+#, c-format
+msgid "write: %s is not logged in on %s.\n"
+msgstr "write: %s tidak di catat di %s.\n"
+
+#: misc-utils/write.c:141
+#, c-format
+msgid "write: %s has messages disabled on %s\n"
+msgstr "write: %s memiliki message dimatikan di %s\n"
+
+#: misc-utils/write.c:148
+#, c-format
+msgid "usage: write user [tty]\n"
+msgstr "penggunaan: write pengguna [tty]\n"
+
+#: misc-utils/write.c:236
+#, c-format
+msgid "write: %s is not logged in\n"
+msgstr "write: %s tidak dicatat di\n"
+
+#: misc-utils/write.c:245
+#, c-format
+msgid "write: %s has messages disabled\n"
+msgstr "write: %s memiliki message dimatikan\n"
+
+#: misc-utils/write.c:249
+#, c-format
+msgid "write: %s is logged in more than once; writing to %s\n"
+msgstr "write: %s dicatat dalam lebih dari satu; menulis di %s\n"
+
+#: misc-utils/write.c:317
+#, c-format
+msgid "Message from %s@%s (as %s) on %s at %s ..."
+msgstr "Pesan dari %s@%s (sebagai %s) di %s pada %s ..."
+
+#: misc-utils/write.c:320
+#, c-format
+msgid "Message from %s@%s on %s at %s ..."
+msgstr "Pesan dari %s@%s di %s pada %s ..."
+
+#: mount/fstab.c:143
+#, c-format
+msgid "warning: error reading %s: %s"
+msgstr "peringatan: error membaca %s: %s"
+
+#: mount/fstab.c:171 mount/fstab.c:196
+#, c-format
+msgid "warning: can't open %s: %s"
+msgstr "peringatan: tidak dapat membuka %s: %s"
+
+#: mount/fstab.c:176
+#, c-format
+msgid "mount: could not open %s - using %s instead\n"
+msgstr "mount: tidak dapat membuka %s - menggunakan %s\n"
+
+#: mount/fstab.c:589
+#, 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/fstab.c:615
+#, 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/fstab.c:631
+#, 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/fstab.c:646
+#, c-format
+msgid "Can't lock lock file %s: %s\n"
+msgstr "Tidak dapat mengunci file kunci %s: %s\n"
+
+#: mount/fstab.c:660
+#, c-format
+msgid "can't lock lock file %s: %s"
+msgstr "tidak dapat mengunci file kunci %s: %s"
+
+#: mount/fstab.c:662
+msgid "timed out"
+msgstr "waktu habis"
+
+#: mount/fstab.c:669
+#, 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/fstab.c:791 mount/fstab.c:846
+#, c-format
+msgid "cannot open %s (%s) - mtab not updated"
+msgstr "tidak dapat membuka %s (%s) - mtab tidak diupdate"
+
+#: mount/fstab.c:855
+#, c-format
+msgid "error writing %s: %s"
+msgstr "error menulis %s: %s"
+
+#: mount/fstab.c:873
+#, c-format
+msgid "error changing mode of %s: %s\n"
+msgstr "error mengubah mode dari %s: %s\n"
+
+#: mount/fstab.c:886
+#, c-format
+msgid "error changing owner of %s: %s\n"
+msgstr "error mengubah kepemilikan dari %s: %s\n"
+
+#: mount/fstab.c:897
+#, c-format
+msgid "can't rename %s to %s: %s\n"
+msgstr "tidak dapat mengganti nama %s menjadi %s: %s\n"
+
+#: mount/lomount.c:364
+#, c-format
+msgid "loop: can't set capacity on device %s: %s\n"
+msgstr "loop: tidak dapat menset kapasitas di perangkat %s: %s\n"
+
+#: mount/lomount.c:388
+#, c-format
+msgid ", offset %<PRIu64>"
+msgstr ", offset %<PRIu64>"
+
+#: mount/lomount.c:391
+#, c-format
+msgid ", sizelimit %<PRIu64>"
+msgstr ", sizelimit %<PRIu64>"
+
+#: mount/lomount.c:399
+#, c-format
+msgid ", encryption %s (type %<PRIu32>)"
+msgstr ", enkripsi %s (tipe %<PRIu32>)"
+
+#: mount/lomount.c:412
+#, c-format
+msgid ", offset %d"
+msgstr ", offset %d"
+
+#: mount/lomount.c:415
+#, c-format
+msgid ", encryption type %d\n"
+msgstr ", encryption type %d\n"
+
+#: mount/lomount.c:423
+#, c-format
+msgid "loop: can't get info on device %s: %s\n"
+msgstr "loop: tidak dapat memperoleh info di perangkat %s: %s\n"
+
+#: mount/lomount.c:434
+#, c-format
+msgid "loop: can't open device %s: %s\n"
+msgstr "loop: tidak dapat membuka perangkat %s: %s\n"
+
+#: mount/lomount.c:450 mount/lomount.c:482 mount/lomount.c:544
+#: mount/lomount.c:589
+#, c-format
+msgid "%s: /dev directory does not exist."
+msgstr "%s: /dev direktori tidak ada."
+
+#: mount/lomount.c:461 mount/lomount.c:602
+#, c-format
+msgid "%s: no permission to look at /dev/loop%s<N>"
+msgstr "%s: tidak ada ijin untuk melihat di /dev/loop%s<N>"
+
+#: mount/lomount.c:605
+#, c-format
+msgid "%s: could not find any free loop device"
+msgstr "%s: tidak dapat menemukan perangkat loop yang tidak dipakai"
+
+#: mount/lomount.c:608
+#, c-format
+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'.)"
+
+#: mount/lomount.c:638
+msgid "Out of memory while reading passphrase"
+msgstr "Kehabisan memori ketika membaca kata sandi"
+
+#: mount/lomount.c:681
+#, c-format
+msgid "warning: %s is already associated with %s\n"
+msgstr "peringatan: %s sudah diasosiasikan dengan %s\n"
+
+#: mount/lomount.c:697
+#, c-format
+msgid "warning: %s: is write-protected, using read-only.\n"
+msgstr ""
+"peringatan: %s: memiliki proteksi untuk ditulis, menggunakan baca-saja.\n"
+
+#: mount/lomount.c:733
+#, c-format
+msgid "Couldn't lock into memory, exiting.\n"
+msgstr "Tidak dapat mengunci ke memory, keluar.\n"
+
+#: mount/lomount.c:760
+#, c-format
+msgid "ioctl LOOP_SET_FD failed: %s\n"
+msgstr "ioctl LOOP_SET_FD gagal: %s\n"
+
+#: mount/lomount.c:817
+#, c-format
+msgid "set_loop(%s,%s,%llu,%llu): success\n"
+msgstr "set_loop(%s,%s,%llu, %llu): berhasil\n"
+
+#: mount/lomount.c:838
+#, c-format
+msgid "del_loop(%s): success\n"
+msgstr "del_loop(%s): berhasil\n"
+
+#: mount/lomount.c:842
+#, c-format
+msgid "loop: can't delete device %s: %s\n"
+msgstr "loop: tidak dapat menghapus perangkat %s: %s\n"
+
+#: mount/lomount.c:853
+#, c-format
+msgid "This mount was compiled without loop support. Please recompile.\n"
+msgstr "Mount ini telah dikompile tanpa layanan loop. Tolong di rekompile.\n"
+
+#: mount/lomount.c:888
+#, c-format
+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"
+"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"
+
+#: mount/lomount.c:898
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -e | --encryption <type> enable data encryption with specified <name/num>\n"
+" -h | --help              this help\n"
+" -o | --offset <num>      start at offset <num> into file\n"
+"      --sizelimit <num>   loop limited to only <num> bytes of the file\n"
+" -p | --pass-fd <num>     read passphrase from file descriptor <num>\n"
+" -r | --read-only         setup read-only loop device\n"
+"      --show              print device name (with -f <file>)\n"
+" -v | --verbose           verbose mode\n"
+"\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"
+
+#: mount/lomount.c:1036 mount/lomount.c:1076
+#, c-format
+msgid "Loop device is %s\n"
+msgstr "Perangkat loop adalah %s\n"
+
+#: mount/lomount.c:1063
+#, c-format
+msgid "stolen loop=%s...trying again\n"
+msgstr "tercuri loop=%s ...mencoba lagi\n"
+
+#: mount/lomount.c:1073
+#, c-format
+msgid "%s: %s: device is busy"
+msgstr "%s: %s: perangkat sedang sibuk"
+
+#: mount/lomount.c:1090
+#, c-format
+msgid "No loop support was available at compile time. Please recompile.\n"
+msgstr "Layanan loop tidak ada pada waktu dikompile. Tolong di rekompile.\n"
+
+#: mount/mount.c:329
+#, c-format
+msgid "mount: improperly quoted option string '%s'"
+msgstr "mount: pilihan string tidak dinyatakan dengan benar '%s'"
+
+#: mount/mount.c:362
+#, c-format
+msgid "mount: translated %s '%s' to '%s'\n"
+msgstr "mount: ditranslasikan %s '%s' ke '%s'\n"
+
+#: mount/mount.c:526
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s"
+msgstr "mount: menurut mtab, %s telah dimount di %s"
+
+#: mount/mount.c:531
+#, c-format
+msgid "mount: according to mtab, %s is mounted on %s"
+msgstr "mount: menurut mtab, %s telah di mount di %s"
+
+#: mount/mount.c:555
+#, c-format
+msgid "mount: can't open %s for writing: %s"
+msgstr "mount: tidak dapat membuka %s untuk menulis: %s"
+
+#: mount/mount.c:572 mount/mount.c:1190
+#, c-format
+msgid "mount: error writing %s: %s"
+msgstr "mount: error dalam menulis %s: %s"
+
+#: mount/mount.c:580
+#, c-format
+msgid "mount: error changing mode of %s: %s"
+msgstr "mount: error mengubah mode dari %s: %s"
+
+#: mount/mount.c:663
+#, c-format
+msgid "mount: cannot set group id: %s"
+msgstr "mount tidak dapat menset grup id: %s"
+
+#: mount/mount.c:666
+#, c-format
+msgid "mount: cannot set user id: %s"
+msgstr "mount: tidak dapat menset id pengguna: %s"
+
+#: mount/mount.c:705 mount/mount.c:1809
+#, c-format
+msgid "mount: cannot fork: %s"
+msgstr "mount: tidak dapat melakukan fork: %s"
+
+#: mount/mount.c:842
+#, c-format
+msgid "Trying %s\n"
+msgstr "Mencoba %s\n"
+
+#: mount/mount.c:870
+#, 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/mount.c:873
+#, 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/mount.c:876
+#, c-format
+msgid "       and it looks like this is swapspace\n"
+msgstr "       dan ini sepertinya merupakan sebuah swapspace\n"
+
+#: mount/mount.c:878
+#, c-format
+msgid "       I will try type %s\n"
+msgstr "       Saya akan mencoba tipe %s\n"
+
+#: mount/mount.c:902
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr "%s kelihatannya seperti swapspace - tidak di mount"
+
+#: mount/mount.c:993
+msgid "mount failed"
+msgstr "mount gagal"
+
+#: mount/mount.c:995
+#, c-format
+msgid "mount: only root can mount %s on %s"
+msgstr "mount: hanya root yang dapat melakukan mount %s di %s"
+
+#: mount/mount.c:1065
+msgid "mount: loop device specified twice"
+msgstr "mount: perangkat loop dispesifikasikan dua kali"
+
+#: mount/mount.c:1070
+msgid "mount: type specified twice"
+msgstr "mount: tipe dispesifikasikan dua kali"
+
+#: mount/mount.c:1082
+#, c-format
+msgid "mount: skipping the setup of a loop device\n"
+msgstr "mount: melewatkan setup dari perangkat loop\n"
+
+#: mount/mount.c:1094
+#, 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/mount.c:1104
+#, c-format
+msgid "mount: going to use the loop device %s\n"
+msgstr "mount: akan menggunakan perangkat loop %s\n"
+
+#: mount/mount.c:1113
+#, c-format
+msgid "mount: stolen loop=%s ...trying again\n"
+msgstr "mount: tercuri loop=%s ...mencoba lagi\n"
+
+#: mount/mount.c:1118
+#, c-format
+msgid "mount: stolen loop=%s"
+msgstr "umount: tercuri loop=%s"
+
+#: mount/mount.c:1123
+#, c-format
+msgid "mount: failed setting up loop device\n"
+msgstr "mount: gagal menset-up perangkat loop\n"
+
+#: mount/mount.c:1134
+#, c-format
+msgid "mount: setup loop device successfully\n"
+msgstr "mount: setup perangkat loop telah berhasil\n"
+
+#: mount/mount.c:1168
+#, c-format
+msgid "mount: no %s found - creating it..\n"
+msgstr "mount: %s tidak ditemukan - membuatnya..\n"
+
+#: mount/mount.c:1185
+#, c-format
+msgid "mount: can't open %s: %s"
+msgstr "mount: tidak dapat membuka %s: %s"
+
+#: mount/mount.c:1206
+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/mount.c:1219
+#, c-format
+msgid "mount: cannot open %s for setting speed"
+msgstr "mount: tidak dapat membuka %s untuk menset kecepatan"
+
+#: mount/mount.c:1222
+#, c-format
+msgid "mount: cannot set speed: %s"
+msgstr "mount tidak dapat menset kecepatan: %s"
+
+#: mount/mount.c:1279
+#, 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/mount.c:1358
+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/mount.c:1361
+msgid "mount: you must specify the filesystem type"
+msgstr "mount: anda harus menspesifikasikan tipe filesystem"
+
+#: mount/mount.c:1364
+msgid "mount: mount failed"
+msgstr "mount: mount gagal"
+
+#: mount/mount.c:1370 mount/mount.c:1407
+#, c-format
+msgid "mount: mount point %s is not a directory"
+msgstr "mount: titik mount %s bukan berupa sebuah direktori"
+
+#: mount/mount.c:1372
+msgid "mount: permission denied"
+msgstr "mount: ijin ditolak"
+
+#: mount/mount.c:1374
+msgid "mount: must be superuser to use mount"
+msgstr "mount: harus menjadi superuser untuk menggunakan mount"
+
+#: mount/mount.c:1378 mount/mount.c:1382
+#, c-format
+msgid "mount: %s is busy"
+msgstr "mount: %s sedang sibuk"
+
+#: mount/mount.c:1384
+msgid "mount: proc already mounted"
+msgstr "mount: proc telah dimount"
+
+#: mount/mount.c:1386
+#, c-format
+msgid "mount: %s already mounted or %s busy"
+msgstr "mount: %s telah dimount atau %s sedang sibuk"
+
+#: mount/mount.c:1392
+#, c-format
+msgid "mount: mount point %s does not exist"
+msgstr "mount: titik mount %s tidak ada"
+
+#: mount/mount.c:1394
+#, 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/mount.c:1399
+#, c-format
+msgid "mount: special device %s does not exist"
+msgstr "mount: perangkat spesial %s tidak ada"
+
+#: mount/mount.c:1411
+#, 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/mount.c:1423
+#, c-format
+msgid "mount: %s not mounted already, or bad option"
+msgstr "mount: %s sudah tidak dimount, atau pilihan buruk"
+
+#: mount/mount.c:1425
+#, 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/mount.c:1432
+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/mount.c:1441
+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/mount.c:1446
+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/mount.c:1453
+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/mount.c:1459
+msgid "mount table full"
+msgstr "tabel mount penuh"
+
+#: mount/mount.c:1461
+#, c-format
+msgid "mount: %s: can't read superblock"
+msgstr "mount: %s: tidak dapat membaca superblock"
+
+#: mount/mount.c:1467
+#, c-format
+msgid "mount: %s: unknown device"
+msgstr "mount: %s: perangkat tidak diketahui"
+
+#: mount/mount.c:1472
+#, c-format
+msgid "mount: unknown filesystem type '%s'"
+msgstr "mount: tipe filesystem tidak diketahui '%s'"
+
+#: mount/mount.c:1484
+#, c-format
+msgid "mount: probably you meant %s"
+msgstr "mount: mungkin yang anda maksudkan %s"
+
+#: mount/mount.c:1487
+msgid "mount: maybe you meant 'iso9660'?"
+msgstr "mount: mungkin yang anda maksud 'iso9660'?"
+
+#: mount/mount.c:1490
+msgid "mount: maybe you meant 'vfat'?"
+msgstr "mount: mungkin yang anda maksud 'vfat'?"
+
+#: mount/mount.c:1493
+#, 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/mount.c:1501
+#, 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/mount.c:1503
+#, c-format
+msgid ""
+"mount: the kernel does not recognize %s as a block device\n"
+"       (maybe `insmod driver'?)"
+msgstr ""
+"mount: kernel tidak mengenal %s sebagai sebuah perangkat block\n"
+"       (mungkin `insmod driver'?)"
+
+#: mount/mount.c:1506
+#, 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/mount.c:1509
+#, c-format
+msgid "mount: %s is not a block device"
+msgstr "mount: %s bukan sebuah perangkat block"
+
+#: mount/mount.c:1514
+#, c-format
+msgid "mount: %s is not a valid block device"
+msgstr "mount: %s bukan sebuah perangkat block yang valid"
+
+#: mount/mount.c:1517
+msgid "block device "
+msgstr "perangkat block "
+
+#: mount/mount.c:1519
+#, c-format
+msgid "mount: cannot mount %s%s read-only"
+msgstr "mount: tidak dapat me-mount %s%s hanya-baca"
+
+#: mount/mount.c:1523
+#, 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/mount.c:1527
+#, fuzzy, c-format
+msgid "mount: cannot remount %s%s read-write, is write-protected"
+msgstr "mount: tidak dapat me-mount %s%s hanya-baca"
+
+#: mount/mount.c:1542
+#, 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/mount.c:1552
+#, c-format
+msgid "mount: no medium found on %s ...trying again\n"
+msgstr "mount: tidak ada media ditemukan di %s ...mencoba lagi\n"
+
+#: mount/mount.c:1558
+#, c-format
+msgid "mount: no medium found on %s"
+msgstr "mount: tidak ada media ditemukan di %s"
+
+#: mount/mount.c:1576
+#, 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/mount.c:1655
+#, 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/mount.c:1661
+#, 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/mount.c:1756
+#, c-format
+msgid "mount: %s already mounted on %s\n"
+msgstr "mount: %s telah dimount di %s\n"
+
+#: mount/mount.c:1890
+#, 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/mount.c:2213
+msgid "mount: only root can do that"
+msgstr "mount: hanya root yang dapat melakukan itu"
+
+#: mount/mount.c:2223
+msgid "nothing was mounted"
+msgstr "tidak ada yang telah dimount"
+
+#: mount/mount.c:2241 mount/mount.c:2267
+msgid "mount: no such partition found"
+msgstr "mount: partisi seperti itu tidak ditemukan"
+
+#: mount/mount.c:2244
+#, c-format
+msgid "mount: can't find %s in %s or %s"
+msgstr "mount: tidak dapat menemukan %s dalam %s atau %s"
+
+#: mount/mount_mntent.c:165
+#, 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/mount_mntent.c:216
+#, c-format
+msgid "[mntent]: line %d in %s is bad%s\n"
+msgstr "[mntent]: baris %d dalam %s buruk%s\n"
+
+#: mount/mount_mntent.c:219
+msgid "; rest of file ignored"
+msgstr "; seterusnya dari file diabaikan"
+
+#: mount/sundries.c:31
+msgid "bug in xstrndup call"
+msgstr "kutu/bug dalam pemanggilan xstrndup"
+
+#: mount/sundries.c:224 mount/sundries.c:280 mount/sundries.c:289
+#: mount/xmalloc.c:11
+msgid "not enough memory"
+msgstr "memory tidak cukup"
+
+#: mount/swapon.c:84
+#, c-format
+msgid ""
+"The <special> parameter:\n"
+" {-L label | LABEL=label}             LABEL of device to be used\n"
+" {-U uuid  | 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"
+"\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"
+
+#: mount/swapon.c:92
+#, c-format
+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"
+"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"
+
+#: mount/swapon.c:106
+#, c-format
+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"
+
+#: mount/swapon.c:140
+#, c-format
+msgid "%s: unexpected file format"
+msgstr "%s: format berkas tidak terduga"
+
+#: mount/swapon.c:184 mount/swapon.c:252 mount/swapon.c:397 mount/swapon.c:556
+#: mount/swapon.c:758
+#, c-format
+msgid "%s: open failed"
+msgstr "%s: gagal membuka"
+
+#: mount/swapon.c:205
+#, c-format
+msgid "%s: reinitializing the swap."
+msgstr "%s: Menginisialisasi ulang swap."
+
+#: mount/swapon.c:209
+msgid "fork failed"
+msgstr "gagal fork"
+
+#: mount/swapon.c:225
+msgid "execv failed"
+msgstr "gagal eksekusi"
+
+#: mount/swapon.c:233
+msgid "waitpid failed"
+msgstr "waitpid gagal"
+
+#: mount/swapon.c:257
+#, c-format
+msgid "%s: lseek failed"
+msgstr "%s: lseek gagal"
+
+#: mount/swapon.c:263
+#, c-format
+msgid "%s: write signature failed"
+msgstr "%s: gagal menulis tanda tangan"
+
+#: mount/swapon.c:350
+#, c-format
+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"
+
+#: mount/swapon.c:370
+#, c-format
+msgid "%s: stat failed"
+msgstr "%s: stat gagal"
+
+#: mount/swapon.c:380
+#, c-format
+msgid "%s: insecure permissions %04o, %04o suggested."
+msgstr "%s: mode tidak aman %04o, disarankan menggunakan mode %04o."
+
+#: mount/swapon.c:388
+#, c-format
+msgid "%s: skipping - it appears to have holes."
+msgstr "%s: dilewatkan  - kelihatannya memiliki lubang."
+
+#: mount/swapon.c:402
+#, c-format
+msgid "%s: get size failed"
+msgstr "%s: gagal mendapatkan ukuran"
+
+#: mount/swapon.c:408
+#, c-format
+msgid "%s: read swap header failed"
+msgstr "%s: pembacaan header swap gagal"
+
+#: mount/swapon.c:421
+#, 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"
+
+#: mount/swapon.c:426
+#, c-format
+msgid "%s: swap format pagesize does not match."
+msgstr "%s: format swap pagesize tidak cocok."
+
+#: mount/swapon.c:431
+#, 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.)"
+
+#: mount/swapon.c:440
+#, c-format
+msgid "%s: software suspend data detected. Rewriting the swap signature."
+msgstr "%s: aplikasi suspend data terdeteksi. Menulis ulang tanda swap."
+
+#: mount/swapon.c:464 mount/swapon.c:514
+#, c-format
+msgid "%s on %s\n"
+msgstr "%s di %s\n"
+
+#: mount/swapon.c:486
+#, c-format
+msgid "%s: swapon failed"
+msgstr "%s: swapon gagal"
+
+#: mount/swapon.c:493
+#, c-format
+msgid "cannot find the device for %s"
+msgstr "tidak dapat menemukan perangkat %s"
+
+#: mount/swapon.c:526
+msgid "Not superuser."
+msgstr "Bukan superuser."
+
+#: mount/swapon.c:529
+#, c-format
+msgid "%s: swapoff failed"
+msgstr "%s: gagal swapoff"
+
+#: mount/umount.c:41
+#, c-format
+msgid "umount: compiled without support for -f\n"
+msgstr "umount: dikompilasi tanpa disupport untuk -f\n"
+
+#: mount/umount.c:111
+#, c-format
+msgid "umount: cannot set group id: %s"
+msgstr "umount: tidak dapat menset id grup: %s"
+
+#: mount/umount.c:114
+#, c-format
+msgid "umount: cannot set user id: %s"
+msgstr "umount: tidak dapat menset id pengguna: %s"
+
+#: mount/umount.c:139
+#, c-format
+msgid "umount: cannot fork: %s"
+msgstr "umount: tidak dapat melakukan fork: %s"
+
+#: mount/umount.c:160
+#, c-format
+msgid "umount: %s: invalid block device"
+msgstr "umount: %s: perangkat block tidak valid"
+
+#: mount/umount.c:162
+#, c-format
+msgid "umount: %s: not mounted"
+msgstr "umount: %s: tidak dimount"
+
+#: mount/umount.c:164
+#, c-format
+msgid "umount: %s: can't write superblock"
+msgstr "umount: %s: tidak dapat menulis superblock"
+
+#: mount/umount.c:168
+#, 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/umount.c:173
+#, c-format
+msgid "umount: %s: not found"
+msgstr "umount: %s: tidak ditemukan"
+
+#: mount/umount.c:175
+#, c-format
+msgid "umount: %s: must be superuser to umount"
+msgstr "umount: %s: harus superuser untuk melakukan umount"
+
+#: mount/umount.c:177
+#, c-format
+msgid "umount: %s: block devices not permitted on fs"
+msgstr "umount: %s: perangkat block tidak diijinkan di fs"
+
+#: mount/umount.c:179
+#, c-format
+msgid "umount: %s: %s"
+msgstr "umount: %s: %s"
+
+#: mount/umount.c:235
+#, c-format
+msgid "no umount2, trying umount...\n"
+msgstr "tidak ada umount2, mencoba umount...\n"
+
+#: mount/umount.c:252
+#, c-format
+msgid "umount: %s busy - remounted read-only\n"
+msgstr "umount: %s sibuk - di mount lagi secara hanya-baca\n"
+
+#: mount/umount.c:263
+#, c-format
+msgid "umount: could not remount %s read-only\n"
+msgstr "umount: tidak dapat melakukan mount %s secara hanya-baca\n"
+
+#: mount/umount.c:272
+#, c-format
+msgid "%s umounted\n"
+msgstr "%s sudah tidak dimount\n"
+
+#: mount/umount.c:367
+msgid "umount: cannot find list of filesystems to unmount"
+msgstr "umount: tidak dapat mencari daftar dari filesystems untuk di unmount"
+
+#: mount/umount.c:397
+#, 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/umount.c:466
+#, c-format
+msgid "device %s is associated with %s\n"
+msgstr "perangkat %s sudah diasosiasikan dengan %s\n"
+
+#: mount/umount.c:472
+#, c-format
+msgid "device %s is not associated with %s\n"
+msgstr "perangkat %s sudah diasosiasikan dengan %s\n"
+
+#: mount/umount.c:485
+msgid "Cannot umount \"\"\n"
+msgstr "Tidak dapat umount \"\"\n"
+
+#: mount/umount.c:491
+#, c-format
+msgid "Trying to umount %s\n"
+msgstr "Mencoba untuk umount %s\n"
+
+#: mount/umount.c:504
+msgid "umount: confused when analyzing mtab"
+msgstr "umount: bingung ketika menganalisa mtab"
+
+#: mount/umount.c:509
+#, c-format
+msgid "umount: cannot umount %s -- %s is mounted over it on the same point."
+msgstr "umount: tidak dapat umount %s -- %s telah dipasang di titik yang sama."
+
+#: mount/umount.c:516
+#, c-format
+msgid "Could not find %s in mtab\n"
+msgstr "Tidak dapat mencari %s dalam mtab\n"
+
+#: mount/umount.c:523
+#, c-format
+msgid "umount: %s is not mounted (according to mtab)"
+msgstr "umount: %s tidak di mount (menurut catatan di mtab)"
+
+#: mount/umount.c:547
+#, c-format
+msgid "umount: it seems %s is mounted multiple times"
+msgstr "umount: kelihatannya %s telah di mount beberapa kali"
+
+#: mount/umount.c:561
+#, 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/umount.c:567
+#, c-format
+msgid "umount: %s mount disagrees with the fstab"
+msgstr "umount: %s mount tidak cocok dengan catatan di fstab"
+
+#: mount/umount.c:608
+#, c-format
+msgid "umount: only %s can unmount %s from %s"
+msgstr "umount: hanya %s yang dapat unmount %s dari %s"
+
+#: mount/umount.c:695
+msgid "umount: only root can do that"
+msgstr "umount: hanya root yang dapat melakukan itu"
+
+#: schedutils/chrt.c:56
+#, 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"
+"\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 - 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"
+
+#: schedutils/chrt.c:88
+#, c-format
+msgid "failed to get pid %d's policy"
+msgstr "gagal mendapatkan kebijakan pid %d"
+
+#: schedutils/chrt.c:90
+#, c-format
+msgid "pid %d's %s scheduling policy: "
+msgstr "pid %d %s kebijakan antrian: "
+
+#: schedutils/chrt.c:112
+#, c-format
+msgid "unknown\n"
+msgstr "tidak diketahui\n"
+
+#: schedutils/chrt.c:116
+#, c-format
+msgid "failed to get pid %d's attributes"
+msgstr "gagal mendapatkan atribut pid %d"
+
+#: schedutils/chrt.c:118
+#, c-format
+msgid "pid %d's %s scheduling priority: %d\n"
+msgstr "pid %d %s prioritas antrian: %d\n"
+
+#: schedutils/chrt.c:147
+#, 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:150
+#, c-format
+msgid "SCHED_%s not supported?\n"
+msgstr "SCHED_%s tidak didukung?\n"
+
+#: schedutils/chrt.c:206
+msgid "failed to parse pid"
+msgstr "gagal mendapatkan pid"
+
+#: schedutils/chrt.c:228
+msgid "current"
+msgstr "sekarang"
+
+#: schedutils/chrt.c:236
+msgid "failed to parse priority"
+msgstr "gagal mendapatkan prioritas"
+
+#: schedutils/chrt.c:242
+#, c-format
+msgid "failed to set pid %d's policy"
+msgstr "gagal menset kebijakan pid %d"
+
+#: schedutils/chrt.c:251
+#, c-format
+msgid "failed to execute %s"
+msgstr "gagal menjalankan %s"
+
+#: schedutils/ionice.c:57
+msgid "ioprio_get failed"
+msgstr "ioprio_get gagal"
+
+#: schedutils/ionice.c:75
+msgid "ioprio_set failed"
+msgstr "ioprio_set gagal"
+
+#: schedutils/ionice.c:81
+#, c-format
+msgid ""
+"\n"
+"ionice - sets or gets process io scheduling class and priority.\n"
+"\n"
+"Usage:\n"
+"  ionice [ options ] -p <pid> [<pid> ...]\n"
+"  ionoce [ 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"
+
+#: schedutils/ionice.c:110 schedutils/ionice.c:112
+#, c-format
+msgid "cannot parse number '%s'"
+msgstr "tidak dapat mendapatkan angka '%s'"
+
+#: schedutils/ionice.c:151
+msgid "ignoring given class data for none class"
+msgstr "mengabaikan data kelas yang diberikan untuk kelas kosong"
+
+#: schedutils/ionice.c:159
+msgid "ignoring given class data for idle class"
+msgstr "mengabaikan data kelas yang diberikan untuk kelas kosong"
+
+#: schedutils/ionice.c:163
+#, c-format
+msgid "bad prio class %d"
+msgstr "prioritas kelas %d buruk"
+
+#: schedutils/ionice.c:187
+msgid "execvp failed"
+msgstr "gagal eksekusi"
+
+#: sys-utils/ctrlaltdel.c:27
+#, c-format
+msgid "You must be root to set the Ctrl-Alt-Del behaviour.\n"
+msgstr "Anda harus menjadi root untuk mengeset reaksi dari Ctrl-Alt-Del.\n"
+
+#: sys-utils/ctrlaltdel.c:42
+#, c-format
+msgid "Usage: ctrlaltdel hard|soft\n"
+msgstr "Penggunaan: ctrlaltdel hard|soft\n"
+
+#: sys-utils/cytune.c:114
+#, 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\n"
+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:125
+#, c-format
+msgid ""
+"File %s, For threshold value %lu and timrout value %lu, Maximum characters "
+"in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f\n"
+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:189
+#, c-format
+msgid "Invalid interval value: %s\n"
+msgstr "Nilai interval tidak valid: %s\n"
+
+#: sys-utils/cytune.c:197
+#, c-format
+msgid "Invalid set value: %s\n"
+msgstr "Nilai set tidak valid: %s\n"
+
+#: sys-utils/cytune.c:205
+#, c-format
+msgid "Invalid default value: %s\n"
+msgstr "Nilai default tidak valid: %s\n"
+
+#: sys-utils/cytune.c:213
+#, c-format
+msgid "Invalid set time value: %s\n"
+msgstr "Nilai set waktu tidak valid: %s\n"
+
+#: sys-utils/cytune.c:221
+#, c-format
+msgid "Invalid default time value: %s\n"
+msgstr "Nilai dafault waktu tidak valid: %s\n"
+
+#: sys-utils/cytune.c:238
+#, c-format
+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"
+
+#: sys-utils/cytune.c:250 sys-utils/cytune.c:269 sys-utils/cytune.c:289
+#: sys-utils/cytune.c:339
+#, c-format
+msgid "Can't open %s: %s\n"
+msgstr "Tidak dapat membuka %s: %s\n"
+
+#: sys-utils/cytune.c:257
+#, c-format
+msgid "Can't set %s to threshold %d: %s\n"
+msgstr "Tidak dapat menset %s ke nilai threshold %d: %s\n"
+
+#: sys-utils/cytune.c:276
+#, c-format
+msgid "Can't set %s to time threshold %d: %s\n"
+msgstr "Tidak dapat menset %s ke waktu threshold %d: %s\n"
+
+#: sys-utils/cytune.c:294 sys-utils/cytune.c:351 sys-utils/cytune.c:382
+#, c-format
+msgid "Can't get threshold for %s: %s\n"
+msgstr "Tidak dapat memperoleh nilai threshold untuk %s: %s\n"
+
+#: sys-utils/cytune.c:300 sys-utils/cytune.c:357 sys-utils/cytune.c:388
+#, c-format
+msgid "Can't get timeout for %s: %s\n"
+msgstr "Tidak dapat memperoleh nilai timeout untuk %s: %s\n"
+
+#: sys-utils/cytune.c:306
+#, 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:309
+#, 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/cytune.c:327
+msgid "Can't set signal handler"
+msgstr "Tidak dapat menset pengolah sinyal"
+
+#: sys-utils/cytune.c:331 sys-utils/cytune.c:366
+msgid "gettimeofday failed"
+msgstr "gettimeofday gagal"
+
+#: sys-utils/cytune.c:344 sys-utils/cytune.c:376
+#, c-format
+msgid "Can't issue CYGETMON on %s: %s\n"
+msgstr "Tidak dapat mengisukan CYGETMON di %s: %s\n"
+
+#: sys-utils/cytune.c:418
+#, 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:424
+#, 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:429
+#, 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:435
+#, c-format
+msgid "   %f int/sec; %f rec (char/sec)\n"
+msgstr "   %f int/sec; %f rec (char/sec)\n"
+
+#: sys-utils/dmesg.c:45
+#, fuzzy, c-format
+msgid "Usage: %s [-c] [-n level] [-r] [-s bufsize]\n"
+msgstr "Penggunaan: %s [-c] [-n level] [-s bufsize]\n"
+
+#: sys-utils/flock.c:65
+#, c-format
+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 ""
+"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"
+
+#: sys-utils/flock.c:192
+#, c-format
+msgid "%s: %s requires exactly one command argument\n"
+msgstr "%s: %s membutuhkan tepat sebuah argument perintah\n"
+
+#: sys-utils/flock.c:219
+#, c-format
+msgid "%s: cannot open lock file %s: %s\n"
+msgstr "%s: tidak dapat membuka berkas kunci%s: %s\n"
+
+#: sys-utils/flock.c:231
+#, c-format
+msgid "%s: bad number: %s\n"
+msgstr "%s: angka buruk: %s\n"
+
+#: sys-utils/flock.c:238
+#, c-format
+msgid "%s: requires file descriptor, file or directory\n"
+msgstr "%s: membutuhkan berkas deskripsi, berkas atau direktori\n"
+
+#: sys-utils/flock.c:294
+#, c-format
+msgid "%s: fork failed: %s\n"
+msgstr "%s: gagal fork: %s\n"
+
+#: sys-utils/ipcmk.c:84
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [options]\n"
+"\n"
+msgstr ""
+"\n"
+"Penggunaan: %s [pilihan]\n"
+"\n"
+
+#: sys-utils/ipcmk.c:86
+#, c-format
+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"
+
+#: sys-utils/ipcmk.c:90
+#, c-format
+msgid ""
+"\n"
+"For more information see ipcmk(1).\n"
+"\n"
+msgstr ""
+"\n"
+"Untuk informasi lebih lanjut lihat ipcmk(1).\n"
+"\n"
+
+#: sys-utils/ipcmk.c:142
+msgid "create share memory failed"
+msgstr "pembuatan memori terbagi gagal"
+
+#: sys-utils/ipcmk.c:144
+#, c-format
+msgid "Shared memory id: %d\n"
+msgstr "Identitas memori terbagi: %d\n"
+
+#: sys-utils/ipcmk.c:150
+msgid "create message queue failed"
+msgstr "pembuatan atrian pesan gagal"
+
+#: sys-utils/ipcmk.c:152
+#, c-format
+msgid "Message queue id: %d\n"
+msgstr "Identitas antrian pesan: %d\n"
+
+#: sys-utils/ipcmk.c:158
+msgid "create semaphore failed"
+msgstr "pembuatan semaphor gagal"
+
+#: sys-utils/ipcmk.c:160
+#, c-format
+msgid "Semaphore id: %d\n"
+msgstr "Identitas semaphor: %d\n"
+
+#: sys-utils/ipcrm.c:66
+#, c-format
+msgid "invalid id: %s\n"
+msgstr "id tidak valid: %s\n"
+
+#: sys-utils/ipcrm.c:84
+#, c-format
+msgid "cannot remove id %s (%s)\n"
+msgstr "tidak dapat menghapus id %s (%s)\n"
+
+#: sys-utils/ipcrm.c:99
+#, c-format
+msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
+msgstr "penggunaan yang sudah ditinggal: %s {shm | msg | sem} id ...\n"
+
+#: sys-utils/ipcrm.c:126
+#, c-format
+msgid "unknown resource type: %s\n"
+msgstr "tipe resource tidak diketahui: %s\n"
+
+#: sys-utils/ipcrm.c:130
+#, c-format
+msgid "resource(s) deleted\n"
+msgstr "resource(s) dihapus\n"
+
+#: sys-utils/ipcrm.c:140
+#, c-format
+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"
+
+#: sys-utils/ipcrm.c:181
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: pilihan illegal -- %c\n"
+
+#: sys-utils/ipcrm.c:193
+#, c-format
+msgid "%s: illegal key (%s)\n"
+msgstr "%s: kunci illegal (%s)\n"
+
+#: sys-utils/ipcrm.c:208 sys-utils/ipcrm.c:240
+msgid "permission denied for key"
+msgstr "ijin ditolak untuk kunci"
+
+#: sys-utils/ipcrm.c:211 sys-utils/ipcrm.c:250
+msgid "already removed key"
+msgstr "kunci sudah dihapus"
+
+#: sys-utils/ipcrm.c:214 sys-utils/ipcrm.c:245
+msgid "invalid key"
+msgstr "kunci tidak valid"
+
+#: sys-utils/ipcrm.c:217 sys-utils/ipcrm.c:255
+msgid "unknown error in key"
+msgstr "kesalahan tidak diketahui dalam kunci"
+
+#: sys-utils/ipcrm.c:241
+msgid "permission denied for id"
+msgstr "ijin ditolak untuk id"
+
+#: sys-utils/ipcrm.c:246
+msgid "invalid id"
+msgstr "id tidak valid"
+
+#: sys-utils/ipcrm.c:251
+msgid "already removed id"
+msgstr "id sudah dihapus"
+
+#: sys-utils/ipcrm.c:256
+msgid "unknown error in id"
+msgstr "error tidak diketahui dalam id"
+
+#: sys-utils/ipcrm.c:259
+#, c-format
+msgid "%s: %s (%s)\n"
+msgstr "%s: %s (%s)\n"
+
+#: sys-utils/ipcrm.c:267
+#, c-format
+msgid "%s: unknown argument: %s\n"
+msgstr "%s: argument tidak diketahui: %s\n"
+
+#: sys-utils/ipcs.c:120
+#, c-format
+msgid "usage : %s -asmq -tclup \n"
+msgstr "penggunaan: %s -asmq -tclup \n"
+
+#: sys-utils/ipcs.c:121
+#, c-format
+msgid "\t%s [-s -m -q] -i id\n"
+msgstr "\t%s [-s -m -q] -i id\n"
+
+#: sys-utils/ipcs.c:122
+#, c-format
+msgid "\t%s -h for help.\n"
+msgstr "\t%s -h untuk bantuan.\n"
+
+#: sys-utils/ipcs.c:128
+#, c-format
+msgid ""
+"%s provides information on ipc facilities for which you have read access.\n"
+msgstr ""
+"%s memberikan informasi di fasilitas ipc dimana anda memiliki ijin untuk "
+"membaca.\n"
+
+#: sys-utils/ipcs.c:130
+#, c-format
+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"
+
+#: sys-utils/ipcs.c:131
+#, c-format
+msgid ""
+"\t-s : semaphores\n"
+"\t-a : all (default)\n"
+msgstr ""
+"\t-s : semaphores\n"
+"\t-a : all (default)\n"
+
+#: sys-utils/ipcs.c:132
+#, c-format
+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"
+
+#: sys-utils/ipcs.c:133
+#, c-format
+msgid ""
+"\t-l : limits\n"
+"\t-u : summary\n"
+msgstr ""
+"\t-l : batas\n"
+"\t-u : ringkasan\n"
+
+#: sys-utils/ipcs.c:134
+#, c-format
+msgid "-i id [-s -q -m] : 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:258
+#, c-format
+msgid "kernel not configured for shared memory\n"
+msgstr "kernel tidak dikonfigurasu untuk shared memory\n"
+
+#: sys-utils/ipcs.c:264
+#, c-format
+msgid "------ Shared Memory Limits --------\n"
+msgstr "------ Batas Shared Memory  --------\n"
+
+#: sys-utils/ipcs.c:269
+#, c-format
+msgid "max number of segments = %lu\n"
+msgstr "max nomor dari segments = %lu\n"
+
+#: sys-utils/ipcs.c:271
+#, c-format
+msgid "max seg size (kbytes) = %lu\n"
+msgstr "max sed size (kbytes) = %lu\n"
+
+#: sys-utils/ipcs.c:273
+#, c-format
+msgid "max total shared memory (kbytes) = %llu\n"
+msgstr "max total shared memory (kbytes) = %llu\n"
+
+#: sys-utils/ipcs.c:275
+#, c-format
+msgid "min seg size (bytes) = %lu\n"
+msgstr "min seg size (bytes) = %lu\n"
+
+#: sys-utils/ipcs.c:280
+#, c-format
+msgid "------ Shared Memory Status --------\n"
+msgstr "------ Shared Memory Status --------\n"
+
+#: sys-utils/ipcs.c:281
+#, c-format
+msgid "segments allocated %d\n"
+msgstr "bagian yang di alokasikan %d\n"
+
+#: sys-utils/ipcs.c:282
+#, c-format
+msgid "pages allocated %ld\n"
+msgstr "pages yang di alokasikan %ld\n"
+
+#: sys-utils/ipcs.c:283
+#, c-format
+msgid "pages resident  %ld\n"
+msgstr "pages resident %ld\n"
+
+#: sys-utils/ipcs.c:284
+#, c-format
+msgid "pages swapped   %ld\n"
+msgstr "pages yang di swap %ld\n"
+
+#: sys-utils/ipcs.c:285
+#, c-format
+msgid "Swap performance: %ld attempts\t %ld successes\n"
+msgstr "Performance swap: %ld mencoba\t %ld berhasil\n"
+
+#: sys-utils/ipcs.c:290
+#, c-format
+msgid "------ Shared Memory Segment Creators/Owners --------\n"
+msgstr "------ Shared Memory Segment Pembuat/Pemilik --------\n"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:298 sys-utils/ipcs.c:305
+#: sys-utils/ipcs.c:311
+msgid "shmid"
+msgstr "shmid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:311 sys-utils/ipcs.c:412
+#: sys-utils/ipcs.c:427 sys-utils/ipcs.c:510 sys-utils/ipcs.c:528
+msgid "perms"
+msgstr "perms"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "cuid"
+msgstr "cuid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "cgid"
+msgstr "cgid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "uid"
+msgstr "uid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "gid"
+msgstr "gid"
+
+#: sys-utils/ipcs.c:296
+#, c-format
+msgid "------ Shared Memory Attach/Detach/Change Times --------\n"
+msgstr "------ Shared Memory Attach/Detach/Change Times --------\n"
+
+#: sys-utils/ipcs.c:298 sys-utils/ipcs.c:305 sys-utils/ipcs.c:311
+#: sys-utils/ipcs.c:418 sys-utils/ipcs.c:427 sys-utils/ipcs.c:516
+#: sys-utils/ipcs.c:522 sys-utils/ipcs.c:528
+msgid "owner"
+msgstr "pemilik"
+
+#: sys-utils/ipcs.c:298
+msgid "attached"
+msgstr "attached"
+
+#: sys-utils/ipcs.c:298
+msgid "detached"
+msgstr "detached"
+
+#: sys-utils/ipcs.c:299
+msgid "changed"
+msgstr "berubah"
+
+#: sys-utils/ipcs.c:303
+#, c-format
+msgid "------ Shared Memory Creator/Last-op --------\n"
+msgstr "------ Shared Memory Pembuat/Last-op --------\n"
+
+#: sys-utils/ipcs.c:305
+msgid "cpid"
+msgstr "cpid"
+
+#: sys-utils/ipcs.c:305
+msgid "lpid"
+msgstr "lpid"
+
+#: sys-utils/ipcs.c:309
+#, c-format
+msgid "------ Shared Memory Segments --------\n"
+msgstr "------ Shared Memory Segments --------\n"
+
+#: sys-utils/ipcs.c:311 sys-utils/ipcs.c:427 sys-utils/ipcs.c:528
+msgid "key"
+msgstr "kunci"
+
+#: sys-utils/ipcs.c:311
+msgid "bytes"
+msgstr "bytes"
+
+#: sys-utils/ipcs.c:312
+msgid "nattch"
+msgstr "nattch"
+
+#: sys-utils/ipcs.c:312
+msgid "status"
+msgstr "status"
+
+#: sys-utils/ipcs.c:333 sys-utils/ipcs.c:335 sys-utils/ipcs.c:337
+#: sys-utils/ipcs.c:448 sys-utils/ipcs.c:450 sys-utils/ipcs.c:549
+#: sys-utils/ipcs.c:551 sys-utils/ipcs.c:553 sys-utils/ipcs.c:604
+#: sys-utils/ipcs.c:606 sys-utils/ipcs.c:634 sys-utils/ipcs.c:636
+#: sys-utils/ipcs.c:638 sys-utils/ipcs.c:661
+msgid "Not set"
+msgstr "Tidak diset"
+
+#: sys-utils/ipcs.c:365
+msgid "dest"
+msgstr "dest"
+
+#: sys-utils/ipcs.c:366
+msgid "locked"
+msgstr "terkunci"
+
+#: sys-utils/ipcs.c:386
+#, c-format
+msgid "kernel not configured for semaphores\n"
+msgstr "kernel tidak dikonfigurasikan untuk semaphores\n"
+
+#: sys-utils/ipcs.c:392
+#, c-format
+msgid "------ Semaphore Limits --------\n"
+msgstr "------ Batas Semaphore  --------\n"
+
+#: sys-utils/ipcs.c:396
+#, c-format
+msgid "max number of arrays = %d\n"
+msgstr "max nomor dari arrays = %d\n"
+
+#: sys-utils/ipcs.c:397
+#, c-format
+msgid "max semaphores per array = %d\n"
+msgstr "max semaphors per array = %d\n"
+
+#: sys-utils/ipcs.c:398
+#, c-format
+msgid "max semaphores system wide = %d\n"
+msgstr "max semaphors system wide = %d\n"
+
+#: sys-utils/ipcs.c:399
+#, c-format
+msgid "max ops per semop call = %d\n"
+msgstr "max ops per semop call = %d\n"
+
+#: sys-utils/ipcs.c:400
+#, c-format
+msgid "semaphore max value = %d\n"
+msgstr "nilai maksimal semaphore = %d\n"
+
+#: sys-utils/ipcs.c:404
+#, c-format
+msgid "------ Semaphore Status --------\n"
+msgstr "------ Semaphore Status --------\n"
+
+#: sys-utils/ipcs.c:405
+#, c-format
+msgid "used arrays = %d\n"
+msgstr "arrays yang digunakan = %d\n"
+
+#: sys-utils/ipcs.c:406
+#, c-format
+msgid "allocated semaphores = %d\n"
+msgstr "semaphores yang dialokasikan = %d\n"
+
+#: sys-utils/ipcs.c:410
+#, c-format
+msgid "------ Semaphore Arrays Creators/Owners --------\n"
+msgstr "------ Semaphore Array Pembuat/Pemilik  --------\n"
+
+#: sys-utils/ipcs.c:412 sys-utils/ipcs.c:418 sys-utils/ipcs.c:427
+msgid "semid"
+msgstr "semid"
+
+#: sys-utils/ipcs.c:416
+#, c-format
+msgid "------ Semaphore Operation/Change Times --------\n"
+msgstr "------ Operasi Semaphore/Perubahan Waktu ---------\n"
+
+#: sys-utils/ipcs.c:418
+msgid "last-op"
+msgstr "last-op"
+
+#: sys-utils/ipcs.c:418
+msgid "last-changed"
+msgstr "last-changed"
+
+#: sys-utils/ipcs.c:425
+#, c-format
+msgid "------ Semaphore Arrays --------\n"
+msgstr "------ Semaphore Arrays --------\n"
+
+#: sys-utils/ipcs.c:427
+msgid "nsems"
+msgstr "nsems"
+
+#: sys-utils/ipcs.c:486
+#, c-format
+msgid "kernel not configured for message queues\n"
+msgstr "kernel tidak dikonfigurasikan untuk message queues\n"
+
+#: sys-utils/ipcs.c:494
+#, c-format
+msgid "------ Messages: Limits --------\n"
+msgstr "------ Messages: Limits --------\n"
+
+#: sys-utils/ipcs.c:495
+#, c-format
+msgid "max queues system wide = %d\n"
+msgstr "max queues system wide = %d\n"
+
+#: sys-utils/ipcs.c:496
+#, c-format
+msgid "max size of message (bytes) = %d\n"
+msgstr "ukuran maksimal dari pesan (bytes) =%d\n"
+
+#: sys-utils/ipcs.c:497
+#, c-format
+msgid "default max size of queue (bytes) = %d\n"
+msgstr "ukuran maksimal default dari antrian (bytes) = %d\n"
+
+#: sys-utils/ipcs.c:501
+#, c-format
+msgid "------ Messages: Status --------\n"
+msgstr "------ Pesan: Status ---------\n"
+
+#: sys-utils/ipcs.c:502
+#, c-format
+msgid "allocated queues = %d\n"
+msgstr "alokasi antrian = %d\n"
+
+#: sys-utils/ipcs.c:503
+#, c-format
+msgid "used headers = %d\n"
+msgstr "penggunaan headers = %d\n"
+
+#: sys-utils/ipcs.c:504
+#, c-format
+msgid "used space = %d bytes\n"
+msgstr "penggunaan space = %d bytes\n"
+
+#: sys-utils/ipcs.c:508
+#, c-format
+msgid "------ Message Queues: Creators/Owners --------\n"
+msgstr "------ Pesan Antrian: Pembuat/Pemilik --------\n"
+
+#: sys-utils/ipcs.c:510 sys-utils/ipcs.c:516 sys-utils/ipcs.c:522
+#: sys-utils/ipcs.c:528
+msgid "msqid"
+msgstr "msgid"
+
+#: sys-utils/ipcs.c:514
+#, c-format
+msgid "------ Message Queues Send/Recv/Change Times --------\n"
+msgstr "------ Pesan Antrian Kirim/Terima/Kembali Waktu (Times) --------\n"
+
+#: sys-utils/ipcs.c:516
+msgid "send"
+msgstr "kirim"
+
+#: sys-utils/ipcs.c:516
+msgid "recv"
+msgstr "recv"
+
+#: sys-utils/ipcs.c:516
+msgid "change"
+msgstr "kembali"
+
+#: sys-utils/ipcs.c:520
+#, c-format
+msgid "------ Message Queues PIDs --------\n"
+msgstr "------ Pesan Antrian PIDs --------\n"
+
+#: sys-utils/ipcs.c:522
+msgid "lspid"
+msgstr "lspid"
+
+#: sys-utils/ipcs.c:522
+msgid "lrpid"
+msgstr "lrpid"
+
+#: sys-utils/ipcs.c:526
+#, c-format
+msgid "------ Message Queues --------\n"
+msgstr "------ Pesan Antrian --------\n"
+
+#: sys-utils/ipcs.c:529
+msgid "used-bytes"
+msgstr "byte yang digunakan"
+
+#: sys-utils/ipcs.c:529
+msgid "messages"
+msgstr "pesan"
+
+#: sys-utils/ipcs.c:593
+msgid "shmctl failed"
+msgstr "shmctl gagal"
+
+#: sys-utils/ipcs.c:595
+#, c-format
+msgid ""
+"\n"
+"Shared memory Segment shmid=%d\n"
+msgstr ""
+"\n"
+"Bagian memory share shmid=%d\n"
+
+#: sys-utils/ipcs.c:596
+#, c-format
+msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+msgstr "uid=%d\tgid=%d\tuid=%d\tcgid=%d\n"
+
+#: sys-utils/ipcs.c:598
+#, c-format
+msgid "mode=%#o\taccess_perms=%#o\n"
+msgstr "mode=%#o\taccess_perms=%#o\n"
+
+#: sys-utils/ipcs.c:600
+#, c-format
+msgid "bytes=%ld\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+msgstr "bytes=%ld\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+
+#: sys-utils/ipcs.c:603
+#, c-format
+msgid "att_time=%-26.24s\n"
+msgstr "att_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:605
+#, c-format
+msgid "det_time=%-26.24s\n"
+msgstr "det_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:607 sys-utils/ipcs.c:637
+#, c-format
+msgid "change_time=%-26.24s\n"
+msgstr "change_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:619
+msgid "msgctl failed"
+msgstr "msgctl gagal"
+
+#: sys-utils/ipcs.c:621
+#, c-format
+msgid ""
+"\n"
+"Message Queue msqid=%d\n"
+msgstr ""
+"\n"
+"Antrian Pesan msgid=%d\n"
+
+#: sys-utils/ipcs.c:622
+#, c-format
+msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
+
+#: sys-utils/ipcs.c:624
+#, 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:633
+#, c-format
+msgid "send_time=%-26.24s\n"
+msgstr "send_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:635
+#, c-format
+msgid "rcv_time=%-26.24s\n"
+msgstr "rcv_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:652 sys-utils/ipcs.c:674
+msgid "semctl failed"
+msgstr "semctl gagal"
+
+#: sys-utils/ipcs.c:654
+#, c-format
+msgid ""
+"\n"
+"Semaphore Array semid=%d\n"
+msgstr ""
+"\n"
+"Semaphore Array semid=%d\n"
+
+#: sys-utils/ipcs.c:655
+#, c-format
+msgid "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+msgstr "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+
+#: sys-utils/ipcs.c:657
+#, c-format
+msgid "mode=%#o, access_perms=%#o\n"
+msgstr "mode=%#o, access_perms=%#o\n"
+
+#: sys-utils/ipcs.c:659
+#, c-format
+msgid "nsems = %ld\n"
+msgstr "nsems = %ld\n"
+
+#: sys-utils/ipcs.c:660
+#, c-format
+msgid "otime = %-26.24s\n"
+msgstr "otime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:662
+#, c-format
+msgid "ctime = %-26.24s\n"
+msgstr "ctime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:665
+msgid "semnum"
+msgstr "semnum"
+
+#: sys-utils/ipcs.c:665
+msgid "value"
+msgstr "nilai"
+
+#: sys-utils/ipcs.c:665
+msgid "ncount"
+msgstr "ncount"
+
+#: sys-utils/ipcs.c:665
+msgid "zcount"
+msgstr "zcound"
+
+#: sys-utils/ipcs.c:665
+msgid "pid"
+msgstr "pid"
+
+#: sys-utils/ldattach.c:92
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [ -dhV78neo12 ] [ -s <speed> ] <ldisc> <device>\n"
+msgstr ""
+"\n"
+"Penggunaan: %s [ -dhV78neo12 ] [ -s <kecepatan> ] <ldisc> <perangkat>\n"
+
+#: sys-utils/ldattach.c:94
+msgid ""
+"\n"
+"Known <ldisc> names:\n"
+msgstr ""
+"\n"
+"Nama <ldisc> dikenal:\n"
+
+#: sys-utils/ldattach.c:179
+#, c-format
+msgid "invalid speed: %s"
+msgstr "kecepatan tidak valid: %s"
+
+#: sys-utils/ldattach.c:182
+#, c-format
+msgid "ldattach from %s\n"
+msgstr "ldattach dari %s\n"
+
+#: sys-utils/ldattach.c:187 text-utils/tailf.c:205
+msgid "invalid option"
+msgstr "pilihan tidak valid"
+
+#: sys-utils/ldattach.c:199
+#, c-format
+msgid "invalid line discipline: %s"
+msgstr "baris disiplin tidak valid: %s"
+
+#: sys-utils/ldattach.c:207
+#, c-format
+msgid "%s is not a serial line"
+msgstr "%s bukan sebuah baris serial"
+
+#: sys-utils/ldattach.c:213
+#, c-format
+msgid "cannot get terminal attributes for %s"
+msgstr "tidak dapat memperoleh atribut terminal %s"
+
+#: sys-utils/ldattach.c:216
+#, c-format
+msgid "speed %d unsupported"
+msgstr "kecepatan %d tidak didukung"
+
+#: sys-utils/ldattach.c:247
+#, c-format
+msgid "cannot set terminal attributes for %s"
+msgstr "tidak dapat menset atribut terminal untuk %s"
+
+#: sys-utils/ldattach.c:254
+msgid "cannot set line discipline"
+msgstr "Tidak dapat menset baris disiplin"
+
+#: sys-utils/ldattach.c:260
+msgid "cannot daemonize"
+msgstr "tidak dapat daemonize"
+
+#: sys-utils/lscpu.c:64
+msgid "none"
+msgstr "kosong"
+
+#: sys-utils/lscpu.c:65
+msgid "para"
+msgstr "para"
+
+#: sys-utils/lscpu.c:66
+msgid "full"
+msgstr "penuh"
+
+#: sys-utils/lscpu.c:129 sys-utils/lscpu.c:152 sys-utils/lscpu.c:441
+#, c-format
+msgid "error: %s"
+msgstr "error: %s"
+
+#: sys-utils/lscpu.c:154
+#, c-format
+msgid "error parse: %s"
+msgstr "error mengambil: %s"
+
+#: sys-utils/lscpu.c:176
+msgid "error: strdup failed"
+msgstr "error: strdup gagal"
+
+#: sys-utils/lscpu.c:259
+msgid "error: uname failed"
+msgstr "error: uname gagal"
+
+#: sys-utils/lscpu.c:491
+msgid "error: malloc failed"
+msgstr "error: malloc gagal"
+
+#: sys-utils/lscpu.c:506
+msgid "error: /sys filesystem is not accessable."
+msgstr "error: sistem berkas /sys tidak dapat diakses."
+
+#: sys-utils/lscpu.c:524
+#, 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"
+"# CPU,Core,Socket,Node"
+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:590
+msgid "Thread(s) per core:"
+msgstr "Thread(s) setiap inti:"
+
+#: sys-utils/lscpu.c:591
+msgid "Core(s) per socket:"
+msgstr "Inti setiap soket:"
+
+#: sys-utils/lscpu.c:592
+msgid "CPU socket(s):"
+msgstr "CPU soket:"
+
+#: sys-utils/lscpu.c:596
+msgid "NUMA node(s):"
+msgstr "Titik NUMA:"
+
+#: sys-utils/lscpu.c:598
+msgid "Vendor ID:"
+msgstr "ID Pembuat:"
+
+#: sys-utils/lscpu.c:600
+msgid "CPU family:"
+msgstr "Keluarga CPU:"
+
+#: sys-utils/lscpu.c:602
+msgid "Model:"
+msgstr "Model:"
+
+#: sys-utils/lscpu.c:604
+msgid "Stepping:"
+msgstr "Stepping:"
+
+#: sys-utils/lscpu.c:606
+msgid "CPU MHz:"
+msgstr "CPU MHz:"
+
+#: sys-utils/lscpu.c:609 sys-utils/lscpu.c:611
+msgid "Virtualization:"
+msgstr "Virtualisasi:"
+
+#: sys-utils/lscpu.c:614
+msgid "Hypervisor vendor:"
+msgstr "Pembuat Hypervisor:"
+
+#: sys-utils/lscpu.c:615
+msgid "Virtualization type:"
+msgstr "Tipe virtualisasi:"
+
+#: sys-utils/lscpu.c:623
+#, c-format
+msgid "%s cache:"
+msgstr "%s persediaan:"
+
+#: sys-utils/lscpu.c:631
+#, c-format
+msgid "Usage: %s [option]\n"
+msgstr "Penggunaan: %s [pilihan]\n"
+
+#: sys-utils/lscpu.c:634
+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 ""
+"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"
+
+#: sys-utils/lscpu.c:683
+#, c-format
+msgid "error: change working directory to %s."
+msgstr "error: mengubah direktori kerja ke %s."
+
+#: sys-utils/rdev.c:77
+msgid "usage: rdev [ -rv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]"
+msgstr "penggunaan: rdev [ -rv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]"
+
+#: sys-utils/rdev.c:78
+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"
+
+#: sys-utils/rdev.c:79
+msgid "  rdev /dev/fd0 /dev/hda2         sets ROOT to /dev/hda2"
+msgstr "  rdev /dev/fd0 /dev/hda2         sets ROOT pada /dev/hda2"
+
+#: sys-utils/rdev.c:80
+msgid "  rdev -R /dev/fd0 1              set the ROOTFLAGS (readonly status)"
+msgstr "  rdev -R /dev/fd0 1              set ROOTFLAGS (readonly status)"
+
+#: sys-utils/rdev.c:81
+msgid "  rdev -r /dev/fd0 627            set the RAMDISK size"
+msgstr "  rdev -r /dev/fd0 627            set ukuran RAMDISK"
+
+#: sys-utils/rdev.c:82
+msgid "  rdev -v /dev/fd0 1              set the bootup VIDEOMODE"
+msgstr "  rdev -v /dev/fd0 1              set bootup VIDEOMODE"
+
+#: sys-utils/rdev.c:83
+msgid "  rdev -o N ...                   use the byte offset N"
+msgstr "  rdev -o N ...                   menggunakan offset byte N"
+
+#: sys-utils/rdev.c:84
+msgid "  rootflags ...                   same as rdev -R"
+msgstr "  rootflags ...                   sama dengan rdev -R"
+
+#: sys-utils/rdev.c:85
+msgid "  ramsize ...                     same as rdev -r"
+msgstr "  ukuran ram ...                  sama dengan rdev -r"
+
+#: sys-utils/rdev.c:86
+msgid "  vidmode ...                     same as rdev -v"
+msgstr "  vidmode ...                     sama dengan rdev -v"
+
+#: sys-utils/rdev.c:87
+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,..."
+
+#: sys-utils/rdev.c:88
+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."
+
+#: sys-utils/rdev.c:245
+msgid "missing comma"
+msgstr "hilang koma"
+
+#: sys-utils/readprofile.c:72
+#, c-format
+msgid "out of memory"
+msgstr "kehabisan memori"
+
+#: sys-utils/readprofile.c:118
+#, 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: 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"
+
+#: sys-utils/readprofile.c:227
+#, c-format
+msgid "readprofile: error writing %s: %s\n"
+msgstr "readprofile: error dalam menulis %s: %s\n"
+
+#: sys-utils/readprofile.c:268
+#, c-format
+msgid "Assuming reversed byte order. Use -n to force native byte order.\n"
+msgstr ""
+"Mengasumsikan urutan byte terbalik. Gunakan -n untuk memaksa urutan byte "
+"asal.\n"
+
+#: sys-utils/readprofile.c:284
+#, c-format
+msgid "Sampling_step: %i\n"
+msgstr "Sampling_step: %i\n"
+
+#: sys-utils/readprofile.c:305 sys-utils/readprofile.c:331
+#, c-format
+msgid "%s: %s(%i): wrong map line\n"
+msgstr "%s: %s(%i): salah baris map\n"
+
+#: sys-utils/readprofile.c:318
+#, c-format
+msgid "%s: can't find \"_stext\" in %s\n"
+msgstr "%s: tidak dapat mencari \"_stext\" dalam %s\n"
+
+#: sys-utils/readprofile.c:352
+#, c-format
+msgid "%s: profile address out of range. Wrong map file?\n"
+msgstr "%s: profile alamat diluar jangkauan. Salah file map?\n"
+
+#: sys-utils/readprofile.c:412
+msgid "total"
+msgstr "total"
+
+#: sys-utils/renice.c:53
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" renice [-n] priority [-p|--pid] pid  [... pid]\n"
+" renice [-n] priority  -g|--pgrp pgrp [... pgrp]\n"
+" renice [-n] priority  -u|--user user [... user]\n"
+" renice -h | --help\n"
+" renice -v | --version\n"
+"\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:89
+#, c-format
+msgid "renice from %s\n"
+msgstr "renice dari %s\n"
+
+#: sys-utils/renice.c:126
+#, c-format
+msgid "renice: %s: unknown user\n"
+msgstr "renice: %s: pengguna tidak ada\n"
+
+#: sys-utils/renice.c:134
+#, c-format
+msgid "renice: %s: bad value\n"
+msgstr "renice: %s: nilai buruk\n"
+
+#: sys-utils/renice.c:152 sys-utils/renice.c:164
+msgid "getpriority"
+msgstr "getpriority"
+
+#: sys-utils/renice.c:157
+msgid "setpriority"
+msgstr "setpriority"
+
+#: sys-utils/renice.c:168
+#, c-format
+msgid "%d: old priority %d, new priority %d\n"
+msgstr "%d: prioritas sebelumnya %d, prioritas baru %d\n"
+
+#: sys-utils/rtcwake.c:81
+#, c-format
+msgid ""
+"usage: %s [options]\n"
+"    -d | --device <device>    select rtc device (rtc0|rtc1|...)\n"
+"    -l | --local              RTC uses local timezone\n"
+"    -m | --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"
+"    -V | --version            show version\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:140
+msgid "read rtc time"
+msgstr "baca baris rtc"
+
+#: sys-utils/rtcwake.c:145
+msgid "read system time"
+msgstr "baca waktu sistem"
+
+#: sys-utils/rtcwake.c:163
+msgid "convert rtc time"
+msgstr "ubah waktu rtc"
+
+#: sys-utils/rtcwake.c:222
+msgid "set rtc alarm"
+msgstr "set alarm rtc"
+
+#: sys-utils/rtcwake.c:226
+msgid "enable rtc alarm"
+msgstr "aktifkan alarm rtc"
+
+#: sys-utils/rtcwake.c:230
+msgid "set rtc wake alarm"
+msgstr "set alarm bangun rtc"
+
+#: sys-utils/rtcwake.c:342
+#, c-format
+msgid "%s: unrecognized suspend state '%s'\n"
+msgstr " %s: kondisi suspend tidak dikenal '%s'\n"
+
+#: sys-utils/rtcwake.c:351
+#, c-format
+msgid "%s: illegal interval %s seconds\n"
+msgstr "%s: interval ilegal %s detik\n"
+
+#: sys-utils/rtcwake.c:365
+#, c-format
+msgid "%s: illegal time_t value %s\n"
+msgstr "%s: nilai time_t %s ilegal\n"
+
+#: sys-utils/rtcwake.c:381
+#, c-format
+msgid "%s: version %s\n"
+msgstr "%s: versi %s\n"
+
+#: sys-utils/rtcwake.c:394
+#, c-format
+msgid "%s: assuming RTC uses UTC ...\n"
+msgstr "%s: mengasumsikan RTC menggunakan UTC ...\n"
+
+#: sys-utils/rtcwake.c:399
+#, c-format
+msgid "Using UTC time.\n"
+msgstr "Menggunakan waktu UTC.\n"
+
+#: sys-utils/rtcwake.c:400
+#, c-format
+msgid "Using local time.\n"
+msgstr "Menggunakan waktu lokal.\n"
+
+#: sys-utils/rtcwake.c:403
+#, c-format
+msgid "%s: must provide wake time\n"
+msgstr "%s: harus menyediakan waktu bangun\n"
+
+#: sys-utils/rtcwake.c:413
+msgid "malloc() failed"
+msgstr "malloc() gagal"
+
+#: sys-utils/rtcwake.c:425
+#, c-format
+msgid "%s: %s not enabled for wakeup events\n"
+msgstr "%s: %s tidak aktif untuk even bangun\n"
+
+#: sys-utils/rtcwake.c:441
+#, 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:446
+#, c-format
+msgid "%s: time doesn't go backward to %s\n"
+msgstr "%s: waktu tidak pergi mundur ke %s\n"
+
+#: sys-utils/rtcwake.c:456
+#, c-format
+msgid "%s: wakeup from \"%s\" using %s at %s\n"
+msgstr "%s: bangun dari \"%s\" menggunakan %s di %s\n"
+
+#: sys-utils/rtcwake.c:473
+msgid "rtc read"
+msgstr "baca rtc"
+
+#: sys-utils/rtcwake.c:482
+msgid "disable rtc alarm interrupt"
+msgstr "menonaktifkan interupsi alarm rtc"
+
+#: sys-utils/setarch.c:50
+#, c-format
+msgid "Switching on %s.\n"
+msgstr "Mengaktifkan %s.\n"
+
+#: sys-utils/setarch.c:113
+#, c-format
+msgid ""
+"Usage: %s%s [options] [program [program arguments]]\n"
+"\n"
+"Options:\n"
+msgstr ""
+"Penggunaan: %s%s [pilihan] [aplikasi [aplikasi argumen]]\n"
+"\n"
+"Pilihan:\n"
+
+#: sys-utils/setarch.c:117
+#, c-format
+msgid ""
+" -h, --help               displays this help text\n"
+" -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"
+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:131
+#, c-format
+msgid ""
+"\n"
+"For more information see setarch(8).\n"
+msgstr ""
+"\n"
+"Untuk informasi lebih lanjut lihat setarch(8).\n"
+
+#: sys-utils/setarch.c:143
+#, c-format
+msgid ""
+"%s: %s\n"
+"Try `%s --help' for more information.\n"
+msgstr ""
+"%s: %s\n"
+"Coba `%s --help' untuk informasi lebih lanjut.\n"
+
+#: sys-utils/setarch.c:215 sys-utils/setarch.c:231
+#, c-format
+msgid "%s: Unrecognized architecture"
+msgstr "%s: Arsitektur tidak dikenal"
+
+#: sys-utils/setarch.c:249 sys-utils/setarch.c:256
+msgid "Not enough arguments"
+msgstr "Argumen tidak cukup"
+
+#: sys-utils/setarch.c:265 sys-utils/setarch.c:318
+#, c-format
+msgid "Failed to set personality to %s"
+msgstr "Gagal menset personality ke %s"
+
+#: sys-utils/setsid.c:26
+#, c-format
+msgid "usage: %s program [arg ...]\n"
+msgstr "penggunaan: %s program [arg ...]\n"
+
+#: sys-utils/tunelp.c:75
+#, c-format
+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"
+
+#: sys-utils/tunelp.c:91
+msgid "malloc error"
+msgstr "malloc error"
+
+#: sys-utils/tunelp.c:103
+#, c-format
+msgid "%s: bad value\n"
+msgstr "%s: nilai tidak baik\n"
+
+#: sys-utils/tunelp.c:242
+#, c-format
+msgid "%s: %s not an lp device.\n"
+msgstr "%s: %s bukan sebuah perangkat lp.\n"
+
+#: sys-utils/tunelp.c:263
+#, c-format
+msgid "%s status is %d"
+msgstr "%s status adalah %d"
+
+#: sys-utils/tunelp.c:264
+#, c-format
+msgid ", busy"
+msgstr ", sibuk"
+
+#: sys-utils/tunelp.c:265
+#, c-format
+msgid ", ready"
+msgstr ", siap"
+
+#: sys-utils/tunelp.c:266
+#, c-format
+msgid ", out of paper"
+msgstr ", kehabisan kertas"
+
+#: sys-utils/tunelp.c:267
+#, c-format
+msgid ", on-line"
+msgstr ", on-line"
+
+#: sys-utils/tunelp.c:268
+#, c-format
+msgid ", error"
+msgstr ", error"
+
+#: sys-utils/tunelp.c:285
+msgid "LPGETIRQ error"
+msgstr "LPGETIRQ error"
+
+#: sys-utils/tunelp.c:291
+#, c-format
+msgid "%s using IRQ %d\n"
+msgstr "%s menggunakan IRQ %d\n"
+
+#: sys-utils/tunelp.c:293
+#, c-format
+msgid "%s using polling\n"
+msgstr "%s menggunakan polling\n"
+
+#: text-utils/col.c:154
+#, c-format
+msgid "col: bad -l argument %s.\n"
+msgstr "col: argumen %s untuk pilihan -l tidak baik.\n"
+
+#: text-utils/col.c:544
+#, c-format
+msgid "usage: col [-bfpx] [-l nline]\n"
+msgstr "penggunaan: col [-bfpx] [-l nline]\n"
+
+#: text-utils/col.c:550
+#, c-format
+msgid "col: write error.\n"
+msgstr "col: write error.\n"
+
+#: text-utils/col.c:557
+#, c-format
+msgid "col: warning: can't back up %s.\n"
+msgstr "col: peringatan: tidak dapat mem back up %s.\n"
+
+#: text-utils/col.c:558
+msgid "past first line"
+msgstr "melewati baris pertama"
+
+#: text-utils/col.c:558
+msgid "-- line already flushed"
+msgstr "-- baris sudah di flush"
+
+#: text-utils/colcrt.c:97
+#, c-format
+msgid "usage: %s [ - ] [ -2 ] [ file ... ]\n"
+msgstr "penggunaan: %s [ - ] [ -2 ] [ file ... ]\n"
+
+#: text-utils/column.c:297
+msgid "line too long"
+msgstr "baris terlalu panjang"
+
+#: text-utils/column.c:374
+#, c-format
+msgid "usage: column [-tx] [-c columns] [file ...]\n"
+msgstr "penggunaan: column [-tx] [-c columnx] [file ...]\n"
+
+#: text-utils/hexsyntax.c:82
+#, c-format
+msgid "hexdump: bad length value.\n"
+msgstr "hexdump: angka panjang tidak baik.\n"
+
+#: text-utils/hexsyntax.c:93
+#, c-format
+msgid "hexdump: bad skip value.\n"
+msgstr "hexdump: angka skip tidak baik.\n"
+
+#: text-utils/hexsyntax.c:131
+#, c-format
+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"
+
+#: text-utils/more.c:256
+#, c-format
+msgid "usage: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n"
+msgstr "penggunaan: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n"
+
+#: text-utils/more.c:479
+#, c-format
+msgid "%s: unknown option \"-%c\"\n"
+msgstr "%s: pilihan tidak diketahui \"-%c\"\n"
+
+#: text-utils/more.c:511
+#, c-format
+msgid ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+msgstr ""
+"\n"
+"*** %s: direktori ***\n"
+"\n"
+
+#: text-utils/more.c:555
+#, c-format
+msgid ""
+"\n"
+"******** %s: Not a text file ********\n"
+"\n"
+msgstr ""
+"\n"
+"******** %s: Bukan sebuah file text ********\n"
+"\n"
+
+#: text-utils/more.c:658
+#, c-format
+msgid "[Use q or Q to quit]"
+msgstr "[Gunakan q atau Q untuk berhenti]"
+
+#: text-utils/more.c:750
+#, c-format
+msgid "--More--"
+msgstr "--Lebih--"
+
+#: text-utils/more.c:752
+#, c-format
+msgid "(Next file: %s)"
+msgstr "(File selanjutnya: %s)"
+
+#: text-utils/more.c:757
+#, c-format
+msgid "[Press space to continue, 'q' to quit.]"
+msgstr "[Tekan spasi untuk melanjutkan, 'q' untuk berhenti.]"
+
+#: text-utils/more.c:1172
+#, c-format
+msgid "...back %d pages"
+msgstr "...kembali %d halaman"
+
+#: text-utils/more.c:1174
+msgid "...back 1 page"
+msgstr "...kembali 1 halaman"
+
+#: text-utils/more.c:1217
+msgid "...skipping one line"
+msgstr "...melewati satu baris"
+
+#: text-utils/more.c:1219
+#, c-format
+msgid "...skipping %d lines"
+msgstr "...melewati %d baris"
+
+#: text-utils/more.c:1256
+msgid ""
+"\n"
+"***Back***\n"
+"\n"
+msgstr ""
+"\n"
+"***Kembali***\n"
+"\n"
+
+#: text-utils/more.c:1294
+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:1301
+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:1370 text-utils/more.c:1375
+#, c-format
+msgid "[Press 'h' for instructions.]"
+msgstr "[Tekan 'h' untuk instruksi.]"
+
+#: text-utils/more.c:1409
+#, c-format
+msgid "\"%s\" line %d"
+msgstr "\"%s\" baris %d"
+
+#: text-utils/more.c:1411
+#, c-format
+msgid "[Not a file] line %d"
+msgstr "[Bukan sebuah file] baris %d"
+
+#: text-utils/more.c:1495
+msgid "  Overflow\n"
+msgstr "  Overflow\n"
+
+#: text-utils/more.c:1542
+msgid "...skipping\n"
+msgstr "...melewati\n"
+
+#: text-utils/more.c:1571
+msgid "Regular expression botch"
+msgstr "Regular expression botch"
+
+#: text-utils/more.c:1579
+msgid ""
+"\n"
+"Pattern not found\n"
+msgstr ""
+"\n"
+"Pattern tidak ditemukan\n"
+
+#: text-utils/more.c:1582 text-utils/pg.c:1124 text-utils/pg.c:1275
+msgid "Pattern not found"
+msgstr "Pattern tidak ditemukan"
+
+#: text-utils/more.c:1643
+msgid "can't fork\n"
+msgstr "tidak dapat fork\n"
+
+#: text-utils/more.c:1682
+msgid ""
+"\n"
+"...Skipping "
+msgstr ""
+"\n"
+"...Melewati"
+
+#: text-utils/more.c:1686
+msgid "...Skipping to file "
+msgstr "...Melewati ke file "
+
+#: text-utils/more.c:1688
+msgid "...Skipping back to file "
+msgstr "...Melewati kembali ke file "
+
+#: text-utils/more.c:1966
+msgid "Line too long"
+msgstr "Baris terlalu panjang"
+
+#: text-utils/more.c:2009
+msgid "No previous command to substitute for"
+msgstr "Tidak adalah perintah sebelumnya untuk digantikan"
+
+#: text-utils/odsyntax.c:130
+#, c-format
+msgid "od: od(1) has been deprecated for hexdump(1).\n"
+msgstr "od: od(1) sudah ditinggalkan untuk hexdump(1).\n"
+
+#: text-utils/odsyntax.c:133
+#, c-format
+msgid "od: hexdump(1) compatibility doesn't support the -%c option%s\n"
+msgstr "od: hexdump(1) kompatibilitas tidak mensupport pilihan -%c %s\n"
+
+#: text-utils/odsyntax.c:134
+msgid "; see strings(1)."
+msgstr "; lihat strings(1)."
+
+#: text-utils/parse.c:63
+#, c-format
+msgid "hexdump: can't read %s.\n"
+msgstr "hexdump: tidak dapat membaca %s.\n"
+
+#: text-utils/parse.c:68
+#, c-format
+msgid "hexdump: line too long.\n"
+msgstr "hexdump: baris terlalu panjang.\n"
+
+#: text-utils/parse.c:401
+#, c-format
+msgid "hexdump: byte count with multiple conversion characters.\n"
+msgstr "hexdump: byte count dengan beberapa konversi karakter.\n"
+
+#: text-utils/parse.c:483
+#, c-format
+msgid "hexdump: bad byte count for conversion character %s.\n"
+msgstr "hexdump: penghitung byte buruk untuk konversi karakter %s.\n"
+
+#: text-utils/parse.c:490
+#, c-format
+msgid "hexdump: %%s requires a precision or a byte count.\n"
+msgstr "hexdump: %%s membutuhkan sebuah presisi atau sebuah penghitung byte.\n"
+
+#: text-utils/parse.c:496
+#, c-format
+msgid "hexdump: bad format {%s}\n"
+msgstr "hexdump: format buruk {%s}\n"
+
+#: text-utils/parse.c:502
+#, c-format
+msgid "hexdump: bad conversion character %%%s.\n"
+msgstr "hexdump: karakter konversi buruk %%%s.\n"
+
+#: text-utils/pg.c:145
+msgid ""
+"All rights reserved.\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"
+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:223
+msgid "Out of memory\n"
+msgstr "Kehabisan memori\n"
+
+#: text-utils/pg.c:236
+#, c-format
+msgid ""
+"%s: Usage: %s [-number] [-p string] [-cefnrs] [+line] [+/pattern/] [files]\n"
+msgstr ""
+"%s: Penggunaan: %s [-number] [-p string] [-cefnrs] [+line] [+/pattern/] "
+"[files]\n"
+
+#: text-utils/pg.c:245
+#, c-format
+msgid "%s: option requires an argument -- %s\n"
+msgstr "%s: pilihan membutuhkan sebuah argumen -- %s\n"
+
+#: text-utils/pg.c:253
+#, c-format
+msgid "%s: illegal option -- %s\n"
+msgstr "%s: pilihan illegal -- %s\n"
+
+#: text-utils/pg.c:370
+msgid "...skipping forward\n"
+msgstr "...melewati forward\n"
+
+#: text-utils/pg.c:372
+msgid "...skipping backward\n"
+msgstr "...melewati backward\n"
+
+#: text-utils/pg.c:394
+msgid "No next file"
+msgstr "Tidak ada file selanjutnya"
+
+#: text-utils/pg.c:398
+msgid "No previous file"
+msgstr "Tidak ada file sebelumnya"
+
+#: text-utils/pg.c:928
+#, c-format
+msgid "%s: Read error from %s file\n"
+msgstr "%s: Read error dari file %s\n"
+
+#: text-utils/pg.c:934
+#, c-format
+msgid "%s: Unexpected EOF in %s file\n"
+msgstr "%s: EOF tidak diperkirakan dalam file %s\n"
+
+#: text-utils/pg.c:937
+#, c-format
+msgid "%s: Unknown error in %s file\n"
+msgstr "%s: Error tidak diketahui dalam file %s\n"
+
+#: text-utils/pg.c:1032
+#, c-format
+msgid "%s: Cannot create tempfile\n"
+msgstr "%s: Tidak dapat membuat tempfile\n"
+
+#: text-utils/pg.c:1041 text-utils/pg.c:1216 text-utils/pg.c:1243
+msgid "RE error: "
+msgstr "RE error: "
+
+#: text-utils/pg.c:1198
+msgid "(EOF)"
+msgstr "(EOF)"
+
+#: text-utils/pg.c:1224 text-utils/pg.c:1251
+msgid "No remembered search string"
+msgstr "Tidak ada yang diingat string pencarian"
+
+#: text-utils/pg.c:1307
+msgid "Cannot open "
+msgstr "Tidak dapat dibuka "
+
+#: text-utils/pg.c:1355
+msgid "saved"
+msgstr "disimpan"
+
+#: text-utils/pg.c:1462
+msgid ": !command not allowed in rflag mode.\n"
+msgstr ": !command tidak diperbolehkan dalam mode rflag.\n"
+
+#: text-utils/pg.c:1494
+msgid "fork() failed, try again later\n"
+msgstr "fork() gagal, coba lagi nanti\n"
+
+#: text-utils/pg.c:1702
+msgid "(Next file: "
+msgstr "(File selanjutnya: "
+
+#: text-utils/rev.c:113
+msgid "unable to allocate bufferspace"
+msgstr "Tidak dapat mengalokasikan bufferspace"
+
+#: text-utils/rev.c:143
+#, c-format
+msgid "usage: rev [file ...]\n"
+msgstr "penggunaan: rev [file ...]\n"
+
+#: text-utils/tailf.c:57 text-utils/tailf.c:92
+#, c-format
+msgid "cannot open \"%s\" for read"
+msgstr "Tidak dapat membuka \"%s\" untuk dibaca"
+
+#: text-utils/tailf.c:95 text-utils/tailf.c:214
+#, c-format
+msgid "cannot stat \"%s\""
+msgstr "tidak dapat memperoleh statistik \"%s\""
+
+#: text-utils/tailf.c:108
+#, fuzzy, c-format
+msgid "incomplete write to \"%s\" (written %zd, expected %zd)\n"
+msgstr "penulisan tidak lengkap ke \"%s\" (ditulis %ld, diperkirakan %ld)\n"
+
+#: text-utils/tailf.c:146
+#, c-format
+msgid "%s: cannot add inotify watch (limit of inotify watches was reached)."
+msgstr ""
+
+#: text-utils/tailf.c:150
+#, c-format
+msgid "%s: cannot add inotify watch."
+msgstr ""
+
+#: text-utils/tailf.c:159
+#, fuzzy, c-format
+msgid "%s: cannot read inotify events"
+msgstr "%s: tidak dapat membuka %s\n"
+
+#: text-utils/tailf.c:198 text-utils/tailf.c:202
+msgid "invalid number of lines"
+msgstr "Jumlah dari baris tidak valid"
+
+#: text-utils/tailf.c:209
+msgid "usage: tailf [-n N | -N] logfile"
+msgstr "Penggunaan: tailf [-n N | -N] logfile"
+
+#: text-utils/ul.c:141
+#, c-format
+msgid "usage: %s [ -i ] [ -tTerm ] file...\n"
+msgstr "penggunaan: %s [-i ] [ -tTerm ] file...\n"
+
+#: text-utils/ul.c:152
+#, c-format
+msgid "trouble reading terminfo"
+msgstr "bermasalah dalam pembacaan terminfo"
+
+#: text-utils/ul.c:242
+#, c-format
+msgid "Unknown escape sequence in input: %o, %o\n"
+msgstr "escape sequence tidak diketahui pada input: %o, %o\n"
+
+#: text-utils/ul.c:425
+#, c-format
+msgid "Unable to allocate buffer.\n"
+msgstr "Tidak dapat mengalokasikan buffer.\n"
+
+#: text-utils/ul.c:586
+#, c-format
+msgid "Input line too long.\n"
+msgstr "Baris input terlalu panjang.\n"
+
+#: text-utils/ul.c:599
+#, c-format
+msgid "Out of memory when growing buffer.\n"
+msgstr "Kehabisan memori ketika meningkatkan buffer.\n"
+
+#~ msgid "# partition table of %s\n"
+#~ msgstr "# tabel partisi dari %s\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: 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: unable to get current directory - %s\n"
+#~ msgstr "namei: tidak dapat memperoleh direktori saat ini - %s\n"
+
+#~ msgid "namei: unable to chdir to %s - %s (%d)\n"
+#~ msgstr "namei: tidak dapat chdir ke %s - %s (%d)\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 "%s: cannot stat %s: %s\n"
+#~ msgstr "%s: tidak dapat memperoleh statistik %s: %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"
+
+#, fuzzy
+#~ 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"
+
+#, fuzzy
+#~ 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 "Autoconfigure failed.\n"
+#~ msgstr "Autoconfigure gagal.\n"
+
+#~ 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 from %s%s\n"
+#~ msgstr "%s dari %s%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: cannot find %s in %s"
+#~ msgstr "mount: tidak dapat menemukan %s dalam %s"
+
+#~ 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 (file)
index 0000000..b26de01
--- /dev/null
@@ -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 (file)
index 0000000..f06bddd
Binary files /dev/null and b/po/it.gmo differ
diff --git a/po/it.po b/po/it.po
new file mode 100644 (file)
index 0000000..05ca5d3
--- /dev/null
+++ b/po/it.po
@@ -0,0 +1,12137 @@
+# 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-ng 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: Karel Zak <kzak@redhat.com>\n"
+"POT-Creation-Date: 2009-11-30 16:27+0100\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"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: disk-utils/blockdev.c:37
+msgid "set read-only"
+msgstr "imposta sola lettura"
+
+#: disk-utils/blockdev.c:38
+msgid "set read-write"
+msgstr "imposta lettura-scrittura"
+
+#: disk-utils/blockdev.c:39
+msgid "get read-only"
+msgstr "visualizza sola lettura"
+
+#: disk-utils/blockdev.c:40
+msgid "get sectorsize"
+msgstr "visualizza la dimensione del settore"
+
+#: disk-utils/blockdev.c:41
+msgid "get blocksize"
+msgstr "visualizza la dimensione del blocco"
+
+#: disk-utils/blockdev.c:42
+msgid "set blocksize"
+msgstr "imposta la dimensione del blocco"
+
+#: disk-utils/blockdev.c:43
+msgid "get 32-bit sector count"
+msgstr ""
+
+# FIXME
+#: disk-utils/blockdev.c:44
+msgid "get size in bytes"
+msgstr "visualizza la dimensione in byte"
+
+#: disk-utils/blockdev.c:45
+msgid "set readahead"
+msgstr "imposta readahead"
+
+#: disk-utils/blockdev.c:46
+msgid "get readahead"
+msgstr "visualizza readahead"
+
+#: disk-utils/blockdev.c:47
+msgid "set filesystem readahead"
+msgstr "imposta file system readahead"
+
+#: disk-utils/blockdev.c:48
+msgid "get filesystem readahead"
+msgstr "visualizza file system readahead"
+
+#: disk-utils/blockdev.c:49
+msgid "flush buffers"
+msgstr "scarica i buffer"
+
+#: disk-utils/blockdev.c:51
+msgid "reread partition table"
+msgstr "rileggi la tabella delle partizioni"
+
+#: disk-utils/blockdev.c:60
+#, c-format
+msgid "Usage:\n"
+msgstr "Uso:\n"
+
+#: disk-utils/blockdev.c:62
+#, c-format
+msgid "  %s --report [devices]\n"
+msgstr "  %s --report [dispositivi]\n"
+
+#: disk-utils/blockdev.c:63
+#, c-format
+msgid "  %s [-v|-q] commands devices\n"
+msgstr "  %s [-v|-q] comandi dispositivi\n"
+
+#: disk-utils/blockdev.c:66
+#, c-format
+msgid "Available commands:\n"
+msgstr "Comandi disponibili:\n"
+
+#: disk-utils/blockdev.c:68
+msgid "get size in 512-byte sectors"
+msgstr "visualizza la dimensione in settori da 512 byte"
+
+#: disk-utils/blockdev.c:201
+#, c-format
+msgid "%s: Unknown command: %s\n"
+msgstr "%s: Comando sconosciuto: %s\n"
+
+#: disk-utils/blockdev.c:213 disk-utils/blockdev.c:222
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s richiede un argomento\n"
+
+#: disk-utils/blockdev.c:255
+#, c-format
+msgid "%s failed.\n"
+msgstr "%s non riuscito.\n"
+
+#: disk-utils/blockdev.c:292
+#, c-format
+msgid "%s succeeded.\n"
+msgstr "%s riuscito.\n"
+
+#: disk-utils/blockdev.c:310 disk-utils/blockdev.c:338
+#, c-format
+msgid "%s: cannot open %s\n"
+msgstr "%s: impossibile aprire %s\n"
+
+#: disk-utils/blockdev.c:355
+#, c-format
+msgid "%s: ioctl error on %s\n"
+msgstr "%s: errore di ioctl su %s\n"
+
+#: disk-utils/blockdev.c:364
+#, c-format
+msgid "RO    RA   SSZ   BSZ   StartSec            Size   Device\n"
+msgstr ""
+
+#: disk-utils/elvtune.c:48
+#, c-format
+msgid "usage:\n"
+msgstr "Uso:\n"
+
+#: disk-utils/elvtune.c:53
+#, c-format
+msgid "\tNOTE: elvtune only works with 2.4 kernels\n"
+msgstr ""
+
+#: disk-utils/elvtune.c:104
+#, fuzzy, c-format
+msgid "parse error\n"
+msgstr "errore di posizionamento"
+
+#: disk-utils/elvtune.c:110
+#, 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:131
+#, 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:31
+#, c-format
+msgid "Formatting ... "
+msgstr "Formattazione in corso... "
+
+#: disk-utils/fdformat.c:49 disk-utils/fdformat.c:86
+#, c-format
+msgid "done\n"
+msgstr "fatto\n"
+
+#: disk-utils/fdformat.c:60
+#, 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:80
+#, c-format
+msgid ""
+"bad data in cyl %d\n"
+"Continuing ... "
+msgstr ""
+"dati danneggiati nel cil %d\n"
+"Continua ... "
+
+#: disk-utils/fdformat.c:96
+#, c-format
+msgid "usage: %s [ -n ] device\n"
+msgstr "Uso:  %s [ -n ] dispositivo\n"
+
+#: disk-utils/fdformat.c:118 disk-utils/fsck.minix.c:1282
+#: disk-utils/isosize.c:181 disk-utils/mkfs.bfs.c:115 disk-utils/mkfs.c:52
+#: disk-utils/mkfs.cramfs.c:813 disk-utils/mkfs.minix.c:571
+#: disk-utils/mkswap.c:461 misc-utils/ddate.c:179 misc-utils/rename.c:79
+#: misc-utils/script.c:147 sys-utils/readprofile.c:197
+#, c-format
+msgid "%s (%s)\n"
+msgstr "%s (%s)\n"
+
+#: disk-utils/fdformat.c:132
+#, c-format
+msgid "%s: not a block device\n"
+msgstr "%s: non si tratta di un dispositivo a blocchi\n"
+
+#: disk-utils/fdformat.c:142
+msgid "Could not determine current format type"
+msgstr "Impossibile determinare il tipo di formato attuale"
+
+#: disk-utils/fdformat.c:143
+#, 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:144
+msgid "Double"
+msgstr "doppia"
+
+#: disk-utils/fdformat.c:144
+msgid "Single"
+msgstr "singola"
+
+#: disk-utils/fsck.cramfs.c:118
+#, c-format
+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"
+
+#: disk-utils/fsck.cramfs.c:164
+#, fuzzy, c-format
+msgid "stat failed: %s"
+msgstr "(File successivo: %s)"
+
+#: disk-utils/fsck.cramfs.c:168 disk-utils/fsck.cramfs.c:552
+#, fuzzy, c-format
+msgid "open failed: %s"
+msgstr "openpty non riuscita\n"
+
+#: disk-utils/fsck.cramfs.c:173
+#, 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:181
+#, 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:185 disk-utils/fsck.cramfs.c:227
+#, fuzzy
+msgid "file length too short"
+msgstr "%s: cramfs non valido -- lunghezza del file troppo corta\n"
+
+#: disk-utils/fsck.cramfs.c:190 disk-utils/fsck.cramfs.c:198
+#: disk-utils/fsck.cramfs.c:259 disk-utils/fsck.cramfs.c:279
+#, fuzzy, c-format
+msgid "read failed: %s"
+msgstr "(File successivo: %s)"
+
+#: disk-utils/fsck.cramfs.c:208
+msgid "superblock magic not found"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:217
+#, fuzzy
+msgid "unsupported filesystem features"
+msgstr "Immettere il tipo di filesystem: "
+
+#: disk-utils/fsck.cramfs.c:220
+#, fuzzy, c-format
+msgid "superblock size (%d) too small"
+msgstr "Numero di settori"
+
+#: disk-utils/fsck.cramfs.c:224
+msgid "zero file count"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:230
+#, 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:234
+#, fuzzy, c-format
+msgid "warning: old cramfs format\n"
+msgstr "%s: attenzione -- vecchia immagine cramfs, nessun CRC\n"
+
+#: disk-utils/fsck.cramfs.c:247
+msgid "unable to test CRC: old cramfs format"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:273 disk-utils/fsck.cramfs.c:340
+#: disk-utils/fsck.cramfs.c:478 login-utils/chfn.c:529 login-utils/chsh.c:439
+#: sys-utils/cytune.c:321
+msgid "malloc failed"
+msgstr "malloc non riuscita"
+
+#: disk-utils/fsck.cramfs.c:298
+#, fuzzy
+msgid "crc error"
+msgstr ", errore"
+
+#: disk-utils/fsck.cramfs.c:365
+#, fuzzy
+msgid "root inode is not directory"
+msgstr "l'inode radice non è una directory"
+
+#: disk-utils/fsck.cramfs.c:370
+#, c-format
+msgid "bad root offset (%lu)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:388
+msgid "data block too large"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:392
+#, c-format
+msgid "decompression error %p(%d): %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:416
+#, fuzzy, c-format
+msgid "  hole at %ld (%zd)\n"
+msgstr "  buco in %ld (%d)\n"
+
+#: disk-utils/fsck.cramfs.c:424 disk-utils/fsck.cramfs.c:596
+#, c-format
+msgid "  uncompressing block at %ld to %ld (%ld)\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:430
+#, fuzzy, c-format
+msgid "non-block (%ld) bytes"
+msgstr "Superblocco: %d byte\n"
+
+#: disk-utils/fsck.cramfs.c:434
+#, c-format
+msgid "non-size (%ld vs %ld) bytes"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:440
+#, fuzzy, c-format
+msgid "write failed: %s"
+msgstr "(File successivo: %s)"
+
+#: disk-utils/fsck.cramfs.c:453
+#, fuzzy, c-format
+msgid "lchown failed: %s"
+msgstr "mount non riuscito"
+
+#: disk-utils/fsck.cramfs.c:459
+#, fuzzy, c-format
+msgid "chown failed: %s"
+msgstr "mount non riuscito"
+
+#: disk-utils/fsck.cramfs.c:466
+#, fuzzy, c-format
+msgid "utime failed: %s"
+msgstr "valore di timeout non valido: %s"
+
+#: disk-utils/fsck.cramfs.c:481
+#, c-format
+msgid "directory inode has zero offset and non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:495
+#, fuzzy, c-format
+msgid "mkdir failed: %s"
+msgstr "/dev: chdir() non riuscito: %m"
+
+#: disk-utils/fsck.cramfs.c:512
+msgid "filename length is zero"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:515
+msgid "bad filename length"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:522
+#, fuzzy
+msgid "bad inode offset"
+msgstr "dimensione inode non corretta"
+
+#: disk-utils/fsck.cramfs.c:538
+msgid "file inode has zero offset and non-zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:541
+msgid "file inode has zero size and non-zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:572
+msgid "symbolic link has zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:575
+msgid "symbolic link has zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:587
+#, fuzzy, c-format
+msgid "size error in symlink: %s"
+msgstr "%s: errore di dimensione nel collegamento simbolico \"%s\"\n"
+
+#: disk-utils/fsck.cramfs.c:602
+#, fuzzy, c-format
+msgid "symlink failed: %s"
+msgstr "fsync non riuscito "
+
+#: disk-utils/fsck.cramfs.c:614
+#, c-format
+msgid "special file has non-zero offset: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:626
+#, c-format
+msgid "fifo has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:632
+#, c-format
+msgid "socket has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:637
+#, c-format
+msgid "bogus mode: %s (%o)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:647
+#, fuzzy, c-format
+msgid "mknod failed: %s"
+msgstr "mount non riuscito"
+
+#: disk-utils/fsck.cramfs.c:683
+#, c-format
+msgid "directory data start (%ld) < sizeof(struct cramfs_super) + start (%ld)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:686
+#, c-format
+msgid "directory data end (%ld) != file data start (%ld)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:691
+#, fuzzy
+msgid "invalid file data offset"
+msgstr "id non valido: %s\n"
+
+#: disk-utils/fsck.cramfs.c:715
+#, fuzzy
+msgid "failed to allocate outbuffer"
+msgstr "Impossibile allocare il buffer.\n"
+
+#: disk-utils/fsck.cramfs.c:728
+#, fuzzy
+msgid "compiled without -x support"
+msgstr "%s: è stato compilato senza il supporto per -x\n"
+
+#: disk-utils/fsck.minix.c:210
+#, c-format
+msgid "Usage: %s [-larvsmf] /dev/name\n"
+msgstr "Uso: %s [-larvsmf] /dev/nome\n"
+
+#: disk-utils/fsck.minix.c:326
+#, c-format
+msgid "%s is mounted.\t "
+msgstr "%s è montato.\t"
+
+#: disk-utils/fsck.minix.c:328
+msgid "Do you really want to continue"
+msgstr "Continuare?"
+
+#: disk-utils/fsck.minix.c:332
+#, c-format
+msgid "check aborted.\n"
+msgstr "controllo interrotto.\n"
+
+#: disk-utils/fsck.minix.c:351 disk-utils/fsck.minix.c:374
+#, c-format
+msgid "Zone nr < FIRSTZONE in file `%s'."
+msgstr " N. zona < FIRSTZONE nel file `%s'"
+
+#: disk-utils/fsck.minix.c:355 disk-utils/fsck.minix.c:378
+#, c-format
+msgid "Zone nr >= ZONES in file `%s'."
+msgstr "N. Zona >= ZONES nel file `%s'"
+
+#: disk-utils/fsck.minix.c:360 disk-utils/fsck.minix.c:383
+msgid "Remove block"
+msgstr "Rimuovere blocco"
+
+#: disk-utils/fsck.minix.c:401
+#, 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:407
+#, 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:422
+#, 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:428 disk-utils/mkfs.minix.c:209
+msgid "seek failed in write_block"
+msgstr "tentativo fallito in write_block "
+
+#: disk-utils/fsck.minix.c:431
+#, 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:547
+msgid "seek failed in write_super_block"
+msgstr "ricerca fallita in write_super_block"
+
+#: disk-utils/fsck.minix.c:549 disk-utils/mkfs.minix.c:196
+msgid "unable to write super-block"
+msgstr "impossibile scrivere in super-block"
+
+#: disk-utils/fsck.minix.c:559
+msgid "Unable to write inode map"
+msgstr "Impossibile scrivere nella mappa di inode"
+
+#: disk-utils/fsck.minix.c:561
+msgid "Unable to write zone map"
+msgstr "Impossibile scrivere nella mappa di zona"
+
+#: disk-utils/fsck.minix.c:563
+msgid "Unable to write inodes"
+msgstr "Impossibile scrivere inode"
+
+#: disk-utils/fsck.minix.c:590
+msgid "seek failed"
+msgstr "ricerca non riuscita"
+
+#: disk-utils/fsck.minix.c:592
+msgid "unable to read super block"
+msgstr "impossibile leggere super block"
+
+#: disk-utils/fsck.minix.c:610
+msgid "bad magic number in super-block"
+msgstr "numero magico danneggiato in super-block"
+
+#: disk-utils/fsck.minix.c:612
+msgid "Only 1k blocks/zones supported"
+msgstr "È supportato solamente 1k blocchi/zone"
+
+#: disk-utils/fsck.minix.c:614
+msgid "bad s_imap_blocks field in super-block"
+msgstr "campo s_imap_blocks danneggiato in super-block"
+
+#: disk-utils/fsck.minix.c:616
+msgid "bad s_zmap_blocks field in super-block"
+msgstr "campo s_zmap_blocks danneggiato in super-block"
+
+#: disk-utils/fsck.minix.c:623
+msgid "Unable to allocate buffer for inode map"
+msgstr "Impossibile allocare il buffer per la mappa inode"
+
+#: disk-utils/fsck.minix.c:626
+msgid "Unable to allocate buffer for zone map"
+msgstr "Impossibile allocare il buffer per la mappa zone"
+
+#: disk-utils/fsck.minix.c:631
+msgid "Unable to allocate buffer for inodes"
+msgstr "Impossibile allocare il buffer per gli inode"
+
+#: disk-utils/fsck.minix.c:634
+msgid "Unable to allocate buffer for inode count"
+msgstr "Impossibile allocare il buffer per il conteggio inode"
+
+#: disk-utils/fsck.minix.c:637
+msgid "Unable to allocate buffer for zone count"
+msgstr "Impossibile allocare il buffer per il conteggio zona"
+
+#: disk-utils/fsck.minix.c:639
+msgid "Unable to read inode map"
+msgstr "Impossibile leggere la mappa inode"
+
+#: disk-utils/fsck.minix.c:641
+msgid "Unable to read zone map"
+msgstr "Impossibile leggere la mappa di zona"
+
+#: disk-utils/fsck.minix.c:643
+msgid "Unable to read inodes"
+msgstr "Impossibile leggere gli inode"
+
+#: disk-utils/fsck.minix.c:645
+#, c-format
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr "Attenzione: prima zona != Norm_firstzone\n"
+
+#: disk-utils/fsck.minix.c:650 disk-utils/mkfs.minix.c:450
+#, c-format
+msgid "%ld inodes\n"
+msgstr "Inode %ld\n"
+
+#: disk-utils/fsck.minix.c:651 disk-utils/mkfs.minix.c:451
+#, c-format
+msgid "%ld blocks\n"
+msgstr "blocchi %ld\n"
+
+#: disk-utils/fsck.minix.c:652 disk-utils/mkfs.minix.c:452
+#, c-format
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr "Prima zona dati=%ld (%ld)\n"
+
+#: disk-utils/fsck.minix.c:653 disk-utils/mkfs.minix.c:453
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr "Dimensione zona=%d\n"
+
+#: disk-utils/fsck.minix.c:654
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr "Dimensione massima=%ld\n"
+
+#: disk-utils/fsck.minix.c:655
+#, c-format
+msgid "Filesystem state=%d\n"
+msgstr "Stato del filesystem=%d\n"
+
+#: disk-utils/fsck.minix.c:656
+#, c-format
+msgid ""
+"namelen=%d\n"
+"\n"
+msgstr ""
+"lunghezzanom=%d\n"
+"\n"
+
+#: disk-utils/fsck.minix.c:671 disk-utils/fsck.minix.c:722
+#, 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:675 disk-utils/fsck.minix.c:726
+msgid "Mark in use"
+msgstr "Segno in uso"
+
+#: disk-utils/fsck.minix.c:697 disk-utils/fsck.minix.c:746
+#, c-format
+msgid "The file `%s' has mode %05o\n"
+msgstr "Il file `%s' ha modalità %05o\n"
+
+#: disk-utils/fsck.minix.c:704 disk-utils/fsck.minix.c:752
+#, c-format
+msgid "Warning: inode count too big.\n"
+msgstr "Attenzione: conteggio inode troppo grande.\n"
+
+#: disk-utils/fsck.minix.c:764 disk-utils/fsck.minix.c:772
+msgid "root inode isn't a directory"
+msgstr "l'inode radice non è una directory"
+
+#: disk-utils/fsck.minix.c:786 disk-utils/fsck.minix.c:819
+#, 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:788 disk-utils/fsck.minix.c:821
+#: disk-utils/fsck.minix.c:1144 disk-utils/fsck.minix.c:1153
+#: disk-utils/fsck.minix.c:1199 disk-utils/fsck.minix.c:1208
+msgid "Clear"
+msgstr "Cancella"
+
+#: disk-utils/fsck.minix.c:798 disk-utils/fsck.minix.c:831
+#, 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:800 disk-utils/fsck.minix.c:833
+msgid "Correct"
+msgstr "Corretto"
+
+#: disk-utils/fsck.minix.c:972 disk-utils/fsck.minix.c:1039
+#, 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:975 disk-utils/fsck.minix.c:1042
+msgid " Remove"
+msgstr " Rimuovere"
+
+#: disk-utils/fsck.minix.c:989 disk-utils/fsck.minix.c:1056
+#, c-format
+msgid "%s: bad directory: '.' isn't first\n"
+msgstr "%s: directory danneggiata: '.' non è la prima\n"
+
+#: disk-utils/fsck.minix.c:997 disk-utils/fsck.minix.c:1065
+#, c-format
+msgid "%s: bad directory: '..' isn't second\n"
+msgstr "%s: directory danneggiata: '..' non è la seconda\n"
+
+#: disk-utils/fsck.minix.c:1099 disk-utils/fsck.minix.c:1117
+msgid "internal error"
+msgstr "errore interno"
+
+#: disk-utils/fsck.minix.c:1102 disk-utils/fsck.minix.c:1120
+#, c-format
+msgid "%s: bad directory: size < 32"
+msgstr "%s: directory danneggiata: dimensione < 32"
+
+#: disk-utils/fsck.minix.c:1133
+msgid "seek failed in bad_zone"
+msgstr "ricerca in bad_zone non riuscita"
+
+#: disk-utils/fsck.minix.c:1143 disk-utils/fsck.minix.c:1198
+#, c-format
+msgid "Inode %d mode not cleared."
+msgstr "Modalità dell'inode %d non cancellata."
+
+#: disk-utils/fsck.minix.c:1152 disk-utils/fsck.minix.c:1207
+#, c-format
+msgid "Inode %d not used, marked used in the bitmap."
+msgstr "Inode %d non utilizzato, inode contrassegnato utilizzato in bitmap"
+
+#: disk-utils/fsck.minix.c:1158 disk-utils/fsck.minix.c:1213
+#, c-format
+msgid "Inode %d used, marked unused in the bitmap."
+msgstr "Inode %d utilizzato, inode contrassegnato non utilizzato in bitmap."
+
+#: disk-utils/fsck.minix.c:1160 disk-utils/fsck.minix.c:1214
+msgid "Set"
+msgstr "Imposta"
+
+#: disk-utils/fsck.minix.c:1164 disk-utils/fsck.minix.c:1218
+#, c-format
+msgid "Inode %d (mode = %07o), i_nlinks=%d, counted=%d."
+msgstr "Inode %d (modalità = %07o), i_nlinks=%d, conteggiati=%d."
+
+#: disk-utils/fsck.minix.c:1166 disk-utils/fsck.minix.c:1220
+msgid "Set i_nlinks to count"
+msgstr "Impostare i_nlinks da conteggiare"
+
+#: disk-utils/fsck.minix.c:1178 disk-utils/fsck.minix.c:1232
+#, c-format
+msgid "Zone %d: marked in use, no file uses it."
+msgstr "Zona %d: contrassegnata in uso, nessun file la utilizza."
+
+#: disk-utils/fsck.minix.c:1179 disk-utils/fsck.minix.c:1234
+msgid "Unmark"
+msgstr "Non contrassegnata"
+
+#: disk-utils/fsck.minix.c:1184 disk-utils/fsck.minix.c:1239
+#, c-format
+msgid "Zone %d: in use, counted=%d\n"
+msgstr "Zona %d: utilizzata, conteggiati=%d\n"
+
+#: disk-utils/fsck.minix.c:1187 disk-utils/fsck.minix.c:1242
+#, c-format
+msgid "Zone %d: not in use, counted=%d\n"
+msgstr "Zona %d: non in uso, conteggiati=%d\n"
+
+#: disk-utils/fsck.minix.c:1287 disk-utils/mkfs.minix.c:576
+#: disk-utils/mkfs.minix.c:578
+msgid "bad inode size"
+msgstr "dimensione inode non corretta"
+
+#: disk-utils/fsck.minix.c:1289
+msgid "bad v2 inode size"
+msgstr "dimensione inode v2 non corretta"
+
+#: disk-utils/fsck.minix.c:1315
+msgid "need terminal for interactive repairs"
+msgstr "terminale necessario per le riparazioni interattive"
+
+#: disk-utils/fsck.minix.c:1319
+#, fuzzy, c-format
+msgid "unable to open '%s': %s"
+msgstr "impossibile aprire '%s'"
+
+#: disk-utils/fsck.minix.c:1334
+#, c-format
+msgid "%s is clean, no check.\n"
+msgstr "'%s' è corretto, non controllare.\n"
+
+#: disk-utils/fsck.minix.c:1338
+#, c-format
+msgid "Forcing filesystem check on %s.\n"
+msgstr "Forzatura controllo filesystem su %s in corso.\n"
+
+#: disk-utils/fsck.minix.c:1340
+#, 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:1373
+#, c-format
+msgid ""
+"\n"
+"%6ld inodes used (%ld%%)\n"
+msgstr ""
+"\n"
+"%6ld inode utilizzati (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1378
+#, c-format
+msgid "%6ld zones used (%ld%%)\n"
+msgstr "%6ld zone utilizzate (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1380
+#, 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:1393
+#, 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
+#, c-format
+msgid "%s: failed to open: %s\n"
+msgstr "%s: impossibile aprire: %s\n"
+
+#: disk-utils/isosize.c:135
+#, c-format
+msgid "%s: seek error on %s\n"
+msgstr "%s: errore di posizionamento su %s\n"
+
+#: disk-utils/isosize.c:141
+#, c-format
+msgid "%s: read error on %s\n"
+msgstr "%s: errore di lettura su %s\n"
+
+#: disk-utils/isosize.c:150
+#, c-format
+msgid "sector count: %d, sector size: %d\n"
+msgstr "numero settori: %d, dimensione settori: %d\n"
+
+#: disk-utils/isosize.c:200
+#, c-format
+msgid "%s: option parse error\n"
+msgstr "%s: errore di comprensione dell'opzione\n"
+
+#: disk-utils/isosize.c:208
+#, c-format
+msgid "Usage: %s [-x] [-d <num>] iso9660-image\n"
+msgstr "Uso: %s [-x] [-d <num>] iso9660-image\n"
+
+#: disk-utils/mkfs.bfs.c:84
+#, c-format
+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"
+
+#: disk-utils/mkfs.bfs.c:131
+msgid "volume name too long"
+msgstr "nome di volume troppo lungo"
+
+#: disk-utils/mkfs.bfs.c:138
+msgid "fsname name too long"
+msgstr "nome del filesystem troppo lungo"
+
+#: disk-utils/mkfs.bfs.c:163
+#, c-format
+msgid "cannot stat device %s"
+msgstr "impossibile eseguire stat sul dispositivo %s"
+
+#: disk-utils/mkfs.bfs.c:167
+#, c-format
+msgid "%s is not a block special device"
+msgstr "%s non è un dispositivo speciale a blocchi"
+
+#: disk-utils/mkfs.bfs.c:172 sys-utils/ldattach.c:205
+#, c-format
+msgid "cannot open %s"
+msgstr "impossibile aprire %s"
+
+#: disk-utils/mkfs.bfs.c:183
+#, c-format
+msgid "cannot get size of %s"
+msgstr "impossibile ottenere la dimensione di %s"
+
+#: disk-utils/mkfs.bfs.c:188
+#, 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:203
+msgid "too many inodes - max is 512"
+msgstr "troppi inode - il massimo è 512"
+
+#: disk-utils/mkfs.bfs.c:212
+#, 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:224 fdisk/fdisk.c:2345
+#, c-format
+msgid "Device: %s\n"
+msgstr "Dispositivo: %s\n"
+
+#: disk-utils/mkfs.bfs.c:225
+#, c-format
+msgid "Volume: <%-6s>\n"
+msgstr "Volume: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:226
+#, c-format
+msgid "FSname: <%-6s>\n"
+msgstr "Nome filesystem: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:227
+#, c-format
+msgid "BlockSize: %d\n"
+msgstr "Dimensioni blocco: %d\n"
+
+#: disk-utils/mkfs.bfs.c:229
+#, c-format
+msgid "Inodes: %d (in 1 block)\n"
+msgstr "Inode: %d (in 1 blocco)\n"
+
+#: disk-utils/mkfs.bfs.c:232
+#, fuzzy, c-format
+msgid "Inodes: %d (in %lld blocks)\n"
+msgstr "Inode: %d (in %ld blocchi)\n"
+
+#: disk-utils/mkfs.bfs.c:234
+#, fuzzy, c-format
+msgid "Blocks: %lld\n"
+msgstr "Blocchi: %ld\n"
+
+#: disk-utils/mkfs.bfs.c:235
+#, c-format
+msgid "Inode end: %d, Data end: %d\n"
+msgstr "Fine inode: %d, fine dati: %d\n"
+
+#: disk-utils/mkfs.bfs.c:240
+msgid "error writing superblock"
+msgstr "errore durante la scrittura del superblocco"
+
+#: disk-utils/mkfs.bfs.c:260
+msgid "error writing root inode"
+msgstr "errore durante la scrittura dell'inode radice"
+
+#: disk-utils/mkfs.bfs.c:265
+msgid "error writing inode"
+msgstr "errore durante la scrittura dell'inode"
+
+#: disk-utils/mkfs.bfs.c:268
+msgid "seek error"
+msgstr "errore di posizionamento"
+
+#: disk-utils/mkfs.bfs.c:274
+msgid "error writing . entry"
+msgstr "errore durante la scrittura di \".\""
+
+#: disk-utils/mkfs.bfs.c:278
+msgid "error writing .. entry"
+msgstr "errore durante la scrittura di \"..\""
+
+#: disk-utils/mkfs.bfs.c:282
+#, c-format
+msgid "error closing %s"
+msgstr "errore durante la chiusura di %s"
+
+#: disk-utils/mkfs.c:73
+#, c-format
+msgid "Usage: mkfs [-V] [-t fstype] [fs-options] device [size]\n"
+msgstr "Uso: mkfs [-V] [-t tipofs] [opzioni-fs] dispositivo [dimensione]\n"
+
+#: disk-utils/mkfs.c:88 disk-utils/mkfs.c:96 fdisk/cfdisk.c:351
+#: getopt/getopt.c:86 getopt/getopt.c:96 login-utils/wall.c:246
+#, c-format
+msgid "%s: Out of memory!\n"
+msgstr "%s: Memoria esaurita!\n"
+
+#: disk-utils/mkfs.c:103
+#, c-format
+msgid "mkfs (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: disk-utils/mkfs.cramfs.c:126
+#, 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:340
+#, c-format
+msgid ""
+"Very long (%zu bytes) filename `%s' found.\n"
+" Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile.  Exiting.\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:472
+#, c-format
+msgid "filesystem too big.  Exiting.\n"
+msgstr "filesystem troppo grande. Uscita.\n"
+
+#: disk-utils/mkfs.cramfs.c:637
+#, c-format
+msgid "AIEEE: block \"compressed\" to > 2*blocklength (%ld)\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:656
+#, fuzzy, c-format
+msgid "%6.2f%% (%+ld bytes)\t%s\n"
+msgstr "%6.2f%% (%+d byte)\t%s\n"
+
+#: disk-utils/mkfs.cramfs.c:854
+#, c-format
+msgid ""
+"warning: guestimate of required size (upper bound) is %lldMB, but maximum "
+"image size is %uMB.  We might die prematurely.\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:881
+msgid "ROM image map"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:895
+#, c-format
+msgid "Including: %s\n"
+msgstr "Incluso: %s\n"
+
+#: disk-utils/mkfs.cramfs.c:901
+#, fuzzy, c-format
+msgid "Directory data: %zd bytes\n"
+msgstr "Dati directory: %d byte\n"
+
+#: disk-utils/mkfs.cramfs.c:909
+#, fuzzy, c-format
+msgid "Everything: %zd kilobytes\n"
+msgstr "Tutto: %d kilobyte\n"
+
+#: disk-utils/mkfs.cramfs.c:914
+#, fuzzy, c-format
+msgid "Super block: %zd bytes\n"
+msgstr "Superblocco: %d byte\n"
+
+#: disk-utils/mkfs.cramfs.c:921
+#, c-format
+msgid "CRC: %x\n"
+msgstr "CRC: %x\n"
+
+#: disk-utils/mkfs.cramfs.c:926
+#, fuzzy, c-format
+msgid "not enough space allocated for ROM image (%lld allocated, %zu used)\n"
+msgstr ""
+"spazio insufficiente allocato per l'immagine ROM (%lld allocati, %d usati)\n"
+
+#: disk-utils/mkfs.cramfs.c:934
+msgid "ROM image"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:938
+#, fuzzy, c-format
+msgid "ROM image write failed (%zd %zd)\n"
+msgstr "Scrittura dell'immagine ROM non riuscita (%d %d)\n"
+
+#: disk-utils/mkfs.cramfs.c:947
+#, c-format
+msgid "warning: filenames truncated to 255 bytes.\n"
+msgstr "attenzione: nomi di file troncati a 255 byte.\n"
+
+#: disk-utils/mkfs.cramfs.c:950
+#, c-format
+msgid "warning: files were skipped due to errors.\n"
+msgstr "attenzione: alcuni file sono stati ignorati a causa di errori.\n"
+
+#: disk-utils/mkfs.cramfs.c:953
+#, c-format
+msgid "warning: file sizes truncated to %luMB (minus 1 byte).\n"
+msgstr "attenzione: dimensioni dei file troncate a %luMB (meno 1 byte).\n"
+
+#: disk-utils/mkfs.cramfs.c:958
+#, c-format
+msgid ""
+"warning: uids truncated to %u bits.  (This may be a security concern.)\n"
+msgstr ""
+"attenzione: uid troncati a %u bit. (Questo può essere un problema di "
+"sicurezza)\n"
+
+#: disk-utils/mkfs.cramfs.c:963
+#, c-format
+msgid ""
+"warning: gids truncated to %u bits.  (This may be a security concern.)\n"
+msgstr ""
+"attenzione: gid troncati a %u bit. (Questo può essere un problema di "
+"sicurezza)\n"
+
+#: disk-utils/mkfs.cramfs.c:968
+#, c-format
+msgid ""
+"WARNING: device numbers truncated to %u bits.  This almost certainly means\n"
+"that some device files will be wrong.\n"
+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:156
+#, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]\n"
+msgstr "Uso: %s [-c | -l nomefile] [-nXX] [-iXX] /dev/name [blocchi]\n"
+
+#: disk-utils/mkfs.minix.c:180
+#, 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:190
+msgid "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:192
+msgid "unable to clear boot sector"
+msgstr "impossibile cancellare il settore di boot"
+
+#: disk-utils/mkfs.minix.c:194
+msgid "seek failed in write_tables"
+msgstr "ricerca in write_tables non riuscita"
+
+#: disk-utils/mkfs.minix.c:198
+msgid "unable to write inode map"
+msgstr "impossibile scrivere nella mappa degli inode"
+
+#: disk-utils/mkfs.minix.c:200
+msgid "unable to write zone map"
+msgstr "impossibile scrivere nella mappa delle zone"
+
+#: disk-utils/mkfs.minix.c:202
+msgid "unable to write inodes"
+msgstr "impossibile scrivere inode"
+
+#: disk-utils/mkfs.minix.c:211
+msgid "write failed in write_block"
+msgstr "scrittura in write_block non riuscita"
+
+#: disk-utils/mkfs.minix.c:219 disk-utils/mkfs.minix.c:293
+#: disk-utils/mkfs.minix.c:342
+msgid "too many bad blocks"
+msgstr "troppi blocchi danneggiati"
+
+#: disk-utils/mkfs.minix.c:227
+msgid "not enough good blocks"
+msgstr "numero insufficiente di blocchi corretti"
+
+#: disk-utils/mkfs.minix.c:439
+msgid "unable to allocate buffers for maps"
+msgstr "impossibile allocare i buffer per le mappe"
+
+#: disk-utils/mkfs.minix.c:448
+msgid "unable to allocate buffer for inodes"
+msgstr "impossibile allocare il buffer per gli inode"
+
+#: disk-utils/mkfs.minix.c:454
+#, c-format
+msgid ""
+"Maxsize=%ld\n"
+"\n"
+msgstr ""
+"Dimensione max=%ld\n"
+"\n"
+
+#: disk-utils/mkfs.minix.c:468
+msgid "seek failed during testing of blocks"
+msgstr "ricerca non riuscita durante il controllo dei blocchi"
+
+#: disk-utils/mkfs.minix.c:476
+#, 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:507 disk-utils/mkswap.c:313
+msgid "seek failed in check_blocks"
+msgstr "ricerca in check_blocks non riuscita"
+
+#: disk-utils/mkfs.minix.c:516
+msgid "bad blocks before data-area: cannot make fs"
+msgstr "blocchi danneggiati prima dell'area dati: impossibile creare fs"
+
+#: disk-utils/mkfs.minix.c:522 disk-utils/mkfs.minix.c:547
+#, c-format
+msgid "%d bad blocks\n"
+msgstr "%d blocchi danneggiati\n"
+
+#: disk-utils/mkfs.minix.c:524 disk-utils/mkfs.minix.c:549
+#, c-format
+msgid "one bad block\n"
+msgstr "un blocco danneggiato\n"
+
+#: disk-utils/mkfs.minix.c:534
+msgid "can't open file of bad blocks"
+msgstr "impossibile aprire il file dei blocchi danneggiati"
+
+#: disk-utils/mkfs.minix.c:538
+#, c-format
+msgid "badblock number input error on line %d\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:539
+#, fuzzy
+msgid "cannot read badblocks file"
+msgstr "Impossibile leggere l'unità disco"
+
+#: disk-utils/mkfs.minix.c:619
+#, c-format
+msgid "strtol error: number of blocks not specified"
+msgstr "errore strtol: numero di blocchi non specificato"
+
+#: disk-utils/mkfs.minix.c:638
+#, c-format
+msgid "unable to stat %s"
+msgstr "impossibile fare stat di %s"
+
+#: disk-utils/mkfs.minix.c:644
+#, c-format
+msgid "unable to open %s"
+msgstr "impossibile aprire %s"
+
+#: disk-utils/mkfs.minix.c:649
+#, fuzzy, c-format
+msgid "cannot determine sector size for %s"
+msgstr "impossibile ottenere la dimensione di %s"
+
+#: disk-utils/mkfs.minix.c:651
+#, c-format
+msgid "block size smaller than physical sector size of %s"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:654
+#, fuzzy, c-format
+msgid "cannot determine size of %s"
+msgstr "impossibile ottenere la dimensione di %s"
+
+#: disk-utils/mkfs.minix.c:662
+#, 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:664
+#, fuzzy
+msgid "number of blocks too small"
+msgstr "Numero di settori"
+
+#: disk-utils/mkswap.c:155
+#, c-format
+msgid "Bad user-specified page size %d\n"
+msgstr "dimensione pagina %d specificata dall'utente non corretta\n"
+
+#: disk-utils/mkswap.c:163
+#, c-format
+msgid "Using user-specified page size %d, instead of the system value %d\n"
+msgstr ""
+"Utilizzo la dimensione pagina %d specificata dall'utente, al posto del "
+"valore di sistema %d\n"
+
+#: disk-utils/mkswap.c:192
+#, c-format
+msgid "Bad swap header size, no label written.\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:202
+#, c-format
+msgid "Label was truncated.\n"
+msgstr "L'etichetta è stata troncata.\n"
+
+#: disk-utils/mkswap.c:208
+#, c-format
+msgid "no label, "
+msgstr "nessuna etichetta, "
+
+#: disk-utils/mkswap.c:216
+#, c-format
+msgid "no uuid\n"
+msgstr "nessun uuid\n"
+
+#: disk-utils/mkswap.c:281
+#, fuzzy, c-format
+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"
+
+#: disk-utils/mkswap.c:295
+msgid "too many bad pages"
+msgstr "troppe pagine danneggiate"
+
+#: disk-utils/mkswap.c:308 misc-utils/look.c:182 misc-utils/setterm.c:1183
+#: text-utils/more.c:1982 text-utils/more.c:1993
+msgid "Out of memory"
+msgstr "Memoria esaurita"
+
+#: disk-utils/mkswap.c:319
+#, c-format
+msgid "one bad page\n"
+msgstr "una pagina danneggiata\n"
+
+#: disk-utils/mkswap.c:321
+#, c-format
+msgid "%lu bad pages\n"
+msgstr "%lu pagine danneggiate\n"
+
+#: disk-utils/mkswap.c:399 disk-utils/mkswap.c:415 disk-utils/mkswap.c:633
+msgid "unable to rewind swap-device"
+msgstr "impossibile riavvolgere il dispositivo swap"
+
+#: disk-utils/mkswap.c:419
+#, fuzzy
+msgid "unable to erase bootbits sectors"
+msgstr "impossibile cancellare il settore di boot"
+
+#: disk-utils/mkswap.c:423
+#, c-format
+msgid "%s: %s: warning: don't erase bootbits sectors\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:426
+#, fuzzy, c-format
+msgid "        (%s partition table detected). "
+msgstr "   p   stampa della tabella delle partizioni BSD"
+
+#: disk-utils/mkswap.c:428
+#, fuzzy, c-format
+msgid "        on whole disk. "
+msgstr "   s   visualizzazione del disklabel completo"
+
+#: disk-utils/mkswap.c:498
+#, c-format
+msgid "%1$s: warning: ignore -U (UUIDs are unsupported by %1$s)\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:514
+#, fuzzy, c-format
+msgid "%s: does not support swapspace version %d.\n"
+msgstr "%s: errore: versione sconosciuta %d\n"
+
+#: disk-utils/mkswap.c:522
+#, fuzzy
+msgid "error: UUID parsing failed"
+msgstr ""
+"\n"
+"Errore durante la chiusura del file\n"
+
+#: disk-utils/mkswap.c:533
+#, c-format
+msgid "%s: error: Nowhere to set up swap on?\n"
+msgstr "%s: errore: non è possibile impostare swap in nessuna posizione?\n"
+
+#: disk-utils/mkswap.c:551
+#, fuzzy, c-format
+msgid "%s: error: size %llu KiB is larger than device size %llu KiB\n"
+msgstr ""
+"%s: errore: la dimensione %lu è maggiore di quella del dispositivo %lu\n"
+
+#: disk-utils/mkswap.c:560
+#, fuzzy, c-format
+msgid "%s: error: swap area needs to be at least %ld KiB\n"
+msgstr "%s: errore: l'area di swap deve equivalere almeno a %ldkB\n"
+
+#: disk-utils/mkswap.c:577
+#, fuzzy, c-format
+msgid "%s: warning: truncating swap area to %llu KiB\n"
+msgstr "%s: attenzione: troncamento area swap a %ldkB\n"
+
+#: disk-utils/mkswap.c:600
+#, c-format
+msgid "%s: error: will not try to make swapdevice on '%s'\n"
+msgstr "%s: errore: Non si cercherà di creare uno swapdevice su '%s'\n"
+
+#: disk-utils/mkswap.c:606
+#, c-format
+msgid "%s: error: %s is mounted; will not make swapspace.\n"
+msgstr "%s: errore: %s è montata; qui non verrà creato uno spazio di swap.\n"
+
+#: disk-utils/mkswap.c:622
+msgid "Unable to set up swap-space: unreadable"
+msgstr "Impossibile impostare lo spazio-swap: non leggibile"
+
+#: disk-utils/mkswap.c:625
+#, 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:636
+#, fuzzy, c-format
+msgid "%s: %s: unable to write signature page: %s"
+msgstr "impossibile scrivere sulla pagina di firma"
+
+#: disk-utils/mkswap.c:647
+msgid "fsync failed"
+msgstr "fsync non riuscito "
+
+#: disk-utils/mkswap.c:658
+#, c-format
+msgid "%s: %s: unable to obtain selinux file label: %s\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:664
+msgid "unable to matchpathcon()"
+msgstr "impossibile fare matchpathcon()"
+
+#: disk-utils/mkswap.c:667
+msgid "unable to create new selinux context"
+msgstr "impossibile creare un nuovo contesto selinux"
+
+#: disk-utils/mkswap.c:669
+msgid "couldn't compute selinux context"
+msgstr ""
+
+#: disk-utils/mkswap.c:675
+#, c-format
+msgid "%s: unable to relabel %s to %s: %s\n"
+msgstr "%s: impossibile rinominare %s in %s: %s\n"
+
+#: disk-utils/raw.c:50
+#, fuzzy, c-format
+msgid ""
+"Usage:\n"
+"  %s "
+msgstr "Uso:\n"
+
+#: disk-utils/raw.c:125
+#, c-format
+msgid ""
+"Device '%s' is control raw dev (use raw<N> where <N> is greater than zero)\n"
+msgstr ""
+
+#: disk-utils/raw.c:145
+#, fuzzy, c-format
+msgid "Cannot locate block device '%s' (%s)\n"
+msgstr "Impossibile fare il lock del file di lock %s: %s\n"
+
+#: disk-utils/raw.c:151
+#, fuzzy, c-format
+msgid "Device '%s' is not a block dev\n"
+msgstr "Attenzione: %s non è un dispositivo a blocchi\n"
+
+#: disk-utils/raw.c:186
+#, fuzzy, c-format
+msgid "Cannot open master raw device '"
+msgstr "impossibile eseguire stat sul dispositivo %s"
+
+#: disk-utils/raw.c:205
+#, fuzzy, c-format
+msgid "Cannot locate raw device '%s' (%s)\n"
+msgstr "impossibile eseguire stat sul dispositivo %s"
+
+#: disk-utils/raw.c:211
+#, fuzzy, c-format
+msgid "Raw device '%s' is not a character dev\n"
+msgstr "/dev/%s: non è un dispositivo di caratteri"
+
+#: disk-utils/raw.c:216
+#, fuzzy, c-format
+msgid "Device '%s' is not a raw dev\n"
+msgstr "%s non è un dispositivo speciale a blocchi"
+
+#: disk-utils/raw.c:231
+#, c-format
+msgid "Error querying raw device (%s)\n"
+msgstr ""
+
+#: disk-utils/raw.c:241 disk-utils/raw.c:261
+#, c-format
+msgid "raw%d:\tbound to major %d, minor %d\n"
+msgstr ""
+
+#: disk-utils/raw.c:257
+#, fuzzy, c-format
+msgid "Error setting raw device (%s)\n"
+msgstr "errore fermando il servizio \"%s\""
+
+#: fdisk/cfdisk.c:376 fdisk/cfdisk.c:2080
+msgid "Unusable"
+msgstr "Inutilizzabile"
+
+#: fdisk/cfdisk.c:378 fdisk/cfdisk.c:2082
+msgid "Free Space"
+msgstr "Spazio disponibile"
+
+#: fdisk/cfdisk.c:381
+msgid "Linux ext2"
+msgstr "Linux ext2"
+
+#: fdisk/cfdisk.c:383
+msgid "Linux ext3"
+msgstr "Linux ext3"
+
+#: fdisk/cfdisk.c:385
+msgid "Linux XFS"
+msgstr "Linux XFS"
+
+#: fdisk/cfdisk.c:387
+msgid "Linux JFS"
+msgstr "Linux JFS"
+
+#: fdisk/cfdisk.c:389
+msgid "Linux ReiserFS"
+msgstr "Linux ReiserFS"
+
+#: fdisk/cfdisk.c:391 fdisk/i386_sys_types.c:57
+msgid "Linux"
+msgstr "Linux"
+
+#: fdisk/cfdisk.c:394
+msgid "OS/2 HPFS"
+msgstr "OS/2 HPFS"
+
+#: fdisk/cfdisk.c:396
+msgid "OS/2 IFS"
+msgstr "OS/2 IFS"
+
+#: fdisk/cfdisk.c:400
+msgid "NTFS"
+msgstr "NTFS"
+
+#: fdisk/cfdisk.c:411
+#, c-format
+msgid "Disk has been changed.\n"
+msgstr "Il disco è stato cambiato.\n"
+
+#: fdisk/cfdisk.c:413
+#, 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"
+
+#: fdisk/cfdisk.c:417
+#, 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"
+
+#: fdisk/cfdisk.c:512
+msgid "FATAL ERROR"
+msgstr "ERRORE IRREVERSIBILE"
+
+#: fdisk/cfdisk.c:513
+msgid "Press any key to exit cfdisk"
+msgstr "Premere qualsiasi tasto per uscire da cfdisk"
+
+#: fdisk/cfdisk.c:560 fdisk/cfdisk.c:568
+msgid "Cannot seek on disk drive"
+msgstr "Ricerca sull'unità disco impossibile"
+
+#: fdisk/cfdisk.c:562
+msgid "Cannot read disk drive"
+msgstr "Impossibile leggere l'unità disco"
+
+#: fdisk/cfdisk.c:570
+msgid "Cannot write disk drive"
+msgstr "Impossibile scrivere sull'unità disco"
+
+#: fdisk/cfdisk.c:913
+msgid "Too many partitions"
+msgstr "Troppe partizioni"
+
+#: fdisk/cfdisk.c:918
+msgid "Partition begins before sector 0"
+msgstr "La partizione inizia prima del settore 0"
+
+#: fdisk/cfdisk.c:923
+msgid "Partition ends before sector 0"
+msgstr "La partizione termina prima del settore 0"
+
+#: fdisk/cfdisk.c:928
+msgid "Partition begins after end-of-disk"
+msgstr "La partizione inizia dopo la fine del disco"
+
+#: fdisk/cfdisk.c:933
+msgid "Partition ends after end-of-disk"
+msgstr "La partizione termina dopo la fine del disco"
+
+#: fdisk/cfdisk.c:938
+msgid "Partition ends in the final partial cylinder"
+msgstr ""
+
+#: fdisk/cfdisk.c:962
+msgid "logical partitions not in disk order"
+msgstr "le partizioni logiche non sono nell'ordine del disco"
+
+#: fdisk/cfdisk.c:965
+msgid "logical partitions overlap"
+msgstr "sovrapposizione delle partizioni logiche"
+
+#: fdisk/cfdisk.c:969
+msgid "enlarged logical partitions overlap"
+msgstr "sovrapposizione delle partizioni logiche ampliate"
+
+#: fdisk/cfdisk.c:999
+msgid ""
+"!!!! Internal error creating logical drive with no extended partition !!!!"
+msgstr ""
+"!!!! Errore interno durante la creazione di un'unità logica con partizione "
+"non estesa !!!!"
+
+#: fdisk/cfdisk.c:1010 fdisk/cfdisk.c:1022
+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"
+
+#: fdisk/cfdisk.c:1164
+msgid "Menu item too long. Menu may look odd."
+msgstr "Voce di menù troppo lunga. Il menu può apparire strano."
+
+#: fdisk/cfdisk.c:1220
+#, fuzzy
+msgid "Menu without direction. Defaulting to horizontal."
+msgstr "Menu senza direzione. È predefinita quella orizzontale."
+
+#: fdisk/cfdisk.c:1351
+msgid "Illegal key"
+msgstr "Tasto non valido"
+
+#: fdisk/cfdisk.c:1374
+msgid "Press a key to continue"
+msgstr "Premere un tasto per continuare"
+
+#: fdisk/cfdisk.c:1421 fdisk/cfdisk.c:2051 fdisk/cfdisk.c:2583
+#: fdisk/cfdisk.c:2585
+msgid "Primary"
+msgstr "Primaria"
+
+#: fdisk/cfdisk.c:1421
+msgid "Create a new primary partition"
+msgstr "Creare una nuova partizione primaria"
+
+#: fdisk/cfdisk.c:1422 fdisk/cfdisk.c:2051 fdisk/cfdisk.c:2582
+#: fdisk/cfdisk.c:2585
+msgid "Logical"
+msgstr "Logica"
+
+#: fdisk/cfdisk.c:1422
+msgid "Create a new logical partition"
+msgstr "Creare una nuova partizione logica"
+
+#: fdisk/cfdisk.c:1423 fdisk/cfdisk.c:1478 fdisk/cfdisk.c:2256
+msgid "Cancel"
+msgstr "Annulla"
+
+#: fdisk/cfdisk.c:1423 fdisk/cfdisk.c:1478
+msgid "Don't create a partition"
+msgstr "Non creare una partizione"
+
+#: fdisk/cfdisk.c:1439
+msgid "!!! Internal error !!!"
+msgstr "!!! Errore interno !!!"
+
+#: fdisk/cfdisk.c:1442
+msgid "Size (in MB): "
+msgstr "Dimensione (in MB): "
+
+#: fdisk/cfdisk.c:1476
+msgid "Beginning"
+msgstr "Inizio"
+
+#: fdisk/cfdisk.c:1476
+msgid "Add partition at beginning of free space"
+msgstr "Aggiungere la partizione all'inizio dello spazio disponibile"
+
+#: fdisk/cfdisk.c:1477
+msgid "End"
+msgstr "Fine"
+
+#: fdisk/cfdisk.c:1477
+msgid "Add partition at end of free space"
+msgstr "Aggiungere la partizione alla fine dello spazio disponibile"
+
+#: fdisk/cfdisk.c:1495
+msgid "No room to create the extended partition"
+msgstr "Non c'è spazio per creare una partizione estesa"
+
+#: fdisk/cfdisk.c:1569
+msgid "No partition table.\n"
+msgstr "Nessuna tabella delle partizioni.\n"
+
+#: fdisk/cfdisk.c:1573
+msgid "No partition table. Starting with zero table."
+msgstr "Nessuna tabella delle partizioni. Si inizia con una tabella vuota."
+
+#: fdisk/cfdisk.c:1583
+msgid "Bad signature on partition table"
+msgstr "Segnatura danneggiata nella tabella delle partizioni"
+
+#: fdisk/cfdisk.c:1587
+msgid "Unknown partition table type"
+msgstr "Tipo di tabella delle partizioni sconosciuto"
+
+#: fdisk/cfdisk.c:1589
+msgid "Do you wish to start with a zero table [y/N] ?"
+msgstr "Si vuole iniziare con una tabella vuota [y/N]?"
+
+#: fdisk/cfdisk.c:1637
+msgid "You specified more cylinders than fit on disk"
+msgstr ""
+"Si è specificato un numero di cilindri superiore a quelli contenuti su disco"
+
+#: fdisk/cfdisk.c:1669
+msgid "Cannot open disk drive"
+msgstr "Impossibile aprire l'unità disco"
+
+#: fdisk/cfdisk.c:1671 fdisk/cfdisk.c:1860
+msgid "Opened disk read-only - you have no permission to write"
+msgstr "Disco aperto in sola lettura - scrittura non autorizzata"
+
+#: fdisk/cfdisk.c:1682
+msgid ""
+"Warning!!  Unsupported GPT (GUID Partition Table) detected. Use GNU Parted."
+msgstr ""
+
+#: fdisk/cfdisk.c:1701
+msgid "Cannot get disk size"
+msgstr "Impossibile ottenere la dimensione del disco"
+
+#: fdisk/cfdisk.c:1727
+msgid "Bad primary partition"
+msgstr "Partizione primaria danneggiata"
+
+#: fdisk/cfdisk.c:1757
+msgid "Bad logical partition"
+msgstr "Partizione logica danneggiata"
+
+#: fdisk/cfdisk.c:1872
+msgid "Warning!!  This may destroy data on your disk!"
+msgstr "Attenzione! I dati sul disco potrebbero venire eliminati!"
+
+#: fdisk/cfdisk.c:1876
+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): "
+
+#: fdisk/cfdisk.c:1882
+msgid "no"
+msgstr "no"
+
+#: fdisk/cfdisk.c:1884
+msgid "Did not write partition table to disk"
+msgstr "Scrittura tabella delle partizioni su disco non effettuata"
+
+#: fdisk/cfdisk.c:1886
+msgid "yes"
+msgstr "si"
+
+#: fdisk/cfdisk.c:1890
+msgid "Please enter `yes' or `no'"
+msgstr "Inserire \"si\" (senza accento) o \"no\""
+
+#: fdisk/cfdisk.c:1894
+msgid "Writing partition table to disk..."
+msgstr "Scrittura tabella delle partizioni su disco in corso..."
+
+#: fdisk/cfdisk.c:1921 fdisk/cfdisk.c:1925
+msgid "Wrote partition table to disk"
+msgstr "Eseguita l'operazione di scrittura tabella delle partizioni su disco"
+
+#: fdisk/cfdisk.c:1923
+#, 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."
+
+#: fdisk/cfdisk.c:1933
+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."
+
+#: fdisk/cfdisk.c:1935
+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."
+
+#: fdisk/cfdisk.c:1993 fdisk/cfdisk.c:2112 fdisk/cfdisk.c:2196
+msgid "Enter filename or press RETURN to display on screen: "
+msgstr ""
+"Inserire il nome del file o premere RETURN (INVIO) per visualizzare sullo "
+"schermo:"
+
+#: fdisk/cfdisk.c:2002 fdisk/cfdisk.c:2120 fdisk/cfdisk.c:2204
+#, c-format
+msgid "Cannot open file '%s'"
+msgstr "Impossibile aprire il file '%s'"
+
+#: fdisk/cfdisk.c:2013
+#, c-format
+msgid "Disk Drive: %s\n"
+msgstr "Unità disco: %s\n"
+
+#: fdisk/cfdisk.c:2015
+msgid "Sector 0:\n"
+msgstr "Settore 0:\n"
+
+#: fdisk/cfdisk.c:2022
+#, c-format
+msgid "Sector %d:\n"
+msgstr "Settore %d:\n"
+
+#: fdisk/cfdisk.c:2042
+msgid "   None   "
+msgstr "   Nessuno   "
+
+#: fdisk/cfdisk.c:2044
+msgid "   Pri/Log"
+msgstr "   Pri/Log"
+
+#: fdisk/cfdisk.c:2046
+msgid "   Primary"
+msgstr "   Primario"
+
+#: fdisk/cfdisk.c:2048
+msgid "   Logical"
+msgstr "   Logico"
+
+#: fdisk/cfdisk.c:2086 fdisk/fdisk.c:1534 fdisk/fdisk.c:1855
+#: fdisk/fdisksgilabel.c:240 fdisk/fdisksunlabel.c:621 fdisk/sfdisk.c:653
+msgid "Unknown"
+msgstr "Sconosciuto"
+
+#: fdisk/cfdisk.c:2092 fdisk/cfdisk.c:2560 fdisk/fdisksunlabel.c:44
+msgid "Boot"
+msgstr "Avvio"
+
+#: fdisk/cfdisk.c:2094
+#, c-format
+msgid "(%02X)"
+msgstr "(%02X)"
+
+#: fdisk/cfdisk.c:2096
+msgid "None"
+msgstr "Nessuno"
+
+#: fdisk/cfdisk.c:2131 fdisk/cfdisk.c:2215
+#, c-format
+msgid "Partition Table for %s\n"
+msgstr "Tabella delle partizioni per %s\n"
+
+#: fdisk/cfdisk.c:2133
+msgid "               First       Last\n"
+msgstr ""
+
+#: fdisk/cfdisk.c:2134
+#, fuzzy
+msgid ""
+" # Type       Sector      Sector   Offset    Length   Filesystem Type (ID) "
+"Flag\n"
+msgstr ""
+" # Tipo     settore   settore   offset  lunghezza   tipo di filesystem  "
+"(ID)   flag\n"
+
+#: fdisk/cfdisk.c:2135
+#, fuzzy
+msgid ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+msgstr ""
+"-- ------- -------- --------- ------ --------- ---------------------- "
+"---------\n"
+
+#: fdisk/cfdisk.c:2218
+msgid "         ---Starting----      ----Ending-----    Start     Number of\n"
+msgstr ""
+
+#: fdisk/cfdisk.c:2219
+#, 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"
+
+#: fdisk/cfdisk.c:2220
+#, fuzzy
+msgid "-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+msgstr "-- ----- ---- ---- ---- ---- ---- ---- ---- -------- ---------\n"
+
+#: fdisk/cfdisk.c:2253
+msgid "Raw"
+msgstr "Grezzo"
+
+#: fdisk/cfdisk.c:2253
+msgid "Print the table using raw data format"
+msgstr "Stampare la tabella utilizzando il formato dati grezzi"
+
+#: fdisk/cfdisk.c:2254 fdisk/cfdisk.c:2357
+msgid "Sectors"
+msgstr "Settori"
+
+#: fdisk/cfdisk.c:2254
+msgid "Print the table ordered by sectors"
+msgstr "Stampare la tabella ordinata per settori"
+
+#: fdisk/cfdisk.c:2255
+msgid "Table"
+msgstr "Tabella"
+
+#: fdisk/cfdisk.c:2255
+msgid "Just print the partition table"
+msgstr "Stampare la tabella delle partizioni"
+
+#: fdisk/cfdisk.c:2256
+msgid "Don't print the table"
+msgstr "Non stampare la tabella"
+
+#: fdisk/cfdisk.c:2284
+msgid "Help Screen for cfdisk"
+msgstr "Schermata Guida per cfdisk"
+
+#: fdisk/cfdisk.c:2286
+msgid "This is cfdisk, a curses based disk partitioning program, which"
+msgstr ""
+"Questo è cfdisk, un programma per la partizione dei dischi basato su curses"
+
+#: fdisk/cfdisk.c:2287
+msgid "allows you to create, delete and modify partitions on your hard"
+msgstr ""
+"consente di creare, cancellare e modificare le partizioni sul disco fisso"
+
+#: fdisk/cfdisk.c:2288
+msgid "disk drive."
+msgstr "unità disco."
+
+#: fdisk/cfdisk.c:2290
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+
+#: fdisk/cfdisk.c:2292
+msgid "Command      Meaning"
+msgstr "Comando     significato"
+
+#: fdisk/cfdisk.c:2293
+msgid "-------      -------"
+msgstr "-------      -------"
+
+#: fdisk/cfdisk.c:2294
+msgid "  b          Toggle bootable flag of the current partition"
+msgstr " b          Cambia flag avviabile per la partizione corrente"
+
+#: fdisk/cfdisk.c:2295
+msgid "  d          Delete the current partition"
+msgstr " d          Elimina la partizione corrente"
+
+#: fdisk/cfdisk.c:2296
+msgid "  g          Change cylinders, heads, sectors-per-track parameters"
+msgstr " g          cambio cilindri, testine, parametri settori-per-traccia"
+
+#: fdisk/cfdisk.c:2297
+msgid "             WARNING: This option should only be used by people who"
+msgstr ""
+"            ATTENZIONE: questa opzione dovrebbe essere utilizzata solo da "
+"persone"
+
+#: fdisk/cfdisk.c:2298
+msgid "             know what they are doing."
+msgstr "            esperti."
+
+#: fdisk/cfdisk.c:2299
+msgid "  h          Print this screen"
+msgstr " h          Stampare questa schermata"
+
+#: fdisk/cfdisk.c:2300
+msgid "  m          Maximize disk usage of the current partition"
+msgstr ""
+" m          Massimizzare l'utilizzo del disco della partizione corrente"
+
+#: fdisk/cfdisk.c:2301
+msgid "             Note: This may make the partition incompatible with"
+msgstr "            Nota: questo può rendere la partizione incompatibile con"
+
+#: fdisk/cfdisk.c:2302
+msgid "             DOS, OS/2, ..."
+msgstr "            DOS, OS/2, ..."
+
+#: fdisk/cfdisk.c:2303
+msgid "  n          Create new partition from free space"
+msgstr " n          Creazione di una nuova partizione nello spazio disponibile"
+
+#: fdisk/cfdisk.c:2304
+msgid "  p          Print partition table to the screen or to a file"
+msgstr " p          Stampa della tabella delle partizioni su schermo o su file"
+
+#: fdisk/cfdisk.c:2305
+msgid "             There are several different formats for the partition"
+msgstr "            Vi sono diversi altri formati per la partizione"
+
+#: fdisk/cfdisk.c:2306
+msgid "             that you can choose from:"
+msgstr "            tra i quali scegliere:"
+
+#: fdisk/cfdisk.c:2307
+msgid "                r - Raw data (exactly what would be written to disk)"
+msgstr ""
+"               r - dati grezzi (esattamente ciò che verrebbe scritto sul "
+"disco)"
+
+#: fdisk/cfdisk.c:2308
+msgid "                s - Table ordered by sectors"
+msgstr "               s - Tabella ordinata per settori"
+
+#: fdisk/cfdisk.c:2309
+msgid "                t - Table in raw format"
+msgstr "               t - Tabella in formato grezzo"
+
+#: fdisk/cfdisk.c:2310
+msgid "  q          Quit program without writing partition table"
+msgstr ""
+"  q          Esce dal programma senza scrivere nella tabella delle partizioni"
+
+#: fdisk/cfdisk.c:2311
+msgid "  t          Change the filesystem type"
+msgstr " t          Cambia il tipo di filesystem"
+
+#: fdisk/cfdisk.c:2312
+msgid "  u          Change units of the partition size display"
+msgstr ""
+" u          Modifica l'unità di visualizzazione della dimensione della "
+"partizione"
+
+#: fdisk/cfdisk.c:2313
+msgid "             Rotates through MB, sectors and cylinders"
+msgstr "            Ruota attraverso MB, settori e cilindri"
+
+#: fdisk/cfdisk.c:2314
+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)"
+
+#: fdisk/cfdisk.c:2315
+msgid "             Since this might destroy data on the disk, you must"
+msgstr ""
+"            Dato che in questo modo è possibile eliminare dati sul disco, si "
+"deve"
+
+#: fdisk/cfdisk.c:2316
+msgid "             either confirm or deny the write by entering `yes' or"
+msgstr "            confermare o negare la scrittura inserendo \"si\" o"
+
+#: fdisk/cfdisk.c:2317
+msgid "             `no'"
+msgstr "             \"no\""
+
+#: fdisk/cfdisk.c:2318
+msgid "Up Arrow     Move cursor to the previous partition"
+msgstr "Freccia Su      sposta il cursore alla partizione precedente"
+
+#: fdisk/cfdisk.c:2319
+msgid "Down Arrow   Move cursor to the next partition"
+msgstr "Freccia Giù   sposta il cursore alla partizione successiva"
+
+#: fdisk/cfdisk.c:2320
+msgid "CTRL-L       Redraws the screen"
+msgstr "CTRL-L       Ridisegna lo schermo"
+
+#: fdisk/cfdisk.c:2321
+msgid "  ?          Print this screen"
+msgstr "  ?          Stampa questa schermata"
+
+#: fdisk/cfdisk.c:2323
+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"
+
+#: fdisk/cfdisk.c:2324
+msgid "case letters (except for Writes)."
+msgstr "lettere maiuscole/minuscole (fatta eccezione per Writes)."
+
+#: fdisk/cfdisk.c:2355 fdisk/fdisksunlabel.c:237
+msgid "Cylinders"
+msgstr "Cilindri"
+
+#: fdisk/cfdisk.c:2355
+msgid "Change cylinder geometry"
+msgstr "Modifica la geometria dei cilindri"
+
+#: fdisk/cfdisk.c:2356 fdisk/fdisksunlabel.c:235
+msgid "Heads"
+msgstr "Testine"
+
+#: fdisk/cfdisk.c:2356
+msgid "Change head geometry"
+msgstr "Modifica la geometria delle testine"
+
+#: fdisk/cfdisk.c:2357
+msgid "Change sector geometry"
+msgstr "Modifica la geometria dei settori"
+
+#: fdisk/cfdisk.c:2358
+msgid "Done"
+msgstr "Fine"
+
+#: fdisk/cfdisk.c:2358
+msgid "Done with changing geometry"
+msgstr "Modifica della geometria eseguita"
+
+#: fdisk/cfdisk.c:2371
+msgid "Enter the number of cylinders: "
+msgstr "Immettere il numero di cilindri: "
+
+#: fdisk/cfdisk.c:2382 fdisk/cfdisk.c:2953
+msgid "Illegal cylinders value"
+msgstr "Valore cilindri non valido"
+
+#: fdisk/cfdisk.c:2388
+msgid "Enter the number of heads: "
+msgstr "Immettere il numero delle testine: "
+
+#: fdisk/cfdisk.c:2395 fdisk/cfdisk.c:2963
+msgid "Illegal heads value"
+msgstr "Valore testine non valido"
+
+#: fdisk/cfdisk.c:2401
+msgid "Enter the number of sectors per track: "
+msgstr "Immettere il numero dei settori per traccia: "
+
+#: fdisk/cfdisk.c:2408 fdisk/cfdisk.c:2970
+msgid "Illegal sectors value"
+msgstr "Valore settori non valido"
+
+#: fdisk/cfdisk.c:2511
+msgid "Enter filesystem type: "
+msgstr "Immettere il tipo di filesystem: "
+
+#: fdisk/cfdisk.c:2529
+msgid "Cannot change FS Type to empty"
+msgstr "Impossibile cambiare il tipo FS in vuoto"
+
+#: fdisk/cfdisk.c:2531
+msgid "Cannot change FS Type to extended"
+msgstr "Impossibile cambiare il tipo FS in espanso"
+
+#: fdisk/cfdisk.c:2562
+#, c-format
+msgid "Unk(%02X)"
+msgstr "Unk(%02X)"
+
+#: fdisk/cfdisk.c:2565 fdisk/cfdisk.c:2568
+msgid ", NC"
+msgstr ", NC"
+
+#: fdisk/cfdisk.c:2573 fdisk/cfdisk.c:2576
+msgid "NC"
+msgstr "NC"
+
+#: fdisk/cfdisk.c:2584
+msgid "Pri/Log"
+msgstr "Pri/Log"
+
+#: fdisk/cfdisk.c:2591
+#, c-format
+msgid "Unknown (%02X)"
+msgstr "Sconosciuto (%02X)"
+
+#: fdisk/cfdisk.c:2660
+#, c-format
+msgid "Disk Drive: %s"
+msgstr "Unità disco: %s"
+
+#: fdisk/cfdisk.c:2667
+#, c-format
+msgid "Size: %lld bytes, %lld MB"
+msgstr "Dimensioni: %lld byte, %lld MB"
+
+#: fdisk/cfdisk.c:2670
+#, c-format
+msgid "Size: %lld bytes, %lld.%lld GB"
+msgstr "Dimensioni: %lld byte, %lld.%lld GB"
+
+#: fdisk/cfdisk.c:2674
+#, c-format
+msgid "Heads: %d   Sectors per Track: %d   Cylinders: %lld"
+msgstr "Testine: %d   Settori per traccia: %d   Cilindri: %lld"
+
+#: fdisk/cfdisk.c:2678 login-utils/chfn.c:377
+msgid "Name"
+msgstr "Nome"
+
+#: fdisk/cfdisk.c:2679
+msgid "Flags"
+msgstr "Flag"
+
+#: fdisk/cfdisk.c:2680
+msgid "Part Type"
+msgstr "Tipo part."
+
+#: fdisk/cfdisk.c:2681
+msgid "FS Type"
+msgstr "Tipo FS"
+
+#: fdisk/cfdisk.c:2682
+msgid "[Label]"
+msgstr "[Etichetta]"
+
+#: fdisk/cfdisk.c:2684
+msgid "    Sectors"
+msgstr "    Settori"
+
+#: fdisk/cfdisk.c:2686
+msgid "  Cylinders"
+msgstr "  Cilindri"
+
+#: fdisk/cfdisk.c:2688
+msgid "  Size (MB)"
+msgstr "  Dim. (MB)"
+
+#: fdisk/cfdisk.c:2690
+msgid "  Size (GB)"
+msgstr "  Dim. (GB)"
+
+#: fdisk/cfdisk.c:2744
+msgid "Bootable"
+msgstr "Avviabile"
+
+#: fdisk/cfdisk.c:2744
+msgid "Toggle bootable flag of the current partition"
+msgstr " Cambia flag avviabile per la partizione corrente "
+
+#: fdisk/cfdisk.c:2745
+msgid "Delete"
+msgstr "Elimina"
+
+#: fdisk/cfdisk.c:2745
+msgid "Delete the current partition"
+msgstr "Elimina la partizione corrente"
+
+#: fdisk/cfdisk.c:2746
+msgid "Geometry"
+msgstr "Geometria"
+
+#: fdisk/cfdisk.c:2746
+msgid "Change disk geometry (experts only)"
+msgstr "Modifica della geometria del disco (solo per esperti)"
+
+#: fdisk/cfdisk.c:2747
+msgid "Help"
+msgstr "Guida"
+
+#: fdisk/cfdisk.c:2747
+msgid "Print help screen"
+msgstr "Mostra della schermata della guida"
+
+#: fdisk/cfdisk.c:2748
+msgid "Maximize"
+msgstr "Massimi."
+
+#: fdisk/cfdisk.c:2748
+msgid "Maximize disk usage of the current partition (experts only)"
+msgstr ""
+"Massimizza l'utilizzo del disco della partizione corrente (solo per esperti)"
+
+#: fdisk/cfdisk.c:2749
+msgid "New"
+msgstr "Nuova"
+
+#: fdisk/cfdisk.c:2749
+msgid "Create new partition from free space"
+msgstr "Creazione di una nuova partizione nello spazio disponibile"
+
+#: fdisk/cfdisk.c:2750
+msgid "Print"
+msgstr "Stampa"
+
+#: fdisk/cfdisk.c:2750
+msgid "Print partition table to the screen or to a file"
+msgstr "Stampa della tabella delle partizioni su schermo o su file"
+
+#: fdisk/cfdisk.c:2751
+msgid "Quit"
+msgstr "Esci"
+
+#: fdisk/cfdisk.c:2751
+msgid "Quit program without writing partition table"
+msgstr "Esci dal programma senza scrivere nella tabella delle partizioni"
+
+#: fdisk/cfdisk.c:2752
+msgid "Type"
+msgstr "Tipo"
+
+#: fdisk/cfdisk.c:2752
+msgid "Change the filesystem type (DOS, Linux, OS/2 and so on)"
+msgstr "Modifica il tipo di filesystem (DOS, Linux, OS/2, ecc.)"
+
+#: fdisk/cfdisk.c:2753
+msgid "Units"
+msgstr "Unità"
+
+#: fdisk/cfdisk.c:2753
+msgid "Change units of the partition size display (MB, sect, cyl)"
+msgstr ""
+"Cambia l'unità di visualizzazione della dimensione della partizione (MB, "
+"sett., cil.)"
+
+#: fdisk/cfdisk.c:2754
+msgid "Write"
+msgstr "Scrivi"
+
+#: fdisk/cfdisk.c:2754
+msgid "Write partition table to disk (this might destroy data)"
+msgstr ""
+"Scrivi la tabella delle partizioni sul disco (i dati potrebbero venir persi)"
+
+#: fdisk/cfdisk.c:2800
+msgid "Cannot make this partition bootable"
+msgstr "Impossibile rendere questa partizione avviabile"
+
+#: fdisk/cfdisk.c:2810
+msgid "Cannot delete an empty partition"
+msgstr "Impossibile cancellare una partizione vuota"
+
+#: fdisk/cfdisk.c:2830 fdisk/cfdisk.c:2832
+msgid "Cannot maximize this partition"
+msgstr "Impossibile massimizzare questa partizione"
+
+#: fdisk/cfdisk.c:2840
+msgid "This partition is unusable"
+msgstr "Questa partizione è utilizzabile"
+
+#: fdisk/cfdisk.c:2842
+msgid "This partition is already in use"
+msgstr "Questa partizione è già in uso"
+
+#: fdisk/cfdisk.c:2859
+msgid "Cannot change the type of an empty partition"
+msgstr "Impossibile modificare il tipo di una partizione vuota"
+
+#: fdisk/cfdisk.c:2886 fdisk/cfdisk.c:2892
+msgid "No more partitions"
+msgstr "Nessun'altra partizione"
+
+#: fdisk/cfdisk.c:2899
+msgid "Illegal command"
+msgstr "Comando non valido"
+
+#: fdisk/cfdisk.c:2909
+#, c-format
+msgid "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+msgstr "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+
+#: fdisk/cfdisk.c:2916
+#, 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"
+
+#: fdisk/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)."
+
+#: fdisk/fdiskbsdlabel.c:122
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+"\n"
+"Etichetta BSD per dispositivo: %s\n"
+
+#: fdisk/fdiskbsdlabel.c:129 fdisk/fdisk.c:386 fdisk/fdisk.c:405
+#: fdisk/fdisk.c:423 fdisk/fdisk.c:430 fdisk/fdisk.c:453 fdisk/fdisk.c:471
+#: fdisk/fdisk.c:487 fdisk/fdisk.c:503
+msgid "Command action"
+msgstr "Azione comando"
+
+#: fdisk/fdiskbsdlabel.c:130
+msgid "   d   delete a BSD partition"
+msgstr "   d   eliminanazione di una partizione BSD"
+
+#: fdisk/fdiskbsdlabel.c:131
+msgid "   e   edit drive data"
+msgstr "   e   modifica dei dati dell'unità"
+
+#: fdisk/fdiskbsdlabel.c:132
+msgid "   i   install bootstrap"
+msgstr "   i   installazione di bootstrap"
+
+#: fdisk/fdiskbsdlabel.c:133
+msgid "   l   list known filesystem types"
+msgstr "   l   elenco dei tipi di filesystem conosciuti"
+
+#: fdisk/fdiskbsdlabel.c:134 fdisk/fdisk.c:392 fdisk/fdisk.c:411
+#: fdisk/fdisk.c:424 fdisk/fdisk.c:436 fdisk/fdisk.c:461 fdisk/fdisk.c:478
+#: fdisk/fdisk.c:494 fdisk/fdisk.c:512
+msgid "   m   print this menu"
+msgstr "   m   stampa di questo menu"
+
+#: fdisk/fdiskbsdlabel.c:135
+msgid "   n   add a new BSD partition"
+msgstr "   n   aggiunta di una nuova partizione BSD"
+
+#: fdisk/fdiskbsdlabel.c:136
+msgid "   p   print BSD partition table"
+msgstr "   p   stampa della tabella delle partizioni BSD"
+
+#: fdisk/fdiskbsdlabel.c:137 fdisk/fdisk.c:396 fdisk/fdisk.c:415
+#: fdisk/fdisk.c:426 fdisk/fdisk.c:440 fdisk/fdisk.c:463 fdisk/fdisk.c:480
+#: fdisk/fdisk.c:496 fdisk/fdisk.c:514
+msgid "   q   quit without saving changes"
+msgstr "   q   uscita senza salvataggio delle modifiche"
+
+#: fdisk/fdiskbsdlabel.c:138 fdisk/fdisk.c:464 fdisk/fdisk.c:481
+#: fdisk/fdisk.c:497 fdisk/fdisk.c:515
+msgid "   r   return to main menu"
+msgstr "   r   ritorno al menu principale"
+
+#: fdisk/fdiskbsdlabel.c:139
+msgid "   s   show complete disklabel"
+msgstr "   s   visualizzazione del disklabel completo"
+
+#: fdisk/fdiskbsdlabel.c:140
+msgid "   t   change a partition's filesystem id"
+msgstr "   t   modifica dell'id del filesystem di una partizione"
+
+#: fdisk/fdiskbsdlabel.c:141
+msgid "   u   change units (cylinders/sectors)"
+msgstr "   c   cambia unità (cilindri/settori)"
+
+#: fdisk/fdiskbsdlabel.c:142
+msgid "   w   write disklabel to disk"
+msgstr "   w   scrittura del disklabel su disco"
+
+#: fdisk/fdiskbsdlabel.c:144
+msgid "   x   link BSD partition to non-BSD partition"
+msgstr "   x   collegamento della partizione BSD a una non-BSD"
+
+#: fdisk/fdiskbsdlabel.c:176
+#, c-format
+msgid "Partition %s has invalid starting sector 0.\n"
+msgstr "La partizione %s ha settore di inizio 0 non valido.\n"
+
+#: fdisk/fdiskbsdlabel.c:180
+#, c-format
+msgid "Reading disklabel of %s at sector %d.\n"
+msgstr "Lettura del disklabel di %s al settore %d.\n"
+
+#: fdisk/fdiskbsdlabel.c:190
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr "Non esiste partizione *BSD su %s.\n"
+
+#: fdisk/fdiskbsdlabel.c:204
+msgid "BSD disklabel command (m for help): "
+msgstr "Comando disklabel BSD (m per richiamare la guida): "
+
+#: fdisk/fdiskbsdlabel.c:284 fdisk/fdisk.c:2052 fdisk/fdisksgilabel.c:651
+#: fdisk/fdisksunlabel.c:431
+#, c-format
+msgid "First %s"
+msgstr "Primo %s"
+
+#: fdisk/fdiskbsdlabel.c:291 fdisk/fdisksunlabel.c:488
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr "Ultimo %s o +size o +sizeM o +sizeK "
+
+#: fdisk/fdiskbsdlabel.c:318
+#, c-format
+msgid "type: %s\n"
+msgstr "tipo: %s\n"
+
+#: fdisk/fdiskbsdlabel.c:320
+#, c-format
+msgid "type: %d\n"
+msgstr "tipo: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:321
+#, c-format
+msgid "disk: %.*s\n"
+msgstr "disco: %.*s\n"
+
+#: fdisk/fdiskbsdlabel.c:322
+#, c-format
+msgid "label: %.*s\n"
+msgstr "etichetta: %.*s\n"
+
+#: fdisk/fdiskbsdlabel.c:323
+#, c-format
+msgid "flags:"
+msgstr "flag:"
+
+#: fdisk/fdiskbsdlabel.c:325
+#, c-format
+msgid " removable"
+msgstr " rimovibile"
+
+#: fdisk/fdiskbsdlabel.c:327
+#, c-format
+msgid " ecc"
+msgstr " ecc"
+
+#: fdisk/fdiskbsdlabel.c:329
+#, c-format
+msgid " badsect"
+msgstr " badsect"
+
+#: fdisk/fdiskbsdlabel.c:333
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr "byte/settore: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:334
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr "settori/traccia: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:335
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr "tracce/cilindro: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:336
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr "settori/cilindro: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:337
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr "cilindri: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:338
+#, c-format
+msgid "rpm: %d\n"
+msgstr "rpm: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:339
+#, c-format
+msgid "interleave: %d\n"
+msgstr "interleave: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:340
+#, c-format
+msgid "trackskew: %d\n"
+msgstr "trackskew: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:341
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr "cylinderskew: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:342
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr "headswitch: %ld\t\t# millisecondi\n"
+
+#: fdisk/fdiskbsdlabel.c:344
+#, c-format
+msgid "track-to-track seek: %ld\t# milliseconds\n"
+msgstr "ricerca traccia-a-traccia: %ld\t# millisecondi\n"
+
+#: fdisk/fdiskbsdlabel.c:346
+#, c-format
+msgid "drivedata: "
+msgstr "datiunità:"
+
+#: fdisk/fdiskbsdlabel.c:355
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+"\n"
+"%d partizioni:\n"
+
+#: fdisk/fdiskbsdlabel.c:356
+#, c-format
+msgid "#       start       end      size     fstype   [fsize bsize   cpg]\n"
+msgstr "#       inizio     fine      size     fstype   [fsize bsize   cpg]\n"
+
+#: fdisk/fdiskbsdlabel.c:405 fdisk/fdiskbsdlabel.c:408
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr "Scrittura del disklabel su %s in corso.\n"
+
+#: fdisk/fdiskbsdlabel.c:420 fdisk/fdiskbsdlabel.c:422
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr "%s non contiene disklabel.\n"
+
+#: fdisk/fdiskbsdlabel.c:427
+msgid "Do you want to create a disklabel? (y/n) "
+msgstr "Creare un disklabel? (s/n)"
+
+#: fdisk/fdiskbsdlabel.c:467
+msgid "bytes/sector"
+msgstr "byte/settore"
+
+#: fdisk/fdiskbsdlabel.c:468
+msgid "sectors/track"
+msgstr "settori/traccia"
+
+#: fdisk/fdiskbsdlabel.c:469
+msgid "tracks/cylinder"
+msgstr "tracce/cilindro"
+
+#: fdisk/fdiskbsdlabel.c:470 fdisk/fdisk.c:648 fdisk/fdisk.c:1357
+#: fdisk/sfdisk.c:945
+msgid "cylinders"
+msgstr "cilindri"
+
+#: fdisk/fdiskbsdlabel.c:477
+msgid "sectors/cylinder"
+msgstr "settori/cilindro"
+
+#: fdisk/fdiskbsdlabel.c:481
+#, c-format
+msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
+msgstr " Deve essere <= settori/traccia * tracce/cilindro (predefinito).\n"
+
+#: fdisk/fdiskbsdlabel.c:483
+msgid "rpm"
+msgstr "rpm"
+
+#: fdisk/fdiskbsdlabel.c:484
+msgid "interleave"
+msgstr "interleave"
+
+#: fdisk/fdiskbsdlabel.c:485
+msgid "trackskew"
+msgstr "trackskew"
+
+#: fdisk/fdiskbsdlabel.c:486
+msgid "cylinderskew"
+msgstr "cylinderskew"
+
+#: fdisk/fdiskbsdlabel.c:487
+msgid "headswitch"
+msgstr "headswitch"
+
+#: fdisk/fdiskbsdlabel.c:488
+msgid "track-to-track seek"
+msgstr "ricerca traccia-a-traccia"
+
+#: fdisk/fdiskbsdlabel.c:529
+#, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr "Bootstrap: %sboot -> boot%s (%s): "
+
+#: fdisk/fdiskbsdlabel.c:554
+#, c-format
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr "Sovrapposizione del bootstrap con il disklabel!\n"
+
+#: fdisk/fdiskbsdlabel.c:575 fdisk/fdiskbsdlabel.c:577
+#, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr "Bootstrap installato su %s.\n"
+
+#: fdisk/fdiskbsdlabel.c:599
+#, c-format
+msgid "Partition (a-%c): "
+msgstr "Partizione (a-%c): "
+
+#: fdisk/fdiskbsdlabel.c:618 fdisk/fdisk.c:2199
+#, c-format
+msgid "The maximum number of partitions has been created\n"
+msgstr "È stato creato il numero massimo di partizioni\n"
+
+#: fdisk/fdiskbsdlabel.c:630
+#, c-format
+msgid "This partition already exists.\n"
+msgstr "Questa partizione esiste già.\n"
+
+#: fdisk/fdiskbsdlabel.c:757
+#, c-format
+msgid "Warning: too many partitions (%d, maximum is %d).\n"
+msgstr "Attenzione: troppe partizioni (%d, il massimo è %d).\n"
+
+#: fdisk/fdiskbsdlabel.c:805
+#, c-format
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+"\n"
+"Sincronizzazione dei dischi.\n"
+
+#: fdisk/fdisk.c:244
+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"
+
+#: fdisk/fdisk.c:256
+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"
+
+#: fdisk/fdisk.c:265
+#, c-format
+msgid "Unable to open %s\n"
+msgstr "Impossibile aprire %s\n"
+
+#: fdisk/fdisk.c:269
+#, c-format
+msgid "Unable to read %s\n"
+msgstr "Impossibile leggere %s\n"
+
+#: fdisk/fdisk.c:273
+#, c-format
+msgid "Unable to seek on %s\n"
+msgstr "Ricerca impossibile su %s\n"
+
+#: fdisk/fdisk.c:277
+#, c-format
+msgid "Unable to write %s\n"
+msgstr "Impossibile scrivere su %s\n"
+
+#: fdisk/fdisk.c:281
+#, c-format
+msgid "BLKGETSIZE ioctl failed on %s\n"
+msgstr "BLKGETSIZE ioctl non riuscito su %s\n"
+
+#: fdisk/fdisk.c:285
+msgid "Unable to allocate any more memory\n"
+msgstr "Impossibile allocare altra memoria\n"
+
+#: fdisk/fdisk.c:288
+msgid "Fatal error\n"
+msgstr "Errore irreversibile\n"
+
+#: fdisk/fdisk.c:387
+msgid "   a   toggle a read only flag"
+msgstr "   a   attivazione/disattivazione di un flag di sola lettura"
+
+#: fdisk/fdisk.c:388 fdisk/fdisk.c:432
+msgid "   b   edit bsd disklabel"
+msgstr "   b   modifica di bsd disklabel"
+
+#: fdisk/fdisk.c:389
+msgid "   c   toggle the mountable flag"
+msgstr "   c   attivazione/disattivazione del flag montabile"
+
+#: fdisk/fdisk.c:390 fdisk/fdisk.c:409 fdisk/fdisk.c:434
+msgid "   d   delete a partition"
+msgstr "   d   cancellazione di una partizione"
+
+#: fdisk/fdisk.c:391 fdisk/fdisk.c:410 fdisk/fdisk.c:435
+msgid "   l   list known partition types"
+msgstr "   l   elenco dei tipi di partizione conosciuti"
+
+#: fdisk/fdisk.c:393 fdisk/fdisk.c:412 fdisk/fdisk.c:437
+msgid "   n   add a new partition"
+msgstr "   n   aggiunta di una nuova partizione"
+
+#: fdisk/fdisk.c:394 fdisk/fdisk.c:413 fdisk/fdisk.c:425 fdisk/fdisk.c:438
+msgid "   o   create a new empty DOS partition table"
+msgstr "   o   creazione di una nuova tabella delle partizioni DOS vuota"
+
+#: fdisk/fdisk.c:395 fdisk/fdisk.c:414 fdisk/fdisk.c:439 fdisk/fdisk.c:462
+#: fdisk/fdisk.c:479 fdisk/fdisk.c:495 fdisk/fdisk.c:513
+msgid "   p   print the partition table"
+msgstr "   p   stampa della tabella delle partizioni"
+
+#: fdisk/fdisk.c:397 fdisk/fdisk.c:416 fdisk/fdisk.c:427 fdisk/fdisk.c:441
+msgid "   s   create a new empty Sun disklabel"
+msgstr "   s   creazione di una nuova disklabel Sun vuota"
+
+#: fdisk/fdisk.c:398 fdisk/fdisk.c:417 fdisk/fdisk.c:442
+msgid "   t   change a partition's system id"
+msgstr "   t   modifica l'id di sistema di una partizione"
+
+#: fdisk/fdisk.c:399 fdisk/fdisk.c:418 fdisk/fdisk.c:443
+msgid "   u   change display/entry units"
+msgstr "   u   modifica delle unità di visualizzazione/di immissione"
+
+#: fdisk/fdisk.c:400 fdisk/fdisk.c:419 fdisk/fdisk.c:444 fdisk/fdisk.c:466
+#: fdisk/fdisk.c:483 fdisk/fdisk.c:499 fdisk/fdisk.c:517
+msgid "   v   verify the partition table"
+msgstr "   v   verifica la tabella delle partizioni"
+
+#: fdisk/fdisk.c:401 fdisk/fdisk.c:420 fdisk/fdisk.c:445 fdisk/fdisk.c:467
+#: fdisk/fdisk.c:484 fdisk/fdisk.c:500 fdisk/fdisk.c:518
+msgid "   w   write table to disk and exit"
+msgstr "   w   scrivi la tabella su disco ed esci"
+
+#: fdisk/fdisk.c:402 fdisk/fdisk.c:446
+msgid "   x   extra functionality (experts only)"
+msgstr " x   ulteriori funzioni (solo per esperti)"
+
+#: fdisk/fdisk.c:406
+msgid "   a   select bootable partition"
+msgstr "   a   selezione della partizione che è possibile avviare"
+
+#: fdisk/fdisk.c:407
+msgid "   b   edit bootfile entry"
+msgstr "   b   modifica della voce bootfile"
+
+#: fdisk/fdisk.c:408
+msgid "   c   select sgi swap partition"
+msgstr "   c   selezione della partizione swap sgi"
+
+#: fdisk/fdisk.c:431
+msgid "   a   toggle a bootable flag"
+msgstr "   a  Cambia bootable flag"
+
+#: fdisk/fdisk.c:433
+msgid "   c   toggle the dos compatibility flag"
+msgstr "   c   cambia il flag compatibile con il dos"
+
+#: fdisk/fdisk.c:454
+msgid "   a   change number of alternate cylinders"
+msgstr "   a   modifica del numero di cilindri alternativi"
+
+#: fdisk/fdisk.c:455 fdisk/fdisk.c:473 fdisk/fdisk.c:489 fdisk/fdisk.c:505
+msgid "   c   change number of cylinders"
+msgstr "   c   modifica del numero di cilindri"
+
+#: fdisk/fdisk.c:456 fdisk/fdisk.c:474 fdisk/fdisk.c:490 fdisk/fdisk.c:506
+msgid "   d   print the raw data in the partition table"
+msgstr "   d   stampa dei dati grezzi nella tabella delle partizioni"
+
+#: fdisk/fdisk.c:457
+msgid "   e   change number of extra sectors per cylinder"
+msgstr "   e   modifica del numero dei settori supplementari per cilindro"
+
+#: fdisk/fdisk.c:458 fdisk/fdisk.c:477 fdisk/fdisk.c:493 fdisk/fdisk.c:510
+msgid "   h   change number of heads"
+msgstr "   h   modifica del numero di testine"
+
+#: fdisk/fdisk.c:459
+msgid "   i   change interleave factor"
+msgstr "   i   modifica del fattore di interleave"
+
+#: fdisk/fdisk.c:460
+msgid "   o   change rotation speed (rpm)"
+msgstr "   o   modifica della velocità di rotazione (rpm)"
+
+#: fdisk/fdisk.c:465 fdisk/fdisk.c:482 fdisk/fdisk.c:498 fdisk/fdisk.c:516
+msgid "   s   change number of sectors/track"
+msgstr "   s   modifica del numero di settori/traccia"
+
+#: fdisk/fdisk.c:468
+msgid "   y   change number of physical cylinders"
+msgstr "   y   modifica del numero di cilindri fisici"
+
+#: fdisk/fdisk.c:472 fdisk/fdisk.c:488 fdisk/fdisk.c:504
+msgid "   b   move beginning of data in a partition"
+msgstr "   b   spostamento dell'inizio di dati in una partizione"
+
+#: fdisk/fdisk.c:475 fdisk/fdisk.c:491 fdisk/fdisk.c:507
+msgid "   e   list extended partitions"
+msgstr "   e   elenco delle partizioni estese"
+
+#: fdisk/fdisk.c:476 fdisk/fdisk.c:492 fdisk/fdisk.c:509
+msgid "   g   create an IRIX (SGI) partition table"
+msgstr "   g   crea una tabella delle partizioni IRIX (SGI)"
+
+#: fdisk/fdisk.c:508
+msgid "   f   fix partition order"
+msgstr "   f   aggiusta l'ordine delle partizioni"
+
+#: fdisk/fdisk.c:511
+msgid "   i   change the disk identifier"
+msgstr "   i   cambia l'identificativo del disco"
+
+#: fdisk/fdisk.c:627
+#, c-format
+msgid "You must set"
+msgstr "Si devono impostare"
+
+#: fdisk/fdisk.c:644
+msgid "heads"
+msgstr "testine"
+
+#: fdisk/fdisk.c:646 fdisk/fdisk.c:1357 fdisk/sfdisk.c:945
+msgid "sectors"
+msgstr "settori"
+
+#: fdisk/fdisk.c:652
+#, 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"
+
+#: fdisk/fdisk.c:653
+msgid " and "
+msgstr " e "
+
+#: fdisk/fdisk.c:670
+#, c-format
+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 ""
+
+#: fdisk/fdisk.c:683
+#, 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 %d-byte sectors. Use parted(1) and GUID \n"
+"partition table format (GPT).\n"
+"\n"
+msgstr ""
+
+#: fdisk/fdisk.c:708
+#, c-format
+msgid "Bad offset in primary extended partition\n"
+msgstr "Offset errato nella partizione estesa primaria\n"
+
+#: fdisk/fdisk.c:722
+#, c-format
+msgid ""
+"Warning: omitting partitions after #%d.\n"
+"They will be deleted if you save this partition table.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:741
+#, c-format
+msgid "Warning: extra link pointer in partition table %d\n"
+msgstr ""
+"Attenzione: puntatore di collegamento supplementare nella tabella delle "
+"partizioni %d\n"
+
+#: fdisk/fdisk.c:749
+#, 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"
+
+#: fdisk/fdisk.c:782
+#, fuzzy, c-format
+msgid "omitting empty partition (%d)\n"
+msgstr "Attenzione: partizione vuota\n"
+
+#: fdisk/fdisk.c:801
+#, c-format
+msgid "Disk identifier: 0x%08x\n"
+msgstr "Identificativo disco: 0x%08x\n"
+
+#: fdisk/fdisk.c:810
+#, c-format
+msgid "New disk identifier (current 0x%08x): "
+msgstr "Nuovo identificativo disco (corrente 0x%08x): "
+
+#: fdisk/fdisk.c:829
+#, fuzzy, c-format
+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"
+
+#: fdisk/fdisk.c:861
+#, c-format
+msgid "Note: sector size is %d (not %d)\n"
+msgstr "Nota: la dimensione del settore è %d (non %d)\n"
+
+#: fdisk/fdisk.c:990
+#, c-format
+msgid "You will not be able to write the partition table.\n"
+msgstr "Impossibile scrivere la tabella delle partizioni.\n"
+
+#: fdisk/fdisk.c:1022
+#, c-format
+msgid ""
+"This disk has both DOS and BSD magic.\n"
+"Give the 'b' command to go to BSD mode.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1032
+#, c-format
+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"
+
+#: fdisk/fdisk.c:1049
+#, c-format
+msgid "Internal error\n"
+msgstr "Errore interno\n"
+
+#: fdisk/fdisk.c:1062
+#, c-format
+msgid "Ignoring extra extended partition %d\n"
+msgstr "Partizione estesa supplementare ignorata %d\n"
+
+#: fdisk/fdisk.c:1074
+#, 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"
+
+#: fdisk/fdisk.c:1096
+#, c-format
+msgid ""
+"\n"
+"got EOF thrice - exiting..\n"
+msgstr ""
+"\n"
+"ricevuto EOF tre volte - uscita in corso..\n"
+
+#: fdisk/fdisk.c:1135
+msgid "Hex code (type L to list codes): "
+msgstr "Codice esadecimale (digitare L per elencare i codici): "
+
+#: fdisk/fdisk.c:1175
+#, c-format
+msgid "%s (%u-%u, default %u): "
+msgstr "%s (%u-%u, predefinito %u): "
+
+#: fdisk/fdisk.c:1242
+#, c-format
+msgid "Unsupported suffix: '%s'.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1243
+#, c-format
+msgid ""
+"Supported: 10^N: KB (KiloByte), MB (MegaByte), GB (GigaByte)\n"
+"            2^N: K  (KibiByte), M  (MebiByte), G  (GibiByte)\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1269
+#, c-format
+msgid "Using default value %u\n"
+msgstr "Utilizzo del valore predefinito %u\n"
+
+#: fdisk/fdisk.c:1273
+#, c-format
+msgid "Value out of range.\n"
+msgstr "Valore fuori intervallo.\n"
+
+#: fdisk/fdisk.c:1283
+msgid "Partition number"
+msgstr "Numero della partizione"
+
+#: fdisk/fdisk.c:1294
+#, c-format
+msgid "Warning: partition %d has empty type\n"
+msgstr "Attenzione: la partizione %d ha tipo vuoto\n"
+
+#: fdisk/fdisk.c:1316 fdisk/fdisk.c:1342
+#, c-format
+msgid "Selected partition %d\n"
+msgstr "Partizione selezionata %d\n"
+
+#: fdisk/fdisk.c:1319
+#, c-format
+msgid "No partition is defined yet!\n"
+msgstr "Nessuna partizione definita\n"
+
+#: fdisk/fdisk.c:1345
+#, c-format
+msgid "All primary partitions have been defined already!\n"
+msgstr "Tutte le partizioni primarie sono state già definite!\n"
+
+#: fdisk/fdisk.c:1355
+msgid "cylinder"
+msgstr "cilindro"
+
+#: fdisk/fdisk.c:1355
+msgid "sector"
+msgstr "settore"
+
+#: fdisk/fdisk.c:1364
+#, c-format
+msgid "Changing display/entry units to %s\n"
+msgstr "Modifica delle unità di visualizzazione/immissione su %s\n"
+
+#: fdisk/fdisk.c:1375
+#, c-format
+msgid "WARNING: Partition %d is an extended partition\n"
+msgstr "ATTENZIONE: la partizione %d è una partizione estesa\n"
+
+#: fdisk/fdisk.c:1386
+#, c-format
+msgid "DOS Compatibility flag is set\n"
+msgstr "Impostato il flag compatibile con DOS\n"
+
+#: fdisk/fdisk.c:1390
+#, c-format
+msgid "DOS Compatibility flag is not set\n"
+msgstr "Il flag compatibile con DOS non è impostato\n"
+
+#: fdisk/fdisk.c:1490
+#, c-format
+msgid "Partition %d does not exist yet!\n"
+msgstr "La partizione %d non esiste ancora!\n"
+
+#: fdisk/fdisk.c:1495
+#, 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"
+
+#: fdisk/fdisk.c:1504
+#, 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"
+
+#: fdisk/fdisk.c:1513
+#, 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"
+
+#: fdisk/fdisk.c:1519
+#, 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"
+
+#: fdisk/fdisk.c:1536
+#, 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"
+
+#: fdisk/fdisk.c:1539
+#, 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"
+
+#: fdisk/fdisk.c:1591
+#, 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"
+
+#: fdisk/fdisk.c:1593 fdisk/fdisk.c:1601 fdisk/fdisk.c:1610 fdisk/fdisk.c:1620
+#, c-format
+msgid "     phys=(%d, %d, %d) "
+msgstr "    phys=(%d, %d, %d) "
+
+#: fdisk/fdisk.c:1594 fdisk/fdisk.c:1602
+#, c-format
+msgid "logical=(%d, %d, %d)\n"
+msgstr "logico=(%d, %d, %d)\n"
+
+#: fdisk/fdisk.c:1599
+#, c-format
+msgid "Partition %d has different physical/logical endings:\n"
+msgstr "La partizione %d ha diversi elementi finali fisici/logici:\n"
+
+#: fdisk/fdisk.c:1608
+#, c-format
+msgid "Partition %i does not start on cylinder boundary:\n"
+msgstr "La partizione %i non inizia al limite del cilindro:\n"
+
+#: fdisk/fdisk.c:1611
+#, c-format
+msgid "should be (%d, %d, 1)\n"
+msgstr "dovrebbe essere (%d, %d, 1)\n"
+
+#: fdisk/fdisk.c:1617
+#, c-format
+msgid "Partition %i does not end on cylinder boundary.\n"
+msgstr "La partizione %i non termina al limite del cilindro.\n"
+
+#: fdisk/fdisk.c:1621
+#, c-format
+msgid "should be (%d, %d, %d)\n"
+msgstr "dovrebbe essere (%d, %d, %d)\n"
+
+#: fdisk/fdisk.c:1633
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld MB, %lld bytes\n"
+msgstr ""
+"\n"
+"Disco %s: %ld MB, %lld byte\n"
+
+#: fdisk/fdisk.c:1637
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld.%ld GB, %lld bytes\n"
+msgstr ""
+"\n"
+"Disco %s: %ld.%ld GB, %lld byte\n"
+"\n"
+
+#: fdisk/fdisk.c:1640
+#, c-format
+msgid "%d heads, %llu sectors/track, %d cylinders"
+msgstr "%d testine, %llu settori/tracce, %d cilindri"
+
+#: fdisk/fdisk.c:1643
+#, c-format
+msgid ", total %llu sectors"
+msgstr ", totale %llu settori"
+
+#: fdisk/fdisk.c:1646
+#, c-format
+msgid "Units = %s of %d * %d = %d bytes\n"
+msgstr "Unità = %s di %d * %d = %d byte\n"
+
+#: fdisk/fdisk.c:1757
+#, c-format
+msgid ""
+"Nothing to do. Ordering is correct already.\n"
+"\n"
+msgstr "Niente da fare. L'ordine è già corretto.\n"
+
+#: fdisk/fdisk.c:1785
+#, fuzzy, c-format
+msgid "Done.\n"
+msgstr ""
+"Fine\n"
+"\n"
+
+#: fdisk/fdisk.c:1813
+#, 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"
+
+#: fdisk/fdisk.c:1826
+#, fuzzy, c-format
+msgid "%*s Boot      Start         End      Blocks   Id  System\n"
+msgstr "%*s Avvio    Inizio    Fine   Blocchi   Id  Sistema\n"
+
+#: fdisk/fdisk.c:1827 fdisk/fdisksgilabel.c:223 fdisk/fdisksunlabel.c:603
+msgid "Device"
+msgstr "Dispositivo"
+
+#: fdisk/fdisk.c:1864
+#, 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"
+
+#: fdisk/fdisk.c:1874
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %d cylinders\n"
+"\n"
+msgstr ""
+"\n"
+"Disco %s: %d testine, %llu settori, %d cilindri\n"
+"\n"
+
+#: fdisk/fdisk.c:1876
+#, c-format
+msgid "Nr AF  Hd Sec  Cyl  Hd Sec  Cyl     Start      Size ID\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1922
+#, c-format
+msgid "Warning: partition %d contains sector 0\n"
+msgstr "Attenzione: la partizione %d contiene il settore 0\n"
+
+#: fdisk/fdisk.c:1925
+#, c-format
+msgid "Partition %d: head %d greater than maximum %d\n"
+msgstr "Partizione %d: testina %d più grande del massimo %d\n"
+
+#: fdisk/fdisk.c:1928
+#, c-format
+msgid "Partition %d: sector %d greater than maximum %llu\n"
+msgstr "Partizione %d: settore %d più grande del massimo %llu\n"
+
+#: fdisk/fdisk.c:1931
+#, c-format
+msgid "Partitions %d: cylinder %d greater than maximum %d\n"
+msgstr "Partizione %d: cilindro %d più grande del massimo %d\n"
+
+#: fdisk/fdisk.c:1935
+#, 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"
+
+#: fdisk/fdisk.c:1968
+#, c-format
+msgid "Warning: bad start-of-data in partition %d\n"
+msgstr "Attenzione: inizio dati danneggiato nella partizione %d\n"
+
+#: fdisk/fdisk.c:1976
+#, c-format
+msgid "Warning: partition %d overlaps partition %d.\n"
+msgstr "Attenzione: la partizione %d si sovrappone alla partizione %d.\n"
+
+#: fdisk/fdisk.c:1996
+#, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr "Attenzione: la partizione %d è vuota\n"
+
+#: fdisk/fdisk.c:2001
+#, c-format
+msgid "Logical partition %d not entirely in partition %d\n"
+msgstr "La partizione logica %d non è interamente nella partizione %d\n"
+
+#: fdisk/fdisk.c:2007
+#, 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"
+
+#: fdisk/fdisk.c:2010
+#, fuzzy, c-format
+msgid "%lld unallocated %d-byte sectors\n"
+msgstr "%lld settori non allocati\n"
+
+#: fdisk/fdisk.c:2025 fdisk/fdisksgilabel.c:633 fdisk/fdisksunlabel.c:416
+#, 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"
+
+#: fdisk/fdisk.c:2067
+#, c-format
+msgid "Sector %llu is already allocated\n"
+msgstr "Il settore %llu è già allocato\n"
+
+#: fdisk/fdisk.c:2103
+#, c-format
+msgid "No free sectors available\n"
+msgstr "Non ci sono settori liberi disponibili\n"
+
+#: fdisk/fdisk.c:2112
+#, c-format
+msgid "Last %1$s, +%2$s or +size{K,M,G}"
+msgstr ""
+
+#: fdisk/fdisk.c:2178
+#, 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 ""
+
+#: fdisk/fdisk.c:2187
+#, 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 ""
+
+#: fdisk/fdisk.c:2207
+#, c-format
+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"
+
+#: fdisk/fdisk.c:2210
+#, c-format
+msgid "All logical partitions are in use\n"
+msgstr "Tutte le partizioni logiche sono usate\n"
+
+#: fdisk/fdisk.c:2211
+#, c-format
+msgid "Adding a primary partition\n"
+msgstr "Aggiunta di una partizione primaria\n"
+
+#: fdisk/fdisk.c:2216
+#, c-format
+msgid ""
+"Command action\n"
+"   %s\n"
+"   p   primary partition (1-4)\n"
+msgstr ""
+"Azione comando\n"
+"   %s\n"
+"   p   partizione primaria (1-4)\n"
+
+#: fdisk/fdisk.c:2218
+msgid "l   logical (5 or over)"
+msgstr "l   logica (5 od oltre)"
+
+#: fdisk/fdisk.c:2218
+msgid "e   extended"
+msgstr " e   estesa"
+
+#: fdisk/fdisk.c:2237
+#, c-format
+msgid "Invalid partition number for type `%c'\n"
+msgstr "Numero di partizioni non valido per il tipo \"%c\"\n"
+
+#: fdisk/fdisk.c:2273
+#, c-format
+msgid ""
+"The partition table has been altered!\n"
+"\n"
+msgstr ""
+"La tabella delle partizioni è stata alterata!\n"
+"\n"
+
+#: fdisk/fdisk.c:2287
+#, c-format
+msgid "Calling ioctl() to re-read partition table.\n"
+msgstr "Chiamata di ioctl() per rileggere la tabella delle partizioni.\n"
+
+#: fdisk/fdisk.c:2296
+#, fuzzy, c-format
+msgid ""
+"\n"
+"WARNING: Re-reading the partition table failed with error %d: %s.\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"
+
+#: fdisk/fdisk.c:2304
+#, 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"
+
+#: fdisk/fdisk.c:2310
+#, c-format
+msgid ""
+"\n"
+"Error closing file\n"
+msgstr ""
+"\n"
+"Errore durante la chiusura del file\n"
+
+#: fdisk/fdisk.c:2314
+#, c-format
+msgid "Syncing disks.\n"
+msgstr "Sincronizzazione dei dischi in corso.\n"
+
+#: fdisk/fdisk.c:2361
+#, c-format
+msgid "Partition %d has no data area\n"
+msgstr "La partizione %d non ha area dati\n"
+
+#: fdisk/fdisk.c:2366
+msgid "New beginning of data"
+msgstr "Nuovo inizio dati"
+
+#: fdisk/fdisk.c:2382
+msgid "Expert command (m for help): "
+msgstr "Comando per esperti (m per richiamare la guida): "
+
+#: fdisk/fdisk.c:2395
+msgid "Number of cylinders"
+msgstr "Numero di cilindri"
+
+#: fdisk/fdisk.c:2422
+msgid "Number of heads"
+msgstr "Numero di testine"
+
+#: fdisk/fdisk.c:2449
+msgid "Number of sectors"
+msgstr "Numero di settori"
+
+#: fdisk/fdisk.c:2452
+#, c-format
+msgid "Warning: setting sector offset for DOS compatiblity\n"
+msgstr ""
+"Attenzione: impostare l'offset di settore per assicurare compatibilità con "
+"DOS\n"
+
+#: fdisk/fdisk.c:2511
+#, 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 ""
+
+#: fdisk/fdisk.c:2533
+#, c-format
+msgid "Disk %s doesn't contain a valid partition table\n"
+msgstr "Il disco %s non contiene una tabella delle partizioni valida\n"
+
+#: fdisk/fdisk.c:2544
+#, c-format
+msgid "Cannot open %s\n"
+msgstr "Impossibile aprire %s\n"
+
+#: fdisk/fdisk.c:2563 fdisk/sfdisk.c:2618
+#, c-format
+msgid "cannot open %s\n"
+msgstr "impossibile aprire %s\n"
+
+#: fdisk/fdisk.c:2583
+#, c-format
+msgid "%c: unknown command\n"
+msgstr "%c: comando sconosciuto\n"
+
+#: fdisk/fdisk.c:2653
+#, c-format
+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"
+
+#: fdisk/fdisk.c:2657
+#, 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"
+
+#: fdisk/fdisk.c:2717
+#, c-format
+msgid "Detected an OSF/1 disklabel on %s, entering disklabel mode.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2727
+msgid "Command (m for help): "
+msgstr "Comando (m per richiamare la guida): "
+
+#: fdisk/fdisk.c:2743
+#, c-format
+msgid ""
+"\n"
+"The current boot file is: %s\n"
+msgstr ""
+"\n"
+"Il file d'avvio corrente è: %s\n"
+
+#: fdisk/fdisk.c:2745
+msgid "Please enter the name of the new boot file: "
+msgstr "Immettere il nome del nuovo file d'avvio:"
+
+#: fdisk/fdisk.c:2747
+#, c-format
+msgid "Boot file unchanged\n"
+msgstr "File d'avvio immutato\n"
+
+#: fdisk/fdisk.c:2820
+#, c-format
+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"
+
+#: fdisk/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)."
+
+#: fdisk/fdisksgilabel.c:81
+msgid "SGI volhdr"
+msgstr "SGI volhdr"
+
+#: fdisk/fdisksgilabel.c:82
+msgid "SGI trkrepl"
+msgstr "SGI trkrepl"
+
+#: fdisk/fdisksgilabel.c:83
+msgid "SGI secrepl"
+msgstr "SGI secrepl"
+
+#: fdisk/fdisksgilabel.c:84
+msgid "SGI raw"
+msgstr "SGI raw"
+
+#: fdisk/fdisksgilabel.c:85
+msgid "SGI bsd"
+msgstr "SGI bsd"
+
+#: fdisk/fdisksgilabel.c:86
+msgid "SGI sysv"
+msgstr "SGI sysv"
+
+#: fdisk/fdisksgilabel.c:87
+msgid "SGI volume"
+msgstr "SGI volume"
+
+#: fdisk/fdisksgilabel.c:88
+msgid "SGI efs"
+msgstr "SGI efs"
+
+#: fdisk/fdisksgilabel.c:89
+msgid "SGI lvol"
+msgstr "SGI lvol"
+
+#: fdisk/fdisksgilabel.c:90
+msgid "SGI rlvol"
+msgstr "SGI rlvol"
+
+#: fdisk/fdisksgilabel.c:91
+msgid "SGI xfs"
+msgstr "SGI xfs"
+
+#: fdisk/fdisksgilabel.c:92
+msgid "SGI xfslog"
+msgstr "SGI xfslog"
+
+#: fdisk/fdisksgilabel.c:93
+msgid "SGI xlv"
+msgstr "SGI xlv"
+
+#: fdisk/fdisksgilabel.c:94
+msgid "SGI xvm"
+msgstr "SGI xvm"
+
+#: fdisk/fdisksgilabel.c:95 fdisk/fdisksunlabel.c:55
+msgid "Linux swap"
+msgstr "Linux swap"
+
+#: fdisk/fdisksgilabel.c:96 fdisk/fdisksunlabel.c:56
+msgid "Linux native"
+msgstr "Linux nativo"
+
+#: fdisk/fdisksgilabel.c:97 fdisk/fdisksunlabel.c:57 fdisk/i386_sys_types.c:63
+msgid "Linux LVM"
+msgstr "Linux LVM"
+
+#: fdisk/fdisksgilabel.c:98
+msgid "Linux RAID"
+msgstr "Linux RAID"
+
+#: fdisk/fdisksgilabel.c:164
+#, 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"
+
+#: fdisk/fdisksgilabel.c:183
+#, c-format
+msgid "Detected sgi disklabel with wrong checksum.\n"
+msgstr "Rilevato un disklabel sgi con checksum errato.\n"
+
+#: fdisk/fdisksgilabel.c:201
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors\n"
+"%d cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * %d 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"
+
+#: fdisk/fdisksgilabel.c:214
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors, %d cylinders\n"
+"Units = %s of %d * %d 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"
+
+#: fdisk/fdisksgilabel.c:221
+#, 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"
+
+#: fdisk/fdisksgilabel.c:243
+#, fuzzy, c-format
+msgid ""
+"----- Bootinfo -----\n"
+"Bootfile: %s\n"
+"----- Directory Entries -----\n"
+msgstr ""
+"----- Infoavvio -----\n"
+"File di avvio: %s\n"
+"----- Voci directory -----\n"
+
+#: fdisk/fdisksgilabel.c:251
+#, c-format
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr "%2d: %-10s settore%5u dimensione%8u\n"
+
+#: fdisk/fdisksgilabel.c:305
+#, 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"
+
+#: fdisk/fdisksgilabel.c:311
+#, 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"
+
+#: fdisk/fdisksgilabel.c:316
+#, c-format
+msgid ""
+"\n"
+"\tBootfile must have a fully qualified pathname.\n"
+msgstr ""
+"\n"
+"\tIl file di avvio deve avere un path completo.\n"
+
+#: fdisk/fdisksgilabel.c:323
+#, 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"
+
+#: fdisk/fdisksgilabel.c:349
+#, c-format
+msgid ""
+"\n"
+"\tBootfile is changed to \"%s\".\n"
+msgstr ""
+"\n"
+"\tFile di avvio cambiato in \"%s\".\n"
+
+#: fdisk/fdisksgilabel.c:439
+#, c-format
+msgid "More than one entire disk entry present.\n"
+msgstr "Presente più di una voce disco intero.\n"
+
+#: fdisk/fdisksgilabel.c:446 fdisk/fdisksunlabel.c:388
+#, c-format
+msgid "No partitions defined\n"
+msgstr "Nessuna partizione definita\n"
+
+#: fdisk/fdisksgilabel.c:452
+#, 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"
+
+#: fdisk/fdisksgilabel.c:454
+#, 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"
+
+#: fdisk/fdisksgilabel.c:460
+#, 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"
+
+#: fdisk/fdisksgilabel.c:466
+#, c-format
+msgid "One Partition (#11) should cover the entire disk.\n"
+msgstr "Una partizione (#11) dovrebbe comprendere il disco intero.\n"
+
+#: fdisk/fdisksgilabel.c:476
+#, c-format
+msgid "Partition %d does not start on cylinder boundary.\n"
+msgstr "La partizione %d non inizia al limite del cilindro.\n"
+
+#: fdisk/fdisksgilabel.c:482
+#, c-format
+msgid "Partition %d does not end on cylinder boundary.\n"
+msgstr "La partizione %d non termina al limite del cilindro.\n"
+
+#: fdisk/fdisksgilabel.c:489
+#, 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"
+
+#: fdisk/fdisksgilabel.c:497 fdisk/fdisksgilabel.c:515
+#, c-format
+msgid "Unused gap of %8u sectors - sectors %8u-%u\n"
+msgstr "Intervallo di %8u settori non utilizzato - settori %8u-%u\n"
+
+#: fdisk/fdisksgilabel.c:526
+#, c-format
+msgid ""
+"\n"
+"The boot partition does not exist.\n"
+msgstr ""
+"\n"
+"la partizione di avvio non esiste.\n"
+
+#: fdisk/fdisksgilabel.c:529
+#, c-format
+msgid ""
+"\n"
+"The swap partition does not exist.\n"
+msgstr ""
+"\n"
+"La partizione di swap non esiste.\n"
+
+#: fdisk/fdisksgilabel.c:533
+#, c-format
+msgid ""
+"\n"
+"The swap partition has no swap type.\n"
+msgstr ""
+"\n"
+"La partizione di swap non ha tipo swap.\n"
+
+#: fdisk/fdisksgilabel.c:536
+#, c-format
+msgid "\tYou have chosen an unusual boot file name.\n"
+msgstr "\tSi è selezionato un nome file di avvio non comune.\n"
+
+#: fdisk/fdisksgilabel.c:545
+#, c-format
+msgid "Sorry You may change the Tag of non-empty partitions.\n"
+msgstr "È possibile modificare solamente il tag delle partizioni non vuote.\n"
+
+#: fdisk/fdisksgilabel.c:551
+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"
+
+#: fdisk/fdisksgilabel.c:556 fdisk/fdisksunlabel.c:554
+msgid "YES\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:581
+#, c-format
+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"
+
+#: fdisk/fdisksgilabel.c:639
+#, c-format
+msgid "Attempting to generate entire disk entry automatically.\n"
+msgstr "Tentativo di generare automaticamente la voce per l'intero disco.\n"
+
+#: fdisk/fdisksgilabel.c:644
+#, c-format
+msgid "The entire disk is already covered with partitions.\n"
+msgstr "L'intero disco è già coperto da partizioni.\n"
+
+#: fdisk/fdisksgilabel.c:648
+#, 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"
+
+#: fdisk/fdisksgilabel.c:657 fdisk/fdisksgilabel.c:686
+#, 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"
+
+#: fdisk/fdisksgilabel.c:673
+#, 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"
+
+#: fdisk/fdisksgilabel.c:678
+#, c-format
+msgid " Last %s"
+msgstr " Ultimo %s"
+
+#: fdisk/fdisksgilabel.c:708
+#, c-format
+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"
+
+#: fdisk/fdisksgilabel.c:731 fdisk/fdisksunlabel.c:227
+#, c-format
+msgid ""
+"Warning:  BLKGETSIZE ioctl failed on %s.  Using geometry cylinder value of %"
+"d.\n"
+"This value may be truncated for devices > 33.8 GB.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:745
+#, c-format
+msgid "Trying to keep parameters of partition %d.\n"
+msgstr "Tentativo di mantenere i parametri della partizione %d in corso.\n"
+
+#: fdisk/fdisksgilabel.c:747
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr "ID=%02x\tINIZIO=%d\tLUNGHEZZA=%d\n"
+
+#: fdisk/fdisksunlabel.c:43
+msgid "Unassigned"
+msgstr "Non assegnato"
+
+#: fdisk/fdisksunlabel.c:45
+msgid "SunOS root"
+msgstr "SunOS root"
+
+#: fdisk/fdisksunlabel.c:46
+msgid "SunOS swap"
+msgstr "SunOS swap"
+
+#: fdisk/fdisksunlabel.c:47
+msgid "SunOS usr"
+msgstr "SunOS usr"
+
+#: fdisk/fdisksunlabel.c:48
+msgid "Whole disk"
+msgstr "Disco intero"
+
+#: fdisk/fdisksunlabel.c:49
+msgid "SunOS stand"
+msgstr "SunOS stand"
+
+#: fdisk/fdisksunlabel.c:50
+msgid "SunOS var"
+msgstr "SunOS var"
+
+#: fdisk/fdisksunlabel.c:51
+msgid "SunOS home"
+msgstr "SunOS home"
+
+#: fdisk/fdisksunlabel.c:52
+msgid "SunOS alt sectors"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:53
+msgid "SunOS cachefs"
+msgstr "SunOS cachefs"
+
+#: fdisk/fdisksunlabel.c:54
+msgid "SunOS reserved"
+msgstr "SunOS riservato"
+
+#: fdisk/fdisksunlabel.c:58 fdisk/i386_sys_types.c:103
+msgid "Linux raid autodetect"
+msgstr "Autorilevamento raid di Linux"
+
+#: fdisk/fdisksunlabel.c:141
+#, 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"
+
+#: fdisk/fdisksunlabel.c:153
+#, c-format
+msgid "Detected sun disklabel with wrong version [0x%08x].\n"
+msgstr "Rilevato un disklabel con versione errata [0x%08x].\n"
+
+#: fdisk/fdisksunlabel.c:158
+#, c-format
+msgid "Detected sun disklabel with wrong sanity [0x%08x].\n"
+msgstr "Rilevato un disklabel con sanity errato [0x%08x].\n"
+
+#: fdisk/fdisksunlabel.c:163
+#, c-format
+msgid "Detected sun disklabel with wrong num_partitions [%u].\n"
+msgstr "Rilevato un disklabel con num_partitions errato [%u].\n"
+
+# FIXME
+#: fdisk/fdisksunlabel.c:168
+#, 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"
+
+#: fdisk/fdisksunlabel.c:198
+#, c-format
+msgid ""
+"Building a new sun disklabel. Changes will remain in memory only,\n"
+"until you decide to write them. After that, of course, the previous\n"
+"content won't be recoverable.\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"
+
+#: fdisk/fdisksunlabel.c:236
+msgid "Sectors/track"
+msgstr "Settori/traccia"
+
+#: fdisk/fdisksunlabel.c:351
+#, c-format
+msgid "Partition %d doesn't end on cylinder boundary\n"
+msgstr "La partizione %d non finisce al limite del cilindro\n"
+
+#: fdisk/fdisksunlabel.c:371
+#, 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"
+
+#: fdisk/fdisksunlabel.c:393
+#, c-format
+msgid "Unused gap - sectors 0-%d\n"
+msgstr "Intervallo inutilizzato - settori 0-%d\n"
+
+#: fdisk/fdisksunlabel.c:395 fdisk/fdisksunlabel.c:401
+#, c-format
+msgid "Unused gap - sectors %d-%d\n"
+msgstr "Intervallo inutilizzato - settori %d-%d\n"
+
+#: fdisk/fdisksunlabel.c:426
+#, 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"
+
+#: fdisk/fdisksunlabel.c:449
+#, 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"
+
+#: fdisk/fdisksunlabel.c:477
+#, c-format
+msgid "Sector %d is already allocated\n"
+msgstr "Il settore %d è già allocato\n"
+
+#: fdisk/fdisksunlabel.c:507
+#, 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"
+
+#: fdisk/fdisksunlabel.c:534
+#, 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"
+
+#: fdisk/fdisksunlabel.c:549
+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 ): "
+
+#: fdisk/fdisksunlabel.c:581
+#, fuzzy, c-format
+msgid ""
+"\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"
+"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"
+
+#: fdisk/fdisksunlabel.c:597
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %d heads, %llu sectors, %d 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"
+
+#: fdisk/fdisksunlabel.c:602
+#, c-format
+msgid "%*s Flag    Start       End    Blocks   Id  System\n"
+msgstr "%*s Flag    Inizio       Fine    Blocchi   Id  Sistema\n"
+
+#: fdisk/fdisksunlabel.c:630
+msgid "Number of alternate cylinders"
+msgstr "Numero di cilindri alternativi"
+
+#: fdisk/fdisksunlabel.c:642
+msgid "Extra sectors per cylinder"
+msgstr "Settori supplementari per cilindro"
+
+#: fdisk/fdisksunlabel.c:649
+msgid "Interleave factor"
+msgstr "Fattore di interleave"
+
+#: fdisk/fdisksunlabel.c:656
+msgid "Rotation speed (rpm)"
+msgstr "Velocità di rotazione (rpm)"
+
+#: fdisk/fdisksunlabel.c:663
+msgid "Number of physical cylinders"
+msgstr "Numero dei cilindri fisici"
+
+#: fdisk/i386_sys_types.c:6
+msgid "Empty"
+msgstr "Vuoto"
+
+#: fdisk/i386_sys_types.c:7
+msgid "FAT12"
+msgstr "FAT12"
+
+#: fdisk/i386_sys_types.c:8
+msgid "XENIX root"
+msgstr "XENIX root"
+
+#: fdisk/i386_sys_types.c:9
+msgid "XENIX usr"
+msgstr "XENIX usr"
+
+#: fdisk/i386_sys_types.c:10
+msgid "FAT16 <32M"
+msgstr "FAT16 <32M"
+
+#: fdisk/i386_sys_types.c:11
+msgid "Extended"
+msgstr "Esteso"
+
+#: fdisk/i386_sys_types.c:12
+msgid "FAT16"
+msgstr "FAT16"
+
+#: fdisk/i386_sys_types.c:13
+msgid "HPFS/NTFS"
+msgstr "HPFS/NTFS"
+
+#: fdisk/i386_sys_types.c:14
+msgid "AIX"
+msgstr "AIX"
+
+#: fdisk/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr "AIX avviabile"
+
+#: fdisk/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr "OS/2 Boot Manager"
+
+#: fdisk/i386_sys_types.c:17
+msgid "W95 FAT32"
+msgstr "W95 FAT32"
+
+#: fdisk/i386_sys_types.c:18
+msgid "W95 FAT32 (LBA)"
+msgstr "W95 FAT32 (LBA)"
+
+#: fdisk/i386_sys_types.c:19
+msgid "W95 FAT16 (LBA)"
+msgstr "W95 FAT16 (LBA)"
+
+#: fdisk/i386_sys_types.c:20
+msgid "W95 Ext'd (LBA)"
+msgstr "W95 Esteso (LBA)"
+
+#: fdisk/i386_sys_types.c:21
+msgid "OPUS"
+msgstr "OPUS"
+
+#: fdisk/i386_sys_types.c:22
+msgid "Hidden FAT12"
+msgstr "FAT12 nascosto"
+
+#: fdisk/i386_sys_types.c:23
+msgid "Compaq diagnostics"
+msgstr "Diagnostica Compaq"
+
+#: fdisk/i386_sys_types.c:24
+msgid "Hidden FAT16 <32M"
+msgstr "FAT16 nascosto <32M"
+
+#: fdisk/i386_sys_types.c:25
+msgid "Hidden FAT16"
+msgstr "FAT16 nascosto"
+
+#: fdisk/i386_sys_types.c:26
+msgid "Hidden HPFS/NTFS"
+msgstr "HPFS/NTFS nascosto"
+
+#: fdisk/i386_sys_types.c:27
+msgid "AST SmartSleep"
+msgstr "AST SmartSleep"
+
+#: fdisk/i386_sys_types.c:28
+msgid "Hidden W95 FAT32"
+msgstr "W95 FAT32 nascosto"
+
+#: fdisk/i386_sys_types.c:29
+msgid "Hidden W95 FAT32 (LBA)"
+msgstr "W95 FAT32 (LBA) nascosto"
+
+#: fdisk/i386_sys_types.c:30
+msgid "Hidden W95 FAT16 (LBA)"
+msgstr "W95 FAT16 (LBA) nascosto"
+
+#: fdisk/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr "NEC DOS"
+
+#: fdisk/i386_sys_types.c:32
+msgid "Plan 9"
+msgstr "Plan 9"
+
+#: fdisk/i386_sys_types.c:33
+msgid "PartitionMagic recovery"
+msgstr "Recupero PartitionMagic"
+
+#: fdisk/i386_sys_types.c:34
+msgid "Venix 80286"
+msgstr "Venix 80286"
+
+#: fdisk/i386_sys_types.c:35
+msgid "PPC PReP Boot"
+msgstr "PPC PReP Boot"
+
+#: fdisk/i386_sys_types.c:36
+msgid "SFS"
+msgstr "SFS"
+
+#: fdisk/i386_sys_types.c:37
+msgid "QNX4.x"
+msgstr "QNX4.x"
+
+#: fdisk/i386_sys_types.c:38
+msgid "QNX4.x 2nd part"
+msgstr "QNX4.x 2a partiz."
+
+#: fdisk/i386_sys_types.c:39
+msgid "QNX4.x 3rd part"
+msgstr "QNX4.x 3rd partiz."
+
+#: fdisk/i386_sys_types.c:40
+msgid "OnTrack DM"
+msgstr "OnTrack DM"
+
+#: fdisk/i386_sys_types.c:41
+msgid "OnTrack DM6 Aux1"
+msgstr "OnTrack DM6 Aux1"
+
+#: fdisk/i386_sys_types.c:42
+msgid "CP/M"
+msgstr "CP/M"
+
+#: fdisk/i386_sys_types.c:43
+msgid "OnTrack DM6 Aux3"
+msgstr "OnTrack DM6 Aux3"
+
+#: fdisk/i386_sys_types.c:44
+msgid "OnTrackDM6"
+msgstr "OnTrackDM6"
+
+#: fdisk/i386_sys_types.c:45
+msgid "EZ-Drive"
+msgstr " EZ-Drive"
+
+#: fdisk/i386_sys_types.c:46
+msgid "Golden Bow"
+msgstr "Golden Bow"
+
+#: fdisk/i386_sys_types.c:47
+msgid "Priam Edisk"
+msgstr "Priam Edisk"
+
+#: fdisk/i386_sys_types.c:48 fdisk/i386_sys_types.c:92
+#: fdisk/i386_sys_types.c:98 fdisk/i386_sys_types.c:99
+msgid "SpeedStor"
+msgstr " SpeedStor"
+
+#: fdisk/i386_sys_types.c:49
+msgid "GNU HURD or SysV"
+msgstr "GNU HURD o SysV"
+
+#: fdisk/i386_sys_types.c:50
+msgid "Novell Netware 286"
+msgstr "Novell Netware 286"
+
+#: fdisk/i386_sys_types.c:51
+msgid "Novell Netware 386"
+msgstr "Novell Netware 386"
+
+#: fdisk/i386_sys_types.c:52
+msgid "DiskSecure Multi-Boot"
+msgstr "DiskSecure Multi-Boot"
+
+#: fdisk/i386_sys_types.c:53
+msgid "PC/IX"
+msgstr "PC/IX"
+
+#: fdisk/i386_sys_types.c:54
+msgid "Old Minix"
+msgstr "Vecchio Minix"
+
+#: fdisk/i386_sys_types.c:55
+msgid "Minix / old Linux"
+msgstr "Minix / vecchio Linux"
+
+#: fdisk/i386_sys_types.c:56
+msgid "Linux swap / Solaris"
+msgstr "Linux swap / Solaris"
+
+#: fdisk/i386_sys_types.c:58
+msgid "OS/2 hidden C: drive"
+msgstr "C nascosto OS/2: drive"
+
+#: fdisk/i386_sys_types.c:59
+msgid "Linux extended"
+msgstr "Linux esteso"
+
+#: fdisk/i386_sys_types.c:60 fdisk/i386_sys_types.c:61
+msgid "NTFS volume set"
+msgstr "set volume NTFS"
+
+#: fdisk/i386_sys_types.c:62
+msgid "Linux plaintext"
+msgstr "Linux plaintext"
+
+#: fdisk/i386_sys_types.c:64
+msgid "Amoeba"
+msgstr "Amoeba"
+
+#: fdisk/i386_sys_types.c:65
+msgid "Amoeba BBT"
+msgstr "Amoeba BBT"
+
+#: fdisk/i386_sys_types.c:66
+msgid "BSD/OS"
+msgstr "BSD/OS"
+
+#: fdisk/i386_sys_types.c:67
+msgid "IBM Thinkpad hibernation"
+msgstr "Ibernazione IBM Thinkpad"
+
+#: fdisk/i386_sys_types.c:68
+msgid "FreeBSD"
+msgstr "FreeBSD"
+
+#: fdisk/i386_sys_types.c:69
+msgid "OpenBSD"
+msgstr "OpenBSD"
+
+#: fdisk/i386_sys_types.c:70
+msgid "NeXTSTEP"
+msgstr "NeXTSTEP"
+
+#: fdisk/i386_sys_types.c:71
+msgid "Darwin UFS"
+msgstr "Darwin UFS"
+
+#: fdisk/i386_sys_types.c:72
+msgid "NetBSD"
+msgstr "NetBSD"
+
+#: fdisk/i386_sys_types.c:73
+msgid "Darwin boot"
+msgstr "Darwin boot"
+
+#: fdisk/i386_sys_types.c:74
+#, fuzzy
+msgid "HFS / HFS+"
+msgstr "OS/2 HPFS"
+
+#: fdisk/i386_sys_types.c:75
+msgid "BSDI fs"
+msgstr "BSDI fs"
+
+#: fdisk/i386_sys_types.c:76
+msgid "BSDI swap"
+msgstr "BSDI swap"
+
+#: fdisk/i386_sys_types.c:77
+msgid "Boot Wizard hidden"
+msgstr "Boot Wizard hidden"
+
+#: fdisk/i386_sys_types.c:78
+msgid "Solaris boot"
+msgstr "Solaris boot"
+
+#: fdisk/i386_sys_types.c:79
+msgid "Solaris"
+msgstr "Solaris"
+
+#: fdisk/i386_sys_types.c:80
+msgid "DRDOS/sec (FAT-12)"
+msgstr "DRDOS/sec (FAT-12)"
+
+#: fdisk/i386_sys_types.c:81
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr "DRDOS/sec (FAT-16 < 32M)"
+
+#: fdisk/i386_sys_types.c:82
+msgid "DRDOS/sec (FAT-16)"
+msgstr "DRDOS/sec (FAT-16)"
+
+#: fdisk/i386_sys_types.c:83
+msgid "Syrinx"
+msgstr "Syrinx"
+
+#: fdisk/i386_sys_types.c:84
+msgid "Non-FS data"
+msgstr "Non-FS data"
+
+#: fdisk/i386_sys_types.c:85
+msgid "CP/M / CTOS / ..."
+msgstr "CP/M / CTOS / ..."
+
+#: fdisk/i386_sys_types.c:87
+msgid "Dell Utility"
+msgstr "Dell Utility"
+
+#: fdisk/i386_sys_types.c:88
+#, fuzzy
+msgid "BootIt"
+msgstr "Avvio"
+
+#: fdisk/i386_sys_types.c:89
+msgid "DOS access"
+msgstr "accesso DOS"
+
+#: fdisk/i386_sys_types.c:91
+msgid "DOS R/O"
+msgstr "DOS R/O"
+
+#: fdisk/i386_sys_types.c:94
+msgid "BeOS fs"
+msgstr "BeOS fs"
+
+#: fdisk/i386_sys_types.c:95
+#, fuzzy
+msgid "GPT"
+msgstr "EFI GPT"
+
+#: fdisk/i386_sys_types.c:96
+msgid "EFI (FAT-12/16/32)"
+msgstr "EFI (FAT-12/16/32)"
+
+#: fdisk/i386_sys_types.c:97
+msgid "Linux/PA-RISC boot"
+msgstr "Linux/PA-RISC boot"
+
+#: fdisk/i386_sys_types.c:100
+msgid "DOS secondary"
+msgstr "DOS secondario"
+
+#: fdisk/i386_sys_types.c:101
+msgid "VMware VMFS"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:102
+msgid "VMware VMKCORE"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:106
+msgid "LANstep"
+msgstr "LANstep"
+
+#: fdisk/i386_sys_types.c:107
+msgid "BBT"
+msgstr "BBT"
+
+#: fdisk/sfdisk.c:179
+#, c-format
+msgid "seek error on %s - cannot seek to %lu\n"
+msgstr "errore di ricerca su %s - impossibile ricercare a %lu\n"
+
+#: fdisk/sfdisk.c:184
+#, 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"
+
+#: fdisk/sfdisk.c:230
+msgid "out of memory - giving up\n"
+msgstr "memoria insufficiente - termina\n"
+
+#: fdisk/sfdisk.c:235 fdisk/sfdisk.c:318
+#, c-format
+msgid "read error on %s - cannot read sector %lu\n"
+msgstr "errore in lettura su %s - impossibile leggere il settore %lu\n"
+
+#: fdisk/sfdisk.c:253
+#, c-format
+msgid "ERROR: sector %lu does not have an msdos signature\n"
+msgstr "ERRORE: il settore %lu non ha una firma msdos\n"
+
+#: fdisk/sfdisk.c:268
+#, c-format
+msgid "write error on %s - cannot write sector %lu\n"
+msgstr "errore di scrittura su %s - impossibile scrivere il settore %lu\n"
+
+#: fdisk/sfdisk.c:306
+#, c-format
+msgid "cannot open partition sector save file (%s)\n"
+msgstr "impossibile aprire il file di salvataggio settore partizione (%s)\n"
+
+#: fdisk/sfdisk.c:324
+#, c-format
+msgid "write error on %s\n"
+msgstr "errore di scrittura su %s\n"
+
+#: fdisk/sfdisk.c:350
+#, c-format
+msgid "cannot stat partition restore file (%s)\n"
+msgstr "impossibile eseguire stat del file di ripristino partizione (%s)\n"
+
+#: fdisk/sfdisk.c:355
+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"
+
+#: fdisk/sfdisk.c:359
+msgid "out of memory?\n"
+msgstr "memoria insufficiente?\n"
+
+#: fdisk/sfdisk.c:365
+#, c-format
+msgid "cannot open partition restore file (%s)\n"
+msgstr "impossibile aprire il file di ripristino partizione (%s)\n"
+
+#: fdisk/sfdisk.c:371
+#, c-format
+msgid "error reading %s\n"
+msgstr "errore durante la lettura di %s\n"
+
+#: fdisk/sfdisk.c:378
+#, c-format
+msgid "cannot open device %s for writing\n"
+msgstr "impossibile aprire il dispositivo %s per scrivere\n"
+
+#: fdisk/sfdisk.c:390
+#, c-format
+msgid "error writing sector %lu on %s\n"
+msgstr "errore durante la scrittura del settore %lu su %s\n"
+
+#: fdisk/sfdisk.c:455
+#, c-format
+msgid "Disk %s: cannot get geometry\n"
+msgstr "Disco %s: impossibile ottenere la geometria\n"
+
+#: fdisk/sfdisk.c:472
+#, c-format
+msgid "Disk %s: cannot get size\n"
+msgstr "Disco %s: impossibile ottenere la dimensione\n"
+
+#: fdisk/sfdisk.c:505
+#, 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"
+
+#: fdisk/sfdisk.c:512
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu heads\n"
+msgstr "Attenzione: HDIO_GETGEO dice che vi sono %lu testine\n"
+
+#: fdisk/sfdisk.c:515
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu sectors\n"
+msgstr "Attenzione: HDIO_GETGEO dice che vi sono %lu settori\n"
+
+#: fdisk/sfdisk.c:519
+#, 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"
+
+#: fdisk/sfdisk.c:524
+#, 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"
+
+#: fdisk/sfdisk.c:528
+#, 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"
+
+#: fdisk/sfdisk.c:610
+#, 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"
+
+#: fdisk/sfdisk.c:615
+#, 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"
+
+#: fdisk/sfdisk.c:620
+#, 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"
+
+#: fdisk/sfdisk.c:660
+#, c-format
+msgid ""
+"Id  Name\n"
+"\n"
+msgstr ""
+"Nome Id\n"
+"\n"
+
+#: fdisk/sfdisk.c:821
+#, c-format
+msgid "Re-reading the partition table ...\n"
+msgstr "Rilettura della tabella delle partizioni in corso...\n"
+
+#: fdisk/sfdisk.c:827
+#, 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"
+
+#: fdisk/sfdisk.c:833
+#, c-format
+msgid "Error closing %s\n"
+msgstr "Errore durante la chiusura di %s\n"
+
+#: fdisk/sfdisk.c:871
+#, c-format
+msgid "%s: no such partition\n"
+msgstr "%s: nessuna partizione di questo tipo\n"
+
+#: fdisk/sfdisk.c:894
+msgid "unrecognized format - using sectors\n"
+msgstr "formato non riconosciuto - utilizzo dei settori in corso\n"
+
+#: fdisk/sfdisk.c:944
+#, c-format
+msgid "unimplemented format - using %s\n"
+msgstr "formato non implementato - utilizzo di %s in corso\n"
+
+#: fdisk/sfdisk.c:948
+#, 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"
+
+#: fdisk/sfdisk.c:951
+#, fuzzy, c-format
+msgid "   Device Boot Start     End   #cyls    #blocks   Id  System\n"
+msgstr ""
+"   Dispositivo Boot Inizio      Fine   #cilin.   #blocchi   Id  Sistema\n"
+
+#: fdisk/sfdisk.c:956
+#, c-format
+msgid ""
+"Units = sectors of 512 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Unità = settori di 512 byte, conteggiando da %d\n"
+"\n"
+
+#: fdisk/sfdisk.c:958
+#, fuzzy, c-format
+msgid "   Device Boot    Start       End   #sectors  Id  System\n"
+msgstr "   Dispositivo Boot    Inizio      Fine  #settori Id  Sistema\n"
+
+#: fdisk/sfdisk.c:961
+#, c-format
+msgid ""
+"Units = blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Unità = blocchi di 1024 byte, conteggiando da %d\n"
+"\n"
+
+#: fdisk/sfdisk.c:963
+#, fuzzy, c-format
+msgid "   Device Boot   Start       End    #blocks   Id  System\n"
+msgstr "   Dispositivo  Boot  Inizio       Fine  #blocchi  Id  Sistema\n"
+
+#: fdisk/sfdisk.c:966
+#, c-format
+msgid ""
+"Units = mebibytes of 1048576 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"
+
+#: fdisk/sfdisk.c:968
+#, fuzzy, c-format
+msgid "   Device Boot Start   End    MiB    #blocks   Id  System\n"
+msgstr "   Dispositivo Inizio Boot   Fine    MB   #blocchi  Id  Sistema\n"
+
+#: fdisk/sfdisk.c:1128
+#, 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"
+
+#: fdisk/sfdisk.c:1135
+#, 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"
+
+#: fdisk/sfdisk.c:1138
+#, 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"
+
+#: fdisk/sfdisk.c:1148
+msgid "No partitions found\n"
+msgstr "Non si è trovata alcuna partizione\n"
+
+#: fdisk/sfdisk.c:1152
+#, 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"
+
+#: fdisk/sfdisk.c:1201
+msgid "no partition table present.\n"
+msgstr "nessuna tabella delle partizioni presente.\n"
+
+#: fdisk/sfdisk.c:1203
+#, c-format
+msgid "strange, only %d partitions defined.\n"
+msgstr "strano, sono definite solo %d partizioni.\n"
+
+#: fdisk/sfdisk.c:1212
+#, 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"
+
+#: fdisk/sfdisk.c:1215
+#, c-format
+msgid "Warning: partition %s has size 0 and is bootable\n"
+msgstr "Attenzione: la partizione %s ha dimensione 0 ed è avviabile\n"
+
+#: fdisk/sfdisk.c:1218
+#, 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"
+
+#: fdisk/sfdisk.c:1229
+#, c-format
+msgid "Warning: partition %s "
+msgstr "Attenzione: la partizione %s "
+
+#: fdisk/sfdisk.c:1230
+#, c-format
+msgid "is not contained in partition %s\n"
+msgstr "non è contenuta nella partizione %s\n"
+
+#: fdisk/sfdisk.c:1241
+#, c-format
+msgid "Warning: partitions %s "
+msgstr "Attenzione: le partizioni %s "
+
+#: fdisk/sfdisk.c:1242
+#, c-format
+msgid "and %s overlap\n"
+msgstr "e %s si sovrappongono\n"
+
+#: fdisk/sfdisk.c:1253
+#, c-format
+msgid ""
+"Warning: partition %s contains part of the partition table (sector %lu),\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"
+
+#: fdisk/sfdisk.c:1265
+#, c-format
+msgid "Warning: partition %s starts at sector 0\n"
+msgstr "Attenzione: la partizione %s inizia al settore 0\n"
+
+#: fdisk/sfdisk.c:1269
+#, 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"
+
+#: fdisk/sfdisk.c:1284
+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"
+
+#: fdisk/sfdisk.c:1302
+#, 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"
+
+#: fdisk/sfdisk.c:1308
+#, 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"
+
+#: fdisk/sfdisk.c:1326
+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"
+
+#: fdisk/sfdisk.c:1333
+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"
+
+#: fdisk/sfdisk.c:1339
+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"
+
+#: fdisk/sfdisk.c:1353
+msgid "start"
+msgstr "inizio"
+
+#: fdisk/sfdisk.c:1356
+#, 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"
+
+#: fdisk/sfdisk.c:1362
+msgid "end"
+msgstr "fine"
+
+#: fdisk/sfdisk.c:1365
+#, 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"
+
+#: fdisk/sfdisk.c:1368
+#, 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"
+
+#: fdisk/sfdisk.c:1393
+#, c-format
+msgid ""
+"Warning: shifted start of the extd partition from %ld to %ld\n"
+"(For listing purposes only. Do not change its contents.)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1399
+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"
+
+#: fdisk/sfdisk.c:1417 fdisk/sfdisk.c:1494
+#, c-format
+msgid "too many partitions - ignoring those past nr (%d)\n"
+msgstr "troppe partizioni - sto ignorando quei numeri passati (%d)\n"
+
+#: fdisk/sfdisk.c:1432
+msgid "tree of partitions?\n"
+msgstr "struttura delle partizioni?\n"
+
+#: fdisk/sfdisk.c:1540
+msgid "detected Disk Manager - unable to handle that\n"
+msgstr "rilevato l'amministratore del disco - impossibile da gestire\n"
+
+#: fdisk/sfdisk.c:1547
+msgid "DM6 signature found - giving up\n"
+msgstr "trovata firma DM6 - termina\n"
+
+#: fdisk/sfdisk.c:1567
+msgid "strange..., an extended partition of size 0?\n"
+msgstr "strano..., una partizione estesa di dimensione 0?\n"
+
+#: fdisk/sfdisk.c:1574 fdisk/sfdisk.c:1585
+msgid "strange..., a BSD partition of size 0?\n"
+msgstr "strano..., una partizione BSD di dimensione 0?\n"
+
+#: fdisk/sfdisk.c:1619
+#, c-format
+msgid " %s: unrecognized partition table type\n"
+msgstr " %s: tipo di tabella delle partizioni non riconosciuto\n"
+
+#: fdisk/sfdisk.c:1631
+msgid "-n flag was given: Nothing changed\n"
+msgstr "flag -n dato: nessuna modifica\n"
+
+#: fdisk/sfdisk.c:1647
+msgid "Failed saving the old sectors - aborting\n"
+msgstr "Salvataggio dei vecchi settori non riuscito - interruzione in corso\n"
+
+#: fdisk/sfdisk.c:1652
+#, c-format
+msgid "Failed writing the partition on %s\n"
+msgstr "Scrittura della partizione su %s non riuscita\n"
+
+#: fdisk/sfdisk.c:1729
+msgid "long or incomplete input line - quitting\n"
+msgstr "linea di input lunga o incompleta - uscita in corso\n"
+
+#: fdisk/sfdisk.c:1765
+#, c-format
+msgid "input error: `=' expected after %s field\n"
+msgstr "errore di input: \"=\" previsto dopo il campo %s\n"
+
+#: fdisk/sfdisk.c:1772
+#, c-format
+msgid "input error: unexpected character %c after %s field\n"
+msgstr "errore di input: carattere non previsto %c dopo il campo %s\n"
+
+#: fdisk/sfdisk.c:1778
+#, c-format
+msgid "unrecognized input: %s\n"
+msgstr "input non riconosciuto: %s\n"
+
+#: fdisk/sfdisk.c:1820
+msgid "number too big\n"
+msgstr "numero troppo grande\n"
+
+#: fdisk/sfdisk.c:1824
+msgid "trailing junk after number\n"
+msgstr "segni strani dopo il numero\n"
+
+#: fdisk/sfdisk.c:1948
+msgid "no room for partition descriptor\n"
+msgstr "non c'è spazio per il descrittore di partizione\n"
+
+#: fdisk/sfdisk.c:1981
+msgid "cannot build surrounding extended partition\n"
+msgstr "impossibile costituire una partizione estesa adiacente\n"
+
+#: fdisk/sfdisk.c:2032
+msgid "too many input fields\n"
+msgstr "troppi campi di input\n"
+
+#: fdisk/sfdisk.c:2066
+msgid "No room for more\n"
+msgstr "Non c'è spazio per altri\n"
+
+#: fdisk/sfdisk.c:2085
+msgid "Illegal type\n"
+msgstr "Tipo non valido\n"
+
+#: fdisk/sfdisk.c:2117
+#, 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"
+
+#: fdisk/sfdisk.c:2123
+msgid "Warning: empty partition\n"
+msgstr "Attenzione: partizione vuota\n"
+
+#: fdisk/sfdisk.c:2137
+#, c-format
+msgid "Warning: bad partition start (earliest %lu)\n"
+msgstr "Attenzione: inizio partizione non valido (%lu troppo anticipato)\n"
+
+#: fdisk/sfdisk.c:2150
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr "flag avviabile non riconosciuto - scegliere - o *\n"
+
+#: fdisk/sfdisk.c:2167 fdisk/sfdisk.c:2180
+msgid "partial c,h,s specification?\n"
+msgstr "Specificazione c,h,s parziale?\n"
+
+#: fdisk/sfdisk.c:2191
+msgid "Extended partition not where expected\n"
+msgstr "partizione estesa in posizione non prevista\n"
+
+#: fdisk/sfdisk.c:2223
+msgid "bad input\n"
+msgstr "input non valido\n"
+
+#: fdisk/sfdisk.c:2245
+msgid "too many partitions\n"
+msgstr "troppe partizioni\n"
+
+#: fdisk/sfdisk.c:2278
+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"
+
+#: fdisk/sfdisk.c:2304
+#, c-format
+msgid "Usage: %s [options] device ...\n"
+msgstr "Uso: %s [opzioni] dispositivo...\n"
+
+#: fdisk/sfdisk.c:2305
+msgid "device: something like /dev/hda or /dev/sda"
+msgstr "dispositivo: qualcosa come /dev/hda o /dev/sda"
+
+#: fdisk/sfdisk.c:2306
+msgid "useful options:"
+msgstr "opzioni utili:"
+
+#: fdisk/sfdisk.c:2307
+msgid "    -s [or --show-size]: list size of a partition"
+msgstr "    -s [o --show-size]: elenco dimensioni di una partizione"
+
+#: fdisk/sfdisk.c:2308
+msgid "    -c [or --id]:        print or change partition Id"
+msgstr "    -c [o --id]:        stampa o modifica dell'Id della partizione"
+
+#: fdisk/sfdisk.c:2309
+msgid "    -l [or --list]:      list partitions of each device"
+msgstr "    -l [o --list]:      elenco delle partizioni di ciascun dispositivo"
+
+#: fdisk/sfdisk.c:2310
+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"
+
+#: fdisk/sfdisk.c:2311
+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"
+
+#: fdisk/sfdisk.c:2312
+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"
+
+#: fdisk/sfdisk.c:2313
+msgid "    -T [or --list-types]:list the known partition types"
+msgstr "    -T [o --list-types]:elenca i tipi di partizione conosciuti"
+
+#: fdisk/sfdisk.c:2314
+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"
+
+#: fdisk/sfdisk.c:2315
+msgid "    -R [or --re-read]:   make kernel reread partition table"
+msgstr ""
+"    -R [o --re-read]:   fa rileggere al kernel la tabella delle partizioni"
+
+#: fdisk/sfdisk.c:2316
+msgid "    -N# :                change only the partition with number #"
+msgstr "    -N# :                modifica solamente la partizione con numero #"
+
+#: fdisk/sfdisk.c:2317
+msgid "    -n :                 do not actually write to disk"
+msgstr "    -n :                 non scrive realmente sul disco"
+
+#: fdisk/sfdisk.c:2318
+msgid ""
+"    -O file :            save the sectors that will be overwritten to file"
+msgstr ""
+"    -O file :            salva sul file i settori che verranno sovrascritti"
+
+#: fdisk/sfdisk.c:2319
+msgid "    -I file :            restore these sectors again"
+msgstr "    -I file :            ripristina questi settori nuovamente"
+
+#: fdisk/sfdisk.c:2320
+msgid "    -v [or --version]:   print version"
+msgstr "    -v [o --version]:   stampa versione"
+
+#: fdisk/sfdisk.c:2321
+msgid "    -? [or --help]:      print this message"
+msgstr "    -? [o --help]:     stampa questo messaggio"
+
+#: fdisk/sfdisk.c:2322
+msgid "dangerous options:"
+msgstr "opzioni pericolose:"
+
+#: fdisk/sfdisk.c:2323
+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"
+
+#: fdisk/sfdisk.c:2324
+msgid ""
+"    -G [or --show-pt-geometry]: print geometry guessed from the partition "
+"table"
+msgstr ""
+"    -G [o --show-pt-geometry]: stampa la geometria stimata in base alla\n"
+"                               tabella delle partizioni"
+
+#: fdisk/sfdisk.c:2325
+msgid ""
+"    -x [or --show-extended]: also list extended partitions on output\n"
+"                             or expect descriptors for them on input"
+msgstr ""
+"    -x [o --show-extended]: elenca anche le partizioni estese in output\n"
+"                            o prevede i rispettivi descrittori in input"
+
+#: fdisk/sfdisk.c:2327
+msgid ""
+"    -L  [or --Linux]:      do not complain about things irrelevant for Linux"
+msgstr "    -L  [o --Linux]:      non segnala le cose irrilevanti per Linux"
+
+#: fdisk/sfdisk.c:2328
+msgid "    -q  [or --quiet]:      suppress warning messages"
+msgstr "    -q  [o --quiet]:      elimina i messaggi di avvertimento"
+
+#: fdisk/sfdisk.c:2329
+msgid "    You can override the detected geometry using:"
+msgstr "    È possibile non usare la geometria rilevata utilizzando:"
+
+#: fdisk/sfdisk.c:2330
+msgid "    -C# [or --cylinders #]:set the number of cylinders to use"
+msgstr "    -C# [o --cylindres #]:imposta il numero di cilindri da utilizzare"
+
+#: fdisk/sfdisk.c:2331
+msgid "    -H# [or --heads #]:    set the number of heads to use"
+msgstr "    -H# [o --heads #]:    imposta il numero di testine da utilizzare"
+
+#: fdisk/sfdisk.c:2332
+msgid "    -S# [or --sectors #]:  set the number of sectors to use"
+msgstr "    -S# [o --sectors #]:  imposta il numero di settori da utilizzare"
+
+#: fdisk/sfdisk.c:2333
+msgid "You can disable all consistency checking with:"
+msgstr "È possibile disattivare tutte le verifiche di coerenza con:"
+
+#: fdisk/sfdisk.c:2334
+msgid "    -f  [or --force]:      do what I say, even if it is stupid"
+msgstr "    -f  [o --force]:      fa ciò che dico, anche se è stupido"
+
+#: fdisk/sfdisk.c:2340
+msgid "Usage:"
+msgstr "Uso:"
+
+#: fdisk/sfdisk.c:2341
+#, 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"
+
+#: fdisk/sfdisk.c:2342
+#, 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"
+
+#: fdisk/sfdisk.c:2343
+#, 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"
+
+#: fdisk/sfdisk.c:2463
+#, 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 ""
+
+#: fdisk/sfdisk.c:2466
+#, fuzzy, c-format
+msgid "Use the --force flag to overrule this check.\n"
+msgstr "Utilizzare il flag -force per oltrepassare tutti i controlli.\n"
+
+#: fdisk/sfdisk.c:2505
+msgid "no command?\n"
+msgstr "nessun comando?\n"
+
+#: fdisk/sfdisk.c:2637
+#, c-format
+msgid "total: %llu blocks\n"
+msgstr "totale: %llu blocchi\n"
+
+#: fdisk/sfdisk.c:2680
+msgid "usage: sfdisk --print-id device partition-number\n"
+msgstr "Uso: sfdisk --print-id numero partizione dispositivo\n"
+
+#: fdisk/sfdisk.c:2682
+msgid "usage: sfdisk --change-id device partition-number Id\n"
+msgstr "Uso: sfdisk --change-id numero partizione dispositivo Id\n"
+
+#: fdisk/sfdisk.c:2684
+msgid "usage: sfdisk --id device partition-number [Id]\n"
+msgstr "Uso: sfdisk --id numero partizione dispositivo [Id]\n"
+
+#: fdisk/sfdisk.c:2691
+msgid "can specify only one device (except with -l or -s)\n"
+msgstr ""
+"è possibile specificare solamente un dispositivo(eccetto con -l o -s)\n"
+
+#: fdisk/sfdisk.c:2717
+#, c-format
+msgid "cannot open %s read-write\n"
+msgstr "impossibile aprire %s in lettura e scrittura\n"
+
+#: fdisk/sfdisk.c:2719
+#, c-format
+msgid "cannot open %s for reading\n"
+msgstr "impossibile aprire %s in lettura\n"
+
+#: fdisk/sfdisk.c:2744
+#, c-format
+msgid "%s: OK\n"
+msgstr "%s: OK\n"
+
+#: fdisk/sfdisk.c:2763 fdisk/sfdisk.c:2796
+#, c-format
+msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+msgstr "%s: %ld cilindri, %ld testine, %ld settori/traccie\n"
+
+#: fdisk/sfdisk.c:2815
+#, c-format
+msgid "Cannot get size of %s\n"
+msgstr "impossibile ottenere la dimensione di %s\n"
+
+#: fdisk/sfdisk.c:2895
+#, c-format
+msgid "bad active byte: 0x%x instead of 0x80\n"
+msgstr "byte attivo non valido: 0x%x al posto di 0x80\n"
+
+#: fdisk/sfdisk.c:2913 fdisk/sfdisk.c:2968 fdisk/sfdisk.c:3001
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+"Fine\n"
+"\n"
+
+#: fdisk/sfdisk.c:2922
+#, 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"
+
+#: fdisk/sfdisk.c:2938
+#, c-format
+msgid "partition %s has id %x and is not hidden\n"
+msgstr "la partizione %s ha id %x e non è nascosta\n"
+
+#: fdisk/sfdisk.c:2997
+#, c-format
+msgid "Bad Id %lx\n"
+msgstr "Id non valido %lx\n"
+
+#: fdisk/sfdisk.c:3014
+msgid "This disk is currently in use.\n"
+msgstr "Questo disco è attualmente in uso.\n"
+
+#: fdisk/sfdisk.c:3033
+#, c-format
+msgid "Fatal error: cannot find %s\n"
+msgstr "Errore irreversibile: impossibile trovare %s\n"
+
+#: fdisk/sfdisk.c:3036
+#, c-format
+msgid "Warning: %s is not a block device\n"
+msgstr "Attenzione: %s non è un dispositivo a blocchi\n"
+
+#: fdisk/sfdisk.c:3042
+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"
+
+#: fdisk/sfdisk.c:3044
+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"
+
+#: fdisk/sfdisk.c:3048
+msgid "Use the --force flag to overrule all checks.\n"
+msgstr "Utilizzare il flag -force per oltrepassare tutti i controlli.\n"
+
+#: fdisk/sfdisk.c:3052
+msgid "OK\n"
+msgstr "OK\n"
+
+#: fdisk/sfdisk.c:3061
+#, c-format
+msgid "Old situation:\n"
+msgstr "Vecchia situazione:\n"
+
+#: fdisk/sfdisk.c:3065
+#, c-format
+msgid "Partition %d does not exist, cannot change it\n"
+msgstr "La partizione %d non esiste, non è possibile modificarla\n"
+
+#: fdisk/sfdisk.c:3073
+#, c-format
+msgid "New situation:\n"
+msgstr "Nuova situazione:\n"
+
+#: fdisk/sfdisk.c:3078
+msgid ""
+"I don't like these partitions - nothing changed.\n"
+"(If you really want this, use the --force option.)\n"
+msgstr ""
+"Queste partizioni non mi piacciono - nessuna modifica\n"
+"(se questo è quanto si desidera, utilizzare l'opzione --force.)\n"
+
+#: fdisk/sfdisk.c:3081
+msgid "I don't like this - probably you should answer No\n"
+msgstr "Questo non mi piace - probabilmente si dovrebbe rispondere no\n"
+
+#: fdisk/sfdisk.c:3086
+#, c-format
+msgid "Are you satisfied with this? [ynq] "
+msgstr "Soddisfatti di questo? [ynq] "
+
+#: fdisk/sfdisk.c:3088
+#, c-format
+msgid "Do you want to write this to disk? [ynq] "
+msgstr "Scrivere questo su disco? [ynq] "
+
+#: fdisk/sfdisk.c:3093
+#, c-format
+msgid ""
+"\n"
+"sfdisk: premature end of input\n"
+msgstr ""
+"\n"
+"sfdisk: fine prematura dell'input\n"
+
+#: fdisk/sfdisk.c:3095
+msgid "Quitting - nothing changed\n"
+msgstr "Uscita in corso - nessuna modifica\n"
+
+#: fdisk/sfdisk.c:3101
+#, c-format
+msgid "Please answer one of y,n,q\n"
+msgstr "Scegliere un'opzione per la risposta tra y,n,q\n"
+
+#: fdisk/sfdisk.c:3109
+#, c-format
+msgid ""
+"Successfully wrote the new partition table\n"
+"\n"
+msgstr ""
+"La nuova tabella delle partizioni è stata scritta con successo\n"
+"\n"
+
+#: fdisk/sfdisk.c:3115
+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"
+
+#: fsck/fsck.c:327
+#, fuzzy, c-format
+msgid "WARNING: couldn't open %s: %s\n"
+msgstr "%s: impossibile aprire %s: %s\n"
+
+#: fsck/fsck.c:337
+#, c-format
+msgid "WARNING: bad format on line %d of %s\n"
+msgstr ""
+
+#: fsck/fsck.c:353
+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 ""
+
+#: fsck/fsck.c:461
+#, fuzzy, c-format
+msgid "fsck: %s: not found\n"
+msgstr "umount: %s: non trovato"
+
+#: fsck/fsck.c:577
+#, c-format
+msgid "%s: wait: No more child process?!?\n"
+msgstr ""
+
+#: fsck/fsck.c:599
+#, c-format
+msgid "Warning... %s for device %s exited with signal %d.\n"
+msgstr ""
+
+#: fsck/fsck.c:605
+#, c-format
+msgid "%s %s: status is %x, should never happen.\n"
+msgstr ""
+
+#: fsck/fsck.c:644
+#, c-format
+msgid "Finished with %s (exit status %d)\n"
+msgstr ""
+
+#: fsck/fsck.c:704
+#, fuzzy, c-format
+msgid "%s: Error %d while executing fsck.%s for %s\n"
+msgstr "%s: errore %d durante la decompressione! %p(%d)\n"
+
+#: fsck/fsck.c:725
+msgid ""
+"Either all or none of the filesystem types passed to -t must be prefixed\n"
+"with 'no' or '!'.\n"
+msgstr ""
+
+#: fsck/fsck.c:744
+#, fuzzy
+msgid "Couldn't allocate memory for filesystem types\n"
+msgstr "mount: si deve specificare il tipo di filesystem"
+
+#: fsck/fsck.c:867
+#, c-format
+msgid ""
+"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass "
+"number\n"
+msgstr ""
+
+#: fsck/fsck.c:894
+#, c-format
+msgid "fsck: cannot check %s: fsck.%s not found\n"
+msgstr ""
+
+#: fsck/fsck.c:950
+#, fuzzy
+msgid "Checking all file systems.\n"
+msgstr "Forzatura controllo filesystem su %s in corso.\n"
+
+#: fsck/fsck.c:1041
+#, c-format
+msgid "--waiting-- (pass %d)\n"
+msgstr ""
+
+#: fsck/fsck.c:1061
+#, fuzzy
+msgid ""
+"Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]\n"
+msgstr "Uso: mkfs [-V] [-t tipofs] [opzioni-fs] dispositivo [dimensione]\n"
+
+#: fsck/fsck.c:1099
+#, fuzzy, c-format
+msgid "%s: too many devices\n"
+msgstr "%s: %s no è un lp device.\n"
+
+#: fsck/fsck.c:1110
+#, fuzzy, c-format
+msgid "Couldn't open %s: %s\n"
+msgstr "Impossibile aprire %s: %s\n"
+
+#: fsck/fsck.c:1112
+#, fuzzy, c-format
+msgid "Is /proc mounted?\n"
+msgstr "eseguito umount di %s\n"
+
+#: fsck/fsck.c:1121
+#, c-format
+msgid "Must be root to scan for matching filesystems: %s\n"
+msgstr ""
+
+#: fsck/fsck.c:1124
+#, fuzzy, c-format
+msgid "Couldn't find matching filesystem: %s\n"
+msgstr "Smontaggio in corso di qualsiasi filesystem rimanente..."
+
+#: fsck/fsck.c:1132 fsck/fsck.c:1218
+#, fuzzy, c-format
+msgid "%s: too many arguments\n"
+msgstr "%s: argomento sconosciuto: %s\n"
+
+#: fsck/fsck.c:1252
+#, fuzzy, c-format
+msgid "fsck from %s\n"
+msgstr "%s da %s\n"
+
+#: fsck/fsck.c:1264
+#, fuzzy, c-format
+msgid "%s: Unable to allocate memory for fsck_path\n"
+msgstr "Impossibile allocare il buffer per gli inode"
+
+#: getopt/getopt.c:229
+msgid "Try `getopt --help' for more information.\n"
+msgstr "Provare con \"getopt --help\" per ulteriori informazioni.\n"
+
+#: getopt/getopt.c:295
+msgid "empty long option after -l or --long argument"
+msgstr "opzione lunga vuota dopo parametro -l o --long"
+
+#: getopt/getopt.c:315
+msgid "unknown shell after -s or --shell argument"
+msgstr "shell sconosciuta dopo parametro -s o --shell"
+
+#: getopt/getopt.c:320
+msgid "Usage: getopt optstring parameters\n"
+msgstr "Uso: getopt optstring parametri\n"
+
+#: getopt/getopt.c:321
+msgid "       getopt [options] [--] optstring parameters\n"
+msgstr "      getopt [opzioni] [--] optstring parametri\n"
+
+#: getopt/getopt.c:322
+msgid "       getopt [options] -o|--options optstring [options] [--]\n"
+msgstr "      getopt [opzioni] -o|--options optstring [opzioni] [--]\n"
+
+#: getopt/getopt.c:323
+msgid "              parameters\n"
+msgstr "             parametri\n"
+
+#: getopt/getopt.c:324
+msgid ""
+"  -a, --alternative            Allow long options starting with single -\n"
+msgstr ""
+"  -a, --alternative            Consente le opzioni lunghe che iniziano con "
+"un singolo -\n"
+
+#: getopt/getopt.c:325
+msgid "  -h, --help                   This small usage guide\n"
+msgstr "  -h, --help                   Questa piccola guida all'utilizzo\n"
+
+#: getopt/getopt.c:326
+msgid "  -l, --longoptions=longopts   Long options to be recognized\n"
+msgstr "  -l, --longoptions=longopts   Opzioni lunghe da riconoscere\n"
+
+#: getopt/getopt.c:327
+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"
+
+#: getopt/getopt.c:328
+msgid "  -o, --options=optstring      Short options to be recognized\n"
+msgstr "  -o, --options=optstring      Opzioni brevi da riconoscere\n"
+
+#: getopt/getopt.c:329
+msgid "  -q, --quiet                  Disable error reporting by getopt(3)\n"
+msgstr ""
+"  -q, --quiet                  Disattiva errore riportato da getopt(3)\n"
+
+#: getopt/getopt.c:330
+msgid "  -Q, --quiet-output           No normal output\n"
+msgstr "  -Q, --quiet-output           Nessun output normale\n"
+
+#: getopt/getopt.c:331
+msgid "  -s, --shell=shell            Set shell quoting conventions\n"
+msgstr "  -s, --shell=shell            Imposta la shell \n"
+
+#: getopt/getopt.c:332
+msgid "  -T, --test                   Test for getopt(1) version\n"
+msgstr "  -T, --test                   Prova della versione getopt(1)\n"
+
+# FIXME UPSTREAM: unqote
+#: getopt/getopt.c:333
+msgid "  -u, --unqote                 Do not quote the output\n"
+msgstr "  -u, --unqote                 Non cita l'output\n"
+
+#: getopt/getopt.c:334
+msgid "  -V, --version                Output version information\n"
+msgstr "  -V, --version                Mostra le informazioni sulla versione\n"
+
+#: getopt/getopt.c:388 getopt/getopt.c:447
+msgid "missing optstring argument"
+msgstr "argomento optstring mancante"
+
+#: getopt/getopt.c:435
+#, c-format
+msgid "getopt (enhanced) 1.1.4\n"
+msgstr "getopt (avanzato) 1.1.4\n"
+
+#: getopt/getopt.c:441
+msgid "internal error, contact the author."
+msgstr "errore interno, contattare l'autore."
+
+#: hwclock/cmos.c:176
+#, 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
+#: hwclock/cmos.c:185
+#, c-format
+msgid "Ruffian BCD clock\n"
+msgstr "Orologio BCD Ruffian\n"
+
+#: hwclock/cmos.c:201
+#, c-format
+msgid "clockport adjusted to 0x%x\n"
+msgstr "porta clock regolata su 0x%x\n"
+
+# NdT: TOY = Time Of Year
+#: hwclock/cmos.c:213
+#, c-format
+msgid "funky TOY!\n"
+msgstr ""
+
+#: hwclock/cmos.c:244
+#, c-format
+msgid "%s: atomic %s failed for 1000 iterations!"
+msgstr "%s: %s atomico non è riuscito per 1000 iterazioni!"
+
+#: hwclock/cmos.c:273
+#, c-format
+msgid "cmos_read(): write to control address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:276
+#, c-format
+msgid "cmos_read(): read data address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:307
+#, c-format
+msgid "cmos_write(): write to control address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:311
+#, c-format
+msgid "cmos_write(): write to data address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:574
+#, c-format
+msgid "Cannot open /dev/port: %s"
+msgstr "Impossibile aprire /dev/port: %s"
+
+#: hwclock/cmos.c:581
+#, c-format
+msgid "I failed to get permission because I didn't try.\n"
+msgstr ""
+"Non sono riuscito ad ottenere l'autorizzazione perché non ho provato.\n"
+
+#: hwclock/cmos.c:584
+#, c-format
+msgid "%s is unable to get I/O port access:  the iopl(3) call failed.\n"
+msgstr ""
+"%s non riesce a ottenere l'accesso alla porta I/O:  chiamata iopl(3)non "
+"riuscita.\n"
+
+#: hwclock/cmos.c:587
+#, c-format
+msgid "Probably you need root privileges.\n"
+msgstr "Probabilmente sono necessari privilegi di root.\n"
+
+#: hwclock/hwclock.c:231
+#, 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"
+
+#: hwclock/hwclock.c:232 hwclock/hwclock.c:327
+msgid "UTC"
+msgstr "UTC"
+
+#: hwclock/hwclock.c:232 hwclock/hwclock.c:326
+msgid "local"
+msgstr "locale"
+
+#: hwclock/hwclock.c:312
+#, c-format
+msgid "%s: Warning: unrecognized third line in adjtime file\n"
+msgstr "%s: attenzione: terza linea non riconosciuta nel file adjtime\n"
+
+#: hwclock/hwclock.c:314
+#, c-format
+msgid "(Expected: `UTC' or `LOCAL' or nothing.)\n"
+msgstr "(Previsto: \"UTC\" o \"LOCAL\" o niente.)\n"
+
+#: hwclock/hwclock.c:321
+#, 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"
+
+#: hwclock/hwclock.c:323
+#, c-format
+msgid "Last calibration done at %ld seconds after 1969\n"
+msgstr "Ultima calibrazione effettuata %ld secondi dopo il 1969\n"
+
+#: hwclock/hwclock.c:325
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr "Il clock hardware è sull'orario %s\n"
+
+#: hwclock/hwclock.c:327
+msgid "unknown"
+msgstr "sconosciuto"
+
+#: hwclock/hwclock.c:351
+#, c-format
+msgid "Waiting for clock tick...\n"
+msgstr "Attesa del segnale dal clock...\n"
+
+#: hwclock/hwclock.c:357
+#, c-format
+msgid "...synchronization failed\n"
+msgstr ""
+
+#: hwclock/hwclock.c:359
+#, c-format
+msgid "...got clock tick\n"
+msgstr "...ricevuto segnale dal clock\n"
+
+#: hwclock/hwclock.c:413
+#, 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"
+
+#: hwclock/hwclock.c:421
+#, 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"
+
+#: hwclock/hwclock.c:451
+#, 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"
+
+#: hwclock/hwclock.c:480
+#, 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"
+
+#: hwclock/hwclock.c:486
+#, c-format
+msgid "Clock not changed - testing only.\n"
+msgstr "Clock non cambiato - solamente verificato.\n"
+
+#: hwclock/hwclock.c:536
+#, 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"
+
+#: hwclock/hwclock.c:572
+#, c-format
+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).\n"
+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"
+
+#: hwclock/hwclock.c:582
+#, c-format
+msgid "%s  %.6f seconds\n"
+msgstr "%s  %.6f secondi\n"
+
+#: hwclock/hwclock.c:616
+#, c-format
+msgid "No --date option specified.\n"
+msgstr "Opzione --date non specificata.\n"
+
+#: hwclock/hwclock.c:622
+#, c-format
+msgid "--date argument too long\n"
+msgstr "--date argomento troppo lungo\n"
+
+#: hwclock/hwclock.c:629
+#, c-format
+msgid ""
+"The value of the --date option is not a valid date.\n"
+"In particular, it contains quotation marks.\n"
+msgstr ""
+"Il valore dell'opzione --date non è una data valida.\n"
+"In particolare, contiene virgolette.\n"
+
+#: hwclock/hwclock.c:637
+#, c-format
+msgid "Issuing date command: %s\n"
+msgstr "Esecuzione comando date: %s\n"
+
+#: hwclock/hwclock.c:641
+msgid "Unable to run 'date' program in /bin/sh shell. popen() failed"
+msgstr ""
+"Impossibile eseguire il programma 'date' nella shell /bin/sh. popen() fallito"
+
+#: hwclock/hwclock.c:649
+#, c-format
+msgid "response from date command = %s\n"
+msgstr "risposta dal comando date = %s\n"
+
+#: hwclock/hwclock.c:651
+#, c-format
+msgid ""
+"The date command issued by %s returned unexpected results.\n"
+"The command was:\n"
+"  %s\n"
+"The response was:\n"
+"  %s\n"
+msgstr ""
+"Il comando date emesso da %s riporta risultati imprevisti.\n"
+"Il comando era:\n"
+"  %s\n"
+"La risposta è stata:\n"
+"  %s\n"
+
+#: hwclock/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"
+
+#: hwclock/hwclock.c:674
+#, 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"
+
+#: hwclock/hwclock.c:706
+#, c-format
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot set the "
+"System Time from it.\n"
+msgstr ""
+"Il clock hardware non contiene un orario valido, perciò non è possibile "
+"impostare l'ora del sistema a partire da esso.\n"
+
+#: hwclock/hwclock.c:728 hwclock/hwclock.c:805
+#, c-format
+msgid "Calling settimeofday:\n"
+msgstr " Chiamata settimeofday in corso:\n"
+
+#: hwclock/hwclock.c:729 hwclock/hwclock.c:807
+#, c-format
+msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+
+#: hwclock/hwclock.c:731 hwclock/hwclock.c:809
+#, c-format
+msgid "\ttz.tz_minuteswest = %d\n"
+msgstr "\ttz.tz_minuteswest = %d\n"
+
+#: hwclock/hwclock.c:734 hwclock/hwclock.c:812
+#, 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"
+
+#: hwclock/hwclock.c:743 hwclock/hwclock.c:821
+#, c-format
+msgid "Must be superuser to set system clock.\n"
+msgstr "Bisogna essere superuser per impostare il clock del sistema\n"
+
+#: hwclock/hwclock.c:746 hwclock/hwclock.c:824
+msgid "settimeofday() failed"
+msgstr " settimeofday() non riuscito"
+
+#: hwclock/hwclock.c:782
+#, c-format
+msgid "Current system time: %ld = %s\n"
+msgstr ""
+
+#: hwclock/hwclock.c:806
+#, c-format
+msgid "\tUTC: %s\n"
+msgstr ""
+
+#: hwclock/hwclock.c:853
+#, 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"
+
+#: hwclock/hwclock.c:858
+#, 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 ""
+
+#: hwclock/hwclock.c:864
+#, 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"
+
+#: hwclock/hwclock.c:912
+#, 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"
+
+#: hwclock/hwclock.c:962
+#, c-format
+msgid "Time since last adjustment is %d seconds\n"
+msgstr "Il tempo trascorso dall'ultima regolazione è di %d secondi\n"
+
+#: hwclock/hwclock.c:964
+#, 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"
+
+#: hwclock/hwclock.c:993
+#, 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"
+
+#: hwclock/hwclock.c:994
+#, c-format
+msgid ""
+"Would have written the following to %s:\n"
+"%s"
+msgstr ""
+"Si sarebbe scritto quanto segue in %s:\n"
+"%s"
+
+#: hwclock/hwclock.c:1002
+#, c-format
+msgid ""
+"Could not open file with the clock adjustment parameters in it (%s) for "
+"writing"
+msgstr ""
+
+#: hwclock/hwclock.c:1007 hwclock/hwclock.c:1012
+#, c-format
+msgid "Could not update file with the clock adjustment parameters (%s) in it"
+msgstr ""
+
+#: hwclock/hwclock.c:1018
+#, c-format
+msgid "Drift adjustment parameters not updated.\n"
+msgstr "Parametri di regolazione della deriva non aggiornati.\n"
+
+#: hwclock/hwclock.c:1059
+#, c-format
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot adjust it.\n"
+msgstr ""
+"Il clock hardware non contiene un'ora valida, perciò non è possibile "
+"regolarlo.\n"
+
+#: hwclock/hwclock.c:1067
+#, c-format
+msgid ""
+"Not setting clock because last adjustment time is zero, so history is bad."
+msgstr ""
+
+#: hwclock/hwclock.c:1090
+#, 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"
+
+#: hwclock/hwclock.c:1116
+#, c-format
+msgid "Using %s.\n"
+msgstr "Utilizzo di %s.\n"
+
+#: hwclock/hwclock.c:1118
+#, c-format
+msgid "No usable clock interface found.\n"
+msgstr "Impossibile trovare un'interfaccia clock utilizzabile.\n"
+
+#: hwclock/hwclock.c:1222 hwclock/hwclock.c:1228
+#, c-format
+msgid "Unable to set system clock.\n"
+msgstr "Impossibile impostare il clock di sistema.\n"
+
+#: hwclock/hwclock.c:1258
+#, c-format
+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.\n"
+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"
+
+#: hwclock/hwclock.c:1267
+#, c-format
+msgid "Unable to get the epoch value from the kernel.\n"
+msgstr "Impossibile ottenere il valore epoch dal kernel.\n"
+
+#: hwclock/hwclock.c:1269
+#, c-format
+msgid "Kernel is assuming an epoch value of %lu\n"
+msgstr "Il kernel pressuppone un valore epoch di %lu\n"
+
+#: hwclock/hwclock.c:1272
+#, c-format
+msgid ""
+"To set the epoch value, you must use the 'epoch' option to tell to what "
+"value to set it.\n"
+msgstr ""
+"Per impostare il valore epoch si deve utilizzare l'opzione 'epoch' per "
+"indicare su quale valore impostarlo.\n"
+
+#: hwclock/hwclock.c:1275
+#, 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"
+
+#: hwclock/hwclock.c:1278
+#, c-format
+msgid "Unable to set the epoch value in the kernel.\n"
+msgstr "Impossibile impostare il valore epoch nel kernel.\n"
+
+#: hwclock/hwclock.c:1291 misc-utils/cal.c:345 misc-utils/kill.c:189
+#, c-format
+msgid "%s from %s\n"
+msgstr "%s da %s\n"
+
+#: hwclock/hwclock.c:1312
+#, fuzzy, c-format
+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"
+"  -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"
+
+#: hwclock/hwclock.c:1347
+#, fuzzy, c-format
+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"
+
+#: hwclock/hwclock.c:1434
+#, fuzzy, c-format
+msgid "%s: Unable to connect to audit system\n"
+msgstr "Impossibile impostare il clock di sistema.\n"
+
+#: hwclock/hwclock.c:1552
+#, 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"
+
+#: hwclock/hwclock.c:1559
+#, c-format
+msgid ""
+"You have specified multiple functions.\n"
+"You can only perform one function at a time.\n"
+msgstr ""
+"Sono state specificate multiple funzioni.\n"
+"È possibile eseguire una sola funzione per volta.\n"
+
+#: hwclock/hwclock.c:1566
+#, c-format
+msgid ""
+"%s: The --utc and --localtime options are mutually exclusive.  You specified "
+"both.\n"
+msgstr ""
+"%s: Le opzioni --utc e -localtime si escludono vicendevolmente. Sono state "
+"specificate entrambe.\n"
+
+#: hwclock/hwclock.c:1573
+#, c-format
+msgid ""
+"%s: The --adjust and --noadjfile options are mutually exclusive.  You "
+"specified both.\n"
+msgstr ""
+"%s: Le opzioni --adjust e -noadjfile si escludono vicendevolmente. Sono "
+"state specificate entrambe.\n"
+
+#: hwclock/hwclock.c:1580
+#, fuzzy, c-format
+msgid ""
+"%s: The --adjfile and --noadjfile options are mutually exclusive.  You "
+"specified both.\n"
+msgstr ""
+"%s: Le opzioni --adjust e -noadjfile si escludono vicendevolmente. Sono "
+"state specificate entrambe.\n"
+
+#: hwclock/hwclock.c:1589
+#, c-format
+msgid "%s: With --noadjfile, you must specify either --utc or --localtime\n"
+msgstr "%s: Con --noadjfile, occorre specificare o --utc o --localtime\n"
+
+#: hwclock/hwclock.c:1603
+#, c-format
+msgid "No usable set-to time.  Cannot set clock.\n"
+msgstr ""
+"Impossibile utilizzare l'ora impostata. Impossibile impostare il clock.\n"
+
+#: hwclock/hwclock.c:1620
+#, c-format
+msgid "Sorry, only the superuser can change the Hardware Clock.\n"
+msgstr ""
+"Spiacente, solamente il superutente può modificare il clock hardware.\n"
+
+#: hwclock/hwclock.c:1625
+#, c-format
+msgid "Sorry, only the superuser can change the System Clock.\n"
+msgstr ""
+"Spiacente, solamente il superutente può modificare il clock di sistema.\n"
+
+#: hwclock/hwclock.c:1630
+#, c-format
+msgid ""
+"Sorry, only the superuser can change the Hardware Clock epoch in the "
+"kernel.\n"
+msgstr ""
+"Solamente il supeutente può modificare l'epoca del clock hardware nel "
+"kernel.\n"
+
+#: hwclock/hwclock.c:1651
+#, c-format
+msgid "Cannot access the Hardware Clock via any known method.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1655
+#, c-format
+msgid ""
+"Use the --debug option to see the details of our search for an access "
+"method.\n"
+msgstr ""
+"Usare l'opzione --debug per vedere i dettagli della ricerca di un metodo di "
+"accesso.\n"
+
+#: hwclock/kd.c:53
+#, c-format
+msgid "Waiting in loop for time from KDGHWCLK to change\n"
+msgstr "Attesa in loop per il cambio ora da KDGHWCLK\n"
+
+#: hwclock/kd.c:56
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr "Lettura dell'orario con KDGHWCLK ioctl non riuscita"
+
+#: hwclock/kd.c:77 hwclock/rtc.c:221
+#, c-format
+msgid "Timed out waiting for time change.\n"
+msgstr "Tempo d'attesa per il cambio ora esaurito.\n"
+
+#: hwclock/kd.c:81
+msgid "KDGHWCLK ioctl to read time failed in loop"
+msgstr "Lettura dell'orario con KDGHWCLK ioctl non riuscita nel loop"
+
+#: hwclock/kd.c:103
+#, c-format
+msgid "ioctl() failed to read time from %s"
+msgstr "ioctl() non è riuscito a leggere l'orario da %s"
+
+#: hwclock/kd.c:139
+msgid "ioctl KDSHWCLK failed"
+msgstr "ioctl KDGHWCLK non riuscito"
+
+#: hwclock/kd.c:175
+msgid "Can't open /dev/tty1 or /dev/vc/1"
+msgstr "Impossibile aprire /dev/tty1 o /dev/vc/1"
+
+#: hwclock/kd.c:179
+msgid "KDGHWCLK ioctl failed"
+msgstr " KDGHWCLK ioctl non riuscito"
+
+#: hwclock/rtc.c:147 hwclock/rtc.c:241
+#, c-format
+msgid "open() of %s failed"
+msgstr "open() di %s fallita"
+
+#: hwclock/rtc.c:181
+#, c-format
+msgid "ioctl() to %s to read the time failed.\n"
+msgstr "Lettura dell'orario attraverso ioctl() su %s non riuscita.\n"
+
+#: hwclock/rtc.c:203
+#, c-format
+msgid "Waiting in loop for time from %s to change\n"
+msgstr "Attesa in loop per il cambio ora da %s\n"
+
+#: hwclock/rtc.c:259
+#, c-format
+msgid "%s does not have interrupt functions. "
+msgstr "%s non ha funzioni di interrupt. "
+
+#: hwclock/rtc.c:270
+#, c-format
+msgid "read() to %s to wait for clock tick failed"
+msgstr "read() su %s per l'attesa del segnale dal clock fallita"
+
+#: hwclock/rtc.c:288
+#, c-format
+msgid "select() to %s to wait for clock tick failed"
+msgstr "select() su %s per l'attesa del segnale dal clock fallita"
+
+#: hwclock/rtc.c:291
+#, c-format
+msgid "select() to %s to wait for clock tick timed out\n"
+msgstr "select() su %s per l'attesa del segnale dal clock scaduta\n"
+
+#: hwclock/rtc.c:300
+#, 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"
+
+#: hwclock/rtc.c:303
+#, 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"
+
+#: hwclock/rtc.c:360
+#, c-format
+msgid "ioctl() to %s to set the time failed.\n"
+msgstr "ioctl() su %s per impostare l'ora non riuscita.\n"
+
+#: hwclock/rtc.c:366
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr "ioctl(%s) ha funzionato.\n"
+
+#: hwclock/rtc.c:392
+#, c-format
+msgid "Open of %s failed"
+msgstr "Apertura di %s non riuscita"
+
+#: hwclock/rtc.c:410 hwclock/rtc.c:454
+#, 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.\n"
+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"
+
+#: hwclock/rtc.c:415 hwclock/rtc.c:459
+#, c-format
+msgid "Unable to open %s"
+msgstr "Impossibile aprire %s"
+
+#: hwclock/rtc.c:422
+#, c-format
+msgid "ioctl(RTC_EPOCH_READ) to %s failed"
+msgstr "ioctl(RTC_EPOCH_READ) su %s non riuscita"
+
+#: hwclock/rtc.c:427
+#, 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"
+
+#: hwclock/rtc.c:446
+#, c-format
+msgid "The epoch value may not be less than 1900.  You requested %ld\n"
+msgstr "Il valore epoch non può essere inferiore a 1900. Si è richiesto %ld\n"
+
+#: hwclock/rtc.c:464
+#, 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"
+
+#: hwclock/rtc.c:469
+#, c-format
+msgid ""
+"The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl.\n"
+msgstr ""
+"Il driver di periferica per il kernel per %s non ha RTC_EPOCH_SET ioctl.\n"
+
+#: hwclock/rtc.c:472
+#, c-format
+msgid "ioctl(RTC_EPOCH_SET) to %s failed"
+msgstr "Non riuscito ioctl(RTC_EPOCH_SET) su %s"
+
+#: login-utils/agetty.c:361
+#, c-format
+msgid "%s: can't exec %s: %m"
+msgstr "%s: exec di %s impossibile: %m"
+
+#: login-utils/agetty.c:384
+msgid "can't malloc initstring"
+msgstr " malloc initstring impossibile"
+
+#: login-utils/agetty.c:449
+#, c-format
+msgid "bad timeout value: %s"
+msgstr "valore di timeout non valido: %s"
+
+#: login-utils/agetty.c:526
+#, c-format
+msgid "bad speed: %s"
+msgstr "velocità non valida: %s"
+
+#: login-utils/agetty.c:528
+msgid "too many alternate speeds"
+msgstr "troppe velocità alternative"
+
+#: login-utils/agetty.c:630
+#, c-format
+msgid "/dev: chdir() failed: %m"
+msgstr "/dev: chdir() non riuscito: %m"
+
+#: login-utils/agetty.c:634
+#, c-format
+msgid "/dev/%s: not a character device"
+msgstr "/dev/%s: non è un dispositivo di caratteri"
+
+#: login-utils/agetty.c:643
+#, c-format
+msgid "/dev/%s: cannot open as standard input: %m"
+msgstr "/dev/%s: impossibile aprire come input standard: %m"
+
+#: login-utils/agetty.c:653
+#, c-format
+msgid "%s: not open for read/write"
+msgstr "%s: non è aperto per lettura/scrittura"
+
+#: login-utils/agetty.c:659
+#, c-format
+msgid "%s: dup problem: %m"
+msgstr "%s: problema dup: %m"
+
+#: login-utils/agetty.c:946
+#, c-format
+msgid "user"
+msgstr "utente"
+
+#: login-utils/agetty.c:946
+#, c-format
+msgid "users"
+msgstr "utenti"
+
+#: login-utils/agetty.c:1031
+#, c-format
+msgid "%s: read: %m"
+msgstr "%s: lettura: %m"
+
+#: login-utils/agetty.c:1078
+#, c-format
+msgid "%s: input overrun"
+msgstr "%s: sovraccarico input"
+
+#: login-utils/agetty.c:1207
+#, fuzzy, c-format
+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 ""
+"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"
+
+#: login-utils/checktty.c:91 login-utils/checktty.c:112
+#, c-format
+msgid "login: memory low, login may fail\n"
+msgstr "login: poca memoria, è possibile che il login non riesca\n"
+
+#: login-utils/checktty.c:92
+msgid "can't malloc for ttyclass"
+msgstr "malloc per ttyclass non possibile"
+
+#: login-utils/checktty.c:113
+msgid "can't malloc for grplist"
+msgstr "malloc per grplist impossibile"
+
+#: login-utils/checktty.c:554
+#, c-format
+msgid "Login on %s from %s denied by default.\n"
+msgstr "Login a %s da %s negato per impostazione predefinita.\n"
+
+#: login-utils/checktty.c:565
+#, c-format
+msgid "Login on %s from %s denied.\n"
+msgstr "Login a %s da %s negato.\n"
+
+# FIXME
+#: login-utils/chfn.c:133 login-utils/chsh.c:119
+#, c-format
+msgid "%s: you (user %d) don't exist.\n"
+msgstr "%s: non si esiste (come utente %d).\n"
+
+#: login-utils/chfn.c:140 login-utils/chsh.c:126
+#, c-format
+msgid "%s: user \"%s\" does not exist.\n"
+msgstr "%s: l'utente \"%s\" non esiste.\n"
+
+#: login-utils/chfn.c:145 login-utils/chsh.c:131
+#, c-format
+msgid "%s: can only change local entries; use yp%s instead.\n"
+msgstr ""
+"%s: è possibile modificare solo le voci locali; utilizzare invece yp%s.\n"
+
+#: login-utils/chfn.c:156 login-utils/chsh.c:142
+msgid "Unknown user context"
+msgstr "Contesto utente sconosciuto"
+
+#: login-utils/chfn.c:157
+#, c-format
+msgid "%s: %s is not authorized to change the finger info of %s\n"
+msgstr "%s: %s non è autorizzato a cambiare le informazioni finger di %s\n"
+
+#: login-utils/chfn.c:164 login-utils/chsh.c:150
+#, c-format
+msgid "%s: Can't set default context for /etc/passwd"
+msgstr "%s: impossibile impostare il contesto predefinito per /etc/passwd"
+
+#: login-utils/chfn.c:178
+#, c-format
+msgid "Changing finger information for %s.\n"
+msgstr "Modifica delle informazioni finger per %s in corso.\n"
+
+#: login-utils/chfn.c:189 login-utils/chsh.c:188 login-utils/login.c:572
+#, fuzzy, c-format
+msgid "%s: PAM failure, aborting: %s\n"
+msgstr "chsh: errore PAM, interruzione in corso: %s\n"
+
+#: login-utils/chfn.c:212 login-utils/chsh.c:211 login-utils/login.c:823
+#: login-utils/newgrp.c:85 login-utils/simpleinit.c:340 mount/lomount.c:744
+#: mount/lomount.c:747
+msgid "Password: "
+msgstr "Password: "
+
+#: login-utils/chfn.c:215 login-utils/chsh.c:214
+msgid "Incorrect password."
+msgstr "Password non corretta."
+
+#: login-utils/chfn.c:226
+#, c-format
+msgid "Finger information not changed.\n"
+msgstr "Le informazioni finger non sono state modificate.\n"
+
+#: login-utils/chfn.c:328
+#, c-format
+msgid "Usage: %s [ -f full-name ] [ -o office ] "
+msgstr "Uso: %s [ -f nome intero ] [ -o ufficio ]"
+
+#: login-utils/chfn.c:329
+#, c-format
+msgid ""
+"[ -p office-phone ]\n"
+"\t[ -h home-phone ] "
+msgstr ""
+"[ -p tel. ufficio]\n"
+"\t[ -h tel. casa ] "
+
+#: login-utils/chfn.c:330
+#, c-format
+msgid "[ --help ] [ --version ]\n"
+msgstr "[ --help ] [ --version ]\n"
+
+#: login-utils/chfn.c:378
+msgid "Office"
+msgstr ""
+
+#: login-utils/chfn.c:379
+msgid "Office Phone"
+msgstr ""
+
+#: login-utils/chfn.c:380
+msgid "Home Phone"
+msgstr ""
+
+#: login-utils/chfn.c:401 login-utils/chsh.c:321
+#, c-format
+msgid ""
+"\n"
+"Aborted.\n"
+msgstr ""
+"\n"
+"interrotto.\n"
+
+#: login-utils/chfn.c:434
+#, c-format
+msgid "field is too long.\n"
+msgstr "il campo è troppo lungo.\n"
+
+#: login-utils/chfn.c:442
+#, c-format
+msgid "'%c' is not allowed.\n"
+msgstr "'%c' non è consentito.\n"
+
+#: login-utils/chfn.c:447
+#, c-format
+msgid "Control characters are not allowed.\n"
+msgstr "Non sono ammessi i caratteri di controllo.\n"
+
+#: login-utils/chfn.c:512
+#, 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:515
+#, c-format
+msgid "Finger information changed.\n"
+msgstr "Le informazioni finger sono state modificate.\n"
+
+#: login-utils/chsh.c:143
+#, c-format
+msgid "%s: %s is not authorized to change the shell of %s\n"
+msgstr "%s: %s non è autorizzato a cambiare la shelldi %s\n"
+
+#: login-utils/chsh.c:164
+#, c-format
+msgid ""
+"%s: Running UID doesn't match UID of user we're altering, shell change "
+"denied\n"
+msgstr ""
+
+#: login-utils/chsh.c:170
+#, c-format
+msgid "%s: Your shell is not in /etc/shells, shell change denied\n"
+msgstr "%s: la shell non è in /etc/shells, modifica della shell negata\n"
+
+#: login-utils/chsh.c:177
+#, c-format
+msgid "Changing shell for %s.\n"
+msgstr "Modifica shell per %s in corso.\n"
+
+#: login-utils/chsh.c:222
+msgid "New shell"
+msgstr "Nuova shell"
+
+#: login-utils/chsh.c:229
+#, c-format
+msgid "Shell not changed.\n"
+msgstr "Shell non modificata.\n"
+
+#: login-utils/chsh.c:235
+#, c-format
+msgid "Shell *NOT* changed.  Try again later.\n"
+msgstr "Shell *NON* modificata.  Riprovare successivamente.\n"
+
+#: login-utils/chsh.c:238
+#, c-format
+msgid "Shell changed.\n"
+msgstr "Shell modificata.\n"
+
+#: login-utils/chsh.c:303
+#, c-format
+msgid ""
+"Usage: %s [ -s shell ] [ --list-shells ] [ --help ] [ --version ]\n"
+"       [ username ]\n"
+msgstr ""
+"Uso: %s [ -s shell ] [ --list-shells ] [ --help ] [ --version ]\n"
+"       [ nomeutente ]\n"
+
+#: login-utils/chsh.c:349
+#, c-format
+msgid "%s: shell must be a full path name.\n"
+msgstr "%s: la shell deve essere un nome percorso completo.\n"
+
+#: login-utils/chsh.c:353
+#, c-format
+msgid "%s: \"%s\" does not exist.\n"
+msgstr "%s: \"%s\" non esiste.\n"
+
+#: login-utils/chsh.c:357
+#, c-format
+msgid "%s: \"%s\" is not executable.\n"
+msgstr "%s: \"%s\" non eseguibile.\n"
+
+#: login-utils/chsh.c:364
+#, c-format
+msgid "%s: '%c' is not allowed.\n"
+msgstr "%s: '%c' non è consentito.\n"
+
+#: login-utils/chsh.c:368
+#, c-format
+msgid "%s: Control characters are not allowed.\n"
+msgstr "%s: Non sono ammessi i caratteri di controllo.\n"
+
+#: login-utils/chsh.c:375 login-utils/chsh.c:385
+#, c-format
+msgid "Warning: \"%s\" is not listed in /etc/shells.\n"
+msgstr "Attenzione: \"%s\" non è elencato in /etc/shells.\n"
+
+#: login-utils/chsh.c:377
+#, c-format
+msgid "%s: \"%s\" is not listed in /etc/shells.\n"
+msgstr "%s: \"%s\" non è elencato in /etc/shells.\n"
+
+#: login-utils/chsh.c:379
+#, fuzzy, c-format
+msgid "%s: Use -l option to see list.\n"
+msgstr "%s: usare l'opzione -l per vedere l'elenco\n"
+
+#: login-utils/chsh.c:386
+#, c-format
+msgid "Use %s -l to see list.\n"
+msgstr "Utilizzare %s -l per consultare l'elenco.\n"
+
+#: login-utils/chsh.c:406
+#, c-format
+msgid "No known shells.\n"
+msgstr "Nessuna shell conosciuta.\n"
+
+#: login-utils/islocal.c:87
+#, fuzzy, c-format
+msgid "Failed to open %s for reading, exiting."
+msgstr "impossibile aprire %s in lettura"
+
+#: login-utils/last.c:148
+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:284
+msgid "  still logged in"
+msgstr "  tuttora collegato"
+
+#: login-utils/last.c:306
+#, c-format
+msgid ""
+"\n"
+"wtmp begins %s"
+msgstr ""
+"\n"
+"wtmp inizia %s"
+
+#: login-utils/last.c:362 login-utils/last.c:380 login-utils/last.c:431
+msgid "last: malloc failure.\n"
+msgstr "last: errore di malloc.\n"
+
+#: login-utils/last.c:407
+msgid "last: gethostname"
+msgstr "last: gethostname"
+
+#: login-utils/last.c:456
+#, c-format
+msgid ""
+"\n"
+"interrupted %10.10s %5.5s \n"
+msgstr ""
+"\n"
+"interrotto %10.10s %5.5s \n"
+
+#: login-utils/login.c:197
+#, c-format
+msgid "FATAL: can't reopen tty: %s"
+msgstr "FATALE: impossibile riaprire la tty: %s"
+
+#: login-utils/login.c:229
+msgid "FATAL: bad tty"
+msgstr "FATALE: tty non valida"
+
+#: login-utils/login.c:436
+#, c-format
+msgid "login: -h for super-user only.\n"
+msgstr "login: -h solamente per super-user.\n"
+
+#: login-utils/login.c:479
+#, c-format
+msgid "usage: login [-fp] [username]\n"
+msgstr "Uso: login [-fp] [nomeutente]\n"
+
+#: login-utils/login.c:574
+#, c-format
+msgid "Couldn't initialize PAM: %s"
+msgstr "Impossibile inizializzare PAM: %s"
+
+#: login-utils/login.c:591
+msgid "login: "
+msgstr "login: "
+
+#: login-utils/login.c:635
+#, c-format
+msgid "FAILED LOGIN %d FROM %s FOR %s, %s"
+msgstr "FALLITO IL LOGIN %d DA %s PER %s, %s"
+
+#: login-utils/login.c:640
+#, c-format
+msgid ""
+"Login incorrect\n"
+"\n"
+msgstr ""
+"Login non corretto\n"
+"\n"
+
+#: login-utils/login.c:649
+#, c-format
+msgid "TOO MANY LOGIN TRIES (%d) FROM %s FOR %s, %s"
+msgstr "TROPPI TENTATIVI DI LOGIN (%d) DA %s PER %s, %s"
+
+#: login-utils/login.c:653
+#, 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:658
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+"\n"
+"Login non corretto\n"
+
+# FIXME
+#: login-utils/login.c:686 login-utils/login.c:693 login-utils/login.c:727
+#, c-format
+msgid ""
+"\n"
+"Session setup problem, abort.\n"
+msgstr ""
+"\n"
+"Problema nell'avviare la sessione, interrotto.\n"
+
+#: login-utils/login.c:687
+#, c-format
+msgid "NULL user name in %s:%d. Abort."
+msgstr "Nome utente NULL in %s:%d. Interrotto."
+
+#: login-utils/login.c:694
+#, 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:713
+#, c-format
+msgid "login: Out of memory\n"
+msgstr "login: memoria esaurita\n"
+
+#: login-utils/login.c:757
+msgid "Illegal username"
+msgstr "Nome utente non valido"
+
+#: login-utils/login.c:800
+#, c-format
+msgid "%s login refused on this terminal.\n"
+msgstr "%s login rifiutato su questo terminale.\n"
+
+#: login-utils/login.c:805
+#, c-format
+msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
+msgstr "LOGIN %s RIFIUTATO DA %s SU TTY %s"
+
+#: login-utils/login.c:809
+#, c-format
+msgid "LOGIN %s REFUSED ON TTY %s"
+msgstr "LOGIN %s RIFIUTATO SU TTY %s"
+
+#: login-utils/login.c:863
+#, c-format
+msgid "Login incorrect\n"
+msgstr "Login non corretto\n"
+
+#: login-utils/login.c:1088
+#, c-format
+msgid "DIALUP AT %s BY %s"
+msgstr " CONNESSIONE DI ACCESSO REMOTO A %s ATTRAVERSO %s"
+
+#: login-utils/login.c:1095
+#, c-format
+msgid "ROOT LOGIN ON %s FROM %s"
+msgstr "LOGIN DI ROOT A %s DA %s"
+
+#: login-utils/login.c:1098
+#, c-format
+msgid "ROOT LOGIN ON %s"
+msgstr "LOGIN DI ROOT A %s"
+
+#: login-utils/login.c:1101
+#, c-format
+msgid "LOGIN ON %s BY %s FROM %s"
+msgstr "LOGIN A %s ATTRAVERSO %s DA %s"
+
+#: login-utils/login.c:1104
+#, c-format
+msgid "LOGIN ON %s BY %s"
+msgstr "LOGIN A %s ATTRAVERSO %s"
+
+#: login-utils/login.c:1125
+#, c-format
+msgid "You have new mail.\n"
+msgstr "C'è nuova posta.\n"
+
+#: login-utils/login.c:1127
+#, c-format
+msgid "You have mail.\n"
+msgstr "C'è posta.\n"
+
+#: login-utils/login.c:1171
+#, c-format
+msgid "login: failure forking: %s"
+msgstr "login: errore in esecuzione del fork: %s"
+
+#: login-utils/login.c:1218
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr "TIOCSCTTY non riuscito: %m"
+
+#: login-utils/login.c:1224
+msgid "setuid() failed"
+msgstr "setuid() non riuscito"
+
+#: login-utils/login.c:1230
+#, c-format
+msgid "No directory %s!\n"
+msgstr "Nessuna directory %s!\n"
+
+#: login-utils/login.c:1234
+#, c-format
+msgid "Logging in with home = \"/\".\n"
+msgstr "Connessione con home = \"/\".\n"
+
+#: login-utils/login.c:1242
+#, c-format
+msgid "login: no memory for shell script.\n"
+msgstr "login: nessuna memoria per lo script shell.\n"
+
+#: login-utils/login.c:1269
+#, c-format
+msgid "login: couldn't exec shell script: %s.\n"
+msgstr "login: exec dello script shell impossibile: %s.\n"
+
+#: login-utils/login.c:1272
+#, c-format
+msgid "login: no shell: %s.\n"
+msgstr "login: nessuna shell: %s.\n"
+
+#: login-utils/login.c:1287
+#, c-format
+msgid ""
+"\n"
+"%s login: "
+msgstr ""
+"\n"
+"%s login: "
+
+#: login-utils/login.c:1298
+#, c-format
+msgid "login name much too long.\n"
+msgstr "il nome di login è troppo lungo.\n"
+
+#: login-utils/login.c:1299
+msgid "NAME too long"
+msgstr "NOME troppo lungo"
+
+#: login-utils/login.c:1306
+#, c-format
+msgid "login names may not start with '-'.\n"
+msgstr "I nomi di login non possono iniziare con'-'.\n"
+
+#: login-utils/login.c:1316
+#, c-format
+msgid "too many bare linefeeds.\n"
+msgstr "troppi linefeed vuoti.\n"
+
+#: login-utils/login.c:1317
+msgid "EXCESSIVE linefeeds"
+msgstr "Linefeed ECCESSIVI"
+
+#: login-utils/login.c:1349
+#, c-format
+msgid "Login timed out after %d seconds\n"
+msgstr "Login scaduto dopo %d secondi\n"
+
+#: login-utils/login.c:1437
+#, c-format
+msgid "Last login: %.*s "
+msgstr "Ultimo login: %.*s "
+
+#: login-utils/login.c:1441
+#, c-format
+msgid "from %.*s\n"
+msgstr "da %.*s\n"
+
+#: login-utils/login.c:1444
+#, c-format
+msgid "on %.*s\n"
+msgstr "su %.*s\n"
+
+#: login-utils/login.c:1470
+#, c-format
+msgid "LOGIN FAILURE FROM %s, %s"
+msgstr "ERRORE DI LOGIN DA %s, %s"
+
+#: login-utils/login.c:1473
+#, c-format
+msgid "LOGIN FAILURE ON %s, %s"
+msgstr "ERRORE DI LOGIN SU %s, %s"
+
+#: login-utils/login.c:1477
+#, c-format
+msgid "%d LOGIN FAILURES FROM %s, %s"
+msgstr "%d ERRORI DI LOGIN DA %s, %s"
+
+#: login-utils/login.c:1480
+#, c-format
+msgid "%d LOGIN FAILURES ON %s, %s"
+msgstr "%d ERRORI DI LOGIN SU %s, %s"
+
+#: login-utils/mesg.c:89
+#, c-format
+msgid "is y\n"
+msgstr "è s\n"
+
+#: login-utils/mesg.c:92
+#, c-format
+msgid "is n\n"
+msgstr "è n\n"
+
+#: login-utils/mesg.c:112
+#, c-format
+msgid "usage: mesg [y | n]\n"
+msgstr "Uso: mesg [s | n]\n"
+
+#: login-utils/newgrp.c:105
+msgid "newgrp: Who are you?"
+msgstr "newgrp: chi sei?"
+
+#: login-utils/newgrp.c:113 login-utils/newgrp.c:127
+msgid "newgrp: setgid"
+msgstr "newgrp: setgid"
+
+#: login-utils/newgrp.c:120 login-utils/newgrp.c:122
+msgid "newgrp: No such group."
+msgstr "newgrp: nessun gruppo di questo genere."
+
+#: login-utils/newgrp.c:131
+msgid "newgrp: Permission denied"
+msgstr "newgrp: autorizzazione negata"
+
+#: login-utils/newgrp.c:138
+msgid "newgrp: setuid"
+msgstr "newgrp: setuid"
+
+#: login-utils/newgrp.c:144
+msgid "No shell"
+msgstr "Nessuna shell"
+
+#: login-utils/shutdown.c:115
+#, c-format
+msgid "Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+msgstr "Uso: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+
+#: login-utils/shutdown.c:133
+msgid "Shutdown process aborted"
+msgstr "Processo di spegnimento interrotto"
+
+#: login-utils/shutdown.c:164
+#, c-format
+msgid "%s: Only root can shut a system down.\n"
+msgstr "%s: solamente root può spegnere un sistema.\n"
+
+#: login-utils/shutdown.c:258
+#, c-format
+msgid "That must be tomorrow, can't you wait till then?\n"
+msgstr "Verrà effettuato domani, non è possibile attendere fino ad allora?\n"
+
+#: login-utils/shutdown.c:309
+msgid "for maintenance; bounce, bounce"
+msgstr "per manutenzione; bounce, bounce"
+
+#: login-utils/shutdown.c:338
+msgid "The system is being shut down within 5 minutes"
+msgstr "Il sistema verrà spento entro 5 minuti"
+
+#: login-utils/shutdown.c:342
+msgid "Login is therefore prohibited."
+msgstr "È perciò proibito effettuare il login."
+
+#: login-utils/shutdown.c:364
+#, c-format
+msgid "rebooted by %s: %s"
+msgstr "riavviato da %s: %s"
+
+#: login-utils/shutdown.c:367
+#, c-format
+msgid "halted by %s: %s"
+msgstr "fermato da %s: %s"
+
+#: login-utils/shutdown.c:431
+msgid ""
+"\n"
+"Why am I still alive after reboot?"
+msgstr ""
+"\n"
+"Perché sono ancora attivo dopo il riavvio?"
+
+#: login-utils/shutdown.c:433
+msgid ""
+"\n"
+"Now you can turn off the power..."
+msgstr ""
+"\n"
+"È ora possibile togliere l'alimentazione elettrica..."
+
+#: login-utils/shutdown.c:449
+#, c-format
+msgid "Calling kernel power-off facility...\n"
+msgstr "Chiamata della funzionalità di spegnimento del kernel...\n"
+
+#: login-utils/shutdown.c:452
+#, c-format
+msgid "Error powering off\t%s\n"
+msgstr "Errore durante lo spegnimento\t%s\n"
+
+#: login-utils/shutdown.c:460
+#, c-format
+msgid "Executing the program \"%s\" ...\n"
+msgstr "Esecuzione del programma \"%s\" in corso...\n"
+
+#: login-utils/shutdown.c:463
+#, c-format
+msgid "Error executing\t%s\n"
+msgstr "Errore durante l'esecuzione di\t%s\n"
+
+#: login-utils/shutdown.c:490
+#, c-format
+msgid "URGENT: broadcast message from %s:"
+msgstr "URGENTE: messaggio broadcast da %s:"
+
+#: login-utils/shutdown.c:496
+#, c-format
+msgid "System going down in %d hours %d minutes"
+msgstr "Il sistema si spegnerà tra %d ore e %d minuti"
+
+#: login-utils/shutdown.c:499
+#, c-format
+msgid "System going down in 1 hour %d minutes"
+msgstr "Il sistema si spegnerà tra 1 ora e %d minuti"
+
+#: login-utils/shutdown.c:502
+#, c-format
+msgid "System going down in %d minutes\n"
+msgstr "Il sistema si spegnerà in %d minuti\n"
+
+#: login-utils/shutdown.c:505
+#, c-format
+msgid "System going down in 1 minute\n"
+msgstr "Il sistema si spegnerà in 1 minuto\n"
+
+#: login-utils/shutdown.c:507
+#, c-format
+msgid "System going down IMMEDIATELY!\n"
+msgstr "Il sistema si spegnerà IMMEDIATAMENTE!\n"
+
+#: login-utils/shutdown.c:512
+#, c-format
+msgid "\t... %s ...\n"
+msgstr "\t... %s ...\n"
+
+#: login-utils/shutdown.c:569
+msgid "Cannot fork for swapoff. Shrug!"
+msgstr "Impossibile fare un fork per swapoff. Pazienza!"
+
+#: login-utils/shutdown.c:577
+msgid "Cannot exec swapoff, hoping umount will do the trick."
+msgstr "Impossibile eseguire swapoff, si spera che umount ce la faccia."
+
+#: login-utils/shutdown.c:596
+msgid "Cannot fork for umount, trying manually."
+msgstr "Impossibile fare un fork per umount, si prova manualmente."
+
+#: login-utils/shutdown.c:605
+#, c-format
+msgid "Cannot exec %s, trying umount.\n"
+msgstr "Impossibile eseguire %s, si prova ad usare umount.\n"
+
+#: login-utils/shutdown.c:609
+msgid "Cannot exec umount, giving up on umount."
+msgstr "Impossibile eseguire umount, termina utilizzo di umount."
+
+#: login-utils/shutdown.c:614
+msgid "Unmounting any remaining filesystems..."
+msgstr "Smontaggio in corso di qualsiasi filesystem rimanente..."
+
+#: login-utils/shutdown.c:661
+#, c-format
+msgid "shutdown: Couldn't umount %s: %s\n"
+msgstr "shutdown: Impossibile smontare %s: %s\n"
+
+#: login-utils/simpleinit.c:132
+msgid "Booting to single user mode.\n"
+msgstr "Avvio in modalità singolo utente.\n"
+
+#: login-utils/simpleinit.c:136
+msgid "exec of single user shell failed\n"
+msgstr "esecuzione di una shell per singolo utente non riuscita\n"
+
+#: login-utils/simpleinit.c:140
+msgid "fork of single user shell failed\n"
+msgstr "fork di una shell per singolo utente non riuscito\n"
+
+#: login-utils/simpleinit.c:208
+msgid "error opening fifo\n"
+msgstr "errore durante l'apertura del fifo\n"
+
+#: login-utils/simpleinit.c:212
+msgid "error setting close-on-exec on /dev/initctl"
+msgstr "errore impostando close-on-exec su /dev/initctl"
+
+#: login-utils/simpleinit.c:259
+msgid "error running finalprog\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:263
+msgid "error forking finalprog\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:345
+msgid ""
+"\n"
+"Wrong password.\n"
+msgstr ""
+"\n"
+"Password errata.\n"
+
+#: login-utils/simpleinit.c:418
+msgid "lstat of path failed\n"
+msgstr "lstat del percorso non riuscito\n"
+
+#: login-utils/simpleinit.c:426
+msgid "stat of path failed\n"
+msgstr "stat del percorso non riuscito\n"
+
+#: login-utils/simpleinit.c:434
+msgid "open of directory failed\n"
+msgstr "apertura della directory non riuscita\n"
+
+#: login-utils/simpleinit.c:501
+#, c-format
+msgid "respawning: \"%s\" too fast: quenching entry\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:509
+msgid "fork failed\n"
+msgstr "fork non riuscito\n"
+
+#: login-utils/simpleinit.c:540 text-utils/more.c:1629
+msgid "exec failed\n"
+msgstr "exec fallita\n"
+
+#: login-utils/simpleinit.c:564
+msgid "cannot open inittab\n"
+msgstr "impossibile aprire inittab\n"
+
+#: login-utils/simpleinit.c:631
+msgid "no TERM or cannot stat tty\n"
+msgstr "TERM non definito o impossibile eseguire stat sul tty\n"
+
+#: login-utils/simpleinit.c:938
+#, fuzzy, c-format
+msgid "error stopping service: \"%s\"\n"
+msgstr "errore fermando il servizio \"%s\""
+
+#: login-utils/simpleinit.c:950
+#, fuzzy, c-format
+msgid "Stopped service: %s\n"
+msgstr "errore fermando il servizio \"%s\""
+
+#: login-utils/simpleinit.c:1070
+#, fuzzy, c-format
+msgid "error running programme: \"%s\"\n"
+msgstr "Esecuzione del programma \"%s\" in corso...\n"
+
+#: login-utils/ttymsg.c:75
+msgid "too many iov's (change code in wall/ttymsg.c)"
+msgstr "troppi iov (modificare il codice in wall/ttymsg.c)"
+
+#: login-utils/ttymsg.c:85
+#, c-format
+msgid "excessively long line arg"
+msgstr "argomento linea eccessivamente lungo"
+
+#: login-utils/ttymsg.c:140
+#, c-format
+msgid "cannot fork"
+msgstr "impossibile effettuare il fork"
+
+#: login-utils/ttymsg.c:144
+#, c-format
+msgid "fork: %s"
+msgstr "fork: %s"
+
+#: login-utils/ttymsg.c:174
+#, c-format
+msgid "%s: BAD ERROR"
+msgstr "%s: ERRORE GRAVE"
+
+#: login-utils/vipw.c:143
+#, c-format
+msgid "%s: the password file is busy.\n"
+msgstr "%s: il file delle password è occupato.\n"
+
+#: login-utils/vipw.c:146
+#, c-format
+msgid "%s: the group file is busy.\n"
+msgstr "%s: il file di gruppo è occupato.\n"
+
+#: login-utils/vipw.c:162
+#, c-format
+msgid "%s: the %s file is busy (%s present)\n"
+msgstr "%s: il file %s è occupato (%s presente)\n"
+
+#: login-utils/vipw.c:168
+#, c-format
+msgid "%s: can't link %s: %s\n"
+msgstr "%s: impossibile collegare %s: %s\n"
+
+#: login-utils/vipw.c:202
+#, c-format
+msgid "%s: Can't get context for %s"
+msgstr "%s: impossibile ottenere il contesto per %s"
+
+#: login-utils/vipw.c:208
+#, c-format
+msgid "%s: Can't set context for %s"
+msgstr "%s: impossibile impostare il contesto per %s"
+
+#: login-utils/vipw.c:217
+#, c-format
+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"
+
+#: login-utils/vipw.c:240
+#, c-format
+msgid "%s: Cannot fork\n"
+msgstr "%s: impossibile effettuare il fork\n"
+
+#: login-utils/vipw.c:276
+#, c-format
+msgid "%s: %s unchanged\n"
+msgstr "%s: %s immutato\n"
+
+#: login-utils/vipw.c:297
+#, c-format
+msgid "%s: no changes made\n"
+msgstr "%s: nessuna modifica effettuata\n"
+
+# FIXME: shadow: invariato? ombra?
+#: login-utils/vipw.c:350
+#, 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:351
+#, c-format
+msgid "You are using shadow passwords on this system.\n"
+msgstr "Password shadow sono usate su questo sistema.\n"
+
+#: login-utils/vipw.c:352
+#, c-format
+msgid "Would you like to edit %s now [y/n]? "
+msgstr "Volete modificare %s adesso [y/n]?"
+
+#: login-utils/wall.c:112
+#, c-format
+msgid "usage: %s [file]\n"
+msgstr "Uso: %s [file]\n"
+
+#: login-utils/wall.c:167
+#, c-format
+msgid "%s: can't open temporary file.\n"
+msgstr "%s: impossibile aprire il file temporaneo.\n"
+
+#: login-utils/wall.c:194
+#, c-format
+msgid "Broadcast Message from %s@%s"
+msgstr "Messaggio broadcast da %s@%s"
+
+#: login-utils/wall.c:212
+#, c-format
+msgid "%s: will not read %s - use stdin.\n"
+msgstr "%s: non verrà letto %s - usare stdin.\n"
+
+#: login-utils/wall.c:217
+#, c-format
+msgid "%s: can't read %s.\n"
+msgstr "%s: impossibile leggere %s.\n"
+
+#: login-utils/wall.c:240
+#, c-format
+msgid "%s: can't stat temporary file.\n"
+msgstr "%s: impossibile fare stat del file temporaneo.\n"
+
+#: login-utils/wall.c:250
+#, c-format
+msgid "%s: can't read temporary file.\n"
+msgstr "%s: impossibile leggere il file temporaneo.\n"
+
+#: misc-utils/cal.c:362 misc-utils/cal.c:374
+#, fuzzy, c-format
+msgid "illegal day value: use 1-%d"
+msgstr "valore dell'anno non valido: usare 1-9999"
+
+#: misc-utils/cal.c:366
+msgid "illegal month value: use 1-12"
+msgstr "valore del mese non valido: usare 1-12"
+
+#: misc-utils/cal.c:370
+msgid "illegal year value: use 1-9999"
+msgstr "valore dell'anno non valido: usare 1-9999"
+
+# FIXME
+#: misc-utils/cal.c:464
+#, c-format
+msgid "%s %d"
+msgstr "%s %d"
+
+#: misc-utils/cal.c:856
+#, fuzzy, c-format
+msgid "usage: cal [-13smjyV] [[[day] month] year]\n"
+msgstr "Uso: cal [-13smjyV] [[mese] anno]\n"
+
+#: misc-utils/ddate.c:203
+#, c-format
+msgid "usage: %s [+format] [day month year]\n"
+msgstr "Uso: %s [+formato] [giorno mese anno]\n"
+
+#: misc-utils/ddate.c:250
+msgid "St. Tib's Day"
+msgstr "Giorno di S.Tiberio"
+
+#: misc-utils/findfs.c:24
+#, c-format
+msgid "Usage: %s LABEL=<label>|UUID=<uuid>\n"
+msgstr ""
+
+#: misc-utils/findfs.c:55
+#, fuzzy, c-format
+msgid "unable to resolve '%s'"
+msgstr "impossibile aprire %s"
+
+#: misc-utils/kill.c:207
+#, c-format
+msgid "%s: unknown signal %s\n"
+msgstr "%s: segnale sconosciuto %s\n"
+
+#: misc-utils/kill.c:270
+#, c-format
+msgid "%s: can't find process \"%s\"\n"
+msgstr "%s: impossibile trovare il processo \"%s\"\n"
+
+#: misc-utils/kill.c:314
+#, c-format
+msgid "%s: unknown signal %s; valid signals:\n"
+msgstr "%s: segnale sconosciuto %s; segnali validi:\n"
+
+#: misc-utils/kill.c:354
+#, c-format
+msgid "usage: %s [ -s signal | -p ] [ -a ] pid ...\n"
+msgstr "Uso: %s [ -s segnale | -p ] [ -a ] pid ...\n"
+
+#: misc-utils/kill.c:355
+#, c-format
+msgid "       %s -l [ signal ]\n"
+msgstr "       %s -l [ segnale ]\n"
+
+#: misc-utils/logger.c:67
+#, fuzzy, c-format
+msgid "logger: openlog: pathname too long\n"
+msgstr "il nome di login è troppo lungo.\n"
+
+#: misc-utils/logger.c:75
+#, fuzzy, c-format
+msgid "socket: %s.\n"
+msgstr "Dimensioni blocco: %d\n"
+
+#: misc-utils/logger.c:80
+#, c-format
+msgid "connect: %s.\n"
+msgstr ""
+
+#: misc-utils/logger.c:139
+#, c-format
+msgid "logger: %s: %s.\n"
+msgstr "logger: %s: %s.\n"
+
+#: misc-utils/logger.c:246
+#, c-format
+msgid "logger: unknown facility name: %s.\n"
+msgstr "logger: nome funzionalità sconosciuto: %s.\n"
+
+#: misc-utils/logger.c:258
+#, c-format
+msgid "logger: unknown priority name: %s.\n"
+msgstr "logger: nome priorità sconosciuto: %s.\n"
+
+#: misc-utils/logger.c:285
+#, c-format
+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"
+
+#: misc-utils/look.c:351
+#, c-format
+msgid "usage: look [-dfa] [-t char] string [file]\n"
+msgstr "Uso: look [-dfa] [-t char] stringa [file]\n"
+
+#: misc-utils/mcookie.c:105 misc-utils/mcookie.c:132
+#, c-format
+msgid "Could not open %s\n"
+msgstr "Impossibile aprire %s\n"
+
+#: misc-utils/mcookie.c:109 misc-utils/mcookie.c:128
+#, c-format
+msgid "Got %d bytes from %s\n"
+msgstr "Ottenuti %d byte da %s\n"
+
+#: misc-utils/namei.c:144 misc-utils/namei.c:198 misc-utils/namei.c:220
+#: misc-utils/namei.c:227 misc-utils/namei.c:248
+#, fuzzy
+msgid "out of memory?"
+msgstr "memoria insufficiente?\n"
+
+#: misc-utils/namei.c:189
+#, fuzzy, c-format
+msgid "failed to read symlink: %s"
+msgstr "ioctl() non è riuscito a leggere l'orario da %s"
+
+#: misc-utils/namei.c:229
+#, fuzzy, c-format
+msgid "could not stat '%s'"
+msgstr "impossibile eseguire stat sul dispositivo %s"
+
+#: misc-utils/namei.c:411
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage: %s [options] pathname [pathname ...]\n"
+msgstr "Uso: namei [-mx] nome percorso [nome percorso ...]\n"
+
+#: misc-utils/namei.c:412
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"%d partizioni:\n"
+
+#: misc-utils/namei.c:415
+#, c-format
+msgid ""
+" -h, --help          displays this help text\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:423
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see namei(1).\n"
+msgstr ""
+"\n"
+"Per maggiori informazioni vedere setarch(8).\n"
+
+#: misc-utils/namei.c:484
+#, fuzzy, c-format
+msgid "failed to stat: %s"
+msgstr "impossibile fare stat di %s"
+
+#: misc-utils/namei.c:495
+#, c-format
+msgid "%s: exceeded limit of symlinks"
+msgstr ""
+
+#: misc-utils/rename.c:38
+#, c-format
+msgid "%s: out of memory\n"
+msgstr "%s: memoria esaurita\n"
+
+#: misc-utils/rename.c:56
+#, c-format
+msgid "%s: renaming %s to %s failed: %s\n"
+msgstr "%s: impossibile rinominare %s in %s: %s\n"
+
+#: misc-utils/rename.c:86
+#, c-format
+msgid "call: %s from to files...\n"
+msgstr ""
+
+#: misc-utils/script.c:110
+#, c-format
+msgid ""
+"Warning: `%s' is a link.\n"
+"Use `%s [options] %s' if you really want to use it.\n"
+"Script not started.\n"
+msgstr ""
+"Attenzione: \"%s\" è un collegamento.\n"
+"Usare \"%s [opzioni] %s\" se si vuole veramente usarlo.\n"
+"Script non avviato.\n"
+
+#: misc-utils/script.c:173
+#, c-format
+msgid "usage: script [-a] [-f] [-q] [-t] [file]\n"
+msgstr "Uso: script [-a] [-f] [-q] [-t] [file]\n"
+
+#: misc-utils/script.c:196
+#, c-format
+msgid "Script started, file is %s\n"
+msgstr "Script iniziato, il file è %s\n"
+
+#: misc-utils/script.c:244
+#, fuzzy, c-format
+msgid "%s: write error %d: %s\n"
+msgstr "errore di scrittura su %s\n"
+
+#: misc-utils/script.c:304
+#, c-format
+msgid "Script started on %s"
+msgstr "Script iniziato su %s"
+
+#: misc-utils/script.c:347
+#, fuzzy, c-format
+msgid "%s: write error: %s\n"
+msgstr "errore di scrittura su %s\n"
+
+#: misc-utils/script.c:354
+#, fuzzy, c-format
+msgid "%s: cannot write script file, error: %s\n"
+msgstr "%s: impossibile trovare il dispositivo per %s\n"
+
+#: misc-utils/script.c:430
+#, c-format
+msgid ""
+"\n"
+"Script done on %s"
+msgstr ""
+"\n"
+"Script effettuato su %s"
+
+#: misc-utils/script.c:437
+#, c-format
+msgid "Script done, file is %s\n"
+msgstr "Script effettuato, il file è %s\n"
+
+#: misc-utils/script.c:448
+#, c-format
+msgid "openpty failed\n"
+msgstr "openpty non riuscita\n"
+
+#: misc-utils/script.c:482
+#, c-format
+msgid "Out of pty's\n"
+msgstr "Esauriti tutti i pty disponibili\n"
+
+#: misc-utils/scriptreplay.c:38
+#, c-format
+msgid "%s <timingfile> [<typescript> [<divisor>]]\n"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:53
+#, c-format
+msgid "expected a number, but got '%s'"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:56 misc-utils/scriptreplay.c:60
+#, c-format
+msgid "divisor '%s'"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:104
+#, fuzzy
+msgid "write to stdout failed"
+msgstr "Apertura di %s non riuscita"
+
+#: misc-utils/scriptreplay.c:110
+#, c-format
+msgid "unexpected end of file on %s"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:112
+#, fuzzy, c-format
+msgid "failed to read typescript file %s"
+msgstr "ioctl() non è riuscito a leggere l'orario da %s"
+
+#: misc-utils/scriptreplay.c:145
+#, fuzzy, c-format
+msgid "cannot open timing file %s"
+msgstr "Impossibile aprire il file '%s'"
+
+#: misc-utils/scriptreplay.c:148
+#, fuzzy, c-format
+msgid "cannot open typescript file %s"
+msgstr "Impossibile aprire il file '%s'"
+
+#: misc-utils/scriptreplay.c:164
+#, fuzzy, c-format
+msgid "failed to read timing file %s"
+msgstr "ioctl() non è riuscito a leggere l'orario da %s"
+
+#: misc-utils/scriptreplay.c:166
+#, fuzzy, c-format
+msgid "timings file %s: %lu: unexpected format"
+msgstr "%s: EOF non previsto nel file %s\n"
+
+#: misc-utils/setterm.c:763
+#, c-format
+msgid "%s: Argument error, usage\n"
+msgstr "%s: argomento errato, uso\n"
+
+#: misc-utils/setterm.c:766
+#, c-format
+msgid "  [ -term terminal_name ]\n"
+msgstr "  [ -term terminal_name ]\n"
+
+#: misc-utils/setterm.c:767
+#, c-format
+msgid "  [ -reset ]\n"
+msgstr "  [ -reset ]\n"
+
+#: misc-utils/setterm.c:768
+#, c-format
+msgid "  [ -initialize ]\n"
+msgstr "  [ -initialize ]\n"
+
+#: misc-utils/setterm.c:769
+#, c-format
+msgid "  [ -cursor [on|off] ]\n"
+msgstr "  [ -cursor [on|off] ]\n"
+
+#: misc-utils/setterm.c:771
+#, c-format
+msgid "  [ -snow [on|off] ]\n"
+msgstr "  [ -snow [on|off] ]\n"
+
+#: misc-utils/setterm.c:772
+#, c-format
+msgid "  [ -softscroll [on|off] ]\n"
+msgstr "  [ -softscroll [on|off] ]\n"
+
+#: misc-utils/setterm.c:774
+#, c-format
+msgid "  [ -repeat [on|off] ]\n"
+msgstr "  [ -repeat [on|off] ]\n"
+
+#: misc-utils/setterm.c:775
+#, c-format
+msgid "  [ -appcursorkeys [on|off] ]\n"
+msgstr "  [ -appcursorkeys [on|off] ]\n"
+
+#: misc-utils/setterm.c:776
+#, c-format
+msgid "  [ -linewrap [on|off] ]\n"
+msgstr "  [ -linewrap [on|off] ]\n"
+
+#: misc-utils/setterm.c:777
+#, c-format
+msgid "  [ -default ]\n"
+msgstr "  [ -default ]\n"
+
+#: misc-utils/setterm.c:778
+#, c-format
+msgid "  [ -foreground black|blue|green|cyan"
+msgstr "  [ -foreground black|blue|green|cyan"
+
+#: misc-utils/setterm.c:779 misc-utils/setterm.c:781
+#, c-format
+msgid "|red|magenta|yellow|white|default ]\n"
+msgstr "|red|magenta|yellow|white|default ]\n"
+
+#: misc-utils/setterm.c:780
+#, c-format
+msgid "  [ -background black|blue|green|cyan"
+msgstr "  [ -background black|blue|green|cyan"
+
+#: misc-utils/setterm.c:782
+#, c-format
+msgid "  [ -ulcolor black|grey|blue|green|cyan"
+msgstr "  [ -ulcolor black|grey|blue|green|cyan"
+
+#: misc-utils/setterm.c:783 misc-utils/setterm.c:785 misc-utils/setterm.c:787
+#: misc-utils/setterm.c:789
+#, c-format
+msgid "|red|magenta|yellow|white ]\n"
+msgstr "|red|magenta|yellow|white ]\n"
+
+#: misc-utils/setterm.c:784
+#, c-format
+msgid "  [ -ulcolor bright blue|green|cyan"
+msgstr "  [ -ulcolor bright blue|green|cyan"
+
+#: misc-utils/setterm.c:786
+#, c-format
+msgid "  [ -hbcolor black|grey|blue|green|cyan"
+msgstr "  [ -hbcolor black|grey|blue|green|cyan"
+
+#: misc-utils/setterm.c:788
+#, c-format
+msgid "  [ -hbcolor bright blue|green|cyan"
+msgstr "  [ -hbcolor bright blue|green|cyan"
+
+#: misc-utils/setterm.c:791
+#, c-format
+msgid "  [ -standout [ attr ] ]\n"
+msgstr "  [ -standout [ attr ] ]\n"
+
+#: misc-utils/setterm.c:793
+#, c-format
+msgid "  [ -inversescreen [on|off] ]\n"
+msgstr "  [ -inversescreen [on|off] ]\n"
+
+#: misc-utils/setterm.c:794
+#, c-format
+msgid "  [ -bold [on|off] ]\n"
+msgstr "  [ -bold [on|off] ]\n"
+
+#: misc-utils/setterm.c:795
+#, c-format
+msgid "  [ -half-bright [on|off] ]\n"
+msgstr "  [ -half-bright [on|off] ]\n"
+
+#: misc-utils/setterm.c:796
+#, c-format
+msgid "  [ -blink [on|off] ]\n"
+msgstr "  [ -blink [on|off] ]\n"
+
+#: misc-utils/setterm.c:797
+#, c-format
+msgid "  [ -reverse [on|off] ]\n"
+msgstr "  [ -reverse [on|off] ]\n"
+
+#: misc-utils/setterm.c:798
+#, c-format
+msgid "  [ -underline [on|off] ]\n"
+msgstr "  [ -underline [on|off] ]\n"
+
+#: misc-utils/setterm.c:799
+#, c-format
+msgid "  [ -store ]\n"
+msgstr "  [ -store ]\n"
+
+#: misc-utils/setterm.c:800
+#, c-format
+msgid "  [ -clear [all|rest] ]\n"
+msgstr "  [ -clear [all|rest] ]\n"
+
+#: misc-utils/setterm.c:801
+#, c-format
+msgid "  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n"
+msgstr "  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n"
+
+#: misc-utils/setterm.c:802
+#, c-format
+msgid "  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n"
+msgstr "  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n"
+
+#: misc-utils/setterm.c:803
+#, c-format
+msgid "  [ -regtabs [1-160] ]\n"
+msgstr "  [ -regtabs [1-160] ]\n"
+
+#: misc-utils/setterm.c:804
+#, fuzzy, c-format
+msgid "  [ -blank [0-60|force|poke] ]\n"
+msgstr "  [ -blank [0-60] ]\n"
+
+#: misc-utils/setterm.c:805
+#, c-format
+msgid "  [ -dump   [1-NR_CONSOLES] ]\n"
+msgstr "  [ -dump   [1-NUM_CONSOLE] ]\n"
+
+#: misc-utils/setterm.c:806
+#, c-format
+msgid "  [ -append [1-NR_CONSOLES] ]\n"
+msgstr "  [ -append [1-NUM_CONSOLE] ]\n"
+
+#: misc-utils/setterm.c:807
+#, c-format
+msgid "  [ -file dumpfilename ]\n"
+msgstr "  [ -file dumpfilename ]\n"
+
+#: misc-utils/setterm.c:808
+#, c-format
+msgid "  [ -msg [on|off] ]\n"
+msgstr "  [ -msg [on|off] ]\n"
+
+#: misc-utils/setterm.c:809
+#, c-format
+msgid "  [ -msglevel [0-8] ]\n"
+msgstr "  [ -msglevel [0-8] ]\n"
+
+#: misc-utils/setterm.c:810
+#, c-format
+msgid "  [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+msgstr "  [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+
+#: misc-utils/setterm.c:811
+#, c-format
+msgid "  [ -powerdown [0-60] ]\n"
+msgstr "  [ -powerdown [0-60] ]\n"
+
+#: misc-utils/setterm.c:812
+#, c-format
+msgid "  [ -blength [0-2000] ]\n"
+msgstr "  [ -blength [0-2000] ]\n"
+
+#: misc-utils/setterm.c:813
+#, c-format
+msgid "  [ -bfreq freqnumber ]\n"
+msgstr "  [ -bfreq freqnumber ]\n"
+
+#: misc-utils/setterm.c:1065
+#, fuzzy, c-format
+msgid "cannot force blank\n"
+msgstr "impossibile effettuare il fork"
+
+#: misc-utils/setterm.c:1069
+#, fuzzy, c-format
+msgid "cannot force unblank\n"
+msgstr "impossibile effettuare il fork"
+
+#: misc-utils/setterm.c:1075
+#, fuzzy, c-format
+msgid "cannot get blank status\n"
+msgstr "impossibile aprire %s\n"
+
+#: misc-utils/setterm.c:1087
+#, c-format
+msgid "cannot (un)set powersave mode\n"
+msgstr " impossibile (dis)impostare la modalità risparmio energetico\n"
+
+#: misc-utils/setterm.c:1126 misc-utils/setterm.c:1134
+#, c-format
+msgid "klogctl error: %s\n"
+msgstr "errore klogctl : %s\n"
+
+#: misc-utils/setterm.c:1200
+#, c-format
+msgid "Error writing screendump\n"
+msgstr "Errore in scrittura screendump\n"
+
+#: misc-utils/setterm.c:1207
+#, fuzzy, c-format
+msgid "Couldn't read %s\n"
+msgstr "Impossibile aprire %s\n"
+
+#: misc-utils/setterm.c:1261
+#, c-format
+msgid "%s: $TERM is not defined.\n"
+msgstr "%s: $TERM non è definito.\n"
+
+#: misc-utils/uuidd.c:46
+#, fuzzy, c-format
+msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n"
+msgstr "Uso: last [-#] [-f file] [-t tty] [-h hostname] [utente ...]\n"
+
+#: misc-utils/uuidd.c:48
+#, c-format
+msgid "       %s [-r|t] [-n num] [-s socketpath]\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:50
+#, fuzzy, c-format
+msgid "       %s -k\n"
+msgstr "       %s -l [ segnale ]\n"
+
+#: misc-utils/uuidd.c:152
+#, fuzzy
+msgid "bad arguments"
+msgstr "col: argomento -l non valido per %s.\n"
+
+#: misc-utils/uuidd.c:159
+#, fuzzy
+msgid "socket"
+msgstr "nfs socket"
+
+#: misc-utils/uuidd.c:170
+#, fuzzy
+msgid "connect"
+msgstr "nfs connect"
+
+#: misc-utils/uuidd.c:189
+#, fuzzy
+msgid "write"
+msgstr "Scrivi"
+
+#: misc-utils/uuidd.c:197
+#, fuzzy
+msgid "read count"
+msgstr "lettura di %c\n"
+
+#: misc-utils/uuidd.c:203
+msgid "bad response length"
+msgstr ""
+
+#: misc-utils/uuidd.c:268
+#, c-format
+msgid "uuidd daemon already running at pid %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:276
+#, c-format
+msgid "Couldn't create unix stream socket: %s"
+msgstr ""
+
+#: misc-utils/uuidd.c:305
+#, fuzzy, c-format
+msgid "Couldn't bind unix socket %s: %s\n"
+msgstr "Impossibile aprire %s: %s\n"
+
+#: misc-utils/uuidd.c:313
+#, fuzzy, c-format
+msgid "Couldn't listen on unix socket %s: %s\n"
+msgstr "Impossibile aprire %s: %s\n"
+
+#: misc-utils/uuidd.c:351
+#, fuzzy, c-format
+msgid "Error reading from client, len = %d\n"
+msgstr "Errore durante la lettura di %s\n"
+
+#: misc-utils/uuidd.c:359
+#, c-format
+msgid "operation %d, incoming num = %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:378
+#, c-format
+msgid "Generated time UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:388
+#, c-format
+msgid "Generated random UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:397
+#, c-format
+msgid "Generated time UUID %s and %d following\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:415
+#, c-format
+msgid "Generated %d UUID's:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:427
+#, fuzzy, c-format
+msgid "Invalid operation %d\n"
+msgstr "id non valido"
+
+#: misc-utils/uuidd.c:468 misc-utils/uuidd.c:489
+#, fuzzy, c-format
+msgid "Bad number: %s\n"
+msgstr "%s: valore non valido\n"
+
+#: misc-utils/uuidd.c:524 misc-utils/uuidd.c:551
+#, fuzzy, c-format
+msgid "Error calling uuidd daemon (%s): %s\n"
+msgstr "errore durante il cambiamento della modalità di %s: %s\n"
+
+#: misc-utils/uuidd.c:534
+#, c-format
+msgid "%s and subsequent %d UUID's\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:536
+#, c-format
+msgid "List of UUID's:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:557
+#, c-format
+msgid "Unexpected reply length from server %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:574
+#, c-format
+msgid "Couldn't kill uuidd running at pid %d: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:580
+#, c-format
+msgid "Killed uuidd running at pid %d\n"
+msgstr ""
+
+#: misc-utils/uuidgen.c:32
+#, fuzzy, c-format
+msgid "Usage: %s [-r] [-t]\n"
+msgstr "Uso: %s [opzioni] dispositivo...\n"
+
+#: misc-utils/whereis.c:159
+#, c-format
+msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
+msgstr "whereis [ -sbmu ] [ -SBM dir ... -f ] nome...\n"
+
+#: misc-utils/write.c:101
+#, c-format
+msgid "write: can't find your tty's name\n"
+msgstr "write: impossibile trovare il nome di tty\n"
+
+#: misc-utils/write.c:112
+#, c-format
+msgid "write: you have write permission turned off.\n"
+msgstr "write: l'autorizzazione per la scrittura è disattivata.\n"
+
+#: misc-utils/write.c:133
+#, c-format
+msgid "write: %s is not logged in on %s.\n"
+msgstr "write: %s non è collegato a %s.\n"
+
+#: misc-utils/write.c:141
+#, c-format
+msgid "write: %s has messages disabled on %s\n"
+msgstr "write: %s ha i messaggi disattivati su %s\n"
+
+#: misc-utils/write.c:148
+#, c-format
+msgid "usage: write user [tty]\n"
+msgstr "Uso: write utente [tty]\n"
+
+#: misc-utils/write.c:236
+#, c-format
+msgid "write: %s is not logged in\n"
+msgstr "write: %s non è collegato\n"
+
+#: misc-utils/write.c:245
+#, c-format
+msgid "write: %s has messages disabled\n"
+msgstr "write: %s ha i messaggi disattivati\n"
+
+#: misc-utils/write.c:249
+#, c-format
+msgid "write: %s is logged in more than once; writing to %s\n"
+msgstr "write: %s è collegato più di una volta; scrittura su %s in corso\n"
+
+#: misc-utils/write.c:317
+#, c-format
+msgid "Message from %s@%s (as %s) on %s at %s ..."
+msgstr "Messaggio da %s@%s (come %s) su %s a %s ..."
+
+#: misc-utils/write.c:320
+#, c-format
+msgid "Message from %s@%s on %s at %s ..."
+msgstr "Messaggio da %s@%s su %s a %s ..."
+
+#: mount/fstab.c:143
+#, c-format
+msgid "warning: error reading %s: %s"
+msgstr "attenzione: errore durante la lettura di %s: %s"
+
+#: mount/fstab.c:171 mount/fstab.c:196
+#, c-format
+msgid "warning: can't open %s: %s"
+msgstr "attenzione: impossibile aprire %s: %s"
+
+#: mount/fstab.c:176
+#, 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/fstab.c:589
+#, 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/fstab.c:615
+#, 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/fstab.c:631
+#, 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/fstab.c:646
+#, c-format
+msgid "Can't lock lock file %s: %s\n"
+msgstr "Impossibile fare il lock del file di lock %s: %s\n"
+
+#: mount/fstab.c:660
+#, c-format
+msgid "can't lock lock file %s: %s"
+msgstr "impossibile fare il lock del file di lock %s: %s"
+
+#: mount/fstab.c:662
+msgid "timed out"
+msgstr "scaduto"
+
+#: mount/fstab.c:669
+#, 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/fstab.c:791 mount/fstab.c:846
+#, c-format
+msgid "cannot open %s (%s) - mtab not updated"
+msgstr "impossibile aprire %s (%s) - mtab non aggiornato"
+
+#: mount/fstab.c:855
+#, c-format
+msgid "error writing %s: %s"
+msgstr "errore durante la scrittura di %s: %s"
+
+#: mount/fstab.c:873
+#, c-format
+msgid "error changing mode of %s: %s\n"
+msgstr "errore durante il cambiamento della modalità di %s: %s\n"
+
+#: mount/fstab.c:886
+#, fuzzy, c-format
+msgid "error changing owner of %s: %s\n"
+msgstr "errore durante il cambiamento della modalità di %s: %s\n"
+
+#: mount/fstab.c:897
+#, c-format
+msgid "can't rename %s to %s: %s\n"
+msgstr "impossibile rinominare %s in %s: %s\n"
+
+#: mount/lomount.c:364
+#, fuzzy, c-format
+msgid "loop: can't set capacity on device %s: %s\n"
+msgstr "loop: impossibile ottenere informazioni sul device %s: %s\n"
+
+#: mount/lomount.c:388
+#, fuzzy, c-format
+msgid ", offset %<PRIu64>"
+msgstr ", offset %d"
+
+#: mount/lomount.c:391
+#, c-format
+msgid ", sizelimit %<PRIu64>"
+msgstr ""
+
+#: mount/lomount.c:399
+#, fuzzy, c-format
+msgid ", encryption %s (type %<PRIu32>)"
+msgstr ", cifratura %s (tipo %d)"
+
+#: mount/lomount.c:412
+#, c-format
+msgid ", offset %d"
+msgstr ", offset %d"
+
+#: mount/lomount.c:415
+#, c-format
+msgid ", encryption type %d\n"
+msgstr ", tipo di cifratura %d\n"
+
+#: mount/lomount.c:423
+#, c-format
+msgid "loop: can't get info on device %s: %s\n"
+msgstr "loop: impossibile ottenere informazioni sul device %s: %s\n"
+
+#: mount/lomount.c:434
+#, c-format
+msgid "loop: can't open device %s: %s\n"
+msgstr "loop: impossibile aprire il device %s: %s\n"
+
+#: mount/lomount.c:450 mount/lomount.c:482 mount/lomount.c:544
+#: mount/lomount.c:589
+#, fuzzy, c-format
+msgid "%s: /dev directory does not exist."
+msgstr "%s: l'utente \"%s\" non esiste.\n"
+
+#: mount/lomount.c:461 mount/lomount.c:602
+#, c-format
+msgid "%s: no permission to look at /dev/loop%s<N>"
+msgstr ""
+
+# FIXME
+#: mount/lomount.c:605
+#, c-format
+msgid "%s: could not find any free loop device"
+msgstr "%s: impossibile trovare un loop device libero"
+
+# FIXME: loop device
+#: mount/lomount.c:608
+#, c-format
+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\")."
+
+#: mount/lomount.c:638
+#, fuzzy
+msgid "Out of memory while reading passphrase"
+msgstr "Memoria insufficiente quando si amplia il buffer.\n"
+
+#: mount/lomount.c:681
+#, fuzzy, c-format
+msgid "warning: %s is already associated with %s\n"
+msgstr "Il settore %d è già allocato\n"
+
+#: mount/lomount.c:697
+#, fuzzy, c-format
+msgid "warning: %s: is write-protected, using read-only.\n"
+msgstr "mount: %s%s è protetto da scrittura, viene montato in sola lettura"
+
+#: mount/lomount.c:733
+#, c-format
+msgid "Couldn't lock into memory, exiting.\n"
+msgstr ""
+
+#: mount/lomount.c:760
+#, c-format
+msgid "ioctl LOOP_SET_FD failed: %s\n"
+msgstr ""
+
+#: mount/lomount.c:817
+#, fuzzy, c-format
+msgid "set_loop(%s,%s,%llu,%llu): success\n"
+msgstr "set_loop(%s,%s,%llu): riuscito\n"
+
+#: mount/lomount.c:838
+#, c-format
+msgid "del_loop(%s): success\n"
+msgstr "del_loop(%s): riuscito\n"
+
+#: mount/lomount.c:842
+#, c-format
+msgid "loop: can't delete device %s: %s\n"
+msgstr "loop: impossibile eliminare il device %s: %s\n"
+
+#: mount/lomount.c:853
+#, c-format
+msgid "This mount was compiled without loop support. Please recompile.\n"
+msgstr "Questo mount è stato compilato senza supporto per loop. Ricompilare.\n"
+
+#: mount/lomount.c:888
+#, c-format
+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 ""
+
+#: mount/lomount.c:898
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -e | --encryption <type> enable data encryption with specified <name/num>\n"
+" -h | --help              this help\n"
+" -o | --offset <num>      start at offset <num> into file\n"
+"      --sizelimit <num>   loop limited to only <num> bytes of the file\n"
+" -p | --pass-fd <num>     read passphrase from file descriptor <num>\n"
+" -r | --read-only         setup read-only loop device\n"
+"      --show              print device name (with -f <file>)\n"
+" -v | --verbose           verbose mode\n"
+"\n"
+msgstr ""
+
+#: mount/lomount.c:1036 mount/lomount.c:1076
+#, fuzzy, c-format
+msgid "Loop device is %s\n"
+msgstr "loop: impossibile aprire il device %s: %s\n"
+
+#: mount/lomount.c:1063
+#, c-format
+msgid "stolen loop=%s...trying again\n"
+msgstr ""
+
+#: mount/lomount.c:1073
+#, fuzzy, c-format
+msgid "%s: %s: device is busy"
+msgstr "umount: %s: device occupato"
+
+#: mount/lomount.c:1090
+#, c-format
+msgid "No loop support was available at compile time. Please recompile.\n"
+msgstr ""
+
+#: mount/mount.c:329
+#, c-format
+msgid "mount: improperly quoted option string '%s'"
+msgstr ""
+
+#: mount/mount.c:362
+#, fuzzy, c-format
+msgid "mount: translated %s '%s' to '%s'\n"
+msgstr "mount: impossibile trovare %s in %s o %s"
+
+#: mount/mount.c:526
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s"
+msgstr "mount: secondo mtab, %s è già montato su %s"
+
+#: mount/mount.c:531
+#, c-format
+msgid "mount: according to mtab, %s is mounted on %s"
+msgstr "mount: secondo mtab, %s è montato su %s"
+
+#: mount/mount.c:555
+#, c-format
+msgid "mount: can't open %s for writing: %s"
+msgstr "mount: impossibile aprire %s in scrittura: %s"
+
+#: mount/mount.c:572 mount/mount.c:1190
+#, c-format
+msgid "mount: error writing %s: %s"
+msgstr "mount: errore durante la scrittura di %s: %s"
+
+#: mount/mount.c:580
+#, c-format
+msgid "mount: error changing mode of %s: %s"
+msgstr "mount: errore durante il cambio di modalità di %s: %s"
+
+#: mount/mount.c:663
+#, c-format
+msgid "mount: cannot set group id: %s"
+msgstr "mount: impossibile impostare l'id di gruppo: %s"
+
+#: mount/mount.c:666
+#, c-format
+msgid "mount: cannot set user id: %s"
+msgstr "mount: impossibile impostare l'id utente: %s"
+
+#: mount/mount.c:705 mount/mount.c:1809
+#, c-format
+msgid "mount: cannot fork: %s"
+msgstr "mount: impossibile effettuare il fork: %s"
+
+#: mount/mount.c:842
+#, c-format
+msgid "Trying %s\n"
+msgstr "Prova di %s in corso\n"
+
+#: mount/mount.c:870
+#, 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/mount.c:873
+#, 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/mount.c:876
+#, c-format
+msgid "       and it looks like this is swapspace\n"
+msgstr "      e sembra che questo sia swapspace\n"
+
+#: mount/mount.c:878
+#, c-format
+msgid "       I will try type %s\n"
+msgstr "      Proverò il tipo %s\n"
+
+#: mount/mount.c:902
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr "%s assomigla a swapspace - non montato"
+
+#: mount/mount.c:993
+msgid "mount failed"
+msgstr "mount non riuscito"
+
+#: mount/mount.c:995
+#, c-format
+msgid "mount: only root can mount %s on %s"
+msgstr "mount: solamente root può montare %s su %s"
+
+#: mount/mount.c:1065
+msgid "mount: loop device specified twice"
+msgstr "mount: loop device specificato due volte"
+
+#: mount/mount.c:1070
+msgid "mount: type specified twice"
+msgstr "mount: tipo specificato due volte"
+
+#: mount/mount.c:1082
+#, c-format
+msgid "mount: skipping the setup of a loop device\n"
+msgstr "mount: si ignora l'impostazione di un loop device\n"
+
+#: mount/mount.c:1094
+#, 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/mount.c:1104
+#, c-format
+msgid "mount: going to use the loop device %s\n"
+msgstr "mount: si intende utilizzare il loop device %s\n"
+
+#: mount/mount.c:1113
+#, c-format
+msgid "mount: stolen loop=%s ...trying again\n"
+msgstr ""
+
+#: mount/mount.c:1118
+#, fuzzy, c-format
+msgid "mount: stolen loop=%s"
+msgstr "umount: %s: %s"
+
+#: mount/mount.c:1123
+#, c-format
+msgid "mount: failed setting up loop device\n"
+msgstr "mount: mancata impostazione del loop device\n"
+
+#: mount/mount.c:1134
+#, c-format
+msgid "mount: setup loop device successfully\n"
+msgstr "mount: impostazione del loop device riuscita\n"
+
+#: mount/mount.c:1168
+#, c-format
+msgid "mount: no %s found - creating it..\n"
+msgstr "mount: nessun %s trovato - creazione in corso...\n"
+
+#: mount/mount.c:1185
+#, c-format
+msgid "mount: can't open %s: %s"
+msgstr "mount: impossibile aprire %s: %s"
+
+#: mount/mount.c:1206
+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/mount.c:1219
+#, c-format
+msgid "mount: cannot open %s for setting speed"
+msgstr "mount: impossibile aprire %s per impostare la velocità"
+
+#: mount/mount.c:1222
+#, c-format
+msgid "mount: cannot set speed: %s"
+msgstr "mount: impossibile impostare la velocità: %s"
+
+#: mount/mount.c:1279
+#, 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/mount.c:1358
+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/mount.c:1361
+msgid "mount: you must specify the filesystem type"
+msgstr "mount: si deve specificare il tipo di filesystem"
+
+#: mount/mount.c:1364
+msgid "mount: mount failed"
+msgstr "mount: mount non riuscito"
+
+#: mount/mount.c:1370 mount/mount.c:1407
+#, c-format
+msgid "mount: mount point %s is not a directory"
+msgstr "mount: il mount point di %s non è una directory"
+
+#: mount/mount.c:1372
+msgid "mount: permission denied"
+msgstr "mount: autorizzazione negata"
+
+#: mount/mount.c:1374
+msgid "mount: must be superuser to use mount"
+msgstr "mount: bisogna essere superuser per utilizzare mount"
+
+#: mount/mount.c:1378 mount/mount.c:1382
+#, c-format
+msgid "mount: %s is busy"
+msgstr "mount: %s è occupato"
+
+#: mount/mount.c:1384
+msgid "mount: proc already mounted"
+msgstr "mount: proc già montato"
+
+#: mount/mount.c:1386
+#, c-format
+msgid "mount: %s already mounted or %s busy"
+msgstr "mount: %s già montato o %s occupato"
+
+#: mount/mount.c:1392
+#, c-format
+msgid "mount: mount point %s does not exist"
+msgstr "mount: il mount point %s non esiste"
+
+#: mount/mount.c:1394
+#, 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/mount.c:1399
+#, c-format
+msgid "mount: special device %s does not exist"
+msgstr "mount: il device speciale %s non esiste"
+
+#: mount/mount.c:1411
+#, 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/mount.c:1423
+#, c-format
+msgid "mount: %s not mounted already, or bad option"
+msgstr "mount: %s non ancora montato, oppure l'opzione non è valida"
+
+#: mount/mount.c:1425
+#, 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/mount.c:1432
+msgid ""
+"       (for several filesystems (e.g. nfs, cifs) you might\n"
+"       need a /sbin/mount.<type> helper program)"
+msgstr ""
+
+#: mount/mount.c:1441
+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/mount.c:1446
+msgid ""
+"       (aren't you trying to mount an extended partition,\n"
+"       instead of some logical partition inside?)"
+msgstr ""
+
+#: mount/mount.c:1453
+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/mount.c:1459
+msgid "mount table full"
+msgstr "mount table piena"
+
+#: mount/mount.c:1461
+#, c-format
+msgid "mount: %s: can't read superblock"
+msgstr "mount: %s: impossibile leggere il superblocco"
+
+#: mount/mount.c:1467
+#, c-format
+msgid "mount: %s: unknown device"
+msgstr "umount: %s: dispositivo sconosciuto"
+
+#: mount/mount.c:1472
+#, c-format
+msgid "mount: unknown filesystem type '%s'"
+msgstr "mount: tipo di filesystem '%s' sconosciuto"
+
+#: mount/mount.c:1484
+#, c-format
+msgid "mount: probably you meant %s"
+msgstr "mount: probabilmente si intende %s"
+
+#: mount/mount.c:1487
+msgid "mount: maybe you meant 'iso9660'?"
+msgstr "mount: forse si intendeva 'iso9660'?"
+
+#: mount/mount.c:1490
+msgid "mount: maybe you meant 'vfat'?"
+msgstr "mount: forse si intendeva 'vfat'?"
+
+#: mount/mount.c:1493
+#, 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/mount.c:1501
+#, 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/mount.c:1503
+#, c-format
+msgid ""
+"mount: the kernel does not recognize %s as a block device\n"
+"       (maybe `insmod driver'?)"
+msgstr ""
+"mount: il kernel non riconosce %s come un dispositivo a blocchi\n"
+"       (forse \"insmod driver\"?)"
+
+#: mount/mount.c:1506
+#, 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/mount.c:1509
+#, c-format
+msgid "mount: %s is not a block device"
+msgstr "mount: %s non è un dispositivo a blocchi"
+
+#: mount/mount.c:1514
+#, c-format
+msgid "mount: %s is not a valid block device"
+msgstr "mount: %s non è un dispositivo a blocchi valido"
+
+#: mount/mount.c:1517
+msgid "block device "
+msgstr "dispositivo a blocchi"
+
+#: mount/mount.c:1519
+#, c-format
+msgid "mount: cannot mount %s%s read-only"
+msgstr "mount: impossibile montare %s%s in sola lettura"
+
+#: mount/mount.c:1523
+#, 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/mount.c:1527
+#, fuzzy, c-format
+msgid "mount: cannot remount %s%s read-write, is write-protected"
+msgstr "mount: impossibile montare %s%s in sola lettura"
+
+#: mount/mount.c:1542
+#, 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/mount.c:1552
+#, fuzzy, c-format
+msgid "mount: no medium found on %s ...trying again\n"
+msgstr "mount: nessun %s trovato - creazione in corso...\n"
+
+#: mount/mount.c:1558
+#, fuzzy, c-format
+msgid "mount: no medium found on %s"
+msgstr "mount: %s già montato su %s\n"
+
+#: mount/mount.c:1576
+#, 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/mount.c:1655
+#, 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/mount.c:1661
+#, 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/mount.c:1756
+#, c-format
+msgid "mount: %s already mounted on %s\n"
+msgstr "mount: %s già montato su %s\n"
+
+#: mount/mount.c:1890
+#, 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/mount.c:2213
+msgid "mount: only root can do that"
+msgstr "mount: è possibile solo per root"
+
+#: mount/mount.c:2223
+msgid "nothing was mounted"
+msgstr "non è stato montato niente"
+
+#: mount/mount.c:2241 mount/mount.c:2267
+msgid "mount: no such partition found"
+msgstr "mount: non si è trovata tale partizione"
+
+#: mount/mount.c:2244
+#, c-format
+msgid "mount: can't find %s in %s or %s"
+msgstr "mount: impossibile trovare %s in %s o %s"
+
+#: mount/mount_mntent.c:165
+#, 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/mount_mntent.c:216
+#, c-format
+msgid "[mntent]: line %d in %s is bad%s\n"
+msgstr "[mntent]: riga %d in %s non valida%s\n"
+
+#: mount/mount_mntent.c:219
+msgid "; rest of file ignored"
+msgstr "; ignorato resto del file"
+
+#: mount/sundries.c:31
+msgid "bug in xstrndup call"
+msgstr "bug in chiamata xstrndup"
+
+#: mount/sundries.c:224 mount/sundries.c:280 mount/sundries.c:289
+#: mount/xmalloc.c:11
+msgid "not enough memory"
+msgstr "memoria insufficiente"
+
+#: mount/swapon.c:84
+#, c-format
+msgid ""
+"The <special> parameter:\n"
+" {-L label | LABEL=label}             LABEL of device to be used\n"
+" {-U uuid  | 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"
+"\n"
+msgstr ""
+
+#: mount/swapon.c:92
+#, c-format
+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 ""
+
+#: mount/swapon.c:106
+#, c-format
+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 ""
+
+#: mount/swapon.c:140
+#, fuzzy, c-format
+msgid "%s: unexpected file format"
+msgstr "%s: EOF non previsto nel file %s\n"
+
+#: mount/swapon.c:184 mount/swapon.c:252 mount/swapon.c:397 mount/swapon.c:556
+#: mount/swapon.c:758
+#, fuzzy, c-format
+msgid "%s: open failed"
+msgstr "openpty non riuscita\n"
+
+#: mount/swapon.c:205
+#, c-format
+msgid "%s: reinitializing the swap."
+msgstr ""
+
+#: mount/swapon.c:209
+#, fuzzy
+msgid "fork failed"
+msgstr "fork non riuscito\n"
+
+#: mount/swapon.c:225
+#, fuzzy
+msgid "execv failed"
+msgstr "exec fallita\n"
+
+#: mount/swapon.c:233
+#, fuzzy
+msgid "waitpid failed"
+msgstr "setuid() non riuscito"
+
+#: mount/swapon.c:257
+#, fuzzy, c-format
+msgid "%s: lseek failed"
+msgstr "ricerca non riuscita"
+
+#: mount/swapon.c:263
+#, fuzzy, c-format
+msgid "%s: write signature failed"
+msgstr "Apertura di %s non riuscita"
+
+#: mount/swapon.c:350
+#, c-format
+msgid "%s: found %sswap v%d signature string for %d KiB PAGE_SIZE\n"
+msgstr ""
+
+#: mount/swapon.c:370
+#, fuzzy, c-format
+msgid "%s: stat failed"
+msgstr "%s non riuscito.\n"
+
+#: mount/swapon.c:380
+#, fuzzy, c-format
+msgid "%s: insecure permissions %04o, %04o suggested."
+msgstr "%s: attenzione: %s ha permessi %04o non sicuri, si suggerisce %04o\n"
+
+#: mount/swapon.c:388
+#, fuzzy, c-format
+msgid "%s: skipping - it appears to have holes."
+msgstr "%s: file %s ignorato - sembra avere dei buchi.\n"
+
+#: mount/swapon.c:402
+#, fuzzy, c-format
+msgid "%s: get size failed"
+msgstr "ricerca non riuscita"
+
+#: mount/swapon.c:408
+#, c-format
+msgid "%s: read swap header failed"
+msgstr ""
+
+#: mount/swapon.c:421
+#, c-format
+msgid "%s: last_page 0x%08llx is larger than actual size of swapspace"
+msgstr ""
+
+#: mount/swapon.c:426
+#, c-format
+msgid "%s: swap format pagesize does not match."
+msgstr ""
+
+#: mount/swapon.c:431
+#, c-format
+msgid ""
+"%s: swap format pagesize does not match. (Use --fixpgsz to reinitialize it.)"
+msgstr ""
+
+#: mount/swapon.c:440
+#, c-format
+msgid "%s: software suspend data detected. Rewriting the swap signature."
+msgstr ""
+
+#: mount/swapon.c:464 mount/swapon.c:514
+#, c-format
+msgid "%s on %s\n"
+msgstr "%s su %s\n"
+
+#: mount/swapon.c:486
+#, fuzzy, c-format
+msgid "%s: swapon failed"
+msgstr "%s non riuscito.\n"
+
+#: mount/swapon.c:493
+#, fuzzy, c-format
+msgid "cannot find the device for %s"
+msgstr "%s: impossibile trovare il dispositivo per %s\n"
+
+#: mount/swapon.c:526
+#, fuzzy
+msgid "Not superuser."
+msgstr "Non superutente.\n"
+
+#: mount/swapon.c:529
+#, fuzzy, c-format
+msgid "%s: swapoff failed"
+msgstr "%s non riuscito.\n"
+
+#: mount/umount.c:41
+#, c-format
+msgid "umount: compiled without support for -f\n"
+msgstr "umount: compilato senza supporto per -f\n"
+
+#: mount/umount.c:111
+#, c-format
+msgid "umount: cannot set group id: %s"
+msgstr "umount: impossibile impostare l'id di gruppo: %s"
+
+#: mount/umount.c:114
+#, c-format
+msgid "umount: cannot set user id: %s"
+msgstr "umount: impossibile impostare l'id utente: %s"
+
+#: mount/umount.c:139
+#, c-format
+msgid "umount: cannot fork: %s"
+msgstr "mount: impossibile fare il fork: %s"
+
+#: mount/umount.c:160
+#, c-format
+msgid "umount: %s: invalid block device"
+msgstr "umount: %s: dispositivo di blocchi non valido"
+
+#: mount/umount.c:162
+#, c-format
+msgid "umount: %s: not mounted"
+msgstr "umount: %s: non montato"
+
+#: mount/umount.c:164
+#, c-format
+msgid "umount: %s: can't write superblock"
+msgstr "umount: %s: impossibile scrivere superblock"
+
+#: mount/umount.c:168
+#, 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/umount.c:173
+#, c-format
+msgid "umount: %s: not found"
+msgstr "umount: %s: non trovato"
+
+#: mount/umount.c:175
+#, c-format
+msgid "umount: %s: must be superuser to umount"
+msgstr "umount: %s: bisogna essere superuser per eseguire umount"
+
+#: mount/umount.c:177
+#, c-format
+msgid "umount: %s: block devices not permitted on fs"
+msgstr "umount: %s: i dispositivi di blocchi non sono permessi su fs"
+
+#: mount/umount.c:179
+#, c-format
+msgid "umount: %s: %s"
+msgstr "umount: %s: %s"
+
+#: mount/umount.c:235
+#, c-format
+msgid "no umount2, trying umount...\n"
+msgstr "nessun umount2, tentativo di umount in corso...\n"
+
+#: mount/umount.c:252
+#, c-format
+msgid "umount: %s busy - remounted read-only\n"
+msgstr "umount: %s occupato - rimontato sola lettura\n"
+
+#: mount/umount.c:263
+#, c-format
+msgid "umount: could not remount %s read-only\n"
+msgstr "umount: impossibile rimontare %s di sola lettura\n"
+
+#: mount/umount.c:272
+#, c-format
+msgid "%s umounted\n"
+msgstr "eseguito umount di %s\n"
+
+#: mount/umount.c:367
+msgid "umount: cannot find list of filesystems to unmount"
+msgstr "umount: impossibile trovare l'elenco dei filesystem da smontare"
+
+#: mount/umount.c:397
+#, 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/umount.c:466
+#, fuzzy, c-format
+msgid "device %s is associated with %s\n"
+msgstr "Il settore %d è già allocato\n"
+
+#: mount/umount.c:472
+#, fuzzy, c-format
+msgid "device %s is not associated with %s\n"
+msgstr "Il settore %d è già allocato\n"
+
+#: mount/umount.c:485
+msgid "Cannot umount \"\"\n"
+msgstr "Impossibile smontare \"\"\n"
+
+#: mount/umount.c:491
+#, c-format
+msgid "Trying to umount %s\n"
+msgstr "Tentativo di eseguire umount di %s in corso\n"
+
+#: mount/umount.c:504
+msgid "umount: confused when analyzing mtab"
+msgstr ""
+
+#: mount/umount.c:509
+#, c-format
+msgid "umount: cannot umount %s -- %s is mounted over it on the same point."
+msgstr ""
+
+#: mount/umount.c:516
+#, c-format
+msgid "Could not find %s in mtab\n"
+msgstr "Impossibile trovare %s in mtab\n"
+
+#: mount/umount.c:523
+#, c-format
+msgid "umount: %s is not mounted (according to mtab)"
+msgstr "umount: %s non è montato (secondo mtab)"
+
+#: mount/umount.c:547
+#, c-format
+msgid "umount: it seems %s is mounted multiple times"
+msgstr "umount: sembra che %s sia stato montato diverse volte"
+
+#: mount/umount.c:561
+#, 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/umount.c:567
+#, c-format
+msgid "umount: %s mount disagrees with the fstab"
+msgstr "umount: %s mount non coerente con fstab"
+
+#: mount/umount.c:608
+#, c-format
+msgid "umount: only %s can unmount %s from %s"
+msgstr "umount: solo %s può smontare %s da %s"
+
+#: mount/umount.c:695
+msgid "umount: only root can do that"
+msgstr " umount: solo root può farlo"
+
+#: schedutils/chrt.c:56
+#, 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"
+"\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 ""
+
+#: schedutils/chrt.c:88
+#, fuzzy, c-format
+msgid "failed to get pid %d's policy"
+msgstr "Scrittura della partizione su %s non riuscita\n"
+
+#: schedutils/chrt.c:90
+#, c-format
+msgid "pid %d's %s scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:112
+#, fuzzy, c-format
+msgid "unknown\n"
+msgstr "sconosciuto"
+
+#: schedutils/chrt.c:116
+#, c-format
+msgid "failed to get pid %d's attributes"
+msgstr ""
+
+#: schedutils/chrt.c:118
+#, c-format
+msgid "pid %d's %s scheduling priority: %d\n"
+msgstr ""
+
+#: schedutils/chrt.c:147
+#, c-format
+msgid "SCHED_%s min/max priority\t: %d/%d\n"
+msgstr ""
+
+#: schedutils/chrt.c:150
+#, fuzzy, c-format
+msgid "SCHED_%s not supported?\n"
+msgstr "NFS attraverso TCP non supportato.\n"
+
+#: schedutils/chrt.c:206
+#, fuzzy
+msgid "failed to parse pid"
+msgstr "%s: impossibile aprire: %s\n"
+
+#: schedutils/chrt.c:228
+#, fuzzy
+msgid "current"
+msgstr "ncount"
+
+#: schedutils/chrt.c:236
+#, fuzzy
+msgid "failed to parse priority"
+msgstr "Scrittura della partizione su %s non riuscita\n"
+
+#: schedutils/chrt.c:242
+#, fuzzy, c-format
+msgid "failed to set pid %d's policy"
+msgstr "Scrittura della partizione su %s non riuscita\n"
+
+#: schedutils/chrt.c:251
+#, fuzzy, c-format
+msgid "failed to execute %s"
+msgstr "ioctl() non è riuscito a leggere l'orario da %s"
+
+#: schedutils/ionice.c:57
+#, fuzzy
+msgid "ioprio_get failed"
+msgstr "openpty non riuscita\n"
+
+#: schedutils/ionice.c:75
+#, fuzzy
+msgid "ioprio_set failed"
+msgstr "openpty non riuscita\n"
+
+#: schedutils/ionice.c:81
+#, c-format
+msgid ""
+"\n"
+"ionice - sets or gets process io scheduling class and priority.\n"
+"\n"
+"Usage:\n"
+"  ionice [ options ] -p <pid> [<pid> ...]\n"
+"  ionoce [ 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 ""
+
+#: schedutils/ionice.c:110 schedutils/ionice.c:112
+#, fuzzy, c-format
+msgid "cannot parse number '%s'"
+msgstr "impossibile aprire %s"
+
+#: schedutils/ionice.c:151
+msgid "ignoring given class data for none class"
+msgstr ""
+
+#: schedutils/ionice.c:159
+msgid "ignoring given class data for idle class"
+msgstr ""
+
+#: schedutils/ionice.c:163
+#, c-format
+msgid "bad prio class %d"
+msgstr ""
+
+#: schedutils/ionice.c:187
+#, fuzzy
+msgid "execvp failed"
+msgstr "exec fallita\n"
+
+#: sys-utils/ctrlaltdel.c:27
+#, c-format
+msgid "You must be root to set the Ctrl-Alt-Del behaviour.\n"
+msgstr "Bisogna essere root per impostare modalità Ctrl-Alt-Del.\n"
+
+#: sys-utils/ctrlaltdel.c:42
+#, c-format
+msgid "Usage: ctrlaltdel hard|soft\n"
+msgstr "Uso: ctrlaltdel hard|soft\n"
+
+#: sys-utils/cytune.c:114
+#, 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\n"
+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:125
+#, c-format
+msgid ""
+"File %s, For threshold value %lu and timrout value %lu, Maximum characters "
+"in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f\n"
+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:189
+#, c-format
+msgid "Invalid interval value: %s\n"
+msgstr "Valore intervallo non valido: %s\n"
+
+#: sys-utils/cytune.c:197
+#, c-format
+msgid "Invalid set value: %s\n"
+msgstr "Valore impostato non valido: %s\n"
+
+#: sys-utils/cytune.c:205
+#, c-format
+msgid "Invalid default value: %s\n"
+msgstr "Valore predefinito non valido: %s\n"
+
+#: sys-utils/cytune.c:213
+#, c-format
+msgid "Invalid set time value: %s\n"
+msgstr "Ora impostata non valida: %s\n"
+
+#: sys-utils/cytune.c:221
+#, c-format
+msgid "Invalid default time value: %s\n"
+msgstr "Ora predefinita non valida: %s\n"
+
+#: sys-utils/cytune.c:238
+#, c-format
+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"
+
+#: sys-utils/cytune.c:250 sys-utils/cytune.c:269 sys-utils/cytune.c:289
+#: sys-utils/cytune.c:339
+#, c-format
+msgid "Can't open %s: %s\n"
+msgstr "Impossibile aprire %s: %s\n"
+
+#: sys-utils/cytune.c:257
+#, c-format
+msgid "Can't set %s to threshold %d: %s\n"
+msgstr "Impossibile impostare %s alla soglia %d: %s\n"
+
+#: sys-utils/cytune.c:276
+#, c-format
+msgid "Can't set %s to time threshold %d: %s\n"
+msgstr "Impossibile impostare %s al limite ora %d: %s\n"
+
+#: sys-utils/cytune.c:294 sys-utils/cytune.c:351 sys-utils/cytune.c:382
+#, c-format
+msgid "Can't get threshold for %s: %s\n"
+msgstr "Impossibile ottenere il limite per %s: %s\n"
+
+#: sys-utils/cytune.c:300 sys-utils/cytune.c:357 sys-utils/cytune.c:388
+#, c-format
+msgid "Can't get timeout for %s: %s\n"
+msgstr "Impossibile ottenere il timeout per %s: %s\n"
+
+#: sys-utils/cytune.c:306
+#, 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:309
+#, c-format
+msgid "%s: %ld default threshold and %ld default timeout\n"
+msgstr "%s: %ld soglia predefinita e %ld timeout predefinito\n"
+
+#: sys-utils/cytune.c:327
+msgid "Can't set signal handler"
+msgstr "Impossibile impostare un gestore del segnale"
+
+#: sys-utils/cytune.c:331 sys-utils/cytune.c:366
+msgid "gettimeofday failed"
+msgstr "gettimeofday non riuscito"
+
+#: sys-utils/cytune.c:344 sys-utils/cytune.c:376
+#, c-format
+msgid "Can't issue CYGETMON on %s: %s\n"
+msgstr "Impossibile eseguire CYGETMON su %s: %s\n"
+
+#: sys-utils/cytune.c:418
+#, c-format
+msgid ""
+"%s: %lu ints, %lu/%lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+
+#: sys-utils/cytune.c:424
+#, 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:429
+#, 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:435
+#, c-format
+msgid "   %f int/sec; %f rec (char/sec)\n"
+msgstr "   %f int/sec; %f rec (car/sec)\n"
+
+#: sys-utils/dmesg.c:45
+#, fuzzy, c-format
+msgid "Usage: %s [-c] [-n level] [-r] [-s bufsize]\n"
+msgstr "Uso: %s [-c] [-n livello] [-s bufsize]\n"
+
+#: sys-utils/flock.c:65
+#, c-format
+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 ""
+
+#: sys-utils/flock.c:192
+#, fuzzy, c-format
+msgid "%s: %s requires exactly one command argument\n"
+msgstr "%s richiede un argomento\n"
+
+#: sys-utils/flock.c:219
+#, fuzzy, c-format
+msgid "%s: cannot open lock file %s: %s\n"
+msgstr "%s: impossibile aprire %s: %s\n"
+
+#: sys-utils/flock.c:231
+#, fuzzy, c-format
+msgid "%s: bad number: %s\n"
+msgstr "%s: valore non valido\n"
+
+#: sys-utils/flock.c:238
+#, c-format
+msgid "%s: requires file descriptor, file or directory\n"
+msgstr ""
+
+#: sys-utils/flock.c:294
+#, fuzzy, c-format
+msgid "%s: fork failed: %s\n"
+msgstr "fork non riuscito\n"
+
+#: sys-utils/ipcmk.c:84
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage: %s [options]\n"
+"\n"
+msgstr "Uso: %s [opzioni] dispositivo...\n"
+
+#: sys-utils/ipcmk.c:86
+#, c-format
+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 ""
+
+#: sys-utils/ipcmk.c:90
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see ipcmk(1).\n"
+"\n"
+msgstr ""
+"\n"
+"Per maggiori informazioni vedere setarch(8).\n"
+
+#: sys-utils/ipcmk.c:142
+msgid "create share memory failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:144
+#, fuzzy, c-format
+msgid "Shared memory id: %d\n"
+msgstr ""
+"\n"
+"Segmento memoria condivisa shmid=%d\n"
+
+#: sys-utils/ipcmk.c:150
+msgid "create message queue failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:152
+#, fuzzy, c-format
+msgid "Message queue id: %d\n"
+msgstr ""
+"\n"
+"Coda di messaggi msqid=%d\n"
+
+#: sys-utils/ipcmk.c:158
+#, fuzzy
+msgid "create semaphore failed"
+msgstr "semafori allocati = %d\n"
+
+#: sys-utils/ipcmk.c:160
+#, fuzzy, c-format
+msgid "Semaphore id: %d\n"
+msgstr ""
+"\n"
+"matrice semafori semid=%d\n"
+
+#: sys-utils/ipcrm.c:66
+#, c-format
+msgid "invalid id: %s\n"
+msgstr "id non valido: %s\n"
+
+#: sys-utils/ipcrm.c:84
+#, c-format
+msgid "cannot remove id %s (%s)\n"
+msgstr "impossibile rimuovere l'id %s %s\n"
+
+#: sys-utils/ipcrm.c:99
+#, c-format
+msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
+msgstr "uso deprecato: %s {shm | msg | sem} id ...\n"
+
+#: sys-utils/ipcrm.c:126
+#, c-format
+msgid "unknown resource type: %s\n"
+msgstr "tipo di risorsa sconosciuto: %s\n"
+
+#: sys-utils/ipcrm.c:130
+#, c-format
+msgid "resource(s) deleted\n"
+msgstr "risorsa eliminata\n"
+
+#: sys-utils/ipcrm.c:140
+#, c-format
+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"
+
+#: sys-utils/ipcrm.c:181
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: opzione illegale -- %c\n"
+
+#: sys-utils/ipcrm.c:193
+#, c-format
+msgid "%s: illegal key (%s)\n"
+msgstr "%s: chiave illegale (%s)\n"
+
+#: sys-utils/ipcrm.c:208 sys-utils/ipcrm.c:240
+msgid "permission denied for key"
+msgstr "autorizzazione negata per la chiave"
+
+#: sys-utils/ipcrm.c:211 sys-utils/ipcrm.c:250
+msgid "already removed key"
+msgstr "chiave giù rimossa"
+
+#: sys-utils/ipcrm.c:214 sys-utils/ipcrm.c:245
+msgid "invalid key"
+msgstr "chiave non valida"
+
+#: sys-utils/ipcrm.c:217 sys-utils/ipcrm.c:255
+msgid "unknown error in key"
+msgstr "errore sconosciuto nella chiave"
+
+#: sys-utils/ipcrm.c:241
+msgid "permission denied for id"
+msgstr "autorizzazione negata per id"
+
+#: sys-utils/ipcrm.c:246
+msgid "invalid id"
+msgstr "id non valido"
+
+#: sys-utils/ipcrm.c:251
+msgid "already removed id"
+msgstr "id già rimosso"
+
+#: sys-utils/ipcrm.c:256
+msgid "unknown error in id"
+msgstr "errore sconosciuti in id"
+
+#: sys-utils/ipcrm.c:259
+#, c-format
+msgid "%s: %s (%s)\n"
+msgstr "%s: %s (%s)\n"
+
+#: sys-utils/ipcrm.c:267
+#, c-format
+msgid "%s: unknown argument: %s\n"
+msgstr "%s: argomento sconosciuto: %s\n"
+
+#: sys-utils/ipcs.c:120
+#, c-format
+msgid "usage : %s -asmq -tclup \n"
+msgstr "uso : %s -asmq -tclup \n"
+
+#: sys-utils/ipcs.c:121
+#, c-format
+msgid "\t%s [-s -m -q] -i id\n"
+msgstr "\t%s [-s -m -q] -i id\n"
+
+#: sys-utils/ipcs.c:122
+#, c-format
+msgid "\t%s -h for help.\n"
+msgstr "\t%s -h per richiamare la guida.\n"
+
+#: sys-utils/ipcs.c:128
+#, c-format
+msgid ""
+"%s provides information on ipc facilities for which you have read access.\n"
+msgstr ""
+"%s fornisce informazioni sulle funzionalità ipc a cui avete accesso in "
+"lettura.\n"
+
+#: sys-utils/ipcs.c:130
+#, c-format
+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"
+
+#: sys-utils/ipcs.c:131
+#, c-format
+msgid ""
+"\t-s : semaphores\n"
+"\t-a : all (default)\n"
+msgstr ""
+"\t-s : semafori\n"
+"\t-a : tutti (predefinito)\n"
+
+#: sys-utils/ipcs.c:132
+#, c-format
+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"
+
+#: sys-utils/ipcs.c:133
+#, c-format
+msgid ""
+"\t-l : limits\n"
+"\t-u : summary\n"
+msgstr ""
+"\t-l : limiti\n"
+"\t-u : sommario\n"
+
+#: sys-utils/ipcs.c:134
+#, c-format
+msgid "-i id [-s -q -m] : details on resource identified by id\n"
+msgstr "-i id [-s -q -m] : dettagli sulla risorsa identificata da id\n"
+
+#: sys-utils/ipcs.c:258
+#, 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:264
+#, c-format
+msgid "------ Shared Memory Limits --------\n"
+msgstr "------ Limiti della memoria condivisa --------\n"
+
+#: sys-utils/ipcs.c:269
+#, c-format
+msgid "max number of segments = %lu\n"
+msgstr "numero massimo di segmenti = %lu\n"
+
+#: sys-utils/ipcs.c:271
+#, c-format
+msgid "max seg size (kbytes) = %lu\n"
+msgstr "dimensione max seg (kbyte) = %lu\n"
+
+#: sys-utils/ipcs.c:273
+#, 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:275
+#, c-format
+msgid "min seg size (bytes) = %lu\n"
+msgstr "dimensione min seg (byte) = %lu\n"
+
+#: sys-utils/ipcs.c:280
+#, c-format
+msgid "------ Shared Memory Status --------\n"
+msgstr "------ stato della memoria condivisa --------\n"
+
+#: sys-utils/ipcs.c:281
+#, c-format
+msgid "segments allocated %d\n"
+msgstr "segmenti allocati %d\n"
+
+#: sys-utils/ipcs.c:282
+#, c-format
+msgid "pages allocated %ld\n"
+msgstr "pagine allocate %ld\n"
+
+#: sys-utils/ipcs.c:283
+#, c-format
+msgid "pages resident  %ld\n"
+msgstr "pagine residenti  %ld\n"
+
+#: sys-utils/ipcs.c:284
+#, c-format
+msgid "pages swapped   %ld\n"
+msgstr "pagine scambiate (swapping)   %ld\n"
+
+#: sys-utils/ipcs.c:285
+#, c-format
+msgid "Swap performance: %ld attempts\t %ld successes\n"
+msgstr "Prestazione swap: %ld tentativi\t %ld riusciti\n"
+
+#: sys-utils/ipcs.c:290
+#, c-format
+msgid "------ Shared Memory Segment Creators/Owners --------\n"
+msgstr "------ Segmento Mem. Condiv. Creatori/Propr.--------\n"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:298 sys-utils/ipcs.c:305
+#: sys-utils/ipcs.c:311
+msgid "shmid"
+msgstr "shmid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:311 sys-utils/ipcs.c:412
+#: sys-utils/ipcs.c:427 sys-utils/ipcs.c:510 sys-utils/ipcs.c:528
+msgid "perms"
+msgstr "perms"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "cuid"
+msgstr "cuid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "cgid"
+msgstr "cgid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "uid"
+msgstr "uid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "gid"
+msgstr "gid"
+
+#: sys-utils/ipcs.c:296
+#, c-format
+msgid "------ Shared Memory Attach/Detach/Change Times --------\n"
+msgstr "------ Mem. Condiv.  Conn./Sconn./Cambio  Volte --------\n"
+
+#: sys-utils/ipcs.c:298 sys-utils/ipcs.c:305 sys-utils/ipcs.c:311
+#: sys-utils/ipcs.c:418 sys-utils/ipcs.c:427 sys-utils/ipcs.c:516
+#: sys-utils/ipcs.c:522 sys-utils/ipcs.c:528
+msgid "owner"
+msgstr "proprietario"
+
+#: sys-utils/ipcs.c:298
+msgid "attached"
+msgstr "connesso"
+
+#: sys-utils/ipcs.c:298
+msgid "detached"
+msgstr "disconnesso"
+
+#: sys-utils/ipcs.c:299
+msgid "changed"
+msgstr "cambiato"
+
+#: sys-utils/ipcs.c:303
+#, c-format
+msgid "------ Shared Memory Creator/Last-op --------\n"
+msgstr "------ Mem.  Condiv. Creatore/Last-op--------\n"
+
+#: sys-utils/ipcs.c:305
+msgid "cpid"
+msgstr "cpid"
+
+#: sys-utils/ipcs.c:305
+msgid "lpid"
+msgstr "lpid"
+
+#: sys-utils/ipcs.c:309
+#, c-format
+msgid "------ Shared Memory Segments --------\n"
+msgstr "------ Segm. Memoria Condivisa --------\n"
+
+#: sys-utils/ipcs.c:311 sys-utils/ipcs.c:427 sys-utils/ipcs.c:528
+msgid "key"
+msgstr "chiave"
+
+#: sys-utils/ipcs.c:311
+msgid "bytes"
+msgstr "byte"
+
+#: sys-utils/ipcs.c:312
+msgid "nattch"
+msgstr "nattch"
+
+#: sys-utils/ipcs.c:312
+msgid "status"
+msgstr "stato"
+
+#: sys-utils/ipcs.c:333 sys-utils/ipcs.c:335 sys-utils/ipcs.c:337
+#: sys-utils/ipcs.c:448 sys-utils/ipcs.c:450 sys-utils/ipcs.c:549
+#: sys-utils/ipcs.c:551 sys-utils/ipcs.c:553 sys-utils/ipcs.c:604
+#: sys-utils/ipcs.c:606 sys-utils/ipcs.c:634 sys-utils/ipcs.c:636
+#: sys-utils/ipcs.c:638 sys-utils/ipcs.c:661
+msgid "Not set"
+msgstr "Non impostato"
+
+#: sys-utils/ipcs.c:365
+msgid "dest"
+msgstr "dest"
+
+#: sys-utils/ipcs.c:366
+msgid "locked"
+msgstr "bloccato"
+
+#: sys-utils/ipcs.c:386
+#, c-format
+msgid "kernel not configured for semaphores\n"
+msgstr "kernel non configurato per i semafori\n"
+
+#: sys-utils/ipcs.c:392
+#, c-format
+msgid "------ Semaphore Limits --------\n"
+msgstr "------ Limiti di semaforo --------\n"
+
+#: sys-utils/ipcs.c:396
+#, c-format
+msgid "max number of arrays = %d\n"
+msgstr "numero max di matrici = %d\n"
+
+#: sys-utils/ipcs.c:397
+#, c-format
+msgid "max semaphores per array = %d\n"
+msgstr "numero max di semafori per matrice = %d\n"
+
+#: sys-utils/ipcs.c:398
+#, c-format
+msgid "max semaphores system wide = %d\n"
+msgstr "numero max di semafori su tutto il sistema = %d\n"
+
+#: sys-utils/ipcs.c:399
+#, c-format
+msgid "max ops per semop call = %d\n"
+msgstr "numero max opz. per chiamata semop = %d\n"
+
+#: sys-utils/ipcs.c:400
+#, c-format
+msgid "semaphore max value = %d\n"
+msgstr "valore max del semaforo = %d\n"
+
+#: sys-utils/ipcs.c:404
+#, c-format
+msgid "------ Semaphore Status --------\n"
+msgstr "------ Stato del semaforo --------\n"
+
+#: sys-utils/ipcs.c:405
+#, c-format
+msgid "used arrays = %d\n"
+msgstr "matrici utilizzate = %d\n"
+
+#: sys-utils/ipcs.c:406
+#, c-format
+msgid "allocated semaphores = %d\n"
+msgstr "semafori allocati = %d\n"
+
+#: sys-utils/ipcs.c:410
+#, c-format
+msgid "------ Semaphore Arrays Creators/Owners --------\n"
+msgstr "------ Matrice di Semaf. Creatori/Propr. --------\n"
+
+#: sys-utils/ipcs.c:412 sys-utils/ipcs.c:418 sys-utils/ipcs.c:427
+msgid "semid"
+msgstr "semid"
+
+#: sys-utils/ipcs.c:416
+#, fuzzy, c-format
+msgid "------ Semaphore Operation/Change Times --------\n"
+msgstr "------ Mem. Condivisa Operazione/Modif. Volte --------\n"
+
+#: sys-utils/ipcs.c:418
+msgid "last-op"
+msgstr "last-op"
+
+#: sys-utils/ipcs.c:418
+msgid "last-changed"
+msgstr "ultima-modifica"
+
+#: sys-utils/ipcs.c:425
+#, c-format
+msgid "------ Semaphore Arrays --------\n"
+msgstr "------ Matrici semafori --------\n"
+
+#: sys-utils/ipcs.c:427
+msgid "nsems"
+msgstr "nsems"
+
+#: sys-utils/ipcs.c:486
+#, c-format
+msgid "kernel not configured for message queues\n"
+msgstr "kernel non configurato per le code di messaggi\n"
+
+#: sys-utils/ipcs.c:494
+#, c-format
+msgid "------ Messages: Limits --------\n"
+msgstr "------ Messaggi: limiti --------\n"
+
+#: sys-utils/ipcs.c:495
+#, c-format
+msgid "max queues system wide = %d\n"
+msgstr "numero max di code su tutto il sistema = %d\n"
+
+#: sys-utils/ipcs.c:496
+#, c-format
+msgid "max size of message (bytes) = %d\n"
+msgstr "dimensione max del messaggio (byte) = %d\n"
+
+#: sys-utils/ipcs.c:497
+#, c-format
+msgid "default max size of queue (bytes) = %d\n"
+msgstr "dimensione massima predefinita della coda (byte) = %d\n"
+
+#: sys-utils/ipcs.c:501
+#, c-format
+msgid "------ Messages: Status --------\n"
+msgstr "------ Messaggi: stato --------\n"
+
+#: sys-utils/ipcs.c:502
+#, c-format
+msgid "allocated queues = %d\n"
+msgstr "code allocate = %d\n"
+
+#: sys-utils/ipcs.c:503
+#, c-format
+msgid "used headers = %d\n"
+msgstr "intestazioni utilizzate = %d\n"
+
+#: sys-utils/ipcs.c:504
+#, c-format
+msgid "used space = %d bytes\n"
+msgstr "spazio utilizzato = %d byte\n"
+
+#: sys-utils/ipcs.c:508
+#, c-format
+msgid "------ Message Queues: Creators/Owners --------\n"
+msgstr "------ Code messaggi: Creatori/Proprietari --------\n"
+
+#: sys-utils/ipcs.c:510 sys-utils/ipcs.c:516 sys-utils/ipcs.c:522
+#: sys-utils/ipcs.c:528
+msgid "msqid"
+msgstr "msqid"
+
+#: sys-utils/ipcs.c:514
+#, c-format
+msgid "------ Message Queues Send/Recv/Change Times --------\n"
+msgstr "------ Code messaggi  Inv./Ric./Modif. Volte--------\n"
+
+#: sys-utils/ipcs.c:516
+msgid "send"
+msgstr "invio"
+
+#: sys-utils/ipcs.c:516
+msgid "recv"
+msgstr "ricez."
+
+#: sys-utils/ipcs.c:516
+msgid "change"
+msgstr "modifica"
+
+#: sys-utils/ipcs.c:520
+#, c-format
+msgid "------ Message Queues PIDs --------\n"
+msgstr "------ Code Messaggi  PID  --------\n"
+
+#: sys-utils/ipcs.c:522
+msgid "lspid"
+msgstr "lspid"
+
+#: sys-utils/ipcs.c:522
+msgid "lrpid"
+msgstr "lrpid"
+
+#: sys-utils/ipcs.c:526
+#, c-format
+msgid "------ Message Queues --------\n"
+msgstr "------ Code messaggi  --------\n"
+
+#: sys-utils/ipcs.c:529
+msgid "used-bytes"
+msgstr "byte utilizzati"
+
+#: sys-utils/ipcs.c:529
+msgid "messages"
+msgstr "messaggi"
+
+#: sys-utils/ipcs.c:593
+#, fuzzy
+msgid "shmctl failed"
+msgstr "fsync non riuscito "
+
+#: sys-utils/ipcs.c:595
+#, c-format
+msgid ""
+"\n"
+"Shared memory Segment shmid=%d\n"
+msgstr ""
+"\n"
+"Segmento memoria condivisa shmid=%d\n"
+
+#: sys-utils/ipcs.c:596
+#, c-format
+msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+
+#: sys-utils/ipcs.c:598
+#, c-format
+msgid "mode=%#o\taccess_perms=%#o\n"
+msgstr "mode=%#o\taccess_perms=%#o\n"
+
+#: sys-utils/ipcs.c:600
+#, c-format
+msgid "bytes=%ld\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+msgstr "byte=%ld\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+
+#: sys-utils/ipcs.c:603
+#, c-format
+msgid "att_time=%-26.24s\n"
+msgstr "att_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:605
+#, c-format
+msgid "det_time=%-26.24s\n"
+msgstr "det_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:607 sys-utils/ipcs.c:637
+#, c-format
+msgid "change_time=%-26.24s\n"
+msgstr "change_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:619
+#, fuzzy
+msgid "msgctl failed"
+msgstr "fsync non riuscito "
+
+#: sys-utils/ipcs.c:621
+#, c-format
+msgid ""
+"\n"
+"Message Queue msqid=%d\n"
+msgstr ""
+"\n"
+"Coda di messaggi msqid=%d\n"
+
+#: sys-utils/ipcs.c:622
+#, c-format
+msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
+
+#: sys-utils/ipcs.c:624
+#, 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:633
+#, c-format
+msgid "send_time=%-26.24s\n"
+msgstr "send_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:635
+#, c-format
+msgid "rcv_time=%-26.24s\n"
+msgstr "rcv_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:652 sys-utils/ipcs.c:674
+#, fuzzy
+msgid "semctl failed"
+msgstr "ricerca non riuscita"
+
+#: sys-utils/ipcs.c:654
+#, c-format
+msgid ""
+"\n"
+"Semaphore Array semid=%d\n"
+msgstr ""
+"\n"
+"matrice semafori semid=%d\n"
+
+#: sys-utils/ipcs.c:655
+#, c-format
+msgid "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+msgstr "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+
+#: sys-utils/ipcs.c:657
+#, c-format
+msgid "mode=%#o, access_perms=%#o\n"
+msgstr "modalità=%#o, access_perms=%#o\n"
+
+#: sys-utils/ipcs.c:659
+#, c-format
+msgid "nsems = %ld\n"
+msgstr "nsems = %ld\n"
+
+#: sys-utils/ipcs.c:660
+#, c-format
+msgid "otime = %-26.24s\n"
+msgstr "otime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:662
+#, c-format
+msgid "ctime = %-26.24s\n"
+msgstr "ctime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:665
+msgid "semnum"
+msgstr "semnum"
+
+#: sys-utils/ipcs.c:665
+msgid "value"
+msgstr "valore"
+
+#: sys-utils/ipcs.c:665
+msgid "ncount"
+msgstr "ncount"
+
+#: sys-utils/ipcs.c:665
+msgid "zcount"
+msgstr "zcount"
+
+#: sys-utils/ipcs.c:665
+msgid "pid"
+msgstr "pid"
+
+#: sys-utils/ldattach.c:92
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [ -dhV78neo12 ] [ -s <speed> ] <ldisc> <device>\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:94
+msgid ""
+"\n"
+"Known <ldisc> names:\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:179
+#, fuzzy, c-format
+msgid "invalid speed: %s"
+msgstr "id non valido: %s\n"
+
+#: sys-utils/ldattach.c:182
+#, fuzzy, c-format
+msgid "ldattach from %s\n"
+msgstr "%s da %s\n"
+
+#: sys-utils/ldattach.c:187 text-utils/tailf.c:205
+#, fuzzy
+msgid "invalid option"
+msgstr "id non valido"
+
+#: sys-utils/ldattach.c:199
+#, fuzzy, c-format
+msgid "invalid line discipline: %s"
+msgstr "id non valido: %s\n"
+
+#: sys-utils/ldattach.c:207
+#, fuzzy, c-format
+msgid "%s is not a serial line"
+msgstr "%s non è un dispositivo speciale a blocchi"
+
+#: sys-utils/ldattach.c:213
+#, fuzzy, c-format
+msgid "cannot get terminal attributes for %s"
+msgstr "impossibile ottenere la dimensione di %s"
+
+#: sys-utils/ldattach.c:216
+#, c-format
+msgid "speed %d unsupported"
+msgstr ""
+
+#: sys-utils/ldattach.c:247
+#, c-format
+msgid "cannot set terminal attributes for %s"
+msgstr ""
+
+#: sys-utils/ldattach.c:254
+#, fuzzy
+msgid "cannot set line discipline"
+msgstr "Ricerca sull'unità disco impossibile"
+
+#: sys-utils/ldattach.c:260
+#, fuzzy
+msgid "cannot daemonize"
+msgstr "impossibile aprire %s"
+
+#: sys-utils/lscpu.c:64
+#, fuzzy
+msgid "none"
+msgstr "Nessuno"
+
+#: sys-utils/lscpu.c:65
+msgid "para"
+msgstr ""
+
+#: sys-utils/lscpu.c:66
+msgid "full"
+msgstr ""
+
+#: sys-utils/lscpu.c:129 sys-utils/lscpu.c:152 sys-utils/lscpu.c:441
+#, fuzzy, c-format
+msgid "error: %s"
+msgstr "fork: %s"
+
+#: sys-utils/lscpu.c:154
+#, fuzzy, c-format
+msgid "error parse: %s"
+msgstr "errore durante la lettura di %s\n"
+
+#: sys-utils/lscpu.c:176
+#, fuzzy
+msgid "error: strdup failed"
+msgstr "Apertura di %s non riuscita"
+
+#: sys-utils/lscpu.c:259
+#, fuzzy
+msgid "error: uname failed"
+msgstr ""
+"\n"
+"Errore durante la chiusura del file\n"
+
+#: sys-utils/lscpu.c:491
+#, fuzzy
+msgid "error: malloc failed"
+msgstr "malloc non riuscita"
+
+#: sys-utils/lscpu.c:506
+msgid "error: /sys filesystem is not accessable."
+msgstr ""
+
+#: sys-utils/lscpu.c:524
+#, 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"
+"# CPU,Core,Socket,Node"
+msgstr ""
+
+#: sys-utils/lscpu.c:590
+msgid "Thread(s) per core:"
+msgstr ""
+
+#: sys-utils/lscpu.c:591
+msgid "Core(s) per socket:"
+msgstr ""
+
+#: sys-utils/lscpu.c:592
+msgid "CPU socket(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:596
+msgid "NUMA node(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:598
+msgid "Vendor ID:"
+msgstr ""
+
+#: sys-utils/lscpu.c:600
+msgid "CPU family:"
+msgstr ""
+
+#: sys-utils/lscpu.c:602
+msgid "Model:"
+msgstr ""
+
+#: sys-utils/lscpu.c:604
+msgid "Stepping:"
+msgstr ""
+
+#: sys-utils/lscpu.c:606
+msgid "CPU MHz:"
+msgstr ""
+
+#: sys-utils/lscpu.c:609 sys-utils/lscpu.c:611
+#, fuzzy
+msgid "Virtualization:"
+msgstr "Vecchia situazione:\n"
+
+#: sys-utils/lscpu.c:614
+msgid "Hypervisor vendor:"
+msgstr ""
+
+#: sys-utils/lscpu.c:615
+msgid "Virtualization type:"
+msgstr ""
+
+#: sys-utils/lscpu.c:623
+#, c-format
+msgid "%s cache:"
+msgstr ""
+
+#: sys-utils/lscpu.c:631
+#, fuzzy, c-format
+msgid "Usage: %s [option]\n"
+msgstr "Uso: %s [opzioni] dispositivo...\n"
+
+#: sys-utils/lscpu.c:634
+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 ""
+
+#: sys-utils/lscpu.c:683
+#, fuzzy, c-format
+msgid "error: change working directory to %s."
+msgstr "errore durante il cambiamento della modalità di %s: %s\n"
+
+#: sys-utils/rdev.c:77
+msgid "usage: rdev [ -rv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]"
+msgstr "Uso: rdev [ -rv ] [ -o OFFSET ] [ IMMAGINE [ VALORE [ OFFSET ] ] ]"
+
+#: sys-utils/rdev.c:78
+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"
+
+#: sys-utils/rdev.c:79
+msgid "  rdev /dev/fd0 /dev/hda2         sets ROOT to /dev/hda2"
+msgstr "  rdev /dev/fd0 /dev/hda2         imposta ROOT su /dev/hda2"
+
+#: sys-utils/rdev.c:80
+msgid "  rdev -R /dev/fd0 1              set the ROOTFLAGS (readonly status)"
+msgstr ""
+"  rdev -R /dev/fd0 1             imposta i ROOTFLAGS (stato sola lettura)"
+
+#: sys-utils/rdev.c:81
+msgid "  rdev -r /dev/fd0 627            set the RAMDISK size"
+msgstr "  rdev -r /dev/fd0 627            imposta la dimensione del RAMDISK"
+
+#: sys-utils/rdev.c:82
+msgid "  rdev -v /dev/fd0 1              set the bootup VIDEOMODE"
+msgstr "  rdev -v /dev/fd0 1             imposta VIDEOMODE all'avvio"
+
+#: sys-utils/rdev.c:83
+msgid "  rdev -o N ...                   use the byte offset N"
+msgstr "  rdev -o N ...                   utilizza byte offset N"
+
+#: sys-utils/rdev.c:84
+msgid "  rootflags ...                   same as rdev -R"
+msgstr " rootflags ...                   come rdev -R"
+
+#: sys-utils/rdev.c:85
+msgid "  ramsize ...                     same as rdev -r"
+msgstr " ramsize ...                     come rdev -r"
+
+#: sys-utils/rdev.c:86
+msgid "  vidmode ...                     same as rdev -v"
+msgstr " vidmode ...                     come rdev -v"
+
+#: sys-utils/rdev.c:87
+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,..."
+
+#: sys-utils/rdev.c:88
+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."
+
+#: sys-utils/rdev.c:245
+msgid "missing comma"
+msgstr "virgola mancante"
+
+#: sys-utils/readprofile.c:72
+#, c-format
+msgid "out of memory"
+msgstr "memoria esaurita"
+
+# NdT: traduzione seguendo 'man readprofile'
+# FIXME
+#: sys-utils/readprofile.c:118
+#, 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: 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"
+
+#: sys-utils/readprofile.c:227
+#, fuzzy, c-format
+msgid "readprofile: error writing %s: %s\n"
+msgstr "mount: errore durante la scrittura di %s: %s"
+
+#: sys-utils/readprofile.c:268
+#, c-format
+msgid "Assuming reversed byte order. Use -n to force native byte order.\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:284
+#, c-format
+msgid "Sampling_step: %i\n"
+msgstr "Sampling_step: %i\n"
+
+#: sys-utils/readprofile.c:305 sys-utils/readprofile.c:331
+#, c-format
+msgid "%s: %s(%i): wrong map line\n"
+msgstr "%s: %s(%i): linea mappa errata\n"
+
+#: sys-utils/readprofile.c:318
+#, c-format
+msgid "%s: can't find \"_stext\" in %s\n"
+msgstr "%s: impossibile trovare \"_stext\" in %s\n"
+
+#: sys-utils/readprofile.c:352
+#, c-format
+msgid "%s: profile address out of range. Wrong map file?\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:412
+msgid "total"
+msgstr "totale"
+
+#: sys-utils/renice.c:53
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" renice [-n] priority [-p|--pid] pid  [... pid]\n"
+" renice [-n] priority  -g|--pgrp pgrp [... pgrp]\n"
+" renice [-n] priority  -u|--user user [... user]\n"
+" renice -h | --help\n"
+" renice -v | --version\n"
+"\n"
+msgstr ""
+
+#: sys-utils/renice.c:89
+#, fuzzy, c-format
+msgid "renice from %s\n"
+msgstr "%s da %s\n"
+
+#: sys-utils/renice.c:126
+#, c-format
+msgid "renice: %s: unknown user\n"
+msgstr "renice: %s: utente sconosciuto\n"
+
+#: sys-utils/renice.c:134
+#, c-format
+msgid "renice: %s: bad value\n"
+msgstr "renice: %s: valore non valido\n"
+
+#: sys-utils/renice.c:152 sys-utils/renice.c:164
+msgid "getpriority"
+msgstr "getpriority"
+
+#: sys-utils/renice.c:157
+msgid "setpriority"
+msgstr "setpriority"
+
+#: sys-utils/renice.c:168
+#, c-format
+msgid "%d: old priority %d, new priority %d\n"
+msgstr "%d: vecchia priorità %d, nuova priorità %d\n"
+
+#: sys-utils/rtcwake.c:81
+#, c-format
+msgid ""
+"usage: %s [options]\n"
+"    -d | --device <device>    select rtc device (rtc0|rtc1|...)\n"
+"    -l | --local              RTC uses local timezone\n"
+"    -m | --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"
+"    -V | --version            show version\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:140
+msgid "read rtc time"
+msgstr ""
+
+#: sys-utils/rtcwake.c:145
+msgid "read system time"
+msgstr ""
+
+#: sys-utils/rtcwake.c:163
+msgid "convert rtc time"
+msgstr ""
+
+#: sys-utils/rtcwake.c:222
+msgid "set rtc alarm"
+msgstr ""
+
+#: sys-utils/rtcwake.c:226
+msgid "enable rtc alarm"
+msgstr ""
+
+#: sys-utils/rtcwake.c:230
+msgid "set rtc wake alarm"
+msgstr ""
+
+#: sys-utils/rtcwake.c:342
+#, fuzzy, c-format
+msgid "%s: unrecognized suspend state '%s'\n"
+msgstr " %s: tipo di tabella delle partizioni non riconosciuto\n"
+
+#: sys-utils/rtcwake.c:351
+#, c-format
+msgid "%s: illegal interval %s seconds\n"
+msgstr "%s: intervallo illegale %s secondi\n"
+
+#: sys-utils/rtcwake.c:365
+#, c-format
+msgid "%s: illegal time_t value %s\n"
+msgstr "%s: valore time_t illecito %s\n"
+
+#: sys-utils/rtcwake.c:381
+#, c-format
+msgid "%s: version %s\n"
+msgstr "%s: versione %s\n"
+
+#: sys-utils/rtcwake.c:394
+#, c-format
+msgid "%s: assuming RTC uses UTC ...\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:399
+#, fuzzy, c-format
+msgid "Using UTC time.\n"
+msgstr "Utilizzo di %s.\n"
+
+#: sys-utils/rtcwake.c:400
+#, fuzzy, c-format
+msgid "Using local time.\n"
+msgstr "Utilizzo di %s.\n"
+
+#: sys-utils/rtcwake.c:403
+#, c-format
+msgid "%s: must provide wake time\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:413
+msgid "malloc() failed"
+msgstr "malloc() non riuscita"
+
+#: sys-utils/rtcwake.c:425
+#, fuzzy, c-format
+msgid "%s: %s not enabled for wakeup events\n"
+msgstr "%s: %s no è un lp device.\n"
+
+#: sys-utils/rtcwake.c:441
+#, c-format
+msgid "alarm %ld, sys_time %ld, rtc_time %ld, seconds %u\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:446
+#, c-format
+msgid "%s: time doesn't go backward to %s\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:456
+#, fuzzy, c-format
+msgid "%s: wakeup from \"%s\" using %s at %s\n"
+msgstr "Messaggio da %s@%s su %s a %s ..."
+
+#: sys-utils/rtcwake.c:473
+msgid "rtc read"
+msgstr "rtc letto"
+
+#: sys-utils/rtcwake.c:482
+msgid "disable rtc alarm interrupt"
+msgstr ""
+
+#: sys-utils/setarch.c:50
+#, c-format
+msgid "Switching on %s.\n"
+msgstr ""
+
+#: sys-utils/setarch.c:113
+#, c-format
+msgid ""
+"Usage: %s%s [options] [program [program arguments]]\n"
+"\n"
+"Options:\n"
+msgstr ""
+
+#: sys-utils/setarch.c:117
+#, c-format
+msgid ""
+" -h, --help               displays this help text\n"
+" -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"
+msgstr ""
+
+#: sys-utils/setarch.c:131
+#, c-format
+msgid ""
+"\n"
+"For more information see setarch(8).\n"
+msgstr ""
+"\n"
+"Per maggiori informazioni vedere setarch(8).\n"
+
+#: sys-utils/setarch.c:143
+#, c-format
+msgid ""
+"%s: %s\n"
+"Try `%s --help' for more information.\n"
+msgstr ""
+"%s: %s\n"
+"Provare \"%s --help\" per ulteriori informazioni.\n"
+
+#: sys-utils/setarch.c:215 sys-utils/setarch.c:231
+#, c-format
+msgid "%s: Unrecognized architecture"
+msgstr " %s: architettura non riconosciuta"
+
+#: sys-utils/setarch.c:249 sys-utils/setarch.c:256
+msgid "Not enough arguments"
+msgstr "Argomenti insufficienti"
+
+#: sys-utils/setarch.c:265 sys-utils/setarch.c:318
+#, fuzzy, c-format
+msgid "Failed to set personality to %s"
+msgstr "Scrittura della partizione su %s non riuscita\n"
+
+#: sys-utils/setsid.c:26
+#, c-format
+msgid "usage: %s program [arg ...]\n"
+msgstr "Uso: %s programma [arg ...]\n"
+
+#: sys-utils/tunelp.c:75
+#, c-format
+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"
+
+#: sys-utils/tunelp.c:91
+msgid "malloc error"
+msgstr "errore di malloc"
+
+#: sys-utils/tunelp.c:103
+#, c-format
+msgid "%s: bad value\n"
+msgstr "%s: valore non valido\n"
+
+#: sys-utils/tunelp.c:242
+#, c-format
+msgid "%s: %s not an lp device.\n"
+msgstr "%s: %s no è un lp device.\n"
+
+#: sys-utils/tunelp.c:263
+#, c-format
+msgid "%s status is %d"
+msgstr "lo stato di %s è %d"
+
+#: sys-utils/tunelp.c:264
+#, c-format
+msgid ", busy"
+msgstr ", occupato"
+
+#: sys-utils/tunelp.c:265
+#, c-format
+msgid ", ready"
+msgstr ", pronto"
+
+#: sys-utils/tunelp.c:266
+#, c-format
+msgid ", out of paper"
+msgstr ", carta esaurita"
+
+#: sys-utils/tunelp.c:267
+#, c-format
+msgid ", on-line"
+msgstr ", on-line"
+
+#: sys-utils/tunelp.c:268
+#, c-format
+msgid ", error"
+msgstr ", errore"
+
+#: sys-utils/tunelp.c:285
+msgid "LPGETIRQ error"
+msgstr "errore LPGETIRQ"
+
+#: sys-utils/tunelp.c:291
+#, c-format
+msgid "%s using IRQ %d\n"
+msgstr "%s utilizzo di IRQ %d in corso\n"
+
+#: sys-utils/tunelp.c:293
+#, c-format
+msgid "%s using polling\n"
+msgstr "%s utilizzo del polling in corso\n"
+
+#: text-utils/col.c:154
+#, c-format
+msgid "col: bad -l argument %s.\n"
+msgstr "col: argomento -l non valido per %s.\n"
+
+#: text-utils/col.c:544
+#, c-format
+msgid "usage: col [-bfpx] [-l nline]\n"
+msgstr "Uso: col [-bfpx] [-l nline]\n"
+
+#: text-utils/col.c:550
+#, c-format
+msgid "col: write error.\n"
+msgstr "col: errore in scrittura.\n"
+
+#: text-utils/col.c:557
+#, c-format
+msgid "col: warning: can't back up %s.\n"
+msgstr "col: attenzione: impossibile eseguire il backup di %s.\n"
+
+#: text-utils/col.c:558
+msgid "past first line"
+msgstr "dopo la prima linea"
+
+#: text-utils/col.c:558
+msgid "-- line already flushed"
+msgstr "-- linea già svuotata"
+
+#: text-utils/colcrt.c:97
+#, c-format
+msgid "usage: %s [ - ] [ -2 ] [ file ... ]\n"
+msgstr "Uso: %s [ - ] [ -2 ] [ file ... ]\n"
+
+#: text-utils/column.c:297
+msgid "line too long"
+msgstr "linea troppo lunga"
+
+#: text-utils/column.c:374
+#, c-format
+msgid "usage: column [-tx] [-c columns] [file ...]\n"
+msgstr "Uso: column [-tx] [-c colonne] [file ...]\n"
+
+#: text-utils/hexsyntax.c:82
+#, c-format
+msgid "hexdump: bad length value.\n"
+msgstr "hexdump: valore lunghezza non valido.\n"
+
+#: text-utils/hexsyntax.c:93
+#, c-format
+msgid "hexdump: bad skip value.\n"
+msgstr "hexdump: valore skip non valido.\n"
+
+#: text-utils/hexsyntax.c:131
+#, c-format
+msgid ""
+"hexdump: [-bcCdovx] [-e fmt] [-f fmt_file] [-n length] [-s skip] [file ...]\n"
+msgstr ""
+
+#: text-utils/more.c:256
+#, c-format
+msgid "usage: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n"
+msgstr "Uso: %s [-dflpcsu] [+linenum | +/modello] nome1 nome2 ...\n"
+
+#: text-utils/more.c:479
+#, c-format
+msgid "%s: unknown option \"-%c\"\n"
+msgstr "%s: opzione sconosciuta \"-%c\"\n"
+
+#: text-utils/more.c:511
+#, c-format
+msgid ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+msgstr ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+
+#: text-utils/more.c:555
+#, 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:658
+#, c-format
+msgid "[Use q or Q to quit]"
+msgstr "[Usare q o Q per uscire]"
+
+#: text-utils/more.c:750
+#, c-format
+msgid "--More--"
+msgstr "--Ancora--"
+
+#: text-utils/more.c:752
+#, c-format
+msgid "(Next file: %s)"
+msgstr "(File successivo: %s)"
+
+#: text-utils/more.c:757
+#, c-format
+msgid "[Press space to continue, 'q' to quit.]"
+msgstr "[Premere spazio per continuare, 'q' per uscire.]"
+
+#: text-utils/more.c:1172
+#, c-format
+msgid "...back %d pages"
+msgstr "...indietro %d pagine"
+
+#: text-utils/more.c:1174
+msgid "...back 1 page"
+msgstr "...indietro 1 pagina"
+
+#: text-utils/more.c:1217
+msgid "...skipping one line"
+msgstr "...sto saltando una riga"
+
+#: text-utils/more.c:1219
+#, c-format
+msgid "...skipping %d lines"
+msgstr "...sto saltando %d righe"
+
+#: text-utils/more.c:1256
+msgid ""
+"\n"
+"***Back***\n"
+"\n"
+msgstr ""
+"\n"
+"***Indietro***\n"
+"\n"
+
+#: text-utils/more.c:1294
+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:1301
+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:1370 text-utils/more.c:1375
+#, c-format
+msgid "[Press 'h' for instructions.]"
+msgstr "[Premere 'h' per visualizzare le istruzioni.]"
+
+#: text-utils/more.c:1409
+#, c-format
+msgid "\"%s\" line %d"
+msgstr "\"%s\" riga %d"
+
+#: text-utils/more.c:1411
+#, c-format
+msgid "[Not a file] line %d"
+msgstr "[Non un file] riga %d"
+
+#: text-utils/more.c:1495
+msgid "  Overflow\n"
+msgstr "  Overflow\n"
+
+#: text-utils/more.c:1542
+msgid "...skipping\n"
+msgstr "...ignora\n"
+
+#: text-utils/more.c:1571
+msgid "Regular expression botch"
+msgstr "Errore nell'espressione regolare"
+
+#: text-utils/more.c:1579
+msgid ""
+"\n"
+"Pattern not found\n"
+msgstr ""
+"\n"
+"Pattern non trovato\n"
+
+#: text-utils/more.c:1582 text-utils/pg.c:1124 text-utils/pg.c:1275
+msgid "Pattern not found"
+msgstr "Pattern non trovato"
+
+#: text-utils/more.c:1643
+msgid "can't fork\n"
+msgstr "impossibile effettuare fork\n"
+
+#: text-utils/more.c:1682
+msgid ""
+"\n"
+"...Skipping "
+msgstr ""
+"\n"
+"...ignorato"
+
+#: text-utils/more.c:1686
+msgid "...Skipping to file "
+msgstr "...Andato al file "
+
+#: text-utils/more.c:1688
+msgid "...Skipping back to file "
+msgstr "...Tornato al file "
+
+#: text-utils/more.c:1966
+msgid "Line too long"
+msgstr "Riga troppo lunga"
+
+#: text-utils/more.c:2009
+msgid "No previous command to substitute for"
+msgstr "Nessun comando precedente da sostituire"
+
+#: text-utils/odsyntax.c:130
+#, c-format
+msgid "od: od(1) has been deprecated for hexdump(1).\n"
+msgstr "od: od(1) è stata sostituito da hexdump(1).\n"
+
+#: text-utils/odsyntax.c:133
+#, c-format
+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"
+
+#: text-utils/odsyntax.c:134
+msgid "; see strings(1)."
+msgstr "; consultare strings(1)."
+
+#: text-utils/parse.c:63
+#, c-format
+msgid "hexdump: can't read %s.\n"
+msgstr "hexdump: impossibile leggere %s.\n"
+
+#: text-utils/parse.c:68
+#, c-format
+msgid "hexdump: line too long.\n"
+msgstr "hexdump: linea troppo lunga.\n"
+
+#: text-utils/parse.c:401
+#, c-format
+msgid "hexdump: byte count with multiple conversion characters.\n"
+msgstr "hexdump: conteggio byte con i caratteri di conversione multipla.\n"
+
+#: text-utils/parse.c:483
+#, c-format
+msgid "hexdump: bad byte count for conversion character %s.\n"
+msgstr "hexdump: conteggio byte errato per il carattere di conversione %s.\n"
+
+#: text-utils/parse.c:490
+#, c-format
+msgid "hexdump: %%s requires a precision or a byte count.\n"
+msgstr ""
+"hexdump: %%s richiede un conteggio di precisione o un conteggio dei byte.\n"
+
+#: text-utils/parse.c:496
+#, c-format
+msgid "hexdump: bad format {%s}\n"
+msgstr "hexdump: formato non valido {%s}\n"
+
+#: text-utils/parse.c:502
+#, c-format
+msgid "hexdump: bad conversion character %%%s.\n"
+msgstr "hexdump: carattere di conversione non valido %%%s.\n"
+
+#: text-utils/pg.c:145
+msgid ""
+"All rights reserved.\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"
+msgstr ""
+
+#: text-utils/pg.c:223
+#, fuzzy
+msgid "Out of memory\n"
+msgstr "Memoria esaurita"
+
+#: text-utils/pg.c:236
+#, c-format
+msgid ""
+"%s: Usage: %s [-number] [-p string] [-cefnrs] [+line] [+/pattern/] [files]\n"
+msgstr ""
+"%s: Uso: %s [-numero] [-p stringa] [-cefnrs] [+riga] [+/modello/] [file]\n"
+
+#: text-utils/pg.c:245
+#, c-format
+msgid "%s: option requires an argument -- %s\n"
+msgstr "%s: l'opzione richiede un argomento -- %s\n"
+
+#: text-utils/pg.c:253
+#, c-format
+msgid "%s: illegal option -- %s\n"
+msgstr "%s: opzione illecita -- %s\n"
+
+#: text-utils/pg.c:370
+msgid "...skipping forward\n"
+msgstr ""
+
+#: text-utils/pg.c:372
+msgid "...skipping backward\n"
+msgstr ""
+
+#: text-utils/pg.c:394
+msgid "No next file"
+msgstr "Nessun file successivo"
+
+#: text-utils/pg.c:398
+msgid "No previous file"
+msgstr "Nessun file precedente"
+
+#: text-utils/pg.c:928
+#, c-format
+msgid "%s: Read error from %s file\n"
+msgstr "%s: Errore di lettura dal file %s\n"
+
+#: text-utils/pg.c:934
+#, c-format
+msgid "%s: Unexpected EOF in %s file\n"
+msgstr "%s: EOF non previsto nel file %s\n"
+
+#: text-utils/pg.c:937
+#, c-format
+msgid "%s: Unknown error in %s file\n"
+msgstr "%s: Errore sconosciuto nel file %s\n"
+
+#: text-utils/pg.c:1032
+#, c-format
+msgid "%s: Cannot create tempfile\n"
+msgstr "%s: Impossibile creare il file temporaneo\n"
+
+#: text-utils/pg.c:1041 text-utils/pg.c:1216 text-utils/pg.c:1243
+msgid "RE error: "
+msgstr ""
+
+#: text-utils/pg.c:1198
+msgid "(EOF)"
+msgstr "(EOF)"
+
+#: text-utils/pg.c:1224 text-utils/pg.c:1251
+msgid "No remembered search string"
+msgstr "Nessuna stringa di ricerca ricordata"
+
+#: text-utils/pg.c:1307
+msgid "Cannot open "
+msgstr "Impossibile aprire "
+
+#: text-utils/pg.c:1355
+msgid "saved"
+msgstr "salvato"
+
+#: text-utils/pg.c:1462
+msgid ": !command not allowed in rflag mode.\n"
+msgstr ""
+
+#: text-utils/pg.c:1494
+msgid "fork() failed, try again later\n"
+msgstr "fork() non riuscito, riprovare più tardi\n"
+
+#: text-utils/pg.c:1702
+msgid "(Next file: "
+msgstr "(File successivo: "
+
+#: text-utils/rev.c:113
+#, fuzzy
+msgid "unable to allocate bufferspace"
+msgstr "Impossibile allocare lo spazio buffer\n"
+
+#: text-utils/rev.c:143
+#, c-format
+msgid "usage: rev [file ...]\n"
+msgstr "Uso: rev [file ...]\n"
+
+#: text-utils/tailf.c:57 text-utils/tailf.c:92
+#, fuzzy, c-format
+msgid "cannot open \"%s\" for read"
+msgstr "Impossibile aprire \"%s\" in lettura\n"
+
+#: text-utils/tailf.c:95 text-utils/tailf.c:214
+#, fuzzy, c-format
+msgid "cannot stat \"%s\""
+msgstr "impossibile eseguire stat sul dispositivo %s"
+
+#: text-utils/tailf.c:108
+#, c-format
+msgid "incomplete write to \"%s\" (written %zd, expected %zd)\n"
+msgstr ""
+
+#: text-utils/tailf.c:146
+#, c-format
+msgid "%s: cannot add inotify watch (limit of inotify watches was reached)."
+msgstr ""
+
+#: text-utils/tailf.c:150
+#, c-format
+msgid "%s: cannot add inotify watch."
+msgstr ""
+
+#: text-utils/tailf.c:159
+#, fuzzy, c-format
+msgid "%s: cannot read inotify events"
+msgstr "%s: impossibile aprire %s\n"
+
+#: text-utils/tailf.c:198 text-utils/tailf.c:202
+#, fuzzy
+msgid "invalid number of lines"
+msgstr "Numero non valido: %s\n"
+
+#: text-utils/tailf.c:209
+#, fuzzy
+msgid "usage: tailf [-n N | -N] logfile"
+msgstr "Uso: tailf file-di-log\n"
+
+#: text-utils/ul.c:141
+#, c-format
+msgid "usage: %s [ -i ] [ -tTerm ] file...\n"
+msgstr "Uso: %s [ -i ] [ -tTerm ] file...\n"
+
+#: text-utils/ul.c:152
+#, c-format
+msgid "trouble reading terminfo"
+msgstr "problemi leggendo terminfo"
+
+#: text-utils/ul.c:242
+#, c-format
+msgid "Unknown escape sequence in input: %o, %o\n"
+msgstr "Sequenza di escape sconosciuta in input: %o, %o\n"
+
+#: text-utils/ul.c:425
+#, c-format
+msgid "Unable to allocate buffer.\n"
+msgstr "Impossibile allocare il buffer.\n"
+
+#: text-utils/ul.c:586
+#, c-format
+msgid "Input line too long.\n"
+msgstr "Linea di input troppo lunga.\n"
+
+#: text-utils/ul.c:599
+#, c-format
+msgid "Out of memory when growing buffer.\n"
+msgstr "Memoria insufficiente quando si amplia il buffer.\n"
+
+#~ msgid "# partition table of %s\n"
+#~ msgstr "# tabella delle partizioni di %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "unit: sectors\n"
+#~ "\n"
+#~ msgstr "settori"
+
+#, fuzzy
+#~ msgid " start=%9lu"
+#~ msgstr "inizio"
+
+#, fuzzy
+#~ msgid ", size=%9lu"
+#~ msgstr "Dimensione massima=%ld\n"
+
+#, 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: unable to get current directory - %s\n"
+#~ msgstr "namei: impossibile ottenere la directory corrente - %s\n"
+
+#~ msgid "namei: unable to chdir to %s - %s (%d)\n"
+#~ msgstr "namei: impossibile eseguire chdir su %s - %s (%d)\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 "%s: cannot stat %s: %s\n"
+#~ msgstr "%s: impossibile effettuare stat di %s: %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 "Autoconfigure failed.\n"
+#~ msgstr "Autoconfigurazione non riuscita.\n"
+
+#~ 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 from %s%s\n"
+#~ msgstr "%s da %s%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: cannot find %s in %s"
+#~ msgstr "mount: impossibile trovare %s in %s"
+
+#~ 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 (file)
index 0000000..3206282
Binary files /dev/null and b/po/ja.gmo differ
diff --git a/po/ja.po b/po/ja.po
new file mode 100644 (file)
index 0000000..b3bdda1
--- /dev/null
+++ b/po/ja.po
@@ -0,0 +1,12491 @@
+# Japanese messages for util-linux-ng
+# Copyright (C) 2001 Free Software Foundation, Inc.
+# This file is distributed under the same license as the util-linux-ng 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.
+msgid ""
+msgstr ""
+"Project-Id-Version: util-linux-ng 2.16-rc2\n"
+"Report-Msgid-Bugs-To: Karel Zak <kzak@redhat.com>\n"
+"POT-Creation-Date: 2009-11-30 16:27+0100\n"
+"PO-Revision-Date: 2009-07-20 14:08+0900\n"
+"Last-Translator: Makoto Kato <makoto.kt@gmail.com>\n"
+"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\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/blockdev.c:37
+msgid "set read-only"
+msgstr "読み込み専用に設定"
+
+#: disk-utils/blockdev.c:38
+msgid "set read-write"
+msgstr "読み書き可能に設定"
+
+#: disk-utils/blockdev.c:39
+msgid "get read-only"
+msgstr "読み書き可能かどうかをテスト"
+
+#: disk-utils/blockdev.c:40
+msgid "get sectorsize"
+msgstr "セクタ数を取得"
+
+#: disk-utils/blockdev.c:41
+msgid "get blocksize"
+msgstr "ブロックサイズを取得"
+
+#: disk-utils/blockdev.c:42
+msgid "set blocksize"
+msgstr "ブロックサイズを設定"
+
+#: disk-utils/blockdev.c:43
+msgid "get 32-bit sector count"
+msgstr "32-bitセクタカウントを取得する"
+
+#: disk-utils/blockdev.c:44
+msgid "get size in bytes"
+msgstr "サイズ (単位:バイト) を取得"
+
+#: disk-utils/blockdev.c:45
+msgid "set readahead"
+msgstr "readahead 値を設定"
+
+#: disk-utils/blockdev.c:46
+msgid "get readahead"
+msgstr "readahead 値を取得"
+
+#: disk-utils/blockdev.c:47
+msgid "set filesystem readahead"
+msgstr "ファイルシステム readahead 値を設定"
+
+#: disk-utils/blockdev.c:48
+msgid "get filesystem readahead"
+msgstr "ファイルシステム readahead 値を取得"
+
+#: disk-utils/blockdev.c:49
+msgid "flush buffers"
+msgstr "バッファをフラッシュする"
+
+#: disk-utils/blockdev.c:51
+msgid "reread partition table"
+msgstr "領域テーブルを再読み込み"
+
+#: disk-utils/blockdev.c:60
+#, c-format
+msgid "Usage:\n"
+msgstr "使い方:\n"
+
+#: disk-utils/blockdev.c:62
+#, c-format
+msgid "  %s --report [devices]\n"
+msgstr "  %s --report [デバイス]\n"
+
+#: disk-utils/blockdev.c:63
+#, c-format
+msgid "  %s [-v|-q] commands devices\n"
+msgstr "  %s [-v|-q] コマンド デバイス\n"
+
+#: disk-utils/blockdev.c:66
+#, c-format
+msgid "Available commands:\n"
+msgstr "利用可能コマンド:\n"
+
+#: disk-utils/blockdev.c:68
+msgid "get size in 512-byte sectors"
+msgstr "512バイトセクタのサイズを取得"
+
+#: disk-utils/blockdev.c:201
+#, c-format
+msgid "%s: Unknown command: %s\n"
+msgstr "%s: 不明なコマンド: %s\n"
+
+#: disk-utils/blockdev.c:213 disk-utils/blockdev.c:222
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s は引数を要求します\n"
+
+#: disk-utils/blockdev.c:255
+#, c-format
+msgid "%s failed.\n"
+msgstr "%s は失敗しました。\n"
+
+#: disk-utils/blockdev.c:292
+#, c-format
+msgid "%s succeeded.\n"
+msgstr "%s が成功しました。\n"
+
+#: disk-utils/blockdev.c:310 disk-utils/blockdev.c:338
+#, c-format
+msgid "%s: cannot open %s\n"
+msgstr "%s: %s を開けません\n"
+
+#: disk-utils/blockdev.c:355
+#, c-format
+msgid "%s: ioctl error on %s\n"
+msgstr "%s: %s で ioctl エラー\n"
+
+#: disk-utils/blockdev.c:364
+#, c-format
+msgid "RO    RA   SSZ   BSZ   StartSec            Size   Device\n"
+msgstr "RO    RA   SSZ   BSZ   開始セクタ          サイズ デバイス\n"
+
+#: disk-utils/elvtune.c:48
+#, c-format
+msgid "usage:\n"
+msgstr "使い方:\n"
+
+#: disk-utils/elvtune.c:53
+#, c-format
+msgid "\tNOTE: elvtune only works with 2.4 kernels\n"
+msgstr "\tNOTE: elvtuneは2.4カーネルでのみ動作します\n"
+
+#: disk-utils/elvtune.c:104
+#, c-format
+msgid "parse error\n"
+msgstr "解析エラー\n"
+
+#: disk-utils/elvtune.c:110
+#, c-format
+msgid "missing blockdevice, use -h for help\n"
+msgstr ""
+"ブロックデバイスが見つかりません。ヘルプを表示するためには、-hを使用してくだ"
+"さい\n"
+
+#: disk-utils/elvtune.c:131
+#, 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:31
+#, c-format
+msgid "Formatting ... "
+msgstr "フォーマットします ... "
+
+#: disk-utils/fdformat.c:49 disk-utils/fdformat.c:86
+#, c-format
+msgid "done\n"
+msgstr "終了\n"
+
+#: disk-utils/fdformat.c:60
+#, 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:80
+#, c-format
+msgid ""
+"bad data in cyl %d\n"
+"Continuing ... "
+msgstr ""
+"シリンダ %d に不正なデータ\n"
+"続けます ... "
+
+#: disk-utils/fdformat.c:96
+#, c-format
+msgid "usage: %s [ -n ] device\n"
+msgstr "使い方: %s [ -n ] デバイス\n"
+
+#: disk-utils/fdformat.c:118 disk-utils/fsck.minix.c:1282
+#: disk-utils/isosize.c:181 disk-utils/mkfs.bfs.c:115 disk-utils/mkfs.c:52
+#: disk-utils/mkfs.cramfs.c:813 disk-utils/mkfs.minix.c:571
+#: disk-utils/mkswap.c:461 misc-utils/ddate.c:179 misc-utils/rename.c:79
+#: misc-utils/script.c:147 sys-utils/readprofile.c:197
+#, c-format
+msgid "%s (%s)\n"
+msgstr "%s (%s)\n"
+
+#: disk-utils/fdformat.c:132
+#, c-format
+msgid "%s: not a block device\n"
+msgstr "%s: ブロックデバイスではありません\n"
+
+#: disk-utils/fdformat.c:142
+msgid "Could not determine current format type"
+msgstr "現在のフォーマットタイプを特定できません"
+
+#: disk-utils/fdformat.c:143
+#, 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:144
+msgid "Double"
+msgstr "両"
+
+#: disk-utils/fdformat.c:144
+msgid "Single"
+msgstr "片"
+
+#: disk-utils/fsck.cramfs.c:118
+#, c-format
+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"
+
+#: disk-utils/fsck.cramfs.c:164
+#, c-format
+msgid "stat failed: %s"
+msgstr "stat が失敗: %s"
+
+#: disk-utils/fsck.cramfs.c:168 disk-utils/fsck.cramfs.c:552
+#, c-format
+msgid "open failed: %s"
+msgstr "open が失敗: %s"
+
+#: disk-utils/fsck.cramfs.c:173
+#, c-format
+msgid "ioctl failed: unable to determine device size: %s"
+msgstr "ioctl が失敗: デバイスサイズを取得できません: %s"
+
+#: disk-utils/fsck.cramfs.c:181
+#, c-format
+msgid "not a block device or file: %s"
+msgstr "ブロックデバイスかファイルではありません: %s"
+
+#: disk-utils/fsck.cramfs.c:185 disk-utils/fsck.cramfs.c:227
+msgid "file length too short"
+msgstr "ファイルの長さが短すぎます"
+
+#: disk-utils/fsck.cramfs.c:190 disk-utils/fsck.cramfs.c:198
+#: disk-utils/fsck.cramfs.c:259 disk-utils/fsck.cramfs.c:279
+#, c-format
+msgid "read failed: %s"
+msgstr "読み込みに失敗しました: %s"
+
+#: disk-utils/fsck.cramfs.c:208
+msgid "superblock magic not found"
+msgstr "スーパーブロックのマジック値が見つかりません"
+
+#: disk-utils/fsck.cramfs.c:217
+msgid "unsupported filesystem features"
+msgstr "サポートされないファイルシステムの機能です"
+
+#: disk-utils/fsck.cramfs.c:220
+#, c-format
+msgid "superblock size (%d) too small"
+msgstr "スーパーブロックのサイズ (%d) が少なすぎます"
+
+#: disk-utils/fsck.cramfs.c:224
+#, fuzzy
+msgid "zero file count"
+msgstr "次のファイル "
+
+#: disk-utils/fsck.cramfs.c:230
+#, fuzzy, c-format
+msgid "warning: file extends past end of filesystem\n"
+msgstr "警告: パーティション %s はディスクの終りを越えています\n"
+
+#: disk-utils/fsck.cramfs.c:234
+#, c-format
+msgid "warning: old cramfs format\n"
+msgstr "警告: 古いcramfs形式です\n"
+
+#: disk-utils/fsck.cramfs.c:247
+msgid "unable to test CRC: old cramfs format"
+msgstr "CRCをテストできません: 古いcramfs形式です"
+
+#: disk-utils/fsck.cramfs.c:273 disk-utils/fsck.cramfs.c:340
+#: disk-utils/fsck.cramfs.c:478 login-utils/chfn.c:529 login-utils/chsh.c:439
+#: sys-utils/cytune.c:321
+msgid "malloc failed"
+msgstr "malloc に失敗"
+
+#: disk-utils/fsck.cramfs.c:298
+msgid "crc error"
+msgstr "crcエラー"
+
+#: disk-utils/fsck.cramfs.c:365
+msgid "root inode is not directory"
+msgstr "root inode がディレクトリではありません "
+
+#: disk-utils/fsck.cramfs.c:370
+#, c-format
+msgid "bad root offset (%lu)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:388
+msgid "data block too large"
+msgstr "データブロックが大きすぎます"
+
+#: disk-utils/fsck.cramfs.c:392
+#, c-format
+msgid "decompression error %p(%d): %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:416
+#, fuzzy, c-format
+msgid "  hole at %ld (%zd)\n"
+msgstr "(%d, %d, %d) であるべきです\n"
+
+#: disk-utils/fsck.cramfs.c:424 disk-utils/fsck.cramfs.c:596
+#, c-format
+msgid "  uncompressing block at %ld to %ld (%ld)\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:430
+#, fuzzy, c-format
+msgid "non-block (%ld) bytes"
+msgstr "スーパーブロック: %zd バイト\n"
+
+#: disk-utils/fsck.cramfs.c:434
+#, c-format
+msgid "non-size (%ld vs %ld) bytes"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:440
+#, fuzzy, c-format
+msgid "write failed: %s"
+msgstr "書き込みに失敗しました: %s"
+
+#: disk-utils/fsck.cramfs.c:453
+#, fuzzy, c-format
+msgid "lchown failed: %s"
+msgstr "マウントに失敗しました"
+
+#: disk-utils/fsck.cramfs.c:459
+#, c-format
+msgid "chown failed: %s"
+msgstr "chown に失敗しました: %s"
+
+#: disk-utils/fsck.cramfs.c:466
+#, fuzzy, c-format
+msgid "utime failed: %s"
+msgstr "不正なタイムアウト値: %s"
+
+#: disk-utils/fsck.cramfs.c:481
+#, c-format
+msgid "directory inode has zero offset and non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:495
+#, c-format
+msgid "mkdir failed: %s"
+msgstr "mkdirが失敗: %s"
+
+#: disk-utils/fsck.cramfs.c:512
+msgid "filename length is zero"
+msgstr "ファイル名の長さがゼロです"
+
+#: disk-utils/fsck.cramfs.c:515
+msgid "bad filename length"
+msgstr "悪いファイル名の長さ"
+
+#: disk-utils/fsck.cramfs.c:522
+msgid "bad inode offset"
+msgstr "不正なiノードオフセット"
+
+#: disk-utils/fsck.cramfs.c:538
+msgid "file inode has zero offset and non-zero size"
+msgstr "ファイルiノードはゼロオフセットかゼロではないサイズを持ちます"
+
+#: disk-utils/fsck.cramfs.c:541
+msgid "file inode has zero size and non-zero offset"
+msgstr "ファイルiノードはゼロサイズかゼロではないオフセットを持ちます"
+
+#: disk-utils/fsck.cramfs.c:572
+msgid "symbolic link has zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:575
+msgid "symbolic link has zero size"
+msgstr "シンボリックリンクはサイズがゼロです"
+
+#: disk-utils/fsck.cramfs.c:587
+#, fuzzy, c-format
+msgid "size error in symlink: %s"
+msgstr "%s への書き込みエラー: %s"
+
+#: disk-utils/fsck.cramfs.c:602
+#, c-format
+msgid "symlink failed: %s"
+msgstr "symlink が失敗: %s"
+
+#: disk-utils/fsck.cramfs.c:614
+#, c-format
+msgid "special file has non-zero offset: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:626
+#, c-format
+msgid "fifo has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:632
+#, c-format
+msgid "socket has non-zero size: %s"
+msgstr "ソケットはゼロではないサイズを持ちます: %s"
+
+#: disk-utils/fsck.cramfs.c:637
+#, c-format
+msgid "bogus mode: %s (%o)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:647
+#, c-format
+msgid "mknod failed: %s"
+msgstr "mknod に失敗しました: %s"
+
+#: disk-utils/fsck.cramfs.c:683
+#, c-format
+msgid "directory data start (%ld) < sizeof(struct cramfs_super) + start (%ld)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:686
+#, c-format
+msgid "directory data end (%ld) != file data start (%ld)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:691
+msgid "invalid file data offset"
+msgstr "不正なファイルデータオフセット"
+
+#: disk-utils/fsck.cramfs.c:715
+msgid "failed to allocate outbuffer"
+msgstr "出力バッファの確保に失敗しました"
+
+#: disk-utils/fsck.cramfs.c:728
+msgid "compiled without -x support"
+msgstr "-x サポートなしでコンパイルされています"
+
+#: disk-utils/fsck.minix.c:210
+#, c-format
+msgid "Usage: %s [-larvsmf] /dev/name\n"
+msgstr "使い方: %s [ -larvsmf ] /dev/name\n"
+
+#: disk-utils/fsck.minix.c:326
+#, c-format
+msgid "%s is mounted.\t "
+msgstr "%s はマウントされています\t "
+
+#: disk-utils/fsck.minix.c:328
+msgid "Do you really want to continue"
+msgstr "本当に続けますか"
+
+#: disk-utils/fsck.minix.c:332
+#, c-format
+msgid "check aborted.\n"
+msgstr "チェックを中止しました\n"
+
+#: disk-utils/fsck.minix.c:351 disk-utils/fsck.minix.c:374
+#, c-format
+msgid "Zone nr < FIRSTZONE in file `%s'."
+msgstr "ファイル `%s' 内で Zone nr < FIRSTZONE。"
+
+#: disk-utils/fsck.minix.c:355 disk-utils/fsck.minix.c:378
+#, c-format
+msgid "Zone nr >= ZONES in file `%s'."
+msgstr "ファイル `%s' 内で Zone nr >= ZONES。"
+
+#: disk-utils/fsck.minix.c:360 disk-utils/fsck.minix.c:383
+msgid "Remove block"
+msgstr "ブロックの削除"
+
+#: disk-utils/fsck.minix.c:401
+#, c-format
+msgid "Read error: unable to seek to block in file '%s'\n"
+msgstr "読込エラー: ファイル '%s' 中のブロックへ seek できません\n"
+
+#: disk-utils/fsck.minix.c:407
+#, c-format
+msgid "Read error: bad block in file '%s'\n"
+msgstr "読込エラー: ファイル '%s' に不正ブロックがあります\n"
+
+#: disk-utils/fsck.minix.c:422
+#, c-format
+msgid ""
+"Internal error: trying to write bad block\n"
+"Write request ignored\n"
+msgstr ""
+"内部エラー: 不正ブロックへの書き込み\n"
+"書き込み要求は無視されます\n"
+
+#: disk-utils/fsck.minix.c:428 disk-utils/mkfs.minix.c:209
+msgid "seek failed in write_block"
+msgstr "書き込みブロック内の seek に失敗しました"
+
+#: disk-utils/fsck.minix.c:431
+#, c-format
+msgid "Write error: bad block in file '%s'\n"
+msgstr "書き込みエラー: ファイルの中 '%s' に不正ブロックがあります\n"
+
+#: disk-utils/fsck.minix.c:547
+msgid "seek failed in write_super_block"
+msgstr "スーパーブロック書込時のファイルシークに失敗しました"
+
+#: disk-utils/fsck.minix.c:549 disk-utils/mkfs.minix.c:196
+msgid "unable to write super-block"
+msgstr "スーパーブロックを書き込めません"
+
+#: disk-utils/fsck.minix.c:559
+msgid "Unable to write inode map"
+msgstr "iノードマップを書き込めません"
+
+#: disk-utils/fsck.minix.c:561
+msgid "Unable to write zone map"
+msgstr "ゾーンマップを書き込めません"
+
+#: disk-utils/fsck.minix.c:563
+msgid "Unable to write inodes"
+msgstr "iノードを書き込めません"
+
+#: disk-utils/fsck.minix.c:590
+msgid "seek failed"
+msgstr "シークに失敗"
+
+#: disk-utils/fsck.minix.c:592
+msgid "unable to read super block"
+msgstr "スーパーブロックを書き込めません"
+
+#: disk-utils/fsck.minix.c:610
+msgid "bad magic number in super-block"
+msgstr "スーパーブロックに不正なマジックナンバーがあります"
+
+#: disk-utils/fsck.minix.c:612
+msgid "Only 1k blocks/zones supported"
+msgstr "Only 1k blocks/zones supported"
+
+#: disk-utils/fsck.minix.c:614
+msgid "bad s_imap_blocks field in super-block"
+msgstr "bad s_imap_blocks field in super-block"
+
+#: disk-utils/fsck.minix.c:616
+msgid "bad s_zmap_blocks field in super-block"
+msgstr "bad s_zmap_blocks field in super-block"
+
+#: disk-utils/fsck.minix.c:623
+msgid "Unable to allocate buffer for inode map"
+msgstr "inode マップ用バッファの確保ができません"
+
+#: disk-utils/fsck.minix.c:626
+msgid "Unable to allocate buffer for zone map"
+msgstr "ゾーンマップ用バッファの確保ができません"
+
+#: disk-utils/fsck.minix.c:631
+msgid "Unable to allocate buffer for inodes"
+msgstr "inode 用バッファの確保ができません。"
+
+#: disk-utils/fsck.minix.c:634
+msgid "Unable to allocate buffer for inode count"
+msgstr "inode カウンタ用バッファの確保ができません。"
+
+#: disk-utils/fsck.minix.c:637
+msgid "Unable to allocate buffer for zone count"
+msgstr "ゾーンカウンタ用バッファの確保ができません。"
+
+#: disk-utils/fsck.minix.c:639
+msgid "Unable to read inode map"
+msgstr "inode マップが読込めません"
+
+#: disk-utils/fsck.minix.c:641
+msgid "Unable to read zone map"
+msgstr "ゾーンマップが読込めません"
+
+#: disk-utils/fsck.minix.c:643
+msgid "Unable to read inodes"
+msgstr "inode を読込めません"
+
+#: disk-utils/fsck.minix.c:645
+#, c-format
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr "警告: Firstzone != Norm_firstzone\n"
+
+#: disk-utils/fsck.minix.c:650 disk-utils/mkfs.minix.c:450
+#, c-format
+msgid "%ld inodes\n"
+msgstr "iノード数 %ld\n"
+
+#: disk-utils/fsck.minix.c:651 disk-utils/mkfs.minix.c:451
+#, c-format
+msgid "%ld blocks\n"
+msgstr "ブロック数 %ld\n"
+
+#: disk-utils/fsck.minix.c:652 disk-utils/mkfs.minix.c:452
+#, c-format
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr "Firstdatazone=%ld (%ld)\n"
+
+#: disk-utils/fsck.minix.c:653 disk-utils/mkfs.minix.c:453
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr "Zone サイズ=%d\n"
+
+#: disk-utils/fsck.minix.c:654
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr "最大サイズ=%ld\n"
+
+#: disk-utils/fsck.minix.c:655
+#, c-format
+msgid "Filesystem state=%d\n"
+msgstr "ファイルシステム状態=%d\n"
+
+#: disk-utils/fsck.minix.c:656
+#, c-format
+msgid ""
+"namelen=%d\n"
+"\n"
+msgstr ""
+"名前の長さ=%d\n"
+"\n"
+
+#: disk-utils/fsck.minix.c:671 disk-utils/fsck.minix.c:722
+#, c-format
+msgid "Inode %d marked unused, but used for file '%s'\n"
+msgstr ""
+"iノード %d は不使用マークされていますが、ファイル '%s' が利用しています\n"
+
+#: disk-utils/fsck.minix.c:675 disk-utils/fsck.minix.c:726
+msgid "Mark in use"
+msgstr "使用マーク"
+
+#: disk-utils/fsck.minix.c:697 disk-utils/fsck.minix.c:746
+#, c-format
+msgid "The file `%s' has mode %05o\n"
+msgstr "ファイル `%s' はモード %05o です\n"
+
+#: disk-utils/fsck.minix.c:704 disk-utils/fsck.minix.c:752
+#, c-format
+msgid "Warning: inode count too big.\n"
+msgstr "警告: inode 数が大きすぎます。\n"
+
+#: disk-utils/fsck.minix.c:764 disk-utils/fsck.minix.c:772
+msgid "root inode isn't a directory"
+msgstr "root inode がディレクトリではありません"
+
+#: disk-utils/fsck.minix.c:786 disk-utils/fsck.minix.c:819
+#, c-format
+msgid "Block has been used before. Now in file `%s'."
+msgstr "ブロックは以前から利用されています。現在はファイル `%s' 内です。"
+
+#: disk-utils/fsck.minix.c:788 disk-utils/fsck.minix.c:821
+#: disk-utils/fsck.minix.c:1144 disk-utils/fsck.minix.c:1153
+#: disk-utils/fsck.minix.c:1199 disk-utils/fsck.minix.c:1208
+msgid "Clear"
+msgstr "クリア"
+
+#: disk-utils/fsck.minix.c:798 disk-utils/fsck.minix.c:831
+#, c-format
+msgid "Block %d in file `%s' is marked not in use."
+msgstr "ファイル `%2$s' のブロック %1$d は未使用マークされています。"
+
+#: disk-utils/fsck.minix.c:800 disk-utils/fsck.minix.c:833
+msgid "Correct"
+msgstr "正しい"
+
+#: disk-utils/fsck.minix.c:972 disk-utils/fsck.minix.c:1039
+#, c-format
+msgid "The directory '%s' contains a bad inode number for file '%.*s'."
+msgstr "ディレクトリ '%s' はファイル '%.*s' の不正 inode 番号を含みます。"
+
+#: disk-utils/fsck.minix.c:975 disk-utils/fsck.minix.c:1042
+msgid " Remove"
+msgstr " 削除"
+
+#: disk-utils/fsck.minix.c:989 disk-utils/fsck.minix.c:1056
+#, c-format
+msgid "%s: bad directory: '.' isn't first\n"
+msgstr "%s: 不正なディレクトリ: '.' が最初ではありません\n"
+
+#: disk-utils/fsck.minix.c:997 disk-utils/fsck.minix.c:1065
+#, c-format
+msgid "%s: bad directory: '..' isn't second\n"
+msgstr "%s: 不正なディレクトリ: '..' が 2 番目ではありません\n"
+
+#: disk-utils/fsck.minix.c:1099 disk-utils/fsck.minix.c:1117
+msgid "internal error"
+msgstr "内部エラー"
+
+#: disk-utils/fsck.minix.c:1102 disk-utils/fsck.minix.c:1120
+#, c-format
+msgid "%s: bad directory: size < 32"
+msgstr "%s: 不正なディレクトリ: サイズが 32 未満"
+
+#: disk-utils/fsck.minix.c:1133
+msgid "seek failed in bad_zone"
+msgstr "bad_zone での seek に失敗"
+
+#: disk-utils/fsck.minix.c:1143 disk-utils/fsck.minix.c:1198
+#, c-format
+msgid "Inode %d mode not cleared."
+msgstr "Inode %d のモードはクリアされず。"
+
+#: disk-utils/fsck.minix.c:1152 disk-utils/fsck.minix.c:1207
+#, c-format
+msgid "Inode %d not used, marked used in the bitmap."
+msgstr "inode %d は使われませんが、ビットマップでは使用マークが付いています"
+
+#: disk-utils/fsck.minix.c:1158 disk-utils/fsck.minix.c:1213
+#, c-format
+msgid "Inode %d used, marked unused in the bitmap."
+msgstr "inode %d が使用されますが、ビットマップでは不使用マークが付いています"
+
+#: disk-utils/fsck.minix.c:1160 disk-utils/fsck.minix.c:1214
+msgid "Set"
+msgstr "設定"
+
+#: disk-utils/fsck.minix.c:1164 disk-utils/fsck.minix.c:1218
+#, c-format
+msgid "Inode %d (mode = %07o), i_nlinks=%d, counted=%d."
+msgstr "inode %d (モード = %07o), i_nlinks=%d, counted=%d."
+
+#: disk-utils/fsck.minix.c:1166 disk-utils/fsck.minix.c:1220
+msgid "Set i_nlinks to count"
+msgstr "i_nlinks の値を count に設定しました"
+
+#: disk-utils/fsck.minix.c:1178 disk-utils/fsck.minix.c:1232
+#, c-format
+msgid "Zone %d: marked in use, no file uses it."
+msgstr "Zone %d: 利用マークが付いていますが、どのファイルも使っていません"
+
+#: disk-utils/fsck.minix.c:1179 disk-utils/fsck.minix.c:1234
+msgid "Unmark"
+msgstr "マークなし"
+
+#: disk-utils/fsck.minix.c:1184 disk-utils/fsck.minix.c:1239
+#, c-format
+msgid "Zone %d: in use, counted=%d\n"
+msgstr "Zone %d: 使用中、counted=%d\n"
+
+#: disk-utils/fsck.minix.c:1187 disk-utils/fsck.minix.c:1242
+#, c-format
+msgid "Zone %d: not in use, counted=%d\n"
+msgstr "Zone %d: 使用していません、counted=%d\n"
+
+#: disk-utils/fsck.minix.c:1287 disk-utils/mkfs.minix.c:576
+#: disk-utils/mkfs.minix.c:578
+msgid "bad inode size"
+msgstr "不正な inode サイズ"
+
+#: disk-utils/fsck.minix.c:1289
+msgid "bad v2 inode size"
+msgstr "不正な v2 inode サイズ"
+
+#: disk-utils/fsck.minix.c:1315
+msgid "need terminal for interactive repairs"
+msgstr "対話的な修復を行なう為端末が必要です"
+
+#: disk-utils/fsck.minix.c:1319
+#, c-format
+msgid "unable to open '%s': %s"
+msgstr "'%s' を開けません: %s"
+
+#: disk-utils/fsck.minix.c:1334
+#, c-format
+msgid "%s is clean, no check.\n"
+msgstr "%s はクリーンです、チェックしません。\n"
+
+#: disk-utils/fsck.minix.c:1338
+#, c-format
+msgid "Forcing filesystem check on %s.\n"
+msgstr "強制的に %s のファイルシステム検査します。\n"
+
+#: disk-utils/fsck.minix.c:1340
+#, c-format
+msgid "Filesystem on %s is dirty, needs checking.\n"
+msgstr "%s のファイルシステムは汚れており、検査が必要です。\n"
+
+#: disk-utils/fsck.minix.c:1373
+#, c-format
+msgid ""
+"\n"
+"%6ld inodes used (%ld%%)\n"
+msgstr ""
+"\n"
+"%6ld iノードが使用中 (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1378
+#, c-format
+msgid "%6ld zones used (%ld%%)\n"
+msgstr "%6ld zone が使用中 (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1380
+#, 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:1393
+#, c-format
+msgid ""
+"----------------------------\n"
+"FILE SYSTEM HAS BEEN CHANGED\n"
+"----------------------------\n"
+msgstr ""
+"--------------------------------\n"
+"ファイルシステムが変更されました\n"
+"--------------------------------\n"
+
+#: disk-utils/isosize.c:129
+#, c-format
+msgid "%s: failed to open: %s\n"
+msgstr "%s: open に失敗: %s\n"
+
+#: disk-utils/isosize.c:135
+#, c-format
+msgid "%s: seek error on %s\n"
+msgstr "%s: %s で seek エラー\n"
+
+#: disk-utils/isosize.c:141
+#, c-format
+msgid "%s: read error on %s\n"
+msgstr "%s: %s で read エラー\n"
+
+#: disk-utils/isosize.c:150
+#, c-format
+msgid "sector count: %d, sector size: %d\n"
+msgstr "セクタ数: %d, セクタサイズ: %d\n"
+
+#: disk-utils/isosize.c:200
+#, c-format
+msgid "%s: option parse error\n"
+msgstr "%s: オプション解析エラー\n"
+
+#: disk-utils/isosize.c:208
+#, c-format
+msgid "Usage: %s [-x] [-d <num>] iso9660-image\n"
+msgstr "使い方: %s [-x] [-d <num>] iso9660-image\n"
+
+#: disk-utils/mkfs.bfs.c:84
+#, c-format
+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"
+
+#: disk-utils/mkfs.bfs.c:131
+msgid "volume name too long"
+msgstr "ボリューム名が長すぎます"
+
+#: disk-utils/mkfs.bfs.c:138
+msgid "fsname name too long"
+msgstr "ファイルシステム名が長すぎます"
+
+#: disk-utils/mkfs.bfs.c:163
+#, c-format
+msgid "cannot stat device %s"
+msgstr "デバイス %s を stat できません"
+
+#: disk-utils/mkfs.bfs.c:167
+#, c-format
+msgid "%s is not a block special device"
+msgstr "%s はブロックスペシャルデバイスではありません"
+
+#: disk-utils/mkfs.bfs.c:172 sys-utils/ldattach.c:205
+#, c-format
+msgid "cannot open %s"
+msgstr "%s を open できません"
+
+#: disk-utils/mkfs.bfs.c:183
+#, c-format
+msgid "cannot get size of %s"
+msgstr "%s のサイズを取得できません"
+
+#: disk-utils/mkfs.bfs.c:188
+#, c-format
+msgid "blocks argument too large, max is %llu"
+msgstr "ブロックの引数が大きすぎます。最大 %llu です"
+
+#: disk-utils/mkfs.bfs.c:203
+msgid "too many inodes - max is 512"
+msgstr "iノードが多すぎます - 最大 512 です"
+
+#: disk-utils/mkfs.bfs.c:212
+#, c-format
+msgid "not enough space, need at least %llu blocks"
+msgstr "領域が不十分です。最低でも %llu ブロック必要です"
+
+#: disk-utils/mkfs.bfs.c:224 fdisk/fdisk.c:2345
+#, c-format
+msgid "Device: %s\n"
+msgstr "デバイス: %s\n"
+
+#: disk-utils/mkfs.bfs.c:225
+#, c-format
+msgid "Volume: <%-6s>\n"
+msgstr "ボリューム: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:226
+#, c-format
+msgid "FSname: <%-6s>\n"
+msgstr "ファイルシステム名: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:227
+#, c-format
+msgid "BlockSize: %d\n"
+msgstr "ブロックサイズ: %d\n"
+
+#: disk-utils/mkfs.bfs.c:229
+#, c-format
+msgid "Inodes: %d (in 1 block)\n"
+msgstr "I-ノード: %d (1 ブロックあたり)\n"
+
+#: disk-utils/mkfs.bfs.c:232
+#, c-format
+msgid "Inodes: %d (in %lld blocks)\n"
+msgstr "I-ノード: %d (%lld ブロックあたり)\n"
+
+#: disk-utils/mkfs.bfs.c:234
+#, c-format
+msgid "Blocks: %lld\n"
+msgstr "ブロック数: %lld\n"
+
+#: disk-utils/mkfs.bfs.c:235
+#, c-format
+msgid "Inode end: %d, Data end: %d\n"
+msgstr "I-ノード末尾: %d, データ末尾: %d\n"
+
+#: disk-utils/mkfs.bfs.c:240
+msgid "error writing superblock"
+msgstr "スーバーブロック書き込み中にエラーが発生しました"
+
+#: disk-utils/mkfs.bfs.c:260
+msgid "error writing root inode"
+msgstr "ルート I-ノード書き込み中にエラーが発生しました"
+
+#: disk-utils/mkfs.bfs.c:265
+msgid "error writing inode"
+msgstr "I-ノード書き込み中にエラーが発生しました"
+
+#: disk-utils/mkfs.bfs.c:268
+msgid "seek error"
+msgstr "seek エラーが発生しました"
+
+#: disk-utils/mkfs.bfs.c:274
+msgid "error writing . entry"
+msgstr ". 項目書き込み中にエラーが発生しました"
+
+#: disk-utils/mkfs.bfs.c:278
+msgid "error writing .. entry"
+msgstr ".. 項目書き込み中にエラーが発生しました"
+
+#: disk-utils/mkfs.bfs.c:282
+#, c-format
+msgid "error closing %s"
+msgstr "%s の close でエラーが発生しました"
+
+#: disk-utils/mkfs.c:73
+#, c-format
+msgid "Usage: mkfs [-V] [-t fstype] [fs-options] device [size]\n"
+msgstr ""
+"使い方: mkfs [-V] [-t ファイルシステム型] [fs オプション] デバイス [サイズ]\n"
+
+#: disk-utils/mkfs.c:88 disk-utils/mkfs.c:96 fdisk/cfdisk.c:351
+#: getopt/getopt.c:86 getopt/getopt.c:96 login-utils/wall.c:246
+#, c-format
+msgid "%s: Out of memory!\n"
+msgstr "%s: メモリが足りません!\n"
+
+#: disk-utils/mkfs.c:103
+#, c-format
+msgid "mkfs (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: disk-utils/mkfs.cramfs.c:126
+#, 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:340
+#, c-format
+msgid ""
+"Very long (%zu bytes) filename `%s' found.\n"
+" Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile.  Exiting.\n"
+msgstr ""
+"非常に長い (%zu バイト) ファイル名 `%s' が見つかりました。\n"
+" mkcramfs.c 内の MAX_INPUT_NAMELEN を増やして再コンパイルしてください。終了し"
+"ます。\n"
+
+#: disk-utils/mkfs.cramfs.c:472
+#, c-format
+msgid "filesystem too big.  Exiting.\n"
+msgstr "ファイルシステムが大きすぎます。終了します\n"
+
+#: disk-utils/mkfs.cramfs.c:637
+#, c-format
+msgid "AIEEE: block \"compressed\" to > 2*blocklength (%ld)\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:656
+#, c-format
+msgid "%6.2f%% (%+ld bytes)\t%s\n"
+msgstr "%6.2f%% (%+ld バイト)\t%s\n"
+
+#: disk-utils/mkfs.cramfs.c:854
+#, c-format
+msgid ""
+"warning: guestimate of required size (upper bound) is %lldMB, but maximum "
+"image size is %uMB.  We might die prematurely.\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:881
+msgid "ROM image map"
+msgstr "ROM イメージマップ"
+
+#: disk-utils/mkfs.cramfs.c:895
+#, c-format
+msgid "Including: %s\n"
+msgstr "含む: %s\n"
+
+#: disk-utils/mkfs.cramfs.c:901
+#, c-format
+msgid "Directory data: %zd bytes\n"
+msgstr "ディレクトリデータ: %zd バイト\n"
+
+#: disk-utils/mkfs.cramfs.c:909
+#, c-format
+msgid "Everything: %zd kilobytes\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:914
+#, c-format
+msgid "Super block: %zd bytes\n"
+msgstr "スーパーブロック: %zd バイト\n"
+
+#: disk-utils/mkfs.cramfs.c:921
+#, c-format
+msgid "CRC: %x\n"
+msgstr "CRC: %x\n"
+
+#: disk-utils/mkfs.cramfs.c:926
+#, c-format
+msgid "not enough space allocated for ROM image (%lld allocated, %zu used)\n"
+msgstr "ROMイメージにおって十分な容量ではありません (%lld 確保、%zu 使用)\n"
+
+#: disk-utils/mkfs.cramfs.c:934
+msgid "ROM image"
+msgstr "ROM イメージ"
+
+#: disk-utils/mkfs.cramfs.c:938
+#, c-format
+msgid "ROM image write failed (%zd %zd)\n"
+msgstr "ROM イメージの書き込みに失敗しました (%zd %zd)\n"
+
+#: disk-utils/mkfs.cramfs.c:947
+#, c-format
+msgid "warning: filenames truncated to 255 bytes.\n"
+msgstr "警告: ファイル名は 255 バイトに切り詰められます。\n"
+
+#: disk-utils/mkfs.cramfs.c:950
+#, c-format
+msgid "warning: files were skipped due to errors.\n"
+msgstr "警告: ファイルはエラーのためスキップされました。\n"
+
+#: disk-utils/mkfs.cramfs.c:953
+#, c-format
+msgid "warning: file sizes truncated to %luMB (minus 1 byte).\n"
+msgstr "警告: ファイルサイズは%luMBに切り詰められました (最小1バイト)。\n"
+
+#: disk-utils/mkfs.cramfs.c:958
+#, c-format
+msgid ""
+"warning: uids truncated to %u bits.  (This may be a security concern.)\n"
+msgstr ""
+"警告: uidは%uビットへ切り詰められました。 (セキュリティ上の懸念事項になるかも"
+"しれません。)\n"
+
+#: disk-utils/mkfs.cramfs.c:963
+#, c-format
+msgid ""
+"warning: gids truncated to %u bits.  (This may be a security concern.)\n"
+msgstr ""
+"警告: gidは%uビットへ切り詰められました。 (セキュリティ上の懸念事項になるかも"
+"しれません。)\n"
+
+#: disk-utils/mkfs.cramfs.c:968
+#, c-format
+msgid ""
+"WARNING: device numbers truncated to %u bits.  This almost certainly means\n"
+"that some device files will be wrong.\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:156
+#, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]\n"
+msgstr "使い方: %s [-c | -l ファイル名] [-nXX] [-iXX] /dev/name [ブロック数]\n"
+
+#: disk-utils/mkfs.minix.c:180
+#, c-format
+msgid "%s is mounted; will not make a filesystem here!"
+msgstr "%s はマウントされています -- ここにはファイルシステムをつくれません!"
+
+#: disk-utils/mkfs.minix.c:190
+msgid "seek to boot block failed in write_tables"
+msgstr "write_tables でのブートブロックへのシークに失敗しました"
+
+#: disk-utils/mkfs.minix.c:192
+msgid "unable to clear boot sector"
+msgstr "ブートセクタをクリアできません"
+
+#: disk-utils/mkfs.minix.c:194
+msgid "seek failed in write_tables"
+msgstr "write_tables でのシークに失敗しました"
+
+#: disk-utils/mkfs.minix.c:198
+msgid "unable to write inode map"
+msgstr "inode マップの書き込みができません"
+
+#: disk-utils/mkfs.minix.c:200
+msgid "unable to write zone map"
+msgstr "ゾーンマップの書き込みができません"
+
+#: disk-utils/mkfs.minix.c:202
+msgid "unable to write inodes"
+msgstr "inode の書き込みができません"
+
+#: disk-utils/mkfs.minix.c:211
+msgid "write failed in write_block"
+msgstr "write_block での書き込みに失敗しました"
+
+#: disk-utils/mkfs.minix.c:219 disk-utils/mkfs.minix.c:293
+#: disk-utils/mkfs.minix.c:342
+msgid "too many bad blocks"
+msgstr "不正ブロックが多すぎます"
+
+#: disk-utils/mkfs.minix.c:227
+msgid "not enough good blocks"
+msgstr "正常なブロックが不十分です"
+
+#: disk-utils/mkfs.minix.c:439
+msgid "unable to allocate buffers for maps"
+msgstr "マップバッファを確保できません"
+
+#: disk-utils/mkfs.minix.c:448
+msgid "unable to allocate buffer for inodes"
+msgstr "inode バッファの確保ができません。"
+
+#: disk-utils/mkfs.minix.c:454
+#, c-format
+msgid ""
+"Maxsize=%ld\n"
+"\n"
+msgstr ""
+"最大サイズ=%ld\n"
+"\n"
+
+#: disk-utils/mkfs.minix.c:468
+msgid "seek failed during testing of blocks"
+msgstr "ブロックのテスト中にシークが失敗しました"
+
+#: disk-utils/mkfs.minix.c:476
+#, c-format
+msgid "Weird values in do_check: probably bugs\n"
+msgstr "do_check に変な値があります: 多分バグでしょう\n"
+
+#: disk-utils/mkfs.minix.c:507 disk-utils/mkswap.c:313
+msgid "seek failed in check_blocks"
+msgstr "check_blocks でのシークに失敗しました"
+
+#: disk-utils/mkfs.minix.c:516
+msgid "bad blocks before data-area: cannot make fs"
+msgstr "データ領域以前に不正ブロック: ファイルシステムを作成できません"
+
+#: disk-utils/mkfs.minix.c:522 disk-utils/mkfs.minix.c:547
+#, c-format
+msgid "%d bad blocks\n"
+msgstr "不正ブロック数 %d\n"
+
+#: disk-utils/mkfs.minix.c:524 disk-utils/mkfs.minix.c:549
+#, c-format
+msgid "one bad block\n"
+msgstr "不正ブロック数 1\n"
+
+#: disk-utils/mkfs.minix.c:534
+msgid "can't open file of bad blocks"
+msgstr "不正ブロックのファイルを開けません"
+
+#: disk-utils/mkfs.minix.c:538
+#, c-format
+msgid "badblock number input error on line %d\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:539
+#, fuzzy
+msgid "cannot read badblocks file"
+msgstr "ディスクドライブを読み込めません"
+
+#: disk-utils/mkfs.minix.c:619
+#, c-format
+msgid "strtol error: number of blocks not specified"
+msgstr "strtol エラー: ブロックの数が指定されませんでした"
+
+#: disk-utils/mkfs.minix.c:638
+#, c-format
+msgid "unable to stat %s"
+msgstr "%s の状態を取得できません"
+
+#: disk-utils/mkfs.minix.c:644
+#, c-format
+msgid "unable to open %s"
+msgstr "%s を開けません"
+
+#: disk-utils/mkfs.minix.c:649
+#, c-format
+msgid "cannot determine sector size for %s"
+msgstr "%s のセクタサイズを取得できません"
+
+#: disk-utils/mkfs.minix.c:651
+#, c-format
+msgid "block size smaller than physical sector size of %s"
+msgstr "ブロックサイズが %s の物理セクタサイズよりも小さい"
+
+#: disk-utils/mkfs.minix.c:654
+#, c-format
+msgid "cannot determine size of %s"
+msgstr "%s のサイズを取得できません"
+
+#: disk-utils/mkfs.minix.c:662
+#, c-format
+msgid "will not try to make filesystem on '%s'"
+msgstr "'%s' 上にファイルシステムを作らないようにします"
+
+#: disk-utils/mkfs.minix.c:664
+msgid "number of blocks too small"
+msgstr "ブロックの数が少なすぎます"
+
+#: disk-utils/mkswap.c:155
+#, c-format
+msgid "Bad user-specified page size %d\n"
+msgstr "不正なユーザ指定ページサイズ %d\n"
+
+#: disk-utils/mkswap.c:163
+#, c-format
+msgid "Using user-specified page size %d, instead of the system value %d\n"
+msgstr ""
+"システムのページサイズ値 %2$d の代わりに、ユーザ指定値 %1$d を使います\n"
+
+#: disk-utils/mkswap.c:192
+#, c-format
+msgid "Bad swap header size, no label written.\n"
+msgstr "スワップヘッダサイズが正しくないため、ラベルは書き込まれません。\n"
+
+#: disk-utils/mkswap.c:202
+#, c-format
+msgid "Label was truncated.\n"
+msgstr "ラベルは切り詰められました。\n"
+
+#: disk-utils/mkswap.c:208
+#, c-format
+msgid "no label, "
+msgstr "ラベルはありません, "
+
+#: disk-utils/mkswap.c:216
+#, c-format
+msgid "no uuid\n"
+msgstr "uuidがありません\n"
+
+#: disk-utils/mkswap.c:281
+#, c-format
+msgid "Usage: %s [-c] [-pPAGESZ] [-L label] [-U UUID] /dev/name [blocks]\n"
+msgstr ""
+"使い方: %s [-c] [-pページサイズ] [-L ラベル] [-U UUID] /dev/name [ブロック"
+"数]\n"
+
+#: disk-utils/mkswap.c:295
+msgid "too many bad pages"
+msgstr "不正ページが多すぎます"
+
+#: disk-utils/mkswap.c:308 misc-utils/look.c:182 misc-utils/setterm.c:1183
+#: text-utils/more.c:1982 text-utils/more.c:1993
+msgid "Out of memory"
+msgstr "メモリが足りません"
+
+#: disk-utils/mkswap.c:319
+#, c-format
+msgid "one bad page\n"
+msgstr "不正なページ数\n"
+
+#: disk-utils/mkswap.c:321
+#, c-format
+msgid "%lu bad pages\n"
+msgstr "不正なページ数 %lu\n"
+
+#: disk-utils/mkswap.c:399 disk-utils/mkswap.c:415 disk-utils/mkswap.c:633
+msgid "unable to rewind swap-device"
+msgstr "スワップデバイスを巻き戻せません"
+
+#: disk-utils/mkswap.c:419
+#, fuzzy
+msgid "unable to erase bootbits sectors"
+msgstr "ブートセクタをクリアできません"
+
+#: disk-utils/mkswap.c:423
+#, c-format
+msgid "%s: %s: warning: don't erase bootbits sectors\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:426
+#, c-format
+msgid "        (%s partition table detected). "
+msgstr "        (%s パーティションテーブルを認識しました)。"
+
+#: disk-utils/mkswap.c:428
+#, fuzzy, c-format
+msgid "        on whole disk. "
+msgstr "   s   完全なディスクラベルを表示する"
+
+#: disk-utils/mkswap.c:498
+#, c-format
+msgid "%1$s: warning: ignore -U (UUIDs are unsupported by %1$s)\n"
+msgstr "%1$s: 警告: -U を無視します (UUIDsは%1$sによってサポートされません)\n"
+
+#: disk-utils/mkswap.c:514
+#, c-format
+msgid "%s: does not support swapspace version %d.\n"
+msgstr "%s: スワップ空間のバージョン %d はサポートされていません。\n"
+
+#: disk-utils/mkswap.c:522
+msgid "error: UUID parsing failed"
+msgstr "エラー: UUID の解析に失敗"
+
+#: disk-utils/mkswap.c:533
+#, c-format
+msgid "%s: error: Nowhere to set up swap on?\n"
+msgstr "%s: エラー: スワップを有効にするための場所がない?\n"
+
+#: disk-utils/mkswap.c:551
+#, c-format
+msgid "%s: error: size %llu KiB is larger than device size %llu KiB\n"
+msgstr ""
+"%s: エラー: サイズ %llu KiB がデバイスのサイズ %llu KiB よりも大きいです\n"
+
+#: disk-utils/mkswap.c:560
+#, c-format
+msgid "%s: error: swap area needs to be at least %ld KiB\n"
+msgstr "%s: エラー: スワップ領域は少なくとも %ld KiB 必要です\n"
+
+#: disk-utils/mkswap.c:577
+#, c-format
+msgid "%s: warning: truncating swap area to %llu KiB\n"
+msgstr "%s: 警告: スワップ領域を %llu KiB に切り詰めました\n"
+
+#: disk-utils/mkswap.c:600
+#, c-format
+msgid "%s: error: will not try to make swapdevice on '%s'\n"
+msgstr "'%s: '%s' にはスワップデバイスを作らないようにします\n"
+
+#: disk-utils/mkswap.c:606
+#, c-format
+msgid "%s: error: %s is mounted; will not make swapspace.\n"
+msgstr "%s: %s はマウントされています; ここにはスワップ空間をつくれません。\n"
+
+#: disk-utils/mkswap.c:622
+msgid "Unable to set up swap-space: unreadable"
+msgstr "スワップ空間を設定できません: 読込めません"
+
+#: disk-utils/mkswap.c:625
+#, c-format
+msgid "Setting up swapspace version 1, size = %llu KiB\n"
+msgstr "スワップ空間バージョン1を設定します、サイズ = %llu KiB\n"
+
+#: disk-utils/mkswap.c:636
+#, c-format
+msgid "%s: %s: unable to write signature page: %s"
+msgstr "%s: %s: 署名ページを書き込めません: %s"
+
+#: disk-utils/mkswap.c:647
+msgid "fsync failed"
+msgstr "fsync に失敗"
+
+#: disk-utils/mkswap.c:658
+#, c-format
+msgid "%s: %s: unable to obtain selinux file label: %s\n"
+msgstr "%s: %s: selinuxのファイルラベルを含むことができません: %s\n"
+
+#: disk-utils/mkswap.c:664
+#, fuzzy
+msgid "unable to matchpathcon()"
+msgstr "%s の状態を取得できません"
+
+#: disk-utils/mkswap.c:667
+msgid "unable to create new selinux context"
+msgstr "新規の selinux コンテキストを作成できません"
+
+#: disk-utils/mkswap.c:669
+msgid "couldn't compute selinux context"
+msgstr "selinux コンテキストを計算できません"
+
+#: disk-utils/mkswap.c:675
+#, c-format
+msgid "%s: unable to relabel %s to %s: %s\n"
+msgstr "%s: %s の名前を %s に変更できません: %s\n"
+
+#: disk-utils/raw.c:50
+#, c-format
+msgid ""
+"Usage:\n"
+"  %s "
+msgstr ""
+"使い方:\n"
+"  %s"
+
+#: disk-utils/raw.c:125
+#, c-format
+msgid ""
+"Device '%s' is control raw dev (use raw<N> where <N> is greater than zero)\n"
+msgstr ""
+
+#: disk-utils/raw.c:145
+#, c-format
+msgid "Cannot locate block device '%s' (%s)\n"
+msgstr "ブロックファイル '%s' (%s) を配置できません\n"
+
+#: disk-utils/raw.c:151
+#, c-format
+msgid "Device '%s' is not a block dev\n"
+msgstr "警告: '%s' はブロックデバイスではありません\n"
+
+#: disk-utils/raw.c:186
+#, fuzzy, c-format
+msgid "Cannot open master raw device '"
+msgstr "マスターロウデバイスを開くことができません"
+
+#: disk-utils/raw.c:205
+#, c-format
+msgid "Cannot locate raw device '%s' (%s)\n"
+msgstr "ロウデバイス '%s' (%s) を配置できません\n"
+
+#: disk-utils/raw.c:211
+#, c-format
+msgid "Raw device '%s' is not a character dev\n"
+msgstr "ロウデバイス '%s' はキャラクタデバイスではありません\n"
+
+#: disk-utils/raw.c:216
+#, c-format
+msgid "Device '%s' is not a raw dev\n"
+msgstr "デバイス '%s' はロウデバイスではありません\n"
+
+#: disk-utils/raw.c:231
+#, c-format
+msgid "Error querying raw device (%s)\n"
+msgstr ""
+
+#: disk-utils/raw.c:241 disk-utils/raw.c:261
+#, c-format
+msgid "raw%d:\tbound to major %d, minor %d\n"
+msgstr ""
+
+#: disk-utils/raw.c:257
+#, fuzzy, c-format
+msgid "Error setting raw device (%s)\n"
+msgstr "エラーによりサービスを停止します: \"%s\""
+
+#: fdisk/cfdisk.c:376 fdisk/cfdisk.c:2080
+msgid "Unusable"
+msgstr "使用不可"
+
+#: fdisk/cfdisk.c:378 fdisk/cfdisk.c:2082
+msgid "Free Space"
+msgstr "空き領域"
+
+#: fdisk/cfdisk.c:381
+msgid "Linux ext2"
+msgstr "Linux ext2"
+
+#: fdisk/cfdisk.c:383
+msgid "Linux ext3"
+msgstr "Linux ext3"
+
+#: fdisk/cfdisk.c:385
+msgid "Linux XFS"
+msgstr "Linux XFS"
+
+#: fdisk/cfdisk.c:387
+msgid "Linux JFS"
+msgstr "Linux JFS"
+
+#: fdisk/cfdisk.c:389
+msgid "Linux ReiserFS"
+msgstr "Linux ReiserFS"
+
+#: fdisk/cfdisk.c:391 fdisk/i386_sys_types.c:57
+msgid "Linux"
+msgstr "Linux"
+
+#: fdisk/cfdisk.c:394
+msgid "OS/2 HPFS"
+msgstr "OS/2 HPFS"
+
+#: fdisk/cfdisk.c:396
+msgid "OS/2 IFS"
+msgstr "OS/2 IFS"
+
+#: fdisk/cfdisk.c:400
+msgid "NTFS"
+msgstr "NTFS"
+
+#: fdisk/cfdisk.c:411
+#, c-format
+msgid "Disk has been changed.\n"
+msgstr "ディスクが変更されました。\n"
+
+#: fdisk/cfdisk.c:413
+#, c-format
+msgid "Reboot the system to ensure the partition table is correctly updated.\n"
+msgstr "領域情報を正しく更新させるにはシステムを再起動してください。\n"
+
+#: fdisk/cfdisk.c:417
+#, 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"
+
+#: fdisk/cfdisk.c:512
+msgid "FATAL ERROR"
+msgstr "*致命的なエラー*"
+
+#: fdisk/cfdisk.c:513
+msgid "Press any key to exit cfdisk"
+msgstr "中断するには何かキーを入力してください"
+
+#: fdisk/cfdisk.c:560 fdisk/cfdisk.c:568
+msgid "Cannot seek on disk drive"
+msgstr "ディスクドライブ上で seek できません"
+
+#: fdisk/cfdisk.c:562
+msgid "Cannot read disk drive"
+msgstr "ディスクドライブを読み込めません"
+
+#: fdisk/cfdisk.c:570
+msgid "Cannot write disk drive"
+msgstr "ディスクドライブに書き込めません"
+
+#: fdisk/cfdisk.c:913
+msgid "Too many partitions"
+msgstr "領域が多すぎます"
+
+#: fdisk/cfdisk.c:918
+msgid "Partition begins before sector 0"
+msgstr "領域がセクタ 0 よりまえから始まっています"
+
+#: fdisk/cfdisk.c:923
+msgid "Partition ends before sector 0"
+msgstr "領域がセクタ 0 より前で終わっています"
+
+#: fdisk/cfdisk.c:928
+msgid "Partition begins after end-of-disk"
+msgstr "領域がディスクの終点よりも後ろから始まっています"
+
+#: fdisk/cfdisk.c:933
+msgid "Partition ends after end-of-disk"
+msgstr "領域がディスクの終点よりも後ろで終わっています"
+
+#: fdisk/cfdisk.c:938
+msgid "Partition ends in the final partial cylinder"
+msgstr ""
+
+#: fdisk/cfdisk.c:962
+msgid "logical partitions not in disk order"
+msgstr "論理領域がディスクの順序と一致しません"
+
+#: fdisk/cfdisk.c:965
+msgid "logical partitions overlap"
+msgstr "論理領域が重複しています"
+
+#: fdisk/cfdisk.c:969
+msgid "enlarged logical partitions overlap"
+msgstr "拡大された論理領域が重複しています"
+
+#: fdisk/cfdisk.c:999
+msgid ""
+"!!!! Internal error creating logical drive with no extended partition !!!!"
+msgstr ""
+"!!!! 内部エラー。拡張領域以外に論理ドライブを作成しようとしています !!!!"
+
+#: fdisk/cfdisk.c:1010 fdisk/cfdisk.c:1022
+msgid ""
+"Cannot create logical drive here -- would create two extended partitions"
+msgstr ""
+"ここには論理ドライブを作成できません -- 2 つの拡張領域であれば作成します"
+
+#: fdisk/cfdisk.c:1164
+msgid "Menu item too long. Menu may look odd."
+msgstr "メニュー項目名が長すぎます。メニュー表示が乱れている可能性があります。"
+
+#: fdisk/cfdisk.c:1220
+msgid "Menu without direction. Defaulting to horizontal."
+msgstr "メニューに方向がありません。水平方向を初期値とします。"
+
+#: fdisk/cfdisk.c:1351
+msgid "Illegal key"
+msgstr "不正なキー"
+
+#: fdisk/cfdisk.c:1374
+msgid "Press a key to continue"
+msgstr "続けるには何かキーを入力してください"
+
+#: fdisk/cfdisk.c:1421 fdisk/cfdisk.c:2051 fdisk/cfdisk.c:2583
+#: fdisk/cfdisk.c:2585
+msgid "Primary"
+msgstr "基本領域"
+
+#: fdisk/cfdisk.c:1421
+msgid "Create a new primary partition"
+msgstr "新規に基本領域を作成します"
+
+#: fdisk/cfdisk.c:1422 fdisk/cfdisk.c:2051 fdisk/cfdisk.c:2582
+#: fdisk/cfdisk.c:2585
+msgid "Logical"
+msgstr "論理領域"
+
+#: fdisk/cfdisk.c:1422
+msgid "Create a new logical partition"
+msgstr "新規に論理領域を作成します"
+
+#: fdisk/cfdisk.c:1423 fdisk/cfdisk.c:1478 fdisk/cfdisk.c:2256
+msgid "Cancel"
+msgstr "中止"
+
+#: fdisk/cfdisk.c:1423 fdisk/cfdisk.c:1478
+msgid "Don't create a partition"
+msgstr "領域を作成しません"
+
+#: fdisk/cfdisk.c:1439
+msgid "!!! Internal error !!!"
+msgstr "!!! 内部エラー !!!"
+
+#: fdisk/cfdisk.c:1442
+msgid "Size (in MB): "
+msgstr "サイズ (MB 単位): "
+
+#: fdisk/cfdisk.c:1476
+msgid "Beginning"
+msgstr "最初から"
+
+#: fdisk/cfdisk.c:1476
+msgid "Add partition at beginning of free space"
+msgstr "空き領域の最初に領域を追加"
+
+#: fdisk/cfdisk.c:1477
+msgid "End"
+msgstr "最後から"
+
+#: fdisk/cfdisk.c:1477
+msgid "Add partition at end of free space"
+msgstr "空き領域の最後に領域を追加"
+
+#: fdisk/cfdisk.c:1495
+msgid "No room to create the extended partition"
+msgstr "拡張領域を作成するための場所がありません"
+
+#: fdisk/cfdisk.c:1569
+msgid "No partition table.\n"
+msgstr "領域テーブルがありません。\n"
+
+#: fdisk/cfdisk.c:1573
+#, fuzzy
+msgid "No partition table. Starting with zero table."
+msgstr "領域テーブルが無いか領域テーブルの署名が不正です"
+
+#: fdisk/cfdisk.c:1583
+msgid "Bad signature on partition table"
+msgstr "領域テーブルの署名が不正です"
+
+#: fdisk/cfdisk.c:1587
+msgid "Unknown partition table type"
+msgstr "不明な領域テーブルのタイプ"
+
+#: fdisk/cfdisk.c:1589
+msgid "Do you wish to start with a zero table [y/N] ?"
+msgstr "ゼロテーブルで開始しましょうか [y/N] ?"
+
+#: fdisk/cfdisk.c:1637
+msgid "You specified more cylinders than fit on disk"
+msgstr "ディスクにとって適切な数よりも多くのシリンダ数を指定されました"
+
+#: fdisk/cfdisk.c:1669
+msgid "Cannot open disk drive"
+msgstr "ディスクドライブを開けません"
+
+#: fdisk/cfdisk.c:1671 fdisk/cfdisk.c:1860
+msgid "Opened disk read-only - you have no permission to write"
+msgstr "ディスクを読込み専用で開きました -- あなたには書込み権限がありません"
+
+#: fdisk/cfdisk.c:1682
+msgid ""
+"Warning!!  Unsupported GPT (GUID Partition Table) detected. Use GNU Parted."
+msgstr ""
+"警告!! サポートしていない GPT (GUID パーティションテーブル) を検出しました。"
+"GNU Parded を使ってください"
+
+#: fdisk/cfdisk.c:1701
+msgid "Cannot get disk size"
+msgstr "ディスクサイズを取得できません"
+
+#: fdisk/cfdisk.c:1727
+msgid "Bad primary partition"
+msgstr "不正な基本領域"
+
+#: fdisk/cfdisk.c:1757
+msgid "Bad logical partition"
+msgstr "不正な論理領域"
+
+#: fdisk/cfdisk.c:1872
+msgid "Warning!!  This may destroy data on your disk!"
+msgstr "警告! これはあなたのディスクにあるデータを破壊するかもしれません"
+
+#: fdisk/cfdisk.c:1876
+msgid ""
+"Are you sure you want to write the partition table to disk? (yes or no): "
+msgstr ""
+"パーティション領域をディスクに書き込んでもよろしいですか?(yes または no): "
+
+#: fdisk/cfdisk.c:1882
+msgid "no"
+msgstr "no"
+
+#: fdisk/cfdisk.c:1884
+msgid "Did not write partition table to disk"
+msgstr "領域テーブルをディスクに書き込みませんでした"
+
+#: fdisk/cfdisk.c:1886
+msgid "yes"
+msgstr "yes"
+
+#: fdisk/cfdisk.c:1890
+msgid "Please enter `yes' or `no'"
+msgstr "`yes' か `no' のいずれかを入力してください"
+
+#: fdisk/cfdisk.c:1894
+msgid "Writing partition table to disk..."
+msgstr "領域テーブルを書き込み中..."
+
+#: fdisk/cfdisk.c:1921 fdisk/cfdisk.c:1925
+msgid "Wrote partition table to disk"
+msgstr "領域テーブルをディスクに書き込みました"
+
+#: fdisk/cfdisk.c:1923
+#, fuzzy
+msgid ""
+"Wrote partition table, but re-read table failed.  Run partprobe(8), kpartx"
+"(8) or reboot to update table."
+msgstr ""
+"領域テーブルを書き込みましたが、再読込みに失敗。再起動して更新してください"
+
+#: fdisk/cfdisk.c:1933
+msgid "No primary partitions are marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"ブート可能マーク付き基本領域がありません。DOS MBR はこれをブートできません。"
+
+#: fdisk/cfdisk.c:1935
+msgid ""
+"More than one primary partition is marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"ブート可能マーク付き基本領域が複数あります。DOS MBR はこれをブートできませ"
+"ん。"
+
+#: fdisk/cfdisk.c:1993 fdisk/cfdisk.c:2112 fdisk/cfdisk.c:2196
+msgid "Enter filename or press RETURN to display on screen: "
+msgstr "ファイル名を入力、画面に表示する場合はリターンキー: "
+
+#: fdisk/cfdisk.c:2002 fdisk/cfdisk.c:2120 fdisk/cfdisk.c:2204
+#, c-format
+msgid "Cannot open file '%s'"
+msgstr "ファイル '%s' を開けません"
+
+#: fdisk/cfdisk.c:2013
+#, c-format
+msgid "Disk Drive: %s\n"
+msgstr "ディスクドライブ: %s\n"
+
+#: fdisk/cfdisk.c:2015
+msgid "Sector 0:\n"
+msgstr "セクタ 0:\n"
+
+#: fdisk/cfdisk.c:2022
+#, c-format
+msgid "Sector %d:\n"
+msgstr "セクタ %d:\n"
+
+#: fdisk/cfdisk.c:2042
+msgid "   None   "
+msgstr "   無し   "
+
+#: fdisk/cfdisk.c:2044
+msgid "   Pri/Log"
+msgstr "   基本/論理"
+
+#: fdisk/cfdisk.c:2046
+msgid "   Primary"
+msgstr "   基本領域"
+
+#: fdisk/cfdisk.c:2048
+msgid "   Logical"
+msgstr "   論理領域"
+
+#: fdisk/cfdisk.c:2086 fdisk/fdisk.c:1534 fdisk/fdisk.c:1855
+#: fdisk/fdisksgilabel.c:240 fdisk/fdisksunlabel.c:621 fdisk/sfdisk.c:653
+msgid "Unknown"
+msgstr "不明"
+
+#: fdisk/cfdisk.c:2092 fdisk/cfdisk.c:2560 fdisk/fdisksunlabel.c:44
+msgid "Boot"
+msgstr "ブート"
+
+#: fdisk/cfdisk.c:2094
+#, c-format
+msgid "(%02X)"
+msgstr "(%02X)"
+
+#: fdisk/cfdisk.c:2096
+msgid "None"
+msgstr "None"
+
+#: fdisk/cfdisk.c:2131 fdisk/cfdisk.c:2215
+#, c-format
+msgid "Partition Table for %s\n"
+msgstr "%s パーティション情報\n"
+
+#: fdisk/cfdisk.c:2133
+msgid "               First       Last\n"
+msgstr "               最初の    最後の\n"
+
+#: fdisk/cfdisk.c:2134
+msgid ""
+" # Type       Sector      Sector   Offset    Length   Filesystem Type (ID) "
+"Flag\n"
+msgstr ""
+" # 領域       セクタ    セクタ オフセット    大きさ   Filesystemタイプ(ID) フ"
+"ラグ\n"
+
+#: fdisk/cfdisk.c:2135
+msgid ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+msgstr ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+
+#: fdisk/cfdisk.c:2218
+msgid "         ---Starting----      ----Ending-----    Start     Number of\n"
+msgstr "         ----最初の-----      ----最後の-----      開始    Number of\n"
+
+#: fdisk/cfdisk.c:2219
+msgid " # Flags Head Sect  Cyl   ID  Head Sect  Cyl     Sector    Sectors\n"
+msgstr " # Flags Head Sect  Cyl   ID  Head Sect  Cyl セクタ番号   セクタ数\n"
+
+#: fdisk/cfdisk.c:2220
+msgid "-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+msgstr ""
+"-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+
+#: fdisk/cfdisk.c:2253
+msgid "Raw"
+msgstr "生データ"
+
+#: fdisk/cfdisk.c:2253
+msgid "Print the table using raw data format"
+msgstr "生データの形式でパーティション情報を出力"
+
+#: fdisk/cfdisk.c:2254 fdisk/cfdisk.c:2357
+msgid "Sectors"
+msgstr "セクタ"
+
+#: fdisk/cfdisk.c:2254
+msgid "Print the table ordered by sectors"
+msgstr "セクタ順にパーティション情報を出力"
+
+#: fdisk/cfdisk.c:2255
+msgid "Table"
+msgstr "テーブル"
+
+#: fdisk/cfdisk.c:2255
+msgid "Just print the partition table"
+msgstr "単に領域情報を表示"
+
+#: fdisk/cfdisk.c:2256
+msgid "Don't print the table"
+msgstr "領域情報を出力しない"
+
+#: fdisk/cfdisk.c:2284
+msgid "Help Screen for cfdisk"
+msgstr "cfdisk のヘルプ画面"
+
+#: fdisk/cfdisk.c:2286
+msgid "This is cfdisk, a curses based disk partitioning program, which"
+msgstr "cfdisk は端末型ディスク領域作成プログラムです。"
+
+#: fdisk/cfdisk.c:2287
+msgid "allows you to create, delete and modify partitions on your hard"
+msgstr "ハードディスクドライブの領域を作成、削除、変更"
+
+#: fdisk/cfdisk.c:2288
+msgid "disk drive."
+msgstr "することができます。"
+
+#: fdisk/cfdisk.c:2290
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+
+#: fdisk/cfdisk.c:2292
+msgid "Command      Meaning"
+msgstr "コマンド      説明"
+
+#: fdisk/cfdisk.c:2293
+msgid "-------      -------"
+msgstr "-------      -------"
+
+#: fdisk/cfdisk.c:2294
+msgid "  b          Toggle bootable flag of the current partition"
+msgstr "  b          カーソル上の領域のブートフラグの切替"
+
+#: fdisk/cfdisk.c:2295
+msgid "  d          Delete the current partition"
+msgstr "  d          カーソル上の領域を削除"
+
+#: fdisk/cfdisk.c:2296
+msgid "  g          Change cylinders, heads, sectors-per-track parameters"
+msgstr "  g          シリンダ, ヘッダ, トラック当たりのセクタ数を変更"
+
+#: fdisk/cfdisk.c:2297
+msgid "             WARNING: This option should only be used by people who"
+msgstr "             警告: このオプションが何をするものか理解していない人"
+
+#: fdisk/cfdisk.c:2298
+msgid "             know what they are doing."
+msgstr "             は使用してはいけない。"
+
+#: fdisk/cfdisk.c:2299
+msgid "  h          Print this screen"
+msgstr "  h          この画面を表示"
+
+#: fdisk/cfdisk.c:2300
+msgid "  m          Maximize disk usage of the current partition"
+msgstr "  m          カーソル上の領域のディスク使用量を最大にする。"
+
+#: fdisk/cfdisk.c:2301
+msgid "             Note: This may make the partition incompatible with"
+msgstr "             注意: このオプションは、DOS, OS/2 等と互換性のない"
+
+#: fdisk/cfdisk.c:2302
+msgid "             DOS, OS/2, ..."
+msgstr "             領域を作成する可能性があります。"
+
+#: fdisk/cfdisk.c:2303
+msgid "  n          Create new partition from free space"
+msgstr "  n          空き領域から新規に領域を作成"
+
+#: fdisk/cfdisk.c:2304
+msgid "  p          Print partition table to the screen or to a file"
+msgstr "  p          領域情報を画面またはディスクに出力する"
+
+#: fdisk/cfdisk.c:2305
+msgid "             There are several different formats for the partition"
+msgstr "             領域の出力には次のような複数の形式から選択"
+
+#: fdisk/cfdisk.c:2306
+msgid "             that you can choose from:"
+msgstr "             できる:"
+
+#: fdisk/cfdisk.c:2307
+msgid "                r - Raw data (exactly what would be written to disk)"
+msgstr "                r - 生データ(ディスクに書き込まれる情報そのもの)"
+
+#: fdisk/cfdisk.c:2308
+msgid "                s - Table ordered by sectors"
+msgstr "                s - セクタ順のパーティション情報"
+
+#: fdisk/cfdisk.c:2309
+msgid "                t - Table in raw format"
+msgstr "                t - 生の形式のパーティション情報"
+
+#: fdisk/cfdisk.c:2310
+msgid "  q          Quit program without writing partition table"
+msgstr "  q          領域情報を書き込まずにプログラムを終了"
+
+#: fdisk/cfdisk.c:2311
+msgid "  t          Change the filesystem type"
+msgstr "  t          ファイルシステムタイプを変更"
+
+#: fdisk/cfdisk.c:2312
+msgid "  u          Change units of the partition size display"
+msgstr "  u          表示する領域サイズの単位を変更する"
+
+#: fdisk/cfdisk.c:2313
+msgid "             Rotates through MB, sectors and cylinders"
+msgstr "             MB, セクタ, シリンダの順に循環する"
+
+#: fdisk/cfdisk.c:2314
+msgid "  W          Write partition table to disk (must enter upper case W)"
+msgstr "  W          領域情報をディスクに書き込む(大文字 W を"
+
+#: fdisk/cfdisk.c:2315
+msgid "             Since this might destroy data on the disk, you must"
+msgstr "             入力しなければならない)。このオプションはディスク上の"
+
+#: fdisk/cfdisk.c:2316
+msgid "             either confirm or deny the write by entering `yes' or"
+msgstr "             データを破壊する可能性があるため、'yes'または'no'の入"
+
+#: fdisk/cfdisk.c:2317
+msgid "             `no'"
+msgstr "             力により、書き込みを行うかどうかを確認する。"
+
+#: fdisk/cfdisk.c:2318
+msgid "Up Arrow     Move cursor to the previous partition"
+msgstr "上矢印キー   上の領域にカーソルを移動"
+
+#: fdisk/cfdisk.c:2319
+msgid "Down Arrow   Move cursor to the next partition"
+msgstr "下矢印キー   下の領域にカーソルを移動"
+
+#: fdisk/cfdisk.c:2320
+msgid "CTRL-L       Redraws the screen"
+msgstr "CTRL-L       画面を再描画"
+
+#: fdisk/cfdisk.c:2321
+msgid "  ?          Print this screen"
+msgstr "  ?          この画面を表示"
+
+#: fdisk/cfdisk.c:2323
+msgid "Note: All of the commands can be entered with either upper or lower"
+msgstr "注意: コマンドはすべて大文字、小文字どちらでも使用できます"
+
+#: fdisk/cfdisk.c:2324
+msgid "case letters (except for Writes)."
+msgstr "(書き込みを除く)。"
+
+#: fdisk/cfdisk.c:2355 fdisk/fdisksunlabel.c:237
+msgid "Cylinders"
+msgstr "シリンダ"
+
+#: fdisk/cfdisk.c:2355
+msgid "Change cylinder geometry"
+msgstr "シリンダのジオメトリを変更"
+
+#: fdisk/cfdisk.c:2356 fdisk/fdisksunlabel.c:235
+msgid "Heads"
+msgstr "ヘッド数"
+
+#: fdisk/cfdisk.c:2356
+msgid "Change head geometry"
+msgstr "ヘッドのジオメトリを変更"
+
+#: fdisk/cfdisk.c:2357
+msgid "Change sector geometry"
+msgstr "セクタのジオメトリを変更"
+
+#: fdisk/cfdisk.c:2358
+msgid "Done"
+msgstr "終了"
+
+#: fdisk/cfdisk.c:2358
+msgid "Done with changing geometry"
+msgstr "ジオメトリを変更して終了"
+
+#: fdisk/cfdisk.c:2371
+msgid "Enter the number of cylinders: "
+msgstr "シリンダ数を入力してください: "
+
+#: fdisk/cfdisk.c:2382 fdisk/cfdisk.c:2953
+msgid "Illegal cylinders value"
+msgstr "不正なシリンダ数"
+
+#: fdisk/cfdisk.c:2388
+msgid "Enter the number of heads: "
+msgstr "ヘッダ数を入力してください: "
+
+#: fdisk/cfdisk.c:2395 fdisk/cfdisk.c:2963
+msgid "Illegal heads value"
+msgstr "不正なヘッド数"
+
+#: fdisk/cfdisk.c:2401
+msgid "Enter the number of sectors per track: "
+msgstr "トラック当たりのセクタ数を入力してください: "
+
+#: fdisk/cfdisk.c:2408 fdisk/cfdisk.c:2970
+msgid "Illegal sectors value"
+msgstr "不正なセクタ数"
+
+#: fdisk/cfdisk.c:2511
+msgid "Enter filesystem type: "
+msgstr "ファイルシステムタイプを入力してください: "
+
+#: fdisk/cfdisk.c:2529
+msgid "Cannot change FS Type to empty"
+msgstr "ファイルシステムタイプを空に変更できません"
+
+#: fdisk/cfdisk.c:2531
+msgid "Cannot change FS Type to extended"
+msgstr "ファイルシステムタイプを拡張に変更できません"
+
+#: fdisk/cfdisk.c:2562
+#, c-format
+msgid "Unk(%02X)"
+msgstr "不明(%02X)"
+
+#: fdisk/cfdisk.c:2565 fdisk/cfdisk.c:2568
+msgid ", NC"
+msgstr ", NC"
+
+#: fdisk/cfdisk.c:2573 fdisk/cfdisk.c:2576
+msgid "NC"
+msgstr "NC"
+
+#: fdisk/cfdisk.c:2584
+msgid "Pri/Log"
+msgstr "基本/論理"
+
+#: fdisk/cfdisk.c:2591
+#, c-format
+msgid "Unknown (%02X)"
+msgstr "不明 (%02X)"
+
+#: fdisk/cfdisk.c:2660
+#, c-format
+msgid "Disk Drive: %s"
+msgstr "ディスクドライブ: %s"
+
+#: fdisk/cfdisk.c:2667
+#, c-format
+msgid "Size: %lld bytes, %lld MB"
+msgstr "サイズ: %lld バイト, %lld MB"
+
+#: fdisk/cfdisk.c:2670
+#, c-format
+msgid "Size: %lld bytes, %lld.%lld GB"
+msgstr "サイズ: %lld バイト. %lld.%lld GB"
+
+#: fdisk/cfdisk.c:2674
+#, c-format
+msgid "Heads: %d   Sectors per Track: %d   Cylinders: %lld"
+msgstr "ヘッド: %d   トラック当たりのセクタ: %d   シリンダ: %lld"
+
+#: fdisk/cfdisk.c:2678 login-utils/chfn.c:377
+msgid "Name"
+msgstr "名前"
+
+#: fdisk/cfdisk.c:2679
+msgid "Flags"
+msgstr "フラグ"
+
+#: fdisk/cfdisk.c:2680
+msgid "Part Type"
+msgstr "領域タイプ"
+
+#: fdisk/cfdisk.c:2681
+msgid "FS Type"
+msgstr "FSタイプ"
+
+#: fdisk/cfdisk.c:2682
+msgid "[Label]"
+msgstr "[ラベル]"
+
+#: fdisk/cfdisk.c:2684
+msgid "    Sectors"
+msgstr "    セクタ "
+
+#: fdisk/cfdisk.c:2686
+msgid "  Cylinders"
+msgstr "  シリンダ "
+
+#: fdisk/cfdisk.c:2688
+msgid "  Size (MB)"
+msgstr "  サイズ (MB)"
+
+#: fdisk/cfdisk.c:2690
+msgid "  Size (GB)"
+msgstr "  サイズ (GB)"
+
+#: fdisk/cfdisk.c:2744
+msgid "Bootable"
+msgstr "ブート可"
+
+#: fdisk/cfdisk.c:2744
+msgid "Toggle bootable flag of the current partition"
+msgstr "カーソル上の領域のブートフラグを切り替える"
+
+#: fdisk/cfdisk.c:2745
+msgid "Delete"
+msgstr "削除"
+
+#: fdisk/cfdisk.c:2745
+msgid "Delete the current partition"
+msgstr "カーソル上の領域を削除"
+
+#: fdisk/cfdisk.c:2746
+msgid "Geometry"
+msgstr "ジオメトリ"
+
+#: fdisk/cfdisk.c:2746
+msgid "Change disk geometry (experts only)"
+msgstr "ディスクジオメトリを変更する(エキスパート用)"
+
+#: fdisk/cfdisk.c:2747
+msgid "Help"
+msgstr "ヘルプ"
+
+#: fdisk/cfdisk.c:2747
+msgid "Print help screen"
+msgstr "ヘルプ画面を表示"
+
+#: fdisk/cfdisk.c:2748
+msgid "Maximize"
+msgstr "最大化"
+
+#: fdisk/cfdisk.c:2748
+msgid "Maximize disk usage of the current partition (experts only)"
+msgstr "カーソル上の領域のディスク使用量を最大化(エキスパート用)"
+
+#: fdisk/cfdisk.c:2749
+msgid "New"
+msgstr "新規作成"
+
+#: fdisk/cfdisk.c:2749
+msgid "Create new partition from free space"
+msgstr "空き領域から新しく領域を作成"
+
+#: fdisk/cfdisk.c:2750
+msgid "Print"
+msgstr "表示"
+
+#: fdisk/cfdisk.c:2750
+msgid "Print partition table to the screen or to a file"
+msgstr "領域情報を画面またはファイルに出力"
+
+#: fdisk/cfdisk.c:2751
+msgid "Quit"
+msgstr "終了"
+
+#: fdisk/cfdisk.c:2751
+msgid "Quit program without writing partition table"
+msgstr "領域情報を書き込まずにプログラムを終了"
+
+#: fdisk/cfdisk.c:2752
+msgid "Type"
+msgstr "FSタイプ"
+
+#: fdisk/cfdisk.c:2752
+msgid "Change the filesystem type (DOS, Linux, OS/2 and so on)"
+msgstr "ファイルシステムのタイプを変更する(DOS, Linux, OS/2 など)"
+
+#: fdisk/cfdisk.c:2753
+msgid "Units"
+msgstr "単位"
+
+#: fdisk/cfdisk.c:2753
+msgid "Change units of the partition size display (MB, sect, cyl)"
+msgstr "表示する領域サイズの単位(MB, セクタ, シリンダ)を変更する"
+
+#: fdisk/cfdisk.c:2754
+msgid "Write"
+msgstr "書き込み"
+
+#: fdisk/cfdisk.c:2754
+msgid "Write partition table to disk (this might destroy data)"
+msgstr "領域情報をディスクに書き込む(データを破壊する可能性あり)"
+
+#: fdisk/cfdisk.c:2800
+msgid "Cannot make this partition bootable"
+msgstr "この領域をブート可能にはできません"
+
+#: fdisk/cfdisk.c:2810
+msgid "Cannot delete an empty partition"
+msgstr "空の領域を削除することはできません"
+
+#: fdisk/cfdisk.c:2830 fdisk/cfdisk.c:2832
+msgid "Cannot maximize this partition"
+msgstr "この領域を最大化することはできません"
+
+#: fdisk/cfdisk.c:2840
+msgid "This partition is unusable"
+msgstr "この領域は使用できません"
+
+#: fdisk/cfdisk.c:2842
+msgid "This partition is already in use"
+msgstr "このディスクは現在使用中です。"
+
+#: fdisk/cfdisk.c:2859
+msgid "Cannot change the type of an empty partition"
+msgstr "空の領域のタイプを変更することはできません"
+
+#: fdisk/cfdisk.c:2886 fdisk/cfdisk.c:2892
+msgid "No more partitions"
+msgstr "これ以上の領域はありません"
+
+#: fdisk/cfdisk.c:2899
+msgid "Illegal command"
+msgstr "不正なコマンド"
+
+#: fdisk/cfdisk.c:2909
+#, c-format
+msgid "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+msgstr "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+
+#: fdisk/cfdisk.c:2916
+#, 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"
+
+#: fdisk/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)になることです)"
+
+#: fdisk/fdiskbsdlabel.c:122
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+"\n"
+"BSD ラベル用デバイス: %s\n"
+
+#: fdisk/fdiskbsdlabel.c:129 fdisk/fdisk.c:386 fdisk/fdisk.c:405
+#: fdisk/fdisk.c:423 fdisk/fdisk.c:430 fdisk/fdisk.c:453 fdisk/fdisk.c:471
+#: fdisk/fdisk.c:487 fdisk/fdisk.c:503
+msgid "Command action"
+msgstr "コマンドの動作"
+
+#: fdisk/fdiskbsdlabel.c:130
+msgid "   d   delete a BSD partition"
+msgstr "   d   BSD 領域を削除する"
+
+#: fdisk/fdiskbsdlabel.c:131
+msgid "   e   edit drive data"
+msgstr "   e   ドライブデータを編集する"
+
+#: fdisk/fdiskbsdlabel.c:132
+msgid "   i   install bootstrap"
+msgstr "   i   ブートストラップをインストールする"
+
+#: fdisk/fdiskbsdlabel.c:133
+msgid "   l   list known filesystem types"
+msgstr "   l   既知のファイルシステムタイプをリスト表示する"
+
+#: fdisk/fdiskbsdlabel.c:134 fdisk/fdisk.c:392 fdisk/fdisk.c:411
+#: fdisk/fdisk.c:424 fdisk/fdisk.c:436 fdisk/fdisk.c:461 fdisk/fdisk.c:478
+#: fdisk/fdisk.c:494 fdisk/fdisk.c:512
+msgid "   m   print this menu"
+msgstr "   m   このメニューを表示する"
+
+#: fdisk/fdiskbsdlabel.c:135
+msgid "   n   add a new BSD partition"
+msgstr "   n   新たに BSD 領域を作成する"
+
+#: fdisk/fdiskbsdlabel.c:136
+msgid "   p   print BSD partition table"
+msgstr "   p   BSD 領域テーブルを表示する"
+
+#: fdisk/fdiskbsdlabel.c:137 fdisk/fdisk.c:396 fdisk/fdisk.c:415
+#: fdisk/fdisk.c:426 fdisk/fdisk.c:440 fdisk/fdisk.c:463 fdisk/fdisk.c:480
+#: fdisk/fdisk.c:496 fdisk/fdisk.c:514
+msgid "   q   quit without saving changes"
+msgstr "   q   変更を保存せずに終了する"
+
+#: fdisk/fdiskbsdlabel.c:138 fdisk/fdisk.c:464 fdisk/fdisk.c:481
+#: fdisk/fdisk.c:497 fdisk/fdisk.c:515
+msgid "   r   return to main menu"
+msgstr "   r   メインメニューに戻る"
+
+#: fdisk/fdiskbsdlabel.c:139
+msgid "   s   show complete disklabel"
+msgstr "   s   完全なディスクラベルを表示する"
+
+#: fdisk/fdiskbsdlabel.c:140
+msgid "   t   change a partition's filesystem id"
+msgstr "   t   領域のファイルシステム ID を変更する"
+
+#: fdisk/fdiskbsdlabel.c:141
+msgid "   u   change units (cylinders/sectors)"
+msgstr "   u   ユニットの変更(シリンダ/セクタ)"
+
+#: fdisk/fdiskbsdlabel.c:142
+msgid "   w   write disklabel to disk"
+msgstr "   w   ディスクラベルをディスクに書き込む"
+
+#: fdisk/fdiskbsdlabel.c:144
+msgid "   x   link BSD partition to non-BSD partition"
+msgstr "   x   BSD 領域を非 BSD 領域とリンクする"
+
+#: fdisk/fdiskbsdlabel.c:176
+#, c-format
+msgid "Partition %s has invalid starting sector 0.\n"
+msgstr "領域 %s は不正な始点セクタ 0 で始まっています。\n"
+
+#: fdisk/fdiskbsdlabel.c:180
+#, c-format
+msgid "Reading disklabel of %s at sector %d.\n"
+msgstr "%s のディスクラベルのセクタ %d を読込みます。\n"
+
+#: fdisk/fdiskbsdlabel.c:190
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr "%s には *BSD 領域はありません。\n"
+
+#: fdisk/fdiskbsdlabel.c:204
+msgid "BSD disklabel command (m for help): "
+msgstr "BSD ディスクラベルコマンド (m でヘルプ): "
+
+#: fdisk/fdiskbsdlabel.c:284 fdisk/fdisk.c:2052 fdisk/fdisksgilabel.c:651
+#: fdisk/fdisksunlabel.c:431
+#, c-format
+msgid "First %s"
+msgstr "最初 %s"
+
+#: fdisk/fdiskbsdlabel.c:291 fdisk/fdisksunlabel.c:488
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr "終点 %s または +サイズ または +サイズM または +サイズK"
+
+#: fdisk/fdiskbsdlabel.c:318
+#, c-format
+msgid "type: %s\n"
+msgstr "タイプ: %s\n"
+
+#: fdisk/fdiskbsdlabel.c:320
+#, c-format
+msgid "type: %d\n"
+msgstr "タイプ: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:321
+#, c-format
+msgid "disk: %.*s\n"
+msgstr "ディスク: %.*s\n"
+
+#: fdisk/fdiskbsdlabel.c:322
+#, c-format
+msgid "label: %.*s\n"
+msgstr "ラベル: %.*s\n"
+
+#: fdisk/fdiskbsdlabel.c:323
+#, c-format
+msgid "flags:"
+msgstr "フラグ:"
+
+#: fdisk/fdiskbsdlabel.c:325
+#, c-format
+msgid " removable"
+msgstr " 取出し可能"
+
+#: fdisk/fdiskbsdlabel.c:327
+#, c-format
+msgid " ecc"
+msgstr " ecc"
+
+#: fdisk/fdiskbsdlabel.c:329
+#, c-format
+msgid " badsect"
+msgstr " badsect"
+
+#: fdisk/fdiskbsdlabel.c:333
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr "バイト/セクタ: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:334
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr "セクタ/トラック: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:335
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr "トラック/シリンダ: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:336
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr "セクタ/シリンダ: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:337
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr "シリンダ: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:338
+#, c-format
+msgid "rpm: %d\n"
+msgstr "回転数: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:339
+#, c-format
+msgid "interleave: %d\n"
+msgstr "interleave: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:340
+#, c-format
+msgid "trackskew: %d\n"
+msgstr "trackskew: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:341
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr "cylinderskew: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:342
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr "headswitch: %ld\t\t# ミリ秒\n"
+
+#: fdisk/fdiskbsdlabel.c:344
+#, c-format
+msgid "track-to-track seek: %ld\t# milliseconds\n"
+msgstr "track-to-track seek: %ld\t# ミリ秒\n"
+
+#: fdisk/fdiskbsdlabel.c:346
+#, c-format
+msgid "drivedata: "
+msgstr "drivedata: "
+
+#: fdisk/fdiskbsdlabel.c:355
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+"\n"
+"%d 個の領域:\n"
+
+#: fdisk/fdiskbsdlabel.c:356
+#, c-format
+msgid "#       start       end      size     fstype   [fsize bsize   cpg]\n"
+msgstr "#        開始      終了    サイズ      fs 型   [fsize bsize   cpg]\n"
+
+#: fdisk/fdiskbsdlabel.c:405 fdisk/fdiskbsdlabel.c:408
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr "%s にディスクラベルを書き込みます。\n"
+
+#: fdisk/fdiskbsdlabel.c:420 fdisk/fdiskbsdlabel.c:422
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr "%s はディスクラベルを含んでいません。\n"
+
+#: fdisk/fdiskbsdlabel.c:427
+msgid "Do you want to create a disklabel? (y/n) "
+msgstr "ディスクラベルを作成しますか? (y/n) "
+
+#: fdisk/fdiskbsdlabel.c:467
+msgid "bytes/sector"
+msgstr "バイト/セクタ"
+
+#: fdisk/fdiskbsdlabel.c:468
+msgid "sectors/track"
+msgstr "セクタ/トラック"
+
+#: fdisk/fdiskbsdlabel.c:469
+msgid "tracks/cylinder"
+msgstr "トラック/シリンダ"
+
+#: fdisk/fdiskbsdlabel.c:470 fdisk/fdisk.c:648 fdisk/fdisk.c:1357
+#: fdisk/sfdisk.c:945
+msgid "cylinders"
+msgstr "シリンダ数"
+
+#: fdisk/fdiskbsdlabel.c:477
+msgid "sectors/cylinder"
+msgstr "セクタ/シリンダ"
+
+#: fdisk/fdiskbsdlabel.c:481
+#, c-format
+msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
+msgstr ""
+"デフォルトで sectors/track * tracks/cylinder 以下でなければならない。\n"
+
+#: fdisk/fdiskbsdlabel.c:483
+msgid "rpm"
+msgstr "rpm"
+
+#: fdisk/fdiskbsdlabel.c:484
+msgid "interleave"
+msgstr "interleave"
+
+#: fdisk/fdiskbsdlabel.c:485
+msgid "trackskew"
+msgstr "trackskew"
+
+#: fdisk/fdiskbsdlabel.c:486
+msgid "cylinderskew"
+msgstr "cylinderskew"
+
+#: fdisk/fdiskbsdlabel.c:487
+msgid "headswitch"
+msgstr "headswitch"
+
+#: fdisk/fdiskbsdlabel.c:488
+msgid "track-to-track seek"
+msgstr "track-to-track seek"
+
+#: fdisk/fdiskbsdlabel.c:529
+#, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr "ブートストラップ: %sboot -> boot%s (%s): "
+
+#: fdisk/fdiskbsdlabel.c:554
+#, c-format
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr "ブートストラップがディスクラベルと重なっています!\n"
+
+#: fdisk/fdiskbsdlabel.c:575 fdisk/fdiskbsdlabel.c:577
+#, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr "ブートストラップは %s にインストールされました。\n"
+
+#: fdisk/fdiskbsdlabel.c:599
+#, c-format
+msgid "Partition (a-%c): "
+msgstr "領域 (a-%c): "
+
+#: fdisk/fdiskbsdlabel.c:618 fdisk/fdisk.c:2199
+#, c-format
+msgid "The maximum number of partitions has been created\n"
+msgstr "最大領域数は作成済です\n"
+
+#: fdisk/fdiskbsdlabel.c:630
+#, c-format
+msgid "This partition already exists.\n"
+msgstr "この領域はすでに存在します。\n"
+
+#: fdisk/fdiskbsdlabel.c:757
+#, c-format
+msgid "Warning: too many partitions (%d, maximum is %d).\n"
+msgstr "警告: 領域が多すぎます (%d, 最大は %d)。\n"
+
+#: fdisk/fdiskbsdlabel.c:805
+#, c-format
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+"\n"
+"ディスクと同期しています。\n"
+
+#: fdisk/fdisk.c:244
+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"
+
+#: fdisk/fdisk.c:256
+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"
+
+#: fdisk/fdisk.c:265
+#, c-format
+msgid "Unable to open %s\n"
+msgstr "%s を開けません\n"
+
+#: fdisk/fdisk.c:269
+#, c-format
+msgid "Unable to read %s\n"
+msgstr "%s を読むことができません\n"
+
+#: fdisk/fdisk.c:273
+#, c-format
+msgid "Unable to seek on %s\n"
+msgstr "%s をシークできません\n"
+
+#: fdisk/fdisk.c:277
+#, c-format
+msgid "Unable to write %s\n"
+msgstr "%s への書き込みができません\n"
+
+#: fdisk/fdisk.c:281
+#, c-format
+msgid "BLKGETSIZE ioctl failed on %s\n"
+msgstr "%s での BLKGETSIZE ioctl に失敗\n"
+
+#: fdisk/fdisk.c:285
+msgid "Unable to allocate any more memory\n"
+msgstr "これ以上のメモリが確保できません\n"
+
+#: fdisk/fdisk.c:288
+msgid "Fatal error\n"
+msgstr "致命的なエラー\n"
+
+#: fdisk/fdisk.c:387
+msgid "   a   toggle a read only flag"
+msgstr "   a   読込み専用フラグをつける"
+
+#: fdisk/fdisk.c:388 fdisk/fdisk.c:432
+msgid "   b   edit bsd disklabel"
+msgstr "   b   bsd ディスクラベルを編集する"
+
+#: fdisk/fdisk.c:389
+msgid "   c   toggle the mountable flag"
+msgstr "   c   マウント可能フラグをつける"
+
+#: fdisk/fdisk.c:390 fdisk/fdisk.c:409 fdisk/fdisk.c:434
+msgid "   d   delete a partition"
+msgstr "   d   領域を削除する"
+
+#: fdisk/fdisk.c:391 fdisk/fdisk.c:410 fdisk/fdisk.c:435
+msgid "   l   list known partition types"
+msgstr "   l   既知の領域タイプをリスト表示する"
+
+#: fdisk/fdisk.c:393 fdisk/fdisk.c:412 fdisk/fdisk.c:437
+msgid "   n   add a new partition"
+msgstr "   n   新たに領域を作成する"
+
+#: fdisk/fdisk.c:394 fdisk/fdisk.c:413 fdisk/fdisk.c:425 fdisk/fdisk.c:438
+msgid "   o   create a new empty DOS partition table"
+msgstr "   o   新たに空の DOS 領域テーブルを作成する"
+
+#: fdisk/fdisk.c:395 fdisk/fdisk.c:414 fdisk/fdisk.c:439 fdisk/fdisk.c:462
+#: fdisk/fdisk.c:479 fdisk/fdisk.c:495 fdisk/fdisk.c:513
+msgid "   p   print the partition table"
+msgstr "   p   領域テーブルを表示する"
+
+#: fdisk/fdisk.c:397 fdisk/fdisk.c:416 fdisk/fdisk.c:427 fdisk/fdisk.c:441
+msgid "   s   create a new empty Sun disklabel"
+msgstr "   s   空の Sun ディスクラベルを作成する"
+
+#: fdisk/fdisk.c:398 fdisk/fdisk.c:417 fdisk/fdisk.c:442
+msgid "   t   change a partition's system id"
+msgstr "   t   領域のシステム ID を変更する"
+
+#: fdisk/fdisk.c:399 fdisk/fdisk.c:418 fdisk/fdisk.c:443
+msgid "   u   change display/entry units"
+msgstr "   u   表示/項目ユニットを変更する"
+
+#: fdisk/fdisk.c:400 fdisk/fdisk.c:419 fdisk/fdisk.c:444 fdisk/fdisk.c:466
+#: fdisk/fdisk.c:483 fdisk/fdisk.c:499 fdisk/fdisk.c:517
+msgid "   v   verify the partition table"
+msgstr "   v   領域テーブルを照合する"
+
+#: fdisk/fdisk.c:401 fdisk/fdisk.c:420 fdisk/fdisk.c:445 fdisk/fdisk.c:467
+#: fdisk/fdisk.c:484 fdisk/fdisk.c:500 fdisk/fdisk.c:518
+msgid "   w   write table to disk and exit"
+msgstr "   w   テーブルをディスクに書き込み、終了する"
+
+#: fdisk/fdisk.c:402 fdisk/fdisk.c:446
+msgid "   x   extra functionality (experts only)"
+msgstr "   x   特別な機能 (エキスパート専用)"
+
+#: fdisk/fdisk.c:406
+msgid "   a   select bootable partition"
+msgstr "   a   ブート可能領域を選択する"
+
+#: fdisk/fdisk.c:407
+msgid "   b   edit bootfile entry"
+msgstr "   b   ブートファイルエントリを編集する"
+
+#: fdisk/fdisk.c:408
+msgid "   c   select sgi swap partition"
+msgstr "   c   sgi スワップ領域を選択する"
+
+#: fdisk/fdisk.c:431
+msgid "   a   toggle a bootable flag"
+msgstr "   a   ブート可能フラグをつける"
+
+#: fdisk/fdisk.c:433
+msgid "   c   toggle the dos compatibility flag"
+msgstr "   c   dos 互換フラグをつける"
+
+#: fdisk/fdisk.c:454
+msgid "   a   change number of alternate cylinders"
+msgstr "   a   代替シリンダ数を変更する"
+
+#: fdisk/fdisk.c:455 fdisk/fdisk.c:473 fdisk/fdisk.c:489 fdisk/fdisk.c:505
+msgid "   c   change number of cylinders"
+msgstr "   c   シリンダ数を変更する"
+
+#: fdisk/fdisk.c:456 fdisk/fdisk.c:474 fdisk/fdisk.c:490 fdisk/fdisk.c:506
+msgid "   d   print the raw data in the partition table"
+msgstr "   d   領域テーブル内の生データを表示する"
+
+#: fdisk/fdisk.c:457
+msgid "   e   change number of extra sectors per cylinder"
+msgstr "   e   シリンダ毎の余剰セクタ数を変更する"
+
+#: fdisk/fdisk.c:458 fdisk/fdisk.c:477 fdisk/fdisk.c:493 fdisk/fdisk.c:510
+msgid "   h   change number of heads"
+msgstr "   h   ヘッド数を変更する"
+
+#: fdisk/fdisk.c:459
+msgid "   i   change interleave factor"
+msgstr "   i   インターリーブファクタを変更する"
+
+#: fdisk/fdisk.c:460
+msgid "   o   change rotation speed (rpm)"
+msgstr "   o   回転数を変更する (rpm)"
+
+#: fdisk/fdisk.c:465 fdisk/fdisk.c:482 fdisk/fdisk.c:498 fdisk/fdisk.c:516
+msgid "   s   change number of sectors/track"
+msgstr "   s   セクタ数/トラックを変更する"
+
+#: fdisk/fdisk.c:468
+msgid "   y   change number of physical cylinders"
+msgstr "   y   物理シリンダ数を変更する"
+
+#: fdisk/fdisk.c:472 fdisk/fdisk.c:488 fdisk/fdisk.c:504
+msgid "   b   move beginning of data in a partition"
+msgstr "   b   領域内のデータの先頭に移動する"
+
+#: fdisk/fdisk.c:475 fdisk/fdisk.c:491 fdisk/fdisk.c:507
+msgid "   e   list extended partitions"
+msgstr "   e   拡張領域をリスト表示する"
+
+#: fdisk/fdisk.c:476 fdisk/fdisk.c:492 fdisk/fdisk.c:509
+msgid "   g   create an IRIX (SGI) partition table"
+msgstr "   g   IRIX (SGI) 領域テーブルを作成する"
+
+#: fdisk/fdisk.c:508
+msgid "   f   fix partition order"
+msgstr "   f   領域の順序を適正化する"
+
+#: fdisk/fdisk.c:511
+#, fuzzy
+msgid "   i   change the disk identifier"
+msgstr "   u   表示/項目ユニットを変更する"
+
+#: fdisk/fdisk.c:627
+#, c-format
+msgid "You must set"
+msgstr "設定する必要があります"
+
+#: fdisk/fdisk.c:644
+msgid "heads"
+msgstr "ヘッド数"
+
+#: fdisk/fdisk.c:646 fdisk/fdisk.c:1357 fdisk/sfdisk.c:945
+msgid "sectors"
+msgstr "セクタ数"
+
+#: fdisk/fdisk.c:652
+#, c-format
+msgid ""
+"%s%s.\n"
+"You can do this from the extra functions menu.\n"
+msgstr ""
+"%s%s.\n"
+"あなたは特別機能メニューからこれを行なうことができます\n"
+
+#: fdisk/fdisk.c:653
+msgid " and "
+msgstr " 及び "
+
+#: fdisk/fdisk.c:670
+#, c-format
+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"
+
+#: fdisk/fdisk.c:683
+#, 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 %d-byte sectors. Use parted(1) and GUID \n"
+"partition table format (GPT).\n"
+"\n"
+msgstr ""
+
+#: fdisk/fdisk.c:708
+#, c-format
+msgid "Bad offset in primary extended partition\n"
+msgstr "基本拡張領域に不正なオフセットがあります\n"
+
+#: fdisk/fdisk.c:722
+#, c-format
+msgid ""
+"Warning: omitting partitions after #%d.\n"
+"They will be deleted if you save this partition table.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:741
+#, c-format
+msgid "Warning: extra link pointer in partition table %d\n"
+msgstr "警告: 領域テーブル %d 内の特別なリンクポインタです\n"
+
+#: fdisk/fdisk.c:749
+#, c-format
+msgid "Warning: ignoring extra data in partition table %d\n"
+msgstr "警告: 領域テーブル %d 内の特別なデータを無視します\n"
+
+#: fdisk/fdisk.c:782
+#, c-format
+msgid "omitting empty partition (%d)\n"
+msgstr "空のパーティション (%d) を省略しています\n"
+
+#: fdisk/fdisk.c:801
+#, c-format
+msgid "Disk identifier: 0x%08x\n"
+msgstr "ディスク識別子: 0x%08x\n"
+
+#: fdisk/fdisk.c:810
+#, c-format
+msgid "New disk identifier (current 0x%08x): "
+msgstr "新しいディスク識別子 (現在 0x%08x): "
+
+#: fdisk/fdisk.c:829
+#, c-format
+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"
+
+#: fdisk/fdisk.c:861
+#, c-format
+msgid "Note: sector size is %d (not %d)\n"
+msgstr "注意: セクタサイズが %d です (%d ではなく)\n"
+
+#: fdisk/fdisk.c:990
+#, c-format
+msgid "You will not be able to write the partition table.\n"
+msgstr "領域テーブルの書き込みを行えません。\n"
+
+#: fdisk/fdisk.c:1022
+#, c-format
+msgid ""
+"This disk has both DOS and BSD magic.\n"
+"Give the 'b' command to go to BSD mode.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1032
+#, c-format
+msgid ""
+"Device contains neither a valid DOS partition table, nor Sun, SGI or OSF "
+"disklabel\n"
+msgstr ""
+"デバイスは正常な DOS 領域テーブルも、Sun, SGI や OSF ディスクラベルも\n"
+"含んでいません\n"
+
+#: fdisk/fdisk.c:1049
+#, c-format
+msgid "Internal error\n"
+msgstr "内部エラー\n"
+
+#: fdisk/fdisk.c:1062
+#, c-format
+msgid "Ignoring extra extended partition %d\n"
+msgstr "特別な拡張領域 %d を無視します\n"
+
+#: fdisk/fdisk.c:1074
+#, 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"
+
+#: fdisk/fdisk.c:1096
+#, c-format
+msgid ""
+"\n"
+"got EOF thrice - exiting..\n"
+msgstr ""
+"\n"
+"EOF を 3 回読みました -- 終了します..\n"
+
+#: fdisk/fdisk.c:1135
+msgid "Hex code (type L to list codes): "
+msgstr "16進数コード (L コマンドでコードリスト表示): "
+
+#: fdisk/fdisk.c:1175
+#, c-format
+msgid "%s (%u-%u, default %u): "
+msgstr "%s (%u-%u, 初期値 %u): "
+
+#: fdisk/fdisk.c:1242
+#, c-format
+msgid "Unsupported suffix: '%s'.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1243
+#, 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"
+
+#: fdisk/fdisk.c:1269
+#, c-format
+msgid "Using default value %u\n"
+msgstr "初期値 %u を使います\n"
+
+#: fdisk/fdisk.c:1273
+#, c-format
+msgid "Value out of range.\n"
+msgstr "範囲外の値です。\n"
+
+#: fdisk/fdisk.c:1283
+msgid "Partition number"
+msgstr "領域番号"
+
+#: fdisk/fdisk.c:1294
+#, c-format
+msgid "Warning: partition %d has empty type\n"
+msgstr "警告: 領域 %d は空のタイプです。\n"
+
+#: fdisk/fdisk.c:1316 fdisk/fdisk.c:1342
+#, c-format
+msgid "Selected partition %d\n"
+msgstr "選択した領域 %d\n"
+
+#: fdisk/fdisk.c:1319
+#, c-format
+msgid "No partition is defined yet!\n"
+msgstr "領域が定義されていません\n"
+
+#: fdisk/fdisk.c:1345
+#, c-format
+msgid "All primary partitions have been defined already!\n"
+msgstr "すべての基本領域は既に定義されています!\n"
+
+#: fdisk/fdisk.c:1355
+msgid "cylinder"
+msgstr "シリンダ"
+
+#: fdisk/fdisk.c:1355
+msgid "sector"
+msgstr "セクタ"
+
+#: fdisk/fdisk.c:1364
+#, c-format
+msgid "Changing display/entry units to %s\n"
+msgstr "%s の表示/項目ユニットを変更します\n"
+
+#: fdisk/fdisk.c:1375
+#, c-format
+msgid "WARNING: Partition %d is an extended partition\n"
+msgstr "警告: 領域 %d は拡張領域です\n"
+
+#: fdisk/fdisk.c:1386
+#, c-format
+msgid "DOS Compatibility flag is set\n"
+msgstr "DOS 互換フラグが設定されました\n"
+
+#: fdisk/fdisk.c:1390
+#, c-format
+msgid "DOS Compatibility flag is not set\n"
+msgstr "DOS 互換フラグは設定されていません\n"
+
+#: fdisk/fdisk.c:1490
+#, c-format
+msgid "Partition %d does not exist yet!\n"
+msgstr "領域 %d はまだ存在しません!\n"
+
+#: fdisk/fdisk.c:1495
+#, 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"
+
+#: fdisk/fdisk.c:1504
+#, c-format
+msgid ""
+"You cannot change a partition into an extended one or vice versa\n"
+"Delete it first.\n"
+msgstr ""
+"あなたは領域を拡張領域に変更できませんし、その逆もまた\n"
+"できません。まず削除を行なってください。\n"
+
+#: fdisk/fdisk.c:1513
+#, 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"
+
+#: fdisk/fdisk.c:1519
+#, 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 を entire volume (6)\n"
+"として残しておくことを考慮してください。IRIX はこれを想定します。\n"
+"\n"
+
+#: fdisk/fdisk.c:1536
+#, c-format
+msgid "Changed system type of partition %d to %x (%s)\n"
+msgstr "領域のシステムタイプを %d から %x (%s) に変更しました\n"
+
+#: fdisk/fdisk.c:1539
+#, c-format
+msgid "System type of partition %d is unchanged: %x (%s)\n"
+msgstr "領域 %d のシステムタイプは変更されません: %x (%s)\n"
+
+#: fdisk/fdisk.c:1591
+#, c-format
+msgid "Partition %d has different physical/logical beginnings (non-Linux?):\n"
+msgstr "領域 %d は異なった物理/論理開始位置になっています(Linux では無い?):\n"
+
+#: fdisk/fdisk.c:1593 fdisk/fdisk.c:1601 fdisk/fdisk.c:1610 fdisk/fdisk.c:1620
+#, c-format
+msgid "     phys=(%d, %d, %d) "
+msgstr "     物理=(%d, %d, %d) "
+
+#: fdisk/fdisk.c:1594 fdisk/fdisk.c:1602
+#, c-format
+msgid "logical=(%d, %d, %d)\n"
+msgstr "論理=(%d, %d, %d)\n"
+
+#: fdisk/fdisk.c:1599
+#, c-format
+msgid "Partition %d has different physical/logical endings:\n"
+msgstr "領域 %d は異なった物理/論理終点になっています:\n"
+
+#: fdisk/fdisk.c:1608
+#, c-format
+msgid "Partition %i does not start on cylinder boundary:\n"
+msgstr "領域 %i はシリンダ境界で始まっていません:\n"
+
+#: fdisk/fdisk.c:1611
+#, c-format
+msgid "should be (%d, %d, 1)\n"
+msgstr "(%d, %d, 1) であるべきです\n"
+
+#: fdisk/fdisk.c:1617
+#, c-format
+msgid "Partition %i does not end on cylinder boundary.\n"
+msgstr "パーティション %i は、シリンダ境界で終わっていません。\n"
+
+#: fdisk/fdisk.c:1621
+#, c-format
+msgid "should be (%d, %d, %d)\n"
+msgstr "(%d, %d, %d) であるべきです\n"
+
+#: fdisk/fdisk.c:1633
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld MB, %lld bytes\n"
+msgstr ""
+"\n"
+"ディスク %s: %ld MB, %lld バイト\n"
+
+#: fdisk/fdisk.c:1637
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld.%ld GB, %lld bytes\n"
+msgstr ""
+"\n"
+"ディスク %s: %ld.%ld GB, %lld バイト\n"
+
+#: fdisk/fdisk.c:1640
+#, c-format
+msgid "%d heads, %llu sectors/track, %d cylinders"
+msgstr "ヘッド %d, セクタ %llu, シリンダ %d"
+
+#: fdisk/fdisk.c:1643
+#, c-format
+msgid ", total %llu sectors"
+msgstr ", 合計 %llu セクタ"
+
+#: fdisk/fdisk.c:1646
+#, c-format
+msgid "Units = %s of %d * %d = %d bytes\n"
+msgstr "Units = %s of %d * %d = %d バイト\n"
+
+#: fdisk/fdisk.c:1757
+#, c-format
+msgid ""
+"Nothing to do. Ordering is correct already.\n"
+"\n"
+msgstr ""
+"行うべきことはありません。既に正常な順序になっています。\n"
+"\n"
+
+#: fdisk/fdisk.c:1785
+#, c-format
+msgid "Done.\n"
+msgstr "終了\n"
+
+#: fdisk/fdisk.c:1813
+#, c-format
+msgid ""
+"This doesn't look like a partition table\n"
+"Probably you selected the wrong device.\n"
+"\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1826
+#, c-format
+msgid "%*s Boot      Start         End      Blocks   Id  System\n"
+msgstr "%*s ブート     始点        終点    ブロック   Id  システム\n"
+
+#: fdisk/fdisk.c:1827 fdisk/fdisksgilabel.c:223 fdisk/fdisksunlabel.c:603
+msgid "Device"
+msgstr "デバイス"
+
+#: fdisk/fdisk.c:1864
+#, c-format
+msgid ""
+"\n"
+"Partition table entries are not in disk order\n"
+msgstr ""
+"\n"
+"領域テーブル項目がディスクの順序と一致しません\n"
+
+#: fdisk/fdisk.c:1874
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %d cylinders\n"
+"\n"
+msgstr ""
+"\n"
+"ディスク %s: ヘッド %d, セクタ %llu, シリンダ %d\n"
+"\n"
+
+#: fdisk/fdisk.c:1876
+#, 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"
+
+#: fdisk/fdisk.c:1922
+#, c-format
+msgid "Warning: partition %d contains sector 0\n"
+msgstr "警告: 領域 %d はセクタ 0 を含んでいます\n"
+
+#: fdisk/fdisk.c:1925
+#, c-format
+msgid "Partition %d: head %d greater than maximum %d\n"
+msgstr "領域 %d: ヘッド %d は最大値 %d よりも大きいです\n"
+
+#: fdisk/fdisk.c:1928
+#, c-format
+msgid "Partition %d: sector %d greater than maximum %llu\n"
+msgstr "領域 %d: セクタ %d は最大値 %llu よりも大きいです\n"
+
+#: fdisk/fdisk.c:1931
+#, c-format
+msgid "Partitions %d: cylinder %d greater than maximum %d\n"
+msgstr "領域 %d: シリンダ %d は最大値 %d よりも大きいです\n"
+
+#: fdisk/fdisk.c:1935
+#, c-format
+msgid "Partition %d: previous sectors %d disagrees with total %d\n"
+msgstr "領域 %d: 前のセクタ %d は合計 %d と一致しません\n"
+
+#: fdisk/fdisk.c:1968
+#, c-format
+msgid "Warning: bad start-of-data in partition %d\n"
+msgstr "警告: 領域 %d に不正なデータ開始位置があります\n"
+
+#: fdisk/fdisk.c:1976
+#, c-format
+msgid "Warning: partition %d overlaps partition %d.\n"
+msgstr "警告: 領域 %d は、領域 %d と重なっています。\n"
+
+#: fdisk/fdisk.c:1996
+#, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr "警告: 領域 %d は空です\n"
+
+#: fdisk/fdisk.c:2001
+#, c-format
+msgid "Logical partition %d not entirely in partition %d\n"
+msgstr "論理領域 %d は領域 %d 全体になっていません\n"
+
+#: fdisk/fdisk.c:2007
+#, c-format
+msgid "Total allocated sectors %llu greater than the maximum %llu\n"
+msgstr "合計確保セクタ %llu は最大値 %llu よりも大きいです\n"
+
+#: fdisk/fdisk.c:2010
+#, c-format
+msgid "%lld unallocated %d-byte sectors\n"
+msgstr "%lld 未確保 %d バイトセクタ\n"
+
+#: fdisk/fdisk.c:2025 fdisk/fdisksgilabel.c:633 fdisk/fdisksunlabel.c:416
+#, c-format
+msgid "Partition %d is already defined.  Delete it before re-adding it.\n"
+msgstr "領域 %d は定義済です。まずは削除を行なってください。\n"
+
+#: fdisk/fdisk.c:2067
+#, c-format
+msgid "Sector %llu is already allocated\n"
+msgstr "セクタ %llu は既に確保済みです\n"
+
+#: fdisk/fdisk.c:2103
+#, c-format
+msgid "No free sectors available\n"
+msgstr "利用可能フリーセクタがありません\n"
+
+#: fdisk/fdisk.c:2112
+#, c-format
+msgid "Last %1$s, +%2$s or +size{K,M,G}"
+msgstr "Last %1$s, +%2$s or +size{K,M,G}"
+
+#: fdisk/fdisk.c:2178
+#, 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"
+
+#: fdisk/fdisk.c:2187
+#, 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"
+
+#: fdisk/fdisk.c:2207
+#, c-format
+msgid "You must delete some partition and add an extended partition first\n"
+msgstr "拡張領域を追加する前に、まず領域を削除する必要があります\n"
+
+#: fdisk/fdisk.c:2210
+#, c-format
+msgid "All logical partitions are in use\n"
+msgstr "すべての論理領域が使用中です\n"
+
+#: fdisk/fdisk.c:2211
+#, c-format
+msgid "Adding a primary partition\n"
+msgstr "基本領域を追加します\n"
+
+#: fdisk/fdisk.c:2216
+#, c-format
+msgid ""
+"Command action\n"
+"   %s\n"
+"   p   primary partition (1-4)\n"
+msgstr ""
+"コマンドアクション\n"
+"   %s\n"
+"   p   基本領域 (1-4)\n"
+
+#: fdisk/fdisk.c:2218
+msgid "l   logical (5 or over)"
+msgstr "l   論理 (5 以上)"
+
+#: fdisk/fdisk.c:2218
+msgid "e   extended"
+msgstr "e   拡張"
+
+#: fdisk/fdisk.c:2237
+#, c-format
+msgid "Invalid partition number for type `%c'\n"
+msgstr "タイプ `%c' にとっては不正なパーティション番号です\n"
+
+#: fdisk/fdisk.c:2273
+#, c-format
+msgid ""
+"The partition table has been altered!\n"
+"\n"
+msgstr ""
+"パーティションテーブルは変更されました!\n"
+"\n"
+
+#: fdisk/fdisk.c:2287
+#, c-format
+msgid "Calling ioctl() to re-read partition table.\n"
+msgstr "ioctl() を呼び出してパーティションテーブルを再読込みします。\n"
+
+#: fdisk/fdisk.c:2296
+#, c-format
+msgid ""
+"\n"
+"WARNING: Re-reading the partition table failed with error %d: %s.\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"
+
+#: fdisk/fdisk.c:2304
+#, 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"
+
+#: fdisk/fdisk.c:2310
+#, c-format
+msgid ""
+"\n"
+"Error closing file\n"
+msgstr ""
+"\n"
+"ファイルクローズ中にエラー\n"
+
+#: fdisk/fdisk.c:2314
+#, c-format
+msgid "Syncing disks.\n"
+msgstr "ディスクを同期しています。\n"
+
+#: fdisk/fdisk.c:2361
+#, c-format
+msgid "Partition %d has no data area\n"
+msgstr "パーティション %d にはデータ領域がありません\n"
+
+#: fdisk/fdisk.c:2366
+msgid "New beginning of data"
+msgstr "新規データ開始位置"
+
+#: fdisk/fdisk.c:2382
+msgid "Expert command (m for help): "
+msgstr "上級者コマンド (m でヘルプ): "
+
+#: fdisk/fdisk.c:2395
+msgid "Number of cylinders"
+msgstr "シリンダ数"
+
+#: fdisk/fdisk.c:2422
+msgid "Number of heads"
+msgstr "ヘッド数"
+
+#: fdisk/fdisk.c:2449
+msgid "Number of sectors"
+msgstr "セクタ数"
+
+#: fdisk/fdisk.c:2452
+#, c-format
+msgid "Warning: setting sector offset for DOS compatiblity\n"
+msgstr "警告: DOS 互換のためのセクタオフセットを設定します\n"
+
+#: fdisk/fdisk.c:2511
+#, 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"
+
+#: fdisk/fdisk.c:2533
+#, c-format
+msgid "Disk %s doesn't contain a valid partition table\n"
+msgstr "ディスク %s は正常なパーティションテーブルを含んでいません\n"
+
+#: fdisk/fdisk.c:2544
+#, c-format
+msgid "Cannot open %s\n"
+msgstr "%s を開けません\n"
+
+#: fdisk/fdisk.c:2563 fdisk/sfdisk.c:2618
+#, c-format
+msgid "cannot open %s\n"
+msgstr "%s を開けません\n"
+
+#: fdisk/fdisk.c:2583
+#, c-format
+msgid "%c: unknown command\n"
+msgstr "%c: 不明なコマンド\n"
+
+#: fdisk/fdisk.c:2653
+#, c-format
+msgid "This kernel finds the sector size itself - -b option ignored\n"
+msgstr ""
+"このカーネルはセクタサイズを自分認識します - -b オプションは無視します\n"
+
+#: fdisk/fdisk.c:2657
+#, c-format
+msgid ""
+"Warning: the -b (set sector size) option should be used with one specified "
+"device\n"
+msgstr ""
+"警告: -b (セクタサイズ設定) オプションは 1 つのデバイス指定と共に\n"
+"使用されるべきです\n"
+
+#: fdisk/fdisk.c:2717
+#, c-format
+msgid "Detected an OSF/1 disklabel on %s, entering disklabel mode.\n"
+msgstr ""
+"%s でOSF/1 ディスクラベルを検出したので、ディスクラベルモードに移行します。\n"
+
+#: fdisk/fdisk.c:2727
+msgid "Command (m for help): "
+msgstr "コマンド (m でヘルプ): "
+
+#: fdisk/fdisk.c:2743
+#, c-format
+msgid ""
+"\n"
+"The current boot file is: %s\n"
+msgstr ""
+"\n"
+"現在のブートファイルは: %s\n"
+
+#: fdisk/fdisk.c:2745
+msgid "Please enter the name of the new boot file: "
+msgstr "新たなブートファイル名を入力してください: "
+
+#: fdisk/fdisk.c:2747
+#, c-format
+msgid "Boot file unchanged\n"
+msgstr "ブートファイルを変更しませんでした\n"
+
+#: fdisk/fdisk.c:2820
+#, c-format
+msgid ""
+"\n"
+"\tSorry, no experts menu for SGI partition tables available.\n"
+"\n"
+msgstr ""
+"\n"
+"\t残念ながら SGI パーティションテーブル用のエキスパートメニューは用意されてい"
+"ません。\n"
+"\n"
+
+#: fdisk/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"
+
+#: fdisk/fdisksgilabel.c:81
+msgid "SGI volhdr"
+msgstr "SGI volhdr"
+
+#: fdisk/fdisksgilabel.c:82
+msgid "SGI trkrepl"
+msgstr "SGI trkrepl"
+
+#: fdisk/fdisksgilabel.c:83
+msgid "SGI secrepl"
+msgstr "SGI secrepl"
+
+#: fdisk/fdisksgilabel.c:84
+msgid "SGI raw"
+msgstr "SGI raw"
+
+#: fdisk/fdisksgilabel.c:85
+msgid "SGI bsd"
+msgstr "SGI bsd"
+
+#: fdisk/fdisksgilabel.c:86
+msgid "SGI sysv"
+msgstr "SGI sysv"
+
+#: fdisk/fdisksgilabel.c:87
+msgid "SGI volume"
+msgstr "SGI volume"
+
+#: fdisk/fdisksgilabel.c:88
+msgid "SGI efs"
+msgstr "SGI efs"
+
+#: fdisk/fdisksgilabel.c:89
+msgid "SGI lvol"
+msgstr "SGI lvol"
+
+#: fdisk/fdisksgilabel.c:90
+msgid "SGI rlvol"
+msgstr "SGI rlvol"
+
+#: fdisk/fdisksgilabel.c:91
+msgid "SGI xfs"
+msgstr "SGI xfs"
+
+#: fdisk/fdisksgilabel.c:92
+msgid "SGI xfslog"
+msgstr "SGI xfslog"
+
+#: fdisk/fdisksgilabel.c:93
+msgid "SGI xlv"
+msgstr "SGI xlv"
+
+#: fdisk/fdisksgilabel.c:94
+msgid "SGI xvm"
+msgstr "SGI xvm"
+
+#: fdisk/fdisksgilabel.c:95 fdisk/fdisksunlabel.c:55
+msgid "Linux swap"
+msgstr "Linux スワップ"
+
+#: fdisk/fdisksgilabel.c:96 fdisk/fdisksunlabel.c:56
+msgid "Linux native"
+msgstr "Linux native"
+
+#: fdisk/fdisksgilabel.c:97 fdisk/fdisksunlabel.c:57 fdisk/i386_sys_types.c:63
+msgid "Linux LVM"
+msgstr "Linux LVM"
+
+#: fdisk/fdisksgilabel.c:98
+msgid "Linux RAID"
+msgstr "Linux RAID"
+
+#: fdisk/fdisksgilabel.c:164
+#, 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"
+
+#: fdisk/fdisksgilabel.c:183
+#, c-format
+msgid "Detected sgi disklabel with wrong checksum.\n"
+msgstr "間違ったチェックサム値の sgi ディスクラベルを検出しました。\n"
+
+#: fdisk/fdisksgilabel.c:201
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors\n"
+"%d cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * %d 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"
+
+#: fdisk/fdisksgilabel.c:214
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors, %d cylinders\n"
+"Units = %s of %d * %d bytes\n"
+"\n"
+msgstr ""
+"\n"
+"ディスク %s (SGI ディスクラベル): ヘッド %d, セクタ %llu, シリンダ %d\n"
+"ユニット = %s of %d * %d バイト\n"
+"\n"
+
+#: fdisk/fdisksgilabel.c:221
+#, c-format
+msgid ""
+"----- partitions -----\n"
+"Pt# %*s  Info     Start       End   Sectors  Id  System\n"
+msgstr ""
+"----- 領域 -----\n"
+"Pt# %*s   情報      始点      終点    セクタ  ID  システム\n"
+
+#: fdisk/fdisksgilabel.c:243
+#, c-format
+msgid ""
+"----- Bootinfo -----\n"
+"Bootfile: %s\n"
+"----- Directory Entries -----\n"
+msgstr ""
+"----- ブート情報 -----\n"
+"ブートファイル: %s\n"
+"----- ディレクトリ項目 -----\n"
+
+#: fdisk/fdisksgilabel.c:251
+#, c-format
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr "%2d: %-10s セクタ%5u サイズ%8u\n"
+
+#: fdisk/fdisksgilabel.c:305
+#, 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"
+
+#: fdisk/fdisksgilabel.c:311
+#, c-format
+msgid ""
+"\n"
+"\tName of Bootfile too long:  16 bytes maximum.\n"
+msgstr ""
+"\n"
+"\tブートファイル名が長すぎます -- 最大 16 バイト。\n"
+
+#: fdisk/fdisksgilabel.c:316
+#, c-format
+msgid ""
+"\n"
+"\tBootfile must have a fully qualified pathname.\n"
+msgstr ""
+"\n"
+"\tブートファイルはフルパスで指定されなければなりません。\n"
+
+#: fdisk/fdisksgilabel.c:323
+#, 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"
+
+#: fdisk/fdisksgilabel.c:349
+#, c-format
+msgid ""
+"\n"
+"\tBootfile is changed to \"%s\".\n"
+msgstr ""
+"\n"
+"\tブートファイルは \"%s\" に変更されました。\n"
+
+#: fdisk/fdisksgilabel.c:439
+#, c-format
+msgid "More than one entire disk entry present.\n"
+msgstr "複数の entire disk の項目があります。\n"
+
+#: fdisk/fdisksgilabel.c:446 fdisk/fdisksunlabel.c:388
+#, c-format
+msgid "No partitions defined\n"
+msgstr "パーティションが定義されていません\n"
+
+#: fdisk/fdisksgilabel.c:452
+#, c-format
+msgid "IRIX likes when Partition 11 covers the entire disk.\n"
+msgstr "IRIX はパーティション 11 が entire disk を覆うのを望みます。\n"
+
+#: fdisk/fdisksgilabel.c:454
+#, 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"
+
+#: fdisk/fdisksgilabel.c:460
+#, 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"
+
+#: fdisk/fdisksgilabel.c:466
+#, c-format
+msgid "One Partition (#11) should cover the entire disk.\n"
+msgstr "パーティション (#11) は entire disk を覆うべきです。\n"
+
+#: fdisk/fdisksgilabel.c:476
+#, c-format
+msgid "Partition %d does not start on cylinder boundary.\n"
+msgstr "パーティション %d は、シリンダ境界から始まっていません。\n"
+
+#: fdisk/fdisksgilabel.c:482
+#, c-format
+msgid "Partition %d does not end on cylinder boundary.\n"
+msgstr "パーティション %d は、シリンダ境界で終わっていません。\n"
+
+#: fdisk/fdisksgilabel.c:489
+#, c-format
+msgid "The Partition %d and %d overlap by %d sectors.\n"
+msgstr "パーティション %d と %d は %d セクタ重なっています。\n"
+
+#: fdisk/fdisksgilabel.c:497 fdisk/fdisksgilabel.c:515
+#, c-format
+msgid "Unused gap of %8u sectors - sectors %8u-%u\n"
+msgstr "%8u セクタの未使用ギャップ -- セクタ %8u-%u\n"
+
+#: fdisk/fdisksgilabel.c:526
+#, c-format
+msgid ""
+"\n"
+"The boot partition does not exist.\n"
+msgstr ""
+"\n"
+"ブートパーティションが存在しません。\n"
+
+#: fdisk/fdisksgilabel.c:529
+#, c-format
+msgid ""
+"\n"
+"The swap partition does not exist.\n"
+msgstr ""
+"\n"
+"スワップパーティションが存在しません。\n"
+
+#: fdisk/fdisksgilabel.c:533
+#, c-format
+msgid ""
+"\n"
+"The swap partition has no swap type.\n"
+msgstr ""
+"\n"
+"スワップパーティションがスワップタイプになっていません。\n"
+
+#: fdisk/fdisksgilabel.c:536
+#, c-format
+msgid "\tYou have chosen an unusual boot file name.\n"
+msgstr "\tあなたは、ブートファイル名として通常と異なる名前を選びました。\n"
+
+#: fdisk/fdisksgilabel.c:545
+#, c-format
+msgid "Sorry You may change the Tag of non-empty partitions.\n"
+msgstr "残念ながら、空ではない領域のタグを変更することになります。\n"
+
+#: fdisk/fdisksgilabel.c:551
+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"
+
+#: fdisk/fdisksgilabel.c:556 fdisk/fdisksunlabel.c:554
+msgid "YES\n"
+msgstr "YES\n"
+
+#: fdisk/fdisksgilabel.c:581
+#, c-format
+msgid "Do You know, You got a partition overlap on the disk?\n"
+msgstr "ディスクの領域同士が重複していることを知ってますか?\n"
+
+#: fdisk/fdisksgilabel.c:639
+#, c-format
+msgid "Attempting to generate entire disk entry automatically.\n"
+msgstr "entire disk 項目の自動生成を試みます。\n"
+
+#: fdisk/fdisksgilabel.c:644
+#, c-format
+msgid "The entire disk is already covered with partitions.\n"
+msgstr "entire disk が既に領域を覆っています。\n"
+
+#: fdisk/fdisksgilabel.c:648
+#, c-format
+msgid "You got a partition overlap on the disk. Fix it first!\n"
+msgstr "ディスクの領域が重複しています。まずこれを何とかしましょう!\n"
+
+#: fdisk/fdisksgilabel.c:657 fdisk/fdisksgilabel.c:686
+#, 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"
+
+#: fdisk/fdisksgilabel.c:673
+#, c-format
+msgid "You will get a partition overlap on the disk. Fix it first!\n"
+msgstr "ディスクの領域が重複することになります。まずこれを何とかしましょう!\n"
+
+#: fdisk/fdisksgilabel.c:678
+#, c-format
+msgid " Last %s"
+msgstr " 最後の %s"
+
+#: fdisk/fdisksgilabel.c:708
+#, c-format
+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"
+
+#: fdisk/fdisksgilabel.c:731 fdisk/fdisksunlabel.c:227
+#, c-format
+msgid ""
+"Warning:  BLKGETSIZE ioctl failed on %s.  Using geometry cylinder value of %"
+"d.\n"
+"This value may be truncated for devices > 33.8 GB.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:745
+#, c-format
+msgid "Trying to keep parameters of partition %d.\n"
+msgstr "パーティション %d の値の保存を試みます。\n"
+
+#: fdisk/fdisksgilabel.c:747
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr "ID=%02x\t開始=%d\t長さ=%d\n"
+
+#: fdisk/fdisksunlabel.c:43
+msgid "Unassigned"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:45
+msgid "SunOS root"
+msgstr "SunOS ルート"
+
+#: fdisk/fdisksunlabel.c:46
+msgid "SunOS swap"
+msgstr "SunOS スワップ"
+
+#: fdisk/fdisksunlabel.c:47
+msgid "SunOS usr"
+msgstr "SunOS usr"
+
+#: fdisk/fdisksunlabel.c:48
+msgid "Whole disk"
+msgstr "Whole disk"
+
+#: fdisk/fdisksunlabel.c:49
+msgid "SunOS stand"
+msgstr "SunOS stand"
+
+#: fdisk/fdisksunlabel.c:50
+msgid "SunOS var"
+msgstr "SunOS var"
+
+#: fdisk/fdisksunlabel.c:51
+msgid "SunOS home"
+msgstr "SunOS home"
+
+#: fdisk/fdisksunlabel.c:52
+msgid "SunOS alt sectors"
+msgstr "SunOS alt セクタ"
+
+#: fdisk/fdisksunlabel.c:53
+msgid "SunOS cachefs"
+msgstr "SunOS cachefs"
+
+#: fdisk/fdisksunlabel.c:54
+msgid "SunOS reserved"
+msgstr "SunOS 予約"
+
+#: fdisk/fdisksunlabel.c:58 fdisk/i386_sys_types.c:103
+msgid "Linux raid autodetect"
+msgstr "Linux raid 自動検出"
+
+#: fdisk/fdisksunlabel.c:141
+#, 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"
+
+#: fdisk/fdisksunlabel.c:153
+#, c-format
+msgid "Detected sun disklabel with wrong version [0x%08x].\n"
+msgstr "間違ったバージョン [0x%08x] の sun ディスクラベルを検出しました。\n"
+
+#: fdisk/fdisksunlabel.c:158
+#, fuzzy, c-format
+msgid "Detected sun disklabel with wrong sanity [0x%08x].\n"
+msgstr "間違ったチェックサム値の sgi ディスクラベルを検出しました。\n"
+
+#: fdisk/fdisksunlabel.c:163
+#, c-format
+msgid "Detected sun disklabel with wrong num_partitions [%u].\n"
+msgstr "間違った num_partitions [%u] の sun ディスクラベルを検出しました。\n"
+
+#: fdisk/fdisksunlabel.c:168
+#, 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"
+
+#: fdisk/fdisksunlabel.c:198
+#, c-format
+msgid ""
+"Building a new sun disklabel. Changes will remain in memory only,\n"
+"until you decide to write them. After that, of course, the previous\n"
+"content won't be recoverable.\n"
+"\n"
+msgstr ""
+"新たな sun disklabel を構築します。変更はあなたが書き込みを決定するまで、\n"
+"メモリにのみ残します。その後はもちろん、以前の内容は復元できません。\n"
+
+#: fdisk/fdisksunlabel.c:236
+msgid "Sectors/track"
+msgstr "セクタ/トラック"
+
+#: fdisk/fdisksunlabel.c:351
+#, c-format
+msgid "Partition %d doesn't end on cylinder boundary\n"
+msgstr "パーティション %d はシリンダ境界で終わっていません\n"
+
+#: fdisk/fdisksunlabel.c:371
+#, c-format
+msgid "Partition %d overlaps with others in sectors %d-%d\n"
+msgstr "パーティション %d は他のセクタ %d-%d と重なっています\n"
+
+#: fdisk/fdisksunlabel.c:393
+#, c-format
+msgid "Unused gap - sectors 0-%d\n"
+msgstr "未使用ギャップ -- 0-%d セクタ\n"
+
+#: fdisk/fdisksunlabel.c:395 fdisk/fdisksunlabel.c:401
+#, c-format
+msgid "Unused gap - sectors %d-%d\n"
+msgstr "未使用ギャップ -- %d-%d セクタ\n"
+
+#: fdisk/fdisksunlabel.c:426
+#, c-format
+msgid ""
+"Other partitions already cover the whole disk.\n"
+"Delete some/shrink them before retry.\n"
+msgstr ""
+"他のパーティションが既にディスク全体を覆っています。\n"
+"まずそれを削除してからもう一度試してください。\n"
+
+#: fdisk/fdisksunlabel.c:449
+#, 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"
+
+#: fdisk/fdisksunlabel.c:477
+#, c-format
+msgid "Sector %d is already allocated\n"
+msgstr "セクタ %d は既に確保済みです\n"
+
+#: fdisk/fdisksunlabel.c:507
+#, 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"
+
+#: fdisk/fdisksunlabel.c:534
+#, 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"
+
+#: fdisk/fdisksunlabel.c:549
+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 と答えてください: "
+
+#: fdisk/fdisksunlabel.c:581
+#, c-format
+msgid ""
+"\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"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"ディスク %s (Sun ディスクラベル): ヘッド %d, セクタ %llu, 回転数 %d rpm\n"
+"シリンダ %d, 代替シリンダ %d, 物理シリンダ %d\n"
+"%d エクストラセクタ/シリンダ, インターリーブ %d:1\n"
+"ラベル ID: %s\n"
+"ボリューム ID: %s\n"
+"ユニット = %s of %d * 512 バイト\n"
+"\n"
+
+#: fdisk/fdisksunlabel.c:597
+#, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %d heads, %llu sectors, %d cylinders\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"ディスク %s (Sun ディスクラベル): ヘッド %d, セクタ %llu, シリンダ %d\n"
+"ユニット = %s of %d * 512 バイト\n"
+"\n"
+
+#: fdisk/fdisksunlabel.c:602
+#, c-format
+msgid "%*s Flag    Start       End    Blocks   Id  System\n"
+msgstr "%*s フラグ   始点      終点  ブロック   Id  システム\n"
+
+#: fdisk/fdisksunlabel.c:630
+msgid "Number of alternate cylinders"
+msgstr "代替シリンダ数"
+
+#: fdisk/fdisksunlabel.c:642
+msgid "Extra sectors per cylinder"
+msgstr "シリンダ毎の特別なセクタ"
+
+#: fdisk/fdisksunlabel.c:649
+msgid "Interleave factor"
+msgstr "インターリーブ"
+
+#: fdisk/fdisksunlabel.c:656
+msgid "Rotation speed (rpm)"
+msgstr "回転数 (rpm)"
+
+#: fdisk/fdisksunlabel.c:663
+msgid "Number of physical cylinders"
+msgstr "物理シリンダ数"
+
+#: fdisk/i386_sys_types.c:6
+msgid "Empty"
+msgstr "空"
+
+#: fdisk/i386_sys_types.c:7
+msgid "FAT12"
+msgstr "FAT12"
+
+#: fdisk/i386_sys_types.c:8
+msgid "XENIX root"
+msgstr "XENIX root"
+
+#: fdisk/i386_sys_types.c:9
+msgid "XENIX usr"
+msgstr "XENIX usr"
+
+#: fdisk/i386_sys_types.c:10
+msgid "FAT16 <32M"
+msgstr "FAT16 <32M"
+
+#: fdisk/i386_sys_types.c:11
+msgid "Extended"
+msgstr "拡張領域"
+
+#: fdisk/i386_sys_types.c:12
+msgid "FAT16"
+msgstr "FAT16"
+
+#: fdisk/i386_sys_types.c:13
+msgid "HPFS/NTFS"
+msgstr "HPFS/NTFS"
+
+#: fdisk/i386_sys_types.c:14
+msgid "AIX"
+msgstr "AIX"
+
+#: fdisk/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr "AIX ブート可能"
+
+#: fdisk/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr "OS/2 ブートマネージャ"
+
+#: fdisk/i386_sys_types.c:17
+msgid "W95 FAT32"
+msgstr "W95 FAT32"
+
+#: fdisk/i386_sys_types.c:18
+msgid "W95 FAT32 (LBA)"
+msgstr "W95 FAT32 (LBA)"
+
+#: fdisk/i386_sys_types.c:19
+msgid "W95 FAT16 (LBA)"
+msgstr "W95 FAT16 (LBA)"
+
+#: fdisk/i386_sys_types.c:20
+msgid "W95 Ext'd (LBA)"
+msgstr "W95 拡張領域 (LBA)"
+
+#: fdisk/i386_sys_types.c:21
+msgid "OPUS"
+msgstr "OPUS"
+
+#: fdisk/i386_sys_types.c:22
+msgid "Hidden FAT12"
+msgstr "隠し FAT12"
+
+#: fdisk/i386_sys_types.c:23
+msgid "Compaq diagnostics"
+msgstr "Compaq 診断"
+
+#: fdisk/i386_sys_types.c:24
+msgid "Hidden FAT16 <32M"
+msgstr "隠し FAT16 <32M"
+
+#: fdisk/i386_sys_types.c:25
+msgid "Hidden FAT16"
+msgstr "隠し FAT16"
+
+#: fdisk/i386_sys_types.c:26
+msgid "Hidden HPFS/NTFS"
+msgstr "隠し HPFS/NTFS"
+
+#: fdisk/i386_sys_types.c:27
+msgid "AST SmartSleep"
+msgstr "AST SmartSleep"
+
+#: fdisk/i386_sys_types.c:28
+msgid "Hidden W95 FAT32"
+msgstr "隠し W95 FAT32"
+
+#: fdisk/i386_sys_types.c:29
+msgid "Hidden W95 FAT32 (LBA)"
+msgstr "隠し W95 FAT32 (LBA)"
+
+#: fdisk/i386_sys_types.c:30
+msgid "Hidden W95 FAT16 (LBA)"
+msgstr "隠し W95 FAT16 (LBA)"
+
+#: fdisk/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr "NEC DOS"
+
+#: fdisk/i386_sys_types.c:32
+msgid "Plan 9"
+msgstr "Plan 9"
+
+#: fdisk/i386_sys_types.c:33
+msgid "PartitionMagic recovery"
+msgstr "PartitionMagic 修復"
+
+#: fdisk/i386_sys_types.c:34
+msgid "Venix 80286"
+msgstr "Venix 80286"
+
+#: fdisk/i386_sys_types.c:35
+msgid "PPC PReP Boot"
+msgstr "PPC PReP Boot"
+
+#: fdisk/i386_sys_types.c:36
+msgid "SFS"
+msgstr "SFS"
+
+#: fdisk/i386_sys_types.c:37
+msgid "QNX4.x"
+msgstr "QNX4.x"
+
+#: fdisk/i386_sys_types.c:38
+msgid "QNX4.x 2nd part"
+msgstr "QNX4.x 2nd part"
+
+#: fdisk/i386_sys_types.c:39
+msgid "QNX4.x 3rd part"
+msgstr "QNX4.x 3rd part"
+
+#: fdisk/i386_sys_types.c:40
+msgid "OnTrack DM"
+msgstr "OnTrack DM"
+
+#: fdisk/i386_sys_types.c:41
+msgid "OnTrack DM6 Aux1"
+msgstr "OnTrack DM6 Aux1"
+
+#: fdisk/i386_sys_types.c:42
+msgid "CP/M"
+msgstr "CP/M"
+
+#: fdisk/i386_sys_types.c:43
+msgid "OnTrack DM6 Aux3"
+msgstr "OnTrack DM6 Aux3"
+
+#: fdisk/i386_sys_types.c:44
+msgid "OnTrackDM6"
+msgstr "OnTrackDM6"
+
+#: fdisk/i386_sys_types.c:45
+msgid "EZ-Drive"
+msgstr "EZ-Drive"
+
+#: fdisk/i386_sys_types.c:46
+msgid "Golden Bow"
+msgstr "Golden Bow"
+
+#: fdisk/i386_sys_types.c:47
+msgid "Priam Edisk"
+msgstr "Priam Edisk"
+
+#: fdisk/i386_sys_types.c:48 fdisk/i386_sys_types.c:92
+#: fdisk/i386_sys_types.c:98 fdisk/i386_sys_types.c:99
+msgid "SpeedStor"
+msgstr "SpeedStor"
+
+#: fdisk/i386_sys_types.c:49
+msgid "GNU HURD or SysV"
+msgstr "GNU HURD または SysV"
+
+#: fdisk/i386_sys_types.c:50
+msgid "Novell Netware 286"
+msgstr "Novell Netware 286"
+
+#: fdisk/i386_sys_types.c:51
+msgid "Novell Netware 386"
+msgstr "Novell Netware 386"
+
+#: fdisk/i386_sys_types.c:52
+msgid "DiskSecure Multi-Boot"
+msgstr "DiskSecure Multi-Boot"
+
+#: fdisk/i386_sys_types.c:53
+msgid "PC/IX"
+msgstr "PC/IX"
+
+#: fdisk/i386_sys_types.c:54
+msgid "Old Minix"
+msgstr "古い Minix"
+
+#: fdisk/i386_sys_types.c:55
+msgid "Minix / old Linux"
+msgstr "Minix / 古い Linux"
+
+#: fdisk/i386_sys_types.c:56
+msgid "Linux swap / Solaris"
+msgstr "Linux スワップ / Solaris"
+
+#: fdisk/i386_sys_types.c:58
+msgid "OS/2 hidden C: drive"
+msgstr "OS/2 隠し C: ドライブ"
+
+#: fdisk/i386_sys_types.c:59
+msgid "Linux extended"
+msgstr "Linux 拡張領域"
+
+#: fdisk/i386_sys_types.c:60 fdisk/i386_sys_types.c:61
+msgid "NTFS volume set"
+msgstr "NTFS ボリュームセット"
+
+#: fdisk/i386_sys_types.c:62
+msgid "Linux plaintext"
+msgstr "Linux プレーンテキスト"
+
+#: fdisk/i386_sys_types.c:64
+msgid "Amoeba"
+msgstr "Amoeba"
+
+#: fdisk/i386_sys_types.c:65
+msgid "Amoeba BBT"
+msgstr "Amoeba BBT"
+
+#: fdisk/i386_sys_types.c:66
+msgid "BSD/OS"
+msgstr "BSD/OS"
+
+#: fdisk/i386_sys_types.c:67
+msgid "IBM Thinkpad hibernation"
+msgstr "IBM Thinkpad ハイバネーション"
+
+#: fdisk/i386_sys_types.c:68
+msgid "FreeBSD"
+msgstr "FreeBSD"
+
+#: fdisk/i386_sys_types.c:69
+msgid "OpenBSD"
+msgstr "OpenBSD"
+
+#: fdisk/i386_sys_types.c:70
+msgid "NeXTSTEP"
+msgstr "NeXTSTEP"
+
+#: fdisk/i386_sys_types.c:71
+msgid "Darwin UFS"
+msgstr "Darwin UFS"
+
+#: fdisk/i386_sys_types.c:72
+msgid "NetBSD"
+msgstr "NetBSD"
+
+#: fdisk/i386_sys_types.c:73
+msgid "Darwin boot"
+msgstr "Darwin ブート"
+
+#: fdisk/i386_sys_types.c:74
+msgid "HFS / HFS+"
+msgstr "HFS / HFS+"
+
+#: fdisk/i386_sys_types.c:75
+msgid "BSDI fs"
+msgstr "BSDI fs"
+
+#: fdisk/i386_sys_types.c:76
+msgid "BSDI swap"
+msgstr "BSDI スワップ"
+
+#: fdisk/i386_sys_types.c:77
+msgid "Boot Wizard hidden"
+msgstr "隠し Boot Wizard"
+
+#: fdisk/i386_sys_types.c:78
+msgid "Solaris boot"
+msgstr "Solaris ブート"
+
+#: fdisk/i386_sys_types.c:79
+msgid "Solaris"
+msgstr "Solaris"
+
+#: fdisk/i386_sys_types.c:80
+msgid "DRDOS/sec (FAT-12)"
+msgstr "DRDOS/sec (FAT-12)"
+
+#: fdisk/i386_sys_types.c:81
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr "DRDOS/sec (FAT-16 < 32M)"
+
+#: fdisk/i386_sys_types.c:82
+msgid "DRDOS/sec (FAT-16)"
+msgstr "DRDOS/sec (FAT-16)"
+
+#: fdisk/i386_sys_types.c:83
+msgid "Syrinx"
+msgstr "Syrinx"
+
+#: fdisk/i386_sys_types.c:84
+msgid "Non-FS data"
+msgstr "非 FS データ"
+
+#: fdisk/i386_sys_types.c:85
+msgid "CP/M / CTOS / ..."
+msgstr "CP/M / CTOS / ..."
+
+#: fdisk/i386_sys_types.c:87
+msgid "Dell Utility"
+msgstr "Dell ユーティリティ"
+
+#: fdisk/i386_sys_types.c:88
+msgid "BootIt"
+msgstr "BootIt"
+
+#: fdisk/i386_sys_types.c:89
+msgid "DOS access"
+msgstr "DOS access"
+
+#: fdisk/i386_sys_types.c:91
+msgid "DOS R/O"
+msgstr "DOS R/O"
+
+#: fdisk/i386_sys_types.c:94
+msgid "BeOS fs"
+msgstr "BeOS fs"
+
+#: fdisk/i386_sys_types.c:95
+msgid "GPT"
+msgstr "GPT"
+
+#: fdisk/i386_sys_types.c:96
+msgid "EFI (FAT-12/16/32)"
+msgstr "EFI (FAT-12/16/32)"
+
+#: fdisk/i386_sys_types.c:97
+msgid "Linux/PA-RISC boot"
+msgstr "Linux/PA-RISC ブート"
+
+#: fdisk/i386_sys_types.c:100
+msgid "DOS secondary"
+msgstr "DOS セカンダリ"
+
+#: fdisk/i386_sys_types.c:101
+msgid "VMware VMFS"
+msgstr "VMware VMFS"
+
+#: fdisk/i386_sys_types.c:102
+msgid "VMware VMKCORE"
+msgstr "VMware VMKCORE"
+
+#: fdisk/i386_sys_types.c:106
+msgid "LANstep"
+msgstr "LANstep"
+
+#: fdisk/i386_sys_types.c:107
+msgid "BBT"
+msgstr "BBT"
+
+#: fdisk/sfdisk.c:179
+#, c-format
+msgid "seek error on %s - cannot seek to %lu\n"
+msgstr "%s のシークエラー -- %lu をシークできません\n"
+
+#: fdisk/sfdisk.c:184
+#, c-format
+msgid "seek error: wanted 0x%08x%08x, got 0x%08x%08x\n"
+msgstr "シークエラー: 0x%08x%08x のはずでしたが 0x%08x%08x を受け取りました\n"
+
+#: fdisk/sfdisk.c:230
+msgid "out of memory - giving up\n"
+msgstr "メモリが足りません -- 諦めます\n"
+
+#: fdisk/sfdisk.c:235 fdisk/sfdisk.c:318
+#, c-format
+msgid "read error on %s - cannot read sector %lu\n"
+msgstr "%s の読み取りエラー -- セクタ %lu を読めません\n"
+
+#: fdisk/sfdisk.c:253
+#, c-format
+msgid "ERROR: sector %lu does not have an msdos signature\n"
+msgstr "エラー: セクタ %lu には msdos サインがありません\n"
+
+#: fdisk/sfdisk.c:268
+#, c-format
+msgid "write error on %s - cannot write sector %lu\n"
+msgstr "%s への書き込みエラー -- セクタ %lu に書き込めません\n"
+
+#: fdisk/sfdisk.c:306
+#, c-format
+msgid "cannot open partition sector save file (%s)\n"
+msgstr "パーティションセクタ保存ファイル (%s) をオープンできません\n"
+
+#: fdisk/sfdisk.c:324
+#, c-format
+msgid "write error on %s\n"
+msgstr "%s への書き込みエラー\n"
+
+#: fdisk/sfdisk.c:350
+#, c-format
+msgid "cannot stat partition restore file (%s)\n"
+msgstr "パーティション復元ファイル (%s) の情報を取得できません\n"
+
+#: fdisk/sfdisk.c:355
+msgid "partition restore file has wrong size - not restoring\n"
+msgstr ""
+"パーティション復元ファイルのサイズが間違っています -- 復元を行ないません\n"
+
+#: fdisk/sfdisk.c:359
+msgid "out of memory?\n"
+msgstr "メモリが足りない?\n"
+
+#: fdisk/sfdisk.c:365
+#, c-format
+msgid "cannot open partition restore file (%s)\n"
+msgstr "パーティション復元ファイル (%s) を開けません\n"
+
+#: fdisk/sfdisk.c:371
+#, c-format
+msgid "error reading %s\n"
+msgstr "%s の読み取りエラー\n"
+
+#: fdisk/sfdisk.c:378
+#, c-format
+msgid "cannot open device %s for writing\n"
+msgstr "デバイス %s を書き込みようにオープンできません\n"
+
+#: fdisk/sfdisk.c:390
+#, c-format
+msgid "error writing sector %lu on %s\n"
+msgstr "%2$s のセクタ %1$lu への書き込みエラー\n"
+
+#: fdisk/sfdisk.c:455
+#, c-format
+msgid "Disk %s: cannot get geometry\n"
+msgstr "ディスク %s: ジオメトリを取得できません\n"
+
+#: fdisk/sfdisk.c:472
+#, c-format
+msgid "Disk %s: cannot get size\n"
+msgstr "ディスク %s: サイズを取得できません\n"
+
+#: fdisk/sfdisk.c:505
+#, 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"
+
+#: fdisk/sfdisk.c:512
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu heads\n"
+msgstr "警告: HDIO_GETGEO によると、ヘッド数は %lu です\n"
+
+#: fdisk/sfdisk.c:515
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu sectors\n"
+msgstr "警告: HDIO_GETGEO によると、セクタ数は %lu です\n"
+
+#: fdisk/sfdisk.c:519
+#, c-format
+msgid "Warning: BLKGETSIZE/HDIO_GETGEO says that there are %lu cylinders\n"
+msgstr "警告: BLKGETSIZE/HDIO_GETGEO によると、シリンダ数は %lu です\n"
+
+#: fdisk/sfdisk.c:524
+#, 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"
+
+#: fdisk/sfdisk.c:528
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %lu cylinders, %lu heads, %lu sectors/track\n"
+msgstr ""
+"\n"
+"ディスク %s: シリンダ数 %lu、ヘッド数 %lu、%lu セクタ/トラック\n"
+
+#: fdisk/sfdisk.c:610
+#, 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"
+
+#: fdisk/sfdisk.c:615
+#, 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"
+
+#: fdisk/sfdisk.c:620
+#, 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"
+
+#: fdisk/sfdisk.c:660
+#, c-format
+msgid ""
+"Id  Name\n"
+"\n"
+msgstr ""
+"Id  名前\n"
+"\n"
+
+#: fdisk/sfdisk.c:821
+#, c-format
+msgid "Re-reading the partition table ...\n"
+msgstr "パーティションテーブルを再読み込み中...\n"
+
+#: fdisk/sfdisk.c:827
+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"
+
+#: fdisk/sfdisk.c:833
+#, c-format
+msgid "Error closing %s\n"
+msgstr "%s のクローズエラー\n"
+
+#: fdisk/sfdisk.c:871
+#, c-format
+msgid "%s: no such partition\n"
+msgstr "%s: そのようなパーティションはありません\n"
+
+#: fdisk/sfdisk.c:894
+msgid "unrecognized format - using sectors\n"
+msgstr "認識できないフォーマット -- セクタ数を利用します\n"
+
+#: fdisk/sfdisk.c:944
+#, c-format
+msgid "unimplemented format - using %s\n"
+msgstr "未実装のフォーマット -- %s を利用します\n"
+
+#: fdisk/sfdisk.c:948
+#, c-format
+msgid ""
+"Units = cylinders of %lu bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"ユニット = %lu バイトのシリンダ、1024 バイトのブロック、%d から数えます\n"
+"\n"
+
+#: fdisk/sfdisk.c:951
+#, c-format
+msgid "   Device Boot Start     End   #cyls    #blocks   Id  System\n"
+msgstr "デバイス ブート 始点    終点 #シリンダ #ブロック  Id  システム\n"
+
+#: fdisk/sfdisk.c:956
+#, c-format
+msgid ""
+"Units = sectors of 512 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"ユニット = 512 バイトのセクタ、%d から数えます\n"
+"\n"
+
+#: fdisk/sfdisk.c:958
+#, c-format
+msgid "   Device Boot    Start       End   #sectors  Id  System\n"
+msgstr "デバイス ブート    始点      終点    #セクタ  Id システム\n"
+
+#: fdisk/sfdisk.c:961
+#, c-format
+msgid ""
+"Units = blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"ユニット = 1024 バイトのブロック、%d から数えます\n"
+"\n"
+
+#: fdisk/sfdisk.c:963
+#, c-format
+msgid "   Device Boot   Start       End    #blocks   Id  System\n"
+msgstr " デバイス ブート 始点        終点  #ブロック ID  システム\n"
+
+#: fdisk/sfdisk.c:966
+#, c-format
+msgid ""
+"Units = mebibytes of 1048576 bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Units = 1048576 バイトをメガバイト、1024 バイトのブロック、%d から数えます\n"
+"\n"
+
+#: fdisk/sfdisk.c:968
+#, c-format
+msgid "   Device Boot Start   End    MiB    #blocks   Id  System\n"
+msgstr "デバイス ブート 始点   終点   MiB  #ブロック   Id  システム\n"
+
+#: fdisk/sfdisk.c:1128
+#, 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"
+
+#: fdisk/sfdisk.c:1135
+#, 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"
+
+#: fdisk/sfdisk.c:1138
+#, c-format
+msgid "partition ends on cylinder %ld, beyond the end of the disk\n"
+msgstr "シリンダ %ld にパーティションの終点、ディスクの最後を越えています\n"
+
+#: fdisk/sfdisk.c:1148
+msgid "No partitions found\n"
+msgstr "パーティションが見つかりません\n"
+
+#: fdisk/sfdisk.c:1152
+#, 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"
+
+#: fdisk/sfdisk.c:1201
+msgid "no partition table present.\n"
+msgstr "現在パーティション情報はありません。\n"
+
+#: fdisk/sfdisk.c:1203
+#, c-format
+msgid "strange, only %d partitions defined.\n"
+msgstr "変です、%d つのパーティションしか定義されていません。\n"
+
+#: fdisk/sfdisk.c:1212
+#, c-format
+msgid "Warning: partition %s has size 0 but is not marked Empty\n"
+msgstr ""
+"警告: パーティション %s はサイズ 0 ですが、空としてマークされていません\n"
+
+#: fdisk/sfdisk.c:1215
+#, c-format
+msgid "Warning: partition %s has size 0 and is bootable\n"
+msgstr "警告: パーティション %s はサイズ 0 なのにブート可能です。\n"
+
+#: fdisk/sfdisk.c:1218
+#, c-format
+msgid "Warning: partition %s has size 0 and nonzero start\n"
+msgstr "警告: パーティション %s はサイズ 0 で、非ゼロの開始位置です\n"
+
+#: fdisk/sfdisk.c:1229
+#, c-format
+msgid "Warning: partition %s "
+msgstr "警告: パーティション %s は、"
+
+#: fdisk/sfdisk.c:1230
+#, c-format
+msgid "is not contained in partition %s\n"
+msgstr "パーティション %s に含まれていません\n"
+
+#: fdisk/sfdisk.c:1241
+#, c-format
+msgid "Warning: partitions %s "
+msgstr "警告: パーティション %s "
+
+#: fdisk/sfdisk.c:1242
+#, c-format
+msgid "and %s overlap\n"
+msgstr "と %s が重なっています\n"
+
+#: fdisk/sfdisk.c:1253
+#, c-format
+msgid ""
+"Warning: partition %s contains part of the partition table (sector %lu),\n"
+"and will destroy it when filled\n"
+msgstr ""
+"警告: 領域 %s は領域テーブル (セクタ %lu) の一部を含んでおり、\n"
+"それが埋められる時点で破壊される事になります\n"
+
+#: fdisk/sfdisk.c:1265
+#, c-format
+msgid "Warning: partition %s starts at sector 0\n"
+msgstr "警告: パーティション %s がセクタ 0 から始まっています\n"
+
+#: fdisk/sfdisk.c:1269
+#, c-format
+msgid "Warning: partition %s extends past end of disk\n"
+msgstr "警告: パーティション %s はディスクの終りを越えています\n"
+
+#: fdisk/sfdisk.c:1284
+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"
+
+#: fdisk/sfdisk.c:1302
+#, c-format
+msgid "Warning: partition %s does not start at a cylinder boundary\n"
+msgstr "警告: パーティション %s はシリンダ境界から始まっていません\n"
+
+#: fdisk/sfdisk.c:1308
+#, c-format
+msgid "Warning: partition %s does not end at a cylinder boundary\n"
+msgstr "警告: パーティション %s はシリンダ境界で終わっていません\n"
+
+#: fdisk/sfdisk.c:1326
+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"
+
+#: fdisk/sfdisk.c:1333
+msgid ""
+"Warning: usually one can boot from primary partitions only\n"
+"LILO disregards the `bootable' flag.\n"
+msgstr ""
+"警告: 普通はプライマリパーティション一つをブートできるようにします。\n"
+"LILO は `ブート可能' フラグを無視しますけども。\n"
+
+#: fdisk/sfdisk.c:1339
+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"
+
+#: fdisk/sfdisk.c:1353
+msgid "start"
+msgstr "開始"
+
+#: fdisk/sfdisk.c:1356
+#, 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"
+
+#: fdisk/sfdisk.c:1362
+msgid "end"
+msgstr "終了"
+
+#: fdisk/sfdisk.c:1365
+#, 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"
+
+#: fdisk/sfdisk.c:1368
+#, c-format
+msgid "partition %s ends on cylinder %ld, beyond the end of the disk\n"
+msgstr ""
+"シリンダ %2$ld にあるパーティション %1$s の終点はディスクの最後を越えていま"
+"す\n"
+
+#: fdisk/sfdisk.c:1393
+#, c-format
+msgid ""
+"Warning: shifted start of the extd partition from %ld to %ld\n"
+"(For listing purposes only. Do not change its contents.)\n"
+msgstr ""
+"警告: 拡張領域の開始位置が %ld から %ld に移されました\n"
+"(リスト表示の為だけです。その内容に変更はありません。)\n"
+
+#: fdisk/sfdisk.c:1399
+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"
+
+#: fdisk/sfdisk.c:1417 fdisk/sfdisk.c:1494
+#, c-format
+msgid "too many partitions - ignoring those past nr (%d)\n"
+msgstr "パーティションが多すぎます -- nr (%d) 以降を無視します\n"
+
+#: fdisk/sfdisk.c:1432
+msgid "tree of partitions?\n"
+msgstr "パーティションのツリー?\n"
+
+#: fdisk/sfdisk.c:1540
+msgid "detected Disk Manager - unable to handle that\n"
+msgstr "Disk Manager を検出 -- これを捕捉できません\n"
+
+#: fdisk/sfdisk.c:1547
+msgid "DM6 signature found - giving up\n"
+msgstr "DM6 署名を発見 -- 諦めます\n"
+
+#: fdisk/sfdisk.c:1567
+msgid "strange..., an extended partition of size 0?\n"
+msgstr "変です..., サイズ 0 の拡張パーティション ?\n"
+
+#: fdisk/sfdisk.c:1574 fdisk/sfdisk.c:1585
+msgid "strange..., a BSD partition of size 0?\n"
+msgstr "変です..., サイズ 0 の BSD パーティション?\n"
+
+#: fdisk/sfdisk.c:1619
+#, c-format
+msgid " %s: unrecognized partition table type\n"
+msgstr " %s: 認識できないパーティション領域タイプ\n"
+
+#: fdisk/sfdisk.c:1631
+msgid "-n flag was given: Nothing changed\n"
+msgstr "-n フラグが与えられました: 何も変更しませんでした\n"
+
+#: fdisk/sfdisk.c:1647
+msgid "Failed saving the old sectors - aborting\n"
+msgstr "古いセクタの保存に失敗 -- 中断します\n"
+
+#: fdisk/sfdisk.c:1652
+#, c-format
+msgid "Failed writing the partition on %s\n"
+msgstr "%s のパーティション書き込みに失敗\n"
+
+#: fdisk/sfdisk.c:1729
+msgid "long or incomplete input line - quitting\n"
+msgstr "長いか不完全な行の入力 -- 中止します\n"
+
+#: fdisk/sfdisk.c:1765
+#, c-format
+msgid "input error: `=' expected after %s field\n"
+msgstr "入力エラー: `=' は %s フィールドの後にしてください\n"
+
+#: fdisk/sfdisk.c:1772
+#, c-format
+msgid "input error: unexpected character %c after %s field\n"
+msgstr "入力エラー: %2$s フィールドの後の予期しない文字 `%1$c'\n"
+
+#: fdisk/sfdisk.c:1778
+#, c-format
+msgid "unrecognized input: %s\n"
+msgstr "認識できない入力: %s\n"
+
+#: fdisk/sfdisk.c:1820
+msgid "number too big\n"
+msgstr "数字が大きすぎます\n"
+
+#: fdisk/sfdisk.c:1824
+msgid "trailing junk after number\n"
+msgstr "数字の後ろにゴミが付いています\n"
+
+#: fdisk/sfdisk.c:1948
+msgid "no room for partition descriptor\n"
+msgstr "パーティション記述子の空きがありません\n"
+
+#: fdisk/sfdisk.c:1981
+msgid "cannot build surrounding extended partition\n"
+msgstr "拡張パーティションの囲いを構築できません\n"
+
+#: fdisk/sfdisk.c:2032
+msgid "too many input fields\n"
+msgstr "入力フィールドが多すぎます\n"
+
+#: fdisk/sfdisk.c:2066
+msgid "No room for more\n"
+msgstr "これ以上の空きがありません\n"
+
+#: fdisk/sfdisk.c:2085
+msgid "Illegal type\n"
+msgstr "不正なタイプ\n"
+
+#: fdisk/sfdisk.c:2117
+#, c-format
+msgid "Warning: given size (%lu) exceeds max allowable size (%lu)\n"
+msgstr ""
+"警告: 与えられたサイズ (%lu) は、許容できる最大サイズ (%lu) を越えています\n"
+
+#: fdisk/sfdisk.c:2123
+msgid "Warning: empty partition\n"
+msgstr "警告: 空のパーティション\n"
+
+#: fdisk/sfdisk.c:2137
+#, c-format
+msgid "Warning: bad partition start (earliest %lu)\n"
+msgstr "警告: 不正なパーティションが始まっています (一番最初 %lu)\n"
+
+#: fdisk/sfdisk.c:2150
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr "認識できないブート可能フラグ -- - か * を選んでください\n"
+
+#: fdisk/sfdisk.c:2167 fdisk/sfdisk.c:2180
+msgid "partial c,h,s specification?\n"
+msgstr "c,h,s の一部を指定?\n"
+
+#: fdisk/sfdisk.c:2191
+msgid "Extended partition not where expected\n"
+msgstr "拡張パーティションが予期した場所にありません\n"
+
+#: fdisk/sfdisk.c:2223
+msgid "bad input\n"
+msgstr "不正な入力\n"
+
+#: fdisk/sfdisk.c:2245
+msgid "too many partitions\n"
+msgstr "パーティションが多すぎます\n"
+
+#: fdisk/sfdisk.c:2278
+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"
+
+#: fdisk/sfdisk.c:2304
+#, c-format
+msgid "Usage: %s [options] device ...\n"
+msgstr "使い方: %s [オプション] デバイス名...\n"
+
+#: fdisk/sfdisk.c:2305
+msgid "device: something like /dev/hda or /dev/sda"
+msgstr "デバイス: /dev/hda や /dev/sda の様な何か"
+
+#: fdisk/sfdisk.c:2306
+msgid "useful options:"
+msgstr "有益なオプション:"
+
+#: fdisk/sfdisk.c:2307
+msgid "    -s [or --show-size]: list size of a partition"
+msgstr "    -s [or --show-size]: 領域サイズのリスト"
+
+#: fdisk/sfdisk.c:2308
+msgid "    -c [or --id]:        print or change partition Id"
+msgstr "    -c [or --id]:        領域 ID の表示または変更"
+
+#: fdisk/sfdisk.c:2309
+msgid "    -l [or --list]:      list partitions of each device"
+msgstr "    -l [or --list]:      デバイス毎の領域リスト"
+
+#: fdisk/sfdisk.c:2310
+msgid "    -d [or --dump]:      idem, but in a format suitable for later input"
+msgstr "    -d [or --dump]:      前に同じだが、後の入力書式に沿うようにする"
+
+#: fdisk/sfdisk.c:2311
+msgid "    -i [or --increment]: number cylinders etc. from 1 instead of from 0"
+msgstr "    -i [or --increment]: シリンダ数など。0 ではなく 1 から"
+
+#: fdisk/sfdisk.c:2312
+msgid ""
+"    -uS, -uB, -uC, -uM:  accept/report in units of sectors/blocks/cylinders/"
+"MB"
+msgstr ""
+"    -uS, -uB, -uC, -uM:  セクタ/ブロック/シリンダ/MB のユニットの受理/報告"
+
+#: fdisk/sfdisk.c:2313
+msgid "    -T [or --list-types]:list the known partition types"
+msgstr "    -T [or --list-types]:既知の領域タイプのリスト"
+
+#: fdisk/sfdisk.c:2314
+msgid "    -D [or --DOS]:       for DOS-compatibility: waste a little space"
+msgstr "    -D [or --DOS]:       DOS 互換モード -- 空間が少し無駄になります"
+
+#: fdisk/sfdisk.c:2315
+msgid "    -R [or --re-read]:   make kernel reread partition table"
+msgstr "    -R [or --re-read]:   カーネルに領域テーブルを再読込みさせる"
+
+#: fdisk/sfdisk.c:2316
+msgid "    -N# :                change only the partition with number #"
+msgstr "    -N# :                指定番号# の領域のみ変更する"
+
+#: fdisk/sfdisk.c:2317
+msgid "    -n :                 do not actually write to disk"
+msgstr "    -n :                 ディスクへの実際の書込みを行わない"
+
+#: fdisk/sfdisk.c:2318
+msgid ""
+"    -O file :            save the sectors that will be overwritten to file"
+msgstr "    -O file :            上書きされるセクタをファイルに保存する"
+
+#: fdisk/sfdisk.c:2319
+msgid "    -I file :            restore these sectors again"
+msgstr "    -I file :            セクタをファイルから復元する"
+
+#: fdisk/sfdisk.c:2320
+msgid "    -v [or --version]:   print version"
+msgstr "    -v [or --version]:   バージョンを表示する"
+
+#: fdisk/sfdisk.c:2321
+msgid "    -? [or --help]:      print this message"
+msgstr "    -? [or --help]:      このメッセージを表示する"
+
+#: fdisk/sfdisk.c:2322
+msgid "dangerous options:"
+msgstr "危険なオプション:"
+
+#: fdisk/sfdisk.c:2323
+msgid "    -g [or --show-geometry]: print the kernel's idea of the geometry"
+msgstr "    -g [or --show-geometry]: カーネルのジオメトリ情報を表示する"
+
+#: fdisk/sfdisk.c:2324
+msgid ""
+"    -G [or --show-pt-geometry]: print geometry guessed from the partition "
+"table"
+msgstr ""
+"    -G [or --show-pt-geometry]: 領域テーブルから推測されるジオメトリ情報を表"
+"示する"
+
+#: fdisk/sfdisk.c:2325
+msgid ""
+"    -x [or --show-extended]: also list extended partitions on output\n"
+"                             or expect descriptors for them on input"
+msgstr ""
+"    -x [or --show-extended]: 拡張領域リストも表示する\n"
+"                             またはそれらの記述子の入力を得る"
+
+#: fdisk/sfdisk.c:2327
+msgid ""
+"    -L  [or --Linux]:      do not complain about things irrelevant for Linux"
+msgstr "    -L  [or --Linux]:      Linux にそぐわなくても文句を云わない"
+
+#: fdisk/sfdisk.c:2328
+msgid "    -q  [or --quiet]:      suppress warning messages"
+msgstr "    -q  [or --quiet]:      警告メッセージを抑制する"
+
+#: fdisk/sfdisk.c:2329
+msgid "    You can override the detected geometry using:"
+msgstr "    ジオメトリ検出を強制指定できます:"
+
+#: fdisk/sfdisk.c:2330
+msgid "    -C# [or --cylinders #]:set the number of cylinders to use"
+msgstr "    -C# [or --cylinders #]:使用するシリンダ数を設定する"
+
+#: fdisk/sfdisk.c:2331
+msgid "    -H# [or --heads #]:    set the number of heads to use"
+msgstr "    -H# [or --heads #]:    使用するヘッド数を設定する"
+
+#: fdisk/sfdisk.c:2332
+msgid "    -S# [or --sectors #]:  set the number of sectors to use"
+msgstr "    -S# [or --sectors #]:  使用するセクタ数を設定する"
+
+#: fdisk/sfdisk.c:2333
+msgid "You can disable all consistency checking with:"
+msgstr "矛盾のチェックを行わないようにできます:"
+
+#: fdisk/sfdisk.c:2334
+msgid "    -f  [or --force]:      do what I say, even if it is stupid"
+msgstr "    -f  [or --force]:      おかしな指定を行っても、そのまま実行します"
+
+#: fdisk/sfdisk.c:2340
+msgid "Usage:"
+msgstr "使い方:"
+
+#: fdisk/sfdisk.c:2341
+#, c-format
+msgid "%s device\t\t list active partitions on device\n"
+msgstr "%s デバイス\t\t デバイス上のアクティブ領域をリストします\n"
+
+#: fdisk/sfdisk.c:2342
+#, c-format
+msgid "%s device n1 n2 ... activate partitions n1 ..., inactivate the rest\n"
+msgstr ""
+"%s デバイス n1 n2 ... n1 をアクティブにして..., 残りを非アクティブにします\n"
+
+#: fdisk/sfdisk.c:2343
+#, c-format
+msgid "%s -An device\t activate partition n, inactivate the other ones\n"
+msgstr "%s -An デバイス\t n をアクティヴにし、それ以外を非アクティブにします\n"
+
+#: fdisk/sfdisk.c:2463
+#, 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 ""
+
+#: fdisk/sfdisk.c:2466
+#, c-format
+msgid "Use the --force flag to overrule this check.\n"
+msgstr "全てのチェックを超越させるには --force フラグを使ってください。\n"
+
+#: fdisk/sfdisk.c:2505
+msgid "no command?\n"
+msgstr "コマンドなし?\n"
+
+#: fdisk/sfdisk.c:2637
+#, c-format
+msgid "total: %llu blocks\n"
+msgstr "合計: %llu ブロック\n"
+
+#: fdisk/sfdisk.c:2680
+msgid "usage: sfdisk --print-id device partition-number\n"
+msgstr "使い方: sfdisk --print-id デバイス パーティション番号\n"
+
+#: fdisk/sfdisk.c:2682
+msgid "usage: sfdisk --change-id device partition-number Id\n"
+msgstr "使い方: sfdisk --change-id デバイス パーティション番号 ID\n"
+
+#: fdisk/sfdisk.c:2684
+msgid "usage: sfdisk --id device partition-number [Id]\n"
+msgstr "使い方: sfdisk --id デバイス パーティション番号 [ID]\n"
+
+#: fdisk/sfdisk.c:2691
+msgid "can specify only one device (except with -l or -s)\n"
+msgstr "一つのデバイスのみ指定できます (-l や -s を除く)\n"
+
+#: fdisk/sfdisk.c:2717
+#, c-format
+msgid "cannot open %s read-write\n"
+msgstr "%s を読み書きモードで開けません\n"
+
+#: fdisk/sfdisk.c:2719
+#, c-format
+msgid "cannot open %s for reading\n"
+msgstr "%s を読込み用に開けません\n"
+
+#: fdisk/sfdisk.c:2744
+#, c-format
+msgid "%s: OK\n"
+msgstr "%s: OK\n"
+
+#: fdisk/sfdisk.c:2763 fdisk/sfdisk.c:2796
+#, c-format
+msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+msgstr "%s: シリンダ数 %ld、ヘッド数 %ld、%ld セクタ/トラック\n"
+
+#: fdisk/sfdisk.c:2815
+#, c-format
+msgid "Cannot get size of %s\n"
+msgstr "%s のサイズを取得できません\n"
+
+#: fdisk/sfdisk.c:2895
+#, c-format
+msgid "bad active byte: 0x%x instead of 0x80\n"
+msgstr "不正なブートフラグ: 0x80 でなく 0x%x です\n"
+
+#: fdisk/sfdisk.c:2913 fdisk/sfdisk.c:2968 fdisk/sfdisk.c:3001
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+"終了\n"
+"\n"
+
+#: fdisk/sfdisk.c:2922
+#, 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"
+
+#: fdisk/sfdisk.c:2938
+#, c-format
+msgid "partition %s has id %x and is not hidden\n"
+msgstr "パーティション %s には ID %x があり、隠されていません\n"
+
+#: fdisk/sfdisk.c:2997
+#, c-format
+msgid "Bad Id %lx\n"
+msgstr "不正な ID %lx\n"
+
+#: fdisk/sfdisk.c:3014
+msgid "This disk is currently in use.\n"
+msgstr "このディスクは現在使用中です。\n"
+
+#: fdisk/sfdisk.c:3033
+#, c-format
+msgid "Fatal error: cannot find %s\n"
+msgstr "致命的なエラー: %s が見つかりません\n"
+
+#: fdisk/sfdisk.c:3036
+#, c-format
+msgid "Warning: %s is not a block device\n"
+msgstr "警告: %s はブロックデバイスではありません\n"
+
+#: fdisk/sfdisk.c:3042
+msgid "Checking that no-one is using this disk right now ...\n"
+msgstr "現在、誰もこのディスクを使っていないかを調べます...\n"
+
+#: fdisk/sfdisk.c:3044
+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"
+
+#: fdisk/sfdisk.c:3048
+msgid "Use the --force flag to overrule all checks.\n"
+msgstr "全てのチェックを超越させるには --force フラグを使ってください。\n"
+
+#: fdisk/sfdisk.c:3052
+msgid "OK\n"
+msgstr "OK\n"
+
+#: fdisk/sfdisk.c:3061
+#, c-format
+msgid "Old situation:\n"
+msgstr "古い場面:\n"
+
+#: fdisk/sfdisk.c:3065
+#, c-format
+msgid "Partition %d does not exist, cannot change it\n"
+msgstr "パーティション %d は存在しませんので、変更できません\n"
+
+#: fdisk/sfdisk.c:3073
+#, c-format
+msgid "New situation:\n"
+msgstr "新たな場面:\n"
+
+#: fdisk/sfdisk.c:3078
+msgid ""
+"I don't like these partitions - nothing changed.\n"
+"(If you really want this, use the --force option.)\n"
+msgstr ""
+"私はこれらのパーティションに関与したくありません -- 変更しません。\n"
+"(本当にこれを行ないたければ、--force オプションを使ってください)\n"
+
+#: fdisk/sfdisk.c:3081
+msgid "I don't like this - probably you should answer No\n"
+msgstr "私はこれに関与したくありません -- 恐らく No と答えるべきでしょう\n"
+
+#: fdisk/sfdisk.c:3086
+#, c-format
+msgid "Are you satisfied with this? [ynq] "
+msgstr "これであなたの要求は満たされますか? [ynq] "
+
+#: fdisk/sfdisk.c:3088
+#, c-format
+msgid "Do you want to write this to disk? [ynq] "
+msgstr "ディスクへの書き込みを行ないますか? [ynq] "
+
+#: fdisk/sfdisk.c:3093
+#, c-format
+msgid ""
+"\n"
+"sfdisk: premature end of input\n"
+msgstr ""
+"\n"
+"sfdisk: 入力が短すぎます\n"
+
+#: fdisk/sfdisk.c:3095
+msgid "Quitting - nothing changed\n"
+msgstr "中断 -- 何も変更しません\n"
+
+#: fdisk/sfdisk.c:3101
+#, c-format
+msgid "Please answer one of y,n,q\n"
+msgstr "y,n,q のいずれかで答えてください\n"
+
+#: fdisk/sfdisk.c:3109
+#, c-format
+msgid ""
+"Successfully wrote the new partition table\n"
+"\n"
+msgstr ""
+"新たなパーティションの書き込みに成功\n"
+"\n"
+
+#: fdisk/sfdisk.c:3115
+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"
+
+#: fsck/fsck.c:327
+#, c-format
+msgid "WARNING: couldn't open %s: %s\n"
+msgstr "警告: %s を開けません: %s\n"
+
+#: fsck/fsck.c:337
+#, c-format
+msgid "WARNING: bad format on line %d of %s\n"
+msgstr ""
+
+#: fsck/fsck.c:353
+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 ""
+
+#: fsck/fsck.c:461
+#, c-format
+msgid "fsck: %s: not found\n"
+msgstr "fsck: %s: 見つかりません\n"
+
+#: fsck/fsck.c:577
+#, c-format
+msgid "%s: wait: No more child process?!?\n"
+msgstr "%s: wait: 子プロセスは存在しない?!?\n"
+
+#: fsck/fsck.c:599
+#, c-format
+msgid "Warning... %s for device %s exited with signal %d.\n"
+msgstr ""
+
+#: fsck/fsck.c:605
+#, c-format
+msgid "%s %s: status is %x, should never happen.\n"
+msgstr ""
+
+#: fsck/fsck.c:644
+#, c-format
+msgid "Finished with %s (exit status %d)\n"
+msgstr ""
+
+#: fsck/fsck.c:704
+#, c-format
+msgid "%s: Error %d while executing fsck.%s for %s\n"
+msgstr ""
+
+#: fsck/fsck.c:725
+msgid ""
+"Either all or none of the filesystem types passed to -t must be prefixed\n"
+"with 'no' or '!'.\n"
+msgstr ""
+
+#: fsck/fsck.c:744
+msgid "Couldn't allocate memory for filesystem types\n"
+msgstr "ファイルシステムタイプのためのメモリを確保できませんでした\n"
+
+#: fsck/fsck.c:867
+#, c-format
+msgid ""
+"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass "
+"number\n"
+msgstr ""
+
+#: fsck/fsck.c:894
+#, c-format
+msgid "fsck: cannot check %s: fsck.%s not found\n"
+msgstr "fsck: %sをチェックできません: fsck.%sは見つかりません\n"
+
+#: fsck/fsck.c:950
+msgid "Checking all file systems.\n"
+msgstr "すべてのファイルシステム検査します。\n"
+
+#: fsck/fsck.c:1041
+#, c-format
+msgid "--waiting-- (pass %d)\n"
+msgstr "--待機中-- (パス %d)\n"
+
+#: fsck/fsck.c:1061
+msgid ""
+"Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]\n"
+msgstr ""
+"使い方: fsck [-AMNPRTV] [ -C [ fd ] ] [-t ファイルシステム型] [fs オプショ"
+"ン] [filesys ...]\n"
+
+#: fsck/fsck.c:1099
+#, c-format
+msgid "%s: too many devices\n"
+msgstr "%s: デバイスが多すぎます\n"
+
+#: fsck/fsck.c:1110
+#, c-format
+msgid "Couldn't open %s: %s\n"
+msgstr "%s を開けません: %s\n"
+
+#: fsck/fsck.c:1112
+#, c-format
+msgid "Is /proc mounted?\n"
+msgstr "/proc はマウントされていますか?\n"
+
+#: fsck/fsck.c:1121
+#, c-format
+msgid "Must be root to scan for matching filesystems: %s\n"
+msgstr ""
+
+#: fsck/fsck.c:1124
+#, c-format
+msgid "Couldn't find matching filesystem: %s\n"
+msgstr "一致するファイルシステムが見つかりません: %s\n"
+
+#: fsck/fsck.c:1132 fsck/fsck.c:1218
+#, c-format
+msgid "%s: too many arguments\n"
+msgstr "%s: 引数が多すぎます\n"
+
+#: fsck/fsck.c:1252
+#, c-format
+msgid "fsck from %s\n"
+msgstr "fsck from %s\n"
+
+#: fsck/fsck.c:1264
+#, c-format
+msgid "%s: Unable to allocate memory for fsck_path\n"
+msgstr "%s: fsck_pathのためのメモリを確保ができません。\n"
+
+#: getopt/getopt.c:229
+msgid "Try `getopt --help' for more information.\n"
+msgstr "`getopt --help' で詳細情報を調べてください。\n"
+
+#: getopt/getopt.c:295
+msgid "empty long option after -l or --long argument"
+msgstr "-l や --long 引数の後のロングオプションが空です"
+
+#: getopt/getopt.c:315
+msgid "unknown shell after -s or --shell argument"
+msgstr "-s か --shell 引数の後のシェルを知りません"
+
+#: getopt/getopt.c:320
+msgid "Usage: getopt optstring parameters\n"
+msgstr "使い方: getopt オプション文字列 値\n"
+
+#: getopt/getopt.c:321
+msgid "       getopt [options] [--] optstring parameters\n"
+msgstr "       getopt [オプション] [--] オプション文字列 値\n"
+
+#: getopt/getopt.c:322
+msgid "       getopt [options] -o|--options optstring [options] [--]\n"
+msgstr ""
+"       getopt [オプション] -o|--options オプション文字列 [オプション] [--]\n"
+
+#: getopt/getopt.c:323
+msgid "              parameters\n"
+msgstr "              値\n"
+
+#: getopt/getopt.c:324
+msgid ""
+"  -a, --alternative            Allow long options starting with single -\n"
+msgstr ""
+"  -a, --alternative            ロングオプションが - 一つで始まるのを許す\n"
+
+#: getopt/getopt.c:325
+msgid "  -h, --help                   This small usage guide\n"
+msgstr "  -h, --help                   このちょっとした使い方を表示する\n"
+
+#: getopt/getopt.c:326
+msgid "  -l, --longoptions=longopts   Long options to be recognized\n"
+msgstr "  -l, --longoptions=longopts   ロングオプションを理解させる\n"
+
+#: getopt/getopt.c:327
+msgid ""
+"  -n, --name=progname          The name under which errors are reported\n"
+msgstr "  -n, --name=progname          エラー報告の際の名前\n"
+
+#: getopt/getopt.c:328
+msgid "  -o, --options=optstring      Short options to be recognized\n"
+msgstr "  -o, --options=optstring      ショーとオプションを理解させる\n"
+
+#: getopt/getopt.c:329
+msgid "  -q, --quiet                  Disable error reporting by getopt(3)\n"
+msgstr "  -q, --quiet                  getopt(3) のエラー報告を行わない\n"
+
+#: getopt/getopt.c:330
+msgid "  -Q, --quiet-output           No normal output\n"
+msgstr "  -Q, --quiet-output           通常の出力を行わない\n"
+
+#: getopt/getopt.c:331
+msgid "  -s, --shell=shell            Set shell quoting conventions\n"
+msgstr "  -s, --shell=shell            シェルの引用取り決めを設定する\n"
+
+#: getopt/getopt.c:332
+msgid "  -T, --test                   Test for getopt(1) version\n"
+msgstr "  -T, --test                   getopt(1) バージョンをテストする\n"
+
+#: getopt/getopt.c:333
+msgid "  -u, --unqote                 Do not quote the output\n"
+msgstr "  -u, --unqote                 出力を引用しない\n"
+
+#: getopt/getopt.c:334
+msgid "  -V, --version                Output version information\n"
+msgstr "  -V, --version                バージョン情報を出力する\n"
+
+#: getopt/getopt.c:388 getopt/getopt.c:447
+msgid "missing optstring argument"
+msgstr "オプション文字列引数が足りません"
+
+#: getopt/getopt.c:435
+#, c-format
+msgid "getopt (enhanced) 1.1.4\n"
+msgstr "getopt (enhanced) 1.1.4\n"
+
+#: getopt/getopt.c:441
+msgid "internal error, contact the author."
+msgstr "内部エラー、作者に連絡を。"
+
+#: hwclock/cmos.c:176
+#, c-format
+msgid "booted from MILO\n"
+msgstr "MILO からブートされました\n"
+
+#: hwclock/cmos.c:185
+#, c-format
+msgid "Ruffian BCD clock\n"
+msgstr "粗忽な BCD クロック\n"
+
+#: hwclock/cmos.c:201
+#, c-format
+msgid "clockport adjusted to 0x%x\n"
+msgstr "クロックポートを 0x%x に修正しました\n"
+
+#: hwclock/cmos.c:213
+#, c-format
+msgid "funky TOY!\n"
+msgstr "イカした TOY!\n"
+
+#: hwclock/cmos.c:244
+#, c-format
+msgid "%s: atomic %s failed for 1000 iterations!"
+msgstr "%s: 不可分な%sの 1000 回の反復が失敗!"
+
+#: hwclock/cmos.c:273
+#, c-format
+msgid "cmos_read(): write to control address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:276
+#, c-format
+msgid "cmos_read(): read data address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:307
+#, c-format
+msgid "cmos_write(): write to control address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:311
+#, c-format
+msgid "cmos_write(): write to data address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:574
+#, c-format
+msgid "Cannot open /dev/port: %s"
+msgstr "/dev/port を開けません: %s"
+
+#: hwclock/cmos.c:581
+#, c-format
+msgid "I failed to get permission because I didn't try.\n"
+msgstr "許可の取得を試さなかったので、許可の取得に失敗しました。\n"
+
+#: hwclock/cmos.c:584
+#, c-format
+msgid "%s is unable to get I/O port access:  the iopl(3) call failed.\n"
+msgstr "%s は I/O ポートアクセスができません: iopl(3) コールに失敗。\n"
+
+#: hwclock/cmos.c:587
+#, c-format
+msgid "Probably you need root privileges.\n"
+msgstr "恐らくルート権限が必要です。\n"
+
+#: hwclock/hwclock.c:231
+#, c-format
+msgid "Assuming hardware clock is kept in %s time.\n"
+msgstr "ハードウェア時計%s時刻を保持しているとみなします\n"
+
+#: hwclock/hwclock.c:232 hwclock/hwclock.c:327
+msgid "UTC"
+msgstr "UTC"
+
+#: hwclock/hwclock.c:232 hwclock/hwclock.c:326
+msgid "local"
+msgstr "ローカル"
+
+#: hwclock/hwclock.c:312
+#, c-format
+msgid "%s: Warning: unrecognized third line in adjtime file\n"
+msgstr "%s: 警告: adjtime ファイルの三行目が認識できません\n"
+
+#: hwclock/hwclock.c:314
+#, c-format
+msgid "(Expected: `UTC' or `LOCAL' or nothing.)\n"
+msgstr "(期待したのは: `UTC', `LOCAL' あるいは何もないかです。)\n"
+
+#: hwclock/hwclock.c:321
+#, c-format
+msgid "Last drift adjustment done at %ld seconds after 1969\n"
+msgstr "直前のずれの修正は 1969 年以降 %ld 秒時点で行なわれました\n"
+
+#: hwclock/hwclock.c:323
+#, c-format
+msgid "Last calibration done at %ld seconds after 1969\n"
+msgstr "直前の調整は 1969 年以降 %ld 秒時点で行なわれました\n"
+
+#: hwclock/hwclock.c:325
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr "ハードウェア時計は%s時刻です\n"
+
+#: hwclock/hwclock.c:327
+msgid "unknown"
+msgstr "不明な"
+
+#: hwclock/hwclock.c:351
+#, c-format
+msgid "Waiting for clock tick...\n"
+msgstr "クロックチックを待っています...\n"
+
+#: hwclock/hwclock.c:357
+#, c-format
+msgid "...synchronization failed\n"
+msgstr ""
+
+#: hwclock/hwclock.c:359
+#, c-format
+msgid "...got clock tick\n"
+msgstr "クロックチックを取得しました\n"
+
+#: hwclock/hwclock.c:413
+#, c-format
+msgid "Invalid values in hardware clock: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+msgstr "ハードウェア時計に不正な値: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+
+#: hwclock/hwclock.c:421
+#, 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"
+
+#: hwclock/hwclock.c:451
+#, c-format
+msgid "Time read from Hardware Clock: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+msgstr "ハードウェア時計から読込んだ時刻: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+
+#: hwclock/hwclock.c:480
+#, c-format
+msgid "Setting Hardware Clock to %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr "ハードウェア時計を %.2d:%.2d:%.2d に設定 = 1969 年以来 %ld 秒\n"
+
+#: hwclock/hwclock.c:486
+#, c-format
+msgid "Clock not changed - testing only.\n"
+msgstr "クロックを変更しませんでした -- テストだけです。\n"
+
+#: hwclock/hwclock.c:536
+#, 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"
+
+#: hwclock/hwclock.c:572
+#, c-format
+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).\n"
+msgstr ""
+"ハードウェア時計レジスタがおかしな値(例 何月50日)になっているか、\n"
+"捕捉できない範囲の値(例 2095年)になっています。\n"
+
+#: hwclock/hwclock.c:582
+#, c-format
+msgid "%s  %.6f seconds\n"
+msgstr "%s  %.6f 秒\n"
+
+#: hwclock/hwclock.c:616
+#, c-format
+msgid "No --date option specified.\n"
+msgstr "--date オプションが指定されていません。\n"
+
+#: hwclock/hwclock.c:622
+#, c-format
+msgid "--date argument too long\n"
+msgstr "--date 引数が長すぎます\n"
+
+#: hwclock/hwclock.c:629
+#, c-format
+msgid ""
+"The value of the --date option is not a valid date.\n"
+"In particular, it contains quotation marks.\n"
+msgstr ""
+"--date オプションの値が正しい日付ではありません。\n"
+"特に、クォーテーションマークが含まれています。\n"
+
+#: hwclock/hwclock.c:637
+#, c-format
+msgid "Issuing date command: %s\n"
+msgstr "date コマンドを発行します: %s\n"
+
+#: hwclock/hwclock.c:641
+msgid "Unable to run 'date' program in /bin/sh shell. popen() failed"
+msgstr ""
+"/bin/sh シェル内で 'date' プログラムを実行できません。\n"
+"popen() が失敗しました。"
+
+#: hwclock/hwclock.c:649
+#, c-format
+msgid "response from date command = %s\n"
+msgstr "date コマンドからの返答 = %s\n"
+
+#: hwclock/hwclock.c:651
+#, c-format
+msgid ""
+"The date command issued by %s returned unexpected results.\n"
+"The command was:\n"
+"  %s\n"
+"The response was:\n"
+"  %s\n"
+msgstr ""
+"%s によって発行された date コマンドは予期せぬ結果を返しました。\n"
+"そのコマンドは:\n"
+"  %s\n"
+"その返答は:\n"
+"  %s\n"
+
+#: hwclock/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"
+
+#: hwclock/hwclock.c:674
+#, c-format
+msgid "date string %s equates to %ld seconds since 1969.\n"
+msgstr "date 文字列 %s を 1969 年以来 %ld 秒とします\n"
+
+#: hwclock/hwclock.c:706
+#, c-format
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot set the "
+"System Time from it.\n"
+msgstr ""
+"ハードウェア時計は、正しい時刻を含んでいないので、ここから得られた値を\n"
+"システム時刻に設定できません。\n"
+
+#: hwclock/hwclock.c:728 hwclock/hwclock.c:805
+#, c-format
+msgid "Calling settimeofday:\n"
+msgstr "settimeofday を呼び出します:\n"
+
+#: hwclock/hwclock.c:729 hwclock/hwclock.c:807
+#, c-format
+msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+
+#: hwclock/hwclock.c:731 hwclock/hwclock.c:809
+#, c-format
+msgid "\ttz.tz_minuteswest = %d\n"
+msgstr "\ttz.tz_minuteswest = %d\n"
+
+#: hwclock/hwclock.c:734 hwclock/hwclock.c:812
+#, c-format
+msgid "Not setting system clock because running in test mode.\n"
+msgstr "テストモードで動作しているため、システムクロックを設定しません。\n"
+
+#: hwclock/hwclock.c:743 hwclock/hwclock.c:821
+#, c-format
+msgid "Must be superuser to set system clock.\n"
+msgstr "システムクロックを設定するには、スーパーユーザでなければなりません。\n"
+
+#: hwclock/hwclock.c:746 hwclock/hwclock.c:824
+msgid "settimeofday() failed"
+msgstr "settimeofday() 呼び出しに失敗"
+
+#: hwclock/hwclock.c:782
+#, c-format
+msgid "Current system time: %ld = %s\n"
+msgstr "現在のシステム時間: %ld = %s\n"
+
+#: hwclock/hwclock.c:806
+#, c-format
+msgid "\tUTC: %s\n"
+msgstr "\tUTC: %s\n"
+
+#: hwclock/hwclock.c:853
+#, c-format
+msgid ""
+"Not adjusting drift factor because the Hardware Clock previously contained "
+"garbage.\n"
+msgstr "ハードウェア時刻に以前のゴミが含まれており、ずれを修正できません。\n"
+
+#: hwclock/hwclock.c:858
+#, 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"
+
+#: hwclock/hwclock.c:864
+#, c-format
+msgid ""
+"Not adjusting drift factor because it has been less than a day since the "
+"last calibration.\n"
+msgstr "前回の調整以来、少なくとも一日経過しないと、ずれを修正できません。\n"
+
+#: hwclock/hwclock.c:912
+#, 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"
+
+#: hwclock/hwclock.c:962
+#, c-format
+msgid "Time since last adjustment is %d seconds\n"
+msgstr "前回の修正からの時間は %d 秒です\n"
+
+#: hwclock/hwclock.c:964
+#, c-format
+msgid "Need to insert %d seconds and refer time back %.6f seconds ago\n"
+msgstr "%d 秒の挿入と、%.6f 秒前の時刻の参照が必要です\n"
+
+#: hwclock/hwclock.c:993
+#, c-format
+msgid "Not updating adjtime file because of testing mode.\n"
+msgstr "テストモードで動作しているため adjtime ファイルを更新しません。\n"
+
+#: hwclock/hwclock.c:994
+#, c-format
+msgid ""
+"Would have written the following to %s:\n"
+"%s"
+msgstr ""
+"本来ならば %s に以下のように書き込まれるはずでした:\n"
+"%s"
+
+#: hwclock/hwclock.c:1002
+#, c-format
+msgid ""
+"Could not open file with the clock adjustment parameters in it (%s) for "
+"writing"
+msgstr ""
+
+#: hwclock/hwclock.c:1007 hwclock/hwclock.c:1012
+#, c-format
+msgid "Could not update file with the clock adjustment parameters (%s) in it"
+msgstr ""
+
+#: hwclock/hwclock.c:1018
+#, c-format
+msgid "Drift adjustment parameters not updated.\n"
+msgstr "ずれの修正値は更新されませんでした。\n"
+
+#: hwclock/hwclock.c:1059
+#, c-format
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot adjust it.\n"
+msgstr "ハードウェア時計が、正常な時刻を含んでいないので、修正できません。\n"
+
+#: hwclock/hwclock.c:1067
+#, fuzzy, c-format
+msgid ""
+"Not setting clock because last adjustment time is zero, so history is bad."
+msgstr "前回の調整以来、少なくとも一日経過しないと、ずれを修正できません。\n"
+
+#: hwclock/hwclock.c:1090
+#, c-format
+msgid "Needed adjustment is less than one second, so not setting clock.\n"
+msgstr "必要な修正が一秒未満なので、クロックを設定しません。\n"
+
+#: hwclock/hwclock.c:1116
+#, c-format
+msgid "Using %s.\n"
+msgstr "%s を使います。\n"
+
+#: hwclock/hwclock.c:1118
+#, c-format
+msgid "No usable clock interface found.\n"
+msgstr "利用可能なクロックインターフェイスが見つかりません。\n"
+
+#: hwclock/hwclock.c:1222 hwclock/hwclock.c:1228
+#, c-format
+msgid "Unable to set system clock.\n"
+msgstr "システムクロックを設定できません。\n"
+
+#: hwclock/hwclock.c:1258
+#, c-format
+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.\n"
+msgstr ""
+"カーネルがハードウェア時計のためのエポック値を保持できるのは Alpha マシン\n"
+"だけです。\n"
+"この hwclock の複製は Alpha 以外のマシンでビルドされました\n"
+"(そして当然、現在 Alpha 上で実行されていません)。実行できません。\n"
+
+#: hwclock/hwclock.c:1267
+#, c-format
+msgid "Unable to get the epoch value from the kernel.\n"
+msgstr "カーネルからエポック値を取得できません。\n"
+
+#: hwclock/hwclock.c:1269
+#, c-format
+msgid "Kernel is assuming an epoch value of %lu\n"
+msgstr "カーネルはエポック値を %lu と想定しています\n"
+
+#: hwclock/hwclock.c:1272
+#, c-format
+msgid ""
+"To set the epoch value, you must use the 'epoch' option to tell to what "
+"value to set it.\n"
+msgstr ""
+"エポック値を設定するためには、何の値を設定するかを知らせるために 'epoch'\n"
+"オプションを使わなければなりません。\n"
+
+#: hwclock/hwclock.c:1275
+#, c-format
+msgid "Not setting the epoch to %d - testing only.\n"
+msgstr "エポックを %d に設定しません -- テストだけです。\n"
+
+#: hwclock/hwclock.c:1278
+#, c-format
+msgid "Unable to set the epoch value in the kernel.\n"
+msgstr "カーネルにエポック値を設定することができませんでした。\n"
+
+#: hwclock/hwclock.c:1291 misc-utils/cal.c:345 misc-utils/kill.c:189
+#, c-format
+msgid "%s from %s\n"
+msgstr "%s from %s\n"
+
+#: hwclock/hwclock.c:1312
+#, c-format
+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"
+"  -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"
+"  -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"
+
+#: hwclock/hwclock.c:1347
+#, c-format
+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"
+
+#: hwclock/hwclock.c:1434
+#, fuzzy, c-format
+msgid "%s: Unable to connect to audit system\n"
+msgstr "システムクロックを設定できません。\n"
+
+#: hwclock/hwclock.c:1552
+#, c-format
+msgid "%s takes no non-option arguments.  You supplied %d.\n"
+msgstr "%s は何らかのオプション引数を取ります。あなたは %d 個与えました。\n"
+
+#: hwclock/hwclock.c:1559
+#, c-format
+msgid ""
+"You have specified multiple functions.\n"
+"You can only perform one function at a time.\n"
+msgstr ""
+"あなたは機能オプションを複数個指定しました。\n"
+"一度に一つの機能のみ行なうことができます。\n"
+
+#: hwclock/hwclock.c:1566
+#, c-format
+msgid ""
+"%s: The --utc and --localtime options are mutually exclusive.  You specified "
+"both.\n"
+msgstr ""
+"%s: --utc と --localtime オプションは相互排他的ですが、両方が指定されまし"
+"た。\n"
+
+#: hwclock/hwclock.c:1573
+#, c-format
+msgid ""
+"%s: The --adjust and --noadjfile options are mutually exclusive.  You "
+"specified both.\n"
+msgstr ""
+"%s: --adjust と --noadjfile オプションは相互排他的ですが、両方が指定されまし"
+"た。\n"
+
+#: hwclock/hwclock.c:1580
+#, c-format
+msgid ""
+"%s: The --adjfile and --noadjfile options are mutually exclusive.  You "
+"specified both.\n"
+msgstr ""
+"%s: --adjfile と --noadjfile オプションは相互排他的ですが、両方が指定されまし"
+"た。\n"
+
+#: hwclock/hwclock.c:1589
+#, c-format
+msgid "%s: With --noadjfile, you must specify either --utc or --localtime\n"
+msgstr ""
+"%s: --noadjfile をつけた場合、--utc か --localtime のいずれかを指定しなければ"
+"なりません\n"
+
+#: hwclock/hwclock.c:1603
+#, c-format
+msgid "No usable set-to time.  Cannot set clock.\n"
+msgstr "有効な設定時刻がありません。クロックを設定できません。\n"
+
+#: hwclock/hwclock.c:1620
+#, c-format
+msgid "Sorry, only the superuser can change the Hardware Clock.\n"
+msgstr ""
+"残念ながら、ハードウェアク時計の変更はスーパーユーザでしか行なえません。\n"
+
+#: hwclock/hwclock.c:1625
+#, c-format
+msgid "Sorry, only the superuser can change the System Clock.\n"
+msgstr "残念ながら、システム時計の変更はスーパーユーザでしか行なえません。\n"
+
+#: hwclock/hwclock.c:1630
+#, c-format
+msgid ""
+"Sorry, only the superuser can change the Hardware Clock epoch in the "
+"kernel.\n"
+msgstr ""
+"残念ながら、カーネル内のハードウェア時計のエポック値を変更できるのは、\n"
+"スーパーユーザだけです。\n"
+
+#: hwclock/hwclock.c:1651
+#, c-format
+msgid "Cannot access the Hardware Clock via any known method.\n"
+msgstr "既知のどんな方法でも、ハードウェア時計にアクセスできません。\n"
+
+#: hwclock/hwclock.c:1655
+#, c-format
+msgid ""
+"Use the --debug option to see the details of our search for an access "
+"method.\n"
+msgstr "--debug オプションでアクセス方法検索の詳細について見てください。\n"
+
+#: hwclock/kd.c:53
+#, c-format
+msgid "Waiting in loop for time from KDGHWCLK to change\n"
+msgstr "KDGHWCLK から変更のための時刻を取得するループ中です\n"
+
+#: hwclock/kd.c:56
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr "KDGHWCLK の時刻読み取りが失敗しました"
+
+#: hwclock/kd.c:77 hwclock/rtc.c:221
+#, c-format
+msgid "Timed out waiting for time change.\n"
+msgstr "時刻変更待ちがタイムアウトしました。\n"
+
+#: hwclock/kd.c:81
+msgid "KDGHWCLK ioctl to read time failed in loop"
+msgstr "時刻読み込みのための KDGHWCLK ioctl がループ内で失敗しました"
+
+#: hwclock/kd.c:103
+#, c-format
+msgid "ioctl() failed to read time from %s"
+msgstr "%s から時刻を読込むための ioctl() に失敗しました"
+
+#: hwclock/kd.c:139
+msgid "ioctl KDSHWCLK failed"
+msgstr "KDSHWCLK ioctl に失敗しました"
+
+#: hwclock/kd.c:175
+msgid "Can't open /dev/tty1 or /dev/vc/1"
+msgstr "/dev/tty1 または /dev/vc/1 を開けません"
+
+#: hwclock/kd.c:179
+msgid "KDGHWCLK ioctl failed"
+msgstr "KDGHWCLK ioctl に失敗しました"
+
+#: hwclock/rtc.c:147 hwclock/rtc.c:241
+#, c-format
+msgid "open() of %s failed"
+msgstr "%s への open() が失敗しました"
+
+#: hwclock/rtc.c:181
+#, c-format
+msgid "ioctl() to %s to read the time failed.\n"
+msgstr "時刻読み込みのための %s への ioctl() に失敗しました。\n"
+
+#: hwclock/rtc.c:203
+#, c-format
+msgid "Waiting in loop for time from %s to change\n"
+msgstr "%s から時刻を変更するためのループ中です\n"
+
+#: hwclock/rtc.c:259
+#, c-format
+msgid "%s does not have interrupt functions. "
+msgstr "%s は割り込み機能を持っていません。 "
+
+#: hwclock/rtc.c:270
+#, c-format
+msgid "read() to %s to wait for clock tick failed"
+msgstr "クロックチックを待つための %s への read() が失敗しました"
+
+#: hwclock/rtc.c:288
+#, c-format
+msgid "select() to %s to wait for clock tick failed"
+msgstr "クロックチックを待つための %s への select() が失敗しました"
+
+#: hwclock/rtc.c:291
+#, c-format
+msgid "select() to %s to wait for clock tick timed out\n"
+msgstr "クロックチックを待つための %s への select() がタイムアウトしました\n"
+
+#: hwclock/rtc.c:300
+#, c-format
+msgid "ioctl() to %s to turn off update interrupts failed"
+msgstr "割り込み更新をオフにするための %s への ioctl() が失敗しました"
+
+#: hwclock/rtc.c:303
+#, c-format
+msgid "ioctl() to %s to turn on update interrupts failed unexpectedly"
+msgstr ""
+"割り込み更新をオンにするための %s への ioctl() が予期せぬ失敗に終わりました"
+
+#: hwclock/rtc.c:360
+#, c-format
+msgid "ioctl() to %s to set the time failed.\n"
+msgstr "時刻設定のための %s への ioctl() が失敗しました。\n"
+
+#: hwclock/rtc.c:366
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr "ioctl(%s) に成功しました。\n"
+
+#: hwclock/rtc.c:392
+#, c-format
+msgid "Open of %s failed"
+msgstr "%s のオープンに失敗しました"
+
+#: hwclock/rtc.c:410 hwclock/rtc.c:454
+#, 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.\n"
+msgstr ""
+"カーネル内のエポック値を算出するには、スペシャルファイル %s を通じて\n"
+"Linux の 'rtc' デバイスドライバにアクセスする必要があります。しかし、この\n"
+"ファイルがシステムに存在しません。\n"
+
+#: hwclock/rtc.c:415 hwclock/rtc.c:459
+#, c-format
+msgid "Unable to open %s"
+msgstr "%s をオープンできません"
+
+#: hwclock/rtc.c:422
+#, c-format
+msgid "ioctl(RTC_EPOCH_READ) to %s failed"
+msgstr "%s への ioctl(RTC_EPOCH_READ) が失敗しました"
+
+#: hwclock/rtc.c:427
+#, 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"
+
+#: hwclock/rtc.c:446
+#, c-format
+msgid "The epoch value may not be less than 1900.  You requested %ld\n"
+msgstr ""
+"エポック値は 1900 年以前ではあり得ません。あなたは %ld を要求しました\n"
+
+#: hwclock/rtc.c:464
+#, 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"
+
+#: hwclock/rtc.c:469
+#, c-format
+msgid ""
+"The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl.\n"
+msgstr "%s のカーネルドライバは RTC_EPOCH_SET ioctl を持っていません。\n"
+
+#: hwclock/rtc.c:472
+#, c-format
+msgid "ioctl(RTC_EPOCH_SET) to %s failed"
+msgstr "%s への ioctl(RTC_EPOCH_SET) が失敗しました"
+
+#: login-utils/agetty.c:361
+#, c-format
+msgid "%s: can't exec %s: %m"
+msgstr "%s: %s を実行できません: %m"
+
+#: login-utils/agetty.c:384
+msgid "can't malloc initstring"
+msgstr "文字列初期化用メモリが確保できません"
+
+#: login-utils/agetty.c:449
+#, c-format
+msgid "bad timeout value: %s"
+msgstr "不正なタイムアウト値: %s"
+
+#: login-utils/agetty.c:526
+#, c-format
+msgid "bad speed: %s"
+msgstr "不正な速度: %s"
+
+#: login-utils/agetty.c:528
+msgid "too many alternate speeds"
+msgstr "代替速度が多すぎます"
+
+#: login-utils/agetty.c:630
+#, c-format
+msgid "/dev: chdir() failed: %m"
+msgstr "/dev: chdir() が失敗: %m"
+
+#: login-utils/agetty.c:634
+#, c-format
+msgid "/dev/%s: not a character device"
+msgstr "/dev/%s: キャラクタデバイスではありません"
+
+#: login-utils/agetty.c:643
+#, c-format
+msgid "/dev/%s: cannot open as standard input: %m"
+msgstr "/dev/%s: 標準入力として開くことができません: %m"
+
+#: login-utils/agetty.c:653
+#, c-format
+msgid "%s: not open for read/write"
+msgstr "%s: 読み書き両用にオープンできません"
+
+#: login-utils/agetty.c:659
+#, c-format
+msgid "%s: dup problem: %m"
+msgstr "%s: 複製に問題発生: %m"
+
+#: login-utils/agetty.c:946
+#, c-format
+msgid "user"
+msgstr "ユーザ"
+
+#: login-utils/agetty.c:946
+#, c-format
+msgid "users"
+msgstr "ユーザ"
+
+#: login-utils/agetty.c:1031
+#, c-format
+msgid "%s: read: %m"
+msgstr "%s: read: %m"
+
+#: login-utils/agetty.c:1078
+#, c-format
+msgid "%s: input overrun"
+msgstr "%s: 入力が溢れました"
+
+#: login-utils/agetty.c:1207
+#, c-format
+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"
+
+#: login-utils/checktty.c:91 login-utils/checktty.c:112
+#, c-format
+msgid "login: memory low, login may fail\n"
+msgstr "login: メモリが少ないので、ログインに失敗するようです\n"
+
+#: login-utils/checktty.c:92
+msgid "can't malloc for ttyclass"
+msgstr "tty クラス用メモリが確保できません"
+
+#: login-utils/checktty.c:113
+msgid "can't malloc for grplist"
+msgstr "グループリスト用メモリが確保できません"
+
+#: login-utils/checktty.c:554
+#, c-format
+msgid "Login on %s from %s denied by default.\n"
+msgstr "%2$s から %1$s へのログインは、初期状態では拒否されました。\n"
+
+#: login-utils/checktty.c:565
+#, c-format
+msgid "Login on %s from %s denied.\n"
+msgstr "%2$s から %1$s へのログインは否定されました。\n"
+
+#: login-utils/chfn.c:133 login-utils/chsh.c:119
+#, c-format
+msgid "%s: you (user %d) don't exist.\n"
+msgstr "%s: あなた (ユーザ %d) は存在しません。\n"
+
+#: login-utils/chfn.c:140 login-utils/chsh.c:126
+#, c-format
+msgid "%s: user \"%s\" does not exist.\n"
+msgstr "%s: ユーザ \"%s\" は存在しません。\n"
+
+#: login-utils/chfn.c:145 login-utils/chsh.c:131
+#, c-format
+msgid "%s: can only change local entries; use yp%s instead.\n"
+msgstr ""
+"%s: ローカルの項目しか変更できません -- かわりに yp%s を使いましょう。\n"
+
+#: login-utils/chfn.c:156 login-utils/chsh.c:142
+msgid "Unknown user context"
+msgstr "不明なユーザーコンテキスト"
+
+#: login-utils/chfn.c:157
+#, c-format
+msgid "%s: %s is not authorized to change the finger info of %s\n"
+msgstr ""
+
+#: login-utils/chfn.c:164 login-utils/chsh.c:150
+#, c-format
+msgid "%s: Can't set default context for /etc/passwd"
+msgstr "%s: /etc/passwd のデフォルトコンテキストを設定できません"
+
+#: login-utils/chfn.c:178
+#, c-format
+msgid "Changing finger information for %s.\n"
+msgstr "%s の finger 情報を変更します。\n"
+
+#: login-utils/chfn.c:189 login-utils/chsh.c:188 login-utils/login.c:572
+#, c-format
+msgid "%s: PAM failure, aborting: %s\n"
+msgstr "%s: PAM 失敗。中断します: %s\n"
+
+#: login-utils/chfn.c:212 login-utils/chsh.c:211 login-utils/login.c:823
+#: login-utils/newgrp.c:85 login-utils/simpleinit.c:340 mount/lomount.c:744
+#: mount/lomount.c:747
+msgid "Password: "
+msgstr "パスワード: "
+
+#: login-utils/chfn.c:215 login-utils/chsh.c:214
+msgid "Incorrect password."
+msgstr "間違ったパスワードです。"
+
+#: login-utils/chfn.c:226
+#, c-format
+msgid "Finger information not changed.\n"
+msgstr "finger 情報は変更されませんでした。\n"
+
+#: login-utils/chfn.c:328
+#, c-format
+msgid "Usage: %s [ -f full-name ] [ -o office ] "
+msgstr "使い方: %s [ -f フルネーム ] [ -o オフィス ] "
+
+#: login-utils/chfn.c:329
+#, c-format
+msgid ""
+"[ -p office-phone ]\n"
+"\t[ -h home-phone ] "
+msgstr ""
+"[ -p オフィス電話番号 ]\n"
+"\t[ -h 自宅電話番号 ] "
+
+#: login-utils/chfn.c:330
+#, c-format
+msgid "[ --help ] [ --version ]\n"
+msgstr "[ --help ] [ --version ]\n"
+
+#: login-utils/chfn.c:378
+msgid "Office"
+msgstr "オフィス"
+
+#: login-utils/chfn.c:379
+msgid "Office Phone"
+msgstr "オフィスの電話"
+
+#: login-utils/chfn.c:380
+msgid "Home Phone"
+msgstr "自宅の電話"
+
+#: login-utils/chfn.c:401 login-utils/chsh.c:321
+#, c-format
+msgid ""
+"\n"
+"Aborted.\n"
+msgstr ""
+"\n"
+"中断。\n"
+
+#: login-utils/chfn.c:434
+#, c-format
+msgid "field is too long.\n"
+msgstr "フィールドが長すぎます。\n"
+
+#: login-utils/chfn.c:442
+#, c-format
+msgid "'%c' is not allowed.\n"
+msgstr "'%c' は許可されません。\n"
+
+#: login-utils/chfn.c:447
+#, c-format
+msgid "Control characters are not allowed.\n"
+msgstr "コントロール文字は許可されません。\n"
+
+#: login-utils/chfn.c:512
+#, c-format
+msgid "Finger information *NOT* changed.  Try again later.\n"
+msgstr "finger 情報は変更 *されませんでした*。またあとで試してください。\n"
+
+#: login-utils/chfn.c:515
+#, c-format
+msgid "Finger information changed.\n"
+msgstr "finger 情報を変更しました。\n"
+
+#: login-utils/chsh.c:143
+#, fuzzy, c-format
+msgid "%s: %s is not authorized to change the shell of %s\n"
+msgstr "%s: \"%s\" は /etc/shells リストの中にありません。\n"
+
+#: login-utils/chsh.c:164
+#, c-format
+msgid ""
+"%s: Running UID doesn't match UID of user we're altering, shell change "
+"denied\n"
+msgstr ""
+
+#: login-utils/chsh.c:170
+#, c-format
+msgid "%s: Your shell is not in /etc/shells, shell change denied\n"
+msgstr ""
+"%s: あなたのシェルは /etc/shells にありませんので、シェルの変更が拒否されまし"
+"た\n"
+
+#: login-utils/chsh.c:177
+#, c-format
+msgid "Changing shell for %s.\n"
+msgstr "%s のシェルを変更します。\n"
+
+#: login-utils/chsh.c:222
+msgid "New shell"
+msgstr "新しいシェル"
+
+#: login-utils/chsh.c:229
+#, c-format
+msgid "Shell not changed.\n"
+msgstr "シェルを変更しませんでした。\n"
+
+#: login-utils/chsh.c:235
+#, c-format
+msgid "Shell *NOT* changed.  Try again later.\n"
+msgstr "シェルは変更 *されませんでした*。あとでまた試してください。\n"
+
+#: login-utils/chsh.c:238
+#, c-format
+msgid "Shell changed.\n"
+msgstr "シェルを変更しました。\n"
+
+#: login-utils/chsh.c:303
+#, c-format
+msgid ""
+"Usage: %s [ -s shell ] [ --list-shells ] [ --help ] [ --version ]\n"
+"       [ username ]\n"
+msgstr ""
+"使い方: %s [ -s シェル ] [ --list-shells ] [ --help ] [ --version ]\n"
+"       [ ユーザ名 ]\n"
+
+#: login-utils/chsh.c:349
+#, c-format
+msgid "%s: shell must be a full path name.\n"
+msgstr "%s: シェルはフルパスで無ければなりません。\n"
+
+#: login-utils/chsh.c:353
+#, c-format
+msgid "%s: \"%s\" does not exist.\n"
+msgstr "%s: \"%s\" は存在しません。\n"
+
+#: login-utils/chsh.c:357
+#, c-format
+msgid "%s: \"%s\" is not executable.\n"
+msgstr "%s: \"%s\" は実行できません。\n"
+
+#: login-utils/chsh.c:364
+#, c-format
+msgid "%s: '%c' is not allowed.\n"
+msgstr "%s: '%c' は許可されません。\n"
+
+#: login-utils/chsh.c:368
+#, c-format
+msgid "%s: Control characters are not allowed.\n"
+msgstr "%s: コントロール文字は許可されません。\n"
+
+#: login-utils/chsh.c:375 login-utils/chsh.c:385
+#, c-format
+msgid "Warning: \"%s\" is not listed in /etc/shells.\n"
+msgstr "警告: \"%s\" は /etc/shells リストの中にありません。\n"
+
+#: login-utils/chsh.c:377
+#, c-format
+msgid "%s: \"%s\" is not listed in /etc/shells.\n"
+msgstr "%s: \"%s\" は /etc/shells リストの中にありません。\n"
+
+#: login-utils/chsh.c:379
+#, c-format
+msgid "%s: Use -l option to see list.\n"
+msgstr "%s: リストを見るには -l オプションを使ってください\n"
+
+#: login-utils/chsh.c:386
+#, c-format
+msgid "Use %s -l to see list.\n"
+msgstr "リストを見るには、%s -l を使ってください。\n"
+
+#: login-utils/chsh.c:406
+#, c-format
+msgid "No known shells.\n"
+msgstr "知らないシェルです。\n"
+
+#: login-utils/islocal.c:87
+#, c-format
+msgid "Failed to open %s for reading, exiting."
+msgstr "%s を読込み用に開けません。終了します"
+
+#: login-utils/last.c:148
+msgid "usage: last [-#] [-f file] [-t tty] [-h hostname] [user ...]\n"
+msgstr "使い方: last [-#] [-f ファイル] [-t 端末] [-h ホスト名] [ユーザ ...]\n"
+
+#: login-utils/last.c:284
+msgid "  still logged in"
+msgstr "  ログインしたままです"
+
+#: login-utils/last.c:306
+#, c-format
+msgid ""
+"\n"
+"wtmp begins %s"
+msgstr ""
+"\n"
+"wtmp は %s から始まります "
+
+#: login-utils/last.c:362 login-utils/last.c:380 login-utils/last.c:431
+msgid "last: malloc failure.\n"
+msgstr "last: メモリ確保に失敗。\n"
+
+#: login-utils/last.c:407
+msgid "last: gethostname"
+msgstr "last: gethostname"
+
+#: login-utils/last.c:456
+#, c-format
+msgid ""
+"\n"
+"interrupted %10.10s %5.5s \n"
+msgstr ""
+"\n"
+"割り込みが入りました %10.10s %5.5s \n"
+
+#: login-utils/login.c:197
+#, c-format
+msgid "FATAL: can't reopen tty: %s"
+msgstr "致命的なエラー: tty を再オープンできません: %s"
+
+#: login-utils/login.c:229
+msgid "FATAL: bad tty"
+msgstr "致命的なエラー: 不正な tty"
+
+#: login-utils/login.c:436
+#, c-format
+msgid "login: -h for super-user only.\n"
+msgstr "login: -h はスーパーユーザ専用です。\n"
+
+#: login-utils/login.c:479
+#, c-format
+msgid "usage: login [-fp] [username]\n"
+msgstr "使い方: login [-fp] [ユーザ名]\n"
+
+#: login-utils/login.c:574
+#, c-format
+msgid "Couldn't initialize PAM: %s"
+msgstr "PAM の初期化ができません: %s"
+
+#: login-utils/login.c:591
+msgid "login: "
+msgstr "ログイン: "
+
+#: login-utils/login.c:635
+#, c-format
+msgid "FAILED LOGIN %d FROM %s FOR %s, %s"
+msgstr "FAILED LOGIN %d FROM %s FOR %s, %s"
+
+#: login-utils/login.c:640
+#, c-format
+msgid ""
+"Login incorrect\n"
+"\n"
+msgstr ""
+"Login が間違っています\n"
+"\n"
+
+#: login-utils/login.c:649
+#, c-format
+msgid "TOO MANY LOGIN TRIES (%d) FROM %s FOR %s, %s"
+msgstr "*ログイントライが多すぎます* (%d) %s から %s へ, %s"
+
+#: login-utils/login.c:653
+#, c-format
+msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
+msgstr "失敗したログインセッション %s から %s へ, %s"
+
+#: login-utils/login.c:658
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+"\n"
+"Login が間違っています\n"
+
+#: login-utils/login.c:686 login-utils/login.c:693 login-utils/login.c:727
+#, c-format
+msgid ""
+"\n"
+"Session setup problem, abort.\n"
+msgstr ""
+"\n"
+"セッションセットアップに問題。中断します。\n"
+
+#: login-utils/login.c:687
+#, c-format
+msgid "NULL user name in %s:%d. Abort."
+msgstr "NULL ユーザ名が %s:%d にあります。中断します。"
+
+#: login-utils/login.c:694
+#, c-format
+msgid "Invalid user name \"%s\" in %s:%d. Abort."
+msgstr "無効なユーザ名 \"%s\" が %s:%d にあります。中断します"
+
+#: login-utils/login.c:713
+#, c-format
+msgid "login: Out of memory\n"
+msgstr "login: メモリが足りません\n"
+
+#: login-utils/login.c:757
+msgid "Illegal username"
+msgstr "不正なユーザ名"
+
+#: login-utils/login.c:800
+#, c-format
+msgid "%s login refused on this terminal.\n"
+msgstr "%s のログインはこの端末では拒否されました。\n"
+
+#: login-utils/login.c:805
+#, c-format
+msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
+msgstr "ログイン %s を拒絶、%s から TTY %s 上で"
+
+#: login-utils/login.c:809
+#, c-format
+msgid "LOGIN %s REFUSED ON TTY %s"
+msgstr "ログイン %s を拒絶、TTY %s 上で"
+
+#: login-utils/login.c:863
+#, c-format
+msgid "Login incorrect\n"
+msgstr "Login が間違っています\n"
+
+#: login-utils/login.c:1088
+#, c-format
+msgid "DIALUP AT %s BY %s"
+msgstr "ダイアルアップで %s に、%s による"
+
+#: login-utils/login.c:1095
+#, c-format
+msgid "ROOT LOGIN ON %s FROM %s"
+msgstr "%s に ROOT がログイン、%s から"
+
+#: login-utils/login.c:1098
+#, c-format
+msgid "ROOT LOGIN ON %s"
+msgstr "%s に ROOT がログイン"
+
+#: login-utils/login.c:1101
+#, c-format
+msgid "LOGIN ON %s BY %s FROM %s"
+msgstr "%s に %s がログイン、%s から"
+
+#: login-utils/login.c:1104
+#, c-format
+msgid "LOGIN ON %s BY %s"
+msgstr "%s に %s がログイン"
+
+#: login-utils/login.c:1125
+#, c-format
+msgid "You have new mail.\n"
+msgstr "新しいメイルが届いています。\n"
+
+#: login-utils/login.c:1127
+#, c-format
+msgid "You have mail.\n"
+msgstr "メイルが届いています。\n"
+
+#: login-utils/login.c:1171
+#, c-format
+msgid "login: failure forking: %s"
+msgstr "login: fork に失敗: %s"
+
+#: login-utils/login.c:1218
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr "TIOCSCTTY に失敗: %m"
+
+#: login-utils/login.c:1224
+msgid "setuid() failed"
+msgstr "setuid() に失敗"
+
+#: login-utils/login.c:1230
+#, c-format
+msgid "No directory %s!\n"
+msgstr "ディレクトリ %s がありません!\n"
+
+#: login-utils/login.c:1234
+#, c-format
+msgid "Logging in with home = \"/\".\n"
+msgstr "ホームディレクトリ \"/\" でログインします。\n"
+
+#: login-utils/login.c:1242
+#, c-format
+msgid "login: no memory for shell script.\n"
+msgstr "login: シェルスクリプト用のメモリがありません。\n"
+
+#: login-utils/login.c:1269
+#, c-format
+msgid "login: couldn't exec shell script: %s.\n"
+msgstr "login: シェルスクリプトを実行できませんでした: %s\n"
+
+#: login-utils/login.c:1272
+#, c-format
+msgid "login: no shell: %s.\n"
+msgstr "login: シェルがありません: %s.\n"
+
+#: login-utils/login.c:1287
+#, c-format
+msgid ""
+"\n"
+"%s login: "
+msgstr ""
+"\n"
+"%s ログイン: "
+
+#: login-utils/login.c:1298
+#, c-format
+msgid "login name much too long.\n"
+msgstr "ログイン名が長すぎます。\n"
+
+#: login-utils/login.c:1299
+msgid "NAME too long"
+msgstr "名前が長すぎます"
+
+#: login-utils/login.c:1306
+#, c-format
+msgid "login names may not start with '-'.\n"
+msgstr "ログイン名は '-' で始まっていてはいけません。\n"
+
+#: login-utils/login.c:1316
+#, c-format
+msgid "too many bare linefeeds.\n"
+msgstr "行送り(linefeed) が多すぎます。\n"
+
+#: login-utils/login.c:1317
+msgid "EXCESSIVE linefeeds"
+msgstr "過大な行送り(linefeed)"
+
+#: login-utils/login.c:1349
+#, c-format
+msgid "Login timed out after %d seconds\n"
+msgstr "%d 秒後にログインの時間切れ\n"
+
+#: login-utils/login.c:1437
+#, c-format
+msgid "Last login: %.*s "
+msgstr "最終ログイン: %.*s "
+
+#: login-utils/login.c:1441
+#, c-format
+msgid "from %.*s\n"
+msgstr " %.*s から\n"
+
+#: login-utils/login.c:1444
+#, c-format
+msgid "on %.*s\n"
+msgstr " %.*s 上\n"
+
+#: login-utils/login.c:1470
+#, c-format
+msgid "LOGIN FAILURE FROM %s, %s"
+msgstr "%s からのログインが失敗, %s"
+
+#: login-utils/login.c:1473
+#, c-format
+msgid "LOGIN FAILURE ON %s, %s"
+msgstr "%s でのログインが失敗, %s"
+
+#: login-utils/login.c:1477
+#, c-format
+msgid "%d LOGIN FAILURES FROM %s, %s"
+msgstr "%d 回 %s からのログインが失敗, %s"
+
+#: login-utils/login.c:1480
+#, c-format
+msgid "%d LOGIN FAILURES ON %s, %s"
+msgstr "%d 回 %s でのログインが失敗, %s"
+
+#: login-utils/mesg.c:89
+#, c-format
+msgid "is y\n"
+msgstr "は y です\n"
+
+#: login-utils/mesg.c:92
+#, c-format
+msgid "is n\n"
+msgstr "は n です\n"
+
+#: login-utils/mesg.c:112
+#, c-format
+msgid "usage: mesg [y | n]\n"
+msgstr "使い方: mesg [y | n]\n"
+
+#: login-utils/newgrp.c:105
+msgid "newgrp: Who are you?"
+msgstr "newgrp: あんた誰?"
+
+#: login-utils/newgrp.c:113 login-utils/newgrp.c:127
+msgid "newgrp: setgid"
+msgstr "newgrp: setgid"
+
+#: login-utils/newgrp.c:120 login-utils/newgrp.c:122
+msgid "newgrp: No such group."
+msgstr "newgrp: そのようなグループはありません。"
+
+#: login-utils/newgrp.c:131
+msgid "newgrp: Permission denied"
+msgstr "newgrp: 許可がありません"
+
+#: login-utils/newgrp.c:138
+msgid "newgrp: setuid"
+msgstr "newgrp: setuid"
+
+#: login-utils/newgrp.c:144
+msgid "No shell"
+msgstr "シェルがありません"
+
+#: login-utils/shutdown.c:115
+#, c-format
+msgid "Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+msgstr "使い方: shutdown [-h|-r] [-fqs] [now|hh:ss|+分]\n"
+
+#: login-utils/shutdown.c:133
+msgid "Shutdown process aborted"
+msgstr "シャットダウン処理は中断されました"
+
+#: login-utils/shutdown.c:164
+#, c-format
+msgid "%s: Only root can shut a system down.\n"
+msgstr "%s: root だけがシステムをシャットダウンできます。\n"
+
+#: login-utils/shutdown.c:258
+#, c-format
+msgid "That must be tomorrow, can't you wait till then?\n"
+msgstr "明日になってしまいますが、それまで待てないでしょ?\n"
+
+#: login-utils/shutdown.c:309
+msgid "for maintenance; bounce, bounce"
+msgstr "メンテナンス用 -- bounce, bouce"
+
+#: login-utils/shutdown.c:338
+msgid "The system is being shut down within 5 minutes"
+msgstr "システムは 5 分以内に遮断されます"
+
+#: login-utils/shutdown.c:342
+msgid "Login is therefore prohibited."
+msgstr "ログインはそれ故禁止されています。"
+
+#: login-utils/shutdown.c:364
+#, c-format
+msgid "rebooted by %s: %s"
+msgstr "%s による reboot: %s"
+
+#: login-utils/shutdown.c:367
+#, c-format
+msgid "halted by %s: %s"
+msgstr "%s による halt: %s"
+
+#: login-utils/shutdown.c:431
+msgid ""
+"\n"
+"Why am I still alive after reboot?"
+msgstr ""
+"\n"
+"なんでリブートしたのに、俺がまだ生きているんだ?"
+
+#: login-utils/shutdown.c:433
+msgid ""
+"\n"
+"Now you can turn off the power..."
+msgstr ""
+"\n"
+"さあ、電源を切ってもいいですよ..."
+
+#: login-utils/shutdown.c:449
+#, c-format
+msgid "Calling kernel power-off facility...\n"
+msgstr "カーネルの power-off 機能を呼び出しています...\n"
+
+#: login-utils/shutdown.c:452
+#, c-format
+msgid "Error powering off\t%s\n"
+msgstr "電源を切る際のエラー\t%s\n"
+
+#: login-utils/shutdown.c:460
+#, c-format
+msgid "Executing the program \"%s\" ...\n"
+msgstr "プログラム \"%s\" を実行しています...\n"
+
+#: login-utils/shutdown.c:463
+#, c-format
+msgid "Error executing\t%s\n"
+msgstr "実行エラー\t%s\n"
+
+#: login-utils/shutdown.c:490
+#, c-format
+msgid "URGENT: broadcast message from %s:"
+msgstr "緊急: %s からのメッセージ:"
+
+#: login-utils/shutdown.c:496
+#, c-format
+msgid "System going down in %d hours %d minutes"
+msgstr "システムは %d 時間 %d 分で終了します"
+
+#: login-utils/shutdown.c:499
+#, c-format
+msgid "System going down in 1 hour %d minutes"
+msgstr "システムは 1 時間 %d 分で終了します"
+
+#: login-utils/shutdown.c:502
+#, c-format
+msgid "System going down in %d minutes\n"
+msgstr "システムは %d 分で終了します\n"
+
+#: login-utils/shutdown.c:505
+#, c-format
+msgid "System going down in 1 minute\n"
+msgstr "システムは 1 分で終了します\n"
+
+#: login-utils/shutdown.c:507
+#, c-format
+msgid "System going down IMMEDIATELY!\n"
+msgstr "システムは*今すぐに*終了します!\n"
+
+#: login-utils/shutdown.c:512
+#, c-format
+msgid "\t... %s ...\n"
+msgstr "\t... %s ...\n"
+
+#: login-utils/shutdown.c:569
+msgid "Cannot fork for swapoff. Shrug!"
+msgstr "swapoff 子プロセスを起動できません。"
+
+#: login-utils/shutdown.c:577
+msgid "Cannot exec swapoff, hoping umount will do the trick."
+msgstr "swapoff を実行できませんので、アンマウントを飛ばすといいでしょう。"
+
+#: login-utils/shutdown.c:596
+msgid "Cannot fork for umount, trying manually."
+msgstr "umount 子プロセスを起動できません。手動を試してみます。"
+
+#: login-utils/shutdown.c:605
+#, c-format
+msgid "Cannot exec %s, trying umount.\n"
+msgstr "%s を実行できません。アンマウントを試みます。\n"
+
+#: login-utils/shutdown.c:609
+msgid "Cannot exec umount, giving up on umount."
+msgstr "umount を実行できません。アンマウントを諦めます。"
+
+#: login-utils/shutdown.c:614
+msgid "Unmounting any remaining filesystems..."
+msgstr "残りのファイルシステムをアンマウントします..."
+
+#: login-utils/shutdown.c:661
+#, c-format
+msgid "shutdown: Couldn't umount %s: %s\n"
+msgstr "shutdown: %s の umount ができませんでした: %s\n"
+
+#: login-utils/simpleinit.c:132
+msgid "Booting to single user mode.\n"
+msgstr "シングルユーザモードでブートします。\n"
+
+#: login-utils/simpleinit.c:136
+msgid "exec of single user shell failed\n"
+msgstr "シングルユーザシェルの実行に失敗しました\n"
+
+#: login-utils/simpleinit.c:140
+msgid "fork of single user shell failed\n"
+msgstr "シングルユーザシェルの fork に失敗しました\n"
+
+#: login-utils/simpleinit.c:208
+msgid "error opening fifo\n"
+msgstr "パイプのオープンでエラー発生\n"
+
+#: login-utils/simpleinit.c:212
+msgid "error setting close-on-exec on /dev/initctl"
+msgstr ""
+
+#: login-utils/simpleinit.c:259
+msgid "error running finalprog\n"
+msgstr "finalprog実行時にエラー発生\n"
+
+#: login-utils/simpleinit.c:263
+msgid "error forking finalprog\n"
+msgstr "finalprog の fork 時にエラー発生\n"
+
+#: login-utils/simpleinit.c:345
+msgid ""
+"\n"
+"Wrong password.\n"
+msgstr ""
+"\n"
+"間違ったパスワード。\n"
+
+#: login-utils/simpleinit.c:418
+msgid "lstat of path failed\n"
+msgstr "パスの lstat(2) が失敗しました\n"
+
+#: login-utils/simpleinit.c:426
+msgid "stat of path failed\n"
+msgstr "パスの stat(2) が失敗しました\n"
+
+#: login-utils/simpleinit.c:434
+msgid "open of directory failed\n"
+msgstr "ディレクトリのオープンが失敗しました\n"
+
+#: login-utils/simpleinit.c:501
+#, c-format
+msgid "respawning: \"%s\" too fast: quenching entry\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:509
+msgid "fork failed\n"
+msgstr "子プロセスの起動に失敗\n"
+
+#: login-utils/simpleinit.c:540 text-utils/more.c:1629
+msgid "exec failed\n"
+msgstr "実行に失敗\n"
+
+#: login-utils/simpleinit.c:564
+msgid "cannot open inittab\n"
+msgstr "inittab を開けません\n"
+
+#: login-utils/simpleinit.c:631
+msgid "no TERM or cannot stat tty\n"
+msgstr "端末がないか tty の状態を取得できません\n"
+
+#: login-utils/simpleinit.c:938
+#, c-format
+msgid "error stopping service: \"%s\"\n"
+msgstr "サービスを停止する際にエラーが発生しました: \"%s\"\n"
+
+#: login-utils/simpleinit.c:950
+#, c-format
+msgid "Stopped service: %s\n"
+msgstr "サービスを停止します: %s\n"
+
+#: login-utils/simpleinit.c:1070
+#, c-format
+msgid "error running programme: \"%s\"\n"
+msgstr "programme実行時にエラーが発生しました: \"%s\"\n"
+
+#: login-utils/ttymsg.c:75
+msgid "too many iov's (change code in wall/ttymsg.c)"
+msgstr "iov が多すぎます (wall/ttymsg.c のコードを変更してください)"
+
+#: login-utils/ttymsg.c:85
+#, c-format
+msgid "excessively long line arg"
+msgstr "行引数が長すぎます"
+
+#: login-utils/ttymsg.c:140
+#, c-format
+msgid "cannot fork"
+msgstr "子プロセスを起動できません"
+
+#: login-utils/ttymsg.c:144
+#, c-format
+msgid "fork: %s"
+msgstr "fork: %s"
+
+#: login-utils/ttymsg.c:174
+#, c-format
+msgid "%s: BAD ERROR"
+msgstr "%s: *不正なエラー*"
+
+#: login-utils/vipw.c:143
+#, c-format
+msgid "%s: the password file is busy.\n"
+msgstr "%s: パスワードファイルは使用中です。\n"
+
+#: login-utils/vipw.c:146
+#, c-format
+msgid "%s: the group file is busy.\n"
+msgstr "%s: グループファイルは使用中です。\n"
+
+#: login-utils/vipw.c:162
+#, c-format
+msgid "%s: the %s file is busy (%s present)\n"
+msgstr "%s: そのファイル %s は使用中です (現在は %s)\n"
+
+#: login-utils/vipw.c:168
+#, c-format
+msgid "%s: can't link %s: %s\n"
+msgstr "%s: %s をリンクできません: %s\n"
+
+#: login-utils/vipw.c:202
+#, c-format
+msgid "%s: Can't get context for %s"
+msgstr "%s: %s のコンテキストを取得できません"
+
+#: login-utils/vipw.c:208
+#, c-format
+msgid "%s: Can't set context for %s"
+msgstr "%s: %s のコンテキストを設定できません"
+
+#: login-utils/vipw.c:217
+#, c-format
+msgid "%s: can't unlock %s: %s (your changes are still in %s)\n"
+msgstr "%s: %s のロックを解除できません: %s (変更は %s のままです)\n"
+
+#: login-utils/vipw.c:240
+#, c-format
+msgid "%s: Cannot fork\n"
+msgstr "%s: 子プロセスを起動できません\n"
+
+#: login-utils/vipw.c:276
+#, c-format
+msgid "%s: %s unchanged\n"
+msgstr "%s: %s は変更されませんでした\n"
+
+#: login-utils/vipw.c:297
+#, c-format
+msgid "%s: no changes made\n"
+msgstr "%s: 変更されませんでした\n"
+
+#: login-utils/vipw.c:350
+#, c-format
+msgid "You are using shadow groups on this system.\n"
+msgstr "このシステムではシャドウグループが使われています。\n"
+
+#: login-utils/vipw.c:351
+#, c-format
+msgid "You are using shadow passwords on this system.\n"
+msgstr "このシステムではシャドウパスワードが使われています。\n"
+
+#: login-utils/vipw.c:352
+#, c-format
+msgid "Would you like to edit %s now [y/n]? "
+msgstr "今すぐ %s を編集しますか [y/n]? "
+
+#: login-utils/wall.c:112
+#, c-format
+msgid "usage: %s [file]\n"
+msgstr "使い方: %s [ファイル]\n"
+
+#: login-utils/wall.c:167
+#, c-format
+msgid "%s: can't open temporary file.\n"
+msgstr "%s: 一時ファイルをオープンできません。\n"
+
+#: login-utils/wall.c:194
+#, c-format
+msgid "Broadcast Message from %s@%s"
+msgstr "%s@%s から流れてきたメッセージ"
+
+#: login-utils/wall.c:212
+#, c-format
+msgid "%s: will not read %s - use stdin.\n"
+msgstr "%s: %s を読みません - 標準入力を使いましょう。\n"
+
+#: login-utils/wall.c:217
+#, c-format
+msgid "%s: can't read %s.\n"
+msgstr "%s: %s を読めません。\n"
+
+#: login-utils/wall.c:240
+#, c-format
+msgid "%s: can't stat temporary file.\n"
+msgstr "%s: 一時ファイルの情報を取得できません。\n"
+
+#: login-utils/wall.c:250
+#, c-format
+msgid "%s: can't read temporary file.\n"
+msgstr "%s: 一時ファイルを読めません。\n"
+
+#: misc-utils/cal.c:362 misc-utils/cal.c:374
+#, c-format
+msgid "illegal day value: use 1-%d"
+msgstr "不正な日: 1-%d を使ってください"
+
+#: misc-utils/cal.c:366
+msgid "illegal month value: use 1-12"
+msgstr "不正な月: 1-12 を使ってください"
+
+#: misc-utils/cal.c:370
+msgid "illegal year value: use 1-9999"
+msgstr "不正な年: 1-9999 を使ってください"
+
+#: misc-utils/cal.c:464
+#, c-format
+msgid "%s %d"
+msgstr "%s %d"
+
+#: misc-utils/cal.c:856
+#, c-format
+msgid "usage: cal [-13smjyV] [[[day] month] year]\n"
+msgstr "使い方: cal [-13smjyV] [[[日] 月] 年]\n"
+
+#: misc-utils/ddate.c:203
+#, c-format
+msgid "usage: %s [+format] [day month year]\n"
+msgstr "使い方: %s [+書式] [日 月 年]\n"
+
+#: misc-utils/ddate.c:250
+msgid "St. Tib's Day"
+msgstr "聖 Tib の日"
+
+#: misc-utils/findfs.c:24
+#, c-format
+msgid "Usage: %s LABEL=<label>|UUID=<uuid>\n"
+msgstr "使い方: %s LABEL=<label>|UUID=<uuid>\n"
+
+#: misc-utils/findfs.c:55
+#, c-format
+msgid "unable to resolve '%s'"
+msgstr "'%s' を解決できません"
+
+#: misc-utils/kill.c:207
+#, c-format
+msgid "%s: unknown signal %s\n"
+msgstr "%s: 不明なシグナル %s\n"
+
+#: misc-utils/kill.c:270
+#, c-format
+msgid "%s: can't find process \"%s\"\n"
+msgstr "%s: プロセス \"%s\" を見つけられません\n"
+
+#: misc-utils/kill.c:314
+#, c-format
+msgid "%s: unknown signal %s; valid signals:\n"
+msgstr "%s: 不明なシグナル %s -- 正常なシグナル:\n"
+
+#: misc-utils/kill.c:354
+#, c-format
+msgid "usage: %s [ -s signal | -p ] [ -a ] pid ...\n"
+msgstr "使い方: %s [ -s シグナル | -p ] [ -a ] プロセスID ...\n"
+
+#: misc-utils/kill.c:355
+#, c-format
+msgid "       %s -l [ signal ]\n"
+msgstr "        %s -l [ シグナル ]\n"
+
+#: misc-utils/logger.c:67
+#, c-format
+msgid "logger: openlog: pathname too long\n"
+msgstr "logger: openlog: パス名が長すぎます\n"
+
+#: misc-utils/logger.c:75
+#, c-format
+msgid "socket: %s.\n"
+msgstr "ソケット: %s.\n"
+
+#: misc-utils/logger.c:80
+#, c-format
+msgid "connect: %s.\n"
+msgstr "connect: %s.\n"
+
+#: misc-utils/logger.c:139
+#, c-format
+msgid "logger: %s: %s.\n"
+msgstr "logger: %s: %s.\n"
+
+#: misc-utils/logger.c:246
+#, c-format
+msgid "logger: unknown facility name: %s.\n"
+msgstr "logger: 不明な要素名: %s.\n"
+
+#: misc-utils/logger.c:258
+#, c-format
+msgid "logger: unknown priority name: %s.\n"
+msgstr "logger: 不明な優先度: %s.\n"
+
+#: misc-utils/logger.c:285
+#, c-format
+msgid ""
+"usage: logger [-is] [-f file] [-p pri] [-t tag] [-u socket] [ message ... ]\n"
+msgstr ""
+"使い方: logger [-is] [-f ファイル] [-p 優先度] [-t タグ] [-u ソケット] [ メッ"
+"セージ ... ]\n"
+
+#: misc-utils/look.c:351
+#, c-format
+msgid "usage: look [-dfa] [-t char] string [file]\n"
+msgstr "使い方: look [-dfa] [-t キャラクタ] 文字列 [ファイル]\n"
+
+#: misc-utils/mcookie.c:105 misc-utils/mcookie.c:132
+#, c-format
+msgid "Could not open %s\n"
+msgstr "%s をオープンできません\n"
+
+#: misc-utils/mcookie.c:109 misc-utils/mcookie.c:128
+#, c-format
+msgid "Got %d bytes from %s\n"
+msgstr "%2$s から %1$d バイト取得しました\n"
+
+#: misc-utils/namei.c:144 misc-utils/namei.c:198 misc-utils/namei.c:220
+#: misc-utils/namei.c:227 misc-utils/namei.c:248
+msgid "out of memory?"
+msgstr "メモリが足りない?"
+
+#: misc-utils/namei.c:189
+#, c-format
+msgid "failed to read symlink: %s"
+msgstr "symlink の読み込みに失敗しました: %s"
+
+#: misc-utils/namei.c:229
+#, c-format
+msgid "could not stat '%s'"
+msgstr "'%s' を stat できません"
+
+#: misc-utils/namei.c:411
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [options] pathname [pathname ...]\n"
+msgstr ""
+"\n"
+"使い方: %s [オプション] パス名 [パス名 ...]\n"
+
+#: misc-utils/namei.c:412
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"オブション:\n"
+
+#: misc-utils/namei.c:415
+#, c-format
+msgid ""
+" -h, --help          displays this help text\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:423
+#, c-format
+msgid ""
+"\n"
+"For more information see namei(1).\n"
+msgstr ""
+"\n"
+"詳細情報は、namei(1) を確認してください。\n"
+
+#: misc-utils/namei.c:484
+#, c-format
+msgid "failed to stat: %s"
+msgstr "stat が失敗しました: %s"
+
+#: misc-utils/namei.c:495
+#, c-format
+msgid "%s: exceeded limit of symlinks"
+msgstr ""
+
+#: misc-utils/rename.c:38
+#, c-format
+msgid "%s: out of memory\n"
+msgstr "%s: メモリが足りません\n"
+
+#: misc-utils/rename.c:56
+#, c-format
+msgid "%s: renaming %s to %s failed: %s\n"
+msgstr "%s: %s から %s への名前の変更に失敗しました: %s\n"
+
+#: misc-utils/rename.c:86
+#, c-format
+msgid "call: %s from to files...\n"
+msgstr "call: %s from to files...\n"
+
+#: misc-utils/script.c:110
+#, c-format
+msgid ""
+"Warning: `%s' is a link.\n"
+"Use `%s [options] %s' if you really want to use it.\n"
+"Script not started.\n"
+msgstr ""
+"警告: `%s' はシンボリックリンクです。\n"
+"本当にそれを使いたいなら `%s [オプション] %s' を使いましょう\n"
+"Script は開始しませんでした。\n"
+
+#: misc-utils/script.c:173
+#, c-format
+msgid "usage: script [-a] [-f] [-q] [-t] [file]\n"
+msgstr "使い方: script [-a] [-f] [-q] [-t] [ファイル]\n"
+
+#: misc-utils/script.c:196
+#, c-format
+msgid "Script started, file is %s\n"
+msgstr "スクリプトを開始しました、ファイルは %s です\n"
+
+#: misc-utils/script.c:244
+#, c-format
+msgid "%s: write error %d: %s\n"
+msgstr "%s: 書き込みエラー %d: %s\n"
+
+#: misc-utils/script.c:304
+#, c-format
+msgid "Script started on %s"
+msgstr "スクリプトは %s に開始しました"
+
+#: misc-utils/script.c:347
+#, c-format
+msgid "%s: write error: %s\n"
+msgstr "%s: 書き込みエラー: %s\n"
+
+#: misc-utils/script.c:354
+#, c-format
+msgid "%s: cannot write script file, error: %s\n"
+msgstr "%s: スクリプトファイルを書き込むことが出来ません。エラー: %s \n"
+
+#: misc-utils/script.c:430
+#, c-format
+msgid ""
+"\n"
+"Script done on %s"
+msgstr ""
+"\n"
+"スクリプトは %s に終了しました"
+
+#: misc-utils/script.c:437
+#, c-format
+msgid "Script done, file is %s\n"
+msgstr "スクリプトを終了しました、ファイルは %s です\n"
+
+#: misc-utils/script.c:448
+#, c-format
+msgid "openpty failed\n"
+msgstr "openpty が失敗\n"
+
+#: misc-utils/script.c:482
+#, c-format
+msgid "Out of pty's\n"
+msgstr "利用できる pty がありません\n"
+
+#: misc-utils/scriptreplay.c:38
+#, c-format
+msgid "%s <timingfile> [<typescript> [<divisor>]]\n"
+msgstr "%s <timingfile> [<typescript> [<divisor>]]\n"
+
+#: misc-utils/scriptreplay.c:53
+#, c-format
+msgid "expected a number, but got '%s'"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:56 misc-utils/scriptreplay.c:60
+#, c-format
+msgid "divisor '%s'"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:104
+msgid "write to stdout failed"
+msgstr "標準出力への書き込みが失敗しました"
+
+#: misc-utils/scriptreplay.c:110
+#, c-format
+msgid "unexpected end of file on %s"
+msgstr "%sで予期しないファイルの終端"
+
+#: misc-utils/scriptreplay.c:112
+#, c-format
+msgid "failed to read typescript file %s"
+msgstr "typescript ファイル %s の読み込みが失敗しました"
+
+#: misc-utils/scriptreplay.c:145
+#, fuzzy, c-format
+msgid "cannot open timing file %s"
+msgstr "ファイル '%s' を開けません"
+
+#: misc-utils/scriptreplay.c:148
+#, c-format
+msgid "cannot open typescript file %s"
+msgstr "typescript ファイル %s を開けません"
+
+#: misc-utils/scriptreplay.c:164
+#, fuzzy, c-format
+msgid "failed to read timing file %s"
+msgstr "%s から時刻を読込むための ioctl() に失敗しました"
+
+#: misc-utils/scriptreplay.c:166
+#, fuzzy, c-format
+msgid "timings file %s: %lu: unexpected format"
+msgstr "%s: 予期しないファイル形式"
+
+#: misc-utils/setterm.c:763
+#, c-format
+msgid "%s: Argument error, usage\n"
+msgstr "%s: 引数エラー、使い方は\n"
+
+#: misc-utils/setterm.c:766
+#, c-format
+msgid "  [ -term terminal_name ]\n"
+msgstr "  [ -term 端末名 ]\n"
+
+#: misc-utils/setterm.c:767
+#, c-format
+msgid "  [ -reset ]\n"
+msgstr "  [ -reset ]\n"
+
+#: misc-utils/setterm.c:768
+#, c-format
+msgid "  [ -initialize ]\n"
+msgstr "  [ -initialize ]\n"
+
+#: misc-utils/setterm.c:769
+#, c-format
+msgid "  [ -cursor [on|off] ]\n"
+msgstr "  [ -cursor [on|off] ]\n"
+
+#: misc-utils/setterm.c:771
+#, c-format
+msgid "  [ -snow [on|off] ]\n"
+msgstr "  [ -snow [on|off] ]\n"
+
+#: misc-utils/setterm.c:772
+#, c-format
+msgid "  [ -softscroll [on|off] ]\n"
+msgstr "  [ -softscroll [on|off] ]\n"
+
+#: misc-utils/setterm.c:774
+#, c-format
+msgid "  [ -repeat [on|off] ]\n"
+msgstr "  [ -repeat [on|off] ]\n"
+
+#: misc-utils/setterm.c:775
+#, c-format
+msgid "  [ -appcursorkeys [on|off] ]\n"
+msgstr "  [ -appcursorkeys [on|off] ]\n"
+
+#: misc-utils/setterm.c:776
+#, c-format
+msgid "  [ -linewrap [on|off] ]\n"
+msgstr "  [ -linewrap [on|off] ]\n"
+
+#: misc-utils/setterm.c:777
+#, c-format
+msgid "  [ -default ]\n"
+msgstr "  [ -default ]\n"
+
+#: misc-utils/setterm.c:778
+#, c-format
+msgid "  [ -foreground black|blue|green|cyan"
+msgstr "  [ -foreground black|blue|green|cyan"
+
+#: misc-utils/setterm.c:779 misc-utils/setterm.c:781
+#, c-format
+msgid "|red|magenta|yellow|white|default ]\n"
+msgstr "|red|magenta|yellow|white|default ]\n"
+
+#: misc-utils/setterm.c:780
+#, c-format
+msgid "  [ -background black|blue|green|cyan"
+msgstr "  [ -background black|blue|green|cyan"
+
+#: misc-utils/setterm.c:782
+#, c-format
+msgid "  [ -ulcolor black|grey|blue|green|cyan"
+msgstr "  [ -ulcolor black|grey|blue|green|cyan"
+
+#: misc-utils/setterm.c:783 misc-utils/setterm.c:785 misc-utils/setterm.c:787
+#: misc-utils/setterm.c:789
+#, c-format
+msgid "|red|magenta|yellow|white ]\n"
+msgstr "|red|magenta|yellow|white ]\n"
+
+#: misc-utils/setterm.c:784
+#, c-format
+msgid "  [ -ulcolor bright blue|green|cyan"
+msgstr "  [ -ulcolor bright blue|green|cyan"
+
+#: misc-utils/setterm.c:786
+#, c-format
+msgid "  [ -hbcolor black|grey|blue|green|cyan"
+msgstr "  [ -hbcolor black|grey|blue|green|cyan"
+
+#: misc-utils/setterm.c:788
+#, c-format
+msgid "  [ -hbcolor bright blue|green|cyan"
+msgstr "  [ -hbcolor bright blue|green|cyan"
+
+#: misc-utils/setterm.c:791
+#, c-format
+msgid "  [ -standout [ attr ] ]\n"
+msgstr "  [ -standout [ attr ] ]\n"
+
+#: misc-utils/setterm.c:793
+#, c-format
+msgid "  [ -inversescreen [on|off] ]\n"
+msgstr "  [ -inversescreen [on|off] ]\n"
+
+#: misc-utils/setterm.c:794
+#, c-format
+msgid "  [ -bold [on|off] ]\n"
+msgstr "  [ -bold [on|off] ]\n"
+
+#: misc-utils/setterm.c:795
+#, c-format
+msgid "  [ -half-bright [on|off] ]\n"
+msgstr "  [ -half-bright [on|off] ]\n"
+
+#: misc-utils/setterm.c:796
+#, c-format
+msgid "  [ -blink [on|off] ]\n"
+msgstr "  [ -blink [on|off] ]\n"
+
+#: misc-utils/setterm.c:797
+#, c-format
+msgid "  [ -reverse [on|off] ]\n"
+msgstr "  [ -reverse [on|off] ]\n"
+
+#: misc-utils/setterm.c:798
+#, c-format
+msgid "  [ -underline [on|off] ]\n"
+msgstr "  [ -underline [on|off] ]\n"
+
+#: misc-utils/setterm.c:799
+#, c-format
+msgid "  [ -store ]\n"
+msgstr "  [ -store ]\n"
+
+#: misc-utils/setterm.c:800
+#, c-format
+msgid "  [ -clear [all|rest] ]\n"
+msgstr "  [ -clear [all|rest] ]\n"
+
+#: misc-utils/setterm.c:801
+#, c-format
+msgid "  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n"
+msgstr "  [ -tabs [ タブ1 タブ2 タブ3 ... ] ]      (タブ数 = 1-160)\n"
+
+#: misc-utils/setterm.c:802
+#, c-format
+msgid "  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n"
+msgstr "  [ -clrtabs [ タブ1 タブ2 タブ3 ... ] ]   (タブ数 = 1-160)\n"
+
+#: misc-utils/setterm.c:803
+#, c-format
+msgid "  [ -regtabs [1-160] ]\n"
+msgstr "  [ -regtabs [1-160] ]\n"
+
+#: misc-utils/setterm.c:804
+#, c-format
+msgid "  [ -blank [0-60|force|poke] ]\n"
+msgstr "  [ -blank [0-60|force|poke] ]\n"
+
+#: misc-utils/setterm.c:805
+#, c-format
+msgid "  [ -dump   [1-NR_CONSOLES] ]\n"
+msgstr "  [ -dump   [1-NR_CONSOLES] ]\n"
+
+#: misc-utils/setterm.c:806
+#, c-format
+msgid "  [ -append [1-NR_CONSOLES] ]\n"
+msgstr "  [ -append [1-NR_CONSOLES] ]\n"
+
+#: misc-utils/setterm.c:807
+#, c-format
+msgid "  [ -file dumpfilename ]\n"
+msgstr "  [ -file ダンプファイル名 ]\n"
+
+#: misc-utils/setterm.c:808
+#, c-format
+msgid "  [ -msg [on|off] ]\n"
+msgstr "  [ -msg [on|off] ]\n"
+
+#: misc-utils/setterm.c:809
+#, c-format
+msgid "  [ -msglevel [0-8] ]\n"
+msgstr "  [ -msglevel [0-8] ]\n"
+
+#: misc-utils/setterm.c:810
+#, c-format
+msgid "  [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+msgstr "  [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+
+#: misc-utils/setterm.c:811
+#, c-format
+msgid "  [ -powerdown [0-60] ]\n"
+msgstr "  [ -powerdown [0-60] ]\n"
+
+#: misc-utils/setterm.c:812
+#, c-format
+msgid "  [ -blength [0-2000] ]\n"
+msgstr "  [ -blength [0-2000] ]\n"
+
+#: misc-utils/setterm.c:813
+#, c-format
+msgid "  [ -bfreq freqnumber ]\n"
+msgstr "  [ -bfreq freqnumber ]\n"
+
+#: misc-utils/setterm.c:1065
+#, fuzzy, c-format
+msgid "cannot force blank\n"
+msgstr "子プロセスを起動できません"
+
+#: misc-utils/setterm.c:1069
+#, fuzzy, c-format
+msgid "cannot force unblank\n"
+msgstr "子プロセスを起動できません"
+
+#: misc-utils/setterm.c:1075
+#, fuzzy, c-format
+msgid "cannot get blank status\n"
+msgstr "%s を%sでオープンできません\n"
+
+#: misc-utils/setterm.c:1087
+#, c-format
+msgid "cannot (un)set powersave mode\n"
+msgstr "パワーセーブモードに設定(又は解除)できません\n"
+
+#: misc-utils/setterm.c:1126 misc-utils/setterm.c:1134
+#, c-format
+msgid "klogctl error: %s\n"
+msgstr "klogctl エラー: %s\n"
+
+#: misc-utils/setterm.c:1200
+#, c-format
+msgid "Error writing screendump\n"
+msgstr "スクリーンダンプ書き込みエラー\n"
+
+#: misc-utils/setterm.c:1207
+#, c-format
+msgid "Couldn't read %s\n"
+msgstr "%s を読み込むことができません\n"
+
+#: misc-utils/setterm.c:1261
+#, c-format
+msgid "%s: $TERM is not defined.\n"
+msgstr "%s: $TERM が定義されていません。\n"
+
+#: misc-utils/uuidd.c:46
+#, fuzzy, c-format
+msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n"
+msgstr "使い方: last [-#] [-f ファイル] [-t 端末] [-h ホスト名] [ユーザ ...]\n"
+
+#: misc-utils/uuidd.c:48
+#, c-format
+msgid "       %s [-r|t] [-n num] [-s socketpath]\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:50
+#, fuzzy, c-format
+msgid "       %s -k\n"
+msgstr "        %s -l [ シグナル ]\n"
+
+#: misc-utils/uuidd.c:152
+#, fuzzy
+msgid "bad arguments"
+msgstr "col: 不正な -l の引数 %s です。\n"
+
+#: misc-utils/uuidd.c:159
+#, fuzzy
+msgid "socket"
+msgstr "nfs ソケット"
+
+#: misc-utils/uuidd.c:170
+#, fuzzy
+msgid "connect"
+msgstr "nfs 接続"
+
+#: misc-utils/uuidd.c:189
+#, fuzzy
+msgid "write"
+msgstr "書き込み"
+
+#: misc-utils/uuidd.c:197
+#, fuzzy
+msgid "read count"
+msgstr "%c を読込み\n"
+
+#: misc-utils/uuidd.c:203
+#, fuzzy
+msgid "bad response length"
+msgstr "悪いファイル名の長さ"
+
+#: misc-utils/uuidd.c:268
+#, c-format
+msgid "uuidd daemon already running at pid %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:276
+#, c-format
+msgid "Couldn't create unix stream socket: %s"
+msgstr ""
+
+#: misc-utils/uuidd.c:305
+#, fuzzy, c-format
+msgid "Couldn't bind unix socket %s: %s\n"
+msgstr "%s を開けません: %s\n"
+
+#: misc-utils/uuidd.c:313
+#, fuzzy, c-format
+msgid "Couldn't listen on unix socket %s: %s\n"
+msgstr "%s を開けません: %s\n"
+
+#: misc-utils/uuidd.c:351
+#, fuzzy, c-format
+msgid "Error reading from client, len = %d\n"
+msgstr "%s の読込みエラー\n"
+
+#: misc-utils/uuidd.c:359
+#, c-format
+msgid "operation %d, incoming num = %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:378
+#, c-format
+msgid "Generated time UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:388
+#, c-format
+msgid "Generated random UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:397
+#, c-format
+msgid "Generated time UUID %s and %d following\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:415
+#, c-format
+msgid "Generated %d UUID's:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:427
+#, fuzzy, c-format
+msgid "Invalid operation %d\n"
+msgstr "不正なオプション"
+
+#: misc-utils/uuidd.c:468 misc-utils/uuidd.c:489
+#, fuzzy, c-format
+msgid "Bad number: %s\n"
+msgstr "不正な数: %s\n"
+
+#: misc-utils/uuidd.c:524 misc-utils/uuidd.c:551
+#, fuzzy, c-format
+msgid "Error calling uuidd daemon (%s): %s\n"
+msgstr "%s のモード変更エラー: %s\n"
+
+#: misc-utils/uuidd.c:534
+#, c-format
+msgid "%s and subsequent %d UUID's\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:536
+#, c-format
+msgid "List of UUID's:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:557
+#, c-format
+msgid "Unexpected reply length from server %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:574
+#, c-format
+msgid "Couldn't kill uuidd running at pid %d: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:580
+#, c-format
+msgid "Killed uuidd running at pid %d\n"
+msgstr ""
+
+#: misc-utils/uuidgen.c:32
+#, fuzzy, c-format
+msgid "Usage: %s [-r] [-t]\n"
+msgstr "使い方: %s [オプション]\n"
+
+#: misc-utils/whereis.c:159
+#, c-format
+msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
+msgstr "whereis [ -sbmu ] [ -SBM ディレクトリ ... -f ] 名前 ...\n"
+
+#: misc-utils/write.c:101
+#, c-format
+msgid "write: can't find your tty's name\n"
+msgstr "write: あなたの tty の名前を見つけられません\n"
+
+#: misc-utils/write.c:112
+#, c-format
+msgid "write: you have write permission turned off.\n"
+msgstr "write: あなたは書き込み権限をオフにしたままです。\n"
+
+#: misc-utils/write.c:133
+#, c-format
+msgid "write: %s is not logged in on %s.\n"
+msgstr "write: %s は %s にログインしていません。\n"
+
+#: misc-utils/write.c:141
+#, c-format
+msgid "write: %s has messages disabled on %s\n"
+msgstr "write %s は %s ではメッセージを無効にしています\n"
+
+#: misc-utils/write.c:148
+#, c-format
+msgid "usage: write user [tty]\n"
+msgstr "使い方: write ユーザ [tty]\n"
+
+#: misc-utils/write.c:236
+#, c-format
+msgid "write: %s is not logged in\n"
+msgstr "write %s はログインしていません\n"
+
+#: misc-utils/write.c:245
+#, c-format
+msgid "write: %s has messages disabled\n"
+msgstr "write: %s はメッセージを無効にしています\n"
+
+#: misc-utils/write.c:249
+#, c-format
+msgid "write: %s is logged in more than once; writing to %s\n"
+msgstr "write: %s は複数ログインしています -- %s に write します\n"
+
+#: misc-utils/write.c:317
+#, c-format
+msgid "Message from %s@%s (as %s) on %s at %s ..."
+msgstr "メッセージ from %s@%s (%s として) on %s at %s ..."
+
+#: misc-utils/write.c:320
+#, c-format
+msgid "Message from %s@%s on %s at %s ..."
+msgstr "メッセージ from %s@%s on %s at %s ..."
+
+#: mount/fstab.c:143
+#, c-format
+msgid "warning: error reading %s: %s"
+msgstr "警告: %s の読込みエラー: %s"
+
+#: mount/fstab.c:171 mount/fstab.c:196
+#, c-format
+msgid "warning: can't open %s: %s"
+msgstr "警告: %s がオープンできません: %s"
+
+#: mount/fstab.c:176
+#, c-format
+msgid "mount: could not open %s - using %s instead\n"
+msgstr "mount: %s をオープンできませんでした -- 代りに %s を使います\n"
+
+#: mount/fstab.c:589
+#, c-format
+msgid "can't create lock file %s: %s (use -n flag to override)"
+msgstr "ロックファイル %s を作成できません: %s (-n フラグを使ってください)"
+
+#: mount/fstab.c:615
+#, c-format
+msgid "can't link lock file %s: %s (use -n flag to override)"
+msgstr "ロックファイル %s をリンクできません: %s (-n フラグを使ってください)"
+
+#: mount/fstab.c:631
+#, c-format
+msgid "can't open lock file %s: %s (use -n flag to override)"
+msgstr "ロックファイル %s を開けません: %s (-n フラグを使ってください)"
+
+#: mount/fstab.c:646
+#, c-format
+msgid "Can't lock lock file %s: %s\n"
+msgstr "ロックファイル %s をロックできません: %s\n"
+
+#: mount/fstab.c:660
+#, c-format
+msgid "can't lock lock file %s: %s"
+msgstr "ロックファイル %s をロックできません: %s"
+
+#: mount/fstab.c:662
+msgid "timed out"
+msgstr "タイムアウト"
+
+#: mount/fstab.c:669
+#, c-format
+msgid ""
+"Cannot create link %s\n"
+"Perhaps there is a stale lock file?\n"
+msgstr ""
+"リンク %s を作成できません\n"
+"多分、ゴミと化したロックファイルがあるのでは ?\n"
+
+#: mount/fstab.c:791 mount/fstab.c:846
+#, c-format
+msgid "cannot open %s (%s) - mtab not updated"
+msgstr "%s を開けません (%s) -- mtab は更新されません"
+
+#: mount/fstab.c:855
+#, c-format
+msgid "error writing %s: %s"
+msgstr "%s への書き込みエラー: %s"
+
+#: mount/fstab.c:873
+#, c-format
+msgid "error changing mode of %s: %s\n"
+msgstr "%s のモード変更エラー: %s\n"
+
+#: mount/fstab.c:886
+#, fuzzy, c-format
+msgid "error changing owner of %s: %s\n"
+msgstr "%s のモード変更エラー: %s\n"
+
+#: mount/fstab.c:897
+#, c-format
+msgid "can't rename %s to %s: %s\n"
+msgstr "%s の名前を %s に変更できません: %s\n"
+
+#: mount/lomount.c:364
+#, fuzzy, c-format
+msgid "loop: can't set capacity on device %s: %s\n"
+msgstr "loop: デバイス %s の情報を取得できません: %s\n"
+
+#: mount/lomount.c:388
+#, c-format
+msgid ", offset %<PRIu64>"
+msgstr ", offset %<PRIu64>"
+
+#: mount/lomount.c:391
+#, c-format
+msgid ", sizelimit %<PRIu64>"
+msgstr ", sizelimit %<PRIu64>"
+
+#: mount/lomount.c:399
+#, c-format
+msgid ", encryption %s (type %<PRIu32>)"
+msgstr ", 暗号 %s (タイプ %<PRIu32>)"
+
+#: mount/lomount.c:412
+#, c-format
+msgid ", offset %d"
+msgstr ", オフセット %d"
+
+#: mount/lomount.c:415
+#, c-format
+msgid ", encryption type %d\n"
+msgstr ", 暗号タイプ %d\n"
+
+#: mount/lomount.c:423
+#, c-format
+msgid "loop: can't get info on device %s: %s\n"
+msgstr "loop: デバイス %s の情報を取得できません: %s\n"
+
+#: mount/lomount.c:434
+#, c-format
+msgid "loop: can't open device %s: %s\n"
+msgstr "loop: デバイス %s をオープンできません: %s\n"
+
+#: mount/lomount.c:450 mount/lomount.c:482 mount/lomount.c:544
+#: mount/lomount.c:589
+#, c-format
+msgid "%s: /dev directory does not exist."
+msgstr "%s: /dev ディレクトリは存在しません。"
+
+#: mount/lomount.c:461 mount/lomount.c:602
+#, c-format
+msgid "%s: no permission to look at /dev/loop%s<N>"
+msgstr "%s: dev/loop%s<N> を見るための権限がありません"
+
+#: mount/lomount.c:605
+#, c-format
+msgid "%s: could not find any free loop device"
+msgstr "%s: 空いている loop デバイスが見つかりません"
+
+#: mount/lomount.c:608
+#, c-format
+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"
+"       (そうであれば、再コンパイルするか `insmod loop.o' して下さい。)"
+
+#: mount/lomount.c:638
+msgid "Out of memory while reading passphrase"
+msgstr "パスフレーズの読み込み中にメモリが足りなくなりました"
+
+#: mount/lomount.c:681
+#, c-format
+msgid "warning: %s is already associated with %s\n"
+msgstr "警告: %s は既に %s に関連づけされています\n"
+
+#: mount/lomount.c:697
+#, c-format
+msgid "warning: %s: is write-protected, using read-only.\n"
+msgstr "警告: %s: は書き込み禁止です、読込み専用でマウントします\n"
+
+#: mount/lomount.c:733
+#, c-format
+msgid "Couldn't lock into memory, exiting.\n"
+msgstr "メモリに格納できませんでしたので、終了します。\n"
+
+#: mount/lomount.c:760
+#, c-format
+msgid "ioctl LOOP_SET_FD failed: %s\n"
+msgstr "ioctl LOOP_SET_FD 失敗: %s\n"
+
+#: mount/lomount.c:817
+#, c-format
+msgid "set_loop(%s,%s,%llu,%llu): success\n"
+msgstr "set_loop(%s,%s,%llu,%llu): 成功\n"
+
+#: mount/lomount.c:838
+#, c-format
+msgid "del_loop(%s): success\n"
+msgstr "del_loop(%s): 成功\n"
+
+#: mount/lomount.c:842
+#, c-format
+msgid "loop: can't delete device %s: %s\n"
+msgstr "loop: デバイス %s を削除できません: %s\n"
+
+#: mount/lomount.c:853
+#, c-format
+msgid "This mount was compiled without loop support. Please recompile.\n"
+msgstr ""
+"この mount は loop のサポートなしでコンパイルされました。\n"
+"再コンパイルしてください。\n"
+
+#: mount/lomount.c:888
+#, c-format
+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"
+"使い方:\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"
+
+#: mount/lomount.c:898
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -e | --encryption <type> enable data encryption with specified <name/num>\n"
+" -h | --help              this help\n"
+" -o | --offset <num>      start at offset <num> into file\n"
+"      --sizelimit <num>   loop limited to only <num> bytes of the file\n"
+" -p | --pass-fd <num>     read passphrase from file descriptor <num>\n"
+" -r | --read-only         setup read-only loop device\n"
+"      --show              print device name (with -f <file>)\n"
+" -v | --verbose           verbose mode\n"
+"\n"
+msgstr ""
+
+#: mount/lomount.c:1036 mount/lomount.c:1076
+#, c-format
+msgid "Loop device is %s\n"
+msgstr "Loopデバイス は %s です\n"
+
+#: mount/lomount.c:1063
+#, c-format
+msgid "stolen loop=%s...trying again\n"
+msgstr ""
+
+#: mount/lomount.c:1073
+#, c-format
+msgid "%s: %s: device is busy"
+msgstr "%s: %s: デバイスを使用中です"
+
+#: mount/lomount.c:1090
+#, c-format
+msgid "No loop support was available at compile time. Please recompile.\n"
+msgstr ""
+"コンパイル時に loop サポートが有効になっていません。再コンパイルしてくださ"
+"い。\n"
+
+#: mount/mount.c:329
+#, c-format
+msgid "mount: improperly quoted option string '%s'"
+msgstr ""
+
+#: mount/mount.c:362
+#, fuzzy, c-format
+msgid "mount: translated %s '%s' to '%s'\n"
+msgstr "mount: %2$s や %3$s 内に %1$s を見つけられません"
+
+#: mount/mount.c:526
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s"
+msgstr "mount: mtab によると、%s は %s にマウント済です"
+
+#: mount/mount.c:531
+#, c-format
+msgid "mount: according to mtab, %s is mounted on %s"
+msgstr "mount: mtab によると、%s は %s にマウントされています"
+
+#: mount/mount.c:555
+#, c-format
+msgid "mount: can't open %s for writing: %s"
+msgstr "mount: %s を書き込み用にオープンできません: %s"
+
+#: mount/mount.c:572 mount/mount.c:1190
+#, c-format
+msgid "mount: error writing %s: %s"
+msgstr "mount: %s の書き込みエラー: %s"
+
+#: mount/mount.c:580
+#, c-format
+msgid "mount: error changing mode of %s: %s"
+msgstr "mount: %s のモード変更エラー: %s"
+
+#: mount/mount.c:663
+#, c-format
+msgid "mount: cannot set group id: %s"
+msgstr "mount: グループid を設定できません: %s"
+
+#: mount/mount.c:666
+#, c-format
+msgid "mount: cannot set user id: %s"
+msgstr "mount: ユーザーid を設定できません: %s"
+
+#: mount/mount.c:705 mount/mount.c:1809
+#, c-format
+msgid "mount: cannot fork: %s"
+msgstr "mount: 子プロセスの起動ができません: %s"
+
+#: mount/mount.c:842
+#, c-format
+msgid "Trying %s\n"
+msgstr "%s を試します\n"
+
+#: mount/mount.c:870
+#, c-format
+msgid "mount: you didn't specify a filesystem type for %s\n"
+msgstr "mount: %s へのファイルシステムタイプの指定がありません\n"
+
+#: mount/mount.c:873
+#, c-format
+msgid "       I will try all types mentioned in %s or %s\n"
+msgstr "       %s 又は %s のタイプを試してみます\n"
+
+#: mount/mount.c:876
+#, c-format
+msgid "       and it looks like this is swapspace\n"
+msgstr "       そして、それはスワップ空間の様です。\n"
+
+#: mount/mount.c:878
+#, c-format
+msgid "       I will try type %s\n"
+msgstr "       タイプ %s を試してみます\n"
+
+#: mount/mount.c:902
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr "%s はスワップ空間のようですね -- マウントしません"
+
+#: mount/mount.c:993
+msgid "mount failed"
+msgstr "マウントに失敗しました"
+
+#: mount/mount.c:995
+#, c-format
+msgid "mount: only root can mount %s on %s"
+msgstr "mount: root だけが %s を %s にマウントできます"
+
+#: mount/mount.c:1065
+msgid "mount: loop device specified twice"
+msgstr "mount: loop デバイスが 2 回指定されました"
+
+#: mount/mount.c:1070
+msgid "mount: type specified twice"
+msgstr "mount: タイプが 2 回指定されました"
+
+#: mount/mount.c:1082
+#, c-format
+msgid "mount: skipping the setup of a loop device\n"
+msgstr "mount: loop デバイスの設定をスキップします\n"
+
+#: mount/mount.c:1094
+#, c-format
+msgid "mount: according to mtab %s is already mounted on %s as loop"
+msgstr "mount: mtab によると、%s は loop として %s にマウント済です"
+
+#: mount/mount.c:1104
+#, c-format
+msgid "mount: going to use the loop device %s\n"
+msgstr "mount: loop デバイス %s を使います\n"
+
+#: mount/mount.c:1113
+#, c-format
+msgid "mount: stolen loop=%s ...trying again\n"
+msgstr ""
+
+#: mount/mount.c:1118
+#, c-format
+msgid "mount: stolen loop=%s"
+msgstr "mount: stolen loop=%s"
+
+#: mount/mount.c:1123
+#, c-format
+msgid "mount: failed setting up loop device\n"
+msgstr "mount: loop デバイスの設定に失敗しました\n"
+
+#: mount/mount.c:1134
+#, c-format
+msgid "mount: setup loop device successfully\n"
+msgstr "mount: loop デバイスの設定に成功しました\n"
+
+#: mount/mount.c:1168
+#, c-format
+msgid "mount: no %s found - creating it..\n"
+msgstr "mount: %s が見つかりません -- 作成します..\n"
+
+#: mount/mount.c:1185
+#, c-format
+msgid "mount: can't open %s: %s"
+msgstr "mount: %s がオープンできません: %s"
+
+#: mount/mount.c:1206
+msgid "mount: argument to -p or --pass-fd must be a number"
+msgstr "mount: -p または --pass-fd 引数は数字でなければなりません"
+
+#: mount/mount.c:1219
+#, c-format
+msgid "mount: cannot open %s for setting speed"
+msgstr "mount: %s を速度設定用にオープンできません"
+
+#: mount/mount.c:1222
+#, c-format
+msgid "mount: cannot set speed: %s"
+msgstr "mount: 速度の設定ができません: %s"
+
+#: mount/mount.c:1279
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s\n"
+msgstr "mount: mtab によると、%s は %s にマウント済です\n"
+
+#: mount/mount.c:1358
+msgid ""
+"mount: I could not determine the filesystem type, and none was specified"
+msgstr "mount: none が指定されましたが、ファイルシステムタイプを決定できません"
+
+#: mount/mount.c:1361
+msgid "mount: you must specify the filesystem type"
+msgstr "mount: ファイルシステムタイプを指定する必要があります"
+
+#: mount/mount.c:1364
+msgid "mount: mount failed"
+msgstr "mount: マウントに失敗しました"
+
+#: mount/mount.c:1370 mount/mount.c:1407
+#, c-format
+msgid "mount: mount point %s is not a directory"
+msgstr "mount: マウントポイント %s はディレクトリではありません"
+
+#: mount/mount.c:1372
+msgid "mount: permission denied"
+msgstr "mount: 許可がありません"
+
+#: mount/mount.c:1374
+msgid "mount: must be superuser to use mount"
+msgstr "mount: mount を使うにはスーパーユーザでなければなりません"
+
+#: mount/mount.c:1378 mount/mount.c:1382
+#, c-format
+msgid "mount: %s is busy"
+msgstr "mount: %s は使用中です"
+
+#: mount/mount.c:1384
+msgid "mount: proc already mounted"
+msgstr "mount: proc はマウント済です"
+
+#: mount/mount.c:1386
+#, c-format
+msgid "mount: %s already mounted or %s busy"
+msgstr "mount: %s は マウント済か %s が使用中です"
+
+#: mount/mount.c:1392
+#, c-format
+msgid "mount: mount point %s does not exist"
+msgstr "mount: マウントポイント %s が存在しません"
+
+#: mount/mount.c:1394
+#, c-format
+msgid "mount: mount point %s is a symbolic link to nowhere"
+msgstr "mount: マウントポイント %s はどこもさしていないシンボリックリンクです"
+
+#: mount/mount.c:1399
+#, c-format
+msgid "mount: special device %s does not exist"
+msgstr "mount: スペシャルデバイス %s が存在しません"
+
+#: mount/mount.c:1411
+#, 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/mount.c:1423
+#, c-format
+msgid "mount: %s not mounted already, or bad option"
+msgstr "mount: %s はまだマウントされていないか、不正なオプションです"
+
+#: mount/mount.c:1425
+#, 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/mount.c:1432
+msgid ""
+"       (for several filesystems (e.g. nfs, cifs) you might\n"
+"       need a /sbin/mount.<type> helper program)"
+msgstr ""
+
+#: mount/mount.c:1441
+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/mount.c:1446
+msgid ""
+"       (aren't you trying to mount an extended partition,\n"
+"       instead of some logical partition inside?)"
+msgstr ""
+
+#: mount/mount.c:1453
+msgid ""
+"       In some cases useful info is found in syslog - try\n"
+"       dmesg | tail  or so\n"
+msgstr ""
+
+#: mount/mount.c:1459
+msgid "mount table full"
+msgstr "マウントテーブルがいっぱいです"
+
+#: mount/mount.c:1461
+#, c-format
+msgid "mount: %s: can't read superblock"
+msgstr "mount: %s: スーパーブロックを読めません"
+
+#: mount/mount.c:1467
+#, c-format
+msgid "mount: %s: unknown device"
+msgstr "mount: %s: 不明なデバイスです"
+
+#: mount/mount.c:1472
+#, c-format
+msgid "mount: unknown filesystem type '%s'"
+msgstr "mount: 未知のファイルシステムタイプ '%s'"
+
+#: mount/mount.c:1484
+#, c-format
+msgid "mount: probably you meant %s"
+msgstr "mount: おそらくあなたは %s を指定したかったのでしょう"
+
+#: mount/mount.c:1487
+msgid "mount: maybe you meant 'iso9660'?"
+msgstr "mount: 多分あなたは 'iso9660' を指定したかったのでは?"
+
+#: mount/mount.c:1490
+msgid "mount: maybe you meant 'vfat'?"
+msgstr "mount: 多分あなたは 'vfat' を指定したかったのでは?"
+
+#: mount/mount.c:1493
+#, c-format
+msgid "mount: %s has wrong device number or fs type %s not supported"
+msgstr ""
+"mount: %s は間違ったデバイス番号になっているか、ファイルシステムタイプ\n"
+"       %s がサポートされていません"
+
+#: mount/mount.c:1501
+#, c-format
+msgid "mount: %s is not a block device, and stat fails?"
+msgstr "mount: %s はブロックデバイスではありません、だから stat が失敗?"
+
+#: mount/mount.c:1503
+#, c-format
+msgid ""
+"mount: the kernel does not recognize %s as a block device\n"
+"       (maybe `insmod driver'?)"
+msgstr ""
+"mount: このカーネルは %s をブロックデバイスとして認識しません\n"
+"       (多分、`insmod ドライバ' しないといけないのでは?)"
+
+#: mount/mount.c:1506
+#, c-format
+msgid "mount: %s is not a block device (maybe try `-o loop'?)"
+msgstr ""
+"mount: %s はブロックデバイスではありません (多分 `-o loop' とやってみたら?)"
+
+#: mount/mount.c:1509
+#, c-format
+msgid "mount: %s is not a block device"
+msgstr "mount: %s はブロックデバイスではありません"
+
+#: mount/mount.c:1514
+#, c-format
+msgid "mount: %s is not a valid block device"
+msgstr "mount: %s は正常なブロックデバイスではありません"
+
+#: mount/mount.c:1517
+msgid "block device "
+msgstr "ブロックデバイス "
+
+#: mount/mount.c:1519
+#, c-format
+msgid "mount: cannot mount %s%s read-only"
+msgstr "mount: %s%s を読込み専用でマウントできません"
+
+#: mount/mount.c:1523
+#, c-format
+msgid "mount: %s%s is write-protected but explicit `-w' flag given"
+msgstr "mount: %s%s は書き込み禁止ですが、`-w' フラグが明示的に与えられました"
+
+#: mount/mount.c:1527
+#, fuzzy, c-format
+msgid "mount: cannot remount %s%s read-write, is write-protected"
+msgstr "mount: %s%s を読込み専用でマウントできません"
+
+#: mount/mount.c:1542
+#, c-format
+msgid "mount: %s%s is write-protected, mounting read-only"
+msgstr "mount: %s%s は書き込み禁止です、読込み専用でマウントします"
+
+#: mount/mount.c:1552
+#, fuzzy, c-format
+msgid "mount: no medium found on %s ...trying again\n"
+msgstr "mount: %s が見つかりません -- 作成します..\n"
+
+#: mount/mount.c:1558
+#, fuzzy, c-format
+msgid "mount: no medium found on %s"
+msgstr "mount: %s は %s にマウント済です\n"
+
+#: mount/mount.c:1576
+#, 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/mount.c:1655
+#, c-format
+msgid "mount: no type was given - I'll assume nfs because of the colon\n"
+msgstr "mount: タイプが与えられていません -- コロンがあるので nfs の様ですが\n"
+
+#: mount/mount.c:1661
+#, c-format
+msgid "mount: no type was given - I'll assume cifs because of the // prefix\n"
+msgstr "mount: タイプが与えられていません -- // があるので cifs の様ですが\n"
+
+#: mount/mount.c:1756
+#, c-format
+msgid "mount: %s already mounted on %s\n"
+msgstr "mount: %s は %s にマウント済です\n"
+
+#: mount/mount.c:1890
+#, 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/mount.c:2213
+msgid "mount: only root can do that"
+msgstr "mount: root だけがそれを行なえます"
+
+#: mount/mount.c:2223
+msgid "nothing was mounted"
+msgstr "何もマウントされませんでした"
+
+#: mount/mount.c:2241 mount/mount.c:2267
+msgid "mount: no such partition found"
+msgstr "mount: そのようなパーティションは見つかりません"
+
+#: mount/mount.c:2244
+#, c-format
+msgid "mount: can't find %s in %s or %s"
+msgstr "mount: %2$s や %3$s 内に %1$s を見つけられません"
+
+#: mount/mount_mntent.c:165
+#, c-format
+msgid "[mntent]: warning: no final newline at the end of %s\n"
+msgstr "[mntent]: 警告: %s の最後に改行がありません\n"
+
+#: mount/mount_mntent.c:216
+#, c-format
+msgid "[mntent]: line %d in %s is bad%s\n"
+msgstr "[mntent]: %2$s の %1$d 行目は不正です%3$s\n"
+
+#: mount/mount_mntent.c:219
+msgid "; rest of file ignored"
+msgstr "-- 無視します"
+
+#: mount/sundries.c:31
+msgid "bug in xstrndup call"
+msgstr "xstrndup 呼び出しのバグ"
+
+#: mount/sundries.c:224 mount/sundries.c:280 mount/sundries.c:289
+#: mount/xmalloc.c:11
+msgid "not enough memory"
+msgstr "メモリが不十分です"
+
+#: mount/swapon.c:84
+#, c-format
+msgid ""
+"The <special> parameter:\n"
+" {-L label | LABEL=label}             LABEL of device to be used\n"
+" {-U uuid  | 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"
+"\n"
+msgstr ""
+"The <special> parameter:\n"
+" {-L label | LABEL=label}             使用するデバイスの LABEL\n"
+" {-U uuid  | UUID=uuid}               使用するデバイスの UUID\n"
+" <device>                             使用するデバイスの名前\n"
+" <file>                               使用するファイルの名前\n"
+"\n"
+
+#: mount/swapon.c:92
+#, c-format
+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"
+
+#: mount/swapon.c:106
+#, c-format
+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"
+
+#: mount/swapon.c:140
+#, c-format
+msgid "%s: unexpected file format"
+msgstr "%s: 予期しないファイル形式"
+
+#: mount/swapon.c:184 mount/swapon.c:252 mount/swapon.c:397 mount/swapon.c:556
+#: mount/swapon.c:758
+#, fuzzy, c-format
+msgid "%s: open failed"
+msgstr "openpty が失敗\n"
+
+#: mount/swapon.c:205
+#, fuzzy, c-format
+msgid "%s: reinitializing the swap."
+msgstr ""
+"%s: %s: ソフトウェアサスペンドデータを検出しました。スワップを再初期化しま"
+"す\n"
+
+#: mount/swapon.c:209
+msgid "fork failed"
+msgstr "子プロセスの起動に失敗"
+
+#: mount/swapon.c:225
+msgid "execv failed"
+msgstr "実行に失敗"
+
+#: mount/swapon.c:233
+msgid "waitpid failed"
+msgstr "waitpid に失敗"
+
+#: mount/swapon.c:257
+#, c-format
+msgid "%s: lseek failed"
+msgstr "%s: シークに失敗"
+
+#: mount/swapon.c:263
+#, c-format
+msgid "%s: write signature failed"
+msgstr "%s: 署名の書き込みに失敗"
+
+#: mount/swapon.c:350
+#, c-format
+msgid "%s: found %sswap v%d signature string for %d KiB PAGE_SIZE\n"
+msgstr ""
+
+#: mount/swapon.c:370
+#, c-format
+msgid "%s: stat failed"
+msgstr "%s: stat が失敗"
+
+#: mount/swapon.c:380
+#, fuzzy, c-format
+msgid "%s: insecure permissions %04o, %04o suggested."
+msgstr "%s: 警告: %s は安全でない権限 %04o を持ちます。 %04o がお勧めです\n"
+
+#: mount/swapon.c:388
+#, fuzzy, c-format
+msgid "%s: skipping - it appears to have holes."
+msgstr "%s: ファイル %s をスキップ -- ホールを検出。\n"
+
+#: mount/swapon.c:402
+#, c-format
+msgid "%s: get size failed"
+msgstr "%s: サイズの取得に失敗"
+
+#: mount/swapon.c:408
+#, c-format
+msgid "%s: read swap header failed"
+msgstr "%s: スワップヘッダの読み込みに失敗しました"
+
+#: mount/swapon.c:421
+#, c-format
+msgid "%s: last_page 0x%08llx is larger than actual size of swapspace"
+msgstr ""
+
+#: mount/swapon.c:426
+#, c-format
+msgid "%s: swap format pagesize does not match."
+msgstr ""
+
+#: mount/swapon.c:431
+#, c-format
+msgid ""
+"%s: swap format pagesize does not match. (Use --fixpgsz to reinitialize it.)"
+msgstr ""
+
+#: mount/swapon.c:440
+#, c-format
+msgid "%s: software suspend data detected. Rewriting the swap signature."
+msgstr ""
+"%s: ソフトウェアサスペンドデータを検出しました。スワップ署名を書きなおしま"
+"す。"
+
+#: mount/swapon.c:464 mount/swapon.c:514
+#, c-format
+msgid "%s on %s\n"
+msgstr "%2$s に %1$s\n"
+
+#: mount/swapon.c:486
+#, c-format
+msgid "%s: swapon failed"
+msgstr "%s swaponは失敗しました"
+
+#: mount/swapon.c:493
+#, c-format
+msgid "cannot find the device for %s"
+msgstr "%s 用のデバイスが見つかりません"
+
+#: mount/swapon.c:526
+msgid "Not superuser."
+msgstr "スーパーユーザーではありません"
+
+#: mount/swapon.c:529
+#, c-format
+msgid "%s: swapoff failed"
+msgstr "%s: swapoffは失敗しました"
+
+#: mount/umount.c:41
+#, c-format
+msgid "umount: compiled without support for -f\n"
+msgstr "mount: -f オプションのサポート無しでコンパイルされています\n"
+
+#: mount/umount.c:111
+#, c-format
+msgid "umount: cannot set group id: %s"
+msgstr "umount: グループ id をセットできません: %s"
+
+#: mount/umount.c:114
+#, c-format
+msgid "umount: cannot set user id: %s"
+msgstr "umount: ユーザー id をセットできません: %s"
+
+#: mount/umount.c:139
+#, c-format
+msgid "umount: cannot fork: %s"
+msgstr "umount: 子プロセスを起動できません: %s"
+
+#: mount/umount.c:160
+#, c-format
+msgid "umount: %s: invalid block device"
+msgstr "umount: %s は不正なブロックデバイスです"
+
+#: mount/umount.c:162
+#, c-format
+msgid "umount: %s: not mounted"
+msgstr "umount: %s: マウントされていません"
+
+#: mount/umount.c:164
+#, c-format
+msgid "umount: %s: can't write superblock"
+msgstr "umount: %s: スーパーブロックに書き込めません"
+
+#: mount/umount.c:168
+#, 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/umount.c:173
+#, c-format
+msgid "umount: %s: not found"
+msgstr "umount: %s: 見つかりません"
+
+#: mount/umount.c:175
+#, c-format
+msgid "umount: %s: must be superuser to umount"
+msgstr "umount: %s: アンマウントするにはスーパーユーザでなければなりません"
+
+#: mount/umount.c:177
+#, c-format
+msgid "umount: %s: block devices not permitted on fs"
+msgstr "umount: %s: ブロックデバイスはファイルシステム上で許可されません"
+
+#: mount/umount.c:179
+#, c-format
+msgid "umount: %s: %s"
+msgstr "umount: %s: %s"
+
+#: mount/umount.c:235
+#, c-format
+msgid "no umount2, trying umount...\n"
+msgstr "umount2 がありません、umount してみます...\n"
+
+#: mount/umount.c:252
+#, c-format
+msgid "umount: %s busy - remounted read-only\n"
+msgstr "umount: %s は使用中です -- 読込み専用として再マウントします\n"
+
+#: mount/umount.c:263
+#, c-format
+msgid "umount: could not remount %s read-only\n"
+msgstr "umount: %s を読込み専用で再マウントできませんでした\n"
+
+#: mount/umount.c:272
+#, c-format
+msgid "%s umounted\n"
+msgstr "%s はアンマウントされました\n"
+
+#: mount/umount.c:367
+msgid "umount: cannot find list of filesystems to unmount"
+msgstr "umount: アンマウントのためのファイルシステムリストを見つけられません"
+
+#: mount/umount.c:397
+#, 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/umount.c:466
+#, c-format
+msgid "device %s is associated with %s\n"
+msgstr "デバイス %s は %s に関連づけされています\n"
+
+#: mount/umount.c:472
+#, c-format
+msgid "device %s is not associated with %s\n"
+msgstr "デバイス %s は %s に関連づけされていません\n"
+
+#: mount/umount.c:485
+msgid "Cannot umount \"\"\n"
+msgstr "\"\" をアンマウントできません\n"
+
+#: mount/umount.c:491
+#, c-format
+msgid "Trying to umount %s\n"
+msgstr "%s をアンマウントします\n"
+
+#: mount/umount.c:504
+msgid "umount: confused when analyzing mtab"
+msgstr ""
+
+#: mount/umount.c:509
+#, c-format
+msgid "umount: cannot umount %s -- %s is mounted over it on the same point."
+msgstr ""
+
+#: mount/umount.c:516
+#, c-format
+msgid "Could not find %s in mtab\n"
+msgstr "mtab に %s が見つかりません\n"
+
+#: mount/umount.c:523
+#, c-format
+msgid "umount: %s is not mounted (according to mtab)"
+msgstr "umount: %s マウントされていません (mtab によると)"
+
+#: mount/umount.c:547
+#, c-format
+msgid "umount: it seems %s is mounted multiple times"
+msgstr "umount: %s は複数マウントされているようです"
+
+#: mount/umount.c:561
+#, c-format
+msgid "umount: %s is not in the fstab (and you are not root)"
+msgstr ""
+"umount: %s は fstab にありません (さらに、あなたは root ではありません)"
+
+#: mount/umount.c:567
+#, c-format
+msgid "umount: %s mount disagrees with the fstab"
+msgstr "umount: %s は fstab と一致しないマウントです"
+
+#: mount/umount.c:608
+#, c-format
+msgid "umount: only %s can unmount %s from %s"
+msgstr "umount: %s だけが %s を %s からアンマウントできます"
+
+#: mount/umount.c:695
+msgid "umount: only root can do that"
+msgstr "umount: root だけがそれを行なえます"
+
+#: schedutils/chrt.c:56
+#, 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"
+"\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 ""
+
+#: schedutils/chrt.c:88
+#, fuzzy, c-format
+msgid "failed to get pid %d's policy"
+msgstr "%s のパーティション書き込みに失敗\n"
+
+#: schedutils/chrt.c:90
+#, c-format
+msgid "pid %d's %s scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:112
+#, fuzzy, c-format
+msgid "unknown\n"
+msgstr "不明な"
+
+#: schedutils/chrt.c:116
+#, c-format
+msgid "failed to get pid %d's attributes"
+msgstr ""
+
+#: schedutils/chrt.c:118
+#, c-format
+msgid "pid %d's %s scheduling priority: %d\n"
+msgstr "pid %d's %s scheduling priority: %d\n"
+
+#: schedutils/chrt.c:147
+#, 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:150
+#, fuzzy, c-format
+msgid "SCHED_%s not supported?\n"
+msgstr "TCP 経由の NFS はサポートされていません。\n"
+
+#: schedutils/chrt.c:206
+#, fuzzy
+msgid "failed to parse pid"
+msgstr "%s: open に失敗: %s\n"
+
+#: schedutils/chrt.c:228
+msgid "current"
+msgstr "現在"
+
+#: schedutils/chrt.c:236
+#, fuzzy
+msgid "failed to parse priority"
+msgstr "%s のパーティション書き込みに失敗\n"
+
+#: schedutils/chrt.c:242
+#, fuzzy, c-format
+msgid "failed to set pid %d's policy"
+msgstr "%s のパーティション書き込みに失敗\n"
+
+#: schedutils/chrt.c:251
+#, fuzzy, c-format
+msgid "failed to execute %s"
+msgstr "typescript ファイル %s の読み込みが失敗しました"
+
+#: schedutils/ionice.c:57
+msgid "ioprio_get failed"
+msgstr "ioprio_get が失敗"
+
+#: schedutils/ionice.c:75
+msgid "ioprio_set failed"
+msgstr "ioprio_set が失敗"
+
+#: schedutils/ionice.c:81
+#, fuzzy, c-format
+msgid ""
+"\n"
+"ionice - sets or gets process io scheduling class and priority.\n"
+"\n"
+"Usage:\n"
+"  ionice [ options ] -p <pid> [<pid> ...]\n"
+"  ionoce [ 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"
+"                      1: リアルタイム, 2: ベストエフォート, 3: アイドル\n"
+"  -t                  エラーを無視する\n"
+"  -h                  このヘルプ\n"
+"\n"
+
+#: schedutils/ionice.c:110 schedutils/ionice.c:112
+#, fuzzy, c-format
+msgid "cannot parse number '%s'"
+msgstr "%s を open できません"
+
+#: schedutils/ionice.c:151
+msgid "ignoring given class data for none class"
+msgstr ""
+
+#: schedutils/ionice.c:159
+msgid "ignoring given class data for idle class"
+msgstr ""
+
+#: schedutils/ionice.c:163
+#, c-format
+msgid "bad prio class %d"
+msgstr ""
+
+#: schedutils/ionice.c:187
+msgid "execvp failed"
+msgstr "execvpに失敗"
+
+#: sys-utils/ctrlaltdel.c:27
+#, c-format
+msgid "You must be root to set the Ctrl-Alt-Del behaviour.\n"
+msgstr ""
+"その Ctrl-Alt-Del の振る舞いを設定するには root で無ければなりません。\n"
+
+#: sys-utils/ctrlaltdel.c:42
+#, c-format
+msgid "Usage: ctrlaltdel hard|soft\n"
+msgstr "使い方: ctrlaltdel hard|soft\n"
+
+#: sys-utils/cytune.c:114
+#, 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\n"
+msgstr ""
+"ファイル %s、しきい値 %lu、パイプ内の最大キャラクタ数は %d でした。\n"
+"秒間最大キャラクタ転送レートは %f でした。\n"
+
+#: sys-utils/cytune.c:125
+#, c-format
+msgid ""
+"File %s, For threshold value %lu and timrout value %lu, Maximum characters "
+"in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f\n"
+msgstr ""
+"ファイル %s、しきい値 %lu 及びタイムアウト値 %lu、パイプ内の最大キャラクタ\n"
+"数は、%d でした。秒間最大キャラクタ転送レートは %f でした。\n"
+
+#: sys-utils/cytune.c:189
+#, c-format
+msgid "Invalid interval value: %s\n"
+msgstr "不正な内部値: %s\n"
+
+#: sys-utils/cytune.c:197
+#, c-format
+msgid "Invalid set value: %s\n"
+msgstr "不正な設定値: %s\n"
+
+#: sys-utils/cytune.c:205
+#, c-format
+msgid "Invalid default value: %s\n"
+msgstr "不正な初期値: %s\n"
+
+#: sys-utils/cytune.c:213
+#, c-format
+msgid "Invalid set time value: %s\n"
+msgstr "不正な設定時刻: %s\n"
+
+#: sys-utils/cytune.c:221
+#, c-format
+msgid "Invalid default time value: %s\n"
+msgstr "不正な初期時刻: %s\n"
+
+#: sys-utils/cytune.c:238
+#, c-format
+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"
+
+#: sys-utils/cytune.c:250 sys-utils/cytune.c:269 sys-utils/cytune.c:289
+#: sys-utils/cytune.c:339
+#, c-format
+msgid "Can't open %s: %s\n"
+msgstr "%s を開けません: %s\n"
+
+#: sys-utils/cytune.c:257
+#, c-format
+msgid "Can't set %s to threshold %d: %s\n"
+msgstr "%s をしきい値 %d に設定できません: %s\n"
+
+#: sys-utils/cytune.c:276
+#, c-format
+msgid "Can't set %s to time threshold %d: %s\n"
+msgstr "%s を時間しきい値 %d に設定できません: %s\n"
+
+#: sys-utils/cytune.c:294 sys-utils/cytune.c:351 sys-utils/cytune.c:382
+#, c-format
+msgid "Can't get threshold for %s: %s\n"
+msgstr "%s へのしきい値が取得できません: %s\n"
+
+#: sys-utils/cytune.c:300 sys-utils/cytune.c:357 sys-utils/cytune.c:388
+#, c-format
+msgid "Can't get timeout for %s: %s\n"
+msgstr "%s へのタイムアウトを取得できません: %s\n"
+
+#: sys-utils/cytune.c:306
+#, c-format
+msgid "%s: %ld current threshold and %ld current timeout\n"
+msgstr "%s: 現在の閾値 %ld 及び現在のタイムアウト %ld\n"
+
+#: sys-utils/cytune.c:309
+#, c-format
+msgid "%s: %ld default threshold and %ld default timeout\n"
+msgstr "%s: デフォルト閾値 %ld 及びデフォルトタイムアウト %ld\n"
+
+#: sys-utils/cytune.c:327
+msgid "Can't set signal handler"
+msgstr "シグナルハンドラを設定できません"
+
+#: sys-utils/cytune.c:331 sys-utils/cytune.c:366
+msgid "gettimeofday failed"
+msgstr "gettimeofday が失敗"
+
+#: sys-utils/cytune.c:344 sys-utils/cytune.c:376
+#, c-format
+msgid "Can't issue CYGETMON on %s: %s\n"
+msgstr "%s で CYGETMON が発行できません: %s\n"
+
+#: sys-utils/cytune.c:418
+#, 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:424
+#, c-format
+msgid "   %f int/sec; %f rec, %f send (char/sec)\n"
+msgstr "   %f 整数/秒; %f 記録, %f 送信 (キャラクタ/秒)\n"
+
+#: sys-utils/cytune.c:429
+#, 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:435
+#, c-format
+msgid "   %f int/sec; %f rec (char/sec)\n"
+msgstr "   %f 整数/秒 -- %f 記録 (キャラクタ/秒)\n"
+
+#: sys-utils/dmesg.c:45
+#, fuzzy, c-format
+msgid "Usage: %s [-c] [-n level] [-r] [-s bufsize]\n"
+msgstr "使い方: %s [-c] [-n レベル] [-s バッファサイズ]\n"
+
+#: sys-utils/flock.c:65
+#, c-format
+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 ""
+"使い方: %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"
+
+#: sys-utils/flock.c:192
+#, fuzzy, c-format
+msgid "%s: %s requires exactly one command argument\n"
+msgstr "%s は引数を要求します\n"
+
+#: sys-utils/flock.c:219
+#, fuzzy, c-format
+msgid "%s: cannot open lock file %s: %s\n"
+msgstr "%s: %s を開けません: %s\n"
+
+#: sys-utils/flock.c:231
+#, fuzzy, c-format
+msgid "%s: bad number: %s\n"
+msgstr "不正な数: %s\n"
+
+#: sys-utils/flock.c:238
+#, c-format
+msgid "%s: requires file descriptor, file or directory\n"
+msgstr "%s: ファイルディスクリプタかファイルかディレクトリを必要とします\n"
+
+#: sys-utils/flock.c:294
+#, c-format
+msgid "%s: fork failed: %s\n"
+msgstr "%s: 子プロセスの起動に失敗: %s\n"
+
+#: sys-utils/ipcmk.c:84
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [options]\n"
+"\n"
+msgstr ""
+"\n"
+"使い方: %s [オプション]\n"
+"\n"
+
+#: sys-utils/ipcmk.c:86
+#, c-format
+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 ""
+
+#: sys-utils/ipcmk.c:90
+#, c-format
+msgid ""
+"\n"
+"For more information see ipcmk(1).\n"
+"\n"
+msgstr ""
+"\n"
+"詳細情報は、ipcmk(1) を確認してください。\n"
+"\n"
+
+#: sys-utils/ipcmk.c:142
+msgid "create share memory failed"
+msgstr "共有メモリの作成に失敗しました"
+
+#: sys-utils/ipcmk.c:144
+#, c-format
+msgid "Shared memory id: %d\n"
+msgstr "共有メモリid: %d\n"
+
+#: sys-utils/ipcmk.c:150
+msgid "create message queue failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:152
+#, c-format
+msgid "Message queue id: %d\n"
+msgstr "メッセージキューid: %d\n"
+
+#: sys-utils/ipcmk.c:158
+msgid "create semaphore failed"
+msgstr "セマフォの作成に失敗しました"
+
+#: sys-utils/ipcmk.c:160
+#, c-format
+msgid "Semaphore id: %d\n"
+msgstr "セマフォid: %d\n"
+
+#: sys-utils/ipcrm.c:66
+#, c-format
+msgid "invalid id: %s\n"
+msgstr "不正な id: %s\n"
+
+#: sys-utils/ipcrm.c:84
+#, c-format
+msgid "cannot remove id %s (%s)\n"
+msgstr "id %s (%s) を削除できません\n"
+
+#: sys-utils/ipcrm.c:99
+#, fuzzy, c-format
+msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
+msgstr "使い方: %s {shm | msg | sem} id ...\n"
+
+#: sys-utils/ipcrm.c:126
+#, c-format
+msgid "unknown resource type: %s\n"
+msgstr "不明なリソースタイプ: %s\n"
+
+#: sys-utils/ipcrm.c:130
+#, c-format
+msgid "resource(s) deleted\n"
+msgstr "リソースを削除しました\n"
+
+#: sys-utils/ipcrm.c:140
+#, c-format
+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"
+
+#: sys-utils/ipcrm.c:181
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: 不正なオプション -- %c\n"
+
+#: sys-utils/ipcrm.c:193
+#, c-format
+msgid "%s: illegal key (%s)\n"
+msgstr "%s: 不正なキー (%s)\n"
+
+#: sys-utils/ipcrm.c:208 sys-utils/ipcrm.c:240
+msgid "permission denied for key"
+msgstr "キーの許可がありません"
+
+#: sys-utils/ipcrm.c:211 sys-utils/ipcrm.c:250
+msgid "already removed key"
+msgstr "既にキーは削除されています"
+
+#: sys-utils/ipcrm.c:214 sys-utils/ipcrm.c:245
+msgid "invalid key"
+msgstr "不正なキー"
+
+#: sys-utils/ipcrm.c:217 sys-utils/ipcrm.c:255
+msgid "unknown error in key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:241
+#, fuzzy
+msgid "permission denied for id"
+msgstr "mount: 許可がありません"
+
+#: sys-utils/ipcrm.c:246
+msgid "invalid id"
+msgstr "不正な id"
+
+#: sys-utils/ipcrm.c:251
+msgid "already removed id"
+msgstr "既に削除されたidです"
+
+#: sys-utils/ipcrm.c:256
+msgid "unknown error in id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:259
+#, c-format
+msgid "%s: %s (%s)\n"
+msgstr "%s: %s (%s)\n"
+
+#: sys-utils/ipcrm.c:267
+#, c-format
+msgid "%s: unknown argument: %s\n"
+msgstr "%s: 不明な引数 %s\n"
+
+#: sys-utils/ipcs.c:120
+#, c-format
+msgid "usage : %s -asmq -tclup \n"
+msgstr "使い方 : %s -asmq -tclup \n"
+
+#: sys-utils/ipcs.c:121
+#, c-format
+msgid "\t%s [-s -m -q] -i id\n"
+msgstr "\t%s [-s -m -q] -i id\n"
+
+#: sys-utils/ipcs.c:122
+#, c-format
+msgid "\t%s -h for help.\n"
+msgstr "\t%s -h でヘルプを表示。\n"
+
+#: sys-utils/ipcs.c:128
+#, c-format
+msgid ""
+"%s provides information on ipc facilities for which you have read access.\n"
+msgstr ""
+"%s はあなたが読み込みアクセスできる ipc の資源状況などの情報を提供します。\n"
+
+#: sys-utils/ipcs.c:130
+#, c-format
+msgid ""
+"Resource Specification:\n"
+"\t-m : shared_mem\n"
+"\t-q : messages\n"
+msgstr ""
+"リソース指定:\n"
+"\t-m : 共有メモリ\n"
+"\t-q : メッセージ\n"
+
+#: sys-utils/ipcs.c:131
+#, c-format
+msgid ""
+"\t-s : semaphores\n"
+"\t-a : all (default)\n"
+msgstr ""
+"\t-s : セマフォ\n"
+"\t-a : 全て (初期値)\n"
+
+#: sys-utils/ipcs.c:132
+#, c-format
+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"
+
+#: sys-utils/ipcs.c:133
+#, c-format
+msgid ""
+"\t-l : limits\n"
+"\t-u : summary\n"
+msgstr ""
+"\t-l : 制限\n"
+"\t-u : 要約\n"
+
+#: sys-utils/ipcs.c:134
+#, c-format
+msgid "-i id [-s -q -m] : details on resource identified by id\n"
+msgstr "-i id [-s -q -m] : id によって識別されるリソースの詳細\n"
+
+#: sys-utils/ipcs.c:258
+#, c-format
+msgid "kernel not configured for shared memory\n"
+msgstr "カーネルでの共有メモリの為の設定がされていません\n"
+
+#: sys-utils/ipcs.c:264
+#, c-format
+msgid "------ Shared Memory Limits --------\n"
+msgstr "------ 共有メモリの制限 --------\n"
+
+#: sys-utils/ipcs.c:269
+#, c-format
+msgid "max number of segments = %lu\n"
+msgstr "セグメント数の最大値 = %lu\n"
+
+#: sys-utils/ipcs.c:271
+#, c-format
+msgid "max seg size (kbytes) = %lu\n"
+msgstr "セグメントサイズの最大 (単位:KB) = %lu\n"
+
+#: sys-utils/ipcs.c:273
+#, c-format
+msgid "max total shared memory (kbytes) = %llu\n"
+msgstr "合計共有メモリの最大 (単位:KB) = %llu\n"
+
+#: sys-utils/ipcs.c:275
+#, c-format
+msgid "min seg size (bytes) = %lu\n"
+msgstr "最小セグメントサイズ (単位:バイト) = %lu\n"
+
+#: sys-utils/ipcs.c:280
+#, c-format
+msgid "------ Shared Memory Status --------\n"
+msgstr "------ 共有メモリの状態 --------\n"
+
+#: sys-utils/ipcs.c:281
+#, c-format
+msgid "segments allocated %d\n"
+msgstr "確保されたセグメント %d\n"
+
+#: sys-utils/ipcs.c:282
+#, c-format
+msgid "pages allocated %ld\n"
+msgstr "確保されたページ     %ld\n"
+
+#: sys-utils/ipcs.c:283
+#, c-format
+msgid "pages resident  %ld\n"
+msgstr "固定されたページ     %ld\n"
+
+#: sys-utils/ipcs.c:284
+#, c-format
+msgid "pages swapped   %ld\n"
+msgstr "スワップされたページ %ld\n"
+
+#: sys-utils/ipcs.c:285
+#, c-format
+msgid "Swap performance: %ld attempts\t %ld successes\n"
+msgstr "スワップの動作: %ld 回試み %ld 回成功\n"
+
+#: sys-utils/ipcs.c:290
+#, c-format
+msgid "------ Shared Memory Segment Creators/Owners --------\n"
+msgstr "------ 共有メモリセグメント 作成者/所有者 --------\n"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:298 sys-utils/ipcs.c:305
+#: sys-utils/ipcs.c:311
+msgid "shmid"
+msgstr "shmid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:311 sys-utils/ipcs.c:412
+#: sys-utils/ipcs.c:427 sys-utils/ipcs.c:510 sys-utils/ipcs.c:528
+msgid "perms"
+msgstr "権限"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "cuid"
+msgstr "cuid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "cgid"
+msgstr "cgid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "uid"
+msgstr "uid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "gid"
+msgstr "gid"
+
+#: sys-utils/ipcs.c:296
+#, c-format
+msgid "------ Shared Memory Attach/Detach/Change Times --------\n"
+msgstr "------ 共有メモリ 結合/分離/変更回数 --------\n"
+
+#: sys-utils/ipcs.c:298 sys-utils/ipcs.c:305 sys-utils/ipcs.c:311
+#: sys-utils/ipcs.c:418 sys-utils/ipcs.c:427 sys-utils/ipcs.c:516
+#: sys-utils/ipcs.c:522 sys-utils/ipcs.c:528
+msgid "owner"
+msgstr "所有者"
+
+#: sys-utils/ipcs.c:298
+msgid "attached"
+msgstr "結合"
+
+#: sys-utils/ipcs.c:298
+msgid "detached"
+msgstr "分離"
+
+#: sys-utils/ipcs.c:299
+msgid "changed"
+msgstr "変更"
+
+#: sys-utils/ipcs.c:303
+#, c-format
+msgid "------ Shared Memory Creator/Last-op --------\n"
+msgstr "------ 共有メモリ 作成者/直近の命令 --------\n"
+
+#: sys-utils/ipcs.c:305
+msgid "cpid"
+msgstr "cpid"
+
+#: sys-utils/ipcs.c:305
+msgid "lpid"
+msgstr "lpid"
+
+#: sys-utils/ipcs.c:309
+#, c-format
+msgid "------ Shared Memory Segments --------\n"
+msgstr "------ 共有メモリセグメント --------\n"
+
+#: sys-utils/ipcs.c:311 sys-utils/ipcs.c:427 sys-utils/ipcs.c:528
+msgid "key"
+msgstr "キー"
+
+#: sys-utils/ipcs.c:311
+msgid "bytes"
+msgstr "バイト"
+
+#: sys-utils/ipcs.c:312
+msgid "nattch"
+msgstr "nattch"
+
+#: sys-utils/ipcs.c:312
+msgid "status"
+msgstr "状態"
+
+#: sys-utils/ipcs.c:333 sys-utils/ipcs.c:335 sys-utils/ipcs.c:337
+#: sys-utils/ipcs.c:448 sys-utils/ipcs.c:450 sys-utils/ipcs.c:549
+#: sys-utils/ipcs.c:551 sys-utils/ipcs.c:553 sys-utils/ipcs.c:604
+#: sys-utils/ipcs.c:606 sys-utils/ipcs.c:634 sys-utils/ipcs.c:636
+#: sys-utils/ipcs.c:638 sys-utils/ipcs.c:661
+msgid "Not set"
+msgstr "セットされていません"
+
+#: sys-utils/ipcs.c:365
+msgid "dest"
+msgstr "対象"
+
+#: sys-utils/ipcs.c:366
+msgid "locked"
+msgstr "ロック"
+
+#: sys-utils/ipcs.c:386
+#, c-format
+msgid "kernel not configured for semaphores\n"
+msgstr "カーネルでのセマフォの為の設定がされていません\n"
+
+#: sys-utils/ipcs.c:392
+#, c-format
+msgid "------ Semaphore Limits --------\n"
+msgstr "------ セマフォの制限 --------\n"
+
+#: sys-utils/ipcs.c:396
+#, c-format
+msgid "max number of arrays = %d\n"
+msgstr "最大配列数 = %d\n"
+
+#: sys-utils/ipcs.c:397
+#, c-format
+msgid "max semaphores per array = %d\n"
+msgstr "配列毎の最大セマフォ数 = %d\n"
+
+#: sys-utils/ipcs.c:398
+#, c-format
+msgid "max semaphores system wide = %d\n"
+msgstr "システム全体の最大セマフォ数 = %d\n"
+
+#: sys-utils/ipcs.c:399
+#, c-format
+msgid "max ops per semop call = %d\n"
+msgstr "semop 呼び出し毎の最大命令数 = %d\n"
+
+#: sys-utils/ipcs.c:400
+#, c-format
+msgid "semaphore max value = %d\n"
+msgstr "セマフォ最大値 = %d\n"
+
+#: sys-utils/ipcs.c:404
+#, c-format
+msgid "------ Semaphore Status --------\n"
+msgstr "------ セマフォの状態 --------\n"
+
+#: sys-utils/ipcs.c:405
+#, c-format
+msgid "used arrays = %d\n"
+msgstr "使用配列数 = %d\n"
+
+#: sys-utils/ipcs.c:406
+#, c-format
+msgid "allocated semaphores = %d\n"
+msgstr "確保されたセマフォ数 = %d\n"
+
+#: sys-utils/ipcs.c:410
+#, c-format
+msgid "------ Semaphore Arrays Creators/Owners --------\n"
+msgstr "------ セマフォ配列 作成者/所有者 --------\n"
+
+#: sys-utils/ipcs.c:412 sys-utils/ipcs.c:418 sys-utils/ipcs.c:427
+msgid "semid"
+msgstr "semid"
+
+#: sys-utils/ipcs.c:416
+#, c-format
+msgid "------ Semaphore Operation/Change Times --------\n"
+msgstr "------ セマフォ 命令/変更回数 --------\n"
+
+#: sys-utils/ipcs.c:418
+msgid "last-op"
+msgstr "最終操作"
+
+#: sys-utils/ipcs.c:418
+msgid "last-changed"
+msgstr "最終の変更"
+
+#: sys-utils/ipcs.c:425
+#, c-format
+msgid "------ Semaphore Arrays --------\n"
+msgstr "------ セマフォ配列 --------\n"
+
+#: sys-utils/ipcs.c:427
+msgid "nsems"
+msgstr "nsems"
+
+#: sys-utils/ipcs.c:486
+#, c-format
+msgid "kernel not configured for message queues\n"
+msgstr "カーネルでのメッセージキューの為の設定がされていません\n"
+
+#: sys-utils/ipcs.c:494
+#, c-format
+msgid "------ Messages: Limits --------\n"
+msgstr "------ メッセージ: 制限 --------\n"
+
+#: sys-utils/ipcs.c:495
+#, c-format
+msgid "max queues system wide = %d\n"
+msgstr "システム全体での最大キュー数 = %d\n"
+
+#: sys-utils/ipcs.c:496
+#, c-format
+msgid "max size of message (bytes) = %d\n"
+msgstr "最大メッセージサイズ (バイト) = %d\n"
+
+#: sys-utils/ipcs.c:497
+#, c-format
+msgid "default max size of queue (bytes) = %d\n"
+msgstr "キューサイズ最大値の初期値 (バイト) = %d\n"
+
+#: sys-utils/ipcs.c:501
+#, c-format
+msgid "------ Messages: Status --------\n"
+msgstr "------ メッセージ: 状態 --------\n"
+
+#: sys-utils/ipcs.c:502
+#, c-format
+msgid "allocated queues = %d\n"
+msgstr "確保済みキュー数 = %d\n"
+
+#: sys-utils/ipcs.c:503
+#, c-format
+msgid "used headers = %d\n"
+msgstr "使用済ヘッダ = %d\n"
+
+#: sys-utils/ipcs.c:504
+#, c-format
+msgid "used space = %d bytes\n"
+msgstr "使用済空間 = %d バイト\n"
+
+#: sys-utils/ipcs.c:508
+#, c-format
+msgid "------ Message Queues: Creators/Owners --------\n"
+msgstr "------ メッセージキュー: 作成者/所有者 --------\n"
+
+#: sys-utils/ipcs.c:510 sys-utils/ipcs.c:516 sys-utils/ipcs.c:522
+#: sys-utils/ipcs.c:528
+msgid "msqid"
+msgstr "msqid"
+
+#: sys-utils/ipcs.c:514
+#, c-format
+msgid "------ Message Queues Send/Recv/Change Times --------\n"
+msgstr "------ メッセージキュー 送信/受信/変更回数 --------\n"
+
+#: sys-utils/ipcs.c:516
+msgid "send"
+msgstr "送信"
+
+#: sys-utils/ipcs.c:516
+msgid "recv"
+msgstr "受信"
+
+#: sys-utils/ipcs.c:516
+msgid "change"
+msgstr "変更"
+
+#: sys-utils/ipcs.c:520
+#, c-format
+msgid "------ Message Queues PIDs --------\n"
+msgstr "------ メッセージキュー PIDs --------\n"
+
+#: sys-utils/ipcs.c:522
+msgid "lspid"
+msgstr "lspid"
+
+#: sys-utils/ipcs.c:522
+msgid "lrpid"
+msgstr "lrpid"
+
+#: sys-utils/ipcs.c:526
+#, c-format
+msgid "------ Message Queues --------\n"
+msgstr "------ メッセージキュー --------\n"
+
+#: sys-utils/ipcs.c:529
+msgid "used-bytes"
+msgstr "使用バイト数"
+
+#: sys-utils/ipcs.c:529
+msgid "messages"
+msgstr "メッセージ"
+
+#: sys-utils/ipcs.c:593
+msgid "shmctl failed"
+msgstr "shmctl に失敗しました"
+
+#: sys-utils/ipcs.c:595
+#, c-format
+msgid ""
+"\n"
+"Shared memory Segment shmid=%d\n"
+msgstr ""
+"\n"
+"シェアードメモリセグメント shmid=%d\n"
+
+#: sys-utils/ipcs.c:596
+#, c-format
+msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+
+#: sys-utils/ipcs.c:598
+#, c-format
+msgid "mode=%#o\taccess_perms=%#o\n"
+msgstr "モード=%#o\tアクセス権=%#o\n"
+
+#: sys-utils/ipcs.c:600
+#, c-format
+msgid "bytes=%ld\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+msgstr "bytes=%ld\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+
+#: sys-utils/ipcs.c:603
+#, c-format
+msgid "att_time=%-26.24s\n"
+msgstr "att_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:605
+#, c-format
+msgid "det_time=%-26.24s\n"
+msgstr "det_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:607 sys-utils/ipcs.c:637
+#, c-format
+msgid "change_time=%-26.24s\n"
+msgstr "change_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:619
+msgid "msgctl failed"
+msgstr "msgctlが失敗"
+
+#: sys-utils/ipcs.c:621
+#, c-format
+msgid ""
+"\n"
+"Message Queue msqid=%d\n"
+msgstr ""
+"\n"
+"メッセージキュー msqid=%d\n"
+
+#: sys-utils/ipcs.c:622
+#, c-format
+msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
+
+#: sys-utils/ipcs.c:624
+#, 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:633
+#, c-format
+msgid "send_time=%-26.24s\n"
+msgstr "send_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:635
+#, c-format
+msgid "rcv_time=%-26.24s\n"
+msgstr "rcv_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:652 sys-utils/ipcs.c:674
+msgid "semctl failed"
+msgstr "semctl が失敗しました"
+
+#: sys-utils/ipcs.c:654
+#, c-format
+msgid ""
+"\n"
+"Semaphore Array semid=%d\n"
+msgstr ""
+"\n"
+"セマフォ配列 semid=%d\n"
+
+#: sys-utils/ipcs.c:655
+#, c-format
+msgid "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+msgstr "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+
+#: sys-utils/ipcs.c:657
+#, c-format
+msgid "mode=%#o, access_perms=%#o\n"
+msgstr "モード=%#o, アクセス権=%#o\n"
+
+#: sys-utils/ipcs.c:659
+#, c-format
+msgid "nsems = %ld\n"
+msgstr "nsems = %ld\n"
+
+#: sys-utils/ipcs.c:660
+#, c-format
+msgid "otime = %-26.24s\n"
+msgstr "otime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:662
+#, c-format
+msgid "ctime = %-26.24s\n"
+msgstr "ctime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:665
+msgid "semnum"
+msgstr "semnum"
+
+#: sys-utils/ipcs.c:665
+msgid "value"
+msgstr "値"
+
+#: sys-utils/ipcs.c:665
+msgid "ncount"
+msgstr "ncount"
+
+#: sys-utils/ipcs.c:665
+msgid "zcount"
+msgstr "zcount"
+
+#: sys-utils/ipcs.c:665
+msgid "pid"
+msgstr "pid"
+
+#: sys-utils/ldattach.c:92
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [ -dhV78neo12 ] [ -s <speed> ] <ldisc> <device>\n"
+msgstr ""
+"\n"
+"使い方: %s [ -dhV78neo12 ] [ -s <speed> ] <ldisc> <device>\n"
+
+#: sys-utils/ldattach.c:94
+msgid ""
+"\n"
+"Known <ldisc> names:\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:179
+#, c-format
+msgid "invalid speed: %s"
+msgstr "不正な速度: %s"
+
+#: sys-utils/ldattach.c:182
+#, fuzzy, c-format
+msgid "ldattach from %s\n"
+msgstr "%s from %s\n"
+
+#: sys-utils/ldattach.c:187 text-utils/tailf.c:205
+msgid "invalid option"
+msgstr "不正なオプション"
+
+#: sys-utils/ldattach.c:199
+#, fuzzy, c-format
+msgid "invalid line discipline: %s"
+msgstr "不正な id: %s\n"
+
+#: sys-utils/ldattach.c:207
+#, c-format
+msgid "%s is not a serial line"
+msgstr "%s はシリアルラインではありません"
+
+#: sys-utils/ldattach.c:213
+#, fuzzy, c-format
+msgid "cannot get terminal attributes for %s"
+msgstr "%s のサイズを取得できません"
+
+#: sys-utils/ldattach.c:216
+#, c-format
+msgid "speed %d unsupported"
+msgstr "速度 %d はサポートされません"
+
+#: sys-utils/ldattach.c:247
+#, c-format
+msgid "cannot set terminal attributes for %s"
+msgstr ""
+
+#: sys-utils/ldattach.c:254
+#, fuzzy
+msgid "cannot set line discipline"
+msgstr "ディスクドライブ上で seek できません"
+
+#: sys-utils/ldattach.c:260
+#, fuzzy
+msgid "cannot daemonize"
+msgstr "%s を open できません"
+
+#: sys-utils/lscpu.c:64
+msgid "none"
+msgstr "なし"
+
+#: sys-utils/lscpu.c:65
+msgid "para"
+msgstr "準仮想化"
+
+#: sys-utils/lscpu.c:66
+msgid "full"
+msgstr "完全仮想化"
+
+#: sys-utils/lscpu.c:129 sys-utils/lscpu.c:152 sys-utils/lscpu.c:441
+#, c-format
+msgid "error: %s"
+msgstr "エラー: %s"
+
+#: sys-utils/lscpu.c:154
+#, fuzzy, c-format
+msgid "error parse: %s"
+msgstr "%s の読み取りエラー\n"
+
+#: sys-utils/lscpu.c:176
+#, fuzzy
+msgid "error: strdup failed"
+msgstr "標準出力への書き込みが失敗しました"
+
+#: sys-utils/lscpu.c:259
+msgid "error: uname failed"
+msgstr "エラー: uname が失敗"
+
+#: sys-utils/lscpu.c:491
+msgid "error: malloc failed"
+msgstr "エラー: malloc に失敗"
+
+#: sys-utils/lscpu.c:506
+msgid "error: /sys filesystem is not accessable."
+msgstr "エラー: /sys ファイルシステムはアクセス不可能です。"
+
+#: sys-utils/lscpu.c:524
+#, 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"
+"# CPU,Core,Socket,Node"
+msgstr ""
+"# 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"
+"# CPU,Core,Socket,Node"
+
+#: sys-utils/lscpu.c:590
+msgid "Thread(s) per core:"
+msgstr "コアあたりのスレッド数:"
+
+#: sys-utils/lscpu.c:591
+msgid "Core(s) per socket:"
+msgstr "ソケットあたりのコア数:"
+
+#: sys-utils/lscpu.c:592
+msgid "CPU socket(s):"
+msgstr "CPUソケット数:"
+
+#: sys-utils/lscpu.c:596
+msgid "NUMA node(s):"
+msgstr "NUMAノード:"
+
+#: sys-utils/lscpu.c:598
+msgid "Vendor ID:"
+msgstr "ベンダーID:"
+
+#: sys-utils/lscpu.c:600
+msgid "CPU family:"
+msgstr "CPUファミリー:"
+
+#: sys-utils/lscpu.c:602
+msgid "Model:"
+msgstr "モデル:"
+
+#: sys-utils/lscpu.c:604
+msgid "Stepping:"
+msgstr "ステッピング:"
+
+#: sys-utils/lscpu.c:606
+msgid "CPU MHz:"
+msgstr "CPU MHz:"
+
+#: sys-utils/lscpu.c:609 sys-utils/lscpu.c:611
+msgid "Virtualization:"
+msgstr "仮想化:"
+
+#: sys-utils/lscpu.c:614
+msgid "Hypervisor vendor:"
+msgstr "ハイパーバイザーベンダー:"
+
+#: sys-utils/lscpu.c:615
+msgid "Virtualization type:"
+msgstr "仮想化タイプ:"
+
+#: sys-utils/lscpu.c:623
+#, c-format
+msgid "%s cache:"
+msgstr "%s キャッシュ:"
+
+#: sys-utils/lscpu.c:631
+#, c-format
+msgid "Usage: %s [option]\n"
+msgstr "使い方: %s [オプション]\n"
+
+#: sys-utils/lscpu.c:634
+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"
+
+#: sys-utils/lscpu.c:683
+#, c-format
+msgid "error: change working directory to %s."
+msgstr "エラー: %sへ作業ディレクトリを変更する。 "
+
+#: sys-utils/rdev.c:77
+msgid "usage: rdev [ -rv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]"
+msgstr ""
+"使い方: rdev [ -rv ] [ -o オフセット ] [ イメージ [ 値 [ オフセット ] ] ]"
+
+#: sys-utils/rdev.c:78
+msgid ""
+"  rdev /dev/fd0  (or rdev /linux, etc.) displays the current ROOT device"
+msgstr "  rdev /dev/fd0  (or rdev /linux, etc.) 現在のルートデバイスを表示"
+
+#: sys-utils/rdev.c:79
+msgid "  rdev /dev/fd0 /dev/hda2         sets ROOT to /dev/hda2"
+msgstr "  rdev /dev/fd0 /dev/hda2         ルートを /dev/hda2 に設定"
+
+#: sys-utils/rdev.c:80
+msgid "  rdev -R /dev/fd0 1              set the ROOTFLAGS (readonly status)"
+msgstr "  rdev -R /dev/fd0 1              ルートフラグを設定 (読込専用状態)"
+
+#: sys-utils/rdev.c:81
+msgid "  rdev -r /dev/fd0 627            set the RAMDISK size"
+msgstr "  rdev -r /dev/fd0 627            RAM ディスクサイズを設定"
+
+#: sys-utils/rdev.c:82
+msgid "  rdev -v /dev/fd0 1              set the bootup VIDEOMODE"
+msgstr "  rdev -v /dev/fd0 1              ブート時のビデオモードを設定"
+
+#: sys-utils/rdev.c:83
+msgid "  rdev -o N ...                   use the byte offset N"
+msgstr "  rdev -o N ...                   バイトオフセット N を利用"
+
+#: sys-utils/rdev.c:84
+msgid "  rootflags ...                   same as rdev -R"
+msgstr "  rootflags ...                   rdev -R と同じ"
+
+#: sys-utils/rdev.c:85
+msgid "  ramsize ...                     same as rdev -r"
+msgstr "  ramsize ...                     rdev -r と同じ"
+
+#: sys-utils/rdev.c:86
+msgid "  vidmode ...                     same as rdev -v"
+msgstr "  vidmode ...                     rdev -v と同じ"
+
+#: sys-utils/rdev.c:87
+msgid ""
+"Note: video modes are: -3=Ask, -2=Extended, -1=NormalVga, 1=key1, 2=key2,..."
+msgstr ""
+"注意: ビデオモードは: -3=尋ねる, -2=拡張, -1=通常Vga, 1=キー1, 2=キー2,..."
+
+#: sys-utils/rdev.c:88
+msgid "      use -R 1 to mount root readonly, -R 0 for read/write."
+msgstr ""
+"      ルートを読込専用マウントするには -R 1 を、-R 0 で読み書きマウント。"
+
+#: sys-utils/rdev.c:245
+msgid "missing comma"
+msgstr "カンマを欠いています"
+
+#: sys-utils/readprofile.c:72
+#, c-format
+msgid "out of memory"
+msgstr "メモリが足りません"
+
+#: sys-utils/readprofile.c:118
+#, 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: 使い方: \"%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"
+
+#: sys-utils/readprofile.c:227
+#, c-format
+msgid "readprofile: error writing %s: %s\n"
+msgstr "readprofile: %s への書き込みエラー: %s\n"
+
+#: sys-utils/readprofile.c:268
+#, c-format
+msgid "Assuming reversed byte order. Use -n to force native byte order.\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:284
+#, c-format
+msgid "Sampling_step: %i\n"
+msgstr "サンプリングステップ: %i\n"
+
+#: sys-utils/readprofile.c:305 sys-utils/readprofile.c:331
+#, c-format
+msgid "%s: %s(%i): wrong map line\n"
+msgstr "%s: %s(%i): 間違ったマップ行\n"
+
+#: sys-utils/readprofile.c:318
+#, c-format
+msgid "%s: can't find \"_stext\" in %s\n"
+msgstr "%s: %s に \"_stext\" が見つかりません\n"
+
+#: sys-utils/readprofile.c:352
+#, c-format
+msgid "%s: profile address out of range. Wrong map file?\n"
+msgstr "%s: プロファイルアドレスが範囲外です。間違った map ファイル?\n"
+
+#: sys-utils/readprofile.c:412
+msgid "total"
+msgstr "合計"
+
+#: sys-utils/renice.c:53
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" renice [-n] priority [-p|--pid] pid  [... pid]\n"
+" renice [-n] priority  -g|--pgrp pgrp [... pgrp]\n"
+" renice [-n] priority  -u|--user user [... user]\n"
+" renice -h | --help\n"
+" renice -v | --version\n"
+"\n"
+msgstr ""
+"\n"
+"使い方:\n"
+" renice [-n] priority [-p|--pid] pid [... pid]\n"
+" renice [-n] priority  -g|--pgrp pgrp [... pgrp]\n"
+" renice [-n] priority  -u|--user user [... user]\n"
+" renice -h | --help\n"
+" renice -v | --version\n"
+"\n"
+
+#: sys-utils/renice.c:89
+#, c-format
+msgid "renice from %s\n"
+msgstr "renice from %s\n"
+
+#: sys-utils/renice.c:126
+#, c-format
+msgid "renice: %s: unknown user\n"
+msgstr "renice: %s: 知らないユーザです\n"
+
+#: sys-utils/renice.c:134
+#, c-format
+msgid "renice: %s: bad value\n"
+msgstr "renice: %s: 不正な値です\n"
+
+#: sys-utils/renice.c:152 sys-utils/renice.c:164
+msgid "getpriority"
+msgstr "getpriority"
+
+#: sys-utils/renice.c:157
+msgid "setpriority"
+msgstr "setpriority"
+
+#: sys-utils/renice.c:168
+#, c-format
+msgid "%d: old priority %d, new priority %d\n"
+msgstr "%d: 古い優先度は %d、新たな優先度は %d です\n"
+
+#: sys-utils/rtcwake.c:81
+#, c-format
+msgid ""
+"usage: %s [options]\n"
+"    -d | --device <device>    select rtc device (rtc0|rtc1|...)\n"
+"    -l | --local              RTC uses local timezone\n"
+"    -m | --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"
+"    -V | --version            show version\n"
+msgstr ""
+"使い方: %s [オプション]\n"
+"    -d | --device <デバイス>  rtc デバイスを選択する (rtc0|rtc1|...)\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 uses UTC\n"
+"    -v | --verbose            メッセージを表示する\n"
+"    -V | --version            バージョンを表示する\n"
+
+#: sys-utils/rtcwake.c:140
+msgid "read rtc time"
+msgstr ""
+
+#: sys-utils/rtcwake.c:145
+msgid "read system time"
+msgstr ""
+
+#: sys-utils/rtcwake.c:163
+msgid "convert rtc time"
+msgstr "rtc時間を変換する"
+
+#: sys-utils/rtcwake.c:222
+msgid "set rtc alarm"
+msgstr ""
+
+#: sys-utils/rtcwake.c:226
+msgid "enable rtc alarm"
+msgstr "rtcアラームを有効にする"
+
+#: sys-utils/rtcwake.c:230
+msgid "set rtc wake alarm"
+msgstr ""
+
+#: sys-utils/rtcwake.c:342
+#, c-format
+msgid "%s: unrecognized suspend state '%s'\n"
+msgstr "%s: 認識できないサスペンド状態 '%s'\n"
+
+#: sys-utils/rtcwake.c:351
+#, fuzzy, c-format
+msgid "%s: illegal interval %s seconds\n"
+msgstr "不正なキー"
+
+#: sys-utils/rtcwake.c:365
+#, c-format
+msgid "%s: illegal time_t value %s\n"
+msgstr "%s: 不正な time_t 値 %s\n"
+
+#: sys-utils/rtcwake.c:381
+#, c-format
+msgid "%s: version %s\n"
+msgstr "%s: バージョン %s\n"
+
+#: sys-utils/rtcwake.c:394
+#, c-format
+msgid "%s: assuming RTC uses UTC ...\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:399
+#, c-format
+msgid "Using UTC time.\n"
+msgstr "UTC 時間を使います。\n"
+
+#: sys-utils/rtcwake.c:400
+#, c-format
+msgid "Using local time.\n"
+msgstr "ローカル時間を使います。\n"
+
+#: sys-utils/rtcwake.c:403
+#, c-format
+msgid "%s: must provide wake time\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:413
+msgid "malloc() failed"
+msgstr "malloc() に失敗"
+
+#: sys-utils/rtcwake.c:425
+#, fuzzy, c-format
+msgid "%s: %s not enabled for wakeup events\n"
+msgstr "%s: %s は lp デバイスではありません。\n"
+
+#: sys-utils/rtcwake.c:441
+#, c-format
+msgid "alarm %ld, sys_time %ld, rtc_time %ld, seconds %u\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:446
+#, c-format
+msgid "%s: time doesn't go backward to %s\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:456
+#, c-format
+msgid "%s: wakeup from \"%s\" using %s at %s\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:473
+msgid "rtc read"
+msgstr ""
+
+#: sys-utils/rtcwake.c:482
+msgid "disable rtc alarm interrupt"
+msgstr "rtcアラームの割り込みを無効にする"
+
+#: sys-utils/setarch.c:50
+#, c-format
+msgid "Switching on %s.\n"
+msgstr ""
+
+#: sys-utils/setarch.c:113
+#, c-format
+msgid ""
+"Usage: %s%s [options] [program [program arguments]]\n"
+"\n"
+"Options:\n"
+msgstr ""
+"使い方: %s%s [options] [program [program arguments]]\n"
+"\n"
+"オプション:\n"
+
+#: sys-utils/setarch.c:117
+#, c-format
+msgid ""
+" -h, --help               displays this help text\n"
+" -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"
+msgstr ""
+
+#: sys-utils/setarch.c:131
+#, c-format
+msgid ""
+"\n"
+"For more information see setarch(8).\n"
+msgstr ""
+"\n"
+"詳細情報は、setarch(8) を確認してください。\n"
+
+#: sys-utils/setarch.c:143
+#, c-format
+msgid ""
+"%s: %s\n"
+"Try `%s --help' for more information.\n"
+msgstr ""
+"%s: %s\n"
+"詳細情報を得るには、`%s --help' を実行して下さい。\n"
+
+#: sys-utils/setarch.c:215 sys-utils/setarch.c:231
+#, fuzzy, c-format
+msgid "%s: Unrecognized architecture"
+msgstr " %s: 認識できないパーティション\n"
+
+#: sys-utils/setarch.c:249 sys-utils/setarch.c:256
+msgid "Not enough arguments"
+msgstr "引数が十分ではありません"
+
+#: sys-utils/setarch.c:265 sys-utils/setarch.c:318
+#, fuzzy, c-format
+msgid "Failed to set personality to %s"
+msgstr "%s のパーティション書き込みに失敗\n"
+
+#: sys-utils/setsid.c:26
+#, c-format
+msgid "usage: %s program [arg ...]\n"
+msgstr "使い方: %s プログラム [引数 ...]\n"
+
+#: sys-utils/tunelp.c:75
+#, c-format
+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"
+
+#: sys-utils/tunelp.c:91
+msgid "malloc error"
+msgstr "malloc エラー"
+
+#: sys-utils/tunelp.c:103
+#, c-format
+msgid "%s: bad value\n"
+msgstr "%s: 不正な値です\n"
+
+#: sys-utils/tunelp.c:242
+#, c-format
+msgid "%s: %s not an lp device.\n"
+msgstr "%s: %s は lp デバイスではありません。\n"
+
+#: sys-utils/tunelp.c:263
+#, c-format
+msgid "%s status is %d"
+msgstr "%s の状態は %d です"
+
+#: sys-utils/tunelp.c:264
+#, c-format
+msgid ", busy"
+msgstr ", ビジー"
+
+#: sys-utils/tunelp.c:265
+#, c-format
+msgid ", ready"
+msgstr ", 準備できています"
+
+#: sys-utils/tunelp.c:266
+#, c-format
+msgid ", out of paper"
+msgstr ", 用紙がありません"
+
+#: sys-utils/tunelp.c:267
+#, c-format
+msgid ", on-line"
+msgstr ", つながっています"
+
+#: sys-utils/tunelp.c:268
+#, c-format
+msgid ", error"
+msgstr ", エラー"
+
+#: sys-utils/tunelp.c:285
+msgid "LPGETIRQ error"
+msgstr "LPGETIRQ エラー"
+
+#: sys-utils/tunelp.c:291
+#, c-format
+msgid "%s using IRQ %d\n"
+msgstr "%s は IRQ %d を使います\n"
+
+#: sys-utils/tunelp.c:293
+#, c-format
+msgid "%s using polling\n"
+msgstr "%s はポーリングを行います\n"
+
+#: text-utils/col.c:154
+#, c-format
+msgid "col: bad -l argument %s.\n"
+msgstr "col: 不正な -l の引数 %s です。\n"
+
+#: text-utils/col.c:544
+#, c-format
+msgid "usage: col [-bfpx] [-l nline]\n"
+msgstr "使い方: col [-bfpx] [-l 行数]\n"
+
+#: text-utils/col.c:550
+#, c-format
+msgid "col: write error.\n"
+msgstr "col: 書き込みエラー。\n"
+
+#: text-utils/col.c:557
+#, c-format
+msgid "col: warning: can't back up %s.\n"
+msgstr "col: 警告: %sバックアップできません。\n"
+
+#: text-utils/col.c:558
+msgid "past first line"
+msgstr "最初の行以前を"
+
+#: text-utils/col.c:558
+msgid "-- line already flushed"
+msgstr "行は既に書き込まれたので"
+
+#: text-utils/colcrt.c:97
+#, c-format
+msgid "usage: %s [ - ] [ -2 ] [ file ... ]\n"
+msgstr "使い方: %s [ - ] [ -2 ] [ ファイル ... ]\n"
+
+#: text-utils/column.c:297
+msgid "line too long"
+msgstr "行が長すぎます"
+
+#: text-utils/column.c:374
+#, c-format
+msgid "usage: column [-tx] [-c columns] [file ...]\n"
+msgstr "使い方: column [-tx] [-c カラム数] [ファイル ...]\n"
+
+#: text-utils/hexsyntax.c:82
+#, c-format
+msgid "hexdump: bad length value.\n"
+msgstr "hexdump: 不正な長さの値。\n"
+
+#: text-utils/hexsyntax.c:93
+#, c-format
+msgid "hexdump: bad skip value.\n"
+msgstr "hexdump: 不正なスキップ値です。\n"
+
+#: text-utils/hexsyntax.c:131
+#, c-format
+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"
+
+#: text-utils/more.c:256
+#, c-format
+msgid "usage: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n"
+msgstr "使い方: %s [-dflpcsu] [+行番号 | +/パターン] 名前1 名前2 ...\n"
+
+#: text-utils/more.c:479
+#, c-format
+msgid "%s: unknown option \"-%c\"\n"
+msgstr "%s: 不明なオプション \"-%c\"\n"
+
+#: text-utils/more.c:511
+#, c-format
+msgid ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+msgstr ""
+"\n"
+"*** %s: ディレクトリ ***\n"
+"\n"
+
+#: text-utils/more.c:555
+#, c-format
+msgid ""
+"\n"
+"******** %s: Not a text file ********\n"
+"\n"
+msgstr ""
+"\n"
+"******** %s: テキストファイルではありません ********\n"
+"\n"
+
+#: text-utils/more.c:658
+#, c-format
+msgid "[Use q or Q to quit]"
+msgstr "[終了するには q か Q を押して下さい]"
+
+#: text-utils/more.c:750
+#, c-format
+msgid "--More--"
+msgstr "--続ける--"
+
+#: text-utils/more.c:752
+#, c-format
+msgid "(Next file: %s)"
+msgstr "(次のファイル: %s)"
+
+#: text-utils/more.c:757
+#, c-format
+msgid "[Press space to continue, 'q' to quit.]"
+msgstr "[スペースキーを押すと続き、'q' で終了。]"
+
+#: text-utils/more.c:1172
+#, c-format
+msgid "...back %d pages"
+msgstr "... %d ページ戻ります"
+
+#: text-utils/more.c:1174
+msgid "...back 1 page"
+msgstr "... 1 ページ戻ります"
+
+#: text-utils/more.c:1217
+msgid "...skipping one line"
+msgstr "...1行飛ばします"
+
+#: text-utils/more.c:1219
+#, c-format
+msgid "...skipping %d lines"
+msgstr "...%d 行飛ばします"
+
+#: text-utils/more.c:1256
+msgid ""
+"\n"
+"***Back***\n"
+"\n"
+msgstr ""
+"\n"
+"***戻る***\n"
+"\n"
+
+#: text-utils/more.c:1294
+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:1301
+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:1370 text-utils/more.c:1375
+#, c-format
+msgid "[Press 'h' for instructions.]"
+msgstr "['h' キーで操作方法]"
+
+#: text-utils/more.c:1409
+#, c-format
+msgid "\"%s\" line %d"
+msgstr "\"%s\" %d 行"
+
+#: text-utils/more.c:1411
+#, c-format
+msgid "[Not a file] line %d"
+msgstr "[非ファイル] %d 行"
+
+#: text-utils/more.c:1495
+msgid "  Overflow\n"
+msgstr "  大きすぎ\n"
+
+#: text-utils/more.c:1542
+msgid "...skipping\n"
+msgstr "...飛ばしています\n"
+
+#: text-utils/more.c:1571
+msgid "Regular expression botch"
+msgstr "正規表現がマズい"
+
+#: text-utils/more.c:1579
+msgid ""
+"\n"
+"Pattern not found\n"
+msgstr ""
+"\n"
+"パターンが見つかりません\n"
+
+#: text-utils/more.c:1582 text-utils/pg.c:1124 text-utils/pg.c:1275
+msgid "Pattern not found"
+msgstr "パターンが見つかりません"
+
+#: text-utils/more.c:1643
+msgid "can't fork\n"
+msgstr "子プロセスを起動できません\n"
+
+#: text-utils/more.c:1682
+msgid ""
+"\n"
+"...Skipping "
+msgstr ""
+"\n"
+"...飛ばしています "
+
+#: text-utils/more.c:1686
+msgid "...Skipping to file "
+msgstr "...ファイルを飛ばします "
+
+#: text-utils/more.c:1688
+msgid "...Skipping back to file "
+msgstr "...ファイルに戻ります "
+
+#: text-utils/more.c:1966
+msgid "Line too long"
+msgstr "行が長すぎます"
+
+#: text-utils/more.c:2009
+msgid "No previous command to substitute for"
+msgstr "大体のための以前のコマンドがありません"
+
+#: text-utils/odsyntax.c:130
+#, c-format
+msgid "od: od(1) has been deprecated for hexdump(1).\n"
+msgstr "od: od(1) は hexdump(1) に取って代わられました。\n"
+
+#: text-utils/odsyntax.c:133
+#, c-format
+msgid "od: hexdump(1) compatibility doesn't support the -%c option%s\n"
+msgstr "od: hexdump(1) 互換は -%c オプションをサポートしません%s\n"
+
+#: text-utils/odsyntax.c:134
+msgid "; see strings(1)."
+msgstr " -- string(1) を参照。"
+
+#: text-utils/parse.c:63
+#, c-format
+msgid "hexdump: can't read %s.\n"
+msgstr "hexdump: %s を読めません。\n"
+
+#: text-utils/parse.c:68
+#, c-format
+msgid "hexdump: line too long.\n"
+msgstr "hexdump: 行が長すぎます。\n"
+
+#: text-utils/parse.c:401
+#, c-format
+msgid "hexdump: byte count with multiple conversion characters.\n"
+msgstr "hexdump: 複数の文字のバイト数カウント\n"
+
+#: text-utils/parse.c:483
+#, c-format
+msgid "hexdump: bad byte count for conversion character %s.\n"
+msgstr ""
+"hexdump: 文字 %s の変換について不正なバイト数のカウントを行いました。\n"
+
+#: text-utils/parse.c:490
+#, c-format
+msgid "hexdump: %%s requires a precision or a byte count.\n"
+msgstr "hexdump: %%s は精度か、バイト数を要求します。\n"
+
+#: text-utils/parse.c:496
+#, c-format
+msgid "hexdump: bad format {%s}\n"
+msgstr "hexdump: 不正な書式 {%s}\n"
+
+#: text-utils/parse.c:502
+#, c-format
+msgid "hexdump: bad conversion character %%%s.\n"
+msgstr "hexdump: 不正な変換キャラクタ %%%s。\n"
+
+#: text-utils/pg.c:145
+msgid ""
+"All rights reserved.\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"
+msgstr ""
+
+#: text-utils/pg.c:223
+msgid "Out of memory\n"
+msgstr "メモリが足りません\n"
+
+#: text-utils/pg.c:236
+#, c-format
+msgid ""
+"%s: Usage: %s [-number] [-p string] [-cefnrs] [+line] [+/pattern/] [files]\n"
+msgstr ""
+"%s: 使い方: %s [-number] [-p string] [-cefnrs] [+line] [+/pattern/] [ファイ"
+"ル]\n"
+
+#: text-utils/pg.c:245
+#, c-format
+msgid "%s: option requires an argument -- %s\n"
+msgstr "%s: オプションは引数を要求します -- %s\n"
+
+#: text-utils/pg.c:253
+#, c-format
+msgid "%s: illegal option -- %s\n"
+msgstr "%s: 不正なオプション -- %s\n"
+
+#: text-utils/pg.c:370
+#, fuzzy
+msgid "...skipping forward\n"
+msgstr "...飛ばしています\n"
+
+#: text-utils/pg.c:372
+#, fuzzy
+msgid "...skipping backward\n"
+msgstr "...飛ばしています\n"
+
+#: text-utils/pg.c:394
+msgid "No next file"
+msgstr "次のファイルはありません"
+
+#: text-utils/pg.c:398
+#, fuzzy
+msgid "No previous file"
+msgstr "領域が定義されていません\n"
+
+#: text-utils/pg.c:928
+#, fuzzy, c-format
+msgid "%s: Read error from %s file\n"
+msgstr "%s: %s で read エラー\n"
+
+#: text-utils/pg.c:934
+#, c-format
+msgid "%s: Unexpected EOF in %s file\n"
+msgstr "%s: ファイル%sで予期しないファイルの終端\n"
+
+#: text-utils/pg.c:937
+#, fuzzy, c-format
+msgid "%s: Unknown error in %s file\n"
+msgstr "%s: %s で seek エラー\n"
+
+#: text-utils/pg.c:1032
+#, c-format
+msgid "%s: Cannot create tempfile\n"
+msgstr "%s: 一時ファイルを作成できません\n"
+
+#: text-utils/pg.c:1041 text-utils/pg.c:1216 text-utils/pg.c:1243
+msgid "RE error: "
+msgstr "RE エラー"
+
+#: text-utils/pg.c:1198
+msgid "(EOF)"
+msgstr "(EOF)"
+
+#: text-utils/pg.c:1224 text-utils/pg.c:1251
+msgid "No remembered search string"
+msgstr ""
+
+#: text-utils/pg.c:1307
+msgid "Cannot open "
+msgstr "開けません"
+
+#: text-utils/pg.c:1355
+msgid "saved"
+msgstr "保存しました"
+
+#: text-utils/pg.c:1462
+msgid ": !command not allowed in rflag mode.\n"
+msgstr ": !commandはrflagモードでは許可されません。\n"
+
+#: text-utils/pg.c:1494
+msgid "fork() failed, try again later\n"
+msgstr "fork() が失敗しました、後で実行し直してください\n"
+
+#: text-utils/pg.c:1702
+msgid "(Next file: "
+msgstr "(次のファイル: "
+
+#: text-utils/rev.c:113
+msgid "unable to allocate bufferspace"
+msgstr "バッファ空間を確保できません"
+
+#: text-utils/rev.c:143
+#, c-format
+msgid "usage: rev [file ...]\n"
+msgstr "使い方: rev [ファイル ...]\n"
+
+#: text-utils/tailf.c:57 text-utils/tailf.c:92
+#, c-format
+msgid "cannot open \"%s\" for read"
+msgstr "\"%s\"を読込み用に開けません"
+
+#: text-utils/tailf.c:95 text-utils/tailf.c:214
+#, c-format
+msgid "cannot stat \"%s\""
+msgstr "\"%s\"をstatできません"
+
+#: text-utils/tailf.c:108
+#, fuzzy, c-format
+msgid "incomplete write to \"%s\" (written %zd, expected %zd)\n"
+msgstr ""
+"\"%s\" への書き込みが完了しません (%ld 書き込み完了、%ld 書き込み予定)\n"
+
+#: text-utils/tailf.c:146
+#, c-format
+msgid "%s: cannot add inotify watch (limit of inotify watches was reached)."
+msgstr ""
+
+#: text-utils/tailf.c:150
+#, c-format
+msgid "%s: cannot add inotify watch."
+msgstr ""
+
+#: text-utils/tailf.c:159
+#, fuzzy, c-format
+msgid "%s: cannot read inotify events"
+msgstr "%s: %s を開けません\n"
+
+#: text-utils/tailf.c:198 text-utils/tailf.c:202
+msgid "invalid number of lines"
+msgstr "不正な行数"
+
+#: text-utils/tailf.c:209
+msgid "usage: tailf [-n N | -N] logfile"
+msgstr "使い方: tailf [-n N | -N] ログファイル"
+
+#: text-utils/ul.c:141
+#, c-format
+msgid "usage: %s [ -i ] [ -tTerm ] file...\n"
+msgstr "使い方: %s [ -i ] [ -t端末 ] ファイル...\n"
+
+#: text-utils/ul.c:152
+#, c-format
+msgid "trouble reading terminfo"
+msgstr "terminfo の読み込み中にトラブル発生"
+
+#: text-utils/ul.c:242
+#, c-format
+msgid "Unknown escape sequence in input: %o, %o\n"
+msgstr "不明なエスケープシーケンスが入力されました: %o, %o\n"
+
+#: text-utils/ul.c:425
+#, c-format
+msgid "Unable to allocate buffer.\n"
+msgstr "バッファの確保ができません。\n"
+
+#: text-utils/ul.c:586
+#, c-format
+msgid "Input line too long.\n"
+msgstr "入力行が長すぎます。\n"
+
+#: text-utils/ul.c:599
+#, c-format
+msgid "Out of memory when growing buffer.\n"
+msgstr "バッファを拡大するときにメモリが足りなくなりました。\n"
+
+#~ msgid "# partition table of %s\n"
+#~ msgstr "# %s のパーティションテーブル\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: unable to get current directory - %s\n"
+#~ msgstr "namei: カレントディレクトリにアクセスできません -- %s\n"
+
+#~ msgid "namei: unable to chdir to %s - %s (%d)\n"
+#~ msgstr "namei: %s に chkdir できません - %s (%d)\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 "%s: cannot stat %s: %s\n"
+#~ msgstr "%s: %s の状態取得ができません: %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 "Autoconfigure failed.\n"
+#~ msgstr "自動設定が失敗しました。\n"
+
+#~ 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 from %s%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: mounting %s\n"
+#~ msgstr "mount: %s をマウントします\n"
+
+#~ msgid "mount: cannot find %s in %s"
+#~ msgstr "mount: %2$s 内に %1$s を見つけられません"
+
+#~ 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 "Warning: deleting partitions after %d\n"
+#~ msgstr "警告: %d 以降の領域を削除します\n"
+
+#~ 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 "number `%s' to `%s' out of range\n"
+#~ msgstr "値 `%s' は `%s' にとって範囲外です\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 "mount: fs type %s not supported by kernel"
+#~ msgstr "mount: ファイルシステムタイプ %s はカーネルがサポートしていません"
+
+#~ 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 "'\n"
+#~ msgstr "'\n"
+
+#~ 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 "Warning: partition %s contains part of "
+#~ msgstr "警告: パーティション %s が"
+
+#~ msgid "the partition table (sector %lu),\n"
+#~ msgstr "パーティションテーブル (セクタ %lu)の一部を含んでおり、\n"
+
+#~ 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 "new "
+#~ msgstr "新たに"
+
+#~ 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 "s"
+#~ 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 "Cannot open /dev/port"
+#~ msgstr "/dev/port を開けません"
+
+#~ msgid "Writing disklabel to %s%d.\n"
+#~ msgstr "%s%d にディスクラベルを書き込みます。\n"
+
+#~ msgid "%s%d contains no disklabel.\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 (file)
index 0000000..9bcac74
Binary files /dev/null and b/po/nl.gmo differ
diff --git a/po/nl.po b/po/nl.po
new file mode 100644 (file)
index 0000000..b7c29fd
--- /dev/null
+++ b/po/nl.po
@@ -0,0 +1,11909 @@
+# Dutch translations for util-linux-ng-2.14.2-rc2.
+# This file is distributed under the same license as the util-linux-ng package.
+#
+# block    -> blok
+# sector   -> sector
+# cylinder -> cilinder
+# volume   -> volumen
+# (inode blijft onvertaald)
+#
+# Taco Witte <tcwitte@cs.uu.nl>, 2002, 2003.
+# Luk Claes <luk.claes@ugent.be>, 2005.
+# Benno Schulenberg <benno@vertaalt.nl>, 2006, 2007, 2008, 2009.
+msgid ""
+msgstr ""
+"Project-Id-Version: util-linux-ng-2.14.2-rc2\n"
+"Report-Msgid-Bugs-To: Karel Zak <kzak@redhat.com>\n"
+"POT-Creation-Date: 2009-11-30 16:27+0100\n"
+"PO-Revision-Date: 2009-01-31 20:52+0100\n"
+"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
+"Language-Team: Dutch <vertaling@vrijschrift.org>\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-Poedit-Language: Dutch\n"
+"X-Poedit-Country: NETHERLANDS\n"
+"X-Poedit-SourceCharset: utf-8\n"
+
+#: disk-utils/blockdev.c:37
+msgid "set read-only"
+msgstr "alleen-lezen instellen"
+
+#: disk-utils/blockdev.c:38
+msgid "set read-write"
+msgstr "lezen-en-schrijven instellen"
+
+#: disk-utils/blockdev.c:39
+msgid "get read-only"
+msgstr "schrijfstatus opvragen"
+
+#: disk-utils/blockdev.c:40
+msgid "get sectorsize"
+msgstr "sectorgrootte opvragen"
+
+#: disk-utils/blockdev.c:41
+msgid "get blocksize"
+msgstr "blokgrootte opvragen"
+
+#: disk-utils/blockdev.c:42
+msgid "set blocksize"
+msgstr "blokgrootte instellen"
+
+#: disk-utils/blockdev.c:43
+msgid "get 32-bit sector count"
+msgstr "sectoraantal opvragen (32-bits)"
+
+#: disk-utils/blockdev.c:44
+msgid "get size in bytes"
+msgstr "grootte in bytes opvragen"
+
+#: disk-utils/blockdev.c:45
+msgid "set readahead"
+msgstr "vooruitlezing instellen"
+
+#: disk-utils/blockdev.c:46
+msgid "get readahead"
+msgstr "vooruitlezing opvragen"
+
+#: disk-utils/blockdev.c:47
+msgid "set filesystem readahead"
+msgstr "vooruitlezing van bestandssysteem instellen"
+
+#: disk-utils/blockdev.c:48
+msgid "get filesystem readahead"
+msgstr "vooruitlezing van bestandssysteem opvragen"
+
+#: disk-utils/blockdev.c:49
+msgid "flush buffers"
+msgstr "buffers leegmaken"
+
+#: disk-utils/blockdev.c:51
+msgid "reread partition table"
+msgstr "partitietabel opnieuw inlezen"
+
+#: disk-utils/blockdev.c:60
+#, c-format
+msgid "Usage:\n"
+msgstr "Gebruik:\n"
+
+#: disk-utils/blockdev.c:62
+#, c-format
+msgid "  %s --report [devices]\n"
+msgstr "  %s --report [apparaten]\n"
+
+#: disk-utils/blockdev.c:63
+#, c-format
+msgid "  %s [-v|-q] commands devices\n"
+msgstr "  %s [-v|-q] opdrachten apparaten\n"
+
+#: disk-utils/blockdev.c:66
+#, c-format
+msgid "Available commands:\n"
+msgstr "Beschikbare opdrachten:\n"
+
+#: disk-utils/blockdev.c:68
+msgid "get size in 512-byte sectors"
+msgstr "grootte in 512-byte sectoren opvragen"
+
+#: disk-utils/blockdev.c:201
+#, c-format
+msgid "%s: Unknown command: %s\n"
+msgstr "%s: Onbekende opdracht: %s\n"
+
+#: disk-utils/blockdev.c:213 disk-utils/blockdev.c:222
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s vereist een argument\n"
+
+#: disk-utils/blockdev.c:255
+#, c-format
+msgid "%s failed.\n"
+msgstr "%s is mislukt.\n"
+
+#: disk-utils/blockdev.c:292
+#, c-format
+msgid "%s succeeded.\n"
+msgstr "%s is voltooid.\n"
+
+#: disk-utils/blockdev.c:310 disk-utils/blockdev.c:338
+#, c-format
+msgid "%s: cannot open %s\n"
+msgstr "%s: kan %s niet openen\n"
+
+#: disk-utils/blockdev.c:355
+#, c-format
+msgid "%s: ioctl error on %s\n"
+msgstr "%s: ioctl()-fout voor %s\n"
+
+#: disk-utils/blockdev.c:364
+#, c-format
+msgid "RO    RA   SSZ   BSZ   StartSec            Size   Device\n"
+msgstr "Stat. RA SecGt BloGt   StartSec         Grootte  Apparaat\n"
+
+#: disk-utils/elvtune.c:48
+#, c-format
+msgid "usage:\n"
+msgstr "Gebruik:\n"
+
+#: disk-utils/elvtune.c:53
+#, c-format
+msgid "\tNOTE: elvtune only works with 2.4 kernels\n"
+msgstr ""
+
+#: disk-utils/elvtune.c:104
+#, fuzzy, c-format
+msgid "parse error\n"
+msgstr "'seek'-fout"
+
+#: disk-utils/elvtune.c:110
+#, c-format
+msgid "missing blockdevice, use -h for help\n"
+msgstr ""
+
+#: disk-utils/elvtune.c:131
+#, 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:31
+#, c-format
+msgid "Formatting ... "
+msgstr "Formatteren... "
+
+#: disk-utils/fdformat.c:49 disk-utils/fdformat.c:86
+#, c-format
+msgid "done\n"
+msgstr "voltooid\n"
+
+#: disk-utils/fdformat.c:60
+#, 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:80
+#, c-format
+msgid ""
+"bad data in cyl %d\n"
+"Continuing ... "
+msgstr ""
+"Slechte gegevens in cilinder %d\n"
+"Doorgaan... "
+
+#: disk-utils/fdformat.c:96
+#, c-format
+msgid "usage: %s [ -n ] device\n"
+msgstr "Gebruik:  %s [ -n ] apparaat\n"
+
+#: disk-utils/fdformat.c:118 disk-utils/fsck.minix.c:1282
+#: disk-utils/isosize.c:181 disk-utils/mkfs.bfs.c:115 disk-utils/mkfs.c:52
+#: disk-utils/mkfs.cramfs.c:813 disk-utils/mkfs.minix.c:571
+#: disk-utils/mkswap.c:461 misc-utils/ddate.c:179 misc-utils/rename.c:79
+#: misc-utils/script.c:147 sys-utils/readprofile.c:197
+#, c-format
+msgid "%s (%s)\n"
+msgstr "%s (%s)\n"
+
+#: disk-utils/fdformat.c:132
+#, c-format
+msgid "%s: not a block device\n"
+msgstr "%s: is geen blok-apparaat\n"
+
+#: disk-utils/fdformat.c:142
+msgid "Could not determine current format type"
+msgstr "Kan huidige soort formattering niet bepalen"
+
+#: disk-utils/fdformat.c:143
+#, 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:144
+msgid "Double"
+msgstr "Dubbel"
+
+#: disk-utils/fdformat.c:144
+msgid "Single"
+msgstr "Enkel"
+
+#: disk-utils/fsck.cramfs.c:118
+#, c-format
+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"
+"  -h        deze hulptekst tonen\n"
+"  -v        meer informatie weergeven\n"
+"  -x map    uitpakken in deze map\n"
+"  bestand   te testen bestand\n"
+
+#: disk-utils/fsck.cramfs.c:164
+#, fuzzy, c-format
+msgid "stat failed: %s"
+msgstr "(Volgend bestand: %s)"
+
+#: disk-utils/fsck.cramfs.c:168 disk-utils/fsck.cramfs.c:552
+#, fuzzy, c-format
+msgid "open failed: %s"
+msgstr "openpty() is mislukt\n"
+
+#: disk-utils/fsck.cramfs.c:173
+#, c-format
+msgid "ioctl failed: unable to determine device size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:181
+#, fuzzy, c-format
+msgid "not a block device or file: %s"
+msgstr "%s: is geen blok-apparaat\n"
+
+#: disk-utils/fsck.cramfs.c:185 disk-utils/fsck.cramfs.c:227
+msgid "file length too short"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:190 disk-utils/fsck.cramfs.c:198
+#: disk-utils/fsck.cramfs.c:259 disk-utils/fsck.cramfs.c:279
+#, fuzzy, c-format
+msgid "read failed: %s"
+msgstr "(Volgend bestand: %s)"
+
+#: disk-utils/fsck.cramfs.c:208
+msgid "superblock magic not found"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:217
+#, fuzzy
+msgid "unsupported filesystem features"
+msgstr "Geef het soort bestandssysteem: "
+
+#: disk-utils/fsck.cramfs.c:220
+#, fuzzy, c-format
+msgid "superblock size (%d) too small"
+msgstr "aantal blokken is te klein"
+
+#: disk-utils/fsck.cramfs.c:224
+msgid "zero file count"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:230
+#, fuzzy, c-format
+msgid "warning: file extends past end of filesystem\n"
+msgstr "Waarschuwing: partitie %s loopt tot na het einde van de schijf\n"
+
+#: disk-utils/fsck.cramfs.c:234
+#, c-format
+msgid "warning: old cramfs format\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:247
+msgid "unable to test CRC: old cramfs format"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:273 disk-utils/fsck.cramfs.c:340
+#: disk-utils/fsck.cramfs.c:478 login-utils/chfn.c:529 login-utils/chsh.c:439
+#: sys-utils/cytune.c:321
+msgid "malloc failed"
+msgstr "malloc() is mislukt"
+
+#: disk-utils/fsck.cramfs.c:298
+#, fuzzy
+msgid "crc error"
+msgstr ", fout"
+
+#: disk-utils/fsck.cramfs.c:365
+#, fuzzy
+msgid "root inode is not directory"
+msgstr "hoofd-inode is geen map"
+
+#: disk-utils/fsck.cramfs.c:370
+#, c-format
+msgid "bad root offset (%lu)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:388
+msgid "data block too large"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:392
+#, c-format
+msgid "decompression error %p(%d): %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:416
+#, fuzzy, c-format
+msgid "  hole at %ld (%zd)\n"
+msgstr "moet zijn (%d, %d, %d)\n"
+
+#: disk-utils/fsck.cramfs.c:424 disk-utils/fsck.cramfs.c:596
+#, c-format
+msgid "  uncompressing block at %ld to %ld (%ld)\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:430
+#, fuzzy, c-format
+msgid "non-block (%ld) bytes"
+msgstr "Superblok: %zd bytes\n"
+
+#: disk-utils/fsck.cramfs.c:434
+#, c-format
+msgid "non-size (%ld vs %ld) bytes"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:440
+#, fuzzy, c-format
+msgid "write failed: %s"
+msgstr "(Volgend bestand: %s)"
+
+#: disk-utils/fsck.cramfs.c:453
+#, fuzzy, c-format
+msgid "lchown failed: %s"
+msgstr "aankoppelen is mislukt"
+
+#: disk-utils/fsck.cramfs.c:459
+#, fuzzy, c-format
+msgid "chown failed: %s"
+msgstr "aankoppelen is mislukt"
+
+#: disk-utils/fsck.cramfs.c:466
+#, fuzzy, c-format
+msgid "utime failed: %s"
+msgstr "ongeldige tijdslimiet: %s"
+
+#: disk-utils/fsck.cramfs.c:481
+#, c-format
+msgid "directory inode has zero offset and non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:495
+#, fuzzy, c-format
+msgid "mkdir failed: %s"
+msgstr "/dev: chdir() is mislukt: %m"
+
+#: disk-utils/fsck.cramfs.c:512
+msgid "filename length is zero"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:515
+msgid "bad filename length"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:522
+#, fuzzy
+msgid "bad inode offset"
+msgstr "ongeldige inode-grootte"
+
+#: disk-utils/fsck.cramfs.c:538
+msgid "file inode has zero offset and non-zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:541
+msgid "file inode has zero size and non-zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:572
+msgid "symbolic link has zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:575
+msgid "symbolic link has zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:587
+#, fuzzy, c-format
+msgid "size error in symlink: %s"
+msgstr "fout bij schrijven van %s: %s"
+
+#: disk-utils/fsck.cramfs.c:602
+#, fuzzy, c-format
+msgid "symlink failed: %s"
+msgstr "fsync() is mislukt"
+
+#: disk-utils/fsck.cramfs.c:614
+#, c-format
+msgid "special file has non-zero offset: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:626
+#, c-format
+msgid "fifo has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:632
+#, c-format
+msgid "socket has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:637
+#, c-format
+msgid "bogus mode: %s (%o)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:647
+#, fuzzy, c-format
+msgid "mknod failed: %s"
+msgstr "aankoppelen is mislukt"
+
+#: disk-utils/fsck.cramfs.c:683
+#, c-format
+msgid "directory data start (%ld) < sizeof(struct cramfs_super) + start (%ld)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:686
+#, c-format
+msgid "directory data end (%ld) != file data start (%ld)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:691
+#, fuzzy
+msgid "invalid file data offset"
+msgstr "ongeldig ID: %s\n"
+
+#: disk-utils/fsck.cramfs.c:715
+#, fuzzy
+msgid "failed to allocate outbuffer"
+msgstr "Reserveren van buffer is mislukt\n"
+
+#: disk-utils/fsck.cramfs.c:728
+#, fuzzy
+msgid "compiled without -x support"
+msgstr "umount: gecompileerd zonder ondersteuning voor '-f'\n"
+
+#: disk-utils/fsck.minix.c:210
+#, c-format
+msgid "Usage: %s [-larvsmf] /dev/name\n"
+msgstr "Gebruik:  %s [-larvsmf] /dev/naam\n"
+
+#: disk-utils/fsck.minix.c:326
+#, c-format
+msgid "%s is mounted.\t "
+msgstr "%s is aangekoppeld.\t "
+
+#: disk-utils/fsck.minix.c:328
+msgid "Do you really want to continue"
+msgstr "Wilt u echt doorgaan"
+
+#: disk-utils/fsck.minix.c:332
+#, c-format
+msgid "check aborted.\n"
+msgstr "controle is afgebroken.\n"
+
+#: disk-utils/fsck.minix.c:351 disk-utils/fsck.minix.c:374
+#, c-format
+msgid "Zone nr < FIRSTZONE in file `%s'."
+msgstr "Zonenummer < EERSTEZONE in bestand '%s'."
+
+#: disk-utils/fsck.minix.c:355 disk-utils/fsck.minix.c:378
+#, c-format
+msgid "Zone nr >= ZONES in file `%s'."
+msgstr "Zonenummer >= ZONES in bestand '%s'."
+
+#: disk-utils/fsck.minix.c:360 disk-utils/fsck.minix.c:383
+msgid "Remove block"
+msgstr "Blok verwijderen"
+
+#: disk-utils/fsck.minix.c:401
+#, 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:407
+#, c-format
+msgid "Read error: bad block in file '%s'\n"
+msgstr "Leesfout: slecht blok in bestand '%s'\n"
+
+#: disk-utils/fsck.minix.c:422
+#, 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:428 disk-utils/mkfs.minix.c:209
+msgid "seek failed in write_block"
+msgstr "'seek' is mislukt in write_block()"
+
+#: disk-utils/fsck.minix.c:431
+#, c-format
+msgid "Write error: bad block in file '%s'\n"
+msgstr "Schrijffout: slecht blok in bestand '%s'\n"
+
+#: disk-utils/fsck.minix.c:547
+msgid "seek failed in write_super_block"
+msgstr "'seek' is mislukt in write_super_block()"
+
+#: disk-utils/fsck.minix.c:549 disk-utils/mkfs.minix.c:196
+msgid "unable to write super-block"
+msgstr "kan superblok niet schrijven"
+
+#: disk-utils/fsck.minix.c:559
+msgid "Unable to write inode map"
+msgstr "kan inode-kaart niet schrijven"
+
+#: disk-utils/fsck.minix.c:561
+msgid "Unable to write zone map"
+msgstr "kan zone-kaart niet schrijven"
+
+#: disk-utils/fsck.minix.c:563
+msgid "Unable to write inodes"
+msgstr "kan inodes niet schrijven"
+
+#: disk-utils/fsck.minix.c:590
+msgid "seek failed"
+msgstr "'seek' is mislukt"
+
+#: disk-utils/fsck.minix.c:592
+msgid "unable to read super block"
+msgstr "kan superblok niet lezen"
+
+#: disk-utils/fsck.minix.c:610
+msgid "bad magic number in super-block"
+msgstr "ongeldig magisch nummer in superblok"
+
+#: disk-utils/fsck.minix.c:612
+msgid "Only 1k blocks/zones supported"
+msgstr "Alleen blokken/zones van 1K zijn mogelijk"
+
+#: disk-utils/fsck.minix.c:614
+msgid "bad s_imap_blocks field in super-block"
+msgstr "ongeldig 's_imap_blocks'-veld in superblok"
+
+#: disk-utils/fsck.minix.c:616
+msgid "bad s_zmap_blocks field in super-block"
+msgstr "ongeldig 's_zmap_blocks'-veld in superblok"
+
+#: disk-utils/fsck.minix.c:623
+msgid "Unable to allocate buffer for inode map"
+msgstr "Kan geen buffer reserveren voor inode-kaart"
+
+#: disk-utils/fsck.minix.c:626
+msgid "Unable to allocate buffer for zone map"
+msgstr "Kan geen buffer reserveren voor zone-kaart"
+
+#: disk-utils/fsck.minix.c:631
+msgid "Unable to allocate buffer for inodes"
+msgstr "Kan geen buffer reserveren voor inodes"
+
+#: disk-utils/fsck.minix.c:634
+msgid "Unable to allocate buffer for inode count"
+msgstr "Kan geen buffer reserveren voor inode-aantal"
+
+#: disk-utils/fsck.minix.c:637
+msgid "Unable to allocate buffer for zone count"
+msgstr "Kan geen buffer reserveren voor zone-aantal"
+
+#: disk-utils/fsck.minix.c:639
+msgid "Unable to read inode map"
+msgstr "Kan inode-kaart niet lezen"
+
+#: disk-utils/fsck.minix.c:641
+msgid "Unable to read zone map"
+msgstr "Kan zone-kaart niet lezen"
+
+#: disk-utils/fsck.minix.c:643
+msgid "Unable to read inodes"
+msgstr "Kan inodes niet lezen"
+
+#: disk-utils/fsck.minix.c:645
+#, c-format
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr "Waarschuwing: EersteZone != NormaleEersteZone\n"
+
+#: disk-utils/fsck.minix.c:650 disk-utils/mkfs.minix.c:450
+#, c-format
+msgid "%ld inodes\n"
+msgstr "%ld inodes\n"
+
+#: disk-utils/fsck.minix.c:651 disk-utils/mkfs.minix.c:451
+#, c-format
+msgid "%ld blocks\n"
+msgstr "%ld blokken\n"
+
+#: disk-utils/fsck.minix.c:652 disk-utils/mkfs.minix.c:452
+#, c-format
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr "EersteGegevensZone=%ld (%ld)\n"
+
+#: disk-utils/fsck.minix.c:653 disk-utils/mkfs.minix.c:453
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr "ZoneGrootte=%d\n"
+
+#: disk-utils/fsck.minix.c:654
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr "MaxGrootte=%ld\n"
+
+#: disk-utils/fsck.minix.c:655
+#, c-format
+msgid "Filesystem state=%d\n"
+msgstr "Bestandssysteemstatus=%d\n"
+
+#: disk-utils/fsck.minix.c:656
+#, c-format
+msgid ""
+"namelen=%d\n"
+"\n"
+msgstr ""
+"naamlengte=%d\n"
+"\n"
+
+#: disk-utils/fsck.minix.c:671 disk-utils/fsck.minix.c:722
+#, 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:675 disk-utils/fsck.minix.c:726
+msgid "Mark in use"
+msgstr "Markeren als gebruikt"
+
+#: disk-utils/fsck.minix.c:697 disk-utils/fsck.minix.c:746
+#, c-format
+msgid "The file `%s' has mode %05o\n"
+msgstr "Het bestand '%s' heeft modus %05o\n"
+
+#: disk-utils/fsck.minix.c:704 disk-utils/fsck.minix.c:752
+#, c-format
+msgid "Warning: inode count too big.\n"
+msgstr "Waarschuwing: het aantal inodes is te groot.\n"
+
+#: disk-utils/fsck.minix.c:764 disk-utils/fsck.minix.c:772
+msgid "root inode isn't a directory"
+msgstr "hoofd-inode is geen map"
+
+#: disk-utils/fsck.minix.c:786 disk-utils/fsck.minix.c:819
+#, 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:788 disk-utils/fsck.minix.c:821
+#: disk-utils/fsck.minix.c:1144 disk-utils/fsck.minix.c:1153
+#: disk-utils/fsck.minix.c:1199 disk-utils/fsck.minix.c:1208
+msgid "Clear"
+msgstr "Wissen"
+
+#: disk-utils/fsck.minix.c:798 disk-utils/fsck.minix.c:831
+#, 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:800 disk-utils/fsck.minix.c:833
+msgid "Correct"
+msgstr "Corrigeren"
+
+#: disk-utils/fsck.minix.c:972 disk-utils/fsck.minix.c:1039
+#, 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:975 disk-utils/fsck.minix.c:1042
+msgid " Remove"
+msgstr " Verwijderen"
+
+#: disk-utils/fsck.minix.c:989 disk-utils/fsck.minix.c:1056
+#, c-format
+msgid "%s: bad directory: '.' isn't first\n"
+msgstr "%s: ongeldige map: '.' is niet eerste\n"
+
+#: disk-utils/fsck.minix.c:997 disk-utils/fsck.minix.c:1065
+#, c-format
+msgid "%s: bad directory: '..' isn't second\n"
+msgstr "%s: ongeldige map: '..' is niet tweede\n"
+
+#: disk-utils/fsck.minix.c:1099 disk-utils/fsck.minix.c:1117
+msgid "internal error"
+msgstr "**interne fout**"
+
+#: disk-utils/fsck.minix.c:1102 disk-utils/fsck.minix.c:1120
+#, c-format
+msgid "%s: bad directory: size < 32"
+msgstr "%s: ongeldige map: grootte < 32"
+
+#: disk-utils/fsck.minix.c:1133
+msgid "seek failed in bad_zone"
+msgstr "'seek' is mislukt in bad_zone()"
+
+#: disk-utils/fsck.minix.c:1143 disk-utils/fsck.minix.c:1198
+#, c-format
+msgid "Inode %d mode not cleared."
+msgstr "Inode %d-modus is niet gewist."
+
+#: disk-utils/fsck.minix.c:1152 disk-utils/fsck.minix.c:1207
+#, c-format
+msgid "Inode %d not used, marked used in the bitmap."
+msgstr "Inode %d is ongebruikt, maar gemarkeerd als gebruikt in de bitkaart."
+
+#: disk-utils/fsck.minix.c:1158 disk-utils/fsck.minix.c:1213
+#, c-format
+msgid "Inode %d used, marked unused in the bitmap."
+msgstr "Inode %d is gebruikt, maar niet als zodanig gemarkeerd in de bitkaart."
+
+#: disk-utils/fsck.minix.c:1160 disk-utils/fsck.minix.c:1214
+msgid "Set"
+msgstr "Markeren"
+
+#: disk-utils/fsck.minix.c:1164 disk-utils/fsck.minix.c:1218
+#, c-format
+msgid "Inode %d (mode = %07o), i_nlinks=%d, counted=%d."
+msgstr "Inode %d (modus = %07o), i_nlinks=%d, geteld=%d."
+
+#: disk-utils/fsck.minix.c:1166 disk-utils/fsck.minix.c:1220
+msgid "Set i_nlinks to count"
+msgstr "i_nlinks op geteld aantal instellen"
+
+#: disk-utils/fsck.minix.c:1178 disk-utils/fsck.minix.c:1232
+#, c-format
+msgid "Zone %d: marked in use, no file uses it."
+msgstr "Zone %d is gemarkeerd als in gebruik, maar geen bestand gebruikt het."
+
+#: disk-utils/fsck.minix.c:1179 disk-utils/fsck.minix.c:1234
+msgid "Unmark"
+msgstr "Markering verwijderen"
+
+#: disk-utils/fsck.minix.c:1184 disk-utils/fsck.minix.c:1239
+#, c-format
+msgid "Zone %d: in use, counted=%d\n"
+msgstr "Zone %d: in gebruik, geteld=%d\n"
+
+#: disk-utils/fsck.minix.c:1187 disk-utils/fsck.minix.c:1242
+#, c-format
+msgid "Zone %d: not in use, counted=%d\n"
+msgstr "Zone %d: niet in gebruik, geteld=%d\n"
+
+#: disk-utils/fsck.minix.c:1287 disk-utils/mkfs.minix.c:576
+#: disk-utils/mkfs.minix.c:578
+msgid "bad inode size"
+msgstr "ongeldige inode-grootte"
+
+#: disk-utils/fsck.minix.c:1289
+msgid "bad v2 inode size"
+msgstr "ongeldige v2-inode-grootte"
+
+#: disk-utils/fsck.minix.c:1315
+msgid "need terminal for interactive repairs"
+msgstr "voor interactieve reparaties is een terminal vereist"
+
+#: disk-utils/fsck.minix.c:1319
+#, c-format
+msgid "unable to open '%s': %s"
+msgstr "kan '%s' niet openen: %s"
+
+#: disk-utils/fsck.minix.c:1334
+#, c-format
+msgid "%s is clean, no check.\n"
+msgstr "%s is schoon, geen controle.\n"
+
+#: disk-utils/fsck.minix.c:1338
+#, c-format
+msgid "Forcing filesystem check on %s.\n"
+msgstr "Gedwongen bestandssysteemcontrole van %s.\n"
+
+#: disk-utils/fsck.minix.c:1340
+#, 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:1373
+#, c-format
+msgid ""
+"\n"
+"%6ld inodes used (%ld%%)\n"
+msgstr ""
+"\n"
+"%6ld inodes gebruikt (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1378
+#, c-format
+msgid "%6ld zones used (%ld%%)\n"
+msgstr "%6ld zones gebruikt (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1380
+#, 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:1393
+#, 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 "%s: failed to open: %s\n"
+msgstr "%s: openen is mislukt: %s\n"
+
+#: disk-utils/isosize.c:135
+#, c-format
+msgid "%s: seek error on %s\n"
+msgstr "%s: 'seek'-fout op %s\n"
+
+#: disk-utils/isosize.c:141
+#, c-format
+msgid "%s: read error on %s\n"
+msgstr "%s: leesfout op %s\n"
+
+#: disk-utils/isosize.c:150
+#, c-format
+msgid "sector count: %d, sector size: %d\n"
+msgstr "aantal sectoren: %d, sectorgrootte: %d\n"
+
+#: disk-utils/isosize.c:200
+#, c-format
+msgid "%s: option parse error\n"
+msgstr "%s: optie-ontledingsfout\n"
+
+#: disk-utils/isosize.c:208
+#, c-format
+msgid "Usage: %s [-x] [-d <num>] iso9660-image\n"
+msgstr "Gebruik:  %s [-x] [-d <getal>] iso9660-afbeelding\n"
+
+#: disk-utils/mkfs.bfs.c:84
+#, c-format
+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"
+
+#: disk-utils/mkfs.bfs.c:131
+msgid "volume name too long"
+msgstr "volumennaam is te lang"
+
+#: disk-utils/mkfs.bfs.c:138
+msgid "fsname name too long"
+msgstr "bestandssysteemnaam is te lang"
+
+#: disk-utils/mkfs.bfs.c:163
+#, c-format
+msgid "cannot stat device %s"
+msgstr "kan apparaat %s niet vinden"
+
+#: disk-utils/mkfs.bfs.c:167
+#, c-format
+msgid "%s is not a block special device"
+msgstr "%s is geen blok-apparaat"
+
+#: disk-utils/mkfs.bfs.c:172 sys-utils/ldattach.c:205
+#, c-format
+msgid "cannot open %s"
+msgstr "kan %s niet openen"
+
+#: disk-utils/mkfs.bfs.c:183
+#, c-format
+msgid "cannot get size of %s"
+msgstr "kan grootte van %s niet bepalen"
+
+#: disk-utils/mkfs.bfs.c:188
+#, fuzzy, c-format
+msgid "blocks argument too large, max is %llu"
+msgstr "argument voor blokken is te groot -- maximum is %lu"
+
+#: disk-utils/mkfs.bfs.c:203
+msgid "too many inodes - max is 512"
+msgstr "te veel inodes -- maximum is 512"
+
+#: disk-utils/mkfs.bfs.c:212
+#, fuzzy, c-format
+msgid "not enough space, need at least %llu blocks"
+msgstr "niet genoeg ruimte: minstens %lu blokken nodig"
+
+#: disk-utils/mkfs.bfs.c:224 fdisk/fdisk.c:2345
+#, c-format
+msgid "Device: %s\n"
+msgstr "Apparaat: %s\n"
+
+#: disk-utils/mkfs.bfs.c:225
+#, c-format
+msgid "Volume: <%-6s>\n"
+msgstr "Volumen: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:226
+#, c-format
+msgid "FSname: <%-6s>\n"
+msgstr "Bestandssysteemnaam: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:227
+#, c-format
+msgid "BlockSize: %d\n"
+msgstr "Blokgrootte: %d\n"
+
+#: disk-utils/mkfs.bfs.c:229
+#, c-format
+msgid "Inodes: %d (in 1 block)\n"
+msgstr "Inodes: %d (in 1 blok)\n"
+
+#: disk-utils/mkfs.bfs.c:232
+#, fuzzy, c-format
+msgid "Inodes: %d (in %lld blocks)\n"
+msgstr "Inodes: %d (in %ld blokken)\n"
+
+#: disk-utils/mkfs.bfs.c:234
+#, fuzzy, c-format
+msgid "Blocks: %lld\n"
+msgstr "Blokken: %ld\n"
+
+#: disk-utils/mkfs.bfs.c:235
+#, c-format
+msgid "Inode end: %d, Data end: %d\n"
+msgstr "Inode-einde: %d, Gegevenseinde: %d\n"
+
+#: disk-utils/mkfs.bfs.c:240
+msgid "error writing superblock"
+msgstr "fout bij schrijven van superblok"
+
+#: disk-utils/mkfs.bfs.c:260
+msgid "error writing root inode"
+msgstr "fout bij schrijven van eerste inode"
+
+#: disk-utils/mkfs.bfs.c:265
+msgid "error writing inode"
+msgstr "fout bij schrijven van inode"
+
+#: disk-utils/mkfs.bfs.c:268
+msgid "seek error"
+msgstr "'seek'-fout"
+
+#: disk-utils/mkfs.bfs.c:274
+msgid "error writing . entry"
+msgstr "fout bij schrijven van .-item"
+
+#: disk-utils/mkfs.bfs.c:278
+msgid "error writing .. entry"
+msgstr "fout bij schrijven van ..-item"
+
+#: disk-utils/mkfs.bfs.c:282
+#, c-format
+msgid "error closing %s"
+msgstr "fout bij sluiten van %s"
+
+#: disk-utils/mkfs.c:73
+#, c-format
+msgid "Usage: mkfs [-V] [-t fstype] [fs-options] device [size]\n"
+msgstr ""
+"Gebruik:  mkfs [-V] [-t bestandssysteemsoort] [bestandssysteemopties] "
+"apparaat [grootte]\n"
+
+#: disk-utils/mkfs.c:88 disk-utils/mkfs.c:96 fdisk/cfdisk.c:351
+#: getopt/getopt.c:86 getopt/getopt.c:96 login-utils/wall.c:246
+#, c-format
+msgid "%s: Out of memory!\n"
+msgstr "%s: Onvoldoende geheugen beschikbaar!\n"
+
+#: disk-utils/mkfs.c:103
+#, c-format
+msgid "mkfs (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: disk-utils/mkfs.cramfs.c:126
+#, 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 ""
+"Gebruik:  %s [-h] [-v] [-b blokgrootte] [-e editie] [-i bestand]\n"
+"          [-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 "
+"afsluitstatus)\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 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:340
+#, c-format
+msgid ""
+"Very long (%zu bytes) filename `%s' found.\n"
+" Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile.  Exiting.\n"
+msgstr ""
+"Erg lange bestandsnaam '%2$s' gevonden (%1$zu bytes);\n"
+"verhoog MAX_INPUT_NAMELEN in mkcramfs.c en hercompileer -- gestopt\n"
+
+#: disk-utils/mkfs.cramfs.c:472
+#, c-format
+msgid "filesystem too big.  Exiting.\n"
+msgstr "bestandssysteem is te groot -- gestopt\n"
+
+#: disk-utils/mkfs.cramfs.c:637
+#, 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:656
+#, c-format
+msgid "%6.2f%% (%+ld bytes)\t%s\n"
+msgstr "%6.2f%% (%+ld bytes)\t%s\n"
+
+#: disk-utils/mkfs.cramfs.c:854
+#, c-format
+msgid ""
+"warning: guestimate of required size (upper bound) is %lldMB, but maximum "
+"image size is %uMB.  We might die prematurely.\n"
+msgstr ""
+"Waarschuwing: de geschatte benodigde grootte is %lld MB (bovengrens),\n"
+"maar de maximale afbeeldingsgrootte is %u MB.\n"
+"Dit gaat misschien niet lukken.\n"
+
+#: disk-utils/mkfs.cramfs.c:881
+msgid "ROM image map"
+msgstr "inlezen van ROM-afbeelding"
+
+#: disk-utils/mkfs.cramfs.c:895
+#, c-format
+msgid "Including: %s\n"
+msgstr "Inclusief: %s\n"
+
+#: disk-utils/mkfs.cramfs.c:901
+#, c-format
+msgid "Directory data: %zd bytes\n"
+msgstr "Mapgegevens: %zd bytes\n"
+
+#: disk-utils/mkfs.cramfs.c:909
+#, c-format
+msgid "Everything: %zd kilobytes\n"
+msgstr "Alles: %zd kilobytes\n"
+
+#: disk-utils/mkfs.cramfs.c:914
+#, c-format
+msgid "Super block: %zd bytes\n"
+msgstr "Superblok: %zd bytes\n"
+
+#: disk-utils/mkfs.cramfs.c:921
+#, c-format
+msgid "CRC: %x\n"
+msgstr "CRC: %x\n"
+
+#: disk-utils/mkfs.cramfs.c:926
+#, c-format
+msgid "not enough space allocated for ROM image (%lld allocated, %zu used)\n"
+msgstr ""
+"niet genoeg ruimte gereserveerd voor ROM-afbeelding (%lld gereserveerd, %zu "
+"gebruikt)\n"
+
+#: disk-utils/mkfs.cramfs.c:934
+msgid "ROM image"
+msgstr "ROM-afbeelding"
+
+#: disk-utils/mkfs.cramfs.c:938
+#, c-format
+msgid "ROM image write failed (%zd %zd)\n"
+msgstr "Schrijven van ROM-afbeelding is mislukt (%zd %zd)\n"
+
+#: disk-utils/mkfs.cramfs.c:947
+#, c-format
+msgid "warning: filenames truncated to 255 bytes.\n"
+msgstr "Waarschuwing: bestandsnamen afgekapt tot 255 bytes.\n"
+
+#: disk-utils/mkfs.cramfs.c:950
+#, c-format
+msgid "warning: files were skipped due to errors.\n"
+msgstr "Waarschuwing: bestanden zijn overgeslagen vanwege fouten.\n"
+
+#: disk-utils/mkfs.cramfs.c:953
+#, c-format
+msgid "warning: file sizes truncated to %luMB (minus 1 byte).\n"
+msgstr "Waarschuwing: bestandsgroottes afgekapt tot %lu MB (minus 1 byte).\n"
+
+#: disk-utils/mkfs.cramfs.c:958
+#, c-format
+msgid ""
+"warning: uids truncated to %u bits.  (This may be a security concern.)\n"
+msgstr ""
+"Waarschuwing: UID's afgekapt tot %u bits.\n"
+"(Dit kan een veiligheidsprobleem zijn.)\n"
+
+#: disk-utils/mkfs.cramfs.c:963
+#, c-format
+msgid ""
+"warning: gids truncated to %u bits.  (This may be a security concern.)\n"
+msgstr ""
+"Waarschuwing: GID's afgekapt tot %u bits.\n"
+"(Dit kan een veiligheidsprobleem zijn.)\n"
+
+#: disk-utils/mkfs.cramfs.c:968
+#, c-format
+msgid ""
+"WARNING: device numbers truncated to %u bits.  This almost certainly means\n"
+"that some device files will be wrong.\n"
+msgstr ""
+"WAARSCHUWING: apparaatnummers afgekapt tot %u bits.  Dit betekent zeer\n"
+"waarschijnlijk dat sommige apparaatbestanden niet juist zullen zijn.\n"
+
+#: disk-utils/mkfs.minix.c:156
+#, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]\n"
+msgstr ""
+"Gebruik:  %s [-c | -l bestandsnaam] [-nXX] [-iXX] /dev/naam [blokken]\n"
+
+#: disk-utils/mkfs.minix.c:180
+#, 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:190
+msgid "seek to boot block failed in write_tables"
+msgstr "'seek' naar opstartblok is mislukt in write_tables()"
+
+#: disk-utils/mkfs.minix.c:192
+msgid "unable to clear boot sector"
+msgstr "wissen van opstartsector is mislukt"
+
+#: disk-utils/mkfs.minix.c:194
+msgid "seek failed in write_tables"
+msgstr "'seek' is mislukt in write_tables()"
+
+#: disk-utils/mkfs.minix.c:198
+msgid "unable to write inode map"
+msgstr "schrijven van inode-kaart is mislukt"
+
+#: disk-utils/mkfs.minix.c:200
+msgid "unable to write zone map"
+msgstr "schrijven van zone-kaart is mislukt"
+
+#: disk-utils/mkfs.minix.c:202
+msgid "unable to write inodes"
+msgstr "schrijven van inodes is mislukt"
+
+#: disk-utils/mkfs.minix.c:211
+msgid "write failed in write_block"
+msgstr "schrijven is mislukt in write_block()"
+
+#: disk-utils/mkfs.minix.c:219 disk-utils/mkfs.minix.c:293
+#: disk-utils/mkfs.minix.c:342
+msgid "too many bad blocks"
+msgstr "te veel slechte blokken"
+
+#: disk-utils/mkfs.minix.c:227
+msgid "not enough good blocks"
+msgstr "onvoldoende goede blokken"
+
+#: disk-utils/mkfs.minix.c:439
+msgid "unable to allocate buffers for maps"
+msgstr "reserveren van buffers voor bitkaarten is mislukt"
+
+#: disk-utils/mkfs.minix.c:448
+msgid "unable to allocate buffer for inodes"
+msgstr "reserveren van buffer voor inodes is mislukt"
+
+#: disk-utils/mkfs.minix.c:454
+#, c-format
+msgid ""
+"Maxsize=%ld\n"
+"\n"
+msgstr ""
+"MaxGrootte=%ld\n"
+"\n"
+
+#: disk-utils/mkfs.minix.c:468
+msgid "seek failed during testing of blocks"
+msgstr "'seek' is mislukt tijdens testen van blokken"
+
+#: disk-utils/mkfs.minix.c:476
+#, 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:507 disk-utils/mkswap.c:313
+msgid "seek failed in check_blocks"
+msgstr "'seek' is mislukt in check_blocks()"
+
+#: disk-utils/mkfs.minix.c:516
+msgid "bad blocks before data-area: cannot make fs"
+msgstr "slechte blokken vóór gegevensgebied: kan geen bestandssysteem maken"
+
+#: disk-utils/mkfs.minix.c:522 disk-utils/mkfs.minix.c:547
+#, c-format
+msgid "%d bad blocks\n"
+msgstr "%d slechte blokken\n"
+
+#: disk-utils/mkfs.minix.c:524 disk-utils/mkfs.minix.c:549
+#, c-format
+msgid "one bad block\n"
+msgstr "één slecht blok\n"
+
+#: disk-utils/mkfs.minix.c:534
+msgid "can't open file of bad blocks"
+msgstr "kan slechteblokkenbestand niet openen"
+
+#: disk-utils/mkfs.minix.c:538
+#, c-format
+msgid "badblock number input error on line %d\n"
+msgstr "invoerfout in slechtbloknummer op regel %d\n"
+
+#: disk-utils/mkfs.minix.c:539
+msgid "cannot read badblocks file"
+msgstr "kan slechteblokkenbestand niet lezen"
+
+#: disk-utils/mkfs.minix.c:619
+#, c-format
+msgid "strtol error: number of blocks not specified"
+msgstr "fout in strtol(): aantal blokken niet aangegeven"
+
+#: disk-utils/mkfs.minix.c:638
+#, c-format
+msgid "unable to stat %s"
+msgstr "kan status van %s niet bepalen"
+
+#: disk-utils/mkfs.minix.c:644
+#, c-format
+msgid "unable to open %s"
+msgstr "openen van %s is mislukt"
+
+#: disk-utils/mkfs.minix.c:649
+#, c-format
+msgid "cannot determine sector size for %s"
+msgstr "kan sectorgrootte voor %s niet bepalen"
+
+#: disk-utils/mkfs.minix.c:651
+#, 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:654
+#, c-format
+msgid "cannot determine size of %s"
+msgstr "kan grootte van %s niet bepalen"
+
+#: disk-utils/mkfs.minix.c:662
+#, 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:664
+msgid "number of blocks too small"
+msgstr "aantal blokken is te klein"
+
+#: disk-utils/mkswap.c:155
+#, c-format
+msgid "Bad user-specified page size %d\n"
+msgstr "Ongeldige door gebruiker aangegeven paginagrootte %d\n"
+
+#: disk-utils/mkswap.c:163
+#, c-format
+msgid "Using user-specified page size %d, instead of the system value %d\n"
+msgstr ""
+"De opgegeven paginagrootte %d wordt gebruikt, in plaats van systeemwaarde %"
+"d.\n"
+
+#: disk-utils/mkswap.c:192
+#, c-format
+msgid "Bad swap header size, no label written.\n"
+msgstr ""
+"Onjuiste grootte van kop van wisselgeheugen; er is geen label geschreven.\n"
+
+#: disk-utils/mkswap.c:202
+#, c-format
+msgid "Label was truncated.\n"
+msgstr "Label is afgekapt.\n"
+
+#: disk-utils/mkswap.c:208
+#, c-format
+msgid "no label, "
+msgstr "geen label, "
+
+#: disk-utils/mkswap.c:216
+#, c-format
+msgid "no uuid\n"
+msgstr "geen UUID\n"
+
+#: disk-utils/mkswap.c:281
+#, fuzzy, c-format
+msgid "Usage: %s [-c] [-pPAGESZ] [-L label] [-U UUID] /dev/name [blocks]\n"
+msgstr ""
+"Gebruik:  %s [-c] [-v0|-v1] [-ppaginagrootte]           [-L label] [-U "
+"UUID]  /dev/naam  [blokken]\n"
+
+#: disk-utils/mkswap.c:295
+msgid "too many bad pages"
+msgstr "te veel slechte pagina's"
+
+#: disk-utils/mkswap.c:308 misc-utils/look.c:182 misc-utils/setterm.c:1183
+#: text-utils/more.c:1982 text-utils/more.c:1993
+msgid "Out of memory"
+msgstr "Onvoldoende geheugen beschikbaar"
+
+#: disk-utils/mkswap.c:319
+#, c-format
+msgid "one bad page\n"
+msgstr "één slechte pagina\n"
+
+#: disk-utils/mkswap.c:321
+#, c-format
+msgid "%lu bad pages\n"
+msgstr "%lu slechte pagina's\n"
+
+#: disk-utils/mkswap.c:399 disk-utils/mkswap.c:415 disk-utils/mkswap.c:633
+msgid "unable to rewind swap-device"
+msgstr "terugspoelen van wisselgeheugenapparaat is mislukt"
+
+#: disk-utils/mkswap.c:419
+#, fuzzy
+msgid "unable to erase bootbits sectors"
+msgstr "wissen van opstartsector is mislukt"
+
+#: disk-utils/mkswap.c:423
+#, c-format
+msgid "%s: %s: warning: don't erase bootbits sectors\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:426
+#, fuzzy, c-format
+msgid "        (%s partition table detected). "
+msgstr "   p      BSD-partitietabel weergeven"
+
+#: disk-utils/mkswap.c:428
+#, fuzzy, c-format
+msgid "        on whole disk. "
+msgstr "   s      complete schijflabel weergeven"
+
+#: disk-utils/mkswap.c:498
+#, c-format
+msgid "%1$s: warning: ignore -U (UUIDs are unsupported by %1$s)\n"
+msgstr ""
+"%1$s: waarschuwing: optie '-U' wordt genegeerd\n"
+"(UUID's worden door %1$s niet ondersteund)\n"
+
+#: disk-utils/mkswap.c:514
+#, fuzzy, c-format
+msgid "%s: does not support swapspace version %d.\n"
+msgstr "%s: fout: onbekende versie %d\n"
+
+#: disk-utils/mkswap.c:522
+msgid "error: UUID parsing failed"
+msgstr "fout: kan UUID niet ontleden"
+
+#: disk-utils/mkswap.c:533
+#, c-format
+msgid "%s: error: Nowhere to set up swap on?\n"
+msgstr "%s: fout: Nergens om wisselgeheugen op in te stellen?\n"
+
+#: disk-utils/mkswap.c:551
+#, fuzzy, c-format
+msgid "%s: error: size %llu KiB is larger than device size %llu KiB\n"
+msgstr "%s: fout: grootte %lu KiB is groter dan apparaatgrootte van %lu KiB\n"
+
+#: disk-utils/mkswap.c:560
+#, c-format
+msgid "%s: error: swap area needs to be at least %ld KiB\n"
+msgstr "%s: fout: wisselgeheugen moet minstens %ld KiB zijn\n"
+
+#: disk-utils/mkswap.c:577
+#, fuzzy, c-format
+msgid "%s: warning: truncating swap area to %llu KiB\n"
+msgstr "%s: waarschuwing: wisselgeheugen is afgekapt tot %ld KiB\n"
+
+#: disk-utils/mkswap.c:600
+#, c-format
+msgid "%s: error: will not try to make swapdevice on '%s'\n"
+msgstr "%s: fout: zal niet proberen wisselgeheugen te maken op '%s'\n"
+
+#: disk-utils/mkswap.c:606
+#, c-format
+msgid "%s: error: %s is mounted; will not make swapspace.\n"
+msgstr "%s: fout: %s is aangekoppeld; zal hier geen wisselgeheugen maken\n"
+
+#: disk-utils/mkswap.c:622
+msgid "Unable to set up swap-space: unreadable"
+msgstr "Instellen van wisselgeheugen is mislukt: onleesbaar"
+
+#: disk-utils/mkswap.c:625
+#, fuzzy, c-format
+msgid "Setting up swapspace version 1, size = %llu KiB\n"
+msgstr "Instellen van wisselgeheugen, versie %d, grootte = %llu KiB\n"
+
+#: disk-utils/mkswap.c:636
+#, c-format
+msgid "%s: %s: unable to write signature page: %s"
+msgstr "%s: %s: schrijven van vingerafdrukpagina is mislukt: %s"
+
+#: disk-utils/mkswap.c:647
+msgid "fsync failed"
+msgstr "fsync() is mislukt"
+
+#: disk-utils/mkswap.c:658
+#, c-format
+msgid "%s: %s: unable to obtain selinux file label: %s\n"
+msgstr "%s: %s: kan geen SELinux-bestandslabel verkrijgen: %s\n"
+
+#: disk-utils/mkswap.c:664
+msgid "unable to matchpathcon()"
+msgstr "kan uit het pad geen context bepalen"
+
+#: disk-utils/mkswap.c:667
+msgid "unable to create new selinux context"
+msgstr "kan geen nieuwe SELinux-context aanmaken"
+
+#: disk-utils/mkswap.c:669
+msgid "couldn't compute selinux context"
+msgstr "kan geen nieuwe SELinux-context berekenen"
+
+#: disk-utils/mkswap.c:675
+#, c-format
+msgid "%s: unable to relabel %s to %s: %s\n"
+msgstr "%s: kan %s niet herlabelen naar %s: %s\n"
+
+#: disk-utils/raw.c:50
+#, fuzzy, c-format
+msgid ""
+"Usage:\n"
+"  %s "
+msgstr "Gebruik:\n"
+
+#: disk-utils/raw.c:125
+#, c-format
+msgid ""
+"Device '%s' is control raw dev (use raw<N> where <N> is greater than zero)\n"
+msgstr ""
+
+#: disk-utils/raw.c:145
+#, fuzzy, c-format
+msgid "Cannot locate block device '%s' (%s)\n"
+msgstr "kan vergrendelingsbestand %s niet vergrendelen: %s\n"
+
+#: disk-utils/raw.c:151
+#, fuzzy, c-format
+msgid "Device '%s' is not a block dev\n"
+msgstr "Waarschuwing: %s is geen blok-apparaat\n"
+
+#: disk-utils/raw.c:186
+#, fuzzy, c-format
+msgid "Cannot open master raw device '"
+msgstr "kan apparaat %s niet vinden"
+
+#: disk-utils/raw.c:205
+#, fuzzy, c-format
+msgid "Cannot locate raw device '%s' (%s)\n"
+msgstr "kan apparaat %s niet vinden"
+
+#: disk-utils/raw.c:211
+#, fuzzy, c-format
+msgid "Raw device '%s' is not a character dev\n"
+msgstr "/dev/%s: is geen byte-apparaat"
+
+#: disk-utils/raw.c:216
+#, fuzzy, c-format
+msgid "Device '%s' is not a raw dev\n"
+msgstr "%s is geen seriële lijn"
+
+#: disk-utils/raw.c:231
+#, c-format
+msgid "Error querying raw device (%s)\n"
+msgstr ""
+
+#: disk-utils/raw.c:241 disk-utils/raw.c:261
+#, c-format
+msgid "raw%d:\tbound to major %d, minor %d\n"
+msgstr ""
+
+#: disk-utils/raw.c:257
+#, fuzzy, c-format
+msgid "Error setting raw device (%s)\n"
+msgstr "fout bij stoppen van service: \"%s\""
+
+#: fdisk/cfdisk.c:376 fdisk/cfdisk.c:2080
+msgid "Unusable"
+msgstr "[onbruikbaar]"
+
+#: fdisk/cfdisk.c:378 fdisk/cfdisk.c:2082
+msgid "Free Space"
+msgstr "Vrije ruimte"
+
+#: fdisk/cfdisk.c:381
+msgid "Linux ext2"
+msgstr "Linux ext2"
+
+#: fdisk/cfdisk.c:383
+msgid "Linux ext3"
+msgstr "Linux ext3"
+
+#: fdisk/cfdisk.c:385
+msgid "Linux XFS"
+msgstr "Linux XFS"
+
+#: fdisk/cfdisk.c:387
+msgid "Linux JFS"
+msgstr "Linux JFS"
+
+#: fdisk/cfdisk.c:389
+msgid "Linux ReiserFS"
+msgstr "Linux ReiserFS"
+
+#: fdisk/cfdisk.c:391 fdisk/i386_sys_types.c:57
+msgid "Linux"
+msgstr "Linux"
+
+#: fdisk/cfdisk.c:394
+msgid "OS/2 HPFS"
+msgstr "OS/2 HPFS"
+
+#: fdisk/cfdisk.c:396
+msgid "OS/2 IFS"
+msgstr "OS/2 IFS"
+
+#: fdisk/cfdisk.c:400
+msgid "NTFS"
+msgstr "NTFS"
+
+#: fdisk/cfdisk.c:411
+#, c-format
+msgid "Disk has been changed.\n"
+msgstr "De schijf is veranderd.\n"
+
+#: fdisk/cfdisk.c:413
+#, c-format
+msgid "Reboot the system to ensure the partition table is correctly updated.\n"
+msgstr ""
+"Start het systeem opnieuw op om er zeker van te zijn dat de partitietabel "
+"juist wordt bijgewerkt.\n"
+
+#: fdisk/cfdisk.c:417
+#, 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"
+
+#: fdisk/cfdisk.c:512
+msgid "FATAL ERROR"
+msgstr "FATALE FOUT"
+
+#: fdisk/cfdisk.c:513
+msgid "Press any key to exit cfdisk"
+msgstr "Druk op een toets om cfdisk af te sluiten"
+
+#: fdisk/cfdisk.c:560 fdisk/cfdisk.c:568
+msgid "Cannot seek on disk drive"
+msgstr "Kan geen 'seek' doen op schijf"
+
+#: fdisk/cfdisk.c:562
+msgid "Cannot read disk drive"
+msgstr "Kan schijf niet lezen"
+
+#: fdisk/cfdisk.c:570
+msgid "Cannot write disk drive"
+msgstr "Kan niet naar schijf schrijven"
+
+#: fdisk/cfdisk.c:913
+msgid "Too many partitions"
+msgstr "Te veel partities"
+
+#: fdisk/cfdisk.c:918
+msgid "Partition begins before sector 0"
+msgstr "Partitie begint vóór sector 0"
+
+#: fdisk/cfdisk.c:923
+msgid "Partition ends before sector 0"
+msgstr "Partitie eindigt vóór sector 0"
+
+#: fdisk/cfdisk.c:928
+msgid "Partition begins after end-of-disk"
+msgstr "Partitie begint na einde van schijf"
+
+#: fdisk/cfdisk.c:933
+msgid "Partition ends after end-of-disk"
+msgstr "Partitie eindigt na einde van schijf"
+
+#: fdisk/cfdisk.c:938
+msgid "Partition ends in the final partial cylinder"
+msgstr "Partitie eindigt in de laatste gedeeltelijke cilinder"
+
+#: fdisk/cfdisk.c:962
+msgid "logical partitions not in disk order"
+msgstr "logische partities liggen niet in schijfvolgorde"
+
+#: fdisk/cfdisk.c:965
+msgid "logical partitions overlap"
+msgstr "logische partities overlappen"
+
+#: fdisk/cfdisk.c:969
+msgid "enlarged logical partitions overlap"
+msgstr "vergrote logische partities overlappen"
+
+#: fdisk/cfdisk.c:999
+msgid ""
+"!!!! Internal error creating logical drive with no extended partition !!!!"
+msgstr ""
+"!!! Interne fout bij het maken van logische schijf zonder uitgebreide "
+"partitie !!!"
+
+#: fdisk/cfdisk.c:1010 fdisk/cfdisk.c:1022
+msgid ""
+"Cannot create logical drive here -- would create two extended partitions"
+msgstr ""
+"Kan hier geen logische schijf maken -- zou twee uitgebreide partities maken"
+
+#: fdisk/cfdisk.c:1164
+msgid "Menu item too long. Menu may look odd."
+msgstr "Menu-item is te lang.  Menu ziet er misschien raar uit."
+
+#: fdisk/cfdisk.c:1220
+msgid "Menu without direction. Defaulting to horizontal."
+msgstr "Menu zonder richting.  Standaard wordt gebruikt: horizontaal."
+
+#: fdisk/cfdisk.c:1351
+msgid "Illegal key"
+msgstr "Ongeldige toets"
+
+#: fdisk/cfdisk.c:1374
+msgid "Press a key to continue"
+msgstr "Druk op een toets om verder te gaan"
+
+#: fdisk/cfdisk.c:1421 fdisk/cfdisk.c:2051 fdisk/cfdisk.c:2583
+#: fdisk/cfdisk.c:2585
+msgid "Primary"
+msgstr "Primair"
+
+#: fdisk/cfdisk.c:1421
+msgid "Create a new primary partition"
+msgstr "P = een nieuwe primaire partitie maken"
+
+#: fdisk/cfdisk.c:1422 fdisk/cfdisk.c:2051 fdisk/cfdisk.c:2582
+#: fdisk/cfdisk.c:2585
+msgid "Logical"
+msgstr "Logisch"
+
+#: fdisk/cfdisk.c:1422
+msgid "Create a new logical partition"
+msgstr "L = een nieuwe logische partitie maken"
+
+#: fdisk/cfdisk.c:1423 fdisk/cfdisk.c:1478 fdisk/cfdisk.c:2256
+msgid "Cancel"
+msgstr "annuleren"
+
+#: fdisk/cfdisk.c:1423 fdisk/cfdisk.c:1478
+msgid "Don't create a partition"
+msgstr "Esc,Esc = Geen partitie maken"
+
+#: fdisk/cfdisk.c:1439
+msgid "!!! Internal error !!!"
+msgstr "!!! Interne fout !!!"
+
+#: fdisk/cfdisk.c:1442
+msgid "Size (in MB): "
+msgstr "Grootte (in MB): "
+
+#: fdisk/cfdisk.c:1476
+msgid "Beginning"
+msgstr "Begin"
+
+#: fdisk/cfdisk.c:1476
+msgid "Add partition at beginning of free space"
+msgstr "B = partitie toevoegen aan begin van vrije ruimte"
+
+#: fdisk/cfdisk.c:1477
+msgid "End"
+msgstr "Einde"
+
+#: fdisk/cfdisk.c:1477
+msgid "Add partition at end of free space"
+msgstr "E = Partitie toevoegen aan einde van vrije ruimte"
+
+#: fdisk/cfdisk.c:1495
+msgid "No room to create the extended partition"
+msgstr "Er is geen ruimte om de uitgebreide partitie te maken"
+
+#: fdisk/cfdisk.c:1569
+msgid "No partition table.\n"
+msgstr "Geen partitietabel aanwezig.\n"
+
+#: fdisk/cfdisk.c:1573
+msgid "No partition table. Starting with zero table."
+msgstr "Geen partitietabel aanwezig.  Gestart met een lege tabel."
+
+#: fdisk/cfdisk.c:1583
+msgid "Bad signature on partition table"
+msgstr "Onjuiste vingerafdruk in partitietabel"
+
+#: fdisk/cfdisk.c:1587
+msgid "Unknown partition table type"
+msgstr "Onbekend partitietabeltype"
+
+#: fdisk/cfdisk.c:1589
+msgid "Do you wish to start with a zero table [y/N] ?"
+msgstr "Wilt u met een lege tabel beginnen [j/N] ?"
+
+#: fdisk/cfdisk.c:1637
+msgid "You specified more cylinders than fit on disk"
+msgstr "U hebt meer cilinders aangegeven dan er op de schijf passen"
+
+#: fdisk/cfdisk.c:1669
+msgid "Cannot open disk drive"
+msgstr "Kan schijf niet openen"
+
+#: fdisk/cfdisk.c:1671 fdisk/cfdisk.c:1860
+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"
+
+#: fdisk/cfdisk.c:1682
+msgid ""
+"Warning!!  Unsupported GPT (GUID Partition Table) detected. Use GNU Parted."
+msgstr ""
+"Waarschuwing: niet-ondersteunde GPT (GUID-partitietabel) gevonden!\n"
+"Gebruik GNU 'parted'."
+
+#: fdisk/cfdisk.c:1701
+msgid "Cannot get disk size"
+msgstr "Kan schijfgrootte niet bepalen"
+
+#: fdisk/cfdisk.c:1727
+msgid "Bad primary partition"
+msgstr "Ongeldige primaire partitie"
+
+#: fdisk/cfdisk.c:1757
+msgid "Bad logical partition"
+msgstr "Ongeldige logische partitie"
+
+#: fdisk/cfdisk.c:1872
+msgid "Warning!!  This may destroy data on your disk!"
+msgstr "Waarschuwing!!  Dit kan gegevens op uw schijf wissen!"
+
+#: fdisk/cfdisk.c:1876
+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): "
+
+#: fdisk/cfdisk.c:1882
+msgid "no"
+msgstr "nee"
+
+#: fdisk/cfdisk.c:1884
+msgid "Did not write partition table to disk"
+msgstr "Partitietabel is niet naar schijf geschreven."
+
+#: fdisk/cfdisk.c:1886
+msgid "yes"
+msgstr "ja"
+
+#: fdisk/cfdisk.c:1890
+msgid "Please enter `yes' or `no'"
+msgstr "Antwoord met 'ja' of 'nee'"
+
+#: fdisk/cfdisk.c:1894
+msgid "Writing partition table to disk..."
+msgstr "Schrijven van partitietabel naar schijf..."
+
+#: fdisk/cfdisk.c:1921 fdisk/cfdisk.c:1925
+msgid "Wrote partition table to disk"
+msgstr "De partitietabel is naar schijf geschreven."
+
+#: fdisk/cfdisk.c:1923
+#, fuzzy
+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.  Herstart uw "
+"systeem om de tabel bij te werken."
+
+#: fdisk/cfdisk.c:1933
+msgid "No primary partitions are marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"Er is geen primaire partitie als opstartbaar aangegeven.  DOS MBR kan dit "
+"niet opstarten."
+
+#: fdisk/cfdisk.c:1935
+msgid ""
+"More than one primary partition is marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"Meer dan één primaire partitie is als opstartbaar aangegeven.  DOS MBR kan "
+"dit niet opstarten."
+
+#: fdisk/cfdisk.c:1993 fdisk/cfdisk.c:2112 fdisk/cfdisk.c:2196
+msgid "Enter filename or press RETURN to display on screen: "
+msgstr ""
+"Geef een bestandsnaam op, of druk op Enter voor weergave op het scherm: "
+
+#: fdisk/cfdisk.c:2002 fdisk/cfdisk.c:2120 fdisk/cfdisk.c:2204
+#, c-format
+msgid "Cannot open file '%s'"
+msgstr "Kan bestand '%s' niet openen"
+
+#: fdisk/cfdisk.c:2013
+#, c-format
+msgid "Disk Drive: %s\n"
+msgstr "Schijf: %s\n"
+
+#: fdisk/cfdisk.c:2015
+msgid "Sector 0:\n"
+msgstr "Sector 0:\n"
+
+#: fdisk/cfdisk.c:2022
+#, c-format
+msgid "Sector %d:\n"
+msgstr "Sector %d:\n"
+
+#: fdisk/cfdisk.c:2042
+msgid "   None   "
+msgstr "   [geen] "
+
+#: fdisk/cfdisk.c:2044
+msgid "   Pri/Log"
+msgstr "   Pri/Log"
+
+#: fdisk/cfdisk.c:2046
+msgid "   Primary"
+msgstr "   Primair"
+
+#: fdisk/cfdisk.c:2048
+msgid "   Logical"
+msgstr "   Logisch"
+
+#: fdisk/cfdisk.c:2086 fdisk/fdisk.c:1534 fdisk/fdisk.c:1855
+#: fdisk/fdisksgilabel.c:240 fdisk/fdisksunlabel.c:621 fdisk/sfdisk.c:653
+msgid "Unknown"
+msgstr "[onbekend]"
+
+#: fdisk/cfdisk.c:2092 fdisk/cfdisk.c:2560 fdisk/fdisksunlabel.c:44
+msgid "Boot"
+msgstr "Opst."
+
+#: fdisk/cfdisk.c:2094
+#, c-format
+msgid "(%02X)"
+msgstr "(%02X)"
+
+#: fdisk/cfdisk.c:2096
+msgid "None"
+msgstr "geen"
+
+#: fdisk/cfdisk.c:2131 fdisk/cfdisk.c:2215
+#, c-format
+msgid "Partition Table for %s\n"
+msgstr "Partitietabel van %s:\n"
+
+#: fdisk/cfdisk.c:2133
+msgid "               First       Last\n"
+msgstr "                Eerste     Laatste\n"
+
+#: fdisk/cfdisk.c:2134
+msgid ""
+" # Type       Sector      Sector   Offset    Length   Filesystem Type (ID) "
+"Flag\n"
+msgstr ""
+" # Type         sector      sector Plaats      Lengte Bestandssysteem (ID) "
+"Vlag\n"
+
+#: fdisk/cfdisk.c:2135
+msgid ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+msgstr ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+
+#: fdisk/cfdisk.c:2218
+msgid "         ---Starting----      ----Ending-----    Start     Number of\n"
+msgstr "          ----Begin----        ----Einde----                  Aantal\n"
+
+#: fdisk/cfdisk.c:2219
+msgid " # Flags Head Sect  Cyl   ID  Head Sect  Cyl     Sector    Sectors\n"
+msgstr " #  Vlag  Kop  Sec  Cil   ID   Kop  Sec  Cil Startsector    sectoren\n"
+
+#: fdisk/cfdisk.c:2220
+msgid "-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+msgstr "--  ----  ---  --- ---- ----   ---  --- ---- ----------- -----------\n"
+
+#: fdisk/cfdisk.c:2253
+msgid "Raw"
+msgstr "Ruw"
+
+#: fdisk/cfdisk.c:2253
+msgid "Print the table using raw data format"
+msgstr "R = de tabel in ruwe-gegevensindeling weergeven"
+
+#: fdisk/cfdisk.c:2254 fdisk/cfdisk.c:2357
+msgid "Sectors"
+msgstr "Sectoren"
+
+#: fdisk/cfdisk.c:2254
+msgid "Print the table ordered by sectors"
+msgstr "S = de tabel geordend op sectoren weergeven"
+
+#: fdisk/cfdisk.c:2255
+msgid "Table"
+msgstr "Tabel"
+
+#: fdisk/cfdisk.c:2255
+msgid "Just print the partition table"
+msgstr "T = gewoon de partitietabel weergeven"
+
+#: fdisk/cfdisk.c:2256
+msgid "Don't print the table"
+msgstr "Esc,Esc = tabel niet weergeven"
+
+#: fdisk/cfdisk.c:2284
+msgid "Help Screen for cfdisk"
+msgstr "Hulpscherm voor cfdisk"
+
+#: fdisk/cfdisk.c:2286
+msgid "This is cfdisk, a curses based disk partitioning program, which"
+msgstr "Dit is cfdisk, een schijfpartitioneringsprogramma waarmee u op"
+
+#: fdisk/cfdisk.c:2287
+msgid "allows you to create, delete and modify partitions on your hard"
+msgstr "uw harde schijf partities kunt maken, wijzigen of verwijderen."
+
+#: fdisk/cfdisk.c:2288
+msgid "disk drive."
+msgstr "  "
+
+#: fdisk/cfdisk.c:2290
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+
+#: fdisk/cfdisk.c:2292
+msgid "Command      Meaning"
+msgstr "Opdracht   Betekenis"
+
+#: fdisk/cfdisk.c:2293
+msgid "-------      -------"
+msgstr "--------   ---------"
+
+#: fdisk/cfdisk.c:2294
+msgid "  b          Toggle bootable flag of the current partition"
+msgstr "    b      'opstartbaar'-vlag voor huidige partitie aan/uitzetten"
+
+#: fdisk/cfdisk.c:2295
+msgid "  d          Delete the current partition"
+msgstr "    d      huidige partitie verwijderen"
+
+#: fdisk/cfdisk.c:2296
+msgid "  g          Change cylinders, heads, sectors-per-track parameters"
+msgstr "    g      cilinders, koppen, sectoren-per-spoor wijzigen;"
+
+#: fdisk/cfdisk.c:2297
+msgid "             WARNING: This option should only be used by people who"
+msgstr ""
+"             *waarschuwing*: deze optie dient alleen te worden gebruikt"
+
+#: fdisk/cfdisk.c:2298
+msgid "             know what they are doing."
+msgstr "             door mensen die echt weten wat ze doen"
+
+#: fdisk/cfdisk.c:2299
+msgid "  h          Print this screen"
+msgstr "    h      dit hulpscherm tonen"
+
+#: fdisk/cfdisk.c:2300
+msgid "  m          Maximize disk usage of the current partition"
+msgstr "    m      schijfgebruik van de huidige partitie maximaliseren;"
+
+#: fdisk/cfdisk.c:2301
+msgid "             Note: This may make the partition incompatible with"
+msgstr ""
+"             dit kan een partitie incompatibel maken met DOS, OS/2, ..."
+
+#: fdisk/cfdisk.c:2302
+msgid "             DOS, OS/2, ..."
+msgstr "           "
+
+#: fdisk/cfdisk.c:2303
+msgid "  n          Create new partition from free space"
+msgstr "    n      nieuwe partitie maken in de vrije ruimte"
+
+#: fdisk/cfdisk.c:2304
+msgid "  p          Print partition table to the screen or to a file"
+msgstr "    p      partitietabel weergeven op scherm of naar bestand;"
+
+#: fdisk/cfdisk.c:2305
+msgid "             There are several different formats for the partition"
+msgstr "             er zijn verschillende opmaken waaruit u kunt kiezen:"
+
+#: fdisk/cfdisk.c:2306
+msgid "             that you can choose from:"
+msgstr "           "
+
+#: fdisk/cfdisk.c:2307
+msgid "                r - Raw data (exactly what would be written to disk)"
+msgstr ""
+"             r - ruwe gegevens (exact wat naar schijf zou worden geschreven)"
+
+#: fdisk/cfdisk.c:2308
+msgid "                s - Table ordered by sectors"
+msgstr "             s - tabel geordend op sectoren"
+
+#: fdisk/cfdisk.c:2309
+msgid "                t - Table in raw format"
+msgstr "             t - tabel in ruwe opmaak"
+
+#: fdisk/cfdisk.c:2310
+msgid "  q          Quit program without writing partition table"
+msgstr "    q      programma afsluiten zonder de partitietabel te schrijven"
+
+#: fdisk/cfdisk.c:2311
+msgid "  t          Change the filesystem type"
+msgstr "    t      bestandssysteemsoort wijzigen"
+
+#: fdisk/cfdisk.c:2312
+msgid "  u          Change units of the partition size display"
+msgstr "    u      gebruikte eenheid voor partitiegrootte wijzigen"
+
+#: fdisk/cfdisk.c:2313
+msgid "             Rotates through MB, sectors and cylinders"
+msgstr "             (roteert door MB, sectoren en cilinders)"
+
+#: fdisk/cfdisk.c:2314
+msgid "  W          Write partition table to disk (must enter upper case W)"
+msgstr "    W      partitietabel naar schijf schrijven (moet met hoofdletter);"
+
+#: fdisk/cfdisk.c:2315
+msgid "             Since this might destroy data on the disk, you must"
+msgstr ""
+"             omdat dit mogelijk gegevens op de schijf wist, dient u het"
+
+#: fdisk/cfdisk.c:2316
+msgid "             either confirm or deny the write by entering `yes' or"
+msgstr "             schrijven te bevestigen met 'ja' of te weigeren met 'nee'"
+
+#: fdisk/cfdisk.c:2317
+msgid "             `no'"
+msgstr "           "
+
+#: fdisk/cfdisk.c:2318
+msgid "Up Arrow     Move cursor to the previous partition"
+msgstr "  omhoog   aanwijzer naar vorige partitie verplaatsen"
+
+#: fdisk/cfdisk.c:2319
+msgid "Down Arrow   Move cursor to the next partition"
+msgstr "  omlaag   aanwijzer naar volgende partitie verplaatsen"
+
+#: fdisk/cfdisk.c:2320
+msgid "CTRL-L       Redraws the screen"
+msgstr "  Ctrl-L   het scherm opnieuw tekenen"
+
+#: fdisk/cfdisk.c:2321
+msgid "  ?          Print this screen"
+msgstr "    ?      dit hulpscherm tonen"
+
+#: fdisk/cfdisk.c:2323
+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"
+
+#: fdisk/cfdisk.c:2324
+msgid "case letters (except for Writes)."
+msgstr "worden ingevoerd -- behalve W."
+
+#: fdisk/cfdisk.c:2355 fdisk/fdisksunlabel.c:237
+msgid "Cylinders"
+msgstr "Cilinders"
+
+#: fdisk/cfdisk.c:2355
+msgid "Change cylinder geometry"
+msgstr "Cilindergeometrie wijzigen"
+
+#: fdisk/cfdisk.c:2356 fdisk/fdisksunlabel.c:235
+msgid "Heads"
+msgstr "Koppen"
+
+#: fdisk/cfdisk.c:2356
+msgid "Change head geometry"
+msgstr "Koppengeometrie wijzigen"
+
+#: fdisk/cfdisk.c:2357
+msgid "Change sector geometry"
+msgstr "Sectorgeometrie wijzigen"
+
+#: fdisk/cfdisk.c:2358
+msgid "Done"
+msgstr "Klaar"
+
+#: fdisk/cfdisk.c:2358
+msgid "Done with changing geometry"
+msgstr "Klaar met wijzigen van geometrie"
+
+#: fdisk/cfdisk.c:2371
+msgid "Enter the number of cylinders: "
+msgstr "Geef het aantal cilinders: "
+
+#: fdisk/cfdisk.c:2382 fdisk/cfdisk.c:2953
+msgid "Illegal cylinders value"
+msgstr "Onjuiste waarde voor cilinders"
+
+#: fdisk/cfdisk.c:2388
+msgid "Enter the number of heads: "
+msgstr "Geef het aantal koppen: "
+
+#: fdisk/cfdisk.c:2395 fdisk/cfdisk.c:2963
+msgid "Illegal heads value"
+msgstr "Onjuiste waarde voor koppen"
+
+#: fdisk/cfdisk.c:2401
+msgid "Enter the number of sectors per track: "
+msgstr "Geef het aantal sectoren per spoor: "
+
+#: fdisk/cfdisk.c:2408 fdisk/cfdisk.c:2970
+msgid "Illegal sectors value"
+msgstr "Onjuiste waarde voor sectoren"
+
+#: fdisk/cfdisk.c:2511
+msgid "Enter filesystem type: "
+msgstr "Geef het soort bestandssysteem: "
+
+#: fdisk/cfdisk.c:2529
+msgid "Cannot change FS Type to empty"
+msgstr "Kan bestandssysteemsoort niet naar 'leeg' veranderen"
+
+#: fdisk/cfdisk.c:2531
+msgid "Cannot change FS Type to extended"
+msgstr "Kan bestandssysteemsoort niet naar 'uitgebreid' veranderen"
+
+#: fdisk/cfdisk.c:2562
+#, c-format
+msgid "Unk(%02X)"
+msgstr "?(%02X)"
+
+#: fdisk/cfdisk.c:2565 fdisk/cfdisk.c:2568
+msgid ", NC"
+msgstr ", NC"
+
+#: fdisk/cfdisk.c:2573 fdisk/cfdisk.c:2576
+msgid "NC"
+msgstr "NC"
+
+#: fdisk/cfdisk.c:2584
+msgid "Pri/Log"
+msgstr "Pri/Log"
+
+#: fdisk/cfdisk.c:2591
+#, c-format
+msgid "Unknown (%02X)"
+msgstr "Onbekend (%02X)"
+
+#: fdisk/cfdisk.c:2660
+#, c-format
+msgid "Disk Drive: %s"
+msgstr "Schijf: %s"
+
+#: fdisk/cfdisk.c:2667
+#, c-format
+msgid "Size: %lld bytes, %lld MB"
+msgstr "Grootte: %lld bytes, %lld MB"
+
+#: fdisk/cfdisk.c:2670
+#, c-format
+msgid "Size: %lld bytes, %lld.%lld GB"
+msgstr "Grootte: %lld bytes, %lld.%lld GB"
+
+#: fdisk/cfdisk.c:2674
+#, c-format
+msgid "Heads: %d   Sectors per Track: %d   Cylinders: %lld"
+msgstr "Koppen: %d   Sectoren per spoor: %d   Cilinders: %lld"
+
+#: fdisk/cfdisk.c:2678 login-utils/chfn.c:377
+msgid "Name"
+msgstr "Naam"
+
+#: fdisk/cfdisk.c:2679
+msgid "Flags"
+msgstr "Vlag"
+
+#: fdisk/cfdisk.c:2680
+msgid "Part Type"
+msgstr "Part.type"
+
+#: fdisk/cfdisk.c:2681
+msgid "FS Type"
+msgstr "Bestandssysteem"
+
+#: fdisk/cfdisk.c:2682
+msgid "[Label]"
+msgstr "[Label]"
+
+#: fdisk/cfdisk.c:2684
+msgid "    Sectors"
+msgstr "   Sectoren"
+
+#: fdisk/cfdisk.c:2686
+msgid "  Cylinders"
+msgstr "  Cilinders"
+
+#: fdisk/cfdisk.c:2688
+msgid "  Size (MB)"
+msgstr "Grootte (MB)"
+
+#: fdisk/cfdisk.c:2690
+msgid "  Size (GB)"
+msgstr "Grootte (GB)"
+
+#: fdisk/cfdisk.c:2744
+msgid "Bootable"
+msgstr "opstartBaar"
+
+#: fdisk/cfdisk.c:2744
+msgid "Toggle bootable flag of the current partition"
+msgstr "B = huidige partitie wel/niet als opstartbaar markeren"
+
+#: fdisk/cfdisk.c:2745
+msgid "Delete"
+msgstr "verwijDeren"
+
+#: fdisk/cfdisk.c:2745
+msgid "Delete the current partition"
+msgstr "D = deze partitie verwijderen"
+
+#: fdisk/cfdisk.c:2746
+msgid "Geometry"
+msgstr "Geometrie"
+
+#: fdisk/cfdisk.c:2746
+msgid "Change disk geometry (experts only)"
+msgstr "G = schijfgeometrie wijzigen (alleen voor experts)"
+
+#: fdisk/cfdisk.c:2747
+msgid "Help"
+msgstr "Hulp"
+
+#: fdisk/cfdisk.c:2747
+msgid "Print help screen"
+msgstr "H = hulpscherm tonen"
+
+#: fdisk/cfdisk.c:2748
+msgid "Maximize"
+msgstr "Maximeren"
+
+#: fdisk/cfdisk.c:2748
+msgid "Maximize disk usage of the current partition (experts only)"
+msgstr ""
+"M = schijfgebruik maximaliseren voor huidige partitie (alleen voor experts)"
+
+#: fdisk/cfdisk.c:2749
+msgid "New"
+msgstr "Nieuw"
+
+#: fdisk/cfdisk.c:2749
+msgid "Create new partition from free space"
+msgstr "N = nieuwe partitie maken in de vrije ruimte"
+
+#: fdisk/cfdisk.c:2750
+msgid "Print"
+msgstr "P:tonen"
+
+#: fdisk/cfdisk.c:2750
+msgid "Print partition table to the screen or to a file"
+msgstr "P = partitietabel weergeven (op het scherm of naar een bestand)"
+
+#: fdisk/cfdisk.c:2751
+msgid "Quit"
+msgstr "Q:stoppen"
+
+#: fdisk/cfdisk.c:2751
+msgid "Quit program without writing partition table"
+msgstr "Q = programma afsluiten zonder partitietabel te schrijven"
+
+#: fdisk/cfdisk.c:2752
+msgid "Type"
+msgstr "T:systeem"
+
+#: fdisk/cfdisk.c:2752
+msgid "Change the filesystem type (DOS, Linux, OS/2 and so on)"
+msgstr "T = bestandssysteemsoort wijzigen (DOS, Linux, OS/2, ...)"
+
+#: fdisk/cfdisk.c:2753
+msgid "Units"
+msgstr "U:eenheid"
+
+#: fdisk/cfdisk.c:2753
+msgid "Change units of the partition size display (MB, sect, cyl)"
+msgstr "U = weergave-eenheid wijzigen (MB, sectoren, cilinders)"
+
+#: fdisk/cfdisk.c:2754
+msgid "Write"
+msgstr "W:schrijven"
+
+#: fdisk/cfdisk.c:2754
+msgid "Write partition table to disk (this might destroy data)"
+msgstr "W = partitietabel naar schijf schrijven (dit kan gegevens wissen)"
+
+#: fdisk/cfdisk.c:2800
+msgid "Cannot make this partition bootable"
+msgstr "Kan deze partitie niet opstartbaar maken"
+
+#: fdisk/cfdisk.c:2810
+msgid "Cannot delete an empty partition"
+msgstr "Kan geen lege partitie verwijderen"
+
+#: fdisk/cfdisk.c:2830 fdisk/cfdisk.c:2832
+msgid "Cannot maximize this partition"
+msgstr "Kan deze partitie niet maximaliseren"
+
+#: fdisk/cfdisk.c:2840
+msgid "This partition is unusable"
+msgstr "Deze partitie is onbruikbaar"
+
+#: fdisk/cfdisk.c:2842
+msgid "This partition is already in use"
+msgstr "Deze partitie is al in gebruik"
+
+#: fdisk/cfdisk.c:2859
+msgid "Cannot change the type of an empty partition"
+msgstr "Kan niet het type van een lege partitie wijzigen"
+
+#: fdisk/cfdisk.c:2886 fdisk/cfdisk.c:2892
+msgid "No more partitions"
+msgstr "Geen partities meer over"
+
+#: fdisk/cfdisk.c:2899
+msgid "Illegal command"
+msgstr "Onjuiste opdracht"
+
+#: fdisk/cfdisk.c:2909
+#, c-format
+msgid "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+msgstr "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+
+#: fdisk/cfdisk.c:2916
+#, 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, koppen "
+"en\n"
+"                 sectoren/spoor dan de kernel aangeeft.\n"
+"\n"
+
+#: fdisk/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)."
+
+#: fdisk/fdiskbsdlabel.c:122
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+"\n"
+"BSD-label voor apparaat: %s\n"
+
+#: fdisk/fdiskbsdlabel.c:129 fdisk/fdisk.c:386 fdisk/fdisk.c:405
+#: fdisk/fdisk.c:423 fdisk/fdisk.c:430 fdisk/fdisk.c:453 fdisk/fdisk.c:471
+#: fdisk/fdisk.c:487 fdisk/fdisk.c:503
+msgid "Command action"
+msgstr "Opdracht  Actie"
+
+#: fdisk/fdiskbsdlabel.c:130
+msgid "   d   delete a BSD partition"
+msgstr "   d      een BSD-partitie verwijderen"
+
+#: fdisk/fdiskbsdlabel.c:131
+msgid "   e   edit drive data"
+msgstr "   e      schijfgegevens bewerken"
+
+#: fdisk/fdiskbsdlabel.c:132
+msgid "   i   install bootstrap"
+msgstr "   i      bootstrap installeren"
+
+#: fdisk/fdiskbsdlabel.c:133
+msgid "   l   list known filesystem types"
+msgstr "   l      bekende bestandssysteemsoorten opsommen"
+
+#: fdisk/fdiskbsdlabel.c:134 fdisk/fdisk.c:392 fdisk/fdisk.c:411
+#: fdisk/fdisk.c:424 fdisk/fdisk.c:436 fdisk/fdisk.c:461 fdisk/fdisk.c:478
+#: fdisk/fdisk.c:494 fdisk/fdisk.c:512
+msgid "   m   print this menu"
+msgstr "   m      dit menu tonen"
+
+#: fdisk/fdiskbsdlabel.c:135
+msgid "   n   add a new BSD partition"
+msgstr "   n      een nieuwe BSD-partitie toevoegen"
+
+#: fdisk/fdiskbsdlabel.c:136
+msgid "   p   print BSD partition table"
+msgstr "   p      BSD-partitietabel weergeven"
+
+#: fdisk/fdiskbsdlabel.c:137 fdisk/fdisk.c:396 fdisk/fdisk.c:415
+#: fdisk/fdisk.c:426 fdisk/fdisk.c:440 fdisk/fdisk.c:463 fdisk/fdisk.c:480
+#: fdisk/fdisk.c:496 fdisk/fdisk.c:514
+msgid "   q   quit without saving changes"
+msgstr "   q      afsluiten zonder wijzigingen op te slaan"
+
+#: fdisk/fdiskbsdlabel.c:138 fdisk/fdisk.c:464 fdisk/fdisk.c:481
+#: fdisk/fdisk.c:497 fdisk/fdisk.c:515
+msgid "   r   return to main menu"
+msgstr "   r      terug naar hoofdmenu"
+
+#: fdisk/fdiskbsdlabel.c:139
+msgid "   s   show complete disklabel"
+msgstr "   s      complete schijflabel weergeven"
+
+#: fdisk/fdiskbsdlabel.c:140
+msgid "   t   change a partition's filesystem id"
+msgstr "   t      bestandssysteem-ID van partitie wijzigen"
+
+#: fdisk/fdiskbsdlabel.c:141
+msgid "   u   change units (cylinders/sectors)"
+msgstr "   u      gebruikte eenheid wijzigen (cilinders/sectoren)"
+
+#: fdisk/fdiskbsdlabel.c:142
+msgid "   w   write disklabel to disk"
+msgstr "   w      schijflabel naar schijf schrijven"
+
+#: fdisk/fdiskbsdlabel.c:144
+msgid "   x   link BSD partition to non-BSD partition"
+msgstr "   x      BSD-partitie koppelen aan niet-BSD-partitie"
+
+#: fdisk/fdiskbsdlabel.c:176
+#, c-format
+msgid "Partition %s has invalid starting sector 0.\n"
+msgstr "Partitie %s heeft ongeldige beginsector 0.\n"
+
+#: fdisk/fdiskbsdlabel.c:180
+#, c-format
+msgid "Reading disklabel of %s at sector %d.\n"
+msgstr "Lezen van schijflabel van %s bij sector %d.\n"
+
+#: fdisk/fdiskbsdlabel.c:190
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr "Er is geen *BSD-partitie op %s.\n"
+
+#: fdisk/fdiskbsdlabel.c:204
+msgid "BSD disklabel command (m for help): "
+msgstr "BSD-schijflabelopdracht (m voor hulp): "
+
+#: fdisk/fdiskbsdlabel.c:284 fdisk/fdisk.c:2052 fdisk/fdisksgilabel.c:651
+#: fdisk/fdisksunlabel.c:431
+#, c-format
+msgid "First %s"
+msgstr "Eerste %s"
+
+#: fdisk/fdiskbsdlabel.c:291 fdisk/fdisksunlabel.c:488
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr "Laatste %s of +aantal of +aantalK of +aantalM"
+
+#: fdisk/fdiskbsdlabel.c:318
+#, c-format
+msgid "type: %s\n"
+msgstr "type: %s\n"
+
+#: fdisk/fdiskbsdlabel.c:320
+#, c-format
+msgid "type: %d\n"
+msgstr "type: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:321
+#, c-format
+msgid "disk: %.*s\n"
+msgstr "schijf: %.*s\n"
+
+#: fdisk/fdiskbsdlabel.c:322
+#, c-format
+msgid "label: %.*s\n"
+msgstr "label: %.*s\n"
+
+#: fdisk/fdiskbsdlabel.c:323
+#, c-format
+msgid "flags:"
+msgstr "opties:"
+
+#: fdisk/fdiskbsdlabel.c:325
+#, c-format
+msgid " removable"
+msgstr " verwijderbaar"
+
+#: fdisk/fdiskbsdlabel.c:327
+#, c-format
+msgid " ecc"
+msgstr " ecc"
+
+#: fdisk/fdiskbsdlabel.c:329
+#, c-format
+msgid " badsect"
+msgstr " slechte_sectoren"
+
+#: fdisk/fdiskbsdlabel.c:333
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr "bytes/sector: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:334
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr "sectoren/spoor: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:335
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr "sporen/cilinder: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:336
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr "sectoren/cilinder: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:337
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr "cilinders: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:338
+#, c-format
+msgid "rpm: %d\n"
+msgstr "rpm: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:339
+#, c-format
+msgid "interleave: %d\n"
+msgstr "tussenruimte: %d\n"
+
+# let op: komt vaker voor
+#: fdisk/fdiskbsdlabel.c:340
+#, c-format
+msgid "trackskew: %d\n"
+msgstr "trackskew: %d\n"
+
+# let op: komt vaker voor
+#: fdisk/fdiskbsdlabel.c:341
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr "cylinderskew: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:342
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr "overschakelen van kop: %ld\t# milliseconden\n"
+
+#: fdisk/fdiskbsdlabel.c:344
+#, c-format
+msgid "track-to-track seek: %ld\t# milliseconds\n"
+msgstr "spoor-tot-spoor 'seek': %ld\t# milliseconden\n"
+
+#: fdisk/fdiskbsdlabel.c:346
+#, c-format
+msgid "drivedata: "
+msgstr "schijfgegevens: "
+
+#: fdisk/fdiskbsdlabel.c:355
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+"\n"
+"%d partities:\n"
+
+#: fdisk/fdiskbsdlabel.c:356
+#, c-format
+msgid "#       start       end      size     fstype   [fsize bsize   cpg]\n"
+msgstr "#       begin     einde   grootte   bsysteem   [grtte blgrt   cpg]\n"
+
+#: fdisk/fdiskbsdlabel.c:405 fdisk/fdiskbsdlabel.c:408
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr "Schrijven van schijflabel naar %s.\n"
+
+#: fdisk/fdiskbsdlabel.c:420 fdisk/fdiskbsdlabel.c:422
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr "%s bevat geen schijflabel.\n"
+
+#: fdisk/fdiskbsdlabel.c:427
+msgid "Do you want to create a disklabel? (y/n) "
+msgstr "Wilt u een schijflabel maken? (y/n) "
+
+#: fdisk/fdiskbsdlabel.c:467
+msgid "bytes/sector"
+msgstr "bytes/sector"
+
+#: fdisk/fdiskbsdlabel.c:468
+msgid "sectors/track"
+msgstr "sectoren/spoor"
+
+#: fdisk/fdiskbsdlabel.c:469
+msgid "tracks/cylinder"
+msgstr "sporen/cilinder"
+
+#: fdisk/fdiskbsdlabel.c:470 fdisk/fdisk.c:648 fdisk/fdisk.c:1357
+#: fdisk/sfdisk.c:945
+msgid "cylinders"
+msgstr "cilinders"
+
+#: fdisk/fdiskbsdlabel.c:477
+msgid "sectors/cylinder"
+msgstr "sectoren/cilinder"
+
+#: fdisk/fdiskbsdlabel.c:481
+#, c-format
+msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
+msgstr "Moet <= sectoren/spoor * sporen/cilinder zijn.\n"
+
+#: fdisk/fdiskbsdlabel.c:483
+msgid "rpm"
+msgstr "rpm"
+
+#: fdisk/fdiskbsdlabel.c:484
+msgid "interleave"
+msgstr "tussenruimte"
+
+#: fdisk/fdiskbsdlabel.c:485
+msgid "trackskew"
+msgstr "trackskew"
+
+#: fdisk/fdiskbsdlabel.c:486
+msgid "cylinderskew"
+msgstr "cylinderskew"
+
+#: fdisk/fdiskbsdlabel.c:487
+msgid "headswitch"
+msgstr "overschakelen van kop"
+
+#: fdisk/fdiskbsdlabel.c:488
+msgid "track-to-track seek"
+msgstr "spoor-tot-spoor 'seek'"
+
+#: fdisk/fdiskbsdlabel.c:529
+#, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr "Bootstrap: %sboot -> boot%s (%s): "
+
+#: fdisk/fdiskbsdlabel.c:554
+#, c-format
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr "Bootstrap overlapt met schijflabel!\n"
+
+#: fdisk/fdiskbsdlabel.c:575 fdisk/fdiskbsdlabel.c:577
+#, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr "Bootstrap geïnstalleerd op %s.\n"
+
+#: fdisk/fdiskbsdlabel.c:599
+#, c-format
+msgid "Partition (a-%c): "
+msgstr "Partitie (a-%c): "
+
+#: fdisk/fdiskbsdlabel.c:618 fdisk/fdisk.c:2199
+#, c-format
+msgid "The maximum number of partitions has been created\n"
+msgstr "Het maximum aantal partities is aangemaakt.\n"
+
+#: fdisk/fdiskbsdlabel.c:630
+#, c-format
+msgid "This partition already exists.\n"
+msgstr "Deze partitie bestaat al.\n"
+
+#: fdisk/fdiskbsdlabel.c:757
+#, c-format
+msgid "Warning: too many partitions (%d, maximum is %d).\n"
+msgstr "Waarschuwing: te veel partities (%d, maximum is %d).\n"
+
+#: fdisk/fdiskbsdlabel.c:805
+#, c-format
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+"\n"
+"Leegmaken van schijfbuffers...\n"
+
+#: fdisk/fdisk.c:244
+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"
+
+#: fdisk/fdisk.c:256
+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"
+
+#: fdisk/fdisk.c:265
+#, c-format
+msgid "Unable to open %s\n"
+msgstr "Kan %s niet openen\n"
+
+#: fdisk/fdisk.c:269
+#, c-format
+msgid "Unable to read %s\n"
+msgstr "Kan %s niet lezen\n"
+
+#: fdisk/fdisk.c:273
+#, c-format
+msgid "Unable to seek on %s\n"
+msgstr "Kan geen 'seek' doen op %s\n"
+
+#: fdisk/fdisk.c:277
+#, c-format
+msgid "Unable to write %s\n"
+msgstr "Kan niet schrijven naar %s\n"
+
+#: fdisk/fdisk.c:281
+#, c-format
+msgid "BLKGETSIZE ioctl failed on %s\n"
+msgstr "ioctl(BLKGETSIZE) is mislukt op %s\n"
+
+#: fdisk/fdisk.c:285
+msgid "Unable to allocate any more memory\n"
+msgstr "Kan geen geheugen meer reserveren\n"
+
+#: fdisk/fdisk.c:288
+msgid "Fatal error\n"
+msgstr "Fatale fout\n"
+
+#: fdisk/fdisk.c:387
+msgid "   a   toggle a read only flag"
+msgstr "   a      wel/niet als alleen-lezen instellen"
+
+#: fdisk/fdisk.c:388 fdisk/fdisk.c:432
+msgid "   b   edit bsd disklabel"
+msgstr "   b      een BSD-schijflabel bewerken"
+
+#: fdisk/fdisk.c:389
+msgid "   c   toggle the mountable flag"
+msgstr "   c      wel/niet als aankoppelbaar instellen"
+
+#: fdisk/fdisk.c:390 fdisk/fdisk.c:409 fdisk/fdisk.c:434
+msgid "   d   delete a partition"
+msgstr "   d      een partitie verwijderen"
+
+#: fdisk/fdisk.c:391 fdisk/fdisk.c:410 fdisk/fdisk.c:435
+msgid "   l   list known partition types"
+msgstr "   l      alle bekende partitietypen opsommen"
+
+#: fdisk/fdisk.c:393 fdisk/fdisk.c:412 fdisk/fdisk.c:437
+msgid "   n   add a new partition"
+msgstr "   n      een nieuwe partitie toevoegen"
+
+#: fdisk/fdisk.c:394 fdisk/fdisk.c:413 fdisk/fdisk.c:425 fdisk/fdisk.c:438
+msgid "   o   create a new empty DOS partition table"
+msgstr "   o      een nieuwe, lege DOS-partitietabel maken"
+
+#: fdisk/fdisk.c:395 fdisk/fdisk.c:414 fdisk/fdisk.c:439 fdisk/fdisk.c:462
+#: fdisk/fdisk.c:479 fdisk/fdisk.c:495 fdisk/fdisk.c:513
+msgid "   p   print the partition table"
+msgstr "   p      de partitietabel weergeven"
+
+#: fdisk/fdisk.c:397 fdisk/fdisk.c:416 fdisk/fdisk.c:427 fdisk/fdisk.c:441
+msgid "   s   create a new empty Sun disklabel"
+msgstr "   s      een nieuw, leeg Sun-schijflabel maken"
+
+#: fdisk/fdisk.c:398 fdisk/fdisk.c:417 fdisk/fdisk.c:442
+msgid "   t   change a partition's system id"
+msgstr "   t      systeem-ID van partitie wijzigen"
+
+#: fdisk/fdisk.c:399 fdisk/fdisk.c:418 fdisk/fdisk.c:443
+msgid "   u   change display/entry units"
+msgstr "   u      weergave/invoer-eenheid wijzigen"
+
+#: fdisk/fdisk.c:400 fdisk/fdisk.c:419 fdisk/fdisk.c:444 fdisk/fdisk.c:466
+#: fdisk/fdisk.c:483 fdisk/fdisk.c:499 fdisk/fdisk.c:517
+msgid "   v   verify the partition table"
+msgstr "   v      de partitietabel controleren"
+
+#: fdisk/fdisk.c:401 fdisk/fdisk.c:420 fdisk/fdisk.c:445 fdisk/fdisk.c:467
+#: fdisk/fdisk.c:484 fdisk/fdisk.c:500 fdisk/fdisk.c:518
+msgid "   w   write table to disk and exit"
+msgstr "   w      de tabel naar schijf schrijven en afsluiten"
+
+#: fdisk/fdisk.c:402 fdisk/fdisk.c:446
+msgid "   x   extra functionality (experts only)"
+msgstr "   x      extra functionaliteit (alleen voor experts)"
+
+#: fdisk/fdisk.c:406
+msgid "   a   select bootable partition"
+msgstr "   a      opstartbare partitie selecteren"
+
+#: fdisk/fdisk.c:407
+msgid "   b   edit bootfile entry"
+msgstr "   b      opstartbestand-item bewerken"
+
+#: fdisk/fdisk.c:408
+msgid "   c   select sgi swap partition"
+msgstr "   c      SGI-wisselgeheugenpartitie selecteren"
+
+#: fdisk/fdisk.c:431
+msgid "   a   toggle a bootable flag"
+msgstr "   a      wel/niet als opstartbaar instellen"
+
+#: fdisk/fdisk.c:433
+msgid "   c   toggle the dos compatibility flag"
+msgstr "   c      wel/niet als DOS-compatibel instellen"
+
+#: fdisk/fdisk.c:454
+msgid "   a   change number of alternate cylinders"
+msgstr "   a      aantal alternatieve cilinders wijzigen"
+
+#: fdisk/fdisk.c:455 fdisk/fdisk.c:473 fdisk/fdisk.c:489 fdisk/fdisk.c:505
+msgid "   c   change number of cylinders"
+msgstr "   c      aantal cilinders wijzigen"
+
+#: fdisk/fdisk.c:456 fdisk/fdisk.c:474 fdisk/fdisk.c:490 fdisk/fdisk.c:506
+msgid "   d   print the raw data in the partition table"
+msgstr "   d      ruwe gegevens van partitietabel weergeven"
+
+#: fdisk/fdisk.c:457
+msgid "   e   change number of extra sectors per cylinder"
+msgstr "   e      aantal extra sectoren per cilinder wijzigen"
+
+#: fdisk/fdisk.c:458 fdisk/fdisk.c:477 fdisk/fdisk.c:493 fdisk/fdisk.c:510
+msgid "   h   change number of heads"
+msgstr "   h      aantal koppen wijzigen"
+
+#: fdisk/fdisk.c:459
+msgid "   i   change interleave factor"
+msgstr "   i      tussenruimtefactor wijzigen"
+
+#: fdisk/fdisk.c:460
+msgid "   o   change rotation speed (rpm)"
+msgstr "   o      rotatiesnelheid wijzigen (rondjes per minuut)"
+
+#: fdisk/fdisk.c:465 fdisk/fdisk.c:482 fdisk/fdisk.c:498 fdisk/fdisk.c:516
+msgid "   s   change number of sectors/track"
+msgstr "   s      aantal sectoren/spoor wijzigen"
+
+#: fdisk/fdisk.c:468
+msgid "   y   change number of physical cylinders"
+msgstr "   y      aantal fysieke cilinders wijzigen"
+
+#: fdisk/fdisk.c:472 fdisk/fdisk.c:488 fdisk/fdisk.c:504
+msgid "   b   move beginning of data in a partition"
+msgstr "   b      begin van gegevens in een partitie verplaatsen"
+
+#: fdisk/fdisk.c:475 fdisk/fdisk.c:491 fdisk/fdisk.c:507
+msgid "   e   list extended partitions"
+msgstr "   e      uitgebreide partities weergeven"
+
+#: fdisk/fdisk.c:476 fdisk/fdisk.c:492 fdisk/fdisk.c:509
+msgid "   g   create an IRIX (SGI) partition table"
+msgstr "   g      een nieuw, leeg IRIX(SGI)-schijflabel maken"
+
+#: fdisk/fdisk.c:508
+msgid "   f   fix partition order"
+msgstr "   f      partitievolgorde repareren"
+
+#: fdisk/fdisk.c:511
+msgid "   i   change the disk identifier"
+msgstr "   i      schijf-ID wijzigen"
+
+#: fdisk/fdisk.c:627
+#, c-format
+msgid "You must set"
+msgstr "U moet instellen:"
+
+#: fdisk/fdisk.c:644
+msgid "heads"
+msgstr "koppen"
+
+#: fdisk/fdisk.c:646 fdisk/fdisk.c:1357 fdisk/sfdisk.c:945
+msgid "sectors"
+msgstr "sectoren"
+
+#: fdisk/fdisk.c:652
+#, 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"
+
+#: fdisk/fdisk.c:653
+msgid " and "
+msgstr " en "
+
+#: fdisk/fdisk.c:670
+#, c-format
+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"
+
+#: fdisk/fdisk.c:683
+#, 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 %d-byte sectors. Use parted(1) and GUID \n"
+"partition table format (GPT).\n"
+"\n"
+msgstr ""
+
+#: fdisk/fdisk.c:708
+#, c-format
+msgid "Bad offset in primary extended partition\n"
+msgstr "Ongeldige plaats in primaire uitgebreide partitie\n"
+
+#: fdisk/fdisk.c:722
+#, 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"
+
+#: fdisk/fdisk.c:741
+#, c-format
+msgid "Warning: extra link pointer in partition table %d\n"
+msgstr "Waarschuwing: extra koppelingsverwijzer in partitietabel %d\n"
+
+#: fdisk/fdisk.c:749
+#, c-format
+msgid "Warning: ignoring extra data in partition table %d\n"
+msgstr "Waarschuwing: extra gegevens in partitietabel %d worden genegeerd\n"
+
+#: fdisk/fdisk.c:782
+#, c-format
+msgid "omitting empty partition (%d)\n"
+msgstr "lege partitie (%d) wordt weggelaten\n"
+
+#: fdisk/fdisk.c:801
+#, c-format
+msgid "Disk identifier: 0x%08x\n"
+msgstr "Schijf-ID: 0x%08x\n"
+
+#: fdisk/fdisk.c:810
+#, c-format
+msgid "New disk identifier (current 0x%08x): "
+msgstr "Nieuw schijf-ID (huidige is 0x%08x): "
+
+#: fdisk/fdisk.c:829
+#, c-format
+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"
+
+#: fdisk/fdisk.c:861
+#, c-format
+msgid "Note: sector size is %d (not %d)\n"
+msgstr "Let op: sectorgrootte is %d (niet %d)\n"
+
+#: fdisk/fdisk.c:990
+#, c-format
+msgid "You will not be able to write the partition table.\n"
+msgstr "U zult geen partitietabel kunnen wegschrijven.\n"
+
+#: fdisk/fdisk.c:1022
+#, c-format
+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"
+
+#: fdisk/fdisk.c:1032
+#, c-format
+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"
+
+#: fdisk/fdisk.c:1049
+#, c-format
+msgid "Internal error\n"
+msgstr "Interne fout\n"
+
+#: fdisk/fdisk.c:1062
+#, c-format
+msgid "Ignoring extra extended partition %d\n"
+msgstr "Extra uitgebreide partitie %d wordt genegeerd.\n"
+
+#: fdisk/fdisk.c:1074
+#, 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"
+
+#: fdisk/fdisk.c:1096
+#, c-format
+msgid ""
+"\n"
+"got EOF thrice - exiting..\n"
+msgstr ""
+"\n"
+"driemaal EOF ontvangen -- afsluiting...\n"
+
+#: fdisk/fdisk.c:1135
+msgid "Hex code (type L to list codes): "
+msgstr "Hex-code (typ L om alle codes te tonen): "
+
+#: fdisk/fdisk.c:1175
+#, c-format
+msgid "%s (%u-%u, default %u): "
+msgstr "%s (%u-%u, standaard %u): "
+
+#: fdisk/fdisk.c:1242
+#, c-format
+msgid "Unsupported suffix: '%s'.\n"
+msgstr "Onbekend achtervoegsel: '%s'.\n"
+
+#: fdisk/fdisk.c:1243
+#, 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"
+
+#: fdisk/fdisk.c:1269
+#, c-format
+msgid "Using default value %u\n"
+msgstr "Standaardwaarde %u wordt gebruikt\n"
+
+#: fdisk/fdisk.c:1273
+#, c-format
+msgid "Value out of range.\n"
+msgstr "Waarde ligt buiten bereik.\n"
+
+#: fdisk/fdisk.c:1283
+msgid "Partition number"
+msgstr "Partitienummer"
+
+#: fdisk/fdisk.c:1294
+#, c-format
+msgid "Warning: partition %d has empty type\n"
+msgstr "Waarschuwing: partitie %d heeft een lege typeaanduiding\n"
+
+#: fdisk/fdisk.c:1316 fdisk/fdisk.c:1342
+#, c-format
+msgid "Selected partition %d\n"
+msgstr "Geselecteerde partitie is %d\n"
+
+#: fdisk/fdisk.c:1319
+#, c-format
+msgid "No partition is defined yet!\n"
+msgstr "Er zijn nog geen partities gedefinieerd!\n"
+
+#: fdisk/fdisk.c:1345
+#, c-format
+msgid "All primary partitions have been defined already!\n"
+msgstr "Alle primaire partities zijn al gedefinieerd!\n"
+
+#: fdisk/fdisk.c:1355
+msgid "cylinder"
+msgstr "cilinder"
+
+#: fdisk/fdisk.c:1355
+msgid "sector"
+msgstr "sector"
+
+#: fdisk/fdisk.c:1364
+#, c-format
+msgid "Changing display/entry units to %s\n"
+msgstr "Eenheid voor weergave/invoer is veranderd naar: %s\n"
+
+#: fdisk/fdisk.c:1375
+#, c-format
+msgid "WARNING: Partition %d is an extended partition\n"
+msgstr "WAARSCHUWING: Partitie %d is een uitgebreide partitie\n"
+
+#: fdisk/fdisk.c:1386
+#, c-format
+msgid "DOS Compatibility flag is set\n"
+msgstr "DOS-compatibiliteit is aangezet\n"
+
+#: fdisk/fdisk.c:1390
+#, c-format
+msgid "DOS Compatibility flag is not set\n"
+msgstr "DOS-compatibiliteit is uitgezet\n"
+
+#: fdisk/fdisk.c:1490
+#, c-format
+msgid "Partition %d does not exist yet!\n"
+msgstr "Partitie %d bestaat nog niet!\n"
+
+#: fdisk/fdisk.c:1495
+#, 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"
+
+#: fdisk/fdisk.c:1504
+#, 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"
+
+#: fdisk/fdisk.c:1513
+#, 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"
+
+#: fdisk/fdisk.c:1519
+#, 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"
+
+#: fdisk/fdisk.c:1536
+#, c-format
+msgid "Changed system type of partition %d to %x (%s)\n"
+msgstr "Systeemtype van partitie %d is veranderd naar %x (%s)\n"
+
+#: fdisk/fdisk.c:1539
+#, c-format
+msgid "System type of partition %d is unchanged: %x (%s)\n"
+msgstr "Systeemtype van partitie %d is onveranderd: %x (%s)\n"
+
+#: fdisk/fdisk.c:1591
+#, c-format
+msgid "Partition %d has different physical/logical beginnings (non-Linux?):\n"
+msgstr ""
+"Partitie %d heeft verschillende fysieke/logische beginpunten (niet-Linux?):\n"
+
+#: fdisk/fdisk.c:1593 fdisk/fdisk.c:1601 fdisk/fdisk.c:1610 fdisk/fdisk.c:1620
+#, c-format
+msgid "     phys=(%d, %d, %d) "
+msgstr "     fysiek=(%d, %d, %d)  "
+
+#: fdisk/fdisk.c:1594 fdisk/fdisk.c:1602
+#, c-format
+msgid "logical=(%d, %d, %d)\n"
+msgstr "logisch=(%d, %d, %d)\n"
+
+#: fdisk/fdisk.c:1599
+#, c-format
+msgid "Partition %d has different physical/logical endings:\n"
+msgstr "Partitie %d heeft verschillende fysieke/logische eindpunten:\n"
+
+#: fdisk/fdisk.c:1608
+#, c-format
+msgid "Partition %i does not start on cylinder boundary:\n"
+msgstr "Partitie %i begint niet op een cilindergrens:\n"
+
+#: fdisk/fdisk.c:1611
+#, c-format
+msgid "should be (%d, %d, 1)\n"
+msgstr "moet zijn (%d, %d, 1)\n"
+
+#: fdisk/fdisk.c:1617
+#, c-format
+msgid "Partition %i does not end on cylinder boundary.\n"
+msgstr "Partitie %i eindigt niet op een cilindergrens.\n"
+
+#: fdisk/fdisk.c:1621
+#, c-format
+msgid "should be (%d, %d, %d)\n"
+msgstr "moet zijn (%d, %d, %d)\n"
+
+#: fdisk/fdisk.c:1633
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld MB, %lld bytes\n"
+msgstr ""
+"\n"
+"Schijf %s: %ld MB, %lld bytes\n"
+
+#: fdisk/fdisk.c:1637
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld.%ld GB, %lld bytes\n"
+msgstr ""
+"\n"
+"Schijf %s: %ld.%ld GB, %lld bytes\n"
+
+#: fdisk/fdisk.c:1640
+#, c-format
+msgid "%d heads, %llu sectors/track, %d cylinders"
+msgstr "%d koppen, %llu sectoren/spoor, %d cilinders"
+
+#: fdisk/fdisk.c:1643
+#, c-format
+msgid ", total %llu sectors"
+msgstr ", totaal %llu sectoren"
+
+#: fdisk/fdisk.c:1646
+#, c-format
+msgid "Units = %s of %d * %d = %d bytes\n"
+msgstr ""
+"Eenheid = %s van %d * %d = %d bytes\n"
+"\n"
+
+#: fdisk/fdisk.c:1757
+#, 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"
+
+#: fdisk/fdisk.c:1785
+#, c-format
+msgid "Done.\n"
+msgstr "Voltooid.\n"
+
+#: fdisk/fdisk.c:1813
+#, 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"
+
+#: fdisk/fdisk.c:1826
+#, c-format
+msgid "%*s Boot      Start         End      Blocks   Id  System\n"
+msgstr "%*s Opstart   Begin       Einde     Blokken   ID  Systeem\n"
+
+#: fdisk/fdisk.c:1827 fdisk/fdisksgilabel.c:223 fdisk/fdisksunlabel.c:603
+msgid "Device"
+msgstr "Apparaat"
+
+#: fdisk/fdisk.c:1864
+#, c-format
+msgid ""
+"\n"
+"Partition table entries are not in disk order\n"
+msgstr ""
+"\n"
+"Partitietabel-items liggen niet in schijfvolgorde.\n"
+
+#: fdisk/fdisk.c:1874
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %d cylinders\n"
+"\n"
+msgstr ""
+"\n"
+"Schijf %s: %d koppen, %llu sectoren, %d cilinders\n"
+"\n"
+
+#: fdisk/fdisk.c:1876
+#, 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"
+
+#: fdisk/fdisk.c:1922
+#, c-format
+msgid "Warning: partition %d contains sector 0\n"
+msgstr "Waarschuwing: partitie %d bevat sector 0\n"
+
+#: fdisk/fdisk.c:1925
+#, c-format
+msgid "Partition %d: head %d greater than maximum %d\n"
+msgstr "Partitie %d: kopnummer %d is groter dan maximum %d\n"
+
+#: fdisk/fdisk.c:1928
+#, c-format
+msgid "Partition %d: sector %d greater than maximum %llu\n"
+msgstr "Partitie %d: sectornummer %d is groter dan maximum %llu\n"
+
+#: fdisk/fdisk.c:1931
+#, c-format
+msgid "Partitions %d: cylinder %d greater than maximum %d\n"
+msgstr "Partities %d: cilindernummer %d is groter dan maximum %d\n"
+
+#: fdisk/fdisk.c:1935
+#, 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"
+
+#: fdisk/fdisk.c:1968
+#, c-format
+msgid "Warning: bad start-of-data in partition %d\n"
+msgstr "Waarschuwing: ongeldige start-van-gegevens in partitie %d\n"
+
+#: fdisk/fdisk.c:1976
+#, c-format
+msgid "Warning: partition %d overlaps partition %d.\n"
+msgstr "Waarschuwing: partitie %d overlapt partitie %d\n"
+
+#: fdisk/fdisk.c:1996
+#, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr "Waarschuwing: partitie %d is leeg\n"
+
+#: fdisk/fdisk.c:2001
+#, c-format
+msgid "Logical partition %d not entirely in partition %d\n"
+msgstr "Logische partitie %d ligt niet geheel binnen partitie %d\n"
+
+#: fdisk/fdisk.c:2007
+#, fuzzy, c-format
+msgid "Total allocated sectors %llu greater than the maximum %llu\n"
+msgstr "Totaal aantal gereserveerde sectoren %ld is groter dan maximum %lld\n"
+
+#: fdisk/fdisk.c:2010
+#, fuzzy, c-format
+msgid "%lld unallocated %d-byte sectors\n"
+msgstr "%lld niet-gereserveerde sectoren\n"
+
+#: fdisk/fdisk.c:2025 fdisk/fdisksgilabel.c:633 fdisk/fdisksunlabel.c:416
+#, 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"
+
+#: fdisk/fdisk.c:2067
+#, c-format
+msgid "Sector %llu is already allocated\n"
+msgstr "Sector %llu is al gereserveerd\n"
+
+#: fdisk/fdisk.c:2103
+#, c-format
+msgid "No free sectors available\n"
+msgstr "Geen vrije sectoren beschikbaar\n"
+
+#: fdisk/fdisk.c:2112
+#, c-format
+msgid "Last %1$s, +%2$s or +size{K,M,G}"
+msgstr "Laatste %s, +%s of +grootte{K,M,G}"
+
+#: fdisk/fdisk.c:2178
+#, 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"
+
+#: fdisk/fdisk.c:2187
+#, 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"
+
+#: fdisk/fdisk.c:2207
+#, c-format
+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"
+
+#: fdisk/fdisk.c:2210
+#, c-format
+msgid "All logical partitions are in use\n"
+msgstr "Alle logische partities zijn in gebruik.\n"
+
+#: fdisk/fdisk.c:2211
+#, c-format
+msgid "Adding a primary partition\n"
+msgstr "Een primaire partitie wordt toegevoegd.\n"
+
+#: fdisk/fdisk.c:2216
+#, c-format
+msgid ""
+"Command action\n"
+"   %s\n"
+"   p   primary partition (1-4)\n"
+msgstr ""
+"Opdracht  Actie\n"
+"   %s\n"
+"   p      primaire partitie (1-4)\n"
+
+#: fdisk/fdisk.c:2218
+msgid "l   logical (5 or over)"
+msgstr "l      logische partitie (5 of hoger)"
+
+#: fdisk/fdisk.c:2218
+msgid "e   extended"
+msgstr "e      uitgebreide partitie"
+
+#: fdisk/fdisk.c:2237
+#, c-format
+msgid "Invalid partition number for type `%c'\n"
+msgstr "Onjuist partitienummer voor type '%c'\n"
+
+#: fdisk/fdisk.c:2273
+#, c-format
+msgid ""
+"The partition table has been altered!\n"
+"\n"
+msgstr ""
+"De partitietabel is gewijzigd!\n"
+"\n"
+
+#: fdisk/fdisk.c:2287
+#, c-format
+msgid "Calling ioctl() to re-read partition table.\n"
+msgstr "Aanroepen van ioctl() om partitietabel opnieuw in te lezen...\n"
+
+#: fdisk/fdisk.c:2296
+#, fuzzy, c-format
+msgid ""
+"\n"
+"WARNING: Re-reading the partition table failed with error %d: %s.\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: %s.\n"
+"De kernel gebruikt nog de oude tabel.\n"
+"De nieuwe tabel wordt alleen na opnieuw opstarten gebruikt.\n"
+
+#: fdisk/fdisk.c:2304
+#, 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"
+
+#: fdisk/fdisk.c:2310
+#, c-format
+msgid ""
+"\n"
+"Error closing file\n"
+msgstr ""
+"\n"
+"Fout bij sluiten van bestand\n"
+
+#: fdisk/fdisk.c:2314
+#, c-format
+msgid "Syncing disks.\n"
+msgstr "Leegmaken van schijfbuffers...\n"
+
+#: fdisk/fdisk.c:2361
+#, c-format
+msgid "Partition %d has no data area\n"
+msgstr "Partitie %d heeft geen gegevensgebied\n"
+
+#: fdisk/fdisk.c:2366
+msgid "New beginning of data"
+msgstr "Nieuw begin van gegevens"
+
+#: fdisk/fdisk.c:2382
+msgid "Expert command (m for help): "
+msgstr "Expertopdracht (m voor hulp): "
+
+#: fdisk/fdisk.c:2395
+msgid "Number of cylinders"
+msgstr "Aantal cilinders"
+
+#: fdisk/fdisk.c:2422
+msgid "Number of heads"
+msgstr "Aantal koppen"
+
+#: fdisk/fdisk.c:2449
+msgid "Number of sectors"
+msgstr "Aantal sectoren"
+
+#: fdisk/fdisk.c:2452
+#, c-format
+msgid "Warning: setting sector offset for DOS compatiblity\n"
+msgstr "Waarschuwing: sectorplaats wordt ingesteld voor DOS-compatibiliteit\n"
+
+#: fdisk/fdisk.c:2511
+#, 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"
+
+#: fdisk/fdisk.c:2533
+#, c-format
+msgid "Disk %s doesn't contain a valid partition table\n"
+msgstr "Schijf %s bevat geen geldige partitietabel\n"
+
+#: fdisk/fdisk.c:2544
+#, c-format
+msgid "Cannot open %s\n"
+msgstr "kan %s niet openen\n"
+
+#: fdisk/fdisk.c:2563 fdisk/sfdisk.c:2618
+#, c-format
+msgid "cannot open %s\n"
+msgstr "kan %s niet openen\n"
+
+#: fdisk/fdisk.c:2583
+#, c-format
+msgid "%c: unknown command\n"
+msgstr "%c: onbekende opdracht\n"
+
+#: fdisk/fdisk.c:2653
+#, c-format
+msgid "This kernel finds the sector size itself - -b option ignored\n"
+msgstr ""
+"Deze kernel vindt zelf de sectorgrootte -- optie '-b' wordt genegeerd\n"
+
+#: fdisk/fdisk.c:2657
+#, 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"
+
+#: fdisk/fdisk.c:2717
+#, 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"
+
+#: fdisk/fdisk.c:2727
+msgid "Command (m for help): "
+msgstr "Opdracht (m voor hulp): "
+
+#: fdisk/fdisk.c:2743
+#, c-format
+msgid ""
+"\n"
+"The current boot file is: %s\n"
+msgstr ""
+"\n"
+"Het huidige opstartbestand is: %s\n"
+
+#: fdisk/fdisk.c:2745
+msgid "Please enter the name of the new boot file: "
+msgstr "Geef de naam van het nieuwe opstartbestand: "
+
+#: fdisk/fdisk.c:2747
+#, c-format
+msgid "Boot file unchanged\n"
+msgstr "Opstartbestand blijft ongewijzigd.\n"
+
+#: fdisk/fdisk.c:2820
+#, c-format
+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"
+
+#: fdisk/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 'pdisk' of '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"
+
+#: fdisk/fdisksgilabel.c:81
+msgid "SGI volhdr"
+msgstr "SGI volhdr"
+
+#: fdisk/fdisksgilabel.c:82
+msgid "SGI trkrepl"
+msgstr "SGI trkrepl"
+
+#: fdisk/fdisksgilabel.c:83
+msgid "SGI secrepl"
+msgstr "SGI secrepl"
+
+#: fdisk/fdisksgilabel.c:84
+msgid "SGI raw"
+msgstr "SGI ruw"
+
+#: fdisk/fdisksgilabel.c:85
+msgid "SGI bsd"
+msgstr "SGI bsd"
+
+#: fdisk/fdisksgilabel.c:86
+msgid "SGI sysv"
+msgstr "SGI sysv"
+
+#: fdisk/fdisksgilabel.c:87
+msgid "SGI volume"
+msgstr "SGI volumen"
+
+#: fdisk/fdisksgilabel.c:88
+msgid "SGI efs"
+msgstr "SGI efs"
+
+#: fdisk/fdisksgilabel.c:89
+msgid "SGI lvol"
+msgstr "SGI lvol"
+
+#: fdisk/fdisksgilabel.c:90
+msgid "SGI rlvol"
+msgstr "SGI rlvol"
+
+#: fdisk/fdisksgilabel.c:91
+msgid "SGI xfs"
+msgstr "SGI xfs"
+
+#: fdisk/fdisksgilabel.c:92
+msgid "SGI xfslog"
+msgstr "SGI xfslog"
+
+#: fdisk/fdisksgilabel.c:93
+msgid "SGI xlv"
+msgstr "SGI xlv"
+
+#: fdisk/fdisksgilabel.c:94
+msgid "SGI xvm"
+msgstr "SGI xvm"
+
+#: fdisk/fdisksgilabel.c:95 fdisk/fdisksunlabel.c:55
+msgid "Linux swap"
+msgstr "Linux wisselgeheugen"
+
+#: fdisk/fdisksgilabel.c:96 fdisk/fdisksunlabel.c:56
+msgid "Linux native"
+msgstr "Linux native"
+
+#: fdisk/fdisksgilabel.c:97 fdisk/fdisksunlabel.c:57 fdisk/i386_sys_types.c:63
+msgid "Linux LVM"
+msgstr "Linux LVM"
+
+#: fdisk/fdisksgilabel.c:98
+msgid "Linux RAID"
+msgstr "Linux RAID"
+
+#: fdisk/fdisksgilabel.c:164
+#, 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"
+
+#: fdisk/fdisksgilabel.c:183
+#, c-format
+msgid "Detected sgi disklabel with wrong checksum.\n"
+msgstr "SGI-schijflabel gevonden met foutieve controlesom.\n"
+
+#: fdisk/fdisksgilabel.c:201
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors\n"
+"%d cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * %d bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Schijf %s (SGI-schijflabel): %d koppen, %llu sectoren\n"
+"%d cilinders, %d fysieke cilinders\n"
+"%d extra sectoren/cilinder, tussenruimte %d:1\n"
+"%s\n"
+"Eenheid = %s van %d * %d bytes\n"
+"\n"
+
+#: fdisk/fdisksgilabel.c:214
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors, %d cylinders\n"
+"Units = %s of %d * %d bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Schijf %s (SGI-schijflabel): %d koppen, %llu sectoren, %d cilinders\n"
+"Eenheid = %s van %d * %d bytes\n"
+"\n"
+
+#: fdisk/fdisksgilabel.c:221
+#, 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"
+
+#: fdisk/fdisksgilabel.c:243
+#, c-format
+msgid ""
+"----- Bootinfo -----\n"
+"Bootfile: %s\n"
+"----- Directory Entries -----\n"
+msgstr ""
+"----- Opstartinfo -----\n"
+"Opstartbestand: %s\n"
+"----- Mapingangen -----\n"
+
+#: fdisk/fdisksgilabel.c:251
+#, c-format
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr "%2d: %-10s sector%5u grootte%8u\n"
+
+#: fdisk/fdisksgilabel.c:305
+#, 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"
+
+#: fdisk/fdisksgilabel.c:311
+#, 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"
+
+#: fdisk/fdisksgilabel.c:316
+#, c-format
+msgid ""
+"\n"
+"\tBootfile must have a fully qualified pathname.\n"
+msgstr ""
+"\n"
+"    Opstartbestand moet een volledig aangegeven padnaam hebben.\n"
+
+#: fdisk/fdisksgilabel.c:323
+#, 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"
+
+#: fdisk/fdisksgilabel.c:349
+#, c-format
+msgid ""
+"\n"
+"\tBootfile is changed to \"%s\".\n"
+msgstr ""
+"\n"
+"    Opstartbestand is veranderd naar \"%s\".\n"
+
+#: fdisk/fdisksgilabel.c:439
+#, c-format
+msgid "More than one entire disk entry present.\n"
+msgstr "Er is meer dan één schijfingang aanwezig.\n"
+
+#: fdisk/fdisksgilabel.c:446 fdisk/fdisksunlabel.c:388
+#, c-format
+msgid "No partitions defined\n"
+msgstr "Geen partities gedefinieerd\n"
+
+#: fdisk/fdisksgilabel.c:452
+#, 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"
+
+#: fdisk/fdisksgilabel.c:454
+#, 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"
+
+#: fdisk/fdisksgilabel.c:460
+#, 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"
+
+#: fdisk/fdisksgilabel.c:466
+#, c-format
+msgid "One Partition (#11) should cover the entire disk.\n"
+msgstr "Eén partitie (#11) moet de gehele schijf beslaan.\n"
+
+#: fdisk/fdisksgilabel.c:476
+#, c-format
+msgid "Partition %d does not start on cylinder boundary.\n"
+msgstr "Partitie %d begint niet op een cilindergrens.\n"
+
+#: fdisk/fdisksgilabel.c:482
+#, c-format
+msgid "Partition %d does not end on cylinder boundary.\n"
+msgstr "Partitie %d eindigt niet op een cilindergrens.\n"
+
+#: fdisk/fdisksgilabel.c:489
+#, 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"
+
+#: fdisk/fdisksgilabel.c:497 fdisk/fdisksgilabel.c:515
+#, c-format
+msgid "Unused gap of %8u sectors - sectors %8u-%u\n"
+msgstr "Ongebruikt gat van %8u sectoren: sectoren %8u-%u\n"
+
+#: fdisk/fdisksgilabel.c:526
+#, c-format
+msgid ""
+"\n"
+"The boot partition does not exist.\n"
+msgstr ""
+"\n"
+"De opstartpartitie bestaat niet.\n"
+
+#: fdisk/fdisksgilabel.c:529
+#, c-format
+msgid ""
+"\n"
+"The swap partition does not exist.\n"
+msgstr ""
+"\n"
+"De wisselgeheugenpartitie bestaat niet.\n"
+
+#: fdisk/fdisksgilabel.c:533
+#, c-format
+msgid ""
+"\n"
+"The swap partition has no swap type.\n"
+msgstr ""
+"\n"
+"De wisselgeheugenpartitie heeft geen soortaanduiding.\n"
+
+#: fdisk/fdisksgilabel.c:536
+#, c-format
+msgid "\tYou have chosen an unusual boot file name.\n"
+msgstr "    U hebt een ongebruikelijke naam gekozen voor het opstartbestand.\n"
+
+#: fdisk/fdisksgilabel.c:545
+#, c-format
+msgid "Sorry You may change the Tag of non-empty partitions.\n"
+msgstr "Sorry, u kunt de soort van niet-lege partities niet wijzigen.\n"
+
+#: fdisk/fdisksgilabel.c:551
+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"
+
+#: fdisk/fdisksgilabel.c:556 fdisk/fdisksunlabel.c:554
+msgid "YES\n"
+msgstr "JA\n"
+
+#: fdisk/fdisksgilabel.c:581
+#, c-format
+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"
+
+#: fdisk/fdisksgilabel.c:639
+#, c-format
+msgid "Attempting to generate entire disk entry automatically.\n"
+msgstr "Poging tot het automatisch aanmaken van een gehele-schijfingang.\n"
+
+#: fdisk/fdisksgilabel.c:644
+#, c-format
+msgid "The entire disk is already covered with partitions.\n"
+msgstr "De volledige schijf is al ingedeeld in partities.\n"
+
+#: fdisk/fdisksgilabel.c:648
+#, 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"
+
+#: fdisk/fdisksgilabel.c:657 fdisk/fdisksgilabel.c:686
+#, 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"
+
+#: fdisk/fdisksgilabel.c:673
+#, 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"
+
+#: fdisk/fdisksgilabel.c:678
+#, c-format
+msgid " Last %s"
+msgstr " Laatste %s"
+
+#: fdisk/fdisksgilabel.c:708
+#, c-format
+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"
+
+#: fdisk/fdisksgilabel.c:731 fdisk/fdisksunlabel.c:227
+#, c-format
+msgid ""
+"Warning:  BLKGETSIZE ioctl failed on %s.  Using geometry cylinder value of %"
+"d.\n"
+"This value may be truncated for devices > 33.8 GB.\n"
+msgstr ""
+"Waarschuwing: ioctl(BLKGETSIZE) is mislukt op %s.\n"
+"Cilindergeometriewaarde %d wordt nu gebruikt.\n"
+"Deze waarde kan voor apparaten > 33.8 GB worden afgekapt.\n"
+
+#: fdisk/fdisksgilabel.c:745
+#, c-format
+msgid "Trying to keep parameters of partition %d.\n"
+msgstr "Er wordt geprobeerd de parameters van partitie %d te behouden.\n"
+
+#: fdisk/fdisksgilabel.c:747
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr "ID=%02x\tStart=%d\tLengte=%d\n"
+
+#: fdisk/fdisksunlabel.c:43
+msgid "Unassigned"
+msgstr "(niet-toegewezen)"
+
+#: fdisk/fdisksunlabel.c:45
+msgid "SunOS root"
+msgstr "SunOS root"
+
+#: fdisk/fdisksunlabel.c:46
+msgid "SunOS swap"
+msgstr "SunOS wisselgeheugen"
+
+#: fdisk/fdisksunlabel.c:47
+msgid "SunOS usr"
+msgstr "SunOS usr"
+
+#: fdisk/fdisksunlabel.c:48
+msgid "Whole disk"
+msgstr "Gehele schijf"
+
+#: fdisk/fdisksunlabel.c:49
+msgid "SunOS stand"
+msgstr "SunOS stand"
+
+#: fdisk/fdisksunlabel.c:50
+msgid "SunOS var"
+msgstr "SunOS var"
+
+#: fdisk/fdisksunlabel.c:51
+msgid "SunOS home"
+msgstr "SunOS home"
+
+#: fdisk/fdisksunlabel.c:52
+msgid "SunOS alt sectors"
+msgstr "SunOS alt-sectoren"
+
+#: fdisk/fdisksunlabel.c:53
+msgid "SunOS cachefs"
+msgstr "SunOS cachefs"
+
+#: fdisk/fdisksunlabel.c:54
+msgid "SunOS reserved"
+msgstr "SunOS gereserveerd"
+
+#: fdisk/fdisksunlabel.c:58 fdisk/i386_sys_types.c:103
+msgid "Linux raid autodetect"
+msgstr "Linux raidautodetectie"
+
+#: fdisk/fdisksunlabel.c:141
+#, 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"
+
+#: fdisk/fdisksunlabel.c:153
+#, c-format
+msgid "Detected sun disklabel with wrong version [0x%08x].\n"
+msgstr "Sun-schijflabel gevonden met foutief versienummer [0x%08x].\n"
+
+#: fdisk/fdisksunlabel.c:158
+#, c-format
+msgid "Detected sun disklabel with wrong sanity [0x%08x].\n"
+msgstr "Sun-schijflabel gevonden met foutief controlenummer [0x%08x].\n"
+
+#: fdisk/fdisksunlabel.c:163
+#, c-format
+msgid "Detected sun disklabel with wrong num_partitions [%u].\n"
+msgstr "Sun-schijflabel gevonden met foutief partitie-aantal [%u].\n"
+
+#: fdisk/fdisksunlabel.c:168
+#, 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"
+
+#: fdisk/fdisksunlabel.c:198
+#, c-format
+msgid ""
+"Building a new sun disklabel. Changes will remain in memory only,\n"
+"until you decide to write them. After that, of course, the previous\n"
+"content won't be recoverable.\n"
+"\n"
+msgstr ""
+"Er wordt een nieuw Sun-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"
+
+#: fdisk/fdisksunlabel.c:236
+msgid "Sectors/track"
+msgstr "Sectoren/spoor"
+
+#: fdisk/fdisksunlabel.c:351
+#, c-format
+msgid "Partition %d doesn't end on cylinder boundary\n"
+msgstr "Partitie %d eindigt niet op een cilindergrens\n"
+
+#: fdisk/fdisksunlabel.c:371
+#, c-format
+msgid "Partition %d overlaps with others in sectors %d-%d\n"
+msgstr "Partitie %d overlapt met andere in sectoren %d-%d\n"
+
+#: fdisk/fdisksunlabel.c:393
+#, c-format
+msgid "Unused gap - sectors 0-%d\n"
+msgstr "Ongebruikt gat: sectoren 0-%d\n"
+
+#: fdisk/fdisksunlabel.c:395 fdisk/fdisksunlabel.c:401
+#, c-format
+msgid "Unused gap - sectors %d-%d\n"
+msgstr "Ongebruikt gat: sectoren %d-%d\n"
+
+#: fdisk/fdisksunlabel.c:426
+#, 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"
+
+#: fdisk/fdisksunlabel.c:449
+#, 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"
+
+#: fdisk/fdisksunlabel.c:477
+#, c-format
+msgid "Sector %d is already allocated\n"
+msgstr "Sector %d is al gereserveerd\n"
+
+#: fdisk/fdisksunlabel.c:507
+#, 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"
+
+#: fdisk/fdisksunlabel.c:534
+#, 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"
+
+#: fdisk/fdisksunlabel.c:549
+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: "
+
+#: fdisk/fdisksunlabel.c:581
+#, c-format
+msgid ""
+"\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"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Schijf %s (Sun-schijflabel): %d koppen, %llu sectoren, %d rpm\n"
+"%d 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"
+
+#: fdisk/fdisksunlabel.c:597
+#, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %d heads, %llu sectors, %d cylinders\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Schijf %s (Sun-schijflabel): %d koppen, %llu sectoren, %d cilinders\n"
+"Eenheid = %s van %d * 512 bytes\n"
+"\n"
+
+#: fdisk/fdisksunlabel.c:602
+#, c-format
+msgid "%*s Flag    Start       End    Blocks   Id  System\n"
+msgstr "%*s Optie   Begin     Einde   Blokken   ID  Systeem\n"
+
+#: fdisk/fdisksunlabel.c:630
+msgid "Number of alternate cylinders"
+msgstr "Aantal alternatieve cilinders"
+
+#: fdisk/fdisksunlabel.c:642
+msgid "Extra sectors per cylinder"
+msgstr "Extra sectoren per cilinder"
+
+#: fdisk/fdisksunlabel.c:649
+msgid "Interleave factor"
+msgstr "Tussenruimtefactor"
+
+#: fdisk/fdisksunlabel.c:656
+msgid "Rotation speed (rpm)"
+msgstr "Rotatiesnelheid (rpm)"
+
+#: fdisk/fdisksunlabel.c:663
+msgid "Number of physical cylinders"
+msgstr "Aantal fysieke cilinders"
+
+#: fdisk/i386_sys_types.c:6
+msgid "Empty"
+msgstr "Leeg"
+
+#: fdisk/i386_sys_types.c:7
+msgid "FAT12"
+msgstr "FAT12"
+
+#: fdisk/i386_sys_types.c:8
+msgid "XENIX root"
+msgstr "XENIX root"
+
+#: fdisk/i386_sys_types.c:9
+msgid "XENIX usr"
+msgstr "XENIX usr"
+
+#: fdisk/i386_sys_types.c:10
+msgid "FAT16 <32M"
+msgstr "FAT16 <32M"
+
+#: fdisk/i386_sys_types.c:11
+msgid "Extended"
+msgstr "Uitgebreid"
+
+#: fdisk/i386_sys_types.c:12
+msgid "FAT16"
+msgstr "FAT16"
+
+#: fdisk/i386_sys_types.c:13
+msgid "HPFS/NTFS"
+msgstr "HPFS/NTFS"
+
+#: fdisk/i386_sys_types.c:14
+msgid "AIX"
+msgstr "AIX"
+
+#: fdisk/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr "AIX opstartbaar"
+
+#: fdisk/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr "OS/2 opstartmanager"
+
+#: fdisk/i386_sys_types.c:17
+msgid "W95 FAT32"
+msgstr "W95 FAT32"
+
+#: fdisk/i386_sys_types.c:18
+msgid "W95 FAT32 (LBA)"
+msgstr "W95 FAT32 (LBA)"
+
+#: fdisk/i386_sys_types.c:19
+msgid "W95 FAT16 (LBA)"
+msgstr "W95 FAT16 (LBA)"
+
+#: fdisk/i386_sys_types.c:20
+msgid "W95 Ext'd (LBA)"
+msgstr "W95 Uitgeb. (LBA)"
+
+#: fdisk/i386_sys_types.c:21
+msgid "OPUS"
+msgstr "OPUS"
+
+#: fdisk/i386_sys_types.c:22
+msgid "Hidden FAT12"
+msgstr "Verborgen FAT12"
+
+#: fdisk/i386_sys_types.c:23
+msgid "Compaq diagnostics"
+msgstr "Compaq diagnostiek"
+
+#: fdisk/i386_sys_types.c:24
+msgid "Hidden FAT16 <32M"
+msgstr "Verborgen FAT16 <32M"
+
+#: fdisk/i386_sys_types.c:25
+msgid "Hidden FAT16"
+msgstr "Verborgen FAT16"
+
+#: fdisk/i386_sys_types.c:26
+msgid "Hidden HPFS/NTFS"
+msgstr "Verborgen HPFS/NTFS"
+
+#: fdisk/i386_sys_types.c:27
+msgid "AST SmartSleep"
+msgstr "AST SmartSleep"
+
+#: fdisk/i386_sys_types.c:28
+msgid "Hidden W95 FAT32"
+msgstr "Verborgen W95 FAT32"
+
+#: fdisk/i386_sys_types.c:29
+msgid "Hidden W95 FAT32 (LBA)"
+msgstr "Verb. W95 FAT32 (LBA)"
+
+#: fdisk/i386_sys_types.c:30
+msgid "Hidden W95 FAT16 (LBA)"
+msgstr "Verb. W95 FAT16 (LBA)"
+
+#: fdisk/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr "NEC DOS"
+
+#: fdisk/i386_sys_types.c:32
+msgid "Plan 9"
+msgstr "Plan 9"
+
+#: fdisk/i386_sys_types.c:33
+msgid "PartitionMagic recovery"
+msgstr "PartitionMagic recovery"
+
+#: fdisk/i386_sys_types.c:34
+msgid "Venix 80286"
+msgstr "Venix 80286"
+
+#: fdisk/i386_sys_types.c:35
+msgid "PPC PReP Boot"
+msgstr "PPC PReP opstart"
+
+#: fdisk/i386_sys_types.c:36
+msgid "SFS"
+msgstr "SFS"
+
+#: fdisk/i386_sys_types.c:37
+msgid "QNX4.x"
+msgstr "QNX4.x"
+
+#: fdisk/i386_sys_types.c:38
+msgid "QNX4.x 2nd part"
+msgstr "QNX4.x 2de deel"
+
+#: fdisk/i386_sys_types.c:39
+msgid "QNX4.x 3rd part"
+msgstr "QNX4.x 3de deel"
+
+#: fdisk/i386_sys_types.c:40
+msgid "OnTrack DM"
+msgstr "OnTrack DM"
+
+#: fdisk/i386_sys_types.c:41
+msgid "OnTrack DM6 Aux1"
+msgstr "OnTrack DM6 Aux1"
+
+#: fdisk/i386_sys_types.c:42
+msgid "CP/M"
+msgstr "CP/M"
+
+#: fdisk/i386_sys_types.c:43
+msgid "OnTrack DM6 Aux3"
+msgstr "OnTrack DM6 Aux3"
+
+#: fdisk/i386_sys_types.c:44
+msgid "OnTrackDM6"
+msgstr "OnTrack DM6"
+
+#: fdisk/i386_sys_types.c:45
+msgid "EZ-Drive"
+msgstr "EZ-Drive"
+
+#: fdisk/i386_sys_types.c:46
+msgid "Golden Bow"
+msgstr "Golden Bow"
+
+#: fdisk/i386_sys_types.c:47
+msgid "Priam Edisk"
+msgstr "Priam Edisk"
+
+#: fdisk/i386_sys_types.c:48 fdisk/i386_sys_types.c:92
+#: fdisk/i386_sys_types.c:98 fdisk/i386_sys_types.c:99
+msgid "SpeedStor"
+msgstr "SpeedStor"
+
+#: fdisk/i386_sys_types.c:49
+msgid "GNU HURD or SysV"
+msgstr "GNU HURD / SysV"
+
+#: fdisk/i386_sys_types.c:50
+msgid "Novell Netware 286"
+msgstr "Novell Netware 286"
+
+#: fdisk/i386_sys_types.c:51
+msgid "Novell Netware 386"
+msgstr "Novell Netware 386"
+
+#: fdisk/i386_sys_types.c:52
+msgid "DiskSecure Multi-Boot"
+msgstr "DiskSecure MultiBoot"
+
+#: fdisk/i386_sys_types.c:53
+msgid "PC/IX"
+msgstr "PC/IX"
+
+#: fdisk/i386_sys_types.c:54
+msgid "Old Minix"
+msgstr "Oude Minix"
+
+#: fdisk/i386_sys_types.c:55
+msgid "Minix / old Linux"
+msgstr "Minix / oude Linux"
+
+#: fdisk/i386_sys_types.c:56
+msgid "Linux swap / Solaris"
+msgstr "Linux wisselgeheugen"
+
+#: fdisk/i386_sys_types.c:58
+msgid "OS/2 hidden C: drive"
+msgstr "OS/2 verborgen C:"
+
+#: fdisk/i386_sys_types.c:59
+msgid "Linux extended"
+msgstr "Linux uitgebreid"
+
+#: fdisk/i386_sys_types.c:60 fdisk/i386_sys_types.c:61
+msgid "NTFS volume set"
+msgstr "NTFS volumenset"
+
+#: fdisk/i386_sys_types.c:62
+msgid "Linux plaintext"
+msgstr "Linux plaintext"
+
+#: fdisk/i386_sys_types.c:64
+msgid "Amoeba"
+msgstr "Amoeba"
+
+#: fdisk/i386_sys_types.c:65
+msgid "Amoeba BBT"
+msgstr "Amoeba BBT"
+
+#: fdisk/i386_sys_types.c:66
+msgid "BSD/OS"
+msgstr "BSD/OS"
+
+#: fdisk/i386_sys_types.c:67
+msgid "IBM Thinkpad hibernation"
+msgstr "IBM Thinkpad hibernatie"
+
+#: fdisk/i386_sys_types.c:68
+msgid "FreeBSD"
+msgstr "FreeBSD"
+
+#: fdisk/i386_sys_types.c:69
+msgid "OpenBSD"
+msgstr "OpenBSD"
+
+#: fdisk/i386_sys_types.c:70
+msgid "NeXTSTEP"
+msgstr "NeXTSTEP"
+
+#: fdisk/i386_sys_types.c:71
+msgid "Darwin UFS"
+msgstr "Darwin UFS"
+
+#: fdisk/i386_sys_types.c:72
+msgid "NetBSD"
+msgstr "NetBSD"
+
+#: fdisk/i386_sys_types.c:73
+msgid "Darwin boot"
+msgstr "Darwin opstart"
+
+#: fdisk/i386_sys_types.c:74
+#, fuzzy
+msgid "HFS / HFS+"
+msgstr "OS/2 HPFS"
+
+#: fdisk/i386_sys_types.c:75
+msgid "BSDI fs"
+msgstr "BSDI bestandssysteem"
+
+#: fdisk/i386_sys_types.c:76
+msgid "BSDI swap"
+msgstr "BSDI wisselgeheugen"
+
+#: fdisk/i386_sys_types.c:77
+msgid "Boot Wizard hidden"
+msgstr "BootWizard verborgen"
+
+#: fdisk/i386_sys_types.c:78
+msgid "Solaris boot"
+msgstr "Solaris opstart"
+
+#: fdisk/i386_sys_types.c:79
+msgid "Solaris"
+msgstr "Solaris"
+
+#: fdisk/i386_sys_types.c:80
+msgid "DRDOS/sec (FAT-12)"
+msgstr "DRDOS/sec (FAT12)"
+
+#: fdisk/i386_sys_types.c:81
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr "DRDOS/sec (FAT16 <32M)"
+
+#: fdisk/i386_sys_types.c:82
+msgid "DRDOS/sec (FAT-16)"
+msgstr "DRDOS/sec (FAT16)"
+
+#: fdisk/i386_sys_types.c:83
+msgid "Syrinx"
+msgstr "Syrinx"
+
+#: fdisk/i386_sys_types.c:84
+msgid "Non-FS data"
+msgstr "Non-BS-gegevens"
+
+#: fdisk/i386_sys_types.c:85
+msgid "CP/M / CTOS / ..."
+msgstr "CP/M / CTOS / ..."
+
+#: fdisk/i386_sys_types.c:87
+msgid "Dell Utility"
+msgstr "Dell Utility"
+
+#: fdisk/i386_sys_types.c:88
+msgid "BootIt"
+msgstr "BootIt"
+
+#: fdisk/i386_sys_types.c:89
+msgid "DOS access"
+msgstr "DOS access"
+
+#: fdisk/i386_sys_types.c:91
+msgid "DOS R/O"
+msgstr "DOS R/O"
+
+#: fdisk/i386_sys_types.c:94
+msgid "BeOS fs"
+msgstr "BeOS bestandssysteem"
+
+#: fdisk/i386_sys_types.c:95
+msgid "GPT"
+msgstr "GPT"
+
+#: fdisk/i386_sys_types.c:96
+msgid "EFI (FAT-12/16/32)"
+msgstr "EFI (FAT-12/16/32)"
+
+#: fdisk/i386_sys_types.c:97
+msgid "Linux/PA-RISC boot"
+msgstr "Linux/PA-RISC opstart"
+
+#: fdisk/i386_sys_types.c:100
+msgid "DOS secondary"
+msgstr "DOS secundair"
+
+#: fdisk/i386_sys_types.c:101
+msgid "VMware VMFS"
+msgstr "VMware VMFS"
+
+#: fdisk/i386_sys_types.c:102
+msgid "VMware VMKCORE"
+msgstr "VMware vmkcore"
+
+#: fdisk/i386_sys_types.c:106
+msgid "LANstep"
+msgstr "LANstep"
+
+#: fdisk/i386_sys_types.c:107
+msgid "BBT"
+msgstr "BBT"
+
+#: fdisk/sfdisk.c:179
+#, c-format
+msgid "seek error on %s - cannot seek to %lu\n"
+msgstr "'seek'-fout op %s -- kan geen 'seek' doen naar %lu\n"
+
+#: fdisk/sfdisk.c:184
+#, 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"
+
+#: fdisk/sfdisk.c:230
+msgid "out of memory - giving up\n"
+msgstr "onvoldoende geheugen beschikbaar -- gestopt\n"
+
+#: fdisk/sfdisk.c:235 fdisk/sfdisk.c:318
+#, c-format
+msgid "read error on %s - cannot read sector %lu\n"
+msgstr "leesfout op %s -- kan sector %lu niet lezen\n"
+
+#: fdisk/sfdisk.c:253
+#, c-format
+msgid "ERROR: sector %lu does not have an msdos signature\n"
+msgstr "FOUT: sector %lu heeft geen MSDOS-vingerafdruk\n"
+
+#: fdisk/sfdisk.c:268
+#, c-format
+msgid "write error on %s - cannot write sector %lu\n"
+msgstr "schrijffout op %s -- kan sector %lu niet schrijven\n"
+
+#: fdisk/sfdisk.c:306
+#, c-format
+msgid "cannot open partition sector save file (%s)\n"
+msgstr "kan partitionerings-bewaarbestand (%s) niet openen\n"
+
+#: fdisk/sfdisk.c:324
+#, c-format
+msgid "write error on %s\n"
+msgstr "schrijffout op %s\n"
+
+#: fdisk/sfdisk.c:350
+#, c-format
+msgid "cannot stat partition restore file (%s)\n"
+msgstr "kan status van partitionerings-herstelbestand (%s) niet bepalen\n"
+
+#: fdisk/sfdisk.c:355
+msgid "partition restore file has wrong size - not restoring\n"
+msgstr ""
+"partitionerings-herstelbestand heeft onjuiste grootte -- niet hersteld\n"
+
+#: fdisk/sfdisk.c:359
+msgid "out of memory?\n"
+msgstr "onvoldoende geheugen beschikbaar\n"
+
+#: fdisk/sfdisk.c:365
+#, c-format
+msgid "cannot open partition restore file (%s)\n"
+msgstr "kan partitionerings-herstelbestand (%s) niet openen\n"
+
+#: fdisk/sfdisk.c:371
+#, c-format
+msgid "error reading %s\n"
+msgstr "fout bij lezen van %s\n"
+
+#: fdisk/sfdisk.c:378
+#, c-format
+msgid "cannot open device %s for writing\n"
+msgstr "kan apparaat %s niet openen om te schrijven\n"
+
+#: fdisk/sfdisk.c:390
+#, c-format
+msgid "error writing sector %lu on %s\n"
+msgstr "fout bij schrijven van sector %lu op %s\n"
+
+#: fdisk/sfdisk.c:455
+#, c-format
+msgid "Disk %s: cannot get geometry\n"
+msgstr "Schijf %s: kan geometrie niet bepalen\n"
+
+#: fdisk/sfdisk.c:472
+#, c-format
+msgid "Disk %s: cannot get size\n"
+msgstr "Schijf %s: kan grootte niet bepalen\n"
+
+#: fdisk/sfdisk.c:505
+#, 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"
+
+#: fdisk/sfdisk.c:512
+#, 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"
+
+#: fdisk/sfdisk.c:515
+#, 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"
+
+#: fdisk/sfdisk.c:519
+#, 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"
+
+#: fdisk/sfdisk.c:524
+#, 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"
+
+#: fdisk/sfdisk.c:528
+#, 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"
+
+#: fdisk/sfdisk.c:610
+#, 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"
+
+#: fdisk/sfdisk.c:615
+#, 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"
+
+#: fdisk/sfdisk.c:620
+#, 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"
+
+#: fdisk/sfdisk.c:660
+#, c-format
+msgid ""
+"Id  Name\n"
+"\n"
+msgstr ""
+"Id  Naam\n"
+"\n"
+
+#: fdisk/sfdisk.c:821
+#, c-format
+msgid "Re-reading the partition table ...\n"
+msgstr "Herinlezen van partitietabel...\n"
+
+#: fdisk/sfdisk.c:827
+#, 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 ""
+"Het opnieuw inlezen van de partitietabel is mislukt.\n"
+"Herstart uw systeem nu, vóór mkfs te gebruiken.\n"
+
+#: fdisk/sfdisk.c:833
+#, c-format
+msgid "Error closing %s\n"
+msgstr "Fout bij sluiten van %s\n"
+
+#: fdisk/sfdisk.c:871
+#, c-format
+msgid "%s: no such partition\n"
+msgstr "%s: die partitie bestaat niet\n"
+
+#: fdisk/sfdisk.c:894
+msgid "unrecognized format - using sectors\n"
+msgstr "onbekende eenheid -- \"sectoren\" wordt gebruikt\n"
+
+#: fdisk/sfdisk.c:944
+#, c-format
+msgid "unimplemented format - using %s\n"
+msgstr "onbeschikbare eenheid  -- \"%s\" wordt gebruikt\n"
+
+#: fdisk/sfdisk.c:948
+#, c-format
+msgid ""
+"Units = cylinders of %lu bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Eenheid = cilinders van %lu bytes, blokken van 1024 bytes, tellend vanaf %d\n"
+"\n"
+
+#: fdisk/sfdisk.c:951
+#, c-format
+msgid "   Device Boot Start     End   #cyls    #blocks   Id  System\n"
+msgstr " Apparaat Opst Begin   Einde   #cils   #blokken   ID  Systeem\n"
+
+#: fdisk/sfdisk.c:956
+#, c-format
+msgid ""
+"Units = sectors of 512 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Eenheid = sectoren van 512 bytes, tellend vanaf %d\n"
+"\n"
+
+#: fdisk/sfdisk.c:958
+#, c-format
+msgid "   Device Boot    Start       End   #sectors  Id  System\n"
+msgstr " Apparaat Opst    Begin     Einde  #sectoren  ID  Systeem\n"
+
+#: fdisk/sfdisk.c:961
+#, c-format
+msgid ""
+"Units = blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Eenheid = blokken van 1024 bytes, tellend vanaf %d\n"
+"\n"
+
+#: fdisk/sfdisk.c:963
+#, c-format
+msgid "   Device Boot   Start       End    #blocks   Id  System\n"
+msgstr " Apparaat Opst   Begin     Einde   #blokken   ID  Systeem\n"
+
+#: fdisk/sfdisk.c:966
+#, c-format
+msgid ""
+"Units = mebibytes of 1048576 bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Eenheid = mebibytes van 1048576 bytes, blokken van 1024 bytes, tellend vanaf "
+"%d\n"
+"\n"
+
+#: fdisk/sfdisk.c:968
+#, c-format
+msgid "   Device Boot Start   End    MiB    #blocks   Id  System\n"
+msgstr " Apparaat Ops Begin  Einde    MiB   #blokken   ID  Systeem\n"
+
+#: fdisk/sfdisk.c:1128
+#, 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"
+
+#: fdisk/sfdisk.c:1135
+#, 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"
+
+#: fdisk/sfdisk.c:1138
+#, 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"
+
+#: fdisk/sfdisk.c:1148
+msgid "No partitions found\n"
+msgstr "Geen partities gevonden.\n"
+
+#: fdisk/sfdisk.c:1152
+#, 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"
+
+#: fdisk/sfdisk.c:1201
+msgid "no partition table present.\n"
+msgstr "geen partitietabel aanwezig\n"
+
+#: fdisk/sfdisk.c:1203
+#, c-format
+msgid "strange, only %d partitions defined.\n"
+msgstr "Vreemd: slechts %d partities gedefinieerd.\n"
+
+#: fdisk/sfdisk.c:1212
+#, 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 aangegeven als Leeg\n"
+
+#: fdisk/sfdisk.c:1215
+#, c-format
+msgid "Warning: partition %s has size 0 and is bootable\n"
+msgstr "Waarschuwing: partitie %s heeft grootte 0 en is opstartbaar\n"
+
+#: fdisk/sfdisk.c:1218
+#, 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"
+
+#: fdisk/sfdisk.c:1229
+#, c-format
+msgid "Warning: partition %s "
+msgstr "Waarschuwing: partitie %s "
+
+#: fdisk/sfdisk.c:1230
+#, c-format
+msgid "is not contained in partition %s\n"
+msgstr "valt niet binnen partitie %s\n"
+
+#: fdisk/sfdisk.c:1241
+#, c-format
+msgid "Warning: partitions %s "
+msgstr "Waarschuwing: partities %s "
+
+#: fdisk/sfdisk.c:1242
+#, c-format
+msgid "and %s overlap\n"
+msgstr "en %s overlappen\n"
+
+#: fdisk/sfdisk.c:1253
+#, c-format
+msgid ""
+"Warning: partition %s contains part of the partition table (sector %lu),\n"
+"and will destroy it when filled\n"
+msgstr ""
+"Waarschuwing: partitie %s bevat een deel van de partitietabel (sector %lu),\n"
+"en zal deze vernielen als zij wordt gevuld\n"
+
+#: fdisk/sfdisk.c:1265
+#, c-format
+msgid "Warning: partition %s starts at sector 0\n"
+msgstr "Waarschuwing: partitie %s begint op sector 0\n"
+
+#: fdisk/sfdisk.c:1269
+#, c-format
+msgid "Warning: partition %s extends past end of disk\n"
+msgstr "Waarschuwing: partitie %s loopt tot na het einde van de schijf\n"
+
+#: fdisk/sfdisk.c:1284
+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"
+
+#: fdisk/sfdisk.c:1302
+#, c-format
+msgid "Warning: partition %s does not start at a cylinder boundary\n"
+msgstr "Waarschuwing: partitie %s begint niet op een cilindergrens\n"
+
+#: fdisk/sfdisk.c:1308
+#, c-format
+msgid "Warning: partition %s does not end at a cylinder boundary\n"
+msgstr "Waarschuwing: partitie %s eindigt niet op een cilindergrens\n"
+
+#: fdisk/sfdisk.c:1326
+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"
+
+#: fdisk/sfdisk.c:1333
+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"
+
+#: fdisk/sfdisk.c:1339
+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"
+
+#: fdisk/sfdisk.c:1353
+msgid "start"
+msgstr "begin"
+
+#: fdisk/sfdisk.c:1356
+#, 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"
+
+#: fdisk/sfdisk.c:1362
+msgid "end"
+msgstr "einde"
+
+#: fdisk/sfdisk.c:1365
+#, 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"
+
+#: fdisk/sfdisk.c:1368
+#, 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"
+
+#: fdisk/sfdisk.c:1393
+#, c-format
+msgid ""
+"Warning: shifted start of the extd partition from %ld to %ld\n"
+"(For listing purposes only. Do not change its contents.)\n"
+msgstr ""
+"Waarschuwing: begin van uitgebreide partitie is verschoven van %ld naar %"
+"ld.\n"
+"(Alleen voor weergave.  De inhoud wordt niet gewijzigd.)\n"
+
+#: fdisk/sfdisk.c:1399
+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"
+
+#: fdisk/sfdisk.c:1417 fdisk/sfdisk.c:1494
+#, c-format
+msgid "too many partitions - ignoring those past nr (%d)\n"
+msgstr "te veel partities -- die na nummer (%d) worden genegeerd\n"
+
+#: fdisk/sfdisk.c:1432
+msgid "tree of partitions?\n"
+msgstr "een boom van partities?\n"
+
+#: fdisk/sfdisk.c:1540
+msgid "detected Disk Manager - unable to handle that\n"
+msgstr "Disk Manager gedetecteerd; kan dit niet aan -- gestopt\n"
+
+#: fdisk/sfdisk.c:1547
+msgid "DM6 signature found - giving up\n"
+msgstr "DM6-vingerafdruk gevonden -- gestopt\n"
+
+#: fdisk/sfdisk.c:1567
+msgid "strange..., an extended partition of size 0?\n"
+msgstr "vreemd..., een uitgebreide partitie met grootte 0?\n"
+
+#: fdisk/sfdisk.c:1574 fdisk/sfdisk.c:1585
+msgid "strange..., a BSD partition of size 0?\n"
+msgstr "vreemd..., een BSD-partitie met grootte 0?\n"
+
+#: fdisk/sfdisk.c:1619
+#, c-format
+msgid " %s: unrecognized partition table type\n"
+msgstr "%s: onbekend partitietabeltype\n"
+
+#: fdisk/sfdisk.c:1631
+msgid "-n flag was given: Nothing changed\n"
+msgstr "optie '-n' werd gegeven: er is niets gewijzigd\n"
+
+#: fdisk/sfdisk.c:1647
+msgid "Failed saving the old sectors - aborting\n"
+msgstr "Opslaan van oude sectoren is mislukt -- gestopt\n"
+
+#: fdisk/sfdisk.c:1652
+#, c-format
+msgid "Failed writing the partition on %s\n"
+msgstr "Schrijven van partitie op %s is mislukt\n"
+
+#: fdisk/sfdisk.c:1729
+msgid "long or incomplete input line - quitting\n"
+msgstr "lange of incomplete invoerregel -- gestopt\n"
+
+#: fdisk/sfdisk.c:1765
+#, c-format
+msgid "input error: `=' expected after %s field\n"
+msgstr "invoerfout: '=' verwacht na veld %s\n"
+
+#: fdisk/sfdisk.c:1772
+#, c-format
+msgid "input error: unexpected character %c after %s field\n"
+msgstr "invoerfout: onverwacht teken %c na veld %s\n"
+
+#: fdisk/sfdisk.c:1778
+#, c-format
+msgid "unrecognized input: %s\n"
+msgstr "invoer niet herkend: %s\n"
+
+#: fdisk/sfdisk.c:1820
+msgid "number too big\n"
+msgstr "getal is te groot\n"
+
+#: fdisk/sfdisk.c:1824
+msgid "trailing junk after number\n"
+msgstr "onbegrepen tekens na getal\n"
+
+#: fdisk/sfdisk.c:1948
+msgid "no room for partition descriptor\n"
+msgstr "geen ruimte voor partitiebeschrijver\n"
+
+#: fdisk/sfdisk.c:1981
+msgid "cannot build surrounding extended partition\n"
+msgstr "kan omvattende uitgebreide partitie niet maken\n"
+
+#: fdisk/sfdisk.c:2032
+msgid "too many input fields\n"
+msgstr "te veel invoervelden\n"
+
+#: fdisk/sfdisk.c:2066
+msgid "No room for more\n"
+msgstr "Geen ruimte voor meer\n"
+
+#: fdisk/sfdisk.c:2085
+msgid "Illegal type\n"
+msgstr "Onjuiste soort\n"
+
+#: fdisk/sfdisk.c:2117
+#, 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"
+
+#: fdisk/sfdisk.c:2123
+msgid "Warning: empty partition\n"
+msgstr "Waarschuwing: lege partitie\n"
+
+#: fdisk/sfdisk.c:2137
+#, c-format
+msgid "Warning: bad partition start (earliest %lu)\n"
+msgstr "Waarschuwing: ongeldig partitiebegin (eerste mogelijkheid is %lu)\n"
+
+#: fdisk/sfdisk.c:2150
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr "onbekende 'opstartbaar'-vlag -- kies '-' of '*'\n"
+
+#: fdisk/sfdisk.c:2167 fdisk/sfdisk.c:2180
+msgid "partial c,h,s specification?\n"
+msgstr "een gedeeltelijke c,k,s-specificatie?\n"
+
+#: fdisk/sfdisk.c:2191
+msgid "Extended partition not where expected\n"
+msgstr "Uitgebreide partitie waar die niet verwacht werd\n"
+
+#: fdisk/sfdisk.c:2223
+msgid "bad input\n"
+msgstr "ongeldige invoer\n"
+
+#: fdisk/sfdisk.c:2245
+msgid "too many partitions\n"
+msgstr "te veel partities\n"
+
+#: fdisk/sfdisk.c:2278
+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"
+
+#: fdisk/sfdisk.c:2304
+#, c-format
+msgid "Usage: %s [options] device ...\n"
+msgstr "Gebruik:  %s [opties] apparaat ...\n"
+
+#: fdisk/sfdisk.c:2305
+msgid "device: something like /dev/hda or /dev/sda"
+msgstr "  (apparaat is zoiets als /dev/hda of /dev/sda)"
+
+#: fdisk/sfdisk.c:2306
+msgid "useful options:"
+msgstr "Nuttige opties:"
+
+#: fdisk/sfdisk.c:2307
+msgid "    -s [or --show-size]: list size of a partition"
+msgstr "  -s, --show-size     partitiegroottes tonen"
+
+#: fdisk/sfdisk.c:2308
+msgid "    -c [or --id]:        print or change partition Id"
+msgstr "  -c, --id            partitie-ID tonen of wijzigen"
+
+#: fdisk/sfdisk.c:2309
+msgid "    -l [or --list]:      list partitions of each device"
+msgstr "  -l, --list          partities weergeven"
+
+#: fdisk/sfdisk.c:2310
+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"
+
+#: fdisk/sfdisk.c:2311
+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"
+
+#: fdisk/sfdisk.c:2312
+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"
+
+#: fdisk/sfdisk.c:2313
+msgid "    -T [or --list-types]:list the known partition types"
+msgstr "  -T, --list-types    bekende partitietypen opsommen"
+
+#: fdisk/sfdisk.c:2314
+msgid "    -D [or --DOS]:       for DOS-compatibility: waste a little space"
+msgstr ""
+"  -D, --DOS           een beetje ruimte verspillen (voor DOS-compatibiliteit)"
+
+#: fdisk/sfdisk.c:2315
+msgid "    -R [or --re-read]:   make kernel reread partition table"
+msgstr ""
+"  -R, --re-read       de partitietabel opnieuw in laten lezen door de kernel"
+
+#: fdisk/sfdisk.c:2316
+msgid "    -N# :                change only the partition with number #"
+msgstr "  -N#                 alleen partitie met nummer # wijzigen"
+
+#: fdisk/sfdisk.c:2317
+msgid "    -n :                 do not actually write to disk"
+msgstr "  -n                  niet echt naar de schijf schrijven, doen alsof"
+
+#: fdisk/sfdisk.c:2318
+msgid ""
+"    -O file :            save the sectors that will be overwritten to file"
+msgstr ""
+"  -O bestand          de te overschrijven sectoren opslaan in dit bestand"
+
+#: fdisk/sfdisk.c:2319
+msgid "    -I file :            restore these sectors again"
+msgstr "  -I bestand          deze opgeslagen sectoren herstellen"
+
+#: fdisk/sfdisk.c:2320
+msgid "    -v [or --version]:   print version"
+msgstr "  -v, --version       programmaversie tonen"
+
+#: fdisk/sfdisk.c:2321
+msgid "    -? [or --help]:      print this message"
+msgstr "  -?, --help          deze hulptekst tonen"
+
+#: fdisk/sfdisk.c:2322
+msgid "dangerous options:"
+msgstr "Gevaarlijke opties:"
+
+#: fdisk/sfdisk.c:2323
+msgid "    -g [or --show-geometry]: print the kernel's idea of the geometry"
+msgstr "  -g, --show-geometry     de kernelvisie van de geometrie weergeven"
+
+#: fdisk/sfdisk.c:2324
+msgid ""
+"    -G [or --show-pt-geometry]: print geometry guessed from the partition "
+"table"
+msgstr ""
+"  -G, --show-pt-geometry  de uit de partitietabel afgeleide geometrie "
+"weergeven"
+
+#: fdisk/sfdisk.c:2325
+msgid ""
+"    -x [or --show-extended]: also list extended partitions on output\n"
+"                             or expect descriptors for them on input"
+msgstr ""
+"  -x, --show-extended     ook uitgebreide partities opnemen in de uitvoer,\n"
+"                          of beschrijvers ervan verwachten in de invoer"
+
+#: fdisk/sfdisk.c:2327
+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"
+
+#: fdisk/sfdisk.c:2328
+msgid "    -q  [or --quiet]:      suppress warning messages"
+msgstr "  -q, --quiet         waarschuwingen onderdrukken"
+
+#: fdisk/sfdisk.c:2329
+msgid "    You can override the detected geometry using:"
+msgstr "U kunt een andere dan de gevonden geometrie afdwingen met:"
+
+#: fdisk/sfdisk.c:2330
+msgid "    -C# [or --cylinders #]:set the number of cylinders to use"
+msgstr "  -C#, --cylinders #  het aantal te gebruiken cilinders"
+
+#: fdisk/sfdisk.c:2331
+msgid "    -H# [or --heads #]:    set the number of heads to use"
+msgstr "  -H#, --heads #      het aantal te gebruiken koppen"
+
+#: fdisk/sfdisk.c:2332
+msgid "    -S# [or --sectors #]:  set the number of sectors to use"
+msgstr "  -S#, --sectors #    het aantal te gebruiken sectoren"
+
+#: fdisk/sfdisk.c:2333
+msgid "You can disable all consistency checking with:"
+msgstr "U kunt alle consistentiecontroles uitzetten met:"
+
+#: fdisk/sfdisk.c:2334
+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"
+
+#: fdisk/sfdisk.c:2340
+msgid "Usage:"
+msgstr "Gebruik: "
+
+#: fdisk/sfdisk.c:2341
+#, c-format
+msgid "%s device\t\t list active partitions on device\n"
+msgstr "%s apparaat            actieve partities op apparaat weergeven\n"
+
+#: fdisk/sfdisk.c:2342
+#, 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"
+
+#: fdisk/sfdisk.c:2343
+#, 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"
+
+#: fdisk/sfdisk.c:2463
+#, 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"
+
+#: fdisk/sfdisk.c:2466
+#, c-format
+msgid "Use the --force flag to overrule this check.\n"
+msgstr "Gebruik '--force' om deze controle over te slaan.\n"
+
+#: fdisk/sfdisk.c:2505
+msgid "no command?\n"
+msgstr "geen opdracht?\n"
+
+#: fdisk/sfdisk.c:2637
+#, c-format
+msgid "total: %llu blocks\n"
+msgstr "totaal: %llu blokken\n"
+
+#: fdisk/sfdisk.c:2680
+msgid "usage: sfdisk --print-id device partition-number\n"
+msgstr "Gebruik:  sfdisk --print-id apparaat partitienummer\n"
+
+#: fdisk/sfdisk.c:2682
+msgid "usage: sfdisk --change-id device partition-number Id\n"
+msgstr "Gebruik:  sfdisk --change-id apparaat partitienummer ID\n"
+
+#: fdisk/sfdisk.c:2684
+msgid "usage: sfdisk --id device partition-number [Id]\n"
+msgstr "Gebruik:  sfdisk --id apparaat partitienummer [ID]\n"
+
+#: fdisk/sfdisk.c:2691
+msgid "can specify only one device (except with -l or -s)\n"
+msgstr "slechts één apparaat is mogelijk (behalve met '-l' of '-s')\n"
+
+#: fdisk/sfdisk.c:2717
+#, c-format
+msgid "cannot open %s read-write\n"
+msgstr "kan %s niet openen voor lezen-en-schrijven\n"
+
+#: fdisk/sfdisk.c:2719
+#, c-format
+msgid "cannot open %s for reading\n"
+msgstr "kan %s niet openen om te lezen\n"
+
+#: fdisk/sfdisk.c:2744
+#, c-format
+msgid "%s: OK\n"
+msgstr "%s: OK\n"
+
+#: fdisk/sfdisk.c:2763 fdisk/sfdisk.c:2796
+#, c-format
+msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+msgstr "%s: %ld cilinders, %ld koppen, %ld sectoren/spoor\n"
+
+#: fdisk/sfdisk.c:2815
+#, c-format
+msgid "Cannot get size of %s\n"
+msgstr "kan grootte van %s niet opvragen\n"
+
+#: fdisk/sfdisk.c:2895
+#, c-format
+msgid "bad active byte: 0x%x instead of 0x80\n"
+msgstr "onjuiste 'opstartbaar'-vlag: 0x%x in plaats van 0x80\n"
+
+#: fdisk/sfdisk.c:2913 fdisk/sfdisk.c:2968 fdisk/sfdisk.c:3001
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+"Voltooid\n"
+"\n"
+
+#: fdisk/sfdisk.c:2922
+#, 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"
+
+#: fdisk/sfdisk.c:2938
+#, c-format
+msgid "partition %s has id %x and is not hidden\n"
+msgstr "partitie %s heeft ID %x en is niet verborgen\n"
+
+#: fdisk/sfdisk.c:2997
+#, c-format
+msgid "Bad Id %lx\n"
+msgstr "Ongeldig ID %lx\n"
+
+#: fdisk/sfdisk.c:3014
+msgid "This disk is currently in use.\n"
+msgstr "Deze schijf is op dit moment in gebruik.\n"
+
+#: fdisk/sfdisk.c:3033
+#, c-format
+msgid "Fatal error: cannot find %s\n"
+msgstr "Fatale fout: kan %s niet vinden\n"
+
+#: fdisk/sfdisk.c:3036
+#, c-format
+msgid "Warning: %s is not a block device\n"
+msgstr "Waarschuwing: %s is geen blok-apparaat\n"
+
+#: fdisk/sfdisk.c:3042
+msgid "Checking that no-one is using this disk right now ...\n"
+msgstr "Even controleren of iemand deze schijf nu gebruikt...\n"
+
+#: fdisk/sfdisk.c:3044
+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"
+"Ontkoppel eerst alle bestandssystemen, en schakel met 'swapoff' alle\n"
+"wisselgeheugenpartities op deze schijf uit.\n"
+"Of gebruik optie '--no-reread' om deze controle te onderdrukken.\n"
+
+#: fdisk/sfdisk.c:3048
+msgid "Use the --force flag to overrule all checks.\n"
+msgstr "Gebruik --force om alle controles te negeren.\n"
+
+#: fdisk/sfdisk.c:3052
+msgid "OK\n"
+msgstr "OK\n"
+
+#: fdisk/sfdisk.c:3061
+#, c-format
+msgid "Old situation:\n"
+msgstr "Oude situatie:\n"
+
+#: fdisk/sfdisk.c:3065
+#, c-format
+msgid "Partition %d does not exist, cannot change it\n"
+msgstr "Partitie %d bestaat niet; kan deze dus niet veranderen!\n"
+
+#: fdisk/sfdisk.c:3073
+#, c-format
+msgid "New situation:\n"
+msgstr "Nieuwe situatie:\n"
+
+#: fdisk/sfdisk.c:3078
+msgid ""
+"I don't like these partitions - nothing changed.\n"
+"(If you really want this, use the --force option.)\n"
+msgstr ""
+"Hmm... vreemde partities -- er is niets gewijzigd.\n"
+"(Als u dit echt wilt, kunt u --force gebruiken.)\n"
+
+#: fdisk/sfdisk.c:3081
+msgid "I don't like this - probably you should answer No\n"
+msgstr "Hmm... vreemde partities -- misschien moet u Nee antwoorden.\n"
+
+#: fdisk/sfdisk.c:3086
+#, c-format
+msgid "Are you satisfied with this? [ynq] "
+msgstr "Bent u hiermee tevreden? [ynq] "
+
+#: fdisk/sfdisk.c:3088
+#, c-format
+msgid "Do you want to write this to disk? [ynq] "
+msgstr "Wilt u dit naar de schijf schrijven? [ynq] "
+
+#: fdisk/sfdisk.c:3093
+#, c-format
+msgid ""
+"\n"
+"sfdisk: premature end of input\n"
+msgstr ""
+"\n"
+"sfdisk: voortijdig einde van de invoer\n"
+
+#: fdisk/sfdisk.c:3095
+msgid "Quitting - nothing changed\n"
+msgstr "Gestopt -- er is niets gewijzigd.\n"
+
+#: fdisk/sfdisk.c:3101
+#, c-format
+msgid "Please answer one of y,n,q\n"
+msgstr "Antwoord met 'y' (ja) of 'n' (nee) of 'q' (stoppen).\n"
+
+#: fdisk/sfdisk.c:3109
+#, c-format
+msgid ""
+"Successfully wrote the new partition table\n"
+"\n"
+msgstr ""
+"De nieuwe partitietabel is succesvol geschreven.\n"
+"\n"
+
+#: fdisk/sfdisk.c:3115
+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, stel /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"
+
+#: fsck/fsck.c:327
+#, fuzzy, c-format
+msgid "WARNING: couldn't open %s: %s\n"
+msgstr "%s: kan %s niet openen: %s\n"
+
+#: fsck/fsck.c:337
+#, c-format
+msgid "WARNING: bad format on line %d of %s\n"
+msgstr ""
+
+#: fsck/fsck.c:353
+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 ""
+
+#: fsck/fsck.c:461
+#, fuzzy, c-format
+msgid "fsck: %s: not found\n"
+msgstr "umount: %s: niet gevonden"
+
+#: fsck/fsck.c:577
+#, c-format
+msgid "%s: wait: No more child process?!?\n"
+msgstr ""
+
+#: fsck/fsck.c:599
+#, c-format
+msgid "Warning... %s for device %s exited with signal %d.\n"
+msgstr ""
+
+#: fsck/fsck.c:605
+#, c-format
+msgid "%s %s: status is %x, should never happen.\n"
+msgstr ""
+
+#: fsck/fsck.c:644
+#, c-format
+msgid "Finished with %s (exit status %d)\n"
+msgstr ""
+
+#: fsck/fsck.c:704
+#, c-format
+msgid "%s: Error %d while executing fsck.%s for %s\n"
+msgstr ""
+
+#: fsck/fsck.c:725
+msgid ""
+"Either all or none of the filesystem types passed to -t must be prefixed\n"
+"with 'no' or '!'.\n"
+msgstr ""
+
+#: fsck/fsck.c:744
+#, fuzzy
+msgid "Couldn't allocate memory for filesystem types\n"
+msgstr "mount: u moet een bestandssysteemsoort aangeven"
+
+#: fsck/fsck.c:867
+#, c-format
+msgid ""
+"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass "
+"number\n"
+msgstr ""
+
+#: fsck/fsck.c:894
+#, c-format
+msgid "fsck: cannot check %s: fsck.%s not found\n"
+msgstr ""
+
+#: fsck/fsck.c:950
+#, fuzzy
+msgid "Checking all file systems.\n"
+msgstr "Gedwongen bestandssysteemcontrole van %s.\n"
+
+#: fsck/fsck.c:1041
+#, c-format
+msgid "--waiting-- (pass %d)\n"
+msgstr ""
+
+#: fsck/fsck.c:1061
+#, fuzzy
+msgid ""
+"Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]\n"
+msgstr ""
+"Gebruik:  mkfs [-V] [-t bestandssysteemsoort] [bestandssysteemopties] "
+"apparaat [grootte]\n"
+
+#: fsck/fsck.c:1099
+#, fuzzy, c-format
+msgid "%s: too many devices\n"
+msgstr "%s: %s is geen printerapparaat\n"
+
+#: fsck/fsck.c:1110
+#, fuzzy, c-format
+msgid "Couldn't open %s: %s\n"
+msgstr "Kan %s niet openen: %s\n"
+
+#: fsck/fsck.c:1112
+#, fuzzy, c-format
+msgid "Is /proc mounted?\n"
+msgstr "%s is ontkoppeld\n"
+
+#: fsck/fsck.c:1121
+#, c-format
+msgid "Must be root to scan for matching filesystems: %s\n"
+msgstr ""
+
+#: fsck/fsck.c:1124
+#, fuzzy, c-format
+msgid "Couldn't find matching filesystem: %s\n"
+msgstr "Ontkoppelen van resterende bestandssystemen..."
+
+#: fsck/fsck.c:1132 fsck/fsck.c:1218
+#, fuzzy, c-format
+msgid "%s: too many arguments\n"
+msgstr "%s: onbekend argument: %s\n"
+
+#: fsck/fsck.c:1252
+#, fuzzy, c-format
+msgid "fsck from %s\n"
+msgstr "%s (%s)\n"
+
+#: fsck/fsck.c:1264
+#, fuzzy, c-format
+msgid "%s: Unable to allocate memory for fsck_path\n"
+msgstr "Kan geen buffer reserveren voor inodes"
+
+#: getopt/getopt.c:229
+msgid "Try `getopt --help' for more information.\n"
+msgstr "Probeer 'getopt --help' voor meer informatie.\n"
+
+#: getopt/getopt.c:295
+msgid "empty long option after -l or --long argument"
+msgstr "lege optiereeks na optie '-l' of '--long'"
+
+#: getopt/getopt.c:315
+msgid "unknown shell after -s or --shell argument"
+msgstr "onbekende shell na optie '-s' of '--shell'"
+
+#: getopt/getopt.c:320
+msgid "Usage: getopt optstring parameters\n"
+msgstr "Gebruik:  getopt optiereeks parameters\n"
+
+#: getopt/getopt.c:321
+msgid "       getopt [options] [--] optstring parameters\n"
+msgstr "          getopt [opties] [--] optiereeks parameters\n"
+
+#: getopt/getopt.c:322
+msgid "       getopt [options] -o|--options optstring [options] [--]\n"
+msgstr ""
+"          getopt [opties] -o|--options optiereeks [opties] [--] parameters\n"
+
+#: getopt/getopt.c:323
+msgid "              parameters\n"
+msgstr "              \n"
+
+#: getopt/getopt.c:324
+msgid ""
+"  -a, --alternative            Allow long options starting with single -\n"
+msgstr "  -a, --alternative             lange opties met één '-' toestaan\n"
+
+#: getopt/getopt.c:325
+msgid "  -h, --help                   This small usage guide\n"
+msgstr "  -h, --help                    deze hulptekst tonen\n"
+
+#: getopt/getopt.c:326
+msgid "  -l, --longoptions=longopts   Long options to be recognized\n"
+msgstr "  -l, --longoptions=optiereeks  te herkennen lange opties\n"
+
+#: getopt/getopt.c:327
+msgid ""
+"  -n, --name=progname          The name under which errors are reported\n"
+msgstr "  -n, --name=programmanaam      fouten rapporteren onder deze naam\n"
+
+#: getopt/getopt.c:328
+msgid "  -o, --options=optstring      Short options to be recognized\n"
+msgstr "  -o, --options=optiereeks      te herkennen korte opties\n"
+
+#: getopt/getopt.c:329
+msgid "  -q, --quiet                  Disable error reporting by getopt(3)\n"
+msgstr ""
+"  -q, --quiet                   foutrapportage van getopt(3) uitzetten\n"
+
+#: getopt/getopt.c:330
+msgid "  -Q, --quiet-output           No normal output\n"
+msgstr "  -Q, --quiet-output            gewone uitvoer onderdrukken\n"
+
+#: getopt/getopt.c:331
+msgid "  -s, --shell=shell            Set shell quoting conventions\n"
+msgstr ""
+"  -s, --shell=shell             aanhalingsconventies van deze shell "
+"gebruiken\n"
+
+#: getopt/getopt.c:332
+msgid "  -T, --test                   Test for getopt(1) version\n"
+msgstr ""
+"  -T, --test                    bepalen of dit een verbeterde getopt(1) is\n"
+
+#: getopt/getopt.c:333
+msgid "  -u, --unqote                 Do not quote the output\n"
+msgstr "  -u, --unquoted                de uitvoer niet aanhalen\n"
+
+#: getopt/getopt.c:334
+msgid "  -V, --version                Output version information\n"
+msgstr "  -V, --version                 programmaversie tonen\n"
+
+#: getopt/getopt.c:388 getopt/getopt.c:447
+msgid "missing optstring argument"
+msgstr "ontbrekende optiereeks"
+
+#: getopt/getopt.c:435
+#, c-format
+msgid "getopt (enhanced) 1.1.4\n"
+msgstr "getopt (verbeterde) 1.1.4\n"
+
+#: getopt/getopt.c:441
+msgid "internal error, contact the author."
+msgstr "*interne fout*; neem contact op met de auteur"
+
+#: hwclock/cmos.c:176
+#, c-format
+msgid "booted from MILO\n"
+msgstr "opgestart vanuit MILO\n"
+
+#: hwclock/cmos.c:185
+#, c-format
+msgid "Ruffian BCD clock\n"
+msgstr "Ruffiaanse BCD-klok\n"
+
+#: hwclock/cmos.c:201
+#, c-format
+msgid "clockport adjusted to 0x%x\n"
+msgstr "klokpoort aangepast tot 0x%x\n"
+
+#: hwclock/cmos.c:213
+#, c-format
+msgid "funky TOY!\n"
+msgstr "cool speeltje!\n"
+
+#: hwclock/cmos.c:244
+#, c-format
+msgid "%s: atomic %s failed for 1000 iterations!"
+msgstr "%s: atomische %s is duizend keer mislukt!"
+
+#: hwclock/cmos.c:273
+#, c-format
+msgid "cmos_read(): write to control address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:276
+#, c-format
+msgid "cmos_read(): read data address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:307
+#, c-format
+msgid "cmos_write(): write to control address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:311
+#, c-format
+msgid "cmos_write(): write to data address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:574
+#, c-format
+msgid "Cannot open /dev/port: %s"
+msgstr "Kan /dev/port niet openen: %s"
+
+#: hwclock/cmos.c:581
+#, c-format
+msgid "I failed to get permission because I didn't try.\n"
+msgstr "Geen toestemming gekregen, want niet geprobeerd.\n"
+
+#: hwclock/cmos.c:584
+#, c-format
+msgid "%s is unable to get I/O port access:  the iopl(3) call failed.\n"
+msgstr "%s kan geen I/O-poorttoegang krijgen: iopl(3) is mislukt.\n"
+
+#: hwclock/cmos.c:587
+#, c-format
+msgid "Probably you need root privileges.\n"
+msgstr "Waarschijnlijk hebt u root-privileges nodig.\n"
+
+#: hwclock/hwclock.c:231
+#, c-format
+msgid "Assuming hardware clock is kept in %s time.\n"
+msgstr "Er wordt aangenomen dat de hardwareklok op %s staat.\n"
+
+#: hwclock/hwclock.c:232 hwclock/hwclock.c:327
+msgid "UTC"
+msgstr "UTC-tijd"
+
+#: hwclock/hwclock.c:232 hwclock/hwclock.c:326
+msgid "local"
+msgstr "lokale tijd"
+
+#: hwclock/hwclock.c:312
+#, c-format
+msgid "%s: Warning: unrecognized third line in adjtime file\n"
+msgstr "%s: Waarschuwing: derde regel in adjtime-bestand is niet herkend.\n"
+
+#: hwclock/hwclock.c:314
+#, c-format
+msgid "(Expected: `UTC' or `LOCAL' or nothing.)\n"
+msgstr "(Verwacht: 'UTC' of 'LOCAL' of niets.)\n"
+
+#: hwclock/hwclock.c:321
+#, c-format
+msgid "Last drift adjustment done at %ld seconds after 1969\n"
+msgstr "Laatste verschuivingscorrectie is %ld seconden na 1969 gedaan.\n"
+
+#: hwclock/hwclock.c:323
+#, c-format
+msgid "Last calibration done at %ld seconds after 1969\n"
+msgstr "Laatste calibratie is %ld seconden na 1969 gedaan.\n"
+
+#: hwclock/hwclock.c:325
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr "Hardwareklok staat op %s.\n"
+
+#: hwclock/hwclock.c:327
+msgid "unknown"
+msgstr "onbekende tijd"
+
+#: hwclock/hwclock.c:351
+#, c-format
+msgid "Waiting for clock tick...\n"
+msgstr "Wachten op kloktik...\n"
+
+#: hwclock/hwclock.c:357
+#, c-format
+msgid "...synchronization failed\n"
+msgstr ""
+
+#: hwclock/hwclock.c:359
+#, c-format
+msgid "...got clock tick\n"
+msgstr "...kloktik ontvangen.\n"
+
+#: hwclock/hwclock.c:413
+#, 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"
+
+#: hwclock/hwclock.c:421
+#, 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"
+
+#: hwclock/hwclock.c:451
+#, 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"
+
+#: hwclock/hwclock.c:480
+#, 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"
+
+#: hwclock/hwclock.c:486
+#, c-format
+msgid "Clock not changed - testing only.\n"
+msgstr "Klok niet gewijzigd -- in testmodus.\n"
+
+#: hwclock/hwclock.c:536
+#, fuzzy, 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"
+"Uitgesteld tot de volgende volle seconde.\n"
+
+#: hwclock/hwclock.c:572
+#, c-format
+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).\n"
+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).\n"
+
+#: hwclock/hwclock.c:582
+#, c-format
+msgid "%s  %.6f seconds\n"
+msgstr "%s  %.6f seconden\n"
+
+#: hwclock/hwclock.c:616
+#, c-format
+msgid "No --date option specified.\n"
+msgstr "Geen optie --date gegeven.\n"
+
+#: hwclock/hwclock.c:622
+#, c-format
+msgid "--date argument too long\n"
+msgstr "argument van --date is te lang\n"
+
+#: hwclock/hwclock.c:629
+#, c-format
+msgid ""
+"The value of the --date option is not a valid date.\n"
+"In particular, it contains quotation marks.\n"
+msgstr ""
+"Het argument van --date is geen geldige datum.\n"
+"In het bijzonder bevat het aanhalingstekens.\n"
+
+#: hwclock/hwclock.c:637
+#, c-format
+msgid "Issuing date command: %s\n"
+msgstr "Uitvoering van 'date'-opdracht: %s\n"
+
+#: hwclock/hwclock.c:641
+msgid "Unable to run 'date' program in /bin/sh shell. popen() failed"
+msgstr "Kan 'date'-programma niet in /bin/sh uitvoeren: popen() is mislukt"
+
+#: hwclock/hwclock.c:649
+#, c-format
+msgid "response from date command = %s\n"
+msgstr "Antwoord van 'date'-opdracht = %s\n"
+
+#: hwclock/hwclock.c:651
+#, c-format
+msgid ""
+"The date command issued by %s returned unexpected results.\n"
+"The command was:\n"
+"  %s\n"
+"The response was:\n"
+"  %s\n"
+msgstr ""
+"De 'date'-opdracht uitgevoerd door %s gaf onverwachte resultaten.\n"
+"De opdracht was:\n"
+"  %s\n"
+"Het antwoord was:\n"
+"  %s\n"
+
+#: hwclock/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 waar de "
+"geconverteerde tijdswaarde werd verwacht.\n"
+"De opdracht was:\n"
+"  %s\n"
+"Het antwoord was:\n"
+" %s\n"
+
+#: hwclock/hwclock.c:674
+#, c-format
+msgid "date string %s equates to %ld seconds since 1969.\n"
+msgstr "Datumtekst %s is gelijk aan %ld seconden sinds 1969.\n"
+
+#: hwclock/hwclock.c:706
+#, c-format
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot set the "
+"System Time from it.\n"
+msgstr ""
+"De hardwareklok bevat geen geldige tijd, zodat de systeemtijd er niet mee "
+"ingesteld kan worden.\n"
+
+#: hwclock/hwclock.c:728 hwclock/hwclock.c:805
+#, c-format
+msgid "Calling settimeofday:\n"
+msgstr "Aanroep van settimeofday():\n"
+
+#: hwclock/hwclock.c:729 hwclock/hwclock.c:807
+#, c-format
+msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+
+#: hwclock/hwclock.c:731 hwclock/hwclock.c:809
+#, c-format
+msgid "\ttz.tz_minuteswest = %d\n"
+msgstr "\ttz.tz_minuteswest = %d\n"
+
+#: hwclock/hwclock.c:734 hwclock/hwclock.c:812
+#, c-format
+msgid "Not setting system clock because running in test mode.\n"
+msgstr "De systeemklok wordt niet ingesteld -- in testmodus.\n"
+
+#: hwclock/hwclock.c:743 hwclock/hwclock.c:821
+#, c-format
+msgid "Must be superuser to set system clock.\n"
+msgstr "U moet root zijn om de systeemklok in te kunnen stellen.\n"
+
+#: hwclock/hwclock.c:746 hwclock/hwclock.c:824
+msgid "settimeofday() failed"
+msgstr "settimeofday() is mislukt"
+
+#: hwclock/hwclock.c:782
+#, fuzzy, c-format
+msgid "Current system time: %ld = %s\n"
+msgstr "lezen van systeemtijd"
+
+#: hwclock/hwclock.c:806
+#, c-format
+msgid "\tUTC: %s\n"
+msgstr ""
+
+#: hwclock/hwclock.c:853
+#, 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"
+
+#: hwclock/hwclock.c:858
+#, 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"
+
+#: hwclock/hwclock.c:864
+#, 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"
+
+#: hwclock/hwclock.c:912
+#, 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"
+
+#: hwclock/hwclock.c:962
+#, c-format
+msgid "Time since last adjustment is %d seconds\n"
+msgstr "De verlopen tijd sinds de vorige aanpassing is %d seconden.\n"
+
+#: hwclock/hwclock.c:964
+#, 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"
+
+#: hwclock/hwclock.c:993
+#, c-format
+msgid "Not updating adjtime file because of testing mode.\n"
+msgstr "Het bestand /etc/adjtime wordt niet aangepast -- in testmodus.\n"
+
+#: hwclock/hwclock.c:994
+#, c-format
+msgid ""
+"Would have written the following to %s:\n"
+"%s"
+msgstr ""
+"Het volgende zou naar %s geschreven worden:\n"
+"%s"
+
+#: hwclock/hwclock.c:1002
+#, c-format
+msgid ""
+"Could not open file with the clock adjustment parameters in it (%s) for "
+"writing"
+msgstr ""
+
+#: hwclock/hwclock.c:1007 hwclock/hwclock.c:1012
+#, c-format
+msgid "Could not update file with the clock adjustment parameters (%s) in it"
+msgstr ""
+
+#: hwclock/hwclock.c:1018
+#, c-format
+msgid "Drift adjustment parameters not updated.\n"
+msgstr "De parameters voor de verschuivingsaanpassing zijn niet bijgewerkt.\n"
+
+#: hwclock/hwclock.c:1059
+#, c-format
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot adjust it.\n"
+msgstr ""
+"De hardwareklok bevat geen geldige tijd, zodat die niet aangepast kan "
+"worden.\n"
+
+#: hwclock/hwclock.c:1067
+#, fuzzy, c-format
+msgid ""
+"Not setting clock because last adjustment time is zero, so history is bad."
+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"
+
+#: hwclock/hwclock.c:1090
+#, c-format
+msgid "Needed adjustment is less than one second, so not setting clock.\n"
+msgstr ""
+"De benodigde aanpassing is minder dan één seconde; de klok wordt niet "
+"veranderd.\n"
+
+#: hwclock/hwclock.c:1116
+#, c-format
+msgid "Using %s.\n"
+msgstr "%s wordt gebruikt.\n"
+
+#: hwclock/hwclock.c:1118
+#, c-format
+msgid "No usable clock interface found.\n"
+msgstr "Geen bruikbare klok-interface gevonden.\n"
+
+#: hwclock/hwclock.c:1222 hwclock/hwclock.c:1228
+#, c-format
+msgid "Unable to set system clock.\n"
+msgstr "Instellen van de systeemklok is mislukt.\n"
+
+#: hwclock/hwclock.c:1258
+#, c-format
+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.\n"
+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.\n"
+
+#: hwclock/hwclock.c:1267
+#, c-format
+msgid "Unable to get the epoch value from the kernel.\n"
+msgstr "Verkrijgen van de tijdperkwaarde van de kernel is mislukt.\n"
+
+#: hwclock/hwclock.c:1269
+#, c-format
+msgid "Kernel is assuming an epoch value of %lu\n"
+msgstr "Kernel neemt als tijdperkwaarde %lu aan.\n"
+
+#: hwclock/hwclock.c:1272
+#, c-format
+msgid ""
+"To set the epoch value, you must use the 'epoch' option to tell to what "
+"value to set it.\n"
+msgstr ""
+"Om de tijdperkwaarde in te stellen dient u de optie --epoch te gebruiken.\n"
+
+#: hwclock/hwclock.c:1275
+#, c-format
+msgid "Not setting the epoch to %d - testing only.\n"
+msgstr "Tijdperk wordt niet ingesteld op %d -- in testmodus.\n"
+
+#: hwclock/hwclock.c:1278
+#, c-format
+msgid "Unable to set the epoch value in the kernel.\n"
+msgstr "Instellen van de tijdperkwaarde in de kernel is mislukt.\n"
+
+#: hwclock/hwclock.c:1291 misc-utils/cal.c:345 misc-utils/kill.c:189
+#, c-format
+msgid "%s from %s\n"
+msgstr "%s (%s)\n"
+
+#: hwclock/hwclock.c:1312
+#, fuzzy, c-format
+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"
+"  -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"
+"  --help        deze hulptekst tonen\n"
+"  --show        de hardwareklok lezen en het resultaat weergeven\n"
+"  --set         de hardwareklok instellen op de tijd gegeven met '--date'\n"
+"  --hctosys     aan de hand van de hardwareklok de systeemklok instellen\n"
+"  --systohc     aan de hand van de systeemklok de hardwareklok instellen\n"
+"  --adjust      de hardwareklok aanpassen ter compensatie van de "
+"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"
+"  --version     programmaversie tonen\n"
+"\n"
+"Opties: \n"
+"  --utc         de hardwareklok bevat de gecoördineerde universele tijd\n"
+"  --localtime   de hardwareklok bevat de lokale tijd\n"
+"  --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 (vereist '--utc' of '--"
+"localtime')\n"
+"  --adjfile=BESTAND  te gebruiken verschuivingsregistratiebestand\n"
+"                     (standaard is /etc/adjtime)\n"
+
+#: hwclock/hwclock.c:1347
+#, fuzzy, c-format
+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"
+"                het soort Alpha dat u gebruikt  (zie hwclock(8))\n"
+
+#: hwclock/hwclock.c:1434
+#, c-format
+msgid "%s: Unable to connect to audit system\n"
+msgstr "%s: Kan geen verbinding maken met auditsysteem\n"
+
+#: hwclock/hwclock.c:1552
+#, 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"
+
+#: hwclock/hwclock.c:1559
+#, c-format
+msgid ""
+"You have specified multiple functions.\n"
+"You can only perform one function at a time.\n"
+msgstr ""
+"U hebt verschillende functies aangegeven.\n"
+"Per aanroep kan slechts één functie worden gebruikt.\n"
+
+#: hwclock/hwclock.c:1566
+#, c-format
+msgid ""
+"%s: The --utc and --localtime options are mutually exclusive.  You specified "
+"both.\n"
+msgstr "%s: De opties --utc en --localtime sluiten elkaar uit.\n"
+
+#: hwclock/hwclock.c:1573
+#, c-format
+msgid ""
+"%s: The --adjust and --noadjfile options are mutually exclusive.  You "
+"specified both.\n"
+msgstr "%s: De opties --adjust en --noadjfile sluiten elkaar uit.\n"
+
+#: hwclock/hwclock.c:1580
+#, c-format
+msgid ""
+"%s: The --adjfile and --noadjfile options are mutually exclusive.  You "
+"specified both.\n"
+msgstr "%s: De opties --adjfile en --noadjfile sluiten elkaar uit.\n"
+
+#: hwclock/hwclock.c:1589
+#, c-format
+msgid "%s: With --noadjfile, you must specify either --utc or --localtime\n"
+msgstr "%s: Bij --noadjfile moet u of --utc of --localtime aangeven.\n"
+
+#: hwclock/hwclock.c:1603
+#, c-format
+msgid "No usable set-to time.  Cannot set clock.\n"
+msgstr "Geen bruikbare insteltijd.  Kan klok niet instellen.\n"
+
+#: hwclock/hwclock.c:1620
+#, c-format
+msgid "Sorry, only the superuser can change the Hardware Clock.\n"
+msgstr "Sorry, alleen root kan de hardwareklok instellen.\n"
+
+#: hwclock/hwclock.c:1625
+#, c-format
+msgid "Sorry, only the superuser can change the System Clock.\n"
+msgstr "Sorry, alleen root kan de systeemklok instellen.\n"
+
+#: hwclock/hwclock.c:1630
+#, c-format
+msgid ""
+"Sorry, only the superuser can change the Hardware Clock epoch in the "
+"kernel.\n"
+msgstr ""
+"Sorry, alleen root kan in de kernel de tijdperkwaarde voor de klok "
+"instellen.\n"
+
+#: hwclock/hwclock.c:1651
+#, c-format
+msgid "Cannot access the Hardware Clock via any known method.\n"
+msgstr ""
+"Kan op geen enkele bekende manier toegang krijgen tot de hardwareklok.\n"
+
+#: hwclock/hwclock.c:1655
+#, c-format
+msgid ""
+"Use the --debug option to see the details of our search for an access "
+"method.\n"
+msgstr ""
+"Gebruik de optie --debug om alle details over de zoektocht\n"
+"naar een toegangsmethode te zien.\n"
+
+#: hwclock/kd.c:53
+#, 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"
+
+#: hwclock/kd.c:56
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr "Het lezen van de tijd via ioctl(KDGHWCLK) is mislukt"
+
+#: hwclock/kd.c:77 hwclock/rtc.c:221
+#, c-format
+msgid "Timed out waiting for time change.\n"
+msgstr "Wachten op veranderende tijd duurde te lang.\n"
+
+#: hwclock/kd.c:81
+msgid "KDGHWCLK ioctl to read time failed in loop"
+msgstr "Het lezen van de tijd via ioctl(KDGHWCLK) is mislukt tijdens de lus"
+
+#: hwclock/kd.c:103
+#, c-format
+msgid "ioctl() failed to read time from %s"
+msgstr "ioctl() kan geen tijd lezen uit %s"
+
+#: hwclock/kd.c:139
+msgid "ioctl KDSHWCLK failed"
+msgstr "ioctl(KDSHWCLK) is mislukt"
+
+#: hwclock/kd.c:175
+msgid "Can't open /dev/tty1 or /dev/vc/1"
+msgstr "Openen van /dev/tty1 of /dev/vc/1 is mislukt"
+
+#: hwclock/kd.c:179
+msgid "KDGHWCLK ioctl failed"
+msgstr "ioctl(KDGHWCLK) is mislukt"
+
+#: hwclock/rtc.c:147 hwclock/rtc.c:241
+#, c-format
+msgid "open() of %s failed"
+msgstr "open() van %s is mislukt"
+
+#: hwclock/rtc.c:181
+#, c-format
+msgid "ioctl() to %s to read the time failed.\n"
+msgstr "ioctl() op %s om de tijd te lezen is mislukt\n"
+
+#: hwclock/rtc.c:203
+#, c-format
+msgid "Waiting in loop for time from %s to change\n"
+msgstr "Wachten in lus totdat de tijd van %s verandert...\n"
+
+#: hwclock/rtc.c:259
+#, c-format
+msgid "%s does not have interrupt functions. "
+msgstr "Apparaat %s heeft geen onderbrekingsfuncties. "
+
+#: hwclock/rtc.c:270
+#, c-format
+msgid "read() to %s to wait for clock tick failed"
+msgstr "read() van %s voor wachten op kloktik is mislukt"
+
+#: hwclock/rtc.c:288
+#, c-format
+msgid "select() to %s to wait for clock tick failed"
+msgstr "select() van %s voor wachten op kloktik is mislukt"
+
+#: hwclock/rtc.c:291
+#, c-format
+msgid "select() to %s to wait for clock tick timed out\n"
+msgstr "select() van %s voor wachten op kloktik duurde te lang\n"
+
+#: hwclock/rtc.c:300
+#, c-format
+msgid "ioctl() to %s to turn off update interrupts failed"
+msgstr "ioctl() op %s om bijwerkingsonderbrekingen uit te zetten is mislukt"
+
+#: hwclock/rtc.c:303
+#, 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"
+
+#: hwclock/rtc.c:360
+#, c-format
+msgid "ioctl() to %s to set the time failed.\n"
+msgstr "ioctl() op %s om tijd in te stellen is mislukt\n"
+
+#: hwclock/rtc.c:366
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr "ioctl(%s) is geslaagd\n"
+
+#: hwclock/rtc.c:392
+#, c-format
+msgid "Open of %s failed"
+msgstr "Openen van %s is mislukt"
+
+#: hwclock/rtc.c:410 hwclock/rtc.c:454
+#, 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.\n"
+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.\n"
+
+#: hwclock/rtc.c:415 hwclock/rtc.c:459
+#, c-format
+msgid "Unable to open %s"
+msgstr "Openen van %s is mislukt"
+
+#: hwclock/rtc.c:422
+#, c-format
+msgid "ioctl(RTC_EPOCH_READ) to %s failed"
+msgstr "ioctl(RTC_EPOCH_READ) op %s is mislukt"
+
+#: hwclock/rtc.c:427
+#, 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"
+
+#: hwclock/rtc.c:446
+#, c-format
+msgid "The epoch value may not be less than 1900.  You requested %ld\n"
+msgstr "De tijdperkwaarde mag niet minder zijn dan 1900.  U vroeg om %ld.\n"
+
+#: hwclock/rtc.c:464
+#, 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"
+
+#: hwclock/rtc.c:469
+#, c-format
+msgid ""
+"The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl.\n"
+msgstr "Het kernelstuurprogramma voor %s heeft geen ioctl(RTC_EPOCH_SET).\n"
+
+#: hwclock/rtc.c:472
+#, c-format
+msgid "ioctl(RTC_EPOCH_SET) to %s failed"
+msgstr "ioctl(RTC_EPOCH_SET) op %s is mislukt"
+
+#: login-utils/agetty.c:361
+#, c-format
+msgid "%s: can't exec %s: %m"
+msgstr "%s: kan %s niet uitvoeren: %m"
+
+#: login-utils/agetty.c:384
+msgid "can't malloc initstring"
+msgstr "onvoldoende geheugen beschikbaar voor starttekenreeks"
+
+#: login-utils/agetty.c:449
+#, c-format
+msgid "bad timeout value: %s"
+msgstr "ongeldige tijdslimiet: %s"
+
+#: login-utils/agetty.c:526
+#, c-format
+msgid "bad speed: %s"
+msgstr "ongeldige snelheid: %s"
+
+#: login-utils/agetty.c:528
+msgid "too many alternate speeds"
+msgstr "te veel alternatieve snelheden"
+
+#: login-utils/agetty.c:630
+#, c-format
+msgid "/dev: chdir() failed: %m"
+msgstr "/dev: chdir() is mislukt: %m"
+
+#: login-utils/agetty.c:634
+#, c-format
+msgid "/dev/%s: not a character device"
+msgstr "/dev/%s: is geen byte-apparaat"
+
+#: login-utils/agetty.c:643
+#, c-format
+msgid "/dev/%s: cannot open as standard input: %m"
+msgstr "/dev/%s: kan deze niet openen als standaardinvoer: %m"
+
+#: login-utils/agetty.c:653
+#, c-format
+msgid "%s: not open for read/write"
+msgstr "%s: is niet open voor lezen-en-schrijven"
+
+#: login-utils/agetty.c:659
+#, c-format
+msgid "%s: dup problem: %m"
+msgstr "%s: probleem met verdubbelen van standaardinvoer en -uitvoer: %m"
+
+#: login-utils/agetty.c:946
+#, c-format
+msgid "user"
+msgstr "gebruiker"
+
+#: login-utils/agetty.c:946
+#, c-format
+msgid "users"
+msgstr "gebruikers"
+
+#: login-utils/agetty.c:1031
+#, c-format
+msgid "%s: read: %m"
+msgstr "%s: gelezen: %m"
+
+#: login-utils/agetty.c:1078
+#, c-format
+msgid "%s: input overrun"
+msgstr "%s: invoeroverloop"
+
+#: login-utils/agetty.c:1207
+#, c-format
+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 ""
+"Gebruik:  %s [-8hiLmUw] [-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"
+
+#: login-utils/checktty.c:91 login-utils/checktty.c:112
+#, c-format
+msgid "login: memory low, login may fail\n"
+msgstr "login: er is weinig vrij geheugen, inloggen kan mislukken\n"
+
+#: login-utils/checktty.c:92
+msgid "can't malloc for ttyclass"
+msgstr "malloc() voor ttyclass is mislukt"
+
+#: login-utils/checktty.c:113
+msgid "can't malloc for grplist"
+msgstr "malloc() voor grplist is mislukt"
+
+#: login-utils/checktty.c:554
+#, c-format
+msgid "Login on %s from %s denied by default.\n"
+msgstr "Inloggen op %s vanaf %s wordt standaard geweigerd.\n"
+
+#: login-utils/checktty.c:565
+#, c-format
+msgid "Login on %s from %s denied.\n"
+msgstr "Inloggen op %s vanaf %s is geweigerd.\n"
+
+#: login-utils/chfn.c:133 login-utils/chsh.c:119
+#, c-format
+msgid "%s: you (user %d) don't exist.\n"
+msgstr "%s: gebruiker %d (oftewel u) bestaat niet.\n"
+
+#: login-utils/chfn.c:140 login-utils/chsh.c:126
+#, c-format
+msgid "%s: user \"%s\" does not exist.\n"
+msgstr "%s: gebruiker '%s' bestaat niet.\n"
+
+#: login-utils/chfn.c:145 login-utils/chsh.c:131
+#, c-format
+msgid "%s: can only change local entries; use yp%s instead.\n"
+msgstr "%s: kan alleen lokale zaken wijzigen; gebruik yp%s in plaats.\n"
+
+#: login-utils/chfn.c:156 login-utils/chsh.c:142
+msgid "Unknown user context"
+msgstr "Onbekende gebruikerscontext"
+
+#: login-utils/chfn.c:157
+#, c-format
+msgid "%s: %s is not authorized to change the finger info of %s\n"
+msgstr "%s: %s is niet gerechtigd om de finger-informatie van %s te wijzigen\n"
+
+#: login-utils/chfn.c:164 login-utils/chsh.c:150
+#, c-format
+msgid "%s: Can't set default context for /etc/passwd"
+msgstr "%s: Kan standaardcontext voor /etc/passwd niet instellen"
+
+#: login-utils/chfn.c:178
+#, c-format
+msgid "Changing finger information for %s.\n"
+msgstr "Wijzigen van finger-informatie voor %s.\n"
+
+#: login-utils/chfn.c:189 login-utils/chsh.c:188 login-utils/login.c:572
+#, c-format
+msgid "%s: PAM failure, aborting: %s\n"
+msgstr "%s: PAM-fout -- gestopt: %s\n"
+
+#: login-utils/chfn.c:212 login-utils/chsh.c:211 login-utils/login.c:823
+#: login-utils/newgrp.c:85 login-utils/simpleinit.c:340 mount/lomount.c:744
+#: mount/lomount.c:747
+msgid "Password: "
+msgstr "Wachtwoord: "
+
+#: login-utils/chfn.c:215 login-utils/chsh.c:214
+msgid "Incorrect password."
+msgstr "Onjuist wachtwoord."
+
+#: login-utils/chfn.c:226
+#, c-format
+msgid "Finger information not changed.\n"
+msgstr "Finger-informatie is niet gewijzigd.\n"
+
+#: login-utils/chfn.c:328
+#, c-format
+msgid "Usage: %s [ -f full-name ] [ -o office ] "
+msgstr "Gebruik:  %s [ -f volledige_naam ] [ -o kantoor ] "
+
+#: login-utils/chfn.c:329
+#, c-format
+msgid ""
+"[ -p office-phone ]\n"
+"\t[ -h home-phone ] "
+msgstr ""
+"[ -p kantoor_telefoon ]\n"
+"          [ -h thuis_telefoon ] "
+
+#: login-utils/chfn.c:330
+#, c-format
+msgid "[ --help ] [ --version ]\n"
+msgstr "[ --help ] [ --version ]\n"
+
+#: login-utils/chfn.c:378
+msgid "Office"
+msgstr ""
+
+#: login-utils/chfn.c:379
+msgid "Office Phone"
+msgstr ""
+
+#: login-utils/chfn.c:380
+msgid "Home Phone"
+msgstr ""
+
+#: login-utils/chfn.c:401 login-utils/chsh.c:321
+#, c-format
+msgid ""
+"\n"
+"Aborted.\n"
+msgstr ""
+"\n"
+"Afgebroken.\n"
+
+#: login-utils/chfn.c:434
+#, c-format
+msgid "field is too long.\n"
+msgstr "veld is te lang.\n"
+
+#: login-utils/chfn.c:442
+#, c-format
+msgid "'%c' is not allowed.\n"
+msgstr "'%c' is niet toegestaan.\n"
+
+#: login-utils/chfn.c:447
+#, c-format
+msgid "Control characters are not allowed.\n"
+msgstr "Stuurtekens zijn niet toegestaan.\n"
+
+#: login-utils/chfn.c:512
+#, 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:515
+#, c-format
+msgid "Finger information changed.\n"
+msgstr "Finger-informatie is gewijzigd.\n"
+
+#: login-utils/chsh.c:143
+#, c-format
+msgid "%s: %s is not authorized to change the shell of %s\n"
+msgstr "%s: %s is niet gerechtigd om de shell van %s te wijzigen\n"
+
+#: login-utils/chsh.c:164
+#, c-format
+msgid ""
+"%s: Running UID doesn't match UID of user we're altering, shell change "
+"denied\n"
+msgstr ""
+"%s: Het uitvoerende UID komt niet overeen met de UID van de gebruiker\n"
+"wiens gegevens worden gewijzigd -- shell-wijziging is geweigerd.\n"
+
+#: login-utils/chsh.c:170
+#, c-format
+msgid "%s: Your shell is not in /etc/shells, shell change denied\n"
+msgstr ""
+"%s: Uw huidige shell staat niet in /etc/shells -- shell-wijziging is "
+"geweigerd.\n"
+
+#: login-utils/chsh.c:177
+#, c-format
+msgid "Changing shell for %s.\n"
+msgstr "Wijzigen van standaard-shell voor %s.\n"
+
+#: login-utils/chsh.c:222
+msgid "New shell"
+msgstr "Nieuwe shell"
+
+#: login-utils/chsh.c:229
+#, c-format
+msgid "Shell not changed.\n"
+msgstr "Shell is niet gewijzigd.\n"
+
+#: login-utils/chsh.c:235
+#, c-format
+msgid "Shell *NOT* changed.  Try again later.\n"
+msgstr "Shell is NIET gewijzigd.  Probeer het later opnieuw.\n"
+
+#: login-utils/chsh.c:238
+#, c-format
+msgid "Shell changed.\n"
+msgstr "Shell is gewijzigd.\n"
+
+#: login-utils/chsh.c:303
+#, c-format
+msgid ""
+"Usage: %s [ -s shell ] [ --list-shells ] [ --help ] [ --version ]\n"
+"       [ username ]\n"
+msgstr ""
+"Gebruik:  %s [ -s shell ] [ gebruikersnaam ]\n"
+"          chsh [ --list-shells ] [ --help ] [ --version ]\n"
+
+#: login-utils/chsh.c:349
+#, c-format
+msgid "%s: shell must be a full path name.\n"
+msgstr "%s: shell moet een volledige padnaam zijn.\n"
+
+#: login-utils/chsh.c:353
+#, c-format
+msgid "%s: \"%s\" does not exist.\n"
+msgstr "%s: '%s' bestaat niet.\n"
+
+#: login-utils/chsh.c:357
+#, c-format
+msgid "%s: \"%s\" is not executable.\n"
+msgstr "%s: '%s' is niet uitvoerbaar.\n"
+
+#: login-utils/chsh.c:364
+#, c-format
+msgid "%s: '%c' is not allowed.\n"
+msgstr "%s: '%c' is niet toegestaan.\n"
+
+#: login-utils/chsh.c:368
+#, c-format
+msgid "%s: Control characters are not allowed.\n"
+msgstr "%s: Stuurtekens zijn niet toegestaan.\n"
+
+#: login-utils/chsh.c:375 login-utils/chsh.c:385
+#, c-format
+msgid "Warning: \"%s\" is not listed in /etc/shells.\n"
+msgstr "Waarschuwing: '%s' staat niet in /etc/shells\n"
+
+#: login-utils/chsh.c:377
+#, c-format
+msgid "%s: \"%s\" is not listed in /etc/shells.\n"
+msgstr "%s: '%s' staat niet in /etc/shells\n"
+
+#: login-utils/chsh.c:379
+#, c-format
+msgid "%s: Use -l option to see list.\n"
+msgstr "%s: Gebruik optie '-l' om de lijst te zien\n"
+
+#: login-utils/chsh.c:386
+#, c-format
+msgid "Use %s -l to see list.\n"
+msgstr "Gebruik '%s -l' om de lijst te zien.\n"
+
+#: login-utils/chsh.c:406
+#, c-format
+msgid "No known shells.\n"
+msgstr "Geen bekende shells.\n"
+
+#: login-utils/islocal.c:87
+#, c-format
+msgid "Failed to open %s for reading, exiting."
+msgstr "Kan %s niet openen om te lezen -- gestopt"
+
+#: login-utils/last.c:148
+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:284
+msgid "  still logged in"
+msgstr "  nog ingelogd"
+
+#: login-utils/last.c:306
+#, c-format
+msgid ""
+"\n"
+"wtmp begins %s"
+msgstr ""
+"\n"
+"wtmp begint %s"
+
+#: login-utils/last.c:362 login-utils/last.c:380 login-utils/last.c:431
+msgid "last: malloc failure.\n"
+msgstr "last: malloc() is mislukt\n"
+
+#: login-utils/last.c:407
+msgid "last: gethostname"
+msgstr "last: gethostname() is mislukt"
+
+#: login-utils/last.c:456
+#, c-format
+msgid ""
+"\n"
+"interrupted %10.10s %5.5s \n"
+msgstr ""
+"\n"
+"onderbroken %10.10s %5.5s \n"
+
+#: login-utils/login.c:197
+#, c-format
+msgid "FATAL: can't reopen tty: %s"
+msgstr "FATAAL: kan tty niet heropenen: %s"
+
+#: login-utils/login.c:229
+msgid "FATAL: bad tty"
+msgstr "FATAAL: slechte tty"
+
+#: login-utils/login.c:436
+#, 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:479
+#, c-format
+msgid "usage: login [-fp] [username]\n"
+msgstr "Gebruik:  login [-fp] [gebruikersnaam]\n"
+
+#: login-utils/login.c:574
+#, c-format
+msgid "Couldn't initialize PAM: %s"
+msgstr "Kan PAM niet initialiseren: %s"
+
+#: login-utils/login.c:591
+msgid "login: "
+msgstr "inlognaam: "
+
+#: login-utils/login.c:635
+#, c-format
+msgid "FAILED LOGIN %d FROM %s FOR %s, %s"
+msgstr "INLOGPOGING %d IS MISLUKT VANAF %s VOOR %s -- %s"
+
+#: login-utils/login.c:640
+#, c-format
+msgid ""
+"Login incorrect\n"
+"\n"
+msgstr ""
+"Inloggegevens onjuist\n"
+"\n"
+
+#: login-utils/login.c:649
+#, c-format
+msgid "TOO MANY LOGIN TRIES (%d) FROM %s FOR %s, %s"
+msgstr "TE VEEL INLOGPOGINGEN (%d) VANAF %s VOOR %s -- %s"
+
+#: login-utils/login.c:653
+#, c-format
+msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
+msgstr "INLOGSESSIE IS MISLUKT VANAF %s VOOR %s -- %s"
+
+#: login-utils/login.c:658
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+"\n"
+"Inloggegevens onjuist\n"
+
+#: login-utils/login.c:686 login-utils/login.c:693 login-utils/login.c:727
+#, c-format
+msgid ""
+"\n"
+"Session setup problem, abort.\n"
+msgstr ""
+"\n"
+"Sessie-instellingsprobleem -- gestopt\n"
+
+#: login-utils/login.c:687
+#, c-format
+msgid "NULL user name in %s:%d. Abort."
+msgstr "Lege gebruikersnaam in %s:%d -- gestopt"
+
+#: login-utils/login.c:694
+#, c-format
+msgid "Invalid user name \"%s\" in %s:%d. Abort."
+msgstr "Onjuiste gebruikersnaam '%s' in %s:%d -- gestopt"
+
+#: login-utils/login.c:713
+#, c-format
+msgid "login: Out of memory\n"
+msgstr "login: Onvoldoende geheugen beschikbaar\n"
+
+#: login-utils/login.c:757
+msgid "Illegal username"
+msgstr "Ongeldige gebruikersnaam"
+
+#: login-utils/login.c:800
+#, c-format
+msgid "%s login refused on this terminal.\n"
+msgstr "Inloggen door %s op deze terminal is geweigerd.\n"
+
+#: login-utils/login.c:805
+#, c-format
+msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
+msgstr "INLOGGEN DOOR %s VANAF %s IS GEWEIGERD OP TTY %s"
+
+#: login-utils/login.c:809
+#, c-format
+msgid "LOGIN %s REFUSED ON TTY %s"
+msgstr "INLOGGEN DOOR %s IS GEWEIGERD OP TTY %s"
+
+#: login-utils/login.c:863
+#, c-format
+msgid "Login incorrect\n"
+msgstr "Inloggegevens onjuist\n"
+
+#: login-utils/login.c:1088
+#, c-format
+msgid "DIALUP AT %s BY %s"
+msgstr "INBELLEN OP %s DOOR %s"
+
+#: login-utils/login.c:1095
+#, c-format
+msgid "ROOT LOGIN ON %s FROM %s"
+msgstr "ROOT-LOGIN OP %s VANAF %s"
+
+#: login-utils/login.c:1098
+#, c-format
+msgid "ROOT LOGIN ON %s"
+msgstr "ROOT-LOGIN OP %s"
+
+#: login-utils/login.c:1101
+#, c-format
+msgid "LOGIN ON %s BY %s FROM %s"
+msgstr "LOGIN OP %s DOOR %s VANAF %s"
+
+#: login-utils/login.c:1104
+#, c-format
+msgid "LOGIN ON %s BY %s"
+msgstr "LOGIN OP %s DOOR %s"
+
+#: login-utils/login.c:1125
+#, c-format
+msgid "You have new mail.\n"
+msgstr "U hebt nieuwe e-mail.\n"
+
+#: login-utils/login.c:1127
+#, c-format
+msgid "You have mail.\n"
+msgstr "U hebt e-mail.\n"
+
+#: login-utils/login.c:1171
+#, c-format
+msgid "login: failure forking: %s"
+msgstr "login: kan geen nieuw proces starten: %s"
+
+#: login-utils/login.c:1218
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr "ioctl(TIOCSCTTY) is mislukt: %m"
+
+#: login-utils/login.c:1224
+msgid "setuid() failed"
+msgstr "setuid() is mislukt"
+
+#: login-utils/login.c:1230
+#, c-format
+msgid "No directory %s!\n"
+msgstr "Er is geen map %s!\n"
+
+#: login-utils/login.c:1234
+#, c-format
+msgid "Logging in with home = \"/\".\n"
+msgstr "Ingelogd met home = '/'.\n"
+
+#: login-utils/login.c:1242
+#, c-format
+msgid "login: no memory for shell script.\n"
+msgstr "login: onvoldoende geheugen beschikbaar voor shell-script\n"
+
+#: login-utils/login.c:1269
+#, c-format
+msgid "login: couldn't exec shell script: %s.\n"
+msgstr "login: kan shell-script niet uitvoeren: %s\n"
+
+#: login-utils/login.c:1272
+#, c-format
+msgid "login: no shell: %s.\n"
+msgstr "login: geen shell: %s\n"
+
+#: login-utils/login.c:1287
+#, c-format
+msgid ""
+"\n"
+"%s login: "
+msgstr ""
+"\n"
+"%s inlognaam: "
+
+#: login-utils/login.c:1298
+#, c-format
+msgid "login name much too long.\n"
+msgstr "inlognaam is veel te lang\n"
+
+#: login-utils/login.c:1299
+msgid "NAME too long"
+msgstr "NAAM is te lang"
+
+#: login-utils/login.c:1306
+#, c-format
+msgid "login names may not start with '-'.\n"
+msgstr "inlognamen mogen niet beginnen met '-'\n"
+
+#: login-utils/login.c:1316
+#, c-format
+msgid "too many bare linefeeds.\n"
+msgstr "te veel witregels\n"
+
+#: login-utils/login.c:1317
+msgid "EXCESSIVE linefeeds"
+msgstr "EXCESSIEF aantal witregels"
+
+#: login-utils/login.c:1349
+#, c-format
+msgid "Login timed out after %d seconds\n"
+msgstr "Inloggen duurde te lang: afgebroken na %d seconden.\n"
+
+#: login-utils/login.c:1437
+#, c-format
+msgid "Last login: %.*s "
+msgstr "Laatste keer ingelogd: %.*s "
+
+#: login-utils/login.c:1441
+#, c-format
+msgid "from %.*s\n"
+msgstr "vanaf %.*s\n"
+
+#: login-utils/login.c:1444
+#, c-format
+msgid "on %.*s\n"
+msgstr "op %.*s\n"
+
+#: login-utils/login.c:1470
+#, c-format
+msgid "LOGIN FAILURE FROM %s, %s"
+msgstr "INLOGGEN IS MISLUKT VANAF %s -- %s"
+
+#: login-utils/login.c:1473
+#, c-format
+msgid "LOGIN FAILURE ON %s, %s"
+msgstr "INLOGGEN IS MISLUKT OP %s -- %s"
+
+#: login-utils/login.c:1477
+#, c-format
+msgid "%d LOGIN FAILURES FROM %s, %s"
+msgstr "%d INLOGMISLUKKINGEN VANAF %s -- %s"
+
+#: login-utils/login.c:1480
+#, c-format
+msgid "%d LOGIN FAILURES ON %s, %s"
+msgstr "%d INLOGMISLUKKINGEN OP %s --  %s"
+
+#: login-utils/mesg.c:89
+#, c-format
+msgid "is y\n"
+msgstr "is 'y' (ja)\n"
+
+#: login-utils/mesg.c:92
+#, c-format
+msgid "is n\n"
+msgstr "is 'n' (nee)\n"
+
+#: login-utils/mesg.c:112
+#, c-format
+msgid "usage: mesg [y | n]\n"
+msgstr "Gebruik:  mesg [y|n]\n"
+
+#: login-utils/newgrp.c:105
+msgid "newgrp: Who are you?"
+msgstr "newgrp: Wie bent u?"
+
+#: login-utils/newgrp.c:113 login-utils/newgrp.c:127
+msgid "newgrp: setgid"
+msgstr "newgrp: setgid() is mislukt"
+
+#: login-utils/newgrp.c:120 login-utils/newgrp.c:122
+msgid "newgrp: No such group."
+msgstr "newgrp: Die groep bestaat niet."
+
+#: login-utils/newgrp.c:131
+msgid "newgrp: Permission denied"
+msgstr "newgrp: Toegang geweigerd"
+
+#: login-utils/newgrp.c:138
+msgid "newgrp: setuid"
+msgstr "newgrp: setuid() is mislukt"
+
+#: login-utils/newgrp.c:144
+msgid "No shell"
+msgstr "Geen shell"
+
+#: login-utils/shutdown.c:115
+#, c-format
+msgid "Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+msgstr "Gebruik:  shutdown [-h|-r] [-fqs] [now|uu:ss|+minuten]\n"
+
+#: login-utils/shutdown.c:133
+msgid "Shutdown process aborted"
+msgstr "Afsluitingsproces is afgebroken."
+
+#: login-utils/shutdown.c:164
+#, c-format
+msgid "%s: Only root can shut a system down.\n"
+msgstr "%s: Alleen root kan een systeem afsluiten.\n"
+
+#: login-utils/shutdown.c:258
+#, c-format
+msgid "That must be tomorrow, can't you wait till then?\n"
+msgstr "Dat moet morgen zijn; kunt u niet tot dan wachten?\n"
+
+#: login-utils/shutdown.c:309
+msgid "for maintenance; bounce, bounce"
+msgstr "voor onderhoud -- joepie"
+
+#: login-utils/shutdown.c:338
+msgid "The system is being shut down within 5 minutes"
+msgstr "Het systeem wordt binnen vijf minuten afgesloten."
+
+#: login-utils/shutdown.c:342
+msgid "Login is therefore prohibited."
+msgstr "Inloggen is daarom niet toegestaan."
+
+#: login-utils/shutdown.c:364
+#, c-format
+msgid "rebooted by %s: %s"
+msgstr "opnieuw gestart door %s: %s"
+
+#: login-utils/shutdown.c:367
+#, c-format
+msgid "halted by %s: %s"
+msgstr "afgesloten door %s: %s"
+
+#: login-utils/shutdown.c:431
+msgid ""
+"\n"
+"Why am I still alive after reboot?"
+msgstr ""
+"\n"
+"Waarom leef ik nog na een herstart?"
+
+#: login-utils/shutdown.c:433
+msgid ""
+"\n"
+"Now you can turn off the power..."
+msgstr ""
+"\n"
+"U kunt de computer nu uitschakelen..."
+
+#: login-utils/shutdown.c:449
+#, c-format
+msgid "Calling kernel power-off facility...\n"
+msgstr "De uitschakel-voorziening van de kernel wordt aangeroepen...\n"
+
+#: login-utils/shutdown.c:452
+#, c-format
+msgid "Error powering off\t%s\n"
+msgstr "Fout bij het uitschakelen\t%s\n"
+
+#: login-utils/shutdown.c:460
+#, c-format
+msgid "Executing the program \"%s\" ...\n"
+msgstr "Het programma '%s' wordt uitgevoerd...\n"
+
+#: login-utils/shutdown.c:463
+#, c-format
+msgid "Error executing\t%s\n"
+msgstr "Fout tijdens uitvoering: %s\n"
+
+#: login-utils/shutdown.c:490
+#, c-format
+msgid "URGENT: broadcast message from %s:"
+msgstr "BELANGRIJK: bericht van %s voor iedereen:"
+
+#: login-utils/shutdown.c:496
+#, c-format
+msgid "System going down in %d hours %d minutes"
+msgstr "Het systeem wordt over %d uur en %d minuten afgesloten."
+
+#: login-utils/shutdown.c:499
+#, c-format
+msgid "System going down in 1 hour %d minutes"
+msgstr "Het systeem wordt over 1 uur en %d minuten afgesloten."
+
+#: login-utils/shutdown.c:502
+#, c-format
+msgid "System going down in %d minutes\n"
+msgstr "Het systeem wordt over %d minuten afgesloten.\n"
+
+#: login-utils/shutdown.c:505
+#, c-format
+msgid "System going down in 1 minute\n"
+msgstr "Het systeem wordt over 1 minuut afgesloten.\n"
+
+#: login-utils/shutdown.c:507
+#, c-format
+msgid "System going down IMMEDIATELY!\n"
+msgstr "Het systeem wordt NU afgesloten!\n"
+
+#: login-utils/shutdown.c:512
+#, c-format
+msgid "\t... %s ...\n"
+msgstr "\t... %s ...\n"
+
+#: login-utils/shutdown.c:569
+msgid "Cannot fork for swapoff. Shrug!"
+msgstr "fork() voor swapoff is mislukt -- nou ja"
+
+#: login-utils/shutdown.c:577
+msgid "Cannot exec swapoff, hoping umount will do the trick."
+msgstr "Uitvoeren van swapoff is mislukt; hopelijk lost umount het op."
+
+#: login-utils/shutdown.c:596
+msgid "Cannot fork for umount, trying manually."
+msgstr "fork() voor umount is mislukt; dan maar zonder nieuw proces."
+
+#: login-utils/shutdown.c:605
+#, c-format
+msgid "Cannot exec %s, trying umount.\n"
+msgstr "Uitvoeren van %s is mislukt; umount wordt geprobeerd.\n"
+
+#: login-utils/shutdown.c:609
+msgid "Cannot exec umount, giving up on umount."
+msgstr "Uitvoeren van umount is mislukt -- gestopt"
+
+#: login-utils/shutdown.c:614
+msgid "Unmounting any remaining filesystems..."
+msgstr "Ontkoppelen van resterende bestandssystemen..."
+
+#: login-utils/shutdown.c:661
+#, c-format
+msgid "shutdown: Couldn't umount %s: %s\n"
+msgstr "shutdown: Kan %s niet ontkoppelen: %s\n"
+
+#: login-utils/simpleinit.c:132
+msgid "Booting to single user mode.\n"
+msgstr "Opstarten in ééngebruikersmodus.\n"
+
+#: login-utils/simpleinit.c:136
+msgid "exec of single user shell failed\n"
+msgstr "Uitvoeren van ééngebruikersshell is mislukt\n"
+
+#: login-utils/simpleinit.c:140
+msgid "fork of single user shell failed\n"
+msgstr "fork() van ééngebruikersshell is mislukt\n"
+
+#: login-utils/simpleinit.c:208
+msgid "error opening fifo\n"
+msgstr "fout bij openen van fifo\n"
+
+#: login-utils/simpleinit.c:212
+msgid "error setting close-on-exec on /dev/initctl"
+msgstr "fout bij instellen van sluiten-bij-uitvoeren op /dev/initctl"
+
+#: login-utils/simpleinit.c:259
+msgid "error running finalprog\n"
+msgstr "fout bij uitvoeren van finalprog\n"
+
+#: login-utils/simpleinit.c:263
+msgid "error forking finalprog\n"
+msgstr "fout bij fork() van finalprog\n"
+
+#: login-utils/simpleinit.c:345
+msgid ""
+"\n"
+"Wrong password.\n"
+msgstr ""
+"\n"
+"Verkeerd wachtwoord.\n"
+
+#: login-utils/simpleinit.c:418
+msgid "lstat of path failed\n"
+msgstr "lstat() van pad is mislukt\n"
+
+#: login-utils/simpleinit.c:426
+msgid "stat of path failed\n"
+msgstr "stat() van pad is mislukt\n"
+
+#: login-utils/simpleinit.c:434
+msgid "open of directory failed\n"
+msgstr "openen van map is mislukt\n"
+
+#: login-utils/simpleinit.c:501
+#, c-format
+msgid "respawning: \"%s\" too fast: quenching entry\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:509
+msgid "fork failed\n"
+msgstr "fork() is mislukt\n"
+
+#: login-utils/simpleinit.c:540 text-utils/more.c:1629
+msgid "exec failed\n"
+msgstr "uitvoeren is mislukt\n"
+
+#: login-utils/simpleinit.c:564
+msgid "cannot open inittab\n"
+msgstr "kan 'inittab' niet openen\n"
+
+#: login-utils/simpleinit.c:631
+msgid "no TERM or cannot stat tty\n"
+msgstr "geen TERM, of kan tty niet vinden\n"
+
+#: login-utils/simpleinit.c:938
+#, fuzzy, c-format
+msgid "error stopping service: \"%s\"\n"
+msgstr "fout bij stoppen van service: \"%s\""
+
+#: login-utils/simpleinit.c:950
+#, fuzzy, c-format
+msgid "Stopped service: %s\n"
+msgstr "fout bij stoppen van service: \"%s\""
+
+#: login-utils/simpleinit.c:1070
+#, fuzzy, c-format
+msgid "error running programme: \"%s\"\n"
+msgstr "fout bij uitvoeren van finalprog\n"
+
+#: login-utils/ttymsg.c:75
+msgid "too many iov's (change code in wall/ttymsg.c)"
+msgstr ""
+"Interne fout: te veel IOV's  [de code in wall/ttymsg.c dient veranderd]"
+
+#: login-utils/ttymsg.c:85
+#, c-format
+msgid "excessively long line arg"
+msgstr "excessief lang argument"
+
+#: login-utils/ttymsg.c:140
+#, c-format
+msgid "cannot fork"
+msgstr "kan geen nieuw proces starten"
+
+#: login-utils/ttymsg.c:144
+#, c-format
+msgid "fork: %s"
+msgstr "fork: %s"
+
+#: login-utils/ttymsg.c:174
+#, c-format
+msgid "%s: BAD ERROR"
+msgstr "%s: BEROERDE FOUTMELDING -- veel te lang"
+
+#: login-utils/vipw.c:143
+#, c-format
+msgid "%s: the password file is busy.\n"
+msgstr "%s: het bestand 'passwd' is in gebruik\n"
+
+#: login-utils/vipw.c:146
+#, c-format
+msgid "%s: the group file is busy.\n"
+msgstr "%s: het bestand 'group' is in gebruik\n"
+
+#: login-utils/vipw.c:162
+#, c-format
+msgid "%s: the %s file is busy (%s present)\n"
+msgstr "%s: het bestand %s is in gebruik (%s is aanwezig)\n"
+
+#: login-utils/vipw.c:168
+#, c-format
+msgid "%s: can't link %s: %s\n"
+msgstr "%s: kan %s niet koppelen: %s\n"
+
+#: login-utils/vipw.c:202
+#, c-format
+msgid "%s: Can't get context for %s"
+msgstr "%s: kan context van %s niet bepalen"
+
+#: login-utils/vipw.c:208
+#, c-format
+msgid "%s: Can't set context for %s"
+msgstr "%s: kan context voor %s niet instellen"
+
+#: login-utils/vipw.c:217
+#, c-format
+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"
+
+#: login-utils/vipw.c:240
+#, c-format
+msgid "%s: Cannot fork\n"
+msgstr "%s: Kan geen nieuw proces starten\n"
+
+#: login-utils/vipw.c:276
+#, c-format
+msgid "%s: %s unchanged\n"
+msgstr "%s: %s is ongewijzigd\n"
+
+#: login-utils/vipw.c:297
+#, c-format
+msgid "%s: no changes made\n"
+msgstr "%s: geen wijzigingen gemaakt\n"
+
+#: login-utils/vipw.c:350
+#, c-format
+msgid "You are using shadow groups on this system.\n"
+msgstr "U gebruikt schaduwgroepen op dit systeem.\n"
+
+#: login-utils/vipw.c:351
+#, c-format
+msgid "You are using shadow passwords on this system.\n"
+msgstr "U gebruikt schaduwwachtwoorden op dit systeem.\n"
+
+#: login-utils/vipw.c:352
+#, c-format
+msgid "Would you like to edit %s now [y/n]? "
+msgstr "Wilt u %s nu bewerken [y/n]? "
+
+#: login-utils/wall.c:112
+#, c-format
+msgid "usage: %s [file]\n"
+msgstr "Gebruik:  %s [bestand]\n"
+
+#: login-utils/wall.c:167
+#, c-format
+msgid "%s: can't open temporary file.\n"
+msgstr "%s: kan tijdelijk bestand niet openen\n"
+
+#: login-utils/wall.c:194
+#, c-format
+msgid "Broadcast Message from %s@%s"
+msgstr "Bericht van %s@%s"
+
+#: login-utils/wall.c:212
+#, c-format
+msgid "%s: will not read %s - use stdin.\n"
+msgstr "%s: zal %s niet direct lezen:  gebruik standaardinvoer\n"
+
+#: login-utils/wall.c:217
+#, c-format
+msgid "%s: can't read %s.\n"
+msgstr "%s: kan %s niet lezen\n"
+
+#: login-utils/wall.c:240
+#, c-format
+msgid "%s: can't stat temporary file.\n"
+msgstr "%s: kan tijdelijk bestand niet vinden\n"
+
+#: login-utils/wall.c:250
+#, c-format
+msgid "%s: can't read temporary file.\n"
+msgstr "%s: kan tijdelijk bestand niet lezen\n"
+
+#: misc-utils/cal.c:362 misc-utils/cal.c:374
+#, c-format
+msgid "illegal day value: use 1-%d"
+msgstr "onjuiste dagwaarde;  gebruik 1-%d"
+
+#: misc-utils/cal.c:366
+msgid "illegal month value: use 1-12"
+msgstr "onjuiste maandwaarde;  gebruik 1-12"
+
+#: misc-utils/cal.c:370
+msgid "illegal year value: use 1-9999"
+msgstr "onjuiste jaarwaarde;  gebruik 1-9999"
+
+#: misc-utils/cal.c:464
+#, c-format
+msgid "%s %d"
+msgstr "%s %d"
+
+#: misc-utils/cal.c:856
+#, c-format
+msgid "usage: cal [-13smjyV] [[[day] month] year]\n"
+msgstr "Gebruik:  cal [-13smjyV] [[[dag] maand] jaar]\n"
+
+#: misc-utils/ddate.c:203
+#, c-format
+msgid "usage: %s [+format] [day month year]\n"
+msgstr "Gebruik:  %s [+opmaak] [dag maand jaar]\n"
+
+#: misc-utils/ddate.c:250
+msgid "St. Tib's Day"
+msgstr "Sint Tibs"
+
+#: misc-utils/findfs.c:24
+#, c-format
+msgid "Usage: %s LABEL=<label>|UUID=<uuid>\n"
+msgstr ""
+
+#: misc-utils/findfs.c:55
+#, fuzzy, c-format
+msgid "unable to resolve '%s'"
+msgstr "openen van %s is mislukt"
+
+#: misc-utils/kill.c:207
+#, c-format
+msgid "%s: unknown signal %s\n"
+msgstr "%s: onbekend signaal %s\n"
+
+#: misc-utils/kill.c:270
+#, c-format
+msgid "%s: can't find process \"%s\"\n"
+msgstr "%s: kan proces '%s' niet vinden\n"
+
+#: misc-utils/kill.c:314
+#, c-format
+msgid "%s: unknown signal %s; valid signals:\n"
+msgstr "%s: onbekend signaal %s; geldige signalen zijn:\n"
+
+#: misc-utils/kill.c:354
+#, c-format
+msgid "usage: %s [ -s signal | -p ] [ -a ] pid ...\n"
+msgstr "Gebruik:  %s [ -s signaal | -p ] [ -a ] PID...\n"
+
+#: misc-utils/kill.c:355
+#, c-format
+msgid "       %s -l [ signal ]\n"
+msgstr "          %s -l [ signaal ]\n"
+
+#: misc-utils/logger.c:67
+#, c-format
+msgid "logger: openlog: pathname too long\n"
+msgstr "logger: openlog: padnaam is te lang\n"
+
+#: misc-utils/logger.c:75
+#, c-format
+msgid "socket: %s.\n"
+msgstr "socket: %s.\n"
+
+#: misc-utils/logger.c:80
+#, c-format
+msgid "connect: %s.\n"
+msgstr "verbinding: %s.\n"
+
+#: misc-utils/logger.c:139
+#, c-format
+msgid "logger: %s: %s.\n"
+msgstr "logger: %s: %s.\n"
+
+#: misc-utils/logger.c:246
+#, c-format
+msgid "logger: unknown facility name: %s.\n"
+msgstr "logger: onbekende voorzieningsnaam in prioriteit: %s\n"
+
+#: misc-utils/logger.c:258
+#, c-format
+msgid "logger: unknown priority name: %s.\n"
+msgstr "logger: onbekende prioriteitsnaam: %s\n"
+
+#: misc-utils/logger.c:285
+#, c-format
+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"
+
+#: misc-utils/look.c:351
+#, c-format
+msgid "usage: look [-dfa] [-t char] string [file]\n"
+msgstr "Gebruik:  look [-dfa] [-t teken] tekst [bestand]\n"
+
+#: misc-utils/mcookie.c:105 misc-utils/mcookie.c:132
+#, c-format
+msgid "Could not open %s\n"
+msgstr "Kan %s niet openen\n"
+
+#: misc-utils/mcookie.c:109 misc-utils/mcookie.c:128
+#, c-format
+msgid "Got %d bytes from %s\n"
+msgstr "%d bytes ontvangen van %s\n"
+
+#: misc-utils/namei.c:144 misc-utils/namei.c:198 misc-utils/namei.c:220
+#: misc-utils/namei.c:227 misc-utils/namei.c:248
+#, fuzzy
+msgid "out of memory?"
+msgstr "onvoldoende geheugen beschikbaar\n"
+
+#: misc-utils/namei.c:189
+#, fuzzy, c-format
+msgid "failed to read symlink: %s"
+msgstr "kan timingsbestand %s niet lezen"
+
+#: misc-utils/namei.c:229
+#, fuzzy, c-format
+msgid "could not stat '%s'"
+msgstr "kan status van '%s' niet opvragen"
+
+#: misc-utils/namei.c:411
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage: %s [options] pathname [pathname ...]\n"
+msgstr "Gebruik:  namei [-mx] padnaam [padnaam ...]\n"
+
+#: misc-utils/namei.c:412
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"%d partities:\n"
+
+#: misc-utils/namei.c:415
+#, c-format
+msgid ""
+" -h, --help          displays this help text\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:423
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see namei(1).\n"
+msgstr ""
+"\n"
+"Voor meer informatie zie setarch(8).\n"
+
+#: misc-utils/namei.c:484
+#, fuzzy, c-format
+msgid "failed to stat: %s"
+msgstr "kan status van %s niet bepalen"
+
+#: misc-utils/namei.c:495
+#, c-format
+msgid "%s: exceeded limit of symlinks"
+msgstr ""
+
+#: misc-utils/rename.c:38
+#, c-format
+msgid "%s: out of memory\n"
+msgstr "%s: onvoldoende geheugen beschikbaar\n"
+
+#: misc-utils/rename.c:56
+#, c-format
+msgid "%s: renaming %s to %s failed: %s\n"
+msgstr "%s: hernoemen van %s tot %s is mislukt: %s\n"
+
+#: misc-utils/rename.c:86
+#, c-format
+msgid "call: %s from to files...\n"
+msgstr "Gebruik:  %s van naar bestanden...\n"
+
+#: misc-utils/script.c:110
+#, c-format
+msgid ""
+"Warning: `%s' is a link.\n"
+"Use `%s [options] %s' if you really want to use it.\n"
+"Script not started.\n"
+msgstr ""
+"Waarschuwing: '%s' is een symbolische koppeling;\n"
+"gebruik '%s [opties] %s' als u deze echt wilt gebruiken.\n"
+"Script is niet gestart.\n"
+
+#: misc-utils/script.c:173
+#, c-format
+msgid "usage: script [-a] [-f] [-q] [-t] [file]\n"
+msgstr "Gebruik:  script [-a] [-f] [-q] [-t] [bestand]\n"
+
+#: misc-utils/script.c:196
+#, c-format
+msgid "Script started, file is %s\n"
+msgstr "Script is gestart, het bestand heet '%s'.\n"
+
+#: misc-utils/script.c:244
+#, c-format
+msgid "%s: write error %d: %s\n"
+msgstr "%s: schrijffout %d: %s\n"
+
+#: misc-utils/script.c:304
+#, c-format
+msgid "Script started on %s"
+msgstr "Script is gestart op %s."
+
+#: misc-utils/script.c:347
+#, c-format
+msgid "%s: write error: %s\n"
+msgstr "%s: schrijffout: %s\n"
+
+#: misc-utils/script.c:354
+#, c-format
+msgid "%s: cannot write script file, error: %s\n"
+msgstr "%s: kan scriptbestand niet schrijven: %s\n"
+
+#: misc-utils/script.c:430
+#, c-format
+msgid ""
+"\n"
+"Script done on %s"
+msgstr ""
+"\n"
+"Script is beëindigd op %s."
+
+#: misc-utils/script.c:437
+#, c-format
+msgid "Script done, file is %s\n"
+msgstr "Script is beëindigd, het bestand heet '%s'.\n"
+
+#: misc-utils/script.c:448
+#, c-format
+msgid "openpty failed\n"
+msgstr "openpty() is mislukt\n"
+
+#: misc-utils/script.c:482
+#, c-format
+msgid "Out of pty's\n"
+msgstr "Onvoldoende PTY's\n"
+
+#: misc-utils/scriptreplay.c:38
+#, c-format
+msgid "%s <timingfile> [<typescript> [<divisor>]]\n"
+msgstr "%s <timingsbestand> [<scriptbestand> [<versnelling>]]\n"
+
+#: misc-utils/scriptreplay.c:53
+#, c-format
+msgid "expected a number, but got '%s'"
+msgstr "er werd een getal verwacht, maar '%s' werd gevonden"
+
+#: misc-utils/scriptreplay.c:56 misc-utils/scriptreplay.c:60
+#, c-format
+msgid "divisor '%s'"
+msgstr "versnelling is '%s'"
+
+#: misc-utils/scriptreplay.c:104
+msgid "write to stdout failed"
+msgstr "schrijven naar standaarduitvoer is mislukt"
+
+#: misc-utils/scriptreplay.c:110
+#, c-format
+msgid "unexpected end of file on %s"
+msgstr "onverwacht einde van bestand op %s"
+
+#: misc-utils/scriptreplay.c:112
+#, c-format
+msgid "failed to read typescript file %s"
+msgstr "kan scriptbestand %s niet lezen"
+
+#: misc-utils/scriptreplay.c:145
+#, c-format
+msgid "cannot open timing file %s"
+msgstr "kan timingsbestand '%s' niet openen"
+
+#: misc-utils/scriptreplay.c:148
+#, c-format
+msgid "cannot open typescript file %s"
+msgstr "kan scriptbestand '%s' niet openen"
+
+#: misc-utils/scriptreplay.c:164
+#, c-format
+msgid "failed to read timing file %s"
+msgstr "kan timingsbestand %s niet lezen"
+
+#: misc-utils/scriptreplay.c:166
+#, fuzzy, c-format
+msgid "timings file %s: %lu: unexpected format"
+msgstr "timingsbestand %s: %lu: onverwachte opmaak"
+
+#: misc-utils/setterm.c:763
+#, c-format
+msgid "%s: Argument error, usage\n"
+msgstr "%s: Onbekend argument -- gebruik:\n"
+
+#: misc-utils/setterm.c:766
+#, c-format
+msgid "  [ -term terminal_name ]\n"
+msgstr "  [ -term terminalnaam ]\n"
+
+#: misc-utils/setterm.c:767
+#, c-format
+msgid "  [ -reset ]\n"
+msgstr "  [ -reset ]\n"
+
+#: misc-utils/setterm.c:768
+#, c-format
+msgid "  [ -initialize ]\n"
+msgstr "  [ -initialize ]\n"
+
+#: misc-utils/setterm.c:769
+#, c-format
+msgid "  [ -cursor [on|off] ]\n"
+msgstr "  [ -cursor [on|off] ]\n"
+
+#: misc-utils/setterm.c:771
+#, c-format
+msgid "  [ -snow [on|off] ]\n"
+msgstr "  [ -snow [on|off] ]\n"
+
+#: misc-utils/setterm.c:772
+#, c-format
+msgid "  [ -softscroll [on|off] ]\n"
+msgstr "  [ -softscroll [on|off] ]\n"
+
+#: misc-utils/setterm.c:774
+#, c-format
+msgid "  [ -repeat [on|off] ]\n"
+msgstr "  [ -repeat [on|off] ]\n"
+
+#: misc-utils/setterm.c:775
+#, c-format
+msgid "  [ -appcursorkeys [on|off] ]\n"
+msgstr "  [ -appcursorkeys [on|off] ]\n"
+
+#: misc-utils/setterm.c:776
+#, c-format
+msgid "  [ -linewrap [on|off] ]\n"
+msgstr "  [ -linewrap [on|off] ]\n"
+
+#: misc-utils/setterm.c:777
+#, c-format
+msgid "  [ -default ]\n"
+msgstr "  [ -default ]\n"
+
+#: misc-utils/setterm.c:778
+#, c-format
+msgid "  [ -foreground black|blue|green|cyan"
+msgstr "  [ -foreground black|blue|green|cyan"
+
+#: misc-utils/setterm.c:779 misc-utils/setterm.c:781
+#, c-format
+msgid "|red|magenta|yellow|white|default ]\n"
+msgstr "|red|magenta|yellow|white|default ]\n"
+
+#: misc-utils/setterm.c:780
+#, c-format
+msgid "  [ -background black|blue|green|cyan"
+msgstr "  [ -background black|blue|green|cyan"
+
+#: misc-utils/setterm.c:782
+#, c-format
+msgid "  [ -ulcolor black|grey|blue|green|cyan"
+msgstr "  [ -ulcolor black|grey|blue|green|cyan"
+
+#: misc-utils/setterm.c:783 misc-utils/setterm.c:785 misc-utils/setterm.c:787
+#: misc-utils/setterm.c:789
+#, c-format
+msgid "|red|magenta|yellow|white ]\n"
+msgstr "|red|magenta|yellow|white ]\n"
+
+#: misc-utils/setterm.c:784
+#, c-format
+msgid "  [ -ulcolor bright blue|green|cyan"
+msgstr "  [ -ulcolor bright blue|green|cyan"
+
+#: misc-utils/setterm.c:786
+#, c-format
+msgid "  [ -hbcolor black|grey|blue|green|cyan"
+msgstr "  [ -hbcolor black|grey|blue|green|cyan"
+
+#: misc-utils/setterm.c:788
+#, c-format
+msgid "  [ -hbcolor bright blue|green|cyan"
+msgstr "  [ -hbcolor bright blue|green|cyan"
+
+#: misc-utils/setterm.c:791
+#, c-format
+msgid "  [ -standout [ attr ] ]\n"
+msgstr "  [ -standout [ attr ] ]\n"
+
+#: misc-utils/setterm.c:793
+#, c-format
+msgid "  [ -inversescreen [on|off] ]\n"
+msgstr "  [ -inversescreen [on|off] ]\n"
+
+#: misc-utils/setterm.c:794
+#, c-format
+msgid "  [ -bold [on|off] ]\n"
+msgstr "  [ -bold [on|off] ]\n"
+
+#: misc-utils/setterm.c:795
+#, c-format
+msgid "  [ -half-bright [on|off] ]\n"
+msgstr "  [ -half-bright [on|off] ]\n"
+
+#: misc-utils/setterm.c:796
+#, c-format
+msgid "  [ -blink [on|off] ]\n"
+msgstr "  [ -blink [on|off] ]\n"
+
+#: misc-utils/setterm.c:797
+#, c-format
+msgid "  [ -reverse [on|off] ]\n"
+msgstr "  [ -reverse [on|off] ]\n"
+
+#: misc-utils/setterm.c:798
+#, c-format
+msgid "  [ -underline [on|off] ]\n"
+msgstr "  [ -underline [on|off] ]\n"
+
+#: misc-utils/setterm.c:799
+#, c-format
+msgid "  [ -store ]\n"
+msgstr "  [ -store ]\n"
+
+#: misc-utils/setterm.c:800
+#, c-format
+msgid "  [ -clear [all|rest] ]\n"
+msgstr "  [ -clear [all|rest] ]\n"
+
+#: misc-utils/setterm.c:801
+#, c-format
+msgid "  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n"
+msgstr "  [ -tabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n"
+
+#: misc-utils/setterm.c:802
+#, c-format
+msgid "  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n"
+msgstr "  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n"
+
+#: misc-utils/setterm.c:803
+#, c-format
+msgid "  [ -regtabs [1-160] ]\n"
+msgstr "  [ -regtabs [1-160] ]\n"
+
+#: misc-utils/setterm.c:804
+#, c-format
+msgid "  [ -blank [0-60|force|poke] ]\n"
+msgstr "  [ -blank [0-60|force|poke] ]\n"
+
+#: misc-utils/setterm.c:805
+#, c-format
+msgid "  [ -dump   [1-NR_CONSOLES] ]\n"
+msgstr "  [ -dump [1-AANTAL_CONSOLES] ]\n"
+
+#: misc-utils/setterm.c:806
+#, c-format
+msgid "  [ -append [1-NR_CONSOLES] ]\n"
+msgstr "  [ -append [1-AANTAL_CONSOLES] ]\n"
+
+#: misc-utils/setterm.c:807
+#, c-format
+msgid "  [ -file dumpfilename ]\n"
+msgstr "  [ -file dumpbestandsnaam ]\n"
+
+#: misc-utils/setterm.c:808
+#, c-format
+msgid "  [ -msg [on|off] ]\n"
+msgstr "  [ -msg [on|off] ]\n"
+
+#: misc-utils/setterm.c:809
+#, c-format
+msgid "  [ -msglevel [0-8] ]\n"
+msgstr "  [ -msglevel [0-8] ]\n"
+
+#: misc-utils/setterm.c:810
+#, c-format
+msgid "  [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+msgstr "  [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+
+#: misc-utils/setterm.c:811
+#, c-format
+msgid "  [ -powerdown [0-60] ]\n"
+msgstr "  [ -powerdown [0-60] ]\n"
+
+#: misc-utils/setterm.c:812
+#, c-format
+msgid "  [ -blength [0-2000] ]\n"
+msgstr "  [ -blength [0-2000] ]\n"
+
+#: misc-utils/setterm.c:813
+#, c-format
+msgid "  [ -bfreq freqnumber ]\n"
+msgstr "  [ -bfreq belfrequentie ]\n"
+
+#: misc-utils/setterm.c:1065
+#, c-format
+msgid "cannot force blank\n"
+msgstr "kan scherm niet op zwart zetten\n"
+
+#: misc-utils/setterm.c:1069
+#, c-format
+msgid "cannot force unblank\n"
+msgstr "kan scherm niet uit zwartstand halen\n"
+
+#: misc-utils/setterm.c:1075
+#, c-format
+msgid "cannot get blank status\n"
+msgstr "kan schermtoestand niet opvragen\n"
+
+#: misc-utils/setterm.c:1087
+#, c-format
+msgid "cannot (un)set powersave mode\n"
+msgstr "kan stroombesparingsmodus niet instellen\n"
+
+#: misc-utils/setterm.c:1126 misc-utils/setterm.c:1134
+#, c-format
+msgid "klogctl error: %s\n"
+msgstr "klogctl() is mislukt: %s\n"
+
+#: misc-utils/setterm.c:1200
+#, c-format
+msgid "Error writing screendump\n"
+msgstr "Fout bij schrijven van schermafdruk\n"
+
+#: misc-utils/setterm.c:1207
+#, c-format
+msgid "Couldn't read %s\n"
+msgstr "Kan %s niet lezen\n"
+
+#: misc-utils/setterm.c:1261
+#, c-format
+msgid "%s: $TERM is not defined.\n"
+msgstr "%s: $TERM is niet gedefinieerd.\n"
+
+#: misc-utils/uuidd.c:46
+#, fuzzy, c-format
+msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n"
+msgstr ""
+"Gebruik:  last [-#] [-f bestand] [-t tty] [-h hostnaam] [gebruiker ...]\n"
+
+#: misc-utils/uuidd.c:48
+#, c-format
+msgid "       %s [-r|t] [-n num] [-s socketpath]\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:50
+#, fuzzy, c-format
+msgid "       %s -k\n"
+msgstr "          %s -l [ signaal ]\n"
+
+#: misc-utils/uuidd.c:152
+#, fuzzy
+msgid "bad arguments"
+msgstr "col: ongeldig argument '%s' van '-l'\n"
+
+#: misc-utils/uuidd.c:159
+#, fuzzy
+msgid "socket"
+msgstr "socket: %s.\n"
+
+#: misc-utils/uuidd.c:170
+#, fuzzy
+msgid "connect"
+msgstr "verbinding: %s.\n"
+
+#: misc-utils/uuidd.c:189
+#, fuzzy
+msgid "write"
+msgstr "W:schrijven"
+
+#: misc-utils/uuidd.c:197
+#, fuzzy
+msgid "read count"
+msgstr "duurde te lang"
+
+#: misc-utils/uuidd.c:203
+msgid "bad response length"
+msgstr ""
+
+#: misc-utils/uuidd.c:268
+#, c-format
+msgid "uuidd daemon already running at pid %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:276
+#, c-format
+msgid "Couldn't create unix stream socket: %s"
+msgstr ""
+
+#: misc-utils/uuidd.c:305
+#, fuzzy, c-format
+msgid "Couldn't bind unix socket %s: %s\n"
+msgstr "Kan %s niet openen: %s\n"
+
+#: misc-utils/uuidd.c:313
+#, fuzzy, c-format
+msgid "Couldn't listen on unix socket %s: %s\n"
+msgstr "Kan %s niet openen: %s\n"
+
+#: misc-utils/uuidd.c:351
+#, c-format
+msgid "Error reading from client, len = %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:359
+#, c-format
+msgid "operation %d, incoming num = %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:378
+#, c-format
+msgid "Generated time UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:388
+#, c-format
+msgid "Generated random UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:397
+#, c-format
+msgid "Generated time UUID %s and %d following\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:415
+#, c-format
+msgid "Generated %d UUID's:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:427
+#, fuzzy, c-format
+msgid "Invalid operation %d\n"
+msgstr "ongeldige optie"
+
+#: misc-utils/uuidd.c:468 misc-utils/uuidd.c:489
+#, fuzzy, c-format
+msgid "Bad number: %s\n"
+msgstr "%s: ongeldige waarde\n"
+
+#: misc-utils/uuidd.c:524 misc-utils/uuidd.c:551
+#, fuzzy, c-format
+msgid "Error calling uuidd daemon (%s): %s\n"
+msgstr "fout bij wijzigen van modus van %s: %s\n"
+
+#: misc-utils/uuidd.c:534
+#, c-format
+msgid "%s and subsequent %d UUID's\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:536
+#, c-format
+msgid "List of UUID's:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:557
+#, c-format
+msgid "Unexpected reply length from server %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:574
+#, c-format
+msgid "Couldn't kill uuidd running at pid %d: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:580
+#, c-format
+msgid "Killed uuidd running at pid %d\n"
+msgstr ""
+
+#: misc-utils/uuidgen.c:32
+#, fuzzy, c-format
+msgid "Usage: %s [-r] [-t]\n"
+msgstr "Gebruik:  %s [opties] apparaat ...\n"
+
+#: misc-utils/whereis.c:159
+#, c-format
+msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
+msgstr "Gebruik:  whereis [-bmsu] [-BMS map... -f] naam...\n"
+
+#: misc-utils/write.c:101
+#, c-format
+msgid "write: can't find your tty's name\n"
+msgstr "write: kan de naam van uw tty niet vinden\n"
+
+#: misc-utils/write.c:112
+#, c-format
+msgid "write: you have write permission turned off.\n"
+msgstr "write: u hebt berichtentoegang uitgezet\n"
+
+#: misc-utils/write.c:133
+#, c-format
+msgid "write: %s is not logged in on %s.\n"
+msgstr "write: %s is niet ingelogd op %s\n"
+
+#: misc-utils/write.c:141
+#, c-format
+msgid "write: %s has messages disabled on %s\n"
+msgstr "write: %s hebt berichten uitgezet op %s\n"
+
+#: misc-utils/write.c:148
+#, c-format
+msgid "usage: write user [tty]\n"
+msgstr "Gebruik:  write gebruiker [tty]\n"
+
+#: misc-utils/write.c:236
+#, c-format
+msgid "write: %s is not logged in\n"
+msgstr "write: %s is niet ingelogd\n"
+
+#: misc-utils/write.c:245
+#, c-format
+msgid "write: %s has messages disabled\n"
+msgstr "write: %s heeft berichten uitgezet\n"
+
+#: misc-utils/write.c:249
+#, c-format
+msgid "write: %s is logged in more than once; writing to %s\n"
+msgstr "write: %s is meerdere keren ingelogd; er wordt geschreven naar %s\n"
+
+#: misc-utils/write.c:317
+#, c-format
+msgid "Message from %s@%s (as %s) on %s at %s ..."
+msgstr "Bericht van %s@%s (als %s) op %s om %s..."
+
+#: misc-utils/write.c:320
+#, c-format
+msgid "Message from %s@%s on %s at %s ..."
+msgstr "Bericht van %s@%s op %s om %s..."
+
+#: mount/fstab.c:143
+#, c-format
+msgid "warning: error reading %s: %s"
+msgstr "waarschuwing: fout bij lezen van %s: %s"
+
+#: mount/fstab.c:171 mount/fstab.c:196
+#, c-format
+msgid "warning: can't open %s: %s"
+msgstr "waarschuwing: kan %s niet openen: %s"
+
+#: mount/fstab.c:176
+#, c-format
+msgid "mount: could not open %s - using %s instead\n"
+msgstr "mount: kan %s niet openen -- %s wordt gebruikt\n"
+
+#: mount/fstab.c:589
+#, 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/fstab.c:615
+#, 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/fstab.c:631
+#, 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/fstab.c:646
+#, c-format
+msgid "Can't lock lock file %s: %s\n"
+msgstr "kan vergrendelingsbestand %s niet vergrendelen: %s\n"
+
+#: mount/fstab.c:660
+#, c-format
+msgid "can't lock lock file %s: %s"
+msgstr "kan vergrendelingsbestand %s niet vergrendelen: %s"
+
+#: mount/fstab.c:662
+msgid "timed out"
+msgstr "duurde te lang"
+
+#: mount/fstab.c:669
+#, 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/fstab.c:791 mount/fstab.c:846
+#, c-format
+msgid "cannot open %s (%s) - mtab not updated"
+msgstr "kan %s niet openen (%s) -- mtab is niet bijgewerkt"
+
+#: mount/fstab.c:855
+#, c-format
+msgid "error writing %s: %s"
+msgstr "fout bij schrijven van %s: %s"
+
+#: mount/fstab.c:873
+#, c-format
+msgid "error changing mode of %s: %s\n"
+msgstr "fout bij wijzigen van modus van %s: %s\n"
+
+#: mount/fstab.c:886
+#, c-format
+msgid "error changing owner of %s: %s\n"
+msgstr "fout bij wijzigen van eigenaar van %s: %s\n"
+
+#: mount/fstab.c:897
+#, c-format
+msgid "can't rename %s to %s: %s\n"
+msgstr "kan %s niet hernoemen tot %s: %s\n"
+
+#: mount/lomount.c:364
+#, fuzzy, c-format
+msgid "loop: can't set capacity on device %s: %s\n"
+msgstr "loop: kan geen informatie verkrijgen over apparaat %s: %s\n"
+
+#: mount/lomount.c:388
+#, c-format
+msgid ", offset %<PRIu64>"
+msgstr ", beginpunt %<PRIu64>"
+
+#: mount/lomount.c:391
+#, c-format
+msgid ", sizelimit %<PRIu64>"
+msgstr ", maximale grootte %<PRIu64>"
+
+#: mount/lomount.c:399
+#, c-format
+msgid ", encryption %s (type %<PRIu32>)"
+msgstr ", codering %s (soort %<PRIu32>)"
+
+#: mount/lomount.c:412
+#, c-format
+msgid ", offset %d"
+msgstr ", beginpunt %d"
+
+#: mount/lomount.c:415
+#, c-format
+msgid ", encryption type %d\n"
+msgstr ", coderingssoort %d\n"
+
+#: mount/lomount.c:423
+#, c-format
+msgid "loop: can't get info on device %s: %s\n"
+msgstr "loop: kan geen informatie verkrijgen over apparaat %s: %s\n"
+
+#: mount/lomount.c:434
+#, c-format
+msgid "loop: can't open device %s: %s\n"
+msgstr "loop: kan apparaat %s niet openen: %s\n"
+
+#: mount/lomount.c:450 mount/lomount.c:482 mount/lomount.c:544
+#: mount/lomount.c:589
+#, c-format
+msgid "%s: /dev directory does not exist."
+msgstr "%s: map '/dev' bestaat niet."
+
+#: mount/lomount.c:461 mount/lomount.c:602
+#, fuzzy, c-format
+msgid "%s: no permission to look at /dev/loop%s<N>"
+msgstr "%s: geen toegangsrechten tot /dev/loop#"
+
+#: mount/lomount.c:605
+#, c-format
+msgid "%s: could not find any free loop device"
+msgstr "%s: kan geen vrij lus-apparaat vinden"
+
+#: mount/lomount.c:608
+#, c-format
+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-apparaat?  (Dan moet u de kernel opnieuw compileren,\n"
+"        of misschien een 'modprobe loop' doen?)"
+
+#: mount/lomount.c:638
+msgid "Out of memory while reading passphrase"
+msgstr "Onvoldoende geheugen beschikbaar tijdens lezen van wachtwoord"
+
+#: mount/lomount.c:681
+#, c-format
+msgid "warning: %s is already associated with %s\n"
+msgstr "waarschuwing: %s is al gerelateerd aan %s\n"
+
+#: mount/lomount.c:697
+#, c-format
+msgid "warning: %s: is write-protected, using read-only.\n"
+msgstr ""
+"waarschuwing: %s is schrijfbeveiligd en wordt als alleen-lezen "
+"aangekoppeld.\n"
+
+#: mount/lomount.c:733
+#, c-format
+msgid "Couldn't lock into memory, exiting.\n"
+msgstr "Kan pagina's niet vastzetten in het geheugen -- gestopt\n"
+
+#: mount/lomount.c:760
+#, c-format
+msgid "ioctl LOOP_SET_FD failed: %s\n"
+msgstr "ioctl(LOOP_SET_FD) is mislukt: %s\n"
+
+#: mount/lomount.c:817
+#, c-format
+msgid "set_loop(%s,%s,%llu,%llu): success\n"
+msgstr "set_loop(%s,%s,%llu,%llu) is gelukt\n"
+
+#: mount/lomount.c:838
+#, c-format
+msgid "del_loop(%s): success\n"
+msgstr "lus-apparaat %s is uitgeschakeld\n"
+
+#: mount/lomount.c:842
+#, c-format
+msgid "loop: can't delete device %s: %s\n"
+msgstr "kan lus-apparaat %s niet uitschakelen: %s\n"
+
+#: mount/lomount.c:853
+#, c-format
+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"
+
+#: mount/lomount.c:888
+#, fuzzy, c-format
+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"
+"Gebruik:\n"
+"  %1$s <lus-apparaat>                                 info tonen\n"
+"  %1$s -a | --all                                     alle gebruikte tonen\n"
+"  %1$s -d | --detach <lus-apparaat>                   verwijderen\n"
+"  %1$s -f | --find                                    een ongebruikte tonen\n"
+"  %1$s -j | --associated <bestand> [-o <nummer>]      gerelateerden tonen\n"
+"  %1$s [opties] {-f|--find|<lus-apparaat>} <bestand>  instellen\n"
+
+#: mount/lomount.c:898
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -e | --encryption <type> enable data encryption with specified <name/num>\n"
+" -h | --help              this help\n"
+" -o | --offset <num>      start at offset <num> into file\n"
+"      --sizelimit <num>   loop limited to only <num> bytes of the file\n"
+" -p | --pass-fd <num>     read passphrase from file descriptor <num>\n"
+" -r | --read-only         setup read-only loop device\n"
+"      --show              print device name (with -f <file>)\n"
+" -v | --verbose           verbose mode\n"
+"\n"
+msgstr ""
+"\n"
+"Opties:\n"
+"  -e | --encryption <soort>  deze soort encryptie inschakelen\n"
+"  -h | --help                deze hulptekst tonen\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 <getal>     wachtwoordtekst uit deze bestandsdescriptor "
+"lezen\n"
+"  -r | --read-only           een alleen-lezen lus-apparaat instellen\n"
+"       --show                apparaatnaam tonen (bij '-f <bestand>')\n"
+"  -v | --verbose             gedetailleerde uitvoer produceren\n"
+
+#: mount/lomount.c:1036 mount/lomount.c:1076
+#, c-format
+msgid "Loop device is %s\n"
+msgstr "Lus-apparaat is %s\n"
+
+#: mount/lomount.c:1063
+#, c-format
+msgid "stolen loop=%s...trying again\n"
+msgstr "afgepakt lus-apparaat=%s; ... nieuwe poging\n"
+
+#: mount/lomount.c:1073
+#, c-format
+msgid "%s: %s: device is busy"
+msgstr "%s: apparaat %s is bezig"
+
+#: mount/lomount.c:1090
+#, c-format
+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"
+
+#: mount/mount.c:329
+#, c-format
+msgid "mount: improperly quoted option string '%s'"
+msgstr "mount: onjuist aangehaalde tekenreeks '%s'"
+
+#: mount/mount.c:362
+#, c-format
+msgid "mount: translated %s '%s' to '%s'\n"
+msgstr "mount: argument van %s is vertaald van '%s' naar '%s'\n"
+
+#: mount/mount.c:526
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s"
+msgstr "mount: volgens mtab is %s al aangekoppeld op %s"
+
+#: mount/mount.c:531
+#, c-format
+msgid "mount: according to mtab, %s is mounted on %s"
+msgstr "mount: volgens mtab is %s aangekoppeld op %s"
+
+#: mount/mount.c:555
+#, c-format
+msgid "mount: can't open %s for writing: %s"
+msgstr "mount: kan %s niet openen om te schrijven: %s"
+
+#: mount/mount.c:572 mount/mount.c:1190
+#, c-format
+msgid "mount: error writing %s: %s"
+msgstr "mount: fout bij schrijven van %s: %s"
+
+#: mount/mount.c:580
+#, c-format
+msgid "mount: error changing mode of %s: %s"
+msgstr "mount: fout bij wijzigen van modus van %s: %s"
+
+#: mount/mount.c:663
+#, c-format
+msgid "mount: cannot set group id: %s"
+msgstr "mount: kan groep-ID niet instellen: %s"
+
+#: mount/mount.c:666
+#, c-format
+msgid "mount: cannot set user id: %s"
+msgstr "mount: kan gebruiker-ID niet instellen: %s"
+
+#: mount/mount.c:705 mount/mount.c:1809
+#, c-format
+msgid "mount: cannot fork: %s"
+msgstr "mount: kan geen nieuw proces starten: %s"
+
+#: mount/mount.c:842
+#, c-format
+msgid "Trying %s\n"
+msgstr "soort %s wordt geprobeerd\n"
+
+#: mount/mount.c:870
+#, 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/mount.c:873
+#, 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/mount.c:876
+#, c-format
+msgid "       and it looks like this is swapspace\n"
+msgstr "       het lijkt erop dat dit wisselgeheugen is\n"
+
+#: mount/mount.c:878
+#, c-format
+msgid "       I will try type %s\n"
+msgstr "       soort %s wordt geprobeerd\n"
+
+#: mount/mount.c:902
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr "%s ziet er uit als wisselgeheugen -- niet aangekoppeld"
+
+#: mount/mount.c:993
+msgid "mount failed"
+msgstr "aankoppelen is mislukt"
+
+#: mount/mount.c:995
+#, c-format
+msgid "mount: only root can mount %s on %s"
+msgstr "mount: alleen root kan %s aankoppelen op %s"
+
+#: mount/mount.c:1065
+msgid "mount: loop device specified twice"
+msgstr "mount: lus-apparaat is twee keer aangegeven"
+
+#: mount/mount.c:1070
+msgid "mount: type specified twice"
+msgstr "mount: soort is twee keer aangegeven"
+
+#: mount/mount.c:1082
+#, c-format
+msgid "mount: skipping the setup of a loop device\n"
+msgstr "mount: instellen van lus-apparaat wordt overgeslagen\n"
+
+#: mount/mount.c:1094
+#, 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/mount.c:1104
+#, c-format
+msgid "mount: going to use the loop device %s\n"
+msgstr "mount: lus-apparaat %s zal worden gebruikt\n"
+
+#: mount/mount.c:1113
+#, c-format
+msgid "mount: stolen loop=%s ...trying again\n"
+msgstr ""
+"mount: lus-apparaat %s is door ander proces afgepakt; ... nieuwe poging\n"
+
+#: mount/mount.c:1118
+#, c-format
+msgid "mount: stolen loop=%s"
+msgstr "mount: lus-apparaat %s is door ander proces afgepakt"
+
+#: mount/mount.c:1123
+#, c-format
+msgid "mount: failed setting up loop device\n"
+msgstr "mount: instellen van lus-apparaat is mislukt\n"
+
+#: mount/mount.c:1134
+#, c-format
+msgid "mount: setup loop device successfully\n"
+msgstr "mount: lus-apparaat is succesvol ingesteld\n"
+
+#: mount/mount.c:1168
+#, c-format
+msgid "mount: no %s found - creating it..\n"
+msgstr "mount: geen %s gevonden -- wordt nu aangemaakt...\n"
+
+#: mount/mount.c:1185
+#, c-format
+msgid "mount: can't open %s: %s"
+msgstr "mount: kan %s niet openen: %s"
+
+#: mount/mount.c:1206
+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/mount.c:1219
+#, c-format
+msgid "mount: cannot open %s for setting speed"
+msgstr "mount: kan %s niet openen om snelheid in te stellen"
+
+#: mount/mount.c:1222
+#, c-format
+msgid "mount: cannot set speed: %s"
+msgstr "mount: kan snelheid niet instellen: %s"
+
+#: mount/mount.c:1279
+#, 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/mount.c:1358
+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/mount.c:1361
+msgid "mount: you must specify the filesystem type"
+msgstr "mount: u moet een bestandssysteemsoort aangeven"
+
+#: mount/mount.c:1364
+msgid "mount: mount failed"
+msgstr "mount: aankoppelen is mislukt"
+
+#: mount/mount.c:1370 mount/mount.c:1407
+#, c-format
+msgid "mount: mount point %s is not a directory"
+msgstr "mount: aankoppelingspunt %s is geen map"
+
+#: mount/mount.c:1372
+msgid "mount: permission denied"
+msgstr "mount: toegang geweigerd"
+
+#: mount/mount.c:1374
+msgid "mount: must be superuser to use mount"
+msgstr "mount: u moet root zijn om aan te kunnen koppelen"
+
+#: mount/mount.c:1378 mount/mount.c:1382
+#, c-format
+msgid "mount: %s is busy"
+msgstr "mount: %s is bezig"
+
+#: mount/mount.c:1384
+msgid "mount: proc already mounted"
+msgstr "mount: proc is al aangekoppeld"
+
+#: mount/mount.c:1386
+#, c-format
+msgid "mount: %s already mounted or %s busy"
+msgstr "mount: %s is al aangekoppeld of %s is bezig"
+
+#: mount/mount.c:1392
+#, c-format
+msgid "mount: mount point %s does not exist"
+msgstr "mount: aankoppelingspunt %s bestaat niet"
+
+#: mount/mount.c:1394
+#, 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/mount.c:1399
+#, c-format
+msgid "mount: special device %s does not exist"
+msgstr "mount: apparaat %s bestaat niet"
+
+#: mount/mount.c:1411
+#, 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/mount.c:1423
+#, c-format
+msgid "mount: %s not mounted already, or bad option"
+msgstr "mount: %s is nog niet aangekoppeld, of een ongeldige optie"
+
+#: mount/mount.c:1425
+#, 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/mount.c:1432
+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/mount.c:1441
+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/mount.c:1446
+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/mount.c:1453
+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/mount.c:1459
+msgid "mount table full"
+msgstr "aankoppelingstabel is vol"
+
+#: mount/mount.c:1461
+#, c-format
+msgid "mount: %s: can't read superblock"
+msgstr "mount: %s: kan superblok niet lezen"
+
+#: mount/mount.c:1467
+#, c-format
+msgid "mount: %s: unknown device"
+msgstr "mount: %s: onbekend apparaat"
+
+#: mount/mount.c:1472
+#, c-format
+msgid "mount: unknown filesystem type '%s'"
+msgstr "mount: onbekende bestandssysteemsoort '%s'"
+
+#: mount/mount.c:1484
+#, c-format
+msgid "mount: probably you meant %s"
+msgstr "mount: waarschijnlijk bedoelde u %s"
+
+#: mount/mount.c:1487
+msgid "mount: maybe you meant 'iso9660'?"
+msgstr "mount: mogelijk bedoelde u 'iso9660'?"
+
+#: mount/mount.c:1490
+msgid "mount: maybe you meant 'vfat'?"
+msgstr "mount: mogelijk bedoelde u 'vfat'?"
+
+#: mount/mount.c:1493
+#, 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/mount.c:1501
+#, 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/mount.c:1503
+#, c-format
+msgid ""
+"mount: the kernel does not recognize %s as a block device\n"
+"       (maybe `insmod driver'?)"
+msgstr ""
+"mount: de kernel herkent %s niet als een blok-apparaat\n"
+"       (misschien is 'insmod stuurprogramma' nodig?)"
+
+#: mount/mount.c:1506
+#, 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/mount.c:1509
+#, c-format
+msgid "mount: %s is not a block device"
+msgstr "mount: %s is geen blok-apparaat"
+
+#: mount/mount.c:1514
+#, c-format
+msgid "mount: %s is not a valid block device"
+msgstr "mount: %s is geen geldig blok-apparaat"
+
+#: mount/mount.c:1517
+msgid "block device "
+msgstr "blok-apparaat "
+
+#: mount/mount.c:1519
+#, c-format
+msgid "mount: cannot mount %s%s read-only"
+msgstr "mount: kan %s%s niet aankoppelen voor alleen-lezen"
+
+#: mount/mount.c:1523
+#, 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/mount.c:1527
+#, fuzzy, c-format
+msgid "mount: cannot remount %s%s read-write, is write-protected"
+msgstr "mount: kan %s%s niet aankoppelen voor alleen-lezen"
+
+#: mount/mount.c:1542
+#, 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/mount.c:1552
+#, c-format
+msgid "mount: no medium found on %s ...trying again\n"
+msgstr "mount: geen medium gevonden op %s; ... nieuwe poging\n"
+
+#: mount/mount.c:1558
+#, c-format
+msgid "mount: no medium found on %s"
+msgstr "mount: geen medium gevonden op %s"
+
+#: mount/mount.c:1576
+#, 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/mount.c:1655
+#, 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/mount.c:1661
+#, 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/mount.c:1756
+#, c-format
+msgid "mount: %s already mounted on %s\n"
+msgstr "mount: %s is al aangekoppeld op %s\n"
+
+#: mount/mount.c:1890
+#, 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/mount.c:2213
+msgid "mount: only root can do that"
+msgstr "mount: alleen root kan dat doen"
+
+#: mount/mount.c:2223
+msgid "nothing was mounted"
+msgstr "er is niets aangekoppeld"
+
+#: mount/mount.c:2241 mount/mount.c:2267
+msgid "mount: no such partition found"
+msgstr "mount: die partitie is niet gevonden"
+
+#: mount/mount.c:2244
+#, c-format
+msgid "mount: can't find %s in %s or %s"
+msgstr "mount: kan %s niet vinden in %s noch in %s"
+
+#: mount/mount_mntent.c:165
+#, 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/mount_mntent.c:216
+#, c-format
+msgid "[mntent]: line %d in %s is bad%s\n"
+msgstr "[mntent]: regel %d in %s is ongeldig%s\n"
+
+#: mount/mount_mntent.c:219
+msgid "; rest of file ignored"
+msgstr "; rest van bestand genegeerd"
+
+#: mount/sundries.c:31
+msgid "bug in xstrndup call"
+msgstr "*programmeerfout* in aanroep van xstrndup()"
+
+#: mount/sundries.c:224 mount/sundries.c:280 mount/sundries.c:289
+#: mount/xmalloc.c:11
+msgid "not enough memory"
+msgstr "onvoldoende geheugen beschikbaar"
+
+#: mount/swapon.c:84
+#, c-format
+msgid ""
+"The <special> parameter:\n"
+" {-L label | LABEL=label}             LABEL of device to be used\n"
+" {-U uuid  | 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"
+"\n"
+msgstr ""
+"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"
+"\n"
+
+#: mount/swapon.c:92
+#, fuzzy, c-format
+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"
+"Gebruik:\n"
+"  %1$s -a [-e] [-v]                     alle wisselgeheugens inschakelen "
+"die\n"
+"                                          vermeld staan in /etc/fstab\n"
+"  %1$s [-p <prioriteit>] [-v] <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"
+
+#: mount/swapon.c:106
+#, c-format
+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"
+
+#: mount/swapon.c:140
+#, fuzzy, c-format
+msgid "%s: unexpected file format"
+msgstr "%s: %s: Onverwachte bestandsindeling\n"
+
+#: mount/swapon.c:184 mount/swapon.c:252 mount/swapon.c:397 mount/swapon.c:556
+#: mount/swapon.c:758
+#, fuzzy, c-format
+msgid "%s: open failed"
+msgstr "openpty() is mislukt\n"
+
+#: mount/swapon.c:205
+#, fuzzy, c-format
+msgid "%s: reinitializing the swap."
+msgstr ""
+"%s: %s: sluimergegevens gevonden --\n"
+"wisselgeheugen wordt opnieuw ingesteld\n"
+
+#: mount/swapon.c:209
+#, fuzzy
+msgid "fork failed"
+msgstr "fork() is mislukt\n"
+
+#: mount/swapon.c:225
+#, fuzzy
+msgid "execv failed"
+msgstr "uitvoeren is mislukt\n"
+
+#: mount/swapon.c:233
+#, fuzzy
+msgid "waitpid failed"
+msgstr "setuid() is mislukt"
+
+#: mount/swapon.c:257
+#, fuzzy, c-format
+msgid "%s: lseek failed"
+msgstr "'seek' is mislukt"
+
+#: mount/swapon.c:263
+#, fuzzy, c-format
+msgid "%s: write signature failed"
+msgstr "schrijven naar standaarduitvoer is mislukt"
+
+#: mount/swapon.c:350
+#, c-format
+msgid "%s: found %sswap v%d signature string for %d KiB PAGE_SIZE\n"
+msgstr ""
+
+#: mount/swapon.c:370
+#, fuzzy, c-format
+msgid "%s: stat failed"
+msgstr "%s is mislukt.\n"
+
+#: mount/swapon.c:380
+#, fuzzy, c-format
+msgid "%s: insecure permissions %04o, %04o suggested."
+msgstr ""
+"%s: Waarschuwing: %s heeft onveilige toegangsrechten: %04o --\n"
+"aangeraden wordt: %04o\n"
+
+#: mount/swapon.c:388
+#, fuzzy, c-format
+msgid "%s: skipping - it appears to have holes."
+msgstr "%s: Bestand %s wordt overgeslagen -- het lijkt gaten te hebben.\n"
+
+#: mount/swapon.c:402
+#, fuzzy, c-format
+msgid "%s: get size failed"
+msgstr "'seek' is mislukt"
+
+#: mount/swapon.c:408
+#, c-format
+msgid "%s: read swap header failed"
+msgstr ""
+
+#: mount/swapon.c:421
+#, c-format
+msgid "%s: last_page 0x%08llx is larger than actual size of swapspace"
+msgstr ""
+
+#: mount/swapon.c:426
+#, c-format
+msgid "%s: swap format pagesize does not match."
+msgstr ""
+
+#: mount/swapon.c:431
+#, c-format
+msgid ""
+"%s: swap format pagesize does not match. (Use --fixpgsz to reinitialize it.)"
+msgstr ""
+
+#: mount/swapon.c:440
+#, fuzzy, c-format
+msgid "%s: software suspend data detected. Rewriting the swap signature."
+msgstr ""
+"%s: %s: sluimergegevens gevonden --\n"
+"wisselgeheugen wordt opnieuw ingesteld\n"
+
+#: mount/swapon.c:464 mount/swapon.c:514
+#, c-format
+msgid "%s on %s\n"
+msgstr "%s op %s\n"
+
+#: mount/swapon.c:486
+#, fuzzy, c-format
+msgid "%s: swapon failed"
+msgstr "%s is mislukt.\n"
+
+#: mount/swapon.c:493
+#, fuzzy, c-format
+msgid "cannot find the device for %s"
+msgstr "%s: kan geen apparaat vinden voor %s\n"
+
+#: mount/swapon.c:526
+#, fuzzy
+msgid "Not superuser."
+msgstr "U bent niet root.\n"
+
+#: mount/swapon.c:529
+#, fuzzy, c-format
+msgid "%s: swapoff failed"
+msgstr "%s is mislukt.\n"
+
+#: mount/umount.c:41
+#, c-format
+msgid "umount: compiled without support for -f\n"
+msgstr "umount: gecompileerd zonder ondersteuning voor '-f'\n"
+
+#: mount/umount.c:111
+#, c-format
+msgid "umount: cannot set group id: %s"
+msgstr "umount: kan groep-ID niet instellen: %s"
+
+#: mount/umount.c:114
+#, c-format
+msgid "umount: cannot set user id: %s"
+msgstr "umount: kan gebruiker-ID niet instellen: %s"
+
+#: mount/umount.c:139
+#, c-format
+msgid "umount: cannot fork: %s"
+msgstr "umount: kan geen nieuw proces starten: %s"
+
+#: mount/umount.c:160
+#, c-format
+msgid "umount: %s: invalid block device"
+msgstr "umount: %s: ongeldig blok-apparaat"
+
+#: mount/umount.c:162
+#, c-format
+msgid "umount: %s: not mounted"
+msgstr "umount: %s: niet aangekoppeld"
+
+#: mount/umount.c:164
+#, c-format
+msgid "umount: %s: can't write superblock"
+msgstr "umount: %s: kan niet naar superblok schrijven"
+
+#: mount/umount.c:168
+#, 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/umount.c:173
+#, c-format
+msgid "umount: %s: not found"
+msgstr "umount: %s: niet gevonden"
+
+#: mount/umount.c:175
+#, c-format
+msgid "umount: %s: must be superuser to umount"
+msgstr "umount: %s: u moet root zijn om te kunnen ontkoppelen"
+
+#: mount/umount.c:177
+#, c-format
+msgid "umount: %s: block devices not permitted on fs"
+msgstr "umount: %s: blok-apparaten niet toegestaan op bestandssysteem"
+
+#: mount/umount.c:179
+#, c-format
+msgid "umount: %s: %s"
+msgstr "umount: %s: %s"
+
+#: mount/umount.c:235
+#, c-format
+msgid "no umount2, trying umount...\n"
+msgstr "geen umount2 aanwezig; poging met gewone umount...\n"
+
+#: mount/umount.c:252
+#, c-format
+msgid "umount: %s busy - remounted read-only\n"
+msgstr "umount: %s is bezig -- als alleen-lezen heraangekoppeld\n"
+
+#: mount/umount.c:263
+#, c-format
+msgid "umount: could not remount %s read-only\n"
+msgstr "umount: kan %s niet als alleen-lezen heraankoppelen\n"
+
+#: mount/umount.c:272
+#, c-format
+msgid "%s umounted\n"
+msgstr "%s is ontkoppeld\n"
+
+#: mount/umount.c:367
+msgid "umount: cannot find list of filesystems to unmount"
+msgstr "umount: kan geen lijst vinden met bestandssystemen om te ontkoppelen"
+
+#: mount/umount.c:397
+#, 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 ""
+"Gebruik:  umount [-dfnlrv] map|apparaat ...\n"
+"          umount -a [-dfnlrv] [-t bestandssysteemsoorten] [-O opties]\n"
+"          umount [-hV]\n"
+
+#: mount/umount.c:466
+#, fuzzy, c-format
+msgid "device %s is associated with %s\n"
+msgstr "waarschuwing: %s is al gerelateerd aan %s\n"
+
+#: mount/umount.c:472
+#, fuzzy, c-format
+msgid "device %s is not associated with %s\n"
+msgstr "waarschuwing: %s is al gerelateerd aan %s\n"
+
+#: mount/umount.c:485
+msgid "Cannot umount \"\"\n"
+msgstr "kan niet \"\" ontkoppelen\n"
+
+#: mount/umount.c:491
+#, c-format
+msgid "Trying to umount %s\n"
+msgstr "Poging tot ontkoppelen van %s...\n"
+
+#: mount/umount.c:504
+msgid "umount: confused when analyzing mtab"
+msgstr ""
+
+#: mount/umount.c:509
+#, c-format
+msgid "umount: cannot umount %s -- %s is mounted over it on the same point."
+msgstr ""
+
+#: mount/umount.c:516
+#, c-format
+msgid "Could not find %s in mtab\n"
+msgstr "Kan %s niet vinden in mtab\n"
+
+#: mount/umount.c:523
+#, c-format
+msgid "umount: %s is not mounted (according to mtab)"
+msgstr "umount: %s is niet aangekoppeld (volgens mtab)"
+
+#: mount/umount.c:547
+#, c-format
+msgid "umount: it seems %s is mounted multiple times"
+msgstr "umount: het lijkt erop dat %s meerdere keren is aangekoppeld"
+
+#: mount/umount.c:561
+#, 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/umount.c:567
+#, c-format
+msgid "umount: %s mount disagrees with the fstab"
+msgstr "umount: aankoppeling op %s komt niet overeen met fstab"
+
+#: mount/umount.c:608
+#, c-format
+msgid "umount: only %s can unmount %s from %s"
+msgstr "umount: alleen %s kan %s ontkoppelen van %s"
+
+#: mount/umount.c:695
+msgid "umount: only root can do that"
+msgstr "umount: alleen root kan dat doen"
+
+#: schedutils/chrt.c:56
+#, 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"
+"\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 ""
+
+#: schedutils/chrt.c:88
+#, fuzzy, c-format
+msgid "failed to get pid %d's policy"
+msgstr "Instellen van systeemeigenschappen voor %s is mislukt"
+
+#: schedutils/chrt.c:90
+#, c-format
+msgid "pid %d's %s scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:112
+#, fuzzy, c-format
+msgid "unknown\n"
+msgstr "onbekende tijd"
+
+#: schedutils/chrt.c:116
+#, c-format
+msgid "failed to get pid %d's attributes"
+msgstr ""
+
+#: schedutils/chrt.c:118
+#, c-format
+msgid "pid %d's %s scheduling priority: %d\n"
+msgstr ""
+
+#: schedutils/chrt.c:147
+#, c-format
+msgid "SCHED_%s min/max priority\t: %d/%d\n"
+msgstr ""
+
+#: schedutils/chrt.c:150
+#, c-format
+msgid "SCHED_%s not supported?\n"
+msgstr ""
+
+#: schedutils/chrt.c:206
+#, fuzzy
+msgid "failed to parse pid"
+msgstr "%s: openen is mislukt: %s\n"
+
+#: schedutils/chrt.c:228
+#, fuzzy
+msgid "current"
+msgstr "ncount"
+
+#: schedutils/chrt.c:236
+#, fuzzy
+msgid "failed to parse priority"
+msgstr "Instellen van systeemeigenschappen voor %s is mislukt"
+
+#: schedutils/chrt.c:242
+#, fuzzy, c-format
+msgid "failed to set pid %d's policy"
+msgstr "Instellen van systeemeigenschappen voor %s is mislukt"
+
+#: schedutils/chrt.c:251
+#, fuzzy, c-format
+msgid "failed to execute %s"
+msgstr "kan scriptbestand %s niet lezen"
+
+#: schedutils/ionice.c:57
+#, fuzzy
+msgid "ioprio_get failed"
+msgstr "openpty() is mislukt\n"
+
+#: schedutils/ionice.c:75
+#, fuzzy
+msgid "ioprio_set failed"
+msgstr "openpty() is mislukt\n"
+
+#: schedutils/ionice.c:81
+#, c-format
+msgid ""
+"\n"
+"ionice - sets or gets process io scheduling class and priority.\n"
+"\n"
+"Usage:\n"
+"  ionice [ options ] -p <pid> [<pid> ...]\n"
+"  ionoce [ 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 ""
+
+#: schedutils/ionice.c:110 schedutils/ionice.c:112
+#, fuzzy, c-format
+msgid "cannot parse number '%s'"
+msgstr "kan %s niet openen"
+
+#: schedutils/ionice.c:151
+msgid "ignoring given class data for none class"
+msgstr ""
+
+#: schedutils/ionice.c:159
+msgid "ignoring given class data for idle class"
+msgstr ""
+
+#: schedutils/ionice.c:163
+#, c-format
+msgid "bad prio class %d"
+msgstr ""
+
+#: schedutils/ionice.c:187
+#, fuzzy
+msgid "execvp failed"
+msgstr "uitvoeren is mislukt\n"
+
+#: sys-utils/ctrlaltdel.c:27
+#, c-format
+msgid "You must be root to set the Ctrl-Alt-Del behaviour.\n"
+msgstr ""
+"U moet root zijn om het gedrag van Ctrl-Alt-Del in te kunnen stellen.\n"
+
+#: sys-utils/ctrlaltdel.c:42
+#, c-format
+msgid "Usage: ctrlaltdel hard|soft\n"
+msgstr "Gebruik:  ctrlaltdel hard|soft\n"
+
+# wat die "For" betekent: geen idee
+#: sys-utils/cytune.c:114
+#, 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\n"
+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.\n"
+
+#: sys-utils/cytune.c:125
+#, c-format
+msgid ""
+"File %s, For threshold value %lu and timrout value %lu, Maximum characters "
+"in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f\n"
+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.\n"
+
+#: sys-utils/cytune.c:189
+#, c-format
+msgid "Invalid interval value: %s\n"
+msgstr "Ongeldige intervalwaarde: %s\n"
+
+#: sys-utils/cytune.c:197
+#, c-format
+msgid "Invalid set value: %s\n"
+msgstr "Ongeldige drempelwaarde: %s\n"
+
+#: sys-utils/cytune.c:205
+#, c-format
+msgid "Invalid default value: %s\n"
+msgstr "Ongeldige standaarddrempelwaarde: %s\n"
+
+#: sys-utils/cytune.c:213
+#, c-format
+msgid "Invalid set time value: %s\n"
+msgstr "Ongeldige waarde voor tijdslimiet: %s\n"
+
+#: sys-utils/cytune.c:221
+#, c-format
+msgid "Invalid default time value: %s\n"
+msgstr "Ongeldige standaardwaarde voor tijdslimiet: %s\n"
+
+#: sys-utils/cytune.c:238
+#, c-format
+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 [bestand ...]\n"
+
+#: sys-utils/cytune.c:250 sys-utils/cytune.c:269 sys-utils/cytune.c:289
+#: sys-utils/cytune.c:339
+#, c-format
+msgid "Can't open %s: %s\n"
+msgstr "Kan %s niet openen: %s\n"
+
+#: sys-utils/cytune.c:257
+#, c-format
+msgid "Can't set %s to threshold %d: %s\n"
+msgstr "Kan %s niet instellen op drempelwaarde %d: %s\n"
+
+#: sys-utils/cytune.c:276
+#, c-format
+msgid "Can't set %s to time threshold %d: %s\n"
+msgstr "Kan %s niet instellen op tijdsdrempel %d: %s\n"
+
+#: sys-utils/cytune.c:294 sys-utils/cytune.c:351 sys-utils/cytune.c:382
+#, c-format
+msgid "Can't get threshold for %s: %s\n"
+msgstr "Kan drempelwaarde voor %s niet verkrijgen: %s\n"
+
+#: sys-utils/cytune.c:300 sys-utils/cytune.c:357 sys-utils/cytune.c:388
+#, c-format
+msgid "Can't get timeout for %s: %s\n"
+msgstr "Kan tijdslimiet voor %s niet verkrijgen: %s\n"
+
+#: sys-utils/cytune.c:306
+#, 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:309
+#, 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/cytune.c:327
+msgid "Can't set signal handler"
+msgstr "Kan geen signaalhandvat instellen"
+
+#: sys-utils/cytune.c:331 sys-utils/cytune.c:366
+msgid "gettimeofday failed"
+msgstr "gettimeofday() is mislukt"
+
+#: sys-utils/cytune.c:344 sys-utils/cytune.c:376
+#, c-format
+msgid "Can't issue CYGETMON on %s: %s\n"
+msgstr "Kan ioctl(CYGETMON) niet uitvoeren op %s: %s\n"
+
+#: sys-utils/cytune.c:418
+#, 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:424
+#, 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:429
+#, 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:435
+#, c-format
+msgid "   %f int/sec; %f rec (char/sec)\n"
+msgstr "   %f onderbrekingen/sec; %f ontvangen (tekens/sec)\n"
+
+#: sys-utils/dmesg.c:45
+#, fuzzy, c-format
+msgid "Usage: %s [-c] [-n level] [-r] [-s bufsize]\n"
+msgstr "Gebruik:  %s [-c] [-n niveau] [-s buffergrootte]\n"
+
+#: sys-utils/flock.c:65
+#, c-format
+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 ""
+
+#: sys-utils/flock.c:192
+#, fuzzy, c-format
+msgid "%s: %s requires exactly one command argument\n"
+msgstr "%s vereist een argument\n"
+
+#: sys-utils/flock.c:219
+#, fuzzy, c-format
+msgid "%s: cannot open lock file %s: %s\n"
+msgstr "%s: kan %s niet openen: %s\n"
+
+#: sys-utils/flock.c:231
+#, fuzzy, c-format
+msgid "%s: bad number: %s\n"
+msgstr "%s: ongeldige waarde\n"
+
+#: sys-utils/flock.c:238
+#, c-format
+msgid "%s: requires file descriptor, file or directory\n"
+msgstr ""
+
+#: sys-utils/flock.c:294
+#, fuzzy, c-format
+msgid "%s: fork failed: %s\n"
+msgstr "fork() is mislukt\n"
+
+#: sys-utils/ipcmk.c:84
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage: %s [options]\n"
+"\n"
+msgstr "Gebruik:  %s [opties] apparaat ...\n"
+
+#: sys-utils/ipcmk.c:86
+#, c-format
+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 ""
+
+#: sys-utils/ipcmk.c:90
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see ipcmk(1).\n"
+"\n"
+msgstr ""
+"\n"
+"Voor meer informatie zie setarch(8).\n"
+
+#: sys-utils/ipcmk.c:142
+msgid "create share memory failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:144
+#, fuzzy, c-format
+msgid "Shared memory id: %d\n"
+msgstr ""
+"\n"
+"Gedeeld geheugensegment met shm-ID=%d\n"
+
+#: sys-utils/ipcmk.c:150
+msgid "create message queue failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:152
+#, fuzzy, c-format
+msgid "Message queue id: %d\n"
+msgstr ""
+"\n"
+"Berichtwachtrij met msq-ID=%d\n"
+
+#: sys-utils/ipcmk.c:158
+#, fuzzy
+msgid "create semaphore failed"
+msgstr "gereserveerde semaforen = %d\n"
+
+#: sys-utils/ipcmk.c:160
+#, fuzzy, c-format
+msgid "Semaphore id: %d\n"
+msgstr ""
+"\n"
+"Semafoorarray met sem-ID=%d\n"
+
+#: sys-utils/ipcrm.c:66
+#, c-format
+msgid "invalid id: %s\n"
+msgstr "ongeldig ID: %s\n"
+
+#: sys-utils/ipcrm.c:84
+#, c-format
+msgid "cannot remove id %s (%s)\n"
+msgstr "kan ID %s niet verwijderen (%s)\n"
+
+#: sys-utils/ipcrm.c:99
+#, c-format
+msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
+msgstr "Afgeraden gebruik:  %s [shm | msg | sem] ID ...\n"
+
+#: sys-utils/ipcrm.c:126
+#, c-format
+msgid "unknown resource type: %s\n"
+msgstr "onbekende bronsoort: %s\n"
+
+#: sys-utils/ipcrm.c:130
+#, c-format
+msgid "resource(s) deleted\n"
+msgstr "bron(nen) verwijderd\n"
+
+#: sys-utils/ipcrm.c:140
+#, c-format
+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"
+
+#: sys-utils/ipcrm.c:181
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: ongeldige optie -- %c\n"
+
+#: sys-utils/ipcrm.c:193
+#, c-format
+msgid "%s: illegal key (%s)\n"
+msgstr "%s: ongeldige sleutel (%s)\n"
+
+#: sys-utils/ipcrm.c:208 sys-utils/ipcrm.c:240
+msgid "permission denied for key"
+msgstr "toegang geweigerd voor sleutel"
+
+#: sys-utils/ipcrm.c:211 sys-utils/ipcrm.c:250
+msgid "already removed key"
+msgstr "sleutel is al verwijderd"
+
+#: sys-utils/ipcrm.c:214 sys-utils/ipcrm.c:245
+msgid "invalid key"
+msgstr "ongeldige sleutel"
+
+#: sys-utils/ipcrm.c:217 sys-utils/ipcrm.c:255
+msgid "unknown error in key"
+msgstr "onbekende fout in sleutel"
+
+#: sys-utils/ipcrm.c:241
+msgid "permission denied for id"
+msgstr "toegang geweigerd voor ID"
+
+#: sys-utils/ipcrm.c:246
+msgid "invalid id"
+msgstr "ongeldig ID"
+
+#: sys-utils/ipcrm.c:251
+msgid "already removed id"
+msgstr "ID is al verwijderd"
+
+#: sys-utils/ipcrm.c:256
+msgid "unknown error in id"
+msgstr "onbekende fout in ID"
+
+#: sys-utils/ipcrm.c:259
+#, c-format
+msgid "%s: %s (%s)\n"
+msgstr "%s: %s (%s)\n"
+
+#: sys-utils/ipcrm.c:267
+#, c-format
+msgid "%s: unknown argument: %s\n"
+msgstr "%s: onbekend argument: %s\n"
+
+#: sys-utils/ipcs.c:120
+#, c-format
+msgid "usage : %s -asmq -tclup \n"
+msgstr "Gebruik:  %s -asmq -tclup\n"
+
+#: sys-utils/ipcs.c:121
+#, c-format
+msgid "\t%s [-s -m -q] -i id\n"
+msgstr "          %s [-s] [-m] [-q] -i ID\n"
+
+#: sys-utils/ipcs.c:122
+#, c-format
+msgid "\t%s -h for help.\n"
+msgstr "          %s -h  (voor hulp)\n"
+
+#: sys-utils/ipcs.c:128
+#, c-format
+msgid ""
+"%s provides information on ipc facilities for which you have read access.\n"
+msgstr ""
+"%s geeft informatie over IPC-voorzieningen waarvoor u leestoegang hebt.\n"
+
+#: sys-utils/ipcs.c:130
+#, c-format
+msgid ""
+"Resource Specification:\n"
+"\t-m : shared_mem\n"
+"\t-q : messages\n"
+msgstr ""
+"Bronnenkeuze:\n"
+"    -m : gedeeld geheugen\n"
+"    -q : berichten\n"
+
+#: sys-utils/ipcs.c:131
+#, c-format
+msgid ""
+"\t-s : semaphores\n"
+"\t-a : all (default)\n"
+msgstr ""
+"    -s : semaforen\n"
+"    -a : alle (is standaard)\n"
+
+#: sys-utils/ipcs.c:132
+#, c-format
+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"
+
+#: sys-utils/ipcs.c:133
+#, c-format
+msgid ""
+"\t-l : limits\n"
+"\t-u : summary\n"
+msgstr ""
+"    -l : grenzen\n"
+"    -u : samenvatting\n"
+
+#: sys-utils/ipcs.c:134
+#, c-format
+msgid "-i id [-s -q -m] : details on resource identified by id\n"
+msgstr "    -i ID [-s] [-m] [-q] : details over de met ID aangegeven bron\n"
+
+#: sys-utils/ipcs.c:258
+#, c-format
+msgid "kernel not configured for shared memory\n"
+msgstr "kernel niet ingesteld voor gedeeld geheugen\n"
+
+#: sys-utils/ipcs.c:264
+#, c-format
+msgid "------ Shared Memory Limits --------\n"
+msgstr "------ Gedeeld geheugen: grenzen --------\n"
+
+#: sys-utils/ipcs.c:269
+#, c-format
+msgid "max number of segments = %lu\n"
+msgstr "maximum aantal segmenten = %lu\n"
+
+#: sys-utils/ipcs.c:271
+#, c-format
+msgid "max seg size (kbytes) = %lu\n"
+msgstr "maximale segmentgrootte (kilobytes) = %lu\n"
+
+#: sys-utils/ipcs.c:273
+#, c-format
+msgid "max total shared memory (kbytes) = %llu\n"
+msgstr "maximum totaal gedeeld geheugen (kilobytes) = %llu\n"
+
+#: sys-utils/ipcs.c:275
+#, c-format
+msgid "min seg size (bytes) = %lu\n"
+msgstr "minimale segmentgrootte (bytes) = %lu\n"
+
+#: sys-utils/ipcs.c:280
+#, c-format
+msgid "------ Shared Memory Status --------\n"
+msgstr "------ Gedeeld geheugen: status --------\n"
+
+#: sys-utils/ipcs.c:281
+#, c-format
+msgid "segments allocated %d\n"
+msgstr "gereserveerde segmenten =  %d\n"
+
+#: sys-utils/ipcs.c:282
+#, c-format
+msgid "pages allocated %ld\n"
+msgstr "gereserveerde pagina's = %ld\n"
+
+#: sys-utils/ipcs.c:283
+#, c-format
+msgid "pages resident  %ld\n"
+msgstr "pagina's in geheugen = %ld\n"
+
+#: sys-utils/ipcs.c:284
+#, c-format
+msgid "pages swapped   %ld\n"
+msgstr "pagina's in wisselgeheugen = %ld\n"
+
+#: sys-utils/ipcs.c:285
+#, c-format
+msgid "Swap performance: %ld attempts\t %ld successes\n"
+msgstr "Wisselgeheugenprestaties: %ld pogingen, %ld succesvol\n"
+
+#: sys-utils/ipcs.c:290
+#, c-format
+msgid "------ Shared Memory Segment Creators/Owners --------\n"
+msgstr "------ Gedeeld geheugen: segmentaanmakers/eigenaars --------\n"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:298 sys-utils/ipcs.c:305
+#: sys-utils/ipcs.c:311
+msgid "shmid"
+msgstr "shm-ID"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:311 sys-utils/ipcs.c:412
+#: sys-utils/ipcs.c:427 sys-utils/ipcs.c:510 sys-utils/ipcs.c:528
+msgid "perms"
+msgstr "rechten"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "cuid"
+msgstr "maker-UID"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "cgid"
+msgstr "maker-GID"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "uid"
+msgstr "UID"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "gid"
+msgstr "GID"
+
+#: sys-utils/ipcs.c:296
+#, c-format
+msgid "------ Shared Memory Attach/Detach/Change Times --------\n"
+msgstr "------ Gedeeld geheugen: aanhecht/onthecht/wijzigingstijden --------\n"
+
+#: sys-utils/ipcs.c:298 sys-utils/ipcs.c:305 sys-utils/ipcs.c:311
+#: sys-utils/ipcs.c:418 sys-utils/ipcs.c:427 sys-utils/ipcs.c:516
+#: sys-utils/ipcs.c:522 sys-utils/ipcs.c:528
+msgid "owner"
+msgstr "eigenaar"
+
+#: sys-utils/ipcs.c:298
+msgid "attached"
+msgstr "aangehecht"
+
+#: sys-utils/ipcs.c:298
+msgid "detached"
+msgstr "onthecht"
+
+#: sys-utils/ipcs.c:299
+msgid "changed"
+msgstr "gewijzigd"
+
+#: sys-utils/ipcs.c:303
+#, c-format
+msgid "------ Shared Memory Creator/Last-op --------\n"
+msgstr "------ Gedeeld geheugen: aanmaker/laatste-operatie --------\n"
+
+#: sys-utils/ipcs.c:305
+msgid "cpid"
+msgstr "maker-PID"
+
+#: sys-utils/ipcs.c:305
+msgid "lpid"
+msgstr "laatste-PID"
+
+#: sys-utils/ipcs.c:309
+#, c-format
+msgid "------ Shared Memory Segments --------\n"
+msgstr "------ Gedeeld geheugen: segmenten --------\n"
+
+#: sys-utils/ipcs.c:311 sys-utils/ipcs.c:427 sys-utils/ipcs.c:528
+msgid "key"
+msgstr "sleutel"
+
+#: sys-utils/ipcs.c:311
+msgid "bytes"
+msgstr "bytes"
+
+#: sys-utils/ipcs.c:312
+msgid "nattch"
+msgstr "gehecht"
+
+#: sys-utils/ipcs.c:312
+msgid "status"
+msgstr "status"
+
+#: sys-utils/ipcs.c:333 sys-utils/ipcs.c:335 sys-utils/ipcs.c:337
+#: sys-utils/ipcs.c:448 sys-utils/ipcs.c:450 sys-utils/ipcs.c:549
+#: sys-utils/ipcs.c:551 sys-utils/ipcs.c:553 sys-utils/ipcs.c:604
+#: sys-utils/ipcs.c:606 sys-utils/ipcs.c:634 sys-utils/ipcs.c:636
+#: sys-utils/ipcs.c:638 sys-utils/ipcs.c:661
+msgid "Not set"
+msgstr "(geen)"
+
+#: sys-utils/ipcs.c:365
+msgid "dest"
+msgstr "doel"
+
+#: sys-utils/ipcs.c:366
+msgid "locked"
+msgstr "vergrendeld"
+
+#: sys-utils/ipcs.c:386
+#, c-format
+msgid "kernel not configured for semaphores\n"
+msgstr "deze kernel kent geen semaforen\n"
+
+#: sys-utils/ipcs.c:392
+#, c-format
+msgid "------ Semaphore Limits --------\n"
+msgstr "------ Semaforen: grenzen --------\n"
+
+#: sys-utils/ipcs.c:396
+#, c-format
+msgid "max number of arrays = %d\n"
+msgstr "maximum aantal arrays = %d\n"
+
+#: sys-utils/ipcs.c:397
+#, c-format
+msgid "max semaphores per array = %d\n"
+msgstr "maximum aantal semaforen per array = %d\n"
+
+#: sys-utils/ipcs.c:398
+#, c-format
+msgid "max semaphores system wide = %d\n"
+msgstr "maximum aantal semaforen systeemwijd = %d\n"
+
+#: sys-utils/ipcs.c:399
+#, c-format
+msgid "max ops per semop call = %d\n"
+msgstr "maximum aantal operaties per semop()-aanroep = %d\n"
+
+#: sys-utils/ipcs.c:400
+#, c-format
+msgid "semaphore max value = %d\n"
+msgstr "maximale semafoorwaarde = %d\n"
+
+#: sys-utils/ipcs.c:404
+#, c-format
+msgid "------ Semaphore Status --------\n"
+msgstr "------ Semaforen: status --------\n"
+
+#: sys-utils/ipcs.c:405
+#, c-format
+msgid "used arrays = %d\n"
+msgstr "gebruikte arrays = %d\n"
+
+#: sys-utils/ipcs.c:406
+#, c-format
+msgid "allocated semaphores = %d\n"
+msgstr "gereserveerde semaforen = %d\n"
+
+#: sys-utils/ipcs.c:410
+#, c-format
+msgid "------ Semaphore Arrays Creators/Owners --------\n"
+msgstr "------ Semaforen: arrayaanmakers/eigenaars --------\n"
+
+#: sys-utils/ipcs.c:412 sys-utils/ipcs.c:418 sys-utils/ipcs.c:427
+msgid "semid"
+msgstr "sem-ID"
+
+#: sys-utils/ipcs.c:416
+#, c-format
+msgid "------ Semaphore Operation/Change Times --------\n"
+msgstr "------ Semaforen: operatie/wijzigingstijden --------\n"
+
+#: sys-utils/ipcs.c:418
+msgid "last-op"
+msgstr "laatste operatie"
+
+#: sys-utils/ipcs.c:418
+msgid "last-changed"
+msgstr "laatst gewijzigd"
+
+#: sys-utils/ipcs.c:425
+#, c-format
+msgid "------ Semaphore Arrays --------\n"
+msgstr "------ Semaforen: arrays --------\n"
+
+#: sys-utils/ipcs.c:427
+msgid "nsems"
+msgstr "nsems"
+
+#: sys-utils/ipcs.c:486
+#, c-format
+msgid "kernel not configured for message queues\n"
+msgstr "kernel niet ingesteld voor berichtwachtrijen\n"
+
+#: sys-utils/ipcs.c:494
+#, c-format
+msgid "------ Messages: Limits --------\n"
+msgstr "------ Berichten: grenzen --------\n"
+
+#: sys-utils/ipcs.c:495
+#, c-format
+msgid "max queues system wide = %d\n"
+msgstr "maximum aantal wachtrijen systeemwijd = %d\n"
+
+#: sys-utils/ipcs.c:496
+#, c-format
+msgid "max size of message (bytes) = %d\n"
+msgstr "maximumgrootte van bericht (bytes) = %d\n"
+
+#: sys-utils/ipcs.c:497
+#, c-format
+msgid "default max size of queue (bytes) = %d\n"
+msgstr "standaard-maximumgrootte van wachtrij (bytes) = %d\n"
+
+#: sys-utils/ipcs.c:501
+#, c-format
+msgid "------ Messages: Status --------\n"
+msgstr "------ Berichten: status --------\n"
+
+#: sys-utils/ipcs.c:502
+#, c-format
+msgid "allocated queues = %d\n"
+msgstr "gereserveerde wachtrijen = %d\n"
+
+#: sys-utils/ipcs.c:503
+#, c-format
+msgid "used headers = %d\n"
+msgstr "gebruikte koppen = %d\n"
+
+#: sys-utils/ipcs.c:504
+#, c-format
+msgid "used space = %d bytes\n"
+msgstr "gebruikte ruimte = %d bytes\n"
+
+#: sys-utils/ipcs.c:508
+#, c-format
+msgid "------ Message Queues: Creators/Owners --------\n"
+msgstr "------ Berichtwachtrijen: aanmakers/eigenaars --------\n"
+
+#: sys-utils/ipcs.c:510 sys-utils/ipcs.c:516 sys-utils/ipcs.c:522
+#: sys-utils/ipcs.c:528
+msgid "msqid"
+msgstr "msq-ID"
+
+#: sys-utils/ipcs.c:514
+#, c-format
+msgid "------ Message Queues Send/Recv/Change Times --------\n"
+msgstr "------ Berichtwachtrijen: verzend/ontvang/wijzigingstijden --------\n"
+
+#: sys-utils/ipcs.c:516
+msgid "send"
+msgstr "verzending"
+
+#: sys-utils/ipcs.c:516
+msgid "recv"
+msgstr "ontvangst"
+
+#: sys-utils/ipcs.c:516
+msgid "change"
+msgstr "wijziging"
+
+#: sys-utils/ipcs.c:520
+#, c-format
+msgid "------ Message Queues PIDs --------\n"
+msgstr "------ Berichtwachtrijen: PID's --------\n"
+
+#: sys-utils/ipcs.c:522
+msgid "lspid"
+msgstr "la.ze.PID"
+
+#: sys-utils/ipcs.c:522
+msgid "lrpid"
+msgstr "la.ov.PID"
+
+#: sys-utils/ipcs.c:526
+#, c-format
+msgid "------ Message Queues --------\n"
+msgstr "------ Berichtwachtrijen --------\n"
+
+#: sys-utils/ipcs.c:529
+msgid "used-bytes"
+msgstr "gebruikt"
+
+#: sys-utils/ipcs.c:529
+msgid "messages"
+msgstr "berichten"
+
+#: sys-utils/ipcs.c:593
+#, fuzzy
+msgid "shmctl failed"
+msgstr "fsync() is mislukt"
+
+#: sys-utils/ipcs.c:595
+#, c-format
+msgid ""
+"\n"
+"Shared memory Segment shmid=%d\n"
+msgstr ""
+"\n"
+"Gedeeld geheugensegment met shm-ID=%d\n"
+
+#: sys-utils/ipcs.c:596
+#, c-format
+msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+msgstr "UID=%d  GID=%d,  maker-UID=%d\t  maker-GID=%d\n"
+
+#: sys-utils/ipcs.c:598
+#, c-format
+msgid "mode=%#o\taccess_perms=%#o\n"
+msgstr "modus=%#o  toegangsrechten=%#o\n"
+
+#: sys-utils/ipcs.c:600
+#, c-format
+msgid "bytes=%ld\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+msgstr "bytes=%ld  laatste-PID=%d  maker-PID=%d  aanhechtingen=%ld\n"
+
+#: sys-utils/ipcs.c:603
+#, c-format
+msgid "att_time=%-26.24s\n"
+msgstr "aanhechttijd   = %-26.24s\n"
+
+#: sys-utils/ipcs.c:605
+#, c-format
+msgid "det_time=%-26.24s\n"
+msgstr "onthechttijd   = %-26.24s\n"
+
+#: sys-utils/ipcs.c:607 sys-utils/ipcs.c:637
+#, c-format
+msgid "change_time=%-26.24s\n"
+msgstr "wijzigingstijd = %-26.24s\n"
+
+#: sys-utils/ipcs.c:619
+#, fuzzy
+msgid "msgctl failed"
+msgstr "fsync() is mislukt"
+
+#: sys-utils/ipcs.c:621
+#, c-format
+msgid ""
+"\n"
+"Message Queue msqid=%d\n"
+msgstr ""
+"\n"
+"Berichtwachtrij met msq-ID=%d\n"
+
+#: sys-utils/ipcs.c:622
+#, c-format
+msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
+msgstr "UID=%d  GID=%d,  maker-UID=%d  maker-GID=%d,  modus=%#o\n"
+
+#: sys-utils/ipcs.c:624
+#, 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:633
+#, c-format
+msgid "send_time=%-26.24s\n"
+msgstr "verzendtijd   = %-26.24s\n"
+
+#: sys-utils/ipcs.c:635
+#, c-format
+msgid "rcv_time=%-26.24s\n"
+msgstr "ontvangsttijd = %-26.24s\n"
+
+#: sys-utils/ipcs.c:652 sys-utils/ipcs.c:674
+#, fuzzy
+msgid "semctl failed"
+msgstr "'seek' is mislukt"
+
+#: sys-utils/ipcs.c:654
+#, c-format
+msgid ""
+"\n"
+"Semaphore Array semid=%d\n"
+msgstr ""
+"\n"
+"Semafoorarray met sem-ID=%d\n"
+
+#: sys-utils/ipcs.c:655
+#, c-format
+msgid "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+msgstr "UID=%d  GID=%d,  maker-UID=%d  maker-GID=%d\n"
+
+#: sys-utils/ipcs.c:657
+#, c-format
+msgid "mode=%#o, access_perms=%#o\n"
+msgstr "modus=%#o, toegangsrechten=%#o\n"
+
+#: sys-utils/ipcs.c:659
+#, c-format
+msgid "nsems = %ld\n"
+msgstr "aantal semaforen = %ld\n"
+
+#: sys-utils/ipcs.c:660
+#, c-format
+msgid "otime = %-26.24s\n"
+msgstr "laatste operatietijd   = %-26.24s\n"
+
+#: sys-utils/ipcs.c:662
+#, c-format
+msgid "ctime = %-26.24s\n"
+msgstr "laatste wijzigingstijd = %-26.24s\n"
+
+#: sys-utils/ipcs.c:665
+msgid "semnum"
+msgstr "semnum"
+
+#: sys-utils/ipcs.c:665
+msgid "value"
+msgstr "waarde"
+
+#: sys-utils/ipcs.c:665
+msgid "ncount"
+msgstr "ncount"
+
+#: sys-utils/ipcs.c:665
+msgid "zcount"
+msgstr "zcount"
+
+#: sys-utils/ipcs.c:665
+msgid "pid"
+msgstr "PID"
+
+#: sys-utils/ldattach.c:92
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [ -dhV78neo12 ] [ -s <speed> ] <ldisc> <device>\n"
+msgstr ""
+"\n"
+"Gebruik:  %s [-dhV78neo12] [-s <snelheid>] <lijnprotocol> <apparaat>\n"
+
+#: sys-utils/ldattach.c:94
+msgid ""
+"\n"
+"Known <ldisc> names:\n"
+msgstr ""
+"\n"
+"Mogelijke lijnprotocollen zijn:\n"
+
+#: sys-utils/ldattach.c:179
+#, c-format
+msgid "invalid speed: %s"
+msgstr "ongeldige snelheid: %s"
+
+#: sys-utils/ldattach.c:182
+#, c-format
+msgid "ldattach from %s\n"
+msgstr "ldattach (%s)\n"
+
+#: sys-utils/ldattach.c:187 text-utils/tailf.c:205
+msgid "invalid option"
+msgstr "ongeldige optie"
+
+#: sys-utils/ldattach.c:199
+#, c-format
+msgid "invalid line discipline: %s"
+msgstr "ongeldig lijnprotocol: %s"
+
+#: sys-utils/ldattach.c:207
+#, c-format
+msgid "%s is not a serial line"
+msgstr "%s is geen seriële lijn"
+
+#: sys-utils/ldattach.c:213
+#, c-format
+msgid "cannot get terminal attributes for %s"
+msgstr "kan terminaleigenschappen van %s niet bepalen"
+
+#: sys-utils/ldattach.c:216
+#, c-format
+msgid "speed %d unsupported"
+msgstr "snelheid %d is niet mogelijk"
+
+#: sys-utils/ldattach.c:247
+#, c-format
+msgid "cannot set terminal attributes for %s"
+msgstr "kan terminaleigenschappen van %s niet instellen"
+
+#: sys-utils/ldattach.c:254
+msgid "cannot set line discipline"
+msgstr "kan lijnprotocol niet instellen"
+
+#: sys-utils/ldattach.c:260
+msgid "cannot daemonize"
+msgstr "kan er geen achtergrondservice van maken"
+
+#: sys-utils/lscpu.c:64
+#, fuzzy
+msgid "none"
+msgstr "geen"
+
+#: sys-utils/lscpu.c:65
+msgid "para"
+msgstr ""
+
+#: sys-utils/lscpu.c:66
+msgid "full"
+msgstr ""
+
+#: sys-utils/lscpu.c:129 sys-utils/lscpu.c:152 sys-utils/lscpu.c:441
+#, fuzzy, c-format
+msgid "error: %s"
+msgstr "Fout in reguliere expressie: "
+
+#: sys-utils/lscpu.c:154
+#, fuzzy, c-format
+msgid "error parse: %s"
+msgstr "fout bij lezen van %s\n"
+
+#: sys-utils/lscpu.c:176
+#, fuzzy
+msgid "error: strdup failed"
+msgstr "schrijven naar standaarduitvoer is mislukt"
+
+#: sys-utils/lscpu.c:259
+#, fuzzy
+msgid "error: uname failed"
+msgstr "fout: kan UUID niet ontleden"
+
+#: sys-utils/lscpu.c:491
+#, fuzzy
+msgid "error: malloc failed"
+msgstr "malloc() is mislukt"
+
+#: sys-utils/lscpu.c:506
+msgid "error: /sys filesystem is not accessable."
+msgstr ""
+
+#: sys-utils/lscpu.c:524
+#, 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"
+"# CPU,Core,Socket,Node"
+msgstr ""
+
+#: sys-utils/lscpu.c:590
+msgid "Thread(s) per core:"
+msgstr ""
+
+#: sys-utils/lscpu.c:591
+msgid "Core(s) per socket:"
+msgstr ""
+
+#: sys-utils/lscpu.c:592
+msgid "CPU socket(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:596
+msgid "NUMA node(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:598
+msgid "Vendor ID:"
+msgstr ""
+
+#: sys-utils/lscpu.c:600
+msgid "CPU family:"
+msgstr ""
+
+#: sys-utils/lscpu.c:602
+msgid "Model:"
+msgstr ""
+
+#: sys-utils/lscpu.c:604
+msgid "Stepping:"
+msgstr ""
+
+#: sys-utils/lscpu.c:606
+msgid "CPU MHz:"
+msgstr ""
+
+#: sys-utils/lscpu.c:609 sys-utils/lscpu.c:611
+#, fuzzy
+msgid "Virtualization:"
+msgstr "Oude situatie:\n"
+
+#: sys-utils/lscpu.c:614
+msgid "Hypervisor vendor:"
+msgstr ""
+
+#: sys-utils/lscpu.c:615
+msgid "Virtualization type:"
+msgstr ""
+
+#: sys-utils/lscpu.c:623
+#, c-format
+msgid "%s cache:"
+msgstr ""
+
+#: sys-utils/lscpu.c:631
+#, fuzzy, c-format
+msgid "Usage: %s [option]\n"
+msgstr "Gebruik:  %s [opties] apparaat ...\n"
+
+#: sys-utils/lscpu.c:634
+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 ""
+
+#: sys-utils/lscpu.c:683
+#, fuzzy, c-format
+msgid "error: change working directory to %s."
+msgstr "fout bij wijzigen van modus van %s: %s\n"
+
+#: sys-utils/rdev.c:77
+msgid "usage: rdev [ -rv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]"
+msgstr ""
+"Gebruik:  rdev [ -rv ] [ -o PLAATS ] [ AFBEELDING [ WAARDE [ PLAATS ] ] ]"
+
+#: sys-utils/rdev.c:78
+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"
+
+#: sys-utils/rdev.c:79
+msgid "  rdev /dev/fd0 /dev/hda2         sets ROOT to /dev/hda2"
+msgstr "  rdev /dev/fd0 /dev/hda2         ROOT instellen op /dev/hda2"
+
+#: sys-utils/rdev.c:80
+msgid "  rdev -R /dev/fd0 1              set the ROOTFLAGS (readonly status)"
+msgstr ""
+"  rdev -R /dev/fd0 1              ROOTFLAGS instellen (alleen-lezenstatus)"
+
+#: sys-utils/rdev.c:81
+msgid "  rdev -r /dev/fd0 627            set the RAMDISK size"
+msgstr "  rdev -r /dev/fd0 627            RAMDISK-grootte instellen"
+
+#: sys-utils/rdev.c:82
+msgid "  rdev -v /dev/fd0 1              set the bootup VIDEOMODE"
+msgstr "  rdev -v /dev/fd0 1              VIDEOMODUS bij opstarten instellen"
+
+#: sys-utils/rdev.c:83
+msgid "  rdev -o N ...                   use the byte offset N"
+msgstr "  rdev -o N ...                   de byteplaats N gebruiken"
+
+#: sys-utils/rdev.c:84
+msgid "  rootflags ...                   same as rdev -R"
+msgstr "  rootflags ...                   is hetzelfde als rdev -R"
+
+#: sys-utils/rdev.c:85
+msgid "  ramsize ...                     same as rdev -r"
+msgstr "  ramsize ...                     is hetzelfde als rdev -r"
+
+#: sys-utils/rdev.c:86
+msgid "  vidmode ...                     same as rdev -v"
+msgstr "  vidmode ...                     is hetzelfde als rdev -v"
+
+#: sys-utils/rdev.c:87
+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, ..."
+
+#: sys-utils/rdev.c:88
+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."
+
+#: sys-utils/rdev.c:245
+msgid "missing comma"
+msgstr "komma ontbreekt"
+
+#: sys-utils/readprofile.c:72
+#, c-format
+msgid "out of memory"
+msgstr "onvoldoende geheugen beschikbaar"
+
+#: sys-utils/readprofile.c:118
+#, 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: Gebruik:  %s [opties]\n"
+"  -M <mult>  profileervermenigvuldiger op <mult> 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"
+
+#: sys-utils/readprofile.c:227
+#, c-format
+msgid "readprofile: error writing %s: %s\n"
+msgstr "readprofile: fout bij schrijven van %s: %s\n"
+
+#: sys-utils/readprofile.c:268
+#, c-format
+msgid "Assuming reversed byte order. Use -n to force native byte order.\n"
+msgstr ""
+"Omgekeerde byte-volgorde wordt aangenomen.\n"
+"Gebruik '-n' om de werkelijke byte-volgorde te gebruiken.\n"
+
+#: sys-utils/readprofile.c:284
+#, c-format
+msgid "Sampling_step: %i\n"
+msgstr "Bemonsteringsstap: %i\n"
+
+#: sys-utils/readprofile.c:305 sys-utils/readprofile.c:331
+#, c-format
+msgid "%s: %s(%i): wrong map line\n"
+msgstr "%s: %s(%i): foutieve regel in symbolenbestand\n"
+
+#: sys-utils/readprofile.c:318
+#, c-format
+msgid "%s: can't find \"_stext\" in %s\n"
+msgstr "%s: kan \"_stext\" niet vinden in %s\n"
+
+#: sys-utils/readprofile.c:352
+#, c-format
+msgid "%s: profile address out of range. Wrong map file?\n"
+msgstr "%s: profileringsadres valt buiten bereik.  Verkeerd symbolenbestand?\n"
+
+#: sys-utils/readprofile.c:412
+msgid "total"
+msgstr "totaal"
+
+#: sys-utils/renice.c:53
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" renice [-n] priority [-p|--pid] pid  [... pid]\n"
+" renice [-n] priority  -g|--pgrp pgrp [... pgrp]\n"
+" renice [-n] priority  -u|--user user [... user]\n"
+" renice -h | --help\n"
+" renice -v | --version\n"
+"\n"
+msgstr ""
+"\n"
+"Gebruik:\n"
+"  renice priority [-p|--pid] PID...\n"
+"  renice priority  -g|--pgrp PGID...\n"
+"  renice priority  -u|--user gebruiker...\n"
+"  renice -h | --help\n"
+"  renice -v | --version\n"
+"\n"
+
+#: sys-utils/renice.c:89
+#, c-format
+msgid "renice from %s\n"
+msgstr "renice (%s)\n"
+
+#: sys-utils/renice.c:126
+#, c-format
+msgid "renice: %s: unknown user\n"
+msgstr "renice: %s: onbekende gebruiker\n"
+
+#: sys-utils/renice.c:134
+#, c-format
+msgid "renice: %s: bad value\n"
+msgstr "renice: %s: ongeldige waarde\n"
+
+#: sys-utils/renice.c:152 sys-utils/renice.c:164
+msgid "getpriority"
+msgstr "getpriority()"
+
+#: sys-utils/renice.c:157
+msgid "setpriority"
+msgstr "setpriority()"
+
+#: sys-utils/renice.c:168
+#, c-format
+msgid "%d: old priority %d, new priority %d\n"
+msgstr "%d: oude prioriteit is %d, nieuwe prioriteit is %d\n"
+
+#: sys-utils/rtcwake.c:81
+#, c-format
+msgid ""
+"usage: %s [options]\n"
+"    -d | --device <device>    select rtc device (rtc0|rtc1|...)\n"
+"    -l | --local              RTC uses local timezone\n"
+"    -m | --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"
+"    -V | --version            show version\n"
+msgstr ""
+"Gebruik:  %s [opties]\n"
+"\n"
+"    -d | --device <apparaat>   te gebruiken hardwarklok (rtc0|rtc1|...)\n"
+"    -l | --local               de hardwareklok bevat lokale tijd\n"
+"    -m | --mode                slaapmodus (standby|mem|...)\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"
+"    -V | --version             programmaversie tonen\n"
+
+#: sys-utils/rtcwake.c:140
+msgid "read rtc time"
+msgstr "lezen van hardwareklok"
+
+#: sys-utils/rtcwake.c:145
+msgid "read system time"
+msgstr "lezen van systeemtijd"
+
+#: sys-utils/rtcwake.c:163
+msgid "convert rtc time"
+msgstr "omzetten van hardwarekloktijd"
+
+#: sys-utils/rtcwake.c:222
+msgid "set rtc alarm"
+msgstr "zetten van de wekker"
+
+#: sys-utils/rtcwake.c:226
+msgid "enable rtc alarm"
+msgstr "aanzetten van de wekker"
+
+#: sys-utils/rtcwake.c:230
+msgid "set rtc wake alarm"
+msgstr "zetten van de wekker"
+
+#: sys-utils/rtcwake.c:342
+#, c-format
+msgid "%s: unrecognized suspend state '%s'\n"
+msgstr "%s: onbekende slaaptoestand '%s'\n"
+
+#: sys-utils/rtcwake.c:351
+#, c-format
+msgid "%s: illegal interval %s seconds\n"
+msgstr "%s: ongeldig interval: %s seconden\n"
+
+#: sys-utils/rtcwake.c:365
+#, c-format
+msgid "%s: illegal time_t value %s\n"
+msgstr "%s: ongeldige waarde %s voor ontwakingstijdstip\n"
+
+#: sys-utils/rtcwake.c:381
+#, c-format
+msgid "%s: version %s\n"
+msgstr "%s: versie %s\n"
+
+#: sys-utils/rtcwake.c:394
+#, c-format
+msgid "%s: assuming RTC uses UTC ...\n"
+msgstr "%s: aangenomen wordt dat de hardwareklok UTC bevat...\n"
+
+#: sys-utils/rtcwake.c:399
+#, c-format
+msgid "Using UTC time.\n"
+msgstr "UTC wordt gebruikt.\n"
+
+#: sys-utils/rtcwake.c:400
+#, c-format
+msgid "Using local time.\n"
+msgstr "Lokale tijd wordt gebruikt.\n"
+
+#: sys-utils/rtcwake.c:403
+#, c-format
+msgid "%s: must provide wake time\n"
+msgstr "%s: u dient een wektijd op te geven, via '-s' of '-t'\n"
+
+#: sys-utils/rtcwake.c:413
+msgid "malloc() failed"
+msgstr "onvoldoende geheugen beschikbaar"
+
+#: sys-utils/rtcwake.c:425
+#, c-format
+msgid "%s: %s not enabled for wakeup events\n"
+msgstr "%s: wekgebeurtenissen voor %s zijn niet ingeschakeld\n"
+
+#: sys-utils/rtcwake.c:441
+#, 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:446
+#, c-format
+msgid "%s: time doesn't go backward to %s\n"
+msgstr "%s: tijd loopt niet achteruit naar %s\n"
+
+#: sys-utils/rtcwake.c:456
+#, c-format
+msgid "%s: wakeup from \"%s\" using %s at %s\n"
+msgstr "%s: ontwaking uit '%s' via %s op %s\n"
+
+#: sys-utils/rtcwake.c:473
+msgid "rtc read"
+msgstr "lezen van hardwareklok"
+
+#: sys-utils/rtcwake.c:482
+msgid "disable rtc alarm interrupt"
+msgstr "uitschakelen van hardwareklok-interrupt"
+
+#: sys-utils/setarch.c:50
+#, c-format
+msgid "Switching on %s.\n"
+msgstr "Aanzetten van %s.\n"
+
+#: sys-utils/setarch.c:113
+#, c-format
+msgid ""
+"Usage: %s%s [options] [program [program arguments]]\n"
+"\n"
+"Options:\n"
+msgstr ""
+"Gebruik:  %s%s [opties] [programma [programma-argumenten]]\n"
+"\n"
+"Opties:\n"
+
+#: sys-utils/setarch.c:117
+#, c-format
+msgid ""
+" -h, --help               displays this help text\n"
+" -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"
+msgstr ""
+" -h, --help                deze hulptekst tonen\n"
+" -v, --verbose             melden welke opties ingeschakeld worden\n"
+" -F, --fdpic-funcptrs      functiepointers naar descriptors laten wijzen\n"
+" -B, --32bit               ADDR_LIMIT_32BIT inschakelen\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"
+
+#: sys-utils/setarch.c:131
+#, c-format
+msgid ""
+"\n"
+"For more information see setarch(8).\n"
+msgstr ""
+"\n"
+"Voor meer informatie zie setarch(8).\n"
+
+#: sys-utils/setarch.c:143
+#, c-format
+msgid ""
+"%s: %s\n"
+"Try `%s --help' for more information.\n"
+msgstr ""
+"%s: %s\n"
+"Typ '%s --help' voor meer informatie.\n"
+
+#: sys-utils/setarch.c:215 sys-utils/setarch.c:231
+#, c-format
+msgid "%s: Unrecognized architecture"
+msgstr "%s: Onbekende architectuur"
+
+#: sys-utils/setarch.c:249 sys-utils/setarch.c:256
+msgid "Not enough arguments"
+msgstr "Te weinig argumenten"
+
+#: sys-utils/setarch.c:265 sys-utils/setarch.c:318
+#, c-format
+msgid "Failed to set personality to %s"
+msgstr "Instellen van systeemeigenschappen voor %s is mislukt"
+
+#: sys-utils/setsid.c:26
+#, c-format
+msgid "usage: %s program [arg ...]\n"
+msgstr "Gebruik:  %s programma [argument ...]\n"
+
+#: sys-utils/tunelp.c:75
+#, c-format
+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"
+
+#: sys-utils/tunelp.c:91
+msgid "malloc error"
+msgstr "onvoldoende geheugen beschikbaar"
+
+#: sys-utils/tunelp.c:103
+#, c-format
+msgid "%s: bad value\n"
+msgstr "%s: ongeldige waarde\n"
+
+#: sys-utils/tunelp.c:242
+#, c-format
+msgid "%s: %s not an lp device.\n"
+msgstr "%s: %s is geen printerapparaat\n"
+
+#: sys-utils/tunelp.c:263
+#, c-format
+msgid "%s status is %d"
+msgstr "status van %s: %d"
+
+#: sys-utils/tunelp.c:264
+#, c-format
+msgid ", busy"
+msgstr ", bezig"
+
+#: sys-utils/tunelp.c:265
+#, c-format
+msgid ", ready"
+msgstr ", gereed"
+
+#: sys-utils/tunelp.c:266
+#, c-format
+msgid ", out of paper"
+msgstr ", papier is op"
+
+#: sys-utils/tunelp.c:267
+#, c-format
+msgid ", on-line"
+msgstr ", staat aan"
+
+#: sys-utils/tunelp.c:268
+#, c-format
+msgid ", error"
+msgstr ", fout"
+
+#: sys-utils/tunelp.c:285
+msgid "LPGETIRQ error"
+msgstr "ioctl(LPGETIRQ) is mislukt"
+
+#: sys-utils/tunelp.c:291
+#, c-format
+msgid "%s using IRQ %d\n"
+msgstr "%s gebruikt IRQ %d\n"
+
+#: sys-utils/tunelp.c:293
+#, c-format
+msgid "%s using polling\n"
+msgstr "%s wordt actief gepolst\n"
+
+#: text-utils/col.c:154
+#, c-format
+msgid "col: bad -l argument %s.\n"
+msgstr "col: ongeldig argument '%s' van '-l'\n"
+
+#: text-utils/col.c:544
+#, c-format
+msgid "usage: col [-bfpx] [-l nline]\n"
+msgstr "Gebruik:  col [-bfpx] [-l te_bufferen_aantal_regels]\n"
+
+#: text-utils/col.c:550
+#, c-format
+msgid "col: write error.\n"
+msgstr "col: schrijffout\n"
+
+#: text-utils/col.c:557
+#, c-format
+msgid "col: warning: can't back up %s.\n"
+msgstr "col: Waarschuwing: kan niet terug %s.\n"
+
+#: text-utils/col.c:558
+msgid "past first line"
+msgstr "tot vóór eerste regel"
+
+#: text-utils/col.c:558
+msgid "-- line already flushed"
+msgstr "-- regel is al doorgespoeld"
+
+#: text-utils/colcrt.c:97
+#, c-format
+msgid "usage: %s [ - ] [ -2 ] [ file ... ]\n"
+msgstr "Gebruik:  %s [ - ] [ -2 ] [ bestand ... ]\n"
+
+#: text-utils/column.c:297
+msgid "line too long"
+msgstr "regel is te lang"
+
+#: text-utils/column.c:374
+#, c-format
+msgid "usage: column [-tx] [-c columns] [file ...]\n"
+msgstr "Gebruik:  column [-c aantal_kolommen] [-t] [-x] [bestand ...]\n"
+
+#: text-utils/hexsyntax.c:82
+#, c-format
+msgid "hexdump: bad length value.\n"
+msgstr "hexdump: ongeldige waarde voor te_interpreteren_aantal\n"
+
+#: text-utils/hexsyntax.c:93
+#, c-format
+msgid "hexdump: bad skip value.\n"
+msgstr "hexdump: ongeldige waarde voor over_te_slaan_aantal\n"
+
+#: text-utils/hexsyntax.c:131
+#, c-format
+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"
+
+#: text-utils/more.c:256
+#, c-format
+msgid "usage: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n"
+msgstr "Gebruik:  %s [-cdflpsu] [+regelnummer | +/patroon] naam1 naam2 ...\n"
+
+#: text-utils/more.c:479
+#, c-format
+msgid "%s: unknown option \"-%c\"\n"
+msgstr "%s: onbekende optie '-%c'\n"
+
+#: text-utils/more.c:511
+#, c-format
+msgid ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+msgstr ""
+"\n"
+"*** %s: map ***\n"
+"\n"
+
+#: text-utils/more.c:555
+#, c-format
+msgid ""
+"\n"
+"******** %s: Not a text file ********\n"
+"\n"
+msgstr ""
+"\n"
+"******** %s: Geen tekstbestand ********\n"
+"\n"
+
+#: text-utils/more.c:658
+#, c-format
+msgid "[Use q or Q to quit]"
+msgstr "[Gebruik Q of q om af te sluiten]"
+
+#: text-utils/more.c:750
+#, c-format
+msgid "--More--"
+msgstr "--Meer--"
+
+#: text-utils/more.c:752
+#, c-format
+msgid "(Next file: %s)"
+msgstr "(Volgend bestand: %s)"
+
+#: text-utils/more.c:757
+#, 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:1172
+#, c-format
+msgid "...back %d pages"
+msgstr "...%d pagina's terug"
+
+#: text-utils/more.c:1174
+msgid "...back 1 page"
+msgstr "...1 pagina terug"
+
+#: text-utils/more.c:1217
+msgid "...skipping one line"
+msgstr "...1 regel overslaand"
+
+#: text-utils/more.c:1219
+#, c-format
+msgid "...skipping %d lines"
+msgstr "...%d regels overslaand"
+
+#: text-utils/more.c:1256
+msgid ""
+"\n"
+"***Back***\n"
+"\n"
+msgstr ""
+"\n"
+"***Terug***\n"
+"\n"
+
+#: text-utils/more.c:1294
+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 haken.  Een ster (*) geeft aan\n"
+"dat de waarde k de nieuwe standaardinstelling wordt.\n"
+
+#: text-utils/more.c:1301
+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 <interrupt>   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 expressie>  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 subshell 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:1370 text-utils/more.c:1375
+#, c-format
+msgid "[Press 'h' for instructions.]"
+msgstr "[Druk op 'h' voor instructies.]"
+
+#: text-utils/more.c:1409
+#, c-format
+msgid "\"%s\" line %d"
+msgstr "\"%s\"  regel %d"
+
+#: text-utils/more.c:1411
+#, c-format
+msgid "[Not a file] line %d"
+msgstr "[Geen bestand]  regel %d"
+
+#: text-utils/more.c:1495
+msgid "  Overflow\n"
+msgstr "  Overloop\n"
+
+#: text-utils/more.c:1542
+msgid "...skipping\n"
+msgstr "...overslaand\n"
+
+#: text-utils/more.c:1571
+msgid "Regular expression botch"
+msgstr "Reguliere expressie is verknoeid"
+
+#: text-utils/more.c:1579
+msgid ""
+"\n"
+"Pattern not found\n"
+msgstr ""
+"\n"
+"Patroon niet gevonden\n"
+
+#: text-utils/more.c:1582 text-utils/pg.c:1124 text-utils/pg.c:1275
+msgid "Pattern not found"
+msgstr "Patroon niet gevonden"
+
+#: text-utils/more.c:1643
+msgid "can't fork\n"
+msgstr "kan geen nieuw proces starten\n"
+
+#: text-utils/more.c:1682
+msgid ""
+"\n"
+"...Skipping "
+msgstr ""
+"\n"
+"...Verder "
+
+#: text-utils/more.c:1686
+msgid "...Skipping to file "
+msgstr "...Verder naar bestand "
+
+#: text-utils/more.c:1688
+msgid "...Skipping back to file "
+msgstr "...Terug naar bestand "
+
+#: text-utils/more.c:1966
+msgid "Line too long"
+msgstr "Regel is te lang"
+
+#: text-utils/more.c:2009
+msgid "No previous command to substitute for"
+msgstr "Geen eerdere opdracht"
+
+#: text-utils/odsyntax.c:130
+#, c-format
+msgid "od: od(1) has been deprecated for hexdump(1).\n"
+msgstr "od: od(1) wordt afgeraden; gebruik hexdump(1).\n"
+
+#: text-utils/odsyntax.c:133
+#, c-format
+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"
+
+#: text-utils/odsyntax.c:134
+msgid "; see strings(1)."
+msgstr "; zie strings(1)."
+
+#: text-utils/parse.c:63
+#, c-format
+msgid "hexdump: can't read %s.\n"
+msgstr "hexdump: kan %s niet lezen\n"
+
+#: text-utils/parse.c:68
+#, c-format
+msgid "hexdump: line too long.\n"
+msgstr "hexdump: regel is te lang\n"
+
+#: text-utils/parse.c:401
+#, c-format
+msgid "hexdump: byte count with multiple conversion characters.\n"
+msgstr "hexdump: byteaantal met meerdere conversietekens\n"
+
+#: text-utils/parse.c:483
+#, c-format
+msgid "hexdump: bad byte count for conversion character %s.\n"
+msgstr "hexdump: ongeldig byteaantal voor conversieteken %s\n"
+
+#: text-utils/parse.c:490
+#, c-format
+msgid "hexdump: %%s requires a precision or a byte count.\n"
+msgstr "hexdump: %%s vereist een precisie of een byteaantal\n"
+
+#: text-utils/parse.c:496
+#, c-format
+msgid "hexdump: bad format {%s}\n"
+msgstr "hexdump: ongeldige opmaak {%s}\n"
+
+#: text-utils/parse.c:502
+#, c-format
+msgid "hexdump: bad conversion character %%%s.\n"
+msgstr "hexdump: ongeldig conversieteken %%%s\n"
+
+#: text-utils/pg.c:145
+msgid ""
+"All rights reserved.\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"
+msgstr ""
+
+#: text-utils/pg.c:223
+#, fuzzy
+msgid "Out of memory\n"
+msgstr "Onvoldoende geheugen beschikbaar"
+
+#: text-utils/pg.c:236
+#, c-format
+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"
+
+#: text-utils/pg.c:245
+#, c-format
+msgid "%s: option requires an argument -- %s\n"
+msgstr "%s: optie vereist een argument -- %s\n"
+
+#: text-utils/pg.c:253
+#, c-format
+msgid "%s: illegal option -- %s\n"
+msgstr "%s: ongeldige optie -- %s\n"
+
+#: text-utils/pg.c:370
+msgid "...skipping forward\n"
+msgstr "...verder...\n"
+
+#: text-utils/pg.c:372
+msgid "...skipping backward\n"
+msgstr "...terug...\n"
+
+#: text-utils/pg.c:394
+msgid "No next file"
+msgstr "Geen volgend bestand"
+
+#: text-utils/pg.c:398
+msgid "No previous file"
+msgstr "Geen vorig bestand"
+
+#: text-utils/pg.c:928
+#, c-format
+msgid "%s: Read error from %s file\n"
+msgstr "%s: Leesfout in bestand %s\n"
+
+#: text-utils/pg.c:934
+#, c-format
+msgid "%s: Unexpected EOF in %s file\n"
+msgstr "%s: Onverwachte EOF in bestand %s\n"
+
+#: text-utils/pg.c:937
+#, c-format
+msgid "%s: Unknown error in %s file\n"
+msgstr "%s: Onbekende fout in bestand %s\n"
+
+#: text-utils/pg.c:1032
+#, c-format
+msgid "%s: Cannot create tempfile\n"
+msgstr "%s: Kan geen tijdelijk bestand maken\n"
+
+#: text-utils/pg.c:1041 text-utils/pg.c:1216 text-utils/pg.c:1243
+msgid "RE error: "
+msgstr "Fout in reguliere expressie: "
+
+#: text-utils/pg.c:1198
+msgid "(EOF)"
+msgstr "(EOF)"
+
+#: text-utils/pg.c:1224 text-utils/pg.c:1251
+msgid "No remembered search string"
+msgstr "Geen eerdere zoektekst"
+
+#: text-utils/pg.c:1307
+msgid "Cannot open "
+msgstr "Kan deze niet openen: "
+
+#: text-utils/pg.c:1355
+msgid "saved"
+msgstr "opgeslagen"
+
+#: text-utils/pg.c:1462
+msgid ": !command not allowed in rflag mode.\n"
+msgstr ": !opdracht is niet toegestaan in beperkte modus.\n"
+
+#: text-utils/pg.c:1494
+msgid "fork() failed, try again later\n"
+msgstr "fork() is mislukt; probeer het later opnieuw\n"
+
+#: text-utils/pg.c:1702
+msgid "(Next file: "
+msgstr "(Volgende bestand: "
+
+#: text-utils/rev.c:113
+msgid "unable to allocate bufferspace"
+msgstr "kan geen bufferruimte reserveren"
+
+#: text-utils/rev.c:143
+#, c-format
+msgid "usage: rev [file ...]\n"
+msgstr "Gebruik:  rev [bestand ...]\n"
+
+#: text-utils/tailf.c:57 text-utils/tailf.c:92
+#, c-format
+msgid "cannot open \"%s\" for read"
+msgstr "Kan '%s' niet openen voor lezen"
+
+#: text-utils/tailf.c:95 text-utils/tailf.c:214
+#, c-format
+msgid "cannot stat \"%s\""
+msgstr "kan status van '%s' niet opvragen"
+
+#: text-utils/tailf.c:108
+#, fuzzy, c-format
+msgid "incomplete write to \"%s\" (written %zd, expected %zd)\n"
+msgstr "onvolledige schrijfoperatie naar '%s' (%ld geschreven, %ld verwacht)\n"
+
+#: text-utils/tailf.c:146
+#, c-format
+msgid "%s: cannot add inotify watch (limit of inotify watches was reached)."
+msgstr ""
+
+#: text-utils/tailf.c:150
+#, c-format
+msgid "%s: cannot add inotify watch."
+msgstr ""
+
+#: text-utils/tailf.c:159
+#, fuzzy, c-format
+msgid "%s: cannot read inotify events"
+msgstr "%s: kan %s niet openen\n"
+
+#: text-utils/tailf.c:198 text-utils/tailf.c:202
+msgid "invalid number of lines"
+msgstr "ongeldig aantal regels"
+
+#: text-utils/tailf.c:209
+msgid "usage: tailf [-n N | -N] logfile"
+msgstr "Gebruik:  tailf [-n <getal> | -<getal>]  logbestand"
+
+#: text-utils/ul.c:141
+#, c-format
+msgid "usage: %s [ -i ] [ -tTerm ] file...\n"
+msgstr "Gebruik:  %s [-i] [-t terminaltype] bestand...\n"
+
+#: text-utils/ul.c:152
+#, c-format
+msgid "trouble reading terminfo"
+msgstr "problemen bij lezen van terminfo"
+
+#: text-utils/ul.c:242
+#, c-format
+msgid "Unknown escape sequence in input: %o, %o\n"
+msgstr "Onbekende stuurcode in invoer: %o, %o\n"
+
+#: text-utils/ul.c:425
+#, c-format
+msgid "Unable to allocate buffer.\n"
+msgstr "Reserveren van buffer is mislukt\n"
+
+#: text-utils/ul.c:586
+#, c-format
+msgid "Input line too long.\n"
+msgstr "Invoerregel is te lang\n"
+
+#: text-utils/ul.c:599
+#, c-format
+msgid "Out of memory when growing buffer.\n"
+msgstr "Onvoldoende geheugen beschikbaar tijdens groeien van buffer\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"
+
+#, fuzzy
+#~ msgid "Clock in UTC, not changed.\n"
+#~ msgstr "Shell is niet gewijzigd.\n"
+
+#~ 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 "namei: unable to get current directory - %s\n"
+#~ msgstr "namei: bepalen van huidige map is mislukt -- %s\n"
+
+#~ msgid "namei: unable to chdir to %s - %s (%d)\n"
+#~ msgstr "namei: naar map %s gaan is mislukt -- %s (%d)\n"
+
+#~ 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 "%s: waitpid: %s\n"
+#~ msgstr "%s: waitpid(): %s\n"
+
+#~ msgid "%s: cannot stat %s: %s\n"
+#~ msgstr "%s: kan status van %s niet opvragen: %s\n"
+
+#~ msgid "could not umount %s - trying %s instead\n"
+#~ msgstr "kan %s niet ontkoppelen; nu poging met %s...\n"
diff --git a/po/pl.gmo b/po/pl.gmo
new file mode 100644 (file)
index 0000000..e9e00bc
Binary files /dev/null and b/po/pl.gmo differ
diff --git a/po/pl.po b/po/pl.po
new file mode 100644 (file)
index 0000000..dac48cc
--- /dev/null
+++ b/po/pl.po
@@ -0,0 +1,11235 @@
+# Polish translation of util-linux-ng
+# Copyright (C) 2005 Free Software Foundation, Inc.
+# This file is distributed under the same license as the util-linux-ng package.
+# Andrzej Krzysztofowicz <ankry@mif.pg.gda.pl>, 2006.
+# Jakub Bogusz <qboosh@pld-linux.org>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: util-linux-ng 2.16-rc2\n"
+"Report-Msgid-Bugs-To: Karel Zak <kzak@redhat.com>\n"
+"POT-Creation-Date: 2009-11-30 16:27+0100\n"
+"PO-Revision-Date: 2009-11-23 18:08+0100\n"
+"Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
+"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-2\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/blockdev.c:37
+msgid "set read-only"
+msgstr "ustawienie tylko do odczytu"
+
+#: disk-utils/blockdev.c:38
+msgid "set read-write"
+msgstr "ustawienie do odczytu i zapisu"
+
+#: disk-utils/blockdev.c:39
+msgid "get read-only"
+msgstr "pobranie flagi tylko do odczytu"
+
+#: disk-utils/blockdev.c:40
+msgid "get sectorsize"
+msgstr "pobranie rozmiaru sektora"
+
+#: disk-utils/blockdev.c:41
+msgid "get blocksize"
+msgstr "pobranie rozmiaru bloku"
+
+#: disk-utils/blockdev.c:42
+msgid "set blocksize"
+msgstr "ustawienie rozmiaru bloku"
+
+#: disk-utils/blockdev.c:43
+msgid "get 32-bit sector count"
+msgstr "pobranie 32-bitowej liczby sektorów"
+
+#: disk-utils/blockdev.c:44
+msgid "get size in bytes"
+msgstr "pobranie rozmiaru w bajtach"
+
+#: disk-utils/blockdev.c:45
+msgid "set readahead"
+msgstr "ustawienie odczytu z wyprzedzeniem"
+
+#: disk-utils/blockdev.c:46
+msgid "get readahead"
+msgstr "pobranie ustawienia odczytu z wyprzedzeniem"
+
+#: disk-utils/blockdev.c:47
+msgid "set filesystem readahead"
+msgstr "ustawienie odczytu z wyprzedzeniem dla systemu plików"
+
+#: disk-utils/blockdev.c:48
+msgid "get filesystem readahead"
+msgstr "pobranie ustawienia odczytu z wyprzedzeniem dla systemu plików"
+
+#: disk-utils/blockdev.c:49
+msgid "flush buffers"
+msgstr "opró¿nienie buforów"
+
+#: disk-utils/blockdev.c:51
+msgid "reread partition table"
+msgstr "ponowne odczytanie tablicy partycji"
+
+#: disk-utils/blockdev.c:60
+#, c-format
+msgid "Usage:\n"
+msgstr "Sk³adnia:\n"
+
+#: disk-utils/blockdev.c:62
+#, c-format
+msgid "  %s --report [devices]\n"
+msgstr "  %s --report [urz±dzenia]\n"
+
+#: disk-utils/blockdev.c:63
+#, c-format
+msgid "  %s [-v|-q] commands devices\n"
+msgstr "  %s [-v|-q] polecenia urz±dzenia\n"
+
+#: disk-utils/blockdev.c:66
+#, c-format
+msgid "Available commands:\n"
+msgstr "Dostêpne polecenia:\n"
+
+#: disk-utils/blockdev.c:68
+msgid "get size in 512-byte sectors"
+msgstr "pobranie rozmiaru w sektorach 512-bajtowych"
+
+#: disk-utils/blockdev.c:201
+#, c-format
+msgid "%s: Unknown command: %s\n"
+msgstr "%s: Nieznane polecenie: %s\n"
+
+#: disk-utils/blockdev.c:213 disk-utils/blockdev.c:222
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s wymaga argumentu\n"
+
+#: disk-utils/blockdev.c:255
+#, c-format
+msgid "%s failed.\n"
+msgstr "%s nie powiod³o siê.\n"
+
+#: disk-utils/blockdev.c:292
+#, c-format
+msgid "%s succeeded.\n"
+msgstr "%s powiod³o siê.\n"
+
+#: disk-utils/blockdev.c:310 disk-utils/blockdev.c:338
+#, c-format
+msgid "%s: cannot open %s\n"
+msgstr "%s: nie mo¿na otworzyæ %s\n"
+
+#: disk-utils/blockdev.c:355
+#, c-format
+msgid "%s: ioctl error on %s\n"
+msgstr "%s: b³±d ioctl na %s\n"
+
+#: disk-utils/blockdev.c:364
+#, c-format
+msgid "RO    RA   SSZ   BSZ   StartSec            Size   Device\n"
+msgstr "RO    RA   SSZ   BSZ   PoczSektor         Rozmiar Urz±dzenie\n"
+
+#: disk-utils/elvtune.c:48
+#, c-format
+msgid "usage:\n"
+msgstr "Sk³adnia:\n"
+
+#: disk-utils/elvtune.c:53
+#, c-format
+msgid "\tNOTE: elvtune only works with 2.4 kernels\n"
+msgstr "\t:UWAGA: elvtune dzia³a tylko z j±drami 2.4\n"
+
+#: disk-utils/elvtune.c:104
+#, c-format
+msgid "parse error\n"
+msgstr "b³±d sk³adni\n"
+
+#: disk-utils/elvtune.c:110
+#, c-format
+msgid "missing blockdevice, use -h for help\n"
+msgstr "brak urz±dzenia blokowego, -h wy¶wietli pomoc\n"
+
+#: disk-utils/elvtune.c:131
+#, 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:31
+#, c-format
+msgid "Formatting ... "
+msgstr "Formatowanie... "
+
+#: disk-utils/fdformat.c:49 disk-utils/fdformat.c:86
+#, c-format
+msgid "done\n"
+msgstr "zakoñczone\n"
+
+#: disk-utils/fdformat.c:60
+#, 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:80
+#, c-format
+msgid ""
+"bad data in cyl %d\n"
+"Continuing ... "
+msgstr ""
+"b³êdne dane na cylindrze %d\n"
+"Kontynuacja... "
+
+#: disk-utils/fdformat.c:96
+#, c-format
+msgid "usage: %s [ -n ] device\n"
+msgstr "Sk³adnia: %s [ -n ] urz±dzenie\n"
+
+#: disk-utils/fdformat.c:118 disk-utils/fsck.minix.c:1282
+#: disk-utils/isosize.c:181 disk-utils/mkfs.bfs.c:115 disk-utils/mkfs.c:52
+#: disk-utils/mkfs.cramfs.c:813 disk-utils/mkfs.minix.c:571
+#: disk-utils/mkswap.c:461 misc-utils/ddate.c:179 misc-utils/rename.c:79
+#: misc-utils/script.c:147 sys-utils/readprofile.c:197
+#, c-format
+msgid "%s (%s)\n"
+msgstr "%s (%s)\n"
+
+#: disk-utils/fdformat.c:132
+#, c-format
+msgid "%s: not a block device\n"
+msgstr "%s: nie jest to urz±dzenie blokowe\n"
+
+#: disk-utils/fdformat.c:142
+msgid "Could not determine current format type"
+msgstr "Nie mo¿na okre¶liæ rodzaju aktualnego formatu"
+
+#: disk-utils/fdformat.c:143
+#, 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:144
+msgid "Double"
+msgstr "Dwu"
+
+#: disk-utils/fdformat.c:144
+msgid "Single"
+msgstr "Jedno"
+
+#: disk-utils/fsck.cramfs.c:118
+#, c-format
+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 ""
+"Sk³adnia: %s [-hv] [-x katalog] plik\n"
+" -h          wy¶wietlenie tego opisu\n"
+" -x katalog  rozpakowanie do katalogu\n"
+" -v          wiêksza liczba komunikatów\n"
+" plik        plik do sprawdzenia\n"
+
+#: disk-utils/fsck.cramfs.c:164
+#, c-format
+msgid "stat failed: %s"
+msgstr "stat nie powiod³o siê: %s"
+
+#: disk-utils/fsck.cramfs.c:168 disk-utils/fsck.cramfs.c:552
+#, c-format
+msgid "open failed: %s"
+msgstr "otwarcie nie powiod³o siê: %s"
+
+#: disk-utils/fsck.cramfs.c:173
+#, 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:181
+#, 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:185 disk-utils/fsck.cramfs.c:227
+msgid "file length too short"
+msgstr "d³ugo¶æ pliku zbyt ma³a"
+
+#: disk-utils/fsck.cramfs.c:190 disk-utils/fsck.cramfs.c:198
+#: disk-utils/fsck.cramfs.c:259 disk-utils/fsck.cramfs.c:279
+#, c-format
+msgid "read failed: %s"
+msgstr "odczyt nie powiód³ siê: %s"
+
+#: disk-utils/fsck.cramfs.c:208
+msgid "superblock magic not found"
+msgstr "nie znaleziono liczby magicznej superbloku"
+
+#: disk-utils/fsck.cramfs.c:217
+msgid "unsupported filesystem features"
+msgstr "nieobs³ugiwane cechy systemu plików"
+
+#: disk-utils/fsck.cramfs.c:220
+#, c-format
+msgid "superblock size (%d) too small"
+msgstr "rozmiar superbloku (%d) zbyt ma³y"
+
+#: disk-utils/fsck.cramfs.c:224
+msgid "zero file count"
+msgstr "zerowa liczba plików"
+
+#: disk-utils/fsck.cramfs.c:230
+#, 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:234
+#, c-format
+msgid "warning: old cramfs format\n"
+msgstr "uwaga: stary format cramfs\n"
+
+#: disk-utils/fsck.cramfs.c:247
+msgid "unable to test CRC: old cramfs format"
+msgstr "nie mo¿na sprawdziæ CRC: stary format cramfs"
+
+#: disk-utils/fsck.cramfs.c:273 disk-utils/fsck.cramfs.c:340
+#: disk-utils/fsck.cramfs.c:478 login-utils/chfn.c:529 login-utils/chsh.c:439
+#: sys-utils/cytune.c:321
+msgid "malloc failed"
+msgstr "malloc nie powiod³o siê"
+
+#: disk-utils/fsck.cramfs.c:298
+msgid "crc error"
+msgstr "b³±d CRC"
+
+#: disk-utils/fsck.cramfs.c:365
+msgid "root inode is not directory"
+msgstr "g³ówny i-wêze³ nie jest katalogiem"
+
+#: disk-utils/fsck.cramfs.c:370
+#, c-format
+msgid "bad root offset (%lu)"
+msgstr "b³êdny offset g³ównego katalogu (%lu)"
+
+#: disk-utils/fsck.cramfs.c:388
+msgid "data block too large"
+msgstr "blok danych zbyt du¿y"
+
+#: disk-utils/fsck.cramfs.c:392
+#, c-format
+msgid "decompression error %p(%d): %s"
+msgstr "b³±d dekompresji %p(%d): %s"
+
+#: disk-utils/fsck.cramfs.c:416
+#, c-format
+msgid "  hole at %ld (%zd)\n"
+msgstr "  dziura pod %ld (%zd)\n"
+
+#: disk-utils/fsck.cramfs.c:424 disk-utils/fsck.cramfs.c:596
+#, 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:430
+#, c-format
+msgid "non-block (%ld) bytes"
+msgstr "nie blok (%ld bajtów)"
+
+#: disk-utils/fsck.cramfs.c:434
+#, c-format
+msgid "non-size (%ld vs %ld) bytes"
+msgstr "b³êdny rozmiar (%ld vs %ld bajtów)"
+
+#: disk-utils/fsck.cramfs.c:440
+#, c-format
+msgid "write failed: %s"
+msgstr "zapis nie powiód³ siê: %s"
+
+#: disk-utils/fsck.cramfs.c:453
+#, c-format
+msgid "lchown failed: %s"
+msgstr "lchown nie powiod³o siê: %s"
+
+#: disk-utils/fsck.cramfs.c:459
+#, c-format
+msgid "chown failed: %s"
+msgstr "chown nie powiod³o siê: %s"
+
+#: disk-utils/fsck.cramfs.c:466
+#, c-format
+msgid "utime failed: %s"
+msgstr "utime nie powiod³o siê: %s"
+
+#: disk-utils/fsck.cramfs.c:481
+#, 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:495
+#, c-format
+msgid "mkdir failed: %s"
+msgstr "mkdir nie powiod³o siê: %s"
+
+#: disk-utils/fsck.cramfs.c:512
+msgid "filename length is zero"
+msgstr "zerowa d³ugo¶æ nazwy pliku"
+
+#: disk-utils/fsck.cramfs.c:515
+msgid "bad filename length"
+msgstr "b³êdna d³ugo¶æ nazwy pliku"
+
+#: disk-utils/fsck.cramfs.c:522
+msgid "bad inode offset"
+msgstr "b³êdny offset i-wêz³a"
+
+#: disk-utils/fsck.cramfs.c:538
+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:541
+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:572
+msgid "symbolic link has zero offset"
+msgstr "dowi±zanie symboliczne ma zerowy offset"
+
+#: disk-utils/fsck.cramfs.c:575
+msgid "symbolic link has zero size"
+msgstr "dowi±zanie symboliczne ma zerowy rozmiar"
+
+#: disk-utils/fsck.cramfs.c:587
+#, c-format
+msgid "size error in symlink: %s"
+msgstr "b³±d rozmiaru dowi±zania symbolicznego: %s"
+
+#: disk-utils/fsck.cramfs.c:602
+#, c-format
+msgid "symlink failed: %s"
+msgstr "symlink nie powiod³o siê: %s"
+
+#: disk-utils/fsck.cramfs.c:614
+#, c-format
+msgid "special file has non-zero offset: %s"
+msgstr "plik specjalny ma niezerowy offset: %s"
+
+#: disk-utils/fsck.cramfs.c:626
+#, c-format
+msgid "fifo has non-zero size: %s"
+msgstr "fifo ma niezerowy rozmiar: %s"
+
+#: disk-utils/fsck.cramfs.c:632
+#, c-format
+msgid "socket has non-zero size: %s"
+msgstr "gniazdo ma niezerowy rozmiar: %s"
+
+#: disk-utils/fsck.cramfs.c:637
+#, c-format
+msgid "bogus mode: %s (%o)"
+msgstr "b³êdny tryb: %s (%o)"
+
+#: disk-utils/fsck.cramfs.c:647
+#, c-format
+msgid "mknod failed: %s"
+msgstr "mknod nie powiod³o siê: %s"
+
+#: disk-utils/fsck.cramfs.c:683
+#, 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:686
+#, 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:691
+msgid "invalid file data offset"
+msgstr "niepoprawny offset danych pliku"
+
+#: disk-utils/fsck.cramfs.c:715
+msgid "failed to allocate outbuffer"
+msgstr "nie uda³o siê przydzieliæ bufora wyj¶ciowego"
+
+#: disk-utils/fsck.cramfs.c:728
+msgid "compiled without -x support"
+msgstr "skompilowano bez obs³ugi -x"
+
+#: disk-utils/fsck.minix.c:210
+#, c-format
+msgid "Usage: %s [-larvsmf] /dev/name\n"
+msgstr "U¿ycie: %s [-larvsmf] /dev/name\n"
+
+#: disk-utils/fsck.minix.c:326
+#, c-format
+msgid "%s is mounted.\t "
+msgstr "%s jest zamontowane.\t "
+
+#: disk-utils/fsck.minix.c:328
+msgid "Do you really want to continue"
+msgstr "Czy na pewno chcesz kontynuowaæ"
+
+#: disk-utils/fsck.minix.c:332
+#, c-format
+msgid "check aborted.\n"
+msgstr "sprawdzanie przerwane.\n"
+
+#: disk-utils/fsck.minix.c:351 disk-utils/fsck.minix.c:374
+#, c-format
+msgid "Zone nr < FIRSTZONE in file `%s'."
+msgstr "Strefa nr < FIRSTZONE w pliku `%s'."
+
+#: disk-utils/fsck.minix.c:355 disk-utils/fsck.minix.c:378
+#, c-format
+msgid "Zone nr >= ZONES in file `%s'."
+msgstr "Strefa nr >= ZONES w pliku `%s'."
+
+#: disk-utils/fsck.minix.c:360 disk-utils/fsck.minix.c:383
+msgid "Remove block"
+msgstr "Usun±æ blok"
+
+#: disk-utils/fsck.minix.c:401
+#, 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:407
+#, 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:422
+#, 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:428 disk-utils/mkfs.minix.c:209
+msgid "seek failed in write_block"
+msgstr "przemieszczenie nie powiod³o siê we write_block"
+
+#: disk-utils/fsck.minix.c:431
+#, 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:547
+msgid "seek failed in write_super_block"
+msgstr "przemieszczenie nie powiod³o siê we write_super_block"
+
+#: disk-utils/fsck.minix.c:549 disk-utils/mkfs.minix.c:196
+msgid "unable to write super-block"
+msgstr "nie uda³o siê zapisaæ superbloku"
+
+#: disk-utils/fsck.minix.c:559
+msgid "Unable to write inode map"
+msgstr "Nie mo¿na zapisaæ mapy i-wêz³ów"
+
+#: disk-utils/fsck.minix.c:561
+msgid "Unable to write zone map"
+msgstr "Nie mo¿na zapisaæ mapy stref"
+
+#: disk-utils/fsck.minix.c:563
+msgid "Unable to write inodes"
+msgstr "Nie mo¿na zapisaæ i-wêz³ów"
+
+#: disk-utils/fsck.minix.c:590
+msgid "seek failed"
+msgstr "przemieszczenie nie powiod³o siê"
+
+#: disk-utils/fsck.minix.c:592
+msgid "unable to read super block"
+msgstr "nie mo¿na odczytac superbloku"
+
+#: disk-utils/fsck.minix.c:610
+msgid "bad magic number in super-block"
+msgstr "b³êdna liczba magiczna w superbloku"
+
+#: disk-utils/fsck.minix.c:612
+msgid "Only 1k blocks/zones supported"
+msgstr "Wspierane s± tylko bloki/strefy 1k"
+
+#: disk-utils/fsck.minix.c:614
+msgid "bad s_imap_blocks field in super-block"
+msgstr "b³êdne pole s_imap_blocks w superbloku"
+
+#: disk-utils/fsck.minix.c:616
+msgid "bad s_zmap_blocks field in super-block"
+msgstr "b³êdne pole s_zmap_blocks w superbloku"
+
+#: disk-utils/fsck.minix.c:623
+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:626
+msgid "Unable to allocate buffer for zone map"
+msgstr "Nie mo¿na przydzieliæ bufora dla mapy stref"
+
+#: disk-utils/fsck.minix.c:631
+msgid "Unable to allocate buffer for inodes"
+msgstr "Nie mo¿na przydzieliæ bufora dla i-wêz³ów"
+
+#: disk-utils/fsck.minix.c:634
+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:637
+msgid "Unable to allocate buffer for zone count"
+msgstr "Nie mo¿na przydzieliæ bufora dla licznika stref"
+
+#: disk-utils/fsck.minix.c:639
+msgid "Unable to read inode map"
+msgstr "Nie mo¿na odczytaæ mapy i-wêz³ów"
+
+#: disk-utils/fsck.minix.c:641
+msgid "Unable to read zone map"
+msgstr "Nie mo¿na odczytaæ mapy stref"
+
+#: disk-utils/fsck.minix.c:643
+msgid "Unable to read inodes"
+msgstr "Nie mo¿na odczytaæ i-wêz³ów"
+
+#: disk-utils/fsck.minix.c:645
+#, c-format
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr "Uwaga: Firstzone != Norm_firstzone\n"
+
+#: disk-utils/fsck.minix.c:650 disk-utils/mkfs.minix.c:450
+#, c-format
+msgid "%ld inodes\n"
+msgstr "%ld i-wêz³ów\n"
+
+#: disk-utils/fsck.minix.c:651 disk-utils/mkfs.minix.c:451
+#, c-format
+msgid "%ld blocks\n"
+msgstr "%ld bloków\n"
+
+#: disk-utils/fsck.minix.c:652 disk-utils/mkfs.minix.c:452
+#, c-format
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr "Firstdatazone=%ld (%ld)\n"
+
+#: disk-utils/fsck.minix.c:653 disk-utils/mkfs.minix.c:453
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr "Zonesize=%d\n"
+
+#: disk-utils/fsck.minix.c:654
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr "Maxsize=%ld\n"
+
+#: disk-utils/fsck.minix.c:655
+#, c-format
+msgid "Filesystem state=%d\n"
+msgstr "Stan systemu plików=%d\n"
+
+#: disk-utils/fsck.minix.c:656
+#, c-format
+msgid ""
+"namelen=%d\n"
+"\n"
+msgstr ""
+"namelen=%d\n"
+"\n"
+
+#: disk-utils/fsck.minix.c:671 disk-utils/fsck.minix.c:722
+#, 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:675 disk-utils/fsck.minix.c:726
+msgid "Mark in use"
+msgstr "Znacznik w u¿yciu"
+
+#: disk-utils/fsck.minix.c:697 disk-utils/fsck.minix.c:746
+#, c-format
+msgid "The file `%s' has mode %05o\n"
+msgstr "Plik `%s' ma tryb %05o\n"
+
+#: disk-utils/fsck.minix.c:704 disk-utils/fsck.minix.c:752
+#, 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:764 disk-utils/fsck.minix.c:772
+msgid "root inode isn't a directory"
+msgstr "g³ówny i-wêze³ nie jest katalogiem"
+
+#: disk-utils/fsck.minix.c:786 disk-utils/fsck.minix.c:819
+#, 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:788 disk-utils/fsck.minix.c:821
+#: disk-utils/fsck.minix.c:1144 disk-utils/fsck.minix.c:1153
+#: disk-utils/fsck.minix.c:1199 disk-utils/fsck.minix.c:1208
+msgid "Clear"
+msgstr "Wyczy¶ciæ"
+
+#: disk-utils/fsck.minix.c:798 disk-utils/fsck.minix.c:831
+#, 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:800 disk-utils/fsck.minix.c:833
+msgid "Correct"
+msgstr "Naprawiæ"
+
+#: disk-utils/fsck.minix.c:972 disk-utils/fsck.minix.c:1039
+#, 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:975 disk-utils/fsck.minix.c:1042
+msgid " Remove"
+msgstr " Usun±æ"
+
+#: disk-utils/fsck.minix.c:989 disk-utils/fsck.minix.c:1056
+#, 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:997 disk-utils/fsck.minix.c:1065
+#, 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:1099 disk-utils/fsck.minix.c:1117
+msgid "internal error"
+msgstr "b³±d wewnêtrzny"
+
+#: disk-utils/fsck.minix.c:1102 disk-utils/fsck.minix.c:1120
+#, c-format
+msgid "%s: bad directory: size < 32"
+msgstr "%s: b³êdny katalog: rozmiar < 32"
+
+#: disk-utils/fsck.minix.c:1133
+msgid "seek failed in bad_zone"
+msgstr "przemieszczenie nie powiod³o siê w bad_zone"
+
+#: disk-utils/fsck.minix.c:1143 disk-utils/fsck.minix.c:1198
+#, c-format
+msgid "Inode %d mode not cleared."
+msgstr "Tryb i-wêz³a %d nie wyczyszczony."
+
+#: disk-utils/fsck.minix.c:1152 disk-utils/fsck.minix.c:1207
+#, c-format
+msgid "Inode %d not used, marked used in the bitmap."
+msgstr "I-wêze³ %d jest nieu¿ywany, a zaznaczony jako u¿ywany w mapie bitowej."
+
+#: disk-utils/fsck.minix.c:1158 disk-utils/fsck.minix.c:1213
+#, c-format
+msgid "Inode %d used, marked unused in the bitmap."
+msgstr "I-wêze³ %d jest u¿ywany, a zaznaczony jako nieu¿ywany w mapie bitowej."
+
+#: disk-utils/fsck.minix.c:1160 disk-utils/fsck.minix.c:1214
+msgid "Set"
+msgstr "Ustawiæ"
+
+#: disk-utils/fsck.minix.c:1164 disk-utils/fsck.minix.c:1218
+#, c-format
+msgid "Inode %d (mode = %07o), i_nlinks=%d, counted=%d."
+msgstr "I-wêze³ %d (tryb = %07o), i_nlinks=%d, obliczono=%d."
+
+#: disk-utils/fsck.minix.c:1166 disk-utils/fsck.minix.c:1220
+msgid "Set i_nlinks to count"
+msgstr "Ustawienie i_nlinks na liczbê obliczon±"
+
+#: disk-utils/fsck.minix.c:1178 disk-utils/fsck.minix.c:1232
+#, c-format
+msgid "Zone %d: marked in use, no file uses it."
+msgstr "Strefa %d: zaznaczona jako u¿ywana, a ¿aden plik jej nie u¿ywa."
+
+#: disk-utils/fsck.minix.c:1179 disk-utils/fsck.minix.c:1234
+msgid "Unmark"
+msgstr "Odznaczyæ"
+
+#: disk-utils/fsck.minix.c:1184 disk-utils/fsck.minix.c:1239
+#, c-format
+msgid "Zone %d: in use, counted=%d\n"
+msgstr "Strefa %d: u¿ywana, naliczono=%d\n"
+
+#: disk-utils/fsck.minix.c:1187 disk-utils/fsck.minix.c:1242
+#, c-format
+msgid "Zone %d: not in use, counted=%d\n"
+msgstr "Strefa %d: nie u¿ywana, naliczono=%d\n"
+
+#: disk-utils/fsck.minix.c:1287 disk-utils/mkfs.minix.c:576
+#: disk-utils/mkfs.minix.c:578
+msgid "bad inode size"
+msgstr "b³êdny rozmiar i-wêz³a"
+
+#: disk-utils/fsck.minix.c:1289
+msgid "bad v2 inode size"
+msgstr "b³êdny rozmiar i-wêz³a v2"
+
+#: disk-utils/fsck.minix.c:1315
+msgid "need terminal for interactive repairs"
+msgstr "do interakcyjnej naprawy potrzebny jest terminal"
+
+#: disk-utils/fsck.minix.c:1319
+#, c-format
+msgid "unable to open '%s': %s"
+msgstr "nie mo¿na otworzyæ '%s': %s"
+
+#: disk-utils/fsck.minix.c:1334
+#, c-format
+msgid "%s is clean, no check.\n"
+msgstr "%s jest czysty, bez sprawdzania.\n"
+
+#: disk-utils/fsck.minix.c:1338
+#, c-format
+msgid "Forcing filesystem check on %s.\n"
+msgstr "Wymuszenie sprawdzanie systemu plików na %s.\n"
+
+#: disk-utils/fsck.minix.c:1340
+#, 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:1373
+#, 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:1378
+#, c-format
+msgid "%6ld zones used (%ld%%)\n"
+msgstr "%6ld u¿ywanych stref (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1380
+#, 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:1393
+#, 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 "%s: failed to open: %s\n"
+msgstr "%s: nie uda³o siê otworzyæ: %s\n"
+
+#: disk-utils/isosize.c:135
+#, c-format
+msgid "%s: seek error on %s\n"
+msgstr "%s: b³±d przemieszczania na %s\n"
+
+#: disk-utils/isosize.c:141
+#, c-format
+msgid "%s: read error on %s\n"
+msgstr "%s: b³±d odczytu na %s\n"
+
+#: disk-utils/isosize.c:150
+#, c-format
+msgid "sector count: %d, sector size: %d\n"
+msgstr "liczba sektorów: %d, rozmiar sektora: %d\n"
+
+#: disk-utils/isosize.c:200
+#, c-format
+msgid "%s: option parse error\n"
+msgstr "%s: b³±d sk³adni opcji\n"
+
+#: disk-utils/isosize.c:208
+#, c-format
+msgid "Usage: %s [-x] [-d <num>] iso9660-image\n"
+msgstr "Sk³adnia: %s [-x] [-d <liczba>>] obraz-iso9660\n"
+
+#: disk-utils/mkfs.bfs.c:84
+#, c-format
+msgid ""
+"Usage: %s [-v] [-N nr-of-inodes] [-V volume-name]\n"
+"       [-F fsname] device [block-count]\n"
+msgstr ""
+"Sk³adnia: %s [-v] [-N liczba-i-wêz³ów] [-V nazwa woluminu]\n"
+"          [-F nazwa-systemu-plików] urz±dzenie [liczba-bloków]\n"
+
+#: disk-utils/mkfs.bfs.c:131
+msgid "volume name too long"
+msgstr "nazwa woluminu za d³uga"
+
+#: disk-utils/mkfs.bfs.c:138
+msgid "fsname name too long"
+msgstr "nazwa systemu plików za d³uga"
+
+#: disk-utils/mkfs.bfs.c:163
+#, c-format
+msgid "cannot stat device %s"
+msgstr "nie mo¿na wykonaæ stat na urz±dzeniu %s"
+
+#: disk-utils/mkfs.bfs.c:167
+#, c-format
+msgid "%s is not a block special device"
+msgstr "%s nie jest specjalnym urz±dzeniem blokowym"
+
+#: disk-utils/mkfs.bfs.c:172 sys-utils/ldattach.c:205
+#, c-format
+msgid "cannot open %s"
+msgstr "nie mo¿na otworzyæ %s"
+
+#: disk-utils/mkfs.bfs.c:183
+#, c-format
+msgid "cannot get size of %s"
+msgstr "nie mo¿na pobraæ rozmiaru %s"
+
+#: disk-utils/mkfs.bfs.c:188
+#, 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:203
+msgid "too many inodes - max is 512"
+msgstr "za du¿o i-wêz³ów - maksimum to 512"
+
+#: disk-utils/mkfs.bfs.c:212
+#, 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:224 fdisk/fdisk.c:2345
+#, c-format
+msgid "Device: %s\n"
+msgstr "Urz±dzenie: %s\n"
+
+#: disk-utils/mkfs.bfs.c:225
+#, c-format
+msgid "Volume: <%-6s>\n"
+msgstr "Wolumin: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:226
+#, c-format
+msgid "FSname: <%-6s>\n"
+msgstr "NazwaFS: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:227
+#, c-format
+msgid "BlockSize: %d\n"
+msgstr "RozmiarBloku: %d\n"
+
+#: disk-utils/mkfs.bfs.c:229
+#, c-format
+msgid "Inodes: %d (in 1 block)\n"
+msgstr "I-wêz³ów: %d (w 1 bloku)\n"
+
+#: disk-utils/mkfs.bfs.c:232
+#, c-format
+msgid "Inodes: %d (in %lld blocks)\n"
+msgstr "I-wêz³ów: %d (w %lld blokach)\n"
+
+#: disk-utils/mkfs.bfs.c:234
+#, c-format
+msgid "Blocks: %lld\n"
+msgstr "Bloków: %lld\n"
+
+#: disk-utils/mkfs.bfs.c:235
+#, 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:240
+msgid "error writing superblock"
+msgstr "b³±d zapisu superbloku"
+
+#: disk-utils/mkfs.bfs.c:260
+msgid "error writing root inode"
+msgstr "b³±d zapisu g³ównego i-wêz³a"
+
+#: disk-utils/mkfs.bfs.c:265
+msgid "error writing inode"
+msgstr "b³±d zapisu i-wêz³a"
+
+#: disk-utils/mkfs.bfs.c:268
+msgid "seek error"
+msgstr "b³±d przemieszczania"
+
+#: disk-utils/mkfs.bfs.c:274
+msgid "error writing . entry"
+msgstr "b³±d zapisu wpisu '.'"
+
+#: disk-utils/mkfs.bfs.c:278
+msgid "error writing .. entry"
+msgstr "b³±d zapisu wpisu '..'"
+
+#: disk-utils/mkfs.bfs.c:282
+#, c-format
+msgid "error closing %s"
+msgstr "b³±d zamykania %s"
+
+#: disk-utils/mkfs.c:73
+#, c-format
+msgid "Usage: mkfs [-V] [-t fstype] [fs-options] device [size]\n"
+msgstr "Sk³adnia: mkfs [-V] [-t typfs] [opcje-fs] urz±dzenie [rozmiar]\n"
+
+#: disk-utils/mkfs.c:88 disk-utils/mkfs.c:96 fdisk/cfdisk.c:351
+#: getopt/getopt.c:86 getopt/getopt.c:96 login-utils/wall.c:246
+#, c-format
+msgid "%s: Out of memory!\n"
+msgstr "%s: Zabrak³o pamiêci!\n"
+
+#: disk-utils/mkfs.c:103
+#, c-format
+msgid "mkfs (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: disk-utils/mkfs.cramfs.c:126
+#, 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:340
+#, c-format
+msgid ""
+"Very long (%zu bytes) filename `%s' found.\n"
+" Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile.  Exiting.\n"
+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.\n"
+
+#: disk-utils/mkfs.cramfs.c:472
+#, c-format
+msgid "filesystem too big.  Exiting.\n"
+msgstr "system plików za du¿y. Zakoñczenie.\n"
+
+#: disk-utils/mkfs.cramfs.c:637
+#, 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:656
+#, c-format
+msgid "%6.2f%% (%+ld bytes)\t%s\n"
+msgstr "%6.2f%% (%+ld bajtów)\t%s\n"
+
+#: disk-utils/mkfs.cramfs.c:854
+#, c-format
+msgid ""
+"warning: guestimate of required size (upper bound) is %lldMB, but maximum "
+"image size is %uMB.  We might die prematurely.\n"
+msgstr ""
+"uwaga: szacowany wymagany rozmiar (górna granica) to %lldMB, ale maksymalny "
+"rozmiar obrazu to %uMB. Program mo¿e zgin±æ przedwcze¶nie.\n"
+
+#: disk-utils/mkfs.cramfs.c:881
+msgid "ROM image map"
+msgstr "Mapa obrazu ROM"
+
+#: disk-utils/mkfs.cramfs.c:895
+#, c-format
+msgid "Including: %s\n"
+msgstr "Do³±czanie: %s\n"
+
+#: disk-utils/mkfs.cramfs.c:901
+#, c-format
+msgid "Directory data: %zd bytes\n"
+msgstr "Dane katalogu: %zd bajtów\n"
+
+#: disk-utils/mkfs.cramfs.c:909
+#, c-format
+msgid "Everything: %zd kilobytes\n"
+msgstr "£±cznie: %zd kilobajtów\n"
+
+#: disk-utils/mkfs.cramfs.c:914
+#, c-format
+msgid "Super block: %zd bytes\n"
+msgstr "Superblock: %zd bajtów\n"
+
+#: disk-utils/mkfs.cramfs.c:921
+#, c-format
+msgid "CRC: %x\n"
+msgstr "CRC: %x\n"
+
+#: disk-utils/mkfs.cramfs.c:926
+#, c-format
+msgid "not enough space allocated for ROM image (%lld allocated, %zu used)\n"
+msgstr ""
+"przydzielono za ma³o miejsca na obraz ROM (przydzielono %lld, u¿yto %zu)\n"
+
+#: disk-utils/mkfs.cramfs.c:934
+msgid "ROM image"
+msgstr "obraz ROM"
+
+#: disk-utils/mkfs.cramfs.c:938
+#, c-format
+msgid "ROM image write failed (%zd %zd)\n"
+msgstr "b³±d zapisu obrazu ROM (%zd %zd)\n"
+
+#: disk-utils/mkfs.cramfs.c:947
+#, c-format
+msgid "warning: filenames truncated to 255 bytes.\n"
+msgstr "uwaga: nazwy plików skrócone do 255 bajtów.\n"
+
+#: disk-utils/mkfs.cramfs.c:950
+#, c-format
+msgid "warning: files were skipped due to errors.\n"
+msgstr "uwaga: pominiêto pliki z powodu b³êdów.\n"
+
+#: disk-utils/mkfs.cramfs.c:953
+#, c-format
+msgid "warning: file sizes truncated to %luMB (minus 1 byte).\n"
+msgstr "uwaga: zmniejszono rozmiary plików do %luMB (minus 1 bajt).\n"
+
+#: disk-utils/mkfs.cramfs.c:958
+#, c-format
+msgid ""
+"warning: uids truncated to %u bits.  (This may be a security concern.)\n"
+msgstr ""
+"uwaga: uidy skrócone do %u bitów (mo¿e to rzutowaæ na bezpieczeñstwo).\n"
+
+#: disk-utils/mkfs.cramfs.c:963
+#, c-format
+msgid ""
+"warning: gids truncated to %u bits.  (This may be a security concern.)\n"
+msgstr ""
+"uwaga: gidy skrócone do %u bitów (mo¿e to rzutowaæ na bezpieczeñstwo).\n"
+
+#: disk-utils/mkfs.cramfs.c:968
+#, c-format
+msgid ""
+"WARNING: device numbers truncated to %u bits.  This almost certainly means\n"
+"that some device files will be wrong.\n"
+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.\n"
+
+#: disk-utils/mkfs.minix.c:156
+#, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]\n"
+msgstr "Sk³adnia: %s [-c | -l plik] [-nXX] [-iXX] /dev/nazwa [bloki]\n"
+
+#: disk-utils/mkfs.minix.c:180
+#, c-format
+msgid "%s is mounted; will not make a filesystem here!"
+msgstr "%s jest podmontowany; odmowa utworzenia tam systemu plików!"
+
+#: disk-utils/mkfs.minix.c:190
+msgid "seek to boot block failed in write_tables"
+msgstr "przemieszczenie na blok rozruchowy nie powiod³o siê we write_tables"
+
+#: disk-utils/mkfs.minix.c:192
+msgid "unable to clear boot sector"
+msgstr "nie uda³o siê wyczy¶ciæ sektora rozruchowego"
+
+#: disk-utils/mkfs.minix.c:194
+msgid "seek failed in write_tables"
+msgstr "przemieszczenie nie powiod³o siê we write_tables"
+
+#: disk-utils/mkfs.minix.c:198
+msgid "unable to write inode map"
+msgstr "nie uda³o siê zapisaæ mapy i-wêz³ów"
+
+#: disk-utils/mkfs.minix.c:200
+msgid "unable to write zone map"
+msgstr "nie uda³o siê zapisaæ mapy stref"
+
+#: disk-utils/mkfs.minix.c:202
+msgid "unable to write inodes"
+msgstr "nie uda³o siê zapisaæ i-wêz³ów"
+
+#: disk-utils/mkfs.minix.c:211
+msgid "write failed in write_block"
+msgstr "zapis nie powiód³ siê we write_block"
+
+#: disk-utils/mkfs.minix.c:219 disk-utils/mkfs.minix.c:293
+#: disk-utils/mkfs.minix.c:342
+msgid "too many bad blocks"
+msgstr "za du¿o wadliwych bloków"
+
+#: disk-utils/mkfs.minix.c:227
+msgid "not enough good blocks"
+msgstr "za ma³o dobrych bloków"
+
+#: disk-utils/mkfs.minix.c:439
+msgid "unable to allocate buffers for maps"
+msgstr "nie uda³o siê przydzieliæ buforów dla map"
+
+#: disk-utils/mkfs.minix.c:448
+msgid "unable to allocate buffer for inodes"
+msgstr "nie uda³o siê przydzieliæ bufora dla i-wêz³ów"
+
+#: disk-utils/mkfs.minix.c:454
+#, c-format
+msgid ""
+"Maxsize=%ld\n"
+"\n"
+msgstr ""
+"Maxsize=%ld\n"
+"\n"
+
+#: disk-utils/mkfs.minix.c:468
+msgid "seek failed during testing of blocks"
+msgstr "przemieszczenie nie powiod³o siê podczas sprawdzania bloków"
+
+#: disk-utils/mkfs.minix.c:476
+#, 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:507 disk-utils/mkswap.c:313
+msgid "seek failed in check_blocks"
+msgstr "przemieszczenie nie powiod³o siê w check_blocks"
+
+#: disk-utils/mkfs.minix.c:516
+msgid "bad blocks before data-area: cannot make fs"
+msgstr "wadliwe bloki przed obszarem danych: nie mo¿na utworzyæ systemu plików"
+
+#: disk-utils/mkfs.minix.c:522 disk-utils/mkfs.minix.c:547
+#, c-format
+msgid "%d bad blocks\n"
+msgstr "%d wadliwych bloków\n"
+
+#: disk-utils/mkfs.minix.c:524 disk-utils/mkfs.minix.c:549
+#, c-format
+msgid "one bad block\n"
+msgstr "jeden wadliwy blok\n"
+
+#: disk-utils/mkfs.minix.c:534
+msgid "can't open file of bad blocks"
+msgstr "nie mo¿na otworzyæ pliku z wadliwymi blokami"
+
+#: disk-utils/mkfs.minix.c:538
+#, 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:539
+msgid "cannot read badblocks file"
+msgstr "nie mo¿na odczytaæ pliku wadliwych bloków"
+
+#: disk-utils/mkfs.minix.c:619
+#, c-format
+msgid "strtol error: number of blocks not specified"
+msgstr "b³±d strtol: nie podano liczby bloków"
+
+#: disk-utils/mkfs.minix.c:638
+#, c-format
+msgid "unable to stat %s"
+msgstr "nie mo¿na wykonaæ stat na %s"
+
+#: disk-utils/mkfs.minix.c:644
+#, c-format
+msgid "unable to open %s"
+msgstr "nie mo¿na otworzyæ %s"
+
+#: disk-utils/mkfs.minix.c:649
+#, c-format
+msgid "cannot determine sector size for %s"
+msgstr "nie mo¿na okre¶liæ rozmiaru sektora dla %s"
+
+#: disk-utils/mkfs.minix.c:651
+#, 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:654
+#, c-format
+msgid "cannot determine size of %s"
+msgstr "nie mo¿na okre¶liæ rozmiaru %s"
+
+#: disk-utils/mkfs.minix.c:662
+#, c-format
+msgid "will not try to make filesystem on '%s'"
+msgstr "odmowa utworzenia systemu plików na '%s'"
+
+#: disk-utils/mkfs.minix.c:664
+msgid "number of blocks too small"
+msgstr "liczba bloków zbyt ma³a"
+
+#: disk-utils/mkswap.c:155
+#, c-format
+msgid "Bad user-specified page size %d\n"
+msgstr "B³êdny podany przez u¿ytkownika rozmiar strony %d\n"
+
+#: disk-utils/mkswap.c:163
+#, c-format
+msgid "Using user-specified page size %d, instead of the system value %d\n"
+msgstr ""
+"U¿ycie podanego przez u¿ytkownika rozmiaru strony %d zamiast systemowego %d\n"
+
+#: disk-utils/mkswap.c:192
+#, c-format
+msgid "Bad swap header size, no label written.\n"
+msgstr "B³êdny rozmiar nag³ówka obszaru wymiany, nie zapisano etykiety.\n"
+
+#: disk-utils/mkswap.c:202
+#, c-format
+msgid "Label was truncated.\n"
+msgstr "Etykieta zosta³a skrócona.\n"
+
+#: disk-utils/mkswap.c:208
+#, c-format
+msgid "no label, "
+msgstr "brak etykiety, "
+
+#: disk-utils/mkswap.c:216
+#, c-format
+msgid "no uuid\n"
+msgstr "brak uuida\n"
+
+#: disk-utils/mkswap.c:281
+#, c-format
+msgid "Usage: %s [-c] [-pPAGESZ] [-L label] [-U UUID] /dev/name [blocks]\n"
+msgstr ""
+"Sk³adnia: %s [-c] [-pROZMSTRONY] [-L etykieta] [-U UUID] /dev/nazwa [bloki]\n"
+
+#: disk-utils/mkswap.c:295
+msgid "too many bad pages"
+msgstr "za du¿o wadliwych stron"
+
+#: disk-utils/mkswap.c:308 misc-utils/look.c:182 misc-utils/setterm.c:1183
+#: text-utils/more.c:1982 text-utils/more.c:1993
+msgid "Out of memory"
+msgstr "Brak pamiêci"
+
+#: disk-utils/mkswap.c:319
+#, c-format
+msgid "one bad page\n"
+msgstr "jedna wadliwa strona\n"
+
+#: disk-utils/mkswap.c:321
+#, c-format
+msgid "%lu bad pages\n"
+msgstr "%lu wadliwych stron\n"
+
+#: disk-utils/mkswap.c:399 disk-utils/mkswap.c:415 disk-utils/mkswap.c:633
+msgid "unable to rewind swap-device"
+msgstr "nie uda³o siê przewin±æ urz±dzenia swapa"
+
+#: disk-utils/mkswap.c:419
+msgid "unable to erase bootbits sectors"
+msgstr "nie uda³o siê usun±æ sektorów rozruchowych"
+
+#: disk-utils/mkswap.c:423
+#, c-format
+msgid "%s: %s: warning: don't erase bootbits sectors\n"
+msgstr "%s: %s: uwaga: nie usuniêto sektorów rozruchowych\n"
+
+#: disk-utils/mkswap.c:426
+#, c-format
+msgid "        (%s partition table detected). "
+msgstr "        (wykryto tablicê partycji %s). "
+
+#: disk-utils/mkswap.c:428
+#, c-format
+msgid "        on whole disk. "
+msgstr "        na ca³ym dysku. "
+
+#: disk-utils/mkswap.c:498
+#, c-format
+msgid "%1$s: warning: ignore -U (UUIDs are unsupported by %1$s)\n"
+msgstr "%1$s: uwaga: zignorowano -U (UUID-y nie s± obs³ugiwane przez %1$s)\n"
+
+#: disk-utils/mkswap.c:514
+#, c-format
+msgid "%s: does not support swapspace version %d.\n"
+msgstr "%s: brak obs³ugi obszaru wymiany w wersji %d.\n"
+
+#: disk-utils/mkswap.c:522
+msgid "error: UUID parsing failed"
+msgstr "b³±d: analiza UUID-a nie powiod³a siê"
+
+#: disk-utils/mkswap.c:533
+#, c-format
+msgid "%s: error: Nowhere to set up swap on?\n"
+msgstr "%s: b³±d: Nie ma gdzie utworzyæ obszaru wymiany?\n"
+
+#: disk-utils/mkswap.c:551
+#, c-format
+msgid "%s: error: size %llu KiB is larger than device size %llu KiB\n"
+msgstr ""
+"%s: b³±d: rozmiar %llu KiB jest wiêkszy ni¿ rozmiar urz±dzenia %llu KiB\n"
+
+#: disk-utils/mkswap.c:560
+#, c-format
+msgid "%s: error: swap area needs to be at least %ld KiB\n"
+msgstr "%s: b³±d: obszar wymiany musi mieæ przynajmniej %ld KiB\n"
+
+#: disk-utils/mkswap.c:577
+#, c-format
+msgid "%s: warning: truncating swap area to %llu KiB\n"
+msgstr "%s: uwaga: zmniejszono rozmiar wymiany do %llu KiB\n"
+
+#: disk-utils/mkswap.c:600
+#, c-format
+msgid "%s: error: will not try to make swapdevice on '%s'\n"
+msgstr "%s: b³±d: odmowa utworzenia obszaru wymiany na '%s'\n"
+
+#: disk-utils/mkswap.c:606
+#, c-format
+msgid "%s: error: %s is mounted; will not make swapspace.\n"
+msgstr "%s: b³±d: %s jest podmontowany; odmowa utworzenia obszaru wymiany.\n"
+
+#: disk-utils/mkswap.c:622
+msgid "Unable to set up swap-space: unreadable"
+msgstr "Nie uda³o siê utworzyæ obszaru wymiany: nieczytelny"
+
+#: disk-utils/mkswap.c:625
+#, 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:636
+#, c-format
+msgid "%s: %s: unable to write signature page: %s"
+msgstr "%s: %s: nie uda³o siê zapisaæ strony sygnatury: %s"
+
+#: disk-utils/mkswap.c:647
+msgid "fsync failed"
+msgstr "fsync nie powiód³ siê"
+
+#: disk-utils/mkswap.c:658
+#, c-format
+msgid "%s: %s: unable to obtain selinux file label: %s\n"
+msgstr "%s: %s: nie uda³o siê uzyskaæ etykiety pliku SELinuksa: %s\n"
+
+#: disk-utils/mkswap.c:664
+msgid "unable to matchpathcon()"
+msgstr "matchpathcon() nie powiod³o siê"
+
+#: disk-utils/mkswap.c:667
+msgid "unable to create new selinux context"
+msgstr "nie uda³o siê utworzyc nowego kontekstu SELinuksa"
+
+#: disk-utils/mkswap.c:669
+msgid "couldn't compute selinux context"
+msgstr "nie uda³o siê wyliczyæ kontekstu SELinuksa"
+
+#: disk-utils/mkswap.c:675
+#, c-format
+msgid "%s: unable to relabel %s to %s: %s\n"
+msgstr "%s: nie uda³o siê przeetykietowaæ %s na %s: %s\n"
+
+#: disk-utils/raw.c:50
+#, c-format
+msgid ""
+"Usage:\n"
+"  %s "
+msgstr ""
+"Sk³adnia:\n"
+"  %s "
+
+#: disk-utils/raw.c:125
+#, c-format
+msgid ""
+"Device '%s' is control raw dev (use raw<N> where <N> is greater than zero)\n"
+msgstr ""
+"Urz±dzenie '%s' jest steruj±cym urz±dzeniem surowym (nale¿y u¿yæ raw<N>, "
+"gdzie <N> jest wiêksze od zera)\n"
+
+#: disk-utils/raw.c:145
+#, c-format
+msgid "Cannot locate block device '%s' (%s)\n"
+msgstr "Nie mo¿na zlokalizowaæ urz±dzenia blokowego '%s' (%s)\n"
+
+#: disk-utils/raw.c:151
+#, c-format
+msgid "Device '%s' is not a block dev\n"
+msgstr "Urz±dzenie '%s' nie jest urz±dzeniem blokowym\n"
+
+#: disk-utils/raw.c:186
+#, c-format
+msgid "Cannot open master raw device '"
+msgstr "Nie mo¿na utworzyæ g³ównego urz±dzenia surowego '"
+
+#: disk-utils/raw.c:205
+#, c-format
+msgid "Cannot locate raw device '%s' (%s)\n"
+msgstr "Nie mo¿na zlokalizowaæ urz±dzenia surowego '%s' (%s)\n"
+
+#: disk-utils/raw.c:211
+#, c-format
+msgid "Raw device '%s' is not a character dev\n"
+msgstr "Urz±dzenie surowe '%s' nie jest urz±dzeniem znakowym\n"
+
+#: disk-utils/raw.c:216
+#, c-format
+msgid "Device '%s' is not a raw dev\n"
+msgstr "Urz±dzenie '%s' nie jest urz±dzeniem surowym\n"
+
+#: disk-utils/raw.c:231
+#, c-format
+msgid "Error querying raw device (%s)\n"
+msgstr "B³±d odpytywania urz±dzenia surowego (%s)\n"
+
+#: disk-utils/raw.c:241 disk-utils/raw.c:261
+#, c-format
+msgid "raw%d:\tbound to major %d, minor %d\n"
+msgstr "raw%d:\tprzypisano do urz±dzenia major %d, minor %d\n"
+
+#: disk-utils/raw.c:257
+#, c-format
+msgid "Error setting raw device (%s)\n"
+msgstr "B³±d ustawiania urz±dzenia surowego (%s)\n"
+
+#: fdisk/cfdisk.c:376 fdisk/cfdisk.c:2080
+msgid "Unusable"
+msgstr "Bezu¿yteczne"
+
+#: fdisk/cfdisk.c:378 fdisk/cfdisk.c:2082
+msgid "Free Space"
+msgstr "Wolne miejsce"
+
+#: fdisk/cfdisk.c:381
+msgid "Linux ext2"
+msgstr "Linux ext2"
+
+#: fdisk/cfdisk.c:383
+msgid "Linux ext3"
+msgstr "Linux ext3"
+
+#: fdisk/cfdisk.c:385
+msgid "Linux XFS"
+msgstr "Linux XFS"
+
+#: fdisk/cfdisk.c:387
+msgid "Linux JFS"
+msgstr "Linux JFS"
+
+#: fdisk/cfdisk.c:389
+msgid "Linux ReiserFS"
+msgstr "Linux ReiserFS"
+
+#: fdisk/cfdisk.c:391 fdisk/i386_sys_types.c:57
+msgid "Linux"
+msgstr "Linux"
+
+#: fdisk/cfdisk.c:394
+msgid "OS/2 HPFS"
+msgstr "OS/2 HPFS"
+
+#: fdisk/cfdisk.c:396
+msgid "OS/2 IFS"
+msgstr "OS/2 IFS"
+
+#: fdisk/cfdisk.c:400
+msgid "NTFS"
+msgstr "NTFS"
+
+#: fdisk/cfdisk.c:411
+#, c-format
+msgid "Disk has been changed.\n"
+msgstr "Dysk zosta³ zmieniony.\n"
+
+#: fdisk/cfdisk.c:413
+#, 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"
+
+#: fdisk/cfdisk.c:417
+#, 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 manualu do cfdiska.\n"
+
+#: fdisk/cfdisk.c:512
+msgid "FATAL ERROR"
+msgstr "B£¡D KRYTYCZNY"
+
+#: fdisk/cfdisk.c:513
+msgid "Press any key to exit cfdisk"
+msgstr "Proszê nacisn±æ dowolny klawisz, aby zakoñczyæ cfdisk"
+
+#: fdisk/cfdisk.c:560 fdisk/cfdisk.c:568
+msgid "Cannot seek on disk drive"
+msgstr "Nie uda³o przemie¶ciæ siê po dysku"
+
+#: fdisk/cfdisk.c:562
+msgid "Cannot read disk drive"
+msgstr "Nie uda³o siê odczytaæ dysku"
+
+#: fdisk/cfdisk.c:570
+msgid "Cannot write disk drive"
+msgstr "Nie uda³o siê zapisaæ dysku"
+
+#: fdisk/cfdisk.c:913
+msgid "Too many partitions"
+msgstr "Zbyt du¿o partycji"
+
+#: fdisk/cfdisk.c:918
+msgid "Partition begins before sector 0"
+msgstr "Partycja zaczyna siê przed sektorem 0"
+
+#: fdisk/cfdisk.c:923
+msgid "Partition ends before sector 0"
+msgstr "Partycja koñczy siê przed sektorem 0"
+
+#: fdisk/cfdisk.c:928
+msgid "Partition begins after end-of-disk"
+msgstr "Partycja zaczyna siê za koñcem dysku"
+
+#: fdisk/cfdisk.c:933
+msgid "Partition ends after end-of-disk"
+msgstr "Partycja koñczy siê za koñcem dysku"
+
+#: fdisk/cfdisk.c:938
+msgid "Partition ends in the final partial cylinder"
+msgstr "Partycja koñczy siê na ostatnim, czê¶ciowym cylindrze"
+
+#: fdisk/cfdisk.c:962
+msgid "logical partitions not in disk order"
+msgstr "Partycje logiczne nie s± w kolejno¶ci na dysku"
+
+#: fdisk/cfdisk.c:965
+msgid "logical partitions overlap"
+msgstr "Partycje logiczne zachodz± na siebie"
+
+#: fdisk/cfdisk.c:969
+msgid "enlarged logical partitions overlap"
+msgstr "Powiêkszone partycje logiczne zachodz± na siebie"
+
+#: fdisk/cfdisk.c:999
+msgid ""
+"!!!! Internal error creating logical drive with no extended partition !!!!"
+msgstr ""
+"!!!! B³±d wewnêtrzny przy tworzeniu partycji logicznej bez rozszerzonej !!!!"
+
+#: fdisk/cfdisk.c:1010 fdisk/cfdisk.c:1022
+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"
+
+#: fdisk/cfdisk.c:1164
+msgid "Menu item too long. Menu may look odd."
+msgstr "Za d³uga pozycja w menu, mo¿e wygl±daæ dziwnie."
+
+#: fdisk/cfdisk.c:1220
+msgid "Menu without direction. Defaulting to horizontal."
+msgstr "Menu bez kierunku, przyjêcie domy¶lnego poziomego."
+
+#: fdisk/cfdisk.c:1351
+msgid "Illegal key"
+msgstr "Niedozwolony klawisz"
+
+#: fdisk/cfdisk.c:1374
+msgid "Press a key to continue"
+msgstr "Proszê nacisn±æ klawisz, aby kontynuowaæ"
+
+#: fdisk/cfdisk.c:1421 fdisk/cfdisk.c:2051 fdisk/cfdisk.c:2583
+#: fdisk/cfdisk.c:2585
+msgid "Primary"
+msgstr "G³ówna"
+
+#: fdisk/cfdisk.c:1421
+msgid "Create a new primary partition"
+msgstr "Utworzenie nowe partycji g³ównej"
+
+#: fdisk/cfdisk.c:1422 fdisk/cfdisk.c:2051 fdisk/cfdisk.c:2582
+#: fdisk/cfdisk.c:2585
+msgid "Logical"
+msgstr "Logiczna"
+
+#: fdisk/cfdisk.c:1422
+msgid "Create a new logical partition"
+msgstr "Utworzenie nowej partycji logicznej"
+
+#: fdisk/cfdisk.c:1423 fdisk/cfdisk.c:1478 fdisk/cfdisk.c:2256
+msgid "Cancel"
+msgstr "Anuluj"
+
+#: fdisk/cfdisk.c:1423 fdisk/cfdisk.c:1478
+msgid "Don't create a partition"
+msgstr "Bez tworzenia partycji"
+
+#: fdisk/cfdisk.c:1439
+msgid "!!! Internal error !!!"
+msgstr "!!! B³±d wewnêtrzny !!!"
+
+#: fdisk/cfdisk.c:1442
+msgid "Size (in MB): "
+msgstr "Rozmiar (w MB): "
+
+#: fdisk/cfdisk.c:1476
+msgid "Beginning"
+msgstr "Pocz±tek"
+
+#: fdisk/cfdisk.c:1476
+msgid "Add partition at beginning of free space"
+msgstr "Dodanie partycji na pocz±tku wolnego miejsca"
+
+#: fdisk/cfdisk.c:1477
+msgid "End"
+msgstr "Koniec"
+
+#: fdisk/cfdisk.c:1477
+msgid "Add partition at end of free space"
+msgstr "Dodanie partycji na koñcu wolnego miejsca"
+
+#: fdisk/cfdisk.c:1495
+msgid "No room to create the extended partition"
+msgstr "Brak miejsca na utworzenie partycji rozszerzonej"
+
+#: fdisk/cfdisk.c:1569
+msgid "No partition table.\n"
+msgstr "Brak tablicy partycji.\n"
+
+#: fdisk/cfdisk.c:1573
+msgid "No partition table. Starting with zero table."
+msgstr "Brak tablicy partycji. Rozpoczêcie od pustej tablicy."
+
+#: fdisk/cfdisk.c:1583
+msgid "Bad signature on partition table"
+msgstr "B³êdna sygnatura tablicy partycji"
+
+#: fdisk/cfdisk.c:1587
+msgid "Unknown partition table type"
+msgstr "Nieznany typ tablicy partycji"
+
+#: fdisk/cfdisk.c:1589
+msgid "Do you wish to start with a zero table [y/N] ?"
+msgstr "Czy zacz±æ od pustej tablicy [t/N] ?"
+
+#: fdisk/cfdisk.c:1637
+msgid "You specified more cylinders than fit on disk"
+msgstr "Podano wiêcej cylindrów ni¿ mie¶ci siê na dysku"
+
+#: fdisk/cfdisk.c:1669
+msgid "Cannot open disk drive"
+msgstr "Nie mo¿na otworzyæ urz±dzenia dysku"
+
+#: fdisk/cfdisk.c:1671 fdisk/cfdisk.c:1860
+msgid "Opened disk read-only - you have no permission to write"
+msgstr "Otwarto dysk w trybie tylko do odczytu - brak prawa zapisu"
+
+#: fdisk/cfdisk.c:1682
+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."
+
+#: fdisk/cfdisk.c:1701
+msgid "Cannot get disk size"
+msgstr "Nie mo¿na pobraæ rozmiaru dysku"
+
+#: fdisk/cfdisk.c:1727
+msgid "Bad primary partition"
+msgstr "B³êdna partycja g³ówna"
+
+#: fdisk/cfdisk.c:1757
+msgid "Bad logical partition"
+msgstr "B³êdna partycja logiczna"
+
+#: fdisk/cfdisk.c:1872
+msgid "Warning!!  This may destroy data on your disk!"
+msgstr "Uwaga! To mo¿e zniszczyæ dane na dysku!"
+
+#: fdisk/cfdisk.c:1876
+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): "
+
+#: fdisk/cfdisk.c:1882
+msgid "no"
+msgstr "nie"
+
+#: fdisk/cfdisk.c:1884
+msgid "Did not write partition table to disk"
+msgstr "Nie zapisano tablicy partycji"
+
+#: fdisk/cfdisk.c:1886
+msgid "yes"
+msgstr "tak"
+
+#: fdisk/cfdisk.c:1890
+msgid "Please enter `yes' or `no'"
+msgstr "Proszê wpisaæ \"tak\" lub \"nie\""
+
+#: fdisk/cfdisk.c:1894
+msgid "Writing partition table to disk..."
+msgstr "Zapisywanie tablicy partycji na dysku..."
+
+#: fdisk/cfdisk.c:1921 fdisk/cfdisk.c:1925
+msgid "Wrote partition table to disk"
+msgstr "Zapisano tablicê partycji"
+
+#: fdisk/cfdisk.c:1923
+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ê."
+
+#: fdisk/cfdisk.c:1933
+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."
+
+#: fdisk/cfdisk.c:1935
+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."
+
+#: fdisk/cfdisk.c:1993 fdisk/cfdisk.c:2112 fdisk/cfdisk.c:2196
+msgid "Enter filename or press RETURN to display on screen: "
+msgstr ""
+"Proszê wprowadziæ nazwê pliku lub wcisn±æ RETURN, aby wy¶wietliæ na ekranie: "
+
+#: fdisk/cfdisk.c:2002 fdisk/cfdisk.c:2120 fdisk/cfdisk.c:2204
+#, c-format
+msgid "Cannot open file '%s'"
+msgstr "Nie mo¿na otworzyæ pliku '%s'"
+
+#: fdisk/cfdisk.c:2013
+#, c-format
+msgid "Disk Drive: %s\n"
+msgstr "Urz±dzenie dysku: %s\n"
+
+#: fdisk/cfdisk.c:2015
+msgid "Sector 0:\n"
+msgstr "Sektor 0:\n"
+
+#: fdisk/cfdisk.c:2022
+#, c-format
+msgid "Sector %d:\n"
+msgstr "Sektor %d:\n"
+
+#: fdisk/cfdisk.c:2042
+msgid "   None   "
+msgstr "   Brak    "
+
+#: fdisk/cfdisk.c:2044
+msgid "   Pri/Log"
+msgstr "   G³./Log."
+
+#: fdisk/cfdisk.c:2046
+msgid "   Primary"
+msgstr "   G³ówna  "
+
+#: fdisk/cfdisk.c:2048
+msgid "   Logical"
+msgstr "   Logiczna"
+
+#: fdisk/cfdisk.c:2086 fdisk/fdisk.c:1534 fdisk/fdisk.c:1855
+#: fdisk/fdisksgilabel.c:240 fdisk/fdisksunlabel.c:621 fdisk/sfdisk.c:653
+msgid "Unknown"
+msgstr "Nieznany"
+
+#: fdisk/cfdisk.c:2092 fdisk/cfdisk.c:2560 fdisk/fdisksunlabel.c:44
+msgid "Boot"
+msgstr "Rozruch"
+
+#: fdisk/cfdisk.c:2094
+#, c-format
+msgid "(%02X)"
+msgstr "(%02X)"
+
+#: fdisk/cfdisk.c:2096
+msgid "None"
+msgstr "Brak"
+
+#: fdisk/cfdisk.c:2131 fdisk/cfdisk.c:2215
+#, c-format
+msgid "Partition Table for %s\n"
+msgstr "Tablica partycji dla %s\n"
+
+#: fdisk/cfdisk.c:2133
+msgid "               First       Last\n"
+msgstr "              Pierwszy    Ostatni\n"
+
+#: fdisk/cfdisk.c:2134
+msgid ""
+" # Type       Sector      Sector   Offset    Length   Filesystem Type (ID) "
+"Flag\n"
+msgstr ""
+" # Typ        sektor      sektor    Offset   D³ugo¶æ    ID systemu plików   "
+"Flaga\n"
+
+#: fdisk/cfdisk.c:2135
+msgid ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+msgstr ""
+"-- -------- ----------- ----------- ------ ----------- -------------------- "
+"------\n"
+
+#: fdisk/cfdisk.c:2218
+msgid "         ---Starting----      ----Ending-----    Start     Number of\n"
+msgstr "         --Pocz±tkowe---      ----Koñcowe----   Pierwszy   Liczba\n"
+
+#: fdisk/cfdisk.c:2219
+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"
+
+#: fdisk/cfdisk.c:2220
+msgid "-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+msgstr ""
+"-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+
+#: fdisk/cfdisk.c:2253
+msgid "Raw"
+msgstr "Surowy"
+
+#: fdisk/cfdisk.c:2253
+msgid "Print the table using raw data format"
+msgstr "Wypisanie tablicy w surowym formacie danych"
+
+#: fdisk/cfdisk.c:2254 fdisk/cfdisk.c:2357
+msgid "Sectors"
+msgstr "Sektory"
+
+#: fdisk/cfdisk.c:2254
+msgid "Print the table ordered by sectors"
+msgstr "Wypisanie tablicy w kolejno¶ci sektorów"
+
+#: fdisk/cfdisk.c:2255
+msgid "Table"
+msgstr "Tablica"
+
+#: fdisk/cfdisk.c:2255
+msgid "Just print the partition table"
+msgstr "Zwyk³e wypisanie tablicy partycji"
+
+#: fdisk/cfdisk.c:2256
+msgid "Don't print the table"
+msgstr "Bez wypisywania tablicy"
+
+#: fdisk/cfdisk.c:2284
+msgid "Help Screen for cfdisk"
+msgstr "Ekran pomocy dla cfdiska"
+
+#: fdisk/cfdisk.c:2286
+msgid "This is cfdisk, a curses based disk partitioning program, which"
+msgstr "To jest cfdisk - oparty na curses program do partycjonowania dysku,"
+
+#: fdisk/cfdisk.c:2287
+msgid "allows you to create, delete and modify partitions on your hard"
+msgstr "pozwalaj±cy tworzyæ, usuwaæ i modyfikowaæ partycje na twardym"
+
+#: fdisk/cfdisk.c:2288
+msgid "disk drive."
+msgstr "dysku."
+
+#: fdisk/cfdisk.c:2290
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr "Copyright (C) 1994-1999 Kevin E. Martin i aeb"
+
+#: fdisk/cfdisk.c:2292
+msgid "Command      Meaning"
+msgstr "Polecenie    Znaczenie"
+
+#: fdisk/cfdisk.c:2293
+msgid "-------      -------"
+msgstr "---------    ---------"
+
+#: fdisk/cfdisk.c:2294
+msgid "  b          Toggle bootable flag of the current partition"
+msgstr "  b          Prze³±czenie flagi rozruchu dla bie¿±cej partycji"
+
+#: fdisk/cfdisk.c:2295
+msgid "  d          Delete the current partition"
+msgstr "  d          Usuniêcie bie¿±cej partycji"
+
+#: fdisk/cfdisk.c:2296
+msgid "  g          Change cylinders, heads, sectors-per-track parameters"
+msgstr "  g          Zmiana parametrów cylindrów, g³owic i sektorów na ¶cie¿ce"
+
+#: fdisk/cfdisk.c:2297
+msgid "             WARNING: This option should only be used by people who"
+msgstr "             UWAGA: ta opcja powinna byæ u¿ywana tylko przez osoby"
+
+#: fdisk/cfdisk.c:2298
+msgid "             know what they are doing."
+msgstr "             wiedz±ce co robi±."
+
+#: fdisk/cfdisk.c:2299
+msgid "  h          Print this screen"
+msgstr "  h          Wy¶wietlenie tego ekranu"
+
+#: fdisk/cfdisk.c:2300
+msgid "  m          Maximize disk usage of the current partition"
+msgstr ""
+"  m          Zmaksymalizowanie wykorzystania dysku przez bie¿±c± partycjê"
+
+#: fdisk/cfdisk.c:2301
+msgid "             Note: This may make the partition incompatible with"
+msgstr "             Uwaga: mo¿e to spowodowaæ niekompatybilno¶æ partycji"
+
+#: fdisk/cfdisk.c:2302
+msgid "             DOS, OS/2, ..."
+msgstr "             z DOS-em, OS/2 itp."
+
+#: fdisk/cfdisk.c:2303
+msgid "  n          Create new partition from free space"
+msgstr "  n          Utworzenie nowej partycji na wolnym miejscu"
+
+#: fdisk/cfdisk.c:2304
+msgid "  p          Print partition table to the screen or to a file"
+msgstr "  p          Wypisanie tablicy partycji na ekranie lub do pliku"
+
+#: fdisk/cfdisk.c:2305
+msgid "             There are several different formats for the partition"
+msgstr "             Mo¿na wybraæ jeden z kilku ró¿nych formatów listy"
+
+#: fdisk/cfdisk.c:2306
+msgid "             that you can choose from:"
+msgstr "             partycji:"
+
+#: fdisk/cfdisk.c:2307
+msgid "                r - Raw data (exactly what would be written to disk)"
+msgstr "                r - surowe dane (w takiej postaci, jak na dysku)"
+
+#: fdisk/cfdisk.c:2308
+msgid "                s - Table ordered by sectors"
+msgstr "                s - tablica w kolejno¶ci sektorów"
+
+#: fdisk/cfdisk.c:2309
+msgid "                t - Table in raw format"
+msgstr "                t - tablica w formacie surowym"
+
+#: fdisk/cfdisk.c:2310
+msgid "  q          Quit program without writing partition table"
+msgstr "  q          Zakoñczenie programu bez zapisu tablicy partycji"
+
+#: fdisk/cfdisk.c:2311
+msgid "  t          Change the filesystem type"
+msgstr "  t          Zmiana typu systemu plików"
+
+#: fdisk/cfdisk.c:2312
+msgid "  u          Change units of the partition size display"
+msgstr "  u          Zmiana jednostek wy¶wietlania rozmiaru partycji"
+
+#: fdisk/cfdisk.c:2313
+msgid "             Rotates through MB, sectors and cylinders"
+msgstr "             Prze³±cza miêdzy MB, sektorami i cylindrami"
+
+#: fdisk/cfdisk.c:2314
+msgid "  W          Write partition table to disk (must enter upper case W)"
+msgstr "  W          Zapis tablicy partycji na dysk (musi byæ wielkie W)"
+
+#: fdisk/cfdisk.c:2315
+msgid "             Since this might destroy data on the disk, you must"
+msgstr "             Poniewa¿ mo¿e to zniszczyæ dane na dysku, nale¿y"
+
+#: fdisk/cfdisk.c:2316
+msgid "             either confirm or deny the write by entering `yes' or"
+msgstr "             potwierdziæ lub anulowaæ zapis wpisuj±c \"tak\" lub"
+
+#: fdisk/cfdisk.c:2317
+msgid "             `no'"
+msgstr "             \"nie\""
+
+#: fdisk/cfdisk.c:2318
+msgid "Up Arrow     Move cursor to the previous partition"
+msgstr "Góra         Przesuniêcie kursora na poprzedni± partycjê"
+
+#: fdisk/cfdisk.c:2319
+msgid "Down Arrow   Move cursor to the next partition"
+msgstr "Dó³          Przesuniêcie kursora na nastêpn± partycjê"
+
+#: fdisk/cfdisk.c:2320
+msgid "CTRL-L       Redraws the screen"
+msgstr "Ctrl-L       Odrysowanie ekranu"
+
+#: fdisk/cfdisk.c:2321
+msgid "  ?          Print this screen"
+msgstr "  ?          Wy¶wietlenie tego ekranu"
+
+#: fdisk/cfdisk.c:2323
+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"
+
+#: fdisk/cfdisk.c:2324
+msgid "case letters (except for Writes)."
+msgstr "literami (z wyj±tkiem zapisu - W)."
+
+#: fdisk/cfdisk.c:2355 fdisk/fdisksunlabel.c:237
+msgid "Cylinders"
+msgstr "Cylindry"
+
+#: fdisk/cfdisk.c:2355
+msgid "Change cylinder geometry"
+msgstr "Zmiana liczby cylindrów"
+
+#: fdisk/cfdisk.c:2356 fdisk/fdisksunlabel.c:235
+msgid "Heads"
+msgstr "G³owice"
+
+#: fdisk/cfdisk.c:2356
+msgid "Change head geometry"
+msgstr "Zmiana liczby g³owic"
+
+#: fdisk/cfdisk.c:2357
+msgid "Change sector geometry"
+msgstr "Zmiana liczby sektorów"
+
+#: fdisk/cfdisk.c:2358
+msgid "Done"
+msgstr "Koniec"
+
+#: fdisk/cfdisk.c:2358
+msgid "Done with changing geometry"
+msgstr "Zakoñczenie zmian w geometrii"
+
+#: fdisk/cfdisk.c:2371
+msgid "Enter the number of cylinders: "
+msgstr "Liczba cylindrów: "
+
+#: fdisk/cfdisk.c:2382 fdisk/cfdisk.c:2953
+msgid "Illegal cylinders value"
+msgstr "Niedozwolona liczba cylindrów"
+
+#: fdisk/cfdisk.c:2388
+msgid "Enter the number of heads: "
+msgstr "Liczba g³owic: "
+
+#: fdisk/cfdisk.c:2395 fdisk/cfdisk.c:2963
+msgid "Illegal heads value"
+msgstr "Niedozwolona liczba g³owic"
+
+#: fdisk/cfdisk.c:2401
+msgid "Enter the number of sectors per track: "
+msgstr "Liczba sektorów na ¶cie¿ce: "
+
+#: fdisk/cfdisk.c:2408 fdisk/cfdisk.c:2970
+msgid "Illegal sectors value"
+msgstr "Niedozwolona liczba sektorów"
+
+#: fdisk/cfdisk.c:2511
+msgid "Enter filesystem type: "
+msgstr "Typ systemu plików: "
+
+#: fdisk/cfdisk.c:2529
+msgid "Cannot change FS Type to empty"
+msgstr "Nie mo¿na zmieniæ typu systemu plików na pusty"
+
+#: fdisk/cfdisk.c:2531
+msgid "Cannot change FS Type to extended"
+msgstr "Nie mo¿na zmieniæ typu systemu plików na partycjê rozszerzon±"
+
+#: fdisk/cfdisk.c:2562
+#, c-format
+msgid "Unk(%02X)"
+msgstr "???(%02X)"
+
+#: fdisk/cfdisk.c:2565 fdisk/cfdisk.c:2568
+msgid ", NC"
+msgstr ", NK"
+
+#: fdisk/cfdisk.c:2573 fdisk/cfdisk.c:2576
+msgid "NC"
+msgstr "NK"
+
+#: fdisk/cfdisk.c:2584
+msgid "Pri/Log"
+msgstr "G³/Log"
+
+#: fdisk/cfdisk.c:2591
+#, c-format
+msgid "Unknown (%02X)"
+msgstr "Nieznany (%02X)"
+
+#: fdisk/cfdisk.c:2660
+#, c-format
+msgid "Disk Drive: %s"
+msgstr "Urz±dzenie: %s"
+
+#: fdisk/cfdisk.c:2667
+#, c-format
+msgid "Size: %lld bytes, %lld MB"
+msgstr "Rozmiar: %lld bajtów, %lld MB"
+
+#: fdisk/cfdisk.c:2670
+#, c-format
+msgid "Size: %lld bytes, %lld.%lld GB"
+msgstr "Rozmiar: %lld bajtów, %lld.%lld GB"
+
+#: fdisk/cfdisk.c:2674
+#, c-format
+msgid "Heads: %d   Sectors per Track: %d   Cylinders: %lld"
+msgstr "G³owic: %d   Sektorów na ¶cie¿ce: %d   Cylindrów: %lld"
+
+#: fdisk/cfdisk.c:2678 login-utils/chfn.c:377
+msgid "Name"
+msgstr "Nazwa"
+
+#: fdisk/cfdisk.c:2679
+msgid "Flags"
+msgstr "Flagi"
+
+#: fdisk/cfdisk.c:2680
+msgid "Part Type"
+msgstr "Typ partycji"
+
+#: fdisk/cfdisk.c:2681
+msgid "FS Type"
+msgstr "System plików"
+
+#: fdisk/cfdisk.c:2682
+msgid "[Label]"
+msgstr "[Etykieta]"
+
+#: fdisk/cfdisk.c:2684
+msgid "    Sectors"
+msgstr "    Sektorów"
+
+#: fdisk/cfdisk.c:2686
+msgid "  Cylinders"
+msgstr "  Cylindrów"
+
+#: fdisk/cfdisk.c:2688
+msgid "  Size (MB)"
+msgstr "  Rozmiar (MB)"
+
+#: fdisk/cfdisk.c:2690
+msgid "  Size (GB)"
+msgstr "  Rozmiar (GB)"
+
+#: fdisk/cfdisk.c:2744
+msgid "Bootable"
+msgstr "Rozruch"
+
+#: fdisk/cfdisk.c:2744
+msgid "Toggle bootable flag of the current partition"
+msgstr "Prze³±czenie flagi rozruchu dla bie¿±cej partycji"
+
+#: fdisk/cfdisk.c:2745
+msgid "Delete"
+msgstr "Usuñ"
+
+#: fdisk/cfdisk.c:2745
+msgid "Delete the current partition"
+msgstr "Usuniêcie bie¿±cej partycji"
+
+#: fdisk/cfdisk.c:2746
+msgid "Geometry"
+msgstr "Geometria"
+
+#: fdisk/cfdisk.c:2746
+msgid "Change disk geometry (experts only)"
+msgstr "Zmiana geometrii dysku (tylko dla ekspertów)"
+
+#: fdisk/cfdisk.c:2747
+msgid "Help"
+msgstr "Pomoc"
+
+#: fdisk/cfdisk.c:2747
+msgid "Print help screen"
+msgstr "Wy¶wietlenie ekranu pomocy"
+
+#: fdisk/cfdisk.c:2748
+msgid "Maximize"
+msgstr "Maksymalizuj"
+
+#: fdisk/cfdisk.c:2748
+msgid "Maximize disk usage of the current partition (experts only)"
+msgstr ""
+"Zmaksymalizowanie wykorzystania dysku przez bie¿±c± partycjê (tylko dla "
+"ekspertów)"
+
+#: fdisk/cfdisk.c:2749
+msgid "New"
+msgstr "Nowa"
+
+#: fdisk/cfdisk.c:2749
+msgid "Create new partition from free space"
+msgstr "Utworzenie nowej partycji na wolnym miejscu"
+
+#: fdisk/cfdisk.c:2750
+msgid "Print"
+msgstr "Wypisz"
+
+#: fdisk/cfdisk.c:2750
+msgid "Print partition table to the screen or to a file"
+msgstr "Wypisanie tablicy partycji na ekranie lub do pliku"
+
+#: fdisk/cfdisk.c:2751
+msgid "Quit"
+msgstr "Zakoñcz"
+
+#: fdisk/cfdisk.c:2751
+msgid "Quit program without writing partition table"
+msgstr "Zakoñczenie programu bez zapisu tablicy partycji"
+
+#: fdisk/cfdisk.c:2752
+msgid "Type"
+msgstr "Typ"
+
+#: fdisk/cfdisk.c:2752
+msgid "Change the filesystem type (DOS, Linux, OS/2 and so on)"
+msgstr "Zmiana typu systemu plików (DOS, Linux, OS/2 itd.)"
+
+#: fdisk/cfdisk.c:2753
+msgid "Units"
+msgstr "Jednostki"
+
+#: fdisk/cfdisk.c:2753
+msgid "Change units of the partition size display (MB, sect, cyl)"
+msgstr "Zmiana jednostek wy¶wietlania rozmiaru partycji (MB, sekt., cyl.)"
+
+#: fdisk/cfdisk.c:2754
+msgid "Write"
+msgstr "Zapisz"
+
+#: fdisk/cfdisk.c:2754
+msgid "Write partition table to disk (this might destroy data)"
+msgstr "Zapis tablicy partycji na dysk (mo¿e to zniszczyæ dane)"
+
+#: fdisk/cfdisk.c:2800
+msgid "Cannot make this partition bootable"
+msgstr "Nie mo¿na uczyniæ tej partycji rozruchow±"
+
+#: fdisk/cfdisk.c:2810
+msgid "Cannot delete an empty partition"
+msgstr "Nie mo¿na usun±æ pustej partycji"
+
+#: fdisk/cfdisk.c:2830 fdisk/cfdisk.c:2832
+msgid "Cannot maximize this partition"
+msgstr "Nie mo¿na zmaksymalizowaæ tej partycji"
+
+#: fdisk/cfdisk.c:2840
+msgid "This partition is unusable"
+msgstr "Ta partycja jest bezu¿yteczna"
+
+#: fdisk/cfdisk.c:2842
+msgid "This partition is already in use"
+msgstr "Ta partycja ju¿ jest u¿ywana"
+
+#: fdisk/cfdisk.c:2859
+msgid "Cannot change the type of an empty partition"
+msgstr "Nie mo¿na zmieniæ typu pustej partycji"
+
+#: fdisk/cfdisk.c:2886 fdisk/cfdisk.c:2892
+msgid "No more partitions"
+msgstr "Nie ma wiêcej partycji"
+
+#: fdisk/cfdisk.c:2899
+msgid "Illegal command"
+msgstr "Niedozwolone polecenie"
+
+#: fdisk/cfdisk.c:2909
+#, c-format
+msgid "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+msgstr "Copyright (C) 1994-2002 Kevin E. Martin i aeb\n"
+
+#: fdisk/cfdisk.c:2916
+#, 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"
+
+#: fdisk/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)."
+
+#: fdisk/fdiskbsdlabel.c:122
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+"\n"
+"Etykieta BSD dla urz±dzenia: %s\n"
+
+#: fdisk/fdiskbsdlabel.c:129 fdisk/fdisk.c:386 fdisk/fdisk.c:405
+#: fdisk/fdisk.c:423 fdisk/fdisk.c:430 fdisk/fdisk.c:453 fdisk/fdisk.c:471
+#: fdisk/fdisk.c:487 fdisk/fdisk.c:503
+msgid "Command action"
+msgstr "Polecenie"
+
+#: fdisk/fdiskbsdlabel.c:130
+msgid "   d   delete a BSD partition"
+msgstr "   d   usuniêcie partycji BSD"
+
+#: fdisk/fdiskbsdlabel.c:131
+msgid "   e   edit drive data"
+msgstr "   e   edycja danych urz±dzenia"
+
+#: fdisk/fdiskbsdlabel.c:132
+msgid "   i   install bootstrap"
+msgstr "   i   zainstalowanie kodu rozruchowego"
+
+#: fdisk/fdiskbsdlabel.c:133
+msgid "   l   list known filesystem types"
+msgstr "   l   wypisanie znanych typów systemów plików"
+
+#: fdisk/fdiskbsdlabel.c:134 fdisk/fdisk.c:392 fdisk/fdisk.c:411
+#: fdisk/fdisk.c:424 fdisk/fdisk.c:436 fdisk/fdisk.c:461 fdisk/fdisk.c:478
+#: fdisk/fdisk.c:494 fdisk/fdisk.c:512
+msgid "   m   print this menu"
+msgstr "   m   wy¶wietlenie tego menu"
+
+#: fdisk/fdiskbsdlabel.c:135
+msgid "   n   add a new BSD partition"
+msgstr "   n   dodanie nowej partycji BSD"
+
+#: fdisk/fdiskbsdlabel.c:136
+msgid "   p   print BSD partition table"
+msgstr "   p   wypisanie tablicy partycji BSD"
+
+#: fdisk/fdiskbsdlabel.c:137 fdisk/fdisk.c:396 fdisk/fdisk.c:415
+#: fdisk/fdisk.c:426 fdisk/fdisk.c:440 fdisk/fdisk.c:463 fdisk/fdisk.c:480
+#: fdisk/fdisk.c:496 fdisk/fdisk.c:514
+msgid "   q   quit without saving changes"
+msgstr "   q   zakoñczenie bez zapisywania zmian"
+
+#: fdisk/fdiskbsdlabel.c:138 fdisk/fdisk.c:464 fdisk/fdisk.c:481
+#: fdisk/fdisk.c:497 fdisk/fdisk.c:515
+msgid "   r   return to main menu"
+msgstr "   r   powrót do g³ównego menu"
+
+#: fdisk/fdiskbsdlabel.c:139
+msgid "   s   show complete disklabel"
+msgstr "   s   pokazanie ca³ej etykiety dysku"
+
+#: fdisk/fdiskbsdlabel.c:140
+msgid "   t   change a partition's filesystem id"
+msgstr "   t   zmiana ID systemu plików partycji"
+
+#: fdisk/fdiskbsdlabel.c:141
+msgid "   u   change units (cylinders/sectors)"
+msgstr "   u   zmiana jednostek (cylindry/sektory)"
+
+#: fdisk/fdiskbsdlabel.c:142
+msgid "   w   write disklabel to disk"
+msgstr "   w   zapisanie etykiety na dysk"
+
+#: fdisk/fdiskbsdlabel.c:144
+msgid "   x   link BSD partition to non-BSD partition"
+msgstr "   x   po³±czenie partycji BSD z partycj± nie-BSD"
+
+#: fdisk/fdiskbsdlabel.c:176
+#, c-format
+msgid "Partition %s has invalid starting sector 0.\n"
+msgstr "Partycja %s ma niepoprawny sektor pocz±tkowy 0.\n"
+
+#: fdisk/fdiskbsdlabel.c:180
+#, c-format
+msgid "Reading disklabel of %s at sector %d.\n"
+msgstr "Odczyt etykiety dysku %s w sektorze %d.\n"
+
+#: fdisk/fdiskbsdlabel.c:190
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr "Na %s nie ma partycji *BSD.\n"
+
+#: fdisk/fdiskbsdlabel.c:204
+msgid "BSD disklabel command (m for help): "
+msgstr "Polecenie dla etykiety dysku BSD (m wy¶wietla pomoc): "
+
+#: fdisk/fdiskbsdlabel.c:284 fdisk/fdisk.c:2052 fdisk/fdisksgilabel.c:651
+#: fdisk/fdisksunlabel.c:431
+#, c-format
+msgid "First %s"
+msgstr "Pierwszy %s"
+
+#: fdisk/fdiskbsdlabel.c:291 fdisk/fdisksunlabel.c:488
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr "Ostatni %s albo +rozmiar, +rozmiarM lub +rozmiarK"
+
+#: fdisk/fdiskbsdlabel.c:318
+#, c-format
+msgid "type: %s\n"
+msgstr "typ: %s\n"
+
+#: fdisk/fdiskbsdlabel.c:320
+#, c-format
+msgid "type: %d\n"
+msgstr "typ: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:321
+#, c-format
+msgid "disk: %.*s\n"
+msgstr "dysk: %.*s\n"
+
+#: fdisk/fdiskbsdlabel.c:322
+#, c-format
+msgid "label: %.*s\n"
+msgstr "etykieta: %.*s\n"
+
+#: fdisk/fdiskbsdlabel.c:323
+#, c-format
+msgid "flags:"
+msgstr "flagi"
+
+#: fdisk/fdiskbsdlabel.c:325
+#, c-format
+msgid " removable"
+msgstr " wyjmowalny"
+
+#: fdisk/fdiskbsdlabel.c:327
+#, c-format
+msgid " ecc"
+msgstr " ECC"
+
+#: fdisk/fdiskbsdlabel.c:329
+#, c-format
+msgid " badsect"
+msgstr " wadliwe"
+
+#: fdisk/fdiskbsdlabel.c:333
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr "bajtów/sektor: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:334
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr "sektorów/¶cie¿kê: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:335
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr "¶cie¿ek/cylinder: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:336
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr "sektorów/cylinder: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:337
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr "cylindrów: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:338
+#, c-format
+msgid "rpm: %d\n"
+msgstr "obr./min: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:339
+#, c-format
+msgid "interleave: %d\n"
+msgstr "przeplot: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:340
+#, c-format
+msgid "trackskew: %d\n"
+msgstr "przesuniêcie dla ¶cie¿ki: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:341
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr "przesuniêcie dla cylindra: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:342
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr "zmiana g³owicy: %ld\t\t# milisekund\n"
+
+#: fdisk/fdiskbsdlabel.c:344
+#, c-format
+msgid "track-to-track seek: %ld\t# milliseconds\n"
+msgstr "zmiana ¶cie¿ki: %ld\t\t# milisekund\n"
+
+#: fdisk/fdiskbsdlabel.c:346
+#, c-format
+msgid "drivedata: "
+msgstr "dane urz±dzenia: "
+
+#: fdisk/fdiskbsdlabel.c:355
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+"\n"
+"%d partycji:\n"
+
+#: fdisk/fdiskbsdlabel.c:356
+#, 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"
+
+#: fdisk/fdiskbsdlabel.c:405 fdisk/fdiskbsdlabel.c:408
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr "Zapis etykiety dysku na %s.\n"
+
+#: fdisk/fdiskbsdlabel.c:420 fdisk/fdiskbsdlabel.c:422
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr "%s nie zawiera etykiety dysku.\n"
+
+#: fdisk/fdiskbsdlabel.c:427
+msgid "Do you want to create a disklabel? (y/n) "
+msgstr "Utworzyæ etykietê dysku? (y/n) "
+
+#: fdisk/fdiskbsdlabel.c:467
+msgid "bytes/sector"
+msgstr "bajtów/sektor"
+
+#: fdisk/fdiskbsdlabel.c:468
+msgid "sectors/track"
+msgstr "sektorów/¶cie¿kê"
+
+#: fdisk/fdiskbsdlabel.c:469
+msgid "tracks/cylinder"
+msgstr "¶cie¿ek/cylinder"
+
+#: fdisk/fdiskbsdlabel.c:470 fdisk/fdisk.c:648 fdisk/fdisk.c:1357
+#: fdisk/sfdisk.c:945
+msgid "cylinders"
+msgstr "cylindrów"
+
+#: fdisk/fdiskbsdlabel.c:477
+msgid "sectors/cylinder"
+msgstr "sektorów/cylinder"
+
+#: fdisk/fdiskbsdlabel.c:481
+#, c-format
+msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
+msgstr "Musi byæ <= sektorów/¶cie¿kê * ¶cie¿ek/cylinder (domy¶lnie).\n"
+
+#: fdisk/fdiskbsdlabel.c:483
+msgid "rpm"
+msgstr "obr./min"
+
+#: fdisk/fdiskbsdlabel.c:484
+msgid "interleave"
+msgstr "przeplot"
+
+#: fdisk/fdiskbsdlabel.c:485
+msgid "trackskew"
+msgstr "przesuniêcie dla ¶cie¿ki"
+
+#: fdisk/fdiskbsdlabel.c:486
+msgid "cylinderskew"
+msgstr "przesuniêcie dla cylindra"
+
+#: fdisk/fdiskbsdlabel.c:487
+msgid "headswitch"
+msgstr "zmiana g³owicy"
+
+#: fdisk/fdiskbsdlabel.c:488
+msgid "track-to-track seek"
+msgstr "zmiana ¶cie¿ki"
+
+#: fdisk/fdiskbsdlabel.c:529
+#, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr "Kod rozruchowy: %sboot -> boot%s (%s): "
+
+#: fdisk/fdiskbsdlabel.c:554
+#, c-format
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr "Kod rozruchowy zachodzi na etykietê dysku!\n"
+
+#: fdisk/fdiskbsdlabel.c:575 fdisk/fdiskbsdlabel.c:577
+#, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr "Zainstalowano kod rozruchowy na %s.\n"
+
+#: fdisk/fdiskbsdlabel.c:599
+#, c-format
+msgid "Partition (a-%c): "
+msgstr "Partycja (a-%c): "
+
+#: fdisk/fdiskbsdlabel.c:618 fdisk/fdisk.c:2199
+#, c-format
+msgid "The maximum number of partitions has been created\n"
+msgstr "Utworzono ju¿ maksymaln± liczbê partycji\n"
+
+#: fdisk/fdiskbsdlabel.c:630
+#, c-format
+msgid "This partition already exists.\n"
+msgstr "Ta partycja ju¿ istnieje.\n"
+
+#: fdisk/fdiskbsdlabel.c:757
+#, c-format
+msgid "Warning: too many partitions (%d, maximum is %d).\n"
+msgstr "Uwaga: za du¿o partycji (%d, maksimum to %d).\n"
+
+#: fdisk/fdiskbsdlabel.c:805
+#, c-format
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+"\n"
+"Synchronizacja dysków.\n"
+
+#: fdisk/fdisk.c:244
+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 ""
+"Sk³adnia: fdisk [-b RSEKT] [-u] DYSK     Zmiana tablicy partycji\n"
+"          fdisk -l [-b RSEKT] [-u] DYSK  Wypisanie tablicy partycji\n"
+"          fdisk -s PARTYCJA              Podanie rozmiaru partycji w "
+"blokach\n"
+"          fdisk -v                       Podanie wersji fdiska\n"
+"Tutaj DYSK to co¶ w rodzaju /dev/hdb lub /dev/sda,\n"
+"natomiast PARTYCJA to co¶ w rodzaju /dev/hda7\n"
+"-u: podanie pocz±tku i koñca w sektorach (zamiast cylindrach)\n"
+"-b 2048 (dla niektórych dysków MO): u¿ycie sektorów 2048-bajtowych\n"
+
+#: fdisk/fdisk.c:256
+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 ""
+"Sk³adnia: fdisk [-l] [-b RSEKT] [-u] urz±dzenie\n"
+"Np.: fdisk /dev/hda  (dla pierwszego dysku IDE)\n"
+"lub: fdisk /dev/sdc  (dla trzeciego dysku SCSI)\n"
+"lub: fdisk /dev/eda  (dla pierwszego dysku PS/2 ESDI)\n"
+"lub: fdisk /dev/rd/c0d0  lub fdisk /dev/ida/c0d0 (dla urz±dzeñ RAID)\n"
+" ...\n"
+
+#: fdisk/fdisk.c:265
+#, c-format
+msgid "Unable to open %s\n"
+msgstr "Nie mo¿na otworzyæ %s\n"
+
+#: fdisk/fdisk.c:269
+#, c-format
+msgid "Unable to read %s\n"
+msgstr "Nie mo¿na odczytaæ %s\n"
+
+#: fdisk/fdisk.c:273
+#, c-format
+msgid "Unable to seek on %s\n"
+msgstr "Nie mo¿na zmieniæ pozycji na %s\n"
+
+#: fdisk/fdisk.c:277
+#, c-format
+msgid "Unable to write %s\n"
+msgstr "Nie mo¿na zapisaæ %s\n"
+
+#: fdisk/fdisk.c:281
+#, c-format
+msgid "BLKGETSIZE ioctl failed on %s\n"
+msgstr "ioctl BLKGETSIZE nie powiód³ siê na %s\n"
+
+#: fdisk/fdisk.c:285
+msgid "Unable to allocate any more memory\n"
+msgstr "Nie mo¿na przydzieliæ wiêcej pamiêci\n"
+
+#: fdisk/fdisk.c:288
+msgid "Fatal error\n"
+msgstr "B³±d krytyczny\n"
+
+#: fdisk/fdisk.c:387
+msgid "   a   toggle a read only flag"
+msgstr "   a   zmiana flagi tylko do odczytu"
+
+#: fdisk/fdisk.c:388 fdisk/fdisk.c:432
+msgid "   b   edit bsd disklabel"
+msgstr "   b   modyfikacja etykiety dysku BSD"
+
+#: fdisk/fdisk.c:389
+msgid "   c   toggle the mountable flag"
+msgstr "   c   zmiana flagi montowalno¶ci"
+
+#: fdisk/fdisk.c:390 fdisk/fdisk.c:409 fdisk/fdisk.c:434
+msgid "   d   delete a partition"
+msgstr "   d   usuniêcie partycji"
+
+#: fdisk/fdisk.c:391 fdisk/fdisk.c:410 fdisk/fdisk.c:435
+msgid "   l   list known partition types"
+msgstr "   l   wypisanie znanych typów partycji"
+
+#: fdisk/fdisk.c:393 fdisk/fdisk.c:412 fdisk/fdisk.c:437
+msgid "   n   add a new partition"
+msgstr "   n   dodanie nowej partycji"
+
+#: fdisk/fdisk.c:394 fdisk/fdisk.c:413 fdisk/fdisk.c:425 fdisk/fdisk.c:438
+msgid "   o   create a new empty DOS partition table"
+msgstr "   o   utworzenie nowej, pustej DOS-owej tablicy partycji"
+
+#: fdisk/fdisk.c:395 fdisk/fdisk.c:414 fdisk/fdisk.c:439 fdisk/fdisk.c:462
+#: fdisk/fdisk.c:479 fdisk/fdisk.c:495 fdisk/fdisk.c:513
+msgid "   p   print the partition table"
+msgstr "   p   wypisanie tablicy partycji"
+
+#: fdisk/fdisk.c:397 fdisk/fdisk.c:416 fdisk/fdisk.c:427 fdisk/fdisk.c:441
+msgid "   s   create a new empty Sun disklabel"
+msgstr "   s   utworzenie nowej, pustej etykiety dysku Suna"
+
+#: fdisk/fdisk.c:398 fdisk/fdisk.c:417 fdisk/fdisk.c:442
+msgid "   t   change a partition's system id"
+msgstr "   t   zmiana ID systemu partycji"
+
+#: fdisk/fdisk.c:399 fdisk/fdisk.c:418 fdisk/fdisk.c:443
+msgid "   u   change display/entry units"
+msgstr "   u   zmiana jednostek wy¶wietlania/wprowadzania"
+
+#: fdisk/fdisk.c:400 fdisk/fdisk.c:419 fdisk/fdisk.c:444 fdisk/fdisk.c:466
+#: fdisk/fdisk.c:483 fdisk/fdisk.c:499 fdisk/fdisk.c:517
+msgid "   v   verify the partition table"
+msgstr "   v   weryfikacja tablicy partycji"
+
+#: fdisk/fdisk.c:401 fdisk/fdisk.c:420 fdisk/fdisk.c:445 fdisk/fdisk.c:467
+#: fdisk/fdisk.c:484 fdisk/fdisk.c:500 fdisk/fdisk.c:518
+msgid "   w   write table to disk and exit"
+msgstr "   w   zapis tablicy partycji na dysk i zakoñczenie"
+
+#: fdisk/fdisk.c:402 fdisk/fdisk.c:446
+msgid "   x   extra functionality (experts only)"
+msgstr "   x   dodatkowe funkcje (tylko dla ekspertów)"
+
+#: fdisk/fdisk.c:406
+msgid "   a   select bootable partition"
+msgstr "   a   wybór partycji rozruchowej"
+
+#: fdisk/fdisk.c:407
+msgid "   b   edit bootfile entry"
+msgstr "   b   edycja wpisu pliku rozruchowego"
+
+#: fdisk/fdisk.c:408
+msgid "   c   select sgi swap partition"
+msgstr "   c   wybór partycji wymiany SGI"
+
+#: fdisk/fdisk.c:431
+msgid "   a   toggle a bootable flag"
+msgstr "   a   zmiana flagi rozruchu"
+
+#: fdisk/fdisk.c:433
+msgid "   c   toggle the dos compatibility flag"
+msgstr "   c   zmiana flagi kompatybilno¶ci z DOS-em"
+
+#: fdisk/fdisk.c:454
+msgid "   a   change number of alternate cylinders"
+msgstr "   a   zmiana liczby zmiennych cylindrów"
+
+#: fdisk/fdisk.c:455 fdisk/fdisk.c:473 fdisk/fdisk.c:489 fdisk/fdisk.c:505
+msgid "   c   change number of cylinders"
+msgstr "   c   zmiana liczby cylindrów"
+
+#: fdisk/fdisk.c:456 fdisk/fdisk.c:474 fdisk/fdisk.c:490 fdisk/fdisk.c:506
+msgid "   d   print the raw data in the partition table"
+msgstr "   d   wypisanie surowych danych tablicy partycji"
+
+#: fdisk/fdisk.c:457
+msgid "   e   change number of extra sectors per cylinder"
+msgstr "   e   zmiana liczby dodatkowych sektorów na cylinder"
+
+#: fdisk/fdisk.c:458 fdisk/fdisk.c:477 fdisk/fdisk.c:493 fdisk/fdisk.c:510
+msgid "   h   change number of heads"
+msgstr "   h   zmiana liczby g³owic"
+
+#: fdisk/fdisk.c:459
+msgid "   i   change interleave factor"
+msgstr "   i   zmiana wspó³czynnika przeplotu"
+
+#: fdisk/fdisk.c:460
+msgid "   o   change rotation speed (rpm)"
+msgstr "   o   zmiana prêdko¶ci obrotowej (obr./min)"
+
+#: fdisk/fdisk.c:465 fdisk/fdisk.c:482 fdisk/fdisk.c:498 fdisk/fdisk.c:516
+msgid "   s   change number of sectors/track"
+msgstr "   s   zmiana liczby sektorów na ¶cie¿kê"
+
+#: fdisk/fdisk.c:468
+msgid "   y   change number of physical cylinders"
+msgstr "   y   zmiana liczby fizycznych cylindrów"
+
+#: fdisk/fdisk.c:472 fdisk/fdisk.c:488 fdisk/fdisk.c:504
+msgid "   b   move beginning of data in a partition"
+msgstr "   b   przesuniêcie pocz±tku danych na partycji"
+
+#: fdisk/fdisk.c:475 fdisk/fdisk.c:491 fdisk/fdisk.c:507
+msgid "   e   list extended partitions"
+msgstr "   e   wypisanie partycji rozszerzonych"
+
+#: fdisk/fdisk.c:476 fdisk/fdisk.c:492 fdisk/fdisk.c:509
+msgid "   g   create an IRIX (SGI) partition table"
+msgstr "   g   utworzenie tablicy partycji typu IRIX (SGI)"
+
+#: fdisk/fdisk.c:508
+msgid "   f   fix partition order"
+msgstr "   f   poprawienie kolejno¶ci partycji"
+
+#: fdisk/fdisk.c:511
+msgid "   i   change the disk identifier"
+msgstr "   i   zmiana identyfikatora dysku"
+
+#: fdisk/fdisk.c:627
+#, c-format
+msgid "You must set"
+msgstr "Trzeba wprowadziæ liczbê"
+
+#: fdisk/fdisk.c:644
+msgid "heads"
+msgstr "g³owic"
+
+#: fdisk/fdisk.c:646 fdisk/fdisk.c:1357 fdisk/sfdisk.c:945
+msgid "sectors"
+msgstr "sektorów"
+
+#: fdisk/fdisk.c:652
+#, 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"
+
+#: fdisk/fdisk.c:653
+msgid " and "
+msgstr " oraz "
+
+#: fdisk/fdisk.c:670
+#, c-format
+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"
+"Liczba cylindrów dla tego dysku jest ustawiona na %d.\n"
+"Nie ma w tym nic z³ego, ale jest to wiêcej ni¿ 1024,\n"
+"i mo¿e w pewnych konfiguracjach sprawiaæ problemy z:\n"
+"1) programami rozruchowymi (np. starymi wersjami LILO)\n"
+"2) programami rozruchowymi i partycjonuj±cymi z innych systemów\n"
+"   operacyjnych (np. fdisk z DOS-a lub OS/2)\n"
+
+#: fdisk/fdisk.c:683
+#, 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 %d-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 %d-bajtowych sektorów.\n"
+"Nale¿y u¿yæ parted(1)a i formatu tablicy partycji GUID (GPT).\n"
+"\n"
+
+#: fdisk/fdisk.c:708
+#, c-format
+msgid "Bad offset in primary extended partition\n"
+msgstr "B³êdny offset w g³ównej partycji rozszerzonej\n"
+
+#: fdisk/fdisk.c:722
+#, 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"
+
+#: fdisk/fdisk.c:741
+#, c-format
+msgid "Warning: extra link pointer in partition table %d\n"
+msgstr "Uwaga: nadmiarowy wska¼nik ³±cz±cy w tablicy partycji %d\n"
+
+#: fdisk/fdisk.c:749
+#, c-format
+msgid "Warning: ignoring extra data in partition table %d\n"
+msgstr "Uwaga: zignorowano nadmiarowe dane w tablicy partycji %d\n"
+
+#: fdisk/fdisk.c:782
+#, c-format
+msgid "omitting empty partition (%d)\n"
+msgstr "pominiêto pust± partycjê (%d)\n"
+
+#: fdisk/fdisk.c:801
+#, c-format
+msgid "Disk identifier: 0x%08x\n"
+msgstr "Identyfikator dysku: 0x%08x\n"
+
+#: fdisk/fdisk.c:810
+#, c-format
+msgid "New disk identifier (current 0x%08x): "
+msgstr "Nowy identyfikator dysku (bie¿±cy 0x%08x): "
+
+#: fdisk/fdisk.c:829
+#, c-format
+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 ""
+"Tworzenie nowej etykiety dysku typu DOS z identyfikatorem dysku 0x%08x.\n"
+"Zmiany pozostan± tylko w pamiêci do chwili ich zapisania.\n"
+"Potem, oczywi¶cie, poprzednia zawarto¶æ bêdzie nie do odzyskania.\n"
+
+#: fdisk/fdisk.c:861
+#, c-format
+msgid "Note: sector size is %d (not %d)\n"
+msgstr "Uwaga: rozmiar sektora to %d (nie %d)\n"
+
+#: fdisk/fdisk.c:990
+#, c-format
+msgid "You will not be able to write the partition table.\n"
+msgstr "Nie bêdzie mo¿na zapisaæ tablicy partycji.\n"
+
+#: fdisk/fdisk.c:1022
+#, c-format
+msgid ""
+"This disk has both DOS and BSD magic.\n"
+"Give the 'b' command to go to BSD mode.\n"
+msgstr ""
+"Ten dysk ma znaczniki magiczne zarówno DOS-a, jak i BSD.\n"
+"Polecenie 'b' prze³±czy w tryb BSD.\n"
+
+#: fdisk/fdisk.c:1032
+#, c-format
+msgid ""
+"Device contains neither a valid DOS partition table, nor Sun, SGI or OSF "
+"disklabel\n"
+msgstr ""
+"Urz±dzenie nie zawiera poprawnej DOS-owej tablicy partycji ani etykiety "
+"dysku Sun, SGI ani OSF\n"
+
+#: fdisk/fdisk.c:1049
+#, c-format
+msgid "Internal error\n"
+msgstr "B³±d wewnêtrzny\n"
+
+#: fdisk/fdisk.c:1062
+#, c-format
+msgid "Ignoring extra extended partition %d\n"
+msgstr "Zignorowano nadmiarow± partycjê rozszerzon± %d\n"
+
+#: fdisk/fdisk.c:1074
+#, 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"
+
+#: fdisk/fdisk.c:1096
+#, c-format
+msgid ""
+"\n"
+"got EOF thrice - exiting..\n"
+msgstr ""
+"\n"
+"trzy razy otrzymano EOF - zakoñczenie...\n"
+
+#: fdisk/fdisk.c:1135
+msgid "Hex code (type L to list codes): "
+msgstr "Kod szesnastkowy (L wy¶wietla listê): "
+
+#: fdisk/fdisk.c:1175
+#, c-format
+msgid "%s (%u-%u, default %u): "
+msgstr "%s (%u-%u, domy¶lnie %u): "
+
+#: fdisk/fdisk.c:1242
+#, c-format
+msgid "Unsupported suffix: '%s'.\n"
+msgstr "Nieobs³ugiwany przyrostek: '%s'.\n"
+
+#: fdisk/fdisk.c:1243
+#, 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"
+
+#: fdisk/fdisk.c:1269
+#, c-format
+msgid "Using default value %u\n"
+msgstr "Przyjêto warto¶æ domy¶ln± %u\n"
+
+#: fdisk/fdisk.c:1273
+#, c-format
+msgid "Value out of range.\n"
+msgstr "Warto¶æ spoza zakresu.\n"
+
+#: fdisk/fdisk.c:1283
+msgid "Partition number"
+msgstr "Numer partycji"
+
+#: fdisk/fdisk.c:1294
+#, c-format
+msgid "Warning: partition %d has empty type\n"
+msgstr "Uwaga: partycja %d ma pusty typ\n"
+
+#: fdisk/fdisk.c:1316 fdisk/fdisk.c:1342
+#, c-format
+msgid "Selected partition %d\n"
+msgstr "Wybrano partycjê %d\n"
+
+#: fdisk/fdisk.c:1319
+#, c-format
+msgid "No partition is defined yet!\n"
+msgstr "Nie zdefiniowano jeszcze partycji!\n"
+
+#: fdisk/fdisk.c:1345
+#, c-format
+msgid "All primary partitions have been defined already!\n"
+msgstr "Wszystkie g³ówne partycje zosta³y ju¿ zdefiniowane!\n"
+
+#: fdisk/fdisk.c:1355
+msgid "cylinder"
+msgstr "cylinder"
+
+#: fdisk/fdisk.c:1355
+msgid "sector"
+msgstr "sektor"
+
+#: fdisk/fdisk.c:1364
+#, c-format
+msgid "Changing display/entry units to %s\n"
+msgstr "Zmiana jednostek wy¶wietlania/wprowadzania na liczbê %s\n"
+
+#: fdisk/fdisk.c:1375
+#, c-format
+msgid "WARNING: Partition %d is an extended partition\n"
+msgstr "UWAGA: partycja %d jest partycj± rozszerzon±\n"
+
+#: fdisk/fdisk.c:1386
+#, c-format
+msgid "DOS Compatibility flag is set\n"
+msgstr "Flaga kompatybilno¶ci z DOS-em jest ustawiona\n"
+
+#: fdisk/fdisk.c:1390
+#, c-format
+msgid "DOS Compatibility flag is not set\n"
+msgstr "Flaga kompatybilno¶ci z DOS-em nie jest ustawiona\n"
+
+#: fdisk/fdisk.c:1490
+#, c-format
+msgid "Partition %d does not exist yet!\n"
+msgstr "Partycja %d jeszcze nie istnieje!\n"
+
+#: fdisk/fdisk.c:1495
+#, 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"
+
+#: fdisk/fdisk.c:1504
+#, 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"
+
+#: fdisk/fdisk.c:1513
+#, 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"
+
+#: fdisk/fdisk.c:1519
+#, 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 ""
+"Najpepiej pozostawiæ partycjê 9 jako nag³ówek wolumenu (0),\n"
+"a partycjê 11 jako ca³y wolumen (6), poniewa¿ tego oczekuje IRIX.\n"
+
+#: fdisk/fdisk.c:1536
+#, c-format
+msgid "Changed system type of partition %d to %x (%s)\n"
+msgstr "Zmieniono typ systemu partycji %d na %x (%s)\n"
+
+#: fdisk/fdisk.c:1539
+#, c-format
+msgid "System type of partition %d is unchanged: %x (%s)\n"
+msgstr "Typ systemu partycji %d nie zosta³ zmieniony: %x (%s)\n"
+
+#: fdisk/fdisk.c:1591
+#, c-format
+msgid "Partition %d has different physical/logical beginnings (non-Linux?):\n"
+msgstr ""
+"Partycja %d ma ró¿ne pocz±tki fizyczy i logiczny (nie jest linuksowa?):\n"
+
+#: fdisk/fdisk.c:1593 fdisk/fdisk.c:1601 fdisk/fdisk.c:1610 fdisk/fdisk.c:1620
+#, c-format
+msgid "     phys=(%d, %d, %d) "
+msgstr " fizyczny=(%d, %d, %d) "
+
+#: fdisk/fdisk.c:1594 fdisk/fdisk.c:1602
+#, c-format
+msgid "logical=(%d, %d, %d)\n"
+msgstr "logiczny=(%d, %d, %d)\n"
+
+#: fdisk/fdisk.c:1599
+#, c-format
+msgid "Partition %d has different physical/logical endings:\n"
+msgstr "Partycja %d ma ró¿ne koñce fizyczny i logiczny:\n"
+
+#: fdisk/fdisk.c:1608
+#, c-format
+msgid "Partition %i does not start on cylinder boundary:\n"
+msgstr "Partycja %i nie zaczyna siê na granicy cylindra:\n"
+
+#: fdisk/fdisk.c:1611
+#, c-format
+msgid "should be (%d, %d, 1)\n"
+msgstr "powinno byæ (%d, %d, 1)\n"
+
+#: fdisk/fdisk.c:1617
+#, c-format
+msgid "Partition %i does not end on cylinder boundary.\n"
+msgstr "Partycja %i nie koñczy siê na granicy cylindra.\n"
+
+#: fdisk/fdisk.c:1621
+#, c-format
+msgid "should be (%d, %d, %d)\n"
+msgstr "powinno byæ (%d, %d, %d)\n"
+
+#: fdisk/fdisk.c:1633
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld MB, %lld bytes\n"
+msgstr ""
+"\n"
+"Dysk %s: %ld MB, bajtów: %lld\n"
+
+#: fdisk/fdisk.c:1637
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld.%ld GB, %lld bytes\n"
+msgstr ""
+"\n"
+"Dysk %s: %ld.%ld GB, bajtów: %lld\n"
+
+#: fdisk/fdisk.c:1640
+#, c-format
+msgid "%d heads, %llu sectors/track, %d cylinders"
+msgstr "g³owic: %d, sektorów/¶cie¿kê: %llu, cylindrów: %d"
+
+#: fdisk/fdisk.c:1643
+#, c-format
+msgid ", total %llu sectors"
+msgstr ", w sumie sektorów: %llu"
+
+#: fdisk/fdisk.c:1646
+#, c-format
+msgid "Units = %s of %d * %d = %d bytes\n"
+msgstr "Jednostka = %s, czyli %d * %d = %d bajtów\n"
+
+#: fdisk/fdisk.c:1757
+#, 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"
+
+#: fdisk/fdisk.c:1785
+#, c-format
+msgid "Done.\n"
+msgstr "Zakoñczone.\n"
+
+#: fdisk/fdisk.c:1813
+#, 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"
+
+#: fdisk/fdisk.c:1826
+#, c-format
+msgid "%*s Boot      Start         End      Blocks   Id  System\n"
+msgstr "%*s Rozruch   Pocz±tek      Koniec   Bloków   ID  System\n"
+
+#: fdisk/fdisk.c:1827 fdisk/fdisksgilabel.c:223 fdisk/fdisksunlabel.c:603
+msgid "Device"
+msgstr "Urz±dzenie"
+
+#: fdisk/fdisk.c:1864
+#, 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"
+
+#: fdisk/fdisk.c:1874
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %d cylinders\n"
+"\n"
+msgstr ""
+"\n"
+"Dysk %s: g³owic: %d, sektorów: %llu, cylindrów: %d\n"
+"\n"
+
+#: fdisk/fdisk.c:1876
+#, 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"
+
+#: fdisk/fdisk.c:1922
+#, c-format
+msgid "Warning: partition %d contains sector 0\n"
+msgstr "Uwaga: partycja %d zawiera sektor 0\n"
+
+#: fdisk/fdisk.c:1925
+#, c-format
+msgid "Partition %d: head %d greater than maximum %d\n"
+msgstr "Partycja %d: g³owica %d wiêksza ni¿ maksymalna %d\n"
+
+#: fdisk/fdisk.c:1928
+#, c-format
+msgid "Partition %d: sector %d greater than maximum %llu\n"
+msgstr "Partycja %d: sektor %d wiêkszy ni¿ maksymalny %llu\n"
+
+#: fdisk/fdisk.c:1931
+#, c-format
+msgid "Partitions %d: cylinder %d greater than maximum %d\n"
+msgstr "Partycja %d: cylinder %d wiêkszy ni¿ maksymalny %d\n"
+
+#: fdisk/fdisk.c:1935
+#, 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"
+
+#: fdisk/fdisk.c:1968
+#, c-format
+msgid "Warning: bad start-of-data in partition %d\n"
+msgstr "Uwaga: b³êdny pocz±tek danych dla partycji %d\n"
+
+#: fdisk/fdisk.c:1976
+#, c-format
+msgid "Warning: partition %d overlaps partition %d.\n"
+msgstr "Uwaga: partycja %d zachodzi na partycjê %d.\n"
+
+#: fdisk/fdisk.c:1996
+#, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr "Uwaga: partycja %d jest pusta\n"
+
+#: fdisk/fdisk.c:2001
+#, 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"
+
+#: fdisk/fdisk.c:2007
+#, 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"
+
+#: fdisk/fdisk.c:2010
+#, c-format
+msgid "%lld unallocated %d-byte sectors\n"
+msgstr "%lld nieprzydzielonych sektorów %d-bajtowych\n"
+
+#: fdisk/fdisk.c:2025 fdisk/fdisksgilabel.c:633 fdisk/fdisksunlabel.c:416
+#, 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"
+
+#: fdisk/fdisk.c:2067
+#, c-format
+msgid "Sector %llu is already allocated\n"
+msgstr "Sektor %llu jest ju¿ przydzielony\n"
+
+#: fdisk/fdisk.c:2103
+#, c-format
+msgid "No free sectors available\n"
+msgstr "Nie ma ju¿ wolnych sektorów\n"
+
+#: fdisk/fdisk.c:2112
+#, c-format
+msgid "Last %1$s, +%2$s or +size{K,M,G}"
+msgstr "Ostatni %1$s, +%2$s lub +rozmiar{K,M,G}"
+
+#: fdisk/fdisk.c:2178
+#, 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"
+
+#: fdisk/fdisk.c:2187
+#, 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"
+
+#: fdisk/fdisk.c:2207
+#, c-format
+msgid "You must delete some partition and add an extended partition first\n"
+msgstr "Najpierw trzeba usun±æ jak±¶ partycjê i dodaæ partycjê rozszerzon±\n"
+
+#: fdisk/fdisk.c:2210
+#, c-format
+msgid "All logical partitions are in use\n"
+msgstr "Wszystkie partycje logiczne s± wykorzystane\n"
+
+#: fdisk/fdisk.c:2211
+#, c-format
+msgid "Adding a primary partition\n"
+msgstr "Dodanie partycji g³ównej\n"
+
+#: fdisk/fdisk.c:2216
+#, c-format
+msgid ""
+"Command action\n"
+"   %s\n"
+"   p   primary partition (1-4)\n"
+msgstr ""
+"Polecenie\n"
+"   %s\n"
+"   p   partycja g³ówna (1-4)\n"
+
+#: fdisk/fdisk.c:2218
+msgid "l   logical (5 or over)"
+msgstr "l   partycja logiczna (5 wzwy¿)"
+
+#: fdisk/fdisk.c:2218
+msgid "e   extended"
+msgstr "e   partycja rozszerzona"
+
+#: fdisk/fdisk.c:2237
+#, c-format
+msgid "Invalid partition number for type `%c'\n"
+msgstr "Niepoprawny numer partycji dla typu `%c'\n"
+
+#: fdisk/fdisk.c:2273
+#, c-format
+msgid ""
+"The partition table has been altered!\n"
+"\n"
+msgstr ""
+"Tablica partycji zosta³a zmodyfikowana!\n"
+"\n"
+
+#: fdisk/fdisk.c:2287
+#, c-format
+msgid "Calling ioctl() to re-read partition table.\n"
+msgstr "Wywo³ywanie ioctl() w celu ponownego odczytu tablicy partycji.\n"
+
+#: fdisk/fdisk.c:2296
+#, c-format
+msgid ""
+"\n"
+"WARNING: Re-reading the partition table failed with error %d: %s.\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: %s.\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"
+
+#: fdisk/fdisk.c:2304
+#, 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 manualu do fdiska.\n"
+
+#: fdisk/fdisk.c:2310
+#, c-format
+msgid ""
+"\n"
+"Error closing file\n"
+msgstr ""
+"\n"
+"B³±d podczas zamykania pliku\n"
+
+#: fdisk/fdisk.c:2314
+#, c-format
+msgid "Syncing disks.\n"
+msgstr "Synchronizacja dysków.\n"
+
+#: fdisk/fdisk.c:2361
+#, c-format
+msgid "Partition %d has no data area\n"
+msgstr "Partycja %d nie ma obszaru danych\n"
+
+#: fdisk/fdisk.c:2366
+msgid "New beginning of data"
+msgstr "Nowy pocz±tek danych"
+
+#: fdisk/fdisk.c:2382
+msgid "Expert command (m for help): "
+msgstr "Polecenie eksperta (m wy¶wietla pomoc): "
+
+#: fdisk/fdisk.c:2395
+msgid "Number of cylinders"
+msgstr "Liczba cylindrów"
+
+#: fdisk/fdisk.c:2422
+msgid "Number of heads"
+msgstr "Liczba g³owic"
+
+#: fdisk/fdisk.c:2449
+msgid "Number of sectors"
+msgstr "Liczba sektorów"
+
+#: fdisk/fdisk.c:2452
+#, c-format
+msgid "Warning: setting sector offset for DOS compatiblity\n"
+msgstr "Uwaga: ustawianie offsetu sektora dla kompatybilno¶ci z DOS-em\n"
+
+#: fdisk/fdisk.c:2511
+#, 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"
+
+#: fdisk/fdisk.c:2533
+#, c-format
+msgid "Disk %s doesn't contain a valid partition table\n"
+msgstr "Dysk %s nie zawiera poprawnej tablicy partycji\n"
+
+#: fdisk/fdisk.c:2544
+#, c-format
+msgid "Cannot open %s\n"
+msgstr "Nie mo¿na otworzyæ %s\n"
+
+#: fdisk/fdisk.c:2563 fdisk/sfdisk.c:2618
+#, c-format
+msgid "cannot open %s\n"
+msgstr "nie mo¿na otworzyæ %s\n"
+
+#: fdisk/fdisk.c:2583
+#, c-format
+msgid "%c: unknown command\n"
+msgstr "%c: nieznane polecenie\n"
+
+#: fdisk/fdisk.c:2653
+#, c-format
+msgid "This kernel finds the sector size itself - -b option ignored\n"
+msgstr "J±dro samo rozpoznaje rozmiar sektora - opcja -b zignorowana\n"
+
+#: fdisk/fdisk.c:2657
+#, 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"
+
+#: fdisk/fdisk.c:2717
+#, 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"
+
+#: fdisk/fdisk.c:2727
+msgid "Command (m for help): "
+msgstr "Polecenie (m wy¶wietla pomoc): "
+
+#: fdisk/fdisk.c:2743
+#, c-format
+msgid ""
+"\n"
+"The current boot file is: %s\n"
+msgstr ""
+"\n"
+"Obecny plik rozruchowy to: %s\n"
+
+#: fdisk/fdisk.c:2745
+msgid "Please enter the name of the new boot file: "
+msgstr "Proszê wpisaæ nazwê nowego pliku rozruchowego: "
+
+#: fdisk/fdisk.c:2747
+#, c-format
+msgid "Boot file unchanged\n"
+msgstr "Plik rozruchowy pozosta³ bez zmian\n"
+
+#: fdisk/fdisk.c:2820
+#, c-format
+msgid ""
+"\n"
+"\tSorry, no experts menu for SGI partition tables available.\n"
+"\n"
+msgstr ""
+"\n"
+"\tNiestety menu eksperta dla tablicy partycji SGI nie jest dostêpne.\n"
+"\n"
+
+#: fdisk/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"
+
+#: fdisk/fdisksgilabel.c:81
+msgid "SGI volhdr"
+msgstr "SGI volhdr"
+
+#: fdisk/fdisksgilabel.c:82
+msgid "SGI trkrepl"
+msgstr "SGI trkrepl"
+
+#: fdisk/fdisksgilabel.c:83
+msgid "SGI secrepl"
+msgstr "SGI secrepl"
+
+#: fdisk/fdisksgilabel.c:84
+msgid "SGI raw"
+msgstr "SGI raw"
+
+#: fdisk/fdisksgilabel.c:85
+msgid "SGI bsd"
+msgstr "SGI bsd"
+
+#: fdisk/fdisksgilabel.c:86
+msgid "SGI sysv"
+msgstr "SGI sysv"
+
+#: fdisk/fdisksgilabel.c:87
+msgid "SGI volume"
+msgstr "SGI volume"
+
+#: fdisk/fdisksgilabel.c:88
+msgid "SGI efs"
+msgstr "SGI efs"
+
+#: fdisk/fdisksgilabel.c:89
+msgid "SGI lvol"
+msgstr "SGI lvol"
+
+#: fdisk/fdisksgilabel.c:90
+msgid "SGI rlvol"
+msgstr "SGI rlvol"
+
+#: fdisk/fdisksgilabel.c:91
+msgid "SGI xfs"
+msgstr "SGI xfs"
+
+#: fdisk/fdisksgilabel.c:92
+msgid "SGI xfslog"
+msgstr "SGI xfslog"
+
+#: fdisk/fdisksgilabel.c:93
+msgid "SGI xlv"
+msgstr "SGI xlv"
+
+#: fdisk/fdisksgilabel.c:94
+msgid "SGI xvm"
+msgstr "SGI xvm"
+
+#: fdisk/fdisksgilabel.c:95 fdisk/fdisksunlabel.c:55
+msgid "Linux swap"
+msgstr "Linux swap"
+
+#: fdisk/fdisksgilabel.c:96 fdisk/fdisksunlabel.c:56
+msgid "Linux native"
+msgstr "Linux native"
+
+#: fdisk/fdisksgilabel.c:97 fdisk/fdisksunlabel.c:57 fdisk/i386_sys_types.c:63
+msgid "Linux LVM"
+msgstr "Linux LVM"
+
+#: fdisk/fdisksgilabel.c:98
+msgid "Linux RAID"
+msgstr "Linux RAID"
+
+#: fdisk/fdisksgilabel.c:164
+#, 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"
+
+#: fdisk/fdisksgilabel.c:183
+#, c-format
+msgid "Detected sgi disklabel with wrong checksum.\n"
+msgstr "Wykryto etykietê dysku SGI z b³êdn± sum± kontroln±.\n"
+
+#: fdisk/fdisksgilabel.c:201
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors\n"
+"%d cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * %d bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Dysk %s (etykieta dysku SGI): g³owic: %d, sektorów: %llu\n"
+"cylindrów: %d, fizycznych cylindrów: %d\n"
+"dodatkowych sektorów/cylinder: %d, przeplot %d:1\n"
+"%s\n"
+"Jednostka = %s, czyli %d * %d bajtów\n"
+"\n"
+
+#: fdisk/fdisksgilabel.c:214
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors, %d cylinders\n"
+"Units = %s of %d * %d bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Dysk %s (etykieta dysku SGI): g³owic: %d, sektorów: %llu, cylindrów: %d\n"
+"Jednostka: %s, czyli %d * %d bajtów\n"
+"\n"
+
+#: fdisk/fdisksgilabel.c:221
+#, 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"
+
+#: fdisk/fdisksgilabel.c:243
+#, c-format
+msgid ""
+"----- Bootinfo -----\n"
+"Bootfile: %s\n"
+"----- Directory Entries -----\n"
+msgstr ""
+"----- Rozruch -----\n"
+"Plik rozruchu: %s\n"
+"----- Wpisy katalogu -----\n"
+
+#: fdisk/fdisksgilabel.c:251
+#, c-format
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr "%2d: %-10s sektor%5u rozmiar%8u\n"
+
+#: fdisk/fdisksgilabel.c:305
+#, 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"
+
+#: fdisk/fdisksgilabel.c:311
+#, 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"
+
+#: fdisk/fdisksgilabel.c:316
+#, c-format
+msgid ""
+"\n"
+"\tBootfile must have a fully qualified pathname.\n"
+msgstr ""
+"\n"
+"\tPlik rozruchowy musi mieæ pe³n± ¶cie¿kê.\n"
+
+#: fdisk/fdisksgilabel.c:323
+#, 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"
+
+#: fdisk/fdisksgilabel.c:349
+#, c-format
+msgid ""
+"\n"
+"\tBootfile is changed to \"%s\".\n"
+msgstr ""
+"\n"
+"\tPlik rozruchowy zmieniony na \"%s\".\n"
+
+#: fdisk/fdisksgilabel.c:439
+#, c-format
+msgid "More than one entire disk entry present.\n"
+msgstr "Istnieje wiêcej ni¿ jeden wpis dla ca³ego dysku.\n"
+
+#: fdisk/fdisksgilabel.c:446 fdisk/fdisksunlabel.c:388
+#, c-format
+msgid "No partitions defined\n"
+msgstr "Nie zdefiniowano ¿adnej partycji\n"
+
+#: fdisk/fdisksgilabel.c:452
+#, c-format
+msgid "IRIX likes when Partition 11 covers the entire disk.\n"
+msgstr "IRIX lubi gdy partycja 11 pokrywa ca³y dysk.\n"
+
+#: fdisk/fdisksgilabel.c:454
+#, 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"
+
+#: fdisk/fdisksgilabel.c:460
+#, 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"
+
+#: fdisk/fdisksgilabel.c:466
+#, c-format
+msgid "One Partition (#11) should cover the entire disk.\n"
+msgstr "Jedna partycja (#11) powinna pokrywaæ ca³y dysk.\n"
+
+#: fdisk/fdisksgilabel.c:476
+#, c-format
+msgid "Partition %d does not start on cylinder boundary.\n"
+msgstr "Partycja %d nie zaczyna siê na granicy cylindra.\n"
+
+#: fdisk/fdisksgilabel.c:482
+#, c-format
+msgid "Partition %d does not end on cylinder boundary.\n"
+msgstr "Partycja %d nie koñczy siê na granicy cylindra.\n"
+
+#: fdisk/fdisksgilabel.c:489
+#, c-format
+msgid "The Partition %d and %d overlap by %d sectors.\n"
+msgstr "Partycje %d i %d zachodz± na siebie %d sektorami.\n"
+
+#: fdisk/fdisksgilabel.c:497 fdisk/fdisksgilabel.c:515
+#, c-format
+msgid "Unused gap of %8u sectors - sectors %8u-%u\n"
+msgstr "Nieu¿ywany odstêp %8u sektorów - sektory %8u-%u\n"
+
+#: fdisk/fdisksgilabel.c:526
+#, c-format
+msgid ""
+"\n"
+"The boot partition does not exist.\n"
+msgstr ""
+"\n"
+"Partycja rozruchowa nie istnieje.\n"
+
+#: fdisk/fdisksgilabel.c:529
+#, c-format
+msgid ""
+"\n"
+"The swap partition does not exist.\n"
+msgstr ""
+"\n"
+"Partycja wymiany nie istnieje.\n"
+
+#: fdisk/fdisksgilabel.c:533
+#, c-format
+msgid ""
+"\n"
+"The swap partition has no swap type.\n"
+msgstr ""
+"\n"
+"Partycja wymiany nie jest typu swap.\n"
+
+#: fdisk/fdisksgilabel.c:536
+#, c-format
+msgid "\tYou have chosen an unusual boot file name.\n"
+msgstr "\tWybrano niestandardow± nazwê pliku rozruchowego.\n"
+
+#: fdisk/fdisksgilabel.c:545
+#, c-format
+msgid "Sorry You may change the Tag of non-empty partitions.\n"
+msgstr "Mo¿na zmieniæ znacznik tylko dla niepustych partycji.\n"
+
+#: fdisk/fdisksgilabel.c:551
+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"
+
+#: fdisk/fdisksgilabel.c:556 fdisk/fdisksunlabel.c:554
+msgid "YES\n"
+msgstr "TAK\n"
+
+#: fdisk/fdisksgilabel.c:581
+#, c-format
+msgid "Do You know, You got a partition overlap on the disk?\n"
+msgstr "Na tym dysku partycje zachodz± na siebie.\n"
+
+#: fdisk/fdisksgilabel.c:639
+#, c-format
+msgid "Attempting to generate entire disk entry automatically.\n"
+msgstr "Próba automatycznego wygenerowania wpisy dla ca³ego dysku.\n"
+
+#: fdisk/fdisksgilabel.c:644
+#, c-format
+msgid "The entire disk is already covered with partitions.\n"
+msgstr "Ca³y dysk jest ju¿ pokryty partycjami.\n"
+
+#: fdisk/fdisksgilabel.c:648
+#, 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"
+
+#: fdisk/fdisksgilabel.c:657 fdisk/fdisksgilabel.c:686
+#, 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"
+
+#: fdisk/fdisksgilabel.c:673
+#, 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"
+
+#: fdisk/fdisksgilabel.c:678
+#, c-format
+msgid " Last %s"
+msgstr " Ostatni %s"
+
+#: fdisk/fdisksgilabel.c:708
+#, c-format
+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 ""
+"Tworzenie nowej etykiety dysku SGI. Zmiany pozostan± tylko w pamiêci\n"
+"do chwili ich zapisania. Potem, oczywi¶cie, poprzednia zawarto¶æ\n"
+"bêdzie nie do odzyskania.\n"
+"\n"
+
+#: fdisk/fdisksgilabel.c:731 fdisk/fdisksunlabel.c:227
+#, c-format
+msgid ""
+"Warning:  BLKGETSIZE ioctl failed on %s.  Using geometry cylinder value of %"
+"d.\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 %"
+"d.\n"
+"Ta warto¶æ mo¿e byæ uciêta dla urz±dzeñ > 33.8GB.\n"
+
+#: fdisk/fdisksgilabel.c:745
+#, c-format
+msgid "Trying to keep parameters of partition %d.\n"
+msgstr "Próba zachowania parametrów partycji %d.\n"
+
+#: fdisk/fdisksgilabel.c:747
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr "ID=%02x\tPOCZ¡TEK=%d\tD£UGO¦Æ=%d\n"
+
+#: fdisk/fdisksunlabel.c:43
+msgid "Unassigned"
+msgstr "Bez przydzia³u"
+
+#: fdisk/fdisksunlabel.c:45
+msgid "SunOS root"
+msgstr "SunOS root"
+
+#: fdisk/fdisksunlabel.c:46
+msgid "SunOS swap"
+msgstr "SunOS swap"
+
+#: fdisk/fdisksunlabel.c:47
+msgid "SunOS usr"
+msgstr "SunOS usr"
+
+#: fdisk/fdisksunlabel.c:48
+msgid "Whole disk"
+msgstr "Ca³y dysk"
+
+#: fdisk/fdisksunlabel.c:49
+msgid "SunOS stand"
+msgstr "SunOS stand"
+
+#: fdisk/fdisksunlabel.c:50
+msgid "SunOS var"
+msgstr "SunOS var"
+
+#: fdisk/fdisksunlabel.c:51
+msgid "SunOS home"
+msgstr "SunOS home"
+
+#: fdisk/fdisksunlabel.c:52
+msgid "SunOS alt sectors"
+msgstr "SunOS alt sectors"
+
+#: fdisk/fdisksunlabel.c:53
+msgid "SunOS cachefs"
+msgstr "SunOS cachefs"
+
+#: fdisk/fdisksunlabel.c:54
+msgid "SunOS reserved"
+msgstr "SunOS reserved"
+
+#: fdisk/fdisksunlabel.c:58 fdisk/i386_sys_types.c:103
+msgid "Linux raid autodetect"
+msgstr "Linux RAID autodetect"
+
+#: fdisk/fdisksunlabel.c:141
+#, 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"
+
+#: fdisk/fdisksunlabel.c:153
+#, c-format
+msgid "Detected sun disklabel with wrong version [0x%08x].\n"
+msgstr "Wykryto etykietê dysku Suna z b³êdn± wersj± [0x%08x].\n"
+
+#: fdisk/fdisksunlabel.c:158
+#, 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"
+
+#: fdisk/fdisksunlabel.c:163
+#, c-format
+msgid "Detected sun disklabel with wrong num_partitions [%u].\n"
+msgstr "Wykryto etykietê dysku Suna z b³êdn± liczb± partycji [%u].\n"
+
+#: fdisk/fdisksunlabel.c:168
+#, 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"
+
+#: fdisk/fdisksunlabel.c:198
+#, c-format
+msgid ""
+"Building a new sun disklabel. Changes will remain in memory only,\n"
+"until you decide to write them. After that, of course, the previous\n"
+"content won't be recoverable.\n"
+"\n"
+msgstr ""
+"Tworzenie nowej etykiety dysku Suna. Zmiany pozostan± tylko w pamiêci\n"
+"do chwili ich zapisania. Potem, oczywi¶cie, poprzednia zawarto¶æ bêdzie\n"
+"nie do odzyskania.\n"
+"\n"
+
+#: fdisk/fdisksunlabel.c:236
+msgid "Sectors/track"
+msgstr "Sektorów/¶cie¿kê"
+
+#: fdisk/fdisksunlabel.c:351
+#, c-format
+msgid "Partition %d doesn't end on cylinder boundary\n"
+msgstr "Partycja %d nie koñczy siê na granicy cylindra\n"
+
+#: fdisk/fdisksunlabel.c:371
+#, c-format
+msgid "Partition %d overlaps with others in sectors %d-%d\n"
+msgstr "Partycja %d zachodzi na inne w sektorach %d-%d\n"
+
+#: fdisk/fdisksunlabel.c:393
+#, c-format
+msgid "Unused gap - sectors 0-%d\n"
+msgstr "Nieu¿ywany odstêp - sektory 0-%d\n"
+
+#: fdisk/fdisksunlabel.c:395 fdisk/fdisksunlabel.c:401
+#, c-format
+msgid "Unused gap - sectors %d-%d\n"
+msgstr "Nieu¿ywany odstêp - sektory %d-%d\n"
+
+#: fdisk/fdisksunlabel.c:426
+#, 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"
+
+#: fdisk/fdisksunlabel.c:449
+#, 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"
+
+#: fdisk/fdisksunlabel.c:477
+#, c-format
+msgid "Sector %d is already allocated\n"
+msgstr "Sektor %d jest ju¿ przydzielony\n"
+
+#: fdisk/fdisksunlabel.c:507
+#, 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"
+
+#: fdisk/fdisksunlabel.c:534
+#, 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"
+
+#: fdisk/fdisksunlabel.c:549
+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): "
+
+#: fdisk/fdisksunlabel.c:581
+#, c-format
+msgid ""
+"\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"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Dysk %s (etykieta dysku Suna): g³owic: %d, sektorów: %llu, rpm: %d\n"
+"cylindrów: %d, 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"
+
+#: fdisk/fdisksunlabel.c:597
+#, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %d heads, %llu sectors, %d cylinders\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Dysk %s (etykieta dysku Suna): g³owic: %d, sektorów: %llu, cylindrów: %d\n"
+"Jednostka: %s, czyli %d * 512 bajtów\n"
+"\n"
+
+#: fdisk/fdisksunlabel.c:602
+#, c-format
+msgid "%*s Flag    Start       End    Blocks   Id  System\n"
+msgstr "%*s Flaga   Pocz±tek    Koniec Bloków   Id  System\n"
+
+#: fdisk/fdisksunlabel.c:630
+msgid "Number of alternate cylinders"
+msgstr "Liczba zmiennych cylindrów"
+
+#: fdisk/fdisksunlabel.c:642
+msgid "Extra sectors per cylinder"
+msgstr "Dodatkowych sektorów na cylinder"
+
+#: fdisk/fdisksunlabel.c:649
+msgid "Interleave factor"
+msgstr "Wspó³czynnik przeplotu"
+
+#: fdisk/fdisksunlabel.c:656
+msgid "Rotation speed (rpm)"
+msgstr "Prêdko¶æ obrotowa (rpm)"
+
+#: fdisk/fdisksunlabel.c:663
+msgid "Number of physical cylinders"
+msgstr "Liczba fizycznych cylindrów"
+
+#: fdisk/i386_sys_types.c:6
+msgid "Empty"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:7
+msgid "FAT12"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:8
+msgid "XENIX root"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:9
+msgid "XENIX usr"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:10
+msgid "FAT16 <32M"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:11
+msgid "Extended"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:12
+msgid "FAT16"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:13
+msgid "HPFS/NTFS"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:14
+msgid "AIX"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:17
+msgid "W95 FAT32"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:18
+msgid "W95 FAT32 (LBA)"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:19
+msgid "W95 FAT16 (LBA)"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:20
+msgid "W95 Ext'd (LBA)"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:21
+msgid "OPUS"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:22
+msgid "Hidden FAT12"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:23
+msgid "Compaq diagnostics"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:24
+msgid "Hidden FAT16 <32M"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:25
+msgid "Hidden FAT16"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:26
+msgid "Hidden HPFS/NTFS"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:27
+msgid "AST SmartSleep"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:28
+msgid "Hidden W95 FAT32"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:29
+msgid "Hidden W95 FAT32 (LBA)"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:30
+msgid "Hidden W95 FAT16 (LBA)"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:32
+msgid "Plan 9"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:33
+msgid "PartitionMagic recovery"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:34
+msgid "Venix 80286"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:35
+msgid "PPC PReP Boot"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:36
+msgid "SFS"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:37
+msgid "QNX4.x"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:38
+msgid "QNX4.x 2nd part"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:39
+msgid "QNX4.x 3rd part"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:40
+msgid "OnTrack DM"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:41
+msgid "OnTrack DM6 Aux1"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:42
+msgid "CP/M"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:43
+msgid "OnTrack DM6 Aux3"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:44
+msgid "OnTrackDM6"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:45
+msgid "EZ-Drive"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:46
+msgid "Golden Bow"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:47
+msgid "Priam Edisk"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:48 fdisk/i386_sys_types.c:92
+#: fdisk/i386_sys_types.c:98 fdisk/i386_sys_types.c:99
+msgid "SpeedStor"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:49
+msgid "GNU HURD or SysV"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:50
+msgid "Novell Netware 286"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:51
+msgid "Novell Netware 386"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:52
+msgid "DiskSecure Multi-Boot"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:53
+msgid "PC/IX"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:54
+msgid "Old Minix"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:55
+msgid "Minix / old Linux"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:56
+msgid "Linux swap / Solaris"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:58
+msgid "OS/2 hidden C: drive"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:59
+msgid "Linux extended"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:60 fdisk/i386_sys_types.c:61
+msgid "NTFS volume set"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:62
+msgid "Linux plaintext"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:64
+msgid "Amoeba"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:65
+msgid "Amoeba BBT"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:66
+msgid "BSD/OS"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:67
+msgid "IBM Thinkpad hibernation"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:68
+msgid "FreeBSD"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:69
+msgid "OpenBSD"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:70
+msgid "NeXTSTEP"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:71
+msgid "Darwin UFS"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:72
+msgid "NetBSD"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:73
+msgid "Darwin boot"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:74
+msgid "HFS / HFS+"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:75
+msgid "BSDI fs"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:76
+msgid "BSDI swap"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:77
+msgid "Boot Wizard hidden"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:78
+msgid "Solaris boot"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:79
+msgid "Solaris"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:80
+msgid "DRDOS/sec (FAT-12)"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:81
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:82
+msgid "DRDOS/sec (FAT-16)"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:83
+msgid "Syrinx"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:84
+msgid "Non-FS data"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:85
+msgid "CP/M / CTOS / ..."
+msgstr ""
+
+#: fdisk/i386_sys_types.c:87
+msgid "Dell Utility"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:88
+msgid "BootIt"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:89
+msgid "DOS access"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:91
+msgid "DOS R/O"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:94
+msgid "BeOS fs"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:95
+msgid "GPT"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:96
+msgid "EFI (FAT-12/16/32)"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:97
+msgid "Linux/PA-RISC boot"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:100
+msgid "DOS secondary"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:101
+msgid "VMware VMFS"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:102
+msgid "VMware VMKCORE"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:106
+msgid "LANstep"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:107
+msgid "BBT"
+msgstr ""
+
+#: fdisk/sfdisk.c:179
+#, c-format
+msgid "seek error on %s - cannot seek to %lu\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:184
+#, c-format
+msgid "seek error: wanted 0x%08x%08x, got 0x%08x%08x\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:230
+msgid "out of memory - giving up\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:235 fdisk/sfdisk.c:318
+#, c-format
+msgid "read error on %s - cannot read sector %lu\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:253
+#, c-format
+msgid "ERROR: sector %lu does not have an msdos signature\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:268
+#, c-format
+msgid "write error on %s - cannot write sector %lu\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:306
+#, c-format
+msgid "cannot open partition sector save file (%s)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:324
+#, c-format
+msgid "write error on %s\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:350
+#, c-format
+msgid "cannot stat partition restore file (%s)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:355
+msgid "partition restore file has wrong size - not restoring\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:359
+msgid "out of memory?\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:365
+#, c-format
+msgid "cannot open partition restore file (%s)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:371
+#, c-format
+msgid "error reading %s\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:378
+#, c-format
+msgid "cannot open device %s for writing\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:390
+#, c-format
+msgid "error writing sector %lu on %s\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:455
+#, c-format
+msgid "Disk %s: cannot get geometry\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:472
+#, c-format
+msgid "Disk %s: cannot get size\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:505
+#, 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 ""
+
+#: fdisk/sfdisk.c:512
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu heads\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:515
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu sectors\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:519
+#, c-format
+msgid "Warning: BLKGETSIZE/HDIO_GETGEO says that there are %lu cylinders\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:524
+#, 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 ""
+
+#: fdisk/sfdisk.c:528
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %lu cylinders, %lu heads, %lu sectors/track\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:610
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for head: %lu (should be in 0-%lu)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:615
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for sector: %lu (should be in 1-%"
+"lu)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:620
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for cylinders: %lu (should be in 0-%"
+"lu)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:660
+#, c-format
+msgid ""
+"Id  Name\n"
+"\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:821
+#, c-format
+msgid "Re-reading the partition table ...\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:827
+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 ""
+
+#: fdisk/sfdisk.c:833
+#, c-format
+msgid "Error closing %s\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:871
+#, c-format
+msgid "%s: no such partition\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:894
+msgid "unrecognized format - using sectors\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:944
+#, c-format
+msgid "unimplemented format - using %s\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:948
+#, c-format
+msgid ""
+"Units = cylinders of %lu bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:951
+#, c-format
+msgid "   Device Boot Start     End   #cyls    #blocks   Id  System\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:956
+#, c-format
+msgid ""
+"Units = sectors of 512 bytes, counting from %d\n"
+"\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:958
+#, c-format
+msgid "   Device Boot    Start       End   #sectors  Id  System\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:961
+#, c-format
+msgid ""
+"Units = blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:963
+#, c-format
+msgid "   Device Boot   Start       End    #blocks   Id  System\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:966
+#, c-format
+msgid ""
+"Units = mebibytes of 1048576 bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:968
+#, c-format
+msgid "   Device Boot Start   End    MiB    #blocks   Id  System\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1128
+#, c-format
+msgid "\t\tstart: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1135
+#, c-format
+msgid "\t\tend: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1138
+#, c-format
+msgid "partition ends on cylinder %ld, beyond the end of the disk\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1148
+msgid "No partitions found\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1152
+#, 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 ""
+
+#: fdisk/sfdisk.c:1201
+msgid "no partition table present.\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1203
+#, c-format
+msgid "strange, only %d partitions defined.\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1212
+#, c-format
+msgid "Warning: partition %s has size 0 but is not marked Empty\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1215
+#, c-format
+msgid "Warning: partition %s has size 0 and is bootable\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1218
+#, c-format
+msgid "Warning: partition %s has size 0 and nonzero start\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1229
+#, c-format
+msgid "Warning: partition %s "
+msgstr ""
+
+#: fdisk/sfdisk.c:1230
+#, c-format
+msgid "is not contained in partition %s\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1241
+#, c-format
+msgid "Warning: partitions %s "
+msgstr ""
+
+#: fdisk/sfdisk.c:1242
+#, c-format
+msgid "and %s overlap\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1253
+#, c-format
+msgid ""
+"Warning: partition %s contains part of the partition table (sector %lu),\n"
+"and will destroy it when filled\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1265
+#, c-format
+msgid "Warning: partition %s starts at sector 0\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1269
+#, c-format
+msgid "Warning: partition %s extends past end of disk\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1284
+msgid ""
+"Among the primary partitions, at most one can be extended\n"
+" (although this is not a problem under Linux)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1302
+#, c-format
+msgid "Warning: partition %s does not start at a cylinder boundary\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1308
+#, c-format
+msgid "Warning: partition %s does not end at a cylinder boundary\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1326
+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 ""
+
+#: fdisk/sfdisk.c:1333
+msgid ""
+"Warning: usually one can boot from primary partitions only\n"
+"LILO disregards the `bootable' flag.\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1339
+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 ""
+
+#: fdisk/sfdisk.c:1353
+msgid "start"
+msgstr ""
+
+#: fdisk/sfdisk.c:1356
+#, c-format
+msgid ""
+"partition %s: start: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1362
+msgid "end"
+msgstr ""
+
+#: fdisk/sfdisk.c:1365
+#, c-format
+msgid "partition %s: end: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1368
+#, c-format
+msgid "partition %s ends on cylinder %ld, beyond the end of the disk\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1393
+#, c-format
+msgid ""
+"Warning: shifted start of the extd partition from %ld to %ld\n"
+"(For listing purposes only. Do not change its contents.)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1399
+msgid ""
+"Warning: extended partition does not start at a cylinder boundary.\n"
+"DOS and Linux will interpret the contents differently.\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1417 fdisk/sfdisk.c:1494
+#, c-format
+msgid "too many partitions - ignoring those past nr (%d)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1432
+msgid "tree of partitions?\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1540
+msgid "detected Disk Manager - unable to handle that\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1547
+msgid "DM6 signature found - giving up\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1567
+msgid "strange..., an extended partition of size 0?\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1574 fdisk/sfdisk.c:1585
+msgid "strange..., a BSD partition of size 0?\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1619
+#, c-format
+msgid " %s: unrecognized partition table type\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1631
+msgid "-n flag was given: Nothing changed\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1647
+msgid "Failed saving the old sectors - aborting\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1652
+#, c-format
+msgid "Failed writing the partition on %s\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1729
+msgid "long or incomplete input line - quitting\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1765
+#, c-format
+msgid "input error: `=' expected after %s field\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1772
+#, c-format
+msgid "input error: unexpected character %c after %s field\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1778
+#, c-format
+msgid "unrecognized input: %s\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1820
+msgid "number too big\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1824
+msgid "trailing junk after number\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1948
+msgid "no room for partition descriptor\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1981
+msgid "cannot build surrounding extended partition\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2032
+msgid "too many input fields\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2066
+msgid "No room for more\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2085
+msgid "Illegal type\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2117
+#, c-format
+msgid "Warning: given size (%lu) exceeds max allowable size (%lu)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2123
+msgid "Warning: empty partition\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2137
+#, c-format
+msgid "Warning: bad partition start (earliest %lu)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2150
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2167 fdisk/sfdisk.c:2180
+msgid "partial c,h,s specification?\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2191
+msgid "Extended partition not where expected\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2223
+msgid "bad input\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2245
+msgid "too many partitions\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2278
+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 ""
+
+#: fdisk/sfdisk.c:2304
+#, c-format
+msgid "Usage: %s [options] device ...\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2305
+msgid "device: something like /dev/hda or /dev/sda"
+msgstr ""
+
+#: fdisk/sfdisk.c:2306
+msgid "useful options:"
+msgstr ""
+
+#: fdisk/sfdisk.c:2307
+msgid "    -s [or --show-size]: list size of a partition"
+msgstr ""
+
+#: fdisk/sfdisk.c:2308
+msgid "    -c [or --id]:        print or change partition Id"
+msgstr ""
+
+#: fdisk/sfdisk.c:2309
+msgid "    -l [or --list]:      list partitions of each device"
+msgstr ""
+
+#: fdisk/sfdisk.c:2310
+msgid "    -d [or --dump]:      idem, but in a format suitable for later input"
+msgstr ""
+
+#: fdisk/sfdisk.c:2311
+msgid "    -i [or --increment]: number cylinders etc. from 1 instead of from 0"
+msgstr ""
+
+#: fdisk/sfdisk.c:2312
+msgid ""
+"    -uS, -uB, -uC, -uM:  accept/report in units of sectors/blocks/cylinders/"
+"MB"
+msgstr ""
+
+#: fdisk/sfdisk.c:2313
+msgid "    -T [or --list-types]:list the known partition types"
+msgstr ""
+
+#: fdisk/sfdisk.c:2314
+msgid "    -D [or --DOS]:       for DOS-compatibility: waste a little space"
+msgstr ""
+
+#: fdisk/sfdisk.c:2315
+msgid "    -R [or --re-read]:   make kernel reread partition table"
+msgstr ""
+
+#: fdisk/sfdisk.c:2316
+msgid "    -N# :                change only the partition with number #"
+msgstr ""
+
+#: fdisk/sfdisk.c:2317
+msgid "    -n :                 do not actually write to disk"
+msgstr ""
+
+#: fdisk/sfdisk.c:2318
+msgid ""
+"    -O file :            save the sectors that will be overwritten to file"
+msgstr ""
+
+#: fdisk/sfdisk.c:2319
+msgid "    -I file :            restore these sectors again"
+msgstr ""
+
+#: fdisk/sfdisk.c:2320
+msgid "    -v [or --version]:   print version"
+msgstr ""
+
+#: fdisk/sfdisk.c:2321
+msgid "    -? [or --help]:      print this message"
+msgstr ""
+
+#: fdisk/sfdisk.c:2322
+msgid "dangerous options:"
+msgstr ""
+
+#: fdisk/sfdisk.c:2323
+msgid "    -g [or --show-geometry]: print the kernel's idea of the geometry"
+msgstr ""
+
+#: fdisk/sfdisk.c:2324
+msgid ""
+"    -G [or --show-pt-geometry]: print geometry guessed from the partition "
+"table"
+msgstr ""
+
+#: fdisk/sfdisk.c:2325
+msgid ""
+"    -x [or --show-extended]: also list extended partitions on output\n"
+"                             or expect descriptors for them on input"
+msgstr ""
+
+#: fdisk/sfdisk.c:2327
+msgid ""
+"    -L  [or --Linux]:      do not complain about things irrelevant for Linux"
+msgstr ""
+
+#: fdisk/sfdisk.c:2328
+msgid "    -q  [or --quiet]:      suppress warning messages"
+msgstr ""
+
+#: fdisk/sfdisk.c:2329
+msgid "    You can override the detected geometry using:"
+msgstr ""
+
+#: fdisk/sfdisk.c:2330
+msgid "    -C# [or --cylinders #]:set the number of cylinders to use"
+msgstr ""
+
+#: fdisk/sfdisk.c:2331
+msgid "    -H# [or --heads #]:    set the number of heads to use"
+msgstr ""
+
+#: fdisk/sfdisk.c:2332
+msgid "    -S# [or --sectors #]:  set the number of sectors to use"
+msgstr ""
+
+#: fdisk/sfdisk.c:2333
+msgid "You can disable all consistency checking with:"
+msgstr ""
+
+#: fdisk/sfdisk.c:2334
+msgid "    -f  [or --force]:      do what I say, even if it is stupid"
+msgstr ""
+
+#: fdisk/sfdisk.c:2340
+msgid "Usage:"
+msgstr ""
+
+#: fdisk/sfdisk.c:2341
+#, c-format
+msgid "%s device\t\t list active partitions on device\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2342
+#, c-format
+msgid "%s device n1 n2 ... activate partitions n1 ..., inactivate the rest\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2343
+#, c-format
+msgid "%s -An device\t activate partition n, inactivate the other ones\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2463
+#, 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 ""
+
+#: fdisk/sfdisk.c:2466
+#, c-format
+msgid "Use the --force flag to overrule this check.\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2505
+msgid "no command?\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2637
+#, c-format
+msgid "total: %llu blocks\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2680
+msgid "usage: sfdisk --print-id device partition-number\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2682
+msgid "usage: sfdisk --change-id device partition-number Id\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2684
+msgid "usage: sfdisk --id device partition-number [Id]\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2691
+msgid "can specify only one device (except with -l or -s)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2717
+#, c-format
+msgid "cannot open %s read-write\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2719
+#, c-format
+msgid "cannot open %s for reading\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2744
+#, c-format
+msgid "%s: OK\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2763 fdisk/sfdisk.c:2796
+#, c-format
+msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2815
+#, c-format
+msgid "Cannot get size of %s\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2895
+#, c-format
+msgid "bad active byte: 0x%x instead of 0x80\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2913 fdisk/sfdisk.c:2968 fdisk/sfdisk.c:3001
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2922
+#, 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 ""
+
+#: fdisk/sfdisk.c:2938
+#, c-format
+msgid "partition %s has id %x and is not hidden\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2997
+#, c-format
+msgid "Bad Id %lx\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3014
+msgid "This disk is currently in use.\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3033
+#, c-format
+msgid "Fatal error: cannot find %s\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3036
+#, c-format
+msgid "Warning: %s is not a block device\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3042
+msgid "Checking that no-one is using this disk right now ...\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3044
+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 ""
+
+#: fdisk/sfdisk.c:3048
+msgid "Use the --force flag to overrule all checks.\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3052
+msgid "OK\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3061
+#, c-format
+msgid "Old situation:\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3065
+#, c-format
+msgid "Partition %d does not exist, cannot change it\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3073
+#, c-format
+msgid "New situation:\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3078
+msgid ""
+"I don't like these partitions - nothing changed.\n"
+"(If you really want this, use the --force option.)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3081
+msgid "I don't like this - probably you should answer No\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3086
+#, c-format
+msgid "Are you satisfied with this? [ynq] "
+msgstr ""
+
+#: fdisk/sfdisk.c:3088
+#, c-format
+msgid "Do you want to write this to disk? [ynq] "
+msgstr ""
+
+#: fdisk/sfdisk.c:3093
+#, c-format
+msgid ""
+"\n"
+"sfdisk: premature end of input\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3095
+msgid "Quitting - nothing changed\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3101
+#, c-format
+msgid "Please answer one of y,n,q\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3109
+#, c-format
+msgid ""
+"Successfully wrote the new partition table\n"
+"\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3115
+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 ""
+
+#: fsck/fsck.c:327
+#, c-format
+msgid "WARNING: couldn't open %s: %s\n"
+msgstr ""
+
+#: fsck/fsck.c:337
+#, c-format
+msgid "WARNING: bad format on line %d of %s\n"
+msgstr ""
+
+#: fsck/fsck.c:353
+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 ""
+
+#: fsck/fsck.c:461
+#, c-format
+msgid "fsck: %s: not found\n"
+msgstr ""
+
+#: fsck/fsck.c:577
+#, c-format
+msgid "%s: wait: No more child process?!?\n"
+msgstr ""
+
+#: fsck/fsck.c:599
+#, c-format
+msgid "Warning... %s for device %s exited with signal %d.\n"
+msgstr ""
+
+#: fsck/fsck.c:605
+#, c-format
+msgid "%s %s: status is %x, should never happen.\n"
+msgstr ""
+
+#: fsck/fsck.c:644
+#, c-format
+msgid "Finished with %s (exit status %d)\n"
+msgstr ""
+
+#: fsck/fsck.c:704
+#, c-format
+msgid "%s: Error %d while executing fsck.%s for %s\n"
+msgstr ""
+
+#: fsck/fsck.c:725
+msgid ""
+"Either all or none of the filesystem types passed to -t must be prefixed\n"
+"with 'no' or '!'.\n"
+msgstr ""
+
+#: fsck/fsck.c:744
+msgid "Couldn't allocate memory for filesystem types\n"
+msgstr ""
+
+#: fsck/fsck.c:867
+#, c-format
+msgid ""
+"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass "
+"number\n"
+msgstr ""
+
+#: fsck/fsck.c:894
+#, c-format
+msgid "fsck: cannot check %s: fsck.%s not found\n"
+msgstr ""
+
+#: fsck/fsck.c:950
+#, fuzzy
+msgid "Checking all file systems.\n"
+msgstr "Wymuszenie sprawdzanie systemu plików na %s.\n"
+
+#: fsck/fsck.c:1041
+#, c-format
+msgid "--waiting-- (pass %d)\n"
+msgstr ""
+
+#: fsck/fsck.c:1061
+#, fuzzy
+msgid ""
+"Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]\n"
+msgstr "U¿ycie: mkfs [-V] [-t typfs] [opcje-fs] urz±dzenie [rozmiar]\n"
+
+#: fsck/fsck.c:1099
+#, fuzzy, c-format
+msgid "%s: too many devices\n"
+msgstr "%s: nie jest to urz±dzenie blokowe\n"
+
+#: fsck/fsck.c:1110
+#, c-format
+msgid "Couldn't open %s: %s\n"
+msgstr ""
+
+#: fsck/fsck.c:1112
+#, c-format
+msgid "Is /proc mounted?\n"
+msgstr ""
+
+#: fsck/fsck.c:1121
+#, c-format
+msgid "Must be root to scan for matching filesystems: %s\n"
+msgstr ""
+
+#: fsck/fsck.c:1124
+#, c-format
+msgid "Couldn't find matching filesystem: %s\n"
+msgstr ""
+
+#: fsck/fsck.c:1132 fsck/fsck.c:1218
+#, fuzzy, c-format
+msgid "%s: too many arguments\n"
+msgstr "%s wymaga argumentu\n"
+
+#: fsck/fsck.c:1252
+#, c-format
+msgid "fsck from %s\n"
+msgstr ""
+
+#: fsck/fsck.c:1264
+#, fuzzy, c-format
+msgid "%s: Unable to allocate memory for fsck_path\n"
+msgstr "Nie mo¿na przydzieliæ bufora dla i-wêz³ów"
+
+#: getopt/getopt.c:229
+msgid "Try `getopt --help' for more information.\n"
+msgstr ""
+
+#: getopt/getopt.c:295
+msgid "empty long option after -l or --long argument"
+msgstr ""
+
+#: getopt/getopt.c:315
+msgid "unknown shell after -s or --shell argument"
+msgstr ""
+
+#: getopt/getopt.c:320
+msgid "Usage: getopt optstring parameters\n"
+msgstr ""
+
+#: getopt/getopt.c:321
+msgid "       getopt [options] [--] optstring parameters\n"
+msgstr ""
+
+#: getopt/getopt.c:322
+msgid "       getopt [options] -o|--options optstring [options] [--]\n"
+msgstr ""
+
+#: getopt/getopt.c:323
+msgid "              parameters\n"
+msgstr ""
+
+#: getopt/getopt.c:324
+msgid ""
+"  -a, --alternative            Allow long options starting with single -\n"
+msgstr ""
+
+#: getopt/getopt.c:325
+msgid "  -h, --help                   This small usage guide\n"
+msgstr ""
+
+#: getopt/getopt.c:326
+msgid "  -l, --longoptions=longopts   Long options to be recognized\n"
+msgstr ""
+
+#: getopt/getopt.c:327
+msgid ""
+"  -n, --name=progname          The name under which errors are reported\n"
+msgstr ""
+
+#: getopt/getopt.c:328
+msgid "  -o, --options=optstring      Short options to be recognized\n"
+msgstr ""
+
+#: getopt/getopt.c:329
+msgid "  -q, --quiet                  Disable error reporting by getopt(3)\n"
+msgstr ""
+
+#: getopt/getopt.c:330
+msgid "  -Q, --quiet-output           No normal output\n"
+msgstr ""
+
+#: getopt/getopt.c:331
+msgid "  -s, --shell=shell            Set shell quoting conventions\n"
+msgstr ""
+
+#: getopt/getopt.c:332
+msgid "  -T, --test                   Test for getopt(1) version\n"
+msgstr ""
+
+#: getopt/getopt.c:333
+msgid "  -u, --unqote                 Do not quote the output\n"
+msgstr ""
+
+#: getopt/getopt.c:334
+msgid "  -V, --version                Output version information\n"
+msgstr ""
+
+#: getopt/getopt.c:388 getopt/getopt.c:447
+msgid "missing optstring argument"
+msgstr ""
+
+#: getopt/getopt.c:435
+#, c-format
+msgid "getopt (enhanced) 1.1.4\n"
+msgstr ""
+
+#: getopt/getopt.c:441
+msgid "internal error, contact the author."
+msgstr ""
+
+#: hwclock/cmos.c:176
+#, c-format
+msgid "booted from MILO\n"
+msgstr ""
+
+#: hwclock/cmos.c:185
+#, c-format
+msgid "Ruffian BCD clock\n"
+msgstr ""
+
+#: hwclock/cmos.c:201
+#, c-format
+msgid "clockport adjusted to 0x%x\n"
+msgstr ""
+
+#: hwclock/cmos.c:213
+#, c-format
+msgid "funky TOY!\n"
+msgstr ""
+
+#: hwclock/cmos.c:244
+#, c-format
+msgid "%s: atomic %s failed for 1000 iterations!"
+msgstr ""
+
+#: hwclock/cmos.c:273
+#, c-format
+msgid "cmos_read(): write to control address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:276
+#, c-format
+msgid "cmos_read(): read data address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:307
+#, c-format
+msgid "cmos_write(): write to control address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:311
+#, c-format
+msgid "cmos_write(): write to data address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:574
+#, c-format
+msgid "Cannot open /dev/port: %s"
+msgstr ""
+
+#: hwclock/cmos.c:581
+#, c-format
+msgid "I failed to get permission because I didn't try.\n"
+msgstr ""
+
+#: hwclock/cmos.c:584
+#, c-format
+msgid "%s is unable to get I/O port access:  the iopl(3) call failed.\n"
+msgstr ""
+
+#: hwclock/cmos.c:587
+#, c-format
+msgid "Probably you need root privileges.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:231
+#, c-format
+msgid "Assuming hardware clock is kept in %s time.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:232 hwclock/hwclock.c:327
+msgid "UTC"
+msgstr ""
+
+#: hwclock/hwclock.c:232 hwclock/hwclock.c:326
+msgid "local"
+msgstr ""
+
+#: hwclock/hwclock.c:312
+#, c-format
+msgid "%s: Warning: unrecognized third line in adjtime file\n"
+msgstr ""
+
+#: hwclock/hwclock.c:314
+#, c-format
+msgid "(Expected: `UTC' or `LOCAL' or nothing.)\n"
+msgstr ""
+
+#: hwclock/hwclock.c:321
+#, c-format
+msgid "Last drift adjustment done at %ld seconds after 1969\n"
+msgstr ""
+
+#: hwclock/hwclock.c:323
+#, c-format
+msgid "Last calibration done at %ld seconds after 1969\n"
+msgstr ""
+
+#: hwclock/hwclock.c:325
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr ""
+
+#: hwclock/hwclock.c:327
+msgid "unknown"
+msgstr ""
+
+#: hwclock/hwclock.c:351
+#, c-format
+msgid "Waiting for clock tick...\n"
+msgstr ""
+
+#: hwclock/hwclock.c:357
+#, c-format
+msgid "...synchronization failed\n"
+msgstr ""
+
+#: hwclock/hwclock.c:359
+#, c-format
+msgid "...got clock tick\n"
+msgstr ""
+
+#: hwclock/hwclock.c:413
+#, c-format
+msgid "Invalid values in hardware clock: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+msgstr ""
+
+#: hwclock/hwclock.c:421
+#, c-format
+msgid "Hw clock time : %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr ""
+
+#: hwclock/hwclock.c:451
+#, c-format
+msgid "Time read from Hardware Clock: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+msgstr ""
+
+#: hwclock/hwclock.c:480
+#, c-format
+msgid "Setting Hardware Clock to %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr ""
+
+#: hwclock/hwclock.c:486
+#, c-format
+msgid "Clock not changed - testing only.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:536
+#, c-format
+msgid ""
+"Time elapsed since reference time has been %.6f seconds.\n"
+"Delaying further to reach the new time.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:572
+#, c-format
+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).\n"
+msgstr ""
+
+#: hwclock/hwclock.c:582
+#, c-format
+msgid "%s  %.6f seconds\n"
+msgstr ""
+
+#: hwclock/hwclock.c:616
+#, c-format
+msgid "No --date option specified.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:622
+#, c-format
+msgid "--date argument too long\n"
+msgstr ""
+
+#: hwclock/hwclock.c:629
+#, c-format
+msgid ""
+"The value of the --date option is not a valid date.\n"
+"In particular, it contains quotation marks.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:637
+#, c-format
+msgid "Issuing date command: %s\n"
+msgstr ""
+
+#: hwclock/hwclock.c:641
+msgid "Unable to run 'date' program in /bin/sh shell. popen() failed"
+msgstr ""
+
+#: hwclock/hwclock.c:649
+#, c-format
+msgid "response from date command = %s\n"
+msgstr ""
+
+#: hwclock/hwclock.c:651
+#, c-format
+msgid ""
+"The date command issued by %s returned unexpected results.\n"
+"The command was:\n"
+"  %s\n"
+"The response was:\n"
+"  %s\n"
+msgstr ""
+
+#: hwclock/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 ""
+
+#: hwclock/hwclock.c:674
+#, c-format
+msgid "date string %s equates to %ld seconds since 1969.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:706
+#, c-format
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot set the "
+"System Time from it.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:728 hwclock/hwclock.c:805
+#, c-format
+msgid "Calling settimeofday:\n"
+msgstr ""
+
+#: hwclock/hwclock.c:729 hwclock/hwclock.c:807
+#, c-format
+msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr ""
+
+#: hwclock/hwclock.c:731 hwclock/hwclock.c:809
+#, c-format
+msgid "\ttz.tz_minuteswest = %d\n"
+msgstr ""
+
+#: hwclock/hwclock.c:734 hwclock/hwclock.c:812
+#, c-format
+msgid "Not setting system clock because running in test mode.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:743 hwclock/hwclock.c:821
+#, c-format
+msgid "Must be superuser to set system clock.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:746 hwclock/hwclock.c:824
+msgid "settimeofday() failed"
+msgstr ""
+
+#: hwclock/hwclock.c:782
+#, c-format
+msgid "Current system time: %ld = %s\n"
+msgstr ""
+
+#: hwclock/hwclock.c:806
+#, c-format
+msgid "\tUTC: %s\n"
+msgstr ""
+
+#: hwclock/hwclock.c:853
+#, c-format
+msgid ""
+"Not adjusting drift factor because the Hardware Clock previously contained "
+"garbage.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:858
+#, 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 ""
+
+#: hwclock/hwclock.c:864
+#, c-format
+msgid ""
+"Not adjusting drift factor because it has been less than a day since the "
+"last calibration.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:912
+#, 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 ""
+
+#: hwclock/hwclock.c:962
+#, c-format
+msgid "Time since last adjustment is %d seconds\n"
+msgstr ""
+
+#: hwclock/hwclock.c:964
+#, c-format
+msgid "Need to insert %d seconds and refer time back %.6f seconds ago\n"
+msgstr ""
+
+#: hwclock/hwclock.c:993
+#, c-format
+msgid "Not updating adjtime file because of testing mode.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:994
+#, c-format
+msgid ""
+"Would have written the following to %s:\n"
+"%s"
+msgstr ""
+
+#: hwclock/hwclock.c:1002
+#, c-format
+msgid ""
+"Could not open file with the clock adjustment parameters in it (%s) for "
+"writing"
+msgstr ""
+
+#: hwclock/hwclock.c:1007 hwclock/hwclock.c:1012
+#, c-format
+msgid "Could not update file with the clock adjustment parameters (%s) in it"
+msgstr ""
+
+#: hwclock/hwclock.c:1018
+#, c-format
+msgid "Drift adjustment parameters not updated.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1059
+#, c-format
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot adjust it.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1067
+#, c-format
+msgid ""
+"Not setting clock because last adjustment time is zero, so history is bad."
+msgstr ""
+
+#: hwclock/hwclock.c:1090
+#, c-format
+msgid "Needed adjustment is less than one second, so not setting clock.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1116
+#, c-format
+msgid "Using %s.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1118
+#, c-format
+msgid "No usable clock interface found.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1222 hwclock/hwclock.c:1228
+#, c-format
+msgid "Unable to set system clock.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1258
+#, c-format
+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.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1267
+#, c-format
+msgid "Unable to get the epoch value from the kernel.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1269
+#, c-format
+msgid "Kernel is assuming an epoch value of %lu\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1272
+#, c-format
+msgid ""
+"To set the epoch value, you must use the 'epoch' option to tell to what "
+"value to set it.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1275
+#, c-format
+msgid "Not setting the epoch to %d - testing only.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1278
+#, c-format
+msgid "Unable to set the epoch value in the kernel.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1291 misc-utils/cal.c:345 misc-utils/kill.c:189
+#, c-format
+msgid "%s from %s\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1312
+#, c-format
+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"
+"  -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/hwclock.c:1347
+#, c-format
+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 ""
+
+#: hwclock/hwclock.c:1434
+#, c-format
+msgid "%s: Unable to connect to audit system\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1552
+#, c-format
+msgid "%s takes no non-option arguments.  You supplied %d.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1559
+#, c-format
+msgid ""
+"You have specified multiple functions.\n"
+"You can only perform one function at a time.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1566
+#, c-format
+msgid ""
+"%s: The --utc and --localtime options are mutually exclusive.  You specified "
+"both.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1573
+#, c-format
+msgid ""
+"%s: The --adjust and --noadjfile options are mutually exclusive.  You "
+"specified both.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1580
+#, c-format
+msgid ""
+"%s: The --adjfile and --noadjfile options are mutually exclusive.  You "
+"specified both.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1589
+#, c-format
+msgid "%s: With --noadjfile, you must specify either --utc or --localtime\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1603
+#, c-format
+msgid "No usable set-to time.  Cannot set clock.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1620
+#, c-format
+msgid "Sorry, only the superuser can change the Hardware Clock.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1625
+#, c-format
+msgid "Sorry, only the superuser can change the System Clock.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1630
+#, c-format
+msgid ""
+"Sorry, only the superuser can change the Hardware Clock epoch in the "
+"kernel.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1651
+#, c-format
+msgid "Cannot access the Hardware Clock via any known method.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1655
+#, c-format
+msgid ""
+"Use the --debug option to see the details of our search for an access "
+"method.\n"
+msgstr ""
+
+#: hwclock/kd.c:53
+#, c-format
+msgid "Waiting in loop for time from KDGHWCLK to change\n"
+msgstr ""
+
+#: hwclock/kd.c:56
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr ""
+
+#: hwclock/kd.c:77 hwclock/rtc.c:221
+#, c-format
+msgid "Timed out waiting for time change.\n"
+msgstr ""
+
+#: hwclock/kd.c:81
+msgid "KDGHWCLK ioctl to read time failed in loop"
+msgstr ""
+
+#: hwclock/kd.c:103
+#, c-format
+msgid "ioctl() failed to read time from %s"
+msgstr ""
+
+#: hwclock/kd.c:139
+msgid "ioctl KDSHWCLK failed"
+msgstr ""
+
+#: hwclock/kd.c:175
+msgid "Can't open /dev/tty1 or /dev/vc/1"
+msgstr ""
+
+#: hwclock/kd.c:179
+msgid "KDGHWCLK ioctl failed"
+msgstr ""
+
+#: hwclock/rtc.c:147 hwclock/rtc.c:241
+#, c-format
+msgid "open() of %s failed"
+msgstr ""
+
+#: hwclock/rtc.c:181
+#, c-format
+msgid "ioctl() to %s to read the time failed.\n"
+msgstr ""
+
+#: hwclock/rtc.c:203
+#, c-format
+msgid "Waiting in loop for time from %s to change\n"
+msgstr ""
+
+#: hwclock/rtc.c:259
+#, c-format
+msgid "%s does not have interrupt functions. "
+msgstr ""
+
+#: hwclock/rtc.c:270
+#, c-format
+msgid "read() to %s to wait for clock tick failed"
+msgstr ""
+
+#: hwclock/rtc.c:288
+#, c-format
+msgid "select() to %s to wait for clock tick failed"
+msgstr ""
+
+#: hwclock/rtc.c:291
+#, c-format
+msgid "select() to %s to wait for clock tick timed out\n"
+msgstr ""
+
+#: hwclock/rtc.c:300
+#, c-format
+msgid "ioctl() to %s to turn off update interrupts failed"
+msgstr ""
+
+#: hwclock/rtc.c:303
+#, c-format
+msgid "ioctl() to %s to turn on update interrupts failed unexpectedly"
+msgstr ""
+
+#: hwclock/rtc.c:360
+#, c-format
+msgid "ioctl() to %s to set the time failed.\n"
+msgstr ""
+
+#: hwclock/rtc.c:366
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr ""
+
+#: hwclock/rtc.c:392
+#, c-format
+msgid "Open of %s failed"
+msgstr ""
+
+#: hwclock/rtc.c:410 hwclock/rtc.c:454
+#, 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.\n"
+msgstr ""
+
+#: hwclock/rtc.c:415 hwclock/rtc.c:459
+#, c-format
+msgid "Unable to open %s"
+msgstr ""
+
+#: hwclock/rtc.c:422
+#, c-format
+msgid "ioctl(RTC_EPOCH_READ) to %s failed"
+msgstr ""
+
+#: hwclock/rtc.c:427
+#, c-format
+msgid "we have read epoch %ld from %s with RTC_EPOCH_READ ioctl.\n"
+msgstr ""
+
+#: hwclock/rtc.c:446
+#, c-format
+msgid "The epoch value may not be less than 1900.  You requested %ld\n"
+msgstr ""
+
+#: hwclock/rtc.c:464
+#, c-format
+msgid "setting epoch to %ld with RTC_EPOCH_SET ioctl to %s.\n"
+msgstr ""
+
+#: hwclock/rtc.c:469
+#, c-format
+msgid ""
+"The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl.\n"
+msgstr ""
+
+#: hwclock/rtc.c:472
+#, c-format
+msgid "ioctl(RTC_EPOCH_SET) to %s failed"
+msgstr ""
+
+#: login-utils/agetty.c:361
+#, c-format
+msgid "%s: can't exec %s: %m"
+msgstr ""
+
+#: login-utils/agetty.c:384
+msgid "can't malloc initstring"
+msgstr ""
+
+#: login-utils/agetty.c:449
+#, c-format
+msgid "bad timeout value: %s"
+msgstr ""
+
+#: login-utils/agetty.c:526
+#, c-format
+msgid "bad speed: %s"
+msgstr ""
+
+#: login-utils/agetty.c:528
+msgid "too many alternate speeds"
+msgstr ""
+
+#: login-utils/agetty.c:630
+#, c-format
+msgid "/dev: chdir() failed: %m"
+msgstr ""
+
+#: login-utils/agetty.c:634
+#, c-format
+msgid "/dev/%s: not a character device"
+msgstr ""
+
+#: login-utils/agetty.c:643
+#, c-format
+msgid "/dev/%s: cannot open as standard input: %m"
+msgstr ""
+
+#: login-utils/agetty.c:653
+#, c-format
+msgid "%s: not open for read/write"
+msgstr ""
+
+#: login-utils/agetty.c:659
+#, c-format
+msgid "%s: dup problem: %m"
+msgstr ""
+
+#: login-utils/agetty.c:946
+#, c-format
+msgid "user"
+msgstr ""
+
+#: login-utils/agetty.c:946
+#, c-format
+msgid "users"
+msgstr ""
+
+#: login-utils/agetty.c:1031
+#, c-format
+msgid "%s: read: %m"
+msgstr ""
+
+#: login-utils/agetty.c:1078
+#, c-format
+msgid "%s: input overrun"
+msgstr ""
+
+#: login-utils/agetty.c:1207
+#, c-format
+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 ""
+
+#: login-utils/checktty.c:91 login-utils/checktty.c:112
+#, c-format
+msgid "login: memory low, login may fail\n"
+msgstr ""
+
+#: login-utils/checktty.c:92
+msgid "can't malloc for ttyclass"
+msgstr ""
+
+#: login-utils/checktty.c:113
+msgid "can't malloc for grplist"
+msgstr ""
+
+#: login-utils/checktty.c:554
+#, c-format
+msgid "Login on %s from %s denied by default.\n"
+msgstr ""
+
+#: login-utils/checktty.c:565
+#, c-format
+msgid "Login on %s from %s denied.\n"
+msgstr ""
+
+#: login-utils/chfn.c:133 login-utils/chsh.c:119
+#, c-format
+msgid "%s: you (user %d) don't exist.\n"
+msgstr ""
+
+#: login-utils/chfn.c:140 login-utils/chsh.c:126
+#, c-format
+msgid "%s: user \"%s\" does not exist.\n"
+msgstr ""
+
+#: login-utils/chfn.c:145 login-utils/chsh.c:131
+#, c-format
+msgid "%s: can only change local entries; use yp%s instead.\n"
+msgstr ""
+
+#: login-utils/chfn.c:156 login-utils/chsh.c:142
+msgid "Unknown user context"
+msgstr ""
+
+#: login-utils/chfn.c:157
+#, c-format
+msgid "%s: %s is not authorized to change the finger info of %s\n"
+msgstr ""
+
+#: login-utils/chfn.c:164 login-utils/chsh.c:150
+#, c-format
+msgid "%s: Can't set default context for /etc/passwd"
+msgstr ""
+
+#: login-utils/chfn.c:178
+#, c-format
+msgid "Changing finger information for %s.\n"
+msgstr ""
+
+#: login-utils/chfn.c:189 login-utils/chsh.c:188 login-utils/login.c:572
+#, fuzzy, c-format
+msgid "%s: PAM failure, aborting: %s\n"
+msgstr "%s: nie uda³o siê otworzyæ: %s\n"
+
+#: login-utils/chfn.c:212 login-utils/chsh.c:211 login-utils/login.c:823
+#: login-utils/newgrp.c:85 login-utils/simpleinit.c:340 mount/lomount.c:744
+#: mount/lomount.c:747
+msgid "Password: "
+msgstr ""
+
+#: login-utils/chfn.c:215 login-utils/chsh.c:214
+msgid "Incorrect password."
+msgstr ""
+
+#: login-utils/chfn.c:226
+#, c-format
+msgid "Finger information not changed.\n"
+msgstr ""
+
+#: login-utils/chfn.c:328
+#, c-format
+msgid "Usage: %s [ -f full-name ] [ -o office ] "
+msgstr ""
+
+#: login-utils/chfn.c:329
+#, c-format
+msgid ""
+"[ -p office-phone ]\n"
+"\t[ -h home-phone ] "
+msgstr ""
+
+#: login-utils/chfn.c:330
+#, c-format
+msgid "[ --help ] [ --version ]\n"
+msgstr ""
+
+#: login-utils/chfn.c:378
+msgid "Office"
+msgstr ""
+
+#: login-utils/chfn.c:379
+msgid "Office Phone"
+msgstr ""
+
+#: login-utils/chfn.c:380
+msgid "Home Phone"
+msgstr ""
+
+#: login-utils/chfn.c:401 login-utils/chsh.c:321
+#, c-format
+msgid ""
+"\n"
+"Aborted.\n"
+msgstr ""
+
+#: login-utils/chfn.c:434
+#, c-format
+msgid "field is too long.\n"
+msgstr ""
+
+#: login-utils/chfn.c:442
+#, c-format
+msgid "'%c' is not allowed.\n"
+msgstr ""
+
+#: login-utils/chfn.c:447
+#, c-format
+msgid "Control characters are not allowed.\n"
+msgstr ""
+
+#: login-utils/chfn.c:512
+#, c-format
+msgid "Finger information *NOT* changed.  Try again later.\n"
+msgstr ""
+
+#: login-utils/chfn.c:515
+#, c-format
+msgid "Finger information changed.\n"
+msgstr ""
+
+#: login-utils/chsh.c:143
+#, c-format
+msgid "%s: %s is not authorized to change the shell of %s\n"
+msgstr ""
+
+#: login-utils/chsh.c:164
+#, c-format
+msgid ""
+"%s: Running UID doesn't match UID of user we're altering, shell change "
+"denied\n"
+msgstr ""
+
+#: login-utils/chsh.c:170
+#, c-format
+msgid "%s: Your shell is not in /etc/shells, shell change denied\n"
+msgstr ""
+
+#: login-utils/chsh.c:177
+#, c-format
+msgid "Changing shell for %s.\n"
+msgstr ""
+
+#: login-utils/chsh.c:222
+msgid "New shell"
+msgstr ""
+
+#: login-utils/chsh.c:229
+#, c-format
+msgid "Shell not changed.\n"
+msgstr ""
+
+#: login-utils/chsh.c:235
+#, c-format
+msgid "Shell *NOT* changed.  Try again later.\n"
+msgstr ""
+
+#: login-utils/chsh.c:238
+#, c-format
+msgid "Shell changed.\n"
+msgstr ""
+
+#: login-utils/chsh.c:303
+#, c-format
+msgid ""
+"Usage: %s [ -s shell ] [ --list-shells ] [ --help ] [ --version ]\n"
+"       [ username ]\n"
+msgstr ""
+
+#: login-utils/chsh.c:349
+#, c-format
+msgid "%s: shell must be a full path name.\n"
+msgstr ""
+
+#: login-utils/chsh.c:353
+#, c-format
+msgid "%s: \"%s\" does not exist.\n"
+msgstr ""
+
+#: login-utils/chsh.c:357
+#, c-format
+msgid "%s: \"%s\" is not executable.\n"
+msgstr ""
+
+#: login-utils/chsh.c:364
+#, c-format
+msgid "%s: '%c' is not allowed.\n"
+msgstr ""
+
+#: login-utils/chsh.c:368
+#, c-format
+msgid "%s: Control characters are not allowed.\n"
+msgstr ""
+
+#: login-utils/chsh.c:375 login-utils/chsh.c:385
+#, c-format
+msgid "Warning: \"%s\" is not listed in /etc/shells.\n"
+msgstr ""
+
+#: login-utils/chsh.c:377
+#, c-format
+msgid "%s: \"%s\" is not listed in /etc/shells.\n"
+msgstr ""
+
+#: login-utils/chsh.c:379
+#, c-format
+msgid "%s: Use -l option to see list.\n"
+msgstr ""
+
+#: login-utils/chsh.c:386
+#, c-format
+msgid "Use %s -l to see list.\n"
+msgstr ""
+
+#: login-utils/chsh.c:406
+#, c-format
+msgid "No known shells.\n"
+msgstr ""
+
+#: login-utils/islocal.c:87
+#, c-format
+msgid "Failed to open %s for reading, exiting."
+msgstr ""
+
+#: login-utils/last.c:148
+msgid "usage: last [-#] [-f file] [-t tty] [-h hostname] [user ...]\n"
+msgstr ""
+
+#: login-utils/last.c:284
+msgid "  still logged in"
+msgstr ""
+
+#: login-utils/last.c:306
+#, c-format
+msgid ""
+"\n"
+"wtmp begins %s"
+msgstr ""
+
+#: login-utils/last.c:362 login-utils/last.c:380 login-utils/last.c:431
+msgid "last: malloc failure.\n"
+msgstr ""
+
+#: login-utils/last.c:407
+msgid "last: gethostname"
+msgstr ""
+
+#: login-utils/last.c:456
+#, c-format
+msgid ""
+"\n"
+"interrupted %10.10s %5.5s \n"
+msgstr ""
+
+#: login-utils/login.c:197
+#, c-format
+msgid "FATAL: can't reopen tty: %s"
+msgstr ""
+
+#: login-utils/login.c:229
+msgid "FATAL: bad tty"
+msgstr ""
+
+#: login-utils/login.c:436
+#, c-format
+msgid "login: -h for super-user only.\n"
+msgstr ""
+
+#: login-utils/login.c:479
+#, c-format
+msgid "usage: login [-fp] [username]\n"
+msgstr ""
+
+#: login-utils/login.c:574
+#, c-format
+msgid "Couldn't initialize PAM: %s"
+msgstr ""
+
+#: login-utils/login.c:591
+msgid "login: "
+msgstr ""
+
+#: login-utils/login.c:635
+#, c-format
+msgid "FAILED LOGIN %d FROM %s FOR %s, %s"
+msgstr ""
+
+#: login-utils/login.c:640
+#, c-format
+msgid ""
+"Login incorrect\n"
+"\n"
+msgstr ""
+
+#: login-utils/login.c:649
+#, c-format
+msgid "TOO MANY LOGIN TRIES (%d) FROM %s FOR %s, %s"
+msgstr ""
+
+#: login-utils/login.c:653
+#, c-format
+msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
+msgstr ""
+
+#: login-utils/login.c:658
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+
+#: login-utils/login.c:686 login-utils/login.c:693 login-utils/login.c:727
+#, c-format
+msgid ""
+"\n"
+"Session setup problem, abort.\n"
+msgstr ""
+
+#: login-utils/login.c:687
+#, c-format
+msgid "NULL user name in %s:%d. Abort."
+msgstr ""
+
+#: login-utils/login.c:694
+#, c-format
+msgid "Invalid user name \"%s\" in %s:%d. Abort."
+msgstr ""
+
+#: login-utils/login.c:713
+#, c-format
+msgid "login: Out of memory\n"
+msgstr ""
+
+#: login-utils/login.c:757
+msgid "Illegal username"
+msgstr ""
+
+#: login-utils/login.c:800
+#, c-format
+msgid "%s login refused on this terminal.\n"
+msgstr ""
+
+#: login-utils/login.c:805
+#, c-format
+msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
+msgstr ""
+
+#: login-utils/login.c:809
+#, c-format
+msgid "LOGIN %s REFUSED ON TTY %s"
+msgstr ""
+
+#: login-utils/login.c:863
+#, c-format
+msgid "Login incorrect\n"
+msgstr ""
+
+#: login-utils/login.c:1088
+#, c-format
+msgid "DIALUP AT %s BY %s"
+msgstr ""
+
+#: login-utils/login.c:1095
+#, c-format
+msgid "ROOT LOGIN ON %s FROM %s"
+msgstr ""
+
+#: login-utils/login.c:1098
+#, c-format
+msgid "ROOT LOGIN ON %s"
+msgstr ""
+
+#: login-utils/login.c:1101
+#, c-format
+msgid "LOGIN ON %s BY %s FROM %s"
+msgstr ""
+
+#: login-utils/login.c:1104
+#, c-format
+msgid "LOGIN ON %s BY %s"
+msgstr ""
+
+#: login-utils/login.c:1125
+#, c-format
+msgid "You have new mail.\n"
+msgstr ""
+
+#: login-utils/login.c:1127
+#, c-format
+msgid "You have mail.\n"
+msgstr ""
+
+#: login-utils/login.c:1171
+#, c-format
+msgid "login: failure forking: %s"
+msgstr ""
+
+#: login-utils/login.c:1218
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr ""
+
+#: login-utils/login.c:1224
+msgid "setuid() failed"
+msgstr ""
+
+#: login-utils/login.c:1230
+#, c-format
+msgid "No directory %s!\n"
+msgstr ""
+
+#: login-utils/login.c:1234
+#, c-format
+msgid "Logging in with home = \"/\".\n"
+msgstr ""
+
+#: login-utils/login.c:1242
+#, c-format
+msgid "login: no memory for shell script.\n"
+msgstr ""
+
+#: login-utils/login.c:1269
+#, c-format
+msgid "login: couldn't exec shell script: %s.\n"
+msgstr ""
+
+#: login-utils/login.c:1272
+#, c-format
+msgid "login: no shell: %s.\n"
+msgstr ""
+
+#: login-utils/login.c:1287
+#, c-format
+msgid ""
+"\n"
+"%s login: "
+msgstr ""
+
+#: login-utils/login.c:1298
+#, c-format
+msgid "login name much too long.\n"
+msgstr ""
+
+#: login-utils/login.c:1299
+msgid "NAME too long"
+msgstr ""
+
+#: login-utils/login.c:1306
+#, c-format
+msgid "login names may not start with '-'.\n"
+msgstr ""
+
+#: login-utils/login.c:1316
+#, c-format
+msgid "too many bare linefeeds.\n"
+msgstr ""
+
+#: login-utils/login.c:1317
+msgid "EXCESSIVE linefeeds"
+msgstr ""
+
+#: login-utils/login.c:1349
+#, c-format
+msgid "Login timed out after %d seconds\n"
+msgstr ""
+
+#: login-utils/login.c:1437
+#, c-format
+msgid "Last login: %.*s "
+msgstr ""
+
+#: login-utils/login.c:1441
+#, c-format
+msgid "from %.*s\n"
+msgstr ""
+
+#: login-utils/login.c:1444
+#, c-format
+msgid "on %.*s\n"
+msgstr ""
+
+#: login-utils/login.c:1470
+#, c-format
+msgid "LOGIN FAILURE FROM %s, %s"
+msgstr ""
+
+#: login-utils/login.c:1473
+#, c-format
+msgid "LOGIN FAILURE ON %s, %s"
+msgstr ""
+
+#: login-utils/login.c:1477
+#, c-format
+msgid "%d LOGIN FAILURES FROM %s, %s"
+msgstr ""
+
+#: login-utils/login.c:1480
+#, c-format
+msgid "%d LOGIN FAILURES ON %s, %s"
+msgstr ""
+
+#: login-utils/mesg.c:89
+#, c-format
+msgid "is y\n"
+msgstr ""
+
+#: login-utils/mesg.c:92
+#, c-format
+msgid "is n\n"
+msgstr ""
+
+#: login-utils/mesg.c:112
+#, c-format
+msgid "usage: mesg [y | n]\n"
+msgstr ""
+
+#: login-utils/newgrp.c:105
+msgid "newgrp: Who are you?"
+msgstr ""
+
+#: login-utils/newgrp.c:113 login-utils/newgrp.c:127
+msgid "newgrp: setgid"
+msgstr ""
+
+#: login-utils/newgrp.c:120 login-utils/newgrp.c:122
+msgid "newgrp: No such group."
+msgstr ""
+
+#: login-utils/newgrp.c:131
+msgid "newgrp: Permission denied"
+msgstr ""
+
+#: login-utils/newgrp.c:138
+msgid "newgrp: setuid"
+msgstr ""
+
+#: login-utils/newgrp.c:144
+msgid "No shell"
+msgstr ""
+
+#: login-utils/shutdown.c:115
+#, c-format
+msgid "Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+msgstr ""
+
+#: login-utils/shutdown.c:133
+msgid "Shutdown process aborted"
+msgstr ""
+
+#: login-utils/shutdown.c:164
+#, c-format
+msgid "%s: Only root can shut a system down.\n"
+msgstr ""
+
+#: login-utils/shutdown.c:258
+#, c-format
+msgid "That must be tomorrow, can't you wait till then?\n"
+msgstr ""
+
+#: login-utils/shutdown.c:309
+msgid "for maintenance; bounce, bounce"
+msgstr ""
+
+#: login-utils/shutdown.c:338
+msgid "The system is being shut down within 5 minutes"
+msgstr ""
+
+#: login-utils/shutdown.c:342
+msgid "Login is therefore prohibited."
+msgstr ""
+
+#: login-utils/shutdown.c:364
+#, c-format
+msgid "rebooted by %s: %s"
+msgstr ""
+
+#: login-utils/shutdown.c:367
+#, c-format
+msgid "halted by %s: %s"
+msgstr ""
+
+#: login-utils/shutdown.c:431
+msgid ""
+"\n"
+"Why am I still alive after reboot?"
+msgstr ""
+
+#: login-utils/shutdown.c:433
+msgid ""
+"\n"
+"Now you can turn off the power..."
+msgstr ""
+
+#: login-utils/shutdown.c:449
+#, c-format
+msgid "Calling kernel power-off facility...\n"
+msgstr ""
+
+#: login-utils/shutdown.c:452
+#, c-format
+msgid "Error powering off\t%s\n"
+msgstr ""
+
+#: login-utils/shutdown.c:460
+#, c-format
+msgid "Executing the program \"%s\" ...\n"
+msgstr ""
+
+#: login-utils/shutdown.c:463
+#, c-format
+msgid "Error executing\t%s\n"
+msgstr ""
+
+#: login-utils/shutdown.c:490
+#, c-format
+msgid "URGENT: broadcast message from %s:"
+msgstr ""
+
+#: login-utils/shutdown.c:496
+#, c-format
+msgid "System going down in %d hours %d minutes"
+msgstr ""
+
+#: login-utils/shutdown.c:499
+#, c-format
+msgid "System going down in 1 hour %d minutes"
+msgstr ""
+
+#: login-utils/shutdown.c:502
+#, c-format
+msgid "System going down in %d minutes\n"
+msgstr ""
+
+#: login-utils/shutdown.c:505
+#, c-format
+msgid "System going down in 1 minute\n"
+msgstr ""
+
+#: login-utils/shutdown.c:507
+#, c-format
+msgid "System going down IMMEDIATELY!\n"
+msgstr ""
+
+#: login-utils/shutdown.c:512
+#, c-format
+msgid "\t... %s ...\n"
+msgstr ""
+
+#: login-utils/shutdown.c:569
+msgid "Cannot fork for swapoff. Shrug!"
+msgstr ""
+
+#: login-utils/shutdown.c:577
+msgid "Cannot exec swapoff, hoping umount will do the trick."
+msgstr ""
+
+#: login-utils/shutdown.c:596
+msgid "Cannot fork for umount, trying manually."
+msgstr ""
+
+#: login-utils/shutdown.c:605
+#, c-format
+msgid "Cannot exec %s, trying umount.\n"
+msgstr ""
+
+#: login-utils/shutdown.c:609
+msgid "Cannot exec umount, giving up on umount."
+msgstr ""
+
+#: login-utils/shutdown.c:614
+msgid "Unmounting any remaining filesystems..."
+msgstr ""
+
+#: login-utils/shutdown.c:661
+#, c-format
+msgid "shutdown: Couldn't umount %s: %s\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:132
+msgid "Booting to single user mode.\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:136
+msgid "exec of single user shell failed\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:140
+msgid "fork of single user shell failed\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:208
+msgid "error opening fifo\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:212
+msgid "error setting close-on-exec on /dev/initctl"
+msgstr ""
+
+#: login-utils/simpleinit.c:259
+msgid "error running finalprog\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:263
+msgid "error forking finalprog\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:345
+msgid ""
+"\n"
+"Wrong password.\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:418
+msgid "lstat of path failed\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:426
+msgid "stat of path failed\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:434
+msgid "open of directory failed\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:501
+#, c-format
+msgid "respawning: \"%s\" too fast: quenching entry\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:509
+msgid "fork failed\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:540 text-utils/more.c:1629
+msgid "exec failed\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:564
+msgid "cannot open inittab\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:631
+msgid "no TERM or cannot stat tty\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:938
+#, c-format
+msgid "error stopping service: \"%s\"\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:950
+#, fuzzy, c-format
+msgid "Stopped service: %s\n"
+msgstr "Urz±dzenie: %s\n"
+
+#: login-utils/simpleinit.c:1070
+#, c-format
+msgid "error running programme: \"%s\"\n"
+msgstr ""
+
+#: login-utils/ttymsg.c:75
+msgid "too many iov's (change code in wall/ttymsg.c)"
+msgstr ""
+
+#: login-utils/ttymsg.c:85
+#, c-format
+msgid "excessively long line arg"
+msgstr ""
+
+#: login-utils/ttymsg.c:140
+#, c-format
+msgid "cannot fork"
+msgstr ""
+
+#: login-utils/ttymsg.c:144
+#, c-format
+msgid "fork: %s"
+msgstr ""
+
+#: login-utils/ttymsg.c:174
+#, c-format
+msgid "%s: BAD ERROR"
+msgstr ""
+
+#: login-utils/vipw.c:143
+#, c-format
+msgid "%s: the password file is busy.\n"
+msgstr ""
+
+#: login-utils/vipw.c:146
+#, c-format
+msgid "%s: the group file is busy.\n"
+msgstr ""
+
+#: login-utils/vipw.c:162
+#, c-format
+msgid "%s: the %s file is busy (%s present)\n"
+msgstr ""
+
+#: login-utils/vipw.c:168
+#, c-format
+msgid "%s: can't link %s: %s\n"
+msgstr ""
+
+#: login-utils/vipw.c:202
+#, c-format
+msgid "%s: Can't get context for %s"
+msgstr ""
+
+#: login-utils/vipw.c:208
+#, c-format
+msgid "%s: Can't set context for %s"
+msgstr ""
+
+#: login-utils/vipw.c:217
+#, c-format
+msgid "%s: can't unlock %s: %s (your changes are still in %s)\n"
+msgstr ""
+
+#: login-utils/vipw.c:240
+#, c-format
+msgid "%s: Cannot fork\n"
+msgstr ""
+
+#: login-utils/vipw.c:276
+#, c-format
+msgid "%s: %s unchanged\n"
+msgstr ""
+
+#: login-utils/vipw.c:297
+#, c-format
+msgid "%s: no changes made\n"
+msgstr ""
+
+#: login-utils/vipw.c:350
+#, c-format
+msgid "You are using shadow groups on this system.\n"
+msgstr ""
+
+#: login-utils/vipw.c:351
+#, c-format
+msgid "You are using shadow passwords on this system.\n"
+msgstr ""
+
+#: login-utils/vipw.c:352
+#, c-format
+msgid "Would you like to edit %s now [y/n]? "
+msgstr ""
+
+#: login-utils/wall.c:112
+#, c-format
+msgid "usage: %s [file]\n"
+msgstr ""
+
+#: login-utils/wall.c:167
+#, c-format
+msgid "%s: can't open temporary file.\n"
+msgstr ""
+
+#: login-utils/wall.c:194
+#, c-format
+msgid "Broadcast Message from %s@%s"
+msgstr ""
+
+#: login-utils/wall.c:212
+#, c-format
+msgid "%s: will not read %s - use stdin.\n"
+msgstr ""
+
+#: login-utils/wall.c:217
+#, c-format
+msgid "%s: can't read %s.\n"
+msgstr ""
+
+#: login-utils/wall.c:240
+#, c-format
+msgid "%s: can't stat temporary file.\n"
+msgstr ""
+
+#: login-utils/wall.c:250
+#, c-format
+msgid "%s: can't read temporary file.\n"
+msgstr ""
+
+#: misc-utils/cal.c:362 misc-utils/cal.c:374
+#, c-format
+msgid "illegal day value: use 1-%d"
+msgstr ""
+
+#: misc-utils/cal.c:366
+msgid "illegal month value: use 1-12"
+msgstr ""
+
+#: misc-utils/cal.c:370
+msgid "illegal year value: use 1-9999"
+msgstr ""
+
+#: misc-utils/cal.c:464
+#, c-format
+msgid "%s %d"
+msgstr ""
+
+#: misc-utils/cal.c:856
+#, c-format
+msgid "usage: cal [-13smjyV] [[[day] month] year]\n"
+msgstr ""
+
+#: misc-utils/ddate.c:203
+#, c-format
+msgid "usage: %s [+format] [day month year]\n"
+msgstr ""
+
+#: misc-utils/ddate.c:250
+msgid "St. Tib's Day"
+msgstr ""
+
+#: misc-utils/findfs.c:24
+#, c-format
+msgid "Usage: %s LABEL=<label>|UUID=<uuid>\n"
+msgstr ""
+
+#: misc-utils/findfs.c:55
+#, fuzzy, c-format
+msgid "unable to resolve '%s'"
+msgstr "nie mo¿na otworzyæ '%s'"
+
+#: misc-utils/kill.c:207
+#, c-format
+msgid "%s: unknown signal %s\n"
+msgstr ""
+
+#: misc-utils/kill.c:270
+#, c-format
+msgid "%s: can't find process \"%s\"\n"
+msgstr ""
+
+#: misc-utils/kill.c:314
+#, c-format
+msgid "%s: unknown signal %s; valid signals:\n"
+msgstr ""
+
+#: misc-utils/kill.c:354
+#, c-format
+msgid "usage: %s [ -s signal | -p ] [ -a ] pid ...\n"
+msgstr ""
+
+#: misc-utils/kill.c:355
+#, c-format
+msgid "       %s -l [ signal ]\n"
+msgstr ""
+
+#: misc-utils/logger.c:67
+#, c-format
+msgid "logger: openlog: pathname too long\n"
+msgstr ""
+
+#: misc-utils/logger.c:75
+#, fuzzy, c-format
+msgid "socket: %s.\n"
+msgstr "RozmiarBloku: %d\n"
+
+#: misc-utils/logger.c:80
+#, c-format
+msgid "connect: %s.\n"
+msgstr ""
+
+#: misc-utils/logger.c:139
+#, c-format
+msgid "logger: %s: %s.\n"
+msgstr ""
+
+#: misc-utils/logger.c:246
+#, c-format
+msgid "logger: unknown facility name: %s.\n"
+msgstr ""
+
+#: misc-utils/logger.c:258
+#, c-format
+msgid "logger: unknown priority name: %s.\n"
+msgstr ""
+
+#: misc-utils/logger.c:285
+#, c-format
+msgid ""
+"usage: logger [-is] [-f file] [-p pri] [-t tag] [-u socket] [ message ... ]\n"
+msgstr ""
+
+#: misc-utils/look.c:351
+#, c-format
+msgid "usage: look [-dfa] [-t char] string [file]\n"
+msgstr ""
+
+#: misc-utils/mcookie.c:105 misc-utils/mcookie.c:132
+#, c-format
+msgid "Could not open %s\n"
+msgstr ""
+
+#: misc-utils/mcookie.c:109 misc-utils/mcookie.c:128
+#, c-format
+msgid "Got %d bytes from %s\n"
+msgstr ""
+
+#: misc-utils/namei.c:144 misc-utils/namei.c:198 misc-utils/namei.c:220
+#: misc-utils/namei.c:227 misc-utils/namei.c:248
+#, fuzzy
+msgid "out of memory?"
+msgstr "%s: Zabrak³o pamiêci!\n"
+
+#: misc-utils/namei.c:189
+#, fuzzy, c-format
+msgid "failed to read symlink: %s"
+msgstr "%s: nie uda³o siê otworzyæ: %s\n"
+
+#: misc-utils/namei.c:229
+#, c-format
+msgid "could not stat '%s'"
+msgstr ""
+
+#: misc-utils/namei.c:411
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [options] pathname [pathname ...]\n"
+msgstr ""
+
+#: misc-utils/namei.c:412
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+
+#: misc-utils/namei.c:415
+#, c-format
+msgid ""
+" -h, --help          displays this help text\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:423
+#, c-format
+msgid ""
+"\n"
+"For more information see namei(1).\n"
+msgstr ""
+
+#: misc-utils/namei.c:484
+#, fuzzy, c-format
+msgid "failed to stat: %s"
+msgstr "%s: nie uda³o siê otworzyæ: %s\n"
+
+#: misc-utils/namei.c:495
+#, c-format
+msgid "%s: exceeded limit of symlinks"
+msgstr ""
+
+#: misc-utils/rename.c:38
+#, c-format
+msgid "%s: out of memory\n"
+msgstr ""
+
+#: misc-utils/rename.c:56
+#, c-format
+msgid "%s: renaming %s to %s failed: %s\n"
+msgstr ""
+
+#: misc-utils/rename.c:86
+#, c-format
+msgid "call: %s from to files...\n"
+msgstr ""
+
+#: misc-utils/script.c:110
+#, c-format
+msgid ""
+"Warning: `%s' is a link.\n"
+"Use `%s [options] %s' if you really want to use it.\n"
+"Script not started.\n"
+msgstr ""
+
+#: misc-utils/script.c:173
+#, c-format
+msgid "usage: script [-a] [-f] [-q] [-t] [file]\n"
+msgstr ""
+
+#: misc-utils/script.c:196
+#, c-format
+msgid "Script started, file is %s\n"
+msgstr ""
+
+#: misc-utils/script.c:244
+#, fuzzy, c-format
+msgid "%s: write error %d: %s\n"
+msgstr "%s: b³±d odczytu na %s\n"
+
+#: misc-utils/script.c:304
+#, c-format
+msgid "Script started on %s"
+msgstr ""
+
+#: misc-utils/script.c:347
+#, fuzzy, c-format
+msgid "%s: write error: %s\n"
+msgstr "%s: b³±d odczytu na %s\n"
+
+#: misc-utils/script.c:354
+#, c-format
+msgid "%s: cannot write script file, error: %s\n"
+msgstr ""
+
+#: misc-utils/script.c:430
+#, c-format
+msgid ""
+"\n"
+"Script done on %s"
+msgstr ""
+
+#: misc-utils/script.c:437
+#, c-format
+msgid "Script done, file is %s\n"
+msgstr ""
+
+#: misc-utils/script.c:448
+#, c-format
+msgid "openpty failed\n"
+msgstr ""
+
+#: misc-utils/script.c:482
+#, c-format
+msgid "Out of pty's\n"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:38
+#, c-format
+msgid "%s <timingfile> [<typescript> [<divisor>]]\n"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:53
+#, c-format
+msgid "expected a number, but got '%s'"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:56 misc-utils/scriptreplay.c:60
+#, c-format
+msgid "divisor '%s'"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:104
+msgid "write to stdout failed"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:110
+#, c-format
+msgid "unexpected end of file on %s"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:112
+#, c-format
+msgid "failed to read typescript file %s"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:145
+#, fuzzy, c-format
+msgid "cannot open timing file %s"
+msgstr "nie mo¿na otworzyæ %s"
+
+#: misc-utils/scriptreplay.c:148
+#, fuzzy, c-format
+msgid "cannot open typescript file %s"
+msgstr "nie mo¿na otworzyæ %s"
+
+#: misc-utils/scriptreplay.c:164
+#, fuzzy, c-format
+msgid "failed to read timing file %s"
+msgstr "Nie mo¿na odczytaæ i-wêz³ów"
+
+#: misc-utils/scriptreplay.c:166
+#, c-format
+msgid "timings file %s: %lu: unexpected format"
+msgstr ""
+
+#: misc-utils/setterm.c:763
+#, c-format
+msgid "%s: Argument error, usage\n"
+msgstr ""
+
+#: misc-utils/setterm.c:766
+#, c-format
+msgid "  [ -term terminal_name ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:767
+#, c-format
+msgid "  [ -reset ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:768
+#, c-format
+msgid "  [ -initialize ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:769
+#, c-format
+msgid "  [ -cursor [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:771
+#, c-format
+msgid "  [ -snow [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:772
+#, c-format
+msgid "  [ -softscroll [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:774
+#, c-format
+msgid "  [ -repeat [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:775
+#, c-format
+msgid "  [ -appcursorkeys [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:776
+#, c-format
+msgid "  [ -linewrap [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:777
+#, c-format
+msgid "  [ -default ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:778
+#, c-format
+msgid "  [ -foreground black|blue|green|cyan"
+msgstr ""
+
+#: misc-utils/setterm.c:779 misc-utils/setterm.c:781
+#, c-format
+msgid "|red|magenta|yellow|white|default ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:780
+#, c-format
+msgid "  [ -background black|blue|green|cyan"
+msgstr ""
+
+#: misc-utils/setterm.c:782
+#, c-format
+msgid "  [ -ulcolor black|grey|blue|green|cyan"
+msgstr ""
+
+#: misc-utils/setterm.c:783 misc-utils/setterm.c:785 misc-utils/setterm.c:787
+#: misc-utils/setterm.c:789
+#, c-format
+msgid "|red|magenta|yellow|white ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:784
+#, c-format
+msgid "  [ -ulcolor bright blue|green|cyan"
+msgstr ""
+
+#: misc-utils/setterm.c:786
+#, c-format
+msgid "  [ -hbcolor black|grey|blue|green|cyan"
+msgstr ""
+
+#: misc-utils/setterm.c:788
+#, c-format
+msgid "  [ -hbcolor bright blue|green|cyan"
+msgstr ""
+
+#: misc-utils/setterm.c:791
+#, c-format
+msgid "  [ -standout [ attr ] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:793
+#, c-format
+msgid "  [ -inversescreen [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:794
+#, c-format
+msgid "  [ -bold [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:795
+#, c-format
+msgid "  [ -half-bright [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:796
+#, c-format
+msgid "  [ -blink [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:797
+#, c-format
+msgid "  [ -reverse [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:798
+#, c-format
+msgid "  [ -underline [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:799
+#, c-format
+msgid "  [ -store ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:800
+#, c-format
+msgid "  [ -clear [all|rest] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:801
+#, c-format
+msgid "  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n"
+msgstr ""
+
+#: misc-utils/setterm.c:802
+#, c-format
+msgid "  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n"
+msgstr ""
+
+#: misc-utils/setterm.c:803
+#, c-format
+msgid "  [ -regtabs [1-160] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:804
+#, c-format
+msgid "  [ -blank [0-60|force|poke] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:805
+#, c-format
+msgid "  [ -dump   [1-NR_CONSOLES] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:806
+#, c-format
+msgid "  [ -append [1-NR_CONSOLES] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:807
+#, c-format
+msgid "  [ -file dumpfilename ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:808
+#, c-format
+msgid "  [ -msg [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:809
+#, c-format
+msgid "  [ -msglevel [0-8] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:810
+#, c-format
+msgid "  [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:811
+#, c-format
+msgid "  [ -powerdown [0-60] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:812
+#, c-format
+msgid "  [ -blength [0-2000] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:813
+#, c-format
+msgid "  [ -bfreq freqnumber ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:1065
+#, fuzzy, c-format
+msgid "cannot force blank\n"
+msgstr "nie mo¿na otworzyæ %s"
+
+#: misc-utils/setterm.c:1069
+#, c-format
+msgid "cannot force unblank\n"
+msgstr ""
+
+#: misc-utils/setterm.c:1075
+#, c-format
+msgid "cannot get blank status\n"
+msgstr ""
+
+#: misc-utils/setterm.c:1087
+#, c-format
+msgid "cannot (un)set powersave mode\n"
+msgstr ""
+
+#: misc-utils/setterm.c:1126 misc-utils/setterm.c:1134
+#, c-format
+msgid "klogctl error: %s\n"
+msgstr ""
+
+#: misc-utils/setterm.c:1200
+#, c-format
+msgid "Error writing screendump\n"
+msgstr ""
+
+#: misc-utils/setterm.c:1207
+#, c-format
+msgid "Couldn't read %s\n"
+msgstr ""
+
+#: misc-utils/setterm.c:1261
+#, c-format
+msgid "%s: $TERM is not defined.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:46
+#, c-format
+msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:48
+#, c-format
+msgid "       %s [-r|t] [-n num] [-s socketpath]\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:50
+#, c-format
+msgid "       %s -k\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:152
+msgid "bad arguments"
+msgstr ""
+
+#: misc-utils/uuidd.c:159
+msgid "socket"
+msgstr ""
+
+#: misc-utils/uuidd.c:170
+msgid "connect"
+msgstr ""
+
+#: misc-utils/uuidd.c:189
+msgid "write"
+msgstr ""
+
+#: misc-utils/uuidd.c:197
+msgid "read count"
+msgstr ""
+
+#: misc-utils/uuidd.c:203
+msgid "bad response length"
+msgstr ""
+
+#: misc-utils/uuidd.c:268
+#, c-format
+msgid "uuidd daemon already running at pid %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:276
+#, c-format
+msgid "Couldn't create unix stream socket: %s"
+msgstr ""
+
+#: misc-utils/uuidd.c:305
+#, c-format
+msgid "Couldn't bind unix socket %s: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:313
+#, c-format
+msgid "Couldn't listen on unix socket %s: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:351
+#, c-format
+msgid "Error reading from client, len = %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:359
+#, c-format
+msgid "operation %d, incoming num = %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:378
+#, c-format
+msgid "Generated time UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:388
+#, c-format
+msgid "Generated random UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:397
+#, c-format
+msgid "Generated time UUID %s and %d following\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:415
+#, c-format
+msgid "Generated %d UUID's:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:427
+#, c-format
+msgid "Invalid operation %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:468 misc-utils/uuidd.c:489
+#, c-format
+msgid "Bad number: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:524 misc-utils/uuidd.c:551
+#, c-format
+msgid "Error calling uuidd daemon (%s): %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:534
+#, c-format
+msgid "%s and subsequent %d UUID's\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:536
+#, c-format
+msgid "List of UUID's:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:557
+#, c-format
+msgid "Unexpected reply length from server %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:574
+#, c-format
+msgid "Couldn't kill uuidd running at pid %d: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:580
+#, c-format
+msgid "Killed uuidd running at pid %d\n"
+msgstr ""
+
+#: misc-utils/uuidgen.c:32
+#, fuzzy, c-format
+msgid "Usage: %s [-r] [-t]\n"
+msgstr "u¿ycie: %s [ -n ] urz±dzenie\n"
+
+#: misc-utils/whereis.c:159
+#, c-format
+msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
+msgstr ""
+
+#: misc-utils/write.c:101
+#, c-format
+msgid "write: can't find your tty's name\n"
+msgstr ""
+
+#: misc-utils/write.c:112
+#, c-format
+msgid "write: you have write permission turned off.\n"
+msgstr ""
+
+#: misc-utils/write.c:133
+#, c-format
+msgid "write: %s is not logged in on %s.\n"
+msgstr ""
+
+#: misc-utils/write.c:141
+#, c-format
+msgid "write: %s has messages disabled on %s\n"
+msgstr ""
+
+#: misc-utils/write.c:148
+#, c-format
+msgid "usage: write user [tty]\n"
+msgstr ""
+
+#: misc-utils/write.c:236
+#, c-format
+msgid "write: %s is not logged in\n"
+msgstr ""
+
+#: misc-utils/write.c:245
+#, c-format
+msgid "write: %s has messages disabled\n"
+msgstr ""
+
+#: misc-utils/write.c:249
+#, c-format
+msgid "write: %s is logged in more than once; writing to %s\n"
+msgstr ""
+
+#: misc-utils/write.c:317
+#, c-format
+msgid "Message from %s@%s (as %s) on %s at %s ..."
+msgstr ""
+
+#: misc-utils/write.c:320
+#, c-format
+msgid "Message from %s@%s on %s at %s ..."
+msgstr ""
+
+#: mount/fstab.c:143
+#, c-format
+msgid "warning: error reading %s: %s"
+msgstr ""
+
+#: mount/fstab.c:171 mount/fstab.c:196
+#, c-format
+msgid "warning: can't open %s: %s"
+msgstr ""
+
+#: mount/fstab.c:176
+#, c-format
+msgid "mount: could not open %s - using %s instead\n"
+msgstr ""
+
+#: mount/fstab.c:589
+#, c-format
+msgid "can't create lock file %s: %s (use -n flag to override)"
+msgstr ""
+
+#: mount/fstab.c:615
+#, c-format
+msgid "can't link lock file %s: %s (use -n flag to override)"
+msgstr ""
+
+#: mount/fstab.c:631
+#, c-format
+msgid "can't open lock file %s: %s (use -n flag to override)"
+msgstr ""
+
+#: mount/fstab.c:646
+#, c-format
+msgid "Can't lock lock file %s: %s\n"
+msgstr ""
+
+#: mount/fstab.c:660
+#, c-format
+msgid "can't lock lock file %s: %s"
+msgstr ""
+
+#: mount/fstab.c:662
+msgid "timed out"
+msgstr ""
+
+#: mount/fstab.c:669
+#, c-format
+msgid ""
+"Cannot create link %s\n"
+"Perhaps there is a stale lock file?\n"
+msgstr ""
+
+#: mount/fstab.c:791 mount/fstab.c:846
+#, c-format
+msgid "cannot open %s (%s) - mtab not updated"
+msgstr ""
+
+#: mount/fstab.c:855
+#, c-format
+msgid "error writing %s: %s"
+msgstr ""
+
+#: mount/fstab.c:873
+#, c-format
+msgid "error changing mode of %s: %s\n"
+msgstr ""
+
+#: mount/fstab.c:886
+#, c-format
+msgid "error changing owner of %s: %s\n"
+msgstr ""
+
+#: mount/fstab.c:897
+#, c-format
+msgid "can't rename %s to %s: %s\n"
+msgstr ""
+
+#: mount/lomount.c:364
+#, fuzzy, c-format
+msgid "loop: can't set capacity on device %s: %s\n"
+msgstr "%s: nie mo¿na otworzyæ %s\n"
+
+#: mount/lomount.c:388
+#, c-format
+msgid ", offset %<PRIu64>"
+msgstr ""
+
+#: mount/lomount.c:391
+#, c-format
+msgid ", sizelimit %<PRIu64>"
+msgstr ""
+
+#: mount/lomount.c:399
+#, c-format
+msgid ", encryption %s (type %<PRIu32>)"
+msgstr ""
+
+#: mount/lomount.c:412
+#, c-format
+msgid ", offset %d"
+msgstr ""
+
+#: mount/lomount.c:415
+#, c-format
+msgid ", encryption type %d\n"
+msgstr ""
+
+#: mount/lomount.c:423
+#, c-format
+msgid "loop: can't get info on device %s: %s\n"
+msgstr ""
+
+#: mount/lomount.c:434
+#, c-format
+msgid "loop: can't open device %s: %s\n"
+msgstr ""
+
+#: mount/lomount.c:450 mount/lomount.c:482 mount/lomount.c:544
+#: mount/lomount.c:589
+#, fuzzy, c-format
+msgid "%s: /dev directory does not exist."
+msgstr "%s: b³êdny katalog: '.' nie jest na pocz±tku\n"
+
+#: mount/lomount.c:461 mount/lomount.c:602
+#, c-format
+msgid "%s: no permission to look at /dev/loop%s<N>"
+msgstr ""
+
+#: mount/lomount.c:605
+#, c-format
+msgid "%s: could not find any free loop device"
+msgstr ""
+
+#: mount/lomount.c:608
+#, c-format
+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/lomount.c:638
+msgid "Out of memory while reading passphrase"
+msgstr ""
+
+#: mount/lomount.c:681
+#, c-format
+msgid "warning: %s is already associated with %s\n"
+msgstr ""
+
+#: mount/lomount.c:697
+#, c-format
+msgid "warning: %s: is write-protected, using read-only.\n"
+msgstr ""
+
+#: mount/lomount.c:733
+#, c-format
+msgid "Couldn't lock into memory, exiting.\n"
+msgstr ""
+
+#: mount/lomount.c:760
+#, c-format
+msgid "ioctl LOOP_SET_FD failed: %s\n"
+msgstr ""
+
+#: mount/lomount.c:817
+#, c-format
+msgid "set_loop(%s,%s,%llu,%llu): success\n"
+msgstr ""
+
+#: mount/lomount.c:838
+#, c-format
+msgid "del_loop(%s): success\n"
+msgstr ""
+
+#: mount/lomount.c:842
+#, c-format
+msgid "loop: can't delete device %s: %s\n"
+msgstr ""
+
+#: mount/lomount.c:853
+#, c-format
+msgid "This mount was compiled without loop support. Please recompile.\n"
+msgstr ""
+
+#: mount/lomount.c:888
+#, c-format
+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 ""
+
+#: mount/lomount.c:898
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -e | --encryption <type> enable data encryption with specified <name/num>\n"
+" -h | --help              this help\n"
+" -o | --offset <num>      start at offset <num> into file\n"
+"      --sizelimit <num>   loop limited to only <num> bytes of the file\n"
+" -p | --pass-fd <num>     read passphrase from file descriptor <num>\n"
+" -r | --read-only         setup read-only loop device\n"
+"      --show              print device name (with -f <file>)\n"
+" -v | --verbose           verbose mode\n"
+"\n"
+msgstr ""
+
+#: mount/lomount.c:1036 mount/lomount.c:1076
+#, fuzzy, c-format
+msgid "Loop device is %s\n"
+msgstr "Urz±dzenie: %s\n"
+
+#: mount/lomount.c:1063
+#, c-format
+msgid "stolen loop=%s...trying again\n"
+msgstr ""
+
+#: mount/lomount.c:1073
+#, c-format
+msgid "%s: %s: device is busy"
+msgstr ""
+
+#: mount/lomount.c:1090
+#, c-format
+msgid "No loop support was available at compile time. Please recompile.\n"
+msgstr ""
+
+#: mount/mount.c:329
+#, c-format
+msgid "mount: improperly quoted option string '%s'"
+msgstr ""
+
+#: mount/mount.c:362
+#, c-format
+msgid "mount: translated %s '%s' to '%s'\n"
+msgstr ""
+
+#: mount/mount.c:526
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s"
+msgstr ""
+
+#: mount/mount.c:531
+#, c-format
+msgid "mount: according to mtab, %s is mounted on %s"
+msgstr ""
+
+#: mount/mount.c:555
+#, c-format
+msgid "mount: can't open %s for writing: %s"
+msgstr ""
+
+#: mount/mount.c:572 mount/mount.c:1190
+#, c-format
+msgid "mount: error writing %s: %s"
+msgstr ""
+
+#: mount/mount.c:580
+#, c-format
+msgid "mount: error changing mode of %s: %s"
+msgstr ""
+
+#: mount/mount.c:663
+#, c-format
+msgid "mount: cannot set group id: %s"
+msgstr ""
+
+#: mount/mount.c:666
+#, fuzzy, c-format
+msgid "mount: cannot set user id: %s"
+msgstr "nie mo¿na pobraæ rozmiaru %s"
+
+#: mount/mount.c:705 mount/mount.c:1809
+#, c-format
+msgid "mount: cannot fork: %s"
+msgstr ""
+
+#: mount/mount.c:842
+#, c-format
+msgid "Trying %s\n"
+msgstr ""
+
+#: mount/mount.c:870
+#, c-format
+msgid "mount: you didn't specify a filesystem type for %s\n"
+msgstr ""
+
+#: mount/mount.c:873
+#, c-format
+msgid "       I will try all types mentioned in %s or %s\n"
+msgstr ""
+
+#: mount/mount.c:876
+#, c-format
+msgid "       and it looks like this is swapspace\n"
+msgstr ""
+
+#: mount/mount.c:878
+#, c-format
+msgid "       I will try type %s\n"
+msgstr ""
+
+#: mount/mount.c:902
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr ""
+
+#: mount/mount.c:993
+msgid "mount failed"
+msgstr ""
+
+#: mount/mount.c:995
+#, c-format
+msgid "mount: only root can mount %s on %s"
+msgstr ""
+
+#: mount/mount.c:1065
+msgid "mount: loop device specified twice"
+msgstr ""
+
+#: mount/mount.c:1070
+msgid "mount: type specified twice"
+msgstr ""
+
+#: mount/mount.c:1082
+#, c-format
+msgid "mount: skipping the setup of a loop device\n"
+msgstr ""
+
+#: mount/mount.c:1094
+#, c-format
+msgid "mount: according to mtab %s is already mounted on %s as loop"
+msgstr ""
+
+#: mount/mount.c:1104
+#, c-format
+msgid "mount: going to use the loop device %s\n"
+msgstr ""
+
+#: mount/mount.c:1113
+#, c-format
+msgid "mount: stolen loop=%s ...trying again\n"
+msgstr ""
+
+#: mount/mount.c:1118
+#, c-format
+msgid "mount: stolen loop=%s"
+msgstr ""
+
+#: mount/mount.c:1123
+#, c-format
+msgid "mount: failed setting up loop device\n"
+msgstr ""
+
+#: mount/mount.c:1134
+#, c-format
+msgid "mount: setup loop device successfully\n"
+msgstr ""
+
+#: mount/mount.c:1168
+#, c-format
+msgid "mount: no %s found - creating it..\n"
+msgstr ""
+
+#: mount/mount.c:1185
+#, c-format
+msgid "mount: can't open %s: %s"
+msgstr ""
+
+#: mount/mount.c:1206
+msgid "mount: argument to -p or --pass-fd must be a number"
+msgstr ""
+
+#: mount/mount.c:1219
+#, c-format
+msgid "mount: cannot open %s for setting speed"
+msgstr ""
+
+#: mount/mount.c:1222
+#, c-format
+msgid "mount: cannot set speed: %s"
+msgstr ""
+
+#: mount/mount.c:1279
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s\n"
+msgstr ""
+
+#: mount/mount.c:1358
+msgid ""
+"mount: I could not determine the filesystem type, and none was specified"
+msgstr ""
+
+#: mount/mount.c:1361
+msgid "mount: you must specify the filesystem type"
+msgstr ""
+
+#: mount/mount.c:1364
+msgid "mount: mount failed"
+msgstr ""
+
+#: mount/mount.c:1370 mount/mount.c:1407
+#, c-format
+msgid "mount: mount point %s is not a directory"
+msgstr ""
+
+#: mount/mount.c:1372
+msgid "mount: permission denied"
+msgstr ""
+
+#: mount/mount.c:1374
+msgid "mount: must be superuser to use mount"
+msgstr ""
+
+#: mount/mount.c:1378 mount/mount.c:1382
+#, c-format
+msgid "mount: %s is busy"
+msgstr ""
+
+#: mount/mount.c:1384
+msgid "mount: proc already mounted"
+msgstr ""
+
+#: mount/mount.c:1386
+#, c-format
+msgid "mount: %s already mounted or %s busy"
+msgstr ""
+
+#: mount/mount.c:1392
+#, c-format
+msgid "mount: mount point %s does not exist"
+msgstr ""
+
+#: mount/mount.c:1394
+#, c-format
+msgid "mount: mount point %s is a symbolic link to nowhere"
+msgstr ""
+
+#: mount/mount.c:1399
+#, c-format
+msgid "mount: special device %s does not exist"
+msgstr ""
+
+#: mount/mount.c:1411
+#, c-format
+msgid ""
+"mount: special device %s does not exist\n"
+"       (a path prefix is not a directory)\n"
+msgstr ""
+
+#: mount/mount.c:1423
+#, c-format
+msgid "mount: %s not mounted already, or bad option"
+msgstr ""
+
+#: mount/mount.c:1425
+#, c-format
+msgid ""
+"mount: wrong fs type, bad option, bad superblock on %s,\n"
+"       missing codepage or helper program, or other error"
+msgstr ""
+
+#: mount/mount.c:1432
+msgid ""
+"       (for several filesystems (e.g. nfs, cifs) you might\n"
+"       need a /sbin/mount.<type> helper program)"
+msgstr ""
+
+#: mount/mount.c:1441
+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/mount.c:1446
+msgid ""
+"       (aren't you trying to mount an extended partition,\n"
+"       instead of some logical partition inside?)"
+msgstr ""
+
+#: mount/mount.c:1453
+msgid ""
+"       In some cases useful info is found in syslog - try\n"
+"       dmesg | tail  or so\n"
+msgstr ""
+
+#: mount/mount.c:1459
+msgid "mount table full"
+msgstr ""
+
+#: mount/mount.c:1461
+#, c-format
+msgid "mount: %s: can't read superblock"
+msgstr ""
+
+#: mount/mount.c:1467
+#, c-format
+msgid "mount: %s: unknown device"
+msgstr ""
+
+#: mount/mount.c:1472
+#, c-format
+msgid "mount: unknown filesystem type '%s'"
+msgstr ""
+
+#: mount/mount.c:1484
+#, c-format
+msgid "mount: probably you meant %s"
+msgstr ""
+
+#: mount/mount.c:1487
+msgid "mount: maybe you meant 'iso9660'?"
+msgstr ""
+
+#: mount/mount.c:1490
+msgid "mount: maybe you meant 'vfat'?"
+msgstr ""
+
+#: mount/mount.c:1493
+#, c-format
+msgid "mount: %s has wrong device number or fs type %s not supported"
+msgstr ""
+
+#: mount/mount.c:1501
+#, c-format
+msgid "mount: %s is not a block device, and stat fails?"
+msgstr ""
+
+#: mount/mount.c:1503
+#, c-format
+msgid ""
+"mount: the kernel does not recognize %s as a block device\n"
+"       (maybe `insmod driver'?)"
+msgstr ""
+
+#: mount/mount.c:1506
+#, c-format
+msgid "mount: %s is not a block device (maybe try `-o loop'?)"
+msgstr ""
+
+#: mount/mount.c:1509
+#, c-format
+msgid "mount: %s is not a block device"
+msgstr ""
+
+#: mount/mount.c:1514
+#, c-format
+msgid "mount: %s is not a valid block device"
+msgstr ""
+
+#: mount/mount.c:1517
+msgid "block device "
+msgstr ""
+
+#: mount/mount.c:1519
+#, c-format
+msgid "mount: cannot mount %s%s read-only"
+msgstr ""
+
+#: mount/mount.c:1523
+#, c-format
+msgid "mount: %s%s is write-protected but explicit `-w' flag given"
+msgstr ""
+
+#: mount/mount.c:1527
+#, c-format
+msgid "mount: cannot remount %s%s read-write, is write-protected"
+msgstr ""
+
+#: mount/mount.c:1542
+#, c-format
+msgid "mount: %s%s is write-protected, mounting read-only"
+msgstr ""
+
+#: mount/mount.c:1552
+#, c-format
+msgid "mount: no medium found on %s ...trying again\n"
+msgstr ""
+
+#: mount/mount.c:1558
+#, c-format
+msgid "mount: no medium found on %s"
+msgstr ""
+
+#: mount/mount.c:1576
+#, 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/mount.c:1655
+#, c-format
+msgid "mount: no type was given - I'll assume nfs because of the colon\n"
+msgstr ""
+
+#: mount/mount.c:1661
+#, c-format
+msgid "mount: no type was given - I'll assume cifs because of the // prefix\n"
+msgstr ""
+
+#: mount/mount.c:1756
+#, c-format
+msgid "mount: %s already mounted on %s\n"
+msgstr ""
+
+#: mount/mount.c:1890
+#, 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/mount.c:2213
+msgid "mount: only root can do that"
+msgstr ""
+
+#: mount/mount.c:2223
+msgid "nothing was mounted"
+msgstr ""
+
+#: mount/mount.c:2241 mount/mount.c:2267
+msgid "mount: no such partition found"
+msgstr ""
+
+#: mount/mount.c:2244
+#, c-format
+msgid "mount: can't find %s in %s or %s"
+msgstr ""
+
+#: mount/mount_mntent.c:165
+#, c-format
+msgid "[mntent]: warning: no final newline at the end of %s\n"
+msgstr ""
+
+#: mount/mount_mntent.c:216
+#, c-format
+msgid "[mntent]: line %d in %s is bad%s\n"
+msgstr ""
+
+#: mount/mount_mntent.c:219
+msgid "; rest of file ignored"
+msgstr ""
+
+#: mount/sundries.c:31
+msgid "bug in xstrndup call"
+msgstr ""
+
+#: mount/sundries.c:224 mount/sundries.c:280 mount/sundries.c:289
+#: mount/xmalloc.c:11
+msgid "not enough memory"
+msgstr ""
+
+#: mount/swapon.c:84
+#, c-format
+msgid ""
+"The <special> parameter:\n"
+" {-L label | LABEL=label}             LABEL of device to be used\n"
+" {-U uuid  | 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"
+"\n"
+msgstr ""
+
+#: mount/swapon.c:92
+#, c-format
+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 ""
+
+#: mount/swapon.c:106
+#, c-format
+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 ""
+
+#: mount/swapon.c:140
+#, c-format
+msgid "%s: unexpected file format"
+msgstr ""
+
+#: mount/swapon.c:184 mount/swapon.c:252 mount/swapon.c:397 mount/swapon.c:556
+#: mount/swapon.c:758
+#, c-format
+msgid "%s: open failed"
+msgstr ""
+
+#: mount/swapon.c:205
+#, c-format
+msgid "%s: reinitializing the swap."
+msgstr ""
+
+#: mount/swapon.c:209
+msgid "fork failed"
+msgstr ""
+
+#: mount/swapon.c:225
+msgid "execv failed"
+msgstr ""
+
+#: mount/swapon.c:233
+msgid "waitpid failed"
+msgstr ""
+
+#: mount/swapon.c:257
+#, c-format
+msgid "%s: lseek failed"
+msgstr ""
+
+#: mount/swapon.c:263
+#, c-format
+msgid "%s: write signature failed"
+msgstr ""
+
+#: mount/swapon.c:350
+#, c-format
+msgid "%s: found %sswap v%d signature string for %d KiB PAGE_SIZE\n"
+msgstr ""
+
+#: mount/swapon.c:370
+#, c-format
+msgid "%s: stat failed"
+msgstr ""
+
+#: mount/swapon.c:380
+#, c-format
+msgid "%s: insecure permissions %04o, %04o suggested."
+msgstr ""
+
+#: mount/swapon.c:388
+#, c-format
+msgid "%s: skipping - it appears to have holes."
+msgstr ""
+
+#: mount/swapon.c:402
+#, c-format
+msgid "%s: get size failed"
+msgstr ""
+
+#: mount/swapon.c:408
+#, c-format
+msgid "%s: read swap header failed"
+msgstr ""
+
+#: mount/swapon.c:421
+#, c-format
+msgid "%s: last_page 0x%08llx is larger than actual size of swapspace"
+msgstr ""
+
+#: mount/swapon.c:426
+#, c-format
+msgid "%s: swap format pagesize does not match."
+msgstr ""
+
+#: mount/swapon.c:431
+#, c-format
+msgid ""
+"%s: swap format pagesize does not match. (Use --fixpgsz to reinitialize it.)"
+msgstr ""
+
+#: mount/swapon.c:440
+#, c-format
+msgid "%s: software suspend data detected. Rewriting the swap signature."
+msgstr ""
+
+#: mount/swapon.c:464 mount/swapon.c:514
+#, c-format
+msgid "%s on %s\n"
+msgstr ""
+
+#: mount/swapon.c:486
+#, c-format
+msgid "%s: swapon failed"
+msgstr ""
+
+#: mount/swapon.c:493
+#, fuzzy, c-format
+msgid "cannot find the device for %s"
+msgstr "nie mo¿na pobraæ rozmiaru %s"
+
+#: mount/swapon.c:526
+msgid "Not superuser."
+msgstr ""
+
+#: mount/swapon.c:529
+#, c-format
+msgid "%s: swapoff failed"
+msgstr ""
+
+#: mount/umount.c:41
+#, c-format
+msgid "umount: compiled without support for -f\n"
+msgstr ""
+
+#: mount/umount.c:111
+#, c-format
+msgid "umount: cannot set group id: %s"
+msgstr ""
+
+#: mount/umount.c:114
+#, fuzzy, c-format
+msgid "umount: cannot set user id: %s"
+msgstr "nie mo¿na pobraæ rozmiaru %s"
+
+#: mount/umount.c:139
+#, c-format
+msgid "umount: cannot fork: %s"
+msgstr ""
+
+#: mount/umount.c:160
+#, c-format
+msgid "umount: %s: invalid block device"
+msgstr ""
+
+#: mount/umount.c:162
+#, c-format
+msgid "umount: %s: not mounted"
+msgstr ""
+
+#: mount/umount.c:164
+#, c-format
+msgid "umount: %s: can't write superblock"
+msgstr ""
+
+#: mount/umount.c:168
+#, 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/umount.c:173
+#, c-format
+msgid "umount: %s: not found"
+msgstr ""
+
+#: mount/umount.c:175
+#, c-format
+msgid "umount: %s: must be superuser to umount"
+msgstr ""
+
+#: mount/umount.c:177
+#, c-format
+msgid "umount: %s: block devices not permitted on fs"
+msgstr ""
+
+#: mount/umount.c:179
+#, c-format
+msgid "umount: %s: %s"
+msgstr ""
+
+#: mount/umount.c:235
+#, c-format
+msgid "no umount2, trying umount...\n"
+msgstr ""
+
+#: mount/umount.c:252
+#, c-format
+msgid "umount: %s busy - remounted read-only\n"
+msgstr ""
+
+#: mount/umount.c:263
+#, c-format
+msgid "umount: could not remount %s read-only\n"
+msgstr ""
+
+#: mount/umount.c:272
+#, c-format
+msgid "%s umounted\n"
+msgstr ""
+
+#: mount/umount.c:367
+msgid "umount: cannot find list of filesystems to unmount"
+msgstr ""
+
+#: mount/umount.c:397
+#, 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/umount.c:466
+#, c-format
+msgid "device %s is associated with %s\n"
+msgstr ""
+
+#: mount/umount.c:472
+#, c-format
+msgid "device %s is not associated with %s\n"
+msgstr ""
+
+#: mount/umount.c:485
+msgid "Cannot umount \"\"\n"
+msgstr ""
+
+#: mount/umount.c:491
+#, c-format
+msgid "Trying to umount %s\n"
+msgstr ""
+
+#: mount/umount.c:504
+msgid "umount: confused when analyzing mtab"
+msgstr ""
+
+#: mount/umount.c:509
+#, c-format
+msgid "umount: cannot umount %s -- %s is mounted over it on the same point."
+msgstr ""
+
+#: mount/umount.c:516
+#, c-format
+msgid "Could not find %s in mtab\n"
+msgstr ""
+
+#: mount/umount.c:523
+#, c-format
+msgid "umount: %s is not mounted (according to mtab)"
+msgstr ""
+
+#: mount/umount.c:547
+#, c-format
+msgid "umount: it seems %s is mounted multiple times"
+msgstr ""
+
+#: mount/umount.c:561
+#, c-format
+msgid "umount: %s is not in the fstab (and you are not root)"
+msgstr ""
+
+#: mount/umount.c:567
+#, c-format
+msgid "umount: %s mount disagrees with the fstab"
+msgstr ""
+
+#: mount/umount.c:608
+#, c-format
+msgid "umount: only %s can unmount %s from %s"
+msgstr ""
+
+#: mount/umount.c:695
+msgid "umount: only root can do that"
+msgstr ""
+
+#: schedutils/chrt.c:56
+#, 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"
+"\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 ""
+
+#: schedutils/chrt.c:88
+#, c-format
+msgid "failed to get pid %d's policy"
+msgstr ""
+
+#: schedutils/chrt.c:90
+#, c-format
+msgid "pid %d's %s scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:112
+#, c-format
+msgid "unknown\n"
+msgstr ""
+
+#: schedutils/chrt.c:116
+#, c-format
+msgid "failed to get pid %d's attributes"
+msgstr ""
+
+#: schedutils/chrt.c:118
+#, c-format
+msgid "pid %d's %s scheduling priority: %d\n"
+msgstr ""
+
+#: schedutils/chrt.c:147
+#, c-format
+msgid "SCHED_%s min/max priority\t: %d/%d\n"
+msgstr ""
+
+#: schedutils/chrt.c:150
+#, c-format
+msgid "SCHED_%s not supported?\n"
+msgstr ""
+
+#: schedutils/chrt.c:206
+#, fuzzy
+msgid "failed to parse pid"
+msgstr "%s: nie uda³o siê otworzyæ: %s\n"
+
+#: schedutils/chrt.c:228
+msgid "current"
+msgstr ""
+
+#: schedutils/chrt.c:236
+msgid "failed to parse priority"
+msgstr ""
+
+#: schedutils/chrt.c:242
+#, c-format
+msgid "failed to set pid %d's policy"
+msgstr ""
+
+#: schedutils/chrt.c:251
+#, fuzzy, c-format
+msgid "failed to execute %s"
+msgstr "%s: nie uda³o siê otworzyæ: %s\n"
+
+#: schedutils/ionice.c:57
+msgid "ioprio_get failed"
+msgstr ""
+
+#: schedutils/ionice.c:75
+msgid "ioprio_set failed"
+msgstr ""
+
+#: schedutils/ionice.c:81
+#, c-format
+msgid ""
+"\n"
+"ionice - sets or gets process io scheduling class and priority.\n"
+"\n"
+"Usage:\n"
+"  ionice [ options ] -p <pid> [<pid> ...]\n"
+"  ionoce [ 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 ""
+
+#: schedutils/ionice.c:110 schedutils/ionice.c:112
+#, fuzzy, c-format
+msgid "cannot parse number '%s'"
+msgstr "nie mo¿na otworzyæ %s"
+
+#: schedutils/ionice.c:151
+msgid "ignoring given class data for none class"
+msgstr ""
+
+#: schedutils/ionice.c:159
+msgid "ignoring given class data for idle class"
+msgstr ""
+
+#: schedutils/ionice.c:163
+#, c-format
+msgid "bad prio class %d"
+msgstr ""
+
+#: schedutils/ionice.c:187
+msgid "execvp failed"
+msgstr ""
+
+#: sys-utils/ctrlaltdel.c:27
+#, c-format
+msgid "You must be root to set the Ctrl-Alt-Del behaviour.\n"
+msgstr ""
+
+#: sys-utils/ctrlaltdel.c:42
+#, c-format
+msgid "Usage: ctrlaltdel hard|soft\n"
+msgstr ""
+
+#: sys-utils/cytune.c:114
+#, 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\n"
+msgstr ""
+
+#: sys-utils/cytune.c:125
+#, c-format
+msgid ""
+"File %s, For threshold value %lu and timrout value %lu, Maximum characters "
+"in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f\n"
+msgstr ""
+
+#: sys-utils/cytune.c:189
+#, c-format
+msgid "Invalid interval value: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:197
+#, c-format
+msgid "Invalid set value: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:205
+#, c-format
+msgid "Invalid default value: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:213
+#, c-format
+msgid "Invalid set time value: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:221
+#, c-format
+msgid "Invalid default time value: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:238
+#, c-format
+msgid ""
+"Usage: %s [-q [-i interval]] ([-s value]|[-S value]) ([-t value]|[-T value]) "
+"[-g|-G] file [file...]\n"
+msgstr ""
+
+#: sys-utils/cytune.c:250 sys-utils/cytune.c:269 sys-utils/cytune.c:289
+#: sys-utils/cytune.c:339
+#, c-format
+msgid "Can't open %s: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:257
+#, c-format
+msgid "Can't set %s to threshold %d: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:276
+#, c-format
+msgid "Can't set %s to time threshold %d: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:294 sys-utils/cytune.c:351 sys-utils/cytune.c:382
+#, c-format
+msgid "Can't get threshold for %s: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:300 sys-utils/cytune.c:357 sys-utils/cytune.c:388
+#, c-format
+msgid "Can't get timeout for %s: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:306
+#, c-format
+msgid "%s: %ld current threshold and %ld current timeout\n"
+msgstr ""
+
+#: sys-utils/cytune.c:309
+#, c-format
+msgid "%s: %ld default threshold and %ld default timeout\n"
+msgstr ""
+
+#: sys-utils/cytune.c:327
+msgid "Can't set signal handler"
+msgstr ""
+
+#: sys-utils/cytune.c:331 sys-utils/cytune.c:366
+msgid "gettimeofday failed"
+msgstr ""
+
+#: sys-utils/cytune.c:344 sys-utils/cytune.c:376
+#, c-format
+msgid "Can't issue CYGETMON on %s: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:418
+#, c-format
+msgid ""
+"%s: %lu ints, %lu/%lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+
+#: sys-utils/cytune.c:424
+#, c-format
+msgid "   %f int/sec; %f rec, %f send (char/sec)\n"
+msgstr ""
+
+#: sys-utils/cytune.c:429
+#, c-format
+msgid ""
+"%s: %lu ints, %lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+
+#: sys-utils/cytune.c:435
+#, c-format
+msgid "   %f int/sec; %f rec (char/sec)\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:45
+#, fuzzy, c-format
+msgid "Usage: %s [-c] [-n level] [-r] [-s bufsize]\n"
+msgstr "Sk³adnia: %s [-c | -l plik] [-nXX] [-iXX] /dev/nazwa [bloki]\n"
+
+#: sys-utils/flock.c:65
+#, c-format
+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 ""
+
+#: sys-utils/flock.c:192
+#, fuzzy, c-format
+msgid "%s: %s requires exactly one command argument\n"
+msgstr "%s wymaga argumentu\n"
+
+#: sys-utils/flock.c:219
+#, fuzzy, c-format
+msgid "%s: cannot open lock file %s: %s\n"
+msgstr "%s: nie mo¿na otworzyæ %s\n"
+
+#: sys-utils/flock.c:231
+#, fuzzy, c-format
+msgid "%s: bad number: %s\n"
+msgstr "%s: b³±d odczytu na %s\n"
+
+#: sys-utils/flock.c:238
+#, c-format
+msgid "%s: requires file descriptor, file or directory\n"
+msgstr ""
+
+#: sys-utils/flock.c:294
+#, fuzzy, c-format
+msgid "%s: fork failed: %s\n"
+msgstr "%s: nie uda³o siê otworzyæ: %s\n"
+
+#: sys-utils/ipcmk.c:84
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [options]\n"
+"\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:86
+#, c-format
+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 ""
+
+#: sys-utils/ipcmk.c:90
+#, c-format
+msgid ""
+"\n"
+"For more information see ipcmk(1).\n"
+"\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:142
+msgid "create share memory failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:144
+#, c-format
+msgid "Shared memory id: %d\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:150
+msgid "create message queue failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:152
+#, c-format
+msgid "Message queue id: %d\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:158
+msgid "create semaphore failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:160
+#, c-format
+msgid "Semaphore id: %d\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:66
+#, c-format
+msgid "invalid id: %s\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:84
+#, c-format
+msgid "cannot remove id %s (%s)\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:99
+#, c-format
+msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:126
+#, c-format
+msgid "unknown resource type: %s\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:130
+#, c-format
+msgid "resource(s) deleted\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:140
+#, c-format
+msgid ""
+"usage: %s [ [-q msqid] [-m shmid] [-s semid]\n"
+"          [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:181
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:193
+#, c-format
+msgid "%s: illegal key (%s)\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:208 sys-utils/ipcrm.c:240
+msgid "permission denied for key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:211 sys-utils/ipcrm.c:250
+msgid "already removed key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:214 sys-utils/ipcrm.c:245
+msgid "invalid key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:217 sys-utils/ipcrm.c:255
+msgid "unknown error in key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:241
+msgid "permission denied for id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:246
+msgid "invalid id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:251
+msgid "already removed id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:256
+msgid "unknown error in id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:259
+#, c-format
+msgid "%s: %s (%s)\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:267
+#, c-format
+msgid "%s: unknown argument: %s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:120
+#, c-format
+msgid "usage : %s -asmq -tclup \n"
+msgstr ""
+
+#: sys-utils/ipcs.c:121
+#, c-format
+msgid "\t%s [-s -m -q] -i id\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:122
+#, c-format
+msgid "\t%s -h for help.\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:128
+#, c-format
+msgid ""
+"%s provides information on ipc facilities for which you have read access.\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:130
+#, c-format
+msgid ""
+"Resource Specification:\n"
+"\t-m : shared_mem\n"
+"\t-q : messages\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:131
+#, c-format
+msgid ""
+"\t-s : semaphores\n"
+"\t-a : all (default)\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:132
+#, c-format
+msgid ""
+"Output Format:\n"
+"\t-t : time\n"
+"\t-p : pid\n"
+"\t-c : creator\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:133
+#, c-format
+msgid ""
+"\t-l : limits\n"
+"\t-u : summary\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:134
+#, c-format
+msgid "-i id [-s -q -m] : details on resource identified by id\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:258
+#, c-format
+msgid "kernel not configured for shared memory\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:264
+#, c-format
+msgid "------ Shared Memory Limits --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:269
+#, c-format
+msgid "max number of segments = %lu\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:271
+#, c-format
+msgid "max seg size (kbytes) = %lu\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:273
+#, c-format
+msgid "max total shared memory (kbytes) = %llu\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:275
+#, c-format
+msgid "min seg size (bytes) = %lu\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:280
+#, c-format
+msgid "------ Shared Memory Status --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:281
+#, c-format
+msgid "segments allocated %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:282
+#, c-format
+msgid "pages allocated %ld\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:283
+#, c-format
+msgid "pages resident  %ld\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:284
+#, c-format
+msgid "pages swapped   %ld\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:285
+#, c-format
+msgid "Swap performance: %ld attempts\t %ld successes\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:290
+#, c-format
+msgid "------ Shared Memory Segment Creators/Owners --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:298 sys-utils/ipcs.c:305
+#: sys-utils/ipcs.c:311
+msgid "shmid"
+msgstr ""
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:311 sys-utils/ipcs.c:412
+#: sys-utils/ipcs.c:427 sys-utils/ipcs.c:510 sys-utils/ipcs.c:528
+msgid "perms"
+msgstr ""
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "cuid"
+msgstr ""
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "cgid"
+msgstr ""
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "uid"
+msgstr ""
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "gid"
+msgstr ""
+
+#: sys-utils/ipcs.c:296
+#, c-format
+msgid "------ Shared Memory Attach/Detach/Change Times --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:298 sys-utils/ipcs.c:305 sys-utils/ipcs.c:311
+#: sys-utils/ipcs.c:418 sys-utils/ipcs.c:427 sys-utils/ipcs.c:516
+#: sys-utils/ipcs.c:522 sys-utils/ipcs.c:528
+msgid "owner"
+msgstr ""
+
+#: sys-utils/ipcs.c:298
+msgid "attached"
+msgstr ""
+
+#: sys-utils/ipcs.c:298
+msgid "detached"
+msgstr ""
+
+#: sys-utils/ipcs.c:299
+msgid "changed"
+msgstr ""
+
+#: sys-utils/ipcs.c:303
+#, c-format
+msgid "------ Shared Memory Creator/Last-op --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:305
+msgid "cpid"
+msgstr ""
+
+#: sys-utils/ipcs.c:305
+msgid "lpid"
+msgstr ""
+
+#: sys-utils/ipcs.c:309
+#, c-format
+msgid "------ Shared Memory Segments --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:311 sys-utils/ipcs.c:427 sys-utils/ipcs.c:528
+msgid "key"
+msgstr ""
+
+#: sys-utils/ipcs.c:311
+msgid "bytes"
+msgstr ""
+
+#: sys-utils/ipcs.c:312
+msgid "nattch"
+msgstr ""
+
+#: sys-utils/ipcs.c:312
+msgid "status"
+msgstr ""
+
+#: sys-utils/ipcs.c:333 sys-utils/ipcs.c:335 sys-utils/ipcs.c:337
+#: sys-utils/ipcs.c:448 sys-utils/ipcs.c:450 sys-utils/ipcs.c:549
+#: sys-utils/ipcs.c:551 sys-utils/ipcs.c:553 sys-utils/ipcs.c:604
+#: sys-utils/ipcs.c:606 sys-utils/ipcs.c:634 sys-utils/ipcs.c:636
+#: sys-utils/ipcs.c:638 sys-utils/ipcs.c:661
+msgid "Not set"
+msgstr ""
+
+#: sys-utils/ipcs.c:365
+msgid "dest"
+msgstr ""
+
+#: sys-utils/ipcs.c:366
+msgid "locked"
+msgstr ""
+
+#: sys-utils/ipcs.c:386
+#, c-format
+msgid "kernel not configured for semaphores\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:392
+#, c-format
+msgid "------ Semaphore Limits --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:396
+#, c-format
+msgid "max number of arrays = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:397
+#, c-format
+msgid "max semaphores per array = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:398
+#, c-format
+msgid "max semaphores system wide = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:399
+#, c-format
+msgid "max ops per semop call = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:400
+#, c-format
+msgid "semaphore max value = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:404
+#, c-format
+msgid "------ Semaphore Status --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:405
+#, c-format
+msgid "used arrays = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:406
+#, c-format
+msgid "allocated semaphores = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:410
+#, c-format
+msgid "------ Semaphore Arrays Creators/Owners --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:412 sys-utils/ipcs.c:418 sys-utils/ipcs.c:427
+msgid "semid"
+msgstr ""
+
+#: sys-utils/ipcs.c:416
+#, c-format
+msgid "------ Semaphore Operation/Change Times --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:418
+msgid "last-op"
+msgstr ""
+
+#: sys-utils/ipcs.c:418
+msgid "last-changed"
+msgstr ""
+
+#: sys-utils/ipcs.c:425
+#, c-format
+msgid "------ Semaphore Arrays --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:427
+msgid "nsems"
+msgstr ""
+
+#: sys-utils/ipcs.c:486
+#, c-format
+msgid "kernel not configured for message queues\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:494
+#, c-format
+msgid "------ Messages: Limits --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:495
+#, c-format
+msgid "max queues system wide = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:496
+#, c-format
+msgid "max size of message (bytes) = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:497
+#, c-format
+msgid "default max size of queue (bytes) = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:501
+#, c-format
+msgid "------ Messages: Status --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:502
+#, c-format
+msgid "allocated queues = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:503
+#, c-format
+msgid "used headers = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:504
+#, c-format
+msgid "used space = %d bytes\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:508
+#, c-format
+msgid "------ Message Queues: Creators/Owners --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:510 sys-utils/ipcs.c:516 sys-utils/ipcs.c:522
+#: sys-utils/ipcs.c:528
+msgid "msqid"
+msgstr ""
+
+#: sys-utils/ipcs.c:514
+#, c-format
+msgid "------ Message Queues Send/Recv/Change Times --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:516
+msgid "send"
+msgstr ""
+
+#: sys-utils/ipcs.c:516
+msgid "recv"
+msgstr ""
+
+#: sys-utils/ipcs.c:516
+msgid "change"
+msgstr ""
+
+#: sys-utils/ipcs.c:520
+#, c-format
+msgid "------ Message Queues PIDs --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:522
+msgid "lspid"
+msgstr ""
+
+#: sys-utils/ipcs.c:522
+msgid "lrpid"
+msgstr ""
+
+#: sys-utils/ipcs.c:526
+#, c-format
+msgid "------ Message Queues --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:529
+msgid "used-bytes"
+msgstr ""
+
+#: sys-utils/ipcs.c:529
+msgid "messages"
+msgstr ""
+
+#: sys-utils/ipcs.c:593
+msgid "shmctl failed"
+msgstr ""
+
+#: sys-utils/ipcs.c:595
+#, c-format
+msgid ""
+"\n"
+"Shared memory Segment shmid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:596
+#, c-format
+msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:598
+#, c-format
+msgid "mode=%#o\taccess_perms=%#o\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:600
+#, c-format
+msgid "bytes=%ld\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:603
+#, c-format
+msgid "att_time=%-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:605
+#, c-format
+msgid "det_time=%-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:607 sys-utils/ipcs.c:637
+#, c-format
+msgid "change_time=%-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:619
+msgid "msgctl failed"
+msgstr ""
+
+#: sys-utils/ipcs.c:621
+#, c-format
+msgid ""
+"\n"
+"Message Queue msqid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:622
+#, c-format
+msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:624
+#, c-format
+msgid "cbytes=%ld\tqbytes=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:633
+#, c-format
+msgid "send_time=%-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:635
+#, c-format
+msgid "rcv_time=%-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:652 sys-utils/ipcs.c:674
+msgid "semctl failed"
+msgstr ""
+
+#: sys-utils/ipcs.c:654
+#, c-format
+msgid ""
+"\n"
+"Semaphore Array semid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:655
+#, c-format
+msgid "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:657
+#, c-format
+msgid "mode=%#o, access_perms=%#o\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:659
+#, c-format
+msgid "nsems = %ld\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:660
+#, c-format
+msgid "otime = %-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:662
+#, c-format
+msgid "ctime = %-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:665
+msgid "semnum"
+msgstr ""
+
+#: sys-utils/ipcs.c:665
+msgid "value"
+msgstr ""
+
+#: sys-utils/ipcs.c:665
+msgid "ncount"
+msgstr ""
+
+#: sys-utils/ipcs.c:665
+msgid "zcount"
+msgstr ""
+
+#: sys-utils/ipcs.c:665
+msgid "pid"
+msgstr ""
+
+#: sys-utils/ldattach.c:92
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [ -dhV78neo12 ] [ -s <speed> ] <ldisc> <device>\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:94
+msgid ""
+"\n"
+"Known <ldisc> names:\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:179
+#, c-format
+msgid "invalid speed: %s"
+msgstr ""
+
+#: sys-utils/ldattach.c:182
+#, c-format
+msgid "ldattach from %s\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:187 text-utils/tailf.c:205
+msgid "invalid option"
+msgstr ""
+
+#: sys-utils/ldattach.c:199
+#, c-format
+msgid "invalid line discipline: %s"
+msgstr ""
+
+#: sys-utils/ldattach.c:207
+#, fuzzy, c-format
+msgid "%s is not a serial line"
+msgstr "%s nie jest specjalnym urz±dzeniem blokowym"
+
+#: sys-utils/ldattach.c:213
+#, fuzzy, c-format
+msgid "cannot get terminal attributes for %s"
+msgstr "nie mo¿na pobraæ rozmiaru %s"
+
+#: sys-utils/ldattach.c:216
+#, c-format
+msgid "speed %d unsupported"
+msgstr ""
+
+#: sys-utils/ldattach.c:247
+#, c-format
+msgid "cannot set terminal attributes for %s"
+msgstr ""
+
+#: sys-utils/ldattach.c:254
+msgid "cannot set line discipline"
+msgstr ""
+
+#: sys-utils/ldattach.c:260
+#, fuzzy
+msgid "cannot daemonize"
+msgstr "nie mo¿na otworzyæ %s"
+
+#: sys-utils/lscpu.c:64
+#, fuzzy
+msgid "none"
+msgstr "zakoñczone\n"
+
+#: sys-utils/lscpu.c:65
+msgid "para"
+msgstr ""
+
+#: sys-utils/lscpu.c:66
+msgid "full"
+msgstr ""
+
+#: sys-utils/lscpu.c:129 sys-utils/lscpu.c:152 sys-utils/lscpu.c:441
+#, fuzzy, c-format
+msgid "error: %s"
+msgstr "b³±d zamykania %s"
+
+#: sys-utils/lscpu.c:154
+#, fuzzy, c-format
+msgid "error parse: %s"
+msgstr "b³±d zamykania %s"
+
+#: sys-utils/lscpu.c:176
+msgid "error: strdup failed"
+msgstr ""
+
+#: sys-utils/lscpu.c:259
+msgid "error: uname failed"
+msgstr ""
+
+#: sys-utils/lscpu.c:491
+msgid "error: malloc failed"
+msgstr ""
+
+#: sys-utils/lscpu.c:506
+msgid "error: /sys filesystem is not accessable."
+msgstr ""
+
+#: sys-utils/lscpu.c:524
+#, 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"
+"# CPU,Core,Socket,Node"
+msgstr ""
+
+#: sys-utils/lscpu.c:590
+msgid "Thread(s) per core:"
+msgstr ""
+
+#: sys-utils/lscpu.c:591
+msgid "Core(s) per socket:"
+msgstr ""
+
+#: sys-utils/lscpu.c:592
+msgid "CPU socket(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:596
+msgid "NUMA node(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:598
+msgid "Vendor ID:"
+msgstr ""
+
+#: sys-utils/lscpu.c:600
+msgid "CPU family:"
+msgstr ""
+
+#: sys-utils/lscpu.c:602
+msgid "Model:"
+msgstr ""
+
+#: sys-utils/lscpu.c:604
+msgid "Stepping:"
+msgstr ""
+
+#: sys-utils/lscpu.c:606
+msgid "CPU MHz:"
+msgstr ""
+
+#: sys-utils/lscpu.c:609 sys-utils/lscpu.c:611
+msgid "Virtualization:"
+msgstr ""
+
+#: sys-utils/lscpu.c:614
+msgid "Hypervisor vendor:"
+msgstr ""
+
+#: sys-utils/lscpu.c:615
+msgid "Virtualization type:"
+msgstr ""
+
+#: sys-utils/lscpu.c:623
+#, c-format
+msgid "%s cache:"
+msgstr ""
+
+#: sys-utils/lscpu.c:631
+#, fuzzy, c-format
+msgid "Usage: %s [option]\n"
+msgstr "u¿ycie: %s [ -n ] urz±dzenie\n"
+
+#: sys-utils/lscpu.c:634
+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 ""
+
+#: sys-utils/lscpu.c:683
+#, c-format
+msgid "error: change working directory to %s."
+msgstr ""
+
+#: sys-utils/rdev.c:77
+msgid "usage: rdev [ -rv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]"
+msgstr ""
+
+#: sys-utils/rdev.c:78
+msgid ""
+"  rdev /dev/fd0  (or rdev /linux, etc.) displays the current ROOT device"
+msgstr ""
+
+#: sys-utils/rdev.c:79
+msgid "  rdev /dev/fd0 /dev/hda2         sets ROOT to /dev/hda2"
+msgstr ""
+
+#: sys-utils/rdev.c:80
+msgid "  rdev -R /dev/fd0 1              set the ROOTFLAGS (readonly status)"
+msgstr ""
+
+#: sys-utils/rdev.c:81
+msgid "  rdev -r /dev/fd0 627            set the RAMDISK size"
+msgstr ""
+
+#: sys-utils/rdev.c:82
+msgid "  rdev -v /dev/fd0 1              set the bootup VIDEOMODE"
+msgstr ""
+
+#: sys-utils/rdev.c:83
+msgid "  rdev -o N ...                   use the byte offset N"
+msgstr ""
+
+#: sys-utils/rdev.c:84
+msgid "  rootflags ...                   same as rdev -R"
+msgstr ""
+
+#: sys-utils/rdev.c:85
+msgid "  ramsize ...                     same as rdev -r"
+msgstr ""
+
+#: sys-utils/rdev.c:86
+msgid "  vidmode ...                     same as rdev -v"
+msgstr ""
+
+#: sys-utils/rdev.c:87
+msgid ""
+"Note: video modes are: -3=Ask, -2=Extended, -1=NormalVga, 1=key1, 2=key2,..."
+msgstr ""
+
+#: sys-utils/rdev.c:88
+msgid "      use -R 1 to mount root readonly, -R 0 for read/write."
+msgstr ""
+
+#: sys-utils/rdev.c:245
+msgid "missing comma"
+msgstr ""
+
+#: sys-utils/readprofile.c:72
+#, c-format
+msgid "out of memory"
+msgstr ""
+
+#: sys-utils/readprofile.c:118
+#, 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 ""
+
+#: sys-utils/readprofile.c:227
+#, c-format
+msgid "readprofile: error writing %s: %s\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:268
+#, c-format
+msgid "Assuming reversed byte order. Use -n to force native byte order.\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:284
+#, c-format
+msgid "Sampling_step: %i\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:305 sys-utils/readprofile.c:331
+#, c-format
+msgid "%s: %s(%i): wrong map line\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:318
+#, c-format
+msgid "%s: can't find \"_stext\" in %s\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:352
+#, c-format
+msgid "%s: profile address out of range. Wrong map file?\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:412
+msgid "total"
+msgstr ""
+
+#: sys-utils/renice.c:53
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" renice [-n] priority [-p|--pid] pid  [... pid]\n"
+" renice [-n] priority  -g|--pgrp pgrp [... pgrp]\n"
+" renice [-n] priority  -u|--user user [... user]\n"
+" renice -h | --help\n"
+" renice -v | --version\n"
+"\n"
+msgstr ""
+
+#: sys-utils/renice.c:89
+#, fuzzy, c-format
+msgid "renice from %s\n"
+msgstr "Urz±dzenie: %s\n"
+
+#: sys-utils/renice.c:126
+#, c-format
+msgid "renice: %s: unknown user\n"
+msgstr ""
+
+#: sys-utils/renice.c:134
+#, c-format
+msgid "renice: %s: bad value\n"
+msgstr ""
+
+#: sys-utils/renice.c:152 sys-utils/renice.c:164
+msgid "getpriority"
+msgstr ""
+
+#: sys-utils/renice.c:157
+msgid "setpriority"
+msgstr ""
+
+#: sys-utils/renice.c:168
+#, c-format
+msgid "%d: old priority %d, new priority %d\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:81
+#, c-format
+msgid ""
+"usage: %s [options]\n"
+"    -d | --device <device>    select rtc device (rtc0|rtc1|...)\n"
+"    -l | --local              RTC uses local timezone\n"
+"    -m | --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"
+"    -V | --version            show version\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:140
+msgid "read rtc time"
+msgstr ""
+
+#: sys-utils/rtcwake.c:145
+msgid "read system time"
+msgstr ""
+
+#: sys-utils/rtcwake.c:163
+msgid "convert rtc time"
+msgstr ""
+
+#: sys-utils/rtcwake.c:222
+msgid "set rtc alarm"
+msgstr ""
+
+#: sys-utils/rtcwake.c:226
+msgid "enable rtc alarm"
+msgstr ""
+
+#: sys-utils/rtcwake.c:230
+msgid "set rtc wake alarm"
+msgstr ""
+
+#: sys-utils/rtcwake.c:342
+#, c-format
+msgid "%s: unrecognized suspend state '%s'\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:351
+#, c-format
+msgid "%s: illegal interval %s seconds\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:365
+#, c-format
+msgid "%s: illegal time_t value %s\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:381
+#, fuzzy, c-format
+msgid "%s: version %s\n"
+msgstr "%s: b³±d odczytu na %s\n"
+
+#: sys-utils/rtcwake.c:394
+#, c-format
+msgid "%s: assuming RTC uses UTC ...\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:399
+#, c-format
+msgid "Using UTC time.\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:400
+#, c-format
+msgid "Using local time.\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:403
+#, c-format
+msgid "%s: must provide wake time\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:413
+msgid "malloc() failed"
+msgstr ""
+
+#: sys-utils/rtcwake.c:425
+#, fuzzy, c-format
+msgid "%s: %s not enabled for wakeup events\n"
+msgstr "%s: nie jest to urz±dzenie blokowe\n"
+
+#: sys-utils/rtcwake.c:441
+#, c-format
+msgid "alarm %ld, sys_time %ld, rtc_time %ld, seconds %u\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:446
+#, c-format
+msgid "%s: time doesn't go backward to %s\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:456
+#, c-format
+msgid "%s: wakeup from \"%s\" using %s at %s\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:473
+msgid "rtc read"
+msgstr ""
+
+#: sys-utils/rtcwake.c:482
+msgid "disable rtc alarm interrupt"
+msgstr ""
+
+#: sys-utils/setarch.c:50
+#, c-format
+msgid "Switching on %s.\n"
+msgstr ""
+
+#: sys-utils/setarch.c:113
+#, c-format
+msgid ""
+"Usage: %s%s [options] [program [program arguments]]\n"
+"\n"
+"Options:\n"
+msgstr ""
+
+#: sys-utils/setarch.c:117
+#, c-format
+msgid ""
+" -h, --help               displays this help text\n"
+" -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"
+msgstr ""
+
+#: sys-utils/setarch.c:131
+#, c-format
+msgid ""
+"\n"
+"For more information see setarch(8).\n"
+msgstr ""
+
+#: sys-utils/setarch.c:143
+#, c-format
+msgid ""
+"%s: %s\n"
+"Try `%s --help' for more information.\n"
+msgstr ""
+
+#: sys-utils/setarch.c:215 sys-utils/setarch.c:231
+#, c-format
+msgid "%s: Unrecognized architecture"
+msgstr ""
+
+#: sys-utils/setarch.c:249 sys-utils/setarch.c:256
+msgid "Not enough arguments"
+msgstr ""
+
+#: sys-utils/setarch.c:265 sys-utils/setarch.c:318
+#, c-format
+msgid "Failed to set personality to %s"
+msgstr ""
+
+#: sys-utils/setsid.c:26
+#, c-format
+msgid "usage: %s program [arg ...]\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:75
+#, c-format
+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 ""
+
+#: sys-utils/tunelp.c:91
+msgid "malloc error"
+msgstr ""
+
+#: sys-utils/tunelp.c:103
+#, c-format
+msgid "%s: bad value\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:242
+#, c-format
+msgid "%s: %s not an lp device.\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:263
+#, c-format
+msgid "%s status is %d"
+msgstr ""
+
+#: sys-utils/tunelp.c:264
+#, c-format
+msgid ", busy"
+msgstr ""
+
+#: sys-utils/tunelp.c:265
+#, c-format
+msgid ", ready"
+msgstr ""
+
+#: sys-utils/tunelp.c:266
+#, c-format
+msgid ", out of paper"
+msgstr ""
+
+#: sys-utils/tunelp.c:267
+#, c-format
+msgid ", on-line"
+msgstr ""
+
+#: sys-utils/tunelp.c:268
+#, c-format
+msgid ", error"
+msgstr ""
+
+#: sys-utils/tunelp.c:285
+msgid "LPGETIRQ error"
+msgstr ""
+
+#: sys-utils/tunelp.c:291
+#, c-format
+msgid "%s using IRQ %d\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:293
+#, c-format
+msgid "%s using polling\n"
+msgstr ""
+
+#: text-utils/col.c:154
+#, c-format
+msgid "col: bad -l argument %s.\n"
+msgstr ""
+
+#: text-utils/col.c:544
+#, c-format
+msgid "usage: col [-bfpx] [-l nline]\n"
+msgstr ""
+
+#: text-utils/col.c:550
+#, c-format
+msgid "col: write error.\n"
+msgstr ""
+
+#: text-utils/col.c:557
+#, c-format
+msgid "col: warning: can't back up %s.\n"
+msgstr ""
+
+#: text-utils/col.c:558
+msgid "past first line"
+msgstr ""
+
+#: text-utils/col.c:558
+msgid "-- line already flushed"
+msgstr ""
+
+#: text-utils/colcrt.c:97
+#, c-format
+msgid "usage: %s [ - ] [ -2 ] [ file ... ]\n"
+msgstr ""
+
+#: text-utils/column.c:297
+msgid "line too long"
+msgstr ""
+
+#: text-utils/column.c:374
+#, c-format
+msgid "usage: column [-tx] [-c columns] [file ...]\n"
+msgstr ""
+
+#: text-utils/hexsyntax.c:82
+#, c-format
+msgid "hexdump: bad length value.\n"
+msgstr ""
+
+#: text-utils/hexsyntax.c:93
+#, c-format
+msgid "hexdump: bad skip value.\n"
+msgstr ""
+
+#: text-utils/hexsyntax.c:131
+#, c-format
+msgid ""
+"hexdump: [-bcCdovx] [-e fmt] [-f fmt_file] [-n length] [-s skip] [file ...]\n"
+msgstr ""
+
+#: text-utils/more.c:256
+#, c-format
+msgid "usage: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n"
+msgstr ""
+
+#: text-utils/more.c:479
+#, c-format
+msgid "%s: unknown option \"-%c\"\n"
+msgstr ""
+
+#: text-utils/more.c:511
+#, c-format
+msgid ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+msgstr ""
+
+#: text-utils/more.c:555
+#, c-format
+msgid ""
+"\n"
+"******** %s: Not a text file ********\n"
+"\n"
+msgstr ""
+
+#: text-utils/more.c:658
+#, c-format
+msgid "[Use q or Q to quit]"
+msgstr ""
+
+#: text-utils/more.c:750
+#, c-format
+msgid "--More--"
+msgstr ""
+
+#: text-utils/more.c:752
+#, c-format
+msgid "(Next file: %s)"
+msgstr ""
+
+#: text-utils/more.c:757
+#, c-format
+msgid "[Press space to continue, 'q' to quit.]"
+msgstr ""
+
+#: text-utils/more.c:1172
+#, c-format
+msgid "...back %d pages"
+msgstr ""
+
+#: text-utils/more.c:1174
+msgid "...back 1 page"
+msgstr ""
+
+#: text-utils/more.c:1217
+msgid "...skipping one line"
+msgstr ""
+
+#: text-utils/more.c:1219
+#, c-format
+msgid "...skipping %d lines"
+msgstr ""
+
+#: text-utils/more.c:1256
+msgid ""
+"\n"
+"***Back***\n"
+"\n"
+msgstr ""
+
+#: text-utils/more.c:1294
+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:1301
+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:1370 text-utils/more.c:1375
+#, c-format
+msgid "[Press 'h' for instructions.]"
+msgstr ""
+
+#: text-utils/more.c:1409
+#, c-format
+msgid "\"%s\" line %d"
+msgstr ""
+
+#: text-utils/more.c:1411
+#, c-format
+msgid "[Not a file] line %d"
+msgstr ""
+
+#: text-utils/more.c:1495
+msgid "  Overflow\n"
+msgstr ""
+
+#: text-utils/more.c:1542
+msgid "...skipping\n"
+msgstr ""
+
+#: text-utils/more.c:1571
+msgid "Regular expression botch"
+msgstr ""
+
+#: text-utils/more.c:1579
+msgid ""
+"\n"
+"Pattern not found\n"
+msgstr ""
+
+#: text-utils/more.c:1582 text-utils/pg.c:1124 text-utils/pg.c:1275
+msgid "Pattern not found"
+msgstr ""
+
+#: text-utils/more.c:1643
+msgid "can't fork\n"
+msgstr ""
+
+#: text-utils/more.c:1682
+msgid ""
+"\n"
+"...Skipping "
+msgstr ""
+
+#: text-utils/more.c:1686
+msgid "...Skipping to file "
+msgstr ""
+
+#: text-utils/more.c:1688
+msgid "...Skipping back to file "
+msgstr ""
+
+#: text-utils/more.c:1966
+msgid "Line too long"
+msgstr ""
+
+#: text-utils/more.c:2009
+msgid "No previous command to substitute for"
+msgstr ""
+
+#: text-utils/odsyntax.c:130
+#, c-format
+msgid "od: od(1) has been deprecated for hexdump(1).\n"
+msgstr ""
+
+#: text-utils/odsyntax.c:133
+#, c-format
+msgid "od: hexdump(1) compatibility doesn't support the -%c option%s\n"
+msgstr ""
+
+#: text-utils/odsyntax.c:134
+msgid "; see strings(1)."
+msgstr ""
+
+#: text-utils/parse.c:63
+#, c-format
+msgid "hexdump: can't read %s.\n"
+msgstr ""
+
+#: text-utils/parse.c:68
+#, c-format
+msgid "hexdump: line too long.\n"
+msgstr ""
+
+#: text-utils/parse.c:401
+#, c-format
+msgid "hexdump: byte count with multiple conversion characters.\n"
+msgstr ""
+
+#: text-utils/parse.c:483
+#, c-format
+msgid "hexdump: bad byte count for conversion character %s.\n"
+msgstr ""
+
+#: text-utils/parse.c:490
+#, c-format
+msgid "hexdump: %%s requires a precision or a byte count.\n"
+msgstr ""
+
+#: text-utils/parse.c:496
+#, c-format
+msgid "hexdump: bad format {%s}\n"
+msgstr ""
+
+#: text-utils/parse.c:502
+#, c-format
+msgid "hexdump: bad conversion character %%%s.\n"
+msgstr ""
+
+#: text-utils/pg.c:145
+msgid ""
+"All rights reserved.\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"
+msgstr ""
+
+#: text-utils/pg.c:223
+#, fuzzy
+msgid "Out of memory\n"
+msgstr "%s: Zabrak³o pamiêci!\n"
+
+#: text-utils/pg.c:236
+#, c-format
+msgid ""
+"%s: Usage: %s [-number] [-p string] [-cefnrs] [+line] [+/pattern/] [files]\n"
+msgstr ""
+
+#: text-utils/pg.c:245
+#, c-format
+msgid "%s: option requires an argument -- %s\n"
+msgstr ""
+
+#: text-utils/pg.c:253
+#, c-format
+msgid "%s: illegal option -- %s\n"
+msgstr ""
+
+#: text-utils/pg.c:370
+msgid "...skipping forward\n"
+msgstr ""
+
+#: text-utils/pg.c:372
+msgid "...skipping backward\n"
+msgstr ""
+
+#: text-utils/pg.c:394
+msgid "No next file"
+msgstr ""
+
+#: text-utils/pg.c:398
+msgid "No previous file"
+msgstr ""
+
+#: text-utils/pg.c:928
+#, c-format
+msgid "%s: Read error from %s file\n"
+msgstr ""
+
+#: text-utils/pg.c:934
+#, c-format
+msgid "%s: Unexpected EOF in %s file\n"
+msgstr ""
+
+#: text-utils/pg.c:937
+#, c-format
+msgid "%s: Unknown error in %s file\n"
+msgstr ""
+
+#: text-utils/pg.c:1032
+#, c-format
+msgid "%s: Cannot create tempfile\n"
+msgstr ""
+
+#: text-utils/pg.c:1041 text-utils/pg.c:1216 text-utils/pg.c:1243
+msgid "RE error: "
+msgstr ""
+
+#: text-utils/pg.c:1198
+msgid "(EOF)"
+msgstr ""
+
+#: text-utils/pg.c:1224 text-utils/pg.c:1251
+msgid "No remembered search string"
+msgstr ""
+
+#: text-utils/pg.c:1307
+msgid "Cannot open "
+msgstr ""
+
+#: text-utils/pg.c:1355
+msgid "saved"
+msgstr ""
+
+#: text-utils/pg.c:1462
+msgid ": !command not allowed in rflag mode.\n"
+msgstr ""
+
+#: text-utils/pg.c:1494
+msgid "fork() failed, try again later\n"
+msgstr ""
+
+#: text-utils/pg.c:1702
+msgid "(Next file: "
+msgstr ""
+
+#: text-utils/rev.c:113
+#, fuzzy
+msgid "unable to allocate bufferspace"
+msgstr "Nie mo¿na przydzieliæ bufora dla i-wêz³ów"
+
+#: text-utils/rev.c:143
+#, c-format
+msgid "usage: rev [file ...]\n"
+msgstr ""
+
+#: text-utils/tailf.c:57 text-utils/tailf.c:92
+#, fuzzy, c-format
+msgid "cannot open \"%s\" for read"
+msgstr "nie mo¿na otworzyæ %s"
+
+#: text-utils/tailf.c:95 text-utils/tailf.c:214
+#, fuzzy, c-format
+msgid "cannot stat \"%s\""
+msgstr "nie mo¿na otworzyæ %s"
+
+#: text-utils/tailf.c:108
+#, c-format
+msgid "incomplete write to \"%s\" (written %zd, expected %zd)\n"
+msgstr ""
+
+#: text-utils/tailf.c:146
+#, c-format
+msgid "%s: cannot add inotify watch (limit of inotify watches was reached)."
+msgstr ""
+
+#: text-utils/tailf.c:150
+#, c-format
+msgid "%s: cannot add inotify watch."
+msgstr ""
+
+#: text-utils/tailf.c:159
+#, fuzzy, c-format
+msgid "%s: cannot read inotify events"
+msgstr "%s: nie mo¿na otworzyæ %s\n"
+
+#: text-utils/tailf.c:198 text-utils/tailf.c:202
+msgid "invalid number of lines"
+msgstr ""
+
+#: text-utils/tailf.c:209
+msgid "usage: tailf [-n N | -N] logfile"
+msgstr ""
+
+#: text-utils/ul.c:141
+#, c-format
+msgid "usage: %s [ -i ] [ -tTerm ] file...\n"
+msgstr ""
+
+#: text-utils/ul.c:152
+#, c-format
+msgid "trouble reading terminfo"
+msgstr ""
+
+#: text-utils/ul.c:242
+#, c-format
+msgid "Unknown escape sequence in input: %o, %o\n"
+msgstr ""
+
+#: text-utils/ul.c:425
+#, c-format
+msgid "Unable to allocate buffer.\n"
+msgstr ""
+
+#: text-utils/ul.c:586
+#, c-format
+msgid "Input line too long.\n"
+msgstr ""
+
+#: text-utils/ul.c:599
+#, c-format
+msgid "Out of memory when growing buffer.\n"
+msgstr ""
+
+#~ msgid "`%s': bad directory: '.' isn't first\n"
+#~ msgstr "`%s': b³êdny katalog: '.' nie jest na pocz±tku\n"
+
+#~ msgid "`%s': bad directory: '..' isn't second\n"
+#~ msgstr "`%s': b³êdny katalog: '..' nie jest na drugiej pozycji\n"
diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo
new file mode 100644 (file)
index 0000000..e03b63f
Binary files /dev/null and b/po/pt_BR.gmo differ
diff --git a/po/pt_BR.po b/po/pt_BR.po
new file mode 100644 (file)
index 0000000..b6b0ed9
--- /dev/null
@@ -0,0 +1,12391 @@
+# 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: Karel Zak <kzak@redhat.com>\n"
+"POT-Creation-Date: 2009-11-30 16:27+0100\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"
+"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/blockdev.c:37
+msgid "set read-only"
+msgstr "configurar somente leitura"
+
+#: disk-utils/blockdev.c:38
+msgid "set read-write"
+msgstr "configurar leitura/gravação"
+
+#: disk-utils/blockdev.c:39
+msgid "get read-only"
+msgstr "obter somente leitura"
+
+#: disk-utils/blockdev.c:40
+msgid "get sectorsize"
+msgstr "obter tamanho de setor"
+
+#: disk-utils/blockdev.c:41
+#, fuzzy
+msgid "get blocksize"
+msgstr "obter tamanho"
+
+#: disk-utils/blockdev.c:42
+#, fuzzy
+msgid "set blocksize"
+msgstr "obter tamanho"
+
+#: disk-utils/blockdev.c:43
+msgid "get 32-bit sector count"
+msgstr ""
+
+#: disk-utils/blockdev.c:44
+#, fuzzy
+msgid "get size in bytes"
+msgstr "obter tamanho"
+
+#: disk-utils/blockdev.c:45
+msgid "set readahead"
+msgstr "configurar readahead"
+
+#: disk-utils/blockdev.c:46
+msgid "get readahead"
+msgstr "obter readahead"
+
+#: disk-utils/blockdev.c:47
+#, fuzzy
+msgid "set filesystem readahead"
+msgstr "configurar readahead"
+
+#: disk-utils/blockdev.c:48
+#, fuzzy
+msgid "get filesystem readahead"
+msgstr "obter readahead"
+
+#: disk-utils/blockdev.c:49
+msgid "flush buffers"
+msgstr "descarregar buffers"
+
+#: disk-utils/blockdev.c:51
+msgid "reread partition table"
+msgstr "ler novamente tabela de partições"
+
+#: disk-utils/blockdev.c:60
+#, fuzzy, c-format
+msgid "Usage:\n"
+msgstr "Uso:"
+
+#: disk-utils/blockdev.c:62
+#, c-format
+msgid "  %s --report [devices]\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:63
+#, fuzzy, c-format
+msgid "  %s [-v|-q] commands devices\n"
+msgstr "Uso: %s [-V] [-v|-q] comandos dispositivos\n"
+
+#: disk-utils/blockdev.c:66
+#, c-format
+msgid "Available commands:\n"
+msgstr "Comandos disponíveis:\n"
+
+#: disk-utils/blockdev.c:68
+#, fuzzy
+msgid "get size in 512-byte sectors"
+msgstr "obter tamanho"
+
+#: disk-utils/blockdev.c:201
+#, c-format
+msgid "%s: Unknown command: %s\n"
+msgstr "%s: comando desconhecido: %s\n"
+
+#: disk-utils/blockdev.c:213 disk-utils/blockdev.c:222
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s exige um argumento\n"
+
+#: disk-utils/blockdev.c:255
+#, fuzzy, c-format
+msgid "%s failed.\n"
+msgstr "busca falhou"
+
+#: disk-utils/blockdev.c:292
+#, c-format
+msgid "%s succeeded.\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:310 disk-utils/blockdev.c:338
+#, fuzzy, c-format
+msgid "%s: cannot open %s\n"
+msgstr "%s: não foi possível abrir %s: %s\n"
+
+#: disk-utils/blockdev.c:355
+#, fuzzy, c-format
+msgid "%s: ioctl error on %s\n"
+msgstr "%s: erro de leitura em %s\n"
+
+#: disk-utils/blockdev.c:364
+#, c-format
+msgid "RO    RA   SSZ   BSZ   StartSec            Size   Device\n"
+msgstr ""
+
+#: disk-utils/elvtune.c:48
+#, c-format
+msgid "usage:\n"
+msgstr "Uso:\n"
+
+#: disk-utils/elvtune.c:53
+#, c-format
+msgid "\tNOTE: elvtune only works with 2.4 kernels\n"
+msgstr ""
+
+#: disk-utils/elvtune.c:104
+#, fuzzy, c-format
+msgid "parse error\n"
+msgstr "erro de busca"
+
+#: disk-utils/elvtune.c:110
+#, c-format
+msgid "missing blockdevice, use -h for help\n"
+msgstr ""
+
+#: disk-utils/elvtune.c:131
+#, 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:31
+#, c-format
+msgid "Formatting ... "
+msgstr "Formatando..."
+
+#: disk-utils/fdformat.c:49 disk-utils/fdformat.c:86
+#, c-format
+msgid "done\n"
+msgstr "concluído\n"
+
+#: disk-utils/fdformat.c:60
+#, 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:80
+#, c-format
+msgid ""
+"bad data in cyl %d\n"
+"Continuing ... "
+msgstr ""
+"Dados inválidos no cilindro %d\n"
+"Continuando..."
+
+#: disk-utils/fdformat.c:96
+#, c-format
+msgid "usage: %s [ -n ] device\n"
+msgstr "Uso: %s [ -n ] dispositivo\n"
+
+#: disk-utils/fdformat.c:118 disk-utils/fsck.minix.c:1282
+#: disk-utils/isosize.c:181 disk-utils/mkfs.bfs.c:115 disk-utils/mkfs.c:52
+#: disk-utils/mkfs.cramfs.c:813 disk-utils/mkfs.minix.c:571
+#: disk-utils/mkswap.c:461 misc-utils/ddate.c:179 misc-utils/rename.c:79
+#: misc-utils/script.c:147 sys-utils/readprofile.c:197
+#, fuzzy, c-format
+msgid "%s (%s)\n"
+msgstr "%s em %s\n"
+
+#: disk-utils/fdformat.c:132
+#, fuzzy, c-format
+msgid "%s: not a block device\n"
+msgstr "%s: não é um dispositivo de disquetes\n"
+
+#: disk-utils/fdformat.c:142
+msgid "Could not determine current format type"
+msgstr "Não foi possível determinar o tipo de formatação atual"
+
+#: disk-utils/fdformat.c:143
+#, 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:144
+msgid "Double"
+msgstr "Dupla"
+
+#: disk-utils/fdformat.c:144
+msgid "Single"
+msgstr "Simples"
+
+#: disk-utils/fsck.cramfs.c:118
+#, c-format
+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 ""
+
+#: disk-utils/fsck.cramfs.c:164
+#, fuzzy, c-format
+msgid "stat failed: %s"
+msgstr "(Próximo arquivo: %s)"
+
+#: disk-utils/fsck.cramfs.c:168 disk-utils/fsck.cramfs.c:552
+#, fuzzy, c-format
+msgid "open failed: %s"
+msgstr "openpty falhou\n"
+
+#: disk-utils/fsck.cramfs.c:173
+#, c-format
+msgid "ioctl failed: unable to determine device size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:181
+#, 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:185 disk-utils/fsck.cramfs.c:227
+msgid "file length too short"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:190 disk-utils/fsck.cramfs.c:198
+#: disk-utils/fsck.cramfs.c:259 disk-utils/fsck.cramfs.c:279
+#, fuzzy, c-format
+msgid "read failed: %s"
+msgstr "(Próximo arquivo: %s)"
+
+#: disk-utils/fsck.cramfs.c:208
+msgid "superblock magic not found"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:217
+#, fuzzy
+msgid "unsupported filesystem features"
+msgstr "Digite o tipo do sistema de arquivos: "
+
+#: disk-utils/fsck.cramfs.c:220
+#, fuzzy, c-format
+msgid "superblock size (%d) too small"
+msgstr "Número de setores"
+
+#: disk-utils/fsck.cramfs.c:224
+#, fuzzy
+msgid "zero file count"
+msgstr "para o arquivo"
+
+#: disk-utils/fsck.cramfs.c:230
+#, 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:234
+#, c-format
+msgid "warning: old cramfs format\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:247
+msgid "unable to test CRC: old cramfs format"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:273 disk-utils/fsck.cramfs.c:340
+#: disk-utils/fsck.cramfs.c:478 login-utils/chfn.c:529 login-utils/chsh.c:439
+#: sys-utils/cytune.c:321
+msgid "malloc failed"
+msgstr "malloc falhou"
+
+#: disk-utils/fsck.cramfs.c:298
+#, fuzzy
+msgid "crc error"
+msgstr ", erro"
+
+#: disk-utils/fsck.cramfs.c:365
+#, fuzzy
+msgid "root inode is not directory"
+msgstr "inode raiz não é um diretório"
+
+#: disk-utils/fsck.cramfs.c:370
+#, c-format
+msgid "bad root offset (%lu)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:388
+msgid "data block too large"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:392
+#, c-format
+msgid "decompression error %p(%d): %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:416
+#, fuzzy, c-format
+msgid "  hole at %ld (%zd)\n"
+msgstr "deveria ser (%d, %d, %d)\n"
+
+#: disk-utils/fsck.cramfs.c:424 disk-utils/fsck.cramfs.c:596
+#, c-format
+msgid "  uncompressing block at %ld to %ld (%ld)\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:430
+#, fuzzy, c-format
+msgid "non-block (%ld) bytes"
+msgstr "espaço usado: %d bytes\n"
+
+#: disk-utils/fsck.cramfs.c:434
+#, c-format
+msgid "non-size (%ld vs %ld) bytes"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:440
+#, fuzzy, c-format
+msgid "write failed: %s"
+msgstr "(Próximo arquivo: %s)"
+
+#: disk-utils/fsck.cramfs.c:453
+#, fuzzy, c-format
+msgid "lchown failed: %s"
+msgstr "mount falhou"
+
+#: disk-utils/fsck.cramfs.c:459
+#, fuzzy, c-format
+msgid "chown failed: %s"
+msgstr "mount falhou"
+
+#: disk-utils/fsck.cramfs.c:466
+#, fuzzy, c-format
+msgid "utime failed: %s"
+msgstr "bad timeout value: %s"
+
+#: disk-utils/fsck.cramfs.c:481
+#, c-format
+msgid "directory inode has zero offset and non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:495
+#, fuzzy, c-format
+msgid "mkdir failed: %s"
+msgstr "/dev: chdir() falhou: %m"
+
+#: disk-utils/fsck.cramfs.c:512
+msgid "filename length is zero"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:515
+msgid "bad filename length"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:522
+#, fuzzy
+msgid "bad inode offset"
+msgstr "tamanho de inode inválido"
+
+#: disk-utils/fsck.cramfs.c:538
+msgid "file inode has zero offset and non-zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:541
+msgid "file inode has zero size and non-zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:572
+msgid "symbolic link has zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:575
+msgid "symbolic link has zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:587
+#, fuzzy, c-format
+msgid "size error in symlink: %s"
+msgstr "erro ao gravar %s: %s"
+
+#: disk-utils/fsck.cramfs.c:602
+#, fuzzy, c-format
+msgid "symlink failed: %s"
+msgstr "fsync falhou"
+
+#: disk-utils/fsck.cramfs.c:614
+#, c-format
+msgid "special file has non-zero offset: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:626
+#, c-format
+msgid "fifo has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:632
+#, c-format
+msgid "socket has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:637
+#, c-format
+msgid "bogus mode: %s (%o)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:647
+#, fuzzy, c-format
+msgid "mknod failed: %s"
+msgstr "mount falhou"
+
+#: disk-utils/fsck.cramfs.c:683
+#, c-format
+msgid "directory data start (%ld) < sizeof(struct cramfs_super) + start (%ld)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:686
+#, c-format
+msgid "directory data end (%ld) != file data start (%ld)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:691
+#, fuzzy
+msgid "invalid file data offset"
+msgstr "id inválido: %s\n"
+
+#: disk-utils/fsck.cramfs.c:715
+#, fuzzy
+msgid "failed to allocate outbuffer"
+msgstr "Não foi possível alocar buffer.\n"
+
+#: disk-utils/fsck.cramfs.c:728
+#, fuzzy
+msgid "compiled without -x support"
+msgstr "umount: compilado sem suporte a -f\n"
+
+#: disk-utils/fsck.minix.c:210
+#, c-format
+msgid "Usage: %s [-larvsmf] /dev/name\n"
+msgstr "Uso: %s [ -larvsmf] dispositivo\n"
+
+#: disk-utils/fsck.minix.c:326
+#, c-format
+msgid "%s is mounted.\t "
+msgstr "%s está montado.\t"
+
+#: disk-utils/fsck.minix.c:328
+msgid "Do you really want to continue"
+msgstr "Você realmente deseja continuar?"
+
+#: disk-utils/fsck.minix.c:332
+#, c-format
+msgid "check aborted.\n"
+msgstr "verificação anulada.\n"
+
+#: disk-utils/fsck.minix.c:351 disk-utils/fsck.minix.c:374
+#, 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:355 disk-utils/fsck.minix.c:378
+#, 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:360 disk-utils/fsck.minix.c:383
+msgid "Remove block"
+msgstr "Remover bloco"
+
+#: disk-utils/fsck.minix.c:401
+#, 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:407
+#, 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:422
+#, 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:428 disk-utils/mkfs.minix.c:209
+msgid "seek failed in write_block"
+msgstr "busca falhou em write_block"
+
+#: disk-utils/fsck.minix.c:431
+#, 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:547
+msgid "seek failed in write_super_block"
+msgstr "busca falhou em write_super_block"
+
+#: disk-utils/fsck.minix.c:549 disk-utils/mkfs.minix.c:196
+msgid "unable to write super-block"
+msgstr "não foi possível gravar superbloco"
+
+#: disk-utils/fsck.minix.c:559
+msgid "Unable to write inode map"
+msgstr "Não foi possível gravar mapa de inode"
+
+#: disk-utils/fsck.minix.c:561
+msgid "Unable to write zone map"
+msgstr "Não foi possível gravar mapa de zona"
+
+#: disk-utils/fsck.minix.c:563
+msgid "Unable to write inodes"
+msgstr "Não foi possível gravar inodes"
+
+#: disk-utils/fsck.minix.c:590
+msgid "seek failed"
+msgstr "busca falhou"
+
+#: disk-utils/fsck.minix.c:592
+msgid "unable to read super block"
+msgstr "não foi possível ler superbloco"
+
+#: disk-utils/fsck.minix.c:610
+msgid "bad magic number in super-block"
+msgstr "número mágico inválido no superbloco"
+
+#: disk-utils/fsck.minix.c:612
+msgid "Only 1k blocks/zones supported"
+msgstr "Somente 1K blocos/zonas suportados"
+
+#: disk-utils/fsck.minix.c:614
+msgid "bad s_imap_blocks field in super-block"
+msgstr "campo s_imap_blocks inválido no superbloco"
+
+#: disk-utils/fsck.minix.c:616
+msgid "bad s_zmap_blocks field in super-block"
+msgstr "campo s_zmap_blocks inválido no superbloco"
+
+#: disk-utils/fsck.minix.c:623
+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:626
+#, 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:631
+msgid "Unable to allocate buffer for inodes"
+msgstr "Não foi possível alocar buffer para inodes"
+
+#: disk-utils/fsck.minix.c:634
+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:637
+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:639
+msgid "Unable to read inode map"
+msgstr "Não foi possível ler mapa de inodes"
+
+#: disk-utils/fsck.minix.c:641
+msgid "Unable to read zone map"
+msgstr "Não foi possível ler mapa de zonas"
+
+#: disk-utils/fsck.minix.c:643
+msgid "Unable to read inodes"
+msgstr "Não foi possível ler inodes"
+
+#: disk-utils/fsck.minix.c:645
+#, c-format
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr "Aviso: Firstzone != Norm_firstzone\n"
+
+#: disk-utils/fsck.minix.c:650 disk-utils/mkfs.minix.c:450
+#, c-format
+msgid "%ld inodes\n"
+msgstr "%ld inodes\n"
+
+#: disk-utils/fsck.minix.c:651 disk-utils/mkfs.minix.c:451
+#, c-format
+msgid "%ld blocks\n"
+msgstr "%ld blocos\n"
+
+#: disk-utils/fsck.minix.c:652 disk-utils/mkfs.minix.c:452
+#, c-format
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr "Primeira zona de dados = %ld (%ld)\n"
+
+#: disk-utils/fsck.minix.c:653 disk-utils/mkfs.minix.c:453
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr "Tamanho da zona = %d\n"
+
+#: disk-utils/fsck.minix.c:654
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr "Tamanho máximo = %ld\n"
+
+#: disk-utils/fsck.minix.c:655
+#, c-format
+msgid "Filesystem state=%d\n"
+msgstr "Estado do sistema de arquivos = %d\n"
+
+#: disk-utils/fsck.minix.c:656
+#, c-format
+msgid ""
+"namelen=%d\n"
+"\n"
+msgstr ""
+"Comprimento do nome = %d\n"
+"\n"
+
+#: disk-utils/fsck.minix.c:671 disk-utils/fsck.minix.c:722
+#, 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:675 disk-utils/fsck.minix.c:726
+msgid "Mark in use"
+msgstr "Marca em uso"
+
+#: disk-utils/fsck.minix.c:697 disk-utils/fsck.minix.c:746
+#, fuzzy, c-format
+msgid "The file `%s' has mode %05o\n"
+msgstr " tem modo %05o\n"
+
+#: disk-utils/fsck.minix.c:704 disk-utils/fsck.minix.c:752
+#, c-format
+msgid "Warning: inode count too big.\n"
+msgstr "Aviso: contagem de inodes grande demais.\n"
+
+#: disk-utils/fsck.minix.c:764 disk-utils/fsck.minix.c:772
+msgid "root inode isn't a directory"
+msgstr "inode raiz não é um diretório"
+
+#: disk-utils/fsck.minix.c:786 disk-utils/fsck.minix.c:819
+#, 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:788 disk-utils/fsck.minix.c:821
+#: disk-utils/fsck.minix.c:1144 disk-utils/fsck.minix.c:1153
+#: disk-utils/fsck.minix.c:1199 disk-utils/fsck.minix.c:1208
+msgid "Clear"
+msgstr "Limpar"
+
+#: disk-utils/fsck.minix.c:798 disk-utils/fsck.minix.c:831
+#, 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:800 disk-utils/fsck.minix.c:833
+msgid "Correct"
+msgstr "Correto"
+
+#: disk-utils/fsck.minix.c:972 disk-utils/fsck.minix.c:1039
+#, 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:975 disk-utils/fsck.minix.c:1042
+msgid " Remove"
+msgstr " Remover"
+
+#: disk-utils/fsck.minix.c:989 disk-utils/fsck.minix.c:1056
+#, 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:997 disk-utils/fsck.minix.c:1065
+#, 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:1099 disk-utils/fsck.minix.c:1117
+msgid "internal error"
+msgstr "erro interno"
+
+#: disk-utils/fsck.minix.c:1102 disk-utils/fsck.minix.c:1120
+#, fuzzy, c-format
+msgid "%s: bad directory: size < 32"
+msgstr ": diretório inválido: tamanho < 32"
+
+#: disk-utils/fsck.minix.c:1133
+msgid "seek failed in bad_zone"
+msgstr "busca falhou em bad_zone"
+
+#: disk-utils/fsck.minix.c:1143 disk-utils/fsck.minix.c:1198
+#, c-format
+msgid "Inode %d mode not cleared."
+msgstr "O modo do inode %d não foi limpo."
+
+#: disk-utils/fsck.minix.c:1152 disk-utils/fsck.minix.c:1207
+#, c-format
+msgid "Inode %d 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:1158 disk-utils/fsck.minix.c:1213
+#, c-format
+msgid "Inode %d 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:1160 disk-utils/fsck.minix.c:1214
+msgid "Set"
+msgstr "Configurar"
+
+#: disk-utils/fsck.minix.c:1164 disk-utils/fsck.minix.c:1218
+#, c-format
+msgid "Inode %d (mode = %07o), i_nlinks=%d, counted=%d."
+msgstr "Inode %d (modo = %07o), i_nlinks = %d, contados = %d."
+
+#: disk-utils/fsck.minix.c:1166 disk-utils/fsck.minix.c:1220
+msgid "Set i_nlinks to count"
+msgstr "Configurar i_nlinks para contagem"
+
+#: disk-utils/fsck.minix.c:1178 disk-utils/fsck.minix.c:1232
+#, c-format
+msgid "Zone %d: marked in use, no file uses it."
+msgstr "Zona %d marcada em uso, mas nenhum arquivo a usa."
+
+#: disk-utils/fsck.minix.c:1179 disk-utils/fsck.minix.c:1234
+msgid "Unmark"
+msgstr "Desmarcar"
+
+#: disk-utils/fsck.minix.c:1184 disk-utils/fsck.minix.c:1239
+#, fuzzy, c-format
+msgid "Zone %d: in use, counted=%d\n"
+msgstr "Zona %d: %s em uso, contados = %d\n"
+
+#: disk-utils/fsck.minix.c:1187 disk-utils/fsck.minix.c:1242
+#, fuzzy, c-format
+msgid "Zone %d: not in use, counted=%d\n"
+msgstr "Zona %d: %s em uso, contados = %d\n"
+
+#: disk-utils/fsck.minix.c:1287 disk-utils/mkfs.minix.c:576
+#: disk-utils/mkfs.minix.c:578
+msgid "bad inode size"
+msgstr "tamanho de inode inválido"
+
+#: disk-utils/fsck.minix.c:1289
+msgid "bad v2 inode size"
+msgstr "tamanho de inode v2 inválido"
+
+#: disk-utils/fsck.minix.c:1315
+msgid "need terminal for interactive repairs"
+msgstr "é necessário um terminal para reparos interativos"
+
+#: disk-utils/fsck.minix.c:1319
+#, fuzzy, c-format
+msgid "unable to open '%s': %s"
+msgstr "não foi possível abrir '%s'"
+
+#: disk-utils/fsck.minix.c:1334
+#, c-format
+msgid "%s is clean, no check.\n"
+msgstr "%s está limpo; sem verificação.\n"
+
+#: disk-utils/fsck.minix.c:1338
+#, 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:1340
+#, 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:1373
+#, c-format
+msgid ""
+"\n"
+"%6ld inodes used (%ld%%)\n"
+msgstr ""
+"\n"
+"%6ld inodes usados (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1378
+#, c-format
+msgid "%6ld zones used (%ld%%)\n"
+msgstr "%6ld zonas usadas (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1380
+#, 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:1393
+#, 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
+#, c-format
+msgid "%s: failed to open: %s\n"
+msgstr "%s: não foi possível abrir %s\n"
+
+#: disk-utils/isosize.c:135
+#, c-format
+msgid "%s: seek error on %s\n"
+msgstr "%s: erro de procura em %s\n"
+
+#: disk-utils/isosize.c:141
+#, c-format
+msgid "%s: read error on %s\n"
+msgstr "%s: erro de leitura em %s\n"
+
+#: disk-utils/isosize.c:150
+#, c-format
+msgid "sector count: %d, sector size: %d\n"
+msgstr "contagem de setor: %d, tamanho de setor: %d\n"
+
+#: disk-utils/isosize.c:200
+#, c-format
+msgid "%s: option parse error\n"
+msgstr "%s: opção erro de parser\n"
+
+#: disk-utils/isosize.c:208
+#, c-format
+msgid "Usage: %s [-x] [-d <num>] iso9660-image\n"
+msgstr "Uso: %s [-x] [-d <num>] iso9660-image\n"
+
+#: disk-utils/mkfs.bfs.c:84
+#, c-format
+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"
+
+#: disk-utils/mkfs.bfs.c:131
+msgid "volume name too long"
+msgstr "nome de volume muito longo"
+
+#: disk-utils/mkfs.bfs.c:138
+msgid "fsname name too long"
+msgstr "fsname nome muito longo"
+
+#: disk-utils/mkfs.bfs.c:163
+#, c-format
+msgid "cannot stat device %s"
+msgstr "não foi possível verificar status de dispositivo %s"
+
+#: disk-utils/mkfs.bfs.c:167
+#, c-format
+msgid "%s is not a block special device"
+msgstr "%s não é um dispositivo de blocos especial"
+
+#: disk-utils/mkfs.bfs.c:172 sys-utils/ldattach.c:205
+#, c-format
+msgid "cannot open %s"
+msgstr "não foi possível abrir %s"
+
+#: disk-utils/mkfs.bfs.c:183
+#, c-format
+msgid "cannot get size of %s"
+msgstr "Não foi possível obter o tamanho de %s"
+
+#: disk-utils/mkfs.bfs.c:188
+#, 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:203
+msgid "too many inodes - max is 512"
+msgstr "muitos inodes - máximo é 512"
+
+#: disk-utils/mkfs.bfs.c:212
+#, 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:224 fdisk/fdisk.c:2345
+#, c-format
+msgid "Device: %s\n"
+msgstr "Dispositivo: %s\n"
+
+#: disk-utils/mkfs.bfs.c:225
+#, c-format
+msgid "Volume: <%-6s>\n"
+msgstr "Volume: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:226
+#, c-format
+msgid "FSname: <%-6s>\n"
+msgstr "FSname: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:227
+#, c-format
+msgid "BlockSize: %d\n"
+msgstr "TamBloco: %d\n"
+
+#: disk-utils/mkfs.bfs.c:229
+#, c-format
+msgid "Inodes: %d (in 1 block)\n"
+msgstr "Inodes: %d (em 1 bloco)\n"
+
+#: disk-utils/mkfs.bfs.c:232
+#, fuzzy, c-format
+msgid "Inodes: %d (in %lld blocks)\n"
+msgstr "Inodes: %d (em %ld blocos)\n"
+
+#: disk-utils/mkfs.bfs.c:234
+#, fuzzy, c-format
+msgid "Blocks: %lld\n"
+msgstr "Blocos: %ld\n"
+
+#: disk-utils/mkfs.bfs.c:235
+#, c-format
+msgid "Inode end: %d, Data end: %d\n"
+msgstr "Inode fim: %d, Dados fim: %d\n"
+
+#: disk-utils/mkfs.bfs.c:240
+msgid "error writing superblock"
+msgstr "erro gravando superbloco"
+
+#: disk-utils/mkfs.bfs.c:260
+msgid "error writing root inode"
+msgstr "erro gravando inode root"
+
+#: disk-utils/mkfs.bfs.c:265
+msgid "error writing inode"
+msgstr "erro gravando inodes"
+
+#: disk-utils/mkfs.bfs.c:268
+msgid "seek error"
+msgstr "erro de busca"
+
+#: disk-utils/mkfs.bfs.c:274
+msgid "error writing . entry"
+msgstr "erro gravando . entrada"
+
+#: disk-utils/mkfs.bfs.c:278
+msgid "error writing .. entry"
+msgstr "erro gravando .. entrada"
+
+#: disk-utils/mkfs.bfs.c:282
+#, c-format
+msgid "error closing %s"
+msgstr "erro fechando %s"
+
+#: disk-utils/mkfs.c:73
+#, c-format
+msgid "Usage: mkfs [-V] [-t fstype] [fs-options] device [size]\n"
+msgstr ""
+"Uso: mkfs [-V] [-t tipoSistArq] [opções-sistArq] dispositivo [tamanho]\n"
+
+#: disk-utils/mkfs.c:88 disk-utils/mkfs.c:96 fdisk/cfdisk.c:351
+#: getopt/getopt.c:86 getopt/getopt.c:96 login-utils/wall.c:246
+#, c-format
+msgid "%s: Out of memory!\n"
+msgstr "%s: memória insuficiente!\n"
+
+#: disk-utils/mkfs.c:103
+#, fuzzy, c-format
+msgid "mkfs (%s)\n"
+msgstr "mkfs versão %s (%s)\n"
+
+#: disk-utils/mkfs.cramfs.c:126
+#, 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:340
+#, c-format
+msgid ""
+"Very long (%zu bytes) filename `%s' found.\n"
+" Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile.  Exiting.\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:472
+#, c-format
+msgid "filesystem too big.  Exiting.\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:637
+#, c-format
+msgid "AIEEE: block \"compressed\" to > 2*blocklength (%ld)\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:656
+#, c-format
+msgid "%6.2f%% (%+ld bytes)\t%s\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:854
+#, c-format
+msgid ""
+"warning: guestimate of required size (upper bound) is %lldMB, but maximum "
+"image size is %uMB.  We might die prematurely.\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:881
+msgid "ROM image map"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:895
+#, fuzzy, c-format
+msgid "Including: %s\n"
+msgstr "id inválido: %s\n"
+
+#: disk-utils/mkfs.cramfs.c:901
+#, c-format
+msgid "Directory data: %zd bytes\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:909
+#, c-format
+msgid "Everything: %zd kilobytes\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:914
+#, fuzzy, c-format
+msgid "Super block: %zd bytes\n"
+msgstr "espaço usado: %d bytes\n"
+
+#: disk-utils/mkfs.cramfs.c:921
+#, c-format
+msgid "CRC: %x\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:926
+#, c-format
+msgid "not enough space allocated for ROM image (%lld allocated, %zu used)\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:934
+msgid "ROM image"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:938
+#, c-format
+msgid "ROM image write failed (%zd %zd)\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:947
+#, fuzzy, c-format
+msgid "warning: filenames truncated to 255 bytes.\n"
+msgstr "Aviso: contagem de inodes grande demais.\n"
+
+#: disk-utils/mkfs.cramfs.c:950
+#, c-format
+msgid "warning: files were skipped due to errors.\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:953
+#, c-format
+msgid "warning: file sizes truncated to %luMB (minus 1 byte).\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:958
+#, c-format
+msgid ""
+"warning: uids truncated to %u bits.  (This may be a security concern.)\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:963
+#, c-format
+msgid ""
+"warning: gids truncated to %u bits.  (This may be a security concern.)\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:968
+#, c-format
+msgid ""
+"WARNING: device numbers truncated to %u bits.  This almost certainly means\n"
+"that some device files will be wrong.\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:156
+#, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]\n"
+msgstr "Uso: %s [-c | -l NomeArquivo] [-nXX] [-iXX] dispositivo [blocos]\n"
+
+#: disk-utils/mkfs.minix.c:180
+#, 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:190
+msgid "seek to boot block failed in write_tables"
+msgstr "busca de bloco de boot falhou em write_tables"
+
+#: disk-utils/mkfs.minix.c:192
+msgid "unable to clear boot sector"
+msgstr "não foi possível limpar o setor de boot"
+
+#: disk-utils/mkfs.minix.c:194
+msgid "seek failed in write_tables"
+msgstr "busca falhou em write_tables"
+
+#: disk-utils/mkfs.minix.c:198
+msgid "unable to write inode map"
+msgstr "não foi possível gravar mapa de inodes"
+
+#: disk-utils/mkfs.minix.c:200
+msgid "unable to write zone map"
+msgstr "não foi possível gravar mapa de zonas"
+
+#: disk-utils/mkfs.minix.c:202
+msgid "unable to write inodes"
+msgstr "não foi possível gravar inodes"
+
+#: disk-utils/mkfs.minix.c:211
+msgid "write failed in write_block"
+msgstr "gravação falhou em write_block"
+
+#: disk-utils/mkfs.minix.c:219 disk-utils/mkfs.minix.c:293
+#: disk-utils/mkfs.minix.c:342
+msgid "too many bad blocks"
+msgstr "número excessivo de blocos defeituosos"
+
+#: disk-utils/mkfs.minix.c:227
+msgid "not enough good blocks"
+msgstr "não há blocos sem problemas suficientes"
+
+#: disk-utils/mkfs.minix.c:439
+msgid "unable to allocate buffers for maps"
+msgstr "não foi possível alocar buffers para mapas"
+
+#: disk-utils/mkfs.minix.c:448
+msgid "unable to allocate buffer for inodes"
+msgstr "não foi possível alocar buffers para inodes"
+
+#: disk-utils/mkfs.minix.c:454
+#, c-format
+msgid ""
+"Maxsize=%ld\n"
+"\n"
+msgstr ""
+"Tamanho máximo = %ld\n"
+"\n"
+
+#: disk-utils/mkfs.minix.c:468
+msgid "seek failed during testing of blocks"
+msgstr "busca falhou durante teste de blocos"
+
+#: disk-utils/mkfs.minix.c:476
+#, 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:507 disk-utils/mkswap.c:313
+msgid "seek failed in check_blocks"
+msgstr "busca falhou em check_blocks"
+
+#: disk-utils/mkfs.minix.c:516
+msgid "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:522 disk-utils/mkfs.minix.c:547
+#, c-format
+msgid "%d bad blocks\n"
+msgstr "%d blocos defeituosos\n"
+
+#: disk-utils/mkfs.minix.c:524 disk-utils/mkfs.minix.c:549
+#, c-format
+msgid "one bad block\n"
+msgstr "um bloco defeituoso\n"
+
+#: disk-utils/mkfs.minix.c:534
+msgid "can't open file of bad blocks"
+msgstr "não foi possível abrir arquivo de blocos defeituosos"
+
+#: disk-utils/mkfs.minix.c:538
+#, c-format
+msgid "badblock number input error on line %d\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:539
+#, fuzzy
+msgid "cannot read badblocks file"
+msgstr "Não foi possível ler a unidade de disco"
+
+#: disk-utils/mkfs.minix.c:619
+#, 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:638
+#, c-format
+msgid "unable to stat %s"
+msgstr "não foi possível stat %s"
+
+#: disk-utils/mkfs.minix.c:644
+#, c-format
+msgid "unable to open %s"
+msgstr "não foi possível abrir %s"
+
+#: disk-utils/mkfs.minix.c:649
+#, fuzzy, c-format
+msgid "cannot determine sector size for %s"
+msgstr "Não foi possível obter o tamanho de %s"
+
+#: disk-utils/mkfs.minix.c:651
+#, c-format
+msgid "block size smaller than physical sector size of %s"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:654
+#, 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:662
+#, 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:664
+#, fuzzy
+msgid "number of blocks too small"
+msgstr "Número de setores"
+
+#: disk-utils/mkswap.c:155
+#, c-format
+msgid "Bad user-specified page size %d\n"
+msgstr "Tamanho de página especificado pelo usuário %d inválido\n"
+
+#: disk-utils/mkswap.c:163
+#, fuzzy, c-format
+msgid "Using user-specified page size %d, instead of the system value %d\n"
+msgstr ""
+"Usando tamanho de página especificado pelo usuário %d, em vez dos valores do "
+"sistema %d/%d\n"
+
+#: disk-utils/mkswap.c:192
+#, c-format
+msgid "Bad swap header size, no label written.\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:202
+#, c-format
+msgid "Label was truncated.\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:208
+#, fuzzy, c-format
+msgid "no label, "
+msgstr "rótulo"
+
+#: disk-utils/mkswap.c:216
+#, c-format
+msgid "no uuid\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:281
+#, fuzzy, c-format
+msgid "Usage: %s [-c] [-pPAGESZ] [-L label] [-U UUID] /dev/name [blocks]\n"
+msgstr "Uso: %s [-c] [-v0|-v1] [-pTamPág] dispositivo [blocos]\n"
+
+#: disk-utils/mkswap.c:295
+msgid "too many bad pages"
+msgstr "número excessivo de páginas inválidas"
+
+#: disk-utils/mkswap.c:308 misc-utils/look.c:182 misc-utils/setterm.c:1183
+#: text-utils/more.c:1982 text-utils/more.c:1993
+msgid "Out of memory"
+msgstr "Memória insuficiente"
+
+#: disk-utils/mkswap.c:319
+#, c-format
+msgid "one bad page\n"
+msgstr "uma página inválida\n"
+
+#: disk-utils/mkswap.c:321
+#, fuzzy, c-format
+msgid "%lu bad pages\n"
+msgstr "%d páginas inválidas\n"
+
+#: disk-utils/mkswap.c:399 disk-utils/mkswap.c:415 disk-utils/mkswap.c:633
+msgid "unable to rewind swap-device"
+msgstr "Não foi possível rebobinar o dispositivo de permuta (swap)"
+
+#: disk-utils/mkswap.c:419
+#, fuzzy
+msgid "unable to erase bootbits sectors"
+msgstr "não foi possível limpar o setor de boot"
+
+#: disk-utils/mkswap.c:423
+#, c-format
+msgid "%s: %s: warning: don't erase bootbits sectors\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:426
+#, fuzzy, c-format
+msgid "        (%s partition table detected). "
+msgstr "   p   mostra a tabela de partições BSD"
+
+#: disk-utils/mkswap.c:428
+#, fuzzy, c-format
+msgid "        on whole disk. "
+msgstr "   s   mostra o rótulo do disco completo"
+
+#: disk-utils/mkswap.c:498
+#, c-format
+msgid "%1$s: warning: ignore -U (UUIDs are unsupported by %1$s)\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:514
+#, fuzzy, c-format
+msgid "%s: does not support swapspace version %d.\n"
+msgstr "%s - erro: versão %d desconhecida\n"
+
+#: disk-utils/mkswap.c:522
+#, fuzzy
+msgid "error: UUID parsing failed"
+msgstr "Erro no fechamento de %s\n"
+
+#: disk-utils/mkswap.c:533
+#, c-format
+msgid "%s: error: Nowhere to set up swap on?\n"
+msgstr "%s - erro: nenhum lugar para ativar permuta (swap)?\n"
+
+#: disk-utils/mkswap.c:551
+#, fuzzy, c-format
+msgid "%s: error: size %llu KiB is larger than device size %llu KiB\n"
+msgstr "%s: erro - tamanho %ld é maior do que o tamanho do dispositivo %d\n"
+
+#: disk-utils/mkswap.c:560
+#, fuzzy, c-format
+msgid "%s: error: swap area needs to be at least %ld KiB\n"
+msgstr "%s - erro: a área de permuta (swap) precisa ter pelo menos %ld kB\n"
+
+#: disk-utils/mkswap.c:577
+#, fuzzy, c-format
+msgid "%s: warning: truncating swap area to %llu KiB\n"
+msgstr "%s -- aviso: reduzindo área de permuta (swap) para %ld kB\n"
+
+#: disk-utils/mkswap.c:600
+#, fuzzy, c-format
+msgid "%s: error: will not try to make swapdevice on '%s'\n"
+msgstr "Não será tentado criar dispositivo de permuta (swap) em '%s'"
+
+#: disk-utils/mkswap.c:606
+#, fuzzy, c-format
+msgid "%s: error: %s is mounted; will not make swapspace.\n"
+msgstr "%s está montado; não criará um sistema de arquivos aqui!"
+
+#: disk-utils/mkswap.c:622
+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:625
+#, 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:636
+#, fuzzy, c-format
+msgid "%s: %s: unable to write signature page: %s"
+msgstr "Não foi possível gravar a página de assinatura"
+
+#: disk-utils/mkswap.c:647
+msgid "fsync failed"
+msgstr "fsync falhou"
+
+#: disk-utils/mkswap.c:658
+#, c-format
+msgid "%s: %s: unable to obtain selinux file label: %s\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:664
+#, fuzzy
+msgid "unable to matchpathcon()"
+msgstr "não foi possível stat %s"
+
+#: disk-utils/mkswap.c:667
+#, fuzzy
+msgid "unable to create new selinux context"
+msgstr "não foi possível gravar inodes"
+
+#: disk-utils/mkswap.c:669
+msgid "couldn't compute selinux context"
+msgstr ""
+
+#: disk-utils/mkswap.c:675
+#, fuzzy, c-format
+msgid "%s: unable to relabel %s to %s: %s\n"
+msgstr "não foi possível renomear %s para %s: %s\n"
+
+#: disk-utils/raw.c:50
+#, fuzzy, c-format
+msgid ""
+"Usage:\n"
+"  %s "
+msgstr "Uso:"
+
+#: disk-utils/raw.c:125
+#, c-format
+msgid ""
+"Device '%s' is control raw dev (use raw<N> where <N> is greater than zero)\n"
+msgstr ""
+
+#: disk-utils/raw.c:145
+#, fuzzy, c-format
+msgid "Cannot locate block device '%s' (%s)\n"
+msgstr "Não foi possível bloquear o arquivo de bloqueio %s: %s\n"
+
+#: disk-utils/raw.c:151
+#, fuzzy, c-format
+msgid "Device '%s' is not a block dev\n"
+msgstr "Aviso: %s não é um dispositivo de blocos\n"
+
+#: disk-utils/raw.c:186
+#, fuzzy, c-format
+msgid "Cannot open master raw device '"
+msgstr "não foi possível verificar status de dispositivo %s"
+
+#: disk-utils/raw.c:205
+#, fuzzy, c-format
+msgid "Cannot locate raw device '%s' (%s)\n"
+msgstr "não foi possível verificar status de dispositivo %s"
+
+#: disk-utils/raw.c:211
+#, fuzzy, c-format
+msgid "Raw device '%s' is not a character dev\n"
+msgstr "/dev/%s não é um dispositivo de caracteres"
+
+#: disk-utils/raw.c:216
+#, fuzzy, c-format
+msgid "Device '%s' is not a raw dev\n"
+msgstr "%s não é um dispositivo de blocos especial"
+
+#: disk-utils/raw.c:231
+#, c-format
+msgid "Error querying raw device (%s)\n"
+msgstr ""
+
+#: disk-utils/raw.c:241 disk-utils/raw.c:261
+#, c-format
+msgid "raw%d:\tbound to major %d, minor %d\n"
+msgstr ""
+
+#: disk-utils/raw.c:257
+#, fuzzy, c-format
+msgid "Error setting raw device (%s)\n"
+msgstr "erro ao gravar %s: %s"
+
+#: fdisk/cfdisk.c:376 fdisk/cfdisk.c:2080
+msgid "Unusable"
+msgstr "Inutilizável"
+
+#: fdisk/cfdisk.c:378 fdisk/cfdisk.c:2082
+msgid "Free Space"
+msgstr "Espaço livre"
+
+#: fdisk/cfdisk.c:381
+msgid "Linux ext2"
+msgstr "Linux ext2"
+
+#: fdisk/cfdisk.c:383
+#, fuzzy
+msgid "Linux ext3"
+msgstr "Linux ext2"
+
+#: fdisk/cfdisk.c:385
+#, fuzzy
+msgid "Linux XFS"
+msgstr "Linux"
+
+#: fdisk/cfdisk.c:387
+#, fuzzy
+msgid "Linux JFS"
+msgstr "Linux"
+
+#: fdisk/cfdisk.c:389
+#, fuzzy
+msgid "Linux ReiserFS"
+msgstr "Linux nativa"
+
+#: fdisk/cfdisk.c:391 fdisk/i386_sys_types.c:57
+msgid "Linux"
+msgstr "Linux"
+
+#: fdisk/cfdisk.c:394
+msgid "OS/2 HPFS"
+msgstr "HPFS do OS/2"
+
+#: fdisk/cfdisk.c:396
+msgid "OS/2 IFS"
+msgstr "IFS do OS/2"
+
+#: fdisk/cfdisk.c:400
+msgid "NTFS"
+msgstr "NTFS"
+
+#: fdisk/cfdisk.c:411
+#, c-format
+msgid "Disk has been changed.\n"
+msgstr "O disco foi alterado.\n"
+
+#: fdisk/cfdisk.c:413
+#, 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"
+
+#: fdisk/cfdisk.c:417
+#, 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"
+
+#: fdisk/cfdisk.c:512
+msgid "FATAL ERROR"
+msgstr "ERRO FATAL"
+
+#: fdisk/cfdisk.c:513
+msgid "Press any key to exit cfdisk"
+msgstr "Pressione qualquer tecla para sair do cfdisk"
+
+#: fdisk/cfdisk.c:560 fdisk/cfdisk.c:568
+msgid "Cannot seek on disk drive"
+msgstr "Não foi possível realizar busca na unidade de disco"
+
+#: fdisk/cfdisk.c:562
+msgid "Cannot read disk drive"
+msgstr "Não foi possível ler a unidade de disco"
+
+#: fdisk/cfdisk.c:570
+msgid "Cannot write disk drive"
+msgstr "Não foi possível gravar na unidade de disco"
+
+#: fdisk/cfdisk.c:913
+msgid "Too many partitions"
+msgstr "Número excessivo de partições"
+
+#: fdisk/cfdisk.c:918
+msgid "Partition begins before sector 0"
+msgstr "A partição começa antes do setor 0"
+
+#: fdisk/cfdisk.c:923
+msgid "Partition ends before sector 0"
+msgstr "A partição termina antes do setor 0"
+
+#: fdisk/cfdisk.c:928
+msgid "Partition begins after end-of-disk"
+msgstr "A partição começa depois do fim do disco"
+
+#: fdisk/cfdisk.c:933
+msgid "Partition ends after end-of-disk"
+msgstr "A partição se estende até depois do fim do disco"
+
+#: fdisk/cfdisk.c:938
+msgid "Partition ends in the final partial cylinder"
+msgstr ""
+
+#: fdisk/cfdisk.c:962
+msgid "logical partitions not in disk order"
+msgstr "partições lógicas fora da ordem do disco"
+
+#: fdisk/cfdisk.c:965
+msgid "logical partitions overlap"
+msgstr "partições lógicas sobrepostas"
+
+#: fdisk/cfdisk.c:969
+msgid "enlarged logical partitions overlap"
+msgstr "partições lógicas aumentadas sobrepostas"
+
+#: fdisk/cfdisk.c:999
+msgid ""
+"!!!! Internal error creating logical drive with no extended partition !!!!"
+msgstr "!!!! Erro interno ao criar unidade lógica sem partição estendida !!!!"
+
+#: fdisk/cfdisk.c:1010 fdisk/cfdisk.c:1022
+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"
+
+#: fdisk/cfdisk.c:1164
+msgid "Menu item too long. Menu may look odd."
+msgstr "Item de menu longo demais. O menu pode ficar com aspecto estranho."
+
+#: fdisk/cfdisk.c:1220
+#, fuzzy
+msgid "Menu without direction. Defaulting to horizontal."
+msgstr "Menu sem direção. Assumindo horizontal como padrão."
+
+#: fdisk/cfdisk.c:1351
+msgid "Illegal key"
+msgstr "Tecla ilegal"
+
+#: fdisk/cfdisk.c:1374
+msgid "Press a key to continue"
+msgstr "Pressione uma tecla para continuar"
+
+#: fdisk/cfdisk.c:1421 fdisk/cfdisk.c:2051 fdisk/cfdisk.c:2583
+#: fdisk/cfdisk.c:2585
+msgid "Primary"
+msgstr "Primária"
+
+#: fdisk/cfdisk.c:1421
+msgid "Create a new primary partition"
+msgstr "Cria uma nova partição primária"
+
+#: fdisk/cfdisk.c:1422 fdisk/cfdisk.c:2051 fdisk/cfdisk.c:2582
+#: fdisk/cfdisk.c:2585
+msgid "Logical"
+msgstr "Lógica"
+
+#: fdisk/cfdisk.c:1422
+msgid "Create a new logical partition"
+msgstr "Cria uma nova partição lógica"
+
+#: fdisk/cfdisk.c:1423 fdisk/cfdisk.c:1478 fdisk/cfdisk.c:2256
+msgid "Cancel"
+msgstr "Cancelar"
+
+#: fdisk/cfdisk.c:1423 fdisk/cfdisk.c:1478
+msgid "Don't create a partition"
+msgstr "Não criar uma partição"
+
+#: fdisk/cfdisk.c:1439
+msgid "!!! Internal error !!!"
+msgstr "!!! Erro interno !!!"
+
+#: fdisk/cfdisk.c:1442
+msgid "Size (in MB): "
+msgstr "Tamanho (em MB): "
+
+#: fdisk/cfdisk.c:1476
+msgid "Beginning"
+msgstr "Início"
+
+#: fdisk/cfdisk.c:1476
+msgid "Add partition at beginning of free space"
+msgstr "Adicionar partição no início do espaço livre"
+
+#: fdisk/cfdisk.c:1477
+msgid "End"
+msgstr "Fim"
+
+#: fdisk/cfdisk.c:1477
+msgid "Add partition at end of free space"
+msgstr "Adicionar partição no final do espaço livre"
+
+#: fdisk/cfdisk.c:1495
+msgid "No room to create the extended partition"
+msgstr "Espaço insuficiente para criação de partição estendida"
+
+#: fdisk/cfdisk.c:1569
+#, fuzzy
+msgid "No partition table.\n"
+msgstr "nenhuma tabela de partições presente.\n"
+
+#: fdisk/cfdisk.c:1573
+#, fuzzy
+msgid "No partition table. Starting with zero table."
+msgstr "Mostrar tabela de partições na tela ou imprimir em um arquivo"
+
+#: fdisk/cfdisk.c:1583
+msgid "Bad signature on partition table"
+msgstr "Assinatura inválida na tabela de partições"
+
+#: fdisk/cfdisk.c:1587
+#, fuzzy
+msgid "Unknown partition table type"
+msgstr "nenhuma tabela de partições presente.\n"
+
+#: fdisk/cfdisk.c:1589
+msgid "Do you wish to start with a zero table [y/N] ?"
+msgstr ""
+
+#: fdisk/cfdisk.c:1637
+msgid "You specified more cylinders than fit on disk"
+msgstr ""
+"Foram especificados mais cilindros do que a quantidade que cabe no disco"
+
+#: fdisk/cfdisk.c:1669
+msgid "Cannot open disk drive"
+msgstr "Não foi possível abrir a unidade de disco"
+
+#: fdisk/cfdisk.c:1671 fdisk/cfdisk.c:1860
+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"
+
+#: fdisk/cfdisk.c:1682
+msgid ""
+"Warning!!  Unsupported GPT (GUID Partition Table) detected. Use GNU Parted."
+msgstr ""
+
+#: fdisk/cfdisk.c:1701
+msgid "Cannot get disk size"
+msgstr "Não foi possível obter o tamanho do disco"
+
+#: fdisk/cfdisk.c:1727
+msgid "Bad primary partition"
+msgstr "Partição primária inválida"
+
+#: fdisk/cfdisk.c:1757
+msgid "Bad logical partition"
+msgstr "Partição lógica inválida"
+
+#: fdisk/cfdisk.c:1872
+msgid "Warning!!  This may destroy data on your disk!"
+msgstr "Aviso!! Isto pode destruir dados existentes no disco!"
+
+#: fdisk/cfdisk.c:1876
+#, 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):"
+
+#: fdisk/cfdisk.c:1882
+msgid "no"
+msgstr "nao"
+
+#: fdisk/cfdisk.c:1884
+msgid "Did not write partition table to disk"
+msgstr "A tabela de partições NÃO foi gravada no disco"
+
+#: fdisk/cfdisk.c:1886
+msgid "yes"
+msgstr "sim"
+
+#: fdisk/cfdisk.c:1890
+msgid "Please enter `yes' or `no'"
+msgstr "Responda `sim' ou `nao'"
+
+#: fdisk/cfdisk.c:1894
+msgid "Writing partition table to disk..."
+msgstr "Gravando tabela de partições no disco..."
+
+#: fdisk/cfdisk.c:1921 fdisk/cfdisk.c:1925
+msgid "Wrote partition table to disk"
+msgstr "A tabela de partições foi gravada no disco"
+
+#: fdisk/cfdisk.c:1923
+#, 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."
+
+#: fdisk/cfdisk.c:1933
+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."
+
+#: fdisk/cfdisk.c:1935
+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."
+
+#: fdisk/cfdisk.c:1993 fdisk/cfdisk.c:2112 fdisk/cfdisk.c:2196
+msgid "Enter filename or press RETURN to display on screen: "
+msgstr "Digite um nome de arquivo ou pressione ENTER para exibir na tela: "
+
+#: fdisk/cfdisk.c:2002 fdisk/cfdisk.c:2120 fdisk/cfdisk.c:2204
+#, c-format
+msgid "Cannot open file '%s'"
+msgstr "Não foi possível abrir o arquivo '%s'"
+
+#: fdisk/cfdisk.c:2013
+#, c-format
+msgid "Disk Drive: %s\n"
+msgstr "Unidade de disco: %s\n"
+
+#: fdisk/cfdisk.c:2015
+msgid "Sector 0:\n"
+msgstr "Setor 0:\n"
+
+#: fdisk/cfdisk.c:2022
+#, c-format
+msgid "Sector %d:\n"
+msgstr "Setor %d:\n"
+
+#: fdisk/cfdisk.c:2042
+msgid "   None   "
+msgstr "  Nenhum  "
+
+#: fdisk/cfdisk.c:2044
+msgid "   Pri/Log"
+msgstr "   Pri/lóg"
+
+#: fdisk/cfdisk.c:2046
+msgid "   Primary"
+msgstr "   Primária"
+
+#: fdisk/cfdisk.c:2048
+msgid "   Logical"
+msgstr "   Lógica"
+
+#: fdisk/cfdisk.c:2086 fdisk/fdisk.c:1534 fdisk/fdisk.c:1855
+#: fdisk/fdisksgilabel.c:240 fdisk/fdisksunlabel.c:621 fdisk/sfdisk.c:653
+msgid "Unknown"
+msgstr "Desconhecido"
+
+#: fdisk/cfdisk.c:2092 fdisk/cfdisk.c:2560 fdisk/fdisksunlabel.c:44
+msgid "Boot"
+msgstr "Inicializar"
+
+#: fdisk/cfdisk.c:2094
+#, fuzzy, c-format
+msgid "(%02X)"
+msgstr "Desc (%02X)"
+
+#: fdisk/cfdisk.c:2096
+#, fuzzy
+msgid "None"
+msgstr "Concluído"
+
+#: fdisk/cfdisk.c:2131 fdisk/cfdisk.c:2215
+#, c-format
+msgid "Partition Table for %s\n"
+msgstr "Tabela de partições de %s\n"
+
+#: fdisk/cfdisk.c:2133
+#, fuzzy
+msgid "               First       Last\n"
+msgstr "            Prim.    Últ.\n"
+
+#: fdisk/cfdisk.c:2134
+#, 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"
+
+#: fdisk/cfdisk.c:2135
+#, fuzzy
+msgid ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+msgstr ""
+"-- ------- -------- --------- ------ --------- ---------------------- "
+"---------\n"
+
+#: fdisk/cfdisk.c:2218
+#, fuzzy
+msgid "         ---Starting----      ----Ending-----    Start     Number of\n"
+msgstr "         --- Início ---       ---- Fim ----       Núm. inicial de\n"
+
+#: fdisk/cfdisk.c:2219
+#, 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"
+
+#: fdisk/cfdisk.c:2220
+#, fuzzy
+msgid "-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+msgstr "-- ----- ---- ---- ---- ---- ---- ---- ---- -------- ---------\n"
+
+#: fdisk/cfdisk.c:2253
+msgid "Raw"
+msgstr "Brutos"
+
+#: fdisk/cfdisk.c:2253
+msgid "Print the table using raw data format"
+msgstr "Mostrar a tabela usando formato de dados brutos"
+
+#: fdisk/cfdisk.c:2254 fdisk/cfdisk.c:2357
+msgid "Sectors"
+msgstr "Setores"
+
+#: fdisk/cfdisk.c:2254
+msgid "Print the table ordered by sectors"
+msgstr "Mostrar a tabela ordenada por setores"
+
+#: fdisk/cfdisk.c:2255
+msgid "Table"
+msgstr "Tabela"
+
+#: fdisk/cfdisk.c:2255
+msgid "Just print the partition table"
+msgstr "Mostrar somente a tabela de partições"
+
+#: fdisk/cfdisk.c:2256
+msgid "Don't print the table"
+msgstr "Não mostrar a tabela"
+
+#: fdisk/cfdisk.c:2284
+msgid "Help Screen for cfdisk"
+msgstr "Tela de ajuda do cfdisk"
+
+#: fdisk/cfdisk.c:2286
+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 "
+
+#: fdisk/cfdisk.c:2287
+msgid "allows you to create, delete and modify partitions on your hard"
+msgstr "curses, que permite criar, excluir e alterar partições na unidade"
+
+#: fdisk/cfdisk.c:2288
+msgid "disk drive."
+msgstr "de disco rígido."
+
+#: fdisk/cfdisk.c:2290
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+
+#: fdisk/cfdisk.c:2292
+msgid "Command      Meaning"
+msgstr "Comando      Significado"
+
+#: fdisk/cfdisk.c:2293
+msgid "-------      -------"
+msgstr "-------      -------"
+
+#: fdisk/cfdisk.c:2294
+msgid "  b          Toggle bootable flag of the current partition"
+msgstr "  b          Alterna a opção da partição atual como inicializável."
+
+#: fdisk/cfdisk.c:2295
+msgid "  d          Delete the current partition"
+msgstr "  d          Exclui a partição atual."
+
+#: fdisk/cfdisk.c:2296
+msgid "  g          Change cylinders, heads, sectors-per-track parameters"
+msgstr ""
+"  g          Altera parâmetros de cilindros, cabeças, setores por trilha"
+
+#: fdisk/cfdisk.c:2297
+msgid "             WARNING: This option should only be used by people who"
+msgstr "             AVISO: Esta opção só deve ser usada por pessoas que"
+
+#: fdisk/cfdisk.c:2298
+msgid "             know what they are doing."
+msgstr "             saibam exatamente o que estão fazendo."
+
+#: fdisk/cfdisk.c:2299
+msgid "  h          Print this screen"
+msgstr "  h          Mostra esta tela."
+
+#: fdisk/cfdisk.c:2300
+msgid "  m          Maximize disk usage of the current partition"
+msgstr "  m          Maximiza o uso de disco da partição atual."
+
+#: fdisk/cfdisk.c:2301
+msgid "             Note: This may make the partition incompatible with"
+msgstr "             Nota: Isto pode tornar a partição incompatível com"
+
+#: fdisk/cfdisk.c:2302
+msgid "             DOS, OS/2, ..."
+msgstr "             DOS, OS/2 ..."
+
+#: fdisk/cfdisk.c:2303
+msgid "  n          Create new partition from free space"
+msgstr "  n          Cria uma nova partição a partir do espaço livre."
+
+#: fdisk/cfdisk.c:2304
+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."
+
+#: fdisk/cfdisk.c:2305
+msgid "             There are several different formats for the partition"
+msgstr "             Pode-se selecionar diversos formatos diferentes para"
+
+#: fdisk/cfdisk.c:2306
+msgid "             that you can choose from:"
+msgstr "             uma partição:"
+
+#: fdisk/cfdisk.c:2307
+msgid "                r - Raw data (exactly what would be written to disk)"
+msgstr ""
+"                r - Dados brutos (exatamente o que seria gravado no disco)."
+
+#: fdisk/cfdisk.c:2308
+msgid "                s - Table ordered by sectors"
+msgstr "                s - Tabela ordenada por setores."
+
+#: fdisk/cfdisk.c:2309
+msgid "                t - Table in raw format"
+msgstr "                t - Tabela em formato bruto."
+
+#: fdisk/cfdisk.c:2310
+msgid "  q          Quit program without writing partition table"
+msgstr "  q          Sai do programa sem gravar a tabela de partições."
+
+#: fdisk/cfdisk.c:2311
+msgid "  t          Change the filesystem type"
+msgstr "  t          Altera o tipo de sistema de arquivos."
+
+#: fdisk/cfdisk.c:2312
+msgid "  u          Change units of the partition size display"
+msgstr "  u          Altera unidades de exibição do tamanho das partições."
+
+#: fdisk/cfdisk.c:2313
+msgid "             Rotates through MB, sectors and cylinders"
+msgstr "             Alterna entre MB, setores e cilindros."
+
+#: fdisk/cfdisk.c:2314
+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)."
+
+#: fdisk/cfdisk.c:2315
+msgid "             Since this might destroy data on the disk, you must"
+msgstr "             Como esta opção pode destruir dados no disco, você deve"
+
+#: fdisk/cfdisk.c:2316
+msgid "             either confirm or deny the write by entering `yes' or"
+msgstr "             confirmar ou cancelar a gravação indicando `sim' ou"
+
+#: fdisk/cfdisk.c:2317
+msgid "             `no'"
+msgstr "             `não'"
+
+#: fdisk/cfdisk.c:2318
+msgid "Up Arrow     Move cursor to the previous partition"
+msgstr "Seta p/ cima  Move o cursor para a partição anterior."
+
+#: fdisk/cfdisk.c:2319
+msgid "Down Arrow   Move cursor to the next partition"
+msgstr "Seta p/ baixo    Move o cursor para a próxima partição."
+
+#: fdisk/cfdisk.c:2320
+msgid "CTRL-L       Redraws the screen"
+msgstr "CTRL-L       Redesenha a tela."
+
+#: fdisk/cfdisk.c:2321
+msgid "  ?          Print this screen"
+msgstr "  ?          Mostra esta tela."
+
+#: fdisk/cfdisk.c:2323
+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"
+
+#: fdisk/cfdisk.c:2324
+msgid "case letters (except for Writes)."
+msgstr "minúsculas (exceto W)."
+
+#: fdisk/cfdisk.c:2355 fdisk/fdisksunlabel.c:237
+msgid "Cylinders"
+msgstr "Cilindros"
+
+#: fdisk/cfdisk.c:2355
+msgid "Change cylinder geometry"
+msgstr "Alterar geometria dos cilindros"
+
+#: fdisk/cfdisk.c:2356 fdisk/fdisksunlabel.c:235
+msgid "Heads"
+msgstr "Cabeças"
+
+#: fdisk/cfdisk.c:2356
+msgid "Change head geometry"
+msgstr "Alterar geometria das cabeças"
+
+#: fdisk/cfdisk.c:2357
+msgid "Change sector geometry"
+msgstr "Alterar geometria dos setores"
+
+#: fdisk/cfdisk.c:2358
+msgid "Done"
+msgstr "Concluído"
+
+#: fdisk/cfdisk.c:2358
+msgid "Done with changing geometry"
+msgstr "A alteração da geometria foi concluída"
+
+#: fdisk/cfdisk.c:2371
+msgid "Enter the number of cylinders: "
+msgstr "Digite o número de cilindros: "
+
+#: fdisk/cfdisk.c:2382 fdisk/cfdisk.c:2953
+msgid "Illegal cylinders value"
+msgstr "Valor de cilindros inválido"
+
+#: fdisk/cfdisk.c:2388
+msgid "Enter the number of heads: "
+msgstr "Digite o número de cabeças: "
+
+#: fdisk/cfdisk.c:2395 fdisk/cfdisk.c:2963
+msgid "Illegal heads value"
+msgstr "Valor de cabeças inválido"
+
+#: fdisk/cfdisk.c:2401
+msgid "Enter the number of sectors per track: "
+msgstr "Digite o número de setores por trilha: "
+
+#: fdisk/cfdisk.c:2408 fdisk/cfdisk.c:2970
+msgid "Illegal sectors value"
+msgstr "Valor de setores inválido"
+
+#: fdisk/cfdisk.c:2511
+msgid "Enter filesystem type: "
+msgstr "Digite o tipo do sistema de arquivos: "
+
+#: fdisk/cfdisk.c:2529
+msgid "Cannot change FS Type to empty"
+msgstr "Não foi possível alterar o tipo de sistema de arquivos para vazio"
+
+#: fdisk/cfdisk.c:2531
+msgid "Cannot change FS Type to extended"
+msgstr "Não foi possível alterar o tipo de sistema de arquivos para estendido"
+
+#: fdisk/cfdisk.c:2562
+#, c-format
+msgid "Unk(%02X)"
+msgstr "Desc (%02X)"
+
+#: fdisk/cfdisk.c:2565 fdisk/cfdisk.c:2568
+msgid ", NC"
+msgstr ", NC"
+
+#: fdisk/cfdisk.c:2573 fdisk/cfdisk.c:2576
+msgid "NC"
+msgstr "NC"
+
+#: fdisk/cfdisk.c:2584
+msgid "Pri/Log"
+msgstr "Pri/lóg"
+
+#: fdisk/cfdisk.c:2591
+#, c-format
+msgid "Unknown (%02X)"
+msgstr "Desconhecido (%02X)"
+
+#: fdisk/cfdisk.c:2660
+#, c-format
+msgid "Disk Drive: %s"
+msgstr "Disco: %s"
+
+#: fdisk/cfdisk.c:2667
+#, fuzzy, c-format
+msgid "Size: %lld bytes, %lld MB"
+msgstr "Tamanho: %lld bytes"
+
+#: fdisk/cfdisk.c:2670
+#, fuzzy, c-format
+msgid "Size: %lld bytes, %lld.%lld GB"
+msgstr "Tamanho: %lld bytes"
+
+#: fdisk/cfdisk.c:2674
+#, fuzzy, c-format
+msgid "Heads: %d   Sectors per Track: %d   Cylinders: %lld"
+msgstr "Cabeças: %d  Setores por Trilha: %d  Cilindros: %d"
+
+#: fdisk/cfdisk.c:2678 login-utils/chfn.c:377
+msgid "Name"
+msgstr "Nome"
+
+#: fdisk/cfdisk.c:2679
+msgid "Flags"
+msgstr "Opções"
+
+#: fdisk/cfdisk.c:2680
+msgid "Part Type"
+msgstr "Tipo Part."
+
+#: fdisk/cfdisk.c:2681
+msgid "FS Type"
+msgstr "Tipo SA"
+
+#: fdisk/cfdisk.c:2682
+msgid "[Label]"
+msgstr "[Rótulo]"
+
+#: fdisk/cfdisk.c:2684
+#, fuzzy
+msgid "    Sectors"
+msgstr "  Setores"
+
+#: fdisk/cfdisk.c:2686
+#, fuzzy
+msgid "  Cylinders"
+msgstr "Cilindros"
+
+#: fdisk/cfdisk.c:2688
+#, fuzzy
+msgid "  Size (MB)"
+msgstr "Tam. (Mb)"
+
+#: fdisk/cfdisk.c:2690
+#, fuzzy
+msgid "  Size (GB)"
+msgstr "Tam. (Gb)"
+
+#: fdisk/cfdisk.c:2744
+msgid "Bootable"
+msgstr "Iniciali."
+
+#: fdisk/cfdisk.c:2744
+msgid "Toggle bootable flag of the current partition"
+msgstr "Alterna a opção da partição atual como inicializável"
+
+#: fdisk/cfdisk.c:2745
+msgid "Delete"
+msgstr "Excluir"
+
+#: fdisk/cfdisk.c:2745
+msgid "Delete the current partition"
+msgstr "Excluir a partição atual"
+
+#: fdisk/cfdisk.c:2746
+msgid "Geometry"
+msgstr "Geometria"
+
+#: fdisk/cfdisk.c:2746
+msgid "Change disk geometry (experts only)"
+msgstr "Alterar a geometria do disco (somente para usuários avançados)"
+
+#: fdisk/cfdisk.c:2747
+msgid "Help"
+msgstr "Ajuda"
+
+#: fdisk/cfdisk.c:2747
+msgid "Print help screen"
+msgstr "Mostrar tela de ajuda"
+
+#: fdisk/cfdisk.c:2748
+msgid "Maximize"
+msgstr "Maximize"
+
+#: fdisk/cfdisk.c:2748
+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)"
+
+#: fdisk/cfdisk.c:2749
+msgid "New"
+msgstr "Nova"
+
+#: fdisk/cfdisk.c:2749
+msgid "Create new partition from free space"
+msgstr "Criar nova partição a partir do espaço livre"
+
+#: fdisk/cfdisk.c:2750
+msgid "Print"
+msgstr "Mostre"
+
+#: fdisk/cfdisk.c:2750
+msgid "Print partition table to the screen or to a file"
+msgstr "Mostrar tabela de partições na tela ou imprimir em um arquivo"
+
+#: fdisk/cfdisk.c:2751
+msgid "Quit"
+msgstr "Sair"
+
+#: fdisk/cfdisk.c:2751
+msgid "Quit program without writing partition table"
+msgstr "Sair do programa sem gravar a tabela de partições"
+
+#: fdisk/cfdisk.c:2752
+msgid "Type"
+msgstr "Tipo"
+
+#: fdisk/cfdisk.c:2752
+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)"
+
+#: fdisk/cfdisk.c:2753
+msgid "Units"
+msgstr "Unidades"
+
+#: fdisk/cfdisk.c:2753
+msgid "Change units of the partition size display (MB, sect, cyl)"
+msgstr ""
+"Mudar unidades mostradas para o tamanho das partições (MB, setores, "
+"cilindros)"
+
+#: fdisk/cfdisk.c:2754
+msgid "Write"
+msgstr "Gravar"
+
+#: fdisk/cfdisk.c:2754
+msgid "Write partition table to disk (this might destroy data)"
+msgstr "Gravar tabela de partições no disco (isto poderá destruir dados)"
+
+#: fdisk/cfdisk.c:2800
+msgid "Cannot make this partition bootable"
+msgstr "Não foi possível tornar esta partição inicializável."
+
+#: fdisk/cfdisk.c:2810
+msgid "Cannot delete an empty partition"
+msgstr "Não foi possível excluir uma partição vazia"
+
+#: fdisk/cfdisk.c:2830 fdisk/cfdisk.c:2832
+msgid "Cannot maximize this partition"
+msgstr "Não foi possível maximizar esta partição"
+
+#: fdisk/cfdisk.c:2840
+msgid "This partition is unusable"
+msgstr "Esta partição é inutilizável"
+
+#: fdisk/cfdisk.c:2842
+msgid "This partition is already in use"
+msgstr "Esta partição já está sendo usada"
+
+#: fdisk/cfdisk.c:2859
+msgid "Cannot change the type of an empty partition"
+msgstr "Não foi possível alterar o tipo de uma partição vazia"
+
+#: fdisk/cfdisk.c:2886 fdisk/cfdisk.c:2892
+msgid "No more partitions"
+msgstr "Sem mais partições"
+
+#: fdisk/cfdisk.c:2899
+msgid "Illegal command"
+msgstr "Comando inválido"
+
+#: fdisk/cfdisk.c:2909
+#, fuzzy, c-format
+msgid "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+msgstr "Copyright (C) 1994-2000 Kevin E. Martin & aeb\n"
+
+#: fdisk/cfdisk.c:2916
+#, 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"
+
+#: fdisk/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)."
+
+#: fdisk/fdiskbsdlabel.c:122
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+"\n"
+"Rótulo BSD do dispositivo: %s\n"
+
+#: fdisk/fdiskbsdlabel.c:129 fdisk/fdisk.c:386 fdisk/fdisk.c:405
+#: fdisk/fdisk.c:423 fdisk/fdisk.c:430 fdisk/fdisk.c:453 fdisk/fdisk.c:471
+#: fdisk/fdisk.c:487 fdisk/fdisk.c:503
+msgid "Command action"
+msgstr "Comando - ação"
+
+#: fdisk/fdiskbsdlabel.c:130
+msgid "   d   delete a BSD partition"
+msgstr "   d   exclui uma partição BSD"
+
+#: fdisk/fdiskbsdlabel.c:131
+msgid "   e   edit drive data"
+msgstr "   e   edita dados do disco"
+
+#: fdisk/fdiskbsdlabel.c:132
+msgid "   i   install bootstrap"
+msgstr "   i   instala código de inicialização (bootstrap)"
+
+#: fdisk/fdiskbsdlabel.c:133
+msgid "   l   list known filesystem types"
+msgstr "   l   lista os tipos de sistemas de arquivos conhecidos"
+
+#: fdisk/fdiskbsdlabel.c:134 fdisk/fdisk.c:392 fdisk/fdisk.c:411
+#: fdisk/fdisk.c:424 fdisk/fdisk.c:436 fdisk/fdisk.c:461 fdisk/fdisk.c:478
+#: fdisk/fdisk.c:494 fdisk/fdisk.c:512
+msgid "   m   print this menu"
+msgstr "   m   mostra este menu"
+
+#: fdisk/fdiskbsdlabel.c:135
+msgid "   n   add a new BSD partition"
+msgstr "   n   cria uma nova partição BSD"
+
+#: fdisk/fdiskbsdlabel.c:136
+msgid "   p   print BSD partition table"
+msgstr "   p   mostra a tabela de partições BSD"
+
+#: fdisk/fdiskbsdlabel.c:137 fdisk/fdisk.c:396 fdisk/fdisk.c:415
+#: fdisk/fdisk.c:426 fdisk/fdisk.c:440 fdisk/fdisk.c:463 fdisk/fdisk.c:480
+#: fdisk/fdisk.c:496 fdisk/fdisk.c:514
+msgid "   q   quit without saving changes"
+msgstr "   q   sai sem salvar as alterações"
+
+#: fdisk/fdiskbsdlabel.c:138 fdisk/fdisk.c:464 fdisk/fdisk.c:481
+#: fdisk/fdisk.c:497 fdisk/fdisk.c:515
+msgid "   r   return to main menu"
+msgstr "   r   voltar ao menu principal"
+
+#: fdisk/fdiskbsdlabel.c:139
+msgid "   s   show complete disklabel"
+msgstr "   s   mostra o rótulo do disco completo"
+
+#: fdisk/fdiskbsdlabel.c:140
+msgid "   t   change a partition's filesystem id"
+msgstr "   t   altera a identificação do sistema de arquivos"
+
+#: fdisk/fdiskbsdlabel.c:141
+msgid "   u   change units (cylinders/sectors)"
+msgstr "   u   altera unidades (cilindros/setores)"
+
+#: fdisk/fdiskbsdlabel.c:142
+msgid "   w   write disklabel to disk"
+msgstr "   w   grava o rótulo do disco no disco"
+
+#: fdisk/fdiskbsdlabel.c:144
+msgid "   x   link BSD partition to non-BSD partition"
+msgstr "   x   vincula partição BSD a partição não BSD"
+
+#: fdisk/fdiskbsdlabel.c:176
+#, c-format
+msgid "Partition %s has invalid starting sector 0.\n"
+msgstr "A partição %s possui setor inicial 0 inválido.\n"
+
+#: fdisk/fdiskbsdlabel.c:180
+#, c-format
+msgid "Reading disklabel of %s at sector %d.\n"
+msgstr "Lendo rótulo de disco de %s no setor %d.\n"
+
+#: fdisk/fdiskbsdlabel.c:190
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr "Não existe partição *BSD em %s.\n"
+
+#: fdisk/fdiskbsdlabel.c:204
+msgid "BSD disklabel command (m for help): "
+msgstr "Comando para rótulo de disco BSD (tecle m para obter ajuda): "
+
+#: fdisk/fdiskbsdlabel.c:284 fdisk/fdisk.c:2052 fdisk/fdisksgilabel.c:651
+#: fdisk/fdisksunlabel.c:431
+#, c-format
+msgid "First %s"
+msgstr "Primeiro %s"
+
+#: fdisk/fdiskbsdlabel.c:291 fdisk/fdisksunlabel.c:488
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr "Último %s ou +tamanho ou +tamanho M ou  +tamanho K"
+
+#: fdisk/fdiskbsdlabel.c:318
+#, c-format
+msgid "type: %s\n"
+msgstr "tipo: %s\n"
+
+#: fdisk/fdiskbsdlabel.c:320
+#, c-format
+msgid "type: %d\n"
+msgstr "tipo: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:321
+#, c-format
+msgid "disk: %.*s\n"
+msgstr "disco: %.*s\n"
+
+#: fdisk/fdiskbsdlabel.c:322
+#, c-format
+msgid "label: %.*s\n"
+msgstr "rótulo: %.*s\n"
+
+#: fdisk/fdiskbsdlabel.c:323
+#, c-format
+msgid "flags:"
+msgstr "opções:"
+
+#: fdisk/fdiskbsdlabel.c:325
+#, c-format
+msgid " removable"
+msgstr " removable"
+
+#: fdisk/fdiskbsdlabel.c:327
+#, c-format
+msgid " ecc"
+msgstr " ecc"
+
+#: fdisk/fdiskbsdlabel.c:329
+#, c-format
+msgid " badsect"
+msgstr " badsect"
+
+#: fdisk/fdiskbsdlabel.c:333
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr "bytes/setor: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:334
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr "setores/trilha: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:335
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr "trilhas/cilindro: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:336
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr "setores/cilindro: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:337
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr "cilindros: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:338
+#, c-format
+msgid "rpm: %d\n"
+msgstr "RPM: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:339
+#, c-format
+msgid "interleave: %d\n"
+msgstr "interleave: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:340
+#, c-format
+msgid "trackskew: %d\n"
+msgstr "trackskew: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:341
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr "cylinderskew: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:342
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr "headswitch: %ld\t\t# milissegundos\n"
+
+#: fdisk/fdiskbsdlabel.c:344
+#, c-format
+msgid "track-to-track seek: %ld\t# milliseconds\n"
+msgstr "busca trilha a trilha: %ld\t# milissegundos\n"
+
+#: fdisk/fdiskbsdlabel.c:346
+#, c-format
+msgid "drivedata: "
+msgstr "drivedata: "
+
+#: fdisk/fdiskbsdlabel.c:355
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+"\n"
+"%d partições:\n"
+
+#: fdisk/fdiskbsdlabel.c:356
+#, c-format
+msgid "#       start       end      size     fstype   [fsize bsize   cpg]\n"
+msgstr "#       início      fim      tamanho  tipoSA   [fsize bsize   cpg]\n"
+
+#: fdisk/fdiskbsdlabel.c:405 fdisk/fdiskbsdlabel.c:408
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr "Gravando rótulo de disco em %s.\n"
+
+#: fdisk/fdiskbsdlabel.c:420 fdisk/fdiskbsdlabel.c:422
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr "%s não contém um rótulo de disco.\n"
+
+#: fdisk/fdiskbsdlabel.c:427
+msgid "Do you want to create a disklabel? (y/n) "
+msgstr "Você deseja criar um rótulo de disco? (s/n) "
+
+#: fdisk/fdiskbsdlabel.c:467
+msgid "bytes/sector"
+msgstr "bytes/setor"
+
+#: fdisk/fdiskbsdlabel.c:468
+msgid "sectors/track"
+msgstr "setores/trilha"
+
+#: fdisk/fdiskbsdlabel.c:469
+msgid "tracks/cylinder"
+msgstr "trilhas/cilindro"
+
+#: fdisk/fdiskbsdlabel.c:470 fdisk/fdisk.c:648 fdisk/fdisk.c:1357
+#: fdisk/sfdisk.c:945
+msgid "cylinders"
+msgstr "cilindros"
+
+#: fdisk/fdiskbsdlabel.c:477
+msgid "sectors/cylinder"
+msgstr "setores/cilindro"
+
+#: fdisk/fdiskbsdlabel.c:481
+#, c-format
+msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
+msgstr "Precisa ser <= setores/trilha * trilhas/cilindro (padrão).\n"
+
+#: fdisk/fdiskbsdlabel.c:483
+msgid "rpm"
+msgstr "RPM"
+
+#: fdisk/fdiskbsdlabel.c:484
+msgid "interleave"
+msgstr "interleave"
+
+#: fdisk/fdiskbsdlabel.c:485
+msgid "trackskew"
+msgstr "trackskew"
+
+#: fdisk/fdiskbsdlabel.c:486
+msgid "cylinderskew"
+msgstr "cylinderskew"
+
+#: fdisk/fdiskbsdlabel.c:487
+msgid "headswitch"
+msgstr "headswitch"
+
+#: fdisk/fdiskbsdlabel.c:488
+msgid "track-to-track seek"
+msgstr "busca trilha a trilha"
+
+#: fdisk/fdiskbsdlabel.c:529
+#, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr "Bootstrap (código de inicialização): %sboot -> boot%s (%s): "
+
+#: fdisk/fdiskbsdlabel.c:554
+#, c-format
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr "Bootstrap (código de inicialização) sobreposto ao rótulo do disco!\n"
+
+#: fdisk/fdiskbsdlabel.c:575 fdisk/fdiskbsdlabel.c:577
+#, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr "Bootstrap (código de inicialização) instalado em %s.\n"
+
+#: fdisk/fdiskbsdlabel.c:599
+#, c-format
+msgid "Partition (a-%c): "
+msgstr "Partição (a-%c): "
+
+#: fdisk/fdiskbsdlabel.c:618 fdisk/fdisk.c:2199
+#, c-format
+msgid "The maximum number of partitions has been created\n"
+msgstr "O número máximo de partições foi criado\n"
+
+#: fdisk/fdiskbsdlabel.c:630
+#, c-format
+msgid "This partition already exists.\n"
+msgstr "Esta partição já existe.\n"
+
+#: fdisk/fdiskbsdlabel.c:757
+#, 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"
+
+#: fdisk/fdiskbsdlabel.c:805
+#, c-format
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+"\n"
+"Sincronizando discos.\n"
+
+#: fdisk/fdisk.c:244
+#, 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"
+
+#: fdisk/fdisk.c:256
+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"
+
+#: fdisk/fdisk.c:265
+#, c-format
+msgid "Unable to open %s\n"
+msgstr "Não foi possível abrir %s\n"
+
+#: fdisk/fdisk.c:269
+#, c-format
+msgid "Unable to read %s\n"
+msgstr "Não foi possível ler %s\n"
+
+#: fdisk/fdisk.c:273
+#, c-format
+msgid "Unable to seek on %s\n"
+msgstr "Não foi possível realizar busca em %s\n"
+
+#: fdisk/fdisk.c:277
+#, c-format
+msgid "Unable to write %s\n"
+msgstr "Não foi possível gravar em %s\n"
+
+#: fdisk/fdisk.c:281
+#, c-format
+msgid "BLKGETSIZE ioctl failed on %s\n"
+msgstr "ioctl BLKGETSIZE  falhou em %s\n"
+
+#: fdisk/fdisk.c:285
+msgid "Unable to allocate any more memory\n"
+msgstr "Não foi possível alocar mais qualquer memória\n"
+
+#: fdisk/fdisk.c:288
+msgid "Fatal error\n"
+msgstr "Erro fatal\n"
+
+#: fdisk/fdisk.c:387
+msgid "   a   toggle a read only flag"
+msgstr "   a   alterna uma opção de somente leitura"
+
+#: fdisk/fdisk.c:388 fdisk/fdisk.c:432
+msgid "   b   edit bsd disklabel"
+msgstr "   b   edita rótulo BSD no disco"
+
+#: fdisk/fdisk.c:389
+msgid "   c   toggle the mountable flag"
+msgstr "   c   alterna a opção \"montável\""
+
+#: fdisk/fdisk.c:390 fdisk/fdisk.c:409 fdisk/fdisk.c:434
+msgid "   d   delete a partition"
+msgstr "   d   exclui uma partição"
+
+#: fdisk/fdisk.c:391 fdisk/fdisk.c:410 fdisk/fdisk.c:435
+msgid "   l   list known partition types"
+msgstr "   l   lista os tipos de partição conhecidos"
+
+#: fdisk/fdisk.c:393 fdisk/fdisk.c:412 fdisk/fdisk.c:437
+msgid "   n   add a new partition"
+msgstr "   n   cria uma nova partição"
+
+#: fdisk/fdisk.c:394 fdisk/fdisk.c:413 fdisk/fdisk.c:425 fdisk/fdisk.c:438
+msgid "   o   create a new empty DOS partition table"
+msgstr "   o   cria uma nova tabela de partições DOS vazia"
+
+#: fdisk/fdisk.c:395 fdisk/fdisk.c:414 fdisk/fdisk.c:439 fdisk/fdisk.c:462
+#: fdisk/fdisk.c:479 fdisk/fdisk.c:495 fdisk/fdisk.c:513
+msgid "   p   print the partition table"
+msgstr "   p   mostra a tabela de partições"
+
+#: fdisk/fdisk.c:397 fdisk/fdisk.c:416 fdisk/fdisk.c:427 fdisk/fdisk.c:441
+msgid "   s   create a new empty Sun disklabel"
+msgstr "   s   cria um novo rótulo de disco Sun vazio"
+
+#: fdisk/fdisk.c:398 fdisk/fdisk.c:417 fdisk/fdisk.c:442
+msgid "   t   change a partition's system id"
+msgstr "   t   altera a identificação da partição para o sistema"
+
+#: fdisk/fdisk.c:399 fdisk/fdisk.c:418 fdisk/fdisk.c:443
+msgid "   u   change display/entry units"
+msgstr "   u   altera as unidades das entradas mostradas"
+
+#: fdisk/fdisk.c:400 fdisk/fdisk.c:419 fdisk/fdisk.c:444 fdisk/fdisk.c:466
+#: fdisk/fdisk.c:483 fdisk/fdisk.c:499 fdisk/fdisk.c:517
+msgid "   v   verify the partition table"
+msgstr "   v   verifica a tabela de partições"
+
+#: fdisk/fdisk.c:401 fdisk/fdisk.c:420 fdisk/fdisk.c:445 fdisk/fdisk.c:467
+#: fdisk/fdisk.c:484 fdisk/fdisk.c:500 fdisk/fdisk.c:518
+msgid "   w   write table to disk and exit"
+msgstr "   w   grava a tabela no disco e sai"
+
+#: fdisk/fdisk.c:402 fdisk/fdisk.c:446
+msgid "   x   extra functionality (experts only)"
+msgstr "   x   funcionalidade adicional (somente para usuários avançados)"
+
+#: fdisk/fdisk.c:406
+msgid "   a   select bootable partition"
+msgstr "   a   torna a partição inicializável"
+
+#: fdisk/fdisk.c:407
+msgid "   b   edit bootfile entry"
+msgstr "   b   edita uma entrada de arquivo de inicialização"
+
+#: fdisk/fdisk.c:408
+msgid "   c   select sgi swap partition"
+msgstr "   c   seleciona uma partição de permuta (swap) sgi"
+
+#: fdisk/fdisk.c:431
+msgid "   a   toggle a bootable flag"
+msgstr "   a   alterna a opção \"inicializável\""
+
+#: fdisk/fdisk.c:433
+msgid "   c   toggle the dos compatibility flag"
+msgstr "   c   alterna a opção \"compatibilidade\""
+
+#: fdisk/fdisk.c:454
+msgid "   a   change number of alternate cylinders"
+msgstr "   a   alterar número de cilindros alternativos"
+
+#: fdisk/fdisk.c:455 fdisk/fdisk.c:473 fdisk/fdisk.c:489 fdisk/fdisk.c:505
+msgid "   c   change number of cylinders"
+msgstr "   c   alterar número de cilindros"
+
+#: fdisk/fdisk.c:456 fdisk/fdisk.c:474 fdisk/fdisk.c:490 fdisk/fdisk.c:506
+msgid "   d   print the raw data in the partition table"
+msgstr "   d   mostrar os dados sem formatação da tabela de partições"
+
+#: fdisk/fdisk.c:457
+msgid "   e   change number of extra sectors per cylinder"
+msgstr "   e   alterar número de setores extras por cilindro"
+
+#: fdisk/fdisk.c:458 fdisk/fdisk.c:477 fdisk/fdisk.c:493 fdisk/fdisk.c:510
+msgid "   h   change number of heads"
+msgstr "   h   alterar número de cabeças"
+
+#: fdisk/fdisk.c:459
+msgid "   i   change interleave factor"
+msgstr "   i   alterar fator de \"interleave\""
+
+#: fdisk/fdisk.c:460
+msgid "   o   change rotation speed (rpm)"
+msgstr "   o   alterar velocidade de rotação (RPM)"
+
+#: fdisk/fdisk.c:465 fdisk/fdisk.c:482 fdisk/fdisk.c:498 fdisk/fdisk.c:516
+msgid "   s   change number of sectors/track"
+msgstr "   s   alterar número de setores/trilha"
+
+#: fdisk/fdisk.c:468
+msgid "   y   change number of physical cylinders"
+msgstr "   y   alterar número de cilindros físicos"
+
+#: fdisk/fdisk.c:472 fdisk/fdisk.c:488 fdisk/fdisk.c:504
+msgid "   b   move beginning of data in a partition"
+msgstr "   b   mover início dos dados em uma partição"
+
+#: fdisk/fdisk.c:475 fdisk/fdisk.c:491 fdisk/fdisk.c:507
+msgid "   e   list extended partitions"
+msgstr "   e   listar partições estendidas"
+
+#: fdisk/fdisk.c:476 fdisk/fdisk.c:492 fdisk/fdisk.c:509
+#, fuzzy
+msgid "   g   create an IRIX (SGI) partition table"
+msgstr "   g   criar uma tabela de partições IRIX"
+
+#: fdisk/fdisk.c:508
+msgid "   f   fix partition order"
+msgstr "   f   corrige ordem de partição"
+
+#: fdisk/fdisk.c:511
+#, fuzzy
+msgid "   i   change the disk identifier"
+msgstr "   u   altera as unidades das entradas mostradas"
+
+#: fdisk/fdisk.c:627
+#, c-format
+msgid "You must set"
+msgstr "Você precisa configurar"
+
+#: fdisk/fdisk.c:644
+msgid "heads"
+msgstr "cabeças"
+
+#: fdisk/fdisk.c:646 fdisk/fdisk.c:1357 fdisk/sfdisk.c:945
+msgid "sectors"
+msgstr "setores"
+
+#: fdisk/fdisk.c:652
+#, 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"
+
+#: fdisk/fdisk.c:653
+msgid " and "
+msgstr " e "
+
+#: fdisk/fdisk.c:670
+#, c-format
+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"
+
+#: fdisk/fdisk.c:683
+#, 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 %d-byte sectors. Use parted(1) and GUID \n"
+"partition table format (GPT).\n"
+"\n"
+msgstr ""
+
+#: fdisk/fdisk.c:708
+#, c-format
+msgid "Bad offset in primary extended partition\n"
+msgstr "Deslocamento inválido em uma partição primária estendida\n"
+
+#: fdisk/fdisk.c:722
+#, c-format
+msgid ""
+"Warning: omitting partitions after #%d.\n"
+"They will be deleted if you save this partition table.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:741
+#, 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"
+
+#: fdisk/fdisk.c:749
+#, c-format
+msgid "Warning: ignoring extra data in partition table %d\n"
+msgstr "Aviso: ignorando dados extras na tabela de partições %d\n"
+
+#: fdisk/fdisk.c:782
+#, fuzzy, c-format
+msgid "omitting empty partition (%d)\n"
+msgstr "Atenção: partição vazia\n"
+
+#: fdisk/fdisk.c:801
+#, c-format
+msgid "Disk identifier: 0x%08x\n"
+msgstr ""
+
+#: fdisk/fdisk.c:810
+#, c-format
+msgid "New disk identifier (current 0x%08x): "
+msgstr ""
+
+#: fdisk/fdisk.c:829
+#, fuzzy, c-format
+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"
+
+#: fdisk/fdisk.c:861
+#, c-format
+msgid "Note: sector size is %d (not %d)\n"
+msgstr "Nota: o tamanho do setor é %d (não %d)\n"
+
+#: fdisk/fdisk.c:990
+#, c-format
+msgid "You will not be able to write the partition table.\n"
+msgstr "Você não poderá gravar a tabela de partições.\n"
+
+#: fdisk/fdisk.c:1022
+#, c-format
+msgid ""
+"This disk has both DOS and BSD magic.\n"
+"Give the 'b' command to go to BSD mode.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1032
+#, c-format
+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"
+
+#: fdisk/fdisk.c:1049
+#, c-format
+msgid "Internal error\n"
+msgstr "Erro interno\n"
+
+#: fdisk/fdisk.c:1062
+#, c-format
+msgid "Ignoring extra extended partition %d\n"
+msgstr "Ignorando partição estendida extra %d\n"
+
+#: fdisk/fdisk.c:1074
+#, 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"
+
+#: fdisk/fdisk.c:1096
+#, c-format
+msgid ""
+"\n"
+"got EOF thrice - exiting..\n"
+msgstr ""
+"\n"
+"EOF (fim de arquivo) recebido três vezes - saindo...\n"
+
+#: fdisk/fdisk.c:1135
+msgid "Hex code (type L to list codes): "
+msgstr "Código hexadecimal (digite L para listar os códigos): "
+
+#: fdisk/fdisk.c:1175
+#, fuzzy, c-format
+msgid "%s (%u-%u, default %u): "
+msgstr "%s (%d-%d, padrão %d):"
+
+#: fdisk/fdisk.c:1242
+#, c-format
+msgid "Unsupported suffix: '%s'.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1243
+#, c-format
+msgid ""
+"Supported: 10^N: KB (KiloByte), MB (MegaByte), GB (GigaByte)\n"
+"            2^N: K  (KibiByte), M  (MebiByte), G  (GibiByte)\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1269
+#, fuzzy, c-format
+msgid "Using default value %u\n"
+msgstr "Usando valor padrão %d\n"
+
+#: fdisk/fdisk.c:1273
+#, c-format
+msgid "Value out of range.\n"
+msgstr "Valor fora do intervalo.\n"
+
+#: fdisk/fdisk.c:1283
+msgid "Partition number"
+msgstr "Número da partição"
+
+#: fdisk/fdisk.c:1294
+#, c-format
+msgid "Warning: partition %d has empty type\n"
+msgstr "Aviso: a partição %d possui tipo vazio\n"
+
+#: fdisk/fdisk.c:1316 fdisk/fdisk.c:1342
+#, fuzzy, c-format
+msgid "Selected partition %d\n"
+msgstr "Ignorando partição estendida extra %d\n"
+
+#: fdisk/fdisk.c:1319
+#, fuzzy, c-format
+msgid "No partition is defined yet!\n"
+msgstr "Nenhuma partição definida\n"
+
+#: fdisk/fdisk.c:1345
+#, 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"
+
+#: fdisk/fdisk.c:1355
+msgid "cylinder"
+msgstr "cilindro"
+
+#: fdisk/fdisk.c:1355
+msgid "sector"
+msgstr "setor"
+
+#: fdisk/fdisk.c:1364
+#, c-format
+msgid "Changing display/entry units to %s\n"
+msgstr "Mudando as unidades das entradas mostradas para %s\n"
+
+#: fdisk/fdisk.c:1375
+#, c-format
+msgid "WARNING: Partition %d is an extended partition\n"
+msgstr "AVISO: A partição %d é uma partição estendida\n"
+
+#: fdisk/fdisk.c:1386
+#, c-format
+msgid "DOS Compatibility flag is set\n"
+msgstr "A opção de compatibilidade DOS está ativada\n"
+
+#: fdisk/fdisk.c:1390
+#, c-format
+msgid "DOS Compatibility flag is not set\n"
+msgstr "A opção de compatibilidade DOS não está ativada\n"
+
+#: fdisk/fdisk.c:1490
+#, c-format
+msgid "Partition %d does not exist yet!\n"
+msgstr "A partição %d ainda não existe!\n"
+
+#: fdisk/fdisk.c:1495
+#, 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"
+
+#: fdisk/fdisk.c:1504
+#, 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"
+
+#: fdisk/fdisk.c:1513
+#, 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"
+
+#: fdisk/fdisk.c:1519
+#, 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"
+
+#: fdisk/fdisk.c:1536
+#, 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"
+
+#: fdisk/fdisk.c:1539
+#, 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"
+
+#: fdisk/fdisk.c:1591
+#, 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"
+
+#: fdisk/fdisk.c:1593 fdisk/fdisk.c:1601 fdisk/fdisk.c:1610 fdisk/fdisk.c:1620
+#, c-format
+msgid "     phys=(%d, %d, %d) "
+msgstr "     fís. = (%d, %d, %d) "
+
+#: fdisk/fdisk.c:1594 fdisk/fdisk.c:1602
+#, c-format
+msgid "logical=(%d, %d, %d)\n"
+msgstr "lógico = (%d, %d, %d)\n"
+
+#: fdisk/fdisk.c:1599
+#, c-format
+msgid "Partition %d has different physical/logical endings:\n"
+msgstr "A partição %d possui fins físico/lógico diferentes:\n"
+
+#: fdisk/fdisk.c:1608
+#, c-format
+msgid "Partition %i does not start on cylinder boundary:\n"
+msgstr "A partição %i não inicia em um limite de cilindro:\n"
+
+#: fdisk/fdisk.c:1611
+#, c-format
+msgid "should be (%d, %d, 1)\n"
+msgstr "deveria ser (%d, %d, 1)\n"
+
+#: fdisk/fdisk.c:1617
+#, 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"
+
+#: fdisk/fdisk.c:1621
+#, c-format
+msgid "should be (%d, %d, %d)\n"
+msgstr "deveria ser (%d, %d, %d)\n"
+
+#: fdisk/fdisk.c:1633
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld MB, %lld bytes\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1637
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %ld.%ld GB, %lld bytes\n"
+msgstr ""
+"\n"
+"Disco %s: %d cabeças, %d setores, %d cilindros\n"
+"\n"
+
+#: fdisk/fdisk.c:1640
+#, fuzzy, c-format
+msgid "%d heads, %llu sectors/track, %d cylinders"
+msgstr ""
+"\n"
+"Disco %s: %d cabeças, %d setores, %d cilindros\n"
+"\n"
+
+#: fdisk/fdisk.c:1643
+#, c-format
+msgid ", total %llu sectors"
+msgstr ""
+
+#: fdisk/fdisk.c:1646
+#, fuzzy, c-format
+msgid "Units = %s of %d * %d = %d bytes\n"
+msgstr ""
+"\n"
+"Disco %s: %d cabeças, %d setores, %d cilindros\n"
+"\n"
+
+#: fdisk/fdisk.c:1757
+#, c-format
+msgid ""
+"Nothing to do. Ordering is correct already.\n"
+"\n"
+msgstr ""
+"Nada a fazer. Ordem já está correta\n"
+"\n"
+
+#: fdisk/fdisk.c:1785
+#, fuzzy, c-format
+msgid "Done.\n"
+msgstr ""
+"Concluído\n"
+"\n"
+
+#: fdisk/fdisk.c:1813
+#, c-format
+msgid ""
+"This doesn't look like a partition table\n"
+"Probably you selected the wrong device.\n"
+"\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1826
+#, fuzzy, c-format
+msgid "%*s Boot      Start         End      Blocks   Id  System\n"
+msgstr "%*s Boot    Início      Fim    Blocos   Id  Sistema\n"
+
+#: fdisk/fdisk.c:1827 fdisk/fdisksgilabel.c:223 fdisk/fdisksunlabel.c:603
+msgid "Device"
+msgstr "Dispositivo"
+
+#: fdisk/fdisk.c:1864
+#, 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"
+
+#: fdisk/fdisk.c:1874
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %d cylinders\n"
+"\n"
+msgstr ""
+"\n"
+"Disco %s: %d cabeças, %d setores, %d cilindros\n"
+"\n"
+
+#: fdisk/fdisk.c:1876
+#, 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"
+
+#: fdisk/fdisk.c:1922
+#, c-format
+msgid "Warning: partition %d contains sector 0\n"
+msgstr "Aviso: a partição %d contém o setor 0\n"
+
+#: fdisk/fdisk.c:1925
+#, 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"
+
+#: fdisk/fdisk.c:1928
+#, 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"
+
+#: fdisk/fdisk.c:1931
+#, c-format
+msgid "Partitions %d: cylinder %d greater than maximum %d\n"
+msgstr "Partição %d: o cilindro %d é maior do que o máximo: %d\n"
+
+#: fdisk/fdisk.c:1935
+#, 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"
+
+#: fdisk/fdisk.c:1968
+#, 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"
+
+#: fdisk/fdisk.c:1976
+#, c-format
+msgid "Warning: partition %d overlaps partition %d.\n"
+msgstr "Aviso: a partição %d sobrepõe-se à partição %d.\n"
+
+#: fdisk/fdisk.c:1996
+#, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr "Aviso: a partição %d está vazia\n"
+
+#: fdisk/fdisk.c:2001
+#, 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"
+
+#: fdisk/fdisk.c:2007
+#, 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"
+
+#: fdisk/fdisk.c:2010
+#, fuzzy, c-format
+msgid "%lld unallocated %d-byte sectors\n"
+msgstr "%d setores não alocados\n"
+
+#: fdisk/fdisk.c:2025 fdisk/fdisksgilabel.c:633 fdisk/fdisksunlabel.c:416
+#, 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"
+
+#: fdisk/fdisk.c:2067
+#, fuzzy, c-format
+msgid "Sector %llu is already allocated\n"
+msgstr "O setor %d já está alocado\n"
+
+#: fdisk/fdisk.c:2103
+#, c-format
+msgid "No free sectors available\n"
+msgstr "Não há setores livres disponíveis\n"
+
+#: fdisk/fdisk.c:2112
+#, c-format
+msgid "Last %1$s, +%2$s or +size{K,M,G}"
+msgstr ""
+
+#: fdisk/fdisk.c:2178
+#, 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 ""
+
+#: fdisk/fdisk.c:2187
+#, 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 ""
+
+#: fdisk/fdisk.c:2207
+#, c-format
+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"
+
+#: fdisk/fdisk.c:2210
+#, fuzzy, c-format
+msgid "All logical partitions are in use\n"
+msgstr "partições lógicas fora da ordem do disco"
+
+#: fdisk/fdisk.c:2211
+#, fuzzy, c-format
+msgid "Adding a primary partition\n"
+msgstr "Partição primária inválida"
+
+#: fdisk/fdisk.c:2216
+#, c-format
+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"
+
+#: fdisk/fdisk.c:2218
+msgid "l   logical (5 or over)"
+msgstr "l   lógica (5 ou superior)"
+
+#: fdisk/fdisk.c:2218
+msgid "e   extended"
+msgstr "e   estendida"
+
+#: fdisk/fdisk.c:2237
+#, c-format
+msgid "Invalid partition number for type `%c'\n"
+msgstr "Número de partição inválido para o tipo `%c'\n"
+
+#: fdisk/fdisk.c:2273
+#, c-format
+msgid ""
+"The partition table has been altered!\n"
+"\n"
+msgstr ""
+"A tabela de partições foi alterada!\n"
+"\n"
+
+#: fdisk/fdisk.c:2287
+#, c-format
+msgid "Calling ioctl() to re-read partition table.\n"
+msgstr "Chamando ioctl() para reler tabela de partições.\n"
+
+#: fdisk/fdisk.c:2296
+#, c-format
+msgid ""
+"\n"
+"WARNING: Re-reading the partition table failed with error %d: %s.\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 ""
+
+#: fdisk/fdisk.c:2304
+#, 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"
+
+#: fdisk/fdisk.c:2310
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Error closing file\n"
+msgstr "Erro no fechamento de %s\n"
+
+#: fdisk/fdisk.c:2314
+#, c-format
+msgid "Syncing disks.\n"
+msgstr "Sincronizando discos.\n"
+
+#: fdisk/fdisk.c:2361
+#, c-format
+msgid "Partition %d has no data area\n"
+msgstr "A partição %d não possui área de dados\n"
+
+#: fdisk/fdisk.c:2366
+msgid "New beginning of data"
+msgstr "Novo início dos dados"
+
+#: fdisk/fdisk.c:2382
+msgid "Expert command (m for help): "
+msgstr "Comando avançado (m para ajuda): "
+
+#: fdisk/fdisk.c:2395
+msgid "Number of cylinders"
+msgstr "Número de cilindros"
+
+#: fdisk/fdisk.c:2422
+msgid "Number of heads"
+msgstr "Número de cabeças"
+
+#: fdisk/fdisk.c:2449
+msgid "Number of sectors"
+msgstr "Número de setores"
+
+#: fdisk/fdisk.c:2452
+#, c-format
+msgid "Warning: setting sector offset for DOS compatiblity\n"
+msgstr ""
+"Aviso: configurando o deslocamento de setor para compatibilidade com DOS\n"
+
+#: fdisk/fdisk.c:2511
+#, 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 ""
+
+#: fdisk/fdisk.c:2533
+#, c-format
+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"
+
+#: fdisk/fdisk.c:2544
+#, c-format
+msgid "Cannot open %s\n"
+msgstr "Não foi possível abrir %s\n"
+
+#: fdisk/fdisk.c:2563 fdisk/sfdisk.c:2618
+#, c-format
+msgid "cannot open %s\n"
+msgstr "não foi possível abrir %s\n"
+
+#: fdisk/fdisk.c:2583
+#, c-format
+msgid "%c: unknown command\n"
+msgstr "%c: comando desconhecido:\n"
+
+#: fdisk/fdisk.c:2653
+#, c-format
+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"
+
+#: fdisk/fdisk.c:2657
+#, 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"
+
+#: fdisk/fdisk.c:2717
+#, 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"
+
+#: fdisk/fdisk.c:2727
+msgid "Command (m for help): "
+msgstr "Comando (m para ajuda): "
+
+#: fdisk/fdisk.c:2743
+#, c-format
+msgid ""
+"\n"
+"The current boot file is: %s\n"
+msgstr ""
+"\n"
+"O arquivo de boot atual é: %s\n"
+
+#: fdisk/fdisk.c:2745
+msgid "Please enter the name of the new boot file: "
+msgstr "Informe o nome do novo arquivo de boot: "
+
+#: fdisk/fdisk.c:2747
+#, c-format
+msgid "Boot file unchanged\n"
+msgstr "Arquivo de boot inalterado\n"
+
+#: fdisk/fdisk.c:2820
+#, c-format
+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"
+
+#: fdisk/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)."
+
+#: fdisk/fdisksgilabel.c:81
+msgid "SGI volhdr"
+msgstr "volhdr SGI"
+
+#: fdisk/fdisksgilabel.c:82
+msgid "SGI trkrepl"
+msgstr "trkrepl SGI"
+
+#: fdisk/fdisksgilabel.c:83
+msgid "SGI secrepl"
+msgstr "secrepl SGI"
+
+#: fdisk/fdisksgilabel.c:84
+msgid "SGI raw"
+msgstr "raw SGI"
+
+#: fdisk/fdisksgilabel.c:85
+msgid "SGI bsd"
+msgstr "bsd SGI"
+
+#: fdisk/fdisksgilabel.c:86
+msgid "SGI sysv"
+msgstr "sysv SGI"
+
+#: fdisk/fdisksgilabel.c:87
+msgid "SGI volume"
+msgstr "volume SGI"
+
+#: fdisk/fdisksgilabel.c:88
+msgid "SGI efs"
+msgstr "efs SGI"
+
+#: fdisk/fdisksgilabel.c:89
+msgid "SGI lvol"
+msgstr "lvol SGI"
+
+#: fdisk/fdisksgilabel.c:90
+msgid "SGI rlvol"
+msgstr "rlvol SGI"
+
+#: fdisk/fdisksgilabel.c:91
+msgid "SGI xfs"
+msgstr "xfs SGI"
+
+#: fdisk/fdisksgilabel.c:92
+msgid "SGI xfslog"
+msgstr "SGI xfslog"
+
+#: fdisk/fdisksgilabel.c:93
+msgid "SGI xlv"
+msgstr "SGI xlv"
+
+#: fdisk/fdisksgilabel.c:94
+msgid "SGI xvm"
+msgstr "SGI xvm"
+
+#: fdisk/fdisksgilabel.c:95 fdisk/fdisksunlabel.c:55
+msgid "Linux swap"
+msgstr "Linux swap"
+
+#: fdisk/fdisksgilabel.c:96 fdisk/fdisksunlabel.c:56
+msgid "Linux native"
+msgstr "Linux nativa"
+
+#: fdisk/fdisksgilabel.c:97 fdisk/fdisksunlabel.c:57 fdisk/i386_sys_types.c:63
+msgid "Linux LVM"
+msgstr "Linux LVM"
+
+#: fdisk/fdisksgilabel.c:98
+msgid "Linux RAID"
+msgstr "Linux RAID"
+
+#: fdisk/fdisksgilabel.c:164
+#, 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"
+
+#: fdisk/fdisksgilabel.c:183
+#, c-format
+msgid "Detected sgi disklabel with wrong checksum.\n"
+msgstr "Detectado rótulo de disco SGI com soma de verificação incorreta.\n"
+
+#: fdisk/fdisksgilabel.c:201
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors\n"
+"%d cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * %d 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"
+
+#: fdisk/fdisksgilabel.c:214
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors, %d cylinders\n"
+"Units = %s of %d * %d 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"
+
+#: fdisk/fdisksgilabel.c:221
+#, 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"
+
+#: fdisk/fdisksgilabel.c:243
+#, 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"
+
+#: fdisk/fdisksgilabel.c:251
+#, c-format
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr "%2d: %-10s setor %5u tamanho %8u\n"
+
+#: fdisk/fdisksgilabel.c:305
+#, 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"
+
+#: fdisk/fdisksgilabel.c:311
+#, 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"
+
+#: fdisk/fdisksgilabel.c:316
+#, 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"
+
+#: fdisk/fdisksgilabel.c:323
+#, 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"
+
+#: fdisk/fdisksgilabel.c:349
+#, c-format
+msgid ""
+"\n"
+"\tBootfile is changed to \"%s\".\n"
+msgstr ""
+"\n"
+"\tArquivo de inicialização alterado para \"%s\".\n"
+
+#: fdisk/fdisksgilabel.c:439
+#, c-format
+msgid "More than one entire disk entry present.\n"
+msgstr "Mais do que uma entrada de disco inteiro presente.\n"
+
+#: fdisk/fdisksgilabel.c:446 fdisk/fdisksunlabel.c:388
+#, c-format
+msgid "No partitions defined\n"
+msgstr "Nenhuma partição definida\n"
+
+#: fdisk/fdisksgilabel.c:452
+#, 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"
+
+#: fdisk/fdisksgilabel.c:454
+#, 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"
+
+#: fdisk/fdisksgilabel.c:460
+#, 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"
+
+#: fdisk/fdisksgilabel.c:466
+#, c-format
+msgid "One Partition (#11) should cover the entire disk.\n"
+msgstr "Uma partição (nº 11) deve abranger todo o disco.\n"
+
+#: fdisk/fdisksgilabel.c:476
+#, 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"
+
+#: fdisk/fdisksgilabel.c:482
+#, 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"
+
+#: fdisk/fdisksgilabel.c:489
+#, 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"
+
+#: fdisk/fdisksgilabel.c:497 fdisk/fdisksgilabel.c:515
+#, 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"
+
+#: fdisk/fdisksgilabel.c:526
+#, c-format
+msgid ""
+"\n"
+"The boot partition does not exist.\n"
+msgstr ""
+"\n"
+"A partição de inicialização não existe.\n"
+
+#: fdisk/fdisksgilabel.c:529
+#, c-format
+msgid ""
+"\n"
+"The swap partition does not exist.\n"
+msgstr ""
+"\n"
+"A partição de permuta não existe.\n"
+
+#: fdisk/fdisksgilabel.c:533
+#, 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"
+
+#: fdisk/fdisksgilabel.c:536
+#, c-format
+msgid "\tYou have chosen an unusual boot file name.\n"
+msgstr "\tVocê escolheu um nome de arquivo de inicialização incomum.\n"
+
+#: fdisk/fdisksgilabel.c:545
+#, c-format
+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"
+
+#: fdisk/fdisksgilabel.c:551
+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"
+
+#: fdisk/fdisksgilabel.c:556 fdisk/fdisksunlabel.c:554
+msgid "YES\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:581
+#, c-format
+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"
+
+#: fdisk/fdisksgilabel.c:639
+#, c-format
+msgid "Attempting to generate entire disk entry automatically.\n"
+msgstr "Tentando gerar entrada de disco inteiro automaticamente.\n"
+
+#: fdisk/fdisksgilabel.c:644
+#, c-format
+msgid "The entire disk is already covered with partitions.\n"
+msgstr "O disco inteiro já está coberto com partições.\n"
+
+#: fdisk/fdisksgilabel.c:648
+#, 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"
+
+#: fdisk/fdisksgilabel.c:657 fdisk/fdisksgilabel.c:686
+#, 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"
+
+#: fdisk/fdisksgilabel.c:673
+#, 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"
+
+#: fdisk/fdisksgilabel.c:678
+#, c-format
+msgid " Last %s"
+msgstr " Último %s"
+
+#: fdisk/fdisksgilabel.c:708
+#, c-format
+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"
+
+#: fdisk/fdisksgilabel.c:731 fdisk/fdisksunlabel.c:227
+#, c-format
+msgid ""
+"Warning:  BLKGETSIZE ioctl failed on %s.  Using geometry cylinder value of %"
+"d.\n"
+"This value may be truncated for devices > 33.8 GB.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:745
+#, c-format
+msgid "Trying to keep parameters of partition %d.\n"
+msgstr "Tentando manter os parâmetros da partição %d.\n"
+
+#: fdisk/fdisksgilabel.c:747
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr "ID=%02x\tINÍCIO=%d\tCOMPRIMENTO=%d\n"
+
+#: fdisk/fdisksunlabel.c:43
+msgid "Unassigned"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:45
+msgid "SunOS root"
+msgstr "root SunOS"
+
+#: fdisk/fdisksunlabel.c:46
+msgid "SunOS swap"
+msgstr "permuta SunOS"
+
+#: fdisk/fdisksunlabel.c:47
+msgid "SunOS usr"
+msgstr "usr SunOS"
+
+#: fdisk/fdisksunlabel.c:48
+msgid "Whole disk"
+msgstr "Disco inteiro"
+
+#: fdisk/fdisksunlabel.c:49
+msgid "SunOS stand"
+msgstr "stand SunOS"
+
+#: fdisk/fdisksunlabel.c:50
+msgid "SunOS var"
+msgstr "var SunOS"
+
+#: fdisk/fdisksunlabel.c:51
+msgid "SunOS home"
+msgstr "home SunOS"
+
+#: fdisk/fdisksunlabel.c:52
+#, fuzzy
+msgid "SunOS alt sectors"
+msgstr "%d setores não alocados\n"
+
+#: fdisk/fdisksunlabel.c:53
+#, fuzzy
+msgid "SunOS cachefs"
+msgstr "home SunOS"
+
+#: fdisk/fdisksunlabel.c:54
+#, fuzzy
+msgid "SunOS reserved"
+msgstr "usr SunOS"
+
+#: fdisk/fdisksunlabel.c:58 fdisk/i386_sys_types.c:103
+msgid "Linux raid autodetect"
+msgstr "Detecção automática de RAID Linux"
+
+#: fdisk/fdisksunlabel.c:141
+#, 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"
+
+#: fdisk/fdisksunlabel.c:153
+#, 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"
+
+#: fdisk/fdisksunlabel.c:158
+#, 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"
+
+#: fdisk/fdisksunlabel.c:163
+#, 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"
+
+#: fdisk/fdisksunlabel.c:168
+#, 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"
+
+#: fdisk/fdisksunlabel.c:198
+#, c-format
+msgid ""
+"Building a new sun disklabel. Changes will remain in memory only,\n"
+"until you decide to write them. After that, of course, the previous\n"
+"content won't be recoverable.\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"
+
+#: fdisk/fdisksunlabel.c:236
+msgid "Sectors/track"
+msgstr "Setores/trilha"
+
+#: fdisk/fdisksunlabel.c:351
+#, 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"
+
+#: fdisk/fdisksunlabel.c:371
+#, 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"
+
+#: fdisk/fdisksunlabel.c:393
+#, c-format
+msgid "Unused gap - sectors 0-%d\n"
+msgstr "Intervalo não utilizado - setores 0 - %d\n"
+
+#: fdisk/fdisksunlabel.c:395 fdisk/fdisksunlabel.c:401
+#, c-format
+msgid "Unused gap - sectors %d-%d\n"
+msgstr "Intervalo não utilizado - setores %d - %d\n"
+
+#: fdisk/fdisksunlabel.c:426
+#, 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"
+
+#: fdisk/fdisksunlabel.c:449
+#, 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"
+
+#: fdisk/fdisksunlabel.c:477
+#, c-format
+msgid "Sector %d is already allocated\n"
+msgstr "O setor %d já está alocado\n"
+
+#: fdisk/fdisksunlabel.c:507
+#, 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"
+
+#: fdisk/fdisksunlabel.c:534
+#, 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"
+
+#: fdisk/fdisksunlabel.c:549
+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): "
+
+#: fdisk/fdisksunlabel.c:581
+#, fuzzy, c-format
+msgid ""
+"\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"
+"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"
+
+#: fdisk/fdisksunlabel.c:597
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %d heads, %llu sectors, %d 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"
+
+#: fdisk/fdisksunlabel.c:602
+#, c-format
+msgid "%*s Flag    Start       End    Blocks   Id  System\n"
+msgstr "%*s Opção   Início      Fim    Blocos   Id  Sistema\n"
+
+#: fdisk/fdisksunlabel.c:630
+msgid "Number of alternate cylinders"
+msgstr "Número de cilindros alternativos"
+
+#: fdisk/fdisksunlabel.c:642
+msgid "Extra sectors per cylinder"
+msgstr "Setores extras por cilindro: "
+
+#: fdisk/fdisksunlabel.c:649
+msgid "Interleave factor"
+msgstr "Fator de \"Interleave\""
+
+#: fdisk/fdisksunlabel.c:656
+msgid "Rotation speed (rpm)"
+msgstr "Velocidade de rotação (RPM)"
+
+#: fdisk/fdisksunlabel.c:663
+msgid "Number of physical cylinders"
+msgstr "Número de cilindros físicos"
+
+#: fdisk/i386_sys_types.c:6
+msgid "Empty"
+msgstr "Vazia"
+
+#: fdisk/i386_sys_types.c:7
+msgid "FAT12"
+msgstr "FAT12"
+
+#: fdisk/i386_sys_types.c:8
+msgid "XENIX root"
+msgstr "root XENIX"
+
+#: fdisk/i386_sys_types.c:9
+msgid "XENIX usr"
+msgstr "usr XENIX"
+
+#: fdisk/i386_sys_types.c:10
+msgid "FAT16 <32M"
+msgstr "FAT16 < 32 M"
+
+#: fdisk/i386_sys_types.c:11
+msgid "Extended"
+msgstr "Estendida"
+
+#: fdisk/i386_sys_types.c:12
+msgid "FAT16"
+msgstr "FAT16"
+
+#: fdisk/i386_sys_types.c:13
+msgid "HPFS/NTFS"
+msgstr "HPFS ou NTFS"
+
+#: fdisk/i386_sys_types.c:14
+msgid "AIX"
+msgstr "AIX"
+
+#: fdisk/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr "AIX inicializável"
+
+#: fdisk/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr "Gerenc. Inicializ. OS/2"
+
+#: fdisk/i386_sys_types.c:17
+#, fuzzy
+msgid "W95 FAT32"
+msgstr "FAT32 Win95"
+
+#: fdisk/i386_sys_types.c:18
+#, fuzzy
+msgid "W95 FAT32 (LBA)"
+msgstr "FAT32 Win95 (LBA)"
+
+#: fdisk/i386_sys_types.c:19
+#, fuzzy
+msgid "W95 FAT16 (LBA)"
+msgstr "FAT16 Win95 (LBA)"
+
+#: fdisk/i386_sys_types.c:20
+#, fuzzy
+msgid "W95 Ext'd (LBA)"
+msgstr "Estendida Win95 (LBA)"
+
+#: fdisk/i386_sys_types.c:21
+msgid "OPUS"
+msgstr "OPUS"
+
+#: fdisk/i386_sys_types.c:22
+msgid "Hidden FAT12"
+msgstr "FAT12 Escondida"
+
+#: fdisk/i386_sys_types.c:23
+msgid "Compaq diagnostics"
+msgstr "Diagnóstico Compaq"
+
+#: fdisk/i386_sys_types.c:24
+msgid "Hidden FAT16 <32M"
+msgstr "FAT16 Escondida < 32 M"
+
+#: fdisk/i386_sys_types.c:25
+msgid "Hidden FAT16"
+msgstr "FAT16 Escondida"
+
+#: fdisk/i386_sys_types.c:26
+msgid "Hidden HPFS/NTFS"
+msgstr "HPFS ou NTFS Escondida"
+
+#: fdisk/i386_sys_types.c:27
+msgid "AST SmartSleep"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:28
+#, fuzzy
+msgid "Hidden W95 FAT32"
+msgstr "FAT32 Win 95 Escondida"
+
+#: fdisk/i386_sys_types.c:29
+#, fuzzy
+msgid "Hidden W95 FAT32 (LBA)"
+msgstr "FAT32 Win95 Escondida (LBA)"
+
+#: fdisk/i386_sys_types.c:30
+#, fuzzy
+msgid "Hidden W95 FAT16 (LBA)"
+msgstr "FAT16 Win95 Escondida (LBA)"
+
+#: fdisk/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr "DOS NEC"
+
+#: fdisk/i386_sys_types.c:32
+msgid "Plan 9"
+msgstr "Plan 9"
+
+#: fdisk/i386_sys_types.c:33
+msgid "PartitionMagic recovery"
+msgstr "Recuperação do PartitionMagic"
+
+#: fdisk/i386_sys_types.c:34
+msgid "Venix 80286"
+msgstr "Venix 80286"
+
+#: fdisk/i386_sys_types.c:35
+msgid "PPC PReP Boot"
+msgstr "Boot PReP PPC"
+
+#: fdisk/i386_sys_types.c:36
+msgid "SFS"
+msgstr "SFS"
+
+#: fdisk/i386_sys_types.c:37
+msgid "QNX4.x"
+msgstr "QNX4.x"
+
+#: fdisk/i386_sys_types.c:38
+msgid "QNX4.x 2nd part"
+msgstr "QNX4.x 2ª parte"
+
+#: fdisk/i386_sys_types.c:39
+msgid "QNX4.x 3rd part"
+msgstr "QNX4.x 3ª parte"
+
+#: fdisk/i386_sys_types.c:40
+msgid "OnTrack DM"
+msgstr "DM OnTrack"
+
+#: fdisk/i386_sys_types.c:41
+msgid "OnTrack DM6 Aux1"
+msgstr "DM6 OnTrack Aux1"
+
+#: fdisk/i386_sys_types.c:42
+msgid "CP/M"
+msgstr "CP/M"
+
+#: fdisk/i386_sys_types.c:43
+msgid "OnTrack DM6 Aux3"
+msgstr "DM6 OnTrack Aux3"
+
+#: fdisk/i386_sys_types.c:44
+msgid "OnTrackDM6"
+msgstr "DM6 OnTrack"
+
+#: fdisk/i386_sys_types.c:45
+msgid "EZ-Drive"
+msgstr "EZ-Drive"
+
+#: fdisk/i386_sys_types.c:46
+msgid "Golden Bow"
+msgstr "Golden Bow"
+
+#: fdisk/i386_sys_types.c:47
+msgid "Priam Edisk"
+msgstr "Edisk Priam"
+
+#: fdisk/i386_sys_types.c:48 fdisk/i386_sys_types.c:92
+#: fdisk/i386_sys_types.c:98 fdisk/i386_sys_types.c:99
+msgid "SpeedStor"
+msgstr "SpeedStor"
+
+#: fdisk/i386_sys_types.c:49
+msgid "GNU HURD or SysV"
+msgstr "GNU HURD ou SysV"
+
+#: fdisk/i386_sys_types.c:50
+msgid "Novell Netware 286"
+msgstr "Novell Netware 286"
+
+#: fdisk/i386_sys_types.c:51
+msgid "Novell Netware 386"
+msgstr "Novell Netware 386"
+
+#: fdisk/i386_sys_types.c:52
+msgid "DiskSecure Multi-Boot"
+msgstr "Multi-Boot DiskSecure"
+
+#: fdisk/i386_sys_types.c:53
+msgid "PC/IX"
+msgstr "PC/IX"
+
+#: fdisk/i386_sys_types.c:54
+msgid "Old Minix"
+msgstr "Minix antigo"
+
+#: fdisk/i386_sys_types.c:55
+msgid "Minix / old Linux"
+msgstr "Linux antigo/Minix"
+
+#: fdisk/i386_sys_types.c:56
+#, fuzzy
+msgid "Linux swap / Solaris"
+msgstr "Linux swap"
+
+#: fdisk/i386_sys_types.c:58
+msgid "OS/2 hidden C: drive"
+msgstr "Unidade C: OS/2 oculta"
+
+#: fdisk/i386_sys_types.c:59
+msgid "Linux extended"
+msgstr "Estendida Linux"
+
+#: fdisk/i386_sys_types.c:60 fdisk/i386_sys_types.c:61
+msgid "NTFS volume set"
+msgstr "Conjunto de volumes NTFS"
+
+#: fdisk/i386_sys_types.c:62
+#, fuzzy
+msgid "Linux plaintext"
+msgstr "Linux ext2"
+
+#: fdisk/i386_sys_types.c:64
+msgid "Amoeba"
+msgstr "Amoeba"
+
+#: fdisk/i386_sys_types.c:65
+msgid "Amoeba BBT"
+msgstr "Amoeba BBT"
+
+#: fdisk/i386_sys_types.c:66
+msgid "BSD/OS"
+msgstr "BSD/OS"
+
+#: fdisk/i386_sys_types.c:67
+msgid "IBM Thinkpad hibernation"
+msgstr "Hibernação IBM Thinkpad"
+
+#: fdisk/i386_sys_types.c:68
+msgid "FreeBSD"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:69
+msgid "OpenBSD"
+msgstr "OpenBSD"
+
+#: fdisk/i386_sys_types.c:70
+msgid "NeXTSTEP"
+msgstr "NeXTSTEP"
+
+#: fdisk/i386_sys_types.c:71
+msgid "Darwin UFS"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:72
+#, fuzzy
+msgid "NetBSD"
+msgstr "OpenBSD"
+
+#: fdisk/i386_sys_types.c:73
+msgid "Darwin boot"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:74
+#, fuzzy
+msgid "HFS / HFS+"
+msgstr "HPFS do OS/2"
+
+#: fdisk/i386_sys_types.c:75
+msgid "BSDI fs"
+msgstr "sist. arq. BSDI"
+
+#: fdisk/i386_sys_types.c:76
+msgid "BSDI swap"
+msgstr "permuta BSDI"
+
+#: fdisk/i386_sys_types.c:77
+msgid "Boot Wizard hidden"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:78
+msgid "Solaris boot"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:79
+msgid "Solaris"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:80
+msgid "DRDOS/sec (FAT-12)"
+msgstr "DRDOS/sec (FAT12)"
+
+#: fdisk/i386_sys_types.c:81
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr "DRDOS/sec (FAT16 < 32 M)"
+
+#: fdisk/i386_sys_types.c:82
+msgid "DRDOS/sec (FAT-16)"
+msgstr "DRDOS/sec (FAT16)"
+
+#: fdisk/i386_sys_types.c:83
+msgid "Syrinx"
+msgstr "Syrinx"
+
+#: fdisk/i386_sys_types.c:84
+msgid "Non-FS data"
+msgstr "Dados Não-FS"
+
+#: fdisk/i386_sys_types.c:85
+msgid "CP/M / CTOS / ..."
+msgstr "CP/M / CTOS / ..."
+
+#: fdisk/i386_sys_types.c:87
+msgid "Dell Utility"
+msgstr "Utilitário Dell"
+
+#: fdisk/i386_sys_types.c:88
+#, fuzzy
+msgid "BootIt"
+msgstr "Inicializar"
+
+#: fdisk/i386_sys_types.c:89
+msgid "DOS access"
+msgstr "Acesso DOS"
+
+#: fdisk/i386_sys_types.c:91
+msgid "DOS R/O"
+msgstr "DOS R/O"
+
+#: fdisk/i386_sys_types.c:94
+msgid "BeOS fs"
+msgstr "sist. arq. BeOS"
+
+#: fdisk/i386_sys_types.c:95
+#, fuzzy
+msgid "GPT"
+msgstr "EFI GPT"
+
+#: fdisk/i386_sys_types.c:96
+msgid "EFI (FAT-12/16/32)"
+msgstr "EFI (FAT-12/16/32)"
+
+#: fdisk/i386_sys_types.c:97
+msgid "Linux/PA-RISC boot"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:100
+msgid "DOS secondary"
+msgstr "DOS secundário"
+
+#: fdisk/i386_sys_types.c:101
+msgid "VMware VMFS"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:102
+msgid "VMware VMKCORE"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:106
+msgid "LANstep"
+msgstr "LANstep"
+
+#: fdisk/i386_sys_types.c:107
+msgid "BBT"
+msgstr "BBT"
+
+#: fdisk/sfdisk.c:179
+#, 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"
+
+#: fdisk/sfdisk.c:184
+#, 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"
+
+#: fdisk/sfdisk.c:230
+msgid "out of memory - giving up\n"
+msgstr "memória insuficiente - desistindo\n"
+
+#: fdisk/sfdisk.c:235 fdisk/sfdisk.c:318
+#, 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"
+
+#: fdisk/sfdisk.c:253
+#, 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"
+
+#: fdisk/sfdisk.c:268
+#, 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"
+
+#: fdisk/sfdisk.c:306
+#, 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"
+
+#: fdisk/sfdisk.c:324
+#, c-format
+msgid "write error on %s\n"
+msgstr "erro de gravação em %s\n"
+
+#: fdisk/sfdisk.c:350
+#, 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"
+
+#: fdisk/sfdisk.c:355
+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"
+
+#: fdisk/sfdisk.c:359
+msgid "out of memory?\n"
+msgstr "memória insuficiente?\n"
+
+#: fdisk/sfdisk.c:365
+#, 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"
+
+#: fdisk/sfdisk.c:371
+#, c-format
+msgid "error reading %s\n"
+msgstr "erro na leitura de %s\n"
+
+#: fdisk/sfdisk.c:378
+#, c-format
+msgid "cannot open device %s for writing\n"
+msgstr "não foi possível abrir o dispositivo %s para gravação\n"
+
+#: fdisk/sfdisk.c:390
+#, c-format
+msgid "error writing sector %lu on %s\n"
+msgstr "erro na gravação do setor %lu em %s\n"
+
+#: fdisk/sfdisk.c:455
+#, c-format
+msgid "Disk %s: cannot get geometry\n"
+msgstr "Disco %s: não foi possível obter a geometria\n"
+
+#: fdisk/sfdisk.c:472
+#, c-format
+msgid "Disk %s: cannot get size\n"
+msgstr "Disco %s: não foi possível obter o tamanho\n"
+
+#: fdisk/sfdisk.c:505
+#, 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"
+
+#: fdisk/sfdisk.c:512
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu heads\n"
+msgstr "Aviso: HDIO_GETGEO informa que há %lu cabeças\n"
+
+#: fdisk/sfdisk.c:515
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu sectors\n"
+msgstr "Aviso: HDIO_GETGEO informa que há %lu setores\n"
+
+#: fdisk/sfdisk.c:519
+#, 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"
+
+#: fdisk/sfdisk.c:524
+#, 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"
+
+#: fdisk/sfdisk.c:528
+#, 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"
+
+#: fdisk/sfdisk.c:610
+#, 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"
+
+#: fdisk/sfdisk.c:615
+#, 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"
+
+#: fdisk/sfdisk.c:620
+#, 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"
+
+#: fdisk/sfdisk.c:660
+#, c-format
+msgid ""
+"Id  Name\n"
+"\n"
+msgstr ""
+"Nome Id\n"
+"\n"
+
+#: fdisk/sfdisk.c:821
+#, c-format
+msgid "Re-reading the partition table ...\n"
+msgstr "Relendo a tabela de partições...\n"
+
+#: fdisk/sfdisk.c:827
+#, 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"
+
+#: fdisk/sfdisk.c:833
+#, c-format
+msgid "Error closing %s\n"
+msgstr "Erro no fechamento de %s\n"
+
+#: fdisk/sfdisk.c:871
+#, c-format
+msgid "%s: no such partition\n"
+msgstr "%s: partição inexistente\n"
+
+#: fdisk/sfdisk.c:894
+msgid "unrecognized format - using sectors\n"
+msgstr "formato não reconhecido - usando setores\n"
+
+#: fdisk/sfdisk.c:944
+#, c-format
+msgid "unimplemented format - using %s\n"
+msgstr "formato não implementado - usando %s\n"
+
+#: fdisk/sfdisk.c:948
+#, 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"
+
+#: fdisk/sfdisk.c:951
+#, fuzzy, c-format
+msgid "   Device Boot Start     End   #cyls    #blocks   Id  System\n"
+msgstr "   Disp   Boot Início    Fim   Cils    Blocos    Id  Sistema\n"
+
+#: fdisk/sfdisk.c:956
+#, 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"
+
+#: fdisk/sfdisk.c:958
+#, fuzzy, c-format
+msgid "   Device Boot    Start       End   #sectors  Id  System\n"
+msgstr "   Disp   Boot    Início      Fim  Setores   Id  Sistema\n"
+
+#: fdisk/sfdisk.c:961
+#, 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"
+
+#: fdisk/sfdisk.c:963
+#, fuzzy, c-format
+msgid "   Device Boot   Start       End    #blocks   Id  System\n"
+msgstr "   Disp   Boot   Início      Fim   Blocos    Id  Sistema\n"
+
+#: fdisk/sfdisk.c:966
+#, fuzzy, c-format
+msgid ""
+"Units = mebibytes of 1048576 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"
+
+#: fdisk/sfdisk.c:968
+#, fuzzy, c-format
+msgid "   Device Boot Start   End    MiB    #blocks   Id  System\n"
+msgstr "   Disp   Boot Início  Fim     MB   Blocos    Id  Sistema\n"
+
+#: fdisk/sfdisk.c:1128
+#, 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"
+
+#: fdisk/sfdisk.c:1135
+#, 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"
+
+#: fdisk/sfdisk.c:1138
+#, 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"
+
+#: fdisk/sfdisk.c:1148
+msgid "No partitions found\n"
+msgstr "Nenhuma partição encontrada\n"
+
+#: fdisk/sfdisk.c:1152
+#, 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"
+
+#: fdisk/sfdisk.c:1201
+msgid "no partition table present.\n"
+msgstr "nenhuma tabela de partições presente.\n"
+
+#: fdisk/sfdisk.c:1203
+#, c-format
+msgid "strange, only %d partitions defined.\n"
+msgstr "estranho, somente %d partições estão definidas.\n"
+
+#: fdisk/sfdisk.c:1212
+#, 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"
+
+#: fdisk/sfdisk.c:1215
+#, 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"
+
+#: fdisk/sfdisk.c:1218
+#, 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"
+
+#: fdisk/sfdisk.c:1229
+#, c-format
+msgid "Warning: partition %s "
+msgstr "Aviso: a partição %s "
+
+#: fdisk/sfdisk.c:1230
+#, c-format
+msgid "is not contained in partition %s\n"
+msgstr "não está contida na partição %s\n"
+
+#: fdisk/sfdisk.c:1241
+#, c-format
+msgid "Warning: partitions %s "
+msgstr "Aviso: as partições %s "
+
+#: fdisk/sfdisk.c:1242
+#, c-format
+msgid "and %s overlap\n"
+msgstr "e %s se sobrepõem\n"
+
+#: fdisk/sfdisk.c:1253
+#, c-format
+msgid ""
+"Warning: partition %s contains part of the partition table (sector %lu),\n"
+"and will destroy it when filled\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1265
+#, c-format
+msgid "Warning: partition %s starts at sector 0\n"
+msgstr "Aviso: a partição %s começa no setor 0\n"
+
+#: fdisk/sfdisk.c:1269
+#, 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"
+
+#: fdisk/sfdisk.c:1284
+#, 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"
+
+#: fdisk/sfdisk.c:1302
+#, 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"
+
+#: fdisk/sfdisk.c:1308
+#, 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"
+
+#: fdisk/sfdisk.c:1326
+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"
+
+#: fdisk/sfdisk.c:1333
+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"
+
+#: fdisk/sfdisk.c:1339
+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"
+
+#: fdisk/sfdisk.c:1353
+#, fuzzy
+msgid "start"
+msgstr "status"
+
+#: fdisk/sfdisk.c:1356
+#, 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"
+
+#: fdisk/sfdisk.c:1362
+#, fuzzy
+msgid "end"
+msgstr "envio"
+
+#: fdisk/sfdisk.c:1365
+#, 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"
+
+#: fdisk/sfdisk.c:1368
+#, 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"
+
+#: fdisk/sfdisk.c:1393
+#, fuzzy, c-format
+msgid ""
+"Warning: shifted start of the extd partition from %ld to %ld\n"
+"(For listing purposes only. Do not change its contents.)\n"
+msgstr "Aviso: deslocamento inicia na partição extd de  %ld para %ld\n"
+
+#: fdisk/sfdisk.c:1399
+#, 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"
+
+#: fdisk/sfdisk.c:1417 fdisk/sfdisk.c:1494
+#, c-format
+msgid "too many partitions - ignoring those past nr (%d)\n"
+msgstr "número excessivo de partições - ignorando aquelas além do nº %d\n"
+
+#: fdisk/sfdisk.c:1432
+msgid "tree of partitions?\n"
+msgstr "árvore de partições?\n"
+
+#: fdisk/sfdisk.c:1540
+msgid "detected Disk Manager - unable to handle that\n"
+msgstr "Gerenciador de disco detectado - não é possível tratar\n"
+
+#: fdisk/sfdisk.c:1547
+msgid "DM6 signature found - giving up\n"
+msgstr "Assinatura DM6 encontrada - desistindo\n"
+
+#: fdisk/sfdisk.c:1567
+msgid "strange..., an extended partition of size 0?\n"
+msgstr "estranho... uma partição estendida de tamanho 0?\n"
+
+#: fdisk/sfdisk.c:1574 fdisk/sfdisk.c:1585
+msgid "strange..., a BSD partition of size 0?\n"
+msgstr "estranho... uma partição BSD de tamanho 0?\n"
+
+#: fdisk/sfdisk.c:1619
+#, fuzzy, c-format
+msgid " %s: unrecognized partition table type\n"
+msgstr " %s: partição não reconhecida\n"
+
+#: fdisk/sfdisk.c:1631
+msgid "-n flag was given: Nothing changed\n"
+msgstr "a opção -n foi fornecida: nada foi alterado\n"
+
+#: fdisk/sfdisk.c:1647
+msgid "Failed saving the old sectors - aborting\n"
+msgstr "Não foi possível salvar os setores antigos - abortando\n"
+
+#: fdisk/sfdisk.c:1652
+#, c-format
+msgid "Failed writing the partition on %s\n"
+msgstr "Não foi possível gravar a partição em %s\n"
+
+#: fdisk/sfdisk.c:1729
+msgid "long or incomplete input line - quitting\n"
+msgstr "linha de entrada longa demais ou incompleta - encerrando\n"
+
+#: fdisk/sfdisk.c:1765
+#, c-format
+msgid "input error: `=' expected after %s field\n"
+msgstr "erro de entrada: `=' esperado após o campo %s\n"
+
+#: fdisk/sfdisk.c:1772
+#, c-format
+msgid "input error: unexpected character %c after %s field\n"
+msgstr "erro de entrada: caractere inesperado %c após o campo %s\n"
+
+#: fdisk/sfdisk.c:1778
+#, c-format
+msgid "unrecognized input: %s\n"
+msgstr "entrada não reconhecida: %s\n"
+
+#: fdisk/sfdisk.c:1820
+msgid "number too big\n"
+msgstr "número grande demais\n"
+
+#: fdisk/sfdisk.c:1824
+msgid "trailing junk after number\n"
+msgstr "lixo após o número\n"
+
+#: fdisk/sfdisk.c:1948
+msgid "no room for partition descriptor\n"
+msgstr "sem espaço para o descritor da partição\n"
+
+#: fdisk/sfdisk.c:1981
+msgid "cannot build surrounding extended partition\n"
+msgstr "não foi possível criar a partição estendida envoltória\n"
+
+#: fdisk/sfdisk.c:2032
+msgid "too many input fields\n"
+msgstr "número excessivo de campos de entrada\n"
+
+#: fdisk/sfdisk.c:2066
+msgid "No room for more\n"
+msgstr "Não há espaço para mais\n"
+
+#: fdisk/sfdisk.c:2085
+msgid "Illegal type\n"
+msgstr "Tipo inválido\n"
+
+#: fdisk/sfdisk.c:2117
+#, 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"
+
+#: fdisk/sfdisk.c:2123
+msgid "Warning: empty partition\n"
+msgstr "Atenção: partição vazia\n"
+
+#: fdisk/sfdisk.c:2137
+#, c-format
+msgid "Warning: bad partition start (earliest %lu)\n"
+msgstr "Aviso: início de partição inválido (mais adiantado %lu)\n"
+
+#: fdisk/sfdisk.c:2150
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr "opção de inicialização não reconhecida: selecione - ou *\n"
+
+#: fdisk/sfdisk.c:2167 fdisk/sfdisk.c:2180
+msgid "partial c,h,s specification?\n"
+msgstr "especificação cil,cab,set parcial?\n"
+
+#: fdisk/sfdisk.c:2191
+msgid "Extended partition not where expected\n"
+msgstr "Partição estendida não está no lugar esperado\n"
+
+#: fdisk/sfdisk.c:2223
+msgid "bad input\n"
+msgstr "entrada inválida\n"
+
+#: fdisk/sfdisk.c:2245
+msgid "too many partitions\n"
+msgstr "Número excessivo de partições\n"
+
+#: fdisk/sfdisk.c:2278
+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"
+
+#: fdisk/sfdisk.c:2304
+#, c-format
+msgid "Usage: %s [options] device ...\n"
+msgstr "Uso: %s [opções] dispositivo ...\n"
+
+#: fdisk/sfdisk.c:2305
+msgid "device: something like /dev/hda or /dev/sda"
+msgstr "dispositivo: algo como /dev/hda ou /dev/sda"
+
+#: fdisk/sfdisk.c:2306
+msgid "useful options:"
+msgstr "opções úteis:"
+
+#: fdisk/sfdisk.c:2307
+msgid "    -s [or --show-size]: list size of a partition"
+msgstr "    -s [ou --show-size]: lista o tamanho de uma partição"
+
+#: fdisk/sfdisk.c:2308
+msgid "    -c [or --id]:        print or change partition Id"
+msgstr "    -c [ou --id]:        mostra ou altera a ID da partição"
+
+#: fdisk/sfdisk.c:2309
+msgid "    -l [or --list]:      list partitions of each device"
+msgstr "    -l [ou --list]:      lista as partições de cada dispositivo"
+
+#: fdisk/sfdisk.c:2310
+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"
+
+#: fdisk/sfdisk.c:2311
+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"
+
+#: fdisk/sfdisk.c:2312
+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"
+
+#: fdisk/sfdisk.c:2313
+msgid "    -T [or --list-types]:list the known partition types"
+msgstr "    -T [ou --list-types]:lista os tipos de partição conhecidos"
+
+#: fdisk/sfdisk.c:2314
+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"
+
+#: fdisk/sfdisk.c:2315
+msgid "    -R [or --re-read]:   make kernel reread partition table"
+msgstr "    -R [ou --re-read]:   faz o kernel reler a tabela de partições"
+
+#: fdisk/sfdisk.c:2316
+msgid "    -N# :                change only the partition with number #"
+msgstr "    -N# :                altera somente a partição de número #"
+
+#: fdisk/sfdisk.c:2317
+msgid "    -n :                 do not actually write to disk"
+msgstr "    -n :                 não grava no disco, realmente"
+
+#: fdisk/sfdisk.c:2318
+msgid ""
+"    -O file :            save the sectors that will be overwritten to file"
+msgstr ""
+"    -O arquivo :          salva os setores que serão sobrescritos em arquivo"
+
+#: fdisk/sfdisk.c:2319
+msgid "    -I file :            restore these sectors again"
+msgstr "    -I arquivo :         restaura os setores gravados em arquivo"
+
+#: fdisk/sfdisk.c:2320
+msgid "    -v [or --version]:   print version"
+msgstr "    -v [ou --version]:   mostra a versão"
+
+#: fdisk/sfdisk.c:2321
+msgid "    -? [or --help]:      print this message"
+msgstr "    -? [ou --help]:      mostra esta mensagem"
+
+#: fdisk/sfdisk.c:2322
+msgid "dangerous options:"
+msgstr "opções perigosas:"
+
+#: fdisk/sfdisk.c:2323
+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"
+
+#: fdisk/sfdisk.c:2324
+#, fuzzy
+msgid ""
+"    -G [or --show-pt-geometry]: print geometry guessed from the partition "
+"table"
+msgstr ""
+"    -g [ou --show-geometry]: mostra a suposição do kernel sobre a geometria"
+
+#: fdisk/sfdisk.c:2325
+msgid ""
+"    -x [or --show-extended]: also list extended partitions on output\n"
+"                             or expect descriptors for them on input"
+msgstr ""
+"    -x [ou --show-extended]: também lista partições estendidas na saída\n"
+"                             ou espera descritores para elas na entrada"
+
+#: fdisk/sfdisk.c:2327
+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"
+
+#: fdisk/sfdisk.c:2328
+msgid "    -q  [or --quiet]:      suppress warning messages"
+msgstr "    -q  [ou --quiet]:      suprime mensagens de aviso"
+
+#: fdisk/sfdisk.c:2329
+msgid "    You can override the detected geometry using:"
+msgstr "    Você pode anular a geometria detectada usando:"
+
+#: fdisk/sfdisk.c:2330
+msgid "    -C# [or --cylinders #]:set the number of cylinders to use"
+msgstr "    -C# [ou --cylinders #]:define o número de cilindros a usar"
+
+#: fdisk/sfdisk.c:2331
+msgid "    -H# [or --heads #]:    set the number of heads to use"
+msgstr "    -H# [ou --heads #]:    define o número de cabeças a usar"
+
+#: fdisk/sfdisk.c:2332
+msgid "    -S# [or --sectors #]:  set the number of sectors to use"
+msgstr "    -S# [ou --sectors #]:  define o número de setores a usar"
+
+#: fdisk/sfdisk.c:2333
+msgid "You can disable all consistency checking with:"
+msgstr "Você pode desativar todas as verificações de consistência com:"
+
+#: fdisk/sfdisk.c:2334
+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"
+
+#: fdisk/sfdisk.c:2340
+msgid "Usage:"
+msgstr "Uso:"
+
+#: fdisk/sfdisk.c:2341
+#, 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"
+
+#: fdisk/sfdisk.c:2342
+#, 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"
+
+#: fdisk/sfdisk.c:2343
+#, 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"
+
+#: fdisk/sfdisk.c:2463
+#, 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 ""
+
+#: fdisk/sfdisk.c:2466
+#, 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"
+
+#: fdisk/sfdisk.c:2505
+msgid "no command?\n"
+msgstr "nenhum comando?\n"
+
+#: fdisk/sfdisk.c:2637
+#, fuzzy, c-format
+msgid "total: %llu blocks\n"
+msgstr "total: %d blocos\n"
+
+#: fdisk/sfdisk.c:2680
+msgid "usage: sfdisk --print-id device partition-number\n"
+msgstr "Uso: sfdisk --print-id dispositivo número-partição\n"
+
+#: fdisk/sfdisk.c:2682
+msgid "usage: sfdisk --change-id device partition-number Id\n"
+msgstr "Uso: sfdisk --change-id dispositivo número-partição ID\n"
+
+#: fdisk/sfdisk.c:2684
+msgid "usage: sfdisk --id device partition-number [Id]\n"
+msgstr "Uso: sfdisk --id dispositivo número-partição [ID]\n"
+
+#: fdisk/sfdisk.c:2691
+msgid "can specify only one device (except with -l or -s)\n"
+msgstr "pode especificar somente um dispositivo (exceto com -l ou -s)\n"
+
+#: fdisk/sfdisk.c:2717
+#, fuzzy, c-format
+msgid "cannot open %s read-write\n"
+msgstr "não foi possível abrir %s\n"
+
+#: fdisk/sfdisk.c:2719
+#, fuzzy, c-format
+msgid "cannot open %s for reading\n"
+msgstr "não foi possível abrir %s para leitura"
+
+#: fdisk/sfdisk.c:2744
+#, c-format
+msgid "%s: OK\n"
+msgstr "%s: OK\n"
+
+#: fdisk/sfdisk.c:2763 fdisk/sfdisk.c:2796
+#, c-format
+msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+msgstr "%s: %ld cilindros, %ld cabeças, %ld setores/trilha\n"
+
+#: fdisk/sfdisk.c:2815
+#, fuzzy, c-format
+msgid "Cannot get size of %s\n"
+msgstr "Não foi possível obter o tamanho de %s"
+
+#: fdisk/sfdisk.c:2895
+#, c-format
+msgid "bad active byte: 0x%x instead of 0x80\n"
+msgstr "byte ativo inválido: 0x%x em vez de 0x80\n"
+
+#: fdisk/sfdisk.c:2913 fdisk/sfdisk.c:2968 fdisk/sfdisk.c:3001
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+"Concluído\n"
+"\n"
+
+#: fdisk/sfdisk.c:2922
+#, 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"
+
+#: fdisk/sfdisk.c:2938
+#, c-format
+msgid "partition %s has id %x and is not hidden\n"
+msgstr "a partição %s possui ID %x e não está escondida\n"
+
+#: fdisk/sfdisk.c:2997
+#, c-format
+msgid "Bad Id %lx\n"
+msgstr "ID inválida: %lx\n"
+
+#: fdisk/sfdisk.c:3014
+msgid "This disk is currently in use.\n"
+msgstr "Este disco está atualmente sendo usado.\n"
+
+#: fdisk/sfdisk.c:3033
+#, c-format
+msgid "Fatal error: cannot find %s\n"
+msgstr "Erro fatal: não foi possível encontrar %s\n"
+
+#: fdisk/sfdisk.c:3036
+#, c-format
+msgid "Warning: %s is not a block device\n"
+msgstr "Aviso: %s não é um dispositivo de blocos\n"
+
+#: fdisk/sfdisk.c:3042
+msgid "Checking that no-one is using this disk right now ...\n"
+msgstr "Verificando se ninguém está usando este disco no momento...\n"
+
+#: fdisk/sfdisk.c:3044
+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"
+
+#: fdisk/sfdisk.c:3048
+msgid "Use the --force flag to overrule all checks.\n"
+msgstr "Use a opção --force para cancelar todas as verificações.\n"
+
+#: fdisk/sfdisk.c:3052
+msgid "OK\n"
+msgstr "OK\n"
+
+#: fdisk/sfdisk.c:3061
+#, c-format
+msgid "Old situation:\n"
+msgstr "Situação antiga:\n"
+
+#: fdisk/sfdisk.c:3065
+#, c-format
+msgid "Partition %d does not exist, cannot change it\n"
+msgstr "A partição %d não existe; não é possível alterá-la.\n"
+
+#: fdisk/sfdisk.c:3073
+#, c-format
+msgid "New situation:\n"
+msgstr "Situação nova:\n"
+
+#: fdisk/sfdisk.c:3078
+msgid ""
+"I don't like these partitions - nothing changed.\n"
+"(If you really want this, use the --force option.)\n"
+msgstr ""
+"Eu não gosto destas partições: nada foi alterado\n"
+"(se você realmente quiser usá-las, use a opção --force).\n"
+
+#: fdisk/sfdisk.c:3081
+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"
+
+#: fdisk/sfdisk.c:3086
+#, c-format
+msgid "Are you satisfied with this? [ynq] "
+msgstr "Você está satisfeito com isto? [ynq] "
+
+#: fdisk/sfdisk.c:3088
+#, c-format
+msgid "Do you want to write this to disk? [ynq] "
+msgstr "Deseja gravar isto no disco? [ynq] "
+
+#: fdisk/sfdisk.c:3093
+#, c-format
+msgid ""
+"\n"
+"sfdisk: premature end of input\n"
+msgstr ""
+"\n"
+"sfdisk: final de entrada prematuro\n"
+
+#: fdisk/sfdisk.c:3095
+msgid "Quitting - nothing changed\n"
+msgstr "Saindo - nada foi alterado\n"
+
+#: fdisk/sfdisk.c:3101
+#, c-format
+msgid "Please answer one of y,n,q\n"
+msgstr "Responda y, n ou q\n"
+
+#: fdisk/sfdisk.c:3109
+#, c-format
+msgid ""
+"Successfully wrote the new partition table\n"
+"\n"
+msgstr ""
+"Nova tabela de partições gravada com sucesso\n"
+"\n"
+
+#: fdisk/sfdisk.c:3115
+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"
+
+#: fsck/fsck.c:327
+#, fuzzy, c-format
+msgid "WARNING: couldn't open %s: %s\n"
+msgstr "%s: não foi possível abrir %s: %s\n"
+
+#: fsck/fsck.c:337
+#, c-format
+msgid "WARNING: bad format on line %d of %s\n"
+msgstr ""
+
+#: fsck/fsck.c:353
+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 ""
+
+#: fsck/fsck.c:461
+#, fuzzy, c-format
+msgid "fsck: %s: not found\n"
+msgstr "umount: %s: não encontrado"
+
+#: fsck/fsck.c:577
+#, c-format
+msgid "%s: wait: No more child process?!?\n"
+msgstr ""
+
+#: fsck/fsck.c:599
+#, c-format
+msgid "Warning... %s for device %s exited with signal %d.\n"
+msgstr ""
+
+#: fsck/fsck.c:605
+#, c-format
+msgid "%s %s: status is %x, should never happen.\n"
+msgstr ""
+
+#: fsck/fsck.c:644
+#, c-format
+msgid "Finished with %s (exit status %d)\n"
+msgstr ""
+
+#: fsck/fsck.c:704
+#, c-format
+msgid "%s: Error %d while executing fsck.%s for %s\n"
+msgstr ""
+
+#: fsck/fsck.c:725
+msgid ""
+"Either all or none of the filesystem types passed to -t must be prefixed\n"
+"with 'no' or '!'.\n"
+msgstr ""
+
+#: fsck/fsck.c:744
+#, fuzzy
+msgid "Couldn't allocate memory for filesystem types\n"
+msgstr "mount: você precisa especificar o tipo do sistema de arquivos"
+
+#: fsck/fsck.c:867
+#, c-format
+msgid ""
+"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass "
+"number\n"
+msgstr ""
+
+#: fsck/fsck.c:894
+#, c-format
+msgid "fsck: cannot check %s: fsck.%s not found\n"
+msgstr ""
+
+#: fsck/fsck.c:950
+#, fuzzy
+msgid "Checking all file systems.\n"
+msgstr "Forçando verificação do sistema de arquivos em %s.\n"
+
+#: fsck/fsck.c:1041
+#, c-format
+msgid "--waiting-- (pass %d)\n"
+msgstr ""
+
+#: fsck/fsck.c:1061
+#, 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"
+
+#: fsck/fsck.c:1099
+#, fuzzy, c-format
+msgid "%s: too many devices\n"
+msgstr "%s: %s não é um dispositivo lp.\n"
+
+#: fsck/fsck.c:1110
+#, fuzzy, c-format
+msgid "Couldn't open %s: %s\n"
+msgstr "Não foi possível abrir %s: %s\n"
+
+#: fsck/fsck.c:1112
+#, fuzzy, c-format
+msgid "Is /proc mounted?\n"
+msgstr "%s desmontado\n"
+
+#: fsck/fsck.c:1121
+#, c-format
+msgid "Must be root to scan for matching filesystems: %s\n"
+msgstr ""
+
+#: fsck/fsck.c:1124
+#, fuzzy, c-format
+msgid "Couldn't find matching filesystem: %s\n"
+msgstr "Desmontando quaisquer sistemas de arquivos remanescentes..."
+
+#: fsck/fsck.c:1132 fsck/fsck.c:1218
+#, fuzzy, c-format
+msgid "%s: too many arguments\n"
+msgstr "%s: sinal desconhecido %s\n"
+
+#: fsck/fsck.c:1252
+#, fuzzy, c-format
+msgid "fsck from %s\n"
+msgstr "%s de %s\n"
+
+#: fsck/fsck.c:1264
+#, fuzzy, c-format
+msgid "%s: Unable to allocate memory for fsck_path\n"
+msgstr "Não foi possível alocar buffer para inodes"
+
+#: getopt/getopt.c:229
+msgid "Try `getopt --help' for more information.\n"
+msgstr "Tente `getopt --help' para maiores informações.\n"
+
+#: getopt/getopt.c:295
+msgid "empty long option after -l or --long argument"
+msgstr "opção longa vazia depois de argumento -l ou --long"
+
+#: getopt/getopt.c:315
+msgid "unknown shell after -s or --shell argument"
+msgstr "interpretador de comandos desconhecido após argumento -s ou --shell"
+
+#: getopt/getopt.c:320
+msgid "Usage: getopt optstring parameters\n"
+msgstr "Uso: getopt texto_opções parâmetros\n"
+
+#: getopt/getopt.c:321
+msgid "       getopt [options] [--] optstring parameters\n"
+msgstr "       getopt [opções] [--] texto_opções parâmetros\n"
+
+#: getopt/getopt.c:322
+msgid "       getopt [options] -o|--options optstring [options] [--]\n"
+msgstr "       getopt [opções] -o|--opções texto_opções [opções] [--]\n"
+
+#: getopt/getopt.c:323
+msgid "              parameters\n"
+msgstr "              parâmetros\n"
+
+#: getopt/getopt.c:324
+msgid ""
+"  -a, --alternative            Allow long options starting with single -\n"
+msgstr ""
+"  -a, --alternative            Permite opções longas iniciando com um único "
+"-\n"
+
+#: getopt/getopt.c:325
+msgid "  -h, --help                   This small usage guide\n"
+msgstr "  -h, --help                   Mostra este pequeno guia de uso\n"
+
+#: getopt/getopt.c:326
+msgid "  -l, --longoptions=longopts   Long options to be recognized\n"
+msgstr "  -l, --longoptions=ops_longas Opções longas a serem reconhecidas\n"
+
+#: getopt/getopt.c:327
+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"
+
+#: getopt/getopt.c:328
+msgid "  -o, --options=optstring      Short options to be recognized\n"
+msgstr "  -o, --options=texto_opções     Opções curtas a serem reconhecidas\n"
+
+#: getopt/getopt.c:329
+msgid "  -q, --quiet                  Disable error reporting by getopt(3)\n"
+msgstr ""
+"  -q, --quiet                  Desativa a exibição de erros por getopt(3)\n"
+
+#: getopt/getopt.c:330
+msgid "  -Q, --quiet-output           No normal output\n"
+msgstr "  -Q, --quiet-output           Sem saída normal\n"
+
+#: getopt/getopt.c:331
+msgid "  -s, --shell=shell            Set shell quoting conventions\n"
+msgstr ""
+"  -s, --shell=shell            Configura as convenções de aspas do "
+"interpretador de comandos\n"
+
+#: getopt/getopt.c:332
+msgid "  -T, --test                   Test for getopt(1) version\n"
+msgstr "  -T, --test                   Teste de versão de getopt(1)\n"
+
+#: getopt/getopt.c:333
+msgid "  -u, --unqote                 Do not quote the output\n"
+msgstr "  -u, --unqote                 Não quota a saída\n"
+
+#: getopt/getopt.c:334
+msgid "  -V, --version                Output version information\n"
+msgstr "  -V, --version                Mostra informações de versão\n"
+
+#: getopt/getopt.c:388 getopt/getopt.c:447
+msgid "missing optstring argument"
+msgstr "faltou o argumento texto_opções"
+
+#: getopt/getopt.c:435
+#, fuzzy, c-format
+msgid "getopt (enhanced) 1.1.4\n"
+msgstr "getopt (melhorado) 1.1.0)\n"
+
+#: getopt/getopt.c:441
+msgid "internal error, contact the author."
+msgstr "erro interno, entre em contato com o autor."
+
+#: hwclock/cmos.c:176
+#, c-format
+msgid "booted from MILO\n"
+msgstr "boot executado do MILO\n"
+
+#: hwclock/cmos.c:185
+#, c-format
+msgid "Ruffian BCD clock\n"
+msgstr "Relógio BCD Ruffian\n"
+
+#: hwclock/cmos.c:201
+#, c-format
+msgid "clockport adjusted to 0x%x\n"
+msgstr "porta do relógio ajustada para 0x%x\n"
+
+#: hwclock/cmos.c:213
+#, c-format
+msgid "funky TOY!\n"
+msgstr "funky TOY!\n"
+
+#: hwclock/cmos.c:244
+#, c-format
+msgid "%s: atomic %s failed for 1000 iterations!"
+msgstr "%s: %s atômico falhou por 1000 iterações!"
+
+#: hwclock/cmos.c:273
+#, c-format
+msgid "cmos_read(): write to control address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:276
+#, c-format
+msgid "cmos_read(): read data address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:307
+#, c-format
+msgid "cmos_write(): write to control address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:311
+#, c-format
+msgid "cmos_write(): write to data address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:574
+#, c-format
+msgid "Cannot open /dev/port: %s"
+msgstr "Não é possível abrir /dev/port: %s"
+
+#: hwclock/cmos.c:581
+#, c-format
+msgid "I failed to get permission because I didn't try.\n"
+msgstr "Não consegui obter permissão porque não tentei.\n"
+
+#: hwclock/cmos.c:584
+#, c-format
+msgid "%s is unable to get I/O port access:  the iopl(3) call failed.\n"
+msgstr ""
+"%s é incapaz de obter acesso à porta de E/S: a chamada iopl(3) falhou.\n"
+
+#: hwclock/cmos.c:587
+#, c-format
+msgid "Probably you need root privileges.\n"
+msgstr "Provavelmente são necessários privilégios de root.\n"
+
+#: hwclock/hwclock.c:231
+#, 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"
+
+#: hwclock/hwclock.c:232 hwclock/hwclock.c:327
+msgid "UTC"
+msgstr "UTC"
+
+#: hwclock/hwclock.c:232 hwclock/hwclock.c:326
+msgid "local"
+msgstr "local"
+
+#: hwclock/hwclock.c:312
+#, c-format
+msgid "%s: Warning: unrecognized third line in adjtime file\n"
+msgstr "%s: Aviso: a terceira linha do arquivo adjtime não foi reconhecida\n"
+
+#: hwclock/hwclock.c:314
+#, c-format
+msgid "(Expected: `UTC' or `LOCAL' or nothing.)\n"
+msgstr "(Esperado: `UTC', `LOCAL'  ou nada.)\n"
+
+#: hwclock/hwclock.c:321
+#, 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"
+
+#: hwclock/hwclock.c:323
+#, fuzzy, c-format
+msgid "Last calibration done at %ld seconds after 1969\n"
+msgstr "Última calibração feita %d segundos após 1969\n"
+
+#: hwclock/hwclock.c:325
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr "O relógio de hardware está na hora %s\n"
+
+#: hwclock/hwclock.c:327
+msgid "unknown"
+msgstr "desconhecida"
+
+#: hwclock/hwclock.c:351
+#, c-format
+msgid "Waiting for clock tick...\n"
+msgstr "Aguardando tique do relógio...\n"
+
+#: hwclock/hwclock.c:357
+#, c-format
+msgid "...synchronization failed\n"
+msgstr ""
+
+#: hwclock/hwclock.c:359
+#, c-format
+msgid "...got clock tick\n"
+msgstr "... tique do relógio obtido\n"
+
+#: hwclock/hwclock.c:413
+#, 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"
+
+#: hwclock/hwclock.c:421
+#, 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"
+
+#: hwclock/hwclock.c:451
+#, 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"
+
+#: hwclock/hwclock.c:480
+#, 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"
+
+#: hwclock/hwclock.c:486
+#, c-format
+msgid "Clock not changed - testing only.\n"
+msgstr "Relógio não alterado - apenas testando.\n"
+
+#: hwclock/hwclock.c:536
+#, 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"
+
+#: hwclock/hwclock.c:572
+#, c-format
+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).\n"
+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"
+
+#: hwclock/hwclock.c:582
+#, c-format
+msgid "%s  %.6f seconds\n"
+msgstr "%s  %.6f segundos\n"
+
+#: hwclock/hwclock.c:616
+#, c-format
+msgid "No --date option specified.\n"
+msgstr "Não. Opção --date especificada\n"
+
+#: hwclock/hwclock.c:622
+#, fuzzy, c-format
+msgid "--date argument too long\n"
+msgstr "fsname nome muito longo"
+
+#: hwclock/hwclock.c:629
+#, c-format
+msgid ""
+"The value of the --date option is not a valid date.\n"
+"In particular, it contains quotation marks.\n"
+msgstr ""
+"O valor da opção --date não é uma data válida.\n"
+"Especificamente, ele contém aspas.\n"
+
+#: hwclock/hwclock.c:637
+#, c-format
+msgid "Issuing date command: %s\n"
+msgstr "Emitindo comando date: %s\n"
+
+#: hwclock/hwclock.c:641
+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"
+
+#: hwclock/hwclock.c:649
+#, c-format
+msgid "response from date command = %s\n"
+msgstr "resposta do comando date = %s\n"
+
+#: hwclock/hwclock.c:651
+#, c-format
+msgid ""
+"The date command issued by %s returned unexpected results.\n"
+"The command was:\n"
+"  %s\n"
+"The response was:\n"
+"  %s\n"
+msgstr ""
+"O comando date emitido por %s retornou resultados inesperados.\n"
+"O comando foi:\n"
+"  %s\n"
+"A resposta foi:\n"
+"  %s\n"
+
+#: hwclock/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"
+
+#: hwclock/hwclock.c:674
+#, 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"
+
+#: hwclock/hwclock.c:706
+#, c-format
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot set the "
+"System Time from it.\n"
+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"
+
+#: hwclock/hwclock.c:728 hwclock/hwclock.c:805
+#, c-format
+msgid "Calling settimeofday:\n"
+msgstr "Chamando settimeofday:\n"
+
+#: hwclock/hwclock.c:729 hwclock/hwclock.c:807
+#, c-format
+msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+
+#: hwclock/hwclock.c:731 hwclock/hwclock.c:809
+#, c-format
+msgid "\ttz.tz_minuteswest = %d\n"
+msgstr "\ttz.tz_minuteswest = %d\n"
+
+#: hwclock/hwclock.c:734 hwclock/hwclock.c:812
+#, 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"
+
+#: hwclock/hwclock.c:743 hwclock/hwclock.c:821
+#, c-format
+msgid "Must be superuser to set system clock.\n"
+msgstr "É necessário ser superusuário para ajustar o relógio do sistema.\n"
+
+#: hwclock/hwclock.c:746 hwclock/hwclock.c:824
+msgid "settimeofday() failed"
+msgstr "settimeofday() falhou"
+
+#: hwclock/hwclock.c:782
+#, c-format
+msgid "Current system time: %ld = %s\n"
+msgstr ""
+
+#: hwclock/hwclock.c:806
+#, c-format
+msgid "\tUTC: %s\n"
+msgstr ""
+
+#: hwclock/hwclock.c:853
+#, 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"
+
+#: hwclock/hwclock.c:858
+#, 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"
+
+#: hwclock/hwclock.c:864
+#, 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"
+
+#: hwclock/hwclock.c:912
+#, 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"
+
+#: hwclock/hwclock.c:962
+#, c-format
+msgid "Time since last adjustment is %d seconds\n"
+msgstr "O tempo desde o último ajuste é de %d segundos\n"
+
+#: hwclock/hwclock.c:964
+#, 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"
+
+#: hwclock/hwclock.c:993
+#, 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"
+
+#: hwclock/hwclock.c:994
+#, c-format
+msgid ""
+"Would have written the following to %s:\n"
+"%s"
+msgstr ""
+"Teria gravado o seguinte em %s:\n"
+"%s"
+
+#: hwclock/hwclock.c:1002
+#, c-format
+msgid ""
+"Could not open file with the clock adjustment parameters in it (%s) for "
+"writing"
+msgstr ""
+
+#: hwclock/hwclock.c:1007 hwclock/hwclock.c:1012
+#, c-format
+msgid "Could not update file with the clock adjustment parameters (%s) in it"
+msgstr ""
+
+#: hwclock/hwclock.c:1018
+#, c-format
+msgid "Drift adjustment parameters not updated.\n"
+msgstr "Parâmetros de ajuste de variação não atualizados.\n"
+
+#: hwclock/hwclock.c:1059
+#, c-format
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot adjust it.\n"
+msgstr ""
+"O relógio de hardware não contém uma hora válida, portanto não é possível "
+"ajustá-lo.\n"
+
+#: hwclock/hwclock.c:1067
+#, 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"
+
+#: hwclock/hwclock.c:1090
+#, 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"
+
+#: hwclock/hwclock.c:1116
+#, c-format
+msgid "Using %s.\n"
+msgstr "Usando %s.\n"
+
+#: hwclock/hwclock.c:1118
+#, c-format
+msgid "No usable clock interface found.\n"
+msgstr "Não foi encontrada uma interface de relógio utilizável.\n"
+
+#: hwclock/hwclock.c:1222 hwclock/hwclock.c:1228
+#, c-format
+msgid "Unable to set system clock.\n"
+msgstr "Não é possível ajustar o relógio do sistema.\n"
+
+#: hwclock/hwclock.c:1258
+#, c-format
+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.\n"
+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"
+
+#: hwclock/hwclock.c:1267
+#, c-format
+msgid "Unable to get the epoch value from the kernel.\n"
+msgstr "Não foi possível obter o valor de epoch do kernel.\n"
+
+#: hwclock/hwclock.c:1269
+#, c-format
+msgid "Kernel is assuming an epoch value of %lu\n"
+msgstr "O kernel está pressupondo um valor de epoch de %lu\n"
+
+#: hwclock/hwclock.c:1272
+#, c-format
+msgid ""
+"To set the epoch value, you must use the 'epoch' option to tell to what "
+"value to set it.\n"
+msgstr ""
+"Para configurar o valor de epoch, é necessário usar a opção 'epoch' para "
+"informar para que valor configurá-lo.\n"
+
+#: hwclock/hwclock.c:1275
+#, c-format
+msgid "Not setting the epoch to %d - testing only.\n"
+msgstr "Epoch não configurado para %d; apenas testando.\n"
+
+#: hwclock/hwclock.c:1278
+#, 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"
+
+#: hwclock/hwclock.c:1291 misc-utils/cal.c:345 misc-utils/kill.c:189
+#, c-format
+msgid "%s from %s\n"
+msgstr "%s de %s\n"
+
+#: hwclock/hwclock.c:1312
+#, fuzzy, c-format
+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"
+"  -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"
+
+#: hwclock/hwclock.c:1347
+#, fuzzy, c-format
+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"
+
+#: hwclock/hwclock.c:1434
+#, fuzzy, c-format
+msgid "%s: Unable to connect to audit system\n"
+msgstr "Não é possível ajustar o relógio do sistema.\n"
+
+#: hwclock/hwclock.c:1552
+#, 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"
+
+#: hwclock/hwclock.c:1559
+#, fuzzy, c-format
+msgid ""
+"You have specified multiple functions.\n"
+"You can only perform one function at a time.\n"
+msgstr ""
+"Você especificou múltiplas opções de função.\n"
+"Você só pode executar uma função por vez.\n"
+
+#: hwclock/hwclock.c:1566
+#, c-format
+msgid ""
+"%s: The --utc and --localtime options are mutually exclusive.  You specified "
+"both.\n"
+msgstr ""
+"%s: As opções --utc e --localtime são mutuamente exclusivas. Você "
+"especificou ambas.\n"
+
+#: hwclock/hwclock.c:1573
+#, fuzzy, c-format
+msgid ""
+"%s: The --adjust and --noadjfile options are mutually exclusive.  You "
+"specified both.\n"
+msgstr ""
+"%s: As opções --utc e --localtime são mutuamente exclusivas. Você "
+"especificou ambas.\n"
+
+#: hwclock/hwclock.c:1580
+#, fuzzy, c-format
+msgid ""
+"%s: The --adjfile and --noadjfile options are mutually exclusive.  You "
+"specified both.\n"
+msgstr ""
+"%s: As opções --utc e --localtime são mutuamente exclusivas. Você "
+"especificou ambas.\n"
+
+#: hwclock/hwclock.c:1589
+#, c-format
+msgid "%s: With --noadjfile, you must specify either --utc or --localtime\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1603
+#, c-format
+msgid "No usable set-to time.  Cannot set clock.\n"
+msgstr ""
+"Não há um horário para ajuste utilizável. Não é possível ajustar o relógio.\n"
+
+#: hwclock/hwclock.c:1620
+#, c-format
+msgid "Sorry, only the superuser can change the Hardware Clock.\n"
+msgstr "Somente o superusuário pode alterar o relógio de hardware.\n"
+
+#: hwclock/hwclock.c:1625
+#, c-format
+msgid "Sorry, only the superuser can change the System Clock.\n"
+msgstr "Somente o superusuário pode alterar o relógio de hardware.\n"
+
+#: hwclock/hwclock.c:1630
+#, c-format
+msgid ""
+"Sorry, only the superuser can change the Hardware Clock epoch in the "
+"kernel.\n"
+msgstr ""
+"Somente o superusuário pode alterar o epoch do relógio de hardware no "
+"kernel.\n"
+
+#: hwclock/hwclock.c:1651
+#, c-format
+msgid "Cannot access the Hardware Clock via any known method.\n"
+msgstr ""
+"Não é possível acessar o Relógio de Hardware por nenhum método conhecido.\n"
+
+#: hwclock/hwclock.c:1655
+#, c-format
+msgid ""
+"Use the --debug option to see the details of our search for an access "
+"method.\n"
+msgstr ""
+"Use a opção --debug para consultar os detalhes de nossa busca por um método "
+"de acesso.\n"
+
+#: hwclock/kd.c:53
+#, 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"
+
+#: hwclock/kd.c:56
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr "ioctl KDGHWCLK para ler a hora falhou"
+
+#: hwclock/kd.c:77 hwclock/rtc.c:221
+#, c-format
+msgid "Timed out waiting for time change.\n"
+msgstr "Tempo esgotado enquanto aguardava a hora mudar.\n"
+
+#: hwclock/kd.c:81
+msgid "KDGHWCLK ioctl to read time failed in loop"
+msgstr "ioctl KDGHWCLK para ler a hora falhou no laço"
+
+#: hwclock/kd.c:103
+#, fuzzy, c-format
+msgid "ioctl() failed to read time from %s"
+msgstr "ioctl() não conseguiu ler a hora de /dev/tty1"
+
+#: hwclock/kd.c:139
+msgid "ioctl KDSHWCLK failed"
+msgstr "ioctl KDSHWCLK falhou"
+
+#: hwclock/kd.c:175
+#, fuzzy
+msgid "Can't open /dev/tty1 or /dev/vc/1"
+msgstr "Não foi possível abrir /dev/tty1"
+
+#: hwclock/kd.c:179
+msgid "KDGHWCLK ioctl failed"
+msgstr "ioctl KDGHWCLK falhou"
+
+#: hwclock/rtc.c:147 hwclock/rtc.c:241
+#, c-format
+msgid "open() of %s failed"
+msgstr "open() de %s falhou"
+
+#: hwclock/rtc.c:181
+#, c-format
+msgid "ioctl() to %s to read the time failed.\n"
+msgstr "ioctl() para %s para ler a hora falhou.\n"
+
+#: hwclock/rtc.c:203
+#, 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"
+
+#: hwclock/rtc.c:259
+#, c-format
+msgid "%s does not have interrupt functions. "
+msgstr "%s não possui funções de interrupção. "
+
+#: hwclock/rtc.c:270
+#, c-format
+msgid "read() to %s to wait for clock tick failed"
+msgstr "read() para %s para aguardar tique do relógio falhou"
+
+#: hwclock/rtc.c:288
+#, fuzzy, c-format
+msgid "select() to %s to wait for clock tick failed"
+msgstr "read() para %s para aguardar tique do relógio falhou"
+
+#: hwclock/rtc.c:291
+#, fuzzy, c-format
+msgid "select() to %s to wait for clock tick timed out\n"
+msgstr "read() para %s para aguardar tique do relógio falhou"
+
+#: hwclock/rtc.c:300
+#, c-format
+msgid "ioctl() to %s to turn off update interrupts failed"
+msgstr "ioctl() para %s para desligar interrupções de atualização falhou"
+
+#: hwclock/rtc.c:303
+#, 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"
+
+#: hwclock/rtc.c:360
+#, c-format
+msgid "ioctl() to %s to set the time failed.\n"
+msgstr "ioctl() para %s para ajustar a hora falhou.\n"
+
+#: hwclock/rtc.c:366
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr "ioctl(%s) teve êxito.\n"
+
+#: hwclock/rtc.c:392
+#, c-format
+msgid "Open of %s failed"
+msgstr "A abertura de %s falhou"
+
+#: hwclock/rtc.c:410 hwclock/rtc.c:454
+#, 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.\n"
+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"
+
+#: hwclock/rtc.c:415 hwclock/rtc.c:459
+#, c-format
+msgid "Unable to open %s"
+msgstr "Não foi possível abrir %s"
+
+#: hwclock/rtc.c:422
+#, c-format
+msgid "ioctl(RTC_EPOCH_READ) to %s failed"
+msgstr "ioctl(RTC_EPOCH_READ) para %s falhou"
+
+#: hwclock/rtc.c:427
+#, 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"
+
+#: hwclock/rtc.c:446
+#, c-format
+msgid "The epoch value may not be less than 1900.  You requested %ld\n"
+msgstr "O valor de epoch não pode ser menor que 1900.  Você solicitou %ld.\n"
+
+#: hwclock/rtc.c:464
+#, 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"
+
+#: hwclock/rtc.c:469
+#, c-format
+msgid ""
+"The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl.\n"
+msgstr ""
+"O driver de dispositivo do kernel para %s não possui o ioctl RTC_EPOCH_SET.\n"
+
+#: hwclock/rtc.c:472
+#, c-format
+msgid "ioctl(RTC_EPOCH_SET) to %s failed"
+msgstr "ioctl(RTC_EPOCH_SET) para %s falhou"
+
+#: login-utils/agetty.c:361
+#, c-format
+msgid "%s: can't exec %s: %m"
+msgstr "%s: cant exec %s: %m"
+
+#: login-utils/agetty.c:384
+msgid "can't malloc initstring"
+msgstr "can't malloc initstring"
+
+#: login-utils/agetty.c:449
+#, c-format
+msgid "bad timeout value: %s"
+msgstr "bad timeout value: %s"
+
+#: login-utils/agetty.c:526
+#, c-format
+msgid "bad speed: %s"
+msgstr "velocidade inválida: %s"
+
+#: login-utils/agetty.c:528
+msgid "too many alternate speeds"
+msgstr "número excessivo de velocidades alternativas"
+
+#: login-utils/agetty.c:630
+#, c-format
+msgid "/dev: chdir() failed: %m"
+msgstr "/dev: chdir() falhou: %m"
+
+#: login-utils/agetty.c:634
+#, c-format
+msgid "/dev/%s: not a character device"
+msgstr "/dev/%s não é um dispositivo de caracteres"
+
+#: login-utils/agetty.c:643
+#, 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"
+
+#: login-utils/agetty.c:653
+#, c-format
+msgid "%s: not open for read/write"
+msgstr "%s: não está aberto para leitura/gravação"
+
+#: login-utils/agetty.c:659
+#, c-format
+msgid "%s: dup problem: %m"
+msgstr "%s: problema de dup: %m"
+
+#: login-utils/agetty.c:946
+#, c-format
+msgid "user"
+msgstr "usuário"
+
+#: login-utils/agetty.c:946
+#, c-format
+msgid "users"
+msgstr "usuários"
+
+#: login-utils/agetty.c:1031
+#, c-format
+msgid "%s: read: %m"
+msgstr "%s: leitura: %m"
+
+#: login-utils/agetty.c:1078
+#, c-format
+msgid "%s: input overrun"
+msgstr "%s: entrada excedida"
+
+#: login-utils/agetty.c:1207
+#, fuzzy, c-format
+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 ""
+"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"
+
+#: login-utils/checktty.c:91 login-utils/checktty.c:112
+#, c-format
+msgid "login: memory low, login may fail\n"
+msgstr "login: pouca memória; o login pode falhar\n"
+
+#: login-utils/checktty.c:92
+msgid "can't malloc for ttyclass"
+msgstr "não foi possível malloc para ttyclass"
+
+#: login-utils/checktty.c:113
+msgid "can't malloc for grplist"
+msgstr "não foi possível malloc para grplist"
+
+#: login-utils/checktty.c:554
+#, c-format
+msgid "Login on %s from %s denied by default.\n"
+msgstr "Login em %s de %s negado como padrão.\n"
+
+#: login-utils/checktty.c:565
+#, c-format
+msgid "Login on %s from %s denied.\n"
+msgstr "Login em %s de %s negado.\n"
+
+#: login-utils/chfn.c:133 login-utils/chsh.c:119
+#, c-format
+msgid "%s: you (user %d) don't exist.\n"
+msgstr "%s: você (usuário %d) não existe.\n"
+
+#: login-utils/chfn.c:140 login-utils/chsh.c:126
+#, c-format
+msgid "%s: user \"%s\" does not exist.\n"
+msgstr "%s: usuário \"%s\" não existe.\n"
+
+#: login-utils/chfn.c:145 login-utils/chsh.c:131
+#, c-format
+msgid "%s: can only change local entries; use yp%s instead.\n"
+msgstr "%s: só pode alterar entradas locais; use yp%s, em vez disso.\n"
+
+#: login-utils/chfn.c:156 login-utils/chsh.c:142
+msgid "Unknown user context"
+msgstr ""
+
+#: login-utils/chfn.c:157
+#, c-format
+msgid "%s: %s is not authorized to change the finger info of %s\n"
+msgstr ""
+
+#: login-utils/chfn.c:164 login-utils/chsh.c:150
+#, c-format
+msgid "%s: Can't set default context for /etc/passwd"
+msgstr ""
+
+#: login-utils/chfn.c:178
+#, c-format
+msgid "Changing finger information for %s.\n"
+msgstr "Alterando informações de finger de %s.\n"
+
+#: login-utils/chfn.c:189 login-utils/chsh.c:188 login-utils/login.c:572
+#, fuzzy, c-format
+msgid "%s: PAM failure, aborting: %s\n"
+msgstr "login: falha de PAM; abortando: %s\n"
+
+#: login-utils/chfn.c:212 login-utils/chsh.c:211 login-utils/login.c:823
+#: login-utils/newgrp.c:85 login-utils/simpleinit.c:340 mount/lomount.c:744
+#: mount/lomount.c:747
+msgid "Password: "
+msgstr "Senha:"
+
+#: login-utils/chfn.c:215 login-utils/chsh.c:214
+msgid "Incorrect password."
+msgstr "Senha incorreta."
+
+#: login-utils/chfn.c:226
+#, c-format
+msgid "Finger information not changed.\n"
+msgstr "Informações de finger não alteradas.\n"
+
+#: login-utils/chfn.c:328
+#, c-format
+msgid "Usage: %s [ -f full-name ] [ -o office ] "
+msgstr "Uso: %s [ -f nome_completo ] [ -o local_de_trabalho ] "
+
+#: login-utils/chfn.c:329
+#, c-format
+msgid ""
+"[ -p office-phone ]\n"
+"\t[ -h home-phone ] "
+msgstr ""
+"[ -p telefone_comercial ]\n"
+"\t[ -h telefone_residencial ] "
+
+#: login-utils/chfn.c:330
+#, c-format
+msgid "[ --help ] [ --version ]\n"
+msgstr "[ --help ] [ --version ]\n"
+
+#: login-utils/chfn.c:378
+msgid "Office"
+msgstr ""
+
+#: login-utils/chfn.c:379
+msgid "Office Phone"
+msgstr ""
+
+#: login-utils/chfn.c:380
+msgid "Home Phone"
+msgstr ""
+
+#: login-utils/chfn.c:401 login-utils/chsh.c:321
+#, c-format
+msgid ""
+"\n"
+"Aborted.\n"
+msgstr ""
+"\n"
+"Abortado.\n"
+
+#: login-utils/chfn.c:434
+#, c-format
+msgid "field is too long.\n"
+msgstr "campo longo demais.\n"
+
+#: login-utils/chfn.c:442
+#, c-format
+msgid "'%c' is not allowed.\n"
+msgstr "'%c' não é permitido.\n"
+
+#: login-utils/chfn.c:447
+#, c-format
+msgid "Control characters are not allowed.\n"
+msgstr "Caracteres de controle não são permitidos.\n"
+
+#: login-utils/chfn.c:512
+#, 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:515
+#, c-format
+msgid "Finger information changed.\n"
+msgstr "As informações de finger foram alteradas.\n"
+
+#: login-utils/chsh.c:143
+#, fuzzy, c-format
+msgid "%s: %s is not authorized to change the shell of %s\n"
+msgstr "%s: \"%s\" não está listado em /etc/shells\n"
+
+#: login-utils/chsh.c:164
+#, c-format
+msgid ""
+"%s: Running UID doesn't match UID of user we're altering, shell change "
+"denied\n"
+msgstr ""
+
+#: login-utils/chsh.c:170
+#, c-format
+msgid "%s: Your shell is not in /etc/shells, shell change denied\n"
+msgstr ""
+"%s: Seu interpretador de comandos não está em /etc/shells; mudança de "
+"interpretador de comandos negada.\n"
+
+#: login-utils/chsh.c:177
+#, c-format
+msgid "Changing shell for %s.\n"
+msgstr "Alterando o interpretador de comandos para o usuário %s.\n"
+
+#: login-utils/chsh.c:222
+msgid "New shell"
+msgstr "Novo interpretador de comandos"
+
+#: login-utils/chsh.c:229
+#, c-format
+msgid "Shell not changed.\n"
+msgstr "O interpretador de comandos NÃO foi alterado.\n"
+
+#: login-utils/chsh.c:235
+#, c-format
+msgid "Shell *NOT* changed.  Try again later.\n"
+msgstr ""
+"O interpretador de comandos *NÃO* foi alterado. Tente novamente mais tarde.\n"
+
+#: login-utils/chsh.c:238
+#, c-format
+msgid "Shell changed.\n"
+msgstr "Interpretador de comandos alterado.\n"
+
+#: login-utils/chsh.c:303
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [ -s shell ] [ --list-shells ] [ --help ] [ --version ]\n"
+"       [ username ]\n"
+msgstr "[ --list-shells ] [ --help ] [ --version ]\n"
+
+#: login-utils/chsh.c:349
+#, c-format
+msgid "%s: shell must be a full path name.\n"
+msgstr ""
+"%s: o interpretador de comandos precisa ser um nome de caminho completo.\n"
+
+#: login-utils/chsh.c:353
+#, c-format
+msgid "%s: \"%s\" does not exist.\n"
+msgstr "%s: \"%s\" não existe.\n"
+
+#: login-utils/chsh.c:357
+#, c-format
+msgid "%s: \"%s\" is not executable.\n"
+msgstr "%s: \"%s\" não é executável.\n"
+
+#: login-utils/chsh.c:364
+#, c-format
+msgid "%s: '%c' is not allowed.\n"
+msgstr "%s: '%c' não é permitido.\n"
+
+#: login-utils/chsh.c:368
+#, c-format
+msgid "%s: Control characters are not allowed.\n"
+msgstr "%s: caracteres de controle não são permitidos.\n"
+
+#: login-utils/chsh.c:375 login-utils/chsh.c:385
+#, c-format
+msgid "Warning: \"%s\" is not listed in /etc/shells.\n"
+msgstr "Aviso:  \"%s\" não está listado em /etc/shells.\n"
+
+#: login-utils/chsh.c:377
+#, c-format
+msgid "%s: \"%s\" is not listed in /etc/shells.\n"
+msgstr "%s: \"%s\" não está listado em /etc/shells\n"
+
+#: login-utils/chsh.c:379
+#, fuzzy, c-format
+msgid "%s: Use -l option to see list.\n"
+msgstr "%s: use a opção -l para ver a lista\n"
+
+#: login-utils/chsh.c:386
+#, c-format
+msgid "Use %s -l to see list.\n"
+msgstr "Use %s -l para ver a lista.\n"
+
+#: login-utils/chsh.c:406
+#, c-format
+msgid "No known shells.\n"
+msgstr "Nenhum interpretador de comandos conhecido.\n"
+
+#: login-utils/islocal.c:87
+#, fuzzy, c-format
+msgid "Failed to open %s for reading, exiting."
+msgstr "não foi possível abrir %s para leitura"
+
+#: login-utils/last.c:148
+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:284
+msgid "  still logged in"
+msgstr "  ainda conectado"
+
+#: login-utils/last.c:306
+#, c-format
+msgid ""
+"\n"
+"wtmp begins %s"
+msgstr ""
+"\n"
+"wtmp inicia %s"
+
+#: login-utils/last.c:362 login-utils/last.c:380 login-utils/last.c:431
+msgid "last: malloc failure.\n"
+msgstr "last: falha de malloc.\n"
+
+#: login-utils/last.c:407
+msgid "last: gethostname"
+msgstr "last: gethostname"
+
+#: login-utils/last.c:456
+#, c-format
+msgid ""
+"\n"
+"interrupted %10.10s %5.5s \n"
+msgstr ""
+"\n"
+"interrompido %10.10s %5.5s \n"
+
+#: login-utils/login.c:197
+#, fuzzy, c-format
+msgid "FATAL: can't reopen tty: %s"
+msgstr "mount: não foi possível abrir %s: %s"
+
+#: login-utils/login.c:229
+msgid "FATAL: bad tty"
+msgstr ""
+
+#: login-utils/login.c:436
+#, 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:479
+#, c-format
+msgid "usage: login [-fp] [username]\n"
+msgstr "Uso: login [-fp] [nome_usuário]\n"
+
+#: login-utils/login.c:574
+#, c-format
+msgid "Couldn't initialize PAM: %s"
+msgstr "Não foi possível inicializar o PAM: %s"
+
+#: login-utils/login.c:591
+msgid "login: "
+msgstr "login: "
+
+#: login-utils/login.c:635
+#, c-format
+msgid "FAILED LOGIN %d FROM %s FOR %s, %s"
+msgstr "LOGIN FALHOU: %d A PARTIR DE %s PARA %s, %s"
+
+#: login-utils/login.c:640
+#, c-format
+msgid ""
+"Login incorrect\n"
+"\n"
+msgstr ""
+"Login incorreto\n"
+"\n"
+
+#: login-utils/login.c:649
+#, c-format
+msgid "TOO MANY LOGIN TRIES (%d) 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:653
+#, 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:658
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+"\n"
+"Login incorreto\n"
+
+#: login-utils/login.c:686 login-utils/login.c:693 login-utils/login.c:727
+#, c-format
+msgid ""
+"\n"
+"Session setup problem, abort.\n"
+msgstr ""
+
+#: login-utils/login.c:687
+#, c-format
+msgid "NULL user name in %s:%d. Abort."
+msgstr ""
+
+#: login-utils/login.c:694
+#, c-format
+msgid "Invalid user name \"%s\" in %s:%d. Abort."
+msgstr ""
+
+#: login-utils/login.c:713
+#, fuzzy, c-format
+msgid "login: Out of memory\n"
+msgstr "%s: memória insuficiente!\n"
+
+#: login-utils/login.c:757
+msgid "Illegal username"
+msgstr "Nome de usuário inválido"
+
+#: login-utils/login.c:800
+#, c-format
+msgid "%s login refused on this terminal.\n"
+msgstr "%s: login recusado neste terminal.\n"
+
+#: login-utils/login.c:805
+#, c-format
+msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
+msgstr "%s: LOGIN RECUSADO A PARTIR DE %s NO TTY %s"
+
+#: login-utils/login.c:809
+#, c-format
+msgid "LOGIN %s REFUSED ON TTY %s"
+msgstr "%s: LOGIN RECUSADO NO TTY %s"
+
+#: login-utils/login.c:863
+#, c-format
+msgid "Login incorrect\n"
+msgstr "Login incorreto\n"
+
+#: login-utils/login.c:1088
+#, c-format
+msgid "DIALUP AT %s BY %s"
+msgstr "DISCAGEM EM %s POR %s"
+
+#: login-utils/login.c:1095
+#, c-format
+msgid "ROOT LOGIN ON %s FROM %s"
+msgstr "LOGIN COMO ROOT EM %s A PARTIR DE %s"
+
+#: login-utils/login.c:1098
+#, c-format
+msgid "ROOT LOGIN ON %s"
+msgstr "LOGIN COMO ROOT EM %s"
+
+#: login-utils/login.c:1101
+#, c-format
+msgid "LOGIN ON %s BY %s FROM %s"
+msgstr "LOGIN EM %s POR %s A PARTIR DE %s"
+
+#: login-utils/login.c:1104
+#, c-format
+msgid "LOGIN ON %s BY %s"
+msgstr "LOGIN EM %s POR %s"
+
+#: login-utils/login.c:1125
+#, fuzzy, c-format
+msgid "You have new mail.\n"
+msgstr "Você tem mensagens %s na caixa de correio.\n"
+
+#: login-utils/login.c:1127
+#, fuzzy, c-format
+msgid "You have mail.\n"
+msgstr "Você tem mensagens %s na caixa de correio.\n"
+
+#: login-utils/login.c:1171
+#, c-format
+msgid "login: failure forking: %s"
+msgstr "login: falha em fork: %s"
+
+#: login-utils/login.c:1218
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr ""
+
+#: login-utils/login.c:1224
+msgid "setuid() failed"
+msgstr "setuid() falhou"
+
+#: login-utils/login.c:1230
+#, c-format
+msgid "No directory %s!\n"
+msgstr "O diretório %s não existe!\n"
+
+#: login-utils/login.c:1234
+#, c-format
+msgid "Logging in with home = \"/\".\n"
+msgstr "Fazendo login com home = \"/\".\n"
+
+#: login-utils/login.c:1242
+#, c-format
+msgid "login: no memory for shell script.\n"
+msgstr "login: não há memória para script de interpretador de comandos.\n"
+
+#: login-utils/login.c:1269
+#, c-format
+msgid "login: couldn't exec shell script: %s.\n"
+msgstr ""
+"login: não foi possível executar o script do interpretador de comandos: %s.\n"
+
+#: login-utils/login.c:1272
+#, c-format
+msgid "login: no shell: %s.\n"
+msgstr "login: não existe interpretador de comandos: %s.\n"
+
+#: login-utils/login.c:1287
+#, c-format
+msgid ""
+"\n"
+"%s login: "
+msgstr ""
+"\n"
+"%s usuário: "
+
+#: login-utils/login.c:1298
+#, c-format
+msgid "login name much too long.\n"
+msgstr "nome de login longo demais.\n"
+
+#: login-utils/login.c:1299
+msgid "NAME too long"
+msgstr "NOME longo demais"
+
+#: login-utils/login.c:1306
+#, c-format
+msgid "login names may not start with '-'.\n"
+msgstr "nomes de login não podem iniciar com '-'.\n"
+
+#: login-utils/login.c:1316
+#, c-format
+msgid "too many bare linefeeds.\n"
+msgstr "Número excessivo de saltos de linha.\n"
+
+#: login-utils/login.c:1317
+msgid "EXCESSIVE linefeeds"
+msgstr "Saltos de linha EXCESSIVOS"
+
+#: login-utils/login.c:1349
+#, c-format
+msgid "Login timed out after %d seconds\n"
+msgstr "Tempo de login esgotado após %d segundos\n"
+
+#: login-utils/login.c:1437
+#, c-format
+msgid "Last login: %.*s "
+msgstr "Último login: %.*s "
+
+#: login-utils/login.c:1441
+#, c-format
+msgid "from %.*s\n"
+msgstr "a partir de %.*s\n"
+
+#: login-utils/login.c:1444
+#, c-format
+msgid "on %.*s\n"
+msgstr "em: %.*s\n"
+
+#: login-utils/login.c:1470
+#, c-format
+msgid "LOGIN FAILURE FROM %s, %s"
+msgstr "FALHA DE LOGIN A PARTIR DE %s, %s"
+
+#: login-utils/login.c:1473
+#, c-format
+msgid "LOGIN FAILURE ON %s, %s"
+msgstr "FALHA DE LOGIN EM %s, %s"
+
+#: login-utils/login.c:1477
+#, c-format
+msgid "%d LOGIN FAILURES FROM %s, %s"
+msgstr "%d FALHAS DE LOGIN A PARTIR DE %s, %s"
+
+#: login-utils/login.c:1480
+#, c-format
+msgid "%d LOGIN FAILURES ON %s, %s"
+msgstr "%d FALHAS DE LOGIN EM %s, %s"
+
+#: login-utils/mesg.c:89
+#, c-format
+msgid "is y\n"
+msgstr "é y\n"
+
+#: login-utils/mesg.c:92
+#, c-format
+msgid "is n\n"
+msgstr "é n\n"
+
+#: login-utils/mesg.c:112
+#, c-format
+msgid "usage: mesg [y | n]\n"
+msgstr "Uso: mesg [y | n]\n"
+
+#: login-utils/newgrp.c:105
+msgid "newgrp: Who are you?"
+msgstr "newgrp: Quem é você?"
+
+#: login-utils/newgrp.c:113 login-utils/newgrp.c:127
+msgid "newgrp: setgid"
+msgstr "newgrp: setgid"
+
+#: login-utils/newgrp.c:120 login-utils/newgrp.c:122
+msgid "newgrp: No such group."
+msgstr "newgrp: grupo inexistente."
+
+#: login-utils/newgrp.c:131
+msgid "newgrp: Permission denied"
+msgstr "newgrp: permissão negada"
+
+#: login-utils/newgrp.c:138
+msgid "newgrp: setuid"
+msgstr "newgrp: setuid"
+
+#: login-utils/newgrp.c:144
+msgid "No shell"
+msgstr "Interpretador de comandos inexistente"
+
+#: login-utils/shutdown.c:115
+#, c-format
+msgid "Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+msgstr "Uso: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+
+#: login-utils/shutdown.c:133
+msgid "Shutdown process aborted"
+msgstr "Processo de desligamento abortado"
+
+#: login-utils/shutdown.c:164
+#, c-format
+msgid "%s: Only root can shut a system down.\n"
+msgstr "%s: somente o root pode desligar um sistema.\n"
+
+#: login-utils/shutdown.c:258
+#, c-format
+msgid "That must be tomorrow, can't you wait till then?\n"
+msgstr "Isto precisa ser amanhã. Você pode esperar?\n"
+
+#: login-utils/shutdown.c:309
+msgid "for maintenance; bounce, bounce"
+msgstr "para manutenção; bounce, bounce"
+
+#: login-utils/shutdown.c:338
+msgid "The system is being shut down within 5 minutes"
+msgstr "O sistema será desligado dentro de 5 minutos"
+
+#: login-utils/shutdown.c:342
+msgid "Login is therefore prohibited."
+msgstr "Assim, logins estão proibidos."
+
+#: login-utils/shutdown.c:364
+#, fuzzy, c-format
+msgid "rebooted by %s: %s"
+msgstr "%s por %s: %s"
+
+#: login-utils/shutdown.c:367
+#, fuzzy, c-format
+msgid "halted by %s: %s"
+msgstr "%s por %s: %s"
+
+#: login-utils/shutdown.c:431
+msgid ""
+"\n"
+"Why am I still alive after reboot?"
+msgstr ""
+"\n"
+"Por que eu ainda estou vivo após a reinicialização?"
+
+#: login-utils/shutdown.c:433
+msgid ""
+"\n"
+"Now you can turn off the power..."
+msgstr ""
+"\n"
+"Agora você pode desligar a energia..."
+
+#: login-utils/shutdown.c:449
+#, c-format
+msgid "Calling kernel power-off facility...\n"
+msgstr "Chamando recurso de desligamento do kernel...\n"
+
+#: login-utils/shutdown.c:452
+#, c-format
+msgid "Error powering off\t%s\n"
+msgstr "Erro ao desligar\t%s\n"
+
+#: login-utils/shutdown.c:460
+#, c-format
+msgid "Executing the program \"%s\" ...\n"
+msgstr "Executando o programa \"%s\" ...\n"
+
+#: login-utils/shutdown.c:463
+#, c-format
+msgid "Error executing\t%s\n"
+msgstr "Erro ao executar\t%s\n"
+
+#: login-utils/shutdown.c:490
+#, c-format
+msgid "URGENT: broadcast message from %s:"
+msgstr ""
+
+#: login-utils/shutdown.c:496
+#, c-format
+msgid "System going down in %d hours %d minutes"
+msgstr "O sistema será desligado em %d horas e %d minuto(s)"
+
+#: login-utils/shutdown.c:499
+#, c-format
+msgid "System going down in 1 hour %d minutes"
+msgstr "O sistema será desligado em 1 hora e %d minuto(s)"
+
+#: login-utils/shutdown.c:502
+#, c-format
+msgid "System going down in %d minutes\n"
+msgstr "O sistema será desligado em %d minutos\n"
+
+#: login-utils/shutdown.c:505
+#, c-format
+msgid "System going down in 1 minute\n"
+msgstr "O sistema será desligado em 1 minuto\n"
+
+#: login-utils/shutdown.c:507
+#, c-format
+msgid "System going down IMMEDIATELY!\n"
+msgstr "O sistema será desligado IMEDIATAMENTE!\n"
+
+#: login-utils/shutdown.c:512
+#, c-format
+msgid "\t... %s ...\n"
+msgstr "\t... %s ...\n"
+
+#: login-utils/shutdown.c:569
+msgid "Cannot fork for swapoff. Shrug!"
+msgstr "Não é possível fazer fork para swapoff. Droga!"
+
+#: login-utils/shutdown.c:577
+msgid "Cannot exec swapoff, hoping umount will do the trick."
+msgstr "Não é possível exec swapoff. Esperando que umount resolva o problema."
+
+#: login-utils/shutdown.c:596
+msgid "Cannot fork for umount, trying manually."
+msgstr "Não é possível fazer fork para umount; tentando manualmente."
+
+#: login-utils/shutdown.c:605
+#, c-format
+msgid "Cannot exec %s, trying umount.\n"
+msgstr "Não é possível exec %s; tentando umount.\n"
+
+#: login-utils/shutdown.c:609
+msgid "Cannot exec umount, giving up on umount."
+msgstr "Não é possível exec umount; desistindo de umount."
+
+#: login-utils/shutdown.c:614
+msgid "Unmounting any remaining filesystems..."
+msgstr "Desmontando quaisquer sistemas de arquivos remanescentes..."
+
+#: login-utils/shutdown.c:661
+#, c-format
+msgid "shutdown: Couldn't umount %s: %s\n"
+msgstr "shutdown: não foi possível desmontar %s: %s\n"
+
+#: login-utils/simpleinit.c:132
+msgid "Booting to single user mode.\n"
+msgstr "Inicializando em modo monousuário.\n"
+
+#: login-utils/simpleinit.c:136
+msgid "exec of single user shell failed\n"
+msgstr "exec de interpretador de comandos monousuário falhou\n"
+
+#: login-utils/simpleinit.c:140
+msgid "fork of single user shell failed\n"
+msgstr "fork de interpretador de comandos monousuário falhou\n"
+
+#: login-utils/simpleinit.c:208
+msgid "error opening fifo\n"
+msgstr "erro abrindo fifo\n"
+
+#: login-utils/simpleinit.c:212
+msgid "error setting close-on-exec on /dev/initctl"
+msgstr ""
+
+#: login-utils/simpleinit.c:259
+msgid "error running finalprog\n"
+msgstr "erro executando fnalprog\n"
+
+#: login-utils/simpleinit.c:263
+msgid "error forking finalprog\n"
+msgstr "erro fazendo fork finalprog\n"
+
+#: login-utils/simpleinit.c:345
+msgid ""
+"\n"
+"Wrong password.\n"
+msgstr ""
+"\n"
+"Senha incorreta.\n"
+
+#: login-utils/simpleinit.c:418
+msgid "lstat of path failed\n"
+msgstr "lstat da rota falhou\n"
+
+#: login-utils/simpleinit.c:426
+msgid "stat of path failed\n"
+msgstr "estado da rota falhou\n"
+
+#: login-utils/simpleinit.c:434
+msgid "open of directory failed\n"
+msgstr "abertura do diretório falhou\n"
+
+#: login-utils/simpleinit.c:501
+#, c-format
+msgid "respawning: \"%s\" too fast: quenching entry\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:509
+msgid "fork failed\n"
+msgstr "o fork falhou\n"
+
+#: login-utils/simpleinit.c:540 text-utils/more.c:1629
+msgid "exec failed\n"
+msgstr "exec falhou\n"
+
+#: login-utils/simpleinit.c:564
+msgid "cannot open inittab\n"
+msgstr "não foi possível abrir inittab\n"
+
+#: login-utils/simpleinit.c:631
+msgid "no TERM or cannot stat tty\n"
+msgstr "sem TERM ou não é possível stat tty\n"
+
+#: login-utils/simpleinit.c:938
+#, fuzzy, c-format
+msgid "error stopping service: \"%s\"\n"
+msgstr "erro ao gravar %s: %s"
+
+#: login-utils/simpleinit.c:950
+#, fuzzy, c-format
+msgid "Stopped service: %s\n"
+msgstr "erro ao gravar %s: %s"
+
+#: login-utils/simpleinit.c:1070
+#, fuzzy, c-format
+msgid "error running programme: \"%s\"\n"
+msgstr "erro executando programa\n"
+
+#: login-utils/ttymsg.c:75
+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)"
+
+#: login-utils/ttymsg.c:85
+#, c-format
+msgid "excessively long line arg"
+msgstr "linha de argumentos longa demais"
+
+#: login-utils/ttymsg.c:140
+#, c-format
+msgid "cannot fork"
+msgstr "não foi possível realizar fork"
+
+#: login-utils/ttymsg.c:144
+#, c-format
+msgid "fork: %s"
+msgstr "fork: %s"
+
+#: login-utils/ttymsg.c:174
+#, c-format
+msgid "%s: BAD ERROR"
+msgstr "%s: ERRO GRAVE"
+
+#: login-utils/vipw.c:143
+#, fuzzy, c-format
+msgid "%s: the password file is busy.\n"
+msgstr "%s: o arquivo %s está ocupado.\n"
+
+#: login-utils/vipw.c:146
+#, fuzzy, c-format
+msgid "%s: the group file is busy.\n"
+msgstr "%s: o arquivo %s está ocupado.\n"
+
+#: login-utils/vipw.c:162
+#, c-format
+msgid "%s: the %s file is busy (%s present)\n"
+msgstr "%s: o arquivo %s está ocupado (%s presente).\n"
+
+#: login-utils/vipw.c:168
+#, c-format
+msgid "%s: can't link %s: %s\n"
+msgstr "%s: não foi possível vincular %s: %s\n"
+
+#: login-utils/vipw.c:202
+#, fuzzy, c-format
+msgid "%s: Can't get context for %s"
+msgstr "Não foi possível obter o tempo-limite para %s: %s\n"
+
+#: login-utils/vipw.c:208
+#, fuzzy, c-format
+msgid "%s: Can't set context for %s"
+msgstr "Não foi possível obter o tempo-limite para %s: %s\n"
+
+#: login-utils/vipw.c:217
+#, c-format
+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"
+
+#: login-utils/vipw.c:240
+#, c-format
+msgid "%s: Cannot fork\n"
+msgstr "%s: não foi possível realizar fork\n"
+
+#: login-utils/vipw.c:276
+#, c-format
+msgid "%s: %s unchanged\n"
+msgstr "%s: %s inalterado\n"
+
+#: login-utils/vipw.c:297
+#, c-format
+msgid "%s: no changes made\n"
+msgstr "%s: nenhuma alteração realizada\n"
+
+#: login-utils/vipw.c:350
+#, 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:351
+#, c-format
+msgid "You are using shadow passwords on this system.\n"
+msgstr "Você está usando senhas sombra (shadow) neste sistema\n"
+
+#: login-utils/vipw.c:352
+#, c-format
+msgid "Would you like to edit %s now [y/n]? "
+msgstr "Você gostaria de editar %s agora [s/n]"
+
+#: login-utils/wall.c:112
+#, c-format
+msgid "usage: %s [file]\n"
+msgstr "Uso: %s [arquivo]\n"
+
+#: login-utils/wall.c:167
+#, c-format
+msgid "%s: can't open temporary file.\n"
+msgstr "%s: não foi possível abrir arquivo temporário.\n"
+
+#: login-utils/wall.c:194
+#, c-format
+msgid "Broadcast Message from %s@%s"
+msgstr "Mensagem de broadcast de %s@%s"
+
+#: login-utils/wall.c:212
+#, c-format
+msgid "%s: will not read %s - use stdin.\n"
+msgstr "%s: não será lido %s - use a entrada padrão.\n"
+
+#: login-utils/wall.c:217
+#, c-format
+msgid "%s: can't read %s.\n"
+msgstr "%s: não foi possível ler %s.\n"
+
+#: login-utils/wall.c:240
+#, c-format
+msgid "%s: can't stat temporary file.\n"
+msgstr "%s: não foi possível stat arquivo temporário.\n"
+
+#: login-utils/wall.c:250
+#, c-format
+msgid "%s: can't read temporary file.\n"
+msgstr "%s: não foi possível ler arquivo temporário.\n"
+
+#: misc-utils/cal.c:362 misc-utils/cal.c:374
+#, fuzzy, c-format
+msgid "illegal day value: use 1-%d"
+msgstr "valor de ano inválido: use 1-9999"
+
+#: misc-utils/cal.c:366
+msgid "illegal month value: use 1-12"
+msgstr "valor de mês inválido: use 1-12"
+
+#: misc-utils/cal.c:370
+msgid "illegal year value: use 1-9999"
+msgstr "valor de ano inválido: use 1-9999"
+
+#: misc-utils/cal.c:464
+#, c-format
+msgid "%s %d"
+msgstr ""
+
+#: misc-utils/cal.c:856
+#, fuzzy, c-format
+msgid "usage: cal [-13smjyV] [[[day] month] year]\n"
+msgstr "Uso: cal [-mjyV] [[mês] ano]\n"
+
+#: misc-utils/ddate.c:203
+#, c-format
+msgid "usage: %s [+format] [day month year]\n"
+msgstr "Uso: %s [+formato] [dia mês ano]\n"
+
+#: misc-utils/ddate.c:250
+msgid "St. Tib's Day"
+msgstr "Dia de São Tib"
+
+#: misc-utils/findfs.c:24
+#, c-format
+msgid "Usage: %s LABEL=<label>|UUID=<uuid>\n"
+msgstr ""
+
+#: misc-utils/findfs.c:55
+#, fuzzy, c-format
+msgid "unable to resolve '%s'"
+msgstr "não foi possível abrir %s"
+
+#: misc-utils/kill.c:207
+#, c-format
+msgid "%s: unknown signal %s\n"
+msgstr "%s: sinal desconhecido %s\n"
+
+#: misc-utils/kill.c:270
+#, 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:314
+#, c-format
+msgid "%s: unknown signal %s; valid signals:\n"
+msgstr "%s: sinal desconhecido %s; sinais válidos:\n"
+
+#: misc-utils/kill.c:354
+#, c-format
+msgid "usage: %s [ -s signal | -p ] [ -a ] pid ...\n"
+msgstr "Uso: %s [ -s sinal | -p ] [ -a ] pid ...\n"
+
+#: misc-utils/kill.c:355
+#, c-format
+msgid "       %s -l [ signal ]\n"
+msgstr "       %s -l [ sinal ]\n"
+
+#: misc-utils/logger.c:67
+#, fuzzy, c-format
+msgid "logger: openlog: pathname too long\n"
+msgstr "nome de login longo demais.\n"
+
+#: misc-utils/logger.c:75
+#, fuzzy, c-format
+msgid "socket: %s.\n"
+msgstr "TamBloco: %d\n"
+
+#: misc-utils/logger.c:80
+#, c-format
+msgid "connect: %s.\n"
+msgstr ""
+
+#: misc-utils/logger.c:139
+#, c-format
+msgid "logger: %s: %s.\n"
+msgstr "logger: %s: %s.\n"
+
+#: misc-utils/logger.c:246
+#, c-format
+msgid "logger: unknown facility name: %s.\n"
+msgstr "logger: nome de recurso desconhecido: %s.\n"
+
+#: misc-utils/logger.c:258
+#, c-format
+msgid "logger: unknown priority name: %s.\n"
+msgstr "logger: nome de prioridade desconhecido: %s.\n"
+
+#: misc-utils/logger.c:285
+#, c-format
+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"
+
+#: misc-utils/look.c:351
+#, c-format
+msgid "usage: look [-dfa] [-t char] string [file]\n"
+msgstr "Uso: look [-dfa] [-t char] string [arquivo]\n"
+
+#: misc-utils/mcookie.c:105 misc-utils/mcookie.c:132
+#, c-format
+msgid "Could not open %s\n"
+msgstr "Não foi possível abrir %s\n"
+
+#: misc-utils/mcookie.c:109 misc-utils/mcookie.c:128
+#, c-format
+msgid "Got %d bytes from %s\n"
+msgstr "Obtidos %d bytes de %s\n"
+
+#: misc-utils/namei.c:144 misc-utils/namei.c:198 misc-utils/namei.c:220
+#: misc-utils/namei.c:227 misc-utils/namei.c:248
+#, fuzzy
+msgid "out of memory?"
+msgstr "memória insuficiente?\n"
+
+#: misc-utils/namei.c:189
+#, fuzzy, c-format
+msgid "failed to read symlink: %s"
+msgstr "ioctl() não conseguiu ler a hora de /dev/tty1"
+
+#: misc-utils/namei.c:229
+#, fuzzy, c-format
+msgid "could not stat '%s'"
+msgstr "não foi possível verificar status de dispositivo %s"
+
+#: misc-utils/namei.c:411
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage: %s [options] pathname [pathname ...]\n"
+msgstr "Uso: namei [-mx] nome_caminho [nome_caminho ...]\n"
+
+#: misc-utils/namei.c:412
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"%d partições:\n"
+
+#: misc-utils/namei.c:415
+#, c-format
+msgid ""
+" -h, --help          displays this help text\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:423
+#, c-format
+msgid ""
+"\n"
+"For more information see namei(1).\n"
+msgstr ""
+
+#: misc-utils/namei.c:484
+#, fuzzy, c-format
+msgid "failed to stat: %s"
+msgstr "não foi possível stat %s"
+
+#: misc-utils/namei.c:495
+#, c-format
+msgid "%s: exceeded limit of symlinks"
+msgstr ""
+
+#: misc-utils/rename.c:38
+#, c-format
+msgid "%s: out of memory\n"
+msgstr "%s: memória insuficiente!\n"
+
+#: misc-utils/rename.c:56
+#, c-format
+msgid "%s: renaming %s to %s failed: %s\n"
+msgstr "%s: não foi possível renomear %s para %s. falha: %s\n"
+
+#: misc-utils/rename.c:86
+#, c-format
+msgid "call: %s from to files...\n"
+msgstr "chamada: %s de para arquivos...\n"
+
+#: misc-utils/script.c:110
+#, fuzzy, c-format
+msgid ""
+"Warning: `%s' is a link.\n"
+"Use `%s [options] %s' if you really want to use it.\n"
+"Script not started.\n"
+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"
+
+#: misc-utils/script.c:173
+#, fuzzy, c-format
+msgid "usage: script [-a] [-f] [-q] [-t] [file]\n"
+msgstr "Uso: script [-a] [-f] [-q] [arquivo]\n"
+
+#: misc-utils/script.c:196
+#, c-format
+msgid "Script started, file is %s\n"
+msgstr "Script iniciado, o arquivo é %s\n"
+
+#: misc-utils/script.c:244
+#, fuzzy, c-format
+msgid "%s: write error %d: %s\n"
+msgstr "erro de gravação em %s\n"
+
+#: misc-utils/script.c:304
+#, c-format
+msgid "Script started on %s"
+msgstr "Script iniciado em %s"
+
+#: misc-utils/script.c:347
+#, fuzzy, c-format
+msgid "%s: write error: %s\n"
+msgstr "erro de gravação em %s\n"
+
+#: misc-utils/script.c:354
+#, fuzzy, c-format
+msgid "%s: cannot write script file, error: %s\n"
+msgstr "%s: não foi possível localizar \"_stext\" em %s\n"
+
+#: misc-utils/script.c:430
+#, c-format
+msgid ""
+"\n"
+"Script done on %s"
+msgstr ""
+"\n"
+"Script concluído em %s"
+
+#: misc-utils/script.c:437
+#, c-format
+msgid "Script done, file is %s\n"
+msgstr "Script concluído, o arquivo é %s\n"
+
+#: misc-utils/script.c:448
+#, c-format
+msgid "openpty failed\n"
+msgstr "openpty falhou\n"
+
+#: misc-utils/script.c:482
+#, c-format
+msgid "Out of pty's\n"
+msgstr "ptys esgotados\n"
+
+#: misc-utils/scriptreplay.c:38
+#, c-format
+msgid "%s <timingfile> [<typescript> [<divisor>]]\n"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:53
+#, c-format
+msgid "expected a number, but got '%s'"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:56 misc-utils/scriptreplay.c:60
+#, c-format
+msgid "divisor '%s'"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:104
+#, fuzzy
+msgid "write to stdout failed"
+msgstr "A abertura de %s falhou"
+
+#: misc-utils/scriptreplay.c:110
+#, c-format
+msgid "unexpected end of file on %s"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:112
+#, fuzzy, c-format
+msgid "failed to read typescript file %s"
+msgstr "ioctl() não conseguiu ler a hora de /dev/tty1"
+
+#: misc-utils/scriptreplay.c:145
+#, fuzzy, c-format
+msgid "cannot open timing file %s"
+msgstr "Não foi possível abrir o arquivo '%s'"
+
+#: misc-utils/scriptreplay.c:148
+#, fuzzy, c-format
+msgid "cannot open typescript file %s"
+msgstr "Não foi possível abrir o arquivo '%s'"
+
+#: misc-utils/scriptreplay.c:164
+#, fuzzy, c-format
+msgid "failed to read timing file %s"
+msgstr "ioctl() não conseguiu ler a hora de /dev/tty1"
+
+#: misc-utils/scriptreplay.c:166
+#, c-format
+msgid "timings file %s: %lu: unexpected format"
+msgstr ""
+
+#: misc-utils/setterm.c:763
+#, c-format
+msgid "%s: Argument error, usage\n"
+msgstr "%s: erro de argumento; uso\n"
+
+#: misc-utils/setterm.c:766
+#, c-format
+msgid "  [ -term terminal_name ]\n"
+msgstr "  [ -term nome_terminal ]\n"
+
+#: misc-utils/setterm.c:767
+#, c-format
+msgid "  [ -reset ]\n"
+msgstr "  [ -reset ]\n"
+
+#: misc-utils/setterm.c:768
+#, c-format
+msgid "  [ -initialize ]\n"
+msgstr "  [ -initialize ]\n"
+
+#: misc-utils/setterm.c:769
+#, c-format
+msgid "  [ -cursor [on|off] ]\n"
+msgstr "  [ -cursor [on|off] ]\n"
+
+#: misc-utils/setterm.c:771
+#, c-format
+msgid "  [ -snow [on|off] ]\n"
+msgstr "  [ -snow [on|off] ]\n"
+
+#: misc-utils/setterm.c:772
+#, c-format
+msgid "  [ -softscroll [on|off] ]\n"
+msgstr "  [ -softscroll [on|off] ]\n"
+
+#: misc-utils/setterm.c:774
+#, c-format
+msgid "  [ -repeat [on|off] ]\n"
+msgstr "  [ -repeat [on|off] ]\n"
+
+#: misc-utils/setterm.c:775
+#, c-format
+msgid "  [ -appcursorkeys [on|off] ]\n"
+msgstr "  [ -appcursorkeys [on|off] ]\n"
+
+#: misc-utils/setterm.c:776
+#, c-format
+msgid "  [ -linewrap [on|off] ]\n"
+msgstr "  [ -linewrap [on|off] ]\n"
+
+#: misc-utils/setterm.c:777
+#, c-format
+msgid "  [ -default ]\n"
+msgstr "  [ -default ]\n"
+
+#: misc-utils/setterm.c:778
+#, c-format
+msgid "  [ -foreground black|blue|green|cyan"
+msgstr "  [ -foreground black|blue|green|cyan"
+
+#: misc-utils/setterm.c:779 misc-utils/setterm.c:781
+#, c-format
+msgid "|red|magenta|yellow|white|default ]\n"
+msgstr "|red|magenta|yellow|white|default ]\n"
+
+#: misc-utils/setterm.c:780
+#, c-format
+msgid "  [ -background black|blue|green|cyan"
+msgstr "  [ -background black|blue|green|cyan"
+
+#: misc-utils/setterm.c:782
+#, c-format
+msgid "  [ -ulcolor black|grey|blue|green|cyan"
+msgstr "  [ -ulcolor black|grey|blue|green|cyan"
+
+#: misc-utils/setterm.c:783 misc-utils/setterm.c:785 misc-utils/setterm.c:787
+#: misc-utils/setterm.c:789
+#, c-format
+msgid "|red|magenta|yellow|white ]\n"
+msgstr "|red|magenta|yellow|white ]\n"
+
+#: misc-utils/setterm.c:784
+#, c-format
+msgid "  [ -ulcolor bright blue|green|cyan"
+msgstr "  [ -ulcolor bright blue|green|cyan"
+
+#: misc-utils/setterm.c:786
+#, c-format
+msgid "  [ -hbcolor black|grey|blue|green|cyan"
+msgstr "  [ -hbcolor black|grey|blue|green|cyan"
+
+#: misc-utils/setterm.c:788
+#, c-format
+msgid "  [ -hbcolor bright blue|green|cyan"
+msgstr "  [ -hbcolor bright blue|green|cyan"
+
+#: misc-utils/setterm.c:791
+#, c-format
+msgid "  [ -standout [ attr ] ]\n"
+msgstr "  [ -standout [ attr ] ]\n"
+
+#: misc-utils/setterm.c:793
+#, c-format
+msgid "  [ -inversescreen [on|off] ]\n"
+msgstr "  [ -inversescreen [on|off] ]\n"
+
+#: misc-utils/setterm.c:794
+#, c-format
+msgid "  [ -bold [on|off] ]\n"
+msgstr "  [ -bold [on|off] ]\n"
+
+#: misc-utils/setterm.c:795
+#, c-format
+msgid "  [ -half-bright [on|off] ]\n"
+msgstr "  [ -half-bright [on|off] ]\n"
+
+#: misc-utils/setterm.c:796
+#, c-format
+msgid "  [ -blink [on|off] ]\n"
+msgstr "  [ -blink [on|off] ]\n"
+
+#: misc-utils/setterm.c:797
+#, c-format
+msgid "  [ -reverse [on|off] ]\n"
+msgstr "  [ -reverse [on|off] ]\n"
+
+#: misc-utils/setterm.c:798
+#, c-format
+msgid "  [ -underline [on|off] ]\n"
+msgstr "  [ -underline [on|off] ]\n"
+
+#: misc-utils/setterm.c:799
+#, c-format
+msgid "  [ -store ]\n"
+msgstr "  [ -store ]\n"
+
+#: misc-utils/setterm.c:800
+#, c-format
+msgid "  [ -clear [all|rest] ]\n"
+msgstr "  [ -clear [all|rest] ]\n"
+
+#: misc-utils/setterm.c:801
+#, c-format
+msgid "  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n"
+msgstr "  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n"
+
+#: misc-utils/setterm.c:802
+#, c-format
+msgid "  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n"
+msgstr "  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n"
+
+#: misc-utils/setterm.c:803
+#, c-format
+msgid "  [ -regtabs [1-160] ]\n"
+msgstr "  [ -regtabs [1-160] ]\n"
+
+#: misc-utils/setterm.c:804
+#, fuzzy, c-format
+msgid "  [ -blank [0-60|force|poke] ]\n"
+msgstr "  [ -blank [0-60] ]\n"
+
+#: misc-utils/setterm.c:805
+#, c-format
+msgid "  [ -dump   [1-NR_CONSOLES] ]\n"
+msgstr "  [ -dump   [1-NUM_CONSOLES] ]\n"
+
+#: misc-utils/setterm.c:806
+#, c-format
+msgid "  [ -append [1-NR_CONSOLES] ]\n"
+msgstr "  [ -append [1-NUM_CONSOLES] ]\n"
+
+#: misc-utils/setterm.c:807
+#, c-format
+msgid "  [ -file dumpfilename ]\n"
+msgstr "  [ -file arquivo_descarga ]\n"
+
+#: misc-utils/setterm.c:808
+#, c-format
+msgid "  [ -msg [on|off] ]\n"
+msgstr "  [ -msg [on|off] ]\n"
+
+#: misc-utils/setterm.c:809
+#, c-format
+msgid "  [ -msglevel [0-8] ]\n"
+msgstr "  [ -msglevel [0-8] ]\n"
+
+#: misc-utils/setterm.c:810
+#, c-format
+msgid "  [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+msgstr "  [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+
+#: misc-utils/setterm.c:811
+#, c-format
+msgid "  [ -powerdown [0-60] ]\n"
+msgstr "  [ -powerdown [0-60] ]\n"
+
+#: misc-utils/setterm.c:812
+#, c-format
+msgid "  [ -blength [0-2000] ]\n"
+msgstr "  [ -blength [0-2000] ]\n"
+
+#: misc-utils/setterm.c:813
+#, c-format
+msgid "  [ -bfreq freqnumber ]\n"
+msgstr "  [ -bfreq num_freq ]\n"
+
+#: misc-utils/setterm.c:1065
+#, fuzzy, c-format
+msgid "cannot force blank\n"
+msgstr "não foi possível realizar fork"
+
+#: misc-utils/setterm.c:1069
+#, fuzzy, c-format
+msgid "cannot force unblank\n"
+msgstr "não foi possível realizar fork"
+
+#: misc-utils/setterm.c:1075
+#, fuzzy, c-format
+msgid "cannot get blank status\n"
+msgstr "não foi possível abrir %s %s\n"
+
+#: misc-utils/setterm.c:1087
+#, c-format
+msgid "cannot (un)set powersave mode\n"
+msgstr "não é possível alterar o estado do modo de conservação de energia\n"
+
+#: misc-utils/setterm.c:1126 misc-utils/setterm.c:1134
+#, c-format
+msgid "klogctl error: %s\n"
+msgstr "erro de klogctl: %s\n"
+
+#: misc-utils/setterm.c:1200
+#, c-format
+msgid "Error writing screendump\n"
+msgstr "Erro ao gravar descarga de tela\n"
+
+#: misc-utils/setterm.c:1207
+#, fuzzy, c-format
+msgid "Couldn't read %s\n"
+msgstr "Não foi possível abrir %s\n"
+
+#: misc-utils/setterm.c:1261
+#, c-format
+msgid "%s: $TERM is not defined.\n"
+msgstr "%s: $TERM indefinido.\n"
+
+#: misc-utils/uuidd.c:46
+#, fuzzy, c-format
+msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n"
+msgstr "Uso: last [-#] [-f arquivo] [-t tty] [-h nome_host] [usuário ...]\n"
+
+#: misc-utils/uuidd.c:48
+#, c-format
+msgid "       %s [-r|t] [-n num] [-s socketpath]\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:50
+#, fuzzy, c-format
+msgid "       %s -k\n"
+msgstr "       %s -l [ sinal ]\n"
+
+#: misc-utils/uuidd.c:152
+#, fuzzy
+msgid "bad arguments"
+msgstr "col: argumento inválido para -l %s.\n"
+
+#: misc-utils/uuidd.c:159
+#, fuzzy
+msgid "socket"
+msgstr "nfs socket"
+
+#: misc-utils/uuidd.c:170
+#, fuzzy
+msgid "connect"
+msgstr "nfs connect"
+
+#: misc-utils/uuidd.c:189
+#, fuzzy
+msgid "write"
+msgstr "Gravar"
+
+#: misc-utils/uuidd.c:197
+#, fuzzy
+msgid "read count"
+msgstr "read %c\n"
+
+#: misc-utils/uuidd.c:203
+msgid "bad response length"
+msgstr ""
+
+#: misc-utils/uuidd.c:268
+#, c-format
+msgid "uuidd daemon already running at pid %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:276
+#, c-format
+msgid "Couldn't create unix stream socket: %s"
+msgstr ""
+
+#: misc-utils/uuidd.c:305
+#, fuzzy, c-format
+msgid "Couldn't bind unix socket %s: %s\n"
+msgstr "Não foi possível abrir %s: %s\n"
+
+#: misc-utils/uuidd.c:313
+#, fuzzy, c-format
+msgid "Couldn't listen on unix socket %s: %s\n"
+msgstr "Não foi possível abrir %s: %s\n"
+
+#: misc-utils/uuidd.c:351
+#, fuzzy, c-format
+msgid "Error reading from client, len = %d\n"
+msgstr "Erro ao ler %s\n"
+
+#: misc-utils/uuidd.c:359
+#, c-format
+msgid "operation %d, incoming num = %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:378
+#, c-format
+msgid "Generated time UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:388
+#, c-format
+msgid "Generated random UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:397
+#, c-format
+msgid "Generated time UUID %s and %d following\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:415
+#, c-format
+msgid "Generated %d UUID's:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:427
+#, fuzzy, c-format
+msgid "Invalid operation %d\n"
+msgstr "id inválido: %s\n"
+
+#: misc-utils/uuidd.c:468 misc-utils/uuidd.c:489
+#, fuzzy, c-format
+msgid "Bad number: %s\n"
+msgstr "Número inválido: %s\n"
+
+#: misc-utils/uuidd.c:524 misc-utils/uuidd.c:551
+#, fuzzy, c-format
+msgid "Error calling uuidd daemon (%s): %s\n"
+msgstr "erro ao alterar o modo de %s: %s\n"
+
+#: misc-utils/uuidd.c:534
+#, c-format
+msgid "%s and subsequent %d UUID's\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:536
+#, c-format
+msgid "List of UUID's:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:557
+#, c-format
+msgid "Unexpected reply length from server %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:574
+#, c-format
+msgid "Couldn't kill uuidd running at pid %d: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:580
+#, c-format
+msgid "Killed uuidd running at pid %d\n"
+msgstr ""
+
+#: misc-utils/uuidgen.c:32
+#, fuzzy, c-format
+msgid "Usage: %s [-r] [-t]\n"
+msgstr "Uso: %s [opções] dispositivo ...\n"
+
+#: misc-utils/whereis.c:159
+#, c-format
+msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
+msgstr "whereis [ -sbmu ] [ -SBM dir ... -f ] nome...\n"
+
+#: misc-utils/write.c:101
+#, c-format
+msgid "write: can't find your tty's name\n"
+msgstr "write: não foi possível localizar o nome do tty\n"
+
+#: misc-utils/write.c:112
+#, c-format
+msgid "write: you have write permission turned off.\n"
+msgstr "write: sua permissão de gravação está desativada.\n"
+
+#: misc-utils/write.c:133
+#, c-format
+msgid "write: %s is not logged in on %s.\n"
+msgstr "write: %s não está conectado em %s.\n"
+
+#: misc-utils/write.c:141
+#, c-format
+msgid "write: %s has messages disabled on %s\n"
+msgstr "write: %s - mensagens desativadas em %s\n"
+
+#: misc-utils/write.c:148
+#, c-format
+msgid "usage: write user [tty]\n"
+msgstr "Uso: write usuário [tty]\n"
+
+#: misc-utils/write.c:236
+#, c-format
+msgid "write: %s is not logged in\n"
+msgstr "write: %s não está conectado.\n"
+
+#: misc-utils/write.c:245
+#, c-format
+msgid "write: %s has messages disabled\n"
+msgstr "write: %s - mensagens desativadas\n"
+
+#: misc-utils/write.c:249
+#, c-format
+msgid "write: %s is logged in more than once; writing to %s\n"
+msgstr "write: %s está conectado mais de uma vez; escrevendo para %s\n"
+
+#: misc-utils/write.c:317
+#, c-format
+msgid "Message from %s@%s (as %s) on %s at %s ..."
+msgstr "Mensagem de %s@%s (como %s) em %s em %s ..."
+
+#: misc-utils/write.c:320
+#, c-format
+msgid "Message from %s@%s on %s at %s ..."
+msgstr "Mensagem de %s@%s em %s em %s ..."
+
+#: mount/fstab.c:143
+#, c-format
+msgid "warning: error reading %s: %s"
+msgstr "Aviso: erro ao ler %s: %s"
+
+#: mount/fstab.c:171 mount/fstab.c:196
+#, c-format
+msgid "warning: can't open %s: %s"
+msgstr "Aviso: não foi possível abrir %s: %s"
+
+#: mount/fstab.c:176
+#, 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/fstab.c:589
+#, 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/fstab.c:615
+#, 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/fstab.c:631
+#, 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/fstab.c:646
+#, 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/fstab.c:660
+#, c-format
+msgid "can't lock lock file %s: %s"
+msgstr "não foi possível bloquear o arquivo de bloqueio %s: %s"
+
+#: mount/fstab.c:662
+msgid "timed out"
+msgstr "tempo esgotado"
+
+#: mount/fstab.c:669
+#, 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/fstab.c:791 mount/fstab.c:846
+#, c-format
+msgid "cannot open %s (%s) - mtab not updated"
+msgstr "Não foi possível abrir %s (%s) - mtab não atualizado"
+
+#: mount/fstab.c:855
+#, c-format
+msgid "error writing %s: %s"
+msgstr "erro ao gravar %s: %s"
+
+#: mount/fstab.c:873
+#, c-format
+msgid "error changing mode of %s: %s\n"
+msgstr "erro ao alterar o modo de %s: %s\n"
+
+#: mount/fstab.c:886
+#, fuzzy, c-format
+msgid "error changing owner of %s: %s\n"
+msgstr "erro ao alterar o modo de %s: %s\n"
+
+#: mount/fstab.c:897
+#, c-format
+msgid "can't rename %s to %s: %s\n"
+msgstr "não foi possível renomear %s para %s: %s\n"
+
+#: mount/lomount.c:364
+#, fuzzy, c-format
+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"
+
+#: mount/lomount.c:388
+#, c-format
+msgid ", offset %<PRIu64>"
+msgstr ""
+
+#: mount/lomount.c:391
+#, c-format
+msgid ", sizelimit %<PRIu64>"
+msgstr ""
+
+#: mount/lomount.c:399
+#, fuzzy, c-format
+msgid ", encryption %s (type %<PRIu32>)"
+msgstr "Tipo de criptografia não suportado: %s\n"
+
+#: mount/lomount.c:412
+#, c-format
+msgid ", offset %d"
+msgstr ""
+
+#: mount/lomount.c:415
+#, fuzzy, c-format
+msgid ", encryption type %d\n"
+msgstr "Tipo de criptografia não suportado: %s\n"
+
+#: mount/lomount.c:423
+#, c-format
+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"
+
+#: mount/lomount.c:434
+#, c-format
+msgid "loop: can't open device %s: %s\n"
+msgstr "loop: não foi possível abrir o dispositivo %s: %s\n"
+
+#: mount/lomount.c:450 mount/lomount.c:482 mount/lomount.c:544
+#: mount/lomount.c:589
+#, fuzzy, c-format
+msgid "%s: /dev directory does not exist."
+msgstr "%s: usuário \"%s\" não existe.\n"
+
+#: mount/lomount.c:461 mount/lomount.c:602
+#, c-format
+msgid "%s: no permission to look at /dev/loop%s<N>"
+msgstr ""
+
+#: mount/lomount.c:605
+#, fuzzy, c-format
+msgid "%s: could not find any free loop device"
+msgstr "mount: não foi possível localizar nenhum dispositivo de laço livre"
+
+#: mount/lomount.c:608
+#, fuzzy, c-format
+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')."
+
+#: mount/lomount.c:638
+#, fuzzy
+msgid "Out of memory while reading passphrase"
+msgstr "Falta memória quando o buffer cresce.\n"
+
+#: mount/lomount.c:681
+#, fuzzy, c-format
+msgid "warning: %s is already associated with %s\n"
+msgstr "O setor %d já está alocado\n"
+
+#: mount/lomount.c:697
+#, fuzzy, c-format
+msgid "warning: %s: is write-protected, using read-only.\n"
+msgstr "mount: %s%s é protegido contra gravação; montando somente para leitura"
+
+#: mount/lomount.c:733
+#, c-format
+msgid "Couldn't lock into memory, exiting.\n"
+msgstr "Não é possível bloquear (lock) na memória, saindo\n"
+
+#: mount/lomount.c:760
+#, c-format
+msgid "ioctl LOOP_SET_FD failed: %s\n"
+msgstr ""
+
+#: mount/lomount.c:817
+#, fuzzy, c-format
+msgid "set_loop(%s,%s,%llu,%llu): success\n"
+msgstr "set_loop(%s,%s,%d): sucesso\n"
+
+#: mount/lomount.c:838
+#, c-format
+msgid "del_loop(%s): success\n"
+msgstr "del_loop(%s): sucesso\n"
+
+#: mount/lomount.c:842
+#, c-format
+msgid "loop: can't delete device %s: %s\n"
+msgstr "loop: não foi possível excluir o dispositivo %s: %s\n"
+
+#: mount/lomount.c:853
+#, c-format
+msgid "This mount was compiled without loop support. Please recompile.\n"
+msgstr "Este mount foi compilado sem suporte a laços. Recompile-o.\n"
+
+#: mount/lomount.c:888
+#, fuzzy, c-format
+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 ""
+"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"
+
+#: mount/lomount.c:898
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -e | --encryption <type> enable data encryption with specified <name/num>\n"
+" -h | --help              this help\n"
+" -o | --offset <num>      start at offset <num> into file\n"
+"      --sizelimit <num>   loop limited to only <num> bytes of the file\n"
+" -p | --pass-fd <num>     read passphrase from file descriptor <num>\n"
+" -r | --read-only         setup read-only loop device\n"
+"      --show              print device name (with -f <file>)\n"
+" -v | --verbose           verbose mode\n"
+"\n"
+msgstr ""
+
+#: mount/lomount.c:1036 mount/lomount.c:1076
+#, fuzzy, c-format
+msgid "Loop device is %s\n"
+msgstr "loop: não foi possível abrir o dispositivo %s: %s\n"
+
+#: mount/lomount.c:1063
+#, c-format
+msgid "stolen loop=%s...trying again\n"
+msgstr ""
+
+#: mount/lomount.c:1073
+#, fuzzy, c-format
+msgid "%s: %s: device is busy"
+msgstr "umount: %s: o dispositivo está ocupado"
+
+#: mount/lomount.c:1090
+#, c-format
+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"
+
+#: mount/mount.c:329
+#, c-format
+msgid "mount: improperly quoted option string '%s'"
+msgstr ""
+
+#: mount/mount.c:362
+#, 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/mount.c:526
+#, 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/mount.c:531
+#, c-format
+msgid "mount: according to mtab, %s is mounted on %s"
+msgstr "mount: de acordo com mtab, %s está montado em %s"
+
+#: mount/mount.c:555
+#, 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/mount.c:572 mount/mount.c:1190
+#, c-format
+msgid "mount: error writing %s: %s"
+msgstr "mount: erro ao gravar %s: %s"
+
+#: mount/mount.c:580
+#, c-format
+msgid "mount: error changing mode of %s: %s"
+msgstr "mount: erro ao alterar modo de %s: %s"
+
+#: mount/mount.c:663
+#, fuzzy, c-format
+msgid "mount: cannot set group id: %s"
+msgstr "mount: não foi possível configurar velocidade: %s"
+
+#: mount/mount.c:666
+#, fuzzy, c-format
+msgid "mount: cannot set user id: %s"
+msgstr "mount: não foi possível configurar velocidade: %s"
+
+#: mount/mount.c:705 mount/mount.c:1809
+#, c-format
+msgid "mount: cannot fork: %s"
+msgstr "mount: não foi possível realizar fork: %s"
+
+#: mount/mount.c:842
+#, c-format
+msgid "Trying %s\n"
+msgstr "Experimentando %s\n"
+
+#: mount/mount.c:870
+#, 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/mount.c:873
+#, 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/mount.c:876
+#, c-format
+msgid "       and it looks like this is swapspace\n"
+msgstr "       e parece ser um espaço de permuta\n"
+
+#: mount/mount.c:878
+#, c-format
+msgid "       I will try type %s\n"
+msgstr "       experimentarei o tipo %s\n"
+
+#: mount/mount.c:902
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr "%s parece espaço de permuta - não montado"
+
+#: mount/mount.c:993
+msgid "mount failed"
+msgstr "mount falhou"
+
+#: mount/mount.c:995
+#, c-format
+msgid "mount: only root can mount %s on %s"
+msgstr "mount: somente o root pode montar %s em %s"
+
+#: mount/mount.c:1065
+msgid "mount: loop device specified twice"
+msgstr "mount: dispositivo de laço especificado duas vezes"
+
+#: mount/mount.c:1070
+msgid "mount: type specified twice"
+msgstr "mount: tipo especificado duas vezes"
+
+#: mount/mount.c:1082
+#, 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/mount.c:1094
+#, 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/mount.c:1104
+#, c-format
+msgid "mount: going to use the loop device %s\n"
+msgstr "mount: será usado o dispositivo de laço %s\n"
+
+#: mount/mount.c:1113
+#, c-format
+msgid "mount: stolen loop=%s ...trying again\n"
+msgstr ""
+
+#: mount/mount.c:1118
+#, fuzzy, c-format
+msgid "mount: stolen loop=%s"
+msgstr "umount: %s: %s"
+
+#: mount/mount.c:1123
+#, c-format
+msgid "mount: failed setting up loop device\n"
+msgstr "mount: falha ao configurar dispositivo de laço\n"
+
+#: mount/mount.c:1134
+#, c-format
+msgid "mount: setup loop device successfully\n"
+msgstr "mount: configuração de dispositivo de laço realizada com sucesso\n"
+
+#: mount/mount.c:1168
+#, c-format
+msgid "mount: no %s found - creating it..\n"
+msgstr "mount: nenhum %s encontrado - criando-o...\n"
+
+#: mount/mount.c:1185
+#, c-format
+msgid "mount: can't open %s: %s"
+msgstr "mount: não foi possível abrir %s: %s"
+
+#: mount/mount.c:1206
+msgid "mount: argument to -p or --pass-fd must be a number"
+msgstr ""
+
+#: mount/mount.c:1219
+#, 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/mount.c:1222
+#, c-format
+msgid "mount: cannot set speed: %s"
+msgstr "mount: não foi possível configurar velocidade: %s"
+
+#: mount/mount.c:1279
+#, 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/mount.c:1358
+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/mount.c:1361
+msgid "mount: you must specify the filesystem type"
+msgstr "mount: você precisa especificar o tipo do sistema de arquivos"
+
+#: mount/mount.c:1364
+msgid "mount: mount failed"
+msgstr "mount: a montagem falhou"
+
+#: mount/mount.c:1370 mount/mount.c:1407
+#, c-format
+msgid "mount: mount point %s is not a directory"
+msgstr "mount: o ponto de montagem %s não é um diretório"
+
+#: mount/mount.c:1372
+msgid "mount: permission denied"
+msgstr "mount: permissão negada"
+
+#: mount/mount.c:1374
+msgid "mount: must be superuser to use mount"
+msgstr "mount: é necessário ser superusuário para montar"
+
+#: mount/mount.c:1378 mount/mount.c:1382
+#, c-format
+msgid "mount: %s is busy"
+msgstr "mount: %s está ocupado"
+
+#: mount/mount.c:1384
+msgid "mount: proc already mounted"
+msgstr "mount: proc já montado"
+
+#: mount/mount.c:1386
+#, c-format
+msgid "mount: %s already mounted or %s busy"
+msgstr "mount: %s já montado ou %s ocupado"
+
+#: mount/mount.c:1392
+#, c-format
+msgid "mount: mount point %s does not exist"
+msgstr "mount: o ponto de montagem %s não existe"
+
+#: mount/mount.c:1394
+#, 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/mount.c:1399
+#, c-format
+msgid "mount: special device %s does not exist"
+msgstr "mount: o dispositivo especial %s não existe"
+
+#: mount/mount.c:1411
+#, 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/mount.c:1423
+#, c-format
+msgid "mount: %s not mounted already, or bad option"
+msgstr "mount: %s já não está montado ou opção inválida"
+
+#: mount/mount.c:1425
+#, 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/mount.c:1432
+msgid ""
+"       (for several filesystems (e.g. nfs, cifs) you might\n"
+"       need a /sbin/mount.<type> helper program)"
+msgstr ""
+
+#: mount/mount.c:1441
+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/mount.c:1446
+msgid ""
+"       (aren't you trying to mount an extended partition,\n"
+"       instead of some logical partition inside?)"
+msgstr ""
+
+#: mount/mount.c:1453
+msgid ""
+"       In some cases useful info is found in syslog - try\n"
+"       dmesg | tail  or so\n"
+msgstr ""
+
+#: mount/mount.c:1459
+msgid "mount table full"
+msgstr "tabela de montagem cheia"
+
+#: mount/mount.c:1461
+#, c-format
+msgid "mount: %s: can't read superblock"
+msgstr "mount: %s: não foi possível ler o superbloco"
+
+#: mount/mount.c:1467
+#, c-format
+msgid "mount: %s: unknown device"
+msgstr "mount: %s: dispositivo de blocos desconhecido"
+
+#: mount/mount.c:1472
+#, fuzzy, c-format
+msgid "mount: unknown filesystem type '%s'"
+msgstr "   l   lista os tipos de sistemas de arquivos conhecidos"
+
+#: mount/mount.c:1484
+#, c-format
+msgid "mount: probably you meant %s"
+msgstr "mount: provavelmente você queria dizer %s"
+
+#: mount/mount.c:1487
+#, fuzzy
+msgid "mount: maybe you meant 'iso9660'?"
+msgstr "mount: talvez você quisesse dizer iso9660?"
+
+#: mount/mount.c:1490
+#, fuzzy
+msgid "mount: maybe you meant 'vfat'?"
+msgstr "mount: talvez você quisesse dizer iso9660?"
+
+#: mount/mount.c:1493
+#, 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/mount.c:1501
+#, 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/mount.c:1503
+#, c-format
+msgid ""
+"mount: the kernel does not recognize %s as a block device\n"
+"       (maybe `insmod driver'?)"
+msgstr ""
+"mount: o kernel não reconhece %s como dispositivo de blocos\n"
+"       (talvez `insmod driver'?)"
+
+#: mount/mount.c:1506
+#, 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/mount.c:1509
+#, c-format
+msgid "mount: %s is not a block device"
+msgstr "mount: %s não é um dispositivo de blocos"
+
+#: mount/mount.c:1514
+#, c-format
+msgid "mount: %s is not a valid block device"
+msgstr "mount: %s não é um dispositivo de blocos válido"
+
+#: mount/mount.c:1517
+msgid "block device "
+msgstr "dispositivo de blocos "
+
+#: mount/mount.c:1519
+#, c-format
+msgid "mount: cannot mount %s%s read-only"
+msgstr "mount: não foi possível montar %s%s somente para leitura"
+
+#: mount/mount.c:1523
+#, 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/mount.c:1527
+#, 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/mount.c:1542
+#, 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/mount.c:1552
+#, fuzzy, c-format
+msgid "mount: no medium found on %s ...trying again\n"
+msgstr "mount: nenhum %s encontrado - criando-o...\n"
+
+#: mount/mount.c:1558
+#, fuzzy, c-format
+msgid "mount: no medium found on %s"
+msgstr "mount: %s já montado em %s\n"
+
+#: mount/mount.c:1576
+#, 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/mount.c:1655
+#, 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/mount.c:1661
+#, 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/mount.c:1756
+#, c-format
+msgid "mount: %s already mounted on %s\n"
+msgstr "mount: %s já montado em %s\n"
+
+#: mount/mount.c:1890
+#, 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/mount.c:2213
+msgid "mount: only root can do that"
+msgstr "mount: operação exclusiva de root"
+
+#: mount/mount.c:2223
+msgid "nothing was mounted"
+msgstr ""
+
+#: mount/mount.c:2241 mount/mount.c:2267
+msgid "mount: no such partition found"
+msgstr "mount: tal partição não foi encontrada"
+
+#: mount/mount.c:2244
+#, 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/mount_mntent.c:165
+#, 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/mount_mntent.c:216
+#, 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/mount_mntent.c:219
+msgid "; rest of file ignored"
+msgstr "; resto do arquivo ignorado"
+
+#: mount/sundries.c:31
+msgid "bug in xstrndup call"
+msgstr "erro na chamada a xstrndup"
+
+#: mount/sundries.c:224 mount/sundries.c:280 mount/sundries.c:289
+#: mount/xmalloc.c:11
+msgid "not enough memory"
+msgstr "não há memória suficiente"
+
+#: mount/swapon.c:84
+#, c-format
+msgid ""
+"The <special> parameter:\n"
+" {-L label | LABEL=label}             LABEL of device to be used\n"
+" {-U uuid  | 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"
+"\n"
+msgstr ""
+
+#: mount/swapon.c:92
+#, c-format
+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 ""
+
+#: mount/swapon.c:106
+#, c-format
+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 ""
+
+#: mount/swapon.c:140
+#, c-format
+msgid "%s: unexpected file format"
+msgstr ""
+
+#: mount/swapon.c:184 mount/swapon.c:252 mount/swapon.c:397 mount/swapon.c:556
+#: mount/swapon.c:758
+#, fuzzy, c-format
+msgid "%s: open failed"
+msgstr "openpty falhou\n"
+
+#: mount/swapon.c:205
+#, c-format
+msgid "%s: reinitializing the swap."
+msgstr ""
+
+#: mount/swapon.c:209
+#, fuzzy
+msgid "fork failed"
+msgstr "o fork falhou\n"
+
+#: mount/swapon.c:225
+#, fuzzy
+msgid "execv failed"
+msgstr "exec falhou\n"
+
+#: mount/swapon.c:233
+#, fuzzy
+msgid "waitpid failed"
+msgstr "setuid() falhou"
+
+#: mount/swapon.c:257
+#, fuzzy, c-format
+msgid "%s: lseek failed"
+msgstr "busca falhou"
+
+#: mount/swapon.c:263
+#, fuzzy, c-format
+msgid "%s: write signature failed"
+msgstr "A abertura de %s falhou"
+
+#: mount/swapon.c:350
+#, c-format
+msgid "%s: found %sswap v%d signature string for %d KiB PAGE_SIZE\n"
+msgstr ""
+
+#: mount/swapon.c:370
+#, fuzzy, c-format
+msgid "%s: stat failed"
+msgstr "busca falhou"
+
+#: mount/swapon.c:380
+#, fuzzy, c-format
+msgid "%s: insecure permissions %04o, %04o suggested."
+msgstr "swapon: aviso: %s possui permissões inseguras %04o; sugere-se 0600\n"
+
+#: mount/swapon.c:388
+#, fuzzy, c-format
+msgid "%s: skipping - it appears to have holes."
+msgstr "swapon: ignorando arquivo %s - ele parece ter buracos.\n"
+
+#: mount/swapon.c:402
+#, fuzzy, c-format
+msgid "%s: get size failed"
+msgstr "busca falhou"
+
+#: mount/swapon.c:408
+#, c-format
+msgid "%s: read swap header failed"
+msgstr ""
+
+#: mount/swapon.c:421
+#, c-format
+msgid "%s: last_page 0x%08llx is larger than actual size of swapspace"
+msgstr ""
+
+#: mount/swapon.c:426
+#, c-format
+msgid "%s: swap format pagesize does not match."
+msgstr ""
+
+#: mount/swapon.c:431
+#, c-format
+msgid ""
+"%s: swap format pagesize does not match. (Use --fixpgsz to reinitialize it.)"
+msgstr ""
+
+#: mount/swapon.c:440
+#, c-format
+msgid "%s: software suspend data detected. Rewriting the swap signature."
+msgstr ""
+
+#: mount/swapon.c:464 mount/swapon.c:514
+#, c-format
+msgid "%s on %s\n"
+msgstr "%s em %s\n"
+
+#: mount/swapon.c:486
+#, fuzzy, c-format
+msgid "%s: swapon failed"
+msgstr "busca falhou"
+
+#: mount/swapon.c:493
+#, fuzzy, c-format
+msgid "cannot find the device for %s"
+msgstr "%s: não foi possível localizar \"_stext\" em %s\n"
+
+#: mount/swapon.c:526
+#, fuzzy
+msgid "Not superuser."
+msgstr "Não definido\n"
+
+#: mount/swapon.c:529
+#, fuzzy, c-format
+msgid "%s: swapoff failed"
+msgstr "busca falhou"
+
+#: mount/umount.c:41
+#, c-format
+msgid "umount: compiled without support for -f\n"
+msgstr "umount: compilado sem suporte a -f\n"
+
+#: mount/umount.c:111
+#, fuzzy, c-format
+msgid "umount: cannot set group id: %s"
+msgstr "mount: não foi possível configurar velocidade: %s"
+
+#: mount/umount.c:114
+#, fuzzy, c-format
+msgid "umount: cannot set user id: %s"
+msgstr "mount: não foi possível configurar velocidade: %s"
+
+#: mount/umount.c:139
+#, fuzzy, c-format
+msgid "umount: cannot fork: %s"
+msgstr "mount: não foi possível realizar fork: %s"
+
+#: mount/umount.c:160
+#, c-format
+msgid "umount: %s: invalid block device"
+msgstr "umount: %s: dispositivo de blocos inválido"
+
+#: mount/umount.c:162
+#, c-format
+msgid "umount: %s: not mounted"
+msgstr "umount: %s: não montado"
+
+#: mount/umount.c:164
+#, c-format
+msgid "umount: %s: can't write superblock"
+msgstr "umount: %s: não foi possível gravar superbloco"
+
+#: mount/umount.c:168
+#, 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/umount.c:173
+#, c-format
+msgid "umount: %s: not found"
+msgstr "umount: %s: não encontrado"
+
+#: mount/umount.c:175
+#, c-format
+msgid "umount: %s: must be superuser to umount"
+msgstr "umount: %s: precisa ser superusuário para desmontar"
+
+#: mount/umount.c:177
+#, 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/umount.c:179
+#, c-format
+msgid "umount: %s: %s"
+msgstr "umount: %s: %s"
+
+#: mount/umount.c:235
+#, c-format
+msgid "no umount2, trying umount...\n"
+msgstr "não existe umount2, tentando umount...\n"
+
+#: mount/umount.c:252
+#, c-format
+msgid "umount: %s busy - remounted read-only\n"
+msgstr "umount: %s está ocupado - remontado somente para leitura\n"
+
+#: mount/umount.c:263
+#, 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/umount.c:272
+#, c-format
+msgid "%s umounted\n"
+msgstr "%s desmontado\n"
+
+#: mount/umount.c:367
+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/umount.c:397
+#, 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/umount.c:466
+#, fuzzy, c-format
+msgid "device %s is associated with %s\n"
+msgstr "O setor %d já está alocado\n"
+
+#: mount/umount.c:472
+#, fuzzy, c-format
+msgid "device %s is not associated with %s\n"
+msgstr "O setor %d já está alocado\n"
+
+#: mount/umount.c:485
+#, fuzzy
+msgid "Cannot umount \"\"\n"
+msgstr "Não foi possível abrir %s\n"
+
+#: mount/umount.c:491
+#, c-format
+msgid "Trying to umount %s\n"
+msgstr "Tentando desmontar %s\n"
+
+#: mount/umount.c:504
+msgid "umount: confused when analyzing mtab"
+msgstr ""
+
+#: mount/umount.c:509
+#, c-format
+msgid "umount: cannot umount %s -- %s is mounted over it on the same point."
+msgstr ""
+
+#: mount/umount.c:516
+#, c-format
+msgid "Could not find %s in mtab\n"
+msgstr "Não foi possível localizar %s em mtab\n"
+
+#: mount/umount.c:523
+#, c-format
+msgid "umount: %s is not mounted (according to mtab)"
+msgstr "umount: %s não está montado (de acordo com mtab)"
+
+#: mount/umount.c:547
+#, c-format
+msgid "umount: it seems %s is mounted multiple times"
+msgstr "umount: parece que %s está montado múltiplas vezes"
+
+#: mount/umount.c:561
+#, 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/umount.c:567
+#, 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/umount.c:608
+#, c-format
+msgid "umount: only %s can unmount %s from %s"
+msgstr "umount: somente %s pode desmontar %s de %s"
+
+#: mount/umount.c:695
+msgid "umount: only root can do that"
+msgstr "umount: operação exclusiva de root"
+
+#: schedutils/chrt.c:56
+#, 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"
+"\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 ""
+
+#: schedutils/chrt.c:88
+#, 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:90
+#, c-format
+msgid "pid %d's %s scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:112
+#, fuzzy, c-format
+msgid "unknown\n"
+msgstr "desconhecida"
+
+#: schedutils/chrt.c:116
+#, c-format
+msgid "failed to get pid %d's attributes"
+msgstr ""
+
+#: schedutils/chrt.c:118
+#, c-format
+msgid "pid %d's %s scheduling priority: %d\n"
+msgstr ""
+
+#: schedutils/chrt.c:147
+#, c-format
+msgid "SCHED_%s min/max priority\t: %d/%d\n"
+msgstr ""
+
+#: schedutils/chrt.c:150
+#, fuzzy, c-format
+msgid "SCHED_%s not supported?\n"
+msgstr "NFS sobre TCP não é suportado.\n"
+
+#: schedutils/chrt.c:206
+#, fuzzy
+msgid "failed to parse pid"
+msgstr "%s: não foi possível abrir %s\n"
+
+#: schedutils/chrt.c:228
+msgid "current"
+msgstr "atual"
+
+#: schedutils/chrt.c:236
+#, fuzzy
+msgid "failed to parse priority"
+msgstr "Não foi possível gravar a partição em %s\n"
+
+#: schedutils/chrt.c:242
+#, 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:251
+#, fuzzy, c-format
+msgid "failed to execute %s"
+msgstr "ioctl() não conseguiu ler a hora de /dev/tty1"
+
+#: schedutils/ionice.c:57
+#, fuzzy
+msgid "ioprio_get failed"
+msgstr "openpty falhou\n"
+
+#: schedutils/ionice.c:75
+#, fuzzy
+msgid "ioprio_set failed"
+msgstr "openpty falhou\n"
+
+#: schedutils/ionice.c:81
+#, c-format
+msgid ""
+"\n"
+"ionice - sets or gets process io scheduling class and priority.\n"
+"\n"
+"Usage:\n"
+"  ionice [ options ] -p <pid> [<pid> ...]\n"
+"  ionoce [ 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 ""
+
+#: schedutils/ionice.c:110 schedutils/ionice.c:112
+#, fuzzy, c-format
+msgid "cannot parse number '%s'"
+msgstr "não foi possível abrir %s"
+
+#: schedutils/ionice.c:151
+msgid "ignoring given class data for none class"
+msgstr ""
+
+#: schedutils/ionice.c:159
+msgid "ignoring given class data for idle class"
+msgstr ""
+
+#: schedutils/ionice.c:163
+#, c-format
+msgid "bad prio class %d"
+msgstr ""
+
+#: schedutils/ionice.c:187
+#, fuzzy
+msgid "execvp failed"
+msgstr "exec falhou\n"
+
+#: sys-utils/ctrlaltdel.c:27
+#, c-format
+msgid "You must be root to set the Ctrl-Alt-Del behaviour.\n"
+msgstr ""
+"É necessário ser root para configurar o comportamento de Ctrl-Alt-Del.\n"
+
+#: sys-utils/ctrlaltdel.c:42
+#, c-format
+msgid "Usage: ctrlaltdel hard|soft\n"
+msgstr "Uso: ctrlaltdel hard|soft\n"
+
+#: sys-utils/cytune.c:114
+#, 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\n"
+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:125
+#, c-format
+msgid ""
+"File %s, For threshold value %lu and timrout value %lu, Maximum characters "
+"in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f\n"
+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:189
+#, c-format
+msgid "Invalid interval value: %s\n"
+msgstr "Valor de intervalo inválido: %s\n"
+
+#: sys-utils/cytune.c:197
+#, c-format
+msgid "Invalid set value: %s\n"
+msgstr "Valor definido inválido: %s\n"
+
+#: sys-utils/cytune.c:205
+#, c-format
+msgid "Invalid default value: %s\n"
+msgstr "Valor padrão inválido: %s\n"
+
+#: sys-utils/cytune.c:213
+#, c-format
+msgid "Invalid set time value: %s\n"
+msgstr "Valor de definição de horário inválido: %s\n"
+
+#: sys-utils/cytune.c:221
+#, c-format
+msgid "Invalid default time value: %s\n"
+msgstr "Valor padrão de horário inválido: %s\n"
+
+#: sys-utils/cytune.c:238
+#, c-format
+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"
+
+#: sys-utils/cytune.c:250 sys-utils/cytune.c:269 sys-utils/cytune.c:289
+#: sys-utils/cytune.c:339
+#, c-format
+msgid "Can't open %s: %s\n"
+msgstr "Não foi possível abrir %s: %s\n"
+
+#: sys-utils/cytune.c:257
+#, c-format
+msgid "Can't set %s to threshold %d: %s\n"
+msgstr "Não foi possível configurar %s para o limiar %d: %s\n"
+
+#: sys-utils/cytune.c:276
+#, c-format
+msgid "Can't set %s to time threshold %d: %s\n"
+msgstr "Não foi possível definir %s para o limiar de horário %d: %s\n"
+
+#: sys-utils/cytune.c:294 sys-utils/cytune.c:351 sys-utils/cytune.c:382
+#, c-format
+msgid "Can't get threshold for %s: %s\n"
+msgstr "Não foi possível obter o limiar para %s: %s\n"
+
+#: sys-utils/cytune.c:300 sys-utils/cytune.c:357 sys-utils/cytune.c:388
+#, c-format
+msgid "Can't get timeout for %s: %s\n"
+msgstr "Não foi possível obter o tempo-limite para %s: %s\n"
+
+#: sys-utils/cytune.c:306
+#, 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:309
+#, 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/cytune.c:327
+msgid "Can't set signal handler"
+msgstr "Não foi possível configurar manipulador de sinal"
+
+#: sys-utils/cytune.c:331 sys-utils/cytune.c:366
+msgid "gettimeofday failed"
+msgstr "gettimeofday falhou"
+
+#: sys-utils/cytune.c:344 sys-utils/cytune.c:376
+#, c-format
+msgid "Can't issue CYGETMON on %s: %s\n"
+msgstr "Não foi possível emitir CYGETMON em %s: %s\n"
+
+#: sys-utils/cytune.c:418
+#, 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:424
+#, 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:429
+#, 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:435
+#, c-format
+msgid "   %f int/sec; %f rec (char/sec)\n"
+msgstr "   %f int/s; %f recebidos (char/s)\n"
+
+#: sys-utils/dmesg.c:45
+#, fuzzy, c-format
+msgid "Usage: %s [-c] [-n level] [-r] [-s bufsize]\n"
+msgstr "Uso: %s [-c] [-n nível] [-s tamanho_buffer]\n"
+
+#: sys-utils/flock.c:65
+#, c-format
+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 ""
+
+#: sys-utils/flock.c:192
+#, fuzzy, c-format
+msgid "%s: %s requires exactly one command argument\n"
+msgstr "%s exige um argumento\n"
+
+#: sys-utils/flock.c:219
+#, fuzzy, c-format
+msgid "%s: cannot open lock file %s: %s\n"
+msgstr "%s: não foi possível abrir %s: %s\n"
+
+#: sys-utils/flock.c:231
+#, fuzzy, c-format
+msgid "%s: bad number: %s\n"
+msgstr "Número inválido: %s\n"
+
+#: sys-utils/flock.c:238
+#, c-format
+msgid "%s: requires file descriptor, file or directory\n"
+msgstr ""
+
+#: sys-utils/flock.c:294
+#, fuzzy, c-format
+msgid "%s: fork failed: %s\n"
+msgstr "o fork falhou\n"
+
+#: sys-utils/ipcmk.c:84
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage: %s [options]\n"
+"\n"
+msgstr "Uso: %s [opções] dispositivo ...\n"
+
+#: sys-utils/ipcmk.c:86
+#, c-format
+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 ""
+
+#: sys-utils/ipcmk.c:90
+#, c-format
+msgid ""
+"\n"
+"For more information see ipcmk(1).\n"
+"\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:142
+msgid "create share memory failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:144
+#, fuzzy, c-format
+msgid "Shared memory id: %d\n"
+msgstr ""
+"\n"
+"Memória compartilhada: shmid de segmento = %d\n"
+
+#: sys-utils/ipcmk.c:150
+msgid "create message queue failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:152
+#, fuzzy, c-format
+msgid "Message queue id: %d\n"
+msgstr ""
+"\n"
+"msqid da fila de mensagens: %d\n"
+
+#: sys-utils/ipcmk.c:158
+#, fuzzy
+msgid "create semaphore failed"
+msgstr "semáforos alocados: %d\n"
+
+#: sys-utils/ipcmk.c:160
+#, fuzzy, c-format
+msgid "Semaphore id: %d\n"
+msgstr ""
+"\n"
+"semid de array de semáforos: %d\n"
+
+#: sys-utils/ipcrm.c:66
+#, c-format
+msgid "invalid id: %s\n"
+msgstr "id inválido: %s\n"
+
+#: sys-utils/ipcrm.c:84
+#, c-format
+msgid "cannot remove id %s (%s)\n"
+msgstr "não foi possível remover id %s (%s)\n"
+
+#: sys-utils/ipcrm.c:99
+#, fuzzy, c-format
+msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
+msgstr "Uso: %s [shm | msg | sem] id...\n"
+
+#: sys-utils/ipcrm.c:126
+#, c-format
+msgid "unknown resource type: %s\n"
+msgstr "tipo de recurso desconhecido: %s\n"
+
+#: sys-utils/ipcrm.c:130
+#, c-format
+msgid "resource(s) deleted\n"
+msgstr "recurso(s) excluído\n"
+
+#: sys-utils/ipcrm.c:140
+#, c-format
+msgid ""
+"usage: %s [ [-q msqid] [-m shmid] [-s semid]\n"
+"          [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:181
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:193
+#, fuzzy, c-format
+msgid "%s: illegal key (%s)\n"
+msgstr "Tecla ilegal"
+
+#: sys-utils/ipcrm.c:208 sys-utils/ipcrm.c:240
+#, fuzzy
+msgid "permission denied for key"
+msgstr "mount: permissão negada"
+
+#: sys-utils/ipcrm.c:211 sys-utils/ipcrm.c:250
+msgid "already removed key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:214 sys-utils/ipcrm.c:245
+#, fuzzy
+msgid "invalid key"
+msgstr "id inválido: %s\n"
+
+#: sys-utils/ipcrm.c:217 sys-utils/ipcrm.c:255
+msgid "unknown error in key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:241
+#, fuzzy
+msgid "permission denied for id"
+msgstr "mount: permissão negada"
+
+#: sys-utils/ipcrm.c:246
+#, fuzzy
+msgid "invalid id"
+msgstr "id inválido: %s\n"
+
+#: sys-utils/ipcrm.c:251
+msgid "already removed id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:256
+msgid "unknown error in id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:259
+#, fuzzy, c-format
+msgid "%s: %s (%s)\n"
+msgstr "%s em %s\n"
+
+#: sys-utils/ipcrm.c:267
+#, fuzzy, c-format
+msgid "%s: unknown argument: %s\n"
+msgstr "%s: sinal desconhecido %s\n"
+
+#: sys-utils/ipcs.c:120
+#, c-format
+msgid "usage : %s -asmq -tclup \n"
+msgstr "Uso : %s -asmq -tclup \n"
+
+#: sys-utils/ipcs.c:121
+#, c-format
+msgid "\t%s [-s -m -q] -i id\n"
+msgstr "\t%s [-s -m -q] -i id\n"
+
+#: sys-utils/ipcs.c:122
+#, c-format
+msgid "\t%s -h for help.\n"
+msgstr "\t%s -h para ajuda.\n"
+
+#: sys-utils/ipcs.c:128
+#, fuzzy, c-format
+msgid ""
+"%s provides information on ipc facilities for which you have read access.\n"
+msgstr "%s fornece informações sobre recursos do ipc para"
+
+#: sys-utils/ipcs.c:130
+#, c-format
+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"
+
+#: sys-utils/ipcs.c:131
+#, c-format
+msgid ""
+"\t-s : semaphores\n"
+"\t-a : all (default)\n"
+msgstr ""
+"\t-s : semáforos\n"
+"\t-a : tudo (padrão)\n"
+
+#: sys-utils/ipcs.c:132
+#, c-format
+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"
+
+#: sys-utils/ipcs.c:133
+#, c-format
+msgid ""
+"\t-l : limits\n"
+"\t-u : summary\n"
+msgstr ""
+"\t-l : limites\n"
+"\t-u : resumo\n"
+
+#: sys-utils/ipcs.c:134
+#, c-format
+msgid "-i id [-s -q -m] : 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:258
+#, 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:264
+#, c-format
+msgid "------ Shared Memory Limits --------\n"
+msgstr "- Limites da memória compartilhada -\n"
+
+#: sys-utils/ipcs.c:269
+#, fuzzy, c-format
+msgid "max number of segments = %lu\n"
+msgstr "número máximo de segmentos: %ld\n"
+
+#: sys-utils/ipcs.c:271
+#, fuzzy, c-format
+msgid "max seg size (kbytes) = %lu\n"
+msgstr "tamanho máximo do segmento (Kb): %ld\n"
+
+#: sys-utils/ipcs.c:273
+#, 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:275
+#, fuzzy, c-format
+msgid "min seg size (bytes) = %lu\n"
+msgstr "tamanho mínimo do segmento (bytes): %ld\n"
+
+#: sys-utils/ipcs.c:280
+#, c-format
+msgid "------ Shared Memory Status --------\n"
+msgstr "- Status da memória compartilhada -\n"
+
+#: sys-utils/ipcs.c:281
+#, c-format
+msgid "segments allocated %d\n"
+msgstr "segmentos alocados: %d\n"
+
+#: sys-utils/ipcs.c:282
+#, c-format
+msgid "pages allocated %ld\n"
+msgstr "páginas alocadas %ld\n"
+
+#: sys-utils/ipcs.c:283
+#, c-format
+msgid "pages resident  %ld\n"
+msgstr "páginas residentes: %ld\n"
+
+#: sys-utils/ipcs.c:284
+#, c-format
+msgid "pages swapped   %ld\n"
+msgstr "páginas permutadas: %ld\n"
+
+#: sys-utils/ipcs.c:285
+#, c-format
+msgid "Swap performance: %ld attempts\t %ld successes\n"
+msgstr "Desempenho de permuta: %ld tentativas\t %ld sucessos\n"
+
+#: sys-utils/ipcs.c:290
+#, c-format
+msgid "------ Shared Memory Segment Creators/Owners --------\n"
+msgstr "Criadores/donos de segmentos de memória compartilhada\n"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:298 sys-utils/ipcs.c:305
+#: sys-utils/ipcs.c:311
+msgid "shmid"
+msgstr "shmid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:311 sys-utils/ipcs.c:412
+#: sys-utils/ipcs.c:427 sys-utils/ipcs.c:510 sys-utils/ipcs.c:528
+msgid "perms"
+msgstr "perms"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "cuid"
+msgstr "cuid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "cgid"
+msgstr "cgid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "uid"
+msgstr "uid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "gid"
+msgstr "gid"
+
+#: sys-utils/ipcs.c:296
+#, 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:298 sys-utils/ipcs.c:305 sys-utils/ipcs.c:311
+#: sys-utils/ipcs.c:418 sys-utils/ipcs.c:427 sys-utils/ipcs.c:516
+#: sys-utils/ipcs.c:522 sys-utils/ipcs.c:528
+msgid "owner"
+msgstr "proprietário"
+
+#: sys-utils/ipcs.c:298
+msgid "attached"
+msgstr "anexado"
+
+#: sys-utils/ipcs.c:298
+msgid "detached"
+msgstr "destacado"
+
+#: sys-utils/ipcs.c:299
+msgid "changed"
+msgstr "alterado"
+
+#: sys-utils/ipcs.c:303
+#, c-format
+msgid "------ Shared Memory Creator/Last-op --------\n"
+msgstr "Criador/última op da memória compartilhada\n"
+
+#: sys-utils/ipcs.c:305
+msgid "cpid"
+msgstr "cpid"
+
+#: sys-utils/ipcs.c:305
+msgid "lpid"
+msgstr "lpid"
+
+#: sys-utils/ipcs.c:309
+#, c-format
+msgid "------ Shared Memory Segments --------\n"
+msgstr "- Segmentos da memória compartilhada -\n"
+
+#: sys-utils/ipcs.c:311 sys-utils/ipcs.c:427 sys-utils/ipcs.c:528
+msgid "key"
+msgstr "chave"
+
+#: sys-utils/ipcs.c:311
+msgid "bytes"
+msgstr "bytes"
+
+#: sys-utils/ipcs.c:312
+msgid "nattch"
+msgstr "nattch"
+
+#: sys-utils/ipcs.c:312
+msgid "status"
+msgstr "status"
+
+#: sys-utils/ipcs.c:333 sys-utils/ipcs.c:335 sys-utils/ipcs.c:337
+#: sys-utils/ipcs.c:448 sys-utils/ipcs.c:450 sys-utils/ipcs.c:549
+#: sys-utils/ipcs.c:551 sys-utils/ipcs.c:553 sys-utils/ipcs.c:604
+#: sys-utils/ipcs.c:606 sys-utils/ipcs.c:634 sys-utils/ipcs.c:636
+#: sys-utils/ipcs.c:638 sys-utils/ipcs.c:661
+#, fuzzy
+msgid "Not set"
+msgstr "Não definido\n"
+
+#: sys-utils/ipcs.c:365
+msgid "dest"
+msgstr "dest"
+
+#: sys-utils/ipcs.c:366
+msgid "locked"
+msgstr "bloqueado"
+
+#: sys-utils/ipcs.c:386
+#, c-format
+msgid "kernel not configured for semaphores\n"
+msgstr "o kernel não está configurado para semáforos\n"
+
+#: sys-utils/ipcs.c:392
+#, c-format
+msgid "------ Semaphore Limits --------\n"
+msgstr "------ Limites de semáforo ------\n"
+
+#: sys-utils/ipcs.c:396
+#, c-format
+msgid "max number of arrays = %d\n"
+msgstr "número máximo de arrays: %d\n"
+
+#: sys-utils/ipcs.c:397
+#, c-format
+msgid "max semaphores per array = %d\n"
+msgstr "máximo de semáforos por array: %d\n"
+
+#: sys-utils/ipcs.c:398
+#, c-format
+msgid "max semaphores system wide = %d\n"
+msgstr "máximo geral de semáforos do sistema: %d\n"
+
+#: sys-utils/ipcs.c:399
+#, c-format
+msgid "max ops per semop call = %d\n"
+msgstr "máximo de ops por chamada semop: %d\n"
+
+#: sys-utils/ipcs.c:400
+#, c-format
+msgid "semaphore max value = %d\n"
+msgstr "valor máximo de semáforo: %d\n"
+
+#: sys-utils/ipcs.c:404
+#, c-format
+msgid "------ Semaphore Status --------\n"
+msgstr "----- Status de semáforo -------\n"
+
+#: sys-utils/ipcs.c:405
+#, c-format
+msgid "used arrays = %d\n"
+msgstr "arrays usados: %d\n"
+
+#: sys-utils/ipcs.c:406
+#, c-format
+msgid "allocated semaphores = %d\n"
+msgstr "semáforos alocados: %d\n"
+
+#: sys-utils/ipcs.c:410
+#, c-format
+msgid "------ Semaphore Arrays Creators/Owners --------\n"
+msgstr "----- Criadores/donos de arrays de semáforos -----\n"
+
+#: sys-utils/ipcs.c:412 sys-utils/ipcs.c:418 sys-utils/ipcs.c:427
+msgid "semid"
+msgstr "semid"
+
+#: sys-utils/ipcs.c:416
+#, 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:418
+msgid "last-op"
+msgstr "última-op"
+
+#: sys-utils/ipcs.c:418
+msgid "last-changed"
+msgstr "útima-alteração"
+
+#: sys-utils/ipcs.c:425
+#, c-format
+msgid "------ Semaphore Arrays --------\n"
+msgstr "------ Arrays de semáforos ------\n"
+
+#: sys-utils/ipcs.c:427
+msgid "nsems"
+msgstr "nsems"
+
+#: sys-utils/ipcs.c:486
+#, 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:494
+#, c-format
+msgid "------ Messages: Limits --------\n"
+msgstr "----- Mensagens: limites -------\n"
+
+#: sys-utils/ipcs.c:495
+#, 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:496
+#, c-format
+msgid "max size of message (bytes) = %d\n"
+msgstr "tamanho máximo da mensagem (bytes): %d\n"
+
+#: sys-utils/ipcs.c:497
+#, 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:501
+#, c-format
+msgid "------ Messages: Status --------\n"
+msgstr "----- Mensagens: status -------\n"
+
+#: sys-utils/ipcs.c:502
+#, c-format
+msgid "allocated queues = %d\n"
+msgstr "filas alocadas: %d\n"
+
+#: sys-utils/ipcs.c:503
+#, c-format
+msgid "used headers = %d\n"
+msgstr "cabeçalhos usados: %d\n"
+
+#: sys-utils/ipcs.c:504
+#, c-format
+msgid "used space = %d bytes\n"
+msgstr "espaço usado: %d bytes\n"
+
+#: sys-utils/ipcs.c:508
+#, c-format
+msgid "------ Message Queues: Creators/Owners --------\n"
+msgstr "---- Filas de mensagens: criadores/donos ----\n"
+
+#: sys-utils/ipcs.c:510 sys-utils/ipcs.c:516 sys-utils/ipcs.c:522
+#: sys-utils/ipcs.c:528
+msgid "msqid"
+msgstr "msqid"
+
+#: sys-utils/ipcs.c:514
+#, 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:516
+msgid "send"
+msgstr "envio"
+
+#: sys-utils/ipcs.c:516
+msgid "recv"
+msgstr "recebimento"
+
+#: sys-utils/ipcs.c:516
+msgid "change"
+msgstr "alteração"
+
+#: sys-utils/ipcs.c:520
+#, c-format
+msgid "------ Message Queues PIDs --------\n"
+msgstr "--- PIDs de filas de mensagens ---\n"
+
+#: sys-utils/ipcs.c:522
+msgid "lspid"
+msgstr "lspid"
+
+#: sys-utils/ipcs.c:522
+msgid "lrpid"
+msgstr "lrpid"
+
+#: sys-utils/ipcs.c:526
+#, c-format
+msgid "------ Message Queues --------\n"
+msgstr "----- Filas de mensagens ------\n"
+
+#: sys-utils/ipcs.c:529
+msgid "used-bytes"
+msgstr "bytes usados"
+
+#: sys-utils/ipcs.c:529
+msgid "messages"
+msgstr "mensagens"
+
+#: sys-utils/ipcs.c:593
+#, fuzzy
+msgid "shmctl failed"
+msgstr "fsync falhou"
+
+#: sys-utils/ipcs.c:595
+#, c-format
+msgid ""
+"\n"
+"Shared memory Segment shmid=%d\n"
+msgstr ""
+"\n"
+"Memória compartilhada: shmid de segmento = %d\n"
+
+#: sys-utils/ipcs.c:596
+#, c-format
+msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+
+#: sys-utils/ipcs.c:598
+#, c-format
+msgid "mode=%#o\taccess_perms=%#o\n"
+msgstr "mode=%#o\taccess_perms=%#o\n"
+
+#: sys-utils/ipcs.c:600
+#, fuzzy, c-format
+msgid "bytes=%ld\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+msgstr "bytes=%d\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+
+#: sys-utils/ipcs.c:603
+#, fuzzy, c-format
+msgid "att_time=%-26.24s\n"
+msgstr "att_time=%s"
+
+#: sys-utils/ipcs.c:605
+#, fuzzy, c-format
+msgid "det_time=%-26.24s\n"
+msgstr "det_time=%s"
+
+#: sys-utils/ipcs.c:607 sys-utils/ipcs.c:637
+#, fuzzy, c-format
+msgid "change_time=%-26.24s\n"
+msgstr "change_time=%s"
+
+#: sys-utils/ipcs.c:619
+#, fuzzy
+msgid "msgctl failed"
+msgstr "fsync falhou"
+
+#: sys-utils/ipcs.c:621
+#, c-format
+msgid ""
+"\n"
+"Message Queue msqid=%d\n"
+msgstr ""
+"\n"
+"msqid da fila de mensagens: %d\n"
+
+#: sys-utils/ipcs.c:622
+#, c-format
+msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
+
+#: sys-utils/ipcs.c:624
+#, 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:633
+#, fuzzy, c-format
+msgid "send_time=%-26.24s\n"
+msgstr "send_time=%s"
+
+#: sys-utils/ipcs.c:635
+#, fuzzy, c-format
+msgid "rcv_time=%-26.24s\n"
+msgstr "rcv_time=%s"
+
+#: sys-utils/ipcs.c:652 sys-utils/ipcs.c:674
+#, fuzzy
+msgid "semctl failed"
+msgstr "busca falhou"
+
+#: sys-utils/ipcs.c:654
+#, c-format
+msgid ""
+"\n"
+"Semaphore Array semid=%d\n"
+msgstr ""
+"\n"
+"semid de array de semáforos: %d\n"
+
+#: sys-utils/ipcs.c:655
+#, c-format
+msgid "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+msgstr "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+
+#: sys-utils/ipcs.c:657
+#, c-format
+msgid "mode=%#o, access_perms=%#o\n"
+msgstr "mode=%#o, access_perms=%#o\n"
+
+#: sys-utils/ipcs.c:659
+#, c-format
+msgid "nsems = %ld\n"
+msgstr "nsems = %ld\n"
+
+#: sys-utils/ipcs.c:660
+#, fuzzy, c-format
+msgid "otime = %-26.24s\n"
+msgstr "otime = %s"
+
+#: sys-utils/ipcs.c:662
+#, fuzzy, c-format
+msgid "ctime = %-26.24s\n"
+msgstr "ctime = %s"
+
+#: sys-utils/ipcs.c:665
+msgid "semnum"
+msgstr "semnum"
+
+#: sys-utils/ipcs.c:665
+msgid "value"
+msgstr "valor"
+
+#: sys-utils/ipcs.c:665
+msgid "ncount"
+msgstr "ncount"
+
+#: sys-utils/ipcs.c:665
+msgid "zcount"
+msgstr "zcount"
+
+#: sys-utils/ipcs.c:665
+msgid "pid"
+msgstr "pid"
+
+#: sys-utils/ldattach.c:92
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [ -dhV78neo12 ] [ -s <speed> ] <ldisc> <device>\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:94
+msgid ""
+"\n"
+"Known <ldisc> names:\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:179
+#, fuzzy, c-format
+msgid "invalid speed: %s"
+msgstr "id inválido: %s\n"
+
+#: sys-utils/ldattach.c:182
+#, fuzzy, c-format
+msgid "ldattach from %s\n"
+msgstr "%s de %s\n"
+
+#: sys-utils/ldattach.c:187 text-utils/tailf.c:205
+#, fuzzy
+msgid "invalid option"
+msgstr "id inválido: %s\n"
+
+#: sys-utils/ldattach.c:199
+#, fuzzy, c-format
+msgid "invalid line discipline: %s"
+msgstr "id inválido: %s\n"
+
+#: sys-utils/ldattach.c:207
+#, fuzzy, c-format
+msgid "%s is not a serial line"
+msgstr "%s não é um dispositivo de blocos especial"
+
+#: sys-utils/ldattach.c:213
+#, 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:216
+#, c-format
+msgid "speed %d unsupported"
+msgstr ""
+
+#: sys-utils/ldattach.c:247
+#, 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:254
+#, fuzzy
+msgid "cannot set line discipline"
+msgstr "Não foi possível realizar busca na unidade de disco"
+
+#: sys-utils/ldattach.c:260
+#, fuzzy
+msgid "cannot daemonize"
+msgstr "Não foi possível obter o tamanho de %s"
+
+#: sys-utils/lscpu.c:64
+#, fuzzy
+msgid "none"
+msgstr "Concluído"
+
+#: sys-utils/lscpu.c:65
+msgid "para"
+msgstr ""
+
+#: sys-utils/lscpu.c:66
+msgid "full"
+msgstr ""
+
+#: sys-utils/lscpu.c:129 sys-utils/lscpu.c:152 sys-utils/lscpu.c:441
+#, fuzzy, c-format
+msgid "error: %s"
+msgstr ", erro"
+
+#: sys-utils/lscpu.c:154
+#, fuzzy, c-format
+msgid "error parse: %s"
+msgstr "erro na leitura de %s\n"
+
+#: sys-utils/lscpu.c:176
+#, fuzzy
+msgid "error: strdup failed"
+msgstr "A abertura de %s falhou"
+
+#: sys-utils/lscpu.c:259
+#, fuzzy
+msgid "error: uname failed"
+msgstr "Erro no fechamento de %s\n"
+
+#: sys-utils/lscpu.c:491
+#, fuzzy
+msgid "error: malloc failed"
+msgstr "malloc falhou"
+
+#: sys-utils/lscpu.c:506
+msgid "error: /sys filesystem is not accessable."
+msgstr ""
+
+#: sys-utils/lscpu.c:524
+#, 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"
+"# CPU,Core,Socket,Node"
+msgstr ""
+
+#: sys-utils/lscpu.c:590
+msgid "Thread(s) per core:"
+msgstr ""
+
+#: sys-utils/lscpu.c:591
+msgid "Core(s) per socket:"
+msgstr ""
+
+#: sys-utils/lscpu.c:592
+msgid "CPU socket(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:596
+msgid "NUMA node(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:598
+msgid "Vendor ID:"
+msgstr ""
+
+#: sys-utils/lscpu.c:600
+msgid "CPU family:"
+msgstr ""
+
+#: sys-utils/lscpu.c:602
+msgid "Model:"
+msgstr ""
+
+#: sys-utils/lscpu.c:604
+msgid "Stepping:"
+msgstr ""
+
+#: sys-utils/lscpu.c:606
+msgid "CPU MHz:"
+msgstr ""
+
+#: sys-utils/lscpu.c:609 sys-utils/lscpu.c:611
+#, fuzzy
+msgid "Virtualization:"
+msgstr "Situação antiga:\n"
+
+#: sys-utils/lscpu.c:614
+msgid "Hypervisor vendor:"
+msgstr ""
+
+#: sys-utils/lscpu.c:615
+msgid "Virtualization type:"
+msgstr ""
+
+#: sys-utils/lscpu.c:623
+#, c-format
+msgid "%s cache:"
+msgstr ""
+
+#: sys-utils/lscpu.c:631
+#, fuzzy, c-format
+msgid "Usage: %s [option]\n"
+msgstr "Uso: %s [opções] dispositivo ...\n"
+
+#: sys-utils/lscpu.c:634
+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 ""
+
+#: sys-utils/lscpu.c:683
+#, fuzzy, c-format
+msgid "error: change working directory to %s."
+msgstr "erro ao alterar o modo de %s: %s\n"
+
+#: sys-utils/rdev.c:77
+#, fuzzy
+msgid "usage: rdev [ -rv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]"
+msgstr ""
+"Uso: rdev [ -rsv ] [ -o DESLOCAMENTO ] [ IMAGEM [ VALOR [ DESLOCAMENTO] ] ]"
+
+#: sys-utils/rdev.c:78
+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"
+
+#: sys-utils/rdev.c:79
+msgid "  rdev /dev/fd0 /dev/hda2         sets ROOT to /dev/hda2"
+msgstr "  rdev /dev/fd0 /dev/hda2         define a RAIZ como /dev/hda2"
+
+#: sys-utils/rdev.c:80
+msgid "  rdev -R /dev/fd0 1              set the ROOTFLAGS (readonly status)"
+msgstr ""
+"  rdev -R /dev/fd0 1              define ROOTFLAGS (status de somente "
+"leitura)"
+
+#: sys-utils/rdev.c:81
+msgid "  rdev -r /dev/fd0 627            set the RAMDISK size"
+msgstr ""
+"  rdev -r /dev/fd0 627            define o tamanho do RAMDISK (disco de RAM)"
+
+#: sys-utils/rdev.c:82
+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"
+
+#: sys-utils/rdev.c:83
+msgid "  rdev -o N ...                   use the byte offset N"
+msgstr "  rdev -o N ...                   usa o deslocamento de bytes N"
+
+#: sys-utils/rdev.c:84
+msgid "  rootflags ...                   same as rdev -R"
+msgstr "  rootflags ...                   o mesmo que rdev -R"
+
+#: sys-utils/rdev.c:85
+msgid "  ramsize ...                     same as rdev -r"
+msgstr "  ramsize ...                     o mesmo que rdev -r"
+
+#: sys-utils/rdev.c:86
+msgid "  vidmode ...                     same as rdev -v"
+msgstr "  vidmode ...                     o mesmo que rdev -v"
+
+#: sys-utils/rdev.c:87
+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,..."
+
+#: sys-utils/rdev.c:88
+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."
+
+#: sys-utils/rdev.c:245
+msgid "missing comma"
+msgstr ""
+
+#: sys-utils/readprofile.c:72
+#, fuzzy, c-format
+msgid "out of memory"
+msgstr "memória insuficiente?\n"
+
+#: sys-utils/readprofile.c:118
+#, fuzzy, 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: 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"
+
+#: sys-utils/readprofile.c:227
+#, fuzzy, c-format
+msgid "readprofile: error writing %s: %s\n"
+msgstr "mount: erro ao gravar %s: %s"
+
+#: sys-utils/readprofile.c:268
+#, c-format
+msgid "Assuming reversed byte order. Use -n to force native byte order.\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:284
+#, c-format
+msgid "Sampling_step: %i\n"
+msgstr "Passo de amostragem: %i\n"
+
+#: sys-utils/readprofile.c:305 sys-utils/readprofile.c:331
+#, c-format
+msgid "%s: %s(%i): wrong map line\n"
+msgstr "%s: %s(%i): linha de mapa incorreta\n"
+
+#: sys-utils/readprofile.c:318
+#, c-format
+msgid "%s: can't find \"_stext\" in %s\n"
+msgstr "%s: não foi possível localizar \"_stext\" em %s\n"
+
+#: sys-utils/readprofile.c:352
+#, c-format
+msgid "%s: profile address out of range. Wrong map file?\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:412
+msgid "total"
+msgstr "total"
+
+#: sys-utils/renice.c:53
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" renice [-n] priority [-p|--pid] pid  [... pid]\n"
+" renice [-n] priority  -g|--pgrp pgrp [... pgrp]\n"
+" renice [-n] priority  -u|--user user [... user]\n"
+" renice -h | --help\n"
+" renice -v | --version\n"
+"\n"
+msgstr ""
+
+#: sys-utils/renice.c:89
+#, fuzzy, c-format
+msgid "renice from %s\n"
+msgstr "%s de %s\n"
+
+#: sys-utils/renice.c:126
+#, c-format
+msgid "renice: %s: unknown user\n"
+msgstr "renice: %s: usuário desconhecido\n"
+
+#: sys-utils/renice.c:134
+#, c-format
+msgid "renice: %s: bad value\n"
+msgstr "renice: %s: valor inválido\n"
+
+#: sys-utils/renice.c:152 sys-utils/renice.c:164
+msgid "getpriority"
+msgstr "getpriority"
+
+#: sys-utils/renice.c:157
+msgid "setpriority"
+msgstr "setpriority"
+
+#: sys-utils/renice.c:168
+#, c-format
+msgid "%d: old priority %d, new priority %d\n"
+msgstr "%d: prioridade antiga = %d; prioridade nova = %d\n"
+
+#: sys-utils/rtcwake.c:81
+#, c-format
+msgid ""
+"usage: %s [options]\n"
+"    -d | --device <device>    select rtc device (rtc0|rtc1|...)\n"
+"    -l | --local              RTC uses local timezone\n"
+"    -m | --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"
+"    -V | --version            show version\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:140
+#, fuzzy
+msgid "read rtc time"
+msgstr "leitura/gravação"
+
+#: sys-utils/rtcwake.c:145
+msgid "read system time"
+msgstr ""
+
+#: sys-utils/rtcwake.c:163
+msgid "convert rtc time"
+msgstr ""
+
+#: sys-utils/rtcwake.c:222
+msgid "set rtc alarm"
+msgstr ""
+
+#: sys-utils/rtcwake.c:226
+msgid "enable rtc alarm"
+msgstr ""
+
+#: sys-utils/rtcwake.c:230
+msgid "set rtc wake alarm"
+msgstr ""
+
+#: sys-utils/rtcwake.c:342
+#, fuzzy, c-format
+msgid "%s: unrecognized suspend state '%s'\n"
+msgstr " %s: partição não reconhecida\n"
+
+#: sys-utils/rtcwake.c:351
+#, fuzzy, c-format
+msgid "%s: illegal interval %s seconds\n"
+msgstr "Tecla ilegal"
+
+#: sys-utils/rtcwake.c:365
+#, fuzzy, c-format
+msgid "%s: illegal time_t value %s\n"
+msgstr "%s: não foi possível abrir %s\n"
+
+#: sys-utils/rtcwake.c:381
+#, fuzzy, c-format
+msgid "%s: version %s\n"
+msgstr "%s versão %s\n"
+
+#: sys-utils/rtcwake.c:394
+#, c-format
+msgid "%s: assuming RTC uses UTC ...\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:399
+#, fuzzy, c-format
+msgid "Using UTC time.\n"
+msgstr "Usando %s.\n"
+
+#: sys-utils/rtcwake.c:400
+#, fuzzy, c-format
+msgid "Using local time.\n"
+msgstr "Usando %s.\n"
+
+#: sys-utils/rtcwake.c:403
+#, c-format
+msgid "%s: must provide wake time\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:413
+#, fuzzy
+msgid "malloc() failed"
+msgstr "malloc falhou"
+
+#: sys-utils/rtcwake.c:425
+#, fuzzy, c-format
+msgid "%s: %s not enabled for wakeup events\n"
+msgstr "%s: %s não é um dispositivo lp.\n"
+
+#: sys-utils/rtcwake.c:441
+#, c-format
+msgid "alarm %ld, sys_time %ld, rtc_time %ld, seconds %u\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:446
+#, c-format
+msgid "%s: time doesn't go backward to %s\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:456
+#, fuzzy, c-format
+msgid "%s: wakeup from \"%s\" using %s at %s\n"
+msgstr "Mensagem de %s@%s em %s em %s ..."
+
+#: sys-utils/rtcwake.c:473
+#, fuzzy
+msgid "rtc read"
+msgstr ", pronto"
+
+#: sys-utils/rtcwake.c:482
+msgid "disable rtc alarm interrupt"
+msgstr ""
+
+#: sys-utils/setarch.c:50
+#, c-format
+msgid "Switching on %s.\n"
+msgstr ""
+
+#: sys-utils/setarch.c:113
+#, c-format
+msgid ""
+"Usage: %s%s [options] [program [program arguments]]\n"
+"\n"
+"Options:\n"
+msgstr ""
+
+#: sys-utils/setarch.c:117
+#, c-format
+msgid ""
+" -h, --help               displays this help text\n"
+" -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"
+msgstr ""
+
+#: sys-utils/setarch.c:131
+#, c-format
+msgid ""
+"\n"
+"For more information see setarch(8).\n"
+msgstr ""
+
+#: sys-utils/setarch.c:143
+#, fuzzy, c-format
+msgid ""
+"%s: %s\n"
+"Try `%s --help' for more information.\n"
+msgstr "Tente `getopt --help' para maiores informações.\n"
+
+#: sys-utils/setarch.c:215 sys-utils/setarch.c:231
+#, fuzzy, c-format
+msgid "%s: Unrecognized architecture"
+msgstr " %s: partição não reconhecida\n"
+
+#: sys-utils/setarch.c:249 sys-utils/setarch.c:256
+#, fuzzy
+msgid "Not enough arguments"
+msgstr "Número excessivo de argumentos.\n"
+
+#: sys-utils/setarch.c:265 sys-utils/setarch.c:318
+#, 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:26
+#, c-format
+msgid "usage: %s program [arg ...]\n"
+msgstr "Uso: %s programa [arg ...]\n"
+
+#: sys-utils/tunelp.c:75
+#, c-format
+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"
+
+#: sys-utils/tunelp.c:91
+msgid "malloc error"
+msgstr "erro de malloc"
+
+#: sys-utils/tunelp.c:103
+#, c-format
+msgid "%s: bad value\n"
+msgstr "%s: valor inválido\n"
+
+#: sys-utils/tunelp.c:242
+#, c-format
+msgid "%s: %s not an lp device.\n"
+msgstr "%s: %s não é um dispositivo lp.\n"
+
+#: sys-utils/tunelp.c:263
+#, c-format
+msgid "%s status is %d"
+msgstr "o status de %s é %d"
+
+#: sys-utils/tunelp.c:264
+#, c-format
+msgid ", busy"
+msgstr ", ocupado"
+
+#: sys-utils/tunelp.c:265
+#, c-format
+msgid ", ready"
+msgstr ", pronto"
+
+#: sys-utils/tunelp.c:266
+#, c-format
+msgid ", out of paper"
+msgstr ", sem papel"
+
+#: sys-utils/tunelp.c:267
+#, c-format
+msgid ", on-line"
+msgstr ", on-line"
+
+#: sys-utils/tunelp.c:268
+#, c-format
+msgid ", error"
+msgstr ", erro"
+
+#: sys-utils/tunelp.c:285
+msgid "LPGETIRQ error"
+msgstr "erro LPGETIRQ"
+
+#: sys-utils/tunelp.c:291
+#, c-format
+msgid "%s using IRQ %d\n"
+msgstr "%s usando IRQ %d\n"
+
+#: sys-utils/tunelp.c:293
+#, c-format
+msgid "%s using polling\n"
+msgstr "%s usando consulta (polling)\n"
+
+#: text-utils/col.c:154
+#, c-format
+msgid "col: bad -l argument %s.\n"
+msgstr "col: argumento inválido para -l %s.\n"
+
+#: text-utils/col.c:544
+#, c-format
+msgid "usage: col [-bfpx] [-l nline]\n"
+msgstr "Uso: col [-bfpx] [-l nlinha]\n"
+
+#: text-utils/col.c:550
+#, c-format
+msgid "col: write error.\n"
+msgstr "col: erro de gravação.\n"
+
+#: text-utils/col.c:557
+#, c-format
+msgid "col: warning: can't back up %s.\n"
+msgstr "col: aviso: não é possível fazer backup de %s.\n"
+
+#: text-utils/col.c:558
+msgid "past first line"
+msgstr "além da primeira linha"
+
+#: text-utils/col.c:558
+msgid "-- line already flushed"
+msgstr "-- linha já descarregada"
+
+#: text-utils/colcrt.c:97
+#, c-format
+msgid "usage: %s [ - ] [ -2 ] [ file ... ]\n"
+msgstr "Uso: %s [ - ] [ -2 ] [ arquivo ... ]\n"
+
+#: text-utils/column.c:297
+msgid "line too long"
+msgstr "linha longa demais"
+
+#: text-utils/column.c:374
+#, c-format
+msgid "usage: column [-tx] [-c columns] [file ...]\n"
+msgstr "Uso: column [-tx] [-c colunas] [arquivo ...]\n"
+
+#: text-utils/hexsyntax.c:82
+#, c-format
+msgid "hexdump: bad length value.\n"
+msgstr "hexdump: valor de comprimento incorreto.\n"
+
+#: text-utils/hexsyntax.c:93
+#, c-format
+msgid "hexdump: bad skip value.\n"
+msgstr "hexdump: valor para pular incorreto.\n"
+
+#: text-utils/hexsyntax.c:131
+#, fuzzy, c-format
+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"
+
+#: text-utils/more.c:256
+#, c-format
+msgid "usage: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n"
+msgstr "Uso: %s [-dflpcsu] [+número_da_linha | +/padrão] nome1 nome2 ...\n"
+
+#: text-utils/more.c:479
+#, fuzzy, c-format
+msgid "%s: unknown option \"-%c\"\n"
+msgstr "%s: sinal desconhecido %s\n"
+
+#: text-utils/more.c:511
+#, c-format
+msgid ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+msgstr ""
+"\n"
+"*** %s: diretório ***\n"
+"\n"
+
+#: text-utils/more.c:555
+#, 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:658
+#, c-format
+msgid "[Use q or Q to quit]"
+msgstr "[Use q ou Q para sair]"
+
+#: text-utils/more.c:750
+#, c-format
+msgid "--More--"
+msgstr "--Mais--"
+
+#: text-utils/more.c:752
+#, c-format
+msgid "(Next file: %s)"
+msgstr "(Próximo arquivo: %s)"
+
+#: text-utils/more.c:757
+#, c-format
+msgid "[Press space to continue, 'q' to quit.]"
+msgstr "[Pressione espaço para continuar, 'q' para sair.]"
+
+#: text-utils/more.c:1172
+#, fuzzy, c-format
+msgid "...back %d pages"
+msgstr "...voltar %d página(s)"
+
+#: text-utils/more.c:1174
+#, fuzzy
+msgid "...back 1 page"
+msgstr "...voltar %d página(s)"
+
+#: text-utils/more.c:1217
+#, fuzzy
+msgid "...skipping one line"
+msgstr "... pulando %d linha(s)"
+
+#: text-utils/more.c:1219
+#, fuzzy, c-format
+msgid "...skipping %d lines"
+msgstr "... pulando %d linha(s)"
+
+#: text-utils/more.c:1256
+msgid ""
+"\n"
+"***Back***\n"
+"\n"
+msgstr ""
+"\n"
+"***Voltar***\n"
+"\n"
+
+#: text-utils/more.c:1294
+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:1301
+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:1370 text-utils/more.c:1375
+#, c-format
+msgid "[Press 'h' for instructions.]"
+msgstr "[Pressione 'h' para obter instruções.]"
+
+#: text-utils/more.c:1409
+#, c-format
+msgid "\"%s\" line %d"
+msgstr "\"%s\" linha %d"
+
+#: text-utils/more.c:1411
+#, c-format
+msgid "[Not a file] line %d"
+msgstr "[Não é um arquivo] linha %d"
+
+#: text-utils/more.c:1495
+msgid "  Overflow\n"
+msgstr "  Estouro\n"
+
+#: text-utils/more.c:1542
+msgid "...skipping\n"
+msgstr "...pulando\n"
+
+#: text-utils/more.c:1571
+msgid "Regular expression botch"
+msgstr "Expressão regular malformada"
+
+#: text-utils/more.c:1579
+msgid ""
+"\n"
+"Pattern not found\n"
+msgstr ""
+"\n"
+"Padrão não encontrado\n"
+
+#: text-utils/more.c:1582 text-utils/pg.c:1124 text-utils/pg.c:1275
+msgid "Pattern not found"
+msgstr "Padrão não encontrado"
+
+#: text-utils/more.c:1643
+msgid "can't fork\n"
+msgstr "não foi possível realizar fork\n"
+
+#: text-utils/more.c:1682
+msgid ""
+"\n"
+"...Skipping "
+msgstr ""
+"\n"
+"...Pulando "
+
+#: text-utils/more.c:1686
+#, fuzzy
+msgid "...Skipping to file "
+msgstr "...Pulando "
+
+#: text-utils/more.c:1688
+#, fuzzy
+msgid "...Skipping back to file "
+msgstr "de volta ao arquivo"
+
+#: text-utils/more.c:1966
+msgid "Line too long"
+msgstr "Linha longa demais"
+
+#: text-utils/more.c:2009
+msgid "No previous command to substitute for"
+msgstr "Não há comando anterior para ser substituído"
+
+#: text-utils/odsyntax.c:130
+#, c-format
+msgid "od: od(1) has been deprecated for hexdump(1).\n"
+msgstr "od: od(1) foi depreciado para hexdump(1).\n"
+
+#: text-utils/odsyntax.c:133
+#, c-format
+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"
+
+#: text-utils/odsyntax.c:134
+msgid "; see strings(1)."
+msgstr "; consulte strings(1)."
+
+#: text-utils/parse.c:63
+#, c-format
+msgid "hexdump: can't read %s.\n"
+msgstr "hexdump: não foi possível ler %s.\n"
+
+#: text-utils/parse.c:68
+#, c-format
+msgid "hexdump: line too long.\n"
+msgstr "hexdump: linha longa demais.\n"
+
+#: text-utils/parse.c:401
+#, c-format
+msgid "hexdump: byte count with multiple conversion characters.\n"
+msgstr "hexdump: contagem de bytes com múltiplos caracteres de conversão.\n"
+
+#: text-utils/parse.c:483
+#, c-format
+msgid "hexdump: bad byte count for conversion character %s.\n"
+msgstr "hexdump: contagem de bytes inválida para caractere de conversão %s.\n"
+
+#: text-utils/parse.c:490
+#, c-format
+msgid "hexdump: %%s requires a precision or a byte count.\n"
+msgstr "hexdump: %% exige uma precisão ou uma contagem de bytes.\n"
+
+#: text-utils/parse.c:496
+#, c-format
+msgid "hexdump: bad format {%s}\n"
+msgstr "hexdump: formato inválido{%s}\n"
+
+#: text-utils/parse.c:502
+#, c-format
+msgid "hexdump: bad conversion character %%%s.\n"
+msgstr "hexdump: caractere de conversão inválido %%%s.\n"
+
+#: text-utils/pg.c:145
+msgid ""
+"All rights reserved.\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"
+msgstr ""
+
+#: text-utils/pg.c:223
+#, fuzzy
+msgid "Out of memory\n"
+msgstr "Memória insuficiente"
+
+#: text-utils/pg.c:236
+#, c-format
+msgid ""
+"%s: Usage: %s [-number] [-p string] [-cefnrs] [+line] [+/pattern/] [files]\n"
+msgstr ""
+
+#: text-utils/pg.c:245
+#, fuzzy, c-format
+msgid "%s: option requires an argument -- %s\n"
+msgstr "a opção `%s' exige um argumento\n"
+
+#: text-utils/pg.c:253
+#, fuzzy, c-format
+msgid "%s: illegal option -- %s\n"
+msgstr "%s: não foi possível abrir %s\n"
+
+#: text-utils/pg.c:370
+#, fuzzy
+msgid "...skipping forward\n"
+msgstr "...pulando\n"
+
+#: text-utils/pg.c:372
+#, fuzzy
+msgid "...skipping backward\n"
+msgstr "...pulando\n"
+
+#: text-utils/pg.c:394
+#, fuzzy
+msgid "No next file"
+msgstr "(Próximo arquivo: %s)"
+
+#: text-utils/pg.c:398
+#, fuzzy
+msgid "No previous file"
+msgstr "Nenhuma partição definida\n"
+
+#: text-utils/pg.c:928
+#, fuzzy, c-format
+msgid "%s: Read error from %s file\n"
+msgstr "%s: erro de leitura em %s\n"
+
+#: text-utils/pg.c:934
+#, c-format
+msgid "%s: Unexpected EOF in %s file\n"
+msgstr ""
+
+#: text-utils/pg.c:937
+#, fuzzy, c-format
+msgid "%s: Unknown error in %s file\n"
+msgstr "%s: erro de procura em %s\n"
+
+#: text-utils/pg.c:1032
+#, 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:1041 text-utils/pg.c:1216 text-utils/pg.c:1243
+#, fuzzy
+msgid "RE error: "
+msgstr ", erro"
+
+#: text-utils/pg.c:1198
+msgid "(EOF)"
+msgstr ""
+
+#: text-utils/pg.c:1224 text-utils/pg.c:1251
+msgid "No remembered search string"
+msgstr ""
+
+#: text-utils/pg.c:1307
+#, fuzzy
+msgid "Cannot open "
+msgstr "Não foi possível abrir %s\n"
+
+#: text-utils/pg.c:1355
+#, fuzzy
+msgid "saved"
+msgstr "envio"
+
+#: text-utils/pg.c:1462
+msgid ": !command not allowed in rflag mode.\n"
+msgstr ""
+
+#: text-utils/pg.c:1494
+#, fuzzy
+msgid "fork() failed, try again later\n"
+msgstr "A senha *NÃO* foi alterada. Tente novamente mais tarde.\n"
+
+#: text-utils/pg.c:1702
+#, fuzzy
+msgid "(Next file: "
+msgstr "(Próximo arquivo: %s)"
+
+#: text-utils/rev.c:113
+#, fuzzy
+msgid "unable to allocate bufferspace"
+msgstr "Não foi possível alocar espaço em buffer\n"
+
+#: text-utils/rev.c:143
+#, c-format
+msgid "usage: rev [file ...]\n"
+msgstr "Uso: rev [arquivo ...]\n"
+
+#: text-utils/tailf.c:57 text-utils/tailf.c:92
+#, fuzzy, c-format
+msgid "cannot open \"%s\" for read"
+msgstr "não foi possível abrir %s para leitura"
+
+#: text-utils/tailf.c:95 text-utils/tailf.c:214
+#, fuzzy, c-format
+msgid "cannot stat \"%s\""
+msgstr "não foi possível verificar status de dispositivo %s"
+
+#: text-utils/tailf.c:108
+#, c-format
+msgid "incomplete write to \"%s\" (written %zd, expected %zd)\n"
+msgstr ""
+
+#: text-utils/tailf.c:146
+#, c-format
+msgid "%s: cannot add inotify watch (limit of inotify watches was reached)."
+msgstr ""
+
+#: text-utils/tailf.c:150
+#, c-format
+msgid "%s: cannot add inotify watch."
+msgstr ""
+
+#: text-utils/tailf.c:159
+#, fuzzy, c-format
+msgid "%s: cannot read inotify events"
+msgstr "%s: não foi possível abrir %s: %s\n"
+
+#: text-utils/tailf.c:198 text-utils/tailf.c:202
+#, fuzzy
+msgid "invalid number of lines"
+msgstr "número `%s' inválido\n"
+
+#: text-utils/tailf.c:209
+#, fuzzy
+msgid "usage: tailf [-n N | -N] logfile"
+msgstr "Uso: %s [arquivo]\n"
+
+#: text-utils/ul.c:141
+#, c-format
+msgid "usage: %s [ -i ] [ -tTerm ] file...\n"
+msgstr "Uso: %s [ -i ] [ -tTerm ] arquivo...\n"
+
+#: text-utils/ul.c:152
+#, c-format
+msgid "trouble reading terminfo"
+msgstr "problemas na leitura de terminfo"
+
+#: text-utils/ul.c:242
+#, c-format
+msgid "Unknown escape sequence in input: %o, %o\n"
+msgstr "Seqüência de escape desconhecida na entrada: %o, %o\n"
+
+#: text-utils/ul.c:425
+#, c-format
+msgid "Unable to allocate buffer.\n"
+msgstr "Não foi possível alocar buffer.\n"
+
+#: text-utils/ul.c:586
+#, c-format
+msgid "Input line too long.\n"
+msgstr "Linha de entrada longa demais.\n"
+
+#: text-utils/ul.c:599
+#, c-format
+msgid "Out of memory when growing buffer.\n"
+msgstr "Falta memória quando o buffer cresce.\n"
+
+#~ msgid "# partition table of %s\n"
+#~ msgstr "# tabela de partição de %s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "unit: sectors\n"
+#~ "\n"
+#~ msgstr "%d setores não alocados\n"
+
+#, fuzzy
+#~ msgid " start=%9lu"
+#~ msgstr "status"
+
+#, fuzzy
+#~ msgid ", size=%9lu"
+#~ msgstr "Tamanho máximo = %ld\n"
+
+#, 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: unable to get current directory - %s\n"
+#~ msgstr "namei: não foi possível obter o diretório atual - %s\n"
+
+#~ msgid "namei: unable to chdir to %s - %s (%d)\n"
+#~ msgstr "namei: não foi possível mudar para o diretório %s - %s (%d)\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"
+
+#, fuzzy
+#~ msgid "%s: cannot stat %s: %s\n"
+#~ msgstr "swapon: não foi possível stat %s: %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 "Autoconfigure failed.\n"
+#~ msgstr "A configuração automática falhou.\n"
+
+#~ 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 from %s%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"
+
+#~ msgid "mount: cannot find %s in %s"
+#~ msgstr "mount: não foi possível localizar %s em %s"
+
+#, 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 "Warning: deleting partitions after %d\n"
+#~ msgstr "Aviso: excluindo partições após %d\n"
+
+#~ 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 "Warning: partition %s contains part of "
+#~ msgstr "Aviso: a partição %s contém parte da "
+
+#~ msgid "the partition table (sector %lu),\n"
+#~ msgstr "tabela de partições (setor %lu) \n"
+
+#~ 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 "number `%s' to `%s' out of range\n"
+#~ msgstr "número `%s' a `%s' fora do intervalo\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 "new "
+#~ msgstr "novas "
+
+#~ 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 "mount: fs type %s not supported by kernel"
+#~ msgstr "mount: o tipo de sistema de arquivos %s não é suportado pelo kernel"
+
+#~ 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 (file)
index 0000000..0122c46
--- /dev/null
@@ -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 (file)
index 0000000..2436c49
--- /dev/null
@@ -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 (file)
index 0000000..d95b000
Binary files /dev/null and b/po/ru.gmo differ
diff --git a/po/ru.po b/po/ru.po
new file mode 100644 (file)
index 0000000..2d7ea5b
--- /dev/null
+++ b/po/ru.po
@@ -0,0 +1,12130 @@
+# 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: Karel Zak <kzak@redhat.com>\n"
+"POT-Creation-Date: 2009-11-30 16:27+0100\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"
+"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/blockdev.c:37
+msgid "set read-only"
+msgstr "ÕÓÔÁÎÏ×ÉÔØ ÔÏÌØËÏ ÄÌÑ ÞÔÅÎÉÑ"
+
+#: disk-utils/blockdev.c:38
+msgid "set read-write"
+msgstr "ÕÓÔÁÎÏ×ÉÔØ ÞÔÅÎÉÅ-ÚÁÐÉÓØ"
+
+#: disk-utils/blockdev.c:39
+msgid "get read-only"
+msgstr "ÐÏÌÕÞÉÔØ ÔÏÌØËÏ ÄÌÑ ÞÔÅÎÉÑ"
+
+#: disk-utils/blockdev.c:40
+msgid "get sectorsize"
+msgstr "ÐÏÌÕÞÉÔØ ÒÁÚÍÅÒ ÓÅËÔÏÒÁ"
+
+#: disk-utils/blockdev.c:41
+msgid "get blocksize"
+msgstr "ÐÏÌÕÞÉÔØ ÒÁÚÍÅÒ ÂÌÏËÁ"
+
+#: disk-utils/blockdev.c:42
+msgid "set blocksize"
+msgstr "ÕÓÔÁÎÏ×ÉÔØ ÒÁÚÍÅÒ ÂÌÏËÁ"
+
+#: disk-utils/blockdev.c:43
+msgid "get 32-bit sector count"
+msgstr "ÐÏÌÕÞÉÔØ ËÏÌÉÞÅÓÔ×Ï 32-ÂÉÔÎÙÈ ÓÅËÔÏÒÏ×"
+
+#: disk-utils/blockdev.c:44
+msgid "get size in bytes"
+msgstr "ÐÏÌÕÞÉÔØ ÒÁÚÍÅÒ × ÂÁÊÔÁÈ"
+
+#: disk-utils/blockdev.c:45
+msgid "set readahead"
+msgstr "ÕÓÔÁÎÏ×ÉÔØ ÕÐÒÅÖÄÁÀÝÅÅ ÞÔÅÎÉÅ"
+
+#: disk-utils/blockdev.c:46
+msgid "get readahead"
+msgstr "ÐÏÌÕÞÉÔØ ÕÐÒÅÖÄÁÀÝÅÅ ÞÔÅÎÉÅ"
+
+#: disk-utils/blockdev.c:47
+#, fuzzy
+msgid "set filesystem readahead"
+msgstr "ÕÓÔÁÎÏ×ÉÔØ ÕÐÒÅÖÄÁÀÝÅÅ ÞÔÅÎÉÅ"
+
+#: disk-utils/blockdev.c:48
+#, fuzzy
+msgid "get filesystem readahead"
+msgstr "ÐÏÌÕÞÉÔØ ÕÐÒÅÖÄÁÀÝÅÅ ÞÔÅÎÉÅ"
+
+#: disk-utils/blockdev.c:49
+msgid "flush buffers"
+msgstr "ÏÞÉÓÔÉÔØ ÂÕÆÅÒÙ"
+
+#: disk-utils/blockdev.c:51
+msgid "reread partition table"
+msgstr "ÐÅÒÅÞÉÔÁÔØ ÔÁÂÌÉÃÕ ÒÁÚÄÅÌÏ×"
+
+#: disk-utils/blockdev.c:60
+#, c-format
+msgid "Usage:\n"
+msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ:\n"
+
+#: disk-utils/blockdev.c:62
+#, c-format
+msgid "  %s --report [devices]\n"
+msgstr "  %s --report [ÕÓÔÒÏÊÓÔ×Á]\n"
+
+#: disk-utils/blockdev.c:63
+#, c-format
+msgid "  %s [-v|-q] commands devices\n"
+msgstr "  %s [-v|-q] ËÏÍÁÎÄÙ ÕÓÔÒÏÊÓÔ×ÁÍ\n"
+
+#: disk-utils/blockdev.c:66
+#, c-format
+msgid "Available commands:\n"
+msgstr "äÏÓÔÕÐÎÙÅ ËÏÍÁÎÄÙ:\n"
+
+#: disk-utils/blockdev.c:68
+#, fuzzy
+msgid "get size in 512-byte sectors"
+msgstr "ÐÏÌÕÞÉÔØ ÒÁÚÍÅÒ × ÂÁÊÔÁÈ"
+
+#: disk-utils/blockdev.c:201
+#, c-format
+msgid "%s: Unknown command: %s\n"
+msgstr "%s: îÅÉÚ×ÅÓÔÎÁÑ ËÏÍÁÎÄÁ: %s\n"
+
+#: disk-utils/blockdev.c:213 disk-utils/blockdev.c:222
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "äÌÑ %s ÔÒÅÂÕÅÔÓÑ ÁÒÇÕÍÅÎÔ\n"
+
+#: disk-utils/blockdev.c:255
+#, fuzzy, c-format
+msgid "%s failed.\n"
+msgstr "ÐÏÉÓË ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ"
+
+#: disk-utils/blockdev.c:292
+#, c-format
+msgid "%s succeeded.\n"
+msgstr "%s ÚÁ×ÅÒÛÅΠÕÓÐÅÛÎÏ.\n"
+
+#: disk-utils/blockdev.c:310 disk-utils/blockdev.c:338
+#, c-format
+msgid "%s: cannot open %s\n"
+msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ %s\n"
+
+#: disk-utils/blockdev.c:355
+#, c-format
+msgid "%s: ioctl error on %s\n"
+msgstr "%s: ÏÛÉÂËÁ ÕÐÒÁ×ÌÅÎÉÑ ××ÏÄÏÍ-×Ù×ÏÄÏÍ ÎÁ %s\n"
+
+#: disk-utils/blockdev.c:364
+#, fuzzy, c-format
+msgid "RO    RA   SSZ   BSZ   StartSec            Size   Device\n"
+msgstr "þÔ    úР  óËÔ   âÌË   îÁÞóÅËÔ     òÁÚÍÅÒ    õÓÔÒÏÊÓÔ×Ï\n"
+
+#: disk-utils/elvtune.c:48
+#, c-format
+msgid "usage:\n"
+msgstr "ÉÓÐÏÌØÚÏ×ÁÎÉÅ:\n"
+
+#: disk-utils/elvtune.c:53
+#, c-format
+msgid "\tNOTE: elvtune only works with 2.4 kernels\n"
+msgstr ""
+
+#: disk-utils/elvtune.c:104
+#, fuzzy, c-format
+msgid "parse error\n"
+msgstr "ÏÛÉÂËÁ ÐÏÉÓËÁ"
+
+#: disk-utils/elvtune.c:110
+#, fuzzy, c-format
+msgid "missing blockdevice, use -h for help\n"
+msgstr "%s ÎÅ Ñ×ÌÑÅÔÓÑ ÂÌÏÞÎÙÍ ÕÓÔÒÏÊÓÔ×ÏÍ ÉÌÉ ÆÁÊÌÏÍ\n"
+
+#: disk-utils/elvtune.c:131
+#, 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:31
+#, c-format
+msgid "Formatting ... "
+msgstr "÷ÙÐÏÌÎÑÅÔÓÑ ÆÏÒÍÁÔÉÒÏ×ÁÎÉÅ ... "
+
+#: disk-utils/fdformat.c:49 disk-utils/fdformat.c:86
+#, c-format
+msgid "done\n"
+msgstr "ÇÏÔÏ×Ï\n"
+
+#: disk-utils/fdformat.c:60
+#, 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:80
+#, c-format
+msgid ""
+"bad data in cyl %d\n"
+"Continuing ... "
+msgstr ""
+"ÐÌÏÈÉÅ ÄÁÎÎÙÅ × ÃÉÌÉÎÄÒÅ %d\n"
+"ðÒÏÄÏÌÖÅÎÉÅ ... "
+
+#: disk-utils/fdformat.c:96
+#, c-format
+msgid "usage: %s [ -n ] device\n"
+msgstr "ÉÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ -n ] ÕÓÔÒÏÊÓÔ×Ï\n"
+
+#: disk-utils/fdformat.c:118 disk-utils/fsck.minix.c:1282
+#: disk-utils/isosize.c:181 disk-utils/mkfs.bfs.c:115 disk-utils/mkfs.c:52
+#: disk-utils/mkfs.cramfs.c:813 disk-utils/mkfs.minix.c:571
+#: disk-utils/mkswap.c:461 misc-utils/ddate.c:179 misc-utils/rename.c:79
+#: misc-utils/script.c:147 sys-utils/readprofile.c:197
+#, c-format
+msgid "%s (%s)\n"
+msgstr "%s (%s)\n"
+
+#: disk-utils/fdformat.c:132
+#, c-format
+msgid "%s: not a block device\n"
+msgstr "%s: ÎÅ ÂÌÏÞÎÏÅ ÕÓÔÒÏÊÓÔ×Ï\n"
+
+#: disk-utils/fdformat.c:142
+msgid "Could not determine current format type"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÂÙÌÏ ÏÐÒÅÄÅÌÉÔØ ÔÅËÕÝÉÊ ÔÉРÆÏÒÍÁÔÁ"
+
+#: disk-utils/fdformat.c:143
+#, 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:144
+msgid "Double"
+msgstr "ä×ÏÊÎÏÊ"
+
+#: disk-utils/fdformat.c:144
+msgid "Single"
+msgstr "ïÄÉÎÁÒÎÙÊ"
+
+#: disk-utils/fsck.cramfs.c:118
+#, c-format
+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"
+
+#: disk-utils/fsck.cramfs.c:164
+#, fuzzy, c-format
+msgid "stat failed: %s"
+msgstr "(óÌÅÄÕÀÝÉÊ ÆÁÊÌ: %s)"
+
+#: disk-utils/fsck.cramfs.c:168 disk-utils/fsck.cramfs.c:552
+#, fuzzy, c-format
+msgid "open failed: %s"
+msgstr "openpty ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ\n"
+
+#: disk-utils/fsck.cramfs.c:173
+#, fuzzy, c-format
+msgid "ioctl failed: unable to determine device size: %s"
+msgstr "%s: ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ - ÎÅ×ÏÚÍÏÖÎÏ ÏÐÒÅÄÅÌÉÔØ ÒÁÚÍÅÒ ÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÙ\n"
+
+#: disk-utils/fsck.cramfs.c:181
+#, fuzzy, c-format
+msgid "not a block device or file: %s"
+msgstr "%s ÎÅ Ñ×ÌÑÅÔÓÑ ÂÌÏÞÎÙÍ ÕÓÔÒÏÊÓÔ×ÏÍ ÉÌÉ ÆÁÊÌÏÍ\n"
+
+#: disk-utils/fsck.cramfs.c:185 disk-utils/fsck.cramfs.c:227
+#, fuzzy
+msgid "file length too short"
+msgstr "%s: ÎÅ×ÅÒÎÙÊ cramfs - ÒÁÚÍÅÒ ÆÁÊÌÁ ÓÌÉÛËÏÍ ÍÁÌ\n"
+
+#: disk-utils/fsck.cramfs.c:190 disk-utils/fsck.cramfs.c:198
+#: disk-utils/fsck.cramfs.c:259 disk-utils/fsck.cramfs.c:279
+#, fuzzy, c-format
+msgid "read failed: %s"
+msgstr "(óÌÅÄÕÀÝÉÊ ÆÁÊÌ: %s)"
+
+#: disk-utils/fsck.cramfs.c:208
+msgid "superblock magic not found"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:217
+#, fuzzy
+msgid "unsupported filesystem features"
+msgstr "÷×ÅÄÉÔÅ ÔÉРÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÙ:"
+
+#: disk-utils/fsck.cramfs.c:220
+#, fuzzy, c-format
+msgid "superblock size (%d) too small"
+msgstr "ëÏÌÉÞÅÓÔ×Ï ÓÅËÔÏÒÏ×"
+
+#: disk-utils/fsck.cramfs.c:224
+msgid "zero file count"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:230
+#, fuzzy, c-format
+msgid "warning: file extends past end of filesystem\n"
+msgstr "ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÒÁÚÄÅÌ %s ÒÁÓÐÏÌÏÇÁÅÔÓÑ ÄÏ ËÏÎÃÁ ÄÉÓËÁ\n"
+
+#: disk-utils/fsck.cramfs.c:234
+#, fuzzy, c-format
+msgid "warning: old cramfs format\n"
+msgstr "%s: ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ - ÓÔÁÒÙÊ ÏÂÒÁÚ cramfs, ÎÅÔ CRC\n"
+
+#: disk-utils/fsck.cramfs.c:247
+msgid "unable to test CRC: old cramfs format"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:273 disk-utils/fsck.cramfs.c:340
+#: disk-utils/fsck.cramfs.c:478 login-utils/chfn.c:529 login-utils/chsh.c:439
+#: sys-utils/cytune.c:321
+msgid "malloc failed"
+msgstr "malloc ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ"
+
+#: disk-utils/fsck.cramfs.c:298
+#, fuzzy
+msgid "crc error"
+msgstr ", ÏÛÉÂËÁ"
+
+#: disk-utils/fsck.cramfs.c:365
+#, fuzzy
+msgid "root inode is not directory"
+msgstr "ËÏÒÎÅ×ÏÊ inode ÎÅ Ñ×ÌÑÅÔÓÑ ËÁÔÁÌÏÇÏÍ"
+
+#: disk-utils/fsck.cramfs.c:370
+#, c-format
+msgid "bad root offset (%lu)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:388
+msgid "data block too large"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:392
+#, c-format
+msgid "decompression error %p(%d): %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:416
+#, fuzzy, c-format
+msgid "  hole at %ld (%zd)\n"
+msgstr "  'ÄÙÒÁ' × %ld (%d)\n"
+
+#: disk-utils/fsck.cramfs.c:424 disk-utils/fsck.cramfs.c:596
+#, c-format
+msgid "  uncompressing block at %ld to %ld (%ld)\n"
+msgstr "  ÒÁÓÐÁËÏ×Ù×ÁÅÔÓÑ ÂÌÏË %ld × %ld (%ld)\n"
+
+#: disk-utils/fsck.cramfs.c:430
+#, fuzzy, c-format
+msgid "non-block (%ld) bytes"
+msgstr "%s: îÅÂÌÏÞÎÙÅ (%ld) ÂÁÊÔÙ\n"
+
+#: disk-utils/fsck.cramfs.c:434
+#, fuzzy, c-format
+msgid "non-size (%ld vs %ld) bytes"
+msgstr "%s: âÅÚÒÁÚÍÅÒÎÙÅ (%ld ÐÒÏÔÉ× %ld) ÂÁÊÔÙ\n"
+
+#: disk-utils/fsck.cramfs.c:440
+#, fuzzy, c-format
+msgid "write failed: %s"
+msgstr "(óÌÅÄÕÀÝÉÊ ÆÁÊÌ: %s)"
+
+#: disk-utils/fsck.cramfs.c:453
+#, fuzzy, c-format
+msgid "lchown failed: %s"
+msgstr "mount ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ"
+
+#: disk-utils/fsck.cramfs.c:459
+#, fuzzy, c-format
+msgid "chown failed: %s"
+msgstr "mount ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ"
+
+#: disk-utils/fsck.cramfs.c:466
+#, fuzzy, c-format
+msgid "utime failed: %s"
+msgstr "ÎÅ×ÅÒÎÏÅ ÚÎÁÞÅÎÉÅ ÔÁÊÍ-ÁÕÔÁ: %s"
+
+#: disk-utils/fsck.cramfs.c:481
+#, c-format
+msgid "directory inode has zero offset and non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:495
+#, fuzzy, c-format
+msgid "mkdir failed: %s"
+msgstr "/dev: chdir() ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ: %m"
+
+#: disk-utils/fsck.cramfs.c:512
+msgid "filename length is zero"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:515
+msgid "bad filename length"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:522
+#, fuzzy
+msgid "bad inode offset"
+msgstr "ÎÅ×ÅÒÎÙÊ ÒÁÚÍÅÒ inode"
+
+#: disk-utils/fsck.cramfs.c:538
+msgid "file inode has zero offset and non-zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:541
+msgid "file inode has zero size and non-zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:572
+msgid "symbolic link has zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:575
+msgid "symbolic link has zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:587
+#, fuzzy, c-format
+msgid "size error in symlink: %s"
+msgstr "%s: ÏÛÉÂËÁ ÒÁÚÍÅÒÁ × ÓÉÍ×ÏÌÉÞÅÓËÏÊ ÓÓÙÌËÅ `%s'\n"
+
+#: disk-utils/fsck.cramfs.c:602
+#, fuzzy, c-format
+msgid "symlink failed: %s"
+msgstr "fsync ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ"
+
+#: disk-utils/fsck.cramfs.c:614
+#, c-format
+msgid "special file has non-zero offset: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:626
+#, c-format
+msgid "fifo has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:632
+#, c-format
+msgid "socket has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:637
+#, fuzzy, c-format
+msgid "bogus mode: %s (%o)"
+msgstr "%s: ÆÉËÔÉ×ÎÙÊ ÒÅÖÉÍ ÎÁ `%s' (%o)\n"
+
+#: disk-utils/fsck.cramfs.c:647
+#, fuzzy, c-format
+msgid "mknod failed: %s"
+msgstr "mount ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ"
+
+#: disk-utils/fsck.cramfs.c:683
+#, c-format
+msgid "directory data start (%ld) < sizeof(struct cramfs_super) + start (%ld)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:686
+#, fuzzy, c-format
+msgid "directory data end (%ld) != file data start (%ld)"
+msgstr ""
+"%s: ÎÅ×ÅÒÎÙÊ cramfs - ËÏÎÅàÄÁÎÎÙÈ ËÁÔÁÌÏÇÁ (%ld) != ÎÁÞÁÌÏ ÄÁÎÎÙÈ ÆÁÊÌÁ (%"
+"ld)\n"
+
+#: disk-utils/fsck.cramfs.c:691
+#, fuzzy
+msgid "invalid file data offset"
+msgstr "%s: ÎÅ×ÅÒÎÙÊ cramfs - ÏÛÉÂÏÞÎÏÅ ÓÍÅÝÅÎÉÅ ÄÁÎÎÙÈ ÆÁÊÌÁ\n"
+
+#: disk-utils/fsck.cramfs.c:715
+#, fuzzy
+msgid "failed to allocate outbuffer"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ×ÙÄÅÌÉÔØ ÂÕÆÅÒ.\n"
+
+#: disk-utils/fsck.cramfs.c:728
+#, fuzzy
+msgid "compiled without -x support"
+msgstr "%s: ÏÔËÏÍÐÉÌÉÒÏ×ÁΠÂÅÚ ÐÏÄÄÅÒÖËÉ -x\n"
+
+#: disk-utils/fsck.minix.c:210
+#, c-format
+msgid "Usage: %s [-larvsmf] /dev/name\n"
+msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [-larvsmf] /dev/ÉÍÑ\n"
+
+#: disk-utils/fsck.minix.c:326
+#, c-format
+msgid "%s is mounted.\t "
+msgstr "%s ÐÒÉÍÏÎÔÉÒÏ×ÁÎ.\t "
+
+#: disk-utils/fsck.minix.c:328
+msgid "Do you really want to continue"
+msgstr "÷Ù ÄÅÊÓÔ×ÉÔÅÌØÎÏ ÈÏÔÉÔÅ ÐÒÏÄÏÌÖÉÔØ"
+
+#: disk-utils/fsck.minix.c:332
+#, c-format
+msgid "check aborted.\n"
+msgstr "ÐÒÏ×ÅÒËÁ ÐÒÅÒ×ÁÎÁ.\n"
+
+#: disk-utils/fsck.minix.c:351 disk-utils/fsck.minix.c:374
+#, c-format
+msgid "Zone nr < FIRSTZONE in file `%s'."
+msgstr "úÏÎÁ nr < FIRSTZONE × ÆÁÊÌÅ `%s'."
+
+#: disk-utils/fsck.minix.c:355 disk-utils/fsck.minix.c:378
+#, c-format
+msgid "Zone nr >= ZONES in file `%s'."
+msgstr "úÏÎÁ nr >= ZONES × ÆÁÊÌÅ `%s'."
+
+#: disk-utils/fsck.minix.c:360 disk-utils/fsck.minix.c:383
+msgid "Remove block"
+msgstr "õÄÁÌÉÔØ ÂÌÏË"
+
+#: disk-utils/fsck.minix.c:401
+#, c-format
+msgid "Read error: unable to seek to block in file '%s'\n"
+msgstr "ïÛÉÂËÁ ÞÔÅÎÉÑ: ÎÅ×ÏÚÍÏÖÎÏ ÎÁÊÔÉ ÂÌÏË × ÆÁÊÌÅ '%s'\n"
+
+#: disk-utils/fsck.minix.c:407
+#, c-format
+msgid "Read error: bad block in file '%s'\n"
+msgstr "ïÛÉÂËÁ ÞÔÅÎÉÑ: ÏÛÉÂÏÞÎÙÊ ÂÌÏË × ÆÁÊÌÅ '%s'\n"
+
+#: disk-utils/fsck.minix.c:422
+#, c-format
+msgid ""
+"Internal error: trying to write bad block\n"
+"Write request ignored\n"
+msgstr ""
+"÷ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ: ÐÏÐÙÔËÁ ÚÁÐÉÓÁÔØ ÏÛÉÂÏÞÎÙÊ ÂÌÏË\n"
+"úÁÐÒÏÓ ÎÁ ÚÁÐÉÓØ ÐÒÏÉÇÎÏÒÉÒÏ×ÁÎ\n"
+
+#: disk-utils/fsck.minix.c:428 disk-utils/mkfs.minix.c:209
+msgid "seek failed in write_block"
+msgstr "ÐÏÉÓË × write_block ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ"
+
+#: disk-utils/fsck.minix.c:431
+#, c-format
+msgid "Write error: bad block in file '%s'\n"
+msgstr "ïÛÉÂËÁ ÚÁÐÉÓÉ: ÎÅ×ÅÒÎÙÊ ÂÌÏË × ÆÁÊÌÅ '%s'\n"
+
+#: disk-utils/fsck.minix.c:547
+msgid "seek failed in write_super_block"
+msgstr "ÐÏÉÓË × write_super_block ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ"
+
+#: disk-utils/fsck.minix.c:549 disk-utils/mkfs.minix.c:196
+msgid "unable to write super-block"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÚÁÐÉÓÁÔØ ÓÕÐÅÒÂÌÏË"
+
+#: disk-utils/fsck.minix.c:559
+msgid "Unable to write inode map"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÐÉÓÁÔØ ËÁÒÔÕ inode"
+
+#: disk-utils/fsck.minix.c:561
+msgid "Unable to write zone map"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÐÉÓÁÔØ ËÁÒÔÕ zone"
+
+#: disk-utils/fsck.minix.c:563
+msgid "Unable to write inodes"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÐÉÓÁÔØ inode'Ù"
+
+#: disk-utils/fsck.minix.c:590
+msgid "seek failed"
+msgstr "ÐÏÉÓË ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ"
+
+#: disk-utils/fsck.minix.c:592
+msgid "unable to read super block"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÐÒÏÞÉÔÁÔØ ÓÕÐÅÒÂÌÏË"
+
+#: disk-utils/fsck.minix.c:610
+msgid "bad magic number in super-block"
+msgstr "ÎÅ×ÅÒÎÏÅ ÍÁÇÉÞÅÓËÏÅ ÞÉÓÌÏ × ÓÕÐÅÒÂÌÏËÅ"
+
+#: disk-utils/fsck.minix.c:612
+msgid "Only 1k blocks/zones supported"
+msgstr "ðÏÄÄÅÒÖÉ×ÁÀÔÓÑ ÔÏÌØËÏ 1k ÂÌÏËÉ/ÚÏÎÙ"
+
+#: disk-utils/fsck.minix.c:614
+msgid "bad s_imap_blocks field in super-block"
+msgstr "ÎÅ×ÅÒÎÏÅ ÐÏÌÅ s_imap_blocks × ÓÕÐÅÒÂÌÏËÅ"
+
+#: disk-utils/fsck.minix.c:616
+msgid "bad s_zmap_blocks field in super-block"
+msgstr "ÎÅ×ÅÒÎÏÅ ÐÏÌÅ s_zmap_blocks × ÓÕÐÅÒÂÌÏËÅ"
+
+#: disk-utils/fsck.minix.c:623
+msgid "Unable to allocate buffer for inode map"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÒÁÚÍÅÓÔÉÔØ ÂÕÆÅÒ ÄÌÑ ËÁÒÔÙ inode"
+
+#: disk-utils/fsck.minix.c:626
+#, fuzzy
+msgid "Unable to allocate buffer for zone map"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÒÁÚÍÅÓÔÉÔØ ÂÕÆÅÒ ÄÌÑ ËÁÒÔÙ inode"
+
+#: disk-utils/fsck.minix.c:631
+msgid "Unable to allocate buffer for inodes"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÒÁÚÍÅÓÔÉÔØ ÂÕÆÅÒ ÄÌÑ inode'Ï×"
+
+#: disk-utils/fsck.minix.c:634
+msgid "Unable to allocate buffer for inode count"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ×ÙÄÅÌÉÔØ ÂÕÆÅÒ ÄÌÑ ÞÉÓÌÁ inode"
+
+#: disk-utils/fsck.minix.c:637
+msgid "Unable to allocate buffer for zone count"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ×ÙÄÅÌÉÔØ ÂÕÆÅÒ ÄÌÑ ÞÉÓÌÁ ÚÏÎ"
+
+#: disk-utils/fsck.minix.c:639
+msgid "Unable to read inode map"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÐÒÏÞÉÔÁÔØ ËÁÒÔÕ inode"
+
+#: disk-utils/fsck.minix.c:641
+msgid "Unable to read zone map"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÐÒÏÞÉÔÁÔØ ËÁÒÔÕ ÚÏÎ"
+
+#: disk-utils/fsck.minix.c:643
+msgid "Unable to read inodes"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÐÒÏÞÉÔÁÔØ inode'Ù"
+
+#: disk-utils/fsck.minix.c:645
+#, c-format
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr "ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: ðÅÒ×ÁÑ ÚÏÎÁ != Norm_firstzone\n"
+
+#: disk-utils/fsck.minix.c:650 disk-utils/mkfs.minix.c:450
+#, c-format
+msgid "%ld inodes\n"
+msgstr "%ld inode'Ï×\n"
+
+#: disk-utils/fsck.minix.c:651 disk-utils/mkfs.minix.c:451
+#, c-format
+msgid "%ld blocks\n"
+msgstr "%ld ÂÌÏËÏ×\n"
+
+#: disk-utils/fsck.minix.c:652 disk-utils/mkfs.minix.c:452
+#, c-format
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr "ðÅÒ×ÁÑ ÚÏÎÁ ÄÁÎÎÙÈ=%ld (%ld)\n"
+
+#: disk-utils/fsck.minix.c:653 disk-utils/mkfs.minix.c:453
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr "òÁÚÍÅÒ ÚÏÎÙ=%d\n"
+
+#: disk-utils/fsck.minix.c:654
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr "íÁËÓ. ÒÁÚÍÅÒ=%ld\n"
+
+#: disk-utils/fsck.minix.c:655
+#, c-format
+msgid "Filesystem state=%d\n"
+msgstr "óÏÓÔÏÑÎÉÅ ÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÙ=%d\n"
+
+#: disk-utils/fsck.minix.c:656
+#, c-format
+msgid ""
+"namelen=%d\n"
+"\n"
+msgstr ""
+"ÄÌÉÎÁ ÉÍÅÎÉ=%d\n"
+"\n"
+
+#: disk-utils/fsck.minix.c:671 disk-utils/fsck.minix.c:722
+#, c-format
+msgid "Inode %d marked unused, but used for file '%s'\n"
+msgstr "Inode %d ÐÏÍÅÞÅΠËÁË ÎÅÉÓÐÏÌØÚÕÅÍÙÊ, ÎÏ ÉÓÐÏÌØÚÕÅÔÓÑ ÆÁÊÌÏÍ '%s'\n"
+
+#: disk-utils/fsck.minix.c:675 disk-utils/fsck.minix.c:726
+msgid "Mark in use"
+msgstr "ðÏÍÅÔÉÔØ, ËÁË ÉÓÐÏÌØÚÕÅÍÙÊ"
+
+#: disk-utils/fsck.minix.c:697 disk-utils/fsck.minix.c:746
+#, c-format
+msgid "The file `%s' has mode %05o\n"
+msgstr "æÁÊÌ `%s' ÎÁÈÏÄÉÔÓÑ × ÒÅÖÉÍÅ %05o\n"
+
+#: disk-utils/fsck.minix.c:704 disk-utils/fsck.minix.c:752
+#, c-format
+msgid "Warning: inode count too big.\n"
+msgstr "ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÞÉÓÌÏ inode ÓÌÉÛËÏÍ ×ÅÌÉËÏ.\n"
+
+#: disk-utils/fsck.minix.c:764 disk-utils/fsck.minix.c:772
+msgid "root inode isn't a directory"
+msgstr "ËÏÒÎÅ×ÏÊ inode ÎÅ Ñ×ÌÑÅÔÓÑ ËÁÔÁÌÏÇÏÍ"
+
+#: disk-utils/fsck.minix.c:786 disk-utils/fsck.minix.c:819
+#, c-format
+msgid "Block has been used before. Now in file `%s'."
+msgstr "âÌÏË ÂÙÌ ÉÓÐÏÌØÚÏ×ÁΠÒÁÎÅÅ. ôÅÐÅÒØ × ÆÁÊÌÅ `%s'."
+
+#: disk-utils/fsck.minix.c:788 disk-utils/fsck.minix.c:821
+#: disk-utils/fsck.minix.c:1144 disk-utils/fsck.minix.c:1153
+#: disk-utils/fsck.minix.c:1199 disk-utils/fsck.minix.c:1208
+msgid "Clear"
+msgstr "ïÞÉÓÔÉÔØ"
+
+#: disk-utils/fsck.minix.c:798 disk-utils/fsck.minix.c:831
+#, c-format
+msgid "Block %d in file `%s' is marked not in use."
+msgstr "âÌÏË %d × ÆÁÊÌÅ `%s' ÐÏÍÅÞÅΠËÁË ÎÅÉÓÐÏÌØÚÕÅÍÙÊ."
+
+#: disk-utils/fsck.minix.c:800 disk-utils/fsck.minix.c:833
+msgid "Correct"
+msgstr "éÓÐÒÁ×ÉÔØ"
+
+#: disk-utils/fsck.minix.c:972 disk-utils/fsck.minix.c:1039
+#, c-format
+msgid "The directory '%s' contains a bad inode number for file '%.*s'."
+msgstr "ëÁÔÁÌÏÇ '%s' ÓÏÄÅÒÖÉÔ ÎÅ×ÅÒÎÙÊ ÎÏÍÅÒ inode ÄÌÑ ÆÁÊÌÁ '%.*s'."
+
+#: disk-utils/fsck.minix.c:975 disk-utils/fsck.minix.c:1042
+msgid " Remove"
+msgstr " õÄÁÌÉÔØ"
+
+#: disk-utils/fsck.minix.c:989 disk-utils/fsck.minix.c:1056
+#, c-format
+msgid "%s: bad directory: '.' isn't first\n"
+msgstr "%s: ÎÅ×ÅÒÎÙÊ ËÁÔÁÌÏÇ: '.' ÎÅ ÐÅÒ×ÙÊ\n"
+
+#: disk-utils/fsck.minix.c:997 disk-utils/fsck.minix.c:1065
+#, c-format
+msgid "%s: bad directory: '..' isn't second\n"
+msgstr "%s: ÎÅ×ÅÒÎÙÊ ËÁÔÁÌÏÇ: '..' ÎÅ ×ÔÏÒÏÊ\n"
+
+#: disk-utils/fsck.minix.c:1099 disk-utils/fsck.minix.c:1117
+msgid "internal error"
+msgstr "×ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ"
+
+#: disk-utils/fsck.minix.c:1102 disk-utils/fsck.minix.c:1120
+#, c-format
+msgid "%s: bad directory: size < 32"
+msgstr "%s: ÎÅ×ÅÒÎÙÊ ËÁÔÁÌÏÇ: ÒÁÚÍÅÒ < 32"
+
+#: disk-utils/fsck.minix.c:1133
+msgid "seek failed in bad_zone"
+msgstr "ÐÏÉÓË × bad_zone ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ"
+
+#: disk-utils/fsck.minix.c:1143 disk-utils/fsck.minix.c:1198
+#, c-format
+msgid "Inode %d mode not cleared."
+msgstr "òÅÖÉÍ inode %d ÎÅ ÏÞÉÝÅÎ."
+
+#: disk-utils/fsck.minix.c:1152 disk-utils/fsck.minix.c:1207
+#, c-format
+msgid "Inode %d not used, marked used in the bitmap."
+msgstr "Inode %d ÎÅ ÉÓÐÏÌØÚÕÅÔÓÑ, ÐÏÍÅÞÅΠËÁË ÉÓÐÏÌØÚÕÅÍÙÊ × bitmap'Å."
+
+#: disk-utils/fsck.minix.c:1158 disk-utils/fsck.minix.c:1213
+#, c-format
+msgid "Inode %d used, marked unused in the bitmap."
+msgstr "Inode %d ÉÓÐÏÌØÚÕÅÔÓÑ, ÐÏÍÅÞÅΠËÁË ÎÅÉÓÐÏÌØÚÕÅÍÙÊ × bitmap'Å."
+
+#: disk-utils/fsck.minix.c:1160 disk-utils/fsck.minix.c:1214
+msgid "Set"
+msgstr "ðÒÉÓ×ÏÉÔØ"
+
+#: disk-utils/fsck.minix.c:1164 disk-utils/fsck.minix.c:1218
+#, c-format
+msgid "Inode %d (mode = %07o), i_nlinks=%d, counted=%d."
+msgstr "Inode %d (ÒÅÖÉÍ = %07o), i_nlinks=%d, counted=%d."
+
+#: disk-utils/fsck.minix.c:1166 disk-utils/fsck.minix.c:1220
+msgid "Set i_nlinks to count"
+msgstr "ðÒÉÓ×ÏÉÔØ i_nlinks'Õ ÞÉÓÌÏ"
+
+#: disk-utils/fsck.minix.c:1178 disk-utils/fsck.minix.c:1232
+#, c-format
+msgid "Zone %d: marked in use, no file uses it."
+msgstr "úÏÎÁ %d: ÐÏÍÅÞÅÎÁ ËÁË ÉÓÐÏÌØÚÕÅÍÁÑ, ÎÏ ÉÓÐÏÌØÚÕÀÝÉÈ ÅÅ ÆÁÊÌÏ× ÎÅÔ."
+
+#: disk-utils/fsck.minix.c:1179 disk-utils/fsck.minix.c:1234
+msgid "Unmark"
+msgstr "óÎÑÔØ ÍÅÔËÕ"
+
+#: disk-utils/fsck.minix.c:1184 disk-utils/fsck.minix.c:1239
+#, c-format
+msgid "Zone %d: in use, counted=%d\n"
+msgstr "úÏÎÁ %d: ÉÓÐÏÌØÚÕÅÔÓÑ, counted=%d\n"
+
+#: disk-utils/fsck.minix.c:1187 disk-utils/fsck.minix.c:1242
+#, c-format
+msgid "Zone %d: not in use, counted=%d\n"
+msgstr "úÏÎÁ %d: ÎÅ ÉÓÐÏÌØÚÕÅÔÓÑ, counted=%d\n"
+
+#: disk-utils/fsck.minix.c:1287 disk-utils/mkfs.minix.c:576
+#: disk-utils/mkfs.minix.c:578
+msgid "bad inode size"
+msgstr "ÎÅ×ÅÒÎÙÊ ÒÁÚÍÅÒ inode"
+
+#: disk-utils/fsck.minix.c:1289
+msgid "bad v2 inode size"
+msgstr "ÎÅ×ÅÒÎÙÊ ÒÁÚÍÅÒ v2 inode"
+
+#: disk-utils/fsck.minix.c:1315
+msgid "need terminal for interactive repairs"
+msgstr "ÎÕÖÅΠÔÅÒÍÉÎÁÌ ÄÌÑ ÉÎÔÅÒÁËÔÉ×ÎÏÇÏ ÉÓÐÒÁ×ÌÅÎÉÑ"
+
+#: disk-utils/fsck.minix.c:1319
+#, fuzzy, c-format
+msgid "unable to open '%s': %s"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ '%s'"
+
+#: disk-utils/fsck.minix.c:1334
+#, c-format
+msgid "%s is clean, no check.\n"
+msgstr "%s ÞÉÓÔ, ÐÒÏ×ÅÒËÁ ÎÅ ÎÕÖÎÁ.\n"
+
+#: disk-utils/fsck.minix.c:1338
+#, c-format
+msgid "Forcing filesystem check on %s.\n"
+msgstr "úÁÐÕÓËÁÅÔÓÑ ÐÒÏ×ÅÒËÁ ÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÙ ÎÁ %s.\n"
+
+#: disk-utils/fsck.minix.c:1340
+#, c-format
+msgid "Filesystem on %s is dirty, needs checking.\n"
+msgstr "æÁÊÌÏ×ÁÑ ÓÉÓÔÅÍÁ ÎÁ %s ÐÏ×ÒÅÖÄÅÎÁ, ÎÕÖÎÁ ÐÒÏ×ÅÒËÁ.\n"
+
+#: disk-utils/fsck.minix.c:1373
+#, c-format
+msgid ""
+"\n"
+"%6ld inodes used (%ld%%)\n"
+msgstr ""
+"\n"
+"éÓÐÏÌØÚÕÀÔÓÑ %6ld inodes (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1378
+#, c-format
+msgid "%6ld zones used (%ld%%)\n"
+msgstr "éÓÐÏÌØÚÕÀÔÓÑ %6ld ÚÏΠ(%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1380
+#, 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:1393
+#, c-format
+msgid ""
+"----------------------------\n"
+"FILE SYSTEM HAS BEEN CHANGED\n"
+"----------------------------\n"
+msgstr ""
+"----------------------------\n"
+"æáêìï÷áñ óéóôåíá âùìá éúíåîåîá\n"
+"----------------------------\n"
+
+#: disk-utils/isosize.c:129
+#, c-format
+msgid "%s: failed to open: %s\n"
+msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ : %s\n"
+
+#: disk-utils/isosize.c:135
+#, c-format
+msgid "%s: seek error on %s\n"
+msgstr "%s: ÏÛÉÂËÁ ÐÏÉÓËÁ ÎÁ %s\n"
+
+#: disk-utils/isosize.c:141
+#, c-format
+msgid "%s: read error on %s\n"
+msgstr "%s: ÏÛÉÂËÁ ÞÔÅÎÉÑ ÎÁ %s\n"
+
+#: disk-utils/isosize.c:150
+#, c-format
+msgid "sector count: %d, sector size: %d\n"
+msgstr "ÞÉÓÌÏ ÓÅËÔÏÒÏ×: %d, ÒÁÚÍÅÒ ÓÅËÔÏÒÁ: %d\n"
+
+#: disk-utils/isosize.c:200
+#, c-format
+msgid "%s: option parse error\n"
+msgstr "%s: ÏÛÉÂËÁ ÐÁÒÓÉÎÇÁ ÏÐÃÉÊ\n"
+
+#: disk-utils/isosize.c:208
+#, c-format
+msgid "Usage: %s [-x] [-d <num>] iso9660-image\n"
+msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [-x] [-d <ÎÏÍÅÒ>] iso9660-ÏÂÒÁÚ\n"
+
+#: disk-utils/mkfs.bfs.c:84
+#, c-format
+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"
+
+#: disk-utils/mkfs.bfs.c:131
+msgid "volume name too long"
+msgstr "ÉÍÑ ÔÏÍÁ ÓÌÉÛËÏÍ ÄÌÉÎÎÏÅ"
+
+#: disk-utils/mkfs.bfs.c:138
+msgid "fsname name too long"
+msgstr "ÉÍÑ ÆÁÊÌ. ÓÉÓÔÅÍÙ ÓÌÉÛËÏÍ ÄÌÉÎÎÏÅ"
+
+#: disk-utils/mkfs.bfs.c:163
+#, c-format
+msgid "cannot stat device %s"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÐÒÅÄÅÌÉÔØ ÓÏÓÔÏÑÎÉÅ ÕÓÔÒÏÊÓÔ×Á %s"
+
+#: disk-utils/mkfs.bfs.c:167
+#, c-format
+msgid "%s is not a block special device"
+msgstr "%s ÎÅ Ñ×ÌÑÅÔÓÑ ÏÓÏÂÙÍ ÂÌÏÞÎÙÍ ÕÓÔÒÏÊÓÔ×ÏÍ"
+
+#: disk-utils/mkfs.bfs.c:172 sys-utils/ldattach.c:205
+#, c-format
+msgid "cannot open %s"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ %s"
+
+#: disk-utils/mkfs.bfs.c:183
+#, c-format
+msgid "cannot get size of %s"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÐÏÌÕÞÉÔØ ÒÁÚÍÅÒ %s"
+
+#: disk-utils/mkfs.bfs.c:188
+#, fuzzy, c-format
+msgid "blocks argument too large, max is %llu"
+msgstr "ÁÒÇÕÍÅÎÔ ÂÌÏËÏ× ÓÌÉÛËÏÍ ×ÅÌÉË, ÍÁËÓÉÍÕÍ - %lu"
+
+#: disk-utils/mkfs.bfs.c:203
+msgid "too many inodes - max is 512"
+msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ inode'Ï×, ÍÁËÓÉÍÕÍ - 512"
+
+#: disk-utils/mkfs.bfs.c:212
+#, fuzzy, c-format
+msgid "not enough space, need at least %llu blocks"
+msgstr "ÎÅ È×ÁÔÁÅÔ ÍÅÓÔÁ, ÎÕÖÎÏ ËÁË ÍÉÎÉÍÕÍ %lu ÂÌÏËÏ×"
+
+#: disk-utils/mkfs.bfs.c:224 fdisk/fdisk.c:2345
+#, c-format
+msgid "Device: %s\n"
+msgstr "õÓÔÒÏÊÓÔ×Ï: %s\n"
+
+#: disk-utils/mkfs.bfs.c:225
+#, c-format
+msgid "Volume: <%-6s>\n"
+msgstr "ôÏÍ: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:226
+#, c-format
+msgid "FSname: <%-6s>\n"
+msgstr "éÍÑ ÆÁÊÌ. ÓÉÓÔÅÍÙ: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:227
+#, c-format
+msgid "BlockSize: %d\n"
+msgstr "òÁÚÍÅÒ ÂÌÏËÁ: %d\n"
+
+#: disk-utils/mkfs.bfs.c:229
+#, c-format
+msgid "Inodes: %d (in 1 block)\n"
+msgstr "Inode'Ù: %d (× 1 ÂÌÏËÅ)\n"
+
+#: disk-utils/mkfs.bfs.c:232
+#, fuzzy, c-format
+msgid "Inodes: %d (in %lld blocks)\n"
+msgstr "Inode'Ù: %d (× %ld ÂÌÏËÁÈ)\n"
+
+#: disk-utils/mkfs.bfs.c:234
+#, fuzzy, c-format
+msgid "Blocks: %lld\n"
+msgstr "âÌÏËÉ: %ld\n"
+
+#: disk-utils/mkfs.bfs.c:235
+#, c-format
+msgid "Inode end: %d, Data end: %d\n"
+msgstr "ëÏÎÅàinode: %d, ËÏÎÅàÄÁÎÎÙÈ: %d\n"
+
+#: disk-utils/mkfs.bfs.c:240
+msgid "error writing superblock"
+msgstr "ÏÛÉÂËÁ ÚÁÐÉÓÉ ÓÕÐÅÒÂÌÏËÁ"
+
+#: disk-utils/mkfs.bfs.c:260
+msgid "error writing root inode"
+msgstr "ÏÛÉÂËÁ ÚÁÐÉÓÉ ËÏÒÎÅ×ÏÇÏ inode"
+
+#: disk-utils/mkfs.bfs.c:265
+msgid "error writing inode"
+msgstr "ÏÛÉÂËÁ ÚÁÐÉÓÉ inode"
+
+#: disk-utils/mkfs.bfs.c:268
+msgid "seek error"
+msgstr "ÏÛÉÂËÁ ÐÏÉÓËÁ"
+
+#: disk-utils/mkfs.bfs.c:274
+msgid "error writing . entry"
+msgstr "ÏÛÉÂËÁ ÚÁÐÉÓÉ . ÜÌÅÍÅÎÔÁ"
+
+#: disk-utils/mkfs.bfs.c:278
+msgid "error writing .. entry"
+msgstr "ÏÛÉÂËÁ ÚÁÐÉÓÉ .. ÜÌÅÍÅÎÔÁ"
+
+#: disk-utils/mkfs.bfs.c:282
+#, c-format
+msgid "error closing %s"
+msgstr "ÏÛÉÂËÁ ÚÁËÒÙÔÉÑ %s"
+
+#: disk-utils/mkfs.c:73
+#, c-format
+msgid "Usage: mkfs [-V] [-t fstype] [fs-options] device [size]\n"
+msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: mkfs [-V] [-t ÔÉÐ_ÆÓ] [ÏÐÃÉÉ_ÆÓ] ÕÓÔÒÏÊÓÔ×Ï [ÒÁÚÍÅÒ]\n"
+
+#: disk-utils/mkfs.c:88 disk-utils/mkfs.c:96 fdisk/cfdisk.c:351
+#: getopt/getopt.c:86 getopt/getopt.c:96 login-utils/wall.c:246
+#, c-format
+msgid "%s: Out of memory!\n"
+msgstr "%s: îÅ È×ÁÔÁÅÔ ÐÁÍÑÔÉ!\n"
+
+#: disk-utils/mkfs.c:103
+#, c-format
+msgid "mkfs (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: disk-utils/mkfs.cramfs.c:126
+#, 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:340
+#, fuzzy, c-format
+msgid ""
+"Very long (%zu bytes) filename `%s' found.\n"
+" Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile.  Exiting.\n"
+msgstr ""
+"îÁÊÄÅÎÏ ÓÌÉÛËÏÍ ÄÌÉÎÎÏÅ (%u ÂÁÊÔ) ÉÍÑ ÆÁÊÌÁ `%s'.\n"
+" ðÏÖÁÌÕÊÓÔÁ, Õ×ÅÌÉÞØÔÅ MAX_INPUT_NAMELEN × mkcramfs.c É ÐÅÒÅËÏÍÐÉÌÉÒÕÊÔÅ.  "
+"úÁ×ÅÒÛÅÎÉÅ ÒÁÂÏÔÙ.\n"
+
+#: disk-utils/mkfs.cramfs.c:472
+#, c-format
+msgid "filesystem too big.  Exiting.\n"
+msgstr "ÆÁÊÌÏ×ÁÑ ÓÉÓÔÅÍÁ ÓÌÉÛËÏÍ ×ÅÌÉËÁ.  úÁ×ÅÒÛÅÎÉÅ ÒÁÂÏÔÙ.\n"
+
+#: disk-utils/mkfs.cramfs.c:637
+#, c-format
+msgid "AIEEE: block \"compressed\" to > 2*blocklength (%ld)\n"
+msgstr "AIEEE: ÂÌÏË \"ÓÖÁÔ\" × > 2*ÄÌÉÎÁ_ÂÌÏËÁ (%ld)\n"
+
+#: disk-utils/mkfs.cramfs.c:656
+#, fuzzy, c-format
+msgid "%6.2f%% (%+ld bytes)\t%s\n"
+msgstr "%6.2f%% (%+d ÂÁÊÔ)\t%s\n"
+
+#: disk-utils/mkfs.cramfs.c:854
+#, fuzzy, c-format
+msgid ""
+"warning: guestimate of required size (upper bound) is %lldMB, but maximum "
+"image size is %uMB.  We might die prematurely.\n"
+msgstr ""
+"ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÐÒÉÂÌÉÚÉÔÅÌØÎÏ ÔÒÅÂÕÅÍÙÊ ÒÁÚÍÅÒ (×ÅÒÈÎÑÑ ÇÒÁÎÉÃÁ) ÓÏÓÔÁ×ÌÑÅÔ "
+"%Ldíâ, Á ÍÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÏÂÒÁÚÁ - %uíâ.  ÷ÏÚÍÏÖÎÏ ÐÒÅÖÄÅ×ÒÅÍÅÎÎÏÅ "
+"ÚÁ×ÅÒÛÅÎÉÅ ÒÁÂÏÔÙ.\n"
+
+#: disk-utils/mkfs.cramfs.c:881
+msgid "ROM image map"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:895
+#, c-format
+msgid "Including: %s\n"
+msgstr "÷ËÌÀÞÁÑ: %s\n"
+
+#: disk-utils/mkfs.cramfs.c:901
+#, fuzzy, c-format
+msgid "Directory data: %zd bytes\n"
+msgstr "äÁÎÎÙÅ ËÁÔÁÌÏÇÁ: %d ÂÁÊÔ\n"
+
+#: disk-utils/mkfs.cramfs.c:909
+#, fuzzy, c-format
+msgid "Everything: %zd kilobytes\n"
+msgstr "÷ÓÅ: %d ËÉÌÏÂÁÊÔ\n"
+
+#: disk-utils/mkfs.cramfs.c:914
+#, fuzzy, c-format
+msgid "Super block: %zd bytes\n"
+msgstr "óÕÐÅÒÂÌÏË: %d ÂÁÊÔ\n"
+
+#: disk-utils/mkfs.cramfs.c:921
+#, c-format
+msgid "CRC: %x\n"
+msgstr "CRC: %x\n"
+
+#: disk-utils/mkfs.cramfs.c:926
+#, fuzzy, c-format
+msgid "not enough space allocated for ROM image (%lld allocated, %zu used)\n"
+msgstr ""
+"ÎÅ È×ÁÔÁÅÔ ÍÅÓÔÁ, ×ÙÄÅÌÅÎÎÏÇÏ ÄÌÑ ROM-ÏÂÒÁÚÁ (%Ld ×ÙÄÅÌÅÎÏ, %d "
+"ÉÓÐÏÌØÚÕÅÔÓÑ)\n"
+
+#: disk-utils/mkfs.cramfs.c:934
+msgid "ROM image"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:938
+#, fuzzy, c-format
+msgid "ROM image write failed (%zd %zd)\n"
+msgstr "úÁÐÉÓØ ROM-ÏÂÒÁÚÁ ÚÁ×ÅÒÛÉÌÁÓØ ÎÅÕÄÁÞÅÊ (%d %d)\n"
+
+#: disk-utils/mkfs.cramfs.c:947
+#, c-format
+msgid "warning: filenames truncated to 255 bytes.\n"
+msgstr "ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÉÍÅÎÁ ÆÁÊÌÏ× ÕÍÅÎØÛÅÎÙ ÄÏ 255 ÂÁÊÔ.\n"
+
+#: disk-utils/mkfs.cramfs.c:950
+#, c-format
+msgid "warning: files were skipped due to errors.\n"
+msgstr "ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÉÚ-ÚÁ ÏÛÉÂÏË ÂÙÌÉ ÐÒÏÐÕÝÅÎÙ ÆÁÊÌÙ.\n"
+
+#: disk-utils/mkfs.cramfs.c:953
+#, c-format
+msgid "warning: file sizes truncated to %luMB (minus 1 byte).\n"
+msgstr "ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÒÁÚÍÅÒÙ ÆÁÊÌÏ× ÕÍÅÎØÛÅÎÙ ÄÏ %luíâ (ÍÉÎÕÓ 1 ÂÁÊÔ).\n"
+
+#: disk-utils/mkfs.cramfs.c:958
+#, c-format
+msgid ""
+"warning: uids truncated to %u bits.  (This may be a security concern.)\n"
+msgstr ""
+"ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: uid'Ù ÕÍÅÎØÛÅÎÙ ÄÏ %u ÂÉÔ.  (üÔÏ ÍÏÖÅÔ ËÁÓÁÔØÓÑ "
+"ÂÅÚÏÐÁÓÎÏÓÔÉ.)\n"
+
+#: disk-utils/mkfs.cramfs.c:963
+#, c-format
+msgid ""
+"warning: gids truncated to %u bits.  (This may be a security concern.)\n"
+msgstr ""
+"ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: gid'Ù ÕÍÅÎØÛÅÎÙ ÄÏ %u ÂÉÔ.  (üÔÏ ÍÏÖÅÔ ËÁÓÁÔØÓÑ "
+"ÂÅÚÏÐÁÓÎÏÓÔÉ.)\n"
+
+#: disk-utils/mkfs.cramfs.c:968
+#, c-format
+msgid ""
+"WARNING: device numbers truncated to %u bits.  This almost certainly means\n"
+"that some device files will be wrong.\n"
+msgstr ""
+"ðòåäõðòåöäåîéå: ÞÉÓÌÏ ÕÓÔÒÏÊÓÔ× ÕÍÅÎØÛÅÎÏ ÄÏ %u ÂÉÔ.  üÔÏ ÐÒÁËÔÉÞÅÓËÉ\n"
+"×ÓÅÇÄÁ ÏÚÎÁÞÁÅÔ, ÞÔÏ ÎÅËÏÔÏÒÙÅ ÆÁÊÌÙ ÕÓÔÒÏÊÓÔ× ÂÙÌÉ ÎÅ×ÅÒÎÙ.\n"
+
+#: disk-utils/mkfs.minix.c:156
+#, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]\n"
+msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [-c | -l ÉÍÑ_ÆÁÊÌÁ] [-nXX] [-iXX] /dev/ÉÍÑ [ÂÌÏËÉ]\n"
+
+#: disk-utils/mkfs.minix.c:180
+#, c-format
+msgid "%s is mounted; will not make a filesystem here!"
+msgstr "%s ÐÒÉÍÏÎÔÉÒÏ×ÁÎ; ÎÅ ÓÏÚÄÁ×ÁÊÔÅ ÚÄÅÓØ ÆÁÊÌÏ×ÕÀ ÓÉÓÔÅÍÕ!"
+
+#: disk-utils/mkfs.minix.c:190
+msgid "seek to boot block failed in write_tables"
+msgstr "ÐÏÉÓË ÚÁÇÒÕÚÏÞÎÏÇÏ ÂÌÏËÁ × write_tables ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ"
+
+#: disk-utils/mkfs.minix.c:192
+msgid "unable to clear boot sector"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÞÉÓÔÉÔØ ÚÁÇÒÕÚÏÞÎÙÊ ÓÅËÔÏÒ"
+
+#: disk-utils/mkfs.minix.c:194
+msgid "seek failed in write_tables"
+msgstr "ÐÏÉÓË × write_tables ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ"
+
+#: disk-utils/mkfs.minix.c:198
+msgid "unable to write inode map"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÚÁÐÉÓÁÔØ ËÁÒÔÕ inode"
+
+#: disk-utils/mkfs.minix.c:200
+msgid "unable to write zone map"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÚÁÐÉÓÁÔØ ËÁÒÔÕ ÚÏÎ"
+
+#: disk-utils/mkfs.minix.c:202
+msgid "unable to write inodes"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÚÁÐÉÓÁÔØ inode'Ù"
+
+#: disk-utils/mkfs.minix.c:211
+msgid "write failed in write_block"
+msgstr "ÚÁÐÉÓØ × write_block ÚÁ×ÅÒÛÉÌÁÓØ ÎÅÕÄÁÞÅÊ"
+
+#: disk-utils/mkfs.minix.c:219 disk-utils/mkfs.minix.c:293
+#: disk-utils/mkfs.minix.c:342
+msgid "too many bad blocks"
+msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÐÌÏÈÉÈ ÂÌÏËÏ×"
+
+#: disk-utils/mkfs.minix.c:227
+msgid "not enough good blocks"
+msgstr "ÎÅ È×ÁÔÁÅÔ ÈÏÒÏÛÉÈ ÂÌÏËÏ×"
+
+#: disk-utils/mkfs.minix.c:439
+msgid "unable to allocate buffers for maps"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ×ÙÄÅÌÉÔØ ÂÕÆÅÒÙ ÄÌÑ ËÁÒÔ"
+
+#: disk-utils/mkfs.minix.c:448
+msgid "unable to allocate buffer for inodes"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ×ÙÄÅÌÉÔØ ÂÕÆÅÒÙ ÄÌÑ inodes"
+
+#: disk-utils/mkfs.minix.c:454
+#, c-format
+msgid ""
+"Maxsize=%ld\n"
+"\n"
+msgstr ""
+"íÁËÓ. ÒÁÚÍÅÒ=%ld\n"
+"\n"
+
+#: disk-utils/mkfs.minix.c:468
+msgid "seek failed during testing of blocks"
+msgstr "ÐÏÉÓË ×Ï ×ÒÅÍÑ ÐÒÏ×ÅÒËÉ ÂÌÏËÏ× ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ"
+
+#: disk-utils/mkfs.minix.c:476
+#, c-format
+msgid "Weird values in do_check: probably bugs\n"
+msgstr "îÅÐÏÎÑÔÎÙÅ ÚÎÁÞÅÎÉÑ × do_check: ×ÏÚÍÏÖÎÏ ÓÂÏÊ\n"
+
+#: disk-utils/mkfs.minix.c:507 disk-utils/mkswap.c:313
+msgid "seek failed in check_blocks"
+msgstr "ÐÏÉÓË × check_blocks ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ"
+
+#: disk-utils/mkfs.minix.c:516
+msgid "bad blocks before data-area: cannot make fs"
+msgstr "ÐÌÏÈÉÅ ÂÌÏËÉ ÐÅÒÅÄ data-area: ÎÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ÆÓ"
+
+#: disk-utils/mkfs.minix.c:522 disk-utils/mkfs.minix.c:547
+#, c-format
+msgid "%d bad blocks\n"
+msgstr "%d ÐÌÏÈÉÈ ÂÌÏËÏ×\n"
+
+#: disk-utils/mkfs.minix.c:524 disk-utils/mkfs.minix.c:549
+#, c-format
+msgid "one bad block\n"
+msgstr "ÏÄÉΠÐÌÏÈÏÊ ÂÌÏË\n"
+
+#: disk-utils/mkfs.minix.c:534
+msgid "can't open file of bad blocks"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ÆÁÊÌ ÐÌÏÈÉÈ ÂÌÏËÏ×"
+
+#: disk-utils/mkfs.minix.c:538
+#, c-format
+msgid "badblock number input error on line %d\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:539
+#, fuzzy
+msgid "cannot read badblocks file"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÐÒÏÞÉÔÁÔØ Ó ÄÉÓËÏ×ÏÇÏ ÎÁËÏÐÉÔÅÌÑ"
+
+#: disk-utils/mkfs.minix.c:619
+#, c-format
+msgid "strtol error: number of blocks not specified"
+msgstr "ÏÛÉÂËÁ strtol: ËÏÌÉÞÅÓÔ×Ï ÂÌÏËÏ× ÎÅ ÚÁÄÁÎÏ"
+
+#: disk-utils/mkfs.minix.c:638
+#, c-format
+msgid "unable to stat %s"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÐÒÅÄÅÌÉÔØ ÓÏÓÔÏÑÎÉÅ %s"
+
+#: disk-utils/mkfs.minix.c:644
+#, c-format
+msgid "unable to open %s"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ%s"
+
+#: disk-utils/mkfs.minix.c:649
+#, fuzzy, c-format
+msgid "cannot determine sector size for %s"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÐÏÌÕÞÉÔØ ÒÁÚÍÅÒ %s"
+
+#: disk-utils/mkfs.minix.c:651
+#, c-format
+msgid "block size smaller than physical sector size of %s"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:654
+#, fuzzy, c-format
+msgid "cannot determine size of %s"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÐÏÌÕÞÉÔØ ÒÁÚÍÅÒ %s"
+
+#: disk-utils/mkfs.minix.c:662
+#, c-format
+msgid "will not try to make filesystem on '%s'"
+msgstr "ÐÏÐÙÔËÁ ÓÏÚÄÁÔØ ÆÁÊÌÏ×ÕÀ ÓÉÓÔÅÍÕ ÎÁ '%s' ×ÙÐÏÌÎÅÎÁ ÎÅ ÂÕÄÅÔ"
+
+#: disk-utils/mkfs.minix.c:664
+#, fuzzy
+msgid "number of blocks too small"
+msgstr "ëÏÌÉÞÅÓÔ×Ï ÓÅËÔÏÒÏ×"
+
+#: disk-utils/mkswap.c:155
+#, c-format
+msgid "Bad user-specified page size %d\n"
+msgstr "îÅ×ÅÒÎÙÊ ÒÁÚÍÅÒ ÓÔÒÁÎÉÃÙ %d, ÕËÁÚÁÎÎÙÊ ÐÏÌØÚÏ×ÁÔÅÌÅÍ\n"
+
+#: disk-utils/mkswap.c:163
+#, fuzzy, c-format
+msgid "Using user-specified page size %d, instead of the system value %d\n"
+msgstr ""
+"éÓÐÏÌØÚÕÅÔÓÑ ÚÁÄÁÎÎÙÊ ÐÏÌØÚÏ×ÁÔÅÌÅÍ ÒÁÚÍÅÒ ÓÔÒÁÎÉÃÙ %d, ×ÍÅÓÔÏ ÓÉÓÔÅÍÎÙÈ "
+"ÚÎÁÞÅÎÉÊ %d/%d\n"
+
+#: disk-utils/mkswap.c:192
+#, c-format
+msgid "Bad swap header size, no label written.\n"
+msgstr "îÅ×ÅÒÎÙÊ ÒÁÚÍÅÒ swap-ÚÁÇÏÌÏ×ËÁ, ÍÅÔËÁ ÎÅ ÚÁÐÉÓÁÎÁ.\n"
+
+#: disk-utils/mkswap.c:202
+#, c-format
+msgid "Label was truncated.\n"
+msgstr "íÅÔËÁ ÂÙÌÏ ÕËÏÒÏÞÅÎÁ.\n"
+
+#: disk-utils/mkswap.c:208
+#, c-format
+msgid "no label, "
+msgstr "ÂÅÚ ÍÅÔËÉ, "
+
+#: disk-utils/mkswap.c:216
+#, c-format
+msgid "no uuid\n"
+msgstr "ÎÅÔ uuid\n"
+
+#: disk-utils/mkswap.c:281
+#, fuzzy, c-format
+msgid "Usage: %s [-c] [-pPAGESZ] [-L label] [-U UUID] /dev/name [blocks]\n"
+msgstr ""
+"éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [-c] [-v0|-v1] [-pPAGESZ] [-L ÍÅÔËÁ] /dev/ÉÍÑ [ÂÌÏËÉ]\n"
+
+#: disk-utils/mkswap.c:295
+msgid "too many bad pages"
+msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÐÌÏÈÉÈ ÓÔÒÁÎÉÃ"
+
+#: disk-utils/mkswap.c:308 misc-utils/look.c:182 misc-utils/setterm.c:1183
+#: text-utils/more.c:1982 text-utils/more.c:1993
+msgid "Out of memory"
+msgstr "îÅ È×ÁÔÁÅÔ ÐÁÍÑÔÉ"
+
+#: disk-utils/mkswap.c:319
+#, c-format
+msgid "one bad page\n"
+msgstr "ÏÄÎÁ ÐÌÏÈÁÑ ÓÔÒÁÎÉÃÁ\n"
+
+#: disk-utils/mkswap.c:321
+#, c-format
+msgid "%lu bad pages\n"
+msgstr "%lu ÐÌÏÈÉÈ ÓÔÒÁÎÉÃ\n"
+
+#: disk-utils/mkswap.c:399 disk-utils/mkswap.c:415 disk-utils/mkswap.c:633
+msgid "unable to rewind swap-device"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÐÅÒÅÍÏÔÁÔØ ÕÓÔÒÏÊÓÔ×Ï ÄÌÑ Ó×ÏÐÉÎÇÁ"
+
+#: disk-utils/mkswap.c:419
+#, fuzzy
+msgid "unable to erase bootbits sectors"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÞÉÓÔÉÔØ ÚÁÇÒÕÚÏÞÎÙÊ ÓÅËÔÏÒ"
+
+#: disk-utils/mkswap.c:423
+#, c-format
+msgid "%s: %s: warning: don't erase bootbits sectors\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:426
+#, fuzzy, c-format
+msgid "        (%s partition table detected). "
+msgstr "   p   ×Ù×ÏÄ ÔÁÂÌÉÃÙ ÒÁÚÄÅÌÏ× BSD"
+
+#: disk-utils/mkswap.c:428
+#, fuzzy, c-format
+msgid "        on whole disk. "
+msgstr "   s   ÏÔÏÂÒÁÖÅÎÉÅ ÐÏÌÎÏÊ ÍÅÔËÉ ÄÉÓËÁ"
+
+#: disk-utils/mkswap.c:498
+#, c-format
+msgid "%1$s: warning: ignore -U (UUIDs are unsupported by %1$s)\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:514
+#, fuzzy, c-format
+msgid "%s: does not support swapspace version %d.\n"
+msgstr "%s: ÏÛÉÂËÁ: ÎÅÉÚ×ÅÓÔÎÁÑ ×ÅÒÓÉÑ %d\n"
+
+#: disk-utils/mkswap.c:522
+#, fuzzy
+msgid "error: UUID parsing failed"
+msgstr ""
+"\n"
+"ïÛÉÂËÁ ÚÁËÒÙÔÉÑ ÆÁÊÌÁ\n"
+
+#: disk-utils/mkswap.c:533
+#, c-format
+msgid "%s: error: Nowhere to set up swap on?\n"
+msgstr "%s: ÏÛÉÂËÁ: îÉÇÄÅ ÎÅ ÕÓÔÁÎÏ×ÌÅΠÆÁÊÌ Ó×ÏÐÉÎÇÁ?\n"
+
+#: disk-utils/mkswap.c:551
+#, fuzzy, c-format
+msgid "%s: error: size %llu KiB is larger than device size %llu KiB\n"
+msgstr "%s: ÏÛÉÂËÁ: ÒÁÚÍÅÒ %lu ÂÏÌØÛÅ, ÞÅÍ ÒÁÚÍÅÒ ÕÓÔÒÏÊÓÔ×Á %lu\n"
+
+#: disk-utils/mkswap.c:560
+#, fuzzy, c-format
+msgid "%s: error: swap area needs to be at least %ld KiB\n"
+msgstr ""
+"%s: ÏÛÉÂËÁ: ÐÒÏÓÔÒÁÎÓÔ×Ï ÄÌÑ Ó×ÏÐÉÎÇÁ ÄÏÌÖÎÏ ÂÙÔØ ÐÏ ËÒÁÊÎÅÊ ÍÅÒÅ %ldËâ\n"
+
+#: disk-utils/mkswap.c:577
+#, fuzzy, c-format
+msgid "%s: warning: truncating swap area to %llu KiB\n"
+msgstr "%s: ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÐÒÏÓÔÒÁÎÓÔ×Ï ÄÌÑ Ó×ÏÐÉÎÇÁ ÕÍÅÎØÛÁÅÔÓÑ ÄÏ %ldËâ\n"
+
+#: disk-utils/mkswap.c:600
+#, fuzzy, c-format
+msgid "%s: error: will not try to make swapdevice on '%s'\n"
+msgstr "ðÏÐÙÔËÁ ÓÏÚÄÁÔØ ÕÓÔÒÏÊÓÔ×Ï ÄÌÑ Ó×ÏÐÉÎÇÁ ÎÁ '%s' ×ÙÐÏÌÎÅÎÁ ÎÅ ÂÕÄÅÔ"
+
+#: disk-utils/mkswap.c:606
+#, fuzzy, c-format
+msgid "%s: error: %s is mounted; will not make swapspace.\n"
+msgstr "%s ÐÒÉÍÏÎÔÉÒÏ×ÁÎ; ÎÅ ÓÏÚÄÁ×ÁÊÔÅ ÚÄÅÓØ ÆÁÊÌÏ×ÕÀ ÓÉÓÔÅÍÕ!"
+
+#: disk-utils/mkswap.c:622
+msgid "Unable to set up swap-space: unreadable"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÕÓÔÁÎÏ×ÉÔØ ÐÒÏÓÔÒÁÎÓÔ×Ï ÄÌÑ Ó×ÏÐÉÎÇÁ: ÎÅÞÉÔÁÅÍÙÊ"
+
+#: disk-utils/mkswap.c:625
+#, fuzzy, c-format
+msgid "Setting up swapspace version 1, size = %llu KiB\n"
+msgstr ""
+"õÓÔÁÎÁ×ÌÉ×ÁÅÔÓÑ ÐÒÏÓÔÒÁÎÓÔ×Ï ÄÌÑ Ó×ÏÐÉÎÇÁ ×ÅÒÓÉÉ %d, ÒÁÚÍÅÒ = %llu Ëâ\n"
+
+#: disk-utils/mkswap.c:636
+#, fuzzy, c-format
+msgid "%s: %s: unable to write signature page: %s"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÚÁÐÉÓÁÔØ ÓÔÒÁÎÉÃÕ Ó ÓÉÇÎÁÔÕÒÏÊ"
+
+#: disk-utils/mkswap.c:647
+msgid "fsync failed"
+msgstr "fsync ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ"
+
+#: disk-utils/mkswap.c:658
+#, c-format
+msgid "%s: %s: unable to obtain selinux file label: %s\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:664
+#, fuzzy
+msgid "unable to matchpathcon()"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÐÒÅÄÅÌÉÔØ ÓÏÓÔÏÑÎÉÅ %s"
+
+#: disk-utils/mkswap.c:667
+#, fuzzy
+msgid "unable to create new selinux context"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÚÁÐÉÓÁÔØ inode'Ù"
+
+#: disk-utils/mkswap.c:669
+msgid "couldn't compute selinux context"
+msgstr ""
+
+#: disk-utils/mkswap.c:675
+#, fuzzy, c-format
+msgid "%s: unable to relabel %s to %s: %s\n"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÐÅÒÅÉÍÅÎÏ×ÁÔØ %s × %s: %s\n"
+
+#: disk-utils/raw.c:50
+#, fuzzy, c-format
+msgid ""
+"Usage:\n"
+"  %s "
+msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ:\n"
+
+#: disk-utils/raw.c:125
+#, c-format
+msgid ""
+"Device '%s' is control raw dev (use raw<N> where <N> is greater than zero)\n"
+msgstr ""
+
+#: disk-utils/raw.c:145
+#, fuzzy, c-format
+msgid "Cannot locate block device '%s' (%s)\n"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÂÌÏËÉÒÏ×ÁÔØ ÆÁÊÌ ÂÌÏËÉÒÏ×ËÉ %s: %s\n"
+
+#: disk-utils/raw.c:151
+#, fuzzy, c-format
+msgid "Device '%s' is not a block dev\n"
+msgstr "ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: %s ÎÅ Ñ×ÌÑÅÔÓÑ ÂÌÏÞÎÙÍ ÕÓÔÒÏÊÓÔ×ÏÍ\n"
+
+#: disk-utils/raw.c:186
+#, fuzzy, c-format
+msgid "Cannot open master raw device '"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÐÒÅÄÅÌÉÔØ ÓÏÓÔÏÑÎÉÅ ÕÓÔÒÏÊÓÔ×Á %s"
+
+#: disk-utils/raw.c:205
+#, fuzzy, c-format
+msgid "Cannot locate raw device '%s' (%s)\n"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÐÒÅÄÅÌÉÔØ ÓÏÓÔÏÑÎÉÅ ÕÓÔÒÏÊÓÔ×Á %s"
+
+#: disk-utils/raw.c:211
+#, fuzzy, c-format
+msgid "Raw device '%s' is not a character dev\n"
+msgstr "/dev/%s: ÎÅÂÌÏÞÎÏÅ ÕÓÔÒÏÊÓÔ×Ï"
+
+#: disk-utils/raw.c:216
+#, fuzzy, c-format
+msgid "Device '%s' is not a raw dev\n"
+msgstr "%s ÎÅ Ñ×ÌÑÅÔÓÑ ÏÓÏÂÙÍ ÂÌÏÞÎÙÍ ÕÓÔÒÏÊÓÔ×ÏÍ"
+
+#: disk-utils/raw.c:231
+#, c-format
+msgid "Error querying raw device (%s)\n"
+msgstr ""
+
+#: disk-utils/raw.c:241 disk-utils/raw.c:261
+#, c-format
+msgid "raw%d:\tbound to major %d, minor %d\n"
+msgstr ""
+
+#: disk-utils/raw.c:257
+#, fuzzy, c-format
+msgid "Error setting raw device (%s)\n"
+msgstr "ÏÛÉÂËÁ ÏÓÔÁÎÏ×ËÉ ÓÅÒ×ÉÓÁ: \"%s\""
+
+#: fdisk/cfdisk.c:376 fdisk/cfdisk.c:2080
+msgid "Unusable"
+msgstr "îÅÉÓÐÏÌØÚÕÅÍÙÊ"
+
+#: fdisk/cfdisk.c:378 fdisk/cfdisk.c:2082
+msgid "Free Space"
+msgstr "ó×ÏÂÏÄÎÏÅ ÐÒÏÓÔÒÁÎÓÔ×Ï"
+
+#: fdisk/cfdisk.c:381
+msgid "Linux ext2"
+msgstr "Linux ext2"
+
+#: fdisk/cfdisk.c:383
+msgid "Linux ext3"
+msgstr "Linux ext3"
+
+#: fdisk/cfdisk.c:385
+msgid "Linux XFS"
+msgstr "Linux XFS"
+
+#: fdisk/cfdisk.c:387
+msgid "Linux JFS"
+msgstr "Linux JFS"
+
+#: fdisk/cfdisk.c:389
+msgid "Linux ReiserFS"
+msgstr "Linux ReiserFS"
+
+#: fdisk/cfdisk.c:391 fdisk/i386_sys_types.c:57
+msgid "Linux"
+msgstr "Linux"
+
+#: fdisk/cfdisk.c:394
+msgid "OS/2 HPFS"
+msgstr "OS/2 HPFS"
+
+#: fdisk/cfdisk.c:396
+msgid "OS/2 IFS"
+msgstr "OS/2 IFS"
+
+#: fdisk/cfdisk.c:400
+msgid "NTFS"
+msgstr "NTFS"
+
+#: fdisk/cfdisk.c:411
+#, c-format
+msgid "Disk has been changed.\n"
+msgstr "äÉÓË ÂÙÌ ÉÚÍÅÎÅÎ.\n"
+
+#: fdisk/cfdisk.c:413
+#, c-format
+msgid "Reboot the system to ensure the partition table is correctly updated.\n"
+msgstr ""
+"ÐÅÒÅÚÁÇÒÕÚÉÔÅ ÓÉÓÔÅÍÕ, ÞÔÏÂÙ ÕÂÅÄÉÔØÓÑ × ÔÏÍ, ÞÔÏ ÔÁÂÌÉÃÁ ÒÁÚÄÅÌÏ× ËÏÒÒÅËÔÎÏ "
+"ÏÂÎÏ×ÌÅÎÁ.\n"
+
+#: fdisk/cfdisk.c:417
+#, 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"
+
+#: fdisk/cfdisk.c:512
+msgid "FATAL ERROR"
+msgstr "îåéóðòá÷éíáñ ïûéâëá"
+
+#: fdisk/cfdisk.c:513
+msgid "Press any key to exit cfdisk"
+msgstr "îÁÖÍÉÔÅ ÌÀÂÕÀ ËÌÁ×ÉÛÕ ÄÌÑ ×ÙÈÏÄÁ ÉÚ cfdisk"
+
+#: fdisk/cfdisk.c:560 fdisk/cfdisk.c:568
+msgid "Cannot seek on disk drive"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÎÁÊÔÉ ÎÁ ÄÉÓËÏ×ÏÍ ÎÁËÏÐÉÔÅÌÅ"
+
+#: fdisk/cfdisk.c:562
+msgid "Cannot read disk drive"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÐÒÏÞÉÔÁÔØ Ó ÄÉÓËÏ×ÏÇÏ ÎÁËÏÐÉÔÅÌÑ"
+
+#: fdisk/cfdisk.c:570
+msgid "Cannot write disk drive"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÐÉÓÁÔØ ÎÁ ÄÉÓËÏ×ÙÊ ÎÁËÏÐÉÔÅÌØ"
+
+#: fdisk/cfdisk.c:913
+msgid "Too many partitions"
+msgstr "óÌÉÛËÏÍ ÍÎÏÇÏ ÒÁÚÄÅÌÏ×"
+
+#: fdisk/cfdisk.c:918
+msgid "Partition begins before sector 0"
+msgstr "òÁÚÄÅÌ ÎÁÞÉÎÁÅÔÓÑ ÄÏ ÓÅËÔÏÒÁ 0"
+
+#: fdisk/cfdisk.c:923
+msgid "Partition ends before sector 0"
+msgstr "òÁÚÄÅÌ ÚÁËÁÎÞÉ×ÁÅÔÓÑ ÄÏ ÓÅËÔÏÒÁ 0"
+
+#: fdisk/cfdisk.c:928
+msgid "Partition begins after end-of-disk"
+msgstr "òÁÚÄÅÌ ÎÁÞÉÎÁÅÔÓÑ ÐÏÓÌÅ ËÏÎÃÁ ÄÉÓËÁ"
+
+#: fdisk/cfdisk.c:933
+msgid "Partition ends after end-of-disk"
+msgstr "òÁÚÄÅÌ ÚÁËÁÎÞÉ×ÁÅÔÓÑ ÐÏÓÌÅ ËÏÎÃÁ ÄÉÓËÁ"
+
+#: fdisk/cfdisk.c:938
+msgid "Partition ends in the final partial cylinder"
+msgstr "òÁÚÄÅÌ ÚÁËÁÎÞÉ×ÁÅÔÓÑ ÎÁ ÐÏÓÌÅÄÎÅÍ ÃÉÌÉÎÄÒÅ ÒÁÚÄÅÌÁ"
+
+#: fdisk/cfdisk.c:962
+msgid "logical partitions not in disk order"
+msgstr "ÌÏÇÉÞÅÓËÉÅ ÒÁÚÄÅÌÙ ÉÄÕÔ ÎÅ ÐÏ ÐÏÒÑÄËÕ ÄÉÓËÏ×"
+
+#: fdisk/cfdisk.c:965
+msgid "logical partitions overlap"
+msgstr "ÌÏÇÉÞÅÓËÉÅ ÒÁÚÄÅÌÙ ÐÅÒÅËÒÙ×ÁÀÔÓÑ"
+
+#: fdisk/cfdisk.c:969
+msgid "enlarged logical partitions overlap"
+msgstr "Õ×ÅÌÉÞÅÎÎÙÅ ÌÏÇÉÞÅÓËÉÅ ÄÉÓËÉ ÐÅÒÅËÒÙ×ÁÀÔÓÑ"
+
+#: fdisk/cfdisk.c:999
+msgid ""
+"!!!! Internal error creating logical drive with no extended partition !!!!"
+msgstr ""
+"!!!! ÷ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ ÐÒÉ ÓÏÚÄÁÎÉÉ ÌÏÇÉÞÅÓËÏÇÏ ÄÉÓËÁ ÂÅÚ ÒÁÓÛÉÒÅÎÎÏÇÏ "
+"ÒÁÚÄÅÌÁ !!!!"
+
+#: fdisk/cfdisk.c:1010 fdisk/cfdisk.c:1022
+msgid ""
+"Cannot create logical drive here -- would create two extended partitions"
+msgstr ""
+"îÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ÚÄÅÓØ ÌÏÇÉÞÅÓËÉÊ ÄÉÓË -- ÂÙÌÉ ÂÙ ÓÏÚÄÁÎÙ Ä×Á ÒÁÓÛÉÒÅÎÎÙÈ "
+"ÒÁÚÄÅÌÁ"
+
+#: fdisk/cfdisk.c:1164
+msgid "Menu item too long. Menu may look odd."
+msgstr "ðÕÎËÔ ÍÅÎÀ ÓÌÉÛËÏÍ ÄÌÉÎÎÙÊ. íÅÎÀ ÍÏÖÅÔ ×ÙÇÌÑÄÅÔØ ÎÅÞÅÔËÏ."
+
+#: fdisk/cfdisk.c:1220
+#, fuzzy
+msgid "Menu without direction. Defaulting to horizontal."
+msgstr "íÅÎÀ ÂÅÚ ÎÁÐÒÁ×ÌÅÎÉÑ. ðÏ ÕÍÏÌÞÁÎÉÀ ÉÓÐÏÌØÚÕÅÔÓÑ ÇÏÒÉÚÏÎÔÁÌØÎÏÅ."
+
+#: fdisk/cfdisk.c:1351
+msgid "Illegal key"
+msgstr "îÅÄÏÐÕÓÔÉÍÙÊ ËÌÀÞ"
+
+#: fdisk/cfdisk.c:1374
+msgid "Press a key to continue"
+msgstr "îÁÖÍÉÔÅ ËÌÁ×ÉÛÕ ÄÌÑ ÐÒÏÄÏÌÖÅÎÉÑ"
+
+#: fdisk/cfdisk.c:1421 fdisk/cfdisk.c:2051 fdisk/cfdisk.c:2583
+#: fdisk/cfdisk.c:2585
+msgid "Primary"
+msgstr "ïÓÎÏ×ÎÏÊ"
+
+#: fdisk/cfdisk.c:1421
+msgid "Create a new primary partition"
+msgstr "óÏÚÄÁÔØ ÎÏ×ÙÊ ÏÓÎÏ×ÎÏÊ ÒÁÚÄÅÌ"
+
+#: fdisk/cfdisk.c:1422 fdisk/cfdisk.c:2051 fdisk/cfdisk.c:2582
+#: fdisk/cfdisk.c:2585
+msgid "Logical"
+msgstr "ìÏÇÉÞÅÓËÉÊ"
+
+#: fdisk/cfdisk.c:1422
+msgid "Create a new logical partition"
+msgstr "óÏÚÄÁÔØ ÎÏ×ÙÊ ÌÏÇÉÞÅÓËÉÊ ÒÁÚÄÅÌ"
+
+#: fdisk/cfdisk.c:1423 fdisk/cfdisk.c:1478 fdisk/cfdisk.c:2256
+msgid "Cancel"
+msgstr "ïÔÍÅÎÁ"
+
+#: fdisk/cfdisk.c:1423 fdisk/cfdisk.c:1478
+msgid "Don't create a partition"
+msgstr "îÅ ÓÏÚÄÁ×ÁÔØ ÒÁÚÄÅÌ"
+
+#: fdisk/cfdisk.c:1439
+msgid "!!! Internal error !!!"
+msgstr "!!! ÷ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ !!!"
+
+#: fdisk/cfdisk.c:1442
+msgid "Size (in MB): "
+msgstr "òÁÚÍÅÒ (× íâ): "
+
+#: fdisk/cfdisk.c:1476
+msgid "Beginning"
+msgstr "îÁÞÁÌÏ"
+
+#: fdisk/cfdisk.c:1476
+msgid "Add partition at beginning of free space"
+msgstr "äÏÂÁ×ÉÔØ ÒÁÚÄÅÌ × ÎÁÞÁÌÏ Ó×ÏÂÏÄÎÏÇÏ ÐÒÏÓÔÒÁÎÓÔ×Á"
+
+#: fdisk/cfdisk.c:1477
+msgid "End"
+msgstr "ëÏÎÅÃ"
+
+#: fdisk/cfdisk.c:1477
+msgid "Add partition at end of free space"
+msgstr "äÏÂÁ×ÉÔØ ÒÁÚÄÅÌ × ËÏÎÅàÓ×ÏÂÏÄÎÏÇÏ ÐÒÏÓÔÒÁÎÓÔ×Á"
+
+#: fdisk/cfdisk.c:1495
+msgid "No room to create the extended partition"
+msgstr "îÅÔ ÍÅÓÔÁ ÄÌÑ ÓÏÚÄÁÎÉÑ ÒÁÓÛÉÒÅÎÎÏÇÏ ÒÁÚÄÅÌÁ"
+
+#: fdisk/cfdisk.c:1569
+msgid "No partition table.\n"
+msgstr "îÅÔ ÔÁÂÌÉÃÙ ÒÁÚÄÅÌÏ×.\n"
+
+#: fdisk/cfdisk.c:1573
+msgid "No partition table. Starting with zero table."
+msgstr "îÅÔ ÔÁÂÌÉÃÙ ÒÁÚÄÅÌÏ×. îÁÞÉÎÁÅÍ ÔÁÂÌÉÃÕ Ó ÎÕÌÑ."
+
+#: fdisk/cfdisk.c:1583
+msgid "Bad signature on partition table"
+msgstr "îÅ×ÅÒÎÁÑ ÓÉÇÎÁÔÕÒÁ × ÔÁÂÌÉÃÅ ÒÁÚÄÅÌÏ×"
+
+#: fdisk/cfdisk.c:1587
+msgid "Unknown partition table type"
+msgstr "îÅÉÚ×ÅÓÔÎÙÊ ÔÉРÔÁÂÌÉÃÙ ÒÁÚÄÅÌÏ×"
+
+#: fdisk/cfdisk.c:1589
+msgid "Do you wish to start with a zero table [y/N] ?"
+msgstr "èÏÔÉÔÅ ÎÁÞÁÔØ ÔÁÂÌÉÃÕ Ó ÎÕÌÑ [Ä/î] ?"
+
+#: fdisk/cfdisk.c:1637
+msgid "You specified more cylinders than fit on disk"
+msgstr "÷Ù ÕËÁÚÁÌÉ ÃÉÌÉÎÄÒÏ× ÂÏÌØÛÅ, ÞÅÍ ÍÏÖÅÔ ÂÙÔØ ÎÁ ÄÉÓËÅ"
+
+#: fdisk/cfdisk.c:1669
+msgid "Cannot open disk drive"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ÄÉÓËÏ×ÙÊ ÎÁËÏÐÉÔÅÌØ"
+
+#: fdisk/cfdisk.c:1671 fdisk/cfdisk.c:1860
+msgid "Opened disk read-only - you have no permission to write"
+msgstr "äÉÓË ÏÔËÒÙÔ ÔÏÌØËÏ ÄÌÑ ÞÔÅÎÉÑ - Õ ×ÁÓ ÎÅÔ ÒÁÚÒÅÛÅÎÉÑ ÎÁ ÚÁÐÉÓØ"
+
+#: fdisk/cfdisk.c:1682
+msgid ""
+"Warning!!  Unsupported GPT (GUID Partition Table) detected. Use GNU Parted."
+msgstr ""
+
+#: fdisk/cfdisk.c:1701
+msgid "Cannot get disk size"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÐÏÌÕÞÉÔØ ÒÁÚÍÅÒ ÄÉÓËÁ"
+
+#: fdisk/cfdisk.c:1727
+msgid "Bad primary partition"
+msgstr "ðÌÏÈÏÊ ÏÓÎÏ×ÎÏÊ ÒÁÚÄÅÌ"
+
+#: fdisk/cfdisk.c:1757
+msgid "Bad logical partition"
+msgstr "ðÌÏÈÏÊ ÌÏÇÉÞÅÓËÉÊ ÒÁÚÄÅÌ"
+
+#: fdisk/cfdisk.c:1872
+msgid "Warning!!  This may destroy data on your disk!"
+msgstr "ðÒÅÄÕÐÒÅÖÄÅÎÉÅ!!  üÔÏ ÍÏÖÅÔ ÕÎÉÞÔÏÖÉÔØ ÄÁÎÎÙÅ ÎÁ ×ÁÛÅÍ ÄÉÓËÅ!"
+
+#: fdisk/cfdisk.c:1876
+msgid ""
+"Are you sure you want to write the partition table to disk? (yes or no): "
+msgstr ""
+"÷Ù Õ×ÅÒÅÎÙ, ÞÔÏ ÈÏÔÉÔÅ ÚÁÐÉÓÁÔØ ÔÁÂÌÉÃÕ ÒÁÚÄÅÌÏ× ÎÁ ÄÉÓË? (ÄÁ ÉÌÉ ÎÅÔ): "
+
+#: fdisk/cfdisk.c:1882
+msgid "no"
+msgstr "ÎÅÔ"
+
+#: fdisk/cfdisk.c:1884
+msgid "Did not write partition table to disk"
+msgstr "ôÁÂÌÉÃÁ ÒÁÚÄÅÌÏ× ÎÅ ÚÁÐÉÓÁÎÁ ÎÁ ÄÉÓË"
+
+#: fdisk/cfdisk.c:1886
+msgid "yes"
+msgstr "ÄÁ"
+
+#: fdisk/cfdisk.c:1890
+msgid "Please enter `yes' or `no'"
+msgstr "ðÏÖÁÌÕÊÓÔÁ, ××ÅÄÉÔÅ `ÄÁ' ÉÌÉ `ÎÅÔ'"
+
+#: fdisk/cfdisk.c:1894
+msgid "Writing partition table to disk..."
+msgstr "ôÁÂÌÉÃÁ ÒÁÚÄÅÌÏ× ÚÁÐÉÓÙ×ÁÅÔÓÑ ÎÁ ÄÉÓË..."
+
+#: fdisk/cfdisk.c:1921 fdisk/cfdisk.c:1925
+msgid "Wrote partition table to disk"
+msgstr "ôÁÂÌÉÃÁ ÒÁÚÄÅÌÏ× ÚÁÐÉÓÁÎÁ ÎÁ ÄÉÓË"
+
+#: fdisk/cfdisk.c:1923
+#, fuzzy
+msgid ""
+"Wrote partition table, but re-read table failed.  Run partprobe(8), kpartx"
+"(8) or reboot to update table."
+msgstr ""
+"ôÁÂÌÉÃÁ ÒÁÚÄÅÌÏ× ÚÁÐÉÓÁÎÁ, ÎÏ ÐÏ×ÔÏÒÎÏÅ ÞÔÅÎÉÅ ÔÁÂÌÉÃÙ ÚÁ×ÅÒÛÉÌÏÓØ "
+"ÎÅÕÄÁÞÅÊ.  ðÅÒÅÚÁÇÒÕÚÉÔÅÓØ, ÞÔÏÂÙ ÏÂÎÏ×ÉÔØ ÔÁÂÌÉÃÕ."
+
+#: fdisk/cfdisk.c:1933
+msgid "No primary partitions are marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"îÅÔ ÏÓÎÏ×ÎÙÈ ÒÁÚÄÅÌÏ×, ÐÏÍÅÞÅÎÎÙÈ ËÁË ÚÁÇÒÕÚÏÞÎÙÅ. DOS'Ï×ÓËÉÊ MBR ÎÅ ÍÏÖÅÔ "
+"×ÙÐÏÌÎÉÔØ ÚÁÇÒÕÚËÕ."
+
+#: fdisk/cfdisk.c:1935
+msgid ""
+"More than one primary partition is marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"âÏÌÅÅ, ÞÅÍ ÏÄÉΠÏÓÎÏ×ÎÏÊ ÒÁÚÄÅÌ ÐÏÍÅÞÅΠËÁË ÚÁÇÒÕÚÏÞÎÙÊ. DOS'Ï×ÓËÉÊ MBR ÎÅ "
+"ÍÏÖÅÔ ×ÙÐÏÌÎÉÔØ ÚÁÇÒÕÚËÕ."
+
+#: fdisk/cfdisk.c:1993 fdisk/cfdisk.c:2112 fdisk/cfdisk.c:2196
+msgid "Enter filename or press RETURN to display on screen: "
+msgstr "÷×ÅÄÉÔÅ ÉÍÑ ÆÁÊÌÁ ÉÌÉ ÎÁÖÍÉÔÅ RETURN, ÞÔÏÂÙ ×Ù×ÅÓÔÉ ÎÁ ÜËÒÁÎ: "
+
+#: fdisk/cfdisk.c:2002 fdisk/cfdisk.c:2120 fdisk/cfdisk.c:2204
+#, c-format
+msgid "Cannot open file '%s'"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ÆÁÊÌ '%s'"
+
+#: fdisk/cfdisk.c:2013
+#, c-format
+msgid "Disk Drive: %s\n"
+msgstr "äÉÓËÏ×ÙÊ ÎÁËÏÐÉÔÅÌØ: %s\n"
+
+#: fdisk/cfdisk.c:2015
+msgid "Sector 0:\n"
+msgstr "óÅËÔÏÒ 0:\n"
+
+#: fdisk/cfdisk.c:2022
+#, c-format
+msgid "Sector %d:\n"
+msgstr "óÅËÔÏÒ %d:\n"
+
+#: fdisk/cfdisk.c:2042
+msgid "   None   "
+msgstr "   îÅÔ   "
+
+#: fdisk/cfdisk.c:2044
+msgid "   Pri/Log"
+msgstr "   ïÓÎ/ìÏÇ"
+
+#: fdisk/cfdisk.c:2046
+msgid "   Primary"
+msgstr "   ïÓÎÏ×ÎÏÊ"
+
+#: fdisk/cfdisk.c:2048
+msgid "   Logical"
+msgstr "   ìÏÇÉÞÅÓËÉÊ"
+
+#: fdisk/cfdisk.c:2086 fdisk/fdisk.c:1534 fdisk/fdisk.c:1855
+#: fdisk/fdisksgilabel.c:240 fdisk/fdisksunlabel.c:621 fdisk/sfdisk.c:653
+msgid "Unknown"
+msgstr "îÅÉÚ×ÅÓÔÎÙÊ"
+
+#: fdisk/cfdisk.c:2092 fdisk/cfdisk.c:2560 fdisk/fdisksunlabel.c:44
+msgid "Boot"
+msgstr "úÁÇÒÕÚÏÞÎÙÊ"
+
+#: fdisk/cfdisk.c:2094
+#, c-format
+msgid "(%02X)"
+msgstr "(%02X)"
+
+#: fdisk/cfdisk.c:2096
+msgid "None"
+msgstr "îÅÔ"
+
+#: fdisk/cfdisk.c:2131 fdisk/cfdisk.c:2215
+#, c-format
+msgid "Partition Table for %s\n"
+msgstr "ôÁÂÌÉÃÁ ÒÁÚÄÅÌÏ× ÄÌÑ %s\n"
+
+#: fdisk/cfdisk.c:2133
+msgid "               First       Last\n"
+msgstr "              ðÅÒ×ÙÊ   ðÏÓÌÅÄÎ.\n"
+
+#: fdisk/cfdisk.c:2134
+msgid ""
+" # Type       Sector      Sector   Offset    Length   Filesystem Type (ID) "
+"Flag\n"
+msgstr ""
+" # ôÉР       óÅËÔÏÒ      óÅËÔÏÒ   óÍÅÝ.     äÌÉÎÁ    ôÉРÆÁÊÌ.ÓÉÓÔ.  (ID) "
+"æÌÁÇ\n"
+
+#: fdisk/cfdisk.c:2135
+msgid ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+msgstr ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+
+#: fdisk/cfdisk.c:2218
+#, fuzzy
+msgid "         ---Starting----      ----Ending-----    Start     Number of\n"
+msgstr "         ----îÁÞÁÌÏ----      ----ëÏÎÅÃ-----    ðÅÒ×ÙÊ    þÉÓÌÏ\n"
+
+#: fdisk/cfdisk.c:2219
+#, fuzzy
+msgid " # Flags Head Sect  Cyl   ID  Head Sect  Cyl     Sector    Sectors\n"
+msgstr " # æÌÁÇÉ çÏÌ. óÅËÔ ãÉÌ   ID  çÏÌ. óÅËÔ ãÉÌ     ÓÅËÔÏÒ    ÓÅËÔÏÒÏ×\n"
+
+#: fdisk/cfdisk.c:2220
+#, fuzzy
+msgid "-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+msgstr "-- ----- ---- ---- ---- ---- ---- ---- ---- ----------- -----------\n"
+
+#: fdisk/cfdisk.c:2253
+msgid "Raw"
+msgstr "óÙÒÏÊ"
+
+#: fdisk/cfdisk.c:2253
+msgid "Print the table using raw data format"
+msgstr "÷Ù×ÅÓÔÉ ÔÁÂÌÉÃÕ, ÉÓÐÏÌØÚÕÑ ÆÏÒÍÁÔ ÓÙÒÙÈ ÄÁÎÎÙÈ"
+
+#: fdisk/cfdisk.c:2254 fdisk/cfdisk.c:2357
+msgid "Sectors"
+msgstr "óÅËÔÏÒÙ"
+
+#: fdisk/cfdisk.c:2254
+msgid "Print the table ordered by sectors"
+msgstr "÷Ù×ÅÓÔÉ ÔÁÂÌÉÃÕ, ÕÐÏÒÑÄÏÞÅÎÎÕÀ ÐÏ ÓÅËÔÏÒÁÍ"
+
+#: fdisk/cfdisk.c:2255
+msgid "Table"
+msgstr "ôÁÂÌÉÃÁ"
+
+#: fdisk/cfdisk.c:2255
+msgid "Just print the partition table"
+msgstr "ðÒÏÓÔÏ ×Ù×ÅÓÔÉ ÔÁÂÌÉÃÕ ÒÁÚÄÅÌÏ×"
+
+#: fdisk/cfdisk.c:2256
+msgid "Don't print the table"
+msgstr "îÅ ×Ù×ÏÄÉÔØ ÔÁÂÌÉÃÕ"
+
+#: fdisk/cfdisk.c:2284
+msgid "Help Screen for cfdisk"
+msgstr "üËÒÁΠÓÐÒÁ×ËÉ ÄÌÑ cfdisk"
+
+#: fdisk/cfdisk.c:2286
+msgid "This is cfdisk, a curses based disk partitioning program, which"
+msgstr "üÔÏ cfdisk - ÐÒÏËÌÑÔÁÑ ÐÒÏÇÒÁÍÍÁ ÄÌÑ ÒÁÚÍÅÔËÉ ÄÉÓËÁ, ËÏÔÏÒÁÑ"
+
+#: fdisk/cfdisk.c:2287
+msgid "allows you to create, delete and modify partitions on your hard"
+msgstr "ÐÏÚ×ÏÌÑÅÔ ×ÁÍ ÓÏÚÄÁ×ÁÔØ, ÕÄÁÌÑÔØ É ÉÚÍÅÎÑÔØ ÒÁÚÄÅÌÙ ÎÁ"
+
+#: fdisk/cfdisk.c:2288
+msgid "disk drive."
+msgstr "Ó×ÏÅÍ ÎÁËÏÐÉÔÅÌÅ ÎÁ ÖÅÓÔËÏÍ ÄÉÓËÅ."
+
+#: fdisk/cfdisk.c:2290
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+
+#: fdisk/cfdisk.c:2292
+msgid "Command      Meaning"
+msgstr "ëÏÍÁÎÄÁ      úÎÁÞÅÎÉÅ"
+
+#: fdisk/cfdisk.c:2293
+msgid "-------      -------"
+msgstr "-------      --------"
+
+#: fdisk/cfdisk.c:2294
+msgid "  b          Toggle bootable flag of the current partition"
+msgstr "  b          ðÅÒÅËÌÀÞÅÎÉÅ ÚÁÇÒÕÚÏÞÎÏÇÏ ÆÌÁÇÁ ÔÅËÕÝÅÇÏ ÒÁÚÄÅÌÁ"
+
+#: fdisk/cfdisk.c:2295
+msgid "  d          Delete the current partition"
+msgstr "  d          õÄÁÌÅÎÉÅ ÔÅËÕÝÅÇÏ ÒÁÚÄÅÌÁ"
+
+#: fdisk/cfdisk.c:2296
+msgid "  g          Change cylinders, heads, sectors-per-track parameters"
+msgstr "  g          óÍÅÎÁ ÐÁÒÁÍÅÔÒÏ× ÃÉÌÉÎÄÒÏ×, ÇÏÌÏ×ÏË, ÓÅËÔÏÒÏ× ÎÁ ÄÏÒÏÖËÕ"
+
+#: fdisk/cfdisk.c:2297
+msgid "             WARNING: This option should only be used by people who"
+msgstr "             ðòåäõðòåöäåîéå: üÔÁ ÏÐÃÉÑ ÄÏÌÖÎÁ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÔÏÌØËÏ"
+
+#: fdisk/cfdisk.c:2298
+msgid "             know what they are doing."
+msgstr "             ÔÅÍÉ, ËÔÏ ÚÎÁÅÔ, ÞÔÏ ÏΠÄÅÌÁÅÔ."
+
+#: fdisk/cfdisk.c:2299
+msgid "  h          Print this screen"
+msgstr "  h          ÷Ù×ÏÄ ÜÔÏÊ ÓÐÒÁ×ËÉ"
+
+#: fdisk/cfdisk.c:2300
+msgid "  m          Maximize disk usage of the current partition"
+msgstr "  m          äÏ×ÅÓÔÉ ÄÏ ÍÁËÓÉÍÕÍÁ ÉÓÐÏÌØÚÏ×ÁÎÉÅ ÔÅËÕÝÅÇÏ ÒÁÚÄÅÌÁ"
+
+#: fdisk/cfdisk.c:2301
+msgid "             Note: This may make the partition incompatible with"
+msgstr "             ðÒÉÍÅÞÁÎÉÅ: üÔÏ ÍÏÖÅÔ ÓÄÅÌÁÔØ ÒÁÚÄÅÌ ÎÅÓÏ×ÍÅÓÔÉÍÙÍ Ó "
+
+#: fdisk/cfdisk.c:2302
+msgid "             DOS, OS/2, ..."
+msgstr "             DOS, OS/2, ..."
+
+#: fdisk/cfdisk.c:2303
+msgid "  n          Create new partition from free space"
+msgstr "  n          óÏÚÄÁÎÉÅ ÎÏ×ÏÇÏ ÒÁÚÄÅÌÁ ÎÁ Ó×ÏÂÏÄÎÏÍ ÐÒÏÓÔÒÁÎÓÔ×Å"
+
+#: fdisk/cfdisk.c:2304
+msgid "  p          Print partition table to the screen or to a file"
+msgstr "  p          ÷Ù×ÏÄ ÔÁÂÌÉÃÙ ÒÁÚÄÅÌÏ× ÎÁ ÜËÒÁΠÉÌÉ × ÆÁÊÌ"
+
+#: fdisk/cfdisk.c:2305
+msgid "             There are several different formats for the partition"
+msgstr "             óÕÝÅÓÔ×ÕÅÔ ÎÅÓËÏÌØËÏ ÒÁÚÌÉÞÎÙÈ ÆÏÒÍÁÔÏ×"
+
+#: fdisk/cfdisk.c:2306
+msgid "             that you can choose from:"
+msgstr "             ÄÌÑ ÒÁÚÄÅÌÏ×, ÉÚ ËÏÔÏÒÙÈ ×Ù ÍÏÖÅÔÅ ×ÙÂÒÁÔØ:"
+
+#: fdisk/cfdisk.c:2307
+msgid "                r - Raw data (exactly what would be written to disk)"
+msgstr ""
+"                r - óÙÒÙÅ ÄÁÎÎÙÅ (ÎÅÐÏÓÒÅÄÓÔ×ÅÎÎÏ, ÞÔÏ ÂÕÄÅÔ ÚÁÐÉÓÁÎÏ ÎÁ "
+"ÄÉÓË)"
+
+#: fdisk/cfdisk.c:2308
+msgid "                s - Table ordered by sectors"
+msgstr "                s - ôÁÂÌÉÃÁ, ÕÐÏÒÑÄÏÞÅÎÎÁÑ ÐÏ ÓÅËÔÏÒÁÍ"
+
+#: fdisk/cfdisk.c:2309
+msgid "                t - Table in raw format"
+msgstr "                t - ôÁÂÌÉÃÁ × ÆÏÒÍÁÔÅ ÓÙÒÙÈ ÄÁÎÎÙÈ"
+
+#: fdisk/cfdisk.c:2310
+msgid "  q          Quit program without writing partition table"
+msgstr "  q          ÷ÙÈÏÄ ÉÚ ÐÒÏÇÒÁÍÍÙ ÂÅÚ ÚÁÐÉÓÉ ÔÁÂÌÉÃÙ ÒÁÚÄÅÌÏ×"
+
+#: fdisk/cfdisk.c:2311
+msgid "  t          Change the filesystem type"
+msgstr "  t          óÍÅÎÁ ÔÉÐÁ ÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÙ"
+
+#: fdisk/cfdisk.c:2312
+msgid "  u          Change units of the partition size display"
+msgstr "  u          éÚÍÅÎÅÎÉÅ ÅÄÉÎÉÃÙ ÉÚÍÅÒÅÎÉÑ ÏÔÏÂÒÁÖÁÅÍÏÇÏ ÒÁÚÍÅÒÁ ÒÁÚÄÅÌÁ"
+
+#: fdisk/cfdisk.c:2313
+msgid "             Rotates through MB, sectors and cylinders"
+msgstr "             þÅÒÅÄÕÅÔÓÑ ÞÅÒÅÚ íâ, ÓÅËÔÏÒÙ É ÃÉÌÉÎÄÒÙ"
+
+#: fdisk/cfdisk.c:2314
+msgid "  W          Write partition table to disk (must enter upper case W)"
+msgstr ""
+"  W          úÁÐÉÓØ ÔÁÂÌÉÃÙ ÒÁÚÄÅÌÏ× ÎÁ ÄÉÓË (ÔÒÅÂÕÅÔÓÑ ××ÅÓÔÉ ÚÁÇÌÁ×ÎÕÀ W)"
+
+#: fdisk/cfdisk.c:2315
+msgid "             Since this might destroy data on the disk, you must"
+msgstr "             ô.Ë. ÜÔÏ ÍÏÖÅÔ ÒÁÚÒÕÛÉÔØ ÄÁÎÎÙÅ ÎÁ ÄÉÓËÅ, ×Ù ÄÏÌÖÎÙ"
+
+#: fdisk/cfdisk.c:2316
+msgid "             either confirm or deny the write by entering `yes' or"
+msgstr "             ÐÏÄÔ×ÅÒÄÉÔØ ÉÌÉ ÏÔÍÅÎÉÔØ ÚÁÐÉÓØ, ÎÁÂÒÁ× `ÄÁ' ÉÌÉ"
+
+#: fdisk/cfdisk.c:2317
+msgid "             `no'"
+msgstr "             `ÎÅÔ'"
+
+#: fdisk/cfdisk.c:2318
+msgid "Up Arrow     Move cursor to the previous partition"
+msgstr "óÔÒÅÌËÁ ××ÅÒÈ ðÅÒÅÍÅÝÅÎÉÅ ËÕÒÓÏÒÁ ÎÁ ÐÒÅÄÙÄÕÝÉÊ ÒÁÚÄÅÌ"
+
+#: fdisk/cfdisk.c:2319
+msgid "Down Arrow   Move cursor to the next partition"
+msgstr "óÔÒÅÌËÁ ×ÎÉÚ ðÅÒÅÍÅÝÅÎÉÅ ËÕÒÓÏÒÁ ÎÁ ÓÌÅÄÕÀÝÉÊ ÒÁÚÄÅÌ"
+
+#: fdisk/cfdisk.c:2320
+msgid "CTRL-L       Redraws the screen"
+msgstr "CTRL-L       ðÅÒÅÒÉÓÏ×Ù×ÁÎÉÅ ÜËÒÁÎÁ"
+
+#: fdisk/cfdisk.c:2321
+msgid "  ?          Print this screen"
+msgstr "  ?          ÷Ù×ÏÄ ÜÔÏÊ ÓÐÒÁ×ËÉ"
+
+#: fdisk/cfdisk.c:2323
+msgid "Note: All of the commands can be entered with either upper or lower"
+msgstr "ðÒÉÍÅÞÁÎÉÅ: ÷ÓÅ ËÏÍÁÎÄÙ ÍÏÇÕÔ ÂÙÔØ ××ÅÄÅÎÙ × ×ÅÒÈÎÅÍ"
+
+#: fdisk/cfdisk.c:2324
+msgid "case letters (except for Writes)."
+msgstr "ÉÌÉ ÎÉÖÎÅÍ ÒÅÇÉÓÔÒÅ (ÚÁ ÉÓËÌÀÞÅÎÉÅÍ ÚÁÐÉÓÉ)."
+
+#: fdisk/cfdisk.c:2355 fdisk/fdisksunlabel.c:237
+msgid "Cylinders"
+msgstr "ãÉÌÉÎÄÒÙ"
+
+#: fdisk/cfdisk.c:2355
+msgid "Change cylinder geometry"
+msgstr "éÚÍÅÎÉÔØ ÇÅÏÍÅÔÒÉÀ ÃÉÌÉÎÄÒÁ"
+
+#: fdisk/cfdisk.c:2356 fdisk/fdisksunlabel.c:235
+msgid "Heads"
+msgstr "çÏÌÏ×ËÉ"
+
+#: fdisk/cfdisk.c:2356
+msgid "Change head geometry"
+msgstr "éÚÍÅÎÉÔØ ÇÅÏÍÅÔÒÉÀ ÇÏÌÏ×ËÉ"
+
+#: fdisk/cfdisk.c:2357
+msgid "Change sector geometry"
+msgstr "éÚÍÅÎÉÔØ ÇÅÏÍÅÔÒÉÀ ÓÅËÔÏÒÁ"
+
+#: fdisk/cfdisk.c:2358
+msgid "Done"
+msgstr "çÏÔÏ×Ï"
+
+#: fdisk/cfdisk.c:2358
+msgid "Done with changing geometry"
+msgstr "çÏÔÏ×Ï Ó ÉÚÍÅÎÅÎÉÅÍ ÇÅÏÍÅÔÒÉÉ"
+
+#: fdisk/cfdisk.c:2371
+msgid "Enter the number of cylinders: "
+msgstr "÷×ÅÄÉÔÅ ËÏÌÉÞÅÓÔ×Ï ÃÉÌÉÎÄÒÏ×:"
+
+#: fdisk/cfdisk.c:2382 fdisk/cfdisk.c:2953
+msgid "Illegal cylinders value"
+msgstr "îÅ×ÅÒÎÏÅ ÚÎÁÞÅÎÉÅ ÃÉÌÉÎÄÒÏ×"
+
+#: fdisk/cfdisk.c:2388
+msgid "Enter the number of heads: "
+msgstr "÷×ÅÄÉÔÅ ËÏÌÉÞÅÓÔ×Ï ÇÏÌÏ×ÏË:"
+
+#: fdisk/cfdisk.c:2395 fdisk/cfdisk.c:2963
+msgid "Illegal heads value"
+msgstr "îÅ×ÅÒÎÏÅ ÚÎÁÞÅÎÉÅ ÇÏÌÏ×ÏË"
+
+#: fdisk/cfdisk.c:2401
+msgid "Enter the number of sectors per track: "
+msgstr "÷×ÅÄÉÔÅ ËÏÌÉÞÅÓÔ×Ï ÓÅËÔÏÒÏ× ÎÁ ÄÏÒÏÖËÕ:"
+
+#: fdisk/cfdisk.c:2408 fdisk/cfdisk.c:2970
+msgid "Illegal sectors value"
+msgstr "îÅ×ÅÒÎÏÅ ÚÎÁÞÅÎÉÅ ÓÅËÔÏÒÏ×"
+
+#: fdisk/cfdisk.c:2511
+msgid "Enter filesystem type: "
+msgstr "÷×ÅÄÉÔÅ ÔÉРÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÙ:"
+
+#: fdisk/cfdisk.c:2529
+msgid "Cannot change FS Type to empty"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÉÚÍÅÎÉÔØ ÔÉРæó ÎÁ ÐÕÓÔÕÀ"
+
+#: fdisk/cfdisk.c:2531
+msgid "Cannot change FS Type to extended"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÉÚÍÅÎÉÔØ ÔÉРæó ÎÁ ÒÁÓÛÉÒÅÎÎÕÀ"
+
+#: fdisk/cfdisk.c:2562
+#, c-format
+msgid "Unk(%02X)"
+msgstr "Unk(%02X)"
+
+#: fdisk/cfdisk.c:2565 fdisk/cfdisk.c:2568
+msgid ", NC"
+msgstr ", NC"
+
+#: fdisk/cfdisk.c:2573 fdisk/cfdisk.c:2576
+msgid "NC"
+msgstr "NC"
+
+#: fdisk/cfdisk.c:2584
+msgid "Pri/Log"
+msgstr "ïÓÎ/ìÏÇ"
+
+#: fdisk/cfdisk.c:2591
+#, c-format
+msgid "Unknown (%02X)"
+msgstr "îÅÉÚ×ÅÓÔÎÙÊ (%02X)"
+
+#: fdisk/cfdisk.c:2660
+#, c-format
+msgid "Disk Drive: %s"
+msgstr "äÉÓËÏ×ÙÊ ÎÁËÏÐÉÔÅÌØ: %s"
+
+#: fdisk/cfdisk.c:2667
+#, c-format
+msgid "Size: %lld bytes, %lld MB"
+msgstr "òÁÚÍÅÒ: %lld ÂÁÊÔ, %lld íâ"
+
+#: fdisk/cfdisk.c:2670
+#, c-format
+msgid "Size: %lld bytes, %lld.%lld GB"
+msgstr "òÁÚÍÅÒ: %lld ÂÁÊÔ, %lld.%lld çâ"
+
+#: fdisk/cfdisk.c:2674
+#, c-format
+msgid "Heads: %d   Sectors per Track: %d   Cylinders: %lld"
+msgstr "çÏÌÏ×ÏË: %d   óÅËÔÏÒÏ× ÎÁ ÄÏÒÏÖËÕ: %d   ãÉÌÉÎÄÒÏ×: %lld"
+
+#: fdisk/cfdisk.c:2678 login-utils/chfn.c:377
+msgid "Name"
+msgstr "éÍÑ"
+
+#: fdisk/cfdisk.c:2679
+msgid "Flags"
+msgstr "æÌÁÇÉ"
+
+#: fdisk/cfdisk.c:2680
+msgid "Part Type"
+msgstr "ôÉРÒÁÚÄÅÌÁ"
+
+#: fdisk/cfdisk.c:2681
+msgid "FS Type"
+msgstr "ôÉРæó"
+
+#: fdisk/cfdisk.c:2682
+msgid "[Label]"
+msgstr "[íÅÔËÁ]"
+
+#: fdisk/cfdisk.c:2684
+msgid "    Sectors"
+msgstr "    óÅËÔÏÒÙ"
+
+#: fdisk/cfdisk.c:2686
+msgid "  Cylinders"
+msgstr "  ãÉÌÉÎÄÒÙ"
+
+#: fdisk/cfdisk.c:2688
+msgid "  Size (MB)"
+msgstr "  òÁÚÍÅÒ (íâ)"
+
+#: fdisk/cfdisk.c:2690
+msgid "  Size (GB)"
+msgstr "  òÁÚÍÅÒ (çâ)"
+
+#: fdisk/cfdisk.c:2744
+msgid "Bootable"
+msgstr "úÁÇÒÕÚ."
+
+#: fdisk/cfdisk.c:2744
+msgid "Toggle bootable flag of the current partition"
+msgstr "ðÅÒÅËÌÀÞÉÔØ ÚÁÇÒÕÚÏÞÎÙÊ ÆÌÁÇ ÔÅËÕÝÅÇÏ ÒÁÚÄÅÌÁ"
+
+#: fdisk/cfdisk.c:2745
+msgid "Delete"
+msgstr "õÄÁÌÉÔØ"
+
+#: fdisk/cfdisk.c:2745
+msgid "Delete the current partition"
+msgstr "õÄÁÌÉÔØ ÔÅËÕÝÉÊ ÒÁÚÄÅÌ"
+
+#: fdisk/cfdisk.c:2746
+msgid "Geometry"
+msgstr "çÅÏÍÅÔÒÉÑ"
+
+#: fdisk/cfdisk.c:2746
+msgid "Change disk geometry (experts only)"
+msgstr "éÚÍÅÎÉÔØ ÇÅÏÍÅÔÒÉÀ ÄÉÓËÁ (ÔÏÌØËÏ ÄÌÑ ÜËÓÐÅÒÔÏ×)"
+
+#: fdisk/cfdisk.c:2747
+msgid "Help"
+msgstr "óÐÒÁ×ËÁ"
+
+#: fdisk/cfdisk.c:2747
+msgid "Print help screen"
+msgstr "÷Ù×ÅÓÔÉ ÜËÒÁΠÓÐÒÁ×ËÉ"
+
+#: fdisk/cfdisk.c:2748
+msgid "Maximize"
+msgstr "íÁËÓ."
+
+#: fdisk/cfdisk.c:2748
+msgid "Maximize disk usage of the current partition (experts only)"
+msgstr ""
+"äÏ×ÅÓÔÉ ÄÏ ÍÁËÓÉÍÕÍÁ ÉÓÐÏÌØÚÏ×ÁÎÉÅ ÔÅËÕÝÅÇÏ ÒÁÚÄÅÌÁ (ÔÏÌØËÏ ÄÌÑ ÜËÓÐÅÒÔÏ×)"
+
+#: fdisk/cfdisk.c:2749
+msgid "New"
+msgstr "îÏ×ÙÊ"
+
+#: fdisk/cfdisk.c:2749
+msgid "Create new partition from free space"
+msgstr "óÏÚÄÁÔØ ÎÏ×ÙÊ ÒÁÚÄÅÌ ÎÁ Ó×ÏÂÏÄÎÏÍ ÐÒÏÓÔÒÁÎÓÔ×Å"
+
+#: fdisk/cfdisk.c:2750
+msgid "Print"
+msgstr "÷Ù×ÅÓÔÉ"
+
+#: fdisk/cfdisk.c:2750
+msgid "Print partition table to the screen or to a file"
+msgstr "÷Ù×ÅÓÔÉ ÔÁÂÌÉÃÕ ÒÁÚÄÅÌÏ× ÎÁ ÜËÒÁΠÉÌÉ × ÆÁÊÌ"
+
+#: fdisk/cfdisk.c:2751
+msgid "Quit"
+msgstr "÷ÙÈÏÄ"
+
+#: fdisk/cfdisk.c:2751
+msgid "Quit program without writing partition table"
+msgstr "÷ÙÊÔÉ ÉÚ ÐÒÏÇÒÁÍÍÙ ÂÅÚ ÚÁÐÉÓÉ ÔÁÂÌÉÃÙ ÒÁÚÄÅÌÏ×"
+
+#: fdisk/cfdisk.c:2752
+msgid "Type"
+msgstr "ôÉÐ"
+
+#: fdisk/cfdisk.c:2752
+msgid "Change the filesystem type (DOS, Linux, OS/2 and so on)"
+msgstr "éÚÍÅÎÉÔØ ÔÉРÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÙ (DOS, Linux, OS/2 É Ô.Ä.)"
+
+#: fdisk/cfdisk.c:2753
+msgid "Units"
+msgstr "åÄ. ÉÚÍ."
+
+#: fdisk/cfdisk.c:2753
+msgid "Change units of the partition size display (MB, sect, cyl)"
+msgstr ""
+"éÚÍÅÎÉÔØ ÅÄÉÎÉÃÙ ÉÚÍÅÒÅÎÉÑ ÏÔÏÂÒÁÖÁÅÍÏÇÏ ÒÁÚÍÅÒÁ ÒÁÚÄÅÌÁ (íâ, ÓÅËÔ., ÃÉÌ.)"
+
+#: fdisk/cfdisk.c:2754
+msgid "Write"
+msgstr "úÁÐÉÓØ"
+
+#: fdisk/cfdisk.c:2754
+msgid "Write partition table to disk (this might destroy data)"
+msgstr "úÁÐÉÓÁÔØ ÔÁÂÌÉÃÕ ÒÁÚÄÅÌÏ× ÎÁ ÄÉÓË (ÜÔÏ ÍÏÖÅÔ ÒÁÚÒÕÛÉÔØ ÄÁÎÎÙÅ)"
+
+#: fdisk/cfdisk.c:2800
+msgid "Cannot make this partition bootable"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÓÄÅÌÁÔØ ÜÔÏÔ ÒÁÚÄÅÌ ÚÁÇÒÕÚÏÞÎÙÍ"
+
+#: fdisk/cfdisk.c:2810
+msgid "Cannot delete an empty partition"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÕÄÁÌÉÔØ ÐÕÓÔÏÊ ÒÁÚÄÅÌ"
+
+#: fdisk/cfdisk.c:2830 fdisk/cfdisk.c:2832
+msgid "Cannot maximize this partition"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÍÁËÓÉÍÉÚÉÒÏ×ÁÔØ ÜÔÏÔ ÒÁÚÄÅÌ"
+
+#: fdisk/cfdisk.c:2840
+msgid "This partition is unusable"
+msgstr "üÔÏÔ ÒÁÚÄÅÌ ÎÅÉÓÐÏÌØÚÕÅÍÙÊ"
+
+#: fdisk/cfdisk.c:2842
+msgid "This partition is already in use"
+msgstr "üÔÏÔ ÒÁÚÄÅÌ ÕÖÅ ÉÓÐÏÌØÚÕÅÔÓÑ"
+
+#: fdisk/cfdisk.c:2859
+msgid "Cannot change the type of an empty partition"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÉÚÍÅÎÉÔØ ÔÉРÐÕÓÔÏÇÏ ÒÁÚÄÅÌÁ"
+
+#: fdisk/cfdisk.c:2886 fdisk/cfdisk.c:2892
+msgid "No more partitions"
+msgstr "òÁÚÄÅÌÏ× ÂÏÌØÛÅ ÎÅÔ"
+
+#: fdisk/cfdisk.c:2899
+msgid "Illegal command"
+msgstr "îÅ×ÅÒÎÁÑ ËÏÍÁÎÄÁ"
+
+#: fdisk/cfdisk.c:2909
+#, c-format
+msgid "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+msgstr "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+
+#: fdisk/cfdisk.c:2916
+#, 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"
+
+#: fdisk/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'ÏÍ)."
+
+#: fdisk/fdiskbsdlabel.c:122
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+"\n"
+"íÅÔËÁ BSD ÄÌÑ ÕÓÔÒÏÊÓÔ×Á: %s\n"
+
+#: fdisk/fdiskbsdlabel.c:129 fdisk/fdisk.c:386 fdisk/fdisk.c:405
+#: fdisk/fdisk.c:423 fdisk/fdisk.c:430 fdisk/fdisk.c:453 fdisk/fdisk.c:471
+#: fdisk/fdisk.c:487 fdisk/fdisk.c:503
+msgid "Command action"
+msgstr "äÅÊÓÔ×ÉÅ ËÏÍÁÎÄÙ"
+
+#: fdisk/fdiskbsdlabel.c:130
+msgid "   d   delete a BSD partition"
+msgstr "   d   ÕÄÁÌÅÎÉÅ ÒÁÚÄÅÌÁ BSD"
+
+#: fdisk/fdiskbsdlabel.c:131
+msgid "   e   edit drive data"
+msgstr "   e   ÒÅÄÁËÔÉÒÏ×ÁÎÉÅ ÄÁÎÎÙÈ ÄÉÓËÁ"
+
+#: fdisk/fdiskbsdlabel.c:132
+msgid "   i   install bootstrap"
+msgstr "   i   ÕÓÔÁÎÏ×ËÁ bootstrap"
+
+#: fdisk/fdiskbsdlabel.c:133
+msgid "   l   list known filesystem types"
+msgstr "   l   ÓÐÉÓÏË ÔÉÐÏ× ÉÚ×ÅÓÔÎÙÈ ÆÁÊÌÏ×ÙÈ ÓÉÓÔÅÍ"
+
+#: fdisk/fdiskbsdlabel.c:134 fdisk/fdisk.c:392 fdisk/fdisk.c:411
+#: fdisk/fdisk.c:424 fdisk/fdisk.c:436 fdisk/fdisk.c:461 fdisk/fdisk.c:478
+#: fdisk/fdisk.c:494 fdisk/fdisk.c:512
+msgid "   m   print this menu"
+msgstr "   m   ×Ù×ÏÄ ÜÔÏÇÏ ÍÅÎÀ"
+
+#: fdisk/fdiskbsdlabel.c:135
+msgid "   n   add a new BSD partition"
+msgstr "   n   ÄÏÂÁ×ÌÅÎÉÅ ÎÏ×ÏÇÏ ÒÁÚÄÅÌÁ BSD"
+
+#: fdisk/fdiskbsdlabel.c:136
+msgid "   p   print BSD partition table"
+msgstr "   p   ×Ù×ÏÄ ÔÁÂÌÉÃÙ ÒÁÚÄÅÌÏ× BSD"
+
+#: fdisk/fdiskbsdlabel.c:137 fdisk/fdisk.c:396 fdisk/fdisk.c:415
+#: fdisk/fdisk.c:426 fdisk/fdisk.c:440 fdisk/fdisk.c:463 fdisk/fdisk.c:480
+#: fdisk/fdisk.c:496 fdisk/fdisk.c:514
+msgid "   q   quit without saving changes"
+msgstr "   q   ×ÙÈÏÄ ÂÅÚ ÓÏÈÒÁÎÅÎÉÑ ÉÚÍÅÎÅÎÉÊ"
+
+#: fdisk/fdiskbsdlabel.c:138 fdisk/fdisk.c:464 fdisk/fdisk.c:481
+#: fdisk/fdisk.c:497 fdisk/fdisk.c:515
+msgid "   r   return to main menu"
+msgstr "   r   ×ÏÚ×ÒÁÔ × ÇÌÁ×ÎÏÅ ÍÅÎÀ"
+
+#: fdisk/fdiskbsdlabel.c:139
+msgid "   s   show complete disklabel"
+msgstr "   s   ÏÔÏÂÒÁÖÅÎÉÅ ÐÏÌÎÏÊ ÍÅÔËÉ ÄÉÓËÁ"
+
+#: fdisk/fdiskbsdlabel.c:140
+msgid "   t   change a partition's filesystem id"
+msgstr "   t   ÉÚÍÅÎÅÎÉÅ id ÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÙ ÒÁÚÄÅÌÁ"
+
+#: fdisk/fdiskbsdlabel.c:141
+msgid "   u   change units (cylinders/sectors)"
+msgstr "   u   ÉÚÍÅÎÅÎÉÅ ÅÄÉÎÉàÉÚÍÅÒÅÎÉÑ (ÃÉÌÉÎÄÒÙ/ÓÅËÔÏÒÙ)"
+
+#: fdisk/fdiskbsdlabel.c:142
+msgid "   w   write disklabel to disk"
+msgstr "   w   ÚÁÐÉÓØ ÍÅÔËÉ ÄÉÓËÁ ÎÁ ÄÉÓË"
+
+#: fdisk/fdiskbsdlabel.c:144
+msgid "   x   link BSD partition to non-BSD partition"
+msgstr "   x   Ó×ÑÚÙ×ÁÎÉÅ ÒÁÚÄÅÌÁ BSD Ó ÒÁÚÄÅÌÏÍ ÎÅ-BSD"
+
+#: fdisk/fdiskbsdlabel.c:176
+#, c-format
+msgid "Partition %s has invalid starting sector 0.\n"
+msgstr "òÁÚÄÅÌ %s ÓÏÄÅÒÖÉÔ ÎÅ×ÅÒÎÙÊ ÎÁÞÁÌØÎÙÊ ÎÕÌÅ×ÏÊ ÓÅËÔÏÒ.\n"
+
+#: fdisk/fdiskbsdlabel.c:180
+#, c-format
+msgid "Reading disklabel of %s at sector %d.\n"
+msgstr "þÉÔÁÅÔÓÑ ÍÅÔËÁ ÄÉÓËÁ %s Ó ÓÅËÔÏÒÁ %d.\n"
+
+#: fdisk/fdiskbsdlabel.c:190
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr "îÁ %s ÎÅÔ ÒÁÚÄÅÌÁ *BSD.\n"
+
+#: fdisk/fdiskbsdlabel.c:204
+msgid "BSD disklabel command (m for help): "
+msgstr "ëÏÍÁÎÄÁ ÍÅÔËÉ ÄÉÓËÁ BSD (m ÄÌÑ ÓÐÒÁ×ËÉ): "
+
+#: fdisk/fdiskbsdlabel.c:284 fdisk/fdisk.c:2052 fdisk/fdisksgilabel.c:651
+#: fdisk/fdisksunlabel.c:431
+#, c-format
+msgid "First %s"
+msgstr "ðÅÒ×ÙÊ %s"
+
+#: fdisk/fdiskbsdlabel.c:291 fdisk/fdisksunlabel.c:488
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr "ðÏÓÌÅÄÎÉÊ %s ÉÌÉ +size ÉÌÉ +sizeM ÉÌÉ +sizeK"
+
+#: fdisk/fdiskbsdlabel.c:318
+#, c-format
+msgid "type: %s\n"
+msgstr "ÔÉÐ: %s\n"
+
+#: fdisk/fdiskbsdlabel.c:320
+#, c-format
+msgid "type: %d\n"
+msgstr "ÔÉÐ: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:321
+#, c-format
+msgid "disk: %.*s\n"
+msgstr "ÄÉÓË: %.*s\n"
+
+#: fdisk/fdiskbsdlabel.c:322
+#, c-format
+msgid "label: %.*s\n"
+msgstr "ÍÅÔËÁ: %.*s\n"
+
+#: fdisk/fdiskbsdlabel.c:323
+#, c-format
+msgid "flags:"
+msgstr "ÆÌÁÇÉ:"
+
+#: fdisk/fdiskbsdlabel.c:325
+#, c-format
+msgid " removable"
+msgstr " ÓßÅÍÎÙÊ"
+
+#: fdisk/fdiskbsdlabel.c:327
+#, c-format
+msgid " ecc"
+msgstr " ecc"
+
+#: fdisk/fdiskbsdlabel.c:329
+#, c-format
+msgid " badsect"
+msgstr " bad-ÓÅËÔÏÒ"
+
+#: fdisk/fdiskbsdlabel.c:333
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr "ÂÁÊÔ/ÓÅËÔÏÒ: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:334
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr "ÓÅËÔÏÒÙ/ÄÏÒÏÖËÁ: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:335
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr "ÄÏÒÏÖËÉ/ÃÉÌÉÎÄÒ: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:336
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr "ÓÅËÔÏÒÙ/ÃÉÌÉÎÄÒ: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:337
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr "ÃÉÌÉÎÄÒÙ: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:338
+#, c-format
+msgid "rpm: %d\n"
+msgstr "ÏÂ/ÍÉÎ: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:339
+#, c-format
+msgid "interleave: %d\n"
+msgstr "ÞÅÒÅÄÏ×ÁÎÉÅ: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:340
+#, c-format
+msgid "trackskew: %d\n"
+msgstr "ÐÅÒÅËÏÓ ÄÏÒÏÖËÉ: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:341
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr "ÐÅÒÅËÏÓ ÃÉÌÉÎÄÒÁ: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:342
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr "ÐÅÒÅËÌÀÞÅÎÉÅ ÇÏÌÏ×ËÉ: %ld\t\t# ÍÉÌÌÉÓÅËÕÎÄ\n"
+
+#: fdisk/fdiskbsdlabel.c:344
+#, c-format
+msgid "track-to-track seek: %ld\t# milliseconds\n"
+msgstr "ÐÏÉÓË ÄÏÒÏÖËÉ: %ld\t# ÍÉÌÌÉÓÅËÕÎÄ\n"
+
+#: fdisk/fdiskbsdlabel.c:346
+#, c-format
+msgid "drivedata: "
+msgstr "ÄÁÎÎÙÅ ÄÉÓËÁ: "
+
+#: fdisk/fdiskbsdlabel.c:355
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+"\n"
+"%d ÒÁÚÄÅÌÙ:\n"
+
+#: fdisk/fdiskbsdlabel.c:356
+#, c-format
+msgid "#       start       end      size     fstype   [fsize bsize   cpg]\n"
+msgstr "#      ÎÁÞÁÌÏ     ËÏÎÅà     ÒÁÚÍÅÒ   ÔÉРÆÓ   [fsize bsize   cpg]\n"
+
+#: fdisk/fdiskbsdlabel.c:405 fdisk/fdiskbsdlabel.c:408
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr "íÅÔËÁ ÄÉÓËÁ ÚÁÐÉÓÙ×ÁÅÔÓÑ ÎÁ %s.\n"
+
+#: fdisk/fdiskbsdlabel.c:420 fdisk/fdiskbsdlabel.c:422
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr "%s ÎÅ ÓÏÄÅÒÖÉÔ ÍÅÔËÉ ÄÉÓËÁ.\n"
+
+#: fdisk/fdiskbsdlabel.c:427
+msgid "Do you want to create a disklabel? (y/n) "
+msgstr "èÏÔÉÔÅ ÓÏÚÄÁÔØ ÍÅÔËÕ ÄÉÓËÁ? (Ä/Î) "
+
+#: fdisk/fdiskbsdlabel.c:467
+msgid "bytes/sector"
+msgstr "ÂÁÊÔ/ÓÅËÔÏÒ"
+
+#: fdisk/fdiskbsdlabel.c:468
+msgid "sectors/track"
+msgstr "ÓÅËÔÏÒÙ/ÄÏÒÏÖËÁ"
+
+#: fdisk/fdiskbsdlabel.c:469
+msgid "tracks/cylinder"
+msgstr "ÄÏÒÏÖËÉ/ÃÉÌÉÎÄÒ"
+
+#: fdisk/fdiskbsdlabel.c:470 fdisk/fdisk.c:648 fdisk/fdisk.c:1357
+#: fdisk/sfdisk.c:945
+msgid "cylinders"
+msgstr "ÃÉÌÉÎÄÒÙ"
+
+#: fdisk/fdiskbsdlabel.c:477
+msgid "sectors/cylinder"
+msgstr "ÓÅËÔÏÒÙ/ÃÉÌÉÎÄÒ"
+
+#: fdisk/fdiskbsdlabel.c:481
+#, c-format
+msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
+msgstr "äÏÌÖÎÏ ÂÙÔØ <= ÓÅËÔÏÒÙ/ÄÏÒÏÖËÁ * ÄÏÒÏÖËÉ/ÃÉÌÉÎÄÒ (ÐÏ ÕÍÏÌÞÁÎÉÀ).\n"
+
+#: fdisk/fdiskbsdlabel.c:483
+msgid "rpm"
+msgstr "ÏÂ/ÍÉÎ"
+
+#: fdisk/fdiskbsdlabel.c:484
+msgid "interleave"
+msgstr "ÞÅÒÅÄÏ×ÁÎÉÅ"
+
+#: fdisk/fdiskbsdlabel.c:485
+msgid "trackskew"
+msgstr "ÐÅÒÅËÏÓ ÄÏÒÏÖËÉ"
+
+#: fdisk/fdiskbsdlabel.c:486
+msgid "cylinderskew"
+msgstr "ÐÅÒÅËÏÓ ÃÉÌÉÎÄÒÁ"
+
+#: fdisk/fdiskbsdlabel.c:487
+msgid "headswitch"
+msgstr "ÐÅÒÅËÌÀÞÅÎÉÅ ÇÏÌÏ×ËÉ"
+
+#: fdisk/fdiskbsdlabel.c:488
+msgid "track-to-track seek"
+msgstr "ÐÏÉÓË ÄÏÒÏÖËÉ"
+
+#: fdisk/fdiskbsdlabel.c:529
+#, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr "Bootstrap: %sboot -> boot%s (%s): "
+
+#: fdisk/fdiskbsdlabel.c:554
+#, c-format
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr "Bootstrap ÐÅÒÅËÒÙ×ÁÅÔÓÑ Ó ÍÅÔËÏÊ ÄÉÓËÁ!\n"
+
+#: fdisk/fdiskbsdlabel.c:575 fdisk/fdiskbsdlabel.c:577
+#, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr "Bootstrap ÕÓÔÁÎÏ×ÌÅΠÎÁ %s.\n"
+
+#: fdisk/fdiskbsdlabel.c:599
+#, c-format
+msgid "Partition (a-%c): "
+msgstr "òÁÚÄÅÌ (a-%c): "
+
+#: fdisk/fdiskbsdlabel.c:618 fdisk/fdisk.c:2199
+#, c-format
+msgid "The maximum number of partitions has been created\n"
+msgstr "âÙÌÏ ÓÏÚÄÁÎÏ ÍÁËÓÉÍÁÌØÎÏ ×ÏÚÍÏÖÎÏÅ ËÏÌÉÞÅÓÔ×Ï ÒÁÚÄÅÌÏ×\n"
+
+#: fdisk/fdiskbsdlabel.c:630
+#, c-format
+msgid "This partition already exists.\n"
+msgstr "üÔÏÔ ÒÁÚÄÅÌ ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ.\n"
+
+#: fdisk/fdiskbsdlabel.c:757
+#, c-format
+msgid "Warning: too many partitions (%d, maximum is %d).\n"
+msgstr "ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÓÌÉÛËÏÍ ÍÎÏÇÏ ÒÁÚÄÅÌÏ× (%d, ÍÁËÓÉÍÕÍ - %d).\n"
+
+#: fdisk/fdiskbsdlabel.c:805
+#, c-format
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+"\n"
+"óÉÎÈÒÏÎÉÚÉÒÕÀÔÓÑ ÄÉÓËÉ.\n"
+
+#: fdisk/fdisk.c:244
+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"
+
+#: fdisk/fdisk.c:256
+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"
+
+#: fdisk/fdisk.c:265
+#, c-format
+msgid "Unable to open %s\n"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ %s\n"
+
+#: fdisk/fdisk.c:269
+#, c-format
+msgid "Unable to read %s\n"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÐÒÏÞÉÔÁÔØ %s\n"
+
+#: fdisk/fdisk.c:273
+#, c-format
+msgid "Unable to seek on %s\n"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÎÁÊÔÉ ÎÁ %s\n"
+
+#: fdisk/fdisk.c:277
+#, c-format
+msgid "Unable to write %s\n"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÐÉÓÁÔØ %s\n"
+
+#: fdisk/fdisk.c:281
+#, c-format
+msgid "BLKGETSIZE ioctl failed on %s\n"
+msgstr "BLKGETSIZE ioctl ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ ÎÁ %s\n"
+
+#: fdisk/fdisk.c:285
+msgid "Unable to allocate any more memory\n"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ×ÙÄÅÌÉÔØ ÅÝÅ ÐÁÍÑÔÉ\n"
+
+#: fdisk/fdisk.c:288
+msgid "Fatal error\n"
+msgstr "îÅÉÓÐÒÁ×ÉÍÁÑ ÏÛÉÂËÁ\n"
+
+#: fdisk/fdisk.c:387
+msgid "   a   toggle a read only flag"
+msgstr "   a   ÐÅÒÅËÌÀÞÅÎÉÅ ÆÌÁÇÁ ÚÁÇÒÕÚËÉ"
+
+#: fdisk/fdisk.c:388 fdisk/fdisk.c:432
+msgid "   b   edit bsd disklabel"
+msgstr "   b   ÒÅÄÁËÔÉÒÏ×ÁÎÉÅ ÍÅÔËÉ ÄÉÓËÁ bsd"
+
+#: fdisk/fdisk.c:389
+msgid "   c   toggle the mountable flag"
+msgstr "   c   ÐÅÒÅËÌÀÞÅÎÉÅ ÆÌÁÇÁ ÍÏÎÔÉÒÏ×ÁÎÉÑ"
+
+#: fdisk/fdisk.c:390 fdisk/fdisk.c:409 fdisk/fdisk.c:434
+msgid "   d   delete a partition"
+msgstr "   d   ÕÄÁÌÅÎÉÅ ÒÁÚÄÅÌÁ"
+
+#: fdisk/fdisk.c:391 fdisk/fdisk.c:410 fdisk/fdisk.c:435
+msgid "   l   list known partition types"
+msgstr "   l   ÓÐÉÓÏË ÉÚ×ÅÓÔÎÙÈ ÔÉÐÏ× ÆÁÊÌÏ×ÙÈ ÓÉÓÔÅÍ"
+
+#: fdisk/fdisk.c:393 fdisk/fdisk.c:412 fdisk/fdisk.c:437
+msgid "   n   add a new partition"
+msgstr "   n   ÄÏÂÁ×ÌÅÎÉÅ ÎÏ×ÏÇÏ ÒÁÚÄÅÌÁ"
+
+#: fdisk/fdisk.c:394 fdisk/fdisk.c:413 fdisk/fdisk.c:425 fdisk/fdisk.c:438
+msgid "   o   create a new empty DOS partition table"
+msgstr "   o   ÓÏÚÄÁÎÉÅ ÎÏ×ÏÊ ÐÕÓÔÏÊ ÔÁÂÌÉÃÙ ÒÁÚÄÅÌÏ× DOS"
+
+#: fdisk/fdisk.c:395 fdisk/fdisk.c:414 fdisk/fdisk.c:439 fdisk/fdisk.c:462
+#: fdisk/fdisk.c:479 fdisk/fdisk.c:495 fdisk/fdisk.c:513
+msgid "   p   print the partition table"
+msgstr "   p   ×Ù×ÏÄ ÔÁÂÌÉÃÙ ÒÁÚÄÅÌÏ×"
+
+#: fdisk/fdisk.c:397 fdisk/fdisk.c:416 fdisk/fdisk.c:427 fdisk/fdisk.c:441
+msgid "   s   create a new empty Sun disklabel"
+msgstr "   s   ÓÏÚÄÁÎÉÅ ÎÏ×ÏÊ ÞÉÓÔÏÊ ÍÅÔËÉ ÄÉÓËÁ Sun"
+
+#: fdisk/fdisk.c:398 fdisk/fdisk.c:417 fdisk/fdisk.c:442
+msgid "   t   change a partition's system id"
+msgstr "   t   ÉÚÍÅÎÅÎÉÅ id ÓÉÓÔÅÍÙ ÒÁÚÄÅÌÁ"
+
+#: fdisk/fdisk.c:399 fdisk/fdisk.c:418 fdisk/fdisk.c:443
+msgid "   u   change display/entry units"
+msgstr "   u   ÉÚÍÅÎÅÎÉÅ ÅÄÉÎÉàÉÚÍÅÒÅÎÉÑ ÜËÒÁÎÁ/ÓÏÄÅÒÖÉÍÏÇÏ"
+
+#: fdisk/fdisk.c:400 fdisk/fdisk.c:419 fdisk/fdisk.c:444 fdisk/fdisk.c:466
+#: fdisk/fdisk.c:483 fdisk/fdisk.c:499 fdisk/fdisk.c:517
+msgid "   v   verify the partition table"
+msgstr "   v   ÐÒÏ×ÅÒËÁ ÔÁÂÌÉÃÙ ÒÁÚÄÅÌÏ×"
+
+#: fdisk/fdisk.c:401 fdisk/fdisk.c:420 fdisk/fdisk.c:445 fdisk/fdisk.c:467
+#: fdisk/fdisk.c:484 fdisk/fdisk.c:500 fdisk/fdisk.c:518
+msgid "   w   write table to disk and exit"
+msgstr "   w   ÚÁÐÉÓØ ÔÁÂÌÉÃÙ ÒÁÚÄÅÌÏ× ÎÁ ÄÉÓË É ×ÙÈÏÄ"
+
+#: fdisk/fdisk.c:402 fdisk/fdisk.c:446
+msgid "   x   extra functionality (experts only)"
+msgstr "   x   ÄÏÐÏÌÎÉÔÅÌØÎÁÑ ÆÕÎËÃÉÏÎÁÌØÎÏÓÔØ (ÔÏÌØËÏ ÄÌÑ ÜËÓÐÅÒÔÏ×)"
+
+#: fdisk/fdisk.c:406
+msgid "   a   select bootable partition"
+msgstr "   a   ×ÙÂÏÒ ÚÁÇÒÕÚÏÞÎÏÇÏ ÒÁÚÄÅÌÁ"
+
+#: fdisk/fdisk.c:407
+msgid "   b   edit bootfile entry"
+msgstr "   b   ÒÅÄÁËÔÉÒÏ×ÁÎÉÅ ÓÏÄÅÒÖÉÍÏÇÏ ÚÁÇÒÕÚÏÞÎÏÇÏ ÆÁÊÌÁ"
+
+#: fdisk/fdisk.c:408
+msgid "   c   select sgi swap partition"
+msgstr "   c   ×ÙÂÏÒ ÒÁÚÄÅÌÁ ÄÌÑ Ó×ÏÐÉÎÇÁ sgi"
+
+#: fdisk/fdisk.c:431
+msgid "   a   toggle a bootable flag"
+msgstr "   a   ÐÅÒÅËÌÀÞÅÎÉÅ ÆÌÁÇÁ ÚÁÇÒÕÚËÉ"
+
+#: fdisk/fdisk.c:433
+msgid "   c   toggle the dos compatibility flag"
+msgstr "   c   ÐÅÒÅËÌÀÞÅÎÉÅ ÆÌÁÇÁ dos-ÓÏ×ÍÅÓÔÉÍÏÓÔÉ"
+
+#: fdisk/fdisk.c:454
+msgid "   a   change number of alternate cylinders"
+msgstr "   a   ÉÚÍÅÎÅÎÉÅ ËÏÌÉÞÅÓÔ×Á ÁÌØÔÅÒÎÁÔÉ×ÎÙÈ ÃÉÌÉÎÄÒÏ×"
+
+#: fdisk/fdisk.c:455 fdisk/fdisk.c:473 fdisk/fdisk.c:489 fdisk/fdisk.c:505
+msgid "   c   change number of cylinders"
+msgstr "   c   ÉÚÍÅÎÅÎÉÅ ËÏÌÉÞÅÓÔ×Á ÃÉÌÉÎÄÒÏ×"
+
+#: fdisk/fdisk.c:456 fdisk/fdisk.c:474 fdisk/fdisk.c:490 fdisk/fdisk.c:506
+msgid "   d   print the raw data in the partition table"
+msgstr "   d   ×Ù×ÏÄ ÓÙÒÙÈ ÄÁÎÎÙÈ × ÔÁÂÌÉÃÅ ÒÁÚÄÅÌÏ×"
+
+#: fdisk/fdisk.c:457
+msgid "   e   change number of extra sectors per cylinder"
+msgstr "   e   ÉÚÍÅÎÅÎÉÅ ËÏÌÉÞÅÓÔ×Á ÄÏÐÏÌÎÉÔÅÌØÎÙÈ ÓÅËÔÏÒÏ× ÎÁ ÃÉÌÉÎÄÒ"
+
+#: fdisk/fdisk.c:458 fdisk/fdisk.c:477 fdisk/fdisk.c:493 fdisk/fdisk.c:510
+msgid "   h   change number of heads"
+msgstr "   h   ÉÚÍÅÎÅÎÉÅ ËÏÌÉÞÅÓÔ×Á ÇÏÌÏ×ÏË"
+
+#: fdisk/fdisk.c:459
+msgid "   i   change interleave factor"
+msgstr "   i   ÉÚÍÅÎÅÎÉÅ ËÏÜÆÆÉÃÉÅÎÔÁ ÞÅÒÅÄÏ×ÁÎÉÑ"
+
+#: fdisk/fdisk.c:460
+msgid "   o   change rotation speed (rpm)"
+msgstr "   o   ÉÚÍÅÎÅÎÉÅ ÓËÏÒÏÓÔÉ ×ÒÁÝÅÎÉÑ (ÏÂ/ÍÉÎ)"
+
+#: fdisk/fdisk.c:465 fdisk/fdisk.c:482 fdisk/fdisk.c:498 fdisk/fdisk.c:516
+msgid "   s   change number of sectors/track"
+msgstr "   s   ÉÚÍÅÎÅÎÉÅ ËÏÌÉÞÅÓÔ×Á ÓÅËÔÏÒÏ× ÎÁ ÄÏÒÏÖËÕ"
+
+#: fdisk/fdisk.c:468
+msgid "   y   change number of physical cylinders"
+msgstr "   y   ÉÚÍÅÎÅÎÉÅ ËÏÌÉÞÅÓÔ×Á ÆÉÚÉÞÅÓËÉÈ ÃÉÌÉÎÄÒÏ×"
+
+#: fdisk/fdisk.c:472 fdisk/fdisk.c:488 fdisk/fdisk.c:504
+msgid "   b   move beginning of data in a partition"
+msgstr "   b   ÐÅÒÅÍÅÝÅÎÉÅ ÎÁÞÁÌÁ ÄÁÎÎÙÈ ÒÁÚÄÅÌÁ"
+
+#: fdisk/fdisk.c:475 fdisk/fdisk.c:491 fdisk/fdisk.c:507
+msgid "   e   list extended partitions"
+msgstr "   e   ÓÐÉÓÏË ÒÁÓÛÉÒÅÎÎÙÈ ÒÁÚÄÅÌÏ×"
+
+#: fdisk/fdisk.c:476 fdisk/fdisk.c:492 fdisk/fdisk.c:509
+msgid "   g   create an IRIX (SGI) partition table"
+msgstr "   g   ÓÏÚÄÁÎÉÅ ÔÁÂÌÉÃÙ ÒÁÚÄÅÌÏ× IRIX (SGI)"
+
+#: fdisk/fdisk.c:508
+msgid "   f   fix partition order"
+msgstr "   f   ÚÁËÒÅÐÌÅÎÉÅ ÐÏÒÑÄËÁ ÒÁÚÄÅÌÏ×"
+
+#: fdisk/fdisk.c:511
+#, fuzzy
+msgid "   i   change the disk identifier"
+msgstr "   u   ÉÚÍÅÎÅÎÉÅ ÅÄÉÎÉàÉÚÍÅÒÅÎÉÑ ÜËÒÁÎÁ/ÓÏÄÅÒÖÉÍÏÇÏ"
+
+#: fdisk/fdisk.c:627
+#, c-format
+msgid "You must set"
+msgstr "÷Ù ÄÏÌÖÎÙ ÕÓÔÁÎÏ×ÉÔØ"
+
+#: fdisk/fdisk.c:644
+msgid "heads"
+msgstr "ÇÏÌÏ×ËÉ"
+
+#: fdisk/fdisk.c:646 fdisk/fdisk.c:1357 fdisk/sfdisk.c:945
+msgid "sectors"
+msgstr "ÓÅËÔÏÒÙ"
+
+#: fdisk/fdisk.c:652
+#, c-format
+msgid ""
+"%s%s.\n"
+"You can do this from the extra functions menu.\n"
+msgstr ""
+"%s%s.\n"
+"÷Ù ÍÏÖÅÔÅ ÓÄÅÌÁÔØ ÜÔÏ ÉÚ ÍÅÎÀ ÄÏÐÏÌÎÉÔÅÌØÎÙÈ ÆÕÎËÃÉÊ.\n"
+
+#: fdisk/fdisk.c:653
+msgid " and "
+msgstr " É "
+
+#: fdisk/fdisk.c:670
+#, c-format
+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"
+
+#: fdisk/fdisk.c:683
+#, 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 %d-byte sectors. Use parted(1) and GUID \n"
+"partition table format (GPT).\n"
+"\n"
+msgstr ""
+
+#: fdisk/fdisk.c:708
+#, c-format
+msgid "Bad offset in primary extended partition\n"
+msgstr "îÅ×ÅÒÎÏÅ ÓÍÅÝÅÎÉÅ × ÏÓÎÏ×ÎÏÍ ÒÁÓÛÉÒÅÎÎÏÍ ÒÁÚÄÅÌÅ\n"
+
+#: fdisk/fdisk.c:722
+#, c-format
+msgid ""
+"Warning: omitting partitions after #%d.\n"
+"They will be deleted if you save this partition table.\n"
+msgstr ""
+"ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÐÒÏÐÕÓËÁÀÔÓÑ ÒÁÚÄÅÌÙ ÐÏÓÌÅ #%d.\n"
+"ïÎÉ ÂÕÄÕÔ ÕÄÁÌÅÎÙ, ÅÓÌÉ ×Ù ÓÏÈÒÁÎÉÔÅ ÜÔÕ ÔÁÂÌÉÃÕ ÒÁÚÄÅÌÏ×.\n"
+
+#: fdisk/fdisk.c:741
+#, c-format
+msgid "Warning: extra link pointer in partition table %d\n"
+msgstr ""
+"ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÕËÁÚÁÔÅÌØ ÎÁ ÄÏÐÏÌÎÉÔÅÌØÎÕÀ ÓÓÙÌËÕ × ÔÁÂÌÉÃÅ ÒÁÚÄÅÌÏ× %d\n"
+
+#: fdisk/fdisk.c:749
+#, c-format
+msgid "Warning: ignoring extra data in partition table %d\n"
+msgstr ""
+"ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÉÇÎÏÒÉÒÕÀÔÓÑ ÄÏÐÏÌÎÉÔÅÌØÎÙÅ ÄÁÎÎÙÅ × ÔÁÂÌÉÃÅ ÒÁÚÄÅÌÏ× %d\n"
+
+#: fdisk/fdisk.c:782
+#, fuzzy, c-format
+msgid "omitting empty partition (%d)\n"
+msgstr "ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÐÕÓÔÏÊ ÒÁÚÄÅÌ\n"
+
+#: fdisk/fdisk.c:801
+#, c-format
+msgid "Disk identifier: 0x%08x\n"
+msgstr ""
+
+#: fdisk/fdisk.c:810
+#, c-format
+msgid "New disk identifier (current 0x%08x): "
+msgstr ""
+
+#: fdisk/fdisk.c:829
+#, fuzzy, c-format
+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"
+
+#: fdisk/fdisk.c:861
+#, c-format
+msgid "Note: sector size is %d (not %d)\n"
+msgstr "ðÒÉÍÅÞÁÎÉÅ: ÒÁÚÍÅÒ ÓÅËÔÏÒÁ - %d (ÎÅ %d)\n"
+
+#: fdisk/fdisk.c:990
+#, c-format
+msgid "You will not be able to write the partition table.\n"
+msgstr "÷Ù ÂÕÄÅÔÅ ÎÅ × ÓÏÓÔÏÑÎÉÉ ÚÁÐÉÓÁÔØ ÔÁÂÌÉÃÕ ÒÁÚÄÅÌÏ×.\n"
+
+#: fdisk/fdisk.c:1022
+#, c-format
+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"
+
+#: fdisk/fdisk.c:1032
+#, c-format
+msgid ""
+"Device contains neither a valid DOS partition table, nor Sun, SGI or OSF "
+"disklabel\n"
+msgstr ""
+"õÓÔÒÏÊÓÔ×Ï ÎÅ ÓÏÄÅÒÖÉÔ ÎÉ ×ÅÒÎÏÊ ÔÁÂÌÉÃÙ ÒÁÚÄÅÌÏ× DOS, ÎÉ ÍÅÔËÉ ÄÉÓËÁ Sun, "
+"SGI ÉÌÉ OSF\n"
+
+#: fdisk/fdisk.c:1049
+#, c-format
+msgid "Internal error\n"
+msgstr "÷ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ\n"
+
+#: fdisk/fdisk.c:1062
+#, c-format
+msgid "Ignoring extra extended partition %d\n"
+msgstr "éÇÎÏÒÉÒÕÅÔÓÑ ÄÏÐÏÌÎÉÔÅÌØÎÙÊ ÒÁÓÛÉÒÅÎÎÙÊ ÒÁÚÄÅÌ %d\n"
+
+#: fdisk/fdisk.c:1074
+#, c-format
+msgid ""
+"Warning: invalid flag 0x%04x of partition table %d will be corrected by w"
+"(rite)\n"
+msgstr ""
+"ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÎÅ×ÅÒÎÙÊ ÆÌÁÇ 0x%04x ÔÁÂÌÉÃÙ ÒÁÚÄÅÌÏ× %d ÂÕÄÅÔ ÉÓÐÒÁ×ÌÅΠ"
+"ÚÁÐÉÓØÀ\n"
+
+#: fdisk/fdisk.c:1096
+#, c-format
+msgid ""
+"\n"
+"got EOF thrice - exiting..\n"
+msgstr ""
+"\n"
+"ÔÒÉÖÄÙ ÐÏÌÕÞÅΠEOF - ÚÁ×ÅÒÛÅÎÉÅ ÒÁÂÏÔÙ...\n"
+
+#: fdisk/fdisk.c:1135
+msgid "Hex code (type L to list codes): "
+msgstr "ûÅÓÔÎÁÄÃÁÔÅÒÉÞÎÙÊ ËÏÄ (××ÅÄÉÔÅ L ÄÌÑ ÐÏÌÕÞÅÎÉÑ ÓÐÉÓËÁ ËÏÄÏ×): "
+
+#: fdisk/fdisk.c:1175
+#, c-format
+msgid "%s (%u-%u, default %u): "
+msgstr "%s (%u-%u, ÐÏ ÕÍÏÌÞÁÎÉÀ %u): "
+
+#: fdisk/fdisk.c:1242
+#, c-format
+msgid "Unsupported suffix: '%s'.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1243
+#, c-format
+msgid ""
+"Supported: 10^N: KB (KiloByte), MB (MegaByte), GB (GigaByte)\n"
+"            2^N: K  (KibiByte), M  (MebiByte), G  (GibiByte)\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1269
+#, c-format
+msgid "Using default value %u\n"
+msgstr "éÓÐÏÌØÚÕÅÔÓÑ ÚÎÁÞÅÎÉÅ ÐÏ ÕÍÏÌÞÁÎÉÀ %u\n"
+
+#: fdisk/fdisk.c:1273
+#, c-format
+msgid "Value out of range.\n"
+msgstr "úÎÁÞÅÎÉÅ ÚÁ ÐÒÅÄÅÌÁÍÉ ÄÉÁÐÁÚÏÎÁ.\n"
+
+#: fdisk/fdisk.c:1283
+msgid "Partition number"
+msgstr "îÏÍÅÒ ÒÁÚÄÅÌÁ"
+
+#: fdisk/fdisk.c:1294
+#, c-format
+msgid "Warning: partition %d has empty type\n"
+msgstr "ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÒÁÚÄÅÌ %d ÉÍÅÅÔ ÐÕÓÔÏÊ ÔÉÐ\n"
+
+#: fdisk/fdisk.c:1316 fdisk/fdisk.c:1342
+#, c-format
+msgid "Selected partition %d\n"
+msgstr "÷ÙÂÒÁÎÎÙÊ ÒÁÚÄÅÌ %d\n"
+
+#: fdisk/fdisk.c:1319
+#, c-format
+msgid "No partition is defined yet!\n"
+msgstr "òÁÚÄÅÌÙ ÅÝÅ ÎÅ ÏÐÒÅÄÅÌÅÎÙ!\n"
+
+#: fdisk/fdisk.c:1345
+#, c-format
+msgid "All primary partitions have been defined already!\n"
+msgstr "÷ÓÅ ÏÓÎÏ×ÎÙÅ ÒÁÚÄÅÌÙ ÕÖÅ ÂÙÌÉ ÏÐÒÅÄÅÌÅÎÙ!\n"
+
+#: fdisk/fdisk.c:1355
+msgid "cylinder"
+msgstr "ÃÉÌÉÎÄÒ"
+
+#: fdisk/fdisk.c:1355
+msgid "sector"
+msgstr "ÓÅËÔÏÒ"
+
+#: fdisk/fdisk.c:1364
+#, c-format
+msgid "Changing display/entry units to %s\n"
+msgstr "éÚÍÅÎÅÎÉÅ ÅÄÉÎÉàÉÚÍÅÒÅÎÉÑ ÜËÒÁÎÁ/ÓÏÄÅÒÖÉÍÏÇÏ ÎÁ %s\n"
+
+#: fdisk/fdisk.c:1375
+#, c-format
+msgid "WARNING: Partition %d is an extended partition\n"
+msgstr "ðòåäõðòåöäåîéå: òÁÚÄÅÌ %d ÎÅ Ñ×ÌÑÅÔÓÑ ÒÁÓÛÉÒÅÎÎÙÍ ÒÁÚÄÅÌÏÍ\n"
+
+#: fdisk/fdisk.c:1386
+#, c-format
+msgid "DOS Compatibility flag is set\n"
+msgstr "æÌÁÇ DOS-ÓÏ×ÍÅÓÔÉÍÏÓÔÉ ÕÓÔÁÎÏ×ÌÅÎ\n"
+
+#: fdisk/fdisk.c:1390
+#, c-format
+msgid "DOS Compatibility flag is not set\n"
+msgstr "æÌÁÇ DOS-ÓÏ×ÍÅÓÔÉÍÏÓÔÉ ÎÅ ÕÓÔÁÎÏ×ÌÅÎ\n"
+
+#: fdisk/fdisk.c:1490
+#, c-format
+msgid "Partition %d does not exist yet!\n"
+msgstr "òÁÚÄÅÌ %d ÅÝÅ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ!\n"
+
+#: fdisk/fdisk.c:1495
+#, 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"
+
+#: fdisk/fdisk.c:1504
+#, c-format
+msgid ""
+"You cannot change a partition into an extended one or vice versa\n"
+"Delete it first.\n"
+msgstr ""
+"÷Ù ÎÅ ÍÏÖÅÔÅ ÉÚÍÅÎÉÔØ ÒÁÚÄÅÌ ÎÁ ÒÁÓÛÉÒÅÎÎÙÊ ÉÌÉ ÎÁÏÂÏÒÏÔ\n"
+"óÎÁÞÁÌÁ ÕÄÁÌÉÔÅ ÅÇÏ.\n"
+
+#: fdisk/fdisk.c:1513
+#, 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"
+
+#: fdisk/fdisk.c:1519
+#, 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"
+
+#: fdisk/fdisk.c:1536
+#, c-format
+msgid "Changed system type of partition %d to %x (%s)\n"
+msgstr "óÉÓÔÅÍÎÙÊ ÔÉРÒÁÚÄÅÌÁ %d ÉÚÍÅÎÅΠÎÁ %x (%s)\n"
+
+#: fdisk/fdisk.c:1539
+#, fuzzy, c-format
+msgid "System type of partition %d is unchanged: %x (%s)\n"
+msgstr "óÉÓÔÅÍÎÙÊ ÔÉРÒÁÚÄÅÌÁ %d ÉÚÍÅÎÅΠÎÁ %x (%s)\n"
+
+#: fdisk/fdisk.c:1591
+#, c-format
+msgid "Partition %d has different physical/logical beginnings (non-Linux?):\n"
+msgstr "òÁÚÄÅÌ %d ÉÍÅÅÔ ÒÁÚÌÉÞÎÙÅ ÆÉÚÉÞÅÓËÉÅ/ÌÏÇÉÞÅÓËÉÅ ÎÁÞÁÌÁ (ÎÅ-Linux?):\n"
+
+#: fdisk/fdisk.c:1593 fdisk/fdisk.c:1601 fdisk/fdisk.c:1610 fdisk/fdisk.c:1620
+#, c-format
+msgid "     phys=(%d, %d, %d) "
+msgstr "     ÆÉÚ=(%d, %d, %d) "
+
+#: fdisk/fdisk.c:1594 fdisk/fdisk.c:1602
+#, c-format
+msgid "logical=(%d, %d, %d)\n"
+msgstr "ÌÏÇÉÞ=(%d, %d, %d)\n"
+
+#: fdisk/fdisk.c:1599
+#, c-format
+msgid "Partition %d has different physical/logical endings:\n"
+msgstr "òÁÚÄÅÌ %d ÉÍÅÅÔ ÒÁÚÌÉÞÎÙÅ ÆÉÚÉÞÅÓËÉÅ/ÌÏÇÉÞÅÓËÉÅ ÏËÏÎÞÁÎÉÑ:\n"
+
+#: fdisk/fdisk.c:1608
+#, c-format
+msgid "Partition %i does not start on cylinder boundary:\n"
+msgstr "òÁÚÄÅÌ %i ÎÁÞÉÎÁÅÔÓÑ ÎÅ ÎÁ ÇÒÁÎÉÃÅ ÃÉÌÉÎÄÒÁ:\n"
+
+#: fdisk/fdisk.c:1611
+#, c-format
+msgid "should be (%d, %d, 1)\n"
+msgstr "ÄÏÌÖÅΠÂÙÔØ (%d, %d, 1)\n"
+
+#: fdisk/fdisk.c:1617
+#, c-format
+msgid "Partition %i does not end on cylinder boundary.\n"
+msgstr "òÁÚÄÅÌ %i ÎÅ ÚÁËÁÎÞÉ×ÁÅÔÓÑ ÎÁ ÇÒÁÎÉÃÅ ÃÉÌÉÎÄÒÁ.\n"
+
+#: fdisk/fdisk.c:1621
+#, c-format
+msgid "should be (%d, %d, %d)\n"
+msgstr "ÄÏÌÖÅΠÂÙÔØ (%d, %d, %d)\n"
+
+#: fdisk/fdisk.c:1633
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld MB, %lld bytes\n"
+msgstr ""
+"\n"
+"äÉÓË %s: %ld íâ, %lld ÂÁÊÔ\n"
+
+#: fdisk/fdisk.c:1637
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld.%ld GB, %lld bytes\n"
+msgstr ""
+"\n"
+"äÉÓË %s: %ld.%ld çâ, %lld ÂÁÊÔ\n"
+
+#: fdisk/fdisk.c:1640
+#, fuzzy, c-format
+msgid "%d heads, %llu sectors/track, %d cylinders"
+msgstr "%d ÇÏÌÏ×ÏË, %d ÓÅËÔÏÒÏ×/ÄÏÒÏÖËÕ, %d ÃÉÌÉÎÄÒÏ×"
+
+#: fdisk/fdisk.c:1643
+#, c-format
+msgid ", total %llu sectors"
+msgstr ", ×ÓÅÇÏ %llu ÓÅËÔÏÒÏ×"
+
+#: fdisk/fdisk.c:1646
+#, fuzzy, c-format
+msgid "Units = %s of %d * %d = %d bytes\n"
+msgstr ""
+"åÄÉÎÉÃÙ = %s ÐÏ %d * %d = %d ÂÁÊÔ\n"
+"\n"
+
+#: fdisk/fdisk.c:1757
+#, c-format
+msgid ""
+"Nothing to do. Ordering is correct already.\n"
+"\n"
+msgstr ""
+"îÅÞÅÇÏ ×ÙÐÏÌÎÑÔØ. ïÞÅÒÅÄÎÏÓÔØ ÕÖÅ × ÐÏÒÑÄËÅ.\n"
+"\n"
+
+#: fdisk/fdisk.c:1785
+#, fuzzy, c-format
+msgid "Done.\n"
+msgstr ""
+"çÏÔÏ×Ï\n"
+"\n"
+
+#: fdisk/fdisk.c:1813
+#, c-format
+msgid ""
+"This doesn't look like a partition table\n"
+"Probably you selected the wrong device.\n"
+"\n"
+msgstr ""
+"üÔÏ ÎÅ ÐÏÈÏÖÅ ÎÁ ÔÁÂÌÉÃÕ ÒÁÚÄÅÌÏ×\n"
+"÷ÏÚÍÏÖÎÏ, ×Ù ×ÙÂÒÁÌÉ ÎÅ×ÅÒÎÏÅ ÕÓÔÒÏÊÓÔ×Ï.\n"
+"\n"
+
+#: fdisk/fdisk.c:1826
+#, c-format
+msgid "%*s Boot      Start         End      Blocks   Id  System\n"
+msgstr "%*s úÁÇÒ     îÁÞÁÌÏ       ëÏÎÅà      âÌÏËÉ   Id  óÉÓÔÅÍÁ\n"
+
+#: fdisk/fdisk.c:1827 fdisk/fdisksgilabel.c:223 fdisk/fdisksunlabel.c:603
+msgid "Device"
+msgstr "õÓÔÒ-×Ï"
+
+#: fdisk/fdisk.c:1864
+#, c-format
+msgid ""
+"\n"
+"Partition table entries are not in disk order\n"
+msgstr ""
+"\n"
+"ðÕÎËÔÙ ÔÁÂÌÉÃÙ ÒÁÚÄÅÌÏ× ÒÁÓÐÏÌÏÖÅÎÙ ÎÅ × ÄÉÓËÏ×ÏÍ ÐÏÒÑÄËÅ\n"
+
+#: fdisk/fdisk.c:1874
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %d cylinders\n"
+"\n"
+msgstr ""
+"\n"
+"äÉÓË %s: %d ÇÏÌÏ×ÏË, %d ÓÅËÔÏÒÏ×, %d ÃÉÌÉÎÄÒÏ×\n"
+"\n"
+
+#: fdisk/fdisk.c:1876
+#, c-format
+msgid "Nr AF  Hd Sec  Cyl  Hd Sec  Cyl     Start      Size ID\n"
+msgstr "#  AF çÏÌ óÅË  ãÉÌ çÏÌ óÅË  ãÉÌ    îÁÞÁÌÏ      òÁÚÍ ID\n"
+
+#: fdisk/fdisk.c:1922
+#, c-format
+msgid "Warning: partition %d contains sector 0\n"
+msgstr "ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÒÁÚÄÅÌ %d ÓÏÄÅÒÖÉÔ ÎÕÌÅ×ÏÊ ÓÅËÔÏÒ\n"
+
+#: fdisk/fdisk.c:1925
+#, c-format
+msgid "Partition %d: head %d greater than maximum %d\n"
+msgstr "òÁÚÄÅÌ %d: ÇÏÌÏ×ËÁ %d ÂÏÌØÛÅ, ÞÅÍ ÍÁËÓÉÍÕÍ %d\n"
+
+#: fdisk/fdisk.c:1928
+#, fuzzy, c-format
+msgid "Partition %d: sector %d greater than maximum %llu\n"
+msgstr "òÁÚÄÅÌ %d: ÓÅËÔÏÒ %d ÂÏÌØÛÅ, ÞÅÍ ÍÁËÓÉÍÕÍ %d\n"
+
+#: fdisk/fdisk.c:1931
+#, c-format
+msgid "Partitions %d: cylinder %d greater than maximum %d\n"
+msgstr "òÁÚÄÅÌ %d: ÃÉÌÉÎÄÒ %d ÂÏÌØÛÅ, ÞÅÍ ÍÁËÓÉÍÕÍ %d\n"
+
+#: fdisk/fdisk.c:1935
+#, c-format
+msgid "Partition %d: previous sectors %d disagrees with total %d\n"
+msgstr "òÁÚÄÅÌ %d: ÐÒÅÄÙÄÕÝÉÅ ÓÅËÔÏÒÙ %d ÐÒÏÔÉ×ÏÒÅÞÁÔ ÓÕÍÍÁÒÎÏÍÕ ÚÎÁÞÅÎÉÀ %d\n"
+
+#: fdisk/fdisk.c:1968
+#, c-format
+msgid "Warning: bad start-of-data in partition %d\n"
+msgstr "ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÎÅ×ÅÒÎÏÅ ÎÁÞÁÌÏ ÄÁÎÎÙÈ × ÒÁÚÄÅÌÅ %d\n"
+
+#: fdisk/fdisk.c:1976
+#, c-format
+msgid "Warning: partition %d overlaps partition %d.\n"
+msgstr "ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÒÁÚÄÅÌ %d ÐÅÒÅËÒÙ×ÁÅÔ ÒÁÚÄÅÌ %d.\n"
+
+#: fdisk/fdisk.c:1996
+#, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr "ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÒÁÚÄÅÌ %d ÐÕÓÔ\n"
+
+#: fdisk/fdisk.c:2001
+#, c-format
+msgid "Logical partition %d not entirely in partition %d\n"
+msgstr "ìÏÇÉÞÅÓËÉÊ ÒÁÚÄÅÌ %d ÎÅ ÎÁÈÏÄÉÔÓÑ ÃÅÌÉËÏÍ × ÒÁÚÄÅÌÅ %d\n"
+
+#: fdisk/fdisk.c:2007
+#, fuzzy, c-format
+msgid "Total allocated sectors %llu greater than the maximum %llu\n"
+msgstr ""
+"óÕÍÍÁÒÎÏÅ ËÏÌÉÞÅÓÔ×Ï ×ÙÄÅÌÅÎÎÙÈ ÓÅËÔÏÒÏ× %d ÂÏÌØÛÅ, ÞÅÍ ÍÁËÓÉÍÕÍ %lld\n"
+
+#: fdisk/fdisk.c:2010
+#, fuzzy, c-format
+msgid "%lld unallocated %d-byte sectors\n"
+msgstr "%lld ÎÅÚÁÎÑÔÙÈ ÓÅËÔÏÒÏ×\n"
+
+#: fdisk/fdisk.c:2025 fdisk/fdisksgilabel.c:633 fdisk/fdisksunlabel.c:416
+#, c-format
+msgid "Partition %d is already defined.  Delete it before re-adding it.\n"
+msgstr ""
+"òÁÚÄÅÌ %d ÕÖÅ ÏÐÒÅÄÅÌÅÎ.  õÄÁÌÉÔÅ ÅÇÏ ÐÅÒÅÄ ÔÅÍ, ËÁË ÓÎÏ×Á ÄÏÂÁ×ÉÔØ ÅÇÏ.\n"
+
+#: fdisk/fdisk.c:2067
+#, fuzzy, c-format
+msgid "Sector %llu is already allocated\n"
+msgstr "óÅËÔÏÒ %d ÕÖÅ ×ÙÄÅÌÅÎ\n"
+
+#: fdisk/fdisk.c:2103
+#, c-format
+msgid "No free sectors available\n"
+msgstr "ïÔÓÕÔÓÔ×ÕÀÔ ÄÏÓÔÕÐÎÙÅ Ó×ÏÂÏÄÎÙÅ ÓÅËÔÏÒÙ\n"
+
+#: fdisk/fdisk.c:2112
+#, c-format
+msgid "Last %1$s, +%2$s or +size{K,M,G}"
+msgstr ""
+
+#: fdisk/fdisk.c:2178
+#, 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"
+
+#: fdisk/fdisk.c:2187
+#, 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"
+
+#: fdisk/fdisk.c:2207
+#, c-format
+msgid "You must delete some partition and add an extended partition first\n"
+msgstr ""
+"óÎÁÞÁÌÁ ×Ù ÄÏÌÖÎÙ ÕÄÁÌÉÔØ ÎÅËÏÔÏÒÙÅ ÒÁÚÄÅÌÙ É ÄÏÂÁ×ÉÔØ ÒÁÓÛÉÒÅÎÎÙÊ ÒÁÚÄÅÌ\n"
+
+#: fdisk/fdisk.c:2210
+#, c-format
+msgid "All logical partitions are in use\n"
+msgstr "úÁÄÅÊÓÔ×Ï×ÁÎÙ ×ÓÅ ÌÏÇÉÞÅÓËÉÅ ÒÁÚÄÅÌÙ\n"
+
+#: fdisk/fdisk.c:2211
+#, c-format
+msgid "Adding a primary partition\n"
+msgstr "äÏÂÁ×ÌÑÅÔÓÑ ÏÓÎÏ×ÎÏÊ ÒÁÚÄÅÌ\n"
+
+#: fdisk/fdisk.c:2216
+#, c-format
+msgid ""
+"Command action\n"
+"   %s\n"
+"   p   primary partition (1-4)\n"
+msgstr ""
+"äÅÊÓÔ×ÉÅ ËÏÍÁÎÄÙ\n"
+"   %s\n"
+"   p   ÏÓÎÏ×ÎÏÊ ÒÁÚÄÅÌ (1-4)\n"
+
+#: fdisk/fdisk.c:2218
+msgid "l   logical (5 or over)"
+msgstr "l   ÌÏÇÉÞÅÓËÉÊ (5 ÉÌÉ ÂÏÌÅÅ)"
+
+#: fdisk/fdisk.c:2218
+msgid "e   extended"
+msgstr "e   ÒÁÓÛÉÒÅÎÎÙÊ"
+
+#: fdisk/fdisk.c:2237
+#, c-format
+msgid "Invalid partition number for type `%c'\n"
+msgstr "îÅ×ÅÒÎÙÊ ÎÏÍÅÒ ÒÁÚÄÅÌÁ ÄÌÑ ÔÉÐÁ `%c'\n"
+
+#: fdisk/fdisk.c:2273
+#, c-format
+msgid ""
+"The partition table has been altered!\n"
+"\n"
+msgstr ""
+"ôÁÂÌÉÃÁ ÒÁÚÄÅÌÏ× ÂÙÌÁ ÉÚÍÅÎÅÎÁ!\n"
+"\n"
+
+#: fdisk/fdisk.c:2287
+#, c-format
+msgid "Calling ioctl() to re-read partition table.\n"
+msgstr "÷ÙÚÙ×ÁÅÔÓÑ ioctl() ÄÌÑ ÐÅÒÅÞÉÔÙ×ÁÎÉÑ ÔÁÂÌÉÃÙ ÒÁÚÄÅÌÏ×.\n"
+
+#: fdisk/fdisk.c:2296
+#, fuzzy, c-format
+msgid ""
+"\n"
+"WARNING: Re-reading the partition table failed with error %d: %s.\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"
+
+#: fdisk/fdisk.c:2304
+#, 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"
+
+#: fdisk/fdisk.c:2310
+#, c-format
+msgid ""
+"\n"
+"Error closing file\n"
+msgstr ""
+"\n"
+"ïÛÉÂËÁ ÚÁËÒÙÔÉÑ ÆÁÊÌÁ\n"
+
+#: fdisk/fdisk.c:2314
+#, c-format
+msgid "Syncing disks.\n"
+msgstr "óÉÎÈÒÏÎÉÚÉÒÕÀÔÓÑ ÄÉÓËÉ.\n"
+
+#: fdisk/fdisk.c:2361
+#, c-format
+msgid "Partition %d has no data area\n"
+msgstr "òÁÚÄÅÌ %d ÎÅ ÉÍÅÅÔ ÏÂÌÁÓÔÉ Ó ÄÁÎÎÙÍÉ\n"
+
+#: fdisk/fdisk.c:2366
+msgid "New beginning of data"
+msgstr "îÏ×ÏÅ ÎÁÞÁÌÏ ÄÁÎÎÙÈ"
+
+#: fdisk/fdisk.c:2382
+msgid "Expert command (m for help): "
+msgstr "ëÏÍÁÎÄÙ ÜËÓÐÅÒÔÁ (m ÄÌÑ ÓÐÒÁ×ËÉ): "
+
+#: fdisk/fdisk.c:2395
+msgid "Number of cylinders"
+msgstr "ëÏÌÉÞÅÓÔ×Ï ÃÉÌÉÎÄÒÏ×"
+
+#: fdisk/fdisk.c:2422
+msgid "Number of heads"
+msgstr "ëÏÌÉÞÅÓÔ×Ï ÇÏÌÏ×ÏË"
+
+#: fdisk/fdisk.c:2449
+msgid "Number of sectors"
+msgstr "ëÏÌÉÞÅÓÔ×Ï ÓÅËÔÏÒÏ×"
+
+#: fdisk/fdisk.c:2452
+#, c-format
+msgid "Warning: setting sector offset for DOS compatiblity\n"
+msgstr ""
+"ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÕÓÔÁÎÁ×ÌÉ×ÁÅÔÓÑ ÓÍÅÝÅÎÉÅ ÓÅËÔÏÒÁ ÄÌÑ ÓÏ×ÍÅÓÔÉÍÏÓÔÉ Ó DOS\n"
+
+#: fdisk/fdisk.c:2511
+#, 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 ""
+
+#: fdisk/fdisk.c:2533
+#, c-format
+msgid "Disk %s doesn't contain a valid partition table\n"
+msgstr "îÁ ÄÉÓËÅ %s ÏÔÓÕÔÓÔ×ÕÅÔ ×ÅÒÎÁÑ ÔÁÂÌÉÃÁ ÒÁÚÄÅÌÏ×\n"
+
+#: fdisk/fdisk.c:2544
+#, c-format
+msgid "Cannot open %s\n"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ %s\n"
+
+#: fdisk/fdisk.c:2563 fdisk/sfdisk.c:2618
+#, c-format
+msgid "cannot open %s\n"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ %s\n"
+
+#: fdisk/fdisk.c:2583
+#, c-format
+msgid "%c: unknown command\n"
+msgstr "%c: ÎÅÉÚ×ÅÓÔÎÁÑ ËÏÍÁÎÄÁ\n"
+
+#: fdisk/fdisk.c:2653
+#, c-format
+msgid "This kernel finds the sector size itself - -b option ignored\n"
+msgstr "üÔÏ ÑÄÒÏ ÓÁÍÏ ÎÁÈÏÄÉÔ ÒÁÚÍÅÒ ÓÅËÔÏÒÁ - ÏÐÃÉÑ -b ÐÒÏÉÇÎÏÒÉÒÏ×ÁÎÁ\n"
+
+#: fdisk/fdisk.c:2657
+#, c-format
+msgid ""
+"Warning: the -b (set sector size) option should be used with one specified "
+"device\n"
+msgstr ""
+"ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÏÐÃÉÑ -b (ÕÓÔÁÎÏ×ËÁ ÒÁÚÍÅÒÁ ÓÅËÔÏÒÁ) ÄÏÌÖÎÁ ÂÙÔØ "
+"ÉÓÐÏÌØÚÏ×ÁÎÁ Ó ÏÄÎÉÍ ÕËÁÚÁÎÎÙÍ ÕÓÔÒÏÊÓÔ×ÏÍ\n"
+
+#: fdisk/fdisk.c:2717
+#, c-format
+msgid "Detected an OSF/1 disklabel on %s, entering disklabel mode.\n"
+msgstr ""
+"ïÂÎÁÒÕÖÅÎÁ ÍÅÔËÁ ÄÉÓËÁ OSF/1 ÎÁ %s, ×ÙÐÏÌÎÑÅÔÓÑ ÐÅÒÅÈÏÄ × ÒÅÖÉÍ ÍÅÔËÉ "
+"ÄÉÓËÁ.\n"
+
+#: fdisk/fdisk.c:2727
+msgid "Command (m for help): "
+msgstr "ëÏÍÁÎÄÁ (m ÄÌÑ ÓÐÒÁ×ËÉ): "
+
+#: fdisk/fdisk.c:2743
+#, c-format
+msgid ""
+"\n"
+"The current boot file is: %s\n"
+msgstr ""
+"\n"
+"ôÅËÕÝÉÊ boot-ÆÁÊÌ: %s\n"
+
+#: fdisk/fdisk.c:2745
+msgid "Please enter the name of the new boot file: "
+msgstr "ðÏÖÁÌÕÊÓÔÁ, ××ÅÄÉÔÅ ÉÍÑ ÎÏ×ÏÇÏ boot-ÆÁÊÌÁ: "
+
+#: fdisk/fdisk.c:2747
+#, c-format
+msgid "Boot file unchanged\n"
+msgstr "Boot-ÆÁÊÌ ÎÅ ÉÚÍÅÎÅÎ\n"
+
+#: fdisk/fdisk.c:2820
+#, c-format
+msgid ""
+"\n"
+"\tSorry, no experts menu for SGI partition tables available.\n"
+"\n"
+msgstr ""
+"\n"
+"\të ÓÏÖÁÌÅÎÉÀ ÍÅÎÀ ÜËÓÐÅÒÔÁ ÄÌÑ ÔÁÂÌÉàÒÁÚÄÅÌÏ× SGI ÎÅ ÄÏÓÔÕÐÎÏ.\n"
+"\n"
+
+#: fdisk/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'ÏÍ)."
+
+#: fdisk/fdisksgilabel.c:81
+msgid "SGI volhdr"
+msgstr "SGI volhdr"
+
+#: fdisk/fdisksgilabel.c:82
+msgid "SGI trkrepl"
+msgstr "SGI trkrepl"
+
+#: fdisk/fdisksgilabel.c:83
+msgid "SGI secrepl"
+msgstr "SGI secrepl"
+
+#: fdisk/fdisksgilabel.c:84
+msgid "SGI raw"
+msgstr "SGI raw"
+
+#: fdisk/fdisksgilabel.c:85
+msgid "SGI bsd"
+msgstr "SGI bsd"
+
+#: fdisk/fdisksgilabel.c:86
+msgid "SGI sysv"
+msgstr "SGI sysv"
+
+#: fdisk/fdisksgilabel.c:87
+msgid "SGI volume"
+msgstr "SGI volume"
+
+#: fdisk/fdisksgilabel.c:88
+msgid "SGI efs"
+msgstr "SGI efs"
+
+#: fdisk/fdisksgilabel.c:89
+msgid "SGI lvol"
+msgstr "SGI lvol"
+
+#: fdisk/fdisksgilabel.c:90
+msgid "SGI rlvol"
+msgstr "SGI rlvol"
+
+#: fdisk/fdisksgilabel.c:91
+msgid "SGI xfs"
+msgstr "SGI xfs"
+
+#: fdisk/fdisksgilabel.c:92
+msgid "SGI xfslog"
+msgstr "SGI xfslog"
+
+#: fdisk/fdisksgilabel.c:93
+msgid "SGI xlv"
+msgstr "SGI xlv"
+
+#: fdisk/fdisksgilabel.c:94
+msgid "SGI xvm"
+msgstr "SGI xvm"
+
+#: fdisk/fdisksgilabel.c:95 fdisk/fdisksunlabel.c:55
+msgid "Linux swap"
+msgstr "Linux Ó×ÏÐ"
+
+#: fdisk/fdisksgilabel.c:96 fdisk/fdisksunlabel.c:56
+msgid "Linux native"
+msgstr "Linux ÓÏÂÓÔ×ÅÎ."
+
+#: fdisk/fdisksgilabel.c:97 fdisk/fdisksunlabel.c:57 fdisk/i386_sys_types.c:63
+msgid "Linux LVM"
+msgstr "Linux LVM"
+
+#: fdisk/fdisksgilabel.c:98
+msgid "Linux RAID"
+msgstr "Linux RAID"
+
+#: fdisk/fdisksgilabel.c:164
+#, 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"
+
+#: fdisk/fdisksgilabel.c:183
+#, c-format
+msgid "Detected sgi disklabel with wrong checksum.\n"
+msgstr "ïÂÎÁÒÕÖÅÎÁ ÍÅÔËÁ ÄÉÓËÁ sgi Ó ÎÅ×ÅÒÎÏÊ ËÏÎÔÒÏÌØÎÏÊ ÓÕÍÍÏÊ.\n"
+
+#: fdisk/fdisksgilabel.c:201
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors\n"
+"%d cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * %d bytes\n"
+"\n"
+msgstr ""
+"\n"
+"äÉÓË %s (ÍÅÔËÁ ÄÉÓËÁ SGI): %d ÇÏÌÏ×ÏË, %d ÓÅËÔÏÒÏ×\n"
+"%d ÃÉÌÉÎÄÒÏ×, %d ÆÉÚÉÞÅÓËÉÈ ÃÉÌÉÎÄÒÏ×\n"
+"%d ÄÏРÓÅËÔ/ÃÉÌ, ÞÅÒÅÄÏ×ÁÎÉÅ %d:1\n"
+"%s\n"
+"åÄÉÎÉÃÙ = %s ÐÏ %d * %d ÂÁÊÔ\n"
+"\n"
+
+#: fdisk/fdisksgilabel.c:214
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors, %d cylinders\n"
+"Units = %s of %d * %d bytes\n"
+"\n"
+msgstr ""
+"\n"
+"äÉÓË %s (ÍÅÔËÁ ÄÉÓËÁ SGI): %d ÇÏÌÏ×ÏË, %d ÓÅËÔÏÒÏ×, %d ÃÉÌÉÎÄÒÏ×\n"
+"åÄÉÎÉÃÙ = %s ÐÏ %d * %d ÂÁÊÔ\n"
+"\n"
+
+#: fdisk/fdisksgilabel.c:221
+#, c-format
+msgid ""
+"----- partitions -----\n"
+"Pt# %*s  Info     Start       End   Sectors  Id  System\n"
+msgstr ""
+"------ òÁÚÄÅÌÙ ------\n"
+"ò# %*s  éÎÆÏ    îÁÞÁÌÏ     ëÏÎÅà  óÅËÔÏÒÙ  Id  óÉÓÔÅÍÁ\n"
+
+#: fdisk/fdisksgilabel.c:243
+#, c-format
+msgid ""
+"----- Bootinfo -----\n"
+"Bootfile: %s\n"
+"----- Directory Entries -----\n"
+msgstr ""
+"----- Boot-ÉÎÆÏ -----\n"
+"Boot-ÆÁÊÌ: %s\n"
+"----- ðÕÎËÔÙ ËÁÔÁÌÏÇÏ× -----\n"
+
+#: fdisk/fdisksgilabel.c:251
+#, c-format
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr "%2d: %-10s ÓÅËÔÏÒ%5u ÒÁÚÍÅÒ%8u\n"
+
+#: fdisk/fdisksgilabel.c:305
+#, 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"
+
+#: fdisk/fdisksgilabel.c:311
+#, c-format
+msgid ""
+"\n"
+"\tName of Bootfile too long:  16 bytes maximum.\n"
+msgstr ""
+"\n"
+"\téÍÑ Boot-ÆÁÊÌÁ ÓÌÉÛËÏÍ ÄÌÉÎÎÏÅ:  ÍÁËÓÉÍÕÍ 16 ÂÁÊÔ.\n"
+
+#: fdisk/fdisksgilabel.c:316
+#, c-format
+msgid ""
+"\n"
+"\tBootfile must have a fully qualified pathname.\n"
+msgstr ""
+"\n"
+"\tBoot-ÆÁÊÌ ÄÏÌÖÅΠÉÍÅÔØ ÐÏÌÎÏÓÔØÀ ÕÔÏÞÎÅÎÎÏÅ ÐÕÔÅ×ÏÅ ÉÍÑ.\n"
+
+#: fdisk/fdisksgilabel.c:323
+#, 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"
+
+#: fdisk/fdisksgilabel.c:349
+#, c-format
+msgid ""
+"\n"
+"\tBootfile is changed to \"%s\".\n"
+msgstr ""
+"\n"
+"\tBoot-ÆÁÊÌ ÉÚÍÅÎÅΠÎÁ \"%s\".\n"
+
+#: fdisk/fdisksgilabel.c:439
+#, c-format
+msgid "More than one entire disk entry present.\n"
+msgstr "ðÒÉÓÕÔÓÔ×ÕÅÔ ÂÏÌÅÅ ÏÄÎÏÇÏ ÐÕÎËÔÁ ÄÌÑ ×ÓÅÇÏ ÄÉÓËÁ.\n"
+
+#: fdisk/fdisksgilabel.c:446 fdisk/fdisksunlabel.c:388
+#, c-format
+msgid "No partitions defined\n"
+msgstr "òÁÚÄÅÌÙ ÎÅ ÏÐÒÅÄÅÌÅÎÙ\n"
+
+#: fdisk/fdisksgilabel.c:452
+#, c-format
+msgid "IRIX likes when Partition 11 covers the entire disk.\n"
+msgstr "IRIX ÌÀÂÉÔ, ËÏÇÄÁ òÁÚÄÅÌ 11 ÏÈ×ÁÔÙ×ÁÅÔ ×ÅÓØ ÄÉÓË.\n"
+
+#: fdisk/fdisksgilabel.c:454
+#, c-format
+msgid ""
+"The entire disk partition should start at block 0,\n"
+"not at diskblock %d.\n"
+msgstr ""
+"òÁÚÄÅÌ ×ÓÅÇÏ ÄÉÓËÁ ÄÏÌÖÅΠÎÁÞÉÎÁÔØÓÑ Ó ÂÌÏËÁ 0,\n"
+"Á ÎÅ Ó ÄÉÓËÏ×ÏÇÏ ÂÌÏËÁ %d.\n"
+
+#: fdisk/fdisksgilabel.c:460
+#, 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"
+
+#: fdisk/fdisksgilabel.c:466
+#, c-format
+msgid "One Partition (#11) should cover the entire disk.\n"
+msgstr "ïÄÉΠòÁÚÄÅÌ (#11) ÄÏÌÖÅΠÏÈ×ÁÔÙ×ÁÔØ ×ÅÓØ ÄÉÓË.\n"
+
+#: fdisk/fdisksgilabel.c:476
+#, c-format
+msgid "Partition %d does not start on cylinder boundary.\n"
+msgstr "òÁÚÄÅÌ %d ÎÅ ÎÁÞÉÎÁÅÔÓÑ ÎÁ ÇÒÁÎÉÃÅ ÃÉÌÉÎÄÒÁ.\n"
+
+#: fdisk/fdisksgilabel.c:482
+#, c-format
+msgid "Partition %d does not end on cylinder boundary.\n"
+msgstr "òÁÚÄÅÌ %d ÎÅ ÚÁËÁÎÞÉ×ÁÅÔÓÑ ÎÁ ÇÒÁÎÉÃÅ ÃÉÌÉÎÄÒÁ.\n"
+
+#: fdisk/fdisksgilabel.c:489
+#, c-format
+msgid "The Partition %d and %d overlap by %d sectors.\n"
+msgstr "òÁÚÄÅÌÙ %d É %d ÐÅÒÅËÒÙ×ÁÀÔÓÑ × %d ÓÅËÔÏÒÁÈ.\n"
+
+#: fdisk/fdisksgilabel.c:497 fdisk/fdisksgilabel.c:515
+#, c-format
+msgid "Unused gap of %8u sectors - sectors %8u-%u\n"
+msgstr "îÅÉÓÐÏÌØÚÕÅÍÙÊ ÐÒÏÍÅÖÕÔÏË ÉÚ %8u ÓÅËÔÏÒÏ× - ÓÅËÔÏÒÙ %8u-%u\n"
+
+#: fdisk/fdisksgilabel.c:526
+#, c-format
+msgid ""
+"\n"
+"The boot partition does not exist.\n"
+msgstr ""
+"\n"
+"úÁÇÒÕÚÏÞÎÙÊ ÒÁÚÄÅÌ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ.\n"
+
+#: fdisk/fdisksgilabel.c:529
+#, c-format
+msgid ""
+"\n"
+"The swap partition does not exist.\n"
+msgstr ""
+"\n"
+"òÁÚÄÅÌ Ó×ÏÐÉÎÇÁ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ.\n"
+
+#: fdisk/fdisksgilabel.c:533
+#, c-format
+msgid ""
+"\n"
+"The swap partition has no swap type.\n"
+msgstr ""
+"\n"
+"òÁÚÄÅÌ Ó×ÏÐÉÎÇÁ ÎÅ ÉÍÅÅÔ ÔÉРswap.\n"
+
+#: fdisk/fdisksgilabel.c:536
+#, c-format
+msgid "\tYou have chosen an unusual boot file name.\n"
+msgstr "\t÷Ù ×ÙÂÒÁÌÉ ÎÅÏÂÙÞÎÏÅ ÉÍÑ boot-ÆÁÊÌÁ.\n"
+
+#: fdisk/fdisksgilabel.c:545
+#, c-format
+msgid "Sorry You may change the Tag of non-empty partitions.\n"
+msgstr "ë ÓÏÖÁÌÅÎÉÀ ×Ù ÍÏÖÅÔÅ ÉÚÍÅÎÉÔØ ôÜÇ ÎÅÐÕÓÔÙÈ ÒÁÚÄÅÌÏ×.\n"
+
+#: fdisk/fdisksgilabel.c:551
+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"
+
+#: fdisk/fdisksgilabel.c:556 fdisk/fdisksunlabel.c:554
+msgid "YES\n"
+msgstr "äá\n"
+
+#: fdisk/fdisksgilabel.c:581
+#, c-format
+msgid "Do You know, You got a partition overlap on the disk?\n"
+msgstr "úÎÁÅÔÅ ÌÉ ×Ù, ÞÔÏ ×Ù ÐÏÌÕÞÉÌÉ ÐÅÒÅËÒÙ×ÁÎÉÅ ÒÁÚÄÅÌÏ× ÎÁ ÄÉÓËÅ?\n"
+
+#: fdisk/fdisksgilabel.c:639
+#, c-format
+msgid "Attempting to generate entire disk entry automatically.\n"
+msgstr "÷ÙÐÏÌÎÑÅÔÓÑ ÐÏÐÙÔËÁ Á×ÔÏÍÁÔÉÞÅÓËÉ ÓÏÚÄÁÔØ ÐÕÎËÔ ×ÓÅÇÏ ÄÉÓËÁ.\n"
+
+#: fdisk/fdisksgilabel.c:644
+#, c-format
+msgid "The entire disk is already covered with partitions.\n"
+msgstr "÷ÅÓØ ÄÉÓË ÕÖÅ ÒÁÚÂÉÔ ÎÁ ÒÁÚÄÅÌÙ.\n"
+
+#: fdisk/fdisksgilabel.c:648
+#, c-format
+msgid "You got a partition overlap on the disk. Fix it first!\n"
+msgstr "÷Ù ÐÏÌÕÞÉÌÉ ÐÅÒÅËÒÙ×ÁÎÉÅ ÒÁÚÄÅÌÏ× ÎÁ ÄÉÓËÅ. óÎÁÞÁÌÁ ÉÓÐÒÁ×ØÔÅ ÜÔÏ!\n"
+
+#: fdisk/fdisksgilabel.c:657 fdisk/fdisksgilabel.c:686
+#, 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"
+
+#: fdisk/fdisksgilabel.c:673
+#, c-format
+msgid "You will get a partition overlap on the disk. Fix it first!\n"
+msgstr "÷Ù ÐÏÌÕÞÉÔÅ ÐÅÒÅËÒÙ×ÁÎÉÅ ÒÁÚÄÅÌÏ× ÎÁ ÄÉÓËÅ. óÎÁÞÁÌÁ ÉÓÐÒÁ×ØÔÅ ÜÔÏ!\n"
+
+#: fdisk/fdisksgilabel.c:678
+#, c-format
+msgid " Last %s"
+msgstr " ðÏÓÌÅÄÎÉÊ %s"
+
+#: fdisk/fdisksgilabel.c:708
+#, c-format
+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"
+
+#: fdisk/fdisksgilabel.c:731 fdisk/fdisksunlabel.c:227
+#, c-format
+msgid ""
+"Warning:  BLKGETSIZE ioctl failed on %s.  Using geometry cylinder value of %"
+"d.\n"
+"This value may be truncated for devices > 33.8 GB.\n"
+msgstr ""
+"ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: BLKGETSIZE ioctl ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ ÎÁ %s. éÓÐÏÌØÚÕÅÔÓÑ "
+"ÚÎÁÞÅÎÉÅ ÇÅÏÍÅÔÒÉÉ ÃÉÌÉÎÄÒÁ %d.\n"
+"üÔÏ ÚÎÁÞÅÎÉÅ ÍÏÖÅÔ ÂÙÔØ ÕÍÅÎØÛÅÎÏ ÄÌÑ ÕÓÔÒÏÊÓÔ× > 33.8 çâ.\n"
+
+#: fdisk/fdisksgilabel.c:745
+#, c-format
+msgid "Trying to keep parameters of partition %d.\n"
+msgstr "÷ÙÐÏÌÎÑÅÔÓÑ ÐÏÐÙÔËÁ ÓÏÈÒÁÎÉÔØ ÐÁÒÁÍÅÔÒÙ ÒÁÚÄÅÌÁ %d.\n"
+
+#: fdisk/fdisksgilabel.c:747
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr "ID=%02x\tîáþáìï=%d\täìéîá=%d\n"
+
+#: fdisk/fdisksunlabel.c:43
+msgid "Unassigned"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:45
+msgid "SunOS root"
+msgstr "SunOS root"
+
+#: fdisk/fdisksunlabel.c:46
+msgid "SunOS swap"
+msgstr "SunOS swap"
+
+#: fdisk/fdisksunlabel.c:47
+msgid "SunOS usr"
+msgstr "SunOS usr"
+
+#: fdisk/fdisksunlabel.c:48
+msgid "Whole disk"
+msgstr "Whole disk"
+
+#: fdisk/fdisksunlabel.c:49
+msgid "SunOS stand"
+msgstr "SunOS stand"
+
+#: fdisk/fdisksunlabel.c:50
+msgid "SunOS var"
+msgstr "SunOS var"
+
+#: fdisk/fdisksunlabel.c:51
+msgid "SunOS home"
+msgstr "SunOS home"
+
+#: fdisk/fdisksunlabel.c:52
+#, fuzzy
+msgid "SunOS alt sectors"
+msgstr "%lld ÎÅÚÁÎÑÔÙÈ ÓÅËÔÏÒÏ×\n"
+
+#: fdisk/fdisksunlabel.c:53
+#, fuzzy
+msgid "SunOS cachefs"
+msgstr "SunOS home"
+
+#: fdisk/fdisksunlabel.c:54
+#, fuzzy
+msgid "SunOS reserved"
+msgstr "SunOS usr"
+
+#: fdisk/fdisksunlabel.c:58 fdisk/i386_sys_types.c:103
+msgid "Linux raid autodetect"
+msgstr "á×ÔÏÏÐÒÅÄÅÌÅÎÉÅ Linux raid"
+
+#: fdisk/fdisksunlabel.c:141
+#, 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"
+
+#: fdisk/fdisksunlabel.c:153
+#, fuzzy, c-format
+msgid "Detected sun disklabel with wrong version [0x%08x].\n"
+msgstr "ïÂÎÁÒÕÖÅÎÁ ÍÅÔËÁ ÄÉÓËÁ sgi Ó ÎÅ×ÅÒÎÏÊ ËÏÎÔÒÏÌØÎÏÊ ÓÕÍÍÏÊ.\n"
+
+#: fdisk/fdisksunlabel.c:158
+#, fuzzy, c-format
+msgid "Detected sun disklabel with wrong sanity [0x%08x].\n"
+msgstr "ïÂÎÁÒÕÖÅÎÁ ÍÅÔËÁ ÄÉÓËÁ sgi Ó ÎÅ×ÅÒÎÏÊ ËÏÎÔÒÏÌØÎÏÊ ÓÕÍÍÏÊ.\n"
+
+#: fdisk/fdisksunlabel.c:163
+#, fuzzy, c-format
+msgid "Detected sun disklabel with wrong num_partitions [%u].\n"
+msgstr "ïÂÎÁÒÕÖÅÎÁ ÍÅÔËÁ ÄÉÓËÁ sgi Ó ÎÅ×ÅÒÎÏÊ ËÏÎÔÒÏÌØÎÏÊ ÓÕÍÍÏÊ.\n"
+
+#: fdisk/fdisksunlabel.c:168
+#, 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"
+
+#: fdisk/fdisksunlabel.c:198
+#, c-format
+msgid ""
+"Building a new sun disklabel. Changes will remain in memory only,\n"
+"until you decide to write them. After that, of course, the previous\n"
+"content won't be recoverable.\n"
+"\n"
+msgstr ""
+"óÏÚÄÁÅÔÓÑ ÎÏ×ÁÑ ÍÅÔËÁ ÄÉÓËÁ sun. éÚÍÅÎÅÎÉÑ ÂÕÄÕÔ ÏÓÔÁ×ÁÔØÓÑ\n"
+"ÔÏÌØËÏ × ÐÁÍÑÔÉ ÄÏ ÔÅÈ ÐÏÒ, ÐÏËÁ ×Ù ÎÅ ÒÅÛÉÔÅ ÚÁÐÉÓÁÔØ ÉÈ.\n"
+"ðÏÓÌÅ ÜÔÏÇÏ, ËÏÎÅÞÎÏ, ÐÒÅÄÙÄÕÝÅÅ ÓÏÄÅÒÖÉÍÏÅ ÎÅÌØÚÑ ÂÕÄÅÔ\n"
+"×ÏÓÓÔÁÎÏ×ÉÔØ.\n"
+"\n"
+
+#: fdisk/fdisksunlabel.c:236
+msgid "Sectors/track"
+msgstr "óÅËÔÏÒÙ/ÄÏÒÏÖËÁ"
+
+#: fdisk/fdisksunlabel.c:351
+#, c-format
+msgid "Partition %d doesn't end on cylinder boundary\n"
+msgstr "òÁÚÄÅÌ %d ÎÁ ÚÁËÁÎÞÉ×ÁÅÔÓÑ ÎÁ ÇÒÁÎÉÃÅ ÃÉÌÉÎÄÒÁ\n"
+
+#: fdisk/fdisksunlabel.c:371
+#, c-format
+msgid "Partition %d overlaps with others in sectors %d-%d\n"
+msgstr "òÁÚÄÅÌ %d ÐÅÒÅËÒÙ×ÁÅÔÓÑ Ó ÄÒÕÇÉÍÉ × ÓÅËÔÏÒÁÈ %d-%d\n"
+
+#: fdisk/fdisksunlabel.c:393
+#, c-format
+msgid "Unused gap - sectors 0-%d\n"
+msgstr "îÅÉÓÐÏÌØÚÕÅÍÙÊ ÐÒÏÍÅÖÕÔÏË - ÓÅËÔÏÒÙ 0-%d\n"
+
+#: fdisk/fdisksunlabel.c:395 fdisk/fdisksunlabel.c:401
+#, c-format
+msgid "Unused gap - sectors %d-%d\n"
+msgstr "îÅÉÓÐÏÌØÚÕÅÍÙÊ ÐÒÏÍÅÖÕÔÏË - ÓÅËÔÏÒÙ %d-%d\n"
+
+#: fdisk/fdisksunlabel.c:426
+#, c-format
+msgid ""
+"Other partitions already cover the whole disk.\n"
+"Delete some/shrink them before retry.\n"
+msgstr ""
+"äÒÕÇÉÅ ÒÁÚÄÅÌÙ ÕÖÅ ÏÈ×ÁÔÙ×ÁÀÔ ×ÅÓØ ÄÉÓË.\n"
+"õÄÁÌÉÔÅ ÎÅËÏÔÏÒÙÅ ÉÌÉ ÕÍÅÎØÛÉÔÅ ÉÈ ÐÅÒÅÄ ÐÏ×ÔÏÒÎÏÊ ÐÏÐÙÔËÏÊ.\n"
+
+#: fdisk/fdisksunlabel.c:449
+#, 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"
+
+#: fdisk/fdisksunlabel.c:477
+#, c-format
+msgid "Sector %d is already allocated\n"
+msgstr "óÅËÔÏÒ %d ÕÖÅ ×ÙÄÅÌÅÎ\n"
+
+#: fdisk/fdisksunlabel.c:507
+#, 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"
+
+#: fdisk/fdisksunlabel.c:534
+#, 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"
+
+#: fdisk/fdisksunlabel.c:549
+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 Ó×ÏÐ): "
+
+#: fdisk/fdisksunlabel.c:581
+#, fuzzy, c-format
+msgid ""
+"\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"
+"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"
+
+#: fdisk/fdisksunlabel.c:597
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %d heads, %llu sectors, %d cylinders\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"äÉÓË %s (ÍÅÔËÁ ÄÉÓËÁ Sun): %d ÇÏÌÏ×ÏË, %d ÓÅËÔÏÒÏ×, %d ÃÉÌÉÎÄÒÏ×\n"
+"åÄÉÎÉÃÙ = %s ÐÏ %d * 512 ÂÁÊÔ\n"
+"\n"
+
+#: fdisk/fdisksunlabel.c:602
+#, c-format
+msgid "%*s Flag    Start       End    Blocks   Id  System\n"
+msgstr "%*s æÌÁÇ   îÁÞÁÌÏ     ëÏÎÅà    âÌÏËÉ   Id  óÉÓÔÅÍÁ\n"
+
+#: fdisk/fdisksunlabel.c:630
+msgid "Number of alternate cylinders"
+msgstr "ëÏÌÉÞÅÓÔ×Ï ÁÌØÔÅÒÎÁÔÉ×ÎÙÈ ÃÉÌÉÎÄÒÏ×"
+
+#: fdisk/fdisksunlabel.c:642
+msgid "Extra sectors per cylinder"
+msgstr "äÏÐÏÌÎÉÔÅÌØÎÙÅ ÓÅËÔÏÒÙ ÎÁ ÃÉÌÉÎÄÒ"
+
+#: fdisk/fdisksunlabel.c:649
+msgid "Interleave factor"
+msgstr "ëÏÜÆÆÉÃÉÅÎÔ ÞÅÒÅÄÏ×ÁÎÉÑ"
+
+#: fdisk/fdisksunlabel.c:656
+msgid "Rotation speed (rpm)"
+msgstr "óËÏÒÏÓÔØ ×ÒÁÝÅÎÉÑ (ÏÂ/ÍÉÎ)"
+
+#: fdisk/fdisksunlabel.c:663
+msgid "Number of physical cylinders"
+msgstr "ëÏÌÉÞÅÓÔ×Ï ÆÉÚÉÞÅÓËÉÈ ÃÉÌÉÎÄÒÏ×"
+
+#: fdisk/i386_sys_types.c:6
+msgid "Empty"
+msgstr "ðÕÓÔÏÊ"
+
+#: fdisk/i386_sys_types.c:7
+msgid "FAT12"
+msgstr "FAT12"
+
+#: fdisk/i386_sys_types.c:8
+msgid "XENIX root"
+msgstr "XENIX root"
+
+#: fdisk/i386_sys_types.c:9
+msgid "XENIX usr"
+msgstr "XENIX usr"
+
+#: fdisk/i386_sys_types.c:10
+msgid "FAT16 <32M"
+msgstr "FAT16 <32M"
+
+#: fdisk/i386_sys_types.c:11
+msgid "Extended"
+msgstr "òÁÓÛÉÒÅÎÎÙÊ"
+
+#: fdisk/i386_sys_types.c:12
+msgid "FAT16"
+msgstr "FAT16"
+
+#: fdisk/i386_sys_types.c:13
+msgid "HPFS/NTFS"
+msgstr "HPFS/NTFS"
+
+#: fdisk/i386_sys_types.c:14
+msgid "AIX"
+msgstr "AIX"
+
+#: fdisk/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr "AIX ÚÁÇÒÕÚÏÞÎÙÊ"
+
+#: fdisk/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr "OS/2 Boot-ÍÅÎÅÄÖÅÒ"
+
+#: fdisk/i386_sys_types.c:17
+msgid "W95 FAT32"
+msgstr "W95 FAT32"
+
+#: fdisk/i386_sys_types.c:18
+msgid "W95 FAT32 (LBA)"
+msgstr "W95 FAT32 (LBA)"
+
+#: fdisk/i386_sys_types.c:19
+msgid "W95 FAT16 (LBA)"
+msgstr "W95 FAT16 (LBA)"
+
+#: fdisk/i386_sys_types.c:20
+msgid "W95 Ext'd (LBA)"
+msgstr "W95 ÒÁÓÛÉÒ. (LBA)"
+
+#: fdisk/i386_sys_types.c:21
+msgid "OPUS"
+msgstr "OPUS"
+
+#: fdisk/i386_sys_types.c:22
+msgid "Hidden FAT12"
+msgstr "óËÒÙÔÙÊ FAT12"
+
+#: fdisk/i386_sys_types.c:23
+msgid "Compaq diagnostics"
+msgstr "Compaq ÄÉÁÇÎÏÓÔÉËÁ"
+
+#: fdisk/i386_sys_types.c:24
+msgid "Hidden FAT16 <32M"
+msgstr "óËÒÙÔÙÊ FAT16 <32M"
+
+#: fdisk/i386_sys_types.c:25
+msgid "Hidden FAT16"
+msgstr "óËÒÙÔÙÊ FAT16"
+
+#: fdisk/i386_sys_types.c:26
+msgid "Hidden HPFS/NTFS"
+msgstr "óËÒÙÔÙÊ HPFS/NTFS"
+
+#: fdisk/i386_sys_types.c:27
+msgid "AST SmartSleep"
+msgstr "AST SmartSleep"
+
+#: fdisk/i386_sys_types.c:28
+msgid "Hidden W95 FAT32"
+msgstr "óËÒÙÔÙÊ W95 FAT32"
+
+#: fdisk/i386_sys_types.c:29
+msgid "Hidden W95 FAT32 (LBA)"
+msgstr "óËÒÙÔÙÊ W95 FAT32 (LBA)"
+
+#: fdisk/i386_sys_types.c:30
+msgid "Hidden W95 FAT16 (LBA)"
+msgstr "óËÒÙÔÙÊ W95 FAT16 (LBA)"
+
+#: fdisk/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr "NEC DOS"
+
+#: fdisk/i386_sys_types.c:32
+msgid "Plan 9"
+msgstr "Plan 9"
+
+#: fdisk/i386_sys_types.c:33
+msgid "PartitionMagic recovery"
+msgstr "PartitionMagic ×ÏÓÓÔÁÎÏ×ÌÅÎÉÅ"
+
+#: fdisk/i386_sys_types.c:34
+msgid "Venix 80286"
+msgstr "Venix 80286"
+
+#: fdisk/i386_sys_types.c:35
+msgid "PPC PReP Boot"
+msgstr "PPC PReP Boot"
+
+#: fdisk/i386_sys_types.c:36
+msgid "SFS"
+msgstr "SFS"
+
+#: fdisk/i386_sys_types.c:37
+msgid "QNX4.x"
+msgstr "QNX4.x"
+
+#: fdisk/i386_sys_types.c:38
+msgid "QNX4.x 2nd part"
+msgstr "QNX4.x 2-Ñ ÞÁÓÔØ"
+
+#: fdisk/i386_sys_types.c:39
+msgid "QNX4.x 3rd part"
+msgstr "QNX4.x 3-Ñ ÞÁÓÔØ"
+
+#: fdisk/i386_sys_types.c:40
+msgid "OnTrack DM"
+msgstr "OnTrack DM"
+
+#: fdisk/i386_sys_types.c:41
+msgid "OnTrack DM6 Aux1"
+msgstr "OnTrack DM6 Aux1"
+
+#: fdisk/i386_sys_types.c:42
+msgid "CP/M"
+msgstr "CP/M"
+
+#: fdisk/i386_sys_types.c:43
+msgid "OnTrack DM6 Aux3"
+msgstr "OnTrack DM6 Aux3"
+
+#: fdisk/i386_sys_types.c:44
+msgid "OnTrackDM6"
+msgstr "OnTrackDM6"
+
+#: fdisk/i386_sys_types.c:45
+msgid "EZ-Drive"
+msgstr "EZ-Drive"
+
+#: fdisk/i386_sys_types.c:46
+msgid "Golden Bow"
+msgstr "Golden Bow"
+
+#: fdisk/i386_sys_types.c:47
+msgid "Priam Edisk"
+msgstr "Priam Edisk"
+
+#: fdisk/i386_sys_types.c:48 fdisk/i386_sys_types.c:92
+#: fdisk/i386_sys_types.c:98 fdisk/i386_sys_types.c:99
+msgid "SpeedStor"
+msgstr "SpeedStor"
+
+#: fdisk/i386_sys_types.c:49
+msgid "GNU HURD or SysV"
+msgstr "GNU HURD ÉÌÉ SysV"
+
+#: fdisk/i386_sys_types.c:50
+msgid "Novell Netware 286"
+msgstr "Novell Netware 286"
+
+#: fdisk/i386_sys_types.c:51
+msgid "Novell Netware 386"
+msgstr "Novell Netware 386"
+
+#: fdisk/i386_sys_types.c:52
+msgid "DiskSecure Multi-Boot"
+msgstr "DiskSecure Multi-Boot"
+
+#: fdisk/i386_sys_types.c:53
+msgid "PC/IX"
+msgstr "PC/IX"
+
+#: fdisk/i386_sys_types.c:54
+msgid "Old Minix"
+msgstr "Old Minix"
+
+#: fdisk/i386_sys_types.c:55
+msgid "Minix / old Linux"
+msgstr "Minix / ÓÔÁÒÙÊ Linux"
+
+#: fdisk/i386_sys_types.c:56
+msgid "Linux swap / Solaris"
+msgstr "Linux Ó×ÏР/ Solaris"
+
+#: fdisk/i386_sys_types.c:58
+msgid "OS/2 hidden C: drive"
+msgstr "OS/2 ÓËÒÙÔÙÊ ÄÉÓË C:"
+
+#: fdisk/i386_sys_types.c:59
+msgid "Linux extended"
+msgstr "Linux ÒÁÓÛÉÒÅÎ"
+
+#: fdisk/i386_sys_types.c:60 fdisk/i386_sys_types.c:61
+msgid "NTFS volume set"
+msgstr "NTFS ÎÁÂÏÒ ÔÏÍÏ×"
+
+#: fdisk/i386_sys_types.c:62
+msgid "Linux plaintext"
+msgstr "Linux plaintext"
+
+#: fdisk/i386_sys_types.c:64
+msgid "Amoeba"
+msgstr "Amoeba"
+
+#: fdisk/i386_sys_types.c:65
+msgid "Amoeba BBT"
+msgstr "Amoeba BBT"
+
+#: fdisk/i386_sys_types.c:66
+msgid "BSD/OS"
+msgstr "BSD/OS"
+
+#: fdisk/i386_sys_types.c:67
+msgid "IBM Thinkpad hibernation"
+msgstr "IBM Thinkpad hibernation"
+
+#: fdisk/i386_sys_types.c:68
+msgid "FreeBSD"
+msgstr "FreeBSD"
+
+#: fdisk/i386_sys_types.c:69
+msgid "OpenBSD"
+msgstr "OpenBSD"
+
+#: fdisk/i386_sys_types.c:70
+msgid "NeXTSTEP"
+msgstr "NeXTSTEP"
+
+#: fdisk/i386_sys_types.c:71
+msgid "Darwin UFS"
+msgstr "Darwin UFS"
+
+#: fdisk/i386_sys_types.c:72
+msgid "NetBSD"
+msgstr "NetBSD"
+
+#: fdisk/i386_sys_types.c:73
+msgid "Darwin boot"
+msgstr "Darwin ÚÁÇÒÕÚÏÞÎÙÊ"
+
+#: fdisk/i386_sys_types.c:74
+#, fuzzy
+msgid "HFS / HFS+"
+msgstr "OS/2 HPFS"
+
+#: fdisk/i386_sys_types.c:75
+msgid "BSDI fs"
+msgstr "BSDI ÆÓ"
+
+#: fdisk/i386_sys_types.c:76
+msgid "BSDI swap"
+msgstr "BSDI Ó×ÏÐ"
+
+#: fdisk/i386_sys_types.c:77
+msgid "Boot Wizard hidden"
+msgstr "Boot Wizard ÓËÒÙÔÙÊ"
+
+#: fdisk/i386_sys_types.c:78
+msgid "Solaris boot"
+msgstr "Solaris ÚÁÇÒ."
+
+#: fdisk/i386_sys_types.c:79
+msgid "Solaris"
+msgstr "Solaris"
+
+#: fdisk/i386_sys_types.c:80
+msgid "DRDOS/sec (FAT-12)"
+msgstr "DRDOS/sec (FAT-12)"
+
+#: fdisk/i386_sys_types.c:81
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr "DRDOS/sec (FAT-16 < 32M)"
+
+#: fdisk/i386_sys_types.c:82
+msgid "DRDOS/sec (FAT-16)"
+msgstr "DRDOS/sec (FAT-16)"
+
+#: fdisk/i386_sys_types.c:83
+msgid "Syrinx"
+msgstr "Syrinx"
+
+#: fdisk/i386_sys_types.c:84
+msgid "Non-FS data"
+msgstr "äÁÎÎÙÅ ÎÅ æó"
+
+#: fdisk/i386_sys_types.c:85
+msgid "CP/M / CTOS / ..."
+msgstr "CP/M / CTOS / ..."
+
+#: fdisk/i386_sys_types.c:87
+msgid "Dell Utility"
+msgstr "Dell Utility"
+
+#: fdisk/i386_sys_types.c:88
+msgid "BootIt"
+msgstr "BootIt"
+
+#: fdisk/i386_sys_types.c:89
+msgid "DOS access"
+msgstr "DOS access"
+
+#: fdisk/i386_sys_types.c:91
+msgid "DOS R/O"
+msgstr "DOS R/O"
+
+#: fdisk/i386_sys_types.c:94
+msgid "BeOS fs"
+msgstr "BeOS ÆÓ"
+
+#: fdisk/i386_sys_types.c:95
+#, fuzzy
+msgid "GPT"
+msgstr "EFI GPT"
+
+#: fdisk/i386_sys_types.c:96
+msgid "EFI (FAT-12/16/32)"
+msgstr "EFI (FAT-12/16/32)"
+
+#: fdisk/i386_sys_types.c:97
+msgid "Linux/PA-RISC boot"
+msgstr "Linux/PA-RISC ÚÁÇÒ."
+
+#: fdisk/i386_sys_types.c:100
+msgid "DOS secondary"
+msgstr "DOS ×ÔÏÒÉÞÎÙÊ"
+
+#: fdisk/i386_sys_types.c:101
+msgid "VMware VMFS"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:102
+msgid "VMware VMKCORE"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:106
+msgid "LANstep"
+msgstr "LANstep"
+
+#: fdisk/i386_sys_types.c:107
+msgid "BBT"
+msgstr "BBT"
+
+#: fdisk/sfdisk.c:179
+#, c-format
+msgid "seek error on %s - cannot seek to %lu\n"
+msgstr "ÏÛÉÂËÁ ÐÏÉÓËÁ ÎÁ %s - ÎÅ×ÏÚÍÏÖÎÏ ÎÁÊÔÉ %lu\n"
+
+#: fdisk/sfdisk.c:184
+#, c-format
+msgid "seek error: wanted 0x%08x%08x, got 0x%08x%08x\n"
+msgstr "ÏÛÉÂËÁ ÐÏÉÓËÁ: ÎÕÖÎÙ 0x%08x%08x, ÐÏÌÕÞÅÎÙ 0x%08x%08x\n"
+
+#: fdisk/sfdisk.c:230
+msgid "out of memory - giving up\n"
+msgstr "ÎÅÈ×ÁÔËÁ ÐÁÍÑÔÉ - ÓÄÁÀÓØ\n"
+
+#: fdisk/sfdisk.c:235 fdisk/sfdisk.c:318
+#, c-format
+msgid "read error on %s - cannot read sector %lu\n"
+msgstr "ÏÛÉÂËÁ ÞÔÅÎÉÑ Ó %s - ÎÅ×ÏÚÍÏÖÎÏ ÐÒÏÞÉÔÁÔØ ÓÅËÔÏÒ %lu\n"
+
+#: fdisk/sfdisk.c:253
+#, c-format
+msgid "ERROR: sector %lu does not have an msdos signature\n"
+msgstr "ïûéâëá: ÓÅËÔÏÒ %lu ÎÅ ÉÍÅÅÔ ÓÉÇÎÁÔÕÒÙ msdos\n"
+
+#: fdisk/sfdisk.c:268
+#, c-format
+msgid "write error on %s - cannot write sector %lu\n"
+msgstr "ÏÛÉÂËÁ ÚÁÐÉÓÉ ÎÁ %s - ÎÅ×ÏÚÍÏÖÎÏ ÚÁÐÉÓÁÔØ ÓÅËÔÏÒ %lu\n"
+
+#: fdisk/sfdisk.c:306
+#, c-format
+msgid "cannot open partition sector save file (%s)\n"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ÆÁÊÌ Ó ÓÏÈÒÁÎÅÎÎÙÍ ÓÅËÔÏÒÏÍ ÒÁÚÄÅÌÁ (%s)\n"
+
+#: fdisk/sfdisk.c:324
+#, c-format
+msgid "write error on %s\n"
+msgstr "ÏÛÉÂËÁ ÚÁÐÉÓÉ ÎÁ %s\n"
+
+#: fdisk/sfdisk.c:350
+#, c-format
+msgid "cannot stat partition restore file (%s)\n"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÐÒÅÄÅÌÉÔØ ÓÏÓÔÏÑÎÉÅ ÆÁÊÌÁ ×ÏÓÓÔÁÎÏ×ÌÅÎÉÑ ÒÁÚÄÅÌÁ (%s)\n"
+
+#: fdisk/sfdisk.c:355
+msgid "partition restore file has wrong size - not restoring\n"
+msgstr ""
+"ÆÁÊÌ ×ÏÓÓÔÁÎÏ×ÌÅÎÉÑ ÒÁÚÄÅÌÁ ÉÍÅÅÔ ÎÅ×ÅÒÎÙÊ ÒÁÚÍÅÒ - ×ÏÓÓÔÁÎÏ×ÌÅÎÉÅ ÏÔÍÅÎÅÎÏ\n"
+
+#: fdisk/sfdisk.c:359
+msgid "out of memory?\n"
+msgstr "ÎÅÈ×ÁÔËÁ ÐÁÍÑÔÉ?\n"
+
+#: fdisk/sfdisk.c:365
+#, c-format
+msgid "cannot open partition restore file (%s)\n"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ÆÁÊÌ ×ÏÓÓÔÁÎÏ×ÌÅÎÉÑ ÒÁÚÄÅÌÁ  (%s)\n"
+
+#: fdisk/sfdisk.c:371
+#, c-format
+msgid "error reading %s\n"
+msgstr "ÏÛÉÂËÁ ÞÔÅÎÉÑ %s\n"
+
+#: fdisk/sfdisk.c:378
+#, c-format
+msgid "cannot open device %s for writing\n"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ÕÓÔÒÏÊÓÔ×Ï %s ÄÌÑ ÚÁÐÉÓÉ\n"
+
+#: fdisk/sfdisk.c:390
+#, c-format
+msgid "error writing sector %lu on %s\n"
+msgstr "ÏÛÉÂËÁ ÚÁÐÉÓÉ ÓÅËÔÏÒÁ %lu ÎÁ %s\n"
+
+#: fdisk/sfdisk.c:455
+#, c-format
+msgid "Disk %s: cannot get geometry\n"
+msgstr "äÉÓË %s: ÎÅ×ÏÚÍÏÖÎÏ ÐÏÌÕÞÉÔØ ÇÅÏÍÅÔÒÉÀ\n"
+
+#: fdisk/sfdisk.c:472
+#, c-format
+msgid "Disk %s: cannot get size\n"
+msgstr "äÉÓË %s: ÎÅ×ÏÚÍÏÖÎÏ ÐÏÌÕÞÉÔØ ÒÁÚÍÅÒ\n"
+
+#: fdisk/sfdisk.c:505
+#, 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"
+
+#: fdisk/sfdisk.c:512
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu heads\n"
+msgstr "ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: HDIO_GETGEO ÓÏÏÂÝÉÌ, ÞÔÏ ÉÍÅÅÔÓÑ %lu ÇÏÌÏ×ÏË\n"
+
+#: fdisk/sfdisk.c:515
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu sectors\n"
+msgstr "ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: HDIO_GETGEO ÓÏÏÂÝÉÌ, ÞÔÏ ÉÍÅÅÔÓÑ %lu ÓÅËÔÏÒÏ×\n"
+
+#: fdisk/sfdisk.c:519
+#, c-format
+msgid "Warning: BLKGETSIZE/HDIO_GETGEO says that there are %lu cylinders\n"
+msgstr ""
+"ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: BLKGETSIZE/HDIO_GETGEO ÓÏÏÂÝÉÌ, ÞÔÏ ÉÍÅÅÔÓÑ %lu ÃÉÌÉÎÄÒÏ×\n"
+
+#: fdisk/sfdisk.c:524
+#, 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"
+
+#: fdisk/sfdisk.c:528
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %lu cylinders, %lu heads, %lu sectors/track\n"
+msgstr ""
+"\n"
+"äÉÓË %s: %lu ÃÉÌÉÎÄÒÏ×, %lu ÇÏÌÏ×ÏË, %lu ÓÅËÔÏÒÏ×/ÄÏÒÏÖËÕ\n"
+
+#: fdisk/sfdisk.c:610
+#, 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"
+
+#: fdisk/sfdisk.c:615
+#, 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"
+
+#: fdisk/sfdisk.c:620
+#, 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"
+
+#: fdisk/sfdisk.c:660
+#, c-format
+msgid ""
+"Id  Name\n"
+"\n"
+msgstr ""
+"Id  éÍÑ\n"
+"\n"
+
+#: fdisk/sfdisk.c:821
+#, c-format
+msgid "Re-reading the partition table ...\n"
+msgstr "ðÅÒÅÞÉÔÙ×ÁÅÔÓÑ ÔÁÂÌÉÃÁ ÒÁÚÄÅÌÏ×...\n"
+
+#: fdisk/sfdisk.c:827
+#, 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"
+
+#: fdisk/sfdisk.c:833
+#, c-format
+msgid "Error closing %s\n"
+msgstr "ïÛÉÂËÁ ÚÁËÒÙÔÉÑ %s\n"
+
+#: fdisk/sfdisk.c:871
+#, c-format
+msgid "%s: no such partition\n"
+msgstr "%s: ÎÅÔ ÔÁËÏÇÏ ÒÁÚÄÅÌÁ\n"
+
+#: fdisk/sfdisk.c:894
+msgid "unrecognized format - using sectors\n"
+msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÙÊ ÆÏÒÍÁÔ - ÉÓÐÏÌØÚÕÀÔÓÑ ÓÅËÔÏÒÙ\n"
+
+#: fdisk/sfdisk.c:944
+#, c-format
+msgid "unimplemented format - using %s\n"
+msgstr "ÎÅÏÂÓÌÕÖÉ×ÁÅÍÙÊ ÆÏÒÍÁÔ - ÉÓÐÏÌØÚÕÅÔÓÑ %s\n"
+
+#: fdisk/sfdisk.c:948
+#, c-format
+msgid ""
+"Units = cylinders of %lu bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"åÄÉÎÉÃÙ = ÃÉÌÉÎÄÒÙ ÐÏ %lu ÂÁÊÔ, ÂÌÏËÉ ÐÏ 1024 ÂÁÊÔ, ÎÁÞÉÎÁÑ Ó %d\n"
+"\n"
+
+#: fdisk/sfdisk.c:951
+#, c-format
+msgid "   Device Boot Start     End   #cyls    #blocks   Id  System\n"
+msgstr "  õÓÔÒ-×Ï úÁÇÒ   îÁÞ   ëÏÎÅà   #ÃÉÌ     #ÂÌÏËÉ   Id  óÉÓÔÅÍÁ\n"
+
+#: fdisk/sfdisk.c:956
+#, c-format
+msgid ""
+"Units = sectors of 512 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"åÄÉÎÉÃÙ = ÓÅËÔÏÒÙ ÐÏ 512 ÂÁÊÔ, ÎÁÞÉÎÁÑ Ó %d\n"
+"\n"
+
+#: fdisk/sfdisk.c:958
+#, c-format
+msgid "   Device Boot    Start       End   #sectors  Id  System\n"
+msgstr "  õÓÔÒ-×Ï úÁÇÒ   îÁÞÁÌÏ     ëÏÎÅà  #ÓÅËÔÏÒÙ  Id  óÉÓÔÅÍÁ\n"
+
+#: fdisk/sfdisk.c:961
+#, c-format
+msgid ""
+"Units = blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"åÄÉÎÉÃÙ = ÂÌÏËÉ ÐÏ 1024 ÂÁÊÔ, ÎÁÞÉÎÁÑ Ó %d\n"
+"\n"
+
+#: fdisk/sfdisk.c:963
+#, c-format
+msgid "   Device Boot   Start       End    #blocks   Id  System\n"
+msgstr "  õÓÔÒ-×Ï úÁÇÒ  îÁÞÁÌÏ     ëÏÎÅà    #ÂÌÏËÉ   Id  óÉÓÔÅÍÁ\n"
+
+#: fdisk/sfdisk.c:966
+#, c-format
+msgid ""
+"Units = mebibytes of 1048576 bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"åÄÉÎÉÃÙ = mebi-ÂÁÊÔÙ ÐÏ 1048576 ÂÁÊÔ, ÂÌÏËÉ ÐÏ 1024 ÂÁÊÔ, ÎÁÞÉÎÁÑ Ó %d\n"
+"\n"
+
+#: fdisk/sfdisk.c:968
+#, c-format
+msgid "   Device Boot Start   End    MiB    #blocks   Id  System\n"
+msgstr "  õÓÔÒ-×Ï úÁÇÒ   îÁÞ ëÏÎÅà   íiB     #ÂÌÏËÉ   Id  óÉÓÔÅÍÁ\n"
+
+#: fdisk/sfdisk.c:1128
+#, 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"
+
+#: fdisk/sfdisk.c:1135
+#, 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"
+
+#: fdisk/sfdisk.c:1138
+#, c-format
+msgid "partition ends on cylinder %ld, beyond the end of the disk\n"
+msgstr "ÒÁÚÄÅÌ ÚÁËÁÎÞÉ×ÁÅÔÓÑ ÎÁ ÃÉÌÉÎÄÒÅ %ld, ÐÏÓÌÅ ËÏÎÃÁ ÄÉÓËÁ\n"
+
+#: fdisk/sfdisk.c:1148
+msgid "No partitions found\n"
+msgstr "òÁÚÄÅÌÙ ÎÅ ÎÁÊÄÅÎÙ\n"
+
+#: fdisk/sfdisk.c:1152
+#, 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"
+
+#: fdisk/sfdisk.c:1201
+msgid "no partition table present.\n"
+msgstr "ÔÁÂÌÉÃÁ ÒÁÚÄÅÌÏ× ÏÔÓÕÔÓÔ×ÕÅÔ.\n"
+
+#: fdisk/sfdisk.c:1203
+#, c-format
+msgid "strange, only %d partitions defined.\n"
+msgstr "ÓÔÒÁÎÎÏ, ÏÐÒÅÄÅÌÅÎÙ ÔÏÌØËÏ ÒÁÚÄÅÌÙ %d.\n"
+
+#: fdisk/sfdisk.c:1212
+#, c-format
+msgid "Warning: partition %s has size 0 but is not marked Empty\n"
+msgstr ""
+"ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÒÁÚÄÅÌ %s ÉÍÅÅÔ ÎÕÌÅ×ÏÊ ÒÁÚÍÅÒ, ÎÏ ÏΠÎÅ ÐÏÍÅÞÅΠËÁË ÐÕÓÔÏÊ\n"
+
+#: fdisk/sfdisk.c:1215
+#, c-format
+msgid "Warning: partition %s has size 0 and is bootable\n"
+msgstr ""
+"ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÒÁÚÄÅÌ %s ÉÍÅÅÔ ÎÕÌÅ×ÏÊ ÒÁÚÍÅÒ É Ñ×ÌÑÅÔÓÑ ÚÁÇÒÕÚÏÞÎÙÍ\n"
+
+#: fdisk/sfdisk.c:1218
+#, c-format
+msgid "Warning: partition %s has size 0 and nonzero start\n"
+msgstr "ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÒÁÚÄÅÌ %s ÉÍÅÅÔ ÎÕÌÅ×ÏÊ ÒÁÚÍÅÒ É ÎÅÎÕÌÅ×ÏÅ ÎÁÞÁÌÏ\n"
+
+#: fdisk/sfdisk.c:1229
+#, c-format
+msgid "Warning: partition %s "
+msgstr "ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÒÁÚÄÅÌ %s "
+
+#: fdisk/sfdisk.c:1230
+#, c-format
+msgid "is not contained in partition %s\n"
+msgstr "ÎÅ ÎÁÈÏÄÉÔÓÑ × ÒÁÚÄÅÌÅ %s\n"
+
+#: fdisk/sfdisk.c:1241
+#, c-format
+msgid "Warning: partitions %s "
+msgstr "ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÒÁÚÄÅÌÙ %s "
+
+#: fdisk/sfdisk.c:1242
+#, c-format
+msgid "and %s overlap\n"
+msgstr "É ÐÅÒÅËÒÙ×ÁÅÔÓÑ Ó %s\n"
+
+#: fdisk/sfdisk.c:1253
+#, c-format
+msgid ""
+"Warning: partition %s contains part of the partition table (sector %lu),\n"
+"and will destroy it when filled\n"
+msgstr ""
+"ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÒÁÚÄÅÌ %s ÓÏÄÅÒÖÉÔ ÞÁÓÔØ ÔÁÂÌÉÃÙ ÒÁÚÄÅÌÏ× (ÓÅËÔÏÒ %lu),\n"
+"É ÒÁÚÒÕÛÉÔ ÅÅ ÐÒÉ ÚÁÐÏÌÎÅÎÉÉ\n"
+
+#: fdisk/sfdisk.c:1265
+#, c-format
+msgid "Warning: partition %s starts at sector 0\n"
+msgstr "ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÒÁÚÄÅÌ %s ÎÁÞÉÎÁÅÔÓÑ Ó ÎÕÌÅ×ÏÇÏ ÓÅËÔÏÒÁ\n"
+
+#: fdisk/sfdisk.c:1269
+#, c-format
+msgid "Warning: partition %s extends past end of disk\n"
+msgstr "ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÒÁÚÄÅÌ %s ÒÁÓÐÏÌÏÇÁÅÔÓÑ ÄÏ ËÏÎÃÁ ÄÉÓËÁ\n"
+
+#: fdisk/sfdisk.c:1284
+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"
+
+#: fdisk/sfdisk.c:1302
+#, c-format
+msgid "Warning: partition %s does not start at a cylinder boundary\n"
+msgstr "ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÒÁÚÄÅÌ %s ÎÅ ÎÁÞÉÎÁÅÔÓÑ ÎÁ ÇÒÁÎÉÃÅ ÃÉÌÉÎÄÒÁ\n"
+
+#: fdisk/sfdisk.c:1308
+#, c-format
+msgid "Warning: partition %s does not end at a cylinder boundary\n"
+msgstr "ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÒÁÚÄÅÌ %s ÎÅ ÚÁËÁÎÞÉ×ÁÅÔÓÑ ÎÁ ÇÒÁÎÉÃÅ ÃÉÌÉÎÄÒÁ\n"
+
+#: fdisk/sfdisk.c:1326
+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"
+
+#: fdisk/sfdisk.c:1333
+msgid ""
+"Warning: usually one can boot from primary partitions only\n"
+"LILO disregards the `bootable' flag.\n"
+msgstr ""
+"ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÏÂÙÞÎÏ ÚÁÇÒÕÚËÁ ÍÏÖÅÔ ÂÙÔØ ×ÙÐÏÌÎÅÎÁ ÔÏÌØËÏ Ó ÏÓÎÏ×ÎÙÈ "
+"ÒÁÚÄÅÌÏ×\n"
+"LILO ÉÇÎÏÒÉÒÕÅÔ ÆÌÁÇ `ÚÁÇÒÕÚÏÞÎÙÊ'.\n"
+
+#: fdisk/sfdisk.c:1339
+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"
+
+#: fdisk/sfdisk.c:1353
+msgid "start"
+msgstr "ÎÁÞÁÌÏ"
+
+#: fdisk/sfdisk.c:1356
+#, 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"
+
+#: fdisk/sfdisk.c:1362
+msgid "end"
+msgstr "ËÏÎÅÃ"
+
+#: fdisk/sfdisk.c:1365
+#, 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"
+
+#: fdisk/sfdisk.c:1368
+#, c-format
+msgid "partition %s ends on cylinder %ld, beyond the end of the disk\n"
+msgstr "ÒÁÚÄÅÌ %s ÚÁËÁÎÞÉ×ÁÅÔÓÑ ÎÁ ÃÉÌÉÎÄÒÅ %ld, ÐÏÓÌÅ ËÏÎÃÁ ÄÉÓËÁ\n"
+
+#: fdisk/sfdisk.c:1393
+#, c-format
+msgid ""
+"Warning: shifted start of the extd partition from %ld to %ld\n"
+"(For listing purposes only. Do not change its contents.)\n"
+msgstr ""
+"ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÎÁÞÁÌÏ ÒÁÓÛÉÒÅÎÎÏÇÏ ÒÁÚÄÅÌÁ ÓÄ×ÉÎÕÔÏ Ó %ld ÎÁ %ld\n"
+"(ôÏÌØËÏ ÄÌÑ ×Ù×ÏÄÁ ÌÉÓÔÉÎÇÁ, ÂÅÚ ÉÚÍÅÎÅÎÉÑ ÅÇÏ ÓÏÄÅÒÖÉÍÏÇÏ.)\n"
+
+#: fdisk/sfdisk.c:1399
+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"
+
+#: fdisk/sfdisk.c:1417 fdisk/sfdisk.c:1494
+#, c-format
+msgid "too many partitions - ignoring those past nr (%d)\n"
+msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÒÁÚÄÅÌÏ× - ÉÇÎÏÒÉÒÕÀÔÓÑ ÜÔÉ ÐÏÓÌÅÄÎÉÅ ÎÏÍÅÒÁ (%d)\n"
+
+#: fdisk/sfdisk.c:1432
+msgid "tree of partitions?\n"
+msgstr "ÄÅÒÅ×Ï ÒÁÚÄÅÌÏ×?\n"
+
+#: fdisk/sfdisk.c:1540
+msgid "detected Disk Manager - unable to handle that\n"
+msgstr "ÏÂÎÁÒÕÖÅΠÍÅÎÅÄÖÅÒ ÄÉÓËÏ× - ÎÅ×ÏÚÍÏÖÎÏ ÏÂÒÁÂÏÔÁÔØ\n"
+
+#: fdisk/sfdisk.c:1547
+msgid "DM6 signature found - giving up\n"
+msgstr "îÁÊÄÅÎÁ ÓÉÇÎÁÔÕÒÁ DM6  - ÓÄÁÀÓØ\n"
+
+#: fdisk/sfdisk.c:1567
+msgid "strange..., an extended partition of size 0?\n"
+msgstr "ÓÔÒÁÎÎÏ... ÒÁÓÛÉÒÅÎÎÙÊ ÒÁÚÄÅÌ ÎÕÌÅ×ÏÇÏ ÒÁÚÍÅÒÁ?\n"
+
+#: fdisk/sfdisk.c:1574 fdisk/sfdisk.c:1585
+msgid "strange..., a BSD partition of size 0?\n"
+msgstr "ÓÔÒÁÎÎÏ... ÒÁÚÄÅÌ BSD ÎÕÌÅ×ÏÇÏ ÒÁÚÍÅÒÁ?\n"
+
+#: fdisk/sfdisk.c:1619
+#, c-format
+msgid " %s: unrecognized partition table type\n"
+msgstr " %s: ÎÅÒÁÓÐÏÚÎÁÎÎÙÊ ÔÉРÔÁÂÌÉÃÙ ÒÁÚÄÅÌÏ×\n"
+
+#: fdisk/sfdisk.c:1631
+msgid "-n flag was given: Nothing changed\n"
+msgstr "âÙÌ ÕËÁÚÁΠÆÌÁÇ -n: îÉÞÅÇÏ ÎÅ ÉÚÍÅÎÅÎÏ\n"
+
+#: fdisk/sfdisk.c:1647
+msgid "Failed saving the old sectors - aborting\n"
+msgstr "ïÛÉÂËÁ ÓÏÈÒÁÎÅÎÉÑ ÓÔÁÒÙÈ ÓÅËÔÏÒÏ× - ×ÙÐÏÌÎÑÅÔÓÑ ÐÒÅÒÙ×ÁÎÉÅ\n"
+
+#: fdisk/sfdisk.c:1652
+#, c-format
+msgid "Failed writing the partition on %s\n"
+msgstr "ïÛÉÂËÁ ÚÁÐÉÓÉ ÒÁÚÄÅÌÁ ÎÁ %s\n"
+
+#: fdisk/sfdisk.c:1729
+msgid "long or incomplete input line - quitting\n"
+msgstr "ÄÌÉÎÎÁÑ ÉÌÉ ÎÅÚÁ×ÅÒÛÅÎÎÁÑ ÓÔÒÏËÁ ××ÏÄÁ - ×ÙÐÏÌÎÑÅÔÓÑ ×ÙÈÏÄ\n"
+
+#: fdisk/sfdisk.c:1765
+#, c-format
+msgid "input error: `=' expected after %s field\n"
+msgstr "ÏÛÉÂËÁ ××ÏÄÁ: `=' ÏÖÉÄÁÌÓÑ ÐÏÓÌÅ ÐÏÌÑ %s\n"
+
+#: fdisk/sfdisk.c:1772
+#, c-format
+msgid "input error: unexpected character %c after %s field\n"
+msgstr "ÏÛÉÂËÁ ××ÏÄÁ: ÎÅÏÖÉÄÁÎÎÙÊ ÓÉÍ×ÏÌ %c ÐÏÓÌÅ ÐÏÌÑ %s\n"
+
+#: fdisk/sfdisk.c:1778
+#, c-format
+msgid "unrecognized input: %s\n"
+msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÙÊ ××ÏÄ: %s\n"
+
+#: fdisk/sfdisk.c:1820
+msgid "number too big\n"
+msgstr "ÞÉÓÌÏ ÓÌÉÛËÏÍ ÂÏÌØÛÏÅ\n"
+
+#: fdisk/sfdisk.c:1824
+msgid "trailing junk after number\n"
+msgstr "ÍÕÓÏÒ ÐÏÓÌÅ ÞÉÓÌÁ\n"
+
+#: fdisk/sfdisk.c:1948
+msgid "no room for partition descriptor\n"
+msgstr "ÎÅÔ ÍÅÓÔÁ ÄÌÑ ÄÅÓËÒÉÐÔÏÒÁ ÒÁÚÄÅÌÁ\n"
+
+#: fdisk/sfdisk.c:1981
+msgid "cannot build surrounding extended partition\n"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ÏËÒÕÖÁÀÝÉÊ ÒÁÓÛÉÒÅÎÎÙÊ ÒÁÚÄÅÌ\n"
+
+#: fdisk/sfdisk.c:2032
+msgid "too many input fields\n"
+msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÐÏÌÅÊ ××ÏÄÁ\n"
+
+#: fdisk/sfdisk.c:2066
+msgid "No room for more\n"
+msgstr "íÅÓÔÁ ÂÏÌØÛÅ ÎÅÔ\n"
+
+#: fdisk/sfdisk.c:2085
+msgid "Illegal type\n"
+msgstr "îÅ×ÅÒÎÙÊ ÔÉÐ\n"
+
+#: fdisk/sfdisk.c:2117
+#, c-format
+msgid "Warning: given size (%lu) exceeds max allowable size (%lu)\n"
+msgstr ""
+"ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÕËÁÚÁÎÎÙÊ ÒÁÚÍÅÒ (%lu) ÐÒÅ×ÙÛÁÅÔ ÍÁËÓÉÍÁÌØÎÏ ÄÏÐÕÓÔÉÍÙÊ "
+"ÒÁÚÍÅÒ (%lu)\n"
+
+#: fdisk/sfdisk.c:2123
+msgid "Warning: empty partition\n"
+msgstr "ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÐÕÓÔÏÊ ÒÁÚÄÅÌ\n"
+
+#: fdisk/sfdisk.c:2137
+#, c-format
+msgid "Warning: bad partition start (earliest %lu)\n"
+msgstr "ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÎÅ×ÅÒÎÏÅ ÎÁÞÁÌÏ ÒÁÚÄÅÌÁ (ÒÁÎÅÅ %lu)\n"
+
+#: fdisk/sfdisk.c:2150
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr "ÎÅÒÁÓÐÏÚÁÎÎÙÊ ÚÁÇÒÕÚÏÞÎÙÊ ÆÌÁÇ - ×ÙÂÅÒÉÔÅ - ÉÌÉ *\n"
+
+#: fdisk/sfdisk.c:2167 fdisk/sfdisk.c:2180
+msgid "partial c,h,s specification?\n"
+msgstr "ÞÁÓÔÉÞÎÁÑ ÓÐÅÃÉÆÉËÁÃÉÑ c,h,s?\n"
+
+#: fdisk/sfdisk.c:2191
+msgid "Extended partition not where expected\n"
+msgstr "òÁÓÛÉÒÅÎÎÙÊ ÒÁÚÄÅÌ ÎÅ ÔÁÍ, ÇÄÅ ÏÖÉÄÁÌÓÑ\n"
+
+#: fdisk/sfdisk.c:2223
+msgid "bad input\n"
+msgstr "ÎÅ×ÅÒÎÙÊ ××ÏÄ\n"
+
+#: fdisk/sfdisk.c:2245
+msgid "too many partitions\n"
+msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÒÁÚÄÅÌÏ×\n"
+
+#: fdisk/sfdisk.c:2278
+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"
+
+#: fdisk/sfdisk.c:2304
+#, c-format
+msgid "Usage: %s [options] device ...\n"
+msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ÏÐÃÉÉ] ÕÓÔÒÏÊÓÔ×Ï...\n"
+
+#: fdisk/sfdisk.c:2305
+msgid "device: something like /dev/hda or /dev/sda"
+msgstr "ÕÓÔÒÏÊÓÔ×Ï: ÞÔÏ-ÔÏ ×ÒÏÄÅ /dev/hda ÉÌÉ /dev/sda"
+
+#: fdisk/sfdisk.c:2306
+msgid "useful options:"
+msgstr "ðÏÌÅÚÎÙÅ ÏÐÃÉÉ:"
+
+#: fdisk/sfdisk.c:2307
+msgid "    -s [or --show-size]: list size of a partition"
+msgstr "    -s [ÉÌÉ --show-size]: ÓÐÉÓÏË ÒÁÚÍÅÒÏ× ÒÁÚÄÅÌÏ×"
+
+#: fdisk/sfdisk.c:2308
+msgid "    -c [or --id]:        print or change partition Id"
+msgstr "    -c [ÉÌÉ --id]:        ×Ù×ÏÄ ÉÌÉ ÉÚÍÅÎÅÎÉÅ Id ÒÁÚÄÅÌÁ"
+
+#: fdisk/sfdisk.c:2309
+msgid "    -l [or --list]:      list partitions of each device"
+msgstr "    -l [ÉÌÉ --list]:      ÓÐÉÓÏË ÒÁÚÄÅÌÏ× ËÁÖÄÏÇÏ ÕÓÔÒÏÊÓÔ×Á"
+
+#: fdisk/sfdisk.c:2310
+msgid "    -d [or --dump]:      idem, but in a format suitable for later input"
+msgstr ""
+"    -d [ÉÌÉ --dump]:      ÄÁÍÐ, ÎÏ × ÆÏÒÍÁÔÅ, ÐÏÄÈÏÄÑÝÅÍ ÄÌÑ ÄÁÌØÎÅÊÛÅÇÏ "
+"××ÏÄÁ"
+
+#: fdisk/sfdisk.c:2311
+msgid "    -i [or --increment]: number cylinders etc. from 1 instead of from 0"
+msgstr "    -i [ÉÌÉ --increment]: ÞÉÓÌÏ ÃÉÌÉÎÄÒÏ× É Ô.Ä. Ó 1, Á ÎÅ Ó 0"
+
+#: fdisk/sfdisk.c:2312
+msgid ""
+"    -uS, -uB, -uC, -uM:  accept/report in units of sectors/blocks/cylinders/"
+"MB"
+msgstr ""
+"    -uS, -uB, -uC, -uM:   ÐÒÉÅÍ/ÏÔÞÅÔ × ÅÄÉÎÉÃÁÈ ÓÅËÔÏÒÙ/ÂÌÏËÉ/ÃÉÌÉÎÄÒÙ/íâ"
+
+#: fdisk/sfdisk.c:2313
+msgid "    -T [or --list-types]:list the known partition types"
+msgstr "    -T [ÉÌÉ --list-types]:ÓÐÉÓÏË ÉÚ×ÅÓÔÎÙÈ ÔÉÐÏ× ÒÁÚÄÅÌÏ×"
+
+#: fdisk/sfdisk.c:2314
+msgid "    -D [or --DOS]:       for DOS-compatibility: waste a little space"
+msgstr ""
+"    -D [ÉÌÉ --DOS]:       ÄÌÑ DOS-ÓÏ×ÍÅÓÔÉÍÏÓÔÉ: ÒÁÓÈÏÄÕÅÔÓÑ ÎÅÍÎÏÇÏ ÍÅÓÔÁ"
+
+#: fdisk/sfdisk.c:2315
+msgid "    -R [or --re-read]:   make kernel reread partition table"
+msgstr "    -R [ÉÌÉ --re-read]:   ÐÅÒÅÞÉÔÙ×ÁÎÉÅ ÑÄÒÏÍ ÔÁÂÌÉÃÙ ÒÁÚÄÅÌÏ×"
+
+#: fdisk/sfdisk.c:2316
+msgid "    -N# :                change only the partition with number #"
+msgstr "    -N# :                 ÉÚÍÅÎÅÎÉÅ ÔÏÌØËÏ ÒÁÚÄÅÌÁ Ó ÎÏÍÅÒÏÍ #"
+
+#: fdisk/sfdisk.c:2317
+msgid "    -n :                 do not actually write to disk"
+msgstr "    -n :                  ÎÁ ÓÁÍÏÍ ÄÅÌÅ ÎÅ ÚÁÐÉÓÙ×ÁÔØ ÎÁ ÄÉÓË"
+
+#: fdisk/sfdisk.c:2318
+msgid ""
+"    -O file :            save the sectors that will be overwritten to file"
+msgstr ""
+"    -O ÆÁÊÌ :             ÓÏÈÒÁÎÅÎÉÅ × ÆÁÊÌ ÓÅËÔÏÒÏ×, ËÏÔÏÒÙÅ ÂÕÄÕÔ "
+"ÐÅÒÅÚÁÐÉÓÁÎÙ"
+
+#: fdisk/sfdisk.c:2319
+msgid "    -I file :            restore these sectors again"
+msgstr "    -I ÆÁÊÌ :             ×ÏÓÓÔÁÎÏ×ÌÅÎÉÅ ÜÔÉÈ ÓÅËÔÏÒÏ×"
+
+#: fdisk/sfdisk.c:2320
+msgid "    -v [or --version]:   print version"
+msgstr "    -v [ÉÌÉ --version]:   ×Ù×ÏÄ ÎÏÍÅÒÁ ×ÅÒÓÉÉ"
+
+#: fdisk/sfdisk.c:2321
+msgid "    -? [or --help]:      print this message"
+msgstr "    -? [ÉÌÉ --help]:      ×Ù×ÏÄ ÜÔÏÇÏ ÓÏÏÂÝÅÎÉÑ"
+
+#: fdisk/sfdisk.c:2322
+msgid "dangerous options:"
+msgstr "ïÐÁÓÎÙÅ ÏÐÃÉÉ:"
+
+#: fdisk/sfdisk.c:2323
+msgid "    -g [or --show-geometry]: print the kernel's idea of the geometry"
+msgstr "    -g [ÉÌÉ --show-geometry]: ×Ù×ÏÄ ÇÅÏÍÅÔÒÉÉ, ÔÒÁËÔÕÅÍÏÊ ÑÄÒÏÍ"
+
+#: fdisk/sfdisk.c:2324
+msgid ""
+"    -G [or --show-pt-geometry]: print geometry guessed from the partition "
+"table"
+msgstr ""
+"    -G [ÉÌÉ --show-pt-geometry]: ×Ù×ÏÄ ÇÅÏÍÅÔÒÉÉ, ÐÏÌÕÞÅÎÎÏÊ ÉÚ ÔÁÂÌÉÃÙ "
+"ÒÁÚÄÅÌÏ×"
+
+#: fdisk/sfdisk.c:2325
+msgid ""
+"    -x [or --show-extended]: also list extended partitions on output\n"
+"                             or expect descriptors for them on input"
+msgstr ""
+"    -x [ÉÌÉ --show-extended]: ÔÁËÖÅ ×Ù×ÏÄ ÓÐÉÓËÁ ÒÁÓÛÉÒÅÎÎÙÈ ÒÁÚÄÅÌÏ× ÎÁ "
+"×ÙÈÏÄÅ\n"
+"                              ÉÌÉ ÏÖÉÄÁÅÍÙÅ ÄÅÓËÒÉÐÔÏÒÙ ÄÌÑ ÎÉÈ ÎÁ ×ÈÏÄÅ"
+
+#: fdisk/sfdisk.c:2327
+msgid ""
+"    -L  [or --Linux]:      do not complain about things irrelevant for Linux"
+msgstr "    -L  [ÉÌÉ --Linux]:      ÉÇÎÏÒÉÒÏ×ÁÎÉÅ ×ÅÝÅÊ, ÎÅÕÍÅÓÔÎÙÈ ÄÌÑ Linux"
+
+#: fdisk/sfdisk.c:2328
+msgid "    -q  [or --quiet]:      suppress warning messages"
+msgstr "    -q  [ÉÌÉ --quiet]:      ÐÏÄÁ×ÌÅÎÉÅ ÐÒÅÄÕÐÒÅÖÄÁÀÝÉÈ ÓÏÏÂÝÅÎÉÊ"
+
+#: fdisk/sfdisk.c:2329
+msgid "    You can override the detected geometry using:"
+msgstr "÷Ù ÍÏÖÅÔÅ ÐÅÒÅËÒÙÔØ ÏÂÎÁÒÕÖÅÎÎÕÀ ÇÅÏÍÅÔÒÉÀ, ÉÓÐÏÌØÚÕÑ:"
+
+#: fdisk/sfdisk.c:2330
+msgid "    -C# [or --cylinders #]:set the number of cylinders to use"
+msgstr "    -C# [ÉÌÉ --cylinders #]:ÕÓÔÁÎÏ×ËÁ ÞÉÓÌÁ ÉÓÐÏÌØÚÕÅÍÙÈ ÃÉÌÉÎÄÒÏ×"
+
+#: fdisk/sfdisk.c:2331
+msgid "    -H# [or --heads #]:    set the number of heads to use"
+msgstr "    -H# [ÉÌÉ --heads #]:    ÕÓÔÁÎÏ×ËÁ ÞÉÓÌÁ ÉÓÐÏÌØÚÕÅÍÙÈ ÇÏÌÏ×ÏË"
+
+#: fdisk/sfdisk.c:2332
+msgid "    -S# [or --sectors #]:  set the number of sectors to use"
+msgstr "    -S# [ÉÌÉ --sectors #]:  ÕÓÔÁÎÏ×ËÁ ÞÉÓÌÁ ÉÓÐÏÌØÚÕÅÍÙÈ ÓÅËÔÏÒÏ×"
+
+#: fdisk/sfdisk.c:2333
+msgid "You can disable all consistency checking with:"
+msgstr "÷Ù ÍÏÖÅÔÅ ÏÔËÌÀÞÉÔØ ÐÒÏ×ÅÒËÕ ×ÓÅÈ ÐÒÏÔÉ×ÏÒÅÞÉÊ:"
+
+#: fdisk/sfdisk.c:2334
+msgid "    -f  [or --force]:      do what I say, even if it is stupid"
+msgstr ""
+"    -f  [ÉÌÉ --force]:      ×ÙÐÏÌÎÑÔØ ÔÏ, ÞÔÏ Ñ ÓËÁÖÕ, ÄÁÖÅ ÅÓÌÉ ÜÔÏ ÇÌÕÐÏÓÔØ"
+
+#: fdisk/sfdisk.c:2340
+msgid "Usage:"
+msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ:"
+
+#: fdisk/sfdisk.c:2341
+#, c-format
+msgid "%s device\t\t list active partitions on device\n"
+msgstr "%s ÕÓÔÒÏÊÓÔ×Ï\t\t ×Ù×ÏÄÉÔ ÓÐÉÓÏË ÁËÔÉ×ÎÙÈ ÒÁÚÄÅÌÏ× ÕÓÔÒÏÊÓÔ×Á\n"
+
+#: fdisk/sfdisk.c:2342
+#, c-format
+msgid "%s device n1 n2 ... activate partitions n1 ..., inactivate the rest\n"
+msgstr ""
+"%s ÕÓÔÒÏÊÓÔ×Ï n1 n2 ... ÁËÔÉ×ÉÒÕÅÔ ÒÁÚÄÅÌÙ n1 ... É ÄÅÚÁËÔÉ×ÉÒÕÅÔ ÏÓÔÁÌØÎÙÅ\n"
+
+#: fdisk/sfdisk.c:2343
+#, c-format
+msgid "%s -An device\t activate partition n, inactivate the other ones\n"
+msgstr "%s -ÕÓÔÒÏÊÓÔ×Ï \t ÁËÔÉ×ÉÒÕÅÔ ÒÁÚÄÅÌ n, ÄÅÚÁËÔÉ×ÉÒÕÅÔ ÄÒÕÇÉÅ ÒÁÚÄÅÌÙ\n"
+
+#: fdisk/sfdisk.c:2463
+#, 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 ""
+
+#: fdisk/sfdisk.c:2466
+#, fuzzy, c-format
+msgid "Use the --force flag to overrule this check.\n"
+msgstr "éÓÐÏÌØÚÕÊÔÅ ÆÌÁÇ --force ÄÌÑ ÏÔËÌÀÞÅÎÉÑ ×ÓÅÈ ÐÒÏ×ÅÒÏË.\n"
+
+#: fdisk/sfdisk.c:2505
+msgid "no command?\n"
+msgstr "ÎÅÔ ËÏÍÁÎÄÙ?\n"
+
+#: fdisk/sfdisk.c:2637
+#, c-format
+msgid "total: %llu blocks\n"
+msgstr "×ÓÅÇÏ: %llu ÂÌÏËÏ×\n"
+
+#: fdisk/sfdisk.c:2680
+msgid "usage: sfdisk --print-id device partition-number\n"
+msgstr "ÉÓÐÏÌØÚÏ×ÁÎÉÅ: sfdisk --print-id ÕÓÔÒÏÊÓÔ×Ï ÎÏÍÅÒ_ÒÁÚÄÅÌÁ\n"
+
+#: fdisk/sfdisk.c:2682
+msgid "usage: sfdisk --change-id device partition-number Id\n"
+msgstr "ÉÓÐÏÌØÚÏ×ÁÎÉÅ: sfdisk --change-id ÕÓÔÒÏÊÓÔ×Ï ÎÏÍÅÒ_ÒÁÚÄÅÌÁ Id\n"
+
+#: fdisk/sfdisk.c:2684
+msgid "usage: sfdisk --id device partition-number [Id]\n"
+msgstr "ÉÓÐÏÌØÚÏ×ÁÎÉÅ: sfdisk --id ÕÓÔÒÏÊÓÔ×Ï ÎÏÍÅÒ_ÒÁÚÄÅÌÁ [Id]\n"
+
+#: fdisk/sfdisk.c:2691
+msgid "can specify only one device (except with -l or -s)\n"
+msgstr "ÍÏÖÎÏ ÕËÁÚÁÔØ ÔÏÌØËÏ ÏÄÎÏ ÕÓÔÒÏÊÓÔ×Ï (ËÒÏÍÅ ÔÅÈ, ÞÔÏ Ó  -l ÉÌÉ -s)\n"
+
+#: fdisk/sfdisk.c:2717
+#, c-format
+msgid "cannot open %s read-write\n"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ %s ÄÌÑ ÞÔÅÎÉÑ-ÚÁÐÉÓÉ\n"
+
+#: fdisk/sfdisk.c:2719
+#, c-format
+msgid "cannot open %s for reading\n"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ %s ÄÌÑ ÞÔÅÎÉÑ\n"
+
+#: fdisk/sfdisk.c:2744
+#, c-format
+msgid "%s: OK\n"
+msgstr "%s: ïë\n"
+
+#: fdisk/sfdisk.c:2763 fdisk/sfdisk.c:2796
+#, c-format
+msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+msgstr "%s: %ld ÃÉÌÉÎÄÒÏ×, %ld ÇÏÌÏ×ÏË, %ld ÓÅËÔÏÒÏ×/ÄÏÒÏÖËÕ\n"
+
+#: fdisk/sfdisk.c:2815
+#, c-format
+msgid "Cannot get size of %s\n"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÐÏÌÕÞÉÔØ ÒÁÚÍÅÒ %s\n"
+
+#: fdisk/sfdisk.c:2895
+#, c-format
+msgid "bad active byte: 0x%x instead of 0x80\n"
+msgstr "ÎÅ×ÅÒÎÙÊ active-ÂÁÊÔ: 0x%x ×ÍÅÓÔÏ 0x80\n"
+
+#: fdisk/sfdisk.c:2913 fdisk/sfdisk.c:2968 fdisk/sfdisk.c:3001
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+"çÏÔÏ×Ï\n"
+"\n"
+
+#: fdisk/sfdisk.c:2922
+#, 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"
+
+#: fdisk/sfdisk.c:2938
+#, c-format
+msgid "partition %s has id %x and is not hidden\n"
+msgstr "ÒÁÚÄÅÌ %s ÉÍÅÅÔ id %x É ÎÅ Ñ×ÌÑÅÔÓÑ ÓËÒÙÔÙÍ\n"
+
+#: fdisk/sfdisk.c:2997
+#, c-format
+msgid "Bad Id %lx\n"
+msgstr "îÅ×ÅÒÎÙÊ Id %lx\n"
+
+#: fdisk/sfdisk.c:3014
+msgid "This disk is currently in use.\n"
+msgstr "üÔÏÔ ÄÉÓË ÓÅÊÞÁÓ ÉÓÐÏÌØÚÕÅÔÓÑ.\n"
+
+#: fdisk/sfdisk.c:3033
+#, c-format
+msgid "Fatal error: cannot find %s\n"
+msgstr "îÅÉÓÐÒÁ×ÉÍÁÑ ÏÛÉÂËÁ: ÎÅ×ÏÚÍÏÖÎÏ ÎÁÊÔÉ %s\n"
+
+#: fdisk/sfdisk.c:3036
+#, c-format
+msgid "Warning: %s is not a block device\n"
+msgstr "ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: %s ÎÅ Ñ×ÌÑÅÔÓÑ ÂÌÏÞÎÙÍ ÕÓÔÒÏÊÓÔ×ÏÍ\n"
+
+#: fdisk/sfdisk.c:3042
+msgid "Checking that no-one is using this disk right now ...\n"
+msgstr "ðÒÏ×ÅÒÑÅÔÓÑ, ÞÔÏÂÙ ÓÅÊÞÁÓ ÎÉËÔÏ ÎÅ ÉÓÐÏÌØÚÏ×ÁÌ ÜÔÏÔ ÄÉÓË...\n"
+
+#: fdisk/sfdisk.c:3044
+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"
+
+#: fdisk/sfdisk.c:3048
+msgid "Use the --force flag to overrule all checks.\n"
+msgstr "éÓÐÏÌØÚÕÊÔÅ ÆÌÁÇ --force ÄÌÑ ÏÔËÌÀÞÅÎÉÑ ×ÓÅÈ ÐÒÏ×ÅÒÏË.\n"
+
+#: fdisk/sfdisk.c:3052
+msgid "OK\n"
+msgstr "ïë\n"
+
+#: fdisk/sfdisk.c:3061
+#, c-format
+msgid "Old situation:\n"
+msgstr "óÔÁÒÁÑ ÓÉÔÕÁÃÉÑ:\n"
+
+#: fdisk/sfdisk.c:3065
+#, c-format
+msgid "Partition %d does not exist, cannot change it\n"
+msgstr "òÁÚÄÅÌ %d ÎÅ ÓÕÝÅÓÔ×ÕÅÔ, ÎÅ×ÏÚÍÏÖÎÏ ÉÚÍÅÎÉÔØ ÅÇÏ\n"
+
+#: fdisk/sfdisk.c:3073
+#, c-format
+msgid "New situation:\n"
+msgstr "îÏ×ÁÑ ÓÉÔÕÁÃÉÑ:\n"
+
+#: fdisk/sfdisk.c:3078
+msgid ""
+"I don't like these partitions - nothing changed.\n"
+"(If you really want this, use the --force option.)\n"
+msgstr ""
+"îÅ ÎÒÁ×ÑÔÓÑ ÍÎÅ ÜÔÉ ÒÁÚÄÅÌÙ - ÎÉÞÅÇÏ ÎÅ ÉÚÍÅÎÅÎÏ.\n"
+"(åÓÌÉ ×Ù ÄÅÊÓÔ×ÉÔÅÌØÎÏ ÈÏÔÉÔÅ ÜÔÏÇÏ, ÉÓÐÏÌØÚÕÊÔÅ ÏÐÃÉÀ --force.)\n"
+
+#: fdisk/sfdisk.c:3081
+msgid "I don't like this - probably you should answer No\n"
+msgstr "îÅ ÎÒÁ×ÉÔÓÑ ÍÎÅ ÜÔÏ - ×ÏÚÍÏÖÎÏ, ×ÁÍ ÓÌÅÄÕÅÔ ÏÔ×ÅÔÉÔØ îÅÔ\n"
+
+#: fdisk/sfdisk.c:3086
+#, c-format
+msgid "Are you satisfied with this? [ynq] "
+msgstr "÷ÁÓ ÕÓÔÒÁÉ×ÁÅÔ ÔÁËÏÊ ×ÁÒÉÁÎÔ? [ÄÎ×] "
+
+#: fdisk/sfdisk.c:3088
+#, c-format
+msgid "Do you want to write this to disk? [ynq] "
+msgstr "÷Ù ÈÏÔÉÔÅ ÚÁÐÉÓÁÔØ ÜÔÏ ÎÁ ÄÉÓË? [ÄÎ×] "
+
+#: fdisk/sfdisk.c:3093
+#, c-format
+msgid ""
+"\n"
+"sfdisk: premature end of input\n"
+msgstr ""
+"\n"
+"sfdisk: ÐÒÅÖÄÅ×ÒÅÍÅÎÎÏÅ ÏËÏÎÞÁÎÉÅ ××ÏÄÁ\n"
+
+#: fdisk/sfdisk.c:3095
+msgid "Quitting - nothing changed\n"
+msgstr "úÁ×ÅÒÛÅÎÉÅ ÒÁÂÏÔÙ - ÎÉÞÅÇÏ ÎÅ ÉÚÍÅÎÅÎÏ\n"
+
+#: fdisk/sfdisk.c:3101
+#, c-format
+msgid "Please answer one of y,n,q\n"
+msgstr "ðÏÖÁÌÕÊÓÔÁ, ÏÔ×ÅÔØÔÅ Ä, Î ÉÌÉ ×\n"
+
+#: fdisk/sfdisk.c:3109
+#, c-format
+msgid ""
+"Successfully wrote the new partition table\n"
+"\n"
+msgstr ""
+"îÏ×ÁÑ ÔÁÂÌÉÃÁ ÒÁÚÄÅÌÏ× ÕÓÐÅÛÎÏ ÚÁÐÉÓÁÎÁ\n"
+"\n"
+
+#: fdisk/sfdisk.c:3115
+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"
+
+#: fsck/fsck.c:327
+#, fuzzy, c-format
+msgid "WARNING: couldn't open %s: %s\n"
+msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ %s: %s\n"
+
+#: fsck/fsck.c:337
+#, c-format
+msgid "WARNING: bad format on line %d of %s\n"
+msgstr ""
+
+#: fsck/fsck.c:353
+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 ""
+
+#: fsck/fsck.c:461
+#, fuzzy, c-format
+msgid "fsck: %s: not found\n"
+msgstr "umount: %s: ÎÅ ÎÁÊÄÅÎ"
+
+#: fsck/fsck.c:577
+#, c-format
+msgid "%s: wait: No more child process?!?\n"
+msgstr ""
+
+#: fsck/fsck.c:599
+#, c-format
+msgid "Warning... %s for device %s exited with signal %d.\n"
+msgstr ""
+
+#: fsck/fsck.c:605
+#, c-format
+msgid "%s %s: status is %x, should never happen.\n"
+msgstr ""
+
+#: fsck/fsck.c:644
+#, c-format
+msgid "Finished with %s (exit status %d)\n"
+msgstr ""
+
+#: fsck/fsck.c:704
+#, fuzzy, c-format
+msgid "%s: Error %d while executing fsck.%s for %s\n"
+msgstr "%s: ÏÛÉÂËÁ %d ÐÒÉ ÒÁÓÐÁËÏ×ËÅ! %p(%d)\n"
+
+#: fsck/fsck.c:725
+msgid ""
+"Either all or none of the filesystem types passed to -t must be prefixed\n"
+"with 'no' or '!'.\n"
+msgstr ""
+
+#: fsck/fsck.c:744
+#, fuzzy
+msgid "Couldn't allocate memory for filesystem types\n"
+msgstr "mount: ×Ù ÄÏÌÖÎÙ ÕËÁÚÁÔØ ÔÉРÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÙ"
+
+#: fsck/fsck.c:867
+#, c-format
+msgid ""
+"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass "
+"number\n"
+msgstr ""
+
+#: fsck/fsck.c:894
+#, c-format
+msgid "fsck: cannot check %s: fsck.%s not found\n"
+msgstr ""
+
+#: fsck/fsck.c:950
+#, fuzzy
+msgid "Checking all file systems.\n"
+msgstr "úÁÐÕÓËÁÅÔÓÑ ÐÒÏ×ÅÒËÁ ÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÙ ÎÁ %s.\n"
+
+#: fsck/fsck.c:1041
+#, c-format
+msgid "--waiting-- (pass %d)\n"
+msgstr ""
+
+#: fsck/fsck.c:1061
+#, fuzzy
+msgid ""
+"Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]\n"
+msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: mkfs [-V] [-t ÔÉÐ_ÆÓ] [ÏÐÃÉÉ_ÆÓ] ÕÓÔÒÏÊÓÔ×Ï [ÒÁÚÍÅÒ]\n"
+
+#: fsck/fsck.c:1099
+#, fuzzy, c-format
+msgid "%s: too many devices\n"
+msgstr "%s: %s ÎÅ lp-ÕÓÔÒÏÊÓÔ×Ï.\n"
+
+#: fsck/fsck.c:1110
+#, fuzzy, c-format
+msgid "Couldn't open %s: %s\n"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ %s: %s\n"
+
+#: fsck/fsck.c:1112
+#, fuzzy, c-format
+msgid "Is /proc mounted?\n"
+msgstr "%s ÒÁÚÍÏÎÔÉÒÏ×ÁÎ\n"
+
+#: fsck/fsck.c:1121
+#, c-format
+msgid "Must be root to scan for matching filesystems: %s\n"
+msgstr ""
+
+#: fsck/fsck.c:1124
+#, fuzzy, c-format
+msgid "Couldn't find matching filesystem: %s\n"
+msgstr "òÁÚÍÏÎÔÉÒÕÀÔÓÑ ×ÓÅ ÏÓÔÁ×ÛÉÅÓÑ ÆÁÊÌÏ×ÙÅ ÓÉÓÔÅÍÙ..."
+
+#: fsck/fsck.c:1132 fsck/fsck.c:1218
+#, fuzzy, c-format
+msgid "%s: too many arguments\n"
+msgstr "%s: ÎÅÉÚ×ÅÓÔÎÙÊ ÁÒÇÕÍÅÎÔ: %s\n"
+
+#: fsck/fsck.c:1252
+#, fuzzy, c-format
+msgid "fsck from %s\n"
+msgstr "%s ÉÚ %s\n"
+
+#: fsck/fsck.c:1264
+#, fuzzy, c-format
+msgid "%s: Unable to allocate memory for fsck_path\n"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÒÁÚÍÅÓÔÉÔØ ÂÕÆÅÒ ÄÌÑ inode'Ï×"
+
+#: getopt/getopt.c:229
+msgid "Try `getopt --help' for more information.\n"
+msgstr "ðÏÐÒÏÂÕÊÔÅ `getopt --help' ÄÌÑ ÐÏÌÕÞÅÎÉÑ ÄÏÐÏÌÎÉÔÅÌØÎÏÊ ÉÎÆÏÒÍÁÃÉÉ.\n"
+
+#: getopt/getopt.c:295
+msgid "empty long option after -l or --long argument"
+msgstr "ÐÕÓÔÁÑ ÏÐÃÉÑ long ÐÏÓÌÅ ÁÒÇÕÍÅÎÔÁ -l ÉÌÉ --long"
+
+#: getopt/getopt.c:315
+msgid "unknown shell after -s or --shell argument"
+msgstr "ÎÅÉÚ×ÅÓÔÎÙÊ ÛÅÌÌ ÐÏÓÌÅ ÁÒÇÕÍÅÎÔÁ -s ÉÌÉ --shell"
+
+#: getopt/getopt.c:320
+msgid "Usage: getopt optstring parameters\n"
+msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: getopt ÓÔÒÏËÁ_ÏÐÃÉÊ ÐÁÒÁÍÅÔÒÙ\n"
+
+#: getopt/getopt.c:321
+msgid "       getopt [options] [--] optstring parameters\n"
+msgstr "       getopt [ÏÐÃÉÉ] [--] ÓÔÒÏËÁ_ÏÐÃÉÊ ÐÁÒÁÍÅÔÒÙ\n"
+
+#: getopt/getopt.c:322
+msgid "       getopt [options] -o|--options optstring [options] [--]\n"
+msgstr "       getopt [ÏÐÃÉÉ] -o|--options ÓÔÒÏËÁ_ÏÐÃÉÊ [ÏÐÃÉÉ] [--]\n"
+
+#: getopt/getopt.c:323
+msgid "              parameters\n"
+msgstr "              ÐÁÒÁÍÅÔÒÙ\n"
+
+#: getopt/getopt.c:324
+msgid ""
+"  -a, --alternative            Allow long options starting with single -\n"
+msgstr ""
+"  -a, --alternative            òÁÚÒÅÛÅÎÉÅ ÄÌÉÎÎÙÈ ÏÐÃÉÊ, ÎÁÞÉÎÁÀÝÉÈÓÑ Ó "
+"ÏÄÎÏÇÏ -\n"
+
+#: getopt/getopt.c:325
+msgid "  -h, --help                   This small usage guide\n"
+msgstr ""
+"  -h, --help                   üÔÏ ÎÅÂÏÌØÛÏÅ ÒÕËÏ×ÏÄÓÔ×Ï ÐÏ ÉÓÐÏÌØÚÏ×ÁÎÉÀ\n"
+
+#: getopt/getopt.c:326
+msgid "  -l, --longoptions=longopts   Long options to be recognized\n"
+msgstr "  -l, --longoptions=longopts   äÌÉÎÎÙÅ ÏÐÃÉÉ ÄÌÑ ÒÁÓÐÏÚÎÁ×ÁÎÉÑ\n"
+
+#: getopt/getopt.c:327
+msgid ""
+"  -n, --name=progname          The name under which errors are reported\n"
+msgstr ""
+"  -n, --name=ÉÍÑ_ÐÒÏÇÒÁÍÍÙ     éÍÑ, ÏÔ ËÏÔÏÒÏÇÏ ×ÅÄÅÔÓÑ ÏÔÞÅÔ Ï ÏÛÉÂËÁÈ\n"
+
+#: getopt/getopt.c:328
+msgid "  -o, --options=optstring      Short options to be recognized\n"
+msgstr "  -o, --options=ÓÔÒÏËÁ_ÏÐÃÉÊ   ëÏÒÏÔËÉÅ ÏÐÃÉÉ ÄÌÑ ÒÁÓÐÏÚÎÁ×ÁÎÉÑ\n"
+
+#: getopt/getopt.c:329
+msgid "  -q, --quiet                  Disable error reporting by getopt(3)\n"
+msgstr ""
+"  -q, --quiet                  ïÔËÌÀÞÅÎÉÅ ÏÔÞÅÔÁ Ï ÏÛÉÂËÁÈ getopt(3)\n"
+
+#: getopt/getopt.c:330
+msgid "  -Q, --quiet-output           No normal output\n"
+msgstr "  -Q, --quiet-output           âÅÚ ÏÂÙÞÎÙÈ ×ÙÈÏÄÎÙÈ ÄÁÎÎÙÈ\n"
+
+#: getopt/getopt.c:331
+msgid "  -s, --shell=shell            Set shell quoting conventions\n"
+msgstr ""
+"  -s, --shell=ÛÅÌÌ             õÓÔÁÎÏ×ËÁ ÕÓÌÏ×ÉÊ ÚÁËÌ. × ËÁ×ÙÞËÉ ÄÌÑ ÛÅÌÌÁ\n"
+
+#: getopt/getopt.c:332
+msgid "  -T, --test                   Test for getopt(1) version\n"
+msgstr "  -T, --test                   ðÒÏ×ÅÒËÁ ×ÅÒÓÉÉ getopt(1)\n"
+
+#: getopt/getopt.c:333
+msgid "  -u, --unqote                 Do not quote the output\n"
+msgstr ""
+"  -u, --unqote                 îÅ ÚÁËÌÀÞÁÔØ × ËÁ×ÙÞËÉ ×ÙÈÏÄÎÙÅ ÄÁÎÎÙÅ\n"
+
+#: getopt/getopt.c:334
+msgid "  -V, --version                Output version information\n"
+msgstr "  -V, --version                ÷Ù×ÏÄ ÉÎÆÏÒÍÁÃÉÉ Ï ×ÅÒÓÉÉ\n"
+
+#: getopt/getopt.c:388 getopt/getopt.c:447
+msgid "missing optstring argument"
+msgstr "ÏÔÓÕÔÓÔ×ÕÅÔ ÁÒÇÕÍÅÎÔ ÓÔÒÏËÉ ÏÐÃÉÊ"
+
+#: getopt/getopt.c:435
+#, c-format
+msgid "getopt (enhanced) 1.1.4\n"
+msgstr "getopt (ÕÓÏ×ÅÒÛÅÎÓÔ×Ï×ÁÎÎÙÊ) 1.1.4\n"
+
+#: getopt/getopt.c:441
+msgid "internal error, contact the author."
+msgstr "×ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ, Ó×ÑÖÉÔÅÓØ Ó Á×ÔÏÒÏÍ."
+
+#: hwclock/cmos.c:176
+#, c-format
+msgid "booted from MILO\n"
+msgstr "ÚÁÇÒÕÖÅΠÉÚ MILO\n"
+
+#: hwclock/cmos.c:185
+#, c-format
+msgid "Ruffian BCD clock\n"
+msgstr "Ruffian BCD-ÞÁÓÙ\n"
+
+#: hwclock/cmos.c:201
+#, c-format
+msgid "clockport adjusted to 0x%x\n"
+msgstr "ÐÏÒÔ ÞÁÓÏ× ×ÙÓÔÁ×ÌÅΠÎÁ 0x%x\n"
+
+#: hwclock/cmos.c:213
+#, c-format
+msgid "funky TOY!\n"
+msgstr "ËÌÁÓÓÎÁÑ éçòõûëá!\n"
+
+#: hwclock/cmos.c:244
+#, c-format
+msgid "%s: atomic %s failed for 1000 iterations!"
+msgstr "%s: ÁÔÏÍÎÙÊ %s ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ ÄÌÑ 1000 ÉÔÅÒÁÃÉÊ!"
+
+#: hwclock/cmos.c:273
+#, c-format
+msgid "cmos_read(): write to control address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:276
+#, c-format
+msgid "cmos_read(): read data address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:307
+#, c-format
+msgid "cmos_write(): write to control address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:311
+#, c-format
+msgid "cmos_write(): write to data address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:574
+#, c-format
+msgid "Cannot open /dev/port: %s"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ /dev/port: %s"
+
+#: hwclock/cmos.c:581
+#, c-format
+msgid "I failed to get permission because I didn't try.\n"
+msgstr ""
+"îÅ×ÏÚÍÏÖÎÏ ÂÙÌÏ ÐÏÌÕÞÉÔØ ÒÁÚÒÅÛÅÎÉÅ, ÐÏÔÏÍÕ ÎÅ ÂÙÌÁ ×ÙÐÏÌÎÅÎÁ ÐÏÐÙÔËÁ.\n"
+
+#: hwclock/cmos.c:584
+#, c-format
+msgid "%s is unable to get I/O port access:  the iopl(3) call failed.\n"
+msgstr ""
+"%s ÎÅ×ÏÚÍÏÖÎÏ ÐÏÌÕÞÉÔØ ÄÏÓÔÕРˠÐÏÒÔÕ I/O:  ×ÙÚÏ× iopl(3) ÚÁ×ÅÒÛÉÌÓÑ "
+"ÎÅÕÄÁÞÅÊ.\n"
+
+#: hwclock/cmos.c:587
+#, c-format
+msgid "Probably you need root privileges.\n"
+msgstr "÷ÏÚÍÏÖÎÏ, ×ÁÍ ÎÕÖÎÙ ÐÒÉ×ÉÌÅÇÉÉ root'Á.\n"
+
+#: hwclock/hwclock.c:231
+#, c-format
+msgid "Assuming hardware clock is kept in %s time.\n"
+msgstr "ðÏÄÒÁÚÕÍÅ×ÁÅÔÓÑ, ÞÔÏ ÁÐÐÁÒÁÔÎÙÅ ÞÁÓÙ ×ÙÓÔÁ×ÌÅÎÙ ÐÏ %s ×ÒÅÍÅÎÉ.\n"
+
+#: hwclock/hwclock.c:232 hwclock/hwclock.c:327
+msgid "UTC"
+msgstr "UTC"
+
+#: hwclock/hwclock.c:232 hwclock/hwclock.c:326
+msgid "local"
+msgstr "ÍÅÓÔÎÏÍÕ"
+
+#: hwclock/hwclock.c:312
+#, c-format
+msgid "%s: Warning: unrecognized third line in adjtime file\n"
+msgstr "%s: ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÎÅÒÁÓÐÏÚÎÁÎÎÁÑ ÔÒÅÔØÑ ÓÔÒÏËÁ × ÆÁÊÌÅ adjtime\n"
+
+#: hwclock/hwclock.c:314
+#, c-format
+msgid "(Expected: `UTC' or `LOCAL' or nothing.)\n"
+msgstr "(ïÖÉÄÁÌÏÓØ: `UTC' ÉÌÉ `LOCAL' ÉÌÉ ÎÉÞÅÇÏ.)\n"
+
+#: hwclock/hwclock.c:321
+#, c-format
+msgid "Last drift adjustment done at %ld seconds after 1969\n"
+msgstr "äÁÔÁ ÐÏÓÌÅÄÎÅÊ ËÏÒÒÅËÔÉÒÏ×ËÉ ÏÔËÌÏÎÅÎÉÑ - %ld ÓÅËÕÎÄ ÐÏÓÌÅ 1969\n"
+
+#: hwclock/hwclock.c:323
+#, c-format
+msgid "Last calibration done at %ld seconds after 1969\n"
+msgstr "äÁÔÁ ÐÏÓÌÅÄÎÅÊ ËÁÌÉÂÒÏ×ËÉ - %ld ÓÅËÕÎÄ ÐÏÓÌÅ 1969\n"
+
+#: hwclock/hwclock.c:325
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr "áÐÐÁÒÁÔÎÙÅ ÞÁÓÙ ×ÙÓÔÁ×ÌÅÎÙ ÐÏ %s ×ÒÅÍÅÎÉ\n"
+
+#: hwclock/hwclock.c:327
+msgid "unknown"
+msgstr "ÎÅÉÚ×ÅÓÔÎÙÊ"
+
+#: hwclock/hwclock.c:351
+#, c-format
+msgid "Waiting for clock tick...\n"
+msgstr "ïÖÉÄÁÅÔÓÑ ÔÉËÁÎØÅ ÞÁÓÏ×...\n"
+
+#: hwclock/hwclock.c:357
+#, c-format
+msgid "...synchronization failed\n"
+msgstr ""
+
+#: hwclock/hwclock.c:359
+#, c-format
+msgid "...got clock tick\n"
+msgstr "...ÐÏÌÕÞÅÎÏ ÔÉËÁÎØÅ ÞÁÓÏ×\n"
+
+#: hwclock/hwclock.c:413
+#, c-format
+msgid "Invalid values in hardware clock: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+msgstr "îÅ×ÅÒÎÙÅ ÚÎÁÞÅÎÉÑ × ÁÐÐÁÒÁÔÎÙÈ ÞÁÓÁÈ: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+
+#: hwclock/hwclock.c:421
+#, 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"
+
+#: hwclock/hwclock.c:451
+#, c-format
+msgid "Time read from Hardware Clock: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+msgstr "÷ÒÅÍÑ, ÐÒÏÞÉÔÁÎÎÏÅ Ó ÁÐÐÁÒÁÔÎÙÈ ÞÁÓÏ×: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+
+#: hwclock/hwclock.c:480
+#, c-format
+msgid "Setting Hardware Clock to %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr "áÐÐÁÒÁÔÎÙÅ ÞÁÓÙ ÕÓÔÁÎÁ×ÌÉ×ÁÀÔÓÑ × %.2d:%.2d:%.2d = %ld ÓÅËÕÎÄ Ó 1969\n"
+
+#: hwclock/hwclock.c:486
+#, c-format
+msgid "Clock not changed - testing only.\n"
+msgstr "þÁÓÙ ÎÅ ÉÚÍÅÎÅÎÙ - ÔÏÌØËÏ ÔÅÓÔÉÒÏ×ÁÎÉÅ.\n"
+
+#: hwclock/hwclock.c:536
+#, 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"
+
+#: hwclock/hwclock.c:572
+#, c-format
+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).\n"
+msgstr ""
+"òÅÇÉÓÔÒÙ ÁÐÐÁÒÁÔÎÙÈ ÞÁÓÏ× ÓÏÄÅÒÖÁÔ ÚÎÁÞÅÎÉÑ, ËÏÔÏÒÙÅ ÌÉÂÏ ÎÅ×ÅÒÎÙ (ÎÁÐÒ., 50-"
+"Ê ÄÅÎØ ÍÅÓÑÃÁ), ÌÉÂÏ ÎÁÈÏÄÑÔÓÑ ÚÁ ÐÒÅÄÅÌÁÍÉ ÜÆÆÅËÔÉ×ÎÏÇÏ ÄÉÁÐÁÚÏÎÁ (ÎÁÐÒ, "
+"2095 ÇÏÄ).\n"
+
+#: hwclock/hwclock.c:582
+#, c-format
+msgid "%s  %.6f seconds\n"
+msgstr "%s  %.6f ÓÅËÕÎÄ\n"
+
+#: hwclock/hwclock.c:616
+#, c-format
+msgid "No --date option specified.\n"
+msgstr "îÅ ÕËÁÚÁÎÁ ÏÐÃÉÑ --date.\n"
+
+#: hwclock/hwclock.c:622
+#, c-format
+msgid "--date argument too long\n"
+msgstr "áÒÇÕÍÅÎÔ --date ÓÌÉÛËÏÍ ÄÌÉÎÎÙÊ\n"
+
+#: hwclock/hwclock.c:629
+#, c-format
+msgid ""
+"The value of the --date option is not a valid date.\n"
+"In particular, it contains quotation marks.\n"
+msgstr ""
+"úÎÁÞÅÎÉÅ ÏÐÃÉÉ --date ÎÅ Ñ×ÌÑÅÔÓÑ ×ÅÒÎÏÊ ÄÁÔÏÊ.\n"
+"÷ ÞÁÓÔÎÏÓÔÉ, ÏÎÏ ÓÏÄÅÒÖÉÔ ËÁ×ÙÞËÉ.\n"
+
+#: hwclock/hwclock.c:637
+#, c-format
+msgid "Issuing date command: %s\n"
+msgstr "ðÏÄÁÅÔÓÑ ËÏÍÁÎÄÙ ÄÁÔÙ: %s\n"
+
+#: hwclock/hwclock.c:641
+msgid "Unable to run 'date' program in /bin/sh shell. popen() failed"
+msgstr ""
+"îÅ×ÏÚÍÏÖÎÏ ÚÁÐÕÓÔÉÔØ ÐÒÏÇÒÁÍÍÕ 'date' × ÛÅÌÌÅ /bin/sh. popen() ÚÁ×ÅÒÛÉÌÓÑ "
+"ÎÅÕÄÁÞÅÊ"
+
+#: hwclock/hwclock.c:649
+#, c-format
+msgid "response from date command = %s\n"
+msgstr "ÏÔ×ÅÔ ËÏÍÁÎÄÙ date = %s\n"
+
+#: hwclock/hwclock.c:651
+#, c-format
+msgid ""
+"The date command issued by %s returned unexpected results.\n"
+"The command was:\n"
+"  %s\n"
+"The response was:\n"
+"  %s\n"
+msgstr ""
+"ëÏÍÁÎÄÁ date, ×ÙÚ×ÁÎÎÁÑ %s, ×ÏÚ×ÒÁÔÉÌÁ ÎÅÏÖÉÄÁÎÎÙÅ ÒÅÚÕÌØÔÁÔÙ.\n"
+"ëÏÍÁÎÄÁ ÂÙÌÁ:\n"
+"  %s\n"
+"ïÔ×ÅÔ ÂÙÌ:\n"
+"  %s\n"
+
+#: hwclock/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"
+
+#: hwclock/hwclock.c:674
+#, c-format
+msgid "date string %s equates to %ld seconds since 1969.\n"
+msgstr "ÓÔÒÏËÁ ÄÁÔÙ %s ÒÁ×ÎÑÅÔÓÑ %ld ÓÅËÕÎÄÁÍ Ó 1969.\n"
+
+#: hwclock/hwclock.c:706
+#, c-format
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot set the "
+"System Time from it.\n"
+msgstr ""
+"áÐÐÁÒÁÔÎÙÅ ÞÁÓÙ ÎÅ ÓÏÄÅÒÖÁÔ ×ÅÒÎÏÇÏ ×ÒÅÍÅÎÉ, ÐÏÜÔÏÍÕ Ó ÎÉÈ ÎÅ×ÏÚÍÏÖÎÏ "
+"ÕÓÔÁÎÏ×ÉÔØ ÓÉÓÔÅÍÎÏÅ ×ÒÅÍÑ.\n"
+
+#: hwclock/hwclock.c:728 hwclock/hwclock.c:805
+#, c-format
+msgid "Calling settimeofday:\n"
+msgstr "÷ÙÚÙ×ÁÅÔÓÑ settimeofday:\n"
+
+#: hwclock/hwclock.c:729 hwclock/hwclock.c:807
+#, c-format
+msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+
+#: hwclock/hwclock.c:731 hwclock/hwclock.c:809
+#, c-format
+msgid "\ttz.tz_minuteswest = %d\n"
+msgstr "\ttz.tz_minuteswest = %d\n"
+
+#: hwclock/hwclock.c:734 hwclock/hwclock.c:812
+#, c-format
+msgid "Not setting system clock because running in test mode.\n"
+msgstr "óÉÓÔÅÍÎÙÅ ÞÁÓÙ ÎÅ ÕÓÔÁÎÏ×ÌÅÎÙ, ÐÏÔÏÍÕ ÞÔÏ ÚÁÐÕÓË × ÔÅÓÔÏ×ÏÍ ÒÅÖÉÍÅ.\n"
+
+#: hwclock/hwclock.c:743 hwclock/hwclock.c:821
+#, c-format
+msgid "Must be superuser to set system clock.\n"
+msgstr "äÌÑ ÕÓÔÁÎÏ×ËÉ ÓÉÓÔÅÍÎÙÈ ÞÁÓÏ× ÎÕÖÎÙ ÐÒÁ×Á ÓÕÐÅÒÐÏÌØÚÏ×ÁÔÅÌÑ.\n"
+
+#: hwclock/hwclock.c:746 hwclock/hwclock.c:824
+msgid "settimeofday() failed"
+msgstr "settimeofday() ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ"
+
+#: hwclock/hwclock.c:782
+#, c-format
+msgid "Current system time: %ld = %s\n"
+msgstr ""
+
+#: hwclock/hwclock.c:806
+#, c-format
+msgid "\tUTC: %s\n"
+msgstr ""
+
+#: hwclock/hwclock.c:853
+#, c-format
+msgid ""
+"Not adjusting drift factor because the Hardware Clock previously contained "
+"garbage.\n"
+msgstr ""
+"ëÏÒÒÅËÔÉÒÏ×ËÁ ËÏÜÆÆÉÃÉÅÎÔÁ ÏÔËÌÏÎÅÎÉÑ ÎÅ ×ÙÐÏÌÎÅÎÁ, ÐÏÔÏÍÕ ÞÔÏ ÁÐÐÁÒÁÔÎÙÅ "
+"ÞÁÓÙ ÒÁÎÅÅ ÓÏÄÅÒÖÁÌÉ ÍÕÓÏÒ.\n"
+
+#: hwclock/hwclock.c:858
+#, 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"
+
+#: hwclock/hwclock.c:864
+#, c-format
+msgid ""
+"Not adjusting drift factor because it has been less than a day since the "
+"last calibration.\n"
+msgstr ""
+"ëÏÒÒÅËÔÉÒÏ×ËÁ ËÏÜÆÆÉÃÉÅÎÔÁ ÏÔËÌÏÎÅÎÉÑ ÎÅ ×ÙÐÏÌÎÅÎÁ, ÐÏÔÏÍÕ ÞÔÏ ÓÏ ×ÒÅÍÅÎÉ "
+"ÐÏÓÌÅÄÎÅÊ ËÁÌÉÂÒÏ×ËÉ ÐÒÏÛÌÏ ÍÅÎÅÅ ÄÎÑ.\n"
+
+#: hwclock/hwclock.c:912
+#, 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"
+
+#: hwclock/hwclock.c:962
+#, c-format
+msgid "Time since last adjustment is %d seconds\n"
+msgstr "÷ÒÅÍÑ ÐÏÓÌÅ ÐÏÓÌÅÄÎÅÊ ËÏÒÒÅËÔÉÒÏ×ËÉ ÓÏÓÔÁ×ÌÑÅÔ %d ÓÅËÕÎÄ\n"
+
+#: hwclock/hwclock.c:964
+#, c-format
+msgid "Need to insert %d seconds and refer time back %.6f seconds ago\n"
+msgstr "îÅÏÂÈÏÄÉÍÏ ÄÏÂÁ×ÉÔØ %d ÓÅËÕÎÄ É ÐÅÒÅ×ÅÓÔÉ ÞÁÓÙ ÎÁ %.6f ÓÅËÕÎÄ ÎÁÚÁÄ\n"
+
+#: hwclock/hwclock.c:993
+#, c-format
+msgid "Not updating adjtime file because of testing mode.\n"
+msgstr "æÁÊÌ adjtime ÎÅ ÏÂÎÏ×ÌÑÅÔÓÑ, ÐÏÔÏÍÕ ÞÔÏ ×ËÌÀÞÅΠÒÅÖÉÍ ÔÅÓÔÉÒÏ×ÁÎÉÑ.\n"
+
+#: hwclock/hwclock.c:994
+#, c-format
+msgid ""
+"Would have written the following to %s:\n"
+"%s"
+msgstr ""
+"óÌÅÄÕÀÝÅÅ ÂÕÄÅÔ ÚÁÐÉÓÁÎÏ × %s:\n"
+"%s"
+
+#: hwclock/hwclock.c:1002
+#, c-format
+msgid ""
+"Could not open file with the clock adjustment parameters in it (%s) for "
+"writing"
+msgstr ""
+
+#: hwclock/hwclock.c:1007 hwclock/hwclock.c:1012
+#, c-format
+msgid "Could not update file with the clock adjustment parameters (%s) in it"
+msgstr ""
+
+#: hwclock/hwclock.c:1018
+#, c-format
+msgid "Drift adjustment parameters not updated.\n"
+msgstr "ðÁÒÁÍÅÔÒÙ ËÏÒÒÅËÔÉÒÏ×ËÉ ÏÔËÌÏÎÅÎÉÑ ÎÅ ÏÂÎÏ×ÌÅÎÙ.\n"
+
+#: hwclock/hwclock.c:1059
+#, c-format
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot adjust it.\n"
+msgstr ""
+"áÐÐÁÒÁÔÎÙÅ ÞÁÓÙ ÎÅ ÓÏÄÅÒÖÁÔ ×ÅÒÎÏÇÏ ×ÒÅÍÅÎÉ, ÐÏÜÔÏÍÕ ÏÔËÏÒÒÅËÔÉÒÏ×ÁÔØ ÉÈ "
+"ÎÅ×ÏÚÍÏÖÎÏ.\n"
+
+#: hwclock/hwclock.c:1067
+#, fuzzy, c-format
+msgid ""
+"Not setting clock because last adjustment time is zero, so history is bad."
+msgstr ""
+"ëÏÒÒÅËÔÉÒÏ×ËÁ ËÏÜÆÆÉÃÉÅÎÔÁ ÏÔËÌÏÎÅÎÉÑ ÎÅ ×ÙÐÏÌÎÅÎÁ, ÐÏÔÏÍÕ\n"
+"ÞÔÏ ÐÏÓÌÅÄÎÑÑ ËÁÌÉÂÒÏ×ËÁ ÂÙÌÁ ÎÕÌÅ×ÏÊ, ÐÏÜÔÏÍÕ ÎÅ×ÅÒÎÁ\n"
+"ÈÒÏÎÏÌÏÇÉÑ É ÎÅÏÂÈÏÄÉÍ ÚÁÐÕÓË ËÁÌÉÂÒÏ×ËÉ.\n"
+
+#: hwclock/hwclock.c:1090
+#, c-format
+msgid "Needed adjustment is less than one second, so not setting clock.\n"
+msgstr ""
+"îÅÏÂÈÏÄÉÍÁÑ ËÏÒÒÅËÔÉÒÏ×ËÁ ÓÏÓÔÁ×ÌÑÅÔ ÍÅÎØÛÅ ÓÅËÕÎÄÙ, ÐÏÜÔÏÍÕ ÞÁÓÙ ÎÅ "
+"ÎÁÓÔÒÁÉ×ÁÀÔÓÑ.\n"
+
+#: hwclock/hwclock.c:1116
+#, c-format
+msgid "Using %s.\n"
+msgstr "éÓÐÏÌØÚÕÅÔÓÑ %s.\n"
+
+#: hwclock/hwclock.c:1118
+#, c-format
+msgid "No usable clock interface found.\n"
+msgstr "îÅ ÎÁÊÄÅΠÐÒÉÇÏÄÎÙÊ ÞÁÓÏ×ÏÊ ÉÎÔÅÒÆÅÊÓ.\n"
+
+#: hwclock/hwclock.c:1222 hwclock/hwclock.c:1228
+#, c-format
+msgid "Unable to set system clock.\n"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÕÓÔÁÎÏ×ÉÔØ ÓÉÓÔÅÍÎÙÅ ÞÁÓÙ.\n"
+
+#: hwclock/hwclock.c:1258
+#, c-format
+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.\n"
+msgstr ""
+"úÎÁÞÅÎÉÅ ×ÅËÁ ÄÌÑ ÁÐÐÁÒÁÔÎÙÈ ÞÁÓÏ× ÑÄÒÏ ÈÒÁÎÉÔ ÔÏÌØËÏ ÎÁ Alpha-ÍÁÛÉÎÁÈ.\n"
+"üÔÁ ËÏÐÉÑ hwclock ÂÙÌÁ ÓÏÚÄÁÎÁ ÄÌÑ ÍÁÛÉÎÙ, ÏÔÌÉÞÎÏÊ ÏÔ Alpha\n"
+"(É, ÔÁËÉÍ ÏÂÒÁÚÏÍ, ÓÅÊÞÁÓ, ÐÏ-×ÉÄÉÍÏÍÕ, ÎÁ Alpha ÎÅ ÒÁÂÏÔÁÅÔ).  äÅÊÓÔ×ÉÅ "
+"ÏÔËÌÏÎÅÎÏ.\n"
+
+#: hwclock/hwclock.c:1267
+#, c-format
+msgid "Unable to get the epoch value from the kernel.\n"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÐÏÌÕÞÉÔØ ÚÎÁÞÅÎÉÅ ×ÅËÁ ÉÚ ÑÄÒÁ.\n"
+
+#: hwclock/hwclock.c:1269
+#, c-format
+msgid "Kernel is assuming an epoch value of %lu\n"
+msgstr "ñÄÒÏ ÐÏÄÒÁÚÕÍÅ×ÁÅÔ, ÞÔÏ ÚÎÁÞÅÎÉÅ ×ÅËÁ %lu\n"
+
+#: hwclock/hwclock.c:1272
+#, c-format
+msgid ""
+"To set the epoch value, you must use the 'epoch' option to tell to what "
+"value to set it.\n"
+msgstr ""
+"þÔÏÂÙ ÕÓÔÁÎÏ×ÉÔØ ÚÎÁÞÅÎÉÅ ×ÅËÁ, ×Ù ÄÏÌÖÎÙ ÉÓÐÏÌØÚÏ×ÁÔØ ÏÐÃÉÀ 'epoch' ÄÌÑ "
+"ÕËÁÚÁÎÉÑ ÎÕÖÎÏÇÏ ÚÎÁÞÅÎÉÑ.\n"
+
+#: hwclock/hwclock.c:1275
+#, c-format
+msgid "Not setting the epoch to %d - testing only.\n"
+msgstr "÷ÅË ÎÅ ÕÓÔÁÎÁ×ÌÉ×ÁÅÔÓÑ × %d - ÔÏÌØËÏ ÔÅÓÔÉÒÏ×ÁÎÉÅ.\n"
+
+#: hwclock/hwclock.c:1278
+#, c-format
+msgid "Unable to set the epoch value in the kernel.\n"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÕÓÔÁÎÏ×ÉÔØ × ÑÄÒÅ ÚÎÁÞÅÎÉÅ ×ÅËÁ.\n"
+
+#: hwclock/hwclock.c:1291 misc-utils/cal.c:345 misc-utils/kill.c:189
+#, c-format
+msgid "%s from %s\n"
+msgstr "%s ÉÚ %s\n"
+
+#: hwclock/hwclock.c:1312
+#, fuzzy, c-format
+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"
+"  -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"
+
+#: hwclock/hwclock.c:1347
+#, fuzzy, c-format
+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"
+
+#: hwclock/hwclock.c:1434
+#, fuzzy, c-format
+msgid "%s: Unable to connect to audit system\n"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÕÓÔÁÎÏ×ÉÔØ ÓÉÓÔÅÍÎÙÅ ÞÁÓÙ.\n"
+
+#: hwclock/hwclock.c:1552
+#, c-format
+msgid "%s takes no non-option arguments.  You supplied %d.\n"
+msgstr "%s ÐÒÉÎÉÍÁÅÔ ÎÅÏÐÃÉÏÎÁÌØÎÙÅ ÁÒÇÕÍÅÎÔÙ.  ÷ÁÍ ÐÒÅÄÏÓÔÁ×ÌÅÎÙ %d.\n"
+
+#: hwclock/hwclock.c:1559
+#, c-format
+msgid ""
+"You have specified multiple functions.\n"
+"You can only perform one function at a time.\n"
+msgstr ""
+"÷Ù ÕËÁÚÁÌÉ ÎÅÓËÏÌØËÏ ÆÕÎËÃÉÊ.\n"
+"÷Ù ÍÏÖÅÔÅ ×ÙÐÏÌÎÉÔØ ÔÏÌØËÏ ÏÄÎÕ ÆÕÎËÃÉÀ ÚÁ ÒÁÚ.\n"
+
+#: hwclock/hwclock.c:1566
+#, c-format
+msgid ""
+"%s: The --utc and --localtime options are mutually exclusive.  You specified "
+"both.\n"
+msgstr ""
+"%s: ïÐÃÉÉ --utc É --localtime Ñ×ÌÑÀÔÓÑ ×ÚÁÉÍÎÏ ÉÓËÌÀÞÁÀÝÉÍÉ. á ×Ù ÕËÁÚÁÌÉ "
+"ÏÂÅ.\n"
+
+#: hwclock/hwclock.c:1573
+#, c-format
+msgid ""
+"%s: The --adjust and --noadjfile options are mutually exclusive.  You "
+"specified both.\n"
+msgstr ""
+"%s: ïÐÃÉÉ --adjust É --noadjfile Ñ×ÌÑÀÔÓÑ ×ÚÁÉÍÎÏ ÉÓËÌÀÞÁÀÝÉÍÉ. á ×Ù ÕËÁÚÁÌÉ "
+"ÏÂÅ.\n"
+
+#: hwclock/hwclock.c:1580
+#, fuzzy, c-format
+msgid ""
+"%s: The --adjfile and --noadjfile options are mutually exclusive.  You "
+"specified both.\n"
+msgstr ""
+"%s: ïÐÃÉÉ --adjust É --noadjfile Ñ×ÌÑÀÔÓÑ ×ÚÁÉÍÎÏ ÉÓËÌÀÞÁÀÝÉÍÉ. á ×Ù ÕËÁÚÁÌÉ "
+"ÏÂÅ.\n"
+
+#: hwclock/hwclock.c:1589
+#, c-format
+msgid "%s: With --noadjfile, you must specify either --utc or --localtime\n"
+msgstr "%s: ó --noadjfile ×Ù ÄÏÌÖÎÙ ÕËÁÚÁÔØ ÌÉÂÏ --utc, ÌÉÂÏ --localtime\n"
+
+#: hwclock/hwclock.c:1603
+#, c-format
+msgid "No usable set-to time.  Cannot set clock.\n"
+msgstr ""
+"ïÔÓÕÔÓÔ×ÕÅÔ ÐÒÉÇÏÄÎÏÅ ÄÌÑ ÕÓÔÁÎÏ×ËÉ ×ÒÅÍÑ. îÅ×ÏÚÍÏÖÎÏ ÕÓÔÁÎÏ×ÉÔØ ÞÁÓÙ.\n"
+
+#: hwclock/hwclock.c:1620
+#, c-format
+msgid "Sorry, only the superuser can change the Hardware Clock.\n"
+msgstr "ë ÓÏÖÁÌÅÎÉÀ ÔÏÌØËÏ ÓÕÐÅÒÐÏÌØÚÏ×ÁÔÅÌØ ÍÏÖÅÔ ÉÚÍÅÎÑÔØ ÁÐÐÁÒÁÔÎÙÅ ÞÁÓÙ.\n"
+
+#: hwclock/hwclock.c:1625
+#, c-format
+msgid "Sorry, only the superuser can change the System Clock.\n"
+msgstr "ë ÓÏÖÁÌÅÎÉÀ ÔÏÌØËÏ ÓÕÐÅÒÐÏÌØÚÏ×ÁÔÅÌØ ÍÏÖÅÔ ÉÚÍÅÎÑÔØ ÓÉÓÔÅÍÎÙÅ ÞÁÓÙ.\n"
+
+#: hwclock/hwclock.c:1630
+#, c-format
+msgid ""
+"Sorry, only the superuser can change the Hardware Clock epoch in the "
+"kernel.\n"
+msgstr ""
+"ë ÓÏÖÁÌÅÎÉÀ ÔÏÌØËÏ ÓÕÐÅÒÐÏÌØÚÏ×ÁÔÅÌØ ÍÏÖÅÔ ÉÚÍÅÎÑÔØ × ÑÄÒÅ ×ÅË ÁÐÐÁÒÁÔÎÙÈ "
+"ÞÁÓÏ×.\n"
+
+#: hwclock/hwclock.c:1651
+#, c-format
+msgid "Cannot access the Hardware Clock via any known method.\n"
+msgstr ""
+"îÅ×ÏÚÍÏÖÎÏ ÐÏÌÕÞÉÔØ ÄÏÓÔÕРˠÁÐÐÁÒÁÔÎÙÍ ÞÁÓÁÍ ËÁËÉÍ ÂÙ ÔÏ ÎÉ ÂÙÌÏ ÉÚ×ÅÓÔÎÙÍ "
+"ÓÐÏÓÏÂÏÍ.\n"
+
+#: hwclock/hwclock.c:1655
+#, c-format
+msgid ""
+"Use the --debug option to see the details of our search for an access "
+"method.\n"
+msgstr ""
+"éÓÐÏÌØÚÕÊÔÅ ÏÐÃÉÀ --debug, ÞÔÏÂÙ Õ×ÉÄÅÔØ ÐÏÄÒÏÂÎÕÀ ÉÎÆÏÒÍÁÃÉÀ Ï ÎÁÛÅÍ ÐÏÉÓËÅ "
+"ÄÌÑ ÍÅÔÏÄÁ ÄÏÓÔÕÐÁ.\n"
+
+#: hwclock/kd.c:53
+#, c-format
+msgid "Waiting in loop for time from KDGHWCLK to change\n"
+msgstr "÷ ÃÉËÌÅ ÏÖÉÄÁÅÔÓÑ ÉÚÍÅÎÅÎÉÅ ×ÒÅÍÅÎÉ ÉÚ KDGHWCLK\n"
+
+#: hwclock/kd.c:56
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr "KDGHWCLK ioctl ÐÒÉ ÞÔÅÎÉÉ ×ÒÅÍÅÎÉ ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ"
+
+#: hwclock/kd.c:77 hwclock/rtc.c:221
+#, c-format
+msgid "Timed out waiting for time change.\n"
+msgstr "éÓÔÅËÌÏ ×ÒÅÍÑ ÏÖÉÄÁÎÉÑ ÄÌÑ ÓÍÅÎÙ ×ÒÅÍÅÎÉ.\n"
+
+#: hwclock/kd.c:81
+msgid "KDGHWCLK ioctl to read time failed in loop"
+msgstr "KDGHWCLK ioctl ÐÒÉ ÞÔÅÎÉÉ ×ÒÅÍÅÎÉ × ÃÉËÌÅ ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ"
+
+#: hwclock/kd.c:103
+#, c-format
+msgid "ioctl() failed to read time from %s"
+msgstr "ioctl() ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ ÐÒÉ ÞÔÅÎÉÉ ×ÒÅÍÅÎÉ ÉÚ %s"
+
+#: hwclock/kd.c:139
+msgid "ioctl KDSHWCLK failed"
+msgstr "ioctl KDSHWCLK ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ"
+
+#: hwclock/kd.c:175
+msgid "Can't open /dev/tty1 or /dev/vc/1"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ /dev/tty1 ÉÌÉ /dev/vc/1"
+
+#: hwclock/kd.c:179
+msgid "KDGHWCLK ioctl failed"
+msgstr "KDGHWCLK ioctl ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ"
+
+#: hwclock/rtc.c:147 hwclock/rtc.c:241
+#, c-format
+msgid "open() of %s failed"
+msgstr "open() %s ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ"
+
+#: hwclock/rtc.c:181
+#, c-format
+msgid "ioctl() to %s to read the time failed.\n"
+msgstr "ioctl() %s ÐÒÉ ÞÔÅÎÉÉ ×ÒÅÍÅÎÉ ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ.\n"
+
+#: hwclock/rtc.c:203
+#, c-format
+msgid "Waiting in loop for time from %s to change\n"
+msgstr "÷ ÃÉËÌÅ ÏÖÉÄÁÅÔÓÑ ÄÌÑ ÓÍÅÎÙ ×ÒÅÍÑ ÉÚ %s\n"
+
+#: hwclock/rtc.c:259
+#, c-format
+msgid "%s does not have interrupt functions. "
+msgstr "%s ÎÅ ÉÍÅÅÔ ÆÕÎËÃÉÊ ÐÒÅÒÙ×ÁÎÉÑ. "
+
+#: hwclock/rtc.c:270
+#, c-format
+msgid "read() to %s to wait for clock tick failed"
+msgstr "read() × %s ÄÌÑ ÏÖÉÄÁÎÉÑ ÔÉËÁÎØÑ ÞÁÓÏ× ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ"
+
+#: hwclock/rtc.c:288
+#, c-format
+msgid "select() to %s to wait for clock tick failed"
+msgstr "select() × %s ÄÌÑ ÏÖÉÄÁÎÉÑ ÔÉËÁÎØÑ ÞÁÓÏ× ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ"
+
+#: hwclock/rtc.c:291
+#, c-format
+msgid "select() to %s to wait for clock tick timed out\n"
+msgstr "éÓÔÅËÌÏ ×ÒÅÍÑ ÏÖÉÄÁÎÉÑ ÔÉËÁÎØÑ ÞÁÓÏ× select() × %s\n"
+
+#: hwclock/rtc.c:300
+#, c-format
+msgid "ioctl() to %s to turn off update interrupts failed"
+msgstr "ioctl() × %s ÄÌÑ ×ÙËÌÀÞÅÎÉÑ ÐÒÅÒÙ×ÁÎÉÊ ÏÂÎÏ×ÌÅÎÉÑ ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ"
+
+#: hwclock/rtc.c:303
+#, c-format
+msgid "ioctl() to %s to turn on update interrupts failed unexpectedly"
+msgstr ""
+"ioctl() × %s ÄÌÑ ×ËÌÀÞÅÎÉÑ ÐÒÅÒÙ×ÁÎÉÊ ÏÂÎÏ×ÌÅÎÉÑ ÎÅÏÖÉÄÁÎÎÏ ÚÁ×ÅÒÛÉÌÓÑ "
+"ÎÅÕÄÁÞÅÊ"
+
+#: hwclock/rtc.c:360
+#, c-format
+msgid "ioctl() to %s to set the time failed.\n"
+msgstr "ioctl() × %s ÄÌÑ ÕÓÔÁÎÏ×ËÉ ×ÒÅÍÅÎÉ ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ.\n"
+
+#: hwclock/rtc.c:366
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr "ioctl(%s) ÚÁ×ÅÒÛÉÌÓÑ ÕÓÐÅÛÎÏ.\n"
+
+#: hwclock/rtc.c:392
+#, c-format
+msgid "Open of %s failed"
+msgstr "ïÔËÒÙÔÉÅ %s ÚÁ×ÅÒÛÉÌÏÓØ ÎÅÕÄÁÞÅÊ"
+
+#: hwclock/rtc.c:410 hwclock/rtc.c:454
+#, 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.\n"
+msgstr ""
+"äÌÑ ÉÚÍÅÎÅÎÉÑ ÚÎÁÞÅÎÉÑ ×ÅËÁ × ÑÄÒÅ ÎÅÏÂÈÏÄÉÍÏ ÐÏÌÕÞÉÔØ ÄÏÓÔÕРˠÄÒÁÊ×ÅÒÕ "
+"ÕÓÔÒÏÊÓÔ×Á Linux 'rtc' ÐÏÓÒÅÄÓÔ×ÏÍ ÓÐÅÃÉÁÌØÎÏÇÏ ÆÁÊÌÁ ÕÓÔÒÏÊÓÔ×Á %s. ÷ "
+"ÄÁÎÎÏÊ ÓÉÓÔÅÍÅ ÜÔÏÔ ÆÁÊÌ ÏÔÓÕÔÓÔ×ÕÅÔ.\n"
+
+#: hwclock/rtc.c:415 hwclock/rtc.c:459
+#, c-format
+msgid "Unable to open %s"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ %s"
+
+#: hwclock/rtc.c:422
+#, c-format
+msgid "ioctl(RTC_EPOCH_READ) to %s failed"
+msgstr "ioctl(RTC_EPOCH_READ) × %s ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ"
+
+#: hwclock/rtc.c:427
+#, c-format
+msgid "we have read epoch %ld from %s with RTC_EPOCH_READ ioctl.\n"
+msgstr "ÂÙÌ ÐÒÏÞÉÔÁΠ×ÅË %ld ÉÚ %s ÞÅÒÅÚ RTC_EPOCH_READ ioctl.\n"
+
+#: hwclock/rtc.c:446
+#, c-format
+msgid "The epoch value may not be less than 1900.  You requested %ld\n"
+msgstr "úÎÁÞÅÎÉÅ ×ÅËÁ ÎÅ ÍÏÖÅÔ ÂÙÔØ ÍÅÎØÛÅ 1900. ÷Ù ÚÁÐÒÏÓÉÌÉ %ld\n"
+
+#: hwclock/rtc.c:464
+#, c-format
+msgid "setting epoch to %ld with RTC_EPOCH_SET ioctl to %s.\n"
+msgstr "×ÅË ÕÓÔÁÎÁ×ÌÉ×ÁÅÔÓÑ × %ld Ó RTC_EPOCH_SET ioctl × %s.\n"
+
+#: hwclock/rtc.c:469
+#, c-format
+msgid ""
+"The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl.\n"
+msgstr "äÒÁÊ×ÅÒ ÕÓÔÒÏÊÓÔ×Á ÑÄÒÁ ÄÌÑ %s ÎÅ ÉÍÅÅÔ RTC_EPOCH_SET ioctl.\n"
+
+#: hwclock/rtc.c:472
+#, c-format
+msgid "ioctl(RTC_EPOCH_SET) to %s failed"
+msgstr "ioctl(RTC_EPOCH_SET) × %s ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ"
+
+#: login-utils/agetty.c:361
+#, c-format
+msgid "%s: can't exec %s: %m"
+msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ×ÙÐÏÌÎÉÔØ %s: %m"
+
+#: login-utils/agetty.c:384
+msgid "can't malloc initstring"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ×ÙÐÏÌÎÉÔØ malloc ÄÌÑ ÓÔÒÏËÉ ÉÎÉÃÉÁÌÉÚÁÃÉÉ"
+
+#: login-utils/agetty.c:449
+#, c-format
+msgid "bad timeout value: %s"
+msgstr "ÎÅ×ÅÒÎÏÅ ÚÎÁÞÅÎÉÅ ÔÁÊÍ-ÁÕÔÁ: %s"
+
+#: login-utils/agetty.c:526
+#, c-format
+msgid "bad speed: %s"
+msgstr "ÎÅ×ÅÒÎÁÑ ÓËÏÒÏÓÔØ: %s"
+
+#: login-utils/agetty.c:528
+msgid "too many alternate speeds"
+msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÁÌØÔÅÒÎÁÔÉ×ÎÙÈ ÓËÏÒÏÓÔÅÊ"
+
+#: login-utils/agetty.c:630
+#, c-format
+msgid "/dev: chdir() failed: %m"
+msgstr "/dev: chdir() ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ: %m"
+
+#: login-utils/agetty.c:634
+#, c-format
+msgid "/dev/%s: not a character device"
+msgstr "/dev/%s: ÎÅÂÌÏÞÎÏÅ ÕÓÔÒÏÊÓÔ×Ï"
+
+#: login-utils/agetty.c:643
+#, c-format
+msgid "/dev/%s: cannot open as standard input: %m"
+msgstr "/dev/%s: ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ËÁË ÓÔÁÎÄÁÒÔÎÙÊ ××ÏÄ: %m"
+
+#: login-utils/agetty.c:653
+#, c-format
+msgid "%s: not open for read/write"
+msgstr "%s: ÎÅ ÏÔËÒÙÔ ÄÌÑ ÞÔÅÎÉÑ/ÚÁÐÉÓÉ"
+
+#: login-utils/agetty.c:659
+#, c-format
+msgid "%s: dup problem: %m"
+msgstr "%s: ÐÒÏÂÌÅÍÁ ÄÕÂÌÉÒÏ×ÁÎÉÑ: %m"
+
+#: login-utils/agetty.c:946
+#, c-format
+msgid "user"
+msgstr "ÐÏÌØÚÏ×ÁÔÅÌØ"
+
+#: login-utils/agetty.c:946
+#, c-format
+msgid "users"
+msgstr "ÐÏÌØÚÏ×ÁÔÅÌÉ"
+
+#: login-utils/agetty.c:1031
+#, c-format
+msgid "%s: read: %m"
+msgstr "%s: ÞÔÅÎÉÅ: %m"
+
+#: login-utils/agetty.c:1078
+#, c-format
+msgid "%s: input overrun"
+msgstr "%s: ÐÅÒÅÐÏÌÎÅÎÉÅ ××ÏÄÁ"
+
+#: login-utils/agetty.c:1207
+#, fuzzy, c-format
+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 [-hiLmw] [-l ÐÒÏÇÒÁÍÍÁ_×ÈÏÄÁ] [-t ÔÁÊÍ-ÁÕÔ] [-I "
+"ÓÔÒÏËÁ_ÉÎÉÃÉÁÌÉÚÁÃÉÉ] [-H ÈÏÓÔ_ÄÌÑ_×ÈÏÄÁ] ÓËÏÒÏÓÔØ_ÐÅÒÅÄÁÞÉ,... ÐÏÒÔ "
+"[ÔÉÐ_ÔÅÒÍÉÎÁÌÁ]\n"
+"ÉÌÉ\t[-hiLmw] [-l ÐÒÏÇÒÁÍÍÁ_×ÈÏÄÁ] [-t ÔÁÊÍ-ÁÕÔ] [-I ÓÔÒÏËÁ_ÉÎÉÃÉÁÌÉÚÁÃÉÉ] [-"
+"H ÈÏÓÔ_ÄÌÑ_×ÈÏÄÁ] ÐÏÒÔ ÓËÏÒÏÓÔØ_ÐÅÒÅÄÁÞÉ,... [ÔÉÐ_ÔÅÒÍÉÎÁÌÁ]\n"
+
+#: login-utils/checktty.c:91 login-utils/checktty.c:112
+#, c-format
+msgid "login: memory low, login may fail\n"
+msgstr "login: ÍÁÌÏ ÐÁÍÑÔÉ, ×ÈÏÄ × ÓÉÓÔÅÍÕ ÍÏÖÅÔ ÚÁ×ÅÒÛÉÔØÓÑ ÎÅÕÄÁÞÅÊ\n"
+
+#: login-utils/checktty.c:92
+msgid "can't malloc for ttyclass"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ×ÙÐÏÌÎÉÔØ malloc ÄÌÑ ttyclass"
+
+#: login-utils/checktty.c:113
+msgid "can't malloc for grplist"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ×ÙÐÏÌÎÉÔØ malloc ÄÌÑ grplist"
+
+#: login-utils/checktty.c:554
+#, c-format
+msgid "Login on %s from %s denied by default.\n"
+msgstr "÷ÈÏÄ × %s Ó %s ÚÁÐÒÅÝÅΠÐÏ ÕÍÏÌÞÁÎÉÀ.\n"
+
+#: login-utils/checktty.c:565
+#, c-format
+msgid "Login on %s from %s denied.\n"
+msgstr "÷ÈÏÄ × %s Ó %s ÚÁÐÒÅÝÅÎ.\n"
+
+#: login-utils/chfn.c:133 login-utils/chsh.c:119
+#, c-format
+msgid "%s: you (user %d) don't exist.\n"
+msgstr "%s: ×Ù (ÐÏÌØÚÏ×ÁÔÅÌØ %d) ÎÅ ÓÕÝÅÓÔ×ÕÅÔÅ.\n"
+
+#: login-utils/chfn.c:140 login-utils/chsh.c:126
+#, c-format
+msgid "%s: user \"%s\" does not exist.\n"
+msgstr "%s: ÐÏÌØÚÏ×ÁÔÅÌØ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ.\n"
+
+#: login-utils/chfn.c:145 login-utils/chsh.c:131
+#, c-format
+msgid "%s: can only change local entries; use yp%s instead.\n"
+msgstr ""
+"%s: ÍÏÖÎÏ ÔÏÌØËÏ ÉÚÍÅÎÉÔØ ÌÏËÁÌØÎÙÅ ÜÌÅÍÅÎÔÙ; ×ÍÅÓÔÏ ÜÔÏÇÏ ÉÓÐÏÌØÚÕÊÔÅ yp%"
+"s.\n"
+
+#: login-utils/chfn.c:156 login-utils/chsh.c:142
+msgid "Unknown user context"
+msgstr "îÅÉÚ×ÅÓÔÎÙÊ ËÏÎÔÅËÓÔ ÐÏÌØÚÏ×ÁÔÅÌÑ"
+
+#: login-utils/chfn.c:157
+#, c-format
+msgid "%s: %s is not authorized to change the finger info of %s\n"
+msgstr "%s: %s ÎÅ Á×ÔÏÒÉÚÏ×ÁΠÄÌÑ ÉÚÍÅÎÅÎÉÑ finger-ÉÎÆÏÒÍÁÃÉÉ Ï %s\n"
+
+#: login-utils/chfn.c:164 login-utils/chsh.c:150
+#, c-format
+msgid "%s: Can't set default context for /etc/passwd"
+msgstr "%s: îÅ×ÏÚÍÏÖÎÏ ÕÓÔÁÎÏ×ÉÔØ ËÏÎÔÅËÓÔ ÐÏ ÕÍÏÌÞÁÎÉÀ ÄÌÑ /etc/passwd"
+
+#: login-utils/chfn.c:178
+#, c-format
+msgid "Changing finger information for %s.\n"
+msgstr "éÚÍÅÎÅÎÉÅ ÉÎÆÏÒÍÁÃÉÉ finger ÄÌÑ %s.\n"
+
+#: login-utils/chfn.c:189 login-utils/chsh.c:188 login-utils/login.c:572
+#, fuzzy, c-format
+msgid "%s: PAM failure, aborting: %s\n"
+msgstr "login: ÓÂÏÊ PAM, ×ÙÐÏÌÎÑÅÔÓÑ ÐÒÅÒÙ×ÁÎÉÅ: %s\n"
+
+#: login-utils/chfn.c:212 login-utils/chsh.c:211 login-utils/login.c:823
+#: login-utils/newgrp.c:85 login-utils/simpleinit.c:340 mount/lomount.c:744
+#: mount/lomount.c:747
+msgid "Password: "
+msgstr "ðÁÒÏÌØ: "
+
+#: login-utils/chfn.c:215 login-utils/chsh.c:214
+msgid "Incorrect password."
+msgstr "îÅ×ÅÒÎÙÊ ÐÁÒÏÌØ."
+
+#: login-utils/chfn.c:226
+#, c-format
+msgid "Finger information not changed.\n"
+msgstr "éÎÆÏÒÍÁÃÉÑ finger ÎÅ ÉÚÍÅÎÅÎÁ.\n"
+
+#: login-utils/chfn.c:328
+#, c-format
+msgid "Usage: %s [ -f full-name ] [ -o office ] "
+msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ -f ÐÏÌÎÏÅ_ÉÍÑ ] [ -o ÎÏÍÅÒ_ÏÆÉÓÁ ] "
+
+#: login-utils/chfn.c:329
+#, c-format
+msgid ""
+"[ -p office-phone ]\n"
+"\t[ -h home-phone ] "
+msgstr ""
+"[ -p ÒÁÂÏÞÉÊ_ÔÅÌÅÆÏΠ]\n"
+"\t[ -h ÄÏÍÁÛÎÉÊ_ÔÅÌÅÆÏΠ] "
+
+#: login-utils/chfn.c:330
+#, c-format
+msgid "[ --help ] [ --version ]\n"
+msgstr "[ --help ] [ --version ]\n"
+
+#: login-utils/chfn.c:378
+msgid "Office"
+msgstr ""
+
+#: login-utils/chfn.c:379
+msgid "Office Phone"
+msgstr ""
+
+#: login-utils/chfn.c:380
+msgid "Home Phone"
+msgstr ""
+
+#: login-utils/chfn.c:401 login-utils/chsh.c:321
+#, c-format
+msgid ""
+"\n"
+"Aborted.\n"
+msgstr ""
+"\n"
+"ðÒÅÒ×ÁÎ.\n"
+
+#: login-utils/chfn.c:434
+#, c-format
+msgid "field is too long.\n"
+msgstr "ÐÏÌÅ ÓÌÉÛËÏÍ ÄÌÉÎÎÏÅ.\n"
+
+#: login-utils/chfn.c:442
+#, c-format
+msgid "'%c' is not allowed.\n"
+msgstr "'%c' ÚÁÐÒÅÝÅÎ.\n"
+
+#: login-utils/chfn.c:447
+#, c-format
+msgid "Control characters are not allowed.\n"
+msgstr "Control-ÓÉÍ×ÏÌÙ ÚÁÐÒÅÝÅÎÙ.\n"
+
+#: login-utils/chfn.c:512
+#, c-format
+msgid "Finger information *NOT* changed.  Try again later.\n"
+msgstr "éÎÆÏÒÍÁÃÉÑ finger *îå* ÉÚÍÅÎÅÎÁ. ðÏÐÒÏÂÕÊÔÅ ÅÝÅ ÒÁÚ ÐÏÐÏÚÖÅ.\n"
+
+#: login-utils/chfn.c:515
+#, c-format
+msgid "Finger information changed.\n"
+msgstr "éÎÆÏÒÍÁÃÉÑ finger ÉÚÍÅÎÅÎÁ.\n"
+
+#: login-utils/chsh.c:143
+#, c-format
+msgid "%s: %s is not authorized to change the shell of %s\n"
+msgstr "%s: %s ÎÅ Á×ÔÏÒÉÚÏ×ÁΠÄÌÑ ÉÚÍÅÎÅÎÉÑ ÛÅÌÌÁ %s\n"
+
+#: login-utils/chsh.c:164
+#, c-format
+msgid ""
+"%s: Running UID doesn't match UID of user we're altering, shell change "
+"denied\n"
+msgstr ""
+"%s: úÁÐÕÝÅÎÎÙÊ UID ÎÅ ÓÏ×ÐÁÄÁÅÔ Ó UID'ÏÍ ÒÅÄÁËÔÉÒÕÅÍÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ, "
+"ÉÚÍÅÎÅÎÉÅ ÛÅÌÌÁ ÚÁÐÒÅÝÅÎÏ\n"
+
+#: login-utils/chsh.c:170
+#, c-format
+msgid "%s: Your shell is not in /etc/shells, shell change denied\n"
+msgstr "%s: ÷ÁÛ ÛÅÌÌ ÏÔÓÕÔÓÔ×ÕÅÔ × /etc/shells, ÉÚÍÅÎÅÎÉÅ ÛÅÌÌÁ ÚÁÐÒÅÝÅÎÏ\n"
+
+#: login-utils/chsh.c:177
+#, c-format
+msgid "Changing shell for %s.\n"
+msgstr "éÚÍÅÎÅÎÉÅ ÛÅÌÌÁ ÄÌÑ %s.\n"
+
+#: login-utils/chsh.c:222
+msgid "New shell"
+msgstr "îÏ×ÙÊ ÛÅÌÌ"
+
+#: login-utils/chsh.c:229
+#, c-format
+msgid "Shell not changed.\n"
+msgstr "ûÅÌÌ ÎÅ ÉÚÍÅΣÎ.\n"
+
+#: login-utils/chsh.c:235
+#, c-format
+msgid "Shell *NOT* changed.  Try again later.\n"
+msgstr "ûÅÌÌ *îå* ÉÚÍÅΣÎ. ðÏÐÒÏÂÕÊÔÅ ÅÝÅ ÒÁÚ ÐÏÐÏÚÖÅ.\n"
+
+#: login-utils/chsh.c:238
+#, c-format
+msgid "Shell changed.\n"
+msgstr "ûÅÌÌ ÉÚÍÅΣÎ.\n"
+
+#: login-utils/chsh.c:303
+#, c-format
+msgid ""
+"Usage: %s [ -s shell ] [ --list-shells ] [ --help ] [ --version ]\n"
+"       [ username ]\n"
+msgstr ""
+"éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ -s ÛÅÌÌ ] [ --list-shells ] [ --help ] [ --version ]\n"
+"       [ ÉÍÑ_ÐÏÌØÚÏ×ÁÔÅÌÑ ]\n"
+
+#: login-utils/chsh.c:349
+#, c-format
+msgid "%s: shell must be a full path name.\n"
+msgstr "%s: ÛÅÌÌ ÄÏÌÖÅΠÂÙÔØ ÐÏÌÎÙÍ ÓÏÓÔÁ×ÎÙÍ ÉÍÅÎÅÍ.\n"
+
+#: login-utils/chsh.c:353
+#, c-format
+msgid "%s: \"%s\" does not exist.\n"
+msgstr "%s: \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ.\n"
+
+#: login-utils/chsh.c:357
+#, c-format
+msgid "%s: \"%s\" is not executable.\n"
+msgstr "%s: \"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ ÉÓÐÏÌÎÑÅÍÙÍ.\n"
+
+#: login-utils/chsh.c:364
+#, c-format
+msgid "%s: '%c' is not allowed.\n"
+msgstr "%s: '%c' ÚÁÐÒÅÝÅÎ.\n"
+
+#: login-utils/chsh.c:368
+#, c-format
+msgid "%s: Control characters are not allowed.\n"
+msgstr "%s: Control-ÓÉÍ×ÏÌÙ ÚÁÐÒÅÝÅÎÙ.\n"
+
+#: login-utils/chsh.c:375 login-utils/chsh.c:385
+#, c-format
+msgid "Warning: \"%s\" is not listed in /etc/shells.\n"
+msgstr "ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: \"%s\" ÏÔÓÕÔÓÔ×ÕÅÔ × ÓÐÉÓËÅ /etc/shells\n"
+
+#: login-utils/chsh.c:377
+#, c-format
+msgid "%s: \"%s\" is not listed in /etc/shells.\n"
+msgstr "%s: \"%s\" ÏÔÓÕÔÓÔ×ÕÅÔ × ÓÐÉÓËÅ /etc/shells\n"
+
+#: login-utils/chsh.c:379
+#, fuzzy, c-format
+msgid "%s: Use -l option to see list.\n"
+msgstr "%s: ÉÓÐÏÌØÚÕÊÔÅ ÏÐÃÉÀ -l option ÄÌÑ ÐÒÏÓÍÏÔÒÁ ÓÐÉÓËÁ\n"
+
+#: login-utils/chsh.c:386
+#, c-format
+msgid "Use %s -l to see list.\n"
+msgstr "éÓÐÏÌØÚÕÊÔÅ %s -l ÄÌÑ ÐÒÏÓÍÏÔÒÁ ÓÐÉÓËÁ.\n"
+
+#: login-utils/chsh.c:406
+#, c-format
+msgid "No known shells.\n"
+msgstr "îÅÔ ÉÚ×ÅÓÔÎÙÈ ÛÅÌÌÏ×.\n"
+
+#: login-utils/islocal.c:87
+#, fuzzy, c-format
+msgid "Failed to open %s for reading, exiting."
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ %s ÄÌÑ ÞÔÅÎÉÑ\n"
+
+#: login-utils/last.c:148
+msgid "usage: last [-#] [-f file] [-t tty] [-h hostname] [user ...]\n"
+msgstr ""
+"ÉÓÐÏÌØÚÏ×ÁÎÉÅ: last [-#] [-f ÆÁÊÌ] [-t tty] [-h ÉÍÑ_ÈÏÓÔÁ] "
+"[ÐÏÌØÚÏ×ÁÔÅÌØ ...]\n"
+
+#: login-utils/last.c:284
+msgid "  still logged in"
+msgstr "  ×ÓÅ ÅÝÅ × ÓÉÓÔÅÍÅ"
+
+#: login-utils/last.c:306
+#, c-format
+msgid ""
+"\n"
+"wtmp begins %s"
+msgstr ""
+"\n"
+"wtmp ÎÁÞÁÌÓÑ %s"
+
+#: login-utils/last.c:362 login-utils/last.c:380 login-utils/last.c:431
+msgid "last: malloc failure.\n"
+msgstr "last: malloc ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ.\n"
+
+#: login-utils/last.c:407
+msgid "last: gethostname"
+msgstr "last: gethostname"
+
+#: login-utils/last.c:456
+#, c-format
+msgid ""
+"\n"
+"interrupted %10.10s %5.5s \n"
+msgstr ""
+"\n"
+"ÐÒÅÒ×ÁΠ%10.10s %5.5s \n"
+
+#: login-utils/login.c:197
+#, c-format
+msgid "FATAL: can't reopen tty: %s"
+msgstr "èòåîï÷ï: ÎÅ×ÏÚÍÏÖÎÏ ÐÏ×ÔÏÒÎÏ ÏÔËÒÙÔØ tty: %s"
+
+#: login-utils/login.c:229
+msgid "FATAL: bad tty"
+msgstr "èòåîï÷ï: ÐÌÏÈÏÊ tty"
+
+#: login-utils/login.c:436
+#, c-format
+msgid "login: -h for super-user only.\n"
+msgstr "login: -h ÔÏÌØËÏ ÄÌÑ ÓÕÐÅÒÐÏÌØÚÏ×ÁÔÅÌÑ.\n"
+
+#: login-utils/login.c:479
+#, c-format
+msgid "usage: login [-fp] [username]\n"
+msgstr "ÉÓÐÏÌØÚÏ×ÁÎÉÅ: login [-fp] [ÉÍÑ_ÐÏÌØÚÏ×ÁÔÅÌÑ]\n"
+
+#: login-utils/login.c:574
+#, c-format
+msgid "Couldn't initialize PAM: %s"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÔØ PAM: %s"
+
+#: login-utils/login.c:591
+msgid "login: "
+msgstr "ÌÏÇÉÎ: "
+
+#: login-utils/login.c:635
+#, c-format
+msgid "FAILED LOGIN %d FROM %s FOR %s, %s"
+msgstr "óâïê ÷èïäá %d éú %s äìñ %s, %s"
+
+#: login-utils/login.c:640
+#, c-format
+msgid ""
+"Login incorrect\n"
+"\n"
+msgstr ""
+"îÅ×ÅÒÎÙÊ ÌÏÇÉÎ\n"
+"\n"
+
+#: login-utils/login.c:649
+#, c-format
+msgid "TOO MANY LOGIN TRIES (%d) FROM %s FOR %s, %s"
+msgstr "óìéûëïí íîïçï ðïðùôïë ÷èïäá (%d) éú %s äìñ %s, %s"
+
+#: login-utils/login.c:653
+#, c-format
+msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
+msgstr "óâïê óåóóéé ÷èïäá éú %s äìñ %s, %s"
+
+#: login-utils/login.c:658
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+"\n"
+"îÅ×ÅÒÎÙÊ ÌÏÇÉÎ\n"
+
+#: login-utils/login.c:686 login-utils/login.c:693 login-utils/login.c:727
+#, c-format
+msgid ""
+"\n"
+"Session setup problem, abort.\n"
+msgstr ""
+"\n"
+"ðÒÏÂÌÅÍÁ ÕÓÔÁÎÏ×ËÉ ÓÅÓÓÉÉ, ÐÒÅÒÙ×ÁÎÉÅ.\n"
+
+#: login-utils/login.c:687
+#, c-format
+msgid "NULL user name in %s:%d. Abort."
+msgstr "ðõóôïå ÉÍÑ ÐÏÌØÚÏ×ÁÔÅÌÑ × %s:%d. ðÒÅÒÙ×ÁÎÉÅ."
+
+#: login-utils/login.c:694
+#, c-format
+msgid "Invalid user name \"%s\" in %s:%d. Abort."
+msgstr "îÅ×ÅÒÎÏÅ ÉÍÑ ÐÏÌØÚÏ×ÁÔÅÌÑ \"%s\" × %s:%d. ðÒÅÒÙ×ÁÎÉÅ."
+
+#: login-utils/login.c:713
+#, c-format
+msgid "login: Out of memory\n"
+msgstr "login: îÅÈ×ÁÔËÁ ÐÁÍÑÔÉ\n"
+
+#: login-utils/login.c:757
+msgid "Illegal username"
+msgstr "úÁÐÒÅÝÅÎÎÏÅ ÉÍÑ ÐÏÌØÚÏ×ÁÔÅÌÑ"
+
+#: login-utils/login.c:800
+#, c-format
+msgid "%s login refused on this terminal.\n"
+msgstr "%s ×ÈÏÄ ÎÁ ÜÔÏÔ ÔÅÒÍÉÎÁÌ ÏÔ×ÅÒÇÎÕÔ.\n"
+
+#: login-utils/login.c:805
+#, c-format
+msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
+msgstr "÷èïä %s ïô÷åòçîõô éú %s îá TTY %s"
+
+#: login-utils/login.c:809
+#, c-format
+msgid "LOGIN %s REFUSED ON TTY %s"
+msgstr "÷èïä %s ïô÷åòçîõô îá TTY %s"
+
+#: login-utils/login.c:863
+#, c-format
+msgid "Login incorrect\n"
+msgstr "îÅ×ÅÒÎÙÊ ÌÏÇÉÎ\n"
+
+#: login-utils/login.c:1088
+#, c-format
+msgid "DIALUP AT %s BY %s"
+msgstr "DIALUP îá %s þåòåú %s"
+
+#: login-utils/login.c:1095
+#, c-format
+msgid "ROOT LOGIN ON %s FROM %s"
+msgstr "÷èïä ROOT ÷ %s ó %s"
+
+#: login-utils/login.c:1098
+#, c-format
+msgid "ROOT LOGIN ON %s"
+msgstr "÷èïä ROOT ÷ %s"
+
+#: login-utils/login.c:1101
+#, c-format
+msgid "LOGIN ON %s BY %s FROM %s"
+msgstr "÷èïä ÷ %s þåòåú %s éú %s"
+
+#: login-utils/login.c:1104
+#, c-format
+msgid "LOGIN ON %s BY %s"
+msgstr "÷èïä ÷ %s þåòåú %s"
+
+#: login-utils/login.c:1125
+#, c-format
+msgid "You have new mail.\n"
+msgstr "÷ÁÍ ÎÏ×ÏÅ ÐÉÓØÍÏ.\n"
+
+#: login-utils/login.c:1127
+#, c-format
+msgid "You have mail.\n"
+msgstr "÷ÁÍ ÐÉÓØÍÏ.\n"
+
+#: login-utils/login.c:1171
+#, c-format
+msgid "login: failure forking: %s"
+msgstr "login: ÓÂÏÊ ÓÏÚÄÁÎÉÑ ÄÏÞÅÒÎÅÇÏ ÐÒÏÃÅÓÓÁ: %s"
+
+#: login-utils/login.c:1218
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr "TIOCSCTTY ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ: %m"
+
+#: login-utils/login.c:1224
+msgid "setuid() failed"
+msgstr "setuid() ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ"
+
+#: login-utils/login.c:1230
+#, c-format
+msgid "No directory %s!\n"
+msgstr "îÅÔ ËÁÔÁÌÏÇÁ %s!\n"
+
+#: login-utils/login.c:1234
+#, c-format
+msgid "Logging in with home = \"/\".\n"
+msgstr "÷ÈÏÄ × ÓÉÓÔÅÍÕ Ó ÄÏÍÁÛÎÉÍ ËÁÔÁÌÏÇÏÍ = \"/\".\n"
+
+#: login-utils/login.c:1242
+#, c-format
+msgid "login: no memory for shell script.\n"
+msgstr "login: ÎÅÔ ÐÁÍÑÔÉ ÄÌÑ ÛÅÌÌ-ÓËÒÉÐÔÁ.\n"
+
+#: login-utils/login.c:1269
+#, c-format
+msgid "login: couldn't exec shell script: %s.\n"
+msgstr "login: ÎÅ×ÏÚÍÏÖÎÏ ×ÙÐÏÌÎÉÔØ ÛÅÌÌ-ÓËÒÉÐÔ: %s.\n"
+
+#: login-utils/login.c:1272
+#, c-format
+msgid "login: no shell: %s.\n"
+msgstr "login: ÎÅÔ ÛÅÌÌÁ: %s.\n"
+
+#: login-utils/login.c:1287
+#, c-format
+msgid ""
+"\n"
+"%s login: "
+msgstr ""
+"\n"
+"%s ÌÏÇÉÎ: "
+
+#: login-utils/login.c:1298
+#, c-format
+msgid "login name much too long.\n"
+msgstr "ÉÍÑ ÐÏÌØÚÏ×ÁÔÅÌÑ ÓÌÉÛËÏÍ ÄÌÉÎÎÏÅ.\n"
+
+#: login-utils/login.c:1299
+msgid "NAME too long"
+msgstr "éíñ ÓÌÉÛËÏÍ ÄÌÉÎÎÏÅ"
+
+#: login-utils/login.c:1306
+#, c-format
+msgid "login names may not start with '-'.\n"
+msgstr "ÉÍÅÎÁ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ÍÏÇÕÔ ÎÅ ÎÁÞÉÎÁÔØÓÑ Ó '-'.\n"
+
+#: login-utils/login.c:1316
+#, c-format
+msgid "too many bare linefeeds.\n"
+msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÐÕÓÔÙÈ ÐÅÒÅ×ÏÄÏ× ÓÔÒÏË.\n"
+
+#: login-utils/login.c:1317
+msgid "EXCESSIVE linefeeds"
+msgstr "þòåúíåòîùå ÐÅÒÅ×ÏÄÙ ÓÔÒÏË"
+
+#: login-utils/login.c:1349
+#, c-format
+msgid "Login timed out after %d seconds\n"
+msgstr "÷ÈÏÄ × ÓÉÓÔÅÍÕ ÐÒÅ×ÙÓÉÌ ÐÒÅÄÅÌ ÏÖÉÄÁÎÉÑ × %d ÓÅËÕÎÄ\n"
+
+#: login-utils/login.c:1437
+#, c-format
+msgid "Last login: %.*s "
+msgstr "ðÏÓÌÅÄÎÉÊ ×ÈÏÄ × ÓÉÓÔÅÍÕ: %.*s "
+
+#: login-utils/login.c:1441
+#, c-format
+msgid "from %.*s\n"
+msgstr "ÉÚ %.*s\n"
+
+#: login-utils/login.c:1444
+#, c-format
+msgid "on %.*s\n"
+msgstr "× %.*s\n"
+
+#: login-utils/login.c:1470
+#, c-format
+msgid "LOGIN FAILURE FROM %s, %s"
+msgstr "óâïê ÷èïäá ÷ óéóôåíõ éú %s, %s"
+
+#: login-utils/login.c:1473
+#, c-format
+msgid "LOGIN FAILURE ON %s, %s"
+msgstr "óâïê ÷èïäá ÷ óéóôåíõ îá %s, %s"
+
+#: login-utils/login.c:1477
+#, c-format
+msgid "%d LOGIN FAILURES FROM %s, %s"
+msgstr "%d óâïé ÷èïäá éú %s, %s"
+
+#: login-utils/login.c:1480
+#, c-format
+msgid "%d LOGIN FAILURES ON %s, %s"
+msgstr "%d óâïé ÷èïäá ÷ %s, %s"
+
+#: login-utils/mesg.c:89
+#, c-format
+msgid "is y\n"
+msgstr "- ÄÁ\n"
+
+#: login-utils/mesg.c:92
+#, c-format
+msgid "is n\n"
+msgstr "- ÎÅÔ\n"
+
+#: login-utils/mesg.c:112
+#, c-format
+msgid "usage: mesg [y | n]\n"
+msgstr "ÉÓÐÏÌØÚÏ×ÁÎÉÅ: mesg [Ä | Î]\n"
+
+#: login-utils/newgrp.c:105
+msgid "newgrp: Who are you?"
+msgstr "newgrp: ÷Ù ËÔÏ?"
+
+#: login-utils/newgrp.c:113 login-utils/newgrp.c:127
+msgid "newgrp: setgid"
+msgstr "newgrp: setgid"
+
+#: login-utils/newgrp.c:120 login-utils/newgrp.c:122
+msgid "newgrp: No such group."
+msgstr "newgrp: îÅÔ ÔÁËÏÊ ÇÒÕÐÐÙ."
+
+#: login-utils/newgrp.c:131
+msgid "newgrp: Permission denied"
+msgstr "newgrp: äÏÓÔÕРÚÁÐÒÅÝÅÎ"
+
+#: login-utils/newgrp.c:138
+msgid "newgrp: setuid"
+msgstr "newgrp: setuid"
+
+#: login-utils/newgrp.c:144
+msgid "No shell"
+msgstr "îÅÔ ÛÅÌÌÁ"
+
+#: login-utils/shutdown.c:115
+#, c-format
+msgid "Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: shutdown [-h|-r] [-fqs] [now|hh:ss|+ÍÉÎÕÔÙ]\n"
+
+#: login-utils/shutdown.c:133
+msgid "Shutdown process aborted"
+msgstr "ðÒÏÃÅÓÓ ×ÙËÌÀÞÅÎÉÑ ÐÒÅÒ×ÁÎ"
+
+#: login-utils/shutdown.c:164
+#, c-format
+msgid "%s: Only root can shut a system down.\n"
+msgstr "%s: ôÏÌØËÏ root ÍÏÖÅÔ ÚÁ×ÅÒÛÁÔØ ÒÁÂÏÔÕ ÓÉÓÔÅÍÙ.\n"
+
+#: login-utils/shutdown.c:258
+#, c-format
+msgid "That must be tomorrow, can't you wait till then?\n"
+msgstr "üÔÏ ÄÏÌÖÎÏ ÂÙÔØ ÚÁ×ÔÒÁ, ÓÍÏÖÅÔÅ ÌÉ ×Ù ÖÄÁÔØ ÔÁË ÄÏÌÇÏ?\n"
+
+#: login-utils/shutdown.c:309
+msgid "for maintenance; bounce, bounce"
+msgstr "ÄÌÑ ÏÂÓÌÕÖÉ×ÁÎÉÑ; ÎÁ ÆÉÇ, ÎÁ ÆÉÇ"
+
+#: login-utils/shutdown.c:338
+msgid "The system is being shut down within 5 minutes"
+msgstr "óÉÓÔÅÍÁ ÚÁ×ÅÒÛÉÔ Ó×ÏÀ ÒÁÂÏÔÕ × ÔÅÞÅÎÉÅ 5 ÍÉÎÕÔ"
+
+#: login-utils/shutdown.c:342
+msgid "Login is therefore prohibited."
+msgstr "óÌÅÄÏ×ÁÔÅÌØÎÏ, ×ÈÏÄ × ÓÉÓÔÅÍÕ ÚÁÐÒÅÝÅÎ."
+
+#: login-utils/shutdown.c:364
+#, c-format
+msgid "rebooted by %s: %s"
+msgstr "ÐÅÒÅÚÁÇÒÕÖÅΠ%s'ÏÍ: %s"
+
+#: login-utils/shutdown.c:367
+#, c-format
+msgid "halted by %s: %s"
+msgstr "ÏÓÔÁÎÏ×ÌÅΠ%s'ÏÍ: %s"
+
+#: login-utils/shutdown.c:431
+msgid ""
+"\n"
+"Why am I still alive after reboot?"
+msgstr ""
+"\n"
+"ðÏÞÅÍÕ Ñ ×ÓÅ ÅÝÅ ÖÉ× ÐÏÓÌÅ ÐÅÒÅÚÁÇÒÕÚËÉ?"
+
+#: login-utils/shutdown.c:433
+msgid ""
+"\n"
+"Now you can turn off the power..."
+msgstr ""
+"\n"
+"ôÅÐÅÒØ ×Ù ÍÏÖÅÔÅ ×ÙËÌÀÞÉÔØ ÐÉÔÁÎÉÅ..."
+
+#: login-utils/shutdown.c:449
+#, c-format
+msgid "Calling kernel power-off facility...\n"
+msgstr "÷ÙÚÙ×ÁÅÔÓÑ ÓÒÅÄÓÔ×Ï ÑÄÒÁ ÄÌÑ ×ÙËÌÀÞÅÎÉÑ ÐÉÔÁÎÉÑ...\n"
+
+#: login-utils/shutdown.c:452
+#, c-format
+msgid "Error powering off\t%s\n"
+msgstr "ïÛÉÂËÁ ×ÙËÌÀÞÅÎÉÑ ÐÉÔÁÎÉÑ\t%s\n"
+
+#: login-utils/shutdown.c:460
+#, c-format
+msgid "Executing the program \"%s\" ...\n"
+msgstr "÷ÙÐÏÌÎÅÎÉÅ ÐÒÏÇÒÁÍÍÙ \"%s\" ...\n"
+
+#: login-utils/shutdown.c:463
+#, c-format
+msgid "Error executing\t%s\n"
+msgstr "ïÛÉÂËÁ ×ÙÐÏÌÎÅÎÉÑ\t%s\n"
+
+#: login-utils/shutdown.c:490
+#, c-format
+msgid "URGENT: broadcast message from %s:"
+msgstr "óòïþîï: ÛÉÒÏËÏ×ÅÝÁÔÅÌØÎÏÅ ÓÏÏÂÝÅÎÉÅ ÏÔ %s:"
+
+#: login-utils/shutdown.c:496
+#, c-format
+msgid "System going down in %d hours %d minutes"
+msgstr "óÉÓÔÅÍÁ ÚÁ×ÅÒÛÉÔ Ó×ÏÀ ÒÁÂÏÔÕ ÞÅÒÅÚ %d ÞÁÓÏ× %d ÍÉÎÕÔ"
+
+#: login-utils/shutdown.c:499
+#, c-format
+msgid "System going down in 1 hour %d minutes"
+msgstr "óÉÓÔÅÍÁ ÚÁ×ÅÒÛÉÔ Ó×ÏÀ ÒÁÂÏÔÕ ÞÅÒÅÚ 1 ÞÁÓ %d ÍÉÎÕÔ"
+
+#: login-utils/shutdown.c:502
+#, c-format
+msgid "System going down in %d minutes\n"
+msgstr "óÉÓÔÅÍÁ ÚÁ×ÅÒÛÉÔ Ó×ÏÀ ÒÁÂÏÔÕ ÞÅÒÅÚ %d ÍÉÎÕÔ\n"
+
+#: login-utils/shutdown.c:505
+#, c-format
+msgid "System going down in 1 minute\n"
+msgstr "óÉÓÔÅÍÁ ÚÁ×ÅÒÛÉÔ Ó×ÏÀ ÒÁÂÏÔÕ ÞÅÒÅÚ 1 ÍÉÎÕÔÕ\n"
+
+#: login-utils/shutdown.c:507
+#, c-format
+msgid "System going down IMMEDIATELY!\n"
+msgstr "óÉÓÔÅÍÁ ÚÁ×ÅÒÛÁÅÔ Ó×ÏÀ ÒÁÂÏÔÕ îåíåäìåîîï!\n"
+
+#: login-utils/shutdown.c:512
+#, c-format
+msgid "\t... %s ...\n"
+msgstr "\t... %s ...\n"
+
+#: login-utils/shutdown.c:569
+msgid "Cannot fork for swapoff. Shrug!"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ÄÏÞÅÒÎÉÊ ÐÒÏÃÅÓÓ ÄÌÑ swapoff. éÇÎÏÒÉÒÕÅÔÓÑ!"
+
+#: login-utils/shutdown.c:577
+msgid "Cannot exec swapoff, hoping umount will do the trick."
+msgstr "îÅ×ÏÚÍÏÖÎÏ ×ÙÐÏÌÎÉÔØ swapoff, ÎÁÄÅÀÓØ, ÞÔÏ umount ÓÐÒÁ×ÉÔÓÑ Ó ÜÔÉÍ."
+
+#: login-utils/shutdown.c:596
+msgid "Cannot fork for umount, trying manually."
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ÄÏÞÅÒÎÉÊ ÐÒÏÃÅÓÓ ÄÌÑ umount, ÐÙÔÁÀÓØ ×ÒÕÞÎÕÀ."
+
+#: login-utils/shutdown.c:605
+#, c-format
+msgid "Cannot exec %s, trying umount.\n"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ×ÙÐÏÌÎÉÔØ %s, ÐÙÔÁÀÓØ umount.\n"
+
+#: login-utils/shutdown.c:609
+msgid "Cannot exec umount, giving up on umount."
+msgstr "îÅ×ÏÚÍÏÖÎÏ ×ÙÐÏÌÎÉÔØ umount, ÓÄÁÀÓØ ÐÅÒÅÄ umount."
+
+#: login-utils/shutdown.c:614
+msgid "Unmounting any remaining filesystems..."
+msgstr "òÁÚÍÏÎÔÉÒÕÀÔÓÑ ×ÓÅ ÏÓÔÁ×ÛÉÅÓÑ ÆÁÊÌÏ×ÙÅ ÓÉÓÔÅÍÙ..."
+
+#: login-utils/shutdown.c:661
+#, c-format
+msgid "shutdown: Couldn't umount %s: %s\n"
+msgstr "shutdown: îÅ×ÏÚÍÏÖÎÏ ÒÁÚÍÏÎÔÉÒÏ×ÁÔØ %s: %s\n"
+
+#: login-utils/simpleinit.c:132
+msgid "Booting to single user mode.\n"
+msgstr "÷ÙÐÏÌÎÑÅÔÓÑ ÚÁÇÒÕÚËÁ × ÏÄÎÏÐÏÌØÚÏ×ÁÔÅÌØÓËÏÍ ÒÅÖÉÍÅ.\n"
+
+#: login-utils/simpleinit.c:136
+msgid "exec of single user shell failed\n"
+msgstr "×ÙÐÏÌÎÅÎÉÅ ÏÄÎÏÐÏÌØÚÏ×ÁÔÅÌØÓËÏÇÏ ÛÅÌÌÁ ÚÁ×ÅÒÛÉÌÏÓØ ÎÅÕÄÁÞÅÊ\n"
+
+#: login-utils/simpleinit.c:140
+msgid "fork of single user shell failed\n"
+msgstr ""
+"ÓÏÚÄÁÎÉÅ ÄÏÞÅÒÎÅÇÏ ÐÒÏÃÅÓÓÁ ÏÄÎÏÐÏÌØÚÏ×ÁÔÅÌØÓËÏÇÏ ÛÅÌÌÁ ÚÁ×ÅÒÛÉÌÏÓØ "
+"ÎÅÕÄÁÞÅÊ\n"
+
+#: login-utils/simpleinit.c:208
+msgid "error opening fifo\n"
+msgstr "ÏÛÉÂËÁ ÏÔËÒÙÔÉÑ fifo\n"
+
+#: login-utils/simpleinit.c:212
+msgid "error setting close-on-exec on /dev/initctl"
+msgstr "ÏÛÉÂËÁ ÕÓÔÁÎÏ×ËÉ close-on-exec ÎÁ /dev/initctl"
+
+#: login-utils/simpleinit.c:259
+msgid "error running finalprog\n"
+msgstr "ÏÛÉÂËÁ ÚÁÐÕÓËÁ finalprog\n"
+
+#: login-utils/simpleinit.c:263
+msgid "error forking finalprog\n"
+msgstr "ÏÛÉÂËÁ ÓÏÚÄÁÎÉÑ ÄÏÞÅÒÎÅÇÏ ÐÒÏÃÅÓÓÁ finalprog\n"
+
+#: login-utils/simpleinit.c:345
+msgid ""
+"\n"
+"Wrong password.\n"
+msgstr ""
+"\n"
+"îÅ×ÅÒÎÙÊ ÐÁÒÏÌØ.\n"
+
+#: login-utils/simpleinit.c:418
+msgid "lstat of path failed\n"
+msgstr "lstat ÐÕÔÉ ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ\n"
+
+#: login-utils/simpleinit.c:426
+msgid "stat of path failed\n"
+msgstr "stat ÐÕÔÉ ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ\n"
+
+#: login-utils/simpleinit.c:434
+msgid "open of directory failed\n"
+msgstr "ÏÔËÒÙÔÉÅ ËÁÔÁÌÏÇÁ ÚÁ×ÅÒÛÉÌÏÓØ ÎÅÕÄÁÞÅÊ\n"
+
+#: login-utils/simpleinit.c:501
+#, c-format
+msgid "respawning: \"%s\" too fast: quenching entry\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:509
+msgid "fork failed\n"
+msgstr "ÓÏÚÄÁÎÉÅ ÄÏÞÅÒÎÅÇÏ ÐÒÏÃÅÓÓÁ ÚÁ×ÅÒÛÉÌÏÓØ ÎÅÕÄÁÞÅÊ\n"
+
+#: login-utils/simpleinit.c:540 text-utils/more.c:1629
+msgid "exec failed\n"
+msgstr "×ÙÐÏÌÎÅÎÉÅ ÚÁ×ÅÒÛÉÌÏÓØ ÎÅÕÄÁÞÅÊ\n"
+
+#: login-utils/simpleinit.c:564
+msgid "cannot open inittab\n"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ inittab\n"
+
+#: login-utils/simpleinit.c:631
+msgid "no TERM or cannot stat tty\n"
+msgstr "ÎÅÔ TERM ÉÌÉ ÎÅ×ÏÚÍÏÖÎÏ ÏÐÒÅÄÅÌÉÔØ ÓÏÓÔÏÑÎÉÅ tty\n"
+
+#: login-utils/simpleinit.c:938
+#, fuzzy, c-format
+msgid "error stopping service: \"%s\"\n"
+msgstr "ÏÛÉÂËÁ ÏÓÔÁÎÏ×ËÉ ÓÅÒ×ÉÓÁ: \"%s\""
+
+#: login-utils/simpleinit.c:950
+#, fuzzy, c-format
+msgid "Stopped service: %s\n"
+msgstr "ÏÛÉÂËÁ ÏÓÔÁÎÏ×ËÉ ÓÅÒ×ÉÓÁ: \"%s\""
+
+#: login-utils/simpleinit.c:1070
+#, fuzzy, c-format
+msgid "error running programme: \"%s\"\n"
+msgstr "ÏÛÉÂËÁ ÚÁÐÕÓËÁ finalprog\n"
+
+#: login-utils/ttymsg.c:75
+msgid "too many iov's (change code in wall/ttymsg.c)"
+msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ iov'Ï× (ÉÚÍÅÎÉÔÅ ËÏÄ × wall/ttymsg.c)"
+
+#: login-utils/ttymsg.c:85
+#, c-format
+msgid "excessively long line arg"
+msgstr "ÞÒÅÚ×ÙÞÁÊÎÏ ÄÌÉÎÎÁÑ ÓÔÒÏËÁ arg"
+
+#: login-utils/ttymsg.c:140
+#, c-format
+msgid "cannot fork"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ÄÏÞÅÒÎÉÊ ÐÒÏÃÅÓÓ"
+
+#: login-utils/ttymsg.c:144
+#, c-format
+msgid "fork: %s"
+msgstr "ÓÏÚÄÁÎÉÅ ÄÏÞÅÒÎÅÇÏ ÐÒÏÃÅÓÓÁ: %s"
+
+#: login-utils/ttymsg.c:174
+#, c-format
+msgid "%s: BAD ERROR"
+msgstr "%s: ðìïèáñ ïûéâëá"
+
+#: login-utils/vipw.c:143
+#, c-format
+msgid "%s: the password file is busy.\n"
+msgstr "%s: ÆÁÊÌ ÐÁÒÏÌÅÊ ÚÁÎÑÔ.\n"
+
+#: login-utils/vipw.c:146
+#, c-format
+msgid "%s: the group file is busy.\n"
+msgstr "%s: ÆÁÊÌ ÇÒÕÐРÚÁÎÑÔ.\n"
+
+#: login-utils/vipw.c:162
+#, c-format
+msgid "%s: the %s file is busy (%s present)\n"
+msgstr "%s: ÆÁÊÌ %s ÚÁÎÑÔ (ÐÒÉÓÕÔÓÔ×ÕÅÔ %s)\n"
+
+#: login-utils/vipw.c:168
+#, c-format
+msgid "%s: can't link %s: %s\n"
+msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ Ó×ÑÚÁÔØ Ó %s: %s\n"
+
+#: login-utils/vipw.c:202
+#, c-format
+msgid "%s: Can't get context for %s"
+msgstr "%s: îÅ×ÏÚÍÏÖÎÏ ÐÏÌÕÞÉÔØ ËÏÎÔÅËÓÔ ÄÌÑ %s"
+
+#: login-utils/vipw.c:208
+#, c-format
+msgid "%s: Can't set context for %s"
+msgstr "%s: îÅ×ÏÚÍÏÖÎÏ ÕÓÔÁÎÏ×ÉÔØ ËÏÎÔÅËÓÔ ÄÌÑ %s"
+
+#: login-utils/vipw.c:217
+#, c-format
+msgid "%s: can't unlock %s: %s (your changes are still in %s)\n"
+msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÒÁÚÂÌÏËÉÒÏ×ÁÔØ %s: %s (×ÁÛÉ ÉÚÍÅÎÅÎÉÑ ×ÓÅ ÅÝÅ × %s)\n"
+
+#: login-utils/vipw.c:240
+#, c-format
+msgid "%s: Cannot fork\n"
+msgstr "%s: îÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ÄÏÞÅÒÎÉÊ ÐÒÏÃÅÓÓ\n"
+
+#: login-utils/vipw.c:276
+#, c-format
+msgid "%s: %s unchanged\n"
+msgstr "%s: %s ÎÅ ÉÚÍÅÎÅÎ\n"
+
+#: login-utils/vipw.c:297
+#, c-format
+msgid "%s: no changes made\n"
+msgstr "%s: ÉÚÍÅÎÅÎÉÑ ÎÅ ÓÄÅÌÁÎÙ\n"
+
+#: login-utils/vipw.c:350
+#, c-format
+msgid "You are using shadow groups on this system.\n"
+msgstr "÷Ù ÉÓÐÏÌØÚÕÅÔÅ ÔÅÎÅ×ÙÅ ÇÒÕÐÐÙ ÎÁ ÜÔÏÊ ÓÉÓÔÅÍÅ.\n"
+
+#: login-utils/vipw.c:351
+#, c-format
+msgid "You are using shadow passwords on this system.\n"
+msgstr "÷Ù ÉÓÐÏÌØÚÕÅÔÅ ÔÅÎÅ×ÙÅ ÐÁÒÏÌÉ ÎÁ ÜÔÏÊ ÓÉÓÔÅÍÅ.\n"
+
+#: login-utils/vipw.c:352
+#, c-format
+msgid "Would you like to edit %s now [y/n]? "
+msgstr "èÏÔÉÔÅ ÌÉ ×Ù ÓÅÊÞÁÓ ÏÔÒÅÄÁËÔÉÒÏ×ÁÔØ %s [Ä/Î]? "
+
+#: login-utils/wall.c:112
+#, c-format
+msgid "usage: %s [file]\n"
+msgstr "ÉÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ÆÁÊÌ]\n"
+
+#: login-utils/wall.c:167
+#, c-format
+msgid "%s: can't open temporary file.\n"
+msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ×ÒÅÍÅÎÎÙÊ ÆÁÊÌ.\n"
+
+#: login-utils/wall.c:194
+#, c-format
+msgid "Broadcast Message from %s@%s"
+msgstr "ûÉÒÏËÏ×ÅÝÁÔÅÌØÎÏÅ ÓÏÏÂÝÅÎÉÅ ÏÔ %s@%s"
+
+#: login-utils/wall.c:212
+#, c-format
+msgid "%s: will not read %s - use stdin.\n"
+msgstr "%s: ÎÅ ÂÕÄÅÔ ÐÒÏÞÉÔÁΠ%s - ÉÓÐÏÌØÚÕÊÔÅ ÓÔÁÎÄÁÒÔÎÙÊ ××ÏÄ.\n"
+
+#: login-utils/wall.c:217
+#, c-format
+msgid "%s: can't read %s.\n"
+msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÐÒÏÞÉÔÁÔØ %s.\n"
+
+#: login-utils/wall.c:240
+#, c-format
+msgid "%s: can't stat temporary file.\n"
+msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÏÐÒÅÄÅÌÉÔØ ÓÏÓÔÏÑÎÉÅ ×ÒÅÍÅÎÎÏÇÏ ÆÁÊÌÁ.\n"
+
+#: login-utils/wall.c:250
+#, c-format
+msgid "%s: can't read temporary file.\n"
+msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÐÒÏÞÉÔÁÔØ ×ÒÅÍÅÎÎÙÊ ÆÁÊÌ.\n"
+
+#: misc-utils/cal.c:362 misc-utils/cal.c:374
+#, fuzzy, c-format
+msgid "illegal day value: use 1-%d"
+msgstr "ÚÁÐÒÅÝÅÎÎÏÅ ÚÎÁÞÅÎÉÅ ÇÏÄÁ: ÉÓÐÏÌØÚÕÊÔÅ 1-9999"
+
+#: misc-utils/cal.c:366
+msgid "illegal month value: use 1-12"
+msgstr "ÚÁÐÒÅÝÅÎÎÏÅ ÚÎÁÞÅÎÉÅ ÍÅÓÑÃÁ: ÉÓÐÏÌØÚÕÊÔÅ 1-12"
+
+#: misc-utils/cal.c:370
+msgid "illegal year value: use 1-9999"
+msgstr "ÚÁÐÒÅÝÅÎÎÏÅ ÚÎÁÞÅÎÉÅ ÇÏÄÁ: ÉÓÐÏÌØÚÕÊÔÅ 1-9999"
+
+#: misc-utils/cal.c:464
+#, c-format
+msgid "%s %d"
+msgstr "%s %d"
+
+#: misc-utils/cal.c:856
+#, fuzzy, c-format
+msgid "usage: cal [-13smjyV] [[[day] month] year]\n"
+msgstr "ÉÓÐÏÌØÚÏ×ÁÎÉÅ: cal [-13smjyV] [[ÍÅÓÑÃ] ÇÏÄ]\n"
+
+#: misc-utils/ddate.c:203
+#, c-format
+msgid "usage: %s [+format] [day month year]\n"
+msgstr "ÉÓÐÏÌØÚÏ×ÁÎÉÅ: %s [+ÆÏÒÍÁÔ] [ÄÅÎØ ÍÅÓÑàÇÏÄ]\n"
+
+#: misc-utils/ddate.c:250
+msgid "St. Tib's Day"
+msgstr "äÅÎØ ó×. éÚÁÂÅÌÌÙ"
+
+#: misc-utils/findfs.c:24
+#, c-format
+msgid "Usage: %s LABEL=<label>|UUID=<uuid>\n"
+msgstr ""
+
+#: misc-utils/findfs.c:55
+#, fuzzy, c-format
+msgid "unable to resolve '%s'"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ%s"
+
+#: misc-utils/kill.c:207
+#, c-format
+msgid "%s: unknown signal %s\n"
+msgstr "%s: ÎÅÉÚ×ÅÓÔÎÙÊ ÓÉÇÎÁÌ %s\n"
+
+#: misc-utils/kill.c:270
+#, c-format
+msgid "%s: can't find process \"%s\"\n"
+msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÎÁÊÔÉ ÐÒÏÃÅÓÓ \"%s\"\n"
+
+#: misc-utils/kill.c:314
+#, c-format
+msgid "%s: unknown signal %s; valid signals:\n"
+msgstr "%s: ÎÅÉÚ×ÅÓÔÎÙÊ ÓÉÇÎÁÌ %s; ×ÅÒÎÙÅ ÓÉÇÎÁÌÙ:\n"
+
+#: misc-utils/kill.c:354
+#, c-format
+msgid "usage: %s [ -s signal | -p ] [ -a ] pid ...\n"
+msgstr "ÉÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ -s ÓÉÇÎÁÌ | -p ] [ -a ] pid ...\n"
+
+#: misc-utils/kill.c:355
+#, c-format
+msgid "       %s -l [ signal ]\n"
+msgstr "       %s -l [ ÓÉÇÎÁÌ ]\n"
+
+#: misc-utils/logger.c:67
+#, fuzzy, c-format
+msgid "logger: openlog: pathname too long\n"
+msgstr "ÉÍÑ ÐÏÌØÚÏ×ÁÔÅÌÑ ÓÌÉÛËÏÍ ÄÌÉÎÎÏÅ.\n"
+
+#: misc-utils/logger.c:75
+#, fuzzy, c-format
+msgid "socket: %s.\n"
+msgstr "òÁÚÍÅÒ ÂÌÏËÁ: %d\n"
+
+#: misc-utils/logger.c:80
+#, c-format
+msgid "connect: %s.\n"
+msgstr ""
+
+#: misc-utils/logger.c:139
+#, c-format
+msgid "logger: %s: %s.\n"
+msgstr "logger: %s: %s.\n"
+
+#: misc-utils/logger.c:246
+#, c-format
+msgid "logger: unknown facility name: %s.\n"
+msgstr "logger: ÉÍÑ ÎÅÉÚ×ÅÓÔÎÏÇÏ ÓÒÅÄÓÔ×Á: %s.\n"
+
+#: misc-utils/logger.c:258
+#, c-format
+msgid "logger: unknown priority name: %s.\n"
+msgstr "logger: ÉÍÑ ÎÅÉÚ×ÅÓÔÎÏÇÏ ÐÒÉÏÒÉÔÅÔÁ: %s.\n"
+
+#: misc-utils/logger.c:285
+#, c-format
+msgid ""
+"usage: logger [-is] [-f file] [-p pri] [-t tag] [-u socket] [ message ... ]\n"
+msgstr ""
+"ÉÓÐÏÌØÚÏ×ÁÎÉÅ: logger [-is] [-f ÆÁÊÌ] [-p ÐÒÉÏÒÉÔÅÔ] [-t ÔÜÇ] [-u ÓÏËÅÔ] "
+"[ ÓÏÏÂÝÅÎÉÅ ... ]\n"
+
+#: misc-utils/look.c:351
+#, c-format
+msgid "usage: look [-dfa] [-t char] string [file]\n"
+msgstr "ÉÓÐÏÌØÚÏ×ÁÎÉÅ: look [-dfa] [-t ÓÉÍ×ÏÌ] ÓÔÒÏËÁ [ÆÁÊÌ]\n"
+
+#: misc-utils/mcookie.c:105 misc-utils/mcookie.c:132
+#, c-format
+msgid "Could not open %s\n"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ %s\n"
+
+#: misc-utils/mcookie.c:109 misc-utils/mcookie.c:128
+#, c-format
+msgid "Got %d bytes from %s\n"
+msgstr "ðÏÌÕÞÅÎÏ %d ÂÁÊÔ ÉÚ %s\n"
+
+#: misc-utils/namei.c:144 misc-utils/namei.c:198 misc-utils/namei.c:220
+#: misc-utils/namei.c:227 misc-utils/namei.c:248
+#, fuzzy
+msgid "out of memory?"
+msgstr "ÎÅÈ×ÁÔËÁ ÐÁÍÑÔÉ?\n"
+
+#: misc-utils/namei.c:189
+#, fuzzy, c-format
+msgid "failed to read symlink: %s"
+msgstr "ioctl() ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ ÐÒÉ ÞÔÅÎÉÉ ×ÒÅÍÅÎÉ ÉÚ %s"
+
+#: misc-utils/namei.c:229
+#, fuzzy, c-format
+msgid "could not stat '%s'"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÐÒÅÄÅÌÉÔØ ÓÏÓÔÏÑÎÉÅ ÕÓÔÒÏÊÓÔ×Á %s"
+
+#: misc-utils/namei.c:411
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage: %s [options] pathname [pathname ...]\n"
+msgstr "ÉÓÐÏÌØÚÏ×ÁÎÉÅ: namei [-mx] ÐÕÔÅ×ÏÅ_ÉÍÑ [ÐÕÔÅ×ÏÅ_ÉÍÑ ...]\n"
+
+#: misc-utils/namei.c:412
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"%d ÒÁÚÄÅÌÙ:\n"
+
+#: misc-utils/namei.c:415
+#, c-format
+msgid ""
+" -h, --help          displays this help text\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:423
+#, c-format
+msgid ""
+"\n"
+"For more information see namei(1).\n"
+msgstr ""
+
+#: misc-utils/namei.c:484
+#, fuzzy, c-format
+msgid "failed to stat: %s"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÐÒÅÄÅÌÉÔØ ÓÏÓÔÏÑÎÉÅ %s"
+
+#: misc-utils/namei.c:495
+#, c-format
+msgid "%s: exceeded limit of symlinks"
+msgstr ""
+
+#: misc-utils/rename.c:38
+#, c-format
+msgid "%s: out of memory\n"
+msgstr "%s: ÎÅÈ×ÁÔËÁ ÐÁÍÑÔÉ\n"
+
+#: misc-utils/rename.c:56
+#, c-format
+msgid "%s: renaming %s to %s failed: %s\n"
+msgstr "%s: ÐÅÒÅÉÍÅÎÏ×ÁÎÉÅ %s × %s ÚÁ×ÅÒÛÉÌÏÓØ ÎÅÕÄÁÞÅÊ: %s\n"
+
+#: misc-utils/rename.c:86
+#, c-format
+msgid "call: %s from to files...\n"
+msgstr "call: %s ÉÚ × ÆÁÊÌÙ...\n"
+
+#: misc-utils/script.c:110
+#, c-format
+msgid ""
+"Warning: `%s' is a link.\n"
+"Use `%s [options] %s' if you really want to use it.\n"
+"Script not started.\n"
+msgstr ""
+"ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: `%s' Ñ×ÌÑÅÔÓÑ ÓÓÙÌËÏÊ.\n"
+"éÓÐÏÌØÚÕÊÔÅ `%s [ÏÐÃÉÉ] %s', ÅÓÌÉ ×Ù ÄÅÊÓÔ×ÉÔÅÌØÎÏ ÈÏÔÉÔÅ ÜÔÏ ÉÓÐÏÌØÚÏ×ÁÔØ.\n"
+"óËÒÉÐÔ ÎÅ ÚÁÐÕÝÅÎ.\n"
+
+#: misc-utils/script.c:173
+#, c-format
+msgid "usage: script [-a] [-f] [-q] [-t] [file]\n"
+msgstr "ÉÓÐÏÌØÚÏ×ÁÎÉÅ: script [-a] [-f] [-q] [-t] [ÆÁÊÌ]\n"
+
+#: misc-utils/script.c:196
+#, c-format
+msgid "Script started, file is %s\n"
+msgstr "óËÒÉÐÔ ÚÁÐÕÝÅÎ, ÆÁÊÌ - %s\n"
+
+#: misc-utils/script.c:244
+#, fuzzy, c-format
+msgid "%s: write error %d: %s\n"
+msgstr "ÏÛÉÂËÁ ÚÁÐÉÓÉ ÎÁ %s\n"
+
+#: misc-utils/script.c:304
+#, c-format
+msgid "Script started on %s"
+msgstr "óËÒÉÐÔ ÚÁÐÕÝÅΠ%s"
+
+#: misc-utils/script.c:347
+#, fuzzy, c-format
+msgid "%s: write error: %s\n"
+msgstr "ÏÛÉÂËÁ ÚÁÐÉÓÉ ÎÁ %s\n"
+
+#: misc-utils/script.c:354
+#, fuzzy, c-format
+msgid "%s: cannot write script file, error: %s\n"
+msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÎÁÊÔÉ ÕÓÔÒÏÊÓÔ×Ï ÄÌÑ %s\n"
+
+#: misc-utils/script.c:430
+#, c-format
+msgid ""
+"\n"
+"Script done on %s"
+msgstr ""
+"\n"
+"óËÒÉÐÔ ×ÙÐÏÌÎÅΠ%s"
+
+#: misc-utils/script.c:437
+#, c-format
+msgid "Script done, file is %s\n"
+msgstr "óËÒÉÐÔ ×ÙÐÏÌÎÅÎ, ÆÁÊÌ - %s\n"
+
+#: misc-utils/script.c:448
+#, c-format
+msgid "openpty failed\n"
+msgstr "openpty ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ\n"
+
+#: misc-utils/script.c:482
+#, c-format
+msgid "Out of pty's\n"
+msgstr "îÅ È×ÁÔÁÅÔ pty\n"
+
+#: misc-utils/scriptreplay.c:38
+#, c-format
+msgid "%s <timingfile> [<typescript> [<divisor>]]\n"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:53
+#, c-format
+msgid "expected a number, but got '%s'"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:56 misc-utils/scriptreplay.c:60
+#, c-format
+msgid "divisor '%s'"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:104
+#, fuzzy
+msgid "write to stdout failed"
+msgstr "ïÔËÒÙÔÉÅ %s ÚÁ×ÅÒÛÉÌÏÓØ ÎÅÕÄÁÞÅÊ"
+
+#: misc-utils/scriptreplay.c:110
+#, c-format
+msgid "unexpected end of file on %s"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:112
+#, fuzzy, c-format
+msgid "failed to read typescript file %s"
+msgstr "ioctl() ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ ÐÒÉ ÞÔÅÎÉÉ ×ÒÅÍÅÎÉ ÉÚ %s"
+
+#: misc-utils/scriptreplay.c:145
+#, fuzzy, c-format
+msgid "cannot open timing file %s"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ÆÁÊÌ '%s'"
+
+#: misc-utils/scriptreplay.c:148
+#, fuzzy, c-format
+msgid "cannot open typescript file %s"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ÆÁÊÌ '%s'"
+
+#: misc-utils/scriptreplay.c:164
+#, fuzzy, c-format
+msgid "failed to read timing file %s"
+msgstr "ioctl() ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ ÐÒÉ ÞÔÅÎÉÉ ×ÒÅÍÅÎÉ ÉÚ %s"
+
+#: misc-utils/scriptreplay.c:166
+#, fuzzy, c-format
+msgid "timings file %s: %lu: unexpected format"
+msgstr "%s: îÅÏÖÉÄÁÎÎÙÊ ËÏÎÅàÆÁÊÌÁ × ÆÁÊÌÅ %s\n"
+
+#: misc-utils/setterm.c:763
+#, c-format
+msgid "%s: Argument error, usage\n"
+msgstr "%s: ïÛÉÂËÁ ÁÒÇÕÍÅÎÔÁ, ÉÓÐÏÌØÚÏ×ÁÎÉÅ\n"
+
+#: misc-utils/setterm.c:766
+#, c-format
+msgid "  [ -term terminal_name ]\n"
+msgstr "  [ -term ÉÍÑ_ÔÅÒÍÉÎÁÌÁ ]\n"
+
+#: misc-utils/setterm.c:767
+#, c-format
+msgid "  [ -reset ]\n"
+msgstr "  [ -reset ]\n"
+
+#: misc-utils/setterm.c:768
+#, c-format
+msgid "  [ -initialize ]\n"
+msgstr "  [ -initialize ]\n"
+
+#: misc-utils/setterm.c:769
+#, c-format
+msgid "  [ -cursor [on|off] ]\n"
+msgstr "  [ -cursor [on|off] ]\n"
+
+#: misc-utils/setterm.c:771
+#, c-format
+msgid "  [ -snow [on|off] ]\n"
+msgstr "  [ -snow [on|off] ]\n"
+
+#: misc-utils/setterm.c:772
+#, c-format
+msgid "  [ -softscroll [on|off] ]\n"
+msgstr "  [ -softscroll [on|off] ]\n"
+
+#: misc-utils/setterm.c:774
+#, c-format
+msgid "  [ -repeat [on|off] ]\n"
+msgstr "  [ -repeat [on|off] ]\n"
+
+#: misc-utils/setterm.c:775
+#, c-format
+msgid "  [ -appcursorkeys [on|off] ]\n"
+msgstr "  [ -appcursorkeys [on|off] ]\n"
+
+#: misc-utils/setterm.c:776
+#, c-format
+msgid "  [ -linewrap [on|off] ]\n"
+msgstr "  [ -linewrap [on|off] ]\n"
+
+#: misc-utils/setterm.c:777
+#, c-format
+msgid "  [ -default ]\n"
+msgstr "  [ -default ]\n"
+
+#: misc-utils/setterm.c:778
+#, c-format
+msgid "  [ -foreground black|blue|green|cyan"
+msgstr "  [ -foreground black|blue|green|cyan"
+
+#: misc-utils/setterm.c:779 misc-utils/setterm.c:781
+#, c-format
+msgid "|red|magenta|yellow|white|default ]\n"
+msgstr "|red|magenta|yellow|white|default ]\n"
+
+#: misc-utils/setterm.c:780
+#, c-format
+msgid "  [ -background black|blue|green|cyan"
+msgstr "  [ -background black|blue|green|cyan"
+
+#: misc-utils/setterm.c:782
+#, c-format
+msgid "  [ -ulcolor black|grey|blue|green|cyan"
+msgstr "  [ -ulcolor black|grey|blue|green|cyan"
+
+#: misc-utils/setterm.c:783 misc-utils/setterm.c:785 misc-utils/setterm.c:787
+#: misc-utils/setterm.c:789
+#, c-format
+msgid "|red|magenta|yellow|white ]\n"
+msgstr "|red|magenta|yellow|white ]\n"
+
+#: misc-utils/setterm.c:784
+#, c-format
+msgid "  [ -ulcolor bright blue|green|cyan"
+msgstr "  [ -ulcolor bright blue|green|cyan"
+
+#: misc-utils/setterm.c:786
+#, c-format
+msgid "  [ -hbcolor black|grey|blue|green|cyan"
+msgstr "  [ -hbcolor black|grey|blue|green|cyan"
+
+#: misc-utils/setterm.c:788
+#, c-format
+msgid "  [ -hbcolor bright blue|green|cyan"
+msgstr "  [ -hbcolor bright blue|green|cyan"
+
+#: misc-utils/setterm.c:791
+#, c-format
+msgid "  [ -standout [ attr ] ]\n"
+msgstr "  [ -standout [ ÁÔÔÒÉ ] ]\n"
+
+#: misc-utils/setterm.c:793
+#, c-format
+msgid "  [ -inversescreen [on|off] ]\n"
+msgstr "  [ -inversescreen [on|off] ]\n"
+
+#: misc-utils/setterm.c:794
+#, c-format
+msgid "  [ -bold [on|off] ]\n"
+msgstr "  [ -bold [on|off] ]\n"
+
+#: misc-utils/setterm.c:795
+#, c-format
+msgid "  [ -half-bright [on|off] ]\n"
+msgstr "  [ -half-bright [on|off] ]\n"
+
+#: misc-utils/setterm.c:796
+#, c-format
+msgid "  [ -blink [on|off] ]\n"
+msgstr "  [ -blink [on|off] ]\n"
+
+#: misc-utils/setterm.c:797
+#, c-format
+msgid "  [ -reverse [on|off] ]\n"
+msgstr "  [ -reverse [on|off] ]\n"
+
+#: misc-utils/setterm.c:798
+#, c-format
+msgid "  [ -underline [on|off] ]\n"
+msgstr "  [ -underline [on|off] ]\n"
+
+#: misc-utils/setterm.c:799
+#, c-format
+msgid "  [ -store ]\n"
+msgstr "  [ -store ]\n"
+
+#: misc-utils/setterm.c:800
+#, c-format
+msgid "  [ -clear [all|rest] ]\n"
+msgstr "  [ -clear [all|rest] ]\n"
+
+#: misc-utils/setterm.c:801
+#, c-format
+msgid "  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n"
+msgstr "  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n"
+
+#: misc-utils/setterm.c:802
+#, c-format
+msgid "  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n"
+msgstr "  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n"
+
+#: misc-utils/setterm.c:803
+#, c-format
+msgid "  [ -regtabs [1-160] ]\n"
+msgstr "  [ -regtabs [1-160] ]\n"
+
+#: misc-utils/setterm.c:804
+#, fuzzy, c-format
+msgid "  [ -blank [0-60|force|poke] ]\n"
+msgstr "  [ -blank [0-60] ]\n"
+
+#: misc-utils/setterm.c:805
+#, c-format
+msgid "  [ -dump   [1-NR_CONSOLES] ]\n"
+msgstr "  [ -dump   [1-þéóìï_ëïîóïìåê] ]\n"
+
+#: misc-utils/setterm.c:806
+#, c-format
+msgid "  [ -append [1-NR_CONSOLES] ]\n"
+msgstr "  [ -append [1-þéóìï_ëïîóïìåê] ]\n"
+
+#: misc-utils/setterm.c:807
+#, c-format
+msgid "  [ -file dumpfilename ]\n"
+msgstr "  [ -file ÉÍÑ_ÆÁÊÌÁ_ÄÁÍÐÁ ]\n"
+
+#: misc-utils/setterm.c:808
+#, c-format
+msgid "  [ -msg [on|off] ]\n"
+msgstr "  [ -msg [on|off] ]\n"
+
+#: misc-utils/setterm.c:809
+#, c-format
+msgid "  [ -msglevel [0-8] ]\n"
+msgstr "  [ -msglevel [0-8] ]\n"
+
+#: misc-utils/setterm.c:810
+#, c-format
+msgid "  [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+msgstr "  [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+
+#: misc-utils/setterm.c:811
+#, c-format
+msgid "  [ -powerdown [0-60] ]\n"
+msgstr "  [ -powerdown [0-60] ]\n"
+
+#: misc-utils/setterm.c:812
+#, c-format
+msgid "  [ -blength [0-2000] ]\n"
+msgstr "  [ -blength [0-2000] ]\n"
+
+#: misc-utils/setterm.c:813
+#, c-format
+msgid "  [ -bfreq freqnumber ]\n"
+msgstr "  [ -bfreq ÞÁÓÔÏÔÁ ]\n"
+
+#: misc-utils/setterm.c:1065
+#, fuzzy, c-format
+msgid "cannot force blank\n"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ÄÏÞÅÒÎÉÊ ÐÒÏÃÅÓÓ"
+
+#: misc-utils/setterm.c:1069
+#, fuzzy, c-format
+msgid "cannot force unblank\n"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ÄÏÞÅÒÎÉÊ ÐÒÏÃÅÓÓ"
+
+#: misc-utils/setterm.c:1075
+#, fuzzy, c-format
+msgid "cannot get blank status\n"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ %s\n"
+
+#: misc-utils/setterm.c:1087
+#, c-format
+msgid "cannot (un)set powersave mode\n"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÕÓÔÁÎÏ×ÉÔØ/ÓÎÑÔØ ÒÅÖÉÍ ÜÎÅÒÇÏÓÂÅÒÅÖÅÎÉÑ\n"
+
+#: misc-utils/setterm.c:1126 misc-utils/setterm.c:1134
+#, c-format
+msgid "klogctl error: %s\n"
+msgstr "ÏÛÉÂËÁ klogctl: %s\n"
+
+#: misc-utils/setterm.c:1200
+#, c-format
+msgid "Error writing screendump\n"
+msgstr "ïÛÉÂËÁ ÚÁÐÉÓÉ ÄÁÍÐÁ ÜËÒÁÎÁ\n"
+
+#: misc-utils/setterm.c:1207
+#, fuzzy, c-format
+msgid "Couldn't read %s\n"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ %s\n"
+
+#: misc-utils/setterm.c:1261
+#, c-format
+msgid "%s: $TERM is not defined.\n"
+msgstr "%s: ÐÅÒÅÍÅÎÎÁÑ $TERM ÎÅ ÏÐÒÅÄÅÌÅÎÁ.\n"
+
+#: misc-utils/uuidd.c:46
+#, fuzzy, c-format
+msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n"
+msgstr ""
+"ÉÓÐÏÌØÚÏ×ÁÎÉÅ: last [-#] [-f ÆÁÊÌ] [-t tty] [-h ÉÍÑ_ÈÏÓÔÁ] "
+"[ÐÏÌØÚÏ×ÁÔÅÌØ ...]\n"
+
+#: misc-utils/uuidd.c:48
+#, c-format
+msgid "       %s [-r|t] [-n num] [-s socketpath]\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:50
+#, fuzzy, c-format
+msgid "       %s -k\n"
+msgstr "       %s -l [ ÓÉÇÎÁÌ ]\n"
+
+#: misc-utils/uuidd.c:152
+#, fuzzy
+msgid "bad arguments"
+msgstr "col: ÎÅ×ÅÒÎÙÊ ÁÒÇÕÍÅÎÔ -l %s.\n"
+
+#: misc-utils/uuidd.c:159
+#, fuzzy
+msgid "socket"
+msgstr "ÓÏËÅÔ nfs"
+
+#: misc-utils/uuidd.c:170
+#, fuzzy
+msgid "connect"
+msgstr "nfs ÐÏÄËÌÀÞÅÎÉÅ"
+
+#: misc-utils/uuidd.c:189
+#, fuzzy
+msgid "write"
+msgstr "úÁÐÉÓØ"
+
+#: misc-utils/uuidd.c:197
+#, fuzzy
+msgid "read count"
+msgstr "ÞÔÅÎÉÅ %c\n"
+
+#: misc-utils/uuidd.c:203
+msgid "bad response length"
+msgstr ""
+
+#: misc-utils/uuidd.c:268
+#, c-format
+msgid "uuidd daemon already running at pid %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:276
+#, c-format
+msgid "Couldn't create unix stream socket: %s"
+msgstr ""
+
+#: misc-utils/uuidd.c:305
+#, fuzzy, c-format
+msgid "Couldn't bind unix socket %s: %s\n"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ %s: %s\n"
+
+#: misc-utils/uuidd.c:313
+#, fuzzy, c-format
+msgid "Couldn't listen on unix socket %s: %s\n"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ %s: %s\n"
+
+#: misc-utils/uuidd.c:351
+#, fuzzy, c-format
+msgid "Error reading from client, len = %d\n"
+msgstr "ïÛÉÂËÁ ÞÔÅÎÉÑ %s\n"
+
+#: misc-utils/uuidd.c:359
+#, c-format
+msgid "operation %d, incoming num = %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:378
+#, c-format
+msgid "Generated time UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:388
+#, c-format
+msgid "Generated random UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:397
+#, c-format
+msgid "Generated time UUID %s and %d following\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:415
+#, c-format
+msgid "Generated %d UUID's:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:427
+#, fuzzy, c-format
+msgid "Invalid operation %d\n"
+msgstr "ÎÅ×ÅÒÎÙÊ id"
+
+#: misc-utils/uuidd.c:468 misc-utils/uuidd.c:489
+#, fuzzy, c-format
+msgid "Bad number: %s\n"
+msgstr "%s: ÎÅ×ÅÒÎÏÅ ÚÎÁÞÅÎÉÅ\n"
+
+#: misc-utils/uuidd.c:524 misc-utils/uuidd.c:551
+#, fuzzy, c-format
+msgid "Error calling uuidd daemon (%s): %s\n"
+msgstr "ÏÛÉÂËÁ ÓÍÅÎÙ ÒÅÖÉÍÁ %s: %s\n"
+
+#: misc-utils/uuidd.c:534
+#, c-format
+msgid "%s and subsequent %d UUID's\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:536
+#, c-format
+msgid "List of UUID's:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:557
+#, c-format
+msgid "Unexpected reply length from server %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:574
+#, c-format
+msgid "Couldn't kill uuidd running at pid %d: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:580
+#, c-format
+msgid "Killed uuidd running at pid %d\n"
+msgstr ""
+
+#: misc-utils/uuidgen.c:32
+#, fuzzy, c-format
+msgid "Usage: %s [-r] [-t]\n"
+msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ÏÐÃÉÉ] ÕÓÔÒÏÊÓÔ×Ï...\n"
+
+#: misc-utils/whereis.c:159
+#, c-format
+msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
+msgstr "whereis [ -sbmu ] [ -SBM ËÁÔÁÌÏÇ ... -f ] ÉÍÑ...\n"
+
+#: misc-utils/write.c:101
+#, c-format
+msgid "write: can't find your tty's name\n"
+msgstr "write: ÎÅ×ÏÚÍÏÖÎÏ ÎÁÊÔÉ ÉÍÑ ×ÁÛÅÇÏ tty\n"
+
+#: misc-utils/write.c:112
+#, c-format
+msgid "write: you have write permission turned off.\n"
+msgstr "write: ×ÁÛÅ ÒÁÚÒÅÛÅÎÉÅ ÎÁ ÚÁÐÉÓØ ÂÙÌÏ ×ÙËÌÀÞÅÎÏ.\n"
+
+#: misc-utils/write.c:133
+#, c-format
+msgid "write: %s is not logged in on %s.\n"
+msgstr "write: %s ÎÅ ×ÏÛÅÌ × ÓÉÓÔÅÍÕ %s.\n"
+
+#: misc-utils/write.c:141
+#, c-format
+msgid "write: %s has messages disabled on %s\n"
+msgstr "write: ÄÌÑ %s ÓÏÏÂÝÅÎÉÑ ÏÔËÌÀÞÅÎÙ ÎÁ %s\n"
+
+#: misc-utils/write.c:148
+#, c-format
+msgid "usage: write user [tty]\n"
+msgstr "usage: write ÐÏÌØÚÏ×ÁÔÅÌØ [tty]\n"
+
+#: misc-utils/write.c:236
+#, c-format
+msgid "write: %s is not logged in\n"
+msgstr "write: %s ÎÅ ×ÏÛÅÌ × ÓÉÓÔÅÍÕ\n"
+
+#: misc-utils/write.c:245
+#, c-format
+msgid "write: %s has messages disabled\n"
+msgstr "write: ÄÌÑ %s ÓÏÏÂÝÅÎÉÑ ÏÔËÌÀÞÅÎÙ\n"
+
+#: misc-utils/write.c:249
+#, c-format
+msgid "write: %s is logged in more than once; writing to %s\n"
+msgstr "write: %s ×ÏÛÅÌ × ÓÉÓÔÅÍÕ ÂÏÌÅÅ ÏÄÎÏÇÏ ÒÁÚÁ; ÚÁÐÉÓØ ×ÙÐÏÌÎÑÅÔÓÑ × %s\n"
+
+#: misc-utils/write.c:317
+#, c-format
+msgid "Message from %s@%s (as %s) on %s at %s ..."
+msgstr "óÏÏÂÝÅÎÉÅ ÏÔ %s@%s (ËÁË %s) ÎÁ %s × %s ..."
+
+#: misc-utils/write.c:320
+#, c-format
+msgid "Message from %s@%s on %s at %s ..."
+msgstr "óÏÏÂÝÅÎÉÅ ÏÔ %s@%s ÎÁ %s × %s ..."
+
+#: mount/fstab.c:143
+#, c-format
+msgid "warning: error reading %s: %s"
+msgstr "ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÏÛÉÂËÁ ÞÔÅÎÉÑ %s: %s"
+
+#: mount/fstab.c:171 mount/fstab.c:196
+#, c-format
+msgid "warning: can't open %s: %s"
+msgstr "ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ %s: %s"
+
+#: mount/fstab.c:176
+#, c-format
+msgid "mount: could not open %s - using %s instead\n"
+msgstr "mount: ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ %s - ×ÍÅÓÔÏ ÜÔÏÇÏ ÉÓÐÏÌØÚÕÅÔÓÑ %s\n"
+
+#: mount/fstab.c:589
+#, c-format
+msgid "can't create lock file %s: %s (use -n flag to override)"
+msgstr ""
+"ÎÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ÆÁÊÌ ÂÌÏËÉÒÏ×ËÉ %s: %s (ÉÓÐÏÌØÚÕÊÔÅ ÆÌÁÇ -n ÄÌÑ "
+"ÐÅÒÅÏÐÒÅÄÅÌÅÎÉÑ)"
+
+#: mount/fstab.c:615
+#, c-format
+msgid "can't link lock file %s: %s (use -n flag to override)"
+msgstr ""
+"ÎÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ÓÓÙÌËÕ ÎÁ ÆÁÊÌ ÂÌÏËÉÒÏ×ËÉ %s: %s (ÉÓÐÏÌØÚÕÊÔÅ ÆÌÁÇ -n ÄÌÑ "
+"ÐÅÒÅÏÐÒÅÄÅÌÅÎÉÑ)"
+
+#: mount/fstab.c:631
+#, c-format
+msgid "can't open lock file %s: %s (use -n flag to override)"
+msgstr ""
+"ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ÆÁÊÌ ÂÌÏËÉÒÏ×ËÉ %s: %s (ÉÓÐÏÌØÚÕÊÔÅ ÆÌÁÇ -n ÄÌÑ "
+"ÐÅÒÅÏÐÒÅÄÅÌÅÎÉÑ)"
+
+#: mount/fstab.c:646
+#, c-format
+msgid "Can't lock lock file %s: %s\n"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÂÌÏËÉÒÏ×ÁÔØ ÆÁÊÌ ÂÌÏËÉÒÏ×ËÉ %s: %s\n"
+
+#: mount/fstab.c:660
+#, c-format
+msgid "can't lock lock file %s: %s"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÚÁÂÌÏËÉÒÏ×ÁÔØ ÆÁÊÌ ÂÌÏËÉÒÏ×ËÉ %s: %s"
+
+#: mount/fstab.c:662
+msgid "timed out"
+msgstr "×ÒÅÍÑ ÏÖÉÄÁÎÉÑ ÉÓÔÅËÌÏ"
+
+#: mount/fstab.c:669
+#, c-format
+msgid ""
+"Cannot create link %s\n"
+"Perhaps there is a stale lock file?\n"
+msgstr ""
+"îÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ÓÓÙÌËÕ %s\n"
+"÷ÏÚÍÏÖÎÏ, ÓÕÝÅÓÔ×ÕÅÔ ÕÓÔÁÒÅ×ÛÉÊ ÆÁÊÌ ÂÌÏËÉÒÏ×ËÉ?\n"
+
+#: mount/fstab.c:791 mount/fstab.c:846
+#, c-format
+msgid "cannot open %s (%s) - mtab not updated"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ %s (%s) - mtab ÎÅ ÏÂÎÏ×ÌÅÎ"
+
+#: mount/fstab.c:855
+#, c-format
+msgid "error writing %s: %s"
+msgstr "ÏÛÉÂËÁ ÚÁÐÉÓÉ %s: %s"
+
+#: mount/fstab.c:873
+#, c-format
+msgid "error changing mode of %s: %s\n"
+msgstr "ÏÛÉÂËÁ ÓÍÅÎÙ ÒÅÖÉÍÁ %s: %s\n"
+
+#: mount/fstab.c:886
+#, fuzzy, c-format
+msgid "error changing owner of %s: %s\n"
+msgstr "ÏÛÉÂËÁ ÓÍÅÎÙ ÒÅÖÉÍÁ %s: %s\n"
+
+#: mount/fstab.c:897
+#, c-format
+msgid "can't rename %s to %s: %s\n"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÐÅÒÅÉÍÅÎÏ×ÁÔØ %s × %s: %s\n"
+
+#: mount/lomount.c:364
+#, fuzzy, c-format
+msgid "loop: can't set capacity on device %s: %s\n"
+msgstr "loop: ÎÅ×ÏÚÍÏÖÎÏ ÐÏÌÕÞÉÔØ ÉÎÆÏÒÍÁÃÉÀ Ï ÕÓÔÒÏÊÓÔ×Å %s: %s\n"
+
+#: mount/lomount.c:388
+#, fuzzy, c-format
+msgid ", offset %<PRIu64>"
+msgstr ", ÓÍÅÝÅÎÉÅ %d"
+
+#: mount/lomount.c:391
+#, fuzzy, c-format
+msgid ", sizelimit %<PRIu64>"
+msgstr ", ÏÇÒÁÎÉÞÅÎÉÅ ÎÁ ÒÁÚÍÅÒ %lld"
+
+#: mount/lomount.c:399
+#, fuzzy, c-format
+msgid ", encryption %s (type %<PRIu32>)"
+msgstr ", ÛÉÆÒÏ×ÁÎÉÅ %s (ÔÉР%d)"
+
+#: mount/lomount.c:412
+#, c-format
+msgid ", offset %d"
+msgstr ", ÓÍÅÝÅÎÉÅ %d"
+
+#: mount/lomount.c:415
+#, c-format
+msgid ", encryption type %d\n"
+msgstr ", ÔÉРÛÉÆÒÏ×ÁÎÉÑ %d\n"
+
+#: mount/lomount.c:423
+#, c-format
+msgid "loop: can't get info on device %s: %s\n"
+msgstr "loop: ÎÅ×ÏÚÍÏÖÎÏ ÐÏÌÕÞÉÔØ ÉÎÆÏÒÍÁÃÉÀ Ï ÕÓÔÒÏÊÓÔ×Å %s: %s\n"
+
+#: mount/lomount.c:434
+#, c-format
+msgid "loop: can't open device %s: %s\n"
+msgstr "loop: ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ÕÓÔÒÏÊÓÔ×Ï %s: %s\n"
+
+#: mount/lomount.c:450 mount/lomount.c:482 mount/lomount.c:544
+#: mount/lomount.c:589
+#, fuzzy, c-format
+msgid "%s: /dev directory does not exist."
+msgstr "%s: ÐÏÌØÚÏ×ÁÔÅÌØ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ.\n"
+
+#: mount/lomount.c:461 mount/lomount.c:602
+#, fuzzy, c-format
+msgid "%s: no permission to look at /dev/loop%s<N>"
+msgstr "%s: ÎÅÔ ÒÁÚÒÅÛÅÎÉÑ ÎÁ ÐÒÏÓÍÏÔÒ /dev/loop#"
+
+#: mount/lomount.c:605
+#, c-format
+msgid "%s: could not find any free loop device"
+msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÎÁÊÔÉ ÎÉ ÏÄÎÏÇÏ Ó×ÏÂÏÄÎÏÇÏ ÕÓÔÒÏÊÓÔ×Á ÏÂÒÁÔÎÏÊ Ó×ÑÚÉ"
+
+#: mount/lomount.c:608
+#, c-format
+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'.)"
+
+#: mount/lomount.c:638
+#, fuzzy
+msgid "Out of memory while reading passphrase"
+msgstr "îÅ È×ÁÔÁÅÔ ÐÁÍÑÔÉ ÐÒÉ Õ×ÅÌÉÞÅÎÉÉ ÂÕÆÅÒÁ.\n"
+
+#: mount/lomount.c:681
+#, fuzzy, c-format
+msgid "warning: %s is already associated with %s\n"
+msgstr "óÅËÔÏÒ %d ÕÖÅ ×ÙÄÅÌÅÎ\n"
+
+#: mount/lomount.c:697
+#, fuzzy, c-format
+msgid "warning: %s: is write-protected, using read-only.\n"
+msgstr "mount: %s%s ÚÁÝÉÝÅΠÏÔ ÚÁÐÉÓÉ, ÍÏÎÔÉÒÕÅÔÓÑ ÔÏÌØËÏ ÄÌÑ ÞÔÅÎÉÑ"
+
+#: mount/lomount.c:733
+#, c-format
+msgid "Couldn't lock into memory, exiting.\n"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÂÌÏËÉÒÏ×ÁÔØ × ÐÁÍÑÔÉ, ÚÁ×ÅÒÛÅÎÉÅ ÒÁÂÏÔÙ.\n"
+
+#: mount/lomount.c:760
+#, c-format
+msgid "ioctl LOOP_SET_FD failed: %s\n"
+msgstr ""
+
+#: mount/lomount.c:817
+#, fuzzy, c-format
+msgid "set_loop(%s,%s,%llu,%llu): success\n"
+msgstr "set_loop(%s,%s,%llu): ÕÓÐÅÛÎÏ ÚÁ×ÅÒÛÅÎ\n"
+
+#: mount/lomount.c:838
+#, c-format
+msgid "del_loop(%s): success\n"
+msgstr "del_loop(%s): ÕÓÐÅÛÎÏ ÚÁ×ÅÒÛÅÎ\n"
+
+#: mount/lomount.c:842
+#, c-format
+msgid "loop: can't delete device %s: %s\n"
+msgstr "loop: ÎÅ×ÏÚÍÏÖÎÏ ÕÄÁÌÉÔØ ÕÓÔÒÏÊÓÔ×Ï %s: %s\n"
+
+#: mount/lomount.c:853
+#, c-format
+msgid "This mount was compiled without loop support. Please recompile.\n"
+msgstr ""
+"üÔÁ ×ÅÒÓÉÑ mount ÂÙÌÁ ÏÔËÏÍÐÉÌÉÒÏ×ÁÎÁ ÂÅÚ ÐÏÄÄÅÒÖËÉ loop. ðÏÖÁÌÕÊÓÔÁ, "
+"×ÙÐÏÌÎÉÔÅ ÐÅÒÅËÏÍÐÉÌÑÃÀ.\n"
+
+#: mount/lomount.c:888
+#, fuzzy, c-format
+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 loop_ÕÓÔÒÏÊÓÔ×Ï                                        # ÐÏÌÕÞÅÎÉÅ "
+"ÉÎÆÏÒÍÁÃÉÉ\n"
+"  %s -d loop_ÕÓÔÒÏÊÓÔ×Ï                                     # ÕÄÁÌÅÎÉÅ\n"
+"  %s -f                                                     # ÐÏÉÓË "
+"ÎÅÉÓÐÏÌØÚÕÅÍÙÈ\n"
+"  %s [ -e ÛÉÆÒÏ×ÁÎÉÅ ] [ -o ÓÍÅÝÅÎÉÅ ] loop_ÕÓÔÒÏÊÓÔ×Ï ÆÁÊÌ # ÕÓÔÁÎÏ×ËÁ\n"
+
+#: mount/lomount.c:898
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -e | --encryption <type> enable data encryption with specified <name/num>\n"
+" -h | --help              this help\n"
+" -o | --offset <num>      start at offset <num> into file\n"
+"      --sizelimit <num>   loop limited to only <num> bytes of the file\n"
+" -p | --pass-fd <num>     read passphrase from file descriptor <num>\n"
+" -r | --read-only         setup read-only loop device\n"
+"      --show              print device name (with -f <file>)\n"
+" -v | --verbose           verbose mode\n"
+"\n"
+msgstr ""
+
+#: mount/lomount.c:1036 mount/lomount.c:1076
+#, fuzzy, c-format
+msgid "Loop device is %s\n"
+msgstr "loop: ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ÕÓÔÒÏÊÓÔ×Ï %s: %s\n"
+
+#: mount/lomount.c:1063
+#, c-format
+msgid "stolen loop=%s...trying again\n"
+msgstr ""
+
+#: mount/lomount.c:1073
+#, fuzzy, c-format
+msgid "%s: %s: device is busy"
+msgstr "umount: %s: ÕÓÔÒÏÊÓÔ×Ï ÚÁÎÑÔÏ"
+
+#: mount/lomount.c:1090
+#, c-format
+msgid "No loop support was available at compile time. Please recompile.\n"
+msgstr ""
+"ðÏÄÄÅÒÖËÁ loop ÂÙÌÁ ÎÅÄÏÓÔÕÐÎÁ ×Ï ×ÒÅÍÑ ËÏÍÐÉÌÑÃÉÉ. ðÏÖÁÌÕÊÓÔÁ, ×ÙÐÏÌÎÉÔÅ "
+"ÐÅÒÅËÏÍÉÌÑÃÉÀ.\n"
+
+#: mount/mount.c:329
+#, c-format
+msgid "mount: improperly quoted option string '%s'"
+msgstr ""
+
+#: mount/mount.c:362
+#, fuzzy, c-format
+msgid "mount: translated %s '%s' to '%s'\n"
+msgstr "mount: ÎÅ×ÏÚÍÏÖÎÏ ÎÁÊÔÉ %s × %s ÉÌÉ %s"
+
+#: mount/mount.c:526
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s"
+msgstr "mount: ÓÏÇÌÁÓÎÏ mtab, %s ÕÖÅ ÐÒÉÍÏÎÔÉÒÏ×ÁΠÎÁ %s"
+
+#: mount/mount.c:531
+#, c-format
+msgid "mount: according to mtab, %s is mounted on %s"
+msgstr "mount: ÓÏÇÌÁÓÎÏ mtab, %s ÐÒÉÍÏÎÔÉÒÏ×ÁΠÎÁ %s"
+
+#: mount/mount.c:555
+#, c-format
+msgid "mount: can't open %s for writing: %s"
+msgstr "mount: ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ %s ÄÌÑ ÚÁÐÉÓÉ: %s"
+
+#: mount/mount.c:572 mount/mount.c:1190
+#, c-format
+msgid "mount: error writing %s: %s"
+msgstr "mount: ÏÛÉÂËÁ ÚÁÐÉÓÉ %s: %s"
+
+#: mount/mount.c:580
+#, c-format
+msgid "mount: error changing mode of %s: %s"
+msgstr "mount: ÏÛÉÂËÁ ÓÍÅÎÙ ÒÅÖÉÍÁ %s: %s"
+
+#: mount/mount.c:663
+#, fuzzy, c-format
+msgid "mount: cannot set group id: %s"
+msgstr "mount: ÎÅ×ÏÚÍÏÖÎÏ ÕÓÔÁÎÏ×ÉÔØ ÓËÏÒÏÓÔØ: %s"
+
+#: mount/mount.c:666
+#, fuzzy, c-format
+msgid "mount: cannot set user id: %s"
+msgstr "mount: ÎÅ×ÏÚÍÏÖÎÏ ÕÓÔÁÎÏ×ÉÔØ ÓËÏÒÏÓÔØ: %s"
+
+#: mount/mount.c:705 mount/mount.c:1809
+#, c-format
+msgid "mount: cannot fork: %s"
+msgstr "mount: ÎÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ÄÏÞÅÒÎÉÊ ÐÒÏÃÅÓÓ: %s"
+
+#: mount/mount.c:842
+#, c-format
+msgid "Trying %s\n"
+msgstr "÷ÙÐÏÌÎÑÅÔÓÑ ÐÏÐÙÔËÁ %s\n"
+
+#: mount/mount.c:870
+#, c-format
+msgid "mount: you didn't specify a filesystem type for %s\n"
+msgstr "mount: ×Ù ÎÅ ÕËÁÚÁÌÉ ÔÉРÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÙ ÄÌÑ %s\n"
+
+#: mount/mount.c:873
+#, c-format
+msgid "       I will try all types mentioned in %s or %s\n"
+msgstr "       Ñ ÐÏÐÒÏÂÕÀ ×ÓÅ ÔÉÐÙ, ÕÐÏÍÉÎÁÀÝÉÅÓÑ × %s ÉÌÉ %s\n"
+
+#: mount/mount.c:876
+#, c-format
+msgid "       and it looks like this is swapspace\n"
+msgstr "       É ÏΠ×ÙÇÌÑÄÉÔ ËÁË ÐÒÏÓÔÒÁÎÓÔ×Ï ÄÌÑ Ó×ÏÐÉÎÇÁ\n"
+
+#: mount/mount.c:878
+#, c-format
+msgid "       I will try type %s\n"
+msgstr "       Ñ ÐÏÐÒÏÂÕÀ ÔÉР%s\n"
+
+#: mount/mount.c:902
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr "%s ×ÙÇÌÑÄÉÔ ËÁË ÐÒÏÓÔÒÁÎÓÔ×Ï ÄÌÑ Ó×ÏÐÉÎÇÁ - ÎÅ ÐÒÉÍÏÎÔÉÒÏ×ÁÎ"
+
+#: mount/mount.c:993
+msgid "mount failed"
+msgstr "mount ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ"
+
+#: mount/mount.c:995
+#, c-format
+msgid "mount: only root can mount %s on %s"
+msgstr "mount: ÔÏÌØËÏ root ÍÏÖÅÔ ÍÏÎÔÉÒÏ×ÁÔØ %s ÎÁ %s"
+
+#: mount/mount.c:1065
+msgid "mount: loop device specified twice"
+msgstr "mount: ÕÓÔÒÏÊÓÔ×Ï ÏÂÒÁÔÎÏÊ Ó×ÑÚÉ ÕËÁÚÁÎÏ Ä×ÁÖÄÙ"
+
+#: mount/mount.c:1070
+msgid "mount: type specified twice"
+msgstr "mount: ÔÉРÕËÁÚÁΠÄ×ÁÖÄÙ"
+
+#: mount/mount.c:1082
+#, c-format
+msgid "mount: skipping the setup of a loop device\n"
+msgstr "mount: ÐÒÏÐÕÓËÁÅÔÓÑ ÕÓÔÁÎÏ×ËÁ ÕÓÔÒÏÊÓÔ×Á ÏÂÒÁÔÎÏÊ Ó×ÑÚÉ\n"
+
+#: mount/mount.c:1094
+#, fuzzy, c-format
+msgid "mount: according to mtab %s is already mounted on %s as loop"
+msgstr "mount: ÓÏÇÌÁÓÎÏ mtab, %s ÕÖÅ ÐÒÉÍÏÎÔÉÒÏ×ÁΠÎÁ %s"
+
+#: mount/mount.c:1104
+#, c-format
+msgid "mount: going to use the loop device %s\n"
+msgstr "mount: ÐÏÄÇÏÔÏ×ËÁ Ë ÉÓÐÏÌØÚÏ×ÁÎÉÀ ÕÓÔÒÏÊÓÔ×Á ÏÂÒÁÔÎÏÊ Ó×ÑÚÉ %s\n"
+
+#: mount/mount.c:1113
+#, c-format
+msgid "mount: stolen loop=%s ...trying again\n"
+msgstr ""
+
+#: mount/mount.c:1118
+#, fuzzy, c-format
+msgid "mount: stolen loop=%s"
+msgstr "umount: %s: %s"
+
+#: mount/mount.c:1123
+#, c-format
+msgid "mount: failed setting up loop device\n"
+msgstr "mount: ÕÓÔÁÎÏ×ËÁ ÕÓÔÒÏÊÓÔ×Á ÏÂÒÁÔÎÏÊ Ó×ÑÚÉ ÚÁ×ÅÒÛÉÌÁÓØ ÎÅÕÄÁÞÅÊ\n"
+
+#: mount/mount.c:1134
+#, c-format
+msgid "mount: setup loop device successfully\n"
+msgstr "mount: ÕÓÔÁÎÏ×ËÁ ÕÓÔÒÏÊÓÔ×Á ÏÂÒÁÔÎÏÊ Ó×ÑÚÉ ÕÓÐÅÛÎÏ ÚÁ×ÅÒÛÉÌÁÓØ\n"
+
+#: mount/mount.c:1168
+#, c-format
+msgid "mount: no %s found - creating it..\n"
+msgstr "mount: %s ÎÅ ÎÁÊÄÅΠ- ÓÏÚÄÁÅÔÓÑ...\n"
+
+#: mount/mount.c:1185
+#, c-format
+msgid "mount: can't open %s: %s"
+msgstr "mount: ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ %s: %s"
+
+#: mount/mount.c:1206
+msgid "mount: argument to -p or --pass-fd must be a number"
+msgstr "mount: ÁÒÇÕÍÅÎÔ ÄÌÑ -p ÉÌÉ --pass-fd ÄÏÌÖÅΠÂÙÔØ ÞÉÓÌÏÍ"
+
+#: mount/mount.c:1219
+#, c-format
+msgid "mount: cannot open %s for setting speed"
+msgstr "mount: ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ %s ÄÌÑ ÕÓÔÁÎÏ×ËÉ ÓËÏÒÏÓÔÉ"
+
+#: mount/mount.c:1222
+#, c-format
+msgid "mount: cannot set speed: %s"
+msgstr "mount: ÎÅ×ÏÚÍÏÖÎÏ ÕÓÔÁÎÏ×ÉÔØ ÓËÏÒÏÓÔØ: %s"
+
+#: mount/mount.c:1279
+#, fuzzy, c-format
+msgid "mount: according to mtab, %s is already mounted on %s\n"
+msgstr "mount: ÓÏÇÌÁÓÎÏ mtab, %s ÕÖÅ ÐÒÉÍÏÎÔÉÒÏ×ÁΠÎÁ %s"
+
+#: mount/mount.c:1358
+msgid ""
+"mount: I could not determine the filesystem type, and none was specified"
+msgstr ""
+"mount: ÎÅ×ÏÚÍÏÖÎÏ ÏÐÒÅÄÅÌÉÔØ ÔÉРÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÙ, É ÎÉ ÏÄÎÁ ÎÅ ÂÙÌÁ ÕËÁÚÁÎÁ"
+
+#: mount/mount.c:1361
+msgid "mount: you must specify the filesystem type"
+msgstr "mount: ×Ù ÄÏÌÖÎÙ ÕËÁÚÁÔØ ÔÉРÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÙ"
+
+#: mount/mount.c:1364
+msgid "mount: mount failed"
+msgstr "mount: ÍÏÎÔÉÒÏ×ÁÎÉÅ ÚÁ×ÅÒÛÉÌÏÓØ ÎÅÕÄÁÞÅÊ"
+
+#: mount/mount.c:1370 mount/mount.c:1407
+#, c-format
+msgid "mount: mount point %s is not a directory"
+msgstr "mount: ÔÏÞËÁ ÍÏÎÔÉÒÏ×ÁÎÉÑ %s ÎÅ Ñ×ÌÑÅÔÓÑ ËÁÔÁÌÏÇÏÍ"
+
+#: mount/mount.c:1372
+msgid "mount: permission denied"
+msgstr "mount: ÄÏÓÔÕРÚÁÐÒÅÝÅÎ"
+
+#: mount/mount.c:1374
+msgid "mount: must be superuser to use mount"
+msgstr ""
+"mount: ÎÅÏÂÈÏÄÉÍÏ ÉÍÅÔØ ÐÒÁ×Á ÓÕÐÅÒÐÏÌØÚÏ×ÁÔÅÌÑ ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ mount"
+
+#: mount/mount.c:1378 mount/mount.c:1382
+#, c-format
+msgid "mount: %s is busy"
+msgstr "mount: %s ÚÁÎÑÔ"
+
+#: mount/mount.c:1384
+msgid "mount: proc already mounted"
+msgstr "mount: proc ÕÖÅ ÐÒÉÍÏÎÔÉÒÏ×ÁÎ"
+
+#: mount/mount.c:1386
+#, c-format
+msgid "mount: %s already mounted or %s busy"
+msgstr "mount: %s ÕÖÅ ÐÒÉÍÏÎÔÉÒÏ×ÁΠÉÌÉ %s ÚÁÎÑÔ"
+
+#: mount/mount.c:1392
+#, c-format
+msgid "mount: mount point %s does not exist"
+msgstr "mount: ÔÏÞËÁ ÍÏÎÔÉÒÏ×ÁÎÉÑ %s ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
+
+#: mount/mount.c:1394
+#, c-format
+msgid "mount: mount point %s is a symbolic link to nowhere"
+msgstr "mount: ÔÏÞËÁ ÍÏÎÔÉÒÏ×ÁÎÉÑ %s Ñ×ÌÑÅÔÓÑ ÓÉÍ×ÏÌÉÞÅÓËÏÊ ÓÓÙÌËÏÊ × ÎÉËÕÄÁ"
+
+#: mount/mount.c:1399
+#, c-format
+msgid "mount: special device %s does not exist"
+msgstr "mount: ÓÐÅÃÉÁÌØÎÏÅ ÕÓÔÒÏÊÓÔ×Ï %s ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
+
+#: mount/mount.c:1411
+#, 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/mount.c:1423
+#, c-format
+msgid "mount: %s not mounted already, or bad option"
+msgstr "mount: %s ÕÖÅ ÎÅ ÐÒÉÍÏÎÔÉÒÏ×ÁΠÉÌÉ ÎÅ×ÅÒÎÁÑ ÏÐÃÉÑ"
+
+#: mount/mount.c:1425
+#, 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/mount.c:1432
+msgid ""
+"       (for several filesystems (e.g. nfs, cifs) you might\n"
+"       need a /sbin/mount.<type> helper program)"
+msgstr ""
+
+#: mount/mount.c:1441
+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/mount.c:1446
+msgid ""
+"       (aren't you trying to mount an extended partition,\n"
+"       instead of some logical partition inside?)"
+msgstr ""
+"       (ÎÅ ÐÙÔÁÅÔÅÓØ ÌÙ ×Ù ÐÒÉÍÏÎÔÉÒÏ×ÁÔØ ÒÁÓÛÉÒÅÎÎÙÊ ÒÁÚÄÅÌ\n"
+"       ×ÍÅÓÔÏ ÏÄÎÏÇÏ ÉÚ ÌÏÇÉÞÅÓËÉÈ ÒÁÚÄÅÌÏ× ×ÎÕÔÒÉ ÎÅÇÏ?)"
+
+#: mount/mount.c:1453
+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/mount.c:1459
+msgid "mount table full"
+msgstr "ÔÁÂÌÉÃÁ ÍÏÎÔÉÒÏ×ÁÎÉÑ ÚÁÐÏÌÎÅÎÁ"
+
+#: mount/mount.c:1461
+#, c-format
+msgid "mount: %s: can't read superblock"
+msgstr "mount: %s: ÎÅ×ÏÚÍÏÖÎÏ ÐÒÏÞÉÔÁÔØ ÓÕÐÅÒÂÌÏË"
+
+#: mount/mount.c:1467
+#, c-format
+msgid "mount: %s: unknown device"
+msgstr "mount: %s: ÎÅÉÚ×ÅÓÔÎÏÅ ÕÓÔÒÏÊÓÔ×Ï"
+
+#: mount/mount.c:1472
+#, c-format
+msgid "mount: unknown filesystem type '%s'"
+msgstr "mount: ÎÅÉÚ×ÅÓÔÎÙÊ ÔÉРÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÙ '%s'"
+
+#: mount/mount.c:1484
+#, c-format
+msgid "mount: probably you meant %s"
+msgstr "mount: ×ÏÚÍÏÖÎÏ ×Ù ÉÍÅÌÉ × ×ÉÄÕ %s"
+
+#: mount/mount.c:1487
+msgid "mount: maybe you meant 'iso9660'?"
+msgstr "mount: ÍÏÖÅÔ ÂÙÔØ ×Ù ÉÍÅÌÉ × ×ÉÄÕ 'iso9660'?"
+
+#: mount/mount.c:1490
+msgid "mount: maybe you meant 'vfat'?"
+msgstr "mount: ÍÏÖÅÔ ÂÙÔØ ×Ù ÉÍÅÌÉ × ×ÉÄÕ 'vfat'?"
+
+#: mount/mount.c:1493
+#, c-format
+msgid "mount: %s has wrong device number or fs type %s not supported"
+msgstr ""
+"mount: %s ÉÍÅÅÔ ÎÅ×ÅÒÎÙÊ ÎÏÍÅÒ ÕÓÔÒÏÊÓÔ×Á ÉÌÉ ÔÉРæó %s ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ"
+
+#: mount/mount.c:1501
+#, c-format
+msgid "mount: %s is not a block device, and stat fails?"
+msgstr ""
+"mount: %s ÎÅ Ñ×ÌÑÅÔÓÑ ÂÌÏÞÎÙÍ ÕÓÔÒÏÊÓÔ×ÏÍ, Á ÏÐÒÅÄÅÌÅÎÉÅ ÓÏÓÔÏÑÎÉÑ "
+"ÎÅ×ÏÚÍÏÖÎÏ?"
+
+#: mount/mount.c:1503
+#, c-format
+msgid ""
+"mount: the kernel does not recognize %s as a block device\n"
+"       (maybe `insmod driver'?)"
+msgstr ""
+"mount: ÑÄÒÏ ÎÅ ÒÁÓÐÏÚÎÁÅÔ %s ËÁË ÂÌÏÞÎÏÅ ÕÓÔÒÏÊÓÔ×Ï\n"
+"       (ÍÏÖÅÔ ÂÙÔØ `insmod driver'?)"
+
+#: mount/mount.c:1506
+#, c-format
+msgid "mount: %s is not a block device (maybe try `-o loop'?)"
+msgstr ""
+"mount: %s ÎÅ Ñ×ÌÑÅÔÓÑ ÂÌÏÞÎÙÍ ÕÓÔÒÏÊÓÔ×ÏÍ (ÍÏÖÅÔ ÐÏÐÒÏÂÏ×ÁÔØ `-o loop'?)"
+
+#: mount/mount.c:1509
+#, c-format
+msgid "mount: %s is not a block device"
+msgstr "mount: %s ÎÅ Ñ×ÌÑÅÔÓÑ ÂÌÏÞÎÙÍ ÕÓÔÒÏÊÓÔ×ÏÍ"
+
+#: mount/mount.c:1514
+#, c-format
+msgid "mount: %s is not a valid block device"
+msgstr "mount: %s ÎÅ Ñ×ÌÑÅÔÓÑ ×ÅÒÎÙÍ ÂÌÏÞÎÙÍ ÕÓÔÒÏÊÓÔ×ÏÍ"
+
+#: mount/mount.c:1517
+msgid "block device "
+msgstr "ÂÌÏÞÎÏÅ ÕÓÔÒÏÊÓÔ×Ï "
+
+#: mount/mount.c:1519
+#, c-format
+msgid "mount: cannot mount %s%s read-only"
+msgstr "mount: ÎÅ×ÏÚÍÏÖÎÏ ÐÒÉÍÏÎÔÉÒÏ×ÁÔØ %s%s ÔÏÌØËÏ ÄÌÑ ÞÔÅÎÉÑ"
+
+#: mount/mount.c:1523
+#, c-format
+msgid "mount: %s%s is write-protected but explicit `-w' flag given"
+msgstr "mount: %s%s ÚÁÝÉÝÅΠÏÔ ÚÁÐÉÓÉ, ÎÏ Ñ×ÎÏ ÕËÁÚÁΠÆÌÁÇ `-w'"
+
+#: mount/mount.c:1527
+#, fuzzy, c-format
+msgid "mount: cannot remount %s%s read-write, is write-protected"
+msgstr "mount: ÎÅ×ÏÚÍÏÖÎÏ ÐÒÉÍÏÎÔÉÒÏ×ÁÔØ %s%s ÔÏÌØËÏ ÄÌÑ ÞÔÅÎÉÑ"
+
+#: mount/mount.c:1542
+#, c-format
+msgid "mount: %s%s is write-protected, mounting read-only"
+msgstr "mount: %s%s ÚÁÝÉÝÅΠÏÔ ÚÁÐÉÓÉ, ÍÏÎÔÉÒÕÅÔÓÑ ÔÏÌØËÏ ÄÌÑ ÞÔÅÎÉÑ"
+
+#: mount/mount.c:1552
+#, fuzzy, c-format
+msgid "mount: no medium found on %s ...trying again\n"
+msgstr "mount: %s ÎÅ ÎÁÊÄÅΠ- ÓÏÚÄÁÅÔÓÑ...\n"
+
+#: mount/mount.c:1558
+#, fuzzy, c-format
+msgid "mount: no medium found on %s"
+msgstr "mount: %s ÕÖÅ ÐÒÉÍÏÎÔÉÒÏ×ÁΠÎÁ %s\n"
+
+#: mount/mount.c:1576
+#, 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/mount.c:1655
+#, c-format
+msgid "mount: no type was given - I'll assume nfs because of the colon\n"
+msgstr "mount: ÎÅ ÂÙÌ ÕËÁÚÁΠÔÉР- ÂÕÄÅÔ ÐÏÄÒÁÚÕÍÅ×ÁÔØÓÑ nfs ÉÚ-ÚÁ Ä×ÏÅÔÏÞÉÑ\n"
+
+#: mount/mount.c:1661
+#, c-format
+msgid "mount: no type was given - I'll assume cifs because of the // prefix\n"
+msgstr ""
+"mount: ÎÅ ÂÙÌ ÕËÁÚÁΠÔÉР- ÂÕÄÅÔ ÐÏÄÒÁÚÕÍÅ×ÁÔØÓÑ cifs ÉÚ-ÚÁ ÐÒÅÆÉËÓÁ //\n"
+
+#: mount/mount.c:1756
+#, c-format
+msgid "mount: %s already mounted on %s\n"
+msgstr "mount: %s ÕÖÅ ÐÒÉÍÏÎÔÉÒÏ×ÁΠÎÁ %s\n"
+
+#: mount/mount.c:1890
+#, 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/mount.c:2213
+msgid "mount: only root can do that"
+msgstr "mount: ÔÏÌØËÏ root ÍÏÖÅÔ ÓÄÅÌÁÔØ ÜÔÏ"
+
+#: mount/mount.c:2223
+msgid "nothing was mounted"
+msgstr "ÎÉÞÅÇÏ ÎÅ ÂÙÌÏ ÐÒÉÍÏÎÔÉÒÏ×ÁÎÏ"
+
+#: mount/mount.c:2241 mount/mount.c:2267
+msgid "mount: no such partition found"
+msgstr "mount: ÔÁËÏÊ ÒÁÚÄÅÌ ÎÅ ÎÁÊÄÅÎ"
+
+#: mount/mount.c:2244
+#, c-format
+msgid "mount: can't find %s in %s or %s"
+msgstr "mount: ÎÅ×ÏÚÍÏÖÎÏ ÎÁÊÔÉ %s × %s ÉÌÉ %s"
+
+#: mount/mount_mntent.c:165
+#, 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/mount_mntent.c:216
+#, c-format
+msgid "[mntent]: line %d in %s is bad%s\n"
+msgstr "[mntent]: ÓÔÒÏËÁ %d × %s ÐÌÏÈÁÑ %s\n"
+
+#: mount/mount_mntent.c:219
+msgid "; rest of file ignored"
+msgstr "; ÏÓÔÁÌØÎÁÑ ÞÁÓÔØ ÆÁÊÌÁ ÐÒÏÉÇÎÏÒÉÒÏ×ÁÎÁ"
+
+#: mount/sundries.c:31
+msgid "bug in xstrndup call"
+msgstr "ÏÛÉÂËÁ × ×ÙÚÏ×Å xstrndup"
+
+#: mount/sundries.c:224 mount/sundries.c:280 mount/sundries.c:289
+#: mount/xmalloc.c:11
+msgid "not enough memory"
+msgstr "ÎÅÈ×ÁÔËÁ ÐÁÍÑÔÉ"
+
+#: mount/swapon.c:84
+#, c-format
+msgid ""
+"The <special> parameter:\n"
+" {-L label | LABEL=label}             LABEL of device to be used\n"
+" {-U uuid  | 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"
+"\n"
+msgstr ""
+
+#: mount/swapon.c:92
+#, c-format
+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 ""
+
+#: mount/swapon.c:106
+#, c-format
+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 ""
+
+#: mount/swapon.c:140
+#, fuzzy, c-format
+msgid "%s: unexpected file format"
+msgstr "%s: îÅÏÖÉÄÁÎÎÙÊ ËÏÎÅàÆÁÊÌÁ × ÆÁÊÌÅ %s\n"
+
+#: mount/swapon.c:184 mount/swapon.c:252 mount/swapon.c:397 mount/swapon.c:556
+#: mount/swapon.c:758
+#, fuzzy, c-format
+msgid "%s: open failed"
+msgstr "openpty ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ\n"
+
+#: mount/swapon.c:205
+#, c-format
+msgid "%s: reinitializing the swap."
+msgstr ""
+
+#: mount/swapon.c:209
+#, fuzzy
+msgid "fork failed"
+msgstr "ÓÏÚÄÁÎÉÅ ÄÏÞÅÒÎÅÇÏ ÐÒÏÃÅÓÓÁ ÚÁ×ÅÒÛÉÌÏÓØ ÎÅÕÄÁÞÅÊ\n"
+
+#: mount/swapon.c:225
+#, fuzzy
+msgid "execv failed"
+msgstr "×ÙÐÏÌÎÅÎÉÅ ÚÁ×ÅÒÛÉÌÏÓØ ÎÅÕÄÁÞÅÊ\n"
+
+#: mount/swapon.c:233
+#, fuzzy
+msgid "waitpid failed"
+msgstr "setuid() ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ"
+
+#: mount/swapon.c:257
+#, fuzzy, c-format
+msgid "%s: lseek failed"
+msgstr "ÐÏÉÓË ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ"
+
+#: mount/swapon.c:263
+#, fuzzy, c-format
+msgid "%s: write signature failed"
+msgstr "ïÔËÒÙÔÉÅ %s ÚÁ×ÅÒÛÉÌÏÓØ ÎÅÕÄÁÞÅÊ"
+
+#: mount/swapon.c:350
+#, c-format
+msgid "%s: found %sswap v%d signature string for %d KiB PAGE_SIZE\n"
+msgstr ""
+
+#: mount/swapon.c:370
+#, fuzzy, c-format
+msgid "%s: stat failed"
+msgstr "ÐÏÉÓË ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ"
+
+#: mount/swapon.c:380
+#, fuzzy, c-format
+msgid "%s: insecure permissions %04o, %04o suggested."
+msgstr ""
+"%s: ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: %s ÉÍÅÅÔ ÎÅÂÅÚÏÐÁÓÎÙÅ ÒÁÚÒÅÛÅÎÉÑ %04o, ÒÅËÏÍÅÎÄÕÅÔÓÑ %"
+"04o\n"
+
+#: mount/swapon.c:388
+#, fuzzy, c-format
+msgid "%s: skipping - it appears to have holes."
+msgstr "%s: ðÒÏÐÕÓËÁÅÔÓÑ ÆÁÊÌ %s - ÐÏÈÏÖŠנΣ͠ÉÍÅÀÔÓÑ ÄÙÒÙ.\n"
+
+#: mount/swapon.c:402
+#, fuzzy, c-format
+msgid "%s: get size failed"
+msgstr "ÐÏÉÓË ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ"
+
+#: mount/swapon.c:408
+#, c-format
+msgid "%s: read swap header failed"
+msgstr ""
+
+#: mount/swapon.c:421
+#, c-format
+msgid "%s: last_page 0x%08llx is larger than actual size of swapspace"
+msgstr ""
+
+#: mount/swapon.c:426
+#, c-format
+msgid "%s: swap format pagesize does not match."
+msgstr ""
+
+#: mount/swapon.c:431
+#, c-format
+msgid ""
+"%s: swap format pagesize does not match. (Use --fixpgsz to reinitialize it.)"
+msgstr ""
+
+#: mount/swapon.c:440
+#, c-format
+msgid "%s: software suspend data detected. Rewriting the swap signature."
+msgstr ""
+
+#: mount/swapon.c:464 mount/swapon.c:514
+#, c-format
+msgid "%s on %s\n"
+msgstr "%s ÎÁ %s\n"
+
+#: mount/swapon.c:486
+#, fuzzy, c-format
+msgid "%s: swapon failed"
+msgstr "ÐÏÉÓË ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ"
+
+#: mount/swapon.c:493
+#, fuzzy, c-format
+msgid "cannot find the device for %s"
+msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÎÁÊÔÉ ÕÓÔÒÏÊÓÔ×Ï ÄÌÑ %s\n"
+
+#: mount/swapon.c:526
+#, fuzzy
+msgid "Not superuser."
+msgstr "îÅ ÓÕÐÅÒÐÏÌØÚÏ×ÁÔÅÌØ.\n"
+
+#: mount/swapon.c:529
+#, fuzzy, c-format
+msgid "%s: swapoff failed"
+msgstr "ÐÏÉÓË ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ"
+
+#: mount/umount.c:41
+#, c-format
+msgid "umount: compiled without support for -f\n"
+msgstr "umount: ÏÔËÏÍÐÉÌÉÒÏ×ÁΠÂÅÚ ÐÏÄÄÅÒÖËÉ -f\n"
+
+#: mount/umount.c:111
+#, fuzzy, c-format
+msgid "umount: cannot set group id: %s"
+msgstr "mount: ÎÅ×ÏÚÍÏÖÎÏ ÕÓÔÁÎÏ×ÉÔØ ÓËÏÒÏÓÔØ: %s"
+
+#: mount/umount.c:114
+#, fuzzy, c-format
+msgid "umount: cannot set user id: %s"
+msgstr "mount: ÎÅ×ÏÚÍÏÖÎÏ ÕÓÔÁÎÏ×ÉÔØ ÓËÏÒÏÓÔØ: %s"
+
+#: mount/umount.c:139
+#, c-format
+msgid "umount: cannot fork: %s"
+msgstr "umount: ÎÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ÄÏÞÅÒÎÉÊ ÐÒÏÃÅÓÓ: %s"
+
+#: mount/umount.c:160
+#, c-format
+msgid "umount: %s: invalid block device"
+msgstr "umount: %s: ÎÅ×ÅÒÎÏÅ ÂÌÏÞÎÏÅ ÕÓÔÒÏÊÓÔ×Ï"
+
+#: mount/umount.c:162
+#, c-format
+msgid "umount: %s: not mounted"
+msgstr "umount: %s: ÎÅ ÐÒÉÍÏÎÔÉÒÏ×ÁÎ"
+
+#: mount/umount.c:164
+#, c-format
+msgid "umount: %s: can't write superblock"
+msgstr "umount: %s: ÎÅ×ÏÚÍÏÖÎÏ ÚÁÐÉÓÁÔØ ÓÕÐÅÒÂÌÏË"
+
+#: mount/umount.c:168
+#, 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/umount.c:173
+#, c-format
+msgid "umount: %s: not found"
+msgstr "umount: %s: ÎÅ ÎÁÊÄÅÎ"
+
+#: mount/umount.c:175
+#, c-format
+msgid "umount: %s: must be superuser to umount"
+msgstr ""
+"umount: %s: ÎÅÏÂÈÏÄÉÍÏ ÉÍÅÔØ ÐÒÁ×Á ÓÕÐÅÒÐÏÌØÚÏ×ÁÔÅÌÑ ÄÌÑ ÒÁÚÍÏÎÔÉÒÏ×ÁÎÉÑ"
+
+#: mount/umount.c:177
+#, c-format
+msgid "umount: %s: block devices not permitted on fs"
+msgstr "umount: %s: ÂÌÏÞÎÙÅ ÕÓÔÒÏÊÓÔ×Á ÎÁ fs ÚÁÐÒÅÝÅÎÙ"
+
+#: mount/umount.c:179
+#, c-format
+msgid "umount: %s: %s"
+msgstr "umount: %s: %s"
+
+#: mount/umount.c:235
+#, c-format
+msgid "no umount2, trying umount...\n"
+msgstr "ÎÅÔ umount2, ×ÙÐÏÌÎÑÅÔÓÑ ÐÏÐÙÔËÁ umount...\n"
+
+#: mount/umount.c:252
+#, c-format
+msgid "umount: %s busy - remounted read-only\n"
+msgstr "umount: %s ÚÁÎÑÔ - ÐÅÒÅÍÏÎÔÉÒÏ×ÁΠÔÏÌØËÏ ÄÌÑ ÞÔÅÎÉÑ\n"
+
+#: mount/umount.c:263
+#, c-format
+msgid "umount: could not remount %s read-only\n"
+msgstr "umount: ÎÅ×ÏÚÍÏÖÎÏ ÐÅÒÅÍÏÎÔÉÒÏ×ÁÔØ %s ÔÏÌØËÏ ÄÌÑ ÞÔÅÎÉÑ\n"
+
+#: mount/umount.c:272
+#, c-format
+msgid "%s umounted\n"
+msgstr "%s ÒÁÚÍÏÎÔÉÒÏ×ÁÎ\n"
+
+#: mount/umount.c:367
+msgid "umount: cannot find list of filesystems to unmount"
+msgstr "umount: ÎÅ×ÏÚÍÏÖÎÏ ÎÁÊÔÉ ÓÐÉÓÏË ÆÁÊÌÏ×ÙÈ ÓÉÓÔÅÍ ÄÌÑ ÒÁÚÍÏÎÔÉÒÏ×ÁÎÉÑ"
+
+#: mount/umount.c:397
+#, 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/umount.c:466
+#, fuzzy, c-format
+msgid "device %s is associated with %s\n"
+msgstr "óÅËÔÏÒ %d ÕÖÅ ×ÙÄÅÌÅÎ\n"
+
+#: mount/umount.c:472
+#, fuzzy, c-format
+msgid "device %s is not associated with %s\n"
+msgstr "óÅËÔÏÒ %d ÕÖÅ ×ÙÄÅÌÅÎ\n"
+
+#: mount/umount.c:485
+msgid "Cannot umount \"\"\n"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÒÁÚÍÏÎÔÉÒÏ×ÁÔØ \"\"\n"
+
+#: mount/umount.c:491
+#, c-format
+msgid "Trying to umount %s\n"
+msgstr "÷ÙÐÏÌÎÑÅÔÓÑ ÐÏÐÙÔËÁ ÒÁÚÍÏÎÔÉÒÏ×ÁÔØ %s\n"
+
+#: mount/umount.c:504
+msgid "umount: confused when analyzing mtab"
+msgstr ""
+
+#: mount/umount.c:509
+#, c-format
+msgid "umount: cannot umount %s -- %s is mounted over it on the same point."
+msgstr ""
+
+#: mount/umount.c:516
+#, c-format
+msgid "Could not find %s in mtab\n"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÎÁÊÔÉ %s × mtab\n"
+
+#: mount/umount.c:523
+#, c-format
+msgid "umount: %s is not mounted (according to mtab)"
+msgstr "umount: %s ÎÅ ÐÒÉÍÏÎÔÉÒÏ×ÁΠ(ÓÏÇÌÁÓÎÏ mtab)"
+
+#: mount/umount.c:547
+#, c-format
+msgid "umount: it seems %s is mounted multiple times"
+msgstr "umount: ÐÏÈÏÖÅ, ÞÔÏ %s ÐÒÉÍÏÎÔÉÒÏ×ÁΠÎÅÓËÏÌØËÏ ÒÁÚ"
+
+#: mount/umount.c:561
+#, c-format
+msgid "umount: %s is not in the fstab (and you are not root)"
+msgstr "umount: %s ÎÅ × fstab (Á ×Ù ÎÅ root)"
+
+#: mount/umount.c:567
+#, c-format
+msgid "umount: %s mount disagrees with the fstab"
+msgstr "umount: ÍÏÎÔÉÒÏ×ÁÎÉÅ %s ÐÒÏÔÉ×ÏÒÅÞÉÔ fstab'Õ"
+
+#: mount/umount.c:608
+#, c-format
+msgid "umount: only %s can unmount %s from %s"
+msgstr "umount: ÔÏÌØËÏ %s ÍÏÖÅÔ ÒÁÚÍÏÎÔÉÒÏ×ÁÔØ %s ÏÔ %s"
+
+#: mount/umount.c:695
+msgid "umount: only root can do that"
+msgstr "umount: ÔÏÌØËÏ root ÍÏÖÅÔ ÓÄÅÌÁÔØ ÜÔÏ"
+
+#: schedutils/chrt.c:56
+#, 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"
+"\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 ""
+
+#: schedutils/chrt.c:88
+#, fuzzy, c-format
+msgid "failed to get pid %d's policy"
+msgstr "ïÛÉÂËÁ ÚÁÐÉÓÉ ÒÁÚÄÅÌÁ ÎÁ %s\n"
+
+#: schedutils/chrt.c:90
+#, c-format
+msgid "pid %d's %s scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:112
+#, fuzzy, c-format
+msgid "unknown\n"
+msgstr "ÎÅÉÚ×ÅÓÔÎÙÊ"
+
+#: schedutils/chrt.c:116
+#, c-format
+msgid "failed to get pid %d's attributes"
+msgstr ""
+
+#: schedutils/chrt.c:118
+#, c-format
+msgid "pid %d's %s scheduling priority: %d\n"
+msgstr ""
+
+#: schedutils/chrt.c:147
+#, c-format
+msgid "SCHED_%s min/max priority\t: %d/%d\n"
+msgstr ""
+
+#: schedutils/chrt.c:150
+#, fuzzy, c-format
+msgid "SCHED_%s not supported?\n"
+msgstr "NFS ÞÅÒÅÚ TCP ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ.\n"
+
+#: schedutils/chrt.c:206
+#, fuzzy
+msgid "failed to parse pid"
+msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ : %s\n"
+
+#: schedutils/chrt.c:228
+#, fuzzy
+msgid "current"
+msgstr "ncount"
+
+#: schedutils/chrt.c:236
+#, fuzzy
+msgid "failed to parse priority"
+msgstr "ïÛÉÂËÁ ÚÁÐÉÓÉ ÒÁÚÄÅÌÁ ÎÁ %s\n"
+
+#: schedutils/chrt.c:242
+#, fuzzy, c-format
+msgid "failed to set pid %d's policy"
+msgstr "ïÛÉÂËÁ ÚÁÐÉÓÉ ÒÁÚÄÅÌÁ ÎÁ %s\n"
+
+#: schedutils/chrt.c:251
+#, fuzzy, c-format
+msgid "failed to execute %s"
+msgstr "ioctl() ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ ÐÒÉ ÞÔÅÎÉÉ ×ÒÅÍÅÎÉ ÉÚ %s"
+
+#: schedutils/ionice.c:57
+#, fuzzy
+msgid "ioprio_get failed"
+msgstr "openpty ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ\n"
+
+#: schedutils/ionice.c:75
+#, fuzzy
+msgid "ioprio_set failed"
+msgstr "openpty ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ\n"
+
+#: schedutils/ionice.c:81
+#, c-format
+msgid ""
+"\n"
+"ionice - sets or gets process io scheduling class and priority.\n"
+"\n"
+"Usage:\n"
+"  ionice [ options ] -p <pid> [<pid> ...]\n"
+"  ionoce [ 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 ""
+
+#: schedutils/ionice.c:110 schedutils/ionice.c:112
+#, fuzzy, c-format
+msgid "cannot parse number '%s'"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ %s"
+
+#: schedutils/ionice.c:151
+msgid "ignoring given class data for none class"
+msgstr ""
+
+#: schedutils/ionice.c:159
+msgid "ignoring given class data for idle class"
+msgstr ""
+
+#: schedutils/ionice.c:163
+#, c-format
+msgid "bad prio class %d"
+msgstr ""
+
+#: schedutils/ionice.c:187
+#, fuzzy
+msgid "execvp failed"
+msgstr "×ÙÐÏÌÎÅÎÉÅ ÚÁ×ÅÒÛÉÌÏÓØ ÎÅÕÄÁÞÅÊ\n"
+
+#: sys-utils/ctrlaltdel.c:27
+#, c-format
+msgid "You must be root to set the Ctrl-Alt-Del behaviour.\n"
+msgstr "÷Ù ÄÏÌÖÎÙ ÉÍÅÔØ ÐÒÁ×Á root'Á ÄÌÑ ÕÓÔÁÎÏ×ËÉ ÓÏÂÙÔÉÑ Ctrl-Alt-Del.\n"
+
+#: sys-utils/ctrlaltdel.c:42
+#, c-format
+msgid "Usage: ctrlaltdel hard|soft\n"
+msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: ctrlaltdel hard|soft\n"
+
+#: sys-utils/cytune.c:114
+#, 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\n"
+msgstr ""
+"æÁÊÌ %s, äÌÑ ÐÏÒÏÇÏ×ÏÇÏ ÚÎÁÞÅÎÉÑ %lu, íÁËÓÉÍÕÍ ÓÉÍ×ÏÌÏ× × fifo ÂÙÌÉ %d,\n"
+"É ÍÁËÓÉÍÁÌØÎÁÑ ÓËÏÒÏÓÔØ ÐÅÒÅÄÁÞÉ × ÓÉÍ×ÏÌÁÈ/ÓÅËÕÎÄÕ ÂÙÌÁ %f\n"
+
+#: sys-utils/cytune.c:125
+#, c-format
+msgid ""
+"File %s, For threshold value %lu and timrout value %lu, Maximum characters "
+"in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f\n"
+msgstr ""
+"æÁÊÌ %s, äÌÑ ÐÏÒÏÇÏ×ÏÇÏ ÚÎÁÞÅÎÉÑ %lu É ÚÎÁÞÅÎÉÑ ÔÁÊÍ-ÁÕÔÁ %lu, íÁËÓÉÍÕÍ "
+"ÓÉÍ×ÏÌÏ× × fifo ÂÙÌÉ %d,\n"
+"É ÍÁËÓÉÍÁÌØÎÁÑ ÓËÏÒÏÓÔØ ÐÅÒÅÄÁÞÉ × ÓÉÍ×ÏÌÁÈ/ÓÅËÕÎÄÕ ÂÙÌÁ %f\n"
+
+#: sys-utils/cytune.c:189
+#, c-format
+msgid "Invalid interval value: %s\n"
+msgstr "îÅ×ÅÒÎÏÅ ÚÎÁÞÅÎÉÅ ÉÎÔÅÒ×ÁÌÁ: %s\n"
+
+#: sys-utils/cytune.c:197
+#, c-format
+msgid "Invalid set value: %s\n"
+msgstr "îÅ×ÅÒÎÏÅ ÚÎÁÞÅÎÉÅ ÕÓÔÁÎÏ×ËÉ: %s\n"
+
+#: sys-utils/cytune.c:205
+#, c-format
+msgid "Invalid default value: %s\n"
+msgstr "îÅ×ÅÒÎÏÅ ÚÎÁÞÅÎÉÅ ÐÏ ÕÍÏÌÞÁÎÉÀ: %s\n"
+
+#: sys-utils/cytune.c:213
+#, c-format
+msgid "Invalid set time value: %s\n"
+msgstr "îÅ×ÅÒÎÏÅ ÚÎÁÞÅÎÉÅ ÕÓÔÁÎÏ×ËÉ ×ÒÅÍÅÎÉ: %s\n"
+
+#: sys-utils/cytune.c:221
+#, c-format
+msgid "Invalid default time value: %s\n"
+msgstr "îÅ×ÅÒÎÏÅ ÚÎÁÞÅÎÉÅ ×ÒÅÍÅÎÉ ÐÏ ÕÍÏÌÞÁÎÉÀ: %s\n"
+
+#: sys-utils/cytune.c:238
+#, c-format
+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"
+
+#: sys-utils/cytune.c:250 sys-utils/cytune.c:269 sys-utils/cytune.c:289
+#: sys-utils/cytune.c:339
+#, c-format
+msgid "Can't open %s: %s\n"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ %s: %s\n"
+
+#: sys-utils/cytune.c:257
+#, c-format
+msgid "Can't set %s to threshold %d: %s\n"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÕÓÔÁÎÏ×ÉÔØ %s × ÐÏÒÏÇÏ×ÏÅ ÚÎÁÞÅÎÉÅ %d: %s\n"
+
+#: sys-utils/cytune.c:276
+#, c-format
+msgid "Can't set %s to time threshold %d: %s\n"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÕÓÔÁÎÏ×ÉÔØ %s × ÐÏÒÏÇÏ×ÏÅ ÚÎÁÞÅÎÉÅ ×ÒÅÍÅÎÉ %d: %s\n"
+
+#: sys-utils/cytune.c:294 sys-utils/cytune.c:351 sys-utils/cytune.c:382
+#, c-format
+msgid "Can't get threshold for %s: %s\n"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÐÏÌÕÞÉÔØ ÐÏÒÏÇÏ×ÏÅ ÚÎÁÞÅÎÉÅ ÄÌÑ %s: %s\n"
+
+#: sys-utils/cytune.c:300 sys-utils/cytune.c:357 sys-utils/cytune.c:388
+#, c-format
+msgid "Can't get timeout for %s: %s\n"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÐÏÌÕÞÉÔØ ÔÁÊÍ-ÁÕÔ ÄÌÑ %s: %s\n"
+
+#: sys-utils/cytune.c:306
+#, c-format
+msgid "%s: %ld current threshold and %ld current timeout\n"
+msgstr "%s: %ld ÔÅËÕÝÅÅ ÐÏÒÏÇÏ×ÏÅ ÚÎÁÞÅÎÉÅ É %ld ÔÅËÕÝÉÊ ÔÁÊÍ-ÁÕÔ\n"
+
+#: sys-utils/cytune.c:309
+#, c-format
+msgid "%s: %ld default threshold and %ld default timeout\n"
+msgstr "%s: %ld ÐÏÒÏÇÏ×ÏÅ ÚÎÁÞÅÎÉÅ ÐÏ ÕÍÏÌÞÁÎÉÀ É %ld ÔÁÊÍ-ÁÕÔ ÐÏ ÕÍÏÌÞÁÎÉÀ\n"
+
+#: sys-utils/cytune.c:327
+msgid "Can't set signal handler"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÕÓÔÁÎÏ×ÉÔØ ÏÂÒÁÂÏÔÞÉË ÓÉÇÎÁÌÁ"
+
+#: sys-utils/cytune.c:331 sys-utils/cytune.c:366
+msgid "gettimeofday failed"
+msgstr "gettimeofday ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ"
+
+#: sys-utils/cytune.c:344 sys-utils/cytune.c:376
+#, c-format
+msgid "Can't issue CYGETMON on %s: %s\n"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ×ÙÄÁÔØ CYGETMON ÎÁ %s: %s\n"
+
+#: sys-utils/cytune.c:418
+#, 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:424
+#, c-format
+msgid "   %f int/sec; %f rec, %f send (char/sec)\n"
+msgstr "   %f ÐÒÅÒÙ×/ÓÅË; %f ÚÁÐ, %f ÏÔÐÒÁ×ÌÅÎÏ (ÓÉÍ×/ÓÅË)\n"
+
+#: sys-utils/cytune.c:429
+#, 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:435
+#, c-format
+msgid "   %f int/sec; %f rec (char/sec)\n"
+msgstr "   %f ÐÒÅÒÙ×/ÓÅË; %f ÚÁР(ÓÉÍ×/ÓÅË)\n"
+
+#: sys-utils/dmesg.c:45
+#, fuzzy, c-format
+msgid "Usage: %s [-c] [-n level] [-r] [-s bufsize]\n"
+msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [-c] [-n ÕÒÏ×ÅÎØ] [-s ÒÁÚÍ_ÂÕÆÅÒÁ]\n"
+
+#: sys-utils/flock.c:65
+#, c-format
+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 ""
+
+#: sys-utils/flock.c:192
+#, fuzzy, c-format
+msgid "%s: %s requires exactly one command argument\n"
+msgstr "äÌÑ %s ÔÒÅÂÕÅÔÓÑ ÁÒÇÕÍÅÎÔ\n"
+
+#: sys-utils/flock.c:219
+#, fuzzy, c-format
+msgid "%s: cannot open lock file %s: %s\n"
+msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ %s: %s\n"
+
+#: sys-utils/flock.c:231
+#, fuzzy, c-format
+msgid "%s: bad number: %s\n"
+msgstr "%s: ÎÅ×ÅÒÎÏÅ ÚÎÁÞÅÎÉÅ\n"
+
+#: sys-utils/flock.c:238
+#, c-format
+msgid "%s: requires file descriptor, file or directory\n"
+msgstr ""
+
+#: sys-utils/flock.c:294
+#, fuzzy, c-format
+msgid "%s: fork failed: %s\n"
+msgstr "ÓÏÚÄÁÎÉÅ ÄÏÞÅÒÎÅÇÏ ÐÒÏÃÅÓÓÁ ÚÁ×ÅÒÛÉÌÏÓØ ÎÅÕÄÁÞÅÊ\n"
+
+#: sys-utils/ipcmk.c:84
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage: %s [options]\n"
+"\n"
+msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ÏÐÃÉÉ] ÕÓÔÒÏÊÓÔ×Ï...\n"
+
+#: sys-utils/ipcmk.c:86
+#, c-format
+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 ""
+
+#: sys-utils/ipcmk.c:90
+#, c-format
+msgid ""
+"\n"
+"For more information see ipcmk(1).\n"
+"\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:142
+msgid "create share memory failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:144
+#, fuzzy, c-format
+msgid "Shared memory id: %d\n"
+msgstr ""
+"\n"
+"óÅÇÍÅÎÔ ÓÏ×Í. ÉÓÐ. ÐÁÍÑÔÉ shmid=%d\n"
+
+#: sys-utils/ipcmk.c:150
+msgid "create message queue failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:152
+#, fuzzy, c-format
+msgid "Message queue id: %d\n"
+msgstr ""
+"\n"
+"ïÞÅÒÅÄØ ÓÏÏÂÝÅÎÉÊ msqid=%d\n"
+
+#: sys-utils/ipcmk.c:158
+#, fuzzy
+msgid "create semaphore failed"
+msgstr "×ÙÄÅÌÅÎÏ ÓÅÍÁÆÏÒÏ× = %d\n"
+
+#: sys-utils/ipcmk.c:160
+#, fuzzy, c-format
+msgid "Semaphore id: %d\n"
+msgstr ""
+"\n"
+"íÁÓÓÉ× ÓÅÍÁÆÏÒÏ× semid=%d\n"
+
+#: sys-utils/ipcrm.c:66
+#, c-format
+msgid "invalid id: %s\n"
+msgstr "ÎÅ×ÅÒÎÙÊ id: %s\n"
+
+#: sys-utils/ipcrm.c:84
+#, c-format
+msgid "cannot remove id %s (%s)\n"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÕÄÁÌÉÔØ id %s (%s)\n"
+
+#: sys-utils/ipcrm.c:99
+#, c-format
+msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
+msgstr "ÎÅ ÒÅËÏÍÅÎÄÕÅÍÏÅ ÉÓÐÏÌØÚÏ×ÁÎÉÅ: %s {shm | msg | sem} id ...\n"
+
+#: sys-utils/ipcrm.c:126
+#, c-format
+msgid "unknown resource type: %s\n"
+msgstr "ÎÅÉÚ×ÅÓÔÎÙÊ ÔÉРÒÅÓÕÒÓÁ: %s\n"
+
+#: sys-utils/ipcrm.c:130
+#, c-format
+msgid "resource(s) deleted\n"
+msgstr "ÒÅÓÕÒÓÙ(Ù) ÕÄÁÌÅÎ(Ù)\n"
+
+#: sys-utils/ipcrm.c:140
+#, c-format
+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"
+
+#: sys-utils/ipcrm.c:181
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: ÎÅ×ÅÒÎÁÑ ÏÐÃÉÑ -- %c\n"
+
+#: sys-utils/ipcrm.c:193
+#, c-format
+msgid "%s: illegal key (%s)\n"
+msgstr "%s: ÎÅ×ÅÒÎÙÊ ËÌÀÞ (%s)\n"
+
+#: sys-utils/ipcrm.c:208 sys-utils/ipcrm.c:240
+msgid "permission denied for key"
+msgstr "ÄÌÑ ËÌÀÞÁ ÄÏÓÔÕРÚÁÐÒÅÝÅÎ"
+
+#: sys-utils/ipcrm.c:211 sys-utils/ipcrm.c:250
+msgid "already removed key"
+msgstr "ËÌÀÞ ÕÖÅ ÕÄÁÌÅÎ"
+
+#: sys-utils/ipcrm.c:214 sys-utils/ipcrm.c:245
+msgid "invalid key"
+msgstr "ÎÅ×ÅÒÎÙÊ ËÌÀÞ"
+
+#: sys-utils/ipcrm.c:217 sys-utils/ipcrm.c:255
+msgid "unknown error in key"
+msgstr "ÎÅÉÚ×ÅÓÔÎÁÑ ÏÛÉÂËÁ × ËÌÀÞÅ"
+
+#: sys-utils/ipcrm.c:241
+msgid "permission denied for id"
+msgstr "ÄÌÑ id ÄÏÓÔÕРÚÁÐÒÅÝÅÎ"
+
+#: sys-utils/ipcrm.c:246
+msgid "invalid id"
+msgstr "ÎÅ×ÅÒÎÙÊ id"
+
+#: sys-utils/ipcrm.c:251
+msgid "already removed id"
+msgstr "id ÕÖÅ ÕÄÁÌÅÎ"
+
+#: sys-utils/ipcrm.c:256
+msgid "unknown error in id"
+msgstr "ÎÅÉÚ×ÅÓÔÎÁÑ ÏÛÉÂËÁ × id"
+
+#: sys-utils/ipcrm.c:259
+#, c-format
+msgid "%s: %s (%s)\n"
+msgstr "%s: %s (%s)\n"
+
+#: sys-utils/ipcrm.c:267
+#, c-format
+msgid "%s: unknown argument: %s\n"
+msgstr "%s: ÎÅÉÚ×ÅÓÔÎÙÊ ÁÒÇÕÍÅÎÔ: %s\n"
+
+#: sys-utils/ipcs.c:120
+#, c-format
+msgid "usage : %s -asmq -tclup \n"
+msgstr "ÉÓÐÏÌØÚÏ×ÁÎÉÅ: %s -asmq -tclup \n"
+
+#: sys-utils/ipcs.c:121
+#, c-format
+msgid "\t%s [-s -m -q] -i id\n"
+msgstr "\t%s [-s -m -q] -i id\n"
+
+#: sys-utils/ipcs.c:122
+#, c-format
+msgid "\t%s -h for help.\n"
+msgstr "\t%s -h ÄÌÑ ÓÐÒÁ×ËÉ.\n"
+
+#: sys-utils/ipcs.c:128
+#, c-format
+msgid ""
+"%s provides information on ipc facilities for which you have read access.\n"
+msgstr ""
+"%s ÐÒÅÄÏÓÔÁ×ÌÑÅÔ ÉÎÆÏÒÍÁÃÉÀ Ï ÓÒÅÄÓÔ×ÁÈ ipc, Ë ËÏÔÏÒÙÍ ×Ù ÉÍÅÅÔÅ ÄÏÓÔÕРÎÁ "
+"ÞÔÅÎÉÅ.\n"
+
+#: sys-utils/ipcs.c:130
+#, c-format
+msgid ""
+"Resource Specification:\n"
+"\t-m : shared_mem\n"
+"\t-q : messages\n"
+msgstr ""
+"óÐÅÃÉÆÉËÁÃÉÑ ÒÅÓÕÒÓÁ:\n"
+"\t-m : ÓÏ×Í_ÉÓÐ_ÐÁÍÑÔØ\n"
+"\t-q : ÓÏÏÂÝÅÎÉÑ\n"
+
+#: sys-utils/ipcs.c:131
+#, c-format
+msgid ""
+"\t-s : semaphores\n"
+"\t-a : all (default)\n"
+msgstr ""
+"\t-s : ÓÅÍÁÆÏÒÙ\n"
+"\t-a : ×ÓÅ (ÐÏ ÕÍÏÌÞÁÎÉÀ)\n"
+
+#: sys-utils/ipcs.c:132
+#, c-format
+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"
+
+#: sys-utils/ipcs.c:133
+#, c-format
+msgid ""
+"\t-l : limits\n"
+"\t-u : summary\n"
+msgstr ""
+"\t-l : ÐÒÅÄÅÌÙ\n"
+"\t-u : Ó×ÏÄËÁ\n"
+
+#: sys-utils/ipcs.c:134
+#, c-format
+msgid "-i id [-s -q -m] : details on resource identified by id\n"
+msgstr "-i id [-s -q -m] : ÐÏÄÒÏÂÎÏÓÔÉ Ï ÒÅÓÕÒÓÅ, ÉÄÅÎÔÉÆÉÃÉÒÏ×ÁÎÎÏÍ ÐÏ id\n"
+
+#: sys-utils/ipcs.c:258
+#, c-format
+msgid "kernel not configured for shared memory\n"
+msgstr "ÑÄÒÏ ÎÅ ÎÁÓÔÒÏÅÎÏ ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÓÏ×ÍÅÓÔÎÏ ÉÓÐÏÌØÚÕÅÍÏÊ ÐÁÍÑÔÉ\n"
+
+#: sys-utils/ipcs.c:264
+#, c-format
+msgid "------ Shared Memory Limits --------\n"
+msgstr "------ ðÒÅÄÅÌÙ ÓÏ×Í. ÉÓÐ. ÐÁÍÑÔÉ --------\n"
+
+#: sys-utils/ipcs.c:269
+#, c-format
+msgid "max number of segments = %lu\n"
+msgstr "ÍÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï ÓÅÇÍÅÎÔÏ× = %lu\n"
+
+#: sys-utils/ipcs.c:271
+#, c-format
+msgid "max seg size (kbytes) = %lu\n"
+msgstr "ÍÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÓÅÇÍÅÎÔÁ (ËÂÁÊÔ) = %lu\n"
+
+#: sys-utils/ipcs.c:273
+#, fuzzy, c-format
+msgid "max total shared memory (kbytes) = %llu\n"
+msgstr "ÍÁËÓÉÍÕÍ ÓÕÍÍÁÒÎÏÊ ÓÏ×Í. ÉÓÐ. ÐÁÍÑÔÉ (ËÂÁÊÔ) = %lu\n"
+
+#: sys-utils/ipcs.c:275
+#, c-format
+msgid "min seg size (bytes) = %lu\n"
+msgstr "ÍÉÎÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÓÅÇÍÅÎÔÁ (ÂÁÊÔ) = %lu\n"
+
+#: sys-utils/ipcs.c:280
+#, c-format
+msgid "------ Shared Memory Status --------\n"
+msgstr "------ óÏÓÔÏÑÎÉÅ ÓÏ×Í. ÉÓÐ. ÐÁÍÑÔÉ --------\n"
+
+#: sys-utils/ipcs.c:281
+#, c-format
+msgid "segments allocated %d\n"
+msgstr "×ÙÄÅÌÅÎÏ ÓÅÇÍÅÎÔÏ× %d\n"
+
+#: sys-utils/ipcs.c:282
+#, c-format
+msgid "pages allocated %ld\n"
+msgstr "×ÙÄÅÌÅÎÏ ÓÔÒÁÎÉà%ld\n"
+
+#: sys-utils/ipcs.c:283
+#, c-format
+msgid "pages resident  %ld\n"
+msgstr "ÒÅÚÉÄÅÎÔÎÙÈ ÓÔÒÁÎÉà%ld\n"
+
+#: sys-utils/ipcs.c:284
+#, c-format
+msgid "pages swapped   %ld\n"
+msgstr "ÓÔÒÁÎÉàÓ×ÏÐÁ %ld\n"
+
+#: sys-utils/ipcs.c:285
+#, c-format
+msgid "Swap performance: %ld attempts\t %ld successes\n"
+msgstr "ðÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ Ó×ÏÐÁ: %ld ÐÏÐÙÔÏË \t %ld ÕÓÐÅÈÏ×\n"
+
+#: sys-utils/ipcs.c:290
+#, c-format
+msgid "------ Shared Memory Segment Creators/Owners --------\n"
+msgstr "------ óÏÚÄÁÔÅÌÉ/×ÌÁÄÅÌØÃÙ ÓÅÇÍÅÎÔÁ ÓÏ×Í. ÉÓÐ. ÐÁÍÑÔÉ --------\n"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:298 sys-utils/ipcs.c:305
+#: sys-utils/ipcs.c:311
+msgid "shmid"
+msgstr "shmid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:311 sys-utils/ipcs.c:412
+#: sys-utils/ipcs.c:427 sys-utils/ipcs.c:510 sys-utils/ipcs.c:528
+msgid "perms"
+msgstr "ÐÒÁ×Á"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "cuid"
+msgstr "cuid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "cgid"
+msgstr "cgid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "uid"
+msgstr "uid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "gid"
+msgstr "gid"
+
+#: sys-utils/ipcs.c:296
+#, c-format
+msgid "------ Shared Memory Attach/Detach/Change Times --------\n"
+msgstr ""
+"------ þÉÓÌÏ ÐÏÄËÌÀÞÅÎÉÊ/ÏÔËÌÀÞÅÎÉÊ/ÉÚÍÅÎÅÎÉÑ ÓÏ×Í. ÉÓÐ. ÐÁÍÑÔÉ --------\n"
+
+#: sys-utils/ipcs.c:298 sys-utils/ipcs.c:305 sys-utils/ipcs.c:311
+#: sys-utils/ipcs.c:418 sys-utils/ipcs.c:427 sys-utils/ipcs.c:516
+#: sys-utils/ipcs.c:522 sys-utils/ipcs.c:528
+msgid "owner"
+msgstr "×ÌÁÄÅÌÅÃ"
+
+#: sys-utils/ipcs.c:298
+msgid "attached"
+msgstr "ÐÏÄËÌÀÞÅÎÏ"
+
+#: sys-utils/ipcs.c:298
+msgid "detached"
+msgstr "ÏÔËÌÀÞÅÎÏ"
+
+#: sys-utils/ipcs.c:299
+msgid "changed"
+msgstr "ÉÚÍÅÎÅÎÏ"
+
+#: sys-utils/ipcs.c:303
+#, c-format
+msgid "------ Shared Memory Creator/Last-op --------\n"
+msgstr "------ óÏÚÄÁÔÅÌØ/ÐÏÓÌÅÄÎÑÑ ÏÐÅÒÁÃÉÑ ÓÏ×Í. ÉÓÐ. ÐÁÍÑÔÉ --------\n"
+
+#: sys-utils/ipcs.c:305
+msgid "cpid"
+msgstr "cpid"
+
+#: sys-utils/ipcs.c:305
+msgid "lpid"
+msgstr "lpid"
+
+#: sys-utils/ipcs.c:309
+#, c-format
+msgid "------ Shared Memory Segments --------\n"
+msgstr "------ óÅÇÍÅÎÔÙ ÓÏ×Í. ÉÓÐ. ÐÁÍÑÔÉ --------\n"
+
+#: sys-utils/ipcs.c:311 sys-utils/ipcs.c:427 sys-utils/ipcs.c:528
+msgid "key"
+msgstr "ËÌÀÞ"
+
+#: sys-utils/ipcs.c:311
+msgid "bytes"
+msgstr "ÂÁÊÔÙ"
+
+#: sys-utils/ipcs.c:312
+msgid "nattch"
+msgstr "nattch"
+
+#: sys-utils/ipcs.c:312
+msgid "status"
+msgstr "ÓÏÓÔÏÑÎÉÅ"
+
+#: sys-utils/ipcs.c:333 sys-utils/ipcs.c:335 sys-utils/ipcs.c:337
+#: sys-utils/ipcs.c:448 sys-utils/ipcs.c:450 sys-utils/ipcs.c:549
+#: sys-utils/ipcs.c:551 sys-utils/ipcs.c:553 sys-utils/ipcs.c:604
+#: sys-utils/ipcs.c:606 sys-utils/ipcs.c:634 sys-utils/ipcs.c:636
+#: sys-utils/ipcs.c:638 sys-utils/ipcs.c:661
+msgid "Not set"
+msgstr "îÅ ÕÓÔÁÎÏ×ÌÅÎ"
+
+#: sys-utils/ipcs.c:365
+msgid "dest"
+msgstr "ÎÁÚÎÁÞÅÎÉÅ"
+
+#: sys-utils/ipcs.c:366
+msgid "locked"
+msgstr "ÚÁÂÌÏËÉÒÏ×ÁÎ"
+
+#: sys-utils/ipcs.c:386
+#, c-format
+msgid "kernel not configured for semaphores\n"
+msgstr "ÑÄÒÏ ÎÅ ÎÁÓÔÒÏÅÎÏ ÎÁ ÉÓÐÏÌØÚÏ×ÁÎÉÅ ÓÅÍÁÆÏÒÏ×\n"
+
+#: sys-utils/ipcs.c:392
+#, c-format
+msgid "------ Semaphore Limits --------\n"
+msgstr "------ ðÒÅÄÅÌÙ ÓÅÍÁÆÏÒÏ× --------\n"
+
+#: sys-utils/ipcs.c:396
+#, c-format
+msgid "max number of arrays = %d\n"
+msgstr "ÍÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï ÍÁÓÓÉ×Ï× = %d\n"
+
+#: sys-utils/ipcs.c:397
+#, c-format
+msgid "max semaphores per array = %d\n"
+msgstr "ÍÁËÓÉÍÕÍ ÓÅÍÁÆÏÒÏ× ÎÁ ÍÁÓÓÉ× = %d\n"
+
+#: sys-utils/ipcs.c:398
+#, c-format
+msgid "max semaphores system wide = %d\n"
+msgstr "ÍÁËÓÉÍÕÍ ÓÅÍÁÆÏÒÏ× ÎÁ ×ÓÀ ÓÉÓÔÅÍÕ = %d\n"
+
+#: sys-utils/ipcs.c:399
+#, c-format
+msgid "max ops per semop call = %d\n"
+msgstr "ÍÁËÓÉÍÕÍ ÏÐÅÒÁÃÉÊ ÎÁ ×ÙÚÏ× ÓÅÍÁÆÏÒÁ = %d\n"
+
+#: sys-utils/ipcs.c:400
+#, c-format
+msgid "semaphore max value = %d\n"
+msgstr "ÍÁËÓÉÍÁÌØÎÏÅ ÚÎÁÞÅÎÉÅ ÓÅÍÁÆÏÒÁ = %d\n"
+
+#: sys-utils/ipcs.c:404
+#, c-format
+msgid "------ Semaphore Status --------\n"
+msgstr "------ óÏÓÔÏÑÎÉÅ ÓÅÍÁÆÏÒÁ --------\n"
+
+#: sys-utils/ipcs.c:405
+#, c-format
+msgid "used arrays = %d\n"
+msgstr "ÉÓÐÏÌØÚÏ×ÁÎÏ ÍÁÓÓÉ×Ï× = %d\n"
+
+#: sys-utils/ipcs.c:406
+#, c-format
+msgid "allocated semaphores = %d\n"
+msgstr "×ÙÄÅÌÅÎÏ ÓÅÍÁÆÏÒÏ× = %d\n"
+
+#: sys-utils/ipcs.c:410
+#, c-format
+msgid "------ Semaphore Arrays Creators/Owners --------\n"
+msgstr "------ óÏÚÄÁÔÅÌÉ/×ÌÁÄÅÌØÃÙ ÍÁÓÓÉ×Ï× ÓÅÍÁÆÏÒÏ× --------\n"
+
+#: sys-utils/ipcs.c:412 sys-utils/ipcs.c:418 sys-utils/ipcs.c:427
+msgid "semid"
+msgstr "semid"
+
+#: sys-utils/ipcs.c:416
+#, fuzzy, c-format
+msgid "------ Semaphore Operation/Change Times --------\n"
+msgstr "------ ëÏÌÉÞÅÓÔ×Ï ÏÐÅÒÁÃÉÊ/ÉÚÍÅÎÅÎÉÊ ÓÏ×Í. ÉÓÐ. ÐÁÍÑÔÉ --------\n"
+
+#: sys-utils/ipcs.c:418
+msgid "last-op"
+msgstr "ÐÏÓÌÅÄÎÑÑ ÏÐÅÒÁÃÉÑ"
+
+#: sys-utils/ipcs.c:418
+msgid "last-changed"
+msgstr "ÐÏÓÌÅÄÎÅÅ ÉÚÍÅÎÅÎÉÅ"
+
+#: sys-utils/ipcs.c:425
+#, c-format
+msgid "------ Semaphore Arrays --------\n"
+msgstr "------ íÁÓÓÉ×Ù ÓÅÍÁÆÏÒÏ× --------\n"
+
+#: sys-utils/ipcs.c:427
+msgid "nsems"
+msgstr "nsems"
+
+#: sys-utils/ipcs.c:486
+#, c-format
+msgid "kernel not configured for message queues\n"
+msgstr "ÑÄÒÏ ÎÅ ÎÁÓÔÒÏÅÎÏ ÎÁ ÉÓÐÏÌØÚÏ×ÁÎÉÅ ÏÞÅÒÅÄÉ ÓÏÏÂÝÅÎÉÊ\n"
+
+#: sys-utils/ipcs.c:494
+#, c-format
+msgid "------ Messages: Limits --------\n"
+msgstr "------ óÏÏÂÝÅÎÉÑ: ðÒÅÄÅÌÙ --------\n"
+
+#: sys-utils/ipcs.c:495
+#, c-format
+msgid "max queues system wide = %d\n"
+msgstr "ÍÁËÓÉÍÕÍ ÏÞÅÒÅÄÅÊ ÄÌÑ ×ÓÅÊ ÓÉÓÔÅÍÙ = %d\n"
+
+#: sys-utils/ipcs.c:496
+#, c-format
+msgid "max size of message (bytes) = %d\n"
+msgstr "ÍÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÓÏÏÂÝÅÎÉÑ (ÂÁÊÔ) = %d\n"
+
+#: sys-utils/ipcs.c:497
+#, c-format
+msgid "default max size of queue (bytes) = %d\n"
+msgstr "ÍÁËÓÉÍÁÌØÎÙÊ ÐÏ ÕÍÏÌÞÁÎÉÀ ÒÁÚÍÅÒ ÓÏÏÂÝÅÎÉÑ (ÂÁÊÔ) = %d\n"
+
+#: sys-utils/ipcs.c:501
+#, c-format
+msgid "------ Messages: Status --------\n"
+msgstr "------ óÏÏÂÝÅÎÉÑ: óÏÓÔÏÑÎÉÅ--------\n"
+
+#: sys-utils/ipcs.c:502
+#, c-format
+msgid "allocated queues = %d\n"
+msgstr "×ÙÄÅÌÅÎÏ ÏÞÅÒÅÄÅÊ = %d\n"
+
+#: sys-utils/ipcs.c:503
+#, c-format
+msgid "used headers = %d\n"
+msgstr "ÉÓÐÏÌØÚÏ×ÁÎÏ ÚÁÇÏÌÏ×ËÏ× = %d\n"
+
+#: sys-utils/ipcs.c:504
+#, c-format
+msgid "used space = %d bytes\n"
+msgstr "ÉÓÐÏÌØÚÏ×ÁÎÏ ÐÒÏÓÔÒÁÎÓÔ×Á = %d ÂÁÊÔ\n"
+
+#: sys-utils/ipcs.c:508
+#, c-format
+msgid "------ Message Queues: Creators/Owners --------\n"
+msgstr "------ ïÞÅÒÅÄÉ ÓÏÏÂÝÅÎÉÊ: óÏÚÄÁÔÅÌÉ/×ÌÁÄÅÌØÃÙ--------\n"
+
+#: sys-utils/ipcs.c:510 sys-utils/ipcs.c:516 sys-utils/ipcs.c:522
+#: sys-utils/ipcs.c:528
+msgid "msqid"
+msgstr "msqid"
+
+#: sys-utils/ipcs.c:514
+#, c-format
+msgid "------ Message Queues Send/Recv/Change Times --------\n"
+msgstr ""
+"------ ëÏÌÉÞÅÓÔ×Ï ÏÔÐÒÁ×ÌÅÎÉÊ/ÐÒÉÅÍÁ/ÉÚÍÅÎÅÎÉÊ ÏÞÅÒÅÄÉ ÓÏÏÂÝÅÎÉÊ --------\n"
+
+#: sys-utils/ipcs.c:516
+msgid "send"
+msgstr "ÏÔÐÒÁ×ÌÅÎÏ"
+
+#: sys-utils/ipcs.c:516
+msgid "recv"
+msgstr "ÐÒÉÎÑÔÏ"
+
+#: sys-utils/ipcs.c:516
+msgid "change"
+msgstr "ÉÚÍÅÎÅÎÏ"
+
+#: sys-utils/ipcs.c:520
+#, c-format
+msgid "------ Message Queues PIDs --------\n"
+msgstr "------ PID'Ù ÏÞÅÒÅÄÉ ÓÏÏÂÝÅÎÉÊ --------\n"
+
+#: sys-utils/ipcs.c:522
+msgid "lspid"
+msgstr "lspid"
+
+#: sys-utils/ipcs.c:522
+msgid "lrpid"
+msgstr "lrpid"
+
+#: sys-utils/ipcs.c:526
+#, c-format
+msgid "------ Message Queues --------\n"
+msgstr "------ ïÞÅÒÅÄÉ ÓÏÏÂÝÅÎÉÊ --------\n"
+
+#: sys-utils/ipcs.c:529
+msgid "used-bytes"
+msgstr "ÉÓÐ. ÂÁÊÔÙ"
+
+#: sys-utils/ipcs.c:529
+msgid "messages"
+msgstr "ÓÏÏÂÝÅÎÉÑ"
+
+#: sys-utils/ipcs.c:593
+#, fuzzy
+msgid "shmctl failed"
+msgstr "fsync ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ"
+
+#: sys-utils/ipcs.c:595
+#, c-format
+msgid ""
+"\n"
+"Shared memory Segment shmid=%d\n"
+msgstr ""
+"\n"
+"óÅÇÍÅÎÔ ÓÏ×Í. ÉÓÐ. ÐÁÍÑÔÉ shmid=%d\n"
+
+#: sys-utils/ipcs.c:596
+#, c-format
+msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+
+#: sys-utils/ipcs.c:598
+#, c-format
+msgid "mode=%#o\taccess_perms=%#o\n"
+msgstr "ÒÅÖÉÍ=%#o\tÐÒÁ×Á_ÄÏÓÔÕÐÁ=%#o\n"
+
+#: sys-utils/ipcs.c:600
+#, c-format
+msgid "bytes=%ld\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+msgstr "ÂÁÊÔÙ=%ld\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+
+#: sys-utils/ipcs.c:603
+#, c-format
+msgid "att_time=%-26.24s\n"
+msgstr "×ÒÅÍÑ_ÐÏÄËÌ=%-26.24s\n"
+
+#: sys-utils/ipcs.c:605
+#, c-format
+msgid "det_time=%-26.24s\n"
+msgstr "×ÒÅÍÑ_ÏÔËÌ=%-26.24s\n"
+
+#: sys-utils/ipcs.c:607 sys-utils/ipcs.c:637
+#, c-format
+msgid "change_time=%-26.24s\n"
+msgstr "×ÒÅÍÑ_ÉÚÍÅÎ=%-26.24s\n"
+
+#: sys-utils/ipcs.c:619
+#, fuzzy
+msgid "msgctl failed"
+msgstr "fsync ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ"
+
+#: sys-utils/ipcs.c:621
+#, c-format
+msgid ""
+"\n"
+"Message Queue msqid=%d\n"
+msgstr ""
+"\n"
+"ïÞÅÒÅÄØ ÓÏÏÂÝÅÎÉÊ msqid=%d\n"
+
+#: sys-utils/ipcs.c:622
+#, c-format
+msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tÒÅÖÉÍ=%#o\n"
+
+#: sys-utils/ipcs.c:624
+#, 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:633
+#, c-format
+msgid "send_time=%-26.24s\n"
+msgstr "×ÒÅÍÑ_ÏÔÐÒÁ×ËÉ=%-26.24s\n"
+
+#: sys-utils/ipcs.c:635
+#, c-format
+msgid "rcv_time=%-26.24s\n"
+msgstr "×ÒÅÍÑ_ÐÏÌÕÞÅÎÉÑ=%-26.24s\n"
+
+#: sys-utils/ipcs.c:652 sys-utils/ipcs.c:674
+#, fuzzy
+msgid "semctl failed"
+msgstr "ÐÏÉÓË ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ"
+
+#: sys-utils/ipcs.c:654
+#, c-format
+msgid ""
+"\n"
+"Semaphore Array semid=%d\n"
+msgstr ""
+"\n"
+"íÁÓÓÉ× ÓÅÍÁÆÏÒÏ× semid=%d\n"
+
+#: sys-utils/ipcs.c:655
+#, c-format
+msgid "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+msgstr "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+
+#: sys-utils/ipcs.c:657
+#, c-format
+msgid "mode=%#o, access_perms=%#o\n"
+msgstr "ÒÅÖÉÍ=%#o, ÐÒÁ×Á_ÄÏÓÔÕÐÁ=%#o\n"
+
+#: sys-utils/ipcs.c:659
+#, c-format
+msgid "nsems = %ld\n"
+msgstr "Ë-×Ï_ÓÅÍ = %ld\n"
+
+#: sys-utils/ipcs.c:660
+#, c-format
+msgid "otime = %-26.24s\n"
+msgstr "×ÒÅÍÑ_ÏÐÅÒ = %-26.24s\n"
+
+#: sys-utils/ipcs.c:662
+#, c-format
+msgid "ctime = %-26.24s\n"
+msgstr "×ÒÅÍÑ_ÉÚÍ= %-26.24s\n"
+
+#: sys-utils/ipcs.c:665
+msgid "semnum"
+msgstr "ÞÉÓÌÏ ÓÅÍÁÆÏÒÏ×"
+
+#: sys-utils/ipcs.c:665
+msgid "value"
+msgstr "ÚÎÁÞÅÎÉÅ"
+
+#: sys-utils/ipcs.c:665
+msgid "ncount"
+msgstr "ncount"
+
+#: sys-utils/ipcs.c:665
+msgid "zcount"
+msgstr "zcount"
+
+#: sys-utils/ipcs.c:665
+msgid "pid"
+msgstr "pid"
+
+#: sys-utils/ldattach.c:92
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [ -dhV78neo12 ] [ -s <speed> ] <ldisc> <device>\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:94
+msgid ""
+"\n"
+"Known <ldisc> names:\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:179
+#, fuzzy, c-format
+msgid "invalid speed: %s"
+msgstr "ÎÅ×ÅÒÎÙÊ id: %s\n"
+
+#: sys-utils/ldattach.c:182
+#, fuzzy, c-format
+msgid "ldattach from %s\n"
+msgstr "%s ÉÚ %s\n"
+
+#: sys-utils/ldattach.c:187 text-utils/tailf.c:205
+#, fuzzy
+msgid "invalid option"
+msgstr "ÎÅ×ÅÒÎÙÊ id"
+
+#: sys-utils/ldattach.c:199
+#, fuzzy, c-format
+msgid "invalid line discipline: %s"
+msgstr "ÎÅ×ÅÒÎÙÊ id: %s\n"
+
+#: sys-utils/ldattach.c:207
+#, fuzzy, c-format
+msgid "%s is not a serial line"
+msgstr "%s ÎÅ Ñ×ÌÑÅÔÓÑ ÏÓÏÂÙÍ ÂÌÏÞÎÙÍ ÕÓÔÒÏÊÓÔ×ÏÍ"
+
+#: sys-utils/ldattach.c:213
+#, fuzzy, c-format
+msgid "cannot get terminal attributes for %s"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÐÏÌÕÞÉÔØ ÒÁÚÍÅÒ %s"
+
+#: sys-utils/ldattach.c:216
+#, c-format
+msgid "speed %d unsupported"
+msgstr ""
+
+#: sys-utils/ldattach.c:247
+#, fuzzy, c-format
+msgid "cannot set terminal attributes for %s"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÐÏÌÕÞÉÔØ ÒÁÚÍÅÒ %s"
+
+#: sys-utils/ldattach.c:254
+#, fuzzy
+msgid "cannot set line discipline"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÎÁÊÔÉ ÎÁ ÄÉÓËÏ×ÏÍ ÎÁËÏÐÉÔÅÌÅ"
+
+#: sys-utils/ldattach.c:260
+#, fuzzy
+msgid "cannot daemonize"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÐÏÌÕÞÉÔØ ÒÁÚÍÅÒ %s"
+
+#: sys-utils/lscpu.c:64
+#, fuzzy
+msgid "none"
+msgstr "îÅÔ"
+
+#: sys-utils/lscpu.c:65
+msgid "para"
+msgstr ""
+
+#: sys-utils/lscpu.c:66
+msgid "full"
+msgstr ""
+
+#: sys-utils/lscpu.c:129 sys-utils/lscpu.c:152 sys-utils/lscpu.c:441
+#, fuzzy, c-format
+msgid "error: %s"
+msgstr "ïÛÉÂËÁ RE: "
+
+#: sys-utils/lscpu.c:154
+#, fuzzy, c-format
+msgid "error parse: %s"
+msgstr "ÏÛÉÂËÁ ÞÔÅÎÉÑ %s\n"
+
+#: sys-utils/lscpu.c:176
+#, fuzzy
+msgid "error: strdup failed"
+msgstr "ïÔËÒÙÔÉÅ %s ÚÁ×ÅÒÛÉÌÏÓØ ÎÅÕÄÁÞÅÊ"
+
+#: sys-utils/lscpu.c:259
+#, fuzzy
+msgid "error: uname failed"
+msgstr ""
+"\n"
+"ïÛÉÂËÁ ÚÁËÒÙÔÉÑ ÆÁÊÌÁ\n"
+
+#: sys-utils/lscpu.c:491
+#, fuzzy
+msgid "error: malloc failed"
+msgstr "malloc ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ"
+
+#: sys-utils/lscpu.c:506
+msgid "error: /sys filesystem is not accessable."
+msgstr ""
+
+#: sys-utils/lscpu.c:524
+#, 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"
+"# CPU,Core,Socket,Node"
+msgstr ""
+
+#: sys-utils/lscpu.c:590
+msgid "Thread(s) per core:"
+msgstr ""
+
+#: sys-utils/lscpu.c:591
+msgid "Core(s) per socket:"
+msgstr ""
+
+#: sys-utils/lscpu.c:592
+msgid "CPU socket(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:596
+msgid "NUMA node(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:598
+msgid "Vendor ID:"
+msgstr ""
+
+#: sys-utils/lscpu.c:600
+msgid "CPU family:"
+msgstr ""
+
+#: sys-utils/lscpu.c:602
+msgid "Model:"
+msgstr ""
+
+#: sys-utils/lscpu.c:604
+msgid "Stepping:"
+msgstr ""
+
+#: sys-utils/lscpu.c:606
+msgid "CPU MHz:"
+msgstr ""
+
+#: sys-utils/lscpu.c:609 sys-utils/lscpu.c:611
+#, fuzzy
+msgid "Virtualization:"
+msgstr "óÔÁÒÁÑ ÓÉÔÕÁÃÉÑ:\n"
+
+#: sys-utils/lscpu.c:614
+msgid "Hypervisor vendor:"
+msgstr ""
+
+#: sys-utils/lscpu.c:615
+msgid "Virtualization type:"
+msgstr ""
+
+#: sys-utils/lscpu.c:623
+#, c-format
+msgid "%s cache:"
+msgstr ""
+
+#: sys-utils/lscpu.c:631
+#, fuzzy, c-format
+msgid "Usage: %s [option]\n"
+msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ÏÐÃÉÉ] ÕÓÔÒÏÊÓÔ×Ï...\n"
+
+#: sys-utils/lscpu.c:634
+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 ""
+
+#: sys-utils/lscpu.c:683
+#, fuzzy, c-format
+msgid "error: change working directory to %s."
+msgstr "ÏÛÉÂËÁ ÓÍÅÎÙ ÒÅÖÉÍÁ %s: %s\n"
+
+#: sys-utils/rdev.c:77
+msgid "usage: rdev [ -rv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]"
+msgstr ""
+"ÉÓÐÏÌØÚÏ×ÁÎÉÅ: rdev [ -rv ] [ -o óíåýåîéå ] [ ïâòáú [ úîáþåîéå "
+"[ óíåýåîéå ] ] ]"
+
+#: sys-utils/rdev.c:78
+msgid ""
+"  rdev /dev/fd0  (or rdev /linux, etc.) displays the current ROOT device"
+msgstr ""
+"  rdev /dev/fd0  (ÉÌÉ rdev /linux É Ô.Ä.) ÏÔÏÂÒÁÖÁÅÔ ÔÅËÕÝÅÅ ÕÓÔÒÏÊÓÔ×Ï ROOT"
+
+#: sys-utils/rdev.c:79
+msgid "  rdev /dev/fd0 /dev/hda2         sets ROOT to /dev/hda2"
+msgstr "  rdev /dev/fd0 /dev/hda2         ÕÓÔÁÎÁ×ÌÉ×ÁÅÔ ROOT × /dev/hda2"
+
+#: sys-utils/rdev.c:80
+msgid "  rdev -R /dev/fd0 1              set the ROOTFLAGS (readonly status)"
+msgstr ""
+"  rdev -R /dev/fd0 1              ÕÓÔÁÎÏ×ËÁ ROOTFLAGS (ÓÔÁÔÕÓ ÔÏÌØËÏ ÄÌÑ "
+"ÞÔÅÎÉÑ)"
+
+#: sys-utils/rdev.c:81
+msgid "  rdev -r /dev/fd0 627            set the RAMDISK size"
+msgstr "  rdev -r /dev/fd0 627            ÕÓÔÁÎÏ×ËÁ ÒÁÚÍÅÒÁ RAMDISK"
+
+#: sys-utils/rdev.c:82
+msgid "  rdev -v /dev/fd0 1              set the bootup VIDEOMODE"
+msgstr "  rdev -v /dev/fd0 1              ÕÓÔÁÎÏ×ËÁ VIDEOMODE ÚÁÐÕÓËÁ"
+
+#: sys-utils/rdev.c:83
+msgid "  rdev -o N ...                   use the byte offset N"
+msgstr "  rdev -o N ...                   ÉÓÐÏÌØÚÏ×ÁÎÉÅ ÓÍÅÝÅÎÉÑ ÂÁÊÔÏ× N"
+
+#: sys-utils/rdev.c:84
+msgid "  rootflags ...                   same as rdev -R"
+msgstr "  rootflags ...                   ÔÏ ÖÅ, ÞÔÏ É rdev -R"
+
+#: sys-utils/rdev.c:85
+msgid "  ramsize ...                     same as rdev -r"
+msgstr "  ramsize ...                     ÔÏ ÖÅ, ÞÔÏ É rdev -r"
+
+#: sys-utils/rdev.c:86
+msgid "  vidmode ...                     same as rdev -v"
+msgstr "  vidmode ...                     ÔÏ ÖÅ, ÞÔÏ É rdev -v"
+
+#: sys-utils/rdev.c:87
+msgid ""
+"Note: video modes are: -3=Ask, -2=Extended, -1=NormalVga, 1=key1, 2=key2,..."
+msgstr ""
+"ðÒÉÍÅÞÁÎÉÅ: ×ÉÄÅÏÒÅÖÉÍÙ: -3=óÐÒÏÓÉÔØ, -2=òÁÓÛÉÒÅÎÎÙÊ, -1=ïÂÙÞÎÙÊ Vga, "
+"1=ËÌÀÞ1, 2=ËÌÀÞ2,..."
+
+#: sys-utils/rdev.c:88
+msgid "      use -R 1 to mount root readonly, -R 0 for read/write."
+msgstr ""
+"      ÉÓÐÏÌØÚÕÊÔÅ -R 1 ÄÌÑ ÍÏÎÔÉÒÏ×ÁÎÉÑ ËÏÒÎÅ×ÏÇÏ ËÁÔÁÌÏÇÁ ÔÏÌØËÏ ÄÌÑ "
+"ÞÔÅÎÉÑ, -R 0 ÄÌÑ ÞÔÅÎÉÑ/ÚÁÐÉÓÉ."
+
+#: sys-utils/rdev.c:245
+msgid "missing comma"
+msgstr "ÏÔÓÕÔÓÔ×ÕÅÔ ÚÁÐÑÔÁÑ"
+
+#: sys-utils/readprofile.c:72
+#, c-format
+msgid "out of memory"
+msgstr "ÎÅÈ×ÁÔËÁ ÐÁÍÑÔÉ"
+
+#: sys-utils/readprofile.c:118
+#, 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: éÓÐÏÌØÚÏ×ÁÎÉÅ: \"%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"
+
+#: sys-utils/readprofile.c:227
+#, fuzzy, c-format
+msgid "readprofile: error writing %s: %s\n"
+msgstr "mount: ÏÛÉÂËÁ ÚÁÐÉÓÉ %s: %s"
+
+#: sys-utils/readprofile.c:268
+#, c-format
+msgid "Assuming reversed byte order. Use -n to force native byte order.\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:284
+#, c-format
+msgid "Sampling_step: %i\n"
+msgstr "ûÁÇ_ÄÉÓËÒÅÔÉÚÁÃÉÉ: %i\n"
+
+#: sys-utils/readprofile.c:305 sys-utils/readprofile.c:331
+#, c-format
+msgid "%s: %s(%i): wrong map line\n"
+msgstr "%s: %s(%i): ÎÅ×ÅÒÎÁÑ ÓÔÒÏËÁ map\n"
+
+#: sys-utils/readprofile.c:318
+#, c-format
+msgid "%s: can't find \"_stext\" in %s\n"
+msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÎÁÊÔÉ \"_stext\" × %s\n"
+
+#: sys-utils/readprofile.c:352
+#, c-format
+msgid "%s: profile address out of range. Wrong map file?\n"
+msgstr "%s: ÁÄÒÅÓ profile ÚÁ ÐÒÅÄÅÌÁÍÉ ÄÉÁÐÁÚÏÎÁ. îÅ×ÅÒÎÙÊ ÆÁÊÌ map?\n"
+
+#: sys-utils/readprofile.c:412
+msgid "total"
+msgstr "×ÓÅÇÏ"
+
+#: sys-utils/renice.c:53
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" renice [-n] priority [-p|--pid] pid  [... pid]\n"
+" renice [-n] priority  -g|--pgrp pgrp [... pgrp]\n"
+" renice [-n] priority  -u|--user user [... user]\n"
+" renice -h | --help\n"
+" renice -v | --version\n"
+"\n"
+msgstr ""
+
+#: sys-utils/renice.c:89
+#, fuzzy, c-format
+msgid "renice from %s\n"
+msgstr "%s ÉÚ %s\n"
+
+#: sys-utils/renice.c:126
+#, c-format
+msgid "renice: %s: unknown user\n"
+msgstr "renice: %s: ÎÅÉÚ×ÅÓÔÎÙÊ ÐÏÌØÚÏ×ÁÔÅÌØ\n"
+
+#: sys-utils/renice.c:134
+#, c-format
+msgid "renice: %s: bad value\n"
+msgstr "renice: %s: ÎÅ×ÅÒÎÏÅ ÚÎÁÞÅÎÉÅ\n"
+
+#: sys-utils/renice.c:152 sys-utils/renice.c:164
+msgid "getpriority"
+msgstr "getpriority"
+
+#: sys-utils/renice.c:157
+msgid "setpriority"
+msgstr "setpriority"
+
+#: sys-utils/renice.c:168
+#, c-format
+msgid "%d: old priority %d, new priority %d\n"
+msgstr "%d: ÓÔÁÒÙÊ ÐÒÉÏÒÉÔÅÔ %d, ÎÏ×ÙÊ ÐÒÉÏÒÉÔÅÔ %d\n"
+
+#: sys-utils/rtcwake.c:81
+#, c-format
+msgid ""
+"usage: %s [options]\n"
+"    -d | --device <device>    select rtc device (rtc0|rtc1|...)\n"
+"    -l | --local              RTC uses local timezone\n"
+"    -m | --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"
+"    -V | --version            show version\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:140
+msgid "read rtc time"
+msgstr ""
+
+#: sys-utils/rtcwake.c:145
+msgid "read system time"
+msgstr ""
+
+#: sys-utils/rtcwake.c:163
+msgid "convert rtc time"
+msgstr ""
+
+#: sys-utils/rtcwake.c:222
+msgid "set rtc alarm"
+msgstr ""
+
+#: sys-utils/rtcwake.c:226
+msgid "enable rtc alarm"
+msgstr ""
+
+#: sys-utils/rtcwake.c:230
+msgid "set rtc wake alarm"
+msgstr ""
+
+#: sys-utils/rtcwake.c:342
+#, fuzzy, c-format
+msgid "%s: unrecognized suspend state '%s'\n"
+msgstr " %s: ÎÅÒÁÓÐÏÚÎÁÎÎÙÊ ÔÉРÔÁÂÌÉÃÙ ÒÁÚÄÅÌÏ×\n"
+
+#: sys-utils/rtcwake.c:351
+#, fuzzy, c-format
+msgid "%s: illegal interval %s seconds\n"
+msgstr "%s: ÎÅ×ÅÒÎÙÊ ËÌÀÞ (%s)\n"
+
+#: sys-utils/rtcwake.c:365
+#, fuzzy, c-format
+msgid "%s: illegal time_t value %s\n"
+msgstr "%s: ÎÅ×ÅÒÎÁÑ ÏÐÃÉÑ -- %s\n"
+
+#: sys-utils/rtcwake.c:381
+#, fuzzy, c-format
+msgid "%s: version %s\n"
+msgstr "%s ÎÁ %s\n"
+
+#: sys-utils/rtcwake.c:394
+#, c-format
+msgid "%s: assuming RTC uses UTC ...\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:399
+#, fuzzy, c-format
+msgid "Using UTC time.\n"
+msgstr "éÓÐÏÌØÚÕÅÔÓÑ %s.\n"
+
+#: sys-utils/rtcwake.c:400
+#, fuzzy, c-format
+msgid "Using local time.\n"
+msgstr "éÓÐÏÌØÚÕÅÔÓÑ %s.\n"
+
+#: sys-utils/rtcwake.c:403
+#, c-format
+msgid "%s: must provide wake time\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:413
+#, fuzzy
+msgid "malloc() failed"
+msgstr "malloc ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ"
+
+#: sys-utils/rtcwake.c:425
+#, fuzzy, c-format
+msgid "%s: %s not enabled for wakeup events\n"
+msgstr "%s: %s ÎÅ lp-ÕÓÔÒÏÊÓÔ×Ï.\n"
+
+#: sys-utils/rtcwake.c:441
+#, c-format
+msgid "alarm %ld, sys_time %ld, rtc_time %ld, seconds %u\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:446
+#, c-format
+msgid "%s: time doesn't go backward to %s\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:456
+#, fuzzy, c-format
+msgid "%s: wakeup from \"%s\" using %s at %s\n"
+msgstr "óÏÏÂÝÅÎÉÅ ÏÔ %s@%s ÎÁ %s × %s ..."
+
+#: sys-utils/rtcwake.c:473
+#, fuzzy
+msgid "rtc read"
+msgstr ", ÇÏÔÏ×"
+
+#: sys-utils/rtcwake.c:482
+msgid "disable rtc alarm interrupt"
+msgstr ""
+
+#: sys-utils/setarch.c:50
+#, c-format
+msgid "Switching on %s.\n"
+msgstr ""
+
+#: sys-utils/setarch.c:113
+#, c-format
+msgid ""
+"Usage: %s%s [options] [program [program arguments]]\n"
+"\n"
+"Options:\n"
+msgstr ""
+
+#: sys-utils/setarch.c:117
+#, c-format
+msgid ""
+" -h, --help               displays this help text\n"
+" -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"
+msgstr ""
+
+#: sys-utils/setarch.c:131
+#, c-format
+msgid ""
+"\n"
+"For more information see setarch(8).\n"
+msgstr ""
+
+#: sys-utils/setarch.c:143
+#, fuzzy, c-format
+msgid ""
+"%s: %s\n"
+"Try `%s --help' for more information.\n"
+msgstr "ðÏÐÒÏÂÕÊÔÅ `getopt --help' ÄÌÑ ÐÏÌÕÞÅÎÉÑ ÄÏÐÏÌÎÉÔÅÌØÎÏÊ ÉÎÆÏÒÍÁÃÉÉ.\n"
+
+#: sys-utils/setarch.c:215 sys-utils/setarch.c:231
+#, fuzzy, c-format
+msgid "%s: Unrecognized architecture"
+msgstr " %s: ÎÅÒÁÓÐÏÚÎÁÎÎÙÊ ÔÉРÔÁÂÌÉÃÙ ÒÁÚÄÅÌÏ×\n"
+
+#: sys-utils/setarch.c:249 sys-utils/setarch.c:256
+#, fuzzy
+msgid "Not enough arguments"
+msgstr "ÎÅÈ×ÁÔËÁ ÐÁÍÑÔÉ"
+
+#: sys-utils/setarch.c:265 sys-utils/setarch.c:318
+#, fuzzy, c-format
+msgid "Failed to set personality to %s"
+msgstr "ïÛÉÂËÁ ÚÁÐÉÓÉ ÒÁÚÄÅÌÁ ÎÁ %s\n"
+
+#: sys-utils/setsid.c:26
+#, c-format
+msgid "usage: %s program [arg ...]\n"
+msgstr "ÉÓÐÏÌØÚÏ×ÁÎÉÅ: %s ÐÒÏÇÒÁÍÍÁ [ÁÒÇÕÍÅÎÔ ...]\n"
+
+#: sys-utils/tunelp.c:75
+#, c-format
+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"
+
+#: sys-utils/tunelp.c:91
+msgid "malloc error"
+msgstr "ÏÛÉÂËÁ malloc"
+
+#: sys-utils/tunelp.c:103
+#, c-format
+msgid "%s: bad value\n"
+msgstr "%s: ÎÅ×ÅÒÎÏÅ ÚÎÁÞÅÎÉÅ\n"
+
+#: sys-utils/tunelp.c:242
+#, c-format
+msgid "%s: %s not an lp device.\n"
+msgstr "%s: %s ÎÅ lp-ÕÓÔÒÏÊÓÔ×Ï.\n"
+
+#: sys-utils/tunelp.c:263
+#, c-format
+msgid "%s status is %d"
+msgstr "%s ÓÏÓÔÏÑÎÉÅ - %d"
+
+#: sys-utils/tunelp.c:264
+#, c-format
+msgid ", busy"
+msgstr ", ÚÁÎÑÔ"
+
+#: sys-utils/tunelp.c:265
+#, c-format
+msgid ", ready"
+msgstr ", ÇÏÔÏ×"
+
+#: sys-utils/tunelp.c:266
+#, c-format
+msgid ", out of paper"
+msgstr ", ÎÅÔ ÂÕÍÁÇÉ"
+
+#: sys-utils/tunelp.c:267
+#, c-format
+msgid ", on-line"
+msgstr ", ÏÎÌÁÊÎ"
+
+#: sys-utils/tunelp.c:268
+#, c-format
+msgid ", error"
+msgstr ", ÏÛÉÂËÁ"
+
+#: sys-utils/tunelp.c:285
+msgid "LPGETIRQ error"
+msgstr "ÏÛÉÂËÁ LPGETIRQ"
+
+#: sys-utils/tunelp.c:291
+#, c-format
+msgid "%s using IRQ %d\n"
+msgstr "%s ÉÓÐÏÌØÚÕÅÔ ÐÒÅÒÙ×ÁÎÉÅ %d\n"
+
+#: sys-utils/tunelp.c:293
+#, c-format
+msgid "%s using polling\n"
+msgstr "%s ÉÓÐÏÌØÚÕÅÔ ÏÐÒÏÓ\n"
+
+#: text-utils/col.c:154
+#, c-format
+msgid "col: bad -l argument %s.\n"
+msgstr "col: ÎÅ×ÅÒÎÙÊ ÁÒÇÕÍÅÎÔ -l %s.\n"
+
+#: text-utils/col.c:544
+#, c-format
+msgid "usage: col [-bfpx] [-l nline]\n"
+msgstr "ÉÓÐÏÌØÚÏ×ÁÎÉÅ: col [-bfpx] [-l ËÏÌ-×Ï_ÓÔÒÏË]\n"
+
+#: text-utils/col.c:550
+#, c-format
+msgid "col: write error.\n"
+msgstr "col: ÏÛÉÂËÁ ÚÁÐÉÓÉ.\n"
+
+#: text-utils/col.c:557
+#, c-format
+msgid "col: warning: can't back up %s.\n"
+msgstr "col: ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÎÅ×ÏÚÍÏÖÎÏ ÐÏÄÄÅÒÖÁÔØ %s.\n"
+
+#: text-utils/col.c:558
+msgid "past first line"
+msgstr "ÐÏÓÌÅÄÎÑÑ ÐÅÒ×ÁÑ ÓÔÒÏËÁ"
+
+#: text-utils/col.c:558
+msgid "-- line already flushed"
+msgstr "-- ÓÔÒÏËÁ ÕÖÅ ×ÙÒÏ×ÎÅÎÁ"
+
+#: text-utils/colcrt.c:97
+#, c-format
+msgid "usage: %s [ - ] [ -2 ] [ file ... ]\n"
+msgstr "ÉÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ - ] [ -2 ] [ ÆÁÊÌ ... ]\n"
+
+#: text-utils/column.c:297
+msgid "line too long"
+msgstr "ÓÔÒÏËÁ ÓÌÉÛËÏÍ ÄÌÉÎÎÁÑ"
+
+#: text-utils/column.c:374
+#, c-format
+msgid "usage: column [-tx] [-c columns] [file ...]\n"
+msgstr "ÉÓÐÏÌØÚÏ×ÁÎÉÅ: column [-tx] [-c ÓÔÏÌÂÃÙ] [ÆÁÊÌ ...]\n"
+
+#: text-utils/hexsyntax.c:82
+#, c-format
+msgid "hexdump: bad length value.\n"
+msgstr "hexdump: ÎÅ×ÅÒÎÏÅ ÚÎÁÞÅÎÉÅ ÄÌÉÎÙ.\n"
+
+#: text-utils/hexsyntax.c:93
+#, c-format
+msgid "hexdump: bad skip value.\n"
+msgstr "hexdump: ÎÅ×ÅÒÎÏÅ ÚÎÁÞÅÎÉÅ ÐÒÏÐÕÓËÁ.\n"
+
+#: text-utils/hexsyntax.c:131
+#, c-format
+msgid ""
+"hexdump: [-bcCdovx] [-e fmt] [-f fmt_file] [-n length] [-s skip] [file ...]\n"
+msgstr ""
+"hexdump: [-bcCdovx] [-e ÓÔÒÏËÁ_ÆÏÒÍÁÔÁ] [-f ÆÁÊÌ_ÆÏÒÍÁÔÁ] [-n ÄÌÉÎÁ] [-s "
+"ÐÒÏÐÕÓË] [ÆÁÊÌ ...]\n"
+
+#: text-utils/more.c:256
+#, c-format
+msgid "usage: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n"
+msgstr ""
+"ÉÓÐÏÌØÚÏ×ÁÎÉÅ: %s [-dflpcsu] [+ÎÏÍÅÒ_ÓÔÒÏËÉ | +/ÛÁÂÌÏÎ] ÉÍÑ1 ÉÍÑ2 ...\n"
+
+#: text-utils/more.c:479
+#, c-format
+msgid "%s: unknown option \"-%c\"\n"
+msgstr "%s: ÎÅÉÚ×ÅÓÔÎÁÑ ÏÐÃÉÑ \"-%c\"\n"
+
+#: text-utils/more.c:511
+#, c-format
+msgid ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+msgstr ""
+"\n"
+"*** %s: ËÁÔÁÌÏÇ ***\n"
+"\n"
+
+#: text-utils/more.c:555
+#, c-format
+msgid ""
+"\n"
+"******** %s: Not a text file ********\n"
+"\n"
+msgstr ""
+"\n"
+"******** %s: îÅ ÔÅËÓÔÏ×ÙÊ ÆÁÊÌ ********\n"
+"\n"
+
+#: text-utils/more.c:658
+#, c-format
+msgid "[Use q or Q to quit]"
+msgstr "[éÓÐÏÌØÚÕÊÔÅ q ÉÌÉ or Q ÄÌÑ ×ÙÈÏÄÁ]"
+
+#: text-utils/more.c:750
+#, c-format
+msgid "--More--"
+msgstr "--äÁÌÅÅ--"
+
+#: text-utils/more.c:752
+#, c-format
+msgid "(Next file: %s)"
+msgstr "(óÌÅÄÕÀÝÉÊ ÆÁÊÌ: %s)"
+
+#: text-utils/more.c:757
+#, c-format
+msgid "[Press space to continue, 'q' to quit.]"
+msgstr "[îÁÖÍÉÔÅ ÐÒÏÂÅÌ ÄÌÑ ÐÒÏÄÏÌÖÅÎÉÑ, 'q' ÄÌÑ ×ÙÈÏÄÁ.]"
+
+#: text-utils/more.c:1172
+#, c-format
+msgid "...back %d pages"
+msgstr "...ÎÁÚÁÄ ÎÁ %d ÓÔÒÁÎÉÃ"
+
+#: text-utils/more.c:1174
+msgid "...back 1 page"
+msgstr "...ÎÁÚÁÄ ÎÁ 1 ÓÔÒÁÎÉÃÕ"
+
+#: text-utils/more.c:1217
+msgid "...skipping one line"
+msgstr "...ÐÒÏÐÕÓËÁÅÔÓÑ ÏÄÎÁ ÓÔÒÏËÁ"
+
+#: text-utils/more.c:1219
+#, c-format
+msgid "...skipping %d lines"
+msgstr "...ÐÒÏÐÕÓËÁÅÔÓÑ %d ÓÔÒÏË"
+
+#: text-utils/more.c:1256
+msgid ""
+"\n"
+"***Back***\n"
+"\n"
+msgstr ""
+"\n"
+"***îÁÚÁÄ***\n"
+"\n"
+
+#: text-utils/more.c:1294
+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:1301
+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:1370 text-utils/more.c:1375
+#, c-format
+msgid "[Press 'h' for instructions.]"
+msgstr "[îÁÖÍÉÔÅ 'h' ÄÌÑ ÐÏÌÕÞÅÎÉÑ ÉÎÓÔÒÕËÃÉÊ.]"
+
+#: text-utils/more.c:1409
+#, c-format
+msgid "\"%s\" line %d"
+msgstr "\"%s\" ÓÔÒÏËÁ %d"
+
+#: text-utils/more.c:1411
+#, c-format
+msgid "[Not a file] line %d"
+msgstr "[îÅ ÆÁÊÌ] ÓÔÒÏËÁ %d"
+
+#: text-utils/more.c:1495
+msgid "  Overflow\n"
+msgstr "  ðÅÒÅÐÏÌÎÅÎÉÅ\n"
+
+#: text-utils/more.c:1542
+msgid "...skipping\n"
+msgstr "...ÐÒÏÐÕÓËÁÅÔÓÑ\n"
+
+#: text-utils/more.c:1571
+msgid "Regular expression botch"
+msgstr "îÅËÏÒÒÅËÔÎÏÅ ÒÅÇÕÌÑÒÎÏÅ ×ÙÒÁÖÅÎÉÅ"
+
+#: text-utils/more.c:1579
+msgid ""
+"\n"
+"Pattern not found\n"
+msgstr ""
+"\n"
+"ûÁÂÌÏΠÎÅ ÎÁÊÄÅÎ\n"
+
+#: text-utils/more.c:1582 text-utils/pg.c:1124 text-utils/pg.c:1275
+msgid "Pattern not found"
+msgstr "ûÁÂÌÏΠÎÅ ÎÁÊÄÅÎ"
+
+#: text-utils/more.c:1643
+msgid "can't fork\n"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ÄÏÞÅÒÎÉÊ ÐÒÏÃÅÓÓ\n"
+
+#: text-utils/more.c:1682
+msgid ""
+"\n"
+"...Skipping "
+msgstr ""
+"\n"
+"...ðÒÏÐÕÓËÁÅÔÓÑ "
+
+#: text-utils/more.c:1686
+msgid "...Skipping to file "
+msgstr "...ðÒÏÐÕÓËÁÅÔÓÑ ÄÏ ÆÁÊÌÁ "
+
+#: text-utils/more.c:1688
+msgid "...Skipping back to file "
+msgstr "...ðÒÏÐÕÓËÁÅÔÓÑ ÏÂÒÁÔÎÏ ÄÏ ÆÁÊÌÁ "
+
+#: text-utils/more.c:1966
+msgid "Line too long"
+msgstr "óÔÒÏËÁ ÓÌÉÛËÏÍ ÄÌÉÎÎÁÑ"
+
+#: text-utils/more.c:2009
+msgid "No previous command to substitute for"
+msgstr "îÅÔ ÐÒÅÄÙÄÕÝÅÊ ËÏÍÁÎÄÙ ÄÌÑ ÚÁÍÅÎÙ"
+
+#: text-utils/odsyntax.c:130
+#, c-format
+msgid "od: od(1) has been deprecated for hexdump(1).\n"
+msgstr "od: od(1) ËÒÁÊÎÅ ÎÅ ÒÅËÏÍÅÎÄÕÅÔÓÑ ÄÌÑ hexdump(1).\n"
+
+#: text-utils/odsyntax.c:133
+#, c-format
+msgid "od: hexdump(1) compatibility doesn't support the -%c option%s\n"
+msgstr "od: ÓÏ×ÍÅÓÔÉÍÏÓÔØ hexdump(1) ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ -%c ÏÐÃÉÀ %s\n"
+
+#: text-utils/odsyntax.c:134
+msgid "; see strings(1)."
+msgstr "; ÓÍÏÔÒÉ strings(1)."
+
+#: text-utils/parse.c:63
+#, c-format
+msgid "hexdump: can't read %s.\n"
+msgstr "hexdump: ÎÅ×ÏÚÍÏÖÎÏ ÐÒÏÞÉÔÁÔØ %s.\n"
+
+#: text-utils/parse.c:68
+#, c-format
+msgid "hexdump: line too long.\n"
+msgstr "hexdump: ÓÔÒÏËÁ ÓÌÉÛËÏÍ ÄÌÉÎÎÁÑ.\n"
+
+#: text-utils/parse.c:401
+#, c-format
+msgid "hexdump: byte count with multiple conversion characters.\n"
+msgstr "hexdump: ÞÉÓÌÏ ÂÁÊÔ Ó ÍÎÏÇÏÞÉÓÌÅÎÎÙÍÉ ÓÉÍ×ÏÌÁÍÉ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÑ.\n"
+
+#: text-utils/parse.c:483
+#, c-format
+msgid "hexdump: bad byte count for conversion character %s.\n"
+msgstr "hexdump: ÎÅ×ÅÒÎÏÅ ÞÉÓÌÏ ÂÁÊÔ ÄÌÑ ÓÉÍ×ÏÌÁ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÑ %s.\n"
+
+#: text-utils/parse.c:490
+#, c-format
+msgid "hexdump: %%s requires a precision or a byte count.\n"
+msgstr "hexdump: ÄÌÑ %%s ÔÒÅÂÕÅÔÓÑ ÔÏÞÎÏÓÔØ ÉÌÉ ÞÉÓÌÏ ÂÁÊÔ.\n"
+
+#: text-utils/parse.c:496
+#, c-format
+msgid "hexdump: bad format {%s}\n"
+msgstr "hexdump: ÎÅ×ÅÒÎÙÊ ÆÏÒÍÁÔ {%s}\n"
+
+#: text-utils/parse.c:502
+#, c-format
+msgid "hexdump: bad conversion character %%%s.\n"
+msgstr "hexdump: ÎÅ×ÅÒÎÙÊ ÓÉÍ×ÏÌ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÑ %%%s.\n"
+
+#: text-utils/pg.c:145
+msgid ""
+"All rights reserved.\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"
+msgstr ""
+
+#: text-utils/pg.c:223
+#, fuzzy
+msgid "Out of memory\n"
+msgstr "îÅ È×ÁÔÁÅÔ ÐÁÍÑÔÉ"
+
+#: text-utils/pg.c:236
+#, c-format
+msgid ""
+"%s: Usage: %s [-number] [-p string] [-cefnrs] [+line] [+/pattern/] [files]\n"
+msgstr ""
+"%s: éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [-ÞÉÓÌÏ] [-p ÓÔÒÏËÁ] [-cefnrs] [+ÓÔÒÏËÁ] [+/ÛÁÂÌÏÎ/] "
+"[ÆÁÊÌÙ]\n"
+
+#: text-utils/pg.c:245
+#, c-format
+msgid "%s: option requires an argument -- %s\n"
+msgstr "%s: ÄÌÑ ÏÐÃÉÉ ÔÒÅÂÕÅÔÓÑ ÁÒÇÕÍÅÎÔ -- %s\n"
+
+#: text-utils/pg.c:253
+#, c-format
+msgid "%s: illegal option -- %s\n"
+msgstr "%s: ÎÅ×ÅÒÎÁÑ ÏÐÃÉÑ -- %s\n"
+
+#: text-utils/pg.c:370
+msgid "...skipping forward\n"
+msgstr "...ÐÒÏÐÕÓËÁÅÔÓÑ ×ÐÅÒÅÄ\n"
+
+#: text-utils/pg.c:372
+msgid "...skipping backward\n"
+msgstr "...ÐÒÏÐÕÓËÁÅÔÓÑ ÎÁÚÁÄ\n"
+
+#: text-utils/pg.c:394
+msgid "No next file"
+msgstr "îÅÔ ÓÌÅÄÕÀÝÅÇÏ ÆÁÊÌÁ"
+
+#: text-utils/pg.c:398
+msgid "No previous file"
+msgstr "îÅÔ ÐÒÅÄÙÄÕÝÅÇÏ ÆÁÊÌÁ"
+
+#: text-utils/pg.c:928
+#, c-format
+msgid "%s: Read error from %s file\n"
+msgstr "%s: ïÛÉÂËÁ ÞÔÅÎÉÑ ÉÚ ÆÁÊÌÁ %s\n"
+
+#: text-utils/pg.c:934
+#, c-format
+msgid "%s: Unexpected EOF in %s file\n"
+msgstr "%s: îÅÏÖÉÄÁÎÎÙÊ ËÏÎÅàÆÁÊÌÁ × ÆÁÊÌÅ %s\n"
+
+#: text-utils/pg.c:937
+#, c-format
+msgid "%s: Unknown error in %s file\n"
+msgstr "%s: îÅÉÚ×ÅÓÔÎÁÑ ÏÛÉÂËÁ × ÆÁÊÌÅ %s\n"
+
+#: text-utils/pg.c:1032
+#, c-format
+msgid "%s: Cannot create tempfile\n"
+msgstr "%s: îÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ×ÒÅÍÅÎÎÙÊ ÆÁÊÌ\n"
+
+#: text-utils/pg.c:1041 text-utils/pg.c:1216 text-utils/pg.c:1243
+msgid "RE error: "
+msgstr "ïÛÉÂËÁ RE: "
+
+#: text-utils/pg.c:1198
+msgid "(EOF)"
+msgstr "(ËÏÎÅàÆÁÊÌÁ)"
+
+#: text-utils/pg.c:1224 text-utils/pg.c:1251
+msgid "No remembered search string"
+msgstr "îÅÔ ÚÁÐÏÍÎÅÎÎÙÈ ÓÔÒÏË ÐÏÉÓËÁ"
+
+#: text-utils/pg.c:1307
+msgid "Cannot open "
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ "
+
+#: text-utils/pg.c:1355
+msgid "saved"
+msgstr "ÓÏÈÒÁÎÅÎ"
+
+#: text-utils/pg.c:1462
+msgid ": !command not allowed in rflag mode.\n"
+msgstr ": !ËÏÍÁÎÄÁ ÎÅ ÒÁÚÒÅÛÅÎÁ × ÒÅÖÉÍÅ rflag.\n"
+
+#: text-utils/pg.c:1494
+msgid "fork() failed, try again later\n"
+msgstr "fork() ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ, ÐÏÐÒÏÂÕÊÔÅ ÅÝÅ ÒÁÚ ÐÏÐÏÚÖÅ\n"
+
+#: text-utils/pg.c:1702
+msgid "(Next file: "
+msgstr "(óÌÅÄÕÀÝÉÊ ÆÁÊÌ: "
+
+#: text-utils/rev.c:113
+#, fuzzy
+msgid "unable to allocate bufferspace"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ×ÙÄÅÌÉÔØ ÂÕÆÅÒÎÏÅ ÐÒÏÓÔÒÁÎÓÔ×Ï\n"
+
+#: text-utils/rev.c:143
+#, c-format
+msgid "usage: rev [file ...]\n"
+msgstr "ÉÓÐÏÌØÚÏ×ÁÎÉÅ: rev [ÆÁÊÌ ...]\n"
+
+#: text-utils/tailf.c:57 text-utils/tailf.c:92
+#, fuzzy, c-format
+msgid "cannot open \"%s\" for read"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ \"%s\" ÄÌÑ ÞÔÅÎÉÑ\n"
+
+#: text-utils/tailf.c:95 text-utils/tailf.c:214
+#, fuzzy, c-format
+msgid "cannot stat \"%s\""
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÐÒÅÄÅÌÉÔØ ÓÏÓÔÏÑÎÉÅ ÕÓÔÒÏÊÓÔ×Á %s"
+
+#: text-utils/tailf.c:108
+#, c-format
+msgid "incomplete write to \"%s\" (written %zd, expected %zd)\n"
+msgstr ""
+
+#: text-utils/tailf.c:146
+#, c-format
+msgid "%s: cannot add inotify watch (limit of inotify watches was reached)."
+msgstr ""
+
+#: text-utils/tailf.c:150
+#, c-format
+msgid "%s: cannot add inotify watch."
+msgstr ""
+
+#: text-utils/tailf.c:159
+#, fuzzy, c-format
+msgid "%s: cannot read inotify events"
+msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ %s\n"
+
+#: text-utils/tailf.c:198 text-utils/tailf.c:202
+#, fuzzy
+msgid "invalid number of lines"
+msgstr "ëÏÌÉÞÅÓÔ×Ï ÃÉÌÉÎÄÒÏ×"
+
+#: text-utils/tailf.c:209
+#, fuzzy
+msgid "usage: tailf [-n N | -N] logfile"
+msgstr "ÓÐÏÌØÚÏ×ÁÎÉÅ: tailf log-ÆÁÊÌ\n"
+
+#: text-utils/ul.c:141
+#, c-format
+msgid "usage: %s [ -i ] [ -tTerm ] file...\n"
+msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ -i ] [ -t ÔÅÒÍÉÎÁÌ ] ÆÁÊÌ...\n"
+
+#: text-utils/ul.c:152
+#, c-format
+msgid "trouble reading terminfo"
+msgstr "ÐÒÏÂÌÅÍÁ ÞÔÅÎÉÑ terminfo"
+
+#: text-utils/ul.c:242
+#, c-format
+msgid "Unknown escape sequence in input: %o, %o\n"
+msgstr "îÅÉÚ×ÅÓÔÎÁÑ escape-ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ ×Ï ×ÈÏÄÎÙÈ ÄÁÎÎÙÈ: %o, %o\n"
+
+#: text-utils/ul.c:425
+#, c-format
+msgid "Unable to allocate buffer.\n"
+msgstr "îÅ×ÏÚÍÏÖÎÏ ×ÙÄÅÌÉÔØ ÂÕÆÅÒ.\n"
+
+#: text-utils/ul.c:586
+#, c-format
+msgid "Input line too long.\n"
+msgstr "óÔÒÏËÁ ×ÈÏÄÎÙÈ ÄÁÎÎÙÈ ÓÌÉÛËÏÍ ÄÌÉÎÎÁÑ.\n"
+
+#: text-utils/ul.c:599
+#, c-format
+msgid "Out of memory when growing buffer.\n"
+msgstr "îÅ È×ÁÔÁÅÔ ÐÁÍÑÔÉ ÐÒÉ Õ×ÅÌÉÞÅÎÉÉ ÂÕÆÅÒÁ.\n"
+
+#~ msgid "# partition table of %s\n"
+#~ msgstr "# ÔÁÂÌÉÃÁ ÒÁÚÄÅÌÏ× %s\n"
+
+#, 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: unable to get current directory - %s\n"
+#~ msgstr "namei: ÎÅ×ÏÚÍÏÖÎÏ ÐÏÌÕÞÉÔØ ÔÅËÕÝÉÊ ËÁÔÁÌÏÇ - %s\n"
+
+#~ msgid "namei: unable to chdir to %s - %s (%d)\n"
+#~ msgstr "namei: ÎÅ×ÏÚÍÏÖÎÏ ÓÍÅÎÉÔØ ËÁÔÁÌÏÇ ÎÁ %s - %s (%d)\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 "%s: cannot stat %s: %s\n"
+#~ msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÏÐÒÅÄÅÌÉÔØ ÓÏÓÔÏÑÎÉÅ %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 "Autoconfigure failed.\n"
+#~ msgstr "á×ÔÏËÏÎÆÉÇÕÒÁÃÉÑ ÚÁ×ÅÒÛÉÌÁÓØ ÎÅÕÄÁÞÅÊ.\n"
+
+#~ 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 from %s%s\n"
+#~ msgstr "%s ÉÚ %s%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: cannot find %s in %s"
+#~ msgstr "mount: ÎÅ×ÏÚÍÏÖÎÏ ÎÁÊÔÉ %s × %s"
+
+#~ 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 (file)
index 0000000..348d6e2
Binary files /dev/null and b/po/sl.gmo differ
diff --git a/po/sl.po b/po/sl.po
new file mode 100644 (file)
index 0000000..104015a
--- /dev/null
+++ b/po/sl.po
@@ -0,0 +1,12173 @@
+# -*- 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: Karel Zak <kzak@redhat.com>\n"
+"POT-Creation-Date: 2009-11-30 16:27+0100\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"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: disk-utils/blockdev.c:37
+msgid "set read-only"
+msgstr "nastavi samo za branje"
+
+#: disk-utils/blockdev.c:38
+msgid "set read-write"
+msgstr "nastavi za pisanje in branje"
+
+#: disk-utils/blockdev.c:39
+msgid "get read-only"
+msgstr "preberi samo za branje"
+
+#: disk-utils/blockdev.c:40
+msgid "get sectorsize"
+msgstr "preberi velikost sektorja"
+
+#: disk-utils/blockdev.c:41
+msgid "get blocksize"
+msgstr "preberi velikost bloka"
+
+#: disk-utils/blockdev.c:42
+msgid "set blocksize"
+msgstr "nastavi velikost bloka"
+
+#: disk-utils/blockdev.c:43
+msgid "get 32-bit sector count"
+msgstr "preberi 32-bitno ¹tevilo sektorjev"
+
+#: disk-utils/blockdev.c:44
+#, fuzzy
+msgid "get size in bytes"
+msgstr "preberi velikost(v bajtih)"
+
+#: disk-utils/blockdev.c:45
+msgid "set readahead"
+msgstr "nastavi branje-vnaprej"
+
+#: disk-utils/blockdev.c:46
+msgid "get readahead"
+msgstr "preberi branje-vnaprej"
+
+#: disk-utils/blockdev.c:47
+#, fuzzy
+msgid "set filesystem readahead"
+msgstr "nastavi branje-vnaprej"
+
+#: disk-utils/blockdev.c:48
+#, fuzzy
+msgid "get filesystem readahead"
+msgstr "preberi branje-vnaprej"
+
+#: disk-utils/blockdev.c:49
+msgid "flush buffers"
+msgstr "izprazni medpomnilnike"
+
+#: disk-utils/blockdev.c:51
+msgid "reread partition table"
+msgstr "ponovno preberi tabelo razdelkov"
+
+#: disk-utils/blockdev.c:60
+#, c-format
+msgid "Usage:\n"
+msgstr "Uporaba:\n"
+
+#: disk-utils/blockdev.c:62
+#, c-format
+msgid "  %s --report [devices]\n"
+msgstr "  %s --report [naprave]\n"
+
+#: disk-utils/blockdev.c:63
+#, c-format
+msgid "  %s [-v|-q] commands devices\n"
+msgstr "  %s [-v|-q] ukazi naprave\n"
+
+#: disk-utils/blockdev.c:66
+#, c-format
+msgid "Available commands:\n"
+msgstr "Razpolo¾ljivi ukazi:\n"
+
+#: disk-utils/blockdev.c:68
+#, fuzzy
+msgid "get size in 512-byte sectors"
+msgstr "preberi velikost(v bajtih)"
+
+#: disk-utils/blockdev.c:201
+#, c-format
+msgid "%s: Unknown command: %s\n"
+msgstr "%s: Neznan ukaz: %s\n"
+
+#: disk-utils/blockdev.c:213 disk-utils/blockdev.c:222
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s zahteva argument\n"
+
+#: disk-utils/blockdev.c:255
+#, fuzzy, c-format
+msgid "%s failed.\n"
+msgstr "iskanje je bilo neuspe¹no"
+
+#: disk-utils/blockdev.c:292
+#, c-format
+msgid "%s succeeded.\n"
+msgstr "%s je uspelo.\n"
+
+#: disk-utils/blockdev.c:310 disk-utils/blockdev.c:338
+#, c-format
+msgid "%s: cannot open %s\n"
+msgstr "%s: ni mogoèe odpreti %s\n"
+
+#: disk-utils/blockdev.c:355
+#, c-format
+msgid "%s: ioctl error on %s\n"
+msgstr "%s: napaka ioctl na %s\n"
+
+#: disk-utils/blockdev.c:364
+#, 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/elvtune.c:48
+#, c-format
+msgid "usage:\n"
+msgstr "uporaba:\n"
+
+#: disk-utils/elvtune.c:53
+#, c-format
+msgid "\tNOTE: elvtune only works with 2.4 kernels\n"
+msgstr ""
+
+#: disk-utils/elvtune.c:104
+#, fuzzy, c-format
+msgid "parse error\n"
+msgstr "napaka pri iskanju"
+
+#: disk-utils/elvtune.c:110
+#, fuzzy, c-format
+msgid "missing blockdevice, use -h for help\n"
+msgstr "%s ni bloèna enota oz. datoteka\n"
+
+#: disk-utils/elvtune.c:131
+#, 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:31
+#, c-format
+msgid "Formatting ... "
+msgstr "Formatiramo ..."
+
+#: disk-utils/fdformat.c:49 disk-utils/fdformat.c:86
+#, c-format
+msgid "done\n"
+msgstr "opravljeno\n"
+
+#: disk-utils/fdformat.c:60
+#, 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:80
+#, c-format
+msgid ""
+"bad data in cyl %d\n"
+"Continuing ... "
+msgstr ""
+"slabi podatki na stezi %d\n"
+"Nadaljujemo... "
+
+#: disk-utils/fdformat.c:96
+#, c-format
+msgid "usage: %s [ -n ] device\n"
+msgstr "uporaba: %s [ -n ] naprava\n"
+
+#: disk-utils/fdformat.c:118 disk-utils/fsck.minix.c:1282
+#: disk-utils/isosize.c:181 disk-utils/mkfs.bfs.c:115 disk-utils/mkfs.c:52
+#: disk-utils/mkfs.cramfs.c:813 disk-utils/mkfs.minix.c:571
+#: disk-utils/mkswap.c:461 misc-utils/ddate.c:179 misc-utils/rename.c:79
+#: misc-utils/script.c:147 sys-utils/readprofile.c:197
+#, fuzzy, c-format
+msgid "%s (%s)\n"
+msgstr "%s: %s (%s)\n"
+
+#: disk-utils/fdformat.c:132
+#, c-format
+msgid "%s: not a block device\n"
+msgstr "%s: ni bloèna naprava\n"
+
+#: disk-utils/fdformat.c:142
+msgid "Could not determine current format type"
+msgstr "Trenutne vrste formatiranja ni moè ugotoviti"
+
+#: disk-utils/fdformat.c:143
+#, 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:144
+msgid "Double"
+msgstr "Dvo"
+
+#: disk-utils/fdformat.c:144
+msgid "Single"
+msgstr "Eno"
+
+#: disk-utils/fsck.cramfs.c:118
+#, c-format
+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"
+
+#: disk-utils/fsck.cramfs.c:164
+#, fuzzy, c-format
+msgid "stat failed: %s"
+msgstr "(Naslednja datoteka: %s)"
+
+#: disk-utils/fsck.cramfs.c:168 disk-utils/fsck.cramfs.c:552
+#, fuzzy, c-format
+msgid "open failed: %s"
+msgstr "openpty ni uspel\n"
+
+#: disk-utils/fsck.cramfs.c:173
+#, 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:181
+#, 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:185 disk-utils/fsck.cramfs.c:227
+#, fuzzy
+msgid "file length too short"
+msgstr "%s: neveljaven cramfs - ime datoteke je prekratko\n"
+
+#: disk-utils/fsck.cramfs.c:190 disk-utils/fsck.cramfs.c:198
+#: disk-utils/fsck.cramfs.c:259 disk-utils/fsck.cramfs.c:279
+#, fuzzy, c-format
+msgid "read failed: %s"
+msgstr "(Naslednja datoteka: %s)"
+
+#: disk-utils/fsck.cramfs.c:208
+msgid "superblock magic not found"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:217
+#, fuzzy
+msgid "unsupported filesystem features"
+msgstr "Vnesite vrsto datoteènega sistema: "
+
+#: disk-utils/fsck.cramfs.c:220
+#, fuzzy, c-format
+msgid "superblock size (%d) too small"
+msgstr "©tevilo sektorjev"
+
+#: disk-utils/fsck.cramfs.c:224
+msgid "zero file count"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:230
+#, 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:234
+#, fuzzy, c-format
+msgid "warning: old cramfs format\n"
+msgstr "%s: opozorilo - stara slika cramfs, manjka CRC\n"
+
+#: disk-utils/fsck.cramfs.c:247
+msgid "unable to test CRC: old cramfs format"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:273 disk-utils/fsck.cramfs.c:340
+#: disk-utils/fsck.cramfs.c:478 login-utils/chfn.c:529 login-utils/chsh.c:439
+#: sys-utils/cytune.c:321
+msgid "malloc failed"
+msgstr "malloc ni uspel"
+
+#: disk-utils/fsck.cramfs.c:298
+#, fuzzy
+msgid "crc error"
+msgstr ", napaka"
+
+#: disk-utils/fsck.cramfs.c:365
+#, fuzzy
+msgid "root inode is not directory"
+msgstr "korenski inod ni imenik"
+
+#: disk-utils/fsck.cramfs.c:370
+#, c-format
+msgid "bad root offset (%lu)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:388
+msgid "data block too large"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:392
+#, c-format
+msgid "decompression error %p(%d): %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:416
+#, fuzzy, c-format
+msgid "  hole at %ld (%zd)\n"
+msgstr "   luknja v %ld (%d)\n"
+
+#: disk-utils/fsck.cramfs.c:424 disk-utils/fsck.cramfs.c:596
+#, 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:430
+#, fuzzy, c-format
+msgid "non-block (%ld) bytes"
+msgstr "%s: nebloènih (%ld) bajtov\n"
+
+#: disk-utils/fsck.cramfs.c:434
+#, fuzzy, c-format
+msgid "non-size (%ld vs %ld) bytes"
+msgstr "%s: Zapisanih samo %lu od skupno %lu bajtov"
+
+#: disk-utils/fsck.cramfs.c:440
+#, fuzzy, c-format
+msgid "write failed: %s"
+msgstr "(Naslednja datoteka: %s)"
+
+#: disk-utils/fsck.cramfs.c:453
+#, fuzzy, c-format
+msgid "lchown failed: %s"
+msgstr "priklop ni uspel"
+
+#: disk-utils/fsck.cramfs.c:459
+#, fuzzy, c-format
+msgid "chown failed: %s"
+msgstr "priklop ni uspel"
+
+#: disk-utils/fsck.cramfs.c:466
+#, fuzzy, c-format
+msgid "utime failed: %s"
+msgstr "nepravilna vrednost za prekoraèitev èasa: %s"
+
+#: disk-utils/fsck.cramfs.c:481
+#, c-format
+msgid "directory inode has zero offset and non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:495
+#, fuzzy, c-format
+msgid "mkdir failed: %s"
+msgstr "/dev: chdir() ni uspel: %m"
+
+#: disk-utils/fsck.cramfs.c:512
+msgid "filename length is zero"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:515
+msgid "bad filename length"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:522
+#, fuzzy
+msgid "bad inode offset"
+msgstr "slaba velikost inoda"
+
+#: disk-utils/fsck.cramfs.c:538
+msgid "file inode has zero offset and non-zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:541
+msgid "file inode has zero size and non-zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:572
+msgid "symbolic link has zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:575
+msgid "symbolic link has zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:587
+#, fuzzy, c-format
+msgid "size error in symlink: %s"
+msgstr "%s: napaèna velikost simbolne povezave ,%s`\n"
+
+#: disk-utils/fsck.cramfs.c:602
+#, fuzzy, c-format
+msgid "symlink failed: %s"
+msgstr "fsync ni uspel"
+
+#: disk-utils/fsck.cramfs.c:614
+#, c-format
+msgid "special file has non-zero offset: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:626
+#, c-format
+msgid "fifo has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:632
+#, c-format
+msgid "socket has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:637
+#, fuzzy, c-format
+msgid "bogus mode: %s (%o)"
+msgstr "%s: ponarejen naèin na `%s' (%o)\n"
+
+#: disk-utils/fsck.cramfs.c:647
+#, fuzzy, c-format
+msgid "mknod failed: %s"
+msgstr "priklop ni uspel"
+
+#: disk-utils/fsck.cramfs.c:683
+#, c-format
+msgid "directory data start (%ld) < sizeof(struct cramfs_super) + start (%ld)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:686
+#, 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:691
+#, fuzzy
+msgid "invalid file data offset"
+msgstr "%s neveljaven cramfs - neveljaven odmik datoteènih podatkov\n"
+
+#: disk-utils/fsck.cramfs.c:715
+#, fuzzy
+msgid "failed to allocate outbuffer"
+msgstr "Za medpomnilnik ni mogoèe dodeliti pomnilnika.\n"
+
+#: disk-utils/fsck.cramfs.c:728
+#, fuzzy
+msgid "compiled without -x support"
+msgstr "%s: prevedeno brez -x argumenta\n"
+
+#: disk-utils/fsck.minix.c:210
+#, c-format
+msgid "Usage: %s [-larvsmf] /dev/name\n"
+msgstr "Uporaba: %s [-larvsmf] /dev/ime\n"
+
+#: disk-utils/fsck.minix.c:326
+#, c-format
+msgid "%s is mounted.\t "
+msgstr "%s je priklopljen.\t "
+
+#: disk-utils/fsck.minix.c:328
+msgid "Do you really want to continue"
+msgstr "Ali res ¾elite nadaljevati"
+
+#: disk-utils/fsck.minix.c:332
+#, c-format
+msgid "check aborted.\n"
+msgstr "preverjanje prekinjeno.\n"
+
+#: disk-utils/fsck.minix.c:351 disk-utils/fsck.minix.c:374
+#, c-format
+msgid "Zone nr < FIRSTZONE in file `%s'."
+msgstr "¹tevilo obmoèja < PRVOOBMOÈJE v datoteki `%s'."
+
+#: disk-utils/fsck.minix.c:355 disk-utils/fsck.minix.c:378
+#, c-format
+msgid "Zone nr >= ZONES in file `%s'."
+msgstr "¹tevilo obmoèja >= OBMOÈJA v datoteki `%s'."
+
+#: disk-utils/fsck.minix.c:360 disk-utils/fsck.minix.c:383
+msgid "Remove block"
+msgstr "Odstrani blok"
+
+#: disk-utils/fsck.minix.c:401
+#, 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:407
+#, 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:422
+#, 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:428 disk-utils/mkfs.minix.c:209
+msgid "seek failed in write_block"
+msgstr "iskanje ni uspelo v write_block"
+
+#: disk-utils/fsck.minix.c:431
+#, 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:547
+msgid "seek failed in write_super_block"
+msgstr "neuspe¹no iskanje v write_super_block"
+
+#: disk-utils/fsck.minix.c:549 disk-utils/mkfs.minix.c:196
+msgid "unable to write super-block"
+msgstr "superbloka ni mo¾no zapisati"
+
+#: disk-utils/fsck.minix.c:559
+msgid "Unable to write inode map"
+msgstr "seznama inodov ni mo¾no zapisati"
+
+#: disk-utils/fsck.minix.c:561
+msgid "Unable to write zone map"
+msgstr "seznama obmoèij ni mo¾no zapisati"
+
+#: disk-utils/fsck.minix.c:563
+msgid "Unable to write inodes"
+msgstr "Zapis inodov ni mo¾en"
+
+#: disk-utils/fsck.minix.c:590
+msgid "seek failed"
+msgstr "iskanje je bilo neuspe¹no"
+
+#: disk-utils/fsck.minix.c:592
+msgid "unable to read super block"
+msgstr "branje superbloka ni mo¾no"
+
+#: disk-utils/fsck.minix.c:610
+msgid "bad magic number in super-block"
+msgstr "po¹kodovan tip datoteke v superbloku"
+
+#: disk-utils/fsck.minix.c:612
+msgid "Only 1k blocks/zones supported"
+msgstr "Samo 1k veliki bloki/podroèja so podprti"
+
+#: disk-utils/fsck.minix.c:614
+msgid "bad s_imap_blocks field in super-block"
+msgstr "po¹kodovano s_imap_blocks polje v superbloku"
+
+#: disk-utils/fsck.minix.c:616
+msgid "bad s_zmap_blocks field in super-block"
+msgstr "po¹kodovan s_zmap_blocks polje v superbloku"
+
+#: disk-utils/fsck.minix.c:623
+msgid "Unable to allocate buffer for inode map"
+msgstr "Dodelitev medpomnilnika za seznam inodov ni mo¾na"
+
+#: disk-utils/fsck.minix.c:626
+#, fuzzy
+msgid "Unable to allocate buffer for zone map"
+msgstr "Dodelitev medpomnilnika za seznam inodov ni mo¾na"
+
+#: disk-utils/fsck.minix.c:631
+msgid "Unable to allocate buffer for inodes"
+msgstr "Dodelitev medpomnilnika za inode ni mo¾na"
+
+#: disk-utils/fsck.minix.c:634
+msgid "Unable to allocate buffer for inode count"
+msgstr "Dodelitev medpomnilnika za ¹tevilo inodov ni mo¾na"
+
+#: disk-utils/fsck.minix.c:637
+msgid "Unable to allocate buffer for zone count"
+msgstr "Dodelitev medpomnilnika za ¹tevilo podroèij ni mo¾na"
+
+#: disk-utils/fsck.minix.c:639
+msgid "Unable to read inode map"
+msgstr "Branje seznama inodov ni mo¾no"
+
+#: disk-utils/fsck.minix.c:641
+msgid "Unable to read zone map"
+msgstr "Branje seznama podroèij ni mo¾no"
+
+#: disk-utils/fsck.minix.c:643
+msgid "Unable to read inodes"
+msgstr "Branje inodov ni mo¾no"
+
+#: disk-utils/fsck.minix.c:645
+#, c-format
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr "Opozorilo: Firstzone != Norm_firstzone\n"
+
+#: disk-utils/fsck.minix.c:650 disk-utils/mkfs.minix.c:450
+#, c-format
+msgid "%ld inodes\n"
+msgstr "%ld inodov\n"
+
+#: disk-utils/fsck.minix.c:651 disk-utils/mkfs.minix.c:451
+#, c-format
+msgid "%ld blocks\n"
+msgstr "%ld blokov\n"
+
+#: disk-utils/fsck.minix.c:652 disk-utils/mkfs.minix.c:452
+#, c-format
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr "Prvo podatkovno podroèje=%ld (%ld)\n"
+
+#: disk-utils/fsck.minix.c:653 disk-utils/mkfs.minix.c:453
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr "Velikost podroèja=%d\n"
+
+#: disk-utils/fsck.minix.c:654
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr "Najveèja velikost=%ld\n"
+
+#: disk-utils/fsck.minix.c:655
+#, c-format
+msgid "Filesystem state=%d\n"
+msgstr "Stanje dat. sistema=%d\n"
+
+#: disk-utils/fsck.minix.c:656
+#, c-format
+msgid ""
+"namelen=%d\n"
+"\n"
+msgstr ""
+"dol¾ina datoteke=%d\n"
+"\n"
+
+#: disk-utils/fsck.minix.c:671 disk-utils/fsck.minix.c:722
+#, 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:675 disk-utils/fsck.minix.c:726
+msgid "Mark in use"
+msgstr "Oznaèi, da je v rabi"
+
+#: disk-utils/fsck.minix.c:697 disk-utils/fsck.minix.c:746
+#, c-format
+msgid "The file `%s' has mode %05o\n"
+msgstr "Ta datoteka `%s' je v stanju %05o\n"
+
+#: disk-utils/fsck.minix.c:704 disk-utils/fsck.minix.c:752
+#, c-format
+msgid "Warning: inode count too big.\n"
+msgstr "Opozorilo: ¹tevilo inodov preveliko.\n"
+
+#: disk-utils/fsck.minix.c:764 disk-utils/fsck.minix.c:772
+msgid "root inode isn't a directory"
+msgstr "korenski inod ni imenik"
+
+#: disk-utils/fsck.minix.c:786 disk-utils/fsck.minix.c:819
+#, 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:788 disk-utils/fsck.minix.c:821
+#: disk-utils/fsck.minix.c:1144 disk-utils/fsck.minix.c:1153
+#: disk-utils/fsck.minix.c:1199 disk-utils/fsck.minix.c:1208
+msgid "Clear"
+msgstr "Poèisti"
+
+#: disk-utils/fsck.minix.c:798 disk-utils/fsck.minix.c:831
+#, 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:800 disk-utils/fsck.minix.c:833
+msgid "Correct"
+msgstr "Popravi"
+
+#: disk-utils/fsck.minix.c:972 disk-utils/fsck.minix.c:1039
+#, 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:975 disk-utils/fsck.minix.c:1042
+msgid " Remove"
+msgstr "Odstrani"
+
+#: disk-utils/fsck.minix.c:989 disk-utils/fsck.minix.c:1056
+#, 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:997 disk-utils/fsck.minix.c:1065
+#, 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:1099 disk-utils/fsck.minix.c:1117
+msgid "internal error"
+msgstr "notranja napaka"
+
+#: disk-utils/fsck.minix.c:1102 disk-utils/fsck.minix.c:1120
+#, c-format
+msgid "%s: bad directory: size < 32"
+msgstr "%s: po¹kodovan imenik: velikost < 32"
+
+#: disk-utils/fsck.minix.c:1133
+msgid "seek failed in bad_zone"
+msgstr "iskanje v bad_zone ni uspelo"
+
+#: disk-utils/fsck.minix.c:1143 disk-utils/fsck.minix.c:1198
+#, c-format
+msgid "Inode %d mode not cleared."
+msgstr "stanje %d inoda ni poèi¹èeno"
+
+#: disk-utils/fsck.minix.c:1152 disk-utils/fsck.minix.c:1207
+#, c-format
+msgid "Inode %d 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:1158 disk-utils/fsck.minix.c:1213
+#, c-format
+msgid "Inode %d used, marked unused in the bitmap."
+msgstr "Inod %d v rabi, oznaèen kot ni v rabi v sliki."
+
+#: disk-utils/fsck.minix.c:1160 disk-utils/fsck.minix.c:1214
+msgid "Set"
+msgstr "Nastavi"
+
+#: disk-utils/fsck.minix.c:1164 disk-utils/fsck.minix.c:1218
+#, c-format
+msgid "Inode %d (mode = %07o), i_nlinks=%d, counted=%d."
+msgstr "Inod %d (stanje = %07o), i_nlinks=%d, counted=%d."
+
+#: disk-utils/fsck.minix.c:1166 disk-utils/fsck.minix.c:1220
+msgid "Set i_nlinks to count"
+msgstr "i_nlinks nastavi na count "
+
+#: disk-utils/fsck.minix.c:1178 disk-utils/fsck.minix.c:1232
+#, c-format
+msgid "Zone %d: 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:1179 disk-utils/fsck.minix.c:1234
+msgid "Unmark"
+msgstr "Odznaèi"
+
+#: disk-utils/fsck.minix.c:1184 disk-utils/fsck.minix.c:1239
+#, c-format
+msgid "Zone %d: in use, counted=%d\n"
+msgstr "Podroèje %d: v rabi, counted=%d\n"
+
+#: disk-utils/fsck.minix.c:1187 disk-utils/fsck.minix.c:1242
+#, c-format
+msgid "Zone %d: not in use, counted=%d\n"
+msgstr "Podroèje %d: ni v rabi, counted=%d\n"
+
+#: disk-utils/fsck.minix.c:1287 disk-utils/mkfs.minix.c:576
+#: disk-utils/mkfs.minix.c:578
+msgid "bad inode size"
+msgstr "slaba velikost inoda"
+
+#: disk-utils/fsck.minix.c:1289
+msgid "bad v2 inode size"
+msgstr "slaba velikost v2 inoda"
+
+#: disk-utils/fsck.minix.c:1315
+msgid "need terminal for interactive repairs"
+msgstr "za interaktivna opravila je potreben terminal"
+
+#: disk-utils/fsck.minix.c:1319
+#, fuzzy, c-format
+msgid "unable to open '%s': %s"
+msgstr "'%s' ni mogoèe odpreti"
+
+#: disk-utils/fsck.minix.c:1334
+#, c-format
+msgid "%s is clean, no check.\n"
+msgstr "%s je èist, preverjanje ni potrebno.\n"
+
+#: disk-utils/fsck.minix.c:1338
+#, c-format
+msgid "Forcing filesystem check on %s.\n"
+msgstr "Prisilni pregled datoteènega sistema na %s.\n"
+
+#: disk-utils/fsck.minix.c:1340
+#, 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:1373
+#, c-format
+msgid ""
+"\n"
+"%6ld inodes used (%ld%%)\n"
+msgstr ""
+"\n"
+"%6ld inodov porabljenih (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1378
+#, c-format
+msgid "%6ld zones used (%ld%%)\n"
+msgstr "%6ld podroèij porabljenih (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1380
+#, 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:1393
+#, 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
+#, c-format
+msgid "%s: failed to open: %s\n"
+msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#: disk-utils/isosize.c:135
+#, c-format
+msgid "%s: seek error on %s\n"
+msgstr "%s: napaka pri iskanju na %s\n"
+
+#: disk-utils/isosize.c:141
+#, c-format
+msgid "%s: read error on %s\n"
+msgstr "%s: napaka pri branju z %s\n"
+
+#: disk-utils/isosize.c:150
+#, c-format
+msgid "sector count: %d, sector size: %d\n"
+msgstr "¹tevilo sektorjev: %d, velikost sektorjev: %d\n"
+
+#: disk-utils/isosize.c:200
+#, c-format
+msgid "%s: option parse error\n"
+msgstr "%s: napaka pri razèlenjevanju izbir\n"
+
+#: disk-utils/isosize.c:208
+#, c-format
+msgid "Usage: %s [-x] [-d <num>] iso9660-image\n"
+msgstr "Uporaba: %s [-x] [-d <¹t>] slika-iso9660\n"
+
+#: disk-utils/mkfs.bfs.c:84
+#, c-format
+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"
+
+#: disk-utils/mkfs.bfs.c:131
+msgid "volume name too long"
+msgstr "ime obsega je predolgo"
+
+#: disk-utils/mkfs.bfs.c:138
+msgid "fsname name too long"
+msgstr "ime datoteènega sistema je predolgo"
+
+#: disk-utils/mkfs.bfs.c:163
+#, c-format
+msgid "cannot stat device %s"
+msgstr "stanja naprave %s ni mogoèe dobiti"
+
+#: disk-utils/mkfs.bfs.c:167
+#, c-format
+msgid "%s is not a block special device"
+msgstr "%s ni posebna bloèna naprava"
+
+#: disk-utils/mkfs.bfs.c:172 sys-utils/ldattach.c:205
+#, c-format
+msgid "cannot open %s"
+msgstr "ni mogoèe odpreti %s"
+
+#: disk-utils/mkfs.bfs.c:183
+#, c-format
+msgid "cannot get size of %s"
+msgstr "ni mogoèe dobiti velikosti %s"
+
+#: disk-utils/mkfs.bfs.c:188
+#, fuzzy, c-format
+msgid "blocks argument too large, max is %llu"
+msgstr "blocks argument prevelik, najveèji je %lu"
+
+#: disk-utils/mkfs.bfs.c:203
+msgid "too many inodes - max is 512"
+msgstr "preveè inodov - najveè 512"
+
+#: disk-utils/mkfs.bfs.c:212
+#, fuzzy, c-format
+msgid "not enough space, need at least %llu blocks"
+msgstr "ni zadosti prostora, najmanj %lu blokov"
+
+#: disk-utils/mkfs.bfs.c:224 fdisk/fdisk.c:2345
+#, c-format
+msgid "Device: %s\n"
+msgstr "Naprava %s\n"
+
+#: disk-utils/mkfs.bfs.c:225
+#, c-format
+msgid "Volume: <%-6s>\n"
+msgstr "Obseg: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:226
+#, c-format
+msgid "FSname: <%-6s>\n"
+msgstr "ime dat. sistema: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:227
+#, c-format
+msgid "BlockSize: %d\n"
+msgstr "Velikost bloka: %d\n"
+
+#: disk-utils/mkfs.bfs.c:229
+#, c-format
+msgid "Inodes: %d (in 1 block)\n"
+msgstr "Inodi: %d (v enem bloku)\n"
+
+#: disk-utils/mkfs.bfs.c:232
+#, fuzzy, c-format
+msgid "Inodes: %d (in %lld blocks)\n"
+msgstr "Inodi: %d (v %ld blokih)\n"
+
+#: disk-utils/mkfs.bfs.c:234
+#, fuzzy, c-format
+msgid "Blocks: %lld\n"
+msgstr "Bloki: %ld\n"
+
+#: disk-utils/mkfs.bfs.c:235
+#, c-format
+msgid "Inode end: %d, Data end: %d\n"
+msgstr "konec inodov: %d, konec podatkov: %d\n"
+
+#: disk-utils/mkfs.bfs.c:240
+msgid "error writing superblock"
+msgstr "napaka pri zapisovanju superbloka"
+
+#: disk-utils/mkfs.bfs.c:260
+msgid "error writing root inode"
+msgstr "napaka pri zapisovanju korenskega inoda"
+
+#: disk-utils/mkfs.bfs.c:265
+msgid "error writing inode"
+msgstr "napaka pri zapisovanju inoda"
+
+#: disk-utils/mkfs.bfs.c:268
+msgid "seek error"
+msgstr "napaka pri iskanju"
+
+#: disk-utils/mkfs.bfs.c:274
+msgid "error writing . entry"
+msgstr "napaka pri zapisovanju vnosa . "
+
+#: disk-utils/mkfs.bfs.c:278
+msgid "error writing .. entry"
+msgstr "napaka pri zapisovanju vnosa .."
+
+#: disk-utils/mkfs.bfs.c:282
+#, c-format
+msgid "error closing %s"
+msgstr "napaka pri zapiranju %s"
+
+#: disk-utils/mkfs.c:73
+#, c-format
+msgid "Usage: mkfs [-V] [-t fstype] [fs-options] device [size]\n"
+msgstr ""
+"Uporaba: mkfs [-V] [-t tip dat. sistema] [izbire dat. sist.] naprava "
+"[velikost]\n"
+
+#: disk-utils/mkfs.c:88 disk-utils/mkfs.c:96 fdisk/cfdisk.c:351
+#: getopt/getopt.c:86 getopt/getopt.c:96 login-utils/wall.c:246
+#, c-format
+msgid "%s: Out of memory!\n"
+msgstr "%s: Zmanjkalo pomnilnika!\n"
+
+#: disk-utils/mkfs.c:103
+#, fuzzy, c-format
+msgid "mkfs (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: disk-utils/mkfs.cramfs.c:126
+#, 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:340
+#, fuzzy, c-format
+msgid ""
+"Very long (%zu bytes) filename `%s' found.\n"
+" Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile.  Exiting.\n"
+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:472
+#, c-format
+msgid "filesystem too big.  Exiting.\n"
+msgstr "datoteèni sistem je prevelik. Konèujem.\n"
+
+#: disk-utils/mkfs.cramfs.c:637
+#, 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:656
+#, fuzzy, c-format
+msgid "%6.2f%% (%+ld bytes)\t%s\n"
+msgstr "%6.2f%% (%+d bajtov)\t%s\n"
+
+#: disk-utils/mkfs.cramfs.c:854
+#, fuzzy, c-format
+msgid ""
+"warning: guestimate of required size (upper bound) is %lldMB, but maximum "
+"image size is %uMB.  We might die prematurely.\n"
+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:881
+msgid "ROM image map"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:895
+#, c-format
+msgid "Including: %s\n"
+msgstr "Vkljuèno: %s\n"
+
+#: disk-utils/mkfs.cramfs.c:901
+#, fuzzy, c-format
+msgid "Directory data: %zd bytes\n"
+msgstr "Podatki imenika: %d bajtov\n"
+
+#: disk-utils/mkfs.cramfs.c:909
+#, fuzzy, c-format
+msgid "Everything: %zd kilobytes\n"
+msgstr "Vse skupaj: %d kilobajtov\n"
+
+#: disk-utils/mkfs.cramfs.c:914
+#, fuzzy, c-format
+msgid "Super block: %zd bytes\n"
+msgstr "Superblok: %d bajtov\n"
+
+#: disk-utils/mkfs.cramfs.c:921
+#, c-format
+msgid "CRC: %x\n"
+msgstr "CRC: %x\n"
+
+#: disk-utils/mkfs.cramfs.c:926
+#, fuzzy, c-format
+msgid "not enough space allocated for ROM image (%lld allocated, %zu used)\n"
+msgstr "za ROM sliko ni zadosti prostora (%Ld rezervirano, %d v rabi)\n"
+
+#: disk-utils/mkfs.cramfs.c:934
+msgid "ROM image"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:938
+#, fuzzy, c-format
+msgid "ROM image write failed (%zd %zd)\n"
+msgstr "zapisovanje ROM slike ni uspelo (%d %d)\n"
+
+#: disk-utils/mkfs.cramfs.c:947
+#, c-format
+msgid "warning: filenames truncated to 255 bytes.\n"
+msgstr "opozorilo: imena datotek so skrèena na 255 bajtov.\n"
+
+#: disk-utils/mkfs.cramfs.c:950
+#, c-format
+msgid "warning: files were skipped due to errors.\n"
+msgstr "opozorilo: nekatere datoteke so bile ignorirane zaradi napak.\n"
+
+#: disk-utils/mkfs.cramfs.c:953
+#, c-format
+msgid "warning: file sizes truncated to %luMB (minus 1 byte).\n"
+msgstr "warning: velikosti datotek zmanja¹ane na %luMB (1 bajt manj).\n"
+
+#: disk-utils/mkfs.cramfs.c:958
+#, c-format
+msgid ""
+"warning: uids truncated to %u bits.  (This may be a security concern.)\n"
+msgstr "opozorilo: uid-i zmanj¹ani na %u bitov.  (Lahko vpliva na varnost.)\n"
+
+#: disk-utils/mkfs.cramfs.c:963
+#, c-format
+msgid ""
+"warning: gids truncated to %u bits.  (This may be a security concern.)\n"
+msgstr "opozorilo: gid-i zmanj¹ani na %u bitov.  (Lahko vpliva na varnost.)\n"
+
+#: disk-utils/mkfs.cramfs.c:968
+#, c-format
+msgid ""
+"WARNING: device numbers truncated to %u bits.  This almost certainly means\n"
+"that some device files will be wrong.\n"
+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:156
+#, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]\n"
+msgstr "Uporaba: %s [-c | -l ime dat.] [-nXX] [-iXX] /dev/ime [bloki]\n"
+
+#: disk-utils/mkfs.minix.c:180
+#, 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:190
+msgid "seek to boot block failed in write_tables"
+msgstr "iskanje do zagonskega bloka ni uspelo v write_tables"
+
+#: disk-utils/mkfs.minix.c:192
+msgid "unable to clear boot sector"
+msgstr "zagonskega sektorja ni mogoèe poèistiti"
+
+#: disk-utils/mkfs.minix.c:194
+msgid "seek failed in write_tables"
+msgstr "iskanje ni uspelo v write_tables"
+
+#: disk-utils/mkfs.minix.c:198
+msgid "unable to write inode map"
+msgstr "zapis seznama inodov ni uspel"
+
+#: disk-utils/mkfs.minix.c:200
+msgid "unable to write zone map"
+msgstr "zapis seznama podroèij ni uspel"
+
+#: disk-utils/mkfs.minix.c:202
+msgid "unable to write inodes"
+msgstr "zapis inodov ni uspel"
+
+#: disk-utils/mkfs.minix.c:211
+msgid "write failed in write_block"
+msgstr "pisanje ni uspelo v write_block"
+
+#: disk-utils/mkfs.minix.c:219 disk-utils/mkfs.minix.c:293
+#: disk-utils/mkfs.minix.c:342
+msgid "too many bad blocks"
+msgstr "preveè po¹kodovanih blokov"
+
+#: disk-utils/mkfs.minix.c:227
+msgid "not enough good blocks"
+msgstr "premalo nepo¹kodovanih blokov"
+
+#: disk-utils/mkfs.minix.c:439
+msgid "unable to allocate buffers for maps"
+msgstr "dodelitev medpomnilnika za sezname ni uspela"
+
+#: disk-utils/mkfs.minix.c:448
+msgid "unable to allocate buffer for inodes"
+msgstr "dodelitev medpomnilnika za inode ni uspela"
+
+#: disk-utils/mkfs.minix.c:454
+#, c-format
+msgid ""
+"Maxsize=%ld\n"
+"\n"
+msgstr ""
+"Najveèja velikost=%ld\n"
+"\n"
+
+#: disk-utils/mkfs.minix.c:468
+msgid "seek failed during testing of blocks"
+msgstr "iskanje med testiranjem blokov ni uspelo"
+
+#: disk-utils/mkfs.minix.c:476
+#, 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:507 disk-utils/mkswap.c:313
+msgid "seek failed in check_blocks"
+msgstr "iskanje v check_blocks ni uspelo"
+
+#: disk-utils/mkfs.minix.c:516
+msgid "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:522 disk-utils/mkfs.minix.c:547
+#, c-format
+msgid "%d bad blocks\n"
+msgstr "%d po¹kodovanih blokov\n"
+
+#: disk-utils/mkfs.minix.c:524 disk-utils/mkfs.minix.c:549
+#, c-format
+msgid "one bad block\n"
+msgstr "en po¹kodovan blok\n"
+
+#: disk-utils/mkfs.minix.c:534
+msgid "can't open file of bad blocks"
+msgstr "ne morem odpreti datoteke s po¹kodovanimi bloki"
+
+#: disk-utils/mkfs.minix.c:538
+#, c-format
+msgid "badblock number input error on line %d\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:539
+#, fuzzy
+msgid "cannot read badblocks file"
+msgstr "Diskovnega pogona ni mogoèe prebrati"
+
+#: disk-utils/mkfs.minix.c:619
+#, c-format
+msgid "strtol error: number of blocks not specified"
+msgstr "napaka v strtol: ¹tevilo blokov ni podano"
+
+#: disk-utils/mkfs.minix.c:638
+#, c-format
+msgid "unable to stat %s"
+msgstr "stanja %s ni mogoèe dobiti"
+
+#: disk-utils/mkfs.minix.c:644
+#, c-format
+msgid "unable to open %s"
+msgstr "ni mogoèe odpreti %s"
+
+#: disk-utils/mkfs.minix.c:649
+#, fuzzy, c-format
+msgid "cannot determine sector size for %s"
+msgstr "ni mogoèe dobiti velikosti %s"
+
+#: disk-utils/mkfs.minix.c:651
+#, c-format
+msgid "block size smaller than physical sector size of %s"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:654
+#, fuzzy, c-format
+msgid "cannot determine size of %s"
+msgstr "ni mogoèe dobiti velikosti %s"
+
+#: disk-utils/mkfs.minix.c:662
+#, 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:664
+#, fuzzy
+msgid "number of blocks too small"
+msgstr "©tevilo sektorjev"
+
+#: disk-utils/mkswap.c:155
+#, c-format
+msgid "Bad user-specified page size %d\n"
+msgstr "Podana velikost strani ni dobra%d\n"
+
+#: disk-utils/mkswap.c:163
+#, fuzzy, c-format
+msgid "Using user-specified page size %d, instead of the system value %d\n"
+msgstr ""
+"Uporabljamo podano velikost strani %d namesto sistemske vrednosti %d/%d\n"
+
+#: disk-utils/mkswap.c:192
+#, c-format
+msgid "Bad swap header size, no label written.\n"
+msgstr "Po¹kodovana velikost glava izmenjalnega prostora, oznaka ni zapisana\n"
+
+#: disk-utils/mkswap.c:202
+#, c-format
+msgid "Label was truncated.\n"
+msgstr "Oznaka je bila skraj¹ana\n"
+
+#: disk-utils/mkswap.c:208
+#, fuzzy, c-format
+msgid "no label, "
+msgstr "ni oznake"
+
+#: disk-utils/mkswap.c:216
+#, c-format
+msgid "no uuid\n"
+msgstr "ni uuid-a\n"
+
+#: disk-utils/mkswap.c:281
+#, fuzzy, c-format
+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"
+
+#: disk-utils/mkswap.c:295
+msgid "too many bad pages"
+msgstr "preveè po¹kodovanih strani"
+
+#: disk-utils/mkswap.c:308 misc-utils/look.c:182 misc-utils/setterm.c:1183
+#: text-utils/more.c:1982 text-utils/more.c:1993
+msgid "Out of memory"
+msgstr "Zmanjkalo je pomnilnika"
+
+#: disk-utils/mkswap.c:319
+#, c-format
+msgid "one bad page\n"
+msgstr "ena po¹kodovana stran\n"
+
+#: disk-utils/mkswap.c:321
+#, fuzzy, c-format
+msgid "%lu bad pages\n"
+msgstr "%lu po¹kodovanih strani\n"
+
+#: disk-utils/mkswap.c:399 disk-utils/mkswap.c:415 disk-utils/mkswap.c:633
+msgid "unable to rewind swap-device"
+msgstr "izmenjalne naprave ni mogoèe previti"
+
+#: disk-utils/mkswap.c:419
+#, fuzzy
+msgid "unable to erase bootbits sectors"
+msgstr "zagonskega sektorja ni mogoèe poèistiti"
+
+#: disk-utils/mkswap.c:423
+#, c-format
+msgid "%s: %s: warning: don't erase bootbits sectors\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:426
+#, fuzzy, c-format
+msgid "        (%s partition table detected). "
+msgstr "   p   izpi¹i BSD-jevo tabelo razdelkov"
+
+#: disk-utils/mkswap.c:428
+#, fuzzy, c-format
+msgid "        on whole disk. "
+msgstr "   s   prika¾i celostno oznako diska"
+
+#: disk-utils/mkswap.c:498
+#, c-format
+msgid "%1$s: warning: ignore -U (UUIDs are unsupported by %1$s)\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:514
+#, fuzzy, c-format
+msgid "%s: does not support swapspace version %d.\n"
+msgstr "%s: napaka: neznana razlièica %d\n"
+
+#: disk-utils/mkswap.c:522
+#, fuzzy
+msgid "error: UUID parsing failed"
+msgstr ""
+"\n"
+"Napaka pri zapiranju datoteke\n"
+
+#: disk-utils/mkswap.c:533
+#, c-format
+msgid "%s: error: Nowhere to set up swap on?\n"
+msgstr "%s: napaka: izmenjalnega prostora ni mo¾no nikamor namestiti?\n"
+
+#: disk-utils/mkswap.c:551
+#, fuzzy, c-format
+msgid "%s: error: size %llu KiB is larger than device size %llu KiB\n"
+msgstr "%s: napaka: velikost %lu je veèja od velikosti naprave %lu\n"
+
+#: disk-utils/mkswap.c:560
+#, fuzzy, c-format
+msgid "%s: error: swap area needs to be at least %ld KiB\n"
+msgstr "%s: napaka: velikost izmenjalnega prostora mora biti vsaj %ld KB\n"
+
+#: disk-utils/mkswap.c:577
+#, fuzzy, c-format
+msgid "%s: warning: truncating swap area to %llu KiB\n"
+msgstr "%s: opozorilo: meja izmenjalnega prostora postavljena na %ldKB\n"
+
+#: disk-utils/mkswap.c:600
+#, fuzzy, c-format
+msgid "%s: error: will not try to make swapdevice on '%s'\n"
+msgstr "Naprava izmenjalnega prostora ne bo ustvarjena na ,%s`"
+
+#: disk-utils/mkswap.c:606
+#, fuzzy, c-format
+msgid "%s: error: %s is mounted; will not make swapspace.\n"
+msgstr "%s je priklopljen; dat. sistema zato ne bo narejen!"
+
+#: disk-utils/mkswap.c:622
+msgid "Unable to set up swap-space: unreadable"
+msgstr "Izmenjalnega prostora ni mogoèe nastaviti: neberljiv"
+
+#: disk-utils/mkswap.c:625
+#, 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:636
+#, fuzzy, c-format
+msgid "%s: %s: unable to write signature page: %s"
+msgstr "strani s podpisom ni mogoèe zapisati"
+
+#: disk-utils/mkswap.c:647
+msgid "fsync failed"
+msgstr "fsync ni uspel"
+
+#: disk-utils/mkswap.c:658
+#, c-format
+msgid "%s: %s: unable to obtain selinux file label: %s\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:664
+#, fuzzy
+msgid "unable to matchpathcon()"
+msgstr "stanja %s ni mogoèe dobiti"
+
+#: disk-utils/mkswap.c:667
+#, fuzzy
+msgid "unable to create new selinux context"
+msgstr "zapis inodov ni uspel"
+
+#: disk-utils/mkswap.c:669
+msgid "couldn't compute selinux context"
+msgstr ""
+
+#: disk-utils/mkswap.c:675
+#, fuzzy, c-format
+msgid "%s: unable to relabel %s to %s: %s\n"
+msgstr "ni mogoèe preimenovati %s v %s: %s\n"
+
+#: disk-utils/raw.c:50
+#, fuzzy, c-format
+msgid ""
+"Usage:\n"
+"  %s "
+msgstr "Uporaba:\n"
+
+#: disk-utils/raw.c:125
+#, c-format
+msgid ""
+"Device '%s' is control raw dev (use raw<N> where <N> is greater than zero)\n"
+msgstr ""
+
+#: disk-utils/raw.c:145
+#, fuzzy, c-format
+msgid "Cannot locate block device '%s' (%s)\n"
+msgstr "Omejitvene datoteke %s ni mogoèe zakleniti: %s\n"
+
+#: disk-utils/raw.c:151
+#, fuzzy, c-format
+msgid "Device '%s' is not a block dev\n"
+msgstr "Opozorilo: %s ni blokovna naprava\n"
+
+#: disk-utils/raw.c:186
+#, fuzzy, c-format
+msgid "Cannot open master raw device '"
+msgstr "stanja naprave %s ni mogoèe dobiti"
+
+#: disk-utils/raw.c:205
+#, fuzzy, c-format
+msgid "Cannot locate raw device '%s' (%s)\n"
+msgstr "stanja naprave %s ni mogoèe dobiti"
+
+#: disk-utils/raw.c:211
+#, fuzzy, c-format
+msgid "Raw device '%s' is not a character dev\n"
+msgstr "/dev/%s: ni znakovna naprava"
+
+#: disk-utils/raw.c:216
+#, fuzzy, c-format
+msgid "Device '%s' is not a raw dev\n"
+msgstr "%s ni posebna bloèna naprava"
+
+#: disk-utils/raw.c:231
+#, c-format
+msgid "Error querying raw device (%s)\n"
+msgstr ""
+
+#: disk-utils/raw.c:241 disk-utils/raw.c:261
+#, c-format
+msgid "raw%d:\tbound to major %d, minor %d\n"
+msgstr ""
+
+#: disk-utils/raw.c:257
+#, fuzzy, c-format
+msgid "Error setting raw device (%s)\n"
+msgstr "napaka pri zaustavljanju storitve: \"%s\""
+
+#: fdisk/cfdisk.c:376 fdisk/cfdisk.c:2080
+msgid "Unusable"
+msgstr "Neuporabno"
+
+#: fdisk/cfdisk.c:378 fdisk/cfdisk.c:2082
+msgid "Free Space"
+msgstr "Neuporabljen prostor"
+
+#: fdisk/cfdisk.c:381
+msgid "Linux ext2"
+msgstr "Linux ext2"
+
+#: fdisk/cfdisk.c:383
+msgid "Linux ext3"
+msgstr "Linux ext3"
+
+#: fdisk/cfdisk.c:385
+msgid "Linux XFS"
+msgstr "Linux XFS"
+
+#: fdisk/cfdisk.c:387
+#, fuzzy
+msgid "Linux JFS"
+msgstr "Linux XFS"
+
+#: fdisk/cfdisk.c:389
+msgid "Linux ReiserFS"
+msgstr "Linux ReiserFS"
+
+#: fdisk/cfdisk.c:391 fdisk/i386_sys_types.c:57
+msgid "Linux"
+msgstr "Linux"
+
+#: fdisk/cfdisk.c:394
+msgid "OS/2 HPFS"
+msgstr "OS/2 HPFS"
+
+#: fdisk/cfdisk.c:396
+msgid "OS/2 IFS"
+msgstr "OS/2 IFS"
+
+#: fdisk/cfdisk.c:400
+msgid "NTFS"
+msgstr "NTFS"
+
+#: fdisk/cfdisk.c:411
+#, c-format
+msgid "Disk has been changed.\n"
+msgstr "Disk je bil spremenjen.\n"
+
+#: fdisk/cfdisk.c:413
+#, 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"
+
+#: fdisk/cfdisk.c:417
+#, 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"
+
+#: fdisk/cfdisk.c:512
+msgid "FATAL ERROR"
+msgstr "USODNA NAPAKA"
+
+#: fdisk/cfdisk.c:513
+msgid "Press any key to exit cfdisk"
+msgstr "Pritisnike katerokoli tipko za izhod iz cfdisk-a"
+
+#: fdisk/cfdisk.c:560 fdisk/cfdisk.c:568
+msgid "Cannot seek on disk drive"
+msgstr "Iskanje na disku ni mogoèe"
+
+#: fdisk/cfdisk.c:562
+msgid "Cannot read disk drive"
+msgstr "Diskovnega pogona ni mogoèe prebrati"
+
+#: fdisk/cfdisk.c:570
+msgid "Cannot write disk drive"
+msgstr "Na diskovni pogon ni mogoèe pisati"
+
+#: fdisk/cfdisk.c:913
+msgid "Too many partitions"
+msgstr "Preveè razdelkov"
+
+#: fdisk/cfdisk.c:918
+msgid "Partition begins before sector 0"
+msgstr "Razdelek se zaène pred sektorjem 0"
+
+#: fdisk/cfdisk.c:923
+msgid "Partition ends before sector 0"
+msgstr "Razdelek se konèa pred sektorjem 0"
+
+#: fdisk/cfdisk.c:928
+msgid "Partition begins after end-of-disk"
+msgstr "Razdelek se zaène po koncu diska"
+
+#: fdisk/cfdisk.c:933
+msgid "Partition ends after end-of-disk"
+msgstr "Razdelek se konèa po koncu diska"
+
+#: fdisk/cfdisk.c:938
+msgid "Partition ends in the final partial cylinder"
+msgstr "Razdelek se konèa v zadnji delni stezi"
+
+#: fdisk/cfdisk.c:962
+msgid "logical partitions not in disk order"
+msgstr "logièni razdelki niso v pravem diskovnem redu"
+
+#: fdisk/cfdisk.c:965
+msgid "logical partitions overlap"
+msgstr "logièni razdelki se prekrivajo"
+
+#: fdisk/cfdisk.c:969
+msgid "enlarged logical partitions overlap"
+msgstr "poveèani logièni razdelki se prekrivajo"
+
+#: fdisk/cfdisk.c:999
+msgid ""
+"!!!! Internal error creating logical drive with no extended partition !!!!"
+msgstr ""
+"!!!! Interna napaka pri ustvarjanje logiènega pogona brez raz¹irjenega "
+"razdelka !!!!"
+
+#: fdisk/cfdisk.c:1010 fdisk/cfdisk.c:1022
+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"
+
+#: fdisk/cfdisk.c:1164
+msgid "Menu item too long. Menu may look odd."
+msgstr "Menujski vnos predolg. Menu lahko izgleda nenavadno."
+
+#: fdisk/cfdisk.c:1220
+#, fuzzy
+msgid "Menu without direction. Defaulting to horizontal."
+msgstr "Menu brez smeri. Privzeta je vodoravno."
+
+#: fdisk/cfdisk.c:1351
+msgid "Illegal key"
+msgstr "Nedovoljena tipka"
+
+#: fdisk/cfdisk.c:1374
+msgid "Press a key to continue"
+msgstr "Pritisnite katerokoli tipko za nadaljevanje"
+
+#: fdisk/cfdisk.c:1421 fdisk/cfdisk.c:2051 fdisk/cfdisk.c:2583
+#: fdisk/cfdisk.c:2585
+msgid "Primary"
+msgstr "Primaren"
+
+#: fdisk/cfdisk.c:1421
+msgid "Create a new primary partition"
+msgstr "Ustvari nov primaren razdelek"
+
+#: fdisk/cfdisk.c:1422 fdisk/cfdisk.c:2051 fdisk/cfdisk.c:2582
+#: fdisk/cfdisk.c:2585
+msgid "Logical"
+msgstr "Logièen"
+
+#: fdisk/cfdisk.c:1422
+msgid "Create a new logical partition"
+msgstr "Ustvari nov logièen razdelek"
+
+#: fdisk/cfdisk.c:1423 fdisk/cfdisk.c:1478 fdisk/cfdisk.c:2256
+msgid "Cancel"
+msgstr "Preklièi"
+
+#: fdisk/cfdisk.c:1423 fdisk/cfdisk.c:1478
+msgid "Don't create a partition"
+msgstr "Ne ustvari razdelka"
+
+#: fdisk/cfdisk.c:1439
+msgid "!!! Internal error !!!"
+msgstr "!!! Interna napaka !!!"
+
+#: fdisk/cfdisk.c:1442
+msgid "Size (in MB): "
+msgstr "Velikost (v MB): "
+
+#: fdisk/cfdisk.c:1476
+msgid "Beginning"
+msgstr "Zaèetek"
+
+#: fdisk/cfdisk.c:1476
+msgid "Add partition at beginning of free space"
+msgstr "Dodaj razdelek na zaèetek nezasedenega prostora"
+
+#: fdisk/cfdisk.c:1477
+msgid "End"
+msgstr "Konec"
+
+#: fdisk/cfdisk.c:1477
+msgid "Add partition at end of free space"
+msgstr "Dodaj razdelek na konec nezasedenega prostora"
+
+#: fdisk/cfdisk.c:1495
+msgid "No room to create the extended partition"
+msgstr "Ni prostora za ustvarjanje raz¹irjenega razdelka"
+
+#: fdisk/cfdisk.c:1569
+#, fuzzy
+msgid "No partition table.\n"
+msgstr "Ni tabele razdelkov.\n"
+
+#: fdisk/cfdisk.c:1573
+#, fuzzy
+msgid "No partition table. Starting with zero table."
+msgstr "Ni tabele razdelkov. Uporaba prazne tabele."
+
+#: fdisk/cfdisk.c:1583
+#, fuzzy
+msgid "Bad signature on partition table"
+msgstr "Po¹kodovan podpis na tabeli razdelkov"
+
+#: fdisk/cfdisk.c:1587
+#, fuzzy
+msgid "Unknown partition table type"
+msgstr "Neznan tip tabele razdelkov"
+
+#: fdisk/cfdisk.c:1589
+msgid "Do you wish to start with a zero table [y/N] ?"
+msgstr "Ali ¾elite zaèeti s prazno tabelo [y/N] ?"
+
+#: fdisk/cfdisk.c:1637
+msgid "You specified more cylinders than fit on disk"
+msgstr "Navedli ste veè stez, kot jih je na disku"
+
+#: fdisk/cfdisk.c:1669
+msgid "Cannot open disk drive"
+msgstr "Diskovne enote ni mogoèe odpreti"
+
+#: fdisk/cfdisk.c:1671 fdisk/cfdisk.c:1860
+msgid "Opened disk read-only - you have no permission to write"
+msgstr "Disk odprt samo za branje - nimate dovoljenja za pisanje"
+
+#: fdisk/cfdisk.c:1682
+msgid ""
+"Warning!!  Unsupported GPT (GUID Partition Table) detected. Use GNU Parted."
+msgstr ""
+
+#: fdisk/cfdisk.c:1701
+msgid "Cannot get disk size"
+msgstr "Velikosti diskovne steze ni mogoèe prebrati"
+
+#: fdisk/cfdisk.c:1727
+msgid "Bad primary partition"
+msgstr "Po¹kodovan primarni razdelek"
+
+#: fdisk/cfdisk.c:1757
+msgid "Bad logical partition"
+msgstr "Po¹kodovan logièni razdelek"
+
+#: fdisk/cfdisk.c:1872
+msgid "Warning!!  This may destroy data on your disk!"
+msgstr "Opozorilo!! To lahko unièi podatke na va¹em disku!"
+
+#: fdisk/cfdisk.c:1876
+#, 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): "
+
+#: fdisk/cfdisk.c:1882
+msgid "no"
+msgstr "ne"
+
+#: fdisk/cfdisk.c:1884
+msgid "Did not write partition table to disk"
+msgstr "Tabela razdelkov ni bila zapisana na disk"
+
+#: fdisk/cfdisk.c:1886
+msgid "yes"
+msgstr "da"
+
+#: fdisk/cfdisk.c:1890
+msgid "Please enter `yes' or `no'"
+msgstr "Prosim vpi¹ite ,da` ali ,ne`"
+
+#: fdisk/cfdisk.c:1894
+msgid "Writing partition table to disk..."
+msgstr "Tabela razdelkov se zapisuje na disk..."
+
+#: fdisk/cfdisk.c:1921 fdisk/cfdisk.c:1925
+msgid "Wrote partition table to disk"
+msgstr "Tabela razdelkov je bila zapisana na disk"
+
+#: fdisk/cfdisk.c:1923
+#, 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."
+
+#: fdisk/cfdisk.c:1933
+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."
+
+#: fdisk/cfdisk.c:1935
+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."
+
+#: fdisk/cfdisk.c:1993 fdisk/cfdisk.c:2112 fdisk/cfdisk.c:2196
+msgid "Enter filename or press RETURN to display on screen: "
+msgstr "Vnesite ime datoteke ali pritisnite ENTER za prikaz na zaslonu: "
+
+#: fdisk/cfdisk.c:2002 fdisk/cfdisk.c:2120 fdisk/cfdisk.c:2204
+#, c-format
+msgid "Cannot open file '%s'"
+msgstr "Datoteke ,%s` ni mogoèe odpreti"
+
+#: fdisk/cfdisk.c:2013
+#, c-format
+msgid "Disk Drive: %s\n"
+msgstr "Diskovna enota: %s\n"
+
+#: fdisk/cfdisk.c:2015
+msgid "Sector 0:\n"
+msgstr "Sektor 0:\n"
+
+#: fdisk/cfdisk.c:2022
+#, c-format
+msgid "Sector %d:\n"
+msgstr "Sektor %d:\n"
+
+#: fdisk/cfdisk.c:2042
+msgid "   None   "
+msgstr "   Brez   "
+
+#: fdisk/cfdisk.c:2044
+msgid "   Pri/Log"
+msgstr "   Pri/Log"
+
+#: fdisk/cfdisk.c:2046
+msgid "   Primary"
+msgstr "  Primaren"
+
+#: fdisk/cfdisk.c:2048
+msgid "   Logical"
+msgstr "   Logièen"
+
+#: fdisk/cfdisk.c:2086 fdisk/fdisk.c:1534 fdisk/fdisk.c:1855
+#: fdisk/fdisksgilabel.c:240 fdisk/fdisksunlabel.c:621 fdisk/sfdisk.c:653
+msgid "Unknown"
+msgstr "Neznano"
+
+#: fdisk/cfdisk.c:2092 fdisk/cfdisk.c:2560 fdisk/fdisksunlabel.c:44
+msgid "Boot"
+msgstr "Zagon"
+
+#: fdisk/cfdisk.c:2094
+#, fuzzy, c-format
+msgid "(%02X)"
+msgstr "(%02X)"
+
+#: fdisk/cfdisk.c:2096
+#, fuzzy
+msgid "None"
+msgstr "Brez"
+
+#: fdisk/cfdisk.c:2131 fdisk/cfdisk.c:2215
+#, c-format
+msgid "Partition Table for %s\n"
+msgstr "Tabela razdelkov za %s\n"
+
+#: fdisk/cfdisk.c:2133
+#, fuzzy
+msgid "               First       Last\n"
+msgstr "               Prvi        Zadnji\n"
+
+#: fdisk/cfdisk.c:2134
+msgid ""
+" # Type       Sector      Sector   Offset    Length   Filesystem Type (ID) "
+"Flag\n"
+msgstr ""
+" # Tip        Sektor      Sektor   Odmik     Dol¾ina  Tip dat. sistema (ID) "
+"Zastavice\n"
+
+#: fdisk/cfdisk.c:2135
+#, fuzzy
+msgid ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+msgstr ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+
+#: fdisk/cfdisk.c:2218
+#, fuzzy
+msgid "         ---Starting----      ----Ending-----    Start     Number of\n"
+msgstr "         ----Zaèetni---      ----Konèni----  Zaèetek     ©tevilo\n"
+
+#: fdisk/cfdisk.c:2219
+#, 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"
+
+#: fdisk/cfdisk.c:2220
+#, fuzzy
+msgid "-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+msgstr "-- ----- ---- ---- ---- ---- ---- ---- ---- -------- ---------\n"
+
+#: fdisk/cfdisk.c:2253
+msgid "Raw"
+msgstr "Surov"
+
+#: fdisk/cfdisk.c:2253
+msgid "Print the table using raw data format"
+msgstr "Izpis tabele v surovi obliki"
+
+#: fdisk/cfdisk.c:2254 fdisk/cfdisk.c:2357
+msgid "Sectors"
+msgstr "Sektorji"
+
+#: fdisk/cfdisk.c:2254
+msgid "Print the table ordered by sectors"
+msgstr "Izpis tabele, urejene po sektorjih"
+
+#: fdisk/cfdisk.c:2255
+msgid "Table"
+msgstr "Tabela"
+
+#: fdisk/cfdisk.c:2255
+msgid "Just print the partition table"
+msgstr "Samo izpis tabele razdelkov"
+
+#: fdisk/cfdisk.c:2256
+msgid "Don't print the table"
+msgstr "Brez izpisa tabele razdelkov"
+
+#: fdisk/cfdisk.c:2284
+msgid "Help Screen for cfdisk"
+msgstr "Osnovna navodila za cfdisk"
+
+#: fdisk/cfdisk.c:2286
+msgid "This is cfdisk, a curses based disk partitioning program, which"
+msgstr "Cfdisk je tekstovni program za urejanje diskovnih razdelkov,"
+
+#: fdisk/cfdisk.c:2287
+msgid "allows you to create, delete and modify partitions on your hard"
+msgstr "s katerim lahko ustvarjate, bri¹ete ali spreminjate razdelke"
+
+#: fdisk/cfdisk.c:2288
+msgid "disk drive."
+msgstr "na va¹em disku."
+
+#: fdisk/cfdisk.c:2290
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+
+#: fdisk/cfdisk.c:2292
+msgid "Command      Meaning"
+msgstr "  Ukaz        Pomen"
+
+#: fdisk/cfdisk.c:2293
+msgid "-------      -------"
+msgstr "-------      -------"
+
+#: fdisk/cfdisk.c:2294
+msgid "  b          Toggle bootable flag of the current partition"
+msgstr "  b          Preklop med zagonskim/nezagonskim razdelkom"
+
+#: fdisk/cfdisk.c:2295
+msgid "  d          Delete the current partition"
+msgstr "  d          Izbri¹i trenutni razdelek"
+
+#: fdisk/cfdisk.c:2296
+msgid "  g          Change cylinders, heads, sectors-per-track parameters"
+msgstr "  g          Spremeni parametre (¹t. stez, ¹t. glav, sektorjev/stezo)"
+
+#: fdisk/cfdisk.c:2297
+msgid "             WARNING: This option should only be used by people who"
+msgstr "             OPOZORILO: Izbiro naj izberejo le tisti,"
+
+#: fdisk/cfdisk.c:2298
+msgid "             know what they are doing."
+msgstr "             ki razumejo, kaj poènejo."
+
+#: fdisk/cfdisk.c:2299
+msgid "  h          Print this screen"
+msgstr "  h          prika¾i to pomoè"
+
+#: fdisk/cfdisk.c:2300
+msgid "  m          Maximize disk usage of the current partition"
+msgstr "  m          Porabi najveè prostora za trenutni razdelek"
+
+#: fdisk/cfdisk.c:2301
+msgid "             Note: This may make the partition incompatible with"
+msgstr "             Opomba: To lahko napravi razdelek nezdru¾ljiv z"
+
+#: fdisk/cfdisk.c:2302
+msgid "             DOS, OS/2, ..."
+msgstr "             DOS, OS/2, ..."
+
+#: fdisk/cfdisk.c:2303
+msgid "  n          Create new partition from free space"
+msgstr "  n          Ustvari nov razdelek na nezasedenega prostora"
+
+#: fdisk/cfdisk.c:2304
+msgid "  p          Print partition table to the screen or to a file"
+msgstr "  p          Prepi¹i tabelo razdelkov na zaslon ali v datoteko"
+
+#: fdisk/cfdisk.c:2305
+msgid "             There are several different formats for the partition"
+msgstr "             Obstaja veè razliènih zapisov za particijo"
+
+#: fdisk/cfdisk.c:2306
+msgid "             that you can choose from:"
+msgstr "             med katerimi lahko izbirate:"
+
+#: fdisk/cfdisk.c:2307
+msgid "                r - Raw data (exactly what would be written to disk)"
+msgstr ""
+"                r - neobdelani podatki (nataèno to, kar bi bilo zapisano na "
+"disk)"
+
+#: fdisk/cfdisk.c:2308
+msgid "                s - Table ordered by sectors"
+msgstr "                s - Tabela, urejena po sektorjih"
+
+#: fdisk/cfdisk.c:2309
+msgid "                t - Table in raw format"
+msgstr "                t - tabela v obliki neobdelanih podatkov"
+
+#: fdisk/cfdisk.c:2310
+msgid "  q          Quit program without writing partition table"
+msgstr "  q          Zapusti program, ne da bi zapisal tabelo razdelkov"
+
+#: fdisk/cfdisk.c:2311
+msgid "  t          Change the filesystem type"
+msgstr "  t          Spremeni vrsto datoteènega sistema"
+
+#: fdisk/cfdisk.c:2312
+msgid "  u          Change units of the partition size display"
+msgstr "  u          Spremeni enote izpisa velikosti razdelkov"
+
+#: fdisk/cfdisk.c:2313
+msgid "             Rotates through MB, sectors and cylinders"
+msgstr "             Kro¾i med MB, sektorji in stezami"
+
+#: fdisk/cfdisk.c:2314
+msgid "  W          Write partition table to disk (must enter upper case W)"
+msgstr "  W          Zapi¹i tabelo razdelkov na disk (mora biti veliki W!)"
+
+#: fdisk/cfdisk.c:2315
+msgid "             Since this might destroy data on the disk, you must"
+msgstr "             Ker lahko ta izbira unièi podatke na disku, morate,"
+
+#: fdisk/cfdisk.c:2316
+msgid "             either confirm or deny the write by entering `yes' or"
+msgstr "             izbiro potrditi ali preklicati z vnosom ,da` ali"
+
+#: fdisk/cfdisk.c:2317
+msgid "             `no'"
+msgstr "             `ne'"
+
+#: fdisk/cfdisk.c:2318
+msgid "Up Arrow     Move cursor to the previous partition"
+msgstr "Pu¹èica gor  Premakni kazalec na prej¹nji razdelek"
+
+#: fdisk/cfdisk.c:2319
+msgid "Down Arrow   Move cursor to the next partition"
+msgstr "Pu¹èica dol  Premakni kazalec na naslednji razdelek"
+
+#: fdisk/cfdisk.c:2320
+msgid "CTRL-L       Redraws the screen"
+msgstr "CTRL-L       Osve¾i izpis"
+
+#: fdisk/cfdisk.c:2321
+msgid "  ?          Print this screen"
+msgstr "  ?          Izpi¹i to okno"
+
+#: fdisk/cfdisk.c:2323
+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"
+
+#: fdisk/cfdisk.c:2324
+msgid "case letters (except for Writes)."
+msgstr "tiskanimi èrkami (z izjemo W)."
+
+#: fdisk/cfdisk.c:2355 fdisk/fdisksunlabel.c:237
+msgid "Cylinders"
+msgstr "Stez"
+
+#: fdisk/cfdisk.c:2355
+msgid "Change cylinder geometry"
+msgstr "Spremeni ¹tevilo stez"
+
+#: fdisk/cfdisk.c:2356 fdisk/fdisksunlabel.c:235
+msgid "Heads"
+msgstr "Glav"
+
+#: fdisk/cfdisk.c:2356
+msgid "Change head geometry"
+msgstr "Spremeni ¹tevilo glav"
+
+#: fdisk/cfdisk.c:2357
+msgid "Change sector geometry"
+msgstr "Spremeni ¹tevilo sektorjev"
+
+#: fdisk/cfdisk.c:2358
+msgid "Done"
+msgstr "Opravljeno"
+
+#: fdisk/cfdisk.c:2358
+msgid "Done with changing geometry"
+msgstr "Sprememba geometrije je konèana"
+
+#: fdisk/cfdisk.c:2371
+msgid "Enter the number of cylinders: "
+msgstr "Vnesite ¹tevilo stez: "
+
+#: fdisk/cfdisk.c:2382 fdisk/cfdisk.c:2953
+msgid "Illegal cylinders value"
+msgstr "Nedovoljena vrednost stez"
+
+#: fdisk/cfdisk.c:2388
+msgid "Enter the number of heads: "
+msgstr "Vnesite ¹tevilo glav: "
+
+#: fdisk/cfdisk.c:2395 fdisk/cfdisk.c:2963
+msgid "Illegal heads value"
+msgstr "Nedovoljeno ¹tevilo glav"
+
+#: fdisk/cfdisk.c:2401
+msgid "Enter the number of sectors per track: "
+msgstr "Vnesite ¹tevilo sektorjev na stezo: "
+
+#: fdisk/cfdisk.c:2408 fdisk/cfdisk.c:2970
+msgid "Illegal sectors value"
+msgstr "Nedovoljeno ¹tevilo sektorjev"
+
+#: fdisk/cfdisk.c:2511
+msgid "Enter filesystem type: "
+msgstr "Vnesite vrsto datoteènega sistema: "
+
+#: fdisk/cfdisk.c:2529
+msgid "Cannot change FS Type to empty"
+msgstr "Vrste datoteènega sistema ni moè spremeniti na prazno"
+
+#: fdisk/cfdisk.c:2531
+msgid "Cannot change FS Type to extended"
+msgstr "Vrste datoteènega sistema ni moè spremeniti na raz¹irjeno"
+
+#: fdisk/cfdisk.c:2562
+#, c-format
+msgid "Unk(%02X)"
+msgstr "Unk(%02X)"
+
+#: fdisk/cfdisk.c:2565 fdisk/cfdisk.c:2568
+msgid ", NC"
+msgstr ", NC"
+
+#: fdisk/cfdisk.c:2573 fdisk/cfdisk.c:2576
+msgid "NC"
+msgstr "NC"
+
+#: fdisk/cfdisk.c:2584
+msgid "Pri/Log"
+msgstr "Pri/Log"
+
+#: fdisk/cfdisk.c:2591
+#, c-format
+msgid "Unknown (%02X)"
+msgstr "Neznano (%02X)"
+
+#: fdisk/cfdisk.c:2660
+#, c-format
+msgid "Disk Drive: %s"
+msgstr "Diskovni Pogon: %s"
+
+#: fdisk/cfdisk.c:2667
+#, fuzzy, c-format
+msgid "Size: %lld bytes, %lld MB"
+msgstr "Velikost: %lld bajtov, %lld MB"
+
+#: fdisk/cfdisk.c:2670
+#, fuzzy, c-format
+msgid "Size: %lld bytes, %lld.%lld GB"
+msgstr "Velikost: %lld bajtov, %lld,%lld GB"
+
+#: fdisk/cfdisk.c:2674
+#, fuzzy, c-format
+msgid "Heads: %d   Sectors per Track: %d   Cylinders: %lld"
+msgstr "Glav:  %d   Sektorjev/stezo:   %d   Stez:      %lld"
+
+#: fdisk/cfdisk.c:2678 login-utils/chfn.c:377
+msgid "Name"
+msgstr "Ime"
+
+#: fdisk/cfdisk.c:2679
+msgid "Flags"
+msgstr "Oznake"
+
+#: fdisk/cfdisk.c:2680
+msgid "Part Type"
+msgstr "Tip Razd."
+
+#: fdisk/cfdisk.c:2681
+msgid "FS Type"
+msgstr "Dat. sistem"
+
+#: fdisk/cfdisk.c:2682
+msgid "[Label]"
+msgstr "[Oznaka]"
+
+#: fdisk/cfdisk.c:2684
+#, fuzzy
+msgid "    Sectors"
+msgstr "Sektorjev"
+
+#: fdisk/cfdisk.c:2686
+#, fuzzy
+msgid "  Cylinders"
+msgstr "Stez"
+
+#: fdisk/cfdisk.c:2688
+#, fuzzy
+msgid "  Size (MB)"
+msgstr "Vel. (MB)"
+
+#: fdisk/cfdisk.c:2690
+#, fuzzy
+msgid "  Size (GB)"
+msgstr "Vel. (GB)"
+
+#: fdisk/cfdisk.c:2744
+msgid "Bootable"
+msgstr "Zagonski"
+
+#: fdisk/cfdisk.c:2744
+msgid "Toggle bootable flag of the current partition"
+msgstr "Preklopi zagonsko zastavico trenutnega razdelka"
+
+#: fdisk/cfdisk.c:2745
+msgid "Delete"
+msgstr "Izbri¹i"
+
+#: fdisk/cfdisk.c:2745
+msgid "Delete the current partition"
+msgstr "Izbri¹i ta razdelek"
+
+#: fdisk/cfdisk.c:2746
+msgid "Geometry"
+msgstr "Geometr."
+
+#: fdisk/cfdisk.c:2746
+msgid "Change disk geometry (experts only)"
+msgstr "Nastavi geometrijo diska (samo poznavalci)"
+
+#: fdisk/cfdisk.c:2747
+msgid "Help"
+msgstr "Pomoè"
+
+#: fdisk/cfdisk.c:2747
+msgid "Print help screen"
+msgstr "Izpi¹i stran z navodili"
+
+#: fdisk/cfdisk.c:2748
+msgid "Maximize"
+msgstr "Razpri"
+
+#: fdisk/cfdisk.c:2748
+msgid "Maximize disk usage of the current partition (experts only)"
+msgstr ""
+"Razpri trenutni razdelek èez celotno nezasedeno obmoèje (samo poznavalci)"
+
+#: fdisk/cfdisk.c:2749
+msgid "New"
+msgstr "Nova"
+
+#: fdisk/cfdisk.c:2749
+msgid "Create new partition from free space"
+msgstr "Ustvari nov razdelek iz nezasedenega prostora"
+
+#: fdisk/cfdisk.c:2750
+msgid "Print"
+msgstr "Natisni"
+
+#: fdisk/cfdisk.c:2750
+msgid "Print partition table to the screen or to a file"
+msgstr "Izpi¹i tabelo razdelkov na zaslon ali shrani v datoteko"
+
+#: fdisk/cfdisk.c:2751
+msgid "Quit"
+msgstr "Izhod"
+
+#: fdisk/cfdisk.c:2751
+msgid "Quit program without writing partition table"
+msgstr "Izhod iz programa brez zapisa tabele razdelkov"
+
+#: fdisk/cfdisk.c:2752
+msgid "Type"
+msgstr "Tip"
+
+#: fdisk/cfdisk.c:2752
+msgid "Change the filesystem type (DOS, Linux, OS/2 and so on)"
+msgstr "Spremeni tip datoteènega sistema (DOS, Linux, OS/2 itn.)"
+
+#: fdisk/cfdisk.c:2753
+msgid "Units"
+msgstr "Enote"
+
+#: fdisk/cfdisk.c:2753
+msgid "Change units of the partition size display (MB, sect, cyl)"
+msgstr "Spremeni enote prikaza velikosti razdelkov (MB, sekt, cil)"
+
+#: fdisk/cfdisk.c:2754
+msgid "Write"
+msgstr "Zapi¹i"
+
+#: fdisk/cfdisk.c:2754
+msgid "Write partition table to disk (this might destroy data)"
+msgstr "Zapi¹i tabelo razdelkov na disk (to lahko unièi podatke)"
+
+#: fdisk/cfdisk.c:2800
+msgid "Cannot make this partition bootable"
+msgstr "Te particije se ne more nastaviti kot zagonske"
+
+#: fdisk/cfdisk.c:2810
+msgid "Cannot delete an empty partition"
+msgstr "Praznega razdelka se ne more zbrisati"
+
+#: fdisk/cfdisk.c:2830 fdisk/cfdisk.c:2832
+msgid "Cannot maximize this partition"
+msgstr "Tega razdelka se ne more razpreti"
+
+#: fdisk/cfdisk.c:2840
+msgid "This partition is unusable"
+msgstr "Ta razdelek ni uporaben"
+
+#: fdisk/cfdisk.c:2842
+msgid "This partition is already in use"
+msgstr "Ta razdelek se ¾e uporablja"
+
+#: fdisk/cfdisk.c:2859
+msgid "Cannot change the type of an empty partition"
+msgstr "Tipa praznega razdelka se ne more spremeniti"
+
+#: fdisk/cfdisk.c:2886 fdisk/cfdisk.c:2892
+msgid "No more partitions"
+msgstr "Ni veè razdelkov"
+
+#: fdisk/cfdisk.c:2899
+msgid "Illegal command"
+msgstr "Napaèen ukaz"
+
+#: fdisk/cfdisk.c:2909
+#, c-format
+msgid "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+msgstr "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+
+#: fdisk/cfdisk.c:2916
+#, 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"
+
+#: fdisk/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\")."
+
+#: fdisk/fdiskbsdlabel.c:122
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+"\n"
+"BSD oznaka za napravo: %s\n"
+
+#: fdisk/fdiskbsdlabel.c:129 fdisk/fdisk.c:386 fdisk/fdisk.c:405
+#: fdisk/fdisk.c:423 fdisk/fdisk.c:430 fdisk/fdisk.c:453 fdisk/fdisk.c:471
+#: fdisk/fdisk.c:487 fdisk/fdisk.c:503
+msgid "Command action"
+msgstr "  Ukaz  dejanje"
+
+#: fdisk/fdiskbsdlabel.c:130
+msgid "   d   delete a BSD partition"
+msgstr "   d   zbri¹i razdelek tipa BSD"
+
+#: fdisk/fdiskbsdlabel.c:131
+msgid "   e   edit drive data"
+msgstr "   e   a¾uriraj diskovne podatke"
+
+#: fdisk/fdiskbsdlabel.c:132
+msgid "   i   install bootstrap"
+msgstr "   i   namesti zaèetni nalagalnik"
+
+#: fdisk/fdiskbsdlabel.c:133
+msgid "   l   list known filesystem types"
+msgstr "   l   izpi¹i znane datoteène sisteme"
+
+#: fdisk/fdiskbsdlabel.c:134 fdisk/fdisk.c:392 fdisk/fdisk.c:411
+#: fdisk/fdisk.c:424 fdisk/fdisk.c:436 fdisk/fdisk.c:461 fdisk/fdisk.c:478
+#: fdisk/fdisk.c:494 fdisk/fdisk.c:512
+msgid "   m   print this menu"
+msgstr "   m   izpi¹i ta meni"
+
+#: fdisk/fdiskbsdlabel.c:135
+msgid "   n   add a new BSD partition"
+msgstr "   n   dodaj novo particijo tipa BSD"
+
+#: fdisk/fdiskbsdlabel.c:136
+msgid "   p   print BSD partition table"
+msgstr "   p   izpi¹i BSD-jevo tabelo razdelkov"
+
+#: fdisk/fdiskbsdlabel.c:137 fdisk/fdisk.c:396 fdisk/fdisk.c:415
+#: fdisk/fdisk.c:426 fdisk/fdisk.c:440 fdisk/fdisk.c:463 fdisk/fdisk.c:480
+#: fdisk/fdisk.c:496 fdisk/fdisk.c:514
+msgid "   q   quit without saving changes"
+msgstr "   q   konèaj, ne da bi shranil spremembe"
+
+#: fdisk/fdiskbsdlabel.c:138 fdisk/fdisk.c:464 fdisk/fdisk.c:481
+#: fdisk/fdisk.c:497 fdisk/fdisk.c:515
+msgid "   r   return to main menu"
+msgstr "   r   vrni se v glavni meni"
+
+#: fdisk/fdiskbsdlabel.c:139
+msgid "   s   show complete disklabel"
+msgstr "   s   prika¾i celostno oznako diska"
+
+#: fdisk/fdiskbsdlabel.c:140
+msgid "   t   change a partition's filesystem id"
+msgstr "   t   spremeni id razdelènega datoteènega sistema"
+
+#: fdisk/fdiskbsdlabel.c:141
+msgid "   u   change units (cylinders/sectors)"
+msgstr "   u   spremeni enote (steze/sektorji)"
+
+#: fdisk/fdiskbsdlabel.c:142
+msgid "   w   write disklabel to disk"
+msgstr "   w   zapi¹i oznako diska na disk"
+
+#: fdisk/fdiskbsdlabel.c:144
+msgid "   x   link BSD partition to non-BSD partition"
+msgstr "   x   pove¾i razdelek tipa BSD z razdelkom drugega tipa"
+
+#: fdisk/fdiskbsdlabel.c:176
+#, c-format
+msgid "Partition %s has invalid starting sector 0.\n"
+msgstr "Razdelek %s ima neveljavni zaèetni sektor 0.\n"
+
+#: fdisk/fdiskbsdlabel.c:180
+#, c-format
+msgid "Reading disklabel of %s at sector %d.\n"
+msgstr "Berem oznako diska %s na sektorju %d.\n"
+
+#: fdisk/fdiskbsdlabel.c:190
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr "Na %s ni razdelka tipa *BSD.\n"
+
+#: fdisk/fdiskbsdlabel.c:204
+msgid "BSD disklabel command (m for help): "
+msgstr "Ukaz BSD oznaka diska (m za pomoè): "
+
+#: fdisk/fdiskbsdlabel.c:284 fdisk/fdisk.c:2052 fdisk/fdisksgilabel.c:651
+#: fdisk/fdisksunlabel.c:431
+#, c-format
+msgid "First %s"
+msgstr "Prvi %s"
+
+#: fdisk/fdiskbsdlabel.c:291 fdisk/fdisksunlabel.c:488
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr "Zadnji %s ali +size ali +sizeM ali +sizeK"
+
+#: fdisk/fdiskbsdlabel.c:318
+#, c-format
+msgid "type: %s\n"
+msgstr "vrsta: %s\n"
+
+#: fdisk/fdiskbsdlabel.c:320
+#, c-format
+msgid "type: %d\n"
+msgstr "vrsta: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:321
+#, c-format
+msgid "disk: %.*s\n"
+msgstr "disk: %.*s\n"
+
+#: fdisk/fdiskbsdlabel.c:322
+#, c-format
+msgid "label: %.*s\n"
+msgstr "oznaka: %.*s\n"
+
+#: fdisk/fdiskbsdlabel.c:323
+#, c-format
+msgid "flags:"
+msgstr "zastavice:"
+
+#: fdisk/fdiskbsdlabel.c:325
+#, c-format
+msgid " removable"
+msgstr " odstranljiv"
+
+#: fdisk/fdiskbsdlabel.c:327
+#, c-format
+msgid " ecc"
+msgstr " ecc"
+
+#: fdisk/fdiskbsdlabel.c:329
+#, c-format
+msgid " badsect"
+msgstr " po¹sektor"
+
+#: fdisk/fdiskbsdlabel.c:333
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr "bajti/sektor: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:334
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr "sektor/sled: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:335
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr "sled/steza: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:336
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr "sektor/steza: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:337
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr "steze: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:338
+#, c-format
+msgid "rpm: %d\n"
+msgstr "obrati/min: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:339
+#, c-format
+msgid "interleave: %d\n"
+msgstr "prepleteno: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:340
+#, c-format
+msgid "trackskew: %d\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:341
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr "po¹evnostsledi: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:342
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr "zamenjava glave: %ld\t\t# milisekund\n"
+
+#: fdisk/fdiskbsdlabel.c:344
+#, c-format
+msgid "track-to-track seek: %ld\t# milliseconds\n"
+msgstr "iskanje sled-do-sledi: %ld\t# milisekund\n"
+
+#: fdisk/fdiskbsdlabel.c:346
+#, c-format
+msgid "drivedata: "
+msgstr "diskovni podatki: "
+
+#: fdisk/fdiskbsdlabel.c:355
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+"\n"
+"%d razdelkov:\n"
+
+#: fdisk/fdiskbsdlabel.c:356
+#, c-format
+msgid "#       start       end      size     fstype   [fsize bsize   cpg]\n"
+msgstr ""
+"#      zaèetek     konec     vel   tip dat sist  [veldat velblok cpg]\n"
+
+#: fdisk/fdiskbsdlabel.c:405 fdisk/fdiskbsdlabel.c:408
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr "Zapisovanje oznake diska na %s.\n"
+
+#: fdisk/fdiskbsdlabel.c:420 fdisk/fdiskbsdlabel.c:422
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr "%s ne vsebuje oznake diska.\n"
+
+#: fdisk/fdiskbsdlabel.c:427
+msgid "Do you want to create a disklabel? (y/n) "
+msgstr "Ali ¾elite ustvariti oznako diska? (y/n) "
+
+#: fdisk/fdiskbsdlabel.c:467
+msgid "bytes/sector"
+msgstr "bajti/sektor"
+
+#: fdisk/fdiskbsdlabel.c:468
+msgid "sectors/track"
+msgstr "sektorji/sled"
+
+#: fdisk/fdiskbsdlabel.c:469
+msgid "tracks/cylinder"
+msgstr "sledi/stezo"
+
+#: fdisk/fdiskbsdlabel.c:470 fdisk/fdisk.c:648 fdisk/fdisk.c:1357
+#: fdisk/sfdisk.c:945
+msgid "cylinders"
+msgstr "steze"
+
+#: fdisk/fdiskbsdlabel.c:477
+msgid "sectors/cylinder"
+msgstr "sektorji/stezo"
+
+#: fdisk/fdiskbsdlabel.c:481
+#, c-format
+msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
+msgstr "Mora biti <= sektorji/sled * sledi/stezo (privzeto).\n"
+
+#: fdisk/fdiskbsdlabel.c:483
+msgid "rpm"
+msgstr "obrati/min"
+
+#: fdisk/fdiskbsdlabel.c:484
+msgid "interleave"
+msgstr "prepleteno"
+
+#: fdisk/fdiskbsdlabel.c:485
+msgid "trackskew"
+msgstr "po¹evnostsledi"
+
+#: fdisk/fdiskbsdlabel.c:486
+msgid "cylinderskew"
+msgstr "po¹evnoststeze"
+
+#: fdisk/fdiskbsdlabel.c:487
+msgid "headswitch"
+msgstr "prehod glav"
+
+#: fdisk/fdiskbsdlabel.c:488
+msgid "track-to-track seek"
+msgstr "iskanje sledi-do-sledi"
+
+#: fdisk/fdiskbsdlabel.c:529
+#, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr "Zaèetni nalagalnik: %sboot -> boot%s (%s): "
+
+#: fdisk/fdiskbsdlabel.c:554
+#, c-format
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr "Zaèetni nalagalnik se prekriva z oznako diska!\n"
+
+#: fdisk/fdiskbsdlabel.c:575 fdisk/fdiskbsdlabel.c:577
+#, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr "Zaèetni nalagalnik je name¹èen na %s.\n"
+
+#: fdisk/fdiskbsdlabel.c:599
+#, c-format
+msgid "Partition (a-%c): "
+msgstr "Razdelek (a-%c): "
+
+#: fdisk/fdiskbsdlabel.c:618 fdisk/fdisk.c:2199
+#, c-format
+msgid "The maximum number of partitions has been created\n"
+msgstr "Najveèje mo¾no ¹tevilo razdelkov je bilo ustvarjeno\n"
+
+#: fdisk/fdiskbsdlabel.c:630
+#, c-format
+msgid "This partition already exists.\n"
+msgstr "Ta razdelek ¾e obstaja.\n"
+
+#: fdisk/fdiskbsdlabel.c:757
+#, c-format
+msgid "Warning: too many partitions (%d, maximum is %d).\n"
+msgstr "Opozorilo: preveè particij (%d, najveè pa je %d).\n"
+
+#: fdisk/fdiskbsdlabel.c:805
+#, c-format
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+"\n"
+"Sinhronizacija diskov.\n"
+
+#: fdisk/fdisk.c:244
+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"
+
+#: fdisk/fdisk.c:256
+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"
+
+#: fdisk/fdisk.c:265
+#, c-format
+msgid "Unable to open %s\n"
+msgstr "%s ni mogoèe odpreti\n"
+
+#: fdisk/fdisk.c:269
+#, c-format
+msgid "Unable to read %s\n"
+msgstr "%s ni mogoèe prebrati\n"
+
+#: fdisk/fdisk.c:273
+#, c-format
+msgid "Unable to seek on %s\n"
+msgstr "Na %s iskanje ni mo¾no\n"
+
+#: fdisk/fdisk.c:277
+#, c-format
+msgid "Unable to write %s\n"
+msgstr "Na %s ni mogoèe pisati\n"
+
+#: fdisk/fdisk.c:281
+#, c-format
+msgid "BLKGETSIZE ioctl failed on %s\n"
+msgstr "BLKGETSIZE od ioctl ni uspel na %s\n"
+
+#: fdisk/fdisk.c:285
+msgid "Unable to allocate any more memory\n"
+msgstr "Dodeljevanje pomnilnika ni veè mogoèe\n"
+
+#: fdisk/fdisk.c:288
+msgid "Fatal error\n"
+msgstr "Usodna napaka\n"
+
+#: fdisk/fdisk.c:387
+msgid "   a   toggle a read only flag"
+msgstr "   a   preklopi samo za branje"
+
+#: fdisk/fdisk.c:388 fdisk/fdisk.c:432
+msgid "   b   edit bsd disklabel"
+msgstr "   b   spremeni oznako diska tipa BSD"
+
+#: fdisk/fdisk.c:389
+msgid "   c   toggle the mountable flag"
+msgstr "   c   preklopi zastavico priklopljivo"
+
+#: fdisk/fdisk.c:390 fdisk/fdisk.c:409 fdisk/fdisk.c:434
+msgid "   d   delete a partition"
+msgstr "   d   zbri¹i razdelek"
+
+#: fdisk/fdisk.c:391 fdisk/fdisk.c:410 fdisk/fdisk.c:435
+msgid "   l   list known partition types"
+msgstr "   l   izpi¹i znane vrste razdelkov"
+
+#: fdisk/fdisk.c:393 fdisk/fdisk.c:412 fdisk/fdisk.c:437
+msgid "   n   add a new partition"
+msgstr "   n   dodaj nov razdelek"
+
+#: fdisk/fdisk.c:394 fdisk/fdisk.c:413 fdisk/fdisk.c:425 fdisk/fdisk.c:438
+msgid "   o   create a new empty DOS partition table"
+msgstr "   o   ustvari novo prazno tabelo razdelkov tipa MS-DOS"
+
+#: fdisk/fdisk.c:395 fdisk/fdisk.c:414 fdisk/fdisk.c:439 fdisk/fdisk.c:462
+#: fdisk/fdisk.c:479 fdisk/fdisk.c:495 fdisk/fdisk.c:513
+msgid "   p   print the partition table"
+msgstr "   p   izpi¹i tabelo razdelkov"
+
+#: fdisk/fdisk.c:397 fdisk/fdisk.c:416 fdisk/fdisk.c:427 fdisk/fdisk.c:441
+msgid "   s   create a new empty Sun disklabel"
+msgstr "   s   ustvari novo prazno oznako diska tipa Sun"
+
+#: fdisk/fdisk.c:398 fdisk/fdisk.c:417 fdisk/fdisk.c:442
+msgid "   t   change a partition's system id"
+msgstr "   t   spremeni sistemski ID razdelka"
+
+#: fdisk/fdisk.c:399 fdisk/fdisk.c:418 fdisk/fdisk.c:443
+msgid "   u   change display/entry units"
+msgstr "   u   spremeni prikazne/vnosne enote"
+
+#: fdisk/fdisk.c:400 fdisk/fdisk.c:419 fdisk/fdisk.c:444 fdisk/fdisk.c:466
+#: fdisk/fdisk.c:483 fdisk/fdisk.c:499 fdisk/fdisk.c:517
+msgid "   v   verify the partition table"
+msgstr "   v   preveri tabelo razdelkov"
+
+#: fdisk/fdisk.c:401 fdisk/fdisk.c:420 fdisk/fdisk.c:445 fdisk/fdisk.c:467
+#: fdisk/fdisk.c:484 fdisk/fdisk.c:500 fdisk/fdisk.c:518
+msgid "   w   write table to disk and exit"
+msgstr "   w   zapi¹i tabelo razdelkov na disk in konèaj"
+
+#: fdisk/fdisk.c:402 fdisk/fdisk.c:446
+msgid "   x   extra functionality (experts only)"
+msgstr "   x   dodatne mo¾nosti (samo za poznavalce)"
+
+#: fdisk/fdisk.c:406
+msgid "   a   select bootable partition"
+msgstr "   a   izberi zagonski razdelek"
+
+#: fdisk/fdisk.c:407
+msgid "   b   edit bootfile entry"
+msgstr "   b   uredi zagonskodatoteèni vnos"
+
+#: fdisk/fdisk.c:408
+msgid "   c   select sgi swap partition"
+msgstr "   c   izberi izmenjalni razdelek tipa sgi"
+
+#: fdisk/fdisk.c:431
+msgid "   a   toggle a bootable flag"
+msgstr "   a   preklopi zagonsko zastavico"
+
+#: fdisk/fdisk.c:433
+msgid "   c   toggle the dos compatibility flag"
+msgstr "   c   preklopi zdru¾ljivo z DOS zastavico"
+
+#: fdisk/fdisk.c:454
+msgid "   a   change number of alternate cylinders"
+msgstr "   a   spremeni ¹tevilo izmeniènih stez"
+
+#: fdisk/fdisk.c:455 fdisk/fdisk.c:473 fdisk/fdisk.c:489 fdisk/fdisk.c:505
+msgid "   c   change number of cylinders"
+msgstr "   c   spremeni ¹tevilo stez"
+
+#: fdisk/fdisk.c:456 fdisk/fdisk.c:474 fdisk/fdisk.c:490 fdisk/fdisk.c:506
+msgid "   d   print the raw data in the partition table"
+msgstr "   d   izpi¹i surove podatke iz tabele razdelkov"
+
+#: fdisk/fdisk.c:457
+msgid "   e   change number of extra sectors per cylinder"
+msgstr "   e   spremeni ¹tevilo dodatkih sektorjev na stezo"
+
+#: fdisk/fdisk.c:458 fdisk/fdisk.c:477 fdisk/fdisk.c:493 fdisk/fdisk.c:510
+msgid "   h   change number of heads"
+msgstr "   h   spremeni ¹tevilo glav"
+
+#: fdisk/fdisk.c:459
+msgid "   i   change interleave factor"
+msgstr "   i   spremeni koeficient prepletenosti"
+
+#: fdisk/fdisk.c:460
+msgid "   o   change rotation speed (rpm)"
+msgstr "   o   spremeni hitrost vrtenja (obrati/min)"
+
+#: fdisk/fdisk.c:465 fdisk/fdisk.c:482 fdisk/fdisk.c:498 fdisk/fdisk.c:516
+msgid "   s   change number of sectors/track"
+msgstr "   s   spremeni ¹tevilo sektorjev/sled"
+
+#: fdisk/fdisk.c:468
+msgid "   y   change number of physical cylinders"
+msgstr "   y   spremeni ¹tevilo fiziènih stez"
+
+#: fdisk/fdisk.c:472 fdisk/fdisk.c:488 fdisk/fdisk.c:504
+msgid "   b   move beginning of data in a partition"
+msgstr "   b   premakni zaèetek podatkov v razdelku"
+
+#: fdisk/fdisk.c:475 fdisk/fdisk.c:491 fdisk/fdisk.c:507
+msgid "   e   list extended partitions"
+msgstr "   e   izpi¹i raz¹irjene razdelke"
+
+#: fdisk/fdisk.c:476 fdisk/fdisk.c:492 fdisk/fdisk.c:509
+msgid "   g   create an IRIX (SGI) partition table"
+msgstr "   g   ustvari tabelo razdelkvo tipa IRIX (SGI)"
+
+#: fdisk/fdisk.c:508
+msgid "   f   fix partition order"
+msgstr "   f   popravi vrstni red razdelkov"
+
+#: fdisk/fdisk.c:511
+#, fuzzy
+msgid "   i   change the disk identifier"
+msgstr "   u   spremeni prikazne/vnosne enote"
+
+#: fdisk/fdisk.c:627
+#, c-format
+msgid "You must set"
+msgstr "Nastaviti morate"
+
+#: fdisk/fdisk.c:644
+msgid "heads"
+msgstr "glave"
+
+#: fdisk/fdisk.c:646 fdisk/fdisk.c:1357 fdisk/sfdisk.c:945
+msgid "sectors"
+msgstr "sektorji"
+
+#: fdisk/fdisk.c:652
+#, 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"
+
+#: fdisk/fdisk.c:653
+msgid " and "
+msgstr " in "
+
+#: fdisk/fdisk.c:670
+#, c-format
+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"
+
+#: fdisk/fdisk.c:683
+#, 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 %d-byte sectors. Use parted(1) and GUID \n"
+"partition table format (GPT).\n"
+"\n"
+msgstr ""
+
+#: fdisk/fdisk.c:708
+#, c-format
+msgid "Bad offset in primary extended partition\n"
+msgstr "Po¹kodovan odmik v primarnem raz¹irjenem razdelku\n"
+
+#: fdisk/fdisk.c:722
+#, 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"
+
+#: fdisk/fdisk.c:741
+#, c-format
+msgid "Warning: extra link pointer in partition table %d\n"
+msgstr "Opozorilo: dodatni povezovalni kazalec v tabeli razdelkov %d\n"
+
+#: fdisk/fdisk.c:749
+#, 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"
+
+#: fdisk/fdisk.c:782
+#, fuzzy, c-format
+msgid "omitting empty partition (%d)\n"
+msgstr "Opozorilo: prazen razdelek\n"
+
+#: fdisk/fdisk.c:801
+#, c-format
+msgid "Disk identifier: 0x%08x\n"
+msgstr ""
+
+#: fdisk/fdisk.c:810
+#, c-format
+msgid "New disk identifier (current 0x%08x): "
+msgstr ""
+
+#: fdisk/fdisk.c:829
+#, fuzzy, c-format
+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"
+
+#: fdisk/fdisk.c:861
+#, c-format
+msgid "Note: sector size is %d (not %d)\n"
+msgstr "Opomba: velikost sektorja je %d (ne %d)\n"
+
+#: fdisk/fdisk.c:990
+#, c-format
+msgid "You will not be able to write the partition table.\n"
+msgstr "Ne boste mogli zapisati tabele razdelkov.\n"
+
+#: fdisk/fdisk.c:1022
+#, c-format
+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"
+
+#: fdisk/fdisk.c:1032
+#, c-format
+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"
+
+#: fdisk/fdisk.c:1049
+#, c-format
+msgid "Internal error\n"
+msgstr "Notranja napaka\n"
+
+#: fdisk/fdisk.c:1062
+#, c-format
+msgid "Ignoring extra extended partition %d\n"
+msgstr "Dodatni raz¹irjen razdelek %d ne bo upo¹tevan\n"
+
+#: fdisk/fdisk.c:1074
+#, 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"
+
+#: fdisk/fdisk.c:1096
+#, c-format
+msgid ""
+"\n"
+"got EOF thrice - exiting..\n"
+msgstr ""
+"\n"
+"3x dobljen EOF - Konèujem..\n"
+
+#: fdisk/fdisk.c:1135
+msgid "Hex code (type L to list codes): "
+msgstr "©estnajsti¹ka koda (pritisni L za izbor kod): "
+
+#: fdisk/fdisk.c:1175
+#, c-format
+msgid "%s (%u-%u, default %u): "
+msgstr "%s (%u-%u, privzeto %u): "
+
+#: fdisk/fdisk.c:1242
+#, c-format
+msgid "Unsupported suffix: '%s'.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1243
+#, c-format
+msgid ""
+"Supported: 10^N: KB (KiloByte), MB (MegaByte), GB (GigaByte)\n"
+"            2^N: K  (KibiByte), M  (MebiByte), G  (GibiByte)\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1269
+#, c-format
+msgid "Using default value %u\n"
+msgstr "Uporbljena bo privzeta vrednost %u\n"
+
+#: fdisk/fdisk.c:1273
+#, c-format
+msgid "Value out of range.\n"
+msgstr "Vrednost izven dosega.\n"
+
+#: fdisk/fdisk.c:1283
+msgid "Partition number"
+msgstr "©tevilka razdelka"
+
+#: fdisk/fdisk.c:1294
+#, c-format
+msgid "Warning: partition %d has empty type\n"
+msgstr "Opozorilo: razdelek %d nima tipa\n"
+
+#: fdisk/fdisk.c:1316 fdisk/fdisk.c:1342
+#, c-format
+msgid "Selected partition %d\n"
+msgstr "Izbran razdelek %d\n"
+
+#: fdisk/fdisk.c:1319
+#, c-format
+msgid "No partition is defined yet!\n"
+msgstr "Noben razdelek ¹e ni doloèen!\n"
+
+#: fdisk/fdisk.c:1345
+#, c-format
+msgid "All primary partitions have been defined already!\n"
+msgstr "Vsi primarni razdelki so ¾e doloèeni!\n"
+
+#: fdisk/fdisk.c:1355
+msgid "cylinder"
+msgstr "steza"
+
+#: fdisk/fdisk.c:1355
+msgid "sector"
+msgstr "sektor"
+
+#: fdisk/fdisk.c:1364
+#, c-format
+msgid "Changing display/entry units to %s\n"
+msgstr "Spreminjam enote prikaza/vnosa na %s\n"
+
+#: fdisk/fdisk.c:1375
+#, c-format
+msgid "WARNING: Partition %d is an extended partition\n"
+msgstr "OPOZORILO: Razdelek %d je raz¹irjeni razdelek\n"
+
+#: fdisk/fdisk.c:1386
+#, c-format
+msgid "DOS Compatibility flag is set\n"
+msgstr "Zdru¾ljivost z DOS je nastavljena.\n"
+
+#: fdisk/fdisk.c:1390
+#, c-format
+msgid "DOS Compatibility flag is not set\n"
+msgstr "Zdru¾ljivost z DOS ni nastavljena.\n"
+
+#: fdisk/fdisk.c:1490
+#, c-format
+msgid "Partition %d does not exist yet!\n"
+msgstr "Razdelek %d ¹e ne obstaja!\n"
+
+#: fdisk/fdisk.c:1495
+#, 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"
+
+#: fdisk/fdisk.c:1504
+#, 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"
+
+#: fdisk/fdisk.c:1513
+#, 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"
+
+#: fdisk/fdisk.c:1519
+#, 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"
+
+#: fdisk/fdisk.c:1536
+#, c-format
+msgid "Changed system type of partition %d to %x (%s)\n"
+msgstr "Tip razdelka %d je spremenjen v %x (%s)\n"
+
+#: fdisk/fdisk.c:1539
+#, fuzzy, c-format
+msgid "System type of partition %d is unchanged: %x (%s)\n"
+msgstr "Tip razdelka %d je spremenjen v %x (%s)\n"
+
+#: fdisk/fdisk.c:1591
+#, 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"
+
+#: fdisk/fdisk.c:1593 fdisk/fdisk.c:1601 fdisk/fdisk.c:1610 fdisk/fdisk.c:1620
+#, c-format
+msgid "     phys=(%d, %d, %d) "
+msgstr "  fizièni=(%d, %d, %d) "
+
+#: fdisk/fdisk.c:1594 fdisk/fdisk.c:1602
+#, c-format
+msgid "logical=(%d, %d, %d)\n"
+msgstr "logièni=(%d, %d, %d)\n"
+
+#: fdisk/fdisk.c:1599
+#, c-format
+msgid "Partition %d has different physical/logical endings:\n"
+msgstr "Fizièna/logièna konca razdelka %d se ne ujemata:\n"
+
+#: fdisk/fdisk.c:1608
+#, c-format
+msgid "Partition %i does not start on cylinder boundary:\n"
+msgstr "Razdelek %i se ne zaène na meji stez:\n"
+
+#: fdisk/fdisk.c:1611
+#, c-format
+msgid "should be (%d, %d, 1)\n"
+msgstr "moral bi biti (%d, %d, 1)\n"
+
+#: fdisk/fdisk.c:1617
+#, c-format
+msgid "Partition %i does not end on cylinder boundary.\n"
+msgstr "Razdelek %i se ne konèa na meji stez.\n"
+
+#: fdisk/fdisk.c:1621
+#, c-format
+msgid "should be (%d, %d, %d)\n"
+msgstr "moral bi biti (%d, %d, %d)\n"
+
+#: fdisk/fdisk.c:1633
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld MB, %lld bytes\n"
+msgstr ""
+"\n"
+"Disk %s: %ld MB, %lld bajtov\n"
+
+#: fdisk/fdisk.c:1637
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld.%ld GB, %lld bytes\n"
+msgstr ""
+"\n"
+"Disk %s: %ld.%ld GB, %lld bajtov\n"
+
+#: fdisk/fdisk.c:1640
+#, fuzzy, c-format
+msgid "%d heads, %llu sectors/track, %d cylinders"
+msgstr "%d glav, %d sektorjev/stezo, %d stez"
+
+#: fdisk/fdisk.c:1643
+#, fuzzy, c-format
+msgid ", total %llu sectors"
+msgstr ", skupno %lu sektorjev"
+
+#: fdisk/fdisk.c:1646
+#, fuzzy, c-format
+msgid "Units = %s of %d * %d = %d bytes\n"
+msgstr ""
+"Enote = %s od %d x %d = %d bajtov\n"
+"\n"
+
+#: fdisk/fdisk.c:1757
+#, c-format
+msgid ""
+"Nothing to do. Ordering is correct already.\n"
+"\n"
+msgstr ""
+"Niè ni treba spremeniti. Red je ¾e pravilen.\n"
+"\n"
+
+#: fdisk/fdisk.c:1785
+#, fuzzy, c-format
+msgid "Done.\n"
+msgstr ""
+"Opravljeno\n"
+"\n"
+
+#: fdisk/fdisk.c:1813
+#, 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"
+
+#: fdisk/fdisk.c:1826
+#, c-format
+msgid "%*s Boot      Start         End      Blocks   Id  System\n"
+msgstr "%*s Zagon    Zaèetek       Konec     Bloki    Id  Sistem\n"
+
+#: fdisk/fdisk.c:1827 fdisk/fdisksgilabel.c:223 fdisk/fdisksunlabel.c:603
+msgid "Device"
+msgstr "Naprava"
+
+#: fdisk/fdisk.c:1864
+#, c-format
+msgid ""
+"\n"
+"Partition table entries are not in disk order\n"
+msgstr ""
+"\n"
+"Vnosi tabele razdelkov niso v diskovnem vrstnem redu\n"
+
+#: fdisk/fdisk.c:1874
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %d cylinders\n"
+"\n"
+msgstr ""
+"\n"
+"Disk %s: %d glav, %d sektorjev, %d stez\n"
+"\n"
+
+#: fdisk/fdisk.c:1876
+#, 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"
+
+#: fdisk/fdisk.c:1922
+#, c-format
+msgid "Warning: partition %d contains sector 0\n"
+msgstr "Opozorilo: razdelek %d vsebuje sektor 0\n"
+
+#: fdisk/fdisk.c:1925
+#, 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"
+
+#: fdisk/fdisk.c:1928
+#, 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"
+
+#: fdisk/fdisk.c:1931
+#, c-format
+msgid "Partitions %d: cylinder %d greater than maximum %d\n"
+msgstr "Razdelki %d: steza %d je veèja od najveèje %d\n"
+
+#: fdisk/fdisk.c:1935
+#, 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"
+
+#: fdisk/fdisk.c:1968
+#, c-format
+msgid "Warning: bad start-of-data in partition %d\n"
+msgstr "Opozorilo: po¹kodovan zaèetek podatkov v razdelku %d\n"
+
+#: fdisk/fdisk.c:1976
+#, c-format
+msgid "Warning: partition %d overlaps partition %d.\n"
+msgstr "Opozorilo: razdelek %d prekriva razdelek %d.\n"
+
+#: fdisk/fdisk.c:1996
+#, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr "Opozorilo: razdelek %d je prazen\n"
+
+#: fdisk/fdisk.c:2001
+#, c-format
+msgid "Logical partition %d not entirely in partition %d\n"
+msgstr "Logièni razdelek %d ni v celoti v razdelku %d\n"
+
+#: fdisk/fdisk.c:2007
+#, 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"
+
+#: fdisk/fdisk.c:2010
+#, fuzzy, c-format
+msgid "%lld unallocated %d-byte sectors\n"
+msgstr "%lld nedodeljenih sektorjev\n"
+
+#: fdisk/fdisk.c:2025 fdisk/fdisksgilabel.c:633 fdisk/fdisksunlabel.c:416
+#, 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"
+
+#: fdisk/fdisk.c:2067
+#, fuzzy, c-format
+msgid "Sector %llu is already allocated\n"
+msgstr "Sektor %d je ¾e dodeljen\n"
+
+#: fdisk/fdisk.c:2103
+#, c-format
+msgid "No free sectors available\n"
+msgstr "Ni veè prostih sektorjev\n"
+
+#: fdisk/fdisk.c:2112
+#, c-format
+msgid "Last %1$s, +%2$s or +size{K,M,G}"
+msgstr ""
+
+#: fdisk/fdisk.c:2178
+#, 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"
+
+#: fdisk/fdisk.c:2187
+#, 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"
+
+#: fdisk/fdisk.c:2207
+#, c-format
+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"
+
+#: fdisk/fdisk.c:2210
+#, fuzzy, c-format
+msgid "All logical partitions are in use\n"
+msgstr "Vsi logièni razdelki so v uporabi\n"
+
+#: fdisk/fdisk.c:2211
+#, fuzzy, c-format
+msgid "Adding a primary partition\n"
+msgstr "Dodaja se primarni razdelek\n"
+
+#: fdisk/fdisk.c:2216
+#, c-format
+msgid ""
+"Command action\n"
+"   %s\n"
+"   p   primary partition (1-4)\n"
+msgstr ""
+"Ukazna akcija\n"
+"  %s\n"
+"  p   primarni razdelek (1-4)\n"
+
+#: fdisk/fdisk.c:2218
+msgid "l   logical (5 or over)"
+msgstr "l   logièni (5 ali veè)"
+
+#: fdisk/fdisk.c:2218
+msgid "e   extended"
+msgstr "e   raz¹irjen"
+
+#: fdisk/fdisk.c:2237
+#, c-format
+msgid "Invalid partition number for type `%c'\n"
+msgstr "Neveljavna ¹tevilka razdelka za tip `%c'\n"
+
+#: fdisk/fdisk.c:2273
+#, c-format
+msgid ""
+"The partition table has been altered!\n"
+"\n"
+msgstr ""
+"Tabela razdelkov je bila spremenjena!\n"
+"\n"
+
+#: fdisk/fdisk.c:2287
+#, c-format
+msgid "Calling ioctl() to re-read partition table.\n"
+msgstr "Klièem ioctl() za ponovno branje tabele razdelkov.\n"
+
+#: fdisk/fdisk.c:2296
+#, fuzzy, c-format
+msgid ""
+"\n"
+"WARNING: Re-reading the partition table failed with error %d: %s.\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"
+
+#: fdisk/fdisk.c:2304
+#, 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"
+
+#: fdisk/fdisk.c:2310
+#, c-format
+msgid ""
+"\n"
+"Error closing file\n"
+msgstr ""
+"\n"
+"Napaka pri zapiranju datoteke\n"
+
+#: fdisk/fdisk.c:2314
+#, c-format
+msgid "Syncing disks.\n"
+msgstr "Sinhroniziram diske.\n"
+
+#: fdisk/fdisk.c:2361
+#, c-format
+msgid "Partition %d has no data area\n"
+msgstr "Razdelek %d nima podatkovnega obmoèja\n"
+
+#: fdisk/fdisk.c:2366
+msgid "New beginning of data"
+msgstr "Nov zaèetek podatkov"
+
+#: fdisk/fdisk.c:2382
+msgid "Expert command (m for help): "
+msgstr "Strokovni ukaz (m za pomoè): "
+
+#: fdisk/fdisk.c:2395
+msgid "Number of cylinders"
+msgstr "©tevilo stez"
+
+#: fdisk/fdisk.c:2422
+msgid "Number of heads"
+msgstr "©tevilo glav"
+
+#: fdisk/fdisk.c:2449
+msgid "Number of sectors"
+msgstr "©tevilo sektorjev"
+
+#: fdisk/fdisk.c:2452
+#, c-format
+msgid "Warning: setting sector offset for DOS compatiblity\n"
+msgstr "Opozorilo: odmik sektorja bo nastavljen tako, da bo zdru¾ljiv z DOS\n"
+
+#: fdisk/fdisk.c:2511
+#, 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 ""
+
+#: fdisk/fdisk.c:2533
+#, c-format
+msgid "Disk %s doesn't contain a valid partition table\n"
+msgstr "Disk %s ne vsebuje veljavne tabele razdelkov\n"
+
+#: fdisk/fdisk.c:2544
+#, c-format
+msgid "Cannot open %s\n"
+msgstr "%s ne morem odpreti\n"
+
+#: fdisk/fdisk.c:2563 fdisk/sfdisk.c:2618
+#, c-format
+msgid "cannot open %s\n"
+msgstr "%s ne morem odpreti\n"
+
+#: fdisk/fdisk.c:2583
+#, c-format
+msgid "%c: unknown command\n"
+msgstr "%c: neznan ukaz\n"
+
+#: fdisk/fdisk.c:2653
+#, c-format
+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"
+
+#: fdisk/fdisk.c:2657
+#, 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"
+
+#: fdisk/fdisk.c:2717
+#, 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"
+
+#: fdisk/fdisk.c:2727
+msgid "Command (m for help): "
+msgstr "Ukaz (m za pomoè): "
+
+#: fdisk/fdisk.c:2743
+#, c-format
+msgid ""
+"\n"
+"The current boot file is: %s\n"
+msgstr ""
+"\n"
+"Trenutna zagonska datoteka je: %s\n"
+
+#: fdisk/fdisk.c:2745
+msgid "Please enter the name of the new boot file: "
+msgstr "Prosimo vpi¹ite ime nove zagonske datoteke: "
+
+#: fdisk/fdisk.c:2747
+#, c-format
+msgid "Boot file unchanged\n"
+msgstr "Zagonska datoteka ni bila spremenjena\n"
+
+#: fdisk/fdisk.c:2820
+#, c-format
+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"
+
+#: fdisk/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\")."
+
+#: fdisk/fdisksgilabel.c:81
+msgid "SGI volhdr"
+msgstr "SGI glavaobsga"
+
+#: fdisk/fdisksgilabel.c:82
+msgid "SGI trkrepl"
+msgstr "SGI odzivsteze"
+
+#: fdisk/fdisksgilabel.c:83
+msgid "SGI secrepl"
+msgstr "SGI odzivsekt"
+
+#: fdisk/fdisksgilabel.c:84
+msgid "SGI raw"
+msgstr "SGI surov"
+
+#: fdisk/fdisksgilabel.c:85
+msgid "SGI bsd"
+msgstr "SGI bsd"
+
+#: fdisk/fdisksgilabel.c:86
+msgid "SGI sysv"
+msgstr "SGI sysv"
+
+#: fdisk/fdisksgilabel.c:87
+msgid "SGI volume"
+msgstr "SGI obseg"
+
+#: fdisk/fdisksgilabel.c:88
+msgid "SGI efs"
+msgstr "SGI efs"
+
+#: fdisk/fdisksgilabel.c:89
+msgid "SGI lvol"
+msgstr "SGI lvol"
+
+#: fdisk/fdisksgilabel.c:90
+msgid "SGI rlvol"
+msgstr "SGI rlvol"
+
+#: fdisk/fdisksgilabel.c:91
+msgid "SGI xfs"
+msgstr "SGI xfs"
+
+#: fdisk/fdisksgilabel.c:92
+msgid "SGI xfslog"
+msgstr "SGI xfslog"
+
+#: fdisk/fdisksgilabel.c:93
+msgid "SGI xlv"
+msgstr "SGI xlv"
+
+#: fdisk/fdisksgilabel.c:94
+msgid "SGI xvm"
+msgstr "SGI xvm"
+
+#: fdisk/fdisksgilabel.c:95 fdisk/fdisksunlabel.c:55
+msgid "Linux swap"
+msgstr "Linux izmenjalni prostor"
+
+#: fdisk/fdisksgilabel.c:96 fdisk/fdisksunlabel.c:56
+msgid "Linux native"
+msgstr "Linux domaèa"
+
+#: fdisk/fdisksgilabel.c:97 fdisk/fdisksunlabel.c:57 fdisk/i386_sys_types.c:63
+msgid "Linux LVM"
+msgstr "Linux LVM"
+
+#: fdisk/fdisksgilabel.c:98
+msgid "Linux RAID"
+msgstr "Linux RAID"
+
+#: fdisk/fdisksgilabel.c:164
+#, 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"
+
+#: fdisk/fdisksgilabel.c:183
+#, c-format
+msgid "Detected sgi disklabel with wrong checksum.\n"
+msgstr "Zaznana je bila diskovna oznaka tipa SGI z napaèno kontrolno vsoto.\n"
+
+#: fdisk/fdisksgilabel.c:201
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors\n"
+"%d cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * %d 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"
+
+#: fdisk/fdisksgilabel.c:214
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors, %d cylinders\n"
+"Units = %s of %d * %d 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"
+
+#: fdisk/fdisksgilabel.c:221
+#, 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"
+
+#: fdisk/fdisksgilabel.c:243
+#, c-format
+msgid ""
+"----- Bootinfo -----\n"
+"Bootfile: %s\n"
+"----- Directory Entries -----\n"
+msgstr ""
+"----- Zagoninfo -----\n"
+"Zagonska dat.: %s\n"
+"----- Vnosi imenikov -----\n"
+
+#: fdisk/fdisksgilabel.c:251
+#, c-format
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr "%2d: %-10s sektor%5u velikost%8u\n"
+
+#: fdisk/fdisksgilabel.c:305
+#, 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"
+
+#: fdisk/fdisksgilabel.c:311
+#, c-format
+msgid ""
+"\n"
+"\tName of Bootfile too long:  16 bytes maximum.\n"
+msgstr ""
+"\n"
+"\tIme zagonske dat. je predolgo: najveè 16 bajtov.\n"
+
+#: fdisk/fdisksgilabel.c:316
+#, c-format
+msgid ""
+"\n"
+"\tBootfile must have a fully qualified pathname.\n"
+msgstr ""
+"\n"
+"\tZagonska datoteka mora biti popolna pot.\n"
+
+#: fdisk/fdisksgilabel.c:323
+#, 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"
+
+#: fdisk/fdisksgilabel.c:349
+#, c-format
+msgid ""
+"\n"
+"\tBootfile is changed to \"%s\".\n"
+msgstr ""
+"\n"
+"\tZagonska datoteka je spremenjena na \"%s\".\n"
+
+#: fdisk/fdisksgilabel.c:439
+#, c-format
+msgid "More than one entire disk entry present.\n"
+msgstr "Prisoten je veè kot en vnos celotnega diska.\n"
+
+#: fdisk/fdisksgilabel.c:446 fdisk/fdisksunlabel.c:388
+#, c-format
+msgid "No partitions defined\n"
+msgstr "Noben razdelek ni doloèen\n"
+
+#: fdisk/fdisksgilabel.c:452
+#, 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"
+
+#: fdisk/fdisksgilabel.c:454
+#, 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"
+
+#: fdisk/fdisksgilabel.c:460
+#, 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"
+
+#: fdisk/fdisksgilabel.c:466
+#, c-format
+msgid "One Partition (#11) should cover the entire disk.\n"
+msgstr "En razdelek (#11) naj bi pokrival celoten disk.\n"
+
+#: fdisk/fdisksgilabel.c:476
+#, c-format
+msgid "Partition %d does not start on cylinder boundary.\n"
+msgstr "Razdelek %d se ne zaène na meji s cilindrom.\n"
+
+#: fdisk/fdisksgilabel.c:482
+#, c-format
+msgid "Partition %d does not end on cylinder boundary.\n"
+msgstr "Razdelek %d se ne konèa na meji s cilindrom.\n"
+
+#: fdisk/fdisksgilabel.c:489
+#, 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"
+
+#: fdisk/fdisksgilabel.c:497 fdisk/fdisksgilabel.c:515
+#, c-format
+msgid "Unused gap of %8u sectors - sectors %8u-%u\n"
+msgstr "%8u sektorjev ni v rabi - sektorji %8u-%u\n"
+
+#: fdisk/fdisksgilabel.c:526
+#, c-format
+msgid ""
+"\n"
+"The boot partition does not exist.\n"
+msgstr ""
+"\n"
+"Zagonski razdelek ne obstaja.\n"
+
+#: fdisk/fdisksgilabel.c:529
+#, c-format
+msgid ""
+"\n"
+"The swap partition does not exist.\n"
+msgstr ""
+"\n"
+"Izmenjalni razdelek ne obstaja.\n"
+
+#: fdisk/fdisksgilabel.c:533
+#, c-format
+msgid ""
+"\n"
+"The swap partition has no swap type.\n"
+msgstr ""
+"\n"
+"Izmenjalni razdelek nima doloèenega tipa.\n"
+
+#: fdisk/fdisksgilabel.c:536
+#, c-format
+msgid "\tYou have chosen an unusual boot file name.\n"
+msgstr "\tIzbrali ste nenavadno ime zagonske datoteke.\n"
+
+#: fdisk/fdisksgilabel.c:545
+#, c-format
+msgid "Sorry You may change the Tag of non-empty partitions.\n"
+msgstr "®al lahko spremenite Oznako nepraznih razdelkov.\n"
+
+#: fdisk/fdisksgilabel.c:551
+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"
+
+#: fdisk/fdisksgilabel.c:556 fdisk/fdisksunlabel.c:554
+msgid "YES\n"
+msgstr "DA\n"
+
+#: fdisk/fdisksgilabel.c:581
+#, c-format
+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"
+
+#: fdisk/fdisksgilabel.c:639
+#, c-format
+msgid "Attempting to generate entire disk entry automatically.\n"
+msgstr "Samodejni poskus vnosa celotnega diska.\n"
+
+#: fdisk/fdisksgilabel.c:644
+#, c-format
+msgid "The entire disk is already covered with partitions.\n"
+msgstr "Celoten disk je ¾e prekrit z razdelki.\n"
+
+#: fdisk/fdisksgilabel.c:648
+#, 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"
+
+#: fdisk/fdisksgilabel.c:657 fdisk/fdisksgilabel.c:686
+#, 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"
+
+#: fdisk/fdisksgilabel.c:673
+#, 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"
+
+#: fdisk/fdisksgilabel.c:678
+#, c-format
+msgid " Last %s"
+msgstr " Zadnji %s"
+
+#: fdisk/fdisksgilabel.c:708
+#, c-format
+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"
+
+#: fdisk/fdisksgilabel.c:731 fdisk/fdisksunlabel.c:227
+#, c-format
+msgid ""
+"Warning:  BLKGETSIZE ioctl failed on %s.  Using geometry cylinder value of %"
+"d.\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"
+
+#: fdisk/fdisksgilabel.c:745
+#, c-format
+msgid "Trying to keep parameters of partition %d.\n"
+msgstr "Poskus ohranjanja parametrov razdelka %d.\n"
+
+#: fdisk/fdisksgilabel.c:747
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr "ID=%02x\tZAÈETEK=%d\tDOL®INA=%d\n"
+
+#: fdisk/fdisksunlabel.c:43
+msgid "Unassigned"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:45
+msgid "SunOS root"
+msgstr "SunOS korenska"
+
+#: fdisk/fdisksunlabel.c:46
+msgid "SunOS swap"
+msgstr "SunOS izmenjalna"
+
+#: fdisk/fdisksunlabel.c:47
+msgid "SunOS usr"
+msgstr "SunOS usr"
+
+#: fdisk/fdisksunlabel.c:48
+msgid "Whole disk"
+msgstr "Celoten disk"
+
+#: fdisk/fdisksunlabel.c:49
+msgid "SunOS stand"
+msgstr "SunOS stand"
+
+#: fdisk/fdisksunlabel.c:50
+msgid "SunOS var"
+msgstr "SunOS var"
+
+#: fdisk/fdisksunlabel.c:51
+msgid "SunOS home"
+msgstr "SunOS home"
+
+#: fdisk/fdisksunlabel.c:52
+#, fuzzy
+msgid "SunOS alt sectors"
+msgstr "%lld nedodeljenih sektorjev\n"
+
+#: fdisk/fdisksunlabel.c:53
+#, fuzzy
+msgid "SunOS cachefs"
+msgstr "SunOS home"
+
+#: fdisk/fdisksunlabel.c:54
+#, fuzzy
+msgid "SunOS reserved"
+msgstr "SunOS usr"
+
+#: fdisk/fdisksunlabel.c:58 fdisk/i386_sys_types.c:103
+msgid "Linux raid autodetect"
+msgstr "Linux raid samozaznava"
+
+#: fdisk/fdisksunlabel.c:141
+#, 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"
+
+#: fdisk/fdisksunlabel.c:153
+#, 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"
+
+#: fdisk/fdisksunlabel.c:158
+#, 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"
+
+#: fdisk/fdisksunlabel.c:163
+#, 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"
+
+#: fdisk/fdisksunlabel.c:168
+#, 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"
+
+#: fdisk/fdisksunlabel.c:198
+#, c-format
+msgid ""
+"Building a new sun disklabel. Changes will remain in memory only,\n"
+"until you decide to write them. After that, of course, the previous\n"
+"content won't be recoverable.\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"
+
+#: fdisk/fdisksunlabel.c:236
+msgid "Sectors/track"
+msgstr "Sektorji/sled"
+
+#: fdisk/fdisksunlabel.c:351
+#, c-format
+msgid "Partition %d doesn't end on cylinder boundary\n"
+msgstr "Razdelek %d se ne konèa na meji s stezo\n"
+
+#: fdisk/fdisksunlabel.c:371
+#, 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"
+
+#: fdisk/fdisksunlabel.c:393
+#, c-format
+msgid "Unused gap - sectors 0-%d\n"
+msgstr "Neporabljen prostor - sektorji 0-%d\n"
+
+#: fdisk/fdisksunlabel.c:395 fdisk/fdisksunlabel.c:401
+#, c-format
+msgid "Unused gap - sectors %d-%d\n"
+msgstr "Neporabljen prostor - sektorji %d-%d\n"
+
+#: fdisk/fdisksunlabel.c:426
+#, 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"
+
+#: fdisk/fdisksunlabel.c:449
+#, 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"
+
+#: fdisk/fdisksunlabel.c:477
+#, c-format
+msgid "Sector %d is already allocated\n"
+msgstr "Sektor %d je ¾e dodeljen\n"
+
+#: fdisk/fdisksunlabel.c:507
+#, 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"
+
+#: fdisk/fdisksunlabel.c:534
+#, 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"
+
+#: fdisk/fdisksunlabel.c:549
+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): "
+
+#: fdisk/fdisksunlabel.c:581
+#, fuzzy, c-format
+msgid ""
+"\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"
+"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"
+
+#: fdisk/fdisksunlabel.c:597
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %d heads, %llu sectors, %d 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"
+
+#: fdisk/fdisksunlabel.c:602
+#, c-format
+msgid "%*s Flag    Start       End    Blocks   Id  System\n"
+msgstr "%*s Zastava Zaèetek    Konec   Bloki    Id  Sistem\n"
+
+#: fdisk/fdisksunlabel.c:630
+msgid "Number of alternate cylinders"
+msgstr "©tevilo drugih stez"
+
+#: fdisk/fdisksunlabel.c:642
+msgid "Extra sectors per cylinder"
+msgstr "Dodatni sektorji na stezo"
+
+#: fdisk/fdisksunlabel.c:649
+msgid "Interleave factor"
+msgstr "Faktor prepletenosti"
+
+#: fdisk/fdisksunlabel.c:656
+msgid "Rotation speed (rpm)"
+msgstr "Hitrost vrtenja (obrati/min)"
+
+#: fdisk/fdisksunlabel.c:663
+msgid "Number of physical cylinders"
+msgstr "©tevilo fiziènih stez"
+
+#: fdisk/i386_sys_types.c:6
+msgid "Empty"
+msgstr "Prazno"
+
+#: fdisk/i386_sys_types.c:7
+msgid "FAT12"
+msgstr "FAT12"
+
+#: fdisk/i386_sys_types.c:8
+msgid "XENIX root"
+msgstr "XENIX korenski"
+
+#: fdisk/i386_sys_types.c:9
+msgid "XENIX usr"
+msgstr "XENIX usr"
+
+#: fdisk/i386_sys_types.c:10
+msgid "FAT16 <32M"
+msgstr "FAT16 <32M"
+
+#: fdisk/i386_sys_types.c:11
+msgid "Extended"
+msgstr "Raz¹irjen"
+
+#: fdisk/i386_sys_types.c:12
+msgid "FAT16"
+msgstr "FAT16"
+
+#: fdisk/i386_sys_types.c:13
+msgid "HPFS/NTFS"
+msgstr "HPFS/NTFS"
+
+#: fdisk/i386_sys_types.c:14
+msgid "AIX"
+msgstr "AIX"
+
+#: fdisk/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr "AIX zagonski"
+
+#: fdisk/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr "OS/2 zagonski upravljalnik"
+
+#: fdisk/i386_sys_types.c:17
+msgid "W95 FAT32"
+msgstr "W95 FAT32"
+
+#: fdisk/i386_sys_types.c:18
+msgid "W95 FAT32 (LBA)"
+msgstr "W95 FAT32 (LBA)"
+
+#: fdisk/i386_sys_types.c:19
+msgid "W95 FAT16 (LBA)"
+msgstr "W95 FAT16 (LBA)"
+
+#: fdisk/i386_sys_types.c:20
+msgid "W95 Ext'd (LBA)"
+msgstr "W95 Raz¹'a (LBA)"
+
+#: fdisk/i386_sys_types.c:21
+msgid "OPUS"
+msgstr "OPUS"
+
+#: fdisk/i386_sys_types.c:22
+msgid "Hidden FAT12"
+msgstr "Skriti FAT12"
+
+#: fdisk/i386_sys_types.c:23
+msgid "Compaq diagnostics"
+msgstr "Compaq diagnostika"
+
+#: fdisk/i386_sys_types.c:24
+msgid "Hidden FAT16 <32M"
+msgstr "Skriti FAT16 <32M"
+
+#: fdisk/i386_sys_types.c:25
+msgid "Hidden FAT16"
+msgstr "Skriti FAT16"
+
+#: fdisk/i386_sys_types.c:26
+msgid "Hidden HPFS/NTFS"
+msgstr "Skriti HPFS/NTFS"
+
+#: fdisk/i386_sys_types.c:27
+msgid "AST SmartSleep"
+msgstr "AST SmartSleep"
+
+#: fdisk/i386_sys_types.c:28
+msgid "Hidden W95 FAT32"
+msgstr "Skriti W95 FAT32"
+
+#: fdisk/i386_sys_types.c:29
+msgid "Hidden W95 FAT32 (LBA)"
+msgstr "Skriti W95 FAT32 (LBA)"
+
+#: fdisk/i386_sys_types.c:30
+msgid "Hidden W95 FAT16 (LBA)"
+msgstr "Skriti W95 FAT16 (LBA)"
+
+#: fdisk/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr "NEC DOS"
+
+#: fdisk/i386_sys_types.c:32
+msgid "Plan 9"
+msgstr "Plan 9"
+
+#: fdisk/i386_sys_types.c:33
+msgid "PartitionMagic recovery"
+msgstr "PartitionMagic okrevalni"
+
+#: fdisk/i386_sys_types.c:34
+msgid "Venix 80286"
+msgstr "Venix 80286"
+
+#: fdisk/i386_sys_types.c:35
+msgid "PPC PReP Boot"
+msgstr "PPC PReP zagonski"
+
+#: fdisk/i386_sys_types.c:36
+msgid "SFS"
+msgstr "SFS"
+
+#: fdisk/i386_sys_types.c:37
+msgid "QNX4.x"
+msgstr "QNX4.x"
+
+#: fdisk/i386_sys_types.c:38
+msgid "QNX4.x 2nd part"
+msgstr "QNX4.x 2. del"
+
+#: fdisk/i386_sys_types.c:39
+msgid "QNX4.x 3rd part"
+msgstr "QNX4.x 3. del"
+
+#: fdisk/i386_sys_types.c:40
+msgid "OnTrack DM"
+msgstr "OnTrack DM"
+
+#: fdisk/i386_sys_types.c:41
+msgid "OnTrack DM6 Aux1"
+msgstr "OnTrack DM6 Aux1"
+
+#: fdisk/i386_sys_types.c:42
+msgid "CP/M"
+msgstr "CP/M"
+
+#: fdisk/i386_sys_types.c:43
+msgid "OnTrack DM6 Aux3"
+msgstr "OnTrack DM6 Aux3"
+
+#: fdisk/i386_sys_types.c:44
+msgid "OnTrackDM6"
+msgstr "OnTrackDM6"
+
+#: fdisk/i386_sys_types.c:45
+msgid "EZ-Drive"
+msgstr "EZ-Drive"
+
+#: fdisk/i386_sys_types.c:46
+msgid "Golden Bow"
+msgstr "Golden Bow"
+
+#: fdisk/i386_sys_types.c:47
+msgid "Priam Edisk"
+msgstr "Priam Edisk"
+
+#: fdisk/i386_sys_types.c:48 fdisk/i386_sys_types.c:92
+#: fdisk/i386_sys_types.c:98 fdisk/i386_sys_types.c:99
+msgid "SpeedStor"
+msgstr "SpeedStor"
+
+#: fdisk/i386_sys_types.c:49
+msgid "GNU HURD or SysV"
+msgstr "GNU HURD ali SysV"
+
+#: fdisk/i386_sys_types.c:50
+msgid "Novell Netware 286"
+msgstr "Novell Netware 286"
+
+#: fdisk/i386_sys_types.c:51
+msgid "Novell Netware 386"
+msgstr "Novell Netware 386"
+
+#: fdisk/i386_sys_types.c:52
+msgid "DiskSecure Multi-Boot"
+msgstr "DiskSecure Multi-Boot"
+
+#: fdisk/i386_sys_types.c:53
+msgid "PC/IX"
+msgstr "PC/IX"
+
+#: fdisk/i386_sys_types.c:54
+msgid "Old Minix"
+msgstr "Stari Minix"
+
+#: fdisk/i386_sys_types.c:55
+msgid "Minix / old Linux"
+msgstr "Minix / stari Linux"
+
+#: fdisk/i386_sys_types.c:56
+msgid "Linux swap / Solaris"
+msgstr "Linux izmenjalni / Solaris"
+
+#: fdisk/i386_sys_types.c:58
+msgid "OS/2 hidden C: drive"
+msgstr "OS/2 skriti C: pogon"
+
+#: fdisk/i386_sys_types.c:59
+msgid "Linux extended"
+msgstr "Linux raz¹irjen"
+
+#: fdisk/i386_sys_types.c:60 fdisk/i386_sys_types.c:61
+msgid "NTFS volume set"
+msgstr "NTFS obsegna mno¾ica"
+
+#: fdisk/i386_sys_types.c:62
+#, fuzzy
+msgid "Linux plaintext"
+msgstr "Linux plaintext"
+
+#: fdisk/i386_sys_types.c:64
+msgid "Amoeba"
+msgstr "Amoeba"
+
+#: fdisk/i386_sys_types.c:65
+msgid "Amoeba BBT"
+msgstr "Amoeba BBT"
+
+#: fdisk/i386_sys_types.c:66
+msgid "BSD/OS"
+msgstr "BSD/OS"
+
+#: fdisk/i386_sys_types.c:67
+msgid "IBM Thinkpad hibernation"
+msgstr "IBM Thinkpad hibernation"
+
+#: fdisk/i386_sys_types.c:68
+msgid "FreeBSD"
+msgstr "FreeBSD"
+
+#: fdisk/i386_sys_types.c:69
+msgid "OpenBSD"
+msgstr "OpenBSD"
+
+#: fdisk/i386_sys_types.c:70
+msgid "NeXTSTEP"
+msgstr "NeXTSTEP"
+
+#: fdisk/i386_sys_types.c:71
+msgid "Darwin UFS"
+msgstr "Darwin UFS"
+
+#: fdisk/i386_sys_types.c:72
+msgid "NetBSD"
+msgstr "NetBSD"
+
+#: fdisk/i386_sys_types.c:73
+msgid "Darwin boot"
+msgstr "Darwin zagonski"
+
+#: fdisk/i386_sys_types.c:74
+#, fuzzy
+msgid "HFS / HFS+"
+msgstr "OS/2 HPFS"
+
+#: fdisk/i386_sys_types.c:75
+msgid "BSDI fs"
+msgstr "BSDI dat. sistem"
+
+#: fdisk/i386_sys_types.c:76
+msgid "BSDI swap"
+msgstr "BSDI izmenjalni"
+
+#: fdisk/i386_sys_types.c:77
+msgid "Boot Wizard hidden"
+msgstr "skriti Boot Wizzard"
+
+#: fdisk/i386_sys_types.c:78
+msgid "Solaris boot"
+msgstr "Solaris zagonski"
+
+#: fdisk/i386_sys_types.c:79
+msgid "Solaris"
+msgstr "Solaris"
+
+#: fdisk/i386_sys_types.c:80
+msgid "DRDOS/sec (FAT-12)"
+msgstr "DRDOS/sktr (FAT-12)"
+
+#: fdisk/i386_sys_types.c:81
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr "DRDOS/sktr (FAT-16 < 32M)"
+
+#: fdisk/i386_sys_types.c:82
+msgid "DRDOS/sec (FAT-16)"
+msgstr "DRDOS/sktr (FAT-16)"
+
+#: fdisk/i386_sys_types.c:83
+msgid "Syrinx"
+msgstr "Syrinx"
+
+#: fdisk/i386_sys_types.c:84
+msgid "Non-FS data"
+msgstr "nedatoteènosistemski podatki"
+
+#: fdisk/i386_sys_types.c:85
+msgid "CP/M / CTOS / ..."
+msgstr "CP/M / CTOS / ..."
+
+#: fdisk/i386_sys_types.c:87
+msgid "Dell Utility"
+msgstr "Dell Utility"
+
+#: fdisk/i386_sys_types.c:88
+msgid "BootIt"
+msgstr "BootIt"
+
+#: fdisk/i386_sys_types.c:89
+msgid "DOS access"
+msgstr "DOS dostop"
+
+#: fdisk/i386_sys_types.c:91
+msgid "DOS R/O"
+msgstr "DOS samo za branje"
+
+#: fdisk/i386_sys_types.c:94
+msgid "BeOS fs"
+msgstr "BeOS dat. sist."
+
+#: fdisk/i386_sys_types.c:95
+#, fuzzy
+msgid "GPT"
+msgstr "EFI GPT"
+
+#: fdisk/i386_sys_types.c:96
+msgid "EFI (FAT-12/16/32)"
+msgstr "EFI (FAT-12/16/32)"
+
+#: fdisk/i386_sys_types.c:97
+msgid "Linux/PA-RISC boot"
+msgstr "Linux/PA-RISC zagonski"
+
+#: fdisk/i386_sys_types.c:100
+msgid "DOS secondary"
+msgstr "DOS sekundarni"
+
+#: fdisk/i386_sys_types.c:101
+msgid "VMware VMFS"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:102
+msgid "VMware VMKCORE"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:106
+msgid "LANstep"
+msgstr "LANstep"
+
+#: fdisk/i386_sys_types.c:107
+msgid "BBT"
+msgstr "BBT"
+
+#: fdisk/sfdisk.c:179
+#, 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"
+
+#: fdisk/sfdisk.c:184
+#, 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"
+
+#: fdisk/sfdisk.c:230
+msgid "out of memory - giving up\n"
+msgstr "pomnilnika je zmanjkalo - zakljuèujem\n"
+
+#: fdisk/sfdisk.c:235 fdisk/sfdisk.c:318
+#, 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"
+
+#: fdisk/sfdisk.c:253
+#, c-format
+msgid "ERROR: sector %lu does not have an msdos signature\n"
+msgstr "NAPAKA: sektor %lu nima oznake tipa msdos\n"
+
+#: fdisk/sfdisk.c:268
+#, 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"
+
+#: fdisk/sfdisk.c:306
+#, c-format
+msgid "cannot open partition sector save file (%s)\n"
+msgstr "shranjene datoteke sektorja razdelka ni mogoèe odpreti (%s)\n"
+
+#: fdisk/sfdisk.c:324
+#, c-format
+msgid "write error on %s\n"
+msgstr "napaka pri pisanju na %s\n"
+
+#: fdisk/sfdisk.c:350
+#, c-format
+msgid "cannot stat partition restore file (%s)\n"
+msgstr "stanja obnovitvene datoteke razdelka ni mogoèe dobiti (%s)\n"
+
+#: fdisk/sfdisk.c:355
+msgid "partition restore file has wrong size - not restoring\n"
+msgstr "obnovitvena datoteka razdelka ima napaèno velikost - ne obnavljam\n"
+
+#: fdisk/sfdisk.c:359
+msgid "out of memory?\n"
+msgstr "je zmanjkalo pomnilnika?\n"
+
+#: fdisk/sfdisk.c:365
+#, c-format
+msgid "cannot open partition restore file (%s)\n"
+msgstr "obnovitvene datoteke razdelka ni mogoèe odpreti (%s)\n"
+
+#: fdisk/sfdisk.c:371
+#, c-format
+msgid "error reading %s\n"
+msgstr "napaka pri branju %s\n"
+
+#: fdisk/sfdisk.c:378
+#, c-format
+msgid "cannot open device %s for writing\n"
+msgstr "naprave %s ni mogoèe odpreti za branje\n"
+
+#: fdisk/sfdisk.c:390
+#, c-format
+msgid "error writing sector %lu on %s\n"
+msgstr "napaka pri zapisovanju sektorja %lu na %s\n"
+
+#: fdisk/sfdisk.c:455
+#, c-format
+msgid "Disk %s: cannot get geometry\n"
+msgstr "Disk %s: geometrije ni mogoèe najti\n"
+
+#: fdisk/sfdisk.c:472
+#, c-format
+msgid "Disk %s: cannot get size\n"
+msgstr "Disk %s: velikosti ni mogoèe najti\n"
+
+#: fdisk/sfdisk.c:505
+#, 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"
+
+#: fdisk/sfdisk.c:512
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu heads\n"
+msgstr "Opozorilo: HDIO_GETGEO pravi da je %lu glav\n"
+
+#: fdisk/sfdisk.c:515
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu sectors\n"
+msgstr "Opozorilo: HDIO_GETGEO pravi, da je %lu sektorjev\n"
+
+#: fdisk/sfdisk.c:519
+#, 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"
+
+#: fdisk/sfdisk.c:524
+#, 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"
+
+#: fdisk/sfdisk.c:528
+#, 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"
+
+#: fdisk/sfdisk.c:610
+#, 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"
+
+#: fdisk/sfdisk.c:615
+#, 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"
+
+#: fdisk/sfdisk.c:620
+#, 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"
+
+#: fdisk/sfdisk.c:660
+#, c-format
+msgid ""
+"Id  Name\n"
+"\n"
+msgstr ""
+"Id  Ime\n"
+"\n"
+
+#: fdisk/sfdisk.c:821
+#, c-format
+msgid "Re-reading the partition table ...\n"
+msgstr "Ponovno berem tabelo razdelkov ...\n"
+
+#: fdisk/sfdisk.c:827
+#, 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"
+
+#: fdisk/sfdisk.c:833
+#, c-format
+msgid "Error closing %s\n"
+msgstr "Napaka pri zapiranju %s\n"
+
+#: fdisk/sfdisk.c:871
+#, c-format
+msgid "%s: no such partition\n"
+msgstr "%s: tak razdelek ne obstaja\n"
+
+#: fdisk/sfdisk.c:894
+msgid "unrecognized format - using sectors\n"
+msgstr "nerazpoznavna oblika - uporabljam sektorje\n"
+
+#: fdisk/sfdisk.c:944
+#, c-format
+msgid "unimplemented format - using %s\n"
+msgstr "nepodprta oblika - uporabljam %s\n"
+
+#: fdisk/sfdisk.c:948
+#, 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"
+
+#: fdisk/sfdisk.c:951
+#, c-format
+msgid "   Device Boot Start     End   #cyls    #blocks   Id  System\n"
+msgstr " Naprava Zagon Zaèetek Konec  #steze    #bloki    Id  Sistem\n"
+
+#: fdisk/sfdisk.c:956
+#, c-format
+msgid ""
+"Units = sectors of 512 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Enote = sektorji po 512 bajtov, ¹tejem od %d\n"
+"\n"
+
+#: fdisk/sfdisk.c:958
+#, c-format
+msgid "   Device Boot    Start       End   #sectors  Id  System\n"
+msgstr " Naprava Zagon   Zaèetek     Konec  #sktrji   Id  Sistem\n"
+
+#: fdisk/sfdisk.c:961
+#, c-format
+msgid ""
+"Units = blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Enote = bloki po 1024 bajtov, ¹tejem od %d\n"
+"\n"
+
+#: fdisk/sfdisk.c:963
+#, c-format
+msgid "   Device Boot   Start       End    #blocks   Id  System\n"
+msgstr " Naprava Zagon  Zaèetek     Konec   #bloki    Id  Sistem\n"
+
+#: fdisk/sfdisk.c:966
+#, c-format
+msgid ""
+"Units = mebibytes of 1048576 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"
+
+#: fdisk/sfdisk.c:968
+#, c-format
+msgid "   Device Boot Start   End    MiB    #blocks   Id  System\n"
+msgstr "Naprava Zagon Zaèetek Konec   MiB    #bloki    Id  Sistem\n"
+
+#: fdisk/sfdisk.c:1128
+#, 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"
+
+#: fdisk/sfdisk.c:1135
+#, 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"
+
+#: fdisk/sfdisk.c:1138
+#, 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"
+
+#: fdisk/sfdisk.c:1148
+msgid "No partitions found\n"
+msgstr "Noben razdelek ni bil najden\n"
+
+#: fdisk/sfdisk.c:1152
+#, 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"
+
+#: fdisk/sfdisk.c:1201
+msgid "no partition table present.\n"
+msgstr "nobena tabela razdelkov ni na voljo.\n"
+
+#: fdisk/sfdisk.c:1203
+#, c-format
+msgid "strange, only %d partitions defined.\n"
+msgstr "zanimivo, samo %d razdelkov je doloèenih.\n"
+
+#: fdisk/sfdisk.c:1212
+#, 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"
+
+#: fdisk/sfdisk.c:1215
+#, 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"
+
+#: fdisk/sfdisk.c:1218
+#, 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"
+
+#: fdisk/sfdisk.c:1229
+#, c-format
+msgid "Warning: partition %s "
+msgstr "Opozorilo: razdelek %s "
+
+#: fdisk/sfdisk.c:1230
+#, c-format
+msgid "is not contained in partition %s\n"
+msgstr "ni vsebovan v razdelku %s\n"
+
+#: fdisk/sfdisk.c:1241
+#, c-format
+msgid "Warning: partitions %s "
+msgstr "Opozorilo: razdelki %s "
+
+#: fdisk/sfdisk.c:1242
+#, c-format
+msgid "and %s overlap\n"
+msgstr "in %s se prekrivata\n"
+
+#: fdisk/sfdisk.c:1253
+#, c-format
+msgid ""
+"Warning: partition %s contains part of the partition table (sector %lu),\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"
+
+#: fdisk/sfdisk.c:1265
+#, c-format
+msgid "Warning: partition %s starts at sector 0\n"
+msgstr "Opozorilo: razdelek %s se zaène na sektorju 0\n"
+
+#: fdisk/sfdisk.c:1269
+#, c-format
+msgid "Warning: partition %s extends past end of disk\n"
+msgstr "Opozorilo: razdelek %s poteka za koncem diska\n"
+
+#: fdisk/sfdisk.c:1284
+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"
+
+#: fdisk/sfdisk.c:1302
+#, 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"
+
+#: fdisk/sfdisk.c:1308
+#, 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"
+
+#: fdisk/sfdisk.c:1326
+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"
+
+#: fdisk/sfdisk.c:1333
+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"
+
+#: fdisk/sfdisk.c:1339
+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"
+
+#: fdisk/sfdisk.c:1353
+msgid "start"
+msgstr "zaèetek"
+
+#: fdisk/sfdisk.c:1356
+#, 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"
+
+#: fdisk/sfdisk.c:1362
+msgid "end"
+msgstr "konec"
+
+#: fdisk/sfdisk.c:1365
+#, 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"
+
+#: fdisk/sfdisk.c:1368
+#, 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"
+
+#: fdisk/sfdisk.c:1393
+#, c-format
+msgid ""
+"Warning: shifted start of the extd partition from %ld to %ld\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"
+
+#: fdisk/sfdisk.c:1399
+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"
+
+#: fdisk/sfdisk.c:1417 fdisk/sfdisk.c:1494
+#, c-format
+msgid "too many partitions - ignoring those past nr (%d)\n"
+msgstr "preveè razdelkov - po ¹t. %d ne bodo upo¹tevani\n"
+
+#: fdisk/sfdisk.c:1432
+msgid "tree of partitions?\n"
+msgstr "drevo razdelkov?\n"
+
+#: fdisk/sfdisk.c:1540
+msgid "detected Disk Manager - unable to handle that\n"
+msgstr "zaznan je Upravljalnik diska - upravljanje z njim ni podprto\n"
+
+#: fdisk/sfdisk.c:1547
+msgid "DM6 signature found - giving up\n"
+msgstr "DM6 podpis najden - konèujem\n"
+
+#: fdisk/sfdisk.c:1567
+msgid "strange..., an extended partition of size 0?\n"
+msgstr "zanimivo..., raz¹irjen razdelek velikosti 0?\n"
+
+#: fdisk/sfdisk.c:1574 fdisk/sfdisk.c:1585
+msgid "strange..., a BSD partition of size 0?\n"
+msgstr "zanimivo..., BSD razdelek velikosti 0?\n"
+
+#: fdisk/sfdisk.c:1619
+#, fuzzy, c-format
+msgid " %s: unrecognized partition table type\n"
+msgstr " %s: neprepoznan tip tabele razdelkov"
+
+#: fdisk/sfdisk.c:1631
+msgid "-n flag was given: Nothing changed\n"
+msgstr "-n zastavica je bil podana: Brez sprememb\n"
+
+#: fdisk/sfdisk.c:1647
+msgid "Failed saving the old sectors - aborting\n"
+msgstr "Neuspe¹no shranjevanje starih sektorjev - prekinjam\n"
+
+#: fdisk/sfdisk.c:1652
+#, c-format
+msgid "Failed writing the partition on %s\n"
+msgstr "Neuspe¹no zapisovanje razdelka na %s\n"
+
+#: fdisk/sfdisk.c:1729
+msgid "long or incomplete input line - quitting\n"
+msgstr "dolga ali nepopolna vnosna vrstica - konèujem\n"
+
+#: fdisk/sfdisk.c:1765
+#, c-format
+msgid "input error: `=' expected after %s field\n"
+msgstr "vhodna napaka: `=' prièakovano po polju %s\n"
+
+#: fdisk/sfdisk.c:1772
+#, c-format
+msgid "input error: unexpected character %c after %s field\n"
+msgstr "vhodna napaka: neprièakovan znak %c po polju %s\n"
+
+#: fdisk/sfdisk.c:1778
+#, c-format
+msgid "unrecognized input: %s\n"
+msgstr "neprepoznan vhod: %s\n"
+
+#: fdisk/sfdisk.c:1820
+msgid "number too big\n"
+msgstr "prevelika ¹tevilka\n"
+
+#: fdisk/sfdisk.c:1824
+msgid "trailing junk after number\n"
+msgstr "¹tevilki sledijo èudni podatki\n"
+
+#: fdisk/sfdisk.c:1948
+msgid "no room for partition descriptor\n"
+msgstr "za opisnik razdelka ni prostora\n"
+
+#: fdisk/sfdisk.c:1981
+msgid "cannot build surrounding extended partition\n"
+msgstr "ustvarjanje raz¹irjenega razdelka okoli obstojeèega ni uspelo\n"
+
+#: fdisk/sfdisk.c:2032
+msgid "too many input fields\n"
+msgstr "preveè vhodnih polj\n"
+
+#: fdisk/sfdisk.c:2066
+msgid "No room for more\n"
+msgstr "Ni veè prostora\n"
+
+#: fdisk/sfdisk.c:2085
+msgid "Illegal type\n"
+msgstr "Nepravilen tip\n"
+
+#: fdisk/sfdisk.c:2117
+#, c-format
+msgid "Warning: given size (%lu) exceeds max allowable size (%lu)\n"
+msgstr "Opozorilo: podana velikost (%lu) presega najveèjo dovoljeno (%lu)\n"
+
+#: fdisk/sfdisk.c:2123
+msgid "Warning: empty partition\n"
+msgstr "Opozorilo: prazen razdelek\n"
+
+#: fdisk/sfdisk.c:2137
+#, c-format
+msgid "Warning: bad partition start (earliest %lu)\n"
+msgstr "Opozorilo: po¹kodovan zaèetek razdelka (najprej %lu)\n"
+
+#: fdisk/sfdisk.c:2150
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr "neprepoznana zagonska zastavica - izverite - ali *\n"
+
+#: fdisk/sfdisk.c:2167 fdisk/sfdisk.c:2180
+msgid "partial c,h,s specification?\n"
+msgstr "delna stz,g,skt specifikacija?\n"
+
+#: fdisk/sfdisk.c:2191
+msgid "Extended partition not where expected\n"
+msgstr "Raz¹irjen razdelek na neprièakovanem mestu\n"
+
+#: fdisk/sfdisk.c:2223
+msgid "bad input\n"
+msgstr "slab vnos\n"
+
+#: fdisk/sfdisk.c:2245
+msgid "too many partitions\n"
+msgstr "preveè razdelkov\n"
+
+#: fdisk/sfdisk.c:2278
+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"
+
+#: fdisk/sfdisk.c:2304
+#, c-format
+msgid "Usage: %s [options] device ...\n"
+msgstr "Uporaba: %s [izbire] naprava ...\n"
+
+#: fdisk/sfdisk.c:2305
+msgid "device: something like /dev/hda or /dev/sda"
+msgstr "naprava: npr. /dev/hda ali /dev/sda"
+
+#: fdisk/sfdisk.c:2306
+msgid "useful options:"
+msgstr "uporabne izbire:"
+
+#: fdisk/sfdisk.c:2307
+msgid "    -s [or --show-size]: list size of a partition"
+msgstr "    -s [ali --show-size]: izpi¹i velikost razdelka"
+
+#: fdisk/sfdisk.c:2308
+msgid "    -c [or --id]:        print or change partition Id"
+msgstr "    -c [ali --id]:       izpi¹i ali spremeni Id razdelka"
+
+#: fdisk/sfdisk.c:2309
+msgid "    -l [or --list]:      list partitions of each device"
+msgstr "    -l [ali --list]:     izpi¹i razdelke za vsako napravo"
+
+#: fdisk/sfdisk.c:2310
+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"
+
+#: fdisk/sfdisk.c:2311
+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"
+
+#: fdisk/sfdisk.c:2312
+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"
+
+#: fdisk/sfdisk.c:2313
+msgid "    -T [or --list-types]:list the known partition types"
+msgstr "    -T [ali --list-types]:izpi¹i znane tipe razdelkov"
+
+#: fdisk/sfdisk.c:2314
+msgid "    -D [or --DOS]:       for DOS-compatibility: waste a little space"
+msgstr ""
+"    -D [ali --DOS]:      za zdru¾ljivost z DOS-om: porabi malo prostora"
+
+#: fdisk/sfdisk.c:2315
+msgid "    -R [or --re-read]:   make kernel reread partition table"
+msgstr ""
+"    -R [ali --re-read]:  prisili jedro v ponovno branje tabele razdelkov"
+
+#: fdisk/sfdisk.c:2316
+msgid "    -N# :                change only the partition with number #"
+msgstr "    -N# :                spremeni samo razdelke s ¹tevilko #"
+
+#: fdisk/sfdisk.c:2317
+msgid "    -n :                 do not actually write to disk"
+msgstr "    -n :                 ne zapi¹i sprememb na disk"
+
+#: fdisk/sfdisk.c:2318
+msgid ""
+"    -O file :            save the sectors that will be overwritten to file"
+msgstr "    -O datoteka :        shrani sektorje, ki bodo prepisani v datoteki"
+
+#: fdisk/sfdisk.c:2319
+msgid "    -I file :            restore these sectors again"
+msgstr "    -I datoteka:         ponovno obnovi te sektorje"
+
+#: fdisk/sfdisk.c:2320
+msgid "    -v [or --version]:   print version"
+msgstr "    -v [ali --version]:  izpi¹i razlièico"
+
+#: fdisk/sfdisk.c:2321
+msgid "    -? [or --help]:      print this message"
+msgstr "    -? [ali --help]:     izpi¹i to sporoèilo"
+
+#: fdisk/sfdisk.c:2322
+msgid "dangerous options:"
+msgstr "nevarne izbire:"
+
+#: fdisk/sfdisk.c:2323
+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"
+
+#: fdisk/sfdisk.c:2324
+msgid ""
+"    -G [or --show-pt-geometry]: print geometry guessed from the partition "
+"table"
+msgstr ""
+"    -G [ali --show-pt-geometry]: izpi¹i uganjeno gometrijo iz tabele "
+"razdelkov"
+
+#: fdisk/sfdisk.c:2325
+msgid ""
+"    -x [or --show-extended]: also list extended partitions on output\n"
+"                             or expect descriptors for them on input"
+msgstr ""
+"    -x [ali --show-extended]: izpi¹i tudi raz¹irjene razdelke ali\n"
+"                              prièakuj opisnike na vhodu"
+
+#: fdisk/sfdisk.c:2327
+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"
+
+#: fdisk/sfdisk.c:2328
+msgid "    -q  [or --quiet]:      suppress warning messages"
+msgstr "    -q  [ali --quiet]:     ne prika¾i opozoril"
+
+#: fdisk/sfdisk.c:2329
+msgid "    You can override the detected geometry using:"
+msgstr "    Zaznano geometrijo lahko obidete tako da uporabite:"
+
+#: fdisk/sfdisk.c:2330
+msgid "    -C# [or --cylinders #]:set the number of cylinders to use"
+msgstr "    -C# [ali --cylinders #]:nastavi ¹tevilo stez"
+
+#: fdisk/sfdisk.c:2331
+msgid "    -H# [or --heads #]:    set the number of heads to use"
+msgstr "    -H# [ali --heads #]:   nastavi ¹tevilo glav"
+
+#: fdisk/sfdisk.c:2332
+msgid "    -S# [or --sectors #]:  set the number of sectors to use"
+msgstr "    -S# [ali --sectors #]: nastavi ¹tevilo sektorjev"
+
+#: fdisk/sfdisk.c:2333
+msgid "You can disable all consistency checking with:"
+msgstr "Vsa doslednostna preverjanja lahko onemogoèite z:"
+
+#: fdisk/sfdisk.c:2334
+msgid "    -f  [or --force]:      do what I say, even if it is stupid"
+msgstr "    -f [ali --force]:      naredi kar reèem brez ugovorov"
+
+#: fdisk/sfdisk.c:2340
+msgid "Usage:"
+msgstr "Uporaba:"
+
+#: fdisk/sfdisk.c:2341
+#, 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"
+
+#: fdisk/sfdisk.c:2342
+#, 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"
+
+#: fdisk/sfdisk.c:2343
+#, 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"
+
+#: fdisk/sfdisk.c:2463
+#, 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 ""
+
+#: fdisk/sfdisk.c:2466
+#, fuzzy, c-format
+msgid "Use the --force flag to overrule this check.\n"
+msgstr "Uporabite --force izbiro da obidete vsa preverjanja.\n"
+
+#: fdisk/sfdisk.c:2505
+msgid "no command?\n"
+msgstr "ni ukaza?\n"
+
+#: fdisk/sfdisk.c:2637
+#, fuzzy, c-format
+msgid "total: %llu blocks\n"
+msgstr "skupno: %llu blokov\n"
+
+#: fdisk/sfdisk.c:2680
+msgid "usage: sfdisk --print-id device partition-number\n"
+msgstr "uporaba: sfdisk --print-id naprava ¹t. razdelka\n"
+
+#: fdisk/sfdisk.c:2682
+msgid "usage: sfdisk --change-id device partition-number Id\n"
+msgstr "uporaba: sfdisk --change-id naprava ¹t. razdelka Id\n"
+
+#: fdisk/sfdisk.c:2684
+msgid "usage: sfdisk --id device partition-number [Id]\n"
+msgstr "uporaba: sfdisk --id naprava ¹t. razdelka [Id]\n"
+
+#: fdisk/sfdisk.c:2691
+msgid "can specify only one device (except with -l or -s)\n"
+msgstr "navedete lahko samo eno napravo (razen z -l ali -s)\n"
+
+#: fdisk/sfdisk.c:2717
+#, c-format
+msgid "cannot open %s read-write\n"
+msgstr "%s ni mogoèe odpreti za branje in pisanje\n"
+
+#: fdisk/sfdisk.c:2719
+#, c-format
+msgid "cannot open %s for reading\n"
+msgstr "%s ni mogoèe odpreti za branje\n"
+
+#: fdisk/sfdisk.c:2744
+#, c-format
+msgid "%s: OK\n"
+msgstr "%s: Vredu\n"
+
+#: fdisk/sfdisk.c:2763 fdisk/sfdisk.c:2796
+#, c-format
+msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+msgstr "%s: %ld stez, %ld glav, %ld sektorjev/sled\n"
+
+#: fdisk/sfdisk.c:2815
+#, fuzzy, c-format
+msgid "Cannot get size of %s\n"
+msgstr "Velikosti %s ni mogoèe ugotoviti\n"
+
+#: fdisk/sfdisk.c:2895
+#, c-format
+msgid "bad active byte: 0x%x instead of 0x80\n"
+msgstr "slab dejavni bajt: 0x%x namesto 0x80\n"
+
+#: fdisk/sfdisk.c:2913 fdisk/sfdisk.c:2968 fdisk/sfdisk.c:3001
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+"Opravljeno\n"
+"\n"
+
+#: fdisk/sfdisk.c:2922
+#, 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"
+
+#: fdisk/sfdisk.c:2938
+#, c-format
+msgid "partition %s has id %x and is not hidden\n"
+msgstr "razdelek %s ima id %x in ni skrit\n"
+
+#: fdisk/sfdisk.c:2997
+#, c-format
+msgid "Bad Id %lx\n"
+msgstr "Slab Id %lx\n"
+
+#: fdisk/sfdisk.c:3014
+msgid "This disk is currently in use.\n"
+msgstr "Ta disk je trenutno v rabi.\n"
+
+#: fdisk/sfdisk.c:3033
+#, c-format
+msgid "Fatal error: cannot find %s\n"
+msgstr "Usodna napaka: %s ni mogoèe najti\n"
+
+#: fdisk/sfdisk.c:3036
+#, c-format
+msgid "Warning: %s is not a block device\n"
+msgstr "Opozorilo: %s ni blokovna naprava\n"
+
+#: fdisk/sfdisk.c:3042
+msgid "Checking that no-one is using this disk right now ...\n"
+msgstr "Preverjam, da nihèe ne uporablja tega diska ...\n"
+
+#: fdisk/sfdisk.c:3044
+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"
+
+#: fdisk/sfdisk.c:3048
+msgid "Use the --force flag to overrule all checks.\n"
+msgstr "Uporabite --force izbiro da obidete vsa preverjanja.\n"
+
+#: fdisk/sfdisk.c:3052
+msgid "OK\n"
+msgstr "VREDU\n"
+
+#: fdisk/sfdisk.c:3061
+#, c-format
+msgid "Old situation:\n"
+msgstr "Staro stanje:\n"
+
+#: fdisk/sfdisk.c:3065
+#, c-format
+msgid "Partition %d does not exist, cannot change it\n"
+msgstr "Razdelek %d ne obstaja in ne more biti spremenjen\n"
+
+#: fdisk/sfdisk.c:3073
+#, c-format
+msgid "New situation:\n"
+msgstr "Novo stanje:\n"
+
+#: fdisk/sfdisk.c:3078
+msgid ""
+"I don't like these partitions - nothing changed.\n"
+"(If you really want this, use the --force option.)\n"
+msgstr ""
+"Te razdelki mi ne ustrezajo - ni sprememb.\n"
+"(Èe res ¾elite to, uporabite izbiro --force.)\n"
+
+#: fdisk/sfdisk.c:3081
+msgid "I don't like this - probably you should answer No\n"
+msgstr "To mi ne ustreza - verjetno bi morali odgovoriti Ne\n"
+
+#: fdisk/sfdisk.c:3086
+#, c-format
+msgid "Are you satisfied with this? [ynq] "
+msgstr "Ali ste zadovoljni s tem? [ynq] "
+
+#: fdisk/sfdisk.c:3088
+#, c-format
+msgid "Do you want to write this to disk? [ynq] "
+msgstr "Ali ¾elite zapisati to na disk? [ynq] "
+
+#: fdisk/sfdisk.c:3093
+#, c-format
+msgid ""
+"\n"
+"sfdisk: premature end of input\n"
+msgstr ""
+"\n"
+"sfdisk: prezgoden konec vnosa\n"
+
+#: fdisk/sfdisk.c:3095
+msgid "Quitting - nothing changed\n"
+msgstr "Konèujem - brez sprememb\n"
+
+#: fdisk/sfdisk.c:3101
+#, c-format
+msgid "Please answer one of y,n,q\n"
+msgstr "Prosim, da odgovorizo z y,n,q\n"
+
+#: fdisk/sfdisk.c:3109
+#, c-format
+msgid ""
+"Successfully wrote the new partition table\n"
+"\n"
+msgstr ""
+"Tabela razdelkov je uspe¹no zapisana\n"
+"\n"
+
+#: fdisk/sfdisk.c:3115
+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"
+
+#: fsck/fsck.c:327
+#, fuzzy, c-format
+msgid "WARNING: couldn't open %s: %s\n"
+msgstr "%s: %s ni mogoèe odpreti: %s\n"
+
+#: fsck/fsck.c:337
+#, c-format
+msgid "WARNING: bad format on line %d of %s\n"
+msgstr ""
+
+#: fsck/fsck.c:353
+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 ""
+
+#: fsck/fsck.c:461
+#, fuzzy, c-format
+msgid "fsck: %s: not found\n"
+msgstr "umount: %s: neuspe¹no iskanje"
+
+#: fsck/fsck.c:577
+#, c-format
+msgid "%s: wait: No more child process?!?\n"
+msgstr ""
+
+#: fsck/fsck.c:599
+#, c-format
+msgid "Warning... %s for device %s exited with signal %d.\n"
+msgstr ""
+
+#: fsck/fsck.c:605
+#, c-format
+msgid "%s %s: status is %x, should never happen.\n"
+msgstr ""
+
+#: fsck/fsck.c:644
+#, c-format
+msgid "Finished with %s (exit status %d)\n"
+msgstr ""
+
+#: fsck/fsck.c:704
+#, fuzzy, c-format
+msgid "%s: Error %d while executing fsck.%s for %s\n"
+msgstr "%s: napaka %d pri raz¹irjanju! %p(%d)\n"
+
+#: fsck/fsck.c:725
+msgid ""
+"Either all or none of the filesystem types passed to -t must be prefixed\n"
+"with 'no' or '!'.\n"
+msgstr ""
+
+#: fsck/fsck.c:744
+#, fuzzy
+msgid "Couldn't allocate memory for filesystem types\n"
+msgstr "mount: tip dat. sistema mora biti podan"
+
+#: fsck/fsck.c:867
+#, c-format
+msgid ""
+"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass "
+"number\n"
+msgstr ""
+
+#: fsck/fsck.c:894
+#, c-format
+msgid "fsck: cannot check %s: fsck.%s not found\n"
+msgstr ""
+
+#: fsck/fsck.c:950
+#, fuzzy
+msgid "Checking all file systems.\n"
+msgstr "Prisilni pregled datoteènega sistema na %s.\n"
+
+#: fsck/fsck.c:1041
+#, c-format
+msgid "--waiting-- (pass %d)\n"
+msgstr ""
+
+#: fsck/fsck.c:1061
+#, 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"
+
+#: fsck/fsck.c:1099
+#, fuzzy, c-format
+msgid "%s: too many devices\n"
+msgstr "%s: %s ni lp naprava.\n"
+
+#: fsck/fsck.c:1110
+#, fuzzy, c-format
+msgid "Couldn't open %s: %s\n"
+msgstr "%s ni mogoèe odpreti: %s\n"
+
+#: fsck/fsck.c:1112
+#, fuzzy, c-format
+msgid "Is /proc mounted?\n"
+msgstr "%s je odklopljen\n"
+
+#: fsck/fsck.c:1121
+#, c-format
+msgid "Must be root to scan for matching filesystems: %s\n"
+msgstr ""
+
+#: fsck/fsck.c:1124
+#, fuzzy, c-format
+msgid "Couldn't find matching filesystem: %s\n"
+msgstr "Odklapljam preostale datoteène sisteme..."
+
+#: fsck/fsck.c:1132 fsck/fsck.c:1218
+#, fuzzy, c-format
+msgid "%s: too many arguments\n"
+msgstr "%s: neznan argument: %s\n"
+
+#: fsck/fsck.c:1252
+#, fuzzy, c-format
+msgid "fsck from %s\n"
+msgstr "%s iz %s\n"
+
+#: fsck/fsck.c:1264
+#, fuzzy, c-format
+msgid "%s: Unable to allocate memory for fsck_path\n"
+msgstr "Dodelitev medpomnilnika za inode ni mo¾na"
+
+#: getopt/getopt.c:229
+msgid "Try `getopt --help' for more information.\n"
+msgstr "Poskusite `getopt --help' za veè informacij.\n"
+
+#: getopt/getopt.c:295
+msgid "empty long option after -l or --long argument"
+msgstr "dolga prazna izbira po -l ali --long izbira"
+
+#: getopt/getopt.c:315
+msgid "unknown shell after -s or --shell argument"
+msgstr "neznana lupina po -s ali -shell izbira"
+
+#: getopt/getopt.c:320
+msgid "Usage: getopt optstring parameters\n"
+msgstr "Uporaba: getopt optstring parametri\n"
+
+#: getopt/getopt.c:321
+msgid "       getopt [options] [--] optstring parameters\n"
+msgstr "       getopt [izbire] [--] optstring parametri\n"
+
+#: getopt/getopt.c:322
+msgid "       getopt [options] -o|--options optstring [options] [--]\n"
+msgstr "       getopt [izbire] -o|--izbire optstring [izbire] [--]\n"
+
+#: getopt/getopt.c:323
+msgid "              parameters\n"
+msgstr "              parametri\n"
+
+#: getopt/getopt.c:324
+msgid ""
+"  -a, --alternative            Allow long options starting with single -\n"
+msgstr ""
+"  -a. --alternative            Dovoli dolge izbire, ki se zaènejo z enim -\n"
+
+#: getopt/getopt.c:325
+msgid "  -h, --help                   This small usage guide\n"
+msgstr "  -h  --help                   Manj¹a navodila\n"
+
+#: getopt/getopt.c:326
+msgid "  -l, --longoptions=longopts   Long options to be recognized\n"
+msgstr "  -l  --longoptions=dolgeizbire   Dolge izbire za prepoznavo\n"
+
+#: getopt/getopt.c:327
+msgid ""
+"  -n, --name=progname          The name under which errors are reported\n"
+msgstr "  -n, --name=imeprograma       Ime na katerega se naslavljajo napake\n"
+
+#: getopt/getopt.c:328
+msgid "  -o, --options=optstring      Short options to be recognized\n"
+msgstr "  -o, --options=nizizbir       Kratke izbire za prepoznavo\n"
+
+#: getopt/getopt.c:329
+msgid "  -q, --quiet                  Disable error reporting by getopt(3)\n"
+msgstr "  -q, --quiet                  Onemogoèi getopt(3) poroèanje napak\n"
+
+#: getopt/getopt.c:330
+msgid "  -Q, --quiet-output           No normal output\n"
+msgstr "  -Q, --quiet-output           Brez normalnega izhoda\n"
+
+#: getopt/getopt.c:331
+msgid "  -s, --shell=shell            Set shell quoting conventions\n"
+msgstr "  -s,  --shell=lupina          Nastavi lupinsko konvencijo citiranja\n"
+
+#: getopt/getopt.c:332
+msgid "  -T, --test                   Test for getopt(1) version\n"
+msgstr "  -T. --test                   Test za razlièico getopt(1)\n"
+
+#: getopt/getopt.c:333
+msgid "  -u, --unqote                 Do not quote the output\n"
+msgstr "  -u, --unqote                 Ne citiraj izhoda\n"
+
+#: getopt/getopt.c:334
+msgid "  -V, --version                Output version information\n"
+msgstr "  -V, --version                Izpi¹i informacije o razlièici\n"
+
+#: getopt/getopt.c:388 getopt/getopt.c:447
+msgid "missing optstring argument"
+msgstr "manjka izbira nizizbir "
+
+#: getopt/getopt.c:435
+#, fuzzy, c-format
+msgid "getopt (enhanced) 1.1.4\n"
+msgstr "getpot (raz¹irjen) 1.1.3\n"
+
+#: getopt/getopt.c:441
+msgid "internal error, contact the author."
+msgstr "notranja napaka, sporoèite avtorju."
+
+#: hwclock/cmos.c:176
+#, c-format
+msgid "booted from MILO\n"
+msgstr "zagnano iz MILO\n"
+
+#: hwclock/cmos.c:185
+#, c-format
+msgid "Ruffian BCD clock\n"
+msgstr "Ura Ruffian BCD\n"
+
+#: hwclock/cmos.c:201
+#, c-format
+msgid "clockport adjusted to 0x%x\n"
+msgstr "vrata ure naravnana na 0x%x\n"
+
+#: hwclock/cmos.c:213
+#, c-format
+msgid "funky TOY!\n"
+msgstr "zabavna IGRAÈA!\n"
+
+#: hwclock/cmos.c:244
+#, c-format
+msgid "%s: atomic %s failed for 1000 iterations!"
+msgstr "%s: atomski %s neuspe¹en v 1000 ponovitvah!"
+
+#: hwclock/cmos.c:273
+#, c-format
+msgid "cmos_read(): write to control address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:276
+#, c-format
+msgid "cmos_read(): read data address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:307
+#, c-format
+msgid "cmos_write(): write to control address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:311
+#, c-format
+msgid "cmos_write(): write to data address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:574
+#, c-format
+msgid "Cannot open /dev/port: %s"
+msgstr "Odprtje vrat /dev/port: %s ni uspelo"
+
+#: hwclock/cmos.c:581
+#, c-format
+msgid "I failed to get permission because I didn't try.\n"
+msgstr "Dovoljenja mi ni uspelo pridobiti, ker nisem poskusil.\n"
+
+#: hwclock/cmos.c:584
+#, c-format
+msgid "%s is unable to get I/O port access:  the iopl(3) call failed.\n"
+msgstr "%s ne more dobiti dostopa do V/I vrat: klic iopl(3) neuspe¹en.\n"
+
+#: hwclock/cmos.c:587
+#, c-format
+msgid "Probably you need root privileges.\n"
+msgstr "Verjetno potrebujete pravice skrbnika sistema.\n"
+
+#: hwclock/hwclock.c:231
+#, c-format
+msgid "Assuming hardware clock is kept in %s time.\n"
+msgstr "Privzemamo, da strojna ura teèe v %s èasu.\n"
+
+#: hwclock/hwclock.c:232 hwclock/hwclock.c:327
+msgid "UTC"
+msgstr "UTC"
+
+#: hwclock/hwclock.c:232 hwclock/hwclock.c:326
+msgid "local"
+msgstr "krajevnem"
+
+#: hwclock/hwclock.c:312
+#, c-format
+msgid "%s: Warning: unrecognized third line in adjtime file\n"
+msgstr "%s: Opozorilo: neprepoznana tretja vrstica v datoteki adjtime\n"
+
+#: hwclock/hwclock.c:314
+#, c-format
+msgid "(Expected: `UTC' or `LOCAL' or nothing.)\n"
+msgstr "(Prièakovano: `UTC' ali `LOCAL` ali niè.)\n"
+
+#: hwclock/hwclock.c:321
+#, c-format
+msgid "Last drift adjustment done at %ld seconds after 1969\n"
+msgstr "Zadnja prilagoditev drsenju opravljena %ld sekund po letu 1969\n"
+
+#: hwclock/hwclock.c:323
+#, 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"
+
+#: hwclock/hwclock.c:325
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr "Strojna ura teèe v %s èasu\n"
+
+#: hwclock/hwclock.c:327
+msgid "unknown"
+msgstr "neznanem"
+
+#: hwclock/hwclock.c:351
+#, c-format
+msgid "Waiting for clock tick...\n"
+msgstr "Èakamo na tiktak ure...\n"
+
+#: hwclock/hwclock.c:357
+#, c-format
+msgid "...synchronization failed\n"
+msgstr ""
+
+#: hwclock/hwclock.c:359
+#, c-format
+msgid "...got clock tick\n"
+msgstr "...dobili tiktak.\n"
+
+#: hwclock/hwclock.c:413
+#, 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"
+
+#: hwclock/hwclock.c:421
+#, 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"
+
+#: hwclock/hwclock.c:451
+#, 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"
+
+#: hwclock/hwclock.c:480
+#, 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"
+
+#: hwclock/hwclock.c:486
+#, c-format
+msgid "Clock not changed - testing only.\n"
+msgstr "Ure ni spremenjena - zgolj preizkus.\n"
+
+#: hwclock/hwclock.c:536
+#, 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"
+
+#: hwclock/hwclock.c:572
+#, c-format
+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).\n"
+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"
+
+#: hwclock/hwclock.c:582
+#, c-format
+msgid "%s  %.6f seconds\n"
+msgstr "%s  %.6f sekund\n"
+
+#: hwclock/hwclock.c:616
+#, c-format
+msgid "No --date option specified.\n"
+msgstr "Izbira --date ni bila podana.\n"
+
+#: hwclock/hwclock.c:622
+#, c-format
+msgid "--date argument too long\n"
+msgstr "Izbira --date je predolga.\n"
+
+#: hwclock/hwclock.c:629
+#, c-format
+msgid ""
+"The value of the --date option is not a valid date.\n"
+"In particular, it contains quotation marks.\n"
+msgstr ""
+"Vrednost, podana pri izbiri --date ni veljaven datum.\n"
+"Med drugim vsebuje narekovaje.\n"
+
+#: hwclock/hwclock.c:637
+#, c-format
+msgid "Issuing date command: %s\n"
+msgstr "Izvajamo ukaz date: %s\n"
+
+#: hwclock/hwclock.c:641
+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"
+
+#: hwclock/hwclock.c:649
+#, c-format
+msgid "response from date command = %s\n"
+msgstr "odziv ukaza date = %s\n"
+
+#: hwclock/hwclock.c:651
+#, c-format
+msgid ""
+"The date command issued by %s returned unexpected results.\n"
+"The command was:\n"
+"  %s\n"
+"The response was:\n"
+"  %s\n"
+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"
+
+#: hwclock/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"
+
+#: hwclock/hwclock.c:674
+#, 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"
+
+#: hwclock/hwclock.c:706
+#, c-format
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot set the "
+"System Time from it.\n"
+msgstr ""
+"Strojna ura ne vsebuje veljavnega èasa, zato nastavljanje sistemskega èasa "
+"iz nje ni mogoèe.\n"
+
+#: hwclock/hwclock.c:728 hwclock/hwclock.c:805
+#, c-format
+msgid "Calling settimeofday:\n"
+msgstr "Klièem settimeofday:\n"
+
+#: hwclock/hwclock.c:729 hwclock/hwclock.c:807
+#, c-format
+msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr "\ttv.tv_sec = %ld, tc.tc_usec = %ld\n"
+
+#: hwclock/hwclock.c:731 hwclock/hwclock.c:809
+#, c-format
+msgid "\ttz.tz_minuteswest = %d\n"
+msgstr "\ttz.tz_minuteswest = %d\n"
+
+#: hwclock/hwclock.c:734 hwclock/hwclock.c:812
+#, c-format
+msgid "Not setting system clock because running in test mode.\n"
+msgstr "Sistemska ura ne bo nastavljena, ker se izvaja testiranje.\n"
+
+#: hwclock/hwclock.c:743 hwclock/hwclock.c:821
+#, c-format
+msgid "Must be superuser to set system clock.\n"
+msgstr "Samo sistemski skrbnik lahko nastavlja sistemsko uro.\n"
+
+#: hwclock/hwclock.c:746 hwclock/hwclock.c:824
+msgid "settimeofday() failed"
+msgstr "klic settimeofday() ni uspel"
+
+#: hwclock/hwclock.c:782
+#, c-format
+msgid "Current system time: %ld = %s\n"
+msgstr ""
+
+#: hwclock/hwclock.c:806
+#, c-format
+msgid "\tUTC: %s\n"
+msgstr ""
+
+#: hwclock/hwclock.c:853
+#, 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"
+
+#: hwclock/hwclock.c:858
+#, 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"
+
+#: hwclock/hwclock.c:864
+#, 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"
+
+#: hwclock/hwclock.c:912
+#, 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"
+
+#: hwclock/hwclock.c:962
+#, c-format
+msgid "Time since last adjustment is %d seconds\n"
+msgstr "Èas od zadnje prilagoditve je %d sekund\n"
+
+#: hwclock/hwclock.c:964
+#, 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"
+
+#: hwclock/hwclock.c:993
+#, c-format
+msgid "Not updating adjtime file because of testing mode.\n"
+msgstr "adjtime ne bo posodobljen zaradi testnega naèina.\n"
+
+#: hwclock/hwclock.c:994
+#, c-format
+msgid ""
+"Would have written the following to %s:\n"
+"%s"
+msgstr ""
+"Na %s bi bilo napisano sledeèe:\n"
+"%s"
+
+#: hwclock/hwclock.c:1002
+#, c-format
+msgid ""
+"Could not open file with the clock adjustment parameters in it (%s) for "
+"writing"
+msgstr ""
+
+#: hwclock/hwclock.c:1007 hwclock/hwclock.c:1012
+#, c-format
+msgid "Could not update file with the clock adjustment parameters (%s) in it"
+msgstr ""
+
+#: hwclock/hwclock.c:1018
+#, c-format
+msgid "Drift adjustment parameters not updated.\n"
+msgstr "Drsne prilagoditve parametrov ne bodo posodobljene.\n"
+
+#: hwclock/hwclock.c:1059
+#, c-format
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot adjust it.\n"
+msgstr ""
+"Strojna ura ne vsebuje veljavnega èasa, zato se je ne more prilagoditi.\n"
+
+#: hwclock/hwclock.c:1067
+#, 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"
+
+#: hwclock/hwclock.c:1090
+#, 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"
+
+#: hwclock/hwclock.c:1116
+#, c-format
+msgid "Using %s.\n"
+msgstr "Uporabljam %s.\n"
+
+#: hwclock/hwclock.c:1118
+#, c-format
+msgid "No usable clock interface found.\n"
+msgstr "Iskanje uporabnega urinega vmesnika ni bilo uspe¹no.\n"
+
+#: hwclock/hwclock.c:1222 hwclock/hwclock.c:1228
+#, c-format
+msgid "Unable to set system clock.\n"
+msgstr "Sistemske ure se ne da nastaviti.\n"
+
+#: hwclock/hwclock.c:1258
+#, c-format
+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.\n"
+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"
+
+#: hwclock/hwclock.c:1267
+#, c-format
+msgid "Unable to get the epoch value from the kernel.\n"
+msgstr "Vrednosti epoch ni mogoèe dobiti od jedra.\n"
+
+#: hwclock/hwclock.c:1269
+#, c-format
+msgid "Kernel is assuming an epoch value of %lu\n"
+msgstr "Jedro predpostavlja, da je vrednost epoch %lu\n"
+
+#: hwclock/hwclock.c:1272
+#, c-format
+msgid ""
+"To set the epoch value, you must use the 'epoch' option to tell to what "
+"value to set it.\n"
+msgstr "Èe hoèete nastaviti vrednost epoch, morate uporabiti izbiro 'epoch'\n"
+
+#: hwclock/hwclock.c:1275
+#, c-format
+msgid "Not setting the epoch to %d - testing only.\n"
+msgstr "Epoch ne bo nastavljen na %d - samo preizku¹am.\n"
+
+#: hwclock/hwclock.c:1278
+#, c-format
+msgid "Unable to set the epoch value in the kernel.\n"
+msgstr "Vrednosti epoch ni bilo mo¾no nastaviti.\n"
+
+#: hwclock/hwclock.c:1291 misc-utils/cal.c:345 misc-utils/kill.c:189
+#, c-format
+msgid "%s from %s\n"
+msgstr "%s iz %s\n"
+
+#: hwclock/hwclock.c:1312
+#, fuzzy, c-format
+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"
+"  -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"
+
+#: hwclock/hwclock.c:1347
+#, fuzzy, c-format
+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"
+
+#: hwclock/hwclock.c:1434
+#, fuzzy, c-format
+msgid "%s: Unable to connect to audit system\n"
+msgstr "Sistemske ure se ne da nastaviti.\n"
+
+#: hwclock/hwclock.c:1552
+#, c-format
+msgid "%s takes no non-option arguments.  You supplied %d.\n"
+msgstr "%s ne sprejema argumentov brez izbir. Podali ste: %d.\n"
+
+#: hwclock/hwclock.c:1559
+#, c-format
+msgid ""
+"You have specified multiple functions.\n"
+"You can only perform one function at a time.\n"
+msgstr ""
+"Podali ste veè funkcij.\n"
+"Izvedete lahko samo eno funkcijo naenkrat.\n"
+
+#: hwclock/hwclock.c:1566
+#, c-format
+msgid ""
+"%s: The --utc and --localtime options are mutually exclusive.  You specified "
+"both.\n"
+msgstr ""
+"%s: --utc in --localtime izbiri se medsebojno izkljuèujeta. Podali ste obe.\n"
+
+#: hwclock/hwclock.c:1573
+#, c-format
+msgid ""
+"%s: The --adjust and --noadjfile options are mutually exclusive.  You "
+"specified both.\n"
+msgstr ""
+"%s: --adjust in --noadjfile izbiri se medsebojno izkljuèujeta. Podali ste "
+"obe.\n"
+
+#: hwclock/hwclock.c:1580
+#, fuzzy, c-format
+msgid ""
+"%s: The --adjfile and --noadjfile options are mutually exclusive.  You "
+"specified both.\n"
+msgstr ""
+"%s: --adjust in --noadjfile izbiri se medsebojno izkljuèujeta. Podali ste "
+"obe.\n"
+
+#: hwclock/hwclock.c:1589
+#, c-format
+msgid "%s: With --noadjfile, you must specify either --utc or --localtime\n"
+msgstr "%s: --noadjfile morate podati skupaj z --utc ali --localtime\n"
+
+#: hwclock/hwclock.c:1603
+#, c-format
+msgid "No usable set-to time.  Cannot set clock.\n"
+msgstr "Ni uporabnega nastavitvenega èasa. Ura ne bo nastavljena.\n"
+
+#: hwclock/hwclock.c:1620
+#, c-format
+msgid "Sorry, only the superuser can change the Hardware Clock.\n"
+msgstr "®al lahko samo sistemski skrbnik spreminja strojno uro.\n"
+
+#: hwclock/hwclock.c:1625
+#, c-format
+msgid "Sorry, only the superuser can change the System Clock.\n"
+msgstr "®al lahko samo sistemski skrbnik spreminj sistemsko uro.\n"
+
+#: hwclock/hwclock.c:1630
+#, c-format
+msgid ""
+"Sorry, only the superuser can change the Hardware Clock epoch in the "
+"kernel.\n"
+msgstr ""
+"®al lahko samo sistemski skrbnik spreminja razdobje strojne ure v jedru.\n"
+
+#: hwclock/hwclock.c:1651
+#, c-format
+msgid "Cannot access the Hardware Clock via any known method.\n"
+msgstr "Do strojne ure ni mogoèe dostopati po znanih metodah.\n"
+
+#: hwclock/hwclock.c:1655
+#, c-format
+msgid ""
+"Use the --debug option to see the details of our search for an access "
+"method.\n"
+msgstr "Uporabite --debug izbiro, za podrobnosti o iskanju metode dostopa.\n"
+
+#: hwclock/kd.c:53
+#, c-format
+msgid "Waiting in loop for time from KDGHWCLK to change\n"
+msgstr "Èakam v zanki na spremembo èasa iz KDGHWCLK\n"
+
+#: hwclock/kd.c:56
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr "KDGHWCLK ioctl za branje èasa ni uspelo"
+
+#: hwclock/kd.c:77 hwclock/rtc.c:221
+#, c-format
+msgid "Timed out waiting for time change.\n"
+msgstr "Sprememba èasa je trajala predolgo.\n"
+
+#: hwclock/kd.c:81
+msgid "KDGHWCLK ioctl to read time failed in loop"
+msgstr "KDGHWCLK ioctl za branje èasa ni uspelo v zanki"
+
+#: hwclock/kd.c:103
+#, c-format
+msgid "ioctl() failed to read time from %s"
+msgstr "klic ioctl() ni uspel prebrati èasa iz %s"
+
+#: hwclock/kd.c:139
+msgid "ioctl KDSHWCLK failed"
+msgstr "ioctl KDSHWCLK ni uspel"
+
+#: hwclock/kd.c:175
+msgid "Can't open /dev/tty1 or /dev/vc/1"
+msgstr "/dev/tty1 ali /dev/vc/1 ni mogoèe odpreti"
+
+#: hwclock/kd.c:179
+msgid "KDGHWCLK ioctl failed"
+msgstr "KDGHWCLK ioctl ni uspel"
+
+#: hwclock/rtc.c:147 hwclock/rtc.c:241
+#, c-format
+msgid "open() of %s failed"
+msgstr "klic open() za %s ni uspel"
+
+#: hwclock/rtc.c:181
+#, c-format
+msgid "ioctl() to %s to read the time failed.\n"
+msgstr "klic ioctl() k %s za branje èasa ni uspel\n"
+
+#: hwclock/rtc.c:203
+#, c-format
+msgid "Waiting in loop for time from %s to change\n"
+msgstr "Èakam v zanki na spremembo èasa iz %s\n"
+
+#: hwclock/rtc.c:259
+#, c-format
+msgid "%s does not have interrupt functions. "
+msgstr "%s nima prekinitvenih funkcij."
+
+#: hwclock/rtc.c:270
+#, c-format
+msgid "read() to %s to wait for clock tick failed"
+msgstr "klic read() k %s za èakanje na premik ure ni uspel"
+
+#: hwclock/rtc.c:288
+#, c-format
+msgid "select() to %s to wait for clock tick failed"
+msgstr "klic select() k %s za èakanje na premik ure ni uspel"
+
+#: hwclock/rtc.c:291
+#, c-format
+msgid "select() to %s to wait for clock tick timed out\n"
+msgstr "klic select() k %s za èakanje na premik ure je trajal predolgo\n"
+
+#: hwclock/rtc.c:300
+#, c-format
+msgid "ioctl() to %s to turn off update interrupts failed"
+msgstr "klic ioctl() k %s za izklop posodabljanja prekinitev ni uspel"
+
+#: hwclock/rtc.c:303
+#, 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"
+
+#: hwclock/rtc.c:360
+#, c-format
+msgid "ioctl() to %s to set the time failed.\n"
+msgstr "klic ioctl() k %s za nastavitev èasa ni uspel.\n"
+
+#: hwclock/rtc.c:366
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr "klic ioctl(%s) je bil uspe¹en.\n"
+
+#: hwclock/rtc.c:392
+#, c-format
+msgid "Open of %s failed"
+msgstr "Odpiranje %s ni uspelo"
+
+#: hwclock/rtc.c:410 hwclock/rtc.c:454
+#, 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.\n"
+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"
+
+#: hwclock/rtc.c:415 hwclock/rtc.c:459
+#, c-format
+msgid "Unable to open %s"
+msgstr "Ni mogoèe odpreti %s"
+
+#: hwclock/rtc.c:422
+#, c-format
+msgid "ioctl(RTC_EPOCH_READ) to %s failed"
+msgstr "klic ioctl(RTC_EPOCH_READ) k %s ni uspel"
+
+#: hwclock/rtc.c:427
+#, 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"
+
+#: hwclock/rtc.c:446
+#, c-format
+msgid "The epoch value may not be less than 1900.  You requested %ld\n"
+msgstr ""
+"Vrednost razdobja mora biti veèja ali enaka 1900. Zahtevana je bila %ld\n"
+
+#: hwclock/rtc.c:464
+#, 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"
+
+#: hwclock/rtc.c:469
+#, c-format
+msgid ""
+"The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl.\n"
+msgstr "Gonilnik jedra za %s nima RTC_EPOCH_SET ioctl.\n"
+
+#: hwclock/rtc.c:472
+#, c-format
+msgid "ioctl(RTC_EPOCH_SET) to %s failed"
+msgstr "ioctl(RTC_EPOCH_SET) k %s ni uspel"
+
+#: login-utils/agetty.c:361
+#, c-format
+msgid "%s: can't exec %s: %m"
+msgstr "%s: ne more izvesti %s: %m"
+
+#: login-utils/agetty.c:384
+msgid "can't malloc initstring"
+msgstr "za zaèetni niz ni mogoèe dodeliti pomnilnika"
+
+#: login-utils/agetty.c:449
+#, c-format
+msgid "bad timeout value: %s"
+msgstr "nepravilna vrednost za prekoraèitev èasa: %s"
+
+#: login-utils/agetty.c:526
+#, c-format
+msgid "bad speed: %s"
+msgstr "nepravilna hitrost: %s"
+
+#: login-utils/agetty.c:528
+msgid "too many alternate speeds"
+msgstr "preveè razliènih hitrosti"
+
+#: login-utils/agetty.c:630
+#, c-format
+msgid "/dev: chdir() failed: %m"
+msgstr "/dev: chdir() ni uspel: %m"
+
+#: login-utils/agetty.c:634
+#, c-format
+msgid "/dev/%s: not a character device"
+msgstr "/dev/%s: ni znakovna naprava"
+
+#: login-utils/agetty.c:643
+#, c-format
+msgid "/dev/%s: cannot open as standard input: %m"
+msgstr "/dev/%s: ni mogoèe odpreti kot standardni vhod: %m"
+
+#: login-utils/agetty.c:653
+#, c-format
+msgid "%s: not open for read/write"
+msgstr "%s: ni odprto za branje/pisanje"
+
+#: login-utils/agetty.c:659
+#, c-format
+msgid "%s: dup problem: %m"
+msgstr "%s: napaka pri prevari: %m"
+
+#: login-utils/agetty.c:946
+#, c-format
+msgid "user"
+msgstr "uporabnik"
+
+#: login-utils/agetty.c:946
+#, c-format
+msgid "users"
+msgstr "uporabniki"
+
+#: login-utils/agetty.c:1031
+#, c-format
+msgid "%s: read: %m"
+msgstr "%s: beri: %m"
+
+#: login-utils/agetty.c:1078
+#, c-format
+msgid "%s: input overrun"
+msgstr "%s: vhod je preplavljen"
+
+#: login-utils/agetty.c:1207
+#, fuzzy, c-format
+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 ""
+"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"
+
+#: login-utils/checktty.c:91 login-utils/checktty.c:112
+#, c-format
+msgid "login: memory low, login may fail\n"
+msgstr "vpis: vpis je lahko neuspe¹en,ker je malo prostega pomnilnika\n"
+
+#: login-utils/checktty.c:92
+msgid "can't malloc for ttyclass"
+msgstr "za ttyclass ni mogoèe dodeliti pomnilnika"
+
+#: login-utils/checktty.c:113
+msgid "can't malloc for grplist"
+msgstr "za grplist ni mogoèe dodeliti pomnilnika"
+
+#: login-utils/checktty.c:554
+#, c-format
+msgid "Login on %s from %s denied by default.\n"
+msgstr "Vpis na %s iz %s je zanikan(privzeto).\n"
+
+#: login-utils/checktty.c:565
+#, c-format
+msgid "Login on %s from %s denied.\n"
+msgstr "Vpis na %s iz %s je zanikan.\n"
+
+#: login-utils/chfn.c:133 login-utils/chsh.c:119
+#, c-format
+msgid "%s: you (user %d) don't exist.\n"
+msgstr "%s: vi (uporabnik %d) ne obstajate.\n"
+
+#: login-utils/chfn.c:140 login-utils/chsh.c:126
+#, c-format
+msgid "%s: user \"%s\" does not exist.\n"
+msgstr "%s: uporabnik \"%s\" ne obstja.\n"
+
+#: login-utils/chfn.c:145 login-utils/chsh.c:131
+#, c-format
+msgid "%s: can only change local entries; use yp%s instead.\n"
+msgstr ""
+"%s: lahko spreminja samo lokalne vnose; namesto tega uporabite yp%s .\n"
+
+#: login-utils/chfn.c:156 login-utils/chsh.c:142
+#, fuzzy
+msgid "Unknown user context"
+msgstr "Neznana napaka v uporabni¹ki zvezi[user context]"
+
+#: login-utils/chfn.c:157
+#, c-format
+msgid "%s: %s is not authorized to change the finger info of %s\n"
+msgstr "%s: %s nima pristojnosti za spreminjanje informacije finger od %s\n"
+
+#: login-utils/chfn.c:164 login-utils/chsh.c:150
+#, c-format
+msgid "%s: Can't set default context for /etc/passwd"
+msgstr "%s: Ne more se nastaviti privzete zveze[context] za /etc/passwd"
+
+#: login-utils/chfn.c:178
+#, c-format
+msgid "Changing finger information for %s.\n"
+msgstr "Spreminjam finger informacijo za %s.\n"
+
+#: login-utils/chfn.c:189 login-utils/chsh.c:188 login-utils/login.c:572
+#, fuzzy, c-format
+msgid "%s: PAM failure, aborting: %s\n"
+msgstr "login: PAM ni uspel, prekinjam: %s\n"
+
+#: login-utils/chfn.c:212 login-utils/chsh.c:211 login-utils/login.c:823
+#: login-utils/newgrp.c:85 login-utils/simpleinit.c:340 mount/lomount.c:744
+#: mount/lomount.c:747
+msgid "Password: "
+msgstr "Geslo: "
+
+#: login-utils/chfn.c:215 login-utils/chsh.c:214
+msgid "Incorrect password."
+msgstr "Napaèno geslo."
+
+#: login-utils/chfn.c:226
+#, c-format
+msgid "Finger information not changed.\n"
+msgstr "Finger informacija ni spremenjena.\n"
+
+#: login-utils/chfn.c:328
+#, c-format
+msgid "Usage: %s [ -f full-name ] [ -o office ] "
+msgstr "Uporaba: %s [ -f polno-ime] [ -o pisarna ] "
+
+#: login-utils/chfn.c:329
+#, c-format
+msgid ""
+"[ -p office-phone ]\n"
+"\t[ -h home-phone ] "
+msgstr ""
+"[ -p pisarni¹ki-tel ]\n"
+"\t[ -h domaèi-tel   ] "
+
+#: login-utils/chfn.c:330
+#, c-format
+msgid "[ --help ] [ --version ]\n"
+msgstr "[ --help ] [ --version ]\n"
+
+#: login-utils/chfn.c:378
+msgid "Office"
+msgstr ""
+
+#: login-utils/chfn.c:379
+msgid "Office Phone"
+msgstr ""
+
+#: login-utils/chfn.c:380
+msgid "Home Phone"
+msgstr ""
+
+#: login-utils/chfn.c:401 login-utils/chsh.c:321
+#, c-format
+msgid ""
+"\n"
+"Aborted.\n"
+msgstr ""
+"\n"
+"Prekinjeno.\n"
+
+#: login-utils/chfn.c:434
+#, c-format
+msgid "field is too long.\n"
+msgstr "polje je predolgo.\n"
+
+#: login-utils/chfn.c:442
+#, c-format
+msgid "'%c' is not allowed.\n"
+msgstr "'%c' ni dovoljeno.\n"
+
+#: login-utils/chfn.c:447
+#, c-format
+msgid "Control characters are not allowed.\n"
+msgstr "Nadzorni znaki niso dovoljeni.\n"
+
+#: login-utils/chfn.c:512
+#, c-format
+msgid "Finger information *NOT* changed.  Try again later.\n"
+msgstr "Finger informacija NI spremenjena. Poskusite ponovno kasneje.\n"
+
+#: login-utils/chfn.c:515
+#, c-format
+msgid "Finger information changed.\n"
+msgstr "Finger informacija spremenjena.\n"
+
+#: login-utils/chsh.c:143
+#, c-format
+msgid "%s: %s is not authorized to change the shell of %s\n"
+msgstr "%s: %s nima pristojnosti za spremembo lupine %s\n"
+
+#: login-utils/chsh.c:164
+#, c-format
+msgid ""
+"%s: Running UID doesn't match UID of user we're altering, shell change "
+"denied\n"
+msgstr ""
+"%s: Tekoèi UID ne ustreza UIDu uporabnika, ki ga a¾uriramo, sprememba lupine "
+"zanikana\n"
+
+#: login-utils/chsh.c:170
+#, c-format
+msgid "%s: Your shell is not in /etc/shells, shell change denied\n"
+msgstr "%s: Va¹a lupina ni v /etc/shells, sprememba lupine zanikana\n"
+
+#: login-utils/chsh.c:177
+#, c-format
+msgid "Changing shell for %s.\n"
+msgstr "Spreminjam lupino za %s.\n"
+
+#: login-utils/chsh.c:222
+msgid "New shell"
+msgstr "Nova lupina"
+
+#: login-utils/chsh.c:229
+#, c-format
+msgid "Shell not changed.\n"
+msgstr "Lupina ni bila spremenjena.\n"
+
+#: login-utils/chsh.c:235
+#, c-format
+msgid "Shell *NOT* changed.  Try again later.\n"
+msgstr "Lupina NI bila spremenjena. Poskusite znova kasneje.\n"
+
+#: login-utils/chsh.c:238
+#, c-format
+msgid "Shell changed.\n"
+msgstr "Lupina je bila spremenjena.\n"
+
+#: login-utils/chsh.c:303
+#, c-format
+msgid ""
+"Usage: %s [ -s shell ] [ --list-shells ] [ --help ] [ --version ]\n"
+"       [ username ]\n"
+msgstr ""
+"Uporaba: %s [ -s lupina ] [ --list-shells ] [ --help] [ --version ]\n"
+"       [ uporabni¹ko ime]\n"
+
+#: login-utils/chsh.c:349
+#, c-format
+msgid "%s: shell must be a full path name.\n"
+msgstr "%s: lupina mora biti polno ime poti.\n"
+
+#: login-utils/chsh.c:353
+#, c-format
+msgid "%s: \"%s\" does not exist.\n"
+msgstr "%s: \"%s\" ne obstaja.\n"
+
+#: login-utils/chsh.c:357
+#, c-format
+msgid "%s: \"%s\" is not executable.\n"
+msgstr "%s: \"%s\" ni izvr¹ljiva.\n"
+
+#: login-utils/chsh.c:364
+#, c-format
+msgid "%s: '%c' is not allowed.\n"
+msgstr "%s: '%c' ni dovoljeno.\n"
+
+#: login-utils/chsh.c:368
+#, c-format
+msgid "%s: Control characters are not allowed.\n"
+msgstr "%s: Nadzorni znaki niso dovoljeni.\n"
+
+#: login-utils/chsh.c:375 login-utils/chsh.c:385
+#, c-format
+msgid "Warning: \"%s\" is not listed in /etc/shells.\n"
+msgstr "Opozorilo: \"%s\" ni na seznamu v /etc/shells.\n"
+
+#: login-utils/chsh.c:377
+#, c-format
+msgid "%s: \"%s\" is not listed in /etc/shells.\n"
+msgstr "%s: \"%s\" ni na seznamu v /etc/shells.\n"
+
+#: login-utils/chsh.c:379
+#, fuzzy, c-format
+msgid "%s: Use -l option to see list.\n"
+msgstr "%s: uporabite -l za izpis seznama\n"
+
+#: login-utils/chsh.c:386
+#, c-format
+msgid "Use %s -l to see list.\n"
+msgstr "Uporabite %s -l za izpis seznama.\n"
+
+#: login-utils/chsh.c:406
+#, c-format
+msgid "No known shells.\n"
+msgstr "Ni znanih lupin.\n"
+
+#: login-utils/islocal.c:87
+#, fuzzy, c-format
+msgid "Failed to open %s for reading, exiting."
+msgstr "%s ni mogoèe odpreti za branje\n"
+
+#: login-utils/last.c:148
+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:284
+msgid "  still logged in"
+msgstr "  ¹e vedno prijavljen"
+
+#: login-utils/last.c:306
+#, c-format
+msgid ""
+"\n"
+"wtmp begins %s"
+msgstr ""
+"\n"
+"wtmp zaèenja %s"
+
+#: login-utils/last.c:362 login-utils/last.c:380 login-utils/last.c:431
+msgid "last: malloc failure.\n"
+msgstr "last: malloc ni uspel.\n"
+
+#: login-utils/last.c:407
+msgid "last: gethostname"
+msgstr "last: dobi ime gostitelja"
+
+#: login-utils/last.c:456
+#, c-format
+msgid ""
+"\n"
+"interrupted %10.10s %5.5s \n"
+msgstr ""
+"\n"
+"prekinjeno %10.10s %5.5s \n"
+
+#: login-utils/login.c:197
+#, c-format
+msgid "FATAL: can't reopen tty: %s"
+msgstr "USODNA NAPAKA: tty ni mogoèe znova odpreti: %s"
+
+#: login-utils/login.c:229
+msgid "FATAL: bad tty"
+msgstr "USODNA NAPAKA: po¹kodovan tty"
+
+#: login-utils/login.c:436
+#, 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:479
+#, c-format
+msgid "usage: login [-fp] [username]\n"
+msgstr "uporaba: login [-fp] [uporabnik]\n"
+
+#: login-utils/login.c:574
+#, c-format
+msgid "Couldn't initialize PAM: %s"
+msgstr "PAM ni moè inicializirati: %s"
+
+#: login-utils/login.c:591
+msgid "login: "
+msgstr "prijava: "
+
+#: login-utils/login.c:635
+#, c-format
+msgid "FAILED LOGIN %d FROM %s FOR %s, %s"
+msgstr "NEUSPE©NA PRIJAVA %d IZ %s ZA UPORABNIKA %s, %s"
+
+#: login-utils/login.c:640
+#, c-format
+msgid ""
+"Login incorrect\n"
+"\n"
+msgstr ""
+"Nepravilna prijava\n"
+"\n"
+
+#: login-utils/login.c:649
+#, c-format
+msgid "TOO MANY LOGIN TRIES (%d) FROM %s FOR %s, %s"
+msgstr "PREVEÈ POSKUSOV PRIJAVE (%d) IZ %s ZA %s, %s"
+
+#: login-utils/login.c:653
+#, 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:658
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+"\n"
+"Neuspe¹na prijava\n"
+
+#: login-utils/login.c:686 login-utils/login.c:693 login-utils/login.c:727
+#, c-format
+msgid ""
+"\n"
+"Session setup problem, abort.\n"
+msgstr ""
+"\n"
+"Napaka pri nastavljanju seje, prekinjam.\n"
+
+#: login-utils/login.c:687
+#, c-format
+msgid "NULL user name in %s:%d. Abort."
+msgstr "nièelno uporabni¹ko ime v %s:%d. Prekinjam."
+
+#: login-utils/login.c:694
+#, 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:713
+#, c-format
+msgid "login: Out of memory\n"
+msgstr "login: Zmanjkalo je prostega pomnilnika\n"
+
+#: login-utils/login.c:757
+msgid "Illegal username"
+msgstr "Neveljavno uporabni¹ko ime"
+
+#: login-utils/login.c:800
+#, c-format
+msgid "%s login refused on this terminal.\n"
+msgstr "%s na tem terminalu je vpis zanikan.\n"
+
+#: login-utils/login.c:805
+#, c-format
+msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
+msgstr "VPIS %s ZANIKAN OD %s NA TTY %s"
+
+#: login-utils/login.c:809
+#, c-format
+msgid "LOGIN %s REFUSED ON TTY %s"
+msgstr "LOGIN %s ZANIKAN NA TTY %s"
+
+#: login-utils/login.c:863
+#, c-format
+msgid "Login incorrect\n"
+msgstr "Prijava ni uspela\n"
+
+#: login-utils/login.c:1088
+#, c-format
+msgid "DIALUP AT %s BY %s"
+msgstr "TELEFONSKA PRIJAVA Z LINIJE %s, UPORABNIK %s"
+
+#: login-utils/login.c:1095
+#, c-format
+msgid "ROOT LOGIN ON %s FROM %s"
+msgstr "SKRBNI©KA PRIJAVA Z RAÈUNALNIKA %s, UPORABNIK %s"
+
+#: login-utils/login.c:1098
+#, c-format
+msgid "ROOT LOGIN ON %s"
+msgstr "SKRBNI©KA PRIJAVA NA LINIJI %s"
+
+#: login-utils/login.c:1101
+#, 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:1104
+#, c-format
+msgid "LOGIN ON %s BY %s"
+msgstr "PRIJAVA NA LINIJI %s UPORABNIKA %s"
+
+#: login-utils/login.c:1125
+#, c-format
+msgid "You have new mail.\n"
+msgstr "Èaka vas nova po¹ta.\n"
+
+#: login-utils/login.c:1127
+#, c-format
+msgid "You have mail.\n"
+msgstr "Èaka vas po¹ta.\n"
+
+#: login-utils/login.c:1171
+#, c-format
+msgid "login: failure forking: %s"
+msgstr "login: vejitev ni uspela: %s"
+
+#: login-utils/login.c:1218
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr "TIOCSCTTY ni uspel: %m"
+
+#: login-utils/login.c:1224
+msgid "setuid() failed"
+msgstr "klic setuid() ni uspel"
+
+#: login-utils/login.c:1230
+#, c-format
+msgid "No directory %s!\n"
+msgstr "Imenik %s ne obstaja!\n"
+
+#: login-utils/login.c:1234
+#, c-format
+msgid "Logging in with home = \"/\".\n"
+msgstr "Vpisujem se s domaèim imenikom = \"/\".\n"
+
+#: login-utils/login.c:1242
+#, c-format
+msgid "login: no memory for shell script.\n"
+msgstr "login: ni prostega pomnilnika za lupinski skript.\n"
+
+#: login-utils/login.c:1269
+#, c-format
+msgid "login: couldn't exec shell script: %s.\n"
+msgstr "login: skripta ukazne lupine ni moè pognati: %s.\n"
+
+#: login-utils/login.c:1272
+#, c-format
+msgid "login: no shell: %s.\n"
+msgstr "login: ni ukazne lupine: %s.\n"
+
+#: login-utils/login.c:1287
+#, c-format
+msgid ""
+"\n"
+"%s login: "
+msgstr ""
+"\n"
+"%s prijava: "
+
+#: login-utils/login.c:1298
+#, c-format
+msgid "login name much too long.\n"
+msgstr "Prijavno ime je predolgo.\n"
+
+#: login-utils/login.c:1299
+msgid "NAME too long"
+msgstr "IME je predolgo"
+
+#: login-utils/login.c:1306
+#, c-format
+msgid "login names may not start with '-'.\n"
+msgstr "Prijavna imena se ne morejo zaèeti z znakom '-'.\n"
+
+#: login-utils/login.c:1316
+#, c-format
+msgid "too many bare linefeeds.\n"
+msgstr "preveè pomikov v novo vrsto\n"
+
+#: login-utils/login.c:1317
+msgid "EXCESSIVE linefeeds"
+msgstr "PREKOMERNI pomiki v novo vrsto"
+
+#: login-utils/login.c:1349
+#, c-format
+msgid "Login timed out after %d seconds\n"
+msgstr "Prijava je potekla po %d sekundah.\n"
+
+#: login-utils/login.c:1437
+#, c-format
+msgid "Last login: %.*s "
+msgstr "Zadnja prijava: %.*s "
+
+#: login-utils/login.c:1441
+#, c-format
+msgid "from %.*s\n"
+msgstr "z raèunalnika %.*s\n"
+
+#: login-utils/login.c:1444
+#, c-format
+msgid "on %.*s\n"
+msgstr "z linije %.*s\n"
+
+#: login-utils/login.c:1470
+#, c-format
+msgid "LOGIN FAILURE FROM %s, %s"
+msgstr "NEUSPE©NA PRIJAVA Z %s, %s"
+
+#: login-utils/login.c:1473
+#, c-format
+msgid "LOGIN FAILURE ON %s, %s"
+msgstr "NEUSPE©NA PRIJAVA NA %s, %s"
+
+#: login-utils/login.c:1477
+#, c-format
+msgid "%d LOGIN FAILURES FROM %s, %s"
+msgstr "%d NEUSPE©NIH PRIJAV Z %s, %s"
+
+#: login-utils/login.c:1480
+#, c-format
+msgid "%d LOGIN FAILURES ON %s, %s"
+msgstr "%d NEUSPE©NIH PRIJAV NA %s, %s"
+
+#: login-utils/mesg.c:89
+#, c-format
+msgid "is y\n"
+msgstr "je y\n"
+
+#: login-utils/mesg.c:92
+#, c-format
+msgid "is n\n"
+msgstr "je n\n"
+
+#: login-utils/mesg.c:112
+#, c-format
+msgid "usage: mesg [y | n]\n"
+msgstr "uporaba: mesg [y | n]\n"
+
+#: login-utils/newgrp.c:105
+msgid "newgrp: Who are you?"
+msgstr "newgrp: Kdo si?"
+
+#: login-utils/newgrp.c:113 login-utils/newgrp.c:127
+msgid "newgrp: setgid"
+msgstr "newgrp: nastavi gid"
+
+#: login-utils/newgrp.c:120 login-utils/newgrp.c:122
+msgid "newgrp: No such group."
+msgstr "newgrp: Taka skupine ni."
+
+#: login-utils/newgrp.c:131
+msgid "newgrp: Permission denied"
+msgstr "newgrp: Dostop zanikan"
+
+#: login-utils/newgrp.c:138
+msgid "newgrp: setuid"
+msgstr "newgrp: nastavi uid"
+
+#: login-utils/newgrp.c:144
+msgid "No shell"
+msgstr "Ni ukazne lupine"
+
+#: login-utils/shutdown.c:115
+#, c-format
+msgid "Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+msgstr "Uporaba: shutdown [-h|-r] [-fqs] [now|hh:ss|+minut]\n"
+
+#: login-utils/shutdown.c:133
+msgid "Shutdown process aborted"
+msgstr "Postopek zaustavitve prekinjen"
+
+#: login-utils/shutdown.c:164
+#, c-format
+msgid "%s: Only root can shut a system down.\n"
+msgstr "%s: Sistem lahko zaustavi samo sistemski skrbnik.\n"
+
+#: login-utils/shutdown.c:258
+#, c-format
+msgid "That must be tomorrow, can't you wait till then?\n"
+msgstr "To se mora zgoditi jutri, ali ne morete poèakati do takrat?\n"
+
+#: login-utils/shutdown.c:309
+msgid "for maintenance; bounce, bounce"
+msgstr "za vzdr¾evanje"
+
+#: login-utils/shutdown.c:338
+msgid "The system is being shut down within 5 minutes"
+msgstr "Sistem se bo zaustavil èez pet minut"
+
+#: login-utils/shutdown.c:342
+msgid "Login is therefore prohibited."
+msgstr "Prijava zato ni dovoljena."
+
+#: login-utils/shutdown.c:364
+#, c-format
+msgid "rebooted by %s: %s"
+msgstr "ponovno zagnal uporabnik %s: %s"
+
+#: login-utils/shutdown.c:367
+#, c-format
+msgid "halted by %s: %s"
+msgstr "ustavil uporabnik %s: %s"
+
+#: login-utils/shutdown.c:431
+msgid ""
+"\n"
+"Why am I still alive after reboot?"
+msgstr ""
+"\n"
+"Zakaj sem ¹e vedno aktiven po ponovnem zagonu?"
+
+#: login-utils/shutdown.c:433
+msgid ""
+"\n"
+"Now you can turn off the power..."
+msgstr ""
+"\n"
+"Zdaj lahko varno izklopite raèunalnik."
+
+#: login-utils/shutdown.c:449
+#, c-format
+msgid "Calling kernel power-off facility...\n"
+msgstr "Klièem jedrovo izkljuèitveno metodo...\n"
+
+#: login-utils/shutdown.c:452
+#, c-format
+msgid "Error powering off\t%s\n"
+msgstr "Napaka pri izkljuèevanju\t%s\n"
+
+#: login-utils/shutdown.c:460
+#, c-format
+msgid "Executing the program \"%s\" ...\n"
+msgstr "Zaganjam program \"%s\" ...\n"
+
+#: login-utils/shutdown.c:463
+#, c-format
+msgid "Error executing\t%s\n"
+msgstr "Napaka pri izvajanju\t%s\n"
+
+#: login-utils/shutdown.c:490
+#, c-format
+msgid "URGENT: broadcast message from %s:"
+msgstr "NUJNO: oddaj sporoèilo iz %s:"
+
+#: login-utils/shutdown.c:496
+#, c-format
+msgid "System going down in %d hours %d minutes"
+msgstr "Sistem se bo ustavil èez %d ur in %d minut."
+
+#: login-utils/shutdown.c:499
+#, c-format
+msgid "System going down in 1 hour %d minutes"
+msgstr "Sistem se bo ustavil èez eno uro in %d minut."
+
+#: login-utils/shutdown.c:502
+#, c-format
+msgid "System going down in %d minutes\n"
+msgstr "Sistem se bo ustavil èez %d minut.\n"
+
+#: login-utils/shutdown.c:505
+#, c-format
+msgid "System going down in 1 minute\n"
+msgstr "Sistem se bo ustavil èez eno minuto.\n"
+
+#: login-utils/shutdown.c:507
+#, c-format
+msgid "System going down IMMEDIATELY!\n"
+msgstr "Sistem se ustavlja ZDAJ.\n"
+
+#: login-utils/shutdown.c:512
+#, c-format
+msgid "\t... %s ...\n"
+msgstr "\t... %s ...\n"
+
+#: login-utils/shutdown.c:569
+msgid "Cannot fork for swapoff. Shrug!"
+msgstr "Ni mogoèe vejiti za izkluèitev izmenjalnega prostora."
+
+#: login-utils/shutdown.c:577
+msgid "Cannot exec swapoff, hoping umount will do the trick."
+msgstr ""
+"izkljuèitve izmenjalnega prostora ni mogoèe izvesti, upam, da bo umount uspel"
+
+#: login-utils/shutdown.c:596
+msgid "Cannot fork for umount, trying manually."
+msgstr "Umount vejitev ni uspela, poizku¹am roèno"
+
+#: login-utils/shutdown.c:605
+#, c-format
+msgid "Cannot exec %s, trying umount.\n"
+msgstr "Ni moè izvesti %s, posku¹am z umount.\n"
+
+#: login-utils/shutdown.c:609
+msgid "Cannot exec umount, giving up on umount."
+msgstr "Ni moè izvesti umount, nadaljni poskusi opu¹èeni."
+
+#: login-utils/shutdown.c:614
+msgid "Unmounting any remaining filesystems..."
+msgstr "Odklapljam preostale datoteène sisteme..."
+
+#: login-utils/shutdown.c:661
+#, c-format
+msgid "shutdown: Couldn't umount %s: %s\n"
+msgstr "shutdown: Umount ni uspel z %s: %s\n"
+
+#: login-utils/simpleinit.c:132
+msgid "Booting to single user mode.\n"
+msgstr "Zagon v enouporabni¹kem naèinu.\n"
+
+#: login-utils/simpleinit.c:136
+msgid "exec of single user shell failed\n"
+msgstr "izvedba enouporabni¹ke lupine ni uspela\n"
+
+#: login-utils/simpleinit.c:140
+msgid "fork of single user shell failed\n"
+msgstr "vejitev enouporabni¹ke lupine ni uspela\n"
+
+#: login-utils/simpleinit.c:208
+msgid "error opening fifo\n"
+msgstr "napaka pri odpiranju fifo\n"
+
+#: login-utils/simpleinit.c:212
+msgid "error setting close-on-exec on /dev/initctl"
+msgstr "napaka pri nastavljanju zapiranja pri izvr¹itvi na /dev/initctl"
+
+#: login-utils/simpleinit.c:259
+msgid "error running finalprog\n"
+msgstr "napaka med izvajanjem poslednjega programa\n"
+
+#: login-utils/simpleinit.c:263
+msgid "error forking finalprog\n"
+msgstr "napak pri vejitvi poslednjega programa\n"
+
+#: login-utils/simpleinit.c:345
+msgid ""
+"\n"
+"Wrong password.\n"
+msgstr ""
+"\n"
+"Napaèno geslo.\n"
+
+#: login-utils/simpleinit.c:418
+msgid "lstat of path failed\n"
+msgstr "lstat imenika ni uspel\n"
+
+#: login-utils/simpleinit.c:426
+msgid "stat of path failed\n"
+msgstr "stat imenika ni uspel\n"
+
+#: login-utils/simpleinit.c:434
+msgid "open of directory failed\n"
+msgstr "open imenika ni uspel\n"
+
+#: login-utils/simpleinit.c:501
+#, c-format
+msgid "respawning: \"%s\" too fast: quenching entry\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:509
+msgid "fork failed\n"
+msgstr "vejitev ni uspela\n"
+
+#: login-utils/simpleinit.c:540 text-utils/more.c:1629
+msgid "exec failed\n"
+msgstr "zagon ni uspel\n"
+
+#: login-utils/simpleinit.c:564
+msgid "cannot open inittab\n"
+msgstr "inittab ni mogoèe odpreti\n"
+
+#: login-utils/simpleinit.c:631
+msgid "no TERM or cannot stat tty\n"
+msgstr "ni terminala ali ni mogoèe dostopati do tty\n"
+
+#: login-utils/simpleinit.c:938
+#, fuzzy, c-format
+msgid "error stopping service: \"%s\"\n"
+msgstr "napaka pri zaustavljanju storitve: \"%s\""
+
+#: login-utils/simpleinit.c:950
+#, fuzzy, c-format
+msgid "Stopped service: %s\n"
+msgstr "napaka pri zaustavljanju storitve: \"%s\""
+
+#: login-utils/simpleinit.c:1070
+#, fuzzy, c-format
+msgid "error running programme: \"%s\"\n"
+msgstr "napaka med izvajanjem poslednjega programa\n"
+
+#: login-utils/ttymsg.c:75
+msgid "too many iov's (change code in wall/ttymsg.c)"
+msgstr "preveè iov-jev (spremeni kodo v wall/ttymsg.c)"
+
+#: login-utils/ttymsg.c:85
+#, c-format
+msgid "excessively long line arg"
+msgstr "prekoraèitev dol¾ine vrstice argumenta"
+
+#: login-utils/ttymsg.c:140
+#, c-format
+msgid "cannot fork"
+msgstr "vejitev ni mogoèa"
+
+#: login-utils/ttymsg.c:144
+#, c-format
+msgid "fork: %s"
+msgstr "vejitev: %s"
+
+#: login-utils/ttymsg.c:174
+#, c-format
+msgid "%s: BAD ERROR"
+msgstr "%s RESNA NAPAKA"
+
+#: login-utils/vipw.c:143
+#, fuzzy, c-format
+msgid "%s: the password file is busy.\n"
+msgstr "%s: datoteka skupine je v rabi.\n"
+
+#: login-utils/vipw.c:146
+#, c-format
+msgid "%s: the group file is busy.\n"
+msgstr "%s: datoteka skupine je v rabi.\n"
+
+#: login-utils/vipw.c:162
+#, c-format
+msgid "%s: the %s file is busy (%s present)\n"
+msgstr "%s: datoteka %s je v rabi (%s dosegljiva)\n"
+
+#: login-utils/vipw.c:168
+#, c-format
+msgid "%s: can't link %s: %s\n"
+msgstr "%s: ni mogoèe povezati %s: %s\n"
+
+#: login-utils/vipw.c:202
+#, c-format
+msgid "%s: Can't get context for %s"
+msgstr "%s: Ni mogoèe dobiti zveze za %s"
+
+#: login-utils/vipw.c:208
+#, c-format
+msgid "%s: Can't set context for %s"
+msgstr "%s: Ni mogoèe nastaviti uporabni¹ke zveze za %s"
+
+#: login-utils/vipw.c:217
+#, c-format
+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"
+
+#: login-utils/vipw.c:240
+#, c-format
+msgid "%s: Cannot fork\n"
+msgstr "%s: Ni mogoèe vejiti\n"
+
+#: login-utils/vipw.c:276
+#, c-format
+msgid "%s: %s unchanged\n"
+msgstr "%s: %s ni spremenjeno\n"
+
+#: login-utils/vipw.c:297
+#, c-format
+msgid "%s: no changes made\n"
+msgstr "%s: brez sprememb\n"
+
+#: login-utils/vipw.c:350
+#, 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:351
+#, c-format
+msgid "You are using shadow passwords on this system.\n"
+msgstr "Na tem sistemu uporabljate zasenèena gesla.\n"
+
+#: login-utils/vipw.c:352
+#, c-format
+msgid "Would you like to edit %s now [y/n]? "
+msgstr "Ali ¾elite a¾urirati %s [y/n]? "
+
+#: login-utils/wall.c:112
+#, c-format
+msgid "usage: %s [file]\n"
+msgstr "uporaba: %s [datoteka]\n"
+
+#: login-utils/wall.c:167
+#, c-format
+msgid "%s: can't open temporary file.\n"
+msgstr "%s: zaèasne datoteke ni mogoèe odpreti.\n"
+
+#: login-utils/wall.c:194
+#, c-format
+msgid "Broadcast Message from %s@%s"
+msgstr "Prejeto sporoèilo od %s@%s"
+
+#: login-utils/wall.c:212
+#, c-format
+msgid "%s: will not read %s - use stdin.\n"
+msgstr "%s: %s ne bo prebran - uporabi stdin.\n"
+
+#: login-utils/wall.c:217
+#, c-format
+msgid "%s: can't read %s.\n"
+msgstr "%s %s ni mogoèe brati.\n"
+
+#: login-utils/wall.c:240
+#, c-format
+msgid "%s: can't stat temporary file.\n"
+msgstr "%s ni mogoèe dobiti stanja zaèasne datoteke.\n"
+
+#: login-utils/wall.c:250
+#, c-format
+msgid "%s: can't read temporary file.\n"
+msgstr "%s: ni mogoèe brati iz zaèasne datoteke.\n"
+
+#: misc-utils/cal.c:362 misc-utils/cal.c:374
+#, fuzzy, c-format
+msgid "illegal day value: use 1-%d"
+msgstr "neveljavna vrednost leta: uporabite 1-9999"
+
+#: misc-utils/cal.c:366
+msgid "illegal month value: use 1-12"
+msgstr "neveljavna vrednost meseca: uporabite 1-12"
+
+#: misc-utils/cal.c:370
+msgid "illegal year value: use 1-9999"
+msgstr "neveljavna vrednost leta: uporabite 1-9999"
+
+#: misc-utils/cal.c:464
+#, c-format
+msgid "%s %d"
+msgstr "%s %d"
+
+#: misc-utils/cal.c:856
+#, fuzzy, c-format
+msgid "usage: cal [-13smjyV] [[[day] month] year]\n"
+msgstr "uporaba: cal [-13smjyV] [[mesec] leto]\n"
+
+#: misc-utils/ddate.c:203
+#, c-format
+msgid "usage: %s [+format] [day month year]\n"
+msgstr "uporaba: %s [+format] [dan mesec leto]\n"
+
+#: misc-utils/ddate.c:250
+msgid "St. Tib's Day"
+msgstr "Dan st. Tiba"
+
+#: misc-utils/findfs.c:24
+#, c-format
+msgid "Usage: %s LABEL=<label>|UUID=<uuid>\n"
+msgstr ""
+
+#: misc-utils/findfs.c:55
+#, fuzzy, c-format
+msgid "unable to resolve '%s'"
+msgstr "ni mogoèe odpreti %s"
+
+#: misc-utils/kill.c:207
+#, c-format
+msgid "%s: unknown signal %s\n"
+msgstr "%s: neznan signal %s\n"
+
+#: misc-utils/kill.c:270
+#, c-format
+msgid "%s: can't find process \"%s\"\n"
+msgstr "%s: procesa ni mogoèe najti \"%s\"\n"
+
+#: misc-utils/kill.c:314
+#, c-format
+msgid "%s: unknown signal %s; valid signals:\n"
+msgstr "%s: neznan signal %s; veljavni signali:\n"
+
+#: misc-utils/kill.c:354
+#, c-format
+msgid "usage: %s [ -s signal | -p ] [ -a ] pid ...\n"
+msgstr "uporaba: %s [ -s signal | -p ] [ -a ] pid ...\n"
+
+#: misc-utils/kill.c:355
+#, c-format
+msgid "       %s -l [ signal ]\n"
+msgstr "\t%s -l [signal ]\n"
+
+#: misc-utils/logger.c:67
+#, fuzzy, c-format
+msgid "logger: openlog: pathname too long\n"
+msgstr "Prijavno ime je predolgo.\n"
+
+#: misc-utils/logger.c:75
+#, fuzzy, c-format
+msgid "socket: %s.\n"
+msgstr "Velikost bloka: %d\n"
+
+#: misc-utils/logger.c:80
+#, c-format
+msgid "connect: %s.\n"
+msgstr ""
+
+#: misc-utils/logger.c:139
+#, c-format
+msgid "logger: %s: %s.\n"
+msgstr "logger: %s: %s.\n"
+
+#: misc-utils/logger.c:246
+#, c-format
+msgid "logger: unknown facility name: %s.\n"
+msgstr "logger: neznano ime poslopja[facility]: %s.\n"
+
+#: misc-utils/logger.c:258
+#, c-format
+msgid "logger: unknown priority name: %s.\n"
+msgstr "logger: neznano prednostno ime: %s.\n"
+
+#: misc-utils/logger.c:285
+#, c-format
+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"
+
+#: misc-utils/look.c:351
+#, c-format
+msgid "usage: look [-dfa] [-t char] string [file]\n"
+msgstr "uporaba: look [-dfa] [-t znak] niz [datoteka]\n"
+
+#: misc-utils/mcookie.c:105 misc-utils/mcookie.c:132
+#, c-format
+msgid "Could not open %s\n"
+msgstr "Ni mogoèe odpreti %s\n"
+
+#: misc-utils/mcookie.c:109 misc-utils/mcookie.c:128
+#, c-format
+msgid "Got %d bytes from %s\n"
+msgstr "Dobljenih %d bajtov od %s\n"
+
+#: misc-utils/namei.c:144 misc-utils/namei.c:198 misc-utils/namei.c:220
+#: misc-utils/namei.c:227 misc-utils/namei.c:248
+#, fuzzy
+msgid "out of memory?"
+msgstr "je zmanjkalo pomnilnika?\n"
+
+#: misc-utils/namei.c:189
+#, fuzzy, c-format
+msgid "failed to read symlink: %s"
+msgstr "klic ioctl() ni uspel prebrati èasa iz %s"
+
+#: misc-utils/namei.c:229
+#, fuzzy, c-format
+msgid "could not stat '%s'"
+msgstr "stanja naprave %s ni mogoèe dobiti"
+
+#: misc-utils/namei.c:411
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage: %s [options] pathname [pathname ...]\n"
+msgstr "uporaba: namei [-mx] imenik [imenik ...]\n"
+
+#: misc-utils/namei.c:412
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"%d razdelkov:\n"
+
+#: misc-utils/namei.c:415
+#, c-format
+msgid ""
+" -h, --help          displays this help text\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:423
+#, c-format
+msgid ""
+"\n"
+"For more information see namei(1).\n"
+msgstr ""
+
+#: misc-utils/namei.c:484
+#, fuzzy, c-format
+msgid "failed to stat: %s"
+msgstr "stanja %s ni mogoèe dobiti"
+
+#: misc-utils/namei.c:495
+#, c-format
+msgid "%s: exceeded limit of symlinks"
+msgstr ""
+
+#: misc-utils/rename.c:38
+#, c-format
+msgid "%s: out of memory\n"
+msgstr "%s: zmanjkalo pomnilnika\n"
+
+#: misc-utils/rename.c:56
+#, c-format
+msgid "%s: renaming %s to %s failed: %s\n"
+msgstr "%s: preimenovanje %s na %s ni uspelo: %s\n"
+
+#: misc-utils/rename.c:86
+#, c-format
+msgid "call: %s from to files...\n"
+msgstr "klic: %s iz na datoteke...\n"
+
+#: misc-utils/script.c:110
+#, c-format
+msgid ""
+"Warning: `%s' is a link.\n"
+"Use `%s [options] %s' if you really want to use it.\n"
+"Script not started.\n"
+msgstr ""
+"Opozorilo: `%s' je povezava.\n"
+"Uporabite `%s [izbire] %s' èe jo ¾elite uporabiti.\n"
+"Skript ni bil izvr¹en.\n"
+
+#: misc-utils/script.c:173
+#, c-format
+msgid "usage: script [-a] [-f] [-q] [-t] [file]\n"
+msgstr "uporaba: script [-a] [-f] [-q] [-t] [datoteka]\n"
+
+#: misc-utils/script.c:196
+#, c-format
+msgid "Script started, file is %s\n"
+msgstr "Script se je zaèel, dat. je %s\n"
+
+#: misc-utils/script.c:244
+#, fuzzy, c-format
+msgid "%s: write error %d: %s\n"
+msgstr "napaka pri pisanju na %s\n"
+
+#: misc-utils/script.c:304
+#, c-format
+msgid "Script started on %s"
+msgstr "Script se je zaèel na %s"
+
+#: misc-utils/script.c:347
+#, fuzzy, c-format
+msgid "%s: write error: %s\n"
+msgstr "napaka pri pisanju na %s\n"
+
+#: misc-utils/script.c:354
+#, fuzzy, c-format
+msgid "%s: cannot write script file, error: %s\n"
+msgstr "%s: za %s ni mogoèe najti naprave\n"
+
+#: misc-utils/script.c:430
+#, c-format
+msgid ""
+"\n"
+"Script done on %s"
+msgstr ""
+"\n"
+"Script konèan na %s"
+
+#: misc-utils/script.c:437
+#, c-format
+msgid "Script done, file is %s\n"
+msgstr "Script konèan, dat. je %s\n"
+
+#: misc-utils/script.c:448
+#, c-format
+msgid "openpty failed\n"
+msgstr "openpty ni uspel\n"
+
+#: misc-utils/script.c:482
+#, c-format
+msgid "Out of pty's\n"
+msgstr "Zmanjkalo pty-jev\n"
+
+#: misc-utils/scriptreplay.c:38
+#, c-format
+msgid "%s <timingfile> [<typescript> [<divisor>]]\n"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:53
+#, c-format
+msgid "expected a number, but got '%s'"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:56 misc-utils/scriptreplay.c:60
+#, c-format
+msgid "divisor '%s'"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:104
+#, fuzzy
+msgid "write to stdout failed"
+msgstr "Odpiranje %s ni uspelo"
+
+#: misc-utils/scriptreplay.c:110
+#, c-format
+msgid "unexpected end of file on %s"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:112
+#, fuzzy, c-format
+msgid "failed to read typescript file %s"
+msgstr "klic ioctl() ni uspel prebrati èasa iz %s"
+
+#: misc-utils/scriptreplay.c:145
+#, fuzzy, c-format
+msgid "cannot open timing file %s"
+msgstr "Datoteke ,%s` ni mogoèe odpreti"
+
+#: misc-utils/scriptreplay.c:148
+#, fuzzy, c-format
+msgid "cannot open typescript file %s"
+msgstr "Datoteke ,%s` ni mogoèe odpreti"
+
+#: misc-utils/scriptreplay.c:164
+#, fuzzy, c-format
+msgid "failed to read timing file %s"
+msgstr "klic ioctl() ni uspel prebrati èasa iz %s"
+
+#: misc-utils/scriptreplay.c:166
+#, fuzzy, c-format
+msgid "timings file %s: %lu: unexpected format"
+msgstr "%s: Neprièakovan konec datoteke v %s\n"
+
+#: misc-utils/setterm.c:763
+#, c-format
+msgid "%s: Argument error, usage\n"
+msgstr "%s: Napake pri izbiri, uporabi\n"
+
+#: misc-utils/setterm.c:766
+#, c-format
+msgid "  [ -term terminal_name ]\n"
+msgstr "  [ -term ime_terminala ]\n"
+
+#: misc-utils/setterm.c:767
+#, c-format
+msgid "  [ -reset ]\n"
+msgstr "  [ -reset ]\n"
+
+#: misc-utils/setterm.c:768
+#, c-format
+msgid "  [ -initialize ]\n"
+msgstr "  [ -initialize ]\n"
+
+#: misc-utils/setterm.c:769
+#, c-format
+msgid "  [ -cursor [on|off] ]\n"
+msgstr "  [ -cursor [on|off] ]\n"
+
+#: misc-utils/setterm.c:771
+#, c-format
+msgid "  [ -snow [on|off] ]\n"
+msgstr "  [-snow [on|off] ]\n"
+
+#: misc-utils/setterm.c:772
+#, c-format
+msgid "  [ -softscroll [on|off] ]\n"
+msgstr "  [ -softscroll [on|off] ]\n"
+
+#: misc-utils/setterm.c:774
+#, c-format
+msgid "  [ -repeat [on|off] ]\n"
+msgstr "  [ -repeat [on|off] ]\n"
+
+#: misc-utils/setterm.c:775
+#, c-format
+msgid "  [ -appcursorkeys [on|off] ]\n"
+msgstr "  [ -appcursorkeys [on|off] ]\n"
+
+#: misc-utils/setterm.c:776
+#, c-format
+msgid "  [ -linewrap [on|off] ]\n"
+msgstr "  [ -linewrap [on|off] ]\n"
+
+#: misc-utils/setterm.c:777
+#, c-format
+msgid "  [ -default ]\n"
+msgstr "  [ -default ]\n"
+
+#: misc-utils/setterm.c:778
+#, c-format
+msgid "  [ -foreground black|blue|green|cyan"
+msgstr "  [ -foreground black|blue|green|cyan"
+
+#: misc-utils/setterm.c:779 misc-utils/setterm.c:781
+#, c-format
+msgid "|red|magenta|yellow|white|default ]\n"
+msgstr "|red|magenta|yellow|white|default ]\n"
+
+#: misc-utils/setterm.c:780
+#, c-format
+msgid "  [ -background black|blue|green|cyan"
+msgstr "  [ -background black|blue|green|cyan"
+
+#: misc-utils/setterm.c:782
+#, c-format
+msgid "  [ -ulcolor black|grey|blue|green|cyan"
+msgstr "  [ -ulcolor black|grey|blue|green|cyan"
+
+#: misc-utils/setterm.c:783 misc-utils/setterm.c:785 misc-utils/setterm.c:787
+#: misc-utils/setterm.c:789
+#, c-format
+msgid "|red|magenta|yellow|white ]\n"
+msgstr "|red|magenta|yellow|white ]\n"
+
+#: misc-utils/setterm.c:784
+#, c-format
+msgid "  [ -ulcolor bright blue|green|cyan"
+msgstr "  [ -ulcolor bright blue|green|cyan"
+
+#: misc-utils/setterm.c:786
+#, c-format
+msgid "  [ -hbcolor black|grey|blue|green|cyan"
+msgstr "  [ -hbcolor black|grey|blue|green|cyan"
+
+#: misc-utils/setterm.c:788
+#, c-format
+msgid "  [ -hbcolor bright blue|green|cyan"
+msgstr "  [ -hbcolor bright blue|green|cyan"
+
+#: misc-utils/setterm.c:791
+#, c-format
+msgid "  [ -standout [ attr ] ]\n"
+msgstr "  [ -standout [ atribut ]\n"
+
+#: misc-utils/setterm.c:793
+#, c-format
+msgid "  [ -inversescreen [on|off] ]\n"
+msgstr "  [ -inversescreen [on|off] ]\n"
+
+#: misc-utils/setterm.c:794
+#, c-format
+msgid "  [ -bold [on|off] ]\n"
+msgstr "  [ -bold [on|off] ]\n"
+
+#: misc-utils/setterm.c:795
+#, c-format
+msgid "  [ -half-bright [on|off] ]\n"
+msgstr "  [ -half-bright [on|off] ]\n"
+
+#: misc-utils/setterm.c:796
+#, c-format
+msgid "  [ -blink [on|off] ]\n"
+msgstr "  [ -blink [on|off] ]\n"
+
+#: misc-utils/setterm.c:797
+#, c-format
+msgid "  [ -reverse [on|off] ]\n"
+msgstr "  [ -reverse [on|off] ]\n"
+
+#: misc-utils/setterm.c:798
+#, c-format
+msgid "  [ -underline [on|off] ]\n"
+msgstr "  [ -underline [on|off] ]\n"
+
+#: misc-utils/setterm.c:799
+#, c-format
+msgid "  [ -store ]\n"
+msgstr "  [ -store ]\n"
+
+#: misc-utils/setterm.c:800
+#, c-format
+msgid "  [ -clear [all|rest] ]\n"
+msgstr "  [ -clear [all|rest] ]\n"
+
+#: misc-utils/setterm.c:801
+#, c-format
+msgid "  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n"
+msgstr "  [ -tabs [ tab1 tab2 ... ] ]        (¹t. tab-ov = 1-160)\n"
+
+#: misc-utils/setterm.c:802
+#, c-format
+msgid "  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n"
+msgstr "  [ -clrtabs [ tab1 tab2 ... ] ]     (¹t. tab-ov = 1-160)\n"
+
+#: misc-utils/setterm.c:803
+#, c-format
+msgid "  [ -regtabs [1-160] ]\n"
+msgstr "  [ -regtabs [1-160] ]\n"
+
+#: misc-utils/setterm.c:804
+#, fuzzy, c-format
+msgid "  [ -blank [0-60|force|poke] ]\n"
+msgstr "  [ -blank [0-60] ]\n"
+
+#: misc-utils/setterm.c:805
+#, c-format
+msgid "  [ -dump   [1-NR_CONSOLES] ]\n"
+msgstr "  [ -dump   [1-©T_UPRAVLJALNIKOV] ]\n"
+
+#: misc-utils/setterm.c:806
+#, c-format
+msgid "  [ -append [1-NR_CONSOLES] ]\n"
+msgstr "  [ -append [1-©T_UPRAVLJALNIKOV] ]\n"
+
+#: misc-utils/setterm.c:807
+#, c-format
+msgid "  [ -file dumpfilename ]\n"
+msgstr "  [ -file izhodna_dat ]\n"
+
+#: misc-utils/setterm.c:808
+#, c-format
+msgid "  [ -msg [on|off] ]\n"
+msgstr "  [ -msg [on|off] ]\n"
+
+#: misc-utils/setterm.c:809
+#, c-format
+msgid "  [ -msglevel [0-8] ]\n"
+msgstr "  [ -msglevel [0-8] ]\n"
+
+#: misc-utils/setterm.c:810
+#, c-format
+msgid "  [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+msgstr "  [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+
+#: misc-utils/setterm.c:811
+#, c-format
+msgid "  [ -powerdown [0-60] ]\n"
+msgstr "  [ -powerdown [0-60] ]\n"
+
+#: misc-utils/setterm.c:812
+#, c-format
+msgid "  [ -blength [0-2000] ]\n"
+msgstr "  [ -blength [0-2000] ]\n"
+
+#: misc-utils/setterm.c:813
+#, c-format
+msgid "  [ -bfreq freqnumber ]\n"
+msgstr "  [ -bfreq frekvenèna_¹t. ]\n"
+
+#: misc-utils/setterm.c:1065
+#, fuzzy, c-format
+msgid "cannot force blank\n"
+msgstr "vejitev ni mogoèa"
+
+#: misc-utils/setterm.c:1069
+#, fuzzy, c-format
+msgid "cannot force unblank\n"
+msgstr "vejitev ni mogoèa"
+
+#: misc-utils/setterm.c:1075
+#, fuzzy, c-format
+msgid "cannot get blank status\n"
+msgstr "%s ne morem odpreti\n"
+
+#: misc-utils/setterm.c:1087
+#, c-format
+msgid "cannot (un)set powersave mode\n"
+msgstr "ni mogoèe nastaviti powersave naèina\n"
+
+#: misc-utils/setterm.c:1126 misc-utils/setterm.c:1134
+#, c-format
+msgid "klogctl error: %s\n"
+msgstr "klogctl napaka: %s\n"
+
+#: misc-utils/setterm.c:1200
+#, c-format
+msgid "Error writing screendump\n"
+msgstr "Napaka pri branju zaslonskega izpisa\n"
+
+#: misc-utils/setterm.c:1207
+#, fuzzy, c-format
+msgid "Couldn't read %s\n"
+msgstr "Ni mogoèe odpreti %s\n"
+
+#: misc-utils/setterm.c:1261
+#, c-format
+msgid "%s: $TERM is not defined.\n"
+msgstr "%s: $TERM ni doloèen.\n"
+
+#: misc-utils/uuidd.c:46
+#, fuzzy, c-format
+msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n"
+msgstr ""
+"uporaba: last [-#] [-f dat] [-t tty] [-h ime gostitelja] [uporabnik ...]\n"
+
+#: misc-utils/uuidd.c:48
+#, c-format
+msgid "       %s [-r|t] [-n num] [-s socketpath]\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:50
+#, fuzzy, c-format
+msgid "       %s -k\n"
+msgstr "\t%s -l [signal ]\n"
+
+#: misc-utils/uuidd.c:152
+#, fuzzy
+msgid "bad arguments"
+msgstr "col: slab argument -l: %s.\n"
+
+#: misc-utils/uuidd.c:159
+#, fuzzy
+msgid "socket"
+msgstr "nfs kanal"
+
+#: misc-utils/uuidd.c:170
+#, fuzzy
+msgid "connect"
+msgstr "nfs povezava"
+
+#: misc-utils/uuidd.c:189
+#, fuzzy
+msgid "write"
+msgstr "Zapi¹i"
+
+#: misc-utils/uuidd.c:197
+#, fuzzy
+msgid "read count"
+msgstr "beri %c\n"
+
+#: misc-utils/uuidd.c:203
+msgid "bad response length"
+msgstr ""
+
+#: misc-utils/uuidd.c:268
+#, c-format
+msgid "uuidd daemon already running at pid %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:276
+#, c-format
+msgid "Couldn't create unix stream socket: %s"
+msgstr ""
+
+#: misc-utils/uuidd.c:305
+#, fuzzy, c-format
+msgid "Couldn't bind unix socket %s: %s\n"
+msgstr "%s ni mogoèe odpreti: %s\n"
+
+#: misc-utils/uuidd.c:313
+#, fuzzy, c-format
+msgid "Couldn't listen on unix socket %s: %s\n"
+msgstr "%s ni mogoèe odpreti: %s\n"
+
+#: misc-utils/uuidd.c:351
+#, fuzzy, c-format
+msgid "Error reading from client, len = %d\n"
+msgstr "Napaka pri branju %s\n"
+
+#: misc-utils/uuidd.c:359
+#, c-format
+msgid "operation %d, incoming num = %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:378
+#, c-format
+msgid "Generated time UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:388
+#, c-format
+msgid "Generated random UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:397
+#, c-format
+msgid "Generated time UUID %s and %d following\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:415
+#, c-format
+msgid "Generated %d UUID's:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:427
+#, fuzzy, c-format
+msgid "Invalid operation %d\n"
+msgstr "neveljaven id"
+
+#: misc-utils/uuidd.c:468 misc-utils/uuidd.c:489
+#, fuzzy, c-format
+msgid "Bad number: %s\n"
+msgstr "%s: slaba vrednost\n"
+
+#: misc-utils/uuidd.c:524 misc-utils/uuidd.c:551
+#, fuzzy, c-format
+msgid "Error calling uuidd daemon (%s): %s\n"
+msgstr "Napaka pri spreminjanju naèina %s: %s\n"
+
+#: misc-utils/uuidd.c:534
+#, c-format
+msgid "%s and subsequent %d UUID's\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:536
+#, c-format
+msgid "List of UUID's:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:557
+#, c-format
+msgid "Unexpected reply length from server %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:574
+#, c-format
+msgid "Couldn't kill uuidd running at pid %d: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:580
+#, c-format
+msgid "Killed uuidd running at pid %d\n"
+msgstr ""
+
+#: misc-utils/uuidgen.c:32
+#, fuzzy, c-format
+msgid "Usage: %s [-r] [-t]\n"
+msgstr "Uporaba: %s [izbire] naprava ...\n"
+
+#: misc-utils/whereis.c:159
+#, c-format
+msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
+msgstr "whereis [ -sbmu ] [ -SBM imenik ... -f ] ime...\n"
+
+#: misc-utils/write.c:101
+#, c-format
+msgid "write: can't find your tty's name\n"
+msgstr "write: imena va¹ega tty ni mogoèe najti\n"
+
+#: misc-utils/write.c:112
+#, c-format
+msgid "write: you have write permission turned off.\n"
+msgstr "write: dovoljenje za pisanje imate izklopljeno.\n"
+
+#: misc-utils/write.c:133
+#, c-format
+msgid "write: %s is not logged in on %s.\n"
+msgstr "write: %s ni prijavljen na %s.\n"
+
+#: misc-utils/write.c:141
+#, c-format
+msgid "write: %s has messages disabled on %s\n"
+msgstr "write: %s ima onemogoèena sporoèila na %s\n"
+
+#: misc-utils/write.c:148
+#, c-format
+msgid "usage: write user [tty]\n"
+msgstr "uporaba: write uporabnik [tty]\n"
+
+#: misc-utils/write.c:236
+#, c-format
+msgid "write: %s is not logged in\n"
+msgstr "write: %s se ni prijavljen\n"
+
+#: misc-utils/write.c:245
+#, c-format
+msgid "write: %s has messages disabled\n"
+msgstr "write: %s ima onemogoèena sporoèila\n"
+
+#: misc-utils/write.c:249
+#, c-format
+msgid "write: %s is logged in more than once; writing to %s\n"
+msgstr "write: %s se je prijavil veè kot enkrat; pi¹em v %s\n"
+
+#: misc-utils/write.c:317
+#, 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 ..."
+
+#: misc-utils/write.c:320
+#, c-format
+msgid "Message from %s@%s on %s at %s ..."
+msgstr "Sporoèilo iz %s@%s na %s pri %s ..."
+
+#: mount/fstab.c:143
+#, c-format
+msgid "warning: error reading %s: %s"
+msgstr "opozorilo: napaka pri branju %s: %s"
+
+#: mount/fstab.c:171 mount/fstab.c:196
+#, c-format
+msgid "warning: can't open %s: %s"
+msgstr "opozorilo: ne morem odpreti %s: %s"
+
+#: mount/fstab.c:176
+#, 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/fstab.c:589
+#, 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/fstab.c:615
+#, 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/fstab.c:631
+#, 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/fstab.c:646
+#, c-format
+msgid "Can't lock lock file %s: %s\n"
+msgstr "Omejitvene datoteke %s ni mogoèe zakleniti: %s\n"
+
+#: mount/fstab.c:660
+#, c-format
+msgid "can't lock lock file %s: %s"
+msgstr "omejitvene datoteke %s ni mogoèe zakleniti: %s"
+
+#: mount/fstab.c:662
+msgid "timed out"
+msgstr "èas se je iztekel"
+
+#: mount/fstab.c:669
+#, 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/fstab.c:791 mount/fstab.c:846
+#, c-format
+msgid "cannot open %s (%s) - mtab not updated"
+msgstr "%s ni mogoèe odpreti (%s) - mtab ni a¾uriran"
+
+#: mount/fstab.c:855
+#, c-format
+msgid "error writing %s: %s"
+msgstr "napaka pri pisanju %s: %s"
+
+#: mount/fstab.c:873
+#, c-format
+msgid "error changing mode of %s: %s\n"
+msgstr "Napaka pri spreminjanju naèina %s: %s\n"
+
+#: mount/fstab.c:886
+#, fuzzy, c-format
+msgid "error changing owner of %s: %s\n"
+msgstr "Napaka pri spreminjanju naèina %s: %s\n"
+
+#: mount/fstab.c:897
+#, c-format
+msgid "can't rename %s to %s: %s\n"
+msgstr "ni mogoèe preimenovati %s v %s: %s\n"
+
+#: mount/lomount.c:364
+#, fuzzy, c-format
+msgid "loop: can't set capacity on device %s: %s\n"
+msgstr "loop: informacij o napravi %s ni mogoèe dobiti: %s\n"
+
+#: mount/lomount.c:388
+#, fuzzy, c-format
+msgid ", offset %<PRIu64>"
+msgstr ", odmik %d"
+
+#: mount/lomount.c:391
+#, fuzzy, c-format
+msgid ", sizelimit %<PRIu64>"
+msgstr ", omejitev_velikosti %lld"
+
+#: mount/lomount.c:399
+#, fuzzy, c-format
+msgid ", encryption %s (type %<PRIu32>)"
+msgstr ", ¹ifriranje %s (tip %d)"
+
+#: mount/lomount.c:412
+#, c-format
+msgid ", offset %d"
+msgstr ", odmik %d"
+
+#: mount/lomount.c:415
+#, c-format
+msgid ", encryption type %d\n"
+msgstr ", ¹ifrirni tip %d\n"
+
+#: mount/lomount.c:423
+#, c-format
+msgid "loop: can't get info on device %s: %s\n"
+msgstr "loop: informacij o napravi %s ni mogoèe dobiti: %s\n"
+
+#: mount/lomount.c:434
+#, c-format
+msgid "loop: can't open device %s: %s\n"
+msgstr "loop: ni mogoèe odpreti naprave %s: %s\n"
+
+#: mount/lomount.c:450 mount/lomount.c:482 mount/lomount.c:544
+#: mount/lomount.c:589
+#, fuzzy, c-format
+msgid "%s: /dev directory does not exist."
+msgstr "%s: uporabnik \"%s\" ne obstja.\n"
+
+#: mount/lomount.c:461 mount/lomount.c:602
+#, fuzzy, c-format
+msgid "%s: no permission to look at /dev/loop%s<N>"
+msgstr "%s: za vpogled v /dev/loop# ni dovoljenja"
+
+#: mount/lomount.c:605
+#, fuzzy, c-format
+msgid "%s: could not find any free loop device"
+msgstr "%s: iskanje proste loop naprave ni bilo uspe¹no\n"
+
+#: mount/lomount.c:608
+#, c-format
+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'.)"
+
+#: mount/lomount.c:638
+#, fuzzy
+msgid "Out of memory while reading passphrase"
+msgstr "Pri poveèevanju medpomnilnika je zmanjkalo pomnilnika.\n"
+
+#: mount/lomount.c:681
+#, fuzzy, c-format
+msgid "warning: %s is already associated with %s\n"
+msgstr "Sektor %d je ¾e dodeljen\n"
+
+#: mount/lomount.c:697
+#, fuzzy, c-format
+msgid "warning: %s: is write-protected, using read-only.\n"
+msgstr "mount: %s%s je za¹èitena pred pisanjem, priklapljam samo za branje"
+
+#: mount/lomount.c:733
+#, c-format
+msgid "Couldn't lock into memory, exiting.\n"
+msgstr "V pomnilnik ni mogoèe zakleniti, konèujem.\n"
+
+#: mount/lomount.c:760
+#, c-format
+msgid "ioctl LOOP_SET_FD failed: %s\n"
+msgstr ""
+
+#: mount/lomount.c:817
+#, fuzzy, c-format
+msgid "set_loop(%s,%s,%llu,%llu): success\n"
+msgstr "set_loop(%s,%s,%llu): uspeh\n"
+
+#: mount/lomount.c:838
+#, c-format
+msgid "del_loop(%s): success\n"
+msgstr "del_loop(%s): uspeh\n"
+
+#: mount/lomount.c:842
+#, c-format
+msgid "loop: can't delete device %s: %s\n"
+msgstr "loop: naprave %s ni mogoèe zbrisati: %s\n"
+
+#: mount/lomount.c:853
+#, c-format
+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"
+
+#: mount/lomount.c:888
+#, fuzzy, c-format
+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 ""
+"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"
+
+#: mount/lomount.c:898
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -e | --encryption <type> enable data encryption with specified <name/num>\n"
+" -h | --help              this help\n"
+" -o | --offset <num>      start at offset <num> into file\n"
+"      --sizelimit <num>   loop limited to only <num> bytes of the file\n"
+" -p | --pass-fd <num>     read passphrase from file descriptor <num>\n"
+" -r | --read-only         setup read-only loop device\n"
+"      --show              print device name (with -f <file>)\n"
+" -v | --verbose           verbose mode\n"
+"\n"
+msgstr ""
+
+#: mount/lomount.c:1036 mount/lomount.c:1076
+#, fuzzy, c-format
+msgid "Loop device is %s\n"
+msgstr "loop: ni mogoèe odpreti naprave %s: %s\n"
+
+#: mount/lomount.c:1063
+#, c-format
+msgid "stolen loop=%s...trying again\n"
+msgstr ""
+
+#: mount/lomount.c:1073
+#, fuzzy, c-format
+msgid "%s: %s: device is busy"
+msgstr "umount: %s: naprava je zaposlena"
+
+#: mount/lomount.c:1090
+#, c-format
+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"
+
+#: mount/mount.c:329
+#, c-format
+msgid "mount: improperly quoted option string '%s'"
+msgstr ""
+
+#: mount/mount.c:362
+#, fuzzy, c-format
+msgid "mount: translated %s '%s' to '%s'\n"
+msgstr "mount: %s ni mogoèe najti v %s ali %s"
+
+#: mount/mount.c:526
+#, 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/mount.c:531
+#, c-format
+msgid "mount: according to mtab, %s is mounted on %s"
+msgstr "mount: po evidenci mtab je %s priklopljeno na %s<"
+
+#: mount/mount.c:555
+#, c-format
+msgid "mount: can't open %s for writing: %s"
+msgstr "mount: enote %s ni moè odpreti za pisanje: %s"
+
+#: mount/mount.c:572 mount/mount.c:1190
+#, c-format
+msgid "mount: error writing %s: %s"
+msgstr "mount: napaka pri pisanju na %s: %s"
+
+#: mount/mount.c:580
+#, c-format
+msgid "mount: error changing mode of %s: %s"
+msgstr "mount: napaka pri spreminjanju naèina %s: %s"
+
+#: mount/mount.c:663
+#, fuzzy, c-format
+msgid "mount: cannot set group id: %s"
+msgstr "mount: hitrosti ni mogoèe nastaviti: %s"
+
+#: mount/mount.c:666
+#, fuzzy, c-format
+msgid "mount: cannot set user id: %s"
+msgstr "mount: hitrosti ni mogoèe nastaviti: %s"
+
+#: mount/mount.c:705 mount/mount.c:1809
+#, c-format
+msgid "mount: cannot fork: %s"
+msgstr "mount: ni mogoèe vejiti: %s"
+
+#: mount/mount.c:842
+#, c-format
+msgid "Trying %s\n"
+msgstr "Posku¹am z %s\n"
+
+#: mount/mount.c:870
+#, 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/mount.c:873
+#, 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/mount.c:876
+#, c-format
+msgid "       and it looks like this is swapspace\n"
+msgstr "\tin izgleda kot da je izmenjalni prostor\n"
+
+#: mount/mount.c:878
+#, c-format
+msgid "       I will try type %s\n"
+msgstr "\tUporabljen bo tip %s\n"
+
+#: mount/mount.c:902
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr "%s je podoben izmenjalnemu prostoru, zato ne bo priklopljen"
+
+#: mount/mount.c:993
+msgid "mount failed"
+msgstr "priklop ni uspel"
+
+#: mount/mount.c:995
+#, c-format
+msgid "mount: only root can mount %s on %s"
+msgstr "mount: samo sistemski skrbnik lahko priklopi %s na %s"
+
+#: mount/mount.c:1065
+msgid "mount: loop device specified twice"
+msgstr "mount: loop naprava je podana dvakrat"
+
+#: mount/mount.c:1070
+msgid "mount: type specified twice"
+msgstr "mount: tip je podan dvakrat"
+
+#: mount/mount.c:1082
+#, c-format
+msgid "mount: skipping the setup of a loop device\n"
+msgstr "mount: nastavitev loop naprave bo preskoèena\n"
+
+#: mount/mount.c:1094
+#, 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/mount.c:1104
+#, c-format
+msgid "mount: going to use the loop device %s\n"
+msgstr "mount: loop naprava %s bo uporabljena\n"
+
+#: mount/mount.c:1113
+#, c-format
+msgid "mount: stolen loop=%s ...trying again\n"
+msgstr ""
+
+#: mount/mount.c:1118
+#, fuzzy, c-format
+msgid "mount: stolen loop=%s"
+msgstr "umount: %s: %s"
+
+#: mount/mount.c:1123
+#, c-format
+msgid "mount: failed setting up loop device\n"
+msgstr "mount: nastavitev loop naprave ni uspela\n"
+
+#: mount/mount.c:1134
+#, c-format
+msgid "mount: setup loop device successfully\n"
+msgstr "mount: nastavitev loop naprave je uspela\n"
+
+#: mount/mount.c:1168
+#, c-format
+msgid "mount: no %s found - creating it..\n"
+msgstr "mount: %s bo ustvarjen, ker ga nisem na¹el\n"
+
+#: mount/mount.c:1185
+#, c-format
+msgid "mount: can't open %s: %s"
+msgstr "mount: %s ni mogoèe odpreti: %s"
+
+#: mount/mount.c:1206
+msgid "mount: argument to -p or --pass-fd must be a number"
+msgstr "mount: argument pri -p ali --pass-fd mora biti ¹tevilka"
+
+#: mount/mount.c:1219
+#, c-format
+msgid "mount: cannot open %s for setting speed"
+msgstr "mount: %s ni mogoèe odpreti za nastavitev hitrosti"
+
+#: mount/mount.c:1222
+#, c-format
+msgid "mount: cannot set speed: %s"
+msgstr "mount: hitrosti ni mogoèe nastaviti: %s"
+
+#: mount/mount.c:1279
+#, 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/mount.c:1358
+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/mount.c:1361
+msgid "mount: you must specify the filesystem type"
+msgstr "mount: tip dat. sistema mora biti podan"
+
+#: mount/mount.c:1364
+msgid "mount: mount failed"
+msgstr "mount: priklop ni uspel"
+
+#: mount/mount.c:1370 mount/mount.c:1407
+#, c-format
+msgid "mount: mount point %s is not a directory"
+msgstr "mount: priklopna toèka %s ni imenik"
+
+#: mount/mount.c:1372
+msgid "mount: permission denied"
+msgstr "mount: dostop zavrnjen"
+
+#: mount/mount.c:1374
+msgid "mount: must be superuser to use mount"
+msgstr "mount: ukaz mount lahko uporablja samo sistemski skrbnik"
+
+#: mount/mount.c:1378 mount/mount.c:1382
+#, c-format
+msgid "mount: %s is busy"
+msgstr "mount: %s je v rabi"
+
+#: mount/mount.c:1384
+msgid "mount: proc already mounted"
+msgstr "mount: proc je ¾e priklopljen"
+
+#: mount/mount.c:1386
+#, c-format
+msgid "mount: %s already mounted or %s busy"
+msgstr "mount: %s je ¾e priklopljen ali %s zaposlen"
+
+#: mount/mount.c:1392
+#, c-format
+msgid "mount: mount point %s does not exist"
+msgstr "mount: priklopna toèka %s ne obstaja"
+
+#: mount/mount.c:1394
+#, 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/mount.c:1399
+#, c-format
+msgid "mount: special device %s does not exist"
+msgstr "mount: posebna naprava %s ne obstaja"
+
+#: mount/mount.c:1411
+#, 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/mount.c:1423
+#, c-format
+msgid "mount: %s not mounted already, or bad option"
+msgstr "mount: %s ¹e ni priklopljen ali nepravilna izbira"
+
+#: mount/mount.c:1425
+#, 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/mount.c:1432
+msgid ""
+"       (for several filesystems (e.g. nfs, cifs) you might\n"
+"       need a /sbin/mount.<type> helper program)"
+msgstr ""
+
+#: mount/mount.c:1441
+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/mount.c:1446
+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/mount.c:1453
+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/mount.c:1459
+msgid "mount table full"
+msgstr "priklopna tabela je polna"
+
+#: mount/mount.c:1461
+#, c-format
+msgid "mount: %s: can't read superblock"
+msgstr "mount: %s: superbloka ni mogoèe prebrati"
+
+#: mount/mount.c:1467
+#, c-format
+msgid "mount: %s: unknown device"
+msgstr "mount: %s: neznana naprava"
+
+#: mount/mount.c:1472
+#, fuzzy, c-format
+msgid "mount: unknown filesystem type '%s'"
+msgstr "mount: neznan tip dat. sistema '%s'"
+
+#: mount/mount.c:1484
+#, c-format
+msgid "mount: probably you meant %s"
+msgstr "mount: verjetno je bilo mi¹ljeno %s"
+
+#: mount/mount.c:1487
+msgid "mount: maybe you meant 'iso9660'?"
+msgstr "mount: mogoèe je bil mi¹ljen 'iso9660'?"
+
+#: mount/mount.c:1490
+msgid "mount: maybe you meant 'vfat'?"
+msgstr "mount: mogoèe je bil mi¹ljen 'vfat'?"
+
+#: mount/mount.c:1493
+#, 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/mount.c:1501
+#, 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/mount.c:1503
+#, c-format
+msgid ""
+"mount: the kernel does not recognize %s as a block device\n"
+"       (maybe `insmod driver'?)"
+msgstr ""
+"mount: jedro ne prepozna %s kot bloène naprave\n"
+"\t(mogoèe `insmod gonilnik'?)"
+
+#: mount/mount.c:1506
+#, 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/mount.c:1509
+#, c-format
+msgid "mount: %s is not a block device"
+msgstr "mount: %s ni bloèna naprava"
+
+#: mount/mount.c:1514
+#, c-format
+msgid "mount: %s is not a valid block device"
+msgstr "mount: %s ni veljavna bloèna naprava"
+
+#: mount/mount.c:1517
+msgid "block device "
+msgstr "bloèna naprava"
+
+#: mount/mount.c:1519
+#, c-format
+msgid "mount: cannot mount %s%s read-only"
+msgstr "mount: %s%s ni moè priklopiti samo za branje"
+
+#: mount/mount.c:1523
+#, 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/mount.c:1527
+#, 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/mount.c:1542
+#, 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/mount.c:1552
+#, fuzzy, c-format
+msgid "mount: no medium found on %s ...trying again\n"
+msgstr "mount: %s bo ustvarjen, ker ga nisem na¹el\n"
+
+#: mount/mount.c:1558
+#, fuzzy, c-format
+msgid "mount: no medium found on %s"
+msgstr "mount: %s je ¾e priklopljen v %s\n"
+
+#: mount/mount.c:1576
+#, 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/mount.c:1655
+#, 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/mount.c:1661
+#, 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/mount.c:1756
+#, c-format
+msgid "mount: %s already mounted on %s\n"
+msgstr "mount: %s je ¾e priklopljen v %s\n"
+
+#: mount/mount.c:1890
+#, 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/mount.c:2213
+msgid "mount: only root can do that"
+msgstr "mount: to lahko izvede samo sistemski skrbnik"
+
+#: mount/mount.c:2223
+msgid "nothing was mounted"
+msgstr "niè ni bilo priklopljeno"
+
+#: mount/mount.c:2241 mount/mount.c:2267
+msgid "mount: no such partition found"
+msgstr "mount: takega razdelka nisem na¹el"
+
+#: mount/mount.c:2244
+#, c-format
+msgid "mount: can't find %s in %s or %s"
+msgstr "mount: %s ni mogoèe najti v %s ali %s"
+
+#: mount/mount_mntent.c:165
+#, 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/mount_mntent.c:216
+#, c-format
+msgid "[mntent]: line %d in %s is bad%s\n"
+msgstr "[mntent]: vrstici %d in %s sta po¹kodovani%s\n"
+
+#: mount/mount_mntent.c:219
+msgid "; rest of file ignored"
+msgstr "; preostanek datoteke bo ignoriran"
+
+#: mount/sundries.c:31
+msgid "bug in xstrndup call"
+msgstr "hro¹è v klicu xstrndup"
+
+#: mount/sundries.c:224 mount/sundries.c:280 mount/sundries.c:289
+#: mount/xmalloc.c:11
+msgid "not enough memory"
+msgstr "premalo pomnilnika"
+
+#: mount/swapon.c:84
+#, c-format
+msgid ""
+"The <special> parameter:\n"
+" {-L label | LABEL=label}             LABEL of device to be used\n"
+" {-U uuid  | 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"
+"\n"
+msgstr ""
+
+#: mount/swapon.c:92
+#, c-format
+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 ""
+
+#: mount/swapon.c:106
+#, c-format
+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 ""
+
+#: mount/swapon.c:140
+#, fuzzy, c-format
+msgid "%s: unexpected file format"
+msgstr "%s: Neprièakovan konec datoteke v %s\n"
+
+#: mount/swapon.c:184 mount/swapon.c:252 mount/swapon.c:397 mount/swapon.c:556
+#: mount/swapon.c:758
+#, fuzzy, c-format
+msgid "%s: open failed"
+msgstr "openpty ni uspel\n"
+
+#: mount/swapon.c:205
+#, c-format
+msgid "%s: reinitializing the swap."
+msgstr ""
+
+#: mount/swapon.c:209
+#, fuzzy
+msgid "fork failed"
+msgstr "vejitev ni uspela\n"
+
+#: mount/swapon.c:225
+#, fuzzy
+msgid "execv failed"
+msgstr "zagon ni uspel\n"
+
+#: mount/swapon.c:233
+#, fuzzy
+msgid "waitpid failed"
+msgstr "klic setuid() ni uspel"
+
+#: mount/swapon.c:257
+#, fuzzy, c-format
+msgid "%s: lseek failed"
+msgstr "iskanje je bilo neuspe¹no"
+
+#: mount/swapon.c:263
+#, fuzzy, c-format
+msgid "%s: write signature failed"
+msgstr "Odpiranje %s ni uspelo"
+
+#: mount/swapon.c:350
+#, c-format
+msgid "%s: found %sswap v%d signature string for %d KiB PAGE_SIZE\n"
+msgstr ""
+
+#: mount/swapon.c:370
+#, fuzzy, c-format
+msgid "%s: stat failed"
+msgstr "iskanje je bilo neuspe¹no"
+
+#: mount/swapon.c:380
+#, fuzzy, c-format
+msgid "%s: insecure permissions %04o, %04o suggested."
+msgstr "%s: opozorilo: %s ima nevarna dovoljenja %04o, svetujem %04o\n"
+
+#: mount/swapon.c:388
+#, fuzzy, c-format
+msgid "%s: skipping - it appears to have holes."
+msgstr "%s: dat. %s ne bo upo¹tevana zaradi lukenj.\n"
+
+#: mount/swapon.c:402
+#, fuzzy, c-format
+msgid "%s: get size failed"
+msgstr "iskanje je bilo neuspe¹no"
+
+#: mount/swapon.c:408
+#, c-format
+msgid "%s: read swap header failed"
+msgstr ""
+
+#: mount/swapon.c:421
+#, c-format
+msgid "%s: last_page 0x%08llx is larger than actual size of swapspace"
+msgstr ""
+
+#: mount/swapon.c:426
+#, c-format
+msgid "%s: swap format pagesize does not match."
+msgstr ""
+
+#: mount/swapon.c:431
+#, c-format
+msgid ""
+"%s: swap format pagesize does not match. (Use --fixpgsz to reinitialize it.)"
+msgstr ""
+
+#: mount/swapon.c:440
+#, c-format
+msgid "%s: software suspend data detected. Rewriting the swap signature."
+msgstr ""
+
+#: mount/swapon.c:464 mount/swapon.c:514
+#, c-format
+msgid "%s on %s\n"
+msgstr "%s na %s\n"
+
+#: mount/swapon.c:486
+#, fuzzy, c-format
+msgid "%s: swapon failed"
+msgstr "iskanje je bilo neuspe¹no"
+
+#: mount/swapon.c:493
+#, fuzzy, c-format
+msgid "cannot find the device for %s"
+msgstr "%s: za %s ni mogoèe najti naprave\n"
+
+#: mount/swapon.c:526
+#, fuzzy
+msgid "Not superuser."
+msgstr "Niste sistemski skrbnik.\n"
+
+#: mount/swapon.c:529
+#, fuzzy, c-format
+msgid "%s: swapoff failed"
+msgstr "iskanje je bilo neuspe¹no"
+
+#: mount/umount.c:41
+#, c-format
+msgid "umount: compiled without support for -f\n"
+msgstr "umount: prevajanje je potekalo brez podpore za -f\n"
+
+#: mount/umount.c:111
+#, fuzzy, c-format
+msgid "umount: cannot set group id: %s"
+msgstr "mount: hitrosti ni mogoèe nastaviti: %s"
+
+#: mount/umount.c:114
+#, fuzzy, c-format
+msgid "umount: cannot set user id: %s"
+msgstr "mount: hitrosti ni mogoèe nastaviti: %s"
+
+#: mount/umount.c:139
+#, fuzzy, c-format
+msgid "umount: cannot fork: %s"
+msgstr "umount: vejitev ni mogoèa: %s"
+
+#: mount/umount.c:160
+#, c-format
+msgid "umount: %s: invalid block device"
+msgstr "umount: %s: neveljavna bloèna naprava"
+
+#: mount/umount.c:162
+#, c-format
+msgid "umount: %s: not mounted"
+msgstr "umount: %s: ni priklopljena"
+
+#: mount/umount.c:164
+#, c-format
+msgid "umount: %s: can't write superblock"
+msgstr "umount: %s: superbloka ni mogoèe zapisati"
+
+#: mount/umount.c:168
+#, 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/umount.c:173
+#, c-format
+msgid "umount: %s: not found"
+msgstr "umount: %s: neuspe¹no iskanje"
+
+#: mount/umount.c:175
+#, c-format
+msgid "umount: %s: must be superuser to umount"
+msgstr "umount: %s: samo sistemski skrbnik lahko odklaplja"
+
+#: mount/umount.c:177
+#, c-format
+msgid "umount: %s: block devices not permitted on fs"
+msgstr "umount: %s: na dat. sist. bloène naprave niso dovoljene"
+
+#: mount/umount.c:179
+#, c-format
+msgid "umount: %s: %s"
+msgstr "umount: %s: %s"
+
+#: mount/umount.c:235
+#, c-format
+msgid "no umount2, trying umount...\n"
+msgstr "ni umount2, posku¹am z umount...\n"
+
+#: mount/umount.c:252
+#, c-format
+msgid "umount: %s busy - remounted read-only\n"
+msgstr "umount: %s je zaposlena - ponovno priklapljam samo za branje\n"
+
+#: mount/umount.c:263
+#, c-format
+msgid "umount: could not remount %s read-only\n"
+msgstr "umount: ponovni priklop %s samo za branje ni mogoè\n"
+
+#: mount/umount.c:272
+#, c-format
+msgid "%s umounted\n"
+msgstr "%s je odklopljen\n"
+
+#: mount/umount.c:367
+msgid "umount: cannot find list of filesystems to unmount"
+msgstr "umount: seznama dat. sist. za odklop ni mogoèe najti"
+
+#: mount/umount.c:397
+#, 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/umount.c:466
+#, fuzzy, c-format
+msgid "device %s is associated with %s\n"
+msgstr "Sektor %d je ¾e dodeljen\n"
+
+#: mount/umount.c:472
+#, fuzzy, c-format
+msgid "device %s is not associated with %s\n"
+msgstr "Sektor %d je ¾e dodeljen\n"
+
+#: mount/umount.c:485
+#, fuzzy
+msgid "Cannot umount \"\"\n"
+msgstr "ni mogoèe odklopiti \"\"\n"
+
+#: mount/umount.c:491
+#, c-format
+msgid "Trying to umount %s\n"
+msgstr "%s posku¹am odklopiti\n"
+
+#: mount/umount.c:504
+msgid "umount: confused when analyzing mtab"
+msgstr ""
+
+#: mount/umount.c:509
+#, c-format
+msgid "umount: cannot umount %s -- %s is mounted over it on the same point."
+msgstr ""
+
+#: mount/umount.c:516
+#, c-format
+msgid "Could not find %s in mtab\n"
+msgstr "%s ni mogoèe najti v mtab\n"
+
+#: mount/umount.c:523
+#, c-format
+msgid "umount: %s is not mounted (according to mtab)"
+msgstr "umount: %s ni priklopljen (glede na mtab)"
+
+#: mount/umount.c:547
+#, c-format
+msgid "umount: it seems %s is mounted multiple times"
+msgstr "umount: izgleda kot da je %s veèkrat priklopljen"
+
+#: mount/umount.c:561
+#, 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/umount.c:567
+#, c-format
+msgid "umount: %s mount disagrees with the fstab"
+msgstr "umount: priklop %s je v nasprotju z fstab"
+
+#: mount/umount.c:608
+#, fuzzy, c-format
+msgid "umount: only %s can unmount %s from %s"
+msgstr "mount: samo sistemski skrbnik lahko odklopi %s na %s"
+
+#: mount/umount.c:695
+msgid "umount: only root can do that"
+msgstr "umount: samo sistemski skrbnik naredi to"
+
+#: schedutils/chrt.c:56
+#, 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"
+"\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 ""
+
+#: schedutils/chrt.c:88
+#, fuzzy, c-format
+msgid "failed to get pid %d's policy"
+msgstr "Neuspe¹no zapisovanje razdelka na %s\n"
+
+#: schedutils/chrt.c:90
+#, c-format
+msgid "pid %d's %s scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:112
+#, fuzzy, c-format
+msgid "unknown\n"
+msgstr "neznanem"
+
+#: schedutils/chrt.c:116
+#, c-format
+msgid "failed to get pid %d's attributes"
+msgstr ""
+
+#: schedutils/chrt.c:118
+#, c-format
+msgid "pid %d's %s scheduling priority: %d\n"
+msgstr ""
+
+#: schedutils/chrt.c:147
+#, c-format
+msgid "SCHED_%s min/max priority\t: %d/%d\n"
+msgstr ""
+
+#: schedutils/chrt.c:150
+#, fuzzy, c-format
+msgid "SCHED_%s not supported?\n"
+msgstr "NFS èez TCP ni podprt.\n"
+
+#: schedutils/chrt.c:206
+#, fuzzy
+msgid "failed to parse pid"
+msgstr "%s: odpiranje ni uspelo: %s\n"
+
+#: schedutils/chrt.c:228
+#, fuzzy
+msgid "current"
+msgstr "ncount"
+
+#: schedutils/chrt.c:236
+#, fuzzy
+msgid "failed to parse priority"
+msgstr "Neuspe¹no zapisovanje razdelka na %s\n"
+
+#: schedutils/chrt.c:242
+#, fuzzy, c-format
+msgid "failed to set pid %d's policy"
+msgstr "Neuspe¹no zapisovanje razdelka na %s\n"
+
+#: schedutils/chrt.c:251
+#, fuzzy, c-format
+msgid "failed to execute %s"
+msgstr "klic ioctl() ni uspel prebrati èasa iz %s"
+
+#: schedutils/ionice.c:57
+#, fuzzy
+msgid "ioprio_get failed"
+msgstr "openpty ni uspel\n"
+
+#: schedutils/ionice.c:75
+#, fuzzy
+msgid "ioprio_set failed"
+msgstr "openpty ni uspel\n"
+
+#: schedutils/ionice.c:81
+#, c-format
+msgid ""
+"\n"
+"ionice - sets or gets process io scheduling class and priority.\n"
+"\n"
+"Usage:\n"
+"  ionice [ options ] -p <pid> [<pid> ...]\n"
+"  ionoce [ 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 ""
+
+#: schedutils/ionice.c:110 schedutils/ionice.c:112
+#, fuzzy, c-format
+msgid "cannot parse number '%s'"
+msgstr "ni mogoèe odpreti %s"
+
+#: schedutils/ionice.c:151
+msgid "ignoring given class data for none class"
+msgstr ""
+
+#: schedutils/ionice.c:159
+msgid "ignoring given class data for idle class"
+msgstr ""
+
+#: schedutils/ionice.c:163
+#, c-format
+msgid "bad prio class %d"
+msgstr ""
+
+#: schedutils/ionice.c:187
+#, fuzzy
+msgid "execvp failed"
+msgstr "zagon ni uspel\n"
+
+#: sys-utils/ctrlaltdel.c:27
+#, c-format
+msgid "You must be root to set the Ctrl-Alt-Del behaviour.\n"
+msgstr "Za nastavitev obna¹anja Ctrl-Alt-Del morate biti sistemski skrbnik.\n"
+
+#: sys-utils/ctrlaltdel.c:42
+#, c-format
+msgid "Usage: ctrlaltdel hard|soft\n"
+msgstr "Uporaba: ctrlaltdel hard|soft\n"
+
+#: sys-utils/cytune.c:114
+#, 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\n"
+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:125
+#, c-format
+msgid ""
+"File %s, For threshold value %lu and timrout value %lu, Maximum characters "
+"in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f\n"
+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:189
+#, c-format
+msgid "Invalid interval value: %s\n"
+msgstr "Neveljavna vrednost intervala: %s\n"
+
+#: sys-utils/cytune.c:197
+#, c-format
+msgid "Invalid set value: %s\n"
+msgstr "Neveljavna vrednost nastavljanja: %s\n"
+
+#: sys-utils/cytune.c:205
+#, c-format
+msgid "Invalid default value: %s\n"
+msgstr "Neveljavna privzeta vrednost: %s\n"
+
+#: sys-utils/cytune.c:213
+#, c-format
+msgid "Invalid set time value: %s\n"
+msgstr "Neveljavna vrednost za nastavitev èasa:%s\n"
+
+#: sys-utils/cytune.c:221
+#, c-format
+msgid "Invalid default time value: %s\n"
+msgstr "Neveljavna vrednost za privzeti èas: %s\n"
+
+#: sys-utils/cytune.c:238
+#, c-format
+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"
+
+#: sys-utils/cytune.c:250 sys-utils/cytune.c:269 sys-utils/cytune.c:289
+#: sys-utils/cytune.c:339
+#, c-format
+msgid "Can't open %s: %s\n"
+msgstr "%s ni mogoèe odpreti: %s\n"
+
+#: sys-utils/cytune.c:257
+#, c-format
+msgid "Can't set %s to threshold %d: %s\n"
+msgstr "%s ni mogoèe nastaviti na prag %d: %s\n"
+
+#: sys-utils/cytune.c:276
+#, c-format
+msgid "Can't set %s to time threshold %d: %s\n"
+msgstr "%s ni mogoèe nastaviti na èasovni prag %d: %s\n"
+
+#: sys-utils/cytune.c:294 sys-utils/cytune.c:351 sys-utils/cytune.c:382
+#, c-format
+msgid "Can't get threshold for %s: %s\n"
+msgstr "Pragu za %s ni mogoèe dobiti: %s\n"
+
+#: sys-utils/cytune.c:300 sys-utils/cytune.c:357 sys-utils/cytune.c:388
+#, c-format
+msgid "Can't get timeout for %s: %s\n"
+msgstr "Odmora za %s ni mogoèe dobiti: %s\n"
+
+#: sys-utils/cytune.c:306
+#, 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:309
+#, c-format
+msgid "%s: %ld default threshold and %ld default timeout\n"
+msgstr "%s: privzeti prag: %ld, in privzeti odmor: %ld\n"
+
+#: sys-utils/cytune.c:327
+msgid "Can't set signal handler"
+msgstr "Signalnega upravljalnika ni mogoèe nastaviti"
+
+#: sys-utils/cytune.c:331 sys-utils/cytune.c:366
+msgid "gettimeofday failed"
+msgstr "klic gettimeofday ni uspel"
+
+#: sys-utils/cytune.c:344 sys-utils/cytune.c:376
+#, c-format
+msgid "Can't issue CYGETMON on %s: %s\n"
+msgstr "Signala CYGETMON ni mogoèe izdati na %s: %s\n"
+
+#: sys-utils/cytune.c:418
+#, 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:424
+#, 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:429
+#, 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:435
+#, c-format
+msgid "   %f int/sec; %f rec (char/sec)\n"
+msgstr "   %f ¹t./sek; %f sprejetih (znak/sek)\n"
+
+#: sys-utils/dmesg.c:45
+#, fuzzy, c-format
+msgid "Usage: %s [-c] [-n level] [-r] [-s bufsize]\n"
+msgstr "Uporaba: %s [-c] [-n stopnja] [-s vel_medpom]\n"
+
+#: sys-utils/flock.c:65
+#, c-format
+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 ""
+
+#: sys-utils/flock.c:192
+#, fuzzy, c-format
+msgid "%s: %s requires exactly one command argument\n"
+msgstr "%s zahteva argument\n"
+
+#: sys-utils/flock.c:219
+#, fuzzy, c-format
+msgid "%s: cannot open lock file %s: %s\n"
+msgstr "%s: %s ni mogoèe odpreti: %s\n"
+
+#: sys-utils/flock.c:231
+#, fuzzy, c-format
+msgid "%s: bad number: %s\n"
+msgstr "%s: slaba vrednost\n"
+
+#: sys-utils/flock.c:238
+#, c-format
+msgid "%s: requires file descriptor, file or directory\n"
+msgstr ""
+
+#: sys-utils/flock.c:294
+#, fuzzy, c-format
+msgid "%s: fork failed: %s\n"
+msgstr "vejitev ni uspela\n"
+
+#: sys-utils/ipcmk.c:84
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage: %s [options]\n"
+"\n"
+msgstr "Uporaba: %s [izbire] naprava ...\n"
+
+#: sys-utils/ipcmk.c:86
+#, c-format
+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 ""
+
+#: sys-utils/ipcmk.c:90
+#, c-format
+msgid ""
+"\n"
+"For more information see ipcmk(1).\n"
+"\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:142
+msgid "create share memory failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:144
+#, fuzzy, c-format
+msgid "Shared memory id: %d\n"
+msgstr ""
+"\n"
+"Segment deljenega pomnilnika shmid=%d\n"
+
+#: sys-utils/ipcmk.c:150
+msgid "create message queue failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:152
+#, fuzzy, c-format
+msgid "Message queue id: %d\n"
+msgstr ""
+"\n"
+"msqid sporoèilne vrste = %d\n"
+
+#: sys-utils/ipcmk.c:158
+#, fuzzy
+msgid "create semaphore failed"
+msgstr "dodeljeni semaforji = %d\n"
+
+#: sys-utils/ipcmk.c:160
+#, fuzzy, c-format
+msgid "Semaphore id: %d\n"
+msgstr ""
+"\n"
+"semid Polj semaforjev=%d\n"
+
+#: sys-utils/ipcrm.c:66
+#, c-format
+msgid "invalid id: %s\n"
+msgstr "neveljavni id: %s\n"
+
+#: sys-utils/ipcrm.c:84
+#, c-format
+msgid "cannot remove id %s (%s)\n"
+msgstr "id-a %s ni mogoèe odstraniti (%s)\n"
+
+#: sys-utils/ipcrm.c:99
+#, c-format
+msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
+msgstr "zastarela raba: %s {skup_medpom | sporèlo | id_semfrja} id ...\n"
+
+#: sys-utils/ipcrm.c:126
+#, c-format
+msgid "unknown resource type: %s\n"
+msgstr "neznan vir: %s\n"
+
+#: sys-utils/ipcrm.c:130
+#, c-format
+msgid "resource(s) deleted\n"
+msgstr "vir/i so zbrisani\n"
+
+#: sys-utils/ipcrm.c:140
+#, c-format
+msgid ""
+"usage: %s [ [-q msqid] [-m shmid] [-s semid]\n"
+"          [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:181
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: nedovoljena izbira -- %c\n"
+
+#: sys-utils/ipcrm.c:193
+#, c-format
+msgid "%s: illegal key (%s)\n"
+msgstr "%s: nedovoljen kljuè (%s)\n"
+
+#: sys-utils/ipcrm.c:208 sys-utils/ipcrm.c:240
+msgid "permission denied for key"
+msgstr "za kljuè dostop zanikan"
+
+#: sys-utils/ipcrm.c:211 sys-utils/ipcrm.c:250
+msgid "already removed key"
+msgstr "kljuè je ¾e bil odstranjen"
+
+#: sys-utils/ipcrm.c:214 sys-utils/ipcrm.c:245
+msgid "invalid key"
+msgstr "neveljaven kljuè"
+
+#: sys-utils/ipcrm.c:217 sys-utils/ipcrm.c:255
+msgid "unknown error in key"
+msgstr "v kljuèu je neznana napaka "
+
+#: sys-utils/ipcrm.c:241
+msgid "permission denied for id"
+msgstr "za id je dostop zavrnjen"
+
+#: sys-utils/ipcrm.c:246
+msgid "invalid id"
+msgstr "neveljaven id"
+
+#: sys-utils/ipcrm.c:251
+msgid "already removed id"
+msgstr "id je ¾e odstranjen"
+
+#: sys-utils/ipcrm.c:256
+msgid "unknown error in id"
+msgstr "v id je neznana napaka"
+
+#: sys-utils/ipcrm.c:259
+#, c-format
+msgid "%s: %s (%s)\n"
+msgstr "%s: %s (%s)\n"
+
+#: sys-utils/ipcrm.c:267
+#, c-format
+msgid "%s: unknown argument: %s\n"
+msgstr "%s: neznan argument: %s\n"
+
+#: sys-utils/ipcs.c:120
+#, c-format
+msgid "usage : %s -asmq -tclup \n"
+msgstr "uporaba : %s -asmq -tclup \n"
+
+#: sys-utils/ipcs.c:121
+#, c-format
+msgid "\t%s [-s -m -q] -i id\n"
+msgstr "\t%s [-s -m -q] -i id\n"
+
+#: sys-utils/ipcs.c:122
+#, c-format
+msgid "\t%s -h for help.\n"
+msgstr "\t%s -h za pomoè.\n"
+
+#: sys-utils/ipcs.c:128
+#, c-format
+msgid ""
+"%s provides information on ipc facilities for which you have read access.\n"
+msgstr "%s ponuja informacije o ipc poslopjih za katere imate bralni dostop\n"
+
+#: sys-utils/ipcs.c:130
+#, c-format
+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"
+
+#: sys-utils/ipcs.c:131
+#, c-format
+msgid ""
+"\t-s : semaphores\n"
+"\t-a : all (default)\n"
+msgstr ""
+"\t-s : semaforji\n"
+"\t-a : vse (privzeto)\n"
+
+#: sys-utils/ipcs.c:132
+#, c-format
+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"
+
+#: sys-utils/ipcs.c:133
+#, c-format
+msgid ""
+"\t-l : limits\n"
+"\t-u : summary\n"
+msgstr ""
+"\t-l : omejitve\n"
+"\t-u : povzetek\n"
+
+#: sys-utils/ipcs.c:134
+#, c-format
+msgid "-i id [-s -q -m] : details on resource identified by id\n"
+msgstr "-i id [-s -q -m] : podrobnosti o viru prepoznanem po id\n"
+
+#: sys-utils/ipcs.c:258
+#, c-format
+msgid "kernel not configured for shared memory\n"
+msgstr "za deljen pomnilnik jedro ni nastavljeno\n"
+
+#: sys-utils/ipcs.c:264
+#, c-format
+msgid "------ Shared Memory Limits --------\n"
+msgstr "---- Omejitve deljenega pomnilnika ----\n"
+
+#: sys-utils/ipcs.c:269
+#, c-format
+msgid "max number of segments = %lu\n"
+msgstr "naj. ¹t. odsekov = %lu\n"
+
+#: sys-utils/ipcs.c:271
+#, c-format
+msgid "max seg size (kbytes) = %lu\n"
+msgstr "naj. velikost odseka (kB) = %lu\n"
+
+#: sys-utils/ipcs.c:273
+#, fuzzy, c-format
+msgid "max total shared memory (kbytes) = %llu\n"
+msgstr "naj. skupno deljenega pom. (strani) = %lu\n"
+
+#: sys-utils/ipcs.c:275
+#, c-format
+msgid "min seg size (bytes) = %lu\n"
+msgstr "najmanj. vel. odseka (B) = %lu\n"
+
+#: sys-utils/ipcs.c:280
+#, c-format
+msgid "------ Shared Memory Status --------\n"
+msgstr "---- Stanje deljenega pomnilnika ----\n"
+
+#: sys-utils/ipcs.c:281
+#, c-format
+msgid "segments allocated %d\n"
+msgstr "%d dodeljenih odsekov\n"
+
+#: sys-utils/ipcs.c:282
+#, c-format
+msgid "pages allocated %ld\n"
+msgstr "%ld dodeljenih strani\n"
+
+#: sys-utils/ipcs.c:283
+#, c-format
+msgid "pages resident  %ld\n"
+msgstr "%ld prisotnih strani\n"
+
+#: sys-utils/ipcs.c:284
+#, c-format
+msgid "pages swapped   %ld\n"
+msgstr "%ld izmenjanih strani\n"
+
+#: sys-utils/ipcs.c:285
+#, c-format
+msgid "Swap performance: %ld attempts\t %ld successes\n"
+msgstr "Uèinkovitost izmenjalnega prostora: %ld poskusov\t %ld uspe¹nih\n"
+
+#: sys-utils/ipcs.c:290
+#, c-format
+msgid "------ Shared Memory Segment Creators/Owners --------\n"
+msgstr "---- stvarniki/lastniki deljenega pomnilni¹kega odseka ----\n"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:298 sys-utils/ipcs.c:305
+#: sys-utils/ipcs.c:311
+msgid "shmid"
+msgstr "shmid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:311 sys-utils/ipcs.c:412
+#: sys-utils/ipcs.c:427 sys-utils/ipcs.c:510 sys-utils/ipcs.c:528
+msgid "perms"
+msgstr "dovoljenja"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "cuid"
+msgstr "cuid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "cgid"
+msgstr "cgid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "uid"
+msgstr "uid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "gid"
+msgstr "gid"
+
+#: sys-utils/ipcs.c:296
+#, c-format
+msgid "------ Shared Memory Attach/Detach/Change Times --------\n"
+msgstr "---- Deljeno pomnilni¹ki pripeti/odpeti/spremenjeni èasi ----\n"
+
+#: sys-utils/ipcs.c:298 sys-utils/ipcs.c:305 sys-utils/ipcs.c:311
+#: sys-utils/ipcs.c:418 sys-utils/ipcs.c:427 sys-utils/ipcs.c:516
+#: sys-utils/ipcs.c:522 sys-utils/ipcs.c:528
+msgid "owner"
+msgstr "lastnik"
+
+#: sys-utils/ipcs.c:298
+msgid "attached"
+msgstr "pripeto"
+
+#: sys-utils/ipcs.c:298
+msgid "detached"
+msgstr "odpeto"
+
+#: sys-utils/ipcs.c:299
+msgid "changed"
+msgstr "spremenjeno"
+
+#: sys-utils/ipcs.c:303
+#, c-format
+msgid "------ Shared Memory Creator/Last-op --------\n"
+msgstr "---- Stvaritelj deljenega pomnilnika ----\n"
+
+#: sys-utils/ipcs.c:305
+msgid "cpid"
+msgstr "cpid"
+
+#: sys-utils/ipcs.c:305
+msgid "lpid"
+msgstr "lpid"
+
+#: sys-utils/ipcs.c:309
+#, c-format
+msgid "------ Shared Memory Segments --------\n"
+msgstr "---- Segmenti deljenega pomnilnika ----\n"
+
+#: sys-utils/ipcs.c:311 sys-utils/ipcs.c:427 sys-utils/ipcs.c:528
+msgid "key"
+msgstr "kljuè"
+
+#: sys-utils/ipcs.c:311
+msgid "bytes"
+msgstr "bajtov"
+
+#: sys-utils/ipcs.c:312
+msgid "nattch"
+msgstr "nattch"
+
+#: sys-utils/ipcs.c:312
+msgid "status"
+msgstr "stanje"
+
+#: sys-utils/ipcs.c:333 sys-utils/ipcs.c:335 sys-utils/ipcs.c:337
+#: sys-utils/ipcs.c:448 sys-utils/ipcs.c:450 sys-utils/ipcs.c:549
+#: sys-utils/ipcs.c:551 sys-utils/ipcs.c:553 sys-utils/ipcs.c:604
+#: sys-utils/ipcs.c:606 sys-utils/ipcs.c:634 sys-utils/ipcs.c:636
+#: sys-utils/ipcs.c:638 sys-utils/ipcs.c:661
+msgid "Not set"
+msgstr "Nenastavljeno"
+
+#: sys-utils/ipcs.c:365
+msgid "dest"
+msgstr "ponor"
+
+#: sys-utils/ipcs.c:366
+msgid "locked"
+msgstr "zaklenjen"
+
+#: sys-utils/ipcs.c:386
+#, c-format
+msgid "kernel not configured for semaphores\n"
+msgstr "za semaforje jedro ni pravilno nastavljeno\n"
+
+#: sys-utils/ipcs.c:392
+#, c-format
+msgid "------ Semaphore Limits --------\n"
+msgstr "---- Omejitve semaforjev ----\n"
+
+#: sys-utils/ipcs.c:396
+#, c-format
+msgid "max number of arrays = %d\n"
+msgstr "naj. ¹t. polj = %d\n"
+
+#: sys-utils/ipcs.c:397
+#, c-format
+msgid "max semaphores per array = %d\n"
+msgstr "naj. ¹t. semaforjev na polje = %d\n"
+
+#: sys-utils/ipcs.c:398
+#, c-format
+msgid "max semaphores system wide = %d\n"
+msgstr "naj. sistemskih semaforjev = %d\n"
+
+#: sys-utils/ipcs.c:399
+#, c-format
+msgid "max ops per semop call = %d\n"
+msgstr "naj. ¹t. operacij na klic semop = %d\n"
+
+#: sys-utils/ipcs.c:400
+#, c-format
+msgid "semaphore max value = %d\n"
+msgstr "naj. vrednost semaforja = %d\n"
+
+#: sys-utils/ipcs.c:404
+#, c-format
+msgid "------ Semaphore Status --------\n"
+msgstr "---- Stanje semaforja ----\n"
+
+#: sys-utils/ipcs.c:405
+#, c-format
+msgid "used arrays = %d\n"
+msgstr "uporabljena polja = %d\n"
+
+#: sys-utils/ipcs.c:406
+#, c-format
+msgid "allocated semaphores = %d\n"
+msgstr "dodeljeni semaforji = %d\n"
+
+#: sys-utils/ipcs.c:410
+#, c-format
+msgid "------ Semaphore Arrays Creators/Owners --------\n"
+msgstr "---- stvarniki/lastniki polj semaforjev ----\n"
+
+#: sys-utils/ipcs.c:412 sys-utils/ipcs.c:418 sys-utils/ipcs.c:427
+msgid "semid"
+msgstr "semid"
+
+#: sys-utils/ipcs.c:416
+#, fuzzy, c-format
+msgid "------ Semaphore Operation/Change Times --------\n"
+msgstr "---- Èasi operacij/sprememb deljenega pomnilnika ----\n"
+
+#: sys-utils/ipcs.c:418
+msgid "last-op"
+msgstr "zadnja-op"
+
+#: sys-utils/ipcs.c:418
+msgid "last-changed"
+msgstr "zadnja sprememba"
+
+#: sys-utils/ipcs.c:425
+#, c-format
+msgid "------ Semaphore Arrays --------\n"
+msgstr "---- Semaforna polja ----\n"
+
+#: sys-utils/ipcs.c:427
+msgid "nsems"
+msgstr "¹tsem"
+
+#: sys-utils/ipcs.c:486
+#, c-format
+msgid "kernel not configured for message queues\n"
+msgstr "za sporoèilne vrste jedro ni pravilno nastavljeno\n"
+
+#: sys-utils/ipcs.c:494
+#, c-format
+msgid "------ Messages: Limits --------\n"
+msgstr "---- Sporoèila: Omejitve ----\n"
+
+#: sys-utils/ipcs.c:495
+#, c-format
+msgid "max queues system wide = %d\n"
+msgstr "naj. sistemskih vrst = %d\n"
+
+#: sys-utils/ipcs.c:496
+#, c-format
+msgid "max size of message (bytes) = %d\n"
+msgstr "naj. velikost sporoèila (B) = %d\n"
+
+#: sys-utils/ipcs.c:497
+#, c-format
+msgid "default max size of queue (bytes) = %d\n"
+msgstr "naj. privzeta velikost vrste (B) = %d\n"
+
+#: sys-utils/ipcs.c:501
+#, c-format
+msgid "------ Messages: Status --------\n"
+msgstr "---- Sporoèila: Stanje ----\n"
+
+#: sys-utils/ipcs.c:502
+#, c-format
+msgid "allocated queues = %d\n"
+msgstr "dodeljene vrste = %d\n"
+
+#: sys-utils/ipcs.c:503
+#, c-format
+msgid "used headers = %d\n"
+msgstr "uporabljene glave = %d\n"
+
+#: sys-utils/ipcs.c:504
+#, c-format
+msgid "used space = %d bytes\n"
+msgstr "porabljen prostor = %d bajtov\n"
+
+#: sys-utils/ipcs.c:508
+#, c-format
+msgid "------ Message Queues: Creators/Owners --------\n"
+msgstr "---- Sporoèilna vrsta: stvarniki/lastniki ----\n"
+
+#: sys-utils/ipcs.c:510 sys-utils/ipcs.c:516 sys-utils/ipcs.c:522
+#: sys-utils/ipcs.c:528
+msgid "msqid"
+msgstr "idsporvrst"
+
+#: sys-utils/ipcs.c:514
+#, c-format
+msgid "------ Message Queues Send/Recv/Change Times --------\n"
+msgstr "---- Èasi oddaje/sprejema/spremembe sporoèilnih vrst ----\n"
+
+#: sys-utils/ipcs.c:516
+msgid "send"
+msgstr "po¹lji"
+
+#: sys-utils/ipcs.c:516
+msgid "recv"
+msgstr "sprejmi"
+
+#: sys-utils/ipcs.c:516
+msgid "change"
+msgstr "spremeni"
+
+#: sys-utils/ipcs.c:520
+#, c-format
+msgid "------ Message Queues PIDs --------\n"
+msgstr "---- PID-i sporoèilnih vrst ----\n"
+
+#: sys-utils/ipcs.c:522
+msgid "lspid"
+msgstr "lspid"
+
+#: sys-utils/ipcs.c:522
+msgid "lrpid"
+msgstr "lrpid"
+
+#: sys-utils/ipcs.c:526
+#, c-format
+msgid "------ Message Queues --------\n"
+msgstr "---- Sporoèilne vrste ----\n"
+
+#: sys-utils/ipcs.c:529
+msgid "used-bytes"
+msgstr "porabljeni-bajti"
+
+#: sys-utils/ipcs.c:529
+msgid "messages"
+msgstr "sporoèila"
+
+#: sys-utils/ipcs.c:593
+#, fuzzy
+msgid "shmctl failed"
+msgstr "fsync ni uspel"
+
+#: sys-utils/ipcs.c:595
+#, c-format
+msgid ""
+"\n"
+"Shared memory Segment shmid=%d\n"
+msgstr ""
+"\n"
+"Segment deljenega pomnilnika shmid=%d\n"
+
+#: sys-utils/ipcs.c:596
+#, c-format
+msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+
+#: sys-utils/ipcs.c:598
+#, c-format
+msgid "mode=%#o\taccess_perms=%#o\n"
+msgstr "naèin=%#o\tdostop_dovoljenja=%#o\n"
+
+#: sys-utils/ipcs.c:600
+#, c-format
+msgid "bytes=%ld\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+msgstr "bajti=%ld\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+
+#: sys-utils/ipcs.c:603
+#, c-format
+msgid "att_time=%-26.24s\n"
+msgstr "att_èas=%-26.24s\n"
+
+#: sys-utils/ipcs.c:605
+#, c-format
+msgid "det_time=%-26.24s\n"
+msgstr "det_èas=%-26.24s\n"
+
+#: sys-utils/ipcs.c:607 sys-utils/ipcs.c:637
+#, c-format
+msgid "change_time=%-26.24s\n"
+msgstr "èas_spremembe=%-26.24s\n"
+
+#: sys-utils/ipcs.c:619
+#, fuzzy
+msgid "msgctl failed"
+msgstr "fsync ni uspel"
+
+#: sys-utils/ipcs.c:621
+#, c-format
+msgid ""
+"\n"
+"Message Queue msqid=%d\n"
+msgstr ""
+"\n"
+"msqid sporoèilne vrste = %d\n"
+
+#: sys-utils/ipcs.c:622
+#, c-format
+msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
+
+#: sys-utils/ipcs.c:624
+#, 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:633
+#, c-format
+msgid "send_time=%-26.24s\n"
+msgstr "oddajni_èas=%-26.24s\n"
+
+#: sys-utils/ipcs.c:635
+#, c-format
+msgid "rcv_time=%-26.24s\n"
+msgstr "sprejemni_èas=%-26.24s\n"
+
+#: sys-utils/ipcs.c:652 sys-utils/ipcs.c:674
+#, fuzzy
+msgid "semctl failed"
+msgstr "iskanje je bilo neuspe¹no"
+
+#: sys-utils/ipcs.c:654
+#, c-format
+msgid ""
+"\n"
+"Semaphore Array semid=%d\n"
+msgstr ""
+"\n"
+"semid Polj semaforjev=%d\n"
+
+#: sys-utils/ipcs.c:655
+#, c-format
+msgid "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+msgstr "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+
+#: sys-utils/ipcs.c:657
+#, c-format
+msgid "mode=%#o, access_perms=%#o\n"
+msgstr "naèin=%#o, dostop_dovoljenja=%#o\n"
+
+#: sys-utils/ipcs.c:659
+#, c-format
+msgid "nsems = %ld\n"
+msgstr "¹tsem = %ld\n"
+
+#: sys-utils/ipcs.c:660
+#, c-format
+msgid "otime = %-26.24s\n"
+msgstr "otime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:662
+#, c-format
+msgid "ctime = %-26.24s\n"
+msgstr "ctime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:665
+msgid "semnum"
+msgstr "¹tsem"
+
+#: sys-utils/ipcs.c:665
+msgid "value"
+msgstr "vrednost"
+
+#: sys-utils/ipcs.c:665
+msgid "ncount"
+msgstr "ncount"
+
+#: sys-utils/ipcs.c:665
+msgid "zcount"
+msgstr "zcount"
+
+#: sys-utils/ipcs.c:665
+msgid "pid"
+msgstr "pid"
+
+#: sys-utils/ldattach.c:92
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [ -dhV78neo12 ] [ -s <speed> ] <ldisc> <device>\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:94
+msgid ""
+"\n"
+"Known <ldisc> names:\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:179
+#, fuzzy, c-format
+msgid "invalid speed: %s"
+msgstr "neveljavni id: %s\n"
+
+#: sys-utils/ldattach.c:182
+#, fuzzy, c-format
+msgid "ldattach from %s\n"
+msgstr "%s iz %s\n"
+
+#: sys-utils/ldattach.c:187 text-utils/tailf.c:205
+#, fuzzy
+msgid "invalid option"
+msgstr "neveljaven id"
+
+#: sys-utils/ldattach.c:199
+#, fuzzy, c-format
+msgid "invalid line discipline: %s"
+msgstr "neveljavni id: %s\n"
+
+#: sys-utils/ldattach.c:207
+#, fuzzy, c-format
+msgid "%s is not a serial line"
+msgstr "%s ni posebna bloèna naprava"
+
+#: sys-utils/ldattach.c:213
+#, fuzzy, c-format
+msgid "cannot get terminal attributes for %s"
+msgstr "ni mogoèe dobiti velikosti %s"
+
+#: sys-utils/ldattach.c:216
+#, c-format
+msgid "speed %d unsupported"
+msgstr ""
+
+#: sys-utils/ldattach.c:247
+#, fuzzy, c-format
+msgid "cannot set terminal attributes for %s"
+msgstr "ni mogoèe dobiti velikosti %s"
+
+#: sys-utils/ldattach.c:254
+#, fuzzy
+msgid "cannot set line discipline"
+msgstr "Iskanje na disku ni mogoèe"
+
+#: sys-utils/ldattach.c:260
+#, fuzzy
+msgid "cannot daemonize"
+msgstr "ni mogoèe dobiti velikosti %s"
+
+#: sys-utils/lscpu.c:64
+#, fuzzy
+msgid "none"
+msgstr "Brez"
+
+#: sys-utils/lscpu.c:65
+msgid "para"
+msgstr ""
+
+#: sys-utils/lscpu.c:66
+msgid "full"
+msgstr ""
+
+#: sys-utils/lscpu.c:129 sys-utils/lscpu.c:152 sys-utils/lscpu.c:441
+#, fuzzy, c-format
+msgid "error: %s"
+msgstr "napaka RE: "
+
+#: sys-utils/lscpu.c:154
+#, fuzzy, c-format
+msgid "error parse: %s"
+msgstr "napaka pri branju %s\n"
+
+#: sys-utils/lscpu.c:176
+#, fuzzy
+msgid "error: strdup failed"
+msgstr "Odpiranje %s ni uspelo"
+
+#: sys-utils/lscpu.c:259
+#, fuzzy
+msgid "error: uname failed"
+msgstr ""
+"\n"
+"Napaka pri zapiranju datoteke\n"
+
+#: sys-utils/lscpu.c:491
+#, fuzzy
+msgid "error: malloc failed"
+msgstr "malloc ni uspel"
+
+#: sys-utils/lscpu.c:506
+msgid "error: /sys filesystem is not accessable."
+msgstr ""
+
+#: sys-utils/lscpu.c:524
+#, 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"
+"# CPU,Core,Socket,Node"
+msgstr ""
+
+#: sys-utils/lscpu.c:590
+msgid "Thread(s) per core:"
+msgstr ""
+
+#: sys-utils/lscpu.c:591
+msgid "Core(s) per socket:"
+msgstr ""
+
+#: sys-utils/lscpu.c:592
+msgid "CPU socket(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:596
+msgid "NUMA node(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:598
+msgid "Vendor ID:"
+msgstr ""
+
+#: sys-utils/lscpu.c:600
+msgid "CPU family:"
+msgstr ""
+
+#: sys-utils/lscpu.c:602
+msgid "Model:"
+msgstr ""
+
+#: sys-utils/lscpu.c:604
+msgid "Stepping:"
+msgstr ""
+
+#: sys-utils/lscpu.c:606
+msgid "CPU MHz:"
+msgstr ""
+
+#: sys-utils/lscpu.c:609 sys-utils/lscpu.c:611
+#, fuzzy
+msgid "Virtualization:"
+msgstr "Staro stanje:\n"
+
+#: sys-utils/lscpu.c:614
+msgid "Hypervisor vendor:"
+msgstr ""
+
+#: sys-utils/lscpu.c:615
+msgid "Virtualization type:"
+msgstr ""
+
+#: sys-utils/lscpu.c:623
+#, c-format
+msgid "%s cache:"
+msgstr ""
+
+#: sys-utils/lscpu.c:631
+#, fuzzy, c-format
+msgid "Usage: %s [option]\n"
+msgstr "Uporaba: %s [izbire] naprava ...\n"
+
+#: sys-utils/lscpu.c:634
+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 ""
+
+#: sys-utils/lscpu.c:683
+#, fuzzy, c-format
+msgid "error: change working directory to %s."
+msgstr "Napaka pri spreminjanju naèina %s: %s\n"
+
+#: sys-utils/rdev.c:77
+msgid "usage: rdev [ -rv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]"
+msgstr "uporaba: rdev [ -rv ] [ -o ODMIK ] [ SLIKA [ VREDNOST [ ODMIK ] ] ]"
+
+#: sys-utils/rdev.c:78
+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"
+
+#: sys-utils/rdev.c:79
+msgid "  rdev /dev/fd0 /dev/hda2         sets ROOT to /dev/hda2"
+msgstr ""
+"  rdev /dev/fd0 /dev/hda2         nastavi korensko napravo na /dev/hda2"
+
+#: sys-utils/rdev.c:80
+msgid "  rdev -R /dev/fd0 1              set the ROOTFLAGS (readonly status)"
+msgstr ""
+"  rdev -R /dev/fd0 1              nastavi kor. zastavice (samo za branje)"
+
+#: sys-utils/rdev.c:81
+msgid "  rdev -r /dev/fd0 627            set the RAMDISK size"
+msgstr "  rdev -r /dev/fd0 627            nastavi velikost pom. diska"
+
+#: sys-utils/rdev.c:82
+msgid "  rdev -v /dev/fd0 1              set the bootup VIDEOMODE"
+msgstr "  rdev -v /dev/df0 1              nastavi zagonski grafièni naèin"
+
+#: sys-utils/rdev.c:83
+msgid "  rdev -o N ...                   use the byte offset N"
+msgstr "  rdev -o N. ...                 uporabi bajtni odmik N"
+
+#: sys-utils/rdev.c:84
+msgid "  rootflags ...                   same as rdev -R"
+msgstr "  rootflags ...                   enako kot rdev -R"
+
+#: sys-utils/rdev.c:85
+msgid "  ramsize ...                     same as rdev -r"
+msgstr "  ramsize ...                     enako kot rdev -r"
+
+#: sys-utils/rdev.c:86
+msgid "  vidmode ...                     same as rdev -v"
+msgstr "  vidmode ...                     enako kot rdev -v"
+
+#: sys-utils/rdev.c:87
+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,..."
+
+#: sys-utils/rdev.c:88
+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"
+
+#: sys-utils/rdev.c:245
+msgid "missing comma"
+msgstr "vejica manjka"
+
+#: sys-utils/readprofile.c:72
+#, c-format
+msgid "out of memory"
+msgstr "zmanjkalo je pomnilnika"
+
+#: sys-utils/readprofile.c:118
+#, 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: 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"
+
+#: sys-utils/readprofile.c:227
+#, fuzzy, c-format
+msgid "readprofile: error writing %s: %s\n"
+msgstr "mount: napaka pri pisanju na %s: %s"
+
+#: sys-utils/readprofile.c:268
+#, c-format
+msgid "Assuming reversed byte order. Use -n to force native byte order.\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:284
+#, c-format
+msgid "Sampling_step: %i\n"
+msgstr "Vzorèni_korak: %i\n"
+
+#: sys-utils/readprofile.c:305 sys-utils/readprofile.c:331
+#, c-format
+msgid "%s: %s(%i): wrong map line\n"
+msgstr "%s: %s(%i): napaèna preslikovalna(map) vrstica\n"
+
+#: sys-utils/readprofile.c:318
+#, c-format
+msgid "%s: can't find \"_stext\" in %s\n"
+msgstr "%s: \"_stext\" ni mogoèe najti v %s\n"
+
+#: sys-utils/readprofile.c:352
+#, c-format
+msgid "%s: profile address out of range. Wrong map file?\n"
+msgstr "%s: profil naslova je izven dometa. Napaèna preslik.(map) dat.?\n"
+
+#: sys-utils/readprofile.c:412
+msgid "total"
+msgstr "skupno"
+
+#: sys-utils/renice.c:53
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" renice [-n] priority [-p|--pid] pid  [... pid]\n"
+" renice [-n] priority  -g|--pgrp pgrp [... pgrp]\n"
+" renice [-n] priority  -u|--user user [... user]\n"
+" renice -h | --help\n"
+" renice -v | --version\n"
+"\n"
+msgstr ""
+
+#: sys-utils/renice.c:89
+#, fuzzy, c-format
+msgid "renice from %s\n"
+msgstr "%s iz %s\n"
+
+#: sys-utils/renice.c:126
+#, c-format
+msgid "renice: %s: unknown user\n"
+msgstr "renice: %s: neznan uporabnik\n"
+
+#: sys-utils/renice.c:134
+#, c-format
+msgid "renice: %s: bad value\n"
+msgstr "renice: %s: nepravilna vrednost\n"
+
+#: sys-utils/renice.c:152 sys-utils/renice.c:164
+msgid "getpriority"
+msgstr "dobiprioriteto"
+
+#: sys-utils/renice.c:157
+msgid "setpriority"
+msgstr "nastaviprioriteto"
+
+#: sys-utils/renice.c:168
+#, c-format
+msgid "%d: old priority %d, new priority %d\n"
+msgstr "%d: stara prioriteta %d, nova prioriteta %d\n"
+
+#: sys-utils/rtcwake.c:81
+#, c-format
+msgid ""
+"usage: %s [options]\n"
+"    -d | --device <device>    select rtc device (rtc0|rtc1|...)\n"
+"    -l | --local              RTC uses local timezone\n"
+"    -m | --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"
+"    -V | --version            show version\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:140
+msgid "read rtc time"
+msgstr ""
+
+#: sys-utils/rtcwake.c:145
+msgid "read system time"
+msgstr ""
+
+#: sys-utils/rtcwake.c:163
+msgid "convert rtc time"
+msgstr ""
+
+#: sys-utils/rtcwake.c:222
+msgid "set rtc alarm"
+msgstr ""
+
+#: sys-utils/rtcwake.c:226
+msgid "enable rtc alarm"
+msgstr ""
+
+#: sys-utils/rtcwake.c:230
+msgid "set rtc wake alarm"
+msgstr ""
+
+#: sys-utils/rtcwake.c:342
+#, fuzzy, c-format
+msgid "%s: unrecognized suspend state '%s'\n"
+msgstr " %s: neprepoznan tip tabele razdelkov"
+
+#: sys-utils/rtcwake.c:351
+#, fuzzy, c-format
+msgid "%s: illegal interval %s seconds\n"
+msgstr "%s: nedovoljen kljuè (%s)\n"
+
+#: sys-utils/rtcwake.c:365
+#, fuzzy, c-format
+msgid "%s: illegal time_t value %s\n"
+msgstr "%s: nedovoljena izbira -- %s\n"
+
+#: sys-utils/rtcwake.c:381
+#, fuzzy, c-format
+msgid "%s: version %s\n"
+msgstr "%s razlièica %s\n"
+
+#: sys-utils/rtcwake.c:394
+#, c-format
+msgid "%s: assuming RTC uses UTC ...\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:399
+#, fuzzy, c-format
+msgid "Using UTC time.\n"
+msgstr "Uporabljam %s.\n"
+
+#: sys-utils/rtcwake.c:400
+#, fuzzy, c-format
+msgid "Using local time.\n"
+msgstr "Uporabljam %s.\n"
+
+#: sys-utils/rtcwake.c:403
+#, c-format
+msgid "%s: must provide wake time\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:413
+#, fuzzy
+msgid "malloc() failed"
+msgstr "malloc ni uspel"
+
+#: sys-utils/rtcwake.c:425
+#, fuzzy, c-format
+msgid "%s: %s not enabled for wakeup events\n"
+msgstr "%s: %s ni lp naprava.\n"
+
+#: sys-utils/rtcwake.c:441
+#, c-format
+msgid "alarm %ld, sys_time %ld, rtc_time %ld, seconds %u\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:446
+#, c-format
+msgid "%s: time doesn't go backward to %s\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:456
+#, fuzzy, c-format
+msgid "%s: wakeup from \"%s\" using %s at %s\n"
+msgstr "Sporoèilo iz %s@%s na %s pri %s ..."
+
+#: sys-utils/rtcwake.c:473
+#, fuzzy
+msgid "rtc read"
+msgstr ", pripravljen"
+
+#: sys-utils/rtcwake.c:482
+msgid "disable rtc alarm interrupt"
+msgstr ""
+
+#: sys-utils/setarch.c:50
+#, c-format
+msgid "Switching on %s.\n"
+msgstr ""
+
+#: sys-utils/setarch.c:113
+#, c-format
+msgid ""
+"Usage: %s%s [options] [program [program arguments]]\n"
+"\n"
+"Options:\n"
+msgstr ""
+
+#: sys-utils/setarch.c:117
+#, c-format
+msgid ""
+" -h, --help               displays this help text\n"
+" -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"
+msgstr ""
+
+#: sys-utils/setarch.c:131
+#, c-format
+msgid ""
+"\n"
+"For more information see setarch(8).\n"
+msgstr ""
+
+#: sys-utils/setarch.c:143
+#, fuzzy, c-format
+msgid ""
+"%s: %s\n"
+"Try `%s --help' for more information.\n"
+msgstr "Poskusite `getopt --help' za veè informacij.\n"
+
+#: sys-utils/setarch.c:215 sys-utils/setarch.c:231
+#, fuzzy, c-format
+msgid "%s: Unrecognized architecture"
+msgstr " %s: neprepoznan tip tabele razdelkov"
+
+#: sys-utils/setarch.c:249 sys-utils/setarch.c:256
+#, fuzzy
+msgid "Not enough arguments"
+msgstr "Preveè argumentov.\n"
+
+#: sys-utils/setarch.c:265 sys-utils/setarch.c:318
+#, fuzzy, c-format
+msgid "Failed to set personality to %s"
+msgstr "Neuspe¹no zapisovanje razdelka na %s\n"
+
+#: sys-utils/setsid.c:26
+#, c-format
+msgid "usage: %s program [arg ...]\n"
+msgstr "uporaba: %s program [izbira ...]\n"
+
+#: sys-utils/tunelp.c:75
+#, c-format
+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"
+
+#: sys-utils/tunelp.c:91
+msgid "malloc error"
+msgstr "napaka v malloc"
+
+#: sys-utils/tunelp.c:103
+#, c-format
+msgid "%s: bad value\n"
+msgstr "%s: slaba vrednost\n"
+
+#: sys-utils/tunelp.c:242
+#, c-format
+msgid "%s: %s not an lp device.\n"
+msgstr "%s: %s ni lp naprava.\n"
+
+#: sys-utils/tunelp.c:263
+#, c-format
+msgid "%s status is %d"
+msgstr "%s stanje je %d"
+
+#: sys-utils/tunelp.c:264
+#, c-format
+msgid ", busy"
+msgstr ", zaposlen"
+
+#: sys-utils/tunelp.c:265
+#, c-format
+msgid ", ready"
+msgstr ", pripravljen"
+
+#: sys-utils/tunelp.c:266
+#, c-format
+msgid ", out of paper"
+msgstr ", papirja je zmanjkalo"
+
+#: sys-utils/tunelp.c:267
+#, c-format
+msgid ", on-line"
+msgstr ", povezano"
+
+#: sys-utils/tunelp.c:268
+#, c-format
+msgid ", error"
+msgstr ", napaka"
+
+#: sys-utils/tunelp.c:285
+msgid "LPGETIRQ error"
+msgstr "napaka pri LPGETIRQ"
+
+#: sys-utils/tunelp.c:291
+#, c-format
+msgid "%s using IRQ %d\n"
+msgstr "%s uporablja IRQ %d\n"
+
+#: sys-utils/tunelp.c:293
+#, c-format
+msgid "%s using polling\n"
+msgstr "%s uporablja glasovanje\n"
+
+#: text-utils/col.c:154
+#, c-format
+msgid "col: bad -l argument %s.\n"
+msgstr "col: slab argument -l: %s.\n"
+
+#: text-utils/col.c:544
+#, c-format
+msgid "usage: col [-bfpx] [-l nline]\n"
+msgstr "uporaba: col [-bfpx] [-l ¹tlinije]\n"
+
+#: text-utils/col.c:550
+#, c-format
+msgid "col: write error.\n"
+msgstr "col: pisalna napaka.\n"
+
+#: text-utils/col.c:557
+#, c-format
+msgid "col: warning: can't back up %s.\n"
+msgstr "col: opozorilo: varnostno kopiranje %s ni mogoèe.\n"
+
+#: text-utils/col.c:558
+msgid "past first line"
+msgstr "za prvo vrstico"
+
+#: text-utils/col.c:558
+msgid "-- line already flushed"
+msgstr "-- vrstica je ¾e splaknjena"
+
+#: text-utils/colcrt.c:97
+#, c-format
+msgid "usage: %s [ - ] [ -2 ] [ file ... ]\n"
+msgstr "uporaba: %s [ - ] [ -2 ] [ dat ... ]\n"
+
+#: text-utils/column.c:297
+msgid "line too long"
+msgstr "vrstica je predolga"
+
+#: text-utils/column.c:374
+#, c-format
+msgid "usage: column [-tx] [-c columns] [file ...]\n"
+msgstr "uporaba: column [-tx] [-c stolpec] [dat ...]\n"
+
+#: text-utils/hexsyntax.c:82
+#, c-format
+msgid "hexdump: bad length value.\n"
+msgstr "hexdump: slaba vrednost dol¾ine.\n"
+
+#: text-utils/hexsyntax.c:93
+#, c-format
+msgid "hexdump: bad skip value.\n"
+msgstr "hexdump: slaba vrednost preskoka.\n"
+
+#: text-utils/hexsyntax.c:131
+#, c-format
+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"
+
+#: text-utils/more.c:256
+#, c-format
+msgid "usage: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n"
+msgstr "uporaba: %s [-dflpcsu] [+vrstica | +/vzorec] ime1 ime2 ...\n"
+
+#: text-utils/more.c:479
+#, fuzzy, c-format
+msgid "%s: unknown option \"-%c\"\n"
+msgstr "%s: neznana mo¾nost \"-%c\"\n"
+
+#: text-utils/more.c:511
+#, c-format
+msgid ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+msgstr ""
+"\n"
+"*** %s: imenik ***\n"
+"\n"
+
+#: text-utils/more.c:555
+#, c-format
+msgid ""
+"\n"
+"******** %s: Not a text file ********\n"
+"\n"
+msgstr ""
+"\n"
+"******** %s: Ni znakovna datoteka ********\n"
+"\n"
+
+#: text-utils/more.c:658
+#, c-format
+msgid "[Use q or Q to quit]"
+msgstr "[Za izhod uporabite q ali Q]"
+
+#: text-utils/more.c:750
+#, c-format
+msgid "--More--"
+msgstr "--Naprej--"
+
+#: text-utils/more.c:752
+#, c-format
+msgid "(Next file: %s)"
+msgstr "(Naslednja datoteka: %s)"
+
+#: text-utils/more.c:757
+#, c-format
+msgid "[Press space to continue, 'q' to quit.]"
+msgstr "[Pritisnite preslednico za nadaljevanje, Q za izhod.]"
+
+#: text-utils/more.c:1172
+#, c-format
+msgid "...back %d pages"
+msgstr "...nazaj za %d strani"
+
+#: text-utils/more.c:1174
+msgid "...back 1 page"
+msgstr "...nazaj za eno stran"
+
+#: text-utils/more.c:1217
+msgid "...skipping one line"
+msgstr "...preskok vrstice"
+
+#: text-utils/more.c:1219
+#, c-format
+msgid "...skipping %d lines"
+msgstr "...preskok %d vrstic"
+
+#: text-utils/more.c:1256
+msgid ""
+"\n"
+"***Back***\n"
+"\n"
+msgstr ""
+"\n"
+"***Nazaj***\n"
+"\n"
+
+#: text-utils/more.c:1294
+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:1301
+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:1370 text-utils/more.c:1375
+#, c-format
+msgid "[Press 'h' for instructions.]"
+msgstr "[Pritisnite 'h' za navodila.]"
+
+#: text-utils/more.c:1409
+#, c-format
+msgid "\"%s\" line %d"
+msgstr "\"%s\" vrstica %d"
+
+#: text-utils/more.c:1411
+#, c-format
+msgid "[Not a file] line %d"
+msgstr "[Ni datoteka] vrstica %d"
+
+#: text-utils/more.c:1495
+msgid "  Overflow\n"
+msgstr "  Prekoraèitev\n"
+
+#: text-utils/more.c:1542
+msgid "...skipping\n"
+msgstr "...preskok\n"
+
+#: text-utils/more.c:1571
+msgid "Regular expression botch"
+msgstr "Krpa regularnega izraza"
+
+#: text-utils/more.c:1579
+msgid ""
+"\n"
+"Pattern not found\n"
+msgstr ""
+"\n"
+"Vzorca ni moè najti\n"
+
+#: text-utils/more.c:1582 text-utils/pg.c:1124 text-utils/pg.c:1275
+msgid "Pattern not found"
+msgstr "Vzorca ni moè najti"
+
+#: text-utils/more.c:1643
+msgid "can't fork\n"
+msgstr "vejitev ni mogoèa\n"
+
+#: text-utils/more.c:1682
+msgid ""
+"\n"
+"...Skipping "
+msgstr ""
+"\n"
+"... Preskok "
+
+#: text-utils/more.c:1686
+msgid "...Skipping to file "
+msgstr "... Preskok na datoteko "
+
+#: text-utils/more.c:1688
+msgid "...Skipping back to file "
+msgstr "... Preskok nazaj na datoteko "
+
+#: text-utils/more.c:1966
+msgid "Line too long"
+msgstr "Vrstica je predolga"
+
+#: text-utils/more.c:2009
+msgid "No previous command to substitute for"
+msgstr "Zaradi neobstojeèega prej¹njega ukaza zamenjava ni mogoèa"
+
+#: text-utils/odsyntax.c:130
+#, c-format
+msgid "od: od(1) has been deprecated for hexdump(1).\n"
+msgstr "od: od(1) je nadome¹èen s programom hexdump(1).\n"
+
+#: text-utils/odsyntax.c:133
+#, c-format
+msgid "od: hexdump(1) compatibility doesn't support the -%c option%s\n"
+msgstr "od: hexdump(1) ne podpira izbire -%c izbir%s\n"
+
+#: text-utils/odsyntax.c:134
+msgid "; see strings(1)."
+msgstr "; glejte strings(1)."
+
+#: text-utils/parse.c:63
+#, c-format
+msgid "hexdump: can't read %s.\n"
+msgstr "hexdump: branje %s ni mogoèe.\n"
+
+#: text-utils/parse.c:68
+#, c-format
+msgid "hexdump: line too long.\n"
+msgstr "hexdump: vrstica je predolga.\n"
+
+#: text-utils/parse.c:401
+#, c-format
+msgid "hexdump: byte count with multiple conversion characters.\n"
+msgstr "hexdump: ¹tevec bajtov je naveden z veèkratnimi pretvornimi znaki.\n"
+
+#: text-utils/parse.c:483
+#, c-format
+msgid "hexdump: bad byte count for conversion character %s.\n"
+msgstr "hexdump: slab ¹tevec bajtov za pretvorni znak %s.\n"
+
+#: text-utils/parse.c:490
+#, c-format
+msgid "hexdump: %%s requires a precision or a byte count.\n"
+msgstr "hexdump: %%s zahteva bodisi natanènost bodisi ¹tevec bajtov.\n"
+
+#: text-utils/parse.c:496
+#, c-format
+msgid "hexdump: bad format {%s}\n"
+msgstr "hexdump: slaba oblika [%s]\n"
+
+#: text-utils/parse.c:502
+#, c-format
+msgid "hexdump: bad conversion character %%%s.\n"
+msgstr "hexdump: slab pretvorni znak %%%s.\n"
+
+#: text-utils/pg.c:145
+msgid ""
+"All rights reserved.\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"
+msgstr ""
+
+#: text-utils/pg.c:223
+#, fuzzy
+msgid "Out of memory\n"
+msgstr "Zmanjkalo je pomnilnika"
+
+#: text-utils/pg.c:236
+#, c-format
+msgid ""
+"%s: Usage: %s [-number] [-p string] [-cefnrs] [+line] [+/pattern/] [files]\n"
+msgstr ""
+"%s: Uporaba: %s [-¹tevilo] [-p niz] [-cefnrs] [+vrstica] [+/vzorec/] "
+"[datoteke]\n"
+
+#: text-utils/pg.c:245
+#, c-format
+msgid "%s: option requires an argument -- %s\n"
+msgstr "%s: izbira zahteva argument -- %s\n"
+
+#: text-utils/pg.c:253
+#, c-format
+msgid "%s: illegal option -- %s\n"
+msgstr "%s: nedovoljena izbira -- %s\n"
+
+#: text-utils/pg.c:370
+msgid "...skipping forward\n"
+msgstr "... preskok naprej\n"
+
+#: text-utils/pg.c:372
+msgid "...skipping backward\n"
+msgstr "... preskok nazaj\n"
+
+#: text-utils/pg.c:394
+msgid "No next file"
+msgstr "Naslednje datoteke ni"
+
+#: text-utils/pg.c:398
+msgid "No previous file"
+msgstr "Prej¹nje datoteke ni"
+
+#: text-utils/pg.c:928
+#, c-format
+msgid "%s: Read error from %s file\n"
+msgstr "%s: Napaka pri branju iz datoteke %s\n"
+
+#: text-utils/pg.c:934
+#, c-format
+msgid "%s: Unexpected EOF in %s file\n"
+msgstr "%s: Neprièakovan konec datoteke v %s\n"
+
+#: text-utils/pg.c:937
+#, c-format
+msgid "%s: Unknown error in %s file\n"
+msgstr "%s: Neznana napaka v datoteki %s\n"
+
+#: text-utils/pg.c:1032
+#, c-format
+msgid "%s: Cannot create tempfile\n"
+msgstr "%s: Zaèasne datoteke ni mogoèe ustvariti\n"
+
+#: text-utils/pg.c:1041 text-utils/pg.c:1216 text-utils/pg.c:1243
+msgid "RE error: "
+msgstr "napaka RE: "
+
+#: text-utils/pg.c:1198
+msgid "(EOF)"
+msgstr "(EOF)"
+
+#: text-utils/pg.c:1224 text-utils/pg.c:1251
+msgid "No remembered search string"
+msgstr "Shranjenega iskalnega niza ni"
+
+#: text-utils/pg.c:1307
+msgid "Cannot open "
+msgstr "Ni mogoèe odpreti "
+
+#: text-utils/pg.c:1355
+msgid "saved"
+msgstr "shranjeno"
+
+#: text-utils/pg.c:1462
+msgid ": !command not allowed in rflag mode.\n"
+msgstr ": !ukaz ni dovoljen v rflag naèinu.\n"
+
+#: text-utils/pg.c:1494
+msgid "fork() failed, try again later\n"
+msgstr "klic fork() ni uspel, poskusite pozneje\n"
+
+#: text-utils/pg.c:1702
+msgid "(Next file: "
+msgstr "(Naslednja datoteka: "
+
+#: text-utils/rev.c:113
+#, fuzzy
+msgid "unable to allocate bufferspace"
+msgstr "Za medpomnilnik ni mogoèe dodeliti prostora.\n"
+
+#: text-utils/rev.c:143
+#, c-format
+msgid "usage: rev [file ...]\n"
+msgstr "Uporaba: rev [dat ...]\n"
+
+#: text-utils/tailf.c:57 text-utils/tailf.c:92
+#, fuzzy, c-format
+msgid "cannot open \"%s\" for read"
+msgstr "\"%s\" ni mogoèe odpreti za branje\n"
+
+#: text-utils/tailf.c:95 text-utils/tailf.c:214
+#, fuzzy, c-format
+msgid "cannot stat \"%s\""
+msgstr "stanja naprave %s ni mogoèe dobiti"
+
+#: text-utils/tailf.c:108
+#, c-format
+msgid "incomplete write to \"%s\" (written %zd, expected %zd)\n"
+msgstr ""
+
+#: text-utils/tailf.c:146
+#, c-format
+msgid "%s: cannot add inotify watch (limit of inotify watches was reached)."
+msgstr ""
+
+#: text-utils/tailf.c:150
+#, c-format
+msgid "%s: cannot add inotify watch."
+msgstr ""
+
+#: text-utils/tailf.c:159
+#, fuzzy, c-format
+msgid "%s: cannot read inotify events"
+msgstr "%s: ni mogoèe odpreti %s\n"
+
+#: text-utils/tailf.c:198 text-utils/tailf.c:202
+#, fuzzy
+msgid "invalid number of lines"
+msgstr "Neveljavno ¹tevilo: %s\n"
+
+#: text-utils/tailf.c:209
+#, fuzzy
+msgid "usage: tailf [-n N | -N] logfile"
+msgstr "Uporaba: tailf dnevdat[log]\n"
+
+#: text-utils/ul.c:141
+#, c-format
+msgid "usage: %s [ -i ] [ -tTerm ] file...\n"
+msgstr "Uporaba: %s [ -i ] [ -tTerm ] dat...\n"
+
+#: text-utils/ul.c:152
+#, c-format
+msgid "trouble reading terminfo"
+msgstr "pri branju terminfo baze podatk. je pri¹lo do napake"
+
+#: text-utils/ul.c:242
+#, c-format
+msgid "Unknown escape sequence in input: %o, %o\n"
+msgstr "Na vhodu je neznano ube¾no zaporedje: %o, %o\n"
+
+#: text-utils/ul.c:425
+#, c-format
+msgid "Unable to allocate buffer.\n"
+msgstr "Za medpomnilnik ni mogoèe dodeliti pomnilnika.\n"
+
+#: text-utils/ul.c:586
+#, c-format
+msgid "Input line too long.\n"
+msgstr "Vhodna vrstica je predolga.\n"
+
+#: text-utils/ul.c:599
+#, c-format
+msgid "Out of memory when growing buffer.\n"
+msgstr "Pri poveèevanju medpomnilnika je zmanjkalo pomnilnika.\n"
+
+#~ msgid "# partition table of %s\n"
+#~ msgstr "# tabela razdelkov od %s\n"
+
+#, 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: unable to get current directory - %s\n"
+#~ msgstr "namei: trenutnega imenika ni mogoèe dobiti - %s\n"
+
+#~ msgid "namei: unable to chdir to %s - %s (%d)\n"
+#~ msgstr "namei: sprememba imenika ni mogoèa v %s - %s (%d)\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"
+
+#, fuzzy
+#~ msgid "%s: cannot stat %s: %s\n"
+#~ msgstr "%s: za %s stanje ni znano: %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 "Autoconfigure failed.\n"
+#~ msgstr "Samozaznava ni uspela.\n"
+
+#~ 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"
+
+#, fuzzy
+#~ msgid "%s from %s%s\n"
+#~ msgstr "%s iz %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: cannot find %s in %s"
+#~ msgstr "mount: %s ni mogoèe najti v %s"
+
+#~ 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 (file)
index 0000000..9788f70
--- /dev/null
@@ -0,0 +1 @@
+timestamp
diff --git a/po/sv.gmo b/po/sv.gmo
new file mode 100644 (file)
index 0000000..75c433f
Binary files /dev/null and b/po/sv.gmo differ
diff --git a/po/sv.po b/po/sv.po
new file mode 100644 (file)
index 0000000..52ed9bd
--- /dev/null
+++ b/po/sv.po
@@ -0,0 +1,12415 @@
+# 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: Karel Zak <kzak@redhat.com>\n"
+"POT-Creation-Date: 2009-11-30 16:27+0100\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"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: disk-utils/blockdev.c:37
+msgid "set read-only"
+msgstr "ställ in som skrivskyddad"
+
+#: disk-utils/blockdev.c:38
+msgid "set read-write"
+msgstr "ställ in som läs och skriv"
+
+#: disk-utils/blockdev.c:39
+msgid "get read-only"
+msgstr "hämta skrivskyddad"
+
+#: disk-utils/blockdev.c:40
+msgid "get sectorsize"
+msgstr "hämta sektorstorlek"
+
+#: disk-utils/blockdev.c:41
+msgid "get blocksize"
+msgstr "hämta blockstorlek"
+
+#: disk-utils/blockdev.c:42
+msgid "set blocksize"
+msgstr "ställ in blockstorlek"
+
+#: disk-utils/blockdev.c:43
+msgid "get 32-bit sector count"
+msgstr "hämta 32-bitars sektorantal"
+
+#: disk-utils/blockdev.c:44
+msgid "get size in bytes"
+msgstr "hämta storlek i byte"
+
+#: disk-utils/blockdev.c:45
+msgid "set readahead"
+msgstr "ställ in förvägsläsning"
+
+#: disk-utils/blockdev.c:46
+msgid "get readahead"
+msgstr "hämta förvägsläsning"
+
+#: disk-utils/blockdev.c:47
+msgid "set filesystem readahead"
+msgstr "ställ in filsystemsförvägsläsning"
+
+#: disk-utils/blockdev.c:48
+msgid "get filesystem readahead"
+msgstr "hämta filsystemsförvägsläsning"
+
+#: disk-utils/blockdev.c:49
+msgid "flush buffers"
+msgstr "töm buffertar"
+
+#: disk-utils/blockdev.c:51
+msgid "reread partition table"
+msgstr "läs om partitionstabellen"
+
+#: disk-utils/blockdev.c:60
+#, c-format
+msgid "Usage:\n"
+msgstr "Användning:\n"
+
+#: disk-utils/blockdev.c:62
+#, c-format
+msgid "  %s --report [devices]\n"
+msgstr "  %s --report [enheter]\n"
+
+#: disk-utils/blockdev.c:63
+#, c-format
+msgid "  %s [-v|-q] commands devices\n"
+msgstr "  %s [-v|-q] kommandon enheter\n"
+
+#: disk-utils/blockdev.c:66
+#, c-format
+msgid "Available commands:\n"
+msgstr "Tillgängliga kommandon:\n"
+
+#: disk-utils/blockdev.c:68
+msgid "get size in 512-byte sectors"
+msgstr "hämta storlek i 512-byte sektorer"
+
+#: disk-utils/blockdev.c:201
+#, c-format
+msgid "%s: Unknown command: %s\n"
+msgstr "%s: Okänt kommando: %s\n"
+
+#: disk-utils/blockdev.c:213 disk-utils/blockdev.c:222
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s kräver ett argument\n"
+
+#: disk-utils/blockdev.c:255
+#, c-format
+msgid "%s failed.\n"
+msgstr "%s misslyckades.\n"
+
+#: disk-utils/blockdev.c:292
+#, c-format
+msgid "%s succeeded.\n"
+msgstr "%s lyckades.\n"
+
+#: disk-utils/blockdev.c:310 disk-utils/blockdev.c:338
+#, c-format
+msgid "%s: cannot open %s\n"
+msgstr "%s: kan inte öppna %s\n"
+
+#: disk-utils/blockdev.c:355
+#, c-format
+msgid "%s: ioctl error on %s\n"
+msgstr "%s: ioctl-fel på %s\n"
+
+#: disk-utils/blockdev.c:364
+#, fuzzy, c-format
+msgid "RO    RA   SSZ   BSZ   StartSec            Size   Device\n"
+msgstr "RO    RA   SSZ   BSZ   Startsektor  Storlek Enhet\n"
+
+#: disk-utils/elvtune.c:48
+#, c-format
+msgid "usage:\n"
+msgstr "användning:\n"
+
+#: disk-utils/elvtune.c:53
+#, c-format
+msgid "\tNOTE: elvtune only works with 2.4 kernels\n"
+msgstr ""
+
+#: disk-utils/elvtune.c:104
+#, fuzzy, c-format
+msgid "parse error\n"
+msgstr "sökfel"
+
+#: disk-utils/elvtune.c:110
+#, fuzzy, c-format
+msgid "missing blockdevice, use -h for help\n"
+msgstr "%s är ingen blockenhet eller fil\n"
+
+#: disk-utils/elvtune.c:131
+#, 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:31
+#, c-format
+msgid "Formatting ... "
+msgstr "Formaterar... "
+
+#: disk-utils/fdformat.c:49 disk-utils/fdformat.c:86
+#, c-format
+msgid "done\n"
+msgstr "klar\n"
+
+#: disk-utils/fdformat.c:60
+#, 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:80
+#, c-format
+msgid ""
+"bad data in cyl %d\n"
+"Continuing ... "
+msgstr ""
+"felaktig data på cylinder %d\n"
+"Fortsätter... "
+
+#: disk-utils/fdformat.c:96
+#, c-format
+msgid "usage: %s [ -n ] device\n"
+msgstr "användning: %s [ -n ] enhet\n"
+
+#: disk-utils/fdformat.c:118 disk-utils/fsck.minix.c:1282
+#: disk-utils/isosize.c:181 disk-utils/mkfs.bfs.c:115 disk-utils/mkfs.c:52
+#: disk-utils/mkfs.cramfs.c:813 disk-utils/mkfs.minix.c:571
+#: disk-utils/mkswap.c:461 misc-utils/ddate.c:179 misc-utils/rename.c:79
+#: misc-utils/script.c:147 sys-utils/readprofile.c:197
+#, c-format
+msgid "%s (%s)\n"
+msgstr "%s (%s)\n"
+
+#: disk-utils/fdformat.c:132
+#, c-format
+msgid "%s: not a block device\n"
+msgstr "%s: inte en blockenhet\n"
+
+#: disk-utils/fdformat.c:142
+msgid "Could not determine current format type"
+msgstr "Kunde inte avgöra nuvarande formattyp"
+
+#: disk-utils/fdformat.c:143
+#, 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:144
+msgid "Double"
+msgstr "Dubbel"
+
+#: disk-utils/fdformat.c:144
+msgid "Single"
+msgstr "Enkel"
+
+#: disk-utils/fsck.cramfs.c:118
+#, c-format
+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"
+
+#: disk-utils/fsck.cramfs.c:164
+#, fuzzy, c-format
+msgid "stat failed: %s"
+msgstr "(Nästa fil: %s)"
+
+#: disk-utils/fsck.cramfs.c:168 disk-utils/fsck.cramfs.c:552
+#, fuzzy, c-format
+msgid "open failed: %s"
+msgstr "openpty misslyckades\n"
+
+#: disk-utils/fsck.cramfs.c:173
+#, 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:181
+#, fuzzy, c-format
+msgid "not a block device or file: %s"
+msgstr "%s är ingen blockenhet eller fil\n"
+
+#: disk-utils/fsck.cramfs.c:185 disk-utils/fsck.cramfs.c:227
+#, fuzzy
+msgid "file length too short"
+msgstr "%s: ogiltigt cramfs--fillängden är för kort\n"
+
+#: disk-utils/fsck.cramfs.c:190 disk-utils/fsck.cramfs.c:198
+#: disk-utils/fsck.cramfs.c:259 disk-utils/fsck.cramfs.c:279
+#, fuzzy, c-format
+msgid "read failed: %s"
+msgstr "(Nästa fil: %s)"
+
+#: disk-utils/fsck.cramfs.c:208
+msgid "superblock magic not found"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:217
+#, fuzzy
+msgid "unsupported filesystem features"
+msgstr "Ange typen av filsystem: "
+
+#: disk-utils/fsck.cramfs.c:220
+#, fuzzy, c-format
+msgid "superblock size (%d) too small"
+msgstr "Antal sektorer"
+
+#: disk-utils/fsck.cramfs.c:224
+msgid "zero file count"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:230
+#, 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:234
+#, fuzzy, c-format
+msgid "warning: old cramfs format\n"
+msgstr "%s: varning--gammal cramfs-avbild, ingen CRC\n"
+
+#: disk-utils/fsck.cramfs.c:247
+msgid "unable to test CRC: old cramfs format"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:273 disk-utils/fsck.cramfs.c:340
+#: disk-utils/fsck.cramfs.c:478 login-utils/chfn.c:529 login-utils/chsh.c:439
+#: sys-utils/cytune.c:321
+msgid "malloc failed"
+msgstr "minnesallokering misslyckades"
+
+#: disk-utils/fsck.cramfs.c:298
+#, fuzzy
+msgid "crc error"
+msgstr ", fel"
+
+#: disk-utils/fsck.cramfs.c:365
+#, fuzzy
+msgid "root inode is not directory"
+msgstr "rotinoden är inte en katalog"
+
+#: disk-utils/fsck.cramfs.c:370
+#, c-format
+msgid "bad root offset (%lu)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:388
+msgid "data block too large"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:392
+#, c-format
+msgid "decompression error %p(%d): %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:416
+#, fuzzy, c-format
+msgid "  hole at %ld (%zd)\n"
+msgstr "  hål vid %ld (%d)\n"
+
+#: disk-utils/fsck.cramfs.c:424 disk-utils/fsck.cramfs.c:596
+#, 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:430
+#, fuzzy, c-format
+msgid "non-block (%ld) bytes"
+msgstr "%s: Icke-blockbyte (%ld)\n"
+
+#: disk-utils/fsck.cramfs.c:434
+#, fuzzy, c-format
+msgid "non-size (%ld vs %ld) bytes"
+msgstr "%s: Icke-storleksbyte (%ld gentemot %ld)\n"
+
+#: disk-utils/fsck.cramfs.c:440
+#, fuzzy, c-format
+msgid "write failed: %s"
+msgstr "(Nästa fil: %s)"
+
+#: disk-utils/fsck.cramfs.c:453
+#, fuzzy, c-format
+msgid "lchown failed: %s"
+msgstr "montering misslyckades"
+
+#: disk-utils/fsck.cramfs.c:459
+#, fuzzy, c-format
+msgid "chown failed: %s"
+msgstr "montering misslyckades"
+
+#: disk-utils/fsck.cramfs.c:466
+#, fuzzy, c-format
+msgid "utime failed: %s"
+msgstr "felaktigt timeoutvärde: %s"
+
+#: disk-utils/fsck.cramfs.c:481
+#, c-format
+msgid "directory inode has zero offset and non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:495
+#, fuzzy, c-format
+msgid "mkdir failed: %s"
+msgstr "/dev: chdir() misslyckades: %m"
+
+#: disk-utils/fsck.cramfs.c:512
+msgid "filename length is zero"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:515
+msgid "bad filename length"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:522
+#, fuzzy
+msgid "bad inode offset"
+msgstr "felaktig storlek på inod"
+
+#: disk-utils/fsck.cramfs.c:538
+msgid "file inode has zero offset and non-zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:541
+msgid "file inode has zero size and non-zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:572
+msgid "symbolic link has zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:575
+msgid "symbolic link has zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:587
+#, fuzzy, c-format
+msgid "size error in symlink: %s"
+msgstr "%s: storleksfel i symboliska länken \"%s\"\n"
+
+#: disk-utils/fsck.cramfs.c:602
+#, fuzzy, c-format
+msgid "symlink failed: %s"
+msgstr "fsync misslyckades"
+
+#: disk-utils/fsck.cramfs.c:614
+#, c-format
+msgid "special file has non-zero offset: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:626
+#, c-format
+msgid "fifo has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:632
+#, c-format
+msgid "socket has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:637
+#, fuzzy, c-format
+msgid "bogus mode: %s (%o)"
+msgstr "%s: felaktiga rättigheter på \"%s\" (%o)\n"
+
+#: disk-utils/fsck.cramfs.c:647
+#, fuzzy, c-format
+msgid "mknod failed: %s"
+msgstr "montering misslyckades"
+
+#: disk-utils/fsck.cramfs.c:683
+#, c-format
+msgid "directory data start (%ld) < sizeof(struct cramfs_super) + start (%ld)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:686
+#, 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:691
+#, fuzzy
+msgid "invalid file data offset"
+msgstr "%s: ogiltigt cramfs--ogiltigt fildataavstånd\n"
+
+#: disk-utils/fsck.cramfs.c:715
+#, fuzzy
+msgid "failed to allocate outbuffer"
+msgstr "Kan inte allokera buffert.\n"
+
+#: disk-utils/fsck.cramfs.c:728
+#, fuzzy
+msgid "compiled without -x support"
+msgstr "%s: kompilerad utan stöd för -x\n"
+
+#: disk-utils/fsck.minix.c:210
+#, c-format
+msgid "Usage: %s [-larvsmf] /dev/name\n"
+msgstr "Användning: %s [-larvsmf] /dev/namn\n"
+
+#: disk-utils/fsck.minix.c:326
+#, c-format
+msgid "%s is mounted.\t "
+msgstr "%s är monterad.\t "
+
+#: disk-utils/fsck.minix.c:328
+msgid "Do you really want to continue"
+msgstr "Vill du verkligen fortsätta"
+
+#: disk-utils/fsck.minix.c:332
+#, c-format
+msgid "check aborted.\n"
+msgstr "kontroll avbruten.\n"
+
+#: disk-utils/fsck.minix.c:351 disk-utils/fsck.minix.c:374
+#, c-format
+msgid "Zone nr < FIRSTZONE in file `%s'."
+msgstr "Zonnummer < \"FIRSTZONE\" i filen \"%s\"."
+
+#: disk-utils/fsck.minix.c:355 disk-utils/fsck.minix.c:378
+#, c-format
+msgid "Zone nr >= ZONES in file `%s'."
+msgstr "Zonnummer >= \"ZONES\" i filen \"%s\"."
+
+#: disk-utils/fsck.minix.c:360 disk-utils/fsck.minix.c:383
+msgid "Remove block"
+msgstr "Ta bort block"
+
+#: disk-utils/fsck.minix.c:401
+#, 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:407
+#, 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:422
+#, 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:428 disk-utils/mkfs.minix.c:209
+msgid "seek failed in write_block"
+msgstr "sökning misslyckades i \"write_block\""
+
+#: disk-utils/fsck.minix.c:431
+#, c-format
+msgid "Write error: bad block in file '%s'\n"
+msgstr "Skrivfel: felaktigt block i filen \"%s\"\n"
+
+#: disk-utils/fsck.minix.c:547
+msgid "seek failed in write_super_block"
+msgstr "sökning misslyckades i \"write_super_block\""
+
+#: disk-utils/fsck.minix.c:549 disk-utils/mkfs.minix.c:196
+msgid "unable to write super-block"
+msgstr "kan inte skriva superblock"
+
+#: disk-utils/fsck.minix.c:559
+msgid "Unable to write inode map"
+msgstr "Kan inte skriva inodstabell"
+
+#: disk-utils/fsck.minix.c:561
+msgid "Unable to write zone map"
+msgstr "Kan inte skriva zontabell"
+
+#: disk-utils/fsck.minix.c:563
+msgid "Unable to write inodes"
+msgstr "Kan inte skriva inoder"
+
+#: disk-utils/fsck.minix.c:590
+msgid "seek failed"
+msgstr "sökning misslyckades"
+
+#: disk-utils/fsck.minix.c:592
+msgid "unable to read super block"
+msgstr "kan inte läsa superblock"
+
+#: disk-utils/fsck.minix.c:610
+msgid "bad magic number in super-block"
+msgstr "felaktig magisk siffra i superblocket"
+
+#: disk-utils/fsck.minix.c:612
+msgid "Only 1k blocks/zones supported"
+msgstr "Endast 1 kB stora block/zoner stöds"
+
+#: disk-utils/fsck.minix.c:614
+msgid "bad s_imap_blocks field in super-block"
+msgstr "felaktigt \"s_imap_blocks\"-fält i superblocket"
+
+#: disk-utils/fsck.minix.c:616
+msgid "bad s_zmap_blocks field in super-block"
+msgstr "felaktigt \"s_zmap_blocks\"-fält i superblocket"
+
+#: disk-utils/fsck.minix.c:623
+msgid "Unable to allocate buffer for inode map"
+msgstr "Kan inte allokera buffert för inodstabell"
+
+#: disk-utils/fsck.minix.c:626
+msgid "Unable to allocate buffer for zone map"
+msgstr "Kan inte allokera buffert för zonkarta"
+
+#: disk-utils/fsck.minix.c:631
+msgid "Unable to allocate buffer for inodes"
+msgstr "Kan inte allokera buffert för inoder"
+
+#: disk-utils/fsck.minix.c:634
+msgid "Unable to allocate buffer for inode count"
+msgstr "Kan inte allokera buffert för inodsräknare"
+
+#: disk-utils/fsck.minix.c:637
+msgid "Unable to allocate buffer for zone count"
+msgstr "Kan inte allokera buffert för zonräknare"
+
+#: disk-utils/fsck.minix.c:639
+msgid "Unable to read inode map"
+msgstr "Kan inte läsa inodstabell"
+
+#: disk-utils/fsck.minix.c:641
+msgid "Unable to read zone map"
+msgstr "Kan inte läsa zontabell"
+
+#: disk-utils/fsck.minix.c:643
+msgid "Unable to read inodes"
+msgstr "Kan inte läsa inoder"
+
+#: disk-utils/fsck.minix.c:645
+#, c-format
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr "Varning: \"Firstzone\" != \"Norm_firstzone\"\n"
+
+#: disk-utils/fsck.minix.c:650 disk-utils/mkfs.minix.c:450
+#, c-format
+msgid "%ld inodes\n"
+msgstr "%ld inoder\n"
+
+#: disk-utils/fsck.minix.c:651 disk-utils/mkfs.minix.c:451
+#, c-format
+msgid "%ld blocks\n"
+msgstr "%ld block\n"
+
+#: disk-utils/fsck.minix.c:652 disk-utils/mkfs.minix.c:452
+#, c-format
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr "\"Firstdatazone\"=%ld (%ld)\n"
+
+#: disk-utils/fsck.minix.c:653 disk-utils/mkfs.minix.c:453
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr "Zonstorlek=%d\n"
+
+#: disk-utils/fsck.minix.c:654
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr "Maxstorlek=%ld\n"
+
+#: disk-utils/fsck.minix.c:655
+#, c-format
+msgid "Filesystem state=%d\n"
+msgstr "Filsystemstillstånd=%d\n"
+
+#: disk-utils/fsck.minix.c:656
+#, c-format
+msgid ""
+"namelen=%d\n"
+"\n"
+msgstr ""
+"\"namelen\"=%d\n"
+"\n"
+
+#: disk-utils/fsck.minix.c:671 disk-utils/fsck.minix.c:722
+#, 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:675 disk-utils/fsck.minix.c:726
+msgid "Mark in use"
+msgstr "Märk som använd"
+
+#: disk-utils/fsck.minix.c:697 disk-utils/fsck.minix.c:746
+#, c-format
+msgid "The file `%s' has mode %05o\n"
+msgstr "Filen \"%s\" har rättigheterna %05o\n"
+
+#: disk-utils/fsck.minix.c:704 disk-utils/fsck.minix.c:752
+#, c-format
+msgid "Warning: inode count too big.\n"
+msgstr "Varning: antalet inoder är för stort.\n"
+
+#: disk-utils/fsck.minix.c:764 disk-utils/fsck.minix.c:772
+msgid "root inode isn't a directory"
+msgstr "rotinoden är inte en katalog"
+
+#: disk-utils/fsck.minix.c:786 disk-utils/fsck.minix.c:819
+#, 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:788 disk-utils/fsck.minix.c:821
+#: disk-utils/fsck.minix.c:1144 disk-utils/fsck.minix.c:1153
+#: disk-utils/fsck.minix.c:1199 disk-utils/fsck.minix.c:1208
+msgid "Clear"
+msgstr "Töm"
+
+#: disk-utils/fsck.minix.c:798 disk-utils/fsck.minix.c:831
+#, 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:800 disk-utils/fsck.minix.c:833
+msgid "Correct"
+msgstr "Korrigera"
+
+#: disk-utils/fsck.minix.c:972 disk-utils/fsck.minix.c:1039
+#, 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:975 disk-utils/fsck.minix.c:1042
+msgid " Remove"
+msgstr " Ta bort"
+
+#: disk-utils/fsck.minix.c:989 disk-utils/fsck.minix.c:1056
+#, c-format
+msgid "%s: bad directory: '.' isn't first\n"
+msgstr "%s: felaktig katalog: \".\" kommer inte först\n"
+
+#: disk-utils/fsck.minix.c:997 disk-utils/fsck.minix.c:1065
+#, 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:1099 disk-utils/fsck.minix.c:1117
+msgid "internal error"
+msgstr "internt fel"
+
+#: disk-utils/fsck.minix.c:1102 disk-utils/fsck.minix.c:1120
+#, c-format
+msgid "%s: bad directory: size < 32"
+msgstr "%s: felaktig katalog: storlek < 32"
+
+#: disk-utils/fsck.minix.c:1133
+msgid "seek failed in bad_zone"
+msgstr "sökning misslyckades i \"bad_zone\""
+
+#: disk-utils/fsck.minix.c:1143 disk-utils/fsck.minix.c:1198
+#, c-format
+msgid "Inode %d mode not cleared."
+msgstr "Inod %d är inte tömd."
+
+#: disk-utils/fsck.minix.c:1152 disk-utils/fsck.minix.c:1207
+#, c-format
+msgid "Inode %d not used, marked used in the bitmap."
+msgstr "Inod %d är oanvänd, markerad som använd i bittabellen."
+
+#: disk-utils/fsck.minix.c:1158 disk-utils/fsck.minix.c:1213
+#, c-format
+msgid "Inode %d used, marked unused in the bitmap."
+msgstr "Inod %d är använd, markerad som oanvänd i bittabellen."
+
+#: disk-utils/fsck.minix.c:1160 disk-utils/fsck.minix.c:1214
+msgid "Set"
+msgstr "Ställ in"
+
+#: disk-utils/fsck.minix.c:1164 disk-utils/fsck.minix.c:1218
+#, c-format
+msgid "Inode %d (mode = %07o), i_nlinks=%d, counted=%d."
+msgstr "Inod %d (rättighet = %07o), i_nlinks=%d, räknade=%d."
+
+#: disk-utils/fsck.minix.c:1166 disk-utils/fsck.minix.c:1220
+msgid "Set i_nlinks to count"
+msgstr "Ställ i_nlinks till räknat antal"
+
+#: disk-utils/fsck.minix.c:1178 disk-utils/fsck.minix.c:1232
+#, c-format
+msgid "Zone %d: marked in use, no file uses it."
+msgstr "Zon %d: markerad som använd, ingen fil använder den."
+
+#: disk-utils/fsck.minix.c:1179 disk-utils/fsck.minix.c:1234
+msgid "Unmark"
+msgstr "Avmarkera"
+
+#: disk-utils/fsck.minix.c:1184 disk-utils/fsck.minix.c:1239
+#, c-format
+msgid "Zone %d: in use, counted=%d\n"
+msgstr "Zon %d: används, räknade=%d\n"
+
+#: disk-utils/fsck.minix.c:1187 disk-utils/fsck.minix.c:1242
+#, c-format
+msgid "Zone %d: not in use, counted=%d\n"
+msgstr "Zon %d: används inte, räknade=%d\n"
+
+#: disk-utils/fsck.minix.c:1287 disk-utils/mkfs.minix.c:576
+#: disk-utils/mkfs.minix.c:578
+msgid "bad inode size"
+msgstr "felaktig storlek på inod"
+
+#: disk-utils/fsck.minix.c:1289
+msgid "bad v2 inode size"
+msgstr "felaktig storlek på v2-inod"
+
+#: disk-utils/fsck.minix.c:1315
+msgid "need terminal for interactive repairs"
+msgstr "behöver terminal för interaktiva reparationer"
+
+#: disk-utils/fsck.minix.c:1319
+#, fuzzy, c-format
+msgid "unable to open '%s': %s"
+msgstr "kan inte öppna \"%s\""
+
+#: disk-utils/fsck.minix.c:1334
+#, c-format
+msgid "%s is clean, no check.\n"
+msgstr "%s är rent, ingen kontroll.\n"
+
+#: disk-utils/fsck.minix.c:1338
+#, c-format
+msgid "Forcing filesystem check on %s.\n"
+msgstr "Tvingar filsystemskontroll på %s.\n"
+
+#: disk-utils/fsck.minix.c:1340
+#, 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:1373
+#, c-format
+msgid ""
+"\n"
+"%6ld inodes used (%ld%%)\n"
+msgstr ""
+"\n"
+"%6ld inoder används (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1378
+#, c-format
+msgid "%6ld zones used (%ld%%)\n"
+msgstr "%6ld zoner används (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1380
+#, 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:1393
+#, c-format
+msgid ""
+"----------------------------\n"
+"FILE SYSTEM HAS BEEN CHANGED\n"
+"----------------------------\n"
+msgstr ""
+"-----------------------\n"
+"FILSYSTEMET HAR ÄNDRATS\n"
+"-----------------------\n"
+
+#: disk-utils/isosize.c:129
+#, c-format
+msgid "%s: failed to open: %s\n"
+msgstr "%s: misslyckades med att öppna: %s\n"
+
+#: disk-utils/isosize.c:135
+#, c-format
+msgid "%s: seek error on %s\n"
+msgstr "%s: sökfel på %s\n"
+
+#: disk-utils/isosize.c:141
+#, c-format
+msgid "%s: read error on %s\n"
+msgstr "%s: läsfel på %s\n"
+
+#: disk-utils/isosize.c:150
+#, c-format
+msgid "sector count: %d, sector size: %d\n"
+msgstr "sektorantal: %d, sektorstorlek: %d\n"
+
+#: disk-utils/isosize.c:200
+#, c-format
+msgid "%s: option parse error\n"
+msgstr "%s: fel vid flaggtolkning\n"
+
+#: disk-utils/isosize.c:208
+#, c-format
+msgid "Usage: %s [-x] [-d <num>] iso9660-image\n"
+msgstr "Användning: %s [-x] [-d <num>] iso9660-avbild\n"
+
+#: disk-utils/mkfs.bfs.c:84
+#, c-format
+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"
+
+#: disk-utils/mkfs.bfs.c:131
+msgid "volume name too long"
+msgstr "volymnamnet är för långt"
+
+#: disk-utils/mkfs.bfs.c:138
+msgid "fsname name too long"
+msgstr "filsystemsnamnet är för långt"
+
+#: disk-utils/mkfs.bfs.c:163
+#, c-format
+msgid "cannot stat device %s"
+msgstr "kan inte ta status på enheten %s"
+
+#: disk-utils/mkfs.bfs.c:167
+#, c-format
+msgid "%s is not a block special device"
+msgstr "%s är ingen blockspecialenhet"
+
+#: disk-utils/mkfs.bfs.c:172 sys-utils/ldattach.c:205
+#, c-format
+msgid "cannot open %s"
+msgstr "kan inte öppna %s"
+
+#: disk-utils/mkfs.bfs.c:183
+#, c-format
+msgid "cannot get size of %s"
+msgstr "kan inte hämta storleken på %s"
+
+#: disk-utils/mkfs.bfs.c:188
+#, 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:203
+msgid "too many inodes - max is 512"
+msgstr "för många inoder - max är 512"
+
+#: disk-utils/mkfs.bfs.c:212
+#, 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:224 fdisk/fdisk.c:2345
+#, c-format
+msgid "Device: %s\n"
+msgstr "Enhet: %s\n"
+
+#: disk-utils/mkfs.bfs.c:225
+#, c-format
+msgid "Volume: <%-6s>\n"
+msgstr "Volym: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:226
+#, c-format
+msgid "FSname: <%-6s>\n"
+msgstr "Filsystemsnamn: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:227
+#, c-format
+msgid "BlockSize: %d\n"
+msgstr "Blockstorlek: %d\n"
+
+#: disk-utils/mkfs.bfs.c:229
+#, c-format
+msgid "Inodes: %d (in 1 block)\n"
+msgstr "Inoder: %d (i 1 block)\n"
+
+#: disk-utils/mkfs.bfs.c:232
+#, fuzzy, c-format
+msgid "Inodes: %d (in %lld blocks)\n"
+msgstr "Inoder: %d (i %ld block)\n"
+
+#: disk-utils/mkfs.bfs.c:234
+#, fuzzy, c-format
+msgid "Blocks: %lld\n"
+msgstr "Block: %ld\n"
+
+#: disk-utils/mkfs.bfs.c:235
+#, c-format
+msgid "Inode end: %d, Data end: %d\n"
+msgstr "Inodsslut: %d, dataslut: %d\n"
+
+#: disk-utils/mkfs.bfs.c:240
+msgid "error writing superblock"
+msgstr "fel vid skrivning av superblock"
+
+#: disk-utils/mkfs.bfs.c:260
+msgid "error writing root inode"
+msgstr "fel vid skrivning av rotinod"
+
+#: disk-utils/mkfs.bfs.c:265
+msgid "error writing inode"
+msgstr "fel vid skrivning av inod"
+
+#: disk-utils/mkfs.bfs.c:268
+msgid "seek error"
+msgstr "sökfel"
+
+#: disk-utils/mkfs.bfs.c:274
+msgid "error writing . entry"
+msgstr "fel vid skrivning av \".\"-post"
+
+#: disk-utils/mkfs.bfs.c:278
+msgid "error writing .. entry"
+msgstr "fel vid skrivning av \"..\"-post"
+
+#: disk-utils/mkfs.bfs.c:282
+#, c-format
+msgid "error closing %s"
+msgstr "fel vid stängning av %s"
+
+#: disk-utils/mkfs.c:73
+#, c-format
+msgid "Usage: mkfs [-V] [-t fstype] [fs-options] device [size]\n"
+msgstr ""
+"Användning: mkfs [-V] [-t filsystemstyp] [filsystemsflaggor] enhet "
+"[storlek]\n"
+
+#: disk-utils/mkfs.c:88 disk-utils/mkfs.c:96 fdisk/cfdisk.c:351
+#: getopt/getopt.c:86 getopt/getopt.c:96 login-utils/wall.c:246
+#, c-format
+msgid "%s: Out of memory!\n"
+msgstr "%s: Slut på minne!\n"
+
+#: disk-utils/mkfs.c:103
+#, c-format
+msgid "mkfs (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: disk-utils/mkfs.cramfs.c:126
+#, 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:340
+#, fuzzy, c-format
+msgid ""
+"Very long (%zu bytes) filename `%s' found.\n"
+" Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile.  Exiting.\n"
+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:472
+#, c-format
+msgid "filesystem too big.  Exiting.\n"
+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:637
+#, 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:656
+#, fuzzy, c-format
+msgid "%6.2f%% (%+ld bytes)\t%s\n"
+msgstr "%6.2f%% (%+d byte)\t%s\n"
+
+#: disk-utils/mkfs.cramfs.c:854
+#, fuzzy, c-format
+msgid ""
+"warning: guestimate of required size (upper bound) is %lldMB, but maximum "
+"image size is %uMB.  We might die prematurely.\n"
+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:881
+msgid "ROM image map"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:895
+#, c-format
+msgid "Including: %s\n"
+msgstr "Inklusive: %s\n"
+
+#: disk-utils/mkfs.cramfs.c:901
+#, fuzzy, c-format
+msgid "Directory data: %zd bytes\n"
+msgstr "Katalogdata: %d byte\n"
+
+#: disk-utils/mkfs.cramfs.c:909
+#, fuzzy, c-format
+msgid "Everything: %zd kilobytes\n"
+msgstr "Allting: %d kilobyte\n"
+
+#: disk-utils/mkfs.cramfs.c:914
+#, fuzzy, c-format
+msgid "Super block: %zd bytes\n"
+msgstr "Superblock: %d byte\n"
+
+#: disk-utils/mkfs.cramfs.c:921
+#, c-format
+msgid "CRC: %x\n"
+msgstr "CRC: %x\n"
+
+#: disk-utils/mkfs.cramfs.c:926
+#, fuzzy, c-format
+msgid "not enough space allocated for ROM image (%lld allocated, %zu used)\n"
+msgstr ""
+"inte tillräckligt med utrymme allokerat för ROM-avbild (%lld allokerat, %d "
+"använt)\n"
+
+#: disk-utils/mkfs.cramfs.c:934
+msgid "ROM image"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:938
+#, fuzzy, c-format
+msgid "ROM image write failed (%zd %zd)\n"
+msgstr "ROM-avbildsskrivning misslyckades (%d %d)\n"
+
+#: disk-utils/mkfs.cramfs.c:947
+#, c-format
+msgid "warning: filenames truncated to 255 bytes.\n"
+msgstr "varning: filnamn avkortade till 255 byte.\n"
+
+#: disk-utils/mkfs.cramfs.c:950
+#, c-format
+msgid "warning: files were skipped due to errors.\n"
+msgstr "varning: filer hoppades över på grund av fel.\n"
+
+#: disk-utils/mkfs.cramfs.c:953
+#, c-format
+msgid "warning: file sizes truncated to %luMB (minus 1 byte).\n"
+msgstr "varning: filstorlekar avkortade till %lu MB (minus 1 byte).\n"
+
+#: disk-utils/mkfs.cramfs.c:958
+#, c-format
+msgid ""
+"warning: uids truncated to %u bits.  (This may be a security concern.)\n"
+msgstr ""
+"varning: uid avkortade till %u bitar (detta kan vara ett säkerhetsproblem).\n"
+
+#: disk-utils/mkfs.cramfs.c:963
+#, c-format
+msgid ""
+"warning: gids truncated to %u bits.  (This may be a security concern.)\n"
+msgstr ""
+"varning: gid avkortade till %u bitar (detta kan vara ett säkerhetsproblem).\n"
+
+#: disk-utils/mkfs.cramfs.c:968
+#, c-format
+msgid ""
+"WARNING: device numbers truncated to %u bits.  This almost certainly means\n"
+"that some device files will be wrong.\n"
+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:156
+#, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]\n"
+msgstr "Användning: %s [-c | -l filnamn] [-nXX] [-iXX] /dev/namn [block]\n"
+
+#: disk-utils/mkfs.minix.c:180
+#, 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:190
+msgid "seek to boot block failed in write_tables"
+msgstr "sökning till startblock misslyckades i \"write_tables\""
+
+#: disk-utils/mkfs.minix.c:192
+msgid "unable to clear boot sector"
+msgstr "kan inte tömma startsektor"
+
+#: disk-utils/mkfs.minix.c:194
+msgid "seek failed in write_tables"
+msgstr "sökning misslyckades i \"write_tables\""
+
+#: disk-utils/mkfs.minix.c:198
+msgid "unable to write inode map"
+msgstr "kan inte skriva inodstabell"
+
+#: disk-utils/mkfs.minix.c:200
+msgid "unable to write zone map"
+msgstr "kan inte skriva zontabell"
+
+#: disk-utils/mkfs.minix.c:202
+msgid "unable to write inodes"
+msgstr "kan inte skriva inoder"
+
+#: disk-utils/mkfs.minix.c:211
+msgid "write failed in write_block"
+msgstr "skrivning misslyckades i \"write_block\""
+
+#: disk-utils/mkfs.minix.c:219 disk-utils/mkfs.minix.c:293
+#: disk-utils/mkfs.minix.c:342
+msgid "too many bad blocks"
+msgstr "för många felaktiga block"
+
+#: disk-utils/mkfs.minix.c:227
+msgid "not enough good blocks"
+msgstr "inte tillräckligt med korrekta block"
+
+#: disk-utils/mkfs.minix.c:439
+msgid "unable to allocate buffers for maps"
+msgstr "kan inte allokera buffertar för tabeller"
+
+#: disk-utils/mkfs.minix.c:448
+msgid "unable to allocate buffer for inodes"
+msgstr "kan inte allokera buffert för inoder"
+
+#: disk-utils/mkfs.minix.c:454
+#, c-format
+msgid ""
+"Maxsize=%ld\n"
+"\n"
+msgstr ""
+"Maxstorlek=%ld\n"
+"\n"
+
+#: disk-utils/mkfs.minix.c:468
+msgid "seek failed during testing of blocks"
+msgstr "sökning misslyckades under test av block"
+
+#: disk-utils/mkfs.minix.c:476
+#, 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:507 disk-utils/mkswap.c:313
+msgid "seek failed in check_blocks"
+msgstr "sökning misslyckades i \"check_blocks\""
+
+#: disk-utils/mkfs.minix.c:516
+msgid "bad blocks before data-area: cannot make fs"
+msgstr "felaktiga block före dataområde: kan inte skapa filsystem"
+
+#: disk-utils/mkfs.minix.c:522 disk-utils/mkfs.minix.c:547
+#, c-format
+msgid "%d bad blocks\n"
+msgstr "%d felaktiga block\n"
+
+#: disk-utils/mkfs.minix.c:524 disk-utils/mkfs.minix.c:549
+#, c-format
+msgid "one bad block\n"
+msgstr "ett felaktigt block\n"
+
+#: disk-utils/mkfs.minix.c:534
+msgid "can't open file of bad blocks"
+msgstr "kan inte öppna fil med felaktiga block"
+
+#: disk-utils/mkfs.minix.c:538
+#, c-format
+msgid "badblock number input error on line %d\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:539
+#, fuzzy
+msgid "cannot read badblocks file"
+msgstr "Kan inte inte läsa diskenhet"
+
+#: disk-utils/mkfs.minix.c:619
+#, c-format
+msgid "strtol error: number of blocks not specified"
+msgstr "strtol-fel: antalet block är inte angivet"
+
+#: disk-utils/mkfs.minix.c:638
+#, c-format
+msgid "unable to stat %s"
+msgstr "kan inte ta status på %s"
+
+#: disk-utils/mkfs.minix.c:644
+#, c-format
+msgid "unable to open %s"
+msgstr "kan inte öppna %s"
+
+#: disk-utils/mkfs.minix.c:649
+#, fuzzy, c-format
+msgid "cannot determine sector size for %s"
+msgstr "kan inte hämta storleken på %s"
+
+#: disk-utils/mkfs.minix.c:651
+#, c-format
+msgid "block size smaller than physical sector size of %s"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:654
+#, fuzzy, c-format
+msgid "cannot determine size of %s"
+msgstr "kan inte hämta storleken på %s"
+
+#: disk-utils/mkfs.minix.c:662
+#, 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:664
+#, fuzzy
+msgid "number of blocks too small"
+msgstr "Antal sektorer"
+
+#: disk-utils/mkswap.c:155
+#, c-format
+msgid "Bad user-specified page size %d\n"
+msgstr "Användardefinierade sidstorleken %d är felaktig\n"
+
+#: disk-utils/mkswap.c:163
+#, c-format
+msgid "Using user-specified page size %d, instead of the system value %d\n"
+msgstr ""
+"Använder användardefinierade sidstorleken %d istället för systemvärdet %d\n"
+
+#: disk-utils/mkswap.c:192
+#, c-format
+msgid "Bad swap header size, no label written.\n"
+msgstr "Felaktig storlek på växlingshuvud, ingen etikett skrevs.\n"
+
+#: disk-utils/mkswap.c:202
+#, c-format
+msgid "Label was truncated.\n"
+msgstr "Etiketten var avkapad.\n"
+
+#: disk-utils/mkswap.c:208
+#, c-format
+msgid "no label, "
+msgstr "ingen etikett, "
+
+#: disk-utils/mkswap.c:216
+#, c-format
+msgid "no uuid\n"
+msgstr "inget uuid\n"
+
+#: disk-utils/mkswap.c:281
+#, fuzzy, c-format
+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"
+
+#: disk-utils/mkswap.c:295
+msgid "too many bad pages"
+msgstr "för många felaktiga sidor"
+
+#: disk-utils/mkswap.c:308 misc-utils/look.c:182 misc-utils/setterm.c:1183
+#: text-utils/more.c:1982 text-utils/more.c:1993
+msgid "Out of memory"
+msgstr "Slut på minne"
+
+#: disk-utils/mkswap.c:319
+#, c-format
+msgid "one bad page\n"
+msgstr "en felaktig sida\n"
+
+#: disk-utils/mkswap.c:321
+#, c-format
+msgid "%lu bad pages\n"
+msgstr "%lu felaktiga sidor\n"
+
+#: disk-utils/mkswap.c:399 disk-utils/mkswap.c:415 disk-utils/mkswap.c:633
+msgid "unable to rewind swap-device"
+msgstr "kan inte spola tillbaka växlingsenheten"
+
+#: disk-utils/mkswap.c:419
+#, fuzzy
+msgid "unable to erase bootbits sectors"
+msgstr "kan inte tömma startsektor"
+
+#: disk-utils/mkswap.c:423
+#, c-format
+msgid "%s: %s: warning: don't erase bootbits sectors\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:426
+#, fuzzy, c-format
+msgid "        (%s partition table detected). "
+msgstr "   p   skriv ut BSD-partitionstabell"
+
+#: disk-utils/mkswap.c:428
+#, fuzzy, c-format
+msgid "        on whole disk. "
+msgstr "   s   visa fullständig disketikett"
+
+#: disk-utils/mkswap.c:498
+#, c-format
+msgid "%1$s: warning: ignore -U (UUIDs are unsupported by %1$s)\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:514
+#, fuzzy, c-format
+msgid "%s: does not support swapspace version %d.\n"
+msgstr "%s: fel: version %d är okänd\n"
+
+#: disk-utils/mkswap.c:522
+#, fuzzy
+msgid "error: UUID parsing failed"
+msgstr "Fel vid stängning av fil\n"
+
+#: disk-utils/mkswap.c:533
+#, c-format
+msgid "%s: error: Nowhere to set up swap on?\n"
+msgstr "%s: fel: Ingenstans att skapa växlingsutrymme?\n"
+
+#: disk-utils/mkswap.c:551
+#, fuzzy, c-format
+msgid "%s: error: size %llu KiB is larger than device size %llu KiB\n"
+msgstr "%s: fel: storleken %lu är större än enhetsstorleken %lu\n"
+
+#: disk-utils/mkswap.c:560
+#, fuzzy, c-format
+msgid "%s: error: swap area needs to be at least %ld KiB\n"
+msgstr "%s: fel: växlingsutrymmet måste vara minst %ld kB\n"
+
+#: disk-utils/mkswap.c:577
+#, fuzzy, c-format
+msgid "%s: warning: truncating swap area to %llu KiB\n"
+msgstr "%s: varning: avkortar växlingsutrymmet till %ld kB\n"
+
+#: disk-utils/mkswap.c:600
+#, c-format
+msgid "%s: error: will not try to make swapdevice on '%s'\n"
+msgstr "%s: fel: kommer inte att försöka skapa växlingsenhet på \"%s\"\n"
+
+#: disk-utils/mkswap.c:606
+#, c-format
+msgid "%s: error: %s is mounted; will not make swapspace.\n"
+msgstr "%s: fel: %s är monterad; kommer inte att skapa växlingsutrymme.\n"
+
+#: disk-utils/mkswap.c:622
+msgid "Unable to set up swap-space: unreadable"
+msgstr "Kan inte ställa in växlingsutrymme: oläsbart"
+
+#: disk-utils/mkswap.c:625
+#, 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:636
+#, fuzzy, c-format
+msgid "%s: %s: unable to write signature page: %s"
+msgstr "kan inte skriva signatursida"
+
+#: disk-utils/mkswap.c:647
+msgid "fsync failed"
+msgstr "fsync misslyckades"
+
+#: disk-utils/mkswap.c:658
+#, c-format
+msgid "%s: %s: unable to obtain selinux file label: %s\n"
+msgstr "%s: %s: kunde inte få selinux-filetikett: %s\n"
+
+#: disk-utils/mkswap.c:664
+msgid "unable to matchpathcon()"
+msgstr "kunde inte matchpathcon()"
+
+#: disk-utils/mkswap.c:667
+msgid "unable to create new selinux context"
+msgstr "kunde inte skapa nytt selinux-sammanhang"
+
+#: disk-utils/mkswap.c:669
+msgid "couldn't compute selinux context"
+msgstr "kunde inte beräkna selinux-sammanhang"
+
+#: disk-utils/mkswap.c:675
+#, c-format
+msgid "%s: unable to relabel %s to %s: %s\n"
+msgstr "%s: kan inte byta etikett på %s till %s: %s\n"
+
+#: disk-utils/raw.c:50
+#, fuzzy, c-format
+msgid ""
+"Usage:\n"
+"  %s "
+msgstr "Användning:\n"
+
+#: disk-utils/raw.c:125
+#, c-format
+msgid ""
+"Device '%s' is control raw dev (use raw<N> where <N> is greater than zero)\n"
+msgstr ""
+
+#: disk-utils/raw.c:145
+#, fuzzy, c-format
+msgid "Cannot locate block device '%s' (%s)\n"
+msgstr "Kan inte låsa låsfilen %s: %s\n"
+
+#: disk-utils/raw.c:151
+#, fuzzy, c-format
+msgid "Device '%s' is not a block dev\n"
+msgstr "Varning: %s är ingen blockenhet\n"
+
+#: disk-utils/raw.c:186
+#, fuzzy, c-format
+msgid "Cannot open master raw device '"
+msgstr "kan inte ta status på enheten %s"
+
+#: disk-utils/raw.c:205
+#, fuzzy, c-format
+msgid "Cannot locate raw device '%s' (%s)\n"
+msgstr "kan inte ta status på enheten %s"
+
+#: disk-utils/raw.c:211
+#, fuzzy, c-format
+msgid "Raw device '%s' is not a character dev\n"
+msgstr "/dev/%s: ingen teckenenhet"
+
+#: disk-utils/raw.c:216
+#, fuzzy, c-format
+msgid "Device '%s' is not a raw dev\n"
+msgstr "%s är ingen blockspecialenhet"
+
+#: disk-utils/raw.c:231
+#, c-format
+msgid "Error querying raw device (%s)\n"
+msgstr ""
+
+#: disk-utils/raw.c:241 disk-utils/raw.c:261
+#, c-format
+msgid "raw%d:\tbound to major %d, minor %d\n"
+msgstr ""
+
+#: disk-utils/raw.c:257
+#, fuzzy, c-format
+msgid "Error setting raw device (%s)\n"
+msgstr "fel vid stoppande av tjänst: \"%s\""
+
+#: fdisk/cfdisk.c:376 fdisk/cfdisk.c:2080
+msgid "Unusable"
+msgstr "Oanvändbar"
+
+#: fdisk/cfdisk.c:378 fdisk/cfdisk.c:2082
+msgid "Free Space"
+msgstr "Ledigt utrymme"
+
+#: fdisk/cfdisk.c:381
+msgid "Linux ext2"
+msgstr "Linux ext2"
+
+#: fdisk/cfdisk.c:383
+msgid "Linux ext3"
+msgstr "Linux ext3"
+
+#: fdisk/cfdisk.c:385
+msgid "Linux XFS"
+msgstr "Linux XFS"
+
+#: fdisk/cfdisk.c:387
+msgid "Linux JFS"
+msgstr "Linux JFS"
+
+#: fdisk/cfdisk.c:389
+msgid "Linux ReiserFS"
+msgstr "Linux ReiserFS"
+
+#: fdisk/cfdisk.c:391 fdisk/i386_sys_types.c:57
+msgid "Linux"
+msgstr "Linux"
+
+#: fdisk/cfdisk.c:394
+msgid "OS/2 HPFS"
+msgstr "OS/2 HPFS"
+
+#: fdisk/cfdisk.c:396
+msgid "OS/2 IFS"
+msgstr "OS/2 IFS"
+
+#: fdisk/cfdisk.c:400
+msgid "NTFS"
+msgstr "NTFS"
+
+#: fdisk/cfdisk.c:411
+#, c-format
+msgid "Disk has been changed.\n"
+msgstr "Disken har ändrats.\n"
+
+#: fdisk/cfdisk.c:413
+#, 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"
+
+#: fdisk/cfdisk.c:417
+#, 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"
+
+#: fdisk/cfdisk.c:512
+msgid "FATAL ERROR"
+msgstr "ÖDESDIGERT FEL"
+
+#: fdisk/cfdisk.c:513
+msgid "Press any key to exit cfdisk"
+msgstr "Tryck valfri tangent för att avsluta cfdisk"
+
+#: fdisk/cfdisk.c:560 fdisk/cfdisk.c:568
+msgid "Cannot seek on disk drive"
+msgstr "Kan inte söka på diskenhet"
+
+#: fdisk/cfdisk.c:562
+msgid "Cannot read disk drive"
+msgstr "Kan inte inte läsa diskenhet"
+
+#: fdisk/cfdisk.c:570
+msgid "Cannot write disk drive"
+msgstr "Kan inte skriva diskenhet"
+
+#: fdisk/cfdisk.c:913
+msgid "Too many partitions"
+msgstr "För många partitioner"
+
+#: fdisk/cfdisk.c:918
+msgid "Partition begins before sector 0"
+msgstr "Partitionen börjar före sektor 0"
+
+#: fdisk/cfdisk.c:923
+msgid "Partition ends before sector 0"
+msgstr "Partitionen slutar före sektor 0"
+
+#: fdisk/cfdisk.c:928
+msgid "Partition begins after end-of-disk"
+msgstr "Partitonen börjar efter slutet på disken"
+
+#: fdisk/cfdisk.c:933
+msgid "Partition ends after end-of-disk"
+msgstr "Partitionen slutar efter slutet på disken"
+
+#: fdisk/cfdisk.c:938
+msgid "Partition ends in the final partial cylinder"
+msgstr "Partitionen slutar i den slutliga partiella cylindern"
+
+#: fdisk/cfdisk.c:962
+msgid "logical partitions not in disk order"
+msgstr "logiska partitioner är inte i diskordning"
+
+#: fdisk/cfdisk.c:965
+msgid "logical partitions overlap"
+msgstr "logiska partitioner överlappar varandra"
+
+#: fdisk/cfdisk.c:969
+msgid "enlarged logical partitions overlap"
+msgstr "förstorade logiska partitioner överlappar varandra"
+
+#: fdisk/cfdisk.c:999
+msgid ""
+"!!!! Internal error creating logical drive with no extended partition !!!!"
+msgstr ""
+"!!!! Internt fel vid skapande av logisk enhet utan utökad partition !!!!"
+
+#: fdisk/cfdisk.c:1010 fdisk/cfdisk.c:1022
+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"
+
+#: fdisk/cfdisk.c:1164
+msgid "Menu item too long. Menu may look odd."
+msgstr "Menyposten är för lång. Menyn kan se konstig ut."
+
+#: fdisk/cfdisk.c:1220
+#, fuzzy
+msgid "Menu without direction. Defaulting to horizontal."
+msgstr "Meny utan riktning. Använder standardvärdet vågrät."
+
+#: fdisk/cfdisk.c:1351
+msgid "Illegal key"
+msgstr "Ogiltig tangent"
+
+#: fdisk/cfdisk.c:1374
+msgid "Press a key to continue"
+msgstr "Tryck en tangent för att fortsätta"
+
+#: fdisk/cfdisk.c:1421 fdisk/cfdisk.c:2051 fdisk/cfdisk.c:2583
+#: fdisk/cfdisk.c:2585
+msgid "Primary"
+msgstr "Primär"
+
+#: fdisk/cfdisk.c:1421
+msgid "Create a new primary partition"
+msgstr "Skapa en ny primär partition"
+
+#: fdisk/cfdisk.c:1422 fdisk/cfdisk.c:2051 fdisk/cfdisk.c:2582
+#: fdisk/cfdisk.c:2585
+msgid "Logical"
+msgstr "Logisk"
+
+#: fdisk/cfdisk.c:1422
+msgid "Create a new logical partition"
+msgstr "Skapa en ny logisk partition"
+
+#: fdisk/cfdisk.c:1423 fdisk/cfdisk.c:1478 fdisk/cfdisk.c:2256
+msgid "Cancel"
+msgstr "Avbryt"
+
+#: fdisk/cfdisk.c:1423 fdisk/cfdisk.c:1478
+msgid "Don't create a partition"
+msgstr "Skapa inte någon partition"
+
+#: fdisk/cfdisk.c:1439
+msgid "!!! Internal error !!!"
+msgstr "!!! Internt fel !!!"
+
+#: fdisk/cfdisk.c:1442
+msgid "Size (in MB): "
+msgstr "Storlek (i MB): "
+
+#: fdisk/cfdisk.c:1476
+msgid "Beginning"
+msgstr "Början"
+
+#: fdisk/cfdisk.c:1476
+msgid "Add partition at beginning of free space"
+msgstr "Lägg till partition i början av det lediga utrymmet"
+
+#: fdisk/cfdisk.c:1477
+msgid "End"
+msgstr "Slutet"
+
+#: fdisk/cfdisk.c:1477
+msgid "Add partition at end of free space"
+msgstr "Lägg till partition i slutet av det lediga utrymmet"
+
+#: fdisk/cfdisk.c:1495
+msgid "No room to create the extended partition"
+msgstr "Ingen plats att skapa den utökade partitionen"
+
+#: fdisk/cfdisk.c:1569
+msgid "No partition table.\n"
+msgstr "Ingen partitionstabell.\n"
+
+#: fdisk/cfdisk.c:1573
+msgid "No partition table. Starting with zero table."
+msgstr "Ingen partitionstabell. Startar med tom tabell."
+
+#: fdisk/cfdisk.c:1583
+msgid "Bad signature on partition table"
+msgstr "Felaktig signatur på partitionstabell"
+
+#: fdisk/cfdisk.c:1587
+msgid "Unknown partition table type"
+msgstr "Okänd typ av partitionstabell"
+
+#: fdisk/cfdisk.c:1589
+msgid "Do you wish to start with a zero table [y/N] ?"
+msgstr "Vill du börja med en tom tabell [j/N]?"
+
+#: fdisk/cfdisk.c:1637
+msgid "You specified more cylinders than fit on disk"
+msgstr "Du angav fler cylindrar än som ryms på disken"
+
+#: fdisk/cfdisk.c:1669
+msgid "Cannot open disk drive"
+msgstr "Kan inte öppna diskenhet"
+
+#: fdisk/cfdisk.c:1671 fdisk/cfdisk.c:1860
+msgid "Opened disk read-only - you have no permission to write"
+msgstr "Öppnade disken skrivskyddat - du har ingen behörighet att skriva"
+
+#: fdisk/cfdisk.c:1682
+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."
+
+#: fdisk/cfdisk.c:1701
+msgid "Cannot get disk size"
+msgstr "Kan inte hämta diskstorlek"
+
+#: fdisk/cfdisk.c:1727
+msgid "Bad primary partition"
+msgstr "Felaktig primär partition"
+
+#: fdisk/cfdisk.c:1757
+msgid "Bad logical partition"
+msgstr "Felaktig logisk partition"
+
+#: fdisk/cfdisk.c:1872
+msgid "Warning!!  This may destroy data on your disk!"
+msgstr "Varning!! Detta kan förstöra data på din disk!"
+
+#: fdisk/cfdisk.c:1876
+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): "
+
+#: fdisk/cfdisk.c:1882
+msgid "no"
+msgstr "nej"
+
+#: fdisk/cfdisk.c:1884
+msgid "Did not write partition table to disk"
+msgstr "Skrev inte partitionstabellen till disk"
+
+#: fdisk/cfdisk.c:1886
+msgid "yes"
+msgstr "ja"
+
+#: fdisk/cfdisk.c:1890
+msgid "Please enter `yes' or `no'"
+msgstr "Ange \"ja\" eller \"nej\""
+
+#: fdisk/cfdisk.c:1894
+msgid "Writing partition table to disk..."
+msgstr "Skriver partitionstabell till disk..."
+
+#: fdisk/cfdisk.c:1921 fdisk/cfdisk.c:1925
+msgid "Wrote partition table to disk"
+msgstr "Skrev partitionstabell till disk"
+
+#: fdisk/cfdisk.c:1923
+#, 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."
+
+#: fdisk/cfdisk.c:1933
+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."
+
+#: fdisk/cfdisk.c:1935
+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."
+
+#: fdisk/cfdisk.c:1993 fdisk/cfdisk.c:2112 fdisk/cfdisk.c:2196
+msgid "Enter filename or press RETURN to display on screen: "
+msgstr "Ange filnamnet eller tryck RETUR för att visa på skärmen: "
+
+#: fdisk/cfdisk.c:2002 fdisk/cfdisk.c:2120 fdisk/cfdisk.c:2204
+#, c-format
+msgid "Cannot open file '%s'"
+msgstr "Kan inte öppna filen \"%s\""
+
+#: fdisk/cfdisk.c:2013
+#, c-format
+msgid "Disk Drive: %s\n"
+msgstr "Diskenhet: %s\n"
+
+#: fdisk/cfdisk.c:2015
+msgid "Sector 0:\n"
+msgstr "Sektor 0:\n"
+
+#: fdisk/cfdisk.c:2022
+#, c-format
+msgid "Sector %d:\n"
+msgstr "Sektor %d:\n"
+
+#: fdisk/cfdisk.c:2042
+msgid "   None   "
+msgstr "   Ingen  "
+
+# Primär/Logisk antar jag
+#: fdisk/cfdisk.c:2044
+msgid "   Pri/Log"
+msgstr "   Pri/Log"
+
+#: fdisk/cfdisk.c:2046
+msgid "   Primary"
+msgstr "   Primär "
+
+#: fdisk/cfdisk.c:2048
+msgid "   Logical"
+msgstr "   Logisk "
+
+#: fdisk/cfdisk.c:2086 fdisk/fdisk.c:1534 fdisk/fdisk.c:1855
+#: fdisk/fdisksgilabel.c:240 fdisk/fdisksunlabel.c:621 fdisk/sfdisk.c:653
+msgid "Unknown"
+msgstr "Okänd"
+
+#: fdisk/cfdisk.c:2092 fdisk/cfdisk.c:2560 fdisk/fdisksunlabel.c:44
+msgid "Boot"
+msgstr "Start"
+
+#: fdisk/cfdisk.c:2094
+#, c-format
+msgid "(%02X)"
+msgstr "(%02X)"
+
+#: fdisk/cfdisk.c:2096
+msgid "None"
+msgstr "Ingen"
+
+#: fdisk/cfdisk.c:2131 fdisk/cfdisk.c:2215
+#, c-format
+msgid "Partition Table for %s\n"
+msgstr "Partitionstabell för %s\n"
+
+#: fdisk/cfdisk.c:2133
+msgid "               First       Last\n"
+msgstr "               Första      Sista\n"
+
+#: fdisk/cfdisk.c:2134
+msgid ""
+" # Type       Sector      Sector   Offset    Length   Filesystem Type (ID) "
+"Flag\n"
+msgstr ""
+" # Typ        Sektor      Sektor   Avstånd   Längd    Filsystemstyp (ID)   "
+"Flagga\n"
+
+#: fdisk/cfdisk.c:2135
+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).
+#
+#: fdisk/cfdisk.c:2218
+#, fuzzy
+msgid "         ---Starting----      ----Ending-----    Start     Number of\n"
+msgstr "         ----Start-----      -----Slut-----   Start-    Antal\n"
+
+#: fdisk/cfdisk.c:2219
+#, 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"
+
+#: fdisk/cfdisk.c:2220
+#, fuzzy
+msgid "-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+msgstr "-- ----- ---- ---- ---- ---- ---- ---- ---- ----------- -----------\n"
+
+#: fdisk/cfdisk.c:2253
+msgid "Raw"
+msgstr "Rått"
+
+#: fdisk/cfdisk.c:2253
+msgid "Print the table using raw data format"
+msgstr "Visa tabellen i rått dataformat"
+
+#: fdisk/cfdisk.c:2254 fdisk/cfdisk.c:2357
+msgid "Sectors"
+msgstr "Sektorer"
+
+#: fdisk/cfdisk.c:2254
+msgid "Print the table ordered by sectors"
+msgstr "Visa tabellen sorterad efter sektorer"
+
+#: fdisk/cfdisk.c:2255
+msgid "Table"
+msgstr "Tabell"
+
+#: fdisk/cfdisk.c:2255
+msgid "Just print the partition table"
+msgstr "Visa bara partitionstabellen"
+
+#: fdisk/cfdisk.c:2256
+msgid "Don't print the table"
+msgstr "Visa inte tabellen"
+
+#: fdisk/cfdisk.c:2284
+msgid "Help Screen for cfdisk"
+msgstr "Hjälpskärm för cfdisk"
+
+#: fdisk/cfdisk.c:2286
+msgid "This is cfdisk, a curses based disk partitioning program, which"
+msgstr "Det här är cfdisk, ett curses-baserat diskpartitioneringsprogram som"
+
+#: fdisk/cfdisk.c:2287
+msgid "allows you to create, delete and modify partitions on your hard"
+msgstr "låter dig skapa, ta bort och ändra partitioner på din"
+
+#: fdisk/cfdisk.c:2288
+msgid "disk drive."
+msgstr "hårddisk."
+
+#: fdisk/cfdisk.c:2290
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr "Copyright © 1994-1999 Kevin E. Martin och aeb"
+
+#: fdisk/cfdisk.c:2292
+msgid "Command      Meaning"
+msgstr "Kommando     Betydelse"
+
+#: fdisk/cfdisk.c:2293
+msgid "-------      -------"
+msgstr "--------     ---------"
+
+#: fdisk/cfdisk.c:2294
+msgid "  b          Toggle bootable flag of the current partition"
+msgstr "  b          Slå på/av startbarhetsflaggan på aktuell partition"
+
+#: fdisk/cfdisk.c:2295
+msgid "  d          Delete the current partition"
+msgstr "  d          Ta bort aktuell partition"
+
+#: fdisk/cfdisk.c:2296
+msgid "  g          Change cylinders, heads, sectors-per-track parameters"
+msgstr ""
+"  g          Ändra parametrarna för cylindrar, huvuden, sektorer-per-spår"
+
+#: fdisk/cfdisk.c:2297
+msgid "             WARNING: This option should only be used by people who"
+msgstr "             VARNING: Denna flagga bör endast användas av personer som"
+
+#: fdisk/cfdisk.c:2298
+msgid "             know what they are doing."
+msgstr "             vet vad de gör."
+
+#: fdisk/cfdisk.c:2299
+msgid "  h          Print this screen"
+msgstr "  h          Visa denna hjälpskärm"
+
+#: fdisk/cfdisk.c:2300
+msgid "  m          Maximize disk usage of the current partition"
+msgstr "  m          Maximera diskanvändandet på aktuell partition"
+
+#: fdisk/cfdisk.c:2301
+msgid "             Note: This may make the partition incompatible with"
+msgstr ""
+"             Obs: Detta kan komma att göra partitionen inkompatibel med"
+
+#: fdisk/cfdisk.c:2302
+msgid "             DOS, OS/2, ..."
+msgstr "             DOS, OS/2, ..."
+
+#: fdisk/cfdisk.c:2303
+msgid "  n          Create new partition from free space"
+msgstr "  n          Skapa en ny partition från ledigt utrymme"
+
+#: fdisk/cfdisk.c:2304
+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"
+
+#: fdisk/cfdisk.c:2305
+msgid "             There are several different formats for the partition"
+msgstr "             Det finns flera olika format på partitionen"
+
+#: fdisk/cfdisk.c:2306
+msgid "             that you can choose from:"
+msgstr "             som du kan välja mellan:"
+
+#: fdisk/cfdisk.c:2307
+msgid "                r - Raw data (exactly what would be written to disk)"
+msgstr "                r - Rå data (exakt det som skulle skrivas till disken)"
+
+#: fdisk/cfdisk.c:2308
+msgid "                s - Table ordered by sectors"
+msgstr "                s - Tabell sorterad efter sektorer"
+
+#: fdisk/cfdisk.c:2309
+msgid "                t - Table in raw format"
+msgstr "                t - Tabell i rått format"
+
+#: fdisk/cfdisk.c:2310
+msgid "  q          Quit program without writing partition table"
+msgstr "  q          Avsluta programmet utan att skriva partitionstabellen"
+
+#: fdisk/cfdisk.c:2311
+msgid "  t          Change the filesystem type"
+msgstr "  t          Byt filsystemstypen"
+
+#: fdisk/cfdisk.c:2312
+msgid "  u          Change units of the partition size display"
+msgstr "  u          Byt enheter på visningen av partitionsstorlek"
+
+#: fdisk/cfdisk.c:2313
+msgid "             Rotates through MB, sectors and cylinders"
+msgstr "             Byter mellan MB, sektorer och cylindrar"
+
+#: fdisk/cfdisk.c:2314
+msgid "  W          Write partition table to disk (must enter upper case W)"
+msgstr ""
+"  W          Skriv partitionstabellen till disk (måste vara ett stort W)"
+
+#: fdisk/cfdisk.c:2315
+msgid "             Since this might destroy data on the disk, you must"
+msgstr "             Eftersom detta kan förstöra data på disken måste du"
+
+#: fdisk/cfdisk.c:2316
+msgid "             either confirm or deny the write by entering `yes' or"
+msgstr ""
+"             antingen bekräfta eller avvisa detta genom att ange \"ja\""
+
+#: fdisk/cfdisk.c:2317
+msgid "             `no'"
+msgstr "             eller \"nej\""
+
+#: fdisk/cfdisk.c:2318
+msgid "Up Arrow     Move cursor to the previous partition"
+msgstr "Uppil        Flytta markören till föregående partition"
+
+#: fdisk/cfdisk.c:2319
+msgid "Down Arrow   Move cursor to the next partition"
+msgstr "Nerpil       Flytta markören till nästa partition"
+
+#: fdisk/cfdisk.c:2320
+msgid "CTRL-L       Redraws the screen"
+msgstr "CTRL+L       Rita om skärmen"
+
+#: fdisk/cfdisk.c:2321
+msgid "  ?          Print this screen"
+msgstr "  ?          Visa denna skärm"
+
+#: fdisk/cfdisk.c:2323
+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"
+
+#: fdisk/cfdisk.c:2324
+msgid "case letters (except for Writes)."
+msgstr "(utom för skrivningar med W)."
+
+#: fdisk/cfdisk.c:2355 fdisk/fdisksunlabel.c:237
+msgid "Cylinders"
+msgstr "Cylindrar"
+
+#: fdisk/cfdisk.c:2355
+msgid "Change cylinder geometry"
+msgstr "Ändra cylindergeometri"
+
+#: fdisk/cfdisk.c:2356 fdisk/fdisksunlabel.c:235
+msgid "Heads"
+msgstr "Huvuden"
+
+#: fdisk/cfdisk.c:2356
+msgid "Change head geometry"
+msgstr "Ändra huvudgeometri"
+
+#: fdisk/cfdisk.c:2357
+msgid "Change sector geometry"
+msgstr "Ändra sektorgeometri"
+
+#: fdisk/cfdisk.c:2358
+msgid "Done"
+msgstr "Klar"
+
+#: fdisk/cfdisk.c:2358
+msgid "Done with changing geometry"
+msgstr "Färdig med geometriändring"
+
+#: fdisk/cfdisk.c:2371
+msgid "Enter the number of cylinders: "
+msgstr "Ange antalet cylindrar: "
+
+#: fdisk/cfdisk.c:2382 fdisk/cfdisk.c:2953
+msgid "Illegal cylinders value"
+msgstr "Ogiltigt antal cylindrar"
+
+#: fdisk/cfdisk.c:2388
+msgid "Enter the number of heads: "
+msgstr "Ange antalet huvuden: "
+
+#: fdisk/cfdisk.c:2395 fdisk/cfdisk.c:2963
+msgid "Illegal heads value"
+msgstr "Ogiltigt antal huvuden"
+
+#: fdisk/cfdisk.c:2401
+msgid "Enter the number of sectors per track: "
+msgstr "Ange antalet sektorer per spår: "
+
+#: fdisk/cfdisk.c:2408 fdisk/cfdisk.c:2970
+msgid "Illegal sectors value"
+msgstr "Ogiltigt antal sektorer"
+
+#: fdisk/cfdisk.c:2511
+msgid "Enter filesystem type: "
+msgstr "Ange typen av filsystem: "
+
+#: fdisk/cfdisk.c:2529
+msgid "Cannot change FS Type to empty"
+msgstr "Kan inte ändra filsystemstypen till ett tomt värde"
+
+#: fdisk/cfdisk.c:2531
+msgid "Cannot change FS Type to extended"
+msgstr "Kan inte ändra filsystemstypen till utökad"
+
+#: fdisk/cfdisk.c:2562
+#, c-format
+msgid "Unk(%02X)"
+msgstr "Okänd(%02X)"
+
+# Vad är detta?
+#: fdisk/cfdisk.c:2565 fdisk/cfdisk.c:2568
+msgid ", NC"
+msgstr ", NC"
+
+#: fdisk/cfdisk.c:2573 fdisk/cfdisk.c:2576
+msgid "NC"
+msgstr "NC"
+
+#: fdisk/cfdisk.c:2584
+msgid "Pri/Log"
+msgstr "Pri/Log"
+
+#: fdisk/cfdisk.c:2591
+#, c-format
+msgid "Unknown (%02X)"
+msgstr "Okänd (%02X)"
+
+#: fdisk/cfdisk.c:2660
+#, c-format
+msgid "Disk Drive: %s"
+msgstr "Diskenhet: %s"
+
+#: fdisk/cfdisk.c:2667
+#, c-format
+msgid "Size: %lld bytes, %lld MB"
+msgstr "Storlek: %lld byte, %lld MB"
+
+#: fdisk/cfdisk.c:2670
+#, c-format
+msgid "Size: %lld bytes, %lld.%lld GB"
+msgstr "Storlek: %lld byte, %lld,%lld GB"
+
+#: fdisk/cfdisk.c:2674
+#, c-format
+msgid "Heads: %d   Sectors per Track: %d   Cylinders: %lld"
+msgstr "Huvuden: %d   Sektorer per spår: %d   Cylindrar: %lld"
+
+#: fdisk/cfdisk.c:2678 login-utils/chfn.c:377
+msgid "Name"
+msgstr "Namn"
+
+#: fdisk/cfdisk.c:2679
+msgid "Flags"
+msgstr "Flaggor"
+
+#: fdisk/cfdisk.c:2680
+msgid "Part Type"
+msgstr "Part.-typ"
+
+#: fdisk/cfdisk.c:2681
+msgid "FS Type"
+msgstr "FS-typ"
+
+#: fdisk/cfdisk.c:2682
+msgid "[Label]"
+msgstr "[Etikett]"
+
+#: fdisk/cfdisk.c:2684
+msgid "    Sectors"
+msgstr "    Sektorer"
+
+#: fdisk/cfdisk.c:2686
+msgid "  Cylinders"
+msgstr "  Cylindrar"
+
+#: fdisk/cfdisk.c:2688
+msgid "  Size (MB)"
+msgstr "  Storlek (MB)"
+
+#: fdisk/cfdisk.c:2690
+msgid "  Size (GB)"
+msgstr "  Storlek (GB)"
+
+#: fdisk/cfdisk.c:2744
+msgid "Bootable"
+msgstr "Startbar"
+
+#: fdisk/cfdisk.c:2744
+msgid "Toggle bootable flag of the current partition"
+msgstr "Slå på/av startbarhetsflaggan på aktuell partition"
+
+#: fdisk/cfdisk.c:2745
+msgid "Delete"
+msgstr "Ta bort"
+
+#: fdisk/cfdisk.c:2745
+msgid "Delete the current partition"
+msgstr "Ta bort aktuell partition"
+
+#: fdisk/cfdisk.c:2746
+msgid "Geometry"
+msgstr "Geometri"
+
+#: fdisk/cfdisk.c:2746
+msgid "Change disk geometry (experts only)"
+msgstr "Ändra diskgeometri (endast experter)"
+
+#: fdisk/cfdisk.c:2747
+msgid "Help"
+msgstr "Hjälp"
+
+#: fdisk/cfdisk.c:2747
+msgid "Print help screen"
+msgstr "Visa hjälpskärm"
+
+#: fdisk/cfdisk.c:2748
+msgid "Maximize"
+msgstr "Maximera"
+
+#: fdisk/cfdisk.c:2748
+msgid "Maximize disk usage of the current partition (experts only)"
+msgstr "Maximera diskanvändningen för aktuell partition (endast experter)"
+
+#: fdisk/cfdisk.c:2749
+msgid "New"
+msgstr "Ny"
+
+#: fdisk/cfdisk.c:2749
+msgid "Create new partition from free space"
+msgstr "Skapa ny partition från ledigt utrymme"
+
+#: fdisk/cfdisk.c:2750
+msgid "Print"
+msgstr "Visa"
+
+#: fdisk/cfdisk.c:2750
+msgid "Print partition table to the screen or to a file"
+msgstr "Visa partitionstabellen på skärmen eller skriv den till en fil"
+
+#: fdisk/cfdisk.c:2751
+msgid "Quit"
+msgstr "Avsluta"
+
+#: fdisk/cfdisk.c:2751
+msgid "Quit program without writing partition table"
+msgstr "Avsluta programmet utan att skriva partitionstabellen"
+
+#: fdisk/cfdisk.c:2752
+msgid "Type"
+msgstr "Typ"
+
+#: fdisk/cfdisk.c:2752
+msgid "Change the filesystem type (DOS, Linux, OS/2 and so on)"
+msgstr "Ändra filsystemstypen (DOS, Linux, OS/2 och så vidare)"
+
+#: fdisk/cfdisk.c:2753
+msgid "Units"
+msgstr "Enheter"
+
+#: fdisk/cfdisk.c:2753
+msgid "Change units of the partition size display (MB, sect, cyl)"
+msgstr ""
+"Byt enheter på visningen av partitionsstorleken (MB, sektorer, cylindrar)"
+
+#: fdisk/cfdisk.c:2754
+msgid "Write"
+msgstr "Skriv"
+
+#: fdisk/cfdisk.c:2754
+msgid "Write partition table to disk (this might destroy data)"
+msgstr "Skriv partitionstabellen till disk (detta kan förstöra data)"
+
+#: fdisk/cfdisk.c:2800
+msgid "Cannot make this partition bootable"
+msgstr "Kan inte göra denna partition startbar"
+
+#: fdisk/cfdisk.c:2810
+msgid "Cannot delete an empty partition"
+msgstr "Kan inte ta bort en tom partition"
+
+#: fdisk/cfdisk.c:2830 fdisk/cfdisk.c:2832
+msgid "Cannot maximize this partition"
+msgstr "Kan inte maximera denna partition"
+
+#: fdisk/cfdisk.c:2840
+msgid "This partition is unusable"
+msgstr "Denna partition är oanvändbar"
+
+#: fdisk/cfdisk.c:2842
+msgid "This partition is already in use"
+msgstr "Denna partition används redan"
+
+#: fdisk/cfdisk.c:2859
+msgid "Cannot change the type of an empty partition"
+msgstr "Kan inte ändra typen på en tom partition"
+
+#: fdisk/cfdisk.c:2886 fdisk/cfdisk.c:2892
+msgid "No more partitions"
+msgstr "Inge fler partitioner"
+
+#: fdisk/cfdisk.c:2899
+msgid "Illegal command"
+msgstr "Ogiltigt kommando"
+
+#: fdisk/cfdisk.c:2909
+#, c-format
+msgid "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+msgstr "Copyright © 1994-2002 Kevin E. Martin och aeb\n"
+
+#: fdisk/cfdisk.c:2916
+#, 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"
+
+#: fdisk/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)."
+
+#: fdisk/fdiskbsdlabel.c:122
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+"\n"
+"BSD-etikett för enhet: %s\n"
+
+#: fdisk/fdiskbsdlabel.c:129 fdisk/fdisk.c:386 fdisk/fdisk.c:405
+#: fdisk/fdisk.c:423 fdisk/fdisk.c:430 fdisk/fdisk.c:453 fdisk/fdisk.c:471
+#: fdisk/fdisk.c:487 fdisk/fdisk.c:503
+msgid "Command action"
+msgstr "Kommandoåtgärd"
+
+#: fdisk/fdiskbsdlabel.c:130
+msgid "   d   delete a BSD partition"
+msgstr "   d   ta bort en BSD-partition"
+
+#: fdisk/fdiskbsdlabel.c:131
+msgid "   e   edit drive data"
+msgstr "   e   redigera enhetsdata"
+
+#: fdisk/fdiskbsdlabel.c:132
+msgid "   i   install bootstrap"
+msgstr "   i   installera förstartare (bootstrap)"
+
+#: fdisk/fdiskbsdlabel.c:133
+msgid "   l   list known filesystem types"
+msgstr "   l   visa kända filsystemstyper"
+
+#: fdisk/fdiskbsdlabel.c:134 fdisk/fdisk.c:392 fdisk/fdisk.c:411
+#: fdisk/fdisk.c:424 fdisk/fdisk.c:436 fdisk/fdisk.c:461 fdisk/fdisk.c:478
+#: fdisk/fdisk.c:494 fdisk/fdisk.c:512
+msgid "   m   print this menu"
+msgstr "   m   visa denna meny"
+
+#: fdisk/fdiskbsdlabel.c:135
+msgid "   n   add a new BSD partition"
+msgstr "   n   lägg till en ny BSD-partition"
+
+#: fdisk/fdiskbsdlabel.c:136
+msgid "   p   print BSD partition table"
+msgstr "   p   skriv ut BSD-partitionstabell"
+
+#: fdisk/fdiskbsdlabel.c:137 fdisk/fdisk.c:396 fdisk/fdisk.c:415
+#: fdisk/fdisk.c:426 fdisk/fdisk.c:440 fdisk/fdisk.c:463 fdisk/fdisk.c:480
+#: fdisk/fdisk.c:496 fdisk/fdisk.c:514
+msgid "   q   quit without saving changes"
+msgstr "   q   avsluta utan att spara ändringar"
+
+#: fdisk/fdiskbsdlabel.c:138 fdisk/fdisk.c:464 fdisk/fdisk.c:481
+#: fdisk/fdisk.c:497 fdisk/fdisk.c:515
+msgid "   r   return to main menu"
+msgstr "   r   återgå till huvudmenyn"
+
+#: fdisk/fdiskbsdlabel.c:139
+msgid "   s   show complete disklabel"
+msgstr "   s   visa fullständig disketikett"
+
+#: fdisk/fdiskbsdlabel.c:140
+msgid "   t   change a partition's filesystem id"
+msgstr "   t   ändra en partitions filsystemsid"
+
+#: fdisk/fdiskbsdlabel.c:141
+msgid "   u   change units (cylinders/sectors)"
+msgstr "   u   byt enheter (cylindrar/sektorer)"
+
+#: fdisk/fdiskbsdlabel.c:142
+msgid "   w   write disklabel to disk"
+msgstr "   w   skriv disketikett till disk"
+
+#: fdisk/fdiskbsdlabel.c:144
+msgid "   x   link BSD partition to non-BSD partition"
+msgstr "   x   länka BSD-partition till icke-BSD-partition"
+
+#: fdisk/fdiskbsdlabel.c:176
+#, c-format
+msgid "Partition %s has invalid starting sector 0.\n"
+msgstr "Partitionen %s har ogiltig startsektor 0.\n"
+
+#: fdisk/fdiskbsdlabel.c:180
+#, c-format
+msgid "Reading disklabel of %s at sector %d.\n"
+msgstr "Läser disketikett för %s vid sektor %d.\n"
+
+#: fdisk/fdiskbsdlabel.c:190
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr "Det finns ingen *BSD-partition på %s.\n"
+
+#: fdisk/fdiskbsdlabel.c:204
+msgid "BSD disklabel command (m for help): "
+msgstr "BSD-disketikettskommando (m för hjälp): "
+
+#: fdisk/fdiskbsdlabel.c:284 fdisk/fdisk.c:2052 fdisk/fdisksgilabel.c:651
+#: fdisk/fdisksunlabel.c:431
+#, c-format
+msgid "First %s"
+msgstr "Första %s"
+
+#: fdisk/fdiskbsdlabel.c:291 fdisk/fdisksunlabel.c:488
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr "Sista %s eller +storlek eller +storlekM eller +storlekK"
+
+#: fdisk/fdiskbsdlabel.c:318
+#, c-format
+msgid "type: %s\n"
+msgstr "typ: %s\n"
+
+#: fdisk/fdiskbsdlabel.c:320
+#, c-format
+msgid "type: %d\n"
+msgstr "typ: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:321
+#, c-format
+msgid "disk: %.*s\n"
+msgstr "disk: %.*s\n"
+
+#: fdisk/fdiskbsdlabel.c:322
+#, c-format
+msgid "label: %.*s\n"
+msgstr "etikett: %.*s\n"
+
+#: fdisk/fdiskbsdlabel.c:323
+#, c-format
+msgid "flags:"
+msgstr "flaggor:"
+
+#: fdisk/fdiskbsdlabel.c:325
+#, c-format
+msgid " removable"
+msgstr " löstagbar"
+
+#: fdisk/fdiskbsdlabel.c:327
+#, c-format
+msgid " ecc"
+msgstr " ecc"
+
+#: fdisk/fdiskbsdlabel.c:329
+#, c-format
+msgid " badsect"
+msgstr " felsekt"
+
+#: fdisk/fdiskbsdlabel.c:333
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr "byte/sektor: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:334
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr "sektorer/spår: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:335
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr "spår/cylinder: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:336
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr "sektorer/cylinder: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:337
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr "cylindrar: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:338
+#, c-format
+msgid "rpm: %d\n"
+msgstr "varv per minut: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:339
+#, c-format
+msgid "interleave: %d\n"
+msgstr "mellanrum: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:340
+#, c-format
+msgid "trackskew: %d\n"
+msgstr "spårförskjutning: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:341
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr "cylinderförskjutning: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:342
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr "huvudbyte: %ld\t\tantal millisekunder\n"
+
+#: fdisk/fdiskbsdlabel.c:344
+#, c-format
+msgid "track-to-track seek: %ld\t# milliseconds\n"
+msgstr "spår-till-spår-sökning: %ld\tantal millisekunder\n"
+
+#: fdisk/fdiskbsdlabel.c:346
+#, c-format
+msgid "drivedata: "
+msgstr "enhetsdata: "
+
+#: fdisk/fdiskbsdlabel.c:355
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+"\n"
+"%d partitioner:\n"
+
+#: fdisk/fdiskbsdlabel.c:356
+#, c-format
+msgid "#       start       end      size     fstype   [fsize bsize   cpg]\n"
+msgstr "#       början      slut     storlek  fs-typ   [fstrl bstrl   cpg]\n"
+
+#: fdisk/fdiskbsdlabel.c:405 fdisk/fdiskbsdlabel.c:408
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr "Skriver disketikett till %s.\n"
+
+#: fdisk/fdiskbsdlabel.c:420 fdisk/fdiskbsdlabel.c:422
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr "%s innehåller ingen disketikett.\n"
+
+#: fdisk/fdiskbsdlabel.c:427
+msgid "Do you want to create a disklabel? (y/n) "
+msgstr "Vill du skapa en disketikett? (y/n) "
+
+#: fdisk/fdiskbsdlabel.c:467
+msgid "bytes/sector"
+msgstr "byte/sektor"
+
+#: fdisk/fdiskbsdlabel.c:468
+msgid "sectors/track"
+msgstr "sektorer/spår"
+
+#: fdisk/fdiskbsdlabel.c:469
+msgid "tracks/cylinder"
+msgstr "spår/cylinder"
+
+#: fdisk/fdiskbsdlabel.c:470 fdisk/fdisk.c:648 fdisk/fdisk.c:1357
+#: fdisk/sfdisk.c:945
+msgid "cylinders"
+msgstr "cylindrar"
+
+#: fdisk/fdiskbsdlabel.c:477
+msgid "sectors/cylinder"
+msgstr "sektorer/cylinder"
+
+# · (centered dot) is normally used as the multiplication sign in Swedish.
+# See "Svenska skrivregler" §260.
+#
+#: fdisk/fdiskbsdlabel.c:481
+#, c-format
+msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
+msgstr "Måste vara <= sektorer/spår · spår/cylinder (standard).\n"
+
+#: fdisk/fdiskbsdlabel.c:483
+msgid "rpm"
+msgstr "varv per minut"
+
+#: fdisk/fdiskbsdlabel.c:484
+msgid "interleave"
+msgstr "mellanrum"
+
+#: fdisk/fdiskbsdlabel.c:485
+msgid "trackskew"
+msgstr "spårförskjutning"
+
+#: fdisk/fdiskbsdlabel.c:486
+msgid "cylinderskew"
+msgstr "cylinderförskjutning"
+
+#: fdisk/fdiskbsdlabel.c:487
+msgid "headswitch"
+msgstr "huvudbytye"
+
+#: fdisk/fdiskbsdlabel.c:488
+msgid "track-to-track seek"
+msgstr "spår-till-spår-sökning"
+
+#: fdisk/fdiskbsdlabel.c:529
+#, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr "Förstartare (bootstrap): %sboot -> boot%s (%s): "
+
+#: fdisk/fdiskbsdlabel.c:554
+#, c-format
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr "Förstartare (bootstrap) överlappar med disketikett!\n"
+
+#: fdisk/fdiskbsdlabel.c:575 fdisk/fdiskbsdlabel.c:577
+#, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr "Förstartare (bootstrap) installerad på %s.\n"
+
+#: fdisk/fdiskbsdlabel.c:599
+#, c-format
+msgid "Partition (a-%c): "
+msgstr "Partition (a-%c): "
+
+#: fdisk/fdiskbsdlabel.c:618 fdisk/fdisk.c:2199
+#, c-format
+msgid "The maximum number of partitions has been created\n"
+msgstr "Det maximala antalet partitioner har skapats\n"
+
+#: fdisk/fdiskbsdlabel.c:630
+#, c-format
+msgid "This partition already exists.\n"
+msgstr "Denna partition finns redan.\n"
+
+#: fdisk/fdiskbsdlabel.c:757
+#, c-format
+msgid "Warning: too many partitions (%d, maximum is %d).\n"
+msgstr "Varning: för många partitioner (%d, max är %d).\n"
+
+#: fdisk/fdiskbsdlabel.c:805
+#, c-format
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+"\n"
+"Synkroniserar hårddiskar.\n"
+
+#: fdisk/fdisk.c:244
+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"
+
+#: fdisk/fdisk.c:256
+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"
+
+#: fdisk/fdisk.c:265
+#, c-format
+msgid "Unable to open %s\n"
+msgstr "Kan inte öppna %s\n"
+
+#: fdisk/fdisk.c:269
+#, c-format
+msgid "Unable to read %s\n"
+msgstr "Kan inte läsa %s\n"
+
+#: fdisk/fdisk.c:273
+#, c-format
+msgid "Unable to seek on %s\n"
+msgstr "Kan inte söka på %s\n"
+
+#: fdisk/fdisk.c:277
+#, c-format
+msgid "Unable to write %s\n"
+msgstr "Kan inte skriva %s\n"
+
+#: fdisk/fdisk.c:281
+#, c-format
+msgid "BLKGETSIZE ioctl failed on %s\n"
+msgstr "BLKGETSIZE-ioctl:en misslyckades på %s\n"
+
+#: fdisk/fdisk.c:285
+msgid "Unable to allocate any more memory\n"
+msgstr "Kan inte allokera mer minne\n"
+
+#: fdisk/fdisk.c:288
+msgid "Fatal error\n"
+msgstr "Ödesdigert fel\n"
+
+#: fdisk/fdisk.c:387
+msgid "   a   toggle a read only flag"
+msgstr "   a   slå på/av en flagga för skrivskydd"
+
+#: fdisk/fdisk.c:388 fdisk/fdisk.c:432
+msgid "   b   edit bsd disklabel"
+msgstr "   b   redigera bsd-disketikett"
+
+#: fdisk/fdisk.c:389
+msgid "   c   toggle the mountable flag"
+msgstr "   c   slå på/av monterbarhetsflaggan"
+
+#: fdisk/fdisk.c:390 fdisk/fdisk.c:409 fdisk/fdisk.c:434
+msgid "   d   delete a partition"
+msgstr "   d   ta bort en partition"
+
+#: fdisk/fdisk.c:391 fdisk/fdisk.c:410 fdisk/fdisk.c:435
+msgid "   l   list known partition types"
+msgstr "   l   lista kända partitionstyper"
+
+#: fdisk/fdisk.c:393 fdisk/fdisk.c:412 fdisk/fdisk.c:437
+msgid "   n   add a new partition"
+msgstr "   n   lägg till en ny partition"
+
+#: fdisk/fdisk.c:394 fdisk/fdisk.c:413 fdisk/fdisk.c:425 fdisk/fdisk.c:438
+msgid "   o   create a new empty DOS partition table"
+msgstr "   o   skapa en ny tom DOS-partitionstabell"
+
+#: fdisk/fdisk.c:395 fdisk/fdisk.c:414 fdisk/fdisk.c:439 fdisk/fdisk.c:462
+#: fdisk/fdisk.c:479 fdisk/fdisk.c:495 fdisk/fdisk.c:513
+msgid "   p   print the partition table"
+msgstr "   p   visa partitionstabellen"
+
+#: fdisk/fdisk.c:397 fdisk/fdisk.c:416 fdisk/fdisk.c:427 fdisk/fdisk.c:441
+msgid "   s   create a new empty Sun disklabel"
+msgstr "   s   skapa en ny tom Sun-disketikett"
+
+#: fdisk/fdisk.c:398 fdisk/fdisk.c:417 fdisk/fdisk.c:442
+msgid "   t   change a partition's system id"
+msgstr "   t   ändra en partitions system-id"
+
+#: fdisk/fdisk.c:399 fdisk/fdisk.c:418 fdisk/fdisk.c:443
+msgid "   u   change display/entry units"
+msgstr "   u   ändra visnings-/postenheter"
+
+#: fdisk/fdisk.c:400 fdisk/fdisk.c:419 fdisk/fdisk.c:444 fdisk/fdisk.c:466
+#: fdisk/fdisk.c:483 fdisk/fdisk.c:499 fdisk/fdisk.c:517
+msgid "   v   verify the partition table"
+msgstr "   v   verifiera partitionstabellen"
+
+#: fdisk/fdisk.c:401 fdisk/fdisk.c:420 fdisk/fdisk.c:445 fdisk/fdisk.c:467
+#: fdisk/fdisk.c:484 fdisk/fdisk.c:500 fdisk/fdisk.c:518
+msgid "   w   write table to disk and exit"
+msgstr "   w   skriv tabellen till disk och avsluta"
+
+#: fdisk/fdisk.c:402 fdisk/fdisk.c:446
+msgid "   x   extra functionality (experts only)"
+msgstr "   x   extra funktionalitet (endast experter)"
+
+#: fdisk/fdisk.c:406
+msgid "   a   select bootable partition"
+msgstr "   a   välj startbar partition"
+
+#: fdisk/fdisk.c:407
+msgid "   b   edit bootfile entry"
+msgstr "   b   redigera startfilspost"
+
+#: fdisk/fdisk.c:408
+msgid "   c   select sgi swap partition"
+msgstr "   c   välj sgi-växlingspartition"
+
+#: fdisk/fdisk.c:431
+msgid "   a   toggle a bootable flag"
+msgstr "   a   slå på/av en startbarhetsflagga"
+
+#: fdisk/fdisk.c:433
+msgid "   c   toggle the dos compatibility flag"
+msgstr "   c   slå på/av dos-kompatibilitetsflaggan"
+
+#: fdisk/fdisk.c:454
+msgid "   a   change number of alternate cylinders"
+msgstr "   a   ändra antalet alternativa cylindrar"
+
+#: fdisk/fdisk.c:455 fdisk/fdisk.c:473 fdisk/fdisk.c:489 fdisk/fdisk.c:505
+msgid "   c   change number of cylinders"
+msgstr "   c   ändra antalet cylindrar"
+
+#: fdisk/fdisk.c:456 fdisk/fdisk.c:474 fdisk/fdisk.c:490 fdisk/fdisk.c:506
+msgid "   d   print the raw data in the partition table"
+msgstr "   d   skriv ut den råa datan i partitionstabellen"
+
+#: fdisk/fdisk.c:457
+msgid "   e   change number of extra sectors per cylinder"
+msgstr "   e   ändra antalet extra sektorer per cylinder"
+
+#: fdisk/fdisk.c:458 fdisk/fdisk.c:477 fdisk/fdisk.c:493 fdisk/fdisk.c:510
+msgid "   h   change number of heads"
+msgstr "   h   ändra antalet huvuden"
+
+#: fdisk/fdisk.c:459
+msgid "   i   change interleave factor"
+msgstr "   i   ändra mellanrumsfaktor"
+
+#: fdisk/fdisk.c:460
+msgid "   o   change rotation speed (rpm)"
+msgstr "   o   ändra rotationshastighet (varv per minut)"
+
+#: fdisk/fdisk.c:465 fdisk/fdisk.c:482 fdisk/fdisk.c:498 fdisk/fdisk.c:516
+msgid "   s   change number of sectors/track"
+msgstr "   s   ändra antalet sektorer/spår"
+
+#: fdisk/fdisk.c:468
+msgid "   y   change number of physical cylinders"
+msgstr "   y   ändra antalet fysiska cylindrar"
+
+#: fdisk/fdisk.c:472 fdisk/fdisk.c:488 fdisk/fdisk.c:504
+msgid "   b   move beginning of data in a partition"
+msgstr "   b   flytta början på data i en partition"
+
+#: fdisk/fdisk.c:475 fdisk/fdisk.c:491 fdisk/fdisk.c:507
+msgid "   e   list extended partitions"
+msgstr "   e   lista utökade partitioner"
+
+#: fdisk/fdisk.c:476 fdisk/fdisk.c:492 fdisk/fdisk.c:509
+msgid "   g   create an IRIX (SGI) partition table"
+msgstr "   g   skapa en IRIX-partitionstabell (SGI)"
+
+#: fdisk/fdisk.c:508
+msgid "   f   fix partition order"
+msgstr "   f   fixa partitionsordningen"
+
+#: fdisk/fdisk.c:511
+msgid "   i   change the disk identifier"
+msgstr "   i   ändra diskidentifieraren"
+
+#: fdisk/fdisk.c:627
+#, c-format
+msgid "You must set"
+msgstr "Du måste ställa in"
+
+#: fdisk/fdisk.c:644
+msgid "heads"
+msgstr "huvuden"
+
+#: fdisk/fdisk.c:646 fdisk/fdisk.c:1357 fdisk/sfdisk.c:945
+msgid "sectors"
+msgstr "sektorer"
+
+#: fdisk/fdisk.c:652
+#, 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"
+
+#: fdisk/fdisk.c:653
+msgid " and "
+msgstr " och "
+
+#: fdisk/fdisk.c:670
+#, c-format
+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"
+
+#: fdisk/fdisk.c:683
+#, 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 %d-byte sectors. Use parted(1) and GUID \n"
+"partition table format (GPT).\n"
+"\n"
+msgstr ""
+
+#: fdisk/fdisk.c:708
+#, c-format
+msgid "Bad offset in primary extended partition\n"
+msgstr "Felaktigt avstånd i primär utökad partition\n"
+
+#: fdisk/fdisk.c:722
+#, 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"
+
+#: fdisk/fdisk.c:741
+#, c-format
+msgid "Warning: extra link pointer in partition table %d\n"
+msgstr "Varning: extra länkpekare i partitionstabell %d\n"
+
+#: fdisk/fdisk.c:749
+#, c-format
+msgid "Warning: ignoring extra data in partition table %d\n"
+msgstr "Varning: ignorerar extra data i partitionstabell %d\n"
+
+#: fdisk/fdisk.c:782
+#, fuzzy, c-format
+msgid "omitting empty partition (%d)\n"
+msgstr "Varning: tom partition\n"
+
+#: fdisk/fdisk.c:801
+#, c-format
+msgid "Disk identifier: 0x%08x\n"
+msgstr "Diskidentifierare: 0x%08x\n"
+
+#: fdisk/fdisk.c:810
+#, c-format
+msgid "New disk identifier (current 0x%08x): "
+msgstr "Ny diskidentifierare (nuvarande 0x%08x): "
+
+#: fdisk/fdisk.c:829
+#, c-format
+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"
+
+#: fdisk/fdisk.c:861
+#, c-format
+msgid "Note: sector size is %d (not %d)\n"
+msgstr "Observera: sektorstorleken är %d (inte %d)\n"
+
+#: fdisk/fdisk.c:990
+#, c-format
+msgid "You will not be able to write the partition table.\n"
+msgstr "Du kommer inte att kunna skriva partitionstabellen.\n"
+
+#: fdisk/fdisk.c:1022
+#, c-format
+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"
+
+#: fdisk/fdisk.c:1032
+#, c-format
+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"
+
+#: fdisk/fdisk.c:1049
+#, c-format
+msgid "Internal error\n"
+msgstr "Internt fel\n"
+
+#: fdisk/fdisk.c:1062
+#, c-format
+msgid "Ignoring extra extended partition %d\n"
+msgstr "Ignorerar extra utökad partition %d\n"
+
+#: fdisk/fdisk.c:1074
+#, 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"
+
+#: fdisk/fdisk.c:1096
+#, c-format
+msgid ""
+"\n"
+"got EOF thrice - exiting..\n"
+msgstr ""
+"\n"
+"mottog EOF tre gånger - avslutar...\n"
+
+#: fdisk/fdisk.c:1135
+msgid "Hex code (type L to list codes): "
+msgstr "Hexadecimal kod (tryck L för att se koder): "
+
+#: fdisk/fdisk.c:1175
+#, c-format
+msgid "%s (%u-%u, default %u): "
+msgstr "%s (%u-%u, standardvärde %u): "
+
+#: fdisk/fdisk.c:1242
+#, c-format
+msgid "Unsupported suffix: '%s'.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1243
+#, c-format
+msgid ""
+"Supported: 10^N: KB (KiloByte), MB (MegaByte), GB (GigaByte)\n"
+"            2^N: K  (KibiByte), M  (MebiByte), G  (GibiByte)\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1269
+#, c-format
+msgid "Using default value %u\n"
+msgstr "Använder standardvärdet %u\n"
+
+#: fdisk/fdisk.c:1273
+#, c-format
+msgid "Value out of range.\n"
+msgstr "Värdet är utanför intervallet.\n"
+
+#: fdisk/fdisk.c:1283
+msgid "Partition number"
+msgstr "Partitionsnummer"
+
+#: fdisk/fdisk.c:1294
+#, c-format
+msgid "Warning: partition %d has empty type\n"
+msgstr "Varning: partition %d har tom typ\n"
+
+#: fdisk/fdisk.c:1316 fdisk/fdisk.c:1342
+#, c-format
+msgid "Selected partition %d\n"
+msgstr "Valde partition %d\n"
+
+#: fdisk/fdisk.c:1319
+#, c-format
+msgid "No partition is defined yet!\n"
+msgstr "Ingen partition är definierad än!\n"
+
+#: fdisk/fdisk.c:1345
+#, c-format
+msgid "All primary partitions have been defined already!\n"
+msgstr "Alla primära partitioner har redan definierats!\n"
+
+#: fdisk/fdisk.c:1355
+msgid "cylinder"
+msgstr "cylinder"
+
+#: fdisk/fdisk.c:1355
+msgid "sector"
+msgstr "sektor"
+
+#: fdisk/fdisk.c:1364
+#, c-format
+msgid "Changing display/entry units to %s\n"
+msgstr "Ändrar visnings-/inmatningsenheter till %s\n"
+
+#: fdisk/fdisk.c:1375
+#, c-format
+msgid "WARNING: Partition %d is an extended partition\n"
+msgstr "VARNING: Partition %d är en utökad partition\n"
+
+#: fdisk/fdisk.c:1386
+#, c-format
+msgid "DOS Compatibility flag is set\n"
+msgstr "DOS-kompatibilitetsflagga är satt\n"
+
+#: fdisk/fdisk.c:1390
+#, c-format
+msgid "DOS Compatibility flag is not set\n"
+msgstr "DOS-kompatibilitetsflagga är inte satt\n"
+
+#: fdisk/fdisk.c:1490
+#, c-format
+msgid "Partition %d does not exist yet!\n"
+msgstr "Partition %d finns inte än!\n"
+
+#: fdisk/fdisk.c:1495
+#, 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"
+
+#: fdisk/fdisk.c:1504
+#, 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"
+
+#: fdisk/fdisk.c:1513
+#, 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"
+
+#: fdisk/fdisk.c:1519
+#, 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"
+
+#: fdisk/fdisk.c:1536
+#, c-format
+msgid "Changed system type of partition %d to %x (%s)\n"
+msgstr "Ändrade systemtypen för partition %d till %x (%s)\n"
+
+#: fdisk/fdisk.c:1539
+#, 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"
+
+#: fdisk/fdisk.c:1591
+#, 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"
+
+#: fdisk/fdisk.c:1593 fdisk/fdisk.c:1601 fdisk/fdisk.c:1610 fdisk/fdisk.c:1620
+#, c-format
+msgid "     phys=(%d, %d, %d) "
+msgstr "     fys=(%d, %d, %d) "
+
+#: fdisk/fdisk.c:1594 fdisk/fdisk.c:1602
+#, c-format
+msgid "logical=(%d, %d, %d)\n"
+msgstr "logisk=(%d, %d, %d)\n"
+
+#: fdisk/fdisk.c:1599
+#, c-format
+msgid "Partition %d has different physical/logical endings:\n"
+msgstr "Partition %d har olika fysiska/logiska slut:\n"
+
+#: fdisk/fdisk.c:1608
+#, c-format
+msgid "Partition %i does not start on cylinder boundary:\n"
+msgstr "Partition %i börjar inte på cylindergräns:\n"
+
+#: fdisk/fdisk.c:1611
+#, c-format
+msgid "should be (%d, %d, 1)\n"
+msgstr "borde vara (%d, %d, 1)\n"
+
+#: fdisk/fdisk.c:1617
+#, c-format
+msgid "Partition %i does not end on cylinder boundary.\n"
+msgstr "Partition %i slutar inte på cylindergräns.\n"
+
+#: fdisk/fdisk.c:1621
+#, c-format
+msgid "should be (%d, %d, %d)\n"
+msgstr "borde vara (%d, %d, %d)\n"
+
+#: fdisk/fdisk.c:1633
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld MB, %lld bytes\n"
+msgstr ""
+"\n"
+"Disk %s: %ld MB, %lld byte\n"
+
+#: fdisk/fdisk.c:1637
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld.%ld GB, %lld bytes\n"
+msgstr ""
+"\n"
+"Disk %s: %ld,%ld GB, %lld byte\n"
+
+#: fdisk/fdisk.c:1640
+#, c-format
+msgid "%d heads, %llu sectors/track, %d cylinders"
+msgstr "%d huvuden, %llu sektorer/spår, %d cylindrar"
+
+#: fdisk/fdisk.c:1643
+#, c-format
+msgid ", total %llu sectors"
+msgstr ", totalt %llu sektorer"
+
+# · (centered dot) is normally used as the multiplication sign in Swedish.
+# See "Svenska skrivregler" §260.
+#
+#: fdisk/fdisk.c:1646
+#, c-format
+msgid "Units = %s of %d * %d = %d bytes\n"
+msgstr "Enheter = %s av %d · %d = %d byte\n"
+
+#: fdisk/fdisk.c:1757
+#, c-format
+msgid ""
+"Nothing to do. Ordering is correct already.\n"
+"\n"
+msgstr ""
+"Ingenting att göra. Ordningen är redan korrekt.\n"
+"\n"
+
+#: fdisk/fdisk.c:1785
+#, fuzzy, c-format
+msgid "Done.\n"
+msgstr ""
+"Färdig\n"
+"\n"
+
+#: fdisk/fdisk.c:1813
+#, 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"
+
+#: fdisk/fdisk.c:1826
+#, c-format
+msgid "%*s Boot      Start         End      Blocks   Id  System\n"
+msgstr "%*s Start     Början        Slut     Block    Id  System\n"
+
+#: fdisk/fdisk.c:1827 fdisk/fdisksgilabel.c:223 fdisk/fdisksunlabel.c:603
+msgid "Device"
+msgstr "Enhet"
+
+#: fdisk/fdisk.c:1864
+#, c-format
+msgid ""
+"\n"
+"Partition table entries are not in disk order\n"
+msgstr ""
+"\n"
+"Posterna i partitionstabellen är inte i diskordning\n"
+
+#: fdisk/fdisk.c:1874
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %d cylinders\n"
+"\n"
+msgstr ""
+"\n"
+"Disk %s: %d huvuden, %llu sektorer, %d cylindrar\n"
+"\n"
+
+#: fdisk/fdisk.c:1876
+#, 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"
+
+#: fdisk/fdisk.c:1922
+#, c-format
+msgid "Warning: partition %d contains sector 0\n"
+msgstr "Varning: partition %d innehåller sektor 0\n"
+
+#: fdisk/fdisk.c:1925
+#, c-format
+msgid "Partition %d: head %d greater than maximum %d\n"
+msgstr "Partition %d: huvud %d är större än maximala %d\n"
+
+#: fdisk/fdisk.c:1928
+#, c-format
+msgid "Partition %d: sector %d greater than maximum %llu\n"
+msgstr "Partition %d: sektor %d är större än maximala %llu\n"
+
+#: fdisk/fdisk.c:1931
+#, c-format
+msgid "Partitions %d: cylinder %d greater than maximum %d\n"
+msgstr "Partitioner %d: cylinder %d är större än maximala %d\n"
+
+#: fdisk/fdisk.c:1935
+#, 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"
+
+#: fdisk/fdisk.c:1968
+#, c-format
+msgid "Warning: bad start-of-data in partition %d\n"
+msgstr "Varning: felaktig databörjan på partition %d\n"
+
+#: fdisk/fdisk.c:1976
+#, c-format
+msgid "Warning: partition %d overlaps partition %d.\n"
+msgstr "Varning: partition %d överlappar med partition %d.\n"
+
+#: fdisk/fdisk.c:1996
+#, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr "Varning: partition %d är tom\n"
+
+#: fdisk/fdisk.c:2001
+#, c-format
+msgid "Logical partition %d not entirely in partition %d\n"
+msgstr "Logisk partition %d är inte helt inuti partition %d\n"
+
+#: fdisk/fdisk.c:2007
+#, 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"
+
+#: fdisk/fdisk.c:2010
+#, fuzzy, c-format
+msgid "%lld unallocated %d-byte sectors\n"
+msgstr "%lld oallokerade sektorer\n"
+
+#: fdisk/fdisk.c:2025 fdisk/fdisksgilabel.c:633 fdisk/fdisksunlabel.c:416
+#, 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"
+
+#: fdisk/fdisk.c:2067
+#, c-format
+msgid "Sector %llu is already allocated\n"
+msgstr "Sektor %llu är redan allokerad\n"
+
+#: fdisk/fdisk.c:2103
+#, c-format
+msgid "No free sectors available\n"
+msgstr "Inga lediga sektorer är tillgängliga\n"
+
+#: fdisk/fdisk.c:2112
+#, c-format
+msgid "Last %1$s, +%2$s or +size{K,M,G}"
+msgstr ""
+
+#: fdisk/fdisk.c:2178
+#, 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"
+
+#: fdisk/fdisk.c:2187
+#, 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"
+
+#: fdisk/fdisk.c:2207
+#, c-format
+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"
+
+#: fdisk/fdisk.c:2210
+#, c-format
+msgid "All logical partitions are in use\n"
+msgstr "Alla logiska partitioner används\n"
+
+#: fdisk/fdisk.c:2211
+#, c-format
+msgid "Adding a primary partition\n"
+msgstr "Lägger till en primär partition\n"
+
+#: fdisk/fdisk.c:2216
+#, c-format
+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"
+
+#: fdisk/fdisk.c:2218
+msgid "l   logical (5 or over)"
+msgstr "l   logisk (5 eller högre)"
+
+#: fdisk/fdisk.c:2218
+msgid "e   extended"
+msgstr "e   utökad"
+
+#: fdisk/fdisk.c:2237
+#, c-format
+msgid "Invalid partition number for type `%c'\n"
+msgstr "Ogiltigt partitionsnummer för typen \"%c\"\n"
+
+#: fdisk/fdisk.c:2273
+#, c-format
+msgid ""
+"The partition table has been altered!\n"
+"\n"
+msgstr ""
+"Partitionstabellen har ändrats!\n"
+"\n"
+
+#: fdisk/fdisk.c:2287
+#, c-format
+msgid "Calling ioctl() to re-read partition table.\n"
+msgstr "Anropar ioctl() för att läsa om partitionstabellen.\n"
+
+#: fdisk/fdisk.c:2296
+#, fuzzy, c-format
+msgid ""
+"\n"
+"WARNING: Re-reading the partition table failed with error %d: %s.\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"
+
+#: fdisk/fdisk.c:2304
+#, 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"
+
+#: fdisk/fdisk.c:2310
+#, c-format
+msgid ""
+"\n"
+"Error closing file\n"
+msgstr ""
+"\n"
+"Fel vid stängning av fil\n"
+
+#: fdisk/fdisk.c:2314
+#, c-format
+msgid "Syncing disks.\n"
+msgstr "Synkroniserar hårddiskar.\n"
+
+#: fdisk/fdisk.c:2361
+#, c-format
+msgid "Partition %d has no data area\n"
+msgstr "Partition %d har inget dataområde\n"
+
+#: fdisk/fdisk.c:2366
+msgid "New beginning of data"
+msgstr "Ny början utav data"
+
+#: fdisk/fdisk.c:2382
+msgid "Expert command (m for help): "
+msgstr "Expertkommando (m för hjälp): "
+
+#: fdisk/fdisk.c:2395
+msgid "Number of cylinders"
+msgstr "Antal cylindrar"
+
+#: fdisk/fdisk.c:2422
+msgid "Number of heads"
+msgstr "Antal huvuden"
+
+#: fdisk/fdisk.c:2449
+msgid "Number of sectors"
+msgstr "Antal sektorer"
+
+#: fdisk/fdisk.c:2452
+#, c-format
+msgid "Warning: setting sector offset for DOS compatiblity\n"
+msgstr "Varning: ställer in sektoravstånd för DOS-kompatibilitet\n"
+
+#: fdisk/fdisk.c:2511
+#, 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"
+
+#: fdisk/fdisk.c:2533
+#, c-format
+msgid "Disk %s doesn't contain a valid partition table\n"
+msgstr "Disk %s innehåller inte en giltig partitionstabell\n"
+
+#: fdisk/fdisk.c:2544
+#, c-format
+msgid "Cannot open %s\n"
+msgstr "Kan inte öppna %s\n"
+
+#: fdisk/fdisk.c:2563 fdisk/sfdisk.c:2618
+#, c-format
+msgid "cannot open %s\n"
+msgstr "kan inte öppna %s\n"
+
+#: fdisk/fdisk.c:2583
+#, c-format
+msgid "%c: unknown command\n"
+msgstr "%c: okänt kommando\n"
+
+#: fdisk/fdisk.c:2653
+#, c-format
+msgid "This kernel finds the sector size itself - -b option ignored\n"
+msgstr "Denna kärna hittar själv sektorstorleken - flaggan -b ignoreras\n"
+
+#: fdisk/fdisk.c:2657
+#, 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"
+
+#: fdisk/fdisk.c:2717
+#, 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"
+
+#: fdisk/fdisk.c:2727
+msgid "Command (m for help): "
+msgstr "Kommando (m för hjälp): "
+
+#: fdisk/fdisk.c:2743
+#, c-format
+msgid ""
+"\n"
+"The current boot file is: %s\n"
+msgstr ""
+"\n"
+"Aktuell startfil är: %s\n"
+
+#: fdisk/fdisk.c:2745
+msgid "Please enter the name of the new boot file: "
+msgstr "Ange namnet på den nya startfilen: "
+
+#: fdisk/fdisk.c:2747
+#, c-format
+msgid "Boot file unchanged\n"
+msgstr "Startfilen oförändrad\n"
+
+#: fdisk/fdisk.c:2820
+#, c-format
+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"
+
+#: fdisk/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"
+
+#: fdisk/fdisksgilabel.c:81
+msgid "SGI volhdr"
+msgstr "SGI-volhvd"
+
+#: fdisk/fdisksgilabel.c:82
+msgid "SGI trkrepl"
+msgstr "SGI-sprrepl"
+
+#: fdisk/fdisksgilabel.c:83
+msgid "SGI secrepl"
+msgstr "SGI-sekrepl"
+
+#: fdisk/fdisksgilabel.c:84
+msgid "SGI raw"
+msgstr "SGI rå"
+
+#: fdisk/fdisksgilabel.c:85
+msgid "SGI bsd"
+msgstr "SGI bsd"
+
+#: fdisk/fdisksgilabel.c:86
+msgid "SGI sysv"
+msgstr "SGI sysv"
+
+#: fdisk/fdisksgilabel.c:87
+msgid "SGI volume"
+msgstr "SGI-volym"
+
+#: fdisk/fdisksgilabel.c:88
+msgid "SGI efs"
+msgstr "SGI efs"
+
+#: fdisk/fdisksgilabel.c:89
+msgid "SGI lvol"
+msgstr "SGI lvol"
+
+#: fdisk/fdisksgilabel.c:90
+msgid "SGI rlvol"
+msgstr "SGI rvol"
+
+#: fdisk/fdisksgilabel.c:91
+msgid "SGI xfs"
+msgstr "SGI xfs"
+
+#: fdisk/fdisksgilabel.c:92
+msgid "SGI xfslog"
+msgstr "SGI xfslog"
+
+#: fdisk/fdisksgilabel.c:93
+msgid "SGI xlv"
+msgstr "SGI xlv"
+
+#: fdisk/fdisksgilabel.c:94
+msgid "SGI xvm"
+msgstr "SGI xvm"
+
+#: fdisk/fdisksgilabel.c:95 fdisk/fdisksunlabel.c:55
+msgid "Linux swap"
+msgstr "Linux växling"
+
+#: fdisk/fdisksgilabel.c:96 fdisk/fdisksunlabel.c:56
+msgid "Linux native"
+msgstr "Linux egen"
+
+#: fdisk/fdisksgilabel.c:97 fdisk/fdisksunlabel.c:57 fdisk/i386_sys_types.c:63
+msgid "Linux LVM"
+msgstr "Linux LVM"
+
+#: fdisk/fdisksgilabel.c:98
+msgid "Linux RAID"
+msgstr "Linux RAID"
+
+#: fdisk/fdisksgilabel.c:164
+#, 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"
+
+#: fdisk/fdisksgilabel.c:183
+#, 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.
+#
+#: fdisk/fdisksgilabel.c:201
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors\n"
+"%d cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * %d 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.
+#
+#: fdisk/fdisksgilabel.c:214
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors, %d cylinders\n"
+"Units = %s of %d * %d bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disk %s (SGI-disketikett): %d huvuden, %llu sektorer, %d cylindrar\n"
+"Enheter = %s av %d · %d byte\n"
+"\n"
+
+#: fdisk/fdisksgilabel.c:221
+#, 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"
+
+#: fdisk/fdisksgilabel.c:243
+#, c-format
+msgid ""
+"----- Bootinfo -----\n"
+"Bootfile: %s\n"
+"----- Directory Entries -----\n"
+msgstr ""
+"----- Startinfo -----\n"
+"Startfil: %s\n"
+"----- Katalogposter -----\n"
+
+#: fdisk/fdisksgilabel.c:251
+#, c-format
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr "%2d: %-10s sektor%5u storlek%8u\n"
+
+#: fdisk/fdisksgilabel.c:305
+#, 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"
+
+#: fdisk/fdisksgilabel.c:311
+#, 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"
+
+#: fdisk/fdisksgilabel.c:316
+#, 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"
+
+#: fdisk/fdisksgilabel.c:323
+#, 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"
+
+#: fdisk/fdisksgilabel.c:349
+#, c-format
+msgid ""
+"\n"
+"\tBootfile is changed to \"%s\".\n"
+msgstr ""
+"\n"
+"\tStartfilen ändrades till \"%s\".\n"
+
+#: fdisk/fdisksgilabel.c:439
+#, c-format
+msgid "More than one entire disk entry present.\n"
+msgstr "Det finns fler än en diskpost.\n"
+
+#: fdisk/fdisksgilabel.c:446 fdisk/fdisksunlabel.c:388
+#, c-format
+msgid "No partitions defined\n"
+msgstr "Inga partitioner är angivna\n"
+
+#: fdisk/fdisksgilabel.c:452
+#, 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"
+
+#: fdisk/fdisksgilabel.c:454
+#, 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"
+
+#: fdisk/fdisksgilabel.c:460
+#, 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"
+
+#: fdisk/fdisksgilabel.c:466
+#, c-format
+msgid "One Partition (#11) should cover the entire disk.\n"
+msgstr "En partition (11) måste täcka hela hårddisken.\n"
+
+#: fdisk/fdisksgilabel.c:476
+#, 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"
+
+#: fdisk/fdisksgilabel.c:482
+#, c-format
+msgid "Partition %d does not end on cylinder boundary.\n"
+msgstr "Partition %d slutar inte på en jämn cylindergräns.\n"
+
+#: fdisk/fdisksgilabel.c:489
+#, c-format
+msgid "The Partition %d and %d overlap by %d sectors.\n"
+msgstr "Partition %d och %d överlappar varandra med %d sektorer.\n"
+
+#: fdisk/fdisksgilabel.c:497 fdisk/fdisksgilabel.c:515
+#, c-format
+msgid "Unused gap of %8u sectors - sectors %8u-%u\n"
+msgstr "Oanvänt mellanrum på %8u sektorer - sektorerna %8u-%u\n"
+
+#: fdisk/fdisksgilabel.c:526
+#, c-format
+msgid ""
+"\n"
+"The boot partition does not exist.\n"
+msgstr ""
+"\n"
+"Startpartitionen finns inte.\n"
+
+#: fdisk/fdisksgilabel.c:529
+#, c-format
+msgid ""
+"\n"
+"The swap partition does not exist.\n"
+msgstr ""
+"\n"
+"Växlingspartitionen finns inte.\n"
+
+#: fdisk/fdisksgilabel.c:533
+#, c-format
+msgid ""
+"\n"
+"The swap partition has no swap type.\n"
+msgstr ""
+"\n"
+"Växlingspartitionen har ingen växlingstyp.\n"
+
+#: fdisk/fdisksgilabel.c:536
+#, c-format
+msgid "\tYou have chosen an unusual boot file name.\n"
+msgstr "\tDu har valt ett ovanligt namn på startfilen.\n"
+
+#: fdisk/fdisksgilabel.c:545
+#, c-format
+msgid "Sorry You may change the Tag of non-empty partitions.\n"
+msgstr "Tyvärr, du kan ändra taggen på icke-tomma partitioner.\n"
+
+#: fdisk/fdisksgilabel.c:551
+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"
+
+#: fdisk/fdisksgilabel.c:556 fdisk/fdisksunlabel.c:554
+msgid "YES\n"
+msgstr "JA\n"
+
+#: fdisk/fdisksgilabel.c:581
+#, c-format
+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"
+
+#: fdisk/fdisksgilabel.c:639
+#, c-format
+msgid "Attempting to generate entire disk entry automatically.\n"
+msgstr "Försöker att generera fullständig diskpost automatiskt.\n"
+
+#: fdisk/fdisksgilabel.c:644
+#, c-format
+msgid "The entire disk is already covered with partitions.\n"
+msgstr "Hela disken är redan täckt med partitioner.\n"
+
+#: fdisk/fdisksgilabel.c:648
+#, 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"
+
+#: fdisk/fdisksgilabel.c:657 fdisk/fdisksgilabel.c:686
+#, 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"
+
+#: fdisk/fdisksgilabel.c:673
+#, 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"
+
+#: fdisk/fdisksgilabel.c:678
+#, c-format
+msgid " Last %s"
+msgstr " sista %s"
+
+#: fdisk/fdisksgilabel.c:708
+#, c-format
+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"
+
+#: fdisk/fdisksgilabel.c:731 fdisk/fdisksunlabel.c:227
+#, c-format
+msgid ""
+"Warning:  BLKGETSIZE ioctl failed on %s.  Using geometry cylinder value of %"
+"d.\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"
+
+#: fdisk/fdisksgilabel.c:745
+#, c-format
+msgid "Trying to keep parameters of partition %d.\n"
+msgstr "Försöker att behålla parametrarna för partition %d.\n"
+
+#: fdisk/fdisksgilabel.c:747
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr "ID=%02x\tBÖRJAN=%d\tLÄNGD=%d\n"
+
+#: fdisk/fdisksunlabel.c:43
+msgid "Unassigned"
+msgstr "Otilldelad"
+
+#: fdisk/fdisksunlabel.c:45
+msgid "SunOS root"
+msgstr "SunOS rot"
+
+#: fdisk/fdisksunlabel.c:46
+msgid "SunOS swap"
+msgstr "SunOS växling"
+
+#: fdisk/fdisksunlabel.c:47
+msgid "SunOS usr"
+msgstr "SunOS usr"
+
+#: fdisk/fdisksunlabel.c:48
+msgid "Whole disk"
+msgstr "Hela disken"
+
+#: fdisk/fdisksunlabel.c:49
+msgid "SunOS stand"
+msgstr "SunOS stand"
+
+#: fdisk/fdisksunlabel.c:50
+msgid "SunOS var"
+msgstr "SunOS var"
+
+#: fdisk/fdisksunlabel.c:51
+msgid "SunOS home"
+msgstr "SunOS home"
+
+#: fdisk/fdisksunlabel.c:52
+msgid "SunOS alt sectors"
+msgstr "SunOS alt sektorer"
+
+#: fdisk/fdisksunlabel.c:53
+msgid "SunOS cachefs"
+msgstr "SunOS cachefs"
+
+#: fdisk/fdisksunlabel.c:54
+msgid "SunOS reserved"
+msgstr "SunOS reserverad"
+
+#: fdisk/fdisksunlabel.c:58 fdisk/i386_sys_types.c:103
+msgid "Linux raid autodetect"
+msgstr "Linux raid autodetekterad"
+
+#: fdisk/fdisksunlabel.c:141
+#, 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"
+
+#: fdisk/fdisksunlabel.c:153
+#, c-format
+msgid "Detected sun disklabel with wrong version [0x%08x].\n"
+msgstr "Hittade sun-disketikett med felaktig version [0x%08x].\n"
+
+#: fdisk/fdisksunlabel.c:158
+#, c-format
+msgid "Detected sun disklabel with wrong sanity [0x%08x].\n"
+msgstr "Hittade sun-disketikett med felaktig kontrollsumma [0x%08x].\n"
+
+#: fdisk/fdisksunlabel.c:163
+#, c-format
+msgid "Detected sun disklabel with wrong num_partitions [%u].\n"
+msgstr "Hittade sun-disketikett med felaktig num_partitions [%u].\n"
+
+#: fdisk/fdisksunlabel.c:168
+#, 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"
+
+#: fdisk/fdisksunlabel.c:198
+#, c-format
+msgid ""
+"Building a new sun disklabel. Changes will remain in memory only,\n"
+"until you decide to write them. After that, of course, the previous\n"
+"content won't be recoverable.\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"
+
+#: fdisk/fdisksunlabel.c:236
+msgid "Sectors/track"
+msgstr "Sektorer/spår"
+
+#: fdisk/fdisksunlabel.c:351
+#, c-format
+msgid "Partition %d doesn't end on cylinder boundary\n"
+msgstr "Partition %d slutar inte på jämn cylindergräns\n"
+
+#: fdisk/fdisksunlabel.c:371
+#, c-format
+msgid "Partition %d overlaps with others in sectors %d-%d\n"
+msgstr "Partition %d överlappar med andra på sektorerna %d-%d\n"
+
+#: fdisk/fdisksunlabel.c:393
+#, c-format
+msgid "Unused gap - sectors 0-%d\n"
+msgstr "Oanvänt mellanrum - sektorerna 0-%d\n"
+
+#: fdisk/fdisksunlabel.c:395 fdisk/fdisksunlabel.c:401
+#, c-format
+msgid "Unused gap - sectors %d-%d\n"
+msgstr "Oanvänt mellanrum - sektorerna %d-%d\n"
+
+#: fdisk/fdisksunlabel.c:426
+#, 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"
+
+#: fdisk/fdisksunlabel.c:449
+#, 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"
+
+#: fdisk/fdisksunlabel.c:477
+#, c-format
+msgid "Sector %d is already allocated\n"
+msgstr "Sektor %d är redan allokerad\n"
+
+#: fdisk/fdisksunlabel.c:507
+#, 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"
+
+#: fdisk/fdisksunlabel.c:534
+#, 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"
+
+#: fdisk/fdisksunlabel.c:549
+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.
+#
+#: fdisk/fdisksunlabel.c:581
+#, c-format
+msgid ""
+"\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"
+"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.
+#
+#: fdisk/fdisksunlabel.c:597
+#, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %d heads, %llu sectors, %d 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"
+
+#: fdisk/fdisksunlabel.c:602
+#, c-format
+msgid "%*s Flag    Start       End    Blocks   Id  System\n"
+msgstr "%*s Flagga  Början      Slut   Block    Id  System\n"
+
+#: fdisk/fdisksunlabel.c:630
+msgid "Number of alternate cylinders"
+msgstr "Antal alternerande cylindrar"
+
+#: fdisk/fdisksunlabel.c:642
+msgid "Extra sectors per cylinder"
+msgstr "Extra sektorer per cylinder"
+
+#: fdisk/fdisksunlabel.c:649
+msgid "Interleave factor"
+msgstr "Mellanrumsfaktor"
+
+#: fdisk/fdisksunlabel.c:656
+msgid "Rotation speed (rpm)"
+msgstr "Rotationshastighet (varv per minut)"
+
+#: fdisk/fdisksunlabel.c:663
+msgid "Number of physical cylinders"
+msgstr "Antal fysiska cylindrar"
+
+#: fdisk/i386_sys_types.c:6
+msgid "Empty"
+msgstr "Tom"
+
+#: fdisk/i386_sys_types.c:7
+msgid "FAT12"
+msgstr "FAT12"
+
+#: fdisk/i386_sys_types.c:8
+msgid "XENIX root"
+msgstr "XENIX rot"
+
+#: fdisk/i386_sys_types.c:9
+msgid "XENIX usr"
+msgstr "XENIX usr"
+
+#: fdisk/i386_sys_types.c:10
+msgid "FAT16 <32M"
+msgstr "FAT16 < 32 MB"
+
+#: fdisk/i386_sys_types.c:11
+msgid "Extended"
+msgstr "Utökad"
+
+#: fdisk/i386_sys_types.c:12
+msgid "FAT16"
+msgstr "FAT16"
+
+#: fdisk/i386_sys_types.c:13
+msgid "HPFS/NTFS"
+msgstr "HPFS/NTFS"
+
+#: fdisk/i386_sys_types.c:14
+msgid "AIX"
+msgstr "AIX"
+
+#: fdisk/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr "AIX startbar"
+
+#: fdisk/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr "OS/2 Boot Manager"
+
+#: fdisk/i386_sys_types.c:17
+msgid "W95 FAT32"
+msgstr "W95 FAT32"
+
+#: fdisk/i386_sys_types.c:18
+msgid "W95 FAT32 (LBA)"
+msgstr "W95 FAT32 (LBA)"
+
+#: fdisk/i386_sys_types.c:19
+msgid "W95 FAT16 (LBA)"
+msgstr "W95 FAT16 (LBA)"
+
+#: fdisk/i386_sys_types.c:20
+msgid "W95 Ext'd (LBA)"
+msgstr "W95 Utökad (LBA)"
+
+#: fdisk/i386_sys_types.c:21
+msgid "OPUS"
+msgstr "OPUS"
+
+#: fdisk/i386_sys_types.c:22
+msgid "Hidden FAT12"
+msgstr "Dold FAT12"
+
+#: fdisk/i386_sys_types.c:23
+msgid "Compaq diagnostics"
+msgstr "Compaq-diagnostik"
+
+#: fdisk/i386_sys_types.c:24
+msgid "Hidden FAT16 <32M"
+msgstr "Dold FAT16 < 32 MB"
+
+#: fdisk/i386_sys_types.c:25
+msgid "Hidden FAT16"
+msgstr "Dold FAT16"
+
+#: fdisk/i386_sys_types.c:26
+msgid "Hidden HPFS/NTFS"
+msgstr "Dold HPFS/NTFS"
+
+#: fdisk/i386_sys_types.c:27
+msgid "AST SmartSleep"
+msgstr "AST SmartSleep"
+
+#: fdisk/i386_sys_types.c:28
+msgid "Hidden W95 FAT32"
+msgstr "Dold W95 FAT32"
+
+#: fdisk/i386_sys_types.c:29
+msgid "Hidden W95 FAT32 (LBA)"
+msgstr "Dold W95 FAT32 (LBA)"
+
+#: fdisk/i386_sys_types.c:30
+msgid "Hidden W95 FAT16 (LBA)"
+msgstr "Dold W95 FAT16 (LBA)"
+
+#: fdisk/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr "NEC DOS"
+
+#: fdisk/i386_sys_types.c:32
+msgid "Plan 9"
+msgstr "Plan 9"
+
+#: fdisk/i386_sys_types.c:33
+msgid "PartitionMagic recovery"
+msgstr "PartitionMagic-återställning"
+
+#: fdisk/i386_sys_types.c:34
+msgid "Venix 80286"
+msgstr "Venix 80286"
+
+#: fdisk/i386_sys_types.c:35
+msgid "PPC PReP Boot"
+msgstr "PPC PReP start"
+
+#: fdisk/i386_sys_types.c:36
+msgid "SFS"
+msgstr "SFS"
+
+#: fdisk/i386_sys_types.c:37
+msgid "QNX4.x"
+msgstr "QNX4.x"
+
+#: fdisk/i386_sys_types.c:38
+msgid "QNX4.x 2nd part"
+msgstr "QNX4.x 2:a delen"
+
+#: fdisk/i386_sys_types.c:39
+msgid "QNX4.x 3rd part"
+msgstr "QNX4.x 3:e delen"
+
+#: fdisk/i386_sys_types.c:40
+msgid "OnTrack DM"
+msgstr "OnTrack DM"
+
+#: fdisk/i386_sys_types.c:41
+msgid "OnTrack DM6 Aux1"
+msgstr "OnTrack DM6 Aux1"
+
+#: fdisk/i386_sys_types.c:42
+msgid "CP/M"
+msgstr "CP/M"
+
+#: fdisk/i386_sys_types.c:43
+msgid "OnTrack DM6 Aux3"
+msgstr "Ontrack DM6 Aux3"
+
+#: fdisk/i386_sys_types.c:44
+msgid "OnTrackDM6"
+msgstr "OnTrackDM6"
+
+#: fdisk/i386_sys_types.c:45
+msgid "EZ-Drive"
+msgstr "EZ-Drive"
+
+#: fdisk/i386_sys_types.c:46
+msgid "Golden Bow"
+msgstr "Golden Bow"
+
+#: fdisk/i386_sys_types.c:47
+msgid "Priam Edisk"
+msgstr "Priam Edisk"
+
+#: fdisk/i386_sys_types.c:48 fdisk/i386_sys_types.c:92
+#: fdisk/i386_sys_types.c:98 fdisk/i386_sys_types.c:99
+msgid "SpeedStor"
+msgstr "SpeedStor"
+
+#: fdisk/i386_sys_types.c:49
+msgid "GNU HURD or SysV"
+msgstr "GNU HURD / SysV"
+
+#: fdisk/i386_sys_types.c:50
+msgid "Novell Netware 286"
+msgstr "Novell Netware 286"
+
+#: fdisk/i386_sys_types.c:51
+msgid "Novell Netware 386"
+msgstr "Novell Netware 386"
+
+#: fdisk/i386_sys_types.c:52
+msgid "DiskSecure Multi-Boot"
+msgstr "DiskSecure Multi-start"
+
+#: fdisk/i386_sys_types.c:53
+msgid "PC/IX"
+msgstr "PC/IX"
+
+#: fdisk/i386_sys_types.c:54
+msgid "Old Minix"
+msgstr "Gammal Minix"
+
+#: fdisk/i386_sys_types.c:55
+msgid "Minix / old Linux"
+msgstr "Minix / gammal Linux"
+
+#: fdisk/i386_sys_types.c:56
+msgid "Linux swap / Solaris"
+msgstr "Linux växling / Solaris"
+
+#: fdisk/i386_sys_types.c:58
+msgid "OS/2 hidden C: drive"
+msgstr "OS/2 dold C:-enhet"
+
+#: fdisk/i386_sys_types.c:59
+msgid "Linux extended"
+msgstr "Linux utökad"
+
+#: fdisk/i386_sys_types.c:60 fdisk/i386_sys_types.c:61
+msgid "NTFS volume set"
+msgstr "NTFS-volymsamling"
+
+#: fdisk/i386_sys_types.c:62
+msgid "Linux plaintext"
+msgstr "Linux klartext"
+
+#: fdisk/i386_sys_types.c:64
+msgid "Amoeba"
+msgstr "Amoeba"
+
+#: fdisk/i386_sys_types.c:65
+msgid "Amoeba BBT"
+msgstr "Amoeba BBT"
+
+#: fdisk/i386_sys_types.c:66
+msgid "BSD/OS"
+msgstr "BSD/OS"
+
+#: fdisk/i386_sys_types.c:67
+msgid "IBM Thinkpad hibernation"
+msgstr "IBM Thinkpad-viloläge"
+
+#: fdisk/i386_sys_types.c:68
+msgid "FreeBSD"
+msgstr "FreeBSD"
+
+#: fdisk/i386_sys_types.c:69
+msgid "OpenBSD"
+msgstr "OpenBSD"
+
+#: fdisk/i386_sys_types.c:70
+msgid "NeXTSTEP"
+msgstr "NeXTSTEP"
+
+#: fdisk/i386_sys_types.c:71
+msgid "Darwin UFS"
+msgstr "Darwin UFS"
+
+#: fdisk/i386_sys_types.c:72
+msgid "NetBSD"
+msgstr "NetBSD"
+
+#: fdisk/i386_sys_types.c:73
+msgid "Darwin boot"
+msgstr "Darwin start"
+
+#: fdisk/i386_sys_types.c:74
+#, fuzzy
+msgid "HFS / HFS+"
+msgstr "OS/2 HPFS"
+
+#: fdisk/i386_sys_types.c:75
+msgid "BSDI fs"
+msgstr "BSDI fs"
+
+#: fdisk/i386_sys_types.c:76
+msgid "BSDI swap"
+msgstr "BSDI växling"
+
+#: fdisk/i386_sys_types.c:77
+msgid "Boot Wizard hidden"
+msgstr "Boot Wizard dold"
+
+#: fdisk/i386_sys_types.c:78
+msgid "Solaris boot"
+msgstr "Solaris start"
+
+#: fdisk/i386_sys_types.c:79
+msgid "Solaris"
+msgstr "Solaris"
+
+#: fdisk/i386_sys_types.c:80
+msgid "DRDOS/sec (FAT-12)"
+msgstr "DRDOS/sec (FAT-12)"
+
+#: fdisk/i386_sys_types.c:81
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr "DRDOS/sec (FAT-16 < 32 MB)"
+
+#: fdisk/i386_sys_types.c:82
+msgid "DRDOS/sec (FAT-16)"
+msgstr "DRDOS/sec (FAT-16)"
+
+#: fdisk/i386_sys_types.c:83
+msgid "Syrinx"
+msgstr "Syrinx"
+
+#: fdisk/i386_sys_types.c:84
+msgid "Non-FS data"
+msgstr "Icke-filsystemsdata"
+
+#: fdisk/i386_sys_types.c:85
+msgid "CP/M / CTOS / ..."
+msgstr "CP/M / CTOS / ..."
+
+#: fdisk/i386_sys_types.c:87
+msgid "Dell Utility"
+msgstr "Dell-verktyg"
+
+#: fdisk/i386_sys_types.c:88
+msgid "BootIt"
+msgstr "BootIt"
+
+#: fdisk/i386_sys_types.c:89
+msgid "DOS access"
+msgstr "DOS-åtkomst"
+
+#: fdisk/i386_sys_types.c:91
+msgid "DOS R/O"
+msgstr "DOS R/O"
+
+#: fdisk/i386_sys_types.c:94
+msgid "BeOS fs"
+msgstr "BeOS fs"
+
+#: fdisk/i386_sys_types.c:95
+#, fuzzy
+msgid "GPT"
+msgstr "EFI GPT"
+
+#: fdisk/i386_sys_types.c:96
+msgid "EFI (FAT-12/16/32)"
+msgstr "EFI (FAT-12/16/32)"
+
+#: fdisk/i386_sys_types.c:97
+msgid "Linux/PA-RISC boot"
+msgstr "Linux/PA-RISC start"
+
+#: fdisk/i386_sys_types.c:100
+msgid "DOS secondary"
+msgstr "DOS sekundär"
+
+#: fdisk/i386_sys_types.c:101
+msgid "VMware VMFS"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:102
+msgid "VMware VMKCORE"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:106
+msgid "LANstep"
+msgstr "LANstep"
+
+#: fdisk/i386_sys_types.c:107
+msgid "BBT"
+msgstr "BBT"
+
+#: fdisk/sfdisk.c:179
+#, c-format
+msgid "seek error on %s - cannot seek to %lu\n"
+msgstr "sökfel på %s - kan inte spola till %lu\n"
+
+#: fdisk/sfdisk.c:184
+#, 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"
+
+#: fdisk/sfdisk.c:230
+msgid "out of memory - giving up\n"
+msgstr "slut på minne - ger upp\n"
+
+#: fdisk/sfdisk.c:235 fdisk/sfdisk.c:318
+#, c-format
+msgid "read error on %s - cannot read sector %lu\n"
+msgstr "läsfel på %s - kan inte läsa sektor %lu\n"
+
+#: fdisk/sfdisk.c:253
+#, c-format
+msgid "ERROR: sector %lu does not have an msdos signature\n"
+msgstr "FEL: sektor %lu har ingen msdos-signatur\n"
+
+#: fdisk/sfdisk.c:268
+#, c-format
+msgid "write error on %s - cannot write sector %lu\n"
+msgstr "skrivfel på %s - kan inte skriva sektor %lu\n"
+
+#: fdisk/sfdisk.c:306
+#, c-format
+msgid "cannot open partition sector save file (%s)\n"
+msgstr "kan inte öppna partitionssektorsparfil (%s)\n"
+
+#: fdisk/sfdisk.c:324
+#, c-format
+msgid "write error on %s\n"
+msgstr "skrivfel på %s\n"
+
+#: fdisk/sfdisk.c:350
+#, c-format
+msgid "cannot stat partition restore file (%s)\n"
+msgstr "kan inte ta status på partitionsåterställningsfil (%s)\n"
+
+#: fdisk/sfdisk.c:355
+msgid "partition restore file has wrong size - not restoring\n"
+msgstr "partitionsåterställningsfilen har fel storlek - återställer inte\n"
+
+#: fdisk/sfdisk.c:359
+msgid "out of memory?\n"
+msgstr "slut på minne?\n"
+
+#: fdisk/sfdisk.c:365
+#, c-format
+msgid "cannot open partition restore file (%s)\n"
+msgstr "kan inte öppna partitionsåterställningsfilen (%s)\n"
+
+#: fdisk/sfdisk.c:371
+#, c-format
+msgid "error reading %s\n"
+msgstr "fel vid läsning av %s\n"
+
+#: fdisk/sfdisk.c:378
+#, c-format
+msgid "cannot open device %s for writing\n"
+msgstr "kan inte öppna enhet %s för skrivning\n"
+
+#: fdisk/sfdisk.c:390
+#, c-format
+msgid "error writing sector %lu on %s\n"
+msgstr "fel vid skrivning av sektor %lu på %s\n"
+
+#: fdisk/sfdisk.c:455
+#, c-format
+msgid "Disk %s: cannot get geometry\n"
+msgstr "Disk %s: kan inte få tag i geometri\n"
+
+#: fdisk/sfdisk.c:472
+#, c-format
+msgid "Disk %s: cannot get size\n"
+msgstr "Disk %s: kan inte få tag i storlek\n"
+
+#: fdisk/sfdisk.c:505
+#, 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"
+
+#: fdisk/sfdisk.c:512
+#, 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"
+
+#: fdisk/sfdisk.c:515
+#, 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"
+
+#: fdisk/sfdisk.c:519
+#, 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"
+
+#: fdisk/sfdisk.c:524
+#, 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"
+
+#: fdisk/sfdisk.c:528
+#, 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"
+
+#: fdisk/sfdisk.c:610
+#, 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"
+
+#: fdisk/sfdisk.c:615
+#, 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"
+
+#: fdisk/sfdisk.c:620
+#, 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"
+
+#: fdisk/sfdisk.c:660
+#, c-format
+msgid ""
+"Id  Name\n"
+"\n"
+msgstr ""
+"Id  Namn\n"
+"\n"
+
+#: fdisk/sfdisk.c:821
+#, c-format
+msgid "Re-reading the partition table ...\n"
+msgstr "Läser om partitionstabellen...\n"
+
+#: fdisk/sfdisk.c:827
+#, 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"
+
+#: fdisk/sfdisk.c:833
+#, c-format
+msgid "Error closing %s\n"
+msgstr "Fel vid stängning av %s\n"
+
+#: fdisk/sfdisk.c:871
+#, c-format
+msgid "%s: no such partition\n"
+msgstr "%s: det finns ingen sådan partition\n"
+
+#: fdisk/sfdisk.c:894
+msgid "unrecognized format - using sectors\n"
+msgstr "okänt format - använder sektorer\n"
+
+#: fdisk/sfdisk.c:944
+#, c-format
+msgid "unimplemented format - using %s\n"
+msgstr "oimplementerat format - använder %s\n"
+
+#: fdisk/sfdisk.c:948
+#, 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"
+
+#: fdisk/sfdisk.c:951
+#, c-format
+msgid "   Device Boot Start     End   #cyls    #blocks   Id  System\n"
+msgstr "   Enhet Start Början   Slut     Cyl.     Block   Id  System\n"
+
+#: fdisk/sfdisk.c:956
+#, 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"
+
+#: fdisk/sfdisk.c:958
+#, c-format
+msgid "   Device Boot    Start       End   #sectors  Id  System\n"
+msgstr "   Enhet Start   Början      Slut   Sektorer  Id  System\n"
+
+#: fdisk/sfdisk.c:961
+#, 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"
+
+#: fdisk/sfdisk.c:963
+#, c-format
+msgid "   Device Boot   Start       End    #blocks   Id  System\n"
+msgstr "   Enhet Start  Början      Slut      Block   Id  System\n"
+
+#: fdisk/sfdisk.c:966
+#, c-format
+msgid ""
+"Units = mebibytes of 1048576 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"
+
+#: fdisk/sfdisk.c:968
+#, c-format
+msgid "   Device Boot Start   End    MiB    #blocks   Id  System\n"
+msgstr "   Enhet Start Början Slut    MiB      Block   Id  System\n"
+
+#: fdisk/sfdisk.c:1128
+#, 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"
+
+#: fdisk/sfdisk.c:1135
+#, 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"
+
+#: fdisk/sfdisk.c:1138
+#, 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"
+
+#: fdisk/sfdisk.c:1148
+msgid "No partitions found\n"
+msgstr "Inga partitioner hittades\n"
+
+#: fdisk/sfdisk.c:1152
+#, 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"
+
+#: fdisk/sfdisk.c:1201
+msgid "no partition table present.\n"
+msgstr "ingen partitionstabell finns tillgänglig.\n"
+
+#: fdisk/sfdisk.c:1203
+#, c-format
+msgid "strange, only %d partitions defined.\n"
+msgstr "konstigt, endast %d partitioner är angivna.\n"
+
+#: fdisk/sfdisk.c:1212
+#, 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"
+
+#: fdisk/sfdisk.c:1215
+#, c-format
+msgid "Warning: partition %s has size 0 and is bootable\n"
+msgstr "Varning: partition %s har storlek 0 och är startbar\n"
+
+#: fdisk/sfdisk.c:1218
+#, 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"
+
+#: fdisk/sfdisk.c:1229
+#, c-format
+msgid "Warning: partition %s "
+msgstr "Varning: partition %s "
+
+#: fdisk/sfdisk.c:1230
+#, c-format
+msgid "is not contained in partition %s\n"
+msgstr "är inte innesluten i partition %s\n"
+
+#: fdisk/sfdisk.c:1241
+#, c-format
+msgid "Warning: partitions %s "
+msgstr "Varning: partitionerna %s "
+
+#: fdisk/sfdisk.c:1242
+#, c-format
+msgid "and %s overlap\n"
+msgstr "och %s överlappar varandra\n"
+
+#: fdisk/sfdisk.c:1253
+#, c-format
+msgid ""
+"Warning: partition %s contains part of the partition table (sector %lu),\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"
+
+#: fdisk/sfdisk.c:1265
+#, c-format
+msgid "Warning: partition %s starts at sector 0\n"
+msgstr "Varning: partition %s börjar på sektor 0\n"
+
+#: fdisk/sfdisk.c:1269
+#, c-format
+msgid "Warning: partition %s extends past end of disk\n"
+msgstr "Varning: partition %s fortsätter utanför hårddisken\n"
+
+#: fdisk/sfdisk.c:1284
+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"
+
+#: fdisk/sfdisk.c:1302
+#, 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"
+
+#: fdisk/sfdisk.c:1308
+#, 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"
+
+#: fdisk/sfdisk.c:1326
+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"
+
+#: fdisk/sfdisk.c:1333
+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"
+
+#: fdisk/sfdisk.c:1339
+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"
+
+#: fdisk/sfdisk.c:1353
+msgid "start"
+msgstr "början"
+
+#: fdisk/sfdisk.c:1356
+#, 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"
+
+#: fdisk/sfdisk.c:1362
+msgid "end"
+msgstr "slut"
+
+#: fdisk/sfdisk.c:1365
+#, 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"
+
+#: fdisk/sfdisk.c:1368
+#, 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"
+
+#: fdisk/sfdisk.c:1393
+#, c-format
+msgid ""
+"Warning: shifted start of the extd partition from %ld to %ld\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"
+
+#: fdisk/sfdisk.c:1399
+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"
+
+#: fdisk/sfdisk.c:1417 fdisk/sfdisk.c:1494
+#, c-format
+msgid "too many partitions - ignoring those past nr (%d)\n"
+msgstr "för många partitioner - ignorerar de efter nummer (%d)\n"
+
+#: fdisk/sfdisk.c:1432
+msgid "tree of partitions?\n"
+msgstr "träd med partitioner?\n"
+
+#: fdisk/sfdisk.c:1540
+msgid "detected Disk Manager - unable to handle that\n"
+msgstr "upptäckte Disk Manager - kan inte hantera det\n"
+
+#: fdisk/sfdisk.c:1547
+msgid "DM6 signature found - giving up\n"
+msgstr "DM6-signatur hittades - ger upp\n"
+
+#: fdisk/sfdisk.c:1567
+msgid "strange..., an extended partition of size 0?\n"
+msgstr "konstigt, en utökad partition med storlek 0?\n"
+
+#: fdisk/sfdisk.c:1574 fdisk/sfdisk.c:1585
+msgid "strange..., a BSD partition of size 0?\n"
+msgstr "konstigt, en BSD-partition med storlek 0?\n"
+
+#: fdisk/sfdisk.c:1619
+#, c-format
+msgid " %s: unrecognized partition table type\n"
+msgstr " %s: okänd typ av partitionstabell\n"
+
+#: fdisk/sfdisk.c:1631
+msgid "-n flag was given: Nothing changed\n"
+msgstr "Flaggan -n angavs: Inget ändrades\n"
+
+#: fdisk/sfdisk.c:1647
+msgid "Failed saving the old sectors - aborting\n"
+msgstr "Misslyckades med att spara de gamla sektorerna - avbryter\n"
+
+#: fdisk/sfdisk.c:1652
+#, c-format
+msgid "Failed writing the partition on %s\n"
+msgstr "Misslyckades med att skriva partitionen på %s\n"
+
+#: fdisk/sfdisk.c:1729
+msgid "long or incomplete input line - quitting\n"
+msgstr "lång eller ofullständig indatarad - avslutar\n"
+
+#: fdisk/sfdisk.c:1765
+#, c-format
+msgid "input error: `=' expected after %s field\n"
+msgstr "indatafel: \"=\" förväntas efter %s-fält\n"
+
+#: fdisk/sfdisk.c:1772
+#, c-format
+msgid "input error: unexpected character %c after %s field\n"
+msgstr "indatafel: oväntat tecken %c efter %s-fält\n"
+
+#: fdisk/sfdisk.c:1778
+#, c-format
+msgid "unrecognized input: %s\n"
+msgstr "okänd indata: %s\n"
+
+#: fdisk/sfdisk.c:1820
+msgid "number too big\n"
+msgstr "talet är för stort\n"
+
+#: fdisk/sfdisk.c:1824
+msgid "trailing junk after number\n"
+msgstr "eftersläpande skräp efter tal\n"
+
+#: fdisk/sfdisk.c:1948
+msgid "no room for partition descriptor\n"
+msgstr "ingen plats för partitionshandtag\n"
+
+#: fdisk/sfdisk.c:1981
+msgid "cannot build surrounding extended partition\n"
+msgstr "kan inte bygga omgivande utökad partition\n"
+
+#: fdisk/sfdisk.c:2032
+msgid "too many input fields\n"
+msgstr "för många indatafield\n"
+
+#: fdisk/sfdisk.c:2066
+msgid "No room for more\n"
+msgstr "Inte plats för mer\n"
+
+#: fdisk/sfdisk.c:2085
+msgid "Illegal type\n"
+msgstr "Ogiltig typ\n"
+
+#: fdisk/sfdisk.c:2117
+#, 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"
+
+#: fdisk/sfdisk.c:2123
+msgid "Warning: empty partition\n"
+msgstr "Varning: tom partition\n"
+
+#: fdisk/sfdisk.c:2137
+#, c-format
+msgid "Warning: bad partition start (earliest %lu)\n"
+msgstr "Varning: felaktig början på partition (första %lu)\n"
+
+#: fdisk/sfdisk.c:2150
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr "okänd startbarhetsflagga - välj - eller *\n"
+
+#: fdisk/sfdisk.c:2167 fdisk/sfdisk.c:2180
+msgid "partial c,h,s specification?\n"
+msgstr "c,h,s-specifikation ofullständig?\n"
+
+#: fdisk/sfdisk.c:2191
+msgid "Extended partition not where expected\n"
+msgstr "Utökad partition finns inte där den förväntades\n"
+
+#: fdisk/sfdisk.c:2223
+msgid "bad input\n"
+msgstr "felaktig indata\n"
+
+#: fdisk/sfdisk.c:2245
+msgid "too many partitions\n"
+msgstr "för många partitioner\n"
+
+#: fdisk/sfdisk.c:2278
+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"
+
+#: fdisk/sfdisk.c:2304
+#, c-format
+msgid "Usage: %s [options] device ...\n"
+msgstr "Användning: %s [flaggor] enhet ...\n"
+
+#: fdisk/sfdisk.c:2305
+msgid "device: something like /dev/hda or /dev/sda"
+msgstr "enhet: någonting liknande /dev/hda eller /dev/sda"
+
+#: fdisk/sfdisk.c:2306
+msgid "useful options:"
+msgstr "användbara flaggor:"
+
+#: fdisk/sfdisk.c:2307
+msgid "    -s [or --show-size]: list size of a partition"
+msgstr "    -s [eller --show-size]: visa storlek på en partition"
+
+#: fdisk/sfdisk.c:2308
+msgid "    -c [or --id]:        print or change partition Id"
+msgstr "    -c [eller --id]:     visa eller ändra partitionsid"
+
+#: fdisk/sfdisk.c:2309
+msgid "    -l [or --list]:      list partitions of each device"
+msgstr "    -l [eller --list]:   visa partitioner på varje enhet"
+
+#: fdisk/sfdisk.c:2310
+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"
+
+#: fdisk/sfdisk.c:2311
+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"
+
+#: fdisk/sfdisk.c:2312
+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"
+
+#: fdisk/sfdisk.c:2313
+msgid "    -T [or --list-types]:list the known partition types"
+msgstr "    -T [eller --list-types]:visa de kända partitionstyperna"
+
+#: fdisk/sfdisk.c:2314
+msgid "    -D [or --DOS]:       for DOS-compatibility: waste a little space"
+msgstr "    -D [eller --DOS]:    för DOS-kompatibilitet: slösa lite utrymme"
+
+#: fdisk/sfdisk.c:2315
+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"
+
+#: fdisk/sfdisk.c:2316
+msgid "    -N# :                change only the partition with number #"
+msgstr "    -N<nummer>:          ändra endast partitionen med numret <nummer>"
+
+#: fdisk/sfdisk.c:2317
+msgid "    -n :                 do not actually write to disk"
+msgstr "    -n :                 skriv inte till hårddisken"
+
+#: fdisk/sfdisk.c:2318
+msgid ""
+"    -O file :            save the sectors that will be overwritten to file"
+msgstr ""
+"    -O fil :             spara sektorerna som kommer att skrivas över till "
+"fil"
+
+#: fdisk/sfdisk.c:2319
+msgid "    -I file :            restore these sectors again"
+msgstr "    -I fil :             återställ dessa sektorer igen"
+
+#: fdisk/sfdisk.c:2320
+msgid "    -v [or --version]:   print version"
+msgstr "    -v [eller --version]: visa versionsinformation"
+
+#: fdisk/sfdisk.c:2321
+msgid "    -? [or --help]:      print this message"
+msgstr "    -? [eller --help]:   visa detta meddelande"
+
+#: fdisk/sfdisk.c:2322
+msgid "dangerous options:"
+msgstr "farliga flaggor:"
+
+#: fdisk/sfdisk.c:2323
+msgid "    -g [or --show-geometry]: print the kernel's idea of the geometry"
+msgstr "    -g [eller --show-geometry]: visa kärnans bild av geometrin"
+
+#: fdisk/sfdisk.c:2324
+msgid ""
+"    -G [or --show-pt-geometry]: print geometry guessed from the partition "
+"table"
+msgstr ""
+"    -G [eller --show-pt-geometry]: skriv ut gissad geometri från "
+"partitionstabellen"
+
+#: fdisk/sfdisk.c:2325
+msgid ""
+"    -x [or --show-extended]: also list extended partitions on output\n"
+"                             or expect descriptors for them on input"
+msgstr ""
+"    -x [eller --show-extended]: visa även utökade partitioner i utdata\n"
+"                                eller förvänta handtag för dem som indata"
+
+#: fdisk/sfdisk.c:2327
+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"
+
+#: fdisk/sfdisk.c:2328
+msgid "    -q  [or --quiet]:      suppress warning messages"
+msgstr "    -q  [eller --quiet]:   undertryck varningsmeddelanden"
+
+#: fdisk/sfdisk.c:2329
+msgid "    You can override the detected geometry using:"
+msgstr "    Du kan åsidosätta den detekterade geometrin genom att använda:"
+
+#: fdisk/sfdisk.c:2330
+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"
+
+#: fdisk/sfdisk.c:2331
+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"
+
+#: fdisk/sfdisk.c:2332
+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"
+
+#: fdisk/sfdisk.c:2333
+msgid "You can disable all consistency checking with:"
+msgstr "Du kan stänga av all konsekvenskontroll med:"
+
+#: fdisk/sfdisk.c:2334
+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"
+
+#: fdisk/sfdisk.c:2340
+msgid "Usage:"
+msgstr "Användning:"
+
+#: fdisk/sfdisk.c:2341
+#, c-format
+msgid "%s device\t\t list active partitions on device\n"
+msgstr "%s enhet\t\t visa aktiva partitioner på enhet\n"
+
+#: fdisk/sfdisk.c:2342
+#, 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"
+
+#: fdisk/sfdisk.c:2343
+#, 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"
+
+#: fdisk/sfdisk.c:2463
+#, 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"
+
+#: fdisk/sfdisk.c:2466
+#, c-format
+msgid "Use the --force flag to overrule this check.\n"
+msgstr "Använd flaggan --force för att undertrycka denna kontroll.\n"
+
+#: fdisk/sfdisk.c:2505
+msgid "no command?\n"
+msgstr "inget kommando?\n"
+
+#: fdisk/sfdisk.c:2637
+#, c-format
+msgid "total: %llu blocks\n"
+msgstr "totalt: %llu block\n"
+
+#: fdisk/sfdisk.c:2680
+msgid "usage: sfdisk --print-id device partition-number\n"
+msgstr "användning: sfdisk --print-id enhet partitionsnummer\n"
+
+#: fdisk/sfdisk.c:2682
+msgid "usage: sfdisk --change-id device partition-number Id\n"
+msgstr "användning: sfdisk --change-id enhet partitionsnummer Id\n"
+
+#: fdisk/sfdisk.c:2684
+msgid "usage: sfdisk --id device partition-number [Id]\n"
+msgstr "användning: sfdisk --id enhet partitionsnummer [Id]\n"
+
+#: fdisk/sfdisk.c:2691
+msgid "can specify only one device (except with -l or -s)\n"
+msgstr "kan endast ange en enhet (utom med -l eller -s)\n"
+
+#: fdisk/sfdisk.c:2717
+#, c-format
+msgid "cannot open %s read-write\n"
+msgstr "kan inte öppna %s för läsning och skrivning\n"
+
+#: fdisk/sfdisk.c:2719
+#, c-format
+msgid "cannot open %s for reading\n"
+msgstr "kan inte öppna %s för läsning\n"
+
+#: fdisk/sfdisk.c:2744
+#, c-format
+msgid "%s: OK\n"
+msgstr "%s: OK\n"
+
+#: fdisk/sfdisk.c:2763 fdisk/sfdisk.c:2796
+#, c-format
+msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+msgstr "%s: %ld cylindrar, %ld huvuden, %ld sektorer/spår\n"
+
+#: fdisk/sfdisk.c:2815
+#, c-format
+msgid "Cannot get size of %s\n"
+msgstr "Kan inte hämta storleken på %s\n"
+
+#: fdisk/sfdisk.c:2895
+#, c-format
+msgid "bad active byte: 0x%x instead of 0x80\n"
+msgstr "felaktig aktiv byte: 0x%x istället för 0x80\n"
+
+#: fdisk/sfdisk.c:2913 fdisk/sfdisk.c:2968 fdisk/sfdisk.c:3001
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+"Färdig\n"
+"\n"
+
+#: fdisk/sfdisk.c:2922
+#, 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"
+
+#: fdisk/sfdisk.c:2938
+#, c-format
+msgid "partition %s has id %x and is not hidden\n"
+msgstr "partition %s har id %x och är inte dold\n"
+
+#: fdisk/sfdisk.c:2997
+#, c-format
+msgid "Bad Id %lx\n"
+msgstr "Felaktigt Id %lx\n"
+
+#: fdisk/sfdisk.c:3014
+msgid "This disk is currently in use.\n"
+msgstr "Denna hårddisk används för tillfället.\n"
+
+#: fdisk/sfdisk.c:3033
+#, c-format
+msgid "Fatal error: cannot find %s\n"
+msgstr "Ödesdigert fel: kan inte hitta %s\n"
+
+#: fdisk/sfdisk.c:3036
+#, c-format
+msgid "Warning: %s is not a block device\n"
+msgstr "Varning: %s är ingen blockenhet\n"
+
+#: fdisk/sfdisk.c:3042
+msgid "Checking that no-one is using this disk right now ...\n"
+msgstr "Kontrollerar att ingen använder hårddisken just nu...\n"
+
+#: fdisk/sfdisk.c:3044
+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"
+
+#: fdisk/sfdisk.c:3048
+msgid "Use the --force flag to overrule all checks.\n"
+msgstr "Använd flaggan --force för att undertrycka alla kontroller.\n"
+
+#: fdisk/sfdisk.c:3052
+msgid "OK\n"
+msgstr "OK\n"
+
+#: fdisk/sfdisk.c:3061
+#, c-format
+msgid "Old situation:\n"
+msgstr "Tidigare situation:\n"
+
+#: fdisk/sfdisk.c:3065
+#, c-format
+msgid "Partition %d does not exist, cannot change it\n"
+msgstr "Partition %d finns inte, kan inte ändra den\n"
+
+#: fdisk/sfdisk.c:3073
+#, c-format
+msgid "New situation:\n"
+msgstr "Ny situation:\n"
+
+#: fdisk/sfdisk.c:3078
+msgid ""
+"I don't like these partitions - nothing changed.\n"
+"(If you really want this, use the --force option.)\n"
+msgstr ""
+"Jag gillar inte dessa partitioner - ingenting ändrades.\n"
+"(Om du verkligen vill göra detta bör du använda flaggan --force).\n"
+
+#: fdisk/sfdisk.c:3081
+msgid "I don't like this - probably you should answer No\n"
+msgstr "Jag gillar inte detta - du bör nog svara nej\n"
+
+#: fdisk/sfdisk.c:3086
+#, c-format
+msgid "Are you satisfied with this? [ynq] "
+msgstr "Är du nöjd med detta? [ynq] "
+
+#: fdisk/sfdisk.c:3088
+#, c-format
+msgid "Do you want to write this to disk? [ynq] "
+msgstr "Vill du skriva detta till disk? [ynq] "
+
+#: fdisk/sfdisk.c:3093
+#, c-format
+msgid ""
+"\n"
+"sfdisk: premature end of input\n"
+msgstr ""
+"\n"
+"sfdisk: för tidigt slut på indata\n"
+
+#: fdisk/sfdisk.c:3095
+msgid "Quitting - nothing changed\n"
+msgstr "Avslutar - ingenting ändrades\n"
+
+#: fdisk/sfdisk.c:3101
+#, c-format
+msgid "Please answer one of y,n,q\n"
+msgstr "Svara med ett av y, n eller q\n"
+
+#: fdisk/sfdisk.c:3109
+#, c-format
+msgid ""
+"Successfully wrote the new partition table\n"
+"\n"
+msgstr ""
+"Lyckades skapa den nya partitionstabellen\n"
+"\n"
+
+#: fdisk/sfdisk.c:3115
+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"
+
+#: fsck/fsck.c:327
+#, fuzzy, c-format
+msgid "WARNING: couldn't open %s: %s\n"
+msgstr "%s: kan inte öppna %s: %s\n"
+
+#: fsck/fsck.c:337
+#, c-format
+msgid "WARNING: bad format on line %d of %s\n"
+msgstr ""
+
+#: fsck/fsck.c:353
+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 ""
+
+#: fsck/fsck.c:461
+#, fuzzy, c-format
+msgid "fsck: %s: not found\n"
+msgstr "umount: %s hittades inte"
+
+#: fsck/fsck.c:577
+#, c-format
+msgid "%s: wait: No more child process?!?\n"
+msgstr ""
+
+#: fsck/fsck.c:599
+#, c-format
+msgid "Warning... %s for device %s exited with signal %d.\n"
+msgstr ""
+
+#: fsck/fsck.c:605
+#, c-format
+msgid "%s %s: status is %x, should never happen.\n"
+msgstr ""
+
+#: fsck/fsck.c:644
+#, c-format
+msgid "Finished with %s (exit status %d)\n"
+msgstr ""
+
+#: fsck/fsck.c:704
+#, fuzzy, c-format
+msgid "%s: Error %d while executing fsck.%s for %s\n"
+msgstr "%s: fel %d vid uppackning! %p(%d)\n"
+
+#: fsck/fsck.c:725
+msgid ""
+"Either all or none of the filesystem types passed to -t must be prefixed\n"
+"with 'no' or '!'.\n"
+msgstr ""
+
+#: fsck/fsck.c:744
+#, fuzzy
+msgid "Couldn't allocate memory for filesystem types\n"
+msgstr "mount: du måste ange filsystemstypen"
+
+#: fsck/fsck.c:867
+#, c-format
+msgid ""
+"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass "
+"number\n"
+msgstr ""
+
+#: fsck/fsck.c:894
+#, c-format
+msgid "fsck: cannot check %s: fsck.%s not found\n"
+msgstr ""
+
+#: fsck/fsck.c:950
+#, fuzzy
+msgid "Checking all file systems.\n"
+msgstr "Tvingar filsystemskontroll på %s.\n"
+
+#: fsck/fsck.c:1041
+#, c-format
+msgid "--waiting-- (pass %d)\n"
+msgstr ""
+
+#: fsck/fsck.c:1061
+#, fuzzy
+msgid ""
+"Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]\n"
+msgstr ""
+"Användning: mkfs [-V] [-t filsystemstyp] [filsystemsflaggor] enhet "
+"[storlek]\n"
+
+#: fsck/fsck.c:1099
+#, fuzzy, c-format
+msgid "%s: too many devices\n"
+msgstr "%s: %s är ingen lp-enhet.\n"
+
+#: fsck/fsck.c:1110
+#, fuzzy, c-format
+msgid "Couldn't open %s: %s\n"
+msgstr "Kan inte öppna %s: %s\n"
+
+#: fsck/fsck.c:1112
+#, fuzzy, c-format
+msgid "Is /proc mounted?\n"
+msgstr "%s avmonterad\n"
+
+#: fsck/fsck.c:1121
+#, c-format
+msgid "Must be root to scan for matching filesystems: %s\n"
+msgstr ""
+
+#: fsck/fsck.c:1124
+#, fuzzy, c-format
+msgid "Couldn't find matching filesystem: %s\n"
+msgstr "Avmonterar alla återstående filsystem..."
+
+#: fsck/fsck.c:1132 fsck/fsck.c:1218
+#, fuzzy, c-format
+msgid "%s: too many arguments\n"
+msgstr "%s: okänt argument: %s\n"
+
+#: fsck/fsck.c:1252
+#, fuzzy, c-format
+msgid "fsck from %s\n"
+msgstr "%s från %s\n"
+
+#: fsck/fsck.c:1264
+#, fuzzy, c-format
+msgid "%s: Unable to allocate memory for fsck_path\n"
+msgstr "Kan inte allokera buffert för inoder"
+
+#: getopt/getopt.c:229
+msgid "Try `getopt --help' for more information.\n"
+msgstr "Försök med \"getopt --help\" för mer information.\n"
+
+#: getopt/getopt.c:295
+msgid "empty long option after -l or --long argument"
+msgstr "tom lång flagga efter argumenten -l eller --long"
+
+#: getopt/getopt.c:315
+msgid "unknown shell after -s or --shell argument"
+msgstr "okänt skal efter argumenten -s eller --shell"
+
+#: getopt/getopt.c:320
+msgid "Usage: getopt optstring parameters\n"
+msgstr "Användning: getopt flaggsträng parametrar\n"
+
+#: getopt/getopt.c:321
+msgid "       getopt [options] [--] optstring parameters\n"
+msgstr "       getopt [flaggor] [--] flaggsträng parametrar\n"
+
+#: getopt/getopt.c:322
+msgid "       getopt [options] -o|--options optstring [options] [--]\n"
+msgstr "       getopt [flaggor] -o|--options flaggsträng [flaggor] [--]\n"
+
+#: getopt/getopt.c:323
+msgid "              parameters\n"
+msgstr "              parametrar\n"
+
+#: getopt/getopt.c:324
+msgid ""
+"  -a, --alternative            Allow long options starting with single -\n"
+msgstr ""
+"  -a, --alternative            Tillåt långa flaggor som börjar med ensamt -\n"
+
+#: getopt/getopt.c:325
+msgid "  -h, --help                   This small usage guide\n"
+msgstr "  -h, --help                   Denna enkla användningsguide\n"
+
+#: getopt/getopt.c:326
+msgid "  -l, --longoptions=longopts   Long options to be recognized\n"
+msgstr "  -l, --longoptions=långflg    Långa flaggor att känna igen\n"
+
+#: getopt/getopt.c:327
+msgid ""
+"  -n, --name=progname          The name under which errors are reported\n"
+msgstr "  -n, --name=programnamn       Det namn under vilket fel rapporteras\n"
+
+#: getopt/getopt.c:328
+msgid "  -o, --options=optstring      Short options to be recognized\n"
+msgstr "  -o, --options=flaggsträng    Korta flaggor att känna igen\n"
+
+#: getopt/getopt.c:329
+msgid "  -q, --quiet                  Disable error reporting by getopt(3)\n"
+msgstr "  -q, --quiet                  Stäng av felrapportering av getopt(3)\n"
+
+#: getopt/getopt.c:330
+msgid "  -Q, --quiet-output           No normal output\n"
+msgstr "  -Q, --quiet-output           Ingen normal utdata\n"
+
+#: getopt/getopt.c:331
+msgid "  -s, --shell=shell            Set shell quoting conventions\n"
+msgstr ""
+"  -s, --shell=skal             Ställ in konventioner för skalcitering\n"
+
+#: getopt/getopt.c:332
+msgid "  -T, --test                   Test for getopt(1) version\n"
+msgstr "  -T, --test                   Undersök getopt(1)-version\n"
+
+#: getopt/getopt.c:333
+msgid "  -u, --unqote                 Do not quote the output\n"
+msgstr "  -u, --unquote                Citera inte utdata\n"
+
+#: getopt/getopt.c:334
+msgid "  -V, --version                Output version information\n"
+msgstr "  -V, --version                Skriv ut versionsinformation\n"
+
+#: getopt/getopt.c:388 getopt/getopt.c:447
+msgid "missing optstring argument"
+msgstr "flaggsträngsargument saknas"
+
+#: getopt/getopt.c:435
+#, c-format
+msgid "getopt (enhanced) 1.1.4\n"
+msgstr "getopt (utökad) 1.1.4\n"
+
+#: getopt/getopt.c:441
+msgid "internal error, contact the author."
+msgstr "internt fel, kontakta författaren."
+
+#: hwclock/cmos.c:176
+#, c-format
+msgid "booted from MILO\n"
+msgstr "startade från MILO\n"
+
+#: hwclock/cmos.c:185
+#, c-format
+msgid "Ruffian BCD clock\n"
+msgstr "Ruffian BCD-klocka\n"
+
+#: hwclock/cmos.c:201
+#, c-format
+msgid "clockport adjusted to 0x%x\n"
+msgstr "klockporten justerades till 0x%x\n"
+
+#: hwclock/cmos.c:213
+#, c-format
+msgid "funky TOY!\n"
+msgstr "häftig LEKSAK!\n"
+
+#: hwclock/cmos.c:244
+#, c-format
+msgid "%s: atomic %s failed for 1000 iterations!"
+msgstr "%s: atomisk %s misslyckades för 1000 iterationer!"
+
+#: hwclock/cmos.c:273
+#, c-format
+msgid "cmos_read(): write to control address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:276
+#, c-format
+msgid "cmos_read(): read data address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:307
+#, c-format
+msgid "cmos_write(): write to control address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:311
+#, c-format
+msgid "cmos_write(): write to data address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:574
+#, c-format
+msgid "Cannot open /dev/port: %s"
+msgstr "Kan inte öppna /dev/port: %s"
+
+#: hwclock/cmos.c:581
+#, c-format
+msgid "I failed to get permission because I didn't try.\n"
+msgstr "Jag misslyckades med att få tillåtelse eftersom jag inte försökte.\n"
+
+#: hwclock/cmos.c:584
+#, c-format
+msgid "%s is unable to get I/O port access:  the iopl(3) call failed.\n"
+msgstr "%s kan inte få I/O-porttillgång: iopl(3)-anropet misslyckades.\n"
+
+#: hwclock/cmos.c:587
+#, c-format
+msgid "Probably you need root privileges.\n"
+msgstr "Du behöver troligtvis root-privilegier.\n"
+
+#: hwclock/hwclock.c:231
+#, c-format
+msgid "Assuming hardware clock is kept in %s time.\n"
+msgstr "Antar att hårdvaruklockan håller %s-tid.\n"
+
+#: hwclock/hwclock.c:232 hwclock/hwclock.c:327
+msgid "UTC"
+msgstr "UTC"
+
+#: hwclock/hwclock.c:232 hwclock/hwclock.c:326
+msgid "local"
+msgstr "lokal"
+
+#: hwclock/hwclock.c:312
+#, c-format
+msgid "%s: Warning: unrecognized third line in adjtime file\n"
+msgstr "%s: Varning: okänd tredje rad i adjtime-fil\n"
+
+#: hwclock/hwclock.c:314
+#, c-format
+msgid "(Expected: `UTC' or `LOCAL' or nothing.)\n"
+msgstr "(Förväntade: \"UTC\" eller \"LOCAL\" eller ingenting.)\n"
+
+#: hwclock/hwclock.c:321
+#, c-format
+msgid "Last drift adjustment done at %ld seconds after 1969\n"
+msgstr "Senaste dragningsjustering gjordes %ld sekunder efter 1969\n"
+
+#: hwclock/hwclock.c:323
+#, c-format
+msgid "Last calibration done at %ld seconds after 1969\n"
+msgstr "Senaste kalibrering gjordes %ld sekunder efter 1969\n"
+
+#: hwclock/hwclock.c:325
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr "Hårdvaruklockan håller %s-tid\n"
+
+#: hwclock/hwclock.c:327
+msgid "unknown"
+msgstr "okänd"
+
+#: hwclock/hwclock.c:351
+#, c-format
+msgid "Waiting for clock tick...\n"
+msgstr "Väntar på klocktick...\n"
+
+#: hwclock/hwclock.c:357
+#, c-format
+msgid "...synchronization failed\n"
+msgstr ""
+
+#: hwclock/hwclock.c:359
+#, c-format
+msgid "...got clock tick\n"
+msgstr "...fick klocktick\n"
+
+#: hwclock/hwclock.c:413
+#, 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"
+
+#: hwclock/hwclock.c:421
+#, 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"
+
+#: hwclock/hwclock.c:451
+#, 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"
+
+#: hwclock/hwclock.c:480
+#, 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"
+
+#: hwclock/hwclock.c:486
+#, c-format
+msgid "Clock not changed - testing only.\n"
+msgstr "Klockan är inte ändrad - testar bara.\n"
+
+#: hwclock/hwclock.c:536
+#, 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"
+
+#: hwclock/hwclock.c:572
+#, c-format
+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).\n"
+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"
+
+#: hwclock/hwclock.c:582
+#, c-format
+msgid "%s  %.6f seconds\n"
+msgstr "%s  %.6f sekunder\n"
+
+#: hwclock/hwclock.c:616
+#, c-format
+msgid "No --date option specified.\n"
+msgstr "Ingen --date-flagga angavs.\n"
+
+#: hwclock/hwclock.c:622
+#, c-format
+msgid "--date argument too long\n"
+msgstr "--date-argumentet är för långt\n"
+
+#: hwclock/hwclock.c:629
+#, c-format
+msgid ""
+"The value of the --date option is not a valid date.\n"
+"In particular, it contains quotation marks.\n"
+msgstr ""
+"Värdet i --date-flaggan är ogiltigt.\n"
+"I synnerhet som det innehåller citationstecken.\n"
+
+#: hwclock/hwclock.c:637
+#, c-format
+msgid "Issuing date command: %s\n"
+msgstr "Anropar date-kommandot: %s\n"
+
+#: hwclock/hwclock.c:641
+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"
+
+#: hwclock/hwclock.c:649
+#, c-format
+msgid "response from date command = %s\n"
+msgstr "svar från date-kommandot = %s\n"
+
+#: hwclock/hwclock.c:651
+#, c-format
+msgid ""
+"The date command issued by %s returned unexpected results.\n"
+"The command was:\n"
+"  %s\n"
+"The response was:\n"
+"  %s\n"
+msgstr ""
+"date-kommandot som anropades av %s returnerade oväntade resultat.\n"
+"Kommandot var:\n"
+"  %s\n"
+"Svaret var:\n"
+"  %s\n"
+
+#: hwclock/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"
+
+#: hwclock/hwclock.c:674
+#, 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"
+
+#: hwclock/hwclock.c:706
+#, c-format
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot set the "
+"System Time from it.\n"
+msgstr ""
+"Hårdvaruklockan innehåller inte en giltig tid, så vi kan inte ställa "
+"systemtiden med den.\n"
+
+#: hwclock/hwclock.c:728 hwclock/hwclock.c:805
+#, c-format
+msgid "Calling settimeofday:\n"
+msgstr "Anropar settimeofday:\n"
+
+#: hwclock/hwclock.c:729 hwclock/hwclock.c:807
+#, c-format
+msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+
+#: hwclock/hwclock.c:731 hwclock/hwclock.c:809
+#, c-format
+msgid "\ttz.tz_minuteswest = %d\n"
+msgstr "\ttz.tz_minuteswest = %d\n"
+
+#: hwclock/hwclock.c:734 hwclock/hwclock.c:812
+#, 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"
+
+#: hwclock/hwclock.c:743 hwclock/hwclock.c:821
+#, c-format
+msgid "Must be superuser to set system clock.\n"
+msgstr "Måste vara superanvändaren för att kunna ställa systemklockan.\n"
+
+#: hwclock/hwclock.c:746 hwclock/hwclock.c:824
+msgid "settimeofday() failed"
+msgstr "settimeofday() misslyckades"
+
+#: hwclock/hwclock.c:782
+#, fuzzy, c-format
+msgid "Current system time: %ld = %s\n"
+msgstr "läs systemtid"
+
+#: hwclock/hwclock.c:806
+#, c-format
+msgid "\tUTC: %s\n"
+msgstr ""
+
+#: hwclock/hwclock.c:853
+#, 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"
+
+#: hwclock/hwclock.c:858
+#, 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"
+
+#: hwclock/hwclock.c:864
+#, 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"
+
+#: hwclock/hwclock.c:912
+#, 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"
+
+#: hwclock/hwclock.c:962
+#, c-format
+msgid "Time since last adjustment is %d seconds\n"
+msgstr "Tid sedan senaste justeringen är %d sekunder\n"
+
+#: hwclock/hwclock.c:964
+#, 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"
+
+#: hwclock/hwclock.c:993
+#, c-format
+msgid "Not updating adjtime file because of testing mode.\n"
+msgstr "Uppdaterar inte adjtime-filen eftersom vi är i testläge.\n"
+
+#: hwclock/hwclock.c:994
+#, c-format
+msgid ""
+"Would have written the following to %s:\n"
+"%s"
+msgstr ""
+"Skulle skrivit följande till %s:\n"
+"%s"
+
+#: hwclock/hwclock.c:1002
+#, c-format
+msgid ""
+"Could not open file with the clock adjustment parameters in it (%s) for "
+"writing"
+msgstr ""
+
+#: hwclock/hwclock.c:1007 hwclock/hwclock.c:1012
+#, c-format
+msgid "Could not update file with the clock adjustment parameters (%s) in it"
+msgstr ""
+
+#: hwclock/hwclock.c:1018
+#, c-format
+msgid "Drift adjustment parameters not updated.\n"
+msgstr "Dragningsjusteringsparametrarna uppdaterades inte.\n"
+
+#: hwclock/hwclock.c:1059
+#, c-format
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot adjust it.\n"
+msgstr ""
+"Hårdvaruklockan innehåller inte giltig tid, så vi kan inte justera den.\n"
+
+#: hwclock/hwclock.c:1067
+#, 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"
+
+#: hwclock/hwclock.c:1090
+#, 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"
+
+#: hwclock/hwclock.c:1116
+#, c-format
+msgid "Using %s.\n"
+msgstr "Använder %s.\n"
+
+#: hwclock/hwclock.c:1118
+#, c-format
+msgid "No usable clock interface found.\n"
+msgstr "Inget användbart klockgränssnitt hittades.\n"
+
+#: hwclock/hwclock.c:1222 hwclock/hwclock.c:1228
+#, c-format
+msgid "Unable to set system clock.\n"
+msgstr "Kunde inte ställa systemklockan.\n"
+
+#: hwclock/hwclock.c:1258
+#, c-format
+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.\n"
+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"
+
+#: hwclock/hwclock.c:1267
+#, c-format
+msgid "Unable to get the epoch value from the kernel.\n"
+msgstr "Kunde inte få tag i epokvärdet från kärnan.\n"
+
+#: hwclock/hwclock.c:1269
+#, c-format
+msgid "Kernel is assuming an epoch value of %lu\n"
+msgstr "Kärnan antar att epokvärdet är %lu\n"
+
+#: hwclock/hwclock.c:1272
+#, c-format
+msgid ""
+"To set the epoch value, you must use the 'epoch' option to tell to what "
+"value to set it.\n"
+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"
+
+#: hwclock/hwclock.c:1275
+#, c-format
+msgid "Not setting the epoch to %d - testing only.\n"
+msgstr "Ställer inte epoken till %d - testar bara.\n"
+
+#: hwclock/hwclock.c:1278
+#, 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"
+
+#: hwclock/hwclock.c:1291 misc-utils/cal.c:345 misc-utils/kill.c:189
+#, c-format
+msgid "%s from %s\n"
+msgstr "%s från %s\n"
+
+#: hwclock/hwclock.c:1312
+#, fuzzy, c-format
+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"
+"  -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"
+
+#: hwclock/hwclock.c:1347
+#, fuzzy, c-format
+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?
+#: hwclock/hwclock.c:1434
+#, c-format
+msgid "%s: Unable to connect to audit system\n"
+msgstr "%s: Kunde inte ansluta till auditsystem\n"
+
+#: hwclock/hwclock.c:1552
+#, 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"
+
+#: hwclock/hwclock.c:1559
+#, c-format
+msgid ""
+"You have specified multiple functions.\n"
+"You can only perform one function at a time.\n"
+msgstr ""
+"Du har angivit flera funktioner\n"
+"Du kan bara utföra en funktion åt gången.\n"
+
+#: hwclock/hwclock.c:1566
+#, c-format
+msgid ""
+"%s: The --utc and --localtime options are mutually exclusive.  You specified "
+"both.\n"
+msgstr ""
+"%s: Flaggorna --utc och --localtime är ömsesidigt uteslutande. Du angav "
+"båda.\n"
+
+#: hwclock/hwclock.c:1573
+#, c-format
+msgid ""
+"%s: The --adjust and --noadjfile options are mutually exclusive.  You "
+"specified both.\n"
+msgstr ""
+"%s: Flaggorna --adjust och --noadjfile är ömsesidigt uteslutande. Du angav "
+"båda.\n"
+
+#: hwclock/hwclock.c:1580
+#, fuzzy, c-format
+msgid ""
+"%s: The --adjfile and --noadjfile options are mutually exclusive.  You "
+"specified both.\n"
+msgstr ""
+"%s: Flaggorna --adjust och --noadjfile är ömsesidigt uteslutande. Du angav "
+"båda.\n"
+
+#: hwclock/hwclock.c:1589
+#, c-format
+msgid "%s: With --noadjfile, you must specify either --utc or --localtime\n"
+msgstr "%s: Med --noadjfile måste du ange antingen --utc eller --localtime\n"
+
+#: hwclock/hwclock.c:1603
+#, c-format
+msgid "No usable set-to time.  Cannot set clock.\n"
+msgstr "Ingen användbar tid att ställa. Kan inte ställa klockan.\n"
+
+#: hwclock/hwclock.c:1620
+#, c-format
+msgid "Sorry, only the superuser can change the Hardware Clock.\n"
+msgstr "Tyvärr, endast superanvändaren kan ändra hårdvaruklockan.\n"
+
+#: hwclock/hwclock.c:1625
+#, c-format
+msgid "Sorry, only the superuser can change the System Clock.\n"
+msgstr "Tyvärr, endast superanvändaren kan ändra systemklockan.\n"
+
+#: hwclock/hwclock.c:1630
+#, c-format
+msgid ""
+"Sorry, only the superuser can change the Hardware Clock epoch in the "
+"kernel.\n"
+msgstr ""
+"Tyvärr, endast superanvändaren kan ändra hårdvaruklockans epok i kärnan.\n"
+
+#: hwclock/hwclock.c:1651
+#, c-format
+msgid "Cannot access the Hardware Clock via any known method.\n"
+msgstr "Kan inte komma åt hårdvaruklockan via någon känd metod.\n"
+
+#: hwclock/hwclock.c:1655
+#, c-format
+msgid ""
+"Use the --debug option to see the details of our search for an access "
+"method.\n"
+msgstr ""
+"Använd flaggan --debug för att se detaljerna över vår sökning efter en "
+"åtkomstmetod.\n"
+
+#: hwclock/kd.c:53
+#, 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"
+
+#: hwclock/kd.c:56
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr "KDGHWCLK-ioctl för att läsa tid misslyckades"
+
+#: hwclock/kd.c:77 hwclock/rtc.c:221
+#, c-format
+msgid "Timed out waiting for time change.\n"
+msgstr "Gjorde time-out under väntan på att tiden skulle ändras.\n"
+
+#: hwclock/kd.c:81
+msgid "KDGHWCLK ioctl to read time failed in loop"
+msgstr "KDGHWCLK-ioctl för att läsa tid misslyckades i slingan"
+
+#: hwclock/kd.c:103
+#, c-format
+msgid "ioctl() failed to read time from %s"
+msgstr "ioctl() misslyckades med att läsa tid från %s"
+
+#: hwclock/kd.c:139
+msgid "ioctl KDSHWCLK failed"
+msgstr "KDSHWCLK-ioctl misslyckades"
+
+#: hwclock/kd.c:175
+msgid "Can't open /dev/tty1 or /dev/vc/1"
+msgstr "Kan inte öppna /dev/tty1 eller /dev/vc/1"
+
+#: hwclock/kd.c:179
+msgid "KDGHWCLK ioctl failed"
+msgstr "KDGHWCLK-ioctl misslyckades"
+
+#: hwclock/rtc.c:147 hwclock/rtc.c:241
+#, c-format
+msgid "open() of %s failed"
+msgstr "open() på %s misslyckades"
+
+#: hwclock/rtc.c:181
+#, c-format
+msgid "ioctl() to %s to read the time failed.\n"
+msgstr "ioctl() till %s för att läsa tid misslyckades.\n"
+
+#: hwclock/rtc.c:203
+#, 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"
+
+#: hwclock/rtc.c:259
+#, c-format
+msgid "%s does not have interrupt functions. "
+msgstr "%s har inga avbrottsfunktioner. "
+
+#: hwclock/rtc.c:270
+#, c-format
+msgid "read() to %s to wait for clock tick failed"
+msgstr "read() på %s för att vänta på klocktick misslyckades"
+
+#: hwclock/rtc.c:288
+#, c-format
+msgid "select() to %s to wait for clock tick failed"
+msgstr "select() på %s för att vänta på klocktick misslyckades"
+
+#: hwclock/rtc.c:291
+#, c-format
+msgid "select() to %s to wait for clock tick timed out\n"
+msgstr "select() på %s för att vänta på klocktick gjorde time-out\n"
+
+#: hwclock/rtc.c:300
+#, c-format
+msgid "ioctl() to %s to turn off update interrupts failed"
+msgstr "ioctl() på %s för att slå av uppdateringsavbrott misslyckades"
+
+#: hwclock/rtc.c:303
+#, 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"
+
+#: hwclock/rtc.c:360
+#, c-format
+msgid "ioctl() to %s to set the time failed.\n"
+msgstr "ioctl() på %s för att ställa tiden misslyckades.\n"
+
+#: hwclock/rtc.c:366
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr "ioctl(%s) lyckades.\n"
+
+#: hwclock/rtc.c:392
+#, c-format
+msgid "Open of %s failed"
+msgstr "Öppning av %s misslyckades"
+
+#: hwclock/rtc.c:410 hwclock/rtc.c:454
+#, 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.\n"
+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"
+
+#: hwclock/rtc.c:415 hwclock/rtc.c:459
+#, c-format
+msgid "Unable to open %s"
+msgstr "Kan inte öppna %s"
+
+#: hwclock/rtc.c:422
+#, c-format
+msgid "ioctl(RTC_EPOCH_READ) to %s failed"
+msgstr "ioctl(RTC_EPOCH_READ) på %s misslyckades"
+
+#: hwclock/rtc.c:427
+#, 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"
+
+#: hwclock/rtc.c:446
+#, c-format
+msgid "The epoch value may not be less than 1900.  You requested %ld\n"
+msgstr "Epokvärdet får inte vara mindre än 1900. Du begärde %ld\n"
+
+#: hwclock/rtc.c:464
+#, 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"
+
+#: hwclock/rtc.c:469
+#, c-format
+msgid ""
+"The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl.\n"
+msgstr "Kärndrivrutinen för %s har inte RTC_EPOCH_SET-ioctl:en.\n"
+
+#: hwclock/rtc.c:472
+#, c-format
+msgid "ioctl(RTC_EPOCH_SET) to %s failed"
+msgstr "ioctl(RTC_EPOCH_SET) på %s misslyckades"
+
+#: login-utils/agetty.c:361
+#, c-format
+msgid "%s: can't exec %s: %m"
+msgstr "%s: kan inte köra %s: %m"
+
+#: login-utils/agetty.c:384
+msgid "can't malloc initstring"
+msgstr "kan inte minnesallokera initieringssträng"
+
+#: login-utils/agetty.c:449
+#, c-format
+msgid "bad timeout value: %s"
+msgstr "felaktigt timeoutvärde: %s"
+
+#: login-utils/agetty.c:526
+#, c-format
+msgid "bad speed: %s"
+msgstr "felaktig hastighet: %s"
+
+#: login-utils/agetty.c:528
+msgid "too many alternate speeds"
+msgstr "för många alternativa hastigheter"
+
+#: login-utils/agetty.c:630
+#, c-format
+msgid "/dev: chdir() failed: %m"
+msgstr "/dev: chdir() misslyckades: %m"
+
+#: login-utils/agetty.c:634
+#, c-format
+msgid "/dev/%s: not a character device"
+msgstr "/dev/%s: ingen teckenenhet"
+
+#: login-utils/agetty.c:643
+#, c-format
+msgid "/dev/%s: cannot open as standard input: %m"
+msgstr "/dev/%s: kan inte öppna som standard in: %m"
+
+#: login-utils/agetty.c:653
+#, c-format
+msgid "%s: not open for read/write"
+msgstr "%s: inte öppen för läsning/skrivning"
+
+#: login-utils/agetty.c:659
+#, c-format
+msgid "%s: dup problem: %m"
+msgstr "%s: dupliceringsproblem: %m"
+
+#: login-utils/agetty.c:946
+#, c-format
+msgid "user"
+msgstr "användare"
+
+#: login-utils/agetty.c:946
+#, c-format
+msgid "users"
+msgstr "användare"
+
+#: login-utils/agetty.c:1031
+#, c-format
+msgid "%s: read: %m"
+msgstr "%s: läste: %m"
+
+#: login-utils/agetty.c:1078
+#, c-format
+msgid "%s: input overrun"
+msgstr "%s: indataspill"
+
+#: login-utils/agetty.c:1207
+#, fuzzy, c-format
+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 ""
+"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"
+
+#: login-utils/checktty.c:91 login-utils/checktty.c:112
+#, c-format
+msgid "login: memory low, login may fail\n"
+msgstr "login: lite minne, inloggning kan misslyckas\n"
+
+#: login-utils/checktty.c:92
+msgid "can't malloc for ttyclass"
+msgstr "kan inte minnesallokera för ttyclass"
+
+#: login-utils/checktty.c:113
+msgid "can't malloc for grplist"
+msgstr "kan inte minnesallokera för grplist"
+
+#: login-utils/checktty.c:554
+#, c-format
+msgid "Login on %s from %s denied by default.\n"
+msgstr "Inloggning på %s från %s nekas som standard.\n"
+
+#: login-utils/checktty.c:565
+#, c-format
+msgid "Login on %s from %s denied.\n"
+msgstr "Inloggning på %s från %s nekas.\n"
+
+#: login-utils/chfn.c:133 login-utils/chsh.c:119
+#, c-format
+msgid "%s: you (user %d) don't exist.\n"
+msgstr "%s: du (användare %d) finns inte.\n"
+
+#: login-utils/chfn.c:140 login-utils/chsh.c:126
+#, c-format
+msgid "%s: user \"%s\" does not exist.\n"
+msgstr "%s: användaren \"%s\" finns inte.\n"
+
+#: login-utils/chfn.c:145 login-utils/chsh.c:131
+#, c-format
+msgid "%s: can only change local entries; use yp%s instead.\n"
+msgstr "%s: kan endast ändra lokala poster; använd yp%s istället.\n"
+
+#: login-utils/chfn.c:156 login-utils/chsh.c:142
+msgid "Unknown user context"
+msgstr "Okänt användarsammanhang"
+
+#: login-utils/chfn.c:157
+#, c-format
+msgid "%s: %s is not authorized to change the finger info of %s\n"
+msgstr "%s: %s tillåts inte ändra fingerinformationen för %s\n"
+
+#: login-utils/chfn.c:164 login-utils/chsh.c:150
+#, c-format
+msgid "%s: Can't set default context for /etc/passwd"
+msgstr "%s: Kan inte ställa in standardsammanhanget för /etc/passwd"
+
+#: login-utils/chfn.c:178
+#, c-format
+msgid "Changing finger information for %s.\n"
+msgstr "Ändrar fingerinformation för %s.\n"
+
+#: login-utils/chfn.c:189 login-utils/chsh.c:188 login-utils/login.c:572
+#, fuzzy, c-format
+msgid "%s: PAM failure, aborting: %s\n"
+msgstr "chsh: PAM-fel, avbryter: %s\n"
+
+#: login-utils/chfn.c:212 login-utils/chsh.c:211 login-utils/login.c:823
+#: login-utils/newgrp.c:85 login-utils/simpleinit.c:340 mount/lomount.c:744
+#: mount/lomount.c:747
+msgid "Password: "
+msgstr "Lösenord: "
+
+#: login-utils/chfn.c:215 login-utils/chsh.c:214
+msgid "Incorrect password."
+msgstr "Felaktigt lösenord."
+
+#: login-utils/chfn.c:226
+#, c-format
+msgid "Finger information not changed.\n"
+msgstr "Fingerinformationen ändrades inte.\n"
+
+#: login-utils/chfn.c:328
+#, c-format
+msgid "Usage: %s [ -f full-name ] [ -o office ] "
+msgstr "Användning: %s [ -f fullständigt-namn ] [ -o jobb ] "
+
+#: login-utils/chfn.c:329
+#, c-format
+msgid ""
+"[ -p office-phone ]\n"
+"\t[ -h home-phone ] "
+msgstr ""
+"[ -p jobbtelefon ]\n"
+"\t[ -h hemtelefon ] "
+
+#: login-utils/chfn.c:330
+#, c-format
+msgid "[ --help ] [ --version ]\n"
+msgstr "[ --help ] [ --version ]\n"
+
+#: login-utils/chfn.c:378
+msgid "Office"
+msgstr ""
+
+#: login-utils/chfn.c:379
+msgid "Office Phone"
+msgstr ""
+
+#: login-utils/chfn.c:380
+msgid "Home Phone"
+msgstr ""
+
+#: login-utils/chfn.c:401 login-utils/chsh.c:321
+#, c-format
+msgid ""
+"\n"
+"Aborted.\n"
+msgstr ""
+"\n"
+"Avbröts.\n"
+
+#: login-utils/chfn.c:434
+#, c-format
+msgid "field is too long.\n"
+msgstr "fältet är för långt.\n"
+
+#: login-utils/chfn.c:442
+#, c-format
+msgid "'%c' is not allowed.\n"
+msgstr "\"%c\" är inte tillåtet.\n"
+
+#: login-utils/chfn.c:447
+#, c-format
+msgid "Control characters are not allowed.\n"
+msgstr "Kontrolltecken är inte tillåtna.\n"
+
+#: login-utils/chfn.c:512
+#, 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:515
+#, c-format
+msgid "Finger information changed.\n"
+msgstr "Fingerinformationen ändrades.\n"
+
+#: login-utils/chsh.c:143
+#, c-format
+msgid "%s: %s is not authorized to change the shell of %s\n"
+msgstr "%s: %s tillåts inte byta skalet för %s\n"
+
+#: login-utils/chsh.c:164
+#, c-format
+msgid ""
+"%s: Running UID doesn't match UID of user we're altering, shell change "
+"denied\n"
+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:170
+#, c-format
+msgid "%s: Your shell is not in /etc/shells, shell change denied\n"
+msgstr "%s: Ditt skal är inte i /etc/shells, skalbyte nekades\n"
+
+#: login-utils/chsh.c:177
+#, c-format
+msgid "Changing shell for %s.\n"
+msgstr "Byter skal för %s.\n"
+
+#: login-utils/chsh.c:222
+msgid "New shell"
+msgstr "Nytt skal"
+
+#: login-utils/chsh.c:229
+#, c-format
+msgid "Shell not changed.\n"
+msgstr "Skalet byttes inte.\n"
+
+#: login-utils/chsh.c:235
+#, c-format
+msgid "Shell *NOT* changed.  Try again later.\n"
+msgstr "Skalet byttes *INTE*. Försök igen senare.\n"
+
+#: login-utils/chsh.c:238
+#, c-format
+msgid "Shell changed.\n"
+msgstr "Skalet byttes.\n"
+
+#: login-utils/chsh.c:303
+#, c-format
+msgid ""
+"Usage: %s [ -s shell ] [ --list-shells ] [ --help ] [ --version ]\n"
+"       [ username ]\n"
+msgstr ""
+"Användning: %s [ -s skal ] [ --list-shells ] [ --help ] [ --version ]\n"
+"       [ användarnamn ]\n"
+
+#: login-utils/chsh.c:349
+#, c-format
+msgid "%s: shell must be a full path name.\n"
+msgstr "%s: skalet måste vara en fullständig sökväg.\n"
+
+#: login-utils/chsh.c:353
+#, c-format
+msgid "%s: \"%s\" does not exist.\n"
+msgstr "%s: \"%s\" finns inte.\n"
+
+#: login-utils/chsh.c:357
+#, c-format
+msgid "%s: \"%s\" is not executable.\n"
+msgstr "%s: \"%s\" är inte körbar.\n"
+
+#: login-utils/chsh.c:364
+#, c-format
+msgid "%s: '%c' is not allowed.\n"
+msgstr "%s: \"%c\" är inte tillåtet.\n"
+
+#: login-utils/chsh.c:368
+#, c-format
+msgid "%s: Control characters are not allowed.\n"
+msgstr "%s: Kontrolltecken är inte tillåtna.\n"
+
+#: login-utils/chsh.c:375 login-utils/chsh.c:385
+#, c-format
+msgid "Warning: \"%s\" is not listed in /etc/shells.\n"
+msgstr "Varning: \"%s\" finns inte med i /etc/shells.\n"
+
+#: login-utils/chsh.c:377
+#, c-format
+msgid "%s: \"%s\" is not listed in /etc/shells.\n"
+msgstr "%s: \"%s\" finns inte med i /etc/shells.\n"
+
+#: login-utils/chsh.c:379
+#, fuzzy, c-format
+msgid "%s: Use -l option to see list.\n"
+msgstr "%s: använd flaggan -l för att se listan\n"
+
+#: login-utils/chsh.c:386
+#, c-format
+msgid "Use %s -l to see list.\n"
+msgstr "Använd %s -l för att se listan.\n"
+
+#: login-utils/chsh.c:406
+#, c-format
+msgid "No known shells.\n"
+msgstr "Inga kända skal.\n"
+
+#: login-utils/islocal.c:87
+#, fuzzy, c-format
+msgid "Failed to open %s for reading, exiting."
+msgstr "kan inte öppna %s för läsning"
+
+#: login-utils/last.c:148
+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:284
+msgid "  still logged in"
+msgstr "  fortfarande inloggad"
+
+#: login-utils/last.c:306
+#, c-format
+msgid ""
+"\n"
+"wtmp begins %s"
+msgstr ""
+"\n"
+"wtmp börjar %s"
+
+#: login-utils/last.c:362 login-utils/last.c:380 login-utils/last.c:431
+msgid "last: malloc failure.\n"
+msgstr "last: minnesallokeringsfel.\n"
+
+#: login-utils/last.c:407
+msgid "last: gethostname"
+msgstr "last: gethostname"
+
+#: login-utils/last.c:456
+#, c-format
+msgid ""
+"\n"
+"interrupted %10.10s %5.5s \n"
+msgstr ""
+"\n"
+"avbruten %10.10s %5.5s \n"
+
+#: login-utils/login.c:197
+#, c-format
+msgid "FATAL: can't reopen tty: %s"
+msgstr "ÖDESDIGERT: kan inte återöppna tty: %s"
+
+#: login-utils/login.c:229
+msgid "FATAL: bad tty"
+msgstr "ÖDESDIGERT: felaktig tty"
+
+#: login-utils/login.c:436
+#, c-format
+msgid "login: -h for super-user only.\n"
+msgstr "login: -h endast för superanvändaren.\n"
+
+#: login-utils/login.c:479
+#, c-format
+msgid "usage: login [-fp] [username]\n"
+msgstr "användning: login [-fp] [användarnamn]\n"
+
+#: login-utils/login.c:574
+#, c-format
+msgid "Couldn't initialize PAM: %s"
+msgstr "Kunde inte initiera PAM: %s"
+
+#: login-utils/login.c:591
+msgid "login: "
+msgstr "användarnamn: "
+
+#: login-utils/login.c:635
+#, c-format
+msgid "FAILED LOGIN %d FROM %s FOR %s, %s"
+msgstr "MISSLYCKAD INLOGGNING %d FRÅN %s FÖR %s, %s"
+
+#: login-utils/login.c:640
+#, c-format
+msgid ""
+"Login incorrect\n"
+"\n"
+msgstr ""
+"Felaktig inloggning\n"
+"\n"
+
+#: login-utils/login.c:649
+#, c-format
+msgid "TOO MANY LOGIN TRIES (%d) 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:653
+#, 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:658
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+"\n"
+"Felaktig inloggning\n"
+
+#: login-utils/login.c:686 login-utils/login.c:693 login-utils/login.c:727
+#, c-format
+msgid ""
+"\n"
+"Session setup problem, abort.\n"
+msgstr ""
+"\n"
+"Problem med upprättandet av sessionen, avbryter.\n"
+
+#: login-utils/login.c:687
+#, c-format
+msgid "NULL user name in %s:%d. Abort."
+msgstr "Användarnamnet är NULL i %s:%d. Avbryter."
+
+#: login-utils/login.c:694
+#, c-format
+msgid "Invalid user name \"%s\" in %s:%d. Abort."
+msgstr "Ogiltigt användarnamn \"%s\" i %s:%d. Avbryter."
+
+#: login-utils/login.c:713
+#, c-format
+msgid "login: Out of memory\n"
+msgstr "login: Slut på minne\n"
+
+#: login-utils/login.c:757
+msgid "Illegal username"
+msgstr "Ogiltigt användarnamn"
+
+# %s blir här "root" i de flesta fall vad jag förstår
+#: login-utils/login.c:800
+#, c-format
+msgid "%s login refused on this terminal.\n"
+msgstr "%s-inloggning nekas på denna terminal.\n"
+
+#: login-utils/login.c:805
+#, c-format
+msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
+msgstr "INLOGGNING AV %s NEKAS FRÅN %s PÅ TTY %s"
+
+#: login-utils/login.c:809
+#, c-format
+msgid "LOGIN %s REFUSED ON TTY %s"
+msgstr "INLOGGNING AV %s NEKAS PÅ TTY %s"
+
+#: login-utils/login.c:863
+#, c-format
+msgid "Login incorrect\n"
+msgstr "Felaktig inloggning\n"
+
+#: login-utils/login.c:1088
+#, c-format
+msgid "DIALUP AT %s BY %s"
+msgstr "UPPRINGNING PÅ %s AV %s"
+
+#: login-utils/login.c:1095
+#, c-format
+msgid "ROOT LOGIN ON %s FROM %s"
+msgstr "ROOT-INLOGGNING PÅ %s FRÅN %s"
+
+#: login-utils/login.c:1098
+#, c-format
+msgid "ROOT LOGIN ON %s"
+msgstr "ROOT-INLOGGNING PÅ %s"
+
+#: login-utils/login.c:1101
+#, c-format
+msgid "LOGIN ON %s BY %s FROM %s"
+msgstr "INLOGGNING PÅ %s AV %s FRÅN %s"
+
+#: login-utils/login.c:1104
+#, c-format
+msgid "LOGIN ON %s BY %s"
+msgstr "INLOGGNING PÅ %s AV %s"
+
+#: login-utils/login.c:1125
+#, c-format
+msgid "You have new mail.\n"
+msgstr "Du har ny post.\n"
+
+#: login-utils/login.c:1127
+#, c-format
+msgid "You have mail.\n"
+msgstr "Du har post.\n"
+
+#: login-utils/login.c:1171
+#, c-format
+msgid "login: failure forking: %s"
+msgstr "login: grenande misslyckades: %s"
+
+#: login-utils/login.c:1218
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr "TIOCSCTTY misslyckades: %m"
+
+#: login-utils/login.c:1224
+msgid "setuid() failed"
+msgstr "setuid() misslyckades"
+
+#: login-utils/login.c:1230
+#, c-format
+msgid "No directory %s!\n"
+msgstr "Katalogen %s finns inte!\n"
+
+#: login-utils/login.c:1234
+#, c-format
+msgid "Logging in with home = \"/\".\n"
+msgstr "Loggar in med hemkatalog = \"/\".\n"
+
+#: login-utils/login.c:1242
+#, c-format
+msgid "login: no memory for shell script.\n"
+msgstr "login: inget minne för skalskript.\n"
+
+#: login-utils/login.c:1269
+#, c-format
+msgid "login: couldn't exec shell script: %s.\n"
+msgstr "login: kunde inte köra skalskript: %s.\n"
+
+#: login-utils/login.c:1272
+#, c-format
+msgid "login: no shell: %s.\n"
+msgstr "login: inget skal: %s.\n"
+
+#: login-utils/login.c:1287
+#, c-format
+msgid ""
+"\n"
+"%s login: "
+msgstr ""
+"\n"
+"%s användarnamn: "
+
+#: login-utils/login.c:1298
+#, c-format
+msgid "login name much too long.\n"
+msgstr "användarnamnet är alldeles för långt.\n"
+
+#: login-utils/login.c:1299
+msgid "NAME too long"
+msgstr "NAMNET är för långt"
+
+#: login-utils/login.c:1306
+#, c-format
+msgid "login names may not start with '-'.\n"
+msgstr "användarnamn får inte börja med \"-\".\n"
+
+#: login-utils/login.c:1316
+#, c-format
+msgid "too many bare linefeeds.\n"
+msgstr "för många tomma nyrader.\n"
+
+#: login-utils/login.c:1317
+msgid "EXCESSIVE linefeeds"
+msgstr "FÖR MÅNGA nyrader"
+
+#: login-utils/login.c:1349
+#, c-format
+msgid "Login timed out after %d seconds\n"
+msgstr "Inloggning gjorde time-out efter %d sekunder\n"
+
+#: login-utils/login.c:1437
+#, c-format
+msgid "Last login: %.*s "
+msgstr "Senaste inloggning: %.*s "
+
+#: login-utils/login.c:1441
+#, c-format
+msgid "from %.*s\n"
+msgstr "från %.*s\n"
+
+#: login-utils/login.c:1444
+#, c-format
+msgid "on %.*s\n"
+msgstr "på %.*s\n"
+
+#: login-utils/login.c:1470
+#, c-format
+msgid "LOGIN FAILURE FROM %s, %s"
+msgstr "MISSLYCKAD INLOGGNING FRÅN %s, %s"
+
+#: login-utils/login.c:1473
+#, c-format
+msgid "LOGIN FAILURE ON %s, %s"
+msgstr "MISSLYCKAD INLOGGNING PÅ %s, %s"
+
+#: login-utils/login.c:1477
+#, c-format
+msgid "%d LOGIN FAILURES FROM %s, %s"
+msgstr "%d MISSLYCKADE INLOGGNINGAR FRÅN %s, %s"
+
+#: login-utils/login.c:1480
+#, c-format
+msgid "%d LOGIN FAILURES ON %s, %s"
+msgstr "%d MISSLYCKADE INLOGGNINGAR PÅ %s, %s"
+
+#: login-utils/mesg.c:89
+#, c-format
+msgid "is y\n"
+msgstr "är på (y)\n"
+
+#: login-utils/mesg.c:92
+#, c-format
+msgid "is n\n"
+msgstr "är av (n)\n"
+
+#: login-utils/mesg.c:112
+#, c-format
+msgid "usage: mesg [y | n]\n"
+msgstr "användning: mesg [y | n]\n"
+
+#: login-utils/newgrp.c:105
+msgid "newgrp: Who are you?"
+msgstr "newgrp: Vem är du?"
+
+#: login-utils/newgrp.c:113 login-utils/newgrp.c:127
+msgid "newgrp: setgid"
+msgstr "newgrp: setgid"
+
+#: login-utils/newgrp.c:120 login-utils/newgrp.c:122
+msgid "newgrp: No such group."
+msgstr "newgrp: Ingen sådan grupp."
+
+#: login-utils/newgrp.c:131
+msgid "newgrp: Permission denied"
+msgstr "newgrp: Åtkomst nekas."
+
+#: login-utils/newgrp.c:138
+msgid "newgrp: setuid"
+msgstr "newgrp: setuid"
+
+#: login-utils/newgrp.c:144
+msgid "No shell"
+msgstr "Inget skal"
+
+#: login-utils/shutdown.c:115
+#, c-format
+msgid "Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+msgstr "Användning: shutdown [-h|-r] [-fqs] [now|tt:ss|+minuter]\n"
+
+#: login-utils/shutdown.c:133
+msgid "Shutdown process aborted"
+msgstr "Nedstängningsförloppet avbrutet"
+
+#: login-utils/shutdown.c:164
+#, c-format
+msgid "%s: Only root can shut a system down.\n"
+msgstr "%s: Endast root kan stänga ner ett system.\n"
+
+#: login-utils/shutdown.c:258
+#, c-format
+msgid "That must be tomorrow, can't you wait till then?\n"
+msgstr "Det måste vara imorgon, kan du inte vänta till dess?\n"
+
+#: login-utils/shutdown.c:309
+msgid "for maintenance; bounce, bounce"
+msgstr "för underhåll; studs, studs"
+
+#: login-utils/shutdown.c:338
+msgid "The system is being shut down within 5 minutes"
+msgstr "Systemet stängs ner inom 5 minuter"
+
+#: login-utils/shutdown.c:342
+msgid "Login is therefore prohibited."
+msgstr "Inloggning är därför inte tillåten."
+
+#: login-utils/shutdown.c:364
+#, c-format
+msgid "rebooted by %s: %s"
+msgstr "omstartad av %s: %s"
+
+#: login-utils/shutdown.c:367
+#, c-format
+msgid "halted by %s: %s"
+msgstr "stannad av %s: %s"
+
+#: login-utils/shutdown.c:431
+msgid ""
+"\n"
+"Why am I still alive after reboot?"
+msgstr ""
+"\n"
+"Varför lever jag fortfarande efter omstart?"
+
+#: login-utils/shutdown.c:433
+msgid ""
+"\n"
+"Now you can turn off the power..."
+msgstr ""
+"\n"
+"Nu kan du stänga av strömmen..."
+
+#: login-utils/shutdown.c:449
+#, c-format
+msgid "Calling kernel power-off facility...\n"
+msgstr "Anropar kärnans avstängningsfacilitet...\n"
+
+#: login-utils/shutdown.c:452
+#, c-format
+msgid "Error powering off\t%s\n"
+msgstr "Fel vid avstängning\t%s\n"
+
+#: login-utils/shutdown.c:460
+#, c-format
+msgid "Executing the program \"%s\" ...\n"
+msgstr "Kör programmet \"%s\"...\n"
+
+#: login-utils/shutdown.c:463
+#, c-format
+msgid "Error executing\t%s\n"
+msgstr "Fel vid körning av\t%s\n"
+
+#: login-utils/shutdown.c:490
+#, c-format
+msgid "URGENT: broadcast message from %s:"
+msgstr "BRÅDSKANDE: meddelande till alla från %s:"
+
+#: login-utils/shutdown.c:496
+#, c-format
+msgid "System going down in %d hours %d minutes"
+msgstr "Systemet går ner om %d timmar och %d minuter"
+
+#: login-utils/shutdown.c:499
+#, c-format
+msgid "System going down in 1 hour %d minutes"
+msgstr "Systemet går ner om 1 timme och %d minuter"
+
+#: login-utils/shutdown.c:502
+#, c-format
+msgid "System going down in %d minutes\n"
+msgstr "Systemet går ner om %d minuter\n"
+
+#: login-utils/shutdown.c:505
+#, c-format
+msgid "System going down in 1 minute\n"
+msgstr "Systemet går ner om 1 minut\n"
+
+# msgid "\aURGENT: broadcast message from %s:"
+# msgstr ""
+#: login-utils/shutdown.c:507
+#, c-format
+msgid "System going down IMMEDIATELY!\n"
+msgstr "Systemet går ner OMEDELBART!\n"
+
+#: login-utils/shutdown.c:512
+#, c-format
+msgid "\t... %s ...\n"
+msgstr "\t... %s...\n"
+
+#: login-utils/shutdown.c:569
+msgid "Cannot fork for swapoff. Shrug!"
+msgstr "Kan inte grena för swapoff. Suck!"
+
+#: login-utils/shutdown.c:577
+msgid "Cannot exec swapoff, hoping umount will do the trick."
+msgstr "Kan inte köra swapoff, hoppas att umount fixar det."
+
+#: login-utils/shutdown.c:596
+msgid "Cannot fork for umount, trying manually."
+msgstr "Kan inte grena för umount, försöker manuellt."
+
+#: login-utils/shutdown.c:605
+#, c-format
+msgid "Cannot exec %s, trying umount.\n"
+msgstr "Kan inte köra %s, försöker med umount.\n"
+
+#: login-utils/shutdown.c:609
+msgid "Cannot exec umount, giving up on umount."
+msgstr "Kan inte köra umount, ger upp med umount."
+
+#: login-utils/shutdown.c:614
+msgid "Unmounting any remaining filesystems..."
+msgstr "Avmonterar alla återstående filsystem..."
+
+#: login-utils/shutdown.c:661
+#, c-format
+msgid "shutdown: Couldn't umount %s: %s\n"
+msgstr "shutdown: Kunde inte avmontera %s: %s\n"
+
+#: login-utils/simpleinit.c:132
+msgid "Booting to single user mode.\n"
+msgstr "Startar i enanvändarläge.\n"
+
+#: login-utils/simpleinit.c:136
+msgid "exec of single user shell failed\n"
+msgstr "körning av enanvändarskal misslyckades\n"
+
+#: login-utils/simpleinit.c:140
+msgid "fork of single user shell failed\n"
+msgstr "grening av enanvändarskal misslyckades\n"
+
+#: login-utils/simpleinit.c:208
+msgid "error opening fifo\n"
+msgstr "fel vid öppnande av fifo\n"
+
+#: login-utils/simpleinit.c:212
+msgid "error setting close-on-exec on /dev/initctl"
+msgstr "fel vid inställning av close-on-exec på /dev/initctl"
+
+#: login-utils/simpleinit.c:259
+msgid "error running finalprog\n"
+msgstr "fel vid körning av finalprog\n"
+
+#: login-utils/simpleinit.c:263
+msgid "error forking finalprog\n"
+msgstr "fel vid grening av finalprog\n"
+
+#: login-utils/simpleinit.c:345
+msgid ""
+"\n"
+"Wrong password.\n"
+msgstr ""
+"\n"
+"Fel lösenord.\n"
+
+#: login-utils/simpleinit.c:418
+msgid "lstat of path failed\n"
+msgstr "lstat() på sökväg misslyckades\n"
+
+#: login-utils/simpleinit.c:426
+msgid "stat of path failed\n"
+msgstr "stat() på sökväg misslyckades\n"
+
+#: login-utils/simpleinit.c:434
+msgid "open of directory failed\n"
+msgstr "öppnande av katalog misslyckades\n"
+
+#: login-utils/simpleinit.c:501
+#, c-format
+msgid "respawning: \"%s\" too fast: quenching entry\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:509
+msgid "fork failed\n"
+msgstr "grening misslyckades\n"
+
+#: login-utils/simpleinit.c:540 text-utils/more.c:1629
+msgid "exec failed\n"
+msgstr "körning misslyckades\n"
+
+#: login-utils/simpleinit.c:564
+msgid "cannot open inittab\n"
+msgstr "kan inte öppna inittab\n"
+
+#: login-utils/simpleinit.c:631
+msgid "no TERM or cannot stat tty\n"
+msgstr "ingen TERM eller kan inte ta status på tty\n"
+
+#: login-utils/simpleinit.c:938
+#, fuzzy, c-format
+msgid "error stopping service: \"%s\"\n"
+msgstr "fel vid stoppande av tjänst: \"%s\""
+
+#: login-utils/simpleinit.c:950
+#, fuzzy, c-format
+msgid "Stopped service: %s\n"
+msgstr "fel vid stoppande av tjänst: \"%s\""
+
+#: login-utils/simpleinit.c:1070
+#, fuzzy, c-format
+msgid "error running programme: \"%s\"\n"
+msgstr "fel vid körning av finalprog\n"
+
+#: login-utils/ttymsg.c:75
+msgid "too many iov's (change code in wall/ttymsg.c)"
+msgstr "för många iov (ändra kod i wall/ttymsg.c)"
+
+#: login-utils/ttymsg.c:85
+#, c-format
+msgid "excessively long line arg"
+msgstr "onödigt långt linjeargument"
+
+#: login-utils/ttymsg.c:140
+#, c-format
+msgid "cannot fork"
+msgstr "kan inte grena"
+
+#: login-utils/ttymsg.c:144
+#, c-format
+msgid "fork: %s"
+msgstr "fork: %s"
+
+#: login-utils/ttymsg.c:174
+#, c-format
+msgid "%s: BAD ERROR"
+msgstr "%s: ALLVARLIGT FEL"
+
+#: login-utils/vipw.c:143
+#, c-format
+msgid "%s: the password file is busy.\n"
+msgstr "%s: lösenordsfilen är upptagen.\n"
+
+#: login-utils/vipw.c:146
+#, c-format
+msgid "%s: the group file is busy.\n"
+msgstr "%s: gruppfilen är upptagen.\n"
+
+# _("%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
+#
+#: login-utils/vipw.c:162
+#, c-format
+msgid "%s: the %s file is busy (%s present)\n"
+msgstr "%s: filen %s är upptagen (%s finns)\n"
+
+#: login-utils/vipw.c:168
+#, c-format
+msgid "%s: can't link %s: %s\n"
+msgstr "%s: kan inte länka %s: %s\n"
+
+#: login-utils/vipw.c:202
+#, c-format
+msgid "%s: Can't get context for %s"
+msgstr "%s : Kan inte få sammanhang för %s"
+
+#: login-utils/vipw.c:208
+#, c-format
+msgid "%s: Can't set context for %s"
+msgstr "%s: Kan inte ställa in sammanhang för %s"
+
+#: login-utils/vipw.c:217
+#, c-format
+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"
+
+#: login-utils/vipw.c:240
+#, c-format
+msgid "%s: Cannot fork\n"
+msgstr "%s: Kan inte grena\n"
+
+#: login-utils/vipw.c:276
+#, c-format
+msgid "%s: %s unchanged\n"
+msgstr "%s: %s är oförändrad\n"
+
+#: login-utils/vipw.c:297
+#, c-format
+msgid "%s: no changes made\n"
+msgstr "%s: inga ändringar gjordes\n"
+
+#: login-utils/vipw.c:350
+#, 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:351
+#, c-format
+msgid "You are using shadow passwords on this system.\n"
+msgstr "Du använder skugglösenord på detta system.\n"
+
+#: login-utils/vipw.c:352
+#, c-format
+msgid "Would you like to edit %s now [y/n]? "
+msgstr "Vill du redigera %s nu [y/n]? "
+
+#: login-utils/wall.c:112
+#, c-format
+msgid "usage: %s [file]\n"
+msgstr "användning: %s [fil]\n"
+
+#: login-utils/wall.c:167
+#, c-format
+msgid "%s: can't open temporary file.\n"
+msgstr "%s: kan inte öppna temporär fil.\n"
+
+#: login-utils/wall.c:194
+#, c-format
+msgid "Broadcast Message from %s@%s"
+msgstr "Meddelande till alla från %s@%s"
+
+#: login-utils/wall.c:212
+#, c-format
+msgid "%s: will not read %s - use stdin.\n"
+msgstr "%s: kommer inte att läsa %s - använd standard in.\n"
+
+#: login-utils/wall.c:217
+#, c-format
+msgid "%s: can't read %s.\n"
+msgstr "%s: kan inte läsa %s.\n"
+
+#: login-utils/wall.c:240
+#, c-format
+msgid "%s: can't stat temporary file.\n"
+msgstr "%s: kan inte ta status på temporär fil.\n"
+
+#: login-utils/wall.c:250
+#, c-format
+msgid "%s: can't read temporary file.\n"
+msgstr "%s: kan inte läsa temporär fil.\n"
+
+#: misc-utils/cal.c:362 misc-utils/cal.c:374
+#, fuzzy, c-format
+msgid "illegal day value: use 1-%d"
+msgstr "ogiltigt årsvärde: använd 1-9999"
+
+#: misc-utils/cal.c:366
+msgid "illegal month value: use 1-12"
+msgstr "ogiltigt månadsvärde: använd 1-12"
+
+#: misc-utils/cal.c:370
+msgid "illegal year value: use 1-9999"
+msgstr "ogiltigt årsvärde: använd 1-9999"
+
+#: misc-utils/cal.c:464
+#, c-format
+msgid "%s %d"
+msgstr "%s %d"
+
+#: misc-utils/cal.c:856
+#, fuzzy, c-format
+msgid "usage: cal [-13smjyV] [[[day] month] year]\n"
+msgstr "användning: cal [-13smjyV] [[månad] år]\n"
+
+#: misc-utils/ddate.c:203
+#, c-format
+msgid "usage: %s [+format] [day month year]\n"
+msgstr "användning: %s [+format] [dag månad år]\n"
+
+#: misc-utils/ddate.c:250
+msgid "St. Tib's Day"
+msgstr "St. Tibs Dag"
+
+#: misc-utils/findfs.c:24
+#, c-format
+msgid "Usage: %s LABEL=<label>|UUID=<uuid>\n"
+msgstr ""
+
+#: misc-utils/findfs.c:55
+#, fuzzy, c-format
+msgid "unable to resolve '%s'"
+msgstr "kan inte öppna %s"
+
+#: misc-utils/kill.c:207
+#, c-format
+msgid "%s: unknown signal %s\n"
+msgstr "%s: okänd signal %s\n"
+
+#: misc-utils/kill.c:270
+#, c-format
+msgid "%s: can't find process \"%s\"\n"
+msgstr "%s: kan inte hitta processen \"%s\"\n"
+
+#: misc-utils/kill.c:314
+#, c-format
+msgid "%s: unknown signal %s; valid signals:\n"
+msgstr "%s: okänd signal %s; giltiga signaler:\n"
+
+#: misc-utils/kill.c:354
+#, 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:355
+#, c-format
+msgid "       %s -l [ signal ]\n"
+msgstr "       %s -l [ signal ]\n"
+
+#: misc-utils/logger.c:67
+#, fuzzy, c-format
+msgid "logger: openlog: pathname too long\n"
+msgstr "användarnamnet är alldeles för långt.\n"
+
+#: misc-utils/logger.c:75
+#, fuzzy, c-format
+msgid "socket: %s.\n"
+msgstr "Blockstorlek: %d\n"
+
+#: misc-utils/logger.c:80
+#, c-format
+msgid "connect: %s.\n"
+msgstr ""
+
+#: misc-utils/logger.c:139
+#, c-format
+msgid "logger: %s: %s.\n"
+msgstr "logger: %s: %s.\n"
+
+#: misc-utils/logger.c:246
+#, c-format
+msgid "logger: unknown facility name: %s.\n"
+msgstr "logger: okänt facilitetsnamn: %s.\n"
+
+#: misc-utils/logger.c:258
+#, c-format
+msgid "logger: unknown priority name: %s.\n"
+msgstr "logger: okänt prioritetsnamn: %s.\n"
+
+#: misc-utils/logger.c:285
+#, c-format
+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"
+
+#: misc-utils/look.c:351
+#, c-format
+msgid "usage: look [-dfa] [-t char] string [file]\n"
+msgstr "användning: look [-dfa] [-t tecken] sträng [fil]\n"
+
+#: misc-utils/mcookie.c:105 misc-utils/mcookie.c:132
+#, c-format
+msgid "Could not open %s\n"
+msgstr "Kunde inte öppna %s\n"
+
+#: misc-utils/mcookie.c:109 misc-utils/mcookie.c:128
+#, c-format
+msgid "Got %d bytes from %s\n"
+msgstr "Fick %d byte från %s\n"
+
+#: misc-utils/namei.c:144 misc-utils/namei.c:198 misc-utils/namei.c:220
+#: misc-utils/namei.c:227 misc-utils/namei.c:248
+#, fuzzy
+msgid "out of memory?"
+msgstr "slut på minne?\n"
+
+#: misc-utils/namei.c:189
+#, fuzzy, c-format
+msgid "failed to read symlink: %s"
+msgstr "ioctl() misslyckades med att läsa tid från %s"
+
+#: misc-utils/namei.c:229
+#, fuzzy, c-format
+msgid "could not stat '%s'"
+msgstr "kan inte ta status på enheten %s"
+
+#: misc-utils/namei.c:411
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage: %s [options] pathname [pathname ...]\n"
+msgstr "användning: namei [-mx] sökväg [sökväg ...]\n"
+
+#: misc-utils/namei.c:412
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"%d partitioner:\n"
+
+#: misc-utils/namei.c:415
+#, c-format
+msgid ""
+" -h, --help          displays this help text\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:423
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see namei(1).\n"
+msgstr ""
+"\n"
+"För mer information, se setarch(8).\n"
+
+#: misc-utils/namei.c:484
+#, fuzzy, c-format
+msgid "failed to stat: %s"
+msgstr "kan inte ta status på %s"
+
+#: misc-utils/namei.c:495
+#, c-format
+msgid "%s: exceeded limit of symlinks"
+msgstr ""
+
+#: misc-utils/rename.c:38
+#, c-format
+msgid "%s: out of memory\n"
+msgstr "%s: slut på minne\n"
+
+#: misc-utils/rename.c:56
+#, c-format
+msgid "%s: renaming %s to %s failed: %s\n"
+msgstr "%s: namnbyte av %s till %s misslyckades: %s\n"
+
+#: misc-utils/rename.c:86
+#, c-format
+msgid "call: %s from to files...\n"
+msgstr "anropa: %s från till filer...\n"
+
+#: misc-utils/script.c:110
+#, c-format
+msgid ""
+"Warning: `%s' is a link.\n"
+"Use `%s [options] %s' if you really want to use it.\n"
+"Script not started.\n"
+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"
+
+#: misc-utils/script.c:173
+#, c-format
+msgid "usage: script [-a] [-f] [-q] [-t] [file]\n"
+msgstr "användning: script [-a] [-f] [-q] [-t] [fil]\n"
+
+#: misc-utils/script.c:196
+#, c-format
+msgid "Script started, file is %s\n"
+msgstr "Skriptet startades, filen är %s\n"
+
+#: misc-utils/script.c:244
+#, fuzzy, c-format
+msgid "%s: write error %d: %s\n"
+msgstr "skrivfel på %s\n"
+
+#: misc-utils/script.c:304
+#, c-format
+msgid "Script started on %s"
+msgstr "Skriptet startades %s"
+
+#: misc-utils/script.c:347
+#, fuzzy, c-format
+msgid "%s: write error: %s\n"
+msgstr "skrivfel på %s\n"
+
+#: misc-utils/script.c:354
+#, fuzzy, c-format
+msgid "%s: cannot write script file, error: %s\n"
+msgstr "%s: kan inte hitta enheten för %s\n"
+
+#: misc-utils/script.c:430
+#, c-format
+msgid ""
+"\n"
+"Script done on %s"
+msgstr ""
+"\n"
+"Skriptet färdigt %s"
+
+#: misc-utils/script.c:437
+#, c-format
+msgid "Script done, file is %s\n"
+msgstr "Skriptet färdigt, filen är %s\n"
+
+#: misc-utils/script.c:448
+#, c-format
+msgid "openpty failed\n"
+msgstr "openpty misslyckades\n"
+
+#: misc-utils/script.c:482
+#, c-format
+msgid "Out of pty's\n"
+msgstr "Slut på pty:er\n"
+
+#: misc-utils/scriptreplay.c:38
+#, c-format
+msgid "%s <timingfile> [<typescript> [<divisor>]]\n"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:53
+#, c-format
+msgid "expected a number, but got '%s'"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:56 misc-utils/scriptreplay.c:60
+#, c-format
+msgid "divisor '%s'"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:104
+#, fuzzy
+msgid "write to stdout failed"
+msgstr "Öppning av %s misslyckades"
+
+#: misc-utils/scriptreplay.c:110
+#, c-format
+msgid "unexpected end of file on %s"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:112
+#, fuzzy, c-format
+msgid "failed to read typescript file %s"
+msgstr "ioctl() misslyckades med att läsa tid från %s"
+
+#: misc-utils/scriptreplay.c:145
+#, fuzzy, c-format
+msgid "cannot open timing file %s"
+msgstr "Kan inte öppna filen \"%s\""
+
+#: misc-utils/scriptreplay.c:148
+#, fuzzy, c-format
+msgid "cannot open typescript file %s"
+msgstr "Kan inte öppna filen \"%s\""
+
+#: misc-utils/scriptreplay.c:164
+#, fuzzy, c-format
+msgid "failed to read timing file %s"
+msgstr "ioctl() misslyckades med att läsa tid från %s"
+
+#: misc-utils/scriptreplay.c:166
+#, fuzzy, c-format
+msgid "timings file %s: %lu: unexpected format"
+msgstr "%s: Oväntat filslut i %s-fil\n"
+
+#: misc-utils/setterm.c:763
+#, c-format
+msgid "%s: Argument error, usage\n"
+msgstr "%s: Argumentfel, användning\n"
+
+#: misc-utils/setterm.c:766
+#, c-format
+msgid "  [ -term terminal_name ]\n"
+msgstr "  [ -term terminalnamn ]\n"
+
+#: misc-utils/setterm.c:767
+#, c-format
+msgid "  [ -reset ]\n"
+msgstr "  [ -reset ]\n"
+
+#: misc-utils/setterm.c:768
+#, c-format
+msgid "  [ -initialize ]\n"
+msgstr "  [ -initialize ]\n"
+
+#: misc-utils/setterm.c:769
+#, c-format
+msgid "  [ -cursor [on|off] ]\n"
+msgstr "  [ -cursor [on|off] ]\n"
+
+#: misc-utils/setterm.c:771
+#, c-format
+msgid "  [ -snow [on|off] ]\n"
+msgstr "  [ -snow [on|off] ]\n"
+
+#: misc-utils/setterm.c:772
+#, c-format
+msgid "  [ -softscroll [on|off] ]\n"
+msgstr "  [ -softscroll [on|off] ]\n"
+
+#: misc-utils/setterm.c:774
+#, c-format
+msgid "  [ -repeat [on|off] ]\n"
+msgstr "  [ -repeat [on|off] ]\n"
+
+#: misc-utils/setterm.c:775
+#, c-format
+msgid "  [ -appcursorkeys [on|off] ]\n"
+msgstr "  [ -appcursorkeys [on|off] ]\n"
+
+#: misc-utils/setterm.c:776
+#, c-format
+msgid "  [ -linewrap [on|off] ]\n"
+msgstr "  [ -linewrap [on|off] ]\n"
+
+#: misc-utils/setterm.c:777
+#, c-format
+msgid "  [ -default ]\n"
+msgstr "  [ -default ]\n"
+
+#: misc-utils/setterm.c:778
+#, c-format
+msgid "  [ -foreground black|blue|green|cyan"
+msgstr "  [ -foreground black|blue|green|cyan"
+
+#: misc-utils/setterm.c:779 misc-utils/setterm.c:781
+#, c-format
+msgid "|red|magenta|yellow|white|default ]\n"
+msgstr "|red|magenta|yellow|white|default ]\n"
+
+#: misc-utils/setterm.c:780
+#, c-format
+msgid "  [ -background black|blue|green|cyan"
+msgstr "  [ -background black|blue|green|cyan"
+
+#: misc-utils/setterm.c:782
+#, c-format
+msgid "  [ -ulcolor black|grey|blue|green|cyan"
+msgstr "  [ -ulcolor black|grey|blue|green|cyan"
+
+#: misc-utils/setterm.c:783 misc-utils/setterm.c:785 misc-utils/setterm.c:787
+#: misc-utils/setterm.c:789
+#, c-format
+msgid "|red|magenta|yellow|white ]\n"
+msgstr "|red|magenta|yellow|white ]\n"
+
+#: misc-utils/setterm.c:784
+#, c-format
+msgid "  [ -ulcolor bright blue|green|cyan"
+msgstr "  [ -ulcolor bright blue|green|cyan"
+
+#: misc-utils/setterm.c:786
+#, c-format
+msgid "  [ -hbcolor black|grey|blue|green|cyan"
+msgstr "  [ -hbcolor black|grey|blue|green|cyan"
+
+#: misc-utils/setterm.c:788
+#, c-format
+msgid "  [ -hbcolor bright blue|green|cyan"
+msgstr "  [ -hbcolor bright blue|green|cyan"
+
+#: misc-utils/setterm.c:791
+#, c-format
+msgid "  [ -standout [ attr ] ]\n"
+msgstr "  [ -standout [ attr ] ]\n"
+
+#: misc-utils/setterm.c:793
+#, c-format
+msgid "  [ -inversescreen [on|off] ]\n"
+msgstr "  [ -inversescreen [on|off] ]\n"
+
+#: misc-utils/setterm.c:794
+#, c-format
+msgid "  [ -bold [on|off] ]\n"
+msgstr "  [ -bold [on|off] ]\n"
+
+#: misc-utils/setterm.c:795
+#, c-format
+msgid "  [ -half-bright [on|off] ]\n"
+msgstr "  [ -half-bright [on|off] ]\n"
+
+#: misc-utils/setterm.c:796
+#, c-format
+msgid "  [ -blink [on|off] ]\n"
+msgstr "  [ -blink [on|off] ]\n"
+
+#: misc-utils/setterm.c:797
+#, c-format
+msgid "  [ -reverse [on|off] ]\n"
+msgstr "  [ -reverse [on|off] ]\n"
+
+#: misc-utils/setterm.c:798
+#, c-format
+msgid "  [ -underline [on|off] ]\n"
+msgstr "  [ -underline [on|off] ]\n"
+
+#: misc-utils/setterm.c:799
+#, c-format
+msgid "  [ -store ]\n"
+msgstr "  [ -store ]\n"
+
+#: misc-utils/setterm.c:800
+#, c-format
+msgid "  [ -clear [all|rest] ]\n"
+msgstr "  [ -clear [all|rest] ]\n"
+
+#: misc-utils/setterm.c:801
+#, c-format
+msgid "  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n"
+msgstr "  [ -tabs [ tabb1 tabb2 tabb3 ... ] ]      (tabbnummer = 1-160)\n"
+
+#: misc-utils/setterm.c:802
+#, c-format
+msgid "  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n"
+msgstr "  [ -clrtabs [ tabb1 tabb2 tabb3 ... ] ]   (tabbnummer = 1-160)\n"
+
+#: misc-utils/setterm.c:803
+#, c-format
+msgid "  [ -regtabs [1-160] ]\n"
+msgstr "  [ -regtabs [1-160] ]\n"
+
+#: misc-utils/setterm.c:804
+#, fuzzy, c-format
+msgid "  [ -blank [0-60|force|poke] ]\n"
+msgstr "  [ -blank [0-60] ]\n"
+
+#: misc-utils/setterm.c:805
+#, c-format
+msgid "  [ -dump   [1-NR_CONSOLES] ]\n"
+msgstr "  [ -dump   [1-ANTAL_KONSOLLER] ]\n"
+
+#: misc-utils/setterm.c:806
+#, c-format
+msgid "  [ -append [1-NR_CONSOLES] ]\n"
+msgstr "  [ -append [1-ANTAL_KONSOLLER] ]\n"
+
+#: misc-utils/setterm.c:807
+#, c-format
+msgid "  [ -file dumpfilename ]\n"
+msgstr "  [ -file dumpfilnamn ]\n"
+
+#: misc-utils/setterm.c:808
+#, c-format
+msgid "  [ -msg [on|off] ]\n"
+msgstr "  [ -msg [on|off] ]\n"
+
+#: misc-utils/setterm.c:809
+#, c-format
+msgid "  [ -msglevel [0-8] ]\n"
+msgstr "  [ -msglevel [0-8] ]\n"
+
+#: misc-utils/setterm.c:810
+#, c-format
+msgid "  [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+msgstr "  [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+
+#: misc-utils/setterm.c:811
+#, c-format
+msgid "  [ -powerdown [0-60] ]\n"
+msgstr "  [ -powerdown [0-60] ]\n"
+
+#: misc-utils/setterm.c:812
+#, c-format
+msgid "  [ -blength [0-2000] ]\n"
+msgstr "  [ -blength [0-2000] ]\n"
+
+#: misc-utils/setterm.c:813
+#, c-format
+msgid "  [ -bfreq freqnumber ]\n"
+msgstr "  [ -bfreq frekvensnummer ]\n"
+
+#: misc-utils/setterm.c:1065
+#, fuzzy, c-format
+msgid "cannot force blank\n"
+msgstr "kan inte grena"
+
+#: misc-utils/setterm.c:1069
+#, fuzzy, c-format
+msgid "cannot force unblank\n"
+msgstr "kan inte grena"
+
+#: misc-utils/setterm.c:1075
+#, fuzzy, c-format
+msgid "cannot get blank status\n"
+msgstr "kan inte öppna %s\n"
+
+#: misc-utils/setterm.c:1087
+#, c-format
+msgid "cannot (un)set powersave mode\n"
+msgstr "kan inte ställa in/återställa strömsparläget\n"
+
+#: misc-utils/setterm.c:1126 misc-utils/setterm.c:1134
+#, c-format
+msgid "klogctl error: %s\n"
+msgstr "klogctl-fel: %s\n"
+
+#: misc-utils/setterm.c:1200
+#, c-format
+msgid "Error writing screendump\n"
+msgstr "Fel vid skrivning av skärmdump\n"
+
+#: misc-utils/setterm.c:1207
+#, fuzzy, c-format
+msgid "Couldn't read %s\n"
+msgstr "Kunde inte öppna %s\n"
+
+#: misc-utils/setterm.c:1261
+#, c-format
+msgid "%s: $TERM is not defined.\n"
+msgstr "%s: $TERM är inte angiven.\n"
+
+#: misc-utils/uuidd.c:46
+#, fuzzy, c-format
+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"
+
+#: misc-utils/uuidd.c:48
+#, c-format
+msgid "       %s [-r|t] [-n num] [-s socketpath]\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:50
+#, fuzzy, c-format
+msgid "       %s -k\n"
+msgstr "       %s -l [ signal ]\n"
+
+#: misc-utils/uuidd.c:152
+#, fuzzy
+msgid "bad arguments"
+msgstr "col: felaktigt argument %s till -l.\n"
+
+#: misc-utils/uuidd.c:159
+#, fuzzy
+msgid "socket"
+msgstr "nfs-uttag"
+
+#: misc-utils/uuidd.c:170
+#, fuzzy
+msgid "connect"
+msgstr "nfs-anslut"
+
+#: misc-utils/uuidd.c:189
+#, fuzzy
+msgid "write"
+msgstr "Skriv"
+
+#: misc-utils/uuidd.c:197
+#, fuzzy
+msgid "read count"
+msgstr "läste %c\n"
+
+#: misc-utils/uuidd.c:203
+msgid "bad response length"
+msgstr ""
+
+#: misc-utils/uuidd.c:268
+#, c-format
+msgid "uuidd daemon already running at pid %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:276
+#, c-format
+msgid "Couldn't create unix stream socket: %s"
+msgstr ""
+
+#: misc-utils/uuidd.c:305
+#, fuzzy, c-format
+msgid "Couldn't bind unix socket %s: %s\n"
+msgstr "Kan inte öppna %s: %s\n"
+
+#: misc-utils/uuidd.c:313
+#, fuzzy, c-format
+msgid "Couldn't listen on unix socket %s: %s\n"
+msgstr "Kan inte öppna %s: %s\n"
+
+#: misc-utils/uuidd.c:351
+#, fuzzy, c-format
+msgid "Error reading from client, len = %d\n"
+msgstr "Fel vid läsning av %s\n"
+
+#: misc-utils/uuidd.c:359
+#, c-format
+msgid "operation %d, incoming num = %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:378
+#, c-format
+msgid "Generated time UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:388
+#, c-format
+msgid "Generated random UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:397
+#, c-format
+msgid "Generated time UUID %s and %d following\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:415
+#, c-format
+msgid "Generated %d UUID's:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:427
+#, fuzzy, c-format
+msgid "Invalid operation %d\n"
+msgstr "ogiltigt id"
+
+#: misc-utils/uuidd.c:468 misc-utils/uuidd.c:489
+#, fuzzy, c-format
+msgid "Bad number: %s\n"
+msgstr "%s: felaktigt värde\n"
+
+#: misc-utils/uuidd.c:524 misc-utils/uuidd.c:551
+#, fuzzy, c-format
+msgid "Error calling uuidd daemon (%s): %s\n"
+msgstr "fel vid byte av rättigheter på %s: %s\n"
+
+#: misc-utils/uuidd.c:534
+#, c-format
+msgid "%s and subsequent %d UUID's\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:536
+#, c-format
+msgid "List of UUID's:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:557
+#, c-format
+msgid "Unexpected reply length from server %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:574
+#, c-format
+msgid "Couldn't kill uuidd running at pid %d: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:580
+#, c-format
+msgid "Killed uuidd running at pid %d\n"
+msgstr ""
+
+#: misc-utils/uuidgen.c:32
+#, fuzzy, c-format
+msgid "Usage: %s [-r] [-t]\n"
+msgstr "Användning: %s [flaggor] enhet ...\n"
+
+#: misc-utils/whereis.c:159
+#, c-format
+msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
+msgstr "whereis [ -sbmu ] [ -SBM kat ... -f ] namn...\n"
+
+#: misc-utils/write.c:101
+#, c-format
+msgid "write: can't find your tty's name\n"
+msgstr "write: kan inte hitta namnet på din tty\n"
+
+#: misc-utils/write.c:112
+#, c-format
+msgid "write: you have write permission turned off.\n"
+msgstr "write: du har inte skrivrättighet aktiverad.\n"
+
+#: misc-utils/write.c:133
+#, c-format
+msgid "write: %s is not logged in on %s.\n"
+msgstr "write: %s är inte inloggad på %s.\n"
+
+#: misc-utils/write.c:141
+#, c-format
+msgid "write: %s has messages disabled on %s\n"
+msgstr "write: %s har meddelanden avstängda på %s\n"
+
+#: misc-utils/write.c:148
+#, c-format
+msgid "usage: write user [tty]\n"
+msgstr "användning: write användare [tty]\n"
+
+#: misc-utils/write.c:236
+#, c-format
+msgid "write: %s is not logged in\n"
+msgstr "write: %s är inte inloggad\n"
+
+#: misc-utils/write.c:245
+#, c-format
+msgid "write: %s has messages disabled\n"
+msgstr "write: %s har meddelanden avstängda\n"
+
+#: misc-utils/write.c:249
+#, c-format
+msgid "write: %s is logged in more than once; writing to %s\n"
+msgstr "write: %s är loggad in mer än en gång; skriver till %s\n"
+
+#: misc-utils/write.c:317
+#, 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 ..."
+
+#: misc-utils/write.c:320
+#, c-format
+msgid "Message from %s@%s on %s at %s ..."
+msgstr "Meddelande från %s@%s på %s klockan %s ..."
+
+#: mount/fstab.c:143
+#, c-format
+msgid "warning: error reading %s: %s"
+msgstr "varning: fel vid läsning av %s: %s"
+
+#: mount/fstab.c:171 mount/fstab.c:196
+#, c-format
+msgid "warning: can't open %s: %s"
+msgstr "varning: kan inte öppna %s: %s"
+
+#: mount/fstab.c:176
+#, 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/fstab.c:589
+#, 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/fstab.c:615
+#, 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/fstab.c:631
+#, 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/fstab.c:646
+#, c-format
+msgid "Can't lock lock file %s: %s\n"
+msgstr "Kan inte låsa låsfilen %s: %s\n"
+
+#: mount/fstab.c:660
+#, c-format
+msgid "can't lock lock file %s: %s"
+msgstr "kan inte låsa låsfilen %s: %s"
+
+#: mount/fstab.c:662
+msgid "timed out"
+msgstr "gjorde time-out"
+
+#: mount/fstab.c:669
+#, 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/fstab.c:791 mount/fstab.c:846
+#, c-format
+msgid "cannot open %s (%s) - mtab not updated"
+msgstr "kan inte öppna %s (%s) - mtab uppdaterades inte"
+
+#: mount/fstab.c:855
+#, c-format
+msgid "error writing %s: %s"
+msgstr "fel vid skrivning av %s: %s"
+
+#: mount/fstab.c:873
+#, c-format
+msgid "error changing mode of %s: %s\n"
+msgstr "fel vid byte av rättigheter på %s: %s\n"
+
+#: mount/fstab.c:886
+#, fuzzy, c-format
+msgid "error changing owner of %s: %s\n"
+msgstr "fel vid byte av rättigheter på %s: %s\n"
+
+#: mount/fstab.c:897
+#, c-format
+msgid "can't rename %s to %s: %s\n"
+msgstr "kan inte byta namn på %s till %s: %s\n"
+
+#: mount/lomount.c:364
+#, fuzzy, c-format
+msgid "loop: can't set capacity on device %s: %s\n"
+msgstr "loop: kan inte få tag i information om enheten %s: %s\n"
+
+#: mount/lomount.c:388
+#, fuzzy, c-format
+msgid ", offset %<PRIu64>"
+msgstr ", avstånd %d"
+
+#: mount/lomount.c:391
+#, fuzzy, c-format
+msgid ", sizelimit %<PRIu64>"
+msgstr ", storleksgräns %lld"
+
+#: mount/lomount.c:399
+#, fuzzy, c-format
+msgid ", encryption %s (type %<PRIu32>)"
+msgstr ", kryptering %s (typ %d)"
+
+#: mount/lomount.c:412
+#, c-format
+msgid ", offset %d"
+msgstr ", avstånd %d"
+
+#: mount/lomount.c:415
+#, c-format
+msgid ", encryption type %d\n"
+msgstr ", krypteringstyp %d\n"
+
+#: mount/lomount.c:423
+#, c-format
+msgid "loop: can't get info on device %s: %s\n"
+msgstr "loop: kan inte få tag i information om enheten %s: %s\n"
+
+#: mount/lomount.c:434
+#, c-format
+msgid "loop: can't open device %s: %s\n"
+msgstr "loop: kan inte öppna enheten %s: %s\n"
+
+#: mount/lomount.c:450 mount/lomount.c:482 mount/lomount.c:544
+#: mount/lomount.c:589
+#, fuzzy, c-format
+msgid "%s: /dev directory does not exist."
+msgstr "%s: användaren \"%s\" finns inte.\n"
+
+#: mount/lomount.c:461 mount/lomount.c:602
+#, fuzzy, c-format
+msgid "%s: no permission to look at /dev/loop%s<N>"
+msgstr "%s: inga rättigheter att granska /dev/loop#"
+
+#: mount/lomount.c:605
+#, c-format
+msgid "%s: could not find any free loop device"
+msgstr "%s: kunde inte hitta någon ledig slingenhet"
+
+#: mount/lomount.c:608
+#, c-format
+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\")."
+
+#: mount/lomount.c:638
+#, fuzzy
+msgid "Out of memory while reading passphrase"
+msgstr "Slut på minne vid växande av buffert.\n"
+
+#: mount/lomount.c:681
+#, fuzzy, c-format
+msgid "warning: %s is already associated with %s\n"
+msgstr "Sektor %d är redan allokerad\n"
+
+#: mount/lomount.c:697
+#, fuzzy, c-format
+msgid "warning: %s: is write-protected, using read-only.\n"
+msgstr "mount: %s%s är skrivskyddad, monterar som endast läsbar"
+
+#: mount/lomount.c:733
+#, c-format
+msgid "Couldn't lock into memory, exiting.\n"
+msgstr "Kunde inte låsa i minne, avslutar.\n"
+
+#: mount/lomount.c:760
+#, c-format
+msgid "ioctl LOOP_SET_FD failed: %s\n"
+msgstr "ioctl LOOP_SET_FD misslyckades: %s\n"
+
+#: mount/lomount.c:817
+#, fuzzy, c-format
+msgid "set_loop(%s,%s,%llu,%llu): success\n"
+msgstr "set_loop(%s,%s,%llu): lyckades\n"
+
+#: mount/lomount.c:838
+#, c-format
+msgid "del_loop(%s): success\n"
+msgstr "del_loop(%s): lyckades\n"
+
+#: mount/lomount.c:842
+#, c-format
+msgid "loop: can't delete device %s: %s\n"
+msgstr "loop: kan inte ta bort enheten %s: %s\n"
+
+#: mount/lomount.c:853
+#, c-format
+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"
+
+#: mount/lomount.c:888
+#, fuzzy, c-format
+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 ""
+"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"
+
+#: mount/lomount.c:898
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -e | --encryption <type> enable data encryption with specified <name/num>\n"
+" -h | --help              this help\n"
+" -o | --offset <num>      start at offset <num> into file\n"
+"      --sizelimit <num>   loop limited to only <num> bytes of the file\n"
+" -p | --pass-fd <num>     read passphrase from file descriptor <num>\n"
+" -r | --read-only         setup read-only loop device\n"
+"      --show              print device name (with -f <file>)\n"
+" -v | --verbose           verbose mode\n"
+"\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"
+
+#: mount/lomount.c:1036 mount/lomount.c:1076
+#, fuzzy, c-format
+msgid "Loop device is %s\n"
+msgstr "loop: kan inte öppna enheten %s: %s\n"
+
+#: mount/lomount.c:1063
+#, fuzzy, c-format
+msgid "stolen loop=%s...trying again\n"
+msgstr "mount: stulen loop=%s ...försöker igen\n"
+
+#: mount/lomount.c:1073
+#, fuzzy, c-format
+msgid "%s: %s: device is busy"
+msgstr "umount: %s: enheten är upptagen"
+
+#: mount/lomount.c:1090
+#, c-format
+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"
+
+#: mount/mount.c:329
+#, c-format
+msgid "mount: improperly quoted option string '%s'"
+msgstr "mount: felaktigt citerad flaggsträng \"%s\""
+
+#: mount/mount.c:362
+#, c-format
+msgid "mount: translated %s '%s' to '%s'\n"
+msgstr "mount: översatte %s \"%s\" till \"%s\"\n"
+
+#: mount/mount.c:526
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s"
+msgstr "mount: enligt mtab är %s redan monterat på %s"
+
+#: mount/mount.c:531
+#, c-format
+msgid "mount: according to mtab, %s is mounted on %s"
+msgstr "mount: enligt mtab är %s monterat på %s"
+
+#: mount/mount.c:555
+#, c-format
+msgid "mount: can't open %s for writing: %s"
+msgstr "mount: kan inte öppna %s för skrivning: %s"
+
+#: mount/mount.c:572 mount/mount.c:1190
+#, c-format
+msgid "mount: error writing %s: %s"
+msgstr "mount: fel vid skrivning av %s: %s"
+
+#: mount/mount.c:580
+#, c-format
+msgid "mount: error changing mode of %s: %s"
+msgstr "mount: fel vid byte av rättigheter på %s: %s"
+
+#: mount/mount.c:663
+#, c-format
+msgid "mount: cannot set group id: %s"
+msgstr "mount: kan inte ställa in grupp-id: %s"
+
+#: mount/mount.c:666
+#, c-format
+msgid "mount: cannot set user id: %s"
+msgstr "mount: kan inte ställa in användar-id: %s"
+
+#: mount/mount.c:705 mount/mount.c:1809
+#, c-format
+msgid "mount: cannot fork: %s"
+msgstr "mount: kan inte grena: %s"
+
+#: mount/mount.c:842
+#, c-format
+msgid "Trying %s\n"
+msgstr "Försöker med %s\n"
+
+#: mount/mount.c:870
+#, 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/mount.c:873
+#, 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/mount.c:876
+#, c-format
+msgid "       and it looks like this is swapspace\n"
+msgstr "       och det verkar som om detta är växlingsutrymme\n"
+
+#: mount/mount.c:878
+#, c-format
+msgid "       I will try type %s\n"
+msgstr "       Jag kommer att försöka med typen %s\n"
+
+#: mount/mount.c:902
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr "%s ser ut som växlingsutrymme - monteras inte"
+
+#: mount/mount.c:993
+msgid "mount failed"
+msgstr "montering misslyckades"
+
+#: mount/mount.c:995
+#, c-format
+msgid "mount: only root can mount %s on %s"
+msgstr "mount: endast root kan montera %s på %s"
+
+#: mount/mount.c:1065
+msgid "mount: loop device specified twice"
+msgstr "mount: slingenheten angiven två gånger"
+
+#: mount/mount.c:1070
+msgid "mount: type specified twice"
+msgstr "mount: typen angiven två gånger"
+
+#: mount/mount.c:1082
+#, c-format
+msgid "mount: skipping the setup of a loop device\n"
+msgstr "mount: hoppar över konfigurationen av en slingenhet\n"
+
+#: mount/mount.c:1094
+#, 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/mount.c:1104
+#, c-format
+msgid "mount: going to use the loop device %s\n"
+msgstr "mount: kommer att använda slingenheten %s\n"
+
+#: mount/mount.c:1113
+#, c-format
+msgid "mount: stolen loop=%s ...trying again\n"
+msgstr "mount: stulen loop=%s ...försöker igen\n"
+
+#: mount/mount.c:1118
+#, c-format
+msgid "mount: stolen loop=%s"
+msgstr "mount: stulen loop=%s"
+
+#: mount/mount.c:1123
+#, c-format
+msgid "mount: failed setting up loop device\n"
+msgstr "mount: misslyckades konfigurera slingenheten\n"
+
+#: mount/mount.c:1134
+#, c-format
+msgid "mount: setup loop device successfully\n"
+msgstr "mount: lyckades konfigurera slingenheten\n"
+
+#: mount/mount.c:1168
+#, c-format
+msgid "mount: no %s found - creating it..\n"
+msgstr "mount: ingen %s hittades - skapar den...\n"
+
+#: mount/mount.c:1185
+#, c-format
+msgid "mount: can't open %s: %s"
+msgstr "mount: kan inte öppna %s: %s"
+
+#: mount/mount.c:1206
+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/mount.c:1219
+#, c-format
+msgid "mount: cannot open %s for setting speed"
+msgstr "mount: kan inte öppna %s för inställning av hastighet"
+
+#: mount/mount.c:1222
+#, c-format
+msgid "mount: cannot set speed: %s"
+msgstr "mount: kan inte ställa in hastighet: %s"
+
+#: mount/mount.c:1279
+#, 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/mount.c:1358
+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/mount.c:1361
+msgid "mount: you must specify the filesystem type"
+msgstr "mount: du måste ange filsystemstypen"
+
+#: mount/mount.c:1364
+msgid "mount: mount failed"
+msgstr "mount: montering misslyckades"
+
+#: mount/mount.c:1370 mount/mount.c:1407
+#, c-format
+msgid "mount: mount point %s is not a directory"
+msgstr "mount: monteringspunkten %s är inte en katalog"
+
+#: mount/mount.c:1372
+msgid "mount: permission denied"
+msgstr "mount: åtkomst nekas"
+
+#: mount/mount.c:1374
+msgid "mount: must be superuser to use mount"
+msgstr "mount: måste vara superanvändaren för att använda mount"
+
+#: mount/mount.c:1378 mount/mount.c:1382
+#, c-format
+msgid "mount: %s is busy"
+msgstr "mount: %s är upptagen"
+
+#: mount/mount.c:1384
+msgid "mount: proc already mounted"
+msgstr "mount: proc är redan monterad"
+
+#: mount/mount.c:1386
+#, c-format
+msgid "mount: %s already mounted or %s busy"
+msgstr "mount: %s är redan monterad eller %s är upptagen"
+
+#: mount/mount.c:1392
+#, c-format
+msgid "mount: mount point %s does not exist"
+msgstr "mount: monteringspunkten %s finns inte"
+
+#: mount/mount.c:1394
+#, 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/mount.c:1399
+#, c-format
+msgid "mount: special device %s does not exist"
+msgstr "mount: specialenheten %s finns inte"
+
+#: mount/mount.c:1411
+#, 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/mount.c:1423
+#, c-format
+msgid "mount: %s not mounted already, or bad option"
+msgstr "mount: %s är inte redan monterad, eller felaktig flagga"
+
+#: mount/mount.c:1425
+#, 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/mount.c:1432
+msgid ""
+"       (for several filesystems (e.g. nfs, cifs) you might\n"
+"       need a /sbin/mount.<type> helper program)"
+msgstr ""
+
+#: mount/mount.c:1441
+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/mount.c:1446
+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/mount.c:1453
+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/mount.c:1459
+msgid "mount table full"
+msgstr "monteringstabellen full"
+
+#: mount/mount.c:1461
+#, c-format
+msgid "mount: %s: can't read superblock"
+msgstr "mount: %s: kan inte läsa superblock"
+
+#: mount/mount.c:1467
+#, c-format
+msgid "mount: %s: unknown device"
+msgstr "mount: %s: okänd enhet"
+
+#: mount/mount.c:1472
+#, c-format
+msgid "mount: unknown filesystem type '%s'"
+msgstr "mount: okänd filsystemstyp \"%s\""
+
+#: mount/mount.c:1484
+#, c-format
+msgid "mount: probably you meant %s"
+msgstr "mount: du menade troligtvis %s"
+
+#: mount/mount.c:1487
+msgid "mount: maybe you meant 'iso9660'?"
+msgstr "mount: du menade kanske \"iso9660\"?"
+
+#: mount/mount.c:1490
+msgid "mount: maybe you meant 'vfat'?"
+msgstr "mount: du menade kanske \"vfat\"?"
+
+#: mount/mount.c:1493
+#, 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/mount.c:1501
+#, c-format
+msgid "mount: %s is not a block device, and stat fails?"
+msgstr "mount: %s är inte en blockenhet, och statustagning misslyckas?"
+
+#: mount/mount.c:1503
+#, c-format
+msgid ""
+"mount: the kernel does not recognize %s as a block device\n"
+"       (maybe `insmod driver'?)"
+msgstr ""
+"mount: kärnan känner inte igen %s som en blockenhet\n"
+"       (kanske \"insmod drivrutin\"?)"
+
+#: mount/mount.c:1506
+#, 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/mount.c:1509
+#, c-format
+msgid "mount: %s is not a block device"
+msgstr "mount: %s är ingen blockenhet"
+
+#: mount/mount.c:1514
+#, c-format
+msgid "mount: %s is not a valid block device"
+msgstr "mount: %s är ingen giltig blockenhet"
+
+#: mount/mount.c:1517
+msgid "block device "
+msgstr "blockenhet "
+
+#: mount/mount.c:1519
+#, c-format
+msgid "mount: cannot mount %s%s read-only"
+msgstr "mount: kan inte montera %s%s som endast läsbar"
+
+#: mount/mount.c:1523
+#, 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/mount.c:1527
+#, 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/mount.c:1542
+#, c-format
+msgid "mount: %s%s is write-protected, mounting read-only"
+msgstr "mount: %s%s är skrivskyddad, monterar som endast läsbar"
+
+#: mount/mount.c:1552
+#, fuzzy, c-format
+msgid "mount: no medium found on %s ...trying again\n"
+msgstr "mount: stulen loop=%s ...försöker igen\n"
+
+#: mount/mount.c:1558
+#, fuzzy, c-format
+msgid "mount: no medium found on %s"
+msgstr "mount: %s är redan monterad på %s\n"
+
+#: mount/mount.c:1576
+#, 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/mount.c:1655
+#, 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/mount.c:1661
+#, 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/mount.c:1756
+#, c-format
+msgid "mount: %s already mounted on %s\n"
+msgstr "mount: %s är redan monterad på %s\n"
+
+#: mount/mount.c:1890
+#, 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/mount.c:2213
+msgid "mount: only root can do that"
+msgstr "mount: endast root kan göra det"
+
+#: mount/mount.c:2223
+msgid "nothing was mounted"
+msgstr "ingenting monterades"
+
+#: mount/mount.c:2241 mount/mount.c:2267
+msgid "mount: no such partition found"
+msgstr "mount: ingen sådan partition hittades"
+
+#: mount/mount.c:2244
+#, c-format
+msgid "mount: can't find %s in %s or %s"
+msgstr "mount: kan inte hitta %s i %s eller %s"
+
+#: mount/mount_mntent.c:165
+#, 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/mount_mntent.c:216
+#, c-format
+msgid "[mntent]: line %d in %s is bad%s\n"
+msgstr "[mntent]: rad %d i %s är felaktig%s\n"
+
+#: mount/mount_mntent.c:219
+msgid "; rest of file ignored"
+msgstr "; resten av filen ignoreras"
+
+#: mount/sundries.c:31
+msgid "bug in xstrndup call"
+msgstr "programfel i xstrndup-anrop"
+
+#: mount/sundries.c:224 mount/sundries.c:280 mount/sundries.c:289
+#: mount/xmalloc.c:11
+msgid "not enough memory"
+msgstr "inte tillräckligt med minne"
+
+#: mount/swapon.c:84
+#, c-format
+msgid ""
+"The <special> parameter:\n"
+" {-L label | LABEL=label}             LABEL of device to be used\n"
+" {-U uuid  | 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"
+"\n"
+msgstr ""
+
+#: mount/swapon.c:92
+#, c-format
+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 ""
+
+#: mount/swapon.c:106
+#, c-format
+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 ""
+
+#: mount/swapon.c:140
+#, fuzzy, c-format
+msgid "%s: unexpected file format"
+msgstr "%s: Oväntat filslut i %s-fil\n"
+
+#: mount/swapon.c:184 mount/swapon.c:252 mount/swapon.c:397 mount/swapon.c:556
+#: mount/swapon.c:758
+#, fuzzy, c-format
+msgid "%s: open failed"
+msgstr "openpty misslyckades\n"
+
+#: mount/swapon.c:205
+#, c-format
+msgid "%s: reinitializing the swap."
+msgstr ""
+
+#: mount/swapon.c:209
+#, fuzzy
+msgid "fork failed"
+msgstr "grening misslyckades\n"
+
+#: mount/swapon.c:225
+#, fuzzy
+msgid "execv failed"
+msgstr "körning misslyckades\n"
+
+#: mount/swapon.c:233
+#, fuzzy
+msgid "waitpid failed"
+msgstr "setuid() misslyckades"
+
+#: mount/swapon.c:257
+#, fuzzy, c-format
+msgid "%s: lseek failed"
+msgstr "sökning misslyckades"
+
+#: mount/swapon.c:263
+#, fuzzy, c-format
+msgid "%s: write signature failed"
+msgstr "Öppning av %s misslyckades"
+
+#: mount/swapon.c:350
+#, c-format
+msgid "%s: found %sswap v%d signature string for %d KiB PAGE_SIZE\n"
+msgstr ""
+
+#: mount/swapon.c:370
+#, fuzzy, c-format
+msgid "%s: stat failed"
+msgstr "%s misslyckades.\n"
+
+#: mount/swapon.c:380
+#, 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"
+
+#: mount/swapon.c:388
+#, fuzzy, c-format
+msgid "%s: skipping - it appears to have holes."
+msgstr "%s: Hoppar över filen %s - den verkar innehålla hål.\n"
+
+#: mount/swapon.c:402
+#, fuzzy, c-format
+msgid "%s: get size failed"
+msgstr "sökning misslyckades"
+
+#: mount/swapon.c:408
+#, c-format
+msgid "%s: read swap header failed"
+msgstr ""
+
+#: mount/swapon.c:421
+#, c-format
+msgid "%s: last_page 0x%08llx is larger than actual size of swapspace"
+msgstr ""
+
+#: mount/swapon.c:426
+#, c-format
+msgid "%s: swap format pagesize does not match."
+msgstr ""
+
+#: mount/swapon.c:431
+#, c-format
+msgid ""
+"%s: swap format pagesize does not match. (Use --fixpgsz to reinitialize it.)"
+msgstr ""
+
+#: mount/swapon.c:440
+#, c-format
+msgid "%s: software suspend data detected. Rewriting the swap signature."
+msgstr ""
+
+#: mount/swapon.c:464 mount/swapon.c:514
+#, c-format
+msgid "%s on %s\n"
+msgstr "%s på %s\n"
+
+#: mount/swapon.c:486
+#, fuzzy, c-format
+msgid "%s: swapon failed"
+msgstr "%s misslyckades.\n"
+
+#: mount/swapon.c:493
+#, fuzzy, c-format
+msgid "cannot find the device for %s"
+msgstr "%s: kan inte hitta enheten för %s\n"
+
+#: mount/swapon.c:526
+#, fuzzy
+msgid "Not superuser."
+msgstr "Inte superanvändare.\n"
+
+#: mount/swapon.c:529
+#, fuzzy, c-format
+msgid "%s: swapoff failed"
+msgstr "%s misslyckades.\n"
+
+#: mount/umount.c:41
+#, c-format
+msgid "umount: compiled without support for -f\n"
+msgstr "umount: kompilerad utan stöd för -f\n"
+
+#: mount/umount.c:111
+#, c-format
+msgid "umount: cannot set group id: %s"
+msgstr "umount: kan inte ställa in grupp-id: %s"
+
+#: mount/umount.c:114
+#, c-format
+msgid "umount: cannot set user id: %s"
+msgstr "umount: kan inte ställa in användar-id: %s"
+
+#: mount/umount.c:139
+#, c-format
+msgid "umount: cannot fork: %s"
+msgstr "umount: kan inte grena: %s"
+
+#: mount/umount.c:160
+#, c-format
+msgid "umount: %s: invalid block device"
+msgstr "umount: %s: ogiltig blockenhet"
+
+#: mount/umount.c:162
+#, c-format
+msgid "umount: %s: not mounted"
+msgstr "umount: %s: inte monterad"
+
+#: mount/umount.c:164
+#, c-format
+msgid "umount: %s: can't write superblock"
+msgstr "umount: %s: kan inte skriva superblock"
+
+#: mount/umount.c:168
+#, 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/umount.c:173
+#, c-format
+msgid "umount: %s: not found"
+msgstr "umount: %s hittades inte"
+
+#: mount/umount.c:175
+#, c-format
+msgid "umount: %s: must be superuser to umount"
+msgstr "umount: %s: måste vara superanvändare för att avmontera"
+
+#: mount/umount.c:177
+#, c-format
+msgid "umount: %s: block devices not permitted on fs"
+msgstr "umount: %s: blockenheter är inte tillåtna på filsystem"
+
+#: mount/umount.c:179
+#, c-format
+msgid "umount: %s: %s"
+msgstr "umount: %s: %s"
+
+#: mount/umount.c:235
+#, c-format
+msgid "no umount2, trying umount...\n"
+msgstr "ingen umount2, försöker med umount...\n"
+
+#: mount/umount.c:252
+#, c-format
+msgid "umount: %s busy - remounted read-only\n"
+msgstr "umount: %s är upptagen - monterade om som endast läsbar\n"
+
+#: mount/umount.c:263
+#, c-format
+msgid "umount: could not remount %s read-only\n"
+msgstr "umount: kunde inte montera om %s som endast läsbar\n"
+
+#: mount/umount.c:272
+#, c-format
+msgid "%s umounted\n"
+msgstr "%s avmonterad\n"
+
+#: mount/umount.c:367
+msgid "umount: cannot find list of filesystems to unmount"
+msgstr "umount: kan inte hitta lista med filsystem att avmontera"
+
+#: mount/umount.c:397
+#, 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/umount.c:466
+#, fuzzy, c-format
+msgid "device %s is associated with %s\n"
+msgstr "Sektor %d är redan allokerad\n"
+
+#: mount/umount.c:472
+#, fuzzy, c-format
+msgid "device %s is not associated with %s\n"
+msgstr "Sektor %d är redan allokerad\n"
+
+#: mount/umount.c:485
+msgid "Cannot umount \"\"\n"
+msgstr "Kan inte avmontera \"\"\n"
+
+#: mount/umount.c:491
+#, c-format
+msgid "Trying to umount %s\n"
+msgstr "Försöker avmontera %s\n"
+
+#: mount/umount.c:504
+msgid "umount: confused when analyzing mtab"
+msgstr ""
+
+#: mount/umount.c:509
+#, c-format
+msgid "umount: cannot umount %s -- %s is mounted over it on the same point."
+msgstr ""
+
+#: mount/umount.c:516
+#, c-format
+msgid "Could not find %s in mtab\n"
+msgstr "Kunde inte hitta %s i mtab\n"
+
+#: mount/umount.c:523
+#, c-format
+msgid "umount: %s is not mounted (according to mtab)"
+msgstr "umount: %s är inte monterad (enligt mtab)"
+
+#: mount/umount.c:547
+#, c-format
+msgid "umount: it seems %s is mounted multiple times"
+msgstr "umount: det verkar som om %s är monterad flera gånger"
+
+#: mount/umount.c:561
+#, 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/umount.c:567
+#, c-format
+msgid "umount: %s mount disagrees with the fstab"
+msgstr "umount: montering av %s stämmer inte överens med fstab"
+
+#: mount/umount.c:608
+#, c-format
+msgid "umount: only %s can unmount %s from %s"
+msgstr "umount: endast %s kan avmontera %s från %s"
+
+#: mount/umount.c:695
+msgid "umount: only root can do that"
+msgstr "umount: endast root kan göra det"
+
+#: schedutils/chrt.c:56
+#, 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"
+"\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 ""
+
+#: schedutils/chrt.c:88
+#, fuzzy, c-format
+msgid "failed to get pid %d's policy"
+msgstr "Misslyckades med att ställa in personlighet till %s"
+
+#: schedutils/chrt.c:90
+#, c-format
+msgid "pid %d's %s scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:112
+#, fuzzy, c-format
+msgid "unknown\n"
+msgstr "okänd"
+
+#: schedutils/chrt.c:116
+#, c-format
+msgid "failed to get pid %d's attributes"
+msgstr ""
+
+#: schedutils/chrt.c:118
+#, c-format
+msgid "pid %d's %s scheduling priority: %d\n"
+msgstr ""
+
+#: schedutils/chrt.c:147
+#, c-format
+msgid "SCHED_%s min/max priority\t: %d/%d\n"
+msgstr ""
+
+#: schedutils/chrt.c:150
+#, fuzzy, c-format
+msgid "SCHED_%s not supported?\n"
+msgstr "NFS över TCP stöds inte.\n"
+
+#: schedutils/chrt.c:206
+#, fuzzy
+msgid "failed to parse pid"
+msgstr "%s: misslyckades med att öppna: %s\n"
+
+#: schedutils/chrt.c:228
+#, fuzzy
+msgid "current"
+msgstr "nräkn"
+
+#: schedutils/chrt.c:236
+#, fuzzy
+msgid "failed to parse priority"
+msgstr "Misslyckades med att ställa in personlighet till %s"
+
+#: schedutils/chrt.c:242
+#, fuzzy, c-format
+msgid "failed to set pid %d's policy"
+msgstr "Misslyckades med att ställa in personlighet till %s"
+
+#: schedutils/chrt.c:251
+#, fuzzy, c-format
+msgid "failed to execute %s"
+msgstr "ioctl() misslyckades med att läsa tid från %s"
+
+#: schedutils/ionice.c:57
+#, fuzzy
+msgid "ioprio_get failed"
+msgstr "openpty misslyckades\n"
+
+#: schedutils/ionice.c:75
+#, fuzzy
+msgid "ioprio_set failed"
+msgstr "openpty misslyckades\n"
+
+#: schedutils/ionice.c:81
+#, c-format
+msgid ""
+"\n"
+"ionice - sets or gets process io scheduling class and priority.\n"
+"\n"
+"Usage:\n"
+"  ionice [ options ] -p <pid> [<pid> ...]\n"
+"  ionoce [ 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 ""
+
+#: schedutils/ionice.c:110 schedutils/ionice.c:112
+#, fuzzy, c-format
+msgid "cannot parse number '%s'"
+msgstr "kan inte öppna %s"
+
+#: schedutils/ionice.c:151
+msgid "ignoring given class data for none class"
+msgstr ""
+
+#: schedutils/ionice.c:159
+msgid "ignoring given class data for idle class"
+msgstr ""
+
+#: schedutils/ionice.c:163
+#, c-format
+msgid "bad prio class %d"
+msgstr ""
+
+#: schedutils/ionice.c:187
+#, fuzzy
+msgid "execvp failed"
+msgstr "körning misslyckades\n"
+
+#: sys-utils/ctrlaltdel.c:27
+#, c-format
+msgid "You must be root to set the Ctrl-Alt-Del behaviour.\n"
+msgstr "Du måste vara root för att kunna ställa in Ctrl-Alt-Del-beteendet.\n"
+
+#: sys-utils/ctrlaltdel.c:42
+#, c-format
+msgid "Usage: ctrlaltdel hard|soft\n"
+msgstr "Användning: ctrlaltdel hard|soft\n"
+
+#: sys-utils/cytune.c:114
+#, 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\n"
+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:125
+#, c-format
+msgid ""
+"File %s, For threshold value %lu and timrout value %lu, Maximum characters "
+"in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f\n"
+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:189
+#, c-format
+msgid "Invalid interval value: %s\n"
+msgstr "Ogiltigt intervallvärde: %s\n"
+
+#: sys-utils/cytune.c:197
+#, c-format
+msgid "Invalid set value: %s\n"
+msgstr "Ogiltigt inställt värde: %s\n"
+
+#: sys-utils/cytune.c:205
+#, c-format
+msgid "Invalid default value: %s\n"
+msgstr "Ogiltigt standardvärde: %s\n"
+
+#: sys-utils/cytune.c:213
+#, c-format
+msgid "Invalid set time value: %s\n"
+msgstr "Ogiltigt inställt tidsvärde: %s\n"
+
+#: sys-utils/cytune.c:221
+#, c-format
+msgid "Invalid default time value: %s\n"
+msgstr "Ogiltigt standardtidsvärde: %s\n"
+
+#: sys-utils/cytune.c:238
+#, c-format
+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"
+
+#: sys-utils/cytune.c:250 sys-utils/cytune.c:269 sys-utils/cytune.c:289
+#: sys-utils/cytune.c:339
+#, c-format
+msgid "Can't open %s: %s\n"
+msgstr "Kan inte öppna %s: %s\n"
+
+#: sys-utils/cytune.c:257
+#, c-format
+msgid "Can't set %s to threshold %d: %s\n"
+msgstr "Kan inte ställa in %s till tröskelvärde %d: %s\n"
+
+#: sys-utils/cytune.c:276
+#, c-format
+msgid "Can't set %s to time threshold %d: %s\n"
+msgstr "Kan inte ställa in %s till tidströskelvärde %d: %s\n"
+
+#: sys-utils/cytune.c:294 sys-utils/cytune.c:351 sys-utils/cytune.c:382
+#, c-format
+msgid "Can't get threshold for %s: %s\n"
+msgstr "Kan inte få tröskelvärde för %s: %s\n"
+
+#: sys-utils/cytune.c:300 sys-utils/cytune.c:357 sys-utils/cytune.c:388
+#, c-format
+msgid "Can't get timeout for %s: %s\n"
+msgstr "Kan inte få time-out för %s: %s\n"
+
+#: sys-utils/cytune.c:306
+#, 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:309
+#, c-format
+msgid "%s: %ld default threshold and %ld default timeout\n"
+msgstr "%s: %ld standardtröskel och %ld standardtimeout\n"
+
+#: sys-utils/cytune.c:327
+msgid "Can't set signal handler"
+msgstr "Kan inte ställa in signalhanterare"
+
+#: sys-utils/cytune.c:331 sys-utils/cytune.c:366
+msgid "gettimeofday failed"
+msgstr "gettimeofday misslyckades"
+
+#: sys-utils/cytune.c:344 sys-utils/cytune.c:376
+#, c-format
+msgid "Can't issue CYGETMON on %s: %s\n"
+msgstr "Kan inte utlysa CYGETMON på %s: %s\n"
+
+#: sys-utils/cytune.c:418
+#, 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:424
+#, 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:429
+#, 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:435
+#, c-format
+msgid "   %f int/sec; %f rec (char/sec)\n"
+msgstr "   %f avbrott/sek; %f mott. (tecken/s)\n"
+
+#: sys-utils/dmesg.c:45
+#, fuzzy, c-format
+msgid "Usage: %s [-c] [-n level] [-r] [-s bufsize]\n"
+msgstr "Användning: %s [-c] [-n nivå] [-s buffertstorlek]\n"
+
+#: sys-utils/flock.c:65
+#, c-format
+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 ""
+
+#: sys-utils/flock.c:192
+#, fuzzy, c-format
+msgid "%s: %s requires exactly one command argument\n"
+msgstr "%s kräver ett argument\n"
+
+#: sys-utils/flock.c:219
+#, fuzzy, c-format
+msgid "%s: cannot open lock file %s: %s\n"
+msgstr "%s: kan inte öppna %s: %s\n"
+
+#: sys-utils/flock.c:231
+#, fuzzy, c-format
+msgid "%s: bad number: %s\n"
+msgstr "%s: felaktigt värde\n"
+
+#: sys-utils/flock.c:238
+#, c-format
+msgid "%s: requires file descriptor, file or directory\n"
+msgstr ""
+
+#: sys-utils/flock.c:294
+#, fuzzy, c-format
+msgid "%s: fork failed: %s\n"
+msgstr "grening misslyckades\n"
+
+#: sys-utils/ipcmk.c:84
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage: %s [options]\n"
+"\n"
+msgstr "Användning: %s [flaggor] enhet ...\n"
+
+#: sys-utils/ipcmk.c:86
+#, c-format
+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 ""
+
+#: sys-utils/ipcmk.c:90
+#, fuzzy, c-format
+msgid ""
+"\n"
+"For more information see ipcmk(1).\n"
+"\n"
+msgstr ""
+"\n"
+"För mer information, se setarch(8).\n"
+
+#: sys-utils/ipcmk.c:142
+msgid "create share memory failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:144
+#, fuzzy, c-format
+msgid "Shared memory id: %d\n"
+msgstr ""
+"\n"
+"Delat minnessegment shmid=%d\n"
+
+#: sys-utils/ipcmk.c:150
+msgid "create message queue failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:152
+#, fuzzy, c-format
+msgid "Message queue id: %d\n"
+msgstr ""
+"\n"
+"Meddelandekö meddköid=%d\n"
+
+#: sys-utils/ipcmk.c:158
+#, fuzzy
+msgid "create semaphore failed"
+msgstr "allokerade semaforer = %d\n"
+
+#: sys-utils/ipcmk.c:160
+#, fuzzy, c-format
+msgid "Semaphore id: %d\n"
+msgstr ""
+"\n"
+"Semaforvektor semid=%d\n"
+
+#: sys-utils/ipcrm.c:66
+#, c-format
+msgid "invalid id: %s\n"
+msgstr "ogiltigt id: %s\n"
+
+#: sys-utils/ipcrm.c:84
+#, c-format
+msgid "cannot remove id %s (%s)\n"
+msgstr "kan inte ta bort id %s (%s)\n"
+
+#: sys-utils/ipcrm.c:99
+#, c-format
+msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
+msgstr "föråldrad användning: %s {shm | msg | sem} id ...\n"
+
+#: sys-utils/ipcrm.c:126
+#, c-format
+msgid "unknown resource type: %s\n"
+msgstr "okänd typ av resurs: %s\n"
+
+#: sys-utils/ipcrm.c:130
+#, c-format
+msgid "resource(s) deleted\n"
+msgstr "resurser borttagna\n"
+
+#: sys-utils/ipcrm.c:140
+#, c-format
+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"
+
+#: sys-utils/ipcrm.c:181
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: otillåten flagga -- %c\n"
+
+#: sys-utils/ipcrm.c:193
+#, c-format
+msgid "%s: illegal key (%s)\n"
+msgstr "%s: otillåten nyckel (%s)\n"
+
+#: sys-utils/ipcrm.c:208 sys-utils/ipcrm.c:240
+msgid "permission denied for key"
+msgstr "åtkomst nekas för nyckel"
+
+#: sys-utils/ipcrm.c:211 sys-utils/ipcrm.c:250
+msgid "already removed key"
+msgstr "redan borttagen nyckel"
+
+#: sys-utils/ipcrm.c:214 sys-utils/ipcrm.c:245
+msgid "invalid key"
+msgstr "ogiltig nyckel"
+
+#: sys-utils/ipcrm.c:217 sys-utils/ipcrm.c:255
+msgid "unknown error in key"
+msgstr "okänt fel i nyckel"
+
+#: sys-utils/ipcrm.c:241
+msgid "permission denied for id"
+msgstr "åtkomst nekas för id"
+
+#: sys-utils/ipcrm.c:246
+msgid "invalid id"
+msgstr "ogiltigt id"
+
+#: sys-utils/ipcrm.c:251
+msgid "already removed id"
+msgstr "redan borttaget id"
+
+#: sys-utils/ipcrm.c:256
+msgid "unknown error in id"
+msgstr "okänt fel i id"
+
+#: sys-utils/ipcrm.c:259
+#, c-format
+msgid "%s: %s (%s)\n"
+msgstr "%s: %s (%s)\n"
+
+#: sys-utils/ipcrm.c:267
+#, c-format
+msgid "%s: unknown argument: %s\n"
+msgstr "%s: okänt argument: %s\n"
+
+#: sys-utils/ipcs.c:120
+#, c-format
+msgid "usage : %s -asmq -tclup \n"
+msgstr "användning: %s -asmq -tclup\n"
+
+#: sys-utils/ipcs.c:121
+#, c-format
+msgid "\t%s [-s -m -q] -i id\n"
+msgstr "\t%s [-s -m -q] -i id\n"
+
+#: sys-utils/ipcs.c:122
+#, c-format
+msgid "\t%s -h for help.\n"
+msgstr "\t%s -h för hjälp.\n"
+
+#: sys-utils/ipcs.c:128
+#, c-format
+msgid ""
+"%s provides information on ipc facilities for which you have read access.\n"
+msgstr ""
+"%s tillhandahåller information om ipc-faciliteter för vilka du har\n"
+"läsrättighet.\n"
+
+#: sys-utils/ipcs.c:130
+#, c-format
+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"
+
+#: sys-utils/ipcs.c:131
+#, c-format
+msgid ""
+"\t-s : semaphores\n"
+"\t-a : all (default)\n"
+msgstr ""
+"\t-s : semaforer\n"
+"\t-a : alla (standard)\n"
+
+#: sys-utils/ipcs.c:132
+#, c-format
+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"
+
+#: sys-utils/ipcs.c:133
+#, c-format
+msgid ""
+"\t-l : limits\n"
+"\t-u : summary\n"
+msgstr ""
+"\t-l : gränser\n"
+"\t-u : sammanfattning\n"
+
+#: sys-utils/ipcs.c:134
+#, c-format
+msgid "-i id [-s -q -m] : 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:258
+#, 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:264
+#, c-format
+msgid "------ Shared Memory Limits --------\n"
+msgstr "------ Gränser för delat minne --------\n"
+
+#: sys-utils/ipcs.c:269
+#, c-format
+msgid "max number of segments = %lu\n"
+msgstr "maximalt antal segment = %lu\n"
+
+#: sys-utils/ipcs.c:271
+#, c-format
+msgid "max seg size (kbytes) = %lu\n"
+msgstr "maximal segmentstorlek (kilobyte) = %lu\n"
+
+#: sys-utils/ipcs.c:273
+#, c-format
+msgid "max total shared memory (kbytes) = %llu\n"
+msgstr "maximalt totalt delat minne (kbyte) = %llu\n"
+
+#: sys-utils/ipcs.c:275
+#, c-format
+msgid "min seg size (bytes) = %lu\n"
+msgstr "minimal segmentstorlek (byte) = %lu\n"
+
+#: sys-utils/ipcs.c:280
+#, c-format
+msgid "------ Shared Memory Status --------\n"
+msgstr "------ Status för delat minne --------\n"
+
+#: sys-utils/ipcs.c:281
+#, c-format
+msgid "segments allocated %d\n"
+msgstr "allokerade segment %d\n"
+
+#: sys-utils/ipcs.c:282
+#, c-format
+msgid "pages allocated %ld\n"
+msgstr "allokerade sidor %ld\n"
+
+#: sys-utils/ipcs.c:283
+#, c-format
+msgid "pages resident  %ld\n"
+msgstr "residenta sidor  %ld\n"
+
+#: sys-utils/ipcs.c:284
+#, c-format
+msgid "pages swapped   %ld\n"
+msgstr "utväxlade sidor  %ld\n"
+
+#: sys-utils/ipcs.c:285
+#, c-format
+msgid "Swap performance: %ld attempts\t %ld successes\n"
+msgstr "Växlingsprestanda: %ld försök\t  %ld lyckade försök\n"
+
+#: sys-utils/ipcs.c:290
+#, c-format
+msgid "------ Shared Memory Segment Creators/Owners --------\n"
+msgstr "------ Skapare/Ägare av delade minnessegment --------\n"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:298 sys-utils/ipcs.c:305
+#: sys-utils/ipcs.c:311
+msgid "shmid"
+msgstr "shmid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:311 sys-utils/ipcs.c:412
+#: sys-utils/ipcs.c:427 sys-utils/ipcs.c:510 sys-utils/ipcs.c:528
+msgid "perms"
+msgstr "rättigh"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "cuid"
+msgstr "vuid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "cgid"
+msgstr "cgid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "uid"
+msgstr "uid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "gid"
+msgstr "gid"
+
+#: sys-utils/ipcs.c:296
+#, 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:298 sys-utils/ipcs.c:305 sys-utils/ipcs.c:311
+#: sys-utils/ipcs.c:418 sys-utils/ipcs.c:427 sys-utils/ipcs.c:516
+#: sys-utils/ipcs.c:522 sys-utils/ipcs.c:528
+msgid "owner"
+msgstr "ägare"
+
+#: sys-utils/ipcs.c:298
+msgid "attached"
+msgstr "tillagd"
+
+#: sys-utils/ipcs.c:298
+msgid "detached"
+msgstr "lösgjord"
+
+#: sys-utils/ipcs.c:299
+msgid "changed"
+msgstr "ändrad"
+
+#: sys-utils/ipcs.c:303
+#, c-format
+msgid "------ Shared Memory Creator/Last-op --------\n"
+msgstr "------ Skapare/Senaste operation på delat minne --------\n"
+
+#: sys-utils/ipcs.c:305
+msgid "cpid"
+msgstr "cpid"
+
+#: sys-utils/ipcs.c:305
+msgid "lpid"
+msgstr "lpid"
+
+#: sys-utils/ipcs.c:309
+#, c-format
+msgid "------ Shared Memory Segments --------\n"
+msgstr "------ Delade minnessegment --------\n"
+
+#: sys-utils/ipcs.c:311 sys-utils/ipcs.c:427 sys-utils/ipcs.c:528
+msgid "key"
+msgstr "nyckel"
+
+#: sys-utils/ipcs.c:311
+msgid "bytes"
+msgstr "byte"
+
+#: sys-utils/ipcs.c:312
+msgid "nattch"
+msgstr "anttill"
+
+#: sys-utils/ipcs.c:312
+msgid "status"
+msgstr "status"
+
+#: sys-utils/ipcs.c:333 sys-utils/ipcs.c:335 sys-utils/ipcs.c:337
+#: sys-utils/ipcs.c:448 sys-utils/ipcs.c:450 sys-utils/ipcs.c:549
+#: sys-utils/ipcs.c:551 sys-utils/ipcs.c:553 sys-utils/ipcs.c:604
+#: sys-utils/ipcs.c:606 sys-utils/ipcs.c:634 sys-utils/ipcs.c:636
+#: sys-utils/ipcs.c:638 sys-utils/ipcs.c:661
+msgid "Not set"
+msgstr "Inte inställd"
+
+#: sys-utils/ipcs.c:365
+msgid "dest"
+msgstr "mål"
+
+#: sys-utils/ipcs.c:366
+msgid "locked"
+msgstr "låst"
+
+#: sys-utils/ipcs.c:386
+#, c-format
+msgid "kernel not configured for semaphores\n"
+msgstr "kärnan är inte konfigurerad för semaforer\n"
+
+#: sys-utils/ipcs.c:392
+#, c-format
+msgid "------ Semaphore Limits --------\n"
+msgstr "------ Semaforgränser --------\n"
+
+#: sys-utils/ipcs.c:396
+#, c-format
+msgid "max number of arrays = %d\n"
+msgstr "maximalt antal vektorer = %d\n"
+
+#: sys-utils/ipcs.c:397
+#, c-format
+msgid "max semaphores per array = %d\n"
+msgstr "maximalt antal semaforer per vektor = %d\n"
+
+#: sys-utils/ipcs.c:398
+#, c-format
+msgid "max semaphores system wide = %d\n"
+msgstr "maximalt antal semaforer på systemet = %d\n"
+
+#: sys-utils/ipcs.c:399
+#, c-format
+msgid "max ops per semop call = %d\n"
+msgstr "maximalt antal operationer per semaforopsanrop = %d\n"
+
+#: sys-utils/ipcs.c:400
+#, c-format
+msgid "semaphore max value = %d\n"
+msgstr "maxvärde på semafor = %d\n"
+
+#: sys-utils/ipcs.c:404
+#, c-format
+msgid "------ Semaphore Status --------\n"
+msgstr "------ Semaforstatus --------\n"
+
+#: sys-utils/ipcs.c:405
+#, c-format
+msgid "used arrays = %d\n"
+msgstr "använda vektorer = %d\n"
+
+#: sys-utils/ipcs.c:406
+#, c-format
+msgid "allocated semaphores = %d\n"
+msgstr "allokerade semaforer = %d\n"
+
+#: sys-utils/ipcs.c:410
+#, c-format
+msgid "------ Semaphore Arrays Creators/Owners --------\n"
+msgstr "------ Skapare/Ägare av semaforvektorer --------\n"
+
+#: sys-utils/ipcs.c:412 sys-utils/ipcs.c:418 sys-utils/ipcs.c:427
+msgid "semid"
+msgstr "semid"
+
+#: sys-utils/ipcs.c:416
+#, c-format
+msgid "------ Semaphore Operation/Change Times --------\n"
+msgstr "------ Semaforoperation/Ändringstider --------\n"
+
+#: sys-utils/ipcs.c:418
+msgid "last-op"
+msgstr "senaste-op"
+
+#: sys-utils/ipcs.c:418
+msgid "last-changed"
+msgstr "senast-ändrad"
+
+#: sys-utils/ipcs.c:425
+#, c-format
+msgid "------ Semaphore Arrays --------\n"
+msgstr "------ Semaforvektorer --------\n"
+
+#: sys-utils/ipcs.c:427
+msgid "nsems"
+msgstr "antsem"
+
+#: sys-utils/ipcs.c:486
+#, 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:494
+#, c-format
+msgid "------ Messages: Limits --------\n"
+msgstr "------ Meddelanden: Gränser --------\n"
+
+#: sys-utils/ipcs.c:495
+#, c-format
+msgid "max queues system wide = %d\n"
+msgstr "maximalt antal köer på hela systemet = %d\n"
+
+#: sys-utils/ipcs.c:496
+#, c-format
+msgid "max size of message (bytes) = %d\n"
+msgstr "maximal storlek på meddelande (byte) = %d\n"
+
+#: sys-utils/ipcs.c:497
+#, c-format
+msgid "default max size of queue (bytes) = %d\n"
+msgstr "standardmaxstorlek på kö (byte) = %d\n"
+
+#: sys-utils/ipcs.c:501
+#, c-format
+msgid "------ Messages: Status --------\n"
+msgstr "------ Meddelande: Status --------\n"
+
+#: sys-utils/ipcs.c:502
+#, c-format
+msgid "allocated queues = %d\n"
+msgstr "allokerade köer = %d\n"
+
+#: sys-utils/ipcs.c:503
+#, c-format
+msgid "used headers = %d\n"
+msgstr "använda huvuden = %d\n"
+
+#: sys-utils/ipcs.c:504
+#, c-format
+msgid "used space = %d bytes\n"
+msgstr "använt utrymme = %d byte\n"
+
+#: sys-utils/ipcs.c:508
+#, c-format
+msgid "------ Message Queues: Creators/Owners --------\n"
+msgstr "------ Meddelandeköer: Skapare/Ägare --------\n"
+
+#: sys-utils/ipcs.c:510 sys-utils/ipcs.c:516 sys-utils/ipcs.c:522
+#: sys-utils/ipcs.c:528
+msgid "msqid"
+msgstr "meddköid"
+
+#: sys-utils/ipcs.c:514
+#, c-format
+msgid "------ Message Queues Send/Recv/Change Times --------\n"
+msgstr ""
+"------ Meddelandeköernas sändnings-/mottagnings-/ändringstider --------\n"
+
+#: sys-utils/ipcs.c:516
+msgid "send"
+msgstr "sänt"
+
+#: sys-utils/ipcs.c:516
+msgid "recv"
+msgstr "mottaget"
+
+#: sys-utils/ipcs.c:516
+msgid "change"
+msgstr "ändring"
+
+#: sys-utils/ipcs.c:520
+#, c-format
+msgid "------ Message Queues PIDs --------\n"
+msgstr "------ PID för meddelandeköer --------\n"
+
+#: sys-utils/ipcs.c:522
+msgid "lspid"
+msgstr "lspid"
+
+#: sys-utils/ipcs.c:522
+msgid "lrpid"
+msgstr "lrpid"
+
+#: sys-utils/ipcs.c:526
+#, c-format
+msgid "------ Message Queues --------\n"
+msgstr "------ Meddelandeköer --------\n"
+
+#: sys-utils/ipcs.c:529
+msgid "used-bytes"
+msgstr "använda-byte"
+
+#: sys-utils/ipcs.c:529
+msgid "messages"
+msgstr "meddelanden"
+
+#: sys-utils/ipcs.c:593
+#, fuzzy
+msgid "shmctl failed"
+msgstr "fsync misslyckades"
+
+#: sys-utils/ipcs.c:595
+#, c-format
+msgid ""
+"\n"
+"Shared memory Segment shmid=%d\n"
+msgstr ""
+"\n"
+"Delat minnessegment shmid=%d\n"
+
+#: sys-utils/ipcs.c:596
+#, c-format
+msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+
+#: sys-utils/ipcs.c:598
+#, c-format
+msgid "mode=%#o\taccess_perms=%#o\n"
+msgstr "rättighet=%#o\tåtkomsträttigheter=%#o\n"
+
+#: sys-utils/ipcs.c:600
+#, c-format
+msgid "bytes=%ld\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+msgstr "byte=%ld\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+
+#: sys-utils/ipcs.c:603
+#, c-format
+msgid "att_time=%-26.24s\n"
+msgstr "attid=%-26.24s\n"
+
+#: sys-utils/ipcs.c:605
+#, c-format
+msgid "det_time=%-26.24s\n"
+msgstr "dettid=%-26.24s\n"
+
+#: sys-utils/ipcs.c:607 sys-utils/ipcs.c:637
+#, c-format
+msgid "change_time=%-26.24s\n"
+msgstr "ändringstid=%-26.24s\n"
+
+#: sys-utils/ipcs.c:619
+#, fuzzy
+msgid "msgctl failed"
+msgstr "fsync misslyckades"
+
+#: sys-utils/ipcs.c:621
+#, c-format
+msgid ""
+"\n"
+"Message Queue msqid=%d\n"
+msgstr ""
+"\n"
+"Meddelandekö meddköid=%d\n"
+
+#: sys-utils/ipcs.c:622
+#, c-format
+msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\trättighet=%#o\n"
+
+#: sys-utils/ipcs.c:624
+#, 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:633
+#, c-format
+msgid "send_time=%-26.24s\n"
+msgstr "sändningstid=%-26.24s\n"
+
+#: sys-utils/ipcs.c:635
+#, c-format
+msgid "rcv_time=%-26.24s\n"
+msgstr "mottagningstid=%-26.24s\n"
+
+#: sys-utils/ipcs.c:652 sys-utils/ipcs.c:674
+#, fuzzy
+msgid "semctl failed"
+msgstr "sökning misslyckades"
+
+#: sys-utils/ipcs.c:654
+#, c-format
+msgid ""
+"\n"
+"Semaphore Array semid=%d\n"
+msgstr ""
+"\n"
+"Semaforvektor semid=%d\n"
+
+#: sys-utils/ipcs.c:655
+#, c-format
+msgid "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+msgstr "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+
+#: sys-utils/ipcs.c:657
+#, c-format
+msgid "mode=%#o, access_perms=%#o\n"
+msgstr "rättighet=%#o, åtkomsträttigheter=%#o\n"
+
+#: sys-utils/ipcs.c:659
+#, c-format
+msgid "nsems = %ld\n"
+msgstr "antsem = %ld\n"
+
+#: sys-utils/ipcs.c:660
+#, c-format
+msgid "otime = %-26.24s\n"
+msgstr "otid = %-26.24s\n"
+
+#: sys-utils/ipcs.c:662
+#, c-format
+msgid "ctime = %-26.24s\n"
+msgstr "ctid = %-26.24s\n"
+
+#: sys-utils/ipcs.c:665
+msgid "semnum"
+msgstr "semnum"
+
+#: sys-utils/ipcs.c:665
+msgid "value"
+msgstr "värde"
+
+#: sys-utils/ipcs.c:665
+msgid "ncount"
+msgstr "nräkn"
+
+#: sys-utils/ipcs.c:665
+msgid "zcount"
+msgstr "zräkn"
+
+#: sys-utils/ipcs.c:665
+msgid "pid"
+msgstr "pid"
+
+#: sys-utils/ldattach.c:92
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [ -dhV78neo12 ] [ -s <speed> ] <ldisc> <device>\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:94
+msgid ""
+"\n"
+"Known <ldisc> names:\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:179
+#, fuzzy, c-format
+msgid "invalid speed: %s"
+msgstr "ogiltigt id: %s\n"
+
+#: sys-utils/ldattach.c:182
+#, fuzzy, c-format
+msgid "ldattach from %s\n"
+msgstr "%s från %s\n"
+
+#: sys-utils/ldattach.c:187 text-utils/tailf.c:205
+#, fuzzy
+msgid "invalid option"
+msgstr "ogiltigt id"
+
+#: sys-utils/ldattach.c:199
+#, fuzzy, c-format
+msgid "invalid line discipline: %s"
+msgstr "ogiltigt id: %s\n"
+
+#: sys-utils/ldattach.c:207
+#, fuzzy, c-format
+msgid "%s is not a serial line"
+msgstr "%s är ingen blockspecialenhet"
+
+#: sys-utils/ldattach.c:213
+#, fuzzy, c-format
+msgid "cannot get terminal attributes for %s"
+msgstr "kan inte hämta storleken på %s"
+
+#: sys-utils/ldattach.c:216
+#, c-format
+msgid "speed %d unsupported"
+msgstr ""
+
+#: sys-utils/ldattach.c:247
+#, fuzzy, c-format
+msgid "cannot set terminal attributes for %s"
+msgstr "kan inte hämta storleken på %s"
+
+#: sys-utils/ldattach.c:254
+#, fuzzy
+msgid "cannot set line discipline"
+msgstr "Kan inte söka på diskenhet"
+
+#: sys-utils/ldattach.c:260
+#, fuzzy
+msgid "cannot daemonize"
+msgstr "kan inte hämta storleken på %s"
+
+#: sys-utils/lscpu.c:64
+#, fuzzy
+msgid "none"
+msgstr "Ingen"
+
+#: sys-utils/lscpu.c:65
+msgid "para"
+msgstr ""
+
+#: sys-utils/lscpu.c:66
+msgid "full"
+msgstr ""
+
+#: sys-utils/lscpu.c:129 sys-utils/lscpu.c:152 sys-utils/lscpu.c:441
+#, fuzzy, c-format
+msgid "error: %s"
+msgstr "RE-fel: "
+
+#: sys-utils/lscpu.c:154
+#, fuzzy, c-format
+msgid "error parse: %s"
+msgstr "fel vid läsning av %s\n"
+
+#: sys-utils/lscpu.c:176
+#, fuzzy
+msgid "error: strdup failed"
+msgstr "Öppning av %s misslyckades"
+
+#: sys-utils/lscpu.c:259
+#, fuzzy
+msgid "error: uname failed"
+msgstr "Fel vid stängning av fil\n"
+
+#: sys-utils/lscpu.c:491
+#, fuzzy
+msgid "error: malloc failed"
+msgstr "minnesallokering misslyckades"
+
+#: sys-utils/lscpu.c:506
+msgid "error: /sys filesystem is not accessable."
+msgstr ""
+
+#: sys-utils/lscpu.c:524
+#, 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"
+"# CPU,Core,Socket,Node"
+msgstr ""
+
+#: sys-utils/lscpu.c:590
+msgid "Thread(s) per core:"
+msgstr ""
+
+#: sys-utils/lscpu.c:591
+msgid "Core(s) per socket:"
+msgstr ""
+
+#: sys-utils/lscpu.c:592
+msgid "CPU socket(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:596
+msgid "NUMA node(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:598
+msgid "Vendor ID:"
+msgstr ""
+
+#: sys-utils/lscpu.c:600
+msgid "CPU family:"
+msgstr ""
+
+#: sys-utils/lscpu.c:602
+msgid "Model:"
+msgstr ""
+
+#: sys-utils/lscpu.c:604
+msgid "Stepping:"
+msgstr ""
+
+#: sys-utils/lscpu.c:606
+msgid "CPU MHz:"
+msgstr ""
+
+#: sys-utils/lscpu.c:609 sys-utils/lscpu.c:611
+#, fuzzy
+msgid "Virtualization:"
+msgstr "Tidigare situation:\n"
+
+#: sys-utils/lscpu.c:614
+msgid "Hypervisor vendor:"
+msgstr ""
+
+#: sys-utils/lscpu.c:615
+msgid "Virtualization type:"
+msgstr ""
+
+#: sys-utils/lscpu.c:623
+#, c-format
+msgid "%s cache:"
+msgstr ""
+
+#: sys-utils/lscpu.c:631
+#, fuzzy, c-format
+msgid "Usage: %s [option]\n"
+msgstr "Användning: %s [flaggor] enhet ...\n"
+
+#: sys-utils/lscpu.c:634
+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 ""
+
+#: sys-utils/lscpu.c:683
+#, fuzzy, c-format
+msgid "error: change working directory to %s."
+msgstr "fel vid byte av rättigheter på %s: %s\n"
+
+#: sys-utils/rdev.c:77
+msgid "usage: rdev [ -rv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]"
+msgstr "användning: rdev [ -rv ] [ -o AVSTÅND ] [ BILD [ VÄRDE [ AVSTÅND ] ] ]"
+
+#: sys-utils/rdev.c:78
+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"
+
+#: sys-utils/rdev.c:79
+msgid "  rdev /dev/fd0 /dev/hda2         sets ROOT to /dev/hda2"
+msgstr "  rdev /dev/fd0 /dev/hda2         ställer in ROT till /dev/hda2"
+
+#: sys-utils/rdev.c:80
+msgid "  rdev -R /dev/fd0 1              set the ROOTFLAGS (readonly status)"
+msgstr ""
+"  rdev -R /dev/fd0 1              ställer in ROTFLAGGORNA (endast läsbar)"
+
+#: sys-utils/rdev.c:81
+msgid "  rdev -r /dev/fd0 627            set the RAMDISK size"
+msgstr "  rdev -r /dev/fd0 627            ställer in RAMDISK-storleken"
+
+#: sys-utils/rdev.c:82
+msgid "  rdev -v /dev/fd0 1              set the bootup VIDEOMODE"
+msgstr "  rdev -v /dev/fd0 1              ställer in GRAFIKLÄGET vid uppstart"
+
+#: sys-utils/rdev.c:83
+msgid "  rdev -o N ...                   use the byte offset N"
+msgstr "  rdev -o N ...                   använd byteavstånd N"
+
+#: sys-utils/rdev.c:84
+msgid "  rootflags ...                   same as rdev -R"
+msgstr "  rootflags ...                   samma som rdev -R"
+
+#: sys-utils/rdev.c:85
+msgid "  ramsize ...                     same as rdev -r"
+msgstr "  ramsize ...                     samma som rdev -r"
+
+#: sys-utils/rdev.c:86
+msgid "  vidmode ...                     same as rdev -v"
+msgstr "  vidmode ...                     samma som rdev -v"
+
+#: sys-utils/rdev.c:87
+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,..."
+
+#: sys-utils/rdev.c:88
+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."
+
+#: sys-utils/rdev.c:245
+msgid "missing comma"
+msgstr "komma saknas"
+
+#: sys-utils/readprofile.c:72
+#, c-format
+msgid "out of memory"
+msgstr "slut på minne"
+
+#: sys-utils/readprofile.c:118
+#, 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: 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"
+
+#: sys-utils/readprofile.c:227
+#, fuzzy, c-format
+msgid "readprofile: error writing %s: %s\n"
+msgstr "mount: fel vid skrivning av %s: %s"
+
+#: sys-utils/readprofile.c:268
+#, c-format
+msgid "Assuming reversed byte order. Use -n to force native byte order.\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:284
+#, c-format
+msgid "Sampling_step: %i\n"
+msgstr "Samplingssteg: %i\n"
+
+#: sys-utils/readprofile.c:305 sys-utils/readprofile.c:331
+#, c-format
+msgid "%s: %s(%i): wrong map line\n"
+msgstr "%s: %s(%i): felaktig tabellrad\n"
+
+#: sys-utils/readprofile.c:318
+#, c-format
+msgid "%s: can't find \"_stext\" in %s\n"
+msgstr "%s: kan inte hitta \"_stext\" i %s\n"
+
+#: sys-utils/readprofile.c:352
+#, c-format
+msgid "%s: profile address out of range. Wrong map file?\n"
+msgstr "%s: profiladressen är utanför intervallet. Fel tabellfil?\n"
+
+#: sys-utils/readprofile.c:412
+msgid "total"
+msgstr "totalt"
+
+#: sys-utils/renice.c:53
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" renice [-n] priority [-p|--pid] pid  [... pid]\n"
+" renice [-n] priority  -g|--pgrp pgrp [... pgrp]\n"
+" renice [-n] priority  -u|--user user [... user]\n"
+" renice -h | --help\n"
+" renice -v | --version\n"
+"\n"
+msgstr ""
+
+#: sys-utils/renice.c:89
+#, fuzzy, c-format
+msgid "renice from %s\n"
+msgstr "%s från %s\n"
+
+#: sys-utils/renice.c:126
+#, c-format
+msgid "renice: %s: unknown user\n"
+msgstr "renice: %s: okänd användare\n"
+
+#: sys-utils/renice.c:134
+#, c-format
+msgid "renice: %s: bad value\n"
+msgstr "renice: %s: felaktigt värde\n"
+
+# Detta är systemanrop (getpriority(2))
+#: sys-utils/renice.c:152 sys-utils/renice.c:164
+msgid "getpriority"
+msgstr "getpriority"
+
+# Detta är systemanrop (setpriority(2))
+#: sys-utils/renice.c:157
+msgid "setpriority"
+msgstr "setpriority"
+
+#: sys-utils/renice.c:168
+#, c-format
+msgid "%d: old priority %d, new priority %d\n"
+msgstr "%d: gammal prioritet %d, ny prioritet %d\n"
+
+#: sys-utils/rtcwake.c:81
+#, c-format
+msgid ""
+"usage: %s [options]\n"
+"    -d | --device <device>    select rtc device (rtc0|rtc1|...)\n"
+"    -l | --local              RTC uses local timezone\n"
+"    -m | --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"
+"    -V | --version            show version\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:140
+msgid "read rtc time"
+msgstr "läs rtc-tid"
+
+#: sys-utils/rtcwake.c:145
+msgid "read system time"
+msgstr "läs systemtid"
+
+#: sys-utils/rtcwake.c:163
+msgid "convert rtc time"
+msgstr "konvertera rtc-tid"
+
+#: sys-utils/rtcwake.c:222
+msgid "set rtc alarm"
+msgstr "ställ in rtc-alarm"
+
+#: sys-utils/rtcwake.c:226
+msgid "enable rtc alarm"
+msgstr "aktivera rtc-alarm"
+
+#: sys-utils/rtcwake.c:230
+msgid "set rtc wake alarm"
+msgstr "ställ in rtc-uppvakningsalarm"
+
+#: sys-utils/rtcwake.c:342
+#, c-format
+msgid "%s: unrecognized suspend state '%s'\n"
+msgstr "%s: okänt väntelägestillstånd \"%s\"\n"
+
+#: sys-utils/rtcwake.c:351
+#, c-format
+msgid "%s: illegal interval %s seconds\n"
+msgstr "%s: otillåtet intervall %s sekunder\n"
+
+#: sys-utils/rtcwake.c:365
+#, c-format
+msgid "%s: illegal time_t value %s\n"
+msgstr "%s: otillåtet värde för time_t, %s\n"
+
+#: sys-utils/rtcwake.c:381
+#, c-format
+msgid "%s: version %s\n"
+msgstr "%s: version %s\n"
+
+#: sys-utils/rtcwake.c:394
+#, c-format
+msgid "%s: assuming RTC uses UTC ...\n"
+msgstr "%s: antar att RTC använder UTC ...\n"
+
+#: sys-utils/rtcwake.c:399
+#, fuzzy, c-format
+msgid "Using UTC time.\n"
+msgstr "Använder %s-tid\n"
+
+#: sys-utils/rtcwake.c:400
+#, fuzzy, c-format
+msgid "Using local time.\n"
+msgstr "Använder %s-tid\n"
+
+#: sys-utils/rtcwake.c:403
+#, c-format
+msgid "%s: must provide wake time\n"
+msgstr "%s: måste tillhandahålla uppvakningstid\n"
+
+#: sys-utils/rtcwake.c:413
+msgid "malloc() failed"
+msgstr "malloc() misslyckades"
+
+#: sys-utils/rtcwake.c:425
+#, c-format
+msgid "%s: %s not enabled for wakeup events\n"
+msgstr "%s: %s är inte aktiverad för uppvakningshändelser\n"
+
+#: sys-utils/rtcwake.c:441
+#, 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:446
+#, c-format
+msgid "%s: time doesn't go backward to %s\n"
+msgstr "%s: tiden går inte baklänges till %s\n"
+
+#: sys-utils/rtcwake.c:456
+#, c-format
+msgid "%s: wakeup from \"%s\" using %s at %s\n"
+msgstr "%s: uppvakning från \"%s\" med %s klockan %s\n"
+
+#: sys-utils/rtcwake.c:473
+msgid "rtc read"
+msgstr "rtc läs"
+
+#: sys-utils/rtcwake.c:482
+msgid "disable rtc alarm interrupt"
+msgstr "inaktivera rtc-alarmavbrott"
+
+#: sys-utils/setarch.c:50
+#, c-format
+msgid "Switching on %s.\n"
+msgstr "Slår på %s.\n"
+
+#: sys-utils/setarch.c:113
+#, c-format
+msgid ""
+"Usage: %s%s [options] [program [program arguments]]\n"
+"\n"
+"Options:\n"
+msgstr ""
+"Användning: %s%s [flaggor] [program [programargument]]\n"
+"\n"
+"Flaggor:\n"
+
+#: sys-utils/setarch.c:117
+#, c-format
+msgid ""
+" -h, --help               displays this help text\n"
+" -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"
+msgstr ""
+
+#: sys-utils/setarch.c:131
+#, c-format
+msgid ""
+"\n"
+"For more information see setarch(8).\n"
+msgstr ""
+"\n"
+"För mer information, se setarch(8).\n"
+
+#: sys-utils/setarch.c:143
+#, c-format
+msgid ""
+"%s: %s\n"
+"Try `%s --help' for more information.\n"
+msgstr ""
+"%s: %s\n"
+"Prova med \"%s --help\" för mer information.\n"
+
+#: sys-utils/setarch.c:215 sys-utils/setarch.c:231
+#, c-format
+msgid "%s: Unrecognized architecture"
+msgstr "%s: Arkitekturen är okänd"
+
+#: sys-utils/setarch.c:249 sys-utils/setarch.c:256
+msgid "Not enough arguments"
+msgstr "Inte tillräckligt många argument"
+
+#: sys-utils/setarch.c:265 sys-utils/setarch.c:318
+#, c-format
+msgid "Failed to set personality to %s"
+msgstr "Misslyckades med att ställa in personlighet till %s"
+
+#: sys-utils/setsid.c:26
+#, c-format
+msgid "usage: %s program [arg ...]\n"
+msgstr "användning: %s program [argument ...]\n"
+
+#: sys-utils/tunelp.c:75
+#, c-format
+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"
+
+#: sys-utils/tunelp.c:91
+msgid "malloc error"
+msgstr "minnesallokeringsfel"
+
+#: sys-utils/tunelp.c:103
+#, c-format
+msgid "%s: bad value\n"
+msgstr "%s: felaktigt värde\n"
+
+#: sys-utils/tunelp.c:242
+#, c-format
+msgid "%s: %s not an lp device.\n"
+msgstr "%s: %s är ingen lp-enhet.\n"
+
+#: sys-utils/tunelp.c:263
+#, c-format
+msgid "%s status is %d"
+msgstr "statusen för %s är %d"
+
+#: sys-utils/tunelp.c:264
+#, c-format
+msgid ", busy"
+msgstr ", upptagen"
+
+#: sys-utils/tunelp.c:265
+#, c-format
+msgid ", ready"
+msgstr ", redo"
+
+#: sys-utils/tunelp.c:266
+#, c-format
+msgid ", out of paper"
+msgstr ", slut på papper"
+
+#: sys-utils/tunelp.c:267
+#, c-format
+msgid ", on-line"
+msgstr ", inkopplad"
+
+#: sys-utils/tunelp.c:268
+#, c-format
+msgid ", error"
+msgstr ", fel"
+
+#: sys-utils/tunelp.c:285
+msgid "LPGETIRQ error"
+msgstr "LPGETIRQ-fel"
+
+#: sys-utils/tunelp.c:291
+#, c-format
+msgid "%s using IRQ %d\n"
+msgstr "%s använder IRQ %d\n"
+
+#: sys-utils/tunelp.c:293
+#, c-format
+msgid "%s using polling\n"
+msgstr "%s använder pollning\n"
+
+#: text-utils/col.c:154
+#, c-format
+msgid "col: bad -l argument %s.\n"
+msgstr "col: felaktigt argument %s till -l.\n"
+
+#: text-utils/col.c:544
+#, c-format
+msgid "usage: col [-bfpx] [-l nline]\n"
+msgstr "användning: col [-bfpx] [-l antalrader]\n"
+
+#: text-utils/col.c:550
+#, c-format
+msgid "col: write error.\n"
+msgstr "col: skrivfel.\n"
+
+#: text-utils/col.c:557
+#, c-format
+msgid "col: warning: can't back up %s.\n"
+msgstr "col: varning: kan inte säkerhetskopiera %s.\n"
+
+#: text-utils/col.c:558
+msgid "past first line"
+msgstr "förbi första raden"
+
+#: text-utils/col.c:558
+msgid "-- line already flushed"
+msgstr "-- raden redan spolad"
+
+#: text-utils/colcrt.c:97
+#, c-format
+msgid "usage: %s [ - ] [ -2 ] [ file ... ]\n"
+msgstr "användning: %s [ - ] [ -2 ] [ fil ... ]\n"
+
+#: text-utils/column.c:297
+msgid "line too long"
+msgstr "raden är för lång"
+
+#: text-utils/column.c:374
+#, c-format
+msgid "usage: column [-tx] [-c columns] [file ...]\n"
+msgstr "användning: column [-tx] [-c kolumner] [fil ...]\n"
+
+#: text-utils/hexsyntax.c:82
+#, c-format
+msgid "hexdump: bad length value.\n"
+msgstr "hexdump: felaktigt längdvärde.\n"
+
+#: text-utils/hexsyntax.c:93
+#, c-format
+msgid "hexdump: bad skip value.\n"
+msgstr "hexdump: felaktigt överhoppningsvärde.\n"
+
+#: text-utils/hexsyntax.c:131
+#, c-format
+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"
+
+#: text-utils/more.c:256
+#, c-format
+msgid "usage: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n"
+msgstr "användning: %s [-dflpcsu] [+radnummer | +/mönster] namn1 namn2 ...\n"
+
+#: text-utils/more.c:479
+#, c-format
+msgid "%s: unknown option \"-%c\"\n"
+msgstr "%s: okänd flagga \"-%c\"\n"
+
+#: text-utils/more.c:511
+#, c-format
+msgid ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+msgstr ""
+"\n"
+"*** %s: katalog ***\n"
+"\n"
+
+#: text-utils/more.c:555
+#, c-format
+msgid ""
+"\n"
+"******** %s: Not a text file ********\n"
+"\n"
+msgstr ""
+"\n"
+"******** %s: Inte en textfil ********\n"
+"\n"
+
+#: text-utils/more.c:658
+#, c-format
+msgid "[Use q or Q to quit]"
+msgstr "[Använd q eller Q för att avsluta]"
+
+#: text-utils/more.c:750
+#, c-format
+msgid "--More--"
+msgstr "--Mer--"
+
+#: text-utils/more.c:752
+#, c-format
+msgid "(Next file: %s)"
+msgstr "(Nästa fil: %s)"
+
+#: text-utils/more.c:757
+#, 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:1172
+#, c-format
+msgid "...back %d pages"
+msgstr "...tillbaka %d sidor"
+
+#: text-utils/more.c:1174
+msgid "...back 1 page"
+msgstr "...tillbaka 1 sida"
+
+#: text-utils/more.c:1217
+msgid "...skipping one line"
+msgstr "...hoppar över en rad"
+
+#: text-utils/more.c:1219
+#, c-format
+msgid "...skipping %d lines"
+msgstr "...hoppar över %d rader"
+
+#: text-utils/more.c:1256
+msgid ""
+"\n"
+"***Back***\n"
+"\n"
+msgstr ""
+"\n"
+"***Tillbaka***\n"
+"\n"
+
+#: text-utils/more.c:1294
+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:1301
+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:1370 text-utils/more.c:1375
+#, c-format
+msgid "[Press 'h' for instructions.]"
+msgstr "[Tryck \"h\" för instruktioner.]"
+
+#: text-utils/more.c:1409
+#, c-format
+msgid "\"%s\" line %d"
+msgstr "\"%s\" rad %d"
+
+#: text-utils/more.c:1411
+#, c-format
+msgid "[Not a file] line %d"
+msgstr "[Inte en fil] rad %d"
+
+#: text-utils/more.c:1495
+msgid "  Overflow\n"
+msgstr "  Spill\n"
+
+#: text-utils/more.c:1542
+msgid "...skipping\n"
+msgstr "...hoppar över\n"
+
+#: text-utils/more.c:1571
+msgid "Regular expression botch"
+msgstr "Reguljärt uttrycksmischmasch"
+
+#: text-utils/more.c:1579
+msgid ""
+"\n"
+"Pattern not found\n"
+msgstr ""
+"\n"
+"Mönstret hittades inte\n"
+
+#: text-utils/more.c:1582 text-utils/pg.c:1124 text-utils/pg.c:1275
+msgid "Pattern not found"
+msgstr "Mönstret hittades inte"
+
+#: text-utils/more.c:1643
+msgid "can't fork\n"
+msgstr "kan inte grena\n"
+
+#: text-utils/more.c:1682
+msgid ""
+"\n"
+"...Skipping "
+msgstr ""
+"\n"
+"...Hoppar över "
+
+#: text-utils/more.c:1686
+msgid "...Skipping to file "
+msgstr "...Hoppar över till filen "
+
+#: text-utils/more.c:1688
+msgid "...Skipping back to file "
+msgstr "...Hoppar tillbaka till filen "
+
+#: text-utils/more.c:1966
+msgid "Line too long"
+msgstr "Raden är för lång"
+
+#: text-utils/more.c:2009
+msgid "No previous command to substitute for"
+msgstr "Inget tidigare kommando att ersätta"
+
+#: text-utils/odsyntax.c:130
+#, c-format
+msgid "od: od(1) has been deprecated for hexdump(1).\n"
+msgstr "od: od(1) har ersatts av hexdump(1).\n"
+
+#: text-utils/odsyntax.c:133
+#, c-format
+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"
+
+#: text-utils/odsyntax.c:134
+msgid "; see strings(1)."
+msgstr "; se strings(1)."
+
+#: text-utils/parse.c:63
+#, c-format
+msgid "hexdump: can't read %s.\n"
+msgstr "hexdump: kan inte läsa %s.\n"
+
+#: text-utils/parse.c:68
+#, c-format
+msgid "hexdump: line too long.\n"
+msgstr "hexdump: raden är för lång.\n"
+
+#: text-utils/parse.c:401
+#, c-format
+msgid "hexdump: byte count with multiple conversion characters.\n"
+msgstr "hexdump: byteantal med flera konverteringstecken.\n"
+
+#: text-utils/parse.c:483
+#, c-format
+msgid "hexdump: bad byte count for conversion character %s.\n"
+msgstr "hexdump: felaktigt byteantal för konverteringstecken %s.\n"
+
+#: text-utils/parse.c:490
+#, c-format
+msgid "hexdump: %%s requires a precision or a byte count.\n"
+msgstr "hexdumo: %%s kräver ett precisionsvärde eller ett byteantal.\n"
+
+#: text-utils/parse.c:496
+#, c-format
+msgid "hexdump: bad format {%s}\n"
+msgstr "hexdump: felaktigt format {%s}\n"
+
+#: text-utils/parse.c:502
+#, c-format
+msgid "hexdump: bad conversion character %%%s.\n"
+msgstr "hexdump: felaktigt konverteringstecken %%%s.\n"
+
+#: text-utils/pg.c:145
+msgid ""
+"All rights reserved.\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"
+msgstr ""
+
+#: text-utils/pg.c:223
+#, fuzzy
+msgid "Out of memory\n"
+msgstr "Slut på minne"
+
+#: text-utils/pg.c:236
+#, c-format
+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"
+
+#: text-utils/pg.c:245
+#, c-format
+msgid "%s: option requires an argument -- %s\n"
+msgstr "%s: flaggan kräver ett argument -- %s\n"
+
+#: text-utils/pg.c:253
+#, c-format
+msgid "%s: illegal option -- %s\n"
+msgstr "%s: otillåten flagga -- %s\n"
+
+#: text-utils/pg.c:370
+msgid "...skipping forward\n"
+msgstr "...hoppar framåt\n"
+
+#: text-utils/pg.c:372
+msgid "...skipping backward\n"
+msgstr "...hoppar bakåt\n"
+
+#: text-utils/pg.c:394
+msgid "No next file"
+msgstr "Ingen nästa fil"
+
+#: text-utils/pg.c:398
+msgid "No previous file"
+msgstr "Inga tidigare fil"
+
+#: text-utils/pg.c:928
+#, c-format
+msgid "%s: Read error from %s file\n"
+msgstr "%s: Läsfel från %s-fil\n"
+
+#: text-utils/pg.c:934
+#, c-format
+msgid "%s: Unexpected EOF in %s file\n"
+msgstr "%s: Oväntat filslut i %s-fil\n"
+
+#: text-utils/pg.c:937
+#, c-format
+msgid "%s: Unknown error in %s file\n"
+msgstr "%s: Okänt fel i %s-fil\n"
+
+#: text-utils/pg.c:1032
+#, c-format
+msgid "%s: Cannot create tempfile\n"
+msgstr "%s: Kan inte skapa temporär fil\n"
+
+#: text-utils/pg.c:1041 text-utils/pg.c:1216 text-utils/pg.c:1243
+msgid "RE error: "
+msgstr "RE-fel: "
+
+#: text-utils/pg.c:1198
+msgid "(EOF)"
+msgstr "(Filslut)"
+
+#: text-utils/pg.c:1224 text-utils/pg.c:1251
+msgid "No remembered search string"
+msgstr "Ingen ihågkommen söksträng"
+
+#: text-utils/pg.c:1307
+msgid "Cannot open "
+msgstr "Kan inte öppna "
+
+#: text-utils/pg.c:1355
+msgid "saved"
+msgstr "sparad"
+
+#: text-utils/pg.c:1462
+msgid ": !command not allowed in rflag mode.\n"
+msgstr ": !kommando inte tillåtet i rflag-läge.\n"
+
+#: text-utils/pg.c:1494
+msgid "fork() failed, try again later\n"
+msgstr "fork() misslyckades, försök igen senare\n"
+
+#: text-utils/pg.c:1702
+msgid "(Next file: "
+msgstr "(Nästa fil: "
+
+#: text-utils/rev.c:113
+#, fuzzy
+msgid "unable to allocate bufferspace"
+msgstr "Kan inte allokera buffertutrymme\n"
+
+#: text-utils/rev.c:143
+#, c-format
+msgid "usage: rev [file ...]\n"
+msgstr "användning: rev [fil ...]\n"
+
+#: text-utils/tailf.c:57 text-utils/tailf.c:92
+#, fuzzy, c-format
+msgid "cannot open \"%s\" for read"
+msgstr "Kan inte öppna \"%s\" för läsning\n"
+
+#: text-utils/tailf.c:95 text-utils/tailf.c:214
+#, fuzzy, c-format
+msgid "cannot stat \"%s\""
+msgstr "kan inte ta status på enheten %s"
+
+#: text-utils/tailf.c:108
+#, c-format
+msgid "incomplete write to \"%s\" (written %zd, expected %zd)\n"
+msgstr ""
+
+#: text-utils/tailf.c:146
+#, c-format
+msgid "%s: cannot add inotify watch (limit of inotify watches was reached)."
+msgstr ""
+
+#: text-utils/tailf.c:150
+#, c-format
+msgid "%s: cannot add inotify watch."
+msgstr ""
+
+#: text-utils/tailf.c:159
+#, fuzzy, c-format
+msgid "%s: cannot read inotify events"
+msgstr "%s: kan inte öppna %s\n"
+
+#: text-utils/tailf.c:198 text-utils/tailf.c:202
+#, fuzzy
+msgid "invalid number of lines"
+msgstr "Ogiltigt tal: %s\n"
+
+#: text-utils/tailf.c:209
+#, fuzzy
+msgid "usage: tailf [-n N | -N] logfile"
+msgstr "Användning: tailf loggfil\n"
+
+#: text-utils/ul.c:141
+#, c-format
+msgid "usage: %s [ -i ] [ -tTerm ] file...\n"
+msgstr "användning: %s [ -i ] [ -tTerminal ] fil...\n"
+
+#: text-utils/ul.c:152
+#, c-format
+msgid "trouble reading terminfo"
+msgstr "problem vid läsning av terminfo"
+
+#: text-utils/ul.c:242
+#, c-format
+msgid "Unknown escape sequence in input: %o, %o\n"
+msgstr "Okänd inbäddningssekvens i indata: %o, %o\n"
+
+#: text-utils/ul.c:425
+#, c-format
+msgid "Unable to allocate buffer.\n"
+msgstr "Kan inte allokera buffert.\n"
+
+#: text-utils/ul.c:586
+#, c-format
+msgid "Input line too long.\n"
+msgstr "Indataraden är för lång.\n"
+
+#: text-utils/ul.c:599
+#, c-format
+msgid "Out of memory when growing buffer.\n"
+msgstr "Slut på minne vid växande av buffert.\n"
+
+#~ msgid "# partition table of %s\n"
+#~ msgstr "# partitionstabell för %s\n"
+
+#, 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: unable to get current directory - %s\n"
+#~ msgstr "namei: kunde inte få tag i aktuell katalog - %s\n"
+
+#~ msgid "namei: unable to chdir to %s - %s (%d)\n"
+#~ msgstr "namei: kunde inte byta katalog till %s - %s (%d)\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 "%s: cannot stat %s: %s\n"
+#~ msgstr "%s: kan inte ta status på %s: %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 "Autoconfigure failed.\n"
+#~ msgstr "Automatisk konfiguration misslyckades.\n"
+
+#~ 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 from %s%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: cannot find %s in %s"
+#~ msgstr "mount: kan inte hitta %s i %s"
+
+#~ 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: fs type %s not supported by kernel"
+#~ msgstr "mount: filsystemstypen %s stöds inte av kärnan"
+
+#~ 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 (file)
index 0000000..a273865
Binary files /dev/null and b/po/tr.gmo differ
diff --git a/po/tr.po b/po/tr.po
new file mode 100644 (file)
index 0000000..cd616f5
--- /dev/null
+++ b/po/tr.po
@@ -0,0 +1,12337 @@
+# 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: Karel Zak <kzak@redhat.com>\n"
+"POT-Creation-Date: 2009-11-30 16:27+0100\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"
+"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/blockdev.c:37
+msgid "set read-only"
+msgstr "salt-okunur ayarlanır"
+
+#: disk-utils/blockdev.c:38
+msgid "set read-write"
+msgstr "oku-yaz ayarlanır"
+
+#: disk-utils/blockdev.c:39
+msgid "get read-only"
+msgstr "salt-okunur ise 1 verir"
+
+#: disk-utils/blockdev.c:40
+msgid "get sectorsize"
+msgstr "sektör uzunluğunu verir"
+
+#: disk-utils/blockdev.c:41
+msgid "get blocksize"
+msgstr "blok uzunluğunu verir"
+
+#: disk-utils/blockdev.c:42
+msgid "set blocksize"
+msgstr "blok uzunluğu belirtilir"
+
+#: disk-utils/blockdev.c:43
+msgid "get 32-bit sector count"
+msgstr "32 bitlik sektör sayısını verir"
+
+#: disk-utils/blockdev.c:44
+msgid "get size in bytes"
+msgstr "boyutları bayt cinsinden verir"
+
+#: disk-utils/blockdev.c:45
+msgid "set readahead"
+msgstr "readahead ayarlanır - sektör sayısı ile"
+
+#: disk-utils/blockdev.c:46
+msgid "get readahead"
+msgstr "readahead okunur - sektör sayısı olarak"
+
+#: disk-utils/blockdev.c:47
+#, fuzzy
+msgid "set filesystem readahead"
+msgstr "readahead ayarlanır - sektör sayısı ile"
+
+#: disk-utils/blockdev.c:48
+#, fuzzy
+msgid "get filesystem readahead"
+msgstr "readahead okunur - sektör sayısı olarak"
+
+#: disk-utils/blockdev.c:49
+msgid "flush buffers"
+msgstr "tamponları boşaltır"
+
+#: disk-utils/blockdev.c:51
+msgid "reread partition table"
+msgstr "bölümleme tablosu yeniden okunur"
+
+#: disk-utils/blockdev.c:60
+#, c-format
+msgid "Usage:\n"
+msgstr "Kullanımı:\n"
+
+#: disk-utils/blockdev.c:62
+#, c-format
+msgid "  %s --report [devices]\n"
+msgstr "  %s --report [AYGITLAR]\n"
+
+#: disk-utils/blockdev.c:63
+#, c-format
+msgid "  %s [-v|-q] commands devices\n"
+msgstr "  %s [-v|-q] KOMUTLAR AYGITLAR\n"
+
+#: disk-utils/blockdev.c:66
+#, c-format
+msgid "Available commands:\n"
+msgstr "Mümkün komutlar:\n"
+
+#: disk-utils/blockdev.c:68
+#, fuzzy
+msgid "get size in 512-byte sectors"
+msgstr "boyutları bayt cinsinden verir"
+
+#: disk-utils/blockdev.c:201
+#, c-format
+msgid "%s: Unknown command: %s\n"
+msgstr "%s: Bilinmeyen komut: %s\n"
+
+#: disk-utils/blockdev.c:213 disk-utils/blockdev.c:222
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s bir argümanla kullanılır\n"
+
+#: disk-utils/blockdev.c:255
+#, fuzzy, c-format
+msgid "%s failed.\n"
+msgstr "erişim başarısız"
+
+#: disk-utils/blockdev.c:292
+#, c-format
+msgid "%s succeeded.\n"
+msgstr "%s başarıldı.\n"
+
+#: disk-utils/blockdev.c:310 disk-utils/blockdev.c:338
+#, c-format
+msgid "%s: cannot open %s\n"
+msgstr "%s: %s açılamıyor\n"
+
+#: disk-utils/blockdev.c:355
+#, c-format
+msgid "%s: ioctl error on %s\n"
+msgstr "%s: %s üzerinde G/Ç hatası\n"
+
+#: disk-utils/blockdev.c:364
+#, 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/elvtune.c:48
+#, c-format
+msgid "usage:\n"
+msgstr "kullanımı:\n"
+
+#: disk-utils/elvtune.c:53
+#, c-format
+msgid "\tNOTE: elvtune only works with 2.4 kernels\n"
+msgstr ""
+
+#: disk-utils/elvtune.c:104
+#, fuzzy, c-format
+msgid "parse error\n"
+msgstr "erişim hatası"
+
+#: disk-utils/elvtune.c:110
+#, 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:131
+#, 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:31
+#, c-format
+msgid "Formatting ... "
+msgstr "Biçemlendiriliyor..."
+
+#: disk-utils/fdformat.c:49 disk-utils/fdformat.c:86
+#, c-format
+msgid "done\n"
+msgstr "tamam\n"
+
+#: disk-utils/fdformat.c:60
+#, 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:80
+#, c-format
+msgid ""
+"bad data in cyl %d\n"
+"Continuing ... "
+msgstr ""
+"%d silindirinde veri hatalı\n"
+"Devam ediliyor..."
+
+#: disk-utils/fdformat.c:96
+#, c-format
+msgid "usage: %s [ -n ] device\n"
+msgstr "kullanımı: %s [ -n ] AYGIT\n"
+
+#: disk-utils/fdformat.c:118 disk-utils/fsck.minix.c:1282
+#: disk-utils/isosize.c:181 disk-utils/mkfs.bfs.c:115 disk-utils/mkfs.c:52
+#: disk-utils/mkfs.cramfs.c:813 disk-utils/mkfs.minix.c:571
+#: disk-utils/mkswap.c:461 misc-utils/ddate.c:179 misc-utils/rename.c:79
+#: misc-utils/script.c:147 sys-utils/readprofile.c:197
+#, c-format
+msgid "%s (%s)\n"
+msgstr "%s: (%s)\n"
+
+#: disk-utils/fdformat.c:132
+#, c-format
+msgid "%s: not a block device\n"
+msgstr "%s: bir blok aygıtı değil\n"
+
+#: disk-utils/fdformat.c:142
+msgid "Could not determine current format type"
+msgstr "mevcut biçem türü saptanamadı"
+
+#: disk-utils/fdformat.c:143
+#, 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:144
+msgid "Double"
+msgstr "Çift"
+
+#: disk-utils/fdformat.c:144
+msgid "Single"
+msgstr "Tek"
+
+#: disk-utils/fsck.cramfs.c:118
+#, c-format
+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"
+
+#: disk-utils/fsck.cramfs.c:164
+#, fuzzy, c-format
+msgid "stat failed: %s"
+msgstr "(Sonraki dosya: %s)"
+
+#: disk-utils/fsck.cramfs.c:168 disk-utils/fsck.cramfs.c:552
+#, fuzzy, c-format
+msgid "open failed: %s"
+msgstr "openpty başarısız\n"
+
+#: disk-utils/fsck.cramfs.c:173
+#, 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:181
+#, 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:185 disk-utils/fsck.cramfs.c:227
+#, fuzzy
+msgid "file length too short"
+msgstr "%s: geçersiz cramfs -- dosya uzunluğu çok küçük\n"
+
+#: disk-utils/fsck.cramfs.c:190 disk-utils/fsck.cramfs.c:198
+#: disk-utils/fsck.cramfs.c:259 disk-utils/fsck.cramfs.c:279
+#, fuzzy, c-format
+msgid "read failed: %s"
+msgstr "(Sonraki dosya: %s)"
+
+#: disk-utils/fsck.cramfs.c:208
+msgid "superblock magic not found"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:217
+#, fuzzy
+msgid "unsupported filesystem features"
+msgstr "Dosya sistemi türünü verin: "
+
+#: disk-utils/fsck.cramfs.c:220
+#, fuzzy, c-format
+msgid "superblock size (%d) too small"
+msgstr "Sektör sayısı"
+
+#: disk-utils/fsck.cramfs.c:224
+msgid "zero file count"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:230
+#, 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:234
+#, fuzzy, c-format
+msgid "warning: old cramfs format\n"
+msgstr "%s: uyarı -- eski cramfs eşlemi, CRC'siz\n"
+
+#: disk-utils/fsck.cramfs.c:247
+msgid "unable to test CRC: old cramfs format"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:273 disk-utils/fsck.cramfs.c:340
+#: disk-utils/fsck.cramfs.c:478 login-utils/chfn.c:529 login-utils/chsh.c:439
+#: sys-utils/cytune.c:321
+msgid "malloc failed"
+msgstr "bellek ayrılamadı"
+
+#: disk-utils/fsck.cramfs.c:298
+#, fuzzy
+msgid "crc error"
+msgstr ", hata"
+
+#: disk-utils/fsck.cramfs.c:365
+#, fuzzy
+msgid "root inode is not directory"
+msgstr "kök düğümü bir dizin değil"
+
+#: disk-utils/fsck.cramfs.c:370
+#, c-format
+msgid "bad root offset (%lu)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:388
+msgid "data block too large"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:392
+#, c-format
+msgid "decompression error %p(%d): %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:416
+#, fuzzy, c-format
+msgid "  hole at %ld (%zd)\n"
+msgstr "  %ld de delik (%d)\n"
+
+#: disk-utils/fsck.cramfs.c:424 disk-utils/fsck.cramfs.c:596
+#, 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:430
+#, fuzzy, c-format
+msgid "non-block (%ld) bytes"
+msgstr "%s: bloksuz (%ld) bayt\n"
+
+#: disk-utils/fsck.cramfs.c:434
+#, fuzzy, c-format
+msgid "non-size (%ld vs %ld) bytes"
+msgstr "%s: boyutsuz (%ld vs %ld) bayt\n"
+
+#: disk-utils/fsck.cramfs.c:440
+#, fuzzy, c-format
+msgid "write failed: %s"
+msgstr "(Sonraki dosya: %s)"
+
+#: disk-utils/fsck.cramfs.c:453
+#, fuzzy, c-format
+msgid "lchown failed: %s"
+msgstr "mount başarısız"
+
+#: disk-utils/fsck.cramfs.c:459
+#, fuzzy, c-format
+msgid "chown failed: %s"
+msgstr "mount başarısız"
+
+#: disk-utils/fsck.cramfs.c:466
+#, fuzzy, c-format
+msgid "utime failed: %s"
+msgstr "zaman aşımı değeri hatalı: %s"
+
+#: disk-utils/fsck.cramfs.c:481
+#, c-format
+msgid "directory inode has zero offset and non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:495
+#, fuzzy, c-format
+msgid "mkdir failed: %s"
+msgstr "/dev: chdir() başarısız: %m"
+
+#: disk-utils/fsck.cramfs.c:512
+msgid "filename length is zero"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:515
+msgid "bad filename length"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:522
+#, fuzzy
+msgid "bad inode offset"
+msgstr "düğüm sayısı hatalı"
+
+#: disk-utils/fsck.cramfs.c:538
+msgid "file inode has zero offset and non-zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:541
+msgid "file inode has zero size and non-zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:572
+msgid "symbolic link has zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:575
+msgid "symbolic link has zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:587
+#, fuzzy, c-format
+msgid "size error in symlink: %s"
+msgstr "%s: sembolik bağ `%s' üzerinde boyut hatası\n"
+
+#: disk-utils/fsck.cramfs.c:602
+#, fuzzy, c-format
+msgid "symlink failed: %s"
+msgstr "fsync hata verdi"
+
+#: disk-utils/fsck.cramfs.c:614
+#, c-format
+msgid "special file has non-zero offset: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:626
+#, c-format
+msgid "fifo has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:632
+#, c-format
+msgid "socket has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:637
+#, fuzzy, c-format
+msgid "bogus mode: %s (%o)"
+msgstr "%s: sahte kip `%s' (%o)\n"
+
+#: disk-utils/fsck.cramfs.c:647
+#, fuzzy, c-format
+msgid "mknod failed: %s"
+msgstr "mount başarısız"
+
+#: disk-utils/fsck.cramfs.c:683
+#, c-format
+msgid "directory data start (%ld) < sizeof(struct cramfs_super) + start (%ld)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:686
+#, 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:691
+#, fuzzy
+msgid "invalid file data offset"
+msgstr "%s: geçersiz cramfs -- geçersiz dosya verisi başlangıcı\n"
+
+#: disk-utils/fsck.cramfs.c:715
+#, fuzzy
+msgid "failed to allocate outbuffer"
+msgstr "Tampon ayrılamadı.\n"
+
+#: disk-utils/fsck.cramfs.c:728
+#, fuzzy
+msgid "compiled without -x support"
+msgstr "%s: -x desteği olmaksızın derlenmiş\n"
+
+#: disk-utils/fsck.minix.c:210
+#, c-format
+msgid "Usage: %s [-larvsmf] /dev/name\n"
+msgstr "kullanımı: %s [-larvsmf] /dev/İSİM\n"
+
+#: disk-utils/fsck.minix.c:326
+#, c-format
+msgid "%s is mounted.\t "
+msgstr "%s bağlı.\t"
+
+#: disk-utils/fsck.minix.c:328
+msgid "Do you really want to continue"
+msgstr "Gerçekten devam etmek istiyor musunuz?"
+
+#: disk-utils/fsck.minix.c:332
+#, c-format
+msgid "check aborted.\n"
+msgstr "denetim durdu.\n"
+
+#: disk-utils/fsck.minix.c:351 disk-utils/fsck.minix.c:374
+#, c-format
+msgid "Zone nr < FIRSTZONE in file `%s'."
+msgstr "`%s' dosyasındaki bölge No < İLKBÖLGE."
+
+#: disk-utils/fsck.minix.c:355 disk-utils/fsck.minix.c:378
+#, 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:360 disk-utils/fsck.minix.c:383
+msgid "Remove block"
+msgstr "blok kaldırılsın mı?"
+
+#: disk-utils/fsck.minix.c:401
+#, 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:407
+#, 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:422
+#, 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:428 disk-utils/mkfs.minix.c:209
+msgid "seek failed in write_block"
+msgstr "write_block işleminde erişim sağlanamadı"
+
+#: disk-utils/fsck.minix.c:431
+#, 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:547
+msgid "seek failed in write_super_block"
+msgstr "super-blok yazma işleminde erişim sağlanamadı"
+
+#: disk-utils/fsck.minix.c:549 disk-utils/mkfs.minix.c:196
+msgid "unable to write super-block"
+msgstr "super-bloka yazılamadı"
+
+#: disk-utils/fsck.minix.c:559
+msgid "Unable to write inode map"
+msgstr "düğüm eşlemi yazılamıyor"
+
+#: disk-utils/fsck.minix.c:561
+msgid "Unable to write zone map"
+msgstr "bölge tablosu yazılamıyor"
+
+#: disk-utils/fsck.minix.c:563
+msgid "Unable to write inodes"
+msgstr "Düğümler yazılamıyor"
+
+#: disk-utils/fsck.minix.c:590
+msgid "seek failed"
+msgstr "erişim başarısız"
+
+#: disk-utils/fsck.minix.c:592
+msgid "unable to read super block"
+msgstr "super blok okunamıyor"
+
+#: disk-utils/fsck.minix.c:610
+msgid "bad magic number in super-block"
+msgstr "super-bloktaki betimleyici numara hatalı"
+
+#: disk-utils/fsck.minix.c:612
+msgid "Only 1k blocks/zones supported"
+msgstr "Sadece 1k blok/bölge desteği var"
+
+#: disk-utils/fsck.minix.c:614
+msgid "bad s_imap_blocks field in super-block"
+msgstr "super-bloktaki s_imap_blocks alanı bozuk"
+
+#: disk-utils/fsck.minix.c:616
+msgid "bad s_zmap_blocks field in super-block"
+msgstr "super-bloktaki s_zmap_blocks alanı bozuk"
+
+#: disk-utils/fsck.minix.c:623
+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:626
+#, 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:631
+msgid "Unable to allocate buffer for inodes"
+msgstr "Düğümler için tampon bellek ayrılamıyor"
+
+#: disk-utils/fsck.minix.c:634
+msgid "Unable to allocate buffer for inode count"
+msgstr "Düğüm sayısı kadar tampon bellek ayrılamıyor"
+
+#: disk-utils/fsck.minix.c:637
+msgid "Unable to allocate buffer for zone count"
+msgstr "bölge sayısı kadar tampon bellek ayrılamıyor"
+
+#: disk-utils/fsck.minix.c:639
+msgid "Unable to read inode map"
+msgstr "Düğüm eşlemi okunamıyor"
+
+#: disk-utils/fsck.minix.c:641
+msgid "Unable to read zone map"
+msgstr "bölge tablosu okunamıyor"
+
+#: disk-utils/fsck.minix.c:643
+msgid "Unable to read inodes"
+msgstr "Düğümler okunamıyor"
+
+#: disk-utils/fsck.minix.c:645
+#, c-format
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr "Uyarı: İlkBölge != Norm_firstzone\n"
+
+#: disk-utils/fsck.minix.c:650 disk-utils/mkfs.minix.c:450
+#, c-format
+msgid "%ld inodes\n"
+msgstr "%ld düğüm\n"
+
+#: disk-utils/fsck.minix.c:651 disk-utils/mkfs.minix.c:451
+#, c-format
+msgid "%ld blocks\n"
+msgstr "%ld blok\n"
+
+#: disk-utils/fsck.minix.c:652 disk-utils/mkfs.minix.c:452
+#, c-format
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr "İlkVeriBölgesi = %ld (%ld)\n"
+
+#: disk-utils/fsck.minix.c:653 disk-utils/mkfs.minix.c:453
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr "BölgeUzunluğu = %d\n"
+
+#: disk-utils/fsck.minix.c:654
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr "AzamiUzunluk = %ld\n"
+
+#: disk-utils/fsck.minix.c:655
+#, c-format
+msgid "Filesystem state=%d\n"
+msgstr "DosyaSistemi durumu = %d\n"
+
+#: disk-utils/fsck.minix.c:656
+#, c-format
+msgid ""
+"namelen=%d\n"
+"\n"
+msgstr ""
+"isimUzunluğu = %d\n"
+"\n"
+
+#: disk-utils/fsck.minix.c:671 disk-utils/fsck.minix.c:722
+#, 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:675 disk-utils/fsck.minix.c:726
+msgid "Mark in use"
+msgstr "Kullanımda olarak imlensin mi?"
+
+#: disk-utils/fsck.minix.c:697 disk-utils/fsck.minix.c:746
+#, c-format
+msgid "The file `%s' has mode %05o\n"
+msgstr "`%s' %05o kipe sahip\n"
+
+#: disk-utils/fsck.minix.c:704 disk-utils/fsck.minix.c:752
+#, 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:764 disk-utils/fsck.minix.c:772
+msgid "root inode isn't a directory"
+msgstr "kök düğümü bir dizin değil"
+
+#: disk-utils/fsck.minix.c:786 disk-utils/fsck.minix.c:819
+#, 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:788 disk-utils/fsck.minix.c:821
+#: disk-utils/fsck.minix.c:1144 disk-utils/fsck.minix.c:1153
+#: disk-utils/fsck.minix.c:1199 disk-utils/fsck.minix.c:1208
+msgid "Clear"
+msgstr "Temizlensin mi?"
+
+#: disk-utils/fsck.minix.c:798 disk-utils/fsck.minix.c:831
+#, 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:800 disk-utils/fsck.minix.c:833
+msgid "Correct"
+msgstr "Doğru mu?"
+
+#: disk-utils/fsck.minix.c:972 disk-utils/fsck.minix.c:1039
+#, 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:975 disk-utils/fsck.minix.c:1042
+msgid " Remove"
+msgstr " Silinsin mi?"
+
+#: disk-utils/fsck.minix.c:989 disk-utils/fsck.minix.c:1056
+#, c-format
+msgid "%s: bad directory: '.' isn't first\n"
+msgstr "%s: dizin hatalı: '.' ilk değil\n"
+
+#: disk-utils/fsck.minix.c:997 disk-utils/fsck.minix.c:1065
+#, c-format
+msgid "%s: bad directory: '..' isn't second\n"
+msgstr "%s: dizin hatalı: '..' ikinci değil\n"
+
+#: disk-utils/fsck.minix.c:1099 disk-utils/fsck.minix.c:1117
+msgid "internal error"
+msgstr "iç hata"
+
+#: disk-utils/fsck.minix.c:1102 disk-utils/fsck.minix.c:1120
+#, c-format
+msgid "%s: bad directory: size < 32"
+msgstr "%s: dizin hatalı: uzunluk < 32"
+
+#: disk-utils/fsck.minix.c:1133
+msgid "seek failed in bad_zone"
+msgstr "bad_zone'da erişim başarısız"
+
+#: disk-utils/fsck.minix.c:1143 disk-utils/fsck.minix.c:1198
+#, c-format
+msgid "Inode %d mode not cleared."
+msgstr "%d.düğümde kip temiz değil."
+
+#: disk-utils/fsck.minix.c:1152 disk-utils/fsck.minix.c:1207
+#, c-format
+msgid "Inode %d 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:1158 disk-utils/fsck.minix.c:1213
+#, c-format
+msgid "Inode %d 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:1160 disk-utils/fsck.minix.c:1214
+msgid "Set"
+msgstr "İmlensin mi?"
+
+#: disk-utils/fsck.minix.c:1164 disk-utils/fsck.minix.c:1218
+#, c-format
+msgid "Inode %d (mode = %07o), i_nlinks=%d, counted=%d."
+msgstr "Düğüm %d (kip = %07o), i_nlinks = %d, sayılan = %d."
+
+#: disk-utils/fsck.minix.c:1166 disk-utils/fsck.minix.c:1220
+msgid "Set i_nlinks to count"
+msgstr "i_nlinks bu sayıya ayarlansın mı?"
+
+#: disk-utils/fsck.minix.c:1178 disk-utils/fsck.minix.c:1232
+#, c-format
+msgid "Zone %d: 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:1179 disk-utils/fsck.minix.c:1234
+msgid "Unmark"
+msgstr "İm kaldırılsın mı?"
+
+#: disk-utils/fsck.minix.c:1184 disk-utils/fsck.minix.c:1239
+#, c-format
+msgid "Zone %d: in use, counted=%d\n"
+msgstr "Bölge %d: kullanımda, sayılan = %d\n"
+
+#: disk-utils/fsck.minix.c:1187 disk-utils/fsck.minix.c:1242
+#, c-format
+msgid "Zone %d: not in use, counted=%d\n"
+msgstr "Bölge %d: kullanım dışı, sayılan = %d\n"
+
+#: disk-utils/fsck.minix.c:1287 disk-utils/mkfs.minix.c:576
+#: disk-utils/mkfs.minix.c:578
+msgid "bad inode size"
+msgstr "düğüm sayısı hatalı"
+
+#: disk-utils/fsck.minix.c:1289
+msgid "bad v2 inode size"
+msgstr "v2 düğüm sayısı hatalı"
+
+#: disk-utils/fsck.minix.c:1315
+msgid "need terminal for interactive repairs"
+msgstr "etkileşimli onarım için terminal gerekli"
+
+#: disk-utils/fsck.minix.c:1319
+#, fuzzy, c-format
+msgid "unable to open '%s': %s"
+msgstr "'%s' açılamıyor"
+
+#: disk-utils/fsck.minix.c:1334
+#, c-format
+msgid "%s is clean, no check.\n"
+msgstr "%s temiz, denetim gereksiz.\n"
+
+#: disk-utils/fsck.minix.c:1338
+#, c-format
+msgid "Forcing filesystem check on %s.\n"
+msgstr "%s için dosya sistemi denetimi şart.\n"
+
+#: disk-utils/fsck.minix.c:1340
+#, 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:1373
+#, c-format
+msgid ""
+"\n"
+"%6ld inodes used (%ld%%)\n"
+msgstr ""
+"\n"
+"%6ld düğüm kullanımda (%%%ld)\n"
+
+#: disk-utils/fsck.minix.c:1378
+#, c-format
+msgid "%6ld zones used (%ld%%)\n"
+msgstr "%6ld bölge kullanımda (%%%ld)\n"
+
+#: disk-utils/fsck.minix.c:1380
+#, 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:1393
+#, 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
+#, c-format
+msgid "%s: failed to open: %s\n"
+msgstr "%s: açılamıyor: %s\n"
+
+#: disk-utils/isosize.c:135
+#, c-format
+msgid "%s: seek error on %s\n"
+msgstr "%s: %s üzerinde erişim hatası\n"
+
+#: disk-utils/isosize.c:141
+#, c-format
+msgid "%s: read error on %s\n"
+msgstr "%s: %s üzerinde okuma hatası\n"
+
+#: disk-utils/isosize.c:150
+#, 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:200
+#, c-format
+msgid "%s: option parse error\n"
+msgstr "%s: seçenek çözümleme hatası\n"
+
+#: disk-utils/isosize.c:208
+#, c-format
+msgid "Usage: %s [-x] [-d <num>] iso9660-image\n"
+msgstr "Kullanımı: %s [-x] [-d <num>] iso9660-image\n"
+
+#: disk-utils/mkfs.bfs.c:84
+#, c-format
+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"
+
+#: disk-utils/mkfs.bfs.c:131
+msgid "volume name too long"
+msgstr "bölüm ismi çok uzun"
+
+#: disk-utils/mkfs.bfs.c:138
+msgid "fsname name too long"
+msgstr "dosya sistemi ismi çok uzun"
+
+#: disk-utils/mkfs.bfs.c:163
+#, c-format
+msgid "cannot stat device %s"
+msgstr "%s aygıtının durum bilgisi alınamıyor"
+
+#: disk-utils/mkfs.bfs.c:167
+#, c-format
+msgid "%s is not a block special device"
+msgstr "%s bir blok-özel aygıt değil"
+
+#: disk-utils/mkfs.bfs.c:172 sys-utils/ldattach.c:205
+#, c-format
+msgid "cannot open %s"
+msgstr "%s açılamıyor"
+
+#: disk-utils/mkfs.bfs.c:183
+#, c-format
+msgid "cannot get size of %s"
+msgstr "%s uzunluğu alınamıyor"
+
+#: disk-utils/mkfs.bfs.c:188
+#, 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:203
+msgid "too many inodes - max is 512"
+msgstr "düğüm sayısı çok fazla - en çok 512"
+
+#: disk-utils/mkfs.bfs.c:212
+#, 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:224 fdisk/fdisk.c:2345
+#, c-format
+msgid "Device: %s\n"
+msgstr "Aygıt: %s\n"
+
+#: disk-utils/mkfs.bfs.c:225
+#, c-format
+msgid "Volume: <%-6s>\n"
+msgstr "Bölüm: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:226
+#, c-format
+msgid "FSname: <%-6s>\n"
+msgstr "DSismi:<%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:227
+#, c-format
+msgid "BlockSize: %d\n"
+msgstr "BlokUzunl: %d\n"
+
+#: disk-utils/mkfs.bfs.c:229
+#, c-format
+msgid "Inodes: %d (in 1 block)\n"
+msgstr "Düğüm sayısı: %d (1 blokta)\n"
+
+#: disk-utils/mkfs.bfs.c:232
+#, fuzzy, c-format
+msgid "Inodes: %d (in %lld blocks)\n"
+msgstr "Düğüm sayısı: %d (%ld blokta)\n"
+
+#: disk-utils/mkfs.bfs.c:234
+#, fuzzy, c-format
+msgid "Blocks: %lld\n"
+msgstr "Blok #: %ld\n"
+
+#: disk-utils/mkfs.bfs.c:235
+#, c-format
+msgid "Inode end: %d, Data end: %d\n"
+msgstr "Son düğüm: %d, Veri sonu: %d\n"
+
+#: disk-utils/mkfs.bfs.c:240
+msgid "error writing superblock"
+msgstr "süperblok yazılırken hata"
+
+#: disk-utils/mkfs.bfs.c:260
+msgid "error writing root inode"
+msgstr "kök düğümü yazılırken hata"
+
+#: disk-utils/mkfs.bfs.c:265
+msgid "error writing inode"
+msgstr "düğüm yazılırken hata"
+
+#: disk-utils/mkfs.bfs.c:268
+msgid "seek error"
+msgstr "erişim hatası"
+
+#: disk-utils/mkfs.bfs.c:274
+msgid "error writing . entry"
+msgstr " . girdisi yazılırken hata"
+
+#: disk-utils/mkfs.bfs.c:278
+msgid "error writing .. entry"
+msgstr " .. girdisi yazılırken hata"
+
+#: disk-utils/mkfs.bfs.c:282
+#, c-format
+msgid "error closing %s"
+msgstr "%s kapatılırken hata"
+
+#: disk-utils/mkfs.c:73
+#, c-format
+msgid "Usage: mkfs [-V] [-t fstype] [fs-options] device [size]\n"
+msgstr ""
+"Kullanımı: mkfs [-V] [-t dsySistTürü] [dsySist-seçenekleri] aygıt [uzunluk]\n"
+
+#: disk-utils/mkfs.c:88 disk-utils/mkfs.c:96 fdisk/cfdisk.c:351
+#: getopt/getopt.c:86 getopt/getopt.c:96 login-utils/wall.c:246
+#, c-format
+msgid "%s: Out of memory!\n"
+msgstr "%s: Bellek yetersiz!\n"
+
+#: disk-utils/mkfs.c:103
+#, c-format
+msgid "mkfs (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: disk-utils/mkfs.cramfs.c:126
+#, 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:340
+#, fuzzy, c-format
+msgid ""
+"Very long (%zu bytes) filename `%s' found.\n"
+" Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile.  Exiting.\n"
+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:472
+#, c-format
+msgid "filesystem too big.  Exiting.\n"
+msgstr "dosya sistemi çok büyük.  Çıklıyor.\n"
+
+#: disk-utils/mkfs.cramfs.c:637
+#, 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:656
+#, fuzzy, c-format
+msgid "%6.2f%% (%+ld bytes)\t%s\n"
+msgstr "%%%6.2f (%+d bayt)\t%s\n"
+
+#: disk-utils/mkfs.cramfs.c:854
+#, fuzzy, c-format
+msgid ""
+"warning: guestimate of required size (upper bound) is %lldMB, but maximum "
+"image size is %uMB.  We might die prematurely.\n"
+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:881
+msgid "ROM image map"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:895
+#, c-format
+msgid "Including: %s\n"
+msgstr "İçeriği: %s\n"
+
+#: disk-utils/mkfs.cramfs.c:901
+#, fuzzy, c-format
+msgid "Directory data: %zd bytes\n"
+msgstr "Dizin verisi: %d bayt\n"
+
+#: disk-utils/mkfs.cramfs.c:909
+#, fuzzy, c-format
+msgid "Everything: %zd kilobytes\n"
+msgstr "Hepsi: %d kB\n"
+
+#: disk-utils/mkfs.cramfs.c:914
+#, fuzzy, c-format
+msgid "Super block: %zd bytes\n"
+msgstr "Süper blok: %d bayt\n"
+
+#: disk-utils/mkfs.cramfs.c:921
+#, c-format
+msgid "CRC: %x\n"
+msgstr "CRC: %x\n"
+
+#: disk-utils/mkfs.cramfs.c:926
+#, fuzzy, c-format
+msgid "not enough space allocated for ROM image (%lld allocated, %zu used)\n"
+msgstr ""
+"ROM bellekeşlemi için ayrılan alan yetersiz (%Ld ayrıldı, %d kullanıldı)\n"
+
+#: disk-utils/mkfs.cramfs.c:934
+msgid "ROM image"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:938
+#, fuzzy, c-format
+msgid "ROM image write failed (%zd %zd)\n"
+msgstr "ROM bellekeşlemi yazmada hata (%d %d)\n"
+
+#: disk-utils/mkfs.cramfs.c:947
+#, c-format
+msgid "warning: filenames truncated to 255 bytes.\n"
+msgstr "uyarı: dosya isimleri 255 bayt olarak kısaltıldı.\n"
+
+#: disk-utils/mkfs.cramfs.c:950
+#, c-format
+msgid "warning: files were skipped due to errors.\n"
+msgstr "uyarı: hatalardan dolayı dosyalar atlandı.\n"
+
+#: disk-utils/mkfs.cramfs.c:953
+#, c-format
+msgid "warning: file sizes truncated to %luMB (minus 1 byte).\n"
+msgstr "uyarı: dosya boyutları %luMB'a düşürüldü (eksi 1 bayt).\n"
+
+#: disk-utils/mkfs.cramfs.c:958
+#, c-format
+msgid ""
+"warning: uids truncated to %u bits.  (This may be a security concern.)\n"
+msgstr ""
+"uyarı: kullanıcı kimlikleri %u bite düşürüldü. (Bu bir güvenlik kaygısı "
+"olabilir.)\n"
+
+#: disk-utils/mkfs.cramfs.c:963
+#, c-format
+msgid ""
+"warning: gids truncated to %u bits.  (This may be a security concern.)\n"
+msgstr ""
+"uyarı: grup kimlikleri %u bite düşürüldü. (Bu bir güvenlik kaygısı "
+"olabilir.)\n"
+
+#: disk-utils/mkfs.cramfs.c:968
+#, c-format
+msgid ""
+"WARNING: device numbers truncated to %u bits.  This almost certainly means\n"
+"that some device files will be wrong.\n"
+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:156
+#, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]\n"
+msgstr ""
+"Kullanımı: %s [-c | -l dosyaismi] [-nXX] [-iXX] /dev/isim [blokSayısı]\n"
+
+#: disk-utils/mkfs.minix.c:180
+#, 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:190
+msgid "seek to boot block failed in write_tables"
+msgstr "write_tables içinde başlatma bloğuna erişilemedi"
+
+#: disk-utils/mkfs.minix.c:192
+msgid "unable to clear boot sector"
+msgstr "başlatma sektörü temizlenemiyor"
+
+#: disk-utils/mkfs.minix.c:194
+msgid "seek failed in write_tables"
+msgstr "write_tables içinde erişim başarısız"
+
+#: disk-utils/mkfs.minix.c:198
+msgid "unable to write inode map"
+msgstr "düğüm eşlemi yazılamıyor"
+
+#: disk-utils/mkfs.minix.c:200
+msgid "unable to write zone map"
+msgstr "bölge tablosu yazılamıyor"
+
+#: disk-utils/mkfs.minix.c:202
+msgid "unable to write inodes"
+msgstr "düğümler yazılamıyor"
+
+#: disk-utils/mkfs.minix.c:211
+msgid "write failed in write_block"
+msgstr "write_block içine yazma başarısız"
+
+#: disk-utils/mkfs.minix.c:219 disk-utils/mkfs.minix.c:293
+#: disk-utils/mkfs.minix.c:342
+msgid "too many bad blocks"
+msgstr "çok fazla hatalı blok var"
+
+#: disk-utils/mkfs.minix.c:227
+msgid "not enough good blocks"
+msgstr "iyi bloklar yetersiz"
+
+#: disk-utils/mkfs.minix.c:439
+msgid "unable to allocate buffers for maps"
+msgstr "tablolar için tampon bellek ayrılamıyor"
+
+#: disk-utils/mkfs.minix.c:448
+msgid "unable to allocate buffer for inodes"
+msgstr "düğümler için tampon bellek ayrılamıyor"
+
+#: disk-utils/mkfs.minix.c:454
+#, c-format
+msgid ""
+"Maxsize=%ld\n"
+"\n"
+msgstr ""
+"Azamiuzunluk = %ld\n"
+"\n"
+
+#: disk-utils/mkfs.minix.c:468
+msgid "seek failed during testing of blocks"
+msgstr "bloklar denetlenirken erişim başarısız"
+
+#: disk-utils/mkfs.minix.c:476
+#, 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:507 disk-utils/mkswap.c:313
+msgid "seek failed in check_blocks"
+msgstr "check_blocks işleminde erişim başarısız"
+
+#: disk-utils/mkfs.minix.c:516
+msgid "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:522 disk-utils/mkfs.minix.c:547
+#, c-format
+msgid "%d bad blocks\n"
+msgstr "%d bozuk blok\n"
+
+#: disk-utils/mkfs.minix.c:524 disk-utils/mkfs.minix.c:549
+#, c-format
+msgid "one bad block\n"
+msgstr "bir bozuk blok\n"
+
+#: disk-utils/mkfs.minix.c:534
+msgid "can't open file of bad blocks"
+msgstr "bozuk bloklar dosyası açılamıyor"
+
+#: disk-utils/mkfs.minix.c:538
+#, c-format
+msgid "badblock number input error on line %d\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:539
+#, fuzzy
+msgid "cannot read badblocks file"
+msgstr "Disk sürücüsü okunamıyor"
+
+#: disk-utils/mkfs.minix.c:619
+#, c-format
+msgid "strtol error: number of blocks not specified"
+msgstr "strtol hatası: blok sayısı belirtilmemiş"
+
+#: disk-utils/mkfs.minix.c:638
+#, c-format
+msgid "unable to stat %s"
+msgstr "%s durum bilgileri alınamıyor"
+
+#: disk-utils/mkfs.minix.c:644
+#, c-format
+msgid "unable to open %s"
+msgstr "%s açılamıyor"
+
+#: disk-utils/mkfs.minix.c:649
+#, fuzzy, c-format
+msgid "cannot determine sector size for %s"
+msgstr "%s uzunluğu alınamıyor"
+
+#: disk-utils/mkfs.minix.c:651
+#, c-format
+msgid "block size smaller than physical sector size of %s"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:654
+#, fuzzy, c-format
+msgid "cannot determine size of %s"
+msgstr "%s uzunluğu alınamıyor"
+
+#: disk-utils/mkfs.minix.c:662
+#, 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:664
+#, fuzzy
+msgid "number of blocks too small"
+msgstr "Sektör sayısı"
+
+#: disk-utils/mkswap.c:155
+#, c-format
+msgid "Bad user-specified page size %d\n"
+msgstr "kullanıcı tarafından belirtilen sayfa uzunluğu %d hatalı\n"
+
+#: disk-utils/mkswap.c:163
+#, fuzzy, c-format
+msgid "Using user-specified page size %d, instead of the system value %d\n"
+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:192
+#, c-format
+msgid "Bad swap header size, no label written.\n"
+msgstr "Takas başlığı uzunluğu hatalı, bir etiket yazılmamış.\n"
+
+#: disk-utils/mkswap.c:202
+#, c-format
+msgid "Label was truncated.\n"
+msgstr "Etiket kısaltıldı.\n"
+
+#: disk-utils/mkswap.c:208
+#, c-format
+msgid "no label, "
+msgstr "bir etiket yok, "
+
+#: disk-utils/mkswap.c:216
+#, c-format
+msgid "no uuid\n"
+msgstr "UUID yok\n"
+
+#: disk-utils/mkswap.c:281
+#, fuzzy, c-format
+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"
+
+#: disk-utils/mkswap.c:295
+msgid "too many bad pages"
+msgstr "çok fazla bozuk sayfa var"
+
+#: disk-utils/mkswap.c:308 misc-utils/look.c:182 misc-utils/setterm.c:1183
+#: text-utils/more.c:1982 text-utils/more.c:1993
+msgid "Out of memory"
+msgstr "Bellek yetersiz"
+
+#: disk-utils/mkswap.c:319
+#, c-format
+msgid "one bad page\n"
+msgstr "1 bozuk sayfa\n"
+
+#: disk-utils/mkswap.c:321
+#, c-format
+msgid "%lu bad pages\n"
+msgstr "%lu bozuk sayfa\n"
+
+#: disk-utils/mkswap.c:399 disk-utils/mkswap.c:415 disk-utils/mkswap.c:633
+msgid "unable to rewind swap-device"
+msgstr "takas alanında başa gidilemiyor"
+
+#: disk-utils/mkswap.c:419
+#, fuzzy
+msgid "unable to erase bootbits sectors"
+msgstr "başlatma sektörü temizlenemiyor"
+
+#: disk-utils/mkswap.c:423
+#, c-format
+msgid "%s: %s: warning: don't erase bootbits sectors\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:426
+#, fuzzy, c-format
+msgid "        (%s partition table detected). "
+msgstr "   p   BSD disk bölümleme tablosunu gösterir"
+
+#: disk-utils/mkswap.c:428
+#, fuzzy, c-format
+msgid "        on whole disk. "
+msgstr "   s   disk etiketinin tamamını gösterir"
+
+#: disk-utils/mkswap.c:498
+#, c-format
+msgid "%1$s: warning: ignore -U (UUIDs are unsupported by %1$s)\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:514
+#, fuzzy, c-format
+msgid "%s: does not support swapspace version %d.\n"
+msgstr "%s: hata: sürüm %d bilinmiyor\n"
+
+#: disk-utils/mkswap.c:522
+#, fuzzy
+msgid "error: UUID parsing failed"
+msgstr ""
+"\n"
+"Dosya kapatılırken hata\n"
+
+#: disk-utils/mkswap.c:533
+#, c-format
+msgid "%s: error: Nowhere to set up swap on?\n"
+msgstr "%s: hata: Takas alanını koyacak yer yok mu?\n"
+
+#: disk-utils/mkswap.c:551
+#, fuzzy, c-format
+msgid "%s: error: size %llu KiB is larger than device size %llu KiB\n"
+msgstr "%s: hata: %lu aygıtın boyutundan büyük (%lu)\n"
+
+#: disk-utils/mkswap.c:560
+#, fuzzy, c-format
+msgid "%s: error: swap area needs to be at least %ld KiB\n"
+msgstr "%s: hata: takas alanı için en az %ldkB gerekiyor\n"
+
+#: disk-utils/mkswap.c:577
+#, fuzzy, c-format
+msgid "%s: warning: truncating swap area to %llu KiB\n"
+msgstr "%s: uyarı: takas alanı %ldkB ile sınırlanıyor\n"
+
+#: disk-utils/mkswap.c:600
+#, fuzzy, c-format
+msgid "%s: error: will not try to make swapdevice on '%s'\n"
+msgstr "'%s' üzerinde takas aygıtı oluşturulmayacak"
+
+#: disk-utils/mkswap.c:606
+#, fuzzy, c-format
+msgid "%s: error: %s is mounted; will not make swapspace.\n"
+msgstr "%s bağlı; burada bir dosya sistemi yapılmayacak!"
+
+#: disk-utils/mkswap.c:622
+msgid "Unable to set up swap-space: unreadable"
+msgstr "Takas alanı oluşturulamıyor: okunabilir değil"
+
+#: disk-utils/mkswap.c:625
+#, 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:636
+#, fuzzy, c-format
+msgid "%s: %s: unable to write signature page: %s"
+msgstr "imza sayfası yazılamıyor"
+
+#: disk-utils/mkswap.c:647
+msgid "fsync failed"
+msgstr "fsync hata verdi"
+
+#: disk-utils/mkswap.c:658
+#, c-format
+msgid "%s: %s: unable to obtain selinux file label: %s\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:664
+#, fuzzy
+msgid "unable to matchpathcon()"
+msgstr "%s durum bilgileri alınamıyor"
+
+#: disk-utils/mkswap.c:667
+#, fuzzy
+msgid "unable to create new selinux context"
+msgstr "düğümler yazılamıyor"
+
+#: disk-utils/mkswap.c:669
+msgid "couldn't compute selinux context"
+msgstr ""
+
+#: disk-utils/mkswap.c:675
+#, fuzzy, c-format
+msgid "%s: unable to relabel %s to %s: %s\n"
+msgstr "%s %s olarak değiştirilemiyor: %s\n"
+
+#: disk-utils/raw.c:50
+#, fuzzy, c-format
+msgid ""
+"Usage:\n"
+"  %s "
+msgstr "Kullanımı:\n"
+
+#: disk-utils/raw.c:125
+#, c-format
+msgid ""
+"Device '%s' is control raw dev (use raw<N> where <N> is greater than zero)\n"
+msgstr ""
+
+#: disk-utils/raw.c:145
+#, fuzzy, c-format
+msgid "Cannot locate block device '%s' (%s)\n"
+msgstr "%s kilit dosyası kilitlenemiyor: %s\n"
+
+#: disk-utils/raw.c:151
+#, fuzzy, c-format
+msgid "Device '%s' is not a block dev\n"
+msgstr "Uyarı: %s bir blok aygıtı değil\n"
+
+#: disk-utils/raw.c:186
+#, fuzzy, c-format
+msgid "Cannot open master raw device '"
+msgstr "%s aygıtının durum bilgisi alınamıyor"
+
+#: disk-utils/raw.c:205
+#, fuzzy, c-format
+msgid "Cannot locate raw device '%s' (%s)\n"
+msgstr "%s aygıtının durum bilgisi alınamıyor"
+
+#: disk-utils/raw.c:211
+#, fuzzy, c-format
+msgid "Raw device '%s' is not a character dev\n"
+msgstr "/dev/%s: bir karakter aygıtı değil"
+
+#: disk-utils/raw.c:216
+#, fuzzy, c-format
+msgid "Device '%s' is not a raw dev\n"
+msgstr "%s bir blok-özel aygıt değil"
+
+#: disk-utils/raw.c:231
+#, c-format
+msgid "Error querying raw device (%s)\n"
+msgstr ""
+
+#: disk-utils/raw.c:241 disk-utils/raw.c:261
+#, c-format
+msgid "raw%d:\tbound to major %d, minor %d\n"
+msgstr ""
+
+#: disk-utils/raw.c:257
+#, fuzzy, c-format
+msgid "Error setting raw device (%s)\n"
+msgstr "servis durdurulurken hata: \"%s\""
+
+#: fdisk/cfdisk.c:376 fdisk/cfdisk.c:2080
+msgid "Unusable"
+msgstr "Kullanışsız"
+
+#: fdisk/cfdisk.c:378 fdisk/cfdisk.c:2082
+msgid "Free Space"
+msgstr "Boş Alan"
+
+#: fdisk/cfdisk.c:381
+msgid "Linux ext2"
+msgstr "Linux ext2"
+
+#: fdisk/cfdisk.c:383
+msgid "Linux ext3"
+msgstr "Linux ext3"
+
+#: fdisk/cfdisk.c:385
+msgid "Linux XFS"
+msgstr "Linux XFS"
+
+#: fdisk/cfdisk.c:387
+msgid "Linux JFS"
+msgstr "Linux JFS"
+
+#: fdisk/cfdisk.c:389
+msgid "Linux ReiserFS"
+msgstr "Linux ReiserFS"
+
+#: fdisk/cfdisk.c:391 fdisk/i386_sys_types.c:57
+msgid "Linux"
+msgstr "Linux"
+
+#: fdisk/cfdisk.c:394
+msgid "OS/2 HPFS"
+msgstr "OS/2 HPFS"
+
+#: fdisk/cfdisk.c:396
+msgid "OS/2 IFS"
+msgstr "OS/2 IFS"
+
+#: fdisk/cfdisk.c:400
+msgid "NTFS"
+msgstr "NTFS"
+
+#: fdisk/cfdisk.c:411
+#, c-format
+msgid "Disk has been changed.\n"
+msgstr "Disk değiştirildi.\n"
+
+#: fdisk/cfdisk.c:413
+#, 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"
+
+#: fdisk/cfdisk.c:417
+#, 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"
+
+#: fdisk/cfdisk.c:512
+msgid "FATAL ERROR"
+msgstr "ÖLÜMCÜL HATA"
+
+#: fdisk/cfdisk.c:513
+msgid "Press any key to exit cfdisk"
+msgstr "cfdisk'ten çıkmak için herhangi bir tuşa basınız"
+
+#: fdisk/cfdisk.c:560 fdisk/cfdisk.c:568
+msgid "Cannot seek on disk drive"
+msgstr "Disk sürücü üzerinde arama yapılamıyor"
+
+#: fdisk/cfdisk.c:562
+msgid "Cannot read disk drive"
+msgstr "Disk sürücüsü okunamıyor"
+
+#: fdisk/cfdisk.c:570
+msgid "Cannot write disk drive"
+msgstr "Disk sürücüsüne yazılamıyor"
+
+#: fdisk/cfdisk.c:913
+msgid "Too many partitions"
+msgstr "Disk bölümü sayısı çok fazla"
+
+#: fdisk/cfdisk.c:918
+msgid "Partition begins before sector 0"
+msgstr "Disk bölümü sıfırıncı sektörden önce başlıyor"
+
+#: fdisk/cfdisk.c:923
+msgid "Partition ends before sector 0"
+msgstr "Disk bölümü sıfırıncı sektörden önce bitiyor"
+
+#: fdisk/cfdisk.c:928
+msgid "Partition begins after end-of-disk"
+msgstr "Disk bölümü disk sonundan sonra başlıyor"
+
+#: fdisk/cfdisk.c:933
+msgid "Partition ends after end-of-disk"
+msgstr "Disk bölümü disk sonundan sonra bitiyor"
+
+#: fdisk/cfdisk.c:938
+msgid "Partition ends in the final partial cylinder"
+msgstr "Disk bölümü son kısmî silindir içinde bitiyor"
+
+#: fdisk/cfdisk.c:962
+msgid "logical partitions not in disk order"
+msgstr "mantıksal bölümler sıralamaya uygun değil"
+
+#: fdisk/cfdisk.c:965
+msgid "logical partitions overlap"
+msgstr "mantıksal bölümler içiçe geçmiş"
+
+#: fdisk/cfdisk.c:969
+msgid "enlarged logical partitions overlap"
+msgstr "büyütülen mantıksal bölümler içiçe geçiyor"
+
+#: fdisk/cfdisk.c:999
+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 !!!!"
+
+#: fdisk/cfdisk.c:1010 fdisk/cfdisk.c:1022
+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ı"
+
+#: fdisk/cfdisk.c:1164
+msgid "Menu item too long. Menu may look odd."
+msgstr "Menü öğesi çok uzun. Menü tuhaf görünebilir."
+
+#: fdisk/cfdisk.c:1220
+#, fuzzy
+msgid "Menu without direction. Defaulting to horizontal."
+msgstr "Menü yönsüz. Yatay olarak öntanımlanıyor."
+
+#: fdisk/cfdisk.c:1351
+msgid "Illegal key"
+msgstr "Kuraldışı tuş"
+
+#: fdisk/cfdisk.c:1374
+msgid "Press a key to continue"
+msgstr "Devam etmek için bir tuşa basınız"
+
+#: fdisk/cfdisk.c:1421 fdisk/cfdisk.c:2051 fdisk/cfdisk.c:2583
+#: fdisk/cfdisk.c:2585
+msgid "Primary"
+msgstr "Birincil"
+
+#: fdisk/cfdisk.c:1421
+msgid "Create a new primary partition"
+msgstr "Yeni birincil disk bölümü oluşturur"
+
+#: fdisk/cfdisk.c:1422 fdisk/cfdisk.c:2051 fdisk/cfdisk.c:2582
+#: fdisk/cfdisk.c:2585
+msgid "Logical"
+msgstr "Mantıksal"
+
+#: fdisk/cfdisk.c:1422
+msgid "Create a new logical partition"
+msgstr "Yeni mantıksal disk bölümü oluşturur"
+
+#: fdisk/cfdisk.c:1423 fdisk/cfdisk.c:1478 fdisk/cfdisk.c:2256
+msgid "Cancel"
+msgstr "Vazgeç"
+
+#: fdisk/cfdisk.c:1423 fdisk/cfdisk.c:1478
+msgid "Don't create a partition"
+msgstr "Bir disk bölümü oluşturulmaz"
+
+#: fdisk/cfdisk.c:1439
+msgid "!!! Internal error !!!"
+msgstr "!!! İç hata !!!"
+
+#: fdisk/cfdisk.c:1442
+msgid "Size (in MB): "
+msgstr "Alan (MB):"
+
+#: fdisk/cfdisk.c:1476
+msgid "Beginning"
+msgstr "Başlangıç"
+
+#: fdisk/cfdisk.c:1476
+msgid "Add partition at beginning of free space"
+msgstr "Disk bölümünü boş alanın başlangıcına ekler"
+
+#: fdisk/cfdisk.c:1477
+msgid "End"
+msgstr "Son"
+
+#: fdisk/cfdisk.c:1477
+msgid "Add partition at end of free space"
+msgstr "Disk bölümnü boş alanın sonuna ekler"
+
+#: fdisk/cfdisk.c:1495
+msgid "No room to create the extended partition"
+msgstr "Ek disk bölümünü oluşturacak yer yok"
+
+#: fdisk/cfdisk.c:1569
+msgid "No partition table.\n"
+msgstr "Disk bölümleme tablosu yok.\n"
+
+#: fdisk/cfdisk.c:1573
+msgid "No partition table. Starting with zero table."
+msgstr "Disk bölümleme tablosu yok. Boş tablo ile başlanacak."
+
+#: fdisk/cfdisk.c:1583
+msgid "Bad signature on partition table"
+msgstr "Disk bölümleme tablosundaki imza kötü"
+
+#: fdisk/cfdisk.c:1587
+msgid "Unknown partition table type"
+msgstr "Disk bölümleme tablosu türü bilinmiyor"
+
+#: fdisk/cfdisk.c:1589
+msgid "Do you wish to start with a zero table [y/N] ?"
+msgstr "Temiz bir tablo ile başlamak ister misiniz [e/H] ?"
+
+#: fdisk/cfdisk.c:1637
+msgid "You specified more cylinders than fit on disk"
+msgstr "Diskte bulunan silindir sayısından büyük bir sayı belirttiniz"
+
+#: fdisk/cfdisk.c:1669
+msgid "Cannot open disk drive"
+msgstr "Disk açılamıyor"
+
+#: fdisk/cfdisk.c:1671 fdisk/cfdisk.c:1860
+msgid "Opened disk read-only - you have no permission to write"
+msgstr "Açılan disk salt-okunur - yazma izniniz yok"
+
+#: fdisk/cfdisk.c:1682
+msgid ""
+"Warning!!  Unsupported GPT (GUID Partition Table) detected. Use GNU Parted."
+msgstr ""
+
+#: fdisk/cfdisk.c:1701
+msgid "Cannot get disk size"
+msgstr "Diskin toplam alanı hesaplanamıyor"
+
+#: fdisk/cfdisk.c:1727
+msgid "Bad primary partition"
+msgstr "Birincil disk bölümü bozuk"
+
+#: fdisk/cfdisk.c:1757
+msgid "Bad logical partition"
+msgstr "Mantıksal disk bölümü bozuk"
+
+#: fdisk/cfdisk.c:1872
+msgid "Warning!!  This may destroy data on your disk!"
+msgstr "Uyarı!! Bu işlem disk üzerindeki veriyi yokedebilir!"
+
+#: fdisk/cfdisk.c:1876
+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): "
+
+#: fdisk/cfdisk.c:1882
+msgid "no"
+msgstr "hayır"
+
+#: fdisk/cfdisk.c:1884
+msgid "Did not write partition table to disk"
+msgstr "Disk bölümleme tablosu diske yazılmadı"
+
+#: fdisk/cfdisk.c:1886
+msgid "yes"
+msgstr "evet"
+
+#: fdisk/cfdisk.c:1890
+msgid "Please enter `yes' or `no'"
+msgstr "Lütfen ya `evet´ ya da `hayır´ yazınız"
+
+#: fdisk/cfdisk.c:1894
+msgid "Writing partition table to disk..."
+msgstr "Disk bölümleme tablosu diske yazılıyor..."
+
+#: fdisk/cfdisk.c:1921 fdisk/cfdisk.c:1925
+msgid "Wrote partition table to disk"
+msgstr "Disk bölümleme tablosu diske yazıldı"
+
+#: fdisk/cfdisk.c:1923
+#, 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."
+
+#: fdisk/cfdisk.c:1933
+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."
+
+#: fdisk/cfdisk.c:1935
+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."
+
+#: fdisk/cfdisk.c:1993 fdisk/cfdisk.c:2112 fdisk/cfdisk.c:2196
+msgid "Enter filename or press RETURN to display on screen: "
+msgstr "Dosya ismini girin ya da ENTER tuşuna basın: "
+
+#: fdisk/cfdisk.c:2002 fdisk/cfdisk.c:2120 fdisk/cfdisk.c:2204
+#, c-format
+msgid "Cannot open file '%s'"
+msgstr "'%s' dosyası açılamıyor"
+
+#: fdisk/cfdisk.c:2013
+#, c-format
+msgid "Disk Drive: %s\n"
+msgstr "Sabit Disk: %s\n"
+
+#: fdisk/cfdisk.c:2015
+msgid "Sector 0:\n"
+msgstr "Sektör 0:\n"
+
+#: fdisk/cfdisk.c:2022
+#, c-format
+msgid "Sector %d:\n"
+msgstr "Sektör %d:\n"
+
+#: fdisk/cfdisk.c:2042
+msgid "   None   "
+msgstr "   Yok    "
+
+#: fdisk/cfdisk.c:2044
+msgid "   Pri/Log"
+msgstr "   Bir/Man"
+
+#: fdisk/cfdisk.c:2046
+msgid "   Primary"
+msgstr "  Birincil "
+
+#: fdisk/cfdisk.c:2048
+msgid "   Logical"
+msgstr " Mantıksal "
+
+#: fdisk/cfdisk.c:2086 fdisk/fdisk.c:1534 fdisk/fdisk.c:1855
+#: fdisk/fdisksgilabel.c:240 fdisk/fdisksunlabel.c:621 fdisk/sfdisk.c:653
+msgid "Unknown"
+msgstr "Bilinmeyen"
+
+#: fdisk/cfdisk.c:2092 fdisk/cfdisk.c:2560 fdisk/fdisksunlabel.c:44
+msgid "Boot"
+msgstr "Açılış"
+
+#: fdisk/cfdisk.c:2094
+#, c-format
+msgid "(%02X)"
+msgstr "(%02X)"
+
+#: fdisk/cfdisk.c:2096
+msgid "None"
+msgstr "Hiçbiri"
+
+#: fdisk/cfdisk.c:2131 fdisk/cfdisk.c:2215
+#, c-format
+msgid "Partition Table for %s\n"
+msgstr "%s için Disk Bölümleme Tablosu\n"
+
+#: fdisk/cfdisk.c:2133
+msgid "               First       Last\n"
+msgstr " Bölüm         İlk          Son              Sektör    Dosya\n"
+
+#: fdisk/cfdisk.c:2134
+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"
+
+#: fdisk/cfdisk.c:2135
+msgid ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+msgstr ""
+"-- -------   --------    --------- ------  ---------  ---------  -----  "
+"------\n"
+
+#: fdisk/cfdisk.c:2218
+#, fuzzy
+msgid "         ---Starting----      ----Ending-----    Start     Number of\n"
+msgstr "         --Başlangıç---      ----Bitiş-----   Başlangıç  Sektör\n"
+
+#: fdisk/cfdisk.c:2219
+#, 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"
+
+#: fdisk/cfdisk.c:2220
+#, fuzzy
+msgid "-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+msgstr "-- ----- ---- ---- ---- ---- ---- ---- ----  --------- ---------\n"
+
+#: fdisk/cfdisk.c:2253
+msgid "Raw"
+msgstr "Ham"
+
+#: fdisk/cfdisk.c:2253
+msgid "Print the table using raw data format"
+msgstr "Tablo temel veri biçemi olarak yazılır"
+
+#: fdisk/cfdisk.c:2254 fdisk/cfdisk.c:2357
+msgid "Sectors"
+msgstr "Sektör"
+
+#: fdisk/cfdisk.c:2254
+msgid "Print the table ordered by sectors"
+msgstr "Tabloyu sektörlere dağılımına göre yazar"
+
+#: fdisk/cfdisk.c:2255
+msgid "Table"
+msgstr "Tablo"
+
+#: fdisk/cfdisk.c:2255
+msgid "Just print the partition table"
+msgstr "Disk bölümleme tablosunu yazar"
+
+#: fdisk/cfdisk.c:2256
+msgid "Don't print the table"
+msgstr "Tablo yazılamıyor"
+
+#: fdisk/cfdisk.c:2284
+msgid "Help Screen for cfdisk"
+msgstr "cfdisk Yardım Ekranı"
+
+#: fdisk/cfdisk.c:2286
+msgid "This is cfdisk, a curses based disk partitioning program, which"
+msgstr ""
+"Sabit diskinizdeki disk bölümlerini oluşturabilmenizi, silebilmenizi ve"
+
+#: fdisk/cfdisk.c:2287
+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."
+
+#: fdisk/cfdisk.c:2288
+msgid "disk drive."
+msgstr " "
+
+#: fdisk/cfdisk.c:2290
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr "Telif Hakkı (C) 1994-1999 Kevin E. Martin & aeb"
+
+#: fdisk/cfdisk.c:2292
+msgid "Command      Meaning"
+msgstr " Komut       Anlamı"
+
+#: fdisk/cfdisk.c:2293
+msgid "-------      -------"
+msgstr " -----       ------"
+
+#: fdisk/cfdisk.c:2294
+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"
+
+#: fdisk/cfdisk.c:2295
+msgid "  d          Delete the current partition"
+msgstr "  d          Seçilen disk bölümünü siler"
+
+#: fdisk/cfdisk.c:2296
+msgid "  g          Change cylinders, heads, sectors-per-track parameters"
+msgstr "  g          Silindir, kafa, sektör/İz parametrelerini değiştirir"
+
+#: fdisk/cfdisk.c:2297
+msgid "             WARNING: This option should only be used by people who"
+msgstr "             UYARI: Bu seçenek sadece ne yaptığını iyi bilen kişilerce"
+
+#: fdisk/cfdisk.c:2298
+msgid "             know what they are doing."
+msgstr "             kullanılabilir."
+
+#: fdisk/cfdisk.c:2299
+msgid "  h          Print this screen"
+msgstr "  h          Bu yardım ekranını gösterir"
+
+#: fdisk/cfdisk.c:2300
+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"
+
+#: fdisk/cfdisk.c:2301
+msgid "             Note: This may make the partition incompatible with"
+msgstr "             Bilgi: Disk bölümünü DOS, OS/2 ve benzeri sistemlerle"
+
+#: fdisk/cfdisk.c:2302
+msgid "             DOS, OS/2, ..."
+msgstr "             uyumsuzluk oluşturabilir."
+
+#: fdisk/cfdisk.c:2303
+msgid "  n          Create new partition from free space"
+msgstr "  n          Boş alanda yeni bir disk bölümü oluşturur"
+
+#: fdisk/cfdisk.c:2304
+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"
+
+#: fdisk/cfdisk.c:2305
+msgid "             There are several different formats for the partition"
+msgstr ""
+"             Disk bölümleme tablosunu farklı biçemlerde elde edebilirsiniz."
+
+#: fdisk/cfdisk.c:2306
+msgid "             that you can choose from:"
+msgstr "             Bu biçemler:"
+
+#: fdisk/cfdisk.c:2307
+msgid "                r - Raw data (exactly what would be written to disk)"
+msgstr "                r - Temel veri (verinin diske yazılan biçemi)"
+
+#: fdisk/cfdisk.c:2308
+msgid "                s - Table ordered by sectors"
+msgstr "                s - Disk bölümlerinin sektörlere dağılımını gösterir"
+
+#: fdisk/cfdisk.c:2309
+msgid "                t - Table in raw format"
+msgstr "                t - Geleneksel disk bölümleme tablosu"
+
+#: fdisk/cfdisk.c:2310
+msgid "  q          Quit program without writing partition table"
+msgstr ""
+"  q          Disk bölümleme tablosu diskteki yerine kaydedilmeden çıkılır"
+
+#: fdisk/cfdisk.c:2311
+msgid "  t          Change the filesystem type"
+msgstr "  t          Dosya sistemi türünü değiştirir"
+
+#: fdisk/cfdisk.c:2312
+msgid "  u          Change units of the partition size display"
+msgstr "  u          Disk bölümü boyunun birimini değiştirir"
+
+#: fdisk/cfdisk.c:2313
+msgid "             Rotates through MB, sectors and cylinders"
+msgstr "             MB, sektör, silindir birimleri sırayla yer değiştirir"
+
+#: fdisk/cfdisk.c:2314
+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)"
+
+#: fdisk/cfdisk.c:2315
+msgid "             Since this might destroy data on the disk, you must"
+msgstr "             Diskteki veriyi yanlışlıkla kaybetmemek için "
+
+#: fdisk/cfdisk.c:2316
+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,"
+
+#: fdisk/cfdisk.c:2317
+msgid "             `no'"
+msgstr "             yazdırmayacağınıza kesin karar verebilirsiniz"
+
+#: fdisk/cfdisk.c:2318
+msgid "Up Arrow     Move cursor to the previous partition"
+msgstr "Yukarı Ok    Kürsörü önceki disk bölümüne kaydırır"
+
+#: fdisk/cfdisk.c:2319
+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"
+
+#: fdisk/cfdisk.c:2320
+msgid "CTRL-L       Redraws the screen"
+msgstr "CTRL-L       Ekranı tazeler"
+
+#: fdisk/cfdisk.c:2321
+msgid "  ?          Print this screen"
+msgstr "  ?          Bu yardım ekranını gösterir"
+
+#: fdisk/cfdisk.c:2323
+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"
+
+#: fdisk/cfdisk.c:2324
+msgid "case letters (except for Writes)."
+msgstr "olarak kullanabilirsiniz."
+
+#: fdisk/cfdisk.c:2355 fdisk/fdisksunlabel.c:237
+msgid "Cylinders"
+msgstr "Silindir"
+
+#: fdisk/cfdisk.c:2355
+msgid "Change cylinder geometry"
+msgstr "Silindir geometrisini değiştirir"
+
+#: fdisk/cfdisk.c:2356 fdisk/fdisksunlabel.c:235
+msgid "Heads"
+msgstr "Kafa"
+
+#: fdisk/cfdisk.c:2356
+msgid "Change head geometry"
+msgstr "Kafa geometrisini değiştirir"
+
+#: fdisk/cfdisk.c:2357
+msgid "Change sector geometry"
+msgstr "Sektör geometrisini değiştirir"
+
+#: fdisk/cfdisk.c:2358
+msgid "Done"
+msgstr "Tamam"
+
+#: fdisk/cfdisk.c:2358
+msgid "Done with changing geometry"
+msgstr "Geometri değişikliği yapıldı"
+
+#: fdisk/cfdisk.c:2371
+msgid "Enter the number of cylinders: "
+msgstr "Silindir sayısını verin: "
+
+#: fdisk/cfdisk.c:2382 fdisk/cfdisk.c:2953
+msgid "Illegal cylinders value"
+msgstr "Silindir sayısı kuraldışı"
+
+#: fdisk/cfdisk.c:2388
+msgid "Enter the number of heads: "
+msgstr "Kafa sayısını verin: "
+
+#: fdisk/cfdisk.c:2395 fdisk/cfdisk.c:2963
+msgid "Illegal heads value"
+msgstr "Kafa sayısı kuraldışı"
+
+#: fdisk/cfdisk.c:2401
+msgid "Enter the number of sectors per track: "
+msgstr "sektör/iz sayısını verin: "
+
+#: fdisk/cfdisk.c:2408 fdisk/cfdisk.c:2970
+msgid "Illegal sectors value"
+msgstr "sektör sayısı kuraldışı"
+
+#: fdisk/cfdisk.c:2511
+msgid "Enter filesystem type: "
+msgstr "Dosya sistemi türünü verin: "
+
+#: fdisk/cfdisk.c:2529
+msgid "Cannot change FS Type to empty"
+msgstr "Dosya sistemi türü boş olarak değiştirilemez"
+
+#: fdisk/cfdisk.c:2531
+msgid "Cannot change FS Type to extended"
+msgstr "Dosya sistemi türü ek olarak değiştirilemez"
+
+#: fdisk/cfdisk.c:2562
+#, c-format
+msgid "Unk(%02X)"
+msgstr "Ne?(%02X)"
+
+#: fdisk/cfdisk.c:2565 fdisk/cfdisk.c:2568
+msgid ", NC"
+msgstr ", NC"
+
+#: fdisk/cfdisk.c:2573 fdisk/cfdisk.c:2576
+msgid "NC"
+msgstr "NC"
+
+#: fdisk/cfdisk.c:2584
+msgid "Pri/Log"
+msgstr "Bir/Man"
+
+#: fdisk/cfdisk.c:2591
+#, c-format
+msgid "Unknown (%02X)"
+msgstr "Bilinmeyen (%02X)"
+
+#: fdisk/cfdisk.c:2660
+#, c-format
+msgid "Disk Drive: %s"
+msgstr "Sabit Disk: %s"
+
+#: fdisk/cfdisk.c:2667
+#, c-format
+msgid "Size: %lld bytes, %lld MB"
+msgstr "Boyut: %lld bayt, %lld MB"
+
+#: fdisk/cfdisk.c:2670
+#, c-format
+msgid "Size: %lld bytes, %lld.%lld GB"
+msgstr "Boyut: %lld bayt, %lld.%lld GB"
+
+#: fdisk/cfdisk.c:2674
+#, c-format
+msgid "Heads: %d   Sectors per Track: %d   Cylinders: %lld"
+msgstr "Kafa: %d        Sektör/İz: %d       Silindir: %lld  "
+
+#: fdisk/cfdisk.c:2678 login-utils/chfn.c:377
+msgid "Name"
+msgstr "İsim"
+
+#: fdisk/cfdisk.c:2679
+msgid "Flags"
+msgstr "Flama"
+
+#: fdisk/cfdisk.c:2680
+msgid "Part Type"
+msgstr "Bölüm Türü"
+
+#: fdisk/cfdisk.c:2681
+msgid "FS Type"
+msgstr "DS Türü"
+
+#: fdisk/cfdisk.c:2682
+msgid "[Label]"
+msgstr "[Etiket]"
+
+#: fdisk/cfdisk.c:2684
+msgid "    Sectors"
+msgstr "   Sektör  "
+
+#: fdisk/cfdisk.c:2686
+msgid "  Cylinders"
+msgstr "  Silindir"
+
+#: fdisk/cfdisk.c:2688
+msgid "  Size (MB)"
+msgstr "  Boy (MB) "
+
+#: fdisk/cfdisk.c:2690
+msgid "  Size (GB)"
+msgstr "  Boy (GB) "
+
+#: fdisk/cfdisk.c:2744
+msgid "Bootable"
+msgstr "Açılış"
+
+#: fdisk/cfdisk.c:2744
+msgid "Toggle bootable flag of the current partition"
+msgstr "Seçilen disk bölümünde Açılış flamasını kaldırır/indirir"
+
+#: fdisk/cfdisk.c:2745
+msgid "Delete"
+msgstr "Sil"
+
+#: fdisk/cfdisk.c:2745
+msgid "Delete the current partition"
+msgstr "Seçilen disk bölümünü kaldırır"
+
+#: fdisk/cfdisk.c:2746
+msgid "Geometry"
+msgstr "Geometri"
+
+#: fdisk/cfdisk.c:2746
+msgid "Change disk geometry (experts only)"
+msgstr "Disk geometrisini değiştirir (uzmanlar için)"
+
+#: fdisk/cfdisk.c:2747
+msgid "Help"
+msgstr "Yardım"
+
+#: fdisk/cfdisk.c:2747
+msgid "Print help screen"
+msgstr "Yardım ekranını gösterir"
+
+#: fdisk/cfdisk.c:2748
+msgid "Maximize"
+msgstr "Sığdır"
+
+#: fdisk/cfdisk.c:2748
+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)"
+
+#: fdisk/cfdisk.c:2749
+msgid "New"
+msgstr "Yeni"
+
+#: fdisk/cfdisk.c:2749
+msgid "Create new partition from free space"
+msgstr "Boş alanda yeni bir disk bölümü oluşturur"
+
+#: fdisk/cfdisk.c:2750
+msgid "Print"
+msgstr "Yaz"
+
+#: fdisk/cfdisk.c:2750
+msgid "Print partition table to the screen or to a file"
+msgstr "Disk bölümleme tablosunu ekrana ya da bir dosyaya yazar"
+
+#: fdisk/cfdisk.c:2751
+msgid "Quit"
+msgstr "Çık"
+
+#: fdisk/cfdisk.c:2751
+msgid "Quit program without writing partition table"
+msgstr "Disk bölümleme tablosunu diske kaydetmeden çıkar"
+
+#: fdisk/cfdisk.c:2752
+msgid "Type"
+msgstr "Türü"
+
+#: fdisk/cfdisk.c:2752
+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)"
+
+#: fdisk/cfdisk.c:2753
+msgid "Units"
+msgstr "Birim"
+
+#: fdisk/cfdisk.c:2753
+msgid "Change units of the partition size display (MB, sect, cyl)"
+msgstr "Gösterilecek boy birimini değiştirir (MB, sekt, sld)"
+
+#: fdisk/cfdisk.c:2754
+msgid "Write"
+msgstr "Kaydet"
+
+#: fdisk/cfdisk.c:2754
+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)"
+
+#: fdisk/cfdisk.c:2800
+msgid "Cannot make this partition bootable"
+msgstr "Bu disk bölümüne açılış kaydı yapılamaz"
+
+#: fdisk/cfdisk.c:2810
+msgid "Cannot delete an empty partition"
+msgstr "Bir boş disk bölümü silinemez"
+
+#: fdisk/cfdisk.c:2830 fdisk/cfdisk.c:2832
+msgid "Cannot maximize this partition"
+msgstr "Bu disk bölümü sığdırılamıyor"
+
+#: fdisk/cfdisk.c:2840
+msgid "This partition is unusable"
+msgstr "Bu disk bölümü kullanışsız"
+
+#: fdisk/cfdisk.c:2842
+msgid "This partition is already in use"
+msgstr "Bu disk bölümü zaten kullanımda"
+
+#: fdisk/cfdisk.c:2859
+msgid "Cannot change the type of an empty partition"
+msgstr "Bir boş disk bölümünün türü değiştirilemez"
+
+#: fdisk/cfdisk.c:2886 fdisk/cfdisk.c:2892
+msgid "No more partitions"
+msgstr "Başka disk bölümü yok"
+
+#: fdisk/cfdisk.c:2899
+msgid "Illegal command"
+msgstr "Kuraldışı komut"
+
+#: fdisk/cfdisk.c:2909
+#, c-format
+msgid "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+msgstr "Telif Hakkı © 1994-2002 Kevin E. Martin & aeb\n"
+
+#: fdisk/cfdisk.c:2916
+#, 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"
+
+#: fdisk/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.)"
+
+#: fdisk/fdiskbsdlabel.c:122
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+"\n"
+"Aygıt için BSD disk etiketi: %s\n"
+
+#: fdisk/fdiskbsdlabel.c:129 fdisk/fdisk.c:386 fdisk/fdisk.c:405
+#: fdisk/fdisk.c:423 fdisk/fdisk.c:430 fdisk/fdisk.c:453 fdisk/fdisk.c:471
+#: fdisk/fdisk.c:487 fdisk/fdisk.c:503
+msgid "Command action"
+msgstr " Komut  yaptığı iş "
+
+#: fdisk/fdiskbsdlabel.c:130
+msgid "   d   delete a BSD partition"
+msgstr "   d   bir BSD disk bölümünü siler"
+
+#: fdisk/fdiskbsdlabel.c:131
+msgid "   e   edit drive data"
+msgstr "   e   aygıt verisini düzenler"
+
+#: fdisk/fdiskbsdlabel.c:132
+msgid "   i   install bootstrap"
+msgstr "   i   önyükleyici kurar"
+
+#: fdisk/fdiskbsdlabel.c:133
+msgid "   l   list known filesystem types"
+msgstr "   l   bilinen dosya sistemi türlerini listeler"
+
+#: fdisk/fdiskbsdlabel.c:134 fdisk/fdisk.c:392 fdisk/fdisk.c:411
+#: fdisk/fdisk.c:424 fdisk/fdisk.c:436 fdisk/fdisk.c:461 fdisk/fdisk.c:478
+#: fdisk/fdisk.c:494 fdisk/fdisk.c:512
+msgid "   m   print this menu"
+msgstr "   m   bu menüyü gösterir"
+
+#: fdisk/fdiskbsdlabel.c:135
+msgid "   n   add a new BSD partition"
+msgstr "   n   yeni bir BSD disk bölümü ekler"
+
+#: fdisk/fdiskbsdlabel.c:136
+msgid "   p   print BSD partition table"
+msgstr "   p   BSD disk bölümleme tablosunu gösterir"
+
+#: fdisk/fdiskbsdlabel.c:137 fdisk/fdisk.c:396 fdisk/fdisk.c:415
+#: fdisk/fdisk.c:426 fdisk/fdisk.c:440 fdisk/fdisk.c:463 fdisk/fdisk.c:480
+#: fdisk/fdisk.c:496 fdisk/fdisk.c:514
+msgid "   q   quit without saving changes"
+msgstr "   q   değişiklikleri kaydetmeden çıkar"
+
+#: fdisk/fdiskbsdlabel.c:138 fdisk/fdisk.c:464 fdisk/fdisk.c:481
+#: fdisk/fdisk.c:497 fdisk/fdisk.c:515
+msgid "   r   return to main menu"
+msgstr "   r   ana menüye döner"
+
+#: fdisk/fdiskbsdlabel.c:139
+msgid "   s   show complete disklabel"
+msgstr "   s   disk etiketinin tamamını gösterir"
+
+#: fdisk/fdiskbsdlabel.c:140
+msgid "   t   change a partition's filesystem id"
+msgstr "   t   disk bölümünün dosya sistemi kimliğini gösterir"
+
+#: fdisk/fdiskbsdlabel.c:141
+msgid "   u   change units (cylinders/sectors)"
+msgstr "   u   birim değiştirir (silindir/sektör)"
+
+#: fdisk/fdiskbsdlabel.c:142
+msgid "   w   write disklabel to disk"
+msgstr "   w   disk etiketini diske yazar"
+
+#: fdisk/fdiskbsdlabel.c:144
+msgid "   x   link BSD partition to non-BSD partition"
+msgstr "   x   BSD disk bölümünü BSD-olmayan bir bölüme bağlar"
+
+#: fdisk/fdiskbsdlabel.c:176
+#, 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"
+
+#: fdisk/fdiskbsdlabel.c:180
+#, c-format
+msgid "Reading disklabel of %s at sector %d.\n"
+msgstr "%s disk etiketi sektör %d den okunuyor.\n"
+
+#: fdisk/fdiskbsdlabel.c:190
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr "%s üzerinde *BSD disk bölümü yok.\n"
+
+#: fdisk/fdiskbsdlabel.c:204
+msgid "BSD disklabel command (m for help): "
+msgstr "BSD disk etiketi komutu (yardım için m): "
+
+#: fdisk/fdiskbsdlabel.c:284 fdisk/fdisk.c:2052 fdisk/fdisksgilabel.c:651
+#: fdisk/fdisksunlabel.c:431
+#, c-format
+msgid "First %s"
+msgstr "İlk %s"
+
+#: fdisk/fdiskbsdlabel.c:291 fdisk/fdisksunlabel.c:488
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr "Son %s, +size, +sizeM veya +sizeK"
+
+#: fdisk/fdiskbsdlabel.c:318
+#, c-format
+msgid "type: %s\n"
+msgstr "türü: %s\n"
+
+#: fdisk/fdiskbsdlabel.c:320
+#, c-format
+msgid "type: %d\n"
+msgstr "türü: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:321
+#, c-format
+msgid "disk: %.*s\n"
+msgstr "disk: %.*s\n"
+
+#: fdisk/fdiskbsdlabel.c:322
+#, c-format
+msgid "label: %.*s\n"
+msgstr "etiket: %.*s\n"
+
+#: fdisk/fdiskbsdlabel.c:323
+#, c-format
+msgid "flags:"
+msgstr "flamalar:"
+
+#: fdisk/fdiskbsdlabel.c:325
+#, c-format
+msgid " removable"
+msgstr " silinebilir"
+
+#: fdisk/fdiskbsdlabel.c:327
+#, c-format
+msgid " ecc"
+msgstr " ecc"
+
+#: fdisk/fdiskbsdlabel.c:329
+#, c-format
+msgid " badsect"
+msgstr " bozukSektör"
+
+#: fdisk/fdiskbsdlabel.c:333
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr "bayt/sektör: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:334
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr "sektör/iz: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:335
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr "iz/silindir: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:336
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr "sektör/silindir: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:337
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr "silindir sayısı: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:338
+#, c-format
+msgid "rpm: %d\n"
+msgstr "devir sayısı: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:339
+#, c-format
+msgid "interleave: %d\n"
+msgstr "serpiştirme: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:340
+#, c-format
+msgid "trackskew: %d\n"
+msgstr "izkayması: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:341
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr "silindirkayması: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:342
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr "kafadeğişimi %ld\t\t# milisaniye\n"
+
+#: fdisk/fdiskbsdlabel.c:344
+#, c-format
+msgid "track-to-track seek: %ld\t# milliseconds\n"
+msgstr "izden-ize geçiş: %ld\t# milisaniye\n"
+
+#: fdisk/fdiskbsdlabel.c:346
+#, c-format
+msgid "drivedata: "
+msgstr "aygıtverisi:"
+
+#: fdisk/fdiskbsdlabel.c:355
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+"\n"
+"%d disk bölümü:\n"
+
+#: fdisk/fdiskbsdlabel.c:356
+#, c-format
+msgid "#       start       end      size     fstype   [fsize bsize   cpg]\n"
+msgstr "#     başlangıç    bitiş     boy      dstürü   [dboyu bboyu   cpg]\n"
+
+#: fdisk/fdiskbsdlabel.c:405 fdisk/fdiskbsdlabel.c:408
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr "Disk etiketi %s üzerine yazılıyor.\n"
+
+#: fdisk/fdiskbsdlabel.c:420 fdisk/fdiskbsdlabel.c:422
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr "%s disk etiketi içermiyor.\n"
+
+#: fdisk/fdiskbsdlabel.c:427
+msgid "Do you want to create a disklabel? (y/n) "
+msgstr "Bir disk etiketi oluşturmak ister misiniz? (e/h) "
+
+#: fdisk/fdiskbsdlabel.c:467
+msgid "bytes/sector"
+msgstr "bayt/sektör"
+
+#: fdisk/fdiskbsdlabel.c:468
+msgid "sectors/track"
+msgstr "sektör/iz"
+
+#: fdisk/fdiskbsdlabel.c:469
+msgid "tracks/cylinder"
+msgstr "iz/silindir"
+
+#: fdisk/fdiskbsdlabel.c:470 fdisk/fdisk.c:648 fdisk/fdisk.c:1357
+#: fdisk/sfdisk.c:945
+msgid "cylinders"
+msgstr "silindir"
+
+#: fdisk/fdiskbsdlabel.c:477
+msgid "sectors/cylinder"
+msgstr "sektör/silindir"
+
+#: fdisk/fdiskbsdlabel.c:481
+#, c-format
+msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
+msgstr " <= sektör/iz * iz/silindir (öntanımlı) olmalı.\n"
+
+#: fdisk/fdiskbsdlabel.c:483
+msgid "rpm"
+msgstr "rpm"
+
+#: fdisk/fdiskbsdlabel.c:484
+msgid "interleave"
+msgstr "serpiştirme"
+
+#: fdisk/fdiskbsdlabel.c:485
+msgid "trackskew"
+msgstr "izkayması"
+
+#: fdisk/fdiskbsdlabel.c:486
+msgid "cylinderskew"
+msgstr "silindirkayması"
+
+#: fdisk/fdiskbsdlabel.c:487
+msgid "headswitch"
+msgstr "kafadeğiştirme"
+
+#: fdisk/fdiskbsdlabel.c:488
+msgid "track-to-track seek"
+msgstr "izden-ize geçiş"
+
+#: fdisk/fdiskbsdlabel.c:529
+#, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr "Önyükleyici: %sboot -> boot%s (%s): "
+
+#: fdisk/fdiskbsdlabel.c:554
+#, c-format
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr "Önyükleyici disk etiketinin alanına giriyor!\n"
+
+#: fdisk/fdiskbsdlabel.c:575 fdisk/fdiskbsdlabel.c:577
+#, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr "%s üzerine önyükleyici kuruldu.\n"
+
+#: fdisk/fdiskbsdlabel.c:599
+#, c-format
+msgid "Partition (a-%c): "
+msgstr "Disk bölümü (a-%c): "
+
+#: fdisk/fdiskbsdlabel.c:618 fdisk/fdisk.c:2199
+#, c-format
+msgid "The maximum number of partitions has been created\n"
+msgstr "Oluşturulabilecek disk bölümlerinin tümü oluşturuldu\n"
+
+#: fdisk/fdiskbsdlabel.c:630
+#, c-format
+msgid "This partition already exists.\n"
+msgstr "Bu disk bölümü zaten var.\n"
+
+#: fdisk/fdiskbsdlabel.c:757
+#, 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"
+
+#: fdisk/fdiskbsdlabel.c:805
+#, c-format
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+"\n"
+"Diskler eşzamanlanıyor.\n"
+
+#: fdisk/fdisk.c:244
+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"
+
+#: fdisk/fdisk.c:256
+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"
+
+#: fdisk/fdisk.c:265
+#, c-format
+msgid "Unable to open %s\n"
+msgstr "%s açılamıyor\n"
+
+#: fdisk/fdisk.c:269
+#, c-format
+msgid "Unable to read %s\n"
+msgstr "%s okunamıyor\n"
+
+#: fdisk/fdisk.c:273
+#, c-format
+msgid "Unable to seek on %s\n"
+msgstr "%s üzerinde erişim olanaksız\n"
+
+#: fdisk/fdisk.c:277
+#, c-format
+msgid "Unable to write %s\n"
+msgstr "%s yazılamıyor\n"
+
+#: fdisk/fdisk.c:281
+#, c-format
+msgid "BLKGETSIZE ioctl failed on %s\n"
+msgstr "%s üzerinde BLKGETSIZE ioctl hata verdi\n"
+
+#: fdisk/fdisk.c:285
+msgid "Unable to allocate any more memory\n"
+msgstr "Daha fazla bellek ayrılamıyor\n"
+
+#: fdisk/fdisk.c:288
+msgid "Fatal error\n"
+msgstr "Ölümcül Hata\n"
+
+#: fdisk/fdisk.c:387
+msgid "   a   toggle a read only flag"
+msgstr "   a   salt-okunur flamasını kaldırır/indirir"
+
+#: fdisk/fdisk.c:388 fdisk/fdisk.c:432
+msgid "   b   edit bsd disklabel"
+msgstr "   b   bsd disk etiketini düzenler"
+
+#: fdisk/fdisk.c:389
+msgid "   c   toggle the mountable flag"
+msgstr "   c   bağlanabilir flamasını kaldırır/indirir"
+
+#: fdisk/fdisk.c:390 fdisk/fdisk.c:409 fdisk/fdisk.c:434
+msgid "   d   delete a partition"
+msgstr "   d   bir disk bölümünü siler"
+
+#: fdisk/fdisk.c:391 fdisk/fdisk.c:410 fdisk/fdisk.c:435
+msgid "   l   list known partition types"
+msgstr "   l   bilinen disk bölümü türlerini listeler"
+
+#: fdisk/fdisk.c:393 fdisk/fdisk.c:412 fdisk/fdisk.c:437
+msgid "   n   add a new partition"
+msgstr "   n   yeni bir disk bölümü ekler"
+
+#: fdisk/fdisk.c:394 fdisk/fdisk.c:413 fdisk/fdisk.c:425 fdisk/fdisk.c:438
+msgid "   o   create a new empty DOS partition table"
+msgstr "   o   yeni bir DOS disk bölümü oluşturur"
+
+#: fdisk/fdisk.c:395 fdisk/fdisk.c:414 fdisk/fdisk.c:439 fdisk/fdisk.c:462
+#: fdisk/fdisk.c:479 fdisk/fdisk.c:495 fdisk/fdisk.c:513
+msgid "   p   print the partition table"
+msgstr "   p   disk bölümleme tablosunu gösterir"
+
+#: fdisk/fdisk.c:397 fdisk/fdisk.c:416 fdisk/fdisk.c:427 fdisk/fdisk.c:441
+msgid "   s   create a new empty Sun disklabel"
+msgstr "   s   yeni bir Sun disk etiketi oluşturur"
+
+#: fdisk/fdisk.c:398 fdisk/fdisk.c:417 fdisk/fdisk.c:442
+msgid "   t   change a partition's system id"
+msgstr "   t   disk bölümünün sistem kimliğini değiştirir"
+
+#: fdisk/fdisk.c:399 fdisk/fdisk.c:418 fdisk/fdisk.c:443
+msgid "   u   change display/entry units"
+msgstr "   u   gösterme/girdi birimini değiştirir"
+
+#: fdisk/fdisk.c:400 fdisk/fdisk.c:419 fdisk/fdisk.c:444 fdisk/fdisk.c:466
+#: fdisk/fdisk.c:483 fdisk/fdisk.c:499 fdisk/fdisk.c:517
+msgid "   v   verify the partition table"
+msgstr "   v   disk bölümleme tablosunu doğrular"
+
+#: fdisk/fdisk.c:401 fdisk/fdisk.c:420 fdisk/fdisk.c:445 fdisk/fdisk.c:467
+#: fdisk/fdisk.c:484 fdisk/fdisk.c:500 fdisk/fdisk.c:518
+msgid "   w   write table to disk and exit"
+msgstr "   w   tabloyu diskteki yerine yazar ve çıkar"
+
+#: fdisk/fdisk.c:402 fdisk/fdisk.c:446
+msgid "   x   extra functionality (experts only)"
+msgstr "   x   fazladan işlevsellik (uzmanlar için)"
+
+#: fdisk/fdisk.c:406
+msgid "   a   select bootable partition"
+msgstr "   a   açılış disk bölümünü seçer"
+
+#: fdisk/fdisk.c:407
+msgid "   b   edit bootfile entry"
+msgstr "   b   açılış dosyası girdilerini düzenler"
+
+#: fdisk/fdisk.c:408
+msgid "   c   select sgi swap partition"
+msgstr "   c   sgi takas bölümü seçilir"
+
+#: fdisk/fdisk.c:431
+msgid "   a   toggle a bootable flag"
+msgstr "   a   açılış flamasını indirir/kaldırır"
+
+#: fdisk/fdisk.c:433
+msgid "   c   toggle the dos compatibility flag"
+msgstr "   c   dos uyumluluk flamasını indirir/kaldırır"
+
+#: fdisk/fdisk.c:454
+msgid "   a   change number of alternate cylinders"
+msgstr "   a   almaşık silindirlerin sayısını değiştirir"
+
+#: fdisk/fdisk.c:455 fdisk/fdisk.c:473 fdisk/fdisk.c:489 fdisk/fdisk.c:505
+msgid "   c   change number of cylinders"
+msgstr "   c   silindir sayısını değiştirir"
+
+#: fdisk/fdisk.c:456 fdisk/fdisk.c:474 fdisk/fdisk.c:490 fdisk/fdisk.c:506
+msgid "   d   print the raw data in the partition table"
+msgstr "   d   disk bölümleme tablosunun temel verisini gösterir"
+
+#: fdisk/fdisk.c:457
+msgid "   e   change number of extra sectors per cylinder"
+msgstr "   e   silindir başına fazladan sektör sayısını değiştirir"
+
+#: fdisk/fdisk.c:458 fdisk/fdisk.c:477 fdisk/fdisk.c:493 fdisk/fdisk.c:510
+msgid "   h   change number of heads"
+msgstr "   h   kafa sayısını değiştirir"
+
+#: fdisk/fdisk.c:459
+msgid "   i   change interleave factor"
+msgstr "   i   serpiştirme etkenini değiştirir"
+
+#: fdisk/fdisk.c:460
+msgid "   o   change rotation speed (rpm)"
+msgstr "   o   devir sayısını değiştirir (rpm)"
+
+#: fdisk/fdisk.c:465 fdisk/fdisk.c:482 fdisk/fdisk.c:498 fdisk/fdisk.c:516
+msgid "   s   change number of sectors/track"
+msgstr "   s   sektör/iz sayısını değiştirir"
+
+#: fdisk/fdisk.c:468
+msgid "   y   change number of physical cylinders"
+msgstr "   y   fiziksel silindir sayısını değiştirir"
+
+#: fdisk/fdisk.c:472 fdisk/fdisk.c:488 fdisk/fdisk.c:504
+msgid "   b   move beginning of data in a partition"
+msgstr "   b   disk bölümü içindeki verinin başlanıcına gider"
+
+#: fdisk/fdisk.c:475 fdisk/fdisk.c:491 fdisk/fdisk.c:507
+msgid "   e   list extended partitions"
+msgstr "   e   ek disk bölümlerini listeler"
+
+#: fdisk/fdisk.c:476 fdisk/fdisk.c:492 fdisk/fdisk.c:509
+msgid "   g   create an IRIX (SGI) partition table"
+msgstr "   g   IRIX (SGI) disk bölümleme tablosu oluşturur"
+
+#: fdisk/fdisk.c:508
+msgid "   f   fix partition order"
+msgstr "   f   disk bölümleme sırasını düzeltir"
+
+#: fdisk/fdisk.c:511
+#, fuzzy
+msgid "   i   change the disk identifier"
+msgstr "   u   gösterme/girdi birimini değiştirir"
+
+#: fdisk/fdisk.c:627
+#, c-format
+msgid "You must set"
+msgstr "Belirtilmeli"
+
+#: fdisk/fdisk.c:644
+msgid "heads"
+msgstr "kafa"
+
+#: fdisk/fdisk.c:646 fdisk/fdisk.c:1357 fdisk/sfdisk.c:945
+msgid "sectors"
+msgstr "sektör"
+
+#: fdisk/fdisk.c:652
+#, 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"
+
+#: fdisk/fdisk.c:653
+msgid " and "
+msgstr " ve "
+
+#: fdisk/fdisk.c:670
+#, c-format
+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"
+
+#: fdisk/fdisk.c:683
+#, 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 %d-byte sectors. Use parted(1) and GUID \n"
+"partition table format (GPT).\n"
+"\n"
+msgstr ""
+
+#: fdisk/fdisk.c:708
+#, c-format
+msgid "Bad offset in primary extended partition\n"
+msgstr "Birincil ek disk bölümünde hizalama hatalı\n"
+
+#: fdisk/fdisk.c:722
+#, 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"
+
+#: fdisk/fdisk.c:741
+#, c-format
+msgid "Warning: extra link pointer in partition table %d\n"
+msgstr "Uyarı: %d disk bölümleme tablosunda fazladan bağ imleyici\n"
+
+#: fdisk/fdisk.c:749
+#, 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"
+
+#: fdisk/fdisk.c:782
+#, fuzzy, c-format
+msgid "omitting empty partition (%d)\n"
+msgstr "Uyarı: boş disk bölümü\n"
+
+#: fdisk/fdisk.c:801
+#, c-format
+msgid "Disk identifier: 0x%08x\n"
+msgstr ""
+
+#: fdisk/fdisk.c:810
+#, c-format
+msgid "New disk identifier (current 0x%08x): "
+msgstr ""
+
+#: fdisk/fdisk.c:829
+#, fuzzy, c-format
+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"
+
+#: fdisk/fdisk.c:861
+#, c-format
+msgid "Note: sector size is %d (not %d)\n"
+msgstr "Bilgi: sektör uzunluğu %d (%d değil)\n"
+
+#: fdisk/fdisk.c:990
+#, c-format
+msgid "You will not be able to write the partition table.\n"
+msgstr "Disk bölümleme tablosunu diskteki yerine kaydetme yetkiniz yok.\n"
+
+#: fdisk/fdisk.c:1022
+#, c-format
+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"
+
+#: fdisk/fdisk.c:1032
+#, c-format
+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"
+
+#: fdisk/fdisk.c:1049
+#, c-format
+msgid "Internal error\n"
+msgstr "İç hata\n"
+
+#: fdisk/fdisk.c:1062
+#, c-format
+msgid "Ignoring extra extended partition %d\n"
+msgstr "Fazladan ek disk bölümü %d yoksayılıyor\n"
+
+#: fdisk/fdisk.c:1074
+#, 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"
+
+#: fdisk/fdisk.c:1096
+#, c-format
+msgid ""
+"\n"
+"got EOF thrice - exiting..\n"
+msgstr ""
+"\n"
+"Dosya sonuna rastlandı - çıkılıyor..\n"
+
+#: fdisk/fdisk.c:1135
+msgid "Hex code (type L to list codes): "
+msgstr "Onaltılık kod (kod listesi için L tuşlayın):"
+
+#: fdisk/fdisk.c:1175
+#, c-format
+msgid "%s (%u-%u, default %u): "
+msgstr "%s (%u-%u, öntanımlı %u): "
+
+#: fdisk/fdisk.c:1242
+#, c-format
+msgid "Unsupported suffix: '%s'.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1243
+#, c-format
+msgid ""
+"Supported: 10^N: KB (KiloByte), MB (MegaByte), GB (GigaByte)\n"
+"            2^N: K  (KibiByte), M  (MebiByte), G  (GibiByte)\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1269
+#, c-format
+msgid "Using default value %u\n"
+msgstr "Öntanımlı değer %u kullanılıyor\n"
+
+#: fdisk/fdisk.c:1273
+#, c-format
+msgid "Value out of range.\n"
+msgstr "Değer kapsamdışı.\n"
+
+#: fdisk/fdisk.c:1283
+msgid "Partition number"
+msgstr "Disk bölümü numarası"
+
+#: fdisk/fdisk.c:1294
+#, 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"
+
+#: fdisk/fdisk.c:1316 fdisk/fdisk.c:1342
+#, c-format
+msgid "Selected partition %d\n"
+msgstr "Seçilen disk bölümü %d\n"
+
+#: fdisk/fdisk.c:1319
+#, c-format
+msgid "No partition is defined yet!\n"
+msgstr "Tanımlı bir disk bölümü henüz yok!\n"
+
+#: fdisk/fdisk.c:1345
+#, c-format
+msgid "All primary partitions have been defined already!\n"
+msgstr "Tüm birincil bölümler zaten tanımlı!\n"
+
+#: fdisk/fdisk.c:1355
+msgid "cylinder"
+msgstr "silindir"
+
+#: fdisk/fdisk.c:1355
+msgid "sector"
+msgstr "sektör"
+
+#: fdisk/fdisk.c:1364
+#, c-format
+msgid "Changing display/entry units to %s\n"
+msgstr "gösterme/girdi birimi %s olarak değiştiriliyor\n"
+
+#: fdisk/fdisk.c:1375
+#, 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"
+
+#: fdisk/fdisk.c:1386
+#, c-format
+msgid "DOS Compatibility flag is set\n"
+msgstr "DOS uyumluluk flaması etkin\n"
+
+#: fdisk/fdisk.c:1390
+#, c-format
+msgid "DOS Compatibility flag is not set\n"
+msgstr "DOS uyumluluk flaması etkin değil\n"
+
+#: fdisk/fdisk.c:1490
+#, c-format
+msgid "Partition %d does not exist yet!\n"
+msgstr "%d disk bölümü henüz yok!\n"
+
+#: fdisk/fdisk.c:1495
+#, 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"
+
+#: fdisk/fdisk.c:1504
+#, 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"
+
+#: fdisk/fdisk.c:1513
+#, 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"
+
+#: fdisk/fdisk.c:1519
+#, 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"
+
+#: fdisk/fdisk.c:1536
+#, 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"
+
+#: fdisk/fdisk.c:1539
+#, 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"
+
+#: fdisk/fdisk.c:1591
+#, 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"
+
+#: fdisk/fdisk.c:1593 fdisk/fdisk.c:1601 fdisk/fdisk.c:1610 fdisk/fdisk.c:1620
+#, c-format
+msgid "     phys=(%d, %d, %d) "
+msgstr " fiziksel=(%d, %d, %d) "
+
+#: fdisk/fdisk.c:1594 fdisk/fdisk.c:1602
+#, c-format
+msgid "logical=(%d, %d, %d)\n"
+msgstr "mantıksal=(%d, %d, %d)\n"
+
+#: fdisk/fdisk.c:1599
+#, 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"
+
+#: fdisk/fdisk.c:1608
+#, c-format
+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"
+
+#: fdisk/fdisk.c:1611
+#, c-format
+msgid "should be (%d, %d, 1)\n"
+msgstr "(%d, %d, 1) olmalıydı\n"
+
+#: fdisk/fdisk.c:1617
+#, 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"
+
+#: fdisk/fdisk.c:1621
+#, c-format
+msgid "should be (%d, %d, %d)\n"
+msgstr "(%d, %d, %d) olmalıydı\n"
+
+#: fdisk/fdisk.c:1633
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld MB, %lld bytes\n"
+msgstr ""
+"\n"
+"Disk %s: %ld MB %lld bayt\n"
+
+#: fdisk/fdisk.c:1637
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld.%ld GB, %lld bytes\n"
+msgstr ""
+"\n"
+"Disk %s: %ld.%ld GB, %lld bayt\n"
+
+#: fdisk/fdisk.c:1640
+#, fuzzy, c-format
+msgid "%d heads, %llu sectors/track, %d cylinders"
+msgstr "%d kafa, %d sektör/iz, %d silindir"
+
+#: fdisk/fdisk.c:1643
+#, c-format
+msgid ", total %llu sectors"
+msgstr ", toplam %llu sektör"
+
+#: fdisk/fdisk.c:1646
+#, fuzzy, c-format
+msgid "Units = %s of %d * %d = %d bytes\n"
+msgstr ""
+"Birimler = %s / %d * %d = %d bayt\n"
+"\n"
+
+#: fdisk/fdisk.c:1757
+#, 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"
+
+#: fdisk/fdisk.c:1785
+#, fuzzy, c-format
+msgid "Done.\n"
+msgstr ""
+"Bitti\n"
+"\n"
+
+#: fdisk/fdisk.c:1813
+#, 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"
+
+#: fdisk/fdisk.c:1826
+#, c-format
+msgid "%*s Boot      Start         End      Blocks   Id  System\n"
+msgstr "%*s Açılış    Başlangıç     Bitiş  BlokSayısı Kml Sistem\n"
+
+#: fdisk/fdisk.c:1827 fdisk/fdisksgilabel.c:223 fdisk/fdisksunlabel.c:603
+msgid "Device"
+msgstr "Aygıt"
+
+#: fdisk/fdisk.c:1864
+#, 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"
+
+#: fdisk/fdisk.c:1874
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %d cylinders\n"
+"\n"
+msgstr ""
+"\n"
+"Disk %s: %d kafa, %d sektör, %d silindir\n"
+"\n"
+
+#: fdisk/fdisk.c:1876
+#, 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"
+
+#: fdisk/fdisk.c:1922
+#, c-format
+msgid "Warning: partition %d contains sector 0\n"
+msgstr "Uyarı: %d disk bölümü 0. sektörü içeriyor\n"
+
+#: fdisk/fdisk.c:1925
+#, 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"
+
+#: fdisk/fdisk.c:1928
+#, 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"
+
+#: fdisk/fdisk.c:1931
+#, c-format
+msgid "Partitions %d: cylinder %d greater than maximum %d\n"
+msgstr ""
+"%d disk bölümü: silindir sayısı %d en çok olabileceği %d değerinden büyük\n"
+
+#: fdisk/fdisk.c:1935
+#, 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"
+
+#: fdisk/fdisk.c:1968
+#, 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"
+
+#: fdisk/fdisk.c:1976
+#, c-format
+msgid "Warning: partition %d overlaps partition %d.\n"
+msgstr "Uyarı: %d ile %d disk bölümleri birbirine girmiş.\n"
+
+#: fdisk/fdisk.c:1996
+#, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr "Uyarı: %d disk bölümü boş\n"
+
+#: fdisk/fdisk.c:2001
+#, 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"
+
+#: fdisk/fdisk.c:2007
+#, 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"
+
+#: fdisk/fdisk.c:2010
+#, fuzzy, c-format
+msgid "%lld unallocated %d-byte sectors\n"
+msgstr "%lld sektör kullanılmamış\n"
+
+#: fdisk/fdisk.c:2025 fdisk/fdisksgilabel.c:633 fdisk/fdisksunlabel.c:416
+#, 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"
+
+#: fdisk/fdisk.c:2067
+#, fuzzy, c-format
+msgid "Sector %llu is already allocated\n"
+msgstr "Sektör %d zaten kullanımda\n"
+
+#: fdisk/fdisk.c:2103
+#, c-format
+msgid "No free sectors available\n"
+msgstr "Boşta sektör yok\n"
+
+#: fdisk/fdisk.c:2112
+#, c-format
+msgid "Last %1$s, +%2$s or +size{K,M,G}"
+msgstr ""
+
+#: fdisk/fdisk.c:2178
+#, 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"
+
+#: fdisk/fdisk.c:2187
+#, 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"
+
+#: fdisk/fdisk.c:2207
+#, c-format
+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"
+
+#: fdisk/fdisk.c:2210
+#, c-format
+msgid "All logical partitions are in use\n"
+msgstr "Tüm mantıksal bölümler kullanımda\n"
+
+#: fdisk/fdisk.c:2211
+#, c-format
+msgid "Adding a primary partition\n"
+msgstr "Bir birincil disk bölümü ekleniyor\n"
+
+#: fdisk/fdisk.c:2216
+#, c-format
+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"
+
+#: fdisk/fdisk.c:2218
+msgid "l   logical (5 or over)"
+msgstr "l   mantıksal (5 veya üzeri)"
+
+#: fdisk/fdisk.c:2218
+msgid "e   extended"
+msgstr "e   ek"
+
+#: fdisk/fdisk.c:2237
+#, c-format
+msgid "Invalid partition number for type `%c'\n"
+msgstr "Tür '%c' için disk bölümü numarası geçersiz\n"
+
+#: fdisk/fdisk.c:2273
+#, c-format
+msgid ""
+"The partition table has been altered!\n"
+"\n"
+msgstr ""
+"Disk bölümleme tablosu zaten değişmişti!\n"
+"\n"
+
+#: fdisk/fdisk.c:2287
+#, 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"
+
+#: fdisk/fdisk.c:2296
+#, fuzzy, c-format
+msgid ""
+"\n"
+"WARNING: Re-reading the partition table failed with error %d: %s.\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"
+
+#: fdisk/fdisk.c:2304
+#, 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"
+
+#: fdisk/fdisk.c:2310
+#, c-format
+msgid ""
+"\n"
+"Error closing file\n"
+msgstr ""
+"\n"
+"Dosya kapatılırken hata\n"
+
+#: fdisk/fdisk.c:2314
+#, c-format
+msgid "Syncing disks.\n"
+msgstr "Diskler eşzamanlanıyor.\n"
+
+#: fdisk/fdisk.c:2361
+#, c-format
+msgid "Partition %d has no data area\n"
+msgstr "%d disk bölümü veri alanına sahip değil\n"
+
+#: fdisk/fdisk.c:2366
+msgid "New beginning of data"
+msgstr "Yeni veri başlangıcı"
+
+#: fdisk/fdisk.c:2382
+msgid "Expert command (m for help): "
+msgstr "Uzman komutları (yardım için m): "
+
+#: fdisk/fdisk.c:2395
+msgid "Number of cylinders"
+msgstr "Silindir sayısı"
+
+#: fdisk/fdisk.c:2422
+msgid "Number of heads"
+msgstr "Kafa sayısı"
+
+#: fdisk/fdisk.c:2449
+msgid "Number of sectors"
+msgstr "Sektör sayısı"
+
+#: fdisk/fdisk.c:2452
+#, c-format
+msgid "Warning: setting sector offset for DOS compatiblity\n"
+msgstr "Uyarı: Sektör hizalaması DOS uyumlu olarak yapılıyor\n"
+
+#: fdisk/fdisk.c:2511
+#, 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 ""
+
+#: fdisk/fdisk.c:2533
+#, c-format
+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"
+
+#: fdisk/fdisk.c:2544
+#, c-format
+msgid "Cannot open %s\n"
+msgstr "%s açılamıyor\n"
+
+#: fdisk/fdisk.c:2563 fdisk/sfdisk.c:2618
+#, c-format
+msgid "cannot open %s\n"
+msgstr "%s açılamıyor\n"
+
+#: fdisk/fdisk.c:2583
+#, c-format
+msgid "%c: unknown command\n"
+msgstr "%c: komut bilinmiyor\n"
+
+#: fdisk/fdisk.c:2653
+#, c-format
+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"
+
+#: fdisk/fdisk.c:2657
+#, 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"
+
+#: fdisk/fdisk.c:2717
+#, 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"
+
+#: fdisk/fdisk.c:2727
+msgid "Command (m for help): "
+msgstr "Komut (yardım için m): "
+
+#: fdisk/fdisk.c:2743
+#, c-format
+msgid ""
+"\n"
+"The current boot file is: %s\n"
+msgstr ""
+"\n"
+"Şu anki önyükleme dosyası: %s\n"
+
+#: fdisk/fdisk.c:2745
+msgid "Please enter the name of the new boot file: "
+msgstr "Lütfen yeni açılış dosyasının ismini giriniz:"
+
+#: fdisk/fdisk.c:2747
+#, c-format
+msgid "Boot file unchanged\n"
+msgstr "Açılış dosyası değiştirilmedi\n"
+
+#: fdisk/fdisk.c:2820
+#, c-format
+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"
+
+#: fdisk/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.)"
+
+#: fdisk/fdisksgilabel.c:81
+msgid "SGI volhdr"
+msgstr "SGI volhdr"
+
+#: fdisk/fdisksgilabel.c:82
+msgid "SGI trkrepl"
+msgstr "SGI trkrepl"
+
+#: fdisk/fdisksgilabel.c:83
+msgid "SGI secrepl"
+msgstr "SGI secrepl"
+
+#: fdisk/fdisksgilabel.c:84
+msgid "SGI raw"
+msgstr "SGI ham"
+
+#: fdisk/fdisksgilabel.c:85
+msgid "SGI bsd"
+msgstr "SGI bsd"
+
+#: fdisk/fdisksgilabel.c:86
+msgid "SGI sysv"
+msgstr "SGI sysv"
+
+#: fdisk/fdisksgilabel.c:87
+msgid "SGI volume"
+msgstr "SGI bölümü"
+
+#: fdisk/fdisksgilabel.c:88
+msgid "SGI efs"
+msgstr "SGI efs"
+
+#: fdisk/fdisksgilabel.c:89
+msgid "SGI lvol"
+msgstr "SGI lvol"
+
+#: fdisk/fdisksgilabel.c:90
+msgid "SGI rlvol"
+msgstr "SGI rlvol"
+
+#: fdisk/fdisksgilabel.c:91
+msgid "SGI xfs"
+msgstr "SGI xfs"
+
+#: fdisk/fdisksgilabel.c:92
+msgid "SGI xfslog"
+msgstr "SGI xfslog"
+
+#: fdisk/fdisksgilabel.c:93
+msgid "SGI xlv"
+msgstr "SGI xlv"
+
+#: fdisk/fdisksgilabel.c:94
+msgid "SGI xvm"
+msgstr "SGI xvm"
+
+#: fdisk/fdisksgilabel.c:95 fdisk/fdisksunlabel.c:55
+msgid "Linux swap"
+msgstr "Linux takas"
+
+#: fdisk/fdisksgilabel.c:96 fdisk/fdisksunlabel.c:56
+msgid "Linux native"
+msgstr "Linux doğal"
+
+#: fdisk/fdisksgilabel.c:97 fdisk/fdisksunlabel.c:57 fdisk/i386_sys_types.c:63
+msgid "Linux LVM"
+msgstr "Linux LVM"
+
+#: fdisk/fdisksgilabel.c:98
+msgid "Linux RAID"
+msgstr "Linux RAID"
+
+#: fdisk/fdisksgilabel.c:164
+#, 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"
+
+#: fdisk/fdisksgilabel.c:183
+#, c-format
+msgid "Detected sgi disklabel with wrong checksum.\n"
+msgstr "Yanlış sağlama toplamı veren sgi disk etiketi saptandı.\n"
+
+#: fdisk/fdisksgilabel.c:201
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors\n"
+"%d cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * %d 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"
+
+#: fdisk/fdisksgilabel.c:214
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors, %d cylinders\n"
+"Units = %s of %d * %d 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"
+
+#: fdisk/fdisksgilabel.c:221
+#, 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"
+
+#: fdisk/fdisksgilabel.c:243
+#, c-format
+msgid ""
+"----- Bootinfo -----\n"
+"Bootfile: %s\n"
+"----- Directory Entries -----\n"
+msgstr ""
+"----- Önyükleme Bilgileri -----\n"
+"Önyükleme dosyası: %s\n"
+"----- Dizin Girdileri -----\n"
+
+#: fdisk/fdisksgilabel.c:251
+#, c-format
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr "%2d: %-10s sektör%5u boy%8u\n"
+
+#: fdisk/fdisksgilabel.c:305
+#, 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"
+
+#: fdisk/fdisksgilabel.c:311
+#, 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"
+
+#: fdisk/fdisksgilabel.c:316
+#, 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"
+
+#: fdisk/fdisksgilabel.c:323
+#, 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"
+
+#: fdisk/fdisksgilabel.c:349
+#, c-format
+msgid ""
+"\n"
+"\tBootfile is changed to \"%s\".\n"
+msgstr ""
+"\n"
+"\tÖnyükleme dosyası \"%s\" olarak değiştirildi.\n"
+
+#: fdisk/fdisksgilabel.c:439
+#, c-format
+msgid "More than one entire disk entry present.\n"
+msgstr "Birden fazla tüm disk girdisi var.\n"
+
+#: fdisk/fdisksgilabel.c:446 fdisk/fdisksunlabel.c:388
+#, c-format
+msgid "No partitions defined\n"
+msgstr "Atanmış disk bölümü yok\n"
+
+#: fdisk/fdisksgilabel.c:452
+#, 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"
+
+#: fdisk/fdisksgilabel.c:454
+#, 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"
+
+#: fdisk/fdisksgilabel.c:460
+#, 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"
+
+#: fdisk/fdisksgilabel.c:466
+#, c-format
+msgid "One Partition (#11) should cover the entire disk.\n"
+msgstr "Tek disk bölümü (#11) tüm diski kaplamalıydı.\n"
+
+#: fdisk/fdisksgilabel.c:476
+#, 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"
+
+#: fdisk/fdisksgilabel.c:482
+#, 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"
+
+#: fdisk/fdisksgilabel.c:489
+#, 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"
+
+#: fdisk/fdisksgilabel.c:497 fdisk/fdisksgilabel.c:515
+#, 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"
+
+#: fdisk/fdisksgilabel.c:526
+#, c-format
+msgid ""
+"\n"
+"The boot partition does not exist.\n"
+msgstr ""
+"\n"
+"Önyükleme disk bölümü yok.\n"
+
+#: fdisk/fdisksgilabel.c:529
+#, c-format
+msgid ""
+"\n"
+"The swap partition does not exist.\n"
+msgstr ""
+"\n"
+"Takas bölümü yok.\n"
+
+#: fdisk/fdisksgilabel.c:533
+#, 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"
+
+#: fdisk/fdisksgilabel.c:536
+#, c-format
+msgid "\tYou have chosen an unusual boot file name.\n"
+msgstr "\tKullanışsız bir önyükleme dosyası seçtiniz.\n"
+
+#: fdisk/fdisksgilabel.c:545
+#, c-format
+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"
+
+#: fdisk/fdisksgilabel.c:551
+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"
+
+#: fdisk/fdisksgilabel.c:556 fdisk/fdisksunlabel.c:554
+msgid "YES\n"
+msgstr "EVET\n"
+
+#: fdisk/fdisksgilabel.c:581
+#, c-format
+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"
+
+#: fdisk/fdisksgilabel.c:639
+#, c-format
+msgid "Attempting to generate entire disk entry automatically.\n"
+msgstr "Tüm disk girdisi otomatik olarak üretilmeye çalışılıyor.\n"
+
+#: fdisk/fdisksgilabel.c:644
+#, 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"
+
+#: fdisk/fdisksgilabel.c:648
+#, 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"
+
+#: fdisk/fdisksgilabel.c:657 fdisk/fdisksgilabel.c:686
+#, 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"
+
+#: fdisk/fdisksgilabel.c:673
+#, 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"
+
+#: fdisk/fdisksgilabel.c:678
+#, c-format
+msgid " Last %s"
+msgstr " Son %s"
+
+#: fdisk/fdisksgilabel.c:708
+#, c-format
+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"
+
+#: fdisk/fdisksgilabel.c:731 fdisk/fdisksunlabel.c:227
+#, c-format
+msgid ""
+"Warning:  BLKGETSIZE ioctl failed on %s.  Using geometry cylinder value of %"
+"d.\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"
+
+#: fdisk/fdisksgilabel.c:745
+#, c-format
+msgid "Trying to keep parameters of partition %d.\n"
+msgstr "%d disk bölümünün parametreleri okunmaya çalışılıyor.\n"
+
+#: fdisk/fdisksgilabel.c:747
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr "Kimlik=%02x\tBaşlangıç=%d\tBoy=%d\n"
+
+#: fdisk/fdisksunlabel.c:43
+msgid "Unassigned"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:45
+msgid "SunOS root"
+msgstr "SunOS root"
+
+#: fdisk/fdisksunlabel.c:46
+msgid "SunOS swap"
+msgstr "SunOS takas"
+
+#: fdisk/fdisksunlabel.c:47
+msgid "SunOS usr"
+msgstr "SunOS usr"
+
+#: fdisk/fdisksunlabel.c:48
+msgid "Whole disk"
+msgstr "Tüm disk"
+
+#: fdisk/fdisksunlabel.c:49
+msgid "SunOS stand"
+msgstr "SunOS stand"
+
+#: fdisk/fdisksunlabel.c:50
+msgid "SunOS var"
+msgstr "SunOS var"
+
+#: fdisk/fdisksunlabel.c:51
+msgid "SunOS home"
+msgstr "SunOS home"
+
+#: fdisk/fdisksunlabel.c:52
+#, fuzzy
+msgid "SunOS alt sectors"
+msgstr "%lld sektör kullanılmamış\n"
+
+#: fdisk/fdisksunlabel.c:53
+#, fuzzy
+msgid "SunOS cachefs"
+msgstr "SunOS home"
+
+#: fdisk/fdisksunlabel.c:54
+#, fuzzy
+msgid "SunOS reserved"
+msgstr "SunOS usr"
+
+#: fdisk/fdisksunlabel.c:58 fdisk/i386_sys_types.c:103
+msgid "Linux raid autodetect"
+msgstr "Linux raid otosaptama"
+
+#: fdisk/fdisksunlabel.c:141
+#, 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"
+
+#: fdisk/fdisksunlabel.c:153
+#, fuzzy, c-format
+msgid "Detected sun disklabel with wrong version [0x%08x].\n"
+msgstr "Yanlış sağlama toplamı veren sgi disk etiketi saptandı.\n"
+
+#: fdisk/fdisksunlabel.c:158
+#, fuzzy, c-format
+msgid "Detected sun disklabel with wrong sanity [0x%08x].\n"
+msgstr "Yanlış sağlama toplamı veren sgi disk etiketi saptandı.\n"
+
+#: fdisk/fdisksunlabel.c:163
+#, fuzzy, c-format
+msgid "Detected sun disklabel with wrong num_partitions [%u].\n"
+msgstr "Yanlış sağlama toplamı veren sgi disk etiketi saptandı.\n"
+
+#: fdisk/fdisksunlabel.c:168
+#, 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"
+
+#: fdisk/fdisksunlabel.c:198
+#, c-format
+msgid ""
+"Building a new sun disklabel. Changes will remain in memory only,\n"
+"until you decide to write them. After that, of course, the previous\n"
+"content won't be recoverable.\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"
+
+#: fdisk/fdisksunlabel.c:236
+msgid "Sectors/track"
+msgstr "Sektör/iz"
+
+#: fdisk/fdisksunlabel.c:351
+#, 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"
+
+#: fdisk/fdisksunlabel.c:371
+#, 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"
+
+#: fdisk/fdisksunlabel.c:393
+#, c-format
+msgid "Unused gap - sectors 0-%d\n"
+msgstr "Kullanılmamış boşluk - 0-%d sektörlerinde\n"
+
+#: fdisk/fdisksunlabel.c:395 fdisk/fdisksunlabel.c:401
+#, c-format
+msgid "Unused gap - sectors %d-%d\n"
+msgstr "Kullanılmamış boşluk - %d-%d sektörlerinde\n"
+
+#: fdisk/fdisksunlabel.c:426
+#, 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"
+
+#: fdisk/fdisksunlabel.c:449
+#, 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"
+
+#: fdisk/fdisksunlabel.c:477
+#, c-format
+msgid "Sector %d is already allocated\n"
+msgstr "Sektör %d zaten kullanımda\n"
+
+#: fdisk/fdisksunlabel.c:507
+#, 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"
+
+#: fdisk/fdisksunlabel.c:534
+#, 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"
+
+#: fdisk/fdisksunlabel.c:549
+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: "
+
+#: fdisk/fdisksunlabel.c:581
+#, fuzzy, c-format
+msgid ""
+"\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"
+"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"
+
+#: fdisk/fdisksunlabel.c:597
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %d heads, %llu sectors, %d 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"
+
+#: fdisk/fdisksunlabel.c:602
+#, c-format
+msgid "%*s Flag    Start       End    Blocks   Id  System\n"
+msgstr "%*s Flama Başlangıç    Bitiş   Blok#   Kiml Sistem\n"
+
+#: fdisk/fdisksunlabel.c:630
+msgid "Number of alternate cylinders"
+msgstr "Almaşık silindirlerin sayısı"
+
+#: fdisk/fdisksunlabel.c:642
+msgid "Extra sectors per cylinder"
+msgstr "Silindir başına fazladan sektörler"
+
+#: fdisk/fdisksunlabel.c:649
+msgid "Interleave factor"
+msgstr "Serpiştirme etkeni"
+
+#: fdisk/fdisksunlabel.c:656
+msgid "Rotation speed (rpm)"
+msgstr "Devir sayısı (rpm)"
+
+#: fdisk/fdisksunlabel.c:663
+msgid "Number of physical cylinders"
+msgstr "Fiziksel silindirlerin sayısı"
+
+#: fdisk/i386_sys_types.c:6
+msgid "Empty"
+msgstr "Boş"
+
+#: fdisk/i386_sys_types.c:7
+msgid "FAT12"
+msgstr "FAT12"
+
+#: fdisk/i386_sys_types.c:8
+msgid "XENIX root"
+msgstr "XENIX root"
+
+#: fdisk/i386_sys_types.c:9
+msgid "XENIX usr"
+msgstr "XENIX usr"
+
+#: fdisk/i386_sys_types.c:10
+msgid "FAT16 <32M"
+msgstr "FAT16 <32M"
+
+#: fdisk/i386_sys_types.c:11
+msgid "Extended"
+msgstr "Ek"
+
+#: fdisk/i386_sys_types.c:12
+msgid "FAT16"
+msgstr "FAT16"
+
+#: fdisk/i386_sys_types.c:13
+msgid "HPFS/NTFS"
+msgstr "HPFS/NTFS"
+
+#: fdisk/i386_sys_types.c:14
+msgid "AIX"
+msgstr "AIX"
+
+#: fdisk/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr "AIX önyüklenebilir"
+
+#: fdisk/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr "OS/2 Önyükleme Yöneticisi"
+
+#: fdisk/i386_sys_types.c:17
+msgid "W95 FAT32"
+msgstr "W95 FAT32"
+
+#: fdisk/i386_sys_types.c:18
+msgid "W95 FAT32 (LBA)"
+msgstr "W95 FAT32 (LBA)"
+
+#: fdisk/i386_sys_types.c:19
+msgid "W95 FAT16 (LBA)"
+msgstr "W95 FAT16 (LBA)"
+
+#: fdisk/i386_sys_types.c:20
+msgid "W95 Ext'd (LBA)"
+msgstr "W95 Ext'd (LBA)"
+
+#: fdisk/i386_sys_types.c:21
+msgid "OPUS"
+msgstr "OPUS"
+
+#: fdisk/i386_sys_types.c:22
+msgid "Hidden FAT12"
+msgstr "Gizli FAT12"
+
+#: fdisk/i386_sys_types.c:23
+msgid "Compaq diagnostics"
+msgstr "Compaq teşhis sistemi"
+
+#: fdisk/i386_sys_types.c:24
+msgid "Hidden FAT16 <32M"
+msgstr "Gizli FAT16 <32M"
+
+#: fdisk/i386_sys_types.c:25
+msgid "Hidden FAT16"
+msgstr "Gizli FAT16"
+
+#: fdisk/i386_sys_types.c:26
+msgid "Hidden HPFS/NTFS"
+msgstr "Gizli HPFS/NTFS"
+
+#: fdisk/i386_sys_types.c:27
+msgid "AST SmartSleep"
+msgstr "AST SmartSleep"
+
+#: fdisk/i386_sys_types.c:28
+msgid "Hidden W95 FAT32"
+msgstr "Gizli W95 FAT32"
+
+#: fdisk/i386_sys_types.c:29
+msgid "Hidden W95 FAT32 (LBA)"
+msgstr "Gizli W95 FAT32 (LBA)"
+
+#: fdisk/i386_sys_types.c:30
+msgid "Hidden W95 FAT16 (LBA)"
+msgstr "Gizli W95 FAT16 (LBA)"
+
+#: fdisk/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr "NEC DOS"
+
+#: fdisk/i386_sys_types.c:32
+msgid "Plan 9"
+msgstr "Plan 9"
+
+#: fdisk/i386_sys_types.c:33
+msgid "PartitionMagic recovery"
+msgstr "Disk Bölümü kaydı kurtarma"
+
+#: fdisk/i386_sys_types.c:34
+msgid "Venix 80286"
+msgstr "Venix 80286"
+
+#: fdisk/i386_sys_types.c:35
+msgid "PPC PReP Boot"
+msgstr "PPC PReP Önyükleme"
+
+#: fdisk/i386_sys_types.c:36
+msgid "SFS"
+msgstr "SFS"
+
+#: fdisk/i386_sys_types.c:37
+msgid "QNX4.x"
+msgstr "QNX4.x"
+
+#: fdisk/i386_sys_types.c:38
+msgid "QNX4.x 2nd part"
+msgstr "QNX4.x 2. bölüm"
+
+#: fdisk/i386_sys_types.c:39
+msgid "QNX4.x 3rd part"
+msgstr "QNX4.x 3. bölüm"
+
+#: fdisk/i386_sys_types.c:40
+msgid "OnTrack DM"
+msgstr "OnTrack DM"
+
+#: fdisk/i386_sys_types.c:41
+msgid "OnTrack DM6 Aux1"
+msgstr "OnTrack DM6 Aux1"
+
+#: fdisk/i386_sys_types.c:42
+msgid "CP/M"
+msgstr "CP/M"
+
+#: fdisk/i386_sys_types.c:43
+msgid "OnTrack DM6 Aux3"
+msgstr "OnTrack DM6 Aux3"
+
+#: fdisk/i386_sys_types.c:44
+msgid "OnTrackDM6"
+msgstr "OnTrackDM6"
+
+#: fdisk/i386_sys_types.c:45
+msgid "EZ-Drive"
+msgstr "EZ-Drive"
+
+#: fdisk/i386_sys_types.c:46
+msgid "Golden Bow"
+msgstr "Golden Bow"
+
+#: fdisk/i386_sys_types.c:47
+msgid "Priam Edisk"
+msgstr "Priam Edisk"
+
+#: fdisk/i386_sys_types.c:48 fdisk/i386_sys_types.c:92
+#: fdisk/i386_sys_types.c:98 fdisk/i386_sys_types.c:99
+msgid "SpeedStor"
+msgstr "SpeedStor"
+
+#: fdisk/i386_sys_types.c:49
+msgid "GNU HURD or SysV"
+msgstr "GNU HURD veya SysV"
+
+#: fdisk/i386_sys_types.c:50
+msgid "Novell Netware 286"
+msgstr "Novell Netware 286"
+
+#: fdisk/i386_sys_types.c:51
+msgid "Novell Netware 386"
+msgstr "Novell Netware 386"
+
+#: fdisk/i386_sys_types.c:52
+msgid "DiskSecure Multi-Boot"
+msgstr "DiskSecure Multi-Boot"
+
+#: fdisk/i386_sys_types.c:53
+msgid "PC/IX"
+msgstr "PC/IX"
+
+#: fdisk/i386_sys_types.c:54
+msgid "Old Minix"
+msgstr "Eski Minix"
+
+#: fdisk/i386_sys_types.c:55
+msgid "Minix / old Linux"
+msgstr "Minix / eski Linux"
+
+#: fdisk/i386_sys_types.c:56
+msgid "Linux swap / Solaris"
+msgstr "Linux takas / Solaris"
+
+#: fdisk/i386_sys_types.c:58
+msgid "OS/2 hidden C: drive"
+msgstr "OS/2 gizli C: aygıtı"
+
+#: fdisk/i386_sys_types.c:59
+msgid "Linux extended"
+msgstr "Linux ek"
+
+#: fdisk/i386_sys_types.c:60 fdisk/i386_sys_types.c:61
+msgid "NTFS volume set"
+msgstr "NTFS bölüm kümesi"
+
+#: fdisk/i386_sys_types.c:62
+msgid "Linux plaintext"
+msgstr "Linux saltmetin"
+
+#: fdisk/i386_sys_types.c:64
+msgid "Amoeba"
+msgstr "Amoeba"
+
+#: fdisk/i386_sys_types.c:65
+msgid "Amoeba BBT"
+msgstr "Amoeba BBT"
+
+#: fdisk/i386_sys_types.c:66
+msgid "BSD/OS"
+msgstr "BSD/OS"
+
+#: fdisk/i386_sys_types.c:67
+msgid "IBM Thinkpad hibernation"
+msgstr "IBM Thinkpad hibernation"
+
+#: fdisk/i386_sys_types.c:68
+msgid "FreeBSD"
+msgstr "FreeBSD"
+
+#: fdisk/i386_sys_types.c:69
+msgid "OpenBSD"
+msgstr "OpenBSD"
+
+#: fdisk/i386_sys_types.c:70
+msgid "NeXTSTEP"
+msgstr "NeXTSTEP"
+
+#: fdisk/i386_sys_types.c:71
+msgid "Darwin UFS"
+msgstr "Darwin UFS"
+
+#: fdisk/i386_sys_types.c:72
+msgid "NetBSD"
+msgstr "NetBSD"
+
+#: fdisk/i386_sys_types.c:73
+msgid "Darwin boot"
+msgstr "Darwin boot"
+
+#: fdisk/i386_sys_types.c:74
+#, fuzzy
+msgid "HFS / HFS+"
+msgstr "OS/2 HPFS"
+
+#: fdisk/i386_sys_types.c:75
+msgid "BSDI fs"
+msgstr "BSDI ds"
+
+#: fdisk/i386_sys_types.c:76
+msgid "BSDI swap"
+msgstr "BSDI takas"
+
+#: fdisk/i386_sys_types.c:77
+msgid "Boot Wizard hidden"
+msgstr "Önyükleme sihirbazı gizli"
+
+#: fdisk/i386_sys_types.c:78
+msgid "Solaris boot"
+msgstr "Solaris boot"
+
+#: fdisk/i386_sys_types.c:79
+msgid "Solaris"
+msgstr "Solaris"
+
+#: fdisk/i386_sys_types.c:80
+msgid "DRDOS/sec (FAT-12)"
+msgstr "DRDOS/sec (FAT-12)"
+
+#: fdisk/i386_sys_types.c:81
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr "DRDOS/sec (FAT-16 < 32M)"
+
+#: fdisk/i386_sys_types.c:82
+msgid "DRDOS/sec (FAT-16)"
+msgstr "DRDOS/sec (FAT-16)"
+
+#: fdisk/i386_sys_types.c:83
+msgid "Syrinx"
+msgstr "Syrinx"
+
+#: fdisk/i386_sys_types.c:84
+msgid "Non-FS data"
+msgstr "DS-olmayan veri"
+
+#: fdisk/i386_sys_types.c:85
+msgid "CP/M / CTOS / ..."
+msgstr "CP/M / CTOS / ..."
+
+#: fdisk/i386_sys_types.c:87
+msgid "Dell Utility"
+msgstr "Dell Uygulaması"
+
+#: fdisk/i386_sys_types.c:88
+msgid "BootIt"
+msgstr "BootIt"
+
+#: fdisk/i386_sys_types.c:89
+msgid "DOS access"
+msgstr "DOS erişimi"
+
+#: fdisk/i386_sys_types.c:91
+msgid "DOS R/O"
+msgstr "DOS R/O"
+
+#: fdisk/i386_sys_types.c:94
+msgid "BeOS fs"
+msgstr "BeOS fs"
+
+#: fdisk/i386_sys_types.c:95
+#, fuzzy
+msgid "GPT"
+msgstr "EFI GPT"
+
+#: fdisk/i386_sys_types.c:96
+msgid "EFI (FAT-12/16/32)"
+msgstr "EFI (FAT-12/16/32)"
+
+#: fdisk/i386_sys_types.c:97
+msgid "Linux/PA-RISC boot"
+msgstr "Linux/PA-RISC önyüklemesi"
+
+#: fdisk/i386_sys_types.c:100
+msgid "DOS secondary"
+msgstr "DOS ikincil"
+
+#: fdisk/i386_sys_types.c:101
+msgid "VMware VMFS"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:102
+msgid "VMware VMKCORE"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:106
+msgid "LANstep"
+msgstr "LANstep"
+
+#: fdisk/i386_sys_types.c:107
+msgid "BBT"
+msgstr "BBT"
+
+#: fdisk/sfdisk.c:179
+#, c-format
+msgid "seek error on %s - cannot seek to %lu\n"
+msgstr "%s üzerinde erişim hatası - %lu ya erişilemiyor\n"
+
+#: fdisk/sfdisk.c:184
+#, 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"
+
+#: fdisk/sfdisk.c:230
+msgid "out of memory - giving up\n"
+msgstr "bellek yetersiz - bırakılıyor\n"
+
+#: fdisk/sfdisk.c:235 fdisk/sfdisk.c:318
+#, c-format
+msgid "read error on %s - cannot read sector %lu\n"
+msgstr "%s üzerinde okuma hatası - %lu sektörü okunamıyor\n"
+
+#: fdisk/sfdisk.c:253
+#, c-format
+msgid "ERROR: sector %lu does not have an msdos signature\n"
+msgstr "HATA: %lu sektörü msdos imzası taşımıyor\n"
+
+#: fdisk/sfdisk.c:268
+#, 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"
+
+#: fdisk/sfdisk.c:306
+#, 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"
+
+#: fdisk/sfdisk.c:324
+#, c-format
+msgid "write error on %s\n"
+msgstr "%s üzerinde yazma hatası\n"
+
+#: fdisk/sfdisk.c:350
+#, 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"
+
+#: fdisk/sfdisk.c:355
+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"
+
+#: fdisk/sfdisk.c:359
+msgid "out of memory?\n"
+msgstr "bellek yetersiz?\n"
+
+#: fdisk/sfdisk.c:365
+#, c-format
+msgid "cannot open partition restore file (%s)\n"
+msgstr "disk bölümü tekrar oluşturma dosyası (%s) açılamıyor\n"
+
+#: fdisk/sfdisk.c:371
+#, c-format
+msgid "error reading %s\n"
+msgstr "%s okunurken hata\n"
+
+#: fdisk/sfdisk.c:378
+#, c-format
+msgid "cannot open device %s for writing\n"
+msgstr "%s aygıtı yazılmak üzere açılamıyor\n"
+
+#: fdisk/sfdisk.c:390
+#, c-format
+msgid "error writing sector %lu on %s\n"
+msgstr "%lu sektörünü %s üzerine yazmada hata\n"
+
+#: fdisk/sfdisk.c:455
+#, c-format
+msgid "Disk %s: cannot get geometry\n"
+msgstr "Disk %s: geometri alınamıyor\n"
+
+#: fdisk/sfdisk.c:472
+#, c-format
+msgid "Disk %s: cannot get size\n"
+msgstr "Disk %s: boyu alınamıyor\n"
+
+#: fdisk/sfdisk.c:505
+#, 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"
+
+#: fdisk/sfdisk.c:512
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu heads\n"
+msgstr "Uyarı: HDIO_GETGEO %lu kafa bildiriyor\n"
+
+#: fdisk/sfdisk.c:515
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu sectors\n"
+msgstr "Uyarı: HDIO_GETGEO %lu sektör bildiriyor\n"
+
+#: fdisk/sfdisk.c:519
+#, c-format
+msgid "Warning: BLKGETSIZE/HDIO_GETGEO says that there are %lu cylinders\n"
+msgstr "Uyarı: BLKGETSIZE/HDIO_GETGEO %lu silindir bildiriyor\n"
+
+#: fdisk/sfdisk.c:524
+#, 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"
+
+#: fdisk/sfdisk.c:528
+#, 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"
+
+#: fdisk/sfdisk.c:610
+#, 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"
+
+#: fdisk/sfdisk.c:615
+#, 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"
+
+#: fdisk/sfdisk.c:620
+#, 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"
+
+#: fdisk/sfdisk.c:660
+#, c-format
+msgid ""
+"Id  Name\n"
+"\n"
+msgstr ""
+"Kiml İsim\n"
+"\n"
+
+#: fdisk/sfdisk.c:821
+#, c-format
+msgid "Re-reading the partition table ...\n"
+msgstr "Disk bölümleme tablosu yeniden okunuyor ...\n"
+
+#: fdisk/sfdisk.c:827
+#, 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"
+
+#: fdisk/sfdisk.c:833
+#, c-format
+msgid "Error closing %s\n"
+msgstr "%s kapatılırken hata\n"
+
+#: fdisk/sfdisk.c:871
+#, c-format
+msgid "%s: no such partition\n"
+msgstr "%s: böyle bir disk bölümü yok\n"
+
+#: fdisk/sfdisk.c:894
+msgid "unrecognized format - using sectors\n"
+msgstr "biçem bilinmiyor - sektör sayısı kullanılıyor\n"
+
+#: fdisk/sfdisk.c:944
+#, c-format
+msgid "unimplemented format - using %s\n"
+msgstr "desteklenmeyen biçem - %s kullanılıyor\n"
+
+#: fdisk/sfdisk.c:948
+#, 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"
+
+#: fdisk/sfdisk.c:951
+#, 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"
+
+#: fdisk/sfdisk.c:956
+#, 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"
+
+#: fdisk/sfdisk.c:958
+#, 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"
+
+#: fdisk/sfdisk.c:961
+#, 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"
+
+#: fdisk/sfdisk.c:963
+#, 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"
+
+#: fdisk/sfdisk.c:966
+#, c-format
+msgid ""
+"Units = mebibytes of 1048576 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"
+
+#: fdisk/sfdisk.c:968
+#, 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"
+
+#: fdisk/sfdisk.c:1128
+#, 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"
+
+#: fdisk/sfdisk.c:1135
+#, 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"
+
+#: fdisk/sfdisk.c:1138
+#, 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"
+
+#: fdisk/sfdisk.c:1148
+msgid "No partitions found\n"
+msgstr "Disk bölümü bulunamadı\n"
+
+#: fdisk/sfdisk.c:1152
+#, 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"
+
+#: fdisk/sfdisk.c:1201
+msgid "no partition table present.\n"
+msgstr "disk bölümleme tablosu yok.\n"
+
+#: fdisk/sfdisk.c:1203
+#, c-format
+msgid "strange, only %d partitions defined.\n"
+msgstr "tuhaf, sadece %d disk bölümü atanmış.\n"
+
+#: fdisk/sfdisk.c:1212
+#, 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"
+
+#: fdisk/sfdisk.c:1215
+#, 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"
+
+#: fdisk/sfdisk.c:1218
+#, 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"
+
+#: fdisk/sfdisk.c:1229
+#, c-format
+msgid "Warning: partition %s "
+msgstr "Uyarı: %s disk bölümü "
+
+#: fdisk/sfdisk.c:1230
+#, c-format
+msgid "is not contained in partition %s\n"
+msgstr "%s disk bölümünde değil\n"
+
+#: fdisk/sfdisk.c:1241
+#, c-format
+msgid "Warning: partitions %s "
+msgstr "Uyarı: %s disk bölümü "
+
+#: fdisk/sfdisk.c:1242
+#, c-format
+msgid "and %s overlap\n"
+msgstr "ve %s birbirine girmiş\n"
+
+#: fdisk/sfdisk.c:1253
+#, c-format
+msgid ""
+"Warning: partition %s contains part of the partition table (sector %lu),\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"
+
+#: fdisk/sfdisk.c:1265
+#, 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"
+
+#: fdisk/sfdisk.c:1269
+#, c-format
+msgid "Warning: partition %s extends past end of disk\n"
+msgstr "Uyarı: %s disk bölümü disk sonunu aşıyor\n"
+
+#: fdisk/sfdisk.c:1284
+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"
+
+#: fdisk/sfdisk.c:1302
+#, 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"
+
+#: fdisk/sfdisk.c:1308
+#, 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"
+
+#: fdisk/sfdisk.c:1326
+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"
+
+#: fdisk/sfdisk.c:1333
+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"
+
+#: fdisk/sfdisk.c:1339
+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"
+
+#: fdisk/sfdisk.c:1353
+msgid "start"
+msgstr "başlangıç"
+
+#: fdisk/sfdisk.c:1356
+#, 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"
+
+#: fdisk/sfdisk.c:1362
+msgid "end"
+msgstr "bitiş"
+
+#: fdisk/sfdisk.c:1365
+#, 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"
+
+#: fdisk/sfdisk.c:1368
+#, 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"
+
+#: fdisk/sfdisk.c:1393
+#, c-format
+msgid ""
+"Warning: shifted start of the extd partition from %ld to %ld\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"
+
+#: fdisk/sfdisk.c:1399
+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"
+
+#: fdisk/sfdisk.c:1417 fdisk/sfdisk.c:1494
+#, c-format
+msgid "too many partitions - ignoring those past nr (%d)\n"
+msgstr "disk bölümü sayısı çok fazla - Bu sonuncusu (%d) disk bölümü\n"
+
+#: fdisk/sfdisk.c:1432
+msgid "tree of partitions?\n"
+msgstr "ağacında yok sayılsın mı?\n"
+
+#: fdisk/sfdisk.c:1540
+msgid "detected Disk Manager - unable to handle that\n"
+msgstr "Disk yöneticisi saptadı - bulunan DM6 imzası\n"
+
+#: fdisk/sfdisk.c:1547
+msgid "DM6 signature found - giving up\n"
+msgstr "ile çalışılamıyor - bırakılıyor\n"
+
+#: fdisk/sfdisk.c:1567
+msgid "strange..., an extended partition of size 0?\n"
+msgstr "tuhaf..., sıfır uzunlukta bir ek disk bölümü?\n"
+
+#: fdisk/sfdisk.c:1574 fdisk/sfdisk.c:1585
+msgid "strange..., a BSD partition of size 0?\n"
+msgstr "tuhaf..., sıfır uzunlukta bir BSD disk bölümü?\n"
+
+#: fdisk/sfdisk.c:1619
+#, c-format
+msgid " %s: unrecognized partition table type\n"
+msgstr " %s: disk bölümleme tablosu türü tanınmıyor\n"
+
+#: fdisk/sfdisk.c:1631
+msgid "-n flag was given: Nothing changed\n"
+msgstr "-n flaması verilmiş: Hiçbir şey değişmedi\n"
+
+#: fdisk/sfdisk.c:1647
+msgid "Failed saving the old sectors - aborting\n"
+msgstr "Eski sektörlere yazmada başarısızlık - çıkılıyor\n"
+
+#: fdisk/sfdisk.c:1652
+#, c-format
+msgid "Failed writing the partition on %s\n"
+msgstr "%s disk bölümüne yazarken hata oluştu\n"
+
+#: fdisk/sfdisk.c:1729
+msgid "long or incomplete input line - quitting\n"
+msgstr "uzun ve eksik girdi satırı - çıkılıyor\n"
+
+#: fdisk/sfdisk.c:1765
+#, c-format
+msgid "input error: `=' expected after %s field\n"
+msgstr "girdi hatası: %s alanından sonra bir `=' gerekli\n"
+
+#: fdisk/sfdisk.c:1772
+#, c-format
+msgid "input error: unexpected character %c after %s field\n"
+msgstr "girdi hatası: %c karakteri gereksiz (%s alanından sonra)\n"
+
+#: fdisk/sfdisk.c:1778
+#, c-format
+msgid "unrecognized input: %s\n"
+msgstr "anlaşılmayan girdi: %s\n"
+
+#: fdisk/sfdisk.c:1820
+msgid "number too big\n"
+msgstr "sayı çok büyük\n"
+
+#: fdisk/sfdisk.c:1824
+msgid "trailing junk after number\n"
+msgstr "sayıdan sonrasında süprüntü\n"
+
+#: fdisk/sfdisk.c:1948
+msgid "no room for partition descriptor\n"
+msgstr "disk bölümü betimleyici için yer yok\n"
+
+#: fdisk/sfdisk.c:1981
+msgid "cannot build surrounding extended partition\n"
+msgstr "kuşatan ek disk bölümü kurgulanamıyor\n"
+
+#: fdisk/sfdisk.c:2032
+msgid "too many input fields\n"
+msgstr "girdi alanları çok fazla\n"
+
+#: fdisk/sfdisk.c:2066
+msgid "No room for more\n"
+msgstr "Daha fazla yer yok\n"
+
+#: fdisk/sfdisk.c:2085
+msgid "Illegal type\n"
+msgstr "Kuraldışı tür\n"
+
+#: fdisk/sfdisk.c:2117
+#, c-format
+msgid "Warning: given size (%lu) exceeds max allowable size (%lu)\n"
+msgstr "Uyarı: belirtilen (%lu) uzunluk, izin verilen (%lu) uzunluktan fazla\n"
+
+#: fdisk/sfdisk.c:2123
+msgid "Warning: empty partition\n"
+msgstr "Uyarı: boş disk bölümü\n"
+
+#: fdisk/sfdisk.c:2137
+#, c-format
+msgid "Warning: bad partition start (earliest %lu)\n"
+msgstr "Uyarı: disk bölümü başlangıcı hatalı (en erken %lu)\n"
+
+#: fdisk/sfdisk.c:2150
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr "anlaşılmayan önyükleme flaması; - ya da * seçiniz\n"
+
+#: fdisk/sfdisk.c:2167 fdisk/sfdisk.c:2180
+msgid "partial c,h,s specification?\n"
+msgstr "kısmi sld,kafa,sekt özellikleri?\n"
+
+#: fdisk/sfdisk.c:2191
+msgid "Extended partition not where expected\n"
+msgstr "Ek disk bölümü gereken yerde değil\n"
+
+#: fdisk/sfdisk.c:2223
+msgid "bad input\n"
+msgstr "girdi hatalı\n"
+
+#: fdisk/sfdisk.c:2245
+msgid "too many partitions\n"
+msgstr "çok fazla disk bölümü var\n"
+
+#: fdisk/sfdisk.c:2278
+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"
+
+#: fdisk/sfdisk.c:2304
+#, c-format
+msgid "Usage: %s [options] device ...\n"
+msgstr "Kullanımı: %s [seçenekler] aygıt ...\n"
+
+#: fdisk/sfdisk.c:2305
+msgid "device: something like /dev/hda or /dev/sda"
+msgstr "aygıt: /dev/hda veya /dev/sda gibi"
+
+#: fdisk/sfdisk.c:2306
+msgid "useful options:"
+msgstr "kullanışlı seçenekler:"
+
+#: fdisk/sfdisk.c:2307
+msgid "    -s [or --show-size]: list size of a partition"
+msgstr "    -s  --show-size     disk bölümü uzunlukları listelenir"
+
+#: fdisk/sfdisk.c:2308
+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"
+
+#: fdisk/sfdisk.c:2309
+msgid "    -l [or --list]:      list partitions of each device"
+msgstr "    -l  --list          aygıtların disk bölümlerini listeler"
+
+#: fdisk/sfdisk.c:2310
+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"
+
+#: fdisk/sfdisk.c:2311
+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"
+
+#: fdisk/sfdisk.c:2312
+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"
+
+#: fdisk/sfdisk.c:2313
+msgid "    -T [or --list-types]:list the known partition types"
+msgstr "    -T  --list-types    bilinen disk bölümü türlerini listeler"
+
+#: fdisk/sfdisk.c:2314
+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"
+
+#: fdisk/sfdisk.c:2315
+msgid "    -R [or --re-read]:   make kernel reread partition table"
+msgstr "    -R  --re-read       çekirdek yeniden okuma tablosu yapar"
+
+#: fdisk/sfdisk.c:2316
+msgid "    -N# :                change only the partition with number #"
+msgstr "    -N#                 sadece # numaralı disk alanı değiştirilir"
+
+#: fdisk/sfdisk.c:2317
+msgid "    -n :                 do not actually write to disk"
+msgstr "    -n                  gerçekte diske yazılmaz"
+
+#: fdisk/sfdisk.c:2318
+msgid ""
+"    -O file :            save the sectors that will be overwritten to file"
+msgstr "    -O dosya            üstüne yazarak sektörleri dosyaya kaydeder"
+
+#: fdisk/sfdisk.c:2319
+msgid "    -I file :            restore these sectors again"
+msgstr "    -I dosya            sektörleri bu dosyadan tekrar oluşturur"
+
+#: fdisk/sfdisk.c:2320
+msgid "    -v [or --version]:   print version"
+msgstr "    -v  --version       sürüm bilgilerini gösterir"
+
+#: fdisk/sfdisk.c:2321
+msgid "    -? [or --help]:      print this message"
+msgstr "    -?  --help          bu yardım iletisini gösterir ve çıkar"
+
+#: fdisk/sfdisk.c:2322
+msgid "dangerous options:"
+msgstr "tehlikeli seçenekler:"
+
+#: fdisk/sfdisk.c:2323
+msgid "    -g [or --show-geometry]: print the kernel's idea of the geometry"
+msgstr "    -g  --show-geometry çekirdeğin geometri bilgisini gösterir"
+
+#: fdisk/sfdisk.c:2324
+msgid ""
+"    -G [or --show-pt-geometry]: print geometry guessed from the partition "
+"table"
+msgstr ""
+"    -G [veya --show-pt-geometry]: bölümleme tablosundan alınan geometriyi "
+"basar"
+
+#: fdisk/sfdisk.c:2325
+msgid ""
+"    -x [or --show-extended]: also list extended partitions on output\n"
+"                             or expect descriptors for them on input"
+msgstr ""
+"    -x  --show-extended ek disk bölümlerini gösterir ve\n"
+"                        betimleyicileri için girdi bekler"
+
+#: fdisk/sfdisk.c:2327
+msgid ""
+"    -L  [or --Linux]:      do not complain about things irrelevant for Linux"
+msgstr ""
+"    -L  --Linux         Linux ile alakasız şeyler hakkında hata üretmez"
+
+#: fdisk/sfdisk.c:2328
+msgid "    -q  [or --quiet]:      suppress warning messages"
+msgstr "    -q  --quiet         uyarıları engeller"
+
+#: fdisk/sfdisk.c:2329
+msgid "    You can override the detected geometry using:"
+msgstr "Saptanan geometriyi aşmak için seçenekler:"
+
+#: fdisk/sfdisk.c:2330
+msgid "    -C# [or --cylinders #]:set the number of cylinders to use"
+msgstr "    -C#  --cylinders #  kullanılacak silindir sayısı belirtilir"
+
+#: fdisk/sfdisk.c:2331
+msgid "    -H# [or --heads #]:    set the number of heads to use"
+msgstr "    -H#  --heads #      kulanılacak kafa sayısı belirtilir"
+
+#: fdisk/sfdisk.c:2332
+msgid "    -S# [or --sectors #]:  set the number of sectors to use"
+msgstr "    -S#  --sectors #    kullanılacak sektör sayısı belirtilir"
+
+#: fdisk/sfdisk.c:2333
+msgid "You can disable all consistency checking with:"
+msgstr "Kararlılık denetimlerini etkisizleştirme seçenekleri:"
+
+#: fdisk/sfdisk.c:2334
+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"
+
+#: fdisk/sfdisk.c:2340
+msgid "Usage:"
+msgstr "Kullanımı:"
+
+#: fdisk/sfdisk.c:2341
+#, 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"
+
+#: fdisk/sfdisk.c:2342
+#, 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"
+
+#: fdisk/sfdisk.c:2343
+#, 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"
+
+#: fdisk/sfdisk.c:2463
+#, 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 ""
+
+#: fdisk/sfdisk.c:2466
+#, 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"
+
+#: fdisk/sfdisk.c:2505
+msgid "no command?\n"
+msgstr "Komut?\n"
+
+#: fdisk/sfdisk.c:2637
+#, c-format
+msgid "total: %llu blocks\n"
+msgstr "toplam: %llu blok\n"
+
+#: fdisk/sfdisk.c:2680
+msgid "usage: sfdisk --print-id device partition-number\n"
+msgstr "Kullanımı: sfdisk --print-id aygıt disk-bölümü-numarası\n"
+
+#: fdisk/sfdisk.c:2682
+msgid "usage: sfdisk --change-id device partition-number Id\n"
+msgstr "kullanımı: sfdisk --change-id aygıt disk-bölümü-numarası kimlik\n"
+
+#: fdisk/sfdisk.c:2684
+msgid "usage: sfdisk --id device partition-number [Id]\n"
+msgstr "kullanımı: sfdisk --id aygıt disk-bölümü-numarası [kimlik]\n"
+
+#: fdisk/sfdisk.c:2691
+msgid "can specify only one device (except with -l or -s)\n"
+msgstr "sadece bir aygıt belirtilebilir (-l ya da -s ile gerekir)\n"
+
+#: fdisk/sfdisk.c:2717
+#, c-format
+msgid "cannot open %s read-write\n"
+msgstr "%s oku-yaz açılamıyor\n"
+
+#: fdisk/sfdisk.c:2719
+#, c-format
+msgid "cannot open %s for reading\n"
+msgstr "%s okumak için açılamıyor\n"
+
+#: fdisk/sfdisk.c:2744
+#, c-format
+msgid "%s: OK\n"
+msgstr "%s: TAMAM\n"
+
+#: fdisk/sfdisk.c:2763 fdisk/sfdisk.c:2796
+#, c-format
+msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+msgstr "%s: %ld silindir, %ld kafa, %ld sektör/iz\n"
+
+#: fdisk/sfdisk.c:2815
+#, c-format
+msgid "Cannot get size of %s\n"
+msgstr "%s gibi bir boyut alınamıyor\n"
+
+#: fdisk/sfdisk.c:2895
+#, c-format
+msgid "bad active byte: 0x%x instead of 0x80\n"
+msgstr "hatalı etkin bayt: 0x80 yerine 0x%x\n"
+
+#: fdisk/sfdisk.c:2913 fdisk/sfdisk.c:2968 fdisk/sfdisk.c:3001
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+"Bitti\n"
+"\n"
+
+#: fdisk/sfdisk.c:2922
+#, 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"
+
+#: fdisk/sfdisk.c:2938
+#, c-format
+msgid "partition %s has id %x and is not hidden\n"
+msgstr "%s disk bölümünün kimliği %x ve gizli değil\n"
+
+#: fdisk/sfdisk.c:2997
+#, c-format
+msgid "Bad Id %lx\n"
+msgstr "Kimlik %lx hatalı\n"
+
+#: fdisk/sfdisk.c:3014
+msgid "This disk is currently in use.\n"
+msgstr "Bu disk şu an kullanılıyor.\n"
+
+#: fdisk/sfdisk.c:3033
+#, c-format
+msgid "Fatal error: cannot find %s\n"
+msgstr "Ölümcül hata: %s bulunamıyor\n"
+
+#: fdisk/sfdisk.c:3036
+#, c-format
+msgid "Warning: %s is not a block device\n"
+msgstr "Uyarı: %s bir blok aygıtı değil\n"
+
+#: fdisk/sfdisk.c:3042
+msgid "Checking that no-one is using this disk right now ...\n"
+msgstr "Diskin kullanımda olup olmadığı denetleniyor...\n"
+
+#: fdisk/sfdisk.c:3044
+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"
+
+#: fdisk/sfdisk.c:3048
+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"
+
+#: fdisk/sfdisk.c:3052
+msgid "OK\n"
+msgstr "TAMAM\n"
+
+#: fdisk/sfdisk.c:3061
+#, c-format
+msgid "Old situation:\n"
+msgstr "Eski durum:\n"
+
+#: fdisk/sfdisk.c:3065
+#, c-format
+msgid "Partition %d does not exist, cannot change it\n"
+msgstr "%d. disk bölümü olmadığından geçilemiyor\n"
+
+#: fdisk/sfdisk.c:3073
+#, c-format
+msgid "New situation:\n"
+msgstr "Yeni durum:\n"
+
+#: fdisk/sfdisk.c:3078
+msgid ""
+"I don't like these partitions - nothing changed.\n"
+"(If you really want this, use the --force option.)\n"
+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"
+
+#: fdisk/sfdisk.c:3081
+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"
+
+#: fdisk/sfdisk.c:3086
+#, c-format
+msgid "Are you satisfied with this? [ynq] "
+msgstr "Bundan memnun musunuz? [ehs] "
+
+#: fdisk/sfdisk.c:3088
+#, c-format
+msgid "Do you want to write this to disk? [ynq] "
+msgstr "Bunu diske yazmak ister misiniz? [ehs] "
+
+#: fdisk/sfdisk.c:3093
+#, c-format
+msgid ""
+"\n"
+"sfdisk: premature end of input\n"
+msgstr ""
+"\n"
+"sfdisk: girdi sonu eksik\n"
+
+#: fdisk/sfdisk.c:3095
+msgid "Quitting - nothing changed\n"
+msgstr "Çıkılıyor - Değişiklik yok\n"
+
+#: fdisk/sfdisk.c:3101
+#, c-format
+msgid "Please answer one of y,n,q\n"
+msgstr "Lütfen e, h, s harflerinden biri ile yanıtlayın\n"
+
+#: fdisk/sfdisk.c:3109
+#, 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"
+
+#: fdisk/sfdisk.c:3115
+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"
+
+#: fsck/fsck.c:327
+#, fuzzy, c-format
+msgid "WARNING: couldn't open %s: %s\n"
+msgstr "%s: %s açılamıyor: %s\n"
+
+#: fsck/fsck.c:337
+#, c-format
+msgid "WARNING: bad format on line %d of %s\n"
+msgstr ""
+
+#: fsck/fsck.c:353
+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 ""
+
+#: fsck/fsck.c:461
+#, fuzzy, c-format
+msgid "fsck: %s: not found\n"
+msgstr "umount: %s: yok"
+
+#: fsck/fsck.c:577
+#, c-format
+msgid "%s: wait: No more child process?!?\n"
+msgstr ""
+
+#: fsck/fsck.c:599
+#, c-format
+msgid "Warning... %s for device %s exited with signal %d.\n"
+msgstr ""
+
+#: fsck/fsck.c:605
+#, c-format
+msgid "%s %s: status is %x, should never happen.\n"
+msgstr ""
+
+#: fsck/fsck.c:644
+#, c-format
+msgid "Finished with %s (exit status %d)\n"
+msgstr ""
+
+#: fsck/fsck.c:704
+#, fuzzy, c-format
+msgid "%s: Error %d while executing fsck.%s for %s\n"
+msgstr "%s: sıkıştırma açılırken hata %d! %p(%d)\n"
+
+#: fsck/fsck.c:725
+msgid ""
+"Either all or none of the filesystem types passed to -t must be prefixed\n"
+"with 'no' or '!'.\n"
+msgstr ""
+
+#: fsck/fsck.c:744
+#, fuzzy
+msgid "Couldn't allocate memory for filesystem types\n"
+msgstr "mount: dosya sistemi türünü belirtmelisiniz"
+
+#: fsck/fsck.c:867
+#, c-format
+msgid ""
+"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass "
+"number\n"
+msgstr ""
+
+#: fsck/fsck.c:894
+#, c-format
+msgid "fsck: cannot check %s: fsck.%s not found\n"
+msgstr ""
+
+#: fsck/fsck.c:950
+#, fuzzy
+msgid "Checking all file systems.\n"
+msgstr "%s için dosya sistemi denetimi şart.\n"
+
+#: fsck/fsck.c:1041
+#, c-format
+msgid "--waiting-- (pass %d)\n"
+msgstr ""
+
+#: fsck/fsck.c:1061
+#, 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"
+
+#: fsck/fsck.c:1099
+#, fuzzy, c-format
+msgid "%s: too many devices\n"
+msgstr "%s: %s bir lp aygıtı değil.\n"
+
+#: fsck/fsck.c:1110
+#, fuzzy, c-format
+msgid "Couldn't open %s: %s\n"
+msgstr "%s açılamıyor: %s\n"
+
+#: fsck/fsck.c:1112
+#, fuzzy, c-format
+msgid "Is /proc mounted?\n"
+msgstr "%s sistemden ayrıldı\n"
+
+#: fsck/fsck.c:1121
+#, c-format
+msgid "Must be root to scan for matching filesystems: %s\n"
+msgstr ""
+
+#: fsck/fsck.c:1124
+#, fuzzy, c-format
+msgid "Couldn't find matching filesystem: %s\n"
+msgstr "Kalan dosya istemleri ayrılıyor..."
+
+#: fsck/fsck.c:1132 fsck/fsck.c:1218
+#, fuzzy, c-format
+msgid "%s: too many arguments\n"
+msgstr "%s: bilinmeyen argüman: %s\n"
+
+#: fsck/fsck.c:1252
+#, fuzzy, c-format
+msgid "fsck from %s\n"
+msgstr "%2$s deki %1$s\n"
+
+#: fsck/fsck.c:1264
+#, fuzzy, c-format
+msgid "%s: Unable to allocate memory for fsck_path\n"
+msgstr "Düğümler için tampon bellek ayrılamıyor"
+
+#: getopt/getopt.c:229
+msgid "Try `getopt --help' for more information.\n"
+msgstr "Daha fazla bilgi için `getopt --help' yazınız.\n"
+
+#: getopt/getopt.c:295
+msgid "empty long option after -l or --long argument"
+msgstr "-l ya da --long için argüman olarak uzun seçenek verilmemiş"
+
+#: getopt/getopt.c:315
+msgid "unknown shell after -s or --shell argument"
+msgstr "-s ya da --shell seçenekleri ile belirtilen kabuk bilinmiyor"
+
+#: getopt/getopt.c:320
+msgid "Usage: getopt optstring parameters\n"
+msgstr "Kullanımı: getopt seçenek-dizgesi parametreler\n"
+
+#: getopt/getopt.c:321
+msgid "       getopt [options] [--] optstring parameters\n"
+msgstr "       getopt [seçenekler] [--] seçenek-dizgesi parametreler\n"
+
+#: getopt/getopt.c:322
+msgid "       getopt [options] -o|--options optstring [options] [--]\n"
+msgstr ""
+"       getopt [seçenekler] -o|--options seçenek-dizgesi [seçenekler] [--]\n"
+
+#: getopt/getopt.c:323
+msgid "              parameters\n"
+msgstr "              parametreler\n"
+
+#: getopt/getopt.c:324
+msgid ""
+"  -a, --alternative            Allow long options starting with single -\n"
+msgstr ""
+"  -a, --alternative             tek - ile başlayan uzun seçeneklere izin\n"
+"                                verilir\n"
+
+#: getopt/getopt.c:325
+msgid "  -h, --help                   This small usage guide\n"
+msgstr "  -h, --help                    Bu yardım iletisini gösterir\n"
+
+#: getopt/getopt.c:326
+msgid "  -l, --longoptions=longopts   Long options to be recognized\n"
+msgstr "  -l, --longoptions=uzunSeçnk   tanınacak uzun seçenek belirtilir\n"
+
+#: getopt/getopt.c:327
+msgid ""
+"  -n, --name=progname          The name under which errors are reported\n"
+msgstr "  -n, --name=uygismi            Hatalar bu isim altında raporlanır\n"
+
+#: getopt/getopt.c:328
+msgid "  -o, --options=optstring      Short options to be recognized\n"
+msgstr "  -o, --options=sçnkdizgesi     Tanınacak kısa seçenekler belirtilir\n"
+
+#: getopt/getopt.c:329
+msgid "  -q, --quiet                  Disable error reporting by getopt(3)\n"
+msgstr ""
+"  -q, --quiet                   getopt(3)'un ürettiği hatalar gösterilmez\n"
+
+#: getopt/getopt.c:330
+msgid "  -Q, --quiet-output           No normal output\n"
+msgstr "  -Q, --quiet-output           Normalde verilen çıktı verilmez\n"
+
+#: getopt/getopt.c:331
+msgid "  -s, --shell=shell            Set shell quoting conventions\n"
+msgstr "  -s, --shell=kabukTürü         Kullanılacak kabuk türü belirtilir\n"
+
+#: getopt/getopt.c:332
+msgid "  -T, --test                   Test for getopt(1) version\n"
+msgstr "  -T, --test                    getopt(1) sürümü için test\n"
+
+#: getopt/getopt.c:333
+msgid "  -u, --unqote                 Do not quote the output\n"
+msgstr "  -u, --unqote                  Çıktı tırnak içine alınmaz\n"
+
+#: getopt/getopt.c:334
+msgid "  -V, --version                Output version information\n"
+msgstr "  -V, --version                 Sürüm bilgilerini gösterir\n"
+
+#: getopt/getopt.c:388 getopt/getopt.c:447
+msgid "missing optstring argument"
+msgstr "seçenek-dizgesi verilmemiş"
+
+#: getopt/getopt.c:435
+#, c-format
+msgid "getopt (enhanced) 1.1.4\n"
+msgstr "getopt (gelişmiş) 1.1.4\n"
+
+#: getopt/getopt.c:441
+msgid "internal error, contact the author."
+msgstr "iç hata, yazara bildirin."
+
+#: hwclock/cmos.c:176
+#, c-format
+msgid "booted from MILO\n"
+msgstr "MILO'dan açıldı\n"
+
+#: hwclock/cmos.c:185
+#, c-format
+msgid "Ruffian BCD clock\n"
+msgstr "Ruffian BCD clock\n"
+
+#: hwclock/cmos.c:201
+#, c-format
+msgid "clockport adjusted to 0x%x\n"
+msgstr "saatportu 0x%x'e ayarlandı\n"
+
+#: hwclock/cmos.c:213
+#, c-format
+msgid "funky TOY!\n"
+msgstr "funky TimeOfYear!\n"
+
+#: hwclock/cmos.c:244
+#, c-format
+msgid "%s: atomic %s failed for 1000 iterations!"
+msgstr "%s: 1000 yineleme için atomik %s başarısız!"
+
+#: hwclock/cmos.c:273
+#, c-format
+msgid "cmos_read(): write to control address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:276
+#, c-format
+msgid "cmos_read(): read data address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:307
+#, c-format
+msgid "cmos_write(): write to control address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:311
+#, c-format
+msgid "cmos_write(): write to data address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:574
+#, c-format
+msgid "Cannot open /dev/port: %s"
+msgstr "/dev/port açılamıyor: %s"
+
+#: hwclock/cmos.c:581
+#, c-format
+msgid "I failed to get permission because I didn't try.\n"
+msgstr "Denenmediğinden erişim izinleri alınamadı.\n"
+
+#: hwclock/cmos.c:584
+#, c-format
+msgid "%s is unable to get I/O port access:  the iopl(3) call failed.\n"
+msgstr "%s G/Ç portu erişimi alamıyor: iopl(3) çağrısı başarısız.\n"
+
+#: hwclock/cmos.c:587
+#, c-format
+msgid "Probably you need root privileges.\n"
+msgstr "Size root yetkileri gerekli.\n"
+
+#: hwclock/hwclock.c:231
+#, c-format
+msgid "Assuming hardware clock is kept in %s time.\n"
+msgstr "Donanım saatinin %s de tutulduğu varsayılıyor.\n"
+
+#: hwclock/hwclock.c:232 hwclock/hwclock.c:327
+msgid "UTC"
+msgstr "UTC"
+
+#: hwclock/hwclock.c:232 hwclock/hwclock.c:326
+msgid "local"
+msgstr "yerel"
+
+#: hwclock/hwclock.c:312
+#, c-format
+msgid "%s: Warning: unrecognized third line in adjtime file\n"
+msgstr "%s: Uyarı: adjtime dosyasındaki üçüncü satır anlaşılamadı\n"
+
+#: hwclock/hwclock.c:314
+#, c-format
+msgid "(Expected: `UTC' or `LOCAL' or nothing.)\n"
+msgstr "(Gereken: `UTC', `LOCAL' ya da hiçbiri.)\n"
+
+#: hwclock/hwclock.c:321
+#, 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"
+
+#: hwclock/hwclock.c:323
+#, c-format
+msgid "Last calibration done at %ld seconds after 1969\n"
+msgstr "Son düzeltme 1969 dan sonraki %ld. saniyede yapıldı\n"
+
+#: hwclock/hwclock.c:325
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr "Donanım saati %s den beri açık\n"
+
+#: hwclock/hwclock.c:327
+msgid "unknown"
+msgstr "bilinmeyen"
+
+#: hwclock/hwclock.c:351
+#, c-format
+msgid "Waiting for clock tick...\n"
+msgstr "saat tiki için bekleniyor...\n"
+
+#: hwclock/hwclock.c:357
+#, c-format
+msgid "...synchronization failed\n"
+msgstr ""
+
+#: hwclock/hwclock.c:359
+#, c-format
+msgid "...got clock tick\n"
+msgstr "... saat tiki alındı\n"
+
+#: hwclock/hwclock.c:413
+#, 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"
+
+#: hwclock/hwclock.c:421
+#, 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"
+
+#: hwclock/hwclock.c:451
+#, 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"
+
+#: hwclock/hwclock.c:480
+#, 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"
+
+#: hwclock/hwclock.c:486
+#, c-format
+msgid "Clock not changed - testing only.\n"
+msgstr "Saat değişmeyecek - sadece test ediliyor.\n"
+
+#: hwclock/hwclock.c:536
+#, 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"
+
+#: hwclock/hwclock.c:572
+#, c-format
+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).\n"
+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"
+
+#: hwclock/hwclock.c:582
+#, c-format
+msgid "%s  %.6f seconds\n"
+msgstr "%s  %.6f saniye\n"
+
+#: hwclock/hwclock.c:616
+#, c-format
+msgid "No --date option specified.\n"
+msgstr "--date seçeneği belirtilmemiş.\n"
+
+#: hwclock/hwclock.c:622
+#, c-format
+msgid "--date argument too long\n"
+msgstr "--date ile verilen argüman çok uzun\n"
+
+#: hwclock/hwclock.c:629
+#, c-format
+msgid ""
+"The value of the --date option is not a valid date.\n"
+"In particular, it contains quotation marks.\n"
+msgstr ""
+"--date seçeneğinin değeri geçersiz.\n"
+"Ayrıca tırnak işaretleri de içeriyor.\n"
+
+#: hwclock/hwclock.c:637
+#, c-format
+msgid "Issuing date command: %s\n"
+msgstr "Verilen date komutu: %s\n"
+
+#: hwclock/hwclock.c:641
+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"
+
+#: hwclock/hwclock.c:649
+#, c-format
+msgid "response from date command = %s\n"
+msgstr "date komutunun sonucu = %s\n"
+
+#: hwclock/hwclock.c:651
+#, c-format
+msgid ""
+"The date command issued by %s returned unexpected results.\n"
+"The command was:\n"
+"  %s\n"
+"The response was:\n"
+"  %s\n"
+msgstr ""
+"%s tarafından verilen date komutu anlaşılmayan sonuçlar verdi.\n"
+"Komut:\n"
+"  %s\n"
+"Sonuç:\n"
+"  %s\n"
+
+#: hwclock/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"
+
+#: hwclock/hwclock.c:674
+#, 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"
+
+#: hwclock/hwclock.c:706
+#, c-format
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot set the "
+"System Time from it.\n"
+msgstr ""
+"Donanım Saati geçerli bir zaman değeri içermediğinden Sistem Zamanı o değere "
+"ayarlanamaz.\n"
+
+#: hwclock/hwclock.c:728 hwclock/hwclock.c:805
+#, c-format
+msgid "Calling settimeofday:\n"
+msgstr "settimeofday çağrısı:\n"
+
+#: hwclock/hwclock.c:729 hwclock/hwclock.c:807
+#, c-format
+msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+
+#: hwclock/hwclock.c:731 hwclock/hwclock.c:809
+#, c-format
+msgid "\ttz.tz_minuteswest = %d\n"
+msgstr "\ttz.tz_minuteswest = %d\n"
+
+#: hwclock/hwclock.c:734 hwclock/hwclock.c:812
+#, 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"
+
+#: hwclock/hwclock.c:743 hwclock/hwclock.c:821
+#, c-format
+msgid "Must be superuser to set system clock.\n"
+msgstr "Sistem saatinin ayarlanması root yetkisindedir.\n"
+
+#: hwclock/hwclock.c:746 hwclock/hwclock.c:824
+msgid "settimeofday() failed"
+msgstr "settimeofday() başarısız"
+
+#: hwclock/hwclock.c:782
+#, c-format
+msgid "Current system time: %ld = %s\n"
+msgstr ""
+
+#: hwclock/hwclock.c:806
+#, c-format
+msgid "\tUTC: %s\n"
+msgstr ""
+
+#: hwclock/hwclock.c:853
+#, 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"
+
+#: hwclock/hwclock.c:858
+#, 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"
+
+#: hwclock/hwclock.c:864
+#, 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"
+
+#: hwclock/hwclock.c:912
+#, 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"
+
+#: hwclock/hwclock.c:962
+#, c-format
+msgid "Time since last adjustment is %d seconds\n"
+msgstr "Son ayarlamadan beri %d saniye geçti\n"
+
+#: hwclock/hwclock.c:964
+#, 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"
+
+#: hwclock/hwclock.c:993
+#, c-format
+msgid "Not updating adjtime file because of testing mode.\n"
+msgstr "adjtime dosyası test kipinde olunduğundan güncellenmiyor.\n"
+
+#: hwclock/hwclock.c:994
+#, c-format
+msgid ""
+"Would have written the following to %s:\n"
+"%s"
+msgstr ""
+"Aşağıdaki %s e yazılmalı:\n"
+"%s"
+
+#: hwclock/hwclock.c:1002
+#, c-format
+msgid ""
+"Could not open file with the clock adjustment parameters in it (%s) for "
+"writing"
+msgstr ""
+
+#: hwclock/hwclock.c:1007 hwclock/hwclock.c:1012
+#, c-format
+msgid "Could not update file with the clock adjustment parameters (%s) in it"
+msgstr ""
+
+#: hwclock/hwclock.c:1018
+#, c-format
+msgid "Drift adjustment parameters not updated.\n"
+msgstr "Sapma ayar parametreleri güncellenmedi.\n"
+
+#: hwclock/hwclock.c:1059
+#, c-format
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot adjust it.\n"
+msgstr "Donanım saati geçerli bir zaman içermediğinden ayarlanamıyor.\n"
+
+#: hwclock/hwclock.c:1067
+#, 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"
+
+#: hwclock/hwclock.c:1090
+#, 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"
+
+#: hwclock/hwclock.c:1116
+#, c-format
+msgid "Using %s.\n"
+msgstr "%s kullanarak.\n"
+
+#: hwclock/hwclock.c:1118
+#, c-format
+msgid "No usable clock interface found.\n"
+msgstr "Kullanılabilir bir saat arayüzü yok.\n"
+
+#: hwclock/hwclock.c:1222 hwclock/hwclock.c:1228
+#, c-format
+msgid "Unable to set system clock.\n"
+msgstr "Sistem saati ayarlanamıyor.\n"
+
+#: hwclock/hwclock.c:1258
+#, c-format
+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.\n"
+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"
+
+#: hwclock/hwclock.c:1267
+#, c-format
+msgid "Unable to get the epoch value from the kernel.\n"
+msgstr "Çekirdekten dönemsellik değeri alınamıyor.\n"
+
+#: hwclock/hwclock.c:1269
+#, c-format
+msgid "Kernel is assuming an epoch value of %lu\n"
+msgstr "Çekirdek dönemsellik değerini %lu varsayıyor\n"
+
+#: hwclock/hwclock.c:1272
+#, c-format
+msgid ""
+"To set the epoch value, you must use the 'epoch' option to tell to what "
+"value to set it.\n"
+msgstr ""
+"Dönemsellik değerinin ayarlanabilmesi için, ayarlanacak değeri 'epoch' "
+"seçeneği ile vermelisiniz.\n"
+
+#: hwclock/hwclock.c:1275
+#, c-format
+msgid "Not setting the epoch to %d - testing only.\n"
+msgstr "Dönemsellik %d olarak ayarlanmayacak - sadece test ediliyor.\n"
+
+#: hwclock/hwclock.c:1278
+#, c-format
+msgid "Unable to set the epoch value in the kernel.\n"
+msgstr "Çekirdekte dönemsellik değeri ayarlanamıyor.\n"
+
+#: hwclock/hwclock.c:1291 misc-utils/cal.c:345 misc-utils/kill.c:189
+#, c-format
+msgid "%s from %s\n"
+msgstr "%2$s deki %1$s\n"
+
+#: hwclock/hwclock.c:1312
+#, fuzzy, c-format
+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"
+"  -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"
+
+#: hwclock/hwclock.c:1347
+#, fuzzy, c-format
+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"
+
+#: hwclock/hwclock.c:1434
+#, fuzzy, c-format
+msgid "%s: Unable to connect to audit system\n"
+msgstr "Sistem saati ayarlanamıyor.\n"
+
+#: hwclock/hwclock.c:1552
+#, c-format
+msgid "%s takes no non-option arguments.  You supplied %d.\n"
+msgstr "%s seçeneği argüman almaz.  %d verildi.\n"
+
+#: hwclock/hwclock.c:1559
+#, c-format
+msgid ""
+"You have specified multiple functions.\n"
+"You can only perform one function at a time.\n"
+msgstr ""
+"Çok sayıda işlev belirttiniz.\n"
+"Bir defada sadece bir işlev uygulanabilir.\n"
+
+#: hwclock/hwclock.c:1566
+#, c-format
+msgid ""
+"%s: The --utc and --localtime options are mutually exclusive.  You specified "
+"both.\n"
+msgstr ""
+"%s: --utc ve --localtime seçenekleri birbiriyle çelişiyor.  İkisi de "
+"belirtilmiş.\n"
+
+#: hwclock/hwclock.c:1573
+#, c-format
+msgid ""
+"%s: The --adjust and --noadjfile options are mutually exclusive.  You "
+"specified both.\n"
+msgstr ""
+"%s:  --adjust ve --noadjfile seçenekleri birbiriyle çelişir.\n"
+"Siz ikisini de belirtmişsiniz.\n"
+
+#: hwclock/hwclock.c:1580
+#, fuzzy, c-format
+msgid ""
+"%s: The --adjfile and --noadjfile options are mutually exclusive.  You "
+"specified both.\n"
+msgstr ""
+"%s:  --adjust ve --noadjfile seçenekleri birbiriyle çelişir.\n"
+"Siz ikisini de belirtmişsiniz.\n"
+
+#: hwclock/hwclock.c:1589
+#, c-format
+msgid "%s: With --noadjfile, you must specify either --utc or --localtime\n"
+msgstr "%s: --noadjfile ile ya --utc ya da --localtime belirtilmelidir\n"
+
+#: hwclock/hwclock.c:1603
+#, c-format
+msgid "No usable set-to time.  Cannot set clock.\n"
+msgstr "Zaman ayarlama kullanımdışı.  Saat ayarlanamaz.\n"
+
+#: hwclock/hwclock.c:1620
+#, c-format
+msgid "Sorry, only the superuser can change the Hardware Clock.\n"
+msgstr "Donanım saati sadece root tarafından değiştirilebilir.\n"
+
+#: hwclock/hwclock.c:1625
+#, c-format
+msgid "Sorry, only the superuser can change the System Clock.\n"
+msgstr "Sistem saati sadece root tarafından değiştirilebilir.\n"
+
+#: hwclock/hwclock.c:1630
+#, c-format
+msgid ""
+"Sorry, only the superuser can change the Hardware Clock epoch in the "
+"kernel.\n"
+msgstr ""
+"Çekirdekteki Donanım Saati dönemsellik değeri sadece root tarafından "
+"değiştirilebilir.\n"
+
+#: hwclock/hwclock.c:1651
+#, c-format
+msgid "Cannot access the Hardware Clock via any known method.\n"
+msgstr "Bilinen her hangi bir yöntemle Donanım Saatine erişilemiyor.\n"
+
+#: hwclock/hwclock.c:1655
+#, c-format
+msgid ""
+"Use the --debug option to see the details of our search for an access "
+"method.\n"
+msgstr ""
+"Bir erişim yöntemi için arama ayrıntılarını görmek için --debug seçeneğini "
+"kullanın.\n"
+
+#: hwclock/kd.c:53
+#, 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"
+
+#: hwclock/kd.c:56
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr "KDGHWCLK ioctl zamanı okumada başarısız"
+
+#: hwclock/kd.c:77 hwclock/rtc.c:221
+#, c-format
+msgid "Timed out waiting for time change.\n"
+msgstr "Zamanı değiştirmek için zamanaşımı bekleniyor.\n"
+
+#: hwclock/kd.c:81
+msgid "KDGHWCLK ioctl to read time failed in loop"
+msgstr "KDGHWCLK ioctl çevrim içinde zamanı okumada başarısız"
+
+#: hwclock/kd.c:103
+#, c-format
+msgid "ioctl() failed to read time from %s"
+msgstr "ioctl() %s den zamanı okuyamadı"
+
+#: hwclock/kd.c:139
+msgid "ioctl KDSHWCLK failed"
+msgstr "ioctl KDSHWCLK başarısız"
+
+#: hwclock/kd.c:175
+msgid "Can't open /dev/tty1 or /dev/vc/1"
+msgstr "/dev/tty1 veya /dev/vc/1 açılamıyor"
+
+#: hwclock/kd.c:179
+msgid "KDGHWCLK ioctl failed"
+msgstr "KDGHWCLK ioctl başarısız"
+
+#: hwclock/rtc.c:147 hwclock/rtc.c:241
+#, c-format
+msgid "open() of %s failed"
+msgstr "%s için open() işlevi hata verdi"
+
+#: hwclock/rtc.c:181
+#, c-format
+msgid "ioctl() to %s to read the time failed.\n"
+msgstr "ioctl() %s den zaman okumada başarısız\n"
+
+#: hwclock/rtc.c:203
+#, 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"
+
+#: hwclock/rtc.c:259
+#, c-format
+msgid "%s does not have interrupt functions. "
+msgstr "%s için kesme işlevleri yok."
+
+#: hwclock/rtc.c:270
+#, c-format
+msgid "read() to %s to wait for clock tick failed"
+msgstr "read() %s den saat darbesi beklerken hata verdi"
+
+#: hwclock/rtc.c:288
+#, c-format
+msgid "select() to %s to wait for clock tick failed"
+msgstr "select() %s den saat darbesi beklerken hata verdi"
+
+#: hwclock/rtc.c:291
+#, c-format
+msgid "select() to %s to wait for clock tick timed out\n"
+msgstr "select() %s den saat darbesi beklerken zamanaşımına uğradı\n"
+
+#: hwclock/rtc.c:300
+#, c-format
+msgid "ioctl() to %s to turn off update interrupts failed"
+msgstr "ioctl() %s den güncelleme kesmelerini durduramadı"
+
+#: hwclock/rtc.c:303
+#, 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"
+
+#: hwclock/rtc.c:360
+#, c-format
+msgid "ioctl() to %s to set the time failed.\n"
+msgstr "ioctl() %s den zamanı ayarlayamadı.\n"
+
+#: hwclock/rtc.c:366
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr "ioctl(%s) başarıldı.\n"
+
+#: hwclock/rtc.c:392
+#, c-format
+msgid "Open of %s failed"
+msgstr "%s açılamadı"
+
+#: hwclock/rtc.c:410 hwclock/rtc.c:454
+#, 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.\n"
+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"
+
+#: hwclock/rtc.c:415 hwclock/rtc.c:459
+#, c-format
+msgid "Unable to open %s"
+msgstr "%s açılamıyor"
+
+#: hwclock/rtc.c:422
+#, c-format
+msgid "ioctl(RTC_EPOCH_READ) to %s failed"
+msgstr "ioctl(RTC_EPOCH_READ) %s için başarısız"
+
+#: hwclock/rtc.c:427
+#, 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"
+
+#: hwclock/rtc.c:446
+#, c-format
+msgid "The epoch value may not be less than 1900.  You requested %ld\n"
+msgstr ""
+"Dönemsellik değerinin başlangıcı 1900 yılından önce olamaz.  %ld istendi.\n"
+
+#: hwclock/rtc.c:464
+#, 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"
+
+#: hwclock/rtc.c:469
+#, c-format
+msgid ""
+"The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl.\n"
+msgstr "%s için çekirdek aygıt sürücüsünde RTC_EPOCH_SET ioctl yok.\n"
+
+#: hwclock/rtc.c:472
+#, c-format
+msgid "ioctl(RTC_EPOCH_SET) to %s failed"
+msgstr "ioctl(RTC_EPOCH_SET) %s için hata verdi"
+
+#: login-utils/agetty.c:361
+#, c-format
+msgid "%s: can't exec %s: %m"
+msgstr "%s: %s çalıştırılamıyor: %m"
+
+#: login-utils/agetty.c:384
+msgid "can't malloc initstring"
+msgstr "başlatma dizgesi için yer ayrılamıyor"
+
+#: login-utils/agetty.c:449
+#, c-format
+msgid "bad timeout value: %s"
+msgstr "zaman aşımı değeri hatalı: %s"
+
+#: login-utils/agetty.c:526
+#, c-format
+msgid "bad speed: %s"
+msgstr "hatalı hız: %s"
+
+#: login-utils/agetty.c:528
+msgid "too many alternate speeds"
+msgstr "almaşık hız çok yüksek"
+
+#: login-utils/agetty.c:630
+#, c-format
+msgid "/dev: chdir() failed: %m"
+msgstr "/dev: chdir() başarısız: %m"
+
+#: login-utils/agetty.c:634
+#, c-format
+msgid "/dev/%s: not a character device"
+msgstr "/dev/%s: bir karakter aygıtı değil"
+
+#: login-utils/agetty.c:643
+#, c-format
+msgid "/dev/%s: cannot open as standard input: %m"
+msgstr "/dev/%s: standart girdi olarak açılamıyor: %m"
+
+#: login-utils/agetty.c:653
+#, c-format
+msgid "%s: not open for read/write"
+msgstr "%s: oku/yaz için açık değil"
+
+#: login-utils/agetty.c:659
+#, c-format
+msgid "%s: dup problem: %m"
+msgstr "%s: çoğaltma sorunu: %m"
+
+#: login-utils/agetty.c:946
+#, c-format
+msgid "user"
+msgstr "kullanıcı"
+
+#: login-utils/agetty.c:946
+#, c-format
+msgid "users"
+msgstr "kullanıcı"
+
+#: login-utils/agetty.c:1031
+#, c-format
+msgid "%s: read: %m"
+msgstr "%s: okunan: %m"
+
+#: login-utils/agetty.c:1078
+#, c-format
+msgid "%s: input overrun"
+msgstr "%s: girdi geçersiz"
+
+#: login-utils/agetty.c:1207
+#, fuzzy, c-format
+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 ""
+"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"
+
+#: login-utils/checktty.c:91 login-utils/checktty.c:112
+#, c-format
+msgid "login: memory low, login may fail\n"
+msgstr "giriş: bellek az, giriş yapılamayabilir\n"
+
+#: login-utils/checktty.c:92
+msgid "can't malloc for ttyclass"
+msgstr "ttyclass için bellek ayrılamadı"
+
+#: login-utils/checktty.c:113
+msgid "can't malloc for grplist"
+msgstr "grplist için bellek ayrılamadı"
+
+#: login-utils/checktty.c:554
+#, c-format
+msgid "Login on %s from %s denied by default.\n"
+msgstr "%s üzerinden %s makinasına girişe öntanımlı olarak izin verilmedi.\n"
+
+#: login-utils/checktty.c:565
+#, c-format
+msgid "Login on %s from %s denied.\n"
+msgstr "%s üzerinden %s makinasına girişe izin verilmedi.\n"
+
+#: login-utils/chfn.c:133 login-utils/chsh.c:119
+#, c-format
+msgid "%s: you (user %d) don't exist.\n"
+msgstr "%s: Siz (%d) yoksunuz.\n"
+
+#: login-utils/chfn.c:140 login-utils/chsh.c:126
+#, c-format
+msgid "%s: user \"%s\" does not exist.\n"
+msgstr "%s: \"%s\" yok.\n"
+
+#: login-utils/chfn.c:145 login-utils/chsh.c:131
+#, c-format
+msgid "%s: can only change local entries; use yp%s instead.\n"
+msgstr "%s: sadece yerel girdileri değiştirebilir; yerine yp%s kullanın.\n"
+
+#: login-utils/chfn.c:156 login-utils/chsh.c:142
+msgid "Unknown user context"
+msgstr "Kullanıcı bağlamı bilinmiyor"
+
+#: login-utils/chfn.c:157
+#, c-format
+msgid "%s: %s is not authorized to change the finger info of %s\n"
+msgstr ""
+"%s: %s, %s kullanıcısının kişisel bilgilerini değiştirmeye yetkili değil\n"
+
+#: login-utils/chfn.c:164 login-utils/chsh.c:150
+#, c-format
+msgid "%s: Can't set default context for /etc/passwd"
+msgstr "%s: /etc/passwd için öntanımlı bağlam belirtilemiyor"
+
+#: login-utils/chfn.c:178
+#, c-format
+msgid "Changing finger information for %s.\n"
+msgstr "%s için kullanıcı bilgileri değiştiriliyor.\n"
+
+#: login-utils/chfn.c:189 login-utils/chsh.c:188 login-utils/login.c:572
+#, fuzzy, c-format
+msgid "%s: PAM failure, aborting: %s\n"
+msgstr "login: PAM hatası, çıkılıyor: %s\n"
+
+#: login-utils/chfn.c:212 login-utils/chsh.c:211 login-utils/login.c:823
+#: login-utils/newgrp.c:85 login-utils/simpleinit.c:340 mount/lomount.c:744
+#: mount/lomount.c:747
+msgid "Password: "
+msgstr "Parola: "
+
+#: login-utils/chfn.c:215 login-utils/chsh.c:214
+msgid "Incorrect password."
+msgstr "Parola yanlış."
+
+#: login-utils/chfn.c:226
+#, c-format
+msgid "Finger information not changed.\n"
+msgstr "Kullanıcı bilgileri değişmedi.\n"
+
+#: login-utils/chfn.c:328
+#, c-format
+msgid "Usage: %s [ -f full-name ] [ -o office ] "
+msgstr "Kullanımı: %s [ -f ad-soyadı ] [ -o iş yeri ] "
+
+#: login-utils/chfn.c:329
+#, c-format
+msgid ""
+"[ -p office-phone ]\n"
+"\t[ -h home-phone ] "
+msgstr ""
+"[ -p iş-telefonu ]\n"
+"\t[ -h ev-telefonu ] "
+
+#: login-utils/chfn.c:330
+#, c-format
+msgid "[ --help ] [ --version ]\n"
+msgstr "[ --help ] [ --version ]\n"
+
+#: login-utils/chfn.c:378
+msgid "Office"
+msgstr ""
+
+#: login-utils/chfn.c:379
+msgid "Office Phone"
+msgstr ""
+
+#: login-utils/chfn.c:380
+msgid "Home Phone"
+msgstr ""
+
+#: login-utils/chfn.c:401 login-utils/chsh.c:321
+#, c-format
+msgid ""
+"\n"
+"Aborted.\n"
+msgstr ""
+"\n"
+"Bırakıldı.\n"
+
+#: login-utils/chfn.c:434
+#, c-format
+msgid "field is too long.\n"
+msgstr "alan çok uzun.\n"
+
+#: login-utils/chfn.c:442
+#, c-format
+msgid "'%c' is not allowed.\n"
+msgstr "'%c' kullanılamaz.\n"
+
+#: login-utils/chfn.c:447
+#, c-format
+msgid "Control characters are not allowed.\n"
+msgstr "Kontrol karakterleri kullanılamaz.\n"
+
+#: login-utils/chfn.c:512
+#, 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:515
+#, c-format
+msgid "Finger information changed.\n"
+msgstr "Kullanıcı bilgileri değiştirildi.\n"
+
+#: login-utils/chsh.c:143
+#, c-format
+msgid "%s: %s is not authorized to change the shell of %s\n"
+msgstr "%s: %s, %s kullanıcısının kabuğunu değiştirmeye yetkili değil\n"
+
+#: login-utils/chsh.c:164
+#, c-format
+msgid ""
+"%s: Running UID doesn't match UID of user we're altering, shell change "
+"denied\n"
+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:170
+#, c-format
+msgid "%s: Your shell is not in /etc/shells, shell change denied\n"
+msgstr "%s: Bu kabuk /etc/shells dosyasında yok, kabuk değiştirilemedi\n"
+
+#: login-utils/chsh.c:177
+#, c-format
+msgid "Changing shell for %s.\n"
+msgstr "%s için kabuk değiştiriliyor.\n"
+
+#: login-utils/chsh.c:222
+msgid "New shell"
+msgstr "Yeni kabuk"
+
+#: login-utils/chsh.c:229
+#, c-format
+msgid "Shell not changed.\n"
+msgstr "Kabuk değiştirilmedi,\n"
+
+#: login-utils/chsh.c:235
+#, c-format
+msgid "Shell *NOT* changed.  Try again later.\n"
+msgstr "Kabuk değiştirilemedi. Daha sonra tekrar deneyin.\n"
+
+#: login-utils/chsh.c:238
+#, c-format
+msgid "Shell changed.\n"
+msgstr "Kabuk değiştirildi.\n"
+
+#: login-utils/chsh.c:303
+#, c-format
+msgid ""
+"Usage: %s [ -s shell ] [ --list-shells ] [ --help ] [ --version ]\n"
+"       [ username ]\n"
+msgstr ""
+"Kullanımı: %s [ -s kabuk ] [ --list-shells ] [ --help ] [ --version ]\n"
+"       [ kullanıcı_ismi ]\n"
+
+#: login-utils/chsh.c:349
+#, c-format
+msgid "%s: shell must be a full path name.\n"
+msgstr "%s: kabuk tam bir dosya yolu içermeli.\n"
+
+#: login-utils/chsh.c:353
+#, c-format
+msgid "%s: \"%s\" does not exist.\n"
+msgstr "%s: \"%s\" yok.\n"
+
+#: login-utils/chsh.c:357
+#, c-format
+msgid "%s: \"%s\" is not executable.\n"
+msgstr "%s: \"%s\" çalıştırılabilir değil.\n"
+
+#: login-utils/chsh.c:364
+#, c-format
+msgid "%s: '%c' is not allowed.\n"
+msgstr "%s: '%c' kullanılamaz.\n"
+
+#: login-utils/chsh.c:368
+#, c-format
+msgid "%s: Control characters are not allowed.\n"
+msgstr "%s: Kontrol karakterleri kullanılamaz.\n"
+
+#: login-utils/chsh.c:375 login-utils/chsh.c:385
+#, c-format
+msgid "Warning: \"%s\" is not listed in /etc/shells.\n"
+msgstr "Uyarı: \"%s\" /etc/shells dosyasında yok.\n"
+
+#: login-utils/chsh.c:377
+#, c-format
+msgid "%s: \"%s\" is not listed in /etc/shells.\n"
+msgstr "%s: \"%s\"  /etc/shells dosyasında yok.\n"
+
+#: login-utils/chsh.c:379
+#, fuzzy, c-format
+msgid "%s: Use -l option to see list.\n"
+msgstr "%s: listeyi görmek için  -l seçeneğini kullanın\n"
+
+#: login-utils/chsh.c:386
+#, c-format
+msgid "Use %s -l to see list.\n"
+msgstr "Listeyi görmek için %s -l kullanın.\n"
+
+#: login-utils/chsh.c:406
+#, c-format
+msgid "No known shells.\n"
+msgstr "Kullanılabilecek kabuklar belirlenmemiş.\n"
+
+#: login-utils/islocal.c:87
+#, fuzzy, c-format
+msgid "Failed to open %s for reading, exiting."
+msgstr "%s okumak için açılamıyor"
+
+#: login-utils/last.c:148
+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:284
+msgid "  still logged in"
+msgstr "  şu an sistemde"
+
+#: login-utils/last.c:306
+#, c-format
+msgid ""
+"\n"
+"wtmp begins %s"
+msgstr ""
+"\n"
+"wtmp kayıtlarının başlangıcı: %s"
+
+#: login-utils/last.c:362 login-utils/last.c:380 login-utils/last.c:431
+msgid "last: malloc failure.\n"
+msgstr "last: bellek ayrılamadı.\n"
+
+#: login-utils/last.c:407
+msgid "last: gethostname"
+msgstr "last: gethostname"
+
+#: login-utils/last.c:456
+#, c-format
+msgid ""
+"\n"
+"interrupted %10.10s %5.5s \n"
+msgstr ""
+"\n"
+"durduruldu: %10.10s %5.5s \n"
+
+#: login-utils/login.c:197
+#, c-format
+msgid "FATAL: can't reopen tty: %s"
+msgstr "ÖLÜMCÜL: tty tekrar açılamıyor: %s"
+
+#: login-utils/login.c:229
+msgid "FATAL: bad tty"
+msgstr "ÖLÜMCÜL: tty hatalı"
+
+#: login-utils/login.c:436
+#, c-format
+msgid "login: -h for super-user only.\n"
+msgstr "login: -h sadece root tarafından kullanılabilir.\n"
+
+#: login-utils/login.c:479
+#, c-format
+msgid "usage: login [-fp] [username]\n"
+msgstr "Kullanımı: login [-fp] [kullanıcı]\n"
+
+#: login-utils/login.c:574
+#, c-format
+msgid "Couldn't initialize PAM: %s"
+msgstr "PAM başlatılamadı: %s"
+
+#: login-utils/login.c:591
+msgid "login: "
+msgstr "Kullanıcı ismi: "
+
+#: login-utils/login.c:635
+#, c-format
+msgid "FAILED LOGIN %d FROM %s FOR %s, %s"
+msgstr "%3$s %2$s ÜZERİNDEN %1$d DEFA GİREMEDİ, %4$s"
+
+#: login-utils/login.c:640
+#, c-format
+msgid ""
+"Login incorrect\n"
+"\n"
+msgstr ""
+"Giriş başarısız\n"
+"\n"
+
+#: login-utils/login.c:649
+#, c-format
+msgid "TOO MANY LOGIN TRIES (%d) 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:653
+#, 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:658
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+"\n"
+"Giriş başarısız\n"
+
+#: login-utils/login.c:686 login-utils/login.c:693 login-utils/login.c:727
+#, c-format
+msgid ""
+"\n"
+"Session setup problem, abort.\n"
+msgstr ""
+"\n"
+"Oturum ayarları sorunu, çıkılıyor.\n"
+
+#: login-utils/login.c:687
+#, 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:694
+#, 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:713
+#, c-format
+msgid "login: Out of memory\n"
+msgstr "login: Bellek yetersiz\n"
+
+#: login-utils/login.c:757
+msgid "Illegal username"
+msgstr "Kullanıcı ismi kuraldışı"
+
+#: login-utils/login.c:800
+#, c-format
+msgid "%s login refused on this terminal.\n"
+msgstr "%s için bu terminalden giriş reddedildi.\n"
+
+#: login-utils/login.c:805
+#, c-format
+msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
+msgstr "%s İÇİN %s MAKİNASINDAN %s TERMİNALİNE GİRİŞ REDDEDİLDİ"
+
+#: login-utils/login.c:809
+#, c-format
+msgid "LOGIN %s REFUSED ON TTY %s"
+msgstr "%s İÇİN %s TERMİNALİNE GİRİŞ REDDEDİLDİ"
+
+#: login-utils/login.c:863
+#, c-format
+msgid "Login incorrect\n"
+msgstr "Giriş başarısız\n"
+
+#: login-utils/login.c:1088
+#, c-format
+msgid "DIALUP AT %s BY %s"
+msgstr "%s ÜZERİNDEN %s İSMİYLE DIALUP"
+
+#: login-utils/login.c:1095
+#, c-format
+msgid "ROOT LOGIN ON %s FROM %s"
+msgstr "%s ÜZERİNDEN %s MAKİNASINA ROOT GİRİŞİ"
+
+#: login-utils/login.c:1098
+#, c-format
+msgid "ROOT LOGIN ON %s"
+msgstr "%s ÜZERİNDE ROOT GİRİŞİ"
+
+#: login-utils/login.c:1101
+#, c-format
+msgid "LOGIN ON %s BY %s FROM %s"
+msgstr "%s ÜZERİNDEN %s, %s MAKİNASINA GİRDİ"
+
+#: login-utils/login.c:1104
+#, c-format
+msgid "LOGIN ON %s BY %s"
+msgstr "%s ÜZERİNDEN %s SİSTEME GİRDİ"
+
+#: login-utils/login.c:1125
+#, c-format
+msgid "You have new mail.\n"
+msgstr "Yeni e-postanız var.\n"
+
+#: login-utils/login.c:1127
+#, c-format
+msgid "You have mail.\n"
+msgstr "E-postanız var.\n"
+
+#: login-utils/login.c:1171
+#, c-format
+msgid "login: failure forking: %s"
+msgstr "login: ast süreç oluşturma başarısız: %s"
+
+#: login-utils/login.c:1218
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr "TIOCSCTTY başarısız: %m"
+
+#: login-utils/login.c:1224
+msgid "setuid() failed"
+msgstr "setuid() başarısız"
+
+#: login-utils/login.c:1230
+#, c-format
+msgid "No directory %s!\n"
+msgstr "%s dizini yok!\n"
+
+#: login-utils/login.c:1234
+#, c-format
+msgid "Logging in with home = \"/\".\n"
+msgstr "Ev dizini \"/\" ile giriş.\n"
+
+#: login-utils/login.c:1242
+#, c-format
+msgid "login: no memory for shell script.\n"
+msgstr "login: kabuk betiği için bellek yetersiz.\n"
+
+#: login-utils/login.c:1269
+#, c-format
+msgid "login: couldn't exec shell script: %s.\n"
+msgstr "login: kabuk betiği çalıştırılamadı: %s.\n"
+
+#: login-utils/login.c:1272
+#, c-format
+msgid "login: no shell: %s.\n"
+msgstr "login: kabuk yok: %s.\n"
+
+#: login-utils/login.c:1287
+#, c-format
+msgid ""
+"\n"
+"%s login: "
+msgstr ""
+"\n"
+"%s kullanıcı ismi: "
+
+#: login-utils/login.c:1298
+#, c-format
+msgid "login name much too long.\n"
+msgstr "Kullanıcı adınız çok uzun.\n"
+
+#: login-utils/login.c:1299
+msgid "NAME too long"
+msgstr "İSİM çok uzun"
+
+#: login-utils/login.c:1306
+#, c-format
+msgid "login names may not start with '-'.\n"
+msgstr "kullanıcı isimleri bir '-' ile başlayamaz.\n"
+
+#: login-utils/login.c:1316
+#, c-format
+msgid "too many bare linefeeds.\n"
+msgstr "çok fazla boş geçildi.\n"
+
+#: login-utils/login.c:1317
+msgid "EXCESSIVE linefeeds"
+msgstr "HADDİNDEN FAZLA boş giriş"
+
+#: login-utils/login.c:1349
+#, c-format
+msgid "Login timed out after %d seconds\n"
+msgstr "Giriş %d saniye sonra zaman aşımına uğradı\n"
+
+#: login-utils/login.c:1437
+#, c-format
+msgid "Last login: %.*s "
+msgstr "Son giriş: %.*s "
+
+#: login-utils/login.c:1441
+#, c-format
+msgid "from %.*s\n"
+msgstr "sularında %.*s makinasına yapıldı\n"
+
+#: login-utils/login.c:1444
+#, c-format
+msgid "on %.*s\n"
+msgstr "sularında %.*s konsoluna yapıldı\n"
+
+#: login-utils/login.c:1470
+#, c-format
+msgid "LOGIN FAILURE FROM %s, %s"
+msgstr "%s MAKİNASINDAN %s GİRİŞİ BAŞARISIZ"
+
+#: login-utils/login.c:1473
+#, c-format
+msgid "LOGIN FAILURE ON %s, %s"
+msgstr "%s ÜZERİNDEN %s GİRİŞİ BAŞARISIZ"
+
+#: login-utils/login.c:1477
+#, c-format
+msgid "%d LOGIN FAILURES FROM %s, %s"
+msgstr "%3$s %2$s MAKİNASINDAN %1$d KERE GİREMEDİ"
+
+#: login-utils/login.c:1480
+#, c-format
+msgid "%d LOGIN FAILURES ON %s, %s"
+msgstr "%3$s %2$s ÜZERİNDEN %1$d KERE GİREMEDİ"
+
+#: login-utils/mesg.c:89
+#, c-format
+msgid "is y\n"
+msgstr "Başkaları uçbirime yazabilir.\n"
+
+#: login-utils/mesg.c:92
+#, c-format
+msgid "is n\n"
+msgstr "Başkaları uçbirime yazamaz.\n"
+
+#: login-utils/mesg.c:112
+#, c-format
+msgid "usage: mesg [y | n]\n"
+msgstr "Kullanımı: mesg [y | n]\n"
+
+#: login-utils/newgrp.c:105
+msgid "newgrp: Who are you?"
+msgstr "newgrp: Siz kim siniz?"
+
+#: login-utils/newgrp.c:113 login-utils/newgrp.c:127
+msgid "newgrp: setgid"
+msgstr "newgrp: setgid"
+
+#: login-utils/newgrp.c:120 login-utils/newgrp.c:122
+msgid "newgrp: No such group."
+msgstr "newgrp: Böyle bir grup yok."
+
+#: login-utils/newgrp.c:131
+msgid "newgrp: Permission denied"
+msgstr "newgrp: Erişim engellendi"
+
+#: login-utils/newgrp.c:138
+msgid "newgrp: setuid"
+msgstr "newgrp: setuid"
+
+#: login-utils/newgrp.c:144
+msgid "No shell"
+msgstr "Kabuk yok"
+
+#: login-utils/shutdown.c:115
+#, c-format
+msgid "Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+msgstr "Kullanımı: shutdown [-h|-r] [-fqs] [now|hh:ss|+dakika]\n"
+
+#: login-utils/shutdown.c:133
+msgid "Shutdown process aborted"
+msgstr "Kapatma işlemi durduruldu"
+
+#: login-utils/shutdown.c:164
+#, c-format
+msgid "%s: Only root can shut a system down.\n"
+msgstr "%s: Sadece root sistemi kapatabilir.\n"
+
+#: login-utils/shutdown.c:258
+#, c-format
+msgid "That must be tomorrow, can't you wait till then?\n"
+msgstr "Düne kadar bekleyebilecek misiniz?\n"
+
+#: login-utils/shutdown.c:309
+msgid "for maintenance; bounce, bounce"
+msgstr "teşhis için; zıpla, zıpla"
+
+#: login-utils/shutdown.c:338
+msgid "The system is being shut down within 5 minutes"
+msgstr "Sistem 5 dakikaya kadar kapanıyor"
+
+#: login-utils/shutdown.c:342
+msgid "Login is therefore prohibited."
+msgstr "Bu nedenle girişler yasaklandı."
+
+#: login-utils/shutdown.c:364
+#, c-format
+msgid "rebooted by %s: %s"
+msgstr "%s tarafından yaeniden başlatıldı: %s"
+
+#: login-utils/shutdown.c:367
+#, c-format
+msgid "halted by %s: %s"
+msgstr "%s tarafından kapatıldı: %s"
+
+#: login-utils/shutdown.c:431
+msgid ""
+"\n"
+"Why am I still alive after reboot?"
+msgstr ""
+"\n"
+"Tekrar görüşmek üzere..."
+
+#: login-utils/shutdown.c:433
+msgid ""
+"\n"
+"Now you can turn off the power..."
+msgstr ""
+"\n"
+"Şimdi makinanın enerjisini kesebilirsiniz..."
+
+#: login-utils/shutdown.c:449
+#, c-format
+msgid "Calling kernel power-off facility...\n"
+msgstr "Çekirdekteki enerji kapatma sistemi çağrılıyor...\n"
+
+#: login-utils/shutdown.c:452
+#, c-format
+msgid "Error powering off\t%s\n"
+msgstr "Enerji kapatılırken hata oluştu\t%s\n"
+
+#: login-utils/shutdown.c:460
+#, c-format
+msgid "Executing the program \"%s\" ...\n"
+msgstr "\"%s\" uygulaması çalıştırılıyor ...\n"
+
+#: login-utils/shutdown.c:463
+#, c-format
+msgid "Error executing\t%s\n"
+msgstr "Çalıştırma sırasında hata\t%s\n"
+
+#: login-utils/shutdown.c:490
+#, c-format
+msgid "URGENT: broadcast message from %s:"
+msgstr "ÖNEMLİ: %s'den uyarı:"
+
+#: login-utils/shutdown.c:496
+#, c-format
+msgid "System going down in %d hours %d minutes"
+msgstr "Sistem %d saat %d dakikaya kadar kapanıyor"
+
+#: login-utils/shutdown.c:499
+#, c-format
+msgid "System going down in 1 hour %d minutes"
+msgstr "Sistem 1 saat %d dakikaya kadar kapanıyor"
+
+#: login-utils/shutdown.c:502
+#, c-format
+msgid "System going down in %d minutes\n"
+msgstr "Sistem %d dakikaya kadar kapanıyor\n"
+
+#: login-utils/shutdown.c:505
+#, c-format
+msgid "System going down in 1 minute\n"
+msgstr "Sistem 1 dakikaya kadar kapanıyor\n"
+
+#: login-utils/shutdown.c:507
+#, c-format
+msgid "System going down IMMEDIATELY!\n"
+msgstr "Sistem ŞU ANDA kapanıyor!\n"
+
+#: login-utils/shutdown.c:512
+#, c-format
+msgid "\t... %s ...\n"
+msgstr "\t... %s ...\n"
+
+#: login-utils/shutdown.c:569
+msgid "Cannot fork for swapoff. Shrug!"
+msgstr "swapoff ast süreç olamıyor."
+
+#: login-utils/shutdown.c:577
+msgid "Cannot exec swapoff, hoping umount will do the trick."
+msgstr "swapoff çalıştırılamıyor, umount denenecek."
+
+#: login-utils/shutdown.c:596
+msgid "Cannot fork for umount, trying manually."
+msgstr "umount ast süreç olamıyor, doğrudan çalıştırılması denenecek."
+
+#: login-utils/shutdown.c:605
+#, c-format
+msgid "Cannot exec %s, trying umount.\n"
+msgstr "%s çalıştırılamıyor. umount denenecek.\n"
+
+#: login-utils/shutdown.c:609
+msgid "Cannot exec umount, giving up on umount."
+msgstr "umount çalıştırılamıyor, umount'dan vazgeçiliyor."
+
+#: login-utils/shutdown.c:614
+msgid "Unmounting any remaining filesystems..."
+msgstr "Kalan dosya istemleri ayrılıyor..."
+
+#: login-utils/shutdown.c:661
+#, c-format
+msgid "shutdown: Couldn't umount %s: %s\n"
+msgstr "shutdown: %s ayrılamadı: %s\n"
+
+#: login-utils/simpleinit.c:132
+msgid "Booting to single user mode.\n"
+msgstr "Tek kullanıcılı kip başlatılıyor.\n"
+
+#: login-utils/simpleinit.c:136
+msgid "exec of single user shell failed\n"
+msgstr "Tek kullanıcılı kabuk çalıştırılamadı\n"
+
+#: login-utils/simpleinit.c:140
+msgid "fork of single user shell failed\n"
+msgstr "Tek kullanıcılı kabuğun ast sürece alınamadı\n"
+
+#: login-utils/simpleinit.c:208
+msgid "error opening fifo\n"
+msgstr "fifo açılırken hata\n"
+
+#: login-utils/simpleinit.c:212
+msgid "error setting close-on-exec on /dev/initctl"
+msgstr "/dev/initctl üstünde close-on-exec ayarlanırken hata"
+
+#: login-utils/simpleinit.c:259
+msgid "error running finalprog\n"
+msgstr "uç uygulama çalıştırılırken hata\n"
+
+#: login-utils/simpleinit.c:263
+msgid "error forking finalprog\n"
+msgstr "uç uygulama ast sürece alınırken hata\n"
+
+#: login-utils/simpleinit.c:345
+msgid ""
+"\n"
+"Wrong password.\n"
+msgstr ""
+"\n"
+"Parola yanlış.\n"
+
+#: login-utils/simpleinit.c:418
+msgid "lstat of path failed\n"
+msgstr "dosya yolu durum bilgileri alınamadı\n"
+
+#: login-utils/simpleinit.c:426
+msgid "stat of path failed\n"
+msgstr "dosya yolu durum bilgileri alınamadı\n"
+
+#: login-utils/simpleinit.c:434
+msgid "open of directory failed\n"
+msgstr "dizine geçilemedi\n"
+
+#: login-utils/simpleinit.c:501
+#, c-format
+msgid "respawning: \"%s\" too fast: quenching entry\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:509
+msgid "fork failed\n"
+msgstr "ast süreç oluşturulamadı\n"
+
+#: login-utils/simpleinit.c:540 text-utils/more.c:1629
+msgid "exec failed\n"
+msgstr "çalıştırma başarısız\n"
+
+#: login-utils/simpleinit.c:564
+msgid "cannot open inittab\n"
+msgstr "inittab açılamıyor\n"
+
+#: login-utils/simpleinit.c:631
+msgid "no TERM or cannot stat tty\n"
+msgstr "Ya TERM boş ya da tty durum bilgileri alınamıyor\n"
+
+#: login-utils/simpleinit.c:938
+#, fuzzy, c-format
+msgid "error stopping service: \"%s\"\n"
+msgstr "servis durdurulurken hata: \"%s\""
+
+#: login-utils/simpleinit.c:950
+#, fuzzy, c-format
+msgid "Stopped service: %s\n"
+msgstr "servis durdurulurken hata: \"%s\""
+
+#: login-utils/simpleinit.c:1070
+#, fuzzy, c-format
+msgid "error running programme: \"%s\"\n"
+msgstr "uç uygulama çalıştırılırken hata\n"
+
+#: login-utils/ttymsg.c:75
+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)"
+
+#: login-utils/ttymsg.c:85
+#, c-format
+msgid "excessively long line arg"
+msgstr "satır argümanı gereğinden uzun"
+
+#: login-utils/ttymsg.c:140
+#, c-format
+msgid "cannot fork"
+msgstr "ast süreç oluşturulamıyor"
+
+#: login-utils/ttymsg.c:144
+#, c-format
+msgid "fork: %s"
+msgstr "fork: %s"
+
+#: login-utils/ttymsg.c:174
+#, c-format
+msgid "%s: BAD ERROR"
+msgstr "%s: BİLİNMEYEN HATA"
+
+#: login-utils/vipw.c:143
+#, c-format
+msgid "%s: the password file is busy.\n"
+msgstr "%s: parola dosyası meşgul.\n"
+
+#: login-utils/vipw.c:146
+#, c-format
+msgid "%s: the group file is busy.\n"
+msgstr "%s: grup dosyası meşgul.\n"
+
+#: login-utils/vipw.c:162
+#, c-format
+msgid "%s: the %s file is busy (%s present)\n"
+msgstr "%s: %s dosyası meşgul. (%s hazır)\n"
+
+#: login-utils/vipw.c:168
+#, c-format
+msgid "%s: can't link %s: %s\n"
+msgstr "%s: %s için bağ oluşturulamıyor: %s\n"
+
+#: login-utils/vipw.c:202
+#, c-format
+msgid "%s: Can't get context for %s"
+msgstr "%s: %s için bağlam alınamıyor"
+
+#: login-utils/vipw.c:208
+#, c-format
+msgid "%s: Can't set context for %s"
+msgstr "%s: %s için bağlam belirlenemiyor"
+
+#: login-utils/vipw.c:217
+#, c-format
+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"
+
+#: login-utils/vipw.c:240
+#, c-format
+msgid "%s: Cannot fork\n"
+msgstr "%s: Ast süreç oluşturulamıyor\n"
+
+#: login-utils/vipw.c:276
+#, c-format
+msgid "%s: %s unchanged\n"
+msgstr "%s: %s değişmedi\n"
+
+#: login-utils/vipw.c:297
+#, c-format
+msgid "%s: no changes made\n"
+msgstr "%s: yapılan değişiklik yok\n"
+
+#: login-utils/vipw.c:350
+#, 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:351
+#, c-format
+msgid "You are using shadow passwords on this system.\n"
+msgstr "Bu sistemde gölge parolalar kullanılıyor.\n"
+
+#: login-utils/vipw.c:352
+#, c-format
+msgid "Would you like to edit %s now [y/n]? "
+msgstr "%s dosyasını şimdi düzenlemek ister misiniz [e/h]? "
+
+#: login-utils/wall.c:112
+#, c-format
+msgid "usage: %s [file]\n"
+msgstr "Kullanımı: %s [dosya]\n"
+
+#: login-utils/wall.c:167
+#, c-format
+msgid "%s: can't open temporary file.\n"
+msgstr "%s: geçici dosya açılamıyor.\n"
+
+#: login-utils/wall.c:194
+#, c-format
+msgid "Broadcast Message from %s@%s"
+msgstr "%s@%s den Uyarı"
+
+#: login-utils/wall.c:212
+#, c-format
+msgid "%s: will not read %s - use stdin.\n"
+msgstr "%s: %s okunamayacak - stdG kullanın.\n"
+
+#: login-utils/wall.c:217
+#, c-format
+msgid "%s: can't read %s.\n"
+msgstr "%s: %s okunamıyor.\n"
+
+#: login-utils/wall.c:240
+#, c-format
+msgid "%s: can't stat temporary file.\n"
+msgstr "%s: geçici dosya durum bilgileri alınamıyor.\n"
+
+#: login-utils/wall.c:250
+#, c-format
+msgid "%s: can't read temporary file.\n"
+msgstr "%s: geçici dosya okunamıyor.\n"
+
+#: misc-utils/cal.c:362 misc-utils/cal.c:374
+#, 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:366
+msgid "illegal month value: use 1-12"
+msgstr "ay numarası kuraldışı: 1..12 arasında olmalı"
+
+#: misc-utils/cal.c:370
+msgid "illegal year value: use 1-9999"
+msgstr "yıl değeri kuraldışı: 1-9999 arasında olmalı"
+
+#: misc-utils/cal.c:464
+#, c-format
+msgid "%s %d"
+msgstr "%s %d"
+
+#: misc-utils/cal.c:856
+#, fuzzy, c-format
+msgid "usage: cal [-13smjyV] [[[day] month] year]\n"
+msgstr "kullanımı: cal [-13smjyV] [[ay] yıl]\n"
+
+#: misc-utils/ddate.c:203
+#, 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:250
+msgid "St. Tib's Day"
+msgstr "St. Tib Günü"
+
+#: misc-utils/findfs.c:24
+#, c-format
+msgid "Usage: %s LABEL=<label>|UUID=<uuid>\n"
+msgstr ""
+
+#: misc-utils/findfs.c:55
+#, fuzzy, c-format
+msgid "unable to resolve '%s'"
+msgstr "%s açılamıyor"
+
+#: misc-utils/kill.c:207
+#, c-format
+msgid "%s: unknown signal %s\n"
+msgstr "%s: bilinmeyen sinyal: %s\n"
+
+#: misc-utils/kill.c:270
+#, c-format
+msgid "%s: can't find process \"%s\"\n"
+msgstr "%s: \"%s\" süreci bulunamıyor\n"
+
+#: misc-utils/kill.c:314
+#, c-format
+msgid "%s: unknown signal %s; valid signals:\n"
+msgstr "%s: %s sinyali bilinmiyor; geçerli sinyaller:\n"
+
+#: misc-utils/kill.c:354
+#, 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:355
+#, c-format
+msgid "       %s -l [ signal ]\n"
+msgstr "       %s -l [ sinyal ]\n"
+
+#: misc-utils/logger.c:67
+#, fuzzy, c-format
+msgid "logger: openlog: pathname too long\n"
+msgstr "Kullanıcı adınız çok uzun.\n"
+
+#: misc-utils/logger.c:75
+#, fuzzy, c-format
+msgid "socket: %s.\n"
+msgstr "BlokUzunl: %d\n"
+
+#: misc-utils/logger.c:80
+#, c-format
+msgid "connect: %s.\n"
+msgstr ""
+
+#: misc-utils/logger.c:139
+#, c-format
+msgid "logger: %s: %s.\n"
+msgstr "logger: %s: %s.\n"
+
+#: misc-utils/logger.c:246
+#, c-format
+msgid "logger: unknown facility name: %s.\n"
+msgstr "logger: bilinmeyen yetenek ismi: %s.\n"
+
+#: misc-utils/logger.c:258
+#, c-format
+msgid "logger: unknown priority name: %s.\n"
+msgstr "logger: bilinmeyen öncelik ismi: %s.\n"
+
+#: misc-utils/logger.c:285
+#, c-format
+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"
+
+#: misc-utils/look.c:351
+#, c-format
+msgid "usage: look [-dfa] [-t char] string [file]\n"
+msgstr "kullanımı: look [-dfa] [-t karakter] dizge [dosya]\n"
+
+#: misc-utils/mcookie.c:105 misc-utils/mcookie.c:132
+#, c-format
+msgid "Could not open %s\n"
+msgstr "%s açılamadı\n"
+
+#: misc-utils/mcookie.c:109 misc-utils/mcookie.c:128
+#, c-format
+msgid "Got %d bytes from %s\n"
+msgstr "%d bayt %s dosyasından alındı\n"
+
+#: misc-utils/namei.c:144 misc-utils/namei.c:198 misc-utils/namei.c:220
+#: misc-utils/namei.c:227 misc-utils/namei.c:248
+#, fuzzy
+msgid "out of memory?"
+msgstr "bellek yetersiz?\n"
+
+#: misc-utils/namei.c:189
+#, fuzzy, c-format
+msgid "failed to read symlink: %s"
+msgstr "ioctl() %s den zamanı okuyamadı"
+
+#: misc-utils/namei.c:229
+#, fuzzy, c-format
+msgid "could not stat '%s'"
+msgstr "%s aygıtının durum bilgisi alınamıyor"
+
+#: misc-utils/namei.c:411
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage: %s [options] pathname [pathname ...]\n"
+msgstr "kullanımı: namei [-mx] dosyaYolu [dosyaYolu ...]\n"
+
+#: misc-utils/namei.c:412
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"%d disk bölümü:\n"
+
+#: misc-utils/namei.c:415
+#, c-format
+msgid ""
+" -h, --help          displays this help text\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:423
+#, c-format
+msgid ""
+"\n"
+"For more information see namei(1).\n"
+msgstr ""
+
+#: misc-utils/namei.c:484
+#, fuzzy, c-format
+msgid "failed to stat: %s"
+msgstr "%s durum bilgileri alınamıyor"
+
+#: misc-utils/namei.c:495
+#, c-format
+msgid "%s: exceeded limit of symlinks"
+msgstr ""
+
+#: misc-utils/rename.c:38
+#, c-format
+msgid "%s: out of memory\n"
+msgstr "%s: bellek yetersiz\n"
+
+#: misc-utils/rename.c:56
+#, c-format
+msgid "%s: renaming %s to %s failed: %s\n"
+msgstr "%s: %s  %s olarak değiştirilemedi: %s\n"
+
+#: misc-utils/rename.c:86
+#, c-format
+msgid "call: %s from to files...\n"
+msgstr "çağrı: %s hangi dosyalarla çalışacak?\n"
+
+#: misc-utils/script.c:110
+#, c-format
+msgid ""
+"Warning: `%s' is a link.\n"
+"Use `%s [options] %s' if you really want to use it.\n"
+"Script not started.\n"
+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"
+
+#: misc-utils/script.c:173
+#, c-format
+msgid "usage: script [-a] [-f] [-q] [-t] [file]\n"
+msgstr "kullanımı: script [-a] [-f] [-q] [-t] [dosya]\n"
+
+#: misc-utils/script.c:196
+#, c-format
+msgid "Script started, file is %s\n"
+msgstr "Betik başlatıldı, dosyası %s\n"
+
+#: misc-utils/script.c:244
+#, fuzzy, c-format
+msgid "%s: write error %d: %s\n"
+msgstr "%s üzerinde yazma hatası\n"
+
+#: misc-utils/script.c:304
+#, c-format
+msgid "Script started on %s"
+msgstr "%s de betik başlatıldı"
+
+#: misc-utils/script.c:347
+#, fuzzy, c-format
+msgid "%s: write error: %s\n"
+msgstr "%s üzerinde yazma hatası\n"
+
+#: misc-utils/script.c:354
+#, fuzzy, c-format
+msgid "%s: cannot write script file, error: %s\n"
+msgstr "%s: %s için aygıt ismi bulunamıyor\n"
+
+#: misc-utils/script.c:430
+#, c-format
+msgid ""
+"\n"
+"Script done on %s"
+msgstr ""
+"\n"
+"%s üzerinde betik tamamlandı"
+
+#: misc-utils/script.c:437
+#, c-format
+msgid "Script done, file is %s\n"
+msgstr "Betik tamamlandı, dosyası %s\n"
+
+#: misc-utils/script.c:448
+#, c-format
+msgid "openpty failed\n"
+msgstr "openpty başarısız\n"
+
+#: misc-utils/script.c:482
+#, c-format
+msgid "Out of pty's\n"
+msgstr "pty sayısı yetersiz\n"
+
+#: misc-utils/scriptreplay.c:38
+#, c-format
+msgid "%s <timingfile> [<typescript> [<divisor>]]\n"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:53
+#, c-format
+msgid "expected a number, but got '%s'"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:56 misc-utils/scriptreplay.c:60
+#, c-format
+msgid "divisor '%s'"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:104
+#, fuzzy
+msgid "write to stdout failed"
+msgstr "%s açılamadı"
+
+#: misc-utils/scriptreplay.c:110
+#, c-format
+msgid "unexpected end of file on %s"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:112
+#, fuzzy, c-format
+msgid "failed to read typescript file %s"
+msgstr "ioctl() %s den zamanı okuyamadı"
+
+#: misc-utils/scriptreplay.c:145
+#, fuzzy, c-format
+msgid "cannot open timing file %s"
+msgstr "'%s' dosyası açılamıyor"
+
+#: misc-utils/scriptreplay.c:148
+#, fuzzy, c-format
+msgid "cannot open typescript file %s"
+msgstr "'%s' dosyası açılamıyor"
+
+#: misc-utils/scriptreplay.c:164
+#, fuzzy, c-format
+msgid "failed to read timing file %s"
+msgstr "ioctl() %s den zamanı okuyamadı"
+
+#: misc-utils/scriptreplay.c:166
+#, fuzzy, c-format
+msgid "timings file %s: %lu: unexpected format"
+msgstr "%s: %s doyasında beklenmedik dosya sonu\n"
+
+#: misc-utils/setterm.c:763
+#, c-format
+msgid "%s: Argument error, usage\n"
+msgstr "%s: Argüman hatası, kullanımı\n"
+
+#: misc-utils/setterm.c:766
+#, c-format
+msgid "  [ -term terminal_name ]\n"
+msgstr "  [ -term terminal_ismi ]\n"
+
+#: misc-utils/setterm.c:767
+#, c-format
+msgid "  [ -reset ]\n"
+msgstr "  [ -reset ]\n"
+
+#: misc-utils/setterm.c:768
+#, c-format
+msgid "  [ -initialize ]\n"
+msgstr "  [ -initialize ]\n"
+
+#: misc-utils/setterm.c:769
+#, c-format
+msgid "  [ -cursor [on|off] ]\n"
+msgstr "  [ -cursor [on|off] ]\n"
+
+#: misc-utils/setterm.c:771
+#, c-format
+msgid "  [ -snow [on|off] ]\n"
+msgstr "  [ -snow [on|off] ]\n"
+
+#: misc-utils/setterm.c:772
+#, c-format
+msgid "  [ -softscroll [on|off] ]\n"
+msgstr "  [ -softscroll [on|off] ]\n"
+
+#: misc-utils/setterm.c:774
+#, c-format
+msgid "  [ -repeat [on|off] ]\n"
+msgstr "  [ -repeat [on|off] ]\n"
+
+#: misc-utils/setterm.c:775
+#, c-format
+msgid "  [ -appcursorkeys [on|off] ]\n"
+msgstr "  [ -appcursorkeys [on|off] ]\n"
+
+#: misc-utils/setterm.c:776
+#, c-format
+msgid "  [ -linewrap [on|off] ]\n"
+msgstr "  [ -linewrap [on|off] ]\n"
+
+#: misc-utils/setterm.c:777
+#, c-format
+msgid "  [ -default ]\n"
+msgstr "  [ -default ]\n"
+
+#: misc-utils/setterm.c:778
+#, c-format
+msgid "  [ -foreground black|blue|green|cyan"
+msgstr "  [ -foreground black|blue|green|cyan"
+
+#: misc-utils/setterm.c:779 misc-utils/setterm.c:781
+#, c-format
+msgid "|red|magenta|yellow|white|default ]\n"
+msgstr "|red|magenta|yellow|white|default ]\n"
+
+#: misc-utils/setterm.c:780
+#, c-format
+msgid "  [ -background black|blue|green|cyan"
+msgstr "  [ -background black|blue|green|cyan"
+
+#: misc-utils/setterm.c:782
+#, c-format
+msgid "  [ -ulcolor black|grey|blue|green|cyan"
+msgstr "  [ -ulcolor black|grey|blue|green|cyan"
+
+#: misc-utils/setterm.c:783 misc-utils/setterm.c:785 misc-utils/setterm.c:787
+#: misc-utils/setterm.c:789
+#, c-format
+msgid "|red|magenta|yellow|white ]\n"
+msgstr "|red|magenta|yellow|white ]\n"
+
+#: misc-utils/setterm.c:784
+#, c-format
+msgid "  [ -ulcolor bright blue|green|cyan"
+msgstr "  [ -ulcolor bright blue|green|cyan"
+
+#: misc-utils/setterm.c:786
+#, c-format
+msgid "  [ -hbcolor black|grey|blue|green|cyan"
+msgstr "  [ -hbcolor black|grey|blue|green|cyan"
+
+#: misc-utils/setterm.c:788
+#, c-format
+msgid "  [ -hbcolor bright blue|green|cyan"
+msgstr "  [ -hbcolor bright blue|green|cyan"
+
+#: misc-utils/setterm.c:791
+#, c-format
+msgid "  [ -standout [ attr ] ]\n"
+msgstr "  [ -standout [ attr ] ]\n"
+
+#: misc-utils/setterm.c:793
+#, c-format
+msgid "  [ -inversescreen [on|off] ]\n"
+msgstr "  [ -inversescreen [on|off] ]\n"
+
+#: misc-utils/setterm.c:794
+#, c-format
+msgid "  [ -bold [on|off] ]\n"
+msgstr "  [ -bold [on|off] ]\n"
+
+#: misc-utils/setterm.c:795
+#, c-format
+msgid "  [ -half-bright [on|off] ]\n"
+msgstr "  [ -half-bright [on|off] ]\n"
+
+#: misc-utils/setterm.c:796
+#, c-format
+msgid "  [ -blink [on|off] ]\n"
+msgstr "  [ -blink [on|off] ]\n"
+
+#: misc-utils/setterm.c:797
+#, c-format
+msgid "  [ -reverse [on|off] ]\n"
+msgstr "  [ -reverse [on|off] ]\n"
+
+#: misc-utils/setterm.c:798
+#, c-format
+msgid "  [ -underline [on|off] ]\n"
+msgstr "  [ -underline [on|off] ]\n"
+
+#: misc-utils/setterm.c:799
+#, c-format
+msgid "  [ -store ]\n"
+msgstr "  [ -store ]\n"
+
+#: misc-utils/setterm.c:800
+#, c-format
+msgid "  [ -clear [all|rest] ]\n"
+msgstr "  [ -clear [all|rest] ]\n"
+
+#: misc-utils/setterm.c:801
+#, c-format
+msgid "  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n"
+msgstr "  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n"
+
+#: misc-utils/setterm.c:802
+#, c-format
+msgid "  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n"
+msgstr "  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n"
+
+#: misc-utils/setterm.c:803
+#, c-format
+msgid "  [ -regtabs [1-160] ]\n"
+msgstr "  [ -regtabs [1-160] ]\n"
+
+#: misc-utils/setterm.c:804
+#, fuzzy, c-format
+msgid "  [ -blank [0-60|force|poke] ]\n"
+msgstr "  [ -blank [0-60] ]\n"
+
+#: misc-utils/setterm.c:805
+#, c-format
+msgid "  [ -dump   [1-NR_CONSOLES] ]\n"
+msgstr "  [ -dump   [1-Konsol_nr] ]\n"
+
+#: misc-utils/setterm.c:806
+#, c-format
+msgid "  [ -append [1-NR_CONSOLES] ]\n"
+msgstr "  [ -append [1-Konsol_nr] ]\n"
+
+#: misc-utils/setterm.c:807
+#, c-format
+msgid "  [ -file dumpfilename ]\n"
+msgstr "  [ -file dökümDosyası ]\n"
+
+#: misc-utils/setterm.c:808
+#, c-format
+msgid "  [ -msg [on|off] ]\n"
+msgstr "  [ -msg [on|off] ]\n"
+
+#: misc-utils/setterm.c:809
+#, c-format
+msgid "  [ -msglevel [0-8] ]\n"
+msgstr "  [ -msglevel [0-8] ]\n"
+
+#: misc-utils/setterm.c:810
+#, c-format
+msgid "  [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+msgstr "  [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+
+#: misc-utils/setterm.c:811
+#, c-format
+msgid "  [ -powerdown [0-60] ]\n"
+msgstr "  [ -powerdown [0-60] ]\n"
+
+#: misc-utils/setterm.c:812
+#, c-format
+msgid "  [ -blength [0-2000] ]\n"
+msgstr "  [ -blength [0-2000] ]\n"
+
+#: misc-utils/setterm.c:813
+#, c-format
+msgid "  [ -bfreq freqnumber ]\n"
+msgstr "  [ -bfreq frekans_nr ]\n"
+
+#: misc-utils/setterm.c:1065
+#, fuzzy, c-format
+msgid "cannot force blank\n"
+msgstr "ast süreç oluşturulamıyor"
+
+#: misc-utils/setterm.c:1069
+#, fuzzy, c-format
+msgid "cannot force unblank\n"
+msgstr "ast süreç oluşturulamıyor"
+
+#: misc-utils/setterm.c:1075
+#, fuzzy, c-format
+msgid "cannot get blank status\n"
+msgstr "%s açılamıyor\n"
+
+#: misc-utils/setterm.c:1087
+#, c-format
+msgid "cannot (un)set powersave mode\n"
+msgstr "ekonomi kipi denetim dışı\n"
+
+#: misc-utils/setterm.c:1126 misc-utils/setterm.c:1134
+#, c-format
+msgid "klogctl error: %s\n"
+msgstr "klogctl hatası: %s\n"
+
+#: misc-utils/setterm.c:1200
+#, c-format
+msgid "Error writing screendump\n"
+msgstr "Ekran dökümü yazılırken hata\n"
+
+#: misc-utils/setterm.c:1207
+#, fuzzy, c-format
+msgid "Couldn't read %s\n"
+msgstr "%s açılamadı\n"
+
+#: misc-utils/setterm.c:1261
+#, c-format
+msgid "%s: $TERM is not defined.\n"
+msgstr "%s: $TERM atanmamış.\n"
+
+#: misc-utils/uuidd.c:46
+#, fuzzy, c-format
+msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n"
+msgstr ""
+"Kullanımı: last [-#] [-f dosya] [-t tty] [-h makinaAdı] [kullanıcı ...]\n"
+
+#: misc-utils/uuidd.c:48
+#, c-format
+msgid "       %s [-r|t] [-n num] [-s socketpath]\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:50
+#, fuzzy, c-format
+msgid "       %s -k\n"
+msgstr "       %s -l [ sinyal ]\n"
+
+#: misc-utils/uuidd.c:152
+#, fuzzy
+msgid "bad arguments"
+msgstr "col: -l argümanı %s hatalı.\n"
+
+#: misc-utils/uuidd.c:159
+#, fuzzy
+msgid "socket"
+msgstr "nfs soketi"
+
+#: misc-utils/uuidd.c:170
+#, fuzzy
+msgid "connect"
+msgstr "nfs bağlantısı"
+
+#: misc-utils/uuidd.c:189
+#, fuzzy
+msgid "write"
+msgstr "Kaydet"
+
+#: misc-utils/uuidd.c:197
+#, fuzzy
+msgid "read count"
+msgstr "%c okundu\n"
+
+#: misc-utils/uuidd.c:203
+msgid "bad response length"
+msgstr ""
+
+#: misc-utils/uuidd.c:268
+#, c-format
+msgid "uuidd daemon already running at pid %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:276
+#, c-format
+msgid "Couldn't create unix stream socket: %s"
+msgstr ""
+
+#: misc-utils/uuidd.c:305
+#, fuzzy, c-format
+msgid "Couldn't bind unix socket %s: %s\n"
+msgstr "%s açılamıyor: %s\n"
+
+#: misc-utils/uuidd.c:313
+#, fuzzy, c-format
+msgid "Couldn't listen on unix socket %s: %s\n"
+msgstr "%s açılamıyor: %s\n"
+
+#: misc-utils/uuidd.c:351
+#, fuzzy, c-format
+msgid "Error reading from client, len = %d\n"
+msgstr "%s okunurken hata\n"
+
+#: misc-utils/uuidd.c:359
+#, c-format
+msgid "operation %d, incoming num = %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:378
+#, c-format
+msgid "Generated time UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:388
+#, c-format
+msgid "Generated random UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:397
+#, c-format
+msgid "Generated time UUID %s and %d following\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:415
+#, c-format
+msgid "Generated %d UUID's:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:427
+#, fuzzy, c-format
+msgid "Invalid operation %d\n"
+msgstr "kimlik geçersiz"
+
+#: misc-utils/uuidd.c:468 misc-utils/uuidd.c:489
+#, fuzzy, c-format
+msgid "Bad number: %s\n"
+msgstr "Numara geçersiz: %s\n"
+
+#: misc-utils/uuidd.c:524 misc-utils/uuidd.c:551
+#, fuzzy, c-format
+msgid "Error calling uuidd daemon (%s): %s\n"
+msgstr "%s için kip değiştirilirken hata: %s\n"
+
+#: misc-utils/uuidd.c:534
+#, c-format
+msgid "%s and subsequent %d UUID's\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:536
+#, c-format
+msgid "List of UUID's:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:557
+#, c-format
+msgid "Unexpected reply length from server %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:574
+#, c-format
+msgid "Couldn't kill uuidd running at pid %d: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:580
+#, c-format
+msgid "Killed uuidd running at pid %d\n"
+msgstr ""
+
+#: misc-utils/uuidgen.c:32
+#, fuzzy, c-format
+msgid "Usage: %s [-r] [-t]\n"
+msgstr "Kullanımı: %s [seçenekler] aygıt ...\n"
+
+#: misc-utils/whereis.c:159
+#, c-format
+msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
+msgstr "whereis [ -sbmu ] [ -SBM dizin ... -f ] isim...\n"
+
+#: misc-utils/write.c:101
+#, c-format
+msgid "write: can't find your tty's name\n"
+msgstr "write: kullandığınız tty ismi bulunamıyor\n"
+
+#: misc-utils/write.c:112
+#, c-format
+msgid "write: you have write permission turned off.\n"
+msgstr "write: yazma izinleriniz kapalı.\n"
+
+#: misc-utils/write.c:133
+#, c-format
+msgid "write: %s is not logged in on %s.\n"
+msgstr "write: %s ile %s üzerinde giriş yapılmamış.\n"
+
+#: misc-utils/write.c:141
+#, c-format
+msgid "write: %s has messages disabled on %s\n"
+msgstr "write: %s iletileri %s üzerinde kapalı\n"
+
+#: misc-utils/write.c:148
+#, c-format
+msgid "usage: write user [tty]\n"
+msgstr "kullanımı: write kullanıcı [tty]\n"
+
+#: misc-utils/write.c:236
+#, c-format
+msgid "write: %s is not logged in\n"
+msgstr "write: %s sistemde değil\n"
+
+#: misc-utils/write.c:245
+#, c-format
+msgid "write: %s has messages disabled\n"
+msgstr "write: iletiler %s için kapalı\n"
+
+#: misc-utils/write.c:249
+#, c-format
+msgid "write: %s is logged in more than once; writing to %s\n"
+msgstr "write: %s birden fazla giriş yapmış; %s'e yazıyor\n"
+
+#: misc-utils/write.c:317
+#, 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) ..."
+
+#: misc-utils/write.c:320
+#, c-format
+msgid "Message from %s@%s on %s at %s ..."
+msgstr "%s@%s den ileti var (%s üzerinden, şu an %s) ..."
+
+#: mount/fstab.c:143
+#, c-format
+msgid "warning: error reading %s: %s"
+msgstr "uyarı: %s okunurken hata: %s"
+
+#: mount/fstab.c:171 mount/fstab.c:196
+#, c-format
+msgid "warning: can't open %s: %s"
+msgstr "uyarı: %s açılamıyor: %s"
+
+#: mount/fstab.c:176
+#, c-format
+msgid "mount: could not open %s - using %s instead\n"
+msgstr "mount: %s açılamadı - yerine %s kullanılıyor\n"
+
+#: mount/fstab.c:589
+#, 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/fstab.c:615
+#, 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/fstab.c:631
+#, 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/fstab.c:646
+#, c-format
+msgid "Can't lock lock file %s: %s\n"
+msgstr "%s kilit dosyası kilitlenemiyor: %s\n"
+
+#: mount/fstab.c:660
+#, c-format
+msgid "can't lock lock file %s: %s"
+msgstr "%s kilit dosyası kilitlenemiyor: %s"
+
+#: mount/fstab.c:662
+msgid "timed out"
+msgstr "zaman aşımı"
+
+#: mount/fstab.c:669
+#, 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/fstab.c:791 mount/fstab.c:846
+#, c-format
+msgid "cannot open %s (%s) - mtab not updated"
+msgstr "%s açılamıyor (%s) - mtab güncel değil"
+
+#: mount/fstab.c:855
+#, c-format
+msgid "error writing %s: %s"
+msgstr "%s yazılırken hata: %s"
+
+#: mount/fstab.c:873
+#, c-format
+msgid "error changing mode of %s: %s\n"
+msgstr "%s için kip değiştirilirken hata: %s\n"
+
+#: mount/fstab.c:886
+#, fuzzy, c-format
+msgid "error changing owner of %s: %s\n"
+msgstr "%s için kip değiştirilirken hata: %s\n"
+
+#: mount/fstab.c:897
+#, c-format
+msgid "can't rename %s to %s: %s\n"
+msgstr "%s %s olarak değiştirilemiyor: %s\n"
+
+#: mount/lomount.c:364
+#, fuzzy, c-format
+msgid "loop: can't set capacity on device %s: %s\n"
+msgstr "loop: %s aygıtı hakkında bilgi alınamıyor: %s\n"
+
+#: mount/lomount.c:388
+#, fuzzy, c-format
+msgid ", offset %<PRIu64>"
+msgstr ", başl %d"
+
+#: mount/lomount.c:391
+#, fuzzy, c-format
+msgid ", sizelimit %<PRIu64>"
+msgstr ", boysınırı %lld"
+
+#: mount/lomount.c:399
+#, fuzzy, c-format
+msgid ", encryption %s (type %<PRIu32>)"
+msgstr ", %s şifreleme türü (%d) bilinmiyor"
+
+#: mount/lomount.c:412
+#, c-format
+msgid ", offset %d"
+msgstr ", başl %d"
+
+#: mount/lomount.c:415
+#, c-format
+msgid ", encryption type %d\n"
+msgstr ", şifreleme türü %d bilinmiyor\n"
+
+#: mount/lomount.c:423
+#, c-format
+msgid "loop: can't get info on device %s: %s\n"
+msgstr "loop: %s aygıtı hakkında bilgi alınamıyor: %s\n"
+
+#: mount/lomount.c:434
+#, c-format
+msgid "loop: can't open device %s: %s\n"
+msgstr "loop: %s aygıtı açılamıyor: %s\n"
+
+#: mount/lomount.c:450 mount/lomount.c:482 mount/lomount.c:544
+#: mount/lomount.c:589
+#, fuzzy, c-format
+msgid "%s: /dev directory does not exist."
+msgstr "%s: \"%s\" yok.\n"
+
+#: mount/lomount.c:461 mount/lomount.c:602
+#, fuzzy, c-format
+msgid "%s: no permission to look at /dev/loop%s<N>"
+msgstr "%s: /dev/loop# için izinler yetersiz"
+
+#: mount/lomount.c:605
+#, c-format
+msgid "%s: could not find any free loop device"
+msgstr "%s: hiç serbest loop aygıtı yok"
+
+#: mount/lomount.c:608
+#, c-format
+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.)"
+
+#: mount/lomount.c:638
+#, fuzzy
+msgid "Out of memory while reading passphrase"
+msgstr "Tampon büyütülürken bellek yetmedi.\n"
+
+#: mount/lomount.c:681
+#, fuzzy, c-format
+msgid "warning: %s is already associated with %s\n"
+msgstr "Sektör %d zaten kullanımda\n"
+
+#: mount/lomount.c:697
+#, fuzzy, c-format
+msgid "warning: %s: is write-protected, using read-only.\n"
+msgstr "mount: %s%s yazma korumalı, salt-okunur olarak bağlanıyor"
+
+#: mount/lomount.c:733
+#, c-format
+msgid "Couldn't lock into memory, exiting.\n"
+msgstr "Bellek içinde kilitlenemedi, çıkılıyor.\n"
+
+#: mount/lomount.c:760
+#, c-format
+msgid "ioctl LOOP_SET_FD failed: %s\n"
+msgstr ""
+
+#: mount/lomount.c:817
+#, fuzzy, c-format
+msgid "set_loop(%s,%s,%llu,%llu): success\n"
+msgstr "set_loop(%s,%s,%llu): başarılı\n"
+
+#: mount/lomount.c:838
+#, c-format
+msgid "del_loop(%s): success\n"
+msgstr "del_loop(%s): başarılı\n"
+
+#: mount/lomount.c:842
+#, c-format
+msgid "loop: can't delete device %s: %s\n"
+msgstr "loop: %s aygıtı silinemiyor: %s\n"
+
+#: mount/lomount.c:853
+#, c-format
+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"
+
+#: mount/lomount.c:888
+#, fuzzy, c-format
+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 ""
+"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"
+
+#: mount/lomount.c:898
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -e | --encryption <type> enable data encryption with specified <name/num>\n"
+" -h | --help              this help\n"
+" -o | --offset <num>      start at offset <num> into file\n"
+"      --sizelimit <num>   loop limited to only <num> bytes of the file\n"
+" -p | --pass-fd <num>     read passphrase from file descriptor <num>\n"
+" -r | --read-only         setup read-only loop device\n"
+"      --show              print device name (with -f <file>)\n"
+" -v | --verbose           verbose mode\n"
+"\n"
+msgstr ""
+
+#: mount/lomount.c:1036 mount/lomount.c:1076
+#, fuzzy, c-format
+msgid "Loop device is %s\n"
+msgstr "loop: %s aygıtı açılamıyor: %s\n"
+
+#: mount/lomount.c:1063
+#, c-format
+msgid "stolen loop=%s...trying again\n"
+msgstr ""
+
+#: mount/lomount.c:1073
+#, fuzzy, c-format
+msgid "%s: %s: device is busy"
+msgstr "umount: %s: aygıt meşgul"
+
+#: mount/lomount.c:1090
+#, c-format
+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"
+
+#: mount/mount.c:329
+#, c-format
+msgid "mount: improperly quoted option string '%s'"
+msgstr ""
+
+#: mount/mount.c:362
+#, fuzzy, c-format
+msgid "mount: translated %s '%s' to '%s'\n"
+msgstr "mount: %s  %s ya da %s içinde bulunamıyor"
+
+#: mount/mount.c:526
+#, 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/mount.c:531
+#, c-format
+msgid "mount: according to mtab, %s is mounted on %s"
+msgstr "mount: mtab'a göre, %s %s üzerinde bağlı"
+
+#: mount/mount.c:555
+#, c-format
+msgid "mount: can't open %s for writing: %s"
+msgstr "mount: %s yazmak için açılamıyor: %s"
+
+#: mount/mount.c:572 mount/mount.c:1190
+#, c-format
+msgid "mount: error writing %s: %s"
+msgstr "mount: %s yazılırken hata: %s"
+
+#: mount/mount.c:580
+#, c-format
+msgid "mount: error changing mode of %s: %s"
+msgstr "mount: %s kipi değiştirilirken hata: %s"
+
+#: mount/mount.c:663
+#, fuzzy, c-format
+msgid "mount: cannot set group id: %s"
+msgstr "mount: hız ayarlanamıyor: %s"
+
+#: mount/mount.c:666
+#, fuzzy, c-format
+msgid "mount: cannot set user id: %s"
+msgstr "mount: hız ayarlanamıyor: %s"
+
+#: mount/mount.c:705 mount/mount.c:1809
+#, c-format
+msgid "mount: cannot fork: %s"
+msgstr "mount: ast süreç oluşturulamıyor: %s"
+
+#: mount/mount.c:842
+#, c-format
+msgid "Trying %s\n"
+msgstr "%s deneniyor\n"
+
+#: mount/mount.c:870
+#, 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/mount.c:873
+#, 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/mount.c:876
+#, c-format
+msgid "       and it looks like this is swapspace\n"
+msgstr "       ve bu takas alanı gibi görünüyor\n"
+
+#: mount/mount.c:878
+#, c-format
+msgid "       I will try type %s\n"
+msgstr "       %s türü denenecek\n"
+
+#: mount/mount.c:902
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr "%s takas alanı gibi görünüyor - bağlanmadı"
+
+#: mount/mount.c:993
+msgid "mount failed"
+msgstr "mount başarısız"
+
+#: mount/mount.c:995
+#, c-format
+msgid "mount: only root can mount %s on %s"
+msgstr "mount: %s %s üzerinde sadece root tarafından bağlanabilir"
+
+#: mount/mount.c:1065
+msgid "mount: loop device specified twice"
+msgstr "mount: loop aygıtı iki kere belirtilmiş"
+
+#: mount/mount.c:1070
+msgid "mount: type specified twice"
+msgstr "mount: türü iki defa belirtilmiş"
+
+#: mount/mount.c:1082
+#, c-format
+msgid "mount: skipping the setup of a loop device\n"
+msgstr "mount: loop aygıtı ayarları atlanıyor\n"
+
+#: mount/mount.c:1094
+#, 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/mount.c:1104
+#, 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/mount.c:1113
+#, c-format
+msgid "mount: stolen loop=%s ...trying again\n"
+msgstr ""
+
+#: mount/mount.c:1118
+#, fuzzy, c-format
+msgid "mount: stolen loop=%s"
+msgstr "umount: %s: %s"
+
+#: mount/mount.c:1123
+#, c-format
+msgid "mount: failed setting up loop device\n"
+msgstr "mount: loop aygıtı ayarları yapılamadı\n"
+
+#: mount/mount.c:1134
+#, c-format
+msgid "mount: setup loop device successfully\n"
+msgstr "mount: loop aygıtı ayarları tamamlandı\n"
+
+#: mount/mount.c:1168
+#, c-format
+msgid "mount: no %s found - creating it..\n"
+msgstr "mount: %s yok - oluşturuluyor...\n"
+
+#: mount/mount.c:1185
+#, c-format
+msgid "mount: can't open %s: %s"
+msgstr "mount: %s açılamıyor: %s"
+
+#: mount/mount.c:1206
+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/mount.c:1219
+#, c-format
+msgid "mount: cannot open %s for setting speed"
+msgstr "mount: hızı ayarlamak için %s açılamıyor"
+
+#: mount/mount.c:1222
+#, c-format
+msgid "mount: cannot set speed: %s"
+msgstr "mount: hız ayarlanamıyor: %s"
+
+#: mount/mount.c:1279
+#, 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/mount.c:1358
+msgid ""
+"mount: I could not determine the filesystem type, and none was specified"
+msgstr "mount: Dosya sistemi türü saptanamadı ve belirtilmemiş"
+
+#: mount/mount.c:1361
+msgid "mount: you must specify the filesystem type"
+msgstr "mount: dosya sistemi türünü belirtmelisiniz"
+
+#: mount/mount.c:1364
+msgid "mount: mount failed"
+msgstr "mount: bağlanamadı"
+
+#: mount/mount.c:1370 mount/mount.c:1407
+#, c-format
+msgid "mount: mount point %s is not a directory"
+msgstr "mount: bağlama noktası %s bir dizin değil"
+
+#: mount/mount.c:1372
+msgid "mount: permission denied"
+msgstr "mount: erişim engellendi"
+
+#: mount/mount.c:1374
+msgid "mount: must be superuser to use mount"
+msgstr "mount: root tarafından kullanılmalı"
+
+#: mount/mount.c:1378 mount/mount.c:1382
+#, c-format
+msgid "mount: %s is busy"
+msgstr "mount: %s meşgul"
+
+#: mount/mount.c:1384
+msgid "mount: proc already mounted"
+msgstr "mount: proc zaten bağlı"
+
+#: mount/mount.c:1386
+#, c-format
+msgid "mount: %s already mounted or %s busy"
+msgstr "mount: ya %s zaten bağlı ya da %s meşgul"
+
+#: mount/mount.c:1392
+#, c-format
+msgid "mount: mount point %s does not exist"
+msgstr "mount: bağlama noktası %s yok"
+
+#: mount/mount.c:1394
+#, 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/mount.c:1399
+#, c-format
+msgid "mount: special device %s does not exist"
+msgstr "mount: özel aygıt %s yok"
+
+#: mount/mount.c:1411
+#, 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/mount.c:1423
+#, c-format
+msgid "mount: %s not mounted already, or bad option"
+msgstr "mount: %s zaten bağlı değil, ya da seçenek yanlış"
+
+#: mount/mount.c:1425
+#, 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/mount.c:1432
+msgid ""
+"       (for several filesystems (e.g. nfs, cifs) you might\n"
+"       need a /sbin/mount.<type> helper program)"
+msgstr ""
+
+#: mount/mount.c:1441
+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/mount.c:1446
+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/mount.c:1453
+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/mount.c:1459
+msgid "mount table full"
+msgstr "bağ tablosu dolu"
+
+#: mount/mount.c:1461
+#, c-format
+msgid "mount: %s: can't read superblock"
+msgstr "mount: %s: superblok okunamıyor"
+
+#: mount/mount.c:1467
+#, c-format
+msgid "mount: %s: unknown device"
+msgstr "mount: %s: aygıt bilinmiyor"
+
+#: mount/mount.c:1472
+#, c-format
+msgid "mount: unknown filesystem type '%s'"
+msgstr "mount: dosya sistemi türü '%s' bilinmiyor"
+
+#: mount/mount.c:1484
+#, c-format
+msgid "mount: probably you meant %s"
+msgstr "mount: herhalde %s kastettiniz"
+
+#: mount/mount.c:1487
+msgid "mount: maybe you meant 'iso9660'?"
+msgstr "mount: 'iso9660' kastetmiş olabilir misiniz?"
+
+#: mount/mount.c:1490
+msgid "mount: maybe you meant 'vfat'?"
+msgstr "mount: 'vfat' kastetmiş olabilir misiniz?"
+
+#: mount/mount.c:1493
+#, 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/mount.c:1501
+#, 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/mount.c:1503
+#, c-format
+msgid ""
+"mount: the kernel does not recognize %s as a block device\n"
+"       (maybe `insmod driver'?)"
+msgstr ""
+"mount: çekirdek %s aygıtını bir blok aygıtı olarak tanımıyor\n"
+"       (`insmod sürücü' denenebilir?)"
+
+#: mount/mount.c:1506
+#, 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/mount.c:1509
+#, c-format
+msgid "mount: %s is not a block device"
+msgstr "mount: %s bir blok aygıtı değil"
+
+#: mount/mount.c:1514
+#, c-format
+msgid "mount: %s is not a valid block device"
+msgstr "mount: %s geçerli bir blok aygıtı değil"
+
+#: mount/mount.c:1517
+msgid "block device "
+msgstr "blok aygıtı "
+
+#: mount/mount.c:1519
+#, c-format
+msgid "mount: cannot mount %s%s read-only"
+msgstr "mount: %s%s salt-okunur bağlanamıyor"
+
+#: mount/mount.c:1523
+#, 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/mount.c:1527
+#, fuzzy, c-format
+msgid "mount: cannot remount %s%s read-write, is write-protected"
+msgstr "mount: %s%s salt-okunur bağlanamıyor"
+
+#: mount/mount.c:1542
+#, 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/mount.c:1552
+#, fuzzy, c-format
+msgid "mount: no medium found on %s ...trying again\n"
+msgstr "mount: %s yok - oluşturuluyor...\n"
+
+#: mount/mount.c:1558
+#, fuzzy, c-format
+msgid "mount: no medium found on %s"
+msgstr "mount: %s zaten %s üzerinde bağlı\n"
+
+#: mount/mount.c:1576
+#, 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/mount.c:1655
+#, 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/mount.c:1661
+#, 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/mount.c:1756
+#, c-format
+msgid "mount: %s already mounted on %s\n"
+msgstr "mount: %s zaten %s üzerinde bağlı\n"
+
+#: mount/mount.c:1890
+#, 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/mount.c:2213
+msgid "mount: only root can do that"
+msgstr "mount: bunu sadece root yapabilir"
+
+#: mount/mount.c:2223
+msgid "nothing was mounted"
+msgstr "hiçbir şey bağlanmadı"
+
+#: mount/mount.c:2241 mount/mount.c:2267
+msgid "mount: no such partition found"
+msgstr "mount: böyle bir disk bölümü yok"
+
+#: mount/mount.c:2244
+#, c-format
+msgid "mount: can't find %s in %s or %s"
+msgstr "mount: %s  %s ya da %s içinde bulunamıyor"
+
+#: mount/mount_mntent.c:165
+#, 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/mount_mntent.c:216
+#, c-format
+msgid "[mntent]: line %d in %s is bad%s\n"
+msgstr "[mntent]: %d satırı %s dosyasında hatalı%s\n"
+
+#: mount/mount_mntent.c:219
+msgid "; rest of file ignored"
+msgstr "; dosyanın kalanı yoksayıldı"
+
+#: mount/sundries.c:31
+msgid "bug in xstrndup call"
+msgstr "xstrndup çağrısında yazılım hatası"
+
+#: mount/sundries.c:224 mount/sundries.c:280 mount/sundries.c:289
+#: mount/xmalloc.c:11
+msgid "not enough memory"
+msgstr "yeterli bellek yok"
+
+#: mount/swapon.c:84
+#, c-format
+msgid ""
+"The <special> parameter:\n"
+" {-L label | LABEL=label}             LABEL of device to be used\n"
+" {-U uuid  | 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"
+"\n"
+msgstr ""
+
+#: mount/swapon.c:92
+#, c-format
+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 ""
+
+#: mount/swapon.c:106
+#, c-format
+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 ""
+
+#: mount/swapon.c:140
+#, fuzzy, c-format
+msgid "%s: unexpected file format"
+msgstr "%s: %s doyasında beklenmedik dosya sonu\n"
+
+#: mount/swapon.c:184 mount/swapon.c:252 mount/swapon.c:397 mount/swapon.c:556
+#: mount/swapon.c:758
+#, fuzzy, c-format
+msgid "%s: open failed"
+msgstr "openpty başarısız\n"
+
+#: mount/swapon.c:205
+#, c-format
+msgid "%s: reinitializing the swap."
+msgstr ""
+
+#: mount/swapon.c:209
+#, fuzzy
+msgid "fork failed"
+msgstr "ast süreç oluşturulamadı\n"
+
+#: mount/swapon.c:225
+#, fuzzy
+msgid "execv failed"
+msgstr "çalıştırma başarısız\n"
+
+#: mount/swapon.c:233
+#, fuzzy
+msgid "waitpid failed"
+msgstr "setuid() başarısız"
+
+#: mount/swapon.c:257
+#, fuzzy, c-format
+msgid "%s: lseek failed"
+msgstr "erişim başarısız"
+
+#: mount/swapon.c:263
+#, fuzzy, c-format
+msgid "%s: write signature failed"
+msgstr "%s açılamadı"
+
+#: mount/swapon.c:350
+#, c-format
+msgid "%s: found %sswap v%d signature string for %d KiB PAGE_SIZE\n"
+msgstr ""
+
+#: mount/swapon.c:370
+#, fuzzy, c-format
+msgid "%s: stat failed"
+msgstr "erişim başarısız"
+
+#: mount/swapon.c:380
+#, fuzzy, c-format
+msgid "%s: insecure permissions %04o, %04o suggested."
+msgstr "%s: uyarı: %s güvencesiz izinler (%04o) içeriyor, %04o önerilir\n"
+
+#: mount/swapon.c:388
+#, 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"
+
+#: mount/swapon.c:402
+#, fuzzy, c-format
+msgid "%s: get size failed"
+msgstr "erişim başarısız"
+
+#: mount/swapon.c:408
+#, c-format
+msgid "%s: read swap header failed"
+msgstr ""
+
+#: mount/swapon.c:421
+#, c-format
+msgid "%s: last_page 0x%08llx is larger than actual size of swapspace"
+msgstr ""
+
+#: mount/swapon.c:426
+#, c-format
+msgid "%s: swap format pagesize does not match."
+msgstr ""
+
+#: mount/swapon.c:431
+#, c-format
+msgid ""
+"%s: swap format pagesize does not match. (Use --fixpgsz to reinitialize it.)"
+msgstr ""
+
+#: mount/swapon.c:440
+#, c-format
+msgid "%s: software suspend data detected. Rewriting the swap signature."
+msgstr ""
+
+#: mount/swapon.c:464 mount/swapon.c:514
+#, c-format
+msgid "%s on %s\n"
+msgstr "%s %s üzerinde\n"
+
+#: mount/swapon.c:486
+#, fuzzy, c-format
+msgid "%s: swapon failed"
+msgstr "erişim başarısız"
+
+#: mount/swapon.c:493
+#, fuzzy, c-format
+msgid "cannot find the device for %s"
+msgstr "%s: %s için aygıt ismi bulunamıyor\n"
+
+#: mount/swapon.c:526
+#, fuzzy
+msgid "Not superuser."
+msgstr "root değil.\n"
+
+#: mount/swapon.c:529
+#, fuzzy, c-format
+msgid "%s: swapoff failed"
+msgstr "erişim başarısız"
+
+#: mount/umount.c:41
+#, c-format
+msgid "umount: compiled without support for -f\n"
+msgstr "umount: -f için destek içermeksizin derlenmiş\n"
+
+#: mount/umount.c:111
+#, fuzzy, c-format
+msgid "umount: cannot set group id: %s"
+msgstr "mount: hız ayarlanamıyor: %s"
+
+#: mount/umount.c:114
+#, fuzzy, c-format
+msgid "umount: cannot set user id: %s"
+msgstr "mount: hız ayarlanamıyor: %s"
+
+#: mount/umount.c:139
+#, c-format
+msgid "umount: cannot fork: %s"
+msgstr "umount: ast süreç oluşturulamıyor: %s"
+
+#: mount/umount.c:160
+#, c-format
+msgid "umount: %s: invalid block device"
+msgstr "umount: %s: blok aygıtı geçersiz"
+
+#: mount/umount.c:162
+#, c-format
+msgid "umount: %s: not mounted"
+msgstr "umount: %s: bağlanmadı"
+
+#: mount/umount.c:164
+#, c-format
+msgid "umount: %s: can't write superblock"
+msgstr "umount: %s: superblok yazılamıyor"
+
+#: mount/umount.c:168
+#, 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/umount.c:173
+#, c-format
+msgid "umount: %s: not found"
+msgstr "umount: %s: yok"
+
+#: mount/umount.c:175
+#, c-format
+msgid "umount: %s: must be superuser to umount"
+msgstr "umount: %s: bağı kaldırmak için root gerekli"
+
+#: mount/umount.c:177
+#, c-format
+msgid "umount: %s: block devices not permitted on fs"
+msgstr "umount: %s: dosya sisteminde blok aygıtlara izin yok"
+
+#: mount/umount.c:179
+#, c-format
+msgid "umount: %s: %s"
+msgstr "umount: %s: %s"
+
+#: mount/umount.c:235
+#, c-format
+msgid "no umount2, trying umount...\n"
+msgstr "umount2 yok, umount deneniyor...\n"
+
+#: mount/umount.c:252
+#, c-format
+msgid "umount: %s busy - remounted read-only\n"
+msgstr "umount: %s meşgul- salt-okunur olarak yeniden bağlandı\n"
+
+#: mount/umount.c:263
+#, c-format
+msgid "umount: could not remount %s read-only\n"
+msgstr "umount: %s salt okunur olarak yeniden bağlanamıyor\n"
+
+#: mount/umount.c:272
+#, c-format
+msgid "%s umounted\n"
+msgstr "%s sistemden ayrıldı\n"
+
+#: mount/umount.c:367
+msgid "umount: cannot find list of filesystems to unmount"
+msgstr "umount: ayrılacak dosya sistemlerinin listesi bulunamıyor"
+
+#: mount/umount.c:397
+#, 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/umount.c:466
+#, fuzzy, c-format
+msgid "device %s is associated with %s\n"
+msgstr "Sektör %d zaten kullanımda\n"
+
+#: mount/umount.c:472
+#, fuzzy, c-format
+msgid "device %s is not associated with %s\n"
+msgstr "Sektör %d zaten kullanımda\n"
+
+#: mount/umount.c:485
+msgid "Cannot umount \"\"\n"
+msgstr "\"\" ayrılamaz\n"
+
+#: mount/umount.c:491
+#, c-format
+msgid "Trying to umount %s\n"
+msgstr "%s sistemden ayrılmaya çalışılıyor\n"
+
+#: mount/umount.c:504
+msgid "umount: confused when analyzing mtab"
+msgstr ""
+
+#: mount/umount.c:509
+#, c-format
+msgid "umount: cannot umount %s -- %s is mounted over it on the same point."
+msgstr ""
+
+#: mount/umount.c:516
+#, c-format
+msgid "Could not find %s in mtab\n"
+msgstr "mtab içinde %s bulunamadı\n"
+
+#: mount/umount.c:523
+#, c-format
+msgid "umount: %s is not mounted (according to mtab)"
+msgstr "umount: %s bağlı değil (mtab içinde yok)"
+
+#: mount/umount.c:547
+#, c-format
+msgid "umount: it seems %s is mounted multiple times"
+msgstr "umount: %s defalarca bağlanmış görünüyor"
+
+#: mount/umount.c:561
+#, 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/umount.c:567
+#, c-format
+msgid "umount: %s mount disagrees with the fstab"
+msgstr "umount: %s bağı fstab ile çelişiyor"
+
+#: mount/umount.c:608
+#, 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/umount.c:695
+msgid "umount: only root can do that"
+msgstr "umount: bu sadece root tarafından yapılabilir"
+
+#: schedutils/chrt.c:56
+#, 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"
+"\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 ""
+
+#: schedutils/chrt.c:88
+#, 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:90
+#, c-format
+msgid "pid %d's %s scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:112
+#, fuzzy, c-format
+msgid "unknown\n"
+msgstr "bilinmeyen"
+
+#: schedutils/chrt.c:116
+#, c-format
+msgid "failed to get pid %d's attributes"
+msgstr ""
+
+#: schedutils/chrt.c:118
+#, c-format
+msgid "pid %d's %s scheduling priority: %d\n"
+msgstr ""
+
+#: schedutils/chrt.c:147
+#, c-format
+msgid "SCHED_%s min/max priority\t: %d/%d\n"
+msgstr ""
+
+#: schedutils/chrt.c:150
+#, fuzzy, c-format
+msgid "SCHED_%s not supported?\n"
+msgstr "TCP üzerinden NFS desteklenmiyor.\n"
+
+#: schedutils/chrt.c:206
+#, fuzzy
+msgid "failed to parse pid"
+msgstr "%s: açılamıyor: %s\n"
+
+#: schedutils/chrt.c:228
+#, fuzzy
+msgid "current"
+msgstr "nsayısı"
+
+#: schedutils/chrt.c:236
+#, fuzzy
+msgid "failed to parse priority"
+msgstr "%s disk bölümüne yazarken hata oluştu\n"
+
+#: schedutils/chrt.c:242
+#, 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:251
+#, fuzzy, c-format
+msgid "failed to execute %s"
+msgstr "ioctl() %s den zamanı okuyamadı"
+
+#: schedutils/ionice.c:57
+#, fuzzy
+msgid "ioprio_get failed"
+msgstr "openpty başarısız\n"
+
+#: schedutils/ionice.c:75
+#, fuzzy
+msgid "ioprio_set failed"
+msgstr "openpty başarısız\n"
+
+#: schedutils/ionice.c:81
+#, c-format
+msgid ""
+"\n"
+"ionice - sets or gets process io scheduling class and priority.\n"
+"\n"
+"Usage:\n"
+"  ionice [ options ] -p <pid> [<pid> ...]\n"
+"  ionoce [ 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 ""
+
+#: schedutils/ionice.c:110 schedutils/ionice.c:112
+#, fuzzy, c-format
+msgid "cannot parse number '%s'"
+msgstr "%s açılamıyor"
+
+#: schedutils/ionice.c:151
+msgid "ignoring given class data for none class"
+msgstr ""
+
+#: schedutils/ionice.c:159
+msgid "ignoring given class data for idle class"
+msgstr ""
+
+#: schedutils/ionice.c:163
+#, c-format
+msgid "bad prio class %d"
+msgstr ""
+
+#: schedutils/ionice.c:187
+#, fuzzy
+msgid "execvp failed"
+msgstr "çalıştırma başarısız\n"
+
+#: sys-utils/ctrlaltdel.c:27
+#, c-format
+msgid "You must be root to set the Ctrl-Alt-Del behaviour.\n"
+msgstr ""
+"Ctrl-Alt-Del davranışının belirlenmesi sadece root tarafından yapılabilir.\n"
+
+#: sys-utils/ctrlaltdel.c:42
+#, c-format
+msgid "Usage: ctrlaltdel hard|soft\n"
+msgstr "Kullanımı: ctrlaltdel hard|soft\n"
+
+#: sys-utils/cytune.c:114
+#, 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\n"
+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:125
+#, c-format
+msgid ""
+"File %s, For threshold value %lu and timrout value %lu, Maximum characters "
+"in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f\n"
+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:189
+#, c-format
+msgid "Invalid interval value: %s\n"
+msgstr "Aralık değeri geçersiz: %s\n"
+
+#: sys-utils/cytune.c:197
+#, c-format
+msgid "Invalid set value: %s\n"
+msgstr "Ayar değeri geçersiz: %s\n"
+
+#: sys-utils/cytune.c:205
+#, c-format
+msgid "Invalid default value: %s\n"
+msgstr "Öntanımlı değer geçersiz: %s\n"
+
+#: sys-utils/cytune.c:213
+#, c-format
+msgid "Invalid set time value: %s\n"
+msgstr "Zaman ayar değeri geçersiz: %s\n"
+
+#: sys-utils/cytune.c:221
+#, c-format
+msgid "Invalid default time value: %s\n"
+msgstr "Öntanımlı zaman değeri geçersiz: %s\n"
+
+#: sys-utils/cytune.c:238
+#, c-format
+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"
+
+#: sys-utils/cytune.c:250 sys-utils/cytune.c:269 sys-utils/cytune.c:289
+#: sys-utils/cytune.c:339
+#, c-format
+msgid "Can't open %s: %s\n"
+msgstr "%s açılamıyor: %s\n"
+
+#: sys-utils/cytune.c:257
+#, c-format
+msgid "Can't set %s to threshold %d: %s\n"
+msgstr "%s %d eşik değerine ayarlanamıyor: %s\n"
+
+#: sys-utils/cytune.c:276
+#, c-format
+msgid "Can't set %s to time threshold %d: %s\n"
+msgstr "%s %d zaman eşik değerine ayarlanamıyor: %s\n"
+
+#: sys-utils/cytune.c:294 sys-utils/cytune.c:351 sys-utils/cytune.c:382
+#, c-format
+msgid "Can't get threshold for %s: %s\n"
+msgstr "%s için eşik değeri alınamıyor: %s\n"
+
+#: sys-utils/cytune.c:300 sys-utils/cytune.c:357 sys-utils/cytune.c:388
+#, c-format
+msgid "Can't get timeout for %s: %s\n"
+msgstr "%s için zaman aşımı değeri alınamıyor: %s\n"
+
+#: sys-utils/cytune.c:306
+#, 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:309
+#, 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/cytune.c:327
+msgid "Can't set signal handler"
+msgstr "sinyal yakalayıcı ayarlanamıyor"
+
+#: sys-utils/cytune.c:331 sys-utils/cytune.c:366
+msgid "gettimeofday failed"
+msgstr "gettimeofday başarısız"
+
+#: sys-utils/cytune.c:344 sys-utils/cytune.c:376
+#, c-format
+msgid "Can't issue CYGETMON on %s: %s\n"
+msgstr "%s üzerinde CYGETMON uygulanamıyor: %s\n"
+
+#: sys-utils/cytune.c:418
+#, 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:424
+#, 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:429
+#, 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:435
+#, c-format
+msgid "   %f int/sec; %f rec (char/sec)\n"
+msgstr "   %f kesme/sec; %f kayıt (karkt/s)\n"
+
+#: sys-utils/dmesg.c:45
+#, fuzzy, c-format
+msgid "Usage: %s [-c] [-n level] [-r] [-s bufsize]\n"
+msgstr "Kullanımı: %s [-c] [-n seviye] [-s tamponBoyu]\n"
+
+#: sys-utils/flock.c:65
+#, c-format
+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 ""
+
+#: sys-utils/flock.c:192
+#, fuzzy, c-format
+msgid "%s: %s requires exactly one command argument\n"
+msgstr "%s bir argümanla kullanılır\n"
+
+#: sys-utils/flock.c:219
+#, fuzzy, c-format
+msgid "%s: cannot open lock file %s: %s\n"
+msgstr "%s: %s açılamıyor: %s\n"
+
+#: sys-utils/flock.c:231
+#, fuzzy, c-format
+msgid "%s: bad number: %s\n"
+msgstr "Numara geçersiz: %s\n"
+
+#: sys-utils/flock.c:238
+#, c-format
+msgid "%s: requires file descriptor, file or directory\n"
+msgstr ""
+
+#: sys-utils/flock.c:294
+#, fuzzy, c-format
+msgid "%s: fork failed: %s\n"
+msgstr "ast süreç oluşturulamadı\n"
+
+#: sys-utils/ipcmk.c:84
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage: %s [options]\n"
+"\n"
+msgstr "Kullanımı: %s [seçenekler] aygıt ...\n"
+
+#: sys-utils/ipcmk.c:86
+#, c-format
+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 ""
+
+#: sys-utils/ipcmk.c:90
+#, c-format
+msgid ""
+"\n"
+"For more information see ipcmk(1).\n"
+"\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:142
+msgid "create share memory failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:144
+#, fuzzy, c-format
+msgid "Shared memory id: %d\n"
+msgstr ""
+"\n"
+"Paylaşımlı bellek Bölüt shmid=%d\n"
+
+#: sys-utils/ipcmk.c:150
+msgid "create message queue failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:152
+#, fuzzy, c-format
+msgid "Message queue id: %d\n"
+msgstr ""
+"\n"
+"İleti Kuyruğu iltkiml=%d\n"
+
+#: sys-utils/ipcmk.c:158
+#, fuzzy
+msgid "create semaphore failed"
+msgstr "ayrılmış semafor sayısı = %d\n"
+
+#: sys-utils/ipcmk.c:160
+#, fuzzy, c-format
+msgid "Semaphore id: %d\n"
+msgstr ""
+"\n"
+"Semafor Dizisi semkiml=%d\n"
+
+#: sys-utils/ipcrm.c:66
+#, c-format
+msgid "invalid id: %s\n"
+msgstr "kimlik geçersiz: %s\n"
+
+#: sys-utils/ipcrm.c:84
+#, c-format
+msgid "cannot remove id %s (%s)\n"
+msgstr "kimlik %s kaldırılamıyor (%s)\n"
+
+#: sys-utils/ipcrm.c:99
+#, c-format
+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"
+
+#: sys-utils/ipcrm.c:126
+#, c-format
+msgid "unknown resource type: %s\n"
+msgstr "özkaynak türü bilinmiyor: %s\n"
+
+#: sys-utils/ipcrm.c:130
+#, c-format
+msgid "resource(s) deleted\n"
+msgstr "özkaynak(lar) silindi\n"
+
+#: sys-utils/ipcrm.c:140
+#, c-format
+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"
+
+#: sys-utils/ipcrm.c:181
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: kuraldışı seçenek -- %c\n"
+
+#: sys-utils/ipcrm.c:193
+#, c-format
+msgid "%s: illegal key (%s)\n"
+msgstr "%s: kuraldışı tuş (%s)\n"
+
+#: sys-utils/ipcrm.c:208 sys-utils/ipcrm.c:240
+msgid "permission denied for key"
+msgstr "anahtar için erişim engellendi"
+
+#: sys-utils/ipcrm.c:211 sys-utils/ipcrm.c:250
+msgid "already removed key"
+msgstr "anahtar zaten silinmiş"
+
+#: sys-utils/ipcrm.c:214 sys-utils/ipcrm.c:245
+msgid "invalid key"
+msgstr "anahtar geçersiz"
+
+#: sys-utils/ipcrm.c:217 sys-utils/ipcrm.c:255
+msgid "unknown error in key"
+msgstr "anahtarda bilinmeyen hata"
+
+#: sys-utils/ipcrm.c:241
+msgid "permission denied for id"
+msgstr "kimlik için izinler yetersiz"
+
+#: sys-utils/ipcrm.c:246
+msgid "invalid id"
+msgstr "kimlik geçersiz"
+
+#: sys-utils/ipcrm.c:251
+msgid "already removed id"
+msgstr "kimlik zaten silinmiş"
+
+#: sys-utils/ipcrm.c:256
+msgid "unknown error in id"
+msgstr "kimlikte bilinmeyen hata"
+
+#: sys-utils/ipcrm.c:259
+#, c-format
+msgid "%s: %s (%s)\n"
+msgstr "%s: %s (%s)\n"
+
+#: sys-utils/ipcrm.c:267
+#, c-format
+msgid "%s: unknown argument: %s\n"
+msgstr "%s: bilinmeyen argüman: %s\n"
+
+#: sys-utils/ipcs.c:120
+#, c-format
+msgid "usage : %s -asmq -tclup \n"
+msgstr "kullanımı: %s -asmq -tclup \n"
+
+#: sys-utils/ipcs.c:121
+#, c-format
+msgid "\t%s [-s -m -q] -i id\n"
+msgstr "           %s [-s -m -q] -i kimlik\n"
+
+#: sys-utils/ipcs.c:122
+#, c-format
+msgid "\t%s -h for help.\n"
+msgstr "           %s -h yardım almak için.\n"
+
+#: sys-utils/ipcs.c:128
+#, c-format
+msgid ""
+"%s provides information on ipc facilities for which you have read access.\n"
+msgstr "%s okuma erişiminiz olan ipc yetenekleri hakkında bilgi sağlar.\n"
+
+#: sys-utils/ipcs.c:130
+#, c-format
+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"
+
+#: sys-utils/ipcs.c:131
+#, c-format
+msgid ""
+"\t-s : semaphores\n"
+"\t-a : all (default)\n"
+msgstr ""
+"\t-s : semaforlar\n"
+"\t-a : tümü (öntanımlı)\n"
+
+#: sys-utils/ipcs.c:132
+#, c-format
+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"
+
+#: sys-utils/ipcs.c:133
+#, c-format
+msgid ""
+"\t-l : limits\n"
+"\t-u : summary\n"
+msgstr ""
+"\t-l : sınırlar\n"
+"\t-u : özet\n"
+
+#: sys-utils/ipcs.c:134
+#, c-format
+msgid "-i id [-s -q -m] : 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:258
+#, 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:264
+#, c-format
+msgid "------ Shared Memory Limits --------\n"
+msgstr "---- Paylaşımlı Bellek Sınırları ----\n"
+
+#: sys-utils/ipcs.c:269
+#, c-format
+msgid "max number of segments = %lu\n"
+msgstr "azami bölüt sayısı = %lu\n"
+
+#: sys-utils/ipcs.c:271
+#, c-format
+msgid "max seg size (kbytes) = %lu\n"
+msgstr "azami bölüt boyu (kb) = %lu\n"
+
+#: sys-utils/ipcs.c:273
+#, fuzzy, c-format
+msgid "max total shared memory (kbytes) = %llu\n"
+msgstr "azami toplam paylaşımlı bellek (sayfa) = %lu\n"
+
+#: sys-utils/ipcs.c:275
+#, c-format
+msgid "min seg size (bytes) = %lu\n"
+msgstr "asgari bölüt boyu (bayt) = %lu\n"
+
+#: sys-utils/ipcs.c:280
+#, c-format
+msgid "------ Shared Memory Status --------\n"
+msgstr "----- Paylaşımlı Bellek Durumu -----\n"
+
+#: sys-utils/ipcs.c:281
+#, c-format
+msgid "segments allocated %d\n"
+msgstr "ayrılmış bölüt sayısı %d\n"
+
+#: sys-utils/ipcs.c:282
+#, c-format
+msgid "pages allocated %ld\n"
+msgstr "ayrılmış sayfa sayısı  %ld\n"
+
+#: sys-utils/ipcs.c:283
+#, c-format
+msgid "pages resident  %ld\n"
+msgstr "bulunan sayfa sayısı   %ld\n"
+
+#: sys-utils/ipcs.c:284
+#, c-format
+msgid "pages swapped   %ld\n"
+msgstr "takaslı sayfa sayısı   %ld\n"
+
+#: sys-utils/ipcs.c:285
+#, c-format
+msgid "Swap performance: %ld attempts\t %ld successes\n"
+msgstr "Takas verimi: %ld deneme\t %ld başarı\n"
+
+#: sys-utils/ipcs.c:290
+#, c-format
+msgid "------ Shared Memory Segment Creators/Owners --------\n"
+msgstr "--- Paylaşımlı Bellek Bölüt Oluşturucuları/Kendileri ---\n"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:298 sys-utils/ipcs.c:305
+#: sys-utils/ipcs.c:311
+msgid "shmid"
+msgstr "shmid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:311 sys-utils/ipcs.c:412
+#: sys-utils/ipcs.c:427 sys-utils/ipcs.c:510 sys-utils/ipcs.c:528
+msgid "perms"
+msgstr "izinler"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "cuid"
+msgstr "ckullkiml"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "cgid"
+msgstr "cgkiml"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "uid"
+msgstr "kullkim"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "gid"
+msgstr "gkiml"
+
+#: sys-utils/ipcs.c:296
+#, 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:298 sys-utils/ipcs.c:305 sys-utils/ipcs.c:311
+#: sys-utils/ipcs.c:418 sys-utils/ipcs.c:427 sys-utils/ipcs.c:516
+#: sys-utils/ipcs.c:522 sys-utils/ipcs.c:528
+msgid "owner"
+msgstr "sahibi"
+
+#: sys-utils/ipcs.c:298
+msgid "attached"
+msgstr "ekleme"
+
+#: sys-utils/ipcs.c:298
+msgid "detached"
+msgstr "ayırma"
+
+#: sys-utils/ipcs.c:299
+msgid "changed"
+msgstr "değişiklik"
+
+#: sys-utils/ipcs.c:303
+#, c-format
+msgid "------ Shared Memory Creator/Last-op --------\n"
+msgstr "---- Paylaşımlı Bellek Oluşturucu/Son işlem ----\n"
+
+#: sys-utils/ipcs.c:305
+msgid "cpid"
+msgstr "cpid"
+
+#: sys-utils/ipcs.c:305
+msgid "lpid"
+msgstr "lpid"
+
+#: sys-utils/ipcs.c:309
+#, c-format
+msgid "------ Shared Memory Segments --------\n"
+msgstr "----- Paylaşımlı Bellek Bölütleri -----\n"
+
+#: sys-utils/ipcs.c:311 sys-utils/ipcs.c:427 sys-utils/ipcs.c:528
+msgid "key"
+msgstr "anahtar"
+
+#: sys-utils/ipcs.c:311
+msgid "bytes"
+msgstr "bayt"
+
+#: sys-utils/ipcs.c:312
+msgid "nattch"
+msgstr "ekSayısı"
+
+#: sys-utils/ipcs.c:312
+msgid "status"
+msgstr "durum"
+
+#: sys-utils/ipcs.c:333 sys-utils/ipcs.c:335 sys-utils/ipcs.c:337
+#: sys-utils/ipcs.c:448 sys-utils/ipcs.c:450 sys-utils/ipcs.c:549
+#: sys-utils/ipcs.c:551 sys-utils/ipcs.c:553 sys-utils/ipcs.c:604
+#: sys-utils/ipcs.c:606 sys-utils/ipcs.c:634 sys-utils/ipcs.c:636
+#: sys-utils/ipcs.c:638 sys-utils/ipcs.c:661
+msgid "Not set"
+msgstr "Belirlenmedi"
+
+#: sys-utils/ipcs.c:365
+msgid "dest"
+msgstr "hedef"
+
+#: sys-utils/ipcs.c:366
+msgid "locked"
+msgstr "kilitli"
+
+#: sys-utils/ipcs.c:386
+#, c-format
+msgid "kernel not configured for semaphores\n"
+msgstr "çekirdek semaforlar için yapılandırılmamış\n"
+
+#: sys-utils/ipcs.c:392
+#, c-format
+msgid "------ Semaphore Limits --------\n"
+msgstr "------ Semafor Sınırları --------\n"
+
+#: sys-utils/ipcs.c:396
+#, c-format
+msgid "max number of arrays = %d\n"
+msgstr "azami dizi sayısı = %d\n"
+
+#: sys-utils/ipcs.c:397
+#, c-format
+msgid "max semaphores per array = %d\n"
+msgstr "dizi başına azami semafor sayısı = %d\n"
+
+#: sys-utils/ipcs.c:398
+#, c-format
+msgid "max semaphores system wide = %d\n"
+msgstr "tüm sistemdeki azami semafor sayısı = %d\n"
+
+#: sys-utils/ipcs.c:399
+#, 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:400
+#, c-format
+msgid "semaphore max value = %d\n"
+msgstr "semafor azami değeri = %d\n"
+
+#: sys-utils/ipcs.c:404
+#, c-format
+msgid "------ Semaphore Status --------\n"
+msgstr "------ Semafor Durumu --------\n"
+
+#: sys-utils/ipcs.c:405
+#, c-format
+msgid "used arrays = %d\n"
+msgstr "kullanılan dizi sayısı = %d\n"
+
+#: sys-utils/ipcs.c:406
+#, c-format
+msgid "allocated semaphores = %d\n"
+msgstr "ayrılmış semafor sayısı = %d\n"
+
+#: sys-utils/ipcs.c:410
+#, c-format
+msgid "------ Semaphore Arrays Creators/Owners --------\n"
+msgstr "------ Semafor Dizileri Oluşturucu/Kendi --------\n"
+
+#: sys-utils/ipcs.c:412 sys-utils/ipcs.c:418 sys-utils/ipcs.c:427
+msgid "semid"
+msgstr "semkiml"
+
+#: sys-utils/ipcs.c:416
+#, fuzzy, c-format
+msgid "------ Semaphore Operation/Change Times --------\n"
+msgstr "---- Paylaşımlı Bellek İşlem/Değişiklik Zamanları ----\n"
+
+#: sys-utils/ipcs.c:418
+msgid "last-op"
+msgstr "son-işl"
+
+#: sys-utils/ipcs.c:418
+msgid "last-changed"
+msgstr "son-değş"
+
+#: sys-utils/ipcs.c:425
+#, c-format
+msgid "------ Semaphore Arrays --------\n"
+msgstr "------ Semafor Dizileri ------\n"
+
+#: sys-utils/ipcs.c:427
+msgid "nsems"
+msgstr "semSayısı"
+
+#: sys-utils/ipcs.c:486
+#, 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:494
+#, c-format
+msgid "------ Messages: Limits --------\n"
+msgstr "------ İletiler: Sınırlar --------\n"
+
+#: sys-utils/ipcs.c:495
+#, c-format
+msgid "max queues system wide = %d\n"
+msgstr "tüm sistemdeki azami kuyruk sayısı = %d\n"
+
+#: sys-utils/ipcs.c:496
+#, c-format
+msgid "max size of message (bytes) = %d\n"
+msgstr "azami ileti uzunluğu (bayt) = %d\n"
+
+#: sys-utils/ipcs.c:497
+#, c-format
+msgid "default max size of queue (bytes) = %d\n"
+msgstr "öntanımlı azami kuyruk boyu (bayt) = %d\n"
+
+#: sys-utils/ipcs.c:501
+#, c-format
+msgid "------ Messages: Status --------\n"
+msgstr "------ İletiler: Durum --------\n"
+
+#: sys-utils/ipcs.c:502
+#, c-format
+msgid "allocated queues = %d\n"
+msgstr "ayrılmış kuyruk sayısı = %d\n"
+
+#: sys-utils/ipcs.c:503
+#, c-format
+msgid "used headers = %d\n"
+msgstr "kullanılmış başlık sayısı = %d\n"
+
+#: sys-utils/ipcs.c:504
+#, c-format
+msgid "used space = %d bytes\n"
+msgstr "kullanılmış alan = %d bayt\n"
+
+#: sys-utils/ipcs.c:508
+#, c-format
+msgid "------ Message Queues: Creators/Owners --------\n"
+msgstr "------ İleti Kuyrukları: Oluşturucu/Kendi --------\n"
+
+#: sys-utils/ipcs.c:510 sys-utils/ipcs.c:516 sys-utils/ipcs.c:522
+#: sys-utils/ipcs.c:528
+msgid "msqid"
+msgstr "iltkiml"
+
+#: sys-utils/ipcs.c:514
+#, 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:516
+msgid "send"
+msgstr "gönderim"
+
+#: sys-utils/ipcs.c:516
+msgid "recv"
+msgstr "alım"
+
+#: sys-utils/ipcs.c:516
+msgid "change"
+msgstr "değişim"
+
+#: sys-utils/ipcs.c:520
+#, c-format
+msgid "------ Message Queues PIDs --------\n"
+msgstr "------ İleti Kuyrukları PID'leri --------\n"
+
+#: sys-utils/ipcs.c:522
+msgid "lspid"
+msgstr "lspid"
+
+#: sys-utils/ipcs.c:522
+msgid "lrpid"
+msgstr "lrpid"
+
+#: sys-utils/ipcs.c:526
+#, c-format
+msgid "------ Message Queues --------\n"
+msgstr "------ İleti Kuyrukları --------\n"
+
+#: sys-utils/ipcs.c:529
+msgid "used-bytes"
+msgstr "kull-bayt"
+
+#: sys-utils/ipcs.c:529
+msgid "messages"
+msgstr "ileti-sayısı"
+
+#: sys-utils/ipcs.c:593
+#, fuzzy
+msgid "shmctl failed"
+msgstr "fsync hata verdi"
+
+#: sys-utils/ipcs.c:595
+#, 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:596
+#, c-format
+msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+msgstr "kullkiml=%d\tgkiml=%d\tckullkiml=%d\tcgkiml=%d\n"
+
+#: sys-utils/ipcs.c:598
+#, c-format
+msgid "mode=%#o\taccess_perms=%#o\n"
+msgstr "kip=%#o\terişim_izni=%#o\n"
+
+#: sys-utils/ipcs.c:600
+#, c-format
+msgid "bytes=%ld\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+msgstr "bayt=%ld\tlpid=%d\tcpid=%d\tekSayısı=%ld\n"
+
+#: sys-utils/ipcs.c:603
+#, c-format
+msgid "att_time=%-26.24s\n"
+msgstr "att_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:605
+#, c-format
+msgid "det_time=%-26.24s\n"
+msgstr "det_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:607 sys-utils/ipcs.c:637
+#, c-format
+msgid "change_time=%-26.24s\n"
+msgstr "change_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:619
+#, fuzzy
+msgid "msgctl failed"
+msgstr "fsync hata verdi"
+
+#: sys-utils/ipcs.c:621
+#, c-format
+msgid ""
+"\n"
+"Message Queue msqid=%d\n"
+msgstr ""
+"\n"
+"İleti Kuyruğu iltkiml=%d\n"
+
+#: sys-utils/ipcs.c:622
+#, c-format
+msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
+msgstr "kullkiml=%d\tgkiml=%d\tckullkiml=%d\tcgkiml=%d\tkip=%#o\n"
+
+#: sys-utils/ipcs.c:624
+#, 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:633
+#, c-format
+msgid "send_time=%-26.24s\n"
+msgstr "gönderim_zamanı=%-26.24s\n"
+
+#: sys-utils/ipcs.c:635
+#, c-format
+msgid "rcv_time=%-26.24s\n"
+msgstr "alış_zamanı=%-26.24s\n"
+
+#: sys-utils/ipcs.c:652 sys-utils/ipcs.c:674
+#, fuzzy
+msgid "semctl failed"
+msgstr "erişim başarısız"
+
+#: sys-utils/ipcs.c:654
+#, c-format
+msgid ""
+"\n"
+"Semaphore Array semid=%d\n"
+msgstr ""
+"\n"
+"Semafor Dizisi semkiml=%d\n"
+
+#: sys-utils/ipcs.c:655
+#, c-format
+msgid "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+msgstr "kullkiml=%d\t gkiml=%d\t ckullkiml=%d\t cgkiml=%d\n"
+
+#: sys-utils/ipcs.c:657
+#, c-format
+msgid "mode=%#o, access_perms=%#o\n"
+msgstr "kip=%#o, erişim_izni=%#o\n"
+
+#: sys-utils/ipcs.c:659
+#, c-format
+msgid "nsems = %ld\n"
+msgstr "semSayısı = %ld\n"
+
+#: sys-utils/ipcs.c:660
+#, c-format
+msgid "otime = %-26.24s\n"
+msgstr "otime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:662
+#, c-format
+msgid "ctime = %-26.24s\n"
+msgstr "ctime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:665
+msgid "semnum"
+msgstr "semnum"
+
+#: sys-utils/ipcs.c:665
+msgid "value"
+msgstr "değer"
+
+#: sys-utils/ipcs.c:665
+msgid "ncount"
+msgstr "nsayısı"
+
+#: sys-utils/ipcs.c:665
+msgid "zcount"
+msgstr "zsayısı"
+
+#: sys-utils/ipcs.c:665
+msgid "pid"
+msgstr "pid"
+
+#: sys-utils/ldattach.c:92
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [ -dhV78neo12 ] [ -s <speed> ] <ldisc> <device>\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:94
+msgid ""
+"\n"
+"Known <ldisc> names:\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:179
+#, fuzzy, c-format
+msgid "invalid speed: %s"
+msgstr "kimlik geçersiz: %s\n"
+
+#: sys-utils/ldattach.c:182
+#, fuzzy, c-format
+msgid "ldattach from %s\n"
+msgstr "%2$s deki %1$s\n"
+
+#: sys-utils/ldattach.c:187 text-utils/tailf.c:205
+#, fuzzy
+msgid "invalid option"
+msgstr "kimlik geçersiz"
+
+#: sys-utils/ldattach.c:199
+#, fuzzy, c-format
+msgid "invalid line discipline: %s"
+msgstr "kimlik geçersiz: %s\n"
+
+#: sys-utils/ldattach.c:207
+#, fuzzy, c-format
+msgid "%s is not a serial line"
+msgstr "%s bir blok-özel aygıt değil"
+
+#: sys-utils/ldattach.c:213
+#, fuzzy, c-format
+msgid "cannot get terminal attributes for %s"
+msgstr "%s uzunluğu alınamıyor"
+
+#: sys-utils/ldattach.c:216
+#, c-format
+msgid "speed %d unsupported"
+msgstr ""
+
+#: sys-utils/ldattach.c:247
+#, fuzzy, c-format
+msgid "cannot set terminal attributes for %s"
+msgstr "%s uzunluğu alınamıyor"
+
+#: sys-utils/ldattach.c:254
+#, fuzzy
+msgid "cannot set line discipline"
+msgstr "Disk sürücü üzerinde arama yapılamıyor"
+
+#: sys-utils/ldattach.c:260
+#, fuzzy
+msgid "cannot daemonize"
+msgstr "%s uzunluğu alınamıyor"
+
+#: sys-utils/lscpu.c:64
+#, fuzzy
+msgid "none"
+msgstr "Hiçbiri"
+
+#: sys-utils/lscpu.c:65
+msgid "para"
+msgstr ""
+
+#: sys-utils/lscpu.c:66
+msgid "full"
+msgstr ""
+
+#: sys-utils/lscpu.c:129 sys-utils/lscpu.c:152 sys-utils/lscpu.c:441
+#, fuzzy, c-format
+msgid "error: %s"
+msgstr "RE hatası:"
+
+#: sys-utils/lscpu.c:154
+#, fuzzy, c-format
+msgid "error parse: %s"
+msgstr "%s okunurken hata\n"
+
+#: sys-utils/lscpu.c:176
+#, fuzzy
+msgid "error: strdup failed"
+msgstr "%s açılamadı"
+
+#: sys-utils/lscpu.c:259
+#, fuzzy
+msgid "error: uname failed"
+msgstr ""
+"\n"
+"Dosya kapatılırken hata\n"
+
+#: sys-utils/lscpu.c:491
+#, fuzzy
+msgid "error: malloc failed"
+msgstr "bellek ayrılamadı"
+
+#: sys-utils/lscpu.c:506
+msgid "error: /sys filesystem is not accessable."
+msgstr ""
+
+#: sys-utils/lscpu.c:524
+#, 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"
+"# CPU,Core,Socket,Node"
+msgstr ""
+
+#: sys-utils/lscpu.c:590
+msgid "Thread(s) per core:"
+msgstr ""
+
+#: sys-utils/lscpu.c:591
+msgid "Core(s) per socket:"
+msgstr ""
+
+#: sys-utils/lscpu.c:592
+msgid "CPU socket(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:596
+msgid "NUMA node(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:598
+msgid "Vendor ID:"
+msgstr ""
+
+#: sys-utils/lscpu.c:600
+msgid "CPU family:"
+msgstr ""
+
+#: sys-utils/lscpu.c:602
+msgid "Model:"
+msgstr ""
+
+#: sys-utils/lscpu.c:604
+msgid "Stepping:"
+msgstr ""
+
+#: sys-utils/lscpu.c:606
+msgid "CPU MHz:"
+msgstr ""
+
+#: sys-utils/lscpu.c:609 sys-utils/lscpu.c:611
+#, fuzzy
+msgid "Virtualization:"
+msgstr "Eski durum:\n"
+
+#: sys-utils/lscpu.c:614
+msgid "Hypervisor vendor:"
+msgstr ""
+
+#: sys-utils/lscpu.c:615
+msgid "Virtualization type:"
+msgstr ""
+
+#: sys-utils/lscpu.c:623
+#, c-format
+msgid "%s cache:"
+msgstr ""
+
+#: sys-utils/lscpu.c:631
+#, fuzzy, c-format
+msgid "Usage: %s [option]\n"
+msgstr "Kullanımı: %s [seçenekler] aygıt ...\n"
+
+#: sys-utils/lscpu.c:634
+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 ""
+
+#: sys-utils/lscpu.c:683
+#, fuzzy, c-format
+msgid "error: change working directory to %s."
+msgstr "%s için kip değiştirilirken hata: %s\n"
+
+#: sys-utils/rdev.c:77
+msgid "usage: rdev [ -rv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]"
+msgstr "kullanımı: rdev [ -rv ] [ -o KONUM ] [ YANSI [ DEĞER [ KONUM ] ] ]"
+
+#: sys-utils/rdev.c:78
+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"
+
+#: sys-utils/rdev.c:79
+msgid "  rdev /dev/fd0 /dev/hda2         sets ROOT to /dev/hda2"
+msgstr "  rdev /dev/fd0 /dev/hda2         KÖKü /dev/hda2 'ye ayarlar"
+
+#: sys-utils/rdev.c:80
+msgid "  rdev -R /dev/fd0 1              set the ROOTFLAGS (readonly status)"
+msgstr ""
+"  rdev -R /dev/fd0 1              KÖK Bayrakları belirlenir (salt-okunur)"
+
+#: sys-utils/rdev.c:81
+msgid "  rdev -r /dev/fd0 627            set the RAMDISK size"
+msgstr "  rdev -r /dev/fd0 627            RAMDISK boyu belirlenir"
+
+#: sys-utils/rdev.c:82
+msgid "  rdev -v /dev/fd0 1              set the bootup VIDEOMODE"
+msgstr "  rdev -v /dev/fd0 1              önyükleme VIDEOMODE belirlenir"
+
+#: sys-utils/rdev.c:83
+msgid "  rdev -o N ...                   use the byte offset N"
+msgstr ""
+"  rdev -o N ...                   bayt göreli konumu N olarak belirlenir"
+
+#: sys-utils/rdev.c:84
+msgid "  rootflags ...                   same as rdev -R"
+msgstr "  rootflags ...                   rdev -R ile aynı"
+
+#: sys-utils/rdev.c:85
+msgid "  ramsize ...                     same as rdev -r"
+msgstr "  ramsize ...                     rdev -r ile aynı"
+
+#: sys-utils/rdev.c:86
+msgid "  vidmode ...                     same as rdev -v"
+msgstr "  vidmode ...                     rdev -v ile aynı"
+
+#: sys-utils/rdev.c:87
+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,..."
+
+#: sys-utils/rdev.c:88
+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."
+
+#: sys-utils/rdev.c:245
+msgid "missing comma"
+msgstr "virgül eksik"
+
+#: sys-utils/readprofile.c:72
+#, c-format
+msgid "out of memory"
+msgstr "bellek yetersiz"
+
+#: sys-utils/readprofile.c:118
+#, 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: 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"
+
+#: sys-utils/readprofile.c:227
+#, fuzzy, c-format
+msgid "readprofile: error writing %s: %s\n"
+msgstr "mount: %s yazılırken hata: %s"
+
+#: sys-utils/readprofile.c:268
+#, c-format
+msgid "Assuming reversed byte order. Use -n to force native byte order.\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:284
+#, c-format
+msgid "Sampling_step: %i\n"
+msgstr "Örnekleme_adımı: %i\n"
+
+#: sys-utils/readprofile.c:305 sys-utils/readprofile.c:331
+#, c-format
+msgid "%s: %s(%i): wrong map line\n"
+msgstr "%s: %s(%i): eşlem satırı yanlış\n"
+
+#: sys-utils/readprofile.c:318
+#, c-format
+msgid "%s: can't find \"_stext\" in %s\n"
+msgstr "%s: \"_stext\" %s içinde bulunamıyor\n"
+
+#: sys-utils/readprofile.c:352
+#, c-format
+msgid "%s: profile address out of range. Wrong map file?\n"
+msgstr "%s: profil adresi kapsamdışı. Eşlem dosyası yanlış olabilir mi?\n"
+
+#: sys-utils/readprofile.c:412
+msgid "total"
+msgstr "toplam"
+
+#: sys-utils/renice.c:53
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" renice [-n] priority [-p|--pid] pid  [... pid]\n"
+" renice [-n] priority  -g|--pgrp pgrp [... pgrp]\n"
+" renice [-n] priority  -u|--user user [... user]\n"
+" renice -h | --help\n"
+" renice -v | --version\n"
+"\n"
+msgstr ""
+
+#: sys-utils/renice.c:89
+#, fuzzy, c-format
+msgid "renice from %s\n"
+msgstr "%2$s deki %1$s\n"
+
+#: sys-utils/renice.c:126
+#, c-format
+msgid "renice: %s: unknown user\n"
+msgstr "renice: %s: kullanıcı bilinmiyor\n"
+
+#: sys-utils/renice.c:134
+#, c-format
+msgid "renice: %s: bad value\n"
+msgstr "renice: %s: değer hatalı\n"
+
+#: sys-utils/renice.c:152 sys-utils/renice.c:164
+msgid "getpriority"
+msgstr "getpriority"
+
+#: sys-utils/renice.c:157
+msgid "setpriority"
+msgstr "setpriority"
+
+#: sys-utils/renice.c:168
+#, c-format
+msgid "%d: old priority %d, new priority %d\n"
+msgstr "%d: eski öncelik %d, yeni öncelik %d\n"
+
+#: sys-utils/rtcwake.c:81
+#, c-format
+msgid ""
+"usage: %s [options]\n"
+"    -d | --device <device>    select rtc device (rtc0|rtc1|...)\n"
+"    -l | --local              RTC uses local timezone\n"
+"    -m | --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"
+"    -V | --version            show version\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:140
+msgid "read rtc time"
+msgstr ""
+
+#: sys-utils/rtcwake.c:145
+msgid "read system time"
+msgstr ""
+
+#: sys-utils/rtcwake.c:163
+msgid "convert rtc time"
+msgstr ""
+
+#: sys-utils/rtcwake.c:222
+msgid "set rtc alarm"
+msgstr ""
+
+#: sys-utils/rtcwake.c:226
+msgid "enable rtc alarm"
+msgstr ""
+
+#: sys-utils/rtcwake.c:230
+msgid "set rtc wake alarm"
+msgstr ""
+
+#: sys-utils/rtcwake.c:342
+#, fuzzy, c-format
+msgid "%s: unrecognized suspend state '%s'\n"
+msgstr " %s: disk bölümleme tablosu türü tanınmıyor\n"
+
+#: sys-utils/rtcwake.c:351
+#, fuzzy, c-format
+msgid "%s: illegal interval %s seconds\n"
+msgstr "%s: kuraldışı tuş (%s)\n"
+
+#: sys-utils/rtcwake.c:365
+#, fuzzy, c-format
+msgid "%s: illegal time_t value %s\n"
+msgstr "%s: kuraldışı seçenek -- %s\n"
+
+#: sys-utils/rtcwake.c:381
+#, fuzzy, c-format
+msgid "%s: version %s\n"
+msgstr ""
+"%s sürüm %s\n"
+"Çeviri hatalarını <gnu-tr-u12a@listssourceforge.net> adresine bildiriniz\n"
+
+#: sys-utils/rtcwake.c:394
+#, c-format
+msgid "%s: assuming RTC uses UTC ...\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:399
+#, fuzzy, c-format
+msgid "Using UTC time.\n"
+msgstr "%s kullanarak.\n"
+
+#: sys-utils/rtcwake.c:400
+#, fuzzy, c-format
+msgid "Using local time.\n"
+msgstr "%s kullanarak.\n"
+
+#: sys-utils/rtcwake.c:403
+#, c-format
+msgid "%s: must provide wake time\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:413
+#, fuzzy
+msgid "malloc() failed"
+msgstr "bellek ayrılamadı"
+
+#: sys-utils/rtcwake.c:425
+#, fuzzy, c-format
+msgid "%s: %s not enabled for wakeup events\n"
+msgstr "%s: %s bir lp aygıtı değil.\n"
+
+#: sys-utils/rtcwake.c:441
+#, c-format
+msgid "alarm %ld, sys_time %ld, rtc_time %ld, seconds %u\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:446
+#, c-format
+msgid "%s: time doesn't go backward to %s\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:456
+#, fuzzy, c-format
+msgid "%s: wakeup from \"%s\" using %s at %s\n"
+msgstr "%s@%s den ileti var (%s üzerinden, şu an %s) ..."
+
+#: sys-utils/rtcwake.c:473
+#, fuzzy
+msgid "rtc read"
+msgstr ", hazır"
+
+#: sys-utils/rtcwake.c:482
+msgid "disable rtc alarm interrupt"
+msgstr ""
+
+#: sys-utils/setarch.c:50
+#, c-format
+msgid "Switching on %s.\n"
+msgstr ""
+
+#: sys-utils/setarch.c:113
+#, c-format
+msgid ""
+"Usage: %s%s [options] [program [program arguments]]\n"
+"\n"
+"Options:\n"
+msgstr ""
+
+#: sys-utils/setarch.c:117
+#, c-format
+msgid ""
+" -h, --help               displays this help text\n"
+" -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"
+msgstr ""
+
+#: sys-utils/setarch.c:131
+#, c-format
+msgid ""
+"\n"
+"For more information see setarch(8).\n"
+msgstr ""
+
+#: sys-utils/setarch.c:143
+#, fuzzy, c-format
+msgid ""
+"%s: %s\n"
+"Try `%s --help' for more information.\n"
+msgstr "Daha fazla bilgi için `getopt --help' yazınız.\n"
+
+#: sys-utils/setarch.c:215 sys-utils/setarch.c:231
+#, fuzzy, c-format
+msgid "%s: Unrecognized architecture"
+msgstr " %s: disk bölümleme tablosu türü tanınmıyor\n"
+
+#: sys-utils/setarch.c:249 sys-utils/setarch.c:256
+#, fuzzy
+msgid "Not enough arguments"
+msgstr "Çok fazla argüman belirtildi.\n"
+
+#: sys-utils/setarch.c:265 sys-utils/setarch.c:318
+#, 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:26
+#, c-format
+msgid "usage: %s program [arg ...]\n"
+msgstr "kullanımı: %s program [arg ...]\n"
+
+#: sys-utils/tunelp.c:75
+#, c-format
+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"
+
+#: sys-utils/tunelp.c:91
+msgid "malloc error"
+msgstr "bellek ayırma hatası"
+
+#: sys-utils/tunelp.c:103
+#, c-format
+msgid "%s: bad value\n"
+msgstr "%s: değer hatalı\n"
+
+#: sys-utils/tunelp.c:242
+#, c-format
+msgid "%s: %s not an lp device.\n"
+msgstr "%s: %s bir lp aygıtı değil.\n"
+
+#: sys-utils/tunelp.c:263
+#, c-format
+msgid "%s status is %d"
+msgstr "%s durumu %d"
+
+#: sys-utils/tunelp.c:264
+#, c-format
+msgid ", busy"
+msgstr ", meşgul"
+
+#: sys-utils/tunelp.c:265
+#, c-format
+msgid ", ready"
+msgstr ", hazır"
+
+#: sys-utils/tunelp.c:266
+#, c-format
+msgid ", out of paper"
+msgstr ", kağıt yok"
+
+#: sys-utils/tunelp.c:267
+#, c-format
+msgid ", on-line"
+msgstr ", çalışıyor"
+
+#: sys-utils/tunelp.c:268
+#, c-format
+msgid ", error"
+msgstr ", hata"
+
+#: sys-utils/tunelp.c:285
+msgid "LPGETIRQ error"
+msgstr "LPGETIRQ hatası"
+
+#: sys-utils/tunelp.c:291
+#, c-format
+msgid "%s using IRQ %d\n"
+msgstr "%s IRQ %d kullanıyor\n"
+
+#: sys-utils/tunelp.c:293
+#, c-format
+msgid "%s using polling\n"
+msgstr "%s sorgulama kullanıyor\n"
+
+#: text-utils/col.c:154
+#, c-format
+msgid "col: bad -l argument %s.\n"
+msgstr "col: -l argümanı %s hatalı.\n"
+
+#: text-utils/col.c:544
+#, c-format
+msgid "usage: col [-bfpx] [-l nline]\n"
+msgstr "kullanımı: col [-bfpx] [-l satırsayısı]\n"
+
+#: text-utils/col.c:550
+#, c-format
+msgid "col: write error.\n"
+msgstr "col: yazma hatası.\n"
+
+#: text-utils/col.c:557
+#, c-format
+msgid "col: warning: can't back up %s.\n"
+msgstr "col: uyarı: %s yedeklenemiyor.\n"
+
+#: text-utils/col.c:558
+msgid "past first line"
+msgstr "geçen ilk satır"
+
+#: text-utils/col.c:558
+msgid "-- line already flushed"
+msgstr "-- satır zaten geçti"
+
+#: text-utils/colcrt.c:97
+#, c-format
+msgid "usage: %s [ - ] [ -2 ] [ file ... ]\n"
+msgstr "kullanımı: %s [ - ] [ -2 ] [ dosya ... ]\n"
+
+#: text-utils/column.c:297
+msgid "line too long"
+msgstr "satır çok uzun"
+
+#: text-utils/column.c:374
+#, c-format
+msgid "usage: column [-tx] [-c columns] [file ...]\n"
+msgstr "kullanımı: column [-tx] [-c sütun] [dosya ...]\n"
+
+#: text-utils/hexsyntax.c:82
+#, c-format
+msgid "hexdump: bad length value.\n"
+msgstr "hexdump: uzunluk hatalı.\n"
+
+#: text-utils/hexsyntax.c:93
+#, c-format
+msgid "hexdump: bad skip value.\n"
+msgstr "hexdump: atlama değeri hatalı.\n"
+
+#: text-utils/hexsyntax.c:131
+#, c-format
+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"
+
+#: text-utils/more.c:256
+#, c-format
+msgid "usage: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n"
+msgstr "kullanımı: %s [-dflpcsu] [+satırnum | +/kalıp] isim1 isim2 ...\n"
+
+#: text-utils/more.c:479
+#, c-format
+msgid "%s: unknown option \"-%c\"\n"
+msgstr "%s: \"-%c\" diye bir seçenek bilinmiyor\n"
+
+#: text-utils/more.c:511
+#, c-format
+msgid ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+msgstr ""
+"\n"
+"*** %s: dizin ***\n"
+"\n"
+
+#: text-utils/more.c:555
+#, 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:658
+#, c-format
+msgid "[Use q or Q to quit]"
+msgstr "[Çıkmak için q ya da Q kullanın]"
+
+#: text-utils/more.c:750
+#, c-format
+msgid "--More--"
+msgstr "--Başka--"
+
+#: text-utils/more.c:752
+#, c-format
+msgid "(Next file: %s)"
+msgstr "(Sonraki dosya: %s)"
+
+#: text-utils/more.c:757
+#, 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:1172
+#, c-format
+msgid "...back %d pages"
+msgstr "...kalan %d sayfa"
+
+#: text-utils/more.c:1174
+msgid "...back 1 page"
+msgstr "...kalan 1 sayfa"
+
+#: text-utils/more.c:1217
+msgid "...skipping one line"
+msgstr "...bir satır atlanıyor"
+
+#: text-utils/more.c:1219
+#, c-format
+msgid "...skipping %d lines"
+msgstr "...%d satır atlanıyor"
+
+#: text-utils/more.c:1256
+msgid ""
+"\n"
+"***Back***\n"
+"\n"
+msgstr ""
+"\n"
+"***Kalan***\n"
+"\n"
+
+#: text-utils/more.c:1294
+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:1301
+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:1370 text-utils/more.c:1375
+#, 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:1409
+#, c-format
+msgid "\"%s\" line %d"
+msgstr "\"%s\" satır %d"
+
+#: text-utils/more.c:1411
+#, c-format
+msgid "[Not a file] line %d"
+msgstr "[Dosya değil] satır %d"
+
+#: text-utils/more.c:1495
+msgid "  Overflow\n"
+msgstr "  Taşma\n"
+
+#: text-utils/more.c:1542
+msgid "...skipping\n"
+msgstr "...atlanıyor\n"
+
+#: text-utils/more.c:1571
+msgid "Regular expression botch"
+msgstr "Düzenli ifade acemice"
+
+#: text-utils/more.c:1579
+msgid ""
+"\n"
+"Pattern not found\n"
+msgstr ""
+"\n"
+"Kalıp bulunamadı\n"
+
+#: text-utils/more.c:1582 text-utils/pg.c:1124 text-utils/pg.c:1275
+msgid "Pattern not found"
+msgstr "Kalıp bulunamadı"
+
+#: text-utils/more.c:1643
+msgid "can't fork\n"
+msgstr "ast süreç oluşturulamadı\n"
+
+#: text-utils/more.c:1682
+msgid ""
+"\n"
+"...Skipping "
+msgstr ""
+"\n"
+"...Atlanıyor "
+
+#: text-utils/more.c:1686
+msgid "...Skipping to file "
+msgstr "...Dosyaya atlanıyor: "
+
+#: text-utils/more.c:1688
+msgid "...Skipping back to file "
+msgstr "...Önceki dosyaya atlanıyor: "
+
+#: text-utils/more.c:1966
+msgid "Line too long"
+msgstr "Satır çok uzun"
+
+#: text-utils/more.c:2009
+msgid "No previous command to substitute for"
+msgstr "Yerini alacak öncesinde bir komut yok"
+
+#: text-utils/odsyntax.c:130
+#, c-format
+msgid "od: od(1) has been deprecated for hexdump(1).\n"
+msgstr "od: od(1) hexdump(1) için uygun bulunmamıştı.\n"
+
+#: text-utils/odsyntax.c:133
+#, c-format
+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"
+
+#: text-utils/odsyntax.c:134
+msgid "; see strings(1)."
+msgstr "; Bak: strings(1)."
+
+#: text-utils/parse.c:63
+#, c-format
+msgid "hexdump: can't read %s.\n"
+msgstr "hexdump: %s okunamıyor.\n"
+
+#: text-utils/parse.c:68
+#, c-format
+msgid "hexdump: line too long.\n"
+msgstr "hexdump: satır çok uzun.\n"
+
+#: text-utils/parse.c:401
+#, c-format
+msgid "hexdump: byte count with multiple conversion characters.\n"
+msgstr "hexdump: çoklu dönüşüm karakterleriyle bayt sayısı.\n"
+
+#: text-utils/parse.c:483
+#, c-format
+msgid "hexdump: bad byte count for conversion character %s.\n"
+msgstr "hexdump: dönüşüm karakteri %s için bayt sayısı hatalı.\n"
+
+#: text-utils/parse.c:490
+#, c-format
+msgid "hexdump: %%s requires a precision or a byte count.\n"
+msgstr "hexdump: %%s bir duyarlık ya da bayt sayısı gerektirir.\n"
+
+#: text-utils/parse.c:496
+#, c-format
+msgid "hexdump: bad format {%s}\n"
+msgstr "hexdump: biçem hatalı {%s}\n"
+
+#: text-utils/parse.c:502
+#, c-format
+msgid "hexdump: bad conversion character %%%s.\n"
+msgstr "hexdump: dönüşüm karakteri %%%s hatalı.\n"
+
+#: text-utils/pg.c:145
+msgid ""
+"All rights reserved.\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"
+msgstr ""
+
+#: text-utils/pg.c:223
+#, fuzzy
+msgid "Out of memory\n"
+msgstr "Bellek yetersiz"
+
+#: text-utils/pg.c:236
+#, c-format
+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"
+
+#: text-utils/pg.c:245
+#, 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:253
+#, c-format
+msgid "%s: illegal option -- %s\n"
+msgstr "%s: kuraldışı seçenek -- %s\n"
+
+#: text-utils/pg.c:370
+msgid "...skipping forward\n"
+msgstr "...ileri atlanıyor\n"
+
+#: text-utils/pg.c:372
+msgid "...skipping backward\n"
+msgstr "...geri atlanıyor\n"
+
+#: text-utils/pg.c:394
+msgid "No next file"
+msgstr "Sonrasında dosya yok"
+
+#: text-utils/pg.c:398
+msgid "No previous file"
+msgstr "Öncesinde dosya yok"
+
+#: text-utils/pg.c:928
+#, c-format
+msgid "%s: Read error from %s file\n"
+msgstr "%s: %s dosyasından okuma hatası\n"
+
+#: text-utils/pg.c:934
+#, c-format
+msgid "%s: Unexpected EOF in %s file\n"
+msgstr "%s: %s doyasında beklenmedik dosya sonu\n"
+
+#: text-utils/pg.c:937
+#, c-format
+msgid "%s: Unknown error in %s file\n"
+msgstr "%s: %s doyasında bilinmeyen hata\n"
+
+#: text-utils/pg.c:1032
+#, c-format
+msgid "%s: Cannot create tempfile\n"
+msgstr "%s: geçici dosya oluşturulamıyor.\n"
+
+#: text-utils/pg.c:1041 text-utils/pg.c:1216 text-utils/pg.c:1243
+msgid "RE error: "
+msgstr "RE hatası:"
+
+#: text-utils/pg.c:1198
+msgid "(EOF)"
+msgstr "(DosyaSonu)"
+
+#: text-utils/pg.c:1224 text-utils/pg.c:1251
+msgid "No remembered search string"
+msgstr "Arama dizgesi yok"
+
+#: text-utils/pg.c:1307
+msgid "Cannot open "
+msgstr "Açılamıyor"
+
+#: text-utils/pg.c:1355
+msgid "saved"
+msgstr "kaydedildi"
+
+#: text-utils/pg.c:1462
+msgid ": !command not allowed in rflag mode.\n"
+msgstr ": rflag kipinde ! komutu kullanılmaz.\n"
+
+#: text-utils/pg.c:1494
+msgid "fork() failed, try again later\n"
+msgstr "Alt süreç oluşturulamadı, daha sonra tekrar deneyin\n"
+
+#: text-utils/pg.c:1702
+msgid "(Next file: "
+msgstr "(Sonraki dosya: "
+
+#: text-utils/rev.c:113
+#, fuzzy
+msgid "unable to allocate bufferspace"
+msgstr "Tampon alanı ayrılamadı\n"
+
+#: text-utils/rev.c:143
+#, c-format
+msgid "usage: rev [file ...]\n"
+msgstr "kullanımı: rev [dosya ...]\n"
+
+#: text-utils/tailf.c:57 text-utils/tailf.c:92
+#, fuzzy, c-format
+msgid "cannot open \"%s\" for read"
+msgstr "\"%s\" okumak için açılamıyor\n"
+
+#: text-utils/tailf.c:95 text-utils/tailf.c:214
+#, fuzzy, c-format
+msgid "cannot stat \"%s\""
+msgstr "%s aygıtının durum bilgisi alınamıyor"
+
+#: text-utils/tailf.c:108
+#, c-format
+msgid "incomplete write to \"%s\" (written %zd, expected %zd)\n"
+msgstr ""
+
+#: text-utils/tailf.c:146
+#, c-format
+msgid "%s: cannot add inotify watch (limit of inotify watches was reached)."
+msgstr ""
+
+#: text-utils/tailf.c:150
+#, c-format
+msgid "%s: cannot add inotify watch."
+msgstr ""
+
+#: text-utils/tailf.c:159
+#, fuzzy, c-format
+msgid "%s: cannot read inotify events"
+msgstr "%s: %s açılamıyor\n"
+
+#: text-utils/tailf.c:198 text-utils/tailf.c:202
+#, fuzzy
+msgid "invalid number of lines"
+msgstr "`%s' geçersiz sayı\n"
+
+#: text-utils/tailf.c:209
+#, fuzzy
+msgid "usage: tailf [-n N | -N] logfile"
+msgstr "Kullanımı: tailf günlük_dosyası\n"
+
+#: text-utils/ul.c:141
+#, c-format
+msgid "usage: %s [ -i ] [ -tTerm ] file...\n"
+msgstr "kullanımı: %s [ -i ] [ -tTerm ] dosya...\n"
+
+#: text-utils/ul.c:152
+#, c-format
+msgid "trouble reading terminfo"
+msgstr "terminfo okunmaya çalışılıyor"
+
+#: text-utils/ul.c:242
+#, c-format
+msgid "Unknown escape sequence in input: %o, %o\n"
+msgstr "Girdideki önceleme dizgesi bilinmiyor: %o, %o\n"
+
+#: text-utils/ul.c:425
+#, c-format
+msgid "Unable to allocate buffer.\n"
+msgstr "Tampon ayrılamadı.\n"
+
+#: text-utils/ul.c:586
+#, c-format
+msgid "Input line too long.\n"
+msgstr "Girdi satırı çok uzun.\n"
+
+#: text-utils/ul.c:599
+#, c-format
+msgid "Out of memory when growing buffer.\n"
+msgstr "Tampon büyütülürken bellek yetmedi.\n"
+
+#~ msgid "# partition table of %s\n"
+#~ msgstr "# %s disk bölümleme tablosu\n"
+
+#, 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: unable to get current directory - %s\n"
+#~ msgstr "namei: çalışılan dizine geçilemiyor - %s\n"
+
+#~ msgid "namei: unable to chdir to %s - %s (%d)\n"
+#~ msgstr "namei: %s dizinine geçilemiyor - %s (%d)\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 "%s: cannot stat %s: %s\n"
+#~ msgstr "%s: %s durum bilgileri alınamı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 "Autoconfigure failed.\n"
+#~ msgstr "Otoyapılandırma hata verdi.\n"
+
+#~ 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 from %s%s\n"
+#~ msgstr "%2$s%3$s deki %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: cannot find %s in %s"
+#~ msgstr "mount: %s  %s içinde bulunamıyor"
+
+#~ 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: fs type %s not supported by kernel"
+#~ msgstr "mount: dosya sistemi türü %s çekirdek tarafından desteklenmiyor"
+
+#~ 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 "number `%s' to `%s' out of range\n"
+#~ msgstr "`%s' `%s' aralığının dışında\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 (file)
index 0000000..fecbaa9
Binary files /dev/null and b/po/uk.gmo differ
diff --git a/po/uk.po b/po/uk.po
new file mode 100644 (file)
index 0000000..31b5607
--- /dev/null
+++ b/po/uk.po
@@ -0,0 +1,12274 @@
+# 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.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: util-linux 2.13-pre7\n"
+"Report-Msgid-Bugs-To: Karel Zak <kzak@redhat.com>\n"
+"POT-Creation-Date: 2009-11-30 16:27+0100\n"
+"PO-Revision-Date: 2006-04-06 10:45+0200\n"
+"Last-Translator: Maxim V. Dziumanenko <mvd@mylinux.com.ua>\n"
+"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: disk-utils/blockdev.c:37
+msgid "set read-only"
+msgstr "встановити як лише-для-читання"
+
+#: disk-utils/blockdev.c:38
+msgid "set read-write"
+msgstr "встановити для читання-запису"
+
+#: disk-utils/blockdev.c:39
+msgid "get read-only"
+msgstr "отримати стан лише-для-читання"
+
+#: disk-utils/blockdev.c:40
+msgid "get sectorsize"
+msgstr "отримати розмір сектору"
+
+#: disk-utils/blockdev.c:41
+msgid "get blocksize"
+msgstr "отримати розмір блоку"
+
+#: disk-utils/blockdev.c:42
+msgid "set blocksize"
+msgstr "встановити розмір блоку"
+
+#: disk-utils/blockdev.c:43
+msgid "get 32-bit sector count"
+msgstr "отримати 32-бітну кількість секторів"
+
+#: disk-utils/blockdev.c:44
+msgid "get size in bytes"
+msgstr "отримати розмір у байтах"
+
+#: disk-utils/blockdev.c:45
+msgid "set readahead"
+msgstr "встановити режим попереднього читання"
+
+#: disk-utils/blockdev.c:46
+msgid "get readahead"
+msgstr "отримати стан режиму попереднього читання"
+
+#: disk-utils/blockdev.c:47
+#, fuzzy
+msgid "set filesystem readahead"
+msgstr "встановити режим попереднього читання"
+
+#: disk-utils/blockdev.c:48
+#, fuzzy
+msgid "get filesystem readahead"
+msgstr "отримати стан режиму попереднього читання"
+
+#: disk-utils/blockdev.c:49
+msgid "flush buffers"
+msgstr "скинути буфери"
+
+#: disk-utils/blockdev.c:51
+msgid "reread partition table"
+msgstr "перечитати таблицю розділів"
+
+#: disk-utils/blockdev.c:60
+#, c-format
+msgid "Usage:\n"
+msgstr "Використання:\n"
+
+#: disk-utils/blockdev.c:62
+#, c-format
+msgid "  %s --report [devices]\n"
+msgstr "  %s --report [пристрої]\n"
+
+#: disk-utils/blockdev.c:63
+#, c-format
+msgid "  %s [-v|-q] commands devices\n"
+msgstr "  %s [-v|-q] команди пристрої\n"
+
+#: disk-utils/blockdev.c:66
+#, c-format
+msgid "Available commands:\n"
+msgstr "Доступні команди:\n"
+
+#: disk-utils/blockdev.c:68
+#, fuzzy
+msgid "get size in 512-byte sectors"
+msgstr "отримати розмір у байтах"
+
+#: disk-utils/blockdev.c:201
+#, c-format
+msgid "%s: Unknown command: %s\n"
+msgstr "%s: Невідома команда: %s\n"
+
+#: disk-utils/blockdev.c:213 disk-utils/blockdev.c:222
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s вимагає вказування аргументу\n"
+
+#: disk-utils/blockdev.c:255
+#, fuzzy, c-format
+msgid "%s failed.\n"
+msgstr "помилка при встановленні позиції"
+
+#: disk-utils/blockdev.c:292
+#, c-format
+msgid "%s succeeded.\n"
+msgstr "%s виконано.\n"
+
+#: disk-utils/blockdev.c:310 disk-utils/blockdev.c:338
+#, c-format
+msgid "%s: cannot open %s\n"
+msgstr "%s: не вдається відкрити %s\n"
+
+#: disk-utils/blockdev.c:355
+#, c-format
+msgid "%s: ioctl error on %s\n"
+msgstr "%s: помилка ioctl для %s\n"
+
+#: disk-utils/blockdev.c:364
+#, fuzzy, c-format
+msgid "RO    RA   SSZ   BSZ   StartSec            Size   Device\n"
+msgstr "Чт  ПоЧт  РзмС РзмБл    ПочСект    Розмір  Пристрій\n"
+
+#: disk-utils/elvtune.c:48
+#, c-format
+msgid "usage:\n"
+msgstr "Використання:\n"
+
+#: disk-utils/elvtune.c:53
+#, c-format
+msgid "\tNOTE: elvtune only works with 2.4 kernels\n"
+msgstr ""
+
+#: disk-utils/elvtune.c:104
+#, fuzzy, c-format
+msgid "parse error\n"
+msgstr "помилка позиціювання"
+
+#: disk-utils/elvtune.c:110
+#, fuzzy, c-format
+msgid "missing blockdevice, use -h for help\n"
+msgstr "%s не є блочним пристроєм чи файлом\n"
+
+#: disk-utils/elvtune.c:131
+#, 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:31
+#, c-format
+msgid "Formatting ... "
+msgstr "Форматування ... "
+
+#: disk-utils/fdformat.c:49 disk-utils/fdformat.c:86
+#, c-format
+msgid "done\n"
+msgstr "виконано\n"
+
+#: disk-utils/fdformat.c:60
+#, 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:80
+#, c-format
+msgid ""
+"bad data in cyl %d\n"
+"Continuing ... "
+msgstr ""
+"пошкоджені дані у циліндрі %d\n"
+"Продовження ... "
+
+#: disk-utils/fdformat.c:96
+#, c-format
+msgid "usage: %s [ -n ] device\n"
+msgstr "використання: %s [ -n ] пристрій\n"
+
+#: disk-utils/fdformat.c:118 disk-utils/fsck.minix.c:1282
+#: disk-utils/isosize.c:181 disk-utils/mkfs.bfs.c:115 disk-utils/mkfs.c:52
+#: disk-utils/mkfs.cramfs.c:813 disk-utils/mkfs.minix.c:571
+#: disk-utils/mkswap.c:461 misc-utils/ddate.c:179 misc-utils/rename.c:79
+#: misc-utils/script.c:147 sys-utils/readprofile.c:197
+#, c-format
+msgid "%s (%s)\n"
+msgstr "%s (%s)\n"
+
+#: disk-utils/fdformat.c:132
+#, c-format
+msgid "%s: not a block device\n"
+msgstr "%s: не є блочним пристроєм\n"
+
+#: disk-utils/fdformat.c:142
+msgid "Could not determine current format type"
+msgstr "не вдається визначити поточний тип формату"
+
+#: disk-utils/fdformat.c:143
+#, 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:144
+msgid "Double"
+msgstr "Дві"
+
+#: disk-utils/fdformat.c:144
+msgid "Single"
+msgstr "Одна"
+
+#: disk-utils/fsck.cramfs.c:118
+#, c-format
+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"
+
+#: disk-utils/fsck.cramfs.c:164
+#, fuzzy, c-format
+msgid "stat failed: %s"
+msgstr "(Наступний файл: %s)"
+
+#: disk-utils/fsck.cramfs.c:168 disk-utils/fsck.cramfs.c:552
+#, fuzzy, c-format
+msgid "open failed: %s"
+msgstr "помилка openpty\n"
+
+#: disk-utils/fsck.cramfs.c:173
+#, fuzzy, c-format
+msgid "ioctl failed: unable to determine device size: %s"
+msgstr "%s: попередження - не вдається визначити розмір файлової системи\n"
+
+#: disk-utils/fsck.cramfs.c:181
+#, fuzzy, c-format
+msgid "not a block device or file: %s"
+msgstr "%s не є блочним пристроєм чи файлом\n"
+
+#: disk-utils/fsck.cramfs.c:185 disk-utils/fsck.cramfs.c:227
+#, fuzzy
+msgid "file length too short"
+msgstr "%s: неправильний cramfs - довжина файлу надто коротка\n"
+
+#: disk-utils/fsck.cramfs.c:190 disk-utils/fsck.cramfs.c:198
+#: disk-utils/fsck.cramfs.c:259 disk-utils/fsck.cramfs.c:279
+#, fuzzy, c-format
+msgid "read failed: %s"
+msgstr "(Наступний файл: %s)"
+
+#: disk-utils/fsck.cramfs.c:208
+msgid "superblock magic not found"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:217
+#, fuzzy
+msgid "unsupported filesystem features"
+msgstr "Введіть тип файлової системи: "
+
+#: disk-utils/fsck.cramfs.c:220
+#, fuzzy, c-format
+msgid "superblock size (%d) too small"
+msgstr "Кількість секторів"
+
+#: disk-utils/fsck.cramfs.c:224
+msgid "zero file count"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:230
+#, fuzzy, c-format
+msgid "warning: file extends past end of filesystem\n"
+msgstr "Попередження: розділ %s поширюється за межі диску\n"
+
+#: disk-utils/fsck.cramfs.c:234
+#, fuzzy, c-format
+msgid "warning: old cramfs format\n"
+msgstr "%s: попередження - старий тип образу cramfs, немає контрольної суми\n"
+
+#: disk-utils/fsck.cramfs.c:247
+msgid "unable to test CRC: old cramfs format"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:273 disk-utils/fsck.cramfs.c:340
+#: disk-utils/fsck.cramfs.c:478 login-utils/chfn.c:529 login-utils/chsh.c:439
+#: sys-utils/cytune.c:321
+msgid "malloc failed"
+msgstr "помилка виділення пам'яті"
+
+#: disk-utils/fsck.cramfs.c:298
+#, fuzzy
+msgid "crc error"
+msgstr ", помилка"
+
+#: disk-utils/fsck.cramfs.c:365
+#, fuzzy
+msgid "root inode is not directory"
+msgstr "кореневий вузол не є каталогом"
+
+#: disk-utils/fsck.cramfs.c:370
+#, c-format
+msgid "bad root offset (%lu)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:388
+msgid "data block too large"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:392
+#, c-format
+msgid "decompression error %p(%d): %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:416
+#, fuzzy, c-format
+msgid "  hole at %ld (%zd)\n"
+msgstr "  дірка на %ld (%d)\n"
+
+#: disk-utils/fsck.cramfs.c:424 disk-utils/fsck.cramfs.c:596
+#, c-format
+msgid "  uncompressing block at %ld to %ld (%ld)\n"
+msgstr "  розтискається блок з %ld до %ld (%ld)\n"
+
+#: disk-utils/fsck.cramfs.c:430
+#, fuzzy, c-format
+msgid "non-block (%ld) bytes"
+msgstr "%s: Не-блочні (%ld) байти\n"
+
+#: disk-utils/fsck.cramfs.c:434
+#, fuzzy, c-format
+msgid "non-size (%ld vs %ld) bytes"
+msgstr "%s: Безрозмірні (%ld проти %ld) байти\n"
+
+#: disk-utils/fsck.cramfs.c:440
+#, fuzzy, c-format
+msgid "write failed: %s"
+msgstr "(Наступний файл: %s)"
+
+#: disk-utils/fsck.cramfs.c:453
+#, fuzzy, c-format
+msgid "lchown failed: %s"
+msgstr "помилка підключення"
+
+#: disk-utils/fsck.cramfs.c:459
+#, fuzzy, c-format
+msgid "chown failed: %s"
+msgstr "помилка підключення"
+
+#: disk-utils/fsck.cramfs.c:466
+#, fuzzy, c-format
+msgid "utime failed: %s"
+msgstr "неправильне значення періоду очікування: %s"
+
+#: disk-utils/fsck.cramfs.c:481
+#, c-format
+msgid "directory inode has zero offset and non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:495
+#, fuzzy, c-format
+msgid "mkdir failed: %s"
+msgstr "помилка chdir(\"/dev\"): %m"
+
+#: disk-utils/fsck.cramfs.c:512
+msgid "filename length is zero"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:515
+msgid "bad filename length"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:522
+#, fuzzy
+msgid "bad inode offset"
+msgstr "неправильний розмір вузла"
+
+#: disk-utils/fsck.cramfs.c:538
+msgid "file inode has zero offset and non-zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:541
+msgid "file inode has zero size and non-zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:572
+msgid "symbolic link has zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:575
+msgid "symbolic link has zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:587
+#, fuzzy, c-format
+msgid "size error in symlink: %s"
+msgstr "%s: помилковий розмір у символічному посиланні `%s'\n"
+
+#: disk-utils/fsck.cramfs.c:602
+#, fuzzy, c-format
+msgid "symlink failed: %s"
+msgstr "помилка виконання fsync"
+
+#: disk-utils/fsck.cramfs.c:614
+#, c-format
+msgid "special file has non-zero offset: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:626
+#, c-format
+msgid "fifo has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:632
+#, c-format
+msgid "socket has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:637
+#, fuzzy, c-format
+msgid "bogus mode: %s (%o)"
+msgstr "%s: фіктивні права на `%s' (%o)\n"
+
+#: disk-utils/fsck.cramfs.c:647
+#, fuzzy, c-format
+msgid "mknod failed: %s"
+msgstr "помилка підключення"
+
+#: disk-utils/fsck.cramfs.c:683
+#, c-format
+msgid "directory data start (%ld) < sizeof(struct cramfs_super) + start (%ld)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:686
+#, fuzzy, c-format
+msgid "directory data end (%ld) != file data start (%ld)"
+msgstr ""
+"%s: неправильний cramfs - кінець даних каталогу (%ld) != початку файлових "
+"даних (%ld)\n"
+
+#: disk-utils/fsck.cramfs.c:691
+#, fuzzy
+msgid "invalid file data offset"
+msgstr "%s: неправильний cramfs - неправильний зсув файлових даних\n"
+
+#: disk-utils/fsck.cramfs.c:715
+#, fuzzy
+msgid "failed to allocate outbuffer"
+msgstr "не вдається виділити буфер.\n"
+
+#: disk-utils/fsck.cramfs.c:728
+#, fuzzy
+msgid "compiled without -x support"
+msgstr "%s: зібрано без підтримки -x\n"
+
+#: disk-utils/fsck.minix.c:210
+#, c-format
+msgid "Usage: %s [-larvsmf] /dev/name\n"
+msgstr "Використання: %s [-larvsmf] /dev/назва\n"
+
+#: disk-utils/fsck.minix.c:326
+#, c-format
+msgid "%s is mounted.\t "
+msgstr "%s підключено.\t "
+
+#: disk-utils/fsck.minix.c:328
+msgid "Do you really want to continue"
+msgstr "Ви дійсно бажаєте продовжити"
+
+#: disk-utils/fsck.minix.c:332
+#, c-format
+msgid "check aborted.\n"
+msgstr "перевірку перервано.\n"
+
+#: disk-utils/fsck.minix.c:351 disk-utils/fsck.minix.c:374
+#, c-format
+msgid "Zone nr < FIRSTZONE in file `%s'."
+msgstr "nr зони < FIRSTZONE у файлі `%s'."
+
+#: disk-utils/fsck.minix.c:355 disk-utils/fsck.minix.c:378
+#, c-format
+msgid "Zone nr >= ZONES in file `%s'."
+msgstr "nr зони >= ZONES у файлі `%s'."
+
+#: disk-utils/fsck.minix.c:360 disk-utils/fsck.minix.c:383
+msgid "Remove block"
+msgstr "Видалити блок"
+
+#: disk-utils/fsck.minix.c:401
+#, c-format
+msgid "Read error: unable to seek to block in file '%s'\n"
+msgstr "Помилка читання: помилка при позиціюванні на блок у файлі '%s'\n"
+
+#: disk-utils/fsck.minix.c:407
+#, c-format
+msgid "Read error: bad block in file '%s'\n"
+msgstr "Помилка читання: неправильний блок у файлі '%s'\n"
+
+#: disk-utils/fsck.minix.c:422
+#, c-format
+msgid ""
+"Internal error: trying to write bad block\n"
+"Write request ignored\n"
+msgstr ""
+"Внутрішня помилка: спроба запису у пошкоджений блок\n"
+"Операція запису проігнорована\n"
+
+#: disk-utils/fsck.minix.c:428 disk-utils/mkfs.minix.c:209
+msgid "seek failed in write_block"
+msgstr "помилка при позиціюванні у функції write_block"
+
+#: disk-utils/fsck.minix.c:431
+#, c-format
+msgid "Write error: bad block in file '%s'\n"
+msgstr "Помилка запису: пошкоджений блок у файлі '%s'\n"
+
+#: disk-utils/fsck.minix.c:547
+msgid "seek failed in write_super_block"
+msgstr "помилка при позиціюванні у функції write_super_block"
+
+#: disk-utils/fsck.minix.c:549 disk-utils/mkfs.minix.c:196
+msgid "unable to write super-block"
+msgstr "помилка запису суперблоку"
+
+#: disk-utils/fsck.minix.c:559
+msgid "Unable to write inode map"
+msgstr "Не вдається записати мапу вузлів"
+
+#: disk-utils/fsck.minix.c:561
+msgid "Unable to write zone map"
+msgstr "Не вдається записати мапу зон"
+
+#: disk-utils/fsck.minix.c:563
+msgid "Unable to write inodes"
+msgstr "Не вдається записати вузли"
+
+#: disk-utils/fsck.minix.c:590
+msgid "seek failed"
+msgstr "помилка при встановленні позиції"
+
+#: disk-utils/fsck.minix.c:592
+msgid "unable to read super block"
+msgstr "не вдається прочитати суперблок"
+
+#: disk-utils/fsck.minix.c:610
+msgid "bad magic number in super-block"
+msgstr "неправильна сигнатура суперблока"
+
+#: disk-utils/fsck.minix.c:612
+msgid "Only 1k blocks/zones supported"
+msgstr "Підтримуються лише 1k блоки/зону"
+
+#: disk-utils/fsck.minix.c:614
+msgid "bad s_imap_blocks field in super-block"
+msgstr "неправильне s_imap_blocks поле у суперблоці"
+
+#: disk-utils/fsck.minix.c:616
+msgid "bad s_zmap_blocks field in super-block"
+msgstr "неправильне s_zmap_blocks поле у суперблоці"
+
+#: disk-utils/fsck.minix.c:623
+msgid "Unable to allocate buffer for inode map"
+msgstr "Не вдається виділити буфер для мапи вузлів"
+
+#: disk-utils/fsck.minix.c:626
+#, fuzzy
+msgid "Unable to allocate buffer for zone map"
+msgstr "Не вдається виділити буфер для мапи вузлів"
+
+#: disk-utils/fsck.minix.c:631
+msgid "Unable to allocate buffer for inodes"
+msgstr "Не вдається виділити буфер для вузлів"
+
+#: disk-utils/fsck.minix.c:634
+msgid "Unable to allocate buffer for inode count"
+msgstr "Не вдається виділити буфер для лічильника вузлів"
+
+#: disk-utils/fsck.minix.c:637
+msgid "Unable to allocate buffer for zone count"
+msgstr "Не вдається виділити буфер для лічильника зон"
+
+#: disk-utils/fsck.minix.c:639
+msgid "Unable to read inode map"
+msgstr "Не вдається прочитати мапу вузлів"
+
+#: disk-utils/fsck.minix.c:641
+msgid "Unable to read zone map"
+msgstr "Не вдається прочитати мапу зон"
+
+#: disk-utils/fsck.minix.c:643
+msgid "Unable to read inodes"
+msgstr "Не вдається прочитати вузли"
+
+#: disk-utils/fsck.minix.c:645
+#, c-format
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr "Попередження: Firstzone != Norm_firstzone\n"
+
+#: disk-utils/fsck.minix.c:650 disk-utils/mkfs.minix.c:450
+#, c-format
+msgid "%ld inodes\n"
+msgstr "%ld вузлів\n"
+
+#: disk-utils/fsck.minix.c:651 disk-utils/mkfs.minix.c:451
+#, c-format
+msgid "%ld blocks\n"
+msgstr "%ld блоків\n"
+
+#: disk-utils/fsck.minix.c:652 disk-utils/mkfs.minix.c:452
+#, c-format
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr "Перша зона даних=%ld (%ld)\n"
+
+#: disk-utils/fsck.minix.c:653 disk-utils/mkfs.minix.c:453
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr "Розмір зони=%d\n"
+
+#: disk-utils/fsck.minix.c:654
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr "Макс.розмір=%ld\n"
+
+#: disk-utils/fsck.minix.c:655
+#, c-format
+msgid "Filesystem state=%d\n"
+msgstr "Стан файлової системи=%d\n"
+
+#: disk-utils/fsck.minix.c:656
+#, c-format
+msgid ""
+"namelen=%d\n"
+"\n"
+msgstr ""
+"довж.назви=%d\n"
+"\n"
+
+#: disk-utils/fsck.minix.c:671 disk-utils/fsck.minix.c:722
+#, c-format
+msgid "Inode %d marked unused, but used for file '%s'\n"
+msgstr "Вузол %d позначений як вільний, але використовується у '%s'\n"
+
+#: disk-utils/fsck.minix.c:675 disk-utils/fsck.minix.c:726
+msgid "Mark in use"
+msgstr "Позначити як використовуваний"
+
+#: disk-utils/fsck.minix.c:697 disk-utils/fsck.minix.c:746
+#, c-format
+msgid "The file `%s' has mode %05o\n"
+msgstr "Файл `%s' має права доступу %05o\n"
+
+#: disk-utils/fsck.minix.c:704 disk-utils/fsck.minix.c:752
+#, c-format
+msgid "Warning: inode count too big.\n"
+msgstr "Попередження: значення лічильника вузлів надто велике.\n"
+
+#: disk-utils/fsck.minix.c:764 disk-utils/fsck.minix.c:772
+msgid "root inode isn't a directory"
+msgstr "кореневий вузол не є каталогом"
+
+#: disk-utils/fsck.minix.c:786 disk-utils/fsck.minix.c:819
+#, c-format
+msgid "Block has been used before. Now in file `%s'."
+msgstr "Блок вже використовується раніше. Тепер у файлі `%s'."
+
+#: disk-utils/fsck.minix.c:788 disk-utils/fsck.minix.c:821
+#: disk-utils/fsck.minix.c:1144 disk-utils/fsck.minix.c:1153
+#: disk-utils/fsck.minix.c:1199 disk-utils/fsck.minix.c:1208
+msgid "Clear"
+msgstr "Очистити"
+
+#: disk-utils/fsck.minix.c:798 disk-utils/fsck.minix.c:831
+#, c-format
+msgid "Block %d in file `%s' is marked not in use."
+msgstr "Блок %d з файлу `%s' позначений вільним."
+
+#: disk-utils/fsck.minix.c:800 disk-utils/fsck.minix.c:833
+msgid "Correct"
+msgstr "Виправити"
+
+#: disk-utils/fsck.minix.c:972 disk-utils/fsck.minix.c:1039
+#, c-format
+msgid "The directory '%s' contains a bad inode number for file '%.*s'."
+msgstr "Каталог '%s' містить неправильну кількість вузлів для файлу '%.*s'."
+
+#: disk-utils/fsck.minix.c:975 disk-utils/fsck.minix.c:1042
+msgid " Remove"
+msgstr " Видалити"
+
+#: disk-utils/fsck.minix.c:989 disk-utils/fsck.minix.c:1056
+#, c-format
+msgid "%s: bad directory: '.' isn't first\n"
+msgstr "%s: неправильний каталог: елемент '.' не перший\n"
+
+#: disk-utils/fsck.minix.c:997 disk-utils/fsck.minix.c:1065
+#, c-format
+msgid "%s: bad directory: '..' isn't second\n"
+msgstr "%s: неправильний каталог: елемент '..' не другий\n"
+
+#: disk-utils/fsck.minix.c:1099 disk-utils/fsck.minix.c:1117
+msgid "internal error"
+msgstr "внутрішня помилка"
+
+#: disk-utils/fsck.minix.c:1102 disk-utils/fsck.minix.c:1120
+#, c-format
+msgid "%s: bad directory: size < 32"
+msgstr "%s: неправильний каталог: розмір < 32"
+
+#: disk-utils/fsck.minix.c:1133
+msgid "seek failed in bad_zone"
+msgstr "помилка при позиціюванні у функції bad_zone"
+
+#: disk-utils/fsck.minix.c:1143 disk-utils/fsck.minix.c:1198
+#, c-format
+msgid "Inode %d mode not cleared."
+msgstr "Права доступу вузла %d не очищені."
+
+#: disk-utils/fsck.minix.c:1152 disk-utils/fsck.minix.c:1207
+#, c-format
+msgid "Inode %d not used, marked used in the bitmap."
+msgstr ""
+"Вузол %d не використовується, але позначений використовуваним у бітовій мапі."
+
+#: disk-utils/fsck.minix.c:1158 disk-utils/fsck.minix.c:1213
+#, c-format
+msgid "Inode %d used, marked unused in the bitmap."
+msgstr "Вузол %d використовується, але позначений вільним у бітовій мапі."
+
+#: disk-utils/fsck.minix.c:1160 disk-utils/fsck.minix.c:1214
+msgid "Set"
+msgstr "Встановити"
+
+#: disk-utils/fsck.minix.c:1164 disk-utils/fsck.minix.c:1218
+#, c-format
+msgid "Inode %d (mode = %07o), i_nlinks=%d, counted=%d."
+msgstr "Вузол %d (права = %07o), i_nlinks=%d, лічильник=%d."
+
+#: disk-utils/fsck.minix.c:1166 disk-utils/fsck.minix.c:1220
+msgid "Set i_nlinks to count"
+msgstr "Встановити i_nlinks у значення лічильника"
+
+#: disk-utils/fsck.minix.c:1178 disk-utils/fsck.minix.c:1232
+#, c-format
+msgid "Zone %d: marked in use, no file uses it."
+msgstr ""
+"Зона %d: позначена використовуваною, але вона не використовується файлами."
+
+#: disk-utils/fsck.minix.c:1179 disk-utils/fsck.minix.c:1234
+msgid "Unmark"
+msgstr "Зняти позначення"
+
+#: disk-utils/fsck.minix.c:1184 disk-utils/fsck.minix.c:1239
+#, c-format
+msgid "Zone %d: in use, counted=%d\n"
+msgstr "Зона %d: використовується, лічильник=%d\n"
+
+#: disk-utils/fsck.minix.c:1187 disk-utils/fsck.minix.c:1242
+#, c-format
+msgid "Zone %d: not in use, counted=%d\n"
+msgstr "Зона %d: не використовується, лічильник=%d\n"
+
+#: disk-utils/fsck.minix.c:1287 disk-utils/mkfs.minix.c:576
+#: disk-utils/mkfs.minix.c:578
+msgid "bad inode size"
+msgstr "неправильний розмір вузла"
+
+#: disk-utils/fsck.minix.c:1289
+msgid "bad v2 inode size"
+msgstr "неправильний номер вузла версії 2"
+
+#: disk-utils/fsck.minix.c:1315
+msgid "need terminal for interactive repairs"
+msgstr "для інтерактивного відновлення необхідний термінал"
+
+#: disk-utils/fsck.minix.c:1319
+#, fuzzy, c-format
+msgid "unable to open '%s': %s"
+msgstr "не вдається відкрити '%s'"
+
+#: disk-utils/fsck.minix.c:1334
+#, c-format
+msgid "%s is clean, no check.\n"
+msgstr "%s - чистий, перевірка не виконуватиметься.\n"
+
+#: disk-utils/fsck.minix.c:1338
+#, c-format
+msgid "Forcing filesystem check on %s.\n"
+msgstr "Примусова перевірка файлової системи на %s.\n"
+
+#: disk-utils/fsck.minix.c:1340
+#, c-format
+msgid "Filesystem on %s is dirty, needs checking.\n"
+msgstr "Файлова система на %s пошкоджена, потрібна перевірка.\n"
+
+#: disk-utils/fsck.minix.c:1373
+#, c-format
+msgid ""
+"\n"
+"%6ld inodes used (%ld%%)\n"
+msgstr ""
+"\n"
+"%6ld використаних вузлів (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1378
+#, c-format
+msgid "%6ld zones used (%ld%%)\n"
+msgstr "%6ld використаних зон (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1380
+#, 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:1393
+#, c-format
+msgid ""
+"----------------------------\n"
+"FILE SYSTEM HAS BEEN CHANGED\n"
+"----------------------------\n"
+msgstr ""
+"----------------------------\n"
+"ФАЙЛОВА СИСТЕМА ЗАЗНАЛА ЗМІН\n"
+"----------------------------\n"
+
+#: disk-utils/isosize.c:129
+#, c-format
+msgid "%s: failed to open: %s\n"
+msgstr "%s: не вдається відкрити: %s\n"
+
+#: disk-utils/isosize.c:135
+#, c-format
+msgid "%s: seek error on %s\n"
+msgstr "%s: помилка позиціювання на %s\n"
+
+#: disk-utils/isosize.c:141
+#, c-format
+msgid "%s: read error on %s\n"
+msgstr "%s: помилка позиціювання на %s\n"
+
+#: disk-utils/isosize.c:150
+#, c-format
+msgid "sector count: %d, sector size: %d\n"
+msgstr "кількість секторів: %d, розмір сектора: %d\n"
+
+#: disk-utils/isosize.c:200
+#, c-format
+msgid "%s: option parse error\n"
+msgstr "%s: помилка при аналізі параметра командного рядка\n"
+
+#: disk-utils/isosize.c:208
+#, c-format
+msgid "Usage: %s [-x] [-d <num>] iso9660-image\n"
+msgstr "Використання: %s [-x] [-d <кількість>] iso9660-образ\n"
+
+#: disk-utils/mkfs.bfs.c:84
+#, c-format
+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"
+
+#: disk-utils/mkfs.bfs.c:131
+msgid "volume name too long"
+msgstr "назва тому занадто довга"
+
+#: disk-utils/mkfs.bfs.c:138
+msgid "fsname name too long"
+msgstr "назва файлової системи надто довга"
+
+#: disk-utils/mkfs.bfs.c:163
+#, c-format
+msgid "cannot stat device %s"
+msgstr "не вдається отримати інформацію про %s"
+
+#: disk-utils/mkfs.bfs.c:167
+#, c-format
+msgid "%s is not a block special device"
+msgstr "%s не є спеціальним файлом блочного пристрою"
+
+#: disk-utils/mkfs.bfs.c:172 sys-utils/ldattach.c:205
+#, c-format
+msgid "cannot open %s"
+msgstr "не вдається відкрити %s"
+
+#: disk-utils/mkfs.bfs.c:183
+#, c-format
+msgid "cannot get size of %s"
+msgstr "не вдається отримати розмір %s"
+
+#: disk-utils/mkfs.bfs.c:188
+#, fuzzy, c-format
+msgid "blocks argument too large, max is %llu"
+msgstr "параметр кількості блоків надто великий, максимум %lu"
+
+#: disk-utils/mkfs.bfs.c:203
+msgid "too many inodes - max is 512"
+msgstr "надто багато вузлів - максимум 512"
+
+#: disk-utils/mkfs.bfs.c:212
+#, fuzzy, c-format
+msgid "not enough space, need at least %llu blocks"
+msgstr "не вистачає простору, потрібно принаймні %lu блоків"
+
+#: disk-utils/mkfs.bfs.c:224 fdisk/fdisk.c:2345
+#, c-format
+msgid "Device: %s\n"
+msgstr "Пристрій: %s\n"
+
+#: disk-utils/mkfs.bfs.c:225
+#, c-format
+msgid "Volume: <%-6s>\n"
+msgstr "Том: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:226
+#, c-format
+msgid "FSname: <%-6s>\n"
+msgstr "Назва ф.с.: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:227
+#, c-format
+msgid "BlockSize: %d\n"
+msgstr "Розмір блоку: %d\n"
+
+#: disk-utils/mkfs.bfs.c:229
+#, c-format
+msgid "Inodes: %d (in 1 block)\n"
+msgstr "Вузлів: %d (у 1 блоці)\n"
+
+#: disk-utils/mkfs.bfs.c:232
+#, fuzzy, c-format
+msgid "Inodes: %d (in %lld blocks)\n"
+msgstr "Вузлів: %d (у %ld блоках)\n"
+
+#: disk-utils/mkfs.bfs.c:234
+#, fuzzy, c-format
+msgid "Blocks: %lld\n"
+msgstr "Блоків: %ld\n"
+
+#: disk-utils/mkfs.bfs.c:235
+#, c-format
+msgid "Inode end: %d, Data end: %d\n"
+msgstr "Кінець вузлів: %d, Кінець даних: %d\n"
+
+#: disk-utils/mkfs.bfs.c:240
+msgid "error writing superblock"
+msgstr "помилка запису суперблоку"
+
+#: disk-utils/mkfs.bfs.c:260
+msgid "error writing root inode"
+msgstr "помилка запису кореневого вузла"
+
+#: disk-utils/mkfs.bfs.c:265
+msgid "error writing inode"
+msgstr "помилка запису вузла"
+
+#: disk-utils/mkfs.bfs.c:268
+msgid "seek error"
+msgstr "помилка позиціювання"
+
+#: disk-utils/mkfs.bfs.c:274
+msgid "error writing . entry"
+msgstr "помилка запису елемента '.'"
+
+#: disk-utils/mkfs.bfs.c:278
+msgid "error writing .. entry"
+msgstr "помилка запису елемента '..'"
+
+#: disk-utils/mkfs.bfs.c:282
+#, c-format
+msgid "error closing %s"
+msgstr "помилка закривання %s"
+
+#: disk-utils/mkfs.c:73
+#, c-format
+msgid "Usage: mkfs [-V] [-t fstype] [fs-options] device [size]\n"
+msgstr "Використання: mkfs [-V] [-t типФС] [параметри-ФС] пристрій [розмір]\n"
+
+#: disk-utils/mkfs.c:88 disk-utils/mkfs.c:96 fdisk/cfdisk.c:351
+#: getopt/getopt.c:86 getopt/getopt.c:96 login-utils/wall.c:246
+#, c-format
+msgid "%s: Out of memory!\n"
+msgstr "%s: Недостатньо пам'яті!\n"
+
+#: disk-utils/mkfs.c:103
+#, c-format
+msgid "mkfs (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: disk-utils/mkfs.cramfs.c:126
+#, 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:340
+#, fuzzy, c-format
+msgid ""
+"Very long (%zu bytes) filename `%s' found.\n"
+" Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile.  Exiting.\n"
+msgstr ""
+"Знайдено надто довгі (%u байт) назви файлів `%s'.\n"
+" Збільште значення MAX_INPUT_NAMELEN у файлі mkcramfs.c та перекомпілюйте.\n"
+"Завершення.\n"
+
+#: disk-utils/mkfs.cramfs.c:472
+#, c-format
+msgid "filesystem too big.  Exiting.\n"
+msgstr "файлова система надто велика. Завершення.\n"
+
+#: disk-utils/mkfs.cramfs.c:637
+#, c-format
+msgid "AIEEE: block \"compressed\" to > 2*blocklength (%ld)\n"
+msgstr "AIEEE: блок \"стиснений\" > 2*blocklength (%ld)\n"
+
+#: disk-utils/mkfs.cramfs.c:656
+#, fuzzy, c-format
+msgid "%6.2f%% (%+ld bytes)\t%s\n"
+msgstr "%6.2f%% (%+d байтів)\t%s\n"
+
+#: disk-utils/mkfs.cramfs.c:854
+#, fuzzy, c-format
+msgid ""
+"warning: guestimate of required size (upper bound) is %lldMB, but maximum "
+"image size is %uMB.  We might die prematurely.\n"
+msgstr ""
+"Попередження: очікуваний необхідний розмір (верхня межа) складає %LdМб, але "
+"максимальний розмір образу %uМб.  Можливе передчасне аварійне завершення.\n"
+
+#: disk-utils/mkfs.cramfs.c:881
+msgid "ROM image map"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:895
+#, c-format
+msgid "Including: %s\n"
+msgstr "Включається: %s\n"
+
+#: disk-utils/mkfs.cramfs.c:901
+#, fuzzy, c-format
+msgid "Directory data: %zd bytes\n"
+msgstr "Дані каталогу: %d байт\n"
+
+#: disk-utils/mkfs.cramfs.c:909
+#, fuzzy, c-format
+msgid "Everything: %zd kilobytes\n"
+msgstr "Загалом: %d кілобайт\n"
+
+#: disk-utils/mkfs.cramfs.c:914
+#, fuzzy, c-format
+msgid "Super block: %zd bytes\n"
+msgstr "Суперблок: %d байт\n"
+
+#: disk-utils/mkfs.cramfs.c:921
+#, c-format
+msgid "CRC: %x\n"
+msgstr "Контрольна сума: %x\n"
+
+#: disk-utils/mkfs.cramfs.c:926
+#, fuzzy, c-format
+msgid "not enough space allocated for ROM image (%lld allocated, %zu used)\n"
+msgstr "не вистачає простору для ROM образу (виділено %Ld, використано %d)\n"
+
+#: disk-utils/mkfs.cramfs.c:934
+msgid "ROM image"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:938
+#, fuzzy, c-format
+msgid "ROM image write failed (%zd %zd)\n"
+msgstr "помилка запису ROM обрізу (%d %d)\n"
+
+#: disk-utils/mkfs.cramfs.c:947
+#, c-format
+msgid "warning: filenames truncated to 255 bytes.\n"
+msgstr "Попередження: назва файлу обрізана до 255 байтів.\n"
+
+#: disk-utils/mkfs.cramfs.c:950
+#, c-format
+msgid "warning: files were skipped due to errors.\n"
+msgstr "Попередження: файл пропущений внаслідок помилок.\n"
+
+#: disk-utils/mkfs.cramfs.c:953
+#, c-format
+msgid "warning: file sizes truncated to %luMB (minus 1 byte).\n"
+msgstr "Попередження: розміри файлів обрізані до %luМб (мінус 1 байт).\n"
+
+#: disk-utils/mkfs.cramfs.c:958
+#, c-format
+msgid ""
+"warning: uids truncated to %u bits.  (This may be a security concern.)\n"
+msgstr "Попередження: uid обрізані до %u біт. (Це може загрожувати безпеці.)\n"
+
+#: disk-utils/mkfs.cramfs.c:963
+#, c-format
+msgid ""
+"warning: gids truncated to %u bits.  (This may be a security concern.)\n"
+msgstr "Попередження: gid обрізані до %u біт. (Це може загрожувати безпеці.)\n"
+
+#: disk-utils/mkfs.cramfs.c:968
+#, c-format
+msgid ""
+"WARNING: device numbers truncated to %u bits.  This almost certainly means\n"
+"that some device files will be wrong.\n"
+msgstr ""
+"УВАГА: номери пристроїв обрізані до %u біт. Це майже завжди означає\n"
+"що деякі файли пристроїв будуть неправильними.\n"
+
+#: disk-utils/mkfs.minix.c:156
+#, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]\n"
+msgstr ""
+"Використання: %s [-c | -l назва_файлу] [-nXX] [-iXX] /dev/назва [блоки]\n"
+
+#: disk-utils/mkfs.minix.c:180
+#, c-format
+msgid "%s is mounted; will not make a filesystem here!"
+msgstr "%s підключений; тут не можна створювати файлову систему!"
+
+#: disk-utils/mkfs.minix.c:190
+msgid "seek to boot block failed in write_tables"
+msgstr "помилка позиціювання на завантажувальний блок у функції write_tables"
+
+#: disk-utils/mkfs.minix.c:192
+msgid "unable to clear boot sector"
+msgstr "не вдається очистити завантажувальний сектор"
+
+#: disk-utils/mkfs.minix.c:194
+msgid "seek failed in write_tables"
+msgstr "помилка позиціювання у функції write_tables"
+
+#: disk-utils/mkfs.minix.c:198
+msgid "unable to write inode map"
+msgstr "не вдається записати мапу вузлів"
+
+#: disk-utils/mkfs.minix.c:200
+msgid "unable to write zone map"
+msgstr "не вдається записати мапу зон"
+
+#: disk-utils/mkfs.minix.c:202
+msgid "unable to write inodes"
+msgstr "не вдається записати вузли"
+
+#: disk-utils/mkfs.minix.c:211
+msgid "write failed in write_block"
+msgstr "помилка запису у функції write_block"
+
+#: disk-utils/mkfs.minix.c:219 disk-utils/mkfs.minix.c:293
+#: disk-utils/mkfs.minix.c:342
+msgid "too many bad blocks"
+msgstr "надто багато пошкоджених блоків"
+
+#: disk-utils/mkfs.minix.c:227
+msgid "not enough good blocks"
+msgstr "недостатньо непошкоджених блоків"
+
+#: disk-utils/mkfs.minix.c:439
+msgid "unable to allocate buffers for maps"
+msgstr "не вдається виділити буфери для мап"
+
+#: disk-utils/mkfs.minix.c:448
+msgid "unable to allocate buffer for inodes"
+msgstr "не вдається виділити буфер для вузлів"
+
+#: disk-utils/mkfs.minix.c:454
+#, c-format
+msgid ""
+"Maxsize=%ld\n"
+"\n"
+msgstr ""
+"Макс.розмір=%ld\n"
+"\n"
+
+#: disk-utils/mkfs.minix.c:468
+msgid "seek failed during testing of blocks"
+msgstr "помилка позиціювання при перевірці блоків"
+
+#: disk-utils/mkfs.minix.c:476
+#, c-format
+msgid "Weird values in do_check: probably bugs\n"
+msgstr "Незрозуміле значення у функції do_check: можливо помилка\n"
+
+#: disk-utils/mkfs.minix.c:507 disk-utils/mkswap.c:313
+msgid "seek failed in check_blocks"
+msgstr "помилка позиціювання у функції check_blocks"
+
+#: disk-utils/mkfs.minix.c:516
+msgid "bad blocks before data-area: cannot make fs"
+msgstr "неправильні блоки перед областю даних: не вдається створити ФС"
+
+#: disk-utils/mkfs.minix.c:522 disk-utils/mkfs.minix.c:547
+#, c-format
+msgid "%d bad blocks\n"
+msgstr "%d пошкоджених блоків\n"
+
+#: disk-utils/mkfs.minix.c:524 disk-utils/mkfs.minix.c:549
+#, c-format
+msgid "one bad block\n"
+msgstr "один пошкоджений блок\n"
+
+#: disk-utils/mkfs.minix.c:534
+msgid "can't open file of bad blocks"
+msgstr "не вдається відкрити файл пошкоджених блоків"
+
+#: disk-utils/mkfs.minix.c:538
+#, c-format
+msgid "badblock number input error on line %d\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:539
+#, fuzzy
+msgid "cannot read badblocks file"
+msgstr "не вдається прочитати дисковий пристрій"
+
+#: disk-utils/mkfs.minix.c:619
+#, c-format
+msgid "strtol error: number of blocks not specified"
+msgstr "strtol помилка: не вказано кількість блоків"
+
+#: disk-utils/mkfs.minix.c:638
+#, c-format
+msgid "unable to stat %s"
+msgstr "не вдається запустити %s"
+
+#: disk-utils/mkfs.minix.c:644
+#, c-format
+msgid "unable to open %s"
+msgstr "не вдається відкрити %s"
+
+#: disk-utils/mkfs.minix.c:649
+#, fuzzy, c-format
+msgid "cannot determine sector size for %s"
+msgstr "не вдається отримати розмір %s"
+
+#: disk-utils/mkfs.minix.c:651
+#, c-format
+msgid "block size smaller than physical sector size of %s"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:654
+#, fuzzy, c-format
+msgid "cannot determine size of %s"
+msgstr "не вдається отримати розмір %s"
+
+#: disk-utils/mkfs.minix.c:662
+#, c-format
+msgid "will not try to make filesystem on '%s'"
+msgstr "файлова система не буде створена на '%s'"
+
+#: disk-utils/mkfs.minix.c:664
+#, fuzzy
+msgid "number of blocks too small"
+msgstr "Кількість секторів"
+
+#: disk-utils/mkswap.c:155
+#, c-format
+msgid "Bad user-specified page size %d\n"
+msgstr "Неправильний вказаний користувачем розмір сторінки %d\n"
+
+#: disk-utils/mkswap.c:163
+#, fuzzy, c-format
+msgid "Using user-specified page size %d, instead of the system value %d\n"
+msgstr ""
+"Використовується вказаний користувачем розмір сторінки %d, замість системних "
+"значень %d/%d\n"
+
+#: disk-utils/mkswap.c:192
+#, c-format
+msgid "Bad swap header size, no label written.\n"
+msgstr ""
+"Неправильний розмір заголовку розділу підкачки, етикетку не записано.\n"
+
+#: disk-utils/mkswap.c:202
+#, c-format
+msgid "Label was truncated.\n"
+msgstr "Етикетку обрізано.\n"
+
+#: disk-utils/mkswap.c:208
+#, c-format
+msgid "no label, "
+msgstr "немає етикетки, "
+
+#: disk-utils/mkswap.c:216
+#, c-format
+msgid "no uuid\n"
+msgstr "немає uuid\n"
+
+#: disk-utils/mkswap.c:281
+#, fuzzy, c-format
+msgid "Usage: %s [-c] [-pPAGESZ] [-L label] [-U UUID] /dev/name [blocks]\n"
+msgstr ""
+"Використання: %s [-c] [-v0|-v1] [-pPAGESZ] [-L етикетка] /dev/назва [блоки]\n"
+
+#: disk-utils/mkswap.c:295
+msgid "too many bad pages"
+msgstr "надто багато пошкоджених сторінок"
+
+#: disk-utils/mkswap.c:308 misc-utils/look.c:182 misc-utils/setterm.c:1183
+#: text-utils/more.c:1982 text-utils/more.c:1993
+msgid "Out of memory"
+msgstr "Недостатньо пам'яті"
+
+#: disk-utils/mkswap.c:319
+#, c-format
+msgid "one bad page\n"
+msgstr "одна пошкоджена сторінка\n"
+
+#: disk-utils/mkswap.c:321
+#, c-format
+msgid "%lu bad pages\n"
+msgstr "%lu пошкоджених сторінок\n"
+
+#: disk-utils/mkswap.c:399 disk-utils/mkswap.c:415 disk-utils/mkswap.c:633
+msgid "unable to rewind swap-device"
+msgstr "помилка встановлення позиції на початок пристрою підкачки"
+
+#: disk-utils/mkswap.c:419
+#, fuzzy
+msgid "unable to erase bootbits sectors"
+msgstr "не вдається очистити завантажувальний сектор"
+
+#: disk-utils/mkswap.c:423
+#, c-format
+msgid "%s: %s: warning: don't erase bootbits sectors\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:426
+#, fuzzy, c-format
+msgid "        (%s partition table detected). "
+msgstr "   p   вивести таблицю розділів BSD"
+
+#: disk-utils/mkswap.c:428
+#, fuzzy, c-format
+msgid "        on whole disk. "
+msgstr "   s   показати всю етикетку диску"
+
+#: disk-utils/mkswap.c:498
+#, c-format
+msgid "%1$s: warning: ignore -U (UUIDs are unsupported by %1$s)\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:514
+#, fuzzy, c-format
+msgid "%s: does not support swapspace version %d.\n"
+msgstr "%s: помилка: невідома версія %d\n"
+
+#: disk-utils/mkswap.c:522
+#, fuzzy
+msgid "error: UUID parsing failed"
+msgstr ""
+"\n"
+"Помилка закривання файлу\n"
+
+#: disk-utils/mkswap.c:533
+#, c-format
+msgid "%s: error: Nowhere to set up swap on?\n"
+msgstr "%s: помилка: Не вказано де створити область підкачки?\n"
+
+#: disk-utils/mkswap.c:551
+#, fuzzy, c-format
+msgid "%s: error: size %llu KiB is larger than device size %llu KiB\n"
+msgstr "%s: помилка: розмір %lu більший ніж розмір пристрою %lu\n"
+
+#: disk-utils/mkswap.c:560
+#, fuzzy, c-format
+msgid "%s: error: swap area needs to be at least %ld KiB\n"
+msgstr "%s: помилка: область підкачки повинна бути принаймні %ldкб\n"
+
+#: disk-utils/mkswap.c:577
+#, fuzzy, c-format
+msgid "%s: warning: truncating swap area to %llu KiB\n"
+msgstr "%s: попередження: область підкачки відсікається до %ldкб\n"
+
+#: disk-utils/mkswap.c:600
+#, fuzzy, c-format
+msgid "%s: error: will not try to make swapdevice on '%s'\n"
+msgstr "Не буде створено пристрій підкачки на '%s'"
+
+#: disk-utils/mkswap.c:606
+#, fuzzy, c-format
+msgid "%s: error: %s is mounted; will not make swapspace.\n"
+msgstr "%s підключений; тут не можна створювати файлову систему!"
+
+#: disk-utils/mkswap.c:622
+msgid "Unable to set up swap-space: unreadable"
+msgstr "не вдається встановити простір підкачки: не вдається прочитати"
+
+#: disk-utils/mkswap.c:625
+#, fuzzy, c-format
+msgid "Setting up swapspace version 1, size = %llu KiB\n"
+msgstr "Встановлюється область підкачки версії %d, розмір = %llu кб\n"
+
+#: disk-utils/mkswap.c:636
+#, fuzzy, c-format
+msgid "%s: %s: unable to write signature page: %s"
+msgstr "не вдається записати сторінку підпису"
+
+#: disk-utils/mkswap.c:647
+msgid "fsync failed"
+msgstr "помилка виконання fsync"
+
+#: disk-utils/mkswap.c:658
+#, c-format
+msgid "%s: %s: unable to obtain selinux file label: %s\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:664
+#, fuzzy
+msgid "unable to matchpathcon()"
+msgstr "не вдається запустити %s"
+
+#: disk-utils/mkswap.c:667
+#, fuzzy
+msgid "unable to create new selinux context"
+msgstr "не вдається записати вузли"
+
+#: disk-utils/mkswap.c:669
+msgid "couldn't compute selinux context"
+msgstr ""
+
+#: disk-utils/mkswap.c:675
+#, fuzzy, c-format
+msgid "%s: unable to relabel %s to %s: %s\n"
+msgstr "не вдається перейменувати %s у %s: %s\n"
+
+#: disk-utils/raw.c:50
+#, fuzzy, c-format
+msgid ""
+"Usage:\n"
+"  %s "
+msgstr "Використання:\n"
+
+#: disk-utils/raw.c:125
+#, c-format
+msgid ""
+"Device '%s' is control raw dev (use raw<N> where <N> is greater than zero)\n"
+msgstr ""
+
+#: disk-utils/raw.c:145
+#, fuzzy, c-format
+msgid "Cannot locate block device '%s' (%s)\n"
+msgstr "не вдається заблокувати файл блокування %s: %s\n"
+
+#: disk-utils/raw.c:151
+#, fuzzy, c-format
+msgid "Device '%s' is not a block dev\n"
+msgstr "Попередження: %s не є блочним пристроєм\n"
+
+#: disk-utils/raw.c:186
+#, fuzzy, c-format
+msgid "Cannot open master raw device '"
+msgstr "не вдається отримати інформацію про %s"
+
+#: disk-utils/raw.c:205
+#, fuzzy, c-format
+msgid "Cannot locate raw device '%s' (%s)\n"
+msgstr "не вдається отримати інформацію про %s"
+
+#: disk-utils/raw.c:211
+#, fuzzy, c-format
+msgid "Raw device '%s' is not a character dev\n"
+msgstr "/dev/%s: не є символьним пристроєм"
+
+#: disk-utils/raw.c:216
+#, fuzzy, c-format
+msgid "Device '%s' is not a raw dev\n"
+msgstr "%s не є спеціальним файлом блочного пристрою"
+
+#: disk-utils/raw.c:231
+#, c-format
+msgid "Error querying raw device (%s)\n"
+msgstr ""
+
+#: disk-utils/raw.c:241 disk-utils/raw.c:261
+#, c-format
+msgid "raw%d:\tbound to major %d, minor %d\n"
+msgstr ""
+
+#: disk-utils/raw.c:257
+#, fuzzy, c-format
+msgid "Error setting raw device (%s)\n"
+msgstr "помилка зупинення служби: \"%s\""
+
+#: fdisk/cfdisk.c:376 fdisk/cfdisk.c:2080
+msgid "Unusable"
+msgstr "Не використано"
+
+#: fdisk/cfdisk.c:378 fdisk/cfdisk.c:2082
+msgid "Free Space"
+msgstr "Вільний простір"
+
+#: fdisk/cfdisk.c:381
+msgid "Linux ext2"
+msgstr "Linux ext2"
+
+#: fdisk/cfdisk.c:383
+msgid "Linux ext3"
+msgstr "Linux ext3"
+
+#: fdisk/cfdisk.c:385
+msgid "Linux XFS"
+msgstr "Linux XFS"
+
+#: fdisk/cfdisk.c:387
+msgid "Linux JFS"
+msgstr "Linux JFS"
+
+#: fdisk/cfdisk.c:389
+msgid "Linux ReiserFS"
+msgstr "Linux ReiserFS"
+
+#: fdisk/cfdisk.c:391 fdisk/i386_sys_types.c:57
+msgid "Linux"
+msgstr "Linux"
+
+#: fdisk/cfdisk.c:394
+msgid "OS/2 HPFS"
+msgstr "OS/2 HPFS"
+
+#: fdisk/cfdisk.c:396
+msgid "OS/2 IFS"
+msgstr "OS/2 IFS"
+
+#: fdisk/cfdisk.c:400
+msgid "NTFS"
+msgstr "NTFS"
+
+#: fdisk/cfdisk.c:411
+#, c-format
+msgid "Disk has been changed.\n"
+msgstr "Диск було змінено.\n"
+
+#: fdisk/cfdisk.c:413
+#, c-format
+msgid "Reboot the system to ensure the partition table is correctly updated.\n"
+msgstr ""
+"Перезавантажте систему щоб впевнитись, що таблиця розділів коректно "
+"оновлена.\n"
+
+#: fdisk/cfdisk.c:417
+#, 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"
+
+#: fdisk/cfdisk.c:512
+msgid "FATAL ERROR"
+msgstr "ФАТАЛЬНА ПОМИЛКА"
+
+#: fdisk/cfdisk.c:513
+msgid "Press any key to exit cfdisk"
+msgstr "Натисніть будь-яку клавішу для завершення cfdisk"
+
+#: fdisk/cfdisk.c:560 fdisk/cfdisk.c:568
+msgid "Cannot seek on disk drive"
+msgstr "Помилка позиціювання на дисковому пристрої"
+
+#: fdisk/cfdisk.c:562
+msgid "Cannot read disk drive"
+msgstr "не вдається прочитати дисковий пристрій"
+
+#: fdisk/cfdisk.c:570
+msgid "Cannot write disk drive"
+msgstr "не вдається записати на дисковий пристрій"
+
+#: fdisk/cfdisk.c:913
+msgid "Too many partitions"
+msgstr "Надто багато розділів"
+
+#: fdisk/cfdisk.c:918
+msgid "Partition begins before sector 0"
+msgstr "Розділ починається перед сектором 0"
+
+#: fdisk/cfdisk.c:923
+msgid "Partition ends before sector 0"
+msgstr "Розділ закінчується перед сектором 0"
+
+#: fdisk/cfdisk.c:928
+msgid "Partition begins after end-of-disk"
+msgstr "Розділ починається після кінця диску"
+
+#: fdisk/cfdisk.c:933
+msgid "Partition ends after end-of-disk"
+msgstr "Розділ закінчується після кінця диску"
+
+#: fdisk/cfdisk.c:938
+msgid "Partition ends in the final partial cylinder"
+msgstr "Розділ закінчується у останньому неповному циліндрі"
+
+#: fdisk/cfdisk.c:962
+msgid "logical partitions not in disk order"
+msgstr "логічні розділи не у тому порядку як на диску"
+
+#: fdisk/cfdisk.c:965
+msgid "logical partitions overlap"
+msgstr "логічні розділи перекриваються"
+
+#: fdisk/cfdisk.c:969
+msgid "enlarged logical partitions overlap"
+msgstr "збільшені логічні розділи перекриваються"
+
+#: fdisk/cfdisk.c:999
+msgid ""
+"!!!! Internal error creating logical drive with no extended partition !!!!"
+msgstr ""
+"!!!! Внутрішня помилка створення логічного пристрою без розширеного "
+"розділу !!!!"
+
+#: fdisk/cfdisk.c:1010 fdisk/cfdisk.c:1022
+msgid ""
+"Cannot create logical drive here -- would create two extended partitions"
+msgstr ""
+"не вдається створити тут логічний пристрій -- буде створено два розширених "
+"розділи"
+
+#: fdisk/cfdisk.c:1164
+msgid "Menu item too long. Menu may look odd."
+msgstr "Пункт меню надто довгий. Меню виглядатиме дивно."
+
+#: fdisk/cfdisk.c:1220
+#, fuzzy
+msgid "Menu without direction. Defaulting to horizontal."
+msgstr "Меню без орієнтації. Типова орієнтація - горизонтальна."
+
+#: fdisk/cfdisk.c:1351
+msgid "Illegal key"
+msgstr "Неправильний ключ"
+
+#: fdisk/cfdisk.c:1374
+msgid "Press a key to continue"
+msgstr "Натисніть будь-яку клавішу для продовження"
+
+#: fdisk/cfdisk.c:1421 fdisk/cfdisk.c:2051 fdisk/cfdisk.c:2583
+#: fdisk/cfdisk.c:2585
+msgid "Primary"
+msgstr "Первинний"
+
+#: fdisk/cfdisk.c:1421
+msgid "Create a new primary partition"
+msgstr "Створити новий розділ"
+
+#: fdisk/cfdisk.c:1422 fdisk/cfdisk.c:2051 fdisk/cfdisk.c:2582
+#: fdisk/cfdisk.c:2585
+msgid "Logical"
+msgstr "Логічний"
+
+#: fdisk/cfdisk.c:1422
+msgid "Create a new logical partition"
+msgstr "Створити новий логічний пристрій"
+
+#: fdisk/cfdisk.c:1423 fdisk/cfdisk.c:1478 fdisk/cfdisk.c:2256
+msgid "Cancel"
+msgstr "Відмінити"
+
+#: fdisk/cfdisk.c:1423 fdisk/cfdisk.c:1478
+msgid "Don't create a partition"
+msgstr "Не створювати розділ"
+
+#: fdisk/cfdisk.c:1439
+msgid "!!! Internal error !!!"
+msgstr "!!! Внутрішня помилка !!!"
+
+#: fdisk/cfdisk.c:1442
+msgid "Size (in MB): "
+msgstr "Розмір (у MB): "
+
+#: fdisk/cfdisk.c:1476
+msgid "Beginning"
+msgstr "Початок"
+
+#: fdisk/cfdisk.c:1476
+msgid "Add partition at beginning of free space"
+msgstr "Додати розділ на початку вільного простору"
+
+#: fdisk/cfdisk.c:1477
+msgid "End"
+msgstr "Кінець"
+
+#: fdisk/cfdisk.c:1477
+msgid "Add partition at end of free space"
+msgstr "Додати розділ наприкінці вільного простору"
+
+#: fdisk/cfdisk.c:1495
+msgid "No room to create the extended partition"
+msgstr "Недостатньо простору для створення розширеного розділу"
+
+#: fdisk/cfdisk.c:1569
+msgid "No partition table.\n"
+msgstr "Відсутня таблиця розділів.\n"
+
+#: fdisk/cfdisk.c:1573
+msgid "No partition table. Starting with zero table."
+msgstr "Відсутня таблиця розділів або невідома сигнатура таблиці розділів."
+
+#: fdisk/cfdisk.c:1583
+msgid "Bad signature on partition table"
+msgstr "Неправильна сигнатура таблиці розділів"
+
+#: fdisk/cfdisk.c:1587
+msgid "Unknown partition table type"
+msgstr "Таблиця розділів невідомого типу"
+
+#: fdisk/cfdisk.c:1589
+msgid "Do you wish to start with a zero table [y/N] ?"
+msgstr "Бажаєте почати з нульової таблиці [y/N] ?"
+
+#: fdisk/cfdisk.c:1637
+msgid "You specified more cylinders than fit on disk"
+msgstr "Ви вказали більше циліндрів ніж є на диску"
+
+#: fdisk/cfdisk.c:1669
+msgid "Cannot open disk drive"
+msgstr "не вдається відкрити пристрій диску"
+
+#: fdisk/cfdisk.c:1671 fdisk/cfdisk.c:1860
+msgid "Opened disk read-only - you have no permission to write"
+msgstr "Відкритий диск лише для читання - у вас немає прав для запису"
+
+#: fdisk/cfdisk.c:1682
+msgid ""
+"Warning!!  Unsupported GPT (GUID Partition Table) detected. Use GNU Parted."
+msgstr ""
+
+#: fdisk/cfdisk.c:1701
+msgid "Cannot get disk size"
+msgstr "не вдається отримати розмір диску"
+
+#: fdisk/cfdisk.c:1727
+msgid "Bad primary partition"
+msgstr "Неправильний первинний розділ"
+
+#: fdisk/cfdisk.c:1757
+msgid "Bad logical partition"
+msgstr "Неправильний логічний розділ"
+
+#: fdisk/cfdisk.c:1872
+msgid "Warning!!  This may destroy data on your disk!"
+msgstr "Увага!! Це може знищити дані на диску!"
+
+#: fdisk/cfdisk.c:1876
+msgid ""
+"Are you sure you want to write the partition table to disk? (yes or no): "
+msgstr ""
+"Ви впевнені, що бажаєте записати таблицю розділів на диск? (yes або no): "
+
+#: fdisk/cfdisk.c:1882
+msgid "no"
+msgstr "no"
+
+#: fdisk/cfdisk.c:1884
+msgid "Did not write partition table to disk"
+msgstr "Не записувати таблицю розділів на диск"
+
+#: fdisk/cfdisk.c:1886
+msgid "yes"
+msgstr "yes"
+
+#: fdisk/cfdisk.c:1890
+msgid "Please enter `yes' or `no'"
+msgstr "Введіть `yes'(так) або `no'(ні)"
+
+#: fdisk/cfdisk.c:1894
+msgid "Writing partition table to disk..."
+msgstr "Записується таблиця розділів на диск..."
+
+#: fdisk/cfdisk.c:1921 fdisk/cfdisk.c:1925
+msgid "Wrote partition table to disk"
+msgstr "Таблиця розділів записана на диск"
+
+#: fdisk/cfdisk.c:1923
+#, fuzzy
+msgid ""
+"Wrote partition table, but re-read table failed.  Run partprobe(8), kpartx"
+"(8) or reboot to update table."
+msgstr ""
+"Таблиця розділів записана, але виникла помилка при її перечитуванні. "
+"Перезавантажтесь для оновлення таблиці."
+
+#: fdisk/cfdisk.c:1933
+msgid "No primary partitions are marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"Немає первинних розділів позначених як завантажувальні. DOS MBR не зможе "
+"завантажуватись."
+
+#: fdisk/cfdisk.c:1935
+msgid ""
+"More than one primary partition is marked bootable. DOS MBR cannot boot this."
+msgstr ""
+"Більш ніж один розділ позначений як завантажувальний. DOS MBR не зможе "
+"завантажуватись."
+
+#: fdisk/cfdisk.c:1993 fdisk/cfdisk.c:2112 fdisk/cfdisk.c:2196
+msgid "Enter filename or press RETURN to display on screen: "
+msgstr "Введіть назву файлу або натисніть Enter, щоб відобразити екран: "
+
+#: fdisk/cfdisk.c:2002 fdisk/cfdisk.c:2120 fdisk/cfdisk.c:2204
+#, c-format
+msgid "Cannot open file '%s'"
+msgstr "не вдається відкрити файл '%s'"
+
+#: fdisk/cfdisk.c:2013
+#, c-format
+msgid "Disk Drive: %s\n"
+msgstr "Дисковий пристій: %s\n"
+
+#: fdisk/cfdisk.c:2015
+msgid "Sector 0:\n"
+msgstr "Сектор 0:\n"
+
+#: fdisk/cfdisk.c:2022
+#, c-format
+msgid "Sector %d:\n"
+msgstr "Сектор %d:\n"
+
+#: fdisk/cfdisk.c:2042
+msgid "   None   "
+msgstr "   Немає    "
+
+#: fdisk/cfdisk.c:2044
+msgid "   Pri/Log"
+msgstr "   Перв/Лог "
+
+#: fdisk/cfdisk.c:2046
+msgid "   Primary"
+msgstr "   Первинний"
+
+#: fdisk/cfdisk.c:2048
+msgid "   Logical"
+msgstr "   Логічний "
+
+#: fdisk/cfdisk.c:2086 fdisk/fdisk.c:1534 fdisk/fdisk.c:1855
+#: fdisk/fdisksgilabel.c:240 fdisk/fdisksunlabel.c:621 fdisk/sfdisk.c:653
+msgid "Unknown"
+msgstr "Невідомий"
+
+#: fdisk/cfdisk.c:2092 fdisk/cfdisk.c:2560 fdisk/fdisksunlabel.c:44
+msgid "Boot"
+msgstr "Заван."
+
+#: fdisk/cfdisk.c:2094
+#, c-format
+msgid "(%02X)"
+msgstr "(%02X)"
+
+#: fdisk/cfdisk.c:2096
+msgid "None"
+msgstr "Немає"
+
+#: fdisk/cfdisk.c:2131 fdisk/cfdisk.c:2215
+#, c-format
+msgid "Partition Table for %s\n"
+msgstr "Таблиця розділів для %s\n"
+
+#: fdisk/cfdisk.c:2133
+msgid "               First       Last\n"
+msgstr "            Перший    Останній\n"
+
+#: fdisk/cfdisk.c:2134
+msgid ""
+" # Type       Sector      Sector   Offset    Length   Filesystem Type (ID) "
+"Flag\n"
+msgstr ""
+" # Тип      Сектор   Сектор   Зсув    Довжина  Тип файл. системи(ID) Ознаки\n"
+
+#: fdisk/cfdisk.c:2135
+msgid ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+msgstr ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+
+#: fdisk/cfdisk.c:2218
+#, fuzzy
+msgid "         ---Starting----      ----Ending-----    Start     Number of\n"
+msgstr "         ---Початок---       ----Кінець----   Початк.   Кільк.\n"
+
+#: fdisk/cfdisk.c:2219
+#, fuzzy
+msgid " # Flags Head Sect  Cyl   ID  Head Sect  Cyl     Sector    Sectors\n"
+msgstr " # Ознак Гол  Сект Цил   ID  Гол  Сект Цил    Сектор  Секторів\n"
+
+#: fdisk/cfdisk.c:2220
+#, fuzzy
+msgid "-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+msgstr "-- ----- ---- ---- ---- ---- ---- ---- ---- ----------- -----------\n"
+
+#: fdisk/cfdisk.c:2253
+msgid "Raw"
+msgstr "Неформатов."
+
+#: fdisk/cfdisk.c:2253
+msgid "Print the table using raw data format"
+msgstr "Вивести таблицю у 'неформатованому' вигляді"
+
+#: fdisk/cfdisk.c:2254 fdisk/cfdisk.c:2357
+msgid "Sectors"
+msgstr "Сектори"
+
+#: fdisk/cfdisk.c:2254
+msgid "Print the table ordered by sectors"
+msgstr "Вивести таблицю сортовану за секторами"
+
+#: fdisk/cfdisk.c:2255
+msgid "Table"
+msgstr "Таблиця"
+
+#: fdisk/cfdisk.c:2255
+msgid "Just print the partition table"
+msgstr "Просто вивести таблицю розділів"
+
+#: fdisk/cfdisk.c:2256
+msgid "Don't print the table"
+msgstr "Не виводити таблицю"
+
+#: fdisk/cfdisk.c:2284
+msgid "Help Screen for cfdisk"
+msgstr "Екран з довідкою для cfdisk"
+
+#: fdisk/cfdisk.c:2286
+msgid "This is cfdisk, a curses based disk partitioning program, which"
+msgstr "Це cfdisk - консольна програма роботи з розділами на базі curses, яка"
+
+#: fdisk/cfdisk.c:2287
+msgid "allows you to create, delete and modify partitions on your hard"
+msgstr "дозволяє створювати, видаляти та змінювати розділи вашого"
+
+#: fdisk/cfdisk.c:2288
+msgid "disk drive."
+msgstr "жорсткого диску."
+
+#: fdisk/cfdisk.c:2290
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+
+#: fdisk/cfdisk.c:2292
+msgid "Command      Meaning"
+msgstr "Команда      Призначення"
+
+#: fdisk/cfdisk.c:2293
+msgid "-------      -------"
+msgstr "-------      -----------"
+
+#: fdisk/cfdisk.c:2294
+msgid "  b          Toggle bootable flag of the current partition"
+msgstr "  b          Перемикнути ознаку завантаження поточного розділу"
+
+#: fdisk/cfdisk.c:2295
+msgid "  d          Delete the current partition"
+msgstr "  d          Видалити поточний розділ"
+
+#: fdisk/cfdisk.c:2296
+msgid "  g          Change cylinders, heads, sectors-per-track parameters"
+msgstr "  g          Змінити параметри: циліндри, головки, сектори-на-доріжку"
+
+#: fdisk/cfdisk.c:2297
+msgid "             WARNING: This option should only be used by people who"
+msgstr "             УВАГА: Цей параметр повинен використовуватись лише людьми"
+
+#: fdisk/cfdisk.c:2298
+msgid "             know what they are doing."
+msgstr "             які знають, що вони роблять."
+
+#: fdisk/cfdisk.c:2299
+msgid "  h          Print this screen"
+msgstr "  h          Вивести цю довідку"
+
+#: fdisk/cfdisk.c:2300
+msgid "  m          Maximize disk usage of the current partition"
+msgstr "  m          Максимізувати використання диску поточним розділом"
+
+#: fdisk/cfdisk.c:2301
+msgid "             Note: This may make the partition incompatible with"
+msgstr "             Зауважте: це може зробити розділ несумісним з"
+
+#: fdisk/cfdisk.c:2302
+msgid "             DOS, OS/2, ..."
+msgstr "             DOS, OS/2, ..."
+
+#: fdisk/cfdisk.c:2303
+msgid "  n          Create new partition from free space"
+msgstr "  n          Створити новий розділ у вільному просторі"
+
+#: fdisk/cfdisk.c:2304
+msgid "  p          Print partition table to the screen or to a file"
+msgstr "  p          Вивести таблицю розділів на екран або у файл"
+
+#: fdisk/cfdisk.c:2305
+msgid "             There are several different formats for the partition"
+msgstr "             Є декілька форматів виводу розділів:"
+
+#: fdisk/cfdisk.c:2306
+msgid "             that you can choose from:"
+msgstr " "
+
+#: fdisk/cfdisk.c:2307
+msgid "                r - Raw data (exactly what would be written to disk)"
+msgstr ""
+"                r - не форматовані дані (у вигляді, в якому вони запишуться "
+"на диск)"
+
+#: fdisk/cfdisk.c:2308
+msgid "                s - Table ordered by sectors"
+msgstr "                s - Таблиця сортована по секторам"
+
+#: fdisk/cfdisk.c:2309
+msgid "                t - Table in raw format"
+msgstr "                t - таблиця не форматованих даних"
+
+#: fdisk/cfdisk.c:2310
+msgid "  q          Quit program without writing partition table"
+msgstr "  q          Вийти з програми без запису таблиці розділів"
+
+#: fdisk/cfdisk.c:2311
+msgid "  t          Change the filesystem type"
+msgstr "  t          Змінити тип файлової системи"
+
+#: fdisk/cfdisk.c:2312
+msgid "  u          Change units of the partition size display"
+msgstr "  u          Змінити одиниці вимірювання розміру розділів"
+
+#: fdisk/cfdisk.c:2313
+msgid "             Rotates through MB, sectors and cylinders"
+msgstr "             Перемикає між Мб, секторами та циліндрами"
+
+#: fdisk/cfdisk.c:2314
+msgid "  W          Write partition table to disk (must enter upper case W)"
+msgstr ""
+"  W          Записати таблицю розділів на диск ( W повинен бути в верхньому "
+"регістрі)"
+
+#: fdisk/cfdisk.c:2315
+msgid "             Since this might destroy data on the disk, you must"
+msgstr "             Це може зруйнувати дані на диску, тому необхідно або"
+
+#: fdisk/cfdisk.c:2316
+msgid "             either confirm or deny the write by entering `yes' or"
+msgstr "             підтвердити або відмовитись від запису набравши `yes' чи "
+
+#: fdisk/cfdisk.c:2317
+msgid "             `no'"
+msgstr "             `no'"
+
+#: fdisk/cfdisk.c:2318
+msgid "Up Arrow     Move cursor to the previous partition"
+msgstr "СтрілкаВгору Перемістити курсор на попередню позицію"
+
+#: fdisk/cfdisk.c:2319
+msgid "Down Arrow   Move cursor to the next partition"
+msgstr "СтрілкаВниз  Перемістити курсор у наступну позицію"
+
+#: fdisk/cfdisk.c:2320
+msgid "CTRL-L       Redraws the screen"
+msgstr "CTRL-L       Оновлює вміст екрану"
+
+#: fdisk/cfdisk.c:2321
+msgid "  ?          Print this screen"
+msgstr "  ?          Виводить цю довідку"
+
+#: fdisk/cfdisk.c:2323
+msgid "Note: All of the commands can be entered with either upper or lower"
+msgstr "Зауважте: Всі команди вводяться або у нижньому або у верхньому"
+
+#: fdisk/cfdisk.c:2324
+msgid "case letters (except for Writes)."
+msgstr "регістрах (за винятком (W)запису)."
+
+#: fdisk/cfdisk.c:2355 fdisk/fdisksunlabel.c:237
+msgid "Cylinders"
+msgstr "Циліндрів"
+
+#: fdisk/cfdisk.c:2355
+msgid "Change cylinder geometry"
+msgstr "Змінити геометрію циліндру"
+
+#: fdisk/cfdisk.c:2356 fdisk/fdisksunlabel.c:235
+msgid "Heads"
+msgstr "Головки"
+
+#: fdisk/cfdisk.c:2356
+msgid "Change head geometry"
+msgstr "Змінити геометрію головки"
+
+#: fdisk/cfdisk.c:2357
+msgid "Change sector geometry"
+msgstr "Змінити геометрію сектору"
+
+#: fdisk/cfdisk.c:2358
+msgid "Done"
+msgstr "Виконано"
+
+#: fdisk/cfdisk.c:2358
+msgid "Done with changing geometry"
+msgstr "Завершити зміну геометрії"
+
+#: fdisk/cfdisk.c:2371
+msgid "Enter the number of cylinders: "
+msgstr "Введіть кількість циліндрів: "
+
+#: fdisk/cfdisk.c:2382 fdisk/cfdisk.c:2953
+msgid "Illegal cylinders value"
+msgstr "Недопустиме значення циліндрів"
+
+#: fdisk/cfdisk.c:2388
+msgid "Enter the number of heads: "
+msgstr "Введіть геометрію головок: "
+
+#: fdisk/cfdisk.c:2395 fdisk/cfdisk.c:2963
+msgid "Illegal heads value"
+msgstr "Недопустиме значення головок"
+
+#: fdisk/cfdisk.c:2401
+msgid "Enter the number of sectors per track: "
+msgstr "Введіть кількість секторів на доріжку: "
+
+#: fdisk/cfdisk.c:2408 fdisk/cfdisk.c:2970
+msgid "Illegal sectors value"
+msgstr "Недопустиме значення секторів"
+
+#: fdisk/cfdisk.c:2511
+msgid "Enter filesystem type: "
+msgstr "Введіть тип файлової системи: "
+
+#: fdisk/cfdisk.c:2529
+msgid "Cannot change FS Type to empty"
+msgstr "Тип ФС не може бути порожнім"
+
+#: fdisk/cfdisk.c:2531
+msgid "Cannot change FS Type to extended"
+msgstr "Не можна змінювати тип ФС на розширений"
+
+#: fdisk/cfdisk.c:2562
+#, c-format
+msgid "Unk(%02X)"
+msgstr "Невід(%02X)"
+
+#: fdisk/cfdisk.c:2565 fdisk/cfdisk.c:2568
+msgid ", NC"
+msgstr ", НК"
+
+#: fdisk/cfdisk.c:2573 fdisk/cfdisk.c:2576
+msgid "NC"
+msgstr "НК"
+
+#: fdisk/cfdisk.c:2584
+msgid "Pri/Log"
+msgstr "Перв/Лог"
+
+#: fdisk/cfdisk.c:2591
+#, c-format
+msgid "Unknown (%02X)"
+msgstr "Невідомий (%02X)"
+
+#: fdisk/cfdisk.c:2660
+#, c-format
+msgid "Disk Drive: %s"
+msgstr "Пристій диску: %s"
+
+#: fdisk/cfdisk.c:2667
+#, c-format
+msgid "Size: %lld bytes, %lld MB"
+msgstr "Розмір: %lld байт, %lld Мб"
+
+#: fdisk/cfdisk.c:2670
+#, c-format
+msgid "Size: %lld bytes, %lld.%lld GB"
+msgstr "Розмір: %lld байт, %lld.%lld Гб"
+
+#: fdisk/cfdisk.c:2674
+#, c-format
+msgid "Heads: %d   Sectors per Track: %d   Cylinders: %lld"
+msgstr "Головок: %d   Секторів на доріжку: %d   Циліндрів: %lld"
+
+#: fdisk/cfdisk.c:2678 login-utils/chfn.c:377
+msgid "Name"
+msgstr "Назва"
+
+#: fdisk/cfdisk.c:2679
+msgid "Flags"
+msgstr "Ознаки"
+
+#: fdisk/cfdisk.c:2680
+msgid "Part Type"
+msgstr "Тип розд."
+
+#: fdisk/cfdisk.c:2681
+msgid "FS Type"
+msgstr "Тип ФС"
+
+#: fdisk/cfdisk.c:2682
+msgid "[Label]"
+msgstr "[Позначка]"
+
+#: fdisk/cfdisk.c:2684
+msgid "    Sectors"
+msgstr "   Секторів"
+
+#: fdisk/cfdisk.c:2686
+msgid "  Cylinders"
+msgstr "  Циліндрів"
+
+#: fdisk/cfdisk.c:2688
+msgid "  Size (MB)"
+msgstr "Розмір (Мб)"
+
+#: fdisk/cfdisk.c:2690
+msgid "  Size (GB)"
+msgstr "Розмір (Гб)"
+
+#: fdisk/cfdisk.c:2744
+msgid "Bootable"
+msgstr "Завантаж."
+
+#: fdisk/cfdisk.c:2744
+msgid "Toggle bootable flag of the current partition"
+msgstr "Перемикнути ознаку завантаження поточного розділу"
+
+#: fdisk/cfdisk.c:2745
+msgid "Delete"
+msgstr "Видалити"
+
+#: fdisk/cfdisk.c:2745
+msgid "Delete the current partition"
+msgstr "Видалити поточний розділ"
+
+#: fdisk/cfdisk.c:2746
+msgid "Geometry"
+msgstr "Геометрія"
+
+#: fdisk/cfdisk.c:2746
+msgid "Change disk geometry (experts only)"
+msgstr "Змінити геометрію диску (лише для фахівців)"
+
+#: fdisk/cfdisk.c:2747
+msgid "Help"
+msgstr "Довідка"
+
+#: fdisk/cfdisk.c:2747
+msgid "Print help screen"
+msgstr "Вивести вікно з довідкою"
+
+#: fdisk/cfdisk.c:2748
+msgid "Maximize"
+msgstr "Максимум"
+
+#: fdisk/cfdisk.c:2748
+msgid "Maximize disk usage of the current partition (experts only)"
+msgstr "Максимізувати використання диску поточним розділом (для фахівців)"
+
+#: fdisk/cfdisk.c:2749
+msgid "New"
+msgstr "Новий"
+
+#: fdisk/cfdisk.c:2749
+msgid "Create new partition from free space"
+msgstr "Створити новий розділ у вільному просторі"
+
+#: fdisk/cfdisk.c:2750
+msgid "Print"
+msgstr "Вивести"
+
+#: fdisk/cfdisk.c:2750
+msgid "Print partition table to the screen or to a file"
+msgstr "Вивести таблицю розділів на екран або у файл"
+
+#: fdisk/cfdisk.c:2751
+msgid "Quit"
+msgstr "Вихід"
+
+#: fdisk/cfdisk.c:2751
+msgid "Quit program without writing partition table"
+msgstr "Вийти з програми без запису таблиці розділів"
+
+#: fdisk/cfdisk.c:2752
+msgid "Type"
+msgstr "Тип"
+
+#: fdisk/cfdisk.c:2752
+msgid "Change the filesystem type (DOS, Linux, OS/2 and so on)"
+msgstr "Змінити тип файлової системи (DOS, Linux, OS/2 та ін.)"
+
+#: fdisk/cfdisk.c:2753
+msgid "Units"
+msgstr "Одиниці"
+
+#: fdisk/cfdisk.c:2753
+msgid "Change units of the partition size display (MB, sect, cyl)"
+msgstr "Змінити одиниці вимірювання розмірів розділу (МБ. сект, цил)"
+
+#: fdisk/cfdisk.c:2754
+msgid "Write"
+msgstr "Записати"
+
+#: fdisk/cfdisk.c:2754
+msgid "Write partition table to disk (this might destroy data)"
+msgstr "Записати таблицю розділів на диск (може зіпсувати дані)"
+
+#: fdisk/cfdisk.c:2800
+msgid "Cannot make this partition bootable"
+msgstr "не вдається зробити розділ завантажувальним"
+
+#: fdisk/cfdisk.c:2810
+msgid "Cannot delete an empty partition"
+msgstr "не вдається видалити порожній розділ"
+
+#: fdisk/cfdisk.c:2830 fdisk/cfdisk.c:2832
+msgid "Cannot maximize this partition"
+msgstr "не вдається максимізувати цей розділ"
+
+#: fdisk/cfdisk.c:2840
+msgid "This partition is unusable"
+msgstr "Цей розділ не використовується"
+
+#: fdisk/cfdisk.c:2842
+msgid "This partition is already in use"
+msgstr "Цей розділ вже використовується"
+
+#: fdisk/cfdisk.c:2859
+msgid "Cannot change the type of an empty partition"
+msgstr "не вдається змінити тип порожнього розділу"
+
+#: fdisk/cfdisk.c:2886 fdisk/cfdisk.c:2892
+msgid "No more partitions"
+msgstr "Немає більше розділів"
+
+#: fdisk/cfdisk.c:2899
+msgid "Illegal command"
+msgstr "Неправильна команда"
+
+#: fdisk/cfdisk.c:2909
+#, c-format
+msgid "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+msgstr "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+
+#: fdisk/cfdisk.c:2916
+#, 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"
+
+#: fdisk/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)."
+
+#: fdisk/fdiskbsdlabel.c:122
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+"\n"
+"BSD етикетка пристрою: %s\n"
+
+#: fdisk/fdiskbsdlabel.c:129 fdisk/fdisk.c:386 fdisk/fdisk.c:405
+#: fdisk/fdisk.c:423 fdisk/fdisk.c:430 fdisk/fdisk.c:453 fdisk/fdisk.c:471
+#: fdisk/fdisk.c:487 fdisk/fdisk.c:503
+msgid "Command action"
+msgstr "Команда дія"
+
+#: fdisk/fdiskbsdlabel.c:130
+msgid "   d   delete a BSD partition"
+msgstr "   d   видалити BSD розділ"
+
+#: fdisk/fdiskbsdlabel.c:131
+msgid "   e   edit drive data"
+msgstr "   e   редагувати дані диску"
+
+#: fdisk/fdiskbsdlabel.c:132
+msgid "   i   install bootstrap"
+msgstr "   i   встановити bootstrap"
+
+#: fdisk/fdiskbsdlabel.c:133
+msgid "   l   list known filesystem types"
+msgstr "   l   перелік відомих типів файлових систем"
+
+#: fdisk/fdiskbsdlabel.c:134 fdisk/fdisk.c:392 fdisk/fdisk.c:411
+#: fdisk/fdisk.c:424 fdisk/fdisk.c:436 fdisk/fdisk.c:461 fdisk/fdisk.c:478
+#: fdisk/fdisk.c:494 fdisk/fdisk.c:512
+msgid "   m   print this menu"
+msgstr "   m   вивести це меню"
+
+#: fdisk/fdiskbsdlabel.c:135
+msgid "   n   add a new BSD partition"
+msgstr "   n   додати новий BSD розділ"
+
+#: fdisk/fdiskbsdlabel.c:136
+msgid "   p   print BSD partition table"
+msgstr "   p   вивести таблицю розділів BSD"
+
+#: fdisk/fdiskbsdlabel.c:137 fdisk/fdisk.c:396 fdisk/fdisk.c:415
+#: fdisk/fdisk.c:426 fdisk/fdisk.c:440 fdisk/fdisk.c:463 fdisk/fdisk.c:480
+#: fdisk/fdisk.c:496 fdisk/fdisk.c:514
+msgid "   q   quit without saving changes"
+msgstr "   q   вийти без збереження змін"
+
+#: fdisk/fdiskbsdlabel.c:138 fdisk/fdisk.c:464 fdisk/fdisk.c:481
+#: fdisk/fdisk.c:497 fdisk/fdisk.c:515
+msgid "   r   return to main menu"
+msgstr "   r   повернутись до головного меню"
+
+#: fdisk/fdiskbsdlabel.c:139
+msgid "   s   show complete disklabel"
+msgstr "   s   показати всю етикетку диску"
+
+#: fdisk/fdiskbsdlabel.c:140
+msgid "   t   change a partition's filesystem id"
+msgstr "   t   змінити ідентифікатор файлової системи розділу"
+
+#: fdisk/fdiskbsdlabel.c:141
+msgid "   u   change units (cylinders/sectors)"
+msgstr "   u   змінити одиниці виміру (циліндри/сектори)"
+
+#: fdisk/fdiskbsdlabel.c:142
+msgid "   w   write disklabel to disk"
+msgstr "   w   записати етикетку диску на диск"
+
+#: fdisk/fdiskbsdlabel.c:144
+msgid "   x   link BSD partition to non-BSD partition"
+msgstr "   x   посилання з BSD розділу на не-BSD розділ"
+
+#: fdisk/fdiskbsdlabel.c:176
+#, c-format
+msgid "Partition %s has invalid starting sector 0.\n"
+msgstr "Розділ %s має неправильну кількість секторів 0.\n"
+
+#: fdisk/fdiskbsdlabel.c:180
+#, c-format
+msgid "Reading disklabel of %s at sector %d.\n"
+msgstr "Читається етикетка диску %s з сектору %d.\n"
+
+#: fdisk/fdiskbsdlabel.c:190
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr "Немає *BSD розділів на %s.\n"
+
+#: fdisk/fdiskbsdlabel.c:204
+msgid "BSD disklabel command (m for help): "
+msgstr "Команда режиму BSD етикетки диску (m - довідка): "
+
+#: fdisk/fdiskbsdlabel.c:284 fdisk/fdisk.c:2052 fdisk/fdisksgilabel.c:651
+#: fdisk/fdisksunlabel.c:431
+#, c-format
+msgid "First %s"
+msgstr "Перший %s"
+
+#: fdisk/fdiskbsdlabel.c:291 fdisk/fdisksunlabel.c:488
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr "Останній %s або +size або +sizeM або +sizeK"
+
+#: fdisk/fdiskbsdlabel.c:318
+#, c-format
+msgid "type: %s\n"
+msgstr "тип: %s\n"
+
+#: fdisk/fdiskbsdlabel.c:320
+#, c-format
+msgid "type: %d\n"
+msgstr "тип: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:321
+#, c-format
+msgid "disk: %.*s\n"
+msgstr "диск: %.*s\n"
+
+#: fdisk/fdiskbsdlabel.c:322
+#, c-format
+msgid "label: %.*s\n"
+msgstr "етикетка: %.*s\n"
+
+#: fdisk/fdiskbsdlabel.c:323
+#, c-format
+msgid "flags:"
+msgstr "ознаки:"
+
+#: fdisk/fdiskbsdlabel.c:325
+#, c-format
+msgid " removable"
+msgstr " змінний"
+
+#: fdisk/fdiskbsdlabel.c:327
+#, c-format
+msgid " ecc"
+msgstr " ecc"
+
+#: fdisk/fdiskbsdlabel.c:329
+#, c-format
+msgid " badsect"
+msgstr " пошк.сект"
+
+#: fdisk/fdiskbsdlabel.c:333
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr "байт/сектор: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:334
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr "секторів/доріжку: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:335
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr "доріжок/циліндр: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:336
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr "векторів/циліндр: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:337
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr "циліндрів: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:338
+#, c-format
+msgid "rpm: %d\n"
+msgstr "об/хв: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:339
+#, c-format
+msgid "interleave: %d\n"
+msgstr "чергування: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:340
+#, c-format
+msgid "trackskew: %d\n"
+msgstr "доріжк.ухил: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:341
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr "циліндр.ухил: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:342
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr "перемик.головок: %ld\t\t# мілісекунд\n"
+
+#: fdisk/fdiskbsdlabel.c:344
+#, c-format
+msgid "track-to-track seek: %ld\t# milliseconds\n"
+msgstr "перех.наст.доріжки: %ld\t# мілісекунд\n"
+
+#: fdisk/fdiskbsdlabel.c:346
+#, c-format
+msgid "drivedata: "
+msgstr "дані:"
+
+#: fdisk/fdiskbsdlabel.c:355
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+"\n"
+"%d розділів:\n"
+
+#: fdisk/fdiskbsdlabel.c:356
+#, c-format
+msgid "#       start       end      size     fstype   [fsize bsize   cpg]\n"
+msgstr "#      початок     кінець   розмір    тип фс   [розм.фс розм.бл cpg]\n"
+
+#: fdisk/fdiskbsdlabel.c:405 fdisk/fdiskbsdlabel.c:408
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr "Запис етикетки диску у %s.\n"
+
+#: fdisk/fdiskbsdlabel.c:420 fdisk/fdiskbsdlabel.c:422
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr "%s не містить етикетки диску.\n"
+
+#: fdisk/fdiskbsdlabel.c:427
+msgid "Do you want to create a disklabel? (y/n) "
+msgstr "Створити нову етикетку диску? (y/n) "
+
+#: fdisk/fdiskbsdlabel.c:467
+msgid "bytes/sector"
+msgstr "байт/сектор"
+
+#: fdisk/fdiskbsdlabel.c:468
+msgid "sectors/track"
+msgstr "секторів/доріжку"
+
+#: fdisk/fdiskbsdlabel.c:469
+msgid "tracks/cylinder"
+msgstr "доріжок/циліндр"
+
+#: fdisk/fdiskbsdlabel.c:470 fdisk/fdisk.c:648 fdisk/fdisk.c:1357
+#: fdisk/sfdisk.c:945
+msgid "cylinders"
+msgstr "циліндри"
+
+#: fdisk/fdiskbsdlabel.c:477
+msgid "sectors/cylinder"
+msgstr "секторів/циліндр"
+
+#: fdisk/fdiskbsdlabel.c:481
+#, c-format
+msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
+msgstr "Повинно бути <= секторів/доріжку * доріжок/циліндр (типово).\n"
+
+#: fdisk/fdiskbsdlabel.c:483
+msgid "rpm"
+msgstr "об/хв"
+
+#: fdisk/fdiskbsdlabel.c:484
+msgid "interleave"
+msgstr "чергування"
+
+#: fdisk/fdiskbsdlabel.c:485
+msgid "trackskew"
+msgstr "доріжк.ухил"
+
+#: fdisk/fdiskbsdlabel.c:486
+msgid "cylinderskew"
+msgstr "циліндр.ухил"
+
+#: fdisk/fdiskbsdlabel.c:487
+msgid "headswitch"
+msgstr "перех.головок"
+
+#: fdisk/fdiskbsdlabel.c:488
+msgid "track-to-track seek"
+msgstr "перех.наст.доріжки"
+
+#: fdisk/fdiskbsdlabel.c:529
+#, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr "Bootstrap: %sboot -> boot%s (%s): "
+
+#: fdisk/fdiskbsdlabel.c:554
+#, c-format
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr "Bootstrap перекривається з етикеткою диску!\n"
+
+#: fdisk/fdiskbsdlabel.c:575 fdisk/fdiskbsdlabel.c:577
+#, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr "Встановлено у %s.\n"
+
+#: fdisk/fdiskbsdlabel.c:599
+#, c-format
+msgid "Partition (a-%c): "
+msgstr "Розділ (a-%c): "
+
+#: fdisk/fdiskbsdlabel.c:618 fdisk/fdisk.c:2199
+#, c-format
+msgid "The maximum number of partitions has been created\n"
+msgstr "Вже створено максимальну кількість розділів\n"
+
+#: fdisk/fdiskbsdlabel.c:630
+#, c-format
+msgid "This partition already exists.\n"
+msgstr "Цей розділ вже існує.\n"
+
+#: fdisk/fdiskbsdlabel.c:757
+#, c-format
+msgid "Warning: too many partitions (%d, maximum is %d).\n"
+msgstr "Попередження: надто багато розділів (%d, максимум - %d).\n"
+
+#: fdisk/fdiskbsdlabel.c:805
+#, c-format
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+"\n"
+"Синхронізуються диски.\n"
+
+#: fdisk/fdisk.c:244
+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"
+
+#: fdisk/fdisk.c:256
+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"
+
+#: fdisk/fdisk.c:265
+#, c-format
+msgid "Unable to open %s\n"
+msgstr "не вдається відкрити %s\n"
+
+#: fdisk/fdisk.c:269
+#, c-format
+msgid "Unable to read %s\n"
+msgstr "не вдається прочитати %s\n"
+
+#: fdisk/fdisk.c:273
+#, c-format
+msgid "Unable to seek on %s\n"
+msgstr "не вдається перейти на %s\n"
+
+#: fdisk/fdisk.c:277
+#, c-format
+msgid "Unable to write %s\n"
+msgstr "не вдається записати %s\n"
+
+#: fdisk/fdisk.c:281
+#, c-format
+msgid "BLKGETSIZE ioctl failed on %s\n"
+msgstr "помилка BLKGETSIZE ioctl на %s\n"
+
+#: fdisk/fdisk.c:285
+msgid "Unable to allocate any more memory\n"
+msgstr "не вдається виділити додаткову пам'ять\n"
+
+#: fdisk/fdisk.c:288
+msgid "Fatal error\n"
+msgstr "Фатальна помилка\n"
+
+#: fdisk/fdisk.c:387
+msgid "   a   toggle a read only flag"
+msgstr "   a   перемикнути ознаку лише-для-читання"
+
+#: fdisk/fdisk.c:388 fdisk/fdisk.c:432
+msgid "   b   edit bsd disklabel"
+msgstr "   b   редагувати bsd етикетку диску"
+
+#: fdisk/fdisk.c:389
+msgid "   c   toggle the mountable flag"
+msgstr "   c   перемикнути ознаку монтування"
+
+#: fdisk/fdisk.c:390 fdisk/fdisk.c:409 fdisk/fdisk.c:434
+msgid "   d   delete a partition"
+msgstr "   d   видалити розділ"
+
+#: fdisk/fdisk.c:391 fdisk/fdisk.c:410 fdisk/fdisk.c:435
+msgid "   l   list known partition types"
+msgstr "   l   перелік відомих типів розділів"
+
+#: fdisk/fdisk.c:393 fdisk/fdisk.c:412 fdisk/fdisk.c:437
+msgid "   n   add a new partition"
+msgstr "   n   додати новий пристрій"
+
+#: fdisk/fdisk.c:394 fdisk/fdisk.c:413 fdisk/fdisk.c:425 fdisk/fdisk.c:438
+msgid "   o   create a new empty DOS partition table"
+msgstr "   o   створити нову порожню DOS таблицю розділів"
+
+#: fdisk/fdisk.c:395 fdisk/fdisk.c:414 fdisk/fdisk.c:439 fdisk/fdisk.c:462
+#: fdisk/fdisk.c:479 fdisk/fdisk.c:495 fdisk/fdisk.c:513
+msgid "   p   print the partition table"
+msgstr "   p   вивести таблицю розділів"
+
+#: fdisk/fdisk.c:397 fdisk/fdisk.c:416 fdisk/fdisk.c:427 fdisk/fdisk.c:441
+msgid "   s   create a new empty Sun disklabel"
+msgstr "   s   створити нову порожню Sun етикетку диску"
+
+#: fdisk/fdisk.c:398 fdisk/fdisk.c:417 fdisk/fdisk.c:442
+msgid "   t   change a partition's system id"
+msgstr "   t   змінити системний ідентифікатор розділу"
+
+#: fdisk/fdisk.c:399 fdisk/fdisk.c:418 fdisk/fdisk.c:443
+msgid "   u   change display/entry units"
+msgstr "   u   змінити одиниці відображення/вводу"
+
+#: fdisk/fdisk.c:400 fdisk/fdisk.c:419 fdisk/fdisk.c:444 fdisk/fdisk.c:466
+#: fdisk/fdisk.c:483 fdisk/fdisk.c:499 fdisk/fdisk.c:517
+msgid "   v   verify the partition table"
+msgstr "   v   перевірити таблицю розділів"
+
+#: fdisk/fdisk.c:401 fdisk/fdisk.c:420 fdisk/fdisk.c:445 fdisk/fdisk.c:467
+#: fdisk/fdisk.c:484 fdisk/fdisk.c:500 fdisk/fdisk.c:518
+msgid "   w   write table to disk and exit"
+msgstr "   w   записати таблицю на диск та вийти"
+
+#: fdisk/fdisk.c:402 fdisk/fdisk.c:446
+msgid "   x   extra functionality (experts only)"
+msgstr "   x   додаткова функціональність (для фахівців)"
+
+#: fdisk/fdisk.c:406
+msgid "   a   select bootable partition"
+msgstr "   a   вибрати завантажувальний розділ"
+
+#: fdisk/fdisk.c:407
+msgid "   b   edit bootfile entry"
+msgstr "   b   редагувати елемент завантажувального файлу"
+
+#: fdisk/fdisk.c:408
+msgid "   c   select sgi swap partition"
+msgstr "   c   вибрати sgi розділ підкачки"
+
+#: fdisk/fdisk.c:431
+msgid "   a   toggle a bootable flag"
+msgstr "   a   перемикнути ознаку завантаження"
+
+#: fdisk/fdisk.c:433
+msgid "   c   toggle the dos compatibility flag"
+msgstr "   c   перемикнути ознаку сумісності з dos"
+
+#: fdisk/fdisk.c:454
+msgid "   a   change number of alternate cylinders"
+msgstr "   a   змінити кількість запасних циліндрів"
+
+#: fdisk/fdisk.c:455 fdisk/fdisk.c:473 fdisk/fdisk.c:489 fdisk/fdisk.c:505
+msgid "   c   change number of cylinders"
+msgstr "   c   змінити кількість циліндрів"
+
+#: fdisk/fdisk.c:456 fdisk/fdisk.c:474 fdisk/fdisk.c:490 fdisk/fdisk.c:506
+msgid "   d   print the raw data in the partition table"
+msgstr "   d   вивести таблицю розділів у не форматованому вигляді"
+
+#: fdisk/fdisk.c:457
+msgid "   e   change number of extra sectors per cylinder"
+msgstr "   e  змінити кількість додаткових секторів на циліндр"
+
+#: fdisk/fdisk.c:458 fdisk/fdisk.c:477 fdisk/fdisk.c:493 fdisk/fdisk.c:510
+msgid "   h   change number of heads"
+msgstr "   h   змінити кількість головок"
+
+#: fdisk/fdisk.c:459
+msgid "   i   change interleave factor"
+msgstr "   i   змінити фактор чергування"
+
+#: fdisk/fdisk.c:460
+msgid "   o   change rotation speed (rpm)"
+msgstr "   o   змінити швидкість обертання (rpm)"
+
+#: fdisk/fdisk.c:465 fdisk/fdisk.c:482 fdisk/fdisk.c:498 fdisk/fdisk.c:516
+msgid "   s   change number of sectors/track"
+msgstr "   s   змінити кількість секторів/доріжку"
+
+#: fdisk/fdisk.c:468
+msgid "   y   change number of physical cylinders"
+msgstr "   y   змінити кількість фізичних циліндрів"
+
+#: fdisk/fdisk.c:472 fdisk/fdisk.c:488 fdisk/fdisk.c:504
+msgid "   b   move beginning of data in a partition"
+msgstr "   b   перемістити початок даних розділу"
+
+#: fdisk/fdisk.c:475 fdisk/fdisk.c:491 fdisk/fdisk.c:507
+msgid "   e   list extended partitions"
+msgstr "   e   вивести список розширених розділів"
+
+#: fdisk/fdisk.c:476 fdisk/fdisk.c:492 fdisk/fdisk.c:509
+msgid "   g   create an IRIX (SGI) partition table"
+msgstr "   g   створити IRIX (SGI) таблицю розділів"
+
+#: fdisk/fdisk.c:508
+msgid "   f   fix partition order"
+msgstr "   f   виправити порядок розділів"
+
+#: fdisk/fdisk.c:511
+#, fuzzy
+msgid "   i   change the disk identifier"
+msgstr "   u   змінити одиниці відображення/вводу"
+
+#: fdisk/fdisk.c:627
+#, c-format
+msgid "You must set"
+msgstr "Необхідно встановити"
+
+#: fdisk/fdisk.c:644
+msgid "heads"
+msgstr "головки"
+
+#: fdisk/fdisk.c:646 fdisk/fdisk.c:1357 fdisk/sfdisk.c:945
+msgid "sectors"
+msgstr "сектори"
+
+#: fdisk/fdisk.c:652
+#, c-format
+msgid ""
+"%s%s.\n"
+"You can do this from the extra functions menu.\n"
+msgstr ""
+"%s%s.\n"
+"Ви можете зробити це з меню додаткових функцій.\n"
+
+#: fdisk/fdisk.c:653
+msgid " and "
+msgstr " та "
+
+#: fdisk/fdisk.c:670
+#, c-format
+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"
+
+#: fdisk/fdisk.c:683
+#, 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 %d-byte sectors. Use parted(1) and GUID \n"
+"partition table format (GPT).\n"
+"\n"
+msgstr ""
+
+#: fdisk/fdisk.c:708
+#, c-format
+msgid "Bad offset in primary extended partition\n"
+msgstr "Неправильний зсув у головному розширеному розділі\n"
+
+#: fdisk/fdisk.c:722
+#, c-format
+msgid ""
+"Warning: omitting partitions after #%d.\n"
+"They will be deleted if you save this partition table.\n"
+msgstr ""
+"Попередження: розділи після #%d пропускаються.\n"
+"Вони будуть видалені, якщо ви збережете цю таблицю розділів.\n"
+
+#: fdisk/fdisk.c:741
+#, c-format
+msgid "Warning: extra link pointer in partition table %d\n"
+msgstr "Попередження: додатковий вказівник у таблиці розділів %d\n"
+
+#: fdisk/fdisk.c:749
+#, c-format
+msgid "Warning: ignoring extra data in partition table %d\n"
+msgstr "Попередження: додаткові дані у таблиці розділів проігноровано %d\n"
+
+#: fdisk/fdisk.c:782
+#, fuzzy, c-format
+msgid "omitting empty partition (%d)\n"
+msgstr "Попередження: порожній розділ\n"
+
+#: fdisk/fdisk.c:801
+#, c-format
+msgid "Disk identifier: 0x%08x\n"
+msgstr ""
+
+#: fdisk/fdisk.c:810
+#, c-format
+msgid "New disk identifier (current 0x%08x): "
+msgstr ""
+
+#: fdisk/fdisk.c:829
+#, fuzzy, c-format
+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"
+
+#: fdisk/fdisk.c:861
+#, c-format
+msgid "Note: sector size is %d (not %d)\n"
+msgstr "Примітка: розмір сектору %d (не %d)\n"
+
+#: fdisk/fdisk.c:990
+#, c-format
+msgid "You will not be able to write the partition table.\n"
+msgstr "Ви не зможете записати таблицю розділів.\n"
+
+#: fdisk/fdisk.c:1022
+#, c-format
+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"
+
+#: fdisk/fdisk.c:1032
+#, c-format
+msgid ""
+"Device contains neither a valid DOS partition table, nor Sun, SGI or OSF "
+"disklabel\n"
+msgstr ""
+"Пристрій не містить ані правильної DOS таблиці розділів, ані Sun, SGI чи OSF "
+"етикетки диску\n"
+
+#: fdisk/fdisk.c:1049
+#, c-format
+msgid "Internal error\n"
+msgstr "Внутрішня помилка\n"
+
+#: fdisk/fdisk.c:1062
+#, c-format
+msgid "Ignoring extra extended partition %d\n"
+msgstr "Додаткові розширені розділи ігноруються %d\n"
+
+#: fdisk/fdisk.c:1074
+#, 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"
+
+#: fdisk/fdisk.c:1096
+#, c-format
+msgid ""
+"\n"
+"got EOF thrice - exiting..\n"
+msgstr ""
+"\n"
+"тричі отримано EOF - завершення..\n"
+
+#: fdisk/fdisk.c:1135
+msgid "Hex code (type L to list codes): "
+msgstr "Шістнадцятковий код (наберіть L щоб переглянути перелік кодів)"
+
+#: fdisk/fdisk.c:1175
+#, c-format
+msgid "%s (%u-%u, default %u): "
+msgstr "%s (%u-%u, типово %u): "
+
+#: fdisk/fdisk.c:1242
+#, c-format
+msgid "Unsupported suffix: '%s'.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1243
+#, c-format
+msgid ""
+"Supported: 10^N: KB (KiloByte), MB (MegaByte), GB (GigaByte)\n"
+"            2^N: K  (KibiByte), M  (MebiByte), G  (GibiByte)\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1269
+#, c-format
+msgid "Using default value %u\n"
+msgstr "Використовується типове значення %u\n"
+
+#: fdisk/fdisk.c:1273
+#, c-format
+msgid "Value out of range.\n"
+msgstr "Значення за межами діапазону.\n"
+
+#: fdisk/fdisk.c:1283
+msgid "Partition number"
+msgstr "Номер розділу"
+
+#: fdisk/fdisk.c:1294
+#, c-format
+msgid "Warning: partition %d has empty type\n"
+msgstr "Попередження: розділ %d має порожнє поле типу\n"
+
+#: fdisk/fdisk.c:1316 fdisk/fdisk.c:1342
+#, c-format
+msgid "Selected partition %d\n"
+msgstr "Вибраний розділ %d\n"
+
+#: fdisk/fdisk.c:1319
+#, c-format
+msgid "No partition is defined yet!\n"
+msgstr "Ще не визначено жодного розділу!\n"
+
+#: fdisk/fdisk.c:1345
+#, c-format
+msgid "All primary partitions have been defined already!\n"
+msgstr "Всі первинні розділи вже були визначені!\n"
+
+#: fdisk/fdisk.c:1355
+msgid "cylinder"
+msgstr "циліндр"
+
+#: fdisk/fdisk.c:1355
+msgid "sector"
+msgstr "сектор"
+
+#: fdisk/fdisk.c:1364
+#, c-format
+msgid "Changing display/entry units to %s\n"
+msgstr "Змінюються одиниці відображення/вводу на %s\n"
+
+#: fdisk/fdisk.c:1375
+#, c-format
+msgid "WARNING: Partition %d is an extended partition\n"
+msgstr "УВАГА: Розділ %d є розширеним розділом\n"
+
+#: fdisk/fdisk.c:1386
+#, c-format
+msgid "DOS Compatibility flag is set\n"
+msgstr "Ознаку сумісності з DOS встановлено\n"
+
+#: fdisk/fdisk.c:1390
+#, c-format
+msgid "DOS Compatibility flag is not set\n"
+msgstr "Ознаку сумісності з DOS не встановлено\n"
+
+#: fdisk/fdisk.c:1490
+#, c-format
+msgid "Partition %d does not exist yet!\n"
+msgstr "Розділ %d ще не існує!\n"
+
+#: fdisk/fdisk.c:1495
+#, 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"
+
+#: fdisk/fdisk.c:1504
+#, c-format
+msgid ""
+"You cannot change a partition into an extended one or vice versa\n"
+"Delete it first.\n"
+msgstr ""
+"Не можна перетворювати первинний розділ у розширений, або навпаки\n"
+"Спочатку видаліть його.\n"
+
+#: fdisk/fdisk.c:1513
+#, 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"
+
+#: fdisk/fdisk.c:1519
+#, 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"
+
+#: fdisk/fdisk.c:1536
+#, c-format
+msgid "Changed system type of partition %d to %x (%s)\n"
+msgstr "Змінено тип системи розділу %d на %x (%s)\n"
+
+#: fdisk/fdisk.c:1539
+#, fuzzy, c-format
+msgid "System type of partition %d is unchanged: %x (%s)\n"
+msgstr "Змінено тип системи розділу %d на %x (%s)\n"
+
+#: fdisk/fdisk.c:1591
+#, c-format
+msgid "Partition %d has different physical/logical beginnings (non-Linux?):\n"
+msgstr "У розділу %d відрізняються фізичний та логічний початок (не-Linux?):\n"
+
+#: fdisk/fdisk.c:1593 fdisk/fdisk.c:1601 fdisk/fdisk.c:1610 fdisk/fdisk.c:1620
+#, c-format
+msgid "     phys=(%d, %d, %d) "
+msgstr "     фіз=(%d, %d, %d) "
+
+#: fdisk/fdisk.c:1594 fdisk/fdisk.c:1602
+#, c-format
+msgid "logical=(%d, %d, %d)\n"
+msgstr "логічний=(%d, %d, %d)\n"
+
+#: fdisk/fdisk.c:1599
+#, c-format
+msgid "Partition %d has different physical/logical endings:\n"
+msgstr "У розділу %d відрізняються фізичний та логічний кінці:\n"
+
+#: fdisk/fdisk.c:1608
+#, c-format
+msgid "Partition %i does not start on cylinder boundary:\n"
+msgstr "Розділ %i не починається на межі циліндру:\n"
+
+#: fdisk/fdisk.c:1611
+#, c-format
+msgid "should be (%d, %d, 1)\n"
+msgstr "повинно бути (%d, %d, 1)\n"
+
+#: fdisk/fdisk.c:1617
+#, c-format
+msgid "Partition %i does not end on cylinder boundary.\n"
+msgstr "Розділ %i не закінчується на межі циліндру.\n"
+
+#: fdisk/fdisk.c:1621
+#, c-format
+msgid "should be (%d, %d, %d)\n"
+msgstr "повинно бути (%d, %d, %d)\n"
+
+#: fdisk/fdisk.c:1633
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld MB, %lld bytes\n"
+msgstr ""
+"\n"
+"Диск %s: %ld Мб, %lld байт\n"
+
+#: fdisk/fdisk.c:1637
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld.%ld GB, %lld bytes\n"
+msgstr ""
+"\n"
+"Диск %s: %ld.%ld Гб, %lld байт\n"
+
+#: fdisk/fdisk.c:1640
+#, fuzzy, c-format
+msgid "%d heads, %llu sectors/track, %d cylinders"
+msgstr "%d головок, %d секторів/доріжку, %d циліндрів"
+
+#: fdisk/fdisk.c:1643
+#, c-format
+msgid ", total %llu sectors"
+msgstr ", загалом %llu секторів"
+
+#: fdisk/fdisk.c:1646
+#, fuzzy, c-format
+msgid "Units = %s of %d * %d = %d bytes\n"
+msgstr ""
+"Одиниці виміру = %s з %d * %d = %d байт\n"
+"\n"
+
+#: fdisk/fdisk.c:1757
+#, c-format
+msgid ""
+"Nothing to do. Ordering is correct already.\n"
+"\n"
+msgstr ""
+"Немає що робити. Порядок вже коректний.\n"
+"\n"
+
+#: fdisk/fdisk.c:1785
+#, fuzzy, c-format
+msgid "Done.\n"
+msgstr ""
+"Виконано\n"
+"\n"
+
+#: fdisk/fdisk.c:1813
+#, c-format
+msgid ""
+"This doesn't look like a partition table\n"
+"Probably you selected the wrong device.\n"
+"\n"
+msgstr ""
+"Не схоже на таблицю розділів\n"
+"Можливо ви вибрали неправильний пристрій.\n"
+"\n"
+
+#: fdisk/fdisk.c:1826
+#, c-format
+msgid "%*s Boot      Start         End      Blocks   Id  System\n"
+msgstr "%*s Завант  Початок     Кінець     Блоків  Ід  Система\n"
+
+#: fdisk/fdisk.c:1827 fdisk/fdisksgilabel.c:223 fdisk/fdisksunlabel.c:603
+msgid "Device"
+msgstr "Пристрій"
+
+#: fdisk/fdisk.c:1864
+#, c-format
+msgid ""
+"\n"
+"Partition table entries are not in disk order\n"
+msgstr ""
+"\n"
+"Елементи таблиці розділів не у тому порядку, як на диску\n"
+
+#: fdisk/fdisk.c:1874
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %d cylinders\n"
+"\n"
+msgstr ""
+"\n"
+"Диск %s: %d головок, %d секторів, %d циліндрів\n"
+"\n"
+
+#: fdisk/fdisk.c:1876
+#, c-format
+msgid "Nr AF  Hd Sec  Cyl  Hd Sec  Cyl     Start      Size ID\n"
+msgstr "№ Акт Гол Сек Цил Гол Сек  Цил  Початок   Розмір Ід\n"
+
+#: fdisk/fdisk.c:1922
+#, c-format
+msgid "Warning: partition %d contains sector 0\n"
+msgstr "Попередження: розділ %d містить нульовий сектор\n"
+
+#: fdisk/fdisk.c:1925
+#, c-format
+msgid "Partition %d: head %d greater than maximum %d\n"
+msgstr "Розділ %d: головка %d перевищує максимум %d\n"
+
+#: fdisk/fdisk.c:1928
+#, fuzzy, c-format
+msgid "Partition %d: sector %d greater than maximum %llu\n"
+msgstr "Розділ %d: сектор %d перевищує максимум %d\n"
+
+#: fdisk/fdisk.c:1931
+#, c-format
+msgid "Partitions %d: cylinder %d greater than maximum %d\n"
+msgstr "Розділ %d: циліндр %d перевищує максимум %d\n"
+
+#: fdisk/fdisk.c:1935
+#, c-format
+msgid "Partition %d: previous sectors %d disagrees with total %d\n"
+msgstr ""
+"Розділ %d: кількість попередніх секторів %d відрізняється від загальної %d\n"
+
+#: fdisk/fdisk.c:1968
+#, c-format
+msgid "Warning: bad start-of-data in partition %d\n"
+msgstr "Попередження: неправильна область початку даних у розділі %d\n"
+
+#: fdisk/fdisk.c:1976
+#, c-format
+msgid "Warning: partition %d overlaps partition %d.\n"
+msgstr "Попередження: розділ %d перекривається з розділом %d.\n"
+
+#: fdisk/fdisk.c:1996
+#, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr "Попередження: розділ %d порожній\n"
+
+#: fdisk/fdisk.c:2001
+#, c-format
+msgid "Logical partition %d not entirely in partition %d\n"
+msgstr "Логічний розділ %d не вміщується цілком у розділ %d\n"
+
+#: fdisk/fdisk.c:2007
+#, fuzzy, c-format
+msgid "Total allocated sectors %llu greater than the maximum %llu\n"
+msgstr "Загальна кількість розподілених секторів %d перевищує максимум %lld\n"
+
+#: fdisk/fdisk.c:2010
+#, fuzzy, c-format
+msgid "%lld unallocated %d-byte sectors\n"
+msgstr "%lld нерозподілених секторів\n"
+
+#: fdisk/fdisk.c:2025 fdisk/fdisksgilabel.c:633 fdisk/fdisksunlabel.c:416
+#, c-format
+msgid "Partition %d is already defined.  Delete it before re-adding it.\n"
+msgstr "Розділ %d вже визначений.  Видаліть його перед повторним додаванням.\n"
+
+#: fdisk/fdisk.c:2067
+#, fuzzy, c-format
+msgid "Sector %llu is already allocated\n"
+msgstr "Сектор %d вже розподілений\n"
+
+#: fdisk/fdisk.c:2103
+#, c-format
+msgid "No free sectors available\n"
+msgstr "Немає наявних вільних секторів\n"
+
+#: fdisk/fdisk.c:2112
+#, c-format
+msgid "Last %1$s, +%2$s or +size{K,M,G}"
+msgstr ""
+
+#: fdisk/fdisk.c:2178
+#, 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"
+
+#: fdisk/fdisk.c:2187
+#, 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 не підтримує AIX етикетки диску.\n"
+"\tЯкщо ви бажаєте додати DOS розділи, створіть спочатку нову\n"
+"\tDOS таблицю розділів. (Використовуйте команду o.)\n"
+"\tЗАСТЕРЕЖЕННЯ: Це призведе до знищення поточного вмісту диску.\n"
+
+#: fdisk/fdisk.c:2207
+#, c-format
+msgid "You must delete some partition and add an extended partition first\n"
+msgstr ""
+"Спочатку необхідно видалити деякий розділ та додати розширений розділ\n"
+
+#: fdisk/fdisk.c:2210
+#, c-format
+msgid "All logical partitions are in use\n"
+msgstr "Усі логічні розділи зайняті\n"
+
+#: fdisk/fdisk.c:2211
+#, c-format
+msgid "Adding a primary partition\n"
+msgstr "Додається первинний розділ\n"
+
+#: fdisk/fdisk.c:2216
+#, c-format
+msgid ""
+"Command action\n"
+"   %s\n"
+"   p   primary partition (1-4)\n"
+msgstr ""
+"Команда дія\n"
+"   %s\n"
+"   p   первинний розділ (1-4)\n"
+
+#: fdisk/fdisk.c:2218
+msgid "l   logical (5 or over)"
+msgstr "l   логічний (5 або більше)"
+
+#: fdisk/fdisk.c:2218
+msgid "e   extended"
+msgstr "e   розширений"
+
+#: fdisk/fdisk.c:2237
+#, c-format
+msgid "Invalid partition number for type `%c'\n"
+msgstr "Неправильний номер розділу для типу `%c'\n"
+
+#: fdisk/fdisk.c:2273
+#, c-format
+msgid ""
+"The partition table has been altered!\n"
+"\n"
+msgstr ""
+"Таблиця розділів була змінена!\n"
+"\n"
+
+#: fdisk/fdisk.c:2287
+#, c-format
+msgid "Calling ioctl() to re-read partition table.\n"
+msgstr "Викликається ioctl(), щоб перечитати таблицю розділів.\n"
+
+#: fdisk/fdisk.c:2296
+#, fuzzy, c-format
+msgid ""
+"\n"
+"WARNING: Re-reading the partition table failed with error %d: %s.\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"
+
+#: fdisk/fdisk.c:2304
+#, 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"
+
+#: fdisk/fdisk.c:2310
+#, c-format
+msgid ""
+"\n"
+"Error closing file\n"
+msgstr ""
+"\n"
+"Помилка закривання файлу\n"
+
+#: fdisk/fdisk.c:2314
+#, c-format
+msgid "Syncing disks.\n"
+msgstr "Синхронізація дисків.\n"
+
+#: fdisk/fdisk.c:2361
+#, c-format
+msgid "Partition %d has no data area\n"
+msgstr "Розділ %d не має області даних\n"
+
+#: fdisk/fdisk.c:2366
+msgid "New beginning of data"
+msgstr "Новий початок даних"
+
+#: fdisk/fdisk.c:2382
+msgid "Expert command (m for help): "
+msgstr "Команди експертного режиму(m - довідка): "
+
+#: fdisk/fdisk.c:2395
+msgid "Number of cylinders"
+msgstr "Кількість циліндрів"
+
+#: fdisk/fdisk.c:2422
+msgid "Number of heads"
+msgstr "Кількість головок"
+
+#: fdisk/fdisk.c:2449
+msgid "Number of sectors"
+msgstr "Кількість секторів"
+
+#: fdisk/fdisk.c:2452
+#, c-format
+msgid "Warning: setting sector offset for DOS compatiblity\n"
+msgstr "Попередження: встановлюється зсув сектору для сумісності з DOS\n"
+
+#: fdisk/fdisk.c:2511
+#, 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 ""
+
+#: fdisk/fdisk.c:2533
+#, c-format
+msgid "Disk %s doesn't contain a valid partition table\n"
+msgstr "Диск %s не містить правильної таблиці розділів\n"
+
+#: fdisk/fdisk.c:2544
+#, c-format
+msgid "Cannot open %s\n"
+msgstr "не вдається відкрити %s\n"
+
+#: fdisk/fdisk.c:2563 fdisk/sfdisk.c:2618
+#, c-format
+msgid "cannot open %s\n"
+msgstr "не вдається відкрити %s\n"
+
+#: fdisk/fdisk.c:2583
+#, c-format
+msgid "%c: unknown command\n"
+msgstr "%c: невідома команда\n"
+
+#: fdisk/fdisk.c:2653
+#, c-format
+msgid "This kernel finds the sector size itself - -b option ignored\n"
+msgstr ""
+"Це ядро визначає розмір сектору саме, тому -b параметри проігноровано\n"
+
+#: fdisk/fdisk.c:2657
+#, c-format
+msgid ""
+"Warning: the -b (set sector size) option should be used with one specified "
+"device\n"
+msgstr ""
+"Попередження: з вказаним пристроєм повинен використовуватись параметр -b "
+"(встановити розмір сектора)\n"
+
+#: fdisk/fdisk.c:2717
+#, c-format
+msgid "Detected an OSF/1 disklabel on %s, entering disklabel mode.\n"
+msgstr "Знайдено OSF/1 етикетку диску на %s, перехід у режим етикетки диску.\n"
+
+#: fdisk/fdisk.c:2727
+msgid "Command (m for help): "
+msgstr "Команда (m - довідка): "
+
+#: fdisk/fdisk.c:2743
+#, c-format
+msgid ""
+"\n"
+"The current boot file is: %s\n"
+msgstr ""
+"\n"
+"Поточний файл завантаження: %s\n"
+
+#: fdisk/fdisk.c:2745
+msgid "Please enter the name of the new boot file: "
+msgstr "Введіть назву нового файлу завантаження: "
+
+#: fdisk/fdisk.c:2747
+#, c-format
+msgid "Boot file unchanged\n"
+msgstr "Файл завантаження не змінено\n"
+
+#: fdisk/fdisk.c:2820
+#, c-format
+msgid ""
+"\n"
+"\tSorry, no experts menu for SGI partition tables available.\n"
+"\n"
+msgstr ""
+"\n"
+"\tПробачте, меню для фахівців недоступне для SGI таблиці розділів.\n"
+"\n"
+
+#: fdisk/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"
+"\t1. fdisk знищить вміст при запису.\n"
+"\t2. Перевірте, що цей диск НЕ є життєво\n"
+"\t   необхідною частиною групи томів. (У іншому випадку\n"
+"\t   також можна стерти інші диски.)\n"
+"\t3. Перед видаленням цього фізичного тому переконайтесь що\n"
+"\t   диско логічно видалений з AIX\n"
+"\t   системи.  (У іншому випадку ви станете фахівцем з AIX)."
+
+#: fdisk/fdisksgilabel.c:81
+msgid "SGI volhdr"
+msgstr "SGI volhdr"
+
+#: fdisk/fdisksgilabel.c:82
+msgid "SGI trkrepl"
+msgstr "SGI trkrepl"
+
+#: fdisk/fdisksgilabel.c:83
+msgid "SGI secrepl"
+msgstr "SGI secrepl"
+
+#: fdisk/fdisksgilabel.c:84
+msgid "SGI raw"
+msgstr "SGI raw"
+
+#: fdisk/fdisksgilabel.c:85
+msgid "SGI bsd"
+msgstr "SGI bsd"
+
+#: fdisk/fdisksgilabel.c:86
+msgid "SGI sysv"
+msgstr "SGI sysv"
+
+#: fdisk/fdisksgilabel.c:87
+msgid "SGI volume"
+msgstr "SGI том"
+
+#: fdisk/fdisksgilabel.c:88
+msgid "SGI efs"
+msgstr "SGI efs"
+
+#: fdisk/fdisksgilabel.c:89
+msgid "SGI lvol"
+msgstr "SGI lvol"
+
+#: fdisk/fdisksgilabel.c:90
+msgid "SGI rlvol"
+msgstr "SGI rlvol"
+
+#: fdisk/fdisksgilabel.c:91
+msgid "SGI xfs"
+msgstr "SGI xfs"
+
+#: fdisk/fdisksgilabel.c:92
+msgid "SGI xfslog"
+msgstr "SGI xfslog"
+
+#: fdisk/fdisksgilabel.c:93
+msgid "SGI xlv"
+msgstr "SGI xlv"
+
+#: fdisk/fdisksgilabel.c:94
+msgid "SGI xvm"
+msgstr "SGI xvm"
+
+#: fdisk/fdisksgilabel.c:95 fdisk/fdisksunlabel.c:55
+msgid "Linux swap"
+msgstr "Linux swap"
+
+#: fdisk/fdisksgilabel.c:96 fdisk/fdisksunlabel.c:56
+msgid "Linux native"
+msgstr "Linux native"
+
+#: fdisk/fdisksgilabel.c:97 fdisk/fdisksunlabel.c:57 fdisk/i386_sys_types.c:63
+msgid "Linux LVM"
+msgstr "Linux LVM"
+
+#: fdisk/fdisksgilabel.c:98
+msgid "Linux RAID"
+msgstr "Linux RAID"
+
+#: fdisk/fdisksgilabel.c:164
+#, 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"
+
+#: fdisk/fdisksgilabel.c:183
+#, c-format
+msgid "Detected sgi disklabel with wrong checksum.\n"
+msgstr "Знайдено sgi етикетку диска з неправильною контрольною сумою.\n"
+
+#: fdisk/fdisksgilabel.c:201
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors\n"
+"%d cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * %d bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Диск %s (SGI етикетка диску): %d головок, %d секторів\n"
+"%d циліндрів, %d фізичних циліндрів\n"
+"%d додаткових секторів/цил, чергування %d:1\n"
+"%s\n"
+"Одиниці виміру = %s з %d * %d байт\n"
+"\n"
+
+#: fdisk/fdisksgilabel.c:214
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors, %d cylinders\n"
+"Units = %s of %d * %d bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Диск %s (SGI етикетка диску): %d головок, %d секторів, %d циліндрів\n"
+"Одиниці виміру = %s з %d * %d байт\n"
+"\n"
+
+#: fdisk/fdisksgilabel.c:221
+#, c-format
+msgid ""
+"----- partitions -----\n"
+"Pt# %*s  Info     Start       End   Sectors  Id  System\n"
+msgstr ""
+"----- розділи -----\n"
+"Рзд# %*s  Інфо   Початок    Кінець  Секторів  Ід  Система\n"
+
+#: fdisk/fdisksgilabel.c:243
+#, c-format
+msgid ""
+"----- Bootinfo -----\n"
+"Bootfile: %s\n"
+"----- Directory Entries -----\n"
+msgstr ""
+"----- Завантажувальна інформація -----\n"
+"Завантажувальний файл: %s\n"
+"----- Елементи каталогу -----\n"
+
+#: fdisk/fdisksgilabel.c:251
+#, c-format
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr "%2d: %-10s сектор%5u розмір%8u\n"
+
+#: fdisk/fdisksgilabel.c:305
+#, 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"
+
+#: fdisk/fdisksgilabel.c:311
+#, c-format
+msgid ""
+"\n"
+"\tName of Bootfile too long:  16 bytes maximum.\n"
+msgstr ""
+"\n"
+"\tНазва завантажувального файлу надто велика:  максимум 16 байт.\n"
+
+#: fdisk/fdisksgilabel.c:316
+#, c-format
+msgid ""
+"\n"
+"\tBootfile must have a fully qualified pathname.\n"
+msgstr ""
+"\n"
+"\tЗавантажувальний файл повинен мати абсолютний шлях.\n"
+
+#: fdisk/fdisksgilabel.c:323
+#, 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"
+
+#: fdisk/fdisksgilabel.c:349
+#, c-format
+msgid ""
+"\n"
+"\tBootfile is changed to \"%s\".\n"
+msgstr ""
+"\n"
+"\tЗавантажувальний файл змінено на \"%s\".\n"
+
+#: fdisk/fdisksgilabel.c:439
+#, c-format
+msgid "More than one entire disk entry present.\n"
+msgstr "Присутній більш ніж один елемент диску.\n"
+
+#: fdisk/fdisksgilabel.c:446 fdisk/fdisksunlabel.c:388
+#, c-format
+msgid "No partitions defined\n"
+msgstr "Не визначено розділів\n"
+
+#: fdisk/fdisksgilabel.c:452
+#, c-format
+msgid "IRIX likes when Partition 11 covers the entire disk.\n"
+msgstr "IRIX покладається на те, що розділ 11 займає весь диск.\n"
+
+#: fdisk/fdisksgilabel.c:454
+#, c-format
+msgid ""
+"The entire disk partition should start at block 0,\n"
+"not at diskblock %d.\n"
+msgstr ""
+"Розділ на весь диск повинен починатись з блоку 0,\n"
+"а не з блоку диску %d.\n"
+
+#: fdisk/fdisksgilabel.c:460
+#, 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"
+
+#: fdisk/fdisksgilabel.c:466
+#, c-format
+msgid "One Partition (#11) should cover the entire disk.\n"
+msgstr "Розділ (#11) повинен займати весь диск.\n"
+
+#: fdisk/fdisksgilabel.c:476
+#, c-format
+msgid "Partition %d does not start on cylinder boundary.\n"
+msgstr "Розділ %d не починається з межі циліндру.\n"
+
+#: fdisk/fdisksgilabel.c:482
+#, c-format
+msgid "Partition %d does not end on cylinder boundary.\n"
+msgstr "Розділ %d не закінчується на межі циліндру.\n"
+
+#: fdisk/fdisksgilabel.c:489
+#, c-format
+msgid "The Partition %d and %d overlap by %d sectors.\n"
+msgstr "Розділи %d та %d перекриваються на %d секторів.\n"
+
+#: fdisk/fdisksgilabel.c:497 fdisk/fdisksgilabel.c:515
+#, c-format
+msgid "Unused gap of %8u sectors - sectors %8u-%u\n"
+msgstr "Невикористаний простір з %8u секторів - сектори %8u-%u\n"
+
+#: fdisk/fdisksgilabel.c:526
+#, c-format
+msgid ""
+"\n"
+"The boot partition does not exist.\n"
+msgstr ""
+"\n"
+"Завантажувальний розділ не існує.\n"
+
+#: fdisk/fdisksgilabel.c:529
+#, c-format
+msgid ""
+"\n"
+"The swap partition does not exist.\n"
+msgstr ""
+"\n"
+"Розділ підкачки не існує.\n"
+
+#: fdisk/fdisksgilabel.c:533
+#, c-format
+msgid ""
+"\n"
+"The swap partition has no swap type.\n"
+msgstr ""
+"\n"
+"Розділ підкачки має тип не підкачки.\n"
+
+#: fdisk/fdisksgilabel.c:536
+#, c-format
+msgid "\tYou have chosen an unusual boot file name.\n"
+msgstr "\tВи вибрали незвичайну назву файлу завантаження.\n"
+
+#: fdisk/fdisksgilabel.c:545
+#, c-format
+msgid "Sorry You may change the Tag of non-empty partitions.\n"
+msgstr "Пробачте, Ви можете змінити тег не-порожніх розділів.\n"
+
+#: fdisk/fdisksgilabel.c:551
+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"
+
+#: fdisk/fdisksgilabel.c:556 fdisk/fdisksunlabel.c:554
+msgid "YES\n"
+msgstr "YES\n"
+
+#: fdisk/fdisksgilabel.c:581
+#, c-format
+msgid "Do You know, You got a partition overlap on the disk?\n"
+msgstr "Ви знаєте, що на диску є розділи, що перекриваються?\n"
+
+#: fdisk/fdisksgilabel.c:639
+#, c-format
+msgid "Attempting to generate entire disk entry automatically.\n"
+msgstr "Спроба створити весь диск автоматично.\n"
+
+#: fdisk/fdisksgilabel.c:644
+#, c-format
+msgid "The entire disk is already covered with partitions.\n"
+msgstr "Весь диск вже зайнятий розділами.\n"
+
+#: fdisk/fdisksgilabel.c:648
+#, c-format
+msgid "You got a partition overlap on the disk. Fix it first!\n"
+msgstr "На диску є розділи, що перекриваються. Спочатку виправте це!\n"
+
+#: fdisk/fdisksgilabel.c:657 fdisk/fdisksgilabel.c:686
+#, 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"
+
+#: fdisk/fdisksgilabel.c:673
+#, c-format
+msgid "You will get a partition overlap on the disk. Fix it first!\n"
+msgstr "Ваші розділи на диску будуть перекриватись. Виправте це!\n"
+
+#: fdisk/fdisksgilabel.c:678
+#, c-format
+msgid " Last %s"
+msgstr " Останній %s"
+
+#: fdisk/fdisksgilabel.c:708
+#, c-format
+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"
+
+#: fdisk/fdisksgilabel.c:731 fdisk/fdisksunlabel.c:227
+#, c-format
+msgid ""
+"Warning:  BLKGETSIZE ioctl failed on %s.  Using geometry cylinder value of %"
+"d.\n"
+"This value may be truncated for devices > 33.8 GB.\n"
+msgstr ""
+"Попередження: BLKGETSIZE ioctl завершився аварійно на %s. Використовується "
+"значення геометрії циліндру %d.\n"
+"Це значення може бути відсічене для пристроїв > 33.8 ГБ.\n"
+
+#: fdisk/fdisksgilabel.c:745
+#, c-format
+msgid "Trying to keep parameters of partition %d.\n"
+msgstr "Спроба зберегти параметри розділу %d.\n"
+
+#: fdisk/fdisksgilabel.c:747
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr "ІД=%02x\tПОЧАТОК=%d\tДОВЖИНА=%d\n"
+
+#: fdisk/fdisksunlabel.c:43
+msgid "Unassigned"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:45
+msgid "SunOS root"
+msgstr "SunOS root"
+
+#: fdisk/fdisksunlabel.c:46
+msgid "SunOS swap"
+msgstr "SunOS swap"
+
+#: fdisk/fdisksunlabel.c:47
+msgid "SunOS usr"
+msgstr "SunOS usr"
+
+#: fdisk/fdisksunlabel.c:48
+msgid "Whole disk"
+msgstr "Весь диск"
+
+#: fdisk/fdisksunlabel.c:49
+msgid "SunOS stand"
+msgstr "SunOS stand"
+
+#: fdisk/fdisksunlabel.c:50
+msgid "SunOS var"
+msgstr "SunOS var"
+
+#: fdisk/fdisksunlabel.c:51
+msgid "SunOS home"
+msgstr "SunOS home"
+
+#: fdisk/fdisksunlabel.c:52
+#, fuzzy
+msgid "SunOS alt sectors"
+msgstr "%lld нерозподілених секторів\n"
+
+#: fdisk/fdisksunlabel.c:53
+#, fuzzy
+msgid "SunOS cachefs"
+msgstr "SunOS home"
+
+#: fdisk/fdisksunlabel.c:54
+#, fuzzy
+msgid "SunOS reserved"
+msgstr "SunOS usr"
+
+#: fdisk/fdisksunlabel.c:58 fdisk/i386_sys_types.c:103
+msgid "Linux raid autodetect"
+msgstr "Linux raid autodetect"
+
+#: fdisk/fdisksunlabel.c:141
+#, 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"
+
+#: fdisk/fdisksunlabel.c:153
+#, fuzzy, c-format
+msgid "Detected sun disklabel with wrong version [0x%08x].\n"
+msgstr "Знайдено sgi етикетку диска з неправильною контрольною сумою.\n"
+
+#: fdisk/fdisksunlabel.c:158
+#, fuzzy, c-format
+msgid "Detected sun disklabel with wrong sanity [0x%08x].\n"
+msgstr "Знайдено sgi етикетку диска з неправильною контрольною сумою.\n"
+
+#: fdisk/fdisksunlabel.c:163
+#, fuzzy, c-format
+msgid "Detected sun disklabel with wrong num_partitions [%u].\n"
+msgstr "Знайдено sgi етикетку диска з неправильною контрольною сумою.\n"
+
+#: fdisk/fdisksunlabel.c:168
+#, fuzzy, c-format
+msgid ""
+"Warning: Wrong values need to be fixed up and will be corrected by w(rite)\n"
+msgstr ""
+"Попередження: неправильна ознака 0x%04x таблиці розділів %d буде виправлена "
+"при w(запису)\n"
+
+#: fdisk/fdisksunlabel.c:198
+#, c-format
+msgid ""
+"Building a new sun disklabel. Changes will remain in memory only,\n"
+"until you decide to write them. After that, of course, the previous\n"
+"content won't be recoverable.\n"
+"\n"
+msgstr ""
+"Створюється нова sun етикетка диску. Зміни залишатимуться у пам'яті,\n"
+"доки ви не запишете їх. Після чого, звичайно, попередній вміст\n"
+"буде втрачено.\n"
+"\n"
+
+#: fdisk/fdisksunlabel.c:236
+msgid "Sectors/track"
+msgstr "Секторів/доріжку"
+
+#: fdisk/fdisksunlabel.c:351
+#, c-format
+msgid "Partition %d doesn't end on cylinder boundary\n"
+msgstr "Розділ %d не закінчується на межі циліндру\n"
+
+#: fdisk/fdisksunlabel.c:371
+#, c-format
+msgid "Partition %d overlaps with others in sectors %d-%d\n"
+msgstr "Розділ %d перекривається з іншим у секторах %d-%d\n"
+
+#: fdisk/fdisksunlabel.c:393
+#, c-format
+msgid "Unused gap - sectors 0-%d\n"
+msgstr "Невикористаний простір - сектори 0-%d\n"
+
+#: fdisk/fdisksunlabel.c:395 fdisk/fdisksunlabel.c:401
+#, c-format
+msgid "Unused gap - sectors %d-%d\n"
+msgstr "Невикористаний простір - сектори %d-%d\n"
+
+#: fdisk/fdisksunlabel.c:426
+#, c-format
+msgid ""
+"Other partitions already cover the whole disk.\n"
+"Delete some/shrink them before retry.\n"
+msgstr ""
+"Інші розділи вже займають весь диск.\n"
+"Видаліть частину/зменшіть їх розмір перед спробою.\n"
+
+#: fdisk/fdisksunlabel.c:449
+#, 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"
+
+#: fdisk/fdisksunlabel.c:477
+#, c-format
+msgid "Sector %d is already allocated\n"
+msgstr "Сектор %d вже розподілений\n"
+
+#: fdisk/fdisksunlabel.c:507
+#, 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"
+
+#: fdisk/fdisksunlabel.c:534
+#, 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"
+
+#: fdisk/fdisksunlabel.c:549
+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): "
+
+#: fdisk/fdisksunlabel.c:581
+#, fuzzy, c-format
+msgid ""
+"\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"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Диск %s (Sun етикетка диску): %d головок, %d секторів, %d об/хв\n"
+"%d циліндрів, %d запасних циліндрів, %d фізичних циліндрів\n"
+"%d додаткових секторів/цил, чергування %d:1\n"
+"%s\n"
+"Одиниці виміру = %s з %d * 512 байт\n"
+"\n"
+
+#: fdisk/fdisksunlabel.c:597
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %d heads, %llu sectors, %d cylinders\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Диск %s (Sun етикетка диску): %d головок, %d секторів, %d циліндрів\n"
+"Одиниці виміру = %s з %d * 512 байт\n"
+"\n"
+
+#: fdisk/fdisksunlabel.c:602
+#, c-format
+msgid "%*s Flag    Start       End    Blocks   Id  System\n"
+msgstr "%*s Ознака Початок    Кінець     Блоки   Ід  Система\n"
+
+#: fdisk/fdisksunlabel.c:630
+msgid "Number of alternate cylinders"
+msgstr "Кількість запасних циліндрів"
+
+#: fdisk/fdisksunlabel.c:642
+msgid "Extra sectors per cylinder"
+msgstr "Додаткових секторів у циліндрі"
+
+#: fdisk/fdisksunlabel.c:649
+msgid "Interleave factor"
+msgstr "Фактор чергування"
+
+#: fdisk/fdisksunlabel.c:656
+msgid "Rotation speed (rpm)"
+msgstr "Швидкість обертання (об/хв)"
+
+#: fdisk/fdisksunlabel.c:663
+msgid "Number of physical cylinders"
+msgstr "Кількість фізичних циліндрів"
+
+#: fdisk/i386_sys_types.c:6
+msgid "Empty"
+msgstr "Порожн"
+
+#: fdisk/i386_sys_types.c:7
+msgid "FAT12"
+msgstr "FAT12"
+
+#: fdisk/i386_sys_types.c:8
+msgid "XENIX root"
+msgstr "XENIX root"
+
+#: fdisk/i386_sys_types.c:9
+msgid "XENIX usr"
+msgstr "XENIX usr"
+
+#: fdisk/i386_sys_types.c:10
+msgid "FAT16 <32M"
+msgstr "FAT16 <32M"
+
+#: fdisk/i386_sys_types.c:11
+msgid "Extended"
+msgstr "Extended"
+
+#: fdisk/i386_sys_types.c:12
+msgid "FAT16"
+msgstr "FAT16"
+
+#: fdisk/i386_sys_types.c:13
+msgid "HPFS/NTFS"
+msgstr "HPFS/NTFS"
+
+#: fdisk/i386_sys_types.c:14
+msgid "AIX"
+msgstr "AIX"
+
+#: fdisk/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr "AIX bootable"
+
+#: fdisk/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr "OS/2 Boot Manager"
+
+#: fdisk/i386_sys_types.c:17
+msgid "W95 FAT32"
+msgstr "W95 FAT32"
+
+#: fdisk/i386_sys_types.c:18
+msgid "W95 FAT32 (LBA)"
+msgstr "W95 FAT32 (LBA)"
+
+#: fdisk/i386_sys_types.c:19
+msgid "W95 FAT16 (LBA)"
+msgstr "W95 FAT16 (LBA)"
+
+#: fdisk/i386_sys_types.c:20
+msgid "W95 Ext'd (LBA)"
+msgstr "W95 Ext'd (LBA)"
+
+#: fdisk/i386_sys_types.c:21
+msgid "OPUS"
+msgstr "OPUS"
+
+#: fdisk/i386_sys_types.c:22
+msgid "Hidden FAT12"
+msgstr "Hidden FAT12"
+
+#: fdisk/i386_sys_types.c:23
+msgid "Compaq diagnostics"
+msgstr "Compaq diagnostics"
+
+#: fdisk/i386_sys_types.c:24
+msgid "Hidden FAT16 <32M"
+msgstr "Hidden FAT16 <32M"
+
+#: fdisk/i386_sys_types.c:25
+msgid "Hidden FAT16"
+msgstr "Hidden FAT16"
+
+#: fdisk/i386_sys_types.c:26
+msgid "Hidden HPFS/NTFS"
+msgstr "Hidden HPFS/NTFS"
+
+#: fdisk/i386_sys_types.c:27
+msgid "AST SmartSleep"
+msgstr "AST SmartSleep"
+
+#: fdisk/i386_sys_types.c:28
+msgid "Hidden W95 FAT32"
+msgstr "Hidden W95 FAT32"
+
+#: fdisk/i386_sys_types.c:29
+msgid "Hidden W95 FAT32 (LBA)"
+msgstr "Hidden W95 FAT32 (LBA)"
+
+#: fdisk/i386_sys_types.c:30
+msgid "Hidden W95 FAT16 (LBA)"
+msgstr "Hidden W95 FAT16 (LBA)"
+
+#: fdisk/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr "NEC DOS"
+
+#: fdisk/i386_sys_types.c:32
+msgid "Plan 9"
+msgstr "Plan 9"
+
+#: fdisk/i386_sys_types.c:33
+msgid "PartitionMagic recovery"
+msgstr "PartitionMagic recovery"
+
+#: fdisk/i386_sys_types.c:34
+msgid "Venix 80286"
+msgstr "Venix 80286"
+
+#: fdisk/i386_sys_types.c:35
+msgid "PPC PReP Boot"
+msgstr "PPC PReP Boot"
+
+#: fdisk/i386_sys_types.c:36
+msgid "SFS"
+msgstr "SFS"
+
+#: fdisk/i386_sys_types.c:37
+msgid "QNX4.x"
+msgstr "QNX4.x"
+
+#: fdisk/i386_sys_types.c:38
+msgid "QNX4.x 2nd part"
+msgstr "QNX4.x 2nd part"
+
+#: fdisk/i386_sys_types.c:39
+msgid "QNX4.x 3rd part"
+msgstr "QNX4.x 3rd part"
+
+#: fdisk/i386_sys_types.c:40
+msgid "OnTrack DM"
+msgstr "OnTrack DM"
+
+#: fdisk/i386_sys_types.c:41
+msgid "OnTrack DM6 Aux1"
+msgstr "OnTrack DM6 Aux1"
+
+#: fdisk/i386_sys_types.c:42
+msgid "CP/M"
+msgstr "CP/M"
+
+#: fdisk/i386_sys_types.c:43
+msgid "OnTrack DM6 Aux3"
+msgstr "OnTrack DM6 Aux3"
+
+#: fdisk/i386_sys_types.c:44
+msgid "OnTrackDM6"
+msgstr "OnTrackDM6"
+
+#: fdisk/i386_sys_types.c:45
+msgid "EZ-Drive"
+msgstr "EZ-Drive"
+
+#: fdisk/i386_sys_types.c:46
+msgid "Golden Bow"
+msgstr "Golden Bow"
+
+#: fdisk/i386_sys_types.c:47
+msgid "Priam Edisk"
+msgstr "Priam Edisk"
+
+#: fdisk/i386_sys_types.c:48 fdisk/i386_sys_types.c:92
+#: fdisk/i386_sys_types.c:98 fdisk/i386_sys_types.c:99
+msgid "SpeedStor"
+msgstr "SpeedStor"
+
+#: fdisk/i386_sys_types.c:49
+msgid "GNU HURD or SysV"
+msgstr "GNU HURD or SysV"
+
+#: fdisk/i386_sys_types.c:50
+msgid "Novell Netware 286"
+msgstr "Novell Netware 286"
+
+#: fdisk/i386_sys_types.c:51
+msgid "Novell Netware 386"
+msgstr "Novell Netware 386"
+
+#: fdisk/i386_sys_types.c:52
+msgid "DiskSecure Multi-Boot"
+msgstr "DiskSecure Multi-Boot"
+
+#: fdisk/i386_sys_types.c:53
+msgid "PC/IX"
+msgstr "PC/IX"
+
+#: fdisk/i386_sys_types.c:54
+msgid "Old Minix"
+msgstr "Old  Minix"
+
+#: fdisk/i386_sys_types.c:55
+msgid "Minix / old Linux"
+msgstr "Minix / old Linux"
+
+#: fdisk/i386_sys_types.c:56
+msgid "Linux swap / Solaris"
+msgstr "Linux swap / Solaris"
+
+#: fdisk/i386_sys_types.c:58
+msgid "OS/2 hidden C: drive"
+msgstr "OS/2 hidden C: drive"
+
+#: fdisk/i386_sys_types.c:59
+msgid "Linux extended"
+msgstr "Linux extended"
+
+#: fdisk/i386_sys_types.c:60 fdisk/i386_sys_types.c:61
+msgid "NTFS volume set"
+msgstr "NTFS volume set"
+
+#: fdisk/i386_sys_types.c:62
+msgid "Linux plaintext"
+msgstr "Linux plaintext"
+
+#: fdisk/i386_sys_types.c:64
+msgid "Amoeba"
+msgstr "Amoeba"
+
+#: fdisk/i386_sys_types.c:65
+msgid "Amoeba BBT"
+msgstr "Amoeba BBT"
+
+#: fdisk/i386_sys_types.c:66
+msgid "BSD/OS"
+msgstr "BSD/OS"
+
+#: fdisk/i386_sys_types.c:67
+msgid "IBM Thinkpad hibernation"
+msgstr "IBM Thinkpad hibernation"
+
+#: fdisk/i386_sys_types.c:68
+msgid "FreeBSD"
+msgstr "FreeBSD"
+
+#: fdisk/i386_sys_types.c:69
+msgid "OpenBSD"
+msgstr "OpenBSD"
+
+#: fdisk/i386_sys_types.c:70
+msgid "NeXTSTEP"
+msgstr "NeXTSTEP"
+
+#: fdisk/i386_sys_types.c:71
+msgid "Darwin UFS"
+msgstr "Darwin UFS"
+
+#: fdisk/i386_sys_types.c:72
+msgid "NetBSD"
+msgstr "NetBSD"
+
+#: fdisk/i386_sys_types.c:73
+msgid "Darwin boot"
+msgstr "Darwin boot"
+
+#: fdisk/i386_sys_types.c:74
+#, fuzzy
+msgid "HFS / HFS+"
+msgstr "OS/2 HPFS"
+
+#: fdisk/i386_sys_types.c:75
+msgid "BSDI fs"
+msgstr "BSDI fs"
+
+#: fdisk/i386_sys_types.c:76
+msgid "BSDI swap"
+msgstr "BSDI swap"
+
+#: fdisk/i386_sys_types.c:77
+msgid "Boot Wizard hidden"
+msgstr "Boot Wizard hidden"
+
+#: fdisk/i386_sys_types.c:78
+msgid "Solaris boot"
+msgstr "Solaris завантажувальний"
+
+#: fdisk/i386_sys_types.c:79
+msgid "Solaris"
+msgstr "Solaris"
+
+#: fdisk/i386_sys_types.c:80
+msgid "DRDOS/sec (FAT-12)"
+msgstr "DRDOS/sec (FAT-12)"
+
+#: fdisk/i386_sys_types.c:81
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr "DRDOS/sec (FAT-16 < 32M)"
+
+#: fdisk/i386_sys_types.c:82
+msgid "DRDOS/sec (FAT-16)"
+msgstr "DRDOS/sec (FAT-16)"
+
+#: fdisk/i386_sys_types.c:83
+msgid "Syrinx"
+msgstr "Syrinx"
+
+#: fdisk/i386_sys_types.c:84
+msgid "Non-FS data"
+msgstr "Не-ФС дані"
+
+#: fdisk/i386_sys_types.c:85
+msgid "CP/M / CTOS / ..."
+msgstr "CP/M / CTOS / ..."
+
+#: fdisk/i386_sys_types.c:87
+msgid "Dell Utility"
+msgstr "Dell Utility"
+
+#: fdisk/i386_sys_types.c:88
+msgid "BootIt"
+msgstr "BootIt"
+
+#: fdisk/i386_sys_types.c:89
+msgid "DOS access"
+msgstr "DOS access"
+
+#: fdisk/i386_sys_types.c:91
+msgid "DOS R/O"
+msgstr "DOS R/O"
+
+#: fdisk/i386_sys_types.c:94
+msgid "BeOS fs"
+msgstr "BeOS fs"
+
+#: fdisk/i386_sys_types.c:95
+#, fuzzy
+msgid "GPT"
+msgstr "EFI GPT"
+
+#: fdisk/i386_sys_types.c:96
+msgid "EFI (FAT-12/16/32)"
+msgstr "EFI (FAT-12/16/32)"
+
+#: fdisk/i386_sys_types.c:97
+msgid "Linux/PA-RISC boot"
+msgstr "Linux/PA-RISC boot"
+
+#: fdisk/i386_sys_types.c:100
+msgid "DOS secondary"
+msgstr "DOS secondary"
+
+#: fdisk/i386_sys_types.c:101
+msgid "VMware VMFS"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:102
+msgid "VMware VMKCORE"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:106
+msgid "LANstep"
+msgstr "LANstep"
+
+#: fdisk/i386_sys_types.c:107
+msgid "BBT"
+msgstr "BBT"
+
+#: fdisk/sfdisk.c:179
+#, c-format
+msgid "seek error on %s - cannot seek to %lu\n"
+msgstr "помилка позиціювання %s - не вдається перейти на %lu\n"
+
+#: fdisk/sfdisk.c:184
+#, c-format
+msgid "seek error: wanted 0x%08x%08x, got 0x%08x%08x\n"
+msgstr "помилка позиціювання: очікувалось 0x%08x%08x, отримано 0x%08x%08x\n"
+
+#: fdisk/sfdisk.c:230
+msgid "out of memory - giving up\n"
+msgstr "недостатньо пам'яті - відмова\n"
+
+#: fdisk/sfdisk.c:235 fdisk/sfdisk.c:318
+#, c-format
+msgid "read error on %s - cannot read sector %lu\n"
+msgstr "помилка читання %s - не вдається прочитати сектор %lu\n"
+
+#: fdisk/sfdisk.c:253
+#, c-format
+msgid "ERROR: sector %lu does not have an msdos signature\n"
+msgstr "ПОМИЛКА: сектор %lu немає msdos сигнатури\n"
+
+#: fdisk/sfdisk.c:268
+#, c-format
+msgid "write error on %s - cannot write sector %lu\n"
+msgstr "помилка запису на %s - не вдається записати сектор %lu\n"
+
+#: fdisk/sfdisk.c:306
+#, c-format
+msgid "cannot open partition sector save file (%s)\n"
+msgstr "не вдається відкрити файл збереження сектору розділу (%s)\n"
+
+#: fdisk/sfdisk.c:324
+#, c-format
+msgid "write error on %s\n"
+msgstr "помилка запису на %s\n"
+
+#: fdisk/sfdisk.c:350
+#, c-format
+msgid "cannot stat partition restore file (%s)\n"
+msgstr "не вдається отримати інформацію про файл відновлення розділу (%s)\n"
+
+#: fdisk/sfdisk.c:355
+msgid "partition restore file has wrong size - not restoring\n"
+msgstr ""
+"файл відновлення розділу має неправильний розмір - відміна відновлення\n"
+
+#: fdisk/sfdisk.c:359
+msgid "out of memory?\n"
+msgstr "недостатньо пам'яті\n"
+
+#: fdisk/sfdisk.c:365
+#, c-format
+msgid "cannot open partition restore file (%s)\n"
+msgstr "не вдається відкрити файл відновлення (%s)\n"
+
+#: fdisk/sfdisk.c:371
+#, c-format
+msgid "error reading %s\n"
+msgstr "помилка читання %s\n"
+
+#: fdisk/sfdisk.c:378
+#, c-format
+msgid "cannot open device %s for writing\n"
+msgstr "не вдається відкрити пристрій %s для запису\n"
+
+#: fdisk/sfdisk.c:390
+#, c-format
+msgid "error writing sector %lu on %s\n"
+msgstr "помилка запису сектору %lu на %s\n"
+
+#: fdisk/sfdisk.c:455
+#, c-format
+msgid "Disk %s: cannot get geometry\n"
+msgstr "Диск %s: не вдається отримати геометрію\n"
+
+#: fdisk/sfdisk.c:472
+#, c-format
+msgid "Disk %s: cannot get size\n"
+msgstr "Диск %s: не вдається отримати розмір\n"
+
+#: fdisk/sfdisk.c:505
+#, 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"
+
+#: fdisk/sfdisk.c:512
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu heads\n"
+msgstr "Попередження: HDIO_GETGEO вказує, що є %lu головок\n"
+
+#: fdisk/sfdisk.c:515
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu sectors\n"
+msgstr "Попередження: HDIO_GETGEO вказує, що є %lu секторів\n"
+
+#: fdisk/sfdisk.c:519
+#, c-format
+msgid "Warning: BLKGETSIZE/HDIO_GETGEO says that there are %lu cylinders\n"
+msgstr "Попередження: BLKGETSIZE/HDIO_GETGEO вказує, що є %lu циліндрів\n"
+
+#: fdisk/sfdisk.c:524
+#, 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"
+
+#: fdisk/sfdisk.c:528
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %lu cylinders, %lu heads, %lu sectors/track\n"
+msgstr ""
+"\n"
+"Диск %s: %lu циліндрів, %lu головок, %lu секторів/доріжку\n"
+
+#: fdisk/sfdisk.c:610
+#, 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"
+
+#: fdisk/sfdisk.c:615
+#, 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"
+
+#: fdisk/sfdisk.c:620
+#, 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"
+
+#: fdisk/sfdisk.c:660
+#, c-format
+msgid ""
+"Id  Name\n"
+"\n"
+msgstr ""
+"Ідентиф. Назва\n"
+"\n"
+
+#: fdisk/sfdisk.c:821
+#, c-format
+msgid "Re-reading the partition table ...\n"
+msgstr "Перечитується таблиця розділів ...\n"
+
+#: fdisk/sfdisk.c:827
+#, 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"
+"Перезавантажте систему перед використанням mkfs\n"
+
+#: fdisk/sfdisk.c:833
+#, c-format
+msgid "Error closing %s\n"
+msgstr "Помилка закривання %s\n"
+
+#: fdisk/sfdisk.c:871
+#, c-format
+msgid "%s: no such partition\n"
+msgstr "%s: немає такого розділу\n"
+
+#: fdisk/sfdisk.c:894
+msgid "unrecognized format - using sectors\n"
+msgstr "нерозпізнаний формат - використовуються сектори\n"
+
+#: fdisk/sfdisk.c:944
+#, c-format
+msgid "unimplemented format - using %s\n"
+msgstr "нереалізований формат - використовується %s\n"
+
+#: fdisk/sfdisk.c:948
+#, c-format
+msgid ""
+"Units = cylinders of %lu bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Одиниці виміру = циліндри по %lu байт, блоки по 1024 байт, рахуючи від %d\n"
+"\n"
+
+#: fdisk/sfdisk.c:951
+#, c-format
+msgid "   Device Boot Start     End   #cyls    #blocks   Id  System\n"
+msgstr "Пристрій Завант Початок Кінець Циліндрів Блоків   Ід  Система\n"
+
+#: fdisk/sfdisk.c:956
+#, c-format
+msgid ""
+"Units = sectors of 512 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Одиниці виміру = сектори по 512 байт, рахуючи від %d\n"
+"\n"
+
+#: fdisk/sfdisk.c:958
+#, c-format
+msgid "   Device Boot    Start       End   #sectors  Id  System\n"
+msgstr "Пристрій Завант Початок    Кінець   Секторів  Ід  Система\n"
+
+#: fdisk/sfdisk.c:961
+#, c-format
+msgid ""
+"Units = blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Одиниця виміру = блоки по 1024 байт, рахуючи від %d\n"
+"\n"
+
+#: fdisk/sfdisk.c:963
+#, c-format
+msgid "   Device Boot   Start       End    #blocks   Id  System\n"
+msgstr "Пристрій Завант Початок   Кінець     Блоків   Ід  Система\n"
+
+#: fdisk/sfdisk.c:966
+#, c-format
+msgid ""
+"Units = mebibytes of 1048576 bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Одиниці виміру = mebi-байти по 1048576 байт, блоки по 1024 байт, рахуючи від "
+"%d\n"
+"\n"
+
+#: fdisk/sfdisk.c:968
+#, c-format
+msgid "   Device Boot Start   End    MiB    #blocks   Id  System\n"
+msgstr "  Пристрій Завант Початок Кінець Мб     Блоків   Ід  Система\n"
+
+#: fdisk/sfdisk.c:1128
+#, 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"
+
+#: fdisk/sfdisk.c:1135
+#, 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"
+
+#: fdisk/sfdisk.c:1138
+#, c-format
+msgid "partition ends on cylinder %ld, beyond the end of the disk\n"
+msgstr "розділ закінчується на циліндрі  %ld, за межею обсягу диску\n"
+
+#: fdisk/sfdisk.c:1148
+msgid "No partitions found\n"
+msgstr "Не знайдено розділів\n"
+
+#: fdisk/sfdisk.c:1152
+#, 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"
+
+#: fdisk/sfdisk.c:1201
+msgid "no partition table present.\n"
+msgstr "відсутня таблиця розділів.\n"
+
+#: fdisk/sfdisk.c:1203
+#, c-format
+msgid "strange, only %d partitions defined.\n"
+msgstr "дивно, визначено лише %d розділів.\n"
+
+#: fdisk/sfdisk.c:1212
+#, c-format
+msgid "Warning: partition %s has size 0 but is not marked Empty\n"
+msgstr "Попередження: розділ %s має розмір 0, але не позначений порожнім\n"
+
+#: fdisk/sfdisk.c:1215
+#, c-format
+msgid "Warning: partition %s has size 0 and is bootable\n"
+msgstr "Попередження: розділ %s має розмір 0 та позначений завантажувальним\n"
+
+#: fdisk/sfdisk.c:1218
+#, c-format
+msgid "Warning: partition %s has size 0 and nonzero start\n"
+msgstr "Попередження: розділ %s має розмір 0 але починається не з нуля\n"
+
+#: fdisk/sfdisk.c:1229
+#, c-format
+msgid "Warning: partition %s "
+msgstr "Попередження: розділ %s "
+
+#: fdisk/sfdisk.c:1230
+#, c-format
+msgid "is not contained in partition %s\n"
+msgstr "не розташований у розділі %s\n"
+
+#: fdisk/sfdisk.c:1241
+#, c-format
+msgid "Warning: partitions %s "
+msgstr "Попередження: розділи %s "
+
+#: fdisk/sfdisk.c:1242
+#, c-format
+msgid "and %s overlap\n"
+msgstr "та %s перекриваються\n"
+
+#: fdisk/sfdisk.c:1253
+#, c-format
+msgid ""
+"Warning: partition %s contains part of the partition table (sector %lu),\n"
+"and will destroy it when filled\n"
+msgstr ""
+"Попередження: розділ %s містить частину таблиці розділів (сектор %lu),\n"
+"та її буде знищено при його заповненні\n"
+
+#: fdisk/sfdisk.c:1265
+#, c-format
+msgid "Warning: partition %s starts at sector 0\n"
+msgstr "Попередження: розділ %s починається з сектор 0\n"
+
+#: fdisk/sfdisk.c:1269
+#, c-format
+msgid "Warning: partition %s extends past end of disk\n"
+msgstr "Попередження: розділ %s поширюється за межі диску\n"
+
+#: fdisk/sfdisk.c:1284
+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"
+
+#: fdisk/sfdisk.c:1302
+#, c-format
+msgid "Warning: partition %s does not start at a cylinder boundary\n"
+msgstr "Попередження: розділ %s починається не з межі циліндра\n"
+
+#: fdisk/sfdisk.c:1308
+#, c-format
+msgid "Warning: partition %s does not end at a cylinder boundary\n"
+msgstr "Попередження: розділ %s не закінчується на межі циліндра\n"
+
+#: fdisk/sfdisk.c:1326
+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"
+
+#: fdisk/sfdisk.c:1333
+msgid ""
+"Warning: usually one can boot from primary partitions only\n"
+"LILO disregards the `bootable' flag.\n"
+msgstr ""
+"Попередження: зазвичай можна завантажуватись лише з первинних розділів\n"
+"LILO не звертає уваги на ознаку `завантажувальний'.\n"
+
+#: fdisk/sfdisk.c:1339
+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"
+
+#: fdisk/sfdisk.c:1353
+msgid "start"
+msgstr "початок"
+
+#: fdisk/sfdisk.c:1356
+#, 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"
+
+#: fdisk/sfdisk.c:1362
+msgid "end"
+msgstr "кінець"
+
+#: fdisk/sfdisk.c:1365
+#, 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"
+
+#: fdisk/sfdisk.c:1368
+#, c-format
+msgid "partition %s ends on cylinder %ld, beyond the end of the disk\n"
+msgstr "розділ %s закінчується на циліндрі %ld, за межами диску\n"
+
+#: fdisk/sfdisk.c:1393
+#, c-format
+msgid ""
+"Warning: shifted start of the extd partition from %ld to %ld\n"
+"(For listing purposes only. Do not change its contents.)\n"
+msgstr ""
+"Попередження: зміщено початок розширеного розділу з %ld на %ld\n"
+"(Лише для відображення. Не змінюйте вміст.)\n"
+
+#: fdisk/sfdisk.c:1399
+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"
+
+#: fdisk/sfdisk.c:1417 fdisk/sfdisk.c:1494
+#, c-format
+msgid "too many partitions - ignoring those past nr (%d)\n"
+msgstr "надто багато розділів - ігнорується попередній nr (%d)\n"
+
+#: fdisk/sfdisk.c:1432
+msgid "tree of partitions?\n"
+msgstr "дерево розділів?\n"
+
+#: fdisk/sfdisk.c:1540
+msgid "detected Disk Manager - unable to handle that\n"
+msgstr "знайдено Disk Manager - це нне вдаєтьсяобробити\n"
+
+#: fdisk/sfdisk.c:1547
+msgid "DM6 signature found - giving up\n"
+msgstr "знайдено DM6 сигнатуру - відміна операції\n"
+
+#: fdisk/sfdisk.c:1567
+msgid "strange..., an extended partition of size 0?\n"
+msgstr "дивно..., розширений розділ нульового розміру?\n"
+
+#: fdisk/sfdisk.c:1574 fdisk/sfdisk.c:1585
+msgid "strange..., a BSD partition of size 0?\n"
+msgstr "дивно..., BSD розмір нульового розміру?\n"
+
+#: fdisk/sfdisk.c:1619
+#, c-format
+msgid " %s: unrecognized partition table type\n"
+msgstr " %s: невідомий тип таблиці розділів\n"
+
+#: fdisk/sfdisk.c:1631
+msgid "-n flag was given: Nothing changed\n"
+msgstr "вказано параметр -n: Нічого не змінено\n"
+
+#: fdisk/sfdisk.c:1647
+msgid "Failed saving the old sectors - aborting\n"
+msgstr "не вдається зберегти старі сектори - виконання перервано\n"
+
+#: fdisk/sfdisk.c:1652
+#, c-format
+msgid "Failed writing the partition on %s\n"
+msgstr "не вдається записати розділ на %s\n"
+
+#: fdisk/sfdisk.c:1729
+msgid "long or incomplete input line - quitting\n"
+msgstr "довгий або незавершений вхідний рядок - завершення\n"
+
+#: fdisk/sfdisk.c:1765
+#, c-format
+msgid "input error: `=' expected after %s field\n"
+msgstr "помилка вводу: очікувався символ `=' після поля %s\n"
+
+#: fdisk/sfdisk.c:1772
+#, c-format
+msgid "input error: unexpected character %c after %s field\n"
+msgstr "помилка вводу: очікувався символ %c після поля %s\n"
+
+#: fdisk/sfdisk.c:1778
+#, c-format
+msgid "unrecognized input: %s\n"
+msgstr "нерозпізнаний ввід: %s\n"
+
+#: fdisk/sfdisk.c:1820
+msgid "number too big\n"
+msgstr "число занадто велике\n"
+
+#: fdisk/sfdisk.c:1824
+msgid "trailing junk after number\n"
+msgstr "не цифри після числа\n"
+
+#: fdisk/sfdisk.c:1948
+msgid "no room for partition descriptor\n"
+msgstr "немає місця для дескриптору розділу\n"
+
+#: fdisk/sfdisk.c:1981
+msgid "cannot build surrounding extended partition\n"
+msgstr "не вдається створити оточуючий розширений розділ\n"
+
+#: fdisk/sfdisk.c:2032
+msgid "too many input fields\n"
+msgstr "надто багато вхідних полів\n"
+
+#: fdisk/sfdisk.c:2066
+msgid "No room for more\n"
+msgstr "Немає більше місця\n"
+
+#: fdisk/sfdisk.c:2085
+msgid "Illegal type\n"
+msgstr "Недопустимий тип\n"
+
+#: fdisk/sfdisk.c:2117
+#, c-format
+msgid "Warning: given size (%lu) exceeds max allowable size (%lu)\n"
+msgstr ""
+"Попередження: вказаний розмір (%lu) перевищує допустимий розмір (%lu)\n"
+
+#: fdisk/sfdisk.c:2123
+msgid "Warning: empty partition\n"
+msgstr "Попередження: порожній розділ\n"
+
+#: fdisk/sfdisk.c:2137
+#, c-format
+msgid "Warning: bad partition start (earliest %lu)\n"
+msgstr "Попередження: неправильний початок розділу (раніше %lu)\n"
+
+#: fdisk/sfdisk.c:2150
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr "не розпізнана завантажувальна ознака - виберіть - або *\n"
+
+#: fdisk/sfdisk.c:2167 fdisk/sfdisk.c:2180
+msgid "partial c,h,s specification?\n"
+msgstr "часткова специфікація цил,гол,сект?\n"
+
+#: fdisk/sfdisk.c:2191
+msgid "Extended partition not where expected\n"
+msgstr "Розширений розділ не там де має бути розширений\n"
+
+#: fdisk/sfdisk.c:2223
+msgid "bad input\n"
+msgstr "неправильний ввід\n"
+
+#: fdisk/sfdisk.c:2245
+msgid "too many partitions\n"
+msgstr "надто багато розділів\n"
+
+#: fdisk/sfdisk.c:2278
+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"
+
+#: fdisk/sfdisk.c:2304
+#, c-format
+msgid "Usage: %s [options] device ...\n"
+msgstr "Використання: %s [параметри] пристрій ...\n"
+
+#: fdisk/sfdisk.c:2305
+msgid "device: something like /dev/hda or /dev/sda"
+msgstr "пристрій: щось на зразок /dev/hda чи /dev/sda"
+
+#: fdisk/sfdisk.c:2306
+msgid "useful options:"
+msgstr "корисні параметри:"
+
+#: fdisk/sfdisk.c:2307
+msgid "    -s [or --show-size]: list size of a partition"
+msgstr "    -s [або --show-size]: вивести розмір розділу"
+
+#: fdisk/sfdisk.c:2308
+msgid "    -c [or --id]:        print or change partition Id"
+msgstr "    -c [або --id]:        вивести або змінити ідентифікатор розділу"
+
+#: fdisk/sfdisk.c:2309
+msgid "    -l [or --list]:      list partitions of each device"
+msgstr "    -l [або --list]:      вивести розділи кожного пристрою"
+
+#: fdisk/sfdisk.c:2310
+msgid "    -d [or --dump]:      idem, but in a format suitable for later input"
+msgstr ""
+"    -d [або --dump]:      те ж саме, але у форматі прийнятному для "
+"подальшого вводу"
+
+#: fdisk/sfdisk.c:2311
+msgid "    -i [or --increment]: number cylinders etc. from 1 instead of from 0"
+msgstr ""
+"    -i [або --increment]: кількість циліндрів починається з 1, а не з 0"
+
+#: fdisk/sfdisk.c:2312
+msgid ""
+"    -uS, -uB, -uC, -uM:  accept/report in units of sectors/blocks/cylinders/"
+"MB"
+msgstr ""
+"    -uS, -uB, -uC, -uM:   ввід/вивід у одиницях сектори/блоки/циліндри/Мб"
+
+#: fdisk/sfdisk.c:2313
+msgid "    -T [or --list-types]:list the known partition types"
+msgstr "    -T [або --list-types]:вивести всі відомі типи розділів"
+
+#: fdisk/sfdisk.c:2314
+msgid "    -D [or --DOS]:       for DOS-compatibility: waste a little space"
+msgstr ""
+"    -D [або --DOS]:       для DOS-сумісності: втрачається трохи простору"
+
+#: fdisk/sfdisk.c:2315
+msgid "    -R [or --re-read]:   make kernel reread partition table"
+msgstr "    -R [або --re-read]:   змусити ядро перечитати таблицю розділів"
+
+#: fdisk/sfdisk.c:2316
+msgid "    -N# :                change only the partition with number #"
+msgstr "    -N# :                 змінити лише розділ з номером #"
+
+#: fdisk/sfdisk.c:2317
+msgid "    -n :                 do not actually write to disk"
+msgstr "    -n :                  не записувати нічого на диск"
+
+#: fdisk/sfdisk.c:2318
+msgid ""
+"    -O file :            save the sectors that will be overwritten to file"
+msgstr ""
+"    -O file :             зберегти у файл сектори, які будуть перезаписані"
+
+#: fdisk/sfdisk.c:2319
+msgid "    -I file :            restore these sectors again"
+msgstr "    -I file :             відновити ці сектори знову"
+
+#: fdisk/sfdisk.c:2320
+msgid "    -v [or --version]:   print version"
+msgstr "    -v [або --version]:   вивести версію"
+
+#: fdisk/sfdisk.c:2321
+msgid "    -? [or --help]:      print this message"
+msgstr "    -? [або --help]:      вивести це повідомлення"
+
+#: fdisk/sfdisk.c:2322
+msgid "dangerous options:"
+msgstr "небезпечні параметри:"
+
+#: fdisk/sfdisk.c:2323
+msgid "    -g [or --show-geometry]: print the kernel's idea of the geometry"
+msgstr "    -g [або --show-geometry]: вивести видану ядром геометрію"
+
+#: fdisk/sfdisk.c:2324
+msgid ""
+"    -G [or --show-pt-geometry]: print geometry guessed from the partition "
+"table"
+msgstr ""
+"    -G [or --show-pt-geometry]: вивести видану, яку визначено з таблиці "
+"розділів"
+
+#: fdisk/sfdisk.c:2325
+msgid ""
+"    -x [or --show-extended]: also list extended partitions on output\n"
+"                             or expect descriptors for them on input"
+msgstr ""
+"    -x [або --show-extended]: також вивести перелік розширених розділів\n"
+"                              або очікувати їх дескриптори при вводі"
+
+#: fdisk/sfdisk.c:2327
+msgid ""
+"    -L  [or --Linux]:      do not complain about things irrelevant for Linux"
+msgstr "    -L  [або --Linux]:      не скаржитись на несуттєві для Linux речі"
+
+#: fdisk/sfdisk.c:2328
+msgid "    -q  [or --quiet]:      suppress warning messages"
+msgstr "    -q  [або --quiet]:      не виводити попередження"
+
+#: fdisk/sfdisk.c:2329
+msgid "    You can override the detected geometry using:"
+msgstr "    Ви можете перевизначити виявлену геометрію використовуючи:"
+
+#: fdisk/sfdisk.c:2330
+msgid "    -C# [or --cylinders #]:set the number of cylinders to use"
+msgstr "    -C# [або --cylinders #]:встановити кількість циліндрів"
+
+#: fdisk/sfdisk.c:2331
+msgid "    -H# [or --heads #]:    set the number of heads to use"
+msgstr "    -H# [або --heads #]:    встановити кількість головок"
+
+#: fdisk/sfdisk.c:2332
+msgid "    -S# [or --sectors #]:  set the number of sectors to use"
+msgstr "    -S# [або --sectors #]:  встановити кількість секторів"
+
+#: fdisk/sfdisk.c:2333
+msgid "You can disable all consistency checking with:"
+msgstr "Ви можете вимкнути перевірку логічності за допомогою:"
+
+#: fdisk/sfdisk.c:2334
+msgid "    -f  [or --force]:      do what I say, even if it is stupid"
+msgstr ""
+"    -f  [або --force]:      виконувати команди примусово, навіть безглузді"
+
+#: fdisk/sfdisk.c:2340
+msgid "Usage:"
+msgstr "Використання:"
+
+#: fdisk/sfdisk.c:2341
+#, c-format
+msgid "%s device\t\t list active partitions on device\n"
+msgstr "%s пристрій\t\t вивести активні розділи пристрою\n"
+
+#: fdisk/sfdisk.c:2342
+#, c-format
+msgid "%s device n1 n2 ... activate partitions n1 ..., inactivate the rest\n"
+msgstr "%s пристрій n1 n2 ... активувати розділ n1 ..., де-активувати решту\n"
+
+#: fdisk/sfdisk.c:2343
+#, c-format
+msgid "%s -An device\t activate partition n, inactivate the other ones\n"
+msgstr "%s -An пристрій\t активувати розділ n, де-активувати решту розділів\n"
+
+#: fdisk/sfdisk.c:2463
+#, 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 ""
+
+#: fdisk/sfdisk.c:2466
+#, fuzzy, c-format
+msgid "Use the --force flag to overrule this check.\n"
+msgstr "Використовуйте параметр --force, щоб відхилити всі перевірки.\n"
+
+#: fdisk/sfdisk.c:2505
+msgid "no command?\n"
+msgstr "немає команди?\n"
+
+#: fdisk/sfdisk.c:2637
+#, c-format
+msgid "total: %llu blocks\n"
+msgstr "загалом: %llu блоків\n"
+
+#: fdisk/sfdisk.c:2680
+msgid "usage: sfdisk --print-id device partition-number\n"
+msgstr "використання: sfdisk --print-id пристрій номер_розділу\n"
+
+#: fdisk/sfdisk.c:2682
+msgid "usage: sfdisk --change-id device partition-number Id\n"
+msgstr "використання: sfdisk --change-id пристрій номер_розділу ідентиф.\n"
+
+#: fdisk/sfdisk.c:2684
+msgid "usage: sfdisk --id device partition-number [Id]\n"
+msgstr "використання: sfdisk --id пристрій номер_пристрою [ідентиф.]\n"
+
+#: fdisk/sfdisk.c:2691
+msgid "can specify only one device (except with -l or -s)\n"
+msgstr "можна вказувати лише один пристрій (за винятком -l чи -s)\n"
+
+#: fdisk/sfdisk.c:2717
+#, c-format
+msgid "cannot open %s read-write\n"
+msgstr "неможливі відкрити %s для читання-запису\n"
+
+#: fdisk/sfdisk.c:2719
+#, c-format
+msgid "cannot open %s for reading\n"
+msgstr "неможливі відкрити %s для читання\n"
+
+#: fdisk/sfdisk.c:2744
+#, c-format
+msgid "%s: OK\n"
+msgstr "%s: Гаразд\n"
+
+#: fdisk/sfdisk.c:2763 fdisk/sfdisk.c:2796
+#, c-format
+msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+msgstr "%s: %ld циліндрів, %ld головок, %ld секторів/трек\n"
+
+#: fdisk/sfdisk.c:2815
+#, c-format
+msgid "Cannot get size of %s\n"
+msgstr "Не вдається отримати розмір %s\n"
+
+#: fdisk/sfdisk.c:2895
+#, c-format
+msgid "bad active byte: 0x%x instead of 0x80\n"
+msgstr "неправильний 'активний' байт 0x%x замість 0x80\n"
+
+#: fdisk/sfdisk.c:2913 fdisk/sfdisk.c:2968 fdisk/sfdisk.c:3001
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+"Виконано\n"
+"\n"
+
+#: fdisk/sfdisk.c:2922
+#, 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"
+
+#: fdisk/sfdisk.c:2938
+#, c-format
+msgid "partition %s has id %x and is not hidden\n"
+msgstr "розділ %s має ідентиф. %x та він не прихований\n"
+
+#: fdisk/sfdisk.c:2997
+#, c-format
+msgid "Bad Id %lx\n"
+msgstr "Неправильний Ідент. %lx\n"
+
+#: fdisk/sfdisk.c:3014
+msgid "This disk is currently in use.\n"
+msgstr "Цей диск наразі використовується.\n"
+
+#: fdisk/sfdisk.c:3033
+#, c-format
+msgid "Fatal error: cannot find %s\n"
+msgstr "Фатальна помилка: не вдається знайти %s\n"
+
+#: fdisk/sfdisk.c:3036
+#, c-format
+msgid "Warning: %s is not a block device\n"
+msgstr "Попередження: %s не є блочним пристроєм\n"
+
+#: fdisk/sfdisk.c:3042
+msgid "Checking that no-one is using this disk right now ...\n"
+msgstr "Перевіряється, що ніхто наразі не використовує диск ...\n"
+
+#: fdisk/sfdisk.c:3044
+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"
+
+#: fdisk/sfdisk.c:3048
+msgid "Use the --force flag to overrule all checks.\n"
+msgstr "Використовуйте параметр --force, щоб відхилити всі перевірки.\n"
+
+#: fdisk/sfdisk.c:3052
+msgid "OK\n"
+msgstr "Гаразд\n"
+
+#: fdisk/sfdisk.c:3061
+#, c-format
+msgid "Old situation:\n"
+msgstr "Старий стан:\n"
+
+#: fdisk/sfdisk.c:3065
+#, c-format
+msgid "Partition %d does not exist, cannot change it\n"
+msgstr "Розділ %d не існує, не вдається його змінити\n"
+
+#: fdisk/sfdisk.c:3073
+#, c-format
+msgid "New situation:\n"
+msgstr "Новий стан:\n"
+
+#: fdisk/sfdisk.c:3078
+msgid ""
+"I don't like these partitions - nothing changed.\n"
+"(If you really want this, use the --force option.)\n"
+msgstr ""
+"Ці розділи виглядають неправильно - нічого не змінено.\n"
+"(Якщо ви дійсно цього бажаєте, використовуйте параметр --force.)\n"
+
+#: fdisk/sfdisk.c:3081
+msgid "I don't like this - probably you should answer No\n"
+msgstr "Ці розділи виглядають неправильно - можливо слід відповісти No\n"
+
+#: fdisk/sfdisk.c:3086
+#, c-format
+msgid "Are you satisfied with this? [ynq] "
+msgstr "Ви цим задоволені? [ynq] "
+
+#: fdisk/sfdisk.c:3088
+#, c-format
+msgid "Do you want to write this to disk? [ynq] "
+msgstr "Бажаєте записати на диск? [ynq] "
+
+#: fdisk/sfdisk.c:3093
+#, c-format
+msgid ""
+"\n"
+"sfdisk: premature end of input\n"
+msgstr ""
+"\n"
+"sfdisk: передчасне закінчення вводу\n"
+
+#: fdisk/sfdisk.c:3095
+msgid "Quitting - nothing changed\n"
+msgstr "Завершення - нічого не змінено\n"
+
+#: fdisk/sfdisk.c:3101
+#, c-format
+msgid "Please answer one of y,n,q\n"
+msgstr "Відповідайте одне з y,n,q\n"
+
+#: fdisk/sfdisk.c:3109
+#, c-format
+msgid ""
+"Successfully wrote the new partition table\n"
+"\n"
+msgstr ""
+"Успішно записано нову таблицю розділів\n"
+"\n"
+
+#: fdisk/sfdisk.c:3115
+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"
+
+#: fsck/fsck.c:327
+#, fuzzy, c-format
+msgid "WARNING: couldn't open %s: %s\n"
+msgstr "%s: не вдається відкрити %s: %s\n"
+
+#: fsck/fsck.c:337
+#, c-format
+msgid "WARNING: bad format on line %d of %s\n"
+msgstr ""
+
+#: fsck/fsck.c:353
+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 ""
+
+#: fsck/fsck.c:461
+#, fuzzy, c-format
+msgid "fsck: %s: not found\n"
+msgstr "umount: %s: не існує"
+
+#: fsck/fsck.c:577
+#, c-format
+msgid "%s: wait: No more child process?!?\n"
+msgstr ""
+
+#: fsck/fsck.c:599
+#, c-format
+msgid "Warning... %s for device %s exited with signal %d.\n"
+msgstr ""
+
+#: fsck/fsck.c:605
+#, c-format
+msgid "%s %s: status is %x, should never happen.\n"
+msgstr ""
+
+#: fsck/fsck.c:644
+#, c-format
+msgid "Finished with %s (exit status %d)\n"
+msgstr ""
+
+#: fsck/fsck.c:704
+#, fuzzy, c-format
+msgid "%s: Error %d while executing fsck.%s for %s\n"
+msgstr "%s: помилка %d при декомпресії! %p(%d)\n"
+
+#: fsck/fsck.c:725
+msgid ""
+"Either all or none of the filesystem types passed to -t must be prefixed\n"
+"with 'no' or '!'.\n"
+msgstr ""
+
+#: fsck/fsck.c:744
+#, fuzzy
+msgid "Couldn't allocate memory for filesystem types\n"
+msgstr "mount: необхідно вказати тип файлової системи"
+
+#: fsck/fsck.c:867
+#, c-format
+msgid ""
+"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass "
+"number\n"
+msgstr ""
+
+#: fsck/fsck.c:894
+#, c-format
+msgid "fsck: cannot check %s: fsck.%s not found\n"
+msgstr ""
+
+#: fsck/fsck.c:950
+#, fuzzy
+msgid "Checking all file systems.\n"
+msgstr "Примусова перевірка файлової системи на %s.\n"
+
+#: fsck/fsck.c:1041
+#, c-format
+msgid "--waiting-- (pass %d)\n"
+msgstr ""
+
+#: fsck/fsck.c:1061
+#, fuzzy
+msgid ""
+"Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]\n"
+msgstr "Використання: mkfs [-V] [-t типФС] [параметри-ФС] пристрій [розмір]\n"
+
+#: fsck/fsck.c:1099
+#, fuzzy, c-format
+msgid "%s: too many devices\n"
+msgstr "%s: %s не є lp пристроєм.\n"
+
+#: fsck/fsck.c:1110
+#, fuzzy, c-format
+msgid "Couldn't open %s: %s\n"
+msgstr "не вдається відкрити %s: %s\n"
+
+#: fsck/fsck.c:1112
+#, fuzzy, c-format
+msgid "Is /proc mounted?\n"
+msgstr "%s відключено\n"
+
+#: fsck/fsck.c:1121
+#, c-format
+msgid "Must be root to scan for matching filesystems: %s\n"
+msgstr ""
+
+#: fsck/fsck.c:1124
+#, fuzzy, c-format
+msgid "Couldn't find matching filesystem: %s\n"
+msgstr "Відключення решти файлових систем..."
+
+#: fsck/fsck.c:1132 fsck/fsck.c:1218
+#, fuzzy, c-format
+msgid "%s: too many arguments\n"
+msgstr "%s: невідомий аргумент: %s\n"
+
+#: fsck/fsck.c:1252
+#, fuzzy, c-format
+msgid "fsck from %s\n"
+msgstr "%s з %s\n"
+
+#: fsck/fsck.c:1264
+#, fuzzy, c-format
+msgid "%s: Unable to allocate memory for fsck_path\n"
+msgstr "Не вдається виділити буфер для вузлів"
+
+#: getopt/getopt.c:229
+msgid "Try `getopt --help' for more information.\n"
+msgstr "Спробуйте `getopt --help', щоб отримати додаткову інформацію.\n"
+
+#: getopt/getopt.c:295
+msgid "empty long option after -l or --long argument"
+msgstr "порожній довий параметр після аргументу -l або --long"
+
+#: getopt/getopt.c:315
+msgid "unknown shell after -s or --shell argument"
+msgstr "невідома оболонка після аргументу -s або --shell"
+
+#: getopt/getopt.c:320
+msgid "Usage: getopt optstring parameters\n"
+msgstr "Використання: getopt специф_арг параметри\n"
+
+#: getopt/getopt.c:321
+msgid "       getopt [options] [--] optstring parameters\n"
+msgstr "       getopt [аргументи] [--] специф_арг параметри\n"
+
+#: getopt/getopt.c:322
+msgid "       getopt [options] -o|--options optstring [options] [--]\n"
+msgstr ""
+"       getopt [аргументи] -o|--options спецмф_арг параметри [аргументи] "
+"[--]\n"
+
+#: getopt/getopt.c:323
+msgid "              parameters\n"
+msgstr "              параметри\n"
+
+#: getopt/getopt.c:324
+msgid ""
+"  -a, --alternative            Allow long options starting with single -\n"
+msgstr ""
+"  -a, --alternative            Довгі аргументи можуть починались з одного -\n"
+
+#: getopt/getopt.c:325
+msgid "  -h, --help                   This small usage guide\n"
+msgstr "  -h, --help                   Вивести цю довідку\n"
+
+#: getopt/getopt.c:326
+msgid "  -l, --longoptions=longopts   Long options to be recognized\n"
+msgstr "  -l, --longoptions=довгі_арг  Специфікація довгих аргументів\n"
+
+#: getopt/getopt.c:327
+msgid ""
+"  -n, --name=progname          The name under which errors are reported\n"
+msgstr ""
+"  -n, --name=назва_програми    Помилки виводити від імені цієї програми\n"
+
+#: getopt/getopt.c:328
+msgid "  -o, --options=optstring      Short options to be recognized\n"
+msgstr "  -o, --options=специф_арг     Специфікація коротких аргументів\n"
+
+#: getopt/getopt.c:329
+msgid "  -q, --quiet                  Disable error reporting by getopt(3)\n"
+msgstr ""
+"  -q, --quiet                  Вимкнути повідомлення про помилки від getopt"
+"(3)\n"
+
+#: getopt/getopt.c:330
+msgid "  -Q, --quiet-output           No normal output\n"
+msgstr "  -Q, --quiet-output           Без звичайного виводу\n"
+
+#: getopt/getopt.c:331
+msgid "  -s, --shell=shell            Set shell quoting conventions\n"
+msgstr ""
+"  -s, --shell=оболонка         Встановити стиль цитування як у оболонці\n"
+
+#: getopt/getopt.c:332
+msgid "  -T, --test                   Test for getopt(1) version\n"
+msgstr "  -T, --test                   Перевірити версію getopt(1)\n"
+
+#: getopt/getopt.c:333
+msgid "  -u, --unqote                 Do not quote the output\n"
+msgstr "  -u, --unqote                 Не цитувати вивід\n"
+
+#: getopt/getopt.c:334
+msgid "  -V, --version                Output version information\n"
+msgstr "  -V, --version                Вивести інформацію про версію\n"
+
+#: getopt/getopt.c:388 getopt/getopt.c:447
+msgid "missing optstring argument"
+msgstr "відсутній аргумент специф_арг"
+
+#: getopt/getopt.c:435
+#, c-format
+msgid "getopt (enhanced) 1.1.4\n"
+msgstr "getopt (розширена) 1.1.4\n"
+
+#: getopt/getopt.c:441
+msgid "internal error, contact the author."
+msgstr "внутрішня помилка, зв'яжіться з автором."
+
+#: hwclock/cmos.c:176
+#, c-format
+msgid "booted from MILO\n"
+msgstr "система завантажена з MILO\n"
+
+#: hwclock/cmos.c:185
+#, c-format
+msgid "Ruffian BCD clock\n"
+msgstr "Ruffian BCD годинник\n"
+
+#: hwclock/cmos.c:201
+#, c-format
+msgid "clockport adjusted to 0x%x\n"
+msgstr "порт годинника настроєно на 0x%x\n"
+
+#: hwclock/cmos.c:213
+#, c-format
+msgid "funky TOY!\n"
+msgstr "боязливий TOY!\n"
+
+#: hwclock/cmos.c:244
+#, c-format
+msgid "%s: atomic %s failed for 1000 iterations!"
+msgstr "%s: помилка атомарної операція %s за 1000 ітерацій!"
+
+#: hwclock/cmos.c:273
+#, c-format
+msgid "cmos_read(): write to control address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:276
+#, c-format
+msgid "cmos_read(): read data address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:307
+#, c-format
+msgid "cmos_write(): write to control address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:311
+#, c-format
+msgid "cmos_write(): write to data address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:574
+#, c-format
+msgid "Cannot open /dev/port: %s"
+msgstr "не вдається відкрити /dev/port: %s"
+
+#: hwclock/cmos.c:581
+#, c-format
+msgid "I failed to get permission because I didn't try.\n"
+msgstr "не вдається отримати дозвіл, тому-що не було зроблено спроби.\n"
+
+#: hwclock/cmos.c:584
+#, c-format
+msgid "%s is unable to get I/O port access:  the iopl(3) call failed.\n"
+msgstr ""
+"%s не вдається отримати доступ до порту I/O:  помилка системного виклику iopl"
+"(3).\n"
+
+#: hwclock/cmos.c:587
+#, c-format
+msgid "Probably you need root privileges.\n"
+msgstr "Можливо слід мати права адміністратора.\n"
+
+#: hwclock/hwclock.c:231
+#, c-format
+msgid "Assuming hardware clock is kept in %s time.\n"
+msgstr "Вважається, що апаратний годинник синхронізований з %s часом.\n"
+
+#: hwclock/hwclock.c:232 hwclock/hwclock.c:327
+msgid "UTC"
+msgstr "UTC"
+
+#: hwclock/hwclock.c:232 hwclock/hwclock.c:326
+msgid "local"
+msgstr "локальний"
+
+#: hwclock/hwclock.c:312
+#, c-format
+msgid "%s: Warning: unrecognized third line in adjtime file\n"
+msgstr "%s: Попередження: нерозпізнаний третій рядок у adjtime файлі\n"
+
+#: hwclock/hwclock.c:314
+#, c-format
+msgid "(Expected: `UTC' or `LOCAL' or nothing.)\n"
+msgstr "(Очікувалось: або `UTC', або `LOCAL', або порожній рядок.)\n"
+
+#: hwclock/hwclock.c:321
+#, c-format
+msgid "Last drift adjustment done at %ld seconds after 1969\n"
+msgstr "Остання корекція відхилення виконана у %ld секунд після 1969\n"
+
+#: hwclock/hwclock.c:323
+#, c-format
+msgid "Last calibration done at %ld seconds after 1969\n"
+msgstr "Останнє калібрування виконано у %ld секунд після 1969\n"
+
+#: hwclock/hwclock.c:325
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr "Апаратний годинник налаштований на %s час\n"
+
+#: hwclock/hwclock.c:327
+msgid "unknown"
+msgstr "невідомий"
+
+#: hwclock/hwclock.c:351
+#, c-format
+msgid "Waiting for clock tick...\n"
+msgstr "Очікується сигнал годинника...\n"
+
+#: hwclock/hwclock.c:357
+#, c-format
+msgid "...synchronization failed\n"
+msgstr ""
+
+#: hwclock/hwclock.c:359
+#, c-format
+msgid "...got clock tick\n"
+msgstr "...отримано сигнал годинника\n"
+
+#: hwclock/hwclock.c:413
+#, c-format
+msgid "Invalid values in hardware clock: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+msgstr ""
+"Неправильне значення у апаратному годиннику: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+
+#: hwclock/hwclock.c:421
+#, 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"
+
+#: hwclock/hwclock.c:451
+#, c-format
+msgid "Time read from Hardware Clock: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+msgstr "Час прочитаний з апаратного годинника: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+
+#: hwclock/hwclock.c:480
+#, c-format
+msgid "Setting Hardware Clock to %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr ""
+"Апаратний годинник встановлюється у %.2d:%.2d:%.2d = %ld секунд після 1969\n"
+
+#: hwclock/hwclock.c:486
+#, c-format
+msgid "Clock not changed - testing only.\n"
+msgstr "Годинник не змінено - лише перевірка.\n"
+
+#: hwclock/hwclock.c:536
+#, 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"
+
+#: hwclock/hwclock.c:572
+#, c-format
+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).\n"
+msgstr ""
+"Регістри апаратного годинника містять значення, яке або неправильне "
+"(наприклад 50-й день місяця), або за межами, які може обробити програма "
+"(наприклад 2095рік).\n"
+
+#: hwclock/hwclock.c:582
+#, c-format
+msgid "%s  %.6f seconds\n"
+msgstr "%s  %.6f секунд\n"
+
+#: hwclock/hwclock.c:616
+#, c-format
+msgid "No --date option specified.\n"
+msgstr "Не було вказано параметр --date.\n"
+
+#: hwclock/hwclock.c:622
+#, c-format
+msgid "--date argument too long\n"
+msgstr "аргумент --date надто довгий\n"
+
+#: hwclock/hwclock.c:629
+#, c-format
+msgid ""
+"The value of the --date option is not a valid date.\n"
+"In particular, it contains quotation marks.\n"
+msgstr ""
+"Значення аргументу --date не є правильною датою.\n"
+"Зокрема, воно містить лапки.\n"
+
+#: hwclock/hwclock.c:637
+#, c-format
+msgid "Issuing date command: %s\n"
+msgstr "Виконується команда date: %s\n"
+
+#: hwclock/hwclock.c:641
+msgid "Unable to run 'date' program in /bin/sh shell. popen() failed"
+msgstr ""
+"не вдається виконати команду 'date' у оболонці /bin/sh. Помилка popen()"
+
+#: hwclock/hwclock.c:649
+#, c-format
+msgid "response from date command = %s\n"
+msgstr "вивід команди date = %s\n"
+
+#: hwclock/hwclock.c:651
+#, c-format
+msgid ""
+"The date command issued by %s returned unexpected results.\n"
+"The command was:\n"
+"  %s\n"
+"The response was:\n"
+"  %s\n"
+msgstr ""
+"Команда date виконана %s повернула неочікуваний результат.\n"
+"Команда:\n"
+"  %s\n"
+"Результат:\n"
+"  %s\n"
+
+#: hwclock/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"
+
+#: hwclock/hwclock.c:674
+#, c-format
+msgid "date string %s equates to %ld seconds since 1969.\n"
+msgstr "рядок дати %s дорівнює %ld секундам з 1969.\n"
+
+#: hwclock/hwclock.c:706
+#, c-format
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot set the "
+"System Time from it.\n"
+msgstr ""
+"Апаратний годинник містить неправильний час, програма не може встановити по "
+"ньому системний час.\n"
+
+#: hwclock/hwclock.c:728 hwclock/hwclock.c:805
+#, c-format
+msgid "Calling settimeofday:\n"
+msgstr "Запускається settimeofday:\n"
+
+#: hwclock/hwclock.c:729 hwclock/hwclock.c:807
+#, c-format
+msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+
+#: hwclock/hwclock.c:731 hwclock/hwclock.c:809
+#, c-format
+msgid "\ttz.tz_minuteswest = %d\n"
+msgstr "\ttz.tz_minuteswest = %d\n"
+
+#: hwclock/hwclock.c:734 hwclock/hwclock.c:812
+#, c-format
+msgid "Not setting system clock because running in test mode.\n"
+msgstr ""
+"Системний час не встановлюється, тому що запущений у тестовому режимі.\n"
+
+#: hwclock/hwclock.c:743 hwclock/hwclock.c:821
+#, c-format
+msgid "Must be superuser to set system clock.\n"
+msgstr ""
+"Для встановлення системного часу необхідно мати права адміністратора.\n"
+
+#: hwclock/hwclock.c:746 hwclock/hwclock.c:824
+msgid "settimeofday() failed"
+msgstr "помилка у settimeofday()"
+
+#: hwclock/hwclock.c:782
+#, c-format
+msgid "Current system time: %ld = %s\n"
+msgstr ""
+
+#: hwclock/hwclock.c:806
+#, c-format
+msgid "\tUTC: %s\n"
+msgstr ""
+
+#: hwclock/hwclock.c:853
+#, c-format
+msgid ""
+"Not adjusting drift factor because the Hardware Clock previously contained "
+"garbage.\n"
+msgstr ""
+"Коефіцієнт відхилення не корегується, тому що попереднє значення апаратного "
+"годинника було неправильним.\n"
+
+#: hwclock/hwclock.c:858
+#, 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"
+
+#: hwclock/hwclock.c:864
+#, c-format
+msgid ""
+"Not adjusting drift factor because it has been less than a day since the "
+"last calibration.\n"
+msgstr ""
+"Коефіцієнт відхилення не корегується, тому що минуло менше доби з моменту "
+"останнього калібрування.\n"
+
+#: hwclock/hwclock.c:912
+#, 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"
+
+#: hwclock/hwclock.c:962
+#, c-format
+msgid "Time since last adjustment is %d seconds\n"
+msgstr "З моменту останнього корегування минуло %d секунд\n"
+
+#: hwclock/hwclock.c:964
+#, c-format
+msgid "Need to insert %d seconds and refer time back %.6f seconds ago\n"
+msgstr ""
+"Необхідно вставити %d секунд та знову перевірити час знову %.6f секунд "
+"назад\n"
+
+#: hwclock/hwclock.c:993
+#, c-format
+msgid "Not updating adjtime file because of testing mode.\n"
+msgstr "У тестовому режимі файл adjtime не оновлюється.\n"
+
+#: hwclock/hwclock.c:994
+#, c-format
+msgid ""
+"Would have written the following to %s:\n"
+"%s"
+msgstr ""
+"У файл %s було б записано:\n"
+"%s"
+
+#: hwclock/hwclock.c:1002
+#, c-format
+msgid ""
+"Could not open file with the clock adjustment parameters in it (%s) for "
+"writing"
+msgstr ""
+
+#: hwclock/hwclock.c:1007 hwclock/hwclock.c:1012
+#, c-format
+msgid "Could not update file with the clock adjustment parameters (%s) in it"
+msgstr ""
+
+#: hwclock/hwclock.c:1018
+#, c-format
+msgid "Drift adjustment parameters not updated.\n"
+msgstr "Параметри корекції відхилення не оновлені.\n"
+
+#: hwclock/hwclock.c:1059
+#, c-format
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot adjust it.\n"
+msgstr ""
+"У апаратному годиннику встановлено некоректний час, тому його не "
+"вдаєтьсяскорегувати.\n"
+
+#: hwclock/hwclock.c:1067
+#, fuzzy, c-format
+msgid ""
+"Not setting clock because last adjustment time is zero, so history is bad."
+msgstr ""
+"Коефіцієнт відхилення не корегується, тому що час останнього калібрування "
+"дорівнює нулю,\n"
+"тому попереднє значення неправильне та необхідне рекалібрування.\n"
+
+#: hwclock/hwclock.c:1090
+#, c-format
+msgid "Needed adjustment is less than one second, so not setting clock.\n"
+msgstr ""
+"Необхідна корекція менше ніж на одну секунду, тому годинник не оновлюється.\n"
+
+#: hwclock/hwclock.c:1116
+#, c-format
+msgid "Using %s.\n"
+msgstr "Використовується %s.\n"
+
+#: hwclock/hwclock.c:1118
+#, c-format
+msgid "No usable clock interface found.\n"
+msgstr "Не знайдено підтримуваного інтерфейсу годинника.\n"
+
+#: hwclock/hwclock.c:1222 hwclock/hwclock.c:1228
+#, c-format
+msgid "Unable to set system clock.\n"
+msgstr "не вдається встановити системний час.\n"
+
+#: hwclock/hwclock.c:1258
+#, c-format
+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.\n"
+msgstr ""
+"Ядро зберігає значення епохи у апаратному годиннику лише на Alpha системах.\n"
+"Ця копія hwclock скомпільована для іншої архітектури, ніж Alpha\n"
+"(тож, напевно, ця система не є системою Alpha). Ніяких дій не виконано.\n"
+
+#: hwclock/hwclock.c:1267
+#, c-format
+msgid "Unable to get the epoch value from the kernel.\n"
+msgstr "не вдається отримати значення епохи від ядра.\n"
+
+#: hwclock/hwclock.c:1269
+#, c-format
+msgid "Kernel is assuming an epoch value of %lu\n"
+msgstr "Ядро вважає, що значення епохи - %lu\n"
+
+#: hwclock/hwclock.c:1272
+#, c-format
+msgid ""
+"To set the epoch value, you must use the 'epoch' option to tell to what "
+"value to set it.\n"
+msgstr ""
+"Щоб встановити значення епохи, необхідно використовувати параметр 'epoch' із "
+"зазначенням встановлюваного значення.\n"
+
+#: hwclock/hwclock.c:1275
+#, c-format
+msgid "Not setting the epoch to %d - testing only.\n"
+msgstr "Епоха не встановлюється у %d - лише тестування.\n"
+
+#: hwclock/hwclock.c:1278
+#, c-format
+msgid "Unable to set the epoch value in the kernel.\n"
+msgstr "не вдається встановити значення епохи у ядрі.\n"
+
+#: hwclock/hwclock.c:1291 misc-utils/cal.c:345 misc-utils/kill.c:189
+#, c-format
+msgid "%s from %s\n"
+msgstr "%s з %s\n"
+
+#: hwclock/hwclock.c:1312
+#, fuzzy, c-format
+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"
+"  -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"
+"                системного часу\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"
+"  --noadjfile   не обробляти /etc/adjtime. Вимагає використання або --utc,\n"
+"                або --localtime\n"
+
+#: hwclock/hwclock.c:1347
+#, fuzzy, c-format
+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"
+
+#: hwclock/hwclock.c:1434
+#, fuzzy, c-format
+msgid "%s: Unable to connect to audit system\n"
+msgstr "не вдається встановити системний час.\n"
+
+#: hwclock/hwclock.c:1552
+#, c-format
+msgid "%s takes no non-option arguments.  You supplied %d.\n"
+msgstr "%s не очікує параметрів без ключів. Ви вказали %d.\n"
+
+#: hwclock/hwclock.c:1559
+#, c-format
+msgid ""
+"You have specified multiple functions.\n"
+"You can only perform one function at a time.\n"
+msgstr ""
+"Ви вказали декілька функцій.\n"
+"Можна виконувати лише одну функцію одночасно.\n"
+
+#: hwclock/hwclock.c:1566
+#, c-format
+msgid ""
+"%s: The --utc and --localtime options are mutually exclusive.  You specified "
+"both.\n"
+msgstr ""
+"%s: Параметри --utc та --localtime виключають одне одного. А ви вказали "
+"обидва.\n"
+
+#: hwclock/hwclock.c:1573
+#, c-format
+msgid ""
+"%s: The --adjust and --noadjfile options are mutually exclusive.  You "
+"specified both.\n"
+msgstr ""
+"%s: Параметри --adjust та --noadjfile виключають одне одного. А ви вказали "
+"обидва.\n"
+
+#: hwclock/hwclock.c:1580
+#, fuzzy, c-format
+msgid ""
+"%s: The --adjfile and --noadjfile options are mutually exclusive.  You "
+"specified both.\n"
+msgstr ""
+"%s: Параметри --adjust та --noadjfile виключають одне одного. А ви вказали "
+"обидва.\n"
+
+#: hwclock/hwclock.c:1589
+#, c-format
+msgid "%s: With --noadjfile, you must specify either --utc or --localtime\n"
+msgstr ""
+"%s: Разом з --noadjfile, необхідно вказувати або --utc, або --localtime\n"
+
+#: hwclock/hwclock.c:1603
+#, c-format
+msgid "No usable set-to time.  Cannot set clock.\n"
+msgstr "Вказано неправильне значення часу. не вдається встановити годинник.\n"
+
+#: hwclock/hwclock.c:1620
+#, c-format
+msgid "Sorry, only the superuser can change the Hardware Clock.\n"
+msgstr "Змінювати значення апаратного годинника може лише адміністратор.\n"
+
+#: hwclock/hwclock.c:1625
+#, c-format
+msgid "Sorry, only the superuser can change the System Clock.\n"
+msgstr "Змінювати системний час може лише адміністратор.\n"
+
+#: hwclock/hwclock.c:1630
+#, c-format
+msgid ""
+"Sorry, only the superuser can change the Hardware Clock epoch in the "
+"kernel.\n"
+msgstr ""
+"Змінювати значення епохи апаратного годинника у ядрі може лише "
+"адміністратор.\n"
+
+#: hwclock/hwclock.c:1651
+#, c-format
+msgid "Cannot access the Hardware Clock via any known method.\n"
+msgstr ""
+"не вдається отримати доступ до апаратного годинника використовуючи будь-який "
+"відомий метод.\n"
+
+#: hwclock/hwclock.c:1655
+#, c-format
+msgid ""
+"Use the --debug option to see the details of our search for an access "
+"method.\n"
+msgstr "Щоб переглянути подробиці пошуку методу доступу вкажіть --debug.\n"
+
+#: hwclock/kd.c:53
+#, c-format
+msgid "Waiting in loop for time from KDGHWCLK to change\n"
+msgstr "Очікування зміни часу з KDGHWCLK у циклі\n"
+
+#: hwclock/kd.c:56
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr "Помилка зчитування часу з системному виклику ioctl KDGHWCLK"
+
+#: hwclock/kd.c:77 hwclock/rtc.c:221
+#, c-format
+msgid "Timed out waiting for time change.\n"
+msgstr "Вийшов час очікування зміни часу.\n"
+
+#: hwclock/kd.c:81
+msgid "KDGHWCLK ioctl to read time failed in loop"
+msgstr "Помилка зчитування у циклі часу з системному виклику ioctl KDGHWCLK"
+
+#: hwclock/kd.c:103
+#, c-format
+msgid "ioctl() failed to read time from %s"
+msgstr "помилка зчитування часу у ioctl() з %s"
+
+#: hwclock/kd.c:139
+msgid "ioctl KDSHWCLK failed"
+msgstr "помилка ioctl KDSHWCLK"
+
+#: hwclock/kd.c:175
+msgid "Can't open /dev/tty1 or /dev/vc/1"
+msgstr "не вдається відкрити /dev/tty1 чи /dev/vc/1"
+
+#: hwclock/kd.c:179
+msgid "KDGHWCLK ioctl failed"
+msgstr "помилка ioctl KDSHWCLK"
+
+#: hwclock/rtc.c:147 hwclock/rtc.c:241
+#, c-format
+msgid "open() of %s failed"
+msgstr "помилка у open() для %s"
+
+#: hwclock/rtc.c:181
+#, c-format
+msgid "ioctl() to %s to read the time failed.\n"
+msgstr "зчитування часу у ioctl() для %s.\n"
+
+#: hwclock/rtc.c:203
+#, c-format
+msgid "Waiting in loop for time from %s to change\n"
+msgstr "Очікування зміни часу з %s у циклі\n"
+
+#: hwclock/rtc.c:259
+#, c-format
+msgid "%s does not have interrupt functions. "
+msgstr "%s не має функції переривання."
+
+#: hwclock/rtc.c:270
+#, c-format
+msgid "read() to %s to wait for clock tick failed"
+msgstr "помилка очікування у циклі в read() для %s"
+
+#: hwclock/rtc.c:288
+#, c-format
+msgid "select() to %s to wait for clock tick failed"
+msgstr "помилка очікування у циклі в select() для %s"
+
+#: hwclock/rtc.c:291
+#, c-format
+msgid "select() to %s to wait for clock tick timed out\n"
+msgstr "помилка очікування у циклі в select() для %s\n"
+
+#: hwclock/rtc.c:300
+#, c-format
+msgid "ioctl() to %s to turn off update interrupts failed"
+msgstr "помилка вимкнення оновлення переривань у ioctl() для %s"
+
+#: hwclock/rtc.c:303
+#, c-format
+msgid "ioctl() to %s to turn on update interrupts failed unexpectedly"
+msgstr "неочікувана помилка вимкнення оновлення переривань у ioctl() для %s"
+
+#: hwclock/rtc.c:360
+#, c-format
+msgid "ioctl() to %s to set the time failed.\n"
+msgstr "помилка встановлення часу в ioctl() для %s.\n"
+
+#: hwclock/rtc.c:366
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr "ioctl(%s) успішно виконано.\n"
+
+#: hwclock/rtc.c:392
+#, c-format
+msgid "Open of %s failed"
+msgstr "Помилка відкривання %s"
+
+#: hwclock/rtc.c:410 hwclock/rtc.c:454
+#, 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.\n"
+msgstr ""
+"для маніпулювання значенням епохи у ядрі необхідно отримати доступ до Linux "
+"'rtc' пристрою через спеціальний файл %s. Цей файл не існує у цій системі.\n"
+
+#: hwclock/rtc.c:415 hwclock/rtc.c:459
+#, c-format
+msgid "Unable to open %s"
+msgstr "не вдається відкрити %s"
+
+#: hwclock/rtc.c:422
+#, c-format
+msgid "ioctl(RTC_EPOCH_READ) to %s failed"
+msgstr "помилка у ioctl(RTC_EPOCH_READ) для %s"
+
+#: hwclock/rtc.c:427
+#, c-format
+msgid "we have read epoch %ld from %s with RTC_EPOCH_READ ioctl.\n"
+msgstr "прочитано значення епохи %ld з %s через RTC_EPOCH_READ ioctl.\n"
+
+#: hwclock/rtc.c:446
+#, c-format
+msgid "The epoch value may not be less than 1900.  You requested %ld\n"
+msgstr "Значення епохи не може бути нижчим ніж 1900.  Ви вказали %ld\n"
+
+#: hwclock/rtc.c:464
+#, c-format
+msgid "setting epoch to %ld with RTC_EPOCH_SET ioctl to %s.\n"
+msgstr "встановлюється епоха = %ld через RTC_EPOCH_SET ioctl у %s.\n"
+
+#: hwclock/rtc.c:469
+#, c-format
+msgid ""
+"The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl.\n"
+msgstr ""
+"Драйвер ядра для %s не підтримує системний виклик RTC_EPOCH_SET ioctl.\n"
+
+#: hwclock/rtc.c:472
+#, c-format
+msgid "ioctl(RTC_EPOCH_SET) to %s failed"
+msgstr "помилка у ioctl(RTC_EPOCH_SET) для %s"
+
+#: login-utils/agetty.c:361
+#, c-format
+msgid "%s: can't exec %s: %m"
+msgstr "%s: не вдається запустити %s: %m"
+
+#: login-utils/agetty.c:384
+msgid "can't malloc initstring"
+msgstr "не вдається виділити пам'ять для рядку ініціалізації"
+
+#: login-utils/agetty.c:449
+#, c-format
+msgid "bad timeout value: %s"
+msgstr "неправильне значення періоду очікування: %s"
+
+#: login-utils/agetty.c:526
+#, c-format
+msgid "bad speed: %s"
+msgstr "неправильне значення швидкості: %s"
+
+#: login-utils/agetty.c:528
+msgid "too many alternate speeds"
+msgstr "надто багато запасних значень швидкості"
+
+#: login-utils/agetty.c:630
+#, c-format
+msgid "/dev: chdir() failed: %m"
+msgstr "помилка chdir(\"/dev\"): %m"
+
+#: login-utils/agetty.c:634
+#, c-format
+msgid "/dev/%s: not a character device"
+msgstr "/dev/%s: не є символьним пристроєм"
+
+#: login-utils/agetty.c:643
+#, c-format
+msgid "/dev/%s: cannot open as standard input: %m"
+msgstr "/dev/%s: не вдається відкрити стандартний ввід: %m"
+
+#: login-utils/agetty.c:653
+#, c-format
+msgid "%s: not open for read/write"
+msgstr "%s: не вдається відкрити для читання/запису"
+
+#: login-utils/agetty.c:659
+#, c-format
+msgid "%s: dup problem: %m"
+msgstr "%s: помилка при dup: %m"
+
+#: login-utils/agetty.c:946
+#, c-format
+msgid "user"
+msgstr "користувач"
+
+#: login-utils/agetty.c:946
+#, c-format
+msgid "users"
+msgstr "користувачів"
+
+#: login-utils/agetty.c:1031
+#, c-format
+msgid "%s: read: %m"
+msgstr "%s: прочитано: %m"
+
+#: login-utils/agetty.c:1078
+#, c-format
+msgid "%s: input overrun"
+msgstr "%s: переповнення вводу"
+
+#: login-utils/agetty.c:1207
+#, fuzzy, c-format
+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 [-hiLmw] [-l програма_входу] [-t час_очікування] [-I "
+"рядок_ініц] [-H реєстрац_вузол] швидкість_передачі,... рядок "
+"[тип_терміналу]\n"
+"або\t[-hiLmw] [-l програма_входу] [-t час_очікування] [-I рядок_ініц] [-H "
+"реєстрац_вузол] рядок швидкість_передачі,... [тип_терміналу]\n"
+
+#: login-utils/checktty.c:91 login-utils/checktty.c:112
+#, c-format
+msgid "login: memory low, login may fail\n"
+msgstr "login: недостатньо пам'яті, login може зазнати невдачі\n"
+
+#: login-utils/checktty.c:92
+msgid "can't malloc for ttyclass"
+msgstr "не вдається виділити пам'ять для ttyclass"
+
+#: login-utils/checktty.c:113
+msgid "can't malloc for grplist"
+msgstr "не вдається виділити пам'ять для grplist"
+
+#: login-utils/checktty.c:554
+#, c-format
+msgid "Login on %s from %s denied by default.\n"
+msgstr "Вхід на %s з %s заборонений перманентно.\n"
+
+#: login-utils/checktty.c:565
+#, c-format
+msgid "Login on %s from %s denied.\n"
+msgstr "Вхід на %s з %s заборонений.\n"
+
+#: login-utils/chfn.c:133 login-utils/chsh.c:119
+#, c-format
+msgid "%s: you (user %d) don't exist.\n"
+msgstr "%s: ваш користувач з uid %d не існує.\n"
+
+#: login-utils/chfn.c:140 login-utils/chsh.c:126
+#, c-format
+msgid "%s: user \"%s\" does not exist.\n"
+msgstr "%s: користувач \"%s\" не існує.\n"
+
+#: login-utils/chfn.c:145 login-utils/chsh.c:131
+#, c-format
+msgid "%s: can only change local entries; use yp%s instead.\n"
+msgstr ""
+"%s: може змінювати лише локальні записи; використовуйте yp%s натомість.\n"
+
+#: login-utils/chfn.c:156 login-utils/chsh.c:142
+msgid "Unknown user context"
+msgstr "Невідомий контекст користувача"
+
+#: login-utils/chfn.c:157
+#, c-format
+msgid "%s: %s is not authorized to change the finger info of %s\n"
+msgstr "%s: %s не авторизований для зміни інформації finger у %s\n"
+
+#: login-utils/chfn.c:164 login-utils/chsh.c:150
+#, c-format
+msgid "%s: Can't set default context for /etc/passwd"
+msgstr "%s: Не вдається встановити типовий контекст для /etc/passwd"
+
+#: login-utils/chfn.c:178
+#, c-format
+msgid "Changing finger information for %s.\n"
+msgstr "Зміна finger інформації для %s.\n"
+
+#: login-utils/chfn.c:189 login-utils/chsh.c:188 login-utils/login.c:572
+#, fuzzy, c-format
+msgid "%s: PAM failure, aborting: %s\n"
+msgstr "login: помилка PAM, перервано: %s\n"
+
+#: login-utils/chfn.c:212 login-utils/chsh.c:211 login-utils/login.c:823
+#: login-utils/newgrp.c:85 login-utils/simpleinit.c:340 mount/lomount.c:744
+#: mount/lomount.c:747
+msgid "Password: "
+msgstr "Пароль: "
+
+#: login-utils/chfn.c:215 login-utils/chsh.c:214
+msgid "Incorrect password."
+msgstr "Некоректний пароль."
+
+#: login-utils/chfn.c:226
+#, c-format
+msgid "Finger information not changed.\n"
+msgstr "Finger інформацію не змінено.\n"
+
+#: login-utils/chfn.c:328
+#, c-format
+msgid "Usage: %s [ -f full-name ] [ -o office ] "
+msgstr "Використання: %s [ -f повне_ім'я ] [ -o офіс ]"
+
+#: login-utils/chfn.c:329
+#, c-format
+msgid ""
+"[ -p office-phone ]\n"
+"\t[ -h home-phone ] "
+msgstr ""
+"[ -p офісний-телефон ]\n"
+"\t[ -h домашній-телефон ] "
+
+#: login-utils/chfn.c:330
+#, c-format
+msgid "[ --help ] [ --version ]\n"
+msgstr "[ --help ] [ --version ]\n"
+
+#: login-utils/chfn.c:378
+msgid "Office"
+msgstr ""
+
+#: login-utils/chfn.c:379
+msgid "Office Phone"
+msgstr ""
+
+#: login-utils/chfn.c:380
+msgid "Home Phone"
+msgstr ""
+
+#: login-utils/chfn.c:401 login-utils/chsh.c:321
+#, c-format
+msgid ""
+"\n"
+"Aborted.\n"
+msgstr ""
+"\n"
+"Перервано.\n"
+
+#: login-utils/chfn.c:434
+#, c-format
+msgid "field is too long.\n"
+msgstr "поле надто велике.\n"
+
+#: login-utils/chfn.c:442
+#, c-format
+msgid "'%c' is not allowed.\n"
+msgstr "'%c' не не дозволяється.\n"
+
+#: login-utils/chfn.c:447
+#, c-format
+msgid "Control characters are not allowed.\n"
+msgstr "Керуючі послідовності не дозволяються.\n"
+
+#: login-utils/chfn.c:512
+#, c-format
+msgid "Finger information *NOT* changed.  Try again later.\n"
+msgstr "Finger інформацію НЕ змінено. Спробуйте пізніше.\n"
+
+#: login-utils/chfn.c:515
+#, c-format
+msgid "Finger information changed.\n"
+msgstr "Finger інформацію змінено.\n"
+
+#: login-utils/chsh.c:143
+#, c-format
+msgid "%s: %s is not authorized to change the shell of %s\n"
+msgstr "%s: %s не авторизований для зміни оболонки %s\n"
+
+#: login-utils/chsh.c:164
+#, c-format
+msgid ""
+"%s: Running UID doesn't match UID of user we're altering, shell change "
+"denied\n"
+msgstr ""
+"%s: UID запущеної програми не відповідає UID користувача, параметри якого "
+"змінюються, зміну оболонки заборонено\n"
+
+#: login-utils/chsh.c:170
+#, c-format
+msgid "%s: Your shell is not in /etc/shells, shell change denied\n"
+msgstr "%s: Ваша оболонка не у /etc/shells, зміна оболонки заборонена\n"
+
+#: login-utils/chsh.c:177
+#, c-format
+msgid "Changing shell for %s.\n"
+msgstr "Змінюється оболонка для %s.\n"
+
+#: login-utils/chsh.c:222
+msgid "New shell"
+msgstr "Нова оболонка"
+
+#: login-utils/chsh.c:229
+#, c-format
+msgid "Shell not changed.\n"
+msgstr "Оболонка не змінена.\n"
+
+#: login-utils/chsh.c:235
+#, c-format
+msgid "Shell *NOT* changed.  Try again later.\n"
+msgstr "Оболонка НЕ змінена. Спробуйте пізніше.\n"
+
+#: login-utils/chsh.c:238
+#, c-format
+msgid "Shell changed.\n"
+msgstr "Оболонка змінена.\n"
+
+#: login-utils/chsh.c:303
+#, c-format
+msgid ""
+"Usage: %s [ -s shell ] [ --list-shells ] [ --help ] [ --version ]\n"
+"       [ username ]\n"
+msgstr ""
+"Використання: %s [ -s оболонка ] [ --list-shells ] [ --help ] [ --version ]\n"
+"       [ ім'я_користувача ]\n"
+
+#: login-utils/chsh.c:349
+#, c-format
+msgid "%s: shell must be a full path name.\n"
+msgstr "%s: шлях до оболонки повинен бути абсолютним.\n"
+
+#: login-utils/chsh.c:353
+#, c-format
+msgid "%s: \"%s\" does not exist.\n"
+msgstr "%s: \"%s\" не існує.\n"
+
+#: login-utils/chsh.c:357
+#, c-format
+msgid "%s: \"%s\" is not executable.\n"
+msgstr "%s: \"%s\" не є виконуваним.\n"
+
+#: login-utils/chsh.c:364
+#, c-format
+msgid "%s: '%c' is not allowed.\n"
+msgstr "%s: '%c' не дозволяється.\n"
+
+#: login-utils/chsh.c:368
+#, c-format
+msgid "%s: Control characters are not allowed.\n"
+msgstr "%s: Використовувати керуючі символи не дозволяються.\n"
+
+#: login-utils/chsh.c:375 login-utils/chsh.c:385
+#, c-format
+msgid "Warning: \"%s\" is not listed in /etc/shells.\n"
+msgstr "Попередження: \"%s\" не зі списку /etc/shells.\n"
+
+#: login-utils/chsh.c:377
+#, c-format
+msgid "%s: \"%s\" is not listed in /etc/shells.\n"
+msgstr "%s: \"%s\" не зі списку /etc/shells.\n"
+
+#: login-utils/chsh.c:379
+#, fuzzy, c-format
+msgid "%s: Use -l option to see list.\n"
+msgstr "%s: використовуйте параметр -l щоб переглянути список\n"
+
+#: login-utils/chsh.c:386
+#, c-format
+msgid "Use %s -l to see list.\n"
+msgstr "Використовуйте %s -l щоб переглянути список.\n"
+
+#: login-utils/chsh.c:406
+#, c-format
+msgid "No known shells.\n"
+msgstr "Немає відомих оболонок.\n"
+
+#: login-utils/islocal.c:87
+#, fuzzy, c-format
+msgid "Failed to open %s for reading, exiting."
+msgstr "не вдається відкрити %s для читання"
+
+#: login-utils/last.c:148
+msgid "usage: last [-#] [-f file] [-t tty] [-h hostname] [user ...]\n"
+msgstr ""
+"Використання: last [-#] [-f file] [-t tty] [-h назва_вузла] "
+"[користувач ...]\n"
+
+#: login-utils/last.c:284
+msgid "  still logged in"
+msgstr "  досі у системі"
+
+#: login-utils/last.c:306
+#, c-format
+msgid ""
+"\n"
+"wtmp begins %s"
+msgstr ""
+"\n"
+"wtmp починається %s"
+
+#: login-utils/last.c:362 login-utils/last.c:380 login-utils/last.c:431
+msgid "last: malloc failure.\n"
+msgstr "last: помилка виділення пам'яті.\n"
+
+#: login-utils/last.c:407
+msgid "last: gethostname"
+msgstr "last: помилка gethostname"
+
+#: login-utils/last.c:456
+#, c-format
+msgid ""
+"\n"
+"interrupted %10.10s %5.5s \n"
+msgstr ""
+"\n"
+"перервано %10.10s %5.5s \n"
+
+#: login-utils/login.c:197
+#, c-format
+msgid "FATAL: can't reopen tty: %s"
+msgstr "ФАТАЛЬНА ПОМИЛКА: не вдається відкрити tty: %s"
+
+#: login-utils/login.c:229
+msgid "FATAL: bad tty"
+msgstr "ФАТАЛЬНА ПОМИЛКА: неправильний tty"
+
+#: login-utils/login.c:436
+#, c-format
+msgid "login: -h for super-user only.\n"
+msgstr "login: параметр -h може використовувати лише адміністратор.\n"
+
+#: login-utils/login.c:479
+#, c-format
+msgid "usage: login [-fp] [username]\n"
+msgstr "використання: login [-fp] [ім'я_користувача]\n"
+
+#: login-utils/login.c:574
+#, c-format
+msgid "Couldn't initialize PAM: %s"
+msgstr "не вдається ініціалізувати PAM: %s"
+
+#: login-utils/login.c:591
+msgid "login: "
+msgstr "Ім'я:"
+
+#: login-utils/login.c:635
+#, c-format
+msgid "FAILED LOGIN %d FROM %s FOR %s, %s"
+msgstr "ПОМИЛОК ВХОДУ %d З %s ДЛЯ %s, %s"
+
+#: login-utils/login.c:640
+#, c-format
+msgid ""
+"Login incorrect\n"
+"\n"
+msgstr ""
+"Некоректний вхід\n"
+"\n"
+
+#: login-utils/login.c:649
+#, c-format
+msgid "TOO MANY LOGIN TRIES (%d) FROM %s FOR %s, %s"
+msgstr "НАДТО БАГАТО ПОМИЛОК ВХОДУ (%d) З %s ДЛЯ %s, %s"
+
+#: login-utils/login.c:653
+#, c-format
+msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
+msgstr "НЕВДАЛИЙ СЕАНС ВХОДУ З %s ДЛЯ %s, %s"
+
+#: login-utils/login.c:658
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+"\n"
+"Некоректний вхід\n"
+
+#: login-utils/login.c:686 login-utils/login.c:693 login-utils/login.c:727
+#, c-format
+msgid ""
+"\n"
+"Session setup problem, abort.\n"
+msgstr ""
+"\n"
+"Помилка встановлення сеансу, перервано.\n"
+
+#: login-utils/login.c:687
+#, c-format
+msgid "NULL user name in %s:%d. Abort."
+msgstr "NULL ім'я користувача у %s:%d. Вихід."
+
+#: login-utils/login.c:694
+#, c-format
+msgid "Invalid user name \"%s\" in %s:%d. Abort."
+msgstr "Неправильне ім'я користувача \"%s\" у %s:%d. Вихід."
+
+#: login-utils/login.c:713
+#, c-format
+msgid "login: Out of memory\n"
+msgstr "login: Недостатньо пам'яті\n"
+
+#: login-utils/login.c:757
+msgid "Illegal username"
+msgstr "Недопустиме ім'я користувача"
+
+#: login-utils/login.c:800
+#, c-format
+msgid "%s login refused on this terminal.\n"
+msgstr "%s заборонено входити на цьому терміналі.\n"
+
+#: login-utils/login.c:805
+#, c-format
+msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
+msgstr "%s ЗАБОРОНЕНО ВХОДИТИ З %s НА TTY %s"
+
+#: login-utils/login.c:809
+#, c-format
+msgid "LOGIN %s REFUSED ON TTY %s"
+msgstr "ВХІД %s ЗАБОРОНЕНИЙ НА TTY %s"
+
+#: login-utils/login.c:863
+#, c-format
+msgid "Login incorrect\n"
+msgstr "Некоректний вхід\n"
+
+#: login-utils/login.c:1088
+#, c-format
+msgid "DIALUP AT %s BY %s"
+msgstr "ВХІД НА %s ВІД %s"
+
+#: login-utils/login.c:1095
+#, c-format
+msgid "ROOT LOGIN ON %s FROM %s"
+msgstr "ВХІД ROOT НА %s З %s"
+
+#: login-utils/login.c:1098
+#, c-format
+msgid "ROOT LOGIN ON %s"
+msgstr "ВХІД ROOT НА %s"
+
+#: login-utils/login.c:1101
+#, c-format
+msgid "LOGIN ON %s BY %s FROM %s"
+msgstr "ВХІД НА %s КОРИСТУВАЧ %s З %s"
+
+#: login-utils/login.c:1104
+#, c-format
+msgid "LOGIN ON %s BY %s"
+msgstr "ВХІД НА %s КОРИСТУВАЧ %s"
+
+#: login-utils/login.c:1125
+#, c-format
+msgid "You have new mail.\n"
+msgstr "Для вас є нова пошта.\n"
+
+#: login-utils/login.c:1127
+#, c-format
+msgid "You have mail.\n"
+msgstr "Для вас є пошта.\n"
+
+#: login-utils/login.c:1171
+#, c-format
+msgid "login: failure forking: %s"
+msgstr "login: помилка розгалуження: %s"
+
+#: login-utils/login.c:1218
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr "помилка TIOCSCTTY: %m"
+
+#: login-utils/login.c:1224
+msgid "setuid() failed"
+msgstr "помилка setuid()"
+
+#: login-utils/login.c:1230
+#, c-format
+msgid "No directory %s!\n"
+msgstr "Немає каталогу %s!\n"
+
+#: login-utils/login.c:1234
+#, c-format
+msgid "Logging in with home = \"/\".\n"
+msgstr "Вхід з домашнім каталогом = \"/\".\n"
+
+#: login-utils/login.c:1242
+#, c-format
+msgid "login: no memory for shell script.\n"
+msgstr "login: недостатньо пам'яті для сценарію оболонки.\n"
+
+#: login-utils/login.c:1269
+#, c-format
+msgid "login: couldn't exec shell script: %s.\n"
+msgstr "login: не вдається виконати сценарій оболонки: %s.\n"
+
+#: login-utils/login.c:1272
+#, c-format
+msgid "login: no shell: %s.\n"
+msgstr "login: немає оболонки: %s.\n"
+
+#: login-utils/login.c:1287
+#, c-format
+msgid ""
+"\n"
+"%s login: "
+msgstr ""
+"\n"
+"%s ім'я: "
+
+#: login-utils/login.c:1298
+#, c-format
+msgid "login name much too long.\n"
+msgstr "реєстраційне ім'я надто довге.\n"
+
+#: login-utils/login.c:1299
+msgid "NAME too long"
+msgstr "Ім'я надто довге"
+
+#: login-utils/login.c:1306
+#, c-format
+msgid "login names may not start with '-'.\n"
+msgstr "реєстраційне ім'я не може починатись з '-'.\n"
+
+#: login-utils/login.c:1316
+#, c-format
+msgid "too many bare linefeeds.\n"
+msgstr "надто багато надмірних нових рядків.\n"
+
+#: login-utils/login.c:1317
+msgid "EXCESSIVE linefeeds"
+msgstr "НАДМІРНІ символи нового рядка"
+
+#: login-utils/login.c:1349
+#, c-format
+msgid "Login timed out after %d seconds\n"
+msgstr "Вийшов час очікування входу після %d секунд\n"
+
+#: login-utils/login.c:1437
+#, c-format
+msgid "Last login: %.*s "
+msgstr "Останній вхід: %.*s "
+
+#: login-utils/login.c:1441
+#, c-format
+msgid "from %.*s\n"
+msgstr "з %.*s\n"
+
+#: login-utils/login.c:1444
+#, c-format
+msgid "on %.*s\n"
+msgstr "на %.*s\n"
+
+#: login-utils/login.c:1470
+#, c-format
+msgid "LOGIN FAILURE FROM %s, %s"
+msgstr "ПОМИЛКА ВХОДУ З %s, %s"
+
+#: login-utils/login.c:1473
+#, c-format
+msgid "LOGIN FAILURE ON %s, %s"
+msgstr "ПОМИЛКА ВХОДУ НА %s, %s"
+
+#: login-utils/login.c:1477
+#, c-format
+msgid "%d LOGIN FAILURES FROM %s, %s"
+msgstr "%d ПОМИЛОК ВХОДУ З %s, %s"
+
+#: login-utils/login.c:1480
+#, c-format
+msgid "%d LOGIN FAILURES ON %s, %s"
+msgstr "%d ПОМИЛОК ВХОДУ НА %s, %s"
+
+#: login-utils/mesg.c:89
+#, c-format
+msgid "is y\n"
+msgstr "встановлено y\n"
+
+#: login-utils/mesg.c:92
+#, c-format
+msgid "is n\n"
+msgstr "встановлено  n\n"
+
+#: login-utils/mesg.c:112
+#, c-format
+msgid "usage: mesg [y | n]\n"
+msgstr "використання: mesg [y | n]\n"
+
+#: login-utils/newgrp.c:105
+msgid "newgrp: Who are you?"
+msgstr "newgrp: Ви хто?"
+
+#: login-utils/newgrp.c:113 login-utils/newgrp.c:127
+msgid "newgrp: setgid"
+msgstr "newgrp: setgid"
+
+#: login-utils/newgrp.c:120 login-utils/newgrp.c:122
+msgid "newgrp: No such group."
+msgstr "newgrp: немає такої групи."
+
+#: login-utils/newgrp.c:131
+msgid "newgrp: Permission denied"
+msgstr "newgrp: Доступ заборонено"
+
+#: login-utils/newgrp.c:138
+msgid "newgrp: setuid"
+msgstr "newgrp: setuid"
+
+#: login-utils/newgrp.c:144
+msgid "No shell"
+msgstr "Немає оболонки"
+
+#: login-utils/shutdown.c:115
+#, c-format
+msgid "Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+msgstr "Використання: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+
+#: login-utils/shutdown.c:133
+msgid "Shutdown process aborted"
+msgstr "Процес завершення роботи відмінено"
+
+#: login-utils/shutdown.c:164
+#, c-format
+msgid "%s: Only root can shut a system down.\n"
+msgstr "%s: Лише адміністратор може завершувати роботу системи.\n"
+
+#: login-utils/shutdown.c:258
+#, c-format
+msgid "That must be tomorrow, can't you wait till then?\n"
+msgstr "Це напевно буде завтра, можете зачекати до того часу?\n"
+
+#: login-utils/shutdown.c:309
+msgid "for maintenance; bounce, bounce"
+msgstr "for maintenance; bounce, bounce"
+
+#: login-utils/shutdown.c:338
+msgid "The system is being shut down within 5 minutes"
+msgstr "Роботу системи буде завершено через 5 хвилин"
+
+#: login-utils/shutdown.c:342
+msgid "Login is therefore prohibited."
+msgstr "Таким чином вхід заборонено."
+
+#: login-utils/shutdown.c:364
+#, c-format
+msgid "rebooted by %s: %s"
+msgstr "перезавантаження ініційоване %s: %s"
+
+#: login-utils/shutdown.c:367
+#, c-format
+msgid "halted by %s: %s"
+msgstr "завершення системи ініційоване %s: %s"
+
+#: login-utils/shutdown.c:431
+msgid ""
+"\n"
+"Why am I still alive after reboot?"
+msgstr ""
+"\n"
+"Чому програма досі працює після перезавантаження?"
+
+#: login-utils/shutdown.c:433
+msgid ""
+"\n"
+"Now you can turn off the power..."
+msgstr ""
+"\n"
+"Ви можете вимкнути живлення..."
+
+#: login-utils/shutdown.c:449
+#, c-format
+msgid "Calling kernel power-off facility...\n"
+msgstr "Викликається функція ядра вимкнення живлення...\n"
+
+#: login-utils/shutdown.c:452
+#, c-format
+msgid "Error powering off\t%s\n"
+msgstr "Помилка вимикання живлення\t%s\n"
+
+#: login-utils/shutdown.c:460
+#, c-format
+msgid "Executing the program \"%s\" ...\n"
+msgstr "Запускається програма \"%s\" ...\n"
+
+#: login-utils/shutdown.c:463
+#, c-format
+msgid "Error executing\t%s\n"
+msgstr "Помилка виконання\t%s\n"
+
+#: login-utils/shutdown.c:490
+#, c-format
+msgid "URGENT: broadcast message from %s:"
+msgstr "ТЕРМІНОВО: широкомовне повідомлення від %s:"
+
+#: login-utils/shutdown.c:496
+#, c-format
+msgid "System going down in %d hours %d minutes"
+msgstr "Роботу системи буде завершено через %d годин %d хвилин"
+
+#: login-utils/shutdown.c:499
+#, c-format
+msgid "System going down in 1 hour %d minutes"
+msgstr "Роботу системи буде завершено через 1 годину %d хвилин"
+
+#: login-utils/shutdown.c:502
+#, c-format
+msgid "System going down in %d minutes\n"
+msgstr "Роботу системи буде завершено через %d хвилин\n"
+
+#: login-utils/shutdown.c:505
+#, c-format
+msgid "System going down in 1 minute\n"
+msgstr "Роботу системи буде завершено через 1 хвилину\n"
+
+#: login-utils/shutdown.c:507
+#, c-format
+msgid "System going down IMMEDIATELY!\n"
+msgstr "Роботу системи буде завершено НЕВІДКЛАДНО!\n"
+
+#: login-utils/shutdown.c:512
+#, c-format
+msgid "\t... %s ...\n"
+msgstr "\t... %s ...\n"
+
+#: login-utils/shutdown.c:569
+msgid "Cannot fork for swapoff. Shrug!"
+msgstr "не вдається створити процес для swapoff. Дивно!"
+
+#: login-utils/shutdown.c:577
+msgid "Cannot exec swapoff, hoping umount will do the trick."
+msgstr "не вдається виконати swapoff, можливо umount виконає цю дію."
+
+#: login-utils/shutdown.c:596
+msgid "Cannot fork for umount, trying manually."
+msgstr "не вдається створити процес для umount, спробуйте вручну."
+
+#: login-utils/shutdown.c:605
+#, c-format
+msgid "Cannot exec %s, trying umount.\n"
+msgstr "не вдається виконати %s, спробуйте umount.\n"
+
+#: login-utils/shutdown.c:609
+msgid "Cannot exec umount, giving up on umount."
+msgstr "не вдається виконати umount, відмова від umount."
+
+#: login-utils/shutdown.c:614
+msgid "Unmounting any remaining filesystems..."
+msgstr "Відключення решти файлових систем..."
+
+#: login-utils/shutdown.c:661
+#, c-format
+msgid "shutdown: Couldn't umount %s: %s\n"
+msgstr "shutdown: не вдається відключити %s: %s\n"
+
+#: login-utils/simpleinit.c:132
+msgid "Booting to single user mode.\n"
+msgstr "Перевантаження у режим єдиного користувача.\n"
+
+#: login-utils/simpleinit.c:136
+msgid "exec of single user shell failed\n"
+msgstr "помилка виконання єдиної оболонки користувача\n"
+
+#: login-utils/simpleinit.c:140
+msgid "fork of single user shell failed\n"
+msgstr "помилка створення процесу оболонки єдиного користувача\n"
+
+#: login-utils/simpleinit.c:208
+msgid "error opening fifo\n"
+msgstr "помилка відкривання fifo\n"
+
+#: login-utils/simpleinit.c:212
+msgid "error setting close-on-exec on /dev/initctl"
+msgstr "помилка встановлення close-on-exec на /dev/initctl"
+
+#: login-utils/simpleinit.c:259
+msgid "error running finalprog\n"
+msgstr "помилка запуску final_prog\n"
+
+#: login-utils/simpleinit.c:263
+msgid "error forking finalprog\n"
+msgstr "помилка створення процесу final_prog\n"
+
+#: login-utils/simpleinit.c:345
+msgid ""
+"\n"
+"Wrong password.\n"
+msgstr ""
+"\n"
+"Неправильний пароль.\n"
+
+#: login-utils/simpleinit.c:418
+msgid "lstat of path failed\n"
+msgstr "помилка виконання lstat для шляху\n"
+
+#: login-utils/simpleinit.c:426
+msgid "stat of path failed\n"
+msgstr "помилка виконання stat для шляху\n"
+
+#: login-utils/simpleinit.c:434
+msgid "open of directory failed\n"
+msgstr "помилка відкривання каталогу\n"
+
+#: login-utils/simpleinit.c:501
+#, c-format
+msgid "respawning: \"%s\" too fast: quenching entry\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:509
+msgid "fork failed\n"
+msgstr "помилка створення процесу\n"
+
+#: login-utils/simpleinit.c:540 text-utils/more.c:1629
+msgid "exec failed\n"
+msgstr "помилка запуску\n"
+
+#: login-utils/simpleinit.c:564
+msgid "cannot open inittab\n"
+msgstr "не вдається відкрити inittab\n"
+
+#: login-utils/simpleinit.c:631
+msgid "no TERM or cannot stat tty\n"
+msgstr "немає TERM або не вдається виконати stat для tty\n"
+
+#: login-utils/simpleinit.c:938
+#, fuzzy, c-format
+msgid "error stopping service: \"%s\"\n"
+msgstr "помилка зупинення служби: \"%s\""
+
+#: login-utils/simpleinit.c:950
+#, fuzzy, c-format
+msgid "Stopped service: %s\n"
+msgstr "помилка зупинення служби: \"%s\""
+
+#: login-utils/simpleinit.c:1070
+#, fuzzy, c-format
+msgid "error running programme: \"%s\"\n"
+msgstr "помилка запуску final_prog\n"
+
+#: login-utils/ttymsg.c:75
+msgid "too many iov's (change code in wall/ttymsg.c)"
+msgstr "надто багато iov-структур (змініть код у wall/ttymsg.c)"
+
+#: login-utils/ttymsg.c:85
+#, c-format
+msgid "excessively long line arg"
+msgstr "надмірно довгий рядок параметра"
+
+#: login-utils/ttymsg.c:140
+#, c-format
+msgid "cannot fork"
+msgstr "не вдається створити процес"
+
+#: login-utils/ttymsg.c:144
+#, c-format
+msgid "fork: %s"
+msgstr "fork: %s"
+
+#: login-utils/ttymsg.c:174
+#, c-format
+msgid "%s: BAD ERROR"
+msgstr "%s: ПОГАНА ПОМИЛКА"
+
+#: login-utils/vipw.c:143
+#, c-format
+msgid "%s: the password file is busy.\n"
+msgstr "%s: файл паролів зайнятий.\n"
+
+#: login-utils/vipw.c:146
+#, c-format
+msgid "%s: the group file is busy.\n"
+msgstr "%s: файл груп зайнятий.\n"
+
+#: login-utils/vipw.c:162
+#, c-format
+msgid "%s: the %s file is busy (%s present)\n"
+msgstr "%s: файл %s зайнятий (наявний %s)\n"
+
+#: login-utils/vipw.c:168
+#, c-format
+msgid "%s: can't link %s: %s\n"
+msgstr "%s: помилка створення посилання %s: %s\n"
+
+#: login-utils/vipw.c:202
+#, c-format
+msgid "%s: Can't get context for %s"
+msgstr "%s: не вдається отримати контекст для %s"
+
+#: login-utils/vipw.c:208
+#, c-format
+msgid "%s: Can't set context for %s"
+msgstr "%s: не вдається встановити контекст для %s"
+
+#: login-utils/vipw.c:217
+#, c-format
+msgid "%s: can't unlock %s: %s (your changes are still in %s)\n"
+msgstr "%s: не вдається розблокувати %s: %s (ваші зміни все ще у %s)\n"
+
+#: login-utils/vipw.c:240
+#, c-format
+msgid "%s: Cannot fork\n"
+msgstr "%s: не вдається створити процес\n"
+
+#: login-utils/vipw.c:276
+#, c-format
+msgid "%s: %s unchanged\n"
+msgstr "%s: %s не змінено\n"
+
+#: login-utils/vipw.c:297
+#, c-format
+msgid "%s: no changes made\n"
+msgstr "%s: не було змінено\n"
+
+#: login-utils/vipw.c:350
+#, c-format
+msgid "You are using shadow groups on this system.\n"
+msgstr "На цій системі використовуються тіньові групи.\n"
+
+#: login-utils/vipw.c:351
+#, c-format
+msgid "You are using shadow passwords on this system.\n"
+msgstr "На цій системі використовуються тіньові паролі.\n"
+
+#: login-utils/vipw.c:352
+#, c-format
+msgid "Would you like to edit %s now [y/n]? "
+msgstr "Бажаєте відредагувати %s зараз [y/n]? "
+
+#: login-utils/wall.c:112
+#, c-format
+msgid "usage: %s [file]\n"
+msgstr "використання: %s [файл]\n"
+
+#: login-utils/wall.c:167
+#, c-format
+msgid "%s: can't open temporary file.\n"
+msgstr "%s: не вдається відкрити тимчасовий файл.\n"
+
+#: login-utils/wall.c:194
+#, c-format
+msgid "Broadcast Message from %s@%s"
+msgstr "Широкомовне повідомлення від %s@%s"
+
+#: login-utils/wall.c:212
+#, c-format
+msgid "%s: will not read %s - use stdin.\n"
+msgstr "%s: не буде прочитано %s - використовується stdin.\n"
+
+#: login-utils/wall.c:217
+#, c-format
+msgid "%s: can't read %s.\n"
+msgstr "%s: не вдається прочитати %s.\n"
+
+#: login-utils/wall.c:240
+#, c-format
+msgid "%s: can't stat temporary file.\n"
+msgstr "%s: не вдається отримати інформацію про тимчасовий файл.\n"
+
+#: login-utils/wall.c:250
+#, c-format
+msgid "%s: can't read temporary file.\n"
+msgstr "%s: не вдається прочитати тимчасовий файл.\n"
+
+#: misc-utils/cal.c:362 misc-utils/cal.c:374
+#, fuzzy, c-format
+msgid "illegal day value: use 1-%d"
+msgstr "неправильне значення року: використовуйте 1-9999"
+
+#: misc-utils/cal.c:366
+msgid "illegal month value: use 1-12"
+msgstr "неправильне значення місяця: використовуйте 1-12"
+
+#: misc-utils/cal.c:370
+msgid "illegal year value: use 1-9999"
+msgstr "неправильне значення року: використовуйте 1-9999"
+
+#: misc-utils/cal.c:464
+#, c-format
+msgid "%s %d"
+msgstr "%s %d"
+
+#: misc-utils/cal.c:856
+#, fuzzy, c-format
+msgid "usage: cal [-13smjyV] [[[day] month] year]\n"
+msgstr "використання: cal [-13smjyV] [[місяць] рік]\n"
+
+#: misc-utils/ddate.c:203
+#, c-format
+msgid "usage: %s [+format] [day month year]\n"
+msgstr "використання: %s [+формат] [день місяць рік]\n"
+
+#: misc-utils/ddate.c:250
+msgid "St. Tib's Day"
+msgstr "День святого Tib"
+
+#: misc-utils/findfs.c:24
+#, c-format
+msgid "Usage: %s LABEL=<label>|UUID=<uuid>\n"
+msgstr ""
+
+#: misc-utils/findfs.c:55
+#, fuzzy, c-format
+msgid "unable to resolve '%s'"
+msgstr "не вдається відкрити %s"
+
+#: misc-utils/kill.c:207
+#, c-format
+msgid "%s: unknown signal %s\n"
+msgstr "%s: невідомий сигнал %s\n"
+
+#: misc-utils/kill.c:270
+#, c-format
+msgid "%s: can't find process \"%s\"\n"
+msgstr "%s: не вдається знайти процес \"%s\"\n"
+
+#: misc-utils/kill.c:314
+#, c-format
+msgid "%s: unknown signal %s; valid signals:\n"
+msgstr "%s: невідомий сигнал %s; правильні сигнали:\n"
+
+#: misc-utils/kill.c:354
+#, c-format
+msgid "usage: %s [ -s signal | -p ] [ -a ] pid ...\n"
+msgstr "використання: %s [ -s сигнал | -p ] [ -a ] pid ...\n"
+
+#: misc-utils/kill.c:355
+#, c-format
+msgid "       %s -l [ signal ]\n"
+msgstr "       %s -l [ сигнал ]\n"
+
+#: misc-utils/logger.c:67
+#, fuzzy, c-format
+msgid "logger: openlog: pathname too long\n"
+msgstr "реєстраційне ім'я надто довге.\n"
+
+#: misc-utils/logger.c:75
+#, fuzzy, c-format
+msgid "socket: %s.\n"
+msgstr "Розмір блоку: %d\n"
+
+#: misc-utils/logger.c:80
+#, c-format
+msgid "connect: %s.\n"
+msgstr ""
+
+#: misc-utils/logger.c:139
+#, c-format
+msgid "logger: %s: %s.\n"
+msgstr "logger: %s: %s.\n"
+
+#: misc-utils/logger.c:246
+#, c-format
+msgid "logger: unknown facility name: %s.\n"
+msgstr "logger: невідома назва можливості: %s.\n"
+
+#: misc-utils/logger.c:258
+#, c-format
+msgid "logger: unknown priority name: %s.\n"
+msgstr "logger: невідома назва пріоритету: %s.\n"
+
+#: misc-utils/logger.c:285
+#, c-format
+msgid ""
+"usage: logger [-is] [-f file] [-p pri] [-t tag] [-u socket] [ message ... ]\n"
+msgstr ""
+"використання: logger [-is] [-f файл] [-p пріор] [-t тег] [-u сокет] "
+"[ повідомлення ... ]\n"
+
+#: misc-utils/look.c:351
+#, c-format
+msgid "usage: look [-dfa] [-t char] string [file]\n"
+msgstr "використання: look [-dfa] [-t символ] рядок [файл]\n"
+
+#: misc-utils/mcookie.c:105 misc-utils/mcookie.c:132
+#, c-format
+msgid "Could not open %s\n"
+msgstr "не вдається відкрити %s\n"
+
+#: misc-utils/mcookie.c:109 misc-utils/mcookie.c:128
+#, c-format
+msgid "Got %d bytes from %s\n"
+msgstr "Отримано %d байт з %s\n"
+
+#: misc-utils/namei.c:144 misc-utils/namei.c:198 misc-utils/namei.c:220
+#: misc-utils/namei.c:227 misc-utils/namei.c:248
+#, fuzzy
+msgid "out of memory?"
+msgstr "недостатньо пам'яті\n"
+
+#: misc-utils/namei.c:189
+#, fuzzy, c-format
+msgid "failed to read symlink: %s"
+msgstr "помилка зчитування часу у ioctl() з %s"
+
+#: misc-utils/namei.c:229
+#, fuzzy, c-format
+msgid "could not stat '%s'"
+msgstr "не вдається отримати інформацію про %s"
+
+#: misc-utils/namei.c:411
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage: %s [options] pathname [pathname ...]\n"
+msgstr "використання: namei [-mx] шлях [шлях ...]\n"
+
+#: misc-utils/namei.c:412
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"%d розділів:\n"
+
+#: misc-utils/namei.c:415
+#, c-format
+msgid ""
+" -h, --help          displays this help text\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:423
+#, c-format
+msgid ""
+"\n"
+"For more information see namei(1).\n"
+msgstr ""
+
+#: misc-utils/namei.c:484
+#, fuzzy, c-format
+msgid "failed to stat: %s"
+msgstr "не вдається запустити %s"
+
+#: misc-utils/namei.c:495
+#, c-format
+msgid "%s: exceeded limit of symlinks"
+msgstr ""
+
+#: misc-utils/rename.c:38
+#, c-format
+msgid "%s: out of memory\n"
+msgstr "%s: недостатньо пам'яті\n"
+
+#: misc-utils/rename.c:56
+#, c-format
+msgid "%s: renaming %s to %s failed: %s\n"
+msgstr "%s: помилка перейменування %s на %s: %s\n"
+
+#: misc-utils/rename.c:86
+#, c-format
+msgid "call: %s from to files...\n"
+msgstr "виклик: %s звідки куди файли...\n"
+
+#: misc-utils/script.c:110
+#, c-format
+msgid ""
+"Warning: `%s' is a link.\n"
+"Use `%s [options] %s' if you really want to use it.\n"
+"Script not started.\n"
+msgstr ""
+"Попередження: `%s' - це посилання.\n"
+"Використовуйте `%s [параметри] %s', якщо ви дійсно бажаєте його "
+"використовувати.\n"
+"Сценарій не запущено.\n"
+
+#: misc-utils/script.c:173
+#, c-format
+msgid "usage: script [-a] [-f] [-q] [-t] [file]\n"
+msgstr "використання: script [-a] [-f] [-q] [-t] [файл]\n"
+
+#: misc-utils/script.c:196
+#, c-format
+msgid "Script started, file is %s\n"
+msgstr "Сценарій запущено, файл - %s\n"
+
+#: misc-utils/script.c:244
+#, fuzzy, c-format
+msgid "%s: write error %d: %s\n"
+msgstr "помилка запису на %s\n"
+
+#: misc-utils/script.c:304
+#, c-format
+msgid "Script started on %s"
+msgstr "Сценарій запущено на %s"
+
+#: misc-utils/script.c:347
+#, fuzzy, c-format
+msgid "%s: write error: %s\n"
+msgstr "помилка запису на %s\n"
+
+#: misc-utils/script.c:354
+#, fuzzy, c-format
+msgid "%s: cannot write script file, error: %s\n"
+msgstr "%s: не вдається знайти пристрій для %s\n"
+
+#: misc-utils/script.c:430
+#, c-format
+msgid ""
+"\n"
+"Script done on %s"
+msgstr ""
+"\n"
+"Сценарій завершено на %s"
+
+#: misc-utils/script.c:437
+#, c-format
+msgid "Script done, file is %s\n"
+msgstr "Сценарій завершено, файл %s\n"
+
+#: misc-utils/script.c:448
+#, c-format
+msgid "openpty failed\n"
+msgstr "помилка openpty\n"
+
+#: misc-utils/script.c:482
+#, c-format
+msgid "Out of pty's\n"
+msgstr "Скінчились pty-пристрої\n"
+
+#: misc-utils/scriptreplay.c:38
+#, c-format
+msgid "%s <timingfile> [<typescript> [<divisor>]]\n"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:53
+#, c-format
+msgid "expected a number, but got '%s'"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:56 misc-utils/scriptreplay.c:60
+#, c-format
+msgid "divisor '%s'"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:104
+#, fuzzy
+msgid "write to stdout failed"
+msgstr "Помилка відкривання %s"
+
+#: misc-utils/scriptreplay.c:110
+#, c-format
+msgid "unexpected end of file on %s"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:112
+#, fuzzy, c-format
+msgid "failed to read typescript file %s"
+msgstr "помилка зчитування часу у ioctl() з %s"
+
+#: misc-utils/scriptreplay.c:145
+#, fuzzy, c-format
+msgid "cannot open timing file %s"
+msgstr "не вдається відкрити файл '%s'"
+
+#: misc-utils/scriptreplay.c:148
+#, fuzzy, c-format
+msgid "cannot open typescript file %s"
+msgstr "не вдається відкрити файл '%s'"
+
+#: misc-utils/scriptreplay.c:164
+#, fuzzy, c-format
+msgid "failed to read timing file %s"
+msgstr "помилка зчитування часу у ioctl() з %s"
+
+#: misc-utils/scriptreplay.c:166
+#, fuzzy, c-format
+msgid "timings file %s: %lu: unexpected format"
+msgstr "%s: Неочікуваний кінець файла у файлі %s\n"
+
+#: misc-utils/setterm.c:763
+#, c-format
+msgid "%s: Argument error, usage\n"
+msgstr "%s: Помилка у параметрах, використання\n"
+
+#: misc-utils/setterm.c:766
+#, c-format
+msgid "  [ -term terminal_name ]\n"
+msgstr "  [ -term назва_терміналу ]\n"
+
+#: misc-utils/setterm.c:767
+#, c-format
+msgid "  [ -reset ]\n"
+msgstr "  [ -reset ]\n"
+
+#: misc-utils/setterm.c:768
+#, c-format
+msgid "  [ -initialize ]\n"
+msgstr "  [ -initialize ]\n"
+
+#: misc-utils/setterm.c:769
+#, c-format
+msgid "  [ -cursor [on|off] ]\n"
+msgstr "  [ -cursor [on|off] ]\n"
+
+#: misc-utils/setterm.c:771
+#, c-format
+msgid "  [ -snow [on|off] ]\n"
+msgstr "  [ -snow [on|off] ]\n"
+
+#: misc-utils/setterm.c:772
+#, c-format
+msgid "  [ -softscroll [on|off] ]\n"
+msgstr "  [ -softscroll [on|off] ]\n"
+
+#: misc-utils/setterm.c:774
+#, c-format
+msgid "  [ -repeat [on|off] ]\n"
+msgstr "  [ -repeat [on|off] ]\n"
+
+#: misc-utils/setterm.c:775
+#, c-format
+msgid "  [ -appcursorkeys [on|off] ]\n"
+msgstr "  [ -appcursorkeys [on|off] ]\n"
+
+#: misc-utils/setterm.c:776
+#, c-format
+msgid "  [ -linewrap [on|off] ]\n"
+msgstr "  [ -linewrap [on|off] ]\n"
+
+#: misc-utils/setterm.c:777
+#, c-format
+msgid "  [ -default ]\n"
+msgstr "  [ -default ]\n"
+
+#: misc-utils/setterm.c:778
+#, c-format
+msgid "  [ -foreground black|blue|green|cyan"
+msgstr "  [ -foreground black|blue|green|cyan"
+
+#: misc-utils/setterm.c:779 misc-utils/setterm.c:781
+#, c-format
+msgid "|red|magenta|yellow|white|default ]\n"
+msgstr "|red|magenta|yellow|white|default ]\n"
+
+#: misc-utils/setterm.c:780
+#, c-format
+msgid "  [ -background black|blue|green|cyan"
+msgstr "  [ -background black|blue|green|cyan"
+
+#: misc-utils/setterm.c:782
+#, c-format
+msgid "  [ -ulcolor black|grey|blue|green|cyan"
+msgstr "  [ -ulcolor black|grey|blue|green|cyan"
+
+#: misc-utils/setterm.c:783 misc-utils/setterm.c:785 misc-utils/setterm.c:787
+#: misc-utils/setterm.c:789
+#, c-format
+msgid "|red|magenta|yellow|white ]\n"
+msgstr "|red|magenta|yellow|white ]\n"
+
+#: misc-utils/setterm.c:784
+#, c-format
+msgid "  [ -ulcolor bright blue|green|cyan"
+msgstr "  [ -ulcolor bright blue|green|cyan"
+
+#: misc-utils/setterm.c:786
+#, c-format
+msgid "  [ -hbcolor black|grey|blue|green|cyan"
+msgstr "  [ -hbcolor black|grey|blue|green|cyan"
+
+#: misc-utils/setterm.c:788
+#, c-format
+msgid "  [ -hbcolor bright blue|green|cyan"
+msgstr "  [ -hbcolor bright blue|green|cyan"
+
+#: misc-utils/setterm.c:791
+#, c-format
+msgid "  [ -standout [ attr ] ]\n"
+msgstr "  [ -standout [ attr ] ]\n"
+
+#: misc-utils/setterm.c:793
+#, c-format
+msgid "  [ -inversescreen [on|off] ]\n"
+msgstr "  [ -inversescreen [on|off] ]\n"
+
+#: misc-utils/setterm.c:794
+#, c-format
+msgid "  [ -bold [on|off] ]\n"
+msgstr "  [ -bold [on|off] ]\n"
+
+#: misc-utils/setterm.c:795
+#, c-format
+msgid "  [ -half-bright [on|off] ]\n"
+msgstr "  [ -half-bright [on|off] ]\n"
+
+#: misc-utils/setterm.c:796
+#, c-format
+msgid "  [ -blink [on|off] ]\n"
+msgstr "  [ -blink [on|off] ]\n"
+
+#: misc-utils/setterm.c:797
+#, c-format
+msgid "  [ -reverse [on|off] ]\n"
+msgstr "  [ -reverse [on|off] ]\n"
+
+#: misc-utils/setterm.c:798
+#, c-format
+msgid "  [ -underline [on|off] ]\n"
+msgstr "  [ -underline [on|off] ]\n"
+
+#: misc-utils/setterm.c:799
+#, c-format
+msgid "  [ -store ]\n"
+msgstr "  [ -store ]\n"
+
+#: misc-utils/setterm.c:800
+#, c-format
+msgid "  [ -clear [all|rest] ]\n"
+msgstr "  [ -clear [all|rest] ]\n"
+
+#: misc-utils/setterm.c:801
+#, c-format
+msgid "  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n"
+msgstr "  [ -tabs [ табул1 табул2 табул3 ... ] ]     (табулn = 1-160)\n"
+
+#: misc-utils/setterm.c:802
+#, c-format
+msgid "  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n"
+msgstr "  [ -clrtabs [ табул1 табул2 табул3 ... ] ]  (табулn = 1-160)\n"
+
+#: misc-utils/setterm.c:803
+#, c-format
+msgid "  [ -regtabs [1-160] ]\n"
+msgstr "  [ -regtabs [1-160] ]\n"
+
+#: misc-utils/setterm.c:804
+#, fuzzy, c-format
+msgid "  [ -blank [0-60|force|poke] ]\n"
+msgstr "  [ -blank [0-60] ]\n"
+
+#: misc-utils/setterm.c:805
+#, c-format
+msgid "  [ -dump   [1-NR_CONSOLES] ]\n"
+msgstr "  [ -dump   [1-NR_CONSOLES] ]\n"
+
+#: misc-utils/setterm.c:806
+#, c-format
+msgid "  [ -append [1-NR_CONSOLES] ]\n"
+msgstr "  [ -append [1-NR_CONSOLES] ]\n"
+
+#: misc-utils/setterm.c:807
+#, c-format
+msgid "  [ -file dumpfilename ]\n"
+msgstr "  [ -file назва_файлу_дампу ]\n"
+
+#: misc-utils/setterm.c:808
+#, c-format
+msgid "  [ -msg [on|off] ]\n"
+msgstr "  [ -msg [on|off] ]\n"
+
+#: misc-utils/setterm.c:809
+#, c-format
+msgid "  [ -msglevel [0-8] ]\n"
+msgstr "  [ -msglevel [0-8] ]\n"
+
+#: misc-utils/setterm.c:810
+#, c-format
+msgid "  [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+msgstr "  [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+
+#: misc-utils/setterm.c:811
+#, c-format
+msgid "  [ -powerdown [0-60] ]\n"
+msgstr "  [ -powerdown [0-60] ]\n"
+
+#: misc-utils/setterm.c:812
+#, c-format
+msgid "  [ -blength [0-2000] ]\n"
+msgstr "  [ -blength [0-2000] ]\n"
+
+#: misc-utils/setterm.c:813
+#, c-format
+msgid "  [ -bfreq freqnumber ]\n"
+msgstr "  [ -bfreq частота_звуку ]\n"
+
+#: misc-utils/setterm.c:1065
+#, fuzzy, c-format
+msgid "cannot force blank\n"
+msgstr "не вдається створити процес"
+
+#: misc-utils/setterm.c:1069
+#, fuzzy, c-format
+msgid "cannot force unblank\n"
+msgstr "не вдається створити процес"
+
+#: misc-utils/setterm.c:1075
+#, fuzzy, c-format
+msgid "cannot get blank status\n"
+msgstr "не вдається відкрити %s\n"
+
+#: misc-utils/setterm.c:1087
+#, c-format
+msgid "cannot (un)set powersave mode\n"
+msgstr "не вдається встановити/зняти режим енергозбереження\n"
+
+#: misc-utils/setterm.c:1126 misc-utils/setterm.c:1134
+#, c-format
+msgid "klogctl error: %s\n"
+msgstr "помилка klogctl %s\n"
+
+#: misc-utils/setterm.c:1200
+#, c-format
+msgid "Error writing screendump\n"
+msgstr "Помилка запису знімку екрану \n"
+
+#: misc-utils/setterm.c:1207
+#, fuzzy, c-format
+msgid "Couldn't read %s\n"
+msgstr "не вдається відкрити %s\n"
+
+#: misc-utils/setterm.c:1261
+#, c-format
+msgid "%s: $TERM is not defined.\n"
+msgstr "%s: не визначено $TERM.\n"
+
+#: misc-utils/uuidd.c:46
+#, fuzzy, c-format
+msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n"
+msgstr ""
+"Використання: last [-#] [-f file] [-t tty] [-h назва_вузла] "
+"[користувач ...]\n"
+
+#: misc-utils/uuidd.c:48
+#, c-format
+msgid "       %s [-r|t] [-n num] [-s socketpath]\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:50
+#, fuzzy, c-format
+msgid "       %s -k\n"
+msgstr "       %s -l [ сигнал ]\n"
+
+#: misc-utils/uuidd.c:152
+#, fuzzy
+msgid "bad arguments"
+msgstr "col: неправильний -l аргумент %s.\n"
+
+#: misc-utils/uuidd.c:159
+#, fuzzy
+msgid "socket"
+msgstr "nfs сокет"
+
+#: misc-utils/uuidd.c:170
+#, fuzzy
+msgid "connect"
+msgstr "nfs connect"
+
+#: misc-utils/uuidd.c:189
+#, fuzzy
+msgid "write"
+msgstr "Записати"
+
+#: misc-utils/uuidd.c:197
+#, fuzzy
+msgid "read count"
+msgstr "прочитано %c\n"
+
+#: misc-utils/uuidd.c:203
+msgid "bad response length"
+msgstr ""
+
+#: misc-utils/uuidd.c:268
+#, c-format
+msgid "uuidd daemon already running at pid %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:276
+#, c-format
+msgid "Couldn't create unix stream socket: %s"
+msgstr ""
+
+#: misc-utils/uuidd.c:305
+#, fuzzy, c-format
+msgid "Couldn't bind unix socket %s: %s\n"
+msgstr "не вдається відкрити %s: %s\n"
+
+#: misc-utils/uuidd.c:313
+#, fuzzy, c-format
+msgid "Couldn't listen on unix socket %s: %s\n"
+msgstr "не вдається відкрити %s: %s\n"
+
+#: misc-utils/uuidd.c:351
+#, fuzzy, c-format
+msgid "Error reading from client, len = %d\n"
+msgstr "Помилка читання %s\n"
+
+#: misc-utils/uuidd.c:359
+#, c-format
+msgid "operation %d, incoming num = %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:378
+#, c-format
+msgid "Generated time UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:388
+#, c-format
+msgid "Generated random UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:397
+#, c-format
+msgid "Generated time UUID %s and %d following\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:415
+#, c-format
+msgid "Generated %d UUID's:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:427
+#, fuzzy, c-format
+msgid "Invalid operation %d\n"
+msgstr "неправильний ідентифікатор"
+
+#: misc-utils/uuidd.c:468 misc-utils/uuidd.c:489
+#, fuzzy, c-format
+msgid "Bad number: %s\n"
+msgstr "%s: неправильне значення\n"
+
+#: misc-utils/uuidd.c:524 misc-utils/uuidd.c:551
+#, fuzzy, c-format
+msgid "Error calling uuidd daemon (%s): %s\n"
+msgstr "помилка зімни режиму доступу до %s: %s\n"
+
+#: misc-utils/uuidd.c:534
+#, c-format
+msgid "%s and subsequent %d UUID's\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:536
+#, c-format
+msgid "List of UUID's:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:557
+#, c-format
+msgid "Unexpected reply length from server %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:574
+#, c-format
+msgid "Couldn't kill uuidd running at pid %d: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:580
+#, c-format
+msgid "Killed uuidd running at pid %d\n"
+msgstr ""
+
+#: misc-utils/uuidgen.c:32
+#, fuzzy, c-format
+msgid "Usage: %s [-r] [-t]\n"
+msgstr "Використання: %s [параметри] пристрій ...\n"
+
+#: misc-utils/whereis.c:159
+#, c-format
+msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
+msgstr "whereis [ -sbmu ] [ -SBM каталог ... -f ] назва...\n"
+
+#: misc-utils/write.c:101
+#, c-format
+msgid "write: can't find your tty's name\n"
+msgstr "write: не вдається  знайти назву вашого tty\n"
+
+#: misc-utils/write.c:112
+#, c-format
+msgid "write: you have write permission turned off.\n"
+msgstr "write: у вас немає прав запису.\n"
+
+#: misc-utils/write.c:133
+#, c-format
+msgid "write: %s is not logged in on %s.\n"
+msgstr "write: %s не ввійшов у систему на %s.\n"
+
+#: misc-utils/write.c:141
+#, c-format
+msgid "write: %s has messages disabled on %s\n"
+msgstr "write: для %s вивід повідомлень вимкнено на %s\n"
+
+#: misc-utils/write.c:148
+#, c-format
+msgid "usage: write user [tty]\n"
+msgstr "використання: write користувач [tty]\n"
+
+#: misc-utils/write.c:236
+#, c-format
+msgid "write: %s is not logged in\n"
+msgstr "write: %s не ввійшов у систему\n"
+
+#: misc-utils/write.c:245
+#, c-format
+msgid "write: %s has messages disabled\n"
+msgstr "write: для %s вивід повідомлень вимкнено\n"
+
+#: misc-utils/write.c:249
+#, c-format
+msgid "write: %s is logged in more than once; writing to %s\n"
+msgstr "write: %s ввійшов у систему більше одного разу; надсилається на %s\n"
+
+#: misc-utils/write.c:317
+#, c-format
+msgid "Message from %s@%s (as %s) on %s at %s ..."
+msgstr "Повідомлення від %s@%s (як %s) до %s у %s ..."
+
+#: misc-utils/write.c:320
+#, c-format
+msgid "Message from %s@%s on %s at %s ..."
+msgstr "Повідомлення від %s@%s до %s у %s ..."
+
+#: mount/fstab.c:143
+#, c-format
+msgid "warning: error reading %s: %s"
+msgstr "Попередження: помилка читання %s: %s"
+
+#: mount/fstab.c:171 mount/fstab.c:196
+#, c-format
+msgid "warning: can't open %s: %s"
+msgstr "Попередження: не вдається відкрити %s: %s"
+
+#: mount/fstab.c:176
+#, c-format
+msgid "mount: could not open %s - using %s instead\n"
+msgstr "mount: не вдається відкрити %s - натомість використовується %s\n"
+
+#: mount/fstab.c:589
+#, c-format
+msgid "can't create lock file %s: %s (use -n flag to override)"
+msgstr ""
+"не вдається створити файл блокування %s: %s (для перевизначення "
+"використовуйте -n)"
+
+#: mount/fstab.c:615
+#, c-format
+msgid "can't link lock file %s: %s (use -n flag to override)"
+msgstr ""
+"не вдається створити посилання на файл блокування %s: %s (для перевизначення "
+"використовуйте -n)"
+
+#: mount/fstab.c:631
+#, c-format
+msgid "can't open lock file %s: %s (use -n flag to override)"
+msgstr ""
+"не вдається відкрити файл блокування %s: %s (для перевизначення "
+"використовуйте -n)"
+
+#: mount/fstab.c:646
+#, c-format
+msgid "Can't lock lock file %s: %s\n"
+msgstr "не вдається заблокувати файл блокування %s: %s\n"
+
+#: mount/fstab.c:660
+#, c-format
+msgid "can't lock lock file %s: %s"
+msgstr "не вдається заблокувати файл блокування %s: %s"
+
+#: mount/fstab.c:662
+msgid "timed out"
+msgstr "вийшов час очікування"
+
+#: mount/fstab.c:669
+#, c-format
+msgid ""
+"Cannot create link %s\n"
+"Perhaps there is a stale lock file?\n"
+msgstr ""
+"не вдається створити посилання %s\n"
+"Можливо є застарілий файл файл блокування?\n"
+
+#: mount/fstab.c:791 mount/fstab.c:846
+#, c-format
+msgid "cannot open %s (%s) - mtab not updated"
+msgstr "не вдається відкрити %s (%s) - mtab не оновлено"
+
+#: mount/fstab.c:855
+#, c-format
+msgid "error writing %s: %s"
+msgstr "помилка запису %s: %s"
+
+#: mount/fstab.c:873
+#, c-format
+msgid "error changing mode of %s: %s\n"
+msgstr "помилка зімни режиму доступу до %s: %s\n"
+
+#: mount/fstab.c:886
+#, fuzzy, c-format
+msgid "error changing owner of %s: %s\n"
+msgstr "помилка зімни режиму доступу до %s: %s\n"
+
+#: mount/fstab.c:897
+#, c-format
+msgid "can't rename %s to %s: %s\n"
+msgstr "не вдається перейменувати %s у %s: %s\n"
+
+#: mount/lomount.c:364
+#, fuzzy, c-format
+msgid "loop: can't set capacity on device %s: %s\n"
+msgstr "loop: не вдається отримати інформацію про пристрій %s: %s\n"
+
+#: mount/lomount.c:388
+#, fuzzy, c-format
+msgid ", offset %<PRIu64>"
+msgstr ", зсув %d"
+
+#: mount/lomount.c:391
+#, fuzzy, c-format
+msgid ", sizelimit %<PRIu64>"
+msgstr ", обмеження на розмір %lld"
+
+#: mount/lomount.c:399
+#, fuzzy, c-format
+msgid ", encryption %s (type %<PRIu32>)"
+msgstr ", шифрування %s (тип %d)"
+
+#: mount/lomount.c:412
+#, c-format
+msgid ", offset %d"
+msgstr ", зсув %d"
+
+#: mount/lomount.c:415
+#, c-format
+msgid ", encryption type %d\n"
+msgstr ", тип шифрування %d\n"
+
+#: mount/lomount.c:423
+#, c-format
+msgid "loop: can't get info on device %s: %s\n"
+msgstr "loop: не вдається отримати інформацію про пристрій %s: %s\n"
+
+#: mount/lomount.c:434
+#, c-format
+msgid "loop: can't open device %s: %s\n"
+msgstr "loop: не вдається відкрити пристрій %s: %s\n"
+
+#: mount/lomount.c:450 mount/lomount.c:482 mount/lomount.c:544
+#: mount/lomount.c:589
+#, fuzzy, c-format
+msgid "%s: /dev directory does not exist."
+msgstr "%s: користувач \"%s\" не існує.\n"
+
+#: mount/lomount.c:461 mount/lomount.c:602
+#, fuzzy, c-format
+msgid "%s: no permission to look at /dev/loop%s<N>"
+msgstr "%s: немає прав доступу до /dev/loop#"
+
+#: mount/lomount.c:605
+#, c-format
+msgid "%s: could not find any free loop device"
+msgstr "%s: не вдається знайти жодний вільний loop-пристрій"
+
+#: mount/lomount.c:608
+#, c-format
+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-пристрій. Можливо це ядро не \n"
+"       підтримує роботу з loop-пристроями (Якщо це так - перекомпілюйте\n"
+"       його або виконайте `modprobe loop')."
+
+#: mount/lomount.c:638
+#, fuzzy
+msgid "Out of memory while reading passphrase"
+msgstr "Недостатньо пам'яті для збільшення буфера.\n"
+
+#: mount/lomount.c:681
+#, fuzzy, c-format
+msgid "warning: %s is already associated with %s\n"
+msgstr "Сектор %d вже розподілений\n"
+
+#: mount/lomount.c:697
+#, fuzzy, c-format
+msgid "warning: %s: is write-protected, using read-only.\n"
+msgstr "mount: %s%s захищений від запису, монтується лише для читання"
+
+#: mount/lomount.c:733
+#, c-format
+msgid "Couldn't lock into memory, exiting.\n"
+msgstr "не вдається заблокувати у пам'яті, завершення.\n"
+
+#: mount/lomount.c:760
+#, c-format
+msgid "ioctl LOOP_SET_FD failed: %s\n"
+msgstr ""
+
+#: mount/lomount.c:817
+#, fuzzy, c-format
+msgid "set_loop(%s,%s,%llu,%llu): success\n"
+msgstr "set_loop(%s,%s,%llu): успішно завершено\n"
+
+#: mount/lomount.c:838
+#, c-format
+msgid "del_loop(%s): success\n"
+msgstr "del_loop(%s): успішно завершено\n"
+
+#: mount/lomount.c:842
+#, c-format
+msgid "loop: can't delete device %s: %s\n"
+msgstr "loop: не вдається видалити пристрій %s: %s\n"
+
+#: mount/lomount.c:853
+#, c-format
+msgid "This mount was compiled without loop support. Please recompile.\n"
+msgstr ""
+"Програма mount була скомпільована без підтримки loop-пристроїв. "
+"Перекомпілюйте її \n"
+
+#: mount/lomount.c:888
+#, fuzzy, c-format
+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 loop_пристрій                                    # отримати інформацію\n"
+"  %s -d loop_пристрій                                 # видалити\n"
+"  %s -f                                               # знайти вільний\n"
+"  %s [ -e шифрування ] [ -o зсув ] loop_пристрій файл # встановити\n"
+
+#: mount/lomount.c:898
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -e | --encryption <type> enable data encryption with specified <name/num>\n"
+" -h | --help              this help\n"
+" -o | --offset <num>      start at offset <num> into file\n"
+"      --sizelimit <num>   loop limited to only <num> bytes of the file\n"
+" -p | --pass-fd <num>     read passphrase from file descriptor <num>\n"
+" -r | --read-only         setup read-only loop device\n"
+"      --show              print device name (with -f <file>)\n"
+" -v | --verbose           verbose mode\n"
+"\n"
+msgstr ""
+
+#: mount/lomount.c:1036 mount/lomount.c:1076
+#, fuzzy, c-format
+msgid "Loop device is %s\n"
+msgstr "loop: не вдається відкрити пристрій %s: %s\n"
+
+#: mount/lomount.c:1063
+#, c-format
+msgid "stolen loop=%s...trying again\n"
+msgstr ""
+
+#: mount/lomount.c:1073
+#, fuzzy, c-format
+msgid "%s: %s: device is busy"
+msgstr "umount: %s: пристрій зайнятий"
+
+#: mount/lomount.c:1090
+#, c-format
+msgid "No loop support was available at compile time. Please recompile.\n"
+msgstr ""
+"При компіляції не було ввімкнено підтримку loop-пристроїв. Перекомпілюйте.\n"
+
+#: mount/mount.c:329
+#, c-format
+msgid "mount: improperly quoted option string '%s'"
+msgstr ""
+
+#: mount/mount.c:362
+#, fuzzy, c-format
+msgid "mount: translated %s '%s' to '%s'\n"
+msgstr "mount: не вдається знайти %s у %s або %s"
+
+#: mount/mount.c:526
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s"
+msgstr "mount: згідно mtab, %s вже підключений у %s"
+
+#: mount/mount.c:531
+#, c-format
+msgid "mount: according to mtab, %s is mounted on %s"
+msgstr "mount: згідно mtab, %s підключений у %s"
+
+#: mount/mount.c:555
+#, c-format
+msgid "mount: can't open %s for writing: %s"
+msgstr "mount: не вдається відкрити %s для запису: %s"
+
+#: mount/mount.c:572 mount/mount.c:1190
+#, c-format
+msgid "mount: error writing %s: %s"
+msgstr "mount: помилка запису %s: %s"
+
+#: mount/mount.c:580
+#, c-format
+msgid "mount: error changing mode of %s: %s"
+msgstr "mount: помилка зміни прав доступу до %s: %s"
+
+#: mount/mount.c:663
+#, fuzzy, c-format
+msgid "mount: cannot set group id: %s"
+msgstr "mount: помилка встановлення швидкості: %s"
+
+#: mount/mount.c:666
+#, fuzzy, c-format
+msgid "mount: cannot set user id: %s"
+msgstr "mount: помилка встановлення швидкості: %s"
+
+#: mount/mount.c:705 mount/mount.c:1809
+#, c-format
+msgid "mount: cannot fork: %s"
+msgstr "mount: помилка створення процесу: %s"
+
+#: mount/mount.c:842
+#, c-format
+msgid "Trying %s\n"
+msgstr "Випробовується %s\n"
+
+#: mount/mount.c:870
+#, c-format
+msgid "mount: you didn't specify a filesystem type for %s\n"
+msgstr "mount: ви не вказали тип файлової системи для %s\n"
+
+#: mount/mount.c:873
+#, c-format
+msgid "       I will try all types mentioned in %s or %s\n"
+msgstr "       будуть випробувані всі типи вказані у %s або %s\n"
+
+#: mount/mount.c:876
+#, c-format
+msgid "       and it looks like this is swapspace\n"
+msgstr "       та він схожий розділ підкачки\n"
+
+#: mount/mount.c:878
+#, c-format
+msgid "       I will try type %s\n"
+msgstr "       буде випробувано тип %s\n"
+
+#: mount/mount.c:902
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr "%s схожий на розділ підкачки - не підключатиметься"
+
+#: mount/mount.c:993
+msgid "mount failed"
+msgstr "помилка підключення"
+
+#: mount/mount.c:995
+#, c-format
+msgid "mount: only root can mount %s on %s"
+msgstr "mount: лише адміністратор(root) може підключати %s у %s"
+
+#: mount/mount.c:1065
+msgid "mount: loop device specified twice"
+msgstr "mount: loop-пристрій вказано двічі"
+
+#: mount/mount.c:1070
+msgid "mount: type specified twice"
+msgstr "mount: тип вказано двічі"
+
+#: mount/mount.c:1082
+#, c-format
+msgid "mount: skipping the setup of a loop device\n"
+msgstr "mount: пропускається встановлення loop-пристрою\n"
+
+#: mount/mount.c:1094
+#, fuzzy, c-format
+msgid "mount: according to mtab %s is already mounted on %s as loop"
+msgstr "mount: згідно mtab, %s вже підключений у %s"
+
+#: mount/mount.c:1104
+#, c-format
+msgid "mount: going to use the loop device %s\n"
+msgstr "mount: буде використовуватись loop-пристрій %s\n"
+
+#: mount/mount.c:1113
+#, c-format
+msgid "mount: stolen loop=%s ...trying again\n"
+msgstr ""
+
+#: mount/mount.c:1118
+#, fuzzy, c-format
+msgid "mount: stolen loop=%s"
+msgstr "umount: %s: %s"
+
+#: mount/mount.c:1123
+#, c-format
+msgid "mount: failed setting up loop device\n"
+msgstr "mount: помилка встановлення loop-пристрою\n"
+
+#: mount/mount.c:1134
+#, c-format
+msgid "mount: setup loop device successfully\n"
+msgstr "mount: встановлення loop-пристрою успішно завершено\n"
+
+#: mount/mount.c:1168
+#, c-format
+msgid "mount: no %s found - creating it..\n"
+msgstr "mount: не знайдено %s - створюється..\n"
+
+#: mount/mount.c:1185
+#, c-format
+msgid "mount: can't open %s: %s"
+msgstr "mount: не вдається відкрити %s: %s"
+
+#: mount/mount.c:1206
+msgid "mount: argument to -p or --pass-fd must be a number"
+msgstr "mount: аргумент для -p або --pass-fd повинен бути числом"
+
+#: mount/mount.c:1219
+#, c-format
+msgid "mount: cannot open %s for setting speed"
+msgstr "mount: помилка відкривання %s для встановлення швидкості"
+
+#: mount/mount.c:1222
+#, c-format
+msgid "mount: cannot set speed: %s"
+msgstr "mount: помилка встановлення швидкості: %s"
+
+#: mount/mount.c:1279
+#, fuzzy, c-format
+msgid "mount: according to mtab, %s is already mounted on %s\n"
+msgstr "mount: згідно mtab, %s вже підключений у %s"
+
+#: mount/mount.c:1358
+msgid ""
+"mount: I could not determine the filesystem type, and none was specified"
+msgstr ""
+"mount: не вдається визначити тип файлової системи, та тип явно не вказаний"
+
+#: mount/mount.c:1361
+msgid "mount: you must specify the filesystem type"
+msgstr "mount: необхідно вказати тип файлової системи"
+
+#: mount/mount.c:1364
+msgid "mount: mount failed"
+msgstr "mount: помилка підключення"
+
+#: mount/mount.c:1370 mount/mount.c:1407
+#, c-format
+msgid "mount: mount point %s is not a directory"
+msgstr "mount: точка монтування %s не є каталогом"
+
+#: mount/mount.c:1372
+msgid "mount: permission denied"
+msgstr "mount: доступ заборонено"
+
+#: mount/mount.c:1374
+msgid "mount: must be superuser to use mount"
+msgstr "mount: для використання mount необхідно мати права адміністратора"
+
+#: mount/mount.c:1378 mount/mount.c:1382
+#, c-format
+msgid "mount: %s is busy"
+msgstr "mount: %s зайнятий"
+
+#: mount/mount.c:1384
+msgid "mount: proc already mounted"
+msgstr "mount: proc вже підключено"
+
+#: mount/mount.c:1386
+#, c-format
+msgid "mount: %s already mounted or %s busy"
+msgstr "mount: %s вже підключено або %s зайнятий"
+
+#: mount/mount.c:1392
+#, c-format
+msgid "mount: mount point %s does not exist"
+msgstr "mount: точка монтування %s не існує"
+
+#: mount/mount.c:1394
+#, c-format
+msgid "mount: mount point %s is a symbolic link to nowhere"
+msgstr "mount: точка монтування %s є символічним посиланням, яке вказує нікуди"
+
+#: mount/mount.c:1399
+#, c-format
+msgid "mount: special device %s does not exist"
+msgstr "mount: спеціальний пристрій %s не існує"
+
+#: mount/mount.c:1411
+#, 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/mount.c:1423
+#, c-format
+msgid "mount: %s not mounted already, or bad option"
+msgstr "mount: %s ще не підключений, або неправильний параметр"
+
+#: mount/mount.c:1425
+#, 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: неправильний тип файлової системи, неправильний параметр, "
+"неправильний суперблок на %s,\n"
+"       відсутня кодова сторінка або інша помилка"
+
+#: mount/mount.c:1432
+msgid ""
+"       (for several filesystems (e.g. nfs, cifs) you might\n"
+"       need a /sbin/mount.<type> helper program)"
+msgstr ""
+
+#: mount/mount.c:1441
+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/mount.c:1446
+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/mount.c:1453
+msgid ""
+"       In some cases useful info is found in syslog - try\n"
+"       dmesg | tail  or so\n"
+msgstr ""
+"       У деяких випадках корисну інформацію можні знайти у системному "
+"журналі\n"
+"       спробуйте - dmesg | tail  чи щось подібне\n"
+
+#: mount/mount.c:1459
+msgid "mount table full"
+msgstr "таблиця монтування переповнена"
+
+#: mount/mount.c:1461
+#, c-format
+msgid "mount: %s: can't read superblock"
+msgstr "mount: %s: не вдається прочитати суперблок"
+
+#: mount/mount.c:1467
+#, c-format
+msgid "mount: %s: unknown device"
+msgstr "mount: %s: невідомий пристрій"
+
+#: mount/mount.c:1472
+#, c-format
+msgid "mount: unknown filesystem type '%s'"
+msgstr "mount: невідомий тип файлової системи '%s'"
+
+#: mount/mount.c:1484
+#, c-format
+msgid "mount: probably you meant %s"
+msgstr "mount: можливо ви мали на увазі %s"
+
+#: mount/mount.c:1487
+msgid "mount: maybe you meant 'iso9660'?"
+msgstr "mount: можливо ви мали на увазі 'iso9660'?"
+
+#: mount/mount.c:1490
+msgid "mount: maybe you meant 'vfat'?"
+msgstr "mount: можливо ви мали на увазі iso9660 ?"
+
+#: mount/mount.c:1493
+#, c-format
+msgid "mount: %s has wrong device number or fs type %s not supported"
+msgstr ""
+"mount: %s має неправильний номер пристрою або файлова система типу %s не "
+"підтримується"
+
+#: mount/mount.c:1501
+#, c-format
+msgid "mount: %s is not a block device, and stat fails?"
+msgstr "mount: %s не є блочним пристроєм, та stat зазнав невдачі?"
+
+#: mount/mount.c:1503
+#, c-format
+msgid ""
+"mount: the kernel does not recognize %s as a block device\n"
+"       (maybe `insmod driver'?)"
+msgstr ""
+"mount: ядро не розпізнало %s як блочний пристрій\n"
+"       (можливо треба виконати `insmod драйвер'?)"
+
+#: mount/mount.c:1506
+#, c-format
+msgid "mount: %s is not a block device (maybe try `-o loop'?)"
+msgstr "mount: %s не є блочним пристроєм (можливо, спробуйте `-o loop'?)"
+
+#: mount/mount.c:1509
+#, c-format
+msgid "mount: %s is not a block device"
+msgstr "mount: %s не є блочним пристроєм"
+
+#: mount/mount.c:1514
+#, c-format
+msgid "mount: %s is not a valid block device"
+msgstr "mount: %s не є правильним блочним пристроєм"
+
+#: mount/mount.c:1517
+msgid "block device "
+msgstr "блочний пристрій "
+
+#: mount/mount.c:1519
+#, c-format
+msgid "mount: cannot mount %s%s read-only"
+msgstr "mount: не вдається підключити %s%s лише для читання"
+
+#: mount/mount.c:1523
+#, c-format
+msgid "mount: %s%s is write-protected but explicit `-w' flag given"
+msgstr "mount: %s%s захищений від запису, але було вказано ключ `-w'"
+
+#: mount/mount.c:1527
+#, fuzzy, c-format
+msgid "mount: cannot remount %s%s read-write, is write-protected"
+msgstr "mount: не вдається підключити %s%s лише для читання"
+
+#: mount/mount.c:1542
+#, c-format
+msgid "mount: %s%s is write-protected, mounting read-only"
+msgstr "mount: %s%s захищений від запису, монтується лише для читання"
+
+#: mount/mount.c:1552
+#, fuzzy, c-format
+msgid "mount: no medium found on %s ...trying again\n"
+msgstr "mount: не знайдено %s - створюється..\n"
+
+#: mount/mount.c:1558
+#, fuzzy, c-format
+msgid "mount: no medium found on %s"
+msgstr "mount: %s вже підключений у %s\n"
+
+#: mount/mount.c:1576
+#, 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/mount.c:1655
+#, c-format
+msgid "mount: no type was given - I'll assume nfs because of the colon\n"
+msgstr "mount: не вказано тип - вважається nfs, через наявність двокрапки\n"
+
+#: mount/mount.c:1661
+#, c-format
+msgid "mount: no type was given - I'll assume cifs because of the // prefix\n"
+msgstr "mount: не вказано тип - вважається cifs, через наявність префіксу //\n"
+
+#: mount/mount.c:1756
+#, c-format
+msgid "mount: %s already mounted on %s\n"
+msgstr "mount: %s вже підключений у %s\n"
+
+#: mount/mount.c:1890
+#, 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"
+"Зверніть увагу, насправді підключається не пристрій, а файлова система\n"
+"(даного типу) розташована на пристрої.\n"
+"Також можна підключати вже видимий каталог у інше місце:\n"
+"       mount --bind старий_кат новий_кат\n"
+"або переміщувати піддерево:\n"
+"       mount --move старий_кат новий_кат\n"
+"Пристрій можна вказувати за назвою, наприклад /dev/hda1 або /dev/cdrom,\n"
+"або за назвою тому (-L назва_тому), або за uuid використовуючи -U uuid .\n"
+"Інші параметри: [-nfFrsvw] [-o параметри] [-p пароль].\n"
+"Додаткову інформацію дивіться у man 8 mount .\n"
+
+#: mount/mount.c:2213
+msgid "mount: only root can do that"
+msgstr "mount: це може робити лише адміністратор(root)"
+
+#: mount/mount.c:2223
+msgid "nothing was mounted"
+msgstr "нічого не було підключено"
+
+#: mount/mount.c:2241 mount/mount.c:2267
+msgid "mount: no such partition found"
+msgstr "mount: не знайдено такого розділу"
+
+#: mount/mount.c:2244
+#, c-format
+msgid "mount: can't find %s in %s or %s"
+msgstr "mount: не вдається знайти %s у %s або %s"
+
+#: mount/mount_mntent.c:165
+#, c-format
+msgid "[mntent]: warning: no final newline at the end of %s\n"
+msgstr "[mntent]: Попередження: відсутній символ нового рядка наприкінці %s\n"
+
+#: mount/mount_mntent.c:216
+#, c-format
+msgid "[mntent]: line %d in %s is bad%s\n"
+msgstr "[mntent]: рядок %d у %s неправильний%s\n"
+
+#: mount/mount_mntent.c:219
+msgid "; rest of file ignored"
+msgstr "; залишок файлу ігнорується"
+
+#: mount/sundries.c:31
+msgid "bug in xstrndup call"
+msgstr "помилка при виклику xstrndup"
+
+#: mount/sundries.c:224 mount/sundries.c:280 mount/sundries.c:289
+#: mount/xmalloc.c:11
+msgid "not enough memory"
+msgstr "недостатньо пам'яті"
+
+#: mount/swapon.c:84
+#, c-format
+msgid ""
+"The <special> parameter:\n"
+" {-L label | LABEL=label}             LABEL of device to be used\n"
+" {-U uuid  | 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"
+"\n"
+msgstr ""
+
+#: mount/swapon.c:92
+#, c-format
+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 ""
+
+#: mount/swapon.c:106
+#, c-format
+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 ""
+
+#: mount/swapon.c:140
+#, fuzzy, c-format
+msgid "%s: unexpected file format"
+msgstr "%s: Неочікуваний кінець файла у файлі %s\n"
+
+#: mount/swapon.c:184 mount/swapon.c:252 mount/swapon.c:397 mount/swapon.c:556
+#: mount/swapon.c:758
+#, fuzzy, c-format
+msgid "%s: open failed"
+msgstr "помилка openpty\n"
+
+#: mount/swapon.c:205
+#, c-format
+msgid "%s: reinitializing the swap."
+msgstr ""
+
+#: mount/swapon.c:209
+#, fuzzy
+msgid "fork failed"
+msgstr "помилка створення процесу\n"
+
+#: mount/swapon.c:225
+#, fuzzy
+msgid "execv failed"
+msgstr "помилка запуску\n"
+
+#: mount/swapon.c:233
+#, fuzzy
+msgid "waitpid failed"
+msgstr "помилка setuid()"
+
+#: mount/swapon.c:257
+#, fuzzy, c-format
+msgid "%s: lseek failed"
+msgstr "помилка при встановленні позиції"
+
+#: mount/swapon.c:263
+#, fuzzy, c-format
+msgid "%s: write signature failed"
+msgstr "Помилка відкривання %s"
+
+#: mount/swapon.c:350
+#, c-format
+msgid "%s: found %sswap v%d signature string for %d KiB PAGE_SIZE\n"
+msgstr ""
+
+#: mount/swapon.c:370
+#, fuzzy, c-format
+msgid "%s: stat failed"
+msgstr "помилка при встановленні позиції"
+
+#: mount/swapon.c:380
+#, fuzzy, c-format
+msgid "%s: insecure permissions %04o, %04o suggested."
+msgstr "%s: попередження: %s має небезпечні права %04o, пропонується %04o\n"
+
+#: mount/swapon.c:388
+#, fuzzy, c-format
+msgid "%s: skipping - it appears to have holes."
+msgstr "%s: пропускається файл %s - схоже, що він містить дірки.\n"
+
+#: mount/swapon.c:402
+#, fuzzy, c-format
+msgid "%s: get size failed"
+msgstr "помилка при встановленні позиції"
+
+#: mount/swapon.c:408
+#, c-format
+msgid "%s: read swap header failed"
+msgstr ""
+
+#: mount/swapon.c:421
+#, c-format
+msgid "%s: last_page 0x%08llx is larger than actual size of swapspace"
+msgstr ""
+
+#: mount/swapon.c:426
+#, c-format
+msgid "%s: swap format pagesize does not match."
+msgstr ""
+
+#: mount/swapon.c:431
+#, c-format
+msgid ""
+"%s: swap format pagesize does not match. (Use --fixpgsz to reinitialize it.)"
+msgstr ""
+
+#: mount/swapon.c:440
+#, c-format
+msgid "%s: software suspend data detected. Rewriting the swap signature."
+msgstr ""
+
+#: mount/swapon.c:464 mount/swapon.c:514
+#, c-format
+msgid "%s on %s\n"
+msgstr "%s на %s\n"
+
+#: mount/swapon.c:486
+#, fuzzy, c-format
+msgid "%s: swapon failed"
+msgstr "помилка при встановленні позиції"
+
+#: mount/swapon.c:493
+#, fuzzy, c-format
+msgid "cannot find the device for %s"
+msgstr "%s: не вдається знайти пристрій для %s\n"
+
+#: mount/swapon.c:526
+#, fuzzy
+msgid "Not superuser."
+msgstr "Не адміністратор.\n"
+
+#: mount/swapon.c:529
+#, fuzzy, c-format
+msgid "%s: swapoff failed"
+msgstr "помилка при встановленні позиції"
+
+#: mount/umount.c:41
+#, c-format
+msgid "umount: compiled without support for -f\n"
+msgstr "umount: зібрано без підтримки -f\n"
+
+#: mount/umount.c:111
+#, fuzzy, c-format
+msgid "umount: cannot set group id: %s"
+msgstr "mount: помилка встановлення швидкості: %s"
+
+#: mount/umount.c:114
+#, fuzzy, c-format
+msgid "umount: cannot set user id: %s"
+msgstr "mount: помилка встановлення швидкості: %s"
+
+#: mount/umount.c:139
+#, c-format
+msgid "umount: cannot fork: %s"
+msgstr "umount: не вдається запустити дочірній процес: %s"
+
+#: mount/umount.c:160
+#, c-format
+msgid "umount: %s: invalid block device"
+msgstr "umount: %s: неправильний блочний пристрій"
+
+#: mount/umount.c:162
+#, c-format
+msgid "umount: %s: not mounted"
+msgstr "umount: %s: не підключений"
+
+#: mount/umount.c:164
+#, c-format
+msgid "umount: %s: can't write superblock"
+msgstr "umount: %s: не вдається записати суперблок"
+
+#: mount/umount.c:168
+#, 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/umount.c:173
+#, c-format
+msgid "umount: %s: not found"
+msgstr "umount: %s: не існує"
+
+#: mount/umount.c:175
+#, c-format
+msgid "umount: %s: must be superuser to umount"
+msgstr ""
+"umount: %s: для використання umount необхідно мати права адміністратора"
+
+#: mount/umount.c:177
+#, c-format
+msgid "umount: %s: block devices not permitted on fs"
+msgstr "umount: %s: блочні пристрої не дозволено на файловій системі"
+
+#: mount/umount.c:179
+#, c-format
+msgid "umount: %s: %s"
+msgstr "umount: %s: %s"
+
+#: mount/umount.c:235
+#, c-format
+msgid "no umount2, trying umount...\n"
+msgstr "немає umount2, пробується umount...\n"
+
+#: mount/umount.c:252
+#, c-format
+msgid "umount: %s busy - remounted read-only\n"
+msgstr "umount: %s зайнятий - перепідключено у режим лише-для-читання\n"
+
+#: mount/umount.c:263
+#, c-format
+msgid "umount: could not remount %s read-only\n"
+msgstr "umount: не вдається перепідключити %s у режим лише-для-читання\n"
+
+#: mount/umount.c:272
+#, c-format
+msgid "%s umounted\n"
+msgstr "%s відключено\n"
+
+#: mount/umount.c:367
+msgid "umount: cannot find list of filesystems to unmount"
+msgstr "umount: не вдається знайти перелік файлових систем для відключення"
+
+#: mount/umount.c:397
+#, 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/umount.c:466
+#, fuzzy, c-format
+msgid "device %s is associated with %s\n"
+msgstr "Сектор %d вже розподілений\n"
+
+#: mount/umount.c:472
+#, fuzzy, c-format
+msgid "device %s is not associated with %s\n"
+msgstr "Сектор %d вже розподілений\n"
+
+#: mount/umount.c:485
+msgid "Cannot umount \"\"\n"
+msgstr "Не вдається відключити \"\"\n"
+
+#: mount/umount.c:491
+#, c-format
+msgid "Trying to umount %s\n"
+msgstr "Спроба відключити %s\n"
+
+#: mount/umount.c:504
+msgid "umount: confused when analyzing mtab"
+msgstr ""
+
+#: mount/umount.c:509
+#, c-format
+msgid "umount: cannot umount %s -- %s is mounted over it on the same point."
+msgstr ""
+
+#: mount/umount.c:516
+#, c-format
+msgid "Could not find %s in mtab\n"
+msgstr "не вдається знайти %s у mtab\n"
+
+#: mount/umount.c:523
+#, c-format
+msgid "umount: %s is not mounted (according to mtab)"
+msgstr "umount: %s не є підключеним (згідно mtab)"
+
+#: mount/umount.c:547
+#, c-format
+msgid "umount: it seems %s is mounted multiple times"
+msgstr "umount: здається %s підключений декілька разів"
+
+#: mount/umount.c:561
+#, c-format
+msgid "umount: %s is not in the fstab (and you are not root)"
+msgstr "umount: %s відсутній у fstab (та ви не адміністратор)"
+
+#: mount/umount.c:567
+#, c-format
+msgid "umount: %s mount disagrees with the fstab"
+msgstr "umount: підключений %s відрізняється від fstab"
+
+#: mount/umount.c:608
+#, c-format
+msgid "umount: only %s can unmount %s from %s"
+msgstr "umount: лише %s може відключити %s від %s"
+
+#: mount/umount.c:695
+msgid "umount: only root can do that"
+msgstr "umount: це може робити лише адміністратор(root)"
+
+#: schedutils/chrt.c:56
+#, 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"
+"\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 ""
+
+#: schedutils/chrt.c:88
+#, fuzzy, c-format
+msgid "failed to get pid %d's policy"
+msgstr "не вдається записати розділ на %s\n"
+
+#: schedutils/chrt.c:90
+#, c-format
+msgid "pid %d's %s scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:112
+#, fuzzy, c-format
+msgid "unknown\n"
+msgstr "невідомий"
+
+#: schedutils/chrt.c:116
+#, c-format
+msgid "failed to get pid %d's attributes"
+msgstr ""
+
+#: schedutils/chrt.c:118
+#, c-format
+msgid "pid %d's %s scheduling priority: %d\n"
+msgstr ""
+
+#: schedutils/chrt.c:147
+#, c-format
+msgid "SCHED_%s min/max priority\t: %d/%d\n"
+msgstr ""
+
+#: schedutils/chrt.c:150
+#, fuzzy, c-format
+msgid "SCHED_%s not supported?\n"
+msgstr "NFS через TCP не підтримується.\n"
+
+#: schedutils/chrt.c:206
+#, fuzzy
+msgid "failed to parse pid"
+msgstr "%s: не вдається відкрити: %s\n"
+
+#: schedutils/chrt.c:228
+#, fuzzy
+msgid "current"
+msgstr "ncount"
+
+#: schedutils/chrt.c:236
+#, fuzzy
+msgid "failed to parse priority"
+msgstr "не вдається записати розділ на %s\n"
+
+#: schedutils/chrt.c:242
+#, fuzzy, c-format
+msgid "failed to set pid %d's policy"
+msgstr "не вдається записати розділ на %s\n"
+
+#: schedutils/chrt.c:251
+#, fuzzy, c-format
+msgid "failed to execute %s"
+msgstr "помилка зчитування часу у ioctl() з %s"
+
+#: schedutils/ionice.c:57
+#, fuzzy
+msgid "ioprio_get failed"
+msgstr "помилка openpty\n"
+
+#: schedutils/ionice.c:75
+#, fuzzy
+msgid "ioprio_set failed"
+msgstr "помилка openpty\n"
+
+#: schedutils/ionice.c:81
+#, c-format
+msgid ""
+"\n"
+"ionice - sets or gets process io scheduling class and priority.\n"
+"\n"
+"Usage:\n"
+"  ionice [ options ] -p <pid> [<pid> ...]\n"
+"  ionoce [ 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 ""
+
+#: schedutils/ionice.c:110 schedutils/ionice.c:112
+#, fuzzy, c-format
+msgid "cannot parse number '%s'"
+msgstr "не вдається відкрити %s"
+
+#: schedutils/ionice.c:151
+msgid "ignoring given class data for none class"
+msgstr ""
+
+#: schedutils/ionice.c:159
+msgid "ignoring given class data for idle class"
+msgstr ""
+
+#: schedutils/ionice.c:163
+#, c-format
+msgid "bad prio class %d"
+msgstr ""
+
+#: schedutils/ionice.c:187
+#, fuzzy
+msgid "execvp failed"
+msgstr "помилка запуску\n"
+
+#: sys-utils/ctrlaltdel.c:27
+#, c-format
+msgid "You must be root to set the Ctrl-Alt-Del behaviour.\n"
+msgstr ""
+"Для визначення поведінки Ctrl-Alt-Del необхідно мати права адміністратора.\n"
+
+#: sys-utils/ctrlaltdel.c:42
+#, c-format
+msgid "Usage: ctrlaltdel hard|soft\n"
+msgstr "Використання: ctrlaltdel hard|soft\n"
+
+#: sys-utils/cytune.c:114
+#, 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\n"
+msgstr ""
+"Файл %s, для граничного значення %lu, максимальна кількість символів у fifo "
+"була %d,\n"
+"та максимальна швидкість передачі у символах/секунду була %f\n"
+
+#: sys-utils/cytune.c:125
+#, c-format
+msgid ""
+"File %s, For threshold value %lu and timrout value %lu, Maximum characters "
+"in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f\n"
+msgstr ""
+"Файл %s, для граничного значення %lu та значення таймауту %lu, максимальна "
+"кількість символів у fifo була %d,\n"
+"та максимальна швидкість передачі у символах/секунду була %f\n"
+
+#: sys-utils/cytune.c:189
+#, c-format
+msgid "Invalid interval value: %s\n"
+msgstr "Неправильне значення інтервалу: %s\n"
+
+#: sys-utils/cytune.c:197
+#, c-format
+msgid "Invalid set value: %s\n"
+msgstr "Неправильне встановлене значення: %s\n"
+
+#: sys-utils/cytune.c:205
+#, c-format
+msgid "Invalid default value: %s\n"
+msgstr "Неправильне типове значення: %s\n"
+
+#: sys-utils/cytune.c:213
+#, c-format
+msgid "Invalid set time value: %s\n"
+msgstr "Неправильне значення встановленого часу: %s\n"
+
+#: sys-utils/cytune.c:221
+#, c-format
+msgid "Invalid default time value: %s\n"
+msgstr "Неправильне значення типового часу: %s\n"
+
+#: sys-utils/cytune.c:238
+#, c-format
+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"
+
+#: sys-utils/cytune.c:250 sys-utils/cytune.c:269 sys-utils/cytune.c:289
+#: sys-utils/cytune.c:339
+#, c-format
+msgid "Can't open %s: %s\n"
+msgstr "не вдається відкрити %s: %s\n"
+
+#: sys-utils/cytune.c:257
+#, c-format
+msgid "Can't set %s to threshold %d: %s\n"
+msgstr "не вдається встановити %s у граничне значення %d: %s\n"
+
+#: sys-utils/cytune.c:276
+#, c-format
+msgid "Can't set %s to time threshold %d: %s\n"
+msgstr "не вдається встановити %s у граничне значення часу %d: %s\n"
+
+#: sys-utils/cytune.c:294 sys-utils/cytune.c:351 sys-utils/cytune.c:382
+#, c-format
+msgid "Can't get threshold for %s: %s\n"
+msgstr "не вдається отримати граничне значення для %s: %s\n"
+
+#: sys-utils/cytune.c:300 sys-utils/cytune.c:357 sys-utils/cytune.c:388
+#, c-format
+msgid "Can't get timeout for %s: %s\n"
+msgstr "не вдається отримати таймаут для %s: %s\n"
+
+#: sys-utils/cytune.c:306
+#, c-format
+msgid "%s: %ld current threshold and %ld current timeout\n"
+msgstr "%s: %ld - поточна межа, та %ld - поточний таймаут\n"
+
+#: sys-utils/cytune.c:309
+#, c-format
+msgid "%s: %ld default threshold and %ld default timeout\n"
+msgstr "%s: %ld - типова межа, та %ld - типовий таймаут\n"
+
+#: sys-utils/cytune.c:327
+msgid "Can't set signal handler"
+msgstr "не вдається встановити обробник сигналу"
+
+#: sys-utils/cytune.c:331 sys-utils/cytune.c:366
+msgid "gettimeofday failed"
+msgstr "помилка у gettimeofday"
+
+#: sys-utils/cytune.c:344 sys-utils/cytune.c:376
+#, c-format
+msgid "Can't issue CYGETMON on %s: %s\n"
+msgstr "не вдається дати CYGETMON на %s: %s\n"
+
+#: sys-utils/cytune.c:418
+#, 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:424
+#, c-format
+msgid "   %f int/sec; %f rec, %f send (char/sec)\n"
+msgstr "   %f перерв/сек; %f отрим, %f відпр (симв/сек)\n"
+
+#: sys-utils/cytune.c:429
+#, 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:435
+#, c-format
+msgid "   %f int/sec; %f rec (char/sec)\n"
+msgstr "   %f перерв/сек; %f отрим (симв/сек)\n"
+
+#: sys-utils/dmesg.c:45
+#, fuzzy, c-format
+msgid "Usage: %s [-c] [-n level] [-r] [-s bufsize]\n"
+msgstr "Використання: %s [-c] [-n рівень] [-s розмір_буферу]\n"
+
+#: sys-utils/flock.c:65
+#, c-format
+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 ""
+
+#: sys-utils/flock.c:192
+#, fuzzy, c-format
+msgid "%s: %s requires exactly one command argument\n"
+msgstr "%s вимагає вказування аргументу\n"
+
+#: sys-utils/flock.c:219
+#, fuzzy, c-format
+msgid "%s: cannot open lock file %s: %s\n"
+msgstr "%s: не вдається відкрити %s: %s\n"
+
+#: sys-utils/flock.c:231
+#, fuzzy, c-format
+msgid "%s: bad number: %s\n"
+msgstr "%s: неправильне значення\n"
+
+#: sys-utils/flock.c:238
+#, c-format
+msgid "%s: requires file descriptor, file or directory\n"
+msgstr ""
+
+#: sys-utils/flock.c:294
+#, fuzzy, c-format
+msgid "%s: fork failed: %s\n"
+msgstr "помилка створення процесу\n"
+
+#: sys-utils/ipcmk.c:84
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Usage: %s [options]\n"
+"\n"
+msgstr "Використання: %s [параметри] пристрій ...\n"
+
+#: sys-utils/ipcmk.c:86
+#, c-format
+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 ""
+
+#: sys-utils/ipcmk.c:90
+#, c-format
+msgid ""
+"\n"
+"For more information see ipcmk(1).\n"
+"\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:142
+msgid "create share memory failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:144
+#, fuzzy, c-format
+msgid "Shared memory id: %d\n"
+msgstr ""
+"\n"
+"Сегмент спільної пам'яті shmid=%d\n"
+
+#: sys-utils/ipcmk.c:150
+msgid "create message queue failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:152
+#, fuzzy, c-format
+msgid "Message queue id: %d\n"
+msgstr ""
+"\n"
+"Черга повідомлень msqid=%d\n"
+
+#: sys-utils/ipcmk.c:158
+#, fuzzy
+msgid "create semaphore failed"
+msgstr "виділено семафорів = %d\n"
+
+#: sys-utils/ipcmk.c:160
+#, fuzzy, c-format
+msgid "Semaphore id: %d\n"
+msgstr ""
+"\n"
+"Масив семафорів semid=%d\n"
+
+#: sys-utils/ipcrm.c:66
+#, c-format
+msgid "invalid id: %s\n"
+msgstr "неправильний ідентифікатор: %s\n"
+
+#: sys-utils/ipcrm.c:84
+#, c-format
+msgid "cannot remove id %s (%s)\n"
+msgstr "не вдається видалити ідентифікатор %s (%s)\n"
+
+#: sys-utils/ipcrm.c:99
+#, c-format
+msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
+msgstr "небажане використання: %s {shm | msg | sem} id ...\n"
+
+#: sys-utils/ipcrm.c:126
+#, c-format
+msgid "unknown resource type: %s\n"
+msgstr "невідомий тип ресурсу: %s\n"
+
+#: sys-utils/ipcrm.c:130
+#, c-format
+msgid "resource(s) deleted\n"
+msgstr "ресурс(и) видалений\n"
+
+#: sys-utils/ipcrm.c:140
+#, c-format
+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"
+
+#: sys-utils/ipcrm.c:181
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: неправильний параметр -- %c\n"
+
+#: sys-utils/ipcrm.c:193
+#, c-format
+msgid "%s: illegal key (%s)\n"
+msgstr "%s: неправильний ключ (%s)\n"
+
+#: sys-utils/ipcrm.c:208 sys-utils/ipcrm.c:240
+msgid "permission denied for key"
+msgstr "доступ заборонено для ключа"
+
+#: sys-utils/ipcrm.c:211 sys-utils/ipcrm.c:250
+msgid "already removed key"
+msgstr "ключ вже видалено"
+
+#: sys-utils/ipcrm.c:214 sys-utils/ipcrm.c:245
+msgid "invalid key"
+msgstr "неправильний ключ"
+
+#: sys-utils/ipcrm.c:217 sys-utils/ipcrm.c:255
+msgid "unknown error in key"
+msgstr "невідома помилка у ключі"
+
+#: sys-utils/ipcrm.c:241
+msgid "permission denied for id"
+msgstr "доступ заборонено для ідентифікатора"
+
+#: sys-utils/ipcrm.c:246
+msgid "invalid id"
+msgstr "неправильний ідентифікатор"
+
+#: sys-utils/ipcrm.c:251
+msgid "already removed id"
+msgstr "ідентифікатор вже видалений"
+
+#: sys-utils/ipcrm.c:256
+msgid "unknown error in id"
+msgstr "невідома помилка у ідентифікаторі"
+
+#: sys-utils/ipcrm.c:259
+#, c-format
+msgid "%s: %s (%s)\n"
+msgstr "%s: %s (%s)\n"
+
+#: sys-utils/ipcrm.c:267
+#, c-format
+msgid "%s: unknown argument: %s\n"
+msgstr "%s: невідомий аргумент: %s\n"
+
+#: sys-utils/ipcs.c:120
+#, c-format
+msgid "usage : %s -asmq -tclup \n"
+msgstr "використання : %s -asmq -tclup \n"
+
+#: sys-utils/ipcs.c:121
+#, c-format
+msgid "\t%s [-s -m -q] -i id\n"
+msgstr "\t%s [-s -m -q] -i ідентифікатор\n"
+
+#: sys-utils/ipcs.c:122
+#, c-format
+msgid "\t%s -h for help.\n"
+msgstr "\t%s -h виводить довідку.\n"
+
+#: sys-utils/ipcs.c:128
+#, c-format
+msgid ""
+"%s provides information on ipc facilities for which you have read access.\n"
+msgstr ""
+"%s надає інформацію про ipc ресурси, для яких у вас є доступ для читання.\n"
+
+#: sys-utils/ipcs.c:130
+#, c-format
+msgid ""
+"Resource Specification:\n"
+"\t-m : shared_mem\n"
+"\t-q : messages\n"
+msgstr ""
+"Специфікація ресурсу:\n"
+"\t-m : спільна_пам'ять\n"
+"\t-q : повідомлення\n"
+
+#: sys-utils/ipcs.c:131
+#, c-format
+msgid ""
+"\t-s : semaphores\n"
+"\t-a : all (default)\n"
+msgstr ""
+"\t-s : семафори\n"
+"\t-a : усе (типово)\n"
+
+#: sys-utils/ipcs.c:132
+#, c-format
+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"
+
+#: sys-utils/ipcs.c:133
+#, c-format
+msgid ""
+"\t-l : limits\n"
+"\t-u : summary\n"
+msgstr ""
+"\t-l : обмеження\n"
+"\t-u : зведення\n"
+
+#: sys-utils/ipcs.c:134
+#, c-format
+msgid "-i id [-s -q -m] : details on resource identified by id\n"
+msgstr "-i id [-s -q -m] : подробиці про ресурс з ідентифікатором id\n"
+
+#: sys-utils/ipcs.c:258
+#, c-format
+msgid "kernel not configured for shared memory\n"
+msgstr "підтримку спільної пам'яті не налаштовано у ядрі\n"
+
+#: sys-utils/ipcs.c:264
+#, c-format
+msgid "------ Shared Memory Limits --------\n"
+msgstr "------ Обмеження спільної пам'яті --------\n"
+
+#: sys-utils/ipcs.c:269
+#, c-format
+msgid "max number of segments = %lu\n"
+msgstr "максимальна кількість сегментів = %lu\n"
+
+#: sys-utils/ipcs.c:271
+#, c-format
+msgid "max seg size (kbytes) = %lu\n"
+msgstr "максимальний розмір сегмента (кілобайт) = %lu\n"
+
+#: sys-utils/ipcs.c:273
+#, fuzzy, c-format
+msgid "max total shared memory (kbytes) = %llu\n"
+msgstr "максимум загалом спільної пам'яті (кілобайт) = %lu\n"
+
+#: sys-utils/ipcs.c:275
+#, c-format
+msgid "min seg size (bytes) = %lu\n"
+msgstr "мінімальний розмір сегменту (байт) = %lu\n"
+
+#: sys-utils/ipcs.c:280
+#, c-format
+msgid "------ Shared Memory Status --------\n"
+msgstr "------ Стан спільної пам'яті --------\n"
+
+#: sys-utils/ipcs.c:281
+#, c-format
+msgid "segments allocated %d\n"
+msgstr "виділених сегментів %d\n"
+
+#: sys-utils/ipcs.c:282
+#, c-format
+msgid "pages allocated %ld\n"
+msgstr "виділених сторінок %ld\n"
+
+#: sys-utils/ipcs.c:283
+#, c-format
+msgid "pages resident  %ld\n"
+msgstr "резидентних сторінок %ld\n"
+
+#: sys-utils/ipcs.c:284
+#, c-format
+msgid "pages swapped   %ld\n"
+msgstr "вивантажених сторінок %ld\n"
+
+#: sys-utils/ipcs.c:285
+#, c-format
+msgid "Swap performance: %ld attempts\t %ld successes\n"
+msgstr "Швидкодія підкачки: %ld спроб\t %ld вдалих\n"
+
+#: sys-utils/ipcs.c:290
+#, c-format
+msgid "------ Shared Memory Segment Creators/Owners --------\n"
+msgstr "------ Автори/Власники сегментів спільної пам'яті --------\n"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:298 sys-utils/ipcs.c:305
+#: sys-utils/ipcs.c:311
+msgid "shmid"
+msgstr "shmid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:311 sys-utils/ipcs.c:412
+#: sys-utils/ipcs.c:427 sys-utils/ipcs.c:510 sys-utils/ipcs.c:528
+msgid "perms"
+msgstr "права"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "cuid"
+msgstr "cuid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "cgid"
+msgstr "cgid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "uid"
+msgstr "uid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "gid"
+msgstr "gid"
+
+#: sys-utils/ipcs.c:296
+#, c-format
+msgid "------ Shared Memory Attach/Detach/Change Times --------\n"
+msgstr "------ Час приєднання/від'єднання/зміни спільної пам'яті --------\n"
+
+#: sys-utils/ipcs.c:298 sys-utils/ipcs.c:305 sys-utils/ipcs.c:311
+#: sys-utils/ipcs.c:418 sys-utils/ipcs.c:427 sys-utils/ipcs.c:516
+#: sys-utils/ipcs.c:522 sys-utils/ipcs.c:528
+msgid "owner"
+msgstr "власник"
+
+#: sys-utils/ipcs.c:298
+msgid "attached"
+msgstr "приєднано"
+
+#: sys-utils/ipcs.c:298
+msgid "detached"
+msgstr "від'єднано"
+
+#: sys-utils/ipcs.c:299
+msgid "changed"
+msgstr "змінено"
+
+#: sys-utils/ipcs.c:303
+#, c-format
+msgid "------ Shared Memory Creator/Last-op --------\n"
+msgstr "------ Автор/останній-оп спільної пам'яті --------\n"
+
+#: sys-utils/ipcs.c:305
+msgid "cpid"
+msgstr "cpid"
+
+#: sys-utils/ipcs.c:305
+msgid "lpid"
+msgstr "lpid"
+
+#: sys-utils/ipcs.c:309
+#, c-format
+msgid "------ Shared Memory Segments --------\n"
+msgstr "------ Сегменти спільної пам'яті --------\n"
+
+#: sys-utils/ipcs.c:311 sys-utils/ipcs.c:427 sys-utils/ipcs.c:528
+msgid "key"
+msgstr "ключ"
+
+#: sys-utils/ipcs.c:311
+msgid "bytes"
+msgstr "байт"
+
+#: sys-utils/ipcs.c:312
+msgid "nattch"
+msgstr "кільк.підкл"
+
+#: sys-utils/ipcs.c:312
+msgid "status"
+msgstr "стан"
+
+#: sys-utils/ipcs.c:333 sys-utils/ipcs.c:335 sys-utils/ipcs.c:337
+#: sys-utils/ipcs.c:448 sys-utils/ipcs.c:450 sys-utils/ipcs.c:549
+#: sys-utils/ipcs.c:551 sys-utils/ipcs.c:553 sys-utils/ipcs.c:604
+#: sys-utils/ipcs.c:606 sys-utils/ipcs.c:634 sys-utils/ipcs.c:636
+#: sys-utils/ipcs.c:638 sys-utils/ipcs.c:661
+msgid "Not set"
+msgstr "Не встан."
+
+#: sys-utils/ipcs.c:365
+msgid "dest"
+msgstr "зруйн"
+
+#: sys-utils/ipcs.c:366
+msgid "locked"
+msgstr "блоковано"
+
+#: sys-utils/ipcs.c:386
+#, c-format
+msgid "kernel not configured for semaphores\n"
+msgstr "підтримку семафорів не налаштовано у ядрі\n"
+
+#: sys-utils/ipcs.c:392
+#, c-format
+msgid "------ Semaphore Limits --------\n"
+msgstr "------ Обмеження семафорів --------\n"
+
+#: sys-utils/ipcs.c:396
+#, c-format
+msgid "max number of arrays = %d\n"
+msgstr "максимальна кількість масивів = %d\n"
+
+#: sys-utils/ipcs.c:397
+#, c-format
+msgid "max semaphores per array = %d\n"
+msgstr "максимум семафорів на масив = %d\n"
+
+#: sys-utils/ipcs.c:398
+#, c-format
+msgid "max semaphores system wide = %d\n"
+msgstr "максимум семафорів у системі = %d\n"
+
+#: sys-utils/ipcs.c:399
+#, c-format
+msgid "max ops per semop call = %d\n"
+msgstr "максимум операцій за semop виклик = %d\n"
+
+#: sys-utils/ipcs.c:400
+#, c-format
+msgid "semaphore max value = %d\n"
+msgstr "максимальне значення семафору = %d\n"
+
+#: sys-utils/ipcs.c:404
+#, c-format
+msgid "------ Semaphore Status --------\n"
+msgstr "------ Стан семафору --------\n"
+
+#: sys-utils/ipcs.c:405
+#, c-format
+msgid "used arrays = %d\n"
+msgstr "використано масивів = %d\n"
+
+#: sys-utils/ipcs.c:406
+#, c-format
+msgid "allocated semaphores = %d\n"
+msgstr "виділено семафорів = %d\n"
+
+#: sys-utils/ipcs.c:410
+#, c-format
+msgid "------ Semaphore Arrays Creators/Owners --------\n"
+msgstr "------ Автори/Власники масивів семафорів --------\n"
+
+#: sys-utils/ipcs.c:412 sys-utils/ipcs.c:418 sys-utils/ipcs.c:427
+msgid "semid"
+msgstr "semid"
+
+#: sys-utils/ipcs.c:416
+#, fuzzy, c-format
+msgid "------ Semaphore Operation/Change Times --------\n"
+msgstr "------ Час операції/зміни спільної пам'яті --------\n"
+
+#: sys-utils/ipcs.c:418
+msgid "last-op"
+msgstr "остан-оп"
+
+#: sys-utils/ipcs.c:418
+msgid "last-changed"
+msgstr "остан-змін"
+
+#: sys-utils/ipcs.c:425
+#, c-format
+msgid "------ Semaphore Arrays --------\n"
+msgstr "------ Масиви семафорів --------\n"
+
+#: sys-utils/ipcs.c:427
+msgid "nsems"
+msgstr "кільк.сем"
+
+#: sys-utils/ipcs.c:486
+#, c-format
+msgid "kernel not configured for message queues\n"
+msgstr "підтримку черг повідомлень не налаштовано у ядрі\n"
+
+#: sys-utils/ipcs.c:494
+#, c-format
+msgid "------ Messages: Limits --------\n"
+msgstr "------ Повідомлення: обмеження --------\n"
+
+#: sys-utils/ipcs.c:495
+#, c-format
+msgid "max queues system wide = %d\n"
+msgstr "максимум черг у системі = %d\n"
+
+#: sys-utils/ipcs.c:496
+#, c-format
+msgid "max size of message (bytes) = %d\n"
+msgstr "максимальний розмір повідомлення (байт) = %d\n"
+
+#: sys-utils/ipcs.c:497
+#, c-format
+msgid "default max size of queue (bytes) = %d\n"
+msgstr "типовий максимальний розмір черги (байт) = %d\n"
+
+#: sys-utils/ipcs.c:501
+#, c-format
+msgid "------ Messages: Status --------\n"
+msgstr "------ Повідомлення: стан --------\n"
+
+#: sys-utils/ipcs.c:502
+#, c-format
+msgid "allocated queues = %d\n"
+msgstr "виділено черг = %d\n"
+
+#: sys-utils/ipcs.c:503
+#, c-format
+msgid "used headers = %d\n"
+msgstr "використано заголовків = %d\n"
+
+#: sys-utils/ipcs.c:504
+#, c-format
+msgid "used space = %d bytes\n"
+msgstr "використано простору = %d байт\n"
+
+#: sys-utils/ipcs.c:508
+#, c-format
+msgid "------ Message Queues: Creators/Owners --------\n"
+msgstr "------ Черги повідомлень: Автори/Власники --------\n"
+
+#: sys-utils/ipcs.c:510 sys-utils/ipcs.c:516 sys-utils/ipcs.c:522
+#: sys-utils/ipcs.c:528
+msgid "msqid"
+msgstr "msqid"
+
+#: sys-utils/ipcs.c:514
+#, c-format
+msgid "------ Message Queues Send/Recv/Change Times --------\n"
+msgstr "------ Час відправлення/отримання/зміни черг повідомлень--------\n"
+
+#: sys-utils/ipcs.c:516
+msgid "send"
+msgstr "відправлено"
+
+#: sys-utils/ipcs.c:516
+msgid "recv"
+msgstr "отримано"
+
+#: sys-utils/ipcs.c:516
+msgid "change"
+msgstr "змінено"
+
+#: sys-utils/ipcs.c:520
+#, c-format
+msgid "------ Message Queues PIDs --------\n"
+msgstr "------ PID черг повідомлень --------\n"
+
+#: sys-utils/ipcs.c:522
+msgid "lspid"
+msgstr "lspid"
+
+#: sys-utils/ipcs.c:522
+msgid "lrpid"
+msgstr "lrpid"
+
+#: sys-utils/ipcs.c:526
+#, c-format
+msgid "------ Message Queues --------\n"
+msgstr "------ Черги повідомлень --------\n"
+
+#: sys-utils/ipcs.c:529
+msgid "used-bytes"
+msgstr "використано-байт"
+
+#: sys-utils/ipcs.c:529
+msgid "messages"
+msgstr "повідомлень"
+
+#: sys-utils/ipcs.c:593
+#, fuzzy
+msgid "shmctl failed"
+msgstr "помилка виконання fsync"
+
+#: sys-utils/ipcs.c:595
+#, c-format
+msgid ""
+"\n"
+"Shared memory Segment shmid=%d\n"
+msgstr ""
+"\n"
+"Сегмент спільної пам'яті shmid=%d\n"
+
+#: sys-utils/ipcs.c:596
+#, c-format
+msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+
+#: sys-utils/ipcs.c:598
+#, c-format
+msgid "mode=%#o\taccess_perms=%#o\n"
+msgstr "режим=%#o\tправа_доступу=%#o\n"
+
+#: sys-utils/ipcs.c:600
+#, c-format
+msgid "bytes=%ld\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+msgstr "байт=%ld\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+
+#: sys-utils/ipcs.c:603
+#, c-format
+msgid "att_time=%-26.24s\n"
+msgstr "час_приєдн=%-26.24s\n"
+
+#: sys-utils/ipcs.c:605
+#, c-format
+msgid "det_time=%-26.24s\n"
+msgstr "час_від'єдн=%-26.24s\n"
+
+#: sys-utils/ipcs.c:607 sys-utils/ipcs.c:637
+#, c-format
+msgid "change_time=%-26.24s\n"
+msgstr "час_змін=%-26.24s\n"
+
+#: sys-utils/ipcs.c:619
+#, fuzzy
+msgid "msgctl failed"
+msgstr "помилка виконання fsync"
+
+#: sys-utils/ipcs.c:621
+#, c-format
+msgid ""
+"\n"
+"Message Queue msqid=%d\n"
+msgstr ""
+"\n"
+"Черга повідомлень msqid=%d\n"
+
+#: sys-utils/ipcs.c:622
+#, c-format
+msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
+
+#: sys-utils/ipcs.c:624
+#, 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:633
+#, c-format
+msgid "send_time=%-26.24s\n"
+msgstr "час_надсил=%-26.24s\n"
+
+#: sys-utils/ipcs.c:635
+#, c-format
+msgid "rcv_time=%-26.24s\n"
+msgstr "час_отрим=%-26.24s\n"
+
+#: sys-utils/ipcs.c:652 sys-utils/ipcs.c:674
+#, fuzzy
+msgid "semctl failed"
+msgstr "помилка при встановленні позиції"
+
+#: sys-utils/ipcs.c:654
+#, c-format
+msgid ""
+"\n"
+"Semaphore Array semid=%d\n"
+msgstr ""
+"\n"
+"Масив семафорів semid=%d\n"
+
+#: sys-utils/ipcs.c:655
+#, c-format
+msgid "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+msgstr "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+
+#: sys-utils/ipcs.c:657
+#, c-format
+msgid "mode=%#o, access_perms=%#o\n"
+msgstr "режим=%#o, права_дост=%#o\n"
+
+#: sys-utils/ipcs.c:659
+#, c-format
+msgid "nsems = %ld\n"
+msgstr "кільк.сем = %ld\n"
+
+#: sys-utils/ipcs.c:660
+#, c-format
+msgid "otime = %-26.24s\n"
+msgstr "otime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:662
+#, c-format
+msgid "ctime = %-26.24s\n"
+msgstr "ctime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:665
+msgid "semnum"
+msgstr "ном.сем"
+
+#: sys-utils/ipcs.c:665
+msgid "value"
+msgstr "значення"
+
+#: sys-utils/ipcs.c:665
+msgid "ncount"
+msgstr "ncount"
+
+#: sys-utils/ipcs.c:665
+msgid "zcount"
+msgstr "zcount"
+
+#: sys-utils/ipcs.c:665
+msgid "pid"
+msgstr "pid"
+
+#: sys-utils/ldattach.c:92
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [ -dhV78neo12 ] [ -s <speed> ] <ldisc> <device>\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:94
+msgid ""
+"\n"
+"Known <ldisc> names:\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:179
+#, fuzzy, c-format
+msgid "invalid speed: %s"
+msgstr "неправильний ідентифікатор: %s\n"
+
+#: sys-utils/ldattach.c:182
+#, fuzzy, c-format
+msgid "ldattach from %s\n"
+msgstr "%s з %s\n"
+
+#: sys-utils/ldattach.c:187 text-utils/tailf.c:205
+#, fuzzy
+msgid "invalid option"
+msgstr "неправильний ідентифікатор"
+
+#: sys-utils/ldattach.c:199
+#, fuzzy, c-format
+msgid "invalid line discipline: %s"
+msgstr "неправильний ідентифікатор: %s\n"
+
+#: sys-utils/ldattach.c:207
+#, fuzzy, c-format
+msgid "%s is not a serial line"
+msgstr "%s не є спеціальним файлом блочного пристрою"
+
+#: sys-utils/ldattach.c:213
+#, fuzzy, c-format
+msgid "cannot get terminal attributes for %s"
+msgstr "не вдається отримати розмір %s"
+
+#: sys-utils/ldattach.c:216
+#, c-format
+msgid "speed %d unsupported"
+msgstr ""
+
+#: sys-utils/ldattach.c:247
+#, fuzzy, c-format
+msgid "cannot set terminal attributes for %s"
+msgstr "не вдається отримати розмір %s"
+
+#: sys-utils/ldattach.c:254
+#, fuzzy
+msgid "cannot set line discipline"
+msgstr "Помилка позиціювання на дисковому пристрої"
+
+#: sys-utils/ldattach.c:260
+#, fuzzy
+msgid "cannot daemonize"
+msgstr "не вдається отримати розмір %s"
+
+#: sys-utils/lscpu.c:64
+#, fuzzy
+msgid "none"
+msgstr "Немає"
+
+#: sys-utils/lscpu.c:65
+msgid "para"
+msgstr ""
+
+#: sys-utils/lscpu.c:66
+msgid "full"
+msgstr ""
+
+#: sys-utils/lscpu.c:129 sys-utils/lscpu.c:152 sys-utils/lscpu.c:441
+#, fuzzy, c-format
+msgid "error: %s"
+msgstr "Помилка РВ: "
+
+#: sys-utils/lscpu.c:154
+#, fuzzy, c-format
+msgid "error parse: %s"
+msgstr "помилка читання %s\n"
+
+#: sys-utils/lscpu.c:176
+#, fuzzy
+msgid "error: strdup failed"
+msgstr "Помилка відкривання %s"
+
+#: sys-utils/lscpu.c:259
+#, fuzzy
+msgid "error: uname failed"
+msgstr ""
+"\n"
+"Помилка закривання файлу\n"
+
+#: sys-utils/lscpu.c:491
+#, fuzzy
+msgid "error: malloc failed"
+msgstr "помилка виділення пам'яті"
+
+#: sys-utils/lscpu.c:506
+msgid "error: /sys filesystem is not accessable."
+msgstr ""
+
+#: sys-utils/lscpu.c:524
+#, 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"
+"# CPU,Core,Socket,Node"
+msgstr ""
+
+#: sys-utils/lscpu.c:590
+msgid "Thread(s) per core:"
+msgstr ""
+
+#: sys-utils/lscpu.c:591
+msgid "Core(s) per socket:"
+msgstr ""
+
+#: sys-utils/lscpu.c:592
+msgid "CPU socket(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:596
+msgid "NUMA node(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:598
+msgid "Vendor ID:"
+msgstr ""
+
+#: sys-utils/lscpu.c:600
+msgid "CPU family:"
+msgstr ""
+
+#: sys-utils/lscpu.c:602
+msgid "Model:"
+msgstr ""
+
+#: sys-utils/lscpu.c:604
+msgid "Stepping:"
+msgstr ""
+
+#: sys-utils/lscpu.c:606
+msgid "CPU MHz:"
+msgstr ""
+
+#: sys-utils/lscpu.c:609 sys-utils/lscpu.c:611
+#, fuzzy
+msgid "Virtualization:"
+msgstr "Старий стан:\n"
+
+#: sys-utils/lscpu.c:614
+msgid "Hypervisor vendor:"
+msgstr ""
+
+#: sys-utils/lscpu.c:615
+msgid "Virtualization type:"
+msgstr ""
+
+#: sys-utils/lscpu.c:623
+#, c-format
+msgid "%s cache:"
+msgstr ""
+
+#: sys-utils/lscpu.c:631
+#, fuzzy, c-format
+msgid "Usage: %s [option]\n"
+msgstr "Використання: %s [параметри] пристрій ...\n"
+
+#: sys-utils/lscpu.c:634
+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 ""
+
+#: sys-utils/lscpu.c:683
+#, fuzzy, c-format
+msgid "error: change working directory to %s."
+msgstr "помилка зімни режиму доступу до %s: %s\n"
+
+#: sys-utils/rdev.c:77
+msgid "usage: rdev [ -rv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]"
+msgstr ""
+"використання: rdev [ -rv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]"
+
+#: sys-utils/rdev.c:78
+msgid ""
+"  rdev /dev/fd0  (or rdev /linux, etc.) displays the current ROOT device"
+msgstr ""
+"  rdev /dev/fd0  (або rdev /linux, тощо.) відображає поточний ROOT пристрій"
+
+#: sys-utils/rdev.c:79
+msgid "  rdev /dev/fd0 /dev/hda2         sets ROOT to /dev/hda2"
+msgstr "  rdev /dev/fd0 /dev/hda2         встановлює ROOT у /dev/hda2"
+
+#: sys-utils/rdev.c:80
+msgid "  rdev -R /dev/fd0 1              set the ROOTFLAGS (readonly status)"
+msgstr ""
+"  rdev -R /dev/fd0 1              встановлює ROOTFLAGS (стан лише-для-"
+"читання)"
+
+#: sys-utils/rdev.c:81
+msgid "  rdev -r /dev/fd0 627            set the RAMDISK size"
+msgstr "  rdev -r /dev/fd0 627            встановлює розмір RAMDISK"
+
+#: sys-utils/rdev.c:82
+msgid "  rdev -v /dev/fd0 1              set the bootup VIDEOMODE"
+msgstr ""
+"  rdev -v /dev/fd0 1              встановлює VIDEOMODE при завантаженні"
+
+#: sys-utils/rdev.c:83
+msgid "  rdev -o N ...                   use the byte offset N"
+msgstr "  rdev -o N ...                   зсув у байтах N"
+
+#: sys-utils/rdev.c:84
+msgid "  rootflags ...                   same as rdev -R"
+msgstr "  rootflags ...                   те ж саме, що rdev -R"
+
+#: sys-utils/rdev.c:85
+msgid "  ramsize ...                     same as rdev -r"
+msgstr "  ramsize ...                     те ж саме, що rdev -r"
+
+#: sys-utils/rdev.c:86
+msgid "  vidmode ...                     same as rdev -v"
+msgstr "  vidmode ...                     те ж саме, що rdev -v"
+
+#: sys-utils/rdev.c:87
+msgid ""
+"Note: video modes are: -3=Ask, -2=Extended, -1=NormalVga, 1=key1, 2=key2,..."
+msgstr ""
+"Зауваження: відео режими: -3=Питати, -2=РозширенийVGA, -1=ЗвичайнийVga, "
+"1=key1, 2=key2,..."
+
+#: sys-utils/rdev.c:88
+msgid "      use -R 1 to mount root readonly, -R 0 for read/write."
+msgstr ""
+"      використовуйте -R 1 для підключення лише-для-читання, -R 0 для читання/"
+"запису."
+
+#: sys-utils/rdev.c:245
+msgid "missing comma"
+msgstr "відсутня кома"
+
+#: sys-utils/readprofile.c:72
+#, c-format
+msgid "out of memory"
+msgstr "недостатньо пам'яті"
+
+#: sys-utils/readprofile.c:118
+#, 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: Використання: \"%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            вивести гістограму з індивідуальними стовпчиками "
+"лічильників\n"
+"\t -s            вивести індивідуальні лічильники функцій\n"
+"\t -r            скинути всі лічильники (лише root)\n"
+"\t -n            вимкнути автоматичне визначення порядку байтів\n"
+"\t -V            вивести версію та вийти\n"
+
+#: sys-utils/readprofile.c:227
+#, fuzzy, c-format
+msgid "readprofile: error writing %s: %s\n"
+msgstr "mount: помилка запису %s: %s"
+
+#: sys-utils/readprofile.c:268
+#, c-format
+msgid "Assuming reversed byte order. Use -n to force native byte order.\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:284
+#, c-format
+msgid "Sampling_step: %i\n"
+msgstr "Крок_профілювання: %i\n"
+
+#: sys-utils/readprofile.c:305 sys-utils/readprofile.c:331
+#, c-format
+msgid "%s: %s(%i): wrong map line\n"
+msgstr "%s: %s(%i): неправильний рядок мапи\n"
+
+#: sys-utils/readprofile.c:318
+#, c-format
+msgid "%s: can't find \"_stext\" in %s\n"
+msgstr "%s: не вдається знайти \"_stext\" у %s\n"
+
+#: sys-utils/readprofile.c:352
+#, c-format
+msgid "%s: profile address out of range. Wrong map file?\n"
+msgstr "%s: адреса профілю поза діапазоном. Неправильний файл мапи?\n"
+
+#: sys-utils/readprofile.c:412
+msgid "total"
+msgstr "загалом"
+
+#: sys-utils/renice.c:53
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" renice [-n] priority [-p|--pid] pid  [... pid]\n"
+" renice [-n] priority  -g|--pgrp pgrp [... pgrp]\n"
+" renice [-n] priority  -u|--user user [... user]\n"
+" renice -h | --help\n"
+" renice -v | --version\n"
+"\n"
+msgstr ""
+
+#: sys-utils/renice.c:89
+#, fuzzy, c-format
+msgid "renice from %s\n"
+msgstr "%s з %s\n"
+
+#: sys-utils/renice.c:126
+#, c-format
+msgid "renice: %s: unknown user\n"
+msgstr "renice: %s: невідомий користувач\n"
+
+#: sys-utils/renice.c:134
+#, c-format
+msgid "renice: %s: bad value\n"
+msgstr "renice: %s: неправильне значення\n"
+
+#: sys-utils/renice.c:152 sys-utils/renice.c:164
+msgid "getpriority"
+msgstr "getpriority"
+
+#: sys-utils/renice.c:157
+msgid "setpriority"
+msgstr "setpriority"
+
+#: sys-utils/renice.c:168
+#, c-format
+msgid "%d: old priority %d, new priority %d\n"
+msgstr "%d: старий пріоритет %d, новий пріоритет %d\n"
+
+#: sys-utils/rtcwake.c:81
+#, c-format
+msgid ""
+"usage: %s [options]\n"
+"    -d | --device <device>    select rtc device (rtc0|rtc1|...)\n"
+"    -l | --local              RTC uses local timezone\n"
+"    -m | --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"
+"    -V | --version            show version\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:140
+msgid "read rtc time"
+msgstr ""
+
+#: sys-utils/rtcwake.c:145
+msgid "read system time"
+msgstr ""
+
+#: sys-utils/rtcwake.c:163
+msgid "convert rtc time"
+msgstr ""
+
+#: sys-utils/rtcwake.c:222
+msgid "set rtc alarm"
+msgstr ""
+
+#: sys-utils/rtcwake.c:226
+msgid "enable rtc alarm"
+msgstr ""
+
+#: sys-utils/rtcwake.c:230
+msgid "set rtc wake alarm"
+msgstr ""
+
+#: sys-utils/rtcwake.c:342
+#, fuzzy, c-format
+msgid "%s: unrecognized suspend state '%s'\n"
+msgstr " %s: невідомий тип таблиці розділів\n"
+
+#: sys-utils/rtcwake.c:351
+#, fuzzy, c-format
+msgid "%s: illegal interval %s seconds\n"
+msgstr "%s: неправильний ключ (%s)\n"
+
+#: sys-utils/rtcwake.c:365
+#, fuzzy, c-format
+msgid "%s: illegal time_t value %s\n"
+msgstr "%s: неправильний параметр -- %s\n"
+
+#: sys-utils/rtcwake.c:381
+#, fuzzy, c-format
+msgid "%s: version %s\n"
+msgstr "%s версія %s\n"
+
+#: sys-utils/rtcwake.c:394
+#, c-format
+msgid "%s: assuming RTC uses UTC ...\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:399
+#, fuzzy, c-format
+msgid "Using UTC time.\n"
+msgstr "Використовується %s.\n"
+
+#: sys-utils/rtcwake.c:400
+#, fuzzy, c-format
+msgid "Using local time.\n"
+msgstr "Використовується %s.\n"
+
+#: sys-utils/rtcwake.c:403
+#, c-format
+msgid "%s: must provide wake time\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:413
+#, fuzzy
+msgid "malloc() failed"
+msgstr "помилка виділення пам'яті"
+
+#: sys-utils/rtcwake.c:425
+#, fuzzy, c-format
+msgid "%s: %s not enabled for wakeup events\n"
+msgstr "%s: %s не є lp пристроєм.\n"
+
+#: sys-utils/rtcwake.c:441
+#, c-format
+msgid "alarm %ld, sys_time %ld, rtc_time %ld, seconds %u\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:446
+#, c-format
+msgid "%s: time doesn't go backward to %s\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:456
+#, fuzzy, c-format
+msgid "%s: wakeup from \"%s\" using %s at %s\n"
+msgstr "Повідомлення від %s@%s до %s у %s ..."
+
+#: sys-utils/rtcwake.c:473
+#, fuzzy
+msgid "rtc read"
+msgstr ", готовий"
+
+#: sys-utils/rtcwake.c:482
+msgid "disable rtc alarm interrupt"
+msgstr ""
+
+#: sys-utils/setarch.c:50
+#, c-format
+msgid "Switching on %s.\n"
+msgstr ""
+
+#: sys-utils/setarch.c:113
+#, c-format
+msgid ""
+"Usage: %s%s [options] [program [program arguments]]\n"
+"\n"
+"Options:\n"
+msgstr ""
+
+#: sys-utils/setarch.c:117
+#, c-format
+msgid ""
+" -h, --help               displays this help text\n"
+" -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"
+msgstr ""
+
+#: sys-utils/setarch.c:131
+#, c-format
+msgid ""
+"\n"
+"For more information see setarch(8).\n"
+msgstr ""
+
+#: sys-utils/setarch.c:143
+#, fuzzy, c-format
+msgid ""
+"%s: %s\n"
+"Try `%s --help' for more information.\n"
+msgstr "Спробуйте `getopt --help', щоб отримати додаткову інформацію.\n"
+
+#: sys-utils/setarch.c:215 sys-utils/setarch.c:231
+#, fuzzy, c-format
+msgid "%s: Unrecognized architecture"
+msgstr " %s: невідомий тип таблиці розділів\n"
+
+#: sys-utils/setarch.c:249 sys-utils/setarch.c:256
+#, fuzzy
+msgid "Not enough arguments"
+msgstr "Надто багато параметрів.\n"
+
+#: sys-utils/setarch.c:265 sys-utils/setarch.c:318
+#, fuzzy, c-format
+msgid "Failed to set personality to %s"
+msgstr "не вдається записати розділ на %s\n"
+
+#: sys-utils/setsid.c:26
+#, c-format
+msgid "usage: %s program [arg ...]\n"
+msgstr "використання: %s програма [аргументи ...]\n"
+
+#: sys-utils/tunelp.c:75
+#, c-format
+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"
+
+#: sys-utils/tunelp.c:91
+msgid "malloc error"
+msgstr "помилка malloc"
+
+#: sys-utils/tunelp.c:103
+#, c-format
+msgid "%s: bad value\n"
+msgstr "%s: неправильне значення\n"
+
+#: sys-utils/tunelp.c:242
+#, c-format
+msgid "%s: %s not an lp device.\n"
+msgstr "%s: %s не є lp пристроєм.\n"
+
+#: sys-utils/tunelp.c:263
+#, c-format
+msgid "%s status is %d"
+msgstr "%s стан - %d"
+
+#: sys-utils/tunelp.c:264
+#, c-format
+msgid ", busy"
+msgstr ", зайнятий"
+
+#: sys-utils/tunelp.c:265
+#, c-format
+msgid ", ready"
+msgstr ", готовий"
+
+#: sys-utils/tunelp.c:266
+#, c-format
+msgid ", out of paper"
+msgstr ", скінчився папір"
+
+#: sys-utils/tunelp.c:267
+#, c-format
+msgid ", on-line"
+msgstr ", on-line"
+
+#: sys-utils/tunelp.c:268
+#, c-format
+msgid ", error"
+msgstr ", помилка"
+
+#: sys-utils/tunelp.c:285
+msgid "LPGETIRQ error"
+msgstr "помилка LPGETIRQ"
+
+#: sys-utils/tunelp.c:291
+#, c-format
+msgid "%s using IRQ %d\n"
+msgstr "%s використовує IRQ %d\n"
+
+#: sys-utils/tunelp.c:293
+#, c-format
+msgid "%s using polling\n"
+msgstr "%s використовує опитування стану\n"
+
+#: text-utils/col.c:154
+#, c-format
+msgid "col: bad -l argument %s.\n"
+msgstr "col: неправильний -l аргумент %s.\n"
+
+#: text-utils/col.c:544
+#, c-format
+msgid "usage: col [-bfpx] [-l nline]\n"
+msgstr "використання: col [-bfpx] [-l кільк.рядків]\n"
+
+#: text-utils/col.c:550
+#, c-format
+msgid "col: write error.\n"
+msgstr "col: помилка запису.\n"
+
+#: text-utils/col.c:557
+#, c-format
+msgid "col: warning: can't back up %s.\n"
+msgstr "col: попередження: помилка резервного копіювання %s.\n"
+
+#: text-utils/col.c:558
+msgid "past first line"
+msgstr "повз перший рядок"
+
+#: text-utils/col.c:558
+msgid "-- line already flushed"
+msgstr "-- рядок вже скинуто у потік"
+
+#: text-utils/colcrt.c:97
+#, c-format
+msgid "usage: %s [ - ] [ -2 ] [ file ... ]\n"
+msgstr "використання: %s [ - ] [ -2 ] [ файл ... ]\n"
+
+#: text-utils/column.c:297
+msgid "line too long"
+msgstr "рядок надто довгий"
+
+#: text-utils/column.c:374
+#, c-format
+msgid "usage: column [-tx] [-c columns] [file ...]\n"
+msgstr "використання: column [-tx] [-c стовпчиків] [файл ...]\n"
+
+#: text-utils/hexsyntax.c:82
+#, c-format
+msgid "hexdump: bad length value.\n"
+msgstr "hexdump: неправильне значення довжини.\n"
+
+#: text-utils/hexsyntax.c:93
+#, c-format
+msgid "hexdump: bad skip value.\n"
+msgstr "hexdump: неправильне значення зсуву.\n"
+
+#: text-utils/hexsyntax.c:131
+#, c-format
+msgid ""
+"hexdump: [-bcCdovx] [-e fmt] [-f fmt_file] [-n length] [-s skip] [file ...]\n"
+msgstr ""
+"hexdump: [-bcCdovx] [-e формат] [-f файл_формату] [-n довжина] [-s зсув] "
+"[файл ...]\n"
+
+#: text-utils/more.c:256
+#, c-format
+msgid "usage: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n"
+msgstr "використання: %s [-dflpcsu] [+linenum | +/pattern] назва1 назва2 ...\n"
+
+#: text-utils/more.c:479
+#, c-format
+msgid "%s: unknown option \"-%c\"\n"
+msgstr "%s: невідомий параметр \"-%c\"\n"
+
+#: text-utils/more.c:511
+#, c-format
+msgid ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+msgstr ""
+"\n"
+"*** %s: каталог ***\n"
+"\n"
+
+#: text-utils/more.c:555
+#, c-format
+msgid ""
+"\n"
+"******** %s: Not a text file ********\n"
+"\n"
+msgstr ""
+"\n"
+"******** %s: не є текстовим файлом ********\n"
+"\n"
+
+#: text-utils/more.c:658
+#, c-format
+msgid "[Use q or Q to quit]"
+msgstr "[Використовуйте q чи Q щоб вийти]"
+
+#: text-utils/more.c:750
+#, c-format
+msgid "--More--"
+msgstr "--Далі--"
+
+#: text-utils/more.c:752
+#, c-format
+msgid "(Next file: %s)"
+msgstr "(Наступний файл: %s)"
+
+#: text-utils/more.c:757
+#, c-format
+msgid "[Press space to continue, 'q' to quit.]"
+msgstr "[Натисніть пробіл, щоб продовжити, або 'q', щоб вийти.]"
+
+#: text-utils/more.c:1172
+#, c-format
+msgid "...back %d pages"
+msgstr "...назад %d сторінок"
+
+#: text-utils/more.c:1174
+msgid "...back 1 page"
+msgstr "...назад 1 сторінку"
+
+#: text-utils/more.c:1217
+msgid "...skipping one line"
+msgstr "...пропускається один рядок"
+
+#: text-utils/more.c:1219
+#, c-format
+msgid "...skipping %d lines"
+msgstr "...пропускається %d рядків"
+
+#: text-utils/more.c:1256
+msgid ""
+"\n"
+"***Back***\n"
+"\n"
+msgstr ""
+"\n"
+"***Назад***\n"
+"\n"
+
+#: text-utils/more.c:1294
+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:1301
+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:1370 text-utils/more.c:1375
+#, c-format
+msgid "[Press 'h' for instructions.]"
+msgstr "[Натисніть 'h' щоб переглянути довідку.]"
+
+#: text-utils/more.c:1409
+#, c-format
+msgid "\"%s\" line %d"
+msgstr "\"%s\" рядок %d"
+
+#: text-utils/more.c:1411
+#, c-format
+msgid "[Not a file] line %d"
+msgstr "[Не файл] рядок %d"
+
+#: text-utils/more.c:1495
+msgid "  Overflow\n"
+msgstr "  Переповнення\n"
+
+#: text-utils/more.c:1542
+msgid "...skipping\n"
+msgstr "...перехід\n"
+
+#: text-utils/more.c:1571
+msgid "Regular expression botch"
+msgstr "Невдалий регулярний вираз"
+
+#: text-utils/more.c:1579
+msgid ""
+"\n"
+"Pattern not found\n"
+msgstr ""
+"\n"
+"Шаблон не знайдено\n"
+
+#: text-utils/more.c:1582 text-utils/pg.c:1124 text-utils/pg.c:1275
+msgid "Pattern not found"
+msgstr "Шаблон не знайдено"
+
+#: text-utils/more.c:1643
+msgid "can't fork\n"
+msgstr "не вдається створити процес\n"
+
+#: text-utils/more.c:1682
+msgid ""
+"\n"
+"...Skipping "
+msgstr ""
+"\n"
+"...Перехід "
+
+#: text-utils/more.c:1686
+msgid "...Skipping to file "
+msgstr "...Перехід до файлу"
+
+#: text-utils/more.c:1688
+msgid "...Skipping back to file "
+msgstr "...Перехід назад до файлу"
+
+#: text-utils/more.c:1966
+msgid "Line too long"
+msgstr "Рядок надто довгий"
+
+#: text-utils/more.c:2009
+msgid "No previous command to substitute for"
+msgstr "Немає попередньої команди для заміни"
+
+#: text-utils/odsyntax.c:130
+#, c-format
+msgid "od: od(1) has been deprecated for hexdump(1).\n"
+msgstr "od: використовувати od(1) небажано, користуйтесь hexdump(1).\n"
+
+#: text-utils/odsyntax.c:133
+#, c-format
+msgid "od: hexdump(1) compatibility doesn't support the -%c option%s\n"
+msgstr "od: у режимі сумісності з hexdump(1) параметр -%c не підтримується%s\n"
+
+#: text-utils/odsyntax.c:134
+msgid "; see strings(1)."
+msgstr "; дивіться strings(1)."
+
+#: text-utils/parse.c:63
+#, c-format
+msgid "hexdump: can't read %s.\n"
+msgstr "hexdump: не вдається прочитати %s.\n"
+
+#: text-utils/parse.c:68
+#, c-format
+msgid "hexdump: line too long.\n"
+msgstr "hexdump: рядок надто довгий.\n"
+
+#: text-utils/parse.c:401
+#, c-format
+msgid "hexdump: byte count with multiple conversion characters.\n"
+msgstr "hexdump: кількість байт з декількома символами перетворення.\n"
+
+#: text-utils/parse.c:483
+#, c-format
+msgid "hexdump: bad byte count for conversion character %s.\n"
+msgstr "hexdump: неправильна кількість байт для символу перетворення %s.\n"
+
+#: text-utils/parse.c:490
+#, c-format
+msgid "hexdump: %%s requires a precision or a byte count.\n"
+msgstr "hexdump: %%s потребує вказування точності або кількості байт.\n"
+
+#: text-utils/parse.c:496
+#, c-format
+msgid "hexdump: bad format {%s}\n"
+msgstr "hexdump: неправильний формат {%s}\n"
+
+#: text-utils/parse.c:502
+#, c-format
+msgid "hexdump: bad conversion character %%%s.\n"
+msgstr "hexdump: неправильний символ перетворення %%%s.\n"
+
+#: text-utils/pg.c:145
+msgid ""
+"All rights reserved.\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"
+msgstr ""
+
+#: text-utils/pg.c:223
+#, fuzzy
+msgid "Out of memory\n"
+msgstr "Недостатньо пам'яті"
+
+#: text-utils/pg.c:236
+#, c-format
+msgid ""
+"%s: Usage: %s [-number] [-p string] [-cefnrs] [+line] [+/pattern/] [files]\n"
+msgstr ""
+"%s: Використання: %s [-number] [-p рядок] [-cefnrs] [+line] [+/pattern/] "
+"[файли]\n"
+
+#: text-utils/pg.c:245
+#, c-format
+msgid "%s: option requires an argument -- %s\n"
+msgstr "%s: параметр потребує вказування аргументу -- %s\n"
+
+#: text-utils/pg.c:253
+#, c-format
+msgid "%s: illegal option -- %s\n"
+msgstr "%s: неправильний параметр -- %s\n"
+
+#: text-utils/pg.c:370
+msgid "...skipping forward\n"
+msgstr "...перехід вперед\n"
+
+#: text-utils/pg.c:372
+msgid "...skipping backward\n"
+msgstr "...перехід назад\n"
+
+#: text-utils/pg.c:394
+msgid "No next file"
+msgstr "Немає наступного файлу"
+
+#: text-utils/pg.c:398
+msgid "No previous file"
+msgstr "Немає попереднього файлу"
+
+#: text-utils/pg.c:928
+#, c-format
+msgid "%s: Read error from %s file\n"
+msgstr "%s: Помилка читання з файлу %s\n"
+
+#: text-utils/pg.c:934
+#, c-format
+msgid "%s: Unexpected EOF in %s file\n"
+msgstr "%s: Неочікуваний кінець файла у файлі %s\n"
+
+#: text-utils/pg.c:937
+#, c-format
+msgid "%s: Unknown error in %s file\n"
+msgstr "%s: Невідома помилка у файлі %s\n"
+
+#: text-utils/pg.c:1032
+#, c-format
+msgid "%s: Cannot create tempfile\n"
+msgstr "%s: не вдається створити тимчасовий файл\n"
+
+#: text-utils/pg.c:1041 text-utils/pg.c:1216 text-utils/pg.c:1243
+msgid "RE error: "
+msgstr "Помилка РВ: "
+
+#: text-utils/pg.c:1198
+msgid "(EOF)"
+msgstr "(Кінець файлу)"
+
+#: text-utils/pg.c:1224 text-utils/pg.c:1251
+msgid "No remembered search string"
+msgstr "Немає збереженого у пам'яті рядку пошуку"
+
+#: text-utils/pg.c:1307
+msgid "Cannot open "
+msgstr "не вдається відкрити "
+
+#: text-utils/pg.c:1355
+msgid "saved"
+msgstr "збережено"
+
+#: text-utils/pg.c:1462
+msgid ": !command not allowed in rflag mode.\n"
+msgstr ": команда ! не допустима у режимі rflag.\n"
+
+#: text-utils/pg.c:1494
+msgid "fork() failed, try again later\n"
+msgstr "помилка виконання fork(), спробуйте пізніше ще раз\n"
+
+#: text-utils/pg.c:1702
+msgid "(Next file: "
+msgstr "(Наступний файл: "
+
+#: text-utils/rev.c:113
+#, fuzzy
+msgid "unable to allocate bufferspace"
+msgstr "не вдається виділити простір для буфера\n"
+
+#: text-utils/rev.c:143
+#, c-format
+msgid "usage: rev [file ...]\n"
+msgstr "використання: rev [файл ...]\n"
+
+#: text-utils/tailf.c:57 text-utils/tailf.c:92
+#, fuzzy, c-format
+msgid "cannot open \"%s\" for read"
+msgstr "Не вдається відкрити \"%s\" для читання\n"
+
+#: text-utils/tailf.c:95 text-utils/tailf.c:214
+#, fuzzy, c-format
+msgid "cannot stat \"%s\""
+msgstr "не вдається отримати інформацію про %s"
+
+#: text-utils/tailf.c:108
+#, c-format
+msgid "incomplete write to \"%s\" (written %zd, expected %zd)\n"
+msgstr ""
+
+#: text-utils/tailf.c:146
+#, c-format
+msgid "%s: cannot add inotify watch (limit of inotify watches was reached)."
+msgstr ""
+
+#: text-utils/tailf.c:150
+#, c-format
+msgid "%s: cannot add inotify watch."
+msgstr ""
+
+#: text-utils/tailf.c:159
+#, fuzzy, c-format
+msgid "%s: cannot read inotify events"
+msgstr "%s: не вдається відкрити %s\n"
+
+#: text-utils/tailf.c:198 text-utils/tailf.c:202
+#, fuzzy
+msgid "invalid number of lines"
+msgstr "Неправильне число: %s\n"
+
+#: text-utils/tailf.c:209
+#, fuzzy
+msgid "usage: tailf [-n N | -N] logfile"
+msgstr "Використання: tailf файл_журналу\n"
+
+#: text-utils/ul.c:141
+#, c-format
+msgid "usage: %s [ -i ] [ -tTerm ] file...\n"
+msgstr "використання: %s [ -i ] [ -tТермінал ] файл...\n"
+
+#: text-utils/ul.c:152
+#, c-format
+msgid "trouble reading terminfo"
+msgstr "проблема при читанні terminfo"
+
+#: text-utils/ul.c:242
+#, c-format
+msgid "Unknown escape sequence in input: %o, %o\n"
+msgstr "Невідома escape-послідовність на вході: %o, %o\n"
+
+#: text-utils/ul.c:425
+#, c-format
+msgid "Unable to allocate buffer.\n"
+msgstr "не вдається виділити буфер.\n"
+
+#: text-utils/ul.c:586
+#, c-format
+msgid "Input line too long.\n"
+msgstr "Вхідний рядок надто довгий.\n"
+
+#: text-utils/ul.c:599
+#, c-format
+msgid "Out of memory when growing buffer.\n"
+msgstr "Недостатньо пам'яті для збільшення буфера.\n"
+
+#~ msgid "# partition table of %s\n"
+#~ msgstr "# таблиця розділів диску %s\n"
+
+#, 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 bootable"
+
+#, 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: unable to get current directory - %s\n"
+#~ msgstr "namei: не вдається отримати поточний каталог - %s\n"
+
+#~ msgid "namei: unable to chdir to %s - %s (%d)\n"
+#~ msgstr "namei: не вдається перейти у каталог %s - %s (%d)\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 "%s: cannot stat %s: %s\n"
+#~ msgstr "%s: не вдається отримати статистику %s: %s\n"
+
+#~ msgid "could not umount %s - trying %s instead\n"
+#~ msgstr "не вдається відключити umount %s - натомість пробується %s\n"
+
+#~ msgid "%-10s %-10s %-10s %-10s %-10s %-10s\n"
+#~ msgstr "%-20s %-20s %-20s %-20s %-20s %-20s\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 "%-14s %-10s %-16s %-16s %-10s %-24s %-24s\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 "перед auto_baud\n"
+
+#~ msgid "waiting for cr-lf\n"
+#~ msgstr "пошук символу нового рядка\n"
+
+#~ msgid "reading login name\n"
+#~ msgstr "читається реєстраційне ім'я\n"
+
+#~ msgid "after getopt loop\n"
+#~ msgstr "після getopt циклу\n"
+
+#~ msgid "exiting parseargs\n"
+#~ msgstr "завершується функція parse_args\n"
+
+#~ msgid "entered parse_speeds\n"
+#~ msgstr "початок функції parse_speeds\n"
+
+#~ msgid "exiting parsespeeds\n"
+#~ msgstr "завершується функція parse_speeds\n"
+
+#~ msgid "open(2)\n"
+#~ msgstr "open(2)\n"
+
+#~ msgid "duping\n"
+#~ msgstr "виклик dup()\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 "timeout = %d, quiet = %d, reboot = %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 ] pids ] [ [ -g ] pgrps ] [ [ -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"
+#~ "Завершення.\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 "Autoconfigure failed.\n"
+#~ msgstr "Помилка при автоматичному визначенні.\n"
+
+#~ 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"
+
+#~ msgid "%s from util-linux-%s\n"
+#~ msgstr "%s з util-linux-%s\n"
+
+#~ msgid "%s from %s%s\n"
+#~ msgstr "%s від %s%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 та LABEL неможлива.\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: cannot find %s in %s"
+#~ msgstr "mount: не вдається знайти %s у %s"
+
+#~ 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 "використано portmapper, щоб знайти NFS порт\n"
+
+#~ msgid "using port %d for nfs deamon\n"
+#~ msgstr "використовується порт %d служби nfs\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 - неправильна сигнатура\n"
+
+#~ msgid "%s: warning--file length too long, padded image?\n"
+#~ msgstr "%s: попередження - довжина файлу надто велика, доповнений образ?\n"
+
+#~ msgid "%s: invalid cramfs--crc error\n"
+#~ msgstr "%s: неправильний cramfs - помилка контрольної суми\n"
+
+#~ msgid "%s: invalid cramfs--bad superblock\n"
+#~ msgstr "%s: неправильний cramfs - неправильний суперблок\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 ] пристрій розмір сект головок доріжок 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 "Warning: deleting partitions after %d\n"
+#~ msgstr "Попередження: видалення розділів після %d\n"
+
+#~ msgid "version"
+#~ msgstr "версія"
+
+#~ msgid "BLKGETSIZE ioctl failed for %s\n"
+#~ msgstr "помилка у системному виклику BLKGETSIZE на %s\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 "помилка при stat(%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 ""
+#~ "Пароль повинен містити символи двох наступних груп категорій:\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 ""
+#~ "Лише адміністратор може використовувати варіант з одним чи двома "
+#~ "параметрами.\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 "Лише адміністратор може змінювати пароль інших користувачів.\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 ""
+#~ "Можна змінювати лише локальні паролі. Використовуйте yppasswd натомість."
+
+#~ msgid "UID and username does not match, imposter!"
+#~ msgstr "UID та ім'я користувача не відповідають одне одному, ви шахрай!"
+
+#~ 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 "ПАРОЛЬ АДМІНІСТРАТОРА ЗМІНЕНО"
+
+#~ msgid "password changed by root, user %s"
+#~ msgstr "пароль змінено адміністратором, користувач %s"
+
+#~ msgid "calling setpwnam to set password.\n"
+#~ msgstr "викликається setpwnam для встановлення паролю.\n"
+
+#~ msgid "Password *NOT* changed.  Try again later.\n"
+#~ msgstr "Пароль НЕ змінено. Спробуйте ще раз пізніше.\n"
+
+#~ msgid "Password changed.\n"
+#~ msgstr "Пароль змінено.\n"
+
+#~ msgid "mount: this version was compiled without support for the type `nfs'"
+#~ msgstr "mount: цю версію програми скомпільовано без підтримки `nfs'"
+
+#~ msgid "mount: fs type %s not supported by kernel"
+#~ msgstr "mount: файлова система типу %s не підтримується ядром"
+
+#~ msgid "mount: %s duplicate - not mounted"
+#~ msgstr "mount: %s дубльована - не підключається"
+
+#~ msgid "UUID"
+#~ msgstr "UUID"
+
+#~ msgid "mount: the label %s occurs on both %s and %s - not mounted\n"
+#~ msgstr ""
+#~ "mount: ім'я %s зустрічається як на %s, так і на %s - не підключено\n"
+
+#~ msgid "Boot (%02X)"
+#~ msgstr "Завантаження (%02X)"
+
+#~ msgid "None (%02X)"
+#~ msgstr "Немає (%02X)"
+
+#~ msgid "%s: [%04x]:%ld (%s) offset %d, %s encryption\n"
+#~ msgstr "%s: [%04x]:%ld (%s) зсув %d, шифрування %s\n"
+
+#~ msgid ""
+#~ "mount: Could not find any loop device.\n"
+#~ "       Maybe /dev/loop# has a wrong major number?"
+#~ msgstr ""
+#~ "mount: не вдається знайти жодний 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-пристрій. Можливо це ядро не \n"
+#~ "       підтримує роботу з loop-пристроями (тоді перекомпілюйте ядро \n"
+#~ "       або виконайте `insmod loop.o'), або можливо /dev/loop# має \n"
+#~ "       неправильний старший номер? "
+
+#~ msgid "Init (up to 16 hex digits): "
+#~ msgstr "Init (до 16 шістнадцяткових цифр): "
+
+#~ msgid "Non-hex digit '%c'.\n"
+#~ msgstr "Не шістнадцяткова цифра '%c'.\n"
+
+#~ msgid "Don't know how to get key for encryption system %d\n"
+#~ msgstr "Невідомо як отримати ключ системи шифрування %d\n"
diff --git a/po/update-potfiles b/po/update-potfiles
new file mode 100755 (executable)
index 0000000..1de3e3a
--- /dev/null
@@ -0,0 +1,13 @@
+#!/bin/sh
+#
+# Copyright (C) 2009 Karel Zak <kzak@redhat.com>
+#
+
+# find all *.c files, 
+# sort the list
+# exclude ../tests/ from the list 
+#         and remove "../" prefix
+
+find ../ -name "*.c" | \
+sort | \
+gawk '! /^\.\.\/tests\// { print gensub(/^\.\.\//, "", 1) }' > POTFILES.in
diff --git a/po/util-linux-ng.pot b/po/util-linux-ng.pot
new file mode 100644 (file)
index 0000000..63104f4
--- /dev/null
@@ -0,0 +1,10881 @@
+# 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: Karel Zak <kzak@redhat.com>\n"
+"POT-Creation-Date: 2009-11-30 16:27+0100\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"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: disk-utils/blockdev.c:37
+msgid "set read-only"
+msgstr ""
+
+#: disk-utils/blockdev.c:38
+msgid "set read-write"
+msgstr ""
+
+#: disk-utils/blockdev.c:39
+msgid "get read-only"
+msgstr ""
+
+#: disk-utils/blockdev.c:40
+msgid "get sectorsize"
+msgstr ""
+
+#: disk-utils/blockdev.c:41
+msgid "get blocksize"
+msgstr ""
+
+#: disk-utils/blockdev.c:42
+msgid "set blocksize"
+msgstr ""
+
+#: disk-utils/blockdev.c:43
+msgid "get 32-bit sector count"
+msgstr ""
+
+#: disk-utils/blockdev.c:44
+msgid "get size in bytes"
+msgstr ""
+
+#: disk-utils/blockdev.c:45
+msgid "set readahead"
+msgstr ""
+
+#: disk-utils/blockdev.c:46
+msgid "get readahead"
+msgstr ""
+
+#: disk-utils/blockdev.c:47
+msgid "set filesystem readahead"
+msgstr ""
+
+#: disk-utils/blockdev.c:48
+msgid "get filesystem readahead"
+msgstr ""
+
+#: disk-utils/blockdev.c:49
+msgid "flush buffers"
+msgstr ""
+
+#: disk-utils/blockdev.c:51
+msgid "reread partition table"
+msgstr ""
+
+#: disk-utils/blockdev.c:60
+#, c-format
+msgid "Usage:\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:62
+#, c-format
+msgid "  %s --report [devices]\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:63
+#, c-format
+msgid "  %s [-v|-q] commands devices\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:66
+#, c-format
+msgid "Available commands:\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:68
+msgid "get size in 512-byte sectors"
+msgstr ""
+
+#: disk-utils/blockdev.c:201
+#, c-format
+msgid "%s: Unknown command: %s\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:213 disk-utils/blockdev.c:222
+#, c-format
+msgid "%s requires an argument\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:255
+#, c-format
+msgid "%s failed.\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:292
+#, c-format
+msgid "%s succeeded.\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:310 disk-utils/blockdev.c:338
+#, c-format
+msgid "%s: cannot open %s\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:355
+#, c-format
+msgid "%s: ioctl error on %s\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:364
+#, c-format
+msgid "RO    RA   SSZ   BSZ   StartSec            Size   Device\n"
+msgstr ""
+
+#: disk-utils/elvtune.c:48
+#, c-format
+msgid "usage:\n"
+msgstr ""
+
+#: disk-utils/elvtune.c:53
+#, c-format
+msgid "\tNOTE: elvtune only works with 2.4 kernels\n"
+msgstr ""
+
+#: disk-utils/elvtune.c:104
+#, c-format
+msgid "parse error\n"
+msgstr ""
+
+#: disk-utils/elvtune.c:110
+#, c-format
+msgid "missing blockdevice, use -h for help\n"
+msgstr ""
+
+#: disk-utils/elvtune.c:131
+#, 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:31
+#, c-format
+msgid "Formatting ... "
+msgstr ""
+
+#: disk-utils/fdformat.c:49 disk-utils/fdformat.c:86
+#, c-format
+msgid "done\n"
+msgstr ""
+
+#: disk-utils/fdformat.c:60
+#, 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:80
+#, c-format
+msgid ""
+"bad data in cyl %d\n"
+"Continuing ... "
+msgstr ""
+
+#: disk-utils/fdformat.c:96
+#, c-format
+msgid "usage: %s [ -n ] device\n"
+msgstr ""
+
+#: disk-utils/fdformat.c:118 disk-utils/fsck.minix.c:1282
+#: disk-utils/isosize.c:181 disk-utils/mkfs.bfs.c:115 disk-utils/mkfs.c:52
+#: disk-utils/mkfs.cramfs.c:813 disk-utils/mkfs.minix.c:571
+#: disk-utils/mkswap.c:461 misc-utils/ddate.c:179 misc-utils/rename.c:79
+#: misc-utils/script.c:147 sys-utils/readprofile.c:197
+#, c-format
+msgid "%s (%s)\n"
+msgstr ""
+
+#: disk-utils/fdformat.c:132
+#, c-format
+msgid "%s: not a block device\n"
+msgstr ""
+
+#: disk-utils/fdformat.c:142
+msgid "Could not determine current format type"
+msgstr ""
+
+#: disk-utils/fdformat.c:143
+#, c-format
+msgid "%s-sided, %d tracks, %d sec/track. Total capacity %d kB.\n"
+msgstr ""
+
+#: disk-utils/fdformat.c:144
+msgid "Double"
+msgstr ""
+
+#: disk-utils/fdformat.c:144
+msgid "Single"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:118
+#, c-format
+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 ""
+
+#: disk-utils/fsck.cramfs.c:164
+#, c-format
+msgid "stat failed: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:168 disk-utils/fsck.cramfs.c:552
+#, c-format
+msgid "open failed: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:173
+#, c-format
+msgid "ioctl failed: unable to determine device size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:181
+#, c-format
+msgid "not a block device or file: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:185 disk-utils/fsck.cramfs.c:227
+msgid "file length too short"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:190 disk-utils/fsck.cramfs.c:198
+#: disk-utils/fsck.cramfs.c:259 disk-utils/fsck.cramfs.c:279
+#, c-format
+msgid "read failed: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:208
+msgid "superblock magic not found"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:217
+msgid "unsupported filesystem features"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:220
+#, c-format
+msgid "superblock size (%d) too small"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:224
+msgid "zero file count"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:230
+#, c-format
+msgid "warning: file extends past end of filesystem\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:234
+#, c-format
+msgid "warning: old cramfs format\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:247
+msgid "unable to test CRC: old cramfs format"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:273 disk-utils/fsck.cramfs.c:340
+#: disk-utils/fsck.cramfs.c:478 login-utils/chfn.c:529 login-utils/chsh.c:439
+#: sys-utils/cytune.c:321
+msgid "malloc failed"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:298
+msgid "crc error"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:365
+msgid "root inode is not directory"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:370
+#, c-format
+msgid "bad root offset (%lu)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:388
+msgid "data block too large"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:392
+#, c-format
+msgid "decompression error %p(%d): %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:416
+#, c-format
+msgid "  hole at %ld (%zd)\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:424 disk-utils/fsck.cramfs.c:596
+#, c-format
+msgid "  uncompressing block at %ld to %ld (%ld)\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:430
+#, c-format
+msgid "non-block (%ld) bytes"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:434
+#, c-format
+msgid "non-size (%ld vs %ld) bytes"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:440
+#, c-format
+msgid "write failed: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:453
+#, c-format
+msgid "lchown failed: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:459
+#, c-format
+msgid "chown failed: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:466
+#, c-format
+msgid "utime failed: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:481
+#, c-format
+msgid "directory inode has zero offset and non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:495
+#, c-format
+msgid "mkdir failed: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:512
+msgid "filename length is zero"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:515
+msgid "bad filename length"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:522
+msgid "bad inode offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:538
+msgid "file inode has zero offset and non-zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:541
+msgid "file inode has zero size and non-zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:572
+msgid "symbolic link has zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:575
+msgid "symbolic link has zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:587
+#, c-format
+msgid "size error in symlink: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:602
+#, c-format
+msgid "symlink failed: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:614
+#, c-format
+msgid "special file has non-zero offset: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:626
+#, c-format
+msgid "fifo has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:632
+#, c-format
+msgid "socket has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:637
+#, c-format
+msgid "bogus mode: %s (%o)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:647
+#, c-format
+msgid "mknod failed: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:683
+#, c-format
+msgid "directory data start (%ld) < sizeof(struct cramfs_super) + start (%ld)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:686
+#, c-format
+msgid "directory data end (%ld) != file data start (%ld)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:691
+msgid "invalid file data offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:715
+msgid "failed to allocate outbuffer"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:728
+msgid "compiled without -x support"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:210
+#, c-format
+msgid "Usage: %s [-larvsmf] /dev/name\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:326
+#, c-format
+msgid "%s is mounted.\t "
+msgstr ""
+
+#: disk-utils/fsck.minix.c:328
+msgid "Do you really want to continue"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:332
+#, c-format
+msgid "check aborted.\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:351 disk-utils/fsck.minix.c:374
+#, c-format
+msgid "Zone nr < FIRSTZONE in file `%s'."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:355 disk-utils/fsck.minix.c:378
+#, c-format
+msgid "Zone nr >= ZONES in file `%s'."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:360 disk-utils/fsck.minix.c:383
+msgid "Remove block"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:401
+#, c-format
+msgid "Read error: unable to seek to block in file '%s'\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:407
+#, c-format
+msgid "Read error: bad block in file '%s'\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:422
+#, c-format
+msgid ""
+"Internal error: trying to write bad block\n"
+"Write request ignored\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:428 disk-utils/mkfs.minix.c:209
+msgid "seek failed in write_block"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:431
+#, c-format
+msgid "Write error: bad block in file '%s'\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:547
+msgid "seek failed in write_super_block"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:549 disk-utils/mkfs.minix.c:196
+msgid "unable to write super-block"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:559
+msgid "Unable to write inode map"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:561
+msgid "Unable to write zone map"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:563
+msgid "Unable to write inodes"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:590
+msgid "seek failed"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:592
+msgid "unable to read super block"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:610
+msgid "bad magic number in super-block"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:612
+msgid "Only 1k blocks/zones supported"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:614
+msgid "bad s_imap_blocks field in super-block"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:616
+msgid "bad s_zmap_blocks field in super-block"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:623
+msgid "Unable to allocate buffer for inode map"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:626
+msgid "Unable to allocate buffer for zone map"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:631
+msgid "Unable to allocate buffer for inodes"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:634
+msgid "Unable to allocate buffer for inode count"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:637
+msgid "Unable to allocate buffer for zone count"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:639
+msgid "Unable to read inode map"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:641
+msgid "Unable to read zone map"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:643
+msgid "Unable to read inodes"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:645
+#, c-format
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:650 disk-utils/mkfs.minix.c:450
+#, c-format
+msgid "%ld inodes\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:651 disk-utils/mkfs.minix.c:451
+#, c-format
+msgid "%ld blocks\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:652 disk-utils/mkfs.minix.c:452
+#, c-format
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:653 disk-utils/mkfs.minix.c:453
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:654
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:655
+#, c-format
+msgid "Filesystem state=%d\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:656
+#, c-format
+msgid ""
+"namelen=%d\n"
+"\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:671 disk-utils/fsck.minix.c:722
+#, c-format
+msgid "Inode %d marked unused, but used for file '%s'\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:675 disk-utils/fsck.minix.c:726
+msgid "Mark in use"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:697 disk-utils/fsck.minix.c:746
+#, c-format
+msgid "The file `%s' has mode %05o\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:704 disk-utils/fsck.minix.c:752
+#, c-format
+msgid "Warning: inode count too big.\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:764 disk-utils/fsck.minix.c:772
+msgid "root inode isn't a directory"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:786 disk-utils/fsck.minix.c:819
+#, c-format
+msgid "Block has been used before. Now in file `%s'."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:788 disk-utils/fsck.minix.c:821
+#: disk-utils/fsck.minix.c:1144 disk-utils/fsck.minix.c:1153
+#: disk-utils/fsck.minix.c:1199 disk-utils/fsck.minix.c:1208
+msgid "Clear"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:798 disk-utils/fsck.minix.c:831
+#, c-format
+msgid "Block %d in file `%s' is marked not in use."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:800 disk-utils/fsck.minix.c:833
+msgid "Correct"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:972 disk-utils/fsck.minix.c:1039
+#, c-format
+msgid "The directory '%s' contains a bad inode number for file '%.*s'."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:975 disk-utils/fsck.minix.c:1042
+msgid " Remove"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:989 disk-utils/fsck.minix.c:1056
+#, c-format
+msgid "%s: bad directory: '.' isn't first\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:997 disk-utils/fsck.minix.c:1065
+#, c-format
+msgid "%s: bad directory: '..' isn't second\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1099 disk-utils/fsck.minix.c:1117
+msgid "internal error"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1102 disk-utils/fsck.minix.c:1120
+#, c-format
+msgid "%s: bad directory: size < 32"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1133
+msgid "seek failed in bad_zone"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1143 disk-utils/fsck.minix.c:1198
+#, c-format
+msgid "Inode %d mode not cleared."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1152 disk-utils/fsck.minix.c:1207
+#, c-format
+msgid "Inode %d not used, marked used in the bitmap."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1158 disk-utils/fsck.minix.c:1213
+#, c-format
+msgid "Inode %d used, marked unused in the bitmap."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1160 disk-utils/fsck.minix.c:1214
+msgid "Set"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1164 disk-utils/fsck.minix.c:1218
+#, c-format
+msgid "Inode %d (mode = %07o), i_nlinks=%d, counted=%d."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1166 disk-utils/fsck.minix.c:1220
+msgid "Set i_nlinks to count"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1178 disk-utils/fsck.minix.c:1232
+#, c-format
+msgid "Zone %d: marked in use, no file uses it."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1179 disk-utils/fsck.minix.c:1234
+msgid "Unmark"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1184 disk-utils/fsck.minix.c:1239
+#, c-format
+msgid "Zone %d: in use, counted=%d\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1187 disk-utils/fsck.minix.c:1242
+#, c-format
+msgid "Zone %d: not in use, counted=%d\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1287 disk-utils/mkfs.minix.c:576
+#: disk-utils/mkfs.minix.c:578
+msgid "bad inode size"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1289
+msgid "bad v2 inode size"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1315
+msgid "need terminal for interactive repairs"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1319
+#, c-format
+msgid "unable to open '%s': %s"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1334
+#, c-format
+msgid "%s is clean, no check.\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1338
+#, c-format
+msgid "Forcing filesystem check on %s.\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1340
+#, c-format
+msgid "Filesystem on %s is dirty, needs checking.\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1373
+#, c-format
+msgid ""
+"\n"
+"%6ld inodes used (%ld%%)\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1378
+#, c-format
+msgid "%6ld zones used (%ld%%)\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1380
+#, 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:1393
+#, c-format
+msgid ""
+"----------------------------\n"
+"FILE SYSTEM HAS BEEN CHANGED\n"
+"----------------------------\n"
+msgstr ""
+
+#: disk-utils/isosize.c:129
+#, c-format
+msgid "%s: failed to open: %s\n"
+msgstr ""
+
+#: disk-utils/isosize.c:135
+#, c-format
+msgid "%s: seek error on %s\n"
+msgstr ""
+
+#: disk-utils/isosize.c:141
+#, c-format
+msgid "%s: read error on %s\n"
+msgstr ""
+
+#: disk-utils/isosize.c:150
+#, c-format
+msgid "sector count: %d, sector size: %d\n"
+msgstr ""
+
+#: disk-utils/isosize.c:200
+#, c-format
+msgid "%s: option parse error\n"
+msgstr ""
+
+#: disk-utils/isosize.c:208
+#, c-format
+msgid "Usage: %s [-x] [-d <num>] iso9660-image\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:84
+#, c-format
+msgid ""
+"Usage: %s [-v] [-N nr-of-inodes] [-V volume-name]\n"
+"       [-F fsname] device [block-count]\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:131
+msgid "volume name too long"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:138
+msgid "fsname name too long"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:163
+#, c-format
+msgid "cannot stat device %s"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:167
+#, c-format
+msgid "%s is not a block special device"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:172 sys-utils/ldattach.c:205
+#, c-format
+msgid "cannot open %s"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:183
+#, c-format
+msgid "cannot get size of %s"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:188
+#, c-format
+msgid "blocks argument too large, max is %llu"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:203
+msgid "too many inodes - max is 512"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:212
+#, c-format
+msgid "not enough space, need at least %llu blocks"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:224 fdisk/fdisk.c:2345
+#, c-format
+msgid "Device: %s\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:225
+#, c-format
+msgid "Volume: <%-6s>\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:226
+#, c-format
+msgid "FSname: <%-6s>\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:227
+#, c-format
+msgid "BlockSize: %d\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:229
+#, c-format
+msgid "Inodes: %d (in 1 block)\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:232
+#, c-format
+msgid "Inodes: %d (in %lld blocks)\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:234
+#, c-format
+msgid "Blocks: %lld\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:235
+#, c-format
+msgid "Inode end: %d, Data end: %d\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:240
+msgid "error writing superblock"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:260
+msgid "error writing root inode"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:265
+msgid "error writing inode"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:268
+msgid "seek error"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:274
+msgid "error writing . entry"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:278
+msgid "error writing .. entry"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:282
+#, c-format
+msgid "error closing %s"
+msgstr ""
+
+#: disk-utils/mkfs.c:73
+#, c-format
+msgid "Usage: mkfs [-V] [-t fstype] [fs-options] device [size]\n"
+msgstr ""
+
+#: disk-utils/mkfs.c:88 disk-utils/mkfs.c:96 fdisk/cfdisk.c:351
+#: getopt/getopt.c:86 getopt/getopt.c:96 login-utils/wall.c:246
+#, c-format
+msgid "%s: Out of memory!\n"
+msgstr ""
+
+#: disk-utils/mkfs.c:103
+#, c-format
+msgid "mkfs (%s)\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:126
+#, 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:340
+#, c-format
+msgid ""
+"Very long (%zu bytes) filename `%s' found.\n"
+" Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile.  Exiting.\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:472
+#, c-format
+msgid "filesystem too big.  Exiting.\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:637
+#, c-format
+msgid "AIEEE: block \"compressed\" to > 2*blocklength (%ld)\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:656
+#, c-format
+msgid "%6.2f%% (%+ld bytes)\t%s\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:854
+#, c-format
+msgid ""
+"warning: guestimate of required size (upper bound) is %lldMB, but maximum "
+"image size is %uMB.  We might die prematurely.\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:881
+msgid "ROM image map"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:895
+#, c-format
+msgid "Including: %s\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:901
+#, c-format
+msgid "Directory data: %zd bytes\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:909
+#, c-format
+msgid "Everything: %zd kilobytes\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:914
+#, c-format
+msgid "Super block: %zd bytes\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:921
+#, c-format
+msgid "CRC: %x\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:926
+#, c-format
+msgid "not enough space allocated for ROM image (%lld allocated, %zu used)\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:934
+msgid "ROM image"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:938
+#, c-format
+msgid "ROM image write failed (%zd %zd)\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:947
+#, c-format
+msgid "warning: filenames truncated to 255 bytes.\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:950
+#, c-format
+msgid "warning: files were skipped due to errors.\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:953
+#, c-format
+msgid "warning: file sizes truncated to %luMB (minus 1 byte).\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:958
+#, c-format
+msgid ""
+"warning: uids truncated to %u bits.  (This may be a security concern.)\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:963
+#, c-format
+msgid ""
+"warning: gids truncated to %u bits.  (This may be a security concern.)\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:968
+#, c-format
+msgid ""
+"WARNING: device numbers truncated to %u bits.  This almost certainly means\n"
+"that some device files will be wrong.\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:156
+#, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:180
+#, c-format
+msgid "%s is mounted; will not make a filesystem here!"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:190
+msgid "seek to boot block failed in write_tables"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:192
+msgid "unable to clear boot sector"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:194
+msgid "seek failed in write_tables"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:198
+msgid "unable to write inode map"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:200
+msgid "unable to write zone map"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:202
+msgid "unable to write inodes"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:211
+msgid "write failed in write_block"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:219 disk-utils/mkfs.minix.c:293
+#: disk-utils/mkfs.minix.c:342
+msgid "too many bad blocks"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:227
+msgid "not enough good blocks"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:439
+msgid "unable to allocate buffers for maps"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:448
+msgid "unable to allocate buffer for inodes"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:454
+#, c-format
+msgid ""
+"Maxsize=%ld\n"
+"\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:468
+msgid "seek failed during testing of blocks"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:476
+#, c-format
+msgid "Weird values in do_check: probably bugs\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:507 disk-utils/mkswap.c:313
+msgid "seek failed in check_blocks"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:516
+msgid "bad blocks before data-area: cannot make fs"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:522 disk-utils/mkfs.minix.c:547
+#, c-format
+msgid "%d bad blocks\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:524 disk-utils/mkfs.minix.c:549
+#, c-format
+msgid "one bad block\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:534
+msgid "can't open file of bad blocks"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:538
+#, c-format
+msgid "badblock number input error on line %d\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:539
+msgid "cannot read badblocks file"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:619
+#, c-format
+msgid "strtol error: number of blocks not specified"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:638
+#, c-format
+msgid "unable to stat %s"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:644
+#, c-format
+msgid "unable to open %s"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:649
+#, c-format
+msgid "cannot determine sector size for %s"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:651
+#, c-format
+msgid "block size smaller than physical sector size of %s"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:654
+#, c-format
+msgid "cannot determine size of %s"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:662
+#, c-format
+msgid "will not try to make filesystem on '%s'"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:664
+msgid "number of blocks too small"
+msgstr ""
+
+#: disk-utils/mkswap.c:155
+#, c-format
+msgid "Bad user-specified page size %d\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:163
+#, c-format
+msgid "Using user-specified page size %d, instead of the system value %d\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:192
+#, c-format
+msgid "Bad swap header size, no label written.\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:202
+#, c-format
+msgid "Label was truncated.\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:208
+#, c-format
+msgid "no label, "
+msgstr ""
+
+#: disk-utils/mkswap.c:216
+#, c-format
+msgid "no uuid\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:281
+#, c-format
+msgid "Usage: %s [-c] [-pPAGESZ] [-L label] [-U UUID] /dev/name [blocks]\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:295
+msgid "too many bad pages"
+msgstr ""
+
+#: disk-utils/mkswap.c:308 misc-utils/look.c:182 misc-utils/setterm.c:1183
+#: text-utils/more.c:1982 text-utils/more.c:1993
+msgid "Out of memory"
+msgstr ""
+
+#: disk-utils/mkswap.c:319
+#, c-format
+msgid "one bad page\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:321
+#, c-format
+msgid "%lu bad pages\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:399 disk-utils/mkswap.c:415 disk-utils/mkswap.c:633
+msgid "unable to rewind swap-device"
+msgstr ""
+
+#: disk-utils/mkswap.c:419
+msgid "unable to erase bootbits sectors"
+msgstr ""
+
+#: disk-utils/mkswap.c:423
+#, c-format
+msgid "%s: %s: warning: don't erase bootbits sectors\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:426
+#, c-format
+msgid "        (%s partition table detected). "
+msgstr ""
+
+#: disk-utils/mkswap.c:428
+#, c-format
+msgid "        on whole disk. "
+msgstr ""
+
+#: disk-utils/mkswap.c:498
+#, c-format
+msgid "%1$s: warning: ignore -U (UUIDs are unsupported by %1$s)\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:514
+#, c-format
+msgid "%s: does not support swapspace version %d.\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:522
+msgid "error: UUID parsing failed"
+msgstr ""
+
+#: disk-utils/mkswap.c:533
+#, c-format
+msgid "%s: error: Nowhere to set up swap on?\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:551
+#, c-format
+msgid "%s: error: size %llu KiB is larger than device size %llu KiB\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:560
+#, c-format
+msgid "%s: error: swap area needs to be at least %ld KiB\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:577
+#, c-format
+msgid "%s: warning: truncating swap area to %llu KiB\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:600
+#, c-format
+msgid "%s: error: will not try to make swapdevice on '%s'\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:606
+#, c-format
+msgid "%s: error: %s is mounted; will not make swapspace.\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:622
+msgid "Unable to set up swap-space: unreadable"
+msgstr ""
+
+#: disk-utils/mkswap.c:625
+#, c-format
+msgid "Setting up swapspace version 1, size = %llu KiB\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:636
+#, c-format
+msgid "%s: %s: unable to write signature page: %s"
+msgstr ""
+
+#: disk-utils/mkswap.c:647
+msgid "fsync failed"
+msgstr ""
+
+#: disk-utils/mkswap.c:658
+#, c-format
+msgid "%s: %s: unable to obtain selinux file label: %s\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:664
+msgid "unable to matchpathcon()"
+msgstr ""
+
+#: disk-utils/mkswap.c:667
+msgid "unable to create new selinux context"
+msgstr ""
+
+#: disk-utils/mkswap.c:669
+msgid "couldn't compute selinux context"
+msgstr ""
+
+#: disk-utils/mkswap.c:675
+#, c-format
+msgid "%s: unable to relabel %s to %s: %s\n"
+msgstr ""
+
+#: disk-utils/raw.c:50
+#, c-format
+msgid ""
+"Usage:\n"
+"  %s "
+msgstr ""
+
+#: disk-utils/raw.c:125
+#, c-format
+msgid ""
+"Device '%s' is control raw dev (use raw<N> where <N> is greater than zero)\n"
+msgstr ""
+
+#: disk-utils/raw.c:145
+#, c-format
+msgid "Cannot locate block device '%s' (%s)\n"
+msgstr ""
+
+#: disk-utils/raw.c:151
+#, c-format
+msgid "Device '%s' is not a block dev\n"
+msgstr ""
+
+#: disk-utils/raw.c:186
+#, c-format
+msgid "Cannot open master raw device '"
+msgstr ""
+
+#: disk-utils/raw.c:205
+#, c-format
+msgid "Cannot locate raw device '%s' (%s)\n"
+msgstr ""
+
+#: disk-utils/raw.c:211
+#, c-format
+msgid "Raw device '%s' is not a character dev\n"
+msgstr ""
+
+#: disk-utils/raw.c:216
+#, c-format
+msgid "Device '%s' is not a raw dev\n"
+msgstr ""
+
+#: disk-utils/raw.c:231
+#, c-format
+msgid "Error querying raw device (%s)\n"
+msgstr ""
+
+#: disk-utils/raw.c:241 disk-utils/raw.c:261
+#, c-format
+msgid "raw%d:\tbound to major %d, minor %d\n"
+msgstr ""
+
+#: disk-utils/raw.c:257
+#, c-format
+msgid "Error setting raw device (%s)\n"
+msgstr ""
+
+#: fdisk/cfdisk.c:376 fdisk/cfdisk.c:2080
+msgid "Unusable"
+msgstr ""
+
+#: fdisk/cfdisk.c:378 fdisk/cfdisk.c:2082
+msgid "Free Space"
+msgstr ""
+
+#: fdisk/cfdisk.c:381
+msgid "Linux ext2"
+msgstr ""
+
+#: fdisk/cfdisk.c:383
+msgid "Linux ext3"
+msgstr ""
+
+#: fdisk/cfdisk.c:385
+msgid "Linux XFS"
+msgstr ""
+
+#: fdisk/cfdisk.c:387
+msgid "Linux JFS"
+msgstr ""
+
+#: fdisk/cfdisk.c:389
+msgid "Linux ReiserFS"
+msgstr ""
+
+#: fdisk/cfdisk.c:391 fdisk/i386_sys_types.c:57
+msgid "Linux"
+msgstr ""
+
+#: fdisk/cfdisk.c:394
+msgid "OS/2 HPFS"
+msgstr ""
+
+#: fdisk/cfdisk.c:396
+msgid "OS/2 IFS"
+msgstr ""
+
+#: fdisk/cfdisk.c:400
+msgid "NTFS"
+msgstr ""
+
+#: fdisk/cfdisk.c:411
+#, c-format
+msgid "Disk has been changed.\n"
+msgstr ""
+
+#: fdisk/cfdisk.c:413
+#, c-format
+msgid "Reboot the system to ensure the partition table is correctly updated.\n"
+msgstr ""
+
+#: fdisk/cfdisk.c:417
+#, 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 ""
+
+#: fdisk/cfdisk.c:512
+msgid "FATAL ERROR"
+msgstr ""
+
+#: fdisk/cfdisk.c:513
+msgid "Press any key to exit cfdisk"
+msgstr ""
+
+#: fdisk/cfdisk.c:560 fdisk/cfdisk.c:568
+msgid "Cannot seek on disk drive"
+msgstr ""
+
+#: fdisk/cfdisk.c:562
+msgid "Cannot read disk drive"
+msgstr ""
+
+#: fdisk/cfdisk.c:570
+msgid "Cannot write disk drive"
+msgstr ""
+
+#: fdisk/cfdisk.c:913
+msgid "Too many partitions"
+msgstr ""
+
+#: fdisk/cfdisk.c:918
+msgid "Partition begins before sector 0"
+msgstr ""
+
+#: fdisk/cfdisk.c:923
+msgid "Partition ends before sector 0"
+msgstr ""
+
+#: fdisk/cfdisk.c:928
+msgid "Partition begins after end-of-disk"
+msgstr ""
+
+#: fdisk/cfdisk.c:933
+msgid "Partition ends after end-of-disk"
+msgstr ""
+
+#: fdisk/cfdisk.c:938
+msgid "Partition ends in the final partial cylinder"
+msgstr ""
+
+#: fdisk/cfdisk.c:962
+msgid "logical partitions not in disk order"
+msgstr ""
+
+#: fdisk/cfdisk.c:965
+msgid "logical partitions overlap"
+msgstr ""
+
+#: fdisk/cfdisk.c:969
+msgid "enlarged logical partitions overlap"
+msgstr ""
+
+#: fdisk/cfdisk.c:999
+msgid ""
+"!!!! Internal error creating logical drive with no extended partition !!!!"
+msgstr ""
+
+#: fdisk/cfdisk.c:1010 fdisk/cfdisk.c:1022
+msgid ""
+"Cannot create logical drive here -- would create two extended partitions"
+msgstr ""
+
+#: fdisk/cfdisk.c:1164
+msgid "Menu item too long. Menu may look odd."
+msgstr ""
+
+#: fdisk/cfdisk.c:1220
+msgid "Menu without direction. Defaulting to horizontal."
+msgstr ""
+
+#: fdisk/cfdisk.c:1351
+msgid "Illegal key"
+msgstr ""
+
+#: fdisk/cfdisk.c:1374
+msgid "Press a key to continue"
+msgstr ""
+
+#: fdisk/cfdisk.c:1421 fdisk/cfdisk.c:2051 fdisk/cfdisk.c:2583
+#: fdisk/cfdisk.c:2585
+msgid "Primary"
+msgstr ""
+
+#: fdisk/cfdisk.c:1421
+msgid "Create a new primary partition"
+msgstr ""
+
+#: fdisk/cfdisk.c:1422 fdisk/cfdisk.c:2051 fdisk/cfdisk.c:2582
+#: fdisk/cfdisk.c:2585
+msgid "Logical"
+msgstr ""
+
+#: fdisk/cfdisk.c:1422
+msgid "Create a new logical partition"
+msgstr ""
+
+#: fdisk/cfdisk.c:1423 fdisk/cfdisk.c:1478 fdisk/cfdisk.c:2256
+msgid "Cancel"
+msgstr ""
+
+#: fdisk/cfdisk.c:1423 fdisk/cfdisk.c:1478
+msgid "Don't create a partition"
+msgstr ""
+
+#: fdisk/cfdisk.c:1439
+msgid "!!! Internal error !!!"
+msgstr ""
+
+#: fdisk/cfdisk.c:1442
+msgid "Size (in MB): "
+msgstr ""
+
+#: fdisk/cfdisk.c:1476
+msgid "Beginning"
+msgstr ""
+
+#: fdisk/cfdisk.c:1476
+msgid "Add partition at beginning of free space"
+msgstr ""
+
+#: fdisk/cfdisk.c:1477
+msgid "End"
+msgstr ""
+
+#: fdisk/cfdisk.c:1477
+msgid "Add partition at end of free space"
+msgstr ""
+
+#: fdisk/cfdisk.c:1495
+msgid "No room to create the extended partition"
+msgstr ""
+
+#: fdisk/cfdisk.c:1569
+msgid "No partition table.\n"
+msgstr ""
+
+#: fdisk/cfdisk.c:1573
+msgid "No partition table. Starting with zero table."
+msgstr ""
+
+#: fdisk/cfdisk.c:1583
+msgid "Bad signature on partition table"
+msgstr ""
+
+#: fdisk/cfdisk.c:1587
+msgid "Unknown partition table type"
+msgstr ""
+
+#: fdisk/cfdisk.c:1589
+msgid "Do you wish to start with a zero table [y/N] ?"
+msgstr ""
+
+#: fdisk/cfdisk.c:1637
+msgid "You specified more cylinders than fit on disk"
+msgstr ""
+
+#: fdisk/cfdisk.c:1669
+msgid "Cannot open disk drive"
+msgstr ""
+
+#: fdisk/cfdisk.c:1671 fdisk/cfdisk.c:1860
+msgid "Opened disk read-only - you have no permission to write"
+msgstr ""
+
+#: fdisk/cfdisk.c:1682
+msgid ""
+"Warning!!  Unsupported GPT (GUID Partition Table) detected. Use GNU Parted."
+msgstr ""
+
+#: fdisk/cfdisk.c:1701
+msgid "Cannot get disk size"
+msgstr ""
+
+#: fdisk/cfdisk.c:1727
+msgid "Bad primary partition"
+msgstr ""
+
+#: fdisk/cfdisk.c:1757
+msgid "Bad logical partition"
+msgstr ""
+
+#: fdisk/cfdisk.c:1872
+msgid "Warning!!  This may destroy data on your disk!"
+msgstr ""
+
+#: fdisk/cfdisk.c:1876
+msgid ""
+"Are you sure you want to write the partition table to disk? (yes or no): "
+msgstr ""
+
+#: fdisk/cfdisk.c:1882
+msgid "no"
+msgstr ""
+
+#: fdisk/cfdisk.c:1884
+msgid "Did not write partition table to disk"
+msgstr ""
+
+#: fdisk/cfdisk.c:1886
+msgid "yes"
+msgstr ""
+
+#: fdisk/cfdisk.c:1890
+msgid "Please enter `yes' or `no'"
+msgstr ""
+
+#: fdisk/cfdisk.c:1894
+msgid "Writing partition table to disk..."
+msgstr ""
+
+#: fdisk/cfdisk.c:1921 fdisk/cfdisk.c:1925
+msgid "Wrote partition table to disk"
+msgstr ""
+
+#: fdisk/cfdisk.c:1923
+msgid ""
+"Wrote partition table, but re-read table failed.  Run partprobe(8), kpartx"
+"(8) or reboot to update table."
+msgstr ""
+
+#: fdisk/cfdisk.c:1933
+msgid "No primary partitions are marked bootable. DOS MBR cannot boot this."
+msgstr ""
+
+#: fdisk/cfdisk.c:1935
+msgid ""
+"More than one primary partition is marked bootable. DOS MBR cannot boot this."
+msgstr ""
+
+#: fdisk/cfdisk.c:1993 fdisk/cfdisk.c:2112 fdisk/cfdisk.c:2196
+msgid "Enter filename or press RETURN to display on screen: "
+msgstr ""
+
+#: fdisk/cfdisk.c:2002 fdisk/cfdisk.c:2120 fdisk/cfdisk.c:2204
+#, c-format
+msgid "Cannot open file '%s'"
+msgstr ""
+
+#: fdisk/cfdisk.c:2013
+#, c-format
+msgid "Disk Drive: %s\n"
+msgstr ""
+
+#: fdisk/cfdisk.c:2015
+msgid "Sector 0:\n"
+msgstr ""
+
+#: fdisk/cfdisk.c:2022
+#, c-format
+msgid "Sector %d:\n"
+msgstr ""
+
+#: fdisk/cfdisk.c:2042
+msgid "   None   "
+msgstr ""
+
+#: fdisk/cfdisk.c:2044
+msgid "   Pri/Log"
+msgstr ""
+
+#: fdisk/cfdisk.c:2046
+msgid "   Primary"
+msgstr ""
+
+#: fdisk/cfdisk.c:2048
+msgid "   Logical"
+msgstr ""
+
+#: fdisk/cfdisk.c:2086 fdisk/fdisk.c:1534 fdisk/fdisk.c:1855
+#: fdisk/fdisksgilabel.c:240 fdisk/fdisksunlabel.c:621 fdisk/sfdisk.c:653
+msgid "Unknown"
+msgstr ""
+
+#: fdisk/cfdisk.c:2092 fdisk/cfdisk.c:2560 fdisk/fdisksunlabel.c:44
+msgid "Boot"
+msgstr ""
+
+#: fdisk/cfdisk.c:2094
+#, c-format
+msgid "(%02X)"
+msgstr ""
+
+#: fdisk/cfdisk.c:2096
+msgid "None"
+msgstr ""
+
+#: fdisk/cfdisk.c:2131 fdisk/cfdisk.c:2215
+#, c-format
+msgid "Partition Table for %s\n"
+msgstr ""
+
+#: fdisk/cfdisk.c:2133
+msgid "               First       Last\n"
+msgstr ""
+
+#: fdisk/cfdisk.c:2134
+msgid ""
+" # Type       Sector      Sector   Offset    Length   Filesystem Type (ID) "
+"Flag\n"
+msgstr ""
+
+#: fdisk/cfdisk.c:2135
+msgid ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+msgstr ""
+
+#: fdisk/cfdisk.c:2218
+msgid "         ---Starting----      ----Ending-----    Start     Number of\n"
+msgstr ""
+
+#: fdisk/cfdisk.c:2219
+msgid " # Flags Head Sect  Cyl   ID  Head Sect  Cyl     Sector    Sectors\n"
+msgstr ""
+
+#: fdisk/cfdisk.c:2220
+msgid "-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+msgstr ""
+
+#: fdisk/cfdisk.c:2253
+msgid "Raw"
+msgstr ""
+
+#: fdisk/cfdisk.c:2253
+msgid "Print the table using raw data format"
+msgstr ""
+
+#: fdisk/cfdisk.c:2254 fdisk/cfdisk.c:2357
+msgid "Sectors"
+msgstr ""
+
+#: fdisk/cfdisk.c:2254
+msgid "Print the table ordered by sectors"
+msgstr ""
+
+#: fdisk/cfdisk.c:2255
+msgid "Table"
+msgstr ""
+
+#: fdisk/cfdisk.c:2255
+msgid "Just print the partition table"
+msgstr ""
+
+#: fdisk/cfdisk.c:2256
+msgid "Don't print the table"
+msgstr ""
+
+#: fdisk/cfdisk.c:2284
+msgid "Help Screen for cfdisk"
+msgstr ""
+
+#: fdisk/cfdisk.c:2286
+msgid "This is cfdisk, a curses based disk partitioning program, which"
+msgstr ""
+
+#: fdisk/cfdisk.c:2287
+msgid "allows you to create, delete and modify partitions on your hard"
+msgstr ""
+
+#: fdisk/cfdisk.c:2288
+msgid "disk drive."
+msgstr ""
+
+#: fdisk/cfdisk.c:2290
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr ""
+
+#: fdisk/cfdisk.c:2292
+msgid "Command      Meaning"
+msgstr ""
+
+#: fdisk/cfdisk.c:2293
+msgid "-------      -------"
+msgstr ""
+
+#: fdisk/cfdisk.c:2294
+msgid "  b          Toggle bootable flag of the current partition"
+msgstr ""
+
+#: fdisk/cfdisk.c:2295
+msgid "  d          Delete the current partition"
+msgstr ""
+
+#: fdisk/cfdisk.c:2296
+msgid "  g          Change cylinders, heads, sectors-per-track parameters"
+msgstr ""
+
+#: fdisk/cfdisk.c:2297
+msgid "             WARNING: This option should only be used by people who"
+msgstr ""
+
+#: fdisk/cfdisk.c:2298
+msgid "             know what they are doing."
+msgstr ""
+
+#: fdisk/cfdisk.c:2299
+msgid "  h          Print this screen"
+msgstr ""
+
+#: fdisk/cfdisk.c:2300
+msgid "  m          Maximize disk usage of the current partition"
+msgstr ""
+
+#: fdisk/cfdisk.c:2301
+msgid "             Note: This may make the partition incompatible with"
+msgstr ""
+
+#: fdisk/cfdisk.c:2302
+msgid "             DOS, OS/2, ..."
+msgstr ""
+
+#: fdisk/cfdisk.c:2303
+msgid "  n          Create new partition from free space"
+msgstr ""
+
+#: fdisk/cfdisk.c:2304
+msgid "  p          Print partition table to the screen or to a file"
+msgstr ""
+
+#: fdisk/cfdisk.c:2305
+msgid "             There are several different formats for the partition"
+msgstr ""
+
+#: fdisk/cfdisk.c:2306
+msgid "             that you can choose from:"
+msgstr ""
+
+#: fdisk/cfdisk.c:2307
+msgid "                r - Raw data (exactly what would be written to disk)"
+msgstr ""
+
+#: fdisk/cfdisk.c:2308
+msgid "                s - Table ordered by sectors"
+msgstr ""
+
+#: fdisk/cfdisk.c:2309
+msgid "                t - Table in raw format"
+msgstr ""
+
+#: fdisk/cfdisk.c:2310
+msgid "  q          Quit program without writing partition table"
+msgstr ""
+
+#: fdisk/cfdisk.c:2311
+msgid "  t          Change the filesystem type"
+msgstr ""
+
+#: fdisk/cfdisk.c:2312
+msgid "  u          Change units of the partition size display"
+msgstr ""
+
+#: fdisk/cfdisk.c:2313
+msgid "             Rotates through MB, sectors and cylinders"
+msgstr ""
+
+#: fdisk/cfdisk.c:2314
+msgid "  W          Write partition table to disk (must enter upper case W)"
+msgstr ""
+
+#: fdisk/cfdisk.c:2315
+msgid "             Since this might destroy data on the disk, you must"
+msgstr ""
+
+#: fdisk/cfdisk.c:2316
+msgid "             either confirm or deny the write by entering `yes' or"
+msgstr ""
+
+#: fdisk/cfdisk.c:2317
+msgid "             `no'"
+msgstr ""
+
+#: fdisk/cfdisk.c:2318
+msgid "Up Arrow     Move cursor to the previous partition"
+msgstr ""
+
+#: fdisk/cfdisk.c:2319
+msgid "Down Arrow   Move cursor to the next partition"
+msgstr ""
+
+#: fdisk/cfdisk.c:2320
+msgid "CTRL-L       Redraws the screen"
+msgstr ""
+
+#: fdisk/cfdisk.c:2321
+msgid "  ?          Print this screen"
+msgstr ""
+
+#: fdisk/cfdisk.c:2323
+msgid "Note: All of the commands can be entered with either upper or lower"
+msgstr ""
+
+#: fdisk/cfdisk.c:2324
+msgid "case letters (except for Writes)."
+msgstr ""
+
+#: fdisk/cfdisk.c:2355 fdisk/fdisksunlabel.c:237
+msgid "Cylinders"
+msgstr ""
+
+#: fdisk/cfdisk.c:2355
+msgid "Change cylinder geometry"
+msgstr ""
+
+#: fdisk/cfdisk.c:2356 fdisk/fdisksunlabel.c:235
+msgid "Heads"
+msgstr ""
+
+#: fdisk/cfdisk.c:2356
+msgid "Change head geometry"
+msgstr ""
+
+#: fdisk/cfdisk.c:2357
+msgid "Change sector geometry"
+msgstr ""
+
+#: fdisk/cfdisk.c:2358
+msgid "Done"
+msgstr ""
+
+#: fdisk/cfdisk.c:2358
+msgid "Done with changing geometry"
+msgstr ""
+
+#: fdisk/cfdisk.c:2371
+msgid "Enter the number of cylinders: "
+msgstr ""
+
+#: fdisk/cfdisk.c:2382 fdisk/cfdisk.c:2953
+msgid "Illegal cylinders value"
+msgstr ""
+
+#: fdisk/cfdisk.c:2388
+msgid "Enter the number of heads: "
+msgstr ""
+
+#: fdisk/cfdisk.c:2395 fdisk/cfdisk.c:2963
+msgid "Illegal heads value"
+msgstr ""
+
+#: fdisk/cfdisk.c:2401
+msgid "Enter the number of sectors per track: "
+msgstr ""
+
+#: fdisk/cfdisk.c:2408 fdisk/cfdisk.c:2970
+msgid "Illegal sectors value"
+msgstr ""
+
+#: fdisk/cfdisk.c:2511
+msgid "Enter filesystem type: "
+msgstr ""
+
+#: fdisk/cfdisk.c:2529
+msgid "Cannot change FS Type to empty"
+msgstr ""
+
+#: fdisk/cfdisk.c:2531
+msgid "Cannot change FS Type to extended"
+msgstr ""
+
+#: fdisk/cfdisk.c:2562
+#, c-format
+msgid "Unk(%02X)"
+msgstr ""
+
+#: fdisk/cfdisk.c:2565 fdisk/cfdisk.c:2568
+msgid ", NC"
+msgstr ""
+
+#: fdisk/cfdisk.c:2573 fdisk/cfdisk.c:2576
+msgid "NC"
+msgstr ""
+
+#: fdisk/cfdisk.c:2584
+msgid "Pri/Log"
+msgstr ""
+
+#: fdisk/cfdisk.c:2591
+#, c-format
+msgid "Unknown (%02X)"
+msgstr ""
+
+#: fdisk/cfdisk.c:2660
+#, c-format
+msgid "Disk Drive: %s"
+msgstr ""
+
+#: fdisk/cfdisk.c:2667
+#, c-format
+msgid "Size: %lld bytes, %lld MB"
+msgstr ""
+
+#: fdisk/cfdisk.c:2670
+#, c-format
+msgid "Size: %lld bytes, %lld.%lld GB"
+msgstr ""
+
+#: fdisk/cfdisk.c:2674
+#, c-format
+msgid "Heads: %d   Sectors per Track: %d   Cylinders: %lld"
+msgstr ""
+
+#: fdisk/cfdisk.c:2678 login-utils/chfn.c:377
+msgid "Name"
+msgstr ""
+
+#: fdisk/cfdisk.c:2679
+msgid "Flags"
+msgstr ""
+
+#: fdisk/cfdisk.c:2680
+msgid "Part Type"
+msgstr ""
+
+#: fdisk/cfdisk.c:2681
+msgid "FS Type"
+msgstr ""
+
+#: fdisk/cfdisk.c:2682
+msgid "[Label]"
+msgstr ""
+
+#: fdisk/cfdisk.c:2684
+msgid "    Sectors"
+msgstr ""
+
+#: fdisk/cfdisk.c:2686
+msgid "  Cylinders"
+msgstr ""
+
+#: fdisk/cfdisk.c:2688
+msgid "  Size (MB)"
+msgstr ""
+
+#: fdisk/cfdisk.c:2690
+msgid "  Size (GB)"
+msgstr ""
+
+#: fdisk/cfdisk.c:2744
+msgid "Bootable"
+msgstr ""
+
+#: fdisk/cfdisk.c:2744
+msgid "Toggle bootable flag of the current partition"
+msgstr ""
+
+#: fdisk/cfdisk.c:2745
+msgid "Delete"
+msgstr ""
+
+#: fdisk/cfdisk.c:2745
+msgid "Delete the current partition"
+msgstr ""
+
+#: fdisk/cfdisk.c:2746
+msgid "Geometry"
+msgstr ""
+
+#: fdisk/cfdisk.c:2746
+msgid "Change disk geometry (experts only)"
+msgstr ""
+
+#: fdisk/cfdisk.c:2747
+msgid "Help"
+msgstr ""
+
+#: fdisk/cfdisk.c:2747
+msgid "Print help screen"
+msgstr ""
+
+#: fdisk/cfdisk.c:2748
+msgid "Maximize"
+msgstr ""
+
+#: fdisk/cfdisk.c:2748
+msgid "Maximize disk usage of the current partition (experts only)"
+msgstr ""
+
+#: fdisk/cfdisk.c:2749
+msgid "New"
+msgstr ""
+
+#: fdisk/cfdisk.c:2749
+msgid "Create new partition from free space"
+msgstr ""
+
+#: fdisk/cfdisk.c:2750
+msgid "Print"
+msgstr ""
+
+#: fdisk/cfdisk.c:2750
+msgid "Print partition table to the screen or to a file"
+msgstr ""
+
+#: fdisk/cfdisk.c:2751
+msgid "Quit"
+msgstr ""
+
+#: fdisk/cfdisk.c:2751
+msgid "Quit program without writing partition table"
+msgstr ""
+
+#: fdisk/cfdisk.c:2752
+msgid "Type"
+msgstr ""
+
+#: fdisk/cfdisk.c:2752
+msgid "Change the filesystem type (DOS, Linux, OS/2 and so on)"
+msgstr ""
+
+#: fdisk/cfdisk.c:2753
+msgid "Units"
+msgstr ""
+
+#: fdisk/cfdisk.c:2753
+msgid "Change units of the partition size display (MB, sect, cyl)"
+msgstr ""
+
+#: fdisk/cfdisk.c:2754
+msgid "Write"
+msgstr ""
+
+#: fdisk/cfdisk.c:2754
+msgid "Write partition table to disk (this might destroy data)"
+msgstr ""
+
+#: fdisk/cfdisk.c:2800
+msgid "Cannot make this partition bootable"
+msgstr ""
+
+#: fdisk/cfdisk.c:2810
+msgid "Cannot delete an empty partition"
+msgstr ""
+
+#: fdisk/cfdisk.c:2830 fdisk/cfdisk.c:2832
+msgid "Cannot maximize this partition"
+msgstr ""
+
+#: fdisk/cfdisk.c:2840
+msgid "This partition is unusable"
+msgstr ""
+
+#: fdisk/cfdisk.c:2842
+msgid "This partition is already in use"
+msgstr ""
+
+#: fdisk/cfdisk.c:2859
+msgid "Cannot change the type of an empty partition"
+msgstr ""
+
+#: fdisk/cfdisk.c:2886 fdisk/cfdisk.c:2892
+msgid "No more partitions"
+msgstr ""
+
+#: fdisk/cfdisk.c:2899
+msgid "Illegal command"
+msgstr ""
+
+#: fdisk/cfdisk.c:2909
+#, c-format
+msgid "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+msgstr ""
+
+#: fdisk/cfdisk.c:2916
+#, 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 ""
+
+#: fdisk/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 ""
+
+#: fdisk/fdiskbsdlabel.c:122
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:129 fdisk/fdisk.c:386 fdisk/fdisk.c:405
+#: fdisk/fdisk.c:423 fdisk/fdisk.c:430 fdisk/fdisk.c:453 fdisk/fdisk.c:471
+#: fdisk/fdisk.c:487 fdisk/fdisk.c:503
+msgid "Command action"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:130
+msgid "   d   delete a BSD partition"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:131
+msgid "   e   edit drive data"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:132
+msgid "   i   install bootstrap"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:133
+msgid "   l   list known filesystem types"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:134 fdisk/fdisk.c:392 fdisk/fdisk.c:411
+#: fdisk/fdisk.c:424 fdisk/fdisk.c:436 fdisk/fdisk.c:461 fdisk/fdisk.c:478
+#: fdisk/fdisk.c:494 fdisk/fdisk.c:512
+msgid "   m   print this menu"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:135
+msgid "   n   add a new BSD partition"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:136
+msgid "   p   print BSD partition table"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:137 fdisk/fdisk.c:396 fdisk/fdisk.c:415
+#: fdisk/fdisk.c:426 fdisk/fdisk.c:440 fdisk/fdisk.c:463 fdisk/fdisk.c:480
+#: fdisk/fdisk.c:496 fdisk/fdisk.c:514
+msgid "   q   quit without saving changes"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:138 fdisk/fdisk.c:464 fdisk/fdisk.c:481
+#: fdisk/fdisk.c:497 fdisk/fdisk.c:515
+msgid "   r   return to main menu"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:139
+msgid "   s   show complete disklabel"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:140
+msgid "   t   change a partition's filesystem id"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:141
+msgid "   u   change units (cylinders/sectors)"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:142
+msgid "   w   write disklabel to disk"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:144
+msgid "   x   link BSD partition to non-BSD partition"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:176
+#, c-format
+msgid "Partition %s has invalid starting sector 0.\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:180
+#, c-format
+msgid "Reading disklabel of %s at sector %d.\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:190
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:204
+msgid "BSD disklabel command (m for help): "
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:284 fdisk/fdisk.c:2052 fdisk/fdisksgilabel.c:651
+#: fdisk/fdisksunlabel.c:431
+#, c-format
+msgid "First %s"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:291 fdisk/fdisksunlabel.c:488
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:318
+#, c-format
+msgid "type: %s\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:320
+#, c-format
+msgid "type: %d\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:321
+#, c-format
+msgid "disk: %.*s\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:322
+#, c-format
+msgid "label: %.*s\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:323
+#, c-format
+msgid "flags:"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:325
+#, c-format
+msgid " removable"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:327
+#, c-format
+msgid " ecc"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:329
+#, c-format
+msgid " badsect"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:333
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:334
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:335
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:336
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:337
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:338
+#, c-format
+msgid "rpm: %d\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:339
+#, c-format
+msgid "interleave: %d\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:340
+#, c-format
+msgid "trackskew: %d\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:341
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:342
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:344
+#, c-format
+msgid "track-to-track seek: %ld\t# milliseconds\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:346
+#, c-format
+msgid "drivedata: "
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:355
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:356
+#, c-format
+msgid "#       start       end      size     fstype   [fsize bsize   cpg]\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:405 fdisk/fdiskbsdlabel.c:408
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:420 fdisk/fdiskbsdlabel.c:422
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:427
+msgid "Do you want to create a disklabel? (y/n) "
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:467
+msgid "bytes/sector"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:468
+msgid "sectors/track"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:469
+msgid "tracks/cylinder"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:470 fdisk/fdisk.c:648 fdisk/fdisk.c:1357
+#: fdisk/sfdisk.c:945
+msgid "cylinders"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:477
+msgid "sectors/cylinder"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:481
+#, c-format
+msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:483
+msgid "rpm"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:484
+msgid "interleave"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:485
+msgid "trackskew"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:486
+msgid "cylinderskew"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:487
+msgid "headswitch"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:488
+msgid "track-to-track seek"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:529
+#, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:554
+#, c-format
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:575 fdisk/fdiskbsdlabel.c:577
+#, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:599
+#, c-format
+msgid "Partition (a-%c): "
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:618 fdisk/fdisk.c:2199
+#, c-format
+msgid "The maximum number of partitions has been created\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:630
+#, c-format
+msgid "This partition already exists.\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:757
+#, c-format
+msgid "Warning: too many partitions (%d, maximum is %d).\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:805
+#, c-format
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:244
+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/fdisk.c:256
+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/fdisk.c:265
+#, c-format
+msgid "Unable to open %s\n"
+msgstr ""
+
+#: fdisk/fdisk.c:269
+#, c-format
+msgid "Unable to read %s\n"
+msgstr ""
+
+#: fdisk/fdisk.c:273
+#, c-format
+msgid "Unable to seek on %s\n"
+msgstr ""
+
+#: fdisk/fdisk.c:277
+#, c-format
+msgid "Unable to write %s\n"
+msgstr ""
+
+#: fdisk/fdisk.c:281
+#, c-format
+msgid "BLKGETSIZE ioctl failed on %s\n"
+msgstr ""
+
+#: fdisk/fdisk.c:285
+msgid "Unable to allocate any more memory\n"
+msgstr ""
+
+#: fdisk/fdisk.c:288
+msgid "Fatal error\n"
+msgstr ""
+
+#: fdisk/fdisk.c:387
+msgid "   a   toggle a read only flag"
+msgstr ""
+
+#: fdisk/fdisk.c:388 fdisk/fdisk.c:432
+msgid "   b   edit bsd disklabel"
+msgstr ""
+
+#: fdisk/fdisk.c:389
+msgid "   c   toggle the mountable flag"
+msgstr ""
+
+#: fdisk/fdisk.c:390 fdisk/fdisk.c:409 fdisk/fdisk.c:434
+msgid "   d   delete a partition"
+msgstr ""
+
+#: fdisk/fdisk.c:391 fdisk/fdisk.c:410 fdisk/fdisk.c:435
+msgid "   l   list known partition types"
+msgstr ""
+
+#: fdisk/fdisk.c:393 fdisk/fdisk.c:412 fdisk/fdisk.c:437
+msgid "   n   add a new partition"
+msgstr ""
+
+#: fdisk/fdisk.c:394 fdisk/fdisk.c:413 fdisk/fdisk.c:425 fdisk/fdisk.c:438
+msgid "   o   create a new empty DOS partition table"
+msgstr ""
+
+#: fdisk/fdisk.c:395 fdisk/fdisk.c:414 fdisk/fdisk.c:439 fdisk/fdisk.c:462
+#: fdisk/fdisk.c:479 fdisk/fdisk.c:495 fdisk/fdisk.c:513
+msgid "   p   print the partition table"
+msgstr ""
+
+#: fdisk/fdisk.c:397 fdisk/fdisk.c:416 fdisk/fdisk.c:427 fdisk/fdisk.c:441
+msgid "   s   create a new empty Sun disklabel"
+msgstr ""
+
+#: fdisk/fdisk.c:398 fdisk/fdisk.c:417 fdisk/fdisk.c:442
+msgid "   t   change a partition's system id"
+msgstr ""
+
+#: fdisk/fdisk.c:399 fdisk/fdisk.c:418 fdisk/fdisk.c:443
+msgid "   u   change display/entry units"
+msgstr ""
+
+#: fdisk/fdisk.c:400 fdisk/fdisk.c:419 fdisk/fdisk.c:444 fdisk/fdisk.c:466
+#: fdisk/fdisk.c:483 fdisk/fdisk.c:499 fdisk/fdisk.c:517
+msgid "   v   verify the partition table"
+msgstr ""
+
+#: fdisk/fdisk.c:401 fdisk/fdisk.c:420 fdisk/fdisk.c:445 fdisk/fdisk.c:467
+#: fdisk/fdisk.c:484 fdisk/fdisk.c:500 fdisk/fdisk.c:518
+msgid "   w   write table to disk and exit"
+msgstr ""
+
+#: fdisk/fdisk.c:402 fdisk/fdisk.c:446
+msgid "   x   extra functionality (experts only)"
+msgstr ""
+
+#: fdisk/fdisk.c:406
+msgid "   a   select bootable partition"
+msgstr ""
+
+#: fdisk/fdisk.c:407
+msgid "   b   edit bootfile entry"
+msgstr ""
+
+#: fdisk/fdisk.c:408
+msgid "   c   select sgi swap partition"
+msgstr ""
+
+#: fdisk/fdisk.c:431
+msgid "   a   toggle a bootable flag"
+msgstr ""
+
+#: fdisk/fdisk.c:433
+msgid "   c   toggle the dos compatibility flag"
+msgstr ""
+
+#: fdisk/fdisk.c:454
+msgid "   a   change number of alternate cylinders"
+msgstr ""
+
+#: fdisk/fdisk.c:455 fdisk/fdisk.c:473 fdisk/fdisk.c:489 fdisk/fdisk.c:505
+msgid "   c   change number of cylinders"
+msgstr ""
+
+#: fdisk/fdisk.c:456 fdisk/fdisk.c:474 fdisk/fdisk.c:490 fdisk/fdisk.c:506
+msgid "   d   print the raw data in the partition table"
+msgstr ""
+
+#: fdisk/fdisk.c:457
+msgid "   e   change number of extra sectors per cylinder"
+msgstr ""
+
+#: fdisk/fdisk.c:458 fdisk/fdisk.c:477 fdisk/fdisk.c:493 fdisk/fdisk.c:510
+msgid "   h   change number of heads"
+msgstr ""
+
+#: fdisk/fdisk.c:459
+msgid "   i   change interleave factor"
+msgstr ""
+
+#: fdisk/fdisk.c:460
+msgid "   o   change rotation speed (rpm)"
+msgstr ""
+
+#: fdisk/fdisk.c:465 fdisk/fdisk.c:482 fdisk/fdisk.c:498 fdisk/fdisk.c:516
+msgid "   s   change number of sectors/track"
+msgstr ""
+
+#: fdisk/fdisk.c:468
+msgid "   y   change number of physical cylinders"
+msgstr ""
+
+#: fdisk/fdisk.c:472 fdisk/fdisk.c:488 fdisk/fdisk.c:504
+msgid "   b   move beginning of data in a partition"
+msgstr ""
+
+#: fdisk/fdisk.c:475 fdisk/fdisk.c:491 fdisk/fdisk.c:507
+msgid "   e   list extended partitions"
+msgstr ""
+
+#: fdisk/fdisk.c:476 fdisk/fdisk.c:492 fdisk/fdisk.c:509
+msgid "   g   create an IRIX (SGI) partition table"
+msgstr ""
+
+#: fdisk/fdisk.c:508
+msgid "   f   fix partition order"
+msgstr ""
+
+#: fdisk/fdisk.c:511
+msgid "   i   change the disk identifier"
+msgstr ""
+
+#: fdisk/fdisk.c:627
+#, c-format
+msgid "You must set"
+msgstr ""
+
+#: fdisk/fdisk.c:644
+msgid "heads"
+msgstr ""
+
+#: fdisk/fdisk.c:646 fdisk/fdisk.c:1357 fdisk/sfdisk.c:945
+msgid "sectors"
+msgstr ""
+
+#: fdisk/fdisk.c:652
+#, c-format
+msgid ""
+"%s%s.\n"
+"You can do this from the extra functions menu.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:653
+msgid " and "
+msgstr ""
+
+#: fdisk/fdisk.c:670
+#, c-format
+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 ""
+
+#: fdisk/fdisk.c:683
+#, 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 %d-byte sectors. Use parted(1) and GUID \n"
+"partition table format (GPT).\n"
+"\n"
+msgstr ""
+
+#: fdisk/fdisk.c:708
+#, c-format
+msgid "Bad offset in primary extended partition\n"
+msgstr ""
+
+#: fdisk/fdisk.c:722
+#, c-format
+msgid ""
+"Warning: omitting partitions after #%d.\n"
+"They will be deleted if you save this partition table.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:741
+#, c-format
+msgid "Warning: extra link pointer in partition table %d\n"
+msgstr ""
+
+#: fdisk/fdisk.c:749
+#, c-format
+msgid "Warning: ignoring extra data in partition table %d\n"
+msgstr ""
+
+#: fdisk/fdisk.c:782
+#, c-format
+msgid "omitting empty partition (%d)\n"
+msgstr ""
+
+#: fdisk/fdisk.c:801
+#, c-format
+msgid "Disk identifier: 0x%08x\n"
+msgstr ""
+
+#: fdisk/fdisk.c:810
+#, c-format
+msgid "New disk identifier (current 0x%08x): "
+msgstr ""
+
+#: fdisk/fdisk.c:829
+#, c-format
+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 ""
+
+#: fdisk/fdisk.c:861
+#, c-format
+msgid "Note: sector size is %d (not %d)\n"
+msgstr ""
+
+#: fdisk/fdisk.c:990
+#, c-format
+msgid "You will not be able to write the partition table.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1022
+#, c-format
+msgid ""
+"This disk has both DOS and BSD magic.\n"
+"Give the 'b' command to go to BSD mode.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1032
+#, c-format
+msgid ""
+"Device contains neither a valid DOS partition table, nor Sun, SGI or OSF "
+"disklabel\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1049
+#, c-format
+msgid "Internal error\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1062
+#, c-format
+msgid "Ignoring extra extended partition %d\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1074
+#, c-format
+msgid ""
+"Warning: invalid flag 0x%04x of partition table %d will be corrected by w"
+"(rite)\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1096
+#, c-format
+msgid ""
+"\n"
+"got EOF thrice - exiting..\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1135
+msgid "Hex code (type L to list codes): "
+msgstr ""
+
+#: fdisk/fdisk.c:1175
+#, c-format
+msgid "%s (%u-%u, default %u): "
+msgstr ""
+
+#: fdisk/fdisk.c:1242
+#, c-format
+msgid "Unsupported suffix: '%s'.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1243
+#, c-format
+msgid ""
+"Supported: 10^N: KB (KiloByte), MB (MegaByte), GB (GigaByte)\n"
+"            2^N: K  (KibiByte), M  (MebiByte), G  (GibiByte)\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1269
+#, c-format
+msgid "Using default value %u\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1273
+#, c-format
+msgid "Value out of range.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1283
+msgid "Partition number"
+msgstr ""
+
+#: fdisk/fdisk.c:1294
+#, c-format
+msgid "Warning: partition %d has empty type\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1316 fdisk/fdisk.c:1342
+#, c-format
+msgid "Selected partition %d\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1319
+#, c-format
+msgid "No partition is defined yet!\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1345
+#, c-format
+msgid "All primary partitions have been defined already!\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1355
+msgid "cylinder"
+msgstr ""
+
+#: fdisk/fdisk.c:1355
+msgid "sector"
+msgstr ""
+
+#: fdisk/fdisk.c:1364
+#, c-format
+msgid "Changing display/entry units to %s\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1375
+#, c-format
+msgid "WARNING: Partition %d is an extended partition\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1386
+#, c-format
+msgid "DOS Compatibility flag is set\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1390
+#, c-format
+msgid "DOS Compatibility flag is not set\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1490
+#, c-format
+msgid "Partition %d does not exist yet!\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1495
+#, 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 ""
+
+#: fdisk/fdisk.c:1504
+#, c-format
+msgid ""
+"You cannot change a partition into an extended one or vice versa\n"
+"Delete it first.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1513
+#, 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 ""
+
+#: fdisk/fdisk.c:1519
+#, 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 ""
+
+#: fdisk/fdisk.c:1536
+#, c-format
+msgid "Changed system type of partition %d to %x (%s)\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1539
+#, c-format
+msgid "System type of partition %d is unchanged: %x (%s)\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1591
+#, c-format
+msgid "Partition %d has different physical/logical beginnings (non-Linux?):\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1593 fdisk/fdisk.c:1601 fdisk/fdisk.c:1610 fdisk/fdisk.c:1620
+#, c-format
+msgid "     phys=(%d, %d, %d) "
+msgstr ""
+
+#: fdisk/fdisk.c:1594 fdisk/fdisk.c:1602
+#, c-format
+msgid "logical=(%d, %d, %d)\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1599
+#, c-format
+msgid "Partition %d has different physical/logical endings:\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1608
+#, c-format
+msgid "Partition %i does not start on cylinder boundary:\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1611
+#, c-format
+msgid "should be (%d, %d, 1)\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1617
+#, c-format
+msgid "Partition %i does not end on cylinder boundary.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1621
+#, c-format
+msgid "should be (%d, %d, %d)\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1633
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld MB, %lld bytes\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1637
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld.%ld GB, %lld bytes\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1640
+#, c-format
+msgid "%d heads, %llu sectors/track, %d cylinders"
+msgstr ""
+
+#: fdisk/fdisk.c:1643
+#, c-format
+msgid ", total %llu sectors"
+msgstr ""
+
+#: fdisk/fdisk.c:1646
+#, c-format
+msgid "Units = %s of %d * %d = %d bytes\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1757
+#, c-format
+msgid ""
+"Nothing to do. Ordering is correct already.\n"
+"\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1785
+#, c-format
+msgid "Done.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1813
+#, c-format
+msgid ""
+"This doesn't look like a partition table\n"
+"Probably you selected the wrong device.\n"
+"\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1826
+#, c-format
+msgid "%*s Boot      Start         End      Blocks   Id  System\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1827 fdisk/fdisksgilabel.c:223 fdisk/fdisksunlabel.c:603
+msgid "Device"
+msgstr ""
+
+#: fdisk/fdisk.c:1864
+#, c-format
+msgid ""
+"\n"
+"Partition table entries are not in disk order\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1874
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %d cylinders\n"
+"\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1876
+#, c-format
+msgid "Nr AF  Hd Sec  Cyl  Hd Sec  Cyl     Start      Size ID\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1922
+#, c-format
+msgid "Warning: partition %d contains sector 0\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1925
+#, c-format
+msgid "Partition %d: head %d greater than maximum %d\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1928
+#, c-format
+msgid "Partition %d: sector %d greater than maximum %llu\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1931
+#, c-format
+msgid "Partitions %d: cylinder %d greater than maximum %d\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1935
+#, c-format
+msgid "Partition %d: previous sectors %d disagrees with total %d\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1968
+#, c-format
+msgid "Warning: bad start-of-data in partition %d\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1976
+#, c-format
+msgid "Warning: partition %d overlaps partition %d.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1996
+#, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2001
+#, c-format
+msgid "Logical partition %d not entirely in partition %d\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2007
+#, c-format
+msgid "Total allocated sectors %llu greater than the maximum %llu\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2010
+#, c-format
+msgid "%lld unallocated %d-byte sectors\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2025 fdisk/fdisksgilabel.c:633 fdisk/fdisksunlabel.c:416
+#, c-format
+msgid "Partition %d is already defined.  Delete it before re-adding it.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2067
+#, c-format
+msgid "Sector %llu is already allocated\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2103
+#, c-format
+msgid "No free sectors available\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2112
+#, c-format
+msgid "Last %1$s, +%2$s or +size{K,M,G}"
+msgstr ""
+
+#: fdisk/fdisk.c:2178
+#, 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 ""
+
+#: fdisk/fdisk.c:2187
+#, 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 ""
+
+#: fdisk/fdisk.c:2207
+#, c-format
+msgid "You must delete some partition and add an extended partition first\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2210
+#, c-format
+msgid "All logical partitions are in use\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2211
+#, c-format
+msgid "Adding a primary partition\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2216
+#, c-format
+msgid ""
+"Command action\n"
+"   %s\n"
+"   p   primary partition (1-4)\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2218
+msgid "l   logical (5 or over)"
+msgstr ""
+
+#: fdisk/fdisk.c:2218
+msgid "e   extended"
+msgstr ""
+
+#: fdisk/fdisk.c:2237
+#, c-format
+msgid "Invalid partition number for type `%c'\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2273
+#, c-format
+msgid ""
+"The partition table has been altered!\n"
+"\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2287
+#, c-format
+msgid "Calling ioctl() to re-read partition table.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2296
+#, c-format
+msgid ""
+"\n"
+"WARNING: Re-reading the partition table failed with error %d: %s.\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 ""
+
+#: fdisk/fdisk.c:2304
+#, 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 ""
+
+#: fdisk/fdisk.c:2310
+#, c-format
+msgid ""
+"\n"
+"Error closing file\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2314
+#, c-format
+msgid "Syncing disks.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2361
+#, c-format
+msgid "Partition %d has no data area\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2366
+msgid "New beginning of data"
+msgstr ""
+
+#: fdisk/fdisk.c:2382
+msgid "Expert command (m for help): "
+msgstr ""
+
+#: fdisk/fdisk.c:2395
+msgid "Number of cylinders"
+msgstr ""
+
+#: fdisk/fdisk.c:2422
+msgid "Number of heads"
+msgstr ""
+
+#: fdisk/fdisk.c:2449
+msgid "Number of sectors"
+msgstr ""
+
+#: fdisk/fdisk.c:2452
+#, c-format
+msgid "Warning: setting sector offset for DOS compatiblity\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2511
+#, 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 ""
+
+#: fdisk/fdisk.c:2533
+#, c-format
+msgid "Disk %s doesn't contain a valid partition table\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2544
+#, c-format
+msgid "Cannot open %s\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2563 fdisk/sfdisk.c:2618
+#, c-format
+msgid "cannot open %s\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2583
+#, c-format
+msgid "%c: unknown command\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2653
+#, c-format
+msgid "This kernel finds the sector size itself - -b option ignored\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2657
+#, c-format
+msgid ""
+"Warning: the -b (set sector size) option should be used with one specified "
+"device\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2717
+#, c-format
+msgid "Detected an OSF/1 disklabel on %s, entering disklabel mode.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2727
+msgid "Command (m for help): "
+msgstr ""
+
+#: fdisk/fdisk.c:2743
+#, c-format
+msgid ""
+"\n"
+"The current boot file is: %s\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2745
+msgid "Please enter the name of the new boot file: "
+msgstr ""
+
+#: fdisk/fdisk.c:2747
+#, c-format
+msgid "Boot file unchanged\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2820
+#, c-format
+msgid ""
+"\n"
+"\tSorry, no experts menu for SGI partition tables available.\n"
+"\n"
+msgstr ""
+
+#: fdisk/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 ""
+
+#: fdisk/fdisksgilabel.c:81
+msgid "SGI volhdr"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:82
+msgid "SGI trkrepl"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:83
+msgid "SGI secrepl"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:84
+msgid "SGI raw"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:85
+msgid "SGI bsd"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:86
+msgid "SGI sysv"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:87
+msgid "SGI volume"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:88
+msgid "SGI efs"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:89
+msgid "SGI lvol"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:90
+msgid "SGI rlvol"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:91
+msgid "SGI xfs"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:92
+msgid "SGI xfslog"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:93
+msgid "SGI xlv"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:94
+msgid "SGI xvm"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:95 fdisk/fdisksunlabel.c:55
+msgid "Linux swap"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:96 fdisk/fdisksunlabel.c:56
+msgid "Linux native"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:97 fdisk/fdisksunlabel.c:57 fdisk/i386_sys_types.c:63
+msgid "Linux LVM"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:98
+msgid "Linux RAID"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:164
+#, c-format
+msgid ""
+"According to MIPS Computer Systems, Inc the Label must not contain more than "
+"512 bytes\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:183
+#, c-format
+msgid "Detected sgi disklabel with wrong checksum.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:201
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors\n"
+"%d cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * %d bytes\n"
+"\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:214
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors, %d cylinders\n"
+"Units = %s of %d * %d bytes\n"
+"\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:221
+#, c-format
+msgid ""
+"----- partitions -----\n"
+"Pt# %*s  Info     Start       End   Sectors  Id  System\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:243
+#, c-format
+msgid ""
+"----- Bootinfo -----\n"
+"Bootfile: %s\n"
+"----- Directory Entries -----\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:251
+#, c-format
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:305
+#, 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 ""
+
+#: fdisk/fdisksgilabel.c:311
+#, c-format
+msgid ""
+"\n"
+"\tName of Bootfile too long:  16 bytes maximum.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:316
+#, c-format
+msgid ""
+"\n"
+"\tBootfile must have a fully qualified pathname.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:323
+#, 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 ""
+
+#: fdisk/fdisksgilabel.c:349
+#, c-format
+msgid ""
+"\n"
+"\tBootfile is changed to \"%s\".\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:439
+#, c-format
+msgid "More than one entire disk entry present.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:446 fdisk/fdisksunlabel.c:388
+#, c-format
+msgid "No partitions defined\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:452
+#, c-format
+msgid "IRIX likes when Partition 11 covers the entire disk.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:454
+#, c-format
+msgid ""
+"The entire disk partition should start at block 0,\n"
+"not at diskblock %d.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:460
+#, c-format
+msgid ""
+"The entire disk partition is only %d diskblock large,\n"
+"but the disk is %d diskblocks long.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:466
+#, c-format
+msgid "One Partition (#11) should cover the entire disk.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:476
+#, c-format
+msgid "Partition %d does not start on cylinder boundary.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:482
+#, c-format
+msgid "Partition %d does not end on cylinder boundary.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:489
+#, c-format
+msgid "The Partition %d and %d overlap by %d sectors.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:497 fdisk/fdisksgilabel.c:515
+#, c-format
+msgid "Unused gap of %8u sectors - sectors %8u-%u\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:526
+#, c-format
+msgid ""
+"\n"
+"The boot partition does not exist.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:529
+#, c-format
+msgid ""
+"\n"
+"The swap partition does not exist.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:533
+#, c-format
+msgid ""
+"\n"
+"The swap partition has no swap type.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:536
+#, c-format
+msgid "\tYou have chosen an unusual boot file name.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:545
+#, c-format
+msgid "Sorry You may change the Tag of non-empty partitions.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:551
+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 ""
+
+#: fdisk/fdisksgilabel.c:556 fdisk/fdisksunlabel.c:554
+msgid "YES\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:581
+#, c-format
+msgid "Do You know, You got a partition overlap on the disk?\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:639
+#, c-format
+msgid "Attempting to generate entire disk entry automatically.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:644
+#, c-format
+msgid "The entire disk is already covered with partitions.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:648
+#, c-format
+msgid "You got a partition overlap on the disk. Fix it first!\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:657 fdisk/fdisksgilabel.c:686
+#, c-format
+msgid ""
+"It is highly recommended that eleventh partition\n"
+"covers the entire disk and is of type `SGI volume'\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:673
+#, c-format
+msgid "You will get a partition overlap on the disk. Fix it first!\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:678
+#, c-format
+msgid " Last %s"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:708
+#, c-format
+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 ""
+
+#: fdisk/fdisksgilabel.c:731 fdisk/fdisksunlabel.c:227
+#, c-format
+msgid ""
+"Warning:  BLKGETSIZE ioctl failed on %s.  Using geometry cylinder value of %"
+"d.\n"
+"This value may be truncated for devices > 33.8 GB.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:745
+#, c-format
+msgid "Trying to keep parameters of partition %d.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:747
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:43
+msgid "Unassigned"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:45
+msgid "SunOS root"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:46
+msgid "SunOS swap"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:47
+msgid "SunOS usr"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:48
+msgid "Whole disk"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:49
+msgid "SunOS stand"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:50
+msgid "SunOS var"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:51
+msgid "SunOS home"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:52
+msgid "SunOS alt sectors"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:53
+msgid "SunOS cachefs"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:54
+msgid "SunOS reserved"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:58 fdisk/i386_sys_types.c:103
+msgid "Linux raid autodetect"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:141
+#, 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 ""
+
+#: fdisk/fdisksunlabel.c:153
+#, c-format
+msgid "Detected sun disklabel with wrong version [0x%08x].\n"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:158
+#, c-format
+msgid "Detected sun disklabel with wrong sanity [0x%08x].\n"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:163
+#, c-format
+msgid "Detected sun disklabel with wrong num_partitions [%u].\n"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:168
+#, c-format
+msgid ""
+"Warning: Wrong values need to be fixed up and will be corrected by w(rite)\n"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:198
+#, c-format
+msgid ""
+"Building a new sun disklabel. Changes will remain in memory only,\n"
+"until you decide to write them. After that, of course, the previous\n"
+"content won't be recoverable.\n"
+"\n"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:236
+msgid "Sectors/track"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:351
+#, c-format
+msgid "Partition %d doesn't end on cylinder boundary\n"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:371
+#, c-format
+msgid "Partition %d overlaps with others in sectors %d-%d\n"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:393
+#, c-format
+msgid "Unused gap - sectors 0-%d\n"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:395 fdisk/fdisksunlabel.c:401
+#, c-format
+msgid "Unused gap - sectors %d-%d\n"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:426
+#, c-format
+msgid ""
+"Other partitions already cover the whole disk.\n"
+"Delete some/shrink them before retry.\n"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:449
+#, c-format
+msgid ""
+"It is highly recommended that the third partition covers the whole disk\n"
+"and is of type `Whole disk'\n"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:477
+#, c-format
+msgid "Sector %d is already allocated\n"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:507
+#, 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 ""
+
+#: fdisk/fdisksunlabel.c:534
+#, 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 ""
+
+#: fdisk/fdisksunlabel.c:549
+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 ""
+
+#: fdisk/fdisksunlabel.c:581
+#, c-format
+msgid ""
+"\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"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:597
+#, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %d heads, %llu sectors, %d cylinders\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:602
+#, c-format
+msgid "%*s Flag    Start       End    Blocks   Id  System\n"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:630
+msgid "Number of alternate cylinders"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:642
+msgid "Extra sectors per cylinder"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:649
+msgid "Interleave factor"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:656
+msgid "Rotation speed (rpm)"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:663
+msgid "Number of physical cylinders"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:6
+msgid "Empty"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:7
+msgid "FAT12"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:8
+msgid "XENIX root"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:9
+msgid "XENIX usr"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:10
+msgid "FAT16 <32M"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:11
+msgid "Extended"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:12
+msgid "FAT16"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:13
+msgid "HPFS/NTFS"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:14
+msgid "AIX"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:17
+msgid "W95 FAT32"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:18
+msgid "W95 FAT32 (LBA)"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:19
+msgid "W95 FAT16 (LBA)"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:20
+msgid "W95 Ext'd (LBA)"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:21
+msgid "OPUS"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:22
+msgid "Hidden FAT12"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:23
+msgid "Compaq diagnostics"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:24
+msgid "Hidden FAT16 <32M"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:25
+msgid "Hidden FAT16"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:26
+msgid "Hidden HPFS/NTFS"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:27
+msgid "AST SmartSleep"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:28
+msgid "Hidden W95 FAT32"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:29
+msgid "Hidden W95 FAT32 (LBA)"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:30
+msgid "Hidden W95 FAT16 (LBA)"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:32
+msgid "Plan 9"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:33
+msgid "PartitionMagic recovery"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:34
+msgid "Venix 80286"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:35
+msgid "PPC PReP Boot"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:36
+msgid "SFS"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:37
+msgid "QNX4.x"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:38
+msgid "QNX4.x 2nd part"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:39
+msgid "QNX4.x 3rd part"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:40
+msgid "OnTrack DM"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:41
+msgid "OnTrack DM6 Aux1"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:42
+msgid "CP/M"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:43
+msgid "OnTrack DM6 Aux3"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:44
+msgid "OnTrackDM6"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:45
+msgid "EZ-Drive"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:46
+msgid "Golden Bow"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:47
+msgid "Priam Edisk"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:48 fdisk/i386_sys_types.c:92
+#: fdisk/i386_sys_types.c:98 fdisk/i386_sys_types.c:99
+msgid "SpeedStor"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:49
+msgid "GNU HURD or SysV"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:50
+msgid "Novell Netware 286"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:51
+msgid "Novell Netware 386"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:52
+msgid "DiskSecure Multi-Boot"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:53
+msgid "PC/IX"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:54
+msgid "Old Minix"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:55
+msgid "Minix / old Linux"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:56
+msgid "Linux swap / Solaris"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:58
+msgid "OS/2 hidden C: drive"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:59
+msgid "Linux extended"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:60 fdisk/i386_sys_types.c:61
+msgid "NTFS volume set"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:62
+msgid "Linux plaintext"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:64
+msgid "Amoeba"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:65
+msgid "Amoeba BBT"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:66
+msgid "BSD/OS"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:67
+msgid "IBM Thinkpad hibernation"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:68
+msgid "FreeBSD"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:69
+msgid "OpenBSD"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:70
+msgid "NeXTSTEP"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:71
+msgid "Darwin UFS"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:72
+msgid "NetBSD"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:73
+msgid "Darwin boot"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:74
+msgid "HFS / HFS+"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:75
+msgid "BSDI fs"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:76
+msgid "BSDI swap"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:77
+msgid "Boot Wizard hidden"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:78
+msgid "Solaris boot"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:79
+msgid "Solaris"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:80
+msgid "DRDOS/sec (FAT-12)"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:81
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:82
+msgid "DRDOS/sec (FAT-16)"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:83
+msgid "Syrinx"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:84
+msgid "Non-FS data"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:85
+msgid "CP/M / CTOS / ..."
+msgstr ""
+
+#: fdisk/i386_sys_types.c:87
+msgid "Dell Utility"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:88
+msgid "BootIt"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:89
+msgid "DOS access"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:91
+msgid "DOS R/O"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:94
+msgid "BeOS fs"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:95
+msgid "GPT"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:96
+msgid "EFI (FAT-12/16/32)"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:97
+msgid "Linux/PA-RISC boot"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:100
+msgid "DOS secondary"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:101
+msgid "VMware VMFS"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:102
+msgid "VMware VMKCORE"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:106
+msgid "LANstep"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:107
+msgid "BBT"
+msgstr ""
+
+#: fdisk/sfdisk.c:179
+#, c-format
+msgid "seek error on %s - cannot seek to %lu\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:184
+#, c-format
+msgid "seek error: wanted 0x%08x%08x, got 0x%08x%08x\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:230
+msgid "out of memory - giving up\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:235 fdisk/sfdisk.c:318
+#, c-format
+msgid "read error on %s - cannot read sector %lu\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:253
+#, c-format
+msgid "ERROR: sector %lu does not have an msdos signature\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:268
+#, c-format
+msgid "write error on %s - cannot write sector %lu\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:306
+#, c-format
+msgid "cannot open partition sector save file (%s)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:324
+#, c-format
+msgid "write error on %s\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:350
+#, c-format
+msgid "cannot stat partition restore file (%s)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:355
+msgid "partition restore file has wrong size - not restoring\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:359
+msgid "out of memory?\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:365
+#, c-format
+msgid "cannot open partition restore file (%s)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:371
+#, c-format
+msgid "error reading %s\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:378
+#, c-format
+msgid "cannot open device %s for writing\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:390
+#, c-format
+msgid "error writing sector %lu on %s\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:455
+#, c-format
+msgid "Disk %s: cannot get geometry\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:472
+#, c-format
+msgid "Disk %s: cannot get size\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:505
+#, 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 ""
+
+#: fdisk/sfdisk.c:512
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu heads\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:515
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu sectors\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:519
+#, c-format
+msgid "Warning: BLKGETSIZE/HDIO_GETGEO says that there are %lu cylinders\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:524
+#, 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 ""
+
+#: fdisk/sfdisk.c:528
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %lu cylinders, %lu heads, %lu sectors/track\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:610
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for head: %lu (should be in 0-%lu)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:615
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for sector: %lu (should be in 1-%"
+"lu)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:620
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for cylinders: %lu (should be in 0-%"
+"lu)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:660
+#, c-format
+msgid ""
+"Id  Name\n"
+"\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:821
+#, c-format
+msgid "Re-reading the partition table ...\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:827
+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 ""
+
+#: fdisk/sfdisk.c:833
+#, c-format
+msgid "Error closing %s\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:871
+#, c-format
+msgid "%s: no such partition\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:894
+msgid "unrecognized format - using sectors\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:944
+#, c-format
+msgid "unimplemented format - using %s\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:948
+#, c-format
+msgid ""
+"Units = cylinders of %lu bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:951
+#, c-format
+msgid "   Device Boot Start     End   #cyls    #blocks   Id  System\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:956
+#, c-format
+msgid ""
+"Units = sectors of 512 bytes, counting from %d\n"
+"\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:958
+#, c-format
+msgid "   Device Boot    Start       End   #sectors  Id  System\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:961
+#, c-format
+msgid ""
+"Units = blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:963
+#, c-format
+msgid "   Device Boot   Start       End    #blocks   Id  System\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:966
+#, c-format
+msgid ""
+"Units = mebibytes of 1048576 bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:968
+#, c-format
+msgid "   Device Boot Start   End    MiB    #blocks   Id  System\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1128
+#, c-format
+msgid "\t\tstart: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1135
+#, c-format
+msgid "\t\tend: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1138
+#, c-format
+msgid "partition ends on cylinder %ld, beyond the end of the disk\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1148
+msgid "No partitions found\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1152
+#, 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 ""
+
+#: fdisk/sfdisk.c:1201
+msgid "no partition table present.\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1203
+#, c-format
+msgid "strange, only %d partitions defined.\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1212
+#, c-format
+msgid "Warning: partition %s has size 0 but is not marked Empty\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1215
+#, c-format
+msgid "Warning: partition %s has size 0 and is bootable\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1218
+#, c-format
+msgid "Warning: partition %s has size 0 and nonzero start\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1229
+#, c-format
+msgid "Warning: partition %s "
+msgstr ""
+
+#: fdisk/sfdisk.c:1230
+#, c-format
+msgid "is not contained in partition %s\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1241
+#, c-format
+msgid "Warning: partitions %s "
+msgstr ""
+
+#: fdisk/sfdisk.c:1242
+#, c-format
+msgid "and %s overlap\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1253
+#, c-format
+msgid ""
+"Warning: partition %s contains part of the partition table (sector %lu),\n"
+"and will destroy it when filled\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1265
+#, c-format
+msgid "Warning: partition %s starts at sector 0\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1269
+#, c-format
+msgid "Warning: partition %s extends past end of disk\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1284
+msgid ""
+"Among the primary partitions, at most one can be extended\n"
+" (although this is not a problem under Linux)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1302
+#, c-format
+msgid "Warning: partition %s does not start at a cylinder boundary\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1308
+#, c-format
+msgid "Warning: partition %s does not end at a cylinder boundary\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1326
+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 ""
+
+#: fdisk/sfdisk.c:1333
+msgid ""
+"Warning: usually one can boot from primary partitions only\n"
+"LILO disregards the `bootable' flag.\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1339
+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 ""
+
+#: fdisk/sfdisk.c:1353
+msgid "start"
+msgstr ""
+
+#: fdisk/sfdisk.c:1356
+#, c-format
+msgid ""
+"partition %s: start: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1362
+msgid "end"
+msgstr ""
+
+#: fdisk/sfdisk.c:1365
+#, c-format
+msgid "partition %s: end: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1368
+#, c-format
+msgid "partition %s ends on cylinder %ld, beyond the end of the disk\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1393
+#, c-format
+msgid ""
+"Warning: shifted start of the extd partition from %ld to %ld\n"
+"(For listing purposes only. Do not change its contents.)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1399
+msgid ""
+"Warning: extended partition does not start at a cylinder boundary.\n"
+"DOS and Linux will interpret the contents differently.\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1417 fdisk/sfdisk.c:1494
+#, c-format
+msgid "too many partitions - ignoring those past nr (%d)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1432
+msgid "tree of partitions?\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1540
+msgid "detected Disk Manager - unable to handle that\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1547
+msgid "DM6 signature found - giving up\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1567
+msgid "strange..., an extended partition of size 0?\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1574 fdisk/sfdisk.c:1585
+msgid "strange..., a BSD partition of size 0?\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1619
+#, c-format
+msgid " %s: unrecognized partition table type\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1631
+msgid "-n flag was given: Nothing changed\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1647
+msgid "Failed saving the old sectors - aborting\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1652
+#, c-format
+msgid "Failed writing the partition on %s\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1729
+msgid "long or incomplete input line - quitting\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1765
+#, c-format
+msgid "input error: `=' expected after %s field\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1772
+#, c-format
+msgid "input error: unexpected character %c after %s field\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1778
+#, c-format
+msgid "unrecognized input: %s\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1820
+msgid "number too big\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1824
+msgid "trailing junk after number\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1948
+msgid "no room for partition descriptor\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1981
+msgid "cannot build surrounding extended partition\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2032
+msgid "too many input fields\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2066
+msgid "No room for more\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2085
+msgid "Illegal type\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2117
+#, c-format
+msgid "Warning: given size (%lu) exceeds max allowable size (%lu)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2123
+msgid "Warning: empty partition\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2137
+#, c-format
+msgid "Warning: bad partition start (earliest %lu)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2150
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2167 fdisk/sfdisk.c:2180
+msgid "partial c,h,s specification?\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2191
+msgid "Extended partition not where expected\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2223
+msgid "bad input\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2245
+msgid "too many partitions\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2278
+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 ""
+
+#: fdisk/sfdisk.c:2304
+#, c-format
+msgid "Usage: %s [options] device ...\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2305
+msgid "device: something like /dev/hda or /dev/sda"
+msgstr ""
+
+#: fdisk/sfdisk.c:2306
+msgid "useful options:"
+msgstr ""
+
+#: fdisk/sfdisk.c:2307
+msgid "    -s [or --show-size]: list size of a partition"
+msgstr ""
+
+#: fdisk/sfdisk.c:2308
+msgid "    -c [or --id]:        print or change partition Id"
+msgstr ""
+
+#: fdisk/sfdisk.c:2309
+msgid "    -l [or --list]:      list partitions of each device"
+msgstr ""
+
+#: fdisk/sfdisk.c:2310
+msgid "    -d [or --dump]:      idem, but in a format suitable for later input"
+msgstr ""
+
+#: fdisk/sfdisk.c:2311
+msgid "    -i [or --increment]: number cylinders etc. from 1 instead of from 0"
+msgstr ""
+
+#: fdisk/sfdisk.c:2312
+msgid ""
+"    -uS, -uB, -uC, -uM:  accept/report in units of sectors/blocks/cylinders/"
+"MB"
+msgstr ""
+
+#: fdisk/sfdisk.c:2313
+msgid "    -T [or --list-types]:list the known partition types"
+msgstr ""
+
+#: fdisk/sfdisk.c:2314
+msgid "    -D [or --DOS]:       for DOS-compatibility: waste a little space"
+msgstr ""
+
+#: fdisk/sfdisk.c:2315
+msgid "    -R [or --re-read]:   make kernel reread partition table"
+msgstr ""
+
+#: fdisk/sfdisk.c:2316
+msgid "    -N# :                change only the partition with number #"
+msgstr ""
+
+#: fdisk/sfdisk.c:2317
+msgid "    -n :                 do not actually write to disk"
+msgstr ""
+
+#: fdisk/sfdisk.c:2318
+msgid ""
+"    -O file :            save the sectors that will be overwritten to file"
+msgstr ""
+
+#: fdisk/sfdisk.c:2319
+msgid "    -I file :            restore these sectors again"
+msgstr ""
+
+#: fdisk/sfdisk.c:2320
+msgid "    -v [or --version]:   print version"
+msgstr ""
+
+#: fdisk/sfdisk.c:2321
+msgid "    -? [or --help]:      print this message"
+msgstr ""
+
+#: fdisk/sfdisk.c:2322
+msgid "dangerous options:"
+msgstr ""
+
+#: fdisk/sfdisk.c:2323
+msgid "    -g [or --show-geometry]: print the kernel's idea of the geometry"
+msgstr ""
+
+#: fdisk/sfdisk.c:2324
+msgid ""
+"    -G [or --show-pt-geometry]: print geometry guessed from the partition "
+"table"
+msgstr ""
+
+#: fdisk/sfdisk.c:2325
+msgid ""
+"    -x [or --show-extended]: also list extended partitions on output\n"
+"                             or expect descriptors for them on input"
+msgstr ""
+
+#: fdisk/sfdisk.c:2327
+msgid ""
+"    -L  [or --Linux]:      do not complain about things irrelevant for Linux"
+msgstr ""
+
+#: fdisk/sfdisk.c:2328
+msgid "    -q  [or --quiet]:      suppress warning messages"
+msgstr ""
+
+#: fdisk/sfdisk.c:2329
+msgid "    You can override the detected geometry using:"
+msgstr ""
+
+#: fdisk/sfdisk.c:2330
+msgid "    -C# [or --cylinders #]:set the number of cylinders to use"
+msgstr ""
+
+#: fdisk/sfdisk.c:2331
+msgid "    -H# [or --heads #]:    set the number of heads to use"
+msgstr ""
+
+#: fdisk/sfdisk.c:2332
+msgid "    -S# [or --sectors #]:  set the number of sectors to use"
+msgstr ""
+
+#: fdisk/sfdisk.c:2333
+msgid "You can disable all consistency checking with:"
+msgstr ""
+
+#: fdisk/sfdisk.c:2334
+msgid "    -f  [or --force]:      do what I say, even if it is stupid"
+msgstr ""
+
+#: fdisk/sfdisk.c:2340
+msgid "Usage:"
+msgstr ""
+
+#: fdisk/sfdisk.c:2341
+#, c-format
+msgid "%s device\t\t list active partitions on device\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2342
+#, c-format
+msgid "%s device n1 n2 ... activate partitions n1 ..., inactivate the rest\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2343
+#, c-format
+msgid "%s -An device\t activate partition n, inactivate the other ones\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2463
+#, 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 ""
+
+#: fdisk/sfdisk.c:2466
+#, c-format
+msgid "Use the --force flag to overrule this check.\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2505
+msgid "no command?\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2637
+#, c-format
+msgid "total: %llu blocks\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2680
+msgid "usage: sfdisk --print-id device partition-number\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2682
+msgid "usage: sfdisk --change-id device partition-number Id\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2684
+msgid "usage: sfdisk --id device partition-number [Id]\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2691
+msgid "can specify only one device (except with -l or -s)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2717
+#, c-format
+msgid "cannot open %s read-write\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2719
+#, c-format
+msgid "cannot open %s for reading\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2744
+#, c-format
+msgid "%s: OK\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2763 fdisk/sfdisk.c:2796
+#, c-format
+msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2815
+#, c-format
+msgid "Cannot get size of %s\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2895
+#, c-format
+msgid "bad active byte: 0x%x instead of 0x80\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2913 fdisk/sfdisk.c:2968 fdisk/sfdisk.c:3001
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2922
+#, 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 ""
+
+#: fdisk/sfdisk.c:2938
+#, c-format
+msgid "partition %s has id %x and is not hidden\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2997
+#, c-format
+msgid "Bad Id %lx\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3014
+msgid "This disk is currently in use.\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3033
+#, c-format
+msgid "Fatal error: cannot find %s\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3036
+#, c-format
+msgid "Warning: %s is not a block device\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3042
+msgid "Checking that no-one is using this disk right now ...\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3044
+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 ""
+
+#: fdisk/sfdisk.c:3048
+msgid "Use the --force flag to overrule all checks.\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3052
+msgid "OK\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3061
+#, c-format
+msgid "Old situation:\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3065
+#, c-format
+msgid "Partition %d does not exist, cannot change it\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3073
+#, c-format
+msgid "New situation:\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3078
+msgid ""
+"I don't like these partitions - nothing changed.\n"
+"(If you really want this, use the --force option.)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3081
+msgid "I don't like this - probably you should answer No\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3086
+#, c-format
+msgid "Are you satisfied with this? [ynq] "
+msgstr ""
+
+#: fdisk/sfdisk.c:3088
+#, c-format
+msgid "Do you want to write this to disk? [ynq] "
+msgstr ""
+
+#: fdisk/sfdisk.c:3093
+#, c-format
+msgid ""
+"\n"
+"sfdisk: premature end of input\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3095
+msgid "Quitting - nothing changed\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3101
+#, c-format
+msgid "Please answer one of y,n,q\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3109
+#, c-format
+msgid ""
+"Successfully wrote the new partition table\n"
+"\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3115
+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 ""
+
+#: fsck/fsck.c:327
+#, c-format
+msgid "WARNING: couldn't open %s: %s\n"
+msgstr ""
+
+#: fsck/fsck.c:337
+#, c-format
+msgid "WARNING: bad format on line %d of %s\n"
+msgstr ""
+
+#: fsck/fsck.c:353
+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 ""
+
+#: fsck/fsck.c:461
+#, c-format
+msgid "fsck: %s: not found\n"
+msgstr ""
+
+#: fsck/fsck.c:577
+#, c-format
+msgid "%s: wait: No more child process?!?\n"
+msgstr ""
+
+#: fsck/fsck.c:599
+#, c-format
+msgid "Warning... %s for device %s exited with signal %d.\n"
+msgstr ""
+
+#: fsck/fsck.c:605
+#, c-format
+msgid "%s %s: status is %x, should never happen.\n"
+msgstr ""
+
+#: fsck/fsck.c:644
+#, c-format
+msgid "Finished with %s (exit status %d)\n"
+msgstr ""
+
+#: fsck/fsck.c:704
+#, c-format
+msgid "%s: Error %d while executing fsck.%s for %s\n"
+msgstr ""
+
+#: fsck/fsck.c:725
+msgid ""
+"Either all or none of the filesystem types passed to -t must be prefixed\n"
+"with 'no' or '!'.\n"
+msgstr ""
+
+#: fsck/fsck.c:744
+msgid "Couldn't allocate memory for filesystem types\n"
+msgstr ""
+
+#: fsck/fsck.c:867
+#, c-format
+msgid ""
+"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass "
+"number\n"
+msgstr ""
+
+#: fsck/fsck.c:894
+#, c-format
+msgid "fsck: cannot check %s: fsck.%s not found\n"
+msgstr ""
+
+#: fsck/fsck.c:950
+msgid "Checking all file systems.\n"
+msgstr ""
+
+#: fsck/fsck.c:1041
+#, c-format
+msgid "--waiting-- (pass %d)\n"
+msgstr ""
+
+#: fsck/fsck.c:1061
+msgid ""
+"Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]\n"
+msgstr ""
+
+#: fsck/fsck.c:1099
+#, c-format
+msgid "%s: too many devices\n"
+msgstr ""
+
+#: fsck/fsck.c:1110
+#, c-format
+msgid "Couldn't open %s: %s\n"
+msgstr ""
+
+#: fsck/fsck.c:1112
+#, c-format
+msgid "Is /proc mounted?\n"
+msgstr ""
+
+#: fsck/fsck.c:1121
+#, c-format
+msgid "Must be root to scan for matching filesystems: %s\n"
+msgstr ""
+
+#: fsck/fsck.c:1124
+#, c-format
+msgid "Couldn't find matching filesystem: %s\n"
+msgstr ""
+
+#: fsck/fsck.c:1132 fsck/fsck.c:1218
+#, c-format
+msgid "%s: too many arguments\n"
+msgstr ""
+
+#: fsck/fsck.c:1252
+#, c-format
+msgid "fsck from %s\n"
+msgstr ""
+
+#: fsck/fsck.c:1264
+#, c-format
+msgid "%s: Unable to allocate memory for fsck_path\n"
+msgstr ""
+
+#: getopt/getopt.c:229
+msgid "Try `getopt --help' for more information.\n"
+msgstr ""
+
+#: getopt/getopt.c:295
+msgid "empty long option after -l or --long argument"
+msgstr ""
+
+#: getopt/getopt.c:315
+msgid "unknown shell after -s or --shell argument"
+msgstr ""
+
+#: getopt/getopt.c:320
+msgid "Usage: getopt optstring parameters\n"
+msgstr ""
+
+#: getopt/getopt.c:321
+msgid "       getopt [options] [--] optstring parameters\n"
+msgstr ""
+
+#: getopt/getopt.c:322
+msgid "       getopt [options] -o|--options optstring [options] [--]\n"
+msgstr ""
+
+#: getopt/getopt.c:323
+msgid "              parameters\n"
+msgstr ""
+
+#: getopt/getopt.c:324
+msgid ""
+"  -a, --alternative            Allow long options starting with single -\n"
+msgstr ""
+
+#: getopt/getopt.c:325
+msgid "  -h, --help                   This small usage guide\n"
+msgstr ""
+
+#: getopt/getopt.c:326
+msgid "  -l, --longoptions=longopts   Long options to be recognized\n"
+msgstr ""
+
+#: getopt/getopt.c:327
+msgid ""
+"  -n, --name=progname          The name under which errors are reported\n"
+msgstr ""
+
+#: getopt/getopt.c:328
+msgid "  -o, --options=optstring      Short options to be recognized\n"
+msgstr ""
+
+#: getopt/getopt.c:329
+msgid "  -q, --quiet                  Disable error reporting by getopt(3)\n"
+msgstr ""
+
+#: getopt/getopt.c:330
+msgid "  -Q, --quiet-output           No normal output\n"
+msgstr ""
+
+#: getopt/getopt.c:331
+msgid "  -s, --shell=shell            Set shell quoting conventions\n"
+msgstr ""
+
+#: getopt/getopt.c:332
+msgid "  -T, --test                   Test for getopt(1) version\n"
+msgstr ""
+
+#: getopt/getopt.c:333
+msgid "  -u, --unqote                 Do not quote the output\n"
+msgstr ""
+
+#: getopt/getopt.c:334
+msgid "  -V, --version                Output version information\n"
+msgstr ""
+
+#: getopt/getopt.c:388 getopt/getopt.c:447
+msgid "missing optstring argument"
+msgstr ""
+
+#: getopt/getopt.c:435
+#, c-format
+msgid "getopt (enhanced) 1.1.4\n"
+msgstr ""
+
+#: getopt/getopt.c:441
+msgid "internal error, contact the author."
+msgstr ""
+
+#: hwclock/cmos.c:176
+#, c-format
+msgid "booted from MILO\n"
+msgstr ""
+
+#: hwclock/cmos.c:185
+#, c-format
+msgid "Ruffian BCD clock\n"
+msgstr ""
+
+#: hwclock/cmos.c:201
+#, c-format
+msgid "clockport adjusted to 0x%x\n"
+msgstr ""
+
+#: hwclock/cmos.c:213
+#, c-format
+msgid "funky TOY!\n"
+msgstr ""
+
+#: hwclock/cmos.c:244
+#, c-format
+msgid "%s: atomic %s failed for 1000 iterations!"
+msgstr ""
+
+#: hwclock/cmos.c:273
+#, c-format
+msgid "cmos_read(): write to control address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:276
+#, c-format
+msgid "cmos_read(): read data address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:307
+#, c-format
+msgid "cmos_write(): write to control address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:311
+#, c-format
+msgid "cmos_write(): write to data address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:574
+#, c-format
+msgid "Cannot open /dev/port: %s"
+msgstr ""
+
+#: hwclock/cmos.c:581
+#, c-format
+msgid "I failed to get permission because I didn't try.\n"
+msgstr ""
+
+#: hwclock/cmos.c:584
+#, c-format
+msgid "%s is unable to get I/O port access:  the iopl(3) call failed.\n"
+msgstr ""
+
+#: hwclock/cmos.c:587
+#, c-format
+msgid "Probably you need root privileges.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:231
+#, c-format
+msgid "Assuming hardware clock is kept in %s time.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:232 hwclock/hwclock.c:327
+msgid "UTC"
+msgstr ""
+
+#: hwclock/hwclock.c:232 hwclock/hwclock.c:326
+msgid "local"
+msgstr ""
+
+#: hwclock/hwclock.c:312
+#, c-format
+msgid "%s: Warning: unrecognized third line in adjtime file\n"
+msgstr ""
+
+#: hwclock/hwclock.c:314
+#, c-format
+msgid "(Expected: `UTC' or `LOCAL' or nothing.)\n"
+msgstr ""
+
+#: hwclock/hwclock.c:321
+#, c-format
+msgid "Last drift adjustment done at %ld seconds after 1969\n"
+msgstr ""
+
+#: hwclock/hwclock.c:323
+#, c-format
+msgid "Last calibration done at %ld seconds after 1969\n"
+msgstr ""
+
+#: hwclock/hwclock.c:325
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr ""
+
+#: hwclock/hwclock.c:327
+msgid "unknown"
+msgstr ""
+
+#: hwclock/hwclock.c:351
+#, c-format
+msgid "Waiting for clock tick...\n"
+msgstr ""
+
+#: hwclock/hwclock.c:357
+#, c-format
+msgid "...synchronization failed\n"
+msgstr ""
+
+#: hwclock/hwclock.c:359
+#, c-format
+msgid "...got clock tick\n"
+msgstr ""
+
+#: hwclock/hwclock.c:413
+#, c-format
+msgid "Invalid values in hardware clock: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+msgstr ""
+
+#: hwclock/hwclock.c:421
+#, c-format
+msgid "Hw clock time : %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr ""
+
+#: hwclock/hwclock.c:451
+#, c-format
+msgid "Time read from Hardware Clock: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+msgstr ""
+
+#: hwclock/hwclock.c:480
+#, c-format
+msgid "Setting Hardware Clock to %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr ""
+
+#: hwclock/hwclock.c:486
+#, c-format
+msgid "Clock not changed - testing only.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:536
+#, c-format
+msgid ""
+"Time elapsed since reference time has been %.6f seconds.\n"
+"Delaying further to reach the new time.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:572
+#, c-format
+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).\n"
+msgstr ""
+
+#: hwclock/hwclock.c:582
+#, c-format
+msgid "%s  %.6f seconds\n"
+msgstr ""
+
+#: hwclock/hwclock.c:616
+#, c-format
+msgid "No --date option specified.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:622
+#, c-format
+msgid "--date argument too long\n"
+msgstr ""
+
+#: hwclock/hwclock.c:629
+#, c-format
+msgid ""
+"The value of the --date option is not a valid date.\n"
+"In particular, it contains quotation marks.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:637
+#, c-format
+msgid "Issuing date command: %s\n"
+msgstr ""
+
+#: hwclock/hwclock.c:641
+msgid "Unable to run 'date' program in /bin/sh shell. popen() failed"
+msgstr ""
+
+#: hwclock/hwclock.c:649
+#, c-format
+msgid "response from date command = %s\n"
+msgstr ""
+
+#: hwclock/hwclock.c:651
+#, c-format
+msgid ""
+"The date command issued by %s returned unexpected results.\n"
+"The command was:\n"
+"  %s\n"
+"The response was:\n"
+"  %s\n"
+msgstr ""
+
+#: hwclock/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 ""
+
+#: hwclock/hwclock.c:674
+#, c-format
+msgid "date string %s equates to %ld seconds since 1969.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:706
+#, c-format
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot set the "
+"System Time from it.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:728 hwclock/hwclock.c:805
+#, c-format
+msgid "Calling settimeofday:\n"
+msgstr ""
+
+#: hwclock/hwclock.c:729 hwclock/hwclock.c:807
+#, c-format
+msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr ""
+
+#: hwclock/hwclock.c:731 hwclock/hwclock.c:809
+#, c-format
+msgid "\ttz.tz_minuteswest = %d\n"
+msgstr ""
+
+#: hwclock/hwclock.c:734 hwclock/hwclock.c:812
+#, c-format
+msgid "Not setting system clock because running in test mode.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:743 hwclock/hwclock.c:821
+#, c-format
+msgid "Must be superuser to set system clock.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:746 hwclock/hwclock.c:824
+msgid "settimeofday() failed"
+msgstr ""
+
+#: hwclock/hwclock.c:782
+#, c-format
+msgid "Current system time: %ld = %s\n"
+msgstr ""
+
+#: hwclock/hwclock.c:806
+#, c-format
+msgid "\tUTC: %s\n"
+msgstr ""
+
+#: hwclock/hwclock.c:853
+#, c-format
+msgid ""
+"Not adjusting drift factor because the Hardware Clock previously contained "
+"garbage.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:858
+#, 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 ""
+
+#: hwclock/hwclock.c:864
+#, c-format
+msgid ""
+"Not adjusting drift factor because it has been less than a day since the "
+"last calibration.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:912
+#, 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 ""
+
+#: hwclock/hwclock.c:962
+#, c-format
+msgid "Time since last adjustment is %d seconds\n"
+msgstr ""
+
+#: hwclock/hwclock.c:964
+#, c-format
+msgid "Need to insert %d seconds and refer time back %.6f seconds ago\n"
+msgstr ""
+
+#: hwclock/hwclock.c:993
+#, c-format
+msgid "Not updating adjtime file because of testing mode.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:994
+#, c-format
+msgid ""
+"Would have written the following to %s:\n"
+"%s"
+msgstr ""
+
+#: hwclock/hwclock.c:1002
+#, c-format
+msgid ""
+"Could not open file with the clock adjustment parameters in it (%s) for "
+"writing"
+msgstr ""
+
+#: hwclock/hwclock.c:1007 hwclock/hwclock.c:1012
+#, c-format
+msgid "Could not update file with the clock adjustment parameters (%s) in it"
+msgstr ""
+
+#: hwclock/hwclock.c:1018
+#, c-format
+msgid "Drift adjustment parameters not updated.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1059
+#, c-format
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot adjust it.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1067
+#, c-format
+msgid ""
+"Not setting clock because last adjustment time is zero, so history is bad."
+msgstr ""
+
+#: hwclock/hwclock.c:1090
+#, c-format
+msgid "Needed adjustment is less than one second, so not setting clock.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1116
+#, c-format
+msgid "Using %s.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1118
+#, c-format
+msgid "No usable clock interface found.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1222 hwclock/hwclock.c:1228
+#, c-format
+msgid "Unable to set system clock.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1258
+#, c-format
+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.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1267
+#, c-format
+msgid "Unable to get the epoch value from the kernel.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1269
+#, c-format
+msgid "Kernel is assuming an epoch value of %lu\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1272
+#, c-format
+msgid ""
+"To set the epoch value, you must use the 'epoch' option to tell to what "
+"value to set it.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1275
+#, c-format
+msgid "Not setting the epoch to %d - testing only.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1278
+#, c-format
+msgid "Unable to set the epoch value in the kernel.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1291 misc-utils/cal.c:345 misc-utils/kill.c:189
+#, c-format
+msgid "%s from %s\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1312
+#, c-format
+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"
+"  -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/hwclock.c:1347
+#, c-format
+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 ""
+
+#: hwclock/hwclock.c:1434
+#, c-format
+msgid "%s: Unable to connect to audit system\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1552
+#, c-format
+msgid "%s takes no non-option arguments.  You supplied %d.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1559
+#, c-format
+msgid ""
+"You have specified multiple functions.\n"
+"You can only perform one function at a time.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1566
+#, c-format
+msgid ""
+"%s: The --utc and --localtime options are mutually exclusive.  You specified "
+"both.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1573
+#, c-format
+msgid ""
+"%s: The --adjust and --noadjfile options are mutually exclusive.  You "
+"specified both.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1580
+#, c-format
+msgid ""
+"%s: The --adjfile and --noadjfile options are mutually exclusive.  You "
+"specified both.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1589
+#, c-format
+msgid "%s: With --noadjfile, you must specify either --utc or --localtime\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1603
+#, c-format
+msgid "No usable set-to time.  Cannot set clock.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1620
+#, c-format
+msgid "Sorry, only the superuser can change the Hardware Clock.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1625
+#, c-format
+msgid "Sorry, only the superuser can change the System Clock.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1630
+#, c-format
+msgid ""
+"Sorry, only the superuser can change the Hardware Clock epoch in the "
+"kernel.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1651
+#, c-format
+msgid "Cannot access the Hardware Clock via any known method.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1655
+#, c-format
+msgid ""
+"Use the --debug option to see the details of our search for an access "
+"method.\n"
+msgstr ""
+
+#: hwclock/kd.c:53
+#, c-format
+msgid "Waiting in loop for time from KDGHWCLK to change\n"
+msgstr ""
+
+#: hwclock/kd.c:56
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr ""
+
+#: hwclock/kd.c:77 hwclock/rtc.c:221
+#, c-format
+msgid "Timed out waiting for time change.\n"
+msgstr ""
+
+#: hwclock/kd.c:81
+msgid "KDGHWCLK ioctl to read time failed in loop"
+msgstr ""
+
+#: hwclock/kd.c:103
+#, c-format
+msgid "ioctl() failed to read time from %s"
+msgstr ""
+
+#: hwclock/kd.c:139
+msgid "ioctl KDSHWCLK failed"
+msgstr ""
+
+#: hwclock/kd.c:175
+msgid "Can't open /dev/tty1 or /dev/vc/1"
+msgstr ""
+
+#: hwclock/kd.c:179
+msgid "KDGHWCLK ioctl failed"
+msgstr ""
+
+#: hwclock/rtc.c:147 hwclock/rtc.c:241
+#, c-format
+msgid "open() of %s failed"
+msgstr ""
+
+#: hwclock/rtc.c:181
+#, c-format
+msgid "ioctl() to %s to read the time failed.\n"
+msgstr ""
+
+#: hwclock/rtc.c:203
+#, c-format
+msgid "Waiting in loop for time from %s to change\n"
+msgstr ""
+
+#: hwclock/rtc.c:259
+#, c-format
+msgid "%s does not have interrupt functions. "
+msgstr ""
+
+#: hwclock/rtc.c:270
+#, c-format
+msgid "read() to %s to wait for clock tick failed"
+msgstr ""
+
+#: hwclock/rtc.c:288
+#, c-format
+msgid "select() to %s to wait for clock tick failed"
+msgstr ""
+
+#: hwclock/rtc.c:291
+#, c-format
+msgid "select() to %s to wait for clock tick timed out\n"
+msgstr ""
+
+#: hwclock/rtc.c:300
+#, c-format
+msgid "ioctl() to %s to turn off update interrupts failed"
+msgstr ""
+
+#: hwclock/rtc.c:303
+#, c-format
+msgid "ioctl() to %s to turn on update interrupts failed unexpectedly"
+msgstr ""
+
+#: hwclock/rtc.c:360
+#, c-format
+msgid "ioctl() to %s to set the time failed.\n"
+msgstr ""
+
+#: hwclock/rtc.c:366
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr ""
+
+#: hwclock/rtc.c:392
+#, c-format
+msgid "Open of %s failed"
+msgstr ""
+
+#: hwclock/rtc.c:410 hwclock/rtc.c:454
+#, 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.\n"
+msgstr ""
+
+#: hwclock/rtc.c:415 hwclock/rtc.c:459
+#, c-format
+msgid "Unable to open %s"
+msgstr ""
+
+#: hwclock/rtc.c:422
+#, c-format
+msgid "ioctl(RTC_EPOCH_READ) to %s failed"
+msgstr ""
+
+#: hwclock/rtc.c:427
+#, c-format
+msgid "we have read epoch %ld from %s with RTC_EPOCH_READ ioctl.\n"
+msgstr ""
+
+#: hwclock/rtc.c:446
+#, c-format
+msgid "The epoch value may not be less than 1900.  You requested %ld\n"
+msgstr ""
+
+#: hwclock/rtc.c:464
+#, c-format
+msgid "setting epoch to %ld with RTC_EPOCH_SET ioctl to %s.\n"
+msgstr ""
+
+#: hwclock/rtc.c:469
+#, c-format
+msgid ""
+"The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl.\n"
+msgstr ""
+
+#: hwclock/rtc.c:472
+#, c-format
+msgid "ioctl(RTC_EPOCH_SET) to %s failed"
+msgstr ""
+
+#: login-utils/agetty.c:361
+#, c-format
+msgid "%s: can't exec %s: %m"
+msgstr ""
+
+#: login-utils/agetty.c:384
+msgid "can't malloc initstring"
+msgstr ""
+
+#: login-utils/agetty.c:449
+#, c-format
+msgid "bad timeout value: %s"
+msgstr ""
+
+#: login-utils/agetty.c:526
+#, c-format
+msgid "bad speed: %s"
+msgstr ""
+
+#: login-utils/agetty.c:528
+msgid "too many alternate speeds"
+msgstr ""
+
+#: login-utils/agetty.c:630
+#, c-format
+msgid "/dev: chdir() failed: %m"
+msgstr ""
+
+#: login-utils/agetty.c:634
+#, c-format
+msgid "/dev/%s: not a character device"
+msgstr ""
+
+#: login-utils/agetty.c:643
+#, c-format
+msgid "/dev/%s: cannot open as standard input: %m"
+msgstr ""
+
+#: login-utils/agetty.c:653
+#, c-format
+msgid "%s: not open for read/write"
+msgstr ""
+
+#: login-utils/agetty.c:659
+#, c-format
+msgid "%s: dup problem: %m"
+msgstr ""
+
+#: login-utils/agetty.c:946
+#, c-format
+msgid "user"
+msgstr ""
+
+#: login-utils/agetty.c:946
+#, c-format
+msgid "users"
+msgstr ""
+
+#: login-utils/agetty.c:1031
+#, c-format
+msgid "%s: read: %m"
+msgstr ""
+
+#: login-utils/agetty.c:1078
+#, c-format
+msgid "%s: input overrun"
+msgstr ""
+
+#: login-utils/agetty.c:1207
+#, c-format
+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 ""
+
+#: login-utils/checktty.c:91 login-utils/checktty.c:112
+#, c-format
+msgid "login: memory low, login may fail\n"
+msgstr ""
+
+#: login-utils/checktty.c:92
+msgid "can't malloc for ttyclass"
+msgstr ""
+
+#: login-utils/checktty.c:113
+msgid "can't malloc for grplist"
+msgstr ""
+
+#: login-utils/checktty.c:554
+#, c-format
+msgid "Login on %s from %s denied by default.\n"
+msgstr ""
+
+#: login-utils/checktty.c:565
+#, c-format
+msgid "Login on %s from %s denied.\n"
+msgstr ""
+
+#: login-utils/chfn.c:133 login-utils/chsh.c:119
+#, c-format
+msgid "%s: you (user %d) don't exist.\n"
+msgstr ""
+
+#: login-utils/chfn.c:140 login-utils/chsh.c:126
+#, c-format
+msgid "%s: user \"%s\" does not exist.\n"
+msgstr ""
+
+#: login-utils/chfn.c:145 login-utils/chsh.c:131
+#, c-format
+msgid "%s: can only change local entries; use yp%s instead.\n"
+msgstr ""
+
+#: login-utils/chfn.c:156 login-utils/chsh.c:142
+msgid "Unknown user context"
+msgstr ""
+
+#: login-utils/chfn.c:157
+#, c-format
+msgid "%s: %s is not authorized to change the finger info of %s\n"
+msgstr ""
+
+#: login-utils/chfn.c:164 login-utils/chsh.c:150
+#, c-format
+msgid "%s: Can't set default context for /etc/passwd"
+msgstr ""
+
+#: login-utils/chfn.c:178
+#, c-format
+msgid "Changing finger information for %s.\n"
+msgstr ""
+
+#: login-utils/chfn.c:189 login-utils/chsh.c:188 login-utils/login.c:572
+#, c-format
+msgid "%s: PAM failure, aborting: %s\n"
+msgstr ""
+
+#: login-utils/chfn.c:212 login-utils/chsh.c:211 login-utils/login.c:823
+#: login-utils/newgrp.c:85 login-utils/simpleinit.c:340 mount/lomount.c:744
+#: mount/lomount.c:747
+msgid "Password: "
+msgstr ""
+
+#: login-utils/chfn.c:215 login-utils/chsh.c:214
+msgid "Incorrect password."
+msgstr ""
+
+#: login-utils/chfn.c:226
+#, c-format
+msgid "Finger information not changed.\n"
+msgstr ""
+
+#: login-utils/chfn.c:328
+#, c-format
+msgid "Usage: %s [ -f full-name ] [ -o office ] "
+msgstr ""
+
+#: login-utils/chfn.c:329
+#, c-format
+msgid ""
+"[ -p office-phone ]\n"
+"\t[ -h home-phone ] "
+msgstr ""
+
+#: login-utils/chfn.c:330
+#, c-format
+msgid "[ --help ] [ --version ]\n"
+msgstr ""
+
+#: login-utils/chfn.c:378
+msgid "Office"
+msgstr ""
+
+#: login-utils/chfn.c:379
+msgid "Office Phone"
+msgstr ""
+
+#: login-utils/chfn.c:380
+msgid "Home Phone"
+msgstr ""
+
+#: login-utils/chfn.c:401 login-utils/chsh.c:321
+#, c-format
+msgid ""
+"\n"
+"Aborted.\n"
+msgstr ""
+
+#: login-utils/chfn.c:434
+#, c-format
+msgid "field is too long.\n"
+msgstr ""
+
+#: login-utils/chfn.c:442
+#, c-format
+msgid "'%c' is not allowed.\n"
+msgstr ""
+
+#: login-utils/chfn.c:447
+#, c-format
+msgid "Control characters are not allowed.\n"
+msgstr ""
+
+#: login-utils/chfn.c:512
+#, c-format
+msgid "Finger information *NOT* changed.  Try again later.\n"
+msgstr ""
+
+#: login-utils/chfn.c:515
+#, c-format
+msgid "Finger information changed.\n"
+msgstr ""
+
+#: login-utils/chsh.c:143
+#, c-format
+msgid "%s: %s is not authorized to change the shell of %s\n"
+msgstr ""
+
+#: login-utils/chsh.c:164
+#, c-format
+msgid ""
+"%s: Running UID doesn't match UID of user we're altering, shell change "
+"denied\n"
+msgstr ""
+
+#: login-utils/chsh.c:170
+#, c-format
+msgid "%s: Your shell is not in /etc/shells, shell change denied\n"
+msgstr ""
+
+#: login-utils/chsh.c:177
+#, c-format
+msgid "Changing shell for %s.\n"
+msgstr ""
+
+#: login-utils/chsh.c:222
+msgid "New shell"
+msgstr ""
+
+#: login-utils/chsh.c:229
+#, c-format
+msgid "Shell not changed.\n"
+msgstr ""
+
+#: login-utils/chsh.c:235
+#, c-format
+msgid "Shell *NOT* changed.  Try again later.\n"
+msgstr ""
+
+#: login-utils/chsh.c:238
+#, c-format
+msgid "Shell changed.\n"
+msgstr ""
+
+#: login-utils/chsh.c:303
+#, c-format
+msgid ""
+"Usage: %s [ -s shell ] [ --list-shells ] [ --help ] [ --version ]\n"
+"       [ username ]\n"
+msgstr ""
+
+#: login-utils/chsh.c:349
+#, c-format
+msgid "%s: shell must be a full path name.\n"
+msgstr ""
+
+#: login-utils/chsh.c:353
+#, c-format
+msgid "%s: \"%s\" does not exist.\n"
+msgstr ""
+
+#: login-utils/chsh.c:357
+#, c-format
+msgid "%s: \"%s\" is not executable.\n"
+msgstr ""
+
+#: login-utils/chsh.c:364
+#, c-format
+msgid "%s: '%c' is not allowed.\n"
+msgstr ""
+
+#: login-utils/chsh.c:368
+#, c-format
+msgid "%s: Control characters are not allowed.\n"
+msgstr ""
+
+#: login-utils/chsh.c:375 login-utils/chsh.c:385
+#, c-format
+msgid "Warning: \"%s\" is not listed in /etc/shells.\n"
+msgstr ""
+
+#: login-utils/chsh.c:377
+#, c-format
+msgid "%s: \"%s\" is not listed in /etc/shells.\n"
+msgstr ""
+
+#: login-utils/chsh.c:379
+#, c-format
+msgid "%s: Use -l option to see list.\n"
+msgstr ""
+
+#: login-utils/chsh.c:386
+#, c-format
+msgid "Use %s -l to see list.\n"
+msgstr ""
+
+#: login-utils/chsh.c:406
+#, c-format
+msgid "No known shells.\n"
+msgstr ""
+
+#: login-utils/islocal.c:87
+#, c-format
+msgid "Failed to open %s for reading, exiting."
+msgstr ""
+
+#: login-utils/last.c:148
+msgid "usage: last [-#] [-f file] [-t tty] [-h hostname] [user ...]\n"
+msgstr ""
+
+#: login-utils/last.c:284
+msgid "  still logged in"
+msgstr ""
+
+#: login-utils/last.c:306
+#, c-format
+msgid ""
+"\n"
+"wtmp begins %s"
+msgstr ""
+
+#: login-utils/last.c:362 login-utils/last.c:380 login-utils/last.c:431
+msgid "last: malloc failure.\n"
+msgstr ""
+
+#: login-utils/last.c:407
+msgid "last: gethostname"
+msgstr ""
+
+#: login-utils/last.c:456
+#, c-format
+msgid ""
+"\n"
+"interrupted %10.10s %5.5s \n"
+msgstr ""
+
+#: login-utils/login.c:197
+#, c-format
+msgid "FATAL: can't reopen tty: %s"
+msgstr ""
+
+#: login-utils/login.c:229
+msgid "FATAL: bad tty"
+msgstr ""
+
+#: login-utils/login.c:436
+#, c-format
+msgid "login: -h for super-user only.\n"
+msgstr ""
+
+#: login-utils/login.c:479
+#, c-format
+msgid "usage: login [-fp] [username]\n"
+msgstr ""
+
+#: login-utils/login.c:574
+#, c-format
+msgid "Couldn't initialize PAM: %s"
+msgstr ""
+
+#: login-utils/login.c:591
+msgid "login: "
+msgstr ""
+
+#: login-utils/login.c:635
+#, c-format
+msgid "FAILED LOGIN %d FROM %s FOR %s, %s"
+msgstr ""
+
+#: login-utils/login.c:640
+#, c-format
+msgid ""
+"Login incorrect\n"
+"\n"
+msgstr ""
+
+#: login-utils/login.c:649
+#, c-format
+msgid "TOO MANY LOGIN TRIES (%d) FROM %s FOR %s, %s"
+msgstr ""
+
+#: login-utils/login.c:653
+#, c-format
+msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
+msgstr ""
+
+#: login-utils/login.c:658
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+
+#: login-utils/login.c:686 login-utils/login.c:693 login-utils/login.c:727
+#, c-format
+msgid ""
+"\n"
+"Session setup problem, abort.\n"
+msgstr ""
+
+#: login-utils/login.c:687
+#, c-format
+msgid "NULL user name in %s:%d. Abort."
+msgstr ""
+
+#: login-utils/login.c:694
+#, c-format
+msgid "Invalid user name \"%s\" in %s:%d. Abort."
+msgstr ""
+
+#: login-utils/login.c:713
+#, c-format
+msgid "login: Out of memory\n"
+msgstr ""
+
+#: login-utils/login.c:757
+msgid "Illegal username"
+msgstr ""
+
+#: login-utils/login.c:800
+#, c-format
+msgid "%s login refused on this terminal.\n"
+msgstr ""
+
+#: login-utils/login.c:805
+#, c-format
+msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
+msgstr ""
+
+#: login-utils/login.c:809
+#, c-format
+msgid "LOGIN %s REFUSED ON TTY %s"
+msgstr ""
+
+#: login-utils/login.c:863
+#, c-format
+msgid "Login incorrect\n"
+msgstr ""
+
+#: login-utils/login.c:1088
+#, c-format
+msgid "DIALUP AT %s BY %s"
+msgstr ""
+
+#: login-utils/login.c:1095
+#, c-format
+msgid "ROOT LOGIN ON %s FROM %s"
+msgstr ""
+
+#: login-utils/login.c:1098
+#, c-format
+msgid "ROOT LOGIN ON %s"
+msgstr ""
+
+#: login-utils/login.c:1101
+#, c-format
+msgid "LOGIN ON %s BY %s FROM %s"
+msgstr ""
+
+#: login-utils/login.c:1104
+#, c-format
+msgid "LOGIN ON %s BY %s"
+msgstr ""
+
+#: login-utils/login.c:1125
+#, c-format
+msgid "You have new mail.\n"
+msgstr ""
+
+#: login-utils/login.c:1127
+#, c-format
+msgid "You have mail.\n"
+msgstr ""
+
+#: login-utils/login.c:1171
+#, c-format
+msgid "login: failure forking: %s"
+msgstr ""
+
+#: login-utils/login.c:1218
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr ""
+
+#: login-utils/login.c:1224
+msgid "setuid() failed"
+msgstr ""
+
+#: login-utils/login.c:1230
+#, c-format
+msgid "No directory %s!\n"
+msgstr ""
+
+#: login-utils/login.c:1234
+#, c-format
+msgid "Logging in with home = \"/\".\n"
+msgstr ""
+
+#: login-utils/login.c:1242
+#, c-format
+msgid "login: no memory for shell script.\n"
+msgstr ""
+
+#: login-utils/login.c:1269
+#, c-format
+msgid "login: couldn't exec shell script: %s.\n"
+msgstr ""
+
+#: login-utils/login.c:1272
+#, c-format
+msgid "login: no shell: %s.\n"
+msgstr ""
+
+#: login-utils/login.c:1287
+#, c-format
+msgid ""
+"\n"
+"%s login: "
+msgstr ""
+
+#: login-utils/login.c:1298
+#, c-format
+msgid "login name much too long.\n"
+msgstr ""
+
+#: login-utils/login.c:1299
+msgid "NAME too long"
+msgstr ""
+
+#: login-utils/login.c:1306
+#, c-format
+msgid "login names may not start with '-'.\n"
+msgstr ""
+
+#: login-utils/login.c:1316
+#, c-format
+msgid "too many bare linefeeds.\n"
+msgstr ""
+
+#: login-utils/login.c:1317
+msgid "EXCESSIVE linefeeds"
+msgstr ""
+
+#: login-utils/login.c:1349
+#, c-format
+msgid "Login timed out after %d seconds\n"
+msgstr ""
+
+#: login-utils/login.c:1437
+#, c-format
+msgid "Last login: %.*s "
+msgstr ""
+
+#: login-utils/login.c:1441
+#, c-format
+msgid "from %.*s\n"
+msgstr ""
+
+#: login-utils/login.c:1444
+#, c-format
+msgid "on %.*s\n"
+msgstr ""
+
+#: login-utils/login.c:1470
+#, c-format
+msgid "LOGIN FAILURE FROM %s, %s"
+msgstr ""
+
+#: login-utils/login.c:1473
+#, c-format
+msgid "LOGIN FAILURE ON %s, %s"
+msgstr ""
+
+#: login-utils/login.c:1477
+#, c-format
+msgid "%d LOGIN FAILURES FROM %s, %s"
+msgstr ""
+
+#: login-utils/login.c:1480
+#, c-format
+msgid "%d LOGIN FAILURES ON %s, %s"
+msgstr ""
+
+#: login-utils/mesg.c:89
+#, c-format
+msgid "is y\n"
+msgstr ""
+
+#: login-utils/mesg.c:92
+#, c-format
+msgid "is n\n"
+msgstr ""
+
+#: login-utils/mesg.c:112
+#, c-format
+msgid "usage: mesg [y | n]\n"
+msgstr ""
+
+#: login-utils/newgrp.c:105
+msgid "newgrp: Who are you?"
+msgstr ""
+
+#: login-utils/newgrp.c:113 login-utils/newgrp.c:127
+msgid "newgrp: setgid"
+msgstr ""
+
+#: login-utils/newgrp.c:120 login-utils/newgrp.c:122
+msgid "newgrp: No such group."
+msgstr ""
+
+#: login-utils/newgrp.c:131
+msgid "newgrp: Permission denied"
+msgstr ""
+
+#: login-utils/newgrp.c:138
+msgid "newgrp: setuid"
+msgstr ""
+
+#: login-utils/newgrp.c:144
+msgid "No shell"
+msgstr ""
+
+#: login-utils/shutdown.c:115
+#, c-format
+msgid "Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+msgstr ""
+
+#: login-utils/shutdown.c:133
+msgid "Shutdown process aborted"
+msgstr ""
+
+#: login-utils/shutdown.c:164
+#, c-format
+msgid "%s: Only root can shut a system down.\n"
+msgstr ""
+
+#: login-utils/shutdown.c:258
+#, c-format
+msgid "That must be tomorrow, can't you wait till then?\n"
+msgstr ""
+
+#: login-utils/shutdown.c:309
+msgid "for maintenance; bounce, bounce"
+msgstr ""
+
+#: login-utils/shutdown.c:338
+msgid "The system is being shut down within 5 minutes"
+msgstr ""
+
+#: login-utils/shutdown.c:342
+msgid "Login is therefore prohibited."
+msgstr ""
+
+#: login-utils/shutdown.c:364
+#, c-format
+msgid "rebooted by %s: %s"
+msgstr ""
+
+#: login-utils/shutdown.c:367
+#, c-format
+msgid "halted by %s: %s"
+msgstr ""
+
+#: login-utils/shutdown.c:431
+msgid ""
+"\n"
+"Why am I still alive after reboot?"
+msgstr ""
+
+#: login-utils/shutdown.c:433
+msgid ""
+"\n"
+"Now you can turn off the power..."
+msgstr ""
+
+#: login-utils/shutdown.c:449
+#, c-format
+msgid "Calling kernel power-off facility...\n"
+msgstr ""
+
+#: login-utils/shutdown.c:452
+#, c-format
+msgid "Error powering off\t%s\n"
+msgstr ""
+
+#: login-utils/shutdown.c:460
+#, c-format
+msgid "Executing the program \"%s\" ...\n"
+msgstr ""
+
+#: login-utils/shutdown.c:463
+#, c-format
+msgid "Error executing\t%s\n"
+msgstr ""
+
+#: login-utils/shutdown.c:490
+#, c-format
+msgid "URGENT: broadcast message from %s:"
+msgstr ""
+
+#: login-utils/shutdown.c:496
+#, c-format
+msgid "System going down in %d hours %d minutes"
+msgstr ""
+
+#: login-utils/shutdown.c:499
+#, c-format
+msgid "System going down in 1 hour %d minutes"
+msgstr ""
+
+#: login-utils/shutdown.c:502
+#, c-format
+msgid "System going down in %d minutes\n"
+msgstr ""
+
+#: login-utils/shutdown.c:505
+#, c-format
+msgid "System going down in 1 minute\n"
+msgstr ""
+
+#: login-utils/shutdown.c:507
+#, c-format
+msgid "System going down IMMEDIATELY!\n"
+msgstr ""
+
+#: login-utils/shutdown.c:512
+#, c-format
+msgid "\t... %s ...\n"
+msgstr ""
+
+#: login-utils/shutdown.c:569
+msgid "Cannot fork for swapoff. Shrug!"
+msgstr ""
+
+#: login-utils/shutdown.c:577
+msgid "Cannot exec swapoff, hoping umount will do the trick."
+msgstr ""
+
+#: login-utils/shutdown.c:596
+msgid "Cannot fork for umount, trying manually."
+msgstr ""
+
+#: login-utils/shutdown.c:605
+#, c-format
+msgid "Cannot exec %s, trying umount.\n"
+msgstr ""
+
+#: login-utils/shutdown.c:609
+msgid "Cannot exec umount, giving up on umount."
+msgstr ""
+
+#: login-utils/shutdown.c:614
+msgid "Unmounting any remaining filesystems..."
+msgstr ""
+
+#: login-utils/shutdown.c:661
+#, c-format
+msgid "shutdown: Couldn't umount %s: %s\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:132
+msgid "Booting to single user mode.\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:136
+msgid "exec of single user shell failed\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:140
+msgid "fork of single user shell failed\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:208
+msgid "error opening fifo\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:212
+msgid "error setting close-on-exec on /dev/initctl"
+msgstr ""
+
+#: login-utils/simpleinit.c:259
+msgid "error running finalprog\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:263
+msgid "error forking finalprog\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:345
+msgid ""
+"\n"
+"Wrong password.\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:418
+msgid "lstat of path failed\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:426
+msgid "stat of path failed\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:434
+msgid "open of directory failed\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:501
+#, c-format
+msgid "respawning: \"%s\" too fast: quenching entry\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:509
+msgid "fork failed\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:540 text-utils/more.c:1629
+msgid "exec failed\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:564
+msgid "cannot open inittab\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:631
+msgid "no TERM or cannot stat tty\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:938
+#, c-format
+msgid "error stopping service: \"%s\"\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:950
+#, c-format
+msgid "Stopped service: %s\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:1070
+#, c-format
+msgid "error running programme: \"%s\"\n"
+msgstr ""
+
+#: login-utils/ttymsg.c:75
+msgid "too many iov's (change code in wall/ttymsg.c)"
+msgstr ""
+
+#: login-utils/ttymsg.c:85
+#, c-format
+msgid "excessively long line arg"
+msgstr ""
+
+#: login-utils/ttymsg.c:140
+#, c-format
+msgid "cannot fork"
+msgstr ""
+
+#: login-utils/ttymsg.c:144
+#, c-format
+msgid "fork: %s"
+msgstr ""
+
+#: login-utils/ttymsg.c:174
+#, c-format
+msgid "%s: BAD ERROR"
+msgstr ""
+
+#: login-utils/vipw.c:143
+#, c-format
+msgid "%s: the password file is busy.\n"
+msgstr ""
+
+#: login-utils/vipw.c:146
+#, c-format
+msgid "%s: the group file is busy.\n"
+msgstr ""
+
+#: login-utils/vipw.c:162
+#, c-format
+msgid "%s: the %s file is busy (%s present)\n"
+msgstr ""
+
+#: login-utils/vipw.c:168
+#, c-format
+msgid "%s: can't link %s: %s\n"
+msgstr ""
+
+#: login-utils/vipw.c:202
+#, c-format
+msgid "%s: Can't get context for %s"
+msgstr ""
+
+#: login-utils/vipw.c:208
+#, c-format
+msgid "%s: Can't set context for %s"
+msgstr ""
+
+#: login-utils/vipw.c:217
+#, c-format
+msgid "%s: can't unlock %s: %s (your changes are still in %s)\n"
+msgstr ""
+
+#: login-utils/vipw.c:240
+#, c-format
+msgid "%s: Cannot fork\n"
+msgstr ""
+
+#: login-utils/vipw.c:276
+#, c-format
+msgid "%s: %s unchanged\n"
+msgstr ""
+
+#: login-utils/vipw.c:297
+#, c-format
+msgid "%s: no changes made\n"
+msgstr ""
+
+#: login-utils/vipw.c:350
+#, c-format
+msgid "You are using shadow groups on this system.\n"
+msgstr ""
+
+#: login-utils/vipw.c:351
+#, c-format
+msgid "You are using shadow passwords on this system.\n"
+msgstr ""
+
+#: login-utils/vipw.c:352
+#, c-format
+msgid "Would you like to edit %s now [y/n]? "
+msgstr ""
+
+#: login-utils/wall.c:112
+#, c-format
+msgid "usage: %s [file]\n"
+msgstr ""
+
+#: login-utils/wall.c:167
+#, c-format
+msgid "%s: can't open temporary file.\n"
+msgstr ""
+
+#: login-utils/wall.c:194
+#, c-format
+msgid "Broadcast Message from %s@%s"
+msgstr ""
+
+#: login-utils/wall.c:212
+#, c-format
+msgid "%s: will not read %s - use stdin.\n"
+msgstr ""
+
+#: login-utils/wall.c:217
+#, c-format
+msgid "%s: can't read %s.\n"
+msgstr ""
+
+#: login-utils/wall.c:240
+#, c-format
+msgid "%s: can't stat temporary file.\n"
+msgstr ""
+
+#: login-utils/wall.c:250
+#, c-format
+msgid "%s: can't read temporary file.\n"
+msgstr ""
+
+#: misc-utils/cal.c:362 misc-utils/cal.c:374
+#, c-format
+msgid "illegal day value: use 1-%d"
+msgstr ""
+
+#: misc-utils/cal.c:366
+msgid "illegal month value: use 1-12"
+msgstr ""
+
+#: misc-utils/cal.c:370
+msgid "illegal year value: use 1-9999"
+msgstr ""
+
+#: misc-utils/cal.c:464
+#, c-format
+msgid "%s %d"
+msgstr ""
+
+#: misc-utils/cal.c:856
+#, c-format
+msgid "usage: cal [-13smjyV] [[[day] month] year]\n"
+msgstr ""
+
+#: misc-utils/ddate.c:203
+#, c-format
+msgid "usage: %s [+format] [day month year]\n"
+msgstr ""
+
+#: misc-utils/ddate.c:250
+msgid "St. Tib's Day"
+msgstr ""
+
+#: misc-utils/findfs.c:24
+#, c-format
+msgid "Usage: %s LABEL=<label>|UUID=<uuid>\n"
+msgstr ""
+
+#: misc-utils/findfs.c:55
+#, c-format
+msgid "unable to resolve '%s'"
+msgstr ""
+
+#: misc-utils/kill.c:207
+#, c-format
+msgid "%s: unknown signal %s\n"
+msgstr ""
+
+#: misc-utils/kill.c:270
+#, c-format
+msgid "%s: can't find process \"%s\"\n"
+msgstr ""
+
+#: misc-utils/kill.c:314
+#, c-format
+msgid "%s: unknown signal %s; valid signals:\n"
+msgstr ""
+
+#: misc-utils/kill.c:354
+#, c-format
+msgid "usage: %s [ -s signal | -p ] [ -a ] pid ...\n"
+msgstr ""
+
+#: misc-utils/kill.c:355
+#, c-format
+msgid "       %s -l [ signal ]\n"
+msgstr ""
+
+#: misc-utils/logger.c:67
+#, c-format
+msgid "logger: openlog: pathname too long\n"
+msgstr ""
+
+#: misc-utils/logger.c:75
+#, c-format
+msgid "socket: %s.\n"
+msgstr ""
+
+#: misc-utils/logger.c:80
+#, c-format
+msgid "connect: %s.\n"
+msgstr ""
+
+#: misc-utils/logger.c:139
+#, c-format
+msgid "logger: %s: %s.\n"
+msgstr ""
+
+#: misc-utils/logger.c:246
+#, c-format
+msgid "logger: unknown facility name: %s.\n"
+msgstr ""
+
+#: misc-utils/logger.c:258
+#, c-format
+msgid "logger: unknown priority name: %s.\n"
+msgstr ""
+
+#: misc-utils/logger.c:285
+#, c-format
+msgid ""
+"usage: logger [-is] [-f file] [-p pri] [-t tag] [-u socket] [ message ... ]\n"
+msgstr ""
+
+#: misc-utils/look.c:351
+#, c-format
+msgid "usage: look [-dfa] [-t char] string [file]\n"
+msgstr ""
+
+#: misc-utils/mcookie.c:105 misc-utils/mcookie.c:132
+#, c-format
+msgid "Could not open %s\n"
+msgstr ""
+
+#: misc-utils/mcookie.c:109 misc-utils/mcookie.c:128
+#, c-format
+msgid "Got %d bytes from %s\n"
+msgstr ""
+
+#: misc-utils/namei.c:144 misc-utils/namei.c:198 misc-utils/namei.c:220
+#: misc-utils/namei.c:227 misc-utils/namei.c:248
+msgid "out of memory?"
+msgstr ""
+
+#: misc-utils/namei.c:189
+#, c-format
+msgid "failed to read symlink: %s"
+msgstr ""
+
+#: misc-utils/namei.c:229
+#, c-format
+msgid "could not stat '%s'"
+msgstr ""
+
+#: misc-utils/namei.c:411
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [options] pathname [pathname ...]\n"
+msgstr ""
+
+#: misc-utils/namei.c:412
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+
+#: misc-utils/namei.c:415
+#, c-format
+msgid ""
+" -h, --help          displays this help text\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:423
+#, c-format
+msgid ""
+"\n"
+"For more information see namei(1).\n"
+msgstr ""
+
+#: misc-utils/namei.c:484
+#, c-format
+msgid "failed to stat: %s"
+msgstr ""
+
+#: misc-utils/namei.c:495
+#, c-format
+msgid "%s: exceeded limit of symlinks"
+msgstr ""
+
+#: misc-utils/rename.c:38
+#, c-format
+msgid "%s: out of memory\n"
+msgstr ""
+
+#: misc-utils/rename.c:56
+#, c-format
+msgid "%s: renaming %s to %s failed: %s\n"
+msgstr ""
+
+#: misc-utils/rename.c:86
+#, c-format
+msgid "call: %s from to files...\n"
+msgstr ""
+
+#: misc-utils/script.c:110
+#, c-format
+msgid ""
+"Warning: `%s' is a link.\n"
+"Use `%s [options] %s' if you really want to use it.\n"
+"Script not started.\n"
+msgstr ""
+
+#: misc-utils/script.c:173
+#, c-format
+msgid "usage: script [-a] [-f] [-q] [-t] [file]\n"
+msgstr ""
+
+#: misc-utils/script.c:196
+#, c-format
+msgid "Script started, file is %s\n"
+msgstr ""
+
+#: misc-utils/script.c:244
+#, c-format
+msgid "%s: write error %d: %s\n"
+msgstr ""
+
+#: misc-utils/script.c:304
+#, c-format
+msgid "Script started on %s"
+msgstr ""
+
+#: misc-utils/script.c:347
+#, c-format
+msgid "%s: write error: %s\n"
+msgstr ""
+
+#: misc-utils/script.c:354
+#, c-format
+msgid "%s: cannot write script file, error: %s\n"
+msgstr ""
+
+#: misc-utils/script.c:430
+#, c-format
+msgid ""
+"\n"
+"Script done on %s"
+msgstr ""
+
+#: misc-utils/script.c:437
+#, c-format
+msgid "Script done, file is %s\n"
+msgstr ""
+
+#: misc-utils/script.c:448
+#, c-format
+msgid "openpty failed\n"
+msgstr ""
+
+#: misc-utils/script.c:482
+#, c-format
+msgid "Out of pty's\n"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:38
+#, c-format
+msgid "%s <timingfile> [<typescript> [<divisor>]]\n"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:53
+#, c-format
+msgid "expected a number, but got '%s'"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:56 misc-utils/scriptreplay.c:60
+#, c-format
+msgid "divisor '%s'"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:104
+msgid "write to stdout failed"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:110
+#, c-format
+msgid "unexpected end of file on %s"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:112
+#, c-format
+msgid "failed to read typescript file %s"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:145
+#, c-format
+msgid "cannot open timing file %s"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:148
+#, c-format
+msgid "cannot open typescript file %s"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:164
+#, c-format
+msgid "failed to read timing file %s"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:166
+#, c-format
+msgid "timings file %s: %lu: unexpected format"
+msgstr ""
+
+#: misc-utils/setterm.c:763
+#, c-format
+msgid "%s: Argument error, usage\n"
+msgstr ""
+
+#: misc-utils/setterm.c:766
+#, c-format
+msgid "  [ -term terminal_name ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:767
+#, c-format
+msgid "  [ -reset ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:768
+#, c-format
+msgid "  [ -initialize ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:769
+#, c-format
+msgid "  [ -cursor [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:771
+#, c-format
+msgid "  [ -snow [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:772
+#, c-format
+msgid "  [ -softscroll [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:774
+#, c-format
+msgid "  [ -repeat [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:775
+#, c-format
+msgid "  [ -appcursorkeys [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:776
+#, c-format
+msgid "  [ -linewrap [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:777
+#, c-format
+msgid "  [ -default ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:778
+#, c-format
+msgid "  [ -foreground black|blue|green|cyan"
+msgstr ""
+
+#: misc-utils/setterm.c:779 misc-utils/setterm.c:781
+#, c-format
+msgid "|red|magenta|yellow|white|default ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:780
+#, c-format
+msgid "  [ -background black|blue|green|cyan"
+msgstr ""
+
+#: misc-utils/setterm.c:782
+#, c-format
+msgid "  [ -ulcolor black|grey|blue|green|cyan"
+msgstr ""
+
+#: misc-utils/setterm.c:783 misc-utils/setterm.c:785 misc-utils/setterm.c:787
+#: misc-utils/setterm.c:789
+#, c-format
+msgid "|red|magenta|yellow|white ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:784
+#, c-format
+msgid "  [ -ulcolor bright blue|green|cyan"
+msgstr ""
+
+#: misc-utils/setterm.c:786
+#, c-format
+msgid "  [ -hbcolor black|grey|blue|green|cyan"
+msgstr ""
+
+#: misc-utils/setterm.c:788
+#, c-format
+msgid "  [ -hbcolor bright blue|green|cyan"
+msgstr ""
+
+#: misc-utils/setterm.c:791
+#, c-format
+msgid "  [ -standout [ attr ] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:793
+#, c-format
+msgid "  [ -inversescreen [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:794
+#, c-format
+msgid "  [ -bold [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:795
+#, c-format
+msgid "  [ -half-bright [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:796
+#, c-format
+msgid "  [ -blink [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:797
+#, c-format
+msgid "  [ -reverse [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:798
+#, c-format
+msgid "  [ -underline [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:799
+#, c-format
+msgid "  [ -store ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:800
+#, c-format
+msgid "  [ -clear [all|rest] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:801
+#, c-format
+msgid "  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n"
+msgstr ""
+
+#: misc-utils/setterm.c:802
+#, c-format
+msgid "  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n"
+msgstr ""
+
+#: misc-utils/setterm.c:803
+#, c-format
+msgid "  [ -regtabs [1-160] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:804
+#, c-format
+msgid "  [ -blank [0-60|force|poke] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:805
+#, c-format
+msgid "  [ -dump   [1-NR_CONSOLES] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:806
+#, c-format
+msgid "  [ -append [1-NR_CONSOLES] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:807
+#, c-format
+msgid "  [ -file dumpfilename ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:808
+#, c-format
+msgid "  [ -msg [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:809
+#, c-format
+msgid "  [ -msglevel [0-8] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:810
+#, c-format
+msgid "  [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:811
+#, c-format
+msgid "  [ -powerdown [0-60] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:812
+#, c-format
+msgid "  [ -blength [0-2000] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:813
+#, c-format
+msgid "  [ -bfreq freqnumber ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:1065
+#, c-format
+msgid "cannot force blank\n"
+msgstr ""
+
+#: misc-utils/setterm.c:1069
+#, c-format
+msgid "cannot force unblank\n"
+msgstr ""
+
+#: misc-utils/setterm.c:1075
+#, c-format
+msgid "cannot get blank status\n"
+msgstr ""
+
+#: misc-utils/setterm.c:1087
+#, c-format
+msgid "cannot (un)set powersave mode\n"
+msgstr ""
+
+#: misc-utils/setterm.c:1126 misc-utils/setterm.c:1134
+#, c-format
+msgid "klogctl error: %s\n"
+msgstr ""
+
+#: misc-utils/setterm.c:1200
+#, c-format
+msgid "Error writing screendump\n"
+msgstr ""
+
+#: misc-utils/setterm.c:1207
+#, c-format
+msgid "Couldn't read %s\n"
+msgstr ""
+
+#: misc-utils/setterm.c:1261
+#, c-format
+msgid "%s: $TERM is not defined.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:46
+#, c-format
+msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:48
+#, c-format
+msgid "       %s [-r|t] [-n num] [-s socketpath]\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:50
+#, c-format
+msgid "       %s -k\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:152
+msgid "bad arguments"
+msgstr ""
+
+#: misc-utils/uuidd.c:159
+msgid "socket"
+msgstr ""
+
+#: misc-utils/uuidd.c:170
+msgid "connect"
+msgstr ""
+
+#: misc-utils/uuidd.c:189
+msgid "write"
+msgstr ""
+
+#: misc-utils/uuidd.c:197
+msgid "read count"
+msgstr ""
+
+#: misc-utils/uuidd.c:203
+msgid "bad response length"
+msgstr ""
+
+#: misc-utils/uuidd.c:268
+#, c-format
+msgid "uuidd daemon already running at pid %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:276
+#, c-format
+msgid "Couldn't create unix stream socket: %s"
+msgstr ""
+
+#: misc-utils/uuidd.c:305
+#, c-format
+msgid "Couldn't bind unix socket %s: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:313
+#, c-format
+msgid "Couldn't listen on unix socket %s: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:351
+#, c-format
+msgid "Error reading from client, len = %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:359
+#, c-format
+msgid "operation %d, incoming num = %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:378
+#, c-format
+msgid "Generated time UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:388
+#, c-format
+msgid "Generated random UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:397
+#, c-format
+msgid "Generated time UUID %s and %d following\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:415
+#, c-format
+msgid "Generated %d UUID's:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:427
+#, c-format
+msgid "Invalid operation %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:468 misc-utils/uuidd.c:489
+#, c-format
+msgid "Bad number: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:524 misc-utils/uuidd.c:551
+#, c-format
+msgid "Error calling uuidd daemon (%s): %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:534
+#, c-format
+msgid "%s and subsequent %d UUID's\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:536
+#, c-format
+msgid "List of UUID's:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:557
+#, c-format
+msgid "Unexpected reply length from server %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:574
+#, c-format
+msgid "Couldn't kill uuidd running at pid %d: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:580
+#, c-format
+msgid "Killed uuidd running at pid %d\n"
+msgstr ""
+
+#: misc-utils/uuidgen.c:32
+#, c-format
+msgid "Usage: %s [-r] [-t]\n"
+msgstr ""
+
+#: misc-utils/whereis.c:159
+#, c-format
+msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
+msgstr ""
+
+#: misc-utils/write.c:101
+#, c-format
+msgid "write: can't find your tty's name\n"
+msgstr ""
+
+#: misc-utils/write.c:112
+#, c-format
+msgid "write: you have write permission turned off.\n"
+msgstr ""
+
+#: misc-utils/write.c:133
+#, c-format
+msgid "write: %s is not logged in on %s.\n"
+msgstr ""
+
+#: misc-utils/write.c:141
+#, c-format
+msgid "write: %s has messages disabled on %s\n"
+msgstr ""
+
+#: misc-utils/write.c:148
+#, c-format
+msgid "usage: write user [tty]\n"
+msgstr ""
+
+#: misc-utils/write.c:236
+#, c-format
+msgid "write: %s is not logged in\n"
+msgstr ""
+
+#: misc-utils/write.c:245
+#, c-format
+msgid "write: %s has messages disabled\n"
+msgstr ""
+
+#: misc-utils/write.c:249
+#, c-format
+msgid "write: %s is logged in more than once; writing to %s\n"
+msgstr ""
+
+#: misc-utils/write.c:317
+#, c-format
+msgid "Message from %s@%s (as %s) on %s at %s ..."
+msgstr ""
+
+#: misc-utils/write.c:320
+#, c-format
+msgid "Message from %s@%s on %s at %s ..."
+msgstr ""
+
+#: mount/fstab.c:143
+#, c-format
+msgid "warning: error reading %s: %s"
+msgstr ""
+
+#: mount/fstab.c:171 mount/fstab.c:196
+#, c-format
+msgid "warning: can't open %s: %s"
+msgstr ""
+
+#: mount/fstab.c:176
+#, c-format
+msgid "mount: could not open %s - using %s instead\n"
+msgstr ""
+
+#: mount/fstab.c:589
+#, c-format
+msgid "can't create lock file %s: %s (use -n flag to override)"
+msgstr ""
+
+#: mount/fstab.c:615
+#, c-format
+msgid "can't link lock file %s: %s (use -n flag to override)"
+msgstr ""
+
+#: mount/fstab.c:631
+#, c-format
+msgid "can't open lock file %s: %s (use -n flag to override)"
+msgstr ""
+
+#: mount/fstab.c:646
+#, c-format
+msgid "Can't lock lock file %s: %s\n"
+msgstr ""
+
+#: mount/fstab.c:660
+#, c-format
+msgid "can't lock lock file %s: %s"
+msgstr ""
+
+#: mount/fstab.c:662
+msgid "timed out"
+msgstr ""
+
+#: mount/fstab.c:669
+#, c-format
+msgid ""
+"Cannot create link %s\n"
+"Perhaps there is a stale lock file?\n"
+msgstr ""
+
+#: mount/fstab.c:791 mount/fstab.c:846
+#, c-format
+msgid "cannot open %s (%s) - mtab not updated"
+msgstr ""
+
+#: mount/fstab.c:855
+#, c-format
+msgid "error writing %s: %s"
+msgstr ""
+
+#: mount/fstab.c:873
+#, c-format
+msgid "error changing mode of %s: %s\n"
+msgstr ""
+
+#: mount/fstab.c:886
+#, c-format
+msgid "error changing owner of %s: %s\n"
+msgstr ""
+
+#: mount/fstab.c:897
+#, c-format
+msgid "can't rename %s to %s: %s\n"
+msgstr ""
+
+#: mount/lomount.c:364
+#, c-format
+msgid "loop: can't set capacity on device %s: %s\n"
+msgstr ""
+
+#: mount/lomount.c:388
+#, c-format
+msgid ", offset %<PRIu64>"
+msgstr ""
+
+#: mount/lomount.c:391
+#, c-format
+msgid ", sizelimit %<PRIu64>"
+msgstr ""
+
+#: mount/lomount.c:399
+#, c-format
+msgid ", encryption %s (type %<PRIu32>)"
+msgstr ""
+
+#: mount/lomount.c:412
+#, c-format
+msgid ", offset %d"
+msgstr ""
+
+#: mount/lomount.c:415
+#, c-format
+msgid ", encryption type %d\n"
+msgstr ""
+
+#: mount/lomount.c:423
+#, c-format
+msgid "loop: can't get info on device %s: %s\n"
+msgstr ""
+
+#: mount/lomount.c:434
+#, c-format
+msgid "loop: can't open device %s: %s\n"
+msgstr ""
+
+#: mount/lomount.c:450 mount/lomount.c:482 mount/lomount.c:544
+#: mount/lomount.c:589
+#, c-format
+msgid "%s: /dev directory does not exist."
+msgstr ""
+
+#: mount/lomount.c:461 mount/lomount.c:602
+#, c-format
+msgid "%s: no permission to look at /dev/loop%s<N>"
+msgstr ""
+
+#: mount/lomount.c:605
+#, c-format
+msgid "%s: could not find any free loop device"
+msgstr ""
+
+#: mount/lomount.c:608
+#, c-format
+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/lomount.c:638
+msgid "Out of memory while reading passphrase"
+msgstr ""
+
+#: mount/lomount.c:681
+#, c-format
+msgid "warning: %s is already associated with %s\n"
+msgstr ""
+
+#: mount/lomount.c:697
+#, c-format
+msgid "warning: %s: is write-protected, using read-only.\n"
+msgstr ""
+
+#: mount/lomount.c:733
+#, c-format
+msgid "Couldn't lock into memory, exiting.\n"
+msgstr ""
+
+#: mount/lomount.c:760
+#, c-format
+msgid "ioctl LOOP_SET_FD failed: %s\n"
+msgstr ""
+
+#: mount/lomount.c:817
+#, c-format
+msgid "set_loop(%s,%s,%llu,%llu): success\n"
+msgstr ""
+
+#: mount/lomount.c:838
+#, c-format
+msgid "del_loop(%s): success\n"
+msgstr ""
+
+#: mount/lomount.c:842
+#, c-format
+msgid "loop: can't delete device %s: %s\n"
+msgstr ""
+
+#: mount/lomount.c:853
+#, c-format
+msgid "This mount was compiled without loop support. Please recompile.\n"
+msgstr ""
+
+#: mount/lomount.c:888
+#, c-format
+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 ""
+
+#: mount/lomount.c:898
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -e | --encryption <type> enable data encryption with specified <name/num>\n"
+" -h | --help              this help\n"
+" -o | --offset <num>      start at offset <num> into file\n"
+"      --sizelimit <num>   loop limited to only <num> bytes of the file\n"
+" -p | --pass-fd <num>     read passphrase from file descriptor <num>\n"
+" -r | --read-only         setup read-only loop device\n"
+"      --show              print device name (with -f <file>)\n"
+" -v | --verbose           verbose mode\n"
+"\n"
+msgstr ""
+
+#: mount/lomount.c:1036 mount/lomount.c:1076
+#, c-format
+msgid "Loop device is %s\n"
+msgstr ""
+
+#: mount/lomount.c:1063
+#, c-format
+msgid "stolen loop=%s...trying again\n"
+msgstr ""
+
+#: mount/lomount.c:1073
+#, c-format
+msgid "%s: %s: device is busy"
+msgstr ""
+
+#: mount/lomount.c:1090
+#, c-format
+msgid "No loop support was available at compile time. Please recompile.\n"
+msgstr ""
+
+#: mount/mount.c:329
+#, c-format
+msgid "mount: improperly quoted option string '%s'"
+msgstr ""
+
+#: mount/mount.c:362
+#, c-format
+msgid "mount: translated %s '%s' to '%s'\n"
+msgstr ""
+
+#: mount/mount.c:526
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s"
+msgstr ""
+
+#: mount/mount.c:531
+#, c-format
+msgid "mount: according to mtab, %s is mounted on %s"
+msgstr ""
+
+#: mount/mount.c:555
+#, c-format
+msgid "mount: can't open %s for writing: %s"
+msgstr ""
+
+#: mount/mount.c:572 mount/mount.c:1190
+#, c-format
+msgid "mount: error writing %s: %s"
+msgstr ""
+
+#: mount/mount.c:580
+#, c-format
+msgid "mount: error changing mode of %s: %s"
+msgstr ""
+
+#: mount/mount.c:663
+#, c-format
+msgid "mount: cannot set group id: %s"
+msgstr ""
+
+#: mount/mount.c:666
+#, c-format
+msgid "mount: cannot set user id: %s"
+msgstr ""
+
+#: mount/mount.c:705 mount/mount.c:1809
+#, c-format
+msgid "mount: cannot fork: %s"
+msgstr ""
+
+#: mount/mount.c:842
+#, c-format
+msgid "Trying %s\n"
+msgstr ""
+
+#: mount/mount.c:870
+#, c-format
+msgid "mount: you didn't specify a filesystem type for %s\n"
+msgstr ""
+
+#: mount/mount.c:873
+#, c-format
+msgid "       I will try all types mentioned in %s or %s\n"
+msgstr ""
+
+#: mount/mount.c:876
+#, c-format
+msgid "       and it looks like this is swapspace\n"
+msgstr ""
+
+#: mount/mount.c:878
+#, c-format
+msgid "       I will try type %s\n"
+msgstr ""
+
+#: mount/mount.c:902
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr ""
+
+#: mount/mount.c:993
+msgid "mount failed"
+msgstr ""
+
+#: mount/mount.c:995
+#, c-format
+msgid "mount: only root can mount %s on %s"
+msgstr ""
+
+#: mount/mount.c:1065
+msgid "mount: loop device specified twice"
+msgstr ""
+
+#: mount/mount.c:1070
+msgid "mount: type specified twice"
+msgstr ""
+
+#: mount/mount.c:1082
+#, c-format
+msgid "mount: skipping the setup of a loop device\n"
+msgstr ""
+
+#: mount/mount.c:1094
+#, c-format
+msgid "mount: according to mtab %s is already mounted on %s as loop"
+msgstr ""
+
+#: mount/mount.c:1104
+#, c-format
+msgid "mount: going to use the loop device %s\n"
+msgstr ""
+
+#: mount/mount.c:1113
+#, c-format
+msgid "mount: stolen loop=%s ...trying again\n"
+msgstr ""
+
+#: mount/mount.c:1118
+#, c-format
+msgid "mount: stolen loop=%s"
+msgstr ""
+
+#: mount/mount.c:1123
+#, c-format
+msgid "mount: failed setting up loop device\n"
+msgstr ""
+
+#: mount/mount.c:1134
+#, c-format
+msgid "mount: setup loop device successfully\n"
+msgstr ""
+
+#: mount/mount.c:1168
+#, c-format
+msgid "mount: no %s found - creating it..\n"
+msgstr ""
+
+#: mount/mount.c:1185
+#, c-format
+msgid "mount: can't open %s: %s"
+msgstr ""
+
+#: mount/mount.c:1206
+msgid "mount: argument to -p or --pass-fd must be a number"
+msgstr ""
+
+#: mount/mount.c:1219
+#, c-format
+msgid "mount: cannot open %s for setting speed"
+msgstr ""
+
+#: mount/mount.c:1222
+#, c-format
+msgid "mount: cannot set speed: %s"
+msgstr ""
+
+#: mount/mount.c:1279
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s\n"
+msgstr ""
+
+#: mount/mount.c:1358
+msgid ""
+"mount: I could not determine the filesystem type, and none was specified"
+msgstr ""
+
+#: mount/mount.c:1361
+msgid "mount: you must specify the filesystem type"
+msgstr ""
+
+#: mount/mount.c:1364
+msgid "mount: mount failed"
+msgstr ""
+
+#: mount/mount.c:1370 mount/mount.c:1407
+#, c-format
+msgid "mount: mount point %s is not a directory"
+msgstr ""
+
+#: mount/mount.c:1372
+msgid "mount: permission denied"
+msgstr ""
+
+#: mount/mount.c:1374
+msgid "mount: must be superuser to use mount"
+msgstr ""
+
+#: mount/mount.c:1378 mount/mount.c:1382
+#, c-format
+msgid "mount: %s is busy"
+msgstr ""
+
+#: mount/mount.c:1384
+msgid "mount: proc already mounted"
+msgstr ""
+
+#: mount/mount.c:1386
+#, c-format
+msgid "mount: %s already mounted or %s busy"
+msgstr ""
+
+#: mount/mount.c:1392
+#, c-format
+msgid "mount: mount point %s does not exist"
+msgstr ""
+
+#: mount/mount.c:1394
+#, c-format
+msgid "mount: mount point %s is a symbolic link to nowhere"
+msgstr ""
+
+#: mount/mount.c:1399
+#, c-format
+msgid "mount: special device %s does not exist"
+msgstr ""
+
+#: mount/mount.c:1411
+#, c-format
+msgid ""
+"mount: special device %s does not exist\n"
+"       (a path prefix is not a directory)\n"
+msgstr ""
+
+#: mount/mount.c:1423
+#, c-format
+msgid "mount: %s not mounted already, or bad option"
+msgstr ""
+
+#: mount/mount.c:1425
+#, c-format
+msgid ""
+"mount: wrong fs type, bad option, bad superblock on %s,\n"
+"       missing codepage or helper program, or other error"
+msgstr ""
+
+#: mount/mount.c:1432
+msgid ""
+"       (for several filesystems (e.g. nfs, cifs) you might\n"
+"       need a /sbin/mount.<type> helper program)"
+msgstr ""
+
+#: mount/mount.c:1441
+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/mount.c:1446
+msgid ""
+"       (aren't you trying to mount an extended partition,\n"
+"       instead of some logical partition inside?)"
+msgstr ""
+
+#: mount/mount.c:1453
+msgid ""
+"       In some cases useful info is found in syslog - try\n"
+"       dmesg | tail  or so\n"
+msgstr ""
+
+#: mount/mount.c:1459
+msgid "mount table full"
+msgstr ""
+
+#: mount/mount.c:1461
+#, c-format
+msgid "mount: %s: can't read superblock"
+msgstr ""
+
+#: mount/mount.c:1467
+#, c-format
+msgid "mount: %s: unknown device"
+msgstr ""
+
+#: mount/mount.c:1472
+#, c-format
+msgid "mount: unknown filesystem type '%s'"
+msgstr ""
+
+#: mount/mount.c:1484
+#, c-format
+msgid "mount: probably you meant %s"
+msgstr ""
+
+#: mount/mount.c:1487
+msgid "mount: maybe you meant 'iso9660'?"
+msgstr ""
+
+#: mount/mount.c:1490
+msgid "mount: maybe you meant 'vfat'?"
+msgstr ""
+
+#: mount/mount.c:1493
+#, c-format
+msgid "mount: %s has wrong device number or fs type %s not supported"
+msgstr ""
+
+#: mount/mount.c:1501
+#, c-format
+msgid "mount: %s is not a block device, and stat fails?"
+msgstr ""
+
+#: mount/mount.c:1503
+#, c-format
+msgid ""
+"mount: the kernel does not recognize %s as a block device\n"
+"       (maybe `insmod driver'?)"
+msgstr ""
+
+#: mount/mount.c:1506
+#, c-format
+msgid "mount: %s is not a block device (maybe try `-o loop'?)"
+msgstr ""
+
+#: mount/mount.c:1509
+#, c-format
+msgid "mount: %s is not a block device"
+msgstr ""
+
+#: mount/mount.c:1514
+#, c-format
+msgid "mount: %s is not a valid block device"
+msgstr ""
+
+#: mount/mount.c:1517
+msgid "block device "
+msgstr ""
+
+#: mount/mount.c:1519
+#, c-format
+msgid "mount: cannot mount %s%s read-only"
+msgstr ""
+
+#: mount/mount.c:1523
+#, c-format
+msgid "mount: %s%s is write-protected but explicit `-w' flag given"
+msgstr ""
+
+#: mount/mount.c:1527
+#, c-format
+msgid "mount: cannot remount %s%s read-write, is write-protected"
+msgstr ""
+
+#: mount/mount.c:1542
+#, c-format
+msgid "mount: %s%s is write-protected, mounting read-only"
+msgstr ""
+
+#: mount/mount.c:1552
+#, c-format
+msgid "mount: no medium found on %s ...trying again\n"
+msgstr ""
+
+#: mount/mount.c:1558
+#, c-format
+msgid "mount: no medium found on %s"
+msgstr ""
+
+#: mount/mount.c:1576
+#, 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/mount.c:1655
+#, c-format
+msgid "mount: no type was given - I'll assume nfs because of the colon\n"
+msgstr ""
+
+#: mount/mount.c:1661
+#, c-format
+msgid "mount: no type was given - I'll assume cifs because of the // prefix\n"
+msgstr ""
+
+#: mount/mount.c:1756
+#, c-format
+msgid "mount: %s already mounted on %s\n"
+msgstr ""
+
+#: mount/mount.c:1890
+#, 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/mount.c:2213
+msgid "mount: only root can do that"
+msgstr ""
+
+#: mount/mount.c:2223
+msgid "nothing was mounted"
+msgstr ""
+
+#: mount/mount.c:2241 mount/mount.c:2267
+msgid "mount: no such partition found"
+msgstr ""
+
+#: mount/mount.c:2244
+#, c-format
+msgid "mount: can't find %s in %s or %s"
+msgstr ""
+
+#: mount/mount_mntent.c:165
+#, c-format
+msgid "[mntent]: warning: no final newline at the end of %s\n"
+msgstr ""
+
+#: mount/mount_mntent.c:216
+#, c-format
+msgid "[mntent]: line %d in %s is bad%s\n"
+msgstr ""
+
+#: mount/mount_mntent.c:219
+msgid "; rest of file ignored"
+msgstr ""
+
+#: mount/sundries.c:31
+msgid "bug in xstrndup call"
+msgstr ""
+
+#: mount/sundries.c:224 mount/sundries.c:280 mount/sundries.c:289
+#: mount/xmalloc.c:11
+msgid "not enough memory"
+msgstr ""
+
+#: mount/swapon.c:84
+#, c-format
+msgid ""
+"The <special> parameter:\n"
+" {-L label | LABEL=label}             LABEL of device to be used\n"
+" {-U uuid  | 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"
+"\n"
+msgstr ""
+
+#: mount/swapon.c:92
+#, c-format
+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 ""
+
+#: mount/swapon.c:106
+#, c-format
+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 ""
+
+#: mount/swapon.c:140
+#, c-format
+msgid "%s: unexpected file format"
+msgstr ""
+
+#: mount/swapon.c:184 mount/swapon.c:252 mount/swapon.c:397 mount/swapon.c:556
+#: mount/swapon.c:758
+#, c-format
+msgid "%s: open failed"
+msgstr ""
+
+#: mount/swapon.c:205
+#, c-format
+msgid "%s: reinitializing the swap."
+msgstr ""
+
+#: mount/swapon.c:209
+msgid "fork failed"
+msgstr ""
+
+#: mount/swapon.c:225
+msgid "execv failed"
+msgstr ""
+
+#: mount/swapon.c:233
+msgid "waitpid failed"
+msgstr ""
+
+#: mount/swapon.c:257
+#, c-format
+msgid "%s: lseek failed"
+msgstr ""
+
+#: mount/swapon.c:263
+#, c-format
+msgid "%s: write signature failed"
+msgstr ""
+
+#: mount/swapon.c:350
+#, c-format
+msgid "%s: found %sswap v%d signature string for %d KiB PAGE_SIZE\n"
+msgstr ""
+
+#: mount/swapon.c:370
+#, c-format
+msgid "%s: stat failed"
+msgstr ""
+
+#: mount/swapon.c:380
+#, c-format
+msgid "%s: insecure permissions %04o, %04o suggested."
+msgstr ""
+
+#: mount/swapon.c:388
+#, c-format
+msgid "%s: skipping - it appears to have holes."
+msgstr ""
+
+#: mount/swapon.c:402
+#, c-format
+msgid "%s: get size failed"
+msgstr ""
+
+#: mount/swapon.c:408
+#, c-format
+msgid "%s: read swap header failed"
+msgstr ""
+
+#: mount/swapon.c:421
+#, c-format
+msgid "%s: last_page 0x%08llx is larger than actual size of swapspace"
+msgstr ""
+
+#: mount/swapon.c:426
+#, c-format
+msgid "%s: swap format pagesize does not match."
+msgstr ""
+
+#: mount/swapon.c:431
+#, c-format
+msgid ""
+"%s: swap format pagesize does not match. (Use --fixpgsz to reinitialize it.)"
+msgstr ""
+
+#: mount/swapon.c:440
+#, c-format
+msgid "%s: software suspend data detected. Rewriting the swap signature."
+msgstr ""
+
+#: mount/swapon.c:464 mount/swapon.c:514
+#, c-format
+msgid "%s on %s\n"
+msgstr ""
+
+#: mount/swapon.c:486
+#, c-format
+msgid "%s: swapon failed"
+msgstr ""
+
+#: mount/swapon.c:493
+#, c-format
+msgid "cannot find the device for %s"
+msgstr ""
+
+#: mount/swapon.c:526
+msgid "Not superuser."
+msgstr ""
+
+#: mount/swapon.c:529
+#, c-format
+msgid "%s: swapoff failed"
+msgstr ""
+
+#: mount/umount.c:41
+#, c-format
+msgid "umount: compiled without support for -f\n"
+msgstr ""
+
+#: mount/umount.c:111
+#, c-format
+msgid "umount: cannot set group id: %s"
+msgstr ""
+
+#: mount/umount.c:114
+#, c-format
+msgid "umount: cannot set user id: %s"
+msgstr ""
+
+#: mount/umount.c:139
+#, c-format
+msgid "umount: cannot fork: %s"
+msgstr ""
+
+#: mount/umount.c:160
+#, c-format
+msgid "umount: %s: invalid block device"
+msgstr ""
+
+#: mount/umount.c:162
+#, c-format
+msgid "umount: %s: not mounted"
+msgstr ""
+
+#: mount/umount.c:164
+#, c-format
+msgid "umount: %s: can't write superblock"
+msgstr ""
+
+#: mount/umount.c:168
+#, 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/umount.c:173
+#, c-format
+msgid "umount: %s: not found"
+msgstr ""
+
+#: mount/umount.c:175
+#, c-format
+msgid "umount: %s: must be superuser to umount"
+msgstr ""
+
+#: mount/umount.c:177
+#, c-format
+msgid "umount: %s: block devices not permitted on fs"
+msgstr ""
+
+#: mount/umount.c:179
+#, c-format
+msgid "umount: %s: %s"
+msgstr ""
+
+#: mount/umount.c:235
+#, c-format
+msgid "no umount2, trying umount...\n"
+msgstr ""
+
+#: mount/umount.c:252
+#, c-format
+msgid "umount: %s busy - remounted read-only\n"
+msgstr ""
+
+#: mount/umount.c:263
+#, c-format
+msgid "umount: could not remount %s read-only\n"
+msgstr ""
+
+#: mount/umount.c:272
+#, c-format
+msgid "%s umounted\n"
+msgstr ""
+
+#: mount/umount.c:367
+msgid "umount: cannot find list of filesystems to unmount"
+msgstr ""
+
+#: mount/umount.c:397
+#, 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/umount.c:466
+#, c-format
+msgid "device %s is associated with %s\n"
+msgstr ""
+
+#: mount/umount.c:472
+#, c-format
+msgid "device %s is not associated with %s\n"
+msgstr ""
+
+#: mount/umount.c:485
+msgid "Cannot umount \"\"\n"
+msgstr ""
+
+#: mount/umount.c:491
+#, c-format
+msgid "Trying to umount %s\n"
+msgstr ""
+
+#: mount/umount.c:504
+msgid "umount: confused when analyzing mtab"
+msgstr ""
+
+#: mount/umount.c:509
+#, c-format
+msgid "umount: cannot umount %s -- %s is mounted over it on the same point."
+msgstr ""
+
+#: mount/umount.c:516
+#, c-format
+msgid "Could not find %s in mtab\n"
+msgstr ""
+
+#: mount/umount.c:523
+#, c-format
+msgid "umount: %s is not mounted (according to mtab)"
+msgstr ""
+
+#: mount/umount.c:547
+#, c-format
+msgid "umount: it seems %s is mounted multiple times"
+msgstr ""
+
+#: mount/umount.c:561
+#, c-format
+msgid "umount: %s is not in the fstab (and you are not root)"
+msgstr ""
+
+#: mount/umount.c:567
+#, c-format
+msgid "umount: %s mount disagrees with the fstab"
+msgstr ""
+
+#: mount/umount.c:608
+#, c-format
+msgid "umount: only %s can unmount %s from %s"
+msgstr ""
+
+#: mount/umount.c:695
+msgid "umount: only root can do that"
+msgstr ""
+
+#: schedutils/chrt.c:56
+#, 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"
+"\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 ""
+
+#: schedutils/chrt.c:88
+#, c-format
+msgid "failed to get pid %d's policy"
+msgstr ""
+
+#: schedutils/chrt.c:90
+#, c-format
+msgid "pid %d's %s scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:112
+#, c-format
+msgid "unknown\n"
+msgstr ""
+
+#: schedutils/chrt.c:116
+#, c-format
+msgid "failed to get pid %d's attributes"
+msgstr ""
+
+#: schedutils/chrt.c:118
+#, c-format
+msgid "pid %d's %s scheduling priority: %d\n"
+msgstr ""
+
+#: schedutils/chrt.c:147
+#, c-format
+msgid "SCHED_%s min/max priority\t: %d/%d\n"
+msgstr ""
+
+#: schedutils/chrt.c:150
+#, c-format
+msgid "SCHED_%s not supported?\n"
+msgstr ""
+
+#: schedutils/chrt.c:206
+msgid "failed to parse pid"
+msgstr ""
+
+#: schedutils/chrt.c:228
+msgid "current"
+msgstr ""
+
+#: schedutils/chrt.c:236
+msgid "failed to parse priority"
+msgstr ""
+
+#: schedutils/chrt.c:242
+#, c-format
+msgid "failed to set pid %d's policy"
+msgstr ""
+
+#: schedutils/chrt.c:251
+#, c-format
+msgid "failed to execute %s"
+msgstr ""
+
+#: schedutils/ionice.c:57
+msgid "ioprio_get failed"
+msgstr ""
+
+#: schedutils/ionice.c:75
+msgid "ioprio_set failed"
+msgstr ""
+
+#: schedutils/ionice.c:81
+#, c-format
+msgid ""
+"\n"
+"ionice - sets or gets process io scheduling class and priority.\n"
+"\n"
+"Usage:\n"
+"  ionice [ options ] -p <pid> [<pid> ...]\n"
+"  ionoce [ 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 ""
+
+#: schedutils/ionice.c:110 schedutils/ionice.c:112
+#, c-format
+msgid "cannot parse number '%s'"
+msgstr ""
+
+#: schedutils/ionice.c:151
+msgid "ignoring given class data for none class"
+msgstr ""
+
+#: schedutils/ionice.c:159
+msgid "ignoring given class data for idle class"
+msgstr ""
+
+#: schedutils/ionice.c:163
+#, c-format
+msgid "bad prio class %d"
+msgstr ""
+
+#: schedutils/ionice.c:187
+msgid "execvp failed"
+msgstr ""
+
+#: sys-utils/ctrlaltdel.c:27
+#, c-format
+msgid "You must be root to set the Ctrl-Alt-Del behaviour.\n"
+msgstr ""
+
+#: sys-utils/ctrlaltdel.c:42
+#, c-format
+msgid "Usage: ctrlaltdel hard|soft\n"
+msgstr ""
+
+#: sys-utils/cytune.c:114
+#, 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\n"
+msgstr ""
+
+#: sys-utils/cytune.c:125
+#, c-format
+msgid ""
+"File %s, For threshold value %lu and timrout value %lu, Maximum characters "
+"in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f\n"
+msgstr ""
+
+#: sys-utils/cytune.c:189
+#, c-format
+msgid "Invalid interval value: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:197
+#, c-format
+msgid "Invalid set value: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:205
+#, c-format
+msgid "Invalid default value: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:213
+#, c-format
+msgid "Invalid set time value: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:221
+#, c-format
+msgid "Invalid default time value: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:238
+#, c-format
+msgid ""
+"Usage: %s [-q [-i interval]] ([-s value]|[-S value]) ([-t value]|[-T value]) "
+"[-g|-G] file [file...]\n"
+msgstr ""
+
+#: sys-utils/cytune.c:250 sys-utils/cytune.c:269 sys-utils/cytune.c:289
+#: sys-utils/cytune.c:339
+#, c-format
+msgid "Can't open %s: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:257
+#, c-format
+msgid "Can't set %s to threshold %d: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:276
+#, c-format
+msgid "Can't set %s to time threshold %d: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:294 sys-utils/cytune.c:351 sys-utils/cytune.c:382
+#, c-format
+msgid "Can't get threshold for %s: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:300 sys-utils/cytune.c:357 sys-utils/cytune.c:388
+#, c-format
+msgid "Can't get timeout for %s: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:306
+#, c-format
+msgid "%s: %ld current threshold and %ld current timeout\n"
+msgstr ""
+
+#: sys-utils/cytune.c:309
+#, c-format
+msgid "%s: %ld default threshold and %ld default timeout\n"
+msgstr ""
+
+#: sys-utils/cytune.c:327
+msgid "Can't set signal handler"
+msgstr ""
+
+#: sys-utils/cytune.c:331 sys-utils/cytune.c:366
+msgid "gettimeofday failed"
+msgstr ""
+
+#: sys-utils/cytune.c:344 sys-utils/cytune.c:376
+#, c-format
+msgid "Can't issue CYGETMON on %s: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:418
+#, c-format
+msgid ""
+"%s: %lu ints, %lu/%lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+
+#: sys-utils/cytune.c:424
+#, c-format
+msgid "   %f int/sec; %f rec, %f send (char/sec)\n"
+msgstr ""
+
+#: sys-utils/cytune.c:429
+#, c-format
+msgid ""
+"%s: %lu ints, %lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+
+#: sys-utils/cytune.c:435
+#, c-format
+msgid "   %f int/sec; %f rec (char/sec)\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:45
+#, c-format
+msgid "Usage: %s [-c] [-n level] [-r] [-s bufsize]\n"
+msgstr ""
+
+#: sys-utils/flock.c:65
+#, c-format
+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 ""
+
+#: sys-utils/flock.c:192
+#, c-format
+msgid "%s: %s requires exactly one command argument\n"
+msgstr ""
+
+#: sys-utils/flock.c:219
+#, c-format
+msgid "%s: cannot open lock file %s: %s\n"
+msgstr ""
+
+#: sys-utils/flock.c:231
+#, c-format
+msgid "%s: bad number: %s\n"
+msgstr ""
+
+#: sys-utils/flock.c:238
+#, c-format
+msgid "%s: requires file descriptor, file or directory\n"
+msgstr ""
+
+#: sys-utils/flock.c:294
+#, c-format
+msgid "%s: fork failed: %s\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:84
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [options]\n"
+"\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:86
+#, c-format
+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 ""
+
+#: sys-utils/ipcmk.c:90
+#, c-format
+msgid ""
+"\n"
+"For more information see ipcmk(1).\n"
+"\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:142
+msgid "create share memory failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:144
+#, c-format
+msgid "Shared memory id: %d\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:150
+msgid "create message queue failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:152
+#, c-format
+msgid "Message queue id: %d\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:158
+msgid "create semaphore failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:160
+#, c-format
+msgid "Semaphore id: %d\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:66
+#, c-format
+msgid "invalid id: %s\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:84
+#, c-format
+msgid "cannot remove id %s (%s)\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:99
+#, c-format
+msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:126
+#, c-format
+msgid "unknown resource type: %s\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:130
+#, c-format
+msgid "resource(s) deleted\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:140
+#, c-format
+msgid ""
+"usage: %s [ [-q msqid] [-m shmid] [-s semid]\n"
+"          [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:181
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:193
+#, c-format
+msgid "%s: illegal key (%s)\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:208 sys-utils/ipcrm.c:240
+msgid "permission denied for key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:211 sys-utils/ipcrm.c:250
+msgid "already removed key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:214 sys-utils/ipcrm.c:245
+msgid "invalid key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:217 sys-utils/ipcrm.c:255
+msgid "unknown error in key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:241
+msgid "permission denied for id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:246
+msgid "invalid id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:251
+msgid "already removed id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:256
+msgid "unknown error in id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:259
+#, c-format
+msgid "%s: %s (%s)\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:267
+#, c-format
+msgid "%s: unknown argument: %s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:120
+#, c-format
+msgid "usage : %s -asmq -tclup \n"
+msgstr ""
+
+#: sys-utils/ipcs.c:121
+#, c-format
+msgid "\t%s [-s -m -q] -i id\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:122
+#, c-format
+msgid "\t%s -h for help.\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:128
+#, c-format
+msgid ""
+"%s provides information on ipc facilities for which you have read access.\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:130
+#, c-format
+msgid ""
+"Resource Specification:\n"
+"\t-m : shared_mem\n"
+"\t-q : messages\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:131
+#, c-format
+msgid ""
+"\t-s : semaphores\n"
+"\t-a : all (default)\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:132
+#, c-format
+msgid ""
+"Output Format:\n"
+"\t-t : time\n"
+"\t-p : pid\n"
+"\t-c : creator\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:133
+#, c-format
+msgid ""
+"\t-l : limits\n"
+"\t-u : summary\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:134
+#, c-format
+msgid "-i id [-s -q -m] : details on resource identified by id\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:258
+#, c-format
+msgid "kernel not configured for shared memory\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:264
+#, c-format
+msgid "------ Shared Memory Limits --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:269
+#, c-format
+msgid "max number of segments = %lu\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:271
+#, c-format
+msgid "max seg size (kbytes) = %lu\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:273
+#, c-format
+msgid "max total shared memory (kbytes) = %llu\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:275
+#, c-format
+msgid "min seg size (bytes) = %lu\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:280
+#, c-format
+msgid "------ Shared Memory Status --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:281
+#, c-format
+msgid "segments allocated %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:282
+#, c-format
+msgid "pages allocated %ld\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:283
+#, c-format
+msgid "pages resident  %ld\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:284
+#, c-format
+msgid "pages swapped   %ld\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:285
+#, c-format
+msgid "Swap performance: %ld attempts\t %ld successes\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:290
+#, c-format
+msgid "------ Shared Memory Segment Creators/Owners --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:298 sys-utils/ipcs.c:305
+#: sys-utils/ipcs.c:311
+msgid "shmid"
+msgstr ""
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:311 sys-utils/ipcs.c:412
+#: sys-utils/ipcs.c:427 sys-utils/ipcs.c:510 sys-utils/ipcs.c:528
+msgid "perms"
+msgstr ""
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "cuid"
+msgstr ""
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "cgid"
+msgstr ""
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "uid"
+msgstr ""
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "gid"
+msgstr ""
+
+#: sys-utils/ipcs.c:296
+#, c-format
+msgid "------ Shared Memory Attach/Detach/Change Times --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:298 sys-utils/ipcs.c:305 sys-utils/ipcs.c:311
+#: sys-utils/ipcs.c:418 sys-utils/ipcs.c:427 sys-utils/ipcs.c:516
+#: sys-utils/ipcs.c:522 sys-utils/ipcs.c:528
+msgid "owner"
+msgstr ""
+
+#: sys-utils/ipcs.c:298
+msgid "attached"
+msgstr ""
+
+#: sys-utils/ipcs.c:298
+msgid "detached"
+msgstr ""
+
+#: sys-utils/ipcs.c:299
+msgid "changed"
+msgstr ""
+
+#: sys-utils/ipcs.c:303
+#, c-format
+msgid "------ Shared Memory Creator/Last-op --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:305
+msgid "cpid"
+msgstr ""
+
+#: sys-utils/ipcs.c:305
+msgid "lpid"
+msgstr ""
+
+#: sys-utils/ipcs.c:309
+#, c-format
+msgid "------ Shared Memory Segments --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:311 sys-utils/ipcs.c:427 sys-utils/ipcs.c:528
+msgid "key"
+msgstr ""
+
+#: sys-utils/ipcs.c:311
+msgid "bytes"
+msgstr ""
+
+#: sys-utils/ipcs.c:312
+msgid "nattch"
+msgstr ""
+
+#: sys-utils/ipcs.c:312
+msgid "status"
+msgstr ""
+
+#: sys-utils/ipcs.c:333 sys-utils/ipcs.c:335 sys-utils/ipcs.c:337
+#: sys-utils/ipcs.c:448 sys-utils/ipcs.c:450 sys-utils/ipcs.c:549
+#: sys-utils/ipcs.c:551 sys-utils/ipcs.c:553 sys-utils/ipcs.c:604
+#: sys-utils/ipcs.c:606 sys-utils/ipcs.c:634 sys-utils/ipcs.c:636
+#: sys-utils/ipcs.c:638 sys-utils/ipcs.c:661
+msgid "Not set"
+msgstr ""
+
+#: sys-utils/ipcs.c:365
+msgid "dest"
+msgstr ""
+
+#: sys-utils/ipcs.c:366
+msgid "locked"
+msgstr ""
+
+#: sys-utils/ipcs.c:386
+#, c-format
+msgid "kernel not configured for semaphores\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:392
+#, c-format
+msgid "------ Semaphore Limits --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:396
+#, c-format
+msgid "max number of arrays = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:397
+#, c-format
+msgid "max semaphores per array = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:398
+#, c-format
+msgid "max semaphores system wide = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:399
+#, c-format
+msgid "max ops per semop call = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:400
+#, c-format
+msgid "semaphore max value = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:404
+#, c-format
+msgid "------ Semaphore Status --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:405
+#, c-format
+msgid "used arrays = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:406
+#, c-format
+msgid "allocated semaphores = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:410
+#, c-format
+msgid "------ Semaphore Arrays Creators/Owners --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:412 sys-utils/ipcs.c:418 sys-utils/ipcs.c:427
+msgid "semid"
+msgstr ""
+
+#: sys-utils/ipcs.c:416
+#, c-format
+msgid "------ Semaphore Operation/Change Times --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:418
+msgid "last-op"
+msgstr ""
+
+#: sys-utils/ipcs.c:418
+msgid "last-changed"
+msgstr ""
+
+#: sys-utils/ipcs.c:425
+#, c-format
+msgid "------ Semaphore Arrays --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:427
+msgid "nsems"
+msgstr ""
+
+#: sys-utils/ipcs.c:486
+#, c-format
+msgid "kernel not configured for message queues\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:494
+#, c-format
+msgid "------ Messages: Limits --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:495
+#, c-format
+msgid "max queues system wide = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:496
+#, c-format
+msgid "max size of message (bytes) = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:497
+#, c-format
+msgid "default max size of queue (bytes) = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:501
+#, c-format
+msgid "------ Messages: Status --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:502
+#, c-format
+msgid "allocated queues = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:503
+#, c-format
+msgid "used headers = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:504
+#, c-format
+msgid "used space = %d bytes\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:508
+#, c-format
+msgid "------ Message Queues: Creators/Owners --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:510 sys-utils/ipcs.c:516 sys-utils/ipcs.c:522
+#: sys-utils/ipcs.c:528
+msgid "msqid"
+msgstr ""
+
+#: sys-utils/ipcs.c:514
+#, c-format
+msgid "------ Message Queues Send/Recv/Change Times --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:516
+msgid "send"
+msgstr ""
+
+#: sys-utils/ipcs.c:516
+msgid "recv"
+msgstr ""
+
+#: sys-utils/ipcs.c:516
+msgid "change"
+msgstr ""
+
+#: sys-utils/ipcs.c:520
+#, c-format
+msgid "------ Message Queues PIDs --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:522
+msgid "lspid"
+msgstr ""
+
+#: sys-utils/ipcs.c:522
+msgid "lrpid"
+msgstr ""
+
+#: sys-utils/ipcs.c:526
+#, c-format
+msgid "------ Message Queues --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:529
+msgid "used-bytes"
+msgstr ""
+
+#: sys-utils/ipcs.c:529
+msgid "messages"
+msgstr ""
+
+#: sys-utils/ipcs.c:593
+msgid "shmctl failed"
+msgstr ""
+
+#: sys-utils/ipcs.c:595
+#, c-format
+msgid ""
+"\n"
+"Shared memory Segment shmid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:596
+#, c-format
+msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:598
+#, c-format
+msgid "mode=%#o\taccess_perms=%#o\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:600
+#, c-format
+msgid "bytes=%ld\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:603
+#, c-format
+msgid "att_time=%-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:605
+#, c-format
+msgid "det_time=%-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:607 sys-utils/ipcs.c:637
+#, c-format
+msgid "change_time=%-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:619
+msgid "msgctl failed"
+msgstr ""
+
+#: sys-utils/ipcs.c:621
+#, c-format
+msgid ""
+"\n"
+"Message Queue msqid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:622
+#, c-format
+msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:624
+#, c-format
+msgid "cbytes=%ld\tqbytes=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:633
+#, c-format
+msgid "send_time=%-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:635
+#, c-format
+msgid "rcv_time=%-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:652 sys-utils/ipcs.c:674
+msgid "semctl failed"
+msgstr ""
+
+#: sys-utils/ipcs.c:654
+#, c-format
+msgid ""
+"\n"
+"Semaphore Array semid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:655
+#, c-format
+msgid "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:657
+#, c-format
+msgid "mode=%#o, access_perms=%#o\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:659
+#, c-format
+msgid "nsems = %ld\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:660
+#, c-format
+msgid "otime = %-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:662
+#, c-format
+msgid "ctime = %-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:665
+msgid "semnum"
+msgstr ""
+
+#: sys-utils/ipcs.c:665
+msgid "value"
+msgstr ""
+
+#: sys-utils/ipcs.c:665
+msgid "ncount"
+msgstr ""
+
+#: sys-utils/ipcs.c:665
+msgid "zcount"
+msgstr ""
+
+#: sys-utils/ipcs.c:665
+msgid "pid"
+msgstr ""
+
+#: sys-utils/ldattach.c:92
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [ -dhV78neo12 ] [ -s <speed> ] <ldisc> <device>\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:94
+msgid ""
+"\n"
+"Known <ldisc> names:\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:179
+#, c-format
+msgid "invalid speed: %s"
+msgstr ""
+
+#: sys-utils/ldattach.c:182
+#, c-format
+msgid "ldattach from %s\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:187 text-utils/tailf.c:205
+msgid "invalid option"
+msgstr ""
+
+#: sys-utils/ldattach.c:199
+#, c-format
+msgid "invalid line discipline: %s"
+msgstr ""
+
+#: sys-utils/ldattach.c:207
+#, c-format
+msgid "%s is not a serial line"
+msgstr ""
+
+#: sys-utils/ldattach.c:213
+#, c-format
+msgid "cannot get terminal attributes for %s"
+msgstr ""
+
+#: sys-utils/ldattach.c:216
+#, c-format
+msgid "speed %d unsupported"
+msgstr ""
+
+#: sys-utils/ldattach.c:247
+#, c-format
+msgid "cannot set terminal attributes for %s"
+msgstr ""
+
+#: sys-utils/ldattach.c:254
+msgid "cannot set line discipline"
+msgstr ""
+
+#: sys-utils/ldattach.c:260
+msgid "cannot daemonize"
+msgstr ""
+
+#: sys-utils/lscpu.c:64
+msgid "none"
+msgstr ""
+
+#: sys-utils/lscpu.c:65
+msgid "para"
+msgstr ""
+
+#: sys-utils/lscpu.c:66
+msgid "full"
+msgstr ""
+
+#: sys-utils/lscpu.c:129 sys-utils/lscpu.c:152 sys-utils/lscpu.c:441
+#, c-format
+msgid "error: %s"
+msgstr ""
+
+#: sys-utils/lscpu.c:154
+#, c-format
+msgid "error parse: %s"
+msgstr ""
+
+#: sys-utils/lscpu.c:176
+msgid "error: strdup failed"
+msgstr ""
+
+#: sys-utils/lscpu.c:259
+msgid "error: uname failed"
+msgstr ""
+
+#: sys-utils/lscpu.c:491
+msgid "error: malloc failed"
+msgstr ""
+
+#: sys-utils/lscpu.c:506
+msgid "error: /sys filesystem is not accessable."
+msgstr ""
+
+#: sys-utils/lscpu.c:524
+#, 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"
+"# CPU,Core,Socket,Node"
+msgstr ""
+
+#: sys-utils/lscpu.c:590
+msgid "Thread(s) per core:"
+msgstr ""
+
+#: sys-utils/lscpu.c:591
+msgid "Core(s) per socket:"
+msgstr ""
+
+#: sys-utils/lscpu.c:592
+msgid "CPU socket(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:596
+msgid "NUMA node(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:598
+msgid "Vendor ID:"
+msgstr ""
+
+#: sys-utils/lscpu.c:600
+msgid "CPU family:"
+msgstr ""
+
+#: sys-utils/lscpu.c:602
+msgid "Model:"
+msgstr ""
+
+#: sys-utils/lscpu.c:604
+msgid "Stepping:"
+msgstr ""
+
+#: sys-utils/lscpu.c:606
+msgid "CPU MHz:"
+msgstr ""
+
+#: sys-utils/lscpu.c:609 sys-utils/lscpu.c:611
+msgid "Virtualization:"
+msgstr ""
+
+#: sys-utils/lscpu.c:614
+msgid "Hypervisor vendor:"
+msgstr ""
+
+#: sys-utils/lscpu.c:615
+msgid "Virtualization type:"
+msgstr ""
+
+#: sys-utils/lscpu.c:623
+#, c-format
+msgid "%s cache:"
+msgstr ""
+
+#: sys-utils/lscpu.c:631
+#, c-format
+msgid "Usage: %s [option]\n"
+msgstr ""
+
+#: sys-utils/lscpu.c:634
+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 ""
+
+#: sys-utils/lscpu.c:683
+#, c-format
+msgid "error: change working directory to %s."
+msgstr ""
+
+#: sys-utils/rdev.c:77
+msgid "usage: rdev [ -rv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]"
+msgstr ""
+
+#: sys-utils/rdev.c:78
+msgid ""
+"  rdev /dev/fd0  (or rdev /linux, etc.) displays the current ROOT device"
+msgstr ""
+
+#: sys-utils/rdev.c:79
+msgid "  rdev /dev/fd0 /dev/hda2         sets ROOT to /dev/hda2"
+msgstr ""
+
+#: sys-utils/rdev.c:80
+msgid "  rdev -R /dev/fd0 1              set the ROOTFLAGS (readonly status)"
+msgstr ""
+
+#: sys-utils/rdev.c:81
+msgid "  rdev -r /dev/fd0 627            set the RAMDISK size"
+msgstr ""
+
+#: sys-utils/rdev.c:82
+msgid "  rdev -v /dev/fd0 1              set the bootup VIDEOMODE"
+msgstr ""
+
+#: sys-utils/rdev.c:83
+msgid "  rdev -o N ...                   use the byte offset N"
+msgstr ""
+
+#: sys-utils/rdev.c:84
+msgid "  rootflags ...                   same as rdev -R"
+msgstr ""
+
+#: sys-utils/rdev.c:85
+msgid "  ramsize ...                     same as rdev -r"
+msgstr ""
+
+#: sys-utils/rdev.c:86
+msgid "  vidmode ...                     same as rdev -v"
+msgstr ""
+
+#: sys-utils/rdev.c:87
+msgid ""
+"Note: video modes are: -3=Ask, -2=Extended, -1=NormalVga, 1=key1, 2=key2,..."
+msgstr ""
+
+#: sys-utils/rdev.c:88
+msgid "      use -R 1 to mount root readonly, -R 0 for read/write."
+msgstr ""
+
+#: sys-utils/rdev.c:245
+msgid "missing comma"
+msgstr ""
+
+#: sys-utils/readprofile.c:72
+#, c-format
+msgid "out of memory"
+msgstr ""
+
+#: sys-utils/readprofile.c:118
+#, 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 ""
+
+#: sys-utils/readprofile.c:227
+#, c-format
+msgid "readprofile: error writing %s: %s\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:268
+#, c-format
+msgid "Assuming reversed byte order. Use -n to force native byte order.\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:284
+#, c-format
+msgid "Sampling_step: %i\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:305 sys-utils/readprofile.c:331
+#, c-format
+msgid "%s: %s(%i): wrong map line\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:318
+#, c-format
+msgid "%s: can't find \"_stext\" in %s\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:352
+#, c-format
+msgid "%s: profile address out of range. Wrong map file?\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:412
+msgid "total"
+msgstr ""
+
+#: sys-utils/renice.c:53
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" renice [-n] priority [-p|--pid] pid  [... pid]\n"
+" renice [-n] priority  -g|--pgrp pgrp [... pgrp]\n"
+" renice [-n] priority  -u|--user user [... user]\n"
+" renice -h | --help\n"
+" renice -v | --version\n"
+"\n"
+msgstr ""
+
+#: sys-utils/renice.c:89
+#, c-format
+msgid "renice from %s\n"
+msgstr ""
+
+#: sys-utils/renice.c:126
+#, c-format
+msgid "renice: %s: unknown user\n"
+msgstr ""
+
+#: sys-utils/renice.c:134
+#, c-format
+msgid "renice: %s: bad value\n"
+msgstr ""
+
+#: sys-utils/renice.c:152 sys-utils/renice.c:164
+msgid "getpriority"
+msgstr ""
+
+#: sys-utils/renice.c:157
+msgid "setpriority"
+msgstr ""
+
+#: sys-utils/renice.c:168
+#, c-format
+msgid "%d: old priority %d, new priority %d\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:81
+#, c-format
+msgid ""
+"usage: %s [options]\n"
+"    -d | --device <device>    select rtc device (rtc0|rtc1|...)\n"
+"    -l | --local              RTC uses local timezone\n"
+"    -m | --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"
+"    -V | --version            show version\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:140
+msgid "read rtc time"
+msgstr ""
+
+#: sys-utils/rtcwake.c:145
+msgid "read system time"
+msgstr ""
+
+#: sys-utils/rtcwake.c:163
+msgid "convert rtc time"
+msgstr ""
+
+#: sys-utils/rtcwake.c:222
+msgid "set rtc alarm"
+msgstr ""
+
+#: sys-utils/rtcwake.c:226
+msgid "enable rtc alarm"
+msgstr ""
+
+#: sys-utils/rtcwake.c:230
+msgid "set rtc wake alarm"
+msgstr ""
+
+#: sys-utils/rtcwake.c:342
+#, c-format
+msgid "%s: unrecognized suspend state '%s'\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:351
+#, c-format
+msgid "%s: illegal interval %s seconds\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:365
+#, c-format
+msgid "%s: illegal time_t value %s\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:381
+#, c-format
+msgid "%s: version %s\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:394
+#, c-format
+msgid "%s: assuming RTC uses UTC ...\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:399
+#, c-format
+msgid "Using UTC time.\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:400
+#, c-format
+msgid "Using local time.\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:403
+#, c-format
+msgid "%s: must provide wake time\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:413
+msgid "malloc() failed"
+msgstr ""
+
+#: sys-utils/rtcwake.c:425
+#, c-format
+msgid "%s: %s not enabled for wakeup events\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:441
+#, c-format
+msgid "alarm %ld, sys_time %ld, rtc_time %ld, seconds %u\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:446
+#, c-format
+msgid "%s: time doesn't go backward to %s\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:456
+#, c-format
+msgid "%s: wakeup from \"%s\" using %s at %s\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:473
+msgid "rtc read"
+msgstr ""
+
+#: sys-utils/rtcwake.c:482
+msgid "disable rtc alarm interrupt"
+msgstr ""
+
+#: sys-utils/setarch.c:50
+#, c-format
+msgid "Switching on %s.\n"
+msgstr ""
+
+#: sys-utils/setarch.c:113
+#, c-format
+msgid ""
+"Usage: %s%s [options] [program [program arguments]]\n"
+"\n"
+"Options:\n"
+msgstr ""
+
+#: sys-utils/setarch.c:117
+#, c-format
+msgid ""
+" -h, --help               displays this help text\n"
+" -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"
+msgstr ""
+
+#: sys-utils/setarch.c:131
+#, c-format
+msgid ""
+"\n"
+"For more information see setarch(8).\n"
+msgstr ""
+
+#: sys-utils/setarch.c:143
+#, c-format
+msgid ""
+"%s: %s\n"
+"Try `%s --help' for more information.\n"
+msgstr ""
+
+#: sys-utils/setarch.c:215 sys-utils/setarch.c:231
+#, c-format
+msgid "%s: Unrecognized architecture"
+msgstr ""
+
+#: sys-utils/setarch.c:249 sys-utils/setarch.c:256
+msgid "Not enough arguments"
+msgstr ""
+
+#: sys-utils/setarch.c:265 sys-utils/setarch.c:318
+#, c-format
+msgid "Failed to set personality to %s"
+msgstr ""
+
+#: sys-utils/setsid.c:26
+#, c-format
+msgid "usage: %s program [arg ...]\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:75
+#, c-format
+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 ""
+
+#: sys-utils/tunelp.c:91
+msgid "malloc error"
+msgstr ""
+
+#: sys-utils/tunelp.c:103
+#, c-format
+msgid "%s: bad value\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:242
+#, c-format
+msgid "%s: %s not an lp device.\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:263
+#, c-format
+msgid "%s status is %d"
+msgstr ""
+
+#: sys-utils/tunelp.c:264
+#, c-format
+msgid ", busy"
+msgstr ""
+
+#: sys-utils/tunelp.c:265
+#, c-format
+msgid ", ready"
+msgstr ""
+
+#: sys-utils/tunelp.c:266
+#, c-format
+msgid ", out of paper"
+msgstr ""
+
+#: sys-utils/tunelp.c:267
+#, c-format
+msgid ", on-line"
+msgstr ""
+
+#: sys-utils/tunelp.c:268
+#, c-format
+msgid ", error"
+msgstr ""
+
+#: sys-utils/tunelp.c:285
+msgid "LPGETIRQ error"
+msgstr ""
+
+#: sys-utils/tunelp.c:291
+#, c-format
+msgid "%s using IRQ %d\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:293
+#, c-format
+msgid "%s using polling\n"
+msgstr ""
+
+#: text-utils/col.c:154
+#, c-format
+msgid "col: bad -l argument %s.\n"
+msgstr ""
+
+#: text-utils/col.c:544
+#, c-format
+msgid "usage: col [-bfpx] [-l nline]\n"
+msgstr ""
+
+#: text-utils/col.c:550
+#, c-format
+msgid "col: write error.\n"
+msgstr ""
+
+#: text-utils/col.c:557
+#, c-format
+msgid "col: warning: can't back up %s.\n"
+msgstr ""
+
+#: text-utils/col.c:558
+msgid "past first line"
+msgstr ""
+
+#: text-utils/col.c:558
+msgid "-- line already flushed"
+msgstr ""
+
+#: text-utils/colcrt.c:97
+#, c-format
+msgid "usage: %s [ - ] [ -2 ] [ file ... ]\n"
+msgstr ""
+
+#: text-utils/column.c:297
+msgid "line too long"
+msgstr ""
+
+#: text-utils/column.c:374
+#, c-format
+msgid "usage: column [-tx] [-c columns] [file ...]\n"
+msgstr ""
+
+#: text-utils/hexsyntax.c:82
+#, c-format
+msgid "hexdump: bad length value.\n"
+msgstr ""
+
+#: text-utils/hexsyntax.c:93
+#, c-format
+msgid "hexdump: bad skip value.\n"
+msgstr ""
+
+#: text-utils/hexsyntax.c:131
+#, c-format
+msgid ""
+"hexdump: [-bcCdovx] [-e fmt] [-f fmt_file] [-n length] [-s skip] [file ...]\n"
+msgstr ""
+
+#: text-utils/more.c:256
+#, c-format
+msgid "usage: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n"
+msgstr ""
+
+#: text-utils/more.c:479
+#, c-format
+msgid "%s: unknown option \"-%c\"\n"
+msgstr ""
+
+#: text-utils/more.c:511
+#, c-format
+msgid ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+msgstr ""
+
+#: text-utils/more.c:555
+#, c-format
+msgid ""
+"\n"
+"******** %s: Not a text file ********\n"
+"\n"
+msgstr ""
+
+#: text-utils/more.c:658
+#, c-format
+msgid "[Use q or Q to quit]"
+msgstr ""
+
+#: text-utils/more.c:750
+#, c-format
+msgid "--More--"
+msgstr ""
+
+#: text-utils/more.c:752
+#, c-format
+msgid "(Next file: %s)"
+msgstr ""
+
+#: text-utils/more.c:757
+#, c-format
+msgid "[Press space to continue, 'q' to quit.]"
+msgstr ""
+
+#: text-utils/more.c:1172
+#, c-format
+msgid "...back %d pages"
+msgstr ""
+
+#: text-utils/more.c:1174
+msgid "...back 1 page"
+msgstr ""
+
+#: text-utils/more.c:1217
+msgid "...skipping one line"
+msgstr ""
+
+#: text-utils/more.c:1219
+#, c-format
+msgid "...skipping %d lines"
+msgstr ""
+
+#: text-utils/more.c:1256
+msgid ""
+"\n"
+"***Back***\n"
+"\n"
+msgstr ""
+
+#: text-utils/more.c:1294
+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:1301
+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:1370 text-utils/more.c:1375
+#, c-format
+msgid "[Press 'h' for instructions.]"
+msgstr ""
+
+#: text-utils/more.c:1409
+#, c-format
+msgid "\"%s\" line %d"
+msgstr ""
+
+#: text-utils/more.c:1411
+#, c-format
+msgid "[Not a file] line %d"
+msgstr ""
+
+#: text-utils/more.c:1495
+msgid "  Overflow\n"
+msgstr ""
+
+#: text-utils/more.c:1542
+msgid "...skipping\n"
+msgstr ""
+
+#: text-utils/more.c:1571
+msgid "Regular expression botch"
+msgstr ""
+
+#: text-utils/more.c:1579
+msgid ""
+"\n"
+"Pattern not found\n"
+msgstr ""
+
+#: text-utils/more.c:1582 text-utils/pg.c:1124 text-utils/pg.c:1275
+msgid "Pattern not found"
+msgstr ""
+
+#: text-utils/more.c:1643
+msgid "can't fork\n"
+msgstr ""
+
+#: text-utils/more.c:1682
+msgid ""
+"\n"
+"...Skipping "
+msgstr ""
+
+#: text-utils/more.c:1686
+msgid "...Skipping to file "
+msgstr ""
+
+#: text-utils/more.c:1688
+msgid "...Skipping back to file "
+msgstr ""
+
+#: text-utils/more.c:1966
+msgid "Line too long"
+msgstr ""
+
+#: text-utils/more.c:2009
+msgid "No previous command to substitute for"
+msgstr ""
+
+#: text-utils/odsyntax.c:130
+#, c-format
+msgid "od: od(1) has been deprecated for hexdump(1).\n"
+msgstr ""
+
+#: text-utils/odsyntax.c:133
+#, c-format
+msgid "od: hexdump(1) compatibility doesn't support the -%c option%s\n"
+msgstr ""
+
+#: text-utils/odsyntax.c:134
+msgid "; see strings(1)."
+msgstr ""
+
+#: text-utils/parse.c:63
+#, c-format
+msgid "hexdump: can't read %s.\n"
+msgstr ""
+
+#: text-utils/parse.c:68
+#, c-format
+msgid "hexdump: line too long.\n"
+msgstr ""
+
+#: text-utils/parse.c:401
+#, c-format
+msgid "hexdump: byte count with multiple conversion characters.\n"
+msgstr ""
+
+#: text-utils/parse.c:483
+#, c-format
+msgid "hexdump: bad byte count for conversion character %s.\n"
+msgstr ""
+
+#: text-utils/parse.c:490
+#, c-format
+msgid "hexdump: %%s requires a precision or a byte count.\n"
+msgstr ""
+
+#: text-utils/parse.c:496
+#, c-format
+msgid "hexdump: bad format {%s}\n"
+msgstr ""
+
+#: text-utils/parse.c:502
+#, c-format
+msgid "hexdump: bad conversion character %%%s.\n"
+msgstr ""
+
+#: text-utils/pg.c:145
+msgid ""
+"All rights reserved.\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"
+msgstr ""
+
+#: text-utils/pg.c:223
+msgid "Out of memory\n"
+msgstr ""
+
+#: text-utils/pg.c:236
+#, c-format
+msgid ""
+"%s: Usage: %s [-number] [-p string] [-cefnrs] [+line] [+/pattern/] [files]\n"
+msgstr ""
+
+#: text-utils/pg.c:245
+#, c-format
+msgid "%s: option requires an argument -- %s\n"
+msgstr ""
+
+#: text-utils/pg.c:253
+#, c-format
+msgid "%s: illegal option -- %s\n"
+msgstr ""
+
+#: text-utils/pg.c:370
+msgid "...skipping forward\n"
+msgstr ""
+
+#: text-utils/pg.c:372
+msgid "...skipping backward\n"
+msgstr ""
+
+#: text-utils/pg.c:394
+msgid "No next file"
+msgstr ""
+
+#: text-utils/pg.c:398
+msgid "No previous file"
+msgstr ""
+
+#: text-utils/pg.c:928
+#, c-format
+msgid "%s: Read error from %s file\n"
+msgstr ""
+
+#: text-utils/pg.c:934
+#, c-format
+msgid "%s: Unexpected EOF in %s file\n"
+msgstr ""
+
+#: text-utils/pg.c:937
+#, c-format
+msgid "%s: Unknown error in %s file\n"
+msgstr ""
+
+#: text-utils/pg.c:1032
+#, c-format
+msgid "%s: Cannot create tempfile\n"
+msgstr ""
+
+#: text-utils/pg.c:1041 text-utils/pg.c:1216 text-utils/pg.c:1243
+msgid "RE error: "
+msgstr ""
+
+#: text-utils/pg.c:1198
+msgid "(EOF)"
+msgstr ""
+
+#: text-utils/pg.c:1224 text-utils/pg.c:1251
+msgid "No remembered search string"
+msgstr ""
+
+#: text-utils/pg.c:1307
+msgid "Cannot open "
+msgstr ""
+
+#: text-utils/pg.c:1355
+msgid "saved"
+msgstr ""
+
+#: text-utils/pg.c:1462
+msgid ": !command not allowed in rflag mode.\n"
+msgstr ""
+
+#: text-utils/pg.c:1494
+msgid "fork() failed, try again later\n"
+msgstr ""
+
+#: text-utils/pg.c:1702
+msgid "(Next file: "
+msgstr ""
+
+#: text-utils/rev.c:113
+msgid "unable to allocate bufferspace"
+msgstr ""
+
+#: text-utils/rev.c:143
+#, c-format
+msgid "usage: rev [file ...]\n"
+msgstr ""
+
+#: text-utils/tailf.c:57 text-utils/tailf.c:92
+#, c-format
+msgid "cannot open \"%s\" for read"
+msgstr ""
+
+#: text-utils/tailf.c:95 text-utils/tailf.c:214
+#, c-format
+msgid "cannot stat \"%s\""
+msgstr ""
+
+#: text-utils/tailf.c:108
+#, c-format
+msgid "incomplete write to \"%s\" (written %zd, expected %zd)\n"
+msgstr ""
+
+#: text-utils/tailf.c:146
+#, c-format
+msgid "%s: cannot add inotify watch (limit of inotify watches was reached)."
+msgstr ""
+
+#: text-utils/tailf.c:150
+#, c-format
+msgid "%s: cannot add inotify watch."
+msgstr ""
+
+#: text-utils/tailf.c:159
+#, c-format
+msgid "%s: cannot read inotify events"
+msgstr ""
+
+#: text-utils/tailf.c:198 text-utils/tailf.c:202
+msgid "invalid number of lines"
+msgstr ""
+
+#: text-utils/tailf.c:209
+msgid "usage: tailf [-n N | -N] logfile"
+msgstr ""
+
+#: text-utils/ul.c:141
+#, c-format
+msgid "usage: %s [ -i ] [ -tTerm ] file...\n"
+msgstr ""
+
+#: text-utils/ul.c:152
+#, c-format
+msgid "trouble reading terminfo"
+msgstr ""
+
+#: text-utils/ul.c:242
+#, c-format
+msgid "Unknown escape sequence in input: %o, %o\n"
+msgstr ""
+
+#: text-utils/ul.c:425
+#, c-format
+msgid "Unable to allocate buffer.\n"
+msgstr ""
+
+#: text-utils/ul.c:586
+#, c-format
+msgid "Input line too long.\n"
+msgstr ""
+
+#: text-utils/ul.c:599
+#, c-format
+msgid "Out of memory when growing buffer.\n"
+msgstr ""
diff --git a/po/vi.gmo b/po/vi.gmo
new file mode 100644 (file)
index 0000000..495f2c2
Binary files /dev/null and b/po/vi.gmo differ
diff --git a/po/vi.po b/po/vi.po
new file mode 100644 (file)
index 0000000..30a8aba
--- /dev/null
+++ b/po/vi.po
@@ -0,0 +1,11923 @@
+# Vietnamese translation for Util-Linux-NG.
+# Copyright © 2009 Free Software Foundation, Inc.
+# This file is distributed under the same license as the util-linux-ng package.
+# Phan Vinh Thinh <teppi82@gmail.com>, 2005-2007
+# Clytie Siddall <clytie@riverland.net.au>, 2007-2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: util-linux-ng 2.16-rc2\n"
+"Report-Msgid-Bugs-To: Karel Zak <kzak@redhat.com>\n"
+"POT-Creation-Date: 2009-11-30 16:27+0100\n"
+"PO-Revision-Date: 2009-09-19 18:16+0930\n"
+"Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
+"Language-Team: Vietnamese <vi-VN@googlegroups.com>\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"
+
+#: disk-utils/blockdev.c:37
+msgid "set read-only"
+msgstr "đặt chỉ đọc"
+
+#: disk-utils/blockdev.c:38
+msgid "set read-write"
+msgstr "đặt đọc-viết"
+
+#: disk-utils/blockdev.c:39
+msgid "get read-only"
+msgstr "lấy chỉ đọc"
+
+#: disk-utils/blockdev.c:40
+msgid "get sectorsize"
+msgstr "lấy kích cỡ rãnh ghi"
+
+#: disk-utils/blockdev.c:41
+msgid "get blocksize"
+msgstr "lấy kích cỡ khối"
+
+#: disk-utils/blockdev.c:42
+msgid "set blocksize"
+msgstr "đặt kích cỡ khối"
+
+#: disk-utils/blockdev.c:43
+msgid "get 32-bit sector count"
+msgstr "lấy số rãnh ghi 32 bit"
+
+#: disk-utils/blockdev.c:44
+msgid "get size in bytes"
+msgstr "lấy kích cỡ theo byte"
+
+#: disk-utils/blockdev.c:45
+msgid "set readahead"
+msgstr "đặt đọc sẵn"
+
+#: disk-utils/blockdev.c:46
+msgid "get readahead"
+msgstr "lấy đọc sẵn"
+
+#: disk-utils/blockdev.c:47
+msgid "set filesystem readahead"
+msgstr "đặt đọc sẵn cho hệ thống tập tin"
+
+#: disk-utils/blockdev.c:48
+msgid "get filesystem readahead"
+msgstr "lấy đọc sẵn cho hệ thống tập tin"
+
+#: disk-utils/blockdev.c:49
+msgid "flush buffers"
+msgstr "làm tràn bộ đệm"
+
+#: disk-utils/blockdev.c:51
+msgid "reread partition table"
+msgstr "đọc lại bảng phân vùng"
+
+#: disk-utils/blockdev.c:60
+#, c-format
+msgid "Usage:\n"
+msgstr "Sử dụng:\n"
+
+#: disk-utils/blockdev.c:62
+#, c-format
+msgid "  %s --report [devices]\n"
+msgstr "  %s --report [thiết bị]\n"
+
+#: disk-utils/blockdev.c:63
+#, c-format
+msgid "  %s [-v|-q] commands devices\n"
+msgstr "  %s [-v|-q] câu_lệnh thiết_bị\n"
+
+#: disk-utils/blockdev.c:66
+#, c-format
+msgid "Available commands:\n"
+msgstr "Những câu lệnh có :\n"
+
+#: disk-utils/blockdev.c:68
+msgid "get size in 512-byte sectors"
+msgstr "lấy kích cỡ theo phần 512 byte"
+
+#: disk-utils/blockdev.c:201
+#, c-format
+msgid "%s: Unknown command: %s\n"
+msgstr "%s: Câu lệnh không rõ : %s\n"
+
+#: disk-utils/blockdev.c:213 disk-utils/blockdev.c:222
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s yêu cầu một tham số\n"
+
+#: disk-utils/blockdev.c:255
+#, c-format
+msgid "%s failed.\n"
+msgstr "%s bị lỗi.\n"
+
+#: disk-utils/blockdev.c:292
+#, c-format
+msgid "%s succeeded.\n"
+msgstr "%s thành công.\n"
+
+#: disk-utils/blockdev.c:310 disk-utils/blockdev.c:338
+#, c-format
+msgid "%s: cannot open %s\n"
+msgstr "%s: không thể mở %s\n"
+
+#: disk-utils/blockdev.c:355
+#, c-format
+msgid "%s: ioctl error on %s\n"
+msgstr "%s: lỗi ioctl trên %s\n"
+
+#: disk-utils/blockdev.c:364
+#, c-format
+msgid "RO    RA   SSZ   BSZ   StartSec            Size   Device\n"
+msgstr "RO    RA   SSZ   BSZ   RãnhĐầu     \t    Cỡ    Thiết bị\n"
+
+#: disk-utils/elvtune.c:48
+#, c-format
+msgid "usage:\n"
+msgstr "sử dụng:\n"
+
+#: disk-utils/elvtune.c:53
+#, c-format
+msgid "\tNOTE: elvtune only works with 2.4 kernels\n"
+msgstr "\tGHI CHÚ : elvtune chỉ hoạt động với hạt nhân kiểu 2.4\n"
+
+#: disk-utils/elvtune.c:104
+#, c-format
+msgid "parse error\n"
+msgstr "lỗi phân tích cú pháp\n"
+
+#: disk-utils/elvtune.c:110
+#, c-format
+msgid "missing blockdevice, use -h for help\n"
+msgstr "thiếu thiết bị khối (gõ « -h » để thấy trợ giúp)\n"
+
+#: disk-utils/elvtune.c:131
+#, 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ỉ có ích với hạt nhân cũ ;\n"
+"đối với hạt nhâ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:31
+#, c-format
+msgid "Formatting ... "
+msgstr "Đang định dạng ... "
+
+#: disk-utils/fdformat.c:49 disk-utils/fdformat.c:86
+#, c-format
+msgid "done\n"
+msgstr "hoàn tất\n"
+
+#: disk-utils/fdformat.c:60
+#, 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:80
+#, c-format
+msgid ""
+"bad data in cyl %d\n"
+"Continuing ... "
+msgstr ""
+"dữ liệu xấu tại hình trụ %d\n"
+"Đang tiếp tục ... "
+
+#: disk-utils/fdformat.c:96
+#, c-format
+msgid "usage: %s [ -n ] device\n"
+msgstr "sử dụng: %s [ -n ] thiết bị\n"
+
+#: disk-utils/fdformat.c:118 disk-utils/fsck.minix.c:1282
+#: disk-utils/isosize.c:181 disk-utils/mkfs.bfs.c:115 disk-utils/mkfs.c:52
+#: disk-utils/mkfs.cramfs.c:813 disk-utils/mkfs.minix.c:571
+#: disk-utils/mkswap.c:461 misc-utils/ddate.c:179 misc-utils/rename.c:79
+#: misc-utils/script.c:147 sys-utils/readprofile.c:197
+#, c-format
+msgid "%s (%s)\n"
+msgstr "%s (%s)\n"
+
+#: disk-utils/fdformat.c:132
+#, c-format
+msgid "%s: not a block device\n"
+msgstr "%s: không phải là thiết bị khối\n"
+
+#: disk-utils/fdformat.c:142
+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:143
+#, 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:144
+msgid "Double"
+msgstr "Đôi"
+
+#: disk-utils/fdformat.c:144
+msgid "Single"
+msgstr "Đơn"
+
+#: disk-utils/fsck.cramfs.c:118
+#, c-format
+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"
+
+#: disk-utils/fsck.cramfs.c:164
+#, c-format
+msgid "stat failed: %s"
+msgstr "lỗi lấy trạng thái: %s"
+
+#: disk-utils/fsck.cramfs.c:168 disk-utils/fsck.cramfs.c:552
+#, c-format
+msgid "open failed: %s"
+msgstr "lỗi mở : %s"
+
+#: disk-utils/fsck.cramfs.c:173
+#, 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:181
+#, 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:185 disk-utils/fsck.cramfs.c:227
+msgid "file length too short"
+msgstr "chiều dài tập tin quá ngắn"
+
+#: disk-utils/fsck.cramfs.c:190 disk-utils/fsck.cramfs.c:198
+#: disk-utils/fsck.cramfs.c:259 disk-utils/fsck.cramfs.c:279
+#, c-format
+msgid "read failed: %s"
+msgstr "lỗi đọc: %s"
+
+#: disk-utils/fsck.cramfs.c:208
+msgid "superblock magic not found"
+msgstr "không tìm thấy ma thuật siêu khối"
+
+#: disk-utils/fsck.cramfs.c:217
+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:220
+#, c-format
+msgid "superblock size (%d) too small"
+msgstr "kích cỡ siêu khối (%d) quá nhỏ"
+
+#: disk-utils/fsck.cramfs.c:224
+msgid "zero file count"
+msgstr "đếm số không tập tin"
+
+#: disk-utils/fsck.cramfs.c:230
+#, 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:234
+#, c-format
+msgid "warning: old cramfs format\n"
+msgstr "cảnh báo : định dạng cramfs cũ\n"
+
+#: disk-utils/fsck.cramfs.c:247
+msgid "unable to test CRC: old cramfs format"
+msgstr "không thể thử CRC: định dạng cramfs cũ"
+
+#: disk-utils/fsck.cramfs.c:273 disk-utils/fsck.cramfs.c:340
+#: disk-utils/fsck.cramfs.c:478 login-utils/chfn.c:529 login-utils/chsh.c:439
+#: sys-utils/cytune.c:321
+msgid "malloc failed"
+msgstr "malloc không thành công"
+
+#: disk-utils/fsck.cramfs.c:298
+msgid "crc error"
+msgstr "lỗi crc"
+
+#: disk-utils/fsck.cramfs.c:365
+msgid "root inode is not directory"
+msgstr "inode gốc không phải thư mục"
+
+#: disk-utils/fsck.cramfs.c:370
+#, c-format
+msgid "bad root offset (%lu)"
+msgstr "hiệu gốc sai (%lu)"
+
+#: disk-utils/fsck.cramfs.c:388
+msgid "data block too large"
+msgstr "khối dữ liệu quá lớn"
+
+#: disk-utils/fsck.cramfs.c:392
+#, c-format
+msgid "decompression error %p(%d): %s"
+msgstr "lỗi giải nén %p(%d): %s"
+
+#: disk-utils/fsck.cramfs.c:416
+#, c-format
+msgid "  hole at %ld (%zd)\n"
+msgstr "  gặp lỗ ở %ld (%zd)\n"
+
+#: disk-utils/fsck.cramfs.c:424 disk-utils/fsck.cramfs.c:596
+#, 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:430
+#, c-format
+msgid "non-block (%ld) bytes"
+msgstr "khác khối (%ld) byte"
+
+#: disk-utils/fsck.cramfs.c:434
+#, c-format
+msgid "non-size (%ld vs %ld) bytes"
+msgstr "khác kích cỡ (%ld vs %ld) byte"
+
+#: disk-utils/fsck.cramfs.c:440
+#, c-format
+msgid "write failed: %s"
+msgstr "lỗi ghi: %s"
+
+#: disk-utils/fsck.cramfs.c:453
+#, c-format
+msgid "lchown failed: %s"
+msgstr "lchown bị lỗi: %s"
+
+#: disk-utils/fsck.cramfs.c:459
+#, c-format
+msgid "chown failed: %s"
+msgstr "chown bị lỗi: %s"
+
+#: disk-utils/fsck.cramfs.c:466
+#, c-format
+msgid "utime failed: %s"
+msgstr "utime bị lỗi: %s"
+
+#: disk-utils/fsck.cramfs.c:481
+#, 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:495
+#, c-format
+msgid "mkdir failed: %s"
+msgstr "mkdir bị lỗi: %s"
+
+#: disk-utils/fsck.cramfs.c:512
+msgid "filename length is zero"
+msgstr "tập tin có tên dài số không"
+
+#: disk-utils/fsck.cramfs.c:515
+msgid "bad filename length"
+msgstr "tập tin có tên dài sai"
+
+#: disk-utils/fsck.cramfs.c:522
+msgid "bad inode offset"
+msgstr "hiệu inode sai"
+
+#: disk-utils/fsck.cramfs.c:538
+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:541
+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:572
+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:575
+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:587
+#, 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:602
+#, c-format
+msgid "symlink failed: %s"
+msgstr "liên kết tượng trưng bị lỗi: %s"
+
+#: disk-utils/fsck.cramfs.c:614
+#, 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:626
+#, 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:632
+#, c-format
+msgid "socket has non-zero size: %s"
+msgstr "ổ cắm có kích cỡ khác số không: %s"
+
+#: disk-utils/fsck.cramfs.c:637
+#, c-format
+msgid "bogus mode: %s (%o)"
+msgstr "chế độ giả: %s (%o)"
+
+#: disk-utils/fsck.cramfs.c:647
+#, c-format
+msgid "mknod failed: %s"
+msgstr "mknod bị lỗiT: %s"
+
+#: disk-utils/fsck.cramfs.c:683
+#, 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:686
+#, 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:691
+msgid "invalid file data offset"
+msgstr "sai đặt hiệu dữ liệu tập tin"
+
+#: disk-utils/fsck.cramfs.c:715
+msgid "failed to allocate outbuffer"
+msgstr "lỗi phân cấp vùng đệm ra"
+
+#: disk-utils/fsck.cramfs.c:728
+msgid "compiled without -x support"
+msgstr "biên dịch mà không hỗ trợ -x"
+
+#: disk-utils/fsck.minix.c:210
+#, c-format
+msgid "Usage: %s [-larvsmf] /dev/name\n"
+msgstr "Sử dụng: %s [-larvsmf] /dev/TÊN\n"
+
+#: disk-utils/fsck.minix.c:326
+#, c-format
+msgid "%s is mounted.\t "
+msgstr "%s đã được gắn.\t "
+
+#: disk-utils/fsck.minix.c:328
+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:332
+#, c-format
+msgid "check aborted.\n"
+msgstr "kiểm tra bị dừng.\n"
+
+#: disk-utils/fsck.minix.c:351 disk-utils/fsck.minix.c:374
+#, 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:355 disk-utils/fsck.minix.c:378
+#, 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:360 disk-utils/fsck.minix.c:383
+msgid "Remove block"
+msgstr "Xoá khối"
+
+#: disk-utils/fsck.minix.c:401
+#, 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:407
+#, 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:422
+#, 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:428 disk-utils/mkfs.minix.c:209
+msgid "seek failed in write_block"
+msgstr "tìm kiếm bị lỗi trong ghi_khối"
+
+#: disk-utils/fsck.minix.c:431
+#, 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:547
+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:549 disk-utils/mkfs.minix.c:196
+msgid "unable to write super-block"
+msgstr "không thể ghi siêu khối"
+
+#: disk-utils/fsck.minix.c:559
+msgid "Unable to write inode map"
+msgstr "Không thể ghi sơ đồ inode"
+
+#: disk-utils/fsck.minix.c:561
+msgid "Unable to write zone map"
+msgstr "Không thể ghi sơ đồ vùng"
+
+#: disk-utils/fsck.minix.c:563
+msgid "Unable to write inodes"
+msgstr "Không thể ghi các inode"
+
+#: disk-utils/fsck.minix.c:590
+msgid "seek failed"
+msgstr "tìm nơi bị lỗi"
+
+#: disk-utils/fsck.minix.c:592
+msgid "unable to read super block"
+msgstr "không thể đọc siêu khối"
+
+#: disk-utils/fsck.minix.c:610
+msgid "bad magic number in super-block"
+msgstr "số magic xấu trong siêu khối"
+
+#: disk-utils/fsck.minix.c:612
+msgid "Only 1k blocks/zones supported"
+msgstr "Chỉ hỗ trợ khối/vùng 1k"
+
+#: disk-utils/fsck.minix.c:614
+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:616
+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:623
+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:626
+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:631
+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:634
+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:637
+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:639
+msgid "Unable to read inode map"
+msgstr "Không thể đọc sơ đồ inode"
+
+#: disk-utils/fsck.minix.c:641
+msgid "Unable to read zone map"
+msgstr "Không thể đọc sơ đồ vùng"
+
+#: disk-utils/fsck.minix.c:643
+msgid "Unable to read inodes"
+msgstr "Không thể đọc các inode"
+
+#: disk-utils/fsck.minix.c:645
+#, c-format
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr "Cảnh báo : Firstzone != Norm_firstzone\n"
+
+#: disk-utils/fsck.minix.c:650 disk-utils/mkfs.minix.c:450
+#, c-format
+msgid "%ld inodes\n"
+msgstr "%ld inode\n"
+
+#: disk-utils/fsck.minix.c:651 disk-utils/mkfs.minix.c:451
+#, c-format
+msgid "%ld blocks\n"
+msgstr "%ld khối\n"
+
+#: disk-utils/fsck.minix.c:652 disk-utils/mkfs.minix.c:452
+#, c-format
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr "Vùng_dữ_liệu_đầu_tiên=%ld (%ld)\n"
+
+#: disk-utils/fsck.minix.c:653 disk-utils/mkfs.minix.c:453
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr "Cỡ_vùng=%d\n"
+
+#: disk-utils/fsck.minix.c:654
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr "Cỡ_tối_đa=%ld\n"
+
+#: disk-utils/fsck.minix.c:655
+#, 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:656
+#, c-format
+msgid ""
+"namelen=%d\n"
+"\n"
+msgstr ""
+"độ_dài_tên=%d\n"
+"\n"
+
+#: disk-utils/fsck.minix.c:671 disk-utils/fsck.minix.c:722
+#, 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:675 disk-utils/fsck.minix.c:726
+msgid "Mark in use"
+msgstr "Dấu được dùng"
+
+#: disk-utils/fsck.minix.c:697 disk-utils/fsck.minix.c:746
+#, c-format
+msgid "The file `%s' has mode %05o\n"
+msgstr "Tập tin `%s' có chế độ %05o\n"
+
+#: disk-utils/fsck.minix.c:704 disk-utils/fsck.minix.c:752
+#, 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:764 disk-utils/fsck.minix.c:772
+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:786 disk-utils/fsck.minix.c:819
+#, 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:788 disk-utils/fsck.minix.c:821
+#: disk-utils/fsck.minix.c:1144 disk-utils/fsck.minix.c:1153
+#: disk-utils/fsck.minix.c:1199 disk-utils/fsck.minix.c:1208
+msgid "Clear"
+msgstr "Xóa"
+
+#: disk-utils/fsck.minix.c:798 disk-utils/fsck.minix.c:831
+#, 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:800 disk-utils/fsck.minix.c:833
+msgid "Correct"
+msgstr "Sửa"
+
+#: disk-utils/fsck.minix.c:972 disk-utils/fsck.minix.c:1039
+#, 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:975 disk-utils/fsck.minix.c:1042
+msgid " Remove"
+msgstr " Bỏ"
+
+#: disk-utils/fsck.minix.c:989 disk-utils/fsck.minix.c:1056
+#, 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:997 disk-utils/fsck.minix.c:1065
+#, 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:1099 disk-utils/fsck.minix.c:1117
+msgid "internal error"
+msgstr "lỗi nội bộ"
+
+#: disk-utils/fsck.minix.c:1102 disk-utils/fsck.minix.c:1120
+#, c-format
+msgid "%s: bad directory: size < 32"
+msgstr "%s: thư mục xấu : kích cỡ < 32"
+
+#: disk-utils/fsck.minix.c:1133
+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:1143 disk-utils/fsck.minix.c:1198
+#, c-format
+msgid "Inode %d mode not cleared."
+msgstr "Chưa xóa chế độ inode %d."
+
+#: disk-utils/fsck.minix.c:1152 disk-utils/fsck.minix.c:1207
+#, c-format
+msgid "Inode %d not used, marked used in the bitmap."
+msgstr "Chưa sử dụng inode %d, còn đánh dấu « đã dùng » trong ảnh mảng."
+
+#: disk-utils/fsck.minix.c:1158 disk-utils/fsck.minix.c:1213
+#, c-format
+msgid "Inode %d used, marked unused in the bitmap."
+msgstr "Đã sử dụng inode %d, còn đánh dấu « chưa dùng » trong ảnh mảng."
+
+#: disk-utils/fsck.minix.c:1160 disk-utils/fsck.minix.c:1214
+msgid "Set"
+msgstr "Đặt"
+
+#: disk-utils/fsck.minix.c:1164 disk-utils/fsck.minix.c:1218
+#, c-format
+msgid "Inode %d (mode = %07o), i_nlinks=%d, counted=%d."
+msgstr "Inode %d (chế độ = %07o), i_nlinks=%d, đếm=%d."
+
+#: disk-utils/fsck.minix.c:1166 disk-utils/fsck.minix.c:1220
+msgid "Set i_nlinks to count"
+msgstr "Đặt i_nlinks cho số đếm"
+
+#: disk-utils/fsck.minix.c:1178 disk-utils/fsck.minix.c:1232
+#, c-format
+msgid "Zone %d: marked in use, no file uses it."
+msgstr "Vùng %d: được đánh dấu là đang dùng, không tập tin nào dùng nó."
+
+#: disk-utils/fsck.minix.c:1179 disk-utils/fsck.minix.c:1234
+msgid "Unmark"
+msgstr "Bỏ đánh dấu"
+
+#: disk-utils/fsck.minix.c:1184 disk-utils/fsck.minix.c:1239
+#, c-format
+msgid "Zone %d: in use, counted=%d\n"
+msgstr "Vùng %d: đang dùng, đếm=%d\n"
+
+#: disk-utils/fsck.minix.c:1187 disk-utils/fsck.minix.c:1242
+#, c-format
+msgid "Zone %d: not in use, counted=%d\n"
+msgstr "Vùng %d: không dùng, đếm=%d\n"
+
+#: disk-utils/fsck.minix.c:1287 disk-utils/mkfs.minix.c:576
+#: disk-utils/mkfs.minix.c:578
+msgid "bad inode size"
+msgstr "kích cỡ inode xấu"
+
+#: disk-utils/fsck.minix.c:1289
+msgid "bad v2 inode size"
+msgstr "kích cỡ inode v2 xấu"
+
+#: disk-utils/fsck.minix.c:1315
+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:1319
+#, c-format
+msgid "unable to open '%s': %s"
+msgstr "không mở được « %s »: %s"
+
+#: disk-utils/fsck.minix.c:1334
+#, 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:1338
+#, 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:1340
+#, 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:1373
+#, c-format
+msgid ""
+"\n"
+"%6ld inodes used (%ld%%)\n"
+msgstr ""
+"\n"
+"%6ld inode được dùng (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1378
+#, c-format
+msgid "%6ld zones used (%ld%%)\n"
+msgstr "%6ld vùng được dùng (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1380
+#, 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:1393
+#, 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 "%s: failed to open: %s\n"
+msgstr "%s: không mở được: %s\n"
+
+#: disk-utils/isosize.c:135
+#, c-format
+msgid "%s: seek error on %s\n"
+msgstr "%s: lỗi tìm nơi trên %s\n"
+
+#: disk-utils/isosize.c:141
+#, c-format
+msgid "%s: read error on %s\n"
+msgstr "%s: lỗi đọc trên %s\n"
+
+#: disk-utils/isosize.c:150
+#, 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:200
+#, c-format
+msgid "%s: option parse error\n"
+msgstr "%s: lỗi phân tích tùy chọn\n"
+
+#: disk-utils/isosize.c:208
+#, c-format
+msgid "Usage: %s [-x] [-d <num>] iso9660-image\n"
+msgstr "Sử dụng: %s [-x] [-d <số>] tập-tin-ảnh-iso9660\n"
+
+#: disk-utils/mkfs.bfs.c:84
+#, c-format
+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"
+
+#: disk-utils/mkfs.bfs.c:131
+msgid "volume name too long"
+msgstr "tên khối tin quá dài"
+
+#: disk-utils/mkfs.bfs.c:138
+msgid "fsname name too long"
+msgstr "tên hệ thống tập tin quá dài"
+
+#: disk-utils/mkfs.bfs.c:163
+#, c-format
+msgid "cannot stat device %s"
+msgstr "không thể lấy trạng thái về thiết bị %s"
+
+#: disk-utils/mkfs.bfs.c:167
+#, 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:172 sys-utils/ldattach.c:205
+#, c-format
+msgid "cannot open %s"
+msgstr "không mở được %s"
+
+#: disk-utils/mkfs.bfs.c:183
+#, c-format
+msgid "cannot get size of %s"
+msgstr "không lấy được kích cỡ %s"
+
+#: disk-utils/mkfs.bfs.c:188
+#, 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:203
+msgid "too many inodes - max is 512"
+msgstr "quá nhiều inode - tối đa 512"
+
+#: disk-utils/mkfs.bfs.c:212
+#, 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:224 fdisk/fdisk.c:2345
+#, c-format
+msgid "Device: %s\n"
+msgstr "Thiết bị: %s\n"
+
+#: disk-utils/mkfs.bfs.c:225
+#, c-format
+msgid "Volume: <%-6s>\n"
+msgstr "Khối tin: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:226
+#, c-format
+msgid "FSname: <%-6s>\n"
+msgstr "Tên hệ thống tập tin: <%-6s>\n"
+
+#: disk-utils/mkfs.bfs.c:227
+#, c-format
+msgid "BlockSize: %d\n"
+msgstr "Kích cỡ khối: %d\n"
+
+#: disk-utils/mkfs.bfs.c:229
+#, c-format
+msgid "Inodes: %d (in 1 block)\n"
+msgstr "Inode: %d (trong 1 khối)\n"
+
+#: disk-utils/mkfs.bfs.c:232
+#, c-format
+msgid "Inodes: %d (in %lld blocks)\n"
+msgstr "Inods: %d (trong %lld khối)\n"
+
+#: disk-utils/mkfs.bfs.c:234
+#, c-format
+msgid "Blocks: %lld\n"
+msgstr "Khối: %lld\n"
+
+#: disk-utils/mkfs.bfs.c:235
+#, 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:240
+msgid "error writing superblock"
+msgstr "lỗi ghi nhớ siêu khối"
+
+#: disk-utils/mkfs.bfs.c:260
+msgid "error writing root inode"
+msgstr "lỗi ghi inode gốc"
+
+#: disk-utils/mkfs.bfs.c:265
+msgid "error writing inode"
+msgstr "lỗi ghi inode"
+
+#: disk-utils/mkfs.bfs.c:268
+msgid "seek error"
+msgstr "lỗi tìm nơi"
+
+#: disk-utils/mkfs.bfs.c:274
+msgid "error writing . entry"
+msgstr "lỗi ghi mục nhập chấm (.)"
+
+#: disk-utils/mkfs.bfs.c:278
+msgid "error writing .. entry"
+msgstr "lỗi ghi mục nhập chấm đôi (..)"
+
+#: disk-utils/mkfs.bfs.c:282
+#, c-format
+msgid "error closing %s"
+msgstr "lỗi đóng %s"
+
+#: disk-utils/mkfs.c:73
+#, c-format
+msgid "Usage: mkfs [-V] [-t fstype] [fs-options] device [size]\n"
+msgstr ""
+"Sử dụng: mkfs [-V] [-t kiểu_FS] [tùy_chọn_FS] thiết_bị [kích_cỡ]\n"
+"\n"
+"FS: hệ thống tập tin\n"
+
+#: disk-utils/mkfs.c:88 disk-utils/mkfs.c:96 fdisk/cfdisk.c:351
+#: getopt/getopt.c:86 getopt/getopt.c:96 login-utils/wall.c:246
+#, c-format
+msgid "%s: Out of memory!\n"
+msgstr "%s: Không đủ bộ nhớ.\n"
+
+#: disk-utils/mkfs.c:103
+#, c-format
+msgid "mkfs (%s)\n"
+msgstr "mkfs (%s)\n"
+
+#: disk-utils/mkfs.cramfs.c:126
+#, 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:340
+#, c-format
+msgid ""
+"Very long (%zu bytes) filename `%s' found.\n"
+" Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile.  Exiting.\n"
+msgstr ""
+"Tìm thấy tên tập tin rất dài (%zu bytes) « %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.\n"
+
+#: disk-utils/mkfs.cramfs.c:472
+#, c-format
+msgid "filesystem too big.  Exiting.\n"
+msgstr "hệ thống tập tin quá lớn nên thoát.\n"
+
+#: disk-utils/mkfs.cramfs.c:637
+#, 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:656
+#, c-format
+msgid "%6.2f%% (%+ld bytes)\t%s\n"
+msgstr "%6.2f%% (%+ld byte)\t%s\n"
+
+#: disk-utils/mkfs.cramfs.c:854
+#, c-format
+msgid ""
+"warning: guestimate of required size (upper bound) is %lldMB, but maximum "
+"image size is %uMB.  We might die prematurely.\n"
+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à %u MB.  Chúng ta có thể chết non.\n"
+
+#: disk-utils/mkfs.cramfs.c:881
+msgid "ROM image map"
+msgstr "Sơ đồ ảnh ROM"
+
+#: disk-utils/mkfs.cramfs.c:895
+#, c-format
+msgid "Including: %s\n"
+msgstr "Bao gồm: %s\n"
+
+#: disk-utils/mkfs.cramfs.c:901
+#, c-format
+msgid "Directory data: %zd bytes\n"
+msgstr "Dữ liệu thư mục: %zd byte\n"
+
+#: disk-utils/mkfs.cramfs.c:909
+#, c-format
+msgid "Everything: %zd kilobytes\n"
+msgstr "Mọi thứ : %zd kilô byte\n"
+
+#: disk-utils/mkfs.cramfs.c:914
+#, c-format
+msgid "Super block: %zd bytes\n"
+msgstr "Siêu khối: %zd byte\n"
+
+#: disk-utils/mkfs.cramfs.c:921
+#, c-format
+msgid "CRC: %x\n"
+msgstr "CRC: %x\n"
+
+#: disk-utils/mkfs.cramfs.c:926
+#, c-format
+msgid "not enough space allocated for ROM image (%lld allocated, %zu used)\n"
+msgstr "không đủ khoảng trống phân cấp cho ảnh ROM (phân cấp %lld, dùng %zu)\n"
+
+#: disk-utils/mkfs.cramfs.c:934
+msgid "ROM image"
+msgstr "Ảnh ROM"
+
+#: disk-utils/mkfs.cramfs.c:938
+#, c-format
+msgid "ROM image write failed (%zd %zd)\n"
+msgstr "Lỗi ghi ảnh ROM (%zd %zd)\n"
+
+#: disk-utils/mkfs.cramfs.c:947
+#, c-format
+msgid "warning: filenames truncated to 255 bytes.\n"
+msgstr "cảnh báo : tên tập tin bị cắt ngắn thành 255 byte.\n"
+
+#: disk-utils/mkfs.cramfs.c:950
+#, c-format
+msgid "warning: files were skipped due to errors.\n"
+msgstr "cảnh báo : các tập tin bị bỏ qua vì có lỗi.\n"
+
+#: disk-utils/mkfs.cramfs.c:953
+#, c-format
+msgid "warning: file sizes truncated to %luMB (minus 1 byte).\n"
+msgstr "cảnh báo : kích cỡ tập tin bị cắt ngắn thành %luMB (trừ 1 byte).\n"
+
+#: disk-utils/mkfs.cramfs.c:958
+#, c-format
+msgid ""
+"warning: uids truncated to %u bits.  (This may be a security concern.)\n"
+msgstr ""
+"cảnh báo : UID bị cắt ngắn thành %u bit.  (Đây có thể là sự lo ngại bảo "
+"mật.)\n"
+
+#: disk-utils/mkfs.cramfs.c:963
+#, c-format
+msgid ""
+"warning: gids truncated to %u bits.  (This may be a security concern.)\n"
+msgstr ""
+"cảnh báo : GID bị cắt ngắn thành %u bit.  (Đây có thể là sự lo ngại bảo "
+"mật.)\n"
+
+#: disk-utils/mkfs.cramfs.c:968
+#, c-format
+msgid ""
+"WARNING: device numbers truncated to %u bits.  This almost certainly means\n"
+"that some device files will be wrong.\n"
+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.\n"
+
+#: disk-utils/mkfs.minix.c:156
+#, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]\n"
+msgstr "Sử dụng: %s [-c | -l tên_tập_tin] [-nXX] [-iXX] /dev/tên [khối]\n"
+
+#: disk-utils/mkfs.minix.c:180
+#, 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:190
+msgid "seek to boot block failed in write_tables"
+msgstr ""
+"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:192
+msgid "unable to clear boot sector"
+msgstr "không xóa được rãnh ghi khởi động"
+
+#: disk-utils/mkfs.minix.c:194
+msgid "seek failed in write_tables"
+msgstr "tìm tới không thành công trong write_tables (ghi các bảng)"
+
+#: disk-utils/mkfs.minix.c:198
+msgid "unable to write inode map"
+msgstr "không ghi nhớ được sơ đồ inode"
+
+#: disk-utils/mkfs.minix.c:200
+msgid "unable to write zone map"
+msgstr "không ghi nhớ được sơ đồ vùng"
+
+#: disk-utils/mkfs.minix.c:202
+msgid "unable to write inodes"
+msgstr "không ghi nhớ được các inode"
+
+#: disk-utils/mkfs.minix.c:211
+msgid "write failed in write_block"
+msgstr "ghi nhớ không thành công trong write_block (ghi khối)"
+
+#: disk-utils/mkfs.minix.c:219 disk-utils/mkfs.minix.c:293
+#: disk-utils/mkfs.minix.c:342
+msgid "too many bad blocks"
+msgstr "quá nhiều khối xấu"
+
+#: disk-utils/mkfs.minix.c:227
+msgid "not enough good blocks"
+msgstr "không đủ khối tốt"
+
+#: disk-utils/mkfs.minix.c:439
+msgid "unable to allocate buffers for maps"
+msgstr "không thể phân phối các bộ đệm cho sơ đồ"
+
+#: disk-utils/mkfs.minix.c:448
+msgid "unable to allocate buffer for inodes"
+msgstr "không thể phân phối các bộ đệm cho inode"
+
+#: disk-utils/mkfs.minix.c:454
+#, c-format
+msgid ""
+"Maxsize=%ld\n"
+"\n"
+msgstr ""
+"Kích cỡ tối đa=%ld\n"
+"\n"
+
+#: disk-utils/mkfs.minix.c:468
+msgid "seek failed during testing of blocks"
+msgstr "tìm tới không thành công trong khi thử các khối"
+
+#: disk-utils/mkfs.minix.c:476
+#, 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:507 disk-utils/mkswap.c:313
+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/mkfs.minix.c:516
+msgid "bad blocks before data-area: cannot make fs"
+msgstr "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:522 disk-utils/mkfs.minix.c:547
+#, c-format
+msgid "%d bad blocks\n"
+msgstr "%d khối xấu\n"
+
+#: disk-utils/mkfs.minix.c:524 disk-utils/mkfs.minix.c:549
+#, c-format
+msgid "one bad block\n"
+msgstr "một khối xấu\n"
+
+#: disk-utils/mkfs.minix.c:534
+msgid "can't open file of bad blocks"
+msgstr "không mở được tập tin của các khối xấu"
+
+#: disk-utils/mkfs.minix.c:538
+#, 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:539
+msgid "cannot read badblocks file"
+msgstr "không thể đọc tập tin khối xấu"
+
+#: disk-utils/mkfs.minix.c:619
+#, 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:638
+#, c-format
+msgid "unable to stat %s"
+msgstr "không thể lấy trạng thái về %s"
+
+#: disk-utils/mkfs.minix.c:644
+#, c-format
+msgid "unable to open %s"
+msgstr "không mở được %s"
+
+#: disk-utils/mkfs.minix.c:649
+#, c-format
+msgid "cannot determine sector size for %s"
+msgstr "không thể quyết định kích cỡ rãnh ghi cho %s"
+
+#: disk-utils/mkfs.minix.c:651
+#, 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:654
+#, 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:662
+#, 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:664
+msgid "number of blocks too small"
+msgstr "số khối quá nhỏ"
+
+#: disk-utils/mkswap.c:155
+#, c-format
+msgid "Bad user-specified page size %d\n"
+msgstr "Kích cỡ trang do người dùng chỉ ra xấu %d\n"
+
+#: disk-utils/mkswap.c:163
+#, c-format
+msgid "Using user-specified page size %d, instead of the system value %d\n"
+msgstr ""
+"Sử dụng kích cỡ trang do người dùng chỉ ra %d, thay cho giá trị hệ thống %d\n"
+
+#: disk-utils/mkswap.c:192
+#, c-format
+msgid "Bad swap header size, no label written.\n"
+msgstr "Kích cỡ phần đầu xấu cho bộ nhớ trao đổi, không ghi nhãn nào.\n"
+
+#: disk-utils/mkswap.c:202
+#, c-format
+msgid "Label was truncated.\n"
+msgstr "Nhãn bị cắt ngắn.\n"
+
+#: disk-utils/mkswap.c:208
+#, c-format
+msgid "no label, "
+msgstr "không nhãn, "
+
+#: disk-utils/mkswap.c:216
+#, c-format
+msgid "no uuid\n"
+msgstr "không uuid\n"
+
+#: disk-utils/mkswap.c:281
+#, c-format
+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"
+
+#: disk-utils/mkswap.c:295
+msgid "too many bad pages"
+msgstr "quá nhiều trang xấu"
+
+#: disk-utils/mkswap.c:308 misc-utils/look.c:182 misc-utils/setterm.c:1183
+#: text-utils/more.c:1982 text-utils/more.c:1993
+msgid "Out of memory"
+msgstr "Không đủ bộ nhớ"
+
+#: disk-utils/mkswap.c:319
+#, c-format
+msgid "one bad page\n"
+msgstr "một trang xấu\n"
+
+#: disk-utils/mkswap.c:321
+#, c-format
+msgid "%lu bad pages\n"
+msgstr "%lu trang xấu\n"
+
+#: disk-utils/mkswap.c:399 disk-utils/mkswap.c:415 disk-utils/mkswap.c:633
+msgid "unable to rewind swap-device"
+msgstr "không thể « tua lại » thiết bị trao đổi"
+
+#: disk-utils/mkswap.c:419
+msgid "unable to erase bootbits sectors"
+msgstr "không xoá được rãnh ghi bit khởi động"
+
+#: disk-utils/mkswap.c:423
+#, c-format
+msgid "%s: %s: warning: don't erase bootbits sectors\n"
+msgstr "%s: %s: cảnh báo : đừng xoá rãnh ghi bit khởi động\n"
+
+#: disk-utils/mkswap.c:426
+#, c-format
+msgid "        (%s partition table detected). "
+msgstr "        (%s phát hiện được bảng phân vùng). "
+
+#: disk-utils/mkswap.c:428
+#, c-format
+msgid "        on whole disk. "
+msgstr "        trên toàn đĩa. "
+
+#: disk-utils/mkswap.c:498
+#, c-format
+msgid "%1$s: warning: ignore -U (UUIDs are unsupported by %1$s)\n"
+msgstr "%1$s: cảnh báo : bỏ qua « -U » (UUID không phải được %1$s hỗ trợ)\n"
+
+#: disk-utils/mkswap.c:514
+#, c-format
+msgid "%s: does not support swapspace version %d.\n"
+msgstr "%s: không hỗ trợ vùng trao đổi phiên bản %d.\n"
+
+#: disk-utils/mkswap.c:522
+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:533
+#, c-format
+msgid "%s: error: Nowhere to set up swap on?\n"
+msgstr "%s: lỗi: không có chỗ nào để thiết lập bộ nhớ trao đổi ?\n"
+
+#: disk-utils/mkswap.c:551
+#, c-format
+msgid "%s: error: size %llu KiB is larger than device size %llu KiB\n"
+msgstr "%s: lỗi: kích cỡ %llu KiB lớn hơn kích cỡ thiết bị %llu KiB\n"
+
+#: disk-utils/mkswap.c:560
+#, c-format
+msgid "%s: error: swap area needs to be at least %ld KiB\n"
+msgstr "%s: lỗi: vùng trao đổi cần ít nhất %ld KiB\n"
+
+#: disk-utils/mkswap.c:577
+#, c-format
+msgid "%s: warning: truncating swap area to %llu KiB\n"
+msgstr "%s: cảnh báo : đang cắt ngắn vùng trao đổi thành %llu KiB\n"
+
+#: disk-utils/mkswap.c:600
+#, c-format
+msgid "%s: error: will not try to make swapdevice on '%s'\n"
+msgstr "%s: lỗi: sẽ không thử tạo thiết bị trao đổi trên '%s'\n"
+
+#: disk-utils/mkswap.c:606
+#, c-format
+msgid "%s: error: %s is mounted; will not make swapspace.\n"
+msgstr "%s: lỗi: %s đã được gắn; sẽ không tạo vùng trao đổi.\n"
+
+#: disk-utils/mkswap.c:622
+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:625
+#, 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:636
+#, c-format
+msgid "%s: %s: unable to write signature page: %s"
+msgstr "%s: %s: không thể ghi nhớ trang chữ ký: %s"
+
+#: disk-utils/mkswap.c:647
+msgid "fsync failed"
+msgstr "fsync bị lỗi"
+
+#: disk-utils/mkswap.c:658
+#, c-format
+msgid "%s: %s: unable to obtain selinux file label: %s\n"
+msgstr "%s: %s: không thể lấy nhãn tập tin SELinux: %s\n"
+
+#: disk-utils/mkswap.c:664
+msgid "unable to matchpathcon()"
+msgstr "không thể matchpathcon()"
+
+#: disk-utils/mkswap.c:667
+msgid "unable to create new selinux context"
+msgstr "không thể tạo ngữ cảnh SELinux mới"
+
+#: disk-utils/mkswap.c:669
+msgid "couldn't compute selinux context"
+msgstr "không thể tính ngữ cảnh SELinux"
+
+#: disk-utils/mkswap.c:675
+#, c-format
+msgid "%s: unable to relabel %s to %s: %s\n"
+msgstr "%s: không thể đổi nhãn của %s thành %s: %s\n"
+
+#: disk-utils/raw.c:50
+#, c-format
+msgid ""
+"Usage:\n"
+"  %s "
+msgstr ""
+"Sử dụng:\n"
+"  %s "
+
+#: disk-utils/raw.c:125
+#, c-format
+msgid ""
+"Device '%s' is control raw dev (use raw<N> where <N> is greater than zero)\n"
+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)\n"
+
+#: disk-utils/raw.c:145
+#, c-format
+msgid "Cannot locate block device '%s' (%s)\n"
+msgstr "Không tìm thấy thiết bị khối « %s » (%s)\n"
+
+#: disk-utils/raw.c:151
+#, c-format
+msgid "Device '%s' is not a block dev\n"
+msgstr "Thiết bị « %s » không phải một thiết bị khối\n"
+
+#: disk-utils/raw.c:186
+#, c-format
+msgid "Cannot open master raw device '"
+msgstr "Không thể mở thiết bị thô chủ '"
+
+#: disk-utils/raw.c:205
+#, c-format
+msgid "Cannot locate raw device '%s' (%s)\n"
+msgstr "Không tìm thấy thiết bị thô « %s » (%s)\n"
+
+#: disk-utils/raw.c:211
+#, c-format
+msgid "Raw device '%s' is not a character dev\n"
+msgstr "Thiết bị thô « %s » không phải một thiết bị ký tự\n"
+
+#: disk-utils/raw.c:216
+#, c-format
+msgid "Device '%s' is not a raw dev\n"
+msgstr "Thiết bị « %s » không phải một thiết bị thô\n"
+
+#: disk-utils/raw.c:231
+#, c-format
+msgid "Error querying raw device (%s)\n"
+msgstr "Lỗi hỏi thiết bị thô (%s)\n"
+
+#: disk-utils/raw.c:241 disk-utils/raw.c:261
+#, c-format
+msgid "raw%d:\tbound to major %d, minor %d\n"
+msgstr "thô%d:\tđóng kết với chính %d, phụ %d\n"
+
+#: disk-utils/raw.c:257
+#, c-format
+msgid "Error setting raw device (%s)\n"
+msgstr "Lỗi đặt thiết bị thô (%s)\n"
+
+#: fdisk/cfdisk.c:376 fdisk/cfdisk.c:2080
+msgid "Unusable"
+msgstr "Không dùng được"
+
+#: fdisk/cfdisk.c:378 fdisk/cfdisk.c:2082
+msgid "Free Space"
+msgstr "Chỗ trống"
+
+#: fdisk/cfdisk.c:381
+msgid "Linux ext2"
+msgstr "Linux ext2"
+
+#: fdisk/cfdisk.c:383
+msgid "Linux ext3"
+msgstr "Linux ext3"
+
+#: fdisk/cfdisk.c:385
+msgid "Linux XFS"
+msgstr "Linux XFS"
+
+#: fdisk/cfdisk.c:387
+msgid "Linux JFS"
+msgstr "Linux JFS"
+
+#: fdisk/cfdisk.c:389
+msgid "Linux ReiserFS"
+msgstr "Linux ReiserFS"
+
+#: fdisk/cfdisk.c:391 fdisk/i386_sys_types.c:57
+msgid "Linux"
+msgstr "Linux"
+
+#: fdisk/cfdisk.c:394
+msgid "OS/2 HPFS"
+msgstr "OS/2 HPFS"
+
+#: fdisk/cfdisk.c:396
+msgid "OS/2 IFS"
+msgstr "OS/2 IFS"
+
+#: fdisk/cfdisk.c:400
+msgid "NTFS"
+msgstr "NTFS"
+
+#: fdisk/cfdisk.c:411
+#, c-format
+msgid "Disk has been changed.\n"
+msgstr "Đĩa đã được thay đổi.\n"
+
+#: fdisk/cfdisk.c:413
+#, 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"
+
+#: fdisk/cfdisk.c:417
+#, 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"
+
+#: fdisk/cfdisk.c:512
+msgid "FATAL ERROR"
+msgstr "LỖI NGHIÊM TRỌNG"
+
+#: fdisk/cfdisk.c:513
+msgid "Press any key to exit cfdisk"
+msgstr "Hãy nhấn phím bất kỳ để thoát khỏi cfdisk"
+
+#: fdisk/cfdisk.c:560 fdisk/cfdisk.c:568
+msgid "Cannot seek on disk drive"
+msgstr "Không thể tìm nơi trên ổ đĩa"
+
+#: fdisk/cfdisk.c:562
+msgid "Cannot read disk drive"
+msgstr "Không thể đọc ổ đĩa"
+
+#: fdisk/cfdisk.c:570
+msgid "Cannot write disk drive"
+msgstr "Không thể ghi vào ổ đĩa"
+
+#: fdisk/cfdisk.c:913
+msgid "Too many partitions"
+msgstr "Quá nhiều phân vùng"
+
+#: fdisk/cfdisk.c:918
+msgid "Partition begins before sector 0"
+msgstr "Phân vùng bắt đầu trước rãnh ghi 0"
+
+#: fdisk/cfdisk.c:923
+msgid "Partition ends before sector 0"
+msgstr "Phân vùng kết thúc trước rãnh ghi 0"
+
+#: fdisk/cfdisk.c:928
+msgid "Partition begins after end-of-disk"
+msgstr "Phân vùng bắt đầu trước kết-thúc-của-đĩa"
+
+#: fdisk/cfdisk.c:933
+msgid "Partition ends after end-of-disk"
+msgstr "Phân vùng bắt đầu sau kết-thúc-của-đĩa"
+
+#: fdisk/cfdisk.c:938
+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"
+
+#: fdisk/cfdisk.c:962
+msgid "logical partitions not in disk order"
+msgstr "Phân vùng lôgíc không theo thứ tự đĩa"
+
+#: fdisk/cfdisk.c:965
+msgid "logical partitions overlap"
+msgstr "phân vùng lôgíc chồng lên nhau"
+
+#: fdisk/cfdisk.c:969
+msgid "enlarged logical partitions overlap"
+msgstr "phân vùng lôgíc mở rộng chồng lên nhau"
+
+#: fdisk/cfdisk.c:999
+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 !!!!"
+
+#: fdisk/cfdisk.c:1010 fdisk/cfdisk.c:1022
+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"
+
+#: fdisk/cfdisk.c:1164
+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."
+
+#: fdisk/cfdisk.c:1220
+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)."
+
+#: fdisk/cfdisk.c:1351
+msgid "Illegal key"
+msgstr "Phím cấm"
+
+#: fdisk/cfdisk.c:1374
+msgid "Press a key to continue"
+msgstr "Nhấn một phím để tiếp tục"
+
+#: fdisk/cfdisk.c:1421 fdisk/cfdisk.c:2051 fdisk/cfdisk.c:2583
+#: fdisk/cfdisk.c:2585
+msgid "Primary"
+msgstr "Chính"
+
+#: fdisk/cfdisk.c:1421
+msgid "Create a new primary partition"
+msgstr "Tạo một phân vùng chính mới"
+
+#: fdisk/cfdisk.c:1422 fdisk/cfdisk.c:2051 fdisk/cfdisk.c:2582
+#: fdisk/cfdisk.c:2585
+msgid "Logical"
+msgstr "Lôgíc"
+
+#: fdisk/cfdisk.c:1422
+msgid "Create a new logical partition"
+msgstr "Tạo một phân vùng lôgíc mới"
+
+#: fdisk/cfdisk.c:1423 fdisk/cfdisk.c:1478 fdisk/cfdisk.c:2256
+msgid "Cancel"
+msgstr "Hủy bỏ"
+
+#: fdisk/cfdisk.c:1423 fdisk/cfdisk.c:1478
+msgid "Don't create a partition"
+msgstr "Đừng tạo một phân vùng"
+
+#: fdisk/cfdisk.c:1439
+msgid "!!! Internal error !!!"
+msgstr "!!! Lỗi nội bộ !!!"
+
+#: fdisk/cfdisk.c:1442
+msgid "Size (in MB): "
+msgstr "Kích cỡ (theo MB): "
+
+#: fdisk/cfdisk.c:1476
+msgid "Beginning"
+msgstr "Đầu"
+
+#: fdisk/cfdisk.c:1476
+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"
+
+#: fdisk/cfdisk.c:1477
+msgid "End"
+msgstr "Cuối"
+
+#: fdisk/cfdisk.c:1477
+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"
+
+#: fdisk/cfdisk.c:1495
+msgid "No room to create the extended partition"
+msgstr "Không còn chỗ để tạo phân vùng mở rộng"
+
+#: fdisk/cfdisk.c:1569
+msgid "No partition table.\n"
+msgstr "Không có bảng phân vùng\n"
+
+#: fdisk/cfdisk.c:1573
+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."
+
+#: fdisk/cfdisk.c:1583
+msgid "Bad signature on partition table"
+msgstr "Chữ ký xấu trong bảng phân vùng"
+
+#: fdisk/cfdisk.c:1587
+msgid "Unknown partition table type"
+msgstr "Loại bảng phân vùng không xác định"
+
+#: fdisk/cfdisk.c:1589
+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] ?"
+
+#: fdisk/cfdisk.c:1637
+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"
+
+#: fdisk/cfdisk.c:1669
+msgid "Cannot open disk drive"
+msgstr "Không thể mở ổ đĩa"
+
+#: fdisk/cfdisk.c:1671 fdisk/cfdisk.c:1860
+msgid "Opened disk read-only - you have no permission to write"
+msgstr "Mở đĩa chỉ đọc - bạn không có quyền ghi"
+
+#: fdisk/cfdisk.c:1682
+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."
+
+#: fdisk/cfdisk.c:1701
+msgid "Cannot get disk size"
+msgstr "Không thể lấy kích cỡ đĩa"
+
+#: fdisk/cfdisk.c:1727
+msgid "Bad primary partition"
+msgstr "Phân vùng chính xấu"
+
+#: fdisk/cfdisk.c:1757
+msgid "Bad logical partition"
+msgstr "Phân vùng lôgíc xấu"
+
+#: fdisk/cfdisk.c:1872
+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."
+
+#: fdisk/cfdisk.c:1876
+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): "
+
+#: fdisk/cfdisk.c:1882
+msgid "no"
+msgstr "không"
+
+#: fdisk/cfdisk.c:1884
+msgid "Did not write partition table to disk"
+msgstr "Bảng phân vùng đã không được ghi lên đĩa"
+
+#: fdisk/cfdisk.c:1886
+msgid "yes"
+msgstr "có"
+
+#: fdisk/cfdisk.c:1890
+msgid "Please enter `yes' or `no'"
+msgstr "Xin hãy nhập « có » hay « không »"
+
+#: fdisk/cfdisk.c:1894
+msgid "Writing partition table to disk..."
+msgstr "Đang ghi bảng phân vùng lên đĩa..."
+
+#: fdisk/cfdisk.c:1921 fdisk/cfdisk.c:1925
+msgid "Wrote partition table to disk"
+msgstr "Đã ghi bảng phân vùng lên đĩa"
+
+#: fdisk/cfdisk.c:1923
+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."
+
+#: fdisk/cfdisk.c:1933
+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."
+
+#: fdisk/cfdisk.c:1935
+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."
+
+#: fdisk/cfdisk.c:1993 fdisk/cfdisk.c:2112 fdisk/cfdisk.c:2196
+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: "
+
+#: fdisk/cfdisk.c:2002 fdisk/cfdisk.c:2120 fdisk/cfdisk.c:2204
+#, c-format
+msgid "Cannot open file '%s'"
+msgstr "Không thể mở tập tin '%s'"
+
+#: fdisk/cfdisk.c:2013
+#, c-format
+msgid "Disk Drive: %s\n"
+msgstr "Ổ đĩa: %s\n"
+
+#: fdisk/cfdisk.c:2015
+msgid "Sector 0:\n"
+msgstr "Rãnh ghi 0:\n"
+
+#: fdisk/cfdisk.c:2022
+#, c-format
+msgid "Sector %d:\n"
+msgstr "Rãnh ghi %d:\n"
+
+#: fdisk/cfdisk.c:2042
+msgid "   None   "
+msgstr "   Không   "
+
+#: fdisk/cfdisk.c:2044
+msgid "   Pri/Log"
+msgstr "   Chính/Lôgíc"
+
+#: fdisk/cfdisk.c:2046
+msgid "   Primary"
+msgstr "   Chính"
+
+#: fdisk/cfdisk.c:2048
+msgid "   Logical"
+msgstr "   Lôgíc"
+
+#: fdisk/cfdisk.c:2086 fdisk/fdisk.c:1534 fdisk/fdisk.c:1855
+#: fdisk/fdisksgilabel.c:240 fdisk/fdisksunlabel.c:621 fdisk/sfdisk.c:653
+msgid "Unknown"
+msgstr "Không rõ"
+
+#: fdisk/cfdisk.c:2092 fdisk/cfdisk.c:2560 fdisk/fdisksunlabel.c:44
+msgid "Boot"
+msgstr "Khởi động"
+
+#: fdisk/cfdisk.c:2094
+#, c-format
+msgid "(%02X)"
+msgstr "(%02X)"
+
+#: fdisk/cfdisk.c:2096
+msgid "None"
+msgstr "Không"
+
+#: fdisk/cfdisk.c:2131 fdisk/cfdisk.c:2215
+#, c-format
+msgid "Partition Table for %s\n"
+msgstr "Bảng Phân Vùng cho %s\n"
+
+#: fdisk/cfdisk.c:2133
+msgid "               First       Last\n"
+msgstr "               Đầu         Cuối\n"
+
+#: fdisk/cfdisk.c:2134
+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"
+
+#: fdisk/cfdisk.c:2135
+msgid ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+msgstr ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+
+#: fdisk/cfdisk.c:2218
+msgid "         ---Starting----      ----Ending-----    Start     Number of\n"
+msgstr "         ---Bắt đầu---      ----Kết thúc----    Đầu     Số\n"
+
+#: fdisk/cfdisk.c:2219
+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"
+
+#: fdisk/cfdisk.c:2220
+msgid "-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+msgstr ""
+"-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+
+#: fdisk/cfdisk.c:2253
+msgid "Raw"
+msgstr "Thô sơ"
+
+#: fdisk/cfdisk.c:2253
+msgid "Print the table using raw data format"
+msgstr "In bảng ra sử dụng định dạng dữ liệu thô"
+
+#: fdisk/cfdisk.c:2254 fdisk/cfdisk.c:2357
+msgid "Sectors"
+msgstr "Rãnh ghi"
+
+#: fdisk/cfdisk.c:2254
+msgid "Print the table ordered by sectors"
+msgstr "In bảng theo thứ tự rãnh ghi"
+
+#: fdisk/cfdisk.c:2255
+msgid "Table"
+msgstr "Bảng"
+
+#: fdisk/cfdisk.c:2255
+msgid "Just print the partition table"
+msgstr "Chỉ in bảng phân vùng"
+
+#: fdisk/cfdisk.c:2256
+msgid "Don't print the table"
+msgstr "Đừng in bảng phân vùng"
+
+#: fdisk/cfdisk.c:2284
+msgid "Help Screen for cfdisk"
+msgstr "Trợ giúp của cfdisk"
+
+#: fdisk/cfdisk.c:2286
+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,"
+
+#: fdisk/cfdisk.c:2287
+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"
+
+#: fdisk/cfdisk.c:2288
+msgid "disk drive."
+msgstr "ổ đĩa cứng."
+
+#: fdisk/cfdisk.c:2290
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr "Tác quyền © năm 1994-1999 của Kevin E. Martin & aeb"
+
+#: fdisk/cfdisk.c:2292
+msgid "Command      Meaning"
+msgstr "Câu lệnh      Ý nghĩa"
+
+#: fdisk/cfdisk.c:2293
+msgid "-------      -------"
+msgstr "-------      -------"
+
+#: fdisk/cfdisk.c:2294
+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"
+
+#: fdisk/cfdisk.c:2295
+msgid "  d          Delete the current partition"
+msgstr "  d          Xóa phân vùng hiện thời"
+
+#: fdisk/cfdisk.c:2296
+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)"
+
+#: fdisk/cfdisk.c:2297
+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"
+
+#: fdisk/cfdisk.c:2298
+msgid "             know what they are doing."
+msgstr "             đã có kinh nghiệm."
+
+#: fdisk/cfdisk.c:2299
+msgid "  h          Print this screen"
+msgstr "  h          Hiển thị trợ giúp này"
+
+#: fdisk/cfdisk.c:2300
+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ể"
+
+#: fdisk/cfdisk.c:2301
+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"
+
+#: fdisk/cfdisk.c:2302
+msgid "             DOS, OS/2, ..."
+msgstr "             DOS, OS/2, ..."
+
+#: fdisk/cfdisk.c:2303
+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"
+
+#: fdisk/cfdisk.c:2304
+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"
+
+#: fdisk/cfdisk.c:2305
+msgid "             There are several different formats for the partition"
+msgstr "             Có vài định dạng khác nhau cho phân vùng"
+
+#: fdisk/cfdisk.c:2306
+msgid "             that you can choose from:"
+msgstr "             mà bạn có thể chọn:"
+
+#: fdisk/cfdisk.c:2307
+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)"
+
+#: fdisk/cfdisk.c:2308
+msgid "                s - Table ordered by sectors"
+msgstr "                s - Bảng theo thứ tự rãnh ghi"
+
+#: fdisk/cfdisk.c:2309
+msgid "                t - Table in raw format"
+msgstr "                t - Bảng theo định dạng thô"
+
+#: fdisk/cfdisk.c:2310
+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"
+
+#: fdisk/cfdisk.c:2311
+msgid "  t          Change the filesystem type"
+msgstr "  t          Thay đổi loại hệ thống tập tin"
+
+#: fdisk/cfdisk.c:2312
+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"
+
+#: fdisk/cfdisk.c:2313
+msgid "             Rotates through MB, sectors and cylinders"
+msgstr "             Luân phiên MB, các rãnh ghi và hình trụ"
+
+#: fdisk/cfdisk.c:2314
+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)"
+
+#: fdisk/cfdisk.c:2315
+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"
+
+#: fdisk/cfdisk.c:2316
+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"
+
+#: fdisk/cfdisk.c:2317
+msgid "             `no'"
+msgstr "             « không »"
+
+#: fdisk/cfdisk.c:2318
+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"
+
+#: fdisk/cfdisk.c:2319
+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"
+
+#: fdisk/cfdisk.c:2320
+msgid "CTRL-L       Redraws the screen"
+msgstr "CTRL-L       Cập nhật màn hình"
+
+#: fdisk/cfdisk.c:2321
+msgid "  ?          Print this screen"
+msgstr "  ?          Hiển thị trợ giúp này"
+
+#: fdisk/cfdisk.c:2323
+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"
+
+#: fdisk/cfdisk.c:2324
+msgid "case letters (except for Writes)."
+msgstr "(ngoại trừ lệnh Write [ghi])."
+
+#: fdisk/cfdisk.c:2355 fdisk/fdisksunlabel.c:237
+msgid "Cylinders"
+msgstr "Hình trụ"
+
+#: fdisk/cfdisk.c:2355
+msgid "Change cylinder geometry"
+msgstr "Thay đổi cấu trúc hình trụ"
+
+#: fdisk/cfdisk.c:2356 fdisk/fdisksunlabel.c:235
+msgid "Heads"
+msgstr "Đầu đọc"
+
+#: fdisk/cfdisk.c:2356
+msgid "Change head geometry"
+msgstr "Thay đổi cấu trúc đầu đọc"
+
+#: fdisk/cfdisk.c:2357
+msgid "Change sector geometry"
+msgstr "Thay đổi cấu trúc rãnh ghi"
+
+#: fdisk/cfdisk.c:2358
+msgid "Done"
+msgstr "Hoàn tất"
+
+#: fdisk/cfdisk.c:2358
+msgid "Done with changing geometry"
+msgstr "Hoàn thành việc thay đổi cấu trúc"
+
+#: fdisk/cfdisk.c:2371
+msgid "Enter the number of cylinders: "
+msgstr "Nhập số hình trụ : "
+
+#: fdisk/cfdisk.c:2382 fdisk/cfdisk.c:2953
+msgid "Illegal cylinders value"
+msgstr "Giá trị hình trụ cấm"
+
+#: fdisk/cfdisk.c:2388
+msgid "Enter the number of heads: "
+msgstr "Nhập số đầu đọc: "
+
+#: fdisk/cfdisk.c:2395 fdisk/cfdisk.c:2963
+msgid "Illegal heads value"
+msgstr "Giá trị số đầu đọc cấm"
+
+#: fdisk/cfdisk.c:2401
+msgid "Enter the number of sectors per track: "
+msgstr "Nhập số rãnh ghi trên mỗi rãnh: "
+
+#: fdisk/cfdisk.c:2408 fdisk/cfdisk.c:2970
+msgid "Illegal sectors value"
+msgstr "Giá trị số rãnh ghi cấm"
+
+#: fdisk/cfdisk.c:2511
+msgid "Enter filesystem type: "
+msgstr "Nhập loại hệ thống tập tin: "
+
+#: fdisk/cfdisk.c:2529
+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"
+
+#: fdisk/cfdisk.c:2531
+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"
+
+#: fdisk/cfdisk.c:2562
+#, c-format
+msgid "Unk(%02X)"
+msgstr "Không_rõ(%02X)"
+
+#: fdisk/cfdisk.c:2565 fdisk/cfdisk.c:2568
+msgid ", NC"
+msgstr ", NC"
+
+#: fdisk/cfdisk.c:2573 fdisk/cfdisk.c:2576
+msgid "NC"
+msgstr "NC"
+
+#: fdisk/cfdisk.c:2584
+msgid "Pri/Log"
+msgstr "Chính/Lôgíc"
+
+#: fdisk/cfdisk.c:2591
+#, c-format
+msgid "Unknown (%02X)"
+msgstr "Không rõ (%02X)"
+
+#: fdisk/cfdisk.c:2660
+#, c-format
+msgid "Disk Drive: %s"
+msgstr "Ổ đĩa: %s"
+
+#: fdisk/cfdisk.c:2667
+#, c-format
+msgid "Size: %lld bytes, %lld MB"
+msgstr "Kích cỡ: %lld byte, %lld MB"
+
+#: fdisk/cfdisk.c:2670
+#, c-format
+msgid "Size: %lld bytes, %lld.%lld GB"
+msgstr "Kích cỡ: %lld byte, %lld.%lld GB"
+
+#: fdisk/cfdisk.c:2674
+#, 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"
+
+#: fdisk/cfdisk.c:2678 login-utils/chfn.c:377
+msgid "Name"
+msgstr "Tên"
+
+#: fdisk/cfdisk.c:2679
+msgid "Flags"
+msgstr "Cờ"
+
+#: fdisk/cfdisk.c:2680
+msgid "Part Type"
+msgstr "Loại phân vùng"
+
+#: fdisk/cfdisk.c:2681
+msgid "FS Type"
+msgstr "Loại hệ thống"
+
+#: fdisk/cfdisk.c:2682
+msgid "[Label]"
+msgstr "[Nhãn]"
+
+#: fdisk/cfdisk.c:2684
+msgid "    Sectors"
+msgstr "    Rãnh ghi"
+
+#: fdisk/cfdisk.c:2686
+msgid "  Cylinders"
+msgstr "  Hình trụ"
+
+#: fdisk/cfdisk.c:2688
+msgid "  Size (MB)"
+msgstr "  Kích cỡ (MB)"
+
+#: fdisk/cfdisk.c:2690
+msgid "  Size (GB)"
+msgstr "  Kích cỡ (GB)"
+
+#: fdisk/cfdisk.c:2744
+msgid "Bootable"
+msgstr "Có thể khởi động"
+
+#: fdisk/cfdisk.c:2744
+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"
+
+#: fdisk/cfdisk.c:2745
+msgid "Delete"
+msgstr "Xoá"
+
+#: fdisk/cfdisk.c:2745
+msgid "Delete the current partition"
+msgstr "Xoá phân vùng hiện thời"
+
+#: fdisk/cfdisk.c:2746
+msgid "Geometry"
+msgstr "Cấu trúc"
+
+#: fdisk/cfdisk.c:2746
+msgid "Change disk geometry (experts only)"
+msgstr "Thay đổi cấu trúc đĩa (chỉ dành cho người có kinh nghiệm)"
+
+#: fdisk/cfdisk.c:2747
+msgid "Help"
+msgstr "Trợ giúp"
+
+#: fdisk/cfdisk.c:2747
+msgid "Print help screen"
+msgstr "Hiển thị màn hình trợ giúp"
+
+#: fdisk/cfdisk.c:2748
+msgid "Maximize"
+msgstr "Lớn nhất"
+
+#: fdisk/cfdisk.c:2748
+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)"
+
+#: fdisk/cfdisk.c:2749
+msgid "New"
+msgstr "Mới"
+
+#: fdisk/cfdisk.c:2749
+msgid "Create new partition from free space"
+msgstr "Tạo một phân vùng mới từ vùng đĩa trống"
+
+#: fdisk/cfdisk.c:2750
+msgid "Print"
+msgstr "In"
+
+#: fdisk/cfdisk.c:2750
+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"
+
+#: fdisk/cfdisk.c:2751
+msgid "Quit"
+msgstr "Thoát"
+
+#: fdisk/cfdisk.c:2751
+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"
+
+#: fdisk/cfdisk.c:2752
+msgid "Type"
+msgstr "Loại"
+
+#: fdisk/cfdisk.c:2752
+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...)"
+
+#: fdisk/cfdisk.c:2753
+msgid "Units"
+msgstr "Đơn vị"
+
+#: fdisk/cfdisk.c:2753
+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ụ)"
+
+#: fdisk/cfdisk.c:2754
+msgid "Write"
+msgstr "Ghi"
+
+#: fdisk/cfdisk.c:2754
+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)"
+
+#: fdisk/cfdisk.c:2800
+msgid "Cannot make this partition bootable"
+msgstr "Không thể làm cho phân vùng có thể khởi động"
+
+#: fdisk/cfdisk.c:2810
+msgid "Cannot delete an empty partition"
+msgstr "Không thể xóa một phân vùng rỗng"
+
+#: fdisk/cfdisk.c:2830 fdisk/cfdisk.c:2832
+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"
+
+#: fdisk/cfdisk.c:2840
+msgid "This partition is unusable"
+msgstr "Phân vùng này không thể sử dụng"
+
+#: fdisk/cfdisk.c:2842
+msgid "This partition is already in use"
+msgstr "Phân vùng này đã được sử dụng"
+
+#: fdisk/cfdisk.c:2859
+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"
+
+#: fdisk/cfdisk.c:2886 fdisk/cfdisk.c:2892
+msgid "No more partitions"
+msgstr "Không có thêm phân vùng nào nữa"
+
+#: fdisk/cfdisk.c:2899
+msgid "Illegal command"
+msgstr "Lệnh cấm"
+
+#: fdisk/cfdisk.c:2909
+#, 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"
+
+#: fdisk/cfdisk.c:2916
+#, 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"
+
+#: fdisk/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\" ;) ])."
+
+#: fdisk/fdiskbsdlabel.c:122
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+"\n"
+"Nhãn BSD cho thiết bị: %s\n"
+
+#: fdisk/fdiskbsdlabel.c:129 fdisk/fdisk.c:386 fdisk/fdisk.c:405
+#: fdisk/fdisk.c:423 fdisk/fdisk.c:430 fdisk/fdisk.c:453 fdisk/fdisk.c:471
+#: fdisk/fdisk.c:487 fdisk/fdisk.c:503
+msgid "Command action"
+msgstr "Tác dụng của câu lệnh"
+
+#: fdisk/fdiskbsdlabel.c:130
+msgid "   d   delete a BSD partition"
+msgstr "   d   xóa một phân vùng BSD"
+
+#: fdisk/fdiskbsdlabel.c:131
+msgid "   e   edit drive data"
+msgstr "   e   sửa dữ liệu ổ đĩa"
+
+#: fdisk/fdiskbsdlabel.c:132
+msgid "   i   install bootstrap"
+msgstr "   i   cài đặt trình khởi động tự mồi"
+
+#: fdisk/fdiskbsdlabel.c:133
+msgid "   l   list known filesystem types"
+msgstr "   l   liệt kê loại hệ thống tập tin đã biết"
+
+#: fdisk/fdiskbsdlabel.c:134 fdisk/fdisk.c:392 fdisk/fdisk.c:411
+#: fdisk/fdisk.c:424 fdisk/fdisk.c:436 fdisk/fdisk.c:461 fdisk/fdisk.c:478
+#: fdisk/fdisk.c:494 fdisk/fdisk.c:512
+msgid "   m   print this menu"
+msgstr "   m   hiển thị trình đơn này"
+
+#: fdisk/fdiskbsdlabel.c:135
+msgid "   n   add a new BSD partition"
+msgstr "   n   thêm một phân vùng BSD mới"
+
+#: fdisk/fdiskbsdlabel.c:136
+msgid "   p   print BSD partition table"
+msgstr "   p   in ra bảng phân vùng BSD"
+
+#: fdisk/fdiskbsdlabel.c:137 fdisk/fdisk.c:396 fdisk/fdisk.c:415
+#: fdisk/fdisk.c:426 fdisk/fdisk.c:440 fdisk/fdisk.c:463 fdisk/fdisk.c:480
+#: fdisk/fdisk.c:496 fdisk/fdisk.c:514
+msgid "   q   quit without saving changes"
+msgstr "   q   thoát và không ghi nhớ các thay đổi"
+
+#: fdisk/fdiskbsdlabel.c:138 fdisk/fdisk.c:464 fdisk/fdisk.c:481
+#: fdisk/fdisk.c:497 fdisk/fdisk.c:515
+msgid "   r   return to main menu"
+msgstr "   r   trở lại trình đơn chính"
+
+#: fdisk/fdiskbsdlabel.c:139
+msgid "   s   show complete disklabel"
+msgstr "   s   hiển thị nhãn đĩa đầy đủ"
+
+#: fdisk/fdiskbsdlabel.c:140
+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"
+
+#: fdisk/fdiskbsdlabel.c:141
+msgid "   u   change units (cylinders/sectors)"
+msgstr "   u   thay đổi đơn vị (trụ/rãnh ghi)"
+
+#: fdisk/fdiskbsdlabel.c:142
+msgid "   w   write disklabel to disk"
+msgstr "   w   ghi nhớ nhãn đĩa lên ổ đĩa"
+
+#: fdisk/fdiskbsdlabel.c:144
+msgid "   x   link BSD partition to non-BSD partition"
+msgstr "   x   liên kết phân vùng BSD tới phân vùng không phải BSD"
+
+#: fdisk/fdiskbsdlabel.c:176
+#, 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"
+
+#: fdisk/fdiskbsdlabel.c:180
+#, 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"
+
+#: fdisk/fdiskbsdlabel.c:190
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr "Không có phân vùng *BSD trên %s.\n"
+
+#: fdisk/fdiskbsdlabel.c:204
+msgid "BSD disklabel command (m for help): "
+msgstr "Câu lệnh nhãn đĩa BSD (m để xem trợ giúp): "
+
+#: fdisk/fdiskbsdlabel.c:284 fdisk/fdisk.c:2052 fdisk/fdisksgilabel.c:651
+#: fdisk/fdisksunlabel.c:431
+#, c-format
+msgid "First %s"
+msgstr "%s đầu tiên"
+
+#: fdisk/fdiskbsdlabel.c:291 fdisk/fdisksunlabel.c:488
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr "%s cuối hay +size hay +sizeM hay +sizeK"
+
+#: fdisk/fdiskbsdlabel.c:318
+#, c-format
+msgid "type: %s\n"
+msgstr "loại: %s\n"
+
+#: fdisk/fdiskbsdlabel.c:320
+#, c-format
+msgid "type: %d\n"
+msgstr "loại: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:321
+#, c-format
+msgid "disk: %.*s\n"
+msgstr "đĩa: %.*s\n"
+
+#: fdisk/fdiskbsdlabel.c:322
+#, c-format
+msgid "label: %.*s\n"
+msgstr "nhãn: %.*s\n"
+
+#: fdisk/fdiskbsdlabel.c:323
+#, c-format
+msgid "flags:"
+msgstr "cờ :"
+
+#: fdisk/fdiskbsdlabel.c:325
+#, c-format
+msgid " removable"
+msgstr " rời"
+
+#: fdisk/fdiskbsdlabel.c:327
+#, c-format
+msgid " ecc"
+msgstr " ecc"
+
+#: fdisk/fdiskbsdlabel.c:329
+#, c-format
+msgid " badsect"
+msgstr " rãnh ghi xấu"
+
+#: fdisk/fdiskbsdlabel.c:333
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr "byte/rảnh ghi: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:334
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr "rãnh ghi/rãnh: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:335
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr "rãnh/trụ : %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:336
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr "rãnh ghi/trụ : %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:337
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr "trụ : %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:338
+#, c-format
+msgid "rpm: %d\n"
+msgstr "vòng mỗi phút: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:339
+#, c-format
+msgid "interleave: %d\n"
+msgstr "xen kẽ: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:340
+#, c-format
+msgid "trackskew: %d\n"
+msgstr "độ lệch rãnh: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:341
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr "Độ lệch trụ : %d\n"
+
+#: fdisk/fdiskbsdlabel.c:342
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr "bật đầu đọc: %ld\t\t# milli giây\n"
+
+#: fdisk/fdiskbsdlabel.c:344
+#, 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"
+
+#: fdisk/fdiskbsdlabel.c:346
+#, c-format
+msgid "drivedata: "
+msgstr "dữ liệu ổ đĩa: "
+
+#: fdisk/fdiskbsdlabel.c:355
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+"\n"
+"%d phân vùng:\n"
+
+#: fdisk/fdiskbsdlabel.c:356
+#, 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"
+
+#: fdisk/fdiskbsdlabel.c:405 fdisk/fdiskbsdlabel.c:408
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr "Viết nhãn đĩa vào %s.\n"
+
+#: fdisk/fdiskbsdlabel.c:420 fdisk/fdiskbsdlabel.c:422
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr "%s không chứa nhãn đĩa.\n"
+
+#: fdisk/fdiskbsdlabel.c:427
+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) "
+
+#: fdisk/fdiskbsdlabel.c:467
+msgid "bytes/sector"
+msgstr "byte/rãnh ghi"
+
+#: fdisk/fdiskbsdlabel.c:468
+msgid "sectors/track"
+msgstr "rãnh ghi/rãnh"
+
+#: fdisk/fdiskbsdlabel.c:469
+msgid "tracks/cylinder"
+msgstr "rãnh/trụ"
+
+#: fdisk/fdiskbsdlabel.c:470 fdisk/fdisk.c:648 fdisk/fdisk.c:1357
+#: fdisk/sfdisk.c:945
+msgid "cylinders"
+msgstr "trụ"
+
+#: fdisk/fdiskbsdlabel.c:477
+msgid "sectors/cylinder"
+msgstr "rãnh ghi/trụ"
+
+#: fdisk/fdiskbsdlabel.c:481
+#, 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"
+
+#: fdisk/fdiskbsdlabel.c:483
+msgid "rpm"
+msgstr "vòng mỗi phút"
+
+#: fdisk/fdiskbsdlabel.c:484
+msgid "interleave"
+msgstr "xen kẽ"
+
+#: fdisk/fdiskbsdlabel.c:485
+msgid "trackskew"
+msgstr "độ lệch rãnh"
+
+#: fdisk/fdiskbsdlabel.c:486
+msgid "cylinderskew"
+msgstr "độ lệch trụ"
+
+#: fdisk/fdiskbsdlabel.c:487
+msgid "headswitch"
+msgstr "bật đầu đọc"
+
+#: fdisk/fdiskbsdlabel.c:488
+msgid "track-to-track seek"
+msgstr "tìm nơi từ rãnh tới rãnh"
+
+#: fdisk/fdiskbsdlabel.c:529
+#, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr "Trình mồi: %sboot -> boot%s (%s): "
+
+#: fdisk/fdiskbsdlabel.c:554
+#, c-format
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr "Trình mồi đè lên nhau với nhãn đĩa.\n"
+
+#: fdisk/fdiskbsdlabel.c:575 fdisk/fdiskbsdlabel.c:577
+#, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr "Trình mồi được cài trên %s.\n"
+
+#: fdisk/fdiskbsdlabel.c:599
+#, c-format
+msgid "Partition (a-%c): "
+msgstr "Phân vùng (a-%c): "
+
+#: fdisk/fdiskbsdlabel.c:618 fdisk/fdisk.c:2199
+#, 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"
+
+#: fdisk/fdiskbsdlabel.c:630
+#, c-format
+msgid "This partition already exists.\n"
+msgstr "Phân vùng này đã có.\n"
+
+#: fdisk/fdiskbsdlabel.c:757
+#, 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"
+
+#: fdisk/fdiskbsdlabel.c:805
+#, c-format
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+"\n"
+"Đồng bộ các đĩa.\n"
+
+#: fdisk/fdisk.c:244
+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 ""
+"Sử dụng: fdisk [-b SSZ] [-u] ĐĨA    Thay đổi bảng phân vùng\n"
+"       fdisk -l [-b SSZ] [-u] ĐĨA   Liệt kê bảng phân vùng\n"
+"       fdisk -s PHÂN_VÙNG           Cho biết kích cỡ phân vùng theo khối\n"
+"       fdisk -v                     Cho biết số phiên bản fdisk\n"
+"Trong đó ĐĨA có dạng /dev/hdb hay /dev/sda\n"
+"còn PHÂN_VÙNG có dạng /dev/hda7\n"
+"-u: cho biết Đầu và Cuối theo đơn vị rãnh ghi (thay vì trụ)\n"
+"-b 2048: (cho các đĩa MO) sử dụng các rãnh ghi 2048 byte\n"
+
+#: fdisk/fdisk.c:256
+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 ""
+"Sử dụng: fdisk [-l] [-b SSZ] [-u] thiết_bị\n"
+"V.d.: fdisk /dev/hda  (cho đĩa IDE đầu tiên)\n"
+"  hay: fdisk /dev/sdc  (cho đĩa SCSI thứ ba)\n"
+"  hay: fdisk /dev/eda  (cho ổ PS/2 ESDI đầu tiên)\n"
+"  hay: fdisk /dev/rd/c0d0  hay: fdisk /dev/ida/c0d0  (cho các thiết bị "
+"RAID)\n"
+"  ...\n"
+
+#: fdisk/fdisk.c:265
+#, c-format
+msgid "Unable to open %s\n"
+msgstr "Không thể mở %s\n"
+
+#: fdisk/fdisk.c:269
+#, c-format
+msgid "Unable to read %s\n"
+msgstr "Không thể đọc %s\n"
+
+#: fdisk/fdisk.c:273
+#, c-format
+msgid "Unable to seek on %s\n"
+msgstr "Không thể tìm nơi trên %s\n"
+
+#: fdisk/fdisk.c:277
+#, c-format
+msgid "Unable to write %s\n"
+msgstr "Không thể ghi %s\n"
+
+#: fdisk/fdisk.c:281
+#, c-format
+msgid "BLKGETSIZE ioctl failed on %s\n"
+msgstr "BLKGETSIZE ioctl không thành công trên %s\n"
+
+#: fdisk/fdisk.c:285
+msgid "Unable to allocate any more memory\n"
+msgstr "Không thể phân phối thêm bộ nhớ\n"
+
+#: fdisk/fdisk.c:288
+msgid "Fatal error\n"
+msgstr "Lỗi nặng\n"
+
+#: fdisk/fdisk.c:387
+msgid "   a   toggle a read only flag"
+msgstr "   a   bật/tắt cờ chỉ đọc"
+
+#: fdisk/fdisk.c:388 fdisk/fdisk.c:432
+msgid "   b   edit bsd disklabel"
+msgstr "   b   sửa nhãn đĩa bsd"
+
+#: fdisk/fdisk.c:389
+msgid "   c   toggle the mountable flag"
+msgstr "   c   bật cờ có thể gắn"
+
+#: fdisk/fdisk.c:390 fdisk/fdisk.c:409 fdisk/fdisk.c:434
+msgid "   d   delete a partition"
+msgstr "   d   xóa một phân vùng"
+
+#: fdisk/fdisk.c:391 fdisk/fdisk.c:410 fdisk/fdisk.c:435
+msgid "   l   list known partition types"
+msgstr "   l   hiển thị loại phân vùng đã biết"
+
+#: fdisk/fdisk.c:393 fdisk/fdisk.c:412 fdisk/fdisk.c:437
+msgid "   n   add a new partition"
+msgstr "   n   thêm một phân vùng mới"
+
+#: fdisk/fdisk.c:394 fdisk/fdisk.c:413 fdisk/fdisk.c:425 fdisk/fdisk.c:438
+msgid "   o   create a new empty DOS partition table"
+msgstr "   o   tạo một bảng phân vùng DOS rỗng"
+
+#: fdisk/fdisk.c:395 fdisk/fdisk.c:414 fdisk/fdisk.c:439 fdisk/fdisk.c:462
+#: fdisk/fdisk.c:479 fdisk/fdisk.c:495 fdisk/fdisk.c:513
+msgid "   p   print the partition table"
+msgstr "   p   in ra bảng phân vùng"
+
+#: fdisk/fdisk.c:397 fdisk/fdisk.c:416 fdisk/fdisk.c:427 fdisk/fdisk.c:441
+msgid "   s   create a new empty Sun disklabel"
+msgstr "   s   tạo một nhãn đĩa Sun rỗng"
+
+#: fdisk/fdisk.c:398 fdisk/fdisk.c:417 fdisk/fdisk.c:442
+msgid "   t   change a partition's system id"
+msgstr "   t   thay đổi id của phân vùng"
+
+#: fdisk/fdisk.c:399 fdisk/fdisk.c:418 fdisk/fdisk.c:443
+msgid "   u   change display/entry units"
+msgstr "   u   thay đổi đơn vị hiển thị"
+
+#: fdisk/fdisk.c:400 fdisk/fdisk.c:419 fdisk/fdisk.c:444 fdisk/fdisk.c:466
+#: fdisk/fdisk.c:483 fdisk/fdisk.c:499 fdisk/fdisk.c:517
+msgid "   v   verify the partition table"
+msgstr "   v   kiểm tra bảng phân vùng"
+
+#: fdisk/fdisk.c:401 fdisk/fdisk.c:420 fdisk/fdisk.c:445 fdisk/fdisk.c:467
+#: fdisk/fdisk.c:484 fdisk/fdisk.c:500 fdisk/fdisk.c:518
+msgid "   w   write table to disk and exit"
+msgstr "   w   ghi bảng phân vùng lên đĩa và thoát"
+
+#: fdisk/fdisk.c:402 fdisk/fdisk.c:446
+msgid "   x   extra functionality (experts only)"
+msgstr "   x   các chức năng mở rộng (chỉ dành cho người có kinh nghiệm)"
+
+#: fdisk/fdisk.c:406
+msgid "   a   select bootable partition"
+msgstr "   a   chọn phân vùng có thể khởi động"
+
+#: fdisk/fdisk.c:407
+msgid "   b   edit bootfile entry"
+msgstr "   b   soạn thảo tập tin khởi động"
+
+#: fdisk/fdisk.c:408
+msgid "   c   select sgi swap partition"
+msgstr "   c   chọn phân vùng trao đổi sgi"
+
+#: fdisk/fdisk.c:431
+msgid "   a   toggle a bootable flag"
+msgstr "   a   bật/tắt cờ có thể khởi động"
+
+#: fdisk/fdisk.c:433
+msgid "   c   toggle the dos compatibility flag"
+msgstr "   c   bật/tắt cờ tương thích với dos"
+
+#: fdisk/fdisk.c:454
+msgid "   a   change number of alternate cylinders"
+msgstr "   a   thay đổi số trụ xen kẽ"
+
+#: fdisk/fdisk.c:455 fdisk/fdisk.c:473 fdisk/fdisk.c:489 fdisk/fdisk.c:505
+msgid "   c   change number of cylinders"
+msgstr "   c   thay đổi số trụ"
+
+#: fdisk/fdisk.c:456 fdisk/fdisk.c:474 fdisk/fdisk.c:490 fdisk/fdisk.c:506
+msgid "   d   print the raw data in the partition table"
+msgstr "   d   in ra dữ liệu thô trong bảng phân vùng"
+
+#: fdisk/fdisk.c:457
+msgid "   e   change number of extra sectors per cylinder"
+msgstr "   e   thay đổi số rãnh ghi dự phòng trong mỗi trụ"
+
+#: fdisk/fdisk.c:458 fdisk/fdisk.c:477 fdisk/fdisk.c:493 fdisk/fdisk.c:510
+msgid "   h   change number of heads"
+msgstr "   h   thay đổi số đầu đọc"
+
+#: fdisk/fdisk.c:459
+msgid "   i   change interleave factor"
+msgstr "   i   thay đổi hệ số xen kẽ"
+
+#: fdisk/fdisk.c:460
+msgid "   o   change rotation speed (rpm)"
+msgstr "   o   thay đổi tốc độ quay (rpm)"
+
+#: fdisk/fdisk.c:465 fdisk/fdisk.c:482 fdisk/fdisk.c:498 fdisk/fdisk.c:516
+msgid "   s   change number of sectors/track"
+msgstr "   s   thay đổi số rãnh ghi/rãnh"
+
+#: fdisk/fdisk.c:468
+msgid "   y   change number of physical cylinders"
+msgstr "   y   thay đổi số trụ vật lý"
+
+#: fdisk/fdisk.c:472 fdisk/fdisk.c:488 fdisk/fdisk.c:504
+msgid "   b   move beginning of data in a partition"
+msgstr "   b   di chuyển bắt đầu của dữ liệu trong một phân vùng"
+
+#: fdisk/fdisk.c:475 fdisk/fdisk.c:491 fdisk/fdisk.c:507
+msgid "   e   list extended partitions"
+msgstr "   e   liệt kê các phân vùng mở rộng"
+
+#: fdisk/fdisk.c:476 fdisk/fdisk.c:492 fdisk/fdisk.c:509
+msgid "   g   create an IRIX (SGI) partition table"
+msgstr "   g   tạo một bảng phân vùng IRIX (SGI)"
+
+#: fdisk/fdisk.c:508
+msgid "   f   fix partition order"
+msgstr "   f   sửa thứ tự phân vùng"
+
+#: fdisk/fdisk.c:511
+msgid "   i   change the disk identifier"
+msgstr "   i   thay đổi đồ nhận diện đĩa"
+
+#: fdisk/fdisk.c:627
+#, c-format
+msgid "You must set"
+msgstr "Bạn phải đặt"
+
+#: fdisk/fdisk.c:644
+msgid "heads"
+msgstr "đầu đọc"
+
+#: fdisk/fdisk.c:646 fdisk/fdisk.c:1357 fdisk/sfdisk.c:945
+msgid "sectors"
+msgstr "rãnh ghi"
+
+#: fdisk/fdisk.c:652
+#, 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"
+
+#: fdisk/fdisk.c:653
+msgid " and "
+msgstr " và "
+
+#: fdisk/fdisk.c:670
+#, c-format
+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"
+"Số trụ cho đĩa này được đặt thành %d.\n"
+"Không có gì sai, nhưng số này lớn hơn 1024,\n"
+"và có thể tạo vấn đề với:\n"
+"1) phần mềm chạy tại thời điểm khởi động (v.d., phiên bản LILO cũ)\n"
+"2) phần mềm khởi động và phân vùng từ các HĐH khác\n"
+"   (v.d., DOS FDISK, OS/2 FDISK)\n"
+
+#: fdisk/fdisk.c:683
+#, 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 %d-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 %d-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"
+
+#: fdisk/fdisk.c:708
+#, 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"
+
+#: fdisk/fdisk.c:722
+#, 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"
+
+#: fdisk/fdisk.c:741
+#, 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"
+
+#: fdisk/fdisk.c:749
+#, 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"
+
+#: fdisk/fdisk.c:782
+#, c-format
+msgid "omitting empty partition (%d)\n"
+msgstr "đang bỏ quên phân vùng rỗng (%d)\n"
+
+#: fdisk/fdisk.c:801
+#, c-format
+msgid "Disk identifier: 0x%08x\n"
+msgstr "Đồ nhận diện đĩa: 0x%08x\n"
+
+#: fdisk/fdisk.c:810
+#, c-format
+msgid "New disk identifier (current 0x%08x): "
+msgstr "Đồ nhận diện đĩa mới (hiện thời 0x%08x): "
+
+#: fdisk/fdisk.c:829
+#, c-format
+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"
+
+#: fdisk/fdisk.c:861
+#, c-format
+msgid "Note: sector size is %d (not %d)\n"
+msgstr "Chú ý: kích cỡ rãnh ghi là %d (không %d)\n"
+
+#: fdisk/fdisk.c:990
+#, c-format
+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"
+
+#: fdisk/fdisk.c:1022
+#, c-format
+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"
+
+#: fdisk/fdisk.c:1032
+#, c-format
+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"
+
+#: fdisk/fdisk.c:1049
+#, c-format
+msgid "Internal error\n"
+msgstr "Lỗi nội bộ\n"
+
+#: fdisk/fdisk.c:1062
+#, 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"
+
+#: fdisk/fdisk.c:1074
+#, 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"
+
+#: fdisk/fdisk.c:1096
+#, c-format
+msgid ""
+"\n"
+"got EOF thrice - exiting..\n"
+msgstr ""
+"\n"
+"nhận được EOF ba lần - đang thoát..\n"
+
+#: fdisk/fdisk.c:1135
+msgid "Hex code (type L to list codes): "
+msgstr "Mã Hex (gõ L để liệt kê mã): "
+
+#: fdisk/fdisk.c:1175
+#, c-format
+msgid "%s (%u-%u, default %u): "
+msgstr "%s (%u-%u, mặc định %u): "
+
+#: fdisk/fdisk.c:1242
+#, c-format
+msgid "Unsupported suffix: '%s'.\n"
+msgstr "Hấu tố không được hỗ trợ : « %s ».\n"
+
+#: fdisk/fdisk.c:1243
+#, 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"
+
+#: fdisk/fdisk.c:1269
+#, c-format
+msgid "Using default value %u\n"
+msgstr "Sử dụng giá trị mặc định %u\n"
+
+#: fdisk/fdisk.c:1273
+#, c-format
+msgid "Value out of range.\n"
+msgstr "Giá trị vượt quá giới hạn.\n"
+
+#: fdisk/fdisk.c:1283
+msgid "Partition number"
+msgstr "Số thứ tự phân vùng"
+
+#: fdisk/fdisk.c:1294
+#, 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"
+
+#: fdisk/fdisk.c:1316 fdisk/fdisk.c:1342
+#, c-format
+msgid "Selected partition %d\n"
+msgstr "Phân vùng được chọn %d\n"
+
+#: fdisk/fdisk.c:1319
+#, c-format
+msgid "No partition is defined yet!\n"
+msgstr "Không có phân vùng được xác định!\n"
+
+#: fdisk/fdisk.c:1345
+#, 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"
+
+#: fdisk/fdisk.c:1355
+msgid "cylinder"
+msgstr "trụ"
+
+#: fdisk/fdisk.c:1355
+msgid "sector"
+msgstr "rãnh ghi"
+
+#: fdisk/fdisk.c:1364
+#, c-format
+msgid "Changing display/entry units to %s\n"
+msgstr "Thay đổi đơn vị hiển thị thành %s\n"
+
+#: fdisk/fdisk.c:1375
+#, 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"
+
+#: fdisk/fdisk.c:1386
+#, c-format
+msgid "DOS Compatibility flag is set\n"
+msgstr "Cờ tương thích với DOS được đặt\n"
+
+#: fdisk/fdisk.c:1390
+#, c-format
+msgid "DOS Compatibility flag is not set\n"
+msgstr "Cờ tương thích DOS không được đặt\n"
+
+#: fdisk/fdisk.c:1490
+#, c-format
+msgid "Partition %d does not exist yet!\n"
+msgstr "Phân vùng %d không tồn tại!\n"
+
+#: fdisk/fdisk.c:1495
+#, 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"
+
+#: fdisk/fdisk.c:1504
+#, 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"
+
+#: fdisk/fdisk.c:1513
+#, 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"
+
+#: fdisk/fdisk.c:1519
+#, 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"
+
+#: fdisk/fdisk.c:1536
+#, 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"
+
+#: fdisk/fdisk.c:1539
+#, 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"
+
+#: fdisk/fdisk.c:1591
+#, 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"
+
+#: fdisk/fdisk.c:1593 fdisk/fdisk.c:1601 fdisk/fdisk.c:1610 fdisk/fdisk.c:1620
+#, c-format
+msgid "     phys=(%d, %d, %d) "
+msgstr "     vật lý=(%d, %d, %d) "
+
+#: fdisk/fdisk.c:1594 fdisk/fdisk.c:1602
+#, c-format
+msgid "logical=(%d, %d, %d)\n"
+msgstr "lôgíc=(%d, %d, %d)\n"
+
+#: fdisk/fdisk.c:1599
+#, 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"
+
+#: fdisk/fdisk.c:1608
+#, c-format
+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"
+
+#: fdisk/fdisk.c:1611
+#, c-format
+msgid "should be (%d, %d, 1)\n"
+msgstr "phải là (%d, %d, 1)\n"
+
+#: fdisk/fdisk.c:1617
+#, 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"
+
+#: fdisk/fdisk.c:1621
+#, c-format
+msgid "should be (%d, %d, %d)\n"
+msgstr "phải là (%d, %d, %d)\n"
+
+#: fdisk/fdisk.c:1633
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld MB, %lld bytes\n"
+msgstr ""
+"\n"
+"Đĩa %s: %ld MB, %lld byte\n"
+
+#: fdisk/fdisk.c:1637
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld.%ld GB, %lld bytes\n"
+msgstr ""
+"\n"
+"Đĩa %s: %ld.%ld GB, %lld byte\n"
+
+#: fdisk/fdisk.c:1640
+#, c-format
+msgid "%d heads, %llu sectors/track, %d cylinders"
+msgstr "%d đầu đọc, %llu rãnh ghi/rãnh, %d trụ"
+
+#: fdisk/fdisk.c:1643
+#, c-format
+msgid ", total %llu sectors"
+msgstr ", tổng số %llu rãnh ghi"
+
+#: fdisk/fdisk.c:1646
+#, c-format
+msgid "Units = %s of %d * %d = %d bytes\n"
+msgstr "Đơn vị = %s của %d * %d = %d byte\n"
+
+#: fdisk/fdisk.c:1757
+#, 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"
+
+#: fdisk/fdisk.c:1785
+#, c-format
+msgid "Done.\n"
+msgstr "Hoàn tất.\n"
+
+#: fdisk/fdisk.c:1813
+#, 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"
+
+#: fdisk/fdisk.c:1826
+#, 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"
+
+#: fdisk/fdisk.c:1827 fdisk/fdisksgilabel.c:223 fdisk/fdisksunlabel.c:603
+msgid "Device"
+msgstr "Thiết bị"
+
+#: fdisk/fdisk.c:1864
+#, 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"
+
+#: fdisk/fdisk.c:1874
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %d cylinders\n"
+"\n"
+msgstr ""
+"\n"
+"Đĩa %s: %d đầu đọc, %llu rãnh ghi, %d trụ\n"
+"\n"
+
+#: fdisk/fdisk.c:1876
+#, 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"
+
+#: fdisk/fdisk.c:1922
+#, 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"
+
+#: fdisk/fdisk.c:1925
+#, 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"
+
+#: fdisk/fdisk.c:1928
+#, 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"
+
+#: fdisk/fdisk.c:1931
+#, c-format
+msgid "Partitions %d: cylinder %d greater than maximum %d\n"
+msgstr "Phân vùng %d: trụ %d lớn hơn max %d\n"
+
+#: fdisk/fdisk.c:1935
+#, 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"
+
+#: fdisk/fdisk.c:1968
+#, 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"
+
+#: fdisk/fdisk.c:1976
+#, 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"
+
+#: fdisk/fdisk.c:1996
+#, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr "Cảnh báo: phân vùng %d rỗng\n"
+
+#: fdisk/fdisk.c:2001
+#, 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"
+
+#: fdisk/fdisk.c:2007
+#, 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"
+
+#: fdisk/fdisk.c:2010
+#, c-format
+msgid "%lld unallocated %d-byte sectors\n"
+msgstr "%lld rãnh ghi %d-byte không được phân phối\n"
+
+#: fdisk/fdisk.c:2025 fdisk/fdisksgilabel.c:633 fdisk/fdisksunlabel.c:416
+#, 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"
+
+#: fdisk/fdisk.c:2067
+#, c-format
+msgid "Sector %llu is already allocated\n"
+msgstr "Rãnh ghi %llu đã được phân phối\n"
+
+#: fdisk/fdisk.c:2103
+#, c-format
+msgid "No free sectors available\n"
+msgstr "Không còn rãnh ghi nào trống\n"
+
+#: fdisk/fdisk.c:2112
+#, 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}"
+
+#: fdisk/fdisk.c:2178
+#, 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"
+
+#: fdisk/fdisk.c:2187
+#, 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"
+
+#: fdisk/fdisk.c:2207
+#, c-format
+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"
+
+#: fdisk/fdisk.c:2210
+#, 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"
+
+#: fdisk/fdisk.c:2211
+#, c-format
+msgid "Adding a primary partition\n"
+msgstr "Thêm phân vùng chính\n"
+
+#: fdisk/fdisk.c:2216
+#, c-format
+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"
+
+#: fdisk/fdisk.c:2218
+msgid "l   logical (5 or over)"
+msgstr "l   lôgíc (5 hoặc hơn)"
+
+#: fdisk/fdisk.c:2218
+msgid "e   extended"
+msgstr "e   mở rộng"
+
+#: fdisk/fdisk.c:2237
+#, c-format
+msgid "Invalid partition number for type `%c'\n"
+msgstr "Sai số phân vùng cho loại `%c'\n"
+
+#: fdisk/fdisk.c:2273
+#, c-format
+msgid ""
+"The partition table has been altered!\n"
+"\n"
+msgstr ""
+"Bảng phân vùng đã được ghi!\n"
+"\n"
+
+#: fdisk/fdisk.c:2287
+#, 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"
+
+#: fdisk/fdisk.c:2296
+#, c-format
+msgid ""
+"\n"
+"WARNING: Re-reading the partition table failed with error %d: %s.\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 (lỗi %d): %s.\n"
+"Hạt nhân vẫn còn dùng bảng cũ.\n"
+"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 công cụ partprobe(8) hay kpartx(8).\n"
+
+#: fdisk/fdisk.c:2304
+#, 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"
+
+#: fdisk/fdisk.c:2310
+#, c-format
+msgid ""
+"\n"
+"Error closing file\n"
+msgstr ""
+"\n"
+"Lỗi đóng tập tin\n"
+
+#: fdisk/fdisk.c:2314
+#, c-format
+msgid "Syncing disks.\n"
+msgstr "Đang đồng bộ hoá các đĩa.\n"
+
+#: fdisk/fdisk.c:2361
+#, 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"
+
+#: fdisk/fdisk.c:2366
+msgid "New beginning of data"
+msgstr "Điểm bắt đầu dữ liệu mới"
+
+#: fdisk/fdisk.c:2382
+msgid "Expert command (m for help): "
+msgstr "Câu lệnh nâng cao (m để xem trợ giúp): "
+
+#: fdisk/fdisk.c:2395
+msgid "Number of cylinders"
+msgstr "Số trụ"
+
+#: fdisk/fdisk.c:2422
+msgid "Number of heads"
+msgstr "Số đầu đọc"
+
+#: fdisk/fdisk.c:2449
+msgid "Number of sectors"
+msgstr "Số rãnh ghi"
+
+#: fdisk/fdisk.c:2452
+#, c-format
+msgid "Warning: setting sector offset for DOS compatiblity\n"
+msgstr "Cảnh báo : thiết lập hiệu số rãnh ghi cho tương thích DOS\n"
+
+#: fdisk/fdisk.c:2511
+#, 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"
+
+#: fdisk/fdisk.c:2533
+#, c-format
+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"
+
+#: fdisk/fdisk.c:2544
+#, c-format
+msgid "Cannot open %s\n"
+msgstr "Không thể mở %s\n"
+
+#: fdisk/fdisk.c:2563 fdisk/sfdisk.c:2618
+#, c-format
+msgid "cannot open %s\n"
+msgstr "không thể mở %s\n"
+
+#: fdisk/fdisk.c:2583
+#, c-format
+msgid "%c: unknown command\n"
+msgstr "%c: câu lệnh không biết\n"
+
+#: fdisk/fdisk.c:2653
+#, c-format
+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"
+
+#: fdisk/fdisk.c:2657
+#, 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"
+
+#: fdisk/fdisk.c:2717
+#, 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"
+
+#: fdisk/fdisk.c:2727
+msgid "Command (m for help): "
+msgstr "Câu lệnh (m để xem trợ giúp): "
+
+#: fdisk/fdisk.c:2743
+#, 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"
+
+#: fdisk/fdisk.c:2745
+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: "
+
+#: fdisk/fdisk.c:2747
+#, c-format
+msgid "Boot file unchanged\n"
+msgstr "Tập tin khởi động không thay đổi\n"
+
+#: fdisk/fdisk.c:2820
+#, c-format
+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"
+
+#: fdisk/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"
+
+#: fdisk/fdisksgilabel.c:81
+msgid "SGI volhdr"
+msgstr "SGI volhdr"
+
+#: fdisk/fdisksgilabel.c:82
+msgid "SGI trkrepl"
+msgstr "SGI trkrepl"
+
+#: fdisk/fdisksgilabel.c:83
+msgid "SGI secrepl"
+msgstr "SGI secrepl"
+
+#: fdisk/fdisksgilabel.c:84
+msgid "SGI raw"
+msgstr "SGI thô"
+
+#: fdisk/fdisksgilabel.c:85
+msgid "SGI bsd"
+msgstr "SGI bsd"
+
+#: fdisk/fdisksgilabel.c:86
+msgid "SGI sysv"
+msgstr "SGI sysv"
+
+#: fdisk/fdisksgilabel.c:87
+msgid "SGI volume"
+msgstr "Khối tin SGI"
+
+#: fdisk/fdisksgilabel.c:88
+msgid "SGI efs"
+msgstr "SGI efs"
+
+#: fdisk/fdisksgilabel.c:89
+msgid "SGI lvol"
+msgstr "SGI lvol"
+
+#: fdisk/fdisksgilabel.c:90
+msgid "SGI rlvol"
+msgstr "SGI rlvol"
+
+#: fdisk/fdisksgilabel.c:91
+msgid "SGI xfs"
+msgstr "SGI xfs"
+
+#: fdisk/fdisksgilabel.c:92
+msgid "SGI xfslog"
+msgstr "SGI xfslog"
+
+#: fdisk/fdisksgilabel.c:93
+msgid "SGI xlv"
+msgstr "SGI xlv"
+
+#: fdisk/fdisksgilabel.c:94
+msgid "SGI xvm"
+msgstr "SGI xvm"
+
+#: fdisk/fdisksgilabel.c:95 fdisk/fdisksunlabel.c:55
+msgid "Linux swap"
+msgstr "Trao đổi Linux"
+
+#: fdisk/fdisksgilabel.c:96 fdisk/fdisksunlabel.c:56
+msgid "Linux native"
+msgstr "Linux sở hữu"
+
+#: fdisk/fdisksgilabel.c:97 fdisk/fdisksunlabel.c:57 fdisk/i386_sys_types.c:63
+msgid "Linux LVM"
+msgstr "Linux LVM"
+
+#: fdisk/fdisksgilabel.c:98
+msgid "Linux RAID"
+msgstr "Linux RAID"
+
+#: fdisk/fdisksgilabel.c:164
+#, 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"
+
+#: fdisk/fdisksgilabel.c:183
+#, 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"
+
+#: fdisk/fdisksgilabel.c:201
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors\n"
+"%d cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * %d bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Đĩa %s (nhãn đĩa SGI): %d đầu đọc, %llu rãnh ghi\n"
+"%d 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 * %d byte\n"
+"\n"
+
+#: fdisk/fdisksgilabel.c:214
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors, %d cylinders\n"
+"Units = %s of %d * %d bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Đĩa %s (nhãn đĩa SGI): %d đầu đọc, %llu rãnh ghi, %d trụ\n"
+"Đơn vị = %s của %d * %d byte\n"
+"\n"
+
+#: fdisk/fdisksgilabel.c:221
+#, 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"
+
+#: fdisk/fdisksgilabel.c:243
+#, 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"
+
+#: fdisk/fdisksgilabel.c:251
+#, c-format
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr "%2d: %-10s rãnh ghi %5u cỡ %8u\n"
+
+#: fdisk/fdisksgilabel.c:305
+#, 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"
+
+#: fdisk/fdisksgilabel.c:311
+#, 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"
+
+#: fdisk/fdisksgilabel.c:316
+#, 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"
+
+#: fdisk/fdisksgilabel.c:323
+#, 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"
+
+#: fdisk/fdisksgilabel.c:349
+#, 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"
+
+#: fdisk/fdisksgilabel.c:439
+#, c-format
+msgid "More than one entire disk entry present.\n"
+msgstr "Có nhiều hơn một mục đĩa.\n"
+
+#: fdisk/fdisksgilabel.c:446 fdisk/fdisksunlabel.c:388
+#, c-format
+msgid "No partitions defined\n"
+msgstr "Không có phân vùng nào được định nghĩa\n"
+
+#: fdisk/fdisksgilabel.c:452
+#, 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"
+
+#: fdisk/fdisksgilabel.c:454
+#, 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"
+
+#: fdisk/fdisksgilabel.c:460
+#, 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"
+
+#: fdisk/fdisksgilabel.c:466
+#, c-format
+msgid "One Partition (#11) should cover the entire disk.\n"
+msgstr "Một phân vùng (#11) cần chứa cả ổ đĩa.\n"
+
+#: fdisk/fdisksgilabel.c:476
+#, 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"
+
+#: fdisk/fdisksgilabel.c:482
+#, 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"
+
+#: fdisk/fdisksgilabel.c:489
+#, 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"
+
+#: fdisk/fdisksgilabel.c:497 fdisk/fdisksgilabel.c:515
+#, 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"
+
+#: fdisk/fdisksgilabel.c:526
+#, 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"
+
+#: fdisk/fdisksgilabel.c:529
+#, 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"
+
+#: fdisk/fdisksgilabel.c:533
+#, 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"
+
+#: fdisk/fdisksgilabel.c:536
+#, 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"
+
+#: fdisk/fdisksgilabel.c:545
+#, c-format
+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"
+
+#: fdisk/fdisksgilabel.c:551
+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"
+
+#: fdisk/fdisksgilabel.c:556 fdisk/fdisksunlabel.c:554
+msgid "YES\n"
+msgstr "YES\n"
+
+#: fdisk/fdisksgilabel.c:581
+#, c-format
+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"
+
+#: fdisk/fdisksgilabel.c:639
+#, c-format
+msgid "Attempting to generate entire disk entry automatically.\n"
+msgstr "Thử tự động phân vùng cả đĩa.\n"
+
+#: fdisk/fdisksgilabel.c:644
+#, c-format
+msgid "The entire disk is already covered with partitions.\n"
+msgstr "Ổ đĩa đã chứa các phân vùng.\n"
+
+#: fdisk/fdisksgilabel.c:648
+#, 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"
+
+#: fdisk/fdisksgilabel.c:657 fdisk/fdisksgilabel.c:686
+#, 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"
+
+#: fdisk/fdisksgilabel.c:673
+#, 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"
+
+#: fdisk/fdisksgilabel.c:678
+#, c-format
+msgid " Last %s"
+msgstr " %s cuối"
+
+#: fdisk/fdisksgilabel.c:708
+#, c-format
+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"
+
+#: fdisk/fdisksgilabel.c:731 fdisk/fdisksunlabel.c:227
+#, c-format
+msgid ""
+"Warning:  BLKGETSIZE ioctl failed on %s.  Using geometry cylinder value of %"
+"d.\n"
+"This value may be truncated for devices > 33.8 GB.\n"
+msgstr ""
+"Cảnh báo: BLKGETSIZE ioctl lỗi trên %s. Sử dụng giá trị cấu trúc trụ là %d.\n"
+
+#: fdisk/fdisksgilabel.c:745
+#, c-format
+msgid "Trying to keep parameters of partition %d.\n"
+msgstr "Đang cố giữ lại các tham số của phân vùng %d.\n"
+
+#: fdisk/fdisksgilabel.c:747
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr "ID=%02x\tĐẦU=%d\tĐỘ DÀI=%d\n"
+
+#: fdisk/fdisksunlabel.c:43
+msgid "Unassigned"
+msgstr "Chưa gán"
+
+#: fdisk/fdisksunlabel.c:45
+msgid "SunOS root"
+msgstr "Gốc SunOS"
+
+#: fdisk/fdisksunlabel.c:46
+msgid "SunOS swap"
+msgstr "Trao đổi SunOS"
+
+#: fdisk/fdisksunlabel.c:47
+msgid "SunOS usr"
+msgstr "SunOS usr"
+
+#: fdisk/fdisksunlabel.c:48
+msgid "Whole disk"
+msgstr "Cả đĩa"
+
+#: fdisk/fdisksunlabel.c:49
+msgid "SunOS stand"
+msgstr "SunOS stand"
+
+#: fdisk/fdisksunlabel.c:50
+msgid "SunOS var"
+msgstr "SunOS var"
+
+#: fdisk/fdisksunlabel.c:51
+msgid "SunOS home"
+msgstr "SunOS home"
+
+#: fdisk/fdisksunlabel.c:52
+msgid "SunOS alt sectors"
+msgstr "Rãnh ghi thay thế SunOS"
+
+#: fdisk/fdisksunlabel.c:53
+msgid "SunOS cachefs"
+msgstr "Hệ thống tập tin nhớ tạm SunOS"
+
+#: fdisk/fdisksunlabel.c:54
+msgid "SunOS reserved"
+msgstr "Dành riêng SunOS"
+
+#: fdisk/fdisksunlabel.c:58 fdisk/i386_sys_types.c:103
+msgid "Linux raid autodetect"
+msgstr "Tự động nhận ra Linux raid"
+
+#: fdisk/fdisksunlabel.c:141
+#, 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"
+
+#: fdisk/fdisksunlabel.c:153
+#, 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"
+
+#: fdisk/fdisksunlabel.c:158
+#, 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"
+
+#: fdisk/fdisksunlabel.c:163
+#, 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"
+
+#: fdisk/fdisksunlabel.c:168
+#, 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"
+
+#: fdisk/fdisksunlabel.c:198
+#, c-format
+msgid ""
+"Building a new sun disklabel. Changes will remain in memory only,\n"
+"until you decide to write them. After that, of course, the previous\n"
+"content won't be recoverable.\n"
+"\n"
+msgstr ""
+"Xây dựng một nhãn đĩa sun 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"
+
+#: fdisk/fdisksunlabel.c:236
+msgid "Sectors/track"
+msgstr "Rãnh ghi/rãnh"
+
+#: fdisk/fdisksunlabel.c:351
+#, 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"
+
+#: fdisk/fdisksunlabel.c:371
+#, 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"
+
+#: fdisk/fdisksunlabel.c:393
+#, 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"
+
+#: fdisk/fdisksunlabel.c:395 fdisk/fdisksunlabel.c:401
+#, 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"
+
+#: fdisk/fdisksunlabel.c:426
+#, 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"
+
+#: fdisk/fdisksunlabel.c:449
+#, 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"
+
+#: fdisk/fdisksunlabel.c:477
+#, c-format
+msgid "Sector %d is already allocated\n"
+msgstr "Rãnh ghi %d đã được phân phối\n"
+
+#: fdisk/fdisksunlabel.c:507
+#, 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"
+
+#: fdisk/fdisksunlabel.c:534
+#, 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"
+
+#: fdisk/fdisksunlabel.c:549
+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): "
+
+#: fdisk/fdisksunlabel.c:581
+#, c-format
+msgid ""
+"\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"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Đĩa %s (nhãn đĩa Sun): %d đầu đọc, %llu rãnh ghi, %d vòng/phút\n"
+"%d trụ, %d trụ xen kẽ, %d trụ vật lý\n"
+"%d rãnh ghi/trụ thêm, độ xen kẽ %d:1\n"
+"Mã hiệu nhãn: %s\n"
+"Mã hiệu khối tin: %s\n"
+"Đơn vị = %s trên %d * 512 byte\n"
+"\n"
+
+#: fdisk/fdisksunlabel.c:597
+#, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %d heads, %llu sectors, %d cylinders\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Đĩa %s (nhãn đĩa Sun): %d đầu đọc, %llu rãnh ghi, %d trụ\n"
+"Đơn vị = %s trên %d * 512 byte\n"
+"\n"
+
+#: fdisk/fdisksunlabel.c:602
+#, c-format
+msgid "%*s Flag    Start       End    Blocks   Id  System\n"
+msgstr "%*s Cờ    Đầu       Cuối    Khối   Id  Hệ thống\n"
+
+#: fdisk/fdisksunlabel.c:630
+msgid "Number of alternate cylinders"
+msgstr "Số trụ xen kẽ"
+
+#: fdisk/fdisksunlabel.c:642
+msgid "Extra sectors per cylinder"
+msgstr "Số rãnh ghi dự phòng mỗi trụ"
+
+#: fdisk/fdisksunlabel.c:649
+msgid "Interleave factor"
+msgstr "Hệ số xen kẽ"
+
+#: fdisk/fdisksunlabel.c:656
+msgid "Rotation speed (rpm)"
+msgstr "Tốc độ quay (rpm)"
+
+#: fdisk/fdisksunlabel.c:663
+msgid "Number of physical cylinders"
+msgstr "Số trụ vật lý"
+
+#: fdisk/i386_sys_types.c:6
+msgid "Empty"
+msgstr "Rỗng"
+
+#: fdisk/i386_sys_types.c:7
+msgid "FAT12"
+msgstr "FAT12"
+
+#: fdisk/i386_sys_types.c:8
+msgid "XENIX root"
+msgstr "XENIX gốc"
+
+#: fdisk/i386_sys_types.c:9
+msgid "XENIX usr"
+msgstr "XENIX usr"
+
+#: fdisk/i386_sys_types.c:10
+msgid "FAT16 <32M"
+msgstr "FAT16 <32M"
+
+#: fdisk/i386_sys_types.c:11
+msgid "Extended"
+msgstr "Mở rộng"
+
+#: fdisk/i386_sys_types.c:12
+msgid "FAT16"
+msgstr "FAT16"
+
+#: fdisk/i386_sys_types.c:13
+msgid "HPFS/NTFS"
+msgstr "HPFS/NTFS"
+
+#: fdisk/i386_sys_types.c:14
+msgid "AIX"
+msgstr "AIX"
+
+#: fdisk/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr "ATX có thể khởi động"
+
+#: fdisk/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr "OS/2 Quản lý khởi động"
+
+#: fdisk/i386_sys_types.c:17
+msgid "W95 FAT32"
+msgstr "W95 FAT32"
+
+#: fdisk/i386_sys_types.c:18
+msgid "W95 FAT32 (LBA)"
+msgstr "W95 FAT32 (LBA)"
+
+#: fdisk/i386_sys_types.c:19
+msgid "W95 FAT16 (LBA)"
+msgstr "W95 FAT16 (LBA)"
+
+#: fdisk/i386_sys_types.c:20
+msgid "W95 Ext'd (LBA)"
+msgstr "W95 Ext'd (LBA)"
+
+#: fdisk/i386_sys_types.c:21
+msgid "OPUS"
+msgstr "OPUS"
+
+#: fdisk/i386_sys_types.c:22
+msgid "Hidden FAT12"
+msgstr "FAT12 ẩn"
+
+#: fdisk/i386_sys_types.c:23
+msgid "Compaq diagnostics"
+msgstr "Chuẩn đoán Compaq"
+
+#: fdisk/i386_sys_types.c:24
+msgid "Hidden FAT16 <32M"
+msgstr "FAT16 ẩn <32M"
+
+#: fdisk/i386_sys_types.c:25
+msgid "Hidden FAT16"
+msgstr "FAT16 ẩn"
+
+#: fdisk/i386_sys_types.c:26
+msgid "Hidden HPFS/NTFS"
+msgstr "HPFS/NTFS ẩn"
+
+#: fdisk/i386_sys_types.c:27
+msgid "AST SmartSleep"
+msgstr "AST SmartSleep"
+
+#: fdisk/i386_sys_types.c:28
+msgid "Hidden W95 FAT32"
+msgstr "W95 FAT32 ẩn"
+
+#: fdisk/i386_sys_types.c:29
+msgid "Hidden W95 FAT32 (LBA)"
+msgstr "W95 FAT32 ẩn (LBA)"
+
+#: fdisk/i386_sys_types.c:30
+msgid "Hidden W95 FAT16 (LBA)"
+msgstr "W95 FAT16 (LBA) ẩn"
+
+#: fdisk/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr "NEC DOS"
+
+#: fdisk/i386_sys_types.c:32
+msgid "Plan 9"
+msgstr "Plan 9"
+
+#: fdisk/i386_sys_types.c:33
+msgid "PartitionMagic recovery"
+msgstr "Khôi phục PartitionMagic"
+
+#: fdisk/i386_sys_types.c:34
+msgid "Venix 80286"
+msgstr "Venix 80286"
+
+#: fdisk/i386_sys_types.c:35
+msgid "PPC PReP Boot"
+msgstr "Khởi động PPC PReP"
+
+#: fdisk/i386_sys_types.c:36
+msgid "SFS"
+msgstr "SFS"
+
+#: fdisk/i386_sys_types.c:37
+msgid "QNX4.x"
+msgstr "QNX4.x"
+
+#: fdisk/i386_sys_types.c:38
+msgid "QNX4.x 2nd part"
+msgstr "QNX4.x phần 2"
+
+#: fdisk/i386_sys_types.c:39
+msgid "QNX4.x 3rd part"
+msgstr "QNX4.x phần 3"
+
+#: fdisk/i386_sys_types.c:40
+msgid "OnTrack DM"
+msgstr "OnTrack DM"
+
+#: fdisk/i386_sys_types.c:41
+msgid "OnTrack DM6 Aux1"
+msgstr "OnTrack DM6 Aux1"
+
+#: fdisk/i386_sys_types.c:42
+msgid "CP/M"
+msgstr "CP/M"
+
+#: fdisk/i386_sys_types.c:43
+msgid "OnTrack DM6 Aux3"
+msgstr "OnTrack DM6 Aux3"
+
+#: fdisk/i386_sys_types.c:44
+msgid "OnTrackDM6"
+msgstr "OnTrackDM6"
+
+#: fdisk/i386_sys_types.c:45
+msgid "EZ-Drive"
+msgstr "EZ-Drive"
+
+#: fdisk/i386_sys_types.c:46
+msgid "Golden Bow"
+msgstr "Golden Bow"
+
+#: fdisk/i386_sys_types.c:47
+msgid "Priam Edisk"
+msgstr "Priam Edisk"
+
+#: fdisk/i386_sys_types.c:48 fdisk/i386_sys_types.c:92
+#: fdisk/i386_sys_types.c:98 fdisk/i386_sys_types.c:99
+msgid "SpeedStor"
+msgstr "SpeedStor"
+
+#: fdisk/i386_sys_types.c:49
+msgid "GNU HURD or SysV"
+msgstr "GNU HURD hay SysV"
+
+#: fdisk/i386_sys_types.c:50
+msgid "Novell Netware 286"
+msgstr "Novell Netware 286"
+
+#: fdisk/i386_sys_types.c:51
+msgid "Novell Netware 386"
+msgstr "Novell Netware 386"
+
+#: fdisk/i386_sys_types.c:52
+msgid "DiskSecure Multi-Boot"
+msgstr "Bảomậtđĩa Đa-khởi-động"
+
+#: fdisk/i386_sys_types.c:53
+msgid "PC/IX"
+msgstr "PC/IX"
+
+#: fdisk/i386_sys_types.c:54
+msgid "Old Minix"
+msgstr "Minix cũ"
+
+#: fdisk/i386_sys_types.c:55
+msgid "Minix / old Linux"
+msgstr "Minux / Linux cũ"
+
+#: fdisk/i386_sys_types.c:56
+msgid "Linux swap / Solaris"
+msgstr "Trao đổi Linux / Solaris"
+
+#: fdisk/i386_sys_types.c:58
+msgid "OS/2 hidden C: drive"
+msgstr "OS/2 ổ đĩa C: ẩn"
+
+#: fdisk/i386_sys_types.c:59
+msgid "Linux extended"
+msgstr "Linux mở rộng"
+
+#: fdisk/i386_sys_types.c:60 fdisk/i386_sys_types.c:61
+msgid "NTFS volume set"
+msgstr "Bộ khối tin NTFS"
+
+#: fdisk/i386_sys_types.c:62
+msgid "Linux plaintext"
+msgstr "Linux nhập thô"
+
+#: fdisk/i386_sys_types.c:64
+msgid "Amoeba"
+msgstr "Amoeba"
+
+#: fdisk/i386_sys_types.c:65
+msgid "Amoeba BBT"
+msgstr "Amoeba BBT"
+
+#: fdisk/i386_sys_types.c:66
+msgid "BSD/OS"
+msgstr "BSD/OS"
+
+#: fdisk/i386_sys_types.c:67
+msgid "IBM Thinkpad hibernation"
+msgstr "Ngủ động của IBM Thinkpad"
+
+#: fdisk/i386_sys_types.c:68
+msgid "FreeBSD"
+msgstr "FreeBSD"
+
+#: fdisk/i386_sys_types.c:69
+msgid "OpenBSD"
+msgstr "OpenBSD"
+
+#: fdisk/i386_sys_types.c:70
+msgid "NeXTSTEP"
+msgstr "NeXTSTEP"
+
+#: fdisk/i386_sys_types.c:71
+msgid "Darwin UFS"
+msgstr "Darwin UFS"
+
+#: fdisk/i386_sys_types.c:72
+msgid "NetBSD"
+msgstr "NetBSD"
+
+#: fdisk/i386_sys_types.c:73
+msgid "Darwin boot"
+msgstr "Khởi động Darwin"
+
+#: fdisk/i386_sys_types.c:74
+msgid "HFS / HFS+"
+msgstr "HFS / HFS+"
+
+#: fdisk/i386_sys_types.c:75
+msgid "BSDI fs"
+msgstr "Hệ thống tập tin BSDI"
+
+#: fdisk/i386_sys_types.c:76
+msgid "BSDI swap"
+msgstr "Trao đổi BSDI"
+
+#: fdisk/i386_sys_types.c:77
+msgid "Boot Wizard hidden"
+msgstr "Thuật sĩ khởi động ẩn"
+
+#: fdisk/i386_sys_types.c:78
+msgid "Solaris boot"
+msgstr "Khởi động Solaris"
+
+#: fdisk/i386_sys_types.c:79
+msgid "Solaris"
+msgstr "Solaris"
+
+#: fdisk/i386_sys_types.c:80
+msgid "DRDOS/sec (FAT-12)"
+msgstr "DRDOS/sec (FAT-12)"
+
+#: fdisk/i386_sys_types.c:81
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr "DRDOS/sec (FAT-16 < 32M)"
+
+#: fdisk/i386_sys_types.c:82
+msgid "DRDOS/sec (FAT-16)"
+msgstr "DRDOS/sec (FAT-16)"
+
+#: fdisk/i386_sys_types.c:83
+msgid "Syrinx"
+msgstr "Syrinx"
+
+#: fdisk/i386_sys_types.c:84
+msgid "Non-FS data"
+msgstr "Dữ liệu không phải FS"
+
+#: fdisk/i386_sys_types.c:85
+msgid "CP/M / CTOS / ..."
+msgstr "CP/M / CTOS / ..."
+
+#: fdisk/i386_sys_types.c:87
+msgid "Dell Utility"
+msgstr "Công cụ Dell"
+
+# Name: don't translate/Tên: đừng dịch
+#: fdisk/i386_sys_types.c:88
+msgid "BootIt"
+msgstr "BootIt"
+
+#: fdisk/i386_sys_types.c:89
+msgid "DOS access"
+msgstr "Truy cập DOS"
+
+#: fdisk/i386_sys_types.c:91
+msgid "DOS R/O"
+msgstr "DOS R/O (chỉ đọc)"
+
+#: fdisk/i386_sys_types.c:94
+msgid "BeOS fs"
+msgstr "Hệ thống tập tin BeOS"
+
+#: fdisk/i386_sys_types.c:95
+msgid "GPT"
+msgstr "GPT"
+
+#: fdisk/i386_sys_types.c:96
+msgid "EFI (FAT-12/16/32)"
+msgstr "EFI (FAT-12/16/32)"
+
+#: fdisk/i386_sys_types.c:97
+msgid "Linux/PA-RISC boot"
+msgstr "Khởi động Linux/PA-RISC"
+
+#: fdisk/i386_sys_types.c:100
+msgid "DOS secondary"
+msgstr "DOS phụ"
+
+#: fdisk/i386_sys_types.c:101
+msgid "VMware VMFS"
+msgstr "VMware VMFS"
+
+#: fdisk/i386_sys_types.c:102
+msgid "VMware VMKCORE"
+msgstr "VMware VMKCORE"
+
+# Name: don't translate/Tên: đừng dịch
+#: fdisk/i386_sys_types.c:106
+msgid "LANstep"
+msgstr "LANstep"
+
+#: fdisk/i386_sys_types.c:107
+msgid "BBT"
+msgstr "BBT"
+
+#: fdisk/sfdisk.c:179
+#, 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"
+
+#: fdisk/sfdisk.c:184
+#, 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"
+
+#: fdisk/sfdisk.c:230
+msgid "out of memory - giving up\n"
+msgstr "tràn bộ nhớ - không thể tiếp tục\n"
+
+#: fdisk/sfdisk.c:235 fdisk/sfdisk.c:318
+#, 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"
+
+#: fdisk/sfdisk.c:253
+#, 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"
+
+#: fdisk/sfdisk.c:268
+#, 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"
+
+#: fdisk/sfdisk.c:306
+#, 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"
+
+#: fdisk/sfdisk.c:324
+#, c-format
+msgid "write error on %s\n"
+msgstr "lỗi ghi trên %s\n"
+
+#: fdisk/sfdisk.c:350
+#, 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"
+
+#: fdisk/sfdisk.c:355
+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"
+
+#: fdisk/sfdisk.c:359
+msgid "out of memory?\n"
+msgstr "tràn bộ nhớ?\n"
+
+#: fdisk/sfdisk.c:365
+#, 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"
+
+#: fdisk/sfdisk.c:371
+#, c-format
+msgid "error reading %s\n"
+msgstr "lỗi đọc %s\n"
+
+#: fdisk/sfdisk.c:378
+#, c-format
+msgid "cannot open device %s for writing\n"
+msgstr "không thể mở thiết bị %s để ghi\n"
+
+#: fdisk/sfdisk.c:390
+#, c-format
+msgid "error writing sector %lu on %s\n"
+msgstr "lỗi ghi rãnh ghi %lu trên %s\n"
+
+#: fdisk/sfdisk.c:455
+#, c-format
+msgid "Disk %s: cannot get geometry\n"
+msgstr "Đĩa %s: không thể lấy cấu trúc\n"
+
+#: fdisk/sfdisk.c:472
+#, c-format
+msgid "Disk %s: cannot get size\n"
+msgstr "Đĩa %s: không thể lấy kích cỡ\n"
+
+#: fdisk/sfdisk.c:505
+#, 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"
+
+#: fdisk/sfdisk.c:512
+#, 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"
+
+#: fdisk/sfdisk.c:515
+#, 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"
+
+#: fdisk/sfdisk.c:519
+#, 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"
+
+#: fdisk/sfdisk.c:524
+#, 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"
+
+#: fdisk/sfdisk.c:528
+#, 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"
+
+#: fdisk/sfdisk.c:610
+#, 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"
+
+#: fdisk/sfdisk.c:615
+#, 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"
+
+#: fdisk/sfdisk.c:620
+#, 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"
+
+#: fdisk/sfdisk.c:660
+#, c-format
+msgid ""
+"Id  Name\n"
+"\n"
+msgstr ""
+"Id  Tên\n"
+"\n"
+
+#: fdisk/sfdisk.c:821
+#, c-format
+msgid "Re-reading the partition table ...\n"
+msgstr "Đang đọc lại bảng phân vùng ...\n"
+
+#: fdisk/sfdisk.c:827
+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"
+
+#: fdisk/sfdisk.c:833
+#, c-format
+msgid "Error closing %s\n"
+msgstr "Lỗi đóng %s\n"
+
+#: fdisk/sfdisk.c:871
+#, c-format
+msgid "%s: no such partition\n"
+msgstr "%s: không có phân vùng như vậy\n"
+
+#: fdisk/sfdisk.c:894
+msgid "unrecognized format - using sectors\n"
+msgstr "định dạng không nhận ra - sử dụng rãnh ghi\n"
+
+#: fdisk/sfdisk.c:944
+#, c-format
+msgid "unimplemented format - using %s\n"
+msgstr "định dạng chưa hỗ trợ - sử dụng %s\n"
+
+#: fdisk/sfdisk.c:948
+#, 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"
+
+#: fdisk/sfdisk.c:951
+#, 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"
+
+#: fdisk/sfdisk.c:956
+#, c-format
+msgid ""
+"Units = sectors of 512 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Đơn vị = sector 512 byte, đếm từ %d\n"
+"\n"
+
+#: fdisk/sfdisk.c:958
+#, 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"
+
+#: fdisk/sfdisk.c:961
+#, 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"
+
+#: fdisk/sfdisk.c:963
+#, 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"
+
+#: fdisk/sfdisk.c:966
+#, c-format
+msgid ""
+"Units = mebibytes of 1048576 bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Đơn vị = mebibyte 1048576 byte, khối 1024 byte, đếm từ %d\n"
+"\n"
+
+#: fdisk/sfdisk.c:968
+#, 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"
+
+#: fdisk/sfdisk.c:1128
+#, 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"
+
+#: fdisk/sfdisk.c:1135
+#, 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"
+
+#: fdisk/sfdisk.c:1138
+#, 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"
+
+#: fdisk/sfdisk.c:1148
+msgid "No partitions found\n"
+msgstr "Không tìm thấy phân vùng nào\n"
+
+#: fdisk/sfdisk.c:1152
+#, 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"
+
+#: fdisk/sfdisk.c:1201
+msgid "no partition table present.\n"
+msgstr "không có bảng phân vùng nào.\n"
+
+#: fdisk/sfdisk.c:1203
+#, c-format
+msgid "strange, only %d partitions defined.\n"
+msgstr "kỳ lạ, chỉ có %d phân vùng xác định.\n"
+
+#: fdisk/sfdisk.c:1212
+#, 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"
+
+#: fdisk/sfdisk.c:1215
+#, 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"
+
+#: fdisk/sfdisk.c:1218
+#, 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"
+
+#: fdisk/sfdisk.c:1229
+#, c-format
+msgid "Warning: partition %s "
+msgstr "Cảnh báo: phân vùng %s "
+
+#: fdisk/sfdisk.c:1230
+#, c-format
+msgid "is not contained in partition %s\n"
+msgstr "không chứa trong phân vùng %s\n"
+
+#: fdisk/sfdisk.c:1241
+#, c-format
+msgid "Warning: partitions %s "
+msgstr "Cảnh báo: các phân vùng %s "
+
+#: fdisk/sfdisk.c:1242
+#, c-format
+msgid "and %s overlap\n"
+msgstr "và %s đè lên nhau\n"
+
+#: fdisk/sfdisk.c:1253
+#, c-format
+msgid ""
+"Warning: partition %s contains part of the partition table (sector %lu),\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 %lu),\n"
+"và sẽ hủy nó khi đầy\n"
+
+#: fdisk/sfdisk.c:1265
+#, 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"
+
+#: fdisk/sfdisk.c:1269
+#, 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"
+
+#: fdisk/sfdisk.c:1284
+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"
+
+#: fdisk/sfdisk.c:1302
+#, 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"
+
+#: fdisk/sfdisk.c:1308
+#, 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"
+
+#: fdisk/sfdisk.c:1326
+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"
+
+#: fdisk/sfdisk.c:1333
+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"
+
+#: fdisk/sfdisk.c:1339
+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"
+
+#: fdisk/sfdisk.c:1353
+msgid "start"
+msgstr "đầu"
+
+#: fdisk/sfdisk.c:1356
+#, 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"
+
+#: fdisk/sfdisk.c:1362
+msgid "end"
+msgstr "cuối"
+
+#: fdisk/sfdisk.c:1365
+#, 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"
+
+#: fdisk/sfdisk.c:1368
+#, 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"
+
+#: fdisk/sfdisk.c:1393
+#, c-format
+msgid ""
+"Warning: shifted start of the extd partition from %ld to %ld\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ừ %ld tới %ld\n"
+" (Chỉ với mục đích liệt kê. Không thay đổi nội dung.)\n"
+
+#: fdisk/sfdisk.c:1399
+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"
+
+#: fdisk/sfdisk.c:1417 fdisk/sfdisk.c:1494
+#, c-format
+msgid "too many partitions - ignoring those past nr (%d)\n"
+msgstr "quá nhiều phân vùng - bỏ qua những phân vùng sau nr (%d)\n"
+
+#: fdisk/sfdisk.c:1432
+msgid "tree of partitions?\n"
+msgstr "cây phân vùng?\n"
+
+#: fdisk/sfdisk.c:1540
+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"
+
+#: fdisk/sfdisk.c:1547
+msgid "DM6 signature found - giving up\n"
+msgstr "Không tìm thấy dấu hiệu DM6 - dừng lại\n"
+
+#: fdisk/sfdisk.c:1567
+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"
+
+#: fdisk/sfdisk.c:1574 fdisk/sfdisk.c:1585
+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"
+
+#: fdisk/sfdisk.c:1619
+#, 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"
+
+#: fdisk/sfdisk.c:1631
+msgid "-n flag was given: Nothing changed\n"
+msgstr "đã đưa ra cờ -n: Không có gì thay đổi\n"
+
+#: fdisk/sfdisk.c:1647
+msgid "Failed saving the old sectors - aborting\n"
+msgstr "Lỗi ghi rãnh ghi cũ - đang dừng lại\n"
+
+#: fdisk/sfdisk.c:1652
+#, c-format
+msgid "Failed writing the partition on %s\n"
+msgstr "Lỗi ghi phân vùng trên %s\n"
+
+#: fdisk/sfdisk.c:1729
+msgid "long or incomplete input line - quitting\n"
+msgstr "dòng nhập vào dài hay không đầy đủ - đang thoát\n"
+
+#: fdisk/sfdisk.c:1765
+#, c-format
+msgid "input error: `=' expected after %s field\n"
+msgstr "lỗi nhập: mong đợi `=' sau vùng %s\n"
+
+#: fdisk/sfdisk.c:1772
+#, c-format
+msgid "input error: unexpected character %c after %s field\n"
+msgstr "lỗi nhập: mong đợi ký tự %c sau vùng %s\n"
+
+#: fdisk/sfdisk.c:1778
+#, c-format
+msgid "unrecognized input: %s\n"
+msgstr "dữ liệu vào không nhận ra: %s\n"
+
+#: fdisk/sfdisk.c:1820
+msgid "number too big\n"
+msgstr "số quá lớn\n"
+
+#: fdisk/sfdisk.c:1824
+msgid "trailing junk after number\n"
+msgstr "đuôi bỏ đi sau một số\n"
+
+#: fdisk/sfdisk.c:1948
+msgid "no room for partition descriptor\n"
+msgstr "không có chỗ cho mô tả phân vùng\n"
+
+#: fdisk/sfdisk.c:1981
+msgid "cannot build surrounding extended partition\n"
+msgstr "không thể tạo phân vùng mở rộng bao quanh\n"
+
+#: fdisk/sfdisk.c:2032
+msgid "too many input fields\n"
+msgstr "quá nhiều vùng nhập vào\n"
+
+#: fdisk/sfdisk.c:2066
+msgid "No room for more\n"
+msgstr "Không còn chỗ trống\n"
+
+#: fdisk/sfdisk.c:2085
+msgid "Illegal type\n"
+msgstr "Loại không cho phép\n"
+
+#: fdisk/sfdisk.c:2117
+#, 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"
+
+#: fdisk/sfdisk.c:2123
+msgid "Warning: empty partition\n"
+msgstr "Cảnh báo: phân vùng rỗng\n"
+
+#: fdisk/sfdisk.c:2137
+#, 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"
+
+#: fdisk/sfdisk.c:2150
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr "cờ có thể khởi động không nhận ra - chọn - hay *\n"
+
+#: fdisk/sfdisk.c:2167 fdisk/sfdisk.c:2180
+msgid "partial c,h,s specification?\n"
+msgstr "Đặc điểm phân vùng c,h,s?\n"
+
+#: fdisk/sfdisk.c:2191
+msgid "Extended partition not where expected\n"
+msgstr "Phân vùng mở rộng không ở chỗ mong đợi\n"
+
+#: fdisk/sfdisk.c:2223
+msgid "bad input\n"
+msgstr "dữ liệu vào xấu\n"
+
+#: fdisk/sfdisk.c:2245
+msgid "too many partitions\n"
+msgstr "quá nhiều phân vùng\n"
+
+#: fdisk/sfdisk.c:2278
+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"
+
+#: fdisk/sfdisk.c:2304
+#, c-format
+msgid "Usage: %s [options] device ...\n"
+msgstr "Sử dụng: %s [tùy chọn] thiết bị...\n"
+
+#: fdisk/sfdisk.c:2305
+msgid "device: something like /dev/hda or /dev/sda"
+msgstr "thiết bị: có dạng /dev/hda hay /dev/sda"
+
+#: fdisk/sfdisk.c:2306
+msgid "useful options:"
+msgstr "tùy chọn có ích:"
+
+#: fdisk/sfdisk.c:2307
+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"
+
+#: fdisk/sfdisk.c:2308
+msgid "    -c [or --id]:        print or change partition Id"
+msgstr "    -c [hay --id]:        in ra hay thay đổi Id phân vùng"
+
+#: fdisk/sfdisk.c:2309
+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ị"
+
+#: fdisk/sfdisk.c:2310
+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"
+
+#: fdisk/sfdisk.c:2311
+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"
+
+#: fdisk/sfdisk.c:2312
+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"
+
+#: fdisk/sfdisk.c:2313
+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"
+
+#: fdisk/sfdisk.c:2314
+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"
+
+#: fdisk/sfdisk.c:2315
+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"
+
+#: fdisk/sfdisk.c:2316
+msgid "    -N# :                change only the partition with number #"
+msgstr "    -N# :                chỉ thay đổi phân vùng với số #"
+
+#: fdisk/sfdisk.c:2317
+msgid "    -n :                 do not actually write to disk"
+msgstr "    -n :                 không thực sự viết lên đĩa"
+
+#: fdisk/sfdisk.c:2318
+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"
+
+#: fdisk/sfdisk.c:2319
+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"
+
+#: fdisk/sfdisk.c:2320
+msgid "    -v [or --version]:   print version"
+msgstr "    -v [hay --version]:   in ra số hiệu phiên bản"
+
+#: fdisk/sfdisk.c:2321
+msgid "    -? [or --help]:      print this message"
+msgstr "    -? [hay --help]:      in trợ giúp này"
+
+#: fdisk/sfdisk.c:2322
+msgid "dangerous options:"
+msgstr "tùy chọn nguy hiểm:"
+
+#: fdisk/sfdisk.c:2323
+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"
+
+#: fdisk/sfdisk.c:2324
+msgid ""
+"    -G [or --show-pt-geometry]: print geometry guessed from the partition "
+"table"
+msgstr ""
+"    -G [hay --show-pt-geometry]: in ra cấu trúc dự đoán từ bảng phân vùng"
+
+#: fdisk/sfdisk.c:2325
+msgid ""
+"    -x [or --show-extended]: also list extended partitions on output\n"
+"                             or expect descriptors for them on input"
+msgstr ""
+"    -x [hay --show-extended]: đồng thời liệt kê các phân vùng mở rộng\n"
+"                             trong đầu ra hay các mô tả mong đợi cho chúng\n"
+"                             trong đầu vào"
+
+#: fdisk/sfdisk.c:2327
+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"
+
+#: fdisk/sfdisk.c:2328
+msgid "    -q  [or --quiet]:      suppress warning messages"
+msgstr "    -q  [hay --quiet]:      bỏ các cảnh báo"
+
+#: fdisk/sfdisk.c:2329
+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:"
+
+#: fdisk/sfdisk.c:2330
+msgid "    -C# [or --cylinders #]:set the number of cylinders to use"
+msgstr "    -C# [hay --trụs #]:đặt số trụ sử dụng"
+
+#: fdisk/sfdisk.c:2331
+msgid "    -H# [or --heads #]:    set the number of heads to use"
+msgstr "    -H# [or --heads #]:    đặt số đầu đọc sử dụng"
+
+#: fdisk/sfdisk.c:2332
+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"
+
+#: fdisk/sfdisk.c:2333
+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:"
+
+#: fdisk/sfdisk.c:2334
+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"
+
+#: fdisk/sfdisk.c:2340
+msgid "Usage:"
+msgstr "Sử dụng:"
+
+#: fdisk/sfdisk.c:2341
+#, 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"
+
+#: fdisk/sfdisk.c:2342
+#, 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"
+
+#: fdisk/sfdisk.c:2343
+#, 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"
+
+#: fdisk/sfdisk.c:2463
+#, 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"
+
+#: fdisk/sfdisk.c:2466
+#, 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"
+
+#: fdisk/sfdisk.c:2505
+msgid "no command?\n"
+msgstr "không lệnh?\n"
+
+#: fdisk/sfdisk.c:2637
+#, c-format
+msgid "total: %llu blocks\n"
+msgstr "tổng sô: %llu khối\n"
+
+#: fdisk/sfdisk.c:2680
+msgid "usage: sfdisk --print-id device partition-number\n"
+msgstr "sử dụng: sfdisk --print-id thiết-bị số-phân-vùng\n"
+
+#: fdisk/sfdisk.c:2682
+msgid "usage: sfdisk --change-id device partition-number Id\n"
+msgstr "sử dụng: sfdisk --change-id thiết-bị số-phân-vùng Id\n"
+
+#: fdisk/sfdisk.c:2684
+msgid "usage: sfdisk --id device partition-number [Id]\n"
+msgstr "sử dụng: sfdisk --id thiết-bị số-phân-vùng [Id]\n"
+
+#: fdisk/sfdisk.c:2691
+msgid "can specify only one device (except with -l or -s)\n"
+msgstr "chỉ có thể chỉ ra một thiết bị (ngoại trừ với -l hay -s)\n"
+
+#: fdisk/sfdisk.c:2717
+#, c-format
+msgid "cannot open %s read-write\n"
+msgstr "không thể mở %s đọc-viết\n"
+
+#: fdisk/sfdisk.c:2719
+#, c-format
+msgid "cannot open %s for reading\n"
+msgstr "không mở được %s để đọc\n"
+
+#: fdisk/sfdisk.c:2744
+#, c-format
+msgid "%s: OK\n"
+msgstr "%s: OK\n"
+
+#: fdisk/sfdisk.c:2763 fdisk/sfdisk.c:2796
+#, 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"
+
+#: fdisk/sfdisk.c:2815
+#, c-format
+msgid "Cannot get size of %s\n"
+msgstr "Không thể lấy kích cỡ của %s\n"
+
+#: fdisk/sfdisk.c:2895
+#, 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"
+
+#: fdisk/sfdisk.c:2913 fdisk/sfdisk.c:2968 fdisk/sfdisk.c:3001
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+"Hoàn thành\n"
+"\n"
+
+#: fdisk/sfdisk.c:2922
+#, 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"
+
+#: fdisk/sfdisk.c:2938
+#, c-format
+msgid "partition %s has id %x and is not hidden\n"
+msgstr "phân vùng %s có id %x và không phải là ẩn\n"
+
+#: fdisk/sfdisk.c:2997
+#, c-format
+msgid "Bad Id %lx\n"
+msgstr "Id xấu %lx\n"
+
+#: fdisk/sfdisk.c:3014
+msgid "This disk is currently in use.\n"
+msgstr "Đĩa này hiện đang được sử dụng.\n"
+
+#: fdisk/sfdisk.c:3033
+#, c-format
+msgid "Fatal error: cannot find %s\n"
+msgstr "Lỗi nặng: không thể tìm %s\n"
+
+#: fdisk/sfdisk.c:3036
+#, 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"
+
+#: fdisk/sfdisk.c:3042
+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"
+
+#: fdisk/sfdisk.c:3044
+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"
+
+#: fdisk/sfdisk.c:3048
+msgid "Use the --force flag to overrule all checks.\n"
+msgstr "Sử dụng --force để bãi bỏ mọi kiểm tra.\n"
+
+#: fdisk/sfdisk.c:3052
+msgid "OK\n"
+msgstr "OK\n"
+
+#: fdisk/sfdisk.c:3061
+#, c-format
+msgid "Old situation:\n"
+msgstr "Tình huống cũ:\n"
+
+#: fdisk/sfdisk.c:3065
+#, c-format
+msgid "Partition %d does not exist, cannot change it\n"
+msgstr "Phân vùng %d không tồn tại, không thể thay đổi nó\n"
+
+#: fdisk/sfdisk.c:3073
+#, c-format
+msgid "New situation:\n"
+msgstr "Tình huống mới:\n"
+
+#: fdisk/sfdisk.c:3078
+msgid ""
+"I don't like these partitions - nothing changed.\n"
+"(If you really want this, use the --force option.)\n"
+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.)\n"
+
+#: fdisk/sfdisk.c:3081
+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"
+
+#: fdisk/sfdisk.c:3086
+#, c-format
+msgid "Are you satisfied with this? [ynq] "
+msgstr "Bạn có hài lòng với điều này? [ynq] "
+
+#: fdisk/sfdisk.c:3088
+#, c-format
+msgid "Do you want to write this to disk? [ynq] "
+msgstr "Bạn có muốn ghi lên đĩa? [ynq] "
+
+#: fdisk/sfdisk.c:3093
+#, c-format
+msgid ""
+"\n"
+"sfdisk: premature end of input\n"
+msgstr ""
+"\n"
+"sfdisk: dữ liệu vào kết thúc sớm\n"
+
+#: fdisk/sfdisk.c:3095
+msgid "Quitting - nothing changed\n"
+msgstr "Đang thoát - không có gì thay đổi\n"
+
+#: fdisk/sfdisk.c:3101
+#, 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"
+
+#: fdisk/sfdisk.c:3109
+#, 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"
+
+#: fdisk/sfdisk.c:3115
+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"
+
+#: fsck/fsck.c:327
+#, c-format
+msgid "WARNING: couldn't open %s: %s\n"
+msgstr "CẢNH BÁO : không mở được %s: %s\n"
+
+#: fsck/fsck.c:337
+#, c-format
+msgid "WARNING: bad format on line %d of %s\n"
+msgstr "CẢNH BÁO : gặp định dạng sai trên dòng %d của %s\n"
+
+#: fsck/fsck.c:353
+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 ""
+"CẢNH BÁO : /etc/fstab của bạn không chứa trường fsck passno.\n"
+"\tTiến trình này 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 có thể.\n"
+"\n"
+
+#: fsck/fsck.c:461
+#, c-format
+msgid "fsck: %s: not found\n"
+msgstr "fsck: %s: không tìm thấy\n"
+
+#: fsck/fsck.c:577
+#, c-format
+msgid "%s: wait: No more child process?!?\n"
+msgstr "%s: đợi: không có tiến trình con nào nữa ?!?\n"
+
+#: fsck/fsck.c:599
+#, c-format
+msgid "Warning... %s for device %s exited with signal %d.\n"
+msgstr "Cảnh báo... %s cho thiết bị %s đã thoát với tín hiệu %d.\n"
+
+#: fsck/fsck.c:605
+#, c-format
+msgid "%s %s: status is %x, should never happen.\n"
+msgstr "%s: %s: trạng thái là %x, không bao giờ nên xảy ra.\n"
+
+#: fsck/fsck.c:644
+#, 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"
+
+#: fsck/fsck.c:704
+#, c-format
+msgid "%s: Error %d while executing fsck.%s for %s\n"
+msgstr "%s: Lỗi %d trong khi thực hiện fsck.%s cho %s\n"
+
+#: fsck/fsck.c:725
+msgid ""
+"Either all or none of the filesystem types passed to -t must be prefixed\n"
+"with 'no' or '!'.\n"
+msgstr ""
+"Hoặc tất cả hoặc không có kiểu hệ thống tập tin được gửi cho « -t »\n"
+"phải có tiền tố « no » hay « ! ».\n"
+
+#: fsck/fsck.c:744
+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"
+
+#: fsck/fsck.c:867
+#, c-format
+msgid ""
+"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass "
+"number\n"
+msgstr ""
+"%s: đang bỏ qua dòng sai trong tập tin « /etc/fstab »:\n"
+"điểm lắp đóng kết có số thứ tự lần chạy fsck khác số không\n"
+
+#: fsck/fsck.c:894
+#, c-format
+msgid "fsck: cannot check %s: fsck.%s not found\n"
+msgstr "fsck: không thể kiểm tra %s: fsck.%s không tìm thấy\n"
+
+#: fsck/fsck.c:950
+msgid "Checking all file systems.\n"
+msgstr "Đang kiểm tra tất cả các hệ thống tập tin.\n"
+
+#: fsck/fsck.c:1041
+#, c-format
+msgid "--waiting-- (pass %d)\n"
+msgstr "--đang đợi-- (lần chạy %d)\n"
+
+#: fsck/fsck.c:1061
+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"
+
+#: fsck/fsck.c:1099
+#, c-format
+msgid "%s: too many devices\n"
+msgstr "%s: quá nhiều thiết bị\n"
+
+#: fsck/fsck.c:1110
+#, c-format
+msgid "Couldn't open %s: %s\n"
+msgstr "Không mở được %s: %s\n"
+
+#: fsck/fsck.c:1112
+#, c-format
+msgid "Is /proc mounted?\n"
+msgstr "/proc được gắn kết không?\n"
+
+#: fsck/fsck.c:1121
+#, c-format
+msgid "Must be root to scan for matching filesystems: %s\n"
+msgstr "Phải là người chủ (root) để quét tìm hệ thống tập tin tương ứng: %s\n"
+
+#: fsck/fsck.c:1124
+#, c-format
+msgid "Couldn't find matching filesystem: %s\n"
+msgstr "Không tìm thấy hệ thống tập tin tương ứng: %s\n"
+
+#: fsck/fsck.c:1132 fsck/fsck.c:1218
+#, c-format
+msgid "%s: too many arguments\n"
+msgstr "%s: quá nhiều đối số\n"
+
+#: fsck/fsck.c:1252
+#, c-format
+msgid "fsck from %s\n"
+msgstr "fsck từ %s\n"
+
+#: fsck/fsck.c:1264
+#, c-format
+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"
+
+#: getopt/getopt.c:229
+msgid "Try `getopt --help' for more information.\n"
+msgstr "Hãy thử `getopt --help' để biết thêm thông tin.\n"
+
+#: getopt/getopt.c:295
+msgid "empty long option after -l or --long argument"
+msgstr "tùy chọn dài rỗng sau -l hay tham số --long"
+
+#: getopt/getopt.c:315
+msgid "unknown shell after -s or --shell argument"
+msgstr "trình bao không rõ sau -s hay tham số --shell"
+
+#: getopt/getopt.c:320
+msgid "Usage: getopt optstring parameters\n"
+msgstr "Sử dụng: getopt chuỗi_tùy_chọn tham_số\n"
+
+#: getopt/getopt.c:321
+msgid "       getopt [options] [--] optstring parameters\n"
+msgstr "       getopt [tùychọn] [--] chuỗi_tùy_chọn tham_số\n"
+
+#: getopt/getopt.c:322
+msgid "       getopt [options] -o|--options optstring [options] [--]\n"
+msgstr "       getopt [tùychọn] -o|--options chuỗi_tùy_chọn [tùy_chọn] [--]\n"
+
+#: getopt/getopt.c:323
+msgid "              parameters\n"
+msgstr "              tham số\n"
+
+#: getopt/getopt.c:324
+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"
+
+#: getopt/getopt.c:325
+msgid "  -h, --help                   This small usage guide\n"
+msgstr "  -h, --help                   Hướng dẫn sử dụng nhỏ này\n"
+
+#: getopt/getopt.c:326
+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"
+
+#: getopt/getopt.c:327
+msgid ""
+"  -n, --name=progname          The name under which errors are reported\n"
+msgstr "  -n, --name=tên_chương_trình          Báo cáo lỗi dưới tên này\n"
+
+#: getopt/getopt.c:328
+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"
+
+#: getopt/getopt.c:329
+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"
+
+#: getopt/getopt.c:330
+msgid "  -Q, --quiet-output           No normal output\n"
+msgstr "  -Q, --quiet-output           Không có kết quả ra thông thường\n"
+
+#: getopt/getopt.c:331
+msgid "  -s, --shell=shell            Set shell quoting conventions\n"
+msgstr "  -s, --shell=trình_bao            Đặt quy ước trích dẫn trình bao\n"
+
+#: getopt/getopt.c:332
+msgid "  -T, --test                   Test for getopt(1) version\n"
+msgstr "  -T, --test                   Thử phiên bản getopt(1)\n"
+
+#: getopt/getopt.c:333
+msgid "  -u, --unqote                 Do not quote the output\n"
+msgstr "  -u, --unqote                 Không trích dẫn kết quả ra\n"
+
+#: getopt/getopt.c:334
+msgid "  -V, --version                Output version information\n"
+msgstr "  -V, --version                In ra thông tin phiên bản\n"
+
+#: getopt/getopt.c:388 getopt/getopt.c:447
+msgid "missing optstring argument"
+msgstr "thiếu đối số chuỗi_tùy_chọn"
+
+#: getopt/getopt.c:435
+#, c-format
+msgid "getopt (enhanced) 1.1.4\n"
+msgstr "getopt (đã nâng cao) 1.1.4\n"
+
+#: getopt/getopt.c:441
+msgid "internal error, contact the author."
+msgstr "lỗi nội bộ, hãy liên hệ với tác giả."
+
+#: hwclock/cmos.c:176
+#, c-format
+msgid "booted from MILO\n"
+msgstr "khởi động từ MILO\n"
+
+#: hwclock/cmos.c:185
+#, c-format
+msgid "Ruffian BCD clock\n"
+msgstr "Đồng hồ Ruffian BCD\n"
+
+#: hwclock/cmos.c:201
+#, 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"
+
+#: hwclock/cmos.c:213
+#, c-format
+msgid "funky TOY!\n"
+msgstr "ĐỒ CHƠI nhút nhát!\n"
+
+#: hwclock/cmos.c:244
+#, c-format
+msgid "%s: atomic %s failed for 1000 iterations!"
+msgstr "%s: %s nguyên tử lỗi sau1000 vòng quay!"
+
+#: hwclock/cmos.c:273
+#, c-format
+msgid "cmos_read(): write to control address %X failed: %s\n"
+msgstr "cmos_read(): lỗi ghi vào địa chỉ điều khiển %X: %s\n"
+
+#: hwclock/cmos.c:276
+#, c-format
+msgid "cmos_read(): read data address %X failed: %s\n"
+msgstr "cmos_read(): lỗi đọc địa chỉ dữ liệu %X: %s\n"
+
+#: hwclock/cmos.c:307
+#, c-format
+msgid "cmos_write(): write to control address %X failed: %s\n"
+msgstr "cmos_write(): lỗi ghi vào địa chỉ điều khiển %X: %s\n"
+
+#: hwclock/cmos.c:311
+#, c-format
+msgid "cmos_write(): write to data address %X failed: %s\n"
+msgstr "cmos_write(): lỗi ghi vào địa chỉ dữ liệu %X: %s\n"
+
+#: hwclock/cmos.c:574
+#, c-format
+msgid "Cannot open /dev/port: %s"
+msgstr "Không mở được /dev/port: %s"
+
+#: hwclock/cmos.c:581
+#, c-format
+msgid "I failed to get permission because I didn't try.\n"
+msgstr "Tôi lấy thông tin quyền hạn không thành công vì đã không cố thử.\n"
+
+#: hwclock/cmos.c:584
+#, c-format
+msgid "%s is unable to get I/O port access:  the iopl(3) call failed.\n"
+msgstr ""
+"Không thể dùng %s để lấy truy cập cổng V/R:  gọi iopl(3) không thành công.\n"
+
+#: hwclock/cmos.c:587
+#, c-format
+msgid "Probably you need root privileges.\n"
+msgstr "Rất có thể bạn cần quyền người chủ.\n"
+
+#: hwclock/hwclock.c:231
+#, 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"
+
+#: hwclock/hwclock.c:232 hwclock/hwclock.c:327
+msgid "UTC"
+msgstr "UTC"
+
+#: hwclock/hwclock.c:232 hwclock/hwclock.c:326
+msgid "local"
+msgstr "nội bộ"
+
+#: hwclock/hwclock.c:312
+#, c-format
+msgid "%s: Warning: unrecognized third line in adjtime file\n"
+msgstr ""
+"%s: Cảnh báo: không nhận ra dòng thứ ba trong tập tin điều chỉnh thời gian\n"
+
+#: hwclock/hwclock.c:314
+#, c-format
+msgid "(Expected: `UTC' or `LOCAL' or nothing.)\n"
+msgstr "(Mong đợi: `UTC' hay `LOCAL' hay không gì cả.)\n"
+
+#: hwclock/hwclock.c:321
+#, 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"
+
+#: hwclock/hwclock.c:323
+#, 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"
+
+#: hwclock/hwclock.c:325
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr "Đồng hồ phần cứng là trên %s\n"
+
+#: hwclock/hwclock.c:327
+msgid "unknown"
+msgstr "không rõ"
+
+#: hwclock/hwclock.c:351
+#, c-format
+msgid "Waiting for clock tick...\n"
+msgstr "Chờ tiếng tíc tắc của đồng hồ...\n"
+
+#: hwclock/hwclock.c:357
+#, c-format
+msgid "...synchronization failed\n"
+msgstr "...lỗi đồng bộ hoá\n"
+
+#: hwclock/hwclock.c:359
+#, c-format
+msgid "...got clock tick\n"
+msgstr "...đã nghe thấy tiếng tíc tắc\n"
+
+#: hwclock/hwclock.c:413
+#, 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"
+
+#: hwclock/hwclock.c:421
+#, 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"
+
+#: hwclock/hwclock.c:451
+#, 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"
+
+#: hwclock/hwclock.c:480
+#, 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"
+
+#: hwclock/hwclock.c:486
+#, c-format
+msgid "Clock not changed - testing only.\n"
+msgstr "Đồng hồ không thay đổi - chỉ thử nghiệm mà thôi.\n"
+
+#: hwclock/hwclock.c:536
+#, 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"
+
+#: hwclock/hwclock.c:572
+#, c-format
+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).\n"
+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ể điều khiển (v.d. Năm 2095).\n"
+
+#: hwclock/hwclock.c:582
+#, c-format
+msgid "%s  %.6f seconds\n"
+msgstr "%s  %.6f giây\n"
+
+#: hwclock/hwclock.c:616
+#, c-format
+msgid "No --date option specified.\n"
+msgstr "Không chỉ ra tùy chọn --date.\n"
+
+#: hwclock/hwclock.c:622
+#, c-format
+msgid "--date argument too long\n"
+msgstr "Tham số --date quá dài\n"
+
+#: hwclock/hwclock.c:629
+#, c-format
+msgid ""
+"The value of the --date option is not a valid date.\n"
+"In particular, it contains quotation marks.\n"
+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.\n"
+
+#: hwclock/hwclock.c:637
+#, c-format
+msgid "Issuing date command: %s\n"
+msgstr "Đưa ra câu lệnh date (ngày tháng): %s\n"
+
+#: hwclock/hwclock.c:641
+msgid "Unable to run 'date' program in /bin/sh shell. popen() failed"
+msgstr "Không chạy được chương trình 'date' trong trình bao. popen() bị lỗi"
+
+#: hwclock/hwclock.c:649
+#, c-format
+msgid "response from date command = %s\n"
+msgstr "đáp ứng từ câu lệnh date = %s\n"
+
+#: hwclock/hwclock.c:651
+#, c-format
+msgid ""
+"The date command issued by %s returned unexpected results.\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 mong đợi.\n"
+"Câu lệnh là:\n"
+"  %s\n"
+"Kết quả là:\n"
+"  %s\n"
+
+#: hwclock/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"
+
+#: hwclock/hwclock.c:674
+#, 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"
+
+#: hwclock/hwclock.c:706
+#, c-format
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot set the "
+"System Time from it.\n"
+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ừ đó.\n"
+
+#: hwclock/hwclock.c:728 hwclock/hwclock.c:805
+#, c-format
+msgid "Calling settimeofday:\n"
+msgstr "Đang gọi lệnh giờ settimeofday:\n"
+
+#: hwclock/hwclock.c:729 hwclock/hwclock.c:807
+#, c-format
+msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+
+#: hwclock/hwclock.c:731 hwclock/hwclock.c:809
+#, c-format
+msgid "\ttz.tz_minuteswest = %d\n"
+msgstr "\ttz.tz_minuteswest = %d\n"
+
+#: hwclock/hwclock.c:734 hwclock/hwclock.c:812
+#, 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"
+
+#: hwclock/hwclock.c:743 hwclock/hwclock.c:821
+#, c-format
+msgid "Must be superuser to set system clock.\n"
+msgstr "Cần phải là người dùng root để đặt đồng hồ hệ thống.\n"
+
+#: hwclock/hwclock.c:746 hwclock/hwclock.c:824
+msgid "settimeofday() failed"
+msgstr "settimeofday() không thành công"
+
+#: hwclock/hwclock.c:782
+#, c-format
+msgid "Current system time: %ld = %s\n"
+msgstr "Thời gian hệ thống hiện thời: %ld = %s\n"
+
+#: hwclock/hwclock.c:806
+#, c-format
+msgid "\tUTC: %s\n"
+msgstr "\tUTC: %s\n"
+
+#: hwclock/hwclock.c:853
+#, 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"
+
+#: hwclock/hwclock.c:858
+#, 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"
+
+#: hwclock/hwclock.c:864
+#, 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"
+
+#: hwclock/hwclock.c:912
+#, 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"
+
+#: hwclock/hwclock.c:962
+#, 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"
+
+#: hwclock/hwclock.c:964
+#, 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"
+
+#: hwclock/hwclock.c:993
+#, 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"
+
+#: hwclock/hwclock.c:994
+#, c-format
+msgid ""
+"Would have written the following to %s:\n"
+"%s"
+msgstr ""
+"Ghi nhớ cái sau tới %s:\n"
+"%s"
+
+#: hwclock/hwclock.c:1002
+#, 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"
+
+#: hwclock/hwclock.c:1007 hwclock/hwclock.c:1012
+#, 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)"
+
+#: hwclock/hwclock.c:1018
+#, c-format
+msgid "Drift adjustment parameters not updated.\n"
+msgstr "Không cập nhật các tham số chỉnh sai lệch.\n"
+
+#: hwclock/hwclock.c:1059
+#, c-format
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot adjust it.\n"
+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.\n"
+
+#: hwclock/hwclock.c:1067
+#, 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."
+
+#: hwclock/hwclock.c:1090
+#, 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"
+
+#: hwclock/hwclock.c:1116
+#, c-format
+msgid "Using %s.\n"
+msgstr "Sử dụng %s.\n"
+
+#: hwclock/hwclock.c:1118
+#, 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"
+
+#: hwclock/hwclock.c:1222 hwclock/hwclock.c:1228
+#, c-format
+msgid "Unable to set system clock.\n"
+msgstr "Không đặt được đồng hồ hệ thống.\n"
+
+#: hwclock/hwclock.c:1258
+#, c-format
+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.\n"
+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 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ì.\n"
+
+#: hwclock/hwclock.c:1267
+#, c-format
+msgid "Unable to get the epoch value from the kernel.\n"
+msgstr "Không lấy được giá trị khởi đầu từ nhân.\n"
+
+#: hwclock/hwclock.c:1269
+#, 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"
+
+#: hwclock/hwclock.c:1272
+#, c-format
+msgid ""
+"To set the epoch value, you must use the 'epoch' option to tell to what "
+"value to set it.\n"
+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.\n"
+
+#: hwclock/hwclock.c:1275
+#, 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"
+
+#: hwclock/hwclock.c:1278
+#, 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"
+
+#: hwclock/hwclock.c:1291 misc-utils/cal.c:345 misc-utils/kill.c:189
+#, c-format
+msgid "%s from %s\n"
+msgstr "%s từ %s\n"
+
+#: hwclock/hwclock.c:1312
+#, c-format
+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"
+"  -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] [các 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"
+"  -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"
+
+#: hwclock/hwclock.c:1347
+#, c-format
+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"
+
+#: hwclock/hwclock.c:1434
+#, c-format
+msgid "%s: Unable to connect to audit system\n"
+msgstr "%s: không thể kết nối để kiểm tra chặt chẽ hệ thống\n"
+
+#: hwclock/hwclock.c:1552
+#, 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"
+
+#: hwclock/hwclock.c:1559
+#, c-format
+msgid ""
+"You have specified multiple functions.\n"
+"You can only perform one function at a time.\n"
+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.\n"
+
+#: hwclock/hwclock.c:1566
+#, c-format
+msgid ""
+"%s: The --utc and --localtime options are mutually exclusive.  You specified "
+"both.\n"
+msgstr ""
+"%s: Các tùy chọn « --utc » và « --localtime » loại trừ lẫn nhau.  Bạn lại đưa "
+"ra cả hai.\n"
+
+#: hwclock/hwclock.c:1573
+#, c-format
+msgid ""
+"%s: The --adjust and --noadjfile options are mutually exclusive.  You "
+"specified both.\n"
+msgstr ""
+"%s: Các tùy chọn « --adjust » và « --noadjust » loại trừ lẫn nhau.  Bạn lại "
+"đưa ra cả hai.\n"
+
+#: hwclock/hwclock.c:1580
+#, c-format
+msgid ""
+"%s: The --adjfile and --noadjfile options are mutually exclusive.  You "
+"specified both.\n"
+msgstr ""
+"%s: Các tùy chọn « --adjfile » và « --noadjfile » loại trừ lẫn nhau.  Bạn lại "
+"đưa ra cả hai.\n"
+
+#: hwclock/hwclock.c:1589
+#, c-format
+msgid "%s: With --noadjfile, you must specify either --utc or --localtime\n"
+msgstr "%s: Với « --noadjfile », bạn phải chỉ ra « --utc » hoặc « --localtime »\n"
+
+#: hwclock/hwclock.c:1603
+#, c-format
+msgid "No usable set-to time.  Cannot set clock.\n"
+msgstr "Không có thời gian set-to nào có thể sử dụng. Không thể đặt đồng hồ\n"
+
+#: hwclock/hwclock.c:1620
+#, c-format
+msgid "Sorry, only the superuser can change the Hardware Clock.\n"
+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.\n"
+
+#: hwclock/hwclock.c:1625
+#, c-format
+msgid "Sorry, only the superuser can change the System Clock.\n"
+msgstr ""
+"Rất tiếc, nhưng chỉ người dùng root mới có thể thay đổi Đồng hồ Hệ thống.\n"
+
+#: hwclock/hwclock.c:1630
+#, c-format
+msgid ""
+"Sorry, only the superuser can change the Hardware Clock epoch in the "
+"kernel.\n"
+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.\n"
+
+#: hwclock/hwclock.c:1651
+#, c-format
+msgid "Cannot access the Hardware Clock via any known method.\n"
+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õ.\n"
+
+#: hwclock/hwclock.c:1655
+#, c-format
+msgid ""
+"Use the --debug option to see the details of our search for an access "
+"method.\n"
+msgstr ""
+"Sử dụng tùy chọn --debug để xem chi tiết về quá trình tìm kiếm phương pháp "
+"truy cập của chúng ta.\n"
+
+#: hwclock/kd.c:53
+#, 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"
+
+#: hwclock/kd.c:56
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr "KDGHWCLK ioctl đọc thời gian không thành công"
+
+#: hwclock/kd.c:77 hwclock/rtc.c:221
+#, c-format
+msgid "Timed out waiting for time change.\n"
+msgstr "Quá thời gian chờ thay đổi.\n"
+
+#: hwclock/kd.c:81
+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"
+
+#: hwclock/kd.c:103
+#, c-format
+msgid "ioctl() failed to read time from %s"
+msgstr "ioctl() đọc thời gian không thành công từ %s"
+
+#: hwclock/kd.c:139
+msgid "ioctl KDSHWCLK failed"
+msgstr "ioctl KDSHWCLK không thành công"
+
+#: hwclock/kd.c:175
+msgid "Can't open /dev/tty1 or /dev/vc/1"
+msgstr "Không thể mở /dev/tty1 hay /dev/vc/1"
+
+#: hwclock/kd.c:179
+msgid "KDGHWCLK ioctl failed"
+msgstr "KDGHWCLK ioctl không thành công"
+
+#: hwclock/rtc.c:147 hwclock/rtc.c:241
+#, c-format
+msgid "open() of %s failed"
+msgstr "open() cho %s không thành công"
+
+#: hwclock/rtc.c:181
+#, c-format
+msgid "ioctl() to %s to read the time failed.\n"
+msgstr "ioctl() tới %s để đọc thời gian không thành công.\n"
+
+#: hwclock/rtc.c:203
+#, c-format
+msgid "Waiting in loop for time from %s to change\n"
+msgstr "Chờ cho thời gian từ %s thay đổi\n"
+
+#: hwclock/rtc.c:259
+#, c-format
+msgid "%s does not have interrupt functions. "
+msgstr "%s không có hàm gián đoạn nào. "
+
+#: hwclock/rtc.c:270
+#, 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"
+
+#: hwclock/rtc.c:288
+#, 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"
+
+#: hwclock/rtc.c:291
+#, c-format
+msgid "select() to %s to wait for clock tick timed out\n"
+msgstr "select() tới %s để chờ tiếng tíc tắc bị quá thời gian\n"
+
+#: hwclock/rtc.c:300
+#, 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"
+
+#: hwclock/rtc.c:303
+#, 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"
+
+#: hwclock/rtc.c:360
+#, c-format
+msgid "ioctl() to %s to set the time failed.\n"
+msgstr "ioctl() tới %s để đặt thời gian không thành công.\n"
+
+#: hwclock/rtc.c:366
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr "ioctl(%s) đã thành công.\n"
+
+#: hwclock/rtc.c:392
+#, c-format
+msgid "Open of %s failed"
+msgstr "Mở %s không thành công"
+
+#: hwclock/rtc.c:410 hwclock/rtc.c:454
+#, 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.\n"
+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"
+
+#: hwclock/rtc.c:415 hwclock/rtc.c:459
+#, c-format
+msgid "Unable to open %s"
+msgstr "Không mở được %s"
+
+#: hwclock/rtc.c:422
+#, c-format
+msgid "ioctl(RTC_EPOCH_READ) to %s failed"
+msgstr "ioctl(RTC_EPOCH_READ) tới %s không thành công"
+
+#: hwclock/rtc.c:427
+#, 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"
+
+#: hwclock/rtc.c:446
+#, c-format
+msgid "The epoch value may not be less than 1900.  You requested %ld\n"
+msgstr ""
+"Giá trị khởi đầu (epoch) không được nhỏ hơn 1900.  Bạn đã yêu cầu %ld\n"
+
+#: hwclock/rtc.c:464
+#, 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"
+
+#: hwclock/rtc.c:469
+#, c-format
+msgid ""
+"The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl.\n"
+msgstr ""
+"Trình điều khiển thiết bị của nhân cho %s không có RTC_EPOCH_SET ioctl.\n"
+
+#: hwclock/rtc.c:472
+#, c-format
+msgid "ioctl(RTC_EPOCH_SET) to %s failed"
+msgstr "ioctl(RTC_EPOCH_SET) tới %s không thành công"
+
+#: login-utils/agetty.c:361
+#, c-format
+msgid "%s: can't exec %s: %m"
+msgstr "%s: không thực hiện được %s: %m"
+
+#: login-utils/agetty.c:384
+msgid "can't malloc initstring"
+msgstr "không mailloc được chuỗi khởi đầu (init)"
+
+#: login-utils/agetty.c:449
+#, c-format
+msgid "bad timeout value: %s"
+msgstr "giá trị thời gian chờ xấu: %s"
+
+#: login-utils/agetty.c:526
+#, c-format
+msgid "bad speed: %s"
+msgstr "tốc độ xấu: %s"
+
+#: login-utils/agetty.c:528
+msgid "too many alternate speeds"
+msgstr "quá nhiều tốc độ luân phiên"
+
+#: login-utils/agetty.c:630
+#, c-format
+msgid "/dev: chdir() failed: %m"
+msgstr "/dev: chdir() không thành công: %m"
+
+#: login-utils/agetty.c:634
+#, c-format
+msgid "/dev/%s: not a character device"
+msgstr "/dev/%s: không phải thiết bị ký tự"
+
+#: login-utils/agetty.c:643
+#, 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"
+
+#: login-utils/agetty.c:653
+#, c-format
+msgid "%s: not open for read/write"
+msgstr "%s: không mở được đọc/viết"
+
+#: login-utils/agetty.c:659
+#, c-format
+msgid "%s: dup problem: %m"
+msgstr "%s: vấn đề khi dup: %m"
+
+#: login-utils/agetty.c:946
+#, c-format
+msgid "user"
+msgstr "người dùng"
+
+#: login-utils/agetty.c:946
+#, c-format
+msgid "users"
+msgstr "người dùng"
+
+#: login-utils/agetty.c:1031
+#, c-format
+msgid "%s: read: %m"
+msgstr "%s: đọc: %m"
+
+#: login-utils/agetty.c:1078
+#, c-format
+msgid "%s: input overrun"
+msgstr "%s: thừa dữ liệu vào"
+
+#: login-utils/agetty.c:1207
+#, c-format
+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"
+
+#: login-utils/checktty.c:91 login-utils/checktty.c:112
+#, c-format
+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"
+
+#: login-utils/checktty.c:92
+msgid "can't malloc for ttyclass"
+msgstr "không malloc được cho ttyclass (lớp tty)"
+
+#: login-utils/checktty.c:113
+msgid "can't malloc for grplist"
+msgstr "không malloc được cho grplist (danh sách nhóm)"
+
+#: login-utils/checktty.c:554
+#, c-format
+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"
+
+#: login-utils/checktty.c:565
+#, c-format
+msgid "Login on %s from %s denied.\n"
+msgstr "Đăng nhập trên %s từ %s bị cấm.\n"
+
+#: login-utils/chfn.c:133 login-utils/chsh.c:119
+#, c-format
+msgid "%s: you (user %d) don't exist.\n"
+msgstr "%s: bạn (người dùng %d) không tồn tại.\n"
+
+#: login-utils/chfn.c:140 login-utils/chsh.c:126
+#, c-format
+msgid "%s: user \"%s\" does not exist.\n"
+msgstr "%s: người dùng \"%s\" không tồn tại.\n"
+
+#: login-utils/chfn.c:145 login-utils/chsh.c:131
+#, c-format
+msgid "%s: can only change local entries; use yp%s instead.\n"
+msgstr "%s: chỉ thay đổi được các phần tử nội bộ, hãy dùng yp%s để thay thế.\n"
+
+#: login-utils/chfn.c:156 login-utils/chsh.c:142
+msgid "Unknown user context"
+msgstr "Không rõ ngữ cảnh người dùng"
+
+#: login-utils/chfn.c:157
+#, c-format
+msgid "%s: %s is not authorized to change the finger info of %s\n"
+msgstr "%s: %s chưa được xác thực để thay đổi thông tin finger của %s\n"
+
+#: login-utils/chfn.c:164 login-utils/chsh.c:150
+#, c-format
+msgid "%s: Can't set default context for /etc/passwd"
+msgstr "%s: Không đặt được văn cảnh cho /etc/passwd"
+
+#: login-utils/chfn.c:178
+#, c-format
+msgid "Changing finger information for %s.\n"
+msgstr "Thay đổi thông tin finger cho %s.\n"
+
+#: login-utils/chfn.c:189 login-utils/chsh.c:188 login-utils/login.c:572
+#, c-format
+msgid "%s: PAM failure, aborting: %s\n"
+msgstr "%s: PAM thất bại nên hủy bỏ : %s\n"
+
+#: login-utils/chfn.c:212 login-utils/chsh.c:211 login-utils/login.c:823
+#: login-utils/newgrp.c:85 login-utils/simpleinit.c:340 mount/lomount.c:744
+#: mount/lomount.c:747
+msgid "Password: "
+msgstr "Mật khẩu: "
+
+#: login-utils/chfn.c:215 login-utils/chsh.c:214
+msgid "Incorrect password."
+msgstr "Mật khẩu không đúng."
+
+#: login-utils/chfn.c:226
+#, c-format
+msgid "Finger information not changed.\n"
+msgstr "Thông tin finger chưa thay đổi.\n"
+
+#: login-utils/chfn.c:328
+#, c-format
+msgid "Usage: %s [ -f full-name ] [ -o office ] "
+msgstr "Sử dụng: %s [ -f tên-đầy-đủ ] [ -o văn-phòng ] "
+
+#: login-utils/chfn.c:329
+#, c-format
+msgid ""
+"[ -p office-phone ]\n"
+"\t[ -h home-phone ] "
+msgstr ""
+"[ -p số-điện-thoại-văn-phòng ]\n"
+"\t[ -h số-điện-thoại-nhà ] "
+
+#: login-utils/chfn.c:330
+#, c-format
+msgid "[ --help ] [ --version ]\n"
+msgstr "[ --help ] [ --version ]\n"
+
+#: login-utils/chfn.c:378
+msgid "Office"
+msgstr "Văn phòng"
+
+#: login-utils/chfn.c:379
+msgid "Office Phone"
+msgstr "Điện thoại văn phòng"
+
+#: login-utils/chfn.c:380
+msgid "Home Phone"
+msgstr "Điện thoại ở nhà"
+
+#: login-utils/chfn.c:401 login-utils/chsh.c:321
+#, c-format
+msgid ""
+"\n"
+"Aborted.\n"
+msgstr ""
+"\n"
+"Bị gián đoạn.\n"
+
+#: login-utils/chfn.c:434
+#, c-format
+msgid "field is too long.\n"
+msgstr "trường quá dài.\n"
+
+#: login-utils/chfn.c:442
+#, c-format
+msgid "'%c' is not allowed.\n"
+msgstr "« %c » không được phép.\n"
+
+#: login-utils/chfn.c:447
+#, c-format
+msgid "Control characters are not allowed.\n"
+msgstr "Các ký tự điều khiển không được cho phép.\n"
+
+#: login-utils/chfn.c:512
+#, 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:515
+#, c-format
+msgid "Finger information changed.\n"
+msgstr "Thông tin finger đã thay đổi.\n"
+
+#: login-utils/chsh.c:143
+#, c-format
+msgid "%s: %s is not authorized to change the shell of %s\n"
+msgstr "%s: %s chưa được xác thực để thay đổi trình bao của %s\n"
+
+#: login-utils/chsh.c:164
+#, c-format
+msgid ""
+"%s: Running UID doesn't match UID of user we're altering, shell change "
+"denied\n"
+msgstr ""
+"%s: 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, không được phép thay đổi trình bao\n"
+
+#: login-utils/chsh.c:170
+#, c-format
+msgid "%s: Your shell is not in /etc/shells, shell change denied\n"
+msgstr ""
+"%s: Trình bao của bạn không có trong /etc/shells, không cho phép thay đổi "
+"trình bao\n"
+
+#: login-utils/chsh.c:177
+#, c-format
+msgid "Changing shell for %s.\n"
+msgstr "Đang thay đổi trình bao cho %s.\n"
+
+#: login-utils/chsh.c:222
+msgid "New shell"
+msgstr "Trình bao mới"
+
+#: login-utils/chsh.c:229
+#, c-format
+msgid "Shell not changed.\n"
+msgstr "Trình bao chưa thay đổi.\n"
+
+#: login-utils/chsh.c:235
+#, c-format
+msgid "Shell *NOT* changed.  Try again later.\n"
+msgstr "Trình bao *CHƯA* thay đổi.  Hãy thử lại sau.\n"
+
+#: login-utils/chsh.c:238
+#, c-format
+msgid "Shell changed.\n"
+msgstr "Trình bao đã thay đổi.\n"
+
+#: login-utils/chsh.c:303
+#, c-format
+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"
+
+#: login-utils/chsh.c:349
+#, c-format
+msgid "%s: shell must be a full path name.\n"
+msgstr "%s: trình bao phải là một tên đường dẫn đầy đủ.\n"
+
+#: login-utils/chsh.c:353
+#, c-format
+msgid "%s: \"%s\" does not exist.\n"
+msgstr "%s: « %s » không tồn tại.\n"
+
+#: login-utils/chsh.c:357
+#, c-format
+msgid "%s: \"%s\" is not executable.\n"
+msgstr "%s: « %s » là không thể thực hiện.\n"
+
+#: login-utils/chsh.c:364
+#, c-format
+msgid "%s: '%c' is not allowed.\n"
+msgstr "%s: « %c » không cho phép.\n"
+
+#: login-utils/chsh.c:368
+#, c-format
+msgid "%s: Control characters are not allowed.\n"
+msgstr "%s: Các ký tự điều khiển không được cho phép.\n"
+
+#: login-utils/chsh.c:375 login-utils/chsh.c:385
+#, c-format
+msgid "Warning: \"%s\" is not listed in /etc/shells.\n"
+msgstr "Cảnh báo : « %s » không liệt kê trong « /etc/shells ».\n"
+
+#: login-utils/chsh.c:377
+#, c-format
+msgid "%s: \"%s\" is not listed in /etc/shells.\n"
+msgstr "%s: « %s »  không liệt kê trong « /etc/shells ».\n"
+
+#: login-utils/chsh.c:379
+#, c-format
+msgid "%s: Use -l option to see list.\n"
+msgstr "%s: Dùng tùy chọn « -l » để xem danh sách.\n"
+
+#: login-utils/chsh.c:386
+#, c-format
+msgid "Use %s -l to see list.\n"
+msgstr "Hãy dùng %s « -l » để xem danh sách.\n"
+
+#: login-utils/chsh.c:406
+#, c-format
+msgid "No known shells.\n"
+msgstr "Không có trình bao biết đến.\n"
+
+#: login-utils/islocal.c:87
+#, c-format
+msgid "Failed to open %s for reading, exiting."
+msgstr "Không mở được %s để đọc nên thoát."
+
+#: login-utils/last.c:148
+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:284
+msgid "  still logged in"
+msgstr "  vẫn còn đăng nhập"
+
+#: login-utils/last.c:306
+#, c-format
+msgid ""
+"\n"
+"wtmp begins %s"
+msgstr ""
+"\n"
+"wtmp bắt đầu %s"
+
+#: login-utils/last.c:362 login-utils/last.c:380 login-utils/last.c:431
+msgid "last: malloc failure.\n"
+msgstr "last: malloc thất bại.\n"
+
+#: login-utils/last.c:407
+msgid "last: gethostname"
+msgstr "last: gethostname (lấy tên máy)"
+
+#: login-utils/last.c:456
+#, c-format
+msgid ""
+"\n"
+"interrupted %10.10s %5.5s \n"
+msgstr ""
+"\n"
+"đã gián đoạn %10.10s %5.5s \n"
+
+#: login-utils/login.c:197
+#, c-format
+msgid "FATAL: can't reopen tty: %s"
+msgstr "LỖI NẶNG: không thể mở lại tty: %s"
+
+#: login-utils/login.c:229
+msgid "FATAL: bad tty"
+msgstr "LỖI NẶNG: tty xấu"
+
+#: login-utils/login.c:436
+#, 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:479
+#, c-format
+msgid "usage: login [-fp] [username]\n"
+msgstr "sử dụng: login [-fp] [tên_người_dùng]\n"
+
+#: login-utils/login.c:574
+#, c-format
+msgid "Couldn't initialize PAM: %s"
+msgstr "Không thể khởi tạo PAM: %s"
+
+#: login-utils/login.c:591
+msgid "login: "
+msgstr "đăng nhập: "
+
+#: login-utils/login.c:635
+#, c-format
+msgid "FAILED LOGIN %d FROM %s FOR %s, %s"
+msgstr "LỖI ĐĂNG NHẬP %d TỪ %s CHO %s, %s"
+
+#: login-utils/login.c:640
+#, 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:649
+#, c-format
+msgid "TOO MANY LOGIN TRIES (%d) FROM %s FOR %s, %s"
+msgstr "QUÁ NHIỀU LẦN THỬ ĐĂNG NHẬP (%d) TỪ %s CHO %s, %s"
+
+#: login-utils/login.c:653
+#, 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:658
+#, 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:686 login-utils/login.c:693 login-utils/login.c:727
+#, c-format
+msgid ""
+"\n"
+"Session setup problem, abort.\n"
+msgstr ""
+"\n"
+"Có vấn đề cấu hình phiên chạy nên hủy bỏ.\n"
+
+#: login-utils/login.c:687
+#, 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:694
+#, 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:713
+#, c-format
+msgid "login: Out of memory\n"
+msgstr "login: Không đủ bộ nhớ\n"
+
+#: login-utils/login.c:757
+msgid "Illegal username"
+msgstr "Tên người dùng không hợp pháp"
+
+#: login-utils/login.c:800
+#, c-format
+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"
+
+#: login-utils/login.c:805
+#, c-format
+msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
+msgstr "ĐĂNG NHẬP %s BỊ TỪ CHỐI TỪ %s TRÊN TTY %s"
+
+#: login-utils/login.c:809
+#, c-format
+msgid "LOGIN %s REFUSED ON TTY %s"
+msgstr "ĐĂNG NHẬP %s BỊ TỪ CHỐI TRÊN TTY %s"
+
+#: login-utils/login.c:863
+#, c-format
+msgid "Login incorrect\n"
+msgstr "Sai tên người dùng hoặc mật khẩu\n"
+
+#: login-utils/login.c:1088
+#, c-format
+msgid "DIALUP AT %s BY %s"
+msgstr "QUAY SỐ TẠI %s BỞI %s"
+
+#: login-utils/login.c:1095
+#, 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:1098
+#, c-format
+msgid "ROOT LOGIN ON %s"
+msgstr "ĐĂNG NHẬP NGƯỜI CHỦ TRÊN %s"
+
+#: login-utils/login.c:1101
+#, 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:1104
+#, c-format
+msgid "LOGIN ON %s BY %s"
+msgstr "ĐĂNG NHẬP TRÊN %s BỞI %s"
+
+#: login-utils/login.c:1125
+#, c-format
+msgid "You have new mail.\n"
+msgstr "Bạn có thư mới.\n"
+
+#: login-utils/login.c:1127
+#, c-format
+msgid "You have mail.\n"
+msgstr "Bạn có thư.\n"
+
+#: login-utils/login.c:1171
+#, c-format
+msgid "login: failure forking: %s"
+msgstr "login: lỗi phân nhánh (fork): %s"
+
+#: login-utils/login.c:1218
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr "TIOCSCTTY bị lỗi: %m"
+
+#: login-utils/login.c:1224
+msgid "setuid() failed"
+msgstr "setuid() bị lỗi"
+
+#: login-utils/login.c:1230
+#, c-format
+msgid "No directory %s!\n"
+msgstr "Không có thư mục %s!\n"
+
+#: login-utils/login.c:1234
+#, 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:1242
+#, c-format
+msgid "login: no memory for shell script.\n"
+msgstr "login: không có bộ nhớ cho văn lệnh trình bao.\n"
+
+#: login-utils/login.c:1269
+#, c-format
+msgid "login: couldn't exec shell script: %s.\n"
+msgstr "login: không thực hiện được văn lệnh trình bao : %s.\n"
+
+#: login-utils/login.c:1272
+#, c-format
+msgid "login: no shell: %s.\n"
+msgstr "login: không có trình bao : %s.\n"
+
+#: login-utils/login.c:1287
+#, c-format
+msgid ""
+"\n"
+"%s login: "
+msgstr ""
+"\n"
+"%s đăng nhập: "
+
+#: login-utils/login.c:1298
+#, c-format
+msgid "login name much too long.\n"
+msgstr "tên đăng nhập quá dài.\n"
+
+#: login-utils/login.c:1299
+msgid "NAME too long"
+msgstr "TÊN quá dài"
+
+#: login-utils/login.c:1306
+#, c-format
+msgid "login names may not start with '-'.\n"
+msgstr "tên đăng nhập không được bắt đầu với « - ».\n"
+
+#: login-utils/login.c:1316
+#, c-format
+msgid "too many bare linefeeds.\n"
+msgstr "quá nhiều dòng nhập vào trống\n"
+
+#: login-utils/login.c:1317
+msgid "EXCESSIVE linefeeds"
+msgstr "dòng nhập vào THỪA"
+
+#: login-utils/login.c:1349
+#, c-format
+msgid "Login timed out after %d seconds\n"
+msgstr "Hết thời gian chờ đăng nhập sau %d giây\n"
+
+#: login-utils/login.c:1437
+#, c-format
+msgid "Last login: %.*s "
+msgstr "Đăng nhập lần cuối: %.*s "
+
+#: login-utils/login.c:1441
+#, c-format
+msgid "from %.*s\n"
+msgstr "từ %.*s\n"
+
+#: login-utils/login.c:1444
+#, c-format
+msgid "on %.*s\n"
+msgstr "trên %.*s\n"
+
+#: login-utils/login.c:1470
+#, c-format
+msgid "LOGIN FAILURE FROM %s, %s"
+msgstr "LỖI ĐĂNG NHẬP TỪ %s, %s"
+
+#: login-utils/login.c:1473
+#, c-format
+msgid "LOGIN FAILURE ON %s, %s"
+msgstr "LỖI ĐĂNG NHẬP TRÊN %s, %s"
+
+#: login-utils/login.c:1477
+#, c-format
+msgid "%d LOGIN FAILURES FROM %s, %s"
+msgstr "%d LẦN KHÔNG ĐĂNG NHẬP ĐƯỢC TỪ %s, %s"
+
+#: login-utils/login.c:1480
+#, c-format
+msgid "%d LOGIN FAILURES ON %s, %s"
+msgstr "%d LẦN KHÔNG ĐĂNG NHẬP ĐƯỢC TRÊN %s, %s"
+
+#: login-utils/mesg.c:89
+#, c-format
+msgid "is y\n"
+msgstr "là y (có)\n"
+
+#: login-utils/mesg.c:92
+#, c-format
+msgid "is n\n"
+msgstr "là n (không)\n"
+
+#: login-utils/mesg.c:112
+#, c-format
+msgid "usage: mesg [y | n]\n"
+msgstr "sử dụng: mesg [y | n]\n"
+
+#: login-utils/newgrp.c:105
+msgid "newgrp: Who are you?"
+msgstr "newgrp: Bạn là ai?"
+
+#: login-utils/newgrp.c:113 login-utils/newgrp.c:127
+msgid "newgrp: setgid"
+msgstr "newgrp: setgid"
+
+#: login-utils/newgrp.c:120 login-utils/newgrp.c:122
+msgid "newgrp: No such group."
+msgstr "newgrp: Không có nhóm như vậy."
+
+#: login-utils/newgrp.c:131
+msgid "newgrp: Permission denied"
+msgstr "newgrp: Không đủ quyền hạn"
+
+#: login-utils/newgrp.c:138
+msgid "newgrp: setuid"
+msgstr "newgrp: setuid"
+
+#: login-utils/newgrp.c:144
+msgid "No shell"
+msgstr "Không có trình bao"
+
+#: login-utils/shutdown.c:115
+#, c-format
+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"
+
+#: login-utils/shutdown.c:133
+msgid "Shutdown process aborted"
+msgstr "Dừng việc tắt máy"
+
+#: login-utils/shutdown.c:164
+#, c-format
+msgid "%s: Only root can shut a system down.\n"
+msgstr "%s: Chỉ người chủ (root) có thể tắt máy.\n"
+
+#: login-utils/shutdown.c:258
+#, c-format
+msgid "That must be tomorrow, can't you wait till then?\n"
+msgstr "Là ngày mai, có thể chờ đến lúc đó?\n"
+
+#: login-utils/shutdown.c:309
+msgid "for maintenance; bounce, bounce"
+msgstr "cho bảo dưỡng;"
+
+#: login-utils/shutdown.c:338
+msgid "The system is being shut down within 5 minutes"
+msgstr "Sẽ tắt máy sau 5 phút"
+
+#: login-utils/shutdown.c:342
+msgid "Login is therefore prohibited."
+msgstr "Do đó đăng nhập là không thể."
+
+#: login-utils/shutdown.c:364
+#, c-format
+msgid "rebooted by %s: %s"
+msgstr "khởi động lại bởi %s: %s"
+
+#: login-utils/shutdown.c:367
+#, c-format
+msgid "halted by %s: %s"
+msgstr "dừng bởi %s: %s"
+
+#: login-utils/shutdown.c:431
+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?"
+
+#: login-utils/shutdown.c:433
+msgid ""
+"\n"
+"Now you can turn off the power..."
+msgstr ""
+"\n"
+"Bây giờ có thể tắt nguồn điện..."
+
+#: login-utils/shutdown.c:449
+#, c-format
+msgid "Calling kernel power-off facility...\n"
+msgstr "Đang gọi phương tiện tắt máy của nhân...\n"
+
+#: login-utils/shutdown.c:452
+#, c-format
+msgid "Error powering off\t%s\n"
+msgstr "Lỗi tắt máy \t%s\n"
+
+#: login-utils/shutdown.c:460
+#, c-format
+msgid "Executing the program \"%s\" ...\n"
+msgstr "Đang thực hiện chương trình \"%s\"...\n"
+
+#: login-utils/shutdown.c:463
+#, c-format
+msgid "Error executing\t%s\n"
+msgstr "Lỗi thực hiện \t%s\n"
+
+#: login-utils/shutdown.c:490
+#, c-format
+msgid "URGENT: broadcast message from %s:"
+msgstr "URGENT: thông báo toàn thể từ %s:"
+
+#: login-utils/shutdown.c:496
+#, c-format
+msgid "System going down in %d hours %d minutes"
+msgstr "Hệ thống sẽ tắt sau %d giờ %d phút"
+
+#: login-utils/shutdown.c:499
+#, c-format
+msgid "System going down in 1 hour %d minutes"
+msgstr "Hệ thống sẽ tắt sau 1 giờ %d phút"
+
+#: login-utils/shutdown.c:502
+#, c-format
+msgid "System going down in %d minutes\n"
+msgstr "Hệ thống sẽ tắt sau %d phút\n"
+
+#: login-utils/shutdown.c:505
+#, c-format
+msgid "System going down in 1 minute\n"
+msgstr "Hệ thống sẽ tắt sau 1 phút\n"
+
+#: login-utils/shutdown.c:507
+#, c-format
+msgid "System going down IMMEDIATELY!\n"
+msgstr "Hệ thống sẽ tắt sau NGAY LẬP TỨC!\n"
+
+#: login-utils/shutdown.c:512
+#, c-format
+msgid "\t... %s ...\n"
+msgstr "\t... %s ...\n"
+
+#: login-utils/shutdown.c:569
+msgid "Cannot fork for swapoff. Shrug!"
+msgstr "Không thể phân nhánh cho swapoff (tắt bộ nhớ trao đổi). Bỏ đi!"
+
+#: login-utils/shutdown.c:577
+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."
+
+#: login-utils/shutdown.c:596
+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."
+
+#: login-utils/shutdown.c:605
+#, c-format
+msgid "Cannot exec %s, trying umount.\n"
+msgstr "Không chạy được %s, đang thử umount.\n"
+
+#: login-utils/shutdown.c:609
+msgid "Cannot exec umount, giving up on umount."
+msgstr "Không chạy được umount, bỏ trên umount."
+
+#: login-utils/shutdown.c:614
+msgid "Unmounting any remaining filesystems..."
+msgstr "Đang bỏ gắn mọi hệ thống tập tin nói đến..."
+
+#: login-utils/shutdown.c:661
+#, c-format
+msgid "shutdown: Couldn't umount %s: %s\n"
+msgstr "shutdown: Không umount được %s: %s\n"
+
+#: login-utils/simpleinit.c:132
+msgid "Booting to single user mode.\n"
+msgstr "Khởi động vào chế độ một người dùng.\n"
+
+#: login-utils/simpleinit.c:136
+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"
+
+#: login-utils/simpleinit.c:140
+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"
+
+#: login-utils/simpleinit.c:208
+msgid "error opening fifo\n"
+msgstr "lỗi mở kênh fifo\n"
+
+#: login-utils/simpleinit.c:212
+msgid "error setting close-on-exec on /dev/initctl"
+msgstr "lỗi thiết lập close-on-exec trên /dev/initctl"
+
+#: login-utils/simpleinit.c:259
+msgid "error running finalprog\n"
+msgstr "lỗi chạy finalprog (chương trình cuối cùng)\n"
+
+#: login-utils/simpleinit.c:263
+msgid "error forking finalprog\n"
+msgstr "lỗi phân nhánh finalprog (chương trình cuối cùng)\n"
+
+#: login-utils/simpleinit.c:345
+msgid ""
+"\n"
+"Wrong password.\n"
+msgstr ""
+"\n"
+"Mật khẩu không đúng.\n"
+
+#: login-utils/simpleinit.c:418
+msgid "lstat of path failed\n"
+msgstr "lstat đường dẫn không thành công\n"
+
+#: login-utils/simpleinit.c:426
+msgid "stat of path failed\n"
+msgstr "stat (lấy trạng thái về) đường dẫn không thành công\n"
+
+#: login-utils/simpleinit.c:434
+msgid "open of directory failed\n"
+msgstr "mở thư mục không thành công\n"
+
+#: login-utils/simpleinit.c:501
+#, c-format
+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"
+
+#: login-utils/simpleinit.c:509
+msgid "fork failed\n"
+msgstr "phân nhánh không thành công\n"
+
+#: login-utils/simpleinit.c:540 text-utils/more.c:1629
+msgid "exec failed\n"
+msgstr "thực hiện (exec) không thành công\n"
+
+#: login-utils/simpleinit.c:564
+msgid "cannot open inittab\n"
+msgstr "không mở được inittab\n"
+
+#: login-utils/simpleinit.c:631
+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"
+
+#: login-utils/simpleinit.c:938
+#, c-format
+msgid "error stopping service: \"%s\"\n"
+msgstr "lỗi dừng dịch vụ: « %s »\n"
+
+#: login-utils/simpleinit.c:950
+#, c-format
+msgid "Stopped service: %s\n"
+msgstr "Dịch vụ bị dừng: %s\n"
+
+#: login-utils/simpleinit.c:1070
+#, c-format
+msgid "error running programme: \"%s\"\n"
+msgstr "lỗi chạy chương trình: « %s »\n"
+
+#: login-utils/ttymsg.c:75
+msgid "too many iov's (change code in wall/ttymsg.c)"
+msgstr "quá nhiều iov (thay đổi mã trong wall/ttymsg.c)"
+
+#: login-utils/ttymsg.c:85
+#, c-format
+msgid "excessively long line arg"
+msgstr "dòng đối số quá dài"
+
+#: login-utils/ttymsg.c:140
+#, c-format
+msgid "cannot fork"
+msgstr "không phân nhánh được"
+
+#: login-utils/ttymsg.c:144
+#, c-format
+msgid "fork: %s"
+msgstr "fork: %s"
+
+#: login-utils/ttymsg.c:174
+#, c-format
+msgid "%s: BAD ERROR"
+msgstr "%s: LỖI XẤU"
+
+#: login-utils/vipw.c:143
+#, c-format
+msgid "%s: the password file is busy.\n"
+msgstr "%s: tập tin mật khẩu đang bận.\n"
+
+#: login-utils/vipw.c:146
+#, c-format
+msgid "%s: the group file is busy.\n"
+msgstr "%s: tập tin nhóm đang bận.\n"
+
+#: login-utils/vipw.c:162
+#, c-format
+msgid "%s: the %s file is busy (%s present)\n"
+msgstr "%s: tập tin %s đang bận (%s hiện thời)\n"
+
+#: login-utils/vipw.c:168
+#, c-format
+msgid "%s: can't link %s: %s\n"
+msgstr "%s: không liên kết (link) được %s: %s\n"
+
+#: login-utils/vipw.c:202
+#, c-format
+msgid "%s: Can't get context for %s"
+msgstr "%s: Không lấy được văn cảnh cho %s"
+
+#: login-utils/vipw.c:208
+#, c-format
+msgid "%s: Can't set context for %s"
+msgstr "%s: Không đặt được văn cảnh cho %s"
+
+#: login-utils/vipw.c:217
+#, c-format
+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"
+
+#: login-utils/vipw.c:240
+#, c-format
+msgid "%s: Cannot fork\n"
+msgstr "%s: Không thể phân nhánh\n"
+
+#: login-utils/vipw.c:276
+#, c-format
+msgid "%s: %s unchanged\n"
+msgstr "%s: %s không thay đổi\n"
+
+#: login-utils/vipw.c:297
+#, c-format
+msgid "%s: no changes made\n"
+msgstr "%s: không có thay đổi nào\n"
+
+#: login-utils/vipw.c:350
+#, 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:351
+#, 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"
+
+#: login-utils/vipw.c:352
+#, c-format
+msgid "Would you like to edit %s now [y/n]? "
+msgstr "Soạn thảo %s bây giờ [y/n]? "
+
+#: login-utils/wall.c:112
+#, c-format
+msgid "usage: %s [file]\n"
+msgstr "sử dụng: %s [ tập tin ]\n"
+
+#: login-utils/wall.c:167
+#, c-format
+msgid "%s: can't open temporary file.\n"
+msgstr "%s: không mở được tập tin tạm thời.\n"
+
+#: login-utils/wall.c:194
+#, c-format
+msgid "Broadcast Message from %s@%s"
+msgstr "Thông báo Toàn thể từ %s@%s"
+
+#: login-utils/wall.c:212
+#, c-format
+msgid "%s: will not read %s - use stdin.\n"
+msgstr "%s: sẽ không đọc %s - sử dụng stdin.\n"
+
+#: login-utils/wall.c:217
+#, c-format
+msgid "%s: can't read %s.\n"
+msgstr "%s: không đọc được %s.\n"
+
+#: login-utils/wall.c:240
+#, c-format
+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"
+
+#: login-utils/wall.c:250
+#, c-format
+msgid "%s: can't read temporary file.\n"
+msgstr "%s: không đọc được tập tin tạm thời.\n"
+
+#: misc-utils/cal.c:362 misc-utils/cal.c:374
+#, 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:366
+msgid "illegal month value: use 1-12"
+msgstr "giá trị tháng bị sai: hãy dùng 1-12"
+
+#: misc-utils/cal.c:370
+msgid "illegal year value: use 1-9999"
+msgstr "giá trị năm bị sai: hãy dùng 1-9999"
+
+#: misc-utils/cal.c:464
+#, c-format
+msgid "%s %d"
+msgstr "%s %d"
+
+#: misc-utils/cal.c:856
+#, c-format
+msgid "usage: cal [-13smjyV] [[[day] month] year]\n"
+msgstr "sử dụng: cal [-13smjyV] [[[ngày] tháng] năm]\n"
+
+#: misc-utils/ddate.c:203
+#, 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:250
+msgid "St. Tib's Day"
+msgstr "Ngày Thánh Tib"
+
+#: misc-utils/findfs.c:24
+#, c-format
+msgid "Usage: %s LABEL=<label>|UUID=<uuid>\n"
+msgstr "Sử dụng: %s LABEL=<nhãn>|UUID=<uuid>\n"
+
+#: misc-utils/findfs.c:55
+#, c-format
+msgid "unable to resolve '%s'"
+msgstr "không giải quyết được « %s »"
+
+#: misc-utils/kill.c:207
+#, c-format
+msgid "%s: unknown signal %s\n"
+msgstr "%s: tín hiệu không rõ %s\n"
+
+#: misc-utils/kill.c:270
+#, 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:314
+#, c-format
+msgid "%s: unknown signal %s; valid signals:\n"
+msgstr "%s: tín hiệu không rõ %s; tín hiệu có thể dùng:\n"
+
+#: misc-utils/kill.c:354
+#, 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:355
+#, c-format
+msgid "       %s -l [ signal ]\n"
+msgstr "       %s -l [ tín_hiệu ]\n"
+
+#: misc-utils/logger.c:67
+#, c-format
+msgid "logger: openlog: pathname too long\n"
+msgstr "logger: openlog: tên đường dẫn quá dài\n"
+
+#: misc-utils/logger.c:75
+#, c-format
+msgid "socket: %s.\n"
+msgstr "ổ cắm: %s.\n"
+
+#: misc-utils/logger.c:80
+#, c-format
+msgid "connect: %s.\n"
+msgstr "kết nối: %s.\n"
+
+#: misc-utils/logger.c:139
+#, c-format
+msgid "logger: %s: %s.\n"
+msgstr "logger: %s: %s.\n"
+
+#: misc-utils/logger.c:246
+#, c-format
+msgid "logger: unknown facility name: %s.\n"
+msgstr "logger: không rõ tên khả năng: %s.\n"
+
+#: misc-utils/logger.c:258
+#, c-format
+msgid "logger: unknown priority name: %s.\n"
+msgstr "logger: không rõ tên quyền ưu tiên: %s.\n"
+
+#: misc-utils/logger.c:285
+#, c-format
+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"
+
+#: misc-utils/look.c:351
+#, c-format
+msgid "usage: look [-dfa] [-t char] string [file]\n"
+msgstr "sử dụng: look [-dfa] [-t ký_tự] chuỗi [tập_tin]\n"
+
+#: misc-utils/mcookie.c:105 misc-utils/mcookie.c:132
+#, c-format
+msgid "Could not open %s\n"
+msgstr "Không mở được %s\n"
+
+#: misc-utils/mcookie.c:109 misc-utils/mcookie.c:128
+#, c-format
+msgid "Got %d bytes from %s\n"
+msgstr "Nhận %d byte từ %s\n"
+
+#: misc-utils/namei.c:144 misc-utils/namei.c:198 misc-utils/namei.c:220
+#: misc-utils/namei.c:227 misc-utils/namei.c:248
+msgid "out of memory?"
+msgstr "không đủ bộ nhớ ?"
+
+#: misc-utils/namei.c:189
+#, 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:229
+#, c-format
+msgid "could not stat '%s'"
+msgstr "không thể lấy trạng thái về « %s »"
+
+#: misc-utils/namei.c:411
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [options] pathname [pathname ...]\n"
+msgstr ""
+"\n"
+"Sử dụng: %s [các_tuỳ_chọn] tên_đường_dẫn [tên_đường_dẫn ...]\n"
+
+#: misc-utils/namei.c:412
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"Tuỳ chọn:\n"
+
+#: misc-utils/namei.c:415
+#, c-format
+msgid ""
+" -h, --help          displays this help text\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"
+" -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    đừ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ủ\n"
+
+#: misc-utils/namei.c:423
+#, c-format
+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:484
+#, c-format
+msgid "failed to stat: %s"
+msgstr "lỗi lấy trạng thái: %s"
+
+#: misc-utils/namei.c:495
+#, 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:38
+#, c-format
+msgid "%s: out of memory\n"
+msgstr "%s: không đủ bộ nhớ\n"
+
+#: misc-utils/rename.c:56
+#, c-format
+msgid "%s: renaming %s to %s failed: %s\n"
+msgstr "%s: thay đổi tên %s thành %s không thành công: %s\n"
+
+#: misc-utils/rename.c:86
+#, c-format
+msgid "call: %s from to files...\n"
+msgstr "call: %s sang các tập tin...\n"
+
+#: misc-utils/script.c:110
+#, c-format
+msgid ""
+"Warning: `%s' is a link.\n"
+"Use `%s [options] %s' if you really want to use it.\n"
+"Script not started.\n"
+msgstr ""
+"Cảnh báo: `%s' là một liên kết.\n"
+"Hãy dùng `%s [tùy chọn] %s' nếu thực sự muốn sử dụng nó.\n"
+"Văn lệnh chưa chạy.\n"
+
+#: misc-utils/script.c:173
+#, c-format
+msgid "usage: script [-a] [-f] [-q] [-t] [file]\n"
+msgstr "sử dụng: script [-a] [-f] [-q] [-t] [tập tin]\n"
+
+#: misc-utils/script.c:196
+#, c-format
+msgid "Script started, file is %s\n"
+msgstr "Văn lệnh đã chạy, tập tin là %s\n"
+
+#: misc-utils/script.c:244
+#, c-format
+msgid "%s: write error %d: %s\n"
+msgstr "%s: lỗi ghi %d: %s\n"
+
+#: misc-utils/script.c:304
+#, c-format
+msgid "Script started on %s"
+msgstr "Văn lệnh đã chạy trên %s"
+
+#: misc-utils/script.c:347
+#, c-format
+msgid "%s: write error: %s\n"
+msgstr "%s: lỗi ghi: %s\n"
+
+#: misc-utils/script.c:354
+#, c-format
+msgid "%s: cannot write script file, error: %s\n"
+msgstr "%s: không thể ghi tập tin văn lệnh, lỗi: %s\n"
+
+#: misc-utils/script.c:430
+#, c-format
+msgid ""
+"\n"
+"Script done on %s"
+msgstr ""
+"\n"
+"Văn lệnh đã chạy xong trên %s"
+
+#: misc-utils/script.c:437
+#, c-format
+msgid "Script done, file is %s\n"
+msgstr "Văn lệnh đã chạy xong, tập tin là %s\n"
+
+#: misc-utils/script.c:448
+#, c-format
+msgid "openpty failed\n"
+msgstr "openpty không thành công\n"
+
+#: misc-utils/script.c:482
+#, c-format
+msgid "Out of pty's\n"
+msgstr "Ngoài pty\n"
+
+#: misc-utils/scriptreplay.c:38
+#, c-format
+msgid "%s <timingfile> [<typescript> [<divisor>]]\n"
+msgstr "%s <tập_tin_đếm_thời_gian> [<bản_đánh máy> [<số_chia>]]\n"
+
+#: misc-utils/scriptreplay.c:53
+#, c-format
+msgid "expected a number, but got '%s'"
+msgstr "mong đợi con số, còn nhận « %s »"
+
+#: misc-utils/scriptreplay.c:56 misc-utils/scriptreplay.c:60
+#, c-format
+msgid "divisor '%s'"
+msgstr "số chia « %s »"
+
+#: misc-utils/scriptreplay.c:104
+msgid "write to stdout failed"
+msgstr "lỗi ghi vào đầu ra tiêu chuẩn"
+
+#: misc-utils/scriptreplay.c:110
+#, 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"
+
+#: misc-utils/scriptreplay.c:112
+#, c-format
+msgid "failed to read typescript file %s"
+msgstr "lỗi đọc tập tin bản đánh máy %s"
+
+#: misc-utils/scriptreplay.c:145
+#, c-format
+msgid "cannot open timing file %s"
+msgstr "không thể mở tập tin đếm thời gian %s"
+
+#: misc-utils/scriptreplay.c:148
+#, c-format
+msgid "cannot open typescript file %s"
+msgstr "không thể mở tập tin bản đánh máy %s"
+
+#: misc-utils/scriptreplay.c:164
+#, c-format
+msgid "failed to read timing file %s"
+msgstr "lỗi đọc tập tin đếm thời gian %s"
+
+#: misc-utils/scriptreplay.c:166
+#, fuzzy, c-format
+msgid "timings file %s: %lu: unexpected format"
+msgstr "tập tin đếm thời gian %s: %lu: định dạng mong đợi"
+
+#: misc-utils/setterm.c:763
+#, c-format
+msgid "%s: Argument error, usage\n"
+msgstr "%s: Lỗi đối số, sử dụng\n"
+
+#: misc-utils/setterm.c:766
+#, c-format
+msgid "  [ -term terminal_name ]\n"
+msgstr "  [ -term tên_thiết_bị_cuối ]\n"
+
+#: misc-utils/setterm.c:767
+#, c-format
+msgid "  [ -reset ]\n"
+msgstr "  [ -reset ]\tđặt lại\n"
+
+#: misc-utils/setterm.c:768
+#, c-format
+msgid "  [ -initialize ]\n"
+msgstr "  [ -initialize ]\t\tsơ khởi\n"
+
+#: misc-utils/setterm.c:769
+#, c-format
+msgid "  [ -cursor [on|off] ]\n"
+msgstr "  [ -cursor [on|off] ]\tcon trỏ [bật|tắt]\n"
+
+#: misc-utils/setterm.c:771
+#, c-format
+msgid "  [ -snow [on|off] ]\n"
+msgstr "  [ -snow [on|off] ]\n"
+
+#: misc-utils/setterm.c:772
+#, c-format
+msgid "  [ -softscroll [on|off] ]\n"
+msgstr "  [ -softscroll [on|off] ]\t\tcuộn mềm [bật|tắt]\n"
+
+#: misc-utils/setterm.c:774
+#, c-format
+msgid "  [ -repeat [on|off] ]\n"
+msgstr "  [ -repeat [on|off] ]\t\tlặp lại [bật|tắt]\n"
+
+#: misc-utils/setterm.c:775
+#, c-format
+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"
+
+#: misc-utils/setterm.c:776
+#, c-format
+msgid "  [ -linewrap [on|off] ]\n"
+msgstr "  [ -linewrap [on|off] ]\t\tngắt dòng [bật|tắt]\n"
+
+#: misc-utils/setterm.c:777
+#, c-format
+msgid "  [ -default ]\n"
+msgstr "  [ -default ]\t\tmặc định\n"
+
+#: misc-utils/setterm.c:778
+#, c-format
+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ạ"
+
+#: misc-utils/setterm.c:779 misc-utils/setterm.c:781
+#, c-format
+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"
+
+#: misc-utils/setterm.c:780
+#, c-format
+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ạ"
+
+#: misc-utils/setterm.c:782
+#, c-format
+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ạ"
+
+#: misc-utils/setterm.c:783 misc-utils/setterm.c:785 misc-utils/setterm.c:787
+#: misc-utils/setterm.c:789
+#, c-format
+msgid "|red|magenta|yellow|white ]\n"
+msgstr ""
+"|red|magenta|yellow|white ]\n"
+"\n"
+"|đỏ|đỏ tươi|vàng|trắng\n"
+
+#: misc-utils/setterm.c:784
+#, c-format
+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"
+
+#: misc-utils/setterm.c:786
+#, c-format
+msgid "  [ -hbcolor black|grey|blue|green|cyan"
+msgstr "  [ -hbcolor black|grey|blue|green|cyan"
+
+#: misc-utils/setterm.c:788
+#, c-format
+msgid "  [ -hbcolor bright blue|green|cyan"
+msgstr "  [ -hbcolor bright blue|green|cyan"
+
+#: misc-utils/setterm.c:791
+#, c-format
+msgid "  [ -standout [ attr ] ]\n"
+msgstr "  [ -standout [ thuộc_tính ] ]\t\tlàm nổi\n"
+
+#: misc-utils/setterm.c:793
+#, c-format
+msgid "  [ -inversescreen [on|off] ]\n"
+msgstr "  [ -inversescreen [on|off] ]\t\tmàn hình đảo [bật|tắt]\n"
+
+#: misc-utils/setterm.c:794
+#, c-format
+msgid "  [ -bold [on|off] ]\n"
+msgstr "  [ -bold [on|off] ]\t\tin đậm [bật|tắt]\n"
+
+#: misc-utils/setterm.c:795
+#, c-format
+msgid "  [ -half-bright [on|off] ]\n"
+msgstr "  [ -half-bright [on|off] ]\tnửa sáng [bật|tắt]\n"
+
+#: misc-utils/setterm.c:796
+#, c-format
+msgid "  [ -blink [on|off] ]\n"
+msgstr "  [ -blink [on|off] ]\t\tnhấp nháy [bật|tắt]\n"
+
+#: misc-utils/setterm.c:797
+#, c-format
+msgid "  [ -reverse [on|off] ]\n"
+msgstr "  [ -reverse [on|off] ]\tngược lại [bật|tắt]\n"
+
+#: misc-utils/setterm.c:798
+#, c-format
+msgid "  [ -underline [on|off] ]\n"
+msgstr "  [ -underline [on|off] ]\t\tgạch dưới [bật|tắt]\n"
+
+#: misc-utils/setterm.c:799
+#, c-format
+msgid "  [ -store ]\n"
+msgstr ""
+"  [ -store ]\t\tcất giữ [bật|tắt]\n"
+"\n"
+
+#: misc-utils/setterm.c:800
+#, c-format
+msgid "  [ -clear [all|rest] ]\n"
+msgstr "  [ -clear [all|rest] ]\t\txoá sạch [tất cả|phần còn lại]\n"
+
+#: misc-utils/setterm.c:801
+#, c-format
+msgid "  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n"
+msgstr "  [ -tabs [ tab1 tab2 tab3 ... ] ]      (số tab = 1-160)\n"
+
+#: misc-utils/setterm.c:802
+#, c-format
+msgid "  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n"
+msgstr "  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (số tab = 1-160)\n"
+
+#: misc-utils/setterm.c:803
+#, c-format
+msgid "  [ -regtabs [1-160] ]\n"
+msgstr "  [ -regtabs [1-160] ]\n"
+
+#: misc-utils/setterm.c:804
+#, c-format
+msgid "  [ -blank [0-60|force|poke] ]\n"
+msgstr "  [ -blank [0-60|force|poke] ]\trỗng[buộc|chọc]\n"
+
+#: misc-utils/setterm.c:805
+#, c-format
+msgid "  [ -dump   [1-NR_CONSOLES] ]\n"
+msgstr "  [ -dump   [1-số_bàn_giao_tiếp] ]\tđổ\n"
+
+#: misc-utils/setterm.c:806
+#, c-format
+msgid "  [ -append [1-NR_CONSOLES] ]\n"
+msgstr "  [ -append [1-số_bàn_giao_tiếp] ]\tphụ thêm\n"
+
+#: misc-utils/setterm.c:807
+#, c-format
+msgid "  [ -file dumpfilename ]\n"
+msgstr "  [ -file tên_tập_tin_đổ ]\t\ttập tin\n"
+
+#: misc-utils/setterm.c:808
+#, c-format
+msgid "  [ -msg [on|off] ]\n"
+msgstr "  [ -msg [on|off] ]\tthông báo\n"
+
+#: misc-utils/setterm.c:809
+#, c-format
+msgid "  [ -msglevel [0-8] ]\n"
+msgstr "  [ -msglevel [0-8] ]\t\tcấp thông điệp\n"
+
+#: misc-utils/setterm.c:810
+#, c-format
+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"
+
+#: misc-utils/setterm.c:811
+#, c-format
+msgid "  [ -powerdown [0-60] ]\n"
+msgstr "  [ -powerdown [0-60] ]\t\tgiảm điện năng\n"
+
+#: misc-utils/setterm.c:812
+#, c-format
+msgid "  [ -blength [0-2000] ]\n"
+msgstr "  [ -blength [0-2000] ]\t\tđộ dài b (?)\n"
+
+#: misc-utils/setterm.c:813
+#, c-format
+msgid "  [ -bfreq freqnumber ]\n"
+msgstr "  [ -bfreq tần_số ]\n"
+
+#: misc-utils/setterm.c:1065
+#, c-format
+msgid "cannot force blank\n"
+msgstr "không thể buộc rỗng\n"
+
+#: misc-utils/setterm.c:1069
+#, c-format
+msgid "cannot force unblank\n"
+msgstr "không thể buộc bỏ rỗng\n"
+
+#: misc-utils/setterm.c:1075
+#, c-format
+msgid "cannot get blank status\n"
+msgstr "không thể lấy trạng thái rỗng\n"
+
+#: misc-utils/setterm.c:1087
+#, c-format
+msgid "cannot (un)set powersave mode\n"
+msgstr "không (bỏ) đặt được chế độ tiết kiệm nguồn điện\n"
+
+#: misc-utils/setterm.c:1126 misc-utils/setterm.c:1134
+#, c-format
+msgid "klogctl error: %s\n"
+msgstr "lỗi klogctl: %s\n"
+
+#: misc-utils/setterm.c:1200
+#, c-format
+msgid "Error writing screendump\n"
+msgstr "Lỗi ghi screendump (đổ màn hình)\n"
+
+#: misc-utils/setterm.c:1207
+#, c-format
+msgid "Couldn't read %s\n"
+msgstr "Không đọc được %s\n"
+
+#: misc-utils/setterm.c:1261
+#, c-format
+msgid "%s: $TERM is not defined.\n"
+msgstr "%s: $TERM (thiết bị cuối) chưa định nghĩa.\n"
+
+#: misc-utils/uuidd.c:46
+#, c-format
+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"
+
+#: misc-utils/uuidd.c:48
+#, c-format
+msgid "       %s [-r|t] [-n num] [-s socketpath]\n"
+msgstr "       %s [-r|t] [-n số] [-s đường_dẫn_ổ_cắm]\n"
+
+#: misc-utils/uuidd.c:50
+#, c-format
+msgid "       %s -k\n"
+msgstr "       %s -k\n"
+
+#: misc-utils/uuidd.c:152
+msgid "bad arguments"
+msgstr "đối số sai"
+
+#: misc-utils/uuidd.c:159
+msgid "socket"
+msgstr "ổ cắm"
+
+#: misc-utils/uuidd.c:170
+msgid "connect"
+msgstr "kết nối"
+
+#: misc-utils/uuidd.c:189
+msgid "write"
+msgstr "ghi"
+
+#: misc-utils/uuidd.c:197
+msgid "read count"
+msgstr "đếm số lần đọc"
+
+#: misc-utils/uuidd.c:203
+msgid "bad response length"
+msgstr "chiều dài đáp ứng sai"
+
+#: misc-utils/uuidd.c:268
+#, 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:276
+#, c-format
+msgid "Couldn't create unix stream socket: %s"
+msgstr "Không thể tạo ổ cắm luồng UNIX: %s"
+
+#: misc-utils/uuidd.c:305
+#, c-format
+msgid "Couldn't bind unix socket %s: %s\n"
+msgstr "Không thể đóng kết ổ cắm UNIX %s: %s\n"
+
+#: misc-utils/uuidd.c:313
+#, c-format
+msgid "Couldn't listen on unix socket %s: %s\n"
+msgstr "Không thể lắng nghe trên ổ cắm UNIX %s: %s\n"
+
+#: misc-utils/uuidd.c:351
+#, 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:359
+#, c-format
+msgid "operation %d, incoming num = %d\n"
+msgstr "thao tác %d, số gửi đến = %d\n"
+
+#: misc-utils/uuidd.c:378
+#, c-format
+msgid "Generated time UUID: %s\n"
+msgstr "UUID thời gian đã tạo ra: %s\n"
+
+#: misc-utils/uuidd.c:388
+#, c-format
+msgid "Generated random UUID: %s\n"
+msgstr "UUID ngẫu nhiên đã tạo ra: %s\n"
+
+#: misc-utils/uuidd.c:397
+#, c-format
+msgid "Generated time UUID %s and %d following\n"
+msgstr "UUID thời gian đã tạo ra %s và %d theo sau\n"
+
+#: misc-utils/uuidd.c:415
+#, c-format
+msgid "Generated %d UUID's:\n"
+msgstr "%d UUID đã tạo ra:\n"
+
+#: misc-utils/uuidd.c:427
+#, c-format
+msgid "Invalid operation %d\n"
+msgstr "Thao tác không hợp lệ %d\n"
+
+#: misc-utils/uuidd.c:468 misc-utils/uuidd.c:489
+#, c-format
+msgid "Bad number: %s\n"
+msgstr "Số sai: %s\n"
+
+#: misc-utils/uuidd.c:524 misc-utils/uuidd.c:551
+#, c-format
+msgid "Error calling uuidd daemon (%s): %s\n"
+msgstr "Gặp lỗi khi gọi trình nền uuidd (%s): %s\n"
+
+#: misc-utils/uuidd.c:534
+#, c-format
+msgid "%s and subsequent %d UUID's\n"
+msgstr "%s và %d UUID xảy ra sau\n"
+
+#: misc-utils/uuidd.c:536
+#, c-format
+msgid "List of UUID's:\n"
+msgstr "Danh sách các UUID:\n"
+
+#: misc-utils/uuidd.c:557
+#, c-format
+msgid "Unexpected reply length from server %d\n"
+msgstr "Máy phục vụ đáp ứng với chiều dài bất thường %d\n"
+
+#: misc-utils/uuidd.c:574
+#, c-format
+msgid "Couldn't kill uuidd running at pid %d: %s\n"
+msgstr "Không thể buộc kết thúc uuidd đang chạy với PID %d: %s\n"
+
+#: misc-utils/uuidd.c:580
+#, 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:32
+#, c-format
+msgid "Usage: %s [-r] [-t]\n"
+msgstr "Sử dụng: %s [-r] [-t]\n"
+
+#: misc-utils/whereis.c:159
+#, c-format
+msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
+msgstr "whereis [ -sbmu ] [ -SBM thư_mục ... -f ] tên...\n"
+
+#: misc-utils/write.c:101
+#, c-format
+msgid "write: can't find your tty's name\n"
+msgstr "write: không tìm thấy tên tty của bạn\n"
+
+#: misc-utils/write.c:112
+#, c-format
+msgid "write: you have write permission turned off.\n"
+msgstr "write: quyền ghi nhớ của bạn đã tắt.\n"
+
+#: misc-utils/write.c:133
+#, c-format
+msgid "write: %s is not logged in on %s.\n"
+msgstr "write: %s chưa đăng nhập vào trên %s.\n"
+
+#: misc-utils/write.c:141
+#, c-format
+msgid "write: %s has messages disabled on %s\n"
+msgstr "write: %s tắt không dùng thông báo trên %s\n"
+
+#: misc-utils/write.c:148
+#, c-format
+msgid "usage: write user [tty]\n"
+msgstr "sử dụng: write người_dùng [tty]\n"
+
+#: misc-utils/write.c:236
+#, c-format
+msgid "write: %s is not logged in\n"
+msgstr "write: %s chưa đăng nhập vào\n"
+
+#: misc-utils/write.c:245
+#, c-format
+msgid "write: %s has messages disabled\n"
+msgstr "write: %s tắt không dùng thông báo\n"
+
+#: misc-utils/write.c:249
+#, c-format
+msgid "write: %s is logged in more than once; writing to %s\n"
+msgstr "write: %s đăng nhập nhiều hơn một lần, đang ghi nhớ vào %s\n"
+
+#: misc-utils/write.c:317
+#, 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 ..."
+
+#: misc-utils/write.c:320
+#, c-format
+msgid "Message from %s@%s on %s at %s ..."
+msgstr "Tin nhắn %s@%s tên %s lúc %s ..."
+
+#: mount/fstab.c:143
+#, c-format
+msgid "warning: error reading %s: %s"
+msgstr "cảnh báo: lỗi đọc %s: %s"
+
+#: mount/fstab.c:171 mount/fstab.c:196
+#, c-format
+msgid "warning: can't open %s: %s"
+msgstr "cảnh báo: không mở được %s: %s"
+
+#: mount/fstab.c:176
+#, 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/fstab.c:589
+#, 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/fstab.c:615
+#, 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/fstab.c:631
+#, 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/fstab.c:646
+#, 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/fstab.c:660
+#, 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/fstab.c:662
+msgid "timed out"
+msgstr "quá hạn"
+
+#: mount/fstab.c:669
+#, 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/fstab.c:791 mount/fstab.c:846
+#, 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/fstab.c:855
+#, c-format
+msgid "error writing %s: %s"
+msgstr "lỗi ghi nhớ %s: %s"
+
+#: mount/fstab.c:873
+#, c-format
+msgid "error changing mode of %s: %s\n"
+msgstr "lỗi thay đổi chế độ của %s: %s\n"
+
+#: mount/fstab.c:886
+#, 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/fstab.c:897
+#, 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/lomount.c:364
+#, c-format
+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"
+
+#: mount/lomount.c:388
+#, c-format
+msgid ", offset %<PRIu64>"
+msgstr ", bù %<PRIu64>"
+
+#: mount/lomount.c:391
+#, c-format
+msgid ", sizelimit %<PRIu64>"
+msgstr ", hạn_cỡ %<PRIu64>"
+
+#: mount/lomount.c:399
+#, c-format
+msgid ", encryption %s (type %<PRIu32>)"
+msgstr ", mã_hoá %s (kiểu %<PRIu32>)"
+
+#: mount/lomount.c:412
+#, c-format
+msgid ", offset %d"
+msgstr ", bù %d"
+
+#: mount/lomount.c:415
+#, c-format
+msgid ", encryption type %d\n"
+msgstr ", dạng mã hóa %d\n"
+
+#: mount/lomount.c:423
+#, c-format
+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"
+
+#: mount/lomount.c:434
+#, c-format
+msgid "loop: can't open device %s: %s\n"
+msgstr "loop: không mở được thiết bị %s: %s\n"
+
+#: mount/lomount.c:450 mount/lomount.c:482 mount/lomount.c:544
+#: mount/lomount.c:589
+#, c-format
+msgid "%s: /dev directory does not exist."
+msgstr "%s: thư mục « /dev » không tồn tại."
+
+#: mount/lomount.c:461 mount/lomount.c:602
+#, c-format
+msgid "%s: no permission to look at /dev/loop%s<N>"
+msgstr "%s: không có quyền xem /dev/loop%s<N>"
+
+#: mount/lomount.c:605
+#, c-format
+msgid "%s: could not find any free loop device"
+msgstr "%s: không tìm thấy thiết bị vòng lặp nào còn trống"
+
+#: mount/lomount.c:608
+#, c-format
+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'.)"
+
+#: mount/lomount.c:638
+msgid "Out of memory while reading passphrase"
+msgstr "Không đủ bộ nhớ khi đọc cụm từ mật khẩu"
+
+#: mount/lomount.c:681
+#, c-format
+msgid "warning: %s is already associated with %s\n"
+msgstr "cảnh báo : %s đã liên quan đến %s\n"
+
+#: mount/lomount.c:697
+#, c-format
+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"
+
+#: mount/lomount.c:733
+#, c-format
+msgid "Couldn't lock into memory, exiting.\n"
+msgstr "Không khóa được vào bộ nhớ, đang thoát.\n"
+
+#: mount/lomount.c:760
+#, c-format
+msgid "ioctl LOOP_SET_FD failed: %s\n"
+msgstr "ioctl LOOP_SET_FD bị lỗi: %s\n"
+
+#: mount/lomount.c:817
+#, c-format
+msgid "set_loop(%s,%s,%llu,%llu): success\n"
+msgstr "set_loop(%s,%s,%llu,%llu): thành công\n"
+
+#: mount/lomount.c:838
+#, c-format
+msgid "del_loop(%s): success\n"
+msgstr "del_loop(%s): thành công\n"
+
+#: mount/lomount.c:842
+#, c-format
+msgid "loop: can't delete device %s: %s\n"
+msgstr "loop: không xóa được thiết bị %s: %s\n"
+
+#: mount/lomount.c:853
+#, c-format
+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"
+
+#: mount/lomount.c:888
+#, c-format
+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"
+
+#: mount/lomount.c:898
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -e | --encryption <type> enable data encryption with specified <name/num>\n"
+" -h | --help              this help\n"
+" -o | --offset <num>      start at offset <num> into file\n"
+"      --sizelimit <num>   loop limited to only <num> bytes of the file\n"
+" -p | --pass-fd <num>     read passphrase from file descriptor <num>\n"
+" -r | --read-only         setup read-only loop device\n"
+"      --show              print device name (with -f <file>)\n"
+" -v | --verbose           verbose mode\n"
+"\n"
+msgstr ""
+"\n"
+"Tùy chọn:\n"
+" -e | --encryption <kiểu>\tbật mã hoá dữ liệu với <tên/số> đã ghi rõ\n"
+" -h | --help              \t\ttrợ giúp này\n"
+" -o | --offset <số>      \t\tbắt đầu ở khoảng bù số này trong tập tin\n"
+"      --sizelimit <số>   \tvòng lặp bị hạn chế thành 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"
+" -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ị (với « -f <tập_tin> »)\n"
+" -v | --verbose          \t\tchế độ chi tiết\n"
+"\n"
+
+#: mount/lomount.c:1036 mount/lomount.c:1076
+#, c-format
+msgid "Loop device is %s\n"
+msgstr "Thiết bị vòng lặp là %s\n"
+
+#: mount/lomount.c:1063
+#, c-format
+msgid "stolen loop=%s...trying again\n"
+msgstr "vòng lặp bị ăn cắp=%s... nên thử lại\n"
+
+#: mount/lomount.c:1073
+#, c-format
+msgid "%s: %s: device is busy"
+msgstr "%s: %s: thiết bị đang bận"
+
+#: mount/lomount.c:1090
+#, c-format
+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"
+
+#: mount/mount.c:329
+#, c-format
+msgid "mount: improperly quoted option string '%s'"
+msgstr "mount: chuỗi tùy chọn « %s » sai trích dẫn"
+
+#: mount/mount.c:362
+#, c-format
+msgid "mount: translated %s '%s' to '%s'\n"
+msgstr "mount: đã dịch %s « %s » sang « %s »\n"
+
+#: mount/mount.c:526
+#, 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/mount.c:531
+#, 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/mount.c:555
+#, c-format
+msgid "mount: can't open %s for writing: %s"
+msgstr "mount: không mở được %s để ghi nhớ: %s"
+
+#: mount/mount.c:572 mount/mount.c:1190
+#, c-format
+msgid "mount: error writing %s: %s"
+msgstr "mount: lỗi ghi nhớ %s: %s"
+
+#: mount/mount.c:580
+#, c-format
+msgid "mount: error changing mode of %s: %s"
+msgstr "mount: lỗi thay đổi chế độ của %s: %s"
+
+#: mount/mount.c:663
+#, c-format
+msgid "mount: cannot set group id: %s"
+msgstr "mount: không đặt được ID nhóm: %s"
+
+#: mount/mount.c:666
+#, c-format
+msgid "mount: cannot set user id: %s"
+msgstr "mount: không đặt được ID người dùng: %s"
+
+#: mount/mount.c:705 mount/mount.c:1809
+#, c-format
+msgid "mount: cannot fork: %s"
+msgstr "mount: không thể phân nhánh %s"
+
+#: mount/mount.c:842
+#, c-format
+msgid "Trying %s\n"
+msgstr "Đang thử %s.\n"
+
+#: mount/mount.c:870
+#, 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/mount.c:873
+#, 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/mount.c:876
+#, c-format
+msgid "       and it looks like this is swapspace\n"
+msgstr "       và đây có vẻ là vùng trao đổi\n"
+
+#: mount/mount.c:878
+#, c-format
+msgid "       I will try type %s\n"
+msgstr "       Sẽ thử loại %s\n"
+
+#: mount/mount.c:902
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr "%s có vẻ là vùng trao đổi - không gắn"
+
+#: mount/mount.c:993
+msgid "mount failed"
+msgstr "mount (gắn) không thành công"
+
+#: mount/mount.c:995
+#, 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/mount.c:1065
+msgid "mount: loop device specified twice"
+msgstr "mount: chỉ ra hai lần thiết bị vòng lặp"
+
+#: mount/mount.c:1070
+msgid "mount: type specified twice"
+msgstr "mount: chỉ ra hai lần kiểu hệ thống tập tin"
+
+#: mount/mount.c:1082
+#, 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/mount.c:1094
+#, 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/mount.c:1104
+#, 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/mount.c:1113
+#, 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/mount.c:1118
+#, c-format
+msgid "mount: stolen loop=%s"
+msgstr "mount: stolen loop=%s (vòng lặp bị ăn cắp)"
+
+#: mount/mount.c:1123
+#, c-format
+msgid "mount: failed setting up loop device\n"
+msgstr "mount: thiết lập thiết bị vòng lặp không thành công\n"
+
+#: mount/mount.c:1134
+#, 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/mount.c:1168
+#, c-format
+msgid "mount: no %s found - creating it..\n"
+msgstr "mount: không tìm thấy %s - đang tạo..\n"
+
+#: mount/mount.c:1185
+#, c-format
+msgid "mount: can't open %s: %s"
+msgstr "mount: không mở được %s: %s"
+
+#: mount/mount.c:1206
+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/mount.c:1219
+#, c-format
+msgid "mount: cannot open %s for setting speed"
+msgstr "mount: không mở được %s để đặt tốc độ"
+
+#: mount/mount.c:1222
+#, c-format
+msgid "mount: cannot set speed: %s"
+msgstr "mount: không đặt được tốc độ: %s"
+
+#: mount/mount.c:1279
+#, 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/mount.c:1358
+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/mount.c:1361
+msgid "mount: you must specify the filesystem type"
+msgstr "mount: cần chỉ rõ kiểu hệ thống tập tin"
+
+#: mount/mount.c:1364
+msgid "mount: mount failed"
+msgstr "mount: gắn không thành công"
+
+#: mount/mount.c:1370 mount/mount.c:1407
+#, 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/mount.c:1372
+msgid "mount: permission denied"
+msgstr "mount: không đủ quyền hạn"
+
+#: mount/mount.c:1374
+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/mount.c:1378 mount/mount.c:1382
+#, c-format
+msgid "mount: %s is busy"
+msgstr "mount: %s đang bận"
+
+#: mount/mount.c:1384
+msgid "mount: proc already mounted"
+msgstr "mount: đã gắn proc"
+
+#: mount/mount.c:1386
+#, c-format
+msgid "mount: %s already mounted or %s busy"
+msgstr "mount: đã gắn %s hoặc %s đang bận"
+
+#: mount/mount.c:1392
+#, c-format
+msgid "mount: mount point %s does not exist"
+msgstr "mount: điểm gắn %s không tồn tại"
+
+#: mount/mount.c:1394
+#, 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/mount.c:1399
+#, 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/mount.c:1411
+#, 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/mount.c:1423
+#, c-format
+msgid "mount: %s not mounted already, or bad option"
+msgstr "mount: %s chưa gắn, hoặc tùy chọn xấu"
+
+#: mount/mount.c:1425
+#, 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/mount.c:1432
+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/mount.c:1441
+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/mount.c:1446
+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/mount.c:1453
+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/mount.c:1459
+msgid "mount table full"
+msgstr "đầy bảng gắn"
+
+#: mount/mount.c:1461
+#, c-format
+msgid "mount: %s: can't read superblock"
+msgstr "mount: %s không đọc được siêu khối"
+
+#: mount/mount.c:1467
+#, c-format
+msgid "mount: %s: unknown device"
+msgstr "mount: %s: không rõ thiết bị"
+
+#: mount/mount.c:1472
+#, c-format
+msgid "mount: unknown filesystem type '%s'"
+msgstr "mount: không rõ kiểu hệ thống tập tin '%s'"
+
+#: mount/mount.c:1484
+#, c-format
+msgid "mount: probably you meant %s"
+msgstr "mount: có thể muốn đặt %s"
+
+#: mount/mount.c:1487
+msgid "mount: maybe you meant 'iso9660'?"
+msgstr "mount: có thể muốn đặt 'iso9660'?"
+
+#: mount/mount.c:1490
+msgid "mount: maybe you meant 'vfat'?"
+msgstr "mount: có thể muốn đặt 'vfat'?"
+
+#: mount/mount.c:1493
+#, 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/mount.c:1501
+#, 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/mount.c:1503
+#, c-format
+msgid ""
+"mount: the kernel does not recognize %s as a block device\n"
+"       (maybe `insmod driver'?)"
+msgstr ""
+"mount: nhân không nhận ra %s như là thiết bị khối\n"
+"       (có thể thử `insmod driver'?)"
+
+#: mount/mount.c:1506
+#, 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/mount.c:1509
+#, c-format
+msgid "mount: %s is not a block device"
+msgstr "mount: %s không phải là thiết bị khối"
+
+#: mount/mount.c:1514
+#, 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/mount.c:1517
+msgid "block device "
+msgstr "thiết bị khối "
+
+#: mount/mount.c:1519
+#, 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/mount.c:1523
+#, 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/mount.c:1527
+#, fuzzy, c-format
+msgid "mount: cannot remount %s%s read-write, is write-protected"
+msgstr "mount: không gắn được %s%s với chế độ chỉ đọc"
+
+#: mount/mount.c:1542
+#, 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/mount.c:1552
+#, c-format
+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"
+
+#: mount/mount.c:1558
+#, 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/mount.c:1576
+#, 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/mount.c:1655
+#, 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/mount.c:1661
+#, 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/mount.c:1756
+#, c-format
+msgid "mount: %s already mounted on %s\n"
+msgstr "mount: đã gắn %s trên %s\n"
+
+#: mount/mount.c:1890
+#, 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/mount.c:2213
+msgid "mount: only root can do that"
+msgstr "mount: chỉ người chủ (root) có quyền thực hiện"
+
+#: mount/mount.c:2223
+msgid "nothing was mounted"
+msgstr "không gắn gì cả"
+
+#: mount/mount.c:2241 mount/mount.c:2267
+msgid "mount: no such partition found"
+msgstr "mount: không tìm thấy phân vùng như vậy"
+
+#: mount/mount.c:2244
+#, 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/mount_mntent.c:165
+#, 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/mount_mntent.c:216
+#, c-format
+msgid "[mntent]: line %d in %s is bad%s\n"
+msgstr "[mntent]: dòng %d trong %s xấu %s\n"
+
+#: mount/mount_mntent.c:219
+msgid "; rest of file ignored"
+msgstr "; bỏ qua phần còn lại của tập tin"
+
+#: mount/sundries.c:31
+msgid "bug in xstrndup call"
+msgstr "lỗi (bug) trong lời gọi xstrndup"
+
+#: mount/sundries.c:224 mount/sundries.c:280 mount/sundries.c:289
+#: mount/xmalloc.c:11
+msgid "not enough memory"
+msgstr "không đủ bộ nhớ"
+
+#: mount/swapon.c:84
+#, c-format
+msgid ""
+"The <special> parameter:\n"
+" {-L label | LABEL=label}             LABEL of device to be used\n"
+" {-U uuid  | 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"
+"\n"
+msgstr ""
+"Tham số <đặc biệt>:\n"
+" {-L label | LABEL=nhãn}             \tNhãn của thiết bị cần dùng\n"
+" {-U uuid  | UUID=uuid}             \tUUID của thiết bị cần dùng\n"
+" <thiết_bị>                             \ttên của thiết bị cần dùng\n"
+" <tập_tin>                               \ttên của tập tin cần dùng\n"
+"\n"
+
+#: mount/swapon.c:92
+#, c-format
+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"
+
+#: mount/swapon.c:106
+#, c-format
+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"
+
+#: mount/swapon.c:140
+#, c-format
+msgid "%s: unexpected file format"
+msgstr "%s: gặp định dạng tập tin bất thường"
+
+#: mount/swapon.c:184 mount/swapon.c:252 mount/swapon.c:397 mount/swapon.c:556
+#: mount/swapon.c:758
+#, c-format
+msgid "%s: open failed"
+msgstr "%s: lỗi mở"
+
+#: mount/swapon.c:205
+#, c-format
+msgid "%s: reinitializing the swap."
+msgstr "%s: đang sơ khởi lại vùng trao đổi."
+
+#: mount/swapon.c:209
+msgid "fork failed"
+msgstr "lỗi phân nhánh"
+
+#: mount/swapon.c:225
+msgid "execv failed"
+msgstr "execv bị lỗi"
+
+#: mount/swapon.c:233
+msgid "waitpid failed"
+msgstr "waitpid bị lỗi"
+
+#: mount/swapon.c:257
+#, c-format
+msgid "%s: lseek failed"
+msgstr "%s: lseek bị lỗi"
+
+#: mount/swapon.c:263
+#, c-format
+msgid "%s: write signature failed"
+msgstr "%s: lỗi ghi chữ ký"
+
+#: mount/swapon.c:350
+#, c-format
+msgid "%s: found %sswap v%d signature string for %d KiB PAGE_SIZE\n"
+msgstr ""
+"%s: tìm thấy chuỗi chữ ký vùng trao đổi %s v%d cho %d KiB KÍCH_CỠ_TRANG\n"
+
+#: mount/swapon.c:370
+#, c-format
+msgid "%s: stat failed"
+msgstr "%s: lỗi lấy trạng thái"
+
+#: mount/swapon.c:380
+#, 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."
+
+#: mount/swapon.c:388
+#, c-format
+msgid "%s: skipping - it appears to have holes."
+msgstr "%s: đang bỏ qua — có vẻ là nó bị lỗ."
+
+#: mount/swapon.c:402
+#, c-format
+msgid "%s: get size failed"
+msgstr "%s: lỗi lấy kích cỡ"
+
+#: mount/swapon.c:408
+#, c-format
+msgid "%s: read swap header failed"
+msgstr "%s: lỗi đọc phần đầu vùng trao đổi"
+
+#: mount/swapon.c:421
+#, 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"
+
+#: mount/swapon.c:426
+#, 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."
+
+#: mount/swapon.c:431
+#, 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ó.)"
+
+#: mount/swapon.c:440
+#, 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."
+
+#: mount/swapon.c:464 mount/swapon.c:514
+#, c-format
+msgid "%s on %s\n"
+msgstr "%s trên %s\n"
+
+#: mount/swapon.c:486
+#, c-format
+msgid "%s: swapon failed"
+msgstr "%s swapon bị lỗi"
+
+#: mount/swapon.c:493
+#, c-format
+msgid "cannot find the device for %s"
+msgstr "không tìm thấy thiết bị cho %s"
+
+#: mount/swapon.c:526
+msgid "Not superuser."
+msgstr "Không phải siêu người dùng.s"
+
+#: mount/swapon.c:529
+#, c-format
+msgid "%s: swapoff failed"
+msgstr "%s swapoff bị lỗi"
+
+#: mount/umount.c:41
+#, c-format
+msgid "umount: compiled without support for -f\n"
+msgstr "umount: không biên dịch hỗ trợ -f\n"
+
+#: mount/umount.c:111
+#, c-format
+msgid "umount: cannot set group id: %s"
+msgstr "umount: không đặt được ID nhóm: %s"
+
+#: mount/umount.c:114
+#, c-format
+msgid "umount: cannot set user id: %s"
+msgstr "umount: không đặt được ID người dùng: %s"
+
+#: mount/umount.c:139
+#, c-format
+msgid "umount: cannot fork: %s"
+msgstr "umount: không thể phân nhánh %s"
+
+#: mount/umount.c:160
+#, c-format
+msgid "umount: %s: invalid block device"
+msgstr "umount: %s: thiết bị khối không hợp lệ"
+
+#: mount/umount.c:162
+#, c-format
+msgid "umount: %s: not mounted"
+msgstr "umount: %s: chưa gắn"
+
+#: mount/umount.c:164
+#, c-format
+msgid "umount: %s: can't write superblock"
+msgstr "umount: %s: không thể ghi siêu khối"
+
+#: mount/umount.c:168
+#, 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/umount.c:173
+#, c-format
+msgid "umount: %s: not found"
+msgstr "umount: %s: không tìm thấy"
+
+#: mount/umount.c:175
+#, 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/umount.c:177
+#, 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/umount.c:179
+#, c-format
+msgid "umount: %s: %s"
+msgstr "umount: %s: %s"
+
+#: mount/umount.c:235
+#, c-format
+msgid "no umount2, trying umount...\n"
+msgstr "không có umount2, đang thử umount..\n"
+
+#: mount/umount.c:252
+#, c-format
+msgid "umount: %s busy - remounted read-only\n"
+msgstr "umount: %s bận - gắn lại chỉ đọc\n"
+
+#: mount/umount.c:263
+#, 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/umount.c:272
+#, c-format
+msgid "%s umounted\n"
+msgstr "%s đã bỏ gắn\n"
+
+#: mount/umount.c:367
+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/umount.c:397
+#, 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/umount.c:466
+#, c-format
+msgid "device %s is associated with %s\n"
+msgstr "thiết bị %s tương ứng với %s\n"
+
+#: mount/umount.c:472
+#, 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/umount.c:485
+msgid "Cannot umount \"\"\n"
+msgstr "Không bỏ gắn được \"\"\n"
+
+#: mount/umount.c:491
+#, c-format
+msgid "Trying to umount %s\n"
+msgstr "Đang thử bỏ gắn %s\n"
+
+#: mount/umount.c:504
+msgid "umount: confused when analyzing mtab"
+msgstr "umount: bị lẫn lộn khi phân tích mtab"
+
+#: mount/umount.c:509
+#, c-format
+msgid "umount: cannot umount %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/umount.c:516
+#, c-format
+msgid "Could not find %s in mtab\n"
+msgstr "Không tìm thấy %s trong mtab\n"
+
+#: mount/umount.c:523
+#, c-format
+msgid "umount: %s is not mounted (according to mtab)"
+msgstr "umount: %s chưa gắn (theo mtab)"
+
+#: mount/umount.c:547
+#, 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/umount.c:561
+#, 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/umount.c:567
+#, c-format
+msgid "umount: %s mount disagrees with the fstab"
+msgstr "umount: gắn %s không tương ứng fstab"
+
+#: mount/umount.c:608
+#, 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/umount.c:695
+msgid "umount: only root can do that"
+msgstr "umount: chỉ người chủ (root) có quyền thực hiện"
+
+#: schedutils/chrt.c:56
+#, 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"
+"\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"
+
+#: schedutils/chrt.c:88
+#, 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:90
+#, c-format
+msgid "pid %d's %s scheduling policy: "
+msgstr "chính sách định thời %2$s của PID %1$d: "
+
+#: schedutils/chrt.c:112
+#, c-format
+msgid "unknown\n"
+msgstr "không rõ\n"
+
+#: schedutils/chrt.c:116
+#, 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:118
+#, c-format
+msgid "pid %d's %s scheduling priority: %d\n"
+msgstr "mức ưu tiên định thời %2$s của PID %1$d: %3$d\n"
+
+#: schedutils/chrt.c:147
+#, 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:150
+#, c-format
+msgid "SCHED_%s not supported?\n"
+msgstr "SCHED_%s không được hỗ trợ ?\n"
+
+#: schedutils/chrt.c:206
+msgid "failed to parse pid"
+msgstr "lỗi phân tích PID"
+
+#: schedutils/chrt.c:228
+msgid "current"
+msgstr "hiện thời"
+
+#: schedutils/chrt.c:236
+msgid "failed to parse priority"
+msgstr "lỗi phân tích mức ưu tiên"
+
+#: schedutils/chrt.c:242
+#, 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:251
+#, c-format
+msgid "failed to execute %s"
+msgstr "lỗi thực hiện %s"
+
+#: schedutils/ionice.c:57
+msgid "ioprio_get failed"
+msgstr "ioprio_get bị lỗi"
+
+#: schedutils/ionice.c:75
+msgid "ioprio_set failed"
+msgstr "ioprio_set bị lỗi"
+
+#: schedutils/ionice.c:81
+#, c-format
+msgid ""
+"\n"
+"ionice - sets or gets process io scheduling class and priority.\n"
+"\n"
+"Usage:\n"
+"  ionice [ options ] -p <pid> [<pid> ...]\n"
+"  ionoce [ 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"
+
+#: schedutils/ionice.c:110 schedutils/ionice.c:112
+#, c-format
+msgid "cannot parse number '%s'"
+msgstr "không thể phân tích số « %s »"
+
+#: schedutils/ionice.c:151
+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:159
+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:163
+#, c-format
+msgid "bad prio class %d"
+msgstr "hạng ưu tiên sai %d"
+
+#: schedutils/ionice.c:187
+msgid "execvp failed"
+msgstr "execvp bị lỗi"
+
+#: sys-utils/ctrlaltdel.c:27
+#, c-format
+msgid "You must be root to set the Ctrl-Alt-Del behaviour.\n"
+msgstr "Phải là người chủ (root) để đặt tính năng của Ctrl-Alt-Del.\n"
+
+#: sys-utils/ctrlaltdel.c:42
+#, c-format
+msgid "Usage: ctrlaltdel hard|soft\n"
+msgstr "Sử dụng: ctrlaltdel hard|soft\t\tcứng|mềm\n"
+
+#: sys-utils/cytune.c:114
+#, 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\n"
+msgstr ""
+"Tập tin %s, 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\n"
+
+#: sys-utils/cytune.c:125
+#, c-format
+msgid ""
+"File %s, For threshold value %lu and timrout value %lu, Maximum characters "
+"in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f\n"
+msgstr ""
+"Tập tin %s, 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\n"
+
+#: sys-utils/cytune.c:189
+#, c-format
+msgid "Invalid interval value: %s\n"
+msgstr "Giá trị khoảng thời gian không đúng: %s\n"
+
+#: sys-utils/cytune.c:197
+#, c-format
+msgid "Invalid set value: %s\n"
+msgstr "Giá trị đặt không đúng: %s\n"
+
+#: sys-utils/cytune.c:205
+#, c-format
+msgid "Invalid default value: %s\n"
+msgstr "Giá trị mặc định không đúng: %s\n"
+
+#: sys-utils/cytune.c:213
+#, c-format
+msgid "Invalid set time value: %s\n"
+msgstr "Giá trị đặt thời gian không đúng: %s\n"
+
+#: sys-utils/cytune.c:221
+#, c-format
+msgid "Invalid default time value: %s\n"
+msgstr "Giá trị thời gian mặc định không đúng: %s\n"
+
+#: sys-utils/cytune.c:238
+#, c-format
+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"
+
+#: sys-utils/cytune.c:250 sys-utils/cytune.c:269 sys-utils/cytune.c:289
+#: sys-utils/cytune.c:339
+#, c-format
+msgid "Can't open %s: %s\n"
+msgstr "Không mở được %s: %s\n"
+
+#: sys-utils/cytune.c:257
+#, c-format
+msgid "Can't set %s to threshold %d: %s\n"
+msgstr "Không đặt được %s cho ngưỡng %d: %s\n"
+
+#: sys-utils/cytune.c:276
+#, c-format
+msgid "Can't set %s to time threshold %d: %s\n"
+msgstr "Không đặt được %s cho ngưỡng thời gian %d: %s\n"
+
+#: sys-utils/cytune.c:294 sys-utils/cytune.c:351 sys-utils/cytune.c:382
+#, c-format
+msgid "Can't get threshold for %s: %s\n"
+msgstr "Không lấy được ngưỡng cho %s: %s\n"
+
+#: sys-utils/cytune.c:300 sys-utils/cytune.c:357 sys-utils/cytune.c:388
+#, c-format
+msgid "Can't get timeout for %s: %s\n"
+msgstr "Không lấy được thời gian chờ cho %s: %s\n"
+
+#: sys-utils/cytune.c:306
+#, 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:309
+#, 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/cytune.c:327
+msgid "Can't set signal handler"
+msgstr "Không lấy được trình điều khiển tín hiệu"
+
+#: sys-utils/cytune.c:331 sys-utils/cytune.c:366
+msgid "gettimeofday failed"
+msgstr "gettimeofday (lấy giờ) không thành công"
+
+#: sys-utils/cytune.c:344 sys-utils/cytune.c:376
+#, c-format
+msgid "Can't issue CYGETMON on %s: %s\n"
+msgstr "Không CYGETMON được trên %s: %s\n"
+
+#: sys-utils/cytune.c:418
+#, 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:424
+#, 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:429
+#, 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:435
+#, 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/dmesg.c:45
+#, fuzzy, c-format
+msgid "Usage: %s [-c] [-n level] [-r] [-s bufsize]\n"
+msgstr "Sử dụng: %s [-c] [-n bậc] [ -s kíchthước_bộđệm]\n"
+
+#: sys-utils/flock.c:65
+#, c-format
+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"
+
+#: sys-utils/flock.c:192
+#, c-format
+msgid "%s: %s requires exactly one command argument\n"
+msgstr "%s: %s: yêu cầu chính sách một đối số lệnh\n"
+
+#: sys-utils/flock.c:219
+#, c-format
+msgid "%s: cannot open lock file %s: %s\n"
+msgstr "%s: không mở được tập tin sự khoá %s: %s\n"
+
+#: sys-utils/flock.c:231
+#, c-format
+msgid "%s: bad number: %s\n"
+msgstr "%s: số sai: %s\n"
+
+#: sys-utils/flock.c:238
+#, c-format
+msgid "%s: requires file descriptor, file or directory\n"
+msgstr "%s: yêu cầu bộ mô tả tập tin, tập tin hay thư mục\n"
+
+#: sys-utils/flock.c:294
+#, c-format
+msgid "%s: fork failed: %s\n"
+msgstr "%s: lỗi phân nhánh: %s\n"
+
+#: sys-utils/ipcmk.c:84
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [options]\n"
+"\n"
+msgstr ""
+"\n"
+"Sử dụng: %s [các_tùy_chọn]\n"
+"\n"
+
+#: sys-utils/ipcmk.c:86
+#, c-format
+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"
+
+#: sys-utils/ipcmk.c:90
+#, c-format
+msgid ""
+"\n"
+"For more information see ipcmk(1).\n"
+"\n"
+msgstr ""
+"\n"
+"Để tìm thêm thông tin, xem ipcmk(1).\n"
+
+#: sys-utils/ipcmk.c:142
+msgid "create share memory failed"
+msgstr "lỗi tạo vùng nhớ dùng chung"
+
+#: sys-utils/ipcmk.c:144
+#, c-format
+msgid "Shared memory id: %d\n"
+msgstr "Mã số vùng nhớ dùng chung: %d\n"
+
+#: sys-utils/ipcmk.c:150
+msgid "create message queue failed"
+msgstr "lỗi tạo hàng đợi thông điệp"
+
+#: sys-utils/ipcmk.c:152
+#, c-format
+msgid "Message queue id: %d\n"
+msgstr "Mã số hàng đợi thông điệp: %d\n"
+
+#: sys-utils/ipcmk.c:158
+msgid "create semaphore failed"
+msgstr "lỗi tạo cờ hiệu"
+
+#: sys-utils/ipcmk.c:160
+#, c-format
+msgid "Semaphore id: %d\n"
+msgstr "Mã số cờ hiệu: %d\n"
+
+#: sys-utils/ipcrm.c:66
+#, c-format
+msgid "invalid id: %s\n"
+msgstr "id sai: %s\n"
+
+#: sys-utils/ipcrm.c:84
+#, c-format
+msgid "cannot remove id %s (%s)\n"
+msgstr "không xóa bỏ được id %s (%s)\n"
+
+#: sys-utils/ipcrm.c:99
+#, c-format
+msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
+msgstr "không nên sử dụng: %s {shm | msg | sem} id ...\n"
+
+#: sys-utils/ipcrm.c:126
+#, c-format
+msgid "unknown resource type: %s\n"
+msgstr "dạng nguồn không rõ: %s\n"
+
+#: sys-utils/ipcrm.c:130
+#, c-format
+msgid "resource(s) deleted\n"
+msgstr "đã xóa (các) nguồn\n"
+
+#: sys-utils/ipcrm.c:140
+#, c-format
+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"
+
+#: sys-utils/ipcrm.c:181
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: tùy chọn không cho phép « -- %c »\n"
+
+#: sys-utils/ipcrm.c:193
+#, c-format
+msgid "%s: illegal key (%s)\n"
+msgstr "%s: phím không cho phép (%s)\n"
+
+#: sys-utils/ipcrm.c:208 sys-utils/ipcrm.c:240
+msgid "permission denied for key"
+msgstr "không đủ quyền hạn cho chìa khóa"
+
+#: sys-utils/ipcrm.c:211 sys-utils/ipcrm.c:250
+msgid "already removed key"
+msgstr "đã xóa chìa khoá"
+
+#: sys-utils/ipcrm.c:214 sys-utils/ipcrm.c:245
+msgid "invalid key"
+msgstr "chìa khóa không đúng"
+
+#: sys-utils/ipcrm.c:217 sys-utils/ipcrm.c:255
+msgid "unknown error in key"
+msgstr "lỗi không rõ trong chìa khóa"
+
+#: sys-utils/ipcrm.c:241
+msgid "permission denied for id"
+msgstr "không đủ quyền hạn cho id"
+
+#: sys-utils/ipcrm.c:246
+msgid "invalid id"
+msgstr "id sai"
+
+#: sys-utils/ipcrm.c:251
+msgid "already removed id"
+msgstr "đã xóa id"
+
+#: sys-utils/ipcrm.c:256
+msgid "unknown error in id"
+msgstr "lỗi không rõ trong id"
+
+#: sys-utils/ipcrm.c:259
+#, c-format
+msgid "%s: %s (%s)\n"
+msgstr "%s: %s (%s)\n"
+
+#: sys-utils/ipcrm.c:267
+#, c-format
+msgid "%s: unknown argument: %s\n"
+msgstr "%s: đối số không rõ: %s\n"
+
+#: sys-utils/ipcs.c:120
+#, c-format
+msgid "usage : %s -asmq -tclup \n"
+msgstr "sử dụng : %s -asmq -tclup \n"
+
+#: sys-utils/ipcs.c:121
+#, c-format
+msgid "\t%s [-s -m -q] -i id\n"
+msgstr "\t%s [-s -m -q] -i id\n"
+
+#: sys-utils/ipcs.c:122
+#, c-format
+msgid "\t%s -h for help.\n"
+msgstr "\t%s -h để xem trợ giúp.\n"
+
+#: sys-utils/ipcs.c:128
+#, c-format
+msgid ""
+"%s provides information on ipc facilities for which you have read access.\n"
+msgstr ""
+"%s cung cấp thông tin về phương tiện ipc cho những gì người dùng có truy cập "
+"đọc.\n"
+
+#: sys-utils/ipcs.c:130
+#, c-format
+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"
+
+#: sys-utils/ipcs.c:131
+#, c-format
+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"
+
+#: sys-utils/ipcs.c:132
+#, c-format
+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"
+
+#: sys-utils/ipcs.c:133
+#, c-format
+msgid ""
+"\t-l : limits\n"
+"\t-u : summary\n"
+msgstr ""
+"\t-l : giới hạn\n"
+"\t-u : tổng kết\n"
+
+#: sys-utils/ipcs.c:134
+#, c-format
+msgid "-i id [-s -q -m] : details on resource identified by id\n"
+msgstr "-i id [-s -q -m] : chi tiết về nguồn có tên id\n"
+
+#: sys-utils/ipcs.c:258
+#, 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:264
+#, c-format
+msgid "------ Shared Memory Limits --------\n"
+msgstr "------ Giới hạn bộ nhớ chia sẻ --------\n"
+
+#: sys-utils/ipcs.c:269
+#, c-format
+msgid "max number of segments = %lu\n"
+msgstr "số đoạn lớn nhất = %lu\n"
+
+#: sys-utils/ipcs.c:271
+#, 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:273
+#, 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:275
+#, 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:280
+#, c-format
+msgid "------ Shared Memory Status --------\n"
+msgstr "------ Trạng thái bộ nhớ chia sẻ --------\n"
+
+#: sys-utils/ipcs.c:281
+#, c-format
+msgid "segments allocated %d\n"
+msgstr "%d đoạn đã phân phối\n"
+
+#: sys-utils/ipcs.c:282
+#, c-format
+msgid "pages allocated %ld\n"
+msgstr "%ld trang đã phân phối\n"
+
+#: sys-utils/ipcs.c:283
+#, c-format
+msgid "pages resident  %ld\n"
+msgstr "%ld trang nội trú\n"
+
+#: sys-utils/ipcs.c:284
+#, c-format
+msgid "pages swapped   %ld\n"
+msgstr "%ld trang đã đưa vào swap\n"
+
+#: sys-utils/ipcs.c:285
+#, c-format
+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"
+
+#: sys-utils/ipcs.c:290
+#, 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:292 sys-utils/ipcs.c:298 sys-utils/ipcs.c:305
+#: sys-utils/ipcs.c:311
+msgid "shmid"
+msgstr "shmid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:311 sys-utils/ipcs.c:412
+#: sys-utils/ipcs.c:427 sys-utils/ipcs.c:510 sys-utils/ipcs.c:528
+msgid "perms"
+msgstr "quyền hạn"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "cuid"
+msgstr "cuid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "cgid"
+msgstr "cgid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "uid"
+msgstr "uid"
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "gid"
+msgstr "gid"
+
+#: sys-utils/ipcs.c:296
+#, 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:298 sys-utils/ipcs.c:305 sys-utils/ipcs.c:311
+#: sys-utils/ipcs.c:418 sys-utils/ipcs.c:427 sys-utils/ipcs.c:516
+#: sys-utils/ipcs.c:522 sys-utils/ipcs.c:528
+msgid "owner"
+msgstr "chủ sở hữu"
+
+#: sys-utils/ipcs.c:298
+msgid "attached"
+msgstr "đã gắn"
+
+#: sys-utils/ipcs.c:298
+msgid "detached"
+msgstr "đã bỏ gắn"
+
+#: sys-utils/ipcs.c:299
+msgid "changed"
+msgstr "đã thay đổi"
+
+#: sys-utils/ipcs.c:303
+#, c-format
+msgid "------ Shared Memory Creator/Last-op --------\n"
+msgstr "------ Bộ nhớ chia sẻ Người tạo/Thao tác cuối --------\n"
+
+#: sys-utils/ipcs.c:305
+msgid "cpid"
+msgstr "cpid"
+
+#: sys-utils/ipcs.c:305
+msgid "lpid"
+msgstr "lpid"
+
+#: sys-utils/ipcs.c:309
+#, c-format
+msgid "------ Shared Memory Segments --------\n"
+msgstr "------ Các đoạn bộ nhớ chia sẻ --------\n"
+
+#: sys-utils/ipcs.c:311 sys-utils/ipcs.c:427 sys-utils/ipcs.c:528
+msgid "key"
+msgstr "chìa khóa"
+
+#: sys-utils/ipcs.c:311
+msgid "bytes"
+msgstr "byte"
+
+#: sys-utils/ipcs.c:312
+msgid "nattch"
+msgstr "nattch"
+
+#: sys-utils/ipcs.c:312
+msgid "status"
+msgstr "trạng thái"
+
+#: sys-utils/ipcs.c:333 sys-utils/ipcs.c:335 sys-utils/ipcs.c:337
+#: sys-utils/ipcs.c:448 sys-utils/ipcs.c:450 sys-utils/ipcs.c:549
+#: sys-utils/ipcs.c:551 sys-utils/ipcs.c:553 sys-utils/ipcs.c:604
+#: sys-utils/ipcs.c:606 sys-utils/ipcs.c:634 sys-utils/ipcs.c:636
+#: sys-utils/ipcs.c:638 sys-utils/ipcs.c:661
+msgid "Not set"
+msgstr "Chưa đặt"
+
+#: sys-utils/ipcs.c:365
+msgid "dest"
+msgstr "đích"
+
+#: sys-utils/ipcs.c:366
+msgid "locked"
+msgstr "đã khóa"
+
+#: sys-utils/ipcs.c:386
+#, c-format
+msgid "kernel not configured for semaphores\n"
+msgstr "nhân không cấu hình cho đèn tín hiệu\n"
+
+#: sys-utils/ipcs.c:392
+#, c-format
+msgid "------ Semaphore Limits --------\n"
+msgstr "------ Giới hạn đèn tín hiệu --------\n"
+
+#: sys-utils/ipcs.c:396
+#, c-format
+msgid "max number of arrays = %d\n"
+msgstr "số dãy lớn nhất = %d\n"
+
+#: sys-utils/ipcs.c:397
+#, c-format
+msgid "max semaphores per array = %d\n"
+msgstr "số đèn hiện lớn nhất trên mỗi dãy = %d\n"
+
+#: sys-utils/ipcs.c:398
+#, c-format
+msgid "max semaphores system wide = %d\n"
+msgstr "số đèn hiện lớn nhất của cả hệ thống = %d\n"
+
+#: sys-utils/ipcs.c:399
+#, 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 đèn hiệu = %d\n"
+
+#: sys-utils/ipcs.c:400
+#, c-format
+msgid "semaphore max value = %d\n"
+msgstr "giá trị đèn hiệu lớn nhất = %d\n"
+
+#: sys-utils/ipcs.c:404
+#, c-format
+msgid "------ Semaphore Status --------\n"
+msgstr "------ Trạng thái đèn tín hiệu --------\n"
+
+#: sys-utils/ipcs.c:405
+#, c-format
+msgid "used arrays = %d\n"
+msgstr "dãy đã sử dụng = %d\n"
+
+#: sys-utils/ipcs.c:406
+#, c-format
+msgid "allocated semaphores = %d\n"
+msgstr "đèn tín hiệu đã phân phối = %d\n"
+
+#: sys-utils/ipcs.c:410
+#, c-format
+msgid "------ Semaphore Arrays Creators/Owners --------\n"
+msgstr "------ Người tạo/Chủ sở hữu dãy đèn hiệu --------\n"
+
+#: sys-utils/ipcs.c:412 sys-utils/ipcs.c:418 sys-utils/ipcs.c:427
+msgid "semid"
+msgstr "mã số cờ hiệu"
+
+#: sys-utils/ipcs.c:416
+#, c-format
+msgid "------ Semaphore Operation/Change Times --------\n"
+msgstr "------ Thời gian thay đổi / thao tác Semaphore --------\n"
+
+#: sys-utils/ipcs.c:418
+msgid "last-op"
+msgstr "thao tác cuối cùng"
+
+#: sys-utils/ipcs.c:418
+msgid "last-changed"
+msgstr "thay đổi cuối cùng"
+
+#: sys-utils/ipcs.c:425
+#, c-format
+msgid "------ Semaphore Arrays --------\n"
+msgstr "------ Dãy cờ hiệu --------\n"
+
+#: sys-utils/ipcs.c:427
+msgid "nsems"
+msgstr "số đoạn"
+
+#: sys-utils/ipcs.c:486
+#, 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:494
+#, c-format
+msgid "------ Messages: Limits --------\n"
+msgstr "------ Tin nhắn: Giới hạn --------\n"
+
+#: sys-utils/ipcs.c:495
+#, 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:496
+#, 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:497
+#, 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:501
+#, c-format
+msgid "------ Messages: Status --------\n"
+msgstr "------ Tin nhắn: Trạng thái --------\n"
+
+#: sys-utils/ipcs.c:502
+#, c-format
+msgid "allocated queues = %d\n"
+msgstr "hàng đợi đã phân phối = %d\n"
+
+#: sys-utils/ipcs.c:503
+#, c-format
+msgid "used headers = %d\n"
+msgstr "phần đầu đã sử dụng = %d\n"
+
+#: sys-utils/ipcs.c:504
+#, c-format
+msgid "used space = %d bytes\n"
+msgstr "không gian đã sử dụng = %d byte\n"
+
+#: sys-utils/ipcs.c:508
+#, c-format
+msgid "------ Message Queues: Creators/Owners --------\n"
+msgstr "------ Hàng đợi: Người tạo/Chủ sở hữu --------\n"
+
+#: sys-utils/ipcs.c:510 sys-utils/ipcs.c:516 sys-utils/ipcs.c:522
+#: sys-utils/ipcs.c:528
+msgid "msqid"
+msgstr "msqid"
+
+#: sys-utils/ipcs.c:514
+#, c-format
+msgid "------ Message Queues Send/Recv/Change Times --------\n"
+msgstr "------ Hàng đợi tin nhắn Gửi/Nhận/Thời gian thay đổi --------\n"
+
+#: sys-utils/ipcs.c:516
+msgid "send"
+msgstr "gửi"
+
+#: sys-utils/ipcs.c:516
+msgid "recv"
+msgstr "nhận"
+
+#: sys-utils/ipcs.c:516
+msgid "change"
+msgstr "thay đổi"
+
+#: sys-utils/ipcs.c:520
+#, c-format
+msgid "------ Message Queues PIDs --------\n"
+msgstr "------ PID của hàng đợi tin nhắn --------\n"
+
+#: sys-utils/ipcs.c:522
+msgid "lspid"
+msgstr "lspid"
+
+#: sys-utils/ipcs.c:522
+msgid "lrpid"
+msgstr "lrpid"
+
+#: sys-utils/ipcs.c:526
+#, c-format
+msgid "------ Message Queues --------\n"
+msgstr "------ Hàng đợi tin nhắn --------\n"
+
+#: sys-utils/ipcs.c:529
+msgid "used-bytes"
+msgstr "byte đã dùng"
+
+#: sys-utils/ipcs.c:529
+msgid "messages"
+msgstr "tin nhắn"
+
+#: sys-utils/ipcs.c:593
+msgid "shmctl failed"
+msgstr "shmctl bị lỗi"
+
+#: sys-utils/ipcs.c:595
+#, c-format
+msgid ""
+"\n"
+"Shared memory Segment shmid=%d\n"
+msgstr ""
+"\n"
+"shmid của một đoạn bộ nhớ chia sẻ =%d\n"
+
+#: sys-utils/ipcs.c:596
+#, c-format
+msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+
+#: sys-utils/ipcs.c:598
+#, c-format
+msgid "mode=%#o\taccess_perms=%#o\n"
+msgstr "chế_độ=%#o\tquyền_truy_cập=%#o\n"
+
+#: sys-utils/ipcs.c:600
+#, c-format
+msgid "bytes=%ld\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+msgstr "byte=%ld\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+
+#: sys-utils/ipcs.c:603
+#, c-format
+msgid "att_time=%-26.24s\n"
+msgstr "att_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:605
+#, c-format
+msgid "det_time=%-26.24s\n"
+msgstr "det_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:607 sys-utils/ipcs.c:637
+#, c-format
+msgid "change_time=%-26.24s\n"
+msgstr "change_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:619
+msgid "msgctl failed"
+msgstr "msgctl bị lỗi"
+
+#: sys-utils/ipcs.c:621
+#, c-format
+msgid ""
+"\n"
+"Message Queue msqid=%d\n"
+msgstr ""
+"\n"
+"msqid của hàng đợi tin nhắn=%d\n"
+
+#: sys-utils/ipcs.c:622
+#, c-format
+msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tchế_độ=%#o\n"
+
+#: sys-utils/ipcs.c:624
+#, 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:633
+#, c-format
+msgid "send_time=%-26.24s\n"
+msgstr "send_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:635
+#, c-format
+msgid "rcv_time=%-26.24s\n"
+msgstr "rcv_time=%-26.24s\n"
+
+#: sys-utils/ipcs.c:652 sys-utils/ipcs.c:674
+msgid "semctl failed"
+msgstr "semctl bị lỗi"
+
+#: sys-utils/ipcs.c:654
+#, c-format
+msgid ""
+"\n"
+"Semaphore Array semid=%d\n"
+msgstr ""
+"\n"
+"semid của dãy cờ hiệu=%d\n"
+
+#: sys-utils/ipcs.c:655
+#, c-format
+msgid "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+msgstr "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+
+#: sys-utils/ipcs.c:657
+#, c-format
+msgid "mode=%#o, access_perms=%#o\n"
+msgstr "chế_độ=%#o, quyền_truy_cập=%#o\n"
+
+#: sys-utils/ipcs.c:659
+#, c-format
+msgid "nsems = %ld\n"
+msgstr "nsems = %ld\n"
+
+#: sys-utils/ipcs.c:660
+#, c-format
+msgid "otime = %-26.24s\n"
+msgstr "otime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:662
+#, c-format
+msgid "ctime = %-26.24s\n"
+msgstr "ctime = %-26.24s\n"
+
+#: sys-utils/ipcs.c:665
+msgid "semnum"
+msgstr "sốđèn"
+
+#: sys-utils/ipcs.c:665
+msgid "value"
+msgstr "giátrị"
+
+#: sys-utils/ipcs.c:665
+msgid "ncount"
+msgstr "ncount"
+
+#: sys-utils/ipcs.c:665
+msgid "zcount"
+msgstr "zcount"
+
+#: sys-utils/ipcs.c:665
+msgid "pid"
+msgstr "pid"
+
+#: sys-utils/ldattach.c:92
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [ -dhV78neo12 ] [ -s <speed> ] <ldisc> <device>\n"
+msgstr ""
+"\n"
+"Sử dụng: %s [ -dhV78neo12 ] [ -s <tốc_độ> ] <lđĩa> <thiết_bị>\n"
+
+#: sys-utils/ldattach.c:94
+msgid ""
+"\n"
+"Known <ldisc> names:\n"
+msgstr ""
+"\n"
+"Các tên <lđĩa> đã biết đến:\n"
+
+#: sys-utils/ldattach.c:179
+#, c-format
+msgid "invalid speed: %s"
+msgstr "tốc độ sai: %s"
+
+#: sys-utils/ldattach.c:182
+#, c-format
+msgid "ldattach from %s\n"
+msgstr "ldattach từ %s\n"
+
+#: sys-utils/ldattach.c:187 text-utils/tailf.c:205
+msgid "invalid option"
+msgstr "tùy chọn sai"
+
+#: sys-utils/ldattach.c:199
+#, c-format
+msgid "invalid line discipline: %s"
+msgstr "kỷ luật dòng sai: %s"
+
+#: sys-utils/ldattach.c:207
+#, 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:213
+#, 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:216
+#, c-format
+msgid "speed %d unsupported"
+msgstr "tốc độ %d không được hỗ trợ"
+
+#: sys-utils/ldattach.c:247
+#, 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:254
+msgid "cannot set line discipline"
+msgstr "không thể đặt kỷ luật dòng"
+
+#: sys-utils/ldattach.c:260
+msgid "cannot daemonize"
+msgstr "không thể chạy trong nền"
+
+#: sys-utils/lscpu.c:64
+msgid "none"
+msgstr "không"
+
+#: sys-utils/lscpu.c:65
+msgid "para"
+msgstr "phần"
+
+#: sys-utils/lscpu.c:66
+msgid "full"
+msgstr "đầy"
+
+#: sys-utils/lscpu.c:129 sys-utils/lscpu.c:152 sys-utils/lscpu.c:441
+#, c-format
+msgid "error: %s"
+msgstr "lỗi: %s"
+
+#: sys-utils/lscpu.c:154
+#, c-format
+msgid "error parse: %s"
+msgstr "phân tích lỗi: %s"
+
+#: sys-utils/lscpu.c:176
+msgid "error: strdup failed"
+msgstr "lỗi: strdup không thành công"
+
+#: sys-utils/lscpu.c:259
+msgid "error: uname failed"
+msgstr "lỗi: uname không thành công"
+
+#: sys-utils/lscpu.c:491
+msgid "error: malloc failed"
+msgstr "lỗi: malloc không thành công"
+
+#: sys-utils/lscpu.c:506
+msgid "error: /sys filesystem is not accessable."
+msgstr "lỗi: hệ thống tập tin « /sys » không thể truy cập được"
+
+#: sys-utils/lscpu.c:524
+#, 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"
+"# CPU,Core,Socket,Node"
+msgstr ""
+"# Theo đây có định dạng có thể phân tích,\n"
+"# mà có thể được gửi cho chương trình khác.\n"
+"# Mỗi mục riêng trong mỗi cột có một mã số duy nhất,\n"
+"# bắt đầu từ số không.\n"
+"# CPU,Lõi,Ổ_cắm,Nút"
+
+#: sys-utils/lscpu.c:590
+msgid "Thread(s) per core:"
+msgstr "Mạch mỗi lõi:"
+
+#: sys-utils/lscpu.c:591
+msgid "Core(s) per socket:"
+msgstr "Lõi mỗi ổ cắm:"
+
+#: sys-utils/lscpu.c:592
+msgid "CPU socket(s):"
+msgstr "Ổ cắm CPU:"
+
+#: sys-utils/lscpu.c:596
+msgid "NUMA node(s):"
+msgstr "Nút NUMA:"
+
+#: sys-utils/lscpu.c:598
+msgid "Vendor ID:"
+msgstr "Mã số nhà sản xuất:"
+
+#: sys-utils/lscpu.c:600
+msgid "CPU family:"
+msgstr "Nhóm CPU:"
+
+#: sys-utils/lscpu.c:602
+msgid "Model:"
+msgstr "Mô hình:"
+
+#: sys-utils/lscpu.c:604
+msgid "Stepping:"
+msgstr "Làm bước:"
+
+#: sys-utils/lscpu.c:606
+msgid "CPU MHz:"
+msgstr "CPU MHz:"
+
+#: sys-utils/lscpu.c:609 sys-utils/lscpu.c:611
+msgid "Virtualization:"
+msgstr "Mô phỏng:"
+
+#: sys-utils/lscpu.c:614
+msgid "Hypervisor vendor:"
+msgstr "Nhà sản xuất bộ mô phòng đồng thời:"
+
+#: sys-utils/lscpu.c:615
+msgid "Virtualization type:"
+msgstr "Kiểu mô phỏng:"
+
+#: sys-utils/lscpu.c:623
+#, c-format
+msgid "%s cache:"
+msgstr "Vùng nhớ tạm %s:"
+
+#: sys-utils/lscpu.c:631
+#, c-format
+msgid "Usage: %s [option]\n"
+msgstr "Sử dụng: %s [tùy_chọn]\n"
+
+#: sys-utils/lscpu.c:634
+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"
+
+#: sys-utils/lscpu.c:683
+#, c-format
+msgid "error: change working directory to %s."
+msgstr "lỗi: chuyển đổi thư mục làm việc sang %s."
+
+#: sys-utils/rdev.c:77
+msgid "usage: rdev [ -rv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]"
+msgstr "sử dụng: rdev [ -rv ] [ -o BÙ ] [ ẢNH [ GIÁ_TRỊ [ BÙ ] ] ]"
+
+#: sys-utils/rdev.c:78
+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"
+
+#: sys-utils/rdev.c:79
+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"
+
+#: sys-utils/rdev.c:80
+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)"
+
+#: sys-utils/rdev.c:81
+msgid "  rdev -r /dev/fd0 627            set the RAMDISK size"
+msgstr "  rdev -r /dev/fd0 627            đặt kích cỡ RAMDISK (đĩa RAM)"
+
+#: sys-utils/rdev.c:82
+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"
+
+#: sys-utils/rdev.c:83
+msgid "  rdev -o N ...                   use the byte offset N"
+msgstr "  -u, --unqote                  sử dụng bộ byte N"
+
+#: sys-utils/rdev.c:84
+msgid "  rootflags ...                   same as rdev -R"
+msgstr "  rootflags ...                   giống như rdev -R"
+
+#: sys-utils/rdev.c:85
+msgid "  ramsize ...                     same as rdev -r"
+msgstr "  ramsize ...                     giống như rdev -r"
+
+#: sys-utils/rdev.c:86
+msgid "  vidmode ...                     same as rdev -v"
+msgstr "  vidmode ...                     giống như rdev -v"
+
+#: sys-utils/rdev.c:87
+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,..."
+
+#: sys-utils/rdev.c:88
+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."
+
+#: sys-utils/rdev.c:245
+msgid "missing comma"
+msgstr "thiếu dấu phẩy"
+
+#: sys-utils/readprofile.c:72
+#, c-format
+msgid "out of memory"
+msgstr "không đủ bộ nhớ"
+
+#: sys-utils/readprofile.c:118
+#, 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: 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"
+
+#: sys-utils/readprofile.c:227
+#, c-format
+msgid "readprofile: error writing %s: %s\n"
+msgstr "readprofile: lỗi ghi %s: %s\n"
+
+#: sys-utils/readprofile.c:268
+#, c-format
+msgid "Assuming reversed byte order. Use -n to force native byte order.\n"
+msgstr ""
+"Giả sử thứ tự byte đảo lộn. Dùng « -n » để ép buộc theo thứ tự byte sở hữu.\n"
+
+#: sys-utils/readprofile.c:284
+#, c-format
+msgid "Sampling_step: %i\n"
+msgstr "Sampling_step: %i\n"
+
+#: sys-utils/readprofile.c:305 sys-utils/readprofile.c:331
+#, c-format
+msgid "%s: %s(%i): wrong map line\n"
+msgstr "%s: %s(%i): sai dòng ánh xạ\n"
+
+#: sys-utils/readprofile.c:318
+#, c-format
+msgid "%s: can't find \"_stext\" in %s\n"
+msgstr "%s: không tìm thấy \"_stext\" trong %s\n"
+
+#: sys-utils/readprofile.c:352
+#, c-format
+msgid "%s: profile address out of range. Wrong map file?\n"
+msgstr "%s: địa chỉ của xác lập nằm ngoài phạm vi. Tập tin ánh xạ sai?\n"
+
+#: sys-utils/readprofile.c:412
+msgid "total"
+msgstr "tổng"
+
+#: sys-utils/renice.c:53
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" renice [-n] priority [-p|--pid] pid  [... pid]\n"
+" renice [-n] priority  -g|--pgrp pgrp [... pgrp]\n"
+" renice [-n] priority  -u|--user user [... user]\n"
+" renice -h | --help\n"
+" renice -v | --version\n"
+"\n"
+msgstr ""
+"\n"
+"Sử dụng:\n"
+" renice [-n] ưu_tiên [-p|--pid] pid  [... pid]\n"
+" renice [-n] ưu_tiên  -g|--pgrp pgrp [... pgrp]\n"
+" renice [-n] ưu_tiên  -u|--user người_dùng [... người_dùng]\n"
+" renice -h | --help\n"
+" renice -v | --version\n"
+"\n"
+"pid\t\tmã số tiến trình\n"
+"pgrp\t\tnhóm chương trình\n"
+"user\t\tngười dùng\n"
+"help\t\ttrợ giúp\n"
+"version\tphiên bản\n"
+
+#: sys-utils/renice.c:89
+#, c-format
+msgid "renice from %s\n"
+msgstr "thay đổi ưu tiên từ %s\n"
+
+#: sys-utils/renice.c:126
+#, c-format
+msgid "renice: %s: unknown user\n"
+msgstr "renice: %s: người dùng lạ\n"
+
+#: sys-utils/renice.c:134
+#, c-format
+msgid "renice: %s: bad value\n"
+msgstr "renice: %s: giá trị xấu\n"
+
+#: sys-utils/renice.c:152 sys-utils/renice.c:164
+msgid "getpriority"
+msgstr "lấy_ưu_tiên"
+
+#: sys-utils/renice.c:157
+msgid "setpriority"
+msgstr "đặt_ưu_tiên"
+
+#: sys-utils/renice.c:168
+#, c-format
+msgid "%d: old priority %d, new priority %d\n"
+msgstr "%d: mức độ ưu tiên cũ %d, mới %d\n"
+
+#: sys-utils/rtcwake.c:81
+#, c-format
+msgid ""
+"usage: %s [options]\n"
+"    -d | --device <device>    select rtc device (rtc0|rtc1|...)\n"
+"    -l | --local              RTC uses local timezone\n"
+"    -m | --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"
+"    -V | --version            show version\n"
+msgstr ""
+"sử dụng: %s [tùy_chọn]\n"
+"    -d | --device <thiết_bị>    chọn thiết bị rtc (rtc0|rtc1|...)\n"
+"    -l | --local              RTC dùng múi giờ cục bộ\n"
+"    -m | --mode               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"
+"    -V | --version            hiển thị số thứ tự phiên bản\n"
+
+#: sys-utils/rtcwake.c:140
+msgid "read rtc time"
+msgstr "đọc thời gian RTC"
+
+#: sys-utils/rtcwake.c:145
+msgid "read system time"
+msgstr "đọc thời gian hệ thống"
+
+#: sys-utils/rtcwake.c:163
+msgid "convert rtc time"
+msgstr "chuyển đổi thời gian RTC"
+
+#: sys-utils/rtcwake.c:222
+msgid "set rtc alarm"
+msgstr "để đồng hồ báo thức RTC"
+
+#: sys-utils/rtcwake.c:226
+msgid "enable rtc alarm"
+msgstr "bật đồng hồ báo thức RTC"
+
+#: sys-utils/rtcwake.c:230
+msgid "set rtc wake alarm"
+msgstr "để đồng hồ báo thức RTC kích hoạt lại"
+
+#: sys-utils/rtcwake.c:342
+#, c-format
+msgid "%s: unrecognized suspend state '%s'\n"
+msgstr "%s: tình trạng ngưng không nhận ra: %s\n"
+
+#: sys-utils/rtcwake.c:351
+#, c-format
+msgid "%s: illegal interval %s seconds\n"
+msgstr "%s: khoảng cấm %s giây\n"
+
+#: sys-utils/rtcwake.c:365
+#, c-format
+msgid "%s: illegal time_t value %s\n"
+msgstr "%s: giá trị « time_t » cấm %s\n"
+
+#: sys-utils/rtcwake.c:381
+#, c-format
+msgid "%s: version %s\n"
+msgstr "%s: phiên bản %s\n"
+
+#: sys-utils/rtcwake.c:394
+#, c-format
+msgid "%s: assuming RTC uses UTC ...\n"
+msgstr "%s: giả sử RTC dùng UTC ...\n"
+
+#: sys-utils/rtcwake.c:399
+#, c-format
+msgid "Using UTC time.\n"
+msgstr "Sử dụng thời gian UTC.\n"
+
+#: sys-utils/rtcwake.c:400
+#, c-format
+msgid "Using local time.\n"
+msgstr "Sử dụng thời gian địa phương.\n"
+
+#: sys-utils/rtcwake.c:403
+#, c-format
+msgid "%s: must provide wake time\n"
+msgstr "%s: phải cung cấp thời gian kích hoạt lại\n"
+
+#: sys-utils/rtcwake.c:413
+msgid "malloc() failed"
+msgstr "malloc() bị lỗi"
+
+#: sys-utils/rtcwake.c:425
+#, c-format
+msgid "%s: %s not enabled for wakeup events\n"
+msgstr "%s: %s không có hiệu lực cho dữ kiện kích hoạt lại\n"
+
+#: sys-utils/rtcwake.c:441
+#, 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:446
+#, c-format
+msgid "%s: time doesn't go backward to %s\n"
+msgstr "%s: thời gian không chạy ngược về %s\n"
+
+#: sys-utils/rtcwake.c:456
+#, c-format
+msgid "%s: wakeup from \"%s\" using %s at %s\n"
+msgstr "%s: kích hoạt lại sau « %s » dùng %s ở %s\n"
+
+#: sys-utils/rtcwake.c:473
+msgid "rtc read"
+msgstr "đọc RTC"
+
+#: sys-utils/rtcwake.c:482
+msgid "disable rtc alarm interrupt"
+msgstr "tắt khả năng gián đoạn của đồng hồ báo thức RTC"
+
+#: sys-utils/setarch.c:50
+#, c-format
+msgid "Switching on %s.\n"
+msgstr "Đang bật %s.\n"
+
+#: sys-utils/setarch.c:113
+#, c-format
+msgid ""
+"Usage: %s%s [options] [program [program arguments]]\n"
+"\n"
+"Options:\n"
+msgstr ""
+"Sử dụng: %s%s [tùy_chọn] [chương_trình [các đối số của chương trình]]\n"
+"\n"
+"Tùy chọn:\n"
+
+#: sys-utils/setarch.c:117
+#, c-format
+msgid ""
+" -h, --help               displays this help text\n"
+" -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"
+msgstr ""
+" -h, --help              \t\thiển thị trợ giúp này\n"
+" -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 cái chỉ 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"
+
+#: sys-utils/setarch.c:131
+#, c-format
+msgid ""
+"\n"
+"For more information see setarch(8).\n"
+msgstr ""
+"\n"
+"Để tìm thêm thông tin, xem « setarch(8) ».\n"
+
+#: sys-utils/setarch.c:143
+#, c-format
+msgid ""
+"%s: %s\n"
+"Try `%s --help' for more information.\n"
+msgstr ""
+"%s: %s\n"
+"Thử lệnh trợ giúp « %s --help » để xem thông tin thêm.\n"
+
+#: sys-utils/setarch.c:215 sys-utils/setarch.c:231
+#, c-format
+msgid "%s: Unrecognized architecture"
+msgstr "%s: kiến trúc không nhận ra"
+
+#: sys-utils/setarch.c:249 sys-utils/setarch.c:256
+msgid "Not enough arguments"
+msgstr "Không đủ đối số"
+
+#: sys-utils/setarch.c:265 sys-utils/setarch.c:318
+#, c-format
+msgid "Failed to set personality to %s"
+msgstr "Lỗi đặt cá tính thành %s"
+
+#: sys-utils/setsid.c:26
+#, c-format
+msgid "usage: %s program [arg ...]\n"
+msgstr "sử dụng: %s chương trình [đối_số ...]\n"
+
+#: sys-utils/tunelp.c:75
+#, c-format
+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"
+
+#: sys-utils/tunelp.c:91
+msgid "malloc error"
+msgstr "lỗi malloc"
+
+#: sys-utils/tunelp.c:103
+#, c-format
+msgid "%s: bad value\n"
+msgstr "%s: giá trị xấu\n"
+
+#: sys-utils/tunelp.c:242
+#, c-format
+msgid "%s: %s not an lp device.\n"
+msgstr "%s: %s không phải là thiết bị lp.\n"
+
+#: sys-utils/tunelp.c:263
+#, c-format
+msgid "%s status is %d"
+msgstr "trạng thái %s là %d"
+
+#: sys-utils/tunelp.c:264
+#, c-format
+msgid ", busy"
+msgstr ", bận"
+
+#: sys-utils/tunelp.c:265
+#, c-format
+msgid ", ready"
+msgstr ", sẵn sàng"
+
+#: sys-utils/tunelp.c:266
+#, c-format
+msgid ", out of paper"
+msgstr ", không đủ trang"
+
+#: sys-utils/tunelp.c:267
+#, c-format
+msgid ", on-line"
+msgstr ", trực tuyến"
+
+#: sys-utils/tunelp.c:268
+#, c-format
+msgid ", error"
+msgstr ", lỗi"
+
+#: sys-utils/tunelp.c:285
+msgid "LPGETIRQ error"
+msgstr "lỗi LPGETIRQ"
+
+#: sys-utils/tunelp.c:291
+#, c-format
+msgid "%s using IRQ %d\n"
+msgstr "%s đang dùng IRQ %d\n"
+
+#: sys-utils/tunelp.c:293
+#, c-format
+msgid "%s using polling\n"
+msgstr "%s đang dùng khả năng trưng cầu\n"
+
+#: text-utils/col.c:154
+#, c-format
+msgid "col: bad -l argument %s.\n"
+msgstr "col: tham số -l xấu %s.\n"
+
+#: text-utils/col.c:544
+#, c-format
+msgid "usage: col [-bfpx] [-l nline]\n"
+msgstr "sử dụng: col [-bfpx] [-l nline]\n"
+
+#: text-utils/col.c:550
+#, c-format
+msgid "col: write error.\n"
+msgstr "col: lỗi ghi\n"
+
+#: text-utils/col.c:557
+#, c-format
+msgid "col: warning: can't back up %s.\n"
+msgstr "col: cảnh báo: không sao lưu được %s.\n"
+
+#: text-utils/col.c:558
+msgid "past first line"
+msgstr "đi qua dòng cuối cùng"
+
+#: text-utils/col.c:558
+msgid "-- line already flushed"
+msgstr "-- dòng đã san phẳng"
+
+#: text-utils/colcrt.c:97
+#, c-format
+msgid "usage: %s [ - ] [ -2 ] [ file ... ]\n"
+msgstr "sử dụng: %s [ - ] [ -2 ] [ tập tin ... ]\n"
+
+#: text-utils/column.c:297
+msgid "line too long"
+msgstr "dòng quá dài"
+
+#: text-utils/column.c:374
+#, c-format
+msgid "usage: column [-tx] [-c columns] [file ...]\n"
+msgstr "sử dụng: column [-tx] [-c các-cột] [tập-tin ...]\n"
+
+#: text-utils/hexsyntax.c:82
+#, c-format
+msgid "hexdump: bad length value.\n"
+msgstr "hexdump: giá trị chiều dài xấu.\n"
+
+#: text-utils/hexsyntax.c:93
+#, c-format
+msgid "hexdump: bad skip value.\n"
+msgstr "hexdump: giá trị nhảy qua (skip) xấu.\n"
+
+#: text-utils/hexsyntax.c:131
+#, c-format
+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"
+
+#: text-utils/more.c:256
+#, c-format
+msgid "usage: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n"
+msgstr "sử dụng: %s [-dflpcsu] [+sốdòng | +/pattern] tên1 tên2 ...\n"
+
+#: text-utils/more.c:479
+#, c-format
+msgid "%s: unknown option \"-%c\"\n"
+msgstr "%s: không rõ tùy chọn \"-%c\"\n"
+
+#: text-utils/more.c:511
+#, c-format
+msgid ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+msgstr ""
+"\n"
+"*** %s: thư mục ***\n"
+"\n"
+
+#: text-utils/more.c:555
+#, 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:658
+#, c-format
+msgid "[Use q or Q to quit]"
+msgstr "[Sử dụng q hoặc Q để thoát]"
+
+#: text-utils/more.c:750
+#, c-format
+msgid "--More--"
+msgstr "--Còn nữa--"
+
+#: text-utils/more.c:752
+#, c-format
+msgid "(Next file: %s)"
+msgstr "(Tập tin tiếp theo: %s)"
+
+#: text-utils/more.c:757
+#, 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:1172
+#, c-format
+msgid "...back %d pages"
+msgstr "...quay lại %d trang"
+
+#: text-utils/more.c:1174
+msgid "...back 1 page"
+msgstr "...quay lại 1 trang"
+
+#: text-utils/more.c:1217
+msgid "...skipping one line"
+msgstr "...bỏ qua một dòng"
+
+#: text-utils/more.c:1219
+#, c-format
+msgid "...skipping %d lines"
+msgstr "...bỏ qua %d dòng"
+
+#: text-utils/more.c:1256
+msgid ""
+"\n"
+"***Back***\n"
+"\n"
+msgstr ""
+"\n"
+"***Quay lại***\n"
+"\n"
+
+#: text-utils/more.c:1294
+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:1301
+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:1370 text-utils/more.c:1375
+#, c-format
+msgid "[Press 'h' for instructions.]"
+msgstr "[Hãy nhấn 'h' để xem chỉ dẫn.]"
+
+#: text-utils/more.c:1409
+#, c-format
+msgid "\"%s\" line %d"
+msgstr "\"%s\" dòng %d"
+
+#: text-utils/more.c:1411
+#, c-format
+msgid "[Not a file] line %d"
+msgstr "[Không phải tập tin] dòng %d"
+
+#: text-utils/more.c:1495
+msgid "  Overflow\n"
+msgstr "  Bị tràn\n"
+
+#: text-utils/more.c:1542
+msgid "...skipping\n"
+msgstr "...bỏ qua\n"
+
+#: text-utils/more.c:1571
+msgid "Regular expression botch"
+msgstr "Biểu thức chính quy không đẹp"
+
+#: text-utils/more.c:1579
+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:1582 text-utils/pg.c:1124 text-utils/pg.c:1275
+msgid "Pattern not found"
+msgstr "Không tìm thấy mẫu tìm kiếm"
+
+#: text-utils/more.c:1643
+msgid "can't fork\n"
+msgstr "không phân nhánh được\n"
+
+#: text-utils/more.c:1682
+msgid ""
+"\n"
+"...Skipping "
+msgstr ""
+"\n"
+"...Bỏ qua "
+
+#: text-utils/more.c:1686
+msgid "...Skipping to file "
+msgstr "...Nhảy tới tập tin "
+
+#: text-utils/more.c:1688
+msgid "...Skipping back to file "
+msgstr "...Nhảy quay lại tập tin "
+
+#: text-utils/more.c:1966
+msgid "Line too long"
+msgstr "Dòng quá dài"
+
+#: text-utils/more.c:2009
+msgid "No previous command to substitute for"
+msgstr "Không có câu lệnh ngay trước để thay thế cho"
+
+#: text-utils/odsyntax.c:130
+#, c-format
+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"
+
+#: text-utils/odsyntax.c:133
+#, c-format
+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"
+
+#: text-utils/odsyntax.c:134
+msgid "; see strings(1)."
+msgstr "; hãy xem strings(1)."
+
+#: text-utils/parse.c:63
+#, c-format
+msgid "hexdump: can't read %s.\n"
+msgstr "hexdump: không đọc được %s.\n"
+
+#: text-utils/parse.c:68
+#, c-format
+msgid "hexdump: line too long.\n"
+msgstr "hexdump: dòng quá dài.\n"
+
+#: text-utils/parse.c:401
+#, c-format
+msgid "hexdump: byte count with multiple conversion characters.\n"
+msgstr "hexdump: số đếm byte với các ký tự đa chuyển đổi.\n"
+
+#: text-utils/parse.c:483
+#, c-format
+msgid "hexdump: bad byte count for conversion character %s.\n"
+msgstr "hexdump: số đếm byte xấu cho ký tự chuyển đổi %s.\n"
+
+#: text-utils/parse.c:490
+#, c-format
+msgid "hexdump: %%s requires a precision or a byte count.\n"
+msgstr "hexdump: %%s yêu cầu sự chính xác hoặc một số đếm byte.\n"
+
+#: text-utils/parse.c:496
+#, c-format
+msgid "hexdump: bad format {%s}\n"
+msgstr "hexdump: định dạng xấu {%s}\n"
+
+#: text-utils/parse.c:502
+#, c-format
+msgid "hexdump: bad conversion character %%%s.\n"
+msgstr "hexdump: ký tự chuyển đổi xấu %%%s.\n"
+
+#: text-utils/pg.c:145
+msgid ""
+"All rights reserved.\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"
+msgstr ""
+"Bảo lưu mọi quyền.\n"
+"-------------------------------------------------------\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 trình bao\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:223
+msgid "Out of memory\n"
+msgstr "Không đủ bộ nhớ\n"
+
+#: text-utils/pg.c:236
+#, c-format
+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"
+
+#: text-utils/pg.c:245
+#, 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:253
+#, 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:370
+msgid "...skipping forward\n"
+msgstr "...nhảy về trước\n"
+
+#: text-utils/pg.c:372
+msgid "...skipping backward\n"
+msgstr "...nhảy quay lại\n"
+
+#: text-utils/pg.c:394
+msgid "No next file"
+msgstr "Không có tập tin tiếp theo"
+
+#: text-utils/pg.c:398
+msgid "No previous file"
+msgstr "Không có tập tin trước"
+
+#: text-utils/pg.c:928
+#, 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:934
+#, 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:937
+#, 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:1032
+#, 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:1041 text-utils/pg.c:1216 text-utils/pg.c:1243
+msgid "RE error: "
+msgstr "Lỗi RE: "
+
+#: text-utils/pg.c:1198
+msgid "(EOF)"
+msgstr "(Kết thúc tập tin)"
+
+#: text-utils/pg.c:1224 text-utils/pg.c:1251
+msgid "No remembered search string"
+msgstr "Không có chuỗi tìm kiếm ghi nhớ nào"
+
+#: text-utils/pg.c:1307
+msgid "Cannot open "
+msgstr "Không mở được "
+
+#: text-utils/pg.c:1355
+msgid "saved"
+msgstr "đã ghi"
+
+#: text-utils/pg.c:1462
+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:1494
+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:1702
+msgid "(Next file: "
+msgstr "(Tập tin tiếp theo: "
+
+#: text-utils/rev.c:113
+msgid "unable to allocate bufferspace"
+msgstr "không thể cấp phát không gian đệm"
+
+#: text-utils/rev.c:143
+#, c-format
+msgid "usage: rev [file ...]\n"
+msgstr "sử dụng: rev [tậptin ...]\n"
+
+#: text-utils/tailf.c:57 text-utils/tailf.c:92
+#, c-format
+msgid "cannot open \"%s\" for read"
+msgstr "không mở được « %s » để đọc"
+
+#: text-utils/tailf.c:95 text-utils/tailf.c:214
+#, c-format
+msgid "cannot stat \"%s\""
+msgstr "không thể lấy trạng thái về « %s »"
+
+#: text-utils/tailf.c:108
+#, fuzzy, c-format
+msgid "incomplete write to \"%s\" (written %zd, expected %zd)\n"
+msgstr "ghi không hoàn toàn vào « %s » (đã ghi %ld, mong đợi %ld)\n"
+
+#: text-utils/tailf.c:146
+#, c-format
+msgid "%s: cannot add inotify watch (limit of inotify watches was reached)."
+msgstr ""
+
+#: text-utils/tailf.c:150
+#, c-format
+msgid "%s: cannot add inotify watch."
+msgstr ""
+
+#: text-utils/tailf.c:159
+#, fuzzy, c-format
+msgid "%s: cannot read inotify events"
+msgstr "%s: không thể mở %s\n"
+
+#: text-utils/tailf.c:198 text-utils/tailf.c:202
+msgid "invalid number of lines"
+msgstr "số dòng sai"
+
+#: text-utils/tailf.c:209
+msgid "usage: tailf [-n N | -N] logfile"
+msgstr "sử dụng: tailf [-n N | -N] tập_tin_ghi_lưu"
+
+#: text-utils/ul.c:141
+#, c-format
+msgid "usage: %s [ -i ] [ -tTerm ] file...\n"
+msgstr "sử dụng: %s [ -i ] [ -tTerm ] tập_tin...\n"
+
+#: text-utils/ul.c:152
+#, c-format
+msgid "trouble reading terminfo"
+msgstr "có vấn đề khi đọc terminfo"
+
+#: text-utils/ul.c:242
+#, c-format
+msgid "Unknown escape sequence in input: %o, %o\n"
+msgstr "Chuỗi thoát không rõ trong dữ liệu vào: %o, %o\n"
+
+#: text-utils/ul.c:425
+#, c-format
+msgid "Unable to allocate buffer.\n"
+msgstr "Không phân phối được bộ đệm.\n"
+
+#: text-utils/ul.c:586
+#, c-format
+msgid "Input line too long.\n"
+msgstr "Dòng nhập vào quá dài.\n"
+
+#: text-utils/ul.c:599
+#, c-format
+msgid "Out of memory when growing buffer.\n"
+msgstr "Không đủ bộ nhớ khi tăng vùng đệm.\n"
+
+#~ msgid "# partition table of %s\n"
+#~ msgstr "# bảng phân vùng của %s\n"
+
+#~ msgid ""
+#~ "unit: sectors\n"
+#~ "\n"
+#~ msgstr ""
+#~ "đơn vị: rãnh ghi\n"
+#~ "\n"
+
+#~ msgid " start=%9lu"
+#~ msgstr " đầu=%9lu"
+
+#~ msgid ", size=%9lu"
+#~ msgstr ", cỡ=%9lu"
+
+#~ msgid ", bootable"
+#~ msgstr ", khởi động được"
+
+#~ msgid "Clock in UTC, not changed.\n"
+#~ msgstr "Đồng hồ theo UTC nên không thay đổi gì.\n"
diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo
new file mode 100644 (file)
index 0000000..4526b67
Binary files /dev/null and b/po/zh_CN.gmo differ
diff --git a/po/zh_CN.po b/po/zh_CN.po
new file mode 100644 (file)
index 0000000..f6a3a91
--- /dev/null
@@ -0,0 +1,10925 @@
+# translation of util-linux-ng-2.14.1-rc2.po to
+# Copyright (C) 2008
+# This file is distributed under the same license as the util-linux-ng package.
+#
+# Ray Wang <wanglei1123@gmail.com>, 2008.
+msgid ""
+msgstr ""
+"Project-Id-Version: util-linux-ng-2.14.1-rc2\n"
+"Report-Msgid-Bugs-To: Karel Zak <kzak@redhat.com>\n"
+"POT-Creation-Date: 2009-11-30 16:27+0100\n"
+"PO-Revision-Date: 2008-08-23 23:20+0800\n"
+"Last-Translator: Ray Wang <wanglei1123@gmail.com>\n"
+"Language-Team: Chinese (simplified) <translation-team-zh-cn@lists."
+"sourceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: poedit-1.3.9-3.3\n"
+
+#: disk-utils/blockdev.c:37
+msgid "set read-only"
+msgstr "设置只读"
+
+#: disk-utils/blockdev.c:38
+msgid "set read-write"
+msgstr "设置读写"
+
+#: disk-utils/blockdev.c:39
+msgid "get read-only"
+msgstr "获得只读"
+
+#: disk-utils/blockdev.c:40
+msgid "get sectorsize"
+msgstr "获得段大小"
+
+#: disk-utils/blockdev.c:41
+msgid "get blocksize"
+msgstr "获得块大小"
+
+#: disk-utils/blockdev.c:42
+msgid "set blocksize"
+msgstr "设置块大小"
+
+#: disk-utils/blockdev.c:43
+msgid "get 32-bit sector count"
+msgstr "获得 32-bit 段数量"
+
+#: disk-utils/blockdev.c:44
+msgid "get size in bytes"
+msgstr "获得字节大小"
+
+# fuzzy
+#: disk-utils/blockdev.c:45
+msgid "set readahead"
+msgstr "设置 readahead"
+
+# fuzzy
+#: disk-utils/blockdev.c:46
+msgid "get readahead"
+msgstr "获取 readahead"
+
+# fuzzy
+#: disk-utils/blockdev.c:47
+msgid "set filesystem readahead"
+msgstr "设置文件系统 readahead"
+
+# fuzzy
+#: disk-utils/blockdev.c:48
+msgid "get filesystem readahead"
+msgstr "获取文件系统 readahead"
+
+#: disk-utils/blockdev.c:49
+msgid "flush buffers"
+msgstr "刷新缓存"
+
+#: disk-utils/blockdev.c:51
+msgid "reread partition table"
+msgstr "重新读取分区表"
+
+#: disk-utils/blockdev.c:60
+#, c-format
+msgid "Usage:\n"
+msgstr "用法:\n"
+
+#: disk-utils/blockdev.c:62
+#, c-format
+msgid "  %s --report [devices]\n"
+msgstr "  %s --report [devices]\n"
+
+#: disk-utils/blockdev.c:63
+#, c-format
+msgid "  %s [-v|-q] commands devices\n"
+msgstr "  %s [-v|-q] commands devices\n"
+
+#: disk-utils/blockdev.c:66
+#, c-format
+msgid "Available commands:\n"
+msgstr "可用的命令:\n"
+
+#: disk-utils/blockdev.c:68
+msgid "get size in 512-byte sectors"
+msgstr "获得512字节的段大小"
+
+#: disk-utils/blockdev.c:201
+#, c-format
+msgid "%s: Unknown command: %s\n"
+msgstr "%s: 未知命令: %s\n"
+
+#: disk-utils/blockdev.c:213 disk-utils/blockdev.c:222
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s 需要一个参数\n"
+
+#: disk-utils/blockdev.c:255
+#, c-format
+msgid "%s failed.\n"
+msgstr "%s 失败.\n"
+
+#: disk-utils/blockdev.c:292
+#, c-format
+msgid "%s succeeded.\n"
+msgstr "%s 成功.\n"
+
+#: disk-utils/blockdev.c:310 disk-utils/blockdev.c:338
+#, c-format
+msgid "%s: cannot open %s\n"
+msgstr "%s: 不能打开 %s\n"
+
+#: disk-utils/blockdev.c:355
+#, c-format
+msgid "%s: ioctl error on %s\n"
+msgstr "%s: %s ioctl 错误\n"
+
+#: disk-utils/blockdev.c:364
+#, c-format
+msgid "RO    RA   SSZ   BSZ   StartSec            Size   Device\n"
+msgstr "RO    RA   SSZ   BSZ   开始段            大小   设备\n"
+
+#: disk-utils/elvtune.c:48
+#, c-format
+msgid "usage:\n"
+msgstr "用法:\n"
+
+#: disk-utils/elvtune.c:53
+#, c-format
+msgid "\tNOTE: elvtune only works with 2.4 kernels\n"
+msgstr ""
+
+#: disk-utils/elvtune.c:104
+#, c-format
+msgid "parse error\n"
+msgstr ""
+
+#: disk-utils/elvtune.c:110
+#, c-format
+msgid "missing blockdevice, use -h for help\n"
+msgstr ""
+
+#: disk-utils/elvtune.c:131
+#, 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:31
+#, c-format
+msgid "Formatting ... "
+msgstr "正在格式化 ... "
+
+#: disk-utils/fdformat.c:49 disk-utils/fdformat.c:86
+#, c-format
+msgid "done\n"
+msgstr "完成\n"
+
+#: disk-utils/fdformat.c:60
+#, 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:80
+#, c-format
+msgid ""
+"bad data in cyl %d\n"
+"Continuing ... "
+msgstr ""
+"不正确的数据在柱面 %d\n"
+"继续 ... "
+
+#: disk-utils/fdformat.c:96
+#, c-format
+msgid "usage: %s [ -n ] device\n"
+msgstr "用法: %s [ -n ] device\n"
+
+#: disk-utils/fdformat.c:118 disk-utils/fsck.minix.c:1282
+#: disk-utils/isosize.c:181 disk-utils/mkfs.bfs.c:115 disk-utils/mkfs.c:52
+#: disk-utils/mkfs.cramfs.c:813 disk-utils/mkfs.minix.c:571
+#: disk-utils/mkswap.c:461 misc-utils/ddate.c:179 misc-utils/rename.c:79
+#: misc-utils/script.c:147 sys-utils/readprofile.c:197
+#, c-format
+msgid "%s (%s)\n"
+msgstr "%s (%s)\n"
+
+#: disk-utils/fdformat.c:132
+#, c-format
+msgid "%s: not a block device\n"
+msgstr "%s:不是一个块设备\n"
+
+#: disk-utils/fdformat.c:142
+msgid "Could not determine current format type"
+msgstr "不能决定当前格式类型"
+
+#: disk-utils/fdformat.c:143
+#, 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:144
+msgid "Double"
+msgstr ""
+
+#: disk-utils/fdformat.c:144
+msgid "Single"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:118
+#, c-format
+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"
+
+#: disk-utils/fsck.cramfs.c:164
+#, fuzzy, c-format
+msgid "stat failed: %s"
+msgstr "%s 失败.\n"
+
+#: disk-utils/fsck.cramfs.c:168 disk-utils/fsck.cramfs.c:552
+#, fuzzy, c-format
+msgid "open failed: %s"
+msgstr "查找失败"
+
+#: disk-utils/fsck.cramfs.c:173
+#, c-format
+msgid "ioctl failed: unable to determine device size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:181
+#, fuzzy, c-format
+msgid "not a block device or file: %s"
+msgstr "%s:不是一个块设备\n"
+
+#: disk-utils/fsck.cramfs.c:185 disk-utils/fsck.cramfs.c:227
+msgid "file length too short"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:190 disk-utils/fsck.cramfs.c:198
+#: disk-utils/fsck.cramfs.c:259 disk-utils/fsck.cramfs.c:279
+#, fuzzy, c-format
+msgid "read failed: %s"
+msgstr "查找失败"
+
+#: disk-utils/fsck.cramfs.c:208
+msgid "superblock magic not found"
+msgstr ""
+
+# fuzzy
+#: disk-utils/fsck.cramfs.c:217
+#, fuzzy
+msgid "unsupported filesystem features"
+msgstr "设置文件系统 readahead"
+
+#: disk-utils/fsck.cramfs.c:220
+#, c-format
+msgid "superblock size (%d) too small"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:224
+msgid "zero file count"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:230
+#, c-format
+msgid "warning: file extends past end of filesystem\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:234
+#, c-format
+msgid "warning: old cramfs format\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:247
+msgid "unable to test CRC: old cramfs format"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:273 disk-utils/fsck.cramfs.c:340
+#: disk-utils/fsck.cramfs.c:478 login-utils/chfn.c:529 login-utils/chsh.c:439
+#: sys-utils/cytune.c:321
+msgid "malloc failed"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:298
+#, fuzzy
+msgid "crc error"
+msgstr "内部错误"
+
+#: disk-utils/fsck.cramfs.c:365
+#, fuzzy
+msgid "root inode is not directory"
+msgstr "根 inode 不是一个目录"
+
+#: disk-utils/fsck.cramfs.c:370
+#, c-format
+msgid "bad root offset (%lu)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:388
+msgid "data block too large"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:392
+#, c-format
+msgid "decompression error %p(%d): %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:416
+#, c-format
+msgid "  hole at %ld (%zd)\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:424 disk-utils/fsck.cramfs.c:596
+#, c-format
+msgid "  uncompressing block at %ld to %ld (%ld)\n"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:430
+#, c-format
+msgid "non-block (%ld) bytes"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:434
+#, c-format
+msgid "non-size (%ld vs %ld) bytes"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:440
+#, c-format
+msgid "write failed: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:453
+#, c-format
+msgid "lchown failed: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:459
+#, c-format
+msgid "chown failed: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:466
+#, c-format
+msgid "utime failed: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:481
+#, c-format
+msgid "directory inode has zero offset and non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:495
+#, c-format
+msgid "mkdir failed: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:512
+msgid "filename length is zero"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:515
+msgid "bad filename length"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:522
+msgid "bad inode offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:538
+msgid "file inode has zero offset and non-zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:541
+msgid "file inode has zero size and non-zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:572
+msgid "symbolic link has zero offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:575
+msgid "symbolic link has zero size"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:587
+#, c-format
+msgid "size error in symlink: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:602
+#, fuzzy, c-format
+msgid "symlink failed: %s"
+msgstr "查找失败"
+
+#: disk-utils/fsck.cramfs.c:614
+#, c-format
+msgid "special file has non-zero offset: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:626
+#, c-format
+msgid "fifo has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:632
+#, c-format
+msgid "socket has non-zero size: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:637
+#, c-format
+msgid "bogus mode: %s (%o)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:647
+#, c-format
+msgid "mknod failed: %s"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:683
+#, c-format
+msgid "directory data start (%ld) < sizeof(struct cramfs_super) + start (%ld)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:686
+#, c-format
+msgid "directory data end (%ld) != file data start (%ld)"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:691
+msgid "invalid file data offset"
+msgstr ""
+
+#: disk-utils/fsck.cramfs.c:715
+#, fuzzy
+msgid "failed to allocate outbuffer"
+msgstr "不能为 inodes 分配缓冲区"
+
+#: disk-utils/fsck.cramfs.c:728
+msgid "compiled without -x support"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:210
+#, c-format
+msgid "Usage: %s [-larvsmf] /dev/name\n"
+msgstr "用法: %s [-larvsmf] /dev/name\n"
+
+#: disk-utils/fsck.minix.c:326
+#, c-format
+msgid "%s is mounted.\t "
+msgstr "%s 已经挂载.\t"
+
+#: disk-utils/fsck.minix.c:328
+msgid "Do you really want to continue"
+msgstr "你确认要继续"
+
+#: disk-utils/fsck.minix.c:332
+#, c-format
+msgid "check aborted.\n"
+msgstr "检查失败.\n"
+
+#: disk-utils/fsck.minix.c:351 disk-utils/fsck.minix.c:374
+#, c-format
+msgid "Zone nr < FIRSTZONE in file `%s'."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:355 disk-utils/fsck.minix.c:378
+#, c-format
+msgid "Zone nr >= ZONES in file `%s'."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:360 disk-utils/fsck.minix.c:383
+msgid "Remove block"
+msgstr "删除块"
+
+#: disk-utils/fsck.minix.c:401
+#, c-format
+msgid "Read error: unable to seek to block in file '%s'\n"
+msgstr "读取错误: 不能在文件 '%s' 中查找到该块\n"
+
+#: disk-utils/fsck.minix.c:407
+#, c-format
+msgid "Read error: bad block in file '%s'\n"
+msgstr "读取错误: 文件 '%s' 中有坏块\n"
+
+#: disk-utils/fsck.minix.c:422
+#, c-format
+msgid ""
+"Internal error: trying to write bad block\n"
+"Write request ignored\n"
+msgstr ""
+"内部错误: 试图写坏块\n"
+"写请求忽略\n"
+
+#: disk-utils/fsck.minix.c:428 disk-utils/mkfs.minix.c:209
+msgid "seek failed in write_block"
+msgstr "在 write_block 中查找失败"
+
+#: disk-utils/fsck.minix.c:431
+#, c-format
+msgid "Write error: bad block in file '%s'\n"
+msgstr "写入错误: 文件 '%s' 中有坏块\n"
+
+#: disk-utils/fsck.minix.c:547
+msgid "seek failed in write_super_block"
+msgstr "在 write_super_block 中查找失败"
+
+#: disk-utils/fsck.minix.c:549 disk-utils/mkfs.minix.c:196
+msgid "unable to write super-block"
+msgstr "不能写超级块"
+
+#: disk-utils/fsck.minix.c:559
+#, fuzzy
+msgid "Unable to write inode map"
+msgstr "不能写 inode map"
+
+#: disk-utils/fsck.minix.c:561
+msgid "Unable to write zone map"
+msgstr "不能写 zone map"
+
+#: disk-utils/fsck.minix.c:563
+msgid "Unable to write inodes"
+msgstr "不能写 inodes"
+
+#: disk-utils/fsck.minix.c:590
+msgid "seek failed"
+msgstr "查找失败"
+
+#: disk-utils/fsck.minix.c:592
+msgid "unable to read super block"
+msgstr "不能读超级块"
+
+#: disk-utils/fsck.minix.c:610
+msgid "bad magic number in super-block"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:612
+msgid "Only 1k blocks/zones supported"
+msgstr "只支持 1k 块/区"
+
+#: disk-utils/fsck.minix.c:614
+msgid "bad s_imap_blocks field in super-block"
+msgstr "不正确的 s_imap_blocks 域在超级块中"
+
+#: disk-utils/fsck.minix.c:616
+msgid "bad s_zmap_blocks field in super-block"
+msgstr "不正确的 s_zmap_blocks 域在超级块中"
+
+#: disk-utils/fsck.minix.c:623
+msgid "Unable to allocate buffer for inode map"
+msgstr "不能为 inode map 分配缓冲区"
+
+#: disk-utils/fsck.minix.c:626
+msgid "Unable to allocate buffer for zone map"
+msgstr "不能为 zone map 分配缓冲区"
+
+#: disk-utils/fsck.minix.c:631
+msgid "Unable to allocate buffer for inodes"
+msgstr "不能为 inodes 分配缓冲区"
+
+#: disk-utils/fsck.minix.c:634
+msgid "Unable to allocate buffer for inode count"
+msgstr "不能为 inode count 分配缓冲区"
+
+#: disk-utils/fsck.minix.c:637
+msgid "Unable to allocate buffer for zone count"
+msgstr "不能为 zone count 分配缓冲区"
+
+#: disk-utils/fsck.minix.c:639
+msgid "Unable to read inode map"
+msgstr "不能读 inode map"
+
+#: disk-utils/fsck.minix.c:641
+msgid "Unable to read zone map"
+msgstr "不能读 zone map"
+
+#: disk-utils/fsck.minix.c:643
+msgid "Unable to read inodes"
+msgstr "不能读 inodes"
+
+#: disk-utils/fsck.minix.c:645
+#, c-format
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr "警告: Firstzone != Norm_firstzone\n"
+
+#: disk-utils/fsck.minix.c:650 disk-utils/mkfs.minix.c:450
+#, c-format
+msgid "%ld inodes\n"
+msgstr "%ld inodes\n"
+
+#: disk-utils/fsck.minix.c:651 disk-utils/mkfs.minix.c:451
+#, c-format
+msgid "%ld blocks\n"
+msgstr "%ld 块\n"
+
+#: disk-utils/fsck.minix.c:652 disk-utils/mkfs.minix.c:452
+#, c-format
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr "Firstdatazone=%ld (%ld)\n"
+
+#: disk-utils/fsck.minix.c:653 disk-utils/mkfs.minix.c:453
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr "Zonesize=%d\n"
+
+#: disk-utils/fsck.minix.c:654
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr "Maxsize=%ld\n"
+
+#: disk-utils/fsck.minix.c:655
+#, c-format
+msgid "Filesystem state=%d\n"
+msgstr "Filesystem state=%d\n"
+
+#: disk-utils/fsck.minix.c:656
+#, c-format
+msgid ""
+"namelen=%d\n"
+"\n"
+msgstr ""
+"namelen=%d\n"
+"\n"
+
+#: disk-utils/fsck.minix.c:671 disk-utils/fsck.minix.c:722
+#, c-format
+msgid "Inode %d marked unused, but used for file '%s'\n"
+msgstr "Inode %d 标记为未使用, 但用于文件 '%s'\n"
+
+#: disk-utils/fsck.minix.c:675 disk-utils/fsck.minix.c:726
+msgid "Mark in use"
+msgstr "标记为已使用"
+
+#: disk-utils/fsck.minix.c:697 disk-utils/fsck.minix.c:746
+#, c-format
+msgid "The file `%s' has mode %05o\n"
+msgstr "文件 `%s' 的模式 %05o\n"
+
+#: disk-utils/fsck.minix.c:704 disk-utils/fsck.minix.c:752
+#, c-format
+msgid "Warning: inode count too big.\n"
+msgstr "警告: inode 计数太大.\n"
+
+#: disk-utils/fsck.minix.c:764 disk-utils/fsck.minix.c:772
+msgid "root inode isn't a directory"
+msgstr "根 inode 不是一个目录"
+
+#: disk-utils/fsck.minix.c:786 disk-utils/fsck.minix.c:819
+#, c-format
+msgid "Block has been used before. Now in file `%s'."
+msgstr "块已经被使用, 现在在文件 `%s' 中."
+
+#: disk-utils/fsck.minix.c:788 disk-utils/fsck.minix.c:821
+#: disk-utils/fsck.minix.c:1144 disk-utils/fsck.minix.c:1153
+#: disk-utils/fsck.minix.c:1199 disk-utils/fsck.minix.c:1208
+msgid "Clear"
+msgstr "清除"
+
+#: disk-utils/fsck.minix.c:798 disk-utils/fsck.minix.c:831
+#, c-format
+msgid "Block %d in file `%s' is marked not in use."
+msgstr "文件中块 %d `%s' 标记为没有使用."
+
+#: disk-utils/fsck.minix.c:800 disk-utils/fsck.minix.c:833
+msgid "Correct"
+msgstr "正确"
+
+#: disk-utils/fsck.minix.c:972 disk-utils/fsck.minix.c:1039
+#, c-format
+msgid "The directory '%s' contains a bad inode number for file '%.*s'."
+msgstr "目录 '%s' 包含了一个不正确的 inode number 文件 '%.*s'. "
+
+#: disk-utils/fsck.minix.c:975 disk-utils/fsck.minix.c:1042
+msgid " Remove"
+msgstr " 删除"
+
+#: disk-utils/fsck.minix.c:989 disk-utils/fsck.minix.c:1056
+#, c-format
+msgid "%s: bad directory: '.' isn't first\n"
+msgstr "%s: 不正确的目录: '.' 不是第一个\n"
+
+#: disk-utils/fsck.minix.c:997 disk-utils/fsck.minix.c:1065
+#, fuzzy, c-format
+msgid "%s: bad directory: '..' isn't second\n"
+msgstr "%s: 不正确的目录: '.' 不是第一个\n"
+
+#: disk-utils/fsck.minix.c:1099 disk-utils/fsck.minix.c:1117
+msgid "internal error"
+msgstr "内部错误"
+
+#: disk-utils/fsck.minix.c:1102 disk-utils/fsck.minix.c:1120
+#, c-format
+msgid "%s: bad directory: size < 32"
+msgstr "%s: 不正确的目录: 大小 < 32"
+
+#: disk-utils/fsck.minix.c:1133
+msgid "seek failed in bad_zone"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1143 disk-utils/fsck.minix.c:1198
+#, c-format
+msgid "Inode %d mode not cleared."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1152 disk-utils/fsck.minix.c:1207
+#, c-format
+msgid "Inode %d not used, marked used in the bitmap."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1158 disk-utils/fsck.minix.c:1213
+#, c-format
+msgid "Inode %d used, marked unused in the bitmap."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1160 disk-utils/fsck.minix.c:1214
+msgid "Set"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1164 disk-utils/fsck.minix.c:1218
+#, c-format
+msgid "Inode %d (mode = %07o), i_nlinks=%d, counted=%d."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1166 disk-utils/fsck.minix.c:1220
+msgid "Set i_nlinks to count"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1178 disk-utils/fsck.minix.c:1232
+#, c-format
+msgid "Zone %d: marked in use, no file uses it."
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1179 disk-utils/fsck.minix.c:1234
+msgid "Unmark"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1184 disk-utils/fsck.minix.c:1239
+#, c-format
+msgid "Zone %d: in use, counted=%d\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1187 disk-utils/fsck.minix.c:1242
+#, c-format
+msgid "Zone %d: not in use, counted=%d\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1287 disk-utils/mkfs.minix.c:576
+#: disk-utils/mkfs.minix.c:578
+msgid "bad inode size"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1289
+msgid "bad v2 inode size"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1315
+msgid "need terminal for interactive repairs"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1319
+#, c-format
+msgid "unable to open '%s': %s"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1334
+#, c-format
+msgid "%s is clean, no check.\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1338
+#, c-format
+msgid "Forcing filesystem check on %s.\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1340
+#, c-format
+msgid "Filesystem on %s is dirty, needs checking.\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1373
+#, c-format
+msgid ""
+"\n"
+"%6ld inodes used (%ld%%)\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1378
+#, c-format
+msgid "%6ld zones used (%ld%%)\n"
+msgstr ""
+
+#: disk-utils/fsck.minix.c:1380
+#, 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:1393
+#, c-format
+msgid ""
+"----------------------------\n"
+"FILE SYSTEM HAS BEEN CHANGED\n"
+"----------------------------\n"
+msgstr ""
+
+#: disk-utils/isosize.c:129
+#, c-format
+msgid "%s: failed to open: %s\n"
+msgstr ""
+
+#: disk-utils/isosize.c:135
+#, c-format
+msgid "%s: seek error on %s\n"
+msgstr ""
+
+#: disk-utils/isosize.c:141
+#, c-format
+msgid "%s: read error on %s\n"
+msgstr ""
+
+#: disk-utils/isosize.c:150
+#, c-format
+msgid "sector count: %d, sector size: %d\n"
+msgstr ""
+
+#: disk-utils/isosize.c:200
+#, c-format
+msgid "%s: option parse error\n"
+msgstr ""
+
+#: disk-utils/isosize.c:208
+#, c-format
+msgid "Usage: %s [-x] [-d <num>] iso9660-image\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:84
+#, c-format
+msgid ""
+"Usage: %s [-v] [-N nr-of-inodes] [-V volume-name]\n"
+"       [-F fsname] device [block-count]\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:131
+msgid "volume name too long"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:138
+msgid "fsname name too long"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:163
+#, c-format
+msgid "cannot stat device %s"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:167
+#, c-format
+msgid "%s is not a block special device"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:172 sys-utils/ldattach.c:205
+#, c-format
+msgid "cannot open %s"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:183
+#, c-format
+msgid "cannot get size of %s"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:188
+#, c-format
+msgid "blocks argument too large, max is %llu"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:203
+msgid "too many inodes - max is 512"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:212
+#, c-format
+msgid "not enough space, need at least %llu blocks"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:224 fdisk/fdisk.c:2345
+#, c-format
+msgid "Device: %s\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:225
+#, c-format
+msgid "Volume: <%-6s>\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:226
+#, c-format
+msgid "FSname: <%-6s>\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:227
+#, c-format
+msgid "BlockSize: %d\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:229
+#, c-format
+msgid "Inodes: %d (in 1 block)\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:232
+#, c-format
+msgid "Inodes: %d (in %lld blocks)\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:234
+#, c-format
+msgid "Blocks: %lld\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:235
+#, c-format
+msgid "Inode end: %d, Data end: %d\n"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:240
+msgid "error writing superblock"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:260
+msgid "error writing root inode"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:265
+msgid "error writing inode"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:268
+msgid "seek error"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:274
+msgid "error writing . entry"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:278
+msgid "error writing .. entry"
+msgstr ""
+
+#: disk-utils/mkfs.bfs.c:282
+#, c-format
+msgid "error closing %s"
+msgstr ""
+
+#: disk-utils/mkfs.c:73
+#, c-format
+msgid "Usage: mkfs [-V] [-t fstype] [fs-options] device [size]\n"
+msgstr ""
+
+#: disk-utils/mkfs.c:88 disk-utils/mkfs.c:96 fdisk/cfdisk.c:351
+#: getopt/getopt.c:86 getopt/getopt.c:96 login-utils/wall.c:246
+#, c-format
+msgid "%s: Out of memory!\n"
+msgstr ""
+
+#: disk-utils/mkfs.c:103
+#, c-format
+msgid "mkfs (%s)\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:126
+#, 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:340
+#, c-format
+msgid ""
+"Very long (%zu bytes) filename `%s' found.\n"
+" Please increase MAX_INPUT_NAMELEN in mkcramfs.c and recompile.  Exiting.\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:472
+#, c-format
+msgid "filesystem too big.  Exiting.\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:637
+#, c-format
+msgid "AIEEE: block \"compressed\" to > 2*blocklength (%ld)\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:656
+#, c-format
+msgid "%6.2f%% (%+ld bytes)\t%s\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:854
+#, c-format
+msgid ""
+"warning: guestimate of required size (upper bound) is %lldMB, but maximum "
+"image size is %uMB.  We might die prematurely.\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:881
+msgid "ROM image map"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:895
+#, c-format
+msgid "Including: %s\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:901
+#, c-format
+msgid "Directory data: %zd bytes\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:909
+#, c-format
+msgid "Everything: %zd kilobytes\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:914
+#, c-format
+msgid "Super block: %zd bytes\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:921
+#, c-format
+msgid "CRC: %x\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:926
+#, c-format
+msgid "not enough space allocated for ROM image (%lld allocated, %zu used)\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:934
+msgid "ROM image"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:938
+#, c-format
+msgid "ROM image write failed (%zd %zd)\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:947
+#, c-format
+msgid "warning: filenames truncated to 255 bytes.\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:950
+#, c-format
+msgid "warning: files were skipped due to errors.\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:953
+#, c-format
+msgid "warning: file sizes truncated to %luMB (minus 1 byte).\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:958
+#, c-format
+msgid ""
+"warning: uids truncated to %u bits.  (This may be a security concern.)\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:963
+#, c-format
+msgid ""
+"warning: gids truncated to %u bits.  (This may be a security concern.)\n"
+msgstr ""
+
+#: disk-utils/mkfs.cramfs.c:968
+#, c-format
+msgid ""
+"WARNING: device numbers truncated to %u bits.  This almost certainly means\n"
+"that some device files will be wrong.\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:156
+#, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:180
+#, c-format
+msgid "%s is mounted; will not make a filesystem here!"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:190
+msgid "seek to boot block failed in write_tables"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:192
+msgid "unable to clear boot sector"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:194
+msgid "seek failed in write_tables"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:198
+msgid "unable to write inode map"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:200
+msgid "unable to write zone map"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:202
+msgid "unable to write inodes"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:211
+msgid "write failed in write_block"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:219 disk-utils/mkfs.minix.c:293
+#: disk-utils/mkfs.minix.c:342
+msgid "too many bad blocks"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:227
+msgid "not enough good blocks"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:439
+msgid "unable to allocate buffers for maps"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:448
+msgid "unable to allocate buffer for inodes"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:454
+#, c-format
+msgid ""
+"Maxsize=%ld\n"
+"\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:468
+msgid "seek failed during testing of blocks"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:476
+#, c-format
+msgid "Weird values in do_check: probably bugs\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:507 disk-utils/mkswap.c:313
+msgid "seek failed in check_blocks"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:516
+msgid "bad blocks before data-area: cannot make fs"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:522 disk-utils/mkfs.minix.c:547
+#, c-format
+msgid "%d bad blocks\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:524 disk-utils/mkfs.minix.c:549
+#, c-format
+msgid "one bad block\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:534
+msgid "can't open file of bad blocks"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:538
+#, c-format
+msgid "badblock number input error on line %d\n"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:539
+msgid "cannot read badblocks file"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:619
+#, c-format
+msgid "strtol error: number of blocks not specified"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:638
+#, c-format
+msgid "unable to stat %s"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:644
+#, c-format
+msgid "unable to open %s"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:649
+#, c-format
+msgid "cannot determine sector size for %s"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:651
+#, c-format
+msgid "block size smaller than physical sector size of %s"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:654
+#, c-format
+msgid "cannot determine size of %s"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:662
+#, c-format
+msgid "will not try to make filesystem on '%s'"
+msgstr ""
+
+#: disk-utils/mkfs.minix.c:664
+msgid "number of blocks too small"
+msgstr ""
+
+#: disk-utils/mkswap.c:155
+#, c-format
+msgid "Bad user-specified page size %d\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:163
+#, c-format
+msgid "Using user-specified page size %d, instead of the system value %d\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:192
+#, c-format
+msgid "Bad swap header size, no label written.\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:202
+#, c-format
+msgid "Label was truncated.\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:208
+#, c-format
+msgid "no label, "
+msgstr ""
+
+#: disk-utils/mkswap.c:216
+#, c-format
+msgid "no uuid\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:281
+#, c-format
+msgid "Usage: %s [-c] [-pPAGESZ] [-L label] [-U UUID] /dev/name [blocks]\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:295
+msgid "too many bad pages"
+msgstr ""
+
+#: disk-utils/mkswap.c:308 misc-utils/look.c:182 misc-utils/setterm.c:1183
+#: text-utils/more.c:1982 text-utils/more.c:1993
+msgid "Out of memory"
+msgstr ""
+
+#: disk-utils/mkswap.c:319
+#, c-format
+msgid "one bad page\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:321
+#, c-format
+msgid "%lu bad pages\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:399 disk-utils/mkswap.c:415 disk-utils/mkswap.c:633
+msgid "unable to rewind swap-device"
+msgstr ""
+
+#: disk-utils/mkswap.c:419
+#, fuzzy
+msgid "unable to erase bootbits sectors"
+msgstr "不能读超级块"
+
+#: disk-utils/mkswap.c:423
+#, c-format
+msgid "%s: %s: warning: don't erase bootbits sectors\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:426
+#, c-format
+msgid "        (%s partition table detected). "
+msgstr ""
+
+#: disk-utils/mkswap.c:428
+#, c-format
+msgid "        on whole disk. "
+msgstr ""
+
+#: disk-utils/mkswap.c:498
+#, c-format
+msgid "%1$s: warning: ignore -U (UUIDs are unsupported by %1$s)\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:514
+#, c-format
+msgid "%s: does not support swapspace version %d.\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:522
+msgid "error: UUID parsing failed"
+msgstr ""
+
+#: disk-utils/mkswap.c:533
+#, c-format
+msgid "%s: error: Nowhere to set up swap on?\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:551
+#, c-format
+msgid "%s: error: size %llu KiB is larger than device size %llu KiB\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:560
+#, c-format
+msgid "%s: error: swap area needs to be at least %ld KiB\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:577
+#, c-format
+msgid "%s: warning: truncating swap area to %llu KiB\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:600
+#, c-format
+msgid "%s: error: will not try to make swapdevice on '%s'\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:606
+#, c-format
+msgid "%s: error: %s is mounted; will not make swapspace.\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:622
+msgid "Unable to set up swap-space: unreadable"
+msgstr ""
+
+#: disk-utils/mkswap.c:625
+#, c-format
+msgid "Setting up swapspace version 1, size = %llu KiB\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:636
+#, c-format
+msgid "%s: %s: unable to write signature page: %s"
+msgstr ""
+
+#: disk-utils/mkswap.c:647
+msgid "fsync failed"
+msgstr ""
+
+#: disk-utils/mkswap.c:658
+#, c-format
+msgid "%s: %s: unable to obtain selinux file label: %s\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:664
+msgid "unable to matchpathcon()"
+msgstr ""
+
+#: disk-utils/mkswap.c:667
+msgid "unable to create new selinux context"
+msgstr ""
+
+#: disk-utils/mkswap.c:669
+msgid "couldn't compute selinux context"
+msgstr ""
+
+#: disk-utils/mkswap.c:675
+#, c-format
+msgid "%s: unable to relabel %s to %s: %s\n"
+msgstr ""
+
+#: disk-utils/raw.c:50
+#, fuzzy, c-format
+msgid ""
+"Usage:\n"
+"  %s "
+msgstr "用法:\n"
+
+#: disk-utils/raw.c:125
+#, c-format
+msgid ""
+"Device '%s' is control raw dev (use raw<N> where <N> is greater than zero)\n"
+msgstr ""
+
+#: disk-utils/raw.c:145
+#, fuzzy, c-format
+msgid "Cannot locate block device '%s' (%s)\n"
+msgstr "%s:不是一个块设备\n"
+
+#: disk-utils/raw.c:151
+#, fuzzy, c-format
+msgid "Device '%s' is not a block dev\n"
+msgstr "%s:不是一个块设备\n"
+
+#: disk-utils/raw.c:186
+#, c-format
+msgid "Cannot open master raw device '"
+msgstr ""
+
+#: disk-utils/raw.c:205
+#, c-format
+msgid "Cannot locate raw device '%s' (%s)\n"
+msgstr ""
+
+#: disk-utils/raw.c:211
+#, c-format
+msgid "Raw device '%s' is not a character dev\n"
+msgstr ""
+
+#: disk-utils/raw.c:216
+#, c-format
+msgid "Device '%s' is not a raw dev\n"
+msgstr ""
+
+#: disk-utils/raw.c:231
+#, c-format
+msgid "Error querying raw device (%s)\n"
+msgstr ""
+
+#: disk-utils/raw.c:241 disk-utils/raw.c:261
+#, c-format
+msgid "raw%d:\tbound to major %d, minor %d\n"
+msgstr ""
+
+#: disk-utils/raw.c:257
+#, c-format
+msgid "Error setting raw device (%s)\n"
+msgstr ""
+
+#: fdisk/cfdisk.c:376 fdisk/cfdisk.c:2080
+msgid "Unusable"
+msgstr ""
+
+#: fdisk/cfdisk.c:378 fdisk/cfdisk.c:2082
+msgid "Free Space"
+msgstr ""
+
+#: fdisk/cfdisk.c:381
+msgid "Linux ext2"
+msgstr ""
+
+#: fdisk/cfdisk.c:383
+msgid "Linux ext3"
+msgstr ""
+
+#: fdisk/cfdisk.c:385
+msgid "Linux XFS"
+msgstr ""
+
+#: fdisk/cfdisk.c:387
+msgid "Linux JFS"
+msgstr ""
+
+#: fdisk/cfdisk.c:389
+msgid "Linux ReiserFS"
+msgstr ""
+
+#: fdisk/cfdisk.c:391 fdisk/i386_sys_types.c:57
+msgid "Linux"
+msgstr ""
+
+#: fdisk/cfdisk.c:394
+msgid "OS/2 HPFS"
+msgstr ""
+
+#: fdisk/cfdisk.c:396
+msgid "OS/2 IFS"
+msgstr ""
+
+#: fdisk/cfdisk.c:400
+msgid "NTFS"
+msgstr ""
+
+#: fdisk/cfdisk.c:411
+#, c-format
+msgid "Disk has been changed.\n"
+msgstr ""
+
+#: fdisk/cfdisk.c:413
+#, c-format
+msgid "Reboot the system to ensure the partition table is correctly updated.\n"
+msgstr ""
+
+#: fdisk/cfdisk.c:417
+#, 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 ""
+
+#: fdisk/cfdisk.c:512
+msgid "FATAL ERROR"
+msgstr ""
+
+#: fdisk/cfdisk.c:513
+msgid "Press any key to exit cfdisk"
+msgstr ""
+
+#: fdisk/cfdisk.c:560 fdisk/cfdisk.c:568
+msgid "Cannot seek on disk drive"
+msgstr ""
+
+#: fdisk/cfdisk.c:562
+msgid "Cannot read disk drive"
+msgstr ""
+
+#: fdisk/cfdisk.c:570
+msgid "Cannot write disk drive"
+msgstr ""
+
+#: fdisk/cfdisk.c:913
+msgid "Too many partitions"
+msgstr ""
+
+#: fdisk/cfdisk.c:918
+msgid "Partition begins before sector 0"
+msgstr ""
+
+#: fdisk/cfdisk.c:923
+msgid "Partition ends before sector 0"
+msgstr ""
+
+#: fdisk/cfdisk.c:928
+msgid "Partition begins after end-of-disk"
+msgstr ""
+
+#: fdisk/cfdisk.c:933
+msgid "Partition ends after end-of-disk"
+msgstr ""
+
+#: fdisk/cfdisk.c:938
+msgid "Partition ends in the final partial cylinder"
+msgstr ""
+
+#: fdisk/cfdisk.c:962
+msgid "logical partitions not in disk order"
+msgstr ""
+
+#: fdisk/cfdisk.c:965
+msgid "logical partitions overlap"
+msgstr ""
+
+#: fdisk/cfdisk.c:969
+msgid "enlarged logical partitions overlap"
+msgstr ""
+
+#: fdisk/cfdisk.c:999
+msgid ""
+"!!!! Internal error creating logical drive with no extended partition !!!!"
+msgstr ""
+
+#: fdisk/cfdisk.c:1010 fdisk/cfdisk.c:1022
+msgid ""
+"Cannot create logical drive here -- would create two extended partitions"
+msgstr ""
+
+#: fdisk/cfdisk.c:1164
+msgid "Menu item too long. Menu may look odd."
+msgstr ""
+
+#: fdisk/cfdisk.c:1220
+msgid "Menu without direction. Defaulting to horizontal."
+msgstr ""
+
+#: fdisk/cfdisk.c:1351
+msgid "Illegal key"
+msgstr ""
+
+#: fdisk/cfdisk.c:1374
+msgid "Press a key to continue"
+msgstr ""
+
+#: fdisk/cfdisk.c:1421 fdisk/cfdisk.c:2051 fdisk/cfdisk.c:2583
+#: fdisk/cfdisk.c:2585
+msgid "Primary"
+msgstr ""
+
+#: fdisk/cfdisk.c:1421
+msgid "Create a new primary partition"
+msgstr ""
+
+#: fdisk/cfdisk.c:1422 fdisk/cfdisk.c:2051 fdisk/cfdisk.c:2582
+#: fdisk/cfdisk.c:2585
+msgid "Logical"
+msgstr ""
+
+#: fdisk/cfdisk.c:1422
+msgid "Create a new logical partition"
+msgstr ""
+
+#: fdisk/cfdisk.c:1423 fdisk/cfdisk.c:1478 fdisk/cfdisk.c:2256
+msgid "Cancel"
+msgstr ""
+
+#: fdisk/cfdisk.c:1423 fdisk/cfdisk.c:1478
+msgid "Don't create a partition"
+msgstr ""
+
+#: fdisk/cfdisk.c:1439
+msgid "!!! Internal error !!!"
+msgstr ""
+
+#: fdisk/cfdisk.c:1442
+msgid "Size (in MB): "
+msgstr ""
+
+#: fdisk/cfdisk.c:1476
+msgid "Beginning"
+msgstr ""
+
+#: fdisk/cfdisk.c:1476
+msgid "Add partition at beginning of free space"
+msgstr ""
+
+#: fdisk/cfdisk.c:1477
+msgid "End"
+msgstr ""
+
+#: fdisk/cfdisk.c:1477
+msgid "Add partition at end of free space"
+msgstr ""
+
+#: fdisk/cfdisk.c:1495
+msgid "No room to create the extended partition"
+msgstr ""
+
+#: fdisk/cfdisk.c:1569
+msgid "No partition table.\n"
+msgstr ""
+
+#: fdisk/cfdisk.c:1573
+msgid "No partition table. Starting with zero table."
+msgstr ""
+
+#: fdisk/cfdisk.c:1583
+msgid "Bad signature on partition table"
+msgstr ""
+
+#: fdisk/cfdisk.c:1587
+msgid "Unknown partition table type"
+msgstr ""
+
+#: fdisk/cfdisk.c:1589
+msgid "Do you wish to start with a zero table [y/N] ?"
+msgstr ""
+
+#: fdisk/cfdisk.c:1637
+msgid "You specified more cylinders than fit on disk"
+msgstr ""
+
+#: fdisk/cfdisk.c:1669
+msgid "Cannot open disk drive"
+msgstr ""
+
+#: fdisk/cfdisk.c:1671 fdisk/cfdisk.c:1860
+msgid "Opened disk read-only - you have no permission to write"
+msgstr ""
+
+#: fdisk/cfdisk.c:1682
+msgid ""
+"Warning!!  Unsupported GPT (GUID Partition Table) detected. Use GNU Parted."
+msgstr ""
+
+#: fdisk/cfdisk.c:1701
+msgid "Cannot get disk size"
+msgstr ""
+
+#: fdisk/cfdisk.c:1727
+msgid "Bad primary partition"
+msgstr ""
+
+#: fdisk/cfdisk.c:1757
+msgid "Bad logical partition"
+msgstr ""
+
+#: fdisk/cfdisk.c:1872
+msgid "Warning!!  This may destroy data on your disk!"
+msgstr ""
+
+#: fdisk/cfdisk.c:1876
+msgid ""
+"Are you sure you want to write the partition table to disk? (yes or no): "
+msgstr ""
+
+#: fdisk/cfdisk.c:1882
+msgid "no"
+msgstr ""
+
+#: fdisk/cfdisk.c:1884
+msgid "Did not write partition table to disk"
+msgstr ""
+
+#: fdisk/cfdisk.c:1886
+msgid "yes"
+msgstr ""
+
+#: fdisk/cfdisk.c:1890
+msgid "Please enter `yes' or `no'"
+msgstr ""
+
+#: fdisk/cfdisk.c:1894
+msgid "Writing partition table to disk..."
+msgstr ""
+
+#: fdisk/cfdisk.c:1921 fdisk/cfdisk.c:1925
+msgid "Wrote partition table to disk"
+msgstr ""
+
+#: fdisk/cfdisk.c:1923
+msgid ""
+"Wrote partition table, but re-read table failed.  Run partprobe(8), kpartx"
+"(8) or reboot to update table."
+msgstr ""
+
+#: fdisk/cfdisk.c:1933
+msgid "No primary partitions are marked bootable. DOS MBR cannot boot this."
+msgstr ""
+
+#: fdisk/cfdisk.c:1935
+msgid ""
+"More than one primary partition is marked bootable. DOS MBR cannot boot this."
+msgstr ""
+
+#: fdisk/cfdisk.c:1993 fdisk/cfdisk.c:2112 fdisk/cfdisk.c:2196
+msgid "Enter filename or press RETURN to display on screen: "
+msgstr ""
+
+#: fdisk/cfdisk.c:2002 fdisk/cfdisk.c:2120 fdisk/cfdisk.c:2204
+#, c-format
+msgid "Cannot open file '%s'"
+msgstr ""
+
+#: fdisk/cfdisk.c:2013
+#, c-format
+msgid "Disk Drive: %s\n"
+msgstr ""
+
+#: fdisk/cfdisk.c:2015
+msgid "Sector 0:\n"
+msgstr ""
+
+#: fdisk/cfdisk.c:2022
+#, c-format
+msgid "Sector %d:\n"
+msgstr ""
+
+#: fdisk/cfdisk.c:2042
+msgid "   None   "
+msgstr ""
+
+#: fdisk/cfdisk.c:2044
+msgid "   Pri/Log"
+msgstr ""
+
+#: fdisk/cfdisk.c:2046
+msgid "   Primary"
+msgstr ""
+
+#: fdisk/cfdisk.c:2048
+msgid "   Logical"
+msgstr ""
+
+#: fdisk/cfdisk.c:2086 fdisk/fdisk.c:1534 fdisk/fdisk.c:1855
+#: fdisk/fdisksgilabel.c:240 fdisk/fdisksunlabel.c:621 fdisk/sfdisk.c:653
+msgid "Unknown"
+msgstr ""
+
+#: fdisk/cfdisk.c:2092 fdisk/cfdisk.c:2560 fdisk/fdisksunlabel.c:44
+msgid "Boot"
+msgstr ""
+
+#: fdisk/cfdisk.c:2094
+#, c-format
+msgid "(%02X)"
+msgstr ""
+
+#: fdisk/cfdisk.c:2096
+msgid "None"
+msgstr ""
+
+#: fdisk/cfdisk.c:2131 fdisk/cfdisk.c:2215
+#, c-format
+msgid "Partition Table for %s\n"
+msgstr ""
+
+#: fdisk/cfdisk.c:2133
+msgid "               First       Last\n"
+msgstr ""
+
+#: fdisk/cfdisk.c:2134
+msgid ""
+" # Type       Sector      Sector   Offset    Length   Filesystem Type (ID) "
+"Flag\n"
+msgstr ""
+
+#: fdisk/cfdisk.c:2135
+msgid ""
+"-- ------- ----------- ----------- ------ ----------- -------------------- "
+"----\n"
+msgstr ""
+
+#: fdisk/cfdisk.c:2218
+msgid "         ---Starting----      ----Ending-----    Start     Number of\n"
+msgstr ""
+
+#: fdisk/cfdisk.c:2219
+msgid " # Flags Head Sect  Cyl   ID  Head Sect  Cyl     Sector    Sectors\n"
+msgstr ""
+
+#: fdisk/cfdisk.c:2220
+msgid "-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n"
+msgstr ""
+
+#: fdisk/cfdisk.c:2253
+msgid "Raw"
+msgstr ""
+
+#: fdisk/cfdisk.c:2253
+msgid "Print the table using raw data format"
+msgstr ""
+
+#: fdisk/cfdisk.c:2254 fdisk/cfdisk.c:2357
+msgid "Sectors"
+msgstr ""
+
+#: fdisk/cfdisk.c:2254
+msgid "Print the table ordered by sectors"
+msgstr ""
+
+#: fdisk/cfdisk.c:2255
+msgid "Table"
+msgstr ""
+
+#: fdisk/cfdisk.c:2255
+msgid "Just print the partition table"
+msgstr ""
+
+#: fdisk/cfdisk.c:2256
+msgid "Don't print the table"
+msgstr ""
+
+#: fdisk/cfdisk.c:2284
+msgid "Help Screen for cfdisk"
+msgstr ""
+
+#: fdisk/cfdisk.c:2286
+msgid "This is cfdisk, a curses based disk partitioning program, which"
+msgstr ""
+
+#: fdisk/cfdisk.c:2287
+msgid "allows you to create, delete and modify partitions on your hard"
+msgstr ""
+
+#: fdisk/cfdisk.c:2288
+msgid "disk drive."
+msgstr ""
+
+#: fdisk/cfdisk.c:2290
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr ""
+
+#: fdisk/cfdisk.c:2292
+msgid "Command      Meaning"
+msgstr ""
+
+#: fdisk/cfdisk.c:2293
+msgid "-------      -------"
+msgstr ""
+
+#: fdisk/cfdisk.c:2294
+msgid "  b          Toggle bootable flag of the current partition"
+msgstr ""
+
+#: fdisk/cfdisk.c:2295
+msgid "  d          Delete the current partition"
+msgstr ""
+
+#: fdisk/cfdisk.c:2296
+msgid "  g          Change cylinders, heads, sectors-per-track parameters"
+msgstr ""
+
+#: fdisk/cfdisk.c:2297
+msgid "             WARNING: This option should only be used by people who"
+msgstr ""
+
+#: fdisk/cfdisk.c:2298
+msgid "             know what they are doing."
+msgstr ""
+
+#: fdisk/cfdisk.c:2299
+msgid "  h          Print this screen"
+msgstr ""
+
+#: fdisk/cfdisk.c:2300
+msgid "  m          Maximize disk usage of the current partition"
+msgstr ""
+
+#: fdisk/cfdisk.c:2301
+msgid "             Note: This may make the partition incompatible with"
+msgstr ""
+
+#: fdisk/cfdisk.c:2302
+msgid "             DOS, OS/2, ..."
+msgstr ""
+
+#: fdisk/cfdisk.c:2303
+msgid "  n          Create new partition from free space"
+msgstr ""
+
+#: fdisk/cfdisk.c:2304
+msgid "  p          Print partition table to the screen or to a file"
+msgstr ""
+
+#: fdisk/cfdisk.c:2305
+msgid "             There are several different formats for the partition"
+msgstr ""
+
+#: fdisk/cfdisk.c:2306
+msgid "             that you can choose from:"
+msgstr ""
+
+#: fdisk/cfdisk.c:2307
+msgid "                r - Raw data (exactly what would be written to disk)"
+msgstr ""
+
+#: fdisk/cfdisk.c:2308
+msgid "                s - Table ordered by sectors"
+msgstr ""
+
+#: fdisk/cfdisk.c:2309
+msgid "                t - Table in raw format"
+msgstr ""
+
+#: fdisk/cfdisk.c:2310
+msgid "  q          Quit program without writing partition table"
+msgstr ""
+
+#: fdisk/cfdisk.c:2311
+msgid "  t          Change the filesystem type"
+msgstr ""
+
+#: fdisk/cfdisk.c:2312
+msgid "  u          Change units of the partition size display"
+msgstr ""
+
+#: fdisk/cfdisk.c:2313
+msgid "             Rotates through MB, sectors and cylinders"
+msgstr ""
+
+#: fdisk/cfdisk.c:2314
+msgid "  W          Write partition table to disk (must enter upper case W)"
+msgstr ""
+
+#: fdisk/cfdisk.c:2315
+msgid "             Since this might destroy data on the disk, you must"
+msgstr ""
+
+#: fdisk/cfdisk.c:2316
+msgid "             either confirm or deny the write by entering `yes' or"
+msgstr ""
+
+#: fdisk/cfdisk.c:2317
+msgid "             `no'"
+msgstr ""
+
+#: fdisk/cfdisk.c:2318
+msgid "Up Arrow     Move cursor to the previous partition"
+msgstr ""
+
+#: fdisk/cfdisk.c:2319
+msgid "Down Arrow   Move cursor to the next partition"
+msgstr ""
+
+#: fdisk/cfdisk.c:2320
+msgid "CTRL-L       Redraws the screen"
+msgstr ""
+
+#: fdisk/cfdisk.c:2321
+msgid "  ?          Print this screen"
+msgstr ""
+
+#: fdisk/cfdisk.c:2323
+msgid "Note: All of the commands can be entered with either upper or lower"
+msgstr ""
+
+#: fdisk/cfdisk.c:2324
+msgid "case letters (except for Writes)."
+msgstr ""
+
+#: fdisk/cfdisk.c:2355 fdisk/fdisksunlabel.c:237
+msgid "Cylinders"
+msgstr ""
+
+#: fdisk/cfdisk.c:2355
+msgid "Change cylinder geometry"
+msgstr ""
+
+#: fdisk/cfdisk.c:2356 fdisk/fdisksunlabel.c:235
+msgid "Heads"
+msgstr ""
+
+#: fdisk/cfdisk.c:2356
+msgid "Change head geometry"
+msgstr ""
+
+#: fdisk/cfdisk.c:2357
+msgid "Change sector geometry"
+msgstr ""
+
+#: fdisk/cfdisk.c:2358
+msgid "Done"
+msgstr ""
+
+#: fdisk/cfdisk.c:2358
+msgid "Done with changing geometry"
+msgstr ""
+
+#: fdisk/cfdisk.c:2371
+msgid "Enter the number of cylinders: "
+msgstr ""
+
+#: fdisk/cfdisk.c:2382 fdisk/cfdisk.c:2953
+msgid "Illegal cylinders value"
+msgstr ""
+
+#: fdisk/cfdisk.c:2388
+msgid "Enter the number of heads: "
+msgstr ""
+
+#: fdisk/cfdisk.c:2395 fdisk/cfdisk.c:2963
+msgid "Illegal heads value"
+msgstr ""
+
+#: fdisk/cfdisk.c:2401
+msgid "Enter the number of sectors per track: "
+msgstr ""
+
+#: fdisk/cfdisk.c:2408 fdisk/cfdisk.c:2970
+msgid "Illegal sectors value"
+msgstr ""
+
+#: fdisk/cfdisk.c:2511
+msgid "Enter filesystem type: "
+msgstr ""
+
+#: fdisk/cfdisk.c:2529
+msgid "Cannot change FS Type to empty"
+msgstr ""
+
+#: fdisk/cfdisk.c:2531
+msgid "Cannot change FS Type to extended"
+msgstr ""
+
+#: fdisk/cfdisk.c:2562
+#, c-format
+msgid "Unk(%02X)"
+msgstr ""
+
+#: fdisk/cfdisk.c:2565 fdisk/cfdisk.c:2568
+msgid ", NC"
+msgstr ""
+
+#: fdisk/cfdisk.c:2573 fdisk/cfdisk.c:2576
+msgid "NC"
+msgstr ""
+
+#: fdisk/cfdisk.c:2584
+msgid "Pri/Log"
+msgstr ""
+
+#: fdisk/cfdisk.c:2591
+#, c-format
+msgid "Unknown (%02X)"
+msgstr ""
+
+#: fdisk/cfdisk.c:2660
+#, c-format
+msgid "Disk Drive: %s"
+msgstr ""
+
+#: fdisk/cfdisk.c:2667
+#, c-format
+msgid "Size: %lld bytes, %lld MB"
+msgstr ""
+
+#: fdisk/cfdisk.c:2670
+#, c-format
+msgid "Size: %lld bytes, %lld.%lld GB"
+msgstr ""
+
+#: fdisk/cfdisk.c:2674
+#, c-format
+msgid "Heads: %d   Sectors per Track: %d   Cylinders: %lld"
+msgstr ""
+
+#: fdisk/cfdisk.c:2678 login-utils/chfn.c:377
+msgid "Name"
+msgstr ""
+
+#: fdisk/cfdisk.c:2679
+msgid "Flags"
+msgstr ""
+
+#: fdisk/cfdisk.c:2680
+msgid "Part Type"
+msgstr ""
+
+#: fdisk/cfdisk.c:2681
+msgid "FS Type"
+msgstr ""
+
+#: fdisk/cfdisk.c:2682
+msgid "[Label]"
+msgstr ""
+
+#: fdisk/cfdisk.c:2684
+msgid "    Sectors"
+msgstr ""
+
+#: fdisk/cfdisk.c:2686
+msgid "  Cylinders"
+msgstr ""
+
+#: fdisk/cfdisk.c:2688
+msgid "  Size (MB)"
+msgstr ""
+
+#: fdisk/cfdisk.c:2690
+msgid "  Size (GB)"
+msgstr ""
+
+#: fdisk/cfdisk.c:2744
+msgid "Bootable"
+msgstr ""
+
+#: fdisk/cfdisk.c:2744
+msgid "Toggle bootable flag of the current partition"
+msgstr ""
+
+#: fdisk/cfdisk.c:2745
+msgid "Delete"
+msgstr ""
+
+#: fdisk/cfdisk.c:2745
+msgid "Delete the current partition"
+msgstr ""
+
+#: fdisk/cfdisk.c:2746
+msgid "Geometry"
+msgstr ""
+
+#: fdisk/cfdisk.c:2746
+msgid "Change disk geometry (experts only)"
+msgstr ""
+
+#: fdisk/cfdisk.c:2747
+msgid "Help"
+msgstr ""
+
+#: fdisk/cfdisk.c:2747
+msgid "Print help screen"
+msgstr ""
+
+#: fdisk/cfdisk.c:2748
+msgid "Maximize"
+msgstr ""
+
+#: fdisk/cfdisk.c:2748
+msgid "Maximize disk usage of the current partition (experts only)"
+msgstr ""
+
+#: fdisk/cfdisk.c:2749
+msgid "New"
+msgstr ""
+
+#: fdisk/cfdisk.c:2749
+msgid "Create new partition from free space"
+msgstr ""
+
+#: fdisk/cfdisk.c:2750
+msgid "Print"
+msgstr ""
+
+#: fdisk/cfdisk.c:2750
+msgid "Print partition table to the screen or to a file"
+msgstr ""
+
+#: fdisk/cfdisk.c:2751
+msgid "Quit"
+msgstr ""
+
+#: fdisk/cfdisk.c:2751
+msgid "Quit program without writing partition table"
+msgstr ""
+
+#: fdisk/cfdisk.c:2752
+msgid "Type"
+msgstr ""
+
+#: fdisk/cfdisk.c:2752
+msgid "Change the filesystem type (DOS, Linux, OS/2 and so on)"
+msgstr ""
+
+#: fdisk/cfdisk.c:2753
+msgid "Units"
+msgstr ""
+
+#: fdisk/cfdisk.c:2753
+msgid "Change units of the partition size display (MB, sect, cyl)"
+msgstr ""
+
+#: fdisk/cfdisk.c:2754
+msgid "Write"
+msgstr ""
+
+#: fdisk/cfdisk.c:2754
+msgid "Write partition table to disk (this might destroy data)"
+msgstr ""
+
+#: fdisk/cfdisk.c:2800
+msgid "Cannot make this partition bootable"
+msgstr ""
+
+#: fdisk/cfdisk.c:2810
+msgid "Cannot delete an empty partition"
+msgstr ""
+
+#: fdisk/cfdisk.c:2830 fdisk/cfdisk.c:2832
+msgid "Cannot maximize this partition"
+msgstr ""
+
+#: fdisk/cfdisk.c:2840
+msgid "This partition is unusable"
+msgstr ""
+
+#: fdisk/cfdisk.c:2842
+msgid "This partition is already in use"
+msgstr ""
+
+#: fdisk/cfdisk.c:2859
+msgid "Cannot change the type of an empty partition"
+msgstr ""
+
+#: fdisk/cfdisk.c:2886 fdisk/cfdisk.c:2892
+msgid "No more partitions"
+msgstr ""
+
+#: fdisk/cfdisk.c:2899
+msgid "Illegal command"
+msgstr ""
+
+#: fdisk/cfdisk.c:2909
+#, c-format
+msgid "Copyright (C) 1994-2002 Kevin E. Martin & aeb\n"
+msgstr ""
+
+#: fdisk/cfdisk.c:2916
+#, 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 ""
+
+#: fdisk/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 ""
+
+#: fdisk/fdiskbsdlabel.c:122
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:129 fdisk/fdisk.c:386 fdisk/fdisk.c:405
+#: fdisk/fdisk.c:423 fdisk/fdisk.c:430 fdisk/fdisk.c:453 fdisk/fdisk.c:471
+#: fdisk/fdisk.c:487 fdisk/fdisk.c:503
+msgid "Command action"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:130
+msgid "   d   delete a BSD partition"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:131
+msgid "   e   edit drive data"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:132
+msgid "   i   install bootstrap"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:133
+msgid "   l   list known filesystem types"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:134 fdisk/fdisk.c:392 fdisk/fdisk.c:411
+#: fdisk/fdisk.c:424 fdisk/fdisk.c:436 fdisk/fdisk.c:461 fdisk/fdisk.c:478
+#: fdisk/fdisk.c:494 fdisk/fdisk.c:512
+msgid "   m   print this menu"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:135
+msgid "   n   add a new BSD partition"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:136
+msgid "   p   print BSD partition table"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:137 fdisk/fdisk.c:396 fdisk/fdisk.c:415
+#: fdisk/fdisk.c:426 fdisk/fdisk.c:440 fdisk/fdisk.c:463 fdisk/fdisk.c:480
+#: fdisk/fdisk.c:496 fdisk/fdisk.c:514
+msgid "   q   quit without saving changes"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:138 fdisk/fdisk.c:464 fdisk/fdisk.c:481
+#: fdisk/fdisk.c:497 fdisk/fdisk.c:515
+msgid "   r   return to main menu"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:139
+msgid "   s   show complete disklabel"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:140
+msgid "   t   change a partition's filesystem id"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:141
+msgid "   u   change units (cylinders/sectors)"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:142
+msgid "   w   write disklabel to disk"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:144
+msgid "   x   link BSD partition to non-BSD partition"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:176
+#, c-format
+msgid "Partition %s has invalid starting sector 0.\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:180
+#, c-format
+msgid "Reading disklabel of %s at sector %d.\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:190
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:204
+msgid "BSD disklabel command (m for help): "
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:284 fdisk/fdisk.c:2052 fdisk/fdisksgilabel.c:651
+#: fdisk/fdisksunlabel.c:431
+#, c-format
+msgid "First %s"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:291 fdisk/fdisksunlabel.c:488
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:318
+#, c-format
+msgid "type: %s\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:320
+#, c-format
+msgid "type: %d\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:321
+#, c-format
+msgid "disk: %.*s\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:322
+#, c-format
+msgid "label: %.*s\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:323
+#, c-format
+msgid "flags:"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:325
+#, c-format
+msgid " removable"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:327
+#, c-format
+msgid " ecc"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:329
+#, c-format
+msgid " badsect"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:333
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:334
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:335
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:336
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:337
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:338
+#, c-format
+msgid "rpm: %d\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:339
+#, c-format
+msgid "interleave: %d\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:340
+#, c-format
+msgid "trackskew: %d\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:341
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:342
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:344
+#, c-format
+msgid "track-to-track seek: %ld\t# milliseconds\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:346
+#, c-format
+msgid "drivedata: "
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:355
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:356
+#, c-format
+msgid "#       start       end      size     fstype   [fsize bsize   cpg]\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:405 fdisk/fdiskbsdlabel.c:408
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:420 fdisk/fdiskbsdlabel.c:422
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:427
+msgid "Do you want to create a disklabel? (y/n) "
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:467
+msgid "bytes/sector"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:468
+msgid "sectors/track"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:469
+msgid "tracks/cylinder"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:470 fdisk/fdisk.c:648 fdisk/fdisk.c:1357
+#: fdisk/sfdisk.c:945
+msgid "cylinders"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:477
+msgid "sectors/cylinder"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:481
+#, c-format
+msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:483
+msgid "rpm"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:484
+msgid "interleave"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:485
+msgid "trackskew"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:486
+msgid "cylinderskew"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:487
+msgid "headswitch"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:488
+msgid "track-to-track seek"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:529
+#, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:554
+#, c-format
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:575 fdisk/fdiskbsdlabel.c:577
+#, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:599
+#, c-format
+msgid "Partition (a-%c): "
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:618 fdisk/fdisk.c:2199
+#, c-format
+msgid "The maximum number of partitions has been created\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:630
+#, c-format
+msgid "This partition already exists.\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:757
+#, c-format
+msgid "Warning: too many partitions (%d, maximum is %d).\n"
+msgstr ""
+
+#: fdisk/fdiskbsdlabel.c:805
+#, c-format
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:244
+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/fdisk.c:256
+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/fdisk.c:265
+#, c-format
+msgid "Unable to open %s\n"
+msgstr ""
+
+#: fdisk/fdisk.c:269
+#, c-format
+msgid "Unable to read %s\n"
+msgstr ""
+
+#: fdisk/fdisk.c:273
+#, c-format
+msgid "Unable to seek on %s\n"
+msgstr ""
+
+#: fdisk/fdisk.c:277
+#, c-format
+msgid "Unable to write %s\n"
+msgstr ""
+
+#: fdisk/fdisk.c:281
+#, c-format
+msgid "BLKGETSIZE ioctl failed on %s\n"
+msgstr ""
+
+#: fdisk/fdisk.c:285
+msgid "Unable to allocate any more memory\n"
+msgstr ""
+
+#: fdisk/fdisk.c:288
+msgid "Fatal error\n"
+msgstr ""
+
+#: fdisk/fdisk.c:387
+msgid "   a   toggle a read only flag"
+msgstr ""
+
+#: fdisk/fdisk.c:388 fdisk/fdisk.c:432
+msgid "   b   edit bsd disklabel"
+msgstr ""
+
+#: fdisk/fdisk.c:389
+msgid "   c   toggle the mountable flag"
+msgstr ""
+
+#: fdisk/fdisk.c:390 fdisk/fdisk.c:409 fdisk/fdisk.c:434
+msgid "   d   delete a partition"
+msgstr ""
+
+#: fdisk/fdisk.c:391 fdisk/fdisk.c:410 fdisk/fdisk.c:435
+msgid "   l   list known partition types"
+msgstr ""
+
+#: fdisk/fdisk.c:393 fdisk/fdisk.c:412 fdisk/fdisk.c:437
+msgid "   n   add a new partition"
+msgstr ""
+
+#: fdisk/fdisk.c:394 fdisk/fdisk.c:413 fdisk/fdisk.c:425 fdisk/fdisk.c:438
+msgid "   o   create a new empty DOS partition table"
+msgstr ""
+
+#: fdisk/fdisk.c:395 fdisk/fdisk.c:414 fdisk/fdisk.c:439 fdisk/fdisk.c:462
+#: fdisk/fdisk.c:479 fdisk/fdisk.c:495 fdisk/fdisk.c:513
+msgid "   p   print the partition table"
+msgstr ""
+
+#: fdisk/fdisk.c:397 fdisk/fdisk.c:416 fdisk/fdisk.c:427 fdisk/fdisk.c:441
+msgid "   s   create a new empty Sun disklabel"
+msgstr ""
+
+#: fdisk/fdisk.c:398 fdisk/fdisk.c:417 fdisk/fdisk.c:442
+msgid "   t   change a partition's system id"
+msgstr ""
+
+#: fdisk/fdisk.c:399 fdisk/fdisk.c:418 fdisk/fdisk.c:443
+msgid "   u   change display/entry units"
+msgstr ""
+
+#: fdisk/fdisk.c:400 fdisk/fdisk.c:419 fdisk/fdisk.c:444 fdisk/fdisk.c:466
+#: fdisk/fdisk.c:483 fdisk/fdisk.c:499 fdisk/fdisk.c:517
+msgid "   v   verify the partition table"
+msgstr ""
+
+#: fdisk/fdisk.c:401 fdisk/fdisk.c:420 fdisk/fdisk.c:445 fdisk/fdisk.c:467
+#: fdisk/fdisk.c:484 fdisk/fdisk.c:500 fdisk/fdisk.c:518
+msgid "   w   write table to disk and exit"
+msgstr ""
+
+#: fdisk/fdisk.c:402 fdisk/fdisk.c:446
+msgid "   x   extra functionality (experts only)"
+msgstr ""
+
+#: fdisk/fdisk.c:406
+msgid "   a   select bootable partition"
+msgstr ""
+
+#: fdisk/fdisk.c:407
+msgid "   b   edit bootfile entry"
+msgstr ""
+
+#: fdisk/fdisk.c:408
+msgid "   c   select sgi swap partition"
+msgstr ""
+
+#: fdisk/fdisk.c:431
+msgid "   a   toggle a bootable flag"
+msgstr ""
+
+#: fdisk/fdisk.c:433
+msgid "   c   toggle the dos compatibility flag"
+msgstr ""
+
+#: fdisk/fdisk.c:454
+msgid "   a   change number of alternate cylinders"
+msgstr ""
+
+#: fdisk/fdisk.c:455 fdisk/fdisk.c:473 fdisk/fdisk.c:489 fdisk/fdisk.c:505
+msgid "   c   change number of cylinders"
+msgstr ""
+
+#: fdisk/fdisk.c:456 fdisk/fdisk.c:474 fdisk/fdisk.c:490 fdisk/fdisk.c:506
+msgid "   d   print the raw data in the partition table"
+msgstr ""
+
+#: fdisk/fdisk.c:457
+msgid "   e   change number of extra sectors per cylinder"
+msgstr ""
+
+#: fdisk/fdisk.c:458 fdisk/fdisk.c:477 fdisk/fdisk.c:493 fdisk/fdisk.c:510
+msgid "   h   change number of heads"
+msgstr ""
+
+#: fdisk/fdisk.c:459
+msgid "   i   change interleave factor"
+msgstr ""
+
+#: fdisk/fdisk.c:460
+msgid "   o   change rotation speed (rpm)"
+msgstr ""
+
+#: fdisk/fdisk.c:465 fdisk/fdisk.c:482 fdisk/fdisk.c:498 fdisk/fdisk.c:516
+msgid "   s   change number of sectors/track"
+msgstr ""
+
+#: fdisk/fdisk.c:468
+msgid "   y   change number of physical cylinders"
+msgstr ""
+
+#: fdisk/fdisk.c:472 fdisk/fdisk.c:488 fdisk/fdisk.c:504
+msgid "   b   move beginning of data in a partition"
+msgstr ""
+
+#: fdisk/fdisk.c:475 fdisk/fdisk.c:491 fdisk/fdisk.c:507
+msgid "   e   list extended partitions"
+msgstr ""
+
+#: fdisk/fdisk.c:476 fdisk/fdisk.c:492 fdisk/fdisk.c:509
+msgid "   g   create an IRIX (SGI) partition table"
+msgstr ""
+
+#: fdisk/fdisk.c:508
+msgid "   f   fix partition order"
+msgstr ""
+
+#: fdisk/fdisk.c:511
+msgid "   i   change the disk identifier"
+msgstr ""
+
+#: fdisk/fdisk.c:627
+#, c-format
+msgid "You must set"
+msgstr ""
+
+#: fdisk/fdisk.c:644
+msgid "heads"
+msgstr ""
+
+#: fdisk/fdisk.c:646 fdisk/fdisk.c:1357 fdisk/sfdisk.c:945
+msgid "sectors"
+msgstr ""
+
+#: fdisk/fdisk.c:652
+#, c-format
+msgid ""
+"%s%s.\n"
+"You can do this from the extra functions menu.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:653
+msgid " and "
+msgstr ""
+
+#: fdisk/fdisk.c:670
+#, c-format
+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 ""
+
+#: fdisk/fdisk.c:683
+#, 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 %d-byte sectors. Use parted(1) and GUID \n"
+"partition table format (GPT).\n"
+"\n"
+msgstr ""
+
+#: fdisk/fdisk.c:708
+#, c-format
+msgid "Bad offset in primary extended partition\n"
+msgstr ""
+
+#: fdisk/fdisk.c:722
+#, c-format
+msgid ""
+"Warning: omitting partitions after #%d.\n"
+"They will be deleted if you save this partition table.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:741
+#, c-format
+msgid "Warning: extra link pointer in partition table %d\n"
+msgstr ""
+
+#: fdisk/fdisk.c:749
+#, c-format
+msgid "Warning: ignoring extra data in partition table %d\n"
+msgstr ""
+
+#: fdisk/fdisk.c:782
+#, c-format
+msgid "omitting empty partition (%d)\n"
+msgstr ""
+
+#: fdisk/fdisk.c:801
+#, c-format
+msgid "Disk identifier: 0x%08x\n"
+msgstr ""
+
+#: fdisk/fdisk.c:810
+#, c-format
+msgid "New disk identifier (current 0x%08x): "
+msgstr ""
+
+#: fdisk/fdisk.c:829
+#, c-format
+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 ""
+
+#: fdisk/fdisk.c:861
+#, c-format
+msgid "Note: sector size is %d (not %d)\n"
+msgstr ""
+
+#: fdisk/fdisk.c:990
+#, c-format
+msgid "You will not be able to write the partition table.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1022
+#, c-format
+msgid ""
+"This disk has both DOS and BSD magic.\n"
+"Give the 'b' command to go to BSD mode.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1032
+#, c-format
+msgid ""
+"Device contains neither a valid DOS partition table, nor Sun, SGI or OSF "
+"disklabel\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1049
+#, c-format
+msgid "Internal error\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1062
+#, c-format
+msgid "Ignoring extra extended partition %d\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1074
+#, c-format
+msgid ""
+"Warning: invalid flag 0x%04x of partition table %d will be corrected by w"
+"(rite)\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1096
+#, c-format
+msgid ""
+"\n"
+"got EOF thrice - exiting..\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1135
+msgid "Hex code (type L to list codes): "
+msgstr ""
+
+#: fdisk/fdisk.c:1175
+#, c-format
+msgid "%s (%u-%u, default %u): "
+msgstr ""
+
+#: fdisk/fdisk.c:1242
+#, c-format
+msgid "Unsupported suffix: '%s'.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1243
+#, c-format
+msgid ""
+"Supported: 10^N: KB (KiloByte), MB (MegaByte), GB (GigaByte)\n"
+"            2^N: K  (KibiByte), M  (MebiByte), G  (GibiByte)\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1269
+#, c-format
+msgid "Using default value %u\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1273
+#, c-format
+msgid "Value out of range.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1283
+msgid "Partition number"
+msgstr ""
+
+#: fdisk/fdisk.c:1294
+#, c-format
+msgid "Warning: partition %d has empty type\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1316 fdisk/fdisk.c:1342
+#, c-format
+msgid "Selected partition %d\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1319
+#, c-format
+msgid "No partition is defined yet!\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1345
+#, c-format
+msgid "All primary partitions have been defined already!\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1355
+msgid "cylinder"
+msgstr ""
+
+#: fdisk/fdisk.c:1355
+msgid "sector"
+msgstr ""
+
+#: fdisk/fdisk.c:1364
+#, c-format
+msgid "Changing display/entry units to %s\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1375
+#, c-format
+msgid "WARNING: Partition %d is an extended partition\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1386
+#, c-format
+msgid "DOS Compatibility flag is set\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1390
+#, c-format
+msgid "DOS Compatibility flag is not set\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1490
+#, c-format
+msgid "Partition %d does not exist yet!\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1495
+#, 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 ""
+
+#: fdisk/fdisk.c:1504
+#, c-format
+msgid ""
+"You cannot change a partition into an extended one or vice versa\n"
+"Delete it first.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1513
+#, 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 ""
+
+#: fdisk/fdisk.c:1519
+#, 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 ""
+
+#: fdisk/fdisk.c:1536
+#, c-format
+msgid "Changed system type of partition %d to %x (%s)\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1539
+#, c-format
+msgid "System type of partition %d is unchanged: %x (%s)\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1591
+#, c-format
+msgid "Partition %d has different physical/logical beginnings (non-Linux?):\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1593 fdisk/fdisk.c:1601 fdisk/fdisk.c:1610 fdisk/fdisk.c:1620
+#, c-format
+msgid "     phys=(%d, %d, %d) "
+msgstr ""
+
+#: fdisk/fdisk.c:1594 fdisk/fdisk.c:1602
+#, c-format
+msgid "logical=(%d, %d, %d)\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1599
+#, c-format
+msgid "Partition %d has different physical/logical endings:\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1608
+#, c-format
+msgid "Partition %i does not start on cylinder boundary:\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1611
+#, c-format
+msgid "should be (%d, %d, 1)\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1617
+#, c-format
+msgid "Partition %i does not end on cylinder boundary.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1621
+#, c-format
+msgid "should be (%d, %d, %d)\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1633
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld MB, %lld bytes\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1637
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %ld.%ld GB, %lld bytes\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1640
+#, c-format
+msgid "%d heads, %llu sectors/track, %d cylinders"
+msgstr ""
+
+#: fdisk/fdisk.c:1643
+#, c-format
+msgid ", total %llu sectors"
+msgstr ""
+
+#: fdisk/fdisk.c:1646
+#, c-format
+msgid "Units = %s of %d * %d = %d bytes\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1757
+#, c-format
+msgid ""
+"Nothing to do. Ordering is correct already.\n"
+"\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1785
+#, fuzzy, c-format
+msgid "Done.\n"
+msgstr "完成\n"
+
+#: fdisk/fdisk.c:1813
+#, c-format
+msgid ""
+"This doesn't look like a partition table\n"
+"Probably you selected the wrong device.\n"
+"\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1826
+#, c-format
+msgid "%*s Boot      Start         End      Blocks   Id  System\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1827 fdisk/fdisksgilabel.c:223 fdisk/fdisksunlabel.c:603
+msgid "Device"
+msgstr ""
+
+#: fdisk/fdisk.c:1864
+#, c-format
+msgid ""
+"\n"
+"Partition table entries are not in disk order\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1874
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %llu sectors, %d cylinders\n"
+"\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1876
+#, c-format
+msgid "Nr AF  Hd Sec  Cyl  Hd Sec  Cyl     Start      Size ID\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1922
+#, c-format
+msgid "Warning: partition %d contains sector 0\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1925
+#, c-format
+msgid "Partition %d: head %d greater than maximum %d\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1928
+#, c-format
+msgid "Partition %d: sector %d greater than maximum %llu\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1931
+#, c-format
+msgid "Partitions %d: cylinder %d greater than maximum %d\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1935
+#, c-format
+msgid "Partition %d: previous sectors %d disagrees with total %d\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1968
+#, c-format
+msgid "Warning: bad start-of-data in partition %d\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1976
+#, c-format
+msgid "Warning: partition %d overlaps partition %d.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:1996
+#, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2001
+#, c-format
+msgid "Logical partition %d not entirely in partition %d\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2007
+#, c-format
+msgid "Total allocated sectors %llu greater than the maximum %llu\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2010
+#, c-format
+msgid "%lld unallocated %d-byte sectors\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2025 fdisk/fdisksgilabel.c:633 fdisk/fdisksunlabel.c:416
+#, c-format
+msgid "Partition %d is already defined.  Delete it before re-adding it.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2067
+#, c-format
+msgid "Sector %llu is already allocated\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2103
+#, c-format
+msgid "No free sectors available\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2112
+#, c-format
+msgid "Last %1$s, +%2$s or +size{K,M,G}"
+msgstr ""
+
+#: fdisk/fdisk.c:2178
+#, 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 ""
+
+#: fdisk/fdisk.c:2187
+#, 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 ""
+
+#: fdisk/fdisk.c:2207
+#, c-format
+msgid "You must delete some partition and add an extended partition first\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2210
+#, c-format
+msgid "All logical partitions are in use\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2211
+#, c-format
+msgid "Adding a primary partition\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2216
+#, c-format
+msgid ""
+"Command action\n"
+"   %s\n"
+"   p   primary partition (1-4)\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2218
+msgid "l   logical (5 or over)"
+msgstr ""
+
+#: fdisk/fdisk.c:2218
+msgid "e   extended"
+msgstr ""
+
+#: fdisk/fdisk.c:2237
+#, c-format
+msgid "Invalid partition number for type `%c'\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2273
+#, c-format
+msgid ""
+"The partition table has been altered!\n"
+"\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2287
+#, c-format
+msgid "Calling ioctl() to re-read partition table.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2296
+#, c-format
+msgid ""
+"\n"
+"WARNING: Re-reading the partition table failed with error %d: %s.\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 ""
+
+#: fdisk/fdisk.c:2304
+#, 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 ""
+
+#: fdisk/fdisk.c:2310
+#, c-format
+msgid ""
+"\n"
+"Error closing file\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2314
+#, c-format
+msgid "Syncing disks.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2361
+#, c-format
+msgid "Partition %d has no data area\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2366
+msgid "New beginning of data"
+msgstr ""
+
+#: fdisk/fdisk.c:2382
+msgid "Expert command (m for help): "
+msgstr ""
+
+#: fdisk/fdisk.c:2395
+msgid "Number of cylinders"
+msgstr ""
+
+#: fdisk/fdisk.c:2422
+msgid "Number of heads"
+msgstr ""
+
+#: fdisk/fdisk.c:2449
+msgid "Number of sectors"
+msgstr ""
+
+#: fdisk/fdisk.c:2452
+#, c-format
+msgid "Warning: setting sector offset for DOS compatiblity\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2511
+#, 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 ""
+
+#: fdisk/fdisk.c:2533
+#, c-format
+msgid "Disk %s doesn't contain a valid partition table\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2544
+#, c-format
+msgid "Cannot open %s\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2563 fdisk/sfdisk.c:2618
+#, c-format
+msgid "cannot open %s\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2583
+#, c-format
+msgid "%c: unknown command\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2653
+#, c-format
+msgid "This kernel finds the sector size itself - -b option ignored\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2657
+#, c-format
+msgid ""
+"Warning: the -b (set sector size) option should be used with one specified "
+"device\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2717
+#, c-format
+msgid "Detected an OSF/1 disklabel on %s, entering disklabel mode.\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2727
+msgid "Command (m for help): "
+msgstr ""
+
+#: fdisk/fdisk.c:2743
+#, c-format
+msgid ""
+"\n"
+"The current boot file is: %s\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2745
+msgid "Please enter the name of the new boot file: "
+msgstr ""
+
+#: fdisk/fdisk.c:2747
+#, c-format
+msgid "Boot file unchanged\n"
+msgstr ""
+
+#: fdisk/fdisk.c:2820
+#, c-format
+msgid ""
+"\n"
+"\tSorry, no experts menu for SGI partition tables available.\n"
+"\n"
+msgstr ""
+
+#: fdisk/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 ""
+
+#: fdisk/fdisksgilabel.c:81
+msgid "SGI volhdr"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:82
+msgid "SGI trkrepl"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:83
+msgid "SGI secrepl"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:84
+msgid "SGI raw"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:85
+msgid "SGI bsd"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:86
+msgid "SGI sysv"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:87
+msgid "SGI volume"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:88
+msgid "SGI efs"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:89
+msgid "SGI lvol"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:90
+msgid "SGI rlvol"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:91
+msgid "SGI xfs"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:92
+msgid "SGI xfslog"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:93
+msgid "SGI xlv"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:94
+msgid "SGI xvm"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:95 fdisk/fdisksunlabel.c:55
+msgid "Linux swap"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:96 fdisk/fdisksunlabel.c:56
+msgid "Linux native"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:97 fdisk/fdisksunlabel.c:57 fdisk/i386_sys_types.c:63
+msgid "Linux LVM"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:98
+msgid "Linux RAID"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:164
+#, c-format
+msgid ""
+"According to MIPS Computer Systems, Inc the Label must not contain more than "
+"512 bytes\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:183
+#, c-format
+msgid "Detected sgi disklabel with wrong checksum.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:201
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors\n"
+"%d cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * %d bytes\n"
+"\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:214
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %llu sectors, %d cylinders\n"
+"Units = %s of %d * %d bytes\n"
+"\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:221
+#, c-format
+msgid ""
+"----- partitions -----\n"
+"Pt# %*s  Info     Start       End   Sectors  Id  System\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:243
+#, c-format
+msgid ""
+"----- Bootinfo -----\n"
+"Bootfile: %s\n"
+"----- Directory Entries -----\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:251
+#, c-format
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:305
+#, 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 ""
+
+#: fdisk/fdisksgilabel.c:311
+#, c-format
+msgid ""
+"\n"
+"\tName of Bootfile too long:  16 bytes maximum.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:316
+#, c-format
+msgid ""
+"\n"
+"\tBootfile must have a fully qualified pathname.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:323
+#, 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 ""
+
+#: fdisk/fdisksgilabel.c:349
+#, c-format
+msgid ""
+"\n"
+"\tBootfile is changed to \"%s\".\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:439
+#, c-format
+msgid "More than one entire disk entry present.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:446 fdisk/fdisksunlabel.c:388
+#, c-format
+msgid "No partitions defined\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:452
+#, c-format
+msgid "IRIX likes when Partition 11 covers the entire disk.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:454
+#, c-format
+msgid ""
+"The entire disk partition should start at block 0,\n"
+"not at diskblock %d.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:460
+#, c-format
+msgid ""
+"The entire disk partition is only %d diskblock large,\n"
+"but the disk is %d diskblocks long.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:466
+#, c-format
+msgid "One Partition (#11) should cover the entire disk.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:476
+#, c-format
+msgid "Partition %d does not start on cylinder boundary.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:482
+#, c-format
+msgid "Partition %d does not end on cylinder boundary.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:489
+#, c-format
+msgid "The Partition %d and %d overlap by %d sectors.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:497 fdisk/fdisksgilabel.c:515
+#, c-format
+msgid "Unused gap of %8u sectors - sectors %8u-%u\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:526
+#, c-format
+msgid ""
+"\n"
+"The boot partition does not exist.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:529
+#, c-format
+msgid ""
+"\n"
+"The swap partition does not exist.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:533
+#, c-format
+msgid ""
+"\n"
+"The swap partition has no swap type.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:536
+#, c-format
+msgid "\tYou have chosen an unusual boot file name.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:545
+#, c-format
+msgid "Sorry You may change the Tag of non-empty partitions.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:551
+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 ""
+
+#: fdisk/fdisksgilabel.c:556 fdisk/fdisksunlabel.c:554
+msgid "YES\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:581
+#, c-format
+msgid "Do You know, You got a partition overlap on the disk?\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:639
+#, c-format
+msgid "Attempting to generate entire disk entry automatically.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:644
+#, c-format
+msgid "The entire disk is already covered with partitions.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:648
+#, c-format
+msgid "You got a partition overlap on the disk. Fix it first!\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:657 fdisk/fdisksgilabel.c:686
+#, c-format
+msgid ""
+"It is highly recommended that eleventh partition\n"
+"covers the entire disk and is of type `SGI volume'\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:673
+#, c-format
+msgid "You will get a partition overlap on the disk. Fix it first!\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:678
+#, c-format
+msgid " Last %s"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:708
+#, c-format
+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 ""
+
+#: fdisk/fdisksgilabel.c:731 fdisk/fdisksunlabel.c:227
+#, c-format
+msgid ""
+"Warning:  BLKGETSIZE ioctl failed on %s.  Using geometry cylinder value of %"
+"d.\n"
+"This value may be truncated for devices > 33.8 GB.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:745
+#, c-format
+msgid "Trying to keep parameters of partition %d.\n"
+msgstr ""
+
+#: fdisk/fdisksgilabel.c:747
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:43
+msgid "Unassigned"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:45
+msgid "SunOS root"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:46
+msgid "SunOS swap"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:47
+msgid "SunOS usr"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:48
+msgid "Whole disk"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:49
+msgid "SunOS stand"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:50
+msgid "SunOS var"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:51
+msgid "SunOS home"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:52
+msgid "SunOS alt sectors"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:53
+msgid "SunOS cachefs"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:54
+msgid "SunOS reserved"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:58 fdisk/i386_sys_types.c:103
+msgid "Linux raid autodetect"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:141
+#, 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 ""
+
+#: fdisk/fdisksunlabel.c:153
+#, c-format
+msgid "Detected sun disklabel with wrong version [0x%08x].\n"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:158
+#, c-format
+msgid "Detected sun disklabel with wrong sanity [0x%08x].\n"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:163
+#, c-format
+msgid "Detected sun disklabel with wrong num_partitions [%u].\n"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:168
+#, c-format
+msgid ""
+"Warning: Wrong values need to be fixed up and will be corrected by w(rite)\n"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:198
+#, c-format
+msgid ""
+"Building a new sun disklabel. Changes will remain in memory only,\n"
+"until you decide to write them. After that, of course, the previous\n"
+"content won't be recoverable.\n"
+"\n"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:236
+msgid "Sectors/track"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:351
+#, c-format
+msgid "Partition %d doesn't end on cylinder boundary\n"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:371
+#, c-format
+msgid "Partition %d overlaps with others in sectors %d-%d\n"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:393
+#, c-format
+msgid "Unused gap - sectors 0-%d\n"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:395 fdisk/fdisksunlabel.c:401
+#, c-format
+msgid "Unused gap - sectors %d-%d\n"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:426
+#, c-format
+msgid ""
+"Other partitions already cover the whole disk.\n"
+"Delete some/shrink them before retry.\n"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:449
+#, c-format
+msgid ""
+"It is highly recommended that the third partition covers the whole disk\n"
+"and is of type `Whole disk'\n"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:477
+#, c-format
+msgid "Sector %d is already allocated\n"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:507
+#, 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 ""
+
+#: fdisk/fdisksunlabel.c:534
+#, 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 ""
+
+#: fdisk/fdisksunlabel.c:549
+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 ""
+
+#: fdisk/fdisksunlabel.c:581
+#, c-format
+msgid ""
+"\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"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:597
+#, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %d heads, %llu sectors, %d cylinders\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:602
+#, c-format
+msgid "%*s Flag    Start       End    Blocks   Id  System\n"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:630
+msgid "Number of alternate cylinders"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:642
+msgid "Extra sectors per cylinder"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:649
+msgid "Interleave factor"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:656
+msgid "Rotation speed (rpm)"
+msgstr ""
+
+#: fdisk/fdisksunlabel.c:663
+msgid "Number of physical cylinders"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:6
+msgid "Empty"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:7
+msgid "FAT12"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:8
+msgid "XENIX root"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:9
+msgid "XENIX usr"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:10
+msgid "FAT16 <32M"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:11
+msgid "Extended"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:12
+msgid "FAT16"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:13
+msgid "HPFS/NTFS"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:14
+msgid "AIX"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:17
+msgid "W95 FAT32"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:18
+msgid "W95 FAT32 (LBA)"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:19
+msgid "W95 FAT16 (LBA)"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:20
+msgid "W95 Ext'd (LBA)"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:21
+msgid "OPUS"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:22
+msgid "Hidden FAT12"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:23
+msgid "Compaq diagnostics"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:24
+msgid "Hidden FAT16 <32M"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:25
+msgid "Hidden FAT16"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:26
+msgid "Hidden HPFS/NTFS"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:27
+msgid "AST SmartSleep"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:28
+msgid "Hidden W95 FAT32"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:29
+msgid "Hidden W95 FAT32 (LBA)"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:30
+msgid "Hidden W95 FAT16 (LBA)"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:32
+msgid "Plan 9"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:33
+msgid "PartitionMagic recovery"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:34
+msgid "Venix 80286"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:35
+msgid "PPC PReP Boot"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:36
+msgid "SFS"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:37
+msgid "QNX4.x"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:38
+msgid "QNX4.x 2nd part"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:39
+msgid "QNX4.x 3rd part"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:40
+msgid "OnTrack DM"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:41
+msgid "OnTrack DM6 Aux1"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:42
+msgid "CP/M"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:43
+msgid "OnTrack DM6 Aux3"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:44
+msgid "OnTrackDM6"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:45
+msgid "EZ-Drive"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:46
+msgid "Golden Bow"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:47
+msgid "Priam Edisk"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:48 fdisk/i386_sys_types.c:92
+#: fdisk/i386_sys_types.c:98 fdisk/i386_sys_types.c:99
+msgid "SpeedStor"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:49
+msgid "GNU HURD or SysV"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:50
+msgid "Novell Netware 286"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:51
+msgid "Novell Netware 386"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:52
+msgid "DiskSecure Multi-Boot"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:53
+msgid "PC/IX"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:54
+msgid "Old Minix"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:55
+msgid "Minix / old Linux"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:56
+msgid "Linux swap / Solaris"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:58
+msgid "OS/2 hidden C: drive"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:59
+msgid "Linux extended"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:60 fdisk/i386_sys_types.c:61
+msgid "NTFS volume set"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:62
+msgid "Linux plaintext"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:64
+msgid "Amoeba"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:65
+msgid "Amoeba BBT"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:66
+msgid "BSD/OS"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:67
+msgid "IBM Thinkpad hibernation"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:68
+msgid "FreeBSD"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:69
+msgid "OpenBSD"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:70
+msgid "NeXTSTEP"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:71
+msgid "Darwin UFS"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:72
+msgid "NetBSD"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:73
+msgid "Darwin boot"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:74
+msgid "HFS / HFS+"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:75
+msgid "BSDI fs"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:76
+msgid "BSDI swap"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:77
+msgid "Boot Wizard hidden"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:78
+msgid "Solaris boot"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:79
+msgid "Solaris"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:80
+msgid "DRDOS/sec (FAT-12)"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:81
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:82
+msgid "DRDOS/sec (FAT-16)"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:83
+msgid "Syrinx"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:84
+msgid "Non-FS data"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:85
+msgid "CP/M / CTOS / ..."
+msgstr ""
+
+#: fdisk/i386_sys_types.c:87
+msgid "Dell Utility"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:88
+msgid "BootIt"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:89
+msgid "DOS access"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:91
+msgid "DOS R/O"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:94
+msgid "BeOS fs"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:95
+msgid "GPT"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:96
+msgid "EFI (FAT-12/16/32)"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:97
+msgid "Linux/PA-RISC boot"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:100
+msgid "DOS secondary"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:101
+msgid "VMware VMFS"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:102
+msgid "VMware VMKCORE"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:106
+msgid "LANstep"
+msgstr ""
+
+#: fdisk/i386_sys_types.c:107
+msgid "BBT"
+msgstr ""
+
+#: fdisk/sfdisk.c:179
+#, c-format
+msgid "seek error on %s - cannot seek to %lu\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:184
+#, c-format
+msgid "seek error: wanted 0x%08x%08x, got 0x%08x%08x\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:230
+msgid "out of memory - giving up\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:235 fdisk/sfdisk.c:318
+#, c-format
+msgid "read error on %s - cannot read sector %lu\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:253
+#, c-format
+msgid "ERROR: sector %lu does not have an msdos signature\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:268
+#, c-format
+msgid "write error on %s - cannot write sector %lu\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:306
+#, c-format
+msgid "cannot open partition sector save file (%s)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:324
+#, c-format
+msgid "write error on %s\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:350
+#, c-format
+msgid "cannot stat partition restore file (%s)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:355
+msgid "partition restore file has wrong size - not restoring\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:359
+msgid "out of memory?\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:365
+#, c-format
+msgid "cannot open partition restore file (%s)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:371
+#, c-format
+msgid "error reading %s\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:378
+#, c-format
+msgid "cannot open device %s for writing\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:390
+#, c-format
+msgid "error writing sector %lu on %s\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:455
+#, c-format
+msgid "Disk %s: cannot get geometry\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:472
+#, c-format
+msgid "Disk %s: cannot get size\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:505
+#, 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 ""
+
+#: fdisk/sfdisk.c:512
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu heads\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:515
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %lu sectors\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:519
+#, c-format
+msgid "Warning: BLKGETSIZE/HDIO_GETGEO says that there are %lu cylinders\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:524
+#, 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 ""
+
+#: fdisk/sfdisk.c:528
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %lu cylinders, %lu heads, %lu sectors/track\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:610
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for head: %lu (should be in 0-%lu)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:615
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for sector: %lu (should be in 1-%"
+"lu)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:620
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for cylinders: %lu (should be in 0-%"
+"lu)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:660
+#, c-format
+msgid ""
+"Id  Name\n"
+"\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:821
+#, c-format
+msgid "Re-reading the partition table ...\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:827
+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 ""
+
+#: fdisk/sfdisk.c:833
+#, c-format
+msgid "Error closing %s\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:871
+#, c-format
+msgid "%s: no such partition\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:894
+msgid "unrecognized format - using sectors\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:944
+#, c-format
+msgid "unimplemented format - using %s\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:948
+#, c-format
+msgid ""
+"Units = cylinders of %lu bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:951
+#, c-format
+msgid "   Device Boot Start     End   #cyls    #blocks   Id  System\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:956
+#, c-format
+msgid ""
+"Units = sectors of 512 bytes, counting from %d\n"
+"\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:958
+#, c-format
+msgid "   Device Boot    Start       End   #sectors  Id  System\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:961
+#, c-format
+msgid ""
+"Units = blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:963
+#, c-format
+msgid "   Device Boot   Start       End    #blocks   Id  System\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:966
+#, c-format
+msgid ""
+"Units = mebibytes of 1048576 bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:968
+#, c-format
+msgid "   Device Boot Start   End    MiB    #blocks   Id  System\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1128
+#, c-format
+msgid "\t\tstart: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1135
+#, c-format
+msgid "\t\tend: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1138
+#, c-format
+msgid "partition ends on cylinder %ld, beyond the end of the disk\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1148
+msgid "No partitions found\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1152
+#, 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 ""
+
+#: fdisk/sfdisk.c:1201
+msgid "no partition table present.\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1203
+#, c-format
+msgid "strange, only %d partitions defined.\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1212
+#, c-format
+msgid "Warning: partition %s has size 0 but is not marked Empty\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1215
+#, c-format
+msgid "Warning: partition %s has size 0 and is bootable\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1218
+#, c-format
+msgid "Warning: partition %s has size 0 and nonzero start\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1229
+#, c-format
+msgid "Warning: partition %s "
+msgstr ""
+
+#: fdisk/sfdisk.c:1230
+#, c-format
+msgid "is not contained in partition %s\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1241
+#, c-format
+msgid "Warning: partitions %s "
+msgstr ""
+
+#: fdisk/sfdisk.c:1242
+#, c-format
+msgid "and %s overlap\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1253
+#, c-format
+msgid ""
+"Warning: partition %s contains part of the partition table (sector %lu),\n"
+"and will destroy it when filled\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1265
+#, c-format
+msgid "Warning: partition %s starts at sector 0\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1269
+#, c-format
+msgid "Warning: partition %s extends past end of disk\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1284
+msgid ""
+"Among the primary partitions, at most one can be extended\n"
+" (although this is not a problem under Linux)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1302
+#, c-format
+msgid "Warning: partition %s does not start at a cylinder boundary\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1308
+#, c-format
+msgid "Warning: partition %s does not end at a cylinder boundary\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1326
+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 ""
+
+#: fdisk/sfdisk.c:1333
+msgid ""
+"Warning: usually one can boot from primary partitions only\n"
+"LILO disregards the `bootable' flag.\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1339
+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 ""
+
+#: fdisk/sfdisk.c:1353
+msgid "start"
+msgstr ""
+
+#: fdisk/sfdisk.c:1356
+#, c-format
+msgid ""
+"partition %s: start: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1362
+msgid "end"
+msgstr ""
+
+#: fdisk/sfdisk.c:1365
+#, c-format
+msgid "partition %s: end: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1368
+#, c-format
+msgid "partition %s ends on cylinder %ld, beyond the end of the disk\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1393
+#, c-format
+msgid ""
+"Warning: shifted start of the extd partition from %ld to %ld\n"
+"(For listing purposes only. Do not change its contents.)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1399
+msgid ""
+"Warning: extended partition does not start at a cylinder boundary.\n"
+"DOS and Linux will interpret the contents differently.\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1417 fdisk/sfdisk.c:1494
+#, c-format
+msgid "too many partitions - ignoring those past nr (%d)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1432
+msgid "tree of partitions?\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1540
+msgid "detected Disk Manager - unable to handle that\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1547
+msgid "DM6 signature found - giving up\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1567
+msgid "strange..., an extended partition of size 0?\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1574 fdisk/sfdisk.c:1585
+msgid "strange..., a BSD partition of size 0?\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1619
+#, c-format
+msgid " %s: unrecognized partition table type\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1631
+msgid "-n flag was given: Nothing changed\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1647
+msgid "Failed saving the old sectors - aborting\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1652
+#, c-format
+msgid "Failed writing the partition on %s\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1729
+msgid "long or incomplete input line - quitting\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1765
+#, c-format
+msgid "input error: `=' expected after %s field\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1772
+#, c-format
+msgid "input error: unexpected character %c after %s field\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1778
+#, c-format
+msgid "unrecognized input: %s\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1820
+msgid "number too big\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1824
+msgid "trailing junk after number\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1948
+msgid "no room for partition descriptor\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:1981
+msgid "cannot build surrounding extended partition\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2032
+msgid "too many input fields\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2066
+msgid "No room for more\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2085
+msgid "Illegal type\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2117
+#, c-format
+msgid "Warning: given size (%lu) exceeds max allowable size (%lu)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2123
+msgid "Warning: empty partition\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2137
+#, c-format
+msgid "Warning: bad partition start (earliest %lu)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2150
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2167 fdisk/sfdisk.c:2180
+msgid "partial c,h,s specification?\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2191
+msgid "Extended partition not where expected\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2223
+msgid "bad input\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2245
+msgid "too many partitions\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2278
+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 ""
+
+#: fdisk/sfdisk.c:2304
+#, c-format
+msgid "Usage: %s [options] device ...\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2305
+msgid "device: something like /dev/hda or /dev/sda"
+msgstr ""
+
+#: fdisk/sfdisk.c:2306
+msgid "useful options:"
+msgstr ""
+
+#: fdisk/sfdisk.c:2307
+msgid "    -s [or --show-size]: list size of a partition"
+msgstr ""
+
+#: fdisk/sfdisk.c:2308
+msgid "    -c [or --id]:        print or change partition Id"
+msgstr ""
+
+#: fdisk/sfdisk.c:2309
+msgid "    -l [or --list]:      list partitions of each device"
+msgstr ""
+
+#: fdisk/sfdisk.c:2310
+msgid "    -d [or --dump]:      idem, but in a format suitable for later input"
+msgstr ""
+
+#: fdisk/sfdisk.c:2311
+msgid "    -i [or --increment]: number cylinders etc. from 1 instead of from 0"
+msgstr ""
+
+#: fdisk/sfdisk.c:2312
+msgid ""
+"    -uS, -uB, -uC, -uM:  accept/report in units of sectors/blocks/cylinders/"
+"MB"
+msgstr ""
+
+#: fdisk/sfdisk.c:2313
+msgid "    -T [or --list-types]:list the known partition types"
+msgstr ""
+
+#: fdisk/sfdisk.c:2314
+msgid "    -D [or --DOS]:       for DOS-compatibility: waste a little space"
+msgstr ""
+
+#: fdisk/sfdisk.c:2315
+msgid "    -R [or --re-read]:   make kernel reread partition table"
+msgstr ""
+
+#: fdisk/sfdisk.c:2316
+msgid "    -N# :                change only the partition with number #"
+msgstr ""
+
+#: fdisk/sfdisk.c:2317
+msgid "    -n :                 do not actually write to disk"
+msgstr ""
+
+#: fdisk/sfdisk.c:2318
+msgid ""
+"    -O file :            save the sectors that will be overwritten to file"
+msgstr ""
+
+#: fdisk/sfdisk.c:2319
+msgid "    -I file :            restore these sectors again"
+msgstr ""
+
+#: fdisk/sfdisk.c:2320
+msgid "    -v [or --version]:   print version"
+msgstr ""
+
+#: fdisk/sfdisk.c:2321
+msgid "    -? [or --help]:      print this message"
+msgstr ""
+
+#: fdisk/sfdisk.c:2322
+msgid "dangerous options:"
+msgstr ""
+
+#: fdisk/sfdisk.c:2323
+msgid "    -g [or --show-geometry]: print the kernel's idea of the geometry"
+msgstr ""
+
+#: fdisk/sfdisk.c:2324
+msgid ""
+"    -G [or --show-pt-geometry]: print geometry guessed from the partition "
+"table"
+msgstr ""
+
+#: fdisk/sfdisk.c:2325
+msgid ""
+"    -x [or --show-extended]: also list extended partitions on output\n"
+"                             or expect descriptors for them on input"
+msgstr ""
+
+#: fdisk/sfdisk.c:2327
+msgid ""
+"    -L  [or --Linux]:      do not complain about things irrelevant for Linux"
+msgstr ""
+
+#: fdisk/sfdisk.c:2328
+msgid "    -q  [or --quiet]:      suppress warning messages"
+msgstr ""
+
+#: fdisk/sfdisk.c:2329
+msgid "    You can override the detected geometry using:"
+msgstr ""
+
+#: fdisk/sfdisk.c:2330
+msgid "    -C# [or --cylinders #]:set the number of cylinders to use"
+msgstr ""
+
+#: fdisk/sfdisk.c:2331
+msgid "    -H# [or --heads #]:    set the number of heads to use"
+msgstr ""
+
+#: fdisk/sfdisk.c:2332
+msgid "    -S# [or --sectors #]:  set the number of sectors to use"
+msgstr ""
+
+#: fdisk/sfdisk.c:2333
+msgid "You can disable all consistency checking with:"
+msgstr ""
+
+#: fdisk/sfdisk.c:2334
+msgid "    -f  [or --force]:      do what I say, even if it is stupid"
+msgstr ""
+
+#: fdisk/sfdisk.c:2340
+msgid "Usage:"
+msgstr ""
+
+#: fdisk/sfdisk.c:2341
+#, c-format
+msgid "%s device\t\t list active partitions on device\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2342
+#, c-format
+msgid "%s device n1 n2 ... activate partitions n1 ..., inactivate the rest\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2343
+#, c-format
+msgid "%s -An device\t activate partition n, inactivate the other ones\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2463
+#, 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 ""
+
+#: fdisk/sfdisk.c:2466
+#, c-format
+msgid "Use the --force flag to overrule this check.\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2505
+msgid "no command?\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2637
+#, c-format
+msgid "total: %llu blocks\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2680
+msgid "usage: sfdisk --print-id device partition-number\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2682
+msgid "usage: sfdisk --change-id device partition-number Id\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2684
+msgid "usage: sfdisk --id device partition-number [Id]\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2691
+msgid "can specify only one device (except with -l or -s)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2717
+#, c-format
+msgid "cannot open %s read-write\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2719
+#, c-format
+msgid "cannot open %s for reading\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2744
+#, c-format
+msgid "%s: OK\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2763 fdisk/sfdisk.c:2796
+#, c-format
+msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2815
+#, c-format
+msgid "Cannot get size of %s\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2895
+#, c-format
+msgid "bad active byte: 0x%x instead of 0x80\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2913 fdisk/sfdisk.c:2968 fdisk/sfdisk.c:3001
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2922
+#, 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 ""
+
+#: fdisk/sfdisk.c:2938
+#, c-format
+msgid "partition %s has id %x and is not hidden\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:2997
+#, c-format
+msgid "Bad Id %lx\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3014
+msgid "This disk is currently in use.\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3033
+#, c-format
+msgid "Fatal error: cannot find %s\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3036
+#, c-format
+msgid "Warning: %s is not a block device\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3042
+msgid "Checking that no-one is using this disk right now ...\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3044
+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 ""
+
+#: fdisk/sfdisk.c:3048
+msgid "Use the --force flag to overrule all checks.\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3052
+msgid "OK\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3061
+#, c-format
+msgid "Old situation:\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3065
+#, c-format
+msgid "Partition %d does not exist, cannot change it\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3073
+#, c-format
+msgid "New situation:\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3078
+msgid ""
+"I don't like these partitions - nothing changed.\n"
+"(If you really want this, use the --force option.)\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3081
+msgid "I don't like this - probably you should answer No\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3086
+#, c-format
+msgid "Are you satisfied with this? [ynq] "
+msgstr ""
+
+#: fdisk/sfdisk.c:3088
+#, c-format
+msgid "Do you want to write this to disk? [ynq] "
+msgstr ""
+
+#: fdisk/sfdisk.c:3093
+#, c-format
+msgid ""
+"\n"
+"sfdisk: premature end of input\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3095
+msgid "Quitting - nothing changed\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3101
+#, c-format
+msgid "Please answer one of y,n,q\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3109
+#, c-format
+msgid ""
+"Successfully wrote the new partition table\n"
+"\n"
+msgstr ""
+
+#: fdisk/sfdisk.c:3115
+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 ""
+
+#: fsck/fsck.c:327
+#, c-format
+msgid "WARNING: couldn't open %s: %s\n"
+msgstr ""
+
+#: fsck/fsck.c:337
+#, c-format
+msgid "WARNING: bad format on line %d of %s\n"
+msgstr ""
+
+#: fsck/fsck.c:353
+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 ""
+
+#: fsck/fsck.c:461
+#, c-format
+msgid "fsck: %s: not found\n"
+msgstr ""
+
+#: fsck/fsck.c:577
+#, c-format
+msgid "%s: wait: No more child process?!?\n"
+msgstr ""
+
+#: fsck/fsck.c:599
+#, c-format
+msgid "Warning... %s for device %s exited with signal %d.\n"
+msgstr ""
+
+#: fsck/fsck.c:605
+#, c-format
+msgid "%s %s: status is %x, should never happen.\n"
+msgstr ""
+
+#: fsck/fsck.c:644
+#, c-format
+msgid "Finished with %s (exit status %d)\n"
+msgstr ""
+
+#: fsck/fsck.c:704
+#, c-format
+msgid "%s: Error %d while executing fsck.%s for %s\n"
+msgstr ""
+
+#: fsck/fsck.c:725
+msgid ""
+"Either all or none of the filesystem types passed to -t must be prefixed\n"
+"with 'no' or '!'.\n"
+msgstr ""
+
+#: fsck/fsck.c:744
+msgid "Couldn't allocate memory for filesystem types\n"
+msgstr ""
+
+#: fsck/fsck.c:867
+#, c-format
+msgid ""
+"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass "
+"number\n"
+msgstr ""
+
+#: fsck/fsck.c:894
+#, c-format
+msgid "fsck: cannot check %s: fsck.%s not found\n"
+msgstr ""
+
+#: fsck/fsck.c:950
+msgid "Checking all file systems.\n"
+msgstr ""
+
+#: fsck/fsck.c:1041
+#, c-format
+msgid "--waiting-- (pass %d)\n"
+msgstr ""
+
+#: fsck/fsck.c:1061
+msgid ""
+"Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]\n"
+msgstr ""
+
+#: fsck/fsck.c:1099
+#, fuzzy, c-format
+msgid "%s: too many devices\n"
+msgstr "%s:不是一个块设备\n"
+
+#: fsck/fsck.c:1110
+#, c-format
+msgid "Couldn't open %s: %s\n"
+msgstr ""
+
+#: fsck/fsck.c:1112
+#, c-format
+msgid "Is /proc mounted?\n"
+msgstr ""
+
+#: fsck/fsck.c:1121
+#, c-format
+msgid "Must be root to scan for matching filesystems: %s\n"
+msgstr ""
+
+#: fsck/fsck.c:1124
+#, c-format
+msgid "Couldn't find matching filesystem: %s\n"
+msgstr ""
+
+#: fsck/fsck.c:1132 fsck/fsck.c:1218
+#, fuzzy, c-format
+msgid "%s: too many arguments\n"
+msgstr "%s 需要一个参数\n"
+
+#: fsck/fsck.c:1252
+#, c-format
+msgid "fsck from %s\n"
+msgstr ""
+
+#: fsck/fsck.c:1264
+#, fuzzy, c-format
+msgid "%s: Unable to allocate memory for fsck_path\n"
+msgstr "不能为 inodes 分配缓冲区"
+
+#: getopt/getopt.c:229
+msgid "Try `getopt --help' for more information.\n"
+msgstr ""
+
+#: getopt/getopt.c:295
+msgid "empty long option after -l or --long argument"
+msgstr ""
+
+#: getopt/getopt.c:315
+msgid "unknown shell after -s or --shell argument"
+msgstr ""
+
+#: getopt/getopt.c:320
+msgid "Usage: getopt optstring parameters\n"
+msgstr ""
+
+#: getopt/getopt.c:321
+msgid "       getopt [options] [--] optstring parameters\n"
+msgstr ""
+
+#: getopt/getopt.c:322
+msgid "       getopt [options] -o|--options optstring [options] [--]\n"
+msgstr ""
+
+#: getopt/getopt.c:323
+msgid "              parameters\n"
+msgstr ""
+
+#: getopt/getopt.c:324
+msgid ""
+"  -a, --alternative            Allow long options starting with single -\n"
+msgstr ""
+
+#: getopt/getopt.c:325
+msgid "  -h, --help                   This small usage guide\n"
+msgstr ""
+
+#: getopt/getopt.c:326
+msgid "  -l, --longoptions=longopts   Long options to be recognized\n"
+msgstr ""
+
+#: getopt/getopt.c:327
+msgid ""
+"  -n, --name=progname          The name under which errors are reported\n"
+msgstr ""
+
+#: getopt/getopt.c:328
+msgid "  -o, --options=optstring      Short options to be recognized\n"
+msgstr ""
+
+#: getopt/getopt.c:329
+msgid "  -q, --quiet                  Disable error reporting by getopt(3)\n"
+msgstr ""
+
+#: getopt/getopt.c:330
+msgid "  -Q, --quiet-output           No normal output\n"
+msgstr ""
+
+#: getopt/getopt.c:331
+msgid "  -s, --shell=shell            Set shell quoting conventions\n"
+msgstr ""
+
+#: getopt/getopt.c:332
+msgid "  -T, --test                   Test for getopt(1) version\n"
+msgstr ""
+
+#: getopt/getopt.c:333
+msgid "  -u, --unqote                 Do not quote the output\n"
+msgstr ""
+
+#: getopt/getopt.c:334
+msgid "  -V, --version                Output version information\n"
+msgstr ""
+
+#: getopt/getopt.c:388 getopt/getopt.c:447
+msgid "missing optstring argument"
+msgstr ""
+
+#: getopt/getopt.c:435
+#, c-format
+msgid "getopt (enhanced) 1.1.4\n"
+msgstr ""
+
+#: getopt/getopt.c:441
+msgid "internal error, contact the author."
+msgstr ""
+
+#: hwclock/cmos.c:176
+#, c-format
+msgid "booted from MILO\n"
+msgstr ""
+
+#: hwclock/cmos.c:185
+#, c-format
+msgid "Ruffian BCD clock\n"
+msgstr ""
+
+#: hwclock/cmos.c:201
+#, c-format
+msgid "clockport adjusted to 0x%x\n"
+msgstr ""
+
+#: hwclock/cmos.c:213
+#, c-format
+msgid "funky TOY!\n"
+msgstr ""
+
+#: hwclock/cmos.c:244
+#, c-format
+msgid "%s: atomic %s failed for 1000 iterations!"
+msgstr ""
+
+#: hwclock/cmos.c:273
+#, c-format
+msgid "cmos_read(): write to control address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:276
+#, c-format
+msgid "cmos_read(): read data address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:307
+#, c-format
+msgid "cmos_write(): write to control address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:311
+#, c-format
+msgid "cmos_write(): write to data address %X failed: %s\n"
+msgstr ""
+
+#: hwclock/cmos.c:574
+#, c-format
+msgid "Cannot open /dev/port: %s"
+msgstr ""
+
+#: hwclock/cmos.c:581
+#, c-format
+msgid "I failed to get permission because I didn't try.\n"
+msgstr ""
+
+#: hwclock/cmos.c:584
+#, c-format
+msgid "%s is unable to get I/O port access:  the iopl(3) call failed.\n"
+msgstr ""
+
+#: hwclock/cmos.c:587
+#, c-format
+msgid "Probably you need root privileges.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:231
+#, c-format
+msgid "Assuming hardware clock is kept in %s time.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:232 hwclock/hwclock.c:327
+msgid "UTC"
+msgstr ""
+
+#: hwclock/hwclock.c:232 hwclock/hwclock.c:326
+msgid "local"
+msgstr ""
+
+#: hwclock/hwclock.c:312
+#, c-format
+msgid "%s: Warning: unrecognized third line in adjtime file\n"
+msgstr ""
+
+#: hwclock/hwclock.c:314
+#, c-format
+msgid "(Expected: `UTC' or `LOCAL' or nothing.)\n"
+msgstr ""
+
+#: hwclock/hwclock.c:321
+#, c-format
+msgid "Last drift adjustment done at %ld seconds after 1969\n"
+msgstr ""
+
+#: hwclock/hwclock.c:323
+#, c-format
+msgid "Last calibration done at %ld seconds after 1969\n"
+msgstr ""
+
+#: hwclock/hwclock.c:325
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr ""
+
+#: hwclock/hwclock.c:327
+msgid "unknown"
+msgstr ""
+
+#: hwclock/hwclock.c:351
+#, c-format
+msgid "Waiting for clock tick...\n"
+msgstr ""
+
+#: hwclock/hwclock.c:357
+#, c-format
+msgid "...synchronization failed\n"
+msgstr ""
+
+#: hwclock/hwclock.c:359
+#, c-format
+msgid "...got clock tick\n"
+msgstr ""
+
+#: hwclock/hwclock.c:413
+#, c-format
+msgid "Invalid values in hardware clock: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+msgstr ""
+
+#: hwclock/hwclock.c:421
+#, c-format
+msgid "Hw clock time : %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr ""
+
+#: hwclock/hwclock.c:451
+#, c-format
+msgid "Time read from Hardware Clock: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+msgstr ""
+
+#: hwclock/hwclock.c:480
+#, c-format
+msgid "Setting Hardware Clock to %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr ""
+
+#: hwclock/hwclock.c:486
+#, c-format
+msgid "Clock not changed - testing only.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:536
+#, c-format
+msgid ""
+"Time elapsed since reference time has been %.6f seconds.\n"
+"Delaying further to reach the new time.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:572
+#, c-format
+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).\n"
+msgstr ""
+
+#: hwclock/hwclock.c:582
+#, c-format
+msgid "%s  %.6f seconds\n"
+msgstr ""
+
+#: hwclock/hwclock.c:616
+#, c-format
+msgid "No --date option specified.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:622
+#, c-format
+msgid "--date argument too long\n"
+msgstr ""
+
+#: hwclock/hwclock.c:629
+#, c-format
+msgid ""
+"The value of the --date option is not a valid date.\n"
+"In particular, it contains quotation marks.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:637
+#, c-format
+msgid "Issuing date command: %s\n"
+msgstr ""
+
+#: hwclock/hwclock.c:641
+msgid "Unable to run 'date' program in /bin/sh shell. popen() failed"
+msgstr ""
+
+#: hwclock/hwclock.c:649
+#, c-format
+msgid "response from date command = %s\n"
+msgstr ""
+
+#: hwclock/hwclock.c:651
+#, c-format
+msgid ""
+"The date command issued by %s returned unexpected results.\n"
+"The command was:\n"
+"  %s\n"
+"The response was:\n"
+"  %s\n"
+msgstr ""
+
+#: hwclock/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 ""
+
+#: hwclock/hwclock.c:674
+#, c-format
+msgid "date string %s equates to %ld seconds since 1969.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:706
+#, c-format
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot set the "
+"System Time from it.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:728 hwclock/hwclock.c:805
+#, c-format
+msgid "Calling settimeofday:\n"
+msgstr ""
+
+#: hwclock/hwclock.c:729 hwclock/hwclock.c:807
+#, c-format
+msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr ""
+
+#: hwclock/hwclock.c:731 hwclock/hwclock.c:809
+#, c-format
+msgid "\ttz.tz_minuteswest = %d\n"
+msgstr ""
+
+#: hwclock/hwclock.c:734 hwclock/hwclock.c:812
+#, c-format
+msgid "Not setting system clock because running in test mode.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:743 hwclock/hwclock.c:821
+#, c-format
+msgid "Must be superuser to set system clock.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:746 hwclock/hwclock.c:824
+msgid "settimeofday() failed"
+msgstr ""
+
+#: hwclock/hwclock.c:782
+#, c-format
+msgid "Current system time: %ld = %s\n"
+msgstr ""
+
+#: hwclock/hwclock.c:806
+#, c-format
+msgid "\tUTC: %s\n"
+msgstr ""
+
+#: hwclock/hwclock.c:853
+#, c-format
+msgid ""
+"Not adjusting drift factor because the Hardware Clock previously contained "
+"garbage.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:858
+#, 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 ""
+
+#: hwclock/hwclock.c:864
+#, c-format
+msgid ""
+"Not adjusting drift factor because it has been less than a day since the "
+"last calibration.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:912
+#, 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 ""
+
+#: hwclock/hwclock.c:962
+#, c-format
+msgid "Time since last adjustment is %d seconds\n"
+msgstr ""
+
+#: hwclock/hwclock.c:964
+#, c-format
+msgid "Need to insert %d seconds and refer time back %.6f seconds ago\n"
+msgstr ""
+
+#: hwclock/hwclock.c:993
+#, c-format
+msgid "Not updating adjtime file because of testing mode.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:994
+#, c-format
+msgid ""
+"Would have written the following to %s:\n"
+"%s"
+msgstr ""
+
+#: hwclock/hwclock.c:1002
+#, c-format
+msgid ""
+"Could not open file with the clock adjustment parameters in it (%s) for "
+"writing"
+msgstr ""
+
+#: hwclock/hwclock.c:1007 hwclock/hwclock.c:1012
+#, c-format
+msgid "Could not update file with the clock adjustment parameters (%s) in it"
+msgstr ""
+
+#: hwclock/hwclock.c:1018
+#, c-format
+msgid "Drift adjustment parameters not updated.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1059
+#, c-format
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot adjust it.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1067
+#, c-format
+msgid ""
+"Not setting clock because last adjustment time is zero, so history is bad."
+msgstr ""
+
+#: hwclock/hwclock.c:1090
+#, c-format
+msgid "Needed adjustment is less than one second, so not setting clock.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1116
+#, c-format
+msgid "Using %s.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1118
+#, c-format
+msgid "No usable clock interface found.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1222 hwclock/hwclock.c:1228
+#, c-format
+msgid "Unable to set system clock.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1258
+#, c-format
+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.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1267
+#, c-format
+msgid "Unable to get the epoch value from the kernel.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1269
+#, c-format
+msgid "Kernel is assuming an epoch value of %lu\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1272
+#, c-format
+msgid ""
+"To set the epoch value, you must use the 'epoch' option to tell to what "
+"value to set it.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1275
+#, c-format
+msgid "Not setting the epoch to %d - testing only.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1278
+#, c-format
+msgid "Unable to set the epoch value in the kernel.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1291 misc-utils/cal.c:345 misc-utils/kill.c:189
+#, c-format
+msgid "%s from %s\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1312
+#, c-format
+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"
+"  -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/hwclock.c:1347
+#, c-format
+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 ""
+
+#: hwclock/hwclock.c:1434
+#, c-format
+msgid "%s: Unable to connect to audit system\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1552
+#, c-format
+msgid "%s takes no non-option arguments.  You supplied %d.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1559
+#, c-format
+msgid ""
+"You have specified multiple functions.\n"
+"You can only perform one function at a time.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1566
+#, c-format
+msgid ""
+"%s: The --utc and --localtime options are mutually exclusive.  You specified "
+"both.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1573
+#, c-format
+msgid ""
+"%s: The --adjust and --noadjfile options are mutually exclusive.  You "
+"specified both.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1580
+#, c-format
+msgid ""
+"%s: The --adjfile and --noadjfile options are mutually exclusive.  You "
+"specified both.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1589
+#, c-format
+msgid "%s: With --noadjfile, you must specify either --utc or --localtime\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1603
+#, c-format
+msgid "No usable set-to time.  Cannot set clock.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1620
+#, c-format
+msgid "Sorry, only the superuser can change the Hardware Clock.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1625
+#, c-format
+msgid "Sorry, only the superuser can change the System Clock.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1630
+#, c-format
+msgid ""
+"Sorry, only the superuser can change the Hardware Clock epoch in the "
+"kernel.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1651
+#, c-format
+msgid "Cannot access the Hardware Clock via any known method.\n"
+msgstr ""
+
+#: hwclock/hwclock.c:1655
+#, c-format
+msgid ""
+"Use the --debug option to see the details of our search for an access "
+"method.\n"
+msgstr ""
+
+#: hwclock/kd.c:53
+#, c-format
+msgid "Waiting in loop for time from KDGHWCLK to change\n"
+msgstr ""
+
+#: hwclock/kd.c:56
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr ""
+
+#: hwclock/kd.c:77 hwclock/rtc.c:221
+#, c-format
+msgid "Timed out waiting for time change.\n"
+msgstr ""
+
+#: hwclock/kd.c:81
+msgid "KDGHWCLK ioctl to read time failed in loop"
+msgstr ""
+
+#: hwclock/kd.c:103
+#, c-format
+msgid "ioctl() failed to read time from %s"
+msgstr ""
+
+#: hwclock/kd.c:139
+msgid "ioctl KDSHWCLK failed"
+msgstr ""
+
+#: hwclock/kd.c:175
+msgid "Can't open /dev/tty1 or /dev/vc/1"
+msgstr ""
+
+#: hwclock/kd.c:179
+msgid "KDGHWCLK ioctl failed"
+msgstr ""
+
+#: hwclock/rtc.c:147 hwclock/rtc.c:241
+#, c-format
+msgid "open() of %s failed"
+msgstr ""
+
+#: hwclock/rtc.c:181
+#, c-format
+msgid "ioctl() to %s to read the time failed.\n"
+msgstr ""
+
+#: hwclock/rtc.c:203
+#, c-format
+msgid "Waiting in loop for time from %s to change\n"
+msgstr ""
+
+#: hwclock/rtc.c:259
+#, c-format
+msgid "%s does not have interrupt functions. "
+msgstr ""
+
+#: hwclock/rtc.c:270
+#, c-format
+msgid "read() to %s to wait for clock tick failed"
+msgstr ""
+
+#: hwclock/rtc.c:288
+#, c-format
+msgid "select() to %s to wait for clock tick failed"
+msgstr ""
+
+#: hwclock/rtc.c:291
+#, c-format
+msgid "select() to %s to wait for clock tick timed out\n"
+msgstr ""
+
+#: hwclock/rtc.c:300
+#, c-format
+msgid "ioctl() to %s to turn off update interrupts failed"
+msgstr ""
+
+#: hwclock/rtc.c:303
+#, c-format
+msgid "ioctl() to %s to turn on update interrupts failed unexpectedly"
+msgstr ""
+
+#: hwclock/rtc.c:360
+#, c-format
+msgid "ioctl() to %s to set the time failed.\n"
+msgstr ""
+
+#: hwclock/rtc.c:366
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr ""
+
+#: hwclock/rtc.c:392
+#, c-format
+msgid "Open of %s failed"
+msgstr ""
+
+#: hwclock/rtc.c:410 hwclock/rtc.c:454
+#, 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.\n"
+msgstr ""
+
+#: hwclock/rtc.c:415 hwclock/rtc.c:459
+#, c-format
+msgid "Unable to open %s"
+msgstr ""
+
+#: hwclock/rtc.c:422
+#, c-format
+msgid "ioctl(RTC_EPOCH_READ) to %s failed"
+msgstr ""
+
+#: hwclock/rtc.c:427
+#, c-format
+msgid "we have read epoch %ld from %s with RTC_EPOCH_READ ioctl.\n"
+msgstr ""
+
+#: hwclock/rtc.c:446
+#, c-format
+msgid "The epoch value may not be less than 1900.  You requested %ld\n"
+msgstr ""
+
+#: hwclock/rtc.c:464
+#, c-format
+msgid "setting epoch to %ld with RTC_EPOCH_SET ioctl to %s.\n"
+msgstr ""
+
+#: hwclock/rtc.c:469
+#, c-format
+msgid ""
+"The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl.\n"
+msgstr ""
+
+#: hwclock/rtc.c:472
+#, c-format
+msgid "ioctl(RTC_EPOCH_SET) to %s failed"
+msgstr ""
+
+#: login-utils/agetty.c:361
+#, c-format
+msgid "%s: can't exec %s: %m"
+msgstr ""
+
+#: login-utils/agetty.c:384
+msgid "can't malloc initstring"
+msgstr ""
+
+#: login-utils/agetty.c:449
+#, c-format
+msgid "bad timeout value: %s"
+msgstr ""
+
+#: login-utils/agetty.c:526
+#, c-format
+msgid "bad speed: %s"
+msgstr ""
+
+#: login-utils/agetty.c:528
+msgid "too many alternate speeds"
+msgstr ""
+
+#: login-utils/agetty.c:630
+#, c-format
+msgid "/dev: chdir() failed: %m"
+msgstr ""
+
+#: login-utils/agetty.c:634
+#, c-format
+msgid "/dev/%s: not a character device"
+msgstr ""
+
+#: login-utils/agetty.c:643
+#, c-format
+msgid "/dev/%s: cannot open as standard input: %m"
+msgstr ""
+
+#: login-utils/agetty.c:653
+#, c-format
+msgid "%s: not open for read/write"
+msgstr ""
+
+#: login-utils/agetty.c:659
+#, c-format
+msgid "%s: dup problem: %m"
+msgstr ""
+
+#: login-utils/agetty.c:946
+#, c-format
+msgid "user"
+msgstr ""
+
+#: login-utils/agetty.c:946
+#, c-format
+msgid "users"
+msgstr ""
+
+#: login-utils/agetty.c:1031
+#, c-format
+msgid "%s: read: %m"
+msgstr ""
+
+#: login-utils/agetty.c:1078
+#, c-format
+msgid "%s: input overrun"
+msgstr ""
+
+#: login-utils/agetty.c:1207
+#, c-format
+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 ""
+
+#: login-utils/checktty.c:91 login-utils/checktty.c:112
+#, c-format
+msgid "login: memory low, login may fail\n"
+msgstr ""
+
+#: login-utils/checktty.c:92
+msgid "can't malloc for ttyclass"
+msgstr ""
+
+#: login-utils/checktty.c:113
+msgid "can't malloc for grplist"
+msgstr ""
+
+#: login-utils/checktty.c:554
+#, c-format
+msgid "Login on %s from %s denied by default.\n"
+msgstr ""
+
+#: login-utils/checktty.c:565
+#, c-format
+msgid "Login on %s from %s denied.\n"
+msgstr ""
+
+#: login-utils/chfn.c:133 login-utils/chsh.c:119
+#, c-format
+msgid "%s: you (user %d) don't exist.\n"
+msgstr ""
+
+#: login-utils/chfn.c:140 login-utils/chsh.c:126
+#, c-format
+msgid "%s: user \"%s\" does not exist.\n"
+msgstr ""
+
+#: login-utils/chfn.c:145 login-utils/chsh.c:131
+#, c-format
+msgid "%s: can only change local entries; use yp%s instead.\n"
+msgstr ""
+
+#: login-utils/chfn.c:156 login-utils/chsh.c:142
+msgid "Unknown user context"
+msgstr ""
+
+#: login-utils/chfn.c:157
+#, c-format
+msgid "%s: %s is not authorized to change the finger info of %s\n"
+msgstr ""
+
+#: login-utils/chfn.c:164 login-utils/chsh.c:150
+#, c-format
+msgid "%s: Can't set default context for /etc/passwd"
+msgstr ""
+
+#: login-utils/chfn.c:178
+#, c-format
+msgid "Changing finger information for %s.\n"
+msgstr ""
+
+#: login-utils/chfn.c:189 login-utils/chsh.c:188 login-utils/login.c:572
+#, c-format
+msgid "%s: PAM failure, aborting: %s\n"
+msgstr ""
+
+#: login-utils/chfn.c:212 login-utils/chsh.c:211 login-utils/login.c:823
+#: login-utils/newgrp.c:85 login-utils/simpleinit.c:340 mount/lomount.c:744
+#: mount/lomount.c:747
+msgid "Password: "
+msgstr ""
+
+#: login-utils/chfn.c:215 login-utils/chsh.c:214
+msgid "Incorrect password."
+msgstr ""
+
+#: login-utils/chfn.c:226
+#, c-format
+msgid "Finger information not changed.\n"
+msgstr ""
+
+#: login-utils/chfn.c:328
+#, c-format
+msgid "Usage: %s [ -f full-name ] [ -o office ] "
+msgstr ""
+
+#: login-utils/chfn.c:329
+#, c-format
+msgid ""
+"[ -p office-phone ]\n"
+"\t[ -h home-phone ] "
+msgstr ""
+
+#: login-utils/chfn.c:330
+#, c-format
+msgid "[ --help ] [ --version ]\n"
+msgstr ""
+
+#: login-utils/chfn.c:378
+msgid "Office"
+msgstr ""
+
+#: login-utils/chfn.c:379
+msgid "Office Phone"
+msgstr ""
+
+#: login-utils/chfn.c:380
+msgid "Home Phone"
+msgstr ""
+
+#: login-utils/chfn.c:401 login-utils/chsh.c:321
+#, c-format
+msgid ""
+"\n"
+"Aborted.\n"
+msgstr ""
+
+#: login-utils/chfn.c:434
+#, c-format
+msgid "field is too long.\n"
+msgstr ""
+
+#: login-utils/chfn.c:442
+#, c-format
+msgid "'%c' is not allowed.\n"
+msgstr ""
+
+#: login-utils/chfn.c:447
+#, c-format
+msgid "Control characters are not allowed.\n"
+msgstr ""
+
+#: login-utils/chfn.c:512
+#, c-format
+msgid "Finger information *NOT* changed.  Try again later.\n"
+msgstr ""
+
+#: login-utils/chfn.c:515
+#, c-format
+msgid "Finger information changed.\n"
+msgstr ""
+
+#: login-utils/chsh.c:143
+#, c-format
+msgid "%s: %s is not authorized to change the shell of %s\n"
+msgstr ""
+
+#: login-utils/chsh.c:164
+#, c-format
+msgid ""
+"%s: Running UID doesn't match UID of user we're altering, shell change "
+"denied\n"
+msgstr ""
+
+#: login-utils/chsh.c:170
+#, c-format
+msgid "%s: Your shell is not in /etc/shells, shell change denied\n"
+msgstr ""
+
+#: login-utils/chsh.c:177
+#, c-format
+msgid "Changing shell for %s.\n"
+msgstr ""
+
+#: login-utils/chsh.c:222
+msgid "New shell"
+msgstr ""
+
+#: login-utils/chsh.c:229
+#, c-format
+msgid "Shell not changed.\n"
+msgstr ""
+
+#: login-utils/chsh.c:235
+#, c-format
+msgid "Shell *NOT* changed.  Try again later.\n"
+msgstr ""
+
+#: login-utils/chsh.c:238
+#, c-format
+msgid "Shell changed.\n"
+msgstr ""
+
+#: login-utils/chsh.c:303
+#, c-format
+msgid ""
+"Usage: %s [ -s shell ] [ --list-shells ] [ --help ] [ --version ]\n"
+"       [ username ]\n"
+msgstr ""
+
+#: login-utils/chsh.c:349
+#, c-format
+msgid "%s: shell must be a full path name.\n"
+msgstr ""
+
+#: login-utils/chsh.c:353
+#, c-format
+msgid "%s: \"%s\" does not exist.\n"
+msgstr ""
+
+#: login-utils/chsh.c:357
+#, c-format
+msgid "%s: \"%s\" is not executable.\n"
+msgstr ""
+
+#: login-utils/chsh.c:364
+#, c-format
+msgid "%s: '%c' is not allowed.\n"
+msgstr ""
+
+#: login-utils/chsh.c:368
+#, c-format
+msgid "%s: Control characters are not allowed.\n"
+msgstr ""
+
+#: login-utils/chsh.c:375 login-utils/chsh.c:385
+#, c-format
+msgid "Warning: \"%s\" is not listed in /etc/shells.\n"
+msgstr ""
+
+#: login-utils/chsh.c:377
+#, c-format
+msgid "%s: \"%s\" is not listed in /etc/shells.\n"
+msgstr ""
+
+#: login-utils/chsh.c:379
+#, c-format
+msgid "%s: Use -l option to see list.\n"
+msgstr ""
+
+#: login-utils/chsh.c:386
+#, c-format
+msgid "Use %s -l to see list.\n"
+msgstr ""
+
+#: login-utils/chsh.c:406
+#, c-format
+msgid "No known shells.\n"
+msgstr ""
+
+#: login-utils/islocal.c:87
+#, c-format
+msgid "Failed to open %s for reading, exiting."
+msgstr ""
+
+#: login-utils/last.c:148
+msgid "usage: last [-#] [-f file] [-t tty] [-h hostname] [user ...]\n"
+msgstr ""
+
+#: login-utils/last.c:284
+msgid "  still logged in"
+msgstr ""
+
+#: login-utils/last.c:306
+#, c-format
+msgid ""
+"\n"
+"wtmp begins %s"
+msgstr ""
+
+#: login-utils/last.c:362 login-utils/last.c:380 login-utils/last.c:431
+msgid "last: malloc failure.\n"
+msgstr ""
+
+#: login-utils/last.c:407
+msgid "last: gethostname"
+msgstr ""
+
+#: login-utils/last.c:456
+#, c-format
+msgid ""
+"\n"
+"interrupted %10.10s %5.5s \n"
+msgstr ""
+
+#: login-utils/login.c:197
+#, c-format
+msgid "FATAL: can't reopen tty: %s"
+msgstr ""
+
+#: login-utils/login.c:229
+msgid "FATAL: bad tty"
+msgstr ""
+
+#: login-utils/login.c:436
+#, c-format
+msgid "login: -h for super-user only.\n"
+msgstr ""
+
+#: login-utils/login.c:479
+#, c-format
+msgid "usage: login [-fp] [username]\n"
+msgstr ""
+
+#: login-utils/login.c:574
+#, c-format
+msgid "Couldn't initialize PAM: %s"
+msgstr ""
+
+#: login-utils/login.c:591
+msgid "login: "
+msgstr ""
+
+#: login-utils/login.c:635
+#, c-format
+msgid "FAILED LOGIN %d FROM %s FOR %s, %s"
+msgstr ""
+
+#: login-utils/login.c:640
+#, c-format
+msgid ""
+"Login incorrect\n"
+"\n"
+msgstr ""
+
+#: login-utils/login.c:649
+#, c-format
+msgid "TOO MANY LOGIN TRIES (%d) FROM %s FOR %s, %s"
+msgstr ""
+
+#: login-utils/login.c:653
+#, c-format
+msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
+msgstr ""
+
+#: login-utils/login.c:658
+#, c-format
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+
+#: login-utils/login.c:686 login-utils/login.c:693 login-utils/login.c:727
+#, c-format
+msgid ""
+"\n"
+"Session setup problem, abort.\n"
+msgstr ""
+
+#: login-utils/login.c:687
+#, c-format
+msgid "NULL user name in %s:%d. Abort."
+msgstr ""
+
+#: login-utils/login.c:694
+#, c-format
+msgid "Invalid user name \"%s\" in %s:%d. Abort."
+msgstr ""
+
+#: login-utils/login.c:713
+#, c-format
+msgid "login: Out of memory\n"
+msgstr ""
+
+#: login-utils/login.c:757
+msgid "Illegal username"
+msgstr ""
+
+#: login-utils/login.c:800
+#, c-format
+msgid "%s login refused on this terminal.\n"
+msgstr ""
+
+#: login-utils/login.c:805
+#, c-format
+msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
+msgstr ""
+
+#: login-utils/login.c:809
+#, c-format
+msgid "LOGIN %s REFUSED ON TTY %s"
+msgstr ""
+
+#: login-utils/login.c:863
+#, c-format
+msgid "Login incorrect\n"
+msgstr ""
+
+#: login-utils/login.c:1088
+#, c-format
+msgid "DIALUP AT %s BY %s"
+msgstr ""
+
+#: login-utils/login.c:1095
+#, c-format
+msgid "ROOT LOGIN ON %s FROM %s"
+msgstr ""
+
+#: login-utils/login.c:1098
+#, c-format
+msgid "ROOT LOGIN ON %s"
+msgstr ""
+
+#: login-utils/login.c:1101
+#, c-format
+msgid "LOGIN ON %s BY %s FROM %s"
+msgstr ""
+
+#: login-utils/login.c:1104
+#, c-format
+msgid "LOGIN ON %s BY %s"
+msgstr ""
+
+#: login-utils/login.c:1125
+#, c-format
+msgid "You have new mail.\n"
+msgstr ""
+
+#: login-utils/login.c:1127
+#, c-format
+msgid "You have mail.\n"
+msgstr ""
+
+#: login-utils/login.c:1171
+#, c-format
+msgid "login: failure forking: %s"
+msgstr ""
+
+#: login-utils/login.c:1218
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr ""
+
+#: login-utils/login.c:1224
+msgid "setuid() failed"
+msgstr ""
+
+#: login-utils/login.c:1230
+#, c-format
+msgid "No directory %s!\n"
+msgstr ""
+
+#: login-utils/login.c:1234
+#, c-format
+msgid "Logging in with home = \"/\".\n"
+msgstr ""
+
+#: login-utils/login.c:1242
+#, c-format
+msgid "login: no memory for shell script.\n"
+msgstr ""
+
+#: login-utils/login.c:1269
+#, c-format
+msgid "login: couldn't exec shell script: %s.\n"
+msgstr ""
+
+#: login-utils/login.c:1272
+#, c-format
+msgid "login: no shell: %s.\n"
+msgstr ""
+
+#: login-utils/login.c:1287
+#, c-format
+msgid ""
+"\n"
+"%s login: "
+msgstr ""
+
+#: login-utils/login.c:1298
+#, c-format
+msgid "login name much too long.\n"
+msgstr ""
+
+#: login-utils/login.c:1299
+msgid "NAME too long"
+msgstr ""
+
+#: login-utils/login.c:1306
+#, c-format
+msgid "login names may not start with '-'.\n"
+msgstr ""
+
+#: login-utils/login.c:1316
+#, c-format
+msgid "too many bare linefeeds.\n"
+msgstr ""
+
+#: login-utils/login.c:1317
+msgid "EXCESSIVE linefeeds"
+msgstr ""
+
+#: login-utils/login.c:1349
+#, c-format
+msgid "Login timed out after %d seconds\n"
+msgstr ""
+
+#: login-utils/login.c:1437
+#, c-format
+msgid "Last login: %.*s "
+msgstr ""
+
+#: login-utils/login.c:1441
+#, c-format
+msgid "from %.*s\n"
+msgstr ""
+
+#: login-utils/login.c:1444
+#, c-format
+msgid "on %.*s\n"
+msgstr ""
+
+#: login-utils/login.c:1470
+#, c-format
+msgid "LOGIN FAILURE FROM %s, %s"
+msgstr ""
+
+#: login-utils/login.c:1473
+#, c-format
+msgid "LOGIN FAILURE ON %s, %s"
+msgstr ""
+
+#: login-utils/login.c:1477
+#, c-format
+msgid "%d LOGIN FAILURES FROM %s, %s"
+msgstr ""
+
+#: login-utils/login.c:1480
+#, c-format
+msgid "%d LOGIN FAILURES ON %s, %s"
+msgstr ""
+
+#: login-utils/mesg.c:89
+#, c-format
+msgid "is y\n"
+msgstr ""
+
+#: login-utils/mesg.c:92
+#, c-format
+msgid "is n\n"
+msgstr ""
+
+#: login-utils/mesg.c:112
+#, c-format
+msgid "usage: mesg [y | n]\n"
+msgstr ""
+
+#: login-utils/newgrp.c:105
+msgid "newgrp: Who are you?"
+msgstr ""
+
+#: login-utils/newgrp.c:113 login-utils/newgrp.c:127
+msgid "newgrp: setgid"
+msgstr ""
+
+#: login-utils/newgrp.c:120 login-utils/newgrp.c:122
+msgid "newgrp: No such group."
+msgstr ""
+
+#: login-utils/newgrp.c:131
+msgid "newgrp: Permission denied"
+msgstr ""
+
+#: login-utils/newgrp.c:138
+msgid "newgrp: setuid"
+msgstr ""
+
+#: login-utils/newgrp.c:144
+msgid "No shell"
+msgstr ""
+
+#: login-utils/shutdown.c:115
+#, c-format
+msgid "Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+msgstr ""
+
+#: login-utils/shutdown.c:133
+msgid "Shutdown process aborted"
+msgstr ""
+
+#: login-utils/shutdown.c:164
+#, c-format
+msgid "%s: Only root can shut a system down.\n"
+msgstr ""
+
+#: login-utils/shutdown.c:258
+#, c-format
+msgid "That must be tomorrow, can't you wait till then?\n"
+msgstr ""
+
+#: login-utils/shutdown.c:309
+msgid "for maintenance; bounce, bounce"
+msgstr ""
+
+#: login-utils/shutdown.c:338
+msgid "The system is being shut down within 5 minutes"
+msgstr ""
+
+#: login-utils/shutdown.c:342
+msgid "Login is therefore prohibited."
+msgstr ""
+
+#: login-utils/shutdown.c:364
+#, c-format
+msgid "rebooted by %s: %s"
+msgstr ""
+
+#: login-utils/shutdown.c:367
+#, c-format
+msgid "halted by %s: %s"
+msgstr ""
+
+#: login-utils/shutdown.c:431
+msgid ""
+"\n"
+"Why am I still alive after reboot?"
+msgstr ""
+
+#: login-utils/shutdown.c:433
+msgid ""
+"\n"
+"Now you can turn off the power..."
+msgstr ""
+
+#: login-utils/shutdown.c:449
+#, c-format
+msgid "Calling kernel power-off facility...\n"
+msgstr ""
+
+#: login-utils/shutdown.c:452
+#, c-format
+msgid "Error powering off\t%s\n"
+msgstr ""
+
+#: login-utils/shutdown.c:460
+#, c-format
+msgid "Executing the program \"%s\" ...\n"
+msgstr ""
+
+#: login-utils/shutdown.c:463
+#, c-format
+msgid "Error executing\t%s\n"
+msgstr ""
+
+#: login-utils/shutdown.c:490
+#, c-format
+msgid "URGENT: broadcast message from %s:"
+msgstr ""
+
+#: login-utils/shutdown.c:496
+#, c-format
+msgid "System going down in %d hours %d minutes"
+msgstr ""
+
+#: login-utils/shutdown.c:499
+#, c-format
+msgid "System going down in 1 hour %d minutes"
+msgstr ""
+
+#: login-utils/shutdown.c:502
+#, c-format
+msgid "System going down in %d minutes\n"
+msgstr ""
+
+#: login-utils/shutdown.c:505
+#, c-format
+msgid "System going down in 1 minute\n"
+msgstr ""
+
+#: login-utils/shutdown.c:507
+#, c-format
+msgid "System going down IMMEDIATELY!\n"
+msgstr ""
+
+#: login-utils/shutdown.c:512
+#, c-format
+msgid "\t... %s ...\n"
+msgstr ""
+
+#: login-utils/shutdown.c:569
+msgid "Cannot fork for swapoff. Shrug!"
+msgstr ""
+
+#: login-utils/shutdown.c:577
+msgid "Cannot exec swapoff, hoping umount will do the trick."
+msgstr ""
+
+#: login-utils/shutdown.c:596
+msgid "Cannot fork for umount, trying manually."
+msgstr ""
+
+#: login-utils/shutdown.c:605
+#, c-format
+msgid "Cannot exec %s, trying umount.\n"
+msgstr ""
+
+#: login-utils/shutdown.c:609
+msgid "Cannot exec umount, giving up on umount."
+msgstr ""
+
+#: login-utils/shutdown.c:614
+msgid "Unmounting any remaining filesystems..."
+msgstr ""
+
+#: login-utils/shutdown.c:661
+#, c-format
+msgid "shutdown: Couldn't umount %s: %s\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:132
+msgid "Booting to single user mode.\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:136
+msgid "exec of single user shell failed\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:140
+msgid "fork of single user shell failed\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:208
+msgid "error opening fifo\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:212
+msgid "error setting close-on-exec on /dev/initctl"
+msgstr ""
+
+#: login-utils/simpleinit.c:259
+msgid "error running finalprog\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:263
+msgid "error forking finalprog\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:345
+msgid ""
+"\n"
+"Wrong password.\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:418
+msgid "lstat of path failed\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:426
+msgid "stat of path failed\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:434
+msgid "open of directory failed\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:501
+#, c-format
+msgid "respawning: \"%s\" too fast: quenching entry\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:509
+msgid "fork failed\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:540 text-utils/more.c:1629
+msgid "exec failed\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:564
+msgid "cannot open inittab\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:631
+msgid "no TERM or cannot stat tty\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:938
+#, c-format
+msgid "error stopping service: \"%s\"\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:950
+#, c-format
+msgid "Stopped service: %s\n"
+msgstr ""
+
+#: login-utils/simpleinit.c:1070
+#, c-format
+msgid "error running programme: \"%s\"\n"
+msgstr ""
+
+#: login-utils/ttymsg.c:75
+msgid "too many iov's (change code in wall/ttymsg.c)"
+msgstr ""
+
+#: login-utils/ttymsg.c:85
+#, c-format
+msgid "excessively long line arg"
+msgstr ""
+
+#: login-utils/ttymsg.c:140
+#, c-format
+msgid "cannot fork"
+msgstr ""
+
+#: login-utils/ttymsg.c:144
+#, c-format
+msgid "fork: %s"
+msgstr ""
+
+#: login-utils/ttymsg.c:174
+#, c-format
+msgid "%s: BAD ERROR"
+msgstr ""
+
+#: login-utils/vipw.c:143
+#, c-format
+msgid "%s: the password file is busy.\n"
+msgstr ""
+
+#: login-utils/vipw.c:146
+#, c-format
+msgid "%s: the group file is busy.\n"
+msgstr ""
+
+#: login-utils/vipw.c:162
+#, c-format
+msgid "%s: the %s file is busy (%s present)\n"
+msgstr ""
+
+#: login-utils/vipw.c:168
+#, c-format
+msgid "%s: can't link %s: %s\n"
+msgstr ""
+
+#: login-utils/vipw.c:202
+#, c-format
+msgid "%s: Can't get context for %s"
+msgstr ""
+
+#: login-utils/vipw.c:208
+#, c-format
+msgid "%s: Can't set context for %s"
+msgstr ""
+
+#: login-utils/vipw.c:217
+#, c-format
+msgid "%s: can't unlock %s: %s (your changes are still in %s)\n"
+msgstr ""
+
+#: login-utils/vipw.c:240
+#, c-format
+msgid "%s: Cannot fork\n"
+msgstr ""
+
+#: login-utils/vipw.c:276
+#, c-format
+msgid "%s: %s unchanged\n"
+msgstr ""
+
+#: login-utils/vipw.c:297
+#, c-format
+msgid "%s: no changes made\n"
+msgstr ""
+
+#: login-utils/vipw.c:350
+#, c-format
+msgid "You are using shadow groups on this system.\n"
+msgstr ""
+
+#: login-utils/vipw.c:351
+#, c-format
+msgid "You are using shadow passwords on this system.\n"
+msgstr ""
+
+#: login-utils/vipw.c:352
+#, c-format
+msgid "Would you like to edit %s now [y/n]? "
+msgstr ""
+
+#: login-utils/wall.c:112
+#, c-format
+msgid "usage: %s [file]\n"
+msgstr ""
+
+#: login-utils/wall.c:167
+#, c-format
+msgid "%s: can't open temporary file.\n"
+msgstr ""
+
+#: login-utils/wall.c:194
+#, c-format
+msgid "Broadcast Message from %s@%s"
+msgstr ""
+
+#: login-utils/wall.c:212
+#, c-format
+msgid "%s: will not read %s - use stdin.\n"
+msgstr ""
+
+#: login-utils/wall.c:217
+#, c-format
+msgid "%s: can't read %s.\n"
+msgstr ""
+
+#: login-utils/wall.c:240
+#, c-format
+msgid "%s: can't stat temporary file.\n"
+msgstr ""
+
+#: login-utils/wall.c:250
+#, c-format
+msgid "%s: can't read temporary file.\n"
+msgstr ""
+
+#: misc-utils/cal.c:362 misc-utils/cal.c:374
+#, c-format
+msgid "illegal day value: use 1-%d"
+msgstr ""
+
+#: misc-utils/cal.c:366
+msgid "illegal month value: use 1-12"
+msgstr ""
+
+#: misc-utils/cal.c:370
+msgid "illegal year value: use 1-9999"
+msgstr ""
+
+#: misc-utils/cal.c:464
+#, c-format
+msgid "%s %d"
+msgstr ""
+
+#: misc-utils/cal.c:856
+#, c-format
+msgid "usage: cal [-13smjyV] [[[day] month] year]\n"
+msgstr ""
+
+#: misc-utils/ddate.c:203
+#, c-format
+msgid "usage: %s [+format] [day month year]\n"
+msgstr ""
+
+#: misc-utils/ddate.c:250
+msgid "St. Tib's Day"
+msgstr ""
+
+#: misc-utils/findfs.c:24
+#, c-format
+msgid "Usage: %s LABEL=<label>|UUID=<uuid>\n"
+msgstr ""
+
+#: misc-utils/findfs.c:55
+#, fuzzy, c-format
+msgid "unable to resolve '%s'"
+msgstr "不能读 inodes"
+
+#: misc-utils/kill.c:207
+#, c-format
+msgid "%s: unknown signal %s\n"
+msgstr ""
+
+#: misc-utils/kill.c:270
+#, c-format
+msgid "%s: can't find process \"%s\"\n"
+msgstr ""
+
+#: misc-utils/kill.c:314
+#, c-format
+msgid "%s: unknown signal %s; valid signals:\n"
+msgstr ""
+
+#: misc-utils/kill.c:354
+#, c-format
+msgid "usage: %s [ -s signal | -p ] [ -a ] pid ...\n"
+msgstr ""
+
+#: misc-utils/kill.c:355
+#, c-format
+msgid "       %s -l [ signal ]\n"
+msgstr ""
+
+#: misc-utils/logger.c:67
+#, c-format
+msgid "logger: openlog: pathname too long\n"
+msgstr ""
+
+#: misc-utils/logger.c:75
+#, c-format
+msgid "socket: %s.\n"
+msgstr ""
+
+#: misc-utils/logger.c:80
+#, c-format
+msgid "connect: %s.\n"
+msgstr ""
+
+#: misc-utils/logger.c:139
+#, c-format
+msgid "logger: %s: %s.\n"
+msgstr ""
+
+#: misc-utils/logger.c:246
+#, c-format
+msgid "logger: unknown facility name: %s.\n"
+msgstr ""
+
+#: misc-utils/logger.c:258
+#, c-format
+msgid "logger: unknown priority name: %s.\n"
+msgstr ""
+
+#: misc-utils/logger.c:285
+#, c-format
+msgid ""
+"usage: logger [-is] [-f file] [-p pri] [-t tag] [-u socket] [ message ... ]\n"
+msgstr ""
+
+#: misc-utils/look.c:351
+#, c-format
+msgid "usage: look [-dfa] [-t char] string [file]\n"
+msgstr ""
+
+#: misc-utils/mcookie.c:105 misc-utils/mcookie.c:132
+#, c-format
+msgid "Could not open %s\n"
+msgstr ""
+
+#: misc-utils/mcookie.c:109 misc-utils/mcookie.c:128
+#, c-format
+msgid "Got %d bytes from %s\n"
+msgstr ""
+
+#: misc-utils/namei.c:144 misc-utils/namei.c:198 misc-utils/namei.c:220
+#: misc-utils/namei.c:227 misc-utils/namei.c:248
+msgid "out of memory?"
+msgstr ""
+
+#: misc-utils/namei.c:189
+#, fuzzy, c-format
+msgid "failed to read symlink: %s"
+msgstr "不能读 inodes"
+
+#: misc-utils/namei.c:229
+#, c-format
+msgid "could not stat '%s'"
+msgstr ""
+
+#: misc-utils/namei.c:411
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [options] pathname [pathname ...]\n"
+msgstr ""
+
+#: misc-utils/namei.c:412
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+
+#: misc-utils/namei.c:415
+#, c-format
+msgid ""
+" -h, --help          displays this help text\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:423
+#, c-format
+msgid ""
+"\n"
+"For more information see namei(1).\n"
+msgstr ""
+
+#: misc-utils/namei.c:484
+#, c-format
+msgid "failed to stat: %s"
+msgstr ""
+
+#: misc-utils/namei.c:495
+#, c-format
+msgid "%s: exceeded limit of symlinks"
+msgstr ""
+
+#: misc-utils/rename.c:38
+#, c-format
+msgid "%s: out of memory\n"
+msgstr ""
+
+#: misc-utils/rename.c:56
+#, c-format
+msgid "%s: renaming %s to %s failed: %s\n"
+msgstr ""
+
+#: misc-utils/rename.c:86
+#, c-format
+msgid "call: %s from to files...\n"
+msgstr ""
+
+#: misc-utils/script.c:110
+#, c-format
+msgid ""
+"Warning: `%s' is a link.\n"
+"Use `%s [options] %s' if you really want to use it.\n"
+"Script not started.\n"
+msgstr ""
+
+#: misc-utils/script.c:173
+#, c-format
+msgid "usage: script [-a] [-f] [-q] [-t] [file]\n"
+msgstr ""
+
+#: misc-utils/script.c:196
+#, c-format
+msgid "Script started, file is %s\n"
+msgstr ""
+
+#: misc-utils/script.c:244
+#, c-format
+msgid "%s: write error %d: %s\n"
+msgstr ""
+
+#: misc-utils/script.c:304
+#, c-format
+msgid "Script started on %s"
+msgstr ""
+
+#: misc-utils/script.c:347
+#, c-format
+msgid "%s: write error: %s\n"
+msgstr ""
+
+#: misc-utils/script.c:354
+#, c-format
+msgid "%s: cannot write script file, error: %s\n"
+msgstr ""
+
+#: misc-utils/script.c:430
+#, c-format
+msgid ""
+"\n"
+"Script done on %s"
+msgstr ""
+
+#: misc-utils/script.c:437
+#, c-format
+msgid "Script done, file is %s\n"
+msgstr ""
+
+#: misc-utils/script.c:448
+#, c-format
+msgid "openpty failed\n"
+msgstr ""
+
+#: misc-utils/script.c:482
+#, c-format
+msgid "Out of pty's\n"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:38
+#, c-format
+msgid "%s <timingfile> [<typescript> [<divisor>]]\n"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:53
+#, c-format
+msgid "expected a number, but got '%s'"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:56 misc-utils/scriptreplay.c:60
+#, c-format
+msgid "divisor '%s'"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:104
+msgid "write to stdout failed"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:110
+#, c-format
+msgid "unexpected end of file on %s"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:112
+#, c-format
+msgid "failed to read typescript file %s"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:145
+#, c-format
+msgid "cannot open timing file %s"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:148
+#, c-format
+msgid "cannot open typescript file %s"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:164
+#, c-format
+msgid "failed to read timing file %s"
+msgstr ""
+
+#: misc-utils/scriptreplay.c:166
+#, c-format
+msgid "timings file %s: %lu: unexpected format"
+msgstr ""
+
+#: misc-utils/setterm.c:763
+#, c-format
+msgid "%s: Argument error, usage\n"
+msgstr ""
+
+#: misc-utils/setterm.c:766
+#, c-format
+msgid "  [ -term terminal_name ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:767
+#, c-format
+msgid "  [ -reset ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:768
+#, c-format
+msgid "  [ -initialize ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:769
+#, c-format
+msgid "  [ -cursor [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:771
+#, c-format
+msgid "  [ -snow [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:772
+#, c-format
+msgid "  [ -softscroll [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:774
+#, c-format
+msgid "  [ -repeat [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:775
+#, c-format
+msgid "  [ -appcursorkeys [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:776
+#, c-format
+msgid "  [ -linewrap [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:777
+#, c-format
+msgid "  [ -default ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:778
+#, c-format
+msgid "  [ -foreground black|blue|green|cyan"
+msgstr ""
+
+#: misc-utils/setterm.c:779 misc-utils/setterm.c:781
+#, c-format
+msgid "|red|magenta|yellow|white|default ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:780
+#, c-format
+msgid "  [ -background black|blue|green|cyan"
+msgstr ""
+
+#: misc-utils/setterm.c:782
+#, c-format
+msgid "  [ -ulcolor black|grey|blue|green|cyan"
+msgstr ""
+
+#: misc-utils/setterm.c:783 misc-utils/setterm.c:785 misc-utils/setterm.c:787
+#: misc-utils/setterm.c:789
+#, c-format
+msgid "|red|magenta|yellow|white ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:784
+#, c-format
+msgid "  [ -ulcolor bright blue|green|cyan"
+msgstr ""
+
+#: misc-utils/setterm.c:786
+#, c-format
+msgid "  [ -hbcolor black|grey|blue|green|cyan"
+msgstr ""
+
+#: misc-utils/setterm.c:788
+#, c-format
+msgid "  [ -hbcolor bright blue|green|cyan"
+msgstr ""
+
+#: misc-utils/setterm.c:791
+#, c-format
+msgid "  [ -standout [ attr ] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:793
+#, c-format
+msgid "  [ -inversescreen [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:794
+#, c-format
+msgid "  [ -bold [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:795
+#, c-format
+msgid "  [ -half-bright [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:796
+#, c-format
+msgid "  [ -blink [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:797
+#, c-format
+msgid "  [ -reverse [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:798
+#, c-format
+msgid "  [ -underline [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:799
+#, c-format
+msgid "  [ -store ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:800
+#, c-format
+msgid "  [ -clear [all|rest] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:801
+#, c-format
+msgid "  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n"
+msgstr ""
+
+#: misc-utils/setterm.c:802
+#, c-format
+msgid "  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n"
+msgstr ""
+
+#: misc-utils/setterm.c:803
+#, c-format
+msgid "  [ -regtabs [1-160] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:804
+#, c-format
+msgid "  [ -blank [0-60|force|poke] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:805
+#, c-format
+msgid "  [ -dump   [1-NR_CONSOLES] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:806
+#, c-format
+msgid "  [ -append [1-NR_CONSOLES] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:807
+#, c-format
+msgid "  [ -file dumpfilename ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:808
+#, c-format
+msgid "  [ -msg [on|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:809
+#, c-format
+msgid "  [ -msglevel [0-8] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:810
+#, c-format
+msgid "  [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:811
+#, c-format
+msgid "  [ -powerdown [0-60] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:812
+#, c-format
+msgid "  [ -blength [0-2000] ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:813
+#, c-format
+msgid "  [ -bfreq freqnumber ]\n"
+msgstr ""
+
+#: misc-utils/setterm.c:1065
+#, c-format
+msgid "cannot force blank\n"
+msgstr ""
+
+#: misc-utils/setterm.c:1069
+#, c-format
+msgid "cannot force unblank\n"
+msgstr ""
+
+#: misc-utils/setterm.c:1075
+#, c-format
+msgid "cannot get blank status\n"
+msgstr ""
+
+#: misc-utils/setterm.c:1087
+#, c-format
+msgid "cannot (un)set powersave mode\n"
+msgstr ""
+
+#: misc-utils/setterm.c:1126 misc-utils/setterm.c:1134
+#, c-format
+msgid "klogctl error: %s\n"
+msgstr ""
+
+#: misc-utils/setterm.c:1200
+#, c-format
+msgid "Error writing screendump\n"
+msgstr ""
+
+#: misc-utils/setterm.c:1207
+#, c-format
+msgid "Couldn't read %s\n"
+msgstr ""
+
+#: misc-utils/setterm.c:1261
+#, c-format
+msgid "%s: $TERM is not defined.\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:46
+#, c-format
+msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:48
+#, c-format
+msgid "       %s [-r|t] [-n num] [-s socketpath]\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:50
+#, c-format
+msgid "       %s -k\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:152
+#, fuzzy
+msgid "bad arguments"
+msgstr "%s 需要一个参数\n"
+
+#: misc-utils/uuidd.c:159
+msgid "socket"
+msgstr ""
+
+#: misc-utils/uuidd.c:170
+msgid "connect"
+msgstr ""
+
+#: misc-utils/uuidd.c:189
+msgid "write"
+msgstr ""
+
+#: misc-utils/uuidd.c:197
+msgid "read count"
+msgstr ""
+
+#: misc-utils/uuidd.c:203
+msgid "bad response length"
+msgstr ""
+
+#: misc-utils/uuidd.c:268
+#, c-format
+msgid "uuidd daemon already running at pid %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:276
+#, c-format
+msgid "Couldn't create unix stream socket: %s"
+msgstr ""
+
+#: misc-utils/uuidd.c:305
+#, c-format
+msgid "Couldn't bind unix socket %s: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:313
+#, c-format
+msgid "Couldn't listen on unix socket %s: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:351
+#, c-format
+msgid "Error reading from client, len = %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:359
+#, c-format
+msgid "operation %d, incoming num = %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:378
+#, c-format
+msgid "Generated time UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:388
+#, c-format
+msgid "Generated random UUID: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:397
+#, c-format
+msgid "Generated time UUID %s and %d following\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:415
+#, c-format
+msgid "Generated %d UUID's:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:427
+#, c-format
+msgid "Invalid operation %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:468 misc-utils/uuidd.c:489
+#, c-format
+msgid "Bad number: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:524 misc-utils/uuidd.c:551
+#, c-format
+msgid "Error calling uuidd daemon (%s): %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:534
+#, c-format
+msgid "%s and subsequent %d UUID's\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:536
+#, c-format
+msgid "List of UUID's:\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:557
+#, c-format
+msgid "Unexpected reply length from server %d\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:574
+#, c-format
+msgid "Couldn't kill uuidd running at pid %d: %s\n"
+msgstr ""
+
+#: misc-utils/uuidd.c:580
+#, c-format
+msgid "Killed uuidd running at pid %d\n"
+msgstr ""
+
+#: misc-utils/uuidgen.c:32
+#, fuzzy, c-format
+msgid "Usage: %s [-r] [-t]\n"
+msgstr "用法: %s [ -n ] device\n"
+
+#: misc-utils/whereis.c:159
+#, c-format
+msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
+msgstr ""
+
+#: misc-utils/write.c:101
+#, c-format
+msgid "write: can't find your tty's name\n"
+msgstr ""
+
+#: misc-utils/write.c:112
+#, c-format
+msgid "write: you have write permission turned off.\n"
+msgstr ""
+
+#: misc-utils/write.c:133
+#, c-format
+msgid "write: %s is not logged in on %s.\n"
+msgstr ""
+
+#: misc-utils/write.c:141
+#, c-format
+msgid "write: %s has messages disabled on %s\n"
+msgstr ""
+
+#: misc-utils/write.c:148
+#, c-format
+msgid "usage: write user [tty]\n"
+msgstr ""
+
+#: misc-utils/write.c:236
+#, c-format
+msgid "write: %s is not logged in\n"
+msgstr ""
+
+#: misc-utils/write.c:245
+#, c-format
+msgid "write: %s has messages disabled\n"
+msgstr ""
+
+#: misc-utils/write.c:249
+#, c-format
+msgid "write: %s is logged in more than once; writing to %s\n"
+msgstr ""
+
+#: misc-utils/write.c:317
+#, c-format
+msgid "Message from %s@%s (as %s) on %s at %s ..."
+msgstr ""
+
+#: misc-utils/write.c:320
+#, c-format
+msgid "Message from %s@%s on %s at %s ..."
+msgstr ""
+
+#: mount/fstab.c:143
+#, c-format
+msgid "warning: error reading %s: %s"
+msgstr ""
+
+#: mount/fstab.c:171 mount/fstab.c:196
+#, c-format
+msgid "warning: can't open %s: %s"
+msgstr ""
+
+#: mount/fstab.c:176
+#, c-format
+msgid "mount: could not open %s - using %s instead\n"
+msgstr ""
+
+#: mount/fstab.c:589
+#, c-format
+msgid "can't create lock file %s: %s (use -n flag to override)"
+msgstr ""
+
+#: mount/fstab.c:615
+#, c-format
+msgid "can't link lock file %s: %s (use -n flag to override)"
+msgstr ""
+
+#: mount/fstab.c:631
+#, c-format
+msgid "can't open lock file %s: %s (use -n flag to override)"
+msgstr ""
+
+#: mount/fstab.c:646
+#, c-format
+msgid "Can't lock lock file %s: %s\n"
+msgstr ""
+
+#: mount/fstab.c:660
+#, c-format
+msgid "can't lock lock file %s: %s"
+msgstr ""
+
+#: mount/fstab.c:662
+msgid "timed out"
+msgstr ""
+
+#: mount/fstab.c:669
+#, c-format
+msgid ""
+"Cannot create link %s\n"
+"Perhaps there is a stale lock file?\n"
+msgstr ""
+
+#: mount/fstab.c:791 mount/fstab.c:846
+#, c-format
+msgid "cannot open %s (%s) - mtab not updated"
+msgstr ""
+
+#: mount/fstab.c:855
+#, c-format
+msgid "error writing %s: %s"
+msgstr ""
+
+#: mount/fstab.c:873
+#, c-format
+msgid "error changing mode of %s: %s\n"
+msgstr ""
+
+#: mount/fstab.c:886
+#, c-format
+msgid "error changing owner of %s: %s\n"
+msgstr ""
+
+#: mount/fstab.c:897
+#, c-format
+msgid "can't rename %s to %s: %s\n"
+msgstr ""
+
+#: mount/lomount.c:364
+#, c-format
+msgid "loop: can't set capacity on device %s: %s\n"
+msgstr ""
+
+#: mount/lomount.c:388
+#, c-format
+msgid ", offset %<PRIu64>"
+msgstr ""
+
+#: mount/lomount.c:391
+#, c-format
+msgid ", sizelimit %<PRIu64>"
+msgstr ""
+
+#: mount/lomount.c:399
+#, c-format
+msgid ", encryption %s (type %<PRIu32>)"
+msgstr ""
+
+#: mount/lomount.c:412
+#, c-format
+msgid ", offset %d"
+msgstr ""
+
+#: mount/lomount.c:415
+#, c-format
+msgid ", encryption type %d\n"
+msgstr ""
+
+#: mount/lomount.c:423
+#, c-format
+msgid "loop: can't get info on device %s: %s\n"
+msgstr ""
+
+#: mount/lomount.c:434
+#, c-format
+msgid "loop: can't open device %s: %s\n"
+msgstr ""
+
+#: mount/lomount.c:450 mount/lomount.c:482 mount/lomount.c:544
+#: mount/lomount.c:589
+#, c-format
+msgid "%s: /dev directory does not exist."
+msgstr ""
+
+#: mount/lomount.c:461 mount/lomount.c:602
+#, c-format
+msgid "%s: no permission to look at /dev/loop%s<N>"
+msgstr ""
+
+#: mount/lomount.c:605
+#, c-format
+msgid "%s: could not find any free loop device"
+msgstr ""
+
+#: mount/lomount.c:608
+#, c-format
+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/lomount.c:638
+msgid "Out of memory while reading passphrase"
+msgstr ""
+
+#: mount/lomount.c:681
+#, c-format
+msgid "warning: %s is already associated with %s\n"
+msgstr ""
+
+#: mount/lomount.c:697
+#, c-format
+msgid "warning: %s: is write-protected, using read-only.\n"
+msgstr ""
+
+#: mount/lomount.c:733
+#, c-format
+msgid "Couldn't lock into memory, exiting.\n"
+msgstr ""
+
+#: mount/lomount.c:760
+#, c-format
+msgid "ioctl LOOP_SET_FD failed: %s\n"
+msgstr ""
+
+#: mount/lomount.c:817
+#, c-format
+msgid "set_loop(%s,%s,%llu,%llu): success\n"
+msgstr ""
+
+#: mount/lomount.c:838
+#, c-format
+msgid "del_loop(%s): success\n"
+msgstr ""
+
+#: mount/lomount.c:842
+#, c-format
+msgid "loop: can't delete device %s: %s\n"
+msgstr ""
+
+#: mount/lomount.c:853
+#, c-format
+msgid "This mount was compiled without loop support. Please recompile.\n"
+msgstr ""
+
+#: mount/lomount.c:888
+#, c-format
+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 ""
+
+#: mount/lomount.c:898
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+" -e | --encryption <type> enable data encryption with specified <name/num>\n"
+" -h | --help              this help\n"
+" -o | --offset <num>      start at offset <num> into file\n"
+"      --sizelimit <num>   loop limited to only <num> bytes of the file\n"
+" -p | --pass-fd <num>     read passphrase from file descriptor <num>\n"
+" -r | --read-only         setup read-only loop device\n"
+"      --show              print device name (with -f <file>)\n"
+" -v | --verbose           verbose mode\n"
+"\n"
+msgstr ""
+
+#: mount/lomount.c:1036 mount/lomount.c:1076
+#, c-format
+msgid "Loop device is %s\n"
+msgstr ""
+
+#: mount/lomount.c:1063
+#, c-format
+msgid "stolen loop=%s...trying again\n"
+msgstr ""
+
+#: mount/lomount.c:1073
+#, c-format
+msgid "%s: %s: device is busy"
+msgstr ""
+
+#: mount/lomount.c:1090
+#, c-format
+msgid "No loop support was available at compile time. Please recompile.\n"
+msgstr ""
+
+#: mount/mount.c:329
+#, c-format
+msgid "mount: improperly quoted option string '%s'"
+msgstr ""
+
+#: mount/mount.c:362
+#, c-format
+msgid "mount: translated %s '%s' to '%s'\n"
+msgstr ""
+
+#: mount/mount.c:526
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s"
+msgstr ""
+
+#: mount/mount.c:531
+#, c-format
+msgid "mount: according to mtab, %s is mounted on %s"
+msgstr ""
+
+#: mount/mount.c:555
+#, c-format
+msgid "mount: can't open %s for writing: %s"
+msgstr ""
+
+#: mount/mount.c:572 mount/mount.c:1190
+#, c-format
+msgid "mount: error writing %s: %s"
+msgstr ""
+
+#: mount/mount.c:580
+#, c-format
+msgid "mount: error changing mode of %s: %s"
+msgstr ""
+
+#: mount/mount.c:663
+#, c-format
+msgid "mount: cannot set group id: %s"
+msgstr ""
+
+#: mount/mount.c:666
+#, c-format
+msgid "mount: cannot set user id: %s"
+msgstr ""
+
+#: mount/mount.c:705 mount/mount.c:1809
+#, c-format
+msgid "mount: cannot fork: %s"
+msgstr ""
+
+#: mount/mount.c:842
+#, c-format
+msgid "Trying %s\n"
+msgstr ""
+
+#: mount/mount.c:870
+#, c-format
+msgid "mount: you didn't specify a filesystem type for %s\n"
+msgstr ""
+
+#: mount/mount.c:873
+#, c-format
+msgid "       I will try all types mentioned in %s or %s\n"
+msgstr ""
+
+#: mount/mount.c:876
+#, c-format
+msgid "       and it looks like this is swapspace\n"
+msgstr ""
+
+#: mount/mount.c:878
+#, c-format
+msgid "       I will try type %s\n"
+msgstr ""
+
+#: mount/mount.c:902
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr ""
+
+#: mount/mount.c:993
+msgid "mount failed"
+msgstr ""
+
+#: mount/mount.c:995
+#, c-format
+msgid "mount: only root can mount %s on %s"
+msgstr ""
+
+#: mount/mount.c:1065
+msgid "mount: loop device specified twice"
+msgstr ""
+
+#: mount/mount.c:1070
+msgid "mount: type specified twice"
+msgstr ""
+
+#: mount/mount.c:1082
+#, c-format
+msgid "mount: skipping the setup of a loop device\n"
+msgstr ""
+
+#: mount/mount.c:1094
+#, c-format
+msgid "mount: according to mtab %s is already mounted on %s as loop"
+msgstr ""
+
+#: mount/mount.c:1104
+#, c-format
+msgid "mount: going to use the loop device %s\n"
+msgstr ""
+
+#: mount/mount.c:1113
+#, c-format
+msgid "mount: stolen loop=%s ...trying again\n"
+msgstr ""
+
+#: mount/mount.c:1118
+#, c-format
+msgid "mount: stolen loop=%s"
+msgstr ""
+
+#: mount/mount.c:1123
+#, c-format
+msgid "mount: failed setting up loop device\n"
+msgstr ""
+
+#: mount/mount.c:1134
+#, c-format
+msgid "mount: setup loop device successfully\n"
+msgstr ""
+
+#: mount/mount.c:1168
+#, c-format
+msgid "mount: no %s found - creating it..\n"
+msgstr ""
+
+#: mount/mount.c:1185
+#, c-format
+msgid "mount: can't open %s: %s"
+msgstr ""
+
+#: mount/mount.c:1206
+msgid "mount: argument to -p or --pass-fd must be a number"
+msgstr ""
+
+#: mount/mount.c:1219
+#, c-format
+msgid "mount: cannot open %s for setting speed"
+msgstr ""
+
+#: mount/mount.c:1222
+#, c-format
+msgid "mount: cannot set speed: %s"
+msgstr ""
+
+#: mount/mount.c:1279
+#, c-format
+msgid "mount: according to mtab, %s is already mounted on %s\n"
+msgstr ""
+
+#: mount/mount.c:1358
+msgid ""
+"mount: I could not determine the filesystem type, and none was specified"
+msgstr ""
+
+#: mount/mount.c:1361
+msgid "mount: you must specify the filesystem type"
+msgstr ""
+
+#: mount/mount.c:1364
+msgid "mount: mount failed"
+msgstr ""
+
+#: mount/mount.c:1370 mount/mount.c:1407
+#, c-format
+msgid "mount: mount point %s is not a directory"
+msgstr ""
+
+#: mount/mount.c:1372
+msgid "mount: permission denied"
+msgstr ""
+
+#: mount/mount.c:1374
+msgid "mount: must be superuser to use mount"
+msgstr ""
+
+#: mount/mount.c:1378 mount/mount.c:1382
+#, c-format
+msgid "mount: %s is busy"
+msgstr ""
+
+#: mount/mount.c:1384
+msgid "mount: proc already mounted"
+msgstr ""
+
+#: mount/mount.c:1386
+#, c-format
+msgid "mount: %s already mounted or %s busy"
+msgstr ""
+
+#: mount/mount.c:1392
+#, c-format
+msgid "mount: mount point %s does not exist"
+msgstr ""
+
+#: mount/mount.c:1394
+#, c-format
+msgid "mount: mount point %s is a symbolic link to nowhere"
+msgstr ""
+
+#: mount/mount.c:1399
+#, c-format
+msgid "mount: special device %s does not exist"
+msgstr ""
+
+#: mount/mount.c:1411
+#, c-format
+msgid ""
+"mount: special device %s does not exist\n"
+"       (a path prefix is not a directory)\n"
+msgstr ""
+
+#: mount/mount.c:1423
+#, c-format
+msgid "mount: %s not mounted already, or bad option"
+msgstr ""
+
+#: mount/mount.c:1425
+#, c-format
+msgid ""
+"mount: wrong fs type, bad option, bad superblock on %s,\n"
+"       missing codepage or helper program, or other error"
+msgstr ""
+
+#: mount/mount.c:1432
+msgid ""
+"       (for several filesystems (e.g. nfs, cifs) you might\n"
+"       need a /sbin/mount.<type> helper program)"
+msgstr ""
+
+#: mount/mount.c:1441
+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/mount.c:1446
+msgid ""
+"       (aren't you trying to mount an extended partition,\n"
+"       instead of some logical partition inside?)"
+msgstr ""
+
+#: mount/mount.c:1453
+msgid ""
+"       In some cases useful info is found in syslog - try\n"
+"       dmesg | tail  or so\n"
+msgstr ""
+
+#: mount/mount.c:1459
+msgid "mount table full"
+msgstr ""
+
+#: mount/mount.c:1461
+#, c-format
+msgid "mount: %s: can't read superblock"
+msgstr ""
+
+#: mount/mount.c:1467
+#, c-format
+msgid "mount: %s: unknown device"
+msgstr ""
+
+#: mount/mount.c:1472
+#, c-format
+msgid "mount: unknown filesystem type '%s'"
+msgstr ""
+
+#: mount/mount.c:1484
+#, c-format
+msgid "mount: probably you meant %s"
+msgstr ""
+
+#: mount/mount.c:1487
+msgid "mount: maybe you meant 'iso9660'?"
+msgstr ""
+
+#: mount/mount.c:1490
+msgid "mount: maybe you meant 'vfat'?"
+msgstr ""
+
+#: mount/mount.c:1493
+#, c-format
+msgid "mount: %s has wrong device number or fs type %s not supported"
+msgstr ""
+
+#: mount/mount.c:1501
+#, c-format
+msgid "mount: %s is not a block device, and stat fails?"
+msgstr ""
+
+#: mount/mount.c:1503
+#, c-format
+msgid ""
+"mount: the kernel does not recognize %s as a block device\n"
+"       (maybe `insmod driver'?)"
+msgstr ""
+
+#: mount/mount.c:1506
+#, c-format
+msgid "mount: %s is not a block device (maybe try `-o loop'?)"
+msgstr ""
+
+#: mount/mount.c:1509
+#, c-format
+msgid "mount: %s is not a block device"
+msgstr ""
+
+#: mount/mount.c:1514
+#, c-format
+msgid "mount: %s is not a valid block device"
+msgstr ""
+
+#: mount/mount.c:1517
+msgid "block device "
+msgstr ""
+
+#: mount/mount.c:1519
+#, c-format
+msgid "mount: cannot mount %s%s read-only"
+msgstr ""
+
+#: mount/mount.c:1523
+#, c-format
+msgid "mount: %s%s is write-protected but explicit `-w' flag given"
+msgstr ""
+
+#: mount/mount.c:1527
+#, c-format
+msgid "mount: cannot remount %s%s read-write, is write-protected"
+msgstr ""
+
+#: mount/mount.c:1542
+#, c-format
+msgid "mount: %s%s is write-protected, mounting read-only"
+msgstr ""
+
+#: mount/mount.c:1552
+#, c-format
+msgid "mount: no medium found on %s ...trying again\n"
+msgstr ""
+
+#: mount/mount.c:1558
+#, c-format
+msgid "mount: no medium found on %s"
+msgstr ""
+
+#: mount/mount.c:1576
+#, 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/mount.c:1655
+#, c-format
+msgid "mount: no type was given - I'll assume nfs because of the colon\n"
+msgstr ""
+
+#: mount/mount.c:1661
+#, c-format
+msgid "mount: no type was given - I'll assume cifs because of the // prefix\n"
+msgstr ""
+
+#: mount/mount.c:1756
+#, c-format
+msgid "mount: %s already mounted on %s\n"
+msgstr ""
+
+#: mount/mount.c:1890
+#, 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/mount.c:2213
+msgid "mount: only root can do that"
+msgstr ""
+
+#: mount/mount.c:2223
+msgid "nothing was mounted"
+msgstr ""
+
+#: mount/mount.c:2241 mount/mount.c:2267
+msgid "mount: no such partition found"
+msgstr ""
+
+#: mount/mount.c:2244
+#, c-format
+msgid "mount: can't find %s in %s or %s"
+msgstr ""
+
+#: mount/mount_mntent.c:165
+#, c-format
+msgid "[mntent]: warning: no final newline at the end of %s\n"
+msgstr ""
+
+#: mount/mount_mntent.c:216
+#, c-format
+msgid "[mntent]: line %d in %s is bad%s\n"
+msgstr ""
+
+#: mount/mount_mntent.c:219
+msgid "; rest of file ignored"
+msgstr ""
+
+#: mount/sundries.c:31
+msgid "bug in xstrndup call"
+msgstr ""
+
+#: mount/sundries.c:224 mount/sundries.c:280 mount/sundries.c:289
+#: mount/xmalloc.c:11
+msgid "not enough memory"
+msgstr ""
+
+#: mount/swapon.c:84
+#, c-format
+msgid ""
+"The <special> parameter:\n"
+" {-L label | LABEL=label}             LABEL of device to be used\n"
+" {-U uuid  | 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"
+"\n"
+msgstr ""
+
+#: mount/swapon.c:92
+#, c-format
+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 ""
+
+#: mount/swapon.c:106
+#, c-format
+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 ""
+
+#: mount/swapon.c:140
+#, c-format
+msgid "%s: unexpected file format"
+msgstr ""
+
+#: mount/swapon.c:184 mount/swapon.c:252 mount/swapon.c:397 mount/swapon.c:556
+#: mount/swapon.c:758
+#, fuzzy, c-format
+msgid "%s: open failed"
+msgstr "%s 失败.\n"
+
+#: mount/swapon.c:205
+#, c-format
+msgid "%s: reinitializing the swap."
+msgstr ""
+
+#: mount/swapon.c:209
+#, fuzzy
+msgid "fork failed"
+msgstr "查找失败"
+
+#: mount/swapon.c:225
+#, fuzzy
+msgid "execv failed"
+msgstr "查找失败"
+
+#: mount/swapon.c:233
+msgid "waitpid failed"
+msgstr ""
+
+#: mount/swapon.c:257
+#, fuzzy, c-format
+msgid "%s: lseek failed"
+msgstr "查找失败"
+
+#: mount/swapon.c:263
+#, c-format
+msgid "%s: write signature failed"
+msgstr ""
+
+#: mount/swapon.c:350
+#, c-format
+msgid "%s: found %sswap v%d signature string for %d KiB PAGE_SIZE\n"
+msgstr ""
+
+#: mount/swapon.c:370
+#, fuzzy, c-format
+msgid "%s: stat failed"
+msgstr "%s 失败.\n"
+
+#: mount/swapon.c:380
+#, c-format
+msgid "%s: insecure permissions %04o, %04o suggested."
+msgstr ""
+
+#: mount/swapon.c:388
+#, c-format
+msgid "%s: skipping - it appears to have holes."
+msgstr ""
+
+#: mount/swapon.c:402
+#, fuzzy, c-format
+msgid "%s: get size failed"
+msgstr "查找失败"
+
+#: mount/swapon.c:408
+#, c-format
+msgid "%s: read swap header failed"
+msgstr ""
+
+#: mount/swapon.c:421
+#, c-format
+msgid "%s: last_page 0x%08llx is larger than actual size of swapspace"
+msgstr ""
+
+#: mount/swapon.c:426
+#, c-format
+msgid "%s: swap format pagesize does not match."
+msgstr ""
+
+#: mount/swapon.c:431
+#, c-format
+msgid ""
+"%s: swap format pagesize does not match. (Use --fixpgsz to reinitialize it.)"
+msgstr ""
+
+#: mount/swapon.c:440
+#, c-format
+msgid "%s: software suspend data detected. Rewriting the swap signature."
+msgstr ""
+
+#: mount/swapon.c:464 mount/swapon.c:514
+#, c-format
+msgid "%s on %s\n"
+msgstr ""
+
+#: mount/swapon.c:486
+#, fuzzy, c-format
+msgid "%s: swapon failed"
+msgstr "%s 失败.\n"
+
+#: mount/swapon.c:493
+#, c-format
+msgid "cannot find the device for %s"
+msgstr ""
+
+#: mount/swapon.c:526
+msgid "Not superuser."
+msgstr ""
+
+#: mount/swapon.c:529
+#, fuzzy, c-format
+msgid "%s: swapoff failed"
+msgstr "%s 失败.\n"
+
+#: mount/umount.c:41
+#, c-format
+msgid "umount: compiled without support for -f\n"
+msgstr ""
+
+#: mount/umount.c:111
+#, c-format
+msgid "umount: cannot set group id: %s"
+msgstr ""
+
+#: mount/umount.c:114
+#, c-format
+msgid "umount: cannot set user id: %s"
+msgstr ""
+
+#: mount/umount.c:139
+#, c-format
+msgid "umount: cannot fork: %s"
+msgstr ""
+
+#: mount/umount.c:160
+#, c-format
+msgid "umount: %s: invalid block device"
+msgstr ""
+
+#: mount/umount.c:162
+#, c-format
+msgid "umount: %s: not mounted"
+msgstr ""
+
+#: mount/umount.c:164
+#, c-format
+msgid "umount: %s: can't write superblock"
+msgstr ""
+
+#: mount/umount.c:168
+#, 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/umount.c:173
+#, c-format
+msgid "umount: %s: not found"
+msgstr ""
+
+#: mount/umount.c:175
+#, c-format
+msgid "umount: %s: must be superuser to umount"
+msgstr ""
+
+#: mount/umount.c:177
+#, c-format
+msgid "umount: %s: block devices not permitted on fs"
+msgstr ""
+
+#: mount/umount.c:179
+#, c-format
+msgid "umount: %s: %s"
+msgstr ""
+
+#: mount/umount.c:235
+#, c-format
+msgid "no umount2, trying umount...\n"
+msgstr ""
+
+#: mount/umount.c:252
+#, c-format
+msgid "umount: %s busy - remounted read-only\n"
+msgstr ""
+
+#: mount/umount.c:263
+#, c-format
+msgid "umount: could not remount %s read-only\n"
+msgstr ""
+
+#: mount/umount.c:272
+#, c-format
+msgid "%s umounted\n"
+msgstr ""
+
+#: mount/umount.c:367
+msgid "umount: cannot find list of filesystems to unmount"
+msgstr ""
+
+#: mount/umount.c:397
+#, 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/umount.c:466
+#, c-format
+msgid "device %s is associated with %s\n"
+msgstr ""
+
+#: mount/umount.c:472
+#, fuzzy, c-format
+msgid "device %s is not associated with %s\n"
+msgstr "%s:不是一个块设备\n"
+
+#: mount/umount.c:485
+msgid "Cannot umount \"\"\n"
+msgstr ""
+
+#: mount/umount.c:491
+#, c-format
+msgid "Trying to umount %s\n"
+msgstr ""
+
+#: mount/umount.c:504
+msgid "umount: confused when analyzing mtab"
+msgstr ""
+
+#: mount/umount.c:509
+#, c-format
+msgid "umount: cannot umount %s -- %s is mounted over it on the same point."
+msgstr ""
+
+#: mount/umount.c:516
+#, c-format
+msgid "Could not find %s in mtab\n"
+msgstr ""
+
+#: mount/umount.c:523
+#, c-format
+msgid "umount: %s is not mounted (according to mtab)"
+msgstr ""
+
+#: mount/umount.c:547
+#, c-format
+msgid "umount: it seems %s is mounted multiple times"
+msgstr ""
+
+#: mount/umount.c:561
+#, c-format
+msgid "umount: %s is not in the fstab (and you are not root)"
+msgstr ""
+
+#: mount/umount.c:567
+#, c-format
+msgid "umount: %s mount disagrees with the fstab"
+msgstr ""
+
+#: mount/umount.c:608
+#, c-format
+msgid "umount: only %s can unmount %s from %s"
+msgstr ""
+
+#: mount/umount.c:695
+msgid "umount: only root can do that"
+msgstr ""
+
+#: schedutils/chrt.c:56
+#, 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"
+"\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 ""
+
+#: schedutils/chrt.c:88
+#, c-format
+msgid "failed to get pid %d's policy"
+msgstr ""
+
+#: schedutils/chrt.c:90
+#, c-format
+msgid "pid %d's %s scheduling policy: "
+msgstr ""
+
+#: schedutils/chrt.c:112
+#, c-format
+msgid "unknown\n"
+msgstr ""
+
+#: schedutils/chrt.c:116
+#, c-format
+msgid "failed to get pid %d's attributes"
+msgstr ""
+
+#: schedutils/chrt.c:118
+#, c-format
+msgid "pid %d's %s scheduling priority: %d\n"
+msgstr ""
+
+#: schedutils/chrt.c:147
+#, c-format
+msgid "SCHED_%s min/max priority\t: %d/%d\n"
+msgstr ""
+
+#: schedutils/chrt.c:150
+#, c-format
+msgid "SCHED_%s not supported?\n"
+msgstr ""
+
+#: schedutils/chrt.c:206
+#, fuzzy
+msgid "failed to parse pid"
+msgstr "不能读 inodes"
+
+#: schedutils/chrt.c:228
+msgid "current"
+msgstr ""
+
+#: schedutils/chrt.c:236
+msgid "failed to parse priority"
+msgstr ""
+
+#: schedutils/chrt.c:242
+#, c-format
+msgid "failed to set pid %d's policy"
+msgstr ""
+
+#: schedutils/chrt.c:251
+#, c-format
+msgid "failed to execute %s"
+msgstr ""
+
+#: schedutils/ionice.c:57
+msgid "ioprio_get failed"
+msgstr ""
+
+#: schedutils/ionice.c:75
+#, fuzzy
+msgid "ioprio_set failed"
+msgstr "查找失败"
+
+#: schedutils/ionice.c:81
+#, c-format
+msgid ""
+"\n"
+"ionice - sets or gets process io scheduling class and priority.\n"
+"\n"
+"Usage:\n"
+"  ionice [ options ] -p <pid> [<pid> ...]\n"
+"  ionoce [ 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 ""
+
+#: schedutils/ionice.c:110 schedutils/ionice.c:112
+#, fuzzy, c-format
+msgid "cannot parse number '%s'"
+msgstr "%s: 不能打开 %s\n"
+
+#: schedutils/ionice.c:151
+msgid "ignoring given class data for none class"
+msgstr ""
+
+#: schedutils/ionice.c:159
+msgid "ignoring given class data for idle class"
+msgstr ""
+
+#: schedutils/ionice.c:163
+#, c-format
+msgid "bad prio class %d"
+msgstr ""
+
+#: schedutils/ionice.c:187
+#, fuzzy
+msgid "execvp failed"
+msgstr "查找失败"
+
+#: sys-utils/ctrlaltdel.c:27
+#, c-format
+msgid "You must be root to set the Ctrl-Alt-Del behaviour.\n"
+msgstr ""
+
+#: sys-utils/ctrlaltdel.c:42
+#, c-format
+msgid "Usage: ctrlaltdel hard|soft\n"
+msgstr ""
+
+#: sys-utils/cytune.c:114
+#, 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\n"
+msgstr ""
+
+#: sys-utils/cytune.c:125
+#, c-format
+msgid ""
+"File %s, For threshold value %lu and timrout value %lu, Maximum characters "
+"in fifo were %d,\n"
+"and the maximum transfer rate in characters/second was %f\n"
+msgstr ""
+
+#: sys-utils/cytune.c:189
+#, c-format
+msgid "Invalid interval value: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:197
+#, c-format
+msgid "Invalid set value: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:205
+#, c-format
+msgid "Invalid default value: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:213
+#, c-format
+msgid "Invalid set time value: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:221
+#, c-format
+msgid "Invalid default time value: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:238
+#, c-format
+msgid ""
+"Usage: %s [-q [-i interval]] ([-s value]|[-S value]) ([-t value]|[-T value]) "
+"[-g|-G] file [file...]\n"
+msgstr ""
+
+#: sys-utils/cytune.c:250 sys-utils/cytune.c:269 sys-utils/cytune.c:289
+#: sys-utils/cytune.c:339
+#, c-format
+msgid "Can't open %s: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:257
+#, c-format
+msgid "Can't set %s to threshold %d: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:276
+#, c-format
+msgid "Can't set %s to time threshold %d: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:294 sys-utils/cytune.c:351 sys-utils/cytune.c:382
+#, c-format
+msgid "Can't get threshold for %s: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:300 sys-utils/cytune.c:357 sys-utils/cytune.c:388
+#, c-format
+msgid "Can't get timeout for %s: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:306
+#, c-format
+msgid "%s: %ld current threshold and %ld current timeout\n"
+msgstr ""
+
+#: sys-utils/cytune.c:309
+#, c-format
+msgid "%s: %ld default threshold and %ld default timeout\n"
+msgstr ""
+
+#: sys-utils/cytune.c:327
+msgid "Can't set signal handler"
+msgstr ""
+
+#: sys-utils/cytune.c:331 sys-utils/cytune.c:366
+msgid "gettimeofday failed"
+msgstr ""
+
+#: sys-utils/cytune.c:344 sys-utils/cytune.c:376
+#, c-format
+msgid "Can't issue CYGETMON on %s: %s\n"
+msgstr ""
+
+#: sys-utils/cytune.c:418
+#, c-format
+msgid ""
+"%s: %lu ints, %lu/%lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+
+#: sys-utils/cytune.c:424
+#, c-format
+msgid "   %f int/sec; %f rec, %f send (char/sec)\n"
+msgstr ""
+
+#: sys-utils/cytune.c:429
+#, c-format
+msgid ""
+"%s: %lu ints, %lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
+msgstr ""
+
+#: sys-utils/cytune.c:435
+#, c-format
+msgid "   %f int/sec; %f rec (char/sec)\n"
+msgstr ""
+
+#: sys-utils/dmesg.c:45
+#, c-format
+msgid "Usage: %s [-c] [-n level] [-r] [-s bufsize]\n"
+msgstr ""
+
+#: sys-utils/flock.c:65
+#, c-format
+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 ""
+
+#: sys-utils/flock.c:192
+#, fuzzy, c-format
+msgid "%s: %s requires exactly one command argument\n"
+msgstr "%s 需要一个参数\n"
+
+#: sys-utils/flock.c:219
+#, fuzzy, c-format
+msgid "%s: cannot open lock file %s: %s\n"
+msgstr "%s: 不能打开 %s\n"
+
+#: sys-utils/flock.c:231
+#, c-format
+msgid "%s: bad number: %s\n"
+msgstr ""
+
+#: sys-utils/flock.c:238
+#, c-format
+msgid "%s: requires file descriptor, file or directory\n"
+msgstr ""
+
+#: sys-utils/flock.c:294
+#, fuzzy, c-format
+msgid "%s: fork failed: %s\n"
+msgstr "%s 失败.\n"
+
+#: sys-utils/ipcmk.c:84
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [options]\n"
+"\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:86
+#, c-format
+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 ""
+
+#: sys-utils/ipcmk.c:90
+#, c-format
+msgid ""
+"\n"
+"For more information see ipcmk(1).\n"
+"\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:142
+msgid "create share memory failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:144
+#, c-format
+msgid "Shared memory id: %d\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:150
+msgid "create message queue failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:152
+#, c-format
+msgid "Message queue id: %d\n"
+msgstr ""
+
+#: sys-utils/ipcmk.c:158
+msgid "create semaphore failed"
+msgstr ""
+
+#: sys-utils/ipcmk.c:160
+#, c-format
+msgid "Semaphore id: %d\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:66
+#, c-format
+msgid "invalid id: %s\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:84
+#, c-format
+msgid "cannot remove id %s (%s)\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:99
+#, c-format
+msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:126
+#, c-format
+msgid "unknown resource type: %s\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:130
+#, c-format
+msgid "resource(s) deleted\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:140
+#, c-format
+msgid ""
+"usage: %s [ [-q msqid] [-m shmid] [-s semid]\n"
+"          [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:181
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:193
+#, c-format
+msgid "%s: illegal key (%s)\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:208 sys-utils/ipcrm.c:240
+msgid "permission denied for key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:211 sys-utils/ipcrm.c:250
+msgid "already removed key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:214 sys-utils/ipcrm.c:245
+msgid "invalid key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:217 sys-utils/ipcrm.c:255
+msgid "unknown error in key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:241
+msgid "permission denied for id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:246
+msgid "invalid id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:251
+msgid "already removed id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:256
+msgid "unknown error in id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:259
+#, c-format
+msgid "%s: %s (%s)\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:267
+#, c-format
+msgid "%s: unknown argument: %s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:120
+#, c-format
+msgid "usage : %s -asmq -tclup \n"
+msgstr ""
+
+#: sys-utils/ipcs.c:121
+#, c-format
+msgid "\t%s [-s -m -q] -i id\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:122
+#, c-format
+msgid "\t%s -h for help.\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:128
+#, c-format
+msgid ""
+"%s provides information on ipc facilities for which you have read access.\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:130
+#, c-format
+msgid ""
+"Resource Specification:\n"
+"\t-m : shared_mem\n"
+"\t-q : messages\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:131
+#, c-format
+msgid ""
+"\t-s : semaphores\n"
+"\t-a : all (default)\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:132
+#, c-format
+msgid ""
+"Output Format:\n"
+"\t-t : time\n"
+"\t-p : pid\n"
+"\t-c : creator\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:133
+#, c-format
+msgid ""
+"\t-l : limits\n"
+"\t-u : summary\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:134
+#, c-format
+msgid "-i id [-s -q -m] : details on resource identified by id\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:258
+#, c-format
+msgid "kernel not configured for shared memory\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:264
+#, c-format
+msgid "------ Shared Memory Limits --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:269
+#, c-format
+msgid "max number of segments = %lu\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:271
+#, c-format
+msgid "max seg size (kbytes) = %lu\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:273
+#, c-format
+msgid "max total shared memory (kbytes) = %llu\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:275
+#, c-format
+msgid "min seg size (bytes) = %lu\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:280
+#, c-format
+msgid "------ Shared Memory Status --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:281
+#, c-format
+msgid "segments allocated %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:282
+#, c-format
+msgid "pages allocated %ld\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:283
+#, c-format
+msgid "pages resident  %ld\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:284
+#, c-format
+msgid "pages swapped   %ld\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:285
+#, c-format
+msgid "Swap performance: %ld attempts\t %ld successes\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:290
+#, c-format
+msgid "------ Shared Memory Segment Creators/Owners --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:298 sys-utils/ipcs.c:305
+#: sys-utils/ipcs.c:311
+msgid "shmid"
+msgstr ""
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:311 sys-utils/ipcs.c:412
+#: sys-utils/ipcs.c:427 sys-utils/ipcs.c:510 sys-utils/ipcs.c:528
+msgid "perms"
+msgstr ""
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "cuid"
+msgstr ""
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "cgid"
+msgstr ""
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "uid"
+msgstr ""
+
+#: sys-utils/ipcs.c:292 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+msgid "gid"
+msgstr ""
+
+#: sys-utils/ipcs.c:296
+#, c-format
+msgid "------ Shared Memory Attach/Detach/Change Times --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:298 sys-utils/ipcs.c:305 sys-utils/ipcs.c:311
+#: sys-utils/ipcs.c:418 sys-utils/ipcs.c:427 sys-utils/ipcs.c:516
+#: sys-utils/ipcs.c:522 sys-utils/ipcs.c:528
+msgid "owner"
+msgstr ""
+
+#: sys-utils/ipcs.c:298
+msgid "attached"
+msgstr ""
+
+#: sys-utils/ipcs.c:298
+msgid "detached"
+msgstr ""
+
+#: sys-utils/ipcs.c:299
+msgid "changed"
+msgstr ""
+
+#: sys-utils/ipcs.c:303
+#, c-format
+msgid "------ Shared Memory Creator/Last-op --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:305
+msgid "cpid"
+msgstr ""
+
+#: sys-utils/ipcs.c:305
+msgid "lpid"
+msgstr ""
+
+#: sys-utils/ipcs.c:309
+#, c-format
+msgid "------ Shared Memory Segments --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:311 sys-utils/ipcs.c:427 sys-utils/ipcs.c:528
+msgid "key"
+msgstr ""
+
+#: sys-utils/ipcs.c:311
+msgid "bytes"
+msgstr ""
+
+#: sys-utils/ipcs.c:312
+msgid "nattch"
+msgstr ""
+
+#: sys-utils/ipcs.c:312
+msgid "status"
+msgstr ""
+
+#: sys-utils/ipcs.c:333 sys-utils/ipcs.c:335 sys-utils/ipcs.c:337
+#: sys-utils/ipcs.c:448 sys-utils/ipcs.c:450 sys-utils/ipcs.c:549
+#: sys-utils/ipcs.c:551 sys-utils/ipcs.c:553 sys-utils/ipcs.c:604
+#: sys-utils/ipcs.c:606 sys-utils/ipcs.c:634 sys-utils/ipcs.c:636
+#: sys-utils/ipcs.c:638 sys-utils/ipcs.c:661
+msgid "Not set"
+msgstr ""
+
+#: sys-utils/ipcs.c:365
+msgid "dest"
+msgstr ""
+
+#: sys-utils/ipcs.c:366
+msgid "locked"
+msgstr ""
+
+#: sys-utils/ipcs.c:386
+#, c-format
+msgid "kernel not configured for semaphores\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:392
+#, c-format
+msgid "------ Semaphore Limits --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:396
+#, c-format
+msgid "max number of arrays = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:397
+#, c-format
+msgid "max semaphores per array = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:398
+#, c-format
+msgid "max semaphores system wide = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:399
+#, c-format
+msgid "max ops per semop call = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:400
+#, c-format
+msgid "semaphore max value = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:404
+#, c-format
+msgid "------ Semaphore Status --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:405
+#, c-format
+msgid "used arrays = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:406
+#, c-format
+msgid "allocated semaphores = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:410
+#, c-format
+msgid "------ Semaphore Arrays Creators/Owners --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:412 sys-utils/ipcs.c:418 sys-utils/ipcs.c:427
+msgid "semid"
+msgstr ""
+
+#: sys-utils/ipcs.c:416
+#, c-format
+msgid "------ Semaphore Operation/Change Times --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:418
+msgid "last-op"
+msgstr ""
+
+#: sys-utils/ipcs.c:418
+msgid "last-changed"
+msgstr ""
+
+#: sys-utils/ipcs.c:425
+#, c-format
+msgid "------ Semaphore Arrays --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:427
+msgid "nsems"
+msgstr ""
+
+#: sys-utils/ipcs.c:486
+#, c-format
+msgid "kernel not configured for message queues\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:494
+#, c-format
+msgid "------ Messages: Limits --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:495
+#, c-format
+msgid "max queues system wide = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:496
+#, c-format
+msgid "max size of message (bytes) = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:497
+#, c-format
+msgid "default max size of queue (bytes) = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:501
+#, c-format
+msgid "------ Messages: Status --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:502
+#, c-format
+msgid "allocated queues = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:503
+#, c-format
+msgid "used headers = %d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:504
+#, c-format
+msgid "used space = %d bytes\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:508
+#, c-format
+msgid "------ Message Queues: Creators/Owners --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:510 sys-utils/ipcs.c:516 sys-utils/ipcs.c:522
+#: sys-utils/ipcs.c:528
+msgid "msqid"
+msgstr ""
+
+#: sys-utils/ipcs.c:514
+#, c-format
+msgid "------ Message Queues Send/Recv/Change Times --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:516
+msgid "send"
+msgstr ""
+
+#: sys-utils/ipcs.c:516
+msgid "recv"
+msgstr ""
+
+#: sys-utils/ipcs.c:516
+msgid "change"
+msgstr ""
+
+#: sys-utils/ipcs.c:520
+#, c-format
+msgid "------ Message Queues PIDs --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:522
+msgid "lspid"
+msgstr ""
+
+#: sys-utils/ipcs.c:522
+msgid "lrpid"
+msgstr ""
+
+#: sys-utils/ipcs.c:526
+#, c-format
+msgid "------ Message Queues --------\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:529
+msgid "used-bytes"
+msgstr ""
+
+#: sys-utils/ipcs.c:529
+msgid "messages"
+msgstr ""
+
+#: sys-utils/ipcs.c:593
+#, fuzzy
+msgid "shmctl failed"
+msgstr "%s 失败.\n"
+
+#: sys-utils/ipcs.c:595
+#, c-format
+msgid ""
+"\n"
+"Shared memory Segment shmid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:596
+#, c-format
+msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:598
+#, c-format
+msgid "mode=%#o\taccess_perms=%#o\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:600
+#, c-format
+msgid "bytes=%ld\tlpid=%d\tcpid=%d\tnattch=%ld\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:603
+#, c-format
+msgid "att_time=%-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:605
+#, c-format
+msgid "det_time=%-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:607 sys-utils/ipcs.c:637
+#, c-format
+msgid "change_time=%-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:619
+#, fuzzy
+msgid "msgctl failed"
+msgstr "%s 失败.\n"
+
+#: sys-utils/ipcs.c:621
+#, c-format
+msgid ""
+"\n"
+"Message Queue msqid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:622
+#, c-format
+msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:624
+#, c-format
+msgid "cbytes=%ld\tqbytes=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:633
+#, c-format
+msgid "send_time=%-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:635
+#, c-format
+msgid "rcv_time=%-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:652 sys-utils/ipcs.c:674
+#, fuzzy
+msgid "semctl failed"
+msgstr "查找失败"
+
+#: sys-utils/ipcs.c:654
+#, c-format
+msgid ""
+"\n"
+"Semaphore Array semid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:655
+#, c-format
+msgid "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:657
+#, c-format
+msgid "mode=%#o, access_perms=%#o\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:659
+#, c-format
+msgid "nsems = %ld\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:660
+#, c-format
+msgid "otime = %-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:662
+#, c-format
+msgid "ctime = %-26.24s\n"
+msgstr ""
+
+#: sys-utils/ipcs.c:665
+msgid "semnum"
+msgstr ""
+
+#: sys-utils/ipcs.c:665
+msgid "value"
+msgstr ""
+
+#: sys-utils/ipcs.c:665
+msgid "ncount"
+msgstr ""
+
+#: sys-utils/ipcs.c:665
+msgid "zcount"
+msgstr ""
+
+#: sys-utils/ipcs.c:665
+msgid "pid"
+msgstr ""
+
+#: sys-utils/ldattach.c:92
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [ -dhV78neo12 ] [ -s <speed> ] <ldisc> <device>\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:94
+msgid ""
+"\n"
+"Known <ldisc> names:\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:179
+#, c-format
+msgid "invalid speed: %s"
+msgstr ""
+
+#: sys-utils/ldattach.c:182
+#, c-format
+msgid "ldattach from %s\n"
+msgstr ""
+
+#: sys-utils/ldattach.c:187 text-utils/tailf.c:205
+msgid "invalid option"
+msgstr ""
+
+#: sys-utils/ldattach.c:199
+#, c-format
+msgid "invalid line discipline: %s"
+msgstr ""
+
+#: sys-utils/ldattach.c:207
+#, c-format
+msgid "%s is not a serial line"
+msgstr ""
+
+#: sys-utils/ldattach.c:213
+#, c-format
+msgid "cannot get terminal attributes for %s"
+msgstr ""
+
+#: sys-utils/ldattach.c:216
+#, c-format
+msgid "speed %d unsupported"
+msgstr ""
+
+#: sys-utils/ldattach.c:247
+#, c-format
+msgid "cannot set terminal attributes for %s"
+msgstr ""
+
+#: sys-utils/ldattach.c:254
+msgid "cannot set line discipline"
+msgstr ""
+
+#: sys-utils/ldattach.c:260
+msgid "cannot daemonize"
+msgstr ""
+
+#: sys-utils/lscpu.c:64
+#, fuzzy
+msgid "none"
+msgstr "完成\n"
+
+#: sys-utils/lscpu.c:65
+msgid "para"
+msgstr ""
+
+#: sys-utils/lscpu.c:66
+msgid "full"
+msgstr ""
+
+#: sys-utils/lscpu.c:129 sys-utils/lscpu.c:152 sys-utils/lscpu.c:441
+#, c-format
+msgid "error: %s"
+msgstr ""
+
+#: sys-utils/lscpu.c:154
+#, c-format
+msgid "error parse: %s"
+msgstr ""
+
+#: sys-utils/lscpu.c:176
+msgid "error: strdup failed"
+msgstr ""
+
+#: sys-utils/lscpu.c:259
+#, fuzzy
+msgid "error: uname failed"
+msgstr "查找失败"
+
+#: sys-utils/lscpu.c:491
+msgid "error: malloc failed"
+msgstr ""
+
+#: sys-utils/lscpu.c:506
+msgid "error: /sys filesystem is not accessable."
+msgstr ""
+
+#: sys-utils/lscpu.c:524
+#, 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"
+"# CPU,Core,Socket,Node"
+msgstr ""
+
+#: sys-utils/lscpu.c:590
+msgid "Thread(s) per core:"
+msgstr ""
+
+#: sys-utils/lscpu.c:591
+msgid "Core(s) per socket:"
+msgstr ""
+
+#: sys-utils/lscpu.c:592
+msgid "CPU socket(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:596
+msgid "NUMA node(s):"
+msgstr ""
+
+#: sys-utils/lscpu.c:598
+msgid "Vendor ID:"
+msgstr ""
+
+#: sys-utils/lscpu.c:600
+msgid "CPU family:"
+msgstr ""
+
+#: sys-utils/lscpu.c:602
+msgid "Model:"
+msgstr ""
+
+#: sys-utils/lscpu.c:604
+msgid "Stepping:"
+msgstr ""
+
+#: sys-utils/lscpu.c:606
+msgid "CPU MHz:"
+msgstr ""
+
+#: sys-utils/lscpu.c:609 sys-utils/lscpu.c:611
+msgid "Virtualization:"
+msgstr ""
+
+#: sys-utils/lscpu.c:614
+msgid "Hypervisor vendor:"
+msgstr ""
+
+#: sys-utils/lscpu.c:615
+msgid "Virtualization type:"
+msgstr ""
+
+#: sys-utils/lscpu.c:623
+#, c-format
+msgid "%s cache:"
+msgstr ""
+
+#: sys-utils/lscpu.c:631
+#, fuzzy, c-format
+msgid "Usage: %s [option]\n"
+msgstr "用法: %s [ -n ] device\n"
+
+#: sys-utils/lscpu.c:634
+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 ""
+
+#: sys-utils/lscpu.c:683
+#, c-format
+msgid "error: change working directory to %s."
+msgstr ""
+
+#: sys-utils/rdev.c:77
+msgid "usage: rdev [ -rv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]"
+msgstr ""
+
+#: sys-utils/rdev.c:78
+msgid ""
+"  rdev /dev/fd0  (or rdev /linux, etc.) displays the current ROOT device"
+msgstr ""
+
+#: sys-utils/rdev.c:79
+msgid "  rdev /dev/fd0 /dev/hda2         sets ROOT to /dev/hda2"
+msgstr ""
+
+#: sys-utils/rdev.c:80
+msgid "  rdev -R /dev/fd0 1              set the ROOTFLAGS (readonly status)"
+msgstr ""
+
+#: sys-utils/rdev.c:81
+msgid "  rdev -r /dev/fd0 627            set the RAMDISK size"
+msgstr ""
+
+#: sys-utils/rdev.c:82
+msgid "  rdev -v /dev/fd0 1              set the bootup VIDEOMODE"
+msgstr ""
+
+#: sys-utils/rdev.c:83
+msgid "  rdev -o N ...                   use the byte offset N"
+msgstr ""
+
+#: sys-utils/rdev.c:84
+msgid "  rootflags ...                   same as rdev -R"
+msgstr ""
+
+#: sys-utils/rdev.c:85
+msgid "  ramsize ...                     same as rdev -r"
+msgstr ""
+
+#: sys-utils/rdev.c:86
+msgid "  vidmode ...                     same as rdev -v"
+msgstr ""
+
+#: sys-utils/rdev.c:87
+msgid ""
+"Note: video modes are: -3=Ask, -2=Extended, -1=NormalVga, 1=key1, 2=key2,..."
+msgstr ""
+
+#: sys-utils/rdev.c:88
+msgid "      use -R 1 to mount root readonly, -R 0 for read/write."
+msgstr ""
+
+#: sys-utils/rdev.c:245
+msgid "missing comma"
+msgstr ""
+
+#: sys-utils/readprofile.c:72
+#, c-format
+msgid "out of memory"
+msgstr ""
+
+#: sys-utils/readprofile.c:118
+#, 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 ""
+
+#: sys-utils/readprofile.c:227
+#, c-format
+msgid "readprofile: error writing %s: %s\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:268
+#, c-format
+msgid "Assuming reversed byte order. Use -n to force native byte order.\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:284
+#, c-format
+msgid "Sampling_step: %i\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:305 sys-utils/readprofile.c:331
+#, c-format
+msgid "%s: %s(%i): wrong map line\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:318
+#, c-format
+msgid "%s: can't find \"_stext\" in %s\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:352
+#, c-format
+msgid "%s: profile address out of range. Wrong map file?\n"
+msgstr ""
+
+#: sys-utils/readprofile.c:412
+msgid "total"
+msgstr ""
+
+#: sys-utils/renice.c:53
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+" renice [-n] priority [-p|--pid] pid  [... pid]\n"
+" renice [-n] priority  -g|--pgrp pgrp [... pgrp]\n"
+" renice [-n] priority  -u|--user user [... user]\n"
+" renice -h | --help\n"
+" renice -v | --version\n"
+"\n"
+msgstr ""
+
+#: sys-utils/renice.c:89
+#, c-format
+msgid "renice from %s\n"
+msgstr ""
+
+#: sys-utils/renice.c:126
+#, c-format
+msgid "renice: %s: unknown user\n"
+msgstr ""
+
+#: sys-utils/renice.c:134
+#, c-format
+msgid "renice: %s: bad value\n"
+msgstr ""
+
+#: sys-utils/renice.c:152 sys-utils/renice.c:164
+msgid "getpriority"
+msgstr ""
+
+#: sys-utils/renice.c:157
+msgid "setpriority"
+msgstr ""
+
+#: sys-utils/renice.c:168
+#, c-format
+msgid "%d: old priority %d, new priority %d\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:81
+#, c-format
+msgid ""
+"usage: %s [options]\n"
+"    -d | --device <device>    select rtc device (rtc0|rtc1|...)\n"
+"    -l | --local              RTC uses local timezone\n"
+"    -m | --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"
+"    -V | --version            show version\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:140
+msgid "read rtc time"
+msgstr ""
+
+#: sys-utils/rtcwake.c:145
+msgid "read system time"
+msgstr ""
+
+#: sys-utils/rtcwake.c:163
+msgid "convert rtc time"
+msgstr ""
+
+#: sys-utils/rtcwake.c:222
+msgid "set rtc alarm"
+msgstr ""
+
+#: sys-utils/rtcwake.c:226
+msgid "enable rtc alarm"
+msgstr ""
+
+#: sys-utils/rtcwake.c:230
+msgid "set rtc wake alarm"
+msgstr ""
+
+#: sys-utils/rtcwake.c:342
+#, c-format
+msgid "%s: unrecognized suspend state '%s'\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:351
+#, c-format
+msgid "%s: illegal interval %s seconds\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:365
+#, c-format
+msgid "%s: illegal time_t value %s\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:381
+#, c-format
+msgid "%s: version %s\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:394
+#, c-format
+msgid "%s: assuming RTC uses UTC ...\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:399
+#, c-format
+msgid "Using UTC time.\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:400
+#, c-format
+msgid "Using local time.\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:403
+#, c-format
+msgid "%s: must provide wake time\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:413
+msgid "malloc() failed"
+msgstr ""
+
+#: sys-utils/rtcwake.c:425
+#, c-format
+msgid "%s: %s not enabled for wakeup events\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:441
+#, c-format
+msgid "alarm %ld, sys_time %ld, rtc_time %ld, seconds %u\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:446
+#, c-format
+msgid "%s: time doesn't go backward to %s\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:456
+#, c-format
+msgid "%s: wakeup from \"%s\" using %s at %s\n"
+msgstr ""
+
+#: sys-utils/rtcwake.c:473
+msgid "rtc read"
+msgstr ""
+
+#: sys-utils/rtcwake.c:482
+msgid "disable rtc alarm interrupt"
+msgstr ""
+
+#: sys-utils/setarch.c:50
+#, c-format
+msgid "Switching on %s.\n"
+msgstr ""
+
+#: sys-utils/setarch.c:113
+#, c-format
+msgid ""
+"Usage: %s%s [options] [program [program arguments]]\n"
+"\n"
+"Options:\n"
+msgstr ""
+
+#: sys-utils/setarch.c:117
+#, c-format
+msgid ""
+" -h, --help               displays this help text\n"
+" -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"
+msgstr ""
+
+#: sys-utils/setarch.c:131
+#, c-format
+msgid ""
+"\n"
+"For more information see setarch(8).\n"
+msgstr ""
+
+#: sys-utils/setarch.c:143
+#, c-format
+msgid ""
+"%s: %s\n"
+"Try `%s --help' for more information.\n"
+msgstr ""
+
+#: sys-utils/setarch.c:215 sys-utils/setarch.c:231
+#, c-format
+msgid "%s: Unrecognized architecture"
+msgstr ""
+
+#: sys-utils/setarch.c:249 sys-utils/setarch.c:256
+msgid "Not enough arguments"
+msgstr ""
+
+#: sys-utils/setarch.c:265 sys-utils/setarch.c:318
+#, c-format
+msgid "Failed to set personality to %s"
+msgstr ""
+
+#: sys-utils/setsid.c:26
+#, c-format
+msgid "usage: %s program [arg ...]\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:75
+#, c-format
+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 ""
+
+#: sys-utils/tunelp.c:91
+msgid "malloc error"
+msgstr ""
+
+#: sys-utils/tunelp.c:103
+#, c-format
+msgid "%s: bad value\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:242
+#, c-format
+msgid "%s: %s not an lp device.\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:263
+#, c-format
+msgid "%s status is %d"
+msgstr ""
+
+#: sys-utils/tunelp.c:264
+#, c-format
+msgid ", busy"
+msgstr ""
+
+#: sys-utils/tunelp.c:265
+#, c-format
+msgid ", ready"
+msgstr ""
+
+#: sys-utils/tunelp.c:266
+#, c-format
+msgid ", out of paper"
+msgstr ""
+
+#: sys-utils/tunelp.c:267
+#, c-format
+msgid ", on-line"
+msgstr ""
+
+#: sys-utils/tunelp.c:268
+#, c-format
+msgid ", error"
+msgstr ""
+
+#: sys-utils/tunelp.c:285
+msgid "LPGETIRQ error"
+msgstr ""
+
+#: sys-utils/tunelp.c:291
+#, c-format
+msgid "%s using IRQ %d\n"
+msgstr ""
+
+#: sys-utils/tunelp.c:293
+#, c-format
+msgid "%s using polling\n"
+msgstr ""
+
+#: text-utils/col.c:154
+#, c-format
+msgid "col: bad -l argument %s.\n"
+msgstr ""
+
+#: text-utils/col.c:544
+#, c-format
+msgid "usage: col [-bfpx] [-l nline]\n"
+msgstr ""
+
+#: text-utils/col.c:550
+#, c-format
+msgid "col: write error.\n"
+msgstr ""
+
+#: text-utils/col.c:557
+#, c-format
+msgid "col: warning: can't back up %s.\n"
+msgstr ""
+
+#: text-utils/col.c:558
+msgid "past first line"
+msgstr ""
+
+#: text-utils/col.c:558
+msgid "-- line already flushed"
+msgstr ""
+
+#: text-utils/colcrt.c:97
+#, c-format
+msgid "usage: %s [ - ] [ -2 ] [ file ... ]\n"
+msgstr ""
+
+#: text-utils/column.c:297
+msgid "line too long"
+msgstr ""
+
+#: text-utils/column.c:374
+#, c-format
+msgid "usage: column [-tx] [-c columns] [file ...]\n"
+msgstr ""
+
+#: text-utils/hexsyntax.c:82
+#, c-format
+msgid "hexdump: bad length value.\n"
+msgstr ""
+
+#: text-utils/hexsyntax.c:93
+#, c-format
+msgid "hexdump: bad skip value.\n"
+msgstr ""
+
+#: text-utils/hexsyntax.c:131
+#, c-format
+msgid ""
+"hexdump: [-bcCdovx] [-e fmt] [-f fmt_file] [-n length] [-s skip] [file ...]\n"
+msgstr ""
+
+#: text-utils/more.c:256
+#, c-format
+msgid "usage: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n"
+msgstr ""
+
+#: text-utils/more.c:479
+#, c-format
+msgid "%s: unknown option \"-%c\"\n"
+msgstr ""
+
+#: text-utils/more.c:511
+#, c-format
+msgid ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+msgstr ""
+
+#: text-utils/more.c:555
+#, c-format
+msgid ""
+"\n"
+"******** %s: Not a text file ********\n"
+"\n"
+msgstr ""
+
+#: text-utils/more.c:658
+#, c-format
+msgid "[Use q or Q to quit]"
+msgstr ""
+
+#: text-utils/more.c:750
+#, c-format
+msgid "--More--"
+msgstr ""
+
+#: text-utils/more.c:752
+#, c-format
+msgid "(Next file: %s)"
+msgstr ""
+
+#: text-utils/more.c:757
+#, c-format
+msgid "[Press space to continue, 'q' to quit.]"
+msgstr ""
+
+#: text-utils/more.c:1172
+#, c-format
+msgid "...back %d pages"
+msgstr ""
+
+#: text-utils/more.c:1174
+msgid "...back 1 page"
+msgstr ""
+
+#: text-utils/more.c:1217
+msgid "...skipping one line"
+msgstr ""
+
+#: text-utils/more.c:1219
+#, c-format
+msgid "...skipping %d lines"
+msgstr ""
+
+#: text-utils/more.c:1256
+msgid ""
+"\n"
+"***Back***\n"
+"\n"
+msgstr ""
+
+#: text-utils/more.c:1294
+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:1301
+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:1370 text-utils/more.c:1375
+#, c-format
+msgid "[Press 'h' for instructions.]"
+msgstr ""
+
+#: text-utils/more.c:1409
+#, c-format
+msgid "\"%s\" line %d"
+msgstr ""
+
+#: text-utils/more.c:1411
+#, c-format
+msgid "[Not a file] line %d"
+msgstr ""
+
+#: text-utils/more.c:1495
+msgid "  Overflow\n"
+msgstr ""
+
+#: text-utils/more.c:1542
+msgid "...skipping\n"
+msgstr ""
+
+#: text-utils/more.c:1571
+msgid "Regular expression botch"
+msgstr ""
+
+#: text-utils/more.c:1579
+msgid ""
+"\n"
+"Pattern not found\n"
+msgstr ""
+
+#: text-utils/more.c:1582 text-utils/pg.c:1124 text-utils/pg.c:1275
+msgid "Pattern not found"
+msgstr ""
+
+#: text-utils/more.c:1643
+msgid "can't fork\n"
+msgstr ""
+
+#: text-utils/more.c:1682
+msgid ""
+"\n"
+"...Skipping "
+msgstr ""
+
+#: text-utils/more.c:1686
+msgid "...Skipping to file "
+msgstr ""
+
+#: text-utils/more.c:1688
+msgid "...Skipping back to file "
+msgstr ""
+
+#: text-utils/more.c:1966
+msgid "Line too long"
+msgstr ""
+
+#: text-utils/more.c:2009
+msgid "No previous command to substitute for"
+msgstr ""
+
+#: text-utils/odsyntax.c:130
+#, c-format
+msgid "od: od(1) has been deprecated for hexdump(1).\n"
+msgstr ""
+
+#: text-utils/odsyntax.c:133
+#, c-format
+msgid "od: hexdump(1) compatibility doesn't support the -%c option%s\n"
+msgstr ""
+
+#: text-utils/odsyntax.c:134
+msgid "; see strings(1)."
+msgstr ""
+
+#: text-utils/parse.c:63
+#, c-format
+msgid "hexdump: can't read %s.\n"
+msgstr ""
+
+#: text-utils/parse.c:68
+#, c-format
+msgid "hexdump: line too long.\n"
+msgstr ""
+
+#: text-utils/parse.c:401
+#, c-format
+msgid "hexdump: byte count with multiple conversion characters.\n"
+msgstr ""
+
+#: text-utils/parse.c:483
+#, c-format
+msgid "hexdump: bad byte count for conversion character %s.\n"
+msgstr ""
+
+#: text-utils/parse.c:490
+#, c-format
+msgid "hexdump: %%s requires a precision or a byte count.\n"
+msgstr ""
+
+#: text-utils/parse.c:496
+#, c-format
+msgid "hexdump: bad format {%s}\n"
+msgstr ""
+
+#: text-utils/parse.c:502
+#, c-format
+msgid "hexdump: bad conversion character %%%s.\n"
+msgstr ""
+
+#: text-utils/pg.c:145
+msgid ""
+"All rights reserved.\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"
+msgstr ""
+
+#: text-utils/pg.c:223
+msgid "Out of memory\n"
+msgstr ""
+
+#: text-utils/pg.c:236
+#, c-format
+msgid ""
+"%s: Usage: %s [-number] [-p string] [-cefnrs] [+line] [+/pattern/] [files]\n"
+msgstr ""
+
+#: text-utils/pg.c:245
+#, c-format
+msgid "%s: option requires an argument -- %s\n"
+msgstr ""
+
+#: text-utils/pg.c:253
+#, c-format
+msgid "%s: illegal option -- %s\n"
+msgstr ""
+
+#: text-utils/pg.c:370
+msgid "...skipping forward\n"
+msgstr ""
+
+#: text-utils/pg.c:372
+msgid "...skipping backward\n"
+msgstr ""
+
+#: text-utils/pg.c:394
+msgid "No next file"
+msgstr ""
+
+#: text-utils/pg.c:398
+msgid "No previous file"
+msgstr ""
+
+#: text-utils/pg.c:928
+#, c-format
+msgid "%s: Read error from %s file\n"
+msgstr ""
+
+#: text-utils/pg.c:934
+#, c-format
+msgid "%s: Unexpected EOF in %s file\n"
+msgstr ""
+
+#: text-utils/pg.c:937
+#, c-format
+msgid "%s: Unknown error in %s file\n"
+msgstr ""
+
+#: text-utils/pg.c:1032
+#, c-format
+msgid "%s: Cannot create tempfile\n"
+msgstr ""
+
+#: text-utils/pg.c:1041 text-utils/pg.c:1216 text-utils/pg.c:1243
+msgid "RE error: "
+msgstr ""
+
+#: text-utils/pg.c:1198
+msgid "(EOF)"
+msgstr ""
+
+#: text-utils/pg.c:1224 text-utils/pg.c:1251
+msgid "No remembered search string"
+msgstr ""
+
+#: text-utils/pg.c:1307
+msgid "Cannot open "
+msgstr ""
+
+#: text-utils/pg.c:1355
+msgid "saved"
+msgstr ""
+
+#: text-utils/pg.c:1462
+msgid ": !command not allowed in rflag mode.\n"
+msgstr ""
+
+#: text-utils/pg.c:1494
+msgid "fork() failed, try again later\n"
+msgstr ""
+
+#: text-utils/pg.c:1702
+msgid "(Next file: "
+msgstr ""
+
+#: text-utils/rev.c:113
+msgid "unable to allocate bufferspace"
+msgstr ""
+
+#: text-utils/rev.c:143
+#, c-format
+msgid "usage: rev [file ...]\n"
+msgstr ""
+
+#: text-utils/tailf.c:57 text-utils/tailf.c:92
+#, c-format
+msgid "cannot open \"%s\" for read"
+msgstr ""
+
+#: text-utils/tailf.c:95 text-utils/tailf.c:214
+#, c-format
+msgid "cannot stat \"%s\""
+msgstr ""
+
+#: text-utils/tailf.c:108
+#, c-format
+msgid "incomplete write to \"%s\" (written %zd, expected %zd)\n"
+msgstr ""
+
+#: text-utils/tailf.c:146
+#, c-format
+msgid "%s: cannot add inotify watch (limit of inotify watches was reached)."
+msgstr ""
+
+#: text-utils/tailf.c:150
+#, c-format
+msgid "%s: cannot add inotify watch."
+msgstr ""
+
+#: text-utils/tailf.c:159
+#, fuzzy, c-format
+msgid "%s: cannot read inotify events"
+msgstr "%s: 不能打开 %s\n"
+
+#: text-utils/tailf.c:198 text-utils/tailf.c:202
+msgid "invalid number of lines"
+msgstr ""
+
+#: text-utils/tailf.c:209
+msgid "usage: tailf [-n N | -N] logfile"
+msgstr ""
+
+#: text-utils/ul.c:141
+#, c-format
+msgid "usage: %s [ -i ] [ -tTerm ] file...\n"
+msgstr ""
+
+#: text-utils/ul.c:152
+#, c-format
+msgid "trouble reading terminfo"
+msgstr ""
+
+#: text-utils/ul.c:242
+#, c-format
+msgid "Unknown escape sequence in input: %o, %o\n"
+msgstr ""
+
+#: text-utils/ul.c:425
+#, c-format
+msgid "Unable to allocate buffer.\n"
+msgstr ""
+
+#: text-utils/ul.c:586
+#, c-format
+msgid "Input line too long.\n"
+msgstr ""
+
+#: text-utils/ul.c:599
+#, c-format
+msgid "Out of memory when growing buffer.\n"
+msgstr ""
+
+#, fuzzy
+#~ msgid ""
+#~ "unit: sectors\n"
+#~ "\n"
+#~ msgstr "获得段大小"
+
+#, fuzzy
+#~ msgid ", size=%9lu"
+#~ msgstr "Maxsize=%ld\n"
diff --git a/schedutils/Makefile.am b/schedutils/Makefile.am
new file mode 100644 (file)
index 0000000..88439f2
--- /dev/null
@@ -0,0 +1,20 @@
+include $(top_srcdir)/config/include-Makefile.am
+
+if BUILD_SCHEDUTILS
+
+usrbin_exec_PROGRAMS = chrt
+dist_man_MANS = chrt.1
+
+if HAVE_IOPRIO_GET
+if HAVE_IOPRIO_SET
+usrbin_exec_PROGRAMS += ionice
+dist_man_MANS += ionice.1
+endif
+endif
+
+if HAVE_SCHED_GETAFFINITY
+usrbin_exec_PROGRAMS += taskset
+dist_man_MANS += taskset.1
+endif
+
+endif
diff --git a/schedutils/Makefile.in b/schedutils/Makefile.in
new file mode 100644 (file)
index 0000000..bf40eaf
--- /dev/null
@@ -0,0 +1,677 @@
+# Makefile.in generated by automake 1.11 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@
+DIST_COMMON = $(am__dist_noinst_DATA_DIST) $(dist_man_MANS) \
+       $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+       $(top_srcdir)/config/include-Makefile.am
+@BUILD_SCHEDUTILS_TRUE@usrbin_exec_PROGRAMS = chrt$(EXEEXT) \
+@BUILD_SCHEDUTILS_TRUE@        $(am__EXEEXT_1) $(am__EXEEXT_2)
+@BUILD_SCHEDUTILS_TRUE@@HAVE_IOPRIO_GET_TRUE@@HAVE_IOPRIO_SET_TRUE@am__append_1 = ionice
+@BUILD_SCHEDUTILS_TRUE@@HAVE_IOPRIO_GET_TRUE@@HAVE_IOPRIO_SET_TRUE@am__append_2 = ionice.1
+@BUILD_SCHEDUTILS_TRUE@@HAVE_SCHED_GETAFFINITY_TRUE@am__append_3 = taskset
+@BUILD_SCHEDUTILS_TRUE@@HAVE_SCHED_GETAFFINITY_TRUE@am__append_4 = taskset.1
+subdir = schedutils
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.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)/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 =
+CONFIG_CLEAN_VPATH_FILES =
+@BUILD_SCHEDUTILS_TRUE@@HAVE_IOPRIO_GET_TRUE@@HAVE_IOPRIO_SET_TRUE@am__EXEEXT_1 = ionice$(EXEEXT)
+@BUILD_SCHEDUTILS_TRUE@@HAVE_SCHED_GETAFFINITY_TRUE@am__EXEEXT_2 = taskset$(EXEEXT)
+am__installdirs = "$(DESTDIR)$(usrbin_execdir)" "$(DESTDIR)$(man1dir)"
+PROGRAMS = $(usrbin_exec_PROGRAMS)
+chrt_SOURCES = chrt.c
+chrt_OBJECTS = chrt.$(OBJEXT)
+chrt_LDADD = $(LDADD)
+ionice_SOURCES = ionice.c
+ionice_OBJECTS = ionice.$(OBJEXT)
+ionice_LDADD = $(LDADD)
+taskset_SOURCES = taskset.c
+taskset_OBJECTS = taskset.$(OBJEXT)
+taskset_LDADD = $(LDADD)
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+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) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+       --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+       --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+       $(LDFLAGS) -o $@
+SOURCES = chrt.c ionice.c taskset.c
+DIST_SOURCES = chrt.c ionice.c taskset.c
+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'
+man1dir = $(mandir)/man1
+NROFF = nroff
+MANS = $(dist_man_MANS)
+am__dist_noinst_DATA_DIST = chrt.1 ionice.1 taskset.1
+DATA = $(dist_noinst_DATA)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BLKID = @BLKID@
+BLKID_CFLAGS = @BLKID_CFLAGS@
+BLKID_LIBS = @BLKID_LIBS@
+BLKID_LIBS_STATIC = @BLKID_LIBS_STATIC@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+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@
+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_VERSION = @LIBBLKID_VERSION@
+LIBBLKID_VERSION_INFO = @LIBBLKID_VERSION_INFO@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+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@
+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_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+POSUB = @POSUB@
+RANLIB = @RANLIB@
+SED = @SED@
+SELINUX_LIBS = @SELINUX_LIBS@
+SELINUX_LIBS_STATIC = @SELINUX_LIBS_STATIC@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SUID_CFLAGS = @SUID_CFLAGS@
+SUID_LDFLAGS = @SUID_LDFLAGS@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
+VERSION = @VERSION@
+VOLID = @VOLID@
+XGETTEXT = @XGETTEXT@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+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@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+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 $(top_builddir)/config.h -I$(top_srcdir)/include \
+       -DLOCALEDIR=\"$(localedir)\"
+
+AM_CFLAGS = -fsigned-char
+AM_LDFLAGS = 
+
+# 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)
+#
+# blkid
+ul_libblkid_srcdir = $(top_srcdir)/shlibs/blkid/src
+ul_libblkid_builddir = $(top_builddir)/shlibs/blkid/src
+ul_libblkid_la = $(top_builddir)/shlibs/blkid/src/libblkid.la
+
+# uuid
+ul_libuuid_srcdir = $(top_srcdir)/shlibs/uuid/src
+ul_libuuid_builddir = $(top_builddir)/shlibs/uuid/src
+ul_libuuid_la = $(top_builddir)/shlibs/uuid/src/libuuid.la
+@BUILD_SCHEDUTILS_TRUE@dist_man_MANS = chrt.1 $(am__append_2) \
+@BUILD_SCHEDUTILS_TRUE@        $(am__append_4)
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/config/include-Makefile.am $(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 schedutils/Makefile'; \
+       $(am__cd) $(top_srcdir) && \
+         $(AUTOMAKE) --foreign schedutils/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):
+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
+chrt$(EXEEXT): $(chrt_OBJECTS) $(chrt_DEPENDENCIES) 
+       @rm -f chrt$(EXEEXT)
+       $(LINK) $(chrt_OBJECTS) $(chrt_LDADD) $(LIBS)
+ionice$(EXEEXT): $(ionice_OBJECTS) $(ionice_DEPENDENCIES) 
+       @rm -f ionice$(EXEEXT)
+       $(LINK) $(ionice_OBJECTS) $(ionice_LDADD) $(LIBS)
+taskset$(EXEEXT): $(taskset_OBJECTS) $(taskset_DEPENDENCIES) 
+       @rm -f taskset$(EXEEXT)
+       $(LINK) $(taskset_OBJECTS) $(taskset_LDADD) $(LIBS)
+
+mostlyclean-compile:
+       -rm -f *.$(OBJEXT)
+
+distclean-compile:
+       -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chrt.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ionice.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/taskset.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@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 $<
+
+.c.obj:
+@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@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 `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@   $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@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 $@ $<
+
+mostlyclean-libtool:
+       -rm -f *.lo
+
+clean-libtool:
+       -rm -rf .libs _libs
+install-man1: $(dist_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)'; 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)'; 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; }
+
+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:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       set x; \
+       here=`pwd`; \
+       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; }; }'`; \
+       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:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       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; }; }'`; \
+       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
+
+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
+       @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 $(PROGRAMS) $(MANS) $(DATA)
+installdirs:
+       for dir in "$(DESTDIR)$(usrbin_execdir)" "$(DESTDIR)$(man1dir)"; do \
+         test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+       done
+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:
+
+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)
+
+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-usrbin_execPROGRAMS \
+       mostlyclean-am
+
+distclean: distclean-am
+       -rm -rf ./$(DEPDIR)
+       -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+       distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-man
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-usrbin_execPROGRAMS
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man: install-man1
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+       -rm -rf ./$(DEPDIR)
+       -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+       mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-man uninstall-usrbin_execPROGRAMS
+
+uninstall-man: uninstall-man1
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+       clean-libtool clean-usrbin_execPROGRAMS ctags distclean \
+       distclean-compile distclean-generic distclean-libtool \
+       distclean-tags distdir dvi dvi-am html html-am info info-am \
+       install install-am install-data install-data-am install-dvi \
+       install-dvi-am install-exec install-exec-am install-html \
+       install-html-am install-info install-info-am install-man \
+       install-man1 install-pdf install-pdf-am install-ps \
+       install-ps-am install-strip install-usrbin_execPROGRAMS \
+       installcheck installcheck-am installdirs maintainer-clean \
+       maintainer-clean-generic mostlyclean mostlyclean-compile \
+       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+       tags uninstall uninstall-am uninstall-man uninstall-man1 \
+       uninstall-usrbin_execPROGRAMS
+
+
+$(ul_libblkid_la):
+       $(MAKE) -C $(ul_libblkid_builddir)
+
+$(ul_libuuid_la):
+       $(MAKE) -C $(ul_libuuid_builddir)
+
+# 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/schedutils/chrt.1 b/schedutils/chrt.1
new file mode 100644 (file)
index 0000000..06c58b4
--- /dev/null
@@ -0,0 +1,134 @@
+.\" 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 manual; if not, write to the Free
+.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111,
+.\" USA.
+.\"
+.\" 2002-05-11 Robert Love <rml@tech9.net>
+.\"    Initial version
+.\"
+.TH CHRT "1" "Apr 2003" "schedutils" "Linux User's Manual"
+.SH NAME
+chrt \- manipulate 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
+.BR chrt (1)
+sets or retrieves the real-time scheduling attributes of an existing PID or
+runs COMMAND 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.
+.SH OPTIONS
+.TP
+.B -p, --pid
+operate on an existing PID and do not launch a new task
+.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 schedulng 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 -r, --rr
+set scheduling policy to
+.BR SCHED_RR
+(the default)
+.TP
+.B -h, --help
+display usage information and exit
+.TP
+.B -v, --version
+output version information and exit
+.SH USAGE
+.TP
+The default behavior is to run a new command::
+chrt prio command [arguments]
+.TP
+You can also retrieve the real-time attributes of an existing task:
+chrt -p pid
+.TP
+Or set them:
+chrt -p 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-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/schedutils/chrt.c b/schedutils/chrt.c
new file mode 100644 (file)
index 0000000..7d6bb2d
--- /dev/null
@@ -0,0 +1,255 @@
+/*
+ * chrt.c - chrt
+ * Command-line utility for manipulating a task's real-time attributes 
+ *
+ * Robert Love <rml@tech9.net>
+ * 27-Apr-2002: initial version
+ *
+ * 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., 675 Mass Ave, Cambridge, MA 02139, 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 <err.h>
+
+#include "nls.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
+
+#ifndef ARRAY_SIZE
+# define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
+#endif
+
+static void show_usage(int rc)
+{
+       fprintf(stdout, _(
+       "\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\n"
+       "\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"
+       "\nOptions:\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"));
+
+       exit(rc);
+}
+
+static void show_rt_info(const char *what, pid_t pid)
+{
+       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);
+
+       printf(_("pid %d's %s scheduling policy: "), pid, what);
+       switch (policy) {
+       case SCHED_OTHER:
+               printf("SCHED_OTHER\n");
+               break;
+       case SCHED_FIFO:
+               printf("SCHED_FIFO\n");
+               break;
+#ifdef SCHED_IDLE
+       case SCHED_IDLE:
+               printf("SCHED_IDLE\n");
+               break;
+#endif
+       case SCHED_RR:
+               printf("SCHED_RR\n");
+               break;
+#ifdef SCHED_BATCH
+       case SCHED_BATCH:
+               printf("SCHED_BATCH\n");
+               break;
+#endif
+       default:
+               printf(_("unknown\n"));
+       }
+
+       if (sched_getparam(pid, &sp))
+               err(EXIT_FAILURE, _("failed to get pid %d's attributes"), pid);
+
+       printf(_("pid %d's %s scheduling priority: %d\n"),
+               pid, what, sp.sched_priority);
+}
+
+static void show_min_max(void)
+{
+       int 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;
+       struct sched_param sp;
+       pid_t pid = -1;
+
+       struct option longopts[] = {
+               { "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' },
+               { "verbose",    0, NULL, 'v' },
+               { "version",    0, NULL, 'V' },
+               { NULL,         0, NULL, 0 }
+       };
+
+       setlocale(LC_ALL, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+
+       while((i = getopt_long(argc, argv, "+bfiphmorvV", longopts, NULL)) != -1)
+       {
+               int ret = EXIT_FAILURE;
+
+               switch (i) {
+               case 'b':
+#ifdef SCHED_BATCH
+                       policy = SCHED_BATCH;
+#endif
+                       break;
+               case 'f':
+                       policy = SCHED_FIFO;
+                       break;
+               case 'i':
+#ifdef SCHED_IDLE
+                       policy = SCHED_IDLE;
+#endif
+                       break;
+               case 'm':
+                       show_min_max();
+                       return 0;
+               case 'o':
+                       policy = SCHED_OTHER;
+                       break;
+               case 'p':
+                       errno = 0;
+                       pid = strtol(argv[argc - 1], NULL, 10);
+                       if (errno)
+                               err(EXIT_FAILURE, _("failed to parse pid"));
+                       break;
+               case 'r':
+                       policy = SCHED_RR;
+                       break;
+               case 'v':
+                       verbose = 1;
+                       break;
+               case 'V':
+                       printf("chrt (%s)\n", PACKAGE_STRING);
+                       return 0;
+               case 'h':
+                       ret = EXIT_SUCCESS;
+               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)) {
+               show_rt_info(_("current"), pid);
+               if (argc - optind == 1)
+                       return EXIT_SUCCESS;
+       }
+
+       errno = 0;
+       priority = strtol(argv[optind], NULL, 10);
+       if (errno)
+               err(EXIT_FAILURE, _("failed to parse priority"));
+
+       if (pid == -1)
+               pid = 0;
+       sp.sched_priority = priority;
+       if (sched_setscheduler(pid, policy, &sp) == -1)
+               err(EXIT_FAILURE, _("failed to set pid %d's policy"), pid);
+
+       if (verbose)
+               show_rt_info("new", pid);
+
+       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 (file)
index 0000000..e104f2b
--- /dev/null
@@ -0,0 +1,89 @@
+.TH ionice "1" "August 2005" ionice
+.SH NAME
+ionice \- get/set program io scheduling class and priority
+.SH SYNOPSIS
+.B ionice
+.RB [[ \-c
+.IR class ]
+.RB [ \-n
+.IR classdata ]
+.RB [ \-t ]]
+.BI \-p \ PID
+.RI [ PID  ]...
+.br
+.B ionice
+.RB [ \-c
+.IR class ]
+.RB [ \-n
+.IR classdata ]
+.RB [ \-t ]
+.IR COMMAND\  [ ARG  ]...
+.SH DESCRIPTION
+This program sets or gets the io scheduling class and priority for a program.
+If no arguments or just \fB\-p\fR is given, \fBionice\fR will query the current
+io scheduling class and priority for that process.
+
+As of this writing, a process can be in one of three scheduling classes:
+.IP "\fBIdle\fP"
+A program running with idle io priority will only get disk time when no other
+program has asked for disk io for a defined grace period. The impact of idle
+io processes 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 io priority.
+This class takes a priority argument from \fI0-7\fR, with lower
+number being higher priority. Programs running at the same best effort
+priority are served in a round-robin fashion.
+
+A process that has not asked for an io priority formally uses "\fBnone\fP" as
+scheduling class, but the io 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.
+.IP "\fBReal time\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
+.IP "\fB-c \fIclass\fP"
+The scheduling class. \fI0\fR for none, \fI1\fR for real time, \fI2\fR for
+best-effort, \fI3\fR for idle.
+.IP "\fB-n \fIclassdata\fP"
+The scheduling class data. This defines the class data, if the class
+accepts an argument. For real time and best-effort, \fI0-7\fR is valid
+data.
+.IP "\fB-p \fIpid\fP"
+Pass in process PID(s) to view or change already running processes. If this argument
+is not given, \fBionice\fP will run the listed program with the given
+parameters.
+.IP "\fB-t\fP"
+Ignore failure to set requested priority. If COMMAND or PID(s) is specified, run it
+even in case it was not possible to set desired scheduling priority, what
+can happen due to insufficient privilegies or old kernel version.
+.SH EXAMPLES
+.LP
+.TP 7
+# \fBionice\fP -c 3 -p 89
+.TP 7
+Sets process with PID 89 as an idle io 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 io scheduling priorities and classes since 2.6.13 with the CFQ
+io scheduler.
+.SH AUTHORS
+Jens Axboe <jens@axboe.dk>
+.SH AVAILABILITY
+The ionice command is part of the util-linux-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/schedutils/ionice.c b/schedutils/ionice.c
new file mode 100644 (file)
index 0000000..082b23b
--- /dev/null
@@ -0,0 +1,192 @@
+/*
+ * 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/ptrace.h>
+#include <sys/syscall.h>
+#include <asm/unistd.h>
+#include <err.h>
+
+#include "nls.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
+
+const char *to_prio[] = { "none", "realtime", "best-effort", "idle", };
+
+static void ioprio_print(int pid)
+{
+       int ioprio, ioclass;
+
+       ioprio = ioprio_get(IOPRIO_WHO_PROCESS, pid);
+
+       if (ioprio == -1)
+               err(EXIT_FAILURE, _("ioprio_get failed"));
+       else {
+               ioclass = ioprio >> IOPRIO_CLASS_SHIFT;
+               if (ioclass != IOPRIO_CLASS_IDLE) {
+                       ioprio = ioprio & 0xff;
+                       printf("%s: prio %d\n", to_prio[ioclass], ioprio);
+               } else
+                       printf("%s\n", to_prio[ioclass]);
+       }
+}
+
+
+static void ioprio_setpid(pid_t pid, int ioprio, int ioclass)
+{
+       int rc = ioprio_set(IOPRIO_WHO_PROCESS, pid,
+                       ioprio | ioclass << IOPRIO_CLASS_SHIFT);
+
+       if (rc == -1 && !tolerant)
+               err(EXIT_FAILURE, _("ioprio_set failed"));
+}
+
+static void usage(int rc)
+{
+       fprintf(stdout, _(
+       "\nionice - sets or gets process io scheduling class and priority.\n"
+       "\nUsage:\n"
+       "  ionice [ options ] -p <pid> [<pid> ...]\n"
+       "  ionoce [ options ] <command> [<arg> ...]\n"
+       "\nOptions:\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"));
+       exit(rc);
+}
+
+static long getnum(const char *str)
+{
+       long num;
+       char *end = NULL;
+
+       if (str == NULL || *str == '\0')
+               goto err;
+       errno = 0;
+       num = strtol(str, &end, 10);
+
+       if (errno || (end && *end))
+               goto err;
+
+       return num;
+err:
+       if (errno)
+               err(EXIT_SUCCESS, _("cannot parse number '%s'"), str);
+       else
+               errx(EXIT_SUCCESS, _("cannot parse number '%s'"), str);
+       return 0;
+}
+
+int main(int argc, char *argv[])
+{
+       int ioprio = 4, set = 0, ioclass = IOPRIO_CLASS_BE, c;
+       pid_t pid = 0;
+
+       setlocale(LC_ALL, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+
+       while ((c = getopt(argc, argv, "+n:c:p:th")) != EOF) {
+               switch (c) {
+               case 'n':
+                       ioprio = getnum(optarg);
+                       set |= 1;
+                       break;
+               case 'c':
+                       ioclass = getnum(optarg);
+                       set |= 2;
+                       break;
+               case 'p':
+                       pid = getnum(optarg);
+                       break;
+               case 't':
+                       tolerant = 1;
+                       break;
+               case 'h':
+                       usage(EXIT_SUCCESS);
+               default:
+                       usage(EXIT_FAILURE);
+               }
+       }
+
+       switch (ioclass) {
+               case IOPRIO_CLASS_NONE:
+                       if (set & 1)
+                               warnx(_("ignoring given class data for none class"));
+                       ioprio = 0;
+                       break;
+               case IOPRIO_CLASS_RT:
+               case IOPRIO_CLASS_BE:
+                       break;
+               case IOPRIO_CLASS_IDLE:
+                       if (set & 1)
+                               warnx(_("ignoring given class data for idle class"));
+                       ioprio = 7;
+                       break;
+               default:
+                       errx(EXIT_FAILURE, _("bad prio class %d"), ioclass);
+       }
+
+       if (!set) {
+               ioprio_print(pid);
+
+               for(; argv[optind]; ++optind) {
+                       pid = getnum(argv[optind]);
+                       ioprio_print(pid);
+               }
+       } else {
+               if (pid) {
+                       ioprio_setpid(pid, ioprio, ioclass);
+
+                       for(; argv[optind]; ++optind)
+                       {
+                               pid = getnum(argv[optind]);
+                               ioprio_setpid(pid, ioprio, ioclass);
+                       }
+               }
+               else if (argv[optind]) {
+                       ioprio_setpid(0, ioprio, ioclass);
+                       execvp(argv[optind], &argv[optind]);
+                       /* execvp should never return */
+                       err(EXIT_FAILURE, _("execvp failed"));
+               }
+       }
+
+       exit(EXIT_SUCCESS);
+}
diff --git a/schedutils/taskset.1 b/schedutils/taskset.1
new file mode 100644 (file)
index 0000000..af3dc4b
--- /dev/null
@@ -0,0 +1,126 @@
+.\" 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 manual; if not, write to the Free
+.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111,
+.\" USA.
+.\"
+.\" 2002-05-11 Robert Love <rml@tech9.net>
+.\"    Initial version
+.\"
+.TH TASKSET "1" "Apr 2003" "schedutils" "Linux User's Manual"
+.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
+.BR 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 \-p ,\  \-\-pid
+operate on an existing PID and not launch a new task
+.TP
+.BR \-c ,\  \-\-cpu-list
+specify a numerical list of processors instead of a bitmask.  The list may
+contain multiple items, separated by comma, and ranges.  For example,
+.BR 0,5,7,9-11 .
+.TP
+.BR \-h ,\  \-\-help
+display usage information and exit
+.TP
+.BR \-V ,\  \-\-version
+output 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-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/schedutils/taskset.c b/schedutils/taskset.c
new file mode 100644 (file)
index 0000000..7abb9cb
--- /dev/null
@@ -0,0 +1,467 @@
+/*
+ * taskset.c - taskset
+ * Command-line utility for setting and retrieving a task's CPU affinity
+ *
+ * Robert Love <rml@tech9.net>         25 April 2002
+ *
+ * Linux kernels as of 2.5.8 provide the needed syscalls for
+ * working with a task's cpu affinity.  Currently 2.4 does not
+ * support these syscalls, but patches are available at:
+ *
+ *     http://www.kernel.org/pub/linux/kernel/people/rml/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., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ * Copyright (C) 2004 Robert Love
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <getopt.h>
+#include <sched.h>
+#include <errno.h>
+#include <string.h>
+#include <ctype.h>
+#include <sys/syscall.h>
+
+struct bitmask {
+       unsigned int size;
+       unsigned long *maskp;
+};
+
+static void show_usage(const char *cmd)
+{
+       fprintf(stderr, "taskset (%s)\n", PACKAGE_STRING);
+       fprintf(stderr, "usage: %s [options] [mask | cpu-list] [pid |"\
+               " cmd [args...]]\n", cmd);
+       fprintf(stderr, "set or get the affinity of a process\n\n");
+       fprintf(stderr, "  -p, --pid                  "
+               "operate on existing given pid\n");
+        fprintf(stderr, "  -c, --cpu-list             "\
+               "display and specify cpus in list format\n");
+       fprintf(stderr, "  -h, --help                 display this help\n");
+       fprintf(stderr, "  -V, --version              "\
+               "output version information\n\n");
+       fprintf(stderr, "The default behavior is to run a new command:\n");
+       fprintf(stderr, "  %s 03 sshd -b 1024\n", cmd);
+       fprintf(stderr, "You can retrieve the mask of an existing task:\n");
+       fprintf(stderr, "  %s -p 700\n", cmd);
+       fprintf(stderr, "Or set it:\n");
+       fprintf(stderr, "  %s -p 03 700\n", cmd);
+       fprintf(stderr, "List format uses a comma-separated list instead"\
+                       " of a mask:\n");
+       fprintf(stderr, "  %s -pc 0,3,7-11 700\n", cmd);
+       fprintf(stderr, "Ranges in list format can take a stride argument:\n");
+       fprintf(stderr, "  e.g. 0-31:2 is equivalent to mask 0x55555555\n\n");
+}
+
+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;
+}
+
+/*
+ * The following bitmask declarations, bitmask_*() routines, and associated
+ * _setbit() and _getbit() routines are:
+ * Copyright (c) 2004 Silicon Graphics, Inc. (SGI) All rights reserved.
+ * SGI publishes it under the terms of the GNU General Public License, v2,
+ * as published by the Free Software Foundation.
+ */
+#define howmany(x,y) (((x)+((y)-1))/(y))
+#define bitsperlong (8 * sizeof(unsigned long))
+#define longsperbits(n) howmany(n, bitsperlong)
+#define bytesperbits(x) ((x+7)/8)
+
+static unsigned int _getbit(const struct bitmask *bmp, unsigned int n)
+{
+       if (n < bmp->size)
+               return (bmp->maskp[n/bitsperlong] >> (n % bitsperlong)) & 1;
+       else
+               return 0;
+}
+
+static void _setbit(struct bitmask *bmp, unsigned int n, unsigned int v)
+{
+       if (n < bmp->size) {
+               if (v)
+                       bmp->maskp[n/bitsperlong] |= 1UL << (n % bitsperlong);
+               else
+                       bmp->maskp[n/bitsperlong] &= ~(1UL << (n % bitsperlong));
+       }
+}
+
+int bitmask_isbitset(const struct bitmask *bmp, unsigned int i)
+{
+       return _getbit(bmp, i);
+}
+
+struct bitmask *bitmask_clearall(struct bitmask *bmp)
+{
+       unsigned int i;
+       for (i = 0; i < bmp->size; i++)
+               _setbit(bmp, i, 0);
+       return bmp;
+}
+
+struct bitmask *bitmask_setbit(struct bitmask *bmp, unsigned int i)
+{
+       _setbit(bmp, i, 1);
+       return bmp;
+}
+
+unsigned int bitmask_nbytes(struct bitmask *bmp)
+{
+       return longsperbits(bmp->size) * sizeof(unsigned long);
+}
+
+static char * cpuset_to_str(struct bitmask *mask, char *str)
+{
+       int base;
+       char *ptr = str;
+       char *ret = 0;
+
+       for (base = mask->size - 4; base >= 0; base -= 4) {
+               char val = 0;
+               if (bitmask_isbitset(mask, base))
+                       val |= 1;
+               if (bitmask_isbitset(mask, base + 1))
+                       val |= 2;
+               if (bitmask_isbitset(mask, base + 2))
+                       val |= 4;
+               if (bitmask_isbitset(mask, base + 3))
+                       val |= 8;
+               if (!ret && val)
+                       ret = ptr;
+               *ptr++ = val_to_char(val);
+       }
+       *ptr = 0;
+       return ret ? ret : ptr - 1;
+}
+
+struct bitmask *bitmask_alloc(unsigned int n)
+{
+       struct bitmask *bmp;
+
+       bmp = malloc(sizeof(*bmp));
+       if (!bmp)
+               return 0;
+       bmp->size = n;
+       bmp->maskp = calloc(longsperbits(n), sizeof(unsigned long));
+       if (!bmp->maskp) {
+               free(bmp);
+               return 0;
+       }
+       return bmp;
+}
+
+static char * cpuset_to_cstr(struct bitmask *mask, char *str)
+{
+       int i;
+       char *ptr = str;
+       int entry_made = 0;
+
+       for (i = 0; i < mask->size; i++) {
+               if (bitmask_isbitset(mask, i)) {
+                       int j;
+                       int run = 0;
+                       entry_made = 1;
+                       for (j = i + 1; j < mask->size; j++) {
+                               if (bitmask_isbitset(mask, j))
+                                       run++;
+                               else
+                                       break;
+                       }
+                       if (!run)
+                               sprintf(ptr, "%d,", i);
+                       else if (run == 1) {
+                               sprintf(ptr, "%d,%d,", i, i + 1);
+                               i++;
+                       } else {
+                               sprintf(ptr, "%d-%d,", i, i + run);
+                               i += run;
+                       }
+                       while (*ptr != 0)
+                               ptr++;
+               }
+       }
+       ptr -= entry_made;
+       *ptr = 0;
+
+       return str;
+}
+
+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 int str_to_cpuset(struct bitmask *mask, const char* str)
+{
+       int len = strlen(str);
+       const char *ptr = str + len - 1;
+       int base = 0;
+
+       /* skip 0x, it's all hex anyway */
+       if (len > 1 && !memcmp(str, "0x", 2L))
+               str += 2;
+
+       bitmask_clearall(mask);
+       while (ptr >= str) {
+               char val = char_to_val(*ptr);
+               if (val == (char) -1)
+                       return -1;
+               if (val & 1)
+                       bitmask_setbit(mask, base);
+               if (val & 2)
+                       bitmask_setbit(mask, base + 1);
+               if (val & 4)
+                       bitmask_setbit(mask, base + 2);
+               if (val & 8)
+                       bitmask_setbit(mask, base + 3);
+               len--;
+               ptr--;
+               base += 4;
+       }
+
+       return 0;
+}
+
+static const char *nexttoken(const char *q,  int sep)
+{
+       if (q)
+               q = strchr(q, sep);
+       if (q)
+               q++;
+       return q;
+}
+
+static int cstr_to_cpuset(struct bitmask *mask, const char* str)
+{
+       const char *p, *q;
+       q = str;
+       bitmask_clearall(mask);
+
+       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;
+
+               if (sscanf(p, "%u", &a) < 1)
+                       return 1;
+               b = a;
+               s = 1;
+
+               c1 = nexttoken(p, '-');
+               c2 = nexttoken(p, ',');
+               if (c1 != NULL && (c2 == NULL || c1 < c2)) {
+                       if (sscanf(c1, "%u", &b) < 1)
+                               return 1;
+                       c1 = nexttoken(c1, ':');
+                       if (c1 != NULL && (c2 == NULL || c1 < c2))
+                               if (sscanf(c1, "%u", &s) < 1) {
+                                       return 1;
+                       }
+               }
+
+               if (!(a <= b))
+                       return 1;
+               while (a <= b) {
+                       bitmask_setbit(mask, a);
+                       a += s;
+               }
+       }
+
+       return 0;
+}
+
+/*
+ * Number of bits in a CPU bitmask on current system
+ */
+static int
+max_number_of_cpus(void)
+{
+       int n;
+       int cpus = 2048;
+
+       for (;;) {
+               unsigned long buffer[longsperbits(cpus)];
+               memset(buffer, 0, sizeof(buffer));
+               /* the library version does not return size of cpumask_t */
+               n = syscall(SYS_sched_getaffinity, 0, bytesperbits(cpus),
+                                                               &buffer);
+               if (n < 0 && errno == EINVAL && cpus < 1024*1024) {
+                       cpus *= 2;
+                       continue;
+               }
+               return n*8;
+       }
+       fprintf (stderr, "cannot determine NR_CPUS; aborting");
+       exit(1);
+       return 0;
+}
+
+int main(int argc, char *argv[])
+{
+       struct bitmask *new_mask, *cur_mask;
+       pid_t pid = 0;
+       int opt, err;
+       char *mstr;
+       char *cstr;
+       int c_opt = 0;
+        unsigned int cpus_configured;
+       int new_mask_byte_size, cur_mask_byte_size;
+
+       struct option longopts[] = {
+               { "pid",        0, NULL, 'p' },
+               { "cpu-list",   0, NULL, 'c' },
+               { "help",       0, NULL, 'h' },
+               { "version",    0, NULL, 'V' },
+               { NULL,         0, NULL, 0 }
+       };
+
+       while ((opt = getopt_long(argc, argv, "+pchV", longopts, NULL)) != -1) {
+               int ret = 1;
+
+               switch (opt) {
+               case 'p':
+                       pid = atoi(argv[argc - 1]);
+                       break;
+               case 'c':
+                       c_opt = 1;
+                       break;
+               case 'V':
+                       printf("taskset (%s)\n", PACKAGE_STRING);
+                       return 0;
+               case 'h':
+                       ret = 0;
+               default:
+                       show_usage(argv[0]);
+                       return ret;
+               }
+       }
+
+       if ((!pid && argc - optind < 2)
+                       || (pid && (argc - optind < 1 || argc - optind > 2))) {
+               show_usage(argv[0]);
+               return 1;
+       }
+
+       cpus_configured = max_number_of_cpus();
+
+       /*
+        * cur_mask 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.
+        */
+       cur_mask = bitmask_alloc(cpus_configured);
+       if (!cur_mask) {
+               fprintf (stderr, "bitmask_alloc failed\n");
+               exit(1);
+       }
+       cur_mask_byte_size = bitmask_nbytes(cur_mask);
+       mstr = malloc(1 + cur_mask->size / 4);
+       cstr = malloc(7 * cur_mask->size);
+
+       /*
+        * new_mask 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_mask = bitmask_alloc(cpus_configured);
+       if (!new_mask) {
+               fprintf (stderr, "bitmask_alloc failed\n");
+               exit(1);
+       }
+       new_mask_byte_size = bitmask_nbytes(new_mask);
+
+       if (pid) {
+               if (sched_getaffinity(pid, cur_mask_byte_size,
+                                       (cpu_set_t *)cur_mask->maskp) < 0) {
+                       perror("sched_getaffinity");
+                       fprintf(stderr, "failed to get pid %d's affinity\n",
+                               pid);
+                       return 1;
+               }
+               if (c_opt)
+                       printf("pid %d's current affinity list: %s\n", pid,
+                               cpuset_to_cstr(cur_mask, cstr));
+               else
+                       printf("pid %d's current affinity mask: %s\n", pid,
+                               cpuset_to_str(cur_mask, mstr));
+
+               if (argc - optind == 1)
+                       return 0;
+       }
+
+       if (c_opt)
+               err = cstr_to_cpuset(new_mask, argv[optind]);
+       else
+               err = str_to_cpuset(new_mask, argv[optind]);
+
+       if (err) {
+               if (c_opt)
+                       fprintf(stderr, "failed to parse CPU list %s\n",
+                               argv[optind]);
+               else
+                       fprintf(stderr, "failed to parse CPU mask %s\n",
+                               argv[optind]);
+               return 1;
+       }
+
+       if (sched_setaffinity(pid, new_mask_byte_size,
+                                       (cpu_set_t *) new_mask->maskp) < 0) {
+               perror("sched_setaffinity");
+               fprintf(stderr, "failed to set pid %d's affinity.\n", pid);
+               return 1;
+       }
+
+       if (sched_getaffinity(pid, cur_mask_byte_size,
+                                       (cpu_set_t *)cur_mask->maskp) < 0) {
+               perror("sched_getaffinity");
+               fprintf(stderr, "failed to get pid %d's affinity.\n", pid);
+               return 1;
+       }
+
+       if (pid) {
+               if (c_opt)
+                       printf("pid %d's new affinity list: %s\n", pid, 
+                              cpuset_to_cstr(cur_mask, cstr));
+               else
+                       printf("pid %d's new affinity mask: %s\n", pid, 
+                              cpuset_to_str(cur_mask, mstr));
+       } else {
+               argv += optind + 1;
+               execvp(argv[0], argv);
+               perror("execvp");
+               fprintf(stderr, "failed to execute %s\n", argv[0]);
+               return 1;
+       }
+
+       return 0;
+}
diff --git a/shlibs/Makefile.am b/shlibs/Makefile.am
new file mode 100644 (file)
index 0000000..3e75788
--- /dev/null
@@ -0,0 +1,9 @@
+SUBDIRS =
+
+if BUILD_LIBUUID
+SUBDIRS += uuid
+endif
+
+if BUILD_LIBBLKID
+SUBDIRS += blkid
+endif
diff --git a/shlibs/Makefile.in b/shlibs/Makefile.in
new file mode 100644 (file)
index 0000000..8abc92a
--- /dev/null
@@ -0,0 +1,592 @@
+# Makefile.in generated by automake 1.11 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@
+@BUILD_LIBUUID_TRUE@am__append_1 = uuid
+@BUILD_LIBBLKID_TRUE@am__append_2 = blkid
+subdir = shlibs
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.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)/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 =
+CONFIG_CLEAN_VPATH_FILES =
+SOURCES =
+DIST_SOURCES =
+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
+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
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = uuid blkid
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+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"
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BLKID = @BLKID@
+BLKID_CFLAGS = @BLKID_CFLAGS@
+BLKID_LIBS = @BLKID_LIBS@
+BLKID_LIBS_STATIC = @BLKID_LIBS_STATIC@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+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@
+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_VERSION = @LIBBLKID_VERSION@
+LIBBLKID_VERSION_INFO = @LIBBLKID_VERSION_INFO@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+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@
+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_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+POSUB = @POSUB@
+RANLIB = @RANLIB@
+SED = @SED@
+SELINUX_LIBS = @SELINUX_LIBS@
+SELINUX_LIBS_STATIC = @SELINUX_LIBS_STATIC@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SUID_CFLAGS = @SUID_CFLAGS@
+SUID_LDFLAGS = @SUID_LDFLAGS@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
+VERSION = @VERSION@
+VOLID = @VOLID@
+XGETTEXT = @XGETTEXT@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+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@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+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@
+SUBDIRS = $(am__append_1) $(am__append_2)
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(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 shlibs/Makefile'; \
+       $(am__cd) $(top_srcdir) && \
+         $(AUTOMAKE) --foreign shlibs/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):
+
+mostlyclean-libtool:
+       -rm -f *.lo
+
+clean-libtool:
+       -rm -rf .libs _libs
+
+# 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):
+       @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):
+       @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)  $(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)  $(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)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       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; }; }'`; \
+       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
+
+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
+       @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
+check-am: all-am
+check: check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+install: 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:
+
+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)
+
+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-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+       -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+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 Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
+       install-am install-strip tags-recursive
+
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+       all all-am check check-am clean clean-generic clean-libtool \
+       ctags ctags-recursive distclean distclean-generic \
+       distclean-libtool distclean-tags distdir dvi dvi-am html \
+       html-am info info-am install install-am install-data \
+       install-data-am 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 installdirs-am maintainer-clean \
+       maintainer-clean-generic mostlyclean mostlyclean-generic \
+       mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
+       uninstall uninstall-am
+
+
+# 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/shlibs/blkid/Makefile.am b/shlibs/blkid/Makefile.am
new file mode 100644 (file)
index 0000000..a76b1fd
--- /dev/null
@@ -0,0 +1,12 @@
+include $(top_srcdir)/config/include-Makefile.am
+
+SUBDIRS = src
+
+# pkg-config stuff
+pkgconfigdir = $(usrlib_execdir)/pkgconfig
+pkgconfig_DATA = blkid.pc
+
+dist_man_MANS = libblkid.3
+
+EXTRA_DIST = README.blkid blkid.pc.in libblkid.3
+
diff --git a/shlibs/blkid/Makefile.in b/shlibs/blkid/Makefile.in
new file mode 100644 (file)
index 0000000..3db8356
--- /dev/null
@@ -0,0 +1,733 @@
+# Makefile.in generated by automake 1.11 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@
+DIST_COMMON = $(dist_man_MANS) $(dist_noinst_DATA) \
+       $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+       $(srcdir)/blkid.pc.in $(top_srcdir)/config/include-Makefile.am
+subdir = shlibs/blkid
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.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)/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 = blkid.pc
+CONFIG_CLEAN_VPATH_FILES =
+SOURCES =
+DIST_SOURCES =
+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
+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'
+man3dir = $(mandir)/man3
+am__installdirs = "$(DESTDIR)$(man3dir)" "$(DESTDIR)$(pkgconfigdir)"
+NROFF = nroff
+MANS = $(dist_man_MANS)
+DATA = $(dist_noinst_DATA) $(pkgconfig_DATA)
+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
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+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"
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BLKID = @BLKID@
+BLKID_CFLAGS = @BLKID_CFLAGS@
+BLKID_LIBS = @BLKID_LIBS@
+BLKID_LIBS_STATIC = @BLKID_LIBS_STATIC@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+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@
+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_VERSION = @LIBBLKID_VERSION@
+LIBBLKID_VERSION_INFO = @LIBBLKID_VERSION_INFO@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+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@
+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_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+POSUB = @POSUB@
+RANLIB = @RANLIB@
+SED = @SED@
+SELINUX_LIBS = @SELINUX_LIBS@
+SELINUX_LIBS_STATIC = @SELINUX_LIBS_STATIC@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SUID_CFLAGS = @SUID_CFLAGS@
+SUID_LDFLAGS = @SUID_LDFLAGS@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
+VERSION = @VERSION@
+VOLID = @VOLID@
+XGETTEXT = @XGETTEXT@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+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@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+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 $(top_builddir)/config.h -I$(top_srcdir)/include \
+       -DLOCALEDIR=\"$(localedir)\"
+
+AM_CFLAGS = -fsigned-char
+AM_LDFLAGS = 
+
+# 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)
+#
+# blkid
+ul_libblkid_srcdir = $(top_srcdir)/shlibs/blkid/src
+ul_libblkid_builddir = $(top_builddir)/shlibs/blkid/src
+ul_libblkid_la = $(top_builddir)/shlibs/blkid/src/libblkid.la
+
+# uuid
+ul_libuuid_srcdir = $(top_srcdir)/shlibs/uuid/src
+ul_libuuid_builddir = $(top_builddir)/shlibs/uuid/src
+ul_libuuid_la = $(top_builddir)/shlibs/uuid/src/libuuid.la
+SUBDIRS = src
+
+# pkg-config stuff
+pkgconfigdir = $(usrlib_execdir)/pkgconfig
+pkgconfig_DATA = blkid.pc
+dist_man_MANS = libblkid.3
+EXTRA_DIST = README.blkid blkid.pc.in libblkid.3
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/config/include-Makefile.am $(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 shlibs/blkid/Makefile'; \
+       $(am__cd) $(top_srcdir) && \
+         $(AUTOMAKE) --foreign shlibs/blkid/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):
+blkid.pc: $(top_builddir)/config.status $(srcdir)/blkid.pc.in
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+
+mostlyclean-libtool:
+       -rm -f *.lo
+
+clean-libtool:
+       -rm -rf .libs _libs
+install-man3: $(dist_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)'; 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)'; 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-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
+
+# 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):
+       @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):
+       @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)  $(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)  $(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)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       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; }; }'`; \
+       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
+
+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
+       @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
+check-am: all-am
+check: check-recursive
+all-am: Makefile $(MANS) $(DATA)
+installdirs: installdirs-recursive
+installdirs-am:
+       for dir in "$(DESTDIR)$(man3dir)" "$(DESTDIR)$(pkgconfigdir)"; do \
+         test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+       done
+install: 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:
+
+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)
+
+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-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+       -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am: install-man install-pkgconfigDATA
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man: install-man3
+
+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 Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-man uninstall-pkgconfigDATA
+
+uninstall-man: uninstall-man3
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
+       install-am install-strip tags-recursive
+
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+       all all-am check check-am clean clean-generic clean-libtool \
+       ctags ctags-recursive distclean distclean-generic \
+       distclean-libtool distclean-tags distdir dvi dvi-am html \
+       html-am info info-am install install-am install-data \
+       install-data-am install-dvi install-dvi-am install-exec \
+       install-exec-am install-html install-html-am install-info \
+       install-info-am install-man install-man3 install-pdf \
+       install-pdf-am install-pkgconfigDATA install-ps install-ps-am \
+       install-strip installcheck installcheck-am installdirs \
+       installdirs-am maintainer-clean maintainer-clean-generic \
+       mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+       ps ps-am tags tags-recursive uninstall uninstall-am \
+       uninstall-man uninstall-man3 uninstall-pkgconfigDATA
+
+
+$(ul_libblkid_la):
+       $(MAKE) -C $(ul_libblkid_builddir)
+
+$(ul_libuuid_la):
+       $(MAKE) -C $(ul_libuuid_builddir)
+
+# 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/shlibs/blkid/README.blkid b/shlibs/blkid/README.blkid
new file mode 100644 (file)
index 0000000..4fa9be1
--- /dev/null
@@ -0,0 +1,78 @@
+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 /etc/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 (where the default is
+/etc/blkid.tab).  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/shlibs/blkid/blkid.pc.in b/shlibs/blkid/blkid.pc.in
new file mode 100644 (file)
index 0000000..40ec8a9
--- /dev/null
@@ -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/shlibs/blkid/libblkid.3 b/shlibs/blkid/libblkid.3
new file mode 100644 (file)
index 0000000..46eb868
--- /dev/null
@@ -0,0 +1,110 @@
+.\" 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-ng"
+.SH NAME
+libblkid \- block device identification library
+.SH SYNOPSIS
+.B #include <blkid/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, etc.
+A common use is to allow use of LABEL= and UUID= tags instead of hard-coding
+specific block device names into configuration files.
+.P
+Block device information is normally kept in a cache file
+.I /etc/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.
+.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).  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.
+.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.
+The following options control the libblkid library:
+.TP
+.I SEND_UEVENT=<yes|not>
+Sends uevent when
+.I /dev/disk/by-{label,uuid}/
+symlink does not match with LABEL or UUID 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 /etc/blkid.tab.
+.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 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 FILES
+.TP 18
+.I /etc/blkid.tab
+caches data extracted from each recognized block device
+.TP
+.I /etc/blkid.conf
+configuration file
+.SH AVAILABILITY
+.B libblkid
+is part of the util-linux-ng package since version 2.15 and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
+.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).  A copy of the LGPL
+should be included with this library in the file COPYING.  If not, write to
+.RS
+Free Software Foundation, Inc.
+.br
+51 Franklin St
+.br
+Fifth Floor
+.br
+Boston, MA  02110-1301  USA
+.RE
+.PP
+or visit
+.UR http://www.gnu.org/licenses/licenses.html#LGPL
+http://www.gnu.org/licenses/licenses.html#LGPL
+.UE
+.SH "SEE ALSO"
+.BR blkid (8)
+.BR findfs (8)
diff --git a/shlibs/blkid/src/Makefile.am b/shlibs/blkid/src/Makefile.am
new file mode 100644 (file)
index 0000000..bd040ce
--- /dev/null
@@ -0,0 +1,65 @@
+include $(top_srcdir)/config/include-Makefile.am
+
+SUBDIRS = probers .
+
+common_ldadd =
+common_cflags =
+
+if HAVE_UUID
+if BUILD_LIBUUID
+common_ldadd += $(ul_libuuid_la)
+common_cflags += -I$(ul_libuuid_srcdir)
+else
+common_ldadd += $(UUID_LIBS)
+common_cflags += $(UUID_CFLAGS)
+endif
+endif
+
+AM_CPPFLAGS += -I$(ul_libblkid_srcdir) $(common_cflags)
+
+# includes
+blkidincdir = $(includedir)/blkid
+blkidinc_HEADERS = blkid.h
+
+usrlib_exec_LTLIBRARIES = libblkid.la
+libblkid_la_SOURCES = cache.c dev.c devname.c devno.c getsize.c llseek.c  \
+                    probe.c read.c resolve.c save.c tag.c version.c verify.c \
+                    encode.c blkid.h list.h blkidP.h probers/probers.h \
+                    config.c evaluate.c \
+                    $(blkidinc_HEADERS) \
+                    $(top_srcdir)/lib/blkdev.c \
+                    $(top_srcdir)/lib/linux_version.c \
+                    $(top_srcdir)/lib/canonicalize.c \
+                    $(top_srcdir)/lib/md5.c
+
+libblkid_la_LIBADD = probers/libblkid_probers.la $(common_ldadd)
+libblkid_la_DEPENDENCIES = $(libblkid_la_LIBADD) blkid.sym
+
+libblkid_la_LDFLAGS = -Wl,--version-script=$(ul_libblkid_srcdir)/blkid.sym \
+                      -version-info $(LIBBLKID_VERSION_INFO)
+
+tests = test_cache test_config test_dev test_devname test_devno test_getsize \
+       test_read test_resolve test_save test_tag test_verify test_evaluate
+
+EXTRA_DIST = blkid.sym tst_types.c
+CLEANFILES = $(tests)
+
+tests: all $(tests)
+test_%: %.c
+       $(COMPILE) -DTEST_PROGRAM $< .libs/libblkid.a -o $@ $(UUID_LIBS)
+
+
+# move lib from $(usrlib_execdir) to $(libdir) if needed
+install-exec-hook:
+       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:
+       rm -f $(DESTDIR)$(libdir)/libblkid.so*
diff --git a/shlibs/blkid/src/Makefile.in b/shlibs/blkid/src/Makefile.in
new file mode 100644 (file)
index 0000000..95f6101
--- /dev/null
@@ -0,0 +1,874 @@
+# Makefile.in generated by automake 1.11 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@
+DIST_COMMON = $(blkidinc_HEADERS) $(dist_noinst_DATA) \
+       $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+       $(top_srcdir)/config/include-Makefile.am
+@BUILD_LIBUUID_TRUE@@HAVE_UUID_TRUE@am__append_1 = $(ul_libuuid_la)
+@BUILD_LIBUUID_TRUE@@HAVE_UUID_TRUE@am__append_2 = -I$(ul_libuuid_srcdir)
+@BUILD_LIBUUID_FALSE@@HAVE_UUID_TRUE@am__append_3 = $(UUID_LIBS)
+@BUILD_LIBUUID_FALSE@@HAVE_UUID_TRUE@am__append_4 = $(UUID_CFLAGS)
+subdir = shlibs/blkid/src
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.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)/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 =
+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)$(blkidincdir)"
+LTLIBRARIES = $(usrlib_exec_LTLIBRARIES)
+am__DEPENDENCIES_1 =
+@BUILD_LIBUUID_FALSE@@HAVE_UUID_TRUE@am__DEPENDENCIES_2 =  \
+@BUILD_LIBUUID_FALSE@@HAVE_UUID_TRUE@  $(am__DEPENDENCIES_1)
+am__DEPENDENCIES_3 = $(am__append_1) $(am__DEPENDENCIES_2)
+am__objects_1 =
+am_libblkid_la_OBJECTS = cache.lo dev.lo devname.lo devno.lo \
+       getsize.lo llseek.lo probe.lo read.lo resolve.lo save.lo \
+       tag.lo version.lo verify.lo encode.lo config.lo evaluate.lo \
+       $(am__objects_1) blkdev.lo linux_version.lo canonicalize.lo \
+       md5.lo
+libblkid_la_OBJECTS = $(am_libblkid_la_OBJECTS)
+libblkid_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+       $(libblkid_la_LDFLAGS) $(LDFLAGS) -o $@
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+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) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+       --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+       --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+       $(LDFLAGS) -o $@
+SOURCES = $(libblkid_la_SOURCES)
+DIST_SOURCES = $(libblkid_la_SOURCES)
+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
+DATA = $(dist_noinst_DATA)
+HEADERS = $(blkidinc_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
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+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"
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BLKID = @BLKID@
+BLKID_CFLAGS = @BLKID_CFLAGS@
+BLKID_LIBS = @BLKID_LIBS@
+BLKID_LIBS_STATIC = @BLKID_LIBS_STATIC@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+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@
+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_VERSION = @LIBBLKID_VERSION@
+LIBBLKID_VERSION_INFO = @LIBBLKID_VERSION_INFO@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+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@
+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_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+POSUB = @POSUB@
+RANLIB = @RANLIB@
+SED = @SED@
+SELINUX_LIBS = @SELINUX_LIBS@
+SELINUX_LIBS_STATIC = @SELINUX_LIBS_STATIC@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SUID_CFLAGS = @SUID_CFLAGS@
+SUID_LDFLAGS = @SUID_LDFLAGS@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
+VERSION = @VERSION@
+VOLID = @VOLID@
+XGETTEXT = @XGETTEXT@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+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@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+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 $(top_builddir)/config.h \
+       -I$(top_srcdir)/include -DLOCALEDIR=\"$(localedir)\" \
+       -I$(ul_libblkid_srcdir) $(common_cflags)
+AM_CFLAGS = -fsigned-char
+AM_LDFLAGS = 
+
+# 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)
+#
+# blkid
+ul_libblkid_srcdir = $(top_srcdir)/shlibs/blkid/src
+ul_libblkid_builddir = $(top_builddir)/shlibs/blkid/src
+ul_libblkid_la = $(top_builddir)/shlibs/blkid/src/libblkid.la
+
+# uuid
+ul_libuuid_srcdir = $(top_srcdir)/shlibs/uuid/src
+ul_libuuid_builddir = $(top_builddir)/shlibs/uuid/src
+ul_libuuid_la = $(top_builddir)/shlibs/uuid/src/libuuid.la
+SUBDIRS = probers .
+common_ldadd = $(am__append_1) $(am__append_3)
+common_cflags = $(am__append_2) $(am__append_4)
+
+# includes
+blkidincdir = $(includedir)/blkid
+blkidinc_HEADERS = blkid.h
+usrlib_exec_LTLIBRARIES = libblkid.la
+libblkid_la_SOURCES = cache.c dev.c devname.c devno.c getsize.c llseek.c  \
+                    probe.c read.c resolve.c save.c tag.c version.c verify.c \
+                    encode.c blkid.h list.h blkidP.h probers/probers.h \
+                    config.c evaluate.c \
+                    $(blkidinc_HEADERS) \
+                    $(top_srcdir)/lib/blkdev.c \
+                    $(top_srcdir)/lib/linux_version.c \
+                    $(top_srcdir)/lib/canonicalize.c \
+                    $(top_srcdir)/lib/md5.c
+
+libblkid_la_LIBADD = probers/libblkid_probers.la $(common_ldadd)
+libblkid_la_DEPENDENCIES = $(libblkid_la_LIBADD) blkid.sym
+libblkid_la_LDFLAGS = -Wl,--version-script=$(ul_libblkid_srcdir)/blkid.sym \
+                      -version-info $(LIBBLKID_VERSION_INFO)
+
+tests = test_cache test_config test_dev test_devname test_devno test_getsize \
+       test_read test_resolve test_save test_tag test_verify test_evaluate
+
+EXTRA_DIST = blkid.sym tst_types.c
+CLEANFILES = $(tests)
+all: all-recursive
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/config/include-Makefile.am $(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 shlibs/blkid/src/Makefile'; \
+       $(am__cd) $(top_srcdir) && \
+         $(AUTOMAKE) --foreign shlibs/blkid/src/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):
+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.la: $(libblkid_la_OBJECTS) $(libblkid_la_DEPENDENCIES) 
+       $(libblkid_la_LINK) -rpath $(usrlib_execdir) $(libblkid_la_OBJECTS) $(libblkid_la_LIBADD) $(LIBS)
+
+mostlyclean-compile:
+       -rm -f *.$(OBJEXT)
+
+distclean-compile:
+       -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/blkdev.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cache.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/canonicalize.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/config.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dev.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/devname.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/devno.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/encode.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/evaluate.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getsize.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linux_version.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/llseek.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/md5.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/probe.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/read.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/resolve.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/save.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tag.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/verify.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/version.Plo@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@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 $<
+
+.c.obj:
+@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@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 `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@   $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@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 $@ $<
+
+blkdev.lo: $(top_srcdir)/lib/blkdev.c
+@am__fastdepCC_TRUE@   $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT blkdev.lo -MD -MP -MF $(DEPDIR)/blkdev.Tpo -c -o blkdev.lo `test -f '$(top_srcdir)/lib/blkdev.c' || echo '$(srcdir)/'`$(top_srcdir)/lib/blkdev.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/blkdev.Tpo $(DEPDIR)/blkdev.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$(top_srcdir)/lib/blkdev.c' object='blkdev.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o blkdev.lo `test -f '$(top_srcdir)/lib/blkdev.c' || echo '$(srcdir)/'`$(top_srcdir)/lib/blkdev.c
+
+linux_version.lo: $(top_srcdir)/lib/linux_version.c
+@am__fastdepCC_TRUE@   $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT linux_version.lo -MD -MP -MF $(DEPDIR)/linux_version.Tpo -c -o linux_version.lo `test -f '$(top_srcdir)/lib/linux_version.c' || echo '$(srcdir)/'`$(top_srcdir)/lib/linux_version.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/linux_version.Tpo $(DEPDIR)/linux_version.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$(top_srcdir)/lib/linux_version.c' object='linux_version.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o linux_version.lo `test -f '$(top_srcdir)/lib/linux_version.c' || echo '$(srcdir)/'`$(top_srcdir)/lib/linux_version.c
+
+canonicalize.lo: $(top_srcdir)/lib/canonicalize.c
+@am__fastdepCC_TRUE@   $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT canonicalize.lo -MD -MP -MF $(DEPDIR)/canonicalize.Tpo -c -o canonicalize.lo `test -f '$(top_srcdir)/lib/canonicalize.c' || echo '$(srcdir)/'`$(top_srcdir)/lib/canonicalize.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/canonicalize.Tpo $(DEPDIR)/canonicalize.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$(top_srcdir)/lib/canonicalize.c' object='canonicalize.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o canonicalize.lo `test -f '$(top_srcdir)/lib/canonicalize.c' || echo '$(srcdir)/'`$(top_srcdir)/lib/canonicalize.c
+
+md5.lo: $(top_srcdir)/lib/md5.c
+@am__fastdepCC_TRUE@   $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT md5.lo -MD -MP -MF $(DEPDIR)/md5.Tpo -c -o md5.lo `test -f '$(top_srcdir)/lib/md5.c' || echo '$(srcdir)/'`$(top_srcdir)/lib/md5.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/md5.Tpo $(DEPDIR)/md5.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$(top_srcdir)/lib/md5.c' object='md5.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o md5.lo `test -f '$(top_srcdir)/lib/md5.c' || echo '$(srcdir)/'`$(top_srcdir)/lib/md5.c
+
+mostlyclean-libtool:
+       -rm -f *.lo
+
+clean-libtool:
+       -rm -rf .libs _libs
+install-blkidincHEADERS: $(blkidinc_HEADERS)
+       @$(NORMAL_INSTALL)
+       test -z "$(blkidincdir)" || $(MKDIR_P) "$(DESTDIR)$(blkidincdir)"
+       @list='$(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-blkidincHEADERS:
+       @$(NORMAL_UNINSTALL)
+       @list='$(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
+
+# 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):
+       @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):
+       @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)  $(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)  $(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)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       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; }; }'`; \
+       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
+
+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
+       @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
+check-am: all-am
+check: check-recursive
+all-am: Makefile $(LTLIBRARIES) $(DATA) $(HEADERS)
+installdirs: installdirs-recursive
+installdirs-am:
+       for dir in "$(DESTDIR)$(usrlib_execdir)" "$(DESTDIR)$(blkidincdir)"; do \
+         test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+       done
+install: 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)
+
+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-recursive
+
+clean-am: clean-generic clean-libtool clean-usrlib_execLTLIBRARIES \
+       mostlyclean-am
+
+distclean: distclean-recursive
+       -rm -rf ./$(DEPDIR)
+       -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+       distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am: install-blkidincHEADERS
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am: install-usrlib_execLTLIBRARIES
+       @$(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-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+       -rm -rf ./$(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-blkidincHEADERS \
+       uninstall-usrlib_execLTLIBRARIES
+       @$(NORMAL_INSTALL)
+       $(MAKE) $(AM_MAKEFLAGS) uninstall-hook
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
+       install-am install-exec-am install-strip tags-recursive \
+       uninstall-am
+
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+       all all-am check check-am clean clean-generic clean-libtool \
+       clean-usrlib_execLTLIBRARIES ctags ctags-recursive distclean \
+       distclean-compile distclean-generic distclean-libtool \
+       distclean-tags distdir dvi dvi-am html html-am info info-am \
+       install install-am install-blkidincHEADERS install-data \
+       install-data-am 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-pdf \
+       install-pdf-am install-ps install-ps-am install-strip \
+       install-usrlib_execLTLIBRARIES 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-blkidincHEADERS uninstall-hook \
+       uninstall-usrlib_execLTLIBRARIES
+
+
+$(ul_libblkid_la):
+       $(MAKE) -C $(ul_libblkid_builddir)
+
+$(ul_libuuid_la):
+       $(MAKE) -C $(ul_libuuid_builddir)
+
+tests: all $(tests)
+test_%: %.c
+       $(COMPILE) -DTEST_PROGRAM $< .libs/libblkid.a -o $@ $(UUID_LIBS)
+
+# move lib from $(usrlib_execdir) to $(libdir) if needed
+install-exec-hook:
+       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:
+       rm -f $(DESTDIR)$(libdir)/libblkid.so*
+
+# 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/shlibs/blkid/src/blkid.h b/shlibs/blkid/src/blkid.h
new file mode 100644 (file)
index 0000000..43b2b55
--- /dev/null
@@ -0,0 +1,171 @@
+/*
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA
+ */
+
+#ifndef _BLKID_BLKID_H
+#define _BLKID_BLKID_H
+
+#include <stdint.h>
+#include <sys/types.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct blkid_struct_dev *blkid_dev;
+typedef struct blkid_struct_cache *blkid_cache;
+typedef struct blkid_struct_probe *blkid_probe;
+
+typedef int64_t blkid_loff_t;
+
+typedef struct blkid_struct_tag_iterate *blkid_tag_iterate;
+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);
+
+/* devname.c */
+extern int blkid_probe_all(blkid_cache cache);
+extern int blkid_probe_all_new(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);
+
+/* probe.c */
+extern int blkid_known_fstype(const char *fstype);
+extern blkid_probe blkid_new_probe(void);
+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);
+
+#define        BLKID_PROBREQ_LABEL             (1 << 1)
+#define BLKID_PROBREQ_LABELRAW         (1 << 2)
+#define BLKID_PROBREQ_UUID             (1 << 3)
+#define BLKID_PROBREQ_UUIDRAW          (1 << 4)
+#define BLKID_PROBREQ_TYPE             (1 << 5)
+#define BLKID_PROBREQ_SECTYPE          (1 << 6)
+#define BLKID_PROBREQ_USAGE            (1 << 7)
+#define BLKID_PROBREQ_VERSION          (1 << 8)
+extern int blkid_probe_set_request(blkid_probe pr, int flags);
+
+#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_usage(blkid_probe pr, int flag, int usage);
+
+#define BLKID_FLTR_NOTIN               1
+#define BLKID_FLTR_ONLYIN              2
+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);
+
+extern int blkid_do_probe(blkid_probe pr);
+extern int blkid_do_safeprobe(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);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _BLKID_BLKID_H */
diff --git a/shlibs/blkid/src/blkid.sym b/shlibs/blkid/src/blkid.sym
new file mode 100644 (file)
index 0000000..562f44d
--- /dev/null
@@ -0,0 +1,68 @@
+/*
+ * 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:
+       *;
+};
+
+
+/*
+ * version(s) since util-linux-ng 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_all;
+       blkid_probe_all_new;
+       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;
+
diff --git a/shlibs/blkid/src/blkidP.h b/shlibs/blkid/src/blkidP.h
new file mode 100644 (file)
index 0000000..e0e5cb8
--- /dev/null
@@ -0,0 +1,344 @@
+/*
+ * 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
+
+
+#define CONFIG_BLKID_DEBUG 1
+
+#include <sys/types.h>
+#include <stdio.h>
+#include <stdarg.h>
+
+#include "bitops.h"    /* $(top_srcdir)/include/ */
+#include "blkid.h"
+#include "list.h"
+
+#ifdef __GNUC__
+#define __BLKID_ATTR(x) __attribute__(x)
+#else
+#define __BLKID_ATTR(x)
+#endif
+
+#ifndef TRUE
+#define TRUE 1
+#define FALSE 0
+#endif
+
+#include <limits.h>
+#ifndef PATH_MAX
+# define PATH_MAX 4096
+#endif
+
+/* TODO: move to some top-level util-linux include file */
+#ifndef ARRAY_SIZE
+#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
+#endif
+
+/*
+ * 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 */
+       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 */
+
+/*
+ * 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;
+
+/*
+ * Low-level probe result
+ */
+#define BLKID_PROBVAL_BUFSIZ   64
+#define BLKID_PROBVAL_NVALS    8       /* see blkid.h BLKID_PROBREQ_* */
+
+struct blkid_prval
+{
+       const char      *name;                  /* value name */
+       unsigned char   data[BLKID_PROBVAL_BUFSIZ]; /* value data */
+       size_t          len;                    /* length of value data */
+};
+
+/*
+ * 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 */
+
+       unsigned char           *sbbuf;         /* superblok buffer */
+       size_t                  sbbuf_len;      /* size of data in superblock buffer */
+
+       unsigned char           *buf;           /* seek buffer */
+       blkid_loff_t            buf_off;        /* offset of seek buffer */
+       size_t                  buf_len;        /* size of data in seek buffer */
+       size_t                  buf_max;        /* allocated size of seek buffer */
+
+       struct blkid_prval      vals[BLKID_PROBVAL_NVALS];
+       int                     nvals;
+
+       int                     probreq;        /* BLKID_PROBREQ_* flags */
+       int                     idx;            /* index of the last prober */
+
+       unsigned long           *fltr;          /* filter */
+};
+
+#define BLKID_SB_BUFSIZ                0x11000
+
+/*
+ * Filesystem / Raid magic strings
+ */
+struct blkid_idmag
+{
+       const char      *magic;         /* magic string */
+       unsigned        len;            /* length of magic */
+
+       long            kboff;          /* kilobyte offset of superblock */
+       unsigned        sboff;          /* byte offset within superblock */
+};
+
+/*
+ * Filesystem / Raid description
+ */
+struct blkid_idinfo
+{
+       const char      *name;          /* FS/RAID name */
+       int             usage;          /* BLKID_USAGE_* flag */
+       int             flags;          /* BLKID_IDINFO_* flags */
+
+                                       /* 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)
+
+/*
+ * 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);
+
+#define BLKID_CACHE_FILE       "/etc/blkid.tab"
+#define BLKID_CONFIG_FILE      "/etc/blkid.conf"
+
+#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_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
+#include <stdio.h>
+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 **);
+
+/* 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 */
+unsigned char *blkid_probe_get_buffer(blkid_probe pr,
+                                blkid_loff_t off, blkid_loff_t len);
+
+/* 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 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_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);
+
+#define BLKID_ENC_UTF16BE      0
+#define BLKID_ENC_UTF16LE      1
+
+#endif /* _BLKID_BLKIDP_H */
diff --git a/shlibs/blkid/src/cache.c b/shlibs/blkid/src/cache.c
new file mode 100644 (file)
index 0000000..19941ff
--- /dev/null
@@ -0,0 +1,245 @@
+/*
+ * 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%
+ */
+
+#if HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#ifdef HAVE_ERRNO_H
+#include <errno.h>
+#endif
+#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
+#ifdef HAVE_SYS_STAT_H
+#include <sys/stat.h>
+#endif
+#include "blkidP.h"
+
+int blkid_debug_mask = 0;
+
+
+char *blkid_safe_getenv(const char *arg)
+{
+       if ((getuid() != geteuid()) || (getgid() != getegid()))
+               return NULL;
+#if 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
+}
+
+#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("BLKID_DEBUG");
+
+               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
+
+/* returns allocated path to cache */
+char *blkid_get_cache_filename(struct blkid_config *conf)
+{
+       char *filename;
+
+       filename = blkid_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(BLKID_CACHE_FILE);
+               else {
+                       filename = c->cachefile;  /* already allocated */
+                       c->cachefile = NULL;
+                       blkid_free_config(c);
+               }
+       }
+       return filename;
+}
+
+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;
+}
+
+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);
+}
+
+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 (!p)
+                       break;
+               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_CACHE_FILE);
+               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/shlibs/blkid/src/config.c b/shlibs/blkid/src/config.c
new file mode 100644 (file)
index 0000000..fcc7b6f
--- /dev/null
@@ -0,0 +1,205 @@
+/*
+ * 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_SYS_MKDEV_H
+#include <sys/mkdev.h>
+#endif
+#ifdef HAVE_ERRNO_H
+#include <errno.h>
+#endif
+#include <stdint.h>
+#include <stdarg.h>
+
+#include "blkdev.h"
+#include "blkidP.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 = blkid_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/shlibs/blkid/src/dev.c b/shlibs/blkid/src/dev.c
new file mode 100644 (file)
index 0000000..31b9fe8
--- /dev/null
@@ -0,0 +1,255 @@
+/*
+ * 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"
+
+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\"\n", (long)dev->bid_time);
+       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);
+}
+
+#ifdef TEST_PROGRAM
+#ifdef HAVE_GETOPT_H
+#include <getopt.h>
+#else
+extern char *optarg;
+extern int optind;
+#endif
+
+void 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/shlibs/blkid/src/devname.c b/shlibs/blkid/src/devname.c
new file mode 100644 (file)
index 0000000..ef686f4
--- /dev/null
@@ -0,0 +1,558 @@
+/*
+ * 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>
+#if HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+#if HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#include <dirent.h>
+#if HAVE_SYS_STAT_H
+#include <sys/stat.h>
+#endif
+#if HAVE_ERRNO_H
+#include <errno.h>
+#endif
+#if HAVE_SYS_MKDEV_H
+#include <sys/mkdev.h>
+#endif
+#include <time.h>
+
+#include "blkidP.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;
+                       if (!p)
+                               break;
+                       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;
+}
+
+/*
+ * Since 2.6.29 (patch 784aae735d9b0bba3f8b9faef4c8b30df3bf0128) kernel sysfs
+ * provides the real DM device names in /sys/block/<ptname>/dm/name
+ */
+static char *get_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")) == NULL)
+               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 = blkid_strdup(path);
+       }
+       fclose(f);
+       return res;
+}
+
+/*
+ * 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)
+{
+       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 = get_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) &&
+                   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;
+       }
+       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) %s\n", lvm_device, errno,
+                                         strerror(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);
+                       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);
+               num++;
+       }
+       fclose(procpt);
+       return num;
+}
+
+/*
+ * 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], ptname1[128], *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
+
+       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);
+                       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);
+                       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);
+
+       fclose(proc);
+       blkid_flush_cache(cache);
+       return 0;
+}
+
+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;
+}
+
+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;
+}
+
+
+#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]);
+
+       blkid_put_cache(cache);
+       return (0);
+}
+#endif
diff --git a/shlibs/blkid/src/devno.c b/shlibs/blkid/src/devno.c
new file mode 100644 (file)
index 0000000..8ffdb83
--- /dev/null
@@ -0,0 +1,228 @@
+/*
+ * 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>
+#if HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#include <stdlib.h>
+#include <string.h>
+#if HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#if HAVE_SYS_STAT_H
+#include <sys/stat.h>
+#endif
+#include <dirent.h>
+#if HAVE_ERRNO_H
+#include <errno.h>
+#endif
+#if HAVE_SYS_MKDEV_H
+#include <sys/mkdev.h>
+#endif
+
+#include "blkidP.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);
+}
+
+/*
+ * This function adds an entry to the directory list
+ */
+static void add_to_dirlist(const char *name, struct dir_list **list)
+{
+       struct dir_list *dp;
+
+       dp = malloc(sizeof(struct dir_list));
+       if (!dp)
+               return;
+       dp->name = blkid_strdup(name);
+       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;
+       char    path[1024];
+       int     dirlen;
+       struct stat st;
+
+       if ((dir = opendir(dirname)) == NULL)
+               return;
+       dirlen = strlen(dirname) + 2;
+       while ((dp = readdir(dir)) != 0) {
+               if (dirlen + strlen(dp->d_name) >= sizeof(path))
+                       continue;
+
+               if (dp->d_name[0] == '.' &&
+                   ((dp->d_name[1] == 0) ||
+                    ((dp->d_name[1] == '.') && (dp->d_name[2] == 0))))
+                       continue;
+
+               sprintf(path, "%s/%s", dirname, dp->d_name);
+               if (stat(path, &st) < 0)
+                       continue;
+
+               if (S_ISBLK(st.st_mode) && st.st_rdev == devno) {
+                       *devname = blkid_strdup(path);
+                       DBG(DEBUG_DEVNO,
+                           printf("found 0x%llx at %s (%p)\n", (long long)devno,
+                                  path, *devname));
+                       break;
+               }
+               if (list && S_ISDIR(st.st_mode) && !lstat(path, &st) &&
+                   S_ISDIR(st.st_mode))
+                       add_to_dirlist(path, list);
+       }
+       closedir(dir);
+       return;
+}
+
+/* Directories where we will try to search for device numbers */
+static const char *devdirs[] = { "/devices", "/devfs", "/dev", NULL };
+
+/*
+ * This function finds the pathname to a block device with a given
+ * device number.  It returns a pointer to allocated memory to the
+ * pathname on success, and NULL on failure.
+ */
+char *blkid_devno_to_devname(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, &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);
+
+       if (!devname) {
+               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, devname));
+       }
+
+
+       return devname;
+}
+
+#ifdef TEST_PROGRAM
+int main(int argc, char** argv)
+{
+       char    *devname, *tmp;
+       int     major, minor;
+       dev_t   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);
+       return 0;
+}
+#endif
diff --git a/shlibs/blkid/src/encode.c b/shlibs/blkid/src/encode.c
new file mode 100644 (file)
index 0000000..0317be1
--- /dev/null
@@ -0,0 +1,295 @@
+
+/*
+ * encode.c - string convertion 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 "blkdev.h"
+#include "blkidP.h"
+
+#define UDEV_ALLOWED_CHARS_INPUT               "/ $%?,"
+
+/* 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;
+}
+
+/**
+ * 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 '_'.
+ */
+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/shlibs/blkid/src/evaluate.c b/shlibs/blkid/src/evaluate.c
new file mode 100644 (file)
index 0000000..b8154e4
--- /dev/null
@@ -0,0 +1,269 @@
+/*
+ * evaluate.c - very high-level API to evaluate LABELs or UUIDs
+ *
+ * This is simular to blkid_get_devname() from resolve.c, but this
+ * API supports udev /dev/disk/by-{label,uuid} links.
+ *
+ * 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_SYS_MKDEV_H
+#include <sys/mkdev.h>
+#endif
+#ifdef HAVE_ERRNO_H
+#include <errno.h>
+#endif
+#include <stdint.h>
+#include <stdarg.h>
+
+#include "pathnames.h"
+#include "canonicalize.h"
+
+#include "blkdev.h"
+#include "blkidP.h"
+
+/* 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_set_request(pr, BLKID_PROBREQ_LABEL | BLKID_PROBREQ_UUID);
+
+       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;
+}
+
+/**
+ * blkid_send_uevent:
+ * @devname: absolute path to the device
+ *
+ * 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 {
+               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;
+
+       if (verify_tag(path, token, value))
+               goto failed;
+       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")
+ * @value: token data
+ * @cache: pointer to cache (or NULL when you don't want to re-use the cache)
+ *
+ * Returns allocated string with 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;
+}
+
+#ifdef TEST_PROGRAM
+int main(int argc, char *argv[])
+{
+       blkid_cache cache = NULL;
+       char *res;
+
+       if (argc < 3) {
+               fprintf(stderr, "usage: %s <token> <value>\n", argv[0]);
+               return EXIT_FAILURE;
+       }
+
+       blkid_init_debug(0);
+
+       res = blkid_evaluate_tag(argv[1], argv[2], &cache);
+       if (res)
+               printf("%s\n", res);
+       if (cache)
+               blkid_put_cache(cache);
+
+       return res ? EXIT_SUCCESS : EXIT_FAILURE;
+}
+#endif
diff --git a/shlibs/blkid/src/getsize.c b/shlibs/blkid/src/getsize.c
new file mode 100644 (file)
index 0000000..10ba7ec
--- /dev/null
@@ -0,0 +1,207 @@
+/*
+ * getsize.c --- get the size of a partition.
+ *
+ * Copyright (C) 1995, 1995 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
+
+/* include this before sys/queues.h! */
+#include "blkidP.h"
+
+#include <stdio.h>
+#if HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#if HAVE_ERRNO_H
+#include <errno.h>
+#endif
+#include <fcntl.h>
+#ifdef HAVE_SYS_IOCTL_H
+#include <sys/ioctl.h>
+#endif
+#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
+#ifdef __linux__
+#include <sys/utsname.h>
+#endif
+#if HAVE_SYS_STAT_H
+#include <sys/stat.h>
+#endif
+
+
+#if defined(__linux__) && defined(_IO) && !defined(BLKGETSIZE)
+#define BLKGETSIZE _IO(0x12,96)        /* return device size */
+#endif
+
+#if defined(__linux__) && defined(_IOR) && !defined(BLKGETSIZE64)
+#define BLKGETSIZE64 _IOR(0x12,114,size_t)     /* return device size in bytes (u64 *arg) */
+#endif
+
+#ifdef APPLE_DARWIN
+#define BLKGETSIZE DKIOCGETBLOCKCOUNT32
+#endif /* APPLE_DARWIN */
+
+static int valid_offset(int fd, blkid_loff_t offset)
+{
+       char ch;
+
+       if (blkid_llseek(fd, offset, 0) < 0)
+               return 0;
+       if (read(fd, &ch, 1) < 1)
+               return 0;
+       return 1;
+}
+
+/*
+ * Returns the number of bytes in a partition
+ */
+blkid_loff_t blkid_get_dev_size(int fd)
+{
+       int valid_blkgetsize64 = 1;
+#ifdef __linux__
+       struct          utsname ut;
+#endif
+       unsigned long long size64;
+       unsigned long size;
+       blkid_loff_t high, low;
+#ifdef FDGETPRM
+       struct floppy_struct this_floppy;
+#endif
+#ifdef HAVE_SYS_DISKLABEL_H
+       int part = -1;
+       struct disklabel lab;
+       struct partition *pp;
+       char ch;
+       struct stat st;
+#endif /* HAVE_SYS_DISKLABEL_H */
+
+#ifdef DKIOCGETBLOCKCOUNT      /* For Apple Darwin */
+       if (ioctl(fd, DKIOCGETBLOCKCOUNT, &size64) >= 0) {
+               if ((sizeof(blkid_loff_t) < sizeof(unsigned long long))
+                   && (size64 << 9 > 0xFFFFFFFF))
+                       return 0; /* EFBIG */
+               return (blkid_loff_t) size64 << 9;
+       }
+#endif
+
+#ifdef BLKGETSIZE64
+#ifdef __linux__
+       if ((uname(&ut) == 0) &&
+           ((ut.release[0] == '2') && (ut.release[1] == '.') &&
+            (ut.release[2] < '6') && (ut.release[3] == '.')))
+               valid_blkgetsize64 = 0;
+#endif
+       if (valid_blkgetsize64 &&
+           ioctl(fd, BLKGETSIZE64, &size64) >= 0) {
+               if ((sizeof(blkid_loff_t) < sizeof(unsigned long long))
+                   && ((size64) > 0xFFFFFFFF))
+                       return 0; /* EFBIG */
+               return size64;
+       }
+#endif
+
+#ifdef BLKGETSIZE
+       if (ioctl(fd, BLKGETSIZE, &size) >= 0)
+               return (blkid_loff_t)size << 9;
+#endif
+
+/* tested on FreeBSD 6.1-RELEASE i386 */
+#ifdef DIOCGMEDIASIZE
+       if (ioctl(fd, DIOCGMEDIASIZE, &size64) >= 0)
+               return (off_t)size64;
+#endif /* DIOCGMEDIASIZE */
+
+#ifdef FDGETPRM
+       if (ioctl(fd, FDGETPRM, &this_floppy) >= 0)
+               return (blkid_loff_t)this_floppy.size << 9;
+#endif
+#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.
+        */
+       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)
+                       return pp->p_size << 9;
+       }
+#endif /* HAVE_SYS_DISKLABEL_H */
+       {
+#ifdef HAVE_FSTAT64
+               struct stat64   st;
+               if (fstat64(fd, &st) == 0)
+#else
+               struct stat     st;
+               if (fstat(fd, &st) == 0)
+#endif
+                       if (S_ISREG(st.st_mode))
+                               return st.st_size;
+       }
+
+
+       /*
+        * OK, we couldn't figure it out by using a specialized ioctl,
+        * which is generally the best way.  So do binary search to
+        * find the size of the partition.
+        */
+       low = 0;
+       for (high = 1024; valid_offset(fd, high); high *= 2)
+               low = high;
+       while (low < high - 1)
+       {
+               const blkid_loff_t mid = (low + high) / 2;
+
+               if (valid_offset(fd, mid))
+                       low = mid;
+               else
+                       high = mid;
+       }
+       return low + 1;
+}
+
+#ifdef TEST_PROGRAM
+int main(int argc, char **argv)
+{
+       long long bytes;
+       int     fd;
+
+       if (argc < 2) {
+               fprintf(stderr, "Usage: %s device\n"
+                       "Determine the size of a device\n", argv[0]);
+               return 1;
+       }
+
+       if ((fd = open(argv[1], O_RDONLY)) < 0)
+               perror(argv[0]);
+
+       bytes = blkid_get_dev_size(fd);
+       printf("Device %s has %Ld 1k blocks.\n", argv[1],
+              (unsigned long long) bytes >> 10);
+
+       return 0;
+}
+#endif
diff --git a/shlibs/blkid/src/list.h b/shlibs/blkid/src/list.h
new file mode 100644 (file)
index 0000000..c1cbfec
--- /dev/null
@@ -0,0 +1,179 @@
+#if !defined(_BLKID_LIST_H) && !defined(LIST_HEAD)
+#define _BLKID_LIST_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#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_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)))
+
+/**
+ * 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_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)
+
+#undef _INLINE_
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _BLKID_LIST_H */
diff --git a/shlibs/blkid/src/llseek.c b/shlibs/blkid/src/llseek.c
new file mode 100644 (file)
index 0000000..75b7d24
--- /dev/null
@@ -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
+
+#if HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+
+#if HAVE_ERRNO_H
+#include <errno.h>
+#endif
+#if 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) || defined(__UCLIBC__)
+
+#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/shlibs/blkid/src/probe.c b/shlibs/blkid/src/probe.c
new file mode 100644 (file)
index 0000000..57a4e60
--- /dev/null
@@ -0,0 +1,946 @@
+/*
+ * probe.c - reads tags (LABEL, UUID, FS type, ..) from a block device
+ *
+ * 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 <ctype.h>
+#include <sys/types.h>
+#ifdef HAVE_SYS_STAT_H
+#include <sys/stat.h>
+#endif
+#ifdef HAVE_SYS_MKDEV_H
+#include <sys/mkdev.h>
+#endif
+#ifdef HAVE_ERRNO_H
+#include <errno.h>
+#endif
+#include <stdint.h>
+#include <stdarg.h>
+
+#ifdef HAVE_LIBUUID
+# ifdef HAVE_UUID_UUID_H
+#  include <uuid/uuid.h>
+# else
+#  include <uuid.h>
+# endif
+#endif
+
+#include "blkdev.h"
+#include "blkidP.h"
+#include "probers/probers.h"
+
+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,
+       &lvm2_idinfo,
+       &lvm1_idinfo,
+       &snapcow_idinfo,
+       &luks_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
+};
+
+#ifndef ARRAY_SIZE
+# define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
+#endif
+
+/* 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)[ bmp_idx_byte(item) ] &= ~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_size(max_items) \
+               (((max_items) + blkid_bmp_wordsize) / blkid_bmp_wordsize)
+
+#define BLKID_FLTR_ITEMS       ARRAY_SIZE(idinfos)
+#define BLKID_FLTR_SIZE                blkid_bmp_size(BLKID_FLTR_ITEMS)
+
+
+static int blkid_probe_set_usage(blkid_probe pr, int usage);
+
+int blkid_known_fstype(const char *fstype)
+{
+       int 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;
+}
+
+/*
+ * Returns a pointer to the newly allocated probe struct
+ */
+blkid_probe blkid_new_probe(void)
+{
+       blkid_init_debug(0);
+       return calloc(1, sizeof(struct blkid_struct_probe));
+}
+
+/*
+ * Deallocates probe struct, buffers and all allocated
+ * data that are associated with this probing control struct.
+ */
+void blkid_free_probe(blkid_probe pr)
+{
+       if (!pr)
+               return;
+       free(pr->fltr);
+       free(pr->buf);
+       free(pr->sbbuf);
+       free(pr);
+}
+
+static void blkid_probe_reset_vals(blkid_probe pr)
+{
+       memset(pr->vals, 0, sizeof(pr->vals));
+       pr->nvals = 0;
+}
+
+static void blkid_probe_reset_idx(blkid_probe pr)
+{
+       pr->idx = -1;
+}
+
+void blkid_reset_probe(blkid_probe pr)
+{
+       if (!pr)
+               return;
+       DBG(DEBUG_LOWPROBE, printf("reseting blkid_probe\n"));
+       if (pr->buf)
+               memset(pr->buf, 0, pr->buf_max);
+       pr->buf_off = 0;
+       pr->buf_len = 0;
+       if (pr->sbbuf)
+               memset(pr->sbbuf, 0, BLKID_SB_BUFSIZ);
+       pr->sbbuf_len = 0;
+       blkid_probe_reset_vals(pr);
+       blkid_probe_reset_idx(pr);
+}
+
+/*
+ * Note that we have two offsets:
+ *
+ *     1/ general device offset (pr->off), that's useful for example when we
+ *        probe a partition from whole disk image:
+ *                    blkid-low --offset  <partition_position> disk.img
+ *
+ *     2/ buffer offset (the 'off' argument), that useful for offsets in
+ *        superbloks, ...
+ *
+ *     That means never use lseek(fd, 0, SEEK_SET), the zero position is always
+ *     pr->off, so lseek(fd, pr->off, SEEK_SET).
+ *
+ */
+unsigned char *blkid_probe_get_buffer(blkid_probe pr,
+                               blkid_loff_t off, blkid_loff_t len)
+{
+       ssize_t ret_read = 0;
+
+       if (off < 0 || len < 0) {
+               DBG(DEBUG_LOWPROBE,
+                       printf("unexpected offset or length of buffer requested\n"));
+               return NULL;
+       }
+       if (off + len <= BLKID_SB_BUFSIZ) {
+               if (!pr->sbbuf) {
+                       pr->sbbuf = malloc(BLKID_SB_BUFSIZ);
+                       if (!pr->sbbuf)
+                               return NULL;
+               }
+               if (!pr->sbbuf_len) {
+                       if (lseek(pr->fd, pr->off, SEEK_SET) < 0)
+                               return NULL;
+                       ret_read = read(pr->fd, pr->sbbuf, BLKID_SB_BUFSIZ);
+                       if (ret_read < 0)
+                               ret_read = 0;
+                       pr->sbbuf_len = ret_read;
+               }
+               if (off + len > pr->sbbuf_len)
+                       return NULL;
+               return pr->sbbuf + off;
+       } else {
+               unsigned char *newbuf = NULL;
+
+               if (len > pr->buf_max) {
+                       newbuf = realloc(pr->buf, len);
+                       if (!newbuf)
+                               return NULL;
+                       pr->buf = newbuf;
+                       pr->buf_max = len;
+                       pr->buf_off = 0;
+                       pr->buf_len = 0;
+               }
+               if (newbuf || off < pr->buf_off ||
+                   off + len > pr->buf_off + pr->buf_len) {
+
+                       if (blkid_llseek(pr->fd, pr->off + off, SEEK_SET) < 0)
+                               return NULL;
+
+                       ret_read = read(pr->fd, pr->buf, len);
+                       if (ret_read != (ssize_t) len)
+                               return NULL;
+                       pr->buf_off = off;
+                       pr->buf_len = len;
+               }
+               return off ? pr->buf + (off - pr->buf_off) : pr->buf;
+       }
+}
+
+/*
+ * Assignes the device to probe control struct, resets internal buffers and
+ * reads 512 bytes from device to the buffers.
+ *
+ * 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)
+{
+       if (!pr)
+               return -1;
+
+       blkid_reset_probe(pr);
+
+       pr->fd = fd;
+       pr->off = off;
+       pr->size = 0;
+
+       if (size)
+               pr->size = size;
+       else {
+               struct stat sb;
+
+               if (fstat(fd, &sb))
+                       return -1;
+
+               if (S_ISBLK(sb.st_mode))
+                       blkdev_get_size(fd, (unsigned long long *) &pr->size);
+               else
+                       pr->size = sb.st_size;
+       }
+       if (!pr->size)
+               return -1;
+
+       /* read SB to test if the device is readable */
+       if (!blkid_probe_get_buffer(pr, 0, 0x200)) {
+               DBG(DEBUG_LOWPROBE,
+                       printf("failed to prepare a device for low-probing\n"));
+               return -1;
+       }
+
+       DBG(DEBUG_LOWPROBE, printf("ready for low-probing, offset=%zd, size=%zd\n",
+                               pr->off, pr->size));
+       return 0;
+}
+
+int blkid_probe_set_request(blkid_probe pr, int flags)
+{
+       if (!pr)
+               return -1;
+       pr->probreq = flags;
+       return 0;
+}
+
+int blkid_probe_reset_filter(blkid_probe pr)
+{
+       if (!pr)
+               return -1;
+       if (pr->fltr)
+               memset(pr->fltr, 0, BLKID_FLTR_SIZE * sizeof(unsigned long));
+       blkid_probe_reset_idx(pr);
+       return 0;
+}
+
+/*
+ * flag:
+ *
+ *  BLKID_FLTR_NOTIN  - probe all filesystems which are NOT IN names[]
+ *
+ *  BLKID_FLTR_ONLYIN - probe filesystem which are IN names[]
+ */
+int blkid_probe_filter_types(blkid_probe pr, int flag, char *names[])
+{
+       int i;
+
+       if (!pr || !names)
+               return -1;
+       if (!pr->fltr) {
+               pr->fltr = calloc(BLKID_FLTR_SIZE, sizeof(unsigned long));
+               blkid_probe_reset_idx(pr);
+       } else
+               blkid_probe_reset_filter(pr);
+
+       if (!pr->fltr)
+               return -1;
+
+       for (i = 0; i < ARRAY_SIZE(idinfos); i++) {
+               int has = 0;
+               const struct blkid_idinfo *id = idinfos[i];
+               char **n;
+
+               for (n = names; *n; n++) {
+                       if (!strcmp(id->name, *n)) {
+                               has = 1;
+                               break;
+                       }
+               }
+               /* The default is enable all filesystems,
+                * set relevant bitmap bit means disable the filesystem.
+                */
+               if (flag & BLKID_FLTR_ONLYIN) {
+                      if (!has)
+                               blkid_bmp_set_item(pr->fltr, i);
+               } else if (flag & BLKID_FLTR_NOTIN) {
+                       if (has)
+                               blkid_bmp_set_item(pr->fltr, i);
+               }
+       }
+       DBG(DEBUG_LOWPROBE, printf("a new probing type-filter initialized\n"));
+       return 0;
+}
+
+/*
+ * flag:
+ *
+ *  BLKID_FLTR_NOTIN  - probe all filesystems which are NOT IN "usage"
+ *
+ *  BLKID_FLTR_ONLYIN - probe filesystem which are IN "usage"
+ *
+ * where the "usage" is a set of filesystem according the usage flag (crypto,
+ * raid, filesystem, ...)
+ */
+int blkid_probe_filter_usage(blkid_probe pr, int flag, int usage)
+{
+       int i;
+
+       if (!pr || !usage)
+               return -1;
+       if (!pr->fltr) {
+               pr->fltr = calloc(BLKID_FLTR_SIZE, sizeof(unsigned long));
+               blkid_probe_reset_idx(pr);
+       } else
+               blkid_probe_reset_filter(pr);
+
+       if (!pr->fltr)
+               return -1;
+
+       for (i = 0; i < ARRAY_SIZE(idinfos); i++) {
+               const struct blkid_idinfo *id = idinfos[i];
+
+               if (id->usage & usage) {
+                       if (flag & BLKID_FLTR_NOTIN)
+                               blkid_bmp_set_item(pr->fltr, i);
+               } else if (flag & BLKID_FLTR_ONLYIN)
+                       blkid_bmp_set_item(pr->fltr, i);
+       }
+       DBG(DEBUG_LOWPROBE, printf("a new probing usage-filter initialized\n"));
+       return 0;
+}
+
+
+int blkid_probe_invert_filter(blkid_probe pr)
+{
+       int i;
+
+       if (!pr || !pr->fltr)
+               return -1;
+       for (i = 0; i < BLKID_FLTR_SIZE; i++)
+               pr->fltr[i] = ~pr->fltr[i];
+
+       blkid_probe_reset_idx(pr);
+       DBG(DEBUG_LOWPROBE, printf("probing filter inverted\n"));
+       return 0;
+}
+
+/*
+ * The blkid_do_probe() calls the probe functions. This routine could be used
+ * in a loop when you need to probe for all possible filesystems/raids.
+ *
+ * 1/ basic case -- use the first result:
+ *
+ *     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);
+ *             }
+ *     }
+ *
+ * 2/ advanced case -- probe for all signatures (don't forget that some
+ *                     filesystems can co-exist on one volume (e.g. CD-ROM).
+ *
+ *     while (blkid_do_probe(pr) == 0) {
+ *             int nvals = blkid_probe_numof_values(pr);
+ *             ...
+ *     }
+ *
+ *    The internal probing index (pointer to the last probing function) is
+ *    always reseted when you touch probing filter or set a new device. It
+ *    means you cannot use:
+ *
+ *      blkid_probe_invert_filter()
+ *      blkid_probe_filter_usage()
+ *      blkid_probe_filter_types()
+ *      blkid_probe_reset_filter()
+ *      blkid_probe_set_device()
+ *
+ *    in the loop (e.g while()) when you iterate on all signatures.
+ */
+int blkid_do_probe(blkid_probe pr)
+{
+       int i = 0;
+
+       if (!pr || pr->idx < -1)
+               return -1;
+
+       blkid_probe_reset_vals(pr);
+
+       DBG(DEBUG_LOWPROBE,
+               printf("--> starting probing loop [idx=%d]\n",
+               pr->idx));
+
+       i = pr->idx + 1;
+
+       for ( ; i < ARRAY_SIZE(idinfos); i++) {
+               const struct blkid_idinfo *id;
+               const struct blkid_idmag *mag;
+               int hasmag = 0;
+
+               pr->idx = i;
+
+               if (pr->fltr && blkid_bmp_get_item(pr->fltr, i))
+                       continue;
+
+               id = idinfos[i];
+               mag = id->magics ? &id->magics[0] : NULL;
+
+               /* try to detect by magic string */
+               while(mag && mag->magic) {
+                       int idx;
+                       unsigned char *buf;
+
+                       idx = mag->kboff + (mag->sboff >> 10);
+                       buf = blkid_probe_get_buffer(pr, idx << 10, 1024);
+
+                       if (buf && !memcmp(mag->magic,
+                                       buf + (mag->sboff & 0x3ff), mag->len)) {
+                               DBG(DEBUG_LOWPROBE, printf(
+                                       "%s: magic sboff=%u, kboff=%ld\n",
+                                       id->name, mag->sboff, mag->kboff));
+                               hasmag = 1;
+                               break;
+                       }
+                       mag++;
+               }
+
+               if (hasmag == 0 && id->magics && id->magics[0].magic)
+                       /* magic string(s) defined, but not found */
+                       continue;
+
+               /* final check by probing function */
+               if (id->probefunc) {
+                       DBG(DEBUG_LOWPROBE, printf(
+                               "%s: call probefunc()\n", id->name));
+                       if (id->probefunc(pr, mag) != 0)
+                               continue;
+               }
+
+               /* all cheks passed */
+               if (pr->probreq & BLKID_PROBREQ_TYPE)
+                       blkid_probe_set_value(pr, "TYPE",
+                               (unsigned char *) id->name,
+                               strlen(id->name) + 1);
+               if (pr->probreq & BLKID_PROBREQ_USAGE)
+                       blkid_probe_set_usage(pr, id->usage);
+
+               DBG(DEBUG_LOWPROBE,
+                       printf("<-- leaving probing loop (type=%s) [idx=%d]\n",
+                       id->name, pr->idx));
+               return 0;
+       }
+       DBG(DEBUG_LOWPROBE,
+               printf("<-- leaving probing loop (failed) [idx=%d]\n",
+               pr->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 signature is
+ * detected.  The function also does not check for collision between RAIDs. The
+ * first detected RAID is returned.
+ */
+int blkid_do_safeprobe(blkid_probe pr)
+{
+       struct blkid_struct_probe first;
+       int count = 0;
+       int intol = 0;
+       int rc;
+
+       while ((rc = blkid_do_probe(pr)) == 0) {
+               if (!count) {
+                       /* store the fist result */
+                       memcpy(first.vals, pr->vals, sizeof(first.vals));
+                       first.nvals = pr->nvals;
+                       first.idx = pr->idx;
+               }
+               count++;
+
+               if (idinfos[pr->idx]->usage & BLKID_USAGE_RAID)
+                       break;
+               if (!(idinfos[pr->idx]->flags & BLKID_IDINFO_TOLERANT))
+                       intol++;
+       }
+       if (rc < 0)
+               return rc;              /* error */
+       if (count > 1 && intol) {
+               DBG(DEBUG_LOWPROBE,
+                       printf("ERROR: ambivalent result detected (%d filesystems)!\n",
+                       count));
+               return -2;              /* error, ambivalent result (more FS) */
+       }
+       if (!count)
+               return 1;               /* nothing detected */
+
+       /* restore the first result */
+       memcpy(pr->vals, first.vals, sizeof(first.vals));
+       pr->nvals = first.nvals;
+       pr->idx = first.idx;
+
+       return 0;
+}
+
+int blkid_probe_numof_values(blkid_probe pr)
+{
+       if (!pr)
+               return -1;
+       return pr->nvals;
+}
+
+
+static 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_PROBVAL_NVALS)
+               return NULL;
+
+       v = &pr->vals[pr->nvals];
+       v->name = name;
+       pr->nvals++;
+
+       DBG(DEBUG_LOWPROBE, printf("assigning %s\n", name));
+       return v;
+}
+
+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;
+       size_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) {
+               pr->nvals--; /* reset the latest assigned value */
+               return -1;
+       }
+       v->len = len + 1;
+       return 0;
+}
+
+int blkid_probe_set_version(blkid_probe pr, const char *version)
+{
+       if (pr->probreq & BLKID_PROBREQ_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, ...)
+{
+       int rc = 0;
+
+       if (pr->probreq & BLKID_PROBREQ_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)
+{
+       char *u = NULL;
+
+       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);
+}
+
+
+/* Removes whitespace from the right-hand side of a string (trailing
+ * whitespace).
+ *
+ * Returns size of the new string (without \0).
+ */
+static 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;
+}
+
+int blkid_probe_set_label(blkid_probe pr, unsigned char *label, size_t len)
+{
+       struct blkid_prval *v;
+
+       if (len > BLKID_PROBVAL_BUFSIZ)
+               len = BLKID_PROBVAL_BUFSIZ;
+
+       if ((pr->probreq & BLKID_PROBREQ_LABELRAW) &&
+           blkid_probe_set_value(pr, "LABEL_RAW", label, len) < 0)
+               return -1;
+       if (!(pr->probreq & BLKID_PROBREQ_LABEL))
+               return 0;
+       v = blkid_probe_assign_value(pr, "LABEL");
+       if (!v)
+               return -1;
+
+       memcpy(v->data, label, len);
+       v->data[len] = '\0';
+       v->len = blkid_rtrim_whitespace(v->data) + 1;
+       return 0;
+}
+
+static size_t encode_to_utf8(int enc, unsigned char *dest, size_t len,
+                       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;
+}
+
+int blkid_probe_set_utf8label(blkid_probe pr, unsigned char *label,
+                               size_t len, int enc)
+{
+       struct blkid_prval *v;
+
+       if ((pr->probreq & BLKID_PROBREQ_LABELRAW) &&
+           blkid_probe_set_value(pr, "LABEL_RAW", label, len) < 0)
+               return -1;
+       if (!(pr->probreq & BLKID_PROBREQ_LABEL))
+               return 0;
+       v = blkid_probe_assign_value(pr, "LABEL");
+       if (!v)
+               return -1;
+
+       encode_to_utf8(enc, v->data, sizeof(v->data), label, len);
+       v->len = blkid_rtrim_whitespace(v->data) + 1;
+       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)
+{
+       int 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, ...)
+{
+       int rc = -1;
+       va_list ap;
+
+       if (len > BLKID_PROBVAL_BUFSIZ)
+               len = BLKID_PROBVAL_BUFSIZ;
+
+       if (uuid_is_empty(uuid, len))
+               return 0;
+
+       if ((pr->probreq & BLKID_PROBREQ_UUIDRAW) &&
+           blkid_probe_set_value(pr, "UUID_RAW", uuid, len) < 0)
+               return -1;
+       if (!(pr->probreq & BLKID_PROBREQ_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) {
+               int i;
+               struct blkid_prval *v = &pr->vals[pr->nvals];
+
+               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_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 ((pr->probreq & BLKID_PROBREQ_UUIDRAW) &&
+           blkid_probe_set_value(pr, "UUID_RAW", str, len) < 0)
+               return -1;
+       if (!(pr->probreq & BLKID_PROBREQ_UUID))
+               return 0;
+
+       v = blkid_probe_assign_value(pr, "UUID");
+       if (v) {
+               memcpy((char *) v->data, str, len);
+               *(v->data + len) = '\0';
+               v->len = len;
+               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_prval *v;
+
+       if (uuid_is_empty(uuid, 16))
+               return 0;
+
+       if (!name) {
+               if ((pr->probreq & BLKID_PROBREQ_UUIDRAW) &&
+                   blkid_probe_set_value(pr, "UUID_RAW", uuid, 16) < 0)
+                       return -1;
+               if (!(pr->probreq & BLKID_PROBREQ_UUID))
+                       return 0;
+
+               v = blkid_probe_assign_value(pr, "UUID");
+       } else
+               v = blkid_probe_assign_value(pr, name);
+
+#ifdef HAVE_LIBUUID
+       {
+               uuid_unparse(uuid, (char *) v->data);
+               v->len = 37;
+       }
+#else
+       v->len = snprintf(v->data, sizeof(v->data),
+               "%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]);
+       v->len++;
+#endif
+       return 0;
+}
+
+int blkid_probe_set_uuid(blkid_probe pr, unsigned char *uuid)
+{
+       return blkid_probe_set_uuid_as(pr, uuid, NULL);
+}
+
+int blkid_probe_get_value(blkid_probe pr, int num, const char **name,
+                       const char **data, size_t *len)
+{
+       struct blkid_prval *v;
+
+       if (pr == NULL || num < 0 || num >= pr->nvals)
+               return -1;
+
+       v = &pr->vals[num];
+       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;
+}
+
+int blkid_probe_lookup_value(blkid_probe pr, const char *name,
+                       const char **data, size_t *len)
+{
+       int i;
+
+       if (pr == NULL || pr->nvals == 0 || name == NULL)
+               return -1;
+
+       for (i = 0; i < pr->nvals; i++) {
+               struct blkid_prval *v = &pr->vals[i];
+
+               if (v->name && strcmp(name, v->name) == 0) {
+                       if (data)
+                               *data = (char *) v->data;
+                       if (len)
+                               *len = v->len;
+                       DBG(DEBUG_LOWPROBE, printf("returning %s value\n", v->name));
+                       return 0;
+               }
+       }
+       return -1;
+}
+
+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;
+}
+
diff --git a/shlibs/blkid/src/probers/Makefile.am b/shlibs/blkid/src/probers/Makefile.am
new file mode 100644 (file)
index 0000000..4591db6
--- /dev/null
@@ -0,0 +1,43 @@
+include $(top_srcdir)/config/include-Makefile.am
+
+AM_CPPFLAGS += -I$(ul_libblkid_srcdir)
+
+noinst_LTLIBRARIES = libblkid_probers.la
+libblkid_probers_la_SOURCES = \
+                       probers.h \
+                       cramfs.c \
+                       swap.c \
+                       adaptec_raid.c \
+                       ddf_raid.c \
+                       isw_raid.c \
+                       jmicron_raid.c \
+                       lsi_raid.c \
+                       nvidia_raid.c \
+                       promise_raid.c \
+                       silicon_raid.c \
+                       via_raid.c \
+                       linux_raid.c \
+                       jfs.c \
+                       xfs.c \
+                       ext.c \
+                       gfs.c \
+                       ocfs.c \
+                       reiserfs.c \
+                       romfs.c \
+                       ntfs.c \
+                       hfs.c \
+                       iso9660.c \
+                       udf.c \
+                       vfat.c \
+                       luks.c \
+                       highpoint_raid.c \
+                       vxfs.c \
+                       minix.c \
+                       ufs.c \
+                       hpfs.c \
+                       squashfs.c \
+                       netware.c \
+                       sysv.c \
+                       btrfs.c \
+                       lvm.c \
+                       zfs.c
diff --git a/shlibs/blkid/src/probers/Makefile.in b/shlibs/blkid/src/probers/Makefile.in
new file mode 100644 (file)
index 0000000..efbe3ad
--- /dev/null
@@ -0,0 +1,614 @@
+# Makefile.in generated by automake 1.11 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@
+DIST_COMMON = $(dist_noinst_DATA) $(srcdir)/Makefile.am \
+       $(srcdir)/Makefile.in $(top_srcdir)/config/include-Makefile.am
+subdir = shlibs/blkid/src/probers
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.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)/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 =
+CONFIG_CLEAN_VPATH_FILES =
+LTLIBRARIES = $(noinst_LTLIBRARIES)
+libblkid_probers_la_LIBADD =
+am_libblkid_probers_la_OBJECTS = cramfs.lo swap.lo adaptec_raid.lo \
+       ddf_raid.lo isw_raid.lo jmicron_raid.lo lsi_raid.lo \
+       nvidia_raid.lo promise_raid.lo silicon_raid.lo via_raid.lo \
+       linux_raid.lo jfs.lo xfs.lo ext.lo gfs.lo ocfs.lo reiserfs.lo \
+       romfs.lo ntfs.lo hfs.lo iso9660.lo udf.lo vfat.lo luks.lo \
+       highpoint_raid.lo vxfs.lo minix.lo ufs.lo hpfs.lo squashfs.lo \
+       netware.lo sysv.lo btrfs.lo lvm.lo zfs.lo
+libblkid_probers_la_OBJECTS = $(am_libblkid_probers_la_OBJECTS)
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+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) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+       --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+       --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+       $(LDFLAGS) -o $@
+SOURCES = $(libblkid_probers_la_SOURCES)
+DIST_SOURCES = $(libblkid_probers_la_SOURCES)
+DATA = $(dist_noinst_DATA)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BLKID = @BLKID@
+BLKID_CFLAGS = @BLKID_CFLAGS@
+BLKID_LIBS = @BLKID_LIBS@
+BLKID_LIBS_STATIC = @BLKID_LIBS_STATIC@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+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@
+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_VERSION = @LIBBLKID_VERSION@
+LIBBLKID_VERSION_INFO = @LIBBLKID_VERSION_INFO@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+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@
+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_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+POSUB = @POSUB@
+RANLIB = @RANLIB@
+SED = @SED@
+SELINUX_LIBS = @SELINUX_LIBS@
+SELINUX_LIBS_STATIC = @SELINUX_LIBS_STATIC@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SUID_CFLAGS = @SUID_CFLAGS@
+SUID_LDFLAGS = @SUID_LDFLAGS@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
+VERSION = @VERSION@
+VOLID = @VOLID@
+XGETTEXT = @XGETTEXT@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+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@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+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 $(top_builddir)/config.h \
+       -I$(top_srcdir)/include -DLOCALEDIR=\"$(localedir)\" \
+       -I$(ul_libblkid_srcdir)
+AM_CFLAGS = -fsigned-char
+AM_LDFLAGS = 
+
+# 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)
+#
+# blkid
+ul_libblkid_srcdir = $(top_srcdir)/shlibs/blkid/src
+ul_libblkid_builddir = $(top_builddir)/shlibs/blkid/src
+ul_libblkid_la = $(top_builddir)/shlibs/blkid/src/libblkid.la
+
+# uuid
+ul_libuuid_srcdir = $(top_srcdir)/shlibs/uuid/src
+ul_libuuid_builddir = $(top_builddir)/shlibs/uuid/src
+ul_libuuid_la = $(top_builddir)/shlibs/uuid/src/libuuid.la
+noinst_LTLIBRARIES = libblkid_probers.la
+libblkid_probers_la_SOURCES = \
+                       probers.h \
+                       cramfs.c \
+                       swap.c \
+                       adaptec_raid.c \
+                       ddf_raid.c \
+                       isw_raid.c \
+                       jmicron_raid.c \
+                       lsi_raid.c \
+                       nvidia_raid.c \
+                       promise_raid.c \
+                       silicon_raid.c \
+                       via_raid.c \
+                       linux_raid.c \
+                       jfs.c \
+                       xfs.c \
+                       ext.c \
+                       gfs.c \
+                       ocfs.c \
+                       reiserfs.c \
+                       romfs.c \
+                       ntfs.c \
+                       hfs.c \
+                       iso9660.c \
+                       udf.c \
+                       vfat.c \
+                       luks.c \
+                       highpoint_raid.c \
+                       vxfs.c \
+                       minix.c \
+                       ufs.c \
+                       hpfs.c \
+                       squashfs.c \
+                       netware.c \
+                       sysv.c \
+                       btrfs.c \
+                       lvm.c \
+                       zfs.c
+
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/config/include-Makefile.am $(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 shlibs/blkid/src/probers/Makefile'; \
+       $(am__cd) $(top_srcdir) && \
+         $(AUTOMAKE) --foreign shlibs/blkid/src/probers/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):
+
+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
+libblkid_probers.la: $(libblkid_probers_la_OBJECTS) $(libblkid_probers_la_DEPENDENCIES) 
+       $(LINK)  $(libblkid_probers_la_OBJECTS) $(libblkid_probers_la_LIBADD) $(LIBS)
+
+mostlyclean-compile:
+       -rm -f *.$(OBJEXT)
+
+distclean-compile:
+       -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/adaptec_raid.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/btrfs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cramfs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ddf_raid.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ext.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gfs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hfs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/highpoint_raid.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hpfs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iso9660.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isw_raid.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jfs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jmicron_raid.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linux_raid.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lsi_raid.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/luks.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lvm.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/minix.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netware.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ntfs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nvidia_raid.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ocfs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/promise_raid.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reiserfs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/romfs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/silicon_raid.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/squashfs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/swap.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sysv.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/udf.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ufs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vfat.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/via_raid.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vxfs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xfs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/zfs.Plo@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@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 $<
+
+.c.obj:
+@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@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 `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@   $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@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 $@ $<
+
+mostlyclean-libtool:
+       -rm -f *.lo
+
+clean-libtool:
+       -rm -rf .libs _libs
+
+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:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       set x; \
+       here=`pwd`; \
+       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; }; }'`; \
+       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:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       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; }; }'`; \
+       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
+
+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 $(LTLIBRARIES) $(DATA)
+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:
+
+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)
+
+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-noinstLTLIBRARIES \
+       mostlyclean-am
+
+distclean: distclean-am
+       -rm -rf ./$(DEPDIR)
+       -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+       distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+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 -rf ./$(DEPDIR)
+       -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+       mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+       clean-libtool clean-noinstLTLIBRARIES ctags distclean \
+       distclean-compile distclean-generic distclean-libtool \
+       distclean-tags distdir dvi dvi-am html html-am info info-am \
+       install install-am install-data install-data-am 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-compile mostlyclean-generic mostlyclean-libtool \
+       pdf pdf-am ps ps-am tags uninstall uninstall-am
+
+
+$(ul_libblkid_la):
+       $(MAKE) -C $(ul_libblkid_builddir)
+
+$(ul_libuuid_la):
+       $(MAKE) -C $(ul_libuuid_builddir)
+
+# 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/shlibs/blkid/src/probers/adaptec_raid.c b/shlibs/blkid/src/probers/adaptec_raid.c
new file mode 100644 (file)
index 0000000..fd1fc71
--- /dev/null
@@ -0,0 +1,107 @@
+/*
+ * 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 "blkidP.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];
+       uint8_t         smagic[4];
+       uint32_t        raidtbl;
+       uint16_t        raidline;
+       uint8_t         res9[0xF6];
+} __attribute__((packed));
+
+#define AD_SIGNATURE   "DPTM"
+#define AD_MAGIC       0x37FC4D1E
+
+static int probe_adraid(blkid_probe pr, const struct blkid_idmag *mag)
+{
+       uint64_t off;
+       struct adaptec_metadata *ad;
+
+       if (pr->size < 0x10000)
+               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 (memcmp(ad->smagic, AD_SIGNATURE, sizeof(AD_SIGNATURE)) != 0)
+               return -1;
+       if (ad->b0idcode != be32_to_cpu(AD_MAGIC))
+               return -1;
+       if (blkid_probe_sprintf_version(pr, "%u", ad->resver) != 0)
+               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/shlibs/blkid/src/probers/btrfs.c b/shlibs/blkid/src/probers/btrfs.c
new file mode 100644 (file)
index 0000000..3205e3d
--- /dev/null
@@ -0,0 +1,92 @@
+/*
+ * 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 "blkidP.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,
+       .magics         =
+       {
+               { .magic = "_BHRfS_M", .len = 8, .kboff = 64, .sboff = 0x40 },
+               { NULL }
+       }
+};
+
diff --git a/shlibs/blkid/src/probers/cramfs.c b/shlibs/blkid/src/probers/cramfs.c
new file mode 100644 (file)
index 0000000..428ef50
--- /dev/null
@@ -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 "blkidP.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/shlibs/blkid/src/probers/ddf_raid.c b/shlibs/blkid/src/probers/ddf_raid.c
new file mode 100644 (file)
index 0000000..41d6e12
--- /dev/null
@@ -0,0 +1,74 @@
+/*
+ * 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 "blkidP.h"
+
+/* http://www.snia.org/standards/home */
+#define DDF_GUID_LENGTH                        24
+#define DDF_REV_LENGTH                 8
+
+struct ddf_header {
+       uint8_t         signature[4];
+       uint32_t        crc;
+       uint8_t         guid[DDF_GUID_LENGTH];
+       uint8_t         ddf_rev[DDF_REV_LENGTH];
+} __attribute__((packed));
+
+static int probe_ddf(blkid_probe pr, const struct blkid_idmag *mag)
+{
+       int hdrs[] = { 1, 257 };
+       int i;
+       struct ddf_header *ddf = NULL;
+       char version[DDF_REV_LENGTH + 1];
+
+       if (pr->size < 0x30000)
+               return -1;
+
+       for (i = 0; i < ARRAY_SIZE(hdrs); i++) {
+               uint64_t 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 (memcmp(ddf->signature, "\x11\xde\x11\xde", 4) == 0 ||
+                   memcmp(ddf->signature, "\xde\x11\xde\x11", 4) == 0)
+                       break;
+               ddf = NULL;
+       }
+
+       if (!ddf)
+               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;
+       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/shlibs/blkid/src/probers/ext.c b/shlibs/blkid/src/probers/ext.c
new file mode 100644 (file)
index 0000000..26490f3
--- /dev/null
@@ -0,0 +1,571 @@
+/*
+ * 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 "blkidP.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
+
+
+#ifdef FUCK
+
+/* 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)
+
+#endif
+
+/*
+ * 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;
+}
+/*
+ * 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)
+{
+       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 && (pr->probreq & BLKID_PROBREQ_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)
+{
+       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)
+{
+       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()) &&
+           get_linux_version() >= EXT4_SUPPORTS_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)
+{
+       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)
+{
+       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() &&
+           get_linux_version() >= EXT4_SUPPORTS_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)
+{
+       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() &&
+           get_linux_version() >= EXT4_SUPPORTS_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/shlibs/blkid/src/probers/gfs.c b/shlibs/blkid/src/probers/gfs.c
new file mode 100644 (file)
index 0000000..c716643
--- /dev/null
@@ -0,0 +1,129 @@
+/*
+ * 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 "blkidP.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,
+       .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,
+       .magics         =
+       {
+               { .magic = "\x01\x16\x19\x70", .len = 4, .kboff = 64 },
+               { NULL }
+       }
+};
+
diff --git a/shlibs/blkid/src/probers/hfs.c b/shlibs/blkid/src/probers/hfs.c
new file mode 100644 (file)
index 0000000..4cdef0e
--- /dev/null
@@ -0,0 +1,313 @@
+/*
+ * 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 "blkidP.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));
+
+static int hfs_set_uuid(blkid_probe pr, unsigned char const *hfs_info, size_t len)
+{
+       static unsigned char const hash_init[16] = {
+               0xb3, 0xe2, 0x0f, 0x39, 0xf2, 0x92, 0x11, 0xd6,
+               0x97, 0xa4, 0x00, 0x30, 0x65, 0x43, 0xec, 0xac
+       };
+       unsigned char uuid[16];
+       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, 16);
+       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);
+       memcpy(extents, hfsplus->cat_file.extents, sizeof(extents));
+       cat_block = be32_to_cpu(extents[0].start_block);
+
+       buf = blkid_probe_get_buffer(pr,
+                       off + (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, 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,
+       .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/shlibs/blkid/src/probers/highpoint_raid.c b/shlibs/blkid/src/probers/highpoint_raid.c
new file mode 100644 (file)
index 0000000..c7c92db
--- /dev/null
@@ -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 "blkidP.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)
+{
+       struct hpt45x_metadata *hpt;
+       uint64_t off;
+       uint32_t magic;
+
+       if (pr->size < 0x10000)
+               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;
+       return 0;
+}
+
+const struct blkid_idinfo highpoint45x_idinfo = {
+       .name           = "highpoint_raid_member",
+       .usage          = BLKID_USAGE_RAID,
+       .probefunc      = probe_highpoint45x,
+       .magics         = BLKID_NONE_MAGIC
+};
+
+const struct blkid_idinfo highpoint37x_idinfo = {
+       .name           = "highpoint_raid_member",
+       .usage          = BLKID_USAGE_RAID,
+       .magics         = {
+               { .magic = "\xf0\x16\x78\x5a", .len = 4, .kboff = 4 },
+               { .magic = "\xfd\x16\x78\x5a", .len = 4, .kboff = 4 },
+               { NULL }
+       }
+};
+
+
diff --git a/shlibs/blkid/src/probers/hpfs.c b/shlibs/blkid/src/probers/hpfs.c
new file mode 100644 (file)
index 0000000..9e1219c
--- /dev/null
@@ -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 "blkidP.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/shlibs/blkid/src/probers/iso9660.c b/shlibs/blkid/src/probers/iso9660.c
new file mode 100644 (file)
index 0000000..16d232a
--- /dev/null
@@ -0,0 +1,153 @@
+/*
+ * 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 "blkidP.h"
+
+/* 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];
+} __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)
+{
+       int 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;
+}
+
+/* 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));
+
+       /* 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) {
+
+                       /* 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);
+
+                       blkid_probe_set_version(pr, "Joliet Extension");
+                       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/shlibs/blkid/src/probers/isw_raid.c b/shlibs/blkid/src/probers/isw_raid.c
new file mode 100644 (file)
index 0000000..f9ae745
--- /dev/null
@@ -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 "blkidP.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)
+{
+       uint64_t off;
+       struct isw_metadata *isw;
+
+       if (pr->size < 0x10000)
+               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;
+
+       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/shlibs/blkid/src/probers/jfs.c b/shlibs/blkid/src/probers/jfs.c
new file mode 100644 (file)
index 0000000..5d9b39a
--- /dev/null
@@ -0,0 +1,70 @@
+/*
+ * 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 "blkidP.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) != (1 << le16_to_cpu(js->js_l2bsize)))
+               return 1;
+       if (le32_to_cpu(js->js_pbsize) != (1 << 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,
+       .magics         =
+       {
+               { .magic = "JFS1", .len = 4, .kboff = 32 },
+               { NULL }
+       }
+};
+
diff --git a/shlibs/blkid/src/probers/jmicron_raid.c b/shlibs/blkid/src/probers/jmicron_raid.c
new file mode 100644 (file)
index 0000000..ae852f8
--- /dev/null
@@ -0,0 +1,59 @@
+/*
+ * 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 "blkidP.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)
+{
+       uint64_t off;
+       struct jm_metadata *jm;
+
+       if (pr->size < 0x10000)
+               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;
+
+       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/shlibs/blkid/src/probers/linux_raid.c b/shlibs/blkid/src/probers/linux_raid.c
new file mode 100644 (file)
index 0000000..a592656
--- /dev/null
@@ -0,0 +1,167 @@
+/*
+ * 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 "blkidP.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;
+};
+
+struct mdp1_super_block {
+       uint32_t        magic;
+       uint32_t        major_version;
+       uint32_t        feature_map;
+       uint32_t        pad0;
+       uint8_t         set_uuid[16];
+       uint8_t         set_name[32];
+};
+
+#define MD_RESERVED_BYTES              0x10000
+#define MD_SB_MAGIC                    0xa92b4efc
+
+static int probe_raid0(blkid_probe pr, off_t off)
+{
+       struct mdp0_super_block *mdp0;
+       union {
+               uint32_t ints[4];
+               uint8_t bytes[16];
+       } uuid;
+
+       if (pr->size < 0x10000)
+               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);
+               }
+               if (blkid_probe_sprintf_version(pr, "%u.%u.%u",
+                               le32_to_cpu(mdp0->major_version),
+                               le32_to_cpu(mdp0->minor_version),
+                               le32_to_cpu(mdp0->patch_version)) != 0)
+                       return -1;
+
+       } 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;
+               }
+               if (blkid_probe_sprintf_version(pr, "%u.%u.%u",
+                               be32_to_cpu(mdp0->major_version),
+                               be32_to_cpu(mdp0->minor_version),
+                               be32_to_cpu(mdp0->patch_version)) != 0)
+                       return -1;
+       } else
+               return -1;
+
+       if (blkid_probe_set_uuid(pr, (unsigned char *) uuid.bytes) != 0)
+               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) != 1)
+               return -1;
+       if (blkid_probe_set_uuid(pr, (unsigned char *) mdp1->set_uuid) != 0)
+               return -1;
+       if (blkid_probe_set_label(pr, mdp1->set_name,
+                               sizeof(mdp1->set_name)) != 0)
+               return -1;
+
+       return 0;
+}
+
+int probe_raid(blkid_probe pr, const struct blkid_idmag *mag)
+{
+       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/shlibs/blkid/src/probers/lsi_raid.c b/shlibs/blkid/src/probers/lsi_raid.c
new file mode 100644 (file)
index 0000000..d9ac4e1
--- /dev/null
@@ -0,0 +1,55 @@
+/*
+ * 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 "blkidP.h"
+
+struct lsi_metadata {
+       uint8_t         sig[6];
+};
+
+
+#define LSI_SIGNATURE          "$XIDE$"
+
+static int probe_lsiraid(blkid_probe pr, const struct blkid_idmag *mag)
+{
+       uint64_t off;
+       struct lsi_metadata *lsi;
+
+       if (pr->size < 0x10000)
+               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;
+
+       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/shlibs/blkid/src/probers/luks.c b/shlibs/blkid/src/probers/luks.c
new file mode 100644 (file)
index 0000000..5e5f4ff
--- /dev/null
@@ -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 "blkidP.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", le16_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/shlibs/blkid/src/probers/lvm.c b/shlibs/blkid/src/probers/lvm.c
new file mode 100644 (file)
index 0000000..d8edc37
--- /dev/null
@@ -0,0 +1,176 @@
+/*
+ * 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 "blkidP.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);
+       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;
+}
+
+/* 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 }
+       }
+};
diff --git a/shlibs/blkid/src/probers/minix.c b/shlibs/blkid/src/probers/minix.c
new file mode 100644 (file)
index 0000000..b29b9a4
--- /dev/null
@@ -0,0 +1,51 @@
+/*
+ * 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 "blkidP.h"
+
+static int probe_minix(blkid_probe pr, const struct blkid_idmag *mag)
+{
+       /* for more details see magic strings below */
+       switch(mag->magic[1]) {
+       case '\023':
+               blkid_probe_set_version(pr, "1");
+               break;
+       case '\044':
+               blkid_probe_set_version(pr, "2");
+               break;
+       case '\115':
+               blkid_probe_set_version(pr, "3");
+               break;
+       }
+       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/shlibs/blkid/src/probers/netware.c b/shlibs/blkid/src/probers/netware.c
new file mode 100644 (file)
index 0000000..722506f
--- /dev/null
@@ -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 "blkidP.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/shlibs/blkid/src/probers/ntfs.c b/shlibs/blkid/src/probers/ntfs.c
new file mode 100644 (file)
index 0000000..8d183c6
--- /dev/null
@@ -0,0 +1,184 @@
+/*
+ * 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 "blkidP.h"
+
+struct ntfs_super_block {
+       uint8_t         jump[3];
+       uint8_t         oem_id[8];
+       uint8_t         bios_parameter_block[25];
+       uint16_t        unused[2];
+       uint64_t        number_of_sectors;
+       uint64_t        mft_cluster_location;
+       uint64_t        mft_mirror_cluster_location;
+       int8_t          cluster_per_mft_record;
+       uint8_t         reserved1[3];
+       int8_t          cluster_per_index_record;
+       uint8_t         reserved2[3];
+       uint64_t        volume_serial;
+       uint16_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 MFT_RECORD_ATTR_VOLUME_NAME            0x60
+#define MFT_RECORD_ATTR_VOLUME_INFO            0x70
+#define MFT_RECORD_ATTR_OBJECT_ID              0x40
+#define MFT_RECORD_ATTR_END                    0xffffffffu
+
+static int probe_ntfs(blkid_probe pr, const struct blkid_idmag *mag)
+{
+       struct ntfs_super_block *ns;
+       struct master_file_table_record *mft;
+       struct file_attribute *attr;
+       unsigned char   label_str[129], *cp;
+       int             bytes_per_sector, sectors_per_cluster;
+       int             mft_record_size, attr_off, attr_len;
+       unsigned int    i, attr_type, val_len;
+       int             val_off;
+       uint64_t                nr_clusters;
+       blkid_loff_t off;
+       unsigned char *buf_mft, *val;
+
+       ns = blkid_probe_get_sb(pr, mag, struct ntfs_super_block);
+       if (!ns)
+               return -1;
+
+       bytes_per_sector = ns->bios_parameter_block[0] +
+               (ns->bios_parameter_block[1]  << 8);
+       sectors_per_cluster = ns->bios_parameter_block[2];
+
+       if ((bytes_per_sector < 512) || (sectors_per_cluster == 0))
+               return 1;
+
+       if (ns->cluster_per_mft_record < 0)
+               mft_record_size = 1 << (0 - ns->cluster_per_mft_record);
+       else
+               mft_record_size = ns->cluster_per_mft_record *
+                       sectors_per_cluster * bytes_per_sector;
+       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_mirror_cluster_location) *
+               bytes_per_sector * sectors_per_cluster;
+
+       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 = le64_to_cpu(ns->mft_cluster_location) * bytes_per_sector *
+               sectors_per_cluster;
+
+       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);
+       label_str[0] = 0;
+
+       while (1) {
+               attr = (struct file_attribute *) (buf_mft + attr_off);
+               attr_len = le16_to_cpu(attr->len);
+               attr_type = le32_to_cpu(attr->type);
+               val_off = le16_to_cpu(attr->value_offset);
+               val_len = le32_to_cpu(attr->value_len);
+
+               attr_off += attr_len;
+
+               if ((attr_off > mft_record_size) ||
+                   (attr_len == 0))
+                       break;
+
+               if (attr_type == MFT_RECORD_ATTR_END)
+                       break;
+
+               if (attr_type == MFT_RECORD_ATTR_VOLUME_NAME) {
+                       if (val_len > sizeof(label_str))
+                               val_len = sizeof(label_str)-1;
+
+                       for (i=0, cp=label_str; i < val_len; i+=2,cp++) {
+                               val = ((uint8_t *) attr) + val_off + i;
+                               *cp = val[0];
+                               if (val[1])
+                                       *cp = '?';
+                       }
+                       *cp = 0;
+               }
+       }
+
+       blkid_probe_sprintf_uuid(pr,
+                       (unsigned char *) &ns->volume_serial,
+                       sizeof(ns->volume_serial),
+                       "%016" PRIX64, le64_to_cpu(ns->volume_serial));
+       if (label_str[0])
+               blkid_probe_set_label(pr, label_str, strlen((char *)label_str));
+       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/shlibs/blkid/src/probers/nvidia_raid.c b/shlibs/blkid/src/probers/nvidia_raid.c
new file mode 100644 (file)
index 0000000..8bdd241
--- /dev/null
@@ -0,0 +1,60 @@
+/*
+ * 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 "blkidP.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)
+{
+       uint64_t off;
+       struct nv_metadata *nv;
+
+       if (pr->size < 0x10000)
+               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;
+
+       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/shlibs/blkid/src/probers/ocfs.c b/shlibs/blkid/src/probers/ocfs.c
new file mode 100644 (file)
index 0000000..f9bd11a
--- /dev/null
@@ -0,0 +1,210 @@
+/*
+ * 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 "blkidP.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,
+       .magics         =
+       {
+               { .magic = "OracleCFS", .len = 9, .kboff = 8 },
+               { NULL }
+       }
+};
+
+const struct blkid_idinfo ocfs2_idinfo =
+{
+       .name           = "ocfs2",
+       .usage          = BLKID_USAGE_FILESYSTEM,
+       .probefunc      = probe_ocfs2,
+       .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 }
+       }
+};
+
+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/shlibs/blkid/src/probers/probers.h b/shlibs/blkid/src/probers/probers.h
new file mode 100644 (file)
index 0000000..78dbd40
--- /dev/null
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2008 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+#ifndef _BLKID_PROBE_H
+#define _BLKID_PROBE_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 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 zfs_idinfo;
+
+#endif /* _BLKID_PROBE_H */
diff --git a/shlibs/blkid/src/probers/promise_raid.c b/shlibs/blkid/src/probers/promise_raid.c
new file mode 100644 (file)
index 0000000..2954009
--- /dev/null
@@ -0,0 +1,63 @@
+/*
+ * 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 "blkidP.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)
+{
+       unsigned int i;
+       static unsigned int sectors[] = {
+               63, 255, 256, 16, 399, 0
+       };
+
+       if (pr->size < 0x40000)
+               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)
+                       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/shlibs/blkid/src/probers/reiserfs.c b/shlibs/blkid/src/probers/reiserfs.c
new file mode 100644 (file)
index 0000000..6d9e2b9
--- /dev/null
@@ -0,0 +1,126 @@
+/*
+ * 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 "blkidP.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 1k */
+       if ((blocksize >> 10) == 0)
+               return -BLKID_ERR_PARAM;
+
+       /* If the superblock is inside the journal, we have the wrong one */
+       if (mag->kboff / (blocksize >> 10) > le32_to_cpu(rs->rs_journal_block))
+               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,
+       .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,
+       .magics         =
+       {
+               { .magic = "ReIsEr4", .len = 7, .kboff = 64 },
+               { NULL }
+       }
+};
+
+
+
+
diff --git a/shlibs/blkid/src/probers/romfs.c b/shlibs/blkid/src/probers/romfs.c
new file mode 100644 (file)
index 0000000..e70db09
--- /dev/null
@@ -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 "blkidP.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/shlibs/blkid/src/probers/silicon_raid.c b/shlibs/blkid/src/probers/silicon_raid.c
new file mode 100644 (file)
index 0000000..01adafa
--- /dev/null
@@ -0,0 +1,77 @@
+/*
+ * 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 "blkidP.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)
+{
+       uint64_t off;
+       struct silicon_metadata *sil;
+
+       if (pr->size < 0x10000)
+               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;
+
+       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/shlibs/blkid/src/probers/squashfs.c b/shlibs/blkid/src/probers/squashfs.c
new file mode 100644 (file)
index 0000000..e83ca6d
--- /dev/null
@@ -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 "blkidP.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/shlibs/blkid/src/probers/swap.c b/shlibs/blkid/src/probers/swap.c
new file mode 100644 (file)
index 0000000..14f74ac
--- /dev/null
@@ -0,0 +1,149 @@
+/*
+ * 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 "blkidP.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) */
+
+
+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 (hdr->uuid[0] && 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)
+{
+       if (!mag)
+               return -1;
+
+       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, "\xed\xc3\x02\xe9\x98\x56\xe5\x0c", mag->len))
+               return swap_set_info(pr, "tuxonice");
+
+       return -1;      /* no signature detected */
+}
+
+const struct blkid_idinfo swap_idinfo =
+{
+       .name           = "swap",
+       .usage          = BLKID_USAGE_OTHER,
+       .probefunc      = probe_swap,
+       .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,
+       .magics         =
+       {
+               { "S1SUSPEND", 9, 0, 0xff6 },
+               { "S2SUSPEND", 9, 0, 0xff6 },
+               { "ULSUSPEND", 9, 0, 0xff6 },
+               { "\xed\xc3\x02\xe9\x98\x56\xe5\x0c", 8, 0, 0xff6 },
+               { "S1SUSPEND", 9, 0, 0x1ff6 },
+               { "S2SUSPEND", 9, 0, 0x1ff6 },
+               { "ULSUSPEND", 9, 0, 0x1ff6 },
+               { "\xed\xc3\x02\xe9\x98\x56\xe5\x0c", 8, 0, 0x1ff6 },
+               { "S1SUSPEND", 9, 0, 0x3ff6 },
+               { "S2SUSPEND", 9, 0, 0x3ff6 },
+               { "ULSUSPEND", 9, 0, 0x3ff6 },
+               { "\xed\xc3\x02\xe9\x98\x56\xe5\x0c", 8, 0, 0x3ff6 },
+               { "S1SUSPEND", 9, 0, 0x7ff6 },
+               { "S2SUSPEND", 9, 0, 0x7ff6 },
+               { "ULSUSPEND", 9, 0, 0x7ff6 },
+               { "\xed\xc3\x02\xe9\x98\x56\xe5\x0c", 8, 0, 0x7ff6 },
+               { "S1SUSPEND", 9, 0, 0xfff6 },
+               { "S2SUSPEND", 9, 0, 0xfff6 },
+               { "ULSUSPEND", 9, 0, 0xfff6 },
+               { "\xed\xc3\x02\xe9\x98\x56\xe5\x0c", 8, 0, 0xfff6 },
+               { NULL }
+       }
+};
+
diff --git a/shlibs/blkid/src/probers/sysv.c b/shlibs/blkid/src/probers/sysv.c
new file mode 100644 (file)
index 0000000..096d9e3
--- /dev/null
@@ -0,0 +1,141 @@
+/*
+ * 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 "blkidP.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)
+{
+       struct sysv_super_block *sb;
+       int blocks[] = {0, 9, 15, 18};
+       int 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)) {
+                       blkid_probe_set_label(pr, sb->s_fname, sizeof(sb->s_fname));
+                       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/shlibs/blkid/src/probers/udf.c b/shlibs/blkid/src/probers/udf.c
new file mode 100644 (file)
index 0000000..42f7aa1
--- /dev/null
@@ -0,0 +1,163 @@
+/*
+ * 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 "blkidP.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                 0x8000
+
+static int probe_udf(blkid_probe pr, const struct blkid_idmag *mag)
+{
+       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 + (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, (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);
+               }
+       }
+
+       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/shlibs/blkid/src/probers/ufs.c b/shlibs/blkid/src/probers/ufs.c
new file mode 100644 (file)
index 0000000..27f3533
--- /dev/null
@@ -0,0 +1,230 @@
+/*
+ * 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 "blkidP.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)
+{
+       int offsets[] = { 0, 8, 64, 256 };
+       int mags[] = {
+               UFS2_MAGIC, UFS_MAGIC, UFS_MAGIC_FEA, UFS_MAGIC_LFN,
+               UFS_MAGIC_SEC, UFS_MAGIC_4GB
+       };
+       int i;
+       uint32_t magic;
+       struct ufs_super_block *ufs;
+
+       for (i = 0; i < ARRAY_SIZE(offsets); i++) {
+               uint32_t magLE, magBE;
+               int 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];
+                               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");
+
+       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/shlibs/blkid/src/probers/vfat.c b/shlibs/blkid/src/probers/vfat.c
new file mode 100644 (file)
index 0000000..a70ccd9
--- /dev/null
@@ -0,0 +1,367 @@
+/*
+ * 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 "blkidP.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];
+/* 15*/        unsigned char   ms_media;
+/* 16*/        uint16_t        ms_fat_length;
+/* 18*/        uint16_t        ms_secs_track;
+/* 1a*/        uint16_t        ms_heads;
+/* 1c*/        uint32_t        ms_hidden;
+/* 20*/        uint32_t        ms_total_sect;
+/* 24*/        unsigned char   ms_unknown[3];
+/* 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    ";
+
+static unsigned char *search_fat_label(struct vfat_dir_entry *dir, int count)
+{
+       int i;
+
+       for (i = 0; i < count; i++) {
+               if (dir[i].name[0] == 0x00)
+                       break;
+
+               if ((dir[i].name[0] == FAT_ENTRY_FREE) ||
+                   (dir[i].cluster_high != 0 || dir[i].cluster_low != 0) ||
+                   ((dir[i].attr & FAT_ATTR_MASK) == FAT_ATTR_LONG_NAME))
+                       continue;
+
+               if ((dir[i].attr & (FAT_ATTR_VOLUME_ID | FAT_ATTR_DIR)) ==
+                   FAT_ATTR_VOLUME_ID) {
+                       return dir[i].name;
+               }
+       }
+       return 0;
+}
+
+/*
+ * The FAT filesystem could be without a magic string in superblock
+ * (e.g. old floppies).  This heuristic for FAT detection is inspired
+ * by libvolume_id and the Linux kernel.
+ */
+static int probe_fat_nomagic(blkid_probe pr, const struct blkid_idmag *mag)
+{
+       struct msdos_super_block *ms;
+
+       ms = blkid_probe_get_sb(pr, mag, struct msdos_super_block);
+       if (!ms)
+               return -1;
+
+       if (ms->ms_pmagic[0] != 0x55 || ms->ms_pmagic[1] != 0xAA)
+               return 1;
+
+       /* heads check */
+       if (ms->ms_heads == 0)
+               return 1;
+
+       /* cluster size check*/
+       if (ms->ms_cluster_size == 0 ||
+           (ms->ms_cluster_size & (ms->ms_cluster_size-1)))
+               return 1;
+
+       /* media check */
+       if (ms->ms_media < 0xf8 && ms->ms_media != 0xf0)
+               return 1;
+
+       /* fat counts(Linux kernel expects at least 1 FAT table) */
+       if (!ms->ms_fats)
+               return 1;
+
+       /*
+        * 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 1;
+
+       return 0;
+}
+
+/* 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;
+       struct vfat_dir_entry *dir;
+       const unsigned char *vol_label = 0, *tmp;
+       unsigned char   *vol_serno;
+       int maxloop = 100;
+       uint16_t sector_size, dir_entries, reserved;
+       uint32_t sect_count, fat_size, dir_size, cluster_count, fat_length;
+       uint32_t buf_size, start_data_sect, next, root_start, root_dir_entries;
+       const char *version = NULL;
+
+
+       /* non-standard magic strings */
+       if (mag->len <= 2 && probe_fat_nomagic(pr, mag) != 0)
+               return 1;
+
+       vs = blkid_probe_get_sb(pr, mag, struct vfat_super_block);
+       if (!vs)
+               return -1;
+
+       ms = blkid_probe_get_sb(pr, mag, struct msdos_super_block);
+       if (!ms)
+               return -1;
+
+       /* sector size check */
+       tmp = (unsigned char *) &ms->ms_sector_size;
+       sector_size = tmp[0] + (tmp[1] << 8);
+       if (sector_size != 0x200 && sector_size != 0x400 &&
+           sector_size != 0x800 && sector_size != 0x1000)
+               return 1;
+
+       tmp = (unsigned char *) &ms->ms_dir_entries;
+       dir_entries = tmp[0] + (tmp[1] << 8);
+       reserved =  le16_to_cpu(ms->ms_reserved);
+       tmp = (unsigned char *) &ms->ms_sectors;
+       sect_count = tmp[0] + (tmp[1] << 8);
+       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);
+       if (ms->ms_cluster_size == 0)
+               return 1;
+       cluster_count /= ms->ms_cluster_size;
+
+       if (cluster_count > FAT32_MAX)
+               return 1;
+
+       if (ms->ms_fat_length) {
+               /* the label may be an attribute in the root directory */
+               root_start = (reserved + fat_size) * sector_size;
+               root_dir_entries = vs->vs_dir_entries[0] +
+                       (vs->vs_dir_entries[1] << 8);
+
+               buf_size = root_dir_entries * sizeof(struct vfat_dir_entry);
+               dir = (struct vfat_dir_entry *)
+                       blkid_probe_get_buffer(pr, root_start, buf_size);
+               if (dir)
+                       vol_label = search_fat_label(dir, root_dir_entries);
+
+               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 {
+               unsigned char *buf;
+               uint16_t fsinfo_sect;
+
+               /* Search the FAT32 root dir for the label attribute */
+               buf_size = vs->vs_cluster_size * sector_size;
+               start_data_sect = reserved + fat_size;
+
+               version = "FAT32";
+
+               next = le32_to_cpu(vs->vs_root_cluster);
+               while (next && --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 = (start_data_sect + next_sect_off) *
+                               sector_size;
+
+                       dir = (struct vfat_dir_entry *)
+                               blkid_probe_get_buffer(pr, next_off, buf_size);
+                       if (dir == NULL)
+                               break;
+
+                       count = buf_size / sizeof(struct vfat_dir_entry);
+
+                       vol_label = search_fat_label(dir, count);
+                       if (vol_label)
+                               break;
+
+                       /* get FAT entry */
+                       fat_entry_off = (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);
+               }
+
+               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,
+                                       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, "\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 */
+       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 = "\353",     .len = 1, },
+               { .magic = "\351",     .len = 1, },
+               { .magic = "\125\252", .len = 2, .sboff = 0x1fe },
+               { NULL }
+       }
+};
+
diff --git a/shlibs/blkid/src/probers/via_raid.c b/shlibs/blkid/src/probers/via_raid.c
new file mode 100644 (file)
index 0000000..d423779
--- /dev/null
@@ -0,0 +1,82 @@
+/*
+ * 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 "blkidP.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)
+{
+       uint64_t off;
+       struct via_metadata *v;
+
+       if (pr->size < 0x10000)
+               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;
+       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/shlibs/blkid/src/probers/vxfs.c b/shlibs/blkid/src/probers/vxfs.c
new file mode 100644 (file)
index 0000000..7a27b6c
--- /dev/null
@@ -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 "blkidP.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/shlibs/blkid/src/probers/xfs.c b/shlibs/blkid/src/probers/xfs.c
new file mode 100644 (file)
index 0000000..c53dc39
--- /dev/null
@@ -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 "blkidP.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/shlibs/blkid/src/probers/zfs.c b/shlibs/blkid/src/probers/zfs.c
new file mode 100644 (file)
index 0000000..11b1b00
--- /dev/null
@@ -0,0 +1,66 @@
+/*
+ * Copyright (C) 2009 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 "blkidP.h"
+
+/* #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        */
+       /*blkptr_t      ub_rootbp;*/    /* MOS objset_phys_t            */
+} __attribute__((packed));
+
+static int probe_zfs(blkid_probe pr, const struct blkid_idmag *mag)
+{
+       struct zfs_uberblock *ub;
+       int swab_endian;
+       uint64_t spa_version;
+
+       ub = blkid_probe_get_sb(pr, mag, struct zfs_uberblock);
+       if (!ub)
+               return -1;
+
+       swab_endian = (ub->ub_magic == swab64(UBERBLOCK_MAGIC));
+       spa_version = swab_endian ? swab64(ub->ub_version) : ub->ub_version;
+
+       blkid_probe_sprintf_version(pr, "%" PRIu64, spa_version);
+#if 0
+       /* read nvpair data for pool name, pool GUID from the MOS, but
+        * unfortunately this is more complex than it could be */
+       blkid_probe_set_label(pr, pool_name, pool_len));
+       blkid_probe_set_uuid(pr, pool_guid);
+#endif
+       return 0;
+}
+
+const struct blkid_idinfo zfs_idinfo =
+{
+       .name           = "zfs",
+       .usage          = BLKID_USAGE_FILESYSTEM,
+       .probefunc      = probe_zfs,
+       .magics         =
+       {
+               { .magic = "\0\0\x02\xf5\xb0\x07\xb1\x0c", .len = 8, .kboff = 8 },
+               { .magic = "\x1c\xb1\x07\xb0\xf5\x02\0\0", .len = 8, .kboff = 8 },
+               { .magic = "\0\0\x02\xf5\xb0\x07\xb1\x0c", .len = 8, .kboff = 264 },
+               { .magic = "\x0c\xb1\x07\xb0\xf5\x02\0\0", .len = 8, .kboff = 264 },
+               { NULL }
+       }
+};
+
diff --git a/shlibs/blkid/src/read.c b/shlibs/blkid/src/read.c
new file mode 100644 (file)
index 0000000..b5e9cd0
--- /dev/null
@@ -0,0 +1,492 @@
+/*
+ * 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%
+ */
+
+#define _XOPEN_SOURCE 600 /* for inclusion of strtoull */
+
+#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>
+#if HAVE_ERRNO_H
+#include <errno.h>
+#endif
+
+#include "blkidP.h"
+
+#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
+
+#if HAVE_STDLIB_H
+#include <stdlib.h>
+#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="time">   (ascii time_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;
+       char *value;
+       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"))
+               dev->bid_time = STRTOULL(value, 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);
+       }
+
+       DBG(DEBUG_READ, blkid_debug_dump_dev(dev));
+
+       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 (buf[end] == '\\' && end < sizeof(buf) - 2 &&
+                      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=\"%lld\"\n", (long long)dev->bid_time);
+       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_CACHE_FILE);
+
+       blkid_put_cache(cache);
+
+       return ret;
+}
+#endif
diff --git a/shlibs/blkid/src/resolve.c b/shlibs/blkid/src/resolve.c
new file mode 100644 (file)
index 0000000..bf13b86
--- /dev/null
@@ -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>
+#if 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/shlibs/blkid/src/save.c b/shlibs/blkid/src/save.c
new file mode 100644 (file)
index 0000000..bbe6f48
--- /dev/null
@@ -0,0 +1,193 @@
+/*
+ * 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_SYS_MKDEV_H
+#include <sys/mkdev.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\"",
+               (unsigned long) dev->bid_devno, (long) dev->bid_time);
+       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;
+       const char *opened = NULL;
+       const 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_CACHE_FILE;
+
+       /* 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)
+                       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);
+                               link(filename, backup);
+                               free(backup);
+                       }
+                       rename(opened, filename);
+                       DBG(DEBUG_SAVE,
+                           printf("moved temp cache %s\n", opened));
+               }
+       }
+
+errout:
+       free(tmp);
+       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/shlibs/blkid/src/tag.c b/shlibs/blkid/src/tag.c
new file mode 100644 (file)
index 0000000..0dbe1ff
--- /dev/null
@@ -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 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/shlibs/blkid/src/tst_types.c b/shlibs/blkid/src/tst_types.c
new file mode 100644 (file)
index 0000000..ecbc032
--- /dev/null
@@ -0,0 +1,63 @@
+/*
+ * This testing program makes sure the stdint.h header file
+ *
+ * Copyright (C) 2006 by Theodore Ts'o.
+ *
+ * %Begin-Header%
+ * This file may be redistributed under the terms of the GNU Public
+ * License.
+ * %End-Header%
+ */
+
+#include <sys/types.h>
+#include <stdint.h>
+
+#include <stdlib.h>
+#include <stdio.h>
+
+int main(int argc, char **argv)
+{
+       if (sizeof(uint8_t) != 1) {
+               printf("Sizeof(uint8_t) is %d should be 1\n",
+                      (int)sizeof(uint8_t));
+               exit(1);
+       }
+       if (sizeof(int8_t) != 1) {
+               printf("Sizeof(int8_t) is %d should be 1\n",
+                      (int)sizeof(int8_t));
+               exit(1);
+       }
+       if (sizeof(uint16_t) != 2) {
+               printf("Sizeof(uint16_t) is %d should be 2\n",
+                      (int)sizeof(uint16_t));
+               exit(1);
+       }
+       if (sizeof(int16_t) != 2) {
+               printf("Sizeof(int16_t) is %d should be 2\n",
+                      (int)sizeof(int16_t));
+               exit(1);
+       }
+       if (sizeof(uint32_t) != 4) {
+               printf("Sizeof(uint32_t) is %d should be 4\n",
+                      (int)sizeof(uint32_t));
+               exit(1);
+       }
+       if (sizeof(int32_t) != 4) {
+               printf("Sizeof(int32_t) is %d should be 4\n",
+                      (int)sizeof(int32_t));
+               exit(1);
+       }
+       if (sizeof(uint64_t) != 8) {
+               printf("Sizeof(uint64_t) is %d should be 8\n",
+                      (int)sizeof(uint64_t));
+               exit(1);
+       }
+       if (sizeof(int64_t) != 8) {
+               printf("Sizeof(int64_t) is %d should be 8\n",
+                      (int)sizeof(int64_t));
+               exit(1);
+       }
+       printf("The stdint.h types are correct.\n");
+       exit(0);
+}
+
diff --git a/shlibs/blkid/src/verify.c b/shlibs/blkid/src/verify.c
new file mode 100644 (file)
index 0000000..78dafe7
--- /dev/null
@@ -0,0 +1,205 @@
+/*
+ * 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/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)
+                       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 %s (%d) while "
+                          "trying to stat %s\n", strerror(errno), 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) &&
+           (st.st_mtime <= dev->bid_time) &&
+           ((diff < BLKID_PROBE_MIN) ||
+            (dev->bid_flags & BLKID_BID_FL_VERIFIED &&
+             diff < BLKID_PROBE_INTERVAL)))
+               return dev;
+
+       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));
+
+
+       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 %s (%d) while "
+                                       "opening %s\n", strerror(errno), 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_set_request(cache->probe,
+               BLKID_PROBREQ_LABEL | BLKID_PROBREQ_UUID |
+               BLKID_PROBREQ_TYPE | BLKID_PROBREQ_SECTYPE);
+
+       /*
+        * 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_types(cache->probe,
+                               BLKID_FLTR_ONLYIN, fltr);
+
+               if (!blkid_do_probe(cache->probe))
+                       goto found_type;
+               blkid_probe_invert_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) {
+               dev->bid_devno = st.st_rdev;
+               dev->bid_time = time(0);
+               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_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/shlibs/blkid/src/version.c b/shlibs/blkid/src/version.c
new file mode 100644 (file)
index 0000000..838af11
--- /dev/null
@@ -0,0 +1,56 @@
+/*
+ * 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%
+ */
+
+#if 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;
+
+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/shlibs/uuid/Makefile.am b/shlibs/uuid/Makefile.am
new file mode 100644 (file)
index 0000000..2bdef33
--- /dev/null
@@ -0,0 +1,10 @@
+include $(top_srcdir)/config/include-Makefile.am
+
+SUBDIRS = src man
+
+# pkg-config stuff
+pkgconfigdir = $(usrlib_execdir)/pkgconfig
+pkgconfig_DATA = uuid.pc
+
+EXTRA_DIST = uuid.pc.in
+
diff --git a/shlibs/uuid/Makefile.in b/shlibs/uuid/Makefile.in
new file mode 100644 (file)
index 0000000..f6e77c0
--- /dev/null
@@ -0,0 +1,676 @@
+# Makefile.in generated by automake 1.11 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@
+DIST_COMMON = $(dist_noinst_DATA) $(srcdir)/Makefile.am \
+       $(srcdir)/Makefile.in $(srcdir)/uuid.pc.in \
+       $(top_srcdir)/config/include-Makefile.am
+subdir = shlibs/uuid
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.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)/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 = uuid.pc
+CONFIG_CLEAN_VPATH_FILES =
+SOURCES =
+DIST_SOURCES =
+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
+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)$(pkgconfigdir)"
+DATA = $(dist_noinst_DATA) $(pkgconfig_DATA)
+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
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+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"
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BLKID = @BLKID@
+BLKID_CFLAGS = @BLKID_CFLAGS@
+BLKID_LIBS = @BLKID_LIBS@
+BLKID_LIBS_STATIC = @BLKID_LIBS_STATIC@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+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@
+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_VERSION = @LIBBLKID_VERSION@
+LIBBLKID_VERSION_INFO = @LIBBLKID_VERSION_INFO@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+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@
+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_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+POSUB = @POSUB@
+RANLIB = @RANLIB@
+SED = @SED@
+SELINUX_LIBS = @SELINUX_LIBS@
+SELINUX_LIBS_STATIC = @SELINUX_LIBS_STATIC@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SUID_CFLAGS = @SUID_CFLAGS@
+SUID_LDFLAGS = @SUID_LDFLAGS@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
+VERSION = @VERSION@
+VOLID = @VOLID@
+XGETTEXT = @XGETTEXT@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+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@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+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 $(top_builddir)/config.h -I$(top_srcdir)/include \
+       -DLOCALEDIR=\"$(localedir)\"
+
+AM_CFLAGS = -fsigned-char
+AM_LDFLAGS = 
+
+# 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)
+#
+# blkid
+ul_libblkid_srcdir = $(top_srcdir)/shlibs/blkid/src
+ul_libblkid_builddir = $(top_builddir)/shlibs/blkid/src
+ul_libblkid_la = $(top_builddir)/shlibs/blkid/src/libblkid.la
+
+# uuid
+ul_libuuid_srcdir = $(top_srcdir)/shlibs/uuid/src
+ul_libuuid_builddir = $(top_builddir)/shlibs/uuid/src
+ul_libuuid_la = $(top_builddir)/shlibs/uuid/src/libuuid.la
+SUBDIRS = src man
+
+# pkg-config stuff
+pkgconfigdir = $(usrlib_execdir)/pkgconfig
+pkgconfig_DATA = uuid.pc
+EXTRA_DIST = uuid.pc.in
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/config/include-Makefile.am $(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 shlibs/uuid/Makefile'; \
+       $(am__cd) $(top_srcdir) && \
+         $(AUTOMAKE) --foreign shlibs/uuid/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):
+uuid.pc: $(top_builddir)/config.status $(srcdir)/uuid.pc.in
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+
+mostlyclean-libtool:
+       -rm -f *.lo
+
+clean-libtool:
+       -rm -rf .libs _libs
+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
+
+# 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):
+       @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):
+       @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)  $(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)  $(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)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       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; }; }'`; \
+       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
+
+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
+       @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
+check-am: all-am
+check: check-recursive
+all-am: Makefile $(DATA)
+installdirs: installdirs-recursive
+installdirs-am:
+       for dir in "$(DESTDIR)$(pkgconfigdir)"; do \
+         test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+       done
+install: 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:
+
+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)
+
+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-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+       -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am: install-pkgconfigDATA
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+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 Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-pkgconfigDATA
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
+       install-am install-strip tags-recursive
+
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+       all all-am check check-am clean clean-generic clean-libtool \
+       ctags ctags-recursive distclean distclean-generic \
+       distclean-libtool distclean-tags distdir dvi dvi-am html \
+       html-am info info-am install install-am install-data \
+       install-data-am 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-pkgconfigDATA install-ps install-ps-am install-strip \
+       installcheck installcheck-am installdirs installdirs-am \
+       maintainer-clean maintainer-clean-generic mostlyclean \
+       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+       tags tags-recursive uninstall uninstall-am \
+       uninstall-pkgconfigDATA
+
+
+$(ul_libblkid_la):
+       $(MAKE) -C $(ul_libblkid_builddir)
+
+$(ul_libuuid_la):
+       $(MAKE) -C $(ul_libuuid_builddir)
+
+# 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/shlibs/uuid/man/Makefile.am b/shlibs/uuid/man/Makefile.am
new file mode 100644 (file)
index 0000000..ffaf024
--- /dev/null
@@ -0,0 +1,12 @@
+include $(top_srcdir)/config/include-Makefile.am
+
+dist_man_MANS = uuid.3 uuid_clear.3 uuid_compare.3 uuid_copy.3 uuid_generate.3 \
+               uuid_is_null.3 uuid_parse.3 uuid_time.3 uuid_unparse.3
+
+UUID_GENERATE_LINKS = uuid_generate_random.3 uuid_generate_time.3
+
+man_MANS = $(UUID_GENERATE_LINKS)
+CLEANFILES = $(man_MANS)
+
+$(UUID_GENERATE_LINKS): uuid_generate.3
+       echo ".so man3/uuid_generate.3" > $@
diff --git a/shlibs/uuid/man/Makefile.in b/shlibs/uuid/man/Makefile.in
new file mode 100644 (file)
index 0000000..42d3d2f
--- /dev/null
@@ -0,0 +1,512 @@
+# Makefile.in generated by automake 1.11 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@
+DIST_COMMON = $(dist_man_MANS) $(dist_noinst_DATA) \
+       $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+       $(top_srcdir)/config/include-Makefile.am
+subdir = shlibs/uuid/man
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.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)/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 =
+CONFIG_CLEAN_VPATH_FILES =
+SOURCES =
+DIST_SOURCES =
+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'
+man3dir = $(mandir)/man3
+am__installdirs = "$(DESTDIR)$(man3dir)"
+NROFF = nroff
+MANS = $(dist_man_MANS) $(man_MANS)
+DATA = $(dist_noinst_DATA)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BLKID = @BLKID@
+BLKID_CFLAGS = @BLKID_CFLAGS@
+BLKID_LIBS = @BLKID_LIBS@
+BLKID_LIBS_STATIC = @BLKID_LIBS_STATIC@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+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@
+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_VERSION = @LIBBLKID_VERSION@
+LIBBLKID_VERSION_INFO = @LIBBLKID_VERSION_INFO@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+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@
+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_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+POSUB = @POSUB@
+RANLIB = @RANLIB@
+SED = @SED@
+SELINUX_LIBS = @SELINUX_LIBS@
+SELINUX_LIBS_STATIC = @SELINUX_LIBS_STATIC@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SUID_CFLAGS = @SUID_CFLAGS@
+SUID_LDFLAGS = @SUID_LDFLAGS@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
+VERSION = @VERSION@
+VOLID = @VOLID@
+XGETTEXT = @XGETTEXT@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+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@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+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 $(top_builddir)/config.h -I$(top_srcdir)/include \
+       -DLOCALEDIR=\"$(localedir)\"
+
+AM_CFLAGS = -fsigned-char
+AM_LDFLAGS = 
+
+# 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)
+#
+# blkid
+ul_libblkid_srcdir = $(top_srcdir)/shlibs/blkid/src
+ul_libblkid_builddir = $(top_builddir)/shlibs/blkid/src
+ul_libblkid_la = $(top_builddir)/shlibs/blkid/src/libblkid.la
+
+# uuid
+ul_libuuid_srcdir = $(top_srcdir)/shlibs/uuid/src
+ul_libuuid_builddir = $(top_builddir)/shlibs/uuid/src
+ul_libuuid_la = $(top_builddir)/shlibs/uuid/src/libuuid.la
+dist_man_MANS = uuid.3 uuid_clear.3 uuid_compare.3 uuid_copy.3 uuid_generate.3 \
+               uuid_is_null.3 uuid_parse.3 uuid_time.3 uuid_unparse.3
+
+UUID_GENERATE_LINKS = uuid_generate_random.3 uuid_generate_time.3
+man_MANS = $(UUID_GENERATE_LINKS)
+CLEANFILES = $(man_MANS)
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/config/include-Makefile.am $(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 shlibs/uuid/man/Makefile'; \
+       $(am__cd) $(top_srcdir) && \
+         $(AUTOMAKE) --foreign shlibs/uuid/man/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):
+
+mostlyclean-libtool:
+       -rm -f *.lo
+
+clean-libtool:
+       -rm -rf .libs _libs
+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; }
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+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
+       @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 $(MANS) $(DATA)
+installdirs:
+       for dir in "$(DESTDIR)$(man3dir)"; do \
+         test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+       done
+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)
+
+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 mostlyclean-am
+
+distclean: distclean-am
+       -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-man
+
+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-man3
+
+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-man
+
+uninstall-man: uninstall-man3
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+       distclean distclean-generic distclean-libtool distdir dvi \
+       dvi-am html html-am info info-am install install-am \
+       install-data install-data-am install-dvi install-dvi-am \
+       install-exec install-exec-am install-html install-html-am \
+       install-info install-info-am install-man install-man3 \
+       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-man uninstall-man3
+
+
+$(ul_libblkid_la):
+       $(MAKE) -C $(ul_libblkid_builddir)
+
+$(ul_libuuid_la):
+       $(MAKE) -C $(ul_libuuid_builddir)
+
+$(UUID_GENERATE_LINKS): uuid_generate.3
+       echo ".so man3/uuid_generate.3" > $@
+
+# 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/shlibs/uuid/man/uuid.3 b/shlibs/uuid/man/uuid.3
new file mode 100644 (file)
index 0000000..9aed277
--- /dev/null
@@ -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-ng" "Libuuid API"
+.SH NAME
+uuid \- DCE compatible Universally Unique Identifier library
+.SH SYNOPSIS
+.B #include <uuid/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-ng package since version 2.15.1 and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
+.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/shlibs/uuid/man/uuid_clear.3 b/shlibs/uuid/man/uuid_clear.3
new file mode 100644 (file)
index 0000000..e59a6e1
--- /dev/null
@@ -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-ng" "Libuuid API"
+.SH NAME
+uuid_clear \- reset value of UUID variable to the NULL value
+.SH SYNOPSIS
+.nf
+.B #include <uuid/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-ng package since version 2.15.1 and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
+.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/shlibs/uuid/man/uuid_compare.3 b/shlibs/uuid/man/uuid_compare.3
new file mode 100644 (file)
index 0000000..211ce75
--- /dev/null
@@ -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-ng" "Libuuid API"
+.SH NAME
+uuid_compare \- compare whether two UUIDs are the same
+.SH SYNOPSIS
+.nf
+.B #include <uuid/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 lexigraphically less than, equal, or
+greater than
+.IR uu2 .
+.SH AUTHOR
+Theodore Y. Ts'o
+.SH AVAILABILITY
+.B libuuid
+is part of the util-linux-ng package since version 2.15.1 and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
+.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/shlibs/uuid/man/uuid_copy.3 b/shlibs/uuid/man/uuid_copy.3
new file mode 100644 (file)
index 0000000..fa6ecb9
--- /dev/null
@@ -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-ng" "Libuuid API"
+.SH NAME
+uuid_copy \- copy a UUID value
+.SH SYNOPSIS
+.nf
+.B #include <uuid/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-ng package since version 2.15.1 and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
+.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/shlibs/uuid/man/uuid_generate.3 b/shlibs/uuid/man/uuid_generate.3
new file mode 100644 (file)
index 0000000..11f48ff
--- /dev/null
@@ -0,0 +1,104 @@
+.\" 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-ng" "Libuuid API"
+.SH NAME
+uuid_generate, uuid_generate_random, uuid_generate_time \- create a new unique UUID value
+.SH SYNOPSIS
+.nf
+.B #include <uuid/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 );
+.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 subsituted.  Note that the use of a pseudo-random
+generator may compromise the uniqueness of UUID's
+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.
+.sp
+The UUID is 16 bytes (128 bits) long, which gives approximately 3.4x10^38
+unique values (there are approximately 10^80 elemntary 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 .
+.SH "CONFORMING TO"
+OSF DCE 1.1
+.SH AUTHOR
+Theodore Y. Ts'o
+.SH AVAILABILITY
+.B libuuid
+is part of the util-linux-ng package since version 2.15.1 and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
+.SH "SEE ALSO"
+.BR uuid (3),
+.BR uuidgen (1),
+.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/shlibs/uuid/man/uuid_is_null.3 b/shlibs/uuid/man/uuid_is_null.3
new file mode 100644 (file)
index 0000000..022a330
--- /dev/null
@@ -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-ng" "Libuuid API"
+.SH NAME
+uuid_is_null \- compare the value of the UUID to the NULL value
+.SH SYNOPSIS
+.nf
+.B #include <uuid/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-ng package since version 2.15.1 and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
+.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/shlibs/uuid/man/uuid_parse.3 b/shlibs/uuid/man/uuid_parse.3
new file mode 100644 (file)
index 0000000..d94fe4b
--- /dev/null
@@ -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-ng" "Libuuid API"
+.SH NAME
+uuid_parse \- convert an input UUID string into binary representation
+.SH SYNOPSIS
+.nf
+.B #include <uuid/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-ng package since version 2.15.1 and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
+.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/shlibs/uuid/man/uuid_time.3 b/shlibs/uuid/man/uuid_time.3
new file mode 100644 (file)
index 0000000..7e80ed6
--- /dev/null
@@ -0,0 +1,74 @@
+.\" 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-ng" "Libuuid API"
+.SH NAME
+uuid_time \- extract the time at which the UUID was created
+.SH SYNOPSIS
+.nf
+.B #include <uuid/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)
+function.  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-ng package since version 2.15.1 and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
+.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/shlibs/uuid/man/uuid_unparse.3 b/shlibs/uuid/man/uuid_unparse.3
new file mode 100644 (file)
index 0000000..322d24b
--- /dev/null
@@ -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-ng" "Libuuid API"
+.SH NAME
+uuid_unparse \- convert an UUID from binary representation to a string
+.SH SYNOPSIS
+.nf
+.B #include <uuid/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-ng package since version 2.15.1 and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
+.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/shlibs/uuid/src/Makefile.am b/shlibs/uuid/src/Makefile.am
new file mode 100644 (file)
index 0000000..9af1979
--- /dev/null
@@ -0,0 +1,38 @@
+include $(top_srcdir)/config/include-Makefile.am
+
+AM_CPPFLAGS += -I$(ul_libuuid_srcdir)
+
+noinst_PROGRAMS = tst_uuid
+tst_uuid_LDADD = libuuid.la #$(ul_libuuid_la)
+
+# includes
+uuidincdir = $(includedir)/uuid
+uuidinc_HEADERS = uuid.h
+
+usrlib_exec_LTLIBRARIES = libuuid.la
+libuuid_la_SOURCES = clear.c compare.c copy.c gen_uuid.c \
+           isnull.c pack.c parse.c unpack.c unparse.c uuidd.h \
+           uuidd.h uuidP.h uuid_time.c $(uuidinc_HEADERS)
+
+libuuid_la_DEPENDENCIES = uuid.sym
+
+libuuid_la_LDFLAGS = -Wl,--version-script=$(ul_libuuid_srcdir)/uuid.sym \
+                     -version-info $(LIBUUID_VERSION_INFO)
+
+EXTRA_DIST = uuid.sym gen_uuid_nt.c
+
+# move lib from $(usrlib_execdir) to $(libdir) if needed
+install-exec-hook:
+       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:
+       rm -f $(DESTDIR)$(libdir)/libuuid.so*
+
diff --git a/shlibs/uuid/src/Makefile.in b/shlibs/uuid/src/Makefile.in
new file mode 100644 (file)
index 0000000..2f6e4dd
--- /dev/null
@@ -0,0 +1,675 @@
+# Makefile.in generated by automake 1.11 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@
+DIST_COMMON = $(dist_noinst_DATA) $(srcdir)/Makefile.am \
+       $(srcdir)/Makefile.in $(top_srcdir)/config/include-Makefile.am \
+       $(uuidinc_HEADERS)
+noinst_PROGRAMS = tst_uuid$(EXEEXT)
+subdir = shlibs/uuid/src
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.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)/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 =
+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)$(uuidincdir)"
+LTLIBRARIES = $(usrlib_exec_LTLIBRARIES)
+libuuid_la_LIBADD =
+am__objects_1 =
+am_libuuid_la_OBJECTS = clear.lo compare.lo copy.lo gen_uuid.lo \
+       isnull.lo pack.lo parse.lo unpack.lo unparse.lo uuid_time.lo \
+       $(am__objects_1)
+libuuid_la_OBJECTS = $(am_libuuid_la_OBJECTS)
+libuuid_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+       $(libuuid_la_LDFLAGS) $(LDFLAGS) -o $@
+PROGRAMS = $(noinst_PROGRAMS)
+tst_uuid_SOURCES = tst_uuid.c
+tst_uuid_OBJECTS = tst_uuid.$(OBJEXT)
+tst_uuid_DEPENDENCIES = libuuid.la
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+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) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+       --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+       --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+       $(LDFLAGS) -o $@
+SOURCES = $(libuuid_la_SOURCES) tst_uuid.c
+DIST_SOURCES = $(libuuid_la_SOURCES) tst_uuid.c
+DATA = $(dist_noinst_DATA)
+HEADERS = $(uuidinc_HEADERS)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BLKID = @BLKID@
+BLKID_CFLAGS = @BLKID_CFLAGS@
+BLKID_LIBS = @BLKID_LIBS@
+BLKID_LIBS_STATIC = @BLKID_LIBS_STATIC@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+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@
+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_VERSION = @LIBBLKID_VERSION@
+LIBBLKID_VERSION_INFO = @LIBBLKID_VERSION_INFO@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+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@
+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_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+POSUB = @POSUB@
+RANLIB = @RANLIB@
+SED = @SED@
+SELINUX_LIBS = @SELINUX_LIBS@
+SELINUX_LIBS_STATIC = @SELINUX_LIBS_STATIC@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SUID_CFLAGS = @SUID_CFLAGS@
+SUID_LDFLAGS = @SUID_LDFLAGS@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
+VERSION = @VERSION@
+VOLID = @VOLID@
+XGETTEXT = @XGETTEXT@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+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@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+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 $(top_builddir)/config.h \
+       -I$(top_srcdir)/include -DLOCALEDIR=\"$(localedir)\" \
+       -I$(ul_libuuid_srcdir)
+AM_CFLAGS = -fsigned-char
+AM_LDFLAGS = 
+
+# 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)
+#
+# blkid
+ul_libblkid_srcdir = $(top_srcdir)/shlibs/blkid/src
+ul_libblkid_builddir = $(top_builddir)/shlibs/blkid/src
+ul_libblkid_la = $(top_builddir)/shlibs/blkid/src/libblkid.la
+
+# uuid
+ul_libuuid_srcdir = $(top_srcdir)/shlibs/uuid/src
+ul_libuuid_builddir = $(top_builddir)/shlibs/uuid/src
+ul_libuuid_la = $(top_builddir)/shlibs/uuid/src/libuuid.la
+tst_uuid_LDADD = libuuid.la #$(ul_libuuid_la)
+
+# includes
+uuidincdir = $(includedir)/uuid
+uuidinc_HEADERS = uuid.h
+usrlib_exec_LTLIBRARIES = libuuid.la
+libuuid_la_SOURCES = clear.c compare.c copy.c gen_uuid.c \
+           isnull.c pack.c parse.c unpack.c unparse.c uuidd.h \
+           uuidd.h uuidP.h uuid_time.c $(uuidinc_HEADERS)
+
+libuuid_la_DEPENDENCIES = uuid.sym
+libuuid_la_LDFLAGS = -Wl,--version-script=$(ul_libuuid_srcdir)/uuid.sym \
+                     -version-info $(LIBUUID_VERSION_INFO)
+
+EXTRA_DIST = uuid.sym gen_uuid_nt.c
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/config/include-Makefile.am $(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 shlibs/uuid/src/Makefile'; \
+       $(am__cd) $(top_srcdir) && \
+         $(AUTOMAKE) --foreign shlibs/uuid/src/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):
+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
+libuuid.la: $(libuuid_la_OBJECTS) $(libuuid_la_DEPENDENCIES) 
+       $(libuuid_la_LINK) -rpath $(usrlib_execdir) $(libuuid_la_OBJECTS) $(libuuid_la_LIBADD) $(LIBS)
+
+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
+tst_uuid$(EXEEXT): $(tst_uuid_OBJECTS) $(tst_uuid_DEPENDENCIES) 
+       @rm -f tst_uuid$(EXEEXT)
+       $(LINK) $(tst_uuid_OBJECTS) $(tst_uuid_LDADD) $(LIBS)
+
+mostlyclean-compile:
+       -rm -f *.$(OBJEXT)
+
+distclean-compile:
+       -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/clear.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/compare.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/copy.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_uuid.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isnull.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pack.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parse.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst_uuid.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unpack.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unparse.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/uuid_time.Plo@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@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 $<
+
+.c.obj:
+@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@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 `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@   $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@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 $@ $<
+
+mostlyclean-libtool:
+       -rm -f *.lo
+
+clean-libtool:
+       -rm -rf .libs _libs
+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
+
+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:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       set x; \
+       here=`pwd`; \
+       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; }; }'`; \
+       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:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       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; }; }'`; \
+       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
+
+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 $(LTLIBRARIES) $(PROGRAMS) $(DATA) $(HEADERS)
+installdirs:
+       for dir in "$(DESTDIR)$(usrlib_execdir)" "$(DESTDIR)$(uuidincdir)"; do \
+         test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+       done
+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:
+
+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)
+
+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-noinstPROGRAMS \
+       clean-usrlib_execLTLIBRARIES mostlyclean-am
+
+distclean: distclean-am
+       -rm -rf ./$(DEPDIR)
+       -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+       distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-uuidincHEADERS
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-usrlib_execLTLIBRARIES
+       @$(NORMAL_INSTALL)
+       $(MAKE) $(AM_MAKEFLAGS) install-exec-hook
+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 -rf ./$(DEPDIR)
+       -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+       mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-usrlib_execLTLIBRARIES \
+       uninstall-uuidincHEADERS
+       @$(NORMAL_INSTALL)
+       $(MAKE) $(AM_MAKEFLAGS) uninstall-hook
+.MAKE: install-am install-exec-am install-strip uninstall-am
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+       clean-libtool clean-noinstPROGRAMS \
+       clean-usrlib_execLTLIBRARIES ctags distclean distclean-compile \
+       distclean-generic distclean-libtool distclean-tags distdir dvi \
+       dvi-am html html-am info info-am install install-am \
+       install-data install-data-am 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-pdf install-pdf-am install-ps install-ps-am \
+       install-strip install-usrlib_execLTLIBRARIES \
+       install-uuidincHEADERS installcheck installcheck-am \
+       installdirs maintainer-clean maintainer-clean-generic \
+       mostlyclean mostlyclean-compile mostlyclean-generic \
+       mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
+       uninstall-am uninstall-hook uninstall-usrlib_execLTLIBRARIES \
+       uninstall-uuidincHEADERS
+
+
+$(ul_libblkid_la):
+       $(MAKE) -C $(ul_libblkid_builddir)
+
+$(ul_libuuid_la):
+       $(MAKE) -C $(ul_libuuid_builddir)
+
+# move lib from $(usrlib_execdir) to $(libdir) if needed
+install-exec-hook:
+       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:
+       rm -f $(DESTDIR)$(libdir)/libuuid.so*
+
+# 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/shlibs/uuid/src/clear.c b/shlibs/uuid/src/clear.c
new file mode 100644 (file)
index 0000000..2d91fee
--- /dev/null
@@ -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/shlibs/uuid/src/compare.c b/shlibs/uuid/src/compare.c
new file mode 100644 (file)
index 0000000..f28a726
--- /dev/null
@@ -0,0 +1,55 @@
+/*
+ * compare.c --- compare whether or not two UUID's are the same
+ *
+ * Returns 0 if the two UUID's 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/shlibs/uuid/src/copy.c b/shlibs/uuid/src/copy.c
new file mode 100644 (file)
index 0000000..ead33aa
--- /dev/null
@@ -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/shlibs/uuid/src/gen_uuid.c b/shlibs/uuid/src/gen_uuid.c
new file mode 100644 (file)
index 0000000..8bb29f3
--- /dev/null
@@ -0,0 +1,678 @@
+/*
+ * 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 <sys/types.h>
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
+#include <sys/wait.h>
+#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
+#ifdef HAVE_SYS_RESOURCE_H
+#include <sys/resource.h>
+#endif
+
+#include "uuidP.h"
+#include "uuidd.h"
+
+#ifdef HAVE_SRANDOM
+#define srand(x)       srandom(x)
+#define rand()         random()
+#endif
+
+#ifdef TLS
+#define THREAD_LOCAL static TLS
+#else
+#define THREAD_LOCAL static
+#endif
+
+#if defined(__linux__) && defined(__NR_gettid) && defined(HAVE_JRAND48)
+#define DO_JRAND_MIX
+THREAD_LOCAL unsigned short jrand_seed[3];
+#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
+
+static int get_random_fd(void)
+{
+       struct timeval  tv;
+       static int      fd = -2;
+       int             i;
+
+       if (fd == -2) {
+               gettimeofday(&tv, 0);
+#ifndef _WIN32
+               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);
+               }
+#endif
+               srand((getpid() << 16) ^ getuid() ^ tv.tv_sec ^ tv.tv_usec);
+#ifdef DO_JRAND_MIX
+               jrand_seed[0] = getpid() ^ (tv.tv_sec & 0xFFFF);
+               jrand_seed[1] = getppid() ^ (tv.tv_usec & 0xFFFF);
+               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 series of random bytes.  Use /dev/urandom if possible,
+ * and if not, use srandom/random.
+ */
+static void get_random_bytes(void *buf, int nbytes)
+{
+       int i, n = nbytes, fd = get_random_fd();
+       int lose_counter = 0;
+       unsigned char *cp = (unsigned char *) buf;
+
+       if (fd >= 0) {
+               while (n > 0) {
+                       i = read(fd, cp, n);
+                       if (i <= 0) {
+                               if (lose_counter++ > 16)
+                                       break;
+                               continue;
+                       }
+                       n -= i;
+                       cp += i;
+                       lose_counter = 0;
+               }
+       }
+
+       /*
+        * 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, jrand_seed, sizeof(tmp_seed));
+               jrand_seed[2] = jrand_seed[2] ^ syscall(__NR_gettid);
+               for (cp = buf, i = 0; i < nbytes; i++)
+                       *cp++ ^= (jrand48(tmp_seed) >> 7) & 0xFF;
+               memcpy(jrand_seed, tmp_seed,
+                      sizeof(jrand_seed)-sizeof(unsigned short));
+       }
+#endif
+
+       return;
+}
+
+/*
+ * 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
+#ifndef max
+#define max(a,b) ((a) > (b) ? (a) : (b))
+#endif
+#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
+
+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;
+       struct flock                    fl;
+       uint64_t                        clock_reg;
+       mode_t                          save_umask;
+       int                             len;
+
+       if (state_fd == -2) {
+               save_umask = umask(0);
+               state_fd = open("/var/lib/libuuid/clock.txt",
+                               O_RDWR|O_CREAT, 0660);
+               (void) umask(save_umask);
+               state_f = fdopen(state_fd, "r+");
+               if (!state_f) {
+                       close(state_fd);
+                       state_fd = -1;
+               }
+       }
+       fl.l_type = F_WRLCK;
+       fl.l_whence = SEEK_SET;
+       fl.l_start = 0;
+       fl.l_len = 0;
+       fl.l_pid = 0;
+       if (state_fd >= 0) {
+               rewind(state_f);
+               while (fcntl(state_fd, F_SETLKW, &fl) < 0) {
+                       if ((errno == EAGAIN) || (errno == EINTR))
+                               continue;
+                       fclose(state_f);
+                       close(state_fd);
+                       state_fd = -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)) {
+               get_random_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);
+               fl.l_type = F_UNLCK;
+               fcntl(state_fd, F_SETLK, &fl);
+       }
+
+       *clock_high = clock_reg >> 32;
+       *clock_low = clock_reg;
+       *ret_clock_seq = clock_seq;
+       return 0;
+}
+
+#if defined(HAVE_UUIDD) && defined(HAVE_SYS_UN_H)
+/* used in get_uuid_via_daemon() only */
+static 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;
+}
+
+/*
+ * Close all file descriptors
+ */
+static void close_all_fds(void)
+{
+       int i, max;
+
+#if defined(HAVE_SYSCONF) && defined(_SC_OPEN_MAX)
+       max = sysconf(_SC_OPEN_MAX);
+#elif defined(HAVE_GETDTABLESIZE)
+       max = getdtablesize();
+#elif defined(HAVE_GETRLIMIT) && defined(RLIMIT_NOFILE)
+       struct rlimit rl;
+
+       getrlimit(RLIMIT_NOFILE, &rl);
+       max = rl.rlim_cur;
+#else
+       max = OPEN_MAX;
+#endif
+
+       for (i=0; i < max; i++) {
+               close(i);
+               if (i <= 2)
+                       open("/dev/null", O_RDWR);
+       }
+}
+
+/*
+ * 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;
+       struct stat st;
+       pid_t pid;
+       static const char *uuidd_path = UUIDD_PATH;
+       static int access_ret = -2;
+       static int start_attempts = 0;
+
+       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) {
+               if (access_ret == -2)
+                       access_ret = access(uuidd_path, X_OK);
+               if (access_ret == 0)
+                       access_ret = stat(uuidd_path, &st);
+               if (access_ret == 0 && (st.st_mode & (S_ISUID | S_ISGID)) == 0)
+                       access_ret = access(UUIDD_DIR, W_OK);
+               if (access_ret == 0 && start_attempts++ < 5) {
+                       if ((pid = fork()) == 0) {
+                               close_all_fds();
+                               execl(uuidd_path, "uuidd", "-qT", "300",
+                                     (char *) NULL);
+                               exit(1);
+                       }
+                       (void) waitpid(pid, 0, 0);
+                       if (connect(s, (const struct sockaddr *) &srv_addr,
+                                   sizeof(struct sockaddr_un)) < 0)
+                               goto fail;
+               } else
+                       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
+
+void 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;
+
+       if (!has_init) {
+               if (get_node_id(node_id) <= 0) {
+                       get_random_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;
+       }
+       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);
+}
+
+void uuid_generate_time(uuid_t out)
+{
+#ifdef 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;
+               }
+               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;
+       }
+#else
+       if (get_uuid_via_daemon(UUIDD_OP_TIME_UUID, out, 0) == 0)
+               return;
+#endif
+
+       uuid__generate_time(out, 0);
+}
+
+
+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++) {
+               get_random_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);
+}
+
+
+/*
+ * 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 (get_random_fd() >= 0)
+               uuid_generate_random(out);
+       else
+               uuid_generate_time(out);
+}
diff --git a/shlibs/uuid/src/gen_uuid_nt.c b/shlibs/uuid/src/gen_uuid_nt.c
new file mode 100644 (file)
index 0000000..aa44bfd
--- /dev/null
@@ -0,0 +1,92 @@
+/*
+ * gen_uuid_nt.c -- Use NT api to generate uuid
+ *
+ * Written by Andrey Shedel (andreys@ns.cr.cyco.com)
+ */
+
+
+#include "uuidP.h"
+
+#pragma warning(push,4)
+
+#pragma comment(lib, "ntdll.lib")
+
+//
+// Here is a nice example why it's not a good idea
+// to use native API in ordinary applications.
+// Number of parameters in function below was changed from 3 to 4
+// for NT5.
+//
+//
+// NTSYSAPI
+// NTSTATUS
+// NTAPI
+// NtAllocateUuids(
+//     OUT PULONG p1,
+//     OUT PULONG p2,
+//     OUT PULONG p3,
+//     OUT PUCHAR Seed // 6 bytes
+//   );
+//
+//
+
+unsigned long
+__stdcall
+NtAllocateUuids(
+   void* p1,  // 8 bytes
+   void* p2,  // 4 bytes
+   void* p3   // 4 bytes
+   );
+
+typedef
+unsigned long
+(__stdcall*
+NtAllocateUuids_2000)(
+   void* p1,  // 8 bytes
+   void* p2,  // 4 bytes
+   void* p3,  // 4 bytes
+   void* seed // 6 bytes
+   );
+
+
+
+//
+// Nice, but instead of including ntddk.h ot winnt.h
+// I should define it here because they MISSED __stdcall in those headers.
+//
+
+__declspec(dllimport)
+struct _TEB*
+__stdcall
+NtCurrentTeb(void);
+
+
+//
+// The only way to get version information from the system is to examine
+// one stored in PEB. But it's pretty dangerouse because this value could
+// be altered in image header.
+//
+
+static
+int
+Nt5(void)
+{
+       //return NtCuttentTeb()->Peb->OSMajorVersion >= 5;
+       return (int)*(int*)((char*)(int)(*(int*)((char*)NtCurrentTeb() + 0x30)) + 0xA4) >= 5;
+}
+
+
+
+
+void uuid_generate(uuid_t out)
+{
+       if(Nt5())
+       {
+               unsigned char seed[6];
+               ((NtAllocateUuids_2000)NtAllocateUuids)(out, ((char*)out)+8, ((char*)out)+12, &seed[0] );
+       }
+       else
+       {
+               NtAllocateUuids(out, ((char*)out)+8, ((char*)out)+12);
+       }
+}
diff --git a/shlibs/uuid/src/isnull.c b/shlibs/uuid/src/isnull.c
new file mode 100644 (file)
index 0000000..931e7e7
--- /dev/null
@@ -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/shlibs/uuid/src/pack.c b/shlibs/uuid/src/pack.c
new file mode 100644 (file)
index 0000000..097516d
--- /dev/null
@@ -0,0 +1,69 @@
+/*
+ * Internal routine for packing UUID's
+ *
+ * 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/shlibs/uuid/src/parse.c b/shlibs/uuid/src/parse.c
new file mode 100644 (file)
index 0000000..074383e
--- /dev/null
@@ -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/shlibs/uuid/src/tst_uuid.c b/shlibs/uuid/src/tst_uuid.c
new file mode 100644 (file)
index 0000000..e03138f
--- /dev/null
@@ -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/shlibs/uuid/src/unpack.c b/shlibs/uuid/src/unpack.c
new file mode 100644 (file)
index 0000000..beaaff3
--- /dev/null
@@ -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/shlibs/uuid/src/unparse.c b/shlibs/uuid/src/unparse.c
new file mode 100644 (file)
index 0000000..a95bbb0
--- /dev/null
@@ -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/shlibs/uuid/src/uuid.h b/shlibs/uuid/src/uuid.h
new file mode 100644 (file)
index 0000000..e329bf7
--- /dev/null
@@ -0,0 +1,103 @@
+/*
+ * 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);
+
+/* 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/shlibs/uuid/src/uuid.sym b/shlibs/uuid/src/uuid.sym
new file mode 100644 (file)
index 0000000..05d9f39
--- /dev/null
@@ -0,0 +1,33 @@
+/*
+ * 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 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;
+
+       /* uuid__* this is not part of the official API, this is
+        * uuidd (uuid daemon) specific stuff. Hell.
+        */
+       uuid__generate_time;
+       uuid__generate_random;
+local:
+       *;
+};
diff --git a/shlibs/uuid/src/uuidP.h b/shlibs/uuid/src/uuidP.h
new file mode 100644 (file)
index 0000000..9d30ce2
--- /dev/null
@@ -0,0 +1,59 @@
+/*
+ * 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"
+
+/*
+ * 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/shlibs/uuid/src/uuid_time.c b/shlibs/uuid/src/uuid_time.c
new file mode 100644 (file)
index 0000000..f25f5c9
--- /dev/null
@@ -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/shlibs/uuid/src/uuidd.h b/shlibs/uuid/src/uuidd.h
new file mode 100644 (file)
index 0000000..68ee0e5
--- /dev/null
@@ -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              "/var/run/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 void 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/shlibs/uuid/uuid.pc.in b/shlibs/uuid/uuid.pc.in
new file mode 100644 (file)
index 0000000..875de19
--- /dev/null
@@ -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/sys-utils/Makefile.am b/sys-utils/Makefile.am
new file mode 100644 (file)
index 0000000..19ecccc
--- /dev/null
@@ -0,0 +1,101 @@
+include $(top_srcdir)/config/include-Makefile.am
+
+bin_PROGRAMS =
+sbin_PROGRAMS =
+usrbin_exec_PROGRAMS = flock ipcrm ipcs ipcmk renice setsid
+usrsbin_exec_PROGRAMS = readprofile
+
+dist_man_MANS = flock.1 ipcrm.1 ipcs.1 ipcmk.1 renice.1 setsid.1 \
+               readprofile.1
+
+if LINUX
+bin_PROGRAMS += dmesg
+sbin_PROGRAMS += ctrlaltdel
+usrbin_exec_PROGRAMS += cytune setarch lscpu
+usrsbin_exec_PROGRAMS += ldattach tunelp rtcwake
+
+dist_man_MANS += dmesg.1 ctrlaltdel.8 cytune.8 setarch.8 \
+               ldattach.8 lscpu.1 tunelp.8 rtcwake.8
+endif
+
+cytune_SOURCES = cytune.c cyclades.h
+tunelp_SOURCES = tunelp.c lp.h
+
+info_TEXINFOS = ipc.texi
+
+if HAVE_PIVOT_ROOT
+sbin_PROGRAMS += pivot_root
+dist_man_MANS += pivot_root.8
+endif
+
+if BUILD_SWITCH_ROOT
+sbin_PROGRAMS += switch_root
+dist_man_MANS += switch_root.8
+endif
+
+if BUILD_ARCH
+bin_PROGRAMS += arch
+dist_man_MANS += arch.1
+endif
+
+RDEV_LINKS =
+if BUILD_RDEV
+usrsbin_exec_PROGRAMS += rdev
+RDEV_LINKS += ramsize vidmode rootflags
+dist_man_MANS += rdev.8
+endif
+
+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
+
+RDEV_MAN_LINKS = $(RDEV_LINKS:=.8)
+SETARCH_MAN_LINKS = $(SETARCH_LINKS:=.8)
+man_MANS = $(RDEV_MAN_LINKS) $(SETARCH_MAN_LINKS)
+CLEANFILES = $(man_MANS)
+
+$(RDEV_MAN_LINKS): rdev.8
+       echo ".so man8/rdev.8" > $@
+
+$(SETARCH_MAN_LINKS): setarch.8
+       echo ".so man8/setarch.8" > $@
+
+install-exec-hook:
+       for I in $(RDEV_LINKS); do \
+               cd $(DESTDIR)$(usrsbin_execdir) && ln -sf rdev $$I ; \
+       done
+       for I in $(SETARCH_LINKS); do \
+               cd $(DESTDIR)$(usrbin_execdir) && ln -sf setarch $$I ; \
+       done
+
+uninstall-hook:
+       for I in $(RDEV_LINKS); do \
+               rm -f $(DESTDIR)$(usrbin_execdir)/$$I ; \
+       done
+       for I in $(SETARCH_LINKS); do \
+               rm -f $(DESTDIR)$(usrbin_execdir)/$$I ; \
+       done
+
diff --git a/sys-utils/Makefile.in b/sys-utils/Makefile.in
new file mode 100644 (file)
index 0000000..fa38e77
--- /dev/null
@@ -0,0 +1,1291 @@
+# Makefile.in generated by automake 1.11 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@
+DIST_COMMON = $(am__dist_noinst_DATA_DIST) $(dist_man_MANS) \
+       $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+       $(top_srcdir)/config/include-Makefile.am
+bin_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2)
+sbin_PROGRAMS = $(am__EXEEXT_3) $(am__EXEEXT_4) $(am__EXEEXT_5)
+usrbin_exec_PROGRAMS = flock$(EXEEXT) ipcrm$(EXEEXT) ipcs$(EXEEXT) \
+       ipcmk$(EXEEXT) renice$(EXEEXT) setsid$(EXEEXT) $(am__EXEEXT_6)
+usrsbin_exec_PROGRAMS = readprofile$(EXEEXT) $(am__EXEEXT_7) \
+       $(am__EXEEXT_8)
+@LINUX_TRUE@am__append_1 = dmesg
+@LINUX_TRUE@am__append_2 = ctrlaltdel
+@LINUX_TRUE@am__append_3 = cytune setarch lscpu
+@LINUX_TRUE@am__append_4 = ldattach tunelp rtcwake
+@LINUX_TRUE@am__append_5 = dmesg.1 ctrlaltdel.8 cytune.8 setarch.8 \
+@LINUX_TRUE@           ldattach.8 lscpu.1 tunelp.8 rtcwake.8
+
+@HAVE_PIVOT_ROOT_TRUE@am__append_6 = pivot_root
+@HAVE_PIVOT_ROOT_TRUE@am__append_7 = pivot_root.8
+@BUILD_SWITCH_ROOT_TRUE@am__append_8 = switch_root
+@BUILD_SWITCH_ROOT_TRUE@am__append_9 = switch_root.8
+@BUILD_ARCH_TRUE@am__append_10 = arch
+@BUILD_ARCH_TRUE@am__append_11 = arch.1
+@BUILD_RDEV_TRUE@am__append_12 = rdev
+@BUILD_RDEV_TRUE@am__append_13 = ramsize vidmode rootflags
+@BUILD_RDEV_TRUE@am__append_14 = rdev.8
+@ARCH_S390_TRUE@am__append_15 = s390 s390x
+@ARCH_I86_TRUE@am__append_16 = i386
+@ARCH_86_64_TRUE@am__append_17 = i386 x86_64
+@ARCH_PPC_TRUE@am__append_18 = ppc ppc64 ppc32
+@ARCH_SPARC_TRUE@am__append_19 = sparc sparc64 sparc32 sparc32bash
+@ARCH_MIPS_TRUE@am__append_20 = mips mips64 mips32
+@ARCH_IA64_TRUE@am__append_21 = i386 ia64
+@ARCH_HPPA_TRUE@am__append_22 = parisc parisc64 parisc32
+subdir = sys-utils
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.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)/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 =
+CONFIG_CLEAN_VPATH_FILES =
+@LINUX_TRUE@am__EXEEXT_1 = dmesg$(EXEEXT)
+@BUILD_ARCH_TRUE@am__EXEEXT_2 = arch$(EXEEXT)
+am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)" \
+       "$(DESTDIR)$(usrbin_execdir)" "$(DESTDIR)$(usrsbin_execdir)" \
+       "$(DESTDIR)$(infodir)" "$(DESTDIR)$(man1dir)" \
+       "$(DESTDIR)$(man8dir)"
+@LINUX_TRUE@am__EXEEXT_3 = ctrlaltdel$(EXEEXT)
+@HAVE_PIVOT_ROOT_TRUE@am__EXEEXT_4 = pivot_root$(EXEEXT)
+@BUILD_SWITCH_ROOT_TRUE@am__EXEEXT_5 = switch_root$(EXEEXT)
+@LINUX_TRUE@am__EXEEXT_6 = cytune$(EXEEXT) setarch$(EXEEXT) \
+@LINUX_TRUE@   lscpu$(EXEEXT)
+@LINUX_TRUE@am__EXEEXT_7 = ldattach$(EXEEXT) tunelp$(EXEEXT) \
+@LINUX_TRUE@   rtcwake$(EXEEXT)
+@BUILD_RDEV_TRUE@am__EXEEXT_8 = rdev$(EXEEXT)
+PROGRAMS = $(bin_PROGRAMS) $(sbin_PROGRAMS) $(usrbin_exec_PROGRAMS) \
+       $(usrsbin_exec_PROGRAMS)
+arch_SOURCES = arch.c
+arch_OBJECTS = arch.$(OBJEXT)
+arch_LDADD = $(LDADD)
+ctrlaltdel_SOURCES = ctrlaltdel.c
+ctrlaltdel_OBJECTS = ctrlaltdel.$(OBJEXT)
+ctrlaltdel_LDADD = $(LDADD)
+am_cytune_OBJECTS = cytune.$(OBJEXT)
+cytune_OBJECTS = $(am_cytune_OBJECTS)
+cytune_LDADD = $(LDADD)
+dmesg_SOURCES = dmesg.c
+dmesg_OBJECTS = dmesg.$(OBJEXT)
+dmesg_LDADD = $(LDADD)
+flock_SOURCES = flock.c
+flock_OBJECTS = flock.$(OBJEXT)
+flock_LDADD = $(LDADD)
+ipcmk_SOURCES = ipcmk.c
+ipcmk_OBJECTS = ipcmk.$(OBJEXT)
+ipcmk_LDADD = $(LDADD)
+ipcrm_SOURCES = ipcrm.c
+ipcrm_OBJECTS = ipcrm.$(OBJEXT)
+ipcrm_LDADD = $(LDADD)
+ipcs_SOURCES = ipcs.c
+ipcs_OBJECTS = ipcs.$(OBJEXT)
+ipcs_LDADD = $(LDADD)
+ldattach_SOURCES = ldattach.c
+ldattach_OBJECTS = ldattach.$(OBJEXT)
+ldattach_LDADD = $(LDADD)
+lscpu_SOURCES = lscpu.c
+lscpu_OBJECTS = lscpu.$(OBJEXT)
+lscpu_LDADD = $(LDADD)
+pivot_root_SOURCES = pivot_root.c
+pivot_root_OBJECTS = pivot_root.$(OBJEXT)
+pivot_root_LDADD = $(LDADD)
+rdev_SOURCES = rdev.c
+rdev_OBJECTS = rdev.$(OBJEXT)
+rdev_LDADD = $(LDADD)
+readprofile_SOURCES = readprofile.c
+readprofile_OBJECTS = readprofile.$(OBJEXT)
+readprofile_LDADD = $(LDADD)
+renice_SOURCES = renice.c
+renice_OBJECTS = renice.$(OBJEXT)
+renice_LDADD = $(LDADD)
+rtcwake_SOURCES = rtcwake.c
+rtcwake_OBJECTS = rtcwake.$(OBJEXT)
+rtcwake_LDADD = $(LDADD)
+setarch_SOURCES = setarch.c
+setarch_OBJECTS = setarch.$(OBJEXT)
+setarch_LDADD = $(LDADD)
+setsid_SOURCES = setsid.c
+setsid_OBJECTS = setsid.$(OBJEXT)
+setsid_LDADD = $(LDADD)
+switch_root_SOURCES = switch_root.c
+switch_root_OBJECTS = switch_root.$(OBJEXT)
+switch_root_LDADD = $(LDADD)
+am_tunelp_OBJECTS = tunelp.$(OBJEXT)
+tunelp_OBJECTS = $(am_tunelp_OBJECTS)
+tunelp_LDADD = $(LDADD)
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+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) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+       --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+       --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+       $(LDFLAGS) -o $@
+SOURCES = arch.c ctrlaltdel.c $(cytune_SOURCES) dmesg.c flock.c \
+       ipcmk.c ipcrm.c ipcs.c ldattach.c lscpu.c pivot_root.c rdev.c \
+       readprofile.c renice.c rtcwake.c setarch.c setsid.c \
+       switch_root.c $(tunelp_SOURCES)
+DIST_SOURCES = arch.c ctrlaltdel.c $(cytune_SOURCES) dmesg.c flock.c \
+       ipcmk.c ipcrm.c ipcs.c ldattach.c lscpu.c pivot_root.c rdev.c \
+       readprofile.c renice.c rtcwake.c setarch.c setsid.c \
+       switch_root.c $(tunelp_SOURCES)
+INFO_DEPS = $(srcdir)/ipc.info
+TEXINFO_TEX = $(top_srcdir)/config/texinfo.tex
+am__TEXINFO_TEX_DIR = $(top_srcdir)/config
+DVIS = ipc.dvi
+PDFS = ipc.pdf
+PSS = ipc.ps
+HTMLS = ipc.html
+TEXINFOS = ipc.texi
+TEXI2DVI = texi2dvi
+TEXI2PDF = $(TEXI2DVI) --pdf --batch
+MAKEINFOHTML = $(MAKEINFO) --html
+AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS)
+DVIPS = dvips
+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'
+man1dir = $(mandir)/man1
+man8dir = $(mandir)/man8
+NROFF = nroff
+MANS = $(dist_man_MANS) $(man_MANS)
+am__dist_noinst_DATA_DIST = flock.1 ipcrm.1 ipcs.1 ipcmk.1 renice.1 \
+       setsid.1 readprofile.1 dmesg.1 ctrlaltdel.8 cytune.8 setarch.8 \
+       ldattach.8 lscpu.1 tunelp.8 rtcwake.8 pivot_root.8 \
+       switch_root.8 arch.1 rdev.8
+DATA = $(dist_noinst_DATA)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BLKID = @BLKID@
+BLKID_CFLAGS = @BLKID_CFLAGS@
+BLKID_LIBS = @BLKID_LIBS@
+BLKID_LIBS_STATIC = @BLKID_LIBS_STATIC@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+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@
+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_VERSION = @LIBBLKID_VERSION@
+LIBBLKID_VERSION_INFO = @LIBBLKID_VERSION_INFO@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+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@
+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_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+POSUB = @POSUB@
+RANLIB = @RANLIB@
+SED = @SED@
+SELINUX_LIBS = @SELINUX_LIBS@
+SELINUX_LIBS_STATIC = @SELINUX_LIBS_STATIC@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SUID_CFLAGS = @SUID_CFLAGS@
+SUID_LDFLAGS = @SUID_LDFLAGS@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
+VERSION = @VERSION@
+VOLID = @VOLID@
+XGETTEXT = @XGETTEXT@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+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@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+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 $(top_builddir)/config.h -I$(top_srcdir)/include \
+       -DLOCALEDIR=\"$(localedir)\"
+
+AM_CFLAGS = -fsigned-char
+AM_LDFLAGS = 
+
+# 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)
+#
+# blkid
+ul_libblkid_srcdir = $(top_srcdir)/shlibs/blkid/src
+ul_libblkid_builddir = $(top_builddir)/shlibs/blkid/src
+ul_libblkid_la = $(top_builddir)/shlibs/blkid/src/libblkid.la
+
+# uuid
+ul_libuuid_srcdir = $(top_srcdir)/shlibs/uuid/src
+ul_libuuid_builddir = $(top_builddir)/shlibs/uuid/src
+ul_libuuid_la = $(top_builddir)/shlibs/uuid/src/libuuid.la
+dist_man_MANS = flock.1 ipcrm.1 ipcs.1 ipcmk.1 renice.1 setsid.1 \
+       readprofile.1 $(am__append_5) $(am__append_7) $(am__append_9) \
+       $(am__append_11) $(am__append_14)
+cytune_SOURCES = cytune.c cyclades.h
+tunelp_SOURCES = tunelp.c lp.h
+info_TEXINFOS = ipc.texi
+RDEV_LINKS = $(am__append_13)
+SETARCH_LINKS = linux32 linux64 $(am__append_15) $(am__append_16) \
+       $(am__append_17) $(am__append_18) $(am__append_19) \
+       $(am__append_20) $(am__append_21) $(am__append_22)
+RDEV_MAN_LINKS = $(RDEV_LINKS:=.8)
+SETARCH_MAN_LINKS = $(SETARCH_LINKS:=.8)
+man_MANS = $(RDEV_MAN_LINKS) $(SETARCH_MAN_LINKS)
+CLEANFILES = $(man_MANS)
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .dvi .html .info .lo .o .obj .pdf .ps .texi
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/config/include-Makefile.am $(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 sys-utils/Makefile'; \
+       $(am__cd) $(top_srcdir) && \
+         $(AUTOMAKE) --foreign sys-utils/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):
+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
+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
+arch$(EXEEXT): $(arch_OBJECTS) $(arch_DEPENDENCIES) 
+       @rm -f arch$(EXEEXT)
+       $(LINK) $(arch_OBJECTS) $(arch_LDADD) $(LIBS)
+ctrlaltdel$(EXEEXT): $(ctrlaltdel_OBJECTS) $(ctrlaltdel_DEPENDENCIES) 
+       @rm -f ctrlaltdel$(EXEEXT)
+       $(LINK) $(ctrlaltdel_OBJECTS) $(ctrlaltdel_LDADD) $(LIBS)
+cytune$(EXEEXT): $(cytune_OBJECTS) $(cytune_DEPENDENCIES) 
+       @rm -f cytune$(EXEEXT)
+       $(LINK) $(cytune_OBJECTS) $(cytune_LDADD) $(LIBS)
+dmesg$(EXEEXT): $(dmesg_OBJECTS) $(dmesg_DEPENDENCIES) 
+       @rm -f dmesg$(EXEEXT)
+       $(LINK) $(dmesg_OBJECTS) $(dmesg_LDADD) $(LIBS)
+flock$(EXEEXT): $(flock_OBJECTS) $(flock_DEPENDENCIES) 
+       @rm -f flock$(EXEEXT)
+       $(LINK) $(flock_OBJECTS) $(flock_LDADD) $(LIBS)
+ipcmk$(EXEEXT): $(ipcmk_OBJECTS) $(ipcmk_DEPENDENCIES) 
+       @rm -f ipcmk$(EXEEXT)
+       $(LINK) $(ipcmk_OBJECTS) $(ipcmk_LDADD) $(LIBS)
+ipcrm$(EXEEXT): $(ipcrm_OBJECTS) $(ipcrm_DEPENDENCIES) 
+       @rm -f ipcrm$(EXEEXT)
+       $(LINK) $(ipcrm_OBJECTS) $(ipcrm_LDADD) $(LIBS)
+ipcs$(EXEEXT): $(ipcs_OBJECTS) $(ipcs_DEPENDENCIES) 
+       @rm -f ipcs$(EXEEXT)
+       $(LINK) $(ipcs_OBJECTS) $(ipcs_LDADD) $(LIBS)
+ldattach$(EXEEXT): $(ldattach_OBJECTS) $(ldattach_DEPENDENCIES) 
+       @rm -f ldattach$(EXEEXT)
+       $(LINK) $(ldattach_OBJECTS) $(ldattach_LDADD) $(LIBS)
+lscpu$(EXEEXT): $(lscpu_OBJECTS) $(lscpu_DEPENDENCIES) 
+       @rm -f lscpu$(EXEEXT)
+       $(LINK) $(lscpu_OBJECTS) $(lscpu_LDADD) $(LIBS)
+pivot_root$(EXEEXT): $(pivot_root_OBJECTS) $(pivot_root_DEPENDENCIES) 
+       @rm -f pivot_root$(EXEEXT)
+       $(LINK) $(pivot_root_OBJECTS) $(pivot_root_LDADD) $(LIBS)
+rdev$(EXEEXT): $(rdev_OBJECTS) $(rdev_DEPENDENCIES) 
+       @rm -f rdev$(EXEEXT)
+       $(LINK) $(rdev_OBJECTS) $(rdev_LDADD) $(LIBS)
+readprofile$(EXEEXT): $(readprofile_OBJECTS) $(readprofile_DEPENDENCIES) 
+       @rm -f readprofile$(EXEEXT)
+       $(LINK) $(readprofile_OBJECTS) $(readprofile_LDADD) $(LIBS)
+renice$(EXEEXT): $(renice_OBJECTS) $(renice_DEPENDENCIES) 
+       @rm -f renice$(EXEEXT)
+       $(LINK) $(renice_OBJECTS) $(renice_LDADD) $(LIBS)
+rtcwake$(EXEEXT): $(rtcwake_OBJECTS) $(rtcwake_DEPENDENCIES) 
+       @rm -f rtcwake$(EXEEXT)
+       $(LINK) $(rtcwake_OBJECTS) $(rtcwake_LDADD) $(LIBS)
+setarch$(EXEEXT): $(setarch_OBJECTS) $(setarch_DEPENDENCIES) 
+       @rm -f setarch$(EXEEXT)
+       $(LINK) $(setarch_OBJECTS) $(setarch_LDADD) $(LIBS)
+setsid$(EXEEXT): $(setsid_OBJECTS) $(setsid_DEPENDENCIES) 
+       @rm -f setsid$(EXEEXT)
+       $(LINK) $(setsid_OBJECTS) $(setsid_LDADD) $(LIBS)
+switch_root$(EXEEXT): $(switch_root_OBJECTS) $(switch_root_DEPENDENCIES) 
+       @rm -f switch_root$(EXEEXT)
+       $(LINK) $(switch_root_OBJECTS) $(switch_root_LDADD) $(LIBS)
+tunelp$(EXEEXT): $(tunelp_OBJECTS) $(tunelp_DEPENDENCIES) 
+       @rm -f tunelp$(EXEEXT)
+       $(LINK) $(tunelp_OBJECTS) $(tunelp_LDADD) $(LIBS)
+
+mostlyclean-compile:
+       -rm -f *.$(OBJEXT)
+
+distclean-compile:
+       -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/arch.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ctrlaltdel.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cytune.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dmesg.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flock.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipcmk.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipcrm.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipcs.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ldattach.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lscpu.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pivot_root.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rdev.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/readprofile.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/renice.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rtcwake.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setarch.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setsid.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/switch_root.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tunelp.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@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 $<
+
+.c.obj:
+@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@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 `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@   $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@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 $@ $<
+
+mostlyclean-libtool:
+       -rm -f *.lo
+
+clean-libtool:
+       -rm -rf .libs _libs
+
+.texi.info:
+       restore=: && backupdir="$(am__leading_dot)am$$$$" && \
+       am__cwd=`pwd` && $(am__cd) $(srcdir) && \
+       rm -rf $$backupdir && mkdir $$backupdir && \
+       if ($(MAKEINFO) --version) >/dev/null 2>&1; then \
+         for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \
+           if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \
+         done; \
+       else :; fi && \
+       cd "$$am__cwd"; \
+       if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
+        -o $@ $<; \
+       then \
+         rc=0; \
+         $(am__cd) $(srcdir); \
+       else \
+         rc=$$?; \
+         $(am__cd) $(srcdir) && \
+         $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \
+       fi; \
+       rm -rf $$backupdir; exit $$rc
+
+.texi.dvi:
+       TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
+       MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
+       $(TEXI2DVI) $<
+
+.texi.pdf:
+       TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
+       MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
+       $(TEXI2PDF) $<
+
+.texi.html:
+       rm -rf $(@:.html=.htp)
+       if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
+        -o $(@:.html=.htp) $<; \
+       then \
+         rm -rf $@; \
+         if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
+           mv $(@:.html=) $@; else mv $(@:.html=.htp) $@; fi; \
+       else \
+         if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
+           rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \
+         exit 1; \
+       fi
+$(srcdir)/ipc.info: ipc.texi 
+ipc.dvi: ipc.texi 
+ipc.pdf: ipc.texi 
+ipc.html: ipc.texi 
+.dvi.ps:
+       TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
+       $(DVIPS) -o $@ $<
+
+uninstall-dvi-am:
+       @$(NORMAL_UNINSTALL)
+       @list='$(DVIS)'; test -n "$(dvidir)" || list=; \
+       for p in $$list; do \
+         $(am__strip_dir) \
+         echo " rm -f '$(DESTDIR)$(dvidir)/$$f'"; \
+         rm -f "$(DESTDIR)$(dvidir)/$$f"; \
+       done
+
+uninstall-html-am:
+       @$(NORMAL_UNINSTALL)
+       @list='$(HTMLS)'; test -n "$(htmldir)" || list=; \
+       for p in $$list; do \
+         $(am__strip_dir) \
+         echo " rm -rf '$(DESTDIR)$(htmldir)/$$f'"; \
+         rm -rf "$(DESTDIR)$(htmldir)/$$f"; \
+       done
+
+uninstall-info-am:
+       @$(PRE_UNINSTALL)
+       @if test -d '$(DESTDIR)$(infodir)' && \
+           (install-info --version && \
+            install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
+         list='$(INFO_DEPS)'; \
+         for file in $$list; do \
+           relfile=`echo "$$file" | sed 's|^.*/||'`; \
+           echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove '$(DESTDIR)$(infodir)/$$relfile'"; \
+           if install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \
+           then :; else test ! -f "$(DESTDIR)$(infodir)/$$relfile" || exit 1; fi; \
+         done; \
+       else :; fi
+       @$(NORMAL_UNINSTALL)
+       @list='$(INFO_DEPS)'; \
+       for file in $$list; do \
+         relfile=`echo "$$file" | sed 's|^.*/||'`; \
+         relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \
+         (if test -d "$(DESTDIR)$(infodir)" && cd "$(DESTDIR)$(infodir)"; then \
+            echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]"; \
+            rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \
+          else :; fi); \
+       done
+
+uninstall-pdf-am:
+       @$(NORMAL_UNINSTALL)
+       @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \
+       for p in $$list; do \
+         $(am__strip_dir) \
+         echo " rm -f '$(DESTDIR)$(pdfdir)/$$f'"; \
+         rm -f "$(DESTDIR)$(pdfdir)/$$f"; \
+       done
+
+uninstall-ps-am:
+       @$(NORMAL_UNINSTALL)
+       @list='$(PSS)'; test -n "$(psdir)" || list=; \
+       for p in $$list; do \
+         $(am__strip_dir) \
+         echo " rm -f '$(DESTDIR)$(psdir)/$$f'"; \
+         rm -f "$(DESTDIR)$(psdir)/$$f"; \
+       done
+
+dist-info: $(INFO_DEPS)
+       @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+       list='$(INFO_DEPS)'; \
+       for base in $$list; do \
+         case $$base in \
+           $(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \
+         esac; \
+         if test -f $$base; then d=.; else d=$(srcdir); fi; \
+         base_i=`echo "$$base" | sed 's|\.info$$||;s|$$|.i|'`; \
+         for file in $$d/$$base $$d/$$base-[0-9] $$d/$$base-[0-9][0-9] $$d/$$base_i[0-9] $$d/$$base_i[0-9][0-9]; do \
+           if test -f $$file; then \
+             relfile=`expr "$$file" : "$$d/\(.*\)"`; \
+             test -f "$(distdir)/$$relfile" || \
+               cp -p $$file "$(distdir)/$$relfile"; \
+           else :; fi; \
+         done; \
+       done
+
+mostlyclean-aminfo:
+       -rm -rf ipc.aux ipc.cp ipc.cps ipc.fn ipc.fns ipc.ky ipc.kys ipc.log ipc.pg \
+         ipc.pgs ipc.tmp ipc.toc ipc.tp ipc.tps ipc.vr ipc.vrs
+
+clean-aminfo:
+       -test -z "ipc.dvi ipc.pdf ipc.ps ipc.html" \
+       || rm -rf ipc.dvi ipc.pdf ipc.ps ipc.html
+
+maintainer-clean-aminfo:
+       @list='$(INFO_DEPS)'; for i in $$list; do \
+         i_i=`echo "$$i" | sed 's|\.info$$||;s|$$|.i|'`; \
+         echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \
+         rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \
+       done
+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-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; }
+
+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:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       set x; \
+       here=`pwd`; \
+       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; }; }'`; \
+       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:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       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; }; }'`; \
+       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
+
+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
+       @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
+       $(MAKE) $(AM_MAKEFLAGS) \
+         top_distdir="$(top_distdir)" distdir="$(distdir)" \
+         dist-info
+check-am: all-am
+check: check-am
+all-am: Makefile $(INFO_DEPS) $(PROGRAMS) $(MANS) $(DATA)
+installdirs:
+       for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(usrbin_execdir)" "$(DESTDIR)$(usrsbin_execdir)" "$(DESTDIR)$(infodir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man8dir)"; do \
+         test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+       done
+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)
+
+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-aminfo clean-binPROGRAMS clean-generic clean-libtool \
+       clean-sbinPROGRAMS clean-usrbin_execPROGRAMS \
+       clean-usrsbin_execPROGRAMS mostlyclean-am
+
+distclean: distclean-am
+       -rm -rf ./$(DEPDIR)
+       -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+       distclean-tags
+
+dvi: dvi-am
+
+dvi-am: $(DVIS)
+
+html: html-am
+
+html-am: $(HTMLS)
+
+info: info-am
+
+info-am: $(INFO_DEPS)
+
+install-data-am: install-info-am install-man
+
+install-dvi: install-dvi-am
+
+install-dvi-am: $(DVIS)
+       @$(NORMAL_INSTALL)
+       test -z "$(dvidir)" || $(MKDIR_P) "$(DESTDIR)$(dvidir)"
+       @list='$(DVIS)'; test -n "$(dvidir)" || 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)$(dvidir)'"; \
+         $(INSTALL_DATA) $$files "$(DESTDIR)$(dvidir)" || exit $$?; \
+       done
+install-exec-am: install-binPROGRAMS install-sbinPROGRAMS \
+       install-usrbin_execPROGRAMS install-usrsbin_execPROGRAMS
+       @$(NORMAL_INSTALL)
+       $(MAKE) $(AM_MAKEFLAGS) install-exec-hook
+install-html: install-html-am
+
+install-html-am: $(HTMLS)
+       @$(NORMAL_INSTALL)
+       test -z "$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)"
+       @list='$(HTMLS)'; list2=; test -n "$(htmldir)" || list=; \
+       for p in $$list; do \
+         if test -f "$$p" || test -d "$$p"; then d=; else d="$(srcdir)/"; fi; \
+         $(am__strip_dir) \
+         if test -d "$$d$$p"; then \
+           echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)/$$f'"; \
+           $(MKDIR_P) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \
+           echo " $(INSTALL_DATA) '$$d$$p'/* '$(DESTDIR)$(htmldir)/$$f'"; \
+           $(INSTALL_DATA) "$$d$$p"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \
+         else \
+           list2="$$list2 $$d$$p"; \
+         fi; \
+       done; \
+       test -z "$$list2" || { echo "$$list2" | $(am__base_list) | \
+       while read files; do \
+         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(htmldir)'"; \
+         $(INSTALL_DATA) $$files "$(DESTDIR)$(htmldir)" || exit $$?; \
+       done; }
+install-info: install-info-am
+
+install-info-am: $(INFO_DEPS)
+       @$(NORMAL_INSTALL)
+       test -z "$(infodir)" || $(MKDIR_P) "$(DESTDIR)$(infodir)"
+       @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+       list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
+       for file in $$list; do \
+         case $$file in \
+           $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+         esac; \
+         if test -f $$file; then d=.; else d=$(srcdir); fi; \
+         file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \
+         for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \
+                      $$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \
+           if test -f $$ifile; then \
+             echo "$$ifile"; \
+           else : ; fi; \
+         done; \
+       done | $(am__base_list) | \
+       while read files; do \
+         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(infodir)'"; \
+         $(INSTALL_DATA) $$files "$(DESTDIR)$(infodir)" || exit $$?; done
+       @$(POST_INSTALL)
+       @if (install-info --version && \
+            install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
+         list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
+         for file in $$list; do \
+           relfile=`echo "$$file" | sed 's|^.*/||'`; \
+           echo " install-info --info-dir='$(DESTDIR)$(infodir)' '$(DESTDIR)$(infodir)/$$relfile'";\
+           install-info --info-dir="$(DESTDIR)$(infodir)" "$(DESTDIR)$(infodir)/$$relfile" || :;\
+         done; \
+       else : ; fi
+install-man: install-man1 install-man8
+
+install-pdf: install-pdf-am
+
+install-pdf-am: $(PDFS)
+       @$(NORMAL_INSTALL)
+       test -z "$(pdfdir)" || $(MKDIR_P) "$(DESTDIR)$(pdfdir)"
+       @list='$(PDFS)'; test -n "$(pdfdir)" || 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)$(pdfdir)'"; \
+         $(INSTALL_DATA) $$files "$(DESTDIR)$(pdfdir)" || exit $$?; done
+install-ps: install-ps-am
+
+install-ps-am: $(PSS)
+       @$(NORMAL_INSTALL)
+       test -z "$(psdir)" || $(MKDIR_P) "$(DESTDIR)$(psdir)"
+       @list='$(PSS)'; test -n "$(psdir)" || 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)$(psdir)'"; \
+         $(INSTALL_DATA) $$files "$(DESTDIR)$(psdir)" || exit $$?; done
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+       -rm -rf ./$(DEPDIR)
+       -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-aminfo \
+       maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-aminfo mostlyclean-compile \
+       mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am: $(PDFS)
+
+ps: ps-am
+
+ps-am: $(PSS)
+
+uninstall-am: uninstall-binPROGRAMS uninstall-dvi-am uninstall-html-am \
+       uninstall-info-am uninstall-man uninstall-pdf-am \
+       uninstall-ps-am uninstall-sbinPROGRAMS \
+       uninstall-usrbin_execPROGRAMS uninstall-usrsbin_execPROGRAMS
+       @$(NORMAL_INSTALL)
+       $(MAKE) $(AM_MAKEFLAGS) uninstall-hook
+uninstall-man: uninstall-man1 uninstall-man8
+
+.MAKE: install-am install-exec-am install-strip uninstall-am
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-aminfo \
+       clean-binPROGRAMS clean-generic clean-libtool \
+       clean-sbinPROGRAMS clean-usrbin_execPROGRAMS \
+       clean-usrsbin_execPROGRAMS ctags dist-info distclean \
+       distclean-compile distclean-generic distclean-libtool \
+       distclean-tags distdir dvi dvi-am html html-am info info-am \
+       install install-am install-binPROGRAMS install-data \
+       install-data-am 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-man8 install-pdf install-pdf-am install-ps \
+       install-ps-am install-sbinPROGRAMS install-strip \
+       install-usrbin_execPROGRAMS install-usrsbin_execPROGRAMS \
+       installcheck installcheck-am installdirs maintainer-clean \
+       maintainer-clean-aminfo maintainer-clean-generic mostlyclean \
+       mostlyclean-aminfo mostlyclean-compile mostlyclean-generic \
+       mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
+       uninstall-am uninstall-binPROGRAMS uninstall-dvi-am \
+       uninstall-hook uninstall-html-am uninstall-info-am \
+       uninstall-man uninstall-man1 uninstall-man8 uninstall-pdf-am \
+       uninstall-ps-am uninstall-sbinPROGRAMS \
+       uninstall-usrbin_execPROGRAMS uninstall-usrsbin_execPROGRAMS
+
+
+$(ul_libblkid_la):
+       $(MAKE) -C $(ul_libblkid_builddir)
+
+$(ul_libuuid_la):
+       $(MAKE) -C $(ul_libuuid_builddir)
+
+$(RDEV_MAN_LINKS): rdev.8
+       echo ".so man8/rdev.8" > $@
+
+$(SETARCH_MAN_LINKS): setarch.8
+       echo ".so man8/setarch.8" > $@
+
+install-exec-hook:
+       for I in $(RDEV_LINKS); do \
+               cd $(DESTDIR)$(usrsbin_execdir) && ln -sf rdev $$I ; \
+       done
+       for I in $(SETARCH_LINKS); do \
+               cd $(DESTDIR)$(usrbin_execdir) && ln -sf setarch $$I ; \
+       done
+
+uninstall-hook:
+       for I in $(RDEV_LINKS); do \
+               rm -f $(DESTDIR)$(usrbin_execdir)/$$I ; \
+       done
+       for I in $(SETARCH_LINKS); do \
+               rm -f $(DESTDIR)$(usrbin_execdir)/$$I ; \
+       done
+
+# 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/sys-utils/arch.1 b/sys-utils/arch.1
new file mode 100644 (file)
index 0000000..344f560
--- /dev/null
@@ -0,0 +1,40 @@
+.\" arch.1 -- 
+.\" Copyright 1993 Rickard E. Faith (faith@cs.unc.edu)
+.\" Public domain: may be freely distributed.
+.TH ARCH 1 "4 July 1997" "Linux 2.0" "Linux Programmer's Manual"
+.SH NAME
+arch \- print machine architecture
+.SH SYNOPSIS
+.B arch
+.SH DESCRIPTION
+.B arch
+is deprecated command since release util-linux 2.13. Use
+.BR "uname -m"
+or use
+.BR arch
+from the 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-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
+.\"
+.\" 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 (file)
index 0000000..33dff30
--- /dev/null
@@ -0,0 +1,35 @@
+/* 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.,
+ * 675 Mass Ave, Cambridge, MA 02139, USA.  */
+
+#include <stdio.h>
+#include <sys/utsname.h>
+
+int main (void)
+{
+  struct utsname utsbuf;
+
+  if (uname( &utsbuf )) {
+     perror( "arch" );
+     return 1;
+  }
+
+  printf( "%s\n", utsbuf.machine );
+
+  return 0;
+}
diff --git a/sys-utils/ctrlaltdel.8 b/sys-utils/ctrlaltdel.8
new file mode 100644 (file)
index 0000000..aa21833
--- /dev/null
@@ -0,0 +1,41 @@
+.\" Copyright 1992, 1993 Rickard E. Faith (faith@cs.unc.edu)
+.\" May be distributed under the GNU General Public License
+.TH CTRLALTDEL 8 "25 October 1993" "Linux 1.2" "Linux Programmer's Manual"
+.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.
+
+.B ctrlaltdel
+is usually used in the
+.I /etc/rc.local
+file.
+.SH FILES
+.I /etc/rc.local
+.SH "SEE ALSO"
+.BR simpleinit (8),
+.BR init (8)
+.SH AUTHOR
+Peter Orbaek (poe@daimi.aau.dk)
+.SH AVAILABILITY
+The ctrlaltdel command is part of the util-linux-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/sys-utils/ctrlaltdel.c b/sys-utils/ctrlaltdel.c
new file mode 100644 (file)
index 0000000..beabc60
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+ * ctrlaltdel.c - Set the function of the Ctrl-Alt-Del combination
+ * Created 4-Jul-92 by Peter Orbaek <poe@daimi.aau.dk>
+ * ftp://ftp.daimi.aau.dk/pub/linux/poe/
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+ * - added Native Language Support
+ *
+ */
+
+#include <stdio.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <string.h>
+#include "linux_reboot.h"
+#include "nls.h"
+
+int
+main(int argc, char *argv[]) {
+
+       setlocale(LC_ALL, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+       
+
+       if(geteuid()) {
+               fprintf(stderr,
+                   _("You must be root to set the Ctrl-Alt-Del behaviour.\n"));
+               exit(1);
+       }
+
+       if(argc == 2 && !strcmp("hard", argv[1])) {
+               if(my_reboot(LINUX_REBOOT_CMD_CAD_ON) < 0) {
+                       perror("ctrlaltdel: reboot");
+                       exit(1);
+               }
+       } else if(argc == 2 && !strcmp("soft", argv[1])) {
+               if(my_reboot(LINUX_REBOOT_CMD_CAD_OFF) < 0) {
+                       perror("ctrlaltdel: reboot");
+                       exit(1);
+               }
+       } else {
+               fprintf(stderr, _("Usage: ctrlaltdel hard|soft\n"));
+               exit(1);
+       }
+       exit(0);
+}
+
+
diff --git a/sys-utils/cyclades.h b/sys-utils/cyclades.h
new file mode 100644 (file)
index 0000000..afcf600
--- /dev/null
@@ -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 (file)
index 0000000..379dffa
--- /dev/null
@@ -0,0 +1,203 @@
+.\" 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 " 4 Mar 1995" "" "Linux Programmer's Manual"
+.SH NAME
+cytune \- Tune driver parameters for Cyclades-Z multiport serial card
+.SH SYNOPSIS
+.B cytune
+.RB [ \-q
+.RB [ \-i
+.IR interval ]]
+.RB [{ \-s | \-S }
+.IR value ]
+.RB [ \-g | \-G ]
+.RB [{ \-t | \-T }
+.IR timeout ]
+.IR 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
+.BI \-s " value"
+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
+.BI \-t " value"
+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
+.B \-g
+Get the current threshold and timeout.
+.TP
+.BI \-S " value"
+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
+.BI \-T " value"
+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
+.B \-G
+Get the default threshold and flush timeout values.
+.TP
+.B \-q
+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
+.BI \-i " interval"
+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-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/sys-utils/cytune.c b/sys-utils/cytune.c
new file mode 100644 (file)
index 0000000..10a874d
--- /dev/null
@@ -0,0 +1,444 @@
+/* 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 <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 "cyclades.h"
+
+#if 0
+#ifndef XMIT
+# include <linux/version.h>
+# if LINUX_VERSION_CODE > 66056
+#  define XMIT
+# endif
+#endif
+#endif
+
+#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;
+
+#define mvtime(tvpto, tvpfrom)  (((tvpto)->tv_sec = (tvpfrom)->tv_sec),(tvpto)->tv_usec = (tvpfrom)->tv_usec)
+
+
+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 int global_argc, global_optind;
+static char ***global_argv;
+
+static void
+summary(int sig) {
+  struct cyclades_control *cc;
+
+  int argc, local_optind;
+  char **argv;
+
+  int i,j;
+
+  argc = global_argc;
+  argv = *global_argv;
+  local_optind = global_optind;
+
+  if (sig > 0) {
+    for(i = local_optind; i < argc; i ++) {
+      j = i - local_optind;
+      cc = &cmon[cmon_index];
+      fprintf(stderr, _("File %s, For threshold value %lu, Maximum characters in fifo were %d,\nand the maximum transfer rate in characters/second was %f\n"), 
+             argv[i],
+             cc->threshold_value,
+             cc->maxmax,
+             cc->maxtran);
+    }
+    
+    exit(0);
+  }
+  cc = &cmon[cmon_index];
+  if (cc->threshold_value > 0 && sig != -1) {
+    fprintf(stderr, _("File %s, For threshold value %lu and timrout value %lu, Maximum characters in fifo were %d,\nand the maximum transfer rate in characters/second was %f\n"),
+           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 int query   = 0;
+static int interval = 1;
+
+static int set     = 0;
+static int set_val = -1;
+static int get     = 0;
+
+static int set_def     = 0;
+static int set_def_val = -1;
+static int get_def     = 0;
+
+static int set_time = 0;
+static int set_time_val = -1;
+
+static int set_def_time = 0;
+static int set_def_time_val = -1;
+
+
+int main(int argc, char *argv[]) {
+
+  struct timeval lasttime, thistime;
+  struct timezone tz = {0,0};
+  double diff;
+  int errflg = 0;
+  int file;
+  int numfiles;
+  struct cyclades_monitor cywork;
+  
+  int i;
+  unsigned long threshold_value;
+  unsigned long timeout_value;
+  double xfer_rate;
+#ifdef XMIT
+  double xmit_rate;
+#endif
+  
+  global_argc = argc;          /* For signal routine. */
+  global_argv = &argv;         /* For signal routine. */
+
+  setlocale(LC_ALL, "");
+  bindtextdomain(PACKAGE, LOCALEDIR);
+  textdomain(PACKAGE);
+
+  while ((i = getopt(argc, argv, "qs:S:t:T:gGi:")) != -1) {
+    switch (i) {
+    case 'q':
+      query = 1;
+      break;
+    case 'i':
+      interval = atoi(optarg);
+      if(interval <= 0) {
+       fprintf(stderr, _("Invalid interval value: %s\n"),optarg);
+       errflg ++;
+      }
+      break;
+    case 's':
+      ++set;
+      set_val = atoi(optarg);
+      if(set_val <= 0 || set_val > 12) {
+       fprintf(stderr, _("Invalid set value: %s\n"),optarg);
+       errflg ++;
+      }
+      break;
+    case 'S':
+       ++set_def;
+      set_def_val = atoi(optarg);
+      if(set_def_val < 0 || set_def_val > 12) {
+       fprintf(stderr, _("Invalid default value: %s\n"),optarg);
+       errflg ++;
+      }
+      break;
+    case 't':
+      ++set_time;
+      set_time_val = atoi(optarg);
+      if(set_time_val <= 0 || set_time_val > 255) {
+       fprintf(stderr, _("Invalid set time value: %s\n"),optarg);
+       errflg ++;
+      }
+      break;
+    case 'T':
+       ++set_def_time;
+      set_def_time_val = atoi(optarg);
+      if(set_def_time_val < 0 || set_def_time_val > 255) {
+       fprintf(stderr, _("Invalid default time value: %s\n"),optarg);
+       errflg ++;
+      }
+      break;
+    case 'g': ++get;     break;
+    case 'G': ++get_def; break;
+    default:
+      errflg ++;
+    }
+  }
+  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)) {
+    fprintf(stderr, 
+           _("Usage: %s [-q [-i interval]] ([-s value]|[-S value]) ([-t value]|[-T value]) [-g|-G] file [file...]\n"),
+           argv[0]);
+    exit(1);
+  }
+
+  global_optind = optind;      /* For signal routine. */
+
+  if (set || set_def) {
+    for(i = optind; i < argc; i++) {
+      file = open(argv[i],O_RDONLY);
+      if(file == -1) {
+        int errsv = errno;
+       fprintf(stderr, _("Can't open %s: %s\n"),argv[i],strerror(errsv));
+       exit(1);
+      }
+      if(ioctl(file,
+              set ? CYSETTHRESH : CYSETDEFTHRESH,
+              set ? set_val : set_def_val)) {
+       int errsv = errno;
+       fprintf(stderr, _("Can't set %s to threshold %d: %s\n"),
+               argv[i],set?set_val:set_def_val,strerror(errsv));
+       exit(1);
+      }
+      close(file);
+    }
+  }
+  if (set_time || set_def_time) {
+    for(i = optind; i < argc; i++) {
+      file = open(argv[i],O_RDONLY);
+      if(file == -1) {
+        int errsv = errno;
+       fprintf(stderr, _("Can't open %s: %s\n"),argv[i],strerror(errsv));
+       exit(1);
+      }
+      if(ioctl(file,
+              set_time ? CYSETTIMEOUT : CYSETDEFTIMEOUT,
+              set_time ? set_time_val : set_def_time_val)) {
+       int errsv = errno;
+       fprintf(stderr, _("Can't set %s to time threshold %d: %s\n"),
+               argv[i],set_time?set_time_val:set_def_time_val,strerror(errsv));
+       exit(1);
+      }
+      close(file);
+    }
+  }
+
+  if (get || get_def) {
+    for(i = optind; i < argc; i++) {
+      file = open(argv[i],O_RDONLY);
+      if(file == -1) {
+        int errsv = errno;
+       fprintf(stderr, _("Can't open %s: %s\n"),argv[i],strerror(errsv));
+       exit(1);
+      }
+      if(ioctl(file, get ? CYGETTHRESH : CYGETDEFTHRESH, &threshold_value)) {
+        int errsv = errno;
+       fprintf(stderr, _("Can't get threshold for %s: %s\n"),
+               argv[i],strerror(errsv));
+       exit(1);
+      }
+      if(ioctl(file, get ? CYGETTIMEOUT : CYGETDEFTIMEOUT, &timeout_value)) {
+       int errsv = errno;
+       fprintf(stderr, _("Can't get timeout for %s: %s\n"),
+               argv[i],strerror(errsv));
+       exit(1);
+      }
+      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 0;         /* must have been something earlier */
+
+  /* query stuff after this line */
+  
+  cmon = (struct cyclades_control *) malloc(sizeof (struct cyclades_control)
+                                           * numfiles);
+  if(!cmon) {
+    perror(_("malloc failed"));
+    exit(1);
+  }
+  if(signal(SIGINT, summary)||
+     signal(SIGQUIT, summary)||
+     signal(SIGTERM, summary)) {
+    perror(_("Can't set signal handler"));
+    exit(1);
+  }
+  if(gettimeofday(&lasttime,&tz)) {
+    perror(_("gettimeofday failed"));
+    exit(1);
+  }
+  for(i = optind; i < argc; i ++) {
+    cmon_index = i - optind;
+    cmon[cmon_index].cfile = open(argv[i], O_RDONLY);
+    if(-1 == cmon[cmon_index].cfile) {
+      int errsv = errno;
+      fprintf(stderr, _("Can't open %s: %s\n"),argv[i],strerror(errsv));
+      exit(1);
+    }
+    if(ioctl(cmon[cmon_index].cfile, CYGETMON, &cmon[cmon_index].c)) {
+      int errsv = errno;
+      fprintf(stderr, _("Can't issue CYGETMON on %s: %s\n"),
+             argv[i],strerror(errsv));
+      exit(1);
+    }
+    summary(-1);
+    if(ioctl(cmon[cmon_index].cfile, CYGETTHRESH, &threshold_value)) {
+      int errsv = errno;
+      fprintf(stderr, _("Can't get threshold for %s: %s\n"),
+             argv[i],strerror(errsv));
+      exit(1);
+    }
+    if(ioctl(cmon[cmon_index].cfile, CYGETTIMEOUT, &timeout_value)) {
+      int errsv = errno;
+      fprintf(stderr, _("Can't get timeout for %s: %s\n"),
+             argv[i],strerror(errsv));
+      exit(1);
+    }
+  }
+  while(1) {
+    sleep(interval);
+    
+    if(gettimeofday(&thistime,&tz)) {
+      perror(_("gettimeofday failed"));
+      exit(1);
+    }
+    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)) {
+        int errsv = errno;
+       fprintf(stderr, _("Can't issue CYGETMON on %s: %s\n"),
+               argv[i],strerror(errsv));
+       exit(1);
+      }
+      if(ioctl(cmon[cmon_index].cfile, CYGETTHRESH, &threshold_value)) {
+        int errsv = errno;
+       fprintf(stderr, _("Can't get threshold for %s: %s\n"),
+               argv[i],strerror(errsv));
+       exit(1);
+      }
+      if(ioctl(cmon[cmon_index].cfile, CYGETTIMEOUT, &timeout_value)) {
+        int errsv = errno;
+       fprintf(stderr, _("Can't get timeout for %s: %s\n"),
+               argv[i],strerror(errsv));
+       exit(1);
+      }
+
+      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(cywork.char_max > 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));
+    }
+  }
+
+  return 0;
+}
diff --git a/sys-utils/dmesg.1 b/sys-utils/dmesg.1
new file mode 100644 (file)
index 0000000..0cbc326
--- /dev/null
@@ -0,0 +1,70 @@
+.\" Copyright 1993 Rickard E. Faith (faith@cs.unc.edu)
+.\" May be distributed under the GNU General Public License
+.TH DMESG 1
+.SH NAME
+dmesg \- print or control the kernel ring buffer
+.SH SYNOPSIS
+.B dmesg
+.RB [ \-c ]
+.RB [ \-r ]
+.RB [ \-n
+.IR level ]
+.RB [ \-s
+.IR bufsize ]
+.SH DESCRIPTION
+.B dmesg
+is used to examine or control the kernel ring buffer.
+
+The program helps users to print out their bootup messages.  Instead of
+copying the messages by hand, the user need only:
+.RS
+dmesg > boot.messages
+.RE
+and mail the
+.I boot.messages
+file to whoever can debug their problem.
+.SH OPTIONS
+.TP
+.B \-c
+Clear the ring buffer contents after printing.
+.TP
+.B \-r
+Print the raw message buffer, i.e., don't strip the log level prefixes.
+.TP
+.BI \-s " bufsize"
+Use a buffer of size
+.I bufsize
+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.
+.TP
+.BI \-n " level"
+Set the
+.I level
+at which logging of messages is done to the console.  For example,
+.B \-n 1
+prevents all messages, expect 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.
+
+When both options are used, only the last option on the command line will
+have an effect.
+.SH SEE ALSO
+.BR syslogd (8)
+.\" .SH AUTHOR
+.\" Theodore Ts'o (tytso@athena.mit.edu)
+.SH AVAILABILITY
+The dmesg command is part of the util-linux-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/sys-utils/dmesg.c b/sys-utils/dmesg.c
new file mode 100644 (file)
index 0000000..fd184aa
--- /dev/null
@@ -0,0 +1,151 @@
+/* dmesg.c -- Print out the contents of the kernel ring buffer
+ * Created: Sat Oct  9 16:19:47 1993
+ * Revised: Thu Oct 28 21:52:17 1993 by faith@cs.unc.edu
+ * Copyright 1993 Theodore Ts'o (tytso@athena.mit.edu)
+ * This program comes with ABSOLUTELY NO WARRANTY.
+ * Modifications by Rick Sladkey (jrs@world.std.com)
+ * Larger buffersize 3 June 1998 by Nicolai Langfeldt, based on a patch
+ * by Peeter Joot.  This was also suggested by John Hudson.
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+ * - added Native Language Support
+ *
+ */
+
+/*
+ * Commands to sys_syslog:
+ *
+ *      0 -- Close the log.  Currently a NOP.
+ *      1 -- Open the log. Currently a NOP.
+ *      2 -- Read from the log.
+ *      3 -- Read all messages remaining in the ring buffer.
+ *      4 -- Read and clear all messages remaining in the ring buffer
+ *      5 -- Clear ring buffer.
+ *      6 -- Disable printk's to console
+ *      7 -- Enable printk's to console
+ *      8 -- Set level of messages printed to console
+ *      9 -- Return number of unread characters in the log buffer
+ *           [supported since 2.4.10]
+ *
+ * Only function 3 is allowed to non-root processes.
+ */
+
+#include <linux/unistd.h>
+#include <stdio.h>
+#include <getopt.h>
+#include <stdlib.h>
+# include <sys/klog.h>
+
+#include "nls.h"
+
+static char *progname;
+
+static void
+usage(void) {
+       fprintf(stderr,
+               _("Usage: %s [-c] [-n level] [-r] [-s bufsize]\n"), progname);
+}
+
+int
+main(int argc, char *argv[]) {
+       char *buf;
+       int  sz;
+       int  bufsize = 0;
+       int  i;
+       int  n;
+       int  c;
+       int  level = 0;
+       int  lastc;
+       int  cmd = 3;           /* Read all messages in the ring buffer */
+       int  raw = 0;
+
+       setlocale(LC_ALL, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+
+       progname = argv[0];
+       while ((c = getopt(argc, argv, "crn:s:")) != -1) {
+               switch (c) {
+               case 'c':
+                       cmd = 4;        /* Read and clear all messages */
+                       break;
+               case 'n':
+                       cmd = 8;        /* Set level of messages */
+                       level = atoi(optarg);
+                       break;
+               case 'r':
+                       raw = 1;
+                       break;
+               case 's':
+                       bufsize = atoi(optarg);
+                       if (bufsize < 4096)
+                               bufsize = 4096;
+                       break;
+               case '?':
+               default:
+                       usage();
+                       exit(1);
+               }
+       }
+       argc -= optind;
+       argv += optind;
+
+       if (argc > 1) {
+               usage();
+               exit(1);
+       }
+
+       if (cmd == 8) {
+               n = klogctl(cmd, NULL, level);
+               if (n < 0) {
+                       perror("klogctl");
+                       exit(1);
+               }
+               exit(0);
+       }
+
+       if (!bufsize) {
+               n = klogctl(10, NULL, 0);       /* read ringbuffer size */
+               if (n > 0)
+                       bufsize = n;
+       }
+
+       if (bufsize) {
+               sz = bufsize + 8;
+               buf = (char *) malloc(sz);
+               n = klogctl(cmd, buf, sz);
+       } else {
+               sz = 16392;
+               while (1) {
+                       buf = (char *) malloc(sz);
+                       n = klogctl(3, buf, sz);        /* read only */
+                       if (n != sz || sz > (1<<28))
+                               break;
+                       free(buf);
+                       sz *= 4;
+               }
+
+               if (n > 0 && cmd == 4)
+                       n = klogctl(cmd, buf, sz);      /* read and clear */
+       }
+
+       if (n < 0) {
+               perror("klogctl");
+               exit(1);
+       }
+
+       lastc = '\n';
+       for (i = 0; i < n; i++) {
+               if (!raw && (i == 0 || buf[i - 1] == '\n') && buf[i] == '<') {
+                       i++;
+                       while (buf[i] >= '0' && buf[i] <= '9')
+                               i++;
+                       if (buf[i] == '>')
+                               i++;
+               }
+               lastc = buf[i];
+               putchar(lastc);
+       }
+       if (lastc != '\n')
+               putchar('\n');
+       return 0;
+}
diff --git a/sys-utils/flock.1 b/sys-utils/flock.1
new file mode 100644 (file)
index 0000000..6d60ff7
--- /dev/null
@@ -0,0 +1,113 @@
+.\" -----------------------------------------------------------------------
+.\"   
+.\"   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" "4 Feb 2006" "flock utility" "H. Peter Anvin"
+.SH NAME
+flock \- Manage locks from shell scripts
+.SH SYNOPSIS
+\fBflock\fP [\fB\-sxon\fP] [\fB\-w\fP \fItimeout\fP] \fIlockfile\fP [\fB\-c\fP] \fIcommand...\fP
+.PP
+\fBflock\fP [\fB\-sxon\fP] [\fB\-w\fP \fItimeout\fP] \fIlockdir\fP [\fB\-c\fP] \fIcommand...\fP
+.PP
+\fBflock\fP [\fB\-sxun\fP] [\fB\-w\fP \fItimeout\fP] \fIfd\fP
+.SH DESCRIPTION
+.PP
+This utility manages
+.BR flock (2)
+locks from within shell scripts or the command line.
+.PP
+The first and second forms wraps 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.
+.PP
+The third form is convenient inside shell scripts, and is usually
+used the following manner:
+.PP
+\fC(
+.br
+  flock -s 200
+.br
+  # ... commands executed under lock ...
+.br
+) 200>/var/lock/mylockfile\fP
+.PP
+The mode used to open the file doesn't matter to \fBflock\fP; using
+\fC>\fP or \fP>>\fP allows the lockfile to be created if it does not
+already exist, however, write permission is required; using \fC<\fP
+requires that the file already exists but only read permission is
+required.
+.PP
+By default, if the lock cannot be immediately acquired, \fBflock\fP
+waits until the lock is available.
+.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 (with an exit code of 1) rather than wait if the lock cannot be
+immediately acquired.
+.TP
+\fB\-w\fP, \fB\-\-wait\fP, \fB\-\-timeout\fP \fIseconds\fP
+Fail (with an exit code of 1) if the lock cannot be acquired within
+\fIseconds\fP seconds.  Decimal fractional values are allowed.
+.TP
+\fB\-o\fP, \fB\-\-close\fP
+Close the file descriptor on which the lock is held before executing
+\fIcommand\fP.  This is useful if \fIcommand\fP spawns a child process
+which should not be hold ing the lock.
+.TP
+\fB\-c\fP, \fB\-\-command\fP \fIcommand\fP
+Pass a single \fIcommand\fP to the shell with \fB\-c\fP.
+.TP
+\fB\-h\fP, \fB\-\-help\fP
+Print a help message.
+.SH AUTHOR
+Written by H. Peter Anvin <hpa@zytor.com>.
+.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-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/sys-utils/flock.c b/sys-utils/flock.c
new file mode 100644 (file)
index 0000000..a53f6d3
--- /dev/null
@@ -0,0 +1,320 @@
+/* ----------------------------------------------------------------------- *
+ *
+ *   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 <errno.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <getopt.h>
+#include <signal.h>
+#include <ctype.h>
+#include <string.h>
+#include <paths.h>
+#include <sysexits.h>
+#include <sys/types.h>
+#include <sys/file.h>
+#include <sys/time.h>
+#include <sys/wait.h>
+
+#include "nls.h"
+
+static const struct option long_options[] = {
+  { "shared",       0, NULL, 's' },
+  { "exclusive",    0, NULL, 'x' },
+  { "unlock",       0, NULL, 'u' },
+  { "nonblocking",  0, NULL, 'n' },
+  { "nb",           0, NULL, 'n' },
+  { "timeout",      1, NULL, 'w' },
+  { "wait",         1, NULL, 'w' },
+  { "close",        0, NULL, 'o' },
+  { "help",         0, NULL, 'h' },
+  { "version",      0, NULL, 'V' },
+  { 0, 0, 0, 0 }
+};
+
+const char *program;
+
+static void usage(int ex)
+{
+  fputs("flock (" PACKAGE_STRING ")\n", stderr);
+  fprintf(stderr,
+       _("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"),
+         program);
+  exit(ex);
+}
+
+
+static sig_atomic_t timeout_expired = 0;
+
+static void timeout_handler(int sig)
+{
+  (void)sig;
+
+  timeout_expired = 1;
+}
+
+
+static char * strtotimeval(const char *str, struct timeval *tv)
+{
+  char *s;
+  long fs;                     /* Fractional seconds */
+  int i;
+
+  tv->tv_sec = strtol(str, &s, 10);
+  fs = 0;
+
+  if ( *s == '.' ) {
+    s++;
+
+    for ( i = 0 ; i < 6 ; i++ ) {
+      if ( !isdigit(*s) )
+       break;
+
+      fs *= 10;
+      fs += *s++ - '0';
+    }
+
+    for ( ; i < 6; i++ )
+      fs *= 10;
+
+    while ( isdigit(*s) )
+      s++;
+  }
+
+  tv->tv_usec = fs;
+  return s;
+}
+
+int main(int argc, char *argv[])
+{
+  struct itimerval timeout, old_timer;
+  int have_timeout = 0;
+  int type = LOCK_EX;
+  int block = 0;
+  int fd = -1;
+  int opt, ix;
+  int do_close = 0;
+  int err;
+  int status;
+  char *eon;
+  char **cmd_argv = NULL, *sh_c_argv[4];
+  const char *filename = NULL;
+  struct sigaction sa, old_sa;
+
+  setlocale(LC_ALL, "");
+  bindtextdomain(PACKAGE, LOCALEDIR);
+  textdomain(PACKAGE);
+
+  program = argv[0];
+
+  if ( argc < 2 )
+    usage(EX_USAGE);
+
+  memset(&timeout, 0, sizeof timeout);
+
+  optopt = 0;
+  while ( (opt = getopt_long(argc, argv, "+sexnouw: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;
+      eon = strtotimeval(optarg, &timeout.it_value);
+      if ( *eon )
+       usage(EX_USAGE);
+      break;
+    case 'V':
+      printf("flock (%s)\n", PACKAGE_STRING);
+      exit(0);
+    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 ) {
+       fprintf(stderr, _("%s: %s requires exactly one command argument\n"),
+               program, argv[optind+1]);
+       exit(EX_USAGE);
+      }
+
+      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(filename, O_RDONLY|O_NOCTTY|O_CREAT, 0666);
+    /* Linux doesn't like O_CREAT on a directory, even though it should be a
+       no-op */
+    if (fd < 0 && errno == EISDIR)
+        fd = open(filename, O_RDONLY|O_NOCTTY);
+
+    if ( fd < 0 ) {
+      err = errno;
+      fprintf(stderr, _("%s: cannot open lock file %s: %s\n"),
+             program, argv[optind], strerror(err));
+      exit((err == ENOMEM||err == EMFILE||err == ENFILE) ? EX_OSERR :
+          (err == EROFS||err == ENOSPC) ? EX_CANTCREAT :
+          EX_NOINPUT);
+    }
+
+  } else if (optind < argc) {
+    /* Use provided file descriptor */
+
+    fd = (int)strtol(argv[optind], &eon, 10);
+    if ( *eon || !argv[optind] ) {
+      fprintf(stderr, _("%s: bad number: %s\n"), program, argv[optind]);
+      exit(EX_USAGE);
+    }
+
+  } else {
+    /* Bad options */
+
+    fprintf(stderr, _("%s: requires file descriptor, file or directory\n"),
+               program);
+    exit(EX_USAGE);
+  }
+
+
+  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 {
+      memset(&sa, 0, sizeof sa);
+
+      sa.sa_handler = timeout_handler;
+      sa.sa_flags   = SA_ONESHOT;
+      sigaction(SIGALRM, &sa, &old_sa);
+
+      setitimer(ITIMER_REAL, &timeout, &old_timer);
+    }
+  }
+
+  while ( flock(fd, type|block) ) {
+    switch( (err = errno) ) {
+    case EWOULDBLOCK:          /* -n option set and failed to lock */
+      exit(1);
+    case EINTR:                        /* Signal received */
+      if ( timeout_expired )
+       exit(1);                /* -w option set and failed to lock */
+      continue;                        /* otherwise try again */
+    default:                   /* Other errors */
+      if ( filename )
+       fprintf(stderr, "%s: %s: %s\n", program, filename, strerror(err));
+      else
+       fprintf(stderr, "%s: %d: %s\n", program, fd, strerror(err));
+      exit((err == ENOLCK||err == ENOMEM) ? EX_OSERR : EX_DATAERR);
+    }
+  }
+
+  if ( have_timeout ) {
+    setitimer(ITIMER_REAL, &old_timer, NULL); /* Cancel itimer */
+    sigaction(SIGALRM, &old_sa, NULL); /* Cancel signal handler */
+  }
+
+  status = 0;
+
+  if ( cmd_argv ) {
+    pid_t w, f;
+
+    f = fork();
+
+    if ( f < 0 ) {
+      err = errno;
+      fprintf(stderr, _("%s: fork failed: %s\n"), program, strerror(err));
+      exit(EX_OSERR);
+    } else if ( f == 0 ) {
+      if ( do_close )
+       close(fd);
+      err = errno;
+      execvp(cmd_argv[0], cmd_argv);
+      /* execvp() failed */
+      fprintf(stderr, "%s: %s: %s\n", program, cmd_argv[0], strerror(err));
+      _exit((err == ENOMEM) ? EX_OSERR: EX_UNAVAILABLE);
+    } else {
+      do {
+       w = waitpid(f, &status, 0);
+      } while ( w != f );
+
+      if ( WIFEXITED(status) )
+       status = WEXITSTATUS(status);
+      else if ( WIFSIGNALED(status) )
+       status = WTERMSIG(status) + 128;
+      else
+       status = EX_OSERR;      /* WTF? */
+    }
+  }
+
+  return status;
+}
+
diff --git a/sys-utils/ipc.info b/sys-utils/ipc.info
new file mode 100644 (file)
index 0000000..a1fe498
--- /dev/null
@@ -0,0 +1,1107 @@
+This is ipc.info, produced by makeinfo version 4.7 from ipc.texi.
+
+   This file documents the System V style inter process communication
+primitives available under linux.
+
+   Copyright (C) 1992  krishna balasubramanian
+
+   Permission is granted to use this material and the accompanying
+programs within the terms of the GNU GPL.
+
+INFO-DIR-SECTION Miscellaneous
+START-INFO-DIR-ENTRY
+* ipc: (ipc).           System V style inter process communication
+END-INFO-DIR-ENTRY
+
+\1f
+File: ipc.info,  Node: Top,  Next: Overview,  Prev: Notes,  Up: (dir)
+
+1 System V IPC.
+***************
+
+These facilities are provided to maintain compatibility with programs
+developed on system V unix systems and others that rely on these system
+V mechanisms to accomplish inter process communication (IPC).
+
+   The specifics described here are applicable to the Linux
+implementation.  Other implementations may do things slightly
+differently.
+
+* Menu:
+
+* Overview::           What is system V ipc? Overall mechanisms.
+* Messages::           System calls for message passing.
+* Semaphores::                 System calls for semaphores.
+* Shared Memory::      System calls for shared memory access.
+* Notes::              Miscellaneous notes.
+
+\1f
+File: ipc.info,  Node: Overview,  Next: example,  Prev: Top,  Up: Top
+
+1.1 Overview
+============
+
+System V IPC consists of three mechanisms:
+
+   * Messages : exchange messages with any process or server.
+
+   * Semaphores : allow unrelated processes to synchronize execution.
+
+   * Shared memory : allow unrelated processes to share memory.
+
+* Menu:
+
+* example::    Using shared memory.
+* perms::      Description of access permissions.
+* syscalls::    Overview of ipc system calls.
+
+   Access to all resources is permitted on the basis of permissions set
+up when the resource was created.
+
+   A resource here consists of message queue, a semaphore set (array)
+or a shared memory segment.
+
+   A resource must first be allocated by a creator before it is used.
+The creator can assign a different owner. After use the resource must
+be explicitly destroyed by the creator or owner.
+
+   A resource is identified by a numeric ID. Typically a creator
+defines a KEY that may be used to access the resource. The user process
+may then use this KEY in the "get" system call to obtain the ID for the
+corresponding resource. This ID is then used for all further access. A
+library call "ftok" is provided to translate pathnames or strings to
+numeric keys.
+
+   There are system and implementation defined limits on the number and
+sizes of resources of any given type. Some of these are imposed by the
+implementation and others by the system administrator when configuring
+the kernel (*Note msglimits::, *Note semlimits::, *Note shmlimits::).
+
+   There is an `msqid_ds', `semid_ds' or `shmid_ds' struct associated
+with each message queue, semaphore array or shared segment.  Each ipc
+resource has an associated `ipc_perm' struct which defines the creator,
+owner, access perms ..etc.., for the resource.  These structures are
+detailed in the following sections.
+
+\1f
+File: ipc.info,  Node: example,  Next: perms,  Prev: Overview,  Up: Overview
+
+1.2 example
+===========
+
+Here is a code fragment with pointers on how to use shared memory. The
+same methods are applicable to other resources.
+
+   In a typical access sequence the creator allocates a new instance of
+the resource with the `get' system call using the IPC_CREAT flag.
+
+creator process:
+     #include <sys/shm.h>
+     int id;
+     key_t key;
+     char proc_id = 'C';
+     int size = 0x5000;        /* 20 K */
+     int flags = 0664 | IPC_CREAT;             /* read-only for others */
+
+     key = ftok ("~creator/ipckey", proc_id);
+     id = shmget (key, size, flags);
+     exit (0); /* quit leaving resource allocated */
+
+Users then gain access to the resource using the same key.
+Client process:
+     #include <sys/shm.h>
+     char *shmaddr;
+     int id;
+     key_t key;
+     char proc_id = 'C';
+
+     key = ftok ("~creator/ipckey", proc_id);
+
+     id = shmget (key, 0, 004);                /* default size   */
+     if (id == -1)
+           perror ("shmget ...");
+
+     shmaddr = shmat (id, 0, SHM_RDONLY); /* attach segment for reading */
+     if (shmaddr == (char *) -1)
+           perror ("shmat ...");
+
+     local_var = *(shmaddr + 3);       /* read segment etc. */
+
+     shmdt (shmaddr);          /* detach segment */
+
+When the resource is no longer needed the creator should remove it.
+Creator/owner process 2:
+     key = ftok ("~creator/ipckey", proc_id)
+     id = shmget (key, 0, 0);
+     shmctl (id, IPC_RMID, NULL);
+
+\1f
+File: ipc.info,  Node: perms,  Next: syscalls,  Prev: example,  Up: Overview
+
+1.3 Permissions
+===============
+
+Each resource has an associated `ipc_perm' struct which defines the
+creator, owner and access perms for the resource.
+
+     struct ipc_perm
+             key_t key;    /* set by creator */
+             ushort uid;   /* owner euid and egid */
+             ushort gid;
+             ushort cuid;  /* creator euid and egid */
+             ushort cgid;
+             ushort mode;  /* access modes in lower 9 bits */
+             ushort seq;   /* sequence number */
+
+   The creating process is the default owner. The owner can be
+reassigned by the creator and has creator perms. Only the owner,
+creator or super-user can delete the resource.
+
+   The lowest nine bits of the flags parameter supplied by the user to
+the system call are compared with the values stored in `ipc_perms.mode'
+to determine if the requested access is allowed. In the case that the
+system call creates the resource, these bits are initialized from the
+user supplied value.
+
+   As for files, access permissions are specified as read, write and
+exec for user, group or other (though the exec perms are unused). For
+example 0624 grants read-write to owner, write-only to group and
+read-only access to others.
+
+   For shared memory, note that read-write access for segments is
+determined by a separate flag which is not stored in the `mode' field.
+Shared memory segments attached with write access can be read.
+
+   The `cuid', `cgid', `key' and `seq' fields cannot be changed by the
+user.
+
+\1f
+File: ipc.info,  Node: syscalls,  Next: Messages,  Prev: perms,  Up: Overview
+
+1.4 IPC system calls
+====================
+
+This section provides an overview of the IPC system calls. See the
+specific sections on each type of resource for details.
+
+   Each type of mechanism provides a "get", "ctl" and one or more "op"
+system calls that allow the user to create or procure the resource
+(get), define its behaviour or destroy it (ctl) and manipulate the
+resources (op).
+
+1.4.1 The "get" system calls
+----------------------------
+
+The `get' call typically takes a KEY and returns a numeric ID that is
+used for further access.  The ID is an index into the resource table. A
+sequence number is maintained and incremented when a resource is
+destroyed so that access using an obsolete ID is likely to fail.
+
+   The user also specifies the permissions and other behaviour
+charecteristics for the current access. The flags are or-ed with the
+permissions when invoking system calls as in:
+     msgflg = IPC_CREAT | IPC_EXCL | 0666;
+     id = msgget (key, msgflg);
+
+   * `key' : IPC_PRIVATE => new instance of resource is initialized.
+
+   * `flags' :
+          IPC_CREAT : resource created for KEY if it does not exist.
+
+          IPC_CREAT | IPC_EXCL : fail if resource exists for KEY.
+
+   * returns : an identifier used for all further access to the
+     resource.
+
+   Note that IPC_PRIVATE is not a flag but a special `key' that ensures
+(when the call is successful) that a new resource is created.
+
+   Use of IPC_PRIVATE does not make the resource inaccessible to other
+users. For this you must set the access permissions appropriately.
+
+   There is currently no way for a process to ensure exclusive access
+to a resource. IPC_CREAT | IPC_EXCL only ensures (on success) that a new
+resource was initialized. It does not imply exclusive access.
+
+See Also : *Note msgget::, *Note semget::, *Note shmget::.
+
+1.4.2 The "ctl" system calls
+----------------------------
+
+Provides or alters the information stored in the structure that
+describes the resource indexed by ID.
+
+     #include <sys/msg.h>
+     struct msqid_ds buf;
+     err = msgctl (id, IPC_STAT, &buf);
+     if (err)
+             !$#%*
+     else
+             printf ("creator uid = %d\n", buf.msg_perm.cuid);
+             ....
+
+Commands supported by all `ctl' calls:
+   * IPC_STAT : read info on resource  specified by id into user
+     allocated buffer. The user must have read access to the resource.
+
+   * IPC_SET : write info from buffer into resource data structure. The
+     user must be owner creator or super-user.
+
+   * IPC_RMID : remove resource. The user must be the owner, creator or
+     super-user.
+
+   The IPC_RMID command results in immediate removal of a message queue
+or semaphore array. Shared memory segments however, are only destroyed
+upon the last detach after IPC_RMID is executed.
+
+   The `semctl' call provides a number of command options that allow
+the user to determine or set the values of the semaphores in an array.
+
+See Also: *Note msgctl::, *Note semctl::, *Note shmctl::.
+
+1.4.3 The "op" system calls
+---------------------------
+
+Used to send or receive messages, read or alter semaphore values,
+attach or detach shared memory segments.  The IPC_NOWAIT flag will
+cause the operation to fail with error EAGAIN if the process has to
+wait on the call.
+
+`flags' : IPC_NOWAIT  => return with error if a wait is required.
+
+See Also: *Note msgsnd::,*Note msgrcv::,*Note semop::,*Note shmat::,
+*Note shmdt::.
+
+\1f
+File: ipc.info,  Node: Messages,  Next: msgget,  Prev: syscalls,  Up: Top
+
+1.5 Messages
+============
+
+A message resource is described by a struct `msqid_ds' which is
+allocated and initialized when the resource is created. Some fields in
+`msqid_ds' can then be altered (if desired) by invoking `msgctl'.  The
+memory used by the resource is released when it is destroyed by a
+`msgctl' call.
+
+     struct msqid_ds
+         struct ipc_perm msg_perm;
+         struct msg *msg_first;  /* first message on queue (internal) */
+         struct msg *msg_last;   /* last message in queue (internal) */
+         time_t msg_stime;       /* last msgsnd time */
+         time_t msg_rtime;       /* last msgrcv time */
+         time_t msg_ctime;       /* last change time */
+         struct wait_queue *wwait; /* writers waiting (internal) */
+         struct wait_queue *rwait; /* readers waiting (internal) */
+         ushort msg_cbytes;      /* number of bytes used on queue */
+         ushort msg_qnum;        /* number of messages in queue */
+         ushort msg_qbytes;      /* max number of bytes on queue */
+         ushort msg_lspid;       /* pid of last msgsnd */
+         ushort msg_lrpid;       /* pid of last msgrcv */
+
+   To send or receive a message the user allocates a structure that
+looks like a `msgbuf' but with an array `mtext' of the required size.
+Messages have a type (positive integer) associated with them so that
+(for example) a listener can choose to receive only messages of a given
+type.
+
+     struct msgbuf
+         long mtype;      type of message (*Note msgrcv::).
+         char mtext[1];   message text .. why is this not a ptr?
+
+   The user must have write permissions to send and read permissions to
+receive messages on a queue.
+
+   When `msgsnd' is invoked, the user's message is copied into an
+internal struct `msg' and added to the queue. A `msgrcv' will then read
+this message and free the associated struct `msg'.
+
+* Menu:
+
+* msgget::
+* msgsnd::
+* msgrcv::
+* msgctl::
+* msglimits:: Implementation defined limits.
+
+\1f
+File: ipc.info,  Node: msgget,  Next: msgsnd,  Prev: Messages,  Up: Messages
+
+1.5.1 msgget
+------------
+
+A message queue is allocated by a msgget system call :
+
+     msqid = msgget (key_t key, int msgflg);
+
+   * `key': an integer usually got from `ftok()' or IPC_PRIVATE.
+
+   * `msgflg':
+          IPC_CREAT : used to create a new resource if it does not
+          already exist.
+
+          IPC_EXCL | IPC_CREAT : used to ensure failure of the call if
+          the resource already exists.
+
+          rwxrwxrwx : access permissions.
+
+   * returns: msqid (an integer used for all further access) on success.
+     -1 on failure.
+
+   A message queue is allocated if there is no resource corresponding
+to the given key. The access permissions specified are then copied into
+the `msg_perm' struct and the fields in `msqid_ds' initialized. The
+user must use the IPC_CREAT flag or key = IPC_PRIVATE, if a new
+instance is to be allocated. If a resource corresponding to KEY already
+exists, the access permissions are verified.
+
+Errors:
+EACCES : (procure) Do not have permission for requested access.
+EEXIST : (allocate) IPC_CREAT | IPC_EXCL specified and resource exists.
+EIDRM  : (procure) The resource was removed.
+ENOSPC : All id's are taken (max of MSGMNI id's system-wide).
+ENOENT : Resource does not exist and IPC_CREAT not specified.
+ENOMEM : A new `msqid_ds' was to be created but ... nomem.
+
+\1f
+File: ipc.info,  Node: msgsnd,  Next: msgrcv,  Prev: msgget,  Up: Messages
+
+1.5.2 msgsnd
+------------
+
+     int msgsnd (int msqid, struct msgbuf *msgp, int msgsz, int msgflg);
+
+   * `msqid' : id obtained by a call to msgget.
+
+   * `msgsz' : size of msg text (`mtext') in bytes.
+
+   * `msgp' : message to be sent. (msgp->mtype must be positive).
+
+   * `msgflg' : IPC_NOWAIT.
+
+   * returns : msgsz on success. -1 on error.
+
+   The message text and type are stored in the internal `msg'
+structure. `msg_cbytes', `msg_qnum', `msg_lspid', and `msg_stime'
+fields are updated. Readers waiting on the queue are awakened.
+
+Errors:
+EACCES : Do not have write permission on queue.
+EAGAIN : IPC_NOWAIT specified and queue is full.
+EFAULT : msgp not accessible.
+EIDRM  : The message queue was removed.
+EINTR  : Full queue ... would have slept but ... was interrupted.
+EINVAL : mtype < 1, msgsz > MSGMAX, msgsz < 0, msqid < 0 or unused.
+ENOMEM : Could not allocate space for header and text.
+\1f
+File: ipc.info,  Node: msgrcv,  Next: msgctl,  Prev: msgsnd,  Up: Messages
+
+1.5.3 msgrcv
+------------
+
+     int msgrcv (int msqid, struct msgbuf *msgp, int msgsz, long msgtyp,
+                       int msgflg);
+
+   * msqid  : id obtained by a call to msgget.
+
+   * msgsz  : maximum size of message to receive.
+
+   * msgp   : allocated by user to store the message in.
+
+   * msgtyp :
+          0 => get first message on queue.
+
+          > 0 => get first message of matching type.
+
+          < 0 => get message with least type  which is <= abs(msgtyp).
+
+   * msgflg :
+          IPC_NOWAIT : Return immediately if message not found.
+
+          MSG_NOERROR : The message is truncated if it is larger than
+          msgsz.
+
+          MSG_EXCEPT : Used with msgtyp > 0 to receive any msg except
+          of specified type.
+
+   * returns : size of message if found. -1 on error.
+
+   The first message that meets the `msgtyp' specification is
+identified. For msgtyp < 0, the entire queue is searched for the
+message with the smallest type.
+
+   If its length is smaller than msgsz or if the user specified the
+MSG_NOERROR flag, its text and type are copied to msgp->mtext and
+msgp->mtype, and it is taken off the queue.
+
+   The `msg_cbytes', `msg_qnum', `msg_lrpid', and `msg_rtime' fields
+are updated. Writers waiting on the queue are awakened.
+
+Errors:
+E2BIG  : msg bigger than msgsz and MSG_NOERROR not specified.
+EACCES : Do not have permission for reading the queue.
+EFAULT : msgp not accessible.
+EIDRM  : msg queue was removed.
+EINTR  : msg not found ... would have slept but ... was interrupted.
+EINVAL : msgsz > msgmax or msgsz < 0, msqid < 0 or unused.
+ENOMSG : msg of requested type not found and IPC_NOWAIT specified.
+
+\1f
+File: ipc.info,  Node: msgctl,  Next: msglimits,  Prev: msgrcv,  Up: Messages
+
+1.5.4 msgctl
+------------
+
+     int msgctl (int msqid, int cmd, struct msqid_ds *buf);
+
+   * msqid  : id obtained by a call to msgget.
+
+   * buf    : allocated by user for reading/writing info.
+
+   * cmd    : IPC_STAT, IPC_SET, IPC_RMID (*Note syscalls::).
+
+   IPC_STAT results in the copy of the queue data structure into the
+user supplied buffer.
+
+   In the case of IPC_SET, the queue size (`msg_qbytes') and the `uid',
+`gid', `mode' (low 9 bits) fields of the `msg_perm' struct are set from
+the user supplied values.  `msg_ctime' is updated.
+
+   Note that only the super user may increase the limit on the size of a
+message queue beyond MSGMNB.
+
+   When the queue is destroyed (IPC_RMID), the sequence number is
+incremented and all waiting readers and writers are awakened.  These
+processes will then return with `errno' set to EIDRM.
+
+Errors: EPERM  : Insufficient privilege to increase the size of the
+queue (IPC_SET) or remove it (IPC_RMID).
+EACCES : Do not have permission for reading the queue (IPC_STAT).
+EFAULT : buf not accessible (IPC_STAT, IPC_SET).
+EIDRM  : msg queue was removed.
+EINVAL : invalid cmd, msqid < 0 or unused.
+
+\1f
+File: ipc.info,  Node: msglimits,  Next: Semaphores,  Prev: msgctl,  Up: Messages
+
+1.5.5 Limis on Message Resources
+--------------------------------
+
+Sizeof various structures:
+     msqid_ds        52   /* 1 per message  queue .. dynamic */
+
+     msg             16   /* 1 for each message in system .. dynamic */
+
+     msgbuf           8   /* allocated by user */
+
+Limits
+   * MSGMNI : number of message queue identifiers ... policy.
+
+   * MSGMAX : max size of message.  Header and message space allocated
+     on one page.  MSGMAX = (PAGE_SIZE - sizeof(struct msg)).
+     Implementation maximum MSGMAX = 4080.
+
+   * MSGMNB : default max size of a message queue ... policy.  The
+     super-user can increase the size of a queue beyond MSGMNB by a
+     `msgctl' call.
+
+Unused or unimplemented:
+MSGTQL  max number of message headers system-wide.
+MSGPOOL total size in bytes of msg pool.
+
+\1f
+File: ipc.info,  Node: Semaphores,  Next: semget,  Prev: msglimits,  Up: Top
+
+1.6 Semaphores
+==============
+
+Each semaphore has a value >= 0. An id provides access to an array of
+`nsems' semaphores. Operations such as read, increment or decrement
+semaphores in a set are performed by the `semop' call which processes
+`nsops' operations at a time. Each operation is specified in a struct
+`sembuf' described below. The operations are applied only if all of
+them succeed.
+
+   If you do not have a need for such arrays, you are probably better
+off using the `test_bit', `set_bit' and  `clear_bit' bit-operations
+defined in <asm/bitops.h>.
+
+   Semaphore operations may also be qualified by a SEM_UNDO flag which
+results in the operation being undone when the process exits.
+
+   If a decrement cannot go through, a process will be put to sleep on
+a queue waiting for the `semval' to increase unless it specifies
+IPC_NOWAIT. A read operation can similarly result in a sleep on a queue
+waiting for `semval' to become 0. (Actually there are two queues per
+semaphore array).
+
+A semaphore array is described by:
+     struct semid_ds
+       struct ipc_perm sem_perm;
+       time_t          sem_otime;      /* last semop time */
+       time_t          sem_ctime;      /* last change time */
+       struct wait_queue *eventn;        /* wait for a semval to increase */
+       struct wait_queue *eventz;      /* wait for a semval to become 0 */
+       struct sem_undo  *undo;         /* undo entries */
+       ushort          sem_nsems;      /* no. of semaphores in array */
+
+Each semaphore is described internally by :
+     struct sem
+       short   sempid;         /* pid of last semop() */
+       ushort  semval;         /* current value */
+       ushort  semncnt;        /* num procs awaiting increase in semval */
+       ushort  semzcnt;        /* num procs awaiting semval = 0 */
+
+* Menu:
+
+* semget::
+* semop::
+* semctl::
+* semlimits:: Limits imposed by this implementation.
+
+\1f
+File: ipc.info,  Node: semget,  Next: semop,  Prev: Semaphores,  Up: Semaphores
+
+1.6.1 semget
+------------
+
+A semaphore array is allocated by a semget system call:
+
+     semid = semget (key_t key, int nsems, int semflg);
+
+   * `key' : an integer usually got from `ftok' or IPC_PRIVATE
+
+   * `nsems' :
+          # of semaphores in array (0 <= nsems <= SEMMSL <= SEMMNS)
+
+          0 => dont care can be used when not creating the resource.
+          If successful you always get access to the entire array
+          anyway.
+
+   * semflg :
+          IPC_CREAT used to create a new resource
+
+          IPC_EXCL used with IPC_CREAT to ensure failure if the
+          resource exists.
+
+          rwxrwxrwx  access permissions.
+
+   * returns : semid on success. -1 on failure.
+
+   An array of nsems semaphores is allocated if there is no resource
+corresponding to the given key. The access permissions specified are
+then copied into the `sem_perm' struct for the array along with the
+user-id etc. The user must use the IPC_CREAT flag or key = IPC_PRIVATE
+if a new resource is to be created.
+
+Errors:
+EINVAL : nsems not in above range (allocate).
+nsems greater than number in array (procure).
+EEXIST : (allocate) IPC_CREAT | IPC_EXCL specified and resource exists.
+EIDRM  : (procure) The resource was removed.
+ENOMEM : could not allocate space for semaphore array.
+ENOSPC : No arrays available (SEMMNI), too few semaphores available
+(SEMMNS).
+ENOENT : Resource does not exist and IPC_CREAT not specified.
+EACCES : (procure) do not have permission for specified access.
+
+\1f
+File: ipc.info,  Node: semop,  Next: semctl,  Prev: semget,  Up: Semaphores
+
+1.6.2 semop
+-----------
+
+Operations on semaphore arrays are performed by calling semop :
+
+     int semop (int semid, struct sembuf *sops, unsigned nsops);
+
+   * semid : id obtained by a call to semget.
+
+   * sops : array of semaphore operations.
+
+   * nsops : number of operations in array (0 < nsops < SEMOPM).
+
+   * returns : semval for last operation. -1 on failure.
+
+Operations are described by a structure sembuf:
+     struct sembuf
+         ushort  sem_num;        /* semaphore index in array */
+         short   sem_op;         /* semaphore operation */
+         short   sem_flg;        /* operation flags */
+
+   The value `sem_op' is to be added (signed) to the current value
+semval of the semaphore with index sem_num (0 .. nsems -1) in the set.
+Flags recognized in sem_flg are IPC_NOWAIT and SEM_UNDO.
+
+Two kinds of operations can result in wait:
+  1. If sem_op is 0 (read operation) and semval is non-zero, the process
+     sleeps on a queue waiting for semval to become zero or returns with
+     error EAGAIN if (IPC_NOWAIT | sem_flg) is true.
+
+  2. If (sem_op < 0) and (semval + sem_op < 0), the process either
+     sleeps on a queue waiting for semval to increase or returns with
+     error EAGAIN if (sem_flg & IPC_NOWAIT) is true.
+
+   The array sops is first read in and preliminary checks performed on
+the arguments. The operations are parsed to determine if any of them
+needs write permissions or requests an undo operation.
+
+   The operations are then tried and the process sleeps if any operation
+that does not specify IPC_NOWAIT cannot go through. If a process sleeps
+it repeats these checks on waking up. If any operation that requests
+IPC_NOWAIT, cannot go through at any stage, the call returns with errno
+set to EAGAIN.
+
+   Finally, operations are committed when all go through without an
+intervening sleep. Processes waiting on the zero_queue or
+increment_queue are awakened if any of the semval's becomes zero or is
+incremented respectively.
+
+Errors:
+E2BIG  : nsops > SEMOPM.
+EACCES : Do not have permission for requested (read/alter) access.
+EAGAIN : An operation with IPC_NOWAIT specified could not go through.
+EFAULT : The array sops is not accessible.
+EFBIG  : An operation had semnum >= nsems.
+EIDRM  : The resource was removed.
+EINTR  : The process was interrupted on its way to a wait queue.
+EINVAL : nsops is 0, semid < 0 or unused.
+ENOMEM : SEM_UNDO requested. Could not allocate space for undo
+structure.
+ERANGE : sem_op + semval > SEMVMX for some operation.
+
+\1f
+File: ipc.info,  Node: semctl,  Next: semlimits,  Prev: semop,  Up: Semaphores
+
+1.6.3 semctl
+------------
+
+     int semctl (int semid, int semnum, int cmd, union semun arg);
+
+   * semid : id obtained by a call to semget.
+
+   * cmd :
+          GETPID  return pid for the process that executed the last
+          semop.
+
+          GETVAL  return semval of semaphore with index semnum.
+
+          GETNCNT return number of processes waiting for semval to
+          increase.
+
+          GETZCNT return number of processes waiting for semval to
+          become 0
+
+          SETVAL  set semval = arg.val.
+
+          GETALL  read all semval's into arg.array.
+
+          SETALL  set all semval's with values given in arg.array.
+
+   * returns : 0 on success or as given above. -1 on failure.
+
+   The first 4 operate on the semaphore with index semnum in the set.
+The last two operate on all semaphores in the set.
+
+   `arg' is a union :
+     union semun
+         int val;               value for SETVAL.
+         struct semid_ds *buf;  buffer for IPC_STAT and IPC_SET.
+         ushort *array;         array for GETALL and SETALL
+
+   * IPC_SET, SETVAL, SETALL : sem_ctime is updated.
+
+   * SETVAL, SETALL : Undo entries are cleared for altered semaphores in
+     all processes. Processes sleeping on the wait queues are awakened
+     if a semval becomes 0 or increases.
+
+   * IPC_SET : sem_perm.uid, sem_perm.gid, sem_perm.mode are updated
+     from user supplied values.
+
+Errors: EACCES : do not have permission for specified access.
+EFAULT : arg is not accessible.
+EIDRM  : The resource was removed.
+EINVAL : semid < 0 or semnum < 0 or semnum >= nsems.
+EPERM  : IPC_RMID, IPC_SET ... not creator, owner or super-user.
+ERANGE : arg.array[i].semval > SEMVMX or < 0 for some i.
+
+\1f
+File: ipc.info,  Node: semlimits,  Next: Shared Memory,  Prev: semctl,  Up: Semaphores
+
+1.6.4 Limits on Semaphore Resources
+-----------------------------------
+
+Sizeof various structures:
+     semid_ds    44   /* 1 per semaphore array .. dynamic */
+     sem          8   /* 1 for each semaphore in system .. dynamic */
+     sembuf       6   /* allocated by user */
+     sem_undo    20   /* 1 for each undo request .. dynamic */
+
+Limits :
+   * SEMVMX  32767  semaphore maximum value (short).
+
+   * SEMMNI  number of semaphore identifiers (or arrays) system
+     wide...policy.
+
+   * SEMMSL  maximum  number  of semaphores per id.  1 semid_ds per
+     array, 1 struct sem per semaphore => SEMMSL =  (PAGE_SIZE -
+     sizeof(semid_ds)) / sizeof(sem).  Implementation maximum SEMMSL =
+     500.
+
+   * SEMMNS  maximum number of semaphores system wide ... policy.
+     Setting SEMMNS >= SEMMSL*SEMMNI makes it irrelevent.
+
+   * SEMOPM    Maximum number of operations in one semop
+     call...policy.
+
+Unused or unimplemented:
+SEMAEM  adjust on exit max value.
+SEMMNU  number of undo structures system-wide.
+SEMUME  maximum number of undo entries per process.
+
+\1f
+File: ipc.info,  Node: Shared Memory,  Next: shmget,  Prev: semlimits,  Up: Top
+
+1.7 Shared Memory
+=================
+
+Shared memory is distinct from the sharing of read-only code pages or
+the sharing of unaltered data pages that is available due to the
+copy-on-write mechanism. The essential difference is that the shared
+pages are dirty (in the case of Shared memory) and can be made to
+appear at a convenient location in the process' address space.
+
+A shared segment is described by :
+     struct shmid_ds
+         struct  ipc_perm shm_perm;
+         int     shm_segsz;              /* size of segment (bytes) */
+         time_t  shm_atime;              /* last attach time */
+         time_t  shm_dtime;              /* last detach time */
+         time_t  shm_ctime;              /* last change time */
+         ulong   *shm_pages;             /* internal page table */
+         ushort  shm_cpid;               /* pid, creator */
+         ushort  shm_lpid;               /* pid, last operation */
+         short   shm_nattch;             /* no. of current attaches */
+
+   A shmget allocates a shmid_ds and an internal page table. A shmat
+maps the segment into the process' address space with pointers into the
+internal page table and the actual pages are faulted in as needed. The
+memory associated with the segment must be explicitly destroyed by
+calling shmctl with IPC_RMID.
+
+* Menu:
+
+* shmget::
+* shmat::
+* shmdt::
+* shmctl::
+* shmlimits:: Limits imposed by this implementation.
+
+\1f
+File: ipc.info,  Node: shmget,  Next: shmat,  Prev: Shared Memory,  Up: Shared Memory
+
+1.7.1 shmget
+------------
+
+A shared memory segment is allocated by a shmget system call:
+
+     int shmget(key_t key, int size, int shmflg);
+
+   * key : an integer usually got from `ftok' or IPC_PRIVATE
+
+   * size : size of the segment in bytes (SHMMIN <= size <= SHMMAX).
+
+   * shmflg :
+          IPC_CREAT used to create a new resource
+
+          IPC_EXCL used with IPC_CREAT to ensure failure if the
+          resource exists.
+
+          rwxrwxrwx  access permissions.
+
+   * returns : shmid on success. -1 on failure.
+
+   A descriptor for a shared memory segment is allocated if there isn't
+one corresponding to the given key. The access permissions specified are
+then copied into the `shm_perm' struct for the segment along with the
+user-id etc. The user must use the IPC_CREAT flag or key = IPC_PRIVATE
+to allocate a new segment.
+
+   If the segment already exists, the access permissions are verified,
+and a check is made to see that it is not marked for destruction.
+
+   `size' is effectively rounded up to a multiple of PAGE_SIZE as shared
+memory is allocated in pages.
+
+Errors:
+EINVAL : (allocate) Size not in range specified above.
+(procure) Size greater than size of segment.
+EEXIST : (allocate) IPC_CREAT | IPC_EXCL specified and resource exists.
+EIDRM  : (procure) The resource is marked destroyed or was removed.
+ENOSPC : (allocate) All id's are taken (max of SHMMNI id's system-wide).
+Allocating a segment of the requested size would exceed the system wide
+limit on total shared memory (SHMALL).
+ENOENT : (procure) Resource does not exist and IPC_CREAT not specified.
+EACCES : (procure) Do not have permission for specified access.
+ENOMEM : (allocate) Could not allocate memory for shmid_ds or pg_table.
+
+\1f
+File: ipc.info,  Node: shmat,  Next: shmdt,  Prev: shmget,  Up: Shared Memory
+
+1.7.2 shmat
+-----------
+
+Maps a shared segment into the process' address space.
+
+     char *virt_addr;
+     virt_addr =  shmat (int shmid, char *shmaddr, int shmflg);
+
+   * shmid : id got from call to shmget.
+
+   * shmaddr : requested attach address.
+     If shmaddr is 0 the system finds an unmapped region.
+     If a non-zero value is indicated the value must be page
+     aligned or the user must specify the SHM_RND flag.
+
+   * shmflg :
+     SHM_RDONLY : request read-only attach.
+     SHM_RND : attach address is rounded DOWN to a multiple of SHMLBA.
+
+   * returns: virtual address of attached segment. -1 on failure.
+
+   When shmaddr is 0, the attach address is determined by finding an
+unmapped region in the address range 1G to 1.5G, starting at 1.5G and
+coming down from there. The algorithm is very simple so you are
+encouraged to avoid non-specific attaches.
+
+Algorithm:
+     Determine attach address as described above.
+     Check region (shmaddr, shmaddr + size) is not mapped and allocate
+     page tables (undocumented SHM_REMAP flag!).
+     Map the region by setting up pointers into the internal page table.
+     Add a descriptor for the attach to the task struct for the process.
+     `shm_nattch', `shm_lpid', `shm_atime' are updated.
+
+Notes:
+The `brk' value is not altered.  The segment is automatically detached
+when the process exits.  The same segment may be attached as read-only
+or read-write and more than once in the process' address space.  A
+shmat can succeed on a segment marked for destruction.  The request for
+a particular type of attach is made using the SHM_RDONLY flag.  There
+is no notion of a write-only attach. The requested attach permissions
+must fall within those allowed by `shm_perm.mode'.
+
+Errors:
+EACCES : Do not have permission for requested access.
+EINVAL : shmid < 0 or unused, shmaddr not aligned, attach at brk failed.
+EIDRM  : resource was removed.
+ENOMEM : Could not allocate memory for descriptor or page tables.
+
+\1f
+File: ipc.info,  Node: shmdt,  Next: shmctl,  Prev: shmat,  Up: Shared Memory
+
+1.7.3 shmdt
+-----------
+
+     int shmdt (char *shmaddr);
+
+   * shmaddr : attach address of segment (returned by shmat).
+
+   * returns : 0 on success. -1 on failure.
+
+   An attached segment is detached and `shm_nattch' decremented. The
+occupied region in user space is unmapped. The segment is destroyed if
+it is marked for destruction and `shm_nattch' is 0.  `shm_lpid' and
+`shm_dtime' are updated.
+
+Errors:
+EINVAL : No shared memory segment attached at shmaddr.
+
+\1f
+File: ipc.info,  Node: shmctl,  Next: shmlimits,  Prev: shmdt,  Up: Shared Memory
+
+1.7.4 shmctl
+------------
+
+Destroys allocated segments. Reads/Writes the control structures.
+
+     int shmctl (int shmid, int cmd, struct shmid_ds *buf);
+
+   * shmid : id got from call to shmget.
+
+   * cmd : IPC_STAT, IPC_SET, IPC_RMID (*Note syscalls::).
+          IPC_SET : Used to set the owner uid, gid, and shm_perms.mode
+          field.
+
+          IPC_RMID : The segment is marked destroyed. It is only
+          destroyed on the last detach.
+
+          IPC_STAT : The shmid_ds structure is copied into the user
+          allocated buffer.
+
+   * buf : used to read (IPC_STAT) or write (IPC_SET) information.
+
+   * returns : 0 on success, -1 on failure.
+
+   The user must execute an IPC_RMID shmctl call to free the memory
+allocated by the shared segment. Otherwise all the pages faulted in
+will continue to live in memory or swap.
+
+Errors:
+EACCES : Do not have permission for requested access.
+EFAULT : buf is not accessible.
+EINVAL : shmid < 0 or unused.
+EIDRM  : identifier destroyed.
+EPERM  : not creator, owner or super-user (IPC_SET, IPC_RMID).
+
+\1f
+File: ipc.info,  Node: shmlimits,  Next: Notes,  Prev: shmctl,  Up: Shared Memory
+
+1.7.5 Limits on Shared Memory Resources
+---------------------------------------
+
+Limits:
+   * SHMMNI  max num of shared segments system wide ... 4096.
+
+   * SHMMAX  max shared memory segment size (bytes) ... 4M
+
+   * SHMMIN  min shared memory segment size (bytes).  1 byte (though
+     PAGE_SIZE is the effective minimum size).
+
+   * SHMALL  max shared mem system wide (in pages) ... policy.
+
+   * SHMLBA  segment low boundary address multiple.  Must be page
+     aligned. SHMLBA = PAGE_SIZE.
+   Unused or unimplemented:
+SHMSEG : maximum number of shared segments per process.
+
+\1f
+File: ipc.info,  Node: Notes,  Next: Top,  Prev: shmlimits,  Up: Top
+
+1.8 Miscellaneous Notes
+=======================
+
+The system calls are mapped into one - `sys_ipc'. This should be
+transparent to the user.
+
+1.8.1 Semaphore `undo' requests
+-------------------------------
+
+There is one sem_undo structure associated with a process for each
+semaphore which was altered (with an undo request) by the process.
+`sem_undo' structures are freed only when the process exits.
+
+   One major cause for unhappiness with the undo mechanism is that it
+does not fit in with the notion of having an atomic set of operations
+on an array. The undo requests for an array and each semaphore therein
+may have been accumulated over many `semop' calls. Thus use the undo
+mechanism with private semaphores only.
+
+   Should the process sleep in `exit' or should all undo operations be
+applied with the IPC_NOWAIT flag in effect?  Currently  those undo
+operations which go through immediately are applied and those that
+require a wait are ignored silently.
+
+1.8.2 Shared memory, `malloc' and the `brk'.
+--------------------------------------------
+
+Note that since this section was written the implementation was changed
+so that non-specific attaches are done in the region 1G - 1.5G. However
+much of the following is still worth thinking about so I left it in.
+
+   On many systems, the shared memory is allocated in a special region
+of the address space ... way up somewhere. As mentioned earlier, this
+implementation attaches shared segments at the lowest possible address.
+Thus if you plan to use `malloc', it is wise to malloc a large space
+and then proceed to attach the shared segments. This way malloc sets
+the brk sufficiently above the region it will use.
+
+   Alternatively you can use `sbrk' to adjust the `brk' value as you
+make shared memory attaches. The implementation is not very smart about
+selecting attach addresses. Using the system default addresses will
+result in fragmentation if detaches do not occur in the reverse
+sequence as attaches.
+
+   Taking control of the matter is probably best. The rule applied is
+that attaches are allowed in unmapped regions other than in the text
+space (see <a.out.h>). Also remember that attach addresses and segment
+sizes are multiples of PAGE_SIZE.
+
+   One more trap (I quote Bruno on this). If you use malloc() to get
+space for your shared memory (ie. to fix the `brk'), you must ensure you
+get an unmapped address range. This means you must mallocate more memory
+than you had ever allocated before. Memory returned by malloc(), used,
+then freed by free() and then again returned by malloc is no good.
+Neither is calloced memory.
+
+   Note that a shared memory region remains a shared memory region until
+you unmap it. Attaching a segment at the `brk' and calling malloc after
+that will result in an overlap of what malloc thinks is its space with
+what is really a shared memory region. For example in the case of a
+read-only attach, you will not be able to write to the overlapped
+portion.
+
+1.8.3 Fork, exec and exit
+-------------------------
+
+On a fork, the child inherits attached shared memory segments but not
+the semaphore undo information.
+
+   In the case of an exec, the attached shared segments are detached.
+The sem undo information however remains intact.
+
+   Upon exit, all attached shared memory segments are detached.  The
+adjust values in the undo structures are added to the relevant semvals
+if the operations are permitted. Disallowed operations are ignored.
+
+1.8.4 Other Features
+--------------------
+
+These features of the current implementation are likely to be modified
+in the future.
+
+   The SHM_LOCK and SHM_UNLOCK flag are available (super-user) for use
+with the `shmctl' call to prevent swapping of a shared segment. The user
+must fault in any pages that are required to be present after locking
+is enabled.
+
+   The IPC_INFO, MSG_STAT, MSG_INFO, SHM_STAT, SHM_INFO, SEM_STAT,
+SEMINFO `ctl' calls are used by the `ipcs' program to provide
+information on allocated resources. These can be modified as needed or
+moved to a proc file system interface.
+
+
+
+
+   Thanks to Ove Ewerlid, Bruno Haible, Ulrich Pegelow and Linus
+Torvalds for ideas, tutorials, bug reports and fixes, and merriment.
+And more thanks to Bruno.
+
+
+\1f
+Tag Table:
+Node: Top\7f469
+Node: Overview\7f1171
+Node: example\7f3013
+Node: perms\7f4490
+Node: syscalls\7f6055
+Node: Messages\7f9540
+Node: msgget\7f11580
+Node: msgsnd\7f12976
+Node: msgrcv\7f13956
+Node: msgctl\7f15667
+Node: msglimits\7f16887
+Node: Semaphores\7f17776
+Node: semget\7f19740
+Node: semop\7f21305
+Node: semctl\7f23881
+Node: semlimits\7f25651
+Node: Shared Memory\7f26805
+Node: shmget\7f28295
+Node: shmat\7f30102
+Node: shmdt\7f32151
+Node: shmctl\7f32696
+Node: shmlimits\7f33839
+Node: Notes\7f34502
+\1f
+End Tag Table
diff --git a/sys-utils/ipc.texi b/sys-utils/ipc.texi
new file mode 100644 (file)
index 0000000..672d8b8
--- /dev/null
@@ -0,0 +1,1313 @@
+\input texinfo   @c -*-texinfo-*-
+@comment %**start of header (This is for running Texinfo on a region.)
+@setfilename ipc.info
+@settitle Inter Process Communication.
+@setchapternewpage odd
+@comment %**end of header (This is for running Texinfo on a region.)
+   
+@ifinfo
+This file documents the System V style inter process communication
+primitives available under linux.
+
+Copyright @copyright{} 1992  krishna balasubramanian
+    
+Permission is granted to use this material and the accompanying
+programs within the terms of the GNU GPL.
+@end ifinfo
+    
+@titlepage
+@sp 10
+@center @titlefont{System V Inter Process Communication}
+@sp 2
+@center krishna balasubramanian,
+    
+@comment  The following two commands start the copyright page.
+@page
+@vskip 0pt plus 1filll
+Copyright @copyright{} 1992  krishna balasubramanian
+    
+Permission is granted to use this material and the accompanying
+programs within the terms of the GNU GPL.
+@end titlepage
+
+@dircategory Miscellaneous
+@direntry
+* ipc: (ipc).           System V style inter process communication
+@end direntry
+
+@node Top, Overview, Notes, (dir)
+@chapter System V IPC.
+
+These facilities are provided to maintain compatibility with
+programs developed on system V unix systems and others
+that rely on these system V mechanisms to accomplish inter
+process communication (IPC).@refill
+
+The specifics described here are applicable to the Linux implementation.
+Other implementations may do things slightly differently.
+
+@menu
+* Overview::           What is system V ipc? Overall mechanisms.
+* Messages::           System calls for message passing.
+* Semaphores::                 System calls for semaphores.
+* Shared Memory::      System calls for shared memory access.
+* Notes::              Miscellaneous notes.
+@end menu
+
+@node Overview, example, Top, Top
+@section Overview
+
+@noindent System V IPC consists of three mechanisms:
+
+@itemize @bullet
+@item 
+Messages : exchange messages with any process or server.
+@item 
+Semaphores : allow unrelated processes to synchronize execution.
+@item 
+Shared memory : allow unrelated processes to share memory.
+@end itemize
+
+@menu
+* example::    Using shared memory.
+* perms::      Description of access permissions.
+* syscalls::    Overview of ipc system calls.
+@end menu
+
+Access to all resources is permitted on the basis of permissions
+set up when the resource was created.@refill
+
+A resource here consists of message queue, a semaphore set (array)
+or a shared memory segment.@refill
+
+A resource must first be allocated by a creator before it is used.
+The creator can assign a different owner. After use the resource
+must be explicitly destroyed by the creator or owner.@refill
+
+A resource is identified by a numeric @var{id}. Typically a creator
+defines a @var{key} that may be used to access the resource. The user
+process may then use this @var{key} in the @dfn{get} system call to obtain
+the @var{id} for the corresponding resource. This @var{id} is then used for
+all further access. A library call @dfn{ftok} is provided to translate
+pathnames or strings to numeric keys.@refill
+
+There are system and implementation defined limits on the number and
+sizes of resources of any given type. Some of these are imposed by the
+implementation and others by the system administrator
+when configuring the kernel (@xref{msglimits}, @xref{semlimits},
+@xref{shmlimits}).@refill
+
+There is an @code{msqid_ds}, @code{semid_ds} or @code{shmid_ds} struct
+associated with each message queue, semaphore array or shared segment.
+Each ipc resource has an associated @code{ipc_perm} struct which defines
+the creator, owner, access perms ..etc.., for the resource.
+These structures are detailed in the following sections.@refill
+
+
+
+@node example, perms, Overview, Overview
+@section example
+
+Here is a code fragment with pointers on how to use shared memory. The
+same methods are applicable to other resources.@refill
+
+In a typical access sequence the creator allocates a new instance
+of the resource with the @code{get} system call using the IPC_CREAT
+flag.@refill
+
+@noindent creator process:@*
+
+@example
+#include <sys/shm.h>
+int id;
+key_t key;
+char proc_id = 'C';    
+int size = 0x5000;     /* 20 K */
+int flags = 0664 | IPC_CREAT;          /* read-only for others */
+
+key = ftok ("~creator/ipckey", proc_id);
+id = shmget (key, size, flags);
+exit (0);      /* quit leaving resource allocated */
+@end example
+
+@noindent
+Users then gain access to the resource using the same key.@*
+@noindent
+Client process:
+@example
+#include <sys/shm.h>
+char *shmaddr;
+int id;
+key_t key;
+char proc_id = 'C';    
+
+key = ftok ("~creator/ipckey", proc_id);
+
+id = shmget (key, 0, 004);             /* default size   */
+if (id == -1)
+      perror ("shmget ...");
+       
+shmaddr = shmat (id, 0, SHM_RDONLY); /* attach segment for reading */
+if (shmaddr == (char *) -1)
+      perror ("shmat ...");    
+
+local_var = *(shmaddr + 3);    /* read segment etc. */
+
+shmdt (shmaddr);               /* detach segment */
+@end example
+
+@noindent
+When the resource is no longer needed the creator should remove it.@*
+@noindent
+Creator/owner process 2:
+@example
+key = ftok ("~creator/ipckey", proc_id)
+id = shmget (key, 0, 0);
+shmctl (id, IPC_RMID, NULL);
+@end example
+
+
+@node perms, syscalls, example, Overview
+@section Permissions
+
+Each resource has an associated @code{ipc_perm} struct which defines the
+creator, owner and access perms for the resource.@refill
+
+@example
+struct ipc_perm
+        key_t key;    /* set by creator */
+        ushort uid;   /* owner euid and egid */
+        ushort gid;
+        ushort cuid;  /* creator euid and egid */
+        ushort cgid;
+        ushort mode;  /* access modes in lower 9 bits */
+        ushort seq;   /* sequence number */
+@end example
+
+The creating process is the default owner. The owner can be reassigned
+by the creator and has creator perms. Only the owner, creator or super-user
+can delete the resource.@refill
+
+The lowest nine bits of the flags parameter supplied by the user to the
+system call are compared with the values stored in @code{ipc_perms.mode}
+to determine if the requested access is allowed. In the case
+that the system call creates the resource, these bits are initialized
+from the user supplied value.@refill
+
+As for files, access permissions are specified as read, write and exec
+for user, group or other (though the exec perms are unused). For example 
+0624 grants read-write to owner, write-only to group and read-only
+access to others.@refill
+
+For shared memory, note that read-write access for segments is determined
+by a separate flag which is not stored in the @code{mode} field.
+Shared memory segments attached with write access can be read.@refill
+
+The @code{cuid}, @code{cgid}, @code{key} and @code{seq} fields
+cannot be changed by the user.@refill
+
+
+
+@node syscalls, Messages, perms, Overview
+@section IPC system calls
+
+This section provides an overview of the IPC system calls. See the
+specific sections on each type of resource for details.@refill
+
+Each type of mechanism provides a @dfn{get}, @dfn{ctl} and one or more
+@dfn{op} system calls that allow the user to create or procure the
+resource (get), define its behaviour or destroy it (ctl) and manipulate
+the resources (op).@refill
+       
+
+
+@subsection The @dfn{get} system calls
+
+The @code{get} call typically takes a @var{key} and returns a numeric
+@var{id} that is used for further access.
+The @var{id} is an index into the resource table. A sequence
+number is maintained and incremented when a resource is
+destroyed so that access using an obsolete @var{id} is likely to fail.@refill
+
+The user also specifies the permissions and other behaviour
+charecteristics for the current access. The flags are or-ed with the
+permissions when invoking system calls as in:@refill
+@example
+msgflg = IPC_CREAT | IPC_EXCL | 0666;
+id = msgget (key, msgflg);
+@end example
+@itemize @bullet
+@item
+@code{key} : IPC_PRIVATE => new instance of resource is initialized.
+@item
+@code{flags} :
+@itemize @asis
+@item
+IPC_CREAT : resource created for @var{key} if it does not exist.
+@item
+IPC_CREAT | IPC_EXCL : fail if resource exists for @var{key}.
+@end itemize
+@item
+returns : an identifier used for all further access to the resource.
+@end itemize
+
+Note that IPC_PRIVATE is not a flag but a special @code{key}
+that ensures (when the call is successful) that a new resource is
+created.@refill
+
+Use of IPC_PRIVATE does not make the resource inaccessible to other
+users. For this you must set the access permissions appropriately.@refill
+
+There is currently no way for a process to ensure exclusive access to a
+resource. IPC_CREAT | IPC_EXCL only ensures (on success) that a new
+resource was initialized. It does not imply exclusive access.@refill
+
+@noindent
+See Also : @xref{msgget}, @xref{semget}, @xref{shmget}.@refill
+
+
+
+@subsection The @dfn{ctl} system calls
+
+Provides or alters the information stored in the structure that describes
+the resource indexed by @var{id}.@refill
+
+@example
+#include <sys/msg.h>
+struct msqid_ds buf;
+err = msgctl (id, IPC_STAT, &buf);
+if (err)
+        !$#%*
+else
+        printf ("creator uid = %d\n", buf.msg_perm.cuid);
+        ....
+@end example
+
+@noindent
+Commands supported by all @code{ctl} calls:@*
+@itemize @bullet
+@item
+IPC_STAT : read info on resource  specified by id into user allocated
+buffer. The user must have read access to the resource.@refill
+@item
+IPC_SET : write info from buffer into resource data structure. The
+user must be owner creator or super-user.@refill
+@item
+IPC_RMID : remove resource. The user must be the owner, creator or
+super-user.@refill
+@end itemize
+
+The IPC_RMID command results in immediate removal of a message
+queue or semaphore array. Shared memory segments however, are
+only destroyed upon the last detach after IPC_RMID is executed.@refill
+
+The @code{semctl} call provides a number of command options that allow
+the user to determine or set the values of the semaphores in an array.@refill
+
+@noindent
+See Also: @xref{msgctl}, @xref{semctl}, @xref{shmctl}.@refill
+
+
+@subsection The @dfn{op} system calls
+
+Used to send or receive messages, read or alter semaphore values,
+attach or detach shared memory segments.
+The IPC_NOWAIT flag will cause the operation to fail with error EAGAIN
+if the process has to wait on the call.@refill
+
+@noindent
+@code{flags} : IPC_NOWAIT  => return with error if a wait is required.
+
+@noindent
+See Also: @xref{msgsnd},@xref{msgrcv},@xref{semop},@xref{shmat},
+@xref{shmdt}.@refill
+
+
+
+@node Messages, msgget, syscalls, Top
+@section Messages
+
+A message resource is described by a struct @code{msqid_ds} which is
+allocated and initialized when the resource is created. Some fields
+in @code{msqid_ds} can then be altered (if desired) by invoking @code{msgctl}.
+The memory used by the resource is released when it is destroyed by
+a @code{msgctl} call.@refill
+
+@example
+struct msqid_ds
+    struct ipc_perm msg_perm;
+    struct msg *msg_first;  /* first message on queue (internal) */
+    struct msg *msg_last;   /* last message in queue (internal) */
+    time_t msg_stime;       /* last msgsnd time */
+    time_t msg_rtime;       /* last msgrcv time */
+    time_t msg_ctime;       /* last change time */
+    struct wait_queue *wwait; /* writers waiting (internal) */
+    struct wait_queue *rwait; /* readers waiting (internal) */
+    ushort msg_cbytes;      /* number of bytes used on queue */
+    ushort msg_qnum;        /* number of messages in queue */
+    ushort msg_qbytes;      /* max number of bytes on queue */
+    ushort msg_lspid;       /* pid of last msgsnd */
+    ushort msg_lrpid;       /* pid of last msgrcv */
+@end example
+
+To send or receive a message the user allocates a structure that looks
+like a @code{msgbuf} but with an array @code{mtext} of the required size.
+Messages have a type (positive integer) associated with them so that
+(for example) a listener can choose to receive only messages of a
+given type.@refill
+
+@example
+struct msgbuf
+    long mtype;      type of message (@xref{msgrcv}).
+    char mtext[1];   message text .. why is this not a ptr?
+@end example
+
+The user must have write permissions to send and read permissions
+to receive messages on a queue.@refill
+
+When @code{msgsnd} is invoked, the user's message is copied into
+an internal struct @code{msg} and added to the queue. A @code{msgrcv}
+will then read this message and free the associated struct @code{msg}.@refill
+
+
+@menu
+* msgget::
+* msgsnd::
+* msgrcv::
+* msgctl::
+* msglimits:: Implementation defined limits.
+@end menu
+
+
+@node msgget, msgsnd, Messages, Messages
+@subsection msgget
+
+@noindent
+A message queue is allocated by a msgget system call :
+
+@example
+msqid = msgget (key_t key, int msgflg);
+@end example
+
+@itemize @bullet
+@item
+@code{key}: an integer usually got from @code{ftok()} or IPC_PRIVATE.@refill
+@item
+@code{msgflg}:
+@itemize @asis
+@item
+IPC_CREAT : used to create a new resource if it does not already exist.
+@item
+IPC_EXCL | IPC_CREAT : used to ensure failure of the call if the
+resource already exists.@refill
+@item
+rwxrwxrwx : access permissions.
+@end itemize
+@item
+returns: msqid (an integer used for all further access) on success.
+-1 on failure.@refill
+@end itemize
+
+A message queue is allocated if there is no resource corresponding
+to the given key. The access permissions specified are then copied
+into the @code{msg_perm} struct and the fields in @code{msqid_ds}
+initialized. The user must use the IPC_CREAT flag or key = IPC_PRIVATE,
+if a new instance is to be allocated. If a resource corresponding to
+@var{key} already exists, the access permissions are verified.@refill
+
+@noindent
+Errors:@*
+@noindent
+EACCES : (procure) Do not have permission for requested access.@*
+@noindent
+EEXIST : (allocate) IPC_CREAT | IPC_EXCL specified and resource exists.@*
+@noindent
+EIDRM  : (procure) The resource was removed.@*
+@noindent
+ENOSPC : All id's are taken (max of MSGMNI id's system-wide).@*
+@noindent
+ENOENT : Resource does not exist and IPC_CREAT not specified.@*
+@noindent
+ENOMEM : A new @code{msqid_ds} was to be created but ... nomem.
+
+
+
+
+@node msgsnd, msgrcv, msgget, Messages
+@subsection msgsnd
+
+@example
+int msgsnd (int msqid, struct msgbuf *msgp, int msgsz, int msgflg);
+@end example
+
+@itemize @bullet
+@item
+@code{msqid} : id obtained by a call to msgget.
+@item
+@code{msgsz} : size of msg text (@code{mtext}) in bytes.
+@item
+@code{msgp} : message to be sent. (msgp->mtype must be positive).
+@item
+@code{msgflg} : IPC_NOWAIT.
+@item
+returns : msgsz on success. -1 on error.
+@end itemize
+
+The message text and type are stored in the internal @code{msg}
+structure. @code{msg_cbytes}, @code{msg_qnum}, @code{msg_lspid},
+and @code{msg_stime} fields are updated. Readers waiting on the
+queue are awakened.@refill
+
+@noindent
+Errors:@*
+@noindent
+EACCES : Do not have write permission on queue.@*
+@noindent
+EAGAIN : IPC_NOWAIT specified and queue is full.@*
+@noindent
+EFAULT : msgp not accessible.@*
+@noindent
+EIDRM  : The message queue was removed.@*
+@noindent
+EINTR  : Full queue ... would have slept but ... was interrupted.@*
+@noindent
+EINVAL : mtype < 1, msgsz > MSGMAX, msgsz < 0, msqid < 0 or unused.@*
+@noindent
+ENOMEM : Could not allocate space for header and text.@*
+
+
+
+@node msgrcv, msgctl, msgsnd, Messages
+@subsection msgrcv
+
+@example
+int msgrcv (int msqid, struct msgbuf *msgp, int msgsz, long msgtyp,
+                       int msgflg);
+@end example
+
+@itemize @bullet
+@item
+msqid  : id obtained by a call to msgget.
+@item
+msgsz  : maximum size of message to receive.
+@item
+msgp   : allocated by user to store the message in.
+@item
+msgtyp :
+@itemize @asis
+@item
+0 => get first message on queue.
+@item
+> 0 => get first message of matching type.
+@item
+< 0 => get message with least type  which is <= abs(msgtyp). 
+@end itemize
+@item
+msgflg :
+@itemize @asis
+@item
+IPC_NOWAIT : Return immediately if message not found.
+@item
+MSG_NOERROR : The message is truncated if it is larger than msgsz.
+@item
+MSG_EXCEPT : Used with msgtyp > 0 to receive any msg except of specified
+type.@refill
+@end itemize
+@item
+returns : size of message if found. -1 on error.
+@end itemize
+
+The first message that meets the @code{msgtyp} specification is
+identified. For msgtyp < 0, the entire queue is searched for the
+message with the smallest type.@refill
+
+If its length is smaller than msgsz or if the user specified the
+MSG_NOERROR flag, its text and type are copied to msgp->mtext and
+msgp->mtype, and it is taken off the queue.@refill
+
+The @code{msg_cbytes}, @code{msg_qnum}, @code{msg_lrpid},
+and @code{msg_rtime} fields are updated. Writers waiting on the
+queue are awakened.@refill
+
+@noindent
+Errors:@*
+@noindent
+E2BIG  : msg bigger than msgsz and MSG_NOERROR not specified.@*
+@noindent
+EACCES : Do not have permission for reading the queue.@*
+@noindent
+EFAULT : msgp not accessible.@*
+@noindent
+EIDRM  : msg queue was removed.@*
+@noindent
+EINTR  : msg not found ... would have slept but ... was interrupted.@*
+@noindent
+EINVAL : msgsz > msgmax or msgsz < 0, msqid < 0 or unused.@*
+@noindent
+ENOMSG : msg of requested type not found and IPC_NOWAIT specified.
+
+
+
+@node msgctl, msglimits, msgrcv, Messages
+@subsection msgctl
+
+@example
+int msgctl (int msqid, int cmd, struct msqid_ds *buf);
+@end example
+
+@itemize @bullet
+@item
+msqid  : id obtained by a call to msgget.
+@item
+buf    : allocated by user for reading/writing info.
+@item
+cmd    : IPC_STAT, IPC_SET, IPC_RMID (@xref{syscalls}).
+@end itemize
+
+IPC_STAT results in the copy of the queue data structure
+into the user supplied buffer.@refill
+
+In the case of IPC_SET, the queue size (@code{msg_qbytes})
+and the @code{uid}, @code{gid}, @code{mode} (low 9 bits) fields
+of the @code{msg_perm} struct are set from the user supplied values.
+@code{msg_ctime} is updated.@refill
+
+Note that only the super user may increase the limit on the size of a
+message queue beyond MSGMNB.@refill
+
+When the queue is destroyed (IPC_RMID), the sequence number is
+incremented and all waiting readers and writers are awakened.
+These processes will then return with @code{errno} set to EIDRM.@refill
+
+@noindent
+Errors:
+@noindent
+EPERM  : Insufficient privilege to increase the size of the queue (IPC_SET)
+or remove it (IPC_RMID).@*
+@noindent
+EACCES : Do not have permission for reading the queue (IPC_STAT).@*
+@noindent
+EFAULT : buf not accessible (IPC_STAT, IPC_SET).@*
+@noindent
+EIDRM  : msg queue was removed.@*
+@noindent
+EINVAL : invalid cmd, msqid < 0 or unused.
+
+
+@node msglimits, Semaphores, msgctl, Messages
+@subsection Limis on Message Resources
+
+@noindent
+Sizeof various structures:
+@itemize @asis
+@item
+msqid_ds        52   /* 1 per message  queue .. dynamic */
+@item
+msg             16   /* 1 for each message in system .. dynamic */
+@item
+msgbuf           8   /* allocated by user */
+@end itemize
+
+@noindent
+Limits
+@itemize @bullet
+@item
+MSGMNI : number of message queue identifiers ... policy.
+@item
+MSGMAX : max size of message.
+Header and message space allocated on one page.
+MSGMAX = (PAGE_SIZE - sizeof(struct msg)).
+Implementation maximum MSGMAX = 4080.@refill
+@item
+MSGMNB : default max size of a message queue ... policy.
+The super-user can increase the size of a
+queue beyond MSGMNB by a @code{msgctl} call.@refill
+@end itemize
+
+@noindent
+Unused or unimplemented:@*
+MSGTQL  max number of message headers system-wide.@*
+MSGPOOL total size in bytes of msg pool.
+
+
+@node Semaphores, semget, msglimits, Top
+@section Semaphores
+
+Each semaphore has a value >= 0. An id provides access to an array
+of @code{nsems} semaphores. Operations such as read, increment or decrement
+semaphores in a set are performed by the @code{semop} call which processes
+@code{nsops} operations at a time. Each operation is specified in a struct
+@code{sembuf} described below. The operations are applied only if all of
+them succeed.@refill
+
+If you do not have a need for such arrays, you are probably better off using
+the @code{test_bit}, @code{set_bit} and  @code{clear_bit} bit-operations
+defined in <asm/bitops.h>.@refill
+
+Semaphore operations may also be qualified by a SEM_UNDO flag which
+results in the operation being undone when the process exits.@refill
+
+If a decrement cannot go through, a process will be put to sleep
+on a queue waiting for the @code{semval} to increase unless it specifies
+IPC_NOWAIT. A read operation can similarly result in a sleep on a
+queue waiting for @code{semval} to become 0. (Actually there are
+two queues per semaphore array).@refill 
+
+@noindent
+A semaphore array is described by:
+@example
+struct semid_ds
+  struct ipc_perm sem_perm;      
+  time_t          sem_otime;      /* last semop time */
+  time_t          sem_ctime;      /* last change time */
+  struct wait_queue *eventn;     /* wait for a semval to increase */
+  struct wait_queue *eventz;      /* wait for a semval to become 0 */
+  struct sem_undo  *undo;         /* undo entries */
+  ushort          sem_nsems;      /* no. of semaphores in array */
+@end example
+
+@noindent
+Each semaphore is described internally by :
+@example
+struct sem
+  short   sempid;         /* pid of last semop() */
+  ushort  semval;         /* current value */
+  ushort  semncnt;        /* num procs awaiting increase in semval */
+  ushort  semzcnt;        /* num procs awaiting semval = 0 */
+@end example
+
+@menu
+* semget::
+* semop::
+* semctl::
+* semlimits:: Limits imposed by this implementation.
+@end menu
+
+@node semget, semop, Semaphores, Semaphores
+@subsection semget
+
+@noindent
+A semaphore array is allocated by a semget system call:
+
+@example
+semid = semget (key_t key, int nsems, int semflg);
+@end example
+
+@itemize @bullet
+@item
+@code{key} : an integer usually got from @code{ftok} or IPC_PRIVATE
+@item
+@code{nsems} :
+@itemize @asis
+@item
+# of semaphores in array (0 <= nsems <= SEMMSL <= SEMMNS)
+@item
+0 => dont care can be used when not creating the resource.
+If successful you always get access to the entire array anyway.@refill
+@end itemize
+@item
+semflg :
+@itemize @asis
+@item
+IPC_CREAT used to create a new resource
+@item
+IPC_EXCL used with IPC_CREAT to ensure failure if the resource exists.
+@item
+rwxrwxrwx  access permissions.
+@end itemize
+@item
+returns : semid on success. -1 on failure.
+@end itemize
+
+An array of nsems semaphores is allocated if there is no resource
+corresponding to the given key. The access permissions specified are
+then copied into the @code{sem_perm} struct for the array along with the
+user-id etc. The user must use the IPC_CREAT flag or key = IPC_PRIVATE
+if a new resource is to be created.@refill
+
+@noindent
+Errors:@*
+@noindent
+EINVAL : nsems not in above range (allocate).@*
+       nsems greater than number in array (procure).@*
+@noindent
+EEXIST : (allocate) IPC_CREAT | IPC_EXCL specified and resource exists.@*
+@noindent
+EIDRM  : (procure) The resource was removed.@*
+@noindent
+ENOMEM : could not allocate space for semaphore array.@*
+@noindent
+ENOSPC : No arrays available (SEMMNI), too few semaphores available (SEMMNS).@*
+@noindent
+ENOENT : Resource does not exist and IPC_CREAT not specified.@*
+@noindent
+EACCES : (procure) do not have permission for specified access.
+
+
+@node semop, semctl, semget, Semaphores
+@subsection semop
+
+@noindent
+Operations on semaphore arrays are performed by calling semop :
+
+@example
+int semop (int semid, struct sembuf *sops, unsigned nsops);
+@end example
+@itemize @bullet
+@item
+semid : id obtained by a call to semget.
+@item
+sops : array of semaphore operations.
+@item
+nsops : number of operations in array (0 < nsops < SEMOPM).
+@item
+returns : semval for last operation. -1 on failure.
+@end itemize
+
+@noindent
+Operations are described by a structure sembuf:
+@example
+struct sembuf
+    ushort  sem_num;        /* semaphore index in array */
+    short   sem_op;         /* semaphore operation */
+    short   sem_flg;        /* operation flags */
+@end example
+
+The value @code{sem_op} is to be added (signed) to the current value semval
+of the semaphore with index sem_num (0 .. nsems -1) in the set.
+Flags recognized in sem_flg are IPC_NOWAIT and SEM_UNDO.@refill
+
+@noindent
+Two kinds of operations can result in wait:
+@enumerate
+@item
+If sem_op is 0 (read operation) and semval is non-zero, the process
+sleeps on a queue waiting for semval to become zero or returns with
+error EAGAIN if (IPC_NOWAIT | sem_flg) is true.@refill
+@item
+If (sem_op < 0) and (semval + sem_op < 0), the process either sleeps
+on a queue waiting for semval to increase or returns with error EAGAIN if
+(sem_flg & IPC_NOWAIT) is true.@refill
+@end enumerate
+
+The array sops is first read in and preliminary checks performed on
+the arguments. The operations are parsed to determine if any of
+them needs write permissions or requests an undo operation.@refill
+
+The operations are then tried and the process sleeps if any operation
+that does not specify IPC_NOWAIT cannot go through. If a process sleeps
+it repeats these checks on waking up. If any operation that requests
+IPC_NOWAIT, cannot go through at any stage, the call returns with errno
+set to EAGAIN.@refill
+
+Finally, operations are committed when all go through without an intervening
+sleep. Processes waiting on the zero_queue or increment_queue are awakened
+if any of the semval's becomes zero or is incremented respectively.@refill
+
+@noindent
+Errors:@*
+@noindent
+E2BIG  : nsops > SEMOPM.@*
+@noindent
+EACCES : Do not have permission for requested (read/alter) access.@*
+@noindent
+EAGAIN : An operation with IPC_NOWAIT specified could not go through.@*
+@noindent
+EFAULT : The array sops is not accessible.@*
+@noindent
+EFBIG  : An operation had semnum >= nsems.@*
+@noindent
+EIDRM  : The resource was removed.@*
+@noindent
+EINTR  : The process was interrupted on its way to a wait queue.@*
+@noindent
+EINVAL : nsops is 0, semid < 0 or unused.@*
+@noindent
+ENOMEM : SEM_UNDO requested. Could not allocate space for undo structure.@*
+@noindent
+ERANGE : sem_op + semval > SEMVMX for some operation.
+
+
+@node semctl, semlimits, semop, Semaphores
+@subsection semctl
+
+@example
+int semctl (int semid, int semnum, int cmd, union semun arg);
+@end example
+
+@itemize @bullet
+@item
+semid : id obtained by a call to semget.
+@item
+cmd :
+@itemize @asis
+@item 
+GETPID  return pid for the process that executed the last semop.
+@item 
+GETVAL  return semval of semaphore with index semnum.
+@item 
+GETNCNT return number of processes waiting for semval to increase.
+@item 
+GETZCNT return number of processes waiting for semval to become 0
+@item 
+SETVAL  set semval = arg.val.
+@item 
+GETALL  read all semval's into arg.array.
+@item 
+SETALL  set all semval's with values given in arg.array.
+@end itemize
+@item
+returns : 0 on success or as given above. -1 on failure.
+@end itemize
+
+The first 4 operate on the semaphore with index semnum in the set.
+The last two operate on all semaphores in the set.@refill
+
+@code{arg} is a union :
+@example
+union semun
+    int val;               value for SETVAL.
+    struct semid_ds *buf;  buffer for IPC_STAT and IPC_SET.
+    ushort *array;         array for GETALL and SETALL
+@end example
+
+@itemize @bullet
+@item
+IPC_SET, SETVAL, SETALL : sem_ctime is updated.
+@item
+SETVAL, SETALL : Undo entries are cleared for altered semaphores in
+all processes. Processes sleeping on the wait queues are
+awakened if a semval becomes 0 or increases.@refill
+@item
+IPC_SET : sem_perm.uid, sem_perm.gid, sem_perm.mode are updated from
+user supplied values.@refill
+@end itemize
+
+@noindent
+Errors:
+@noindent
+EACCES : do not have permission for specified access.@*
+@noindent
+EFAULT : arg is not accessible.@*
+@noindent
+EIDRM  : The resource was removed.@*
+@noindent
+EINVAL : semid < 0 or semnum < 0 or semnum >= nsems.@*
+@noindent
+EPERM  : IPC_RMID, IPC_SET ... not creator, owner or super-user.@*
+@noindent
+ERANGE : arg.array[i].semval > SEMVMX or < 0 for some i.
+
+
+
+
+@node semlimits, Shared Memory, semctl, Semaphores
+@subsection Limits on Semaphore Resources
+
+@noindent
+Sizeof various structures:
+@example
+semid_ds    44   /* 1 per semaphore array .. dynamic */
+sem          8   /* 1 for each semaphore in system .. dynamic */
+sembuf       6   /* allocated by user */
+sem_undo    20   /* 1 for each undo request .. dynamic */
+@end example
+
+@noindent
+Limits :@*
+@itemize @bullet
+@item
+SEMVMX  32767  semaphore maximum value (short).
+@item
+SEMMNI  number of semaphore identifiers (or arrays) system wide...policy.
+@item
+SEMMSL  maximum  number  of semaphores per id.
+1 semid_ds per array, 1 struct sem per semaphore
+=> SEMMSL =  (PAGE_SIZE - sizeof(semid_ds)) / sizeof(sem).
+Implementation maximum SEMMSL = 500.@refill
+@item
+SEMMNS  maximum number of semaphores system wide ... policy.
+Setting SEMMNS >= SEMMSL*SEMMNI makes it irrelevent.@refill
+@item
+SEMOPM         Maximum number of operations in one semop call...policy.
+@end itemize
+
+@noindent
+Unused or unimplemented:@*
+@noindent
+SEMAEM  adjust on exit max value.@*
+@noindent
+SEMMNU  number of undo structures system-wide.@*
+@noindent
+SEMUME  maximum number of undo entries per process.
+
+
+
+@node Shared Memory, shmget, semlimits, Top
+@section Shared Memory
+
+Shared memory is distinct from the sharing of read-only code pages or
+the sharing of unaltered data pages that is available due to the
+copy-on-write mechanism. The essential difference is that the
+shared pages are dirty (in the case of Shared memory) and can be
+made to appear at a convenient location in the process' address space.@refill
+
+@noindent
+A shared segment is described by :
+@example
+struct shmid_ds
+    struct  ipc_perm shm_perm;
+    int     shm_segsz;              /* size of segment (bytes) */
+    time_t  shm_atime;              /* last attach time */
+    time_t  shm_dtime;              /* last detach time */
+    time_t  shm_ctime;              /* last change time */
+    ulong   *shm_pages;             /* internal page table */
+    ushort  shm_cpid;               /* pid, creator */
+    ushort  shm_lpid;               /* pid, last operation */
+    short   shm_nattch;             /* no. of current attaches */
+@end example
+
+A shmget allocates a shmid_ds and an internal page table. A shmat
+maps the segment into the process' address space with pointers
+into the internal page table and the actual pages are faulted in
+as needed. The memory associated with the segment must be explicitly
+destroyed by calling shmctl with IPC_RMID.@refill
+
+@menu
+* shmget::
+* shmat::
+* shmdt::
+* shmctl::
+* shmlimits:: Limits imposed by this implementation.
+@end menu
+
+
+@node shmget, shmat, Shared Memory, Shared Memory
+@subsection shmget
+
+@noindent
+A shared memory segment is allocated by a shmget system call:
+
+@example
+int shmget(key_t key, int size, int shmflg);
+@end example
+
+@itemize @bullet
+@item
+key : an integer usually got from @code{ftok} or IPC_PRIVATE
+@item
+size : size of the segment in bytes (SHMMIN <= size <= SHMMAX).
+@item
+shmflg :
+@itemize @asis
+@item
+IPC_CREAT used to create a new resource
+@item
+IPC_EXCL used with IPC_CREAT to ensure failure if the resource exists.
+@item
+rwxrwxrwx  access permissions.
+@end itemize
+@item
+returns : shmid on success. -1 on failure.
+@end itemize
+
+A descriptor for a shared memory segment is allocated if there isn't one
+corresponding to the given key. The access permissions specified are
+then copied into the @code{shm_perm} struct for the segment along with the
+user-id etc. The user must use the IPC_CREAT flag or key = IPC_PRIVATE
+to allocate a new segment.@refill
+
+If the segment already exists, the access permissions are verified,
+and a check is made to see that it is not marked for destruction.@refill
+
+@code{size} is effectively rounded up to a multiple of PAGE_SIZE as shared
+memory is allocated in pages.@refill
+
+@noindent
+Errors:@*
+@noindent
+EINVAL : (allocate) Size not in range specified above.@*
+         (procure) Size greater than size of segment.@*
+@noindent
+EEXIST : (allocate) IPC_CREAT | IPC_EXCL specified and resource exists.@*
+@noindent
+EIDRM  : (procure) The resource is marked destroyed or was removed.@*
+@noindent
+ENOSPC : (allocate) All id's are taken (max of SHMMNI id's system-wide).
+Allocating a segment of the requested size would exceed the
+system wide limit on total shared memory (SHMALL).@refill
+@*
+@noindent
+ENOENT : (procure) Resource does not exist and IPC_CREAT not specified.@*
+@noindent
+EACCES : (procure) Do not have permission for specified access.@*
+@noindent
+ENOMEM : (allocate) Could not allocate memory for shmid_ds or pg_table.
+
+
+
+@node shmat, shmdt, shmget, Shared Memory
+@subsection shmat
+
+@noindent
+Maps a shared segment into the process' address space.
+
+@example
+char *virt_addr;
+virt_addr =  shmat (int shmid, char *shmaddr, int shmflg);
+@end example
+
+@itemize @bullet
+@item
+shmid : id got from call to shmget.
+@item
+shmaddr : requested attach address.@*
+    If shmaddr is 0 the system finds an unmapped region.@*
+    If a non-zero value is indicated the value must be page
+    aligned or the user must specify the SHM_RND flag.@refill
+@item
+shmflg :@*
+     SHM_RDONLY : request read-only attach.@*
+     SHM_RND : attach address is rounded DOWN to a multiple of SHMLBA.
+@item
+returns: virtual address of attached segment. -1 on failure.
+@end itemize
+
+When shmaddr is 0, the attach address is determined by finding an
+unmapped region in the address range 1G to 1.5G, starting at 1.5G
+and coming down from there. The algorithm is very simple so you
+are encouraged to avoid non-specific attaches.
+
+@noindent
+Algorithm:
+@display
+Determine attach address as described above.
+Check region (shmaddr, shmaddr + size) is not mapped and allocate
+page tables (undocumented SHM_REMAP flag!).
+Map the region by setting up pointers into the internal page table.
+Add a descriptor for the attach to the task struct for the process.
+@code{shm_nattch}, @code{shm_lpid}, @code{shm_atime} are updated.
+@end display
+
+@noindent
+Notes:@*
+The @code{brk} value is not altered.
+The segment is automatically detached when the process exits.
+The same segment may be attached as read-only or read-write and
+more than once in the process' address space.
+A shmat can succeed on a segment marked for destruction.
+The request for a particular type of attach is made using the SHM_RDONLY flag.
+There is no notion of a write-only attach. The requested attach
+permissions must fall within those allowed by @code{shm_perm.mode}.
+
+@noindent
+Errors:@*
+@noindent
+EACCES : Do not have permission for requested access.@*
+@noindent
+EINVAL : shmid < 0 or unused, shmaddr not aligned, attach at brk failed.@*
+@noindent
+EIDRM  : resource was removed.@*
+@noindent
+ENOMEM : Could not allocate memory for descriptor or page tables.
+
+
+@node shmdt, shmctl, shmat, Shared Memory
+@subsection shmdt
+
+@example
+int shmdt (char *shmaddr);
+@end example
+
+@itemize @bullet
+@item
+shmaddr : attach address of segment (returned by shmat).
+@item
+returns : 0 on success. -1 on failure.
+@end itemize
+
+An attached segment is detached and @code{shm_nattch} decremented. The
+occupied region in user space is unmapped. The segment is destroyed
+if it is marked for destruction and @code{shm_nattch} is 0.
+@code{shm_lpid} and @code{shm_dtime} are updated.@refill
+
+@noindent
+Errors:@*
+@noindent
+EINVAL : No shared memory segment attached at shmaddr.
+
+
+@node shmctl, shmlimits, shmdt, Shared Memory
+@subsection shmctl
+
+@noindent
+Destroys allocated segments. Reads/Writes the control structures.
+
+@example
+int shmctl (int shmid, int cmd, struct shmid_ds *buf);
+@end example
+
+@itemize @bullet
+@item
+shmid : id got from call to shmget.
+@item
+cmd : IPC_STAT, IPC_SET, IPC_RMID (@xref{syscalls}).
+@itemize @asis
+@item
+IPC_SET : Used to set the owner uid, gid, and shm_perms.mode field.
+@item
+IPC_RMID : The segment is marked destroyed. It is only destroyed
+on the last detach.@refill
+@item
+IPC_STAT : The shmid_ds structure is copied into the user allocated buffer.
+@end itemize
+@item
+buf : used to read (IPC_STAT) or write (IPC_SET) information.
+@item
+returns : 0 on success, -1 on failure.
+@end itemize
+
+The user must execute an IPC_RMID shmctl call to free the memory
+allocated by the shared segment. Otherwise all the pages faulted in
+will continue to live in memory or swap.@refill
+
+@noindent
+Errors:@*
+@noindent
+EACCES : Do not have permission for requested access.@*
+@noindent
+EFAULT : buf is not accessible.@*
+@noindent
+EINVAL : shmid < 0 or unused.@*
+@noindent
+EIDRM  : identifier destroyed.@*
+@noindent
+EPERM  : not creator, owner or super-user (IPC_SET, IPC_RMID).
+
+
+@node shmlimits, Notes, shmctl, Shared Memory
+@subsection Limits on Shared Memory Resources
+
+@noindent
+Limits:
+@itemize @bullet
+@item
+SHMMNI  max num of shared segments system wide ... 4096.
+@item
+SHMMAX  max shared memory segment size (bytes) ... 4M
+@item
+SHMMIN  min shared memory segment size (bytes).
+1 byte (though PAGE_SIZE is the effective minimum size).@refill
+@item
+SHMALL  max shared mem system wide (in pages) ... policy.
+@item
+SHMLBA  segment low boundary address multiple.
+Must be page aligned. SHMLBA = PAGE_SIZE.@refill
+@end itemize
+@noindent
+Unused or unimplemented:@*
+SHMSEG : maximum number of shared segments per process.
+
+
+
+@node Notes, Top, shmlimits, Top
+@section Miscellaneous Notes
+
+The system calls are mapped into one -- @code{sys_ipc}. This should be
+transparent to the user.@refill
+
+@subsection Semaphore @code{undo} requests
+
+There is one sem_undo structure associated with a process for
+each semaphore which was altered (with an undo request) by the process.
+@code{sem_undo} structures are freed only when the process exits.
+
+One major cause for unhappiness with the undo mechanism is that
+it does not fit in with the notion of having an atomic set of
+operations on an array. The undo requests for an array and each
+semaphore therein may have been accumulated over many @code{semop}
+calls. Thus use the undo mechanism with private semaphores only.@refill
+
+Should the process sleep in @code{exit} or should all undo
+operations be applied with the IPC_NOWAIT flag in effect?
+Currently  those undo operations which go through immediately are
+applied and those that require a wait are ignored silently.@refill
+
+@subsection Shared memory, @code{malloc} and the @code{brk}.
+Note that since this section was written the implementation was
+changed so that non-specific attaches are done in the region
+1G - 1.5G. However much of the following is still worth thinking
+about so I left it in.
+
+On many systems, the shared memory is allocated in a special region
+of the address space ... way up somewhere. As mentioned earlier,
+this implementation attaches shared segments at the lowest possible
+address. Thus if you plan to use @code{malloc}, it is wise to malloc a
+large space and then proceed to attach the shared segments. This way
+malloc sets the brk sufficiently above the region it will use.@refill
+
+Alternatively you can use @code{sbrk} to adjust the @code{brk} value
+as you make shared memory attaches. The implementation is not very
+smart about selecting attach addresses. Using the system default
+addresses will result in fragmentation if detaches do not occur
+in the reverse sequence as attaches.@refill
+
+Taking control of the matter is probably best. The rule applied
+is that attaches are allowed in unmapped regions other than
+in the text space (see <a.out.h>). Also remember that attach addresses
+and segment sizes are multiples of PAGE_SIZE.@refill
+
+One more trap (I quote Bruno on this). If you use malloc() to get space
+for your shared memory (ie. to fix the @code{brk}), you must ensure you
+get an unmapped address range. This means you must mallocate more memory
+than you had ever allocated before. Memory returned by malloc(), used,
+then freed by free() and then again returned by malloc is no good.
+Neither is calloced memory.@refill
+
+Note that a shared memory region remains a shared memory region until
+you unmap it. Attaching a segment at the @code{brk} and calling malloc
+after that will result in an overlap of what malloc thinks is its
+space with what is really a shared memory region. For example in the case
+of a read-only attach, you will not be able to write to the overlapped
+portion.@refill
+
+
+@subsection Fork, exec and exit
+
+On a fork, the child inherits attached shared memory segments but
+not the semaphore undo information.@refill
+
+In the case of an exec, the attached shared segments are detached.
+The sem undo information however remains intact.@refill
+
+Upon exit, all attached shared memory segments are detached.
+The adjust values in the undo structures are added to the relevant semvals
+if the operations are permitted. Disallowed operations are ignored.@refill
+
+
+@subsection Other Features
+
+These features of the current implementation are
+likely to be modified in the future.
+
+The SHM_LOCK and SHM_UNLOCK flag are available (super-user) for use with the
+@code{shmctl} call to prevent swapping of a shared segment. The user
+must fault in any pages that are required to be present after locking
+is enabled.
+
+The IPC_INFO, MSG_STAT, MSG_INFO, SHM_STAT, SHM_INFO, SEM_STAT, SEMINFO
+@code{ctl} calls are used by the @code{ipcs} program to provide information
+on allocated resources. These can be modified as needed or moved to a proc
+file system interface.
+
+
+@sp 3
+Thanks to Ove Ewerlid, Bruno Haible, Ulrich Pegelow and Linus Torvalds
+for ideas, tutorials, bug reports and fixes, and merriment. And more
+thanks to Bruno.
+
+
+@contents
+@bye
+
diff --git a/sys-utils/ipcmk.1 b/sys-utils/ipcmk.1
new file mode 100644 (file)
index 0000000..d3af47e
--- /dev/null
@@ -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" "21 March 2008" "ipcmk" "Linux Programmer's Manual"
+.SH "NAME"
+ipcmk \- create various ipc resources
+.SH "SYNOPSIS"
+.B ipcmk \-h
+.br
+.B ipcmk
+.RB [ \-M
+.IR size ]
+.RB [ \-S
+.IR nsems ]
+.RB [ \-Q ]
+.RB [ \-p
+.IR mode ]
+.SH "DESCRIPTION"
+.B ipcmk
+allows you to create shared memory segments, message queues or semaphore arrays.
+.SH "OPTIONS"
+.TP
+Resources may be specified as follows:
+.TP
+.BI \-M " size"
+shared memory segment of size
+.I size
+.TP
+.BI \-S " nsems"
+semaphore array with
+.I nsems
+elements
+.TP
+.BI \-Q
+message queue
+.TP
+Other options
+.TP
+.BI \-p " mode"
+permission for the resource (default is 0644)
+.TP
+.B \-h
+display a short help message and exit
+.PP
+.SH "SEE ALSO"
+.BR ipcrm (1),
+.BR ipcs (1)
+.SH "AUTHOR"
+Hayden A. James (hayden.james@gmail.com)
+.SH "AVAILABILITY"
+The ipcmk command is part of the util\-linux\-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util\-linux\-ng/.
diff --git a/sys-utils/ipcmk.c b/sys-utils/ipcmk.c
new file mode 100644 (file)
index 0000000..2e663bf
--- /dev/null
@@ -0,0 +1,164 @@
+/*
+ *  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., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <errno.h>
+#include <err.h>
+#include <time.h>
+
+#include <unistd.h>
+#include <sys/types.h>
+#include <sys/ipc.h>
+#include <sys/shm.h>
+#include <sys/sem.h>
+#include <sys/msg.h>
+
+#include "nls.h"
+
+static const char *progname;
+
+key_t createKey(void)
+{
+       srandom( time( NULL ) );
+       return random();
+}
+
+int createShm(size_t size, int permission)
+{
+       int result = -1;
+       int shmid;
+       key_t key = createKey();
+
+       if (-1 != (shmid = shmget(key, size, permission | IPC_CREAT)))
+               result = shmid;
+
+       return result;
+}
+
+int createMsg(int permission)
+{
+       int result = -1;
+       int msgid;
+       key_t key = createKey();
+
+       if (-1 != (msgid = msgget(key, permission | IPC_CREAT)))
+               result = msgid;
+
+       return result;
+}
+
+int createSem(int nsems, int permission)
+{
+       int result = -1;
+       int semid;
+       key_t key = createKey();
+
+       if (-1 != (semid = semget(key, nsems, permission | IPC_CREAT)))
+               result = semid;
+
+       return result;
+}
+
+void usage(int rc)
+{
+       printf(_("\nUsage: %s [options]\n\n"), progname);
+       printf(_(
+       "  -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"));
+       printf(_("\nFor more information see ipcmk(1).\n\n"));
+
+       exit(rc);
+}
+
+int main(int argc, char **argv)
+{
+       int permission = 0644;
+       int opt;
+       size_t size = 0;
+       int nsems = 0;
+       int doShm = 0, doMsg = 0, doSem = 0;
+
+       progname = program_invocation_short_name;
+       if (!progname)
+               progname = "ipcmk";
+
+       setlocale(LC_ALL, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+
+       while((opt = getopt(argc, argv, "hM:QS:p:")) != -1) {
+               switch(opt) {
+               case 'M':
+                       size = atoi(optarg);
+                       doShm = 1;
+                       break;
+               case 'Q':
+                       doMsg = 1;
+                       break;
+               case 'S':
+                       nsems = atoi(optarg);
+                       doSem = 1;
+                       break;
+               case 'p':
+                       permission = strtoul(optarg, NULL, 8);
+                       break;
+               case 'h':
+                       usage(EXIT_SUCCESS);
+                       break;
+               default:
+                       doShm = doMsg = doSem = 0;
+                       break;
+               }
+       }
+
+       if(!doShm && !doMsg && !doSem)
+               usage(EXIT_FAILURE);
+
+       if (doShm) {
+               int shmid;
+               if (-1 == (shmid = createShm(size, permission)))
+                       err(EXIT_FAILURE, _("create share memory failed"));
+               else
+                       printf(_("Shared memory id: %d\n"), shmid);
+       }
+
+       if (doMsg) {
+               int msgid;
+               if (-1 == (msgid = createMsg(permission)))
+                       err(EXIT_FAILURE, _("create message queue failed"));
+               else
+                       printf(_("Message queue id: %d\n"), msgid);
+       }
+
+       if (doSem) {
+               int semid;
+               if (-1 == (semid = createSem(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 (file)
index 0000000..c5adf9b
--- /dev/null
@@ -0,0 +1,122 @@
+.\" Copyright 2002 Andre C. Mazzone (linuxdev@karagee.com)
+.\" May be distributed under the GNU General Public License
+.TH IPCRM 1 "last change: 19 March 2002" "ipcrm" "Linux Programmer's Manual"
+.SH NAME
+ipcrm \- remove a message queue, semaphore set or shared memory id
+.SH SYNOPSIS
+.B ipcrm
+[
+.B \-M
+.I key
+|
+.B \-m
+.I id
+|
+.B \-Q
+.I key
+|
+.B \-q
+.I id
+|
+.B \-S
+.I key
+|
+.B \-s
+.I id
+] ...
+
+deprecated usage
+
+.BI ipcrm
+.RB { shm | msg | sem }
+.IR 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.
+
+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.
+
+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.
+
+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
+.BI \-M " shmkey"
+removes the shared memory segment created with
+.I shmkey
+after the last detach is performed.
+.TP
+.BI \-m " shmid"
+removes the shared memory segment identified by
+.I shmid
+after the last detach is performed.
+.TP
+.BI \-Q " msgkey"
+removes the message queue created with
+.IR msgkey .
+.TP
+.BI \-q " msgid"
+removes the message queue identified by
+.IR msgid .
+.TP
+.BI \-S " semkey"
+removes the semaphore created with
+.IR semkey .
+.TP
+.BI \-s " semid"
+removes the semaphore identified by
+.IR semid .
+.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-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/sys-utils/ipcrm.c b/sys-utils/ipcrm.c
new file mode 100644 (file)
index 0000000..11a5af2
--- /dev/null
@@ -0,0 +1,274 @@
+/*
+ * 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 <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <errno.h>
+
+#include <sys/types.h>
+#include <sys/ipc.h>
+#include <sys/shm.h>
+#include <sys/msg.h>
+#include <sys/sem.h>
+#include "nls.h"
+
+/* for getopt */
+#include <unistd.h>
+/* for tolower and isupper */
+#include <ctype.h>
+
+#if defined (__GNU_LIBRARY__) && !defined(_SEM_SEMUN_UNDEFINED)
+/* union semun is defined by including <sys/sem.h> */
+#else
+/* 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
+
+static void usage(char *);
+
+char *execname;
+
+typedef enum type_id {
+       SHM,
+       SEM,
+       MSG
+} type_id;
+
+static int
+remove_ids(type_id type, int argc, char **argv) {
+       int id;
+       int ret = 0;            /* for gcc */
+       char *end;
+       int nb_errors = 0;
+       union semun arg;
+
+       arg.val = 0;
+
+       while(argc) {
+
+               id = strtoul(argv[0], &end, 10);
+
+               if (*end != 0) {
+                       printf (_("invalid id: %s\n"), argv[0]);
+                       nb_errors ++;
+               } else {
+                       switch(type) {
+                       case SEM:
+                               ret = semctl (id, 0, IPC_RMID, arg);
+                               break;
+
+                       case MSG:
+                               ret = msgctl (id, IPC_RMID, NULL);
+                               break;
+                               
+                       case SHM:
+                               ret = shmctl (id, IPC_RMID, NULL);
+                               break;
+                       }
+
+                       if (ret) {
+                               printf (_("cannot remove id %s (%s)\n"),
+                                       argv[0], strerror(errno));
+                               nb_errors ++;
+                       }
+               }
+               argc--;
+               argv++;
+       }
+       
+       return(nb_errors);
+}
+
+static void deprecate_display_usage(void)
+{
+       usage(execname);
+       printf (_("deprecated usage: %s {shm | msg | sem} id ...\n"),
+               execname);
+}
+
+static int deprecated_main(int argc, char **argv)
+{
+       execname = argv[0];
+
+       if (argc < 3) {
+               deprecate_display_usage();
+               exit(1);
+       }
+       
+       if (!strcmp(argv[1], "shm")) {
+               if (remove_ids(SHM, argc-2, &argv[2]))
+                       exit(1);
+       }
+       else if (!strcmp(argv[1], "msg")) {
+               if (remove_ids(MSG, argc-2, &argv[2]))
+                       exit(1);
+       } 
+       else if (!strcmp(argv[1], "sem")) {
+               if (remove_ids(SEM, argc-2, &argv[2]))
+                       exit(1);
+       }
+       else {
+               deprecate_display_usage();
+               printf (_("unknown resource type: %s\n"), argv[1]);
+               exit(1);
+       }
+
+       printf (_("resource(s) deleted\n"));
+       return 0;
+}
+
+
+/* print the new usage */
+static void
+usage(char *progname)
+{
+       fprintf(stderr,
+               _("usage: %s [ [-q msqid] [-m shmid] [-s semid]\n"
+                 "          [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n"),
+               progname);
+}
+
+int main(int argc, char **argv)
+{
+       int   c;
+       int   error = 0;
+       char *prog = argv[0];
+
+       /* if the command is executed without parameters, do nothing */
+       if (argc == 1)
+               return 0;
+
+       setlocale(LC_ALL, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+
+       /* check to see if the command is being invoked in the old way if so
+          then run the old code */
+       if (strcmp(argv[1], "shm") == 0 ||
+           strcmp(argv[1], "msg") == 0 ||
+           strcmp(argv[1], "sem") == 0)
+               return deprecated_main(argc, argv);
+
+       /* process new syntax to conform with SYSV ipcrm */
+       while ((c = getopt(argc, argv, "q:m:s:Q:M:S:")) != -1) {
+               int result;
+               int id = 0;
+               int iskey = isupper(c);
+
+               /* needed to delete semaphores */
+               union semun arg;
+               arg.val = 0;
+
+               /* we don't need case information any more */
+               c = tolower(c);
+
+               /* make sure the option is in range */
+               if (c != 'q' && c != 'm' && c != 's') {
+                       fprintf(stderr, _("%s: illegal option -- %c\n"),
+                               prog, c);
+                       usage(prog);
+                       error++;
+                       return error;
+               }
+
+               if (iskey) {
+                       /* keys are in hex or decimal */
+                       key_t key = strtoul(optarg, NULL, 0);
+                       if (key == IPC_PRIVATE) {
+                               error++;
+                               fprintf(stderr, _("%s: illegal key (%s)\n"),
+                                       prog, optarg);
+                               continue;
+                       }
+
+                       /* convert key to id */
+                       id = ((c == 'q') ? msgget(key, 0) :
+                             (c == 'm') ? shmget(key, 0, 0) :
+                             semget(key, 0, 0));
+
+                       if (id < 0) {
+                               char *errmsg;
+                               error++;
+                               switch(errno) {
+                               case EACCES:
+                                       errmsg = _("permission denied for key");
+                                       break;
+                               case EIDRM:
+                                       errmsg = _("already removed key");
+                                       break;
+                               case ENOENT:
+                                       errmsg = _("invalid key");
+                                       break;
+                               default:
+                                       errmsg = _("unknown error in key");
+                                       break;
+                               }
+                               fprintf(stderr, "%s: %s (%s)\n",
+                                       prog, errmsg, optarg);
+                               continue;
+                       }
+               } else {
+                       /* ids are in decimal */
+                       id = strtoul(optarg, NULL, 10);
+               }
+
+               result = ((c == 'q') ? msgctl(id, IPC_RMID, NULL) :
+                         (c == 'm') ? shmctl(id, IPC_RMID, NULL) : 
+                         semctl(id, 0, IPC_RMID, arg));
+
+               if (result < 0) {
+                       char *errmsg;
+                       error++;
+                       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:
+                               errmsg = iskey
+                                       ? _("unknown error in key")
+                                       : _("unknown error in id");
+                               break;
+                       }
+                       fprintf(stderr, _("%s: %s (%s)\n"),
+                               prog, errmsg, optarg);
+                       continue;
+               }
+       }
+
+       /* print usage if we still have some arguments left over */
+       if (optind != argc) {
+               fprintf(stderr, _("%s: unknown argument: %s\n"),
+                       prog, argv[optind]);
+               usage(prog);
+       }
+
+       /* exit value reflects the number of errors encountered */
+       return error;
+}
diff --git a/sys-utils/ipcs.1 b/sys-utils/ipcs.1
new file mode 100644 (file)
index 0000000..af21077
--- /dev/null
@@ -0,0 +1,84 @@
+.\" Copyright 1993 Rickard E. Faith (faith@cs.unc.edu)
+.\" May be distributed under the GNU General Public License
+.TH IPCS 1 "9 October 1993" "Linux 0.99" "Linux Programmer's Manual"
+.SH NAME
+ipcs \- provide information on ipc facilities
+.SH SYNOPSIS
+.B ipcs
+.RB [ \-asmq ]
+.RB [ \-tclup ]
+.br
+.B ipcs
+.RB [ \-smq ]
+.BI \-i " id"
+.br
+.B ipcs \-h
+.SH DESCRIPTION
+.B ipcs
+provides information on the ipc facilities for which the calling process
+has read access.
+
+The
+.B \-i
+option allows a specific resource
+.I id
+to be specified.  Only information on this
+.I id
+will be printed.
+
+Resources may be specified as follows:
+.TP
+.B \-m
+shared memory segments
+.TP
+.B \-q
+message queues
+.TP
+.B \-s
+semaphore arrays
+.TP
+.B \-a
+all (this is the default)
+.PP
+The output format may be specified as follows:
+.TP
+.B \-t
+time
+.TP
+.B \-p
+pid
+.TP
+.B \-c
+creator
+.TP
+.B \-l
+limits
+.TP
+.B \-u
+summary
+.SH SEE ALSO
+.BR ipcrm (1),
+.BR ipcmk (1)
+.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 \-a ,
+.BR \-b ,
+.BR \-o ,
+.BR \-l ,
+and
+.B \-u
+options.
+.SH AUTHOR
+krishna balasubramanian (balasub@cis.ohio-state.edu)
+.SH AVAILABILITY
+The ipcs command is part of the util-linux-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/sys-utils/ipcs.c b/sys-utils/ipcs.c
new file mode 100644 (file)
index 0000000..55d5c80
--- /dev/null
@@ -0,0 +1,681 @@
+/* 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 <stdio.h>
+#include <stdlib.h>
+#include <getopt.h>
+#include <errno.h>
+#include <time.h>
+#include <pwd.h>
+#include <grp.h>
+#include <unistd.h>
+#include <err.h>
+#include <sys/types.h>
+#include <sys/ipc.h>
+#include <sys/sem.h>
+#include <sys/msg.h>
+#include <sys/shm.h>
+
+#include "nls.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. */
+#if defined (__GNU_LIBRARY__) && !defined(_SEM_SEMUN_UNDEFINED)
+/* union semun is defined by including <sys/sem.h> */
+#else
+/* 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;
+   libc 4/5 does not mention struct ipc_term at all, but includes
+   <linux/ipc.h>, which defines a struct ipc_perm with such fields.
+   glibc-1.09 has no support for sysv ipc.
+   glibc 2 uses __key, __seq */
+#if defined (__GNU_LIBRARY__) && __GNU_LIBRARY__ > 1
+#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 char *progname;
+
+static void
+usage(int rc) {
+       printf (_("usage : %s -asmq -tclup \n"), progname);
+       printf (_("\t%s [-s -m -q] -i id\n"), progname);
+       printf (_("\t%s -h for help.\n"), progname);
+       exit(rc);
+}
+
+static void
+help (int rc) {
+       printf (_("%s provides information on ipc facilities for"
+                 " which you have read access.\n"), progname);
+       printf (_("Resource Specification:\n\t-m : shared_mem\n\t-q : messages\n"));
+       printf (_("\t-s : semaphores\n\t-a : all (default)\n"));
+       printf (_("Output Format:\n\t-t : time\n\t-p : pid\n\t-c : creator\n"));
+       printf (_("\t-l : limits\n\t-u : summary\n"));
+       printf (_("-i id [-s -q -m] : details on resource identified by id\n"));
+       usage(rc);
+}
+
+int
+main (int argc, char **argv) {
+       int opt, msg = 0, sem = 0, shm = 0, id=0, print=0;
+       char format = 0;
+       char options[] = "atcluphsmqi:";
+
+       setlocale(LC_ALL, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+
+       progname = argv[0];
+       while ((opt = getopt (argc, argv, options)) != -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':
+                       help(EXIT_SUCCESS);
+               case '?':
+                       usage(EXIT_SUCCESS);
+               }
+       }
+
+       if  (print) {
+               if (shm)
+                       print_shm (id);
+               else if (sem)
+                       print_sem (id);
+               else if (msg)
+                       print_msg (id);
+               else
+                       usage (EXIT_FAILURE);
+       } 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(" %-10d", ipcp->cuid);
+       if ((gr = getgrgid(ipcp->cgid)))
+               printf(" %-10s", gr->gr_name);
+       else
+               printf(" %-10d", ipcp->cgid);
+
+       if ((pw = getpwuid(ipcp->uid)))
+               printf(" %-10s", pw->pw_name);
+       else
+               printf(" %-10d", ipcp->uid);
+       if ((gr = getgrgid(ipcp->gid)))
+               printf(" %-10s\n", gr->gr_name);
+       else
+               printf(" %-10d\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"));
+               printf (_("segments allocated %d\n"), shm_info.used_ids);
+               printf (_("pages allocated %ld\n"), shm_info.shm_tot);
+               printf (_("pages resident  %ld\n"), shm_info.shm_rss);
+               printf (_("pages swapped   %ld\n"), shm_info.shm_swp);
+               printf (_("Swap performance: %ld attempts\t %ld successes\n"),
+                       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 --------\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 %-10d", 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 %-10d", 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 %-10d", 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 %-10d", 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 %-10d", 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 %-10d", 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 %-10d", 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 %-10d", 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=%d\tgid=%d\tcuid=%d\tcgid=%d\n"),
+               ipcp->uid, ipcp->gid, ipcp->cuid, ipcp->cgid);
+       printf (_("mode=%#o\taccess_perms=%#o\n"),
+               ipcp->mode, ipcp->mode & 0777);
+       printf (_("bytes=%ld\tlpid=%d\tcpid=%d\tnattch=%ld\n"),
+               (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=%d\tgid=%d\tcuid=%d\tcgid=%d\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;
+       int 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=%d\t gid=%d\t cuid=%d\t cgid=%d\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 ("%-10d %-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 (file)
index 0000000..3856999
--- /dev/null
@@ -0,0 +1,135 @@
+.\" Copyright 2008 Tilman Schmidt (tilman@imap.cc)
+.\" May be distributed under the GNU General Public License version 2 or later
+.TH LDATTACH 8 "14 January 2008" "Linux 2.6" "Linux Programmer's Manual"
+.SH NAME
+ldattach \- attach a line discipline to a serial line
+.SH SYNOPSIS
+.B ldattach
+.RB [ \-dhV78neo12 ]
+.RB [ \-s
+.IR speed ]
+.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.
+.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-ng package
+and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/sys-utils/ldattach.c b/sys-utils/ldattach.c
new file mode 100644 (file)
index 0000000..19f70fe
--- /dev/null
@@ -0,0 +1,266 @@
+/* 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 <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <getopt.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <sys/ioctl.h>
+#include <errno.h>
+#include <termios.h>
+#include <unistd.h>
+#include <err.h>
+
+#include "nls.h"
+
+#define dbg(format, arg...) \
+       do { if (debug) fprintf(stderr , "%s:" format "\n" , progname , ## arg); } while (0)
+
+#ifndef N_GIGASET_M101
+# define N_GIGASET_M101 16
+#endif
+
+#ifndef N_PPS
+# define N_PPS 18
+#endif
+
+#ifndef ARRAY_SIZE
+# define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
+#endif
+
+/* attach a line discipline ioctl */
+#ifndef TIOCSETD
+# define TIOCSETD   0x5423
+#endif
+
+static const char *progname;
+static int debug = 0;
+
+/* currently supported line disciplines, plus some aliases */
+static const struct ld_entry { const char *s; int v; }
+ld_table[] = {
+       { "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 },
+       { "GIGASET_M101",       N_GIGASET_M101 },
+       { "GIGASET",    N_GIGASET_M101 },
+       { "M101",       N_GIGASET_M101 },
+       { "PPS",        N_PPS },
+};
+
+/* look up line discipline code */
+static int lookup_ld(const char *s)
+{
+    size_t i;
+
+    for (i = 0; i < ARRAY_SIZE(ld_table); i++)
+       if (!strcasecmp(ld_table[i].s, s))
+           return ld_table[i].v;
+    return -1;
+}
+
+static void __attribute__((__noreturn__)) usage(int exitcode)
+{
+    size_t i;
+
+    fprintf(stderr,
+           _("\nUsage: %s [ -dhV78neo12 ] [ -s <speed> ] <ldisc> <device>\n"),
+           progname);
+    fputs(_("\nKnown <ldisc> names:\n"), stderr);
+    for (i = 0; i < ARRAY_SIZE(ld_table); i++)
+       fprintf(stderr, "  %s\n", ld_table[i].s);
+    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 ldisc;
+    int optc;
+    char *end;
+    char *dev;
+    static const struct option opttbl[] = {
+       {"speed", 1, 0, 's'},
+       {"sevenbits", 0, 0, '7'},
+       {"eightbits", 0, 0, '8'},
+       {"noparity", 0, 0, 'n'},
+       {"evenparity", 0, 0, 'e'},
+       {"oddparity", 0, 0, 'o'},
+       {"onestopbit", 0, 0, '1'},
+       {"twostopbits", 0, 0, '2'},
+       {"help", 0, 0, 'h'},
+       {"version", 0, 0, 'V'},
+       {"debug", 0, 0, 'd'},
+       {0, 0, 0, 0}
+    };
+
+
+    setlocale(LC_ALL, "");
+    bindtextdomain(PACKAGE, LOCALEDIR);
+    textdomain(PACKAGE);
+
+    /* parse options */
+    progname = program_invocation_short_name;
+
+    if (argc == 0)
+       usage(EXIT_SUCCESS);
+    while ((optc = getopt_long(argc, argv, "dhV78neo12s:", opttbl, NULL)) >= 0) {
+       switch (optc) {
+       case 'd':
+           debug++;
+           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 = strtol(optarg, &end, 10);
+           if (*end || speed <= 0)
+               errx(EXIT_FAILURE, _("invalid speed: %s"), optarg);
+           break;
+       case 'V':
+           printf(_("ldattach from %s\n"), PACKAGE_STRING);
+           break;
+       case 'h':
+           usage(EXIT_SUCCESS);
+       default:
+           warnx(_("invalid option"));
+           usage(EXIT_FAILURE);
+       }
+    }
+
+    if (argc - optind != 2)
+       usage(EXIT_FAILURE);
+
+    /* parse line discipline specification */
+    if ((ldisc = lookup_ld(argv[optind])) < 0) {
+       ldisc = strtol(argv[optind], &end, 0);
+       if (*end || ldisc < 0)
+           errx(EXIT_FAILURE, _("invalid line discipline: %s"), argv[optind]);
+    }
+
+    /* 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;
+    }
+    switch (bits) {
+    case '7':
+       ts.c_cflag = (ts.c_cflag & ~CSIZE) | CS7;
+       break;
+    case '8':
+       ts.c_cflag = (ts.c_cflag & ~CSIZE) | CS8;
+       break;
+    }
+    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;
+    }
+    ts.c_cflag |= CREAD;       /* just to be on the safe side */
+    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/lp.h b/sys-utils/lp.h
new file mode 100644 (file)
index 0000000..7fa83dd
--- /dev/null
@@ -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 (file)
index 0000000..2b8d33b
--- /dev/null
@@ -0,0 +1,34 @@
+.\" Process this file with
+.\" groff -man -Tascii lscpu.1
+.\"
+.TH LSCPU 1 "JULY 2008" Linux "User Manuals"
+.SH NAME
+lscpu \- CPU architecture information helper
+.SH SYNOPSIS
+.B lscpu
+.RB [ \-hp ]
+.SH DESCRIPTION
+.B lscpu
+gathers CPU architecture information like number of CPUs, threads,
+cores, sockets, NUMA nodes, information about CPU caches, CPU family,
+model and stepping from sysfs and /proc/cpuinfo, and prints it in
+human-readable format. Alternatively, it can print out in parsable
+format including how different caches are shared by different CPUs,
+which can also be fed to other programs.
+.SH OPTIONS
+.TP
+.BR \-h , " \-\-help"
+Print a help message.
+.TP
+.BR \-p , " \-\-parse"
+Print out in parsable instead of printable format.
+.SH BUGS
+The program at the moment does not handle the system installed with
+different types of physical processors.
+
+Sometimes in Xen Dom0 kernel reports wrong data.
+.SH AUTHOR
+Cai Qian <qcai@redhat.com>
+.SH AVAILABILITY
+The setarch command is part of the util-linux-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/sys-utils/lscpu.c b/sys-utils/lscpu.c
new file mode 100644 (file)
index 0000000..6b6082f
--- /dev/null
@@ -0,0 +1,709 @@
+/*
+ * 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 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/>.
+ */
+
+#include <ctype.h>
+#include <dirent.h>
+#include <err.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 "nls.h"
+
+#define CACHE_MAX 100
+
+/* /sys paths */
+#define _PATH_SYS_SYSTEM       "sys/devices/system"
+#define _PATH_SYS_CPU0         _PATH_SYS_SYSTEM "/cpu/cpu0"
+#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"
+
+int have_topology;
+int have_cache;
+int have_node;
+
+/* cache(s) description */
+struct ca_desc {
+       char    *caname;
+       char    *casize;
+       int     camap;
+};
+
+/* 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
+};
+const char *hv_vendors[] = {
+       [HYPER_NONE]    = NULL,
+       [HYPER_XEN]     = "Xen",
+       [HYPER_KVM]     = "KVM",
+       [HYPER_MSHV]    = "Microsoft"
+};
+
+
+/* CPU(s) description */
+struct cpu_desc {
+       /* counters */
+       int     ct_cpu;
+       int     ct_thread;
+       int     ct_core;
+       int     ct_socket;
+       int     ct_node;
+       int     ct_cache;
+
+       /* who is who */
+       char    *arch;
+       char    *vendor;
+       char    *family;
+       char    *model;
+       char    *virtflag;      /* virtualization flag (vmx, svm) */
+       int     hyper;          /* hypervisor vendor ID */
+       int     virtype;        /* VIRT_PARA|FULL|NONE ? */
+
+       /* caches */
+       struct ca_desc  cache[CACHE_MAX];
+
+       /* misc */
+       char    *mhz;
+       char    *stepping;
+       char    *flags;
+
+       /* NUMA */
+       int     *nodecpu;
+};
+
+char pathbuf[PATH_MAX] = "/";
+
+static void path_scanstr(char *result, const char *path, ...)
+               __attribute__ ((__format__ (__printf__, 2, 3)));
+static int path_exist(const char *path, ...)
+               __attribute__ ((__format__ (__printf__, 1, 2)));
+static int path_sibling(const char *path, ...)
+               __attribute__ ((__format__ (__printf__, 1, 2)));
+
+static FILE *
+xfopen(const char *path, const char *mode)
+{
+       FILE *fd = fopen(path, mode);
+       if (!fd)
+               err(EXIT_FAILURE, _("error: %s"), path);
+       return fd;
+}
+
+static FILE *
+path_vfopen(const char *mode, const char *path, va_list ap)
+{
+       vsnprintf(pathbuf, sizeof(pathbuf), path, ap);
+       return xfopen(pathbuf, mode);
+}
+
+static void
+path_scanstr(char *result, const char *path, ...)
+{
+       FILE *fd;
+       va_list ap;
+
+       va_start(ap, path);
+       fd = path_vfopen("r", path, ap);
+       va_end(ap);
+
+       if (fscanf(fd, "%s", result) != 1) {
+               if (ferror(fd))
+                       err(EXIT_FAILURE, _("error: %s"), pathbuf);
+               else
+                       errx(EXIT_FAILURE, _("error parse: %s"), pathbuf);
+       }
+       fclose(fd);
+}
+
+static int
+path_exist(const char *path, ...)
+{
+       va_list ap;
+
+       va_start(ap, path);
+       vsnprintf(pathbuf, sizeof(pathbuf), path, ap);
+       va_end(ap);
+
+       return access(pathbuf, F_OK) == 0;
+}
+
+char *
+xstrdup(const char *str)
+{
+       char *s = strdup(str);
+       if (!s)
+               err(EXIT_FAILURE, _("error: strdup failed"));
+       return s;
+}
+
+/* count the set bit in a mapping file */
+static int
+path_sibling(const char *path, ...)
+{
+       int c, n;
+       int result = 0;
+       char s[2];
+       FILE *fp;
+       va_list ap;
+
+       va_start(ap, path);
+       fp = path_vfopen("r", path, ap);
+       va_end(ap);
+
+       while ((c = fgetc(fp)) != EOF) {
+               if (isxdigit(c)) {
+                       s[0] = c;
+                       s[1] = '\0';
+                       for (n = strtol(s, NULL, 16); n > 0; n /= 2) {
+                               if (n % 2)
+                                       result++;
+                       }
+               }
+       }
+       fclose(fp);
+
+       return result;
+}
+
+/* Lookup a pattern and get the value from cpuinfo.
+ * Format is:
+ *
+ *     "<pattern>   : <key>"
+ */
+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;
+}
+
+static void
+read_basicinfo(struct cpu_desc *cpu)
+{
+       FILE *fp = xfopen(_PATH_PROC_CPUINFO, "r");
+       char buf[BUFSIZ];
+       struct utsname utsbuf;
+
+       /* architecture */
+       if (uname(&utsbuf) == -1)
+               err(EXIT_FAILURE, _("error: uname failed"));
+       cpu->arch = xstrdup(utsbuf.machine);
+
+       /* count CPU(s) */
+       while(path_exist(_PATH_SYS_SYSTEM "/cpu/cpu%d", cpu->ct_cpu))
+               cpu->ct_cpu++;
+
+       /* details */
+       while (fgets(buf, sizeof(buf), fp) != NULL) {
+               /* IA64 */
+               if (lookup(buf, "vendor", &cpu->vendor)) ;
+               else if (lookup(buf, "vendor_id", &cpu->vendor)) ;
+               /* IA64 */
+               else if (lookup(buf, "family", &cpu->family)) ;
+               else if (lookup(buf, "cpu family", &cpu->family)) ;
+               else if (lookup(buf, "model", &cpu->model)) ;
+               else if (lookup(buf, "stepping", &cpu->stepping)) ;
+               else if (lookup(buf, "cpu MHz", &cpu->mhz)) ;
+               else if (lookup(buf, "flags", &cpu->flags)) ;
+               else
+                       continue;
+       }
+
+       if (cpu->flags) {
+               snprintf(buf, sizeof(buf), " %s ", cpu->flags);
+               if (strstr(buf, " svm "))
+                       cpu->virtflag = strdup("svm");
+               else if (strstr(buf, " vmx "))
+                       cpu->virtflag = strdup("vmx");
+       }
+
+       fclose(fp);
+}
+
+static int
+has_pci_device(int vendor, int device)
+{
+       FILE *f;
+       int num, fn, ven, dev;
+       int res = 1;
+
+       f = fopen(_PATH_PROC_PCIDEVS, "r");
+       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)
+               : "0" (op), "c"(0));
+}
+
+static void
+read_hypervisor_cpuid(struct cpu_desc *cpu)
+{
+       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))
+               cpu->hyper = HYPER_XEN;
+       else if (!strncmp("KVMKVMKVM", hyper_vendor_id, 9))
+               cpu->hyper = HYPER_KVM;
+       else if (!strncmp("Microsoft Hv", hyper_vendor_id, 12))
+               cpu->hyper = HYPER_MSHV;
+}
+
+#else  /* ! __x86_64__ */
+static void
+read_hypervisor_cpuid(struct cpu_desc *cpu)
+{
+}
+#endif
+
+static void
+read_hypervisor(struct cpu_desc *cpu)
+{
+       read_hypervisor_cpuid(cpu);
+
+       if (cpu->hyper)
+               /* hvm */
+               cpu->virtype = VIRT_FULL;
+
+       else if (!access(_PATH_PROC_XEN, F_OK)) {
+               /* Xen para-virt or dom0 */
+               FILE *fd = fopen(_PATH_PROC_XENCAP, "r");
+               int dom0 = 0;
+
+               if (fd) {
+                       char buf[256];
+
+                       if (fscanf(fd, "%s", buf) == 1 &&
+                           !strcmp(buf, "control_d"))
+                               dom0 = 1;
+                       fclose(fd);
+               }
+               cpu->virtype = dom0 ? VIRT_NONE : VIRT_PARA;
+               cpu->hyper = HYPER_XEN;
+
+       } else if (has_pci_device(0x5853, 0x0001)) {
+               /* Xen full-virt on non-x86_64 */
+               cpu->hyper = HYPER_XEN;
+               cpu->virtype = VIRT_FULL;
+       }
+}
+
+static void
+read_topology(struct cpu_desc *cpu)
+{
+       /* number of threads */
+       cpu->ct_thread = path_sibling(
+                               _PATH_SYS_CPU0 "/topology/thread_siblings");
+
+       /* number of cores */
+       cpu->ct_core = path_sibling(
+                               _PATH_SYS_CPU0 "/topology/core_siblings")
+                       / cpu->ct_thread;
+
+       /* number of sockets */
+       cpu->ct_socket = cpu->ct_cpu / cpu->ct_core / cpu->ct_thread;
+}
+
+static void
+read_cache(struct cpu_desc *cpu)
+{
+       char buf[256];
+       DIR *dp;
+       struct dirent *dir;
+       int level, type;
+
+       dp = opendir(_PATH_SYS_CPU0 "/cache");
+       if (dp == NULL)
+               err(EXIT_FAILURE, _("error: %s"), _PATH_SYS_CPU0 "/cache");
+
+       while ((dir = readdir(dp)) != NULL) {
+               if (!strcmp(dir->d_name, ".")
+                   || !strcmp(dir->d_name, ".."))
+                       continue;
+
+               /* cache type */
+               path_scanstr(buf, _PATH_SYS_CPU0 "/cache/%s/type", dir->d_name);
+               if (!strcmp(buf, "Data"))
+                       type = 'd';
+               else if (!strcmp(buf, "Instruction"))
+                       type = 'i';
+               else
+                       type = 0;
+
+               /* cache level */
+               path_scanstr(buf, _PATH_SYS_CPU0 "/cache/%s/level", dir->d_name);
+               level = atoi(buf);
+
+               if (type)
+                       snprintf(buf, sizeof(buf), "L%d%c", level, type);
+               else
+                       snprintf(buf, sizeof(buf), "L%d", level);
+
+               cpu->cache[cpu->ct_cache].caname = xstrdup(buf);
+
+               /* cache size */
+               path_scanstr(buf, _PATH_SYS_CPU0 "/cache/%s/size", dir->d_name);
+               cpu->cache[cpu->ct_cache].casize = xstrdup(buf);
+
+               /* information about how CPUs share different caches */
+               cpu->cache[cpu->ct_cache].camap = path_sibling(
+                               _PATH_SYS_CPU0 "/cache/%s/shared_cpu_map",
+                               dir->d_name);
+               cpu->ct_cache++;
+       }
+}
+
+static void
+read_nodes(struct cpu_desc *cpu)
+{
+       int i;
+
+       /* number of NUMA node */
+       while (path_exist(_PATH_SYS_SYSTEM "/node/node%d", cpu->ct_node))
+               cpu->ct_node++;
+
+       cpu->nodecpu = (int *) malloc(cpu->ct_node * sizeof(int));
+       if (!cpu->nodecpu)
+               err(EXIT_FAILURE, _("error: malloc failed"));
+
+       /* information about how nodes share different CPUs */
+       for (i = 0; i < cpu->ct_node; i++)
+               cpu->nodecpu[i] = path_sibling(
+                                       _PATH_SYS_SYSTEM "/node/node%d/cpumap",
+                                       i);
+}
+
+static void
+check_system(void)
+{
+       /* Read through sysfs. */
+       if (access(_PATH_SYS_SYSTEM, F_OK))
+               errx(EXIT_FAILURE,
+                    _("error: /sys filesystem is not accessable."));
+
+       if (!access(_PATH_SYS_SYSTEM "/node", F_OK))
+               have_node = 1;
+
+       if (!access(_PATH_SYS_CPU0 "/topology/thread_siblings", F_OK))
+               have_topology = 1;
+
+       if (!access(_PATH_SYS_CPU0 "/cache", F_OK))
+               have_cache = 1;
+}
+
+static void
+print_parsable(struct cpu_desc *cpu)
+{
+       int i, j;
+
+       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"
+       "# CPU,Core,Socket,Node"));
+
+       if (have_cache) {
+               /* separator between CPU topology and cache information */
+               putchar(',');
+
+               for (i = cpu->ct_cache - 1; i >= 0; i--)
+                       printf(",%s", cpu->cache[i].caname);
+       }
+       putchar('\n');
+
+       for (i = 0; i < cpu->ct_cpu; i++) {
+               printf("%d", i);
+
+               if (have_topology)
+                       printf(",%d,%d",
+                               i / cpu->ct_thread,
+                               i / cpu->ct_core / cpu->ct_thread);
+               else
+                       printf(",,");
+
+               if (have_node) {
+                       int c = 0;
+
+                       for (j = 0; j < cpu->ct_node; j++) {
+                               c += cpu->nodecpu[j];
+                               if (i < c) {
+                                       printf(",%d", j);
+                                       break;
+                               }
+                       }
+               } else
+                       putchar(',');
+
+               if (have_cache) {
+                       putchar(',');
+
+                       for (j = cpu->ct_cache - 1; j >= 0; j--) {
+                               /* If shared_cpu_map is 0, all CPUs share the same
+                                  cache. */
+                               if (cpu->cache[j].camap == 0)
+                                       cpu->cache[j].camap = cpu->ct_core *
+                                                             cpu->ct_thread;
+
+                               printf(",%d", i / cpu->cache[j].camap);
+                       }
+               }
+               putchar('\n');
+       }
+}
+
+
+/* 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_readable(struct cpu_desc *cpu)
+{
+       print_s("Architecture:", cpu->arch);
+       print_n("CPU(s):", cpu->ct_cpu);
+
+       if (have_topology) {
+               print_n(_("Thread(s) per core:"), cpu->ct_thread);
+               print_n(_("Core(s) per socket:"), cpu->ct_core);
+               print_n(_("CPU socket(s):"), cpu->ct_socket);
+       }
+
+       if (have_node)
+               print_n(_("NUMA node(s):"), cpu->ct_node);
+       if (cpu->vendor)
+               print_s(_("Vendor ID:"), cpu->vendor);
+       if (cpu->family)
+               print_s(_("CPU family:"), cpu->family);
+       if (cpu->model)
+               print_s(_("Model:"), cpu->model);
+       if (cpu->stepping)
+               print_s(_("Stepping:"), cpu->stepping);
+       if (cpu->mhz)
+               print_s(_("CPU MHz:"), cpu->mhz);
+       if (cpu->virtflag) {
+               if (!strcmp(cpu->virtflag, "svm"))
+                       print_s(_("Virtualization:"), "AMD-V");
+               else if (!strcmp(cpu->virtflag, "vmx"))
+                       print_s(_("Virtualization:"), "VT-x");
+       }
+       if (cpu->hyper) {
+               print_s(_("Hypervisor vendor:"), hv_vendors[cpu->hyper]);
+               print_s(_("Virtualization type:"), virt_types[cpu->virtype]);
+       }
+       if (have_cache) {
+               char buf[512];
+               int i;
+
+               for (i = cpu->ct_cache - 1; i >= 0; i--) {
+                       snprintf(buf, sizeof(buf),
+                                       _("%s cache:"), cpu->cache[i].caname);
+                       print_s(buf, cpu->cache[i].casize);
+               }
+       }
+}
+
+void usage(int rc)
+{
+       printf(_("Usage: %s [option]\n"),
+                       program_invocation_short_name);
+
+       puts(_( "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"));
+       exit(rc);
+}
+
+static int
+ca_compare(const void *a, const void *b)
+{
+       struct ca_desc *cache1 = (struct ca_desc *) a;
+       struct ca_desc *cache2 = (struct ca_desc *) b;
+
+       return strcmp(cache2->caname, cache1->caname);
+}
+
+int main(int argc, char *argv[])
+{
+       struct cpu_desc _cpu, *cpu = &_cpu;
+       int parsable = 0, c;
+
+       struct option longopts[] = {
+               { "help",       no_argument,       0, 'h' },
+               { "parse",      no_argument,       0, 'p' },
+               { "sysroot",    required_argument, 0, 's' },
+               { NULL,         0, 0, 0 }
+       };
+
+       setlocale(LC_MESSAGES, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+
+       while((c = getopt_long(argc, argv, "hps:", longopts, NULL)) != -1) {
+               switch (c) {
+               case 'h':
+                       usage(EXIT_SUCCESS);
+               case 'p':
+                       parsable = 1;
+                       break;
+               case 's':
+                       strncpy(pathbuf, optarg, sizeof(pathbuf));
+                       break;
+               default:
+                       usage(EXIT_FAILURE);
+               }
+       }
+
+       if (chdir(pathbuf) == -1)
+               errx(EXIT_FAILURE,
+                    _("error: change working directory to %s."), pathbuf);
+
+       memset(cpu, 0, sizeof(*cpu));
+
+       check_system();
+
+       read_basicinfo(cpu);
+
+       if (have_topology)
+               read_topology(cpu);
+       if (have_cache) {
+               read_cache(cpu);
+               qsort(cpu->cache, cpu->ct_cache, sizeof(struct ca_desc), ca_compare);
+       }
+       if (have_node)
+               read_nodes(cpu);
+
+       read_hypervisor(cpu);
+
+       /* Show time! */
+       if (parsable)
+               print_parsable(cpu);
+       else
+               print_readable(cpu);
+
+       return EXIT_SUCCESS;
+}
diff --git a/sys-utils/pivot_root.8 b/sys-utils/pivot_root.8
new file mode 100644 (file)
index 0000000..d982813
--- /dev/null
@@ -0,0 +1,67 @@
+.TH PIVOT_ROOT 8 "Feb 23, 2000" "Linux" "Maintenance Commands"
+.SH NAME
+pivot_root \- change the root file system
+.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 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 umount (8)
+.SH AVAILABILITY
+The pivot_root command is part of the util-linux-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/sys-utils/pivot_root.c b/sys-utils/pivot_root.c
new file mode 100644 (file)
index 0000000..f2a6f48
--- /dev/null
@@ -0,0 +1,33 @@
+/*
+ * 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 <stdio.h>
+#include <sys/syscall.h>
+#include <unistd.h>
+
+#define pivot_root(new_root,put_old) syscall(SYS_pivot_root,new_root,put_old)
+
+int main(int argc, const char **argv)
+{
+       if (argc != 3) {
+               fprintf(stderr, "usage: %s new_root put_old\n", argv[0]);
+               return 1;
+       }
+       if (pivot_root(argv[1], argv[2]) < 0) {
+               perror("pivot_root");
+               return 1;
+       }
+       return 0;
+}
diff --git a/sys-utils/rdev.8 b/sys-utils/rdev.8
new file mode 100644 (file)
index 0000000..16d6420
--- /dev/null
@@ -0,0 +1,207 @@
+.\" Copyright 1992, 1993 Rickard E. Faith (faith@cs.unc.edu)
+.\" May be distributed under the GNU General Public License
+.\" Changes from sct@dcs.ed.ac.uk added Sat Oct  9 09:54:00 1993.
+.TH RDEV 8 "20 November 1993" "Linux 0.99" "Linux Programmer's Manual"
+.SH NAME
+rdev \- query/set image root device, RAM disk size, or video mode
+.SH SYNOPSIS
+.B rdev
+.RB [ \-Rrvh ]
+.RB [ \-o
+.IR offset ]
+.RI [ image
+.RI [ value
+.RI [  offset ]]]
+.br
+.B rdev
+.RB [ \-o
+.IR offset ]
+.RI [ image
+.RI [ root_device
+.RI [  offset ]]]
+.br
+.B ramsize
+.RB [ \-o
+.IR offset ]
+.RI [ image
+.RI [ size
+.RI [  offset ]]]
+.br
+.B vidmode
+.RB [ \-o
+.IR offset ]
+.RI [ image
+.RI [ mode
+.RI [  offset ]]]
+.br
+.B rootflags
+.RB [ \-o
+.IR offset ]
+.RI [ image
+.RI [ flags
+.RI [  offset ]]]
+.SH DESCRIPTION
+With no arguments,
+.B rdev
+outputs an
+.I /etc/mtab
+line for the current root file system.
+With no arguments,
+.BR ramsize ", " vidmode ", and " rootflags
+print usage information.
+
+In a bootable image for the Linux kernel on i386, there are several pairs
+of bytes which specify the root device, the video mode, and the size of
+the RAM disk.  These pairs of bytes, by default, begin
+at offset 504 (decimal) in the kernel image:
+
+.nf
+.RS
+ 498 Root flags
+(500 and 502 Reserved)
+ 504 RAM Disk Size
+ 506 VGA Mode
+ 508 Root Device
+(510 Boot Signature)
+.RE
+.fi
+
+.B rdev
+will change these values.
+
+Typical values for the
+.I image
+parameter, which is a bootable Linux kernel image, might be:
+
+.nf
+.RS
+/vmlinux
+/vmunix
+/boot/bzImage-2.4.0
+/dev/fd0
+/dev/fd1
+.RE
+.fi
+
+When using the
+.B rdev
+command, the
+.I root_device
+parameter might be something like:
+
+.nf
+.RS
+/dev/hda1
+/dev/hdf13
+/dev/sda2
+/dev/sdc4
+/dev/ida/c0d0p1
+.RE
+.fi
+
+One may also specify the device by a comma-separated pair
+of decimal integers
+.IR major , minor .
+
+For the
+.B ramsize
+command, the
+.I size
+parameter specifies the size of the RAM disk in kilobytes. 2.0.x kernels
+and newer dynamically allocate the ramdisk and do not need this setting.
+
+For the
+.B rootflags
+command, the
+.I flags
+parameter contains extra information used when mounting root.
+Currently the only effect of these flags is to force the kernel to
+mount the root filesystem in readonly mode if
+.I flags
+is non-zero.
+
+For the
+.B vidmode
+command, the
+.I mode
+parameter specifies the video mode:
+
+.nf
+.RS
+-3 = Prompt
+-2 = Extended VGA
+-1 = Normal VGA
+ 0 = as if "0" was pressed at the prompt
+ 1 = as if "1" was pressed at the prompt
+ 2 = as if "2" was pressed at the prompt
+ n = as if "n" was pressed at the prompt
+.RE
+.fi
+
+If the
+.I value
+is not specified, the
+.I image
+will be examined to determine the current settings.
+.SH OPTIONS
+.TP
+.B \-r
+Causes
+.B rdev
+to act like
+.BR ramsize
+(Not relevant for 2.0.x and newer kernels).
+.TP
+.B \-R
+Causes
+.B rdev
+to act like
+.BR rootflags .
+.TP
+.B \-v
+Causes
+.B rdev
+to act like
+.BR vidmode .
+.TP
+.B \-h
+Provides help.
+.SH BUGS
+The
+.B rdev
+utility, when used other than to find a name for the current root device,
+is an ancient hack that works by patching a kernel image at a magic offset
+with magic numbers. It does not work on architectures other than i386.
+Its use is strongly discouraged. Use a boot loader like SysLinux or LILO
+instead.
+.SH HISTORY
+At offset 502 there used to be the device number of the swap device
+(in Linux 0.12), and "rdev -s" or "swapdev" would set this.
+However, since Linux 0.95 this constant is not used any longer,
+and the swap device is specified using the
+.BR swapon (2)
+system call.
+
+At offset 504 there used to be the size of the ramdisk in kilobytes.
+One would specify a size, and this much was grabbed off the top of memory.
+In Linux 1.1.39 it became also possible to set this value on the kernel
+command line.
+In Linux 1.3.48 the ramdisk setup was changed. Ramdisk memory is now
+taken from the buffer cache, so that the ramdisk can grow dynamically.
+The interpretation of the ramdisk word was changed to a word of which
+the high order bit is a prompt flag (1: prompt for ramdisk:
+"VFS: Insert ramdisk floppy and press ENTER" - this is needed with a
+two-floppy boot), the next bit a load flag (1: load ramdisk),
+and the low order 11 bits give the starting block number of the
+root filesystem image (so that one can have a single floppy boot).
+See also
+.IR linux/Documentation/ramdisk.txt .
+.SH AUTHORS
+.nf
+Originally by Werner Almesberger (almesber@nessie.cs.id.ethz.ch)
+Modified by Peter MacDonald (pmacdona@sanjuan.UVic.CA)
+rootflags support added by Stephen Tweedie (sct@dcs.ed.ac.uk)
+.fi
+.SH AVAILABILITY
+The rdev command is part of the util-linux-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/sys-utils/rdev.c b/sys-utils/rdev.c
new file mode 100644 (file)
index 0000000..14fac81
--- /dev/null
@@ -0,0 +1,279 @@
+/*
+
+  rdev.c  -  query/set root device.
+
+-------------------------------------------------------------------------
+
+Date: Sun, 27 Dec 1992 15:55:31 +0000
+Subject: Re: rdev
+From: almesber@nessie.cs.id.ethz.ch (Werner Almesberger)
+To: Rik Faith <faith@cs.unc.edu>
+
+There are quite a few versions of rdev:
+
+  - the original rootdev that only printed the current root device, by
+    Linus.
+  - rdev that does what rootdev did and that also allows you to change
+    the root (and swap) device, by me.
+  - rdev got renamed to setroot and I think even to rootdev on various
+    distributions.
+  - Peter MacDonald added video mode and RAM disk setting and included
+    this version on SLS, called rdev again. I've attached his rdev.c to
+    this mail.
+    
+-------------------------------------------------------------------------
+    
+Date: 11 Mar 92 21:37:37 GMT
+Subject: rdev - query/set root device
+From: almesber@nessie.cs.id.ethz.ch (Werner Almesberger)
+Organization: Swiss Federal Institute of Technology (ETH), Zurich, CH
+
+With all that socket, X11, disk driver and FS hacking going on, apparently
+nobody has found time to address one of the minor nuisances of life: set-
+ting the root FS device is still somewhat cumbersome. I've written a little
+utility which can read and set the root device in boot images:
+
+rdev accepts an optional offset argument, just in case the address should
+ever move from 508. If called without arguments, rdev outputs an mtab line
+for the current root FS, just like /etc/rootdev does.
+
+ramsize sets the size of the ramdisk.  If size is zero, no ramdisk is used.
+
+vidmode sets the default video mode at bootup time.  -1 uses default video
+mode, -2 uses menu.
+
+-------------------------------------------------------------------------
+
+Sun Dec 27 10:42:16 1992: Minor usage changes, faith@cs.unc.edu.
+Tue Mar 30 09:31:52 1993: rdev -Rn to set root readonly flag, sct@dcs.ed.ac.uk
+Wed Jun 22 21:12:29 1994: Applied patches from Dave
+                          (gentzel@nova.enet.dec.com) to prevent dereferencing
+                         the NULL pointer, faith@cs.unc.edu
+1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+- added Native Language Support
+
+-------------------------------------------------------------------------
+
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <dirent.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+
+#include "nls.h"
+
+/* rdev.c  -  query/set root device. */
+
+static void
+usage(void) {
+
+    puts(_("usage: rdev [ -rv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]"));
+    puts(_("  rdev /dev/fd0  (or rdev /linux, etc.) displays the current ROOT device"));
+    puts(_("  rdev /dev/fd0 /dev/hda2         sets ROOT to /dev/hda2"));
+    puts(_("  rdev -R /dev/fd0 1              set the ROOTFLAGS (readonly status)"));
+    puts(_("  rdev -r /dev/fd0 627            set the RAMDISK size"));
+    puts(_("  rdev -v /dev/fd0 1              set the bootup VIDEOMODE"));
+    puts(_("  rdev -o N ...                   use the byte offset N"));
+    puts(_("  rootflags ...                   same as rdev -R"));
+    puts(_("  ramsize ...                     same as rdev -r"));
+    puts(_("  vidmode ...                     same as rdev -v"));
+    puts(_("Note: video modes are: -3=Ask, -2=Extended, -1=NormalVga, 1=key1, 2=key2,..."));
+    puts(_("      use -R 1 to mount root readonly, -R 0 for read/write."));
+    exit(-1);
+}
+
+
+#define DEFAULT_OFFSET 508
+
+
+static void
+die(char *msg) {
+       perror(msg);
+       exit(1);
+}
+
+/* Earlier rdev fails on /dev/ida/c0d0p1 so we allow for
+   recursion in /dev. -- Paul Clements */
+/* In fact devfs needs deep recursion. */
+
+static int
+find_dev_recursive(char *dirnamebuf, int number) {
+       DIR *dp;
+       struct dirent *dir;
+       struct stat s;
+       int dirnamelen = 0;
+
+       if ((dp = opendir(dirnamebuf)) == NULL)
+               die("opendir");
+       dirnamelen = strlen(dirnamebuf);
+       while ((dir = readdir(dp)) != NULL) {
+               if (!strcmp(dir->d_name, ".") || !strcmp(dir->d_name, ".."))
+                       continue;
+               if (dirnamelen + 1 + strlen(dir->d_name) > PATH_MAX)
+                       continue;
+               dirnamebuf[dirnamelen] = '/';
+               strcpy(dirnamebuf+dirnamelen+1, dir->d_name);
+               if (lstat(dirnamebuf, &s) < 0)
+                       continue;
+               if ((s.st_mode & S_IFMT) == S_IFBLK && s.st_rdev == number)
+                       return 1;
+               if ((s.st_mode & S_IFMT) == S_IFDIR &&
+                   find_dev_recursive(dirnamebuf, number))
+                       return 1;
+       }
+       dirnamebuf[dirnamelen] = 0;
+       closedir(dp);
+       return 0;
+}
+
+static char *
+find_dev(int number) {
+       static char name[PATH_MAX+1];
+
+       if (!number)
+               return "Boot device";
+       strcpy(name, "/dev");
+       if (find_dev_recursive(name, number))
+               return name;
+       sprintf(name, "0x%04x", number);
+       return name;
+}
+
+/* The enum values are significant, things are stored in this order,
+   see bootsect.S */
+enum { RDEV, VIDMODE, RAMSIZE, __swapdev__, __syssize__, ROOTFLAGS };
+char *cmdnames[6] = { "rdev", "vidmode",  "ramsize", "", 
+                     "", "rootflags"};
+char *desc[6] = { "Root device", "Video mode",  "Ramsize",  "",
+                 "", "Root flags"};
+#define shift(n) argv+=n,argc-=n
+
+int
+main(int argc, char **argv) {
+       int image, offset, dev_nr, i, newoffset=-1;
+       char *ptr;
+       unsigned short val, have_val;
+       struct stat s;
+       int cmd;
+
+       setlocale(LC_ALL, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+
+       /* use the command name to figure out what we have to do - ugly */
+       cmd = RDEV;
+       if ((ptr = strrchr(argv[0],'/')) != NULL)
+               ptr++;
+       else
+               ptr = argv[0];
+       for (i=0; i<=5; i++) {
+               if (!strcmp(ptr,cmdnames[i])) {
+                       cmd = i;
+                       break;
+               }
+       }
+
+       while (argc > 1) { 
+               if (argv[1][0] != '-')
+                       break;
+               switch (argv[1][1]) {
+               case 'R':
+                       cmd = ROOTFLAGS;
+                       shift(1);
+                       break;
+               case 'r': 
+                       cmd = RAMSIZE;
+                       shift(1);
+                       break;
+               case 'v':
+                       cmd = VIDMODE;
+                       shift(1);
+                       break;
+               case 'o':
+                       if (argv[1][2]) {
+                               newoffset = atoi(argv[1]+2);
+                               shift(1);
+                               break;
+                       } else if (argc > 2) {
+                               newoffset = atoi(argv[2]);
+                               shift(2);
+                               break;
+                       }
+                       /* Fall through. . . */
+               default:
+                       usage();
+               }
+       }
+
+       /* Here the only sensible way of using rdev */
+       if (argc == 1) {
+               if (cmd == RDEV) {
+                       if (stat("/",&s) < 0) die("/");
+                       printf("%s /\n", find_dev(s.st_dev));
+                       exit(0);
+               }
+               usage();
+       }
+
+       if (argc > 4)
+               usage();
+
+       /* Ancient garbage.. */
+       offset = DEFAULT_OFFSET-cmd*2;
+       if (newoffset >= 0)
+               offset = newoffset;
+       if (argc == 4)
+               offset = atoi(argv[3]);
+
+       have_val = 0;
+
+       if (argc >= 3) {
+               if (cmd == RDEV) {
+                       if (isdigit(*argv[2])) {
+                               /* earlier: specify offset */
+                               /* now: specify major,minor */
+                               char *p;
+                               unsigned int ma,mi;
+                               if ((p = strchr(argv[2], ',')) == NULL)
+                                       die(_("missing comma"));
+                               ma = atoi(argv[2]);
+                               mi = atoi(p+1);
+                               val = ((ma<<8) | mi);
+                       } else {
+                               char *device = argv[2];
+                               if (stat(device,&s) < 0)
+                                       die(device);
+                               val = s.st_rdev;
+                       }
+               } else {
+                       val = atoi(argv[2]);
+               }
+               have_val = 1;
+       }
+
+       if (have_val) {
+               if ((image = open(argv[1],O_WRONLY)) < 0) die(argv[1]);
+               if (lseek(image,offset,0) < 0) die("lseek");
+               if (write(image,(char *)&val,2) != 2) die(argv[1]);
+               if (close(image) < 0) die("close");
+       } else {
+               if ((image = open(argv[1],O_RDONLY)) < 0) die(argv[1]);
+               if (lseek(image,offset,0) < 0) die("lseek");
+               dev_nr = 0;
+               if (read(image,(char *)&dev_nr,2) != 2) die(argv[1]);
+               if (close(image) < 0) die("close");
+               fputs(desc[cmd], stdout);
+               if (cmd == RDEV)
+                       printf(" %s\n", find_dev(dev_nr));
+               else
+                       printf(" %d\n", dev_nr);
+       }
+       return 0;
+}
diff --git a/sys-utils/readprofile.1 b/sys-utils/readprofile.1
new file mode 100644 (file)
index 0000000..dc65053
--- /dev/null
@@ -0,0 +1,169 @@
+.TH READPROFILE 1 "May 1996"
+.UC 4
+.SH NAME
+readprofile - a tool to 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.
+
+.LP
+Available command line options are the following:
+
+.TP
+.BI \-m " mapfile"
+Specify a mapfile, which by default is
+.B /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
+.BI \-p " pro-file"
+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
+.B \-i
+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
+.B \-a
+Print all symbols in the mapfile. By default the procedures with 0 reported
+ticks are not printed.
+
+.TP
+.B \-b
+Print individual histogram-bin counts.
+
+.TP
+.B \-r
+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
+.BI \-M " multiplier"
+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
+.B \-v
+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
+.B \-V
+Version. This makes
+.B readprofile
+print its version number 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-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/sys-utils/readprofile.c b/sys-utils/readprofile.c
new file mode 100644 (file)
index 0000000..52f5d8c
--- /dev/null
@@ -0,0 +1,416 @@
+/*
+ *  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., 675 Mass Ave, Cambridge, MA 02139, 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 <stdio.h>
+#include <fcntl.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/utsname.h>
+#include "nls.h"
+
+#define S_LEN 128
+
+static char *prgname;
+
+/* These are the defaults */
+static char defaultmap[]="/boot/System.map";
+static char defaultpro[]="/proc/profile";
+static char optstring[]="M:m:np:itvarVbs";
+
+static void *
+xmalloc (size_t size) {
+       void *t;
+
+       if (size == 0)
+               return NULL;
+
+       t = malloc (size);
+       if (t == NULL) {
+               fprintf(stderr, _("out of memory"));
+               exit(1);
+       }
+
+       return t;
+}
+
+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
+usage(void) {
+       fprintf(stderr, _(
+               "%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"),
+               prgname, prgname, defaultmap, boot_uname_r_str(), defaultpro);
+       exit(1);
+}
+
+int
+main(int argc, char **argv) {
+       FILE *map;
+       int proFd;
+       char *mapFile, *proFile, *mult=0;
+       unsigned long 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;
+       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;
+
+#define next (current^1)
+
+       setlocale(LC_ALL, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+
+       prgname = argv[0];
+       proFile = defaultpro;
+       mapFile = defaultmap;
+
+       while ((c = getopt(argc, argv, optstring)) != -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(_("%s (%s)\n"), prgname,
+                              PACKAGE_STRING);
+                       exit(0);
+               default:
+                       usage();
+               }
+       }
+
+       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;
+                       to_write = 1;   /* sth different from sizeof(int) */
+               }
+               /* try to become root, just in case */
+               setuid(0);
+               fd = open(defaultpro,O_WRONLY);
+               if (fd < 0) {
+                       perror(defaultpro);
+                       exit(1);
+               }
+               if (write(fd, &multiplier, to_write) != to_write) {
+                       fprintf(stderr, _("readprofile: error writing %s: %s\n"),
+                               defaultpro, strerror(errno));
+                       exit(1);
+               }
+               close(fd);
+               exit(0);
+       }
+
+       /*
+        * 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)) {
+               fprintf(stderr,"%s: %s: %s\n",prgname,proFile,strerror(errno));
+               exit(1);
+       }
+
+       if (!(buf=malloc(len))) {
+               fprintf(stderr,"%s: malloc(): %s\n", prgname, strerror(errno));
+               exit(1);
+       }
+
+       if (read(proFd,buf,len) != len) {
+               fprintf(stderr,"%s: %s: %s\n",prgname,proFile,strerror(errno));
+               exit(1);
+       }
+       close(proFd);
+
+       if (!optNative) {
+               int entries = len/sizeof(*buf);
+               int big = 0,small = 0,i;
+               unsigned *p;
+
+               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) {
+                       fprintf(stderr,_("Assuming reversed byte order. "
+                               "Use -n to force native byte order.\n"));
+                       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(0);
+       } 
+
+       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) {
+               int errsv = errno;
+               fprintf(stderr, "%s: ", prgname);
+               errno = errsv;
+               perror(mapFile);
+               exit(1);
+       }
+
+       while (fgets(mapline,S_LEN,map)) {
+               if (sscanf(mapline,"%llx %s %s",&fn_add,mode,fn_name) != 3) {
+                       fprintf(stderr,_("%s: %s(%i): wrong map line\n"),
+                               prgname, mapFile, maplineno);
+                       exit(1);
+               }
+               /* only elf works like this */
+               if (!strcmp(fn_name,"_stext") || !strcmp(fn_name,"__stext")) {
+                       add0 = fn_add;
+                       break;
+               }
+               maplineno++;
+       }
+
+       if (!add0) {
+               fprintf(stderr,_("%s: can't find \"_stext\" in %s\n"),
+                       prgname, mapFile);
+               exit(1);
+       }
+
+       /*
+        * 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) {
+                       fprintf(stderr,_("%s: %s(%i): wrong map line\n"),
+                               prgname,mapFile, maplineno);
+                       exit(1);
+               }
+               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 */
+                       if ((*mode == 'A' || *mode == '?') && total == 0)
+                               continue;
+                       if (*mode != 'T' && *mode != 't' &&
+                           *mode != 'W' && *mode != 'w')
+                               break;  /* only text is profiled */
+               }
+
+               if (indx >= len / sizeof(*buf)) {
+                       fprintf(stderr, _("%s: profile address out of range. "
+                                         "Wrong map file?\n"), prgname);
+                       exit(1);
+               }
+
+               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(0);
+}
diff --git a/sys-utils/renice.1 b/sys-utils/renice.1
new file mode 100644 (file)
index 0000000..6885454
--- /dev/null
@@ -0,0 +1,150 @@
+.\" 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
+.\"
+.Dd June 9, 1993
+.Dt RENICE 1
+.Os BSD 4
+.Sh NAME
+.Nm renice
+.Nd alter priority of running processes
+.Sh SYNOPSIS
+.Nm renice
+.Op Fl n
+.Ar priority
+.Oo
+.Op Fl p
+.Ar pid ...
+.Oc
+.Oo
+.Op Fl g
+.Ar pgrp ...
+.Oc
+.Oo
+.Op Fl u
+.Ar user ...
+.Oc
+.Nm renice
+.Fl h | Fl v
+.Sh DESCRIPTION
+.Nm Renice
+alters the
+scheduling priority of one or more running processes.
+The following
+.Ar who
+parameters are interpreted as process ID's, process group
+ID's, or user names.
+.Nm Renice Ns 'ing
+a process group causes all processes in the process group
+to have their scheduling priority altered.
+.Nm Renice Ns '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
+Options supported by
+.Nm renice :
+.Bl -tag -width Ds
+.It Fl n, Fl Fl priority
+The scheduling
+.Ar priority
+of the process, process group, or user.
+.It Fl g, Fl Fl pgrp
+Force
+.Ar who
+parameters to be interpreted as process group ID's.
+.It Fl u, Fl Fl user
+Force the
+.Ar who
+parameters to be interpreted as user names.
+.It Fl p, Fl Fl pid
+Resets the
+.Ar who
+interpretation to be (the default) process ID's.
+.It Fl v, Fl Fl version
+Print version.
+.It Fl h, Fl Fl help
+Print help.
+.El
+.Pp
+For example,
+.Bd -literal -offset
+renice +1 987 -u daemon root -p 32
+.Ed
+.Pp
+would change the priority of process ID's 987 and 32, and
+all processes owned by users daemon and root.
+.Pp
+Users other than the super-user may only alter the priority of
+processes they own,
+and can only monotonically increase their ``nice value''
+within the range 0 to
+.Dv PRIO_MAX
+(20).
+(This prevents overriding administrative fiats.)
+The super-user
+may alter the priority of any process
+and set the priority to any value in the range
+.Dv PRIO_MIN
+(\-20)
+to
+.Dv 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
+.Bl -tag -width /etc/passwd -compact
+.It Pa /etc/passwd
+to map user names to user ID's
+.El
+.Sh SEE ALSO
+.Xr getpriority 2 ,
+.Xr 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.
+.br
+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
+.Nm
+command appeared in
+.Bx 4.0 .
+.Sh AVAILABILITY
+The renice command is part of the util-linux-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/sys-utils/renice.c b/sys-utils/renice.c
new file mode 100644 (file)
index 0000000..879e8bd
--- /dev/null
@@ -0,0 +1,171 @@
+/*
+ * 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"
+
+int donice(int,int,int);
+
+void usage(int rc)
+{
+       printf( _("\nUsage:\n"
+               " renice [-n] priority [-p|--pid] pid  [... pid]\n"
+               " renice [-n] priority  -g|--pgrp pgrp [... pgrp]\n"
+               " renice [-n] priority  -u|--user user [... user]\n"
+               " renice -h | --help\n"
+               " renice -v | --version\n\n"));
+
+       exit(rc);
+}
+
+/*
+ * 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);
+
+       argc--;
+       argv++;
+
+       if (argc == 1) {
+               if (strcmp(*argv, "-h") == 0 ||
+                   strcmp(*argv, "--help") == 0)
+                       usage(EXIT_SUCCESS);
+
+               if (strcmp(*argv, "-v") == 0 ||
+                   strcmp(*argv, "--version") == 0) {
+                       printf(_("renice from %s\n"), PACKAGE_STRING);
+                       exit(EXIT_SUCCESS);
+               }
+       }
+
+       if (argc < 2)
+               usage(EXIT_FAILURE);
+
+       if (strcmp(*argv, "-n") == 0 || strcmp(*argv, "--priority") == 0) {
+               argc--;
+               argv++;
+       }
+
+       prio = strtol(*argv, &endptr, 10);
+       if (*endptr)
+               usage(EXIT_FAILURE);
+
+       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) {
+                               fprintf(stderr, _("renice: %s: unknown user\n"),
+                                       *argv);
+                               continue;
+                       }
+                       who = pwd->pw_uid;
+               } else {
+                       who = strtol(*argv, &endptr, 10);
+                       if (who < 0 || *endptr) {
+                               fprintf(stderr, _("renice: %s: bad value\n"),
+                                       *argv);
+                               continue;
+                       }
+               }
+               errs += donice(which, who, prio);
+       }
+       return errs != 0 ? EXIT_FAILURE : EXIT_SUCCESS;
+}
+
+int
+donice(int which, int who, int prio) {
+       int oldprio, newprio;
+
+       errno = 0;
+       oldprio = getpriority(which, who);
+       if (oldprio == -1 && errno) {
+               fprintf(stderr, "renice: %d: ", who);
+               perror(_("getpriority"));
+               return 1;
+       }
+       if (setpriority(which, who, prio) < 0) {
+               fprintf(stderr, "renice: %d: ", who);
+               perror(_("setpriority"));
+               return 1;
+       }
+       errno = 0;
+       newprio = getpriority(which, who);
+       if (newprio == -1 && errno) {
+               fprintf(stderr, "renice: %d: ", who);
+               perror(_("getpriority"));
+               return 1;
+       }
+
+       printf(_("%d: old priority %d, new priority %d\n"),
+              who, oldprio, newprio);
+       return 0;
+}
diff --git a/sys-utils/rtcwake.8 b/sys-utils/rtcwake.8
new file mode 100644 (file)
index 0000000..f230e20
--- /dev/null
@@ -0,0 +1,131 @@
+.\" 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 "2007-07-13" "" "Linux Programmer's Manual"
+.SH NAME
+rtcwake - enter a system sleep state until specified wakeup time
+.SH SYNOPSIS
+.B rtcwake
+.RB [ \-hvVlua ]
+.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-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.
+.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 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.
+.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-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
+.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 (file)
index 0000000..4b84373
--- /dev/null
@@ -0,0 +1,487 @@
+/*
+ * 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"
+
+/* constants from legacy PC/AT hardware */
+#define        RTC_PF  0x40
+#define        RTC_AF  0x20
+#define        RTC_UF  0x10
+
+#define MAX_LINE               1024
+
+static char            *progname;
+
+#define VERSION_STRING         "rtcwake from " PACKAGE_STRING
+#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;
+enum ClockMode         clock_mode = CM_AUTO;
+
+static struct option long_options[] = {
+       {"auto",        no_argument,            0, 'a'},
+       {"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 usage(int retval)
+{
+       printf(_("usage: %s [options]\n"
+               "    -d | --device <device>    select rtc device (rtc0|rtc1|...)\n"
+               "    -l | --local              RTC uses local timezone\n"
+               "    -m | --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"
+               "    -V | --version            show version\n"),
+                       progname);
+       exit(retval);
+}
+
+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) {
+               perror(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) {
+               perror(_("read rtc time"));
+               return -1;
+       }
+       sys_time = time(0);
+       if (sys_time == (time_t)-1) {
+               perror(_("read system time"));
+               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 = rtc.tm_isdst;     /* stays unspecified? */
+       rtc_time = mktime(&tm);
+
+       if (rtc_time == (time_t)-1) {
+               perror(_("convert rtc time"));
+               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 (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) {
+                               perror(_("set rtc alarm"));
+                               return -1;
+                       }
+                       if (ioctl(fd, RTC_AIE_ON, 0) < 0) {
+                               perror(_("enable rtc alarm"));
+                               return -1;
+                       }
+               } else {
+                       perror(_("set rtc wake alarm"));
+                       return -1;
+               }
+       }
+
+       return 0;
+}
+
+static void suspend_system(const char *suspend)
+{
+       FILE    *f = fopen(SYS_POWER_STATE_PATH, "w");
+
+       if (!f) {
+               perror(SYS_POWER_STATE_PATH);
+               return;
+       }
+
+       fprintf(f, "%s\n", suspend);
+       fflush(f);
+
+       /* this executes after wake from suspend */
+       fclose(f);
+}
+
+
+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;
+}
+
+int main(int argc, char **argv)
+{
+       char            *devname = DEFAULT_DEVICE;
+       unsigned        seconds = 0;
+       char            *suspend = DEFAULT_MODE;
+
+       int             t;
+       int             fd;
+       time_t          alarm = 0;
+
+       setlocale(LC_ALL, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+
+       progname = basename(argv[0]);
+
+       while ((t = getopt_long(argc, argv, "ahd:lm:s:t:uVv",
+                                       long_options, NULL)) != EOF) {
+               switch (t) {
+               case 'a':
+                       /* CM_AUTO is default */
+                       break;
+
+               case 'd':
+                       devname = strdup(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
+                          ) {
+                               suspend = strdup(optarg);
+                               break;
+                       }
+                       fprintf(stderr,
+                               _("%s: unrecognized suspend state '%s'\n"),
+                               progname, optarg);
+                       usage(EXIT_FAILURE);
+
+                       /* alarm time, seconds-to-sleep (relative) */
+               case 's':
+                       t = atoi(optarg);
+                       if (t < 0) {
+                               fprintf(stderr,
+                                       _("%s: illegal interval %s seconds\n"),
+                                       progname, optarg);
+                               usage(EXIT_FAILURE);
+                       }
+                       seconds = t;
+                       break;
+
+                       /* alarm time, time_t (absolute, seconds since
+                        * 1/1 1970 UTC)
+                        */
+               case 't':
+                       t = atoi(optarg);
+                       if (t < 0) {
+                               fprintf(stderr,
+                                       _("%s: illegal time_t value %s\n"),
+                                       progname, optarg);
+                               usage(EXIT_FAILURE);
+                       }
+                       alarm = t;
+                       break;
+
+               case 'u':
+                       clock_mode = CM_UTC;
+                       break;
+
+               case 'v':
+                       verbose++;
+                       break;
+
+               case 'V':
+                       printf(_("%s: version %s\n"), progname, VERSION_STRING);
+                       exit(EXIT_SUCCESS);
+
+               case 'h':
+                       usage(EXIT_SUCCESS);
+
+               default:
+                       usage(EXIT_FAILURE);
+               }
+       }
+
+       if (clock_mode == CM_AUTO) {
+               if (read_clock_mode() < 0) {
+                       printf(_("%s: assuming RTC uses UTC ...\n"), progname);
+                       clock_mode = CM_UTC;
+               }
+       }
+       if (verbose)
+               printf(clock_mode == CM_UTC ? _("Using UTC time.\n") :
+                               _("Using local time.\n"));
+
+       if (!alarm && !seconds) {
+               fprintf(stderr, _("%s: must provide wake time\n"), progname);
+               usage(EXIT_FAILURE);
+       }
+
+       /* when devname doesn't start with /dev, append it */
+       if (strncmp(devname, "/dev/", strlen("/dev/")) != 0) {
+               char *new_devname;
+
+               new_devname = malloc(strlen(devname) + strlen("/dev/") + 1);
+               if (!new_devname) {
+                       perror(_("malloc() failed"));
+                       exit(EXIT_FAILURE);
+               }
+
+               strcpy(new_devname, "/dev/");
+               strcat(new_devname, devname);
+               free(devname);
+               devname = new_devname;
+       }
+
+       if (strcmp(suspend, "on") != 0 && strcmp(suspend, "no") != 0
+                       && !is_wakeup_enabled(devname)) {
+               fprintf(stderr, _("%s: %s not enabled for wakeup events\n"),
+                               progname, devname);
+               exit(EXIT_FAILURE);
+       }
+
+       /* this RTC must exist and (if we'll sleep) be wakeup-enabled */
+       fd = open(devname, O_RDONLY);
+       if (fd < 0) {
+               perror(devname);
+               exit(EXIT_FAILURE);
+       }
+
+       /* 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 (alarm) {
+               if (alarm < sys_time) {
+                       fprintf(stderr,
+                               _("%s: time doesn't go backward to %s\n"),
+                               progname, ctime(&alarm));
+                       exit(EXIT_FAILURE);
+               }
+               alarm += sys_time - rtc_time;
+       } else
+               alarm = rtc_time + seconds + 1;
+       if (setup_alarm(fd, &alarm) < 0)
+               exit(EXIT_FAILURE);
+
+       printf(_("%s: wakeup from \"%s\" using %s at %s\n"),
+                       progname, suspend, devname,
+                       ctime(&alarm));
+       fflush(stdout);
+       usleep(10 * 1000);
+
+       if (strcmp(suspend, "no") == 0)
+               exit(EXIT_SUCCESS);
+       else if (strcmp(suspend, "on") != 0) {
+               sync();
+               suspend_system(suspend);
+       } else {
+               unsigned long data;
+
+               do {
+                       t = read(fd, &data, sizeof data);
+                       if (t < 0) {
+                               perror(_("rtc read"));
+                               break;
+                       }
+                       if (verbose)
+                               printf("... %s: %03lx\n", devname, data);
+               } while (!(data & RTC_AF));
+       }
+
+       if (ioctl(fd, RTC_AIE_OFF, 0) < 0)
+               perror(_("disable rtc alarm interrupt"));
+
+       close(fd);
+
+       exit(EXIT_SUCCESS);
+}
diff --git a/sys-utils/setarch.8 b/sys-utils/setarch.8
new file mode 100644 (file)
index 0000000..6c2d1bd
--- /dev/null
@@ -0,0 +1,73 @@
+.TH SETARCH 8 "Jun 2007" setarch "Linux Programmer's Manual"
+.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
+.I 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 "\-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
+Elliot Lee <sopwith@redhat.com>
+.br
+Jindrich Novy <jnovy@redhat.com>
+.SH AVAILABILITY
+The setarch command is part of the util-linux-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/sys-utils/setarch.c b/sys-utils/setarch.c
new file mode 100644 (file)
index 0000000..c5f885b
--- /dev/null
@@ -0,0 +1,328 @@
+/*
+ * Copyright (C) 2003-2007 Red Hat, Inc.
+ *
+ * This file is part of util-linux-ng.
+ *
+ * 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 <errno.h>
+#include <error.h>
+#include <getopt.h>
+#include <limits.h>
+#include <sys/utsname.h>
+#include "nls.h"
+
+#define set_pers(pers) ((long)syscall(SYS_personality, pers))
+
+/* Option --4gb has no equivalent short option, use a non-character as a
+   pseudo short option. */
+#define OPT_4GB (CHAR_MAX+1)
+
+#define turn_on(_flag, _opts) \
+       do { \
+               (_opts) |= _flag; \
+               if (verbose) \
+                       printf(_("Switching on %s.\n"), #_flag); \
+       } while(0)
+
+
+#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
+
+/* Options --3gb and --4gb are for compatibitity with an old Debian setarch
+   implementation. */
+struct option longopts[] =
+{
+    { "help",               0, 0, 'h' },
+    { "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 },
+    { NULL,                 0, 0, 0 }
+};
+
+static void __attribute__((__noreturn__))
+show_help(void)
+{
+  const char *p = program_invocation_short_name;
+
+  if (!*p)
+    p = "setarch";
+
+  printf(_("Usage: %s%s [options] [program [program arguments]]\n\nOptions:\n"),
+         p, !strcmp(p, "setarch") ? " <arch>" : "");
+
+   printf(_(
+   " -h, --help               displays this help text\n"
+   " -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"));
+
+  printf(_("\nFor more information see setarch(8).\n"));
+  exit(EXIT_SUCCESS);
+}
+
+static void __attribute__((__noreturn__))
+show_usage(const char *s)
+{
+  const char *p = program_invocation_short_name;
+
+  if (!*p)
+    p = "setarch";
+
+  fprintf(stderr, _("%s: %s\nTry `%s --help' for more information.\n"), p, s, p);
+  exit(EXIT_FAILURE);
+}
+
+
+int set_arch(const char *pers, unsigned long options)
+{
+  struct utsname un;
+  int i;
+  unsigned long pers_value, res;
+
+  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)
+    error(EXIT_FAILURE, 0, _("%s: Unrecognized architecture"), pers);
+
+  pers_value = transitions[i].perval | options;
+  res = set_pers(pers_value);
+  if(res == -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")))
+      error(EXIT_FAILURE, 0, _("%s: Unrecognized architecture"), pers);
+  }
+
+  return 0;
+}
+
+int main(int argc, char *argv[])
+{
+  const char *p;
+  unsigned long options = 0;
+  int verbose = 0;
+  int c;
+
+  setlocale(LC_ALL, "");
+  bindtextdomain(PACKAGE, LOCALEDIR);
+  textdomain(PACKAGE);
+
+  if (argc < 1)
+    show_usage(_("Not enough arguments"));
+
+  p = program_invocation_short_name;
+  if (!strcmp(p, "setarch")) {
+    argv++;
+    argc--;
+    if (argc < 1)
+      show_usage(_("Not enough arguments"));
+    p = argv[0];
+    argv[0] = argv[-1];      /* for getopt_long() to get the program name */
+    if (!strcmp(p, "-h") || !strcmp(p, "--help"))
+      show_help();
+  }
+  #if defined(__sparc64__) || defined(__sparc__)
+   if (!strcmp(p, "sparc32bash")) {
+       if (set_arch(p, 0L))
+           error(EXIT_FAILURE, errno, _("Failed to set personality to %s"), p);
+       execl("/bin/bash", NULL);
+       error(EXIT_FAILURE, errno, "/bin/bash");
+   }
+  #endif
+
+  while ((c = getopt_long(argc, argv, "+hv3BFILRSTXZ", longopts, NULL)) != -1) {
+    switch (c) {
+    case 'h':
+      show_help();
+      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;
+    }
+  }
+
+  argc -= optind;
+  argv += optind;
+
+  if (set_arch(p, options))
+    error(EXIT_FAILURE, errno, _("Failed to set personality to %s"), p);
+
+  if (!argc) {
+    execl("/bin/sh", "-sh", NULL);
+    error(EXIT_FAILURE, errno, "/bin/sh");
+  }
+
+  execvp(argv[0], argv);
+  error(EXIT_FAILURE, errno, "%s", argv[0]);
+  return EXIT_FAILURE;
+}
diff --git a/sys-utils/setsid.1 b/sys-utils/setsid.1
new file mode 100644 (file)
index 0000000..5e9671c
--- /dev/null
@@ -0,0 +1,20 @@
+.\" Rick Sladkey <jrs@world.std.com>
+.\" In the public domain.
+.\" Path modifications by faith@cs.unc.edu
+.TH SETSID 1 "20 November 1993" "Linux 0.99" "Linux Programmer's Manual"
+.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 "SEE ALSO"
+.BR setsid (2)
+.SH AUTHOR
+Rick Sladkey <jrs@world.std.com>
+.SH AVAILABILITY
+The setsid command is part of the util-linux-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/sys-utils/setsid.c b/sys-utils/setsid.c
new file mode 100644 (file)
index 0000000..baf3b0a
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+ * 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 <stdio.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include "nls.h"
+
+int
+main(int argc, char *argv[]) {
+       setlocale(LC_ALL, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+       
+       if (argc < 2) {
+               fprintf(stderr, _("usage: %s program [arg ...]\n"),
+                       argv[0]);
+               exit(1);
+       }
+       if (getpgrp() == getpid()) {
+               switch(fork()){
+               case -1:
+                       perror("fork");
+                       exit(1);
+               case 0:         /* child */
+                       break;
+               default:        /* parent */
+                       exit(0);
+               }
+       }
+       if (setsid() < 0) {
+               perror("setsid"); /* cannot happen */
+               exit(1);
+       }
+       execvp(argv[1], argv + 1);
+       perror("execvp");
+       exit(1);
+}
diff --git a/sys-utils/switch_root.8 b/sys-utils/switch_root.8
new file mode 100644 (file)
index 0000000..4fdc8e9
--- /dev/null
@@ -0,0 +1,48 @@
+.\" Karel Zak <kzak@redhat.com>
+.TH SWITCH_ROOT 8 "June 2009" "Linux"
+.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 "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-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/sys-utils/switch_root.c b/sys-utils/switch_root.c
new file mode 100644 (file)
index 0000000..174e667
--- /dev/null
@@ -0,0 +1,273 @@
+/*
+ * 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 <err.h>
+#include <libgen.h>
+
+#ifndef MS_MOVE
+#define MS_MOVE 8192
+#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("failed to stat directory");
+               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("failed to stat %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;
+}
+
+/* find the enclosing mount point of a path, by examining the backing device
+ * of parent directories until we reach / or find a parent with a differing
+ * device. Result must be freed.
+ */
+static char *get_parent_mount(const char *path)
+{
+       struct stat sb;
+       char *dir;
+       char tmp[PATH_MAX];
+       dev_t inner_dev;
+
+       if (stat(path, &sb) != 0) {
+               warn("failed to stat %s", path);
+               return NULL;
+       }
+
+       inner_dev = sb.st_dev;
+       dir = strdup(path);
+
+       while (dir) {
+               char *parent;
+
+               strncpy(tmp, dir, PATH_MAX);
+               tmp[PATH_MAX - 1] = '\0';
+               parent = dirname(tmp);
+
+               if (stat(parent, &sb) != 0) {
+                       warn("failed to stat %s", parent);
+                       return NULL;
+               }
+               if (sb.st_dev != inner_dev)
+                       return dir;
+
+               strncpy(dir, parent, PATH_MAX);
+               dir[PATH_MAX - 1] = '\0';
+
+               /* maybe we've reached / */
+               if (*dir == '/' && !*(dir + 1))
+                       return dir;
+       }
+       return NULL;
+}
+
+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", NULL };
+       int i;
+       int cfd, rc = -1;
+       pid_t pid;
+       const char *chroot_path = NULL;
+       char *newroot_mnt;
+
+       for (i = 0; umounts[i] != NULL; i++) {
+               char newmount[PATH_MAX];
+
+               snprintf(newmount, sizeof(newmount), "%s%s", newroot, umounts[i]);
+
+               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);
+               }
+       }
+
+       newroot_mnt = get_parent_mount(newroot);
+       if (newroot_mnt && strcmp(newroot, newroot_mnt)) {
+               /* newroot is not a mount point, so we have to MS_MOVE the
+                * parent mount point and then chroot in to the "subroot"
+                */
+               chroot_path = newroot + strlen(newroot_mnt);
+               newroot = newroot_mnt;
+       }
+
+       if (chdir(newroot)) {
+               warn("failed to change directory to %s", newroot);
+               goto done;
+       }
+
+       cfd = open("/", O_RDONLY);
+
+       if (mount(newroot, "/", NULL, MS_MOVE, NULL) < 0) {
+               warn("failed to mount moving %s to /", newroot);
+               goto done;
+       }
+
+       /* move to the real root of the device */
+       if (chroot(".")) {
+               warn("failed to change root");
+               goto done;
+       }
+
+       /* move to the subdirectory on the root device (subroot) */
+       if (chroot_path) {
+               if (chdir(chroot_path)) {
+                       warn("failed to chdir to subroot %s", chroot_path);
+                       goto done;
+               }
+               if (chroot(".")) {
+                       warn("failed to change root to subroot %s", chroot_path);
+                       goto done;
+               }
+       }
+
+       if (cfd >= 0) {
+               pid = fork();
+               if (pid <= 0) {
+                       recursiveRemove(cfd);
+                       if (pid == 0)
+                               exit(EXIT_SUCCESS);
+               }
+               close(cfd);
+       }
+       rc = 0;
+done:
+       free(newroot_mnt);
+       return rc;
+}
+
+static void usage(FILE *output)
+{
+       fprintf(output, "usage: %s <newrootdir> <init> <args to init>\n",
+                       program_invocation_short_name);
+       exit(output == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
+static void version(void)
+{
+       fprintf(stdout,  "%s from %s\n", program_invocation_short_name,
+                       PACKAGE_STRING);
+       exit(EXIT_SUCCESS);
+}
+
+int main(int argc, char *argv[])
+{
+       char *newroot, *init, **initargs;
+
+       if (argv[1] && (!strcmp(argv[1], "--help") || !strcmp(argv[1], "-h")))
+               usage(stdout);
+       if (argv[1] && (!strcmp(argv[1], "--version") || !strcmp(argv[1], "-V")))
+               version();
+       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 (file)
index 0000000..06abff5
--- /dev/null
@@ -0,0 +1,188 @@
+.\" 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 "7 May 1999" "tunelp" "Linux Programmer's Manual"
+.SH NAME
+tunelp \- set various parameters for the lp device
+.SH SYNOPSIS
+.B tunelp
+.I device
+.RB [ \-i
+.IR IRQ ]
+.RB [ \-t
+.IR TIME ]
+.RB [ \-c
+.IR CHARS ]
+.RB [ \-w
+.IR WAIT ]
+.RB [ \-a
+.RB { on | off }]
+.RB [ \-o
+.RB { on | off }]
+.RB [ \-C
+.RB { on | off }]
+.RB [ \-r ]
+.RB [ \-s ]
+.RB [ \-q
+.RB { on | off }]
+.RB [ \-T
+.RB { on | off }]
+.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.  The parameters are as follows:
+
+.TP
+.BI \-i " IRQ"
+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.
+
+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
+.BI \-t " TIME"
+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
+.BI \-c " CHARS"
+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.
+
+Setting \-t \fITIME\fP to 0 is equivalent to setting \-c \fICHARS\fP
+to infinity.
+
+.TP
+.BI \-w " WAIT"
+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
+.BR \-a " {" on | off }
+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
+.BR \-o " {" on | off }
+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
+.BR \-C " {" on | off }
+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.
+
+NOTE: This option is obsolete because it's the default in 2.1.131 kernel
+or later.
+
+.TP
+.B \-s
+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
+.BR \-T " {" on | off }
+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.
+
+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.
+
+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
+.B \-r
+This option resets the port.  It requires a Linux kernel version of
+1.1.80 or later.
+
+.TP
+.BR \-q " {" on | off }
+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.
+
+.B \-C
+requires a Linux version prior to 2.1.131.
+
+.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-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/sys-utils/tunelp.c b/sys-utils/tunelp.c
new file mode 100644 (file)
index 0000000..619cf42
--- /dev/null
@@ -0,0 +1,299 @@
+/****************************************************************************\
+*      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 <unistd.h>
+#include <stdio.h>
+#include <fcntl.h>
+/* #include <linux/fs.h> */
+#include <sys/ioctl.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <malloc.h>
+#include <stdlib.h>
+#include <string.h>
+#include <errno.h>
+#include "lp.h"
+#include "nls.h"
+
+struct command {
+  long op;
+  long val;
+  struct command *next;
+};
+
+
+static void
+print_usage(char *progname) {
+  printf(_("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"),
+        progname);
+  exit (1);
+}
+
+static void
+print_version(char *progname) {
+  printf("%s (%s)\n", progname, PACKAGE_STRING);
+}
+
+static void *
+mylloc(long size) {
+  void *ptr;
+  if(!(ptr = (void*)malloc(size))) {
+    perror(_("malloc error"));
+    exit(2);
+  }
+  return ptr;
+}
+
+static char *progname;
+
+static long
+get_val(char *val) {
+  long ret;
+  if (!(sscanf(val, "%ld", &ret) == 1)) {
+    fprintf(stderr, _("%s: bad value\n"), progname);
+    exit(3);
+  }
+  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, *p;
+  struct stat statbuf;
+  struct command *cmds, *cmdst;
+
+  progname = argv[0];
+  if ((p = strrchr(progname, '/')) != NULL)
+         progname = p+1;
+
+  setlocale(LC_ALL, "");
+  bindtextdomain(PACKAGE, LOCALEDIR);
+  textdomain(PACKAGE);
+
+  if (argc < 2) print_usage(progname);
+
+  cmdst = cmds = mylloc(sizeof(struct command));
+  cmds->next = 0;
+
+  show_irq = 1;
+  while ((c = getopt(argc, argv, "t:c:w:a:i:ho:C:sq:rT:vV")) != -1) {
+    switch (c) {
+    case 'h':
+      print_usage(progname);
+      break;
+    case 'i':
+      cmds->op = LPSETIRQ;
+      cmds->val = get_val(optarg);
+      cmds->next = mylloc(sizeof(struct command));
+      cmds = cmds->next; cmds->next = 0;
+      break;
+    case 't':
+      cmds->op = LPTIME;
+      cmds->val = get_val(optarg);
+      cmds->next = mylloc(sizeof(struct command));
+      cmds = cmds->next; cmds->next = 0;
+      break;
+    case 'c':
+      cmds->op = LPCHAR;
+      cmds->val = get_val(optarg);
+      cmds->next = mylloc(sizeof(struct command));
+      cmds = cmds->next; cmds->next = 0;
+      break;
+    case 'w':
+      cmds->op = LPWAIT;
+      cmds->val = get_val(optarg);
+      cmds->next = mylloc(sizeof(struct command));
+      cmds = cmds->next; cmds->next = 0;
+      break;
+    case 'a':
+      cmds->op = LPABORT;
+      cmds->val = get_onoff(optarg);
+      cmds->next = mylloc(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 = mylloc(sizeof(struct command));
+      cmds = cmds->next; cmds->next = 0;
+      break;
+    case 'C':
+      cmds->op = LPCAREFUL;
+      cmds->val = get_onoff(optarg);
+      cmds->next = mylloc(sizeof(struct command));
+      cmds = cmds->next; cmds->next = 0;
+      break;
+    case 's':
+      show_irq = 0;
+      cmds->op = LPGETSTATUS;
+      cmds->val = 0;
+      cmds->next = mylloc(sizeof(struct command));
+      cmds = cmds->next; cmds->next = 0;
+      break;
+#endif
+#ifdef LPRESET
+    case 'r':
+      cmds->op = LPRESET;
+      cmds->val = 0;
+      cmds->next = mylloc(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 = mylloc(sizeof(struct command));
+      cmds = cmds->next; cmds->next = 0;
+      break;
+#endif
+    case 'v':
+    case 'V':
+      print_version(progname);
+      exit(0);
+    default:
+      print_usage(progname);
+    }
+  }
+
+  if (optind != argc-1)
+    print_usage(progname);
+
+  filename = strdup(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) {
+    perror(filename);
+    return -1;
+  }
+
+  fstat(fd, &statbuf);
+
+  if(!S_ISCHR(statbuf.st_mode)) {
+    printf(_("%s: %s not an lp device.\n"), argv[0], filename);
+    print_usage(progname);
+  }
+
+  /* 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)
+    offset = 0x0600;   /* We don't understand the new ioctls */
+
+  cmds = cmdst;
+  while (cmds->next) {
+#ifdef LPGETSTATUS
+    if (cmds->op == LPGETSTATUS) {
+      status = 0xdeadbeef;
+      retval = ioctl(fd, LPGETSTATUS - offset, &status);
+      if (retval < 0)
+       perror("LPGETSTATUS error");
+      else {
+        if (status == 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) {
+      perror("tunelp: ioctl");
+    }
+    cmdst = cmds;
+    cmds = cmds->next;
+    free(cmdst);
+  }
+
+  if (show_irq) {
+    irq = 0xdeadbeef;
+    retval = ioctl(fd, LPGETIRQ - offset, &irq);
+    if (retval == -1) {
+      perror(_("LPGETIRQ error"));
+      exit(4);
+    }
+    if (irq == 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);
+  }
+
+  close(fd);
+
+  return 0;
+}
diff --git a/tests/Makefile.am b/tests/Makefile.am
new file mode 100644 (file)
index 0000000..1d4fa10
--- /dev/null
@@ -0,0 +1,12 @@
+include $(top_srcdir)/config/include-Makefile.am
+
+SUBDIRS = helpers
+
+EXTRA_DIST =   expected \
+               ts \
+               functions.sh \
+               README \
+               run.sh
+
+clean-local:
+       rm -rf output diff
diff --git a/tests/Makefile.in b/tests/Makefile.in
new file mode 100644 (file)
index 0000000..6b7645e
--- /dev/null
@@ -0,0 +1,634 @@
+# Makefile.in generated by automake 1.11 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@
+DIST_COMMON = README $(dist_noinst_DATA) $(srcdir)/Makefile.am \
+       $(srcdir)/Makefile.in $(srcdir)/commands.sh.in \
+       $(top_srcdir)/config/include-Makefile.am
+subdir = tests
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.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)/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 = commands.sh
+CONFIG_CLEAN_VPATH_FILES =
+SOURCES =
+DIST_SOURCES =
+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
+DATA = $(dist_noinst_DATA)
+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
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+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"
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BLKID = @BLKID@
+BLKID_CFLAGS = @BLKID_CFLAGS@
+BLKID_LIBS = @BLKID_LIBS@
+BLKID_LIBS_STATIC = @BLKID_LIBS_STATIC@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+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@
+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_VERSION = @LIBBLKID_VERSION@
+LIBBLKID_VERSION_INFO = @LIBBLKID_VERSION_INFO@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+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@
+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_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+POSUB = @POSUB@
+RANLIB = @RANLIB@
+SED = @SED@
+SELINUX_LIBS = @SELINUX_LIBS@
+SELINUX_LIBS_STATIC = @SELINUX_LIBS_STATIC@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SUID_CFLAGS = @SUID_CFLAGS@
+SUID_LDFLAGS = @SUID_LDFLAGS@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
+VERSION = @VERSION@
+VOLID = @VOLID@
+XGETTEXT = @XGETTEXT@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+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@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+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 $(top_builddir)/config.h -I$(top_srcdir)/include \
+       -DLOCALEDIR=\"$(localedir)\"
+
+AM_CFLAGS = -fsigned-char
+AM_LDFLAGS = 
+
+# 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)
+#
+# blkid
+ul_libblkid_srcdir = $(top_srcdir)/shlibs/blkid/src
+ul_libblkid_builddir = $(top_builddir)/shlibs/blkid/src
+ul_libblkid_la = $(top_builddir)/shlibs/blkid/src/libblkid.la
+
+# uuid
+ul_libuuid_srcdir = $(top_srcdir)/shlibs/uuid/src
+ul_libuuid_builddir = $(top_builddir)/shlibs/uuid/src
+ul_libuuid_la = $(top_builddir)/shlibs/uuid/src/libuuid.la
+SUBDIRS = helpers
+EXTRA_DIST = expected \
+               ts \
+               functions.sh \
+               README \
+               run.sh
+
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/config/include-Makefile.am $(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 tests/Makefile'; \
+       $(am__cd) $(top_srcdir) && \
+         $(AUTOMAKE) --foreign tests/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):
+commands.sh: $(top_builddir)/config.status $(srcdir)/commands.sh.in
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+
+mostlyclean-libtool:
+       -rm -f *.lo
+
+clean-libtool:
+       -rm -rf .libs _libs
+
+# 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):
+       @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):
+       @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)  $(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)  $(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)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       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; }; }'`; \
+       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
+
+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
+       @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
+check-am: all-am
+check: check-recursive
+all-am: Makefile $(DATA)
+installdirs: installdirs-recursive
+installdirs-am:
+install: 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:
+
+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)
+
+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-recursive
+
+clean-am: clean-generic clean-libtool clean-local mostlyclean-am
+
+distclean: distclean-recursive
+       -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+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 Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
+       install-am install-strip tags-recursive
+
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+       all all-am check check-am clean clean-generic clean-libtool \
+       clean-local ctags ctags-recursive distclean distclean-generic \
+       distclean-libtool distclean-tags distdir dvi dvi-am html \
+       html-am info info-am install install-am install-data \
+       install-data-am 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 installdirs-am maintainer-clean \
+       maintainer-clean-generic mostlyclean mostlyclean-generic \
+       mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
+       uninstall uninstall-am
+
+
+$(ul_libblkid_la):
+       $(MAKE) -C $(ul_libblkid_builddir)
+
+$(ul_libuuid_la):
+       $(MAKE) -C $(ul_libuuid_builddir)
+
+clean-local:
+       rm -rf output diff
+
+# 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/tests/README b/tests/README
new file mode 100644 (file)
index 0000000..783f37c
--- /dev/null
@@ -0,0 +1,22 @@
+
+ util-linux regression tests
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ It's expected that for each invasive change or important bugfix you will
+ include a test to your patch.
+
+
+ Run all tests:
+
+       ./run.sh [--verbose]
+
+ Run one tests:
+
+       ./ts-<component_name>-<test_name>.sh [--verbose]
+
+
+
+ *** WARNING ***
+
+ The tests touch your /etc/fstab and /etc/blkid.tab. Please, be careful and use
+ these tests only for development and never on production system.
diff --git a/tests/commands.sh.in b/tests/commands.sh.in
new file mode 100644 (file)
index 0000000..f9eeec1
--- /dev/null
@@ -0,0 +1,50 @@
+TOPDIR="$TS_TOPDIR/.."
+
+# Misc settings
+TS_TESTUSER=${TS_TESTUSER:-"test"}
+
+# helpers
+TS_HELPER_SYSINFO="$TS_TOPDIR/helpers/test_sysinfo"
+TS_HELPER_PATHS="$TS_TOPDIR/helpers/test_pathnames"
+TS_HELPER_BYTESWAP="$TS_TOPDIR/helpers/test_byteswap"
+TS_HELPER_MD5="$TS_TOPDIR/helpers/test_md5"
+
+TS_HELPER_ISMOUNTED="$TOPDIR/lib/test_ismounted"
+
+# external commands
+TS_ECMD_BLKID="@BLKID@"
+TS_ECMD_VOLID="@VOLID@"
+
+# paths to commands
+TS_CMD_MOUNT=${TS_CMD_MOUNT:-"$TOPDIR/mount/mount"}
+TS_CMD_UMOUNT=${TS_CMD_UMOUNT:-"$TOPDIR/mount/umount"}
+TS_CMD_SWAPON=${TS_CMD_SWAPON:-"$TOPDIR/mount/swapon"}
+TS_CMD_SWAPOFF=${TS_CMD_SWAPOFF:-"$TOPDIR/mount/swapoff"}
+TS_CMD_LOSETUP=${TS_CMD_LOSETUP:-"$TOPDIR/mount/losetup"}
+
+TS_CMD_MTABLOCK=${TS_CMD_MTABLOCK:-"$TOPDIR/mount/mtab_lock_test"}
+
+TS_CMD_MKSWAP=${TS_CMD_MKSWAP:-"$TOPDIR/disk-utils/mkswap"}
+TS_CMD_MKCRAMFS=${TS_CMD_MKCRAMFS:-"$TOPDIR/disk-utils/mkfs.cramfs"}
+TS_CMD_MKMINIX=${TS_CMD_MKMINIX:-"$TOPDIR/disk-utils/mkfs.minix"}
+TS_CMD_FSCKCRAMFS=${TS_CMD_FSCKCRAMFS:-"$TOPDIR/disk-utils/fsck.cramfs"}
+TS_CMD_FSCKMINIX=${TS_CMD_FSCKMINIX:-"$TOPDIR/disk-utils/fsck.minix"}
+
+TS_CMD_IPCS=${TS_CMD_IPCS:-"$TOPDIR/sys-utils/ipcs"}
+
+TS_CMD_COL=${TS_CMD_COL:-"$TOPDIR/text-utils/col"}
+
+TS_CMD_NAMEI=${TS_CMD_NAMEI-"$TOPDIR/misc-utils/namei"}
+TS_CMD_LOOK=${TS_CMD_LOOK-"$TOPDIR/misc-utils/look"}
+TS_CMD_CAL=${TS_CMD_CAL-"$TOPDIR/misc-utils/cal"}
+TS_CMD_SCRIPT=${TS_CMD_SCRIPT-"$TOPDIR/misc-utils/script"}
+
+TS_CMD_CHECKTTY=${TS_CMD_CHECKTTY-"$TOPDIR/login-utils/checktty_test"}
+TS_CMD_ISLOCAL=${TS_CMD_ISLOCAL-"$TOPDIR/login-utils/islocal_test"}
+
+TS_CMD_HWCLOCK=${TS_CMD_HWCLOCK-"$TOPDIR/hwclock/hwclock"}
+TS_CMD_LSCPU=${TS_CMD_LSCPU-"$TOPDIR/sys-utils/lscpu"}
+
+TS_CMD_BLKID=${TS_CMD_BLKID-"$TOPDIR/misc-utils/blkid"}
+
+TS_CMD_FDISK=${TS_CMD_FDISK-"$TOPDIR/fdisk/fdisk"}
diff --git a/tests/expected/bitops/swapbytes b/tests/expected/bitops/swapbytes
new file mode 100644 (file)
index 0000000..b9468a7
--- /dev/null
@@ -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-cramfs b/tests/expected/blkid/low-probe-cramfs
new file mode 100644 (file)
index 0000000..09ad018
--- /dev/null
@@ -0,0 +1,4 @@
+ID_FS_LABEL_ENC=test-cram
+ID_FS_LABEL=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 (file)
index 0000000..0832950
--- /dev/null
@@ -0,0 +1,5 @@
+ID_FS_TYPE=ddf_raid_member
+ID_FS_USAGE=raid
+ID_FS_UUID=8Z_I__B_8Z_I_e_I_q_I____
+ID_FS_UUID_ENC=8Z\xb0I\x95\x10B\x028Z\xb0I\xc8e\xb0I\xb8q\xb0I\xff\xff\xff\xff
+ID_FS_VERSION=02.00.00
diff --git a/tests/expected/blkid/low-probe-ext2 b/tests/expected/blkid/low-probe-ext2
new file mode 100644 (file)
index 0000000..fa70cf4
--- /dev/null
@@ -0,0 +1,7 @@
+ID_FS_LABEL_ENC=test-ext2
+ID_FS_LABEL=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 (file)
index 0000000..43aeeed
--- /dev/null
@@ -0,0 +1,8 @@
+ID_FS_LABEL_ENC=test-ext3
+ID_FS_LABEL=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 (file)
index 0000000..3aecdb4
--- /dev/null
@@ -0,0 +1,8 @@
+ID_FS_LABEL_ENC=TEST-FAT
+ID_FS_LABEL=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-fat32_label_64MB b/tests/expected/blkid/low-probe-fat32_label_64MB
new file mode 100644 (file)
index 0000000..1179490
--- /dev/null
@@ -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 (file)
index 0000000..a19789e
--- /dev/null
@@ -0,0 +1,5 @@
+ID_FS_LABEL_ENC=mycluster:mygfs2
+ID_FS_LABEL=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 (file)
index 0000000..d4cbb5c
--- /dev/null
@@ -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 (file)
index 0000000..f54b59f
--- /dev/null
@@ -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 (file)
index 0000000..f071155
--- /dev/null
@@ -0,0 +1,7 @@
+ID_FS_LABEL_ENC=P01\x20S16A
+ID_FS_LABEL=P01_S16A
+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-jbd b/tests/expected/blkid/low-probe-jbd
new file mode 100644 (file)
index 0000000..6c6217d
--- /dev/null
@@ -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 (file)
index 0000000..08f9c1e
--- /dev/null
@@ -0,0 +1,6 @@
+ID_FS_LABEL_ENC=test-jfs
+ID_FS_LABEL=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-lvm2 b/tests/expected/blkid/low-probe-lvm2
new file mode 100644 (file)
index 0000000..5c8e48f
--- /dev/null
@@ -0,0 +1,5 @@
+ID_FS_TYPE=LVM2_member
+ID_FS_USAGE=raid
+ID_FS_UUID_ENC=Vynv4k-APH8-xQER-HSBb-8VJ3-SvFF-PB5O1U
+ID_FS_UUID=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 (file)
index 0000000..0613dfe
--- /dev/null
@@ -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 (file)
index 0000000..9627799
--- /dev/null
@@ -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 (file)
index 0000000..094d5c9
--- /dev/null
@@ -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-ocfs2 b/tests/expected/blkid/low-probe-ocfs2
new file mode 100644 (file)
index 0000000..2463e2a
--- /dev/null
@@ -0,0 +1,7 @@
+ID_FS_LABEL_ENC=test-ocfs2
+ID_FS_LABEL=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-reiser3 b/tests/expected/blkid/low-probe-reiser3
new file mode 100644 (file)
index 0000000..7d9e014
--- /dev/null
@@ -0,0 +1,7 @@
+ID_FS_LABEL_ENC=TESTREISER
+ID_FS_LABEL=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 (file)
index 0000000..f1d98b9
--- /dev/null
@@ -0,0 +1,7 @@
+ID_FS_LABEL_ENC=TESTR4
+ID_FS_LABEL=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 (file)
index 0000000..a33b6f3
--- /dev/null
@@ -0,0 +1,4 @@
+ID_FS_LABEL_ENC=test-romfs
+ID_FS_LABEL=test-romfs
+ID_FS_TYPE=romfs
+ID_FS_USAGE=filesystem
diff --git a/tests/expected/blkid/low-probe-small-fat32 b/tests/expected/blkid/low-probe-small-fat32
new file mode 100644 (file)
index 0000000..2315c4d
--- /dev/null
@@ -0,0 +1,7 @@
+ID_FS_LABEL_ENC=TESTVFAT
+ID_FS_LABEL=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 (file)
index 0000000..bbd9495
--- /dev/null
@@ -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 (file)
index 0000000..537f754
--- /dev/null
@@ -0,0 +1,7 @@
+ID_FS_LABEL_ENC=SWAP-TEST
+ID_FS_LABEL=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-udf b/tests/expected/blkid/low-probe-udf
new file mode 100644 (file)
index 0000000..392eac4
--- /dev/null
@@ -0,0 +1,4 @@
+ID_FS_LABEL_ENC=test-udf
+ID_FS_LABEL=test-udf
+ID_FS_TYPE=udf
+ID_FS_USAGE=filesystem
diff --git a/tests/expected/blkid/low-probe-xfs b/tests/expected/blkid/low-probe-xfs
new file mode 100644 (file)
index 0000000..9dbaf44
--- /dev/null
@@ -0,0 +1,6 @@
+ID_FS_LABEL_ENC=test-xfs
+ID_FS_LABEL=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 (file)
index 0000000..94cec8b
--- /dev/null
@@ -0,0 +1,3 @@
+ID_FS_TYPE=zfs
+ID_FS_USAGE=filesystem
+ID_FS_VERSION=1
diff --git a/tests/expected/cal/1m b/tests/expected/cal/1m
new file mode 100644 (file)
index 0000000..f657875
--- /dev/null
@@ -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 (file)
index 0000000..ba9657d
--- /dev/null
@@ -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 (file)
index 0000000..616d61a
--- /dev/null
@@ -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 (file)
index 0000000..c6d36cc
--- /dev/null
@@ -0,0 +1 @@
+col: Invalid or incomplete multibyte or wide character
diff --git a/tests/expected/cramfs/fsck-endianness b/tests/expected/cramfs/fsck-endianness
new file mode 100644 (file)
index 0000000..a7591b6
--- /dev/null
@@ -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 (file)
index 0000000..9e62f6e
--- /dev/null
@@ -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 (file)
index 0000000..ef935a7
--- /dev/null
@@ -0,0 +1,4 @@
+create little endian
+4666f0d2b661f9f3962877edabadb210
+create big endian
+bc0b7bbef02765d32e07faa735d2e0c6
diff --git a/tests/expected/fdisk/doslabel b/tests/expected/fdisk/doslabel
new file mode 100644 (file)
index 0000000..1d987f6
--- /dev/null
@@ -0,0 +1,18 @@
+Initialize empty image
+f1c9645dbc14efddc7d8a322685f26eb doslabel.img
+Create new DOS partition table
+57e721e38d1266c2df055067c18f2cf9 doslabel.img
+Create primary partition
+ae4f9b12f4a768849f72ea36938c30c7 doslabel.img
+Create extended partition
+76987a00b353687cd1dba3ddea9d66f9 doslabel.img
+Create logical partitions
+a1cd6708e4a6d2e5f6bc9d5c0da0cf3b doslabel.img
+Delete logical partitions
+4c6937d529ace5661fb82efb9394154a doslabel.img
+Create another logical partition
+9589eaaed698d2402945ab3e513c1eb4 doslabel.img
+Delete primary partition
+1e6d646e5df66a2664cfbbb13fa9a08a doslabel.img
+Delete extended partition
+fc3cdb12326656d7996b09b6f76973e7 doslabel.img
diff --git a/tests/expected/fsck/ismounted b/tests/expected/fsck/ismounted
new file mode 100644 (file)
index 0000000..bc3bd43
--- /dev/null
@@ -0,0 +1 @@
+mounted
diff --git a/tests/expected/ipcs/headers b/tests/expected/ipcs/headers
new file mode 100644 (file)
index 0000000..155d308
--- /dev/null
@@ -0,0 +1,64 @@
+test: shm headers
+------ Shared Memory Attach/Detach/Change Times --------
+shmid      owner      attached             detached             changed             
+------ Shared Memory Creator/Last-op --------
+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 --------
+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 (file)
index 0000000..7480a1e
--- /dev/null
@@ -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 (file)
index 0000000..28454e3
--- /dev/null
@@ -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/login/checktty b/tests/expected/login/checktty
new file mode 100644 (file)
index 0000000..2e1b2c1
--- /dev/null
@@ -0,0 +1,8 @@
+hnmatch() on 130.225.16.0/255.255.254.0     <-- 130.225.16.1   : match
+hnmatch() on 130.225.16.0/255.255.254.0     <-- 10.20.30.1     : mismatch
+hnmatch() on 130.225.0.0/255.254.0.0        <-- 130.225.16.1   : match
+hnmatch() on 130.225.0.0/255.254.0.0        <-- 130.225.17.1   : match
+hnmatch() on 130.225.0.0/255.254.0.0        <-- 150.160.170.180: mismatch
+hnmatch() on [3ffe:505:2:1::]/64            <-- 3ffe:505:2:1:: : match
+hnmatch() on [3ffe:505:2:1::]/64            <-- 3ffe:505:2:2:: : mismatch
+hnmatch() on [3ffe:505:2:1::]/64            <-- 3ffe:505:2:1:ffff:ffff::: match
diff --git a/tests/expected/login/islocal b/tests/expected/login/islocal
new file mode 100644 (file)
index 0000000..c5d43ff
--- /dev/null
@@ -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/look/separator b/tests/expected/look/separator
new file mode 100644 (file)
index 0000000..8c19d03
--- /dev/null
@@ -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 (file)
index 0000000..f2525a5
--- /dev/null
@@ -0,0 +1,27 @@
+CPU(s):                8
+Thread(s) per core:    1
+Core(s) per socket:    4
+CPU socket(s):         2
+Vendor ID:             AuthenticAMD
+CPU family:            16
+Model:                 4
+Stepping:              0
+CPU MHz:               1995.158
+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 (file)
index 0000000..865c415
--- /dev/null
@@ -0,0 +1,16 @@
+CPU(s):                2
+Thread(s) per core:    2
+Core(s) per socket:    1
+CPU socket(s):         1
+Vendor ID:             GenuineIntel
+CPU family:            15
+Model:                 2
+Stepping:              9
+CPU MHz:               3391.773
+
+# 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 (file)
index 0000000..83c3fe4
--- /dev/null
@@ -0,0 +1,26 @@
+CPU(s):                8
+Thread(s) per core:    1
+Core(s) per socket:    4
+CPU socket(s):         2
+Vendor ID:             GenuineIntel
+CPU family:            6
+Model:                 15
+Stepping:              7
+CPU MHz:               1596.044
+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 (file)
index 0000000..ae3fa2c
--- /dev/null
@@ -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-hpmatterhorn b/tests/expected/lscpu/lscpu-ia64-hpmatterhorn
new file mode 100644 (file)
index 0000000..e38bf46
--- /dev/null
@@ -0,0 +1,26 @@
+CPU(s):                8
+Thread(s) per core:    1
+Core(s) per socket:    1
+CPU 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
+
+# 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
+2,2,2,0,,2,2,2,2
+3,3,3,0,,3,3,3,3
+4,4,4,1,,4,4,4,4
+5,5,5,1,,5,5,5,5
+6,6,6,1,,6,6,6,6
+7,7,7,1,,7,7,7,7
diff --git a/tests/expected/lscpu/lscpu-ia64-hprx1620 b/tests/expected/lscpu/lscpu-ia64-hprx1620
new file mode 100644 (file)
index 0000000..081d878
--- /dev/null
@@ -0,0 +1,20 @@
+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:            Itanium 2
+Model:                 2
+CPU MHz:               1599.000967
+L1d cache:             16K
+L1i cache:             16K
+L2 cache:              256K
+L3 cache:              3072K
+
+# 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 (file)
index 0000000..7600b80
--- /dev/null
@@ -0,0 +1,35 @@
+CPU(s):                16
+Thread(s) per core:    1
+Core(s) per socket:    2
+CPU 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
+
+# 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,0,0
+1,1,0,0,,1,1,1,0,0
+2,2,1,0,,2,2,2,1,1
+3,3,1,0,,3,3,3,1,1
+4,4,2,0,,4,4,4,2,2
+5,5,2,0,,5,5,5,2,2
+6,6,3,0,,6,6,6,3,3
+7,7,3,0,,7,7,7,3,3
+8,8,4,1,,8,8,8,4,4
+9,9,4,1,,9,9,9,4,4
+10,10,5,1,,10,10,10,5,5
+11,11,5,1,,11,11,11,5,5
+12,12,6,1,,12,12,12,6,6
+13,13,6,1,,13,13,13,6,6
+14,14,7,1,,14,14,14,7,7
+15,15,7,1,,15,15,15,7,7
diff --git a/tests/expected/lscpu/lscpu-x86_64-hpdl585 b/tests/expected/lscpu/lscpu-x86_64-hpdl585
new file mode 100644 (file)
index 0000000..ae53757
--- /dev/null
@@ -0,0 +1,36 @@
+CPU(s):                16
+Thread(s) per core:    1
+Core(s) per socket:    4
+CPU socket(s):         4
+NUMA node(s):          4
+Vendor ID:             AuthenticAMD
+CPU family:            16
+Model:                 2
+Stepping:              3
+CPU MHz:               2210.188
+Virtualization:        AMD-V
+L1d cache:             512K
+L1i cache:             512K
+L2 cache:              512K
+L3 cache:              2048K
+
+# 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,1
+2,2,0,0,,2,2,2,2
+3,3,0,0,,3,3,3,3
+4,4,1,1,,4,4,4,4
+5,5,1,1,,5,5,5,5
+6,6,1,1,,6,6,6,6
+7,7,1,1,,7,7,7,7
+8,8,2,2,,8,8,8,8
+9,9,2,2,,9,9,9,9
+10,10,2,2,,10,10,10,10
+11,11,2,2,,11,11,11,11
+12,12,3,3,,12,12,12,12
+13,13,3,3,,13,13,13,13
+14,14,3,3,,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 (file)
index 0000000..0fc56da
--- /dev/null
@@ -0,0 +1,20 @@
+CPU(s):                2
+Thread(s) per core:    1
+Core(s) per socket:    2
+CPU socket(s):         1
+NUMA node(s):          1
+Vendor ID:             AuthenticAMD
+CPU family:            15
+Model:                 33
+Stepping:              2
+CPU MHz:               1995.058
+L1d cache:             1024K
+L1i cache:             1024K
+L2 cache:              1024K
+
+# 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 (file)
index 0000000..77cfd6a
--- /dev/null
@@ -0,0 +1,19 @@
+CPU(s):                2
+Thread(s) per core:    2
+Core(s) per socket:    1
+CPU socket(s):         1
+NUMA node(s):          1
+Vendor ID:             GenuineIntel
+CPU family:            15
+Model:                 4
+Stepping:              3
+CPU MHz:               3790.599
+L1d cache:             16K
+L2 cache:              2048K
+
+# 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 (file)
index 0000000..1a5c46a
--- /dev/null
@@ -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 (file)
index 0000000..6ca300b
--- /dev/null
@@ -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 (file)
index 0000000..84de725
--- /dev/null
@@ -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 (file)
index 0000000..592d5dc
--- /dev/null
@@ -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/mount/devname b/tests/expected/mount/devname
new file mode 100644 (file)
index 0000000..3582111
--- /dev/null
@@ -0,0 +1 @@
+Success
diff --git a/tests/expected/mount/fstab-devname b/tests/expected/mount/fstab-devname
new file mode 100644 (file)
index 0000000..3582111
--- /dev/null
@@ -0,0 +1 @@
+Success
diff --git a/tests/expected/mount/fstab-devname2label b/tests/expected/mount/fstab-devname2label
new file mode 100644 (file)
index 0000000..3582111
--- /dev/null
@@ -0,0 +1 @@
+Success
diff --git a/tests/expected/mount/fstab-devname2uuid b/tests/expected/mount/fstab-devname2uuid
new file mode 100644 (file)
index 0000000..3582111
--- /dev/null
@@ -0,0 +1 @@
+Success
diff --git a/tests/expected/mount/fstab-label b/tests/expected/mount/fstab-label
new file mode 100644 (file)
index 0000000..3582111
--- /dev/null
@@ -0,0 +1 @@
+Success
diff --git a/tests/expected/mount/fstab-label2devname b/tests/expected/mount/fstab-label2devname
new file mode 100644 (file)
index 0000000..3582111
--- /dev/null
@@ -0,0 +1 @@
+Success
diff --git a/tests/expected/mount/fstab-label2uuid b/tests/expected/mount/fstab-label2uuid
new file mode 100644 (file)
index 0000000..3582111
--- /dev/null
@@ -0,0 +1 @@
+Success
diff --git a/tests/expected/mount/fstab-symlink b/tests/expected/mount/fstab-symlink
new file mode 100644 (file)
index 0000000..3582111
--- /dev/null
@@ -0,0 +1 @@
+Success
diff --git a/tests/expected/mount/fstab-uuid b/tests/expected/mount/fstab-uuid
new file mode 100644 (file)
index 0000000..3582111
--- /dev/null
@@ -0,0 +1 @@
+Success
diff --git a/tests/expected/mount/fstab-uuid2devname b/tests/expected/mount/fstab-uuid2devname
new file mode 100644 (file)
index 0000000..3582111
--- /dev/null
@@ -0,0 +1 @@
+Success
diff --git a/tests/expected/mount/fstab-uuid2label b/tests/expected/mount/fstab-uuid2label
new file mode 100644 (file)
index 0000000..3582111
--- /dev/null
@@ -0,0 +1 @@
+Success
diff --git a/tests/expected/mount/label b/tests/expected/mount/label
new file mode 100644 (file)
index 0000000..3582111
--- /dev/null
@@ -0,0 +1 @@
+Success
diff --git a/tests/expected/mount/move b/tests/expected/mount/move
new file mode 100644 (file)
index 0000000..3582111
--- /dev/null
@@ -0,0 +1 @@
+Success
diff --git a/tests/expected/mount/mtablock b/tests/expected/mount/mtablock
new file mode 100644 (file)
index 0000000..d7e318d
--- /dev/null
@@ -0,0 +1 @@
+50000
\ No newline at end of file
diff --git a/tests/expected/mount/noncanonical b/tests/expected/mount/noncanonical
new file mode 100644 (file)
index 0000000..01c3a4f
--- /dev/null
@@ -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 (file)
index 0000000..bec6697
--- /dev/null
@@ -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/remount b/tests/expected/mount/remount
new file mode 100644 (file)
index 0000000..3582111
--- /dev/null
@@ -0,0 +1 @@
+Success
diff --git a/tests/expected/mount/special b/tests/expected/mount/special
new file mode 100644 (file)
index 0000000..e50c64c
--- /dev/null
@@ -0,0 +1,17 @@
+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:  "/foo"
+mount: node:  "/bar"
+mount: types: "mytest"
+mount: opts:  "(null)"
+mount: external mount: argv[0] = "/sbin/mount.mytest"
+mount: external mount: argv[1] = "/foo"
+mount: external mount: argv[2] = "/bar"
+mount: external mount: argv[3] = "-v"
+mount: external mount: argv[4] = "-o"
+mount: external mount: argv[5] = "rw"
+/sbin/mount.mytest called with "/foo /bar -v -o rw"
diff --git a/tests/expected/mount/uuid b/tests/expected/mount/uuid
new file mode 100644 (file)
index 0000000..3582111
--- /dev/null
@@ -0,0 +1 @@
+Success
diff --git a/tests/expected/namei/logic b/tests/expected/namei/logic
new file mode 100644 (file)
index 0000000..b505e34
--- /dev/null
@@ -0,0 +1,9 @@
+f: namei1/namei2/a
+ d namei1
+ d namei2
+ - a
+f: namei1/namei2/b
+ d namei1
+ d namei2
+ - b
+namei: failed to stat: namei1/namei2/a/b: Not a directory
diff --git a/tests/expected/paths/built-in b/tests/expected/paths/built-in
new file mode 100644 (file)
index 0000000..51372de
--- /dev/null
@@ -0,0 +1,44 @@
+       _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_PTMP /etc/ptmp
+       _PATH_PTMPTMP /etc/ptmptmp
+         _PATH_GROUP /etc/group
+          _PATH_GTMP /etc/gtmp
+       _PATH_GTMPTMP /etc/gtmptmp
+ _PATH_SHADOW_PASSWD /etc/shadow
+   _PATH_SHADOW_PTMP /etc/sptmp
+_PATH_SHADOW_PTMPTMP /etc/sptmptmp
+  _PATH_SHADOW_GROUP /etc/gshadow
+   _PATH_SHADOW_GTMP /etc/sgtmp
+_PATH_SHADOW_GTMPTMP /etc/sgtmptmp
+         _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/script/race b/tests/expected/script/race
new file mode 100644 (file)
index 0000000..83b33d2
--- /dev/null
@@ -0,0 +1 @@
+1000
diff --git a/tests/expected/swapon/devname b/tests/expected/swapon/devname
new file mode 100644 (file)
index 0000000..3582111
--- /dev/null
@@ -0,0 +1 @@
+Success
diff --git a/tests/expected/swapon/label b/tests/expected/swapon/label
new file mode 100644 (file)
index 0000000..3582111
--- /dev/null
@@ -0,0 +1 @@
+Success
diff --git a/tests/expected/swapon/uuid b/tests/expected/swapon/uuid
new file mode 100644 (file)
index 0000000..3582111
--- /dev/null
@@ -0,0 +1 @@
+Success
diff --git a/tests/functions.sh b/tests/functions.sh
new file mode 100644 (file)
index 0000000..50ef12d
--- /dev/null
@@ -0,0 +1,408 @@
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux-ng.
+#
+# 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_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_init_env {
+       local mydir=$(ts_abspath $(dirname $0))
+
+       export LANG="en_US.UTF-8"
+
+       TS_TOPDIR=$(ts_abspath $mydir/../../)
+       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_NS="$TS_COMPONENT/$TS_TESTNAME"
+       TS_SELF="$TS_SUBDIR"
+
+       TS_OUTDIR="$TS_TOPDIR/output/$TS_COMPONENT"
+       TS_OUTPUT="$TS_OUTDIR/$TS_TESTNAME"
+       TS_DIFFDIR="$TS_TOPDIR/diff/$TS_COMPONENT"
+       TS_DIFF="$TS_DIFFDIR/$TS_TESTNAME"
+       TS_EXPECTED="$TS_TOPDIR/expected/$TS_NS"
+       TS_MOUNTPOINT="$TS_OUTDIR/${TS_TESTNAME}-mnt"
+
+       TS_VERBOSE=$(ts_has_option "verbose" "$*")
+       TS_HAS_VOLUMEID="no"
+
+       BLKID_FILE="$TS_OUTDIR/${TS_TESTNAME}.blkidtab"
+
+       [ -d "$TS_OUTDIR" ]  || mkdir -p "$TS_OUTDIR"
+       [ -d "$TS_DIFFDIR" ] || mkdir -p "$TS_DIFFDIR"
+
+       declare -a TS_SUID_PROGS
+       declare -a TS_SUID_USER
+       declare -a TS_SUID_GROUP
+
+       . $TS_TOPDIR/commands.sh
+
+       export BLKID_FILE
+
+       if [ -x $TS_CMD_MOUNT ]; then
+               ldd $TS_CMD_MOUNT | grep -q 'libvolume_id' &> /dev/null
+               [ "$?" == "0" ] && TS_HAS_VOLUMEID="yes"
+       fi
+
+       rm -f $TS_OUTPUT
+       touch $TS_OUTPUT
+
+       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 "   expected: $TS_EXPECTED"
+               echo " mountpoint: $TS_MOUNTPOINT"
+               echo
+       fi
+}
+
+function ts_init_subtest {
+
+       TS_SUBNAME="$1"
+
+       TS_OUTPUT="$TS_OUTDIR/$TS_TESTNAME-$TS_SUBNAME"
+       TS_DIFF="$TS_DIFFDIR/$TS_TESTNAME-$TS_SUBNAME"
+       TS_EXPECTED="$TS_TOPDIR/expected/$TS_NS-$TS_SUBNAME"
+       TS_MOUNTPOINT="$TS_OUTDIR/${TS_TESTNAME-$TS_SUBNAME}-mnt"
+
+       [ $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" "$*")
+
+       ts_init_env "$*"
+
+       printf "%13s: %-30s ..." "$TS_COMPONENT" "$TS_DESC"
+
+       [ "$is_fake" == "yes" ] && ts_skip "fake mode"
+}
+
+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_gen_diff {
+       local res=0
+
+       if [ -s $TS_OUTPUT ]; then
+               diff -u $TS_EXPECTED $TS_OUTPUT > $TS_DIFF
+               [ -s $TS_DIFF ] && res=1
+       else
+               res=1
+       fi
+       return $res
+}
+
+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 "$1"
+               fi
+       else
+               ts_skip_subtest "output undefined"
+       fi
+
+       [ $res -ne 0 ] && TS_NSUBFAILED=$(( $TS_NSUBFAILED + 1 ))
+       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)
+       local dev=$($TS_CMD_LOSETUP -s -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_udev_dev_support {
+       if [ "$TS_HAS_VOLUMEID" == "yes" ] && [ ! -L "/dev/disk/$1/$2" ]; then
+               return 1
+       fi
+       return 0
+}
+
+function ts_uuid_by_devname {
+       local DEV="$1"
+       local UUID=""
+       if [ -x "$TS_ECMD_BLKID" ]; then
+               UUID=$($TS_ECMD_BLKID -c /dev/null -w /dev/null -s "UUID" $DEV | sed 's/.*UUID="//g; s/"//g')
+       elif [ -x "$TS_ECMD_VOLID" ]; then
+               UUID=$($TS_ECMD_VOLID -u $DEV)
+       fi
+       echo $UUID
+}
+
+function ts_label_by_devname {
+       local DEV="$1"
+       local TYPE=""
+       if [ -x "$TS_ECMD_BLKID" ]; then
+               LABEL=$($TS_ECMD_BLKID -c /dev/null -w /dev/null -s "LABEL" $DEV | sed 's/.*LABEL="//g; s/"//g')
+       elif [ -x "$TS_ECMD_VOLID" ]; then
+               LABEL=$($TS_ECMD_VOLID -l $DEV)
+       fi
+       echo $LABEL
+}
+
+function ts_fstype_by_devname {
+       local DEV="$1"
+       local TYPE=""
+       if [ -x "$TS_ECMD_BLKID" ]; then
+               TYPE=$($TS_ECMD_BLKID -c /dev/null -w /dev/null -s "TYPE" $DEV | sed 's/.*TYPE="//g; s/"//g')
+       elif [ -x "$TS_ECMD_VOLID" ]; then
+               TYPE=$($TS_ECMD_VOLID -t $DEV)
+       fi
+       echo $TYPE
+}
+
+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=$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_swapoff {
+       local DEV="$1"
+
+       # swapoff doesn't exist in build tree
+       if [ ! -x "$TS_CMD_SWAPOFF" ]; then
+               ln -sf $TS_CMD_SWAPON $TS_CMD_SWAPOFF
+               REMSWAPOFF="true"
+       fi
+       $TS_CMD_SWAPOFF $DEV 2>&1 >> $TS_OUTPUT
+       if [ -n "$REMSWAPOFF" ]; then
+               rm -f $TS_CMD_SWAPOFF
+       fi
+}
+
+function ts_fstab_open {
+       echo "# <!-- util-linux-ng 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-ng/!b
+:a
+/# -->/!{
+  N
+  ba
+}
+s/# <!-- util-linux-ng.*-->//;
+/^$/d" /etc/fstab
+}
+
diff --git a/tests/helpers/Makefile.am b/tests/helpers/Makefile.am
new file mode 100644 (file)
index 0000000..26007d4
--- /dev/null
@@ -0,0 +1,7 @@
+include $(top_srcdir)/config/include-Makefile.am
+
+noinst_PROGRAMS = test_sysinfo test_pathnames test_byteswap \
+                 test_md5
+
+test_md5_SOURCES = test_md5.c $(top_srcdir)/lib/md5.c
+
diff --git a/tests/helpers/Makefile.in b/tests/helpers/Makefile.in
new file mode 100644 (file)
index 0000000..f647307
--- /dev/null
@@ -0,0 +1,575 @@
+# Makefile.in generated by automake 1.11 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@
+DIST_COMMON = $(dist_noinst_DATA) $(srcdir)/Makefile.am \
+       $(srcdir)/Makefile.in $(top_srcdir)/config/include-Makefile.am
+noinst_PROGRAMS = test_sysinfo$(EXEEXT) test_pathnames$(EXEEXT) \
+       test_byteswap$(EXEEXT) test_md5$(EXEEXT)
+subdir = tests/helpers
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.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)/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 =
+CONFIG_CLEAN_VPATH_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+test_byteswap_SOURCES = test_byteswap.c
+test_byteswap_OBJECTS = test_byteswap.$(OBJEXT)
+test_byteswap_LDADD = $(LDADD)
+am_test_md5_OBJECTS = test_md5.$(OBJEXT) md5.$(OBJEXT)
+test_md5_OBJECTS = $(am_test_md5_OBJECTS)
+test_md5_LDADD = $(LDADD)
+test_pathnames_SOURCES = test_pathnames.c
+test_pathnames_OBJECTS = test_pathnames.$(OBJEXT)
+test_pathnames_LDADD = $(LDADD)
+test_sysinfo_SOURCES = test_sysinfo.c
+test_sysinfo_OBJECTS = test_sysinfo.$(OBJEXT)
+test_sysinfo_LDADD = $(LDADD)
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+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) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+       --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+       --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+       $(LDFLAGS) -o $@
+SOURCES = test_byteswap.c $(test_md5_SOURCES) test_pathnames.c \
+       test_sysinfo.c
+DIST_SOURCES = test_byteswap.c $(test_md5_SOURCES) test_pathnames.c \
+       test_sysinfo.c
+DATA = $(dist_noinst_DATA)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BLKID = @BLKID@
+BLKID_CFLAGS = @BLKID_CFLAGS@
+BLKID_LIBS = @BLKID_LIBS@
+BLKID_LIBS_STATIC = @BLKID_LIBS_STATIC@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+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@
+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_VERSION = @LIBBLKID_VERSION@
+LIBBLKID_VERSION_INFO = @LIBBLKID_VERSION_INFO@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+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@
+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_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+POSUB = @POSUB@
+RANLIB = @RANLIB@
+SED = @SED@
+SELINUX_LIBS = @SELINUX_LIBS@
+SELINUX_LIBS_STATIC = @SELINUX_LIBS_STATIC@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SUID_CFLAGS = @SUID_CFLAGS@
+SUID_LDFLAGS = @SUID_LDFLAGS@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
+VERSION = @VERSION@
+VOLID = @VOLID@
+XGETTEXT = @XGETTEXT@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+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@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+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 $(top_builddir)/config.h -I$(top_srcdir)/include \
+       -DLOCALEDIR=\"$(localedir)\"
+
+AM_CFLAGS = -fsigned-char
+AM_LDFLAGS = 
+
+# 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)
+#
+# blkid
+ul_libblkid_srcdir = $(top_srcdir)/shlibs/blkid/src
+ul_libblkid_builddir = $(top_builddir)/shlibs/blkid/src
+ul_libblkid_la = $(top_builddir)/shlibs/blkid/src/libblkid.la
+
+# uuid
+ul_libuuid_srcdir = $(top_srcdir)/shlibs/uuid/src
+ul_libuuid_builddir = $(top_builddir)/shlibs/uuid/src
+ul_libuuid_la = $(top_builddir)/shlibs/uuid/src/libuuid.la
+test_md5_SOURCES = test_md5.c $(top_srcdir)/lib/md5.c
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/config/include-Makefile.am $(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 tests/helpers/Makefile'; \
+       $(am__cd) $(top_srcdir) && \
+         $(AUTOMAKE) --foreign tests/helpers/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):
+
+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
+test_byteswap$(EXEEXT): $(test_byteswap_OBJECTS) $(test_byteswap_DEPENDENCIES) 
+       @rm -f test_byteswap$(EXEEXT)
+       $(LINK) $(test_byteswap_OBJECTS) $(test_byteswap_LDADD) $(LIBS)
+test_md5$(EXEEXT): $(test_md5_OBJECTS) $(test_md5_DEPENDENCIES) 
+       @rm -f test_md5$(EXEEXT)
+       $(LINK) $(test_md5_OBJECTS) $(test_md5_LDADD) $(LIBS)
+test_pathnames$(EXEEXT): $(test_pathnames_OBJECTS) $(test_pathnames_DEPENDENCIES) 
+       @rm -f test_pathnames$(EXEEXT)
+       $(LINK) $(test_pathnames_OBJECTS) $(test_pathnames_LDADD) $(LIBS)
+test_sysinfo$(EXEEXT): $(test_sysinfo_OBJECTS) $(test_sysinfo_DEPENDENCIES) 
+       @rm -f test_sysinfo$(EXEEXT)
+       $(LINK) $(test_sysinfo_OBJECTS) $(test_sysinfo_LDADD) $(LIBS)
+
+mostlyclean-compile:
+       -rm -f *.$(OBJEXT)
+
+distclean-compile:
+       -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/md5.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_byteswap.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_md5.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_pathnames.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_sysinfo.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@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 $<
+
+.c.obj:
+@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@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 `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@   $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@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 $@ $<
+
+md5.o: $(top_srcdir)/lib/md5.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT md5.o -MD -MP -MF $(DEPDIR)/md5.Tpo -c -o md5.o `test -f '$(top_srcdir)/lib/md5.c' || echo '$(srcdir)/'`$(top_srcdir)/lib/md5.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/md5.Tpo $(DEPDIR)/md5.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$(top_srcdir)/lib/md5.c' object='md5.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) $(AM_CFLAGS) $(CFLAGS) -c -o md5.o `test -f '$(top_srcdir)/lib/md5.c' || echo '$(srcdir)/'`$(top_srcdir)/lib/md5.c
+
+md5.obj: $(top_srcdir)/lib/md5.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT md5.obj -MD -MP -MF $(DEPDIR)/md5.Tpo -c -o md5.obj `if test -f '$(top_srcdir)/lib/md5.c'; then $(CYGPATH_W) '$(top_srcdir)/lib/md5.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/lib/md5.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/md5.Tpo $(DEPDIR)/md5.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$(top_srcdir)/lib/md5.c' object='md5.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) $(AM_CFLAGS) $(CFLAGS) -c -o md5.obj `if test -f '$(top_srcdir)/lib/md5.c'; then $(CYGPATH_W) '$(top_srcdir)/lib/md5.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/lib/md5.c'; fi`
+
+mostlyclean-libtool:
+       -rm -f *.lo
+
+clean-libtool:
+       -rm -rf .libs _libs
+
+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:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       set x; \
+       here=`pwd`; \
+       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; }; }'`; \
+       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:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       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; }; }'`; \
+       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
+
+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 $(PROGRAMS) $(DATA)
+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:
+
+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)
+
+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-noinstPROGRAMS \
+       mostlyclean-am
+
+distclean: distclean-am
+       -rm -rf ./$(DEPDIR)
+       -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+       distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+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 -rf ./$(DEPDIR)
+       -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+       mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+       clean-libtool clean-noinstPROGRAMS ctags distclean \
+       distclean-compile distclean-generic distclean-libtool \
+       distclean-tags distdir dvi dvi-am html html-am info info-am \
+       install install-am install-data install-data-am 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-compile mostlyclean-generic mostlyclean-libtool \
+       pdf pdf-am ps ps-am tags uninstall uninstall-am
+
+
+$(ul_libblkid_la):
+       $(MAKE) -C $(ul_libblkid_builddir)
+
+$(ul_libuuid_la):
+       $(MAKE) -C $(ul_libuuid_builddir)
+
+# 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/tests/helpers/test_byteswap.c b/tests/helpers/test_byteswap.c
new file mode 100644 (file)
index 0000000..3932d5a
--- /dev/null
@@ -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 argc, char **argv)
+{
+       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 (file)
index 0000000..b99882b
--- /dev/null
@@ -0,0 +1,30 @@
+
+#include <stdio.h>
+#include <unistd.h>
+
+#include "md5.h"
+
+int
+main(int argc, char *argv[])
+{
+       int i, ret;
+       struct MD5Context ctx;
+       unsigned char digest[16];
+       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 < 16; 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 (file)
index 0000000..5cc6efd
--- /dev/null
@@ -0,0 +1,109 @@
+/*
+ * Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+ *
+ * This file is part of util-linux-ng.
+ *
+ * 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_PTMP),
+       DEF_HLPPATH(_PATH_PTMPTMP),
+       DEF_HLPPATH(_PATH_GROUP),
+       DEF_HLPPATH(_PATH_GTMP),
+       DEF_HLPPATH(_PATH_GTMPTMP),
+       DEF_HLPPATH(_PATH_SHADOW_PASSWD),
+       DEF_HLPPATH(_PATH_SHADOW_PTMP),
+       DEF_HLPPATH(_PATH_SHADOW_PTMPTMP),
+       DEF_HLPPATH(_PATH_SHADOW_GROUP),
+       DEF_HLPPATH(_PATH_SHADOW_GTMP),
+       DEF_HLPPATH(_PATH_SHADOW_GTMPTMP),
+       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 (file)
index 0000000..8ce1fe7
--- /dev/null
@@ -0,0 +1,143 @@
+/*
+ * Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+ *
+ * This file is part of util-linux-ng.
+ *
+ * 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 <endian.h>
+#include <limits.h>
+
+#if !defined __BYTE_ORDER || !(__BYTE_ORDER == __LITTLE_ENDIAN) && !(__BYTE_ORDER == __BIG_ENDIAN)
+#error missing __BYTE_ORDER
+#endif
+
+typedef struct {
+       const char      *name;
+       int             (*fnc)(void);
+} mntHlpfnc;
+
+int
+hlp_wordsize(void)
+{
+       printf("%d\n", __WORDSIZE);
+       return 0;
+}
+
+int
+hlp_endianness(void)
+{
+#if (__BYTE_ORDER == __LITTLE_ENDIAN)
+       printf("LE\n");
+#else
+       printf("BE\n");
+#endif
+       return 0;
+}
+
+
+int
+hlp_pagesize(void)
+{
+       printf("%d\n", getpagesize());
+       return 0;
+}
+
+int
+hlp_int_max(void)
+{
+       printf("%d\n", INT_MAX);
+       return 0;
+}
+
+int
+hlp_uint_max(void)
+{
+       printf("%u\n", UINT_MAX);
+       return 0;
+}
+
+int
+hlp_long_max(void)
+{
+       printf("%ld\n", LONG_MAX);
+       return 0;
+}
+
+int
+hlp_ulong_max(void)
+{
+       printf("%lu\n", ULONG_MAX);
+       return 0;
+}
+
+int
+hlp_ulong_max32(void)
+{
+#if __WORDSIZE == 64
+       printf("%lu\n", ULONG_MAX >> 32);
+#else
+       printf("%lu\n", ULONG_MAX);
+#endif
+       return 0;
+}
+
+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 (executable)
index 0000000..b99f876
--- /dev/null
@@ -0,0 +1,62 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux-ng.
+#
+# 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)
+comps=$(find $TS_TOPDIR/ts/ -type f -perm /a+x -regex ".*/[^\.~]*" |  sort)
+
+if [ -n "$1" ]; then
+       if [ -d "$TS_TOPDIR/ts/$1" ]; then
+               comps=$(find $TS_TOPDIR/ts/$1 -type f -perm /a+x -regex ".*/[^\.~]*" |  sort)
+       else
+               echo
+               echo "usage: $0 [<component>]"
+               echo "supported components:"
+                       for ts in $comps; do
+                               echo -e "\t$(basename $(dirname $ts))"
+                       done | sort -u
+               echo
+               exit 1
+       fi
+fi
+
+echo
+echo "------------------ Utils-linux-ng 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 "$1"
+       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 (executable)
index 0000000..0310b9d
--- /dev/null
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux-ng.
+#
+# 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/cramfs.img.bz2 b/tests/ts/blkid/images/cramfs.img.bz2
new file mode 100644 (file)
index 0000000..d638116
Binary files /dev/null and b/tests/ts/blkid/images/cramfs.img.bz2 differ
diff --git a/tests/ts/blkid/images/ddf-raid.img.bz2 b/tests/ts/blkid/images/ddf-raid.img.bz2
new file mode 100644 (file)
index 0000000..1dc4892
Binary files /dev/null and b/tests/ts/blkid/images/ddf-raid.img.bz2 differ
diff --git a/tests/ts/blkid/images/ext2.img.bz2 b/tests/ts/blkid/images/ext2.img.bz2
new file mode 100644 (file)
index 0000000..d1811ce
Binary files /dev/null and b/tests/ts/blkid/images/ext2.img.bz2 differ
diff --git a/tests/ts/blkid/images/ext3.img.bz2 b/tests/ts/blkid/images/ext3.img.bz2
new file mode 100644 (file)
index 0000000..5394598
Binary files /dev/null and b/tests/ts/blkid/images/ext3.img.bz2 differ
diff --git a/tests/ts/blkid/images/fat.img.bz2 b/tests/ts/blkid/images/fat.img.bz2
new file mode 100644 (file)
index 0000000..1fa7f2d
Binary files /dev/null and b/tests/ts/blkid/images/fat.img.bz2 differ
diff --git a/tests/ts/blkid/images/fat32_label_64MB.img.bz2 b/tests/ts/blkid/images/fat32_label_64MB.img.bz2
new file mode 100644 (file)
index 0000000..ca76293
Binary files /dev/null and b/tests/ts/blkid/images/fat32_label_64MB.img.bz2 differ
diff --git a/tests/ts/blkid/images/gfs2.img.bz2 b/tests/ts/blkid/images/gfs2.img.bz2
new file mode 100644 (file)
index 0000000..e465df5
Binary files /dev/null and b/tests/ts/blkid/images/gfs2.img.bz2 differ
diff --git a/tests/ts/blkid/images/hfs.img.bz2 b/tests/ts/blkid/images/hfs.img.bz2
new file mode 100644 (file)
index 0000000..d4fc1ab
Binary files /dev/null and b/tests/ts/blkid/images/hfs.img.bz2 differ
diff --git a/tests/ts/blkid/images/hfsplus.img.bz2 b/tests/ts/blkid/images/hfsplus.img.bz2
new file mode 100644 (file)
index 0000000..b6ad1b9
Binary files /dev/null and b/tests/ts/blkid/images/hfsplus.img.bz2 differ
diff --git a/tests/ts/blkid/images/hpfs.img.bz2 b/tests/ts/blkid/images/hpfs.img.bz2
new file mode 100644 (file)
index 0000000..a54e6df
Binary files /dev/null and b/tests/ts/blkid/images/hpfs.img.bz2 differ
diff --git a/tests/ts/blkid/images/jbd.img.bz2 b/tests/ts/blkid/images/jbd.img.bz2
new file mode 100644 (file)
index 0000000..f0d7f91
Binary files /dev/null and b/tests/ts/blkid/images/jbd.img.bz2 differ
diff --git a/tests/ts/blkid/images/jfs.img.bz2 b/tests/ts/blkid/images/jfs.img.bz2
new file mode 100644 (file)
index 0000000..1d4d249
Binary files /dev/null and b/tests/ts/blkid/images/jfs.img.bz2 differ
diff --git a/tests/ts/blkid/images/lvm2.img.bz2 b/tests/ts/blkid/images/lvm2.img.bz2
new file mode 100644 (file)
index 0000000..a699b84
Binary files /dev/null and b/tests/ts/blkid/images/lvm2.img.bz2 differ
diff --git a/tests/ts/blkid/images/mdraid.img.bz2 b/tests/ts/blkid/images/mdraid.img.bz2
new file mode 100644 (file)
index 0000000..d5a67a3
Binary files /dev/null and b/tests/ts/blkid/images/mdraid.img.bz2 differ
diff --git a/tests/ts/blkid/images/minix.img.bz2 b/tests/ts/blkid/images/minix.img.bz2
new file mode 100644 (file)
index 0000000..d11f3a8
Binary files /dev/null and b/tests/ts/blkid/images/minix.img.bz2 differ
diff --git a/tests/ts/blkid/images/netware.img.bz2 b/tests/ts/blkid/images/netware.img.bz2
new file mode 100644 (file)
index 0000000..9c20673
Binary files /dev/null and b/tests/ts/blkid/images/netware.img.bz2 differ
diff --git a/tests/ts/blkid/images/ocfs2.img.bz2 b/tests/ts/blkid/images/ocfs2.img.bz2
new file mode 100644 (file)
index 0000000..0bad915
Binary files /dev/null and b/tests/ts/blkid/images/ocfs2.img.bz2 differ
diff --git a/tests/ts/blkid/images/reiser3.img.bz2 b/tests/ts/blkid/images/reiser3.img.bz2
new file mode 100644 (file)
index 0000000..1802bc2
Binary files /dev/null and b/tests/ts/blkid/images/reiser3.img.bz2 differ
diff --git a/tests/ts/blkid/images/reiser4.img.bz2 b/tests/ts/blkid/images/reiser4.img.bz2
new file mode 100644 (file)
index 0000000..b50d12e
Binary files /dev/null and b/tests/ts/blkid/images/reiser4.img.bz2 differ
diff --git a/tests/ts/blkid/images/romfs.img.bz2 b/tests/ts/blkid/images/romfs.img.bz2
new file mode 100644 (file)
index 0000000..b5e3109
Binary files /dev/null and b/tests/ts/blkid/images/romfs.img.bz2 differ
diff --git a/tests/ts/blkid/images/small-fat32.img.bz2 b/tests/ts/blkid/images/small-fat32.img.bz2
new file mode 100644 (file)
index 0000000..8b90f9c
Binary files /dev/null and b/tests/ts/blkid/images/small-fat32.img.bz2 differ
diff --git a/tests/ts/blkid/images/swap0.img.bz2 b/tests/ts/blkid/images/swap0.img.bz2
new file mode 100644 (file)
index 0000000..e61e375
Binary files /dev/null and b/tests/ts/blkid/images/swap0.img.bz2 differ
diff --git a/tests/ts/blkid/images/swap1.img.bz2 b/tests/ts/blkid/images/swap1.img.bz2
new file mode 100644 (file)
index 0000000..fbab9ed
Binary files /dev/null and b/tests/ts/blkid/images/swap1.img.bz2 differ
diff --git a/tests/ts/blkid/images/udf.img.bz2 b/tests/ts/blkid/images/udf.img.bz2
new file mode 100644 (file)
index 0000000..bd2deb0
Binary files /dev/null and b/tests/ts/blkid/images/udf.img.bz2 differ
diff --git a/tests/ts/blkid/images/xfs.img.bz2 b/tests/ts/blkid/images/xfs.img.bz2
new file mode 100644 (file)
index 0000000..cf6982b
Binary files /dev/null and b/tests/ts/blkid/images/xfs.img.bz2 differ
diff --git a/tests/ts/blkid/images/zfs.img.bz2 b/tests/ts/blkid/images/zfs.img.bz2
new file mode 100644 (file)
index 0000000..92f445a
Binary files /dev/null and b/tests/ts/blkid/images/zfs.img.bz2 differ
diff --git a/tests/ts/blkid/low-probe b/tests/ts/blkid/low-probe
new file mode 100755 (executable)
index 0000000..38afe52
--- /dev/null
@@ -0,0 +1,46 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2009 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux-ng.
+#
+# 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-probe"
+
+. $TS_TOPDIR/functions.sh
+
+ts_init "$*"
+
+if [ ! -x "$TS_CMD_BLKID" ]; then
+       ts_skip "blkid disabled"
+fi
+
+mkdir -p $TS_OUTDIR/images
+
+for img in $(ls $TS_SELF/images/*.img.bz2 | sort); do
+       name=$(basename $img .img.bz2)
+       outimg=$TS_OUTDIR/images/${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/cal/1m b/tests/ts/cal/1m
new file mode 100755 (executable)
index 0000000..1fe64cf
--- /dev/null
@@ -0,0 +1,59 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux-ng.
+#
+# 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 (executable)
index 0000000..e8b5da5
--- /dev/null
@@ -0,0 +1,58 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux-ng.
+#
+# 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 (executable)
index 0000000..658c393
--- /dev/null
@@ -0,0 +1,58 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux-ng.
+#
+# 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 (executable)
index 0000000..a2cf9e2
--- /dev/null
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux-ng.
+#
+# 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 (file)
index 0000000..b203afd
--- /dev/null
@@ -0,0 +1 @@
+Dateiname der Versandhülle
diff --git a/tests/ts/cramfs/cramfs-big.img b/tests/ts/cramfs/cramfs-big.img
new file mode 100644 (file)
index 0000000..2ea516e
Binary files /dev/null and b/tests/ts/cramfs/cramfs-big.img differ
diff --git a/tests/ts/cramfs/cramfs-little.img b/tests/ts/cramfs/cramfs-little.img
new file mode 100644 (file)
index 0000000..a1dfab5
Binary files /dev/null and b/tests/ts/cramfs/cramfs-little.img differ
diff --git a/tests/ts/cramfs/fsck-endianness b/tests/ts/cramfs/fsck-endianness
new file mode 100755 (executable)
index 0000000..93ebc7c
--- /dev/null
@@ -0,0 +1,57 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux-ng.
+#
+# 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 (executable)
index 0000000..98e5172
--- /dev/null
@@ -0,0 +1,98 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux-ng.
+#
+# 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 -s -f $IMAGE_PATH)
+
+ts_log "check the image"
+ts_device_has "TYPE" "cramfs" $DEVICE
+[  "$?" == "0" ] || ts_die "Cannot found cramfs on $DEVICE" $DEVICE
+
+ts_udev_dev_support "by-label" $LABEL
+[ "$?" == "0" ] || ts_skip "udev ignores /dev/loop*" $DEVICE
+
+ts_log "mount the image"
+$TS_CMD_MOUNT -L $LABEL $TS_MOUNTPOINT 2>&1 >> $TS_OUTPUT
+
+# check it
+ts_is_mounted $DEVICE || ts_die "Cannot found $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 (executable)
index 0000000..ff5bc84
--- /dev/null
@@ -0,0 +1,53 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux-ng.
+#
+# 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/fdisk/doslabel b/tests/ts/fdisk/doslabel
new file mode 100755 (executable)
index 0000000..a7ea576
--- /dev/null
@@ -0,0 +1,82 @@
+#!/bin/bash
+
+#
+# This file is part of util-linux-ng.
+#
+# 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="doslabel tests"
+
+. $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_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 
+
+ts_log "Initialize empty image"
+TEST_IMAGE_NAME=$(ts_image_init 10)
+ts_image_md5sum 2>&1 >> $TS_OUTPUT
+
+# 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 2>&1 >> $TS_OUTPUT
+
+ts_log "Create primary partition"
+echo -e "${FDISK_CMD_INIT}${FDISK_CMD_CREATE_PRIMARY}${FDISK_CMD_WRITE_CLOSE}" | \
+       $TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
+ts_image_md5sum 2>&1 >> $TS_OUTPUT
+
+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 2>&1 >> $TS_OUTPUT
+
+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 2>&1 >> $TS_OUTPUT
+
+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 2>&1 >> $TS_OUTPUT
+
+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  2>&1 >> $TS_OUTPUT
+
+ts_log "Delete primary partition"
+echo -e "${FDISK_CMD_INIT}${FDISK_CMD_DELETE_PRIMARY}${FDISK_CMD_WRITE_CLOSE}" \
+       | $TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
+ts_image_md5sum 2>&1 >> $TS_OUTPUT
+
+ts_log "Delete extended partition"
+echo -e "${FDISK_CMD_INIT}${FDISK_CMD_DELETE_EXTENDED}${FDISK_CMD_WRITE_CLOSE}" \
+       | $TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
+ts_image_md5sum 2>&1 >> $TS_OUTPUT
+
+ts_finalize
diff --git a/tests/ts/fsck/ismounted b/tests/ts/fsck/ismounted
new file mode 100755 (executable)
index 0000000..3279ddf
--- /dev/null
@@ -0,0 +1,45 @@
+#!/bin/bash
+#
+# Copyright (C) 2009 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux-ng.
+#
+# 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 found 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 >> $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 (executable)
index 0000000..413c1fe
--- /dev/null
@@ -0,0 +1,57 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux-ng.
+#
+# 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
+
+[ -x "/usr/sbin/ntpdate" ] || ts_skip "cannot found 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 (file)
index 0000000..d742d8e
--- /dev/null
@@ -0,0 +1,83 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux-ng.
+#
+# 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 (executable)
index 0000000..53bc3d1
--- /dev/null
@@ -0,0 +1,58 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux-ng.
+#
+# 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 (executable)
index 0000000..c4efb9c
--- /dev/null
@@ -0,0 +1,51 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux-ng.
+#
+# 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 (executable)
index 0000000..db2ca2b
--- /dev/null
@@ -0,0 +1,31 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux-ng.
+#
+# 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/login/checktty b/tests/ts/login/checktty
new file mode 100755 (executable)
index 0000000..d19fb02
--- /dev/null
@@ -0,0 +1,26 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux-ng.
+#
+# 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="checktty"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+
+$TS_CMD_CHECKTTY  >> $TS_OUTPUT
+ts_finalize
+
diff --git a/tests/ts/login/islocal b/tests/ts/login/islocal
new file mode 100755 (executable)
index 0000000..0534f7e
--- /dev/null
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2008 James Youngman <jay@gnu.org>
+#
+# This file is part of util-linux-ng.
+#
+# 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_CMD_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 (file)
index 0000000..916a8a9
--- /dev/null
@@ -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/look/separator b/tests/ts/look/separator
new file mode 100755 (executable)
index 0000000..53cf9c7
--- /dev/null
@@ -0,0 +1,41 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux-ng.
+#
+# 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 "$*"
+
+[ -f "/usr/share/dict/words" ] || ts_skip "/usr/share/dict/words not such file"
+
+$TS_CMD_LOOK apple-pie >> $TS_OUTPUT
+ts_finalize
+
diff --git a/tests/ts/lscpu/dumps/i386-amdshanghai.tar.gz b/tests/ts/lscpu/dumps/i386-amdshanghai.tar.gz
new file mode 100644 (file)
index 0000000..199c22b
Binary files /dev/null and b/tests/ts/lscpu/dumps/i386-amdshanghai.tar.gz 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 (file)
index 0000000..a18a779
Binary files /dev/null and b/tests/ts/lscpu/dumps/i386-dellpe700.tar.gz 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 (file)
index 0000000..36c9811
Binary files /dev/null and b/tests/ts/lscpu/dumps/i386-intels5000phb.tar.gz 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 (file)
index 0000000..b5f1516
Binary files /dev/null and b/tests/ts/lscpu/dumps/ia64-hpmatterhorn.tar.gz 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 (file)
index 0000000..37bcb17
Binary files /dev/null and b/tests/ts/lscpu/dumps/ia64-hprx1620.tar.gz 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 (file)
index 0000000..f30d792
Binary files /dev/null and b/tests/ts/lscpu/dumps/ia64-pg0.tar.gz 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 (file)
index 0000000..89790b7
Binary files /dev/null and b/tests/ts/lscpu/dumps/x86_64-hpdl585.tar.gz 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 (file)
index 0000000..5aff52f
Binary files /dev/null and b/tests/ts/lscpu/dumps/x86_64-ibme326m.tar.gz 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 (file)
index 0000000..00ed35f
Binary files /dev/null and b/tests/ts/lscpu/dumps/x86_64-necem14.tar.gz differ
diff --git a/tests/ts/lscpu/lscpu b/tests/ts/lscpu/lscpu
new file mode 100755 (executable)
index 0000000..2c7f2a4
--- /dev/null
@@ -0,0 +1,47 @@
+#!/bin/bash
+#
+# Copyright (C) 2008 Cai Qian <qcai@redhat.com>
+#
+# This file is part of util-linux-ng.
+#
+# 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
+
+       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 (file)
index 0000000..ddf70ec
--- /dev/null
@@ -0,0 +1,39 @@
+#!/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 usefull 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
+
+$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 (file)
index 0000000..1eed05a
--- /dev/null
@@ -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 (executable)
index 0000000..eda6d04
--- /dev/null
@@ -0,0 +1,31 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2009 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux-ng.
+#
+# 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 (executable)
index 0000000..33518fc
--- /dev/null
@@ -0,0 +1,37 @@
+#!/bin/bash
+#
+# Copyright (C) 2009 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux-ng.
+#
+# 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
+
+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 (executable)
index 0000000..72770ba
--- /dev/null
@@ -0,0 +1,45 @@
+#!/bin/bash
+#
+# Copyright (C) 2009 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux-ng.
+#
+# 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
+
+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 found $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/mount/devname b/tests/ts/mount/devname
new file mode 100755 (executable)
index 0000000..64b7903
--- /dev/null
@@ -0,0 +1,47 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux-ng.
+#
+# 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 found 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 found $DEVICE in /proc/mounts" $DEVICE
+
+$TS_CMD_UMOUNT $DEVICE || ts_die "Cannot umount $DEVICE" $DEVICE
+
+ts_device_deinit $DEVICE
+
+ts_log "Success"
+ts_finalize
+
diff --git a/tests/ts/mount/fstab-devname b/tests/ts/mount/fstab-devname
new file mode 100755 (executable)
index 0000000..1a2494d
--- /dev/null
@@ -0,0 +1,53 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux-ng.
+#
+# 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 found 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 found $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 found $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 (executable)
index 0000000..053213f
--- /dev/null
@@ -0,0 +1,49 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux-ng.
+#
+# 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 found 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 found $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 (executable)
index 0000000..5cab621
--- /dev/null
@@ -0,0 +1,49 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux-ng.
+#
+# 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 found 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 found $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 (executable)
index 0000000..375a1ba
--- /dev/null
@@ -0,0 +1,62 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux-ng.
+#
+# 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 found LABEL '$LABEL' on $DEVICE" $DEVICE
+
+ts_udev_dev_support "by-label" $LABEL || ts_skip "udev ignores /dev/loop*" $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 found $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 found $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 found $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 (executable)
index 0000000..f53de4f
--- /dev/null
@@ -0,0 +1,57 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux-ng.
+#
+# 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 found LABEL '$LABEL' on $DEVICE" $DEVICE
+
+ts_udev_dev_support "by-label" $LABEL || ts_skip "udev ignores /dev/loop*" $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 found $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 found $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 (executable)
index 0000000..1c90c2e
--- /dev/null
@@ -0,0 +1,62 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux-ng.
+#
+# 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 found LABEL '$LABEL' on $DEVICE" $DEVICE
+
+ts_udev_dev_support "by-label" $LABEL || ts_skip "udev ignores /dev/loop*" $DEVICE
+
+ts_device_has_uuid $DEVICE || ts_die "Cannot found 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 found $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 found $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-symlink b/tests/ts/mount/fstab-symlink
new file mode 100755 (executable)
index 0000000..41e51b4
--- /dev/null
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux-ng.
+#
+# 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 found 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 found $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 found $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 (executable)
index 0000000..7f78e45
--- /dev/null
@@ -0,0 +1,62 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux-ng.
+#
+# 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 found UUID on $DEVICE" $DEVICE
+
+UUID=$(ts_uuid_by_devname $DEVICE)
+
+ts_udev_dev_support "by-uuid" $UUID || ts_skip "udev ignores /dev/loop*" $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 found $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 found $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 found $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 (executable)
index 0000000..b1d2e77
--- /dev/null
@@ -0,0 +1,57 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux-ng.
+#
+# 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 found UUID on $DEVICE" $DEVICE
+
+UUID=$(ts_uuid_by_devname $DEVICE)
+
+ts_udev_dev_support "by-uuid" $UUID || ts_skip "udev ignores /dev/loop*" $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 found $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 found $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 (executable)
index 0000000..7b21dfa
--- /dev/null
@@ -0,0 +1,61 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux-ng.
+#
+# 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 found LABEL '$LABEL' on $DEVICE" $DEVICE
+
+ts_udev_dev_support "by-label" $LABEL || ts_skip "udev ignores /dev/loop*" $DEVICE
+
+ts_device_has_uuid $DEVICE || ts_die "Cannot found 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 found $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 found $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 (executable)
index 0000000..05df26a
--- /dev/null
@@ -0,0 +1,56 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux-ng.
+#
+# 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 found LABEL '$LABEL' on $DEVICE" $DEVICE
+
+ts_udev_dev_support "by-label" $LABEL \
+ || ts_skip "udev ignores /dev/loop*" $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 found $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 found $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 (executable)
index 0000000..660ef43
--- /dev/null
@@ -0,0 +1,56 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux-ng.
+#
+# 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
+egrep -q "^$DIR_SRC $DIR_A" /etc/mtab
+[ "$?" == "0" ] || ts_die "Cannot found binded $DIR_SRC in /etc/mtab"
+
+# move
+$TS_CMD_MOUNT --move $DIR_A $DIR_B
+
+# check the move
+egrep -q "^$DIR_SRC $DIR_B" /etc/mtab
+if [ "$?" != "0" ]; then
+       $TS_CMD_UMOUNT $DIR_SRC
+       ts_die "Cannot found moved $DIR_SRC in /etc/mtab"
+fi
+
+# clean up
+$TS_CMD_UMOUNT $DIR_SRC
+rmdir $DIR_SRC $DIR_A $DIR_B
+
+ts_log "Success"
+ts_finalize
+
diff --git a/tests/ts/mount/mtablock b/tests/ts/mount/mtablock
new file mode 100755 (executable)
index 0000000..137e1a2
--- /dev/null
@@ -0,0 +1,50 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux-ng.
+#
+# 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="mtab lock"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+ts_skip_nonroot
+
+#
+# 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) + 10 ))
+
+for id in $(seq 0 $(( $NPROCESSES - 1 ))); do
+       $TS_CMD_MTABLOCK $id $SYNCTIME $TS_OUTPUT $NLOOPS >> $TS_OUTPUT.debug 2>&1 &
+done
+
+wait
+
+ts_finalize
+
diff --git a/tests/ts/mount/noncanonical b/tests/ts/mount/noncanonical
new file mode 100755 (executable)
index 0000000..3114992
--- /dev/null
@@ -0,0 +1,34 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux-ng.
+#
+# 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"
+
+# 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 (executable)
index 0000000..bb2cabf
--- /dev/null
@@ -0,0 +1,28 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux-ng.
+#
+# 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 -n -f -v -v -v /dev/dummy /mnt &> $TS_OUTPUT
+
+ts_finalize
+
diff --git a/tests/ts/mount/remount b/tests/ts/mount/remount
new file mode 100755 (executable)
index 0000000..57dd074
--- /dev/null
@@ -0,0 +1,52 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux-ng.
+#
+# 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 found $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
+egrep -q "^$DEVICE $TS_MOUNTPOINT ext2 ro 0 0" /etc/mtab \
+ || ts_die "Cannot found remounted $TS_MOUNTPOINT in /etc/mtab" $DEVICE
+
+ts_device_deinit $DEVICE
+
+ts_log "Success"
+ts_finalize
+
diff --git a/tests/ts/mount/special b/tests/ts/mount/special
new file mode 100755 (executable)
index 0000000..f31154e
--- /dev/null
@@ -0,0 +1,40 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux-ng.
+#
+# 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-ng regression test component
+# It's safe to remove me...
+#
+echo "$0 called with \"$*\""
+EOF
+chmod +x $MOUNTER
+
+$TS_CMD_MOUNT -v -v -v -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 (executable)
index 0000000..e461103
--- /dev/null
@@ -0,0 +1,55 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux-ng.
+#
+# 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 found UUID on $DEVICE" $DEVICE
+
+UUID=$(ts_uuid_by_devname $DEVICE)
+
+ts_udev_dev_support "by-uuid" $UUID \
+ || ts_skip "udev ignores /dev/loop*" $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 found $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 found $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 (executable)
index 0000000..f396712
--- /dev/null
@@ -0,0 +1,34 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux-ng.
+#
+# 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/paths/built-in b/tests/ts/paths/built-in
new file mode 100755 (executable)
index 0000000..c540b2f
--- /dev/null
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux-ng.
+#
+# 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/script/race b/tests/ts/script/race
new file mode 100755 (executable)
index 0000000..4962db9
--- /dev/null
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux-ng.
+#
+# 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 (executable)
index 0000000..f6edd53
--- /dev/null
@@ -0,0 +1,44 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux-ng.
+#
+# 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 found swap on $DEVICE" $DEVICE
+
+$TS_CMD_SWAPON $DEVICE 2>&1 >> $TS_OUTPUT
+
+grep -q $DEVICE /proc/swaps || ts_die "Cannot found $DEVICE in /proc/swaps" $DEVICE
+
+ts_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 (executable)
index 0000000..299572c
--- /dev/null
@@ -0,0 +1,48 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux-ng.
+#
+# 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 found LABEL '$LABEL' on $DEVICE" $DEVICE
+
+ts_udev_dev_support "by-label" $LABEL || ts_skip "udev ignores /dev/loop*" $DEVICE
+
+$TS_CMD_SWAPON -L $LABEL 2>&1 >> $TS_OUTPUT
+
+grep -q $DEVICE /proc/swaps || ts_die "Cannot found $DEVICE in /proc/swaps" $DEVICE
+
+ts_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 (executable)
index 0000000..3a9c131
--- /dev/null
@@ -0,0 +1,48 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux-ng.
+#
+# 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 found UUID on $DEVICE" $DEVICE
+
+UUID=$(ts_uuid_by_devname $DEVICE)
+
+ts_udev_dev_support "by-uuid" $UUID || ts_skip "udev ignores /dev/loop*" $DEVICE
+
+$TS_CMD_SWAPON -U $UUID 2>&1 >> $TS_OUTPUT
+
+grep -q $DEVICE /proc/swaps || ts_die "Cannot found $DEVICE in /proc/swaps" $DEVICE
+
+ts_swapoff $DEVICE
+ts_device_deinit $DEVICE
+
+ts_log "Success"
+ts_finalize
+
diff --git a/text-utils/LICENSE.pg b/text-utils/LICENSE.pg
new file mode 100644 (file)
index 0000000..e805a31
--- /dev/null
@@ -0,0 +1,28 @@
+/*
+ *     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.
+ */
diff --git a/text-utils/Makefile.am b/text-utils/Makefile.am
new file mode 100644 (file)
index 0000000..dec895b
--- /dev/null
@@ -0,0 +1,33 @@
+include $(top_srcdir)/config/include-Makefile.am
+
+EXTRA_DIST = README.clear README.col
+
+usrbin_exec_PROGRAMS = col colcrt colrm column hexdump rev line tailf
+
+hexdump_SOURCES = hexdump.c conv.c display.c hexsyntax.c odsyntax.c parse.c \
+                 hexdump.h
+
+dist_man_MANS = col.1 colcrt.1 colrm.1 column.1 hexdump.1 rev.1 line.1 tailf.1
+
+if HAVE_NCURSES
+bin_PROGRAMS = more
+usrbin_exec_PROGRAMS += ul pg
+if HAVE_TINFO
+more_LDADD = -ltinfo
+pg_LDADD = -ltinfo @NCURSES_LIBS@
+ul_LDADD = -ltinfo
+else
+more_LDADD = @NCURSES_LIBS@
+pg_LDADD = @NCURSES_LIBS@
+ul_LDADD = @NCURSES_LIBS@
+endif
+dist_man_MANS += ul.1 more.1 pg.1
+else
+if HAVE_TERMCAP
+bin_PROGRAMS = more
+more_LDADD = -ltermcap
+dist_man_MANS += more.1
+endif
+endif
+
+EXTRA_DIST += README.pg LICENSE.pg
diff --git a/text-utils/Makefile.in b/text-utils/Makefile.in
new file mode 100644 (file)
index 0000000..d165f82
--- /dev/null
@@ -0,0 +1,801 @@
+# Makefile.in generated by automake 1.11 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@
+DIST_COMMON = $(am__dist_noinst_DATA_DIST) $(dist_man_MANS) \
+       $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+       $(top_srcdir)/config/include-Makefile.am
+usrbin_exec_PROGRAMS = col$(EXEEXT) colcrt$(EXEEXT) colrm$(EXEEXT) \
+       column$(EXEEXT) hexdump$(EXEEXT) rev$(EXEEXT) line$(EXEEXT) \
+       tailf$(EXEEXT) $(am__EXEEXT_1)
+@HAVE_NCURSES_FALSE@@HAVE_TERMCAP_TRUE@bin_PROGRAMS = more$(EXEEXT)
+@HAVE_NCURSES_TRUE@bin_PROGRAMS = more$(EXEEXT)
+@HAVE_NCURSES_TRUE@am__append_1 = ul pg
+@HAVE_NCURSES_TRUE@am__append_2 = ul.1 more.1 pg.1
+@HAVE_NCURSES_FALSE@@HAVE_TERMCAP_TRUE@am__append_3 = more.1
+subdir = text-utils
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.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)/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 =
+CONFIG_CLEAN_VPATH_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(usrbin_execdir)" \
+       "$(DESTDIR)$(man1dir)"
+@HAVE_NCURSES_TRUE@am__EXEEXT_1 = ul$(EXEEXT) pg$(EXEEXT)
+PROGRAMS = $(bin_PROGRAMS) $(usrbin_exec_PROGRAMS)
+col_SOURCES = col.c
+col_OBJECTS = col.$(OBJEXT)
+col_LDADD = $(LDADD)
+colcrt_SOURCES = colcrt.c
+colcrt_OBJECTS = colcrt.$(OBJEXT)
+colcrt_LDADD = $(LDADD)
+colrm_SOURCES = colrm.c
+colrm_OBJECTS = colrm.$(OBJEXT)
+colrm_LDADD = $(LDADD)
+column_SOURCES = column.c
+column_OBJECTS = column.$(OBJEXT)
+column_LDADD = $(LDADD)
+am_hexdump_OBJECTS = hexdump.$(OBJEXT) conv.$(OBJEXT) \
+       display.$(OBJEXT) hexsyntax.$(OBJEXT) odsyntax.$(OBJEXT) \
+       parse.$(OBJEXT)
+hexdump_OBJECTS = $(am_hexdump_OBJECTS)
+hexdump_LDADD = $(LDADD)
+line_SOURCES = line.c
+line_OBJECTS = line.$(OBJEXT)
+line_LDADD = $(LDADD)
+more_SOURCES = more.c
+more_OBJECTS = more.$(OBJEXT)
+more_DEPENDENCIES =
+pg_SOURCES = pg.c
+pg_OBJECTS = pg.$(OBJEXT)
+pg_DEPENDENCIES =
+rev_SOURCES = rev.c
+rev_OBJECTS = rev.$(OBJEXT)
+rev_LDADD = $(LDADD)
+tailf_SOURCES = tailf.c
+tailf_OBJECTS = tailf.$(OBJEXT)
+tailf_LDADD = $(LDADD)
+ul_SOURCES = ul.c
+ul_OBJECTS = ul.$(OBJEXT)
+ul_DEPENDENCIES =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+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) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+       --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+       --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+       $(LDFLAGS) -o $@
+SOURCES = col.c colcrt.c colrm.c column.c $(hexdump_SOURCES) line.c \
+       more.c pg.c rev.c tailf.c ul.c
+DIST_SOURCES = col.c colcrt.c colrm.c column.c $(hexdump_SOURCES) \
+       line.c more.c pg.c rev.c tailf.c ul.c
+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'
+man1dir = $(mandir)/man1
+NROFF = nroff
+MANS = $(dist_man_MANS)
+am__dist_noinst_DATA_DIST = col.1 colcrt.1 colrm.1 column.1 hexdump.1 \
+       rev.1 line.1 tailf.1 ul.1 more.1 pg.1
+DATA = $(dist_noinst_DATA)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BLKID = @BLKID@
+BLKID_CFLAGS = @BLKID_CFLAGS@
+BLKID_LIBS = @BLKID_LIBS@
+BLKID_LIBS_STATIC = @BLKID_LIBS_STATIC@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+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@
+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_VERSION = @LIBBLKID_VERSION@
+LIBBLKID_VERSION_INFO = @LIBBLKID_VERSION_INFO@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+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@
+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_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+POSUB = @POSUB@
+RANLIB = @RANLIB@
+SED = @SED@
+SELINUX_LIBS = @SELINUX_LIBS@
+SELINUX_LIBS_STATIC = @SELINUX_LIBS_STATIC@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SUID_CFLAGS = @SUID_CFLAGS@
+SUID_LDFLAGS = @SUID_LDFLAGS@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
+VERSION = @VERSION@
+VOLID = @VOLID@
+XGETTEXT = @XGETTEXT@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+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@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+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 $(top_builddir)/config.h -I$(top_srcdir)/include \
+       -DLOCALEDIR=\"$(localedir)\"
+
+AM_CFLAGS = -fsigned-char
+AM_LDFLAGS = 
+
+# 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)
+#
+# blkid
+ul_libblkid_srcdir = $(top_srcdir)/shlibs/blkid/src
+ul_libblkid_builddir = $(top_builddir)/shlibs/blkid/src
+ul_libblkid_la = $(top_builddir)/shlibs/blkid/src/libblkid.la
+
+# uuid
+ul_libuuid_srcdir = $(top_srcdir)/shlibs/uuid/src
+ul_libuuid_builddir = $(top_builddir)/shlibs/uuid/src
+ul_libuuid_la = $(top_builddir)/shlibs/uuid/src/libuuid.la
+EXTRA_DIST = README.clear README.col README.pg LICENSE.pg
+hexdump_SOURCES = hexdump.c conv.c display.c hexsyntax.c odsyntax.c parse.c \
+                 hexdump.h
+
+dist_man_MANS = col.1 colcrt.1 colrm.1 column.1 hexdump.1 rev.1 line.1 \
+       tailf.1 $(am__append_2) $(am__append_3)
+@HAVE_NCURSES_FALSE@@HAVE_TERMCAP_TRUE@more_LDADD = -ltermcap
+@HAVE_NCURSES_TRUE@@HAVE_TINFO_FALSE@more_LDADD = @NCURSES_LIBS@
+@HAVE_NCURSES_TRUE@@HAVE_TINFO_TRUE@more_LDADD = -ltinfo
+@HAVE_NCURSES_TRUE@@HAVE_TINFO_FALSE@pg_LDADD = @NCURSES_LIBS@
+@HAVE_NCURSES_TRUE@@HAVE_TINFO_TRUE@pg_LDADD = -ltinfo @NCURSES_LIBS@
+@HAVE_NCURSES_TRUE@@HAVE_TINFO_FALSE@ul_LDADD = @NCURSES_LIBS@
+@HAVE_NCURSES_TRUE@@HAVE_TINFO_TRUE@ul_LDADD = -ltinfo
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/config/include-Makefile.am $(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 text-utils/Makefile'; \
+       $(am__cd) $(top_srcdir) && \
+         $(AUTOMAKE) --foreign text-utils/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):
+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
+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
+col$(EXEEXT): $(col_OBJECTS) $(col_DEPENDENCIES) 
+       @rm -f col$(EXEEXT)
+       $(LINK) $(col_OBJECTS) $(col_LDADD) $(LIBS)
+colcrt$(EXEEXT): $(colcrt_OBJECTS) $(colcrt_DEPENDENCIES) 
+       @rm -f colcrt$(EXEEXT)
+       $(LINK) $(colcrt_OBJECTS) $(colcrt_LDADD) $(LIBS)
+colrm$(EXEEXT): $(colrm_OBJECTS) $(colrm_DEPENDENCIES) 
+       @rm -f colrm$(EXEEXT)
+       $(LINK) $(colrm_OBJECTS) $(colrm_LDADD) $(LIBS)
+column$(EXEEXT): $(column_OBJECTS) $(column_DEPENDENCIES) 
+       @rm -f column$(EXEEXT)
+       $(LINK) $(column_OBJECTS) $(column_LDADD) $(LIBS)
+hexdump$(EXEEXT): $(hexdump_OBJECTS) $(hexdump_DEPENDENCIES) 
+       @rm -f hexdump$(EXEEXT)
+       $(LINK) $(hexdump_OBJECTS) $(hexdump_LDADD) $(LIBS)
+line$(EXEEXT): $(line_OBJECTS) $(line_DEPENDENCIES) 
+       @rm -f line$(EXEEXT)
+       $(LINK) $(line_OBJECTS) $(line_LDADD) $(LIBS)
+more$(EXEEXT): $(more_OBJECTS) $(more_DEPENDENCIES) 
+       @rm -f more$(EXEEXT)
+       $(LINK) $(more_OBJECTS) $(more_LDADD) $(LIBS)
+pg$(EXEEXT): $(pg_OBJECTS) $(pg_DEPENDENCIES) 
+       @rm -f pg$(EXEEXT)
+       $(LINK) $(pg_OBJECTS) $(pg_LDADD) $(LIBS)
+rev$(EXEEXT): $(rev_OBJECTS) $(rev_DEPENDENCIES) 
+       @rm -f rev$(EXEEXT)
+       $(LINK) $(rev_OBJECTS) $(rev_LDADD) $(LIBS)
+tailf$(EXEEXT): $(tailf_OBJECTS) $(tailf_DEPENDENCIES) 
+       @rm -f tailf$(EXEEXT)
+       $(LINK) $(tailf_OBJECTS) $(tailf_LDADD) $(LIBS)
+ul$(EXEEXT): $(ul_OBJECTS) $(ul_DEPENDENCIES) 
+       @rm -f ul$(EXEEXT)
+       $(LINK) $(ul_OBJECTS) $(ul_LDADD) $(LIBS)
+
+mostlyclean-compile:
+       -rm -f *.$(OBJEXT)
+
+distclean-compile:
+       -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/col.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/colcrt.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/colrm.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/column.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/conv.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/display.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hexdump.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hexsyntax.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/line.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/more.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/odsyntax.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parse.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pg.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rev.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tailf.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ul.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@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 $<
+
+.c.obj:
+@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@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 `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@   $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@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 $@ $<
+
+mostlyclean-libtool:
+       -rm -f *.lo
+
+clean-libtool:
+       -rm -rf .libs _libs
+install-man1: $(dist_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)'; 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)'; 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; }
+
+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:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       set x; \
+       here=`pwd`; \
+       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; }; }'`; \
+       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:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       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; }; }'`; \
+       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
+
+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
+       @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 $(PROGRAMS) $(MANS) $(DATA)
+installdirs:
+       for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(usrbin_execdir)" "$(DESTDIR)$(man1dir)"; do \
+         test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+       done
+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:
+
+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)
+
+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-binPROGRAMS clean-generic clean-libtool \
+       clean-usrbin_execPROGRAMS mostlyclean-am
+
+distclean: distclean-am
+       -rm -rf ./$(DEPDIR)
+       -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+       distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-man
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-binPROGRAMS install-usrbin_execPROGRAMS
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man: install-man1
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+       -rm -rf ./$(DEPDIR)
+       -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+       mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS uninstall-man \
+       uninstall-usrbin_execPROGRAMS
+
+uninstall-man: uninstall-man1
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
+       clean-generic clean-libtool clean-usrbin_execPROGRAMS ctags \
+       distclean distclean-compile distclean-generic \
+       distclean-libtool distclean-tags distdir dvi dvi-am html \
+       html-am info info-am install install-am install-binPROGRAMS \
+       install-data install-data-am install-dvi install-dvi-am \
+       install-exec install-exec-am install-html install-html-am \
+       install-info install-info-am install-man install-man1 \
+       install-pdf install-pdf-am install-ps install-ps-am \
+       install-strip install-usrbin_execPROGRAMS installcheck \
+       installcheck-am installdirs maintainer-clean \
+       maintainer-clean-generic mostlyclean mostlyclean-compile \
+       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+       tags uninstall uninstall-am uninstall-binPROGRAMS \
+       uninstall-man uninstall-man1 uninstall-usrbin_execPROGRAMS
+
+
+$(ul_libblkid_la):
+       $(MAKE) -C $(ul_libblkid_builddir)
+
+$(ul_libuuid_la):
+       $(MAKE) -C $(ul_libuuid_builddir)
+
+# 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/text-utils/README.clear b/text-utils/README.clear
new file mode 100644 (file)
index 0000000..7684132
--- /dev/null
@@ -0,0 +1,7 @@
+RedHat and SuSE take the program clear from ncurses.
+ A 20KB program equivalent to "tput clear".
+
+Slackware uses the script.
+
+So, both versions will behave identically, and
+Slackware saves 20 KB.
diff --git a/text-utils/README.col b/text-utils/README.col
new file mode 100644 (file)
index 0000000..2a7dd6c
--- /dev/null
@@ -0,0 +1,48 @@
+#      @(#)README      5.1 (Berkeley) 5/22/90
+
+col - filter out reverse line feeds.
+
+Options are:
+       -b      do not print any backspaces (last character written is printed)
+       -f      allow half line feeds in output, by default characters between
+               lines are pushed to the line below
+       -x      do not compress spaces into tabs.
+       -l num  keep (at least) num lines in memory, 128 are kept by default
+
+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/text-utils/README.pg b/text-utils/README.pg
new file mode 100644 (file)
index 0000000..df92b85
--- /dev/null
@@ -0,0 +1,23 @@
+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.
+
+This code uses routines as defined by SUSv2, so a glibc version of 2.1 or
+higher is required on Linux. A curses implementation (like ncurses) must
+be present as well.
+
+If large files > 2GB are supported by the kernel and the C library, pg is
+able to handle them.
+
+Please send comments, bug-reports and especially bug-fixes to
+<g-r@bigfoot.de> .
+
+Gunnar Ritter
+Freiburg i. Br.
+Germany
diff --git a/text-utils/col.1 b/text-utils/col.1
new file mode 100644 (file)
index 0000000..86afba3
--- /dev/null
@@ -0,0 +1,141 @@
+.\" 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
+.\"
+.Dd June 17, 1991
+.Dt COL 1
+.Os
+.Sh NAME
+.Nm col
+.Nd filter reverse line feeds from input
+.Sh SYNOPSIS
+.Nm col
+.Op Fl bfpx
+.Op Fl l Ar num
+.Sh DESCRIPTION
+.Nm 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
+.Xr nroff 1
+and
+.Xr tbl  1 .
+.Pp
+.Nm Col
+reads from standard input and writes to standard output.
+.Pp
+The options are as follows:
+.Bl -tag -width "-lnum"
+.It Fl b
+Do not output any backspaces, printing only the last character
+written to each column position.
+.It Fl f
+Forward half line feeds are permitted (``fine'' mode).
+Normally characters printed on a half line boundary are printed
+on the following line.
+.It Fl p
+Force unknown control sequences to be passed through unchanged.
+Normally,
+.Nm col
+will filter out any control sequences from the input other than those
+recognized and interpreted by itself, which are listed below.
+.It Fl x
+Output multiple spaces instead of tabs.
+.It Fl l Ns Ar num
+Buffer at least
+.Ar num
+lines in memory.
+By default, 128 lines are buffered.
+.El
+.Pp
+The control sequences for carriage motion that
+.Nm col
+understands and their decimal values are listed in the following
+table:
+.Pp
+.Bl -tag -width "carriage return" -compact
+.It ESC\-7
+reverse line feed (escape then 7)
+.It ESC\-8
+half reverse line feed (escape then 8)
+.It ESC\-9
+half forward line feed (escape then 9)
+.It backspace
+moves back one column (8); ignored in the first column
+.It carriage return
+(13)
+.It newline
+forward line feed (10); also does carriage return
+.It shift in
+shift to normal character set (15)
+.It shift out
+shift to alternate character set (14)
+.It space
+moves forward one column (32)
+.It tab
+moves forward to next tab stop (9)
+.It vertical tab
+reverse line feed (11)
+.El
+.Pp
+All unrecognized control characters and escape sequences are
+discarded.
+.Pp
+.Nm 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,
+.Nm col
+will display a warning message.
+.Sh SEE ALSO
+.Xr expand 1 ,
+.Xr nroff 1 ,
+.Xr tbl 1
+.Sh STANDARDS
+The
+.Nm col
+utility conforms to the Single UNIX Specification, Version 2. The
+.Fl l
+option is an extension to the standard.
+.Sh HISTORY
+A
+.Nm col
+command
+appeared in Version 6 AT&T UNIX.
+.Sh AVAILABILITY
+The col command is part of the util-linux-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/text-utils/col.c b/text-utils/col.c
new file mode 100644 (file)
index 0000000..3b81a89
--- /dev/null
@@ -0,0 +1,559 @@
+/*-
+ * 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 "nls.h"
+
+#include "widechar.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 usage(void);
+void wrerr(void);
+void warn(int);
+void free_line(LINE *l);
+void flush_line(LINE *l);
+void flush_lines(int);
+void flush_blanks(void);
+void *xmalloc(void *p, size_t size);
+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) */
+int 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();
+
+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 = 0;
+
+       setlocale(LC_ALL, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+       
+       max_bufd_lines = 128;
+       compress_spaces = 1;            /* compress spaces into tabs */
+       pass_unknown_seqs = 0;          /* remove unknown escape sequences */
+       while ((opt = getopt(argc, argv, "bfhl:px")) != -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 */
+                       if ((max_bufd_lines = atoi(optarg)) <= 0) {
+                               (void)fprintf(stderr,
+                                   _("col: bad -l argument %s.\n"), optarg);
+                               exit(1);
+                       }
+                       break;
+               case 'p':
+                       pass_unknown_seqs = 1;
+                       break;
+               case 'x':               /* do not compress spaces into tabs */
+                       compress_spaces = 0;
+                       break;
+               case '?':
+               default:
+                       usage();
+               }
+
+       if (optind != argc)
+               usage();
+
+       /* this value is in half lines */
+       max_bufd_lines *= 2;
+
+       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) {
+                               perror("col");
+                               ret = 1;
+                       }
+                       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++)
+                                                       warn(cur_line);
+                                               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 >= 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 *)xmalloc((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();
+       if (ferror(stdout) || fclose(stdout))
+               return 1;
+       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)
+                       (void)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 *)xmalloc((void *)sorted,
+                           (unsigned)sizeof(CHAR) * sorted_size);
+               }
+               if (l->l_max_col >= count_size) {
+                       count_size = l->l_max_col + 1;
+                       count = (int *)xmalloc((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 = (LINE *)xmalloc((void *)NULL, 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;
+}
+
+void *
+xmalloc(void *p, size_t size)
+{
+       if (!(p = (void *)realloc(p, size))) {
+               (void)fprintf(stderr, "col: %s.\n", strerror(ENOMEM));
+               exit(1);
+       }
+       return(p);
+}
+
+void usage()
+{
+       (void)fprintf(stderr, _("usage: col [-bfpx] [-l nline]\n"));
+       exit(1);
+}
+
+void wrerr()
+{
+       (void)fprintf(stderr, _("col: write error.\n"));
+       exit(1);
+}
+
+void warn(int line)
+{
+       (void)fprintf(stderr,
+           _("col: warning: can't back up %s.\n"), line < 0 ?
+           _("past first line") : _("-- line already flushed"));
+}
diff --git a/text-utils/colcrt.1 b/text-utils/colcrt.1
new file mode 100644 (file)
index 0000000..f0eceb5
--- /dev/null
@@ -0,0 +1,111 @@
+.\" 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
+.\"
+.Dd June 30, 1993
+.Dt COLCRT 1
+.Os BSD 3
+.Sh NAME
+.Nm colcrt
+.Nd filter nroff output for CRT previewing
+.Sh SYNOPSIS
+.Nm colcrt
+.Op Fl
+.Op Fl \&2
+.Op Ar
+.Sh DESCRIPTION
+.Nm 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.
+.Pp
+Available options:
+.Bl -tag -width Ds
+.It Fl
+Suppress all underlining.
+This option is especially useful for previewing
+.Em allboxed
+tables from
+.Xr tbl 1 .
+.It Fl 2
+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
+.Fl 2
+option is useful for sending output to the line printer when the output
+contains superscripts and subscripts which would otherwise be invisible.
+.El
+.Sh EXAMPLES
+A typical use of
+.Nm colcrt
+would be
+.Bd -literal
+tbl exum2.n \&| nroff \-ms \&| colcrt \- \&| more
+.Ed
+.Sh SEE ALSO
+.Xr nroff 1 ,
+.Xr troff 1 ,
+.Xr col 1 ,
+.Xr more 1 ,
+.Xr ul 1
+.Sh BUGS
+Should fold underlines onto blanks even with the
+.Ql Fl
+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
+.Ql \&|
+overstruck with
+.Ql \-
+or underline becomes
+.Ql \&+ .
+.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
+.Nm
+command appeared in 
+.Bx 3.0 .
+.Sh AVAILABILITY
+The colcrt command is part of the util-linux-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/text-utils/colcrt.c b/text-utils/colcrt.c
new file mode 100644 (file)
index 0000000..6f79665
--- /dev/null
@@ -0,0 +1,286 @@
+/*
+ * 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 "nls.h"
+
+#include "widechar.h"
+
+int plus(wchar_t c, wchar_t d);
+void move(int l, int m);
+void pflush(int ol);
+
+/*
+ * 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;
+
+char   *progname;
+void colcrt(FILE *f);
+
+int
+main(int argc, char **argv) {
+       FILE *f;
+
+       setlocale(LC_ALL, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+
+       argc--;
+       progname = *argv++;
+       while (argc > 0 && argv[0][0] == '-') {
+               switch (argv[0][1]) {
+                       case 0:
+                               suppresul = 1;
+                               break;
+                       case '2':
+                               printall = 1;
+                               break;
+                       default:
+                               printf(_("usage: %s [ - ] [ -2 ] [ file ... ]\n"), progname);
+                               fflush(stdout);
+                               exit(1);
+               }
+               argc--;
+               argv++;
+       }
+       f = stdin;
+       do {
+               if (argc > 0) {
+                       if (!(f = fopen(argv[0], "r"))) {
+                               fflush(stdout);
+                               perror(argv[0]);
+                               exit (1);
+                       }
+                       argc--;
+                       argv++;
+               }
+               colcrt(f);
+               if (f != stdin)
+                       fclose(f);
+       } while (argc > 0);
+       fflush(stdout);
+       if (ferror(stdout) || fclose(stdout))
+               return 1;
+       return 0;
+}
+
+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;
+       }
+}
diff --git a/text-utils/colrm.1 b/text-utils/colrm.1
new file mode 100644 (file)
index 0000000..d02167a
--- /dev/null
@@ -0,0 +1,66 @@
+.\" 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
+.\"
+.Dd March 14, 1991
+.Dt COLRM 1
+.Os BSD 3
+.Sh NAME
+.Nm colrm
+.Nd remove columns from a file
+.Sh SYNOPSIS
+.Nm colrm
+.Op Ar startcol Op Ar endcol
+.Sh DESCRIPTION
+.Nm 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 column.
+If called with two parameters the columns from the first column
+to the last column will be removed.
+.Pp
+Column numbering starts with column 1.
+.Sh SEE ALSO
+.Xr awk 1 ,
+.Xr column 1 ,
+.Xr expand 1 ,
+.Xr paste 1
+.Sh HISTORY
+The
+.Nm
+command appeared in 
+.Bx 3.0 .
+.Sh AVAILABILITY
+The colrm command is part of the util-linux-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/text-utils/colrm.c b/text-utils/colrm.c
new file mode 100644 (file)
index 0000000..e8b1ea4
--- /dev/null
@@ -0,0 +1,140 @@
+/*
+ * 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 "nls.h"
+#include "widechar.h"
+
+/*
+COLRM removes unwanted columns from a file
+       Jeff Schriebman  UC Berkeley 11-74
+*/
+
+int
+main(int argc, char **argv)
+{
+       register int ct, first, last;
+       register wint_t c;
+       int i, w;
+       int padding;
+
+       setlocale(LC_ALL, "");
+
+       first = 0;
+       last = 0;
+       if (argc > 1)
+               first = atoi(*++argv);
+       if (argc > 2)
+               last = atoi(*++argv);
+
+start:
+       ct = 0;
+loop1:
+       c = getwc(stdin);
+       if (c == WEOF)
+               goto fin;
+       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);
+               goto start;
+       }
+       if (!first || ct < first) {
+               putwc(c, stdout);
+               goto loop1;
+       }
+       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)
+                       goto fin;
+               if (c == '\n') {
+                       putwc(c, stdout);
+                       goto start;
+               }
+               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);
+                       goto start;
+               }
+               if (padding == 0 && last < ct) {
+                       for (i = last; i <ct; i++)
+                               putwc(' ', stdout);
+                       padding = 1;
+               }
+               putwc(c, stdout);
+       }
+fin:
+       fflush(stdout);
+       if (ferror(stdout) || fclose(stdout))
+               return 1;
+       return 0;
+}
diff --git a/text-utils/column.1 b/text-utils/column.1
new file mode 100644 (file)
index 0000000..1da59cc
--- /dev/null
@@ -0,0 +1,102 @@
+.\" 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
+.\"
+.Dd June 6, 1993
+.Os
+.Dt COLUMN 1
+.Sh NAME
+.Nm column
+.Nd columnate lists
+.Sh SYNOPSIS
+.Nm column
+.Op Fl tx
+.Op Fl c Ar columns
+.Op Fl s Ar sep
+.Op Ar
+.Sh DESCRIPTION
+The
+.Nm column
+utility formats its input into multiple columns.
+Rows are filled before columns.
+Input is taken from
+.Ar file
+operands, or, by default, from the standard input.
+Empty lines are ignored.
+.Pp
+The options are as follows:
+.Bl -tag -width Ds
+.It Fl c
+Output is formatted for a display
+.Ar columns
+wide.
+.It Fl s
+Specify a set of characters to be used to delimit columns for the
+.Fl t
+option.
+.It Fl t
+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
+.Fl s
+option.
+Useful for pretty-printing displays.
+.It Fl x
+Fill columns before filling rows.
+.El
+.Pp
+.Nm Column
+exits 0 on success, >0 if an error occurred.
+.Sh ENVIRONMENT
+.Bl -tag -width COLUMNS
+.It Ev COLUMNS
+The environment variable
+.Ev COLUMNS
+is used to determine the size of
+the screen if no other information is available.
+.El
+.Sh EXAMPLES
+.Dl (printf \&"PERM LINKS OWNER GROUP SIZE MONTH DAY HH:MM/YEAR\ NAME\en\&"\ \&\e
+.Dl \&; ls -l \&| sed 1d) \&| column -t
+.Sh SEE ALSO
+.Xr colrm 1 ,
+.Xr ls 1 ,
+.Xr paste 1 ,
+.Xr sort 1
+.Sh HISTORY
+The
+.Nm
+command appeared in 
+.Bx 4.3 Reno .
+.Sh AVAILABILITY
+The column command is part of the util-linux-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/text-utils/column.c b/text-utils/column.c
new file mode 100644 (file)
index 0000000..f5d41a2
--- /dev/null
@@ -0,0 +1,376 @@
+/*
+ * 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 <limits.h>
+#include <stdio.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <string.h>
+#include <err.h>
+#include "nls.h"
+
+#include "widechar.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) strdup(s)
+static char *mtsafe_strtok(char *, const char *, char **);
+#define wcstok mtsafe_strtok
+#endif
+
+static void  c_columnate __P((void));
+static void *emalloc __P((int));
+static void  input __P((FILE *));
+static void  maketbl __P((void));
+static void  print __P((void));
+static void  r_columnate __P((void));
+static void  usage __P((void));
+
+int termwidth = 80;            /* default terminal width */
+
+int entries;                   /* number of records */
+int eval;                      /* exit value */
+int maxlength;                 /* longest record */
+wchar_t **list;                        /* array of pointers to records */
+wchar_t default_separator[] = { '\t', ' ', 0 };
+wchar_t *separator = default_separator;        /* field separator for table option */
+
+int
+main(int argc, char **argv)
+{
+       struct winsize win;
+       FILE *fp;
+       int ch, tflag, xflag;
+       char *p;
+
+       extern char *__progname;
+       __progname = argv[0];
+
+       setlocale(LC_ALL, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+
+       if (ioctl(1, TIOCGWINSZ, &win) == -1 || !win.ws_col) {
+               if ((p = getenv("COLUMNS")) != NULL)
+                       termwidth = atoi(p);
+       } else
+               termwidth = win.ws_col;
+
+       tflag = xflag = 0;
+       while ((ch = getopt(argc, argv, "c:s:tx")) != -1)
+               switch(ch) {
+               case 'c':
+                       termwidth = atoi(optarg);
+                       break;
+               case 's':
+                       separator = mbs_to_wcs(optarg);
+                       break;
+               case 't':
+                       tflag = 1;
+                       break;
+               case 'x':
+                       xflag = 1;
+                       break;
+               case '?':
+               default:
+                       usage();
+               }
+       argc -= optind;
+       argv += optind;
+
+       if (!*argv)
+               input(stdin);
+       else for (; *argv; ++argv)
+               if ((fp = fopen(*argv, "r")) != NULL) {
+                       input(fp);
+                       (void)fclose(fp);
+               } else {
+                       warn("%s", *argv);
+                       eval = 1;
+               }
+
+       if (!entries)
+               exit(eval);
+
+       if (tflag)
+               maketbl();
+       else if (maxlength >= termwidth)
+               print();
+       else if (xflag)
+               c_columnate();
+       else
+               r_columnate();
+       if (ferror(stdout) || fclose(stdout))
+               eval = 1;
+       exit(eval);
+}
+
+#define        TAB     8
+static void
+c_columnate()
+{
+       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 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()
+{
+       int cnt;
+       wchar_t **lp;
+
+       for (cnt = entries, lp = list; cnt--; ++lp) {
+               fputws(*lp, stdout);
+               putwchar('\n');
+       }
+}
+
+typedef struct _tbl {
+       wchar_t **list;
+       int cols, *len;
+} TBL;
+#define        DEFCOLS 25
+
+static void
+maketbl()
+{
+       TBL *t;
+       int coloff, cnt, i;
+       wchar_t *p, **lp;
+       int *lens, maxcols;
+       TBL *tbl;
+       wchar_t **cols;
+       wchar_t *wcstok_state;
+
+       t = tbl = emalloc(entries * sizeof(TBL));
+       cols = emalloc((maxcols = DEFCOLS) * sizeof(wchar_t *));
+       lens = emalloc(maxcols * sizeof(int));
+       for (cnt = 0, lp = list; cnt < entries; ++cnt, ++lp, ++t) {
+           for (coloff = 0, p = *lp;
+                (cols[coloff] = wcstok(p, separator, &wcstok_state)) != NULL;
+                p = NULL)
+               if (++coloff == maxcols) {
+                   if (!(cols = realloc(cols, ((u_int)maxcols + DEFCOLS)
+                                              * sizeof(wchar_t *))) ||
+                       !(lens = realloc(lens, ((u_int)maxcols + DEFCOLS)
+                                              * sizeof(int))))
+                       err(1, NULL);
+                   memset((char *)lens + maxcols * sizeof(int),
+                          0, DEFCOLS * sizeof(int));
+                   maxcols += DEFCOLS;
+               }
+           t->list = emalloc(coloff * sizeof(wchar_t *));
+           t->len = emalloc(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 (cnt = 0, t = tbl; 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(' ');
+           }
+           fputws(t->list[coloff], stdout);
+           putwchar('\n');
+       }
+}
+
+#define        DEFNUM          1000
+#define        MAXLINELEN      (LINE_MAX + 1)
+
+static void
+input(fp)
+       FILE *fp;
+{
+       static int maxentry;
+       int len;
+       wchar_t *p, buf[MAXLINELEN];
+
+       if (!list)
+               list = emalloc((maxentry = DEFNUM) * sizeof(wchar_t *));
+       while (fgetws(buf, MAXLINELEN, fp)) {
+               for (p = buf; *p && iswspace(*p); ++p);
+               if (!*p)
+                       continue;
+               if (!(p = wcschr(p, '\n'))) {
+                       warnx(_("line too long"));
+                       eval = 1;
+                       continue;
+               }
+               *p = '\0';
+               len = wcs_width(buf);   /* len = p - buf; */
+               if (maxlength < len)
+                       maxlength = len;
+               if (entries == maxentry) {
+                       maxentry += DEFNUM;
+                       if (!(list = realloc(list,
+                           (u_int)maxentry * sizeof(wchar_t *))))
+                               err(1, NULL);
+               }
+               list[entries++] = wcsdup(buf);
+       }
+}
+
+#ifdef HAVE_WIDECHAR
+static wchar_t *mbs_to_wcs(const char *s)
+{
+       size_t n;
+       wchar_t *wcs;
+
+       n = mbstowcs((wchar_t *)0, s, 0);
+       if (n < 0)
+               return NULL;
+       wcs = malloc((n + 1) * sizeof(wchar_t));
+       if (!wcs)
+               return NULL;
+       if (mbstowcs(wcs, s, n + 1) < 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
+
+static void *
+emalloc(size)
+       int size;
+{
+       char *p;
+
+       if (!(p = malloc(size)))
+               err(1, NULL);
+       memset(p, 0, size);
+       return (p);
+}
+
+static void
+usage()
+{
+
+       (void)fprintf(stderr,
+           _("usage: column [-tx] [-c columns] [file ...]\n"));
+       exit(1);
+}
diff --git a/text-utils/conv.c b/text-utils/conv.c
new file mode 100644 (file)
index 0000000..8e0efa1
--- /dev/null
@@ -0,0 +1,119 @@
+/*
+ * 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':
+               if (deprecated)         /* od didn't know about \a */
+                       break;
+               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':
+               if (deprecated)
+                       break;
+               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';
+               if (deprecated && *p == 0x0a)
+                       (void)printf(pr->fmt, "nl");
+               else
+                       (void)printf(pr->fmt, list[*p]);
+       } else if (*p == 0x7f) {
+               *pr->cchar = 's';
+               (void)printf(pr->fmt, "del");
+       } else if (deprecated && *p == 0x20) {  /* od replaced space with sp */
+               *pr->cchar = 's';
+               (void)printf(pr->fmt, " sp");
+       } 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 (file)
index 0000000..91857c2
--- /dev/null
@@ -0,0 +1,369 @@
+/*
+ * 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"
+
+static void doskip(const char *, int);
+static u_char *get(void);
+
+#ifndef MIN
+#define MIN(a,b) ((a)<(b)?(a):(b))
+#endif
+
+enum _vflag vflag = FIRST;
+
+static off_t address;                  /* address/offset in stream */
+static off_t eaddress;                 /* end address */
+
+static inline void
+print(PR *pr, u_char *bp) {
+
+       switch(pr->flags) {
+       case F_ADDRESS:
+               (void)printf(pr->fmt, (quad_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, quad_t */
+
+               switch(pr->bcnt) {
+               case 1:
+                       (void)printf(pr->fmt, (quad_t)*bp);
+                       break;
+               case 2:
+                       memmove(&sval, bp, sizeof(sval));
+                       (void)printf(pr->fmt, (quad_t)sval);
+                       break;
+               case 4:
+                       memmove(&ival, bp, sizeof(ival));
+                       (void)printf(pr->fmt, (quad_t)ival);
+                       break;
+               case 8:
+                       memmove(&Lval, bp, sizeof(Lval));
+                       (void)printf(pr->fmt, (quad_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_quad_t */
+
+               switch(pr->bcnt) {
+               case 1:
+                       (void)printf(pr->fmt, (u_quad_t)*bp);
+                       break;
+               case 2:
+                       memmove(&sval, bp, sizeof(sval));
+                       (void)printf(pr->fmt, (u_quad_t)sval);
+                       break;
+               case 4:
+                       memmove(&ival, bp, sizeof(ival));
+                       (void)printf(pr->fmt, (u_quad_t)ival);
+                       break;
+               case 8:
+                       memmove(&Lval, bp, sizeof(Lval));
+                       (void)printf(pr->fmt, (u_quad_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 u_char *bp;
+       off_t saveaddress;
+       u_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, (quad_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;
+       int n;
+       int need, nread;
+       u_char *tmpp;
+
+       if (!curp) {
+               curp = emalloc(blocksize);
+               savp = emalloc(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);
+               }
+               n = fread((char *)curp + nread, sizeof(u_char),
+                   length == -1 ? need : MIN(length, need), stdin);
+               if (!n) {
+                       if (ferror(stdin))
+                               (void)fprintf(stderr, "hexdump: %s: %s\n",
+                                   _argv[-1], strerror(errno));
+                       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))) {
+                               (void)fprintf(stderr, "hexdump: %s: %s\n",
+                                   *_argv, strerror(errno));
+                               exitval = 1;
+                               ++_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)) {
+                       (void)fprintf(stderr, "hexdump: %s: %s.\n",
+                           fname, strerror(errno));
+                       exit(1);
+               }
+               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)) {
+               (void)fprintf(stderr, "hexdump: %s: %s.\n",
+                   fname, strerror(errno));
+               exit(1);
+       }
+       address += skip;
+       skip = 0;
+}
+
+void *
+emalloc(int sz) {
+       void *p;
+
+       if (!(p = malloc((u_int)sz)))
+               nomem();
+       memset(p, 0, sz);
+       return(p);
+}
+
+void nomem() {
+       (void)fprintf(stderr, "hexdump: %s.\n", strerror(errno));
+       exit(1);
+}
diff --git a/text-utils/hexdump.1 b/text-utils/hexdump.1
new file mode 100644 (file)
index 0000000..24cb8c3
--- /dev/null
@@ -0,0 +1,342 @@
+.\" 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
+.\"
+.Dd April 18, 1994
+.Dt HEXDUMP 1
+.Os
+.Sh NAME
+.Nm hexdump
+.Nd ascii, decimal, hexadecimal, octal dump
+.Sh SYNOPSIS
+.Nm
+.Op Fl bcCdovx
+.Bk -words
+.Op Fl e Ar format_string
+.Ek
+.Bk -words
+.Op Fl f Ar format_file
+.Ek
+.Bk -words
+.Op Fl n Ar length
+.Ek
+.Bk -words
+.Op Fl s Ar skip
+.Ek
+.Ar file ...
+.Sh DESCRIPTION
+The hexdump utility is a filter which displays the specified files, or
+the standard input, if no files are specified, in a user specified
+format.
+.Pp
+The options are as follows:
+.Bl -tag -width Fl
+.It Fl b
+.Em One-byte octal display .
+Display the input offset in hexadecimal, followed by sixteen
+space-separated, three column, zero-filled, bytes of input data,
+in octal, per line.
+.It Fl c
+.Em One-byte character display .
+Display the input offset in hexadecimal, followed by sixteen
+space-separated, three column, space-filled, characters of input
+data per line.
+.It Fl C
+.Em Canonical hex+ASCII display .
+Display the input offset in hexadecimal, followed by sixteen
+space-separated, two column, hexadecimal bytes, followed by the
+same sixteen bytes in %_p format enclosed in ``|'' characters.
+.It Fl d
+.Em Two-byte decimal display .
+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.
+.It Fl e Ar format_string
+Specify a format string to be used for displaying data.
+.It Fl f Ar 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
+.Pf ( Cm \&# )
+are ignored.
+.It Fl n Ar length
+Interpret only
+.Ar length
+bytes of input.
+.It Fl o
+.Em Two-byte octal display .
+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.
+.It Fl s Ar offset
+Skip
+.Ar offset
+bytes from the beginning of the input.
+By default,
+.Ar offset
+is interpreted as a decimal number.
+With a leading
+.Cm 0x
+or
+.Cm 0X ,
+.Ar offset
+is interpreted as a hexadecimal number,
+otherwise, with a leading
+.Cm 0 ,
+.Ar offset
+is interpreted as an octal number.
+Appending the character
+.Cm b ,
+.Cm k ,
+or
+.Cm m
+to
+.Ar offset
+causes it to be interpreted as a multiple of
+.Li 512 ,
+.Li 1024 ,
+or
+.Li 1048576 ,
+respectively.
+.It Fl v
+The
+.Fl v
+option causes hexdump to display all input data.
+Without the
+.Fl 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.
+.It Fl x
+.Em Two-byte hexadecimal display .
+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.
+.El
+.Pp
+For each input file,
+.Nm
+sequentially copies the input to standard output, transforming the
+data according to the format strings specified by the
+.Fl e
+and
+.Fl f
+options, in the order that they were specified.
+.Ss 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
+.Xr fprintf 3 ) ,
+with the
+following exceptions:
+.Bl -bullet -offset indent
+.It
+An asterisk (*) may not be used as a field width or precision.
+.It
+A byte count or field precision
+.Em is
+required for each ``s'' conversion
+character (unlike the
+.Xr fprintf 3
+default which prints the entire string if the precision is unspecified).
+.It
+The conversion characters ``h'', ``l'', ``n'', ``p'' and ``q'' are
+not supported.
+.It
+The single character escape sequences
+described in the C standard are supported:
+.Bd -ragged -offset indent -compact
+.Bl -column <alert_character>
+.It NUL        \e0
+.It <alert character>  \ea
+.It <backspace>        \eb
+.It <form-feed>        \ef
+.It <newline>  \en
+.It <carriage return>  \er
+.It <tab>      \et
+.It <vertical tab>     \ev
+.El
+.Ed
+.El
+.Pp
+Hexdump also supports the following additional conversion strings:
+.Bl -tag -width Fl
+.It Cm \&_a Ns Op Cm dox
+Display the input offset, cumulative across input files, of the
+next byte to be displayed.
+The appended characters
+.Cm d ,
+.Cm o ,
+and
+.Cm x
+specify the display base
+as decimal, octal or hexadecimal respectively.
+.It Cm \&_A Ns Op Cm dox
+Identical to the
+.Cm \&_a
+conversion string except that it is only performed
+once, when all of the input data has been processed.
+.It Cm \&_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.
+.It Cm _p
+Output characters in the default character set.
+Nonprinting characters are displayed as a single
+.Dq Cm \&. .
+.It Cm _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.
+.Bl -column \&000_nu \&001_so \&002_st \&003_et \&004_eo
+.It \&000\ nul\t001\ soh\t002\ stx\t003\ etx\t004\ eot\t005\ enq
+.It \&006\ ack\t007\ bel\t008\ bs\t009\ ht\t00A\ lf\t00B\ vt
+.It \&00C\ ff\t00D\ cr\t00E\ so\t00F\ si\t010\ dle\t011\ dc1
+.It \&012\ dc2\t013\ dc3\t014\ dc4\t015\ nak\t016\ syn\t017\ etb
+.It \&018\ can\t019\ em\t01A\ sub\t01B\ esc\t01C\ fs\t01D\ gs
+.It \&01E\ rs\t01F\ us\t0FF\ del
+.El
+.El
+.Pp
+The default and supported byte counts for the conversion characters
+are as follows:
+.Bl -tag -width  "Xc,_Xc,_Xc,_Xc,_Xc,_Xc" -offset indent
+.It Li \&%_c , \&%_p , \&%_u , \&%c
+One byte counts only.
+.It Xo
+.Li \&%d , \&%i , \&%o ,
+.Li \&%u , \&%X , \&%x
+.Xc
+Four byte default, one, two and four byte counts supported.
+.It Xo
+.Li \&%E , \&%e , \&%f ,
+.Li \&%G , \&%g
+.Xc
+Eight byte default, four byte counts supported.
+.El
+.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 ``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 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
+.Cm \&_a
+or
+.Cm \&_A .
+.Pp
+If, as a result of the specification of the
+.Fl 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
+.Cm s
+conversion character with the same field width
+and precision as the original conversion character or conversion
+string but with any
+.Dq Li \&+ ,
+.Dq \&\ \& ,
+.Dq Li \&#
+conversion flag characters
+removed, and referencing a NULL string.
+.Pp
+If no format strings are specified, the default display is equivalent
+to specifying the
+.Fl x
+option.
+.Pp
+.Nm
+exits 0 on success and >0 if an error occurred.
+.Sh EXAMPLES
+Display the input in perusal format:
+.Bd -literal -offset indent
+"%06.6_ao "  12/1 "%3_u "
+"\et\et" "%_p "
+"\en"
+.Ed
+.Pp
+Implement the \-x option:
+.Bd -literal -offset indent
+"%07.7_Ax\en"
+"%07.7_ax  " 8/2 "%04x " "\en"
+.Ed
+.Sh STANDARDS
+The
+.Nm
+utility is expected to be
+.St -p1003.2
+compatible.
+.Sh AVAILABILITY
+The hexdump command is part of the util-linux-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/text-utils/hexdump.c b/text-utils/hexdump.c
new file mode 100644 (file)
index 0000000..68bb76e
--- /dev/null
@@ -0,0 +1,76 @@
+/*
+ * 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 "hexdump.h"
+#include "nls.h"
+
+FS *fshead;                            /* head of format strings */
+int blocksize;                         /* data block size */
+int exitval;                           /* final exit value */
+int length = -1;                       /* max bytes to read */
+
+int main(int argc, char **argv)
+{
+       FS *tfs;
+       char *p;
+
+       setlocale(LC_ALL, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+
+       if (!(p = strrchr(argv[0], 'o')) || strcmp(p, "od"))
+               newsyntax(argc, &argv);
+       else
+               oldsyntax(argc, &argv);
+
+       /* figure out the data block size */
+       for (blocksize = 0, tfs = fshead; tfs; tfs = tfs->nextfs) {
+               tfs->bcnt = 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 (file)
index 0000000..f9e963b
--- /dev/null
@@ -0,0 +1,96 @@
+/*
+ * 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 */
+       u_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 */
+       u_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 int blocksize;                  /* data block size */
+extern int deprecated;                 /* od compatibility */
+extern int exitval;                    /* final exit value */
+extern int length;                     /* max bytes to read */
+extern off_t skip;                      /* bytes to skip */
+
+enum _vflag { ALL, DUP, FIRST, WAIT }; /* -v values */
+extern enum _vflag vflag;
+
+void *emalloc(int);
+int size(FS *);
+void add(const char *);
+void rewrite(FS *);
+void addfile(char *);
+void display(void);
+void nomem(void);
+void usage(void);
+void conv_c(PR *, u_char *);
+void conv_u(PR *, u_char *);
+int  next(char **);
+void oldsyntax(int, char ***);
+void newsyntax(int, char ***);
diff --git a/text-utils/hexsyntax.c b/text-utils/hexsyntax.c
new file mode 100644 (file)
index 0000000..f05043c
--- /dev/null
@@ -0,0 +1,133 @@
+/*-
+ * 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 "hexdump.h"
+#include "nls.h"
+
+off_t skip;                            /* bytes to skip */
+
+void
+newsyntax(int argc, char ***argvp)
+{
+       int ch;
+       char *p, **argv;
+
+       argv = *argvp;
+       while ((ch = getopt(argc, argv, "bcCde:f:n:os:vx")) != -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':
+                       if ((length = atoi(optarg)) < 0) {
+                               fprintf(stderr,
+                                   _("hexdump: bad length value.\n"));
+                               exit(1);
+                       }
+                       break;
+               case 'o':
+                       add("\"%07.7_Ax\n\"");
+                       add("\"%07.7_ax \" 8/2 \" %06o \" \"\\n\"");
+                       break;
+               case 's':
+                       if ((skip = strtol(optarg, &p, 0)) < 0) {
+                               fprintf(stderr,
+                                   _("hexdump: bad skip value.\n"));
+                               exit(1);
+                       }
+                       switch(*p) {
+                       case 'b':
+                               skip *= 512;
+                               break;
+                       case 'k':
+                               skip *= 1024;
+                               break;
+                       case 'm':
+                               skip *= 1048576;
+                               break;
+                       }
+                       break;
+               case 'v':
+                       vflag = ALL;
+                       break;
+               case 'x':
+                       add("\"%07.7_Ax\n\"");
+                       add("\"%07.7_ax \" 8/2 \"   %04x \" \"\\n\"");
+                       break;
+               case '?':
+                       usage();
+               }
+
+       if (!fshead) {
+               add("\"%07.7_Ax\n\"");
+               add("\"%07.7_ax \" 8/2 \"%04x \" \"\\n\"");
+       }
+
+       *argvp += optind;
+}
+
+void
+usage()
+{
+       fprintf(stderr,
+_("hexdump: [-bcCdovx] [-e fmt] [-f fmt_file] [-n length] [-s skip] [file ...]\n"));
+       exit(1);
+}
diff --git a/text-utils/line.1 b/text-utils/line.1
new file mode 100644 (file)
index 0000000..93081ea
--- /dev/null
@@ -0,0 +1,17 @@
+.\" This page is in the public domain
+.TH LINE 1 "2002-07-07" "" "User Commands"
+.SH NAME
+line \- read one line
+.SH SYNOPSIS
+.B line
+.SH DESCRIPTION
+The utility
+.I 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-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/text-utils/line.c b/text-utils/line.c
new file mode 100644 (file)
index 0000000..d4bb86d
--- /dev/null
@@ -0,0 +1,38 @@
+/*
+ * line - read one line
+ *
+ * Gunnar Ritter, Freiburg i. Br., Germany, December 2000.
+ *
+ * Public Domain.
+ */
+
+#ident "@(#)line.c     1.7 (gritter) 7/5/02"
+
+#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(int argc, char **argv)
+{
+       doline(0);
+       return status;
+}
diff --git a/text-utils/more.1 b/text-utils/more.1
new file mode 100644 (file)
index 0000000..a049d13
--- /dev/null
@@ -0,0 +1,205 @@
+.\" 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)
+.Dd December 25, 1992
+.Dt MORE 1
+.Os "Linux 0.98"
+.Sh NAME
+.Nm more
+.Nd file perusal filter for crt viewing
+.Sh SYNOPSIS
+.Nm more
+.Op Fl dlfpcsu
+.Op Fl num
+.Op +/\fIpattern\fP
+.Op +\fIlinenum\fP
+.Op Ar
+.Sh DESCRIPTION
+.Nm More
+is a filter for paging through text one screenful at a time.  This version
+is especially primitive.  Users should realize that
+.Xr less 1
+provides
+.Xr more 1
+emulation and extensive enhancements.
+.Sh OPTIONS
+Command line options are described below.
+Options are also taken from the environment variable
+.Ev MORE
+(make sure to precede them with a dash (``-'')) but command
+line options will override them.
+.Bl -tag -width flag
+.It Fl num
+This option specifies an integer which is the screen size (in lines).
+.It Fl d
+.Nm 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.
+.It Fl l
+.Nm more
+usually treats
+.Ic \&^L
+(form feed) as a special character, and will pause after any line that
+contains a form feed.  The
+.Fl l
+option will prevent this behavior.
+.It Fl f
+Causes
+.Nm more
+to count logical, rather than screen lines (i.e., long lines are not
+folded).
+.It Fl p
+Do not scroll.  Instead, clear the whole screen and then display the text.
+.It Fl c
+Do not scroll.  Instead, paint each screen from the top, clearing the
+remainder of each line as it is displayed.
+.It Fl s
+Squeeze multiple blank lines into one.
+.It Fl u
+Suppress underlining.
+.It Ic +/
+The
+.Ic +/
+option specifies a string that will be searched for before
+each file is displayed.
+.It Ic +num
+Start at line number
+.Ic num .
+.El
+.Sh COMMANDS
+Interactive commands for
+.Nm more
+are based on
+.Xr vi  1  .
+Some commands may be preceded by a decimal number, called k in the
+descriptions below.
+In the following descriptions, ^X means control-X.
+.Pp
+.Bl -tag -width Ic
+.It Ic h No or Ic ?
+Help: display a summary of these commands.
+If you forget all the other commands, remember this one.
+.It Ic SPACE
+Display next k lines of text.  Defaults to current screen size.
+.It Ic z
+Display next k lines of text.  Defaults to current screen size.  Argument
+becomes new default.
+.It Ic RETURN
+Display next k lines of text.  Defaults to 1.  Argument becomes new
+default.
+.It Ic d No or Ic \&^D
+Scroll k lines.  Default is current scroll size, initially 11.  Argument
+becomes new default.
+.It Xo
+.Ic q
+.No or
+.Ic Q
+.No or
+.Ic INTERRUPT
+.Xc
+Exit.
+.It Ic s
+Skip forward k lines of text.  Defaults to 1.
+.It Ic f
+Skip forward k screenfuls of text.  Defaults to 1.
+.It Ic b No or Ic \&^B
+Skip backwards k screenfuls of text.  Defaults to 1.
+Only works with files, not pipes.
+.It Ic '
+Go to place where previous search started.
+.It Ic =
+Display current line number.
+.It Ic \&/ Ns Ar pattern
+Search for kth occurrence of regular expression.  Defaults to 1.
+.It Ic n
+Search for kth occurrence of last r.e.  Defaults to 1.
+.It Ic !<cmd> No or Ic :!<cmd>
+Execute <cmd> in a subshell
+.It Ic v
+Start up an editor at current line.
+The editor is taken from the environment variable VISUAL if defined,
+or EDITOR if VISUAL is not defined,
+or defaults to "vi" if neither VISUAL nor EDITOR is defined.
+.It Ic \&^L
+Redraw screen
+.It Ic :n
+Go to kth next file.  Defaults to 1.
+.It Ic :p
+Go to kth previous file.  Defaults to 1.
+.It Ic :f
+Display current file name and line number
+.It Ic \&.
+Repeat previous command
+.El
+.Sh ENVIRONMENT
+.Nm More
+utilizes the following environment variables, if they exist:
+.Bl -tag -width Fl
+.It Ev MORE
+This variable may be set with favored options to
+.Nm more .
+.It Ev SHELL
+Current shell in use (normally set by the shell at login time).
+.It Ev TERM
+Specifies terminal type, used by more to get the terminal
+characteristics necessary to manipulate the screen.
+.El
+.Sh SEE ALSO
+.Xr vi 1 ,
+.Xr 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
+.Nm more
+command appeared in
+.Bx 3.0 .
+This man page documents
+.Nm 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-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/text-utils/more.c b/text-utils/more.c
new file mode 100644 (file)
index 0000000..45a58e2
--- /dev/null
@@ -0,0 +1,2126 @@
+/*
+ * 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.
+*/
+
+#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 "xstrncpy.h"
+#include "nls.h"
+#include "widechar.h"
+
+#define _REGEX_RE_COMP
+#include <regex.h>
+#undef _REGEX_RE_COMP
+
+#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 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,char *argv0);
+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 *);
+
+#define TBUFSIZ        1024
+#define LINSIZ 256
+#define ctrl(letter)   (letter & 077)
+#define RUBOUT '\177'
+#define ESC    '\033'
+#define QUIT   '\034'
+
+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 = 11;   /* 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[LINSIZ+2]; /* Line buffer */
+int            Lpp = 24;       /* 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 = 80;      /* 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 *);
+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
+
+#if defined(HAVE_NCURSES_H) || defined(HAVE_NCURSES_NCURSES_H)
+# include <term.h>                     /* include after <curses.h> */
+
+static void
+my_putstring(char *s) {
+       tputs (s, 1, putchar);          /* putp(s); */
+}
+
+static void
+my_setupterm(char *term, int fildes, int *errret) {
+     setupterm(term, fildes, errret);
+}
+
+static int
+my_tgetnum(char *s, char *ss) {
+     return tigetnum(ss);
+}
+
+static int
+my_tgetflag(char *s, char *ss) {
+     return tigetflag(ss);
+}
+
+static char *
+my_tgetstr(char *s, char *ss) {
+     return tigetstr(ss);
+}
+
+static char *
+my_tgoto(char *cap, int col, int row) {
+     return tparm(cap, col, row);
+}
+
+#elif defined(HAVE_LIBTERMCAP)          /* !ncurses */
+
+#include <termcap.h>
+
+char termbuffer[4096];
+char tcbuffer[4096];
+char *strbuf = termbuffer;
+
+static void
+my_putstring(char *s) {
+     tputs (s, 1, putchar);
+}
+
+static void
+my_setupterm(char *term, int fildes, int *errret) {
+     *errret = tgetent(tcbuffer, term);
+}
+
+static int
+my_tgetnum(char *s, char *ss) {
+     return tgetnum(s);
+}
+
+static int
+my_tgetflag(char *s, char *ss) {
+     return tgetflag(s);
+}
+
+static char *
+my_tgetstr(char *s, char *ss) {
+     return tgetstr(s, &strbuf);
+}
+
+static char *
+my_tgoto(char *cap, int col, int row) {
+     return tgoto(cap, col, row);
+}
+
+#endif /* HAVE_LIBTERMCAP */
+
+static void
+idummy(int *kk) {}
+
+static void
+Fdummy(FILE **ff) {}
+
+static void
+usage(char *s) {
+       char *p = strrchr(s, '/');
+       fprintf(stderr,
+               _("usage: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n"),
+               p ? p + 1 : s);
+}
+
+int main(int argc, char **argv) {
+    FILE       *f;
+    char       *s;
+    char       *p;
+    int                ch;
+    int                left;
+    int                prnames = 0;
+    int                initopt = 0;
+    int                srchopt = 0;
+    int                clearit = 0;
+    int                initline = 0;
+    char       initbuf[80];
+
+    setlocale(LC_ALL, "");
+    bindtextdomain(PACKAGE, LOCALEDIR);
+    textdomain(PACKAGE);
+    
+    /* avoid gcc complaints about register variables that
+       may be clobbered by a longjmp, by forcing our variables here
+       to be non-register */
+    Fdummy(&f); idummy(&left); idummy(&prnames);
+    idummy(&initopt); idummy(&srchopt); idummy(&initline);
+
+    nfiles = argc;
+    fnames = argv;
+    setlocale(LC_ALL, "");
+    initterm ();
+    nscroll = Lpp/2 - 1;
+    if (nscroll <= 0)
+       nscroll = 1;
+    if((s = getenv("MORE")) != NULL) argscan(s,argv[0]);
+    while (--nfiles > 0) {
+       if ((ch = (*++fnames)[0]) == '-') {
+           argscan(*fnames+1,argv[0]);
+       }
+       else if (ch == '+') {
+           s = *fnames;
+           if (*++s == '/') {
+               srchopt++;
+               for (++s, p = initbuf; p < initbuf + 79 && *s != '\0';)
+                   *p++ = *s++;
+               *p = '\0';
+           }
+           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(argv[0]);
+       exit(1);
+    }
+    else
+       f = stdin;
+    if (!no_tty) {
+       signal(SIGQUIT, onquit);
+       signal(SIGINT, end_it);
+#ifdef SIGWINCH
+       signal(SIGWINCH, chgwinsz);
+#endif
+       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)
+           {
+               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) {
+                   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;
+    }
+    reset_tty ();
+    exit(0);
+}
+
+void argscan(char *s, char *argv0) {
+       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;
+                 default:
+                       fprintf(stderr,
+                               _("%s: unknown option \"-%c\"\n"), argv0, *s);
+                       usage(argv0);
+                       exit(1);
+                       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) {
+    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) {
+    struct winsize win;
+
+    (void) 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
+
+/*
+** Clean up terminal state and exit. Also come here if interrupt signal received
+*/
+
+void end_it (int dummy) {
+    reset_tty ();
+    if (clreol) {
+       putchar ('\r');
+       clreos ();
+       fflush (stdout);
+    }
+    else if (!clreol && (promptlen > 0)) {
+       kill_line ();
+       fflush (stdout);
+    }
+    else
+       putcerr('\n');
+    _exit(0);
+}
+
+void copy_file(register FILE *f) {
+    register int c;
+
+    while ((c = getc(f)) != EOF)
+       putchar(c);
+}
+
+#define ringbell()     putcerr('\007')
+
+/* See whether the last component of the path name "path" is equal to the
+** string "string"
+*/
+
+static int tailequ (char *path, register char *string)
+{
+       register char *tail;
+
+       tail = path + strlen(path);
+       while (--tail >= path)
+               if (*tail == '/')
+                       break;
+       ++tail;
+       while (*tail++ == *string++)
+               if (*tail == '\0')
+                       return(1);
+       return(0);
+}
+
+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++;
+}
+
+/*
+ * Get a logical line
+ */
+
+int get_line(register FILE *f, int *length)
+{
+    int        c;
+    char *p;
+    int        column;
+    static int colflg;
+
+#ifdef HAVE_WIDECHAR
+    int 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;                        /* Postion 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
+
+    p = Line;
+    column = 0;
+    c = Getc (f);
+    if (colflg && c == '\n') {
+       Currline++;
+       c = Getc (f);
+    }
+    while (p < &Line[LINSIZ - 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 
+       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[LINSIZ - 1]) {
+                       *p++ = c;
+                       c = Getc(f);
+               }
+               if (c >= '0' && c < '\177' && p < &Line[LINSIZ - 1]) {
+                       *p++ = c;
+                       c = Getc(f);
+                       continue;
+               }
+       }
+#endif
+       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[LINSIZ - 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
+             {
+               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 state;
+               memset (&state, '\0', sizeof (mbstate_t));
+               s--; n++;
+               mblength = mbrtowc (&wc, s, n, &state);
+               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[1000];
+
+/*
+** 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[80];
+
+#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':
+           lastp++;
+       case '/':
+           if (nlines == 0) nlines++;
+           kill_line ();
+           putchar('/');
+           promptlen = 1;
+           fflush (stdout);
+           if (lastp) {
+               putcerr('\r');
+               search (NULL, f, nlines);       /* Use previous r.e. */
+           }
+           else {
+               ttyin (cmdbuf, sizeof(cmdbuf)-2, '/');
+               putcerr('\r');
+               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[200];
+       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 ocurrence 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;
+    char *s;
+
+    context.line = saveln = Currline;
+    context.chrctr = startline;
+    lncount = 0;
+    if ((s = re_comp (buf)) != 0)
+       error (s);
+    while (!feof (file)) {
+       line3 = line2;
+       line2 = line1;
+       line1 = Ftell (file);
+       rdline (file);
+       lncount++;
+       if ((rv = re_exec (Line)) == 1) {
+               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;
+               }
+       } else if (rv == -1)
+           error (_("Regular expression botch"));
+    }
+    if (feof (file)) {
+       if (!no_intty) {
+           Currline = saveln;
+           Fseek (file, startline);
+       }
+       else {
+           putsout(_("\nPattern not found\n"));
+           end_it (0);
+       }
+       error (_("Pattern not found"));
+    }
+}
+
+/*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 (1);
+       }
+       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
+    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(1);
+           }
+           if (tgrp != getpgrp(0)) {
+               kill(0, SIGTTOU);
+               goto retry;
+           }
+       }
+#endif
+       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
+               Lpp = my_tgetnum("li","lines");
+               Mcol = my_tgetnum("co","cols");
+#ifdef TIOCGWINSZ
+           } else {
+               if ((Lpp = win.ws_row) == 0)
+                   Lpp = my_tgetnum("li","lines");
+               if ((Mcol = win.ws_col) == 0)
+                   Mcol = my_tgetnum("co","cols");
+           }
+#endif
+           if ((Lpp <= 0) || my_tgetflag("hc","hc")) {
+               hard++; /* Hard copy terminal */
+               Lpp = 24;
+           }
+
+           if (my_tgetflag("xn","xenl"))
+               eatnl++; /* Eat newline at last column + 1; dec, concept */
+           if (Mcol <= 0)
+               Mcol = 80;
+
+           if (tailequ (fnames[0], "page"))
+               noscroll++;
+           Wrap = my_tgetflag("am","am");
+           bad_so = my_tgetflag ("xs","xhp");
+           eraseln = my_tgetstr("ce","el");
+           Clear = my_tgetstr("cl","clear");
+           Senter = my_tgetstr("so","smso");
+           Sexit = my_tgetstr("se","rmso");
+           if ((soglitch = my_tgetnum("sg","xmc")) < 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("ul","ul") || my_tgetflag("os","os"))
+               ul_opt = 0;
+           if ((chUL = my_tgetstr("uc","uc")) == NULL )
+               chUL = "";
+           if (((ULenter = my_tgetstr("us","smul")) == NULL ||
+                (ULexit = my_tgetstr("ue","rmul")) == NULL) && !*chUL) {
+               if ((ULenter = Senter) == NULL || (ULexit = Sexit) == NULL) {
+                       ULenter = "";
+                       ULexit = "";
+               } else
+                       ulglitch = soglitch;
+           } else {
+               ulglitch = 0;
+           }
+
+           if ((padstr = my_tgetstr("pc","pad")) != NULL)
+               PC = *padstr;
+           Home = my_tgetstr("ho","home");
+           if (Home == 0 || *Home == '\0') {
+               if ((cursorm = my_tgetstr("cm","cup")) != NULL) {
+                   const char *t = (const char *)my_tgoto(cursorm, 0, 0);
+                   xstrncpy(cursorhome, t, sizeof(cursorhome));
+                   Home = cursorhome;
+               }
+           }
+           EodClr = my_tgetstr("cd","ed");
+           if ((chBS = my_tgetstr("le","cub1")) == 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
+                 {
+                   --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)
+       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 = malloc(tempsz);
+    if (!temp) {
+           error (_("Out of memory"));
+           return -1;
+    }
+    inpstr = inbuf;
+    outstr = temp;
+    while ((c = *inpstr++) != '\0'){
+       offset = outstr-temp;
+       if (tempsz-offset-1 < xtra) {
+               tempsz += 200 + xtra;
+               temp = realloc(temp, tempsz);
+               if (!temp) {
+                       error (_("Out of memory"));
+                       return -1;
+               }
+               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)
+               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 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, 1, ourputch);     /* putchar - if that isnt 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;
+
+    p = Line;
+    while ((c = Getc (f)) != '\n' && c != EOF && p - Line < LINSIZ - 1)
+       *p++ = c;
+    if (c == '\n')
+       Currline++;
+    *p = '\0';
+}
+
+/* Come here when we get a suspend signal from the terminal */
+
+void onsusp (int dummy) {
+    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/odsyntax.c b/text-utils/odsyntax.c
new file mode 100644 (file)
index 0000000..e7711f9
--- /dev/null
@@ -0,0 +1,265 @@
+/*-
+ * 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 <stdlib.h>
+#include <stdio.h>
+#include <ctype.h>             /* for isdigit() */
+#include <unistd.h>            /* for getopt() */
+#include "hexdump.h"
+#include "nls.h"
+
+static void odoffset(int, char ***);
+static void odprecede(void);
+
+int deprecated;
+
+void
+oldsyntax(int argc, char ***argvp)
+{
+       int ch;
+       char **argv;
+
+       deprecated = 1;
+       argv = *argvp;
+       while ((ch = getopt(argc, argv, "aBbcDdeFfHhIiLlOoPpswvXx")) != -1)
+               switch (ch) {
+               case 'a':
+                       odprecede();
+                       add("16/1 \"%3_u \" \"\\n\"");
+                       break;
+               case 'B':
+               case 'o':
+                       odprecede();
+                       add("8/2 \" %06o \" \"\\n\"");
+                       break;
+               case 'b':
+                       odprecede();
+                       add("16/1 \"%03o \" \"\\n\"");
+                       break;
+               case 'c':
+                       odprecede();
+                       add("16/1 \"%3_c \" \"\\n\"");
+                       break;
+               case 'd':
+                       odprecede();
+                       add("8/2 \"  %05u \" \"\\n\"");
+                       break;
+               case 'D':
+                       odprecede();
+                       add("4/4 \"     %010u \" \"\\n\"");
+                       break;
+               case 'e':               /* undocumented in od */
+               case 'F':
+                       odprecede();
+                       add("2/8 \"          %21.14e \" \"\\n\"");
+                       break;
+                       
+               case 'f':
+                       odprecede();
+                       add("4/4 \" %14.7e \" \"\\n\"");
+                       break;
+               case 'H':
+               case 'X':
+                       odprecede();
+                       add("4/4 \"       %08x \" \"\\n\"");
+                       break;
+               case 'h':
+               case 'x':
+                       odprecede();
+                       add("8/2 \"   %04x \" \"\\n\"");
+                       break;
+               case 'I':
+               case 'L':
+               case 'l':
+                       odprecede();
+                       add("4/4 \"    %11d \" \"\\n\"");
+                       break;
+               case 'i':
+                       odprecede();
+                       add("8/2 \" %6d \" \"\\n\"");
+                       break;
+               case 'O':
+                       odprecede();
+                       add("4/4 \"    %011o \" \"\\n\"");
+                       break;
+               case 'v':
+                       vflag = ALL;
+                       break;
+               case 'P':
+               case 'p':
+               case 's':
+               case 'w':
+               case '?':
+               default:
+                       fprintf(stderr,
+                           _("od: od(1) has been deprecated for hexdump(1).\n"));
+                       if (ch != '?')
+                               fprintf(stderr,
+_("od: hexdump(1) compatibility doesn't support the -%c option%s\n"),
+                                   ch, ch == 's' ? _("; see strings(1).") : ".");
+                       usage();
+               }
+
+       if (!fshead) {
+               add("\"%07.7_Ao\n\"");
+               add("\"%07.7_ao  \" 8/2 \"%06o \" \"\\n\"");
+       }
+
+       argc -= optind;
+       *argvp += optind;
+
+       if (argc)
+               odoffset(argc, argvp);
+}
+
+#define        ishexdigit(c) \
+       ((c >= '0' && c <= '9') || (c >= 'a' && c <= 'f') || (c >= 'A' && c <= 'F'))
+
+static void
+odoffset(int argc, char ***argvp)
+{
+       char *num, *p;
+       int base;
+       char *end;
+
+       /*
+        * The offset syntax of od(1) was genuinely bizarre.  First, if
+        * it started with a plus it had to be an offset.  Otherwise, if
+        * there were at least two arguments, a number or lower-case 'x'
+        * followed by a number makes it an offset.  By default it was
+        * octal; if it started with 'x' or '0x' it was hex.  If it ended
+        * in a '.', it was decimal.  If a 'b' or 'B' was appended, it
+        * multiplied the number by 512 or 1024 byte units.  There was
+        * no way to assign a block count to a hex offset.
+        *
+        * We assume it's a file if the offset is bad.
+        */
+       p = argc == 1 ? (*argvp)[0] : (*argvp)[1];
+       if (!p)
+               return;
+
+       if (*p != '+' && (argc < 2 ||
+           (!isdigit((unsigned char)p[0]) &&
+            (p[0] != 'x' || !ishexdigit(p[1])))))
+               return;
+
+       base = 0;
+       /*
+        * skip over leading '+', 'x[0-9a-fA-f]' or '0x', and
+        * set base.
+        */
+       if (p[0] == '+')
+               ++p;
+       if (p[0] == 'x' && ishexdigit(p[1])) {
+               ++p;
+               base = 16;
+       } else if (p[0] == '0' && p[1] == 'x') {
+               p += 2;
+               base = 16;
+       }
+
+       /* skip over the number */
+       if (base == 16)
+               for (num = p; ishexdigit(*p); ++p);
+       else
+               for (num = p; isdigit((unsigned char)*p); ++p);
+
+       /* check for no number */
+       if (num == p)
+               return;
+
+       /* if terminates with a '.', base is decimal */
+       if (*p == '.') {
+               if (base)
+                       return;
+               base = 10;
+       }
+
+       skip = strtol(num, &end, base ? base : 8);
+
+       /* if end isn't the same as p, we got a non-octal digit */
+       if (end != p) {
+               skip = 0;
+               return;
+       }
+
+       if (*p) {
+               if (*p == 'B') {
+                       skip *= 1024;
+                       p++;
+               } else if (*p == 'b') {
+                       skip *= 512;
+                       p++;
+               }
+       }
+
+       if (*p) {
+               skip = 0;
+               return;
+       }
+
+       /*
+        * If the offset uses a non-octal base, the base of
+        * the offset is changed as well.  This isn't pretty,
+        * but it's easy.
+        */
+#define        TYPE_OFFSET     7
+       if (base == 16) {
+               fshead->nextfu->fmt[TYPE_OFFSET] = 'x';
+               fshead->nextfs->nextfu->fmt[TYPE_OFFSET] = 'x';
+       } else if (base == 10) {
+               fshead->nextfu->fmt[TYPE_OFFSET] = 'd';
+               fshead->nextfs->nextfu->fmt[TYPE_OFFSET] = 'd';
+       }
+
+       /* Terminate file list. */
+       (*argvp)[1] = NULL;
+}
+
+static void
+odprecede(void)
+{
+       static int first = 1;
+
+       if (first) {
+               first = 0;
+               add("\"%07.7_Ao\n\"");
+               add("\"%07.7_ao  \"");
+       } else
+               add("\"         \"");
+}
diff --git a/text-utils/parse.c b/text-utils/parse.c
new file mode 100644 (file)
index 0000000..8164c60
--- /dev/null
@@ -0,0 +1,504 @@
+/*
+ * 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"
+
+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) {
+               (void)fprintf(stderr, _("hexdump: can't read %s.\n"), name);
+               exit(1);
+       }
+       while (fgets(buf, sizeof(buf), fp)) {
+               if ((p = strchr(buf, '\n')) == NULL) {
+                       (void)fprintf(stderr, _("hexdump: line too long.\n"));
+                       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;
+       FS *tfs;
+       FU *tfu, **nextfu;
+       const char *savep;
+
+       /* Start new linked list of format units. */
+       tfs = emalloc(sizeof(FS));
+       if (!fshead)
+               fshead = tfs;
+       else
+               *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 = emalloc(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);
+               if (!(tfu->fmt = malloc(p - savep + 1)))
+                       nomem();
+               (void) strncpy(tfu->fmt, savep, p - savep);
+               tfu->fmt[p - savep] = '\0';
+               escape(tfu->fmt);
+               p++;
+       }
+}
+
+static const char *spec = ".#-+ 0123456789";
+
+int 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 = emalloc(sizeof(PR));
+                       if (!fu->nextpr)
+                               fu->nextpr = pr;
+                       else
+                               *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 = emalloc(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++) {
+                               (void)fprintf(stderr,
+                                   _("hexdump: byte count with multiple conversion characters.\n"));
+                               exit(1);
+                       }
+               }
+               /*
+                * 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)
+{
+       (void)fprintf(stderr,
+           _("hexdump: bad byte count for conversion character %s.\n"), s);
+       exit(1);
+}
+
+static void badsfmt(void)
+{
+       (void)fprintf(stderr,
+           _("hexdump: %%s requires a precision or a byte count.\n"));
+       exit(1);
+}
+
+static void badfmt(const char *fmt)
+{
+       (void)fprintf(stderr, _("hexdump: bad format {%s}\n"), fmt);
+       exit(1);
+}
+
+static void badconv(const char *ch)
+{
+       (void)fprintf(stderr, _("hexdump: bad conversion character %%%s.\n"), ch);
+       exit(1);
+}
diff --git a/text-utils/pg.1 b/text-utils/pg.1
new file mode 100644 (file)
index 0000000..b1891ca
--- /dev/null
@@ -0,0 +1,237 @@
+.\" @(#)pg.1   1.7 (gritter) 4/25/01
+.TH PG 1 "2001-04-25" "Gunnar Ritter" "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
+.I 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,
+.I pg
+reads from standard input.
+If the standard output is not a terminal,
+.I 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,
+.I pg
+stores the data in a buffer file while reading
+to make navigation possible.
+.SH OPTIONS
+.I 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
+.I pg
+will not pause and display
+.SM (EOF)
+at the end of a file.
+.TP
+.B \-f
+.I pg
+does not split long lines.
+.TP
+.B \-n
+Without this option, commands must be terminated by a newline character. With
+this option,
+.I pg
+advances once a command letter is entered.
+.TP
+.BI \-p \ string
+Instead of the prompt
+.I " :"
+,
+.I string
+is displayed.
+If
+.I string
+contains
+.I %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
+.I pg
+reads from the
+input file or writes on the terminal,
+.I pg
+will immediately display the prompt.
+In all other situations these keys will terminate
+.I pg.
+.SH "ENVIRONMENT VARIABLES"
+The following environment variables
+affect the behaviour of
+.I 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
+.B !
+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
+.I pg
+expects the terminal tabulators to set on eight positions.
+.PP
+Files that include
+.SM NUL
+characters cannot be displayed by
+.IR pg .
+.SH AVAILABILITY
+The pg command is part of the util-linux-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/text-utils/pg.c b/text-utils/pg.c
new file mode 100644 (file)
index 0000000..b2c4d87
--- /dev/null
@@ -0,0 +1,1768 @@
+/*
+ * 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 "widechar.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 */
+
+const char *copyright =
+"@(#)pg 1.44 2/8/02. Copyright (c) 2000-2001 Gunnar Ritter. ";
+const char *helpscreen = N_("All rights reserved.\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);
+}
+
+/*
+ * Memory allocator including check.
+ */
+static char *
+smalloc(size_t s)
+{
+        char *m = (char *)malloc(s);
+        if (m == NULL) {
+               const char *p = _("Out of memory\n");
+                write(2, p, strlen(p));
+                quit(++exitstatus);
+        }
+        return m;
+}
+
+/*
+ * Usage message and similar routines.
+ */
+static void
+usage(void)
+{
+       fprintf(stderr, _("%s: Usage: %s [-number] [-p string] [-cefnrs] "
+                         "[+line] [+/pattern/] [files]\n"),
+                       progname, progname);
+       quit(2);
+}
+
+static void
+needarg(char *s)
+{
+       fprintf(stderr, _("%s: option requires an argument -- %s\n"),
+               progname, s);
+       usage();
+}
+
+static void
+invopt(char *s)
+{
+       fprintf(stderr, _("%s: illegal option -- %s\n"), progname, s);
+       usage();
+}
+
+#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;
+
+       mbtowc(pwcs, NULL, MB_CUR_MAX);
+       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';
+       mbtowc(pwcs, NULL, MB_CUR_MAX);
+       return nwcs - n;
+}
+#endif
+
+/*
+ * Helper function for tputs().
+ */
+static int
+outcap(int i)
+{
+       char c = i;
+       return write(1, &c, 1);
+}
+
+/*
+ * Write messages to terminal.
+ */
+static void
+mesg(char *message)
+{
+       if (ontty == 0)
+               return;
+       if (*message != '\n' && sflag)
+               vidputs(A_STANDOUT, outcap);
+       write(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)
+{
+       unsigned 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:
+                       pos += wcwidth(*p);
+               }
+               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)) == -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 = (char *)smalloc(ttycols + 2);
+       memset(buf, ' ', ttycols + 2);
+       buf[0] = '\r';
+       buf[ttycols + 1] = '\r';
+       write(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 = (char *)smalloc(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(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(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)
+               return makeprint_for_mb(s, l);
+#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(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(&pos, sizeof pos, 1, find);
+                                       if (!fflag) {
+                                               oldpos = pos;
+                                               p = b;
+                                               while (*(p = endline(ttycols,
+                                                                       p))
+                                                               != '\0') {
+                                                       pos = oldpos + (p - b);
+                                                       fwrite(&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(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(&pos, sizeof pos, 1, find);
+                                       if (!fflag) {
+                                               oldpos = pos;
+                                               p = b;
+                                               while (*(p = endline(ttycols,
+                                                                       p))
+                                                               != '\0') {
+                                                       pos = oldpos + (p - b);
+                                                       fwrite(&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(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(1, cmd.cmdline,
+                                             strlen(cmd.cmdline));
+                                       write(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(1, copyright + 4, strlen(copyright + 4));
+                               write(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]);
+
+       setlocale(LC_MESSAGES, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+
+       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;
+                       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(1, "::::::::::::::\n", 15);
+                               write(1, argv[arg], strlen(argv[arg]));
+                               write(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 (file)
index 0000000..6288616
--- /dev/null
@@ -0,0 +1,53 @@
+.\" 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)
+.\"
+.Dd March 21, 1992
+.Dt REV 1
+.Os
+.Sh NAME
+.Nm rev
+.Nd reverse lines of a file or files
+.Sh SYNOPSIS
+.Nm rev
+.Op Ar file ...
+.Sh DESCRIPTION
+The
+.Nm rev
+utility copies the specified files to the standard output, reversing the
+order of characters in every line.
+If no files are specified, the standard input is read.
+.Sh AVAILABILITY
+The rev command is part of the util-linux-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/text-utils/rev.c b/text-utils/rev.c
new file mode 100644 (file)
index 0000000..3ae38cf
--- /dev/null
@@ -0,0 +1,145 @@
+/*-
+ * 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
+ *
+ */
+
+#include <stdarg.h>
+#include <sys/types.h>
+#include <errno.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <err.h>
+
+#include "nls.h"
+#include "widechar.h"
+
+void usage(void);
+
+int
+main(int argc, char *argv[])
+{
+  register char *filename;
+  register wchar_t *t;
+  size_t buflen = 512;
+  wchar_t *p = malloc(buflen*sizeof(wchar_t));
+  size_t len;
+  FILE *fp;
+  int ch, rval;
+
+  setlocale(LC_ALL, "");
+  bindtextdomain(PACKAGE, LOCALEDIR);
+  textdomain(PACKAGE);
+
+  while ((ch = getopt(argc, argv, "")) != -1)
+    switch(ch) {
+    case '?':
+    default:
+      usage();
+    }
+
+  argc -= optind;
+  argv += optind;
+
+  fp = stdin;
+  filename = "stdin";
+  rval = 0;
+  do {
+    if (*argv) {
+      if ((fp = fopen(*argv, "r")) == NULL) {
+       warn("cannot open %s", *argv );
+       rval = 1;
+       ++argv;
+       continue;
+      }
+      filename = *argv++;
+    }
+
+    while (fgetws(p, buflen, fp)) {
+
+      len = wcslen(p);
+
+      /* This is my hack from setpwnam.c -janl */
+      while (p[len-1] != '\n' && !feof(fp)) {
+       /* Extend input buffer if it failed getting the whole line */
+
+       /* So now we double the buffer size */
+       buflen *= 2;
+
+       p = realloc(p, buflen*sizeof(wchar_t));
+       if (p == NULL)
+         err(1, _("unable to allocate bufferspace"));
+
+       /* And fill the rest of the buffer */
+       if (fgetws(&p[len], buflen/2, fp) == NULL) break;
+
+       len = wcslen(p);
+
+       /* That was a lot of work for nothing.  Gimme perl! */
+      }
+
+      t = p + len - 1 - (*(p+len-1)=='\r' || *(p+len-1)=='\n');
+      for ( ; t >= p; --t)
+       if (*t != 0)
+         putwchar(*t);
+      putwchar('\n');
+    }
+    fflush(fp);
+    if (ferror(fp)) {
+      warn("%s", filename);
+      rval = 1;
+    }
+    if (fclose(fp))
+      rval = 1;
+  } while(*argv);
+  exit(rval);
+}
+
+void
+usage(void)
+{
+       (void)fprintf(stderr, _("usage: rev [file ...]\n"));
+       exit(1);
+}
diff --git a/text-utils/tailf.1 b/text-utils/tailf.1
new file mode 100644 (file)
index 0000000..294d9d6
--- /dev/null
@@ -0,0 +1,61 @@
+.\" 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 "13 February 2003" "" "Linux Programmer's Manual"
+.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.
+.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-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/text-utils/tailf.c b/text-utils/tailf.c
new file mode 100644 (file)
index 0000000..b46a2fd
--- /dev/null
@@ -0,0 +1,226 @@
+/* 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 <malloc.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <ctype.h>
+#include <errno.h>
+#include <err.h>
+#ifdef HAVE_INOTIFY_INIT
+#include <sys/inotify.h>
+#endif
+#include "nls.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\" for read"), filename);
+
+       buf = malloc(lines * 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;
+
+       if (!(fd = open(filename, O_RDONLY)))
+               err(EXIT_FAILURE, _("cannot open \"%s\" for read"), filename);
+
+       if (fstat(fd, &st) == -1)
+               err(EXIT_FAILURE, _("cannot stat \"%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);
+       }
+       close(fd);
+       *size = st.st_size;
+}
+
+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 */
+
+int main(int argc, char **argv)
+{
+       const char *filename;
+       int lines = DEFAULT_LINES;
+       struct stat st;
+       off_t size = 0;
+
+       setlocale(LC_ALL, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+
+       argc--;
+       argv++;
+
+       for (; argc > 0 && argv[0][0] == '-'; argc--, argv++) {
+               if (!strcmp(*argv, "-n") || !strcmp(*argv, "--lines")) {
+                       argc--; argv++;
+                       if (argc > 0 && (lines = atoi(argv[0])) <= 0)
+                               errx(EXIT_FAILURE, _("invalid number of lines"));
+               }
+               else if (isdigit(argv[0][1])) {
+                       if ((lines = atoi(*argv + 1)) <= 0)
+                               errx(EXIT_FAILURE, _("invalid number of lines"));
+               }
+               else
+                       errx(EXIT_FAILURE, _("invalid option"));
+       }
+
+       if (argc != 1)
+               errx(EXIT_FAILURE, _("usage: tailf [-n N | -N] logfile"));
+
+       filename = argv[0];
+
+       if (stat(filename, &st) != 0)
+               err(EXIT_FAILURE, _("cannot stat \"%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 (file)
index 0000000..cec6940
--- /dev/null
@@ -0,0 +1,110 @@
+.\" 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
+.\"
+.Dd June 6, 1993
+.Dt UL 1
+.Os BSD 4
+.Sh NAME
+.Nm ul
+.Nd do underlining
+.Sh SYNOPSIS
+.Nm ul
+.Op Fl i
+.Op Fl t Ar terminal
+.Op Ar name Ar ...
+.Sh DESCRIPTION
+.Nm 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
+.Ev TERM .
+The
+.Pa 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,
+.Nm ul
+degenerates to
+.Xr cat 1 .
+If the terminal cannot underline, underlining is ignored.
+.Pp
+The following options are available:
+.Bl -tag -width Ds
+.It Fl i
+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
+.Xr nroff
+output stream on a crt-terminal.
+.It Fl t Ar terminal
+Overrides the terminal type specified in the environment with
+.Ar terminal .
+.El
+.Sh ENVIRONMENT
+The following environment variable is used:
+.Bl -tag -width TERM
+.It Ev TERM
+The
+.Ev TERM
+variable is used to relate a tty device
+with its device capability description (see
+.Xr terminfo 5 ) .
+.Ev TERM
+is set at login time, either by the default terminal type
+specified in
+.Pa /etc/ttys
+or as set during the login process by the user in their
+.Pa login
+file (see
+.Xr setenv 1 ) .
+.El
+.Sh SEE ALSO
+.Xr man 1 ,
+.Xr nroff 1 ,
+.Xr colcrt 1
+.Sh BUGS
+.Xr 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
+.Nm
+command appeared in
+.Bx 3.0 .
+.Sh AVAILABILITY
+The ul command is part of the util-linux-ng package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
diff --git a/text-utils/ul.c b/text-utils/ul.c
new file mode 100644 (file)
index 0000000..a1491b8
--- /dev/null
@@ -0,0 +1,603 @@
+/*
+ * 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 "nls.h"
+
+#include "widechar.h"
+
+#ifdef HAVE_WIDECHAR
+static int put1wc(int c) /* Output an ASCII character as a wide character */
+{
+  if (putwchar(c) == WEOF)
+    return EOF;
+  else
+    return c;
+}
+#define putwp(s) tputs(s,1,put1wc)
+#else
+#define putwp(s) putp(s)
+#endif
+
+void filter(FILE *f);
+void flushln(void);
+void overstrike(void);
+void iattr(void);
+void initbuf(void);
+void fwd(void);
+void reverse(void);
+void initinfo(void);
+void outc(wint_t c, int width);
+void setmode(int newmode);
+static void setcol(int newcol);
+static void needcol(int col);
+
+#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 */
+#define        INITBUF 512
+
+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;                /* Tracks number of elements in obuf. */
+int    col, maxcol;
+int    mode;
+int    halfpos;
+int    upln;
+int    iflag;
+
+#define        PRINT(s)        if (s == NULL) /* void */; else putwp(s)
+
+int main(int argc, char **argv)
+{
+       int c, ret;
+       char *termtype;
+       FILE *f;
+
+       setlocale(LC_ALL, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+
+       termtype = getenv("TERM");
+       if (termtype == NULL || (argv[0][0] == 'c' && !isatty(1)))
+               termtype = "lpr";
+       while ((c = getopt(argc, argv, "it:T:")) != -1)
+               switch(c) {
+
+               case 't':
+               case 'T': /* for nroff compatibility */
+                               termtype = optarg;
+                       break;
+               case 'i':
+                       iflag = 1;
+                       break;
+
+               default:
+                       fprintf(stderr,
+                               _("usage: %s [ -i ] [ -tTerm ] file...\n"),
+                               argv[0]);
+                       exit(1);
+               }
+       setupterm(termtype, 1, &ret);
+       switch(ret) {
+
+       case 1:
+               break;
+
+       default:
+               fprintf(stderr,_("trouble reading terminfo"));
+               /* fall through to ... */
+
+       case 0:
+               /* No such terminal type - assume dumb */
+               setupterm("dumb", 1, (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 == NULL) {
+                       perror(argv[optind]);
+                       exit(1);
+               } else
+                       filter(f);
+       }
+       if (ferror(stdout) || fclose(stdout))
+               return 1;
+       return 0;
+}
+
+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:
+               switch (c = getwc(f)) {
+
+               case HREV:
+                       if (halfpos == 0) {
+                               mode |= SUPERSC;
+                               halfpos--;
+                       } else if (halfpos > 0) {
+                               mode &= ~SUBSC;
+                               halfpos--;
+                       } else {
+                               halfpos = 0;
+                               reverse();
+                       }
+                       continue;
+
+               case HFWD:
+                       if (halfpos == 0) {
+                               mode |= SUBSC;
+                               halfpos++;
+                       } else if (halfpos < 0) {
+                               mode &= ~SUPERSC;
+                               halfpos++;
+                       } else {
+                               halfpos = 0;
+                               fwd();
+                       }
+                       continue;
+
+               case FREV:
+                       reverse();
+                       continue;
+
+               default:
+                       fprintf(stderr,
+                               _("Unknown escape sequence in input: %o, %o\n"),
+                               IESC, c);
+                       exit(1);
+               }
+               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 printing */
+                       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 (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();
+}
+
+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(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();
+       (void)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.
+ */
+void overstrike(void)
+{
+       register int i;
+#ifdef __GNUC__
+       register wchar_t *lbuf = __builtin_alloca((maxcol+1)*sizeof(wchar_t));
+#else
+       wchar_t lbuf[256];
+#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);
+       }
+}
+
+void iattr(void)
+{
+       register int i;
+#ifdef __GNUC__
+       register char *lbuf = __builtin_alloca((maxcol+1)*sizeof(char));
+#else
+       char lbuf[256];
+#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');
+}
+
+void initbuf(void)
+{
+       if (obuf == NULL) {     /* First time. */
+               obuflen = INITBUF;
+               obuf = malloc(sizeof(struct CHAR) * obuflen);
+               if (obuf == NULL) {
+                       fprintf(stderr, _("Unable to allocate buffer.\n"));
+                       exit(1);
+               }
+       }
+
+       /* assumes NORMAL == 0 */
+       memset(obuf, 0, sizeof(struct CHAR) * obuflen);
+       setcol(0);
+       maxcol = 0;
+       mode &= ALTSET;
+}
+
+void fwd(void)
+{
+       int oldcol, oldmax;
+
+       oldcol = col;
+       oldmax = maxcol;
+       flushln();
+       setcol(oldcol);
+       maxcol = oldmax;
+}
+
+void reverse(void)
+{
+       upln++;
+       fwd();
+       PRINT(CURS_UP);
+       PRINT(CURS_UP);
+       upln++;
+}
+
+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;
+
+void
+outc(wint_t c, int width) {
+       int i;
+
+       putwchar(c);
+       if (must_use_uc && (curmode&UNDERL)) {
+               for (i=0; i<width; i++)
+                       PRINT(CURS_LEFT);
+               for (i=0; i<width; i++)
+                       PRINT(UNDER_CHAR);
+       }
+}
+
+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(EXIT_UNDERLINE);
+                               break;
+                       default:
+                               /* This includes standout */
+                               PRINT(EXIT_ATTRIBUTES);
+                               break;
+                       }
+                       break;
+               case ALTSET:
+                       PRINT(ENTER_REVERSE);
+                       break;
+               case SUPERSC:
+                       /*
+                        * This only works on a few terminals.
+                        * It should be fixed.
+                        */
+                       PRINT(ENTER_UNDERLINE);
+                       PRINT(ENTER_DIM);
+                       break;
+               case SUBSC:
+                       PRINT(ENTER_DIM);
+                       break;
+               case UNDERL:
+                       PRINT(ENTER_UNDERLINE);
+                       break;
+               case BOLD:
+                       PRINT(ENTER_BOLD);
+                       break;
+               default:
+                       /*
+                        * We should have some provision here for multiple modes
+                        * on at once.  This will have to come later.
+                        */
+                       PRINT(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 col) {
+       maxcol = col;
+
+       /* If col >= obuflen, expand obuf until obuflen > col. */
+       while (col >= obuflen) {
+               /* Paranoid check for obuflen == INT_MAX. */
+               if (obuflen == INT_MAX) {
+                       fprintf(stderr,
+                               _("Input line too long.\n"));
+                       exit(1);
+               }
+
+               /* Similar paranoia: double only up to INT_MAX. */
+               obuflen = ((INT_MAX / 2) < obuflen)
+                       ? INT_MAX
+                       : obuflen * 2;
+
+               /* Now we can try to expand obuf. */
+               obuf = realloc(obuf, sizeof(struct CHAR) * obuflen);
+               if (obuf == NULL) {
+                       fprintf(stderr,
+                               _("Out of memory when growing buffer.\n"));
+                       exit(1);
+               }
+       }
+}
diff --git a/tools/checkconfig.sh b/tools/checkconfig.sh
new file mode 100755 (executable)
index 0000000..984e72b
--- /dev/null
@@ -0,0 +1,53 @@
+#!/bin/bash
+
+#
+# This script checks for HAVE_ and ENABLE_ macros which are
+# not included in config.h.in
+#
+# Usage:   checkconfig.sh <top_srcdir> <srcfile> [<srcfile> ...]
+#
+# Copyright (C) 2007 Matthias Koenig <mkoenig@suse.de>
+# Copyright (C) 2008 Karel Zak <kzak@redhat.com>
+#
+
+
+function die() {
+       echo "error: $1"
+       exit 1
+}
+
+srcdir=$1
+config="$srcdir/config.h.in"
+
+[ -d "$srcdir" ] || die "$srcdir: not such directory."
+[ -f "$config" ] || die "$config: not such file."
+
+shift
+
+while (( "$#" )); do
+       srcfile=$1
+       shift
+
+       [ ! -f "$srcfile" ] && continue;
+
+       # Note that we use HAVE_ macros since util-linux-ng-2.14. The
+       # previous version also have used ENABLE_ too.
+       #
+       # ENABLE_ and HAVE_ macros shouldn't be used for any other pupose that
+       # for config/build options.
+       #
+       DEFINES=$(sed -n -e 's/.*[ \t(]\+\(HAVE_[[:alnum:]]\+[^ \t);]*\).*/\1/p' \
+                        -e 's/.*[ \t(]\+\(ENABLE_[[:alnum:]]\+[^ \t);]*\).*/\1/p' \
+                         $srcfile | sort -u)
+       [ -z "$DEFINES" ] && continue
+
+       for d in $DEFINES; do
+               case $d in
+               HAVE_CONFIG_H) continue
+                  ;;
+               *) grep -q "$d\( \|\>\)" $config || \
+                    echo $(echo $srcfile | sed 's:\\'$srcdir/'::') ": $d"
+                  ;;
+               esac
+       done
+done
diff --git a/tools/checkincludes.pl b/tools/checkincludes.pl
new file mode 100755 (executable)
index 0000000..8e6b716
--- /dev/null
@@ -0,0 +1,24 @@
+#!/usr/bin/perl
+#
+# checkincludes: Find files included more than once in (other) files.
+# Copyright abandoned, 2000, Niels Kristian Bech Jensen <nkbj@image.dk>.
+
+foreach $file (@ARGV) {
+       open(FILE, $file) or die "Cannot open $file: $!.\n";
+
+       my %includedfiles = ();
+
+       while (<FILE>) {
+               if (m/^\s*#\s*include\s*[<"](\S*)[>"]/o) {
+                       ++$includedfiles{$1};
+               }
+       }
+       
+       foreach $filename (keys %includedfiles) {
+               if ($includedfiles{$filename} > 1) {
+                       print "$file: $filename is included more than once.\n";
+               }
+       }
+
+       close(FILE);
+}